{"version":3,"sources":["webpack:///./src/components/Banners/WithoutVarieties.vue?d468","webpack:///../../../src/components/VExpansionPanel/VExpansionPanels.ts","webpack:///../../../src/components/VAlert/VAlert.ts","webpack:///./src/pages/cultivares/FilterModal.vue?9c2d","webpack:///./src/pages/cultivares/VarietyInfo.vue","webpack:///src/pages/cultivares/VarietyInfo.vue","webpack:///./src/pages/cultivares/VarietyInfo.vue?6f73","webpack:///./src/pages/cultivares/VarietyInfo.vue?aa59","webpack:///./src/components/Program/TotalSprayingsInfo.vue","webpack:///src/components/Program/TotalSprayingsInfo.vue","webpack:///./src/components/Program/TotalSprayingsInfo.vue?715a","webpack:///./src/components/Program/TotalSprayingsInfo.vue?afcd","webpack:///./src/pages/programas/DiseaseHome.vue?ace1","webpack:///./src/pages/cultivares/NoAvailableVariety.vue?4991","webpack:///./node_modules/vue-chartjs/es/mixins/index.js","webpack:///./node_modules/vue-chartjs/es/BaseCharts.js","webpack:///../../../src/components/VSubheader/index.ts","webpack:///./src/pages/programas/ListItem.vue?11f3","webpack:///./src/components/TutorialVideoModal.vue","webpack:///src/components/TutorialVideoModal.vue","webpack:///./src/components/TutorialVideoModal.vue?09c7","webpack:///./src/components/TutorialVideoModal.vue?8852","webpack:///./node_modules/core-js/modules/es.math.sign.js","webpack:///../../../src/components/VDatePicker/VDatePickerTitle.ts","webpack:///../../../src/mixins/localable/index.ts","webpack:///../../../../src/components/VDatePicker/util/createNativeLocaleFormatter.ts","webpack:///../../../../src/components/VDatePicker/util/monthChange.ts","webpack:///../../../src/components/VDatePicker/VDatePickerHeader.ts","webpack:///../../../../src/components/VDatePicker/util/eventHelpers.ts","webpack:///../../../../src/components/VDatePicker/util/sanitizeDateString.ts","webpack:///../../../../src/components/VDatePicker/util/isDateAllowed.ts","webpack:///../../../../src/components/VDatePicker/mixins/date-picker-table.ts","webpack:///../../src/util/dateTimeUtils.ts","webpack:///../../../src/components/VDatePicker/VDatePickerDateTable.ts","webpack:///../../../src/components/VDatePicker/VDatePickerMonthTable.ts","webpack:///../../../src/components/VDatePicker/VDatePickerYears.ts","webpack:///../../../../src/components/VCalendar/util/timestamp.ts","webpack:///../../../src/components/VDatePicker/VDatePicker.ts","webpack:///./src/pages/programas/DiseaseHome.vue","webpack:///./src/pages/programas/DiseaseHeader.vue","webpack:///src/pages/programas/DiseaseHeader.vue","webpack:///./src/pages/programas/DiseaseHeader.vue?d0bb","webpack:///./src/pages/programas/DiseaseHeader.vue?4625","webpack:///./src/pages/programas/ProgramHeader.vue","webpack:///./src/pages/cultivares/VarietyInfoModal.vue","webpack:///src/pages/cultivares/VarietyInfoModal.vue","webpack:///./src/pages/cultivares/VarietyInfoModal.vue?5290","webpack:///./src/pages/cultivares/VarietyInfoModal.vue?6f1b","webpack:///src/pages/programas/ProgramHeader.vue","webpack:///./src/pages/programas/ProgramHeader.vue?651b","webpack:///./src/pages/programas/ProgramHeader.vue?975d","webpack:///./src/pages/programas/ProgramsList.vue","webpack:///./src/pages/programas/ListItem.vue","webpack:///./src/pages/programas/ModalPrograma.vue","webpack:///src/pages/programas/ModalPrograma.vue","webpack:///./src/pages/programas/ModalPrograma.vue?0dd9","webpack:///./src/pages/programas/ModalPrograma.vue?9105","webpack:///./src/pages/programas/ModalReplicacao.vue","webpack:///src/pages/programas/ModalReplicacao.vue","webpack:///./src/pages/programas/ModalReplicacao.vue?1fb6","webpack:///./src/pages/programas/ModalReplicacao.vue?9ea3","webpack:///src/pages/programas/ListItem.vue","webpack:///./src/pages/programas/ListItem.vue?ef05","webpack:///./src/pages/programas/ListItem.vue?55f3","webpack:///src/pages/programas/ProgramsList.vue","webpack:///./src/pages/programas/ProgramsList.vue?6c7c","webpack:///./src/pages/programas/ProgramsList.vue?a7e8","webpack:///./src/components/Banners/WithoutVarieties.vue","webpack:///src/components/Banners/WithoutVarieties.vue","webpack:///./src/components/Banners/WithoutVarieties.vue?11a4","webpack:///./src/components/Banners/WithoutVarieties.vue?2047","webpack:///src/pages/programas/DiseaseHome.vue","webpack:///./src/pages/programas/DiseaseHome.vue?2250","webpack:///./src/pages/programas/DiseaseHome.vue?cced","webpack:///./node_modules/chart.js/dist/Chart.js","webpack:///../../../src/components/VMenu/index.ts","webpack:///./src/pages/cultivares/VarietyInfoModal.vue?1d15","webpack:///../../../src/components/VChip/index.ts","webpack:///../../../src/mixins/validatable/index.ts","webpack:///./src/pages/cultivares/SortAndFilter.vue?a37c","webpack:///../../../src/components/VRadioGroup/VRadioGroup.ts","webpack:///./src/pages/cultivares/VarietyInfo.vue?3deb","webpack:///../../../src/components/VPicker/VPicker.ts","webpack:///../../../src/components/VPicker/index.ts","webpack:///../../../src/mixins/picker/index.ts","webpack:///./src/components/ChartBarsHorizontalWithMax.js","webpack:///./src/components/Spraying/DiseasesNames.vue","webpack:///src/components/Spraying/DiseasesNames.vue","webpack:///./src/components/Spraying/DiseasesNames.vue?be05","webpack:///./src/components/Spraying/DiseasesNames.vue?7262","webpack:///../../../src/components/VExpansionPanel/VExpansionPanelContent.ts","webpack:///../../../src/components/VForm/VForm.ts","webpack:///./src/components/ProductOptions/ProductOptionsList.vue?c0db","webpack:///./src/components/Form/DRadioField.vue","webpack:///./src/components/Form/fieldProperties.js","webpack:///src/components/Form/DRadioField.vue","webpack:///./src/components/Form/DRadioField.vue?54ae","webpack:///./src/components/Form/DRadioField.vue?cee5","webpack:///./src/mixins/ProductOptionsMixin.vue","webpack:///../../../src/components/VChipGroup/VChipGroup.ts","webpack:///./src/components/Spraying/SprayingModal.vue","webpack:///./src/components/Spraying/DosisTooltip.vue","webpack:///src/components/Spraying/DosisTooltip.vue","webpack:///./src/components/Spraying/DosisTooltip.vue?d45b","webpack:///./src/components/Spraying/DosisTooltip.vue?1443","webpack:///./src/components/ProductOptions/ProductOptionsContainer.vue","webpack:///./src/components/ProductOptions/ProductOptionsList.vue","webpack:///src/components/ProductOptions/ProductOptionsList.vue","webpack:///./src/components/ProductOptions/ProductOptionsList.vue?4842","webpack:///./src/components/ProductOptions/ProductOptionsList.vue?5825","webpack:///./src/components/ProductOptions/ProductOptionsDescription.vue","webpack:///src/components/ProductOptions/ProductOptionsDescription.vue","webpack:///./src/components/ProductOptions/ProductOptionsDescription.vue?d63b","webpack:///./src/components/ProductOptions/ProductOptionsDescription.vue?6700","webpack:///src/components/ProductOptions/ProductOptionsContainer.vue","webpack:///./src/components/ProductOptions/ProductOptionsContainer.vue?ff21","webpack:///./src/components/ProductOptions/ProductOptionsContainer.vue?6dc6","webpack:///src/mixins/ProductOptionsMixin.vue","webpack:///./src/mixins/ProductOptionsMixin.vue?8ae1","webpack:///./src/services/storage/productPriceStorage.js","webpack:///./src/mixins/WhiteMoldMixin.vue","webpack:///src/mixins/WhiteMoldMixin.vue","webpack:///./src/mixins/WhiteMoldMixin.vue?e4d9","webpack:///src/components/Spraying/SprayingModal.vue","webpack:///./src/components/Spraying/SprayingModal.vue?66ad","webpack:///./src/components/Spraying/SprayingModal.vue?73a1","webpack:///../../../../src/components/VDatePicker/util/pad.ts","webpack:///./src/utils/formatters.js","webpack:///../../../src/mixins/rippleable/index.ts","webpack:///../../../src/components/VStepper/VStepperStep.ts","webpack:///../../../src/components/VRangeSlider/VRangeSlider.ts","webpack:///./node_modules/lodash.defaultsdeep/index.js","webpack:///./src/components/Banners/FarmDisabled.vue","webpack:///./src/components/ProductOptions/ProductOptionsDescription.vue?dc23","webpack:///../../../src/components/VRadioGroup/VRadio.ts","webpack:///./src/components/Crops/CropTabs.vue","webpack:///src/components/Crops/CropTabs.vue","webpack:///./src/components/Crops/CropTabs.vue?d6cf","webpack:///./src/components/Crops/CropTabs.vue?58fc","webpack:///./src/pages/programas/DiseaseHeader.vue?eaf7","webpack:///./src/components/Banners/FarmDisabled.vue?cdc7","webpack:///./src/components/Crops/CropTabs.vue?1c51","webpack:///./src/pages/execucao/TooltipEfficacy.vue","webpack:///src/pages/execucao/TooltipEfficacy.vue","webpack:///./src/pages/execucao/TooltipEfficacy.vue?49a5","webpack:///./src/pages/execucao/TooltipEfficacy.vue?b24d","webpack:///../../../src/components/VTabs/VTab.ts","webpack:///../../../src/components/VStepper/VStepper.ts","webpack:///../../../src/components/VSlideGroup/VSlideGroup.ts","webpack:///./src/pages/cultivares/VarietyList.vue?2598","webpack:///./src/pages/cultivares/VarietyItem.vue?ff37","webpack:///./src/pages/cultivares/RequestNotCatalogedVariety.vue?fade","webpack:///../../../src/components/VSlider/index.ts","webpack:///../../../src/components/VStepper/index.ts","webpack:///./src/assets/icons sync ^\\.\\/ic\\-.*\\.svg$","webpack:///../../../src/components/VSlideGroup/VSlideItem.ts","webpack:///../../../src/components/VCheckbox/VSimpleCheckbox.ts","webpack:///./src/pages/cultivares/VarietyHome.vue","webpack:///./src/pages/cultivares/NoAvailableVariety.vue","webpack:///src/pages/cultivares/NoAvailableVariety.vue","webpack:///./src/pages/cultivares/NoAvailableVariety.vue?0b37","webpack:///./src/pages/cultivares/NoAvailableVariety.vue?e464","webpack:///./src/pages/cultivares/SortAndFilter.vue","webpack:///./src/pages/cultivares/FilterModal.vue","webpack:///src/pages/cultivares/FilterModal.vue","webpack:///./src/pages/cultivares/FilterModal.vue?da0c","webpack:///./src/pages/cultivares/FilterModal.vue?3191","webpack:///./src/utils/string.js","webpack:///src/pages/cultivares/SortAndFilter.vue","webpack:///./src/pages/cultivares/SortAndFilter.vue?1839","webpack:///./src/pages/cultivares/SortAndFilter.vue?cc18","webpack:///./src/pages/cultivares/VarietyHeader.vue","webpack:///src/pages/cultivares/VarietyHeader.vue","webpack:///./src/pages/cultivares/VarietyHeader.vue?0380","webpack:///./src/pages/cultivares/VarietyHeader.vue?6c5d","webpack:///./src/pages/cultivares/VarietyList.vue","webpack:///./src/pages/cultivares/VarietyItem.vue","webpack:///src/pages/cultivares/VarietyItem.vue","webpack:///./src/pages/cultivares/VarietyItem.vue?e08e","webpack:///./src/pages/cultivares/VarietyItem.vue?23ec","webpack:///./src/pages/cultivares/RequestNotCatalogedVariety.vue","webpack:///src/pages/cultivares/RequestNotCatalogedVariety.vue","webpack:///./src/pages/cultivares/RequestNotCatalogedVariety.vue?1854","webpack:///./src/pages/cultivares/RequestNotCatalogedVariety.vue?d0c6","webpack:///src/pages/cultivares/VarietyList.vue","webpack:///./src/pages/cultivares/VarietyList.vue?5ecd","webpack:///./src/pages/cultivares/VarietyList.vue?cc77","webpack:///src/pages/cultivares/VarietyHome.vue","webpack:///./src/pages/cultivares/VarietyHome.vue?830e","webpack:///./src/pages/cultivares/VarietyHome.vue?c2b4","webpack:///../../../src/components/VGrid/grid.ts","webpack:///../../../src/components/VGrid/VContainer.ts","webpack:///./src/components/Spraying/DiseasesNames.vue?d18b","webpack:///./node_modules/chartjs-plugin-datalabels/dist/chartjs-plugin-datalabels.js","webpack:///./src/components/Banners/FarmDisabled.vue?9fa3","webpack:///../../../src/components/VTabs/VTabsItems.ts","webpack:///../../../src/components/VBtn/index.ts","webpack:///./src/pages/cultivares/VarietyHome.vue?4a77","webpack:///../../../src/components/VDivider/index.ts","webpack:///./src/pages/programas/ProgramsList.vue?bc83","webpack:///../../../src/components/VSelect/VSelectList.ts","webpack:///../../../src/mixins/filterable/index.ts","webpack:///../../../src/components/VSelect/VSelect.ts","webpack:///../../../src/components/VSlider/VSlider.ts","webpack:///../../../src/components/VLabel/VLabel.ts","webpack:///../../../src/components/VLabel/index.ts","webpack:///../../../src/components/VMessages/VMessages.ts","webpack:///../../../src/components/VMessages/index.ts","webpack:///../../../src/components/VInput/VInput.ts","webpack:///../../../src/components/VInput/index.ts","webpack:///../../../src/components/VAutocomplete/VAutocomplete.ts","webpack:///../../../src/components/VExpansionPanel/VExpansionPanelHeader.ts","webpack:///../../../src/components/VChip/VChip.ts","webpack:///./src/mixins/CropDiseasesMixin.vue","webpack:///src/mixins/CropDiseasesMixin.vue","webpack:///./src/mixins/CropDiseasesMixin.vue?87e3","webpack:///../../../src/components/VExpansionPanel/VExpansionPanel.ts","webpack:///./src/pages/programas/ProgramHeader.vue?5216","webpack:///./src/components/Banners/FarmDisabled.vue?a25b","webpack:///./src/components/SeasonsCrops/SelectorSeasonsCrops.vue?c45f","webpack:///../../../src/components/VItemGroup/VItem.ts","webpack:///../../../src/mixins/picker-button/index.ts","webpack:///./src/components/Efficacies/index.vue","webpack:///src/components/Efficacies/index.vue","webpack:///./src/components/Efficacies/index.vue?cd27","webpack:///./src/components/Efficacies/index.vue?d9c3","webpack:///../../../src/components/VSubheader/VSubheader.ts","webpack:///../../../src/components/VStepper/VStepperContent.ts","webpack:///./src/components/Program/TotalSprayingsInfo.vue?a09b","webpack:///../../../src/components/VWindow/VWindow.ts","webpack:///./src/components/SeasonsCrops/SelectorSeasonsCrops.vue","webpack:///src/components/SeasonsCrops/SelectorSeasonsCrops.vue","webpack:///./src/components/SeasonsCrops/SelectorSeasonsCrops.vue?2332","webpack:///./src/components/SeasonsCrops/SelectorSeasonsCrops.vue?00f2","webpack:///../../../src/mixins/selectable/index.ts","webpack:///../../../src/components/VTabs/VTabsBar.ts","webpack:///../../../src/components/VTabs/VTabsSlider.ts","webpack:///../../../src/components/VTabs/VTabs.ts"],"names":["BaseItemGroup","extend","name","provide","expansionPanels","this","props","accordion","Boolean","disabled","flat","hover","focusable","inset","popout","readonly","tile","computed","classes","_objectSpread","options","call","created","$attrs","hasOwnProperty","breaking","Array","isArray","value","length","methods","updateItem","item","index","getValue","nextValue","isActive","toggleMethod","nextIsActive","mixins","VSheet","Toggleable","Transitionable","border","type","String","validator","val","includes","closeLabel","default","coloredBorder","dense","dismissible","closeIcon","icon","outlined","prominent","text","__cachedBorder","data","staticClass","class","_defineProperty","concat","setBackgroundColor","computedColor","$createElement","__cachedDismissible","_this","color","iconColor","VBtn","small","attrs","$vuetify","lang","t","on","click","VIcon","__cachedIcon","computedIcon","hasColoredIcon","hasText","undefined","isDark","Themeable","genWrapper","children","getSlot","genContent","$scopedSlots","close","toggle","genAlert","role","listeners$","style","styles","directives","setColor","setTextColor","render","h","transition","origin","mode","_c","cropIcon","alt","_v","_vm","isRegisteredVariety","path","planningRoutePath","fazenda_id","cultivar_id","staticRenderFns","variety","Object","required","loading","diseaseProgram","mapGetters","_this$variety","added","cropName","currentCrop","toLowerCase","src","require","plantingTimeStart","semeadura_ini","formatDate","$t","plantingTimeEnd","semeadura_fim","cicleStart","parseInt","ciclo_dias","process","cicleEnd","mapActions","addVariety","_asyncToGenerator","_regeneratorRuntime","mark","_callee","_yield$_this$createVa","cultivarId","wrap","_context","prev","next","createVariety","seedId","semente_id","farmId","currentFarmId","sent","$root","$emit","$router","push","query","t0","console","error","finish","stop","component","_self","program","whiteMoldSprayingText","totalSprayings","white_mold_total_sprayings","generateChart","chartId","chartType","createElement","cssClasses","id","width","height","ref","Number","plugins","_chart","_plugins","addPlugin","plugin","$data","generateLegend","renderChart","destroy","$refs","canvas","Error","getContext","beforeDestroy","HorizontalBar","Line","VSubheader","openTutorialModal","_s","isTutorialModalOpened","closeTutorialModal","scopedSlots","_u","key","fn","urlVideo","proxy","_e","components","DfButton","DfModal","$","sign","target","stat","PickerButton","date","selectingYear","year","yearIcon","isReversing","computedTransition","watch","genYearIcon","dark","getYearBtn","genPickerButton","genTitleText","domProps","innerHTML","genTitleDate","Vue","locale","currentLocale","current","createNativeLocaleFormatter","substrOptions","arguments","start","makeIsoString","dateString","_dateString$trim$spli","trim","split","_dateString$trim$spli2","_slicedToArray","month","pad","join","intlFormatter","Intl","DateTimeFormat","format","Date","e","substr","_value$split$map","map","_value$split$map2","Colorable","Localable","Function","min","max","nextAriaLabel","nextIcon","prevAriaLabel","prevIcon","formatter","timeZone","newVal","oldVal","genBtn","change","ariaLabelId","ariaLabel","calculateChange","light","stopPropagation","rtl","_String$split$map","_String$split$map2","monthChange","genHeader","_this2","header","themeClasses","createItemTypeNativeListeners","instance","itemTypeSuffix","keys","$listeners","reduce","eventName","endsWith","slice","event","createItemTypeListeners","_dateString$split","_dateString$split2","_dateString$split2$","_dateString$split2$2","isDateAllowed","allowedFn","Touch","allowedDates","events","eventColor","range","scrollable","tableDate","wheelThrottle","displayedMonth","displayedYear","mounted","throttle","wheel","genButtonClasses","isAllowed","isFloating","isSelected","isCurrent","isFirst","isLast","genButtonEvents","mouseEventType","mergeListeners","genButton","isOtherMonth","genEvents","getEventColors","eventData","arrayize","v","eventColors","filter","isValidScroll","calculateTableDate","sanitizeType","sanitizeDateString","deltaY","touch","genTable","_this3","touchDirective","left","offsetX","right","preventDefault","_sort","_toConsumableArray","sort","_sort2","from","to","indexOf","createUTCDate","day","UTC","isFinite","getUTCFullYear","setUTCFullYear","firstWeekOffset","firstDayOfWeek","firstDayOfYear","firstWeekDayInFirstWeek","firstWeekDayOfYear","getUTCDay","dayOfYear","isLeapYear","weeksInYear","weekOffset","weekOffsetNext","daysInYear","weekNumber","localeFirstDayOfYear","week","Math","ceil","DatePickerTable","showAdjacentMonths","showWeek","weekdayFormat","weekdayFormatter","weekday","weekDays","first","createRange","i","delta","genTHead","days","unshift","genTR","weekDaysBeforeFirstDayOfTheMonth","firstDayOfTheMonth","weekDay","getWeekNumber","dayInMonth","genWeekNumber","padStart","genTBody","daysInMonth","getDate","rows","prevMonthYear","prevMonth","firstDayFromPreviousMonth","cellsInRow","nextMonthYear","nextMonth","nextMonthDay","cols","fill","_loop","row","tds","_","col","defaultColor","setTimeout","activeItem","$el","getElementsByClassName","scrollTop","offsetTop","offsetHeight","scrollHeight","genYearItem","formatted","active","genYearItems","selectedYear","getFullYear","maxYear","minYear","DAYS_IN_MONTH","DAYS_IN_MONTH_LEAP","Picker","activePicker","dayFormat","headerDateFormat","monthFormat","multiple","nextMonthAriaLabel","nextYearAriaLabel","pickerDate","prevMonthAriaLabel","prevYearAriaLabel","reactive","showCurrent","selectedItemsText","titleDateFormat","yearFormat","now","internalActivePicker","toUpperCase","inputDay","inputMonth","inputYear","multipleValue","wrapInArray","getMonth","isMultiple","lastValue","selectedMonths","inputDate","tableMonth","tableYear","minMonth","maxMonth","formatters","titleDate","defaultTitleMultipleDateFormatter","defaultTitleDateFormatter","dates","titleFormats","titleDateFormatter","landscapeFormatter","replace","match","nonDigit","digit","landscape","immediate","handler","newValue","oldValue","checkMultipleProp","setInputDate","output","emitInput","newInput","x","valueType","constructor","expected","consoleWarn","yearClick","monthClick","_value$split","_value$split2","dateClick","_value$split3","_value$split4","genPickerTitle","VDatePickerTitle","slot","genTableHeader","_this4","VDatePickerHeader","input","genDateTable","_this5","VDatePickerDateTable","genMonthTable","_this6","VDatePickerMonthTable","genYears","VDatePickerYears","genPickerBody","array","genPicker","farms","rawName","cultivaresLoading","loadingChangeFarm","expression","varietiesLoaded","cultivares","changeVariety","cultivar","loadingVariety","programas","fetchPrograms","SelectorSeasonsCrops","DfPageHeader","staticStyle","_ref","dialog","callback","LayoutMixin","VarietyInfo","PermissionMixin","VarietyInfoModal","$on","resetVariety","_this$cultivar$id","_this$cultivar","_this$varietiesByCrop","varietyId","$route","varietiesByCrop","find","c","newVariety","translatedCrops","enabledCrops","crop","crop_id","varietiesAndCropHeaders","acc","currentCropId","hasCrop","some","_ref2","getCropNameById","varietyStartCycle","varietyEndCycle","changeCrop","cropId","setCurrentCrop","$off","isActivatedComparison","tutorialToggle","listaProgramas","breakpoint","calculaMaxAplicacoes","model","cloningProcess","programa","canAddProgram","planning","_ref3","_ref4","duplicateProgram","sugestao_pulverizacoes","planejamento","data_aplicacao_planejada","_ref6","$event","planejamento_defensivos","parseFloat","produto","dose","toFixedNotRounded","defensivo","unidade_medida","_ref7","semRegistro","_ref8","allowNovaAplicacao","hasPermission","salvarPlanejamento","currentStep","$$v","nomeMaxChar","saving","nome","isRecommendedDate","formatDateISO","dataSemeadura","notRecommendedDates","prevStep","severidade","white_mold_enabled","salvar","DRadioField","moment","toDate","toISOString","severidades","doencasSugeridas","minDate","maxDate","valid","nomeRules","isEditing","vPrograma","totalSteps","getLocale","_this$currentSeasonCr","_this$currentSeasonCr2","tolerancia","isSoybean","currentSeasonCrop","start_period","end_period","subtract","setWheatSowingTime","data_prevista","severidade_id","doencas_sugeridas","_this$currentSeasonCr3","_this$currentSeasonCr4","nextStep","isBetween","isFarmFromUSA","recommended","moment_semeadura_ini","moment_semeadura_fim","isNotInRecommendedInterval","validate","form","resetAll","atualizaProgramaParaSalvar","apiRequest","updateOrCreateRequest","then","response","catch","_error$response","_error$response$data","message","$api","update","create","fazenda","cultivaresSelecionadas","desmarcarFazenda","fazendas","marcarTodas","getCultivares","f","flatten","acumulador","desmarcarTodas","fazendaId","fechar","checkCropType","semente","cultivaresIds","clonarParaCultivares","err","_err$response","_err$response$data","allWithCultivares","_err$response2","_err$response2$data","CropDiseasesMixin","ModalPrograma","SprayingModal","ModalReplicacao","Efficacies","TotalSprayingsInfo","bagPrice","_this$currentFarm","_this$currentFarm$bag","_bag$price","bag","currentFarm","bag_price","price","custoTotalSc","custoTotal","toFixed","novoPlanejamentoIndex","planejamentos","showDefensiveMenu","$p","defensive","edit","delete","comparisonRoute","_this$currentFarm2","_this$program","programa_id","_this$program2","_this$program2$planej","maxSpraying","isUSA","maxSprayingsByCurrentCrop","eficacias","_this2$ignoredDisease","sem_registro","ignoredDiseases","alvo_id","aplicacaoDataRange","dateFormat","currentLanguage","LANG","EN","dataMin","dataMax","add","precoFloat","d","preco","pegaPrecos","p","precos","somaTudo","preco1","preco2","custoPlanejamento","custoPlanejamentoSc","salvarPrograma","clonarPrograma","excluirPrograma","excluirPlanejamento","canDeleteSpray","isLastSpray","specificWhiteMoldSpraying","doenca_prioritaria_id","handleButtonClick","logEvent","programs","clickedButton_addSpraying","DiseasesNames","ListItem","Loader","TutorialVideoModal","urlAjuda","checkNavBtnStatus","checkIfHasCreatePermission","programsObserver","firstId","values","verifyProgramsWithWhiteMold","fetchDefensivesLastData","_programs$","fetchDefensives","programId","totais_aplicacoes","_programa$planejament","apply","firstProgram","_this$programas","_this$programas$","enabledFarm","previousButton","document","querySelector","nextButton","clickLeft","clickRight","finally","DiseaseHeader","FarmDisabled","ProgramasHeader","ProgramasList","WithoutVarieties","changeCurrentVariety","_callee2","_this2$currentSeasonC","_this2$currentSeasonC2","_context2","findByCultivar","global","factory","module","exports","createCommonjsModule","getCjsExportFromNamespace","n","colorName","conversions","reverseKeywords","convert","rgb","channels","labels","hsl","hsv","hwb","cmyk","xyz","lab","lch","hex","keyword","ansi16","ansi256","hcg","apple","gray","defineProperty","comparativeDistance","y","pow","s","l","r","g","b","rdif","gdif","bdif","diff","diffc","w","m","k","reversed","currentClosestKeyword","currentClosestDistance","Infinity","distance","z","a","t1","t2","t3","sv","smin","lmin","hi","floor","q","sl","vmin","wh","bl","ratio","y2","x2","z2","hr","atan2","PI","sqrt","cos","sin","args","round","ansi","mult","rem","integer","string","toString","substring","colorString","char","grayscale","hue","chroma","pure","mg","buildGraph","graph","models","len","parent","deriveBFS","fromModel","queue","pop","adjacents","adjacent","node","link","wrapConversion","toModel","cur","conversion","route","wrapRaw","wrappedFn","prototype","wrapRounded","result","forEach","routes","routeModels","raw","colorConvert","colorName$1","getRgba","getHsla","getRgb","getHsl","getHwb","getAlpha","hexString","rgbString","rgbaString","percentString","percentaString","hslString","hslaString","hwbString","abbr","rgba","per","hexAlpha","scale","alpha","isNaN","hsla","vals","hexDouble","reverseNames","num","str","Color","obj","setValues","red","lightness","whiteness","cyan","isValid","setSpace","rgbArray","hslArray","hsvArray","hwbArray","cmykArray","rgbaArray","hslaArray","setChannel","green","blue","saturation","saturationv","blackness","magenta","yellow","black","rgbNumber","luminosity","lum","chan","contrast","color2","lum1","lum2","level","contrastRatio","yiq","negate","lighten","darken","saturate","desaturate","whiten","blacken","greyscale","clearer","opaquer","rotate","degrees","mix","mixinColor","weight","color1","w1","w2","toJSON","clone","source","prop","spaces","maxes","getValues","space","charAt","capped","chans","sname","svalues","window","chartjsColor","isValidKey","helpers","noop","uid","isNullOrUndef","isObject","valueOrDefault","defaultValue","valueAtIndexOrDefault","thisArg","each","loopable","reverse","arrayEquals","a0","a1","ilen","v0","v1","klen","_merger","tval","sval","merge","_mergerIf","mergeIf","sources","merger","assign","dst","inherits","extensions","me","ChartElement","Surrogate","__super__","_deprecated","scope","previous","warn","helpers_core","callCallback","fromIndex","getValueOrDefault","getValueAtIndexOrDefault","effects","linear","easeInQuad","easeOutQuad","easeInOutQuad","easeInCubic","easeOutCubic","easeInOutCubic","easeInQuart","easeOutQuart","easeInOutQuart","easeInQuint","easeOutQuint","easeInOutQuint","easeInSine","easeOutSine","easeInOutSine","easeInExpo","easeOutExpo","easeInOutExpo","easeInCirc","easeOutCirc","easeInOutCirc","easeInElastic","asin","easeOutElastic","easeInOutElastic","easeInBack","easeOutBack","easeInOutBack","easeInBounce","easeOutBounce","easeInOutBounce","helpers_easing","easingEffects","RAD_PER_DEG","DOUBLE_PI","HALF_PI","QUARTER_PI","TWO_THIRDS_PI","exports$1","clear","chart","ctx","clearRect","roundedRect","radius","top","bottom","moveTo","arc","closePath","rect","drawPoint","rotation","xOffset","yOffset","size","cornerRadius","rad","save","translate","drawImage","restore","beginPath","lineTo","SQRT1_2","stroke","_isPointInArea","point","area","epsilon","clipArea","clip","unclipArea","flip","stepped","steppedLine","midpoint","tension","bezierCurveTo","controlPointPreviousX","controlPointNextX","controlPointPreviousY","controlPointNextY","helpers_canvas","drawRoundedRectangle","defaults","_set","defaultFontColor","defaultFontFamily","defaultFontSize","defaultFontStyle","defaultLineHeight","showLines","core_defaults","toFontString","font","family","helpers_options","toLineHeight","matches","toPadding","_parseFont","globalDefaults","fontSize","fontFamily","lineHeight","fontStyle","resolve","inputs","context","info","cacheable","exports$2","_factorize","log10","exponent","log","LOG10E","powerOf10","isPowerOf10","helpers_math","getRtlAdapter","rectX","setWidth","textAlign","align","xPlus","leftForLtr","itemWidth","getLtrAdapter","_itemWidth","getAdapter","overrideTextDirection","direction","original","getPropertyValue","getPropertyPriority","setProperty","prevTextDirection","restoreTextDirection","helpers_rtl","helpers$1","easing","math","interpolate","view","ease","actual","c0","c1","Element","configuration","initialize","_type","hidden","pivot","_view","_model","_start","tooltipPosition","hasValue","isNumber","core_element","exports$3","numSteps","onAnimationProgress","onAnimationComplete","core_animation","get","set","animation","duration","onProgress","onComplete","core_animations","animations","request","addAnimation","lazy","startTime","animating","requestAnimationFrame","cancelAnimation","findIndex","splice","requestAnimFrame","startDigest","advance","arrayEvents","listenArrayEvents","listener","_chartjs","listeners","configurable","enumerable","method","base","res","object","unlistenArrayEvents","stub","DatasetController","datasetIndex","datasetElementType","dataElementType","_datasetElementOptions","_dataElementOptions","linkScales","addElements","getMeta","updateIndex","meta","scales","dataset","getDataset","scalesOpts","xAxisID","xAxes","yAxisID","yAxes","datasets","getDatasetMeta","getScaleForId","scaleID","_getValueScaleId","_getIndexScaleId","_getValueScale","_getIndexScale","reset","_update","_data","createMetaDataset","_datasetIndex","createMetaData","_index","metaData","addElementAndReset","element","updateElement","buildOrUpdateElements","isExtensible","resyncElements","_configure","_config","_cachedDataOpts","easingValue","elements","draw","getStyle","_resolveDatasetElementOptions","_resolveDataElementOptions","backgroundColor","borderColor","readKey","datasetOpts","custom","elementOptions","cached","dataIndex","freeze","removeHoverStyle","$previousStyle","setHoverStyle","getHoverColor","borderWidth","hoverBackgroundColor","hoverBorderColor","hoverBorderWidth","_removeDatasetHoverStyle","_setDatasetHoverStyle","hoverOptions","numMeta","numData","insertElements","count","onDataPush","onDataPop","onDataShift","shift","onDataSplice","onDataUnshift","core_datasetController","TAU","clipArc","startAngle","endAngle","pixelMargin","angleMargin","outerRadius","innerRadius","drawFullCircleBorders","vm","inner","fullCircles","drawBorder","borderAlign","lineWidth","lineJoin","element_arc","inLabelRange","mouseX","hoverRadius","inRange","chartX","chartY","pointRelativePosition","getAngleFromPoint","angle","betweenAngles","withinRadius","getCenterPoint","halfAngle","halfRadius","getArea","centreAngle","rangeFromCentre","circumference","fillStyle","strokeStyle","valueOrDefault$1","line","borderCapStyle","borderDash","borderDashOffset","borderJoinStyle","capBezierPoints","element_line","currentVM","spanGaps","points","_children","globalOptionLineElements","lastDrawnIndex","previousItem","skip","lineCap","setLineDash","lineDashOffset","valueOrDefault$2","defaultColor$1","xRange","abs","hitRadius","yRange","mouseY","pointStyle","element_point","inXRange","inYRange","padding","chartArea","defaultColor$2","isVertical","getBarBounds","x1","y1","half","swap","orig","v2","parseBorderSkipped","edge","borderSkipped","horizontal","parseBorderWidth","maxW","maxH","boundingRects","bounds","outer","skipX","skipY","rectangle","element_rectangle","rects","fillRect","Arc","Point","Rectangle","deprecated","valueOrDefault$3","computeMinSampleSize","pixels","curr","_length","getTicks","getPixelForTick","computeFitCategoryTraits","ruler","thickness","barThickness","stackCount","categoryPercentage","barPercentage","chunk","computeFlexCategoryTraits","percent","end","offset","gridLines","offsetGridLines","bar","controller_bar","scaleOpts","stack","minBarLength","maxBarThickness","_ruler","getRuler","_xScale","_yScale","datasetLabel","label","_updateElementGeometry","vscale","getBasePixel","isHorizontal","vpixels","calculateBarValuePixels","ipixels","calculateBarIndexPixels","head","center","_getStacks","last","metasets","_getMatchingVisibleMetas","stacked","stacks","getStackCount","getStackIndex","getPixelForValue","_startPixel","_endPixel","imeta","ivalue","stackLength","_parseValue","stackIndex","indexOpts","valueOpts","valueOrDefault$4","resolve$1","position","tooltips","callbacks","title","dataPoint","xLabel","yLabel","controller_bubble","xScale","yScale","dsIndex","getPixelForDecimal","NaN","_options","valueOrDefault$5","PI$1","DOUBLE_PI$1","HALF_PI$1","animateRotate","animateScale","legendCallback","listItem","listItemSpan","list","setAttribute","appendChild","createTextNode","outerHTML","legend","generateLabels","controller","onClick","legendItem","cutoutPercentage","tooltipItem","dataLabel","controller_doughnut","getRingIndex","ringIndex","j","isDatasetVisible","maxWidth","maxHeight","opts","ratioX","ratioY","offsetY","arcs","cutout","chartWeight","_getRingWeight","startX","startY","endX","endY","contains0","contains90","contains180","contains270","minX","minY","maxX","maxY","getMaxBorderWidth","radiusLength","_getVisibleDatasetWeightTotal","total","calculateTotal","_getRingWeightOffset","animationOpts","centerX","centerY","calculateCircumference","hoverWidth","ringWeightOffset","dataSetIndex","axis","horizontalBar","controller_horizontalBar","valueOrDefault$6","resolve$2","isPointInArea","scaleClip","halfBorderWidth","tickOpts","ticks","defaultClip","toClip","controller_line","config","showLine","_showLine","lineTension","_scale","updateBezierControlPoints","lineModel","calculatePointY","lineOptions","ds","dsMeta","stackedRightValue","rightValue","sumPos","sumNeg","getRightValue","_getSortedVisibleDatasetMetas","controlPoints","capControlPoint","pt","cubicInterpolationMode","splineCurveMonotone","splineCurve","nextItem","resolve$3","angleLines","display","circular","pointLabels","beginAtZero","controller_polarArea","starts","_starts","angles","_angles","_updateRadius","countVisibleElements","_computeAngle","minSize","getVisibleDatasetCount","xCenter","yCenter","datasetStartAngle","getDistanceFromCenterForValue","resetRadius","doughnut","controller_pie","valueOrDefault$7","controller_radar","pointPosition","getPointPositionForValue","scatter","controller_scatter","controllers","bubble","polarArea","pie","radar","getRelativePosition","native","parseVisibleItems","metadata","jlen","getIntersectItems","getNearestItems","intersect","distanceMetric","minDistance","POSITIVE_INFINITY","nearestItems","getDistanceMetricForAxis","useX","useY","pt1","pt2","deltaX","indexMode","items","core_interaction","modes","single","nearest","intersectsItem","filterByPosition","where","pos","sortByWeight","wrapBoxes","boxes","box","layoutBoxes","setLayoutDims","layouts","params","layout","fullWidth","availableWidth","vBoxMaxWidth","hBoxMaxHeight","buildLayoutBoxes","leftAndTop","rightAndBottom","vertical","getCombinedMax","maxPadding","updateDims","newWidth","newHeight","getPadding","boxPadding","outerWidth","outerHeight","sizes","handleMaxPadding","updatePos","getMargins","marginForPositions","positions","margin","fitBoxes","refit","changed","refitBoxes","placeBoxes","userPadding","core_layouts","addBox","_layers","removeBox","layoutItem","configure","layoutOptions","availableHeight","verticalBoxes","horizontalBoxes","platform_basic","acquireContext","platform_dom","platform_dom$1","__proto__","stylesheet","EXPANDO_KEY","CSS_PREFIX","CSS_SIZE_MONITOR","CSS_RENDER_MONITOR","CSS_RENDER_ANIMATION","ANIMATION_START_EVENTS","EVENT_TYPES","touchstart","touchmove","touchend","pointerenter","pointerdown","pointermove","pointerup","pointerleave","pointerout","readUsedSize","property","initCanvas","renderHeight","getAttribute","renderWidth","initial","displayWidth","aspectRatio","displayHeight","supportsEventListenerOptions","supports","addEventListener","eventListenerOptions","passive","addListener","removeListener","removeEventListener","createEvent","nativeEvent","fromNativeEvent","throttled","ticking","createDiv","cls","el","className","createResizer","maxSize","resizer","expand","shrink","_reset","scrollLeft","onScroll","bind","watchForRender","expando","renderProxy","animationName","reflow","offsetParent","classList","unwatchForRender","remove","addResizeListener","container","maintainAspectRatio","parentNode","clientWidth","insertBefore","firstChild","removeResizeListener","removeChild","injectCSS","rootNode","css","containsStyles","platform_dom$2","disableCSSInjection","_enabled","_ensureLoaded","root","getRootNode","targetNode","host","getElementById","releaseContext","removeAttribute","proxies","addEvent","removeEvent","implementation","platform","core_plugins","_cacheId","register","unregister","idx","getAll","notify","hook","descriptor","descriptors","cache","$plugins","_invalidate","core_scaleService","constructors","registerScaleType","scaleConstructor","scaleDefaults","getScaleConstructor","getScaleDefaults","updateScaleDefaults","additions","addScalesToLayout","valueOrDefault$8","getRtlHelper","enabled","titleFontStyle","titleSpacing","titleMarginBottom","titleFontColor","titleAlign","bodySpacing","bodyFontColor","bodyAlign","footerFontStyle","footerSpacing","footerMarginTop","footerFontColor","footerAlign","yPadding","xPadding","caretPadding","caretSize","multiKeyBackground","displayColors","beforeTitle","tooltipItems","labelCount","afterTitle","beforeBody","beforeLabel","labelColor","activeElement","labelTextColor","afterLabel","afterBody","beforeFooter","footer","afterFooter","positioners","average","eventPosition","nearestElement","distanceBetweenPoints","tp","pushOrConcat","toPush","splitNewlines","createTooltipItem","indexScale","valueScale","getLabelForIndex","getBaseModel","tooltipOpts","xAlign","yAlign","textDirection","_bodyFontFamily","bodyFontFamily","_bodyFontStyle","bodyFontStyle","_bodyAlign","bodyFontSize","_titleFontFamily","titleFontFamily","_titleFontStyle","titleFontSize","_titleAlign","_footerFontFamily","footerFontFamily","_footerFontStyle","footerFontSize","_footerAlign","opacity","legendColorBackground","getTooltipSize","tooltip","body","combinedBodyLength","bodyItem","before","lines","after","titleLineCount","footerLineCount","widthPadding","maxLineWidth","measureText","fontString","determineAlignment","lf","rf","olf","orf","yf","midX","midY","getBackgroundPoint","alignment","paddingAndSize","radiusAndPadding","getAlignedX","getBeforeAfterBodyLines","exports$4","_lastActive","getTitle","getBeforeBody","getBody","bodyItems","getAfterBody","getFooter","existingModel","_active","backgroundPoint","tooltipSize","caretX","caretY","labelColors","labelTextColors","_eventPosition","itemSort","dataPoints","drawCaret","tooltipPoint","caretPosition","getCaretPosition","x3","y3","ptX","ptY","tmp","drawTitle","rtlHelper","textBaseline","fillText","drawBody","textColor","drawColorBoxes","xLinePadding","colorX","fillLineOfText","bodyAlignForCalculation","rtlColorX","strokeRect","drawFooter","drawBackground","quadraticCurveTo","hasTooltipContent","globalAlpha","handleEvent","getElementsAtEventForMode","positioners_1","core_tooltip","valueOrDefault$9","mergeScaleConfig","slen","mergeConfig","initConfig","updateConfig","newOptions","ensureScalesHaveIDs","buildOrUpdateScales","nextAvailableScaleId","axesOpts","prefix","hasId","positionIsHorizontal","compare2Level","l1","l2","onHover","animationDuration","responsive","responsiveAnimationDuration","Chart","construct","_bufferedRender","instances","retinaScale","devicePixelRatio","bindEvents","resize","initToolTip","silent","getMaximumWidth","getMaximumHeight","newSize","onResize","scalesOptions","scaleOptions","xAxisOptions","yAxisOptions","updated","dtype","dposition","isDefault","scaleType","scaleClass","mergeTicksOptions","hasUpdated","buildOrUpdateControllers","newControllers","destroyDatasetMeta","order","ControllerClass","resetElements","updateLayout","updateDatasets","lastActive","_bufferedRequest","_idx","updateDataset","animationOptions","animationObject","easingFunction","stepDecimal","layers","drawDatasets","_drawTooltip","_getSortedDatasetMetas","filterVisible","drawDataset","getElementAtEvent","getElementsAtEvent","getElementsAtXAxis","getDatasetAtEvent","_meta","unbindEvents","toBase64Image","toDataURL","_chartInstance","_listeners","eventHandler","updateHoverStyle","bufferedRequest","core_controller","Controller","types","configMerge","scaleMerge","core_helpers","parseMaxStyle","styleValue","parentProperty","valueInPixels","isConstrainedValue","getConstraintDimension","domNode","maxStyle","percentageProperty","defaultView","_getParentNode","constrainedNode","getComputedStyle","constrainedContainer","hasCNode","hasCContainer","infinity","collection","filterCallback","filtered","findNextWhere","arrayToSearch","startIndex","currentItem","findPreviousWhere","almostEquals","almostWhole","rounded","NEGATIVE_INFINITY","toRadians","toDegrees","radians","_decimalPlaces","centrePoint","anglePoint","distanceFromXCenter","distanceFromYCenter","radialDistanceFromCenter","aliasPixel","pixelWidth","_alignPixel","pixel","currentDevicePixelRatio","halfWidth","firstPoint","middlePoint","afterPoint","d01","d12","s01","s12","fa","fb","EPSILON","pointBefore","pointCurrent","pointAfter","alphaK","betaK","tauK","squaredMagnitude","pointsWithTangents","deltaK","mK","pointsLen","slopeDeltaX","loop","niceNum","niceFraction","fraction","webkitRequestAnimationFrame","mozRequestAnimationFrame","oRequestAnimationFrame","msRequestAnimationFrame","evt","originalEvent","srcElement","boundingRect","getBoundingClientRect","touches","clientX","clientY","paddingLeft","paddingTop","paddingRight","paddingBottom","getConstraintWidth","getConstraintHeight","_calculatePadding","parentDimension","cw","clientHeight","ch","currentStyle","forceRatio","pixelRatio","pixelSize","longestText","arrayOfThings","gc","garbageCollect","thing","nestedThing","longest","gcLen","textWidth","numberOfLabelLines","numberOfLines","CanvasGradient","colorValue","CanvasPattern","abstract","DateAdapter","formats","parse","startOf","endOf","_create","override","members","_date","core_adapters","core_ticks","tickValue","logDelta","tickString","maxTick","logTick","numExponential","toExponential","numDecimal","logarithmic","remain","valueOrDefault$a","sample","arr","numItems","increment","getPixelForGridLine","validIndex","lineValue","caches","computeLabelSizes","tickFonts","tickFont","nestedLabel","widest","highest","widths","heights","offsets","widestLabelSize","highestLabelSize","major","minor","valueAt","getTickMarkLength","drawTicks","tickMarkLength","getScaleLabelHeight","parseFontOptions","nestedOpts","fontColor","parseTickFontOptions","nonSkipped","ticksToFilter","getEvenSpacing","calculateSpacing","majorIndices","axisLength","ticksLimit","factors","factor","evenMajorSpacing","spacing","getMajorIndices","skipMajors","tick","majorStart","majorEnd","drawOnChartArea","zeroLineWidth","zeroLineColor","zeroLineBorderDash","zeroLineBorderDashOffset","scaleLabel","labelString","minRotation","maxRotation","mirror","autoSkip","autoSkipPadding","labelOffset","Scale","zeroLineIndex","_ticks","_getLabels","xLabels","yLabels","beforeUpdate","margins","samplingEnabled","sampleSize","_labelSizes","_maxLabelLines","longestLabelWidth","longestTextCache","_gridLineItems","_labelItems","beforeSetDimensions","setDimensions","afterSetDimensions","beforeDataLimits","determineDataLimits","afterDataLimits","beforeBuildTicks","buildTicks","afterBuildTicks","_convertTicksToLabels","beforeCalculateTickRotation","calculateTickRotation","afterCalculateTickRotation","beforeFit","fit","afterFit","_ticksToDraw","_autoSkip","afterUpdate","startPixel","endPixel","reversePixels","_reversePixels","beforeTickToLabelConversion","convertTicksToLabels","userCallback","afterTickToLabelConversion","labelSizes","maxLabelWidth","maxLabelHeight","tickWidth","maxLabelDiagonal","numTicks","labelRotation","_isVisible","_getLabelSizes","scaleLabelOpts","gridLineOpts","isBottom","firstLabelSize","lastLabelSize","lineSpace","tickPadding","isRotated","angleRadians","cosRotation","sinRotation","labelHeight","offsetLeft","offsetRight","labelWidth","handleMargins","isFullWidth","rawValue","_getScaleLabel","getValueForPixel","decimal","getDecimalForPixel","getBaseValue","avgMajorSpacing","maxTicksLimit","_tickSize","numMajorIndices","optionTicks","rot","_computeGridLineItems","borderValue","alignedLineValue","tx1","ty1","tx2","ty2","lineColor","ticksLength","tl","axisWidth","axisHalfWidth","alignPixel","alignBorderValue","_computeLabelItems","lineCount","textOffset","isMirrored","fonts","_drawGrid","firstLineWidth","lastLineWidth","_drawLabels","_drawTitle","scaleLabelX","scaleLabelY","scaleLabelFontColor","scaleLabelFont","scaleLabelPadding","halfLineHeight","isLeft","tz","gz","_draw","core_scale","isNullOrUndef$1","defaultConfig","scale_category","ticksOpts","minIndex","maxIndex","_startValue","_valueRange","valueCategory","_defaults","isNullOrUndef$2","generateTicks","generationOptions","dataRange","niceMin","niceMax","numSpaces","MIN_SPACING","stepSize","unit","maxNumSpaces","maxTicks","precision","rmin","rmax","scale_linearbase","handleTickRangeOptions","minSign","maxSign","setMin","suggestedMin","setMax","suggestedMax","getTickLimit","_computeTickLimit","handleDirectionalChanges","numericGeneratorOptions","fixedStepSize","ticksAsNumbers","_endValue","defaultConfig$1","DEFAULT_MIN","DEFAULT_MAX","getOrCreateStack","neg","stackData","relativePoints","updateMinMax","scale_linear","hasStacks","stackValues","_defaults$1","valueOrDefault$b","generateTicks$1","exp","significand","tickVal","endExp","endSignificand","minNotZero","lastTick","defaultConfig$2","nonNegativeOrDefault","scale_logarithmic","IDMatches","valuesPerStack","valuesForType","minVal","maxVal","tickValues","_getFirstTickValue","_valueOffset","_defaults$2","valueOrDefault$c","valueAtIndexOrDefault$1","resolve$4","defaultConfig$3","animate","showLabelBackdrop","backdropColor","backdropPaddingY","backdropPaddingX","getTickBackdropHeight","measureLabelSize","determineLimits","fitWithPointLabels","textSize","plFont","furthestLimits","furthestAngles","_pointLabelSizes","valueCount","getPointPosition","drawingArea","getIndexAngle","hLimits","vLimits","setReductions","getTextAlignForAngle","adjustPointPositionForLabelHeight","drawPointLabels","pointLabelOpts","tickBackdropHeight","outerDistance","extra","pointLabelPosition","pointLabelFontColor","drawRadiusLine","numberOrZero","param","scale_radialLinear","setCenterPoint","largestPossibleRadius","radiusReductionLeft","radiusReductionRight","radiusReductionTop","radiusReductionBottom","leftMovement","rightMovement","topMovement","bottomMovement","maxRight","maxLeft","maxTop","maxBottom","angleMultiplier","scalingFactor","distanceFromCenter","thisAngle","getBasePosition","angleLineOpts","tickFontColor","_defaults$3","deprecated$1","resolve$5","valueOrDefault$d","MIN_INTEGER","MIN_SAFE_INTEGER","MAX_INTEGER","MAX_SAFE_INTEGER","INTERVALS","millisecond","common","steps","second","minute","hour","quarter","UNITS","sorter","arrayUnique","hash","out","getMin","time","getMax","buildLookupTable","timestamps","distribution","table","lookup","mid","i0","i1","lo","interpolate$1","skey","tkey","span","toTimestamp","adapter","_adapter","parser","determineUnitForAutoTicks","minUnit","capacity","interval","determineUnitForFormatting","determineMajorUnit","generate","timeOpts","unitStepSize","isoWeekday","computeOffsets","setMajorTicks","majorUnit","ticksFromTimestamps","defaultConfig$4","adapters","displayFormat","displayFormats","scale_time","timestamp","labelsAdded","dataLabels","_table","_timestamps","getLabelCapacity","_unit","_majorUnit","_offsets","tooltipFormat","datetime","tickFormatFunction","minorFormat","majorFormat","nestedTickOpts","getPixelForOffset","_getLabelSize","tickLabelWidth","tickFontSize","getLabelWidth","exampleTime","exampleLabel","_defaults$4","category","radialLinear","FORMATS","_id","valueOf","amount","filler","propagate","mappers","visible","boundary","decodeFill","computeLinearBoundary","scaleBottom","scaleTop","scaleZero","computeCircularBoundary","cx","cy","computeBoundary","resolveTarget","visited","createMapper","isDrawable","drawArea","curve0","curve1","len0","len1","doFill","mapper","p0","p1","d0","d1","loopOffset","plugin_filler","afterDatasetsUpdate","$filler","beforeDatasetsDraw","getRtlHelper$1","noop$1","valueOrDefault$e","getBoxWidth","labelOpts","usePointStyle","boxWidth","ci","onLeave","lineDash","Legend","legendHitBoxes","_hoveredItem","doughnutMode","beforeBuildLabels","buildLabels","afterBuildLabels","legendItems","labelFont","hitboxes","lineWidths","totalHeight","vPadding","columnWidths","columnHeights","totalWidth","currentColWidth","currentColHeight","lineDefault","legendHeight","legendWidth","cursor","drawLegendBox","SQRT2","halfFontSize","xLeft","yMiddle","alignmentOffset","dimension","blockSize","itemHeight","realX","_getLegendItemAt","hitBox","lh","hoveredItem","createNewLegendAndAttach","legendOpts","plugin_legend","_element","beforeInit","afterEvent","noop$2","Title","titleX","titleY","fontOpts","createNewTitleBlockAndAttach","titleOpts","titleBlock","plugin_title","_adapters","Animation","animationService","Interaction","scaleService","Ticks","Tooltip","pluginService","PluginBase","canvasHelpers","layoutService","LinearScaleBase","klass","cfg","VMenu","VChip","baseMixins","RegistrableInject","errorCount","errorMessages","messages","rules","success","successMessages","validateOnBlur","errorBucket","hasColor","hasFocused","hasInput","isFocused","isResetting","lazyValue","isDisabled","appIsDark","hasError","internalErrorMessages","hasSuccess","internalSuccessMessages","externalError","hasMessages","validationTarget","hasState","shouldValidate","genInternalMessages","internalMessages","internalValue","_a","isInteractive","isReadonly","validations","validationState","deepEqual","deep","$nextTick","beforeMount","resetValidation","force","rule","consoleError","_typeof","VInput","radioGroup","column","genDefaultSlot","computedId","genInputSlot","genLabel","for","tag","vnode","_b","attrs$","Elevatable","noTitle","computedTitleColor","defaultTitleColor","genTitle","genBodyTransition","genBody","convertToUnit","genActions","elevationClasses","$slots","actions","VPicker","headerColor","genPickerActionsSlot","cancel","elevation","extends","chartdata","hideLabels","mobile","focus","mountChartStructure","computedOptions","ChartDataLabels","diseases","_this$cropDiseasesFil","cropDiseasesFiltered","disease","code","whiteMoldIndex","_this$cropDiseasesFil2","diseasesHideLabels","_this$cropDiseasesFil3","efficacy","applyMaxAndMinValue","hasEfficacy","maxEfficacy","withoutRegister","datalabels","_diseases","formatDecimal","getRealEfficacyBars","getPotencialEfficacyBars","getDiseasesLabels","shouldHideLabels","withoutEfficacyLabel","colorByLevel","anchor","formattedValue","eficaciaAjustada","normalizeEfficacy","potencialGreaterThanReal","_l","Bootable","parentIsActive","expansionPanel","isBooted","registerContent","unregisterContent","VExpandTransition","showLazyContent","open","BindsAttrs","RegistrableProvide","inheritAttrs","lazyValidation","watchers","errorBag","errors","watchInput","watcher","$watch","$set","_uid","resetErrorBag","found","unwatch","$delete","novalidate","submit","withTestLabel","description","option","internalOptions","newInternalValue","BaseSlideGroup","chipGroup","scrollOffset","genData","isValidForm","priorityDiseasesIndexes","selectProduct","openSuggestionsBtn","doses","targetsAndDoses","_Object$entries$filte","_this$produto","entries","diseaseData","target_id","selectSecondary","selectedItem","selectItem","selectedItemId","loadingSecondaryList","secondaryItems","secondaryItem","selectedSecondaryItemId","selectSecondaryItem","premiumItems","loadingPremiumList","selectedSecondaryItem","filterItems","shouldSelectNewItem","highlight","highlightSecondary","chartData","choose","ChartEfficacy","TooltipEfficacy","isSingle","tagColor","_this$item$efficacy","_this$item","_this$item$diseasesWi","_this$item2","diseasesWithNoRegister","hasDiseaseWithNoRegister","_this$item3","_this$item3$diseasesW","ProductOptionsList","ProductOptionsDescription","diseasesData","premiumProductSelected","secondaryProductSelected","missingSecondaryTargets","showMissingTargetsMessage","showErrorMessage","mixes","primary","secondary","clearAllData","initializeProductsOptions","fetchSecondaryList","reloadKey","primaryTarget","secondaryTarget","formatPrimary","formatOptions","formatSecondary","selectedProductInfoToShow","_this$secondaryProduc","_this$secondaryProduc2","_this$secondaryProduc3","_this$secondaryProduc4","_this$secondaryProduc5","_this$secondaryProduc6","_this$premiumProductS","_this$premiumProductS2","_this$premiumProductS3","_this$premiumProductS4","_this$premiumProductS5","_this$premiumProductS6","formatMixName","unitType","_this$diseasesData","fetchPremiumList","selectPremium","addMixToApplication","formatActiveIngredients","activeIngredient","capitalize","formatEfficaciesAndRegisters","efficacies","no_register_for_disease","potencial","defensives","_formatEfficaciesAndR","chosenDefensive","active_ingredients","_yield$_this2$$api$de","transformedData","defensiveOptions","ignoreSomeProductDiseases","productoptions","disease_id","_callee3","_this4$currentSeasonC","_yield$_this4$$api$de","_context3","mainDefensiveId","ProductOptionsContainer","openSuggestions","_this$currentFarm$loc","_this$currentFarm$loc2","_this$currentCrop","sprayingNumber","num_aplicacao","doencaPrioritariaId","doencaSecundaria1Id","countryId","location","country","short_title","toggleSuggestions","_ref$secondary","suggestedProducts","unidade","tipo","selectedProducts","updateSelectedProducts","ProductPriceStorage","products","storageKey","productType","productId","setProducts","newProducts","formatProducts","finalProducts","product","normalizeCurrency","F","A","storage","recover","stored","productsByType","storedValues","mergedProducts","defaultsDeep","WHITE_MOLD_ID","isWhiteMoldOnlySpraying","prioritaryTargetIsWhiteMold","hasWhiteMold","whiteMoldDefensives","is_white_mold","disableTargetsSelectionByRules","targetId","setWhiteMoldOnlySpraying","prioritaryTargetId","secondaryTargetId","ProductOptionsMixin","WhiteMoldMixin","DosisTooltip","planningProgram","aplicacao","doencaSecundaria2Id","autocompleteRules","doseRules","removeMask","precoRules","maskConfig","thousands","suffix","masked","loadingDoencasPrioridades","savedProducts","_this$sprayingsDefens","sprayingsDefensives","_p$defensivo","_p$defensivo$unidade_","JSON","stringify","setPrioritariesTargets","selectedSpray","doenca_secundaria_1_id","filteredDefensives","updatePriorityDiseaseIndexForTabs","resetProdutos","refreshTargetsSuggestion","selectedDefensives","_defensive$doses","_defensive$doses$soyb","special_targets","soybean_white_mold","has_register","acronym","sprayings","_this$planningProgram","_this$planningProgram2","execucoes","_this$selectedSpray$p","_this$selectedSpray","_this$selectedSpray2","execucao_defensivos","API","api","numberOfTargets","showProductOptions","$toggle","removeAccents","normalize","customDefensiveFilter","queryText","searchText","include","doencas","sugerir","prioritaria_id","secundaria_1_id","selectedDiseasesIds","diseaseId","_this4$cropDiseasesFi","changePriorityDisease","prioritizedDiseasesIndex","_prioritizedDiseasesI","_this5$cropDiseasesFi","_prioritizedDiseasesI2","_prioritizedDiseasesI3","_prioritizedDiseasesI4","doencaChipColor","doenca","novoFungicida","excluirProduto","getProductDataFromList","foundDefensive","completeProduct","lastPrice","lastDose","savedProduct","valor","_yield$_this6$API","notifications","abrupt","mountSprayingData","loadPrograma","productPriceStorage","clickedButton_createdSpraying","_this7","adjuvantes","foliares","defensivos","defensivo_id","unitLabel","_produto$unidade","$unitMeasures","$currentLanguage","priceLabel","_produto$unidade2","targetLength","padString","repeat","rest","cents","restOnlyDigits","formattedCents","RegExp","test","normalizeCoordinatesKML","coordinates","coordinatesValid","replaceAll","utc","dateTimeFormats","timezone","formatDayOfMonth","i18n","formatDayDayOfMonth","formatHour","ripple","genRipple","inject","complete","completeIcon","editable","editIcon","errorIcon","step","isInactive","stepper","stepClick","genIcon","genStep","genStepContent","keyboardClick","keyCode","keyCodes","tabindex","keydown","VSlider","activeThumb","roundValue","minValue","maxValue","toFocus","inputWidth","getTrackStyle","startLength","endLength","startPadding","endPadding","startDir","endDir","trackTransition","getIndexOfClosestValue","genInput","genTrackContainer","sections","computedTrackColor","computedTrackFillColor","section","genChildren","genSteps","onFocus","onBlur","valueWidth","genThumbContainer","reevaluateSelected","refName","thumbRef","onSliderMouseDown","parseMouseMove","thumbPressed","domRect","startOffset","clearTimeout","mouseTimeout","mouseUpOptions","passiveSupported","capture","mouseMoveOptions","isTouchEvent","onMouseMove","app","addOnceEventListener","onSliderMouseUp","onSliderClick","noClick","setInternalValue","onKeyDown","parseKeyDown","LARGE_ARRAY_SIZE","HASH_UNDEFINED","HOT_COUNT","HOT_SPAN","argsTag","arrayTag","asyncTag","boolTag","dateTag","errorTag","funcTag","genTag","mapTag","numberTag","nullTag","objectTag","proxyTag","regexpTag","setTag","stringTag","undefinedTag","weakMapTag","arrayBufferTag","dataViewTag","float32Tag","float64Tag","int8Tag","int16Tag","int32Tag","uint8Tag","uint8ClampedTag","uint16Tag","uint32Tag","reRegExpChar","reIsHostCtor","reIsUint","typedArrayTags","freeGlobal","freeSelf","self","freeExports","nodeType","freeModule","moduleExports","freeProcess","nodeUtil","binding","nodeIsTypedArray","isTypedArray","func","baseTimes","iteratee","baseUnary","overArg","transform","arg","arrayProto","funcProto","objectProto","coreJsData","funcToString","maskSrcKey","exec","IE_PROTO","nativeObjectToString","objectCtorString","reIsNative","Buffer","Symbol","Uint8Array","allocUnsafe","getPrototype","getPrototypeOf","objectCreate","propertyIsEnumerable","symToStringTag","toStringTag","getNative","nativeIsBuffer","isBuffer","nativeMax","nativeNow","Map","nativeCreate","baseCreate","proto","Hash","entry","hashClear","__data__","hashDelete","has","hashGet","hashHas","hashSet","ListCache","listCacheClear","listCacheDelete","assocIndexOf","lastIndex","listCacheGet","listCacheHas","listCacheSet","MapCache","mapCacheClear","mapCacheDelete","getMapData","mapCacheGet","mapCacheHas","mapCacheSet","Stack","stackClear","stackDelete","stackGet","stackHas","stackSet","pairs","arrayLikeKeys","inherited","isArr","isArg","isArguments","isBuff","isType","skipIndexes","isIndex","assignMergeValue","eq","baseAssignValue","assignValue","objValue","baseFor","createBaseFor","baseGetTag","getRawTag","objectToString","baseIsArguments","isObjectLike","baseIsNative","isMasked","pattern","isFunction","toSource","baseIsTypedArray","isLength","baseKeysIn","nativeKeysIn","isProto","isPrototype","baseMerge","srcIndex","customizer","srcValue","baseMergeDeep","safeGet","keysIn","mergeFunc","isCommon","isTyped","isArrayLikeObject","copyArray","cloneBuffer","cloneTypedArray","isPlainObject","toPlainObject","initCloneObject","baseRest","setToString","overRest","identity","baseSetToString","constant","buffer","isDeep","copy","cloneArrayBuffer","arrayBuffer","byteLength","typedArray","byteOffset","copyObject","isNew","createAssigner","assigner","guard","isIterateeCall","fromRight","keysFunc","iterable","customDefaultsMerge","isKeyable","isOwn","unmasked","isArrayLike","Ctor","otherArgs","shortOut","lastCalled","stamp","remaining","other","stubFalse","mergeWith","Rippleable","GroupableFactory","offIcon","onIcon","groupClasses","Selectable","hasLabel","computedName","rippleState","VLabel","prevent","focused","genRadio","_this$attrs$","radioAttrs","_objectWithoutProperties","_excluded","onChange","onKeydown","tab","disableCrops","enabledsCrops","cropChanged","cropIndex","textInfo","isProductOption","Routable","tabValue","proxyClass","href","append","detail","blur","tabsBar","mandatory","_this$generateRouteLi","generateRouteLink","enter","Proxyable","altLabels","nonLinear","content","isReverse","internalLazyValue","updateView","$options","bias","calculateUpdatedOffset","selectedElement","currentScrollOffset","wrapper","itemOffset","additionalOffset","calculateCenteredOffset","offsetCentered","Mobile","Resize","activeClass","centerActive","showArrows","isOverflowing","resizeTimeout","isSwipingHorizontal","isSwiping","canTouch","__cachedNext","genTransition","__cachedPrev","hasAffixes","isMobile","hasNext","_this$widths","hasPrev","scroll","ResizeObserver","obs","observe","disconnect","itemsLength","setWidths","onFocusin","_step","_iterator","_createForOfIteratorHelper","composedPath","done","_step2","_iterator2","genNext","onAffixClick","focusin","upperLocation","hasAffix","genPrev","VFadeTransition","overflowCheck","onTouchStart","move","onTouchMove","onTouchEnd","calculateNewOffset","newAbosluteOffset","scrollTo","_isDestroyed","touchstartX","diffX","touchmoveX","diffY","touchmoveY","touchstartY","documentElement","overflowY","_this$$refs","maxScrollOffset","removeProperty","scrollIntoView","lastItemPosition","wrapperPosition","selectedIndex","_this5$$refs","slideGroup","VStepperHeader","createSimpleFunctional","VStepperItems","VStepper","VStepperContent","VStepperStep","webpackContext","req","webpackContextResolve","__webpack_require__","o","BaseItem","functional","Ripple","indeterminate","indeterminateIcon","def","mergeData","mobileVarietyInfoDialog","closeMobile","seedName","activeFilter","GMRActiveFilter","owner","company","panel","$$a","$$el","$$c","ownerList","GMR","varieties","clickedFunction_Order","clickedFunction_Filter","removeSpecialCharacters","FilterModal","sortedAndFilteredVarieties","sortedVarieties","sortItems","sortBy","CROP","SOYBEAN","WHEAT","filteredVarieties","filterReset","showing_created","timeout","applyFilter","populateOwner","applySort","clickedFunction_Search_name","seedNameSort","GMRSort","ownerSort","recommendedSort","updateVarietiesList","addedVarietiesSort","filterUpdate","resetFilter","clickedFunction_Filter_clean","recomendado","localeCompare","asset_owner_name","grupo","prepareString","isWheat","hideCreated","showCreated","varietiesRender","selectedVariety","removeVariety","selectVariety","showInfo","notRecommended","varietyAdded","selectInfo","excluirCultivar","modalSolicitacao","msg","VarietyItem","RequestNotCatalogedVariety","renderAmount","checkScroll","renderVarieties","onscroll","scrollY","varietyObject","CropTabs","NoAvailableVariety","SortAndFilter","VarietyHeader","VarietyList","loadingVarieties","loadVarieties","sementes","isFarmAvailableForCrop","selectedVarietyInfo","getSeedsBySelectedCrop","newObj","VGrid","startsWith","Grid","fluid","screen","deviceXDPI","logicalXDPI","utils","toTextLines","parseFont","bound","arrayDiff","updates","rasterize","orient","x0","y0","dx","dy","ln","aligned","vx","vy","R_INSIDE","R_LEFT","R_RIGHT","R_BOTTOM","R_TOP","region","clipped","segment","r0","r1","compute","clamp","rx","ry","sx","sy","fallback","th","tw","tx","ty","frame","getScaleOrigin","getPositioner","drawFrame","bgColor","borderRadius","textGeometry","drawTextLine","shadow","shadowBlur","stroked","strokeText","filled","drawText","strokeColor","textStrokeColor","strokeWidth","textStrokeWidth","textShadowBlur","shadowColor","textShadowColor","Label","_rects","_ctx","_el","_modelize","positioner","geometry","helpers$2","rotated","projected","dp","toAxis","HitBox","_rotation","_rect","vs","collide","collider","s0","s1","$layout","_visible","_box","intersects","compute$1","state","h0","_hidable","h1","contains","pr0","pr1","_points","axes","prepare","sa","sb","dirty","helpers$3","helpers$4","DEFAULT_KEY","configs","_key","dispatchEvent","$context","groups","$groups","_dirty","dispatchMoveEvents","leave","handleMoveEvents","_labels","_hovered","handleClickEvents","handlers","invalidate","_actives","_listened","_datasets","afterDatasetUpdate","afterDatasetsDraw","beforeEvent","actives","VWindow","rootIsDark","VDivider","action","hideSelected","itemDisabled","itemText","itemValue","noDataText","noFilter","searchInput","selectedItems","parsedItems","tileActiveClass","staticNoDataTile","mousedown","VListItem","genTileContent","genAction","inputValue","VListItemAction","VSimpleCheckbox","genDivider","genFilteredText","_this$getMaskedCharac","getMaskedCharacters","middle","genHighlight","toLocaleLowerCase","genTile","_ref$disabled","_ref$value","hasItem","getDisabled","scopedSlot","needsTile","VListItemContent","VListItemTitle","getText","componentOptions","getPropertyFromItem","divider","VList","defaultMenuProps","closeOnClick","closeOnContentClick","disableKeys","openOnClick","VTextField","Comparable","Dependent","Filterable","ClickOutside","appendIcon","attach","cacheItems","chips","clearable","deletableChips","disableLookup","eager","itemColor","menuProps","openOnClear","returnObject","smallChips","cachedItems","menuIsBooted","isMenuActive","lastItem","keyboardLookupPrefix","keyboardLookupLastTime","allItems","filterDuplicates","hasChips","computedItems","computedOwns","computedCounterValue","counterValue","closeConditional","getOpenDependentElements","dynamicHeight","hasSlot","selection","isDirty","listData","scopeId","$vnode","_scopeId","virtualizedItems","select","staticList","VSelectList","$_menuProps","auto","menuCanShow","normalisedProps","nudgeBottom","initialValue","setSelectedItems","menu","updateDimensions","onMenuActiveChange","setMenuIndex","activateMenu","clearableCallback","setValue","getContent","uniqueValues","findExistingIndex","valueComparator","genChipSelection","onChipInput","genCommaSelection","selections","genSelections","genFieldset","genAffix","genClearIcon","genIconSlot","genHiddenInput","genMenu","genProgress","cb","extraData","getObjectValueByPath","autocomplete","placeholder","persistentPlaceholder","keypress","onKeyPress","genList","genListWithSlot","_this8","slots","slotName","_this9","activator","genSelection","genSlotSelection","_this10","selected","getMenuIndex","listIndex","isAppendInner","onEscDown","_this11","ctrlKey","metaKey","altKey","KEYBOARD_LOOKUP_THRESHOLD","performance","getTiles","_this12","up","down","home","changeListIndex","onUpDown","esc","onTabDown","onSpaceDown","tiles","onMouseUp","_this13","hasMouseDown","which","_this14","showMoreItems","activeTile","_this15","hasClickableTiles","prevTile","nextTile","firstTile","lastTile","_this16","_this17","appendInner","Loadable","inverseLabel","thumbColor","thumbLabel","thumbSize","tickLabels","tickSize","trackColor","trackFillColor","showTicks","stepNumeric","trackFillStyles","valueDir","trackStyles","showThumbLabel","computedThumbColor","parsed","slider","genSlider","offsetDirection","genThumb","thumbLabelContent","genThumbLabelContent","genThumbLabel","getThumbContainerStyles","VScaleTransition","thumb","_this$$refs$track$get","track","trackStart","trackLength","clickOffset","clickPos","pageup","pagedown","increase","multiplier","shiftKey","trimmedStep","decimals","absolute","newData","functionalThemeClasses","genMessage","VMessages","Validatable","hideDetails","hideSpinButtons","hint","persistentHint","prependIcon","showDetails","isLabelActive","hasDetails","messagesToDisplay","hasHint","$_modelEvent","validation","validationResult","beforeCreate","genPrependSlot","genControl","genAppendSlot","genMessages","kebabCase","hasListener","localeKey","prepend","prependInner","appendOuter","mouseup","onMouseDown","genSlot","VSelectMenuProps","offsetOverflow","VSelect","autoSelectFirst","hideNoData","lazySearch","filteredItems","selectedValues","hasDisplayedItems","currentRange","isSearching","internalSearch","isAnyValueAllowed","searchIsDirty","contentClass","onCopy","updateSelf","setSearch","destroyed","onFilteredItemsChanged","preSelectedItem","onInternalSearchChanged","updateMenuDimensions","changeSelectedIndex","backspace","deleteCurrentItem","curIndex","curItem","nextIndex","onInput","badInput","validity","currentItemText","clipboardData","setData","disableIconRotate","expandIcon","hideActions","hasMousedown","registerHeader","unregisterHeader","Sizeable","ToggleableFactory","draggable","filterIcon","pill","isClickable","isLink","hasClose","sizeableClasses","breakingProps","replacement","genFilter","VExpandXTransition","genClose","hasCropDiseases","hasProgramWithWhiteMold","_this$seasonCropsDise","_this$seasonCropsDise2","seasonCropsDiseases","focusStructure","spraying","isPlanning","efficaciesWithoutWhiteMold","_this$ignoredDiseases","eficacia_ajustada","eficacia_real","eficacia_potencial","heightByDiseases","firstFocus","secondFocus","isVerticalProvided","VTabReverseTransition","VTabTransition","onTransition","propertyName","contentData","wrapperData","windowGroup","continuous","showArrowsOnHover","touchless","changedByDelimiters","internalHeight","transitionHeight","transitionCount","internalReverse","hasActiveItems","internalIndex","updateReverse","genContainer","genControlIcons","large","icons","getNextIndex","getPrevIndex","prevIndex","season_name","selectedCurrentSeason","seasonCropsList","setSelectedSeasonCrop","setCurrentSeasonCrop","seasonsCropsStorage","fetchDiseases","fetchSeasonCropVarieties","getStoredSeasonCrop","storedSeasonCrop","savedSeasonCropFound","seasonCrop","getLastSeasonCrop","seasonsCrops","_this2$currentCrop","falseValue","trueValue","checked","SSRBootable","callSlider","onRouteChange","newPath","oldPath","hasNew","hasOld","alignWithTitle","centered","fixedTabs","grow","hideSlider","iconsAndText","mobileBreakpoint","optional","sliderColor","sliderSize","transitionTime","isReversed","sliderStyles","activeTab","offsetWidth","scrollWidth","genBar","VTabsBar","genItems","VTabsItems","VTabsSlider","parseNodes","_this$parseNodes","modifiers","quiet"],"mappings":"iRAAA,W,8JCceA,cAAcC,OAAO,CAClCC,KAAM,qBAENC,QAAO,WACL,MAAO,CACLC,gBAAiBC,OAIrBC,MAAO,CACLC,UAAWC,QACXC,SAAUD,QACVE,KAAMF,QACNG,MAAOH,QACPI,UAAWJ,QACXK,MAAOL,QACPM,OAAQN,QACRO,SAAUP,QACVQ,KAAMR,SAGRS,SAAU,CACRC,QAAO,WACL,OAAAC,8BAAA,GACKnB,OAAcoB,QAAQH,SAASC,QAAQG,KAAKhB,OAD1C,IAEL,sBAAsB,EACtB,gCAAiCA,KAAKE,UACtC,2BAA4BF,KAAKK,KACjC,4BAA6BL,KAAKM,MAClC,gCAAiCN,KAAKO,UACtC,4BAA6BP,KAAKQ,MAClC,6BAA8BR,KAAKS,OACnC,2BAA4BT,KAAKW,SAKvCM,QAAO,WAEDjB,KAAKkB,OAAOC,eAAe,WAC7BC,eAAS,SAAU,WAAYpB,MAK/BqB,MAAMC,QAAQtB,KAAKuB,QACnBvB,KAAKuB,MAAMC,OAAS,GACK,mBAAlBxB,KAAKuB,MAAM,IAElBH,eAAS,+BAAgC,kBAAmBpB,OAIhEyB,QAAS,CACPC,WAAU,SAAEC,EAAmDC,GAC7D,IAAML,EAAQvB,KAAK6B,SAASF,EAAMC,GAC5BE,EAAY9B,KAAK6B,SAASF,EAAMC,EAAQ,GAE9CD,EAAKI,SAAW/B,KAAKgC,aAAaT,GAClCI,EAAKM,aAAejC,KAAKgC,aAAaF,Q,kMChD7BI,sBACbC,OACAC,OACAC,QACAzC,OAAO,CACPC,KAAM,UAENI,MAAO,CACLqC,OAAQ,CACNC,KAAMC,OACNC,UAAS,SAAEC,GACT,MAAO,CACL,MACA,QACA,SACA,QACAC,SAASD,KAGfE,WAAY,CACVL,KAAMC,OACNK,QAAS,kBAEXC,cAAe3C,QACf4C,MAAO5C,QACP6C,YAAa7C,QACb8C,UAAW,CACTV,KAAMC,OACNK,QAAS,WAEXK,KAAM,CACJL,QAAS,GACTN,KAAM,CAACpC,QAASqC,QAChBC,UAAS,SAAEC,GACT,MAAsB,kBAARA,IAA4B,IAARA,IAGtCS,SAAUhD,QACViD,UAAWjD,QACXkD,KAAMlD,QACNoC,KAAM,CACJA,KAAMC,OACNC,UAAS,SAAEC,GACT,MAAO,CACL,OACA,QACA,UACA,WACAC,SAASD,KAGfnB,MAAO,CACLgB,KAAMpC,QACN0C,SAAS,IAIbjC,SAAU,CACR0C,eAAc,WACZ,IAAKtD,KAAKsC,OAAQ,OAAO,KAEzB,IAAIiB,EAAkB,CACpBC,YAAa,kBACbC,MAAKC,eAAA,uBAAAC,OACkB3D,KAAKsC,SAAW,IASzC,OALItC,KAAK8C,gBACPS,EAAOvD,KAAK4D,mBAAmB5D,KAAK6D,cAAeN,GACnDA,EAAKE,MAAM,+BAAgC,GAGtCzD,KAAK8D,eAAe,MAAOP,IAEpCQ,oBAAmB,eAAAC,EAAA,KACjB,IAAKhE,KAAKgD,YAAa,OAAO,KAE9B,IAAMiB,EAAQjE,KAAKkE,UAEnB,OAAOlE,KAAK8D,eAAeK,OAAM,CAC/BX,YAAa,uBACbvD,MAAO,CACLgE,QACAf,MAAM,EACNkB,OAAO,GAETC,MAAO,CACL,aAAcrE,KAAKsE,SAASC,KAAKC,EAAExE,KAAK4C,aAE1C6B,GAAI,CACFC,MAAO,WAAF,OAASV,EAAKjC,UAAW,KAE/B,CACD/B,KAAK8D,eAAea,OAAO,CACzB1E,MAAO,CAAEgE,UACRjE,KAAKiD,cAGZ2B,aAAY,WACV,OAAK5E,KAAK6E,aAEH7E,KAAK8D,eAAea,OAAO,CAChCnB,YAAa,gBACbvD,MAAO,CAAEgE,MAAOjE,KAAKkE,YACpBlE,KAAK6E,cALuB,MAOjChE,QAAO,WACL,IAAMA,EAAOC,8BAAA,GACRqB,OAAOpB,QAAQH,SAASC,QAAQG,KAAKhB,OADD,IAEvC,kBAAmBG,QAAQH,KAAKsC,QAChC,iBAAkBtC,KAAK+C,MACvB,oBAAqB/C,KAAKmD,SAC1B,qBAAsBnD,KAAKoD,UAC3B,gBAAiBpD,KAAKqD,OAOxB,OAJIrD,KAAKsC,SACPzB,EAAQ,mBAAD8C,OAAoB3D,KAAKsC,UAAY,GAGvCzB,GAETgD,cAAa,WACX,OAAO7D,KAAKiE,OAASjE,KAAKuC,MAE5BsC,aAAY,WACV,OAAkB,IAAd7E,KAAKkD,OACgB,kBAAdlD,KAAKkD,MAAqBlD,KAAKkD,KAAalD,KAAKkD,OACvD,CAAC,QAAS,OAAQ,UAAW,WAAWP,SAAS3C,KAAKuC,OAEpD,IAAPoB,OAAW3D,KAAKuC,QAElBuC,eAAc,WACZ,OACE9E,KAAK+E,SACJ5E,QAAQH,KAAKsC,SAAWtC,KAAK8C,eAGlCiC,QAAO,WACL,OAAO/E,KAAKqD,MAAQrD,KAAKmD,UAE3Be,UAAS,WACP,OAAOlE,KAAK8E,eAAiB9E,KAAK6D,mBAAgBmB,GAEpDC,OAAM,WACJ,SACEjF,KAAKuC,MACJvC,KAAK8C,eACL9C,KAAKmD,WAGD+B,OAAUnE,QAAQH,SAASqE,OAAOjE,KAAKhB,QAIlDiB,QAAO,WAEDjB,KAAKkB,OAAOC,eAAe,YAC7BC,eAAS,UAAW,WAAYpB,OAIpCyB,QAAS,CACP0D,WAAU,WACR,IAAMC,EAAW,CACfC,eAAQrF,KAAM,YAAcA,KAAK4E,aACjC5E,KAAKsF,aACLtF,KAAKsD,eACL+B,eAAQrF,KAAM,UACdA,KAAKuF,aAAaC,MACdxF,KAAKuF,aAAaC,MAAM,CAAEC,OAAQzF,KAAKyF,SACvCzF,KAAK+D,qBAGLR,EAAkB,CACtBC,YAAa,oBAGf,OAAOxD,KAAK8D,eAAe,MAAOP,EAAM6B,IAE1CE,WAAU,WACR,OAAOtF,KAAK8D,eAAe,MAAO,CAChCN,YAAa,oBACZ6B,eAAQrF,QAEb0F,SAAQ,WACN,IAAInC,EAAkB,CACpBC,YAAa,UACba,MAAO,CACLsB,KAAM,SAERlB,GAAIzE,KAAK4F,WACTnC,MAAOzD,KAAKa,QACZgF,MAAO7F,KAAK8F,OACZC,WAAY,CAAC,CACXlG,KAAM,OACN0B,MAAOvB,KAAK+B,YAIhB,IAAK/B,KAAK8C,cAAe,CACvB,IAAMkD,EAAWhG,KAAK+E,QAAU/E,KAAKiG,aAAejG,KAAK4D,mBACzDL,EAAOyC,EAAShG,KAAK6D,cAAeN,GAGtC,OAAOvD,KAAK8D,eAAe,MAAOP,EAAM,CAACvD,KAAKmF,gBAGhDM,OAAM,WACJzF,KAAK+B,UAAY/B,KAAK+B,WAI1BmE,OAAM,SAAEC,GACN,IAAMD,EAASlG,KAAK0F,WAEpB,OAAK1F,KAAKoG,WAEHD,EAAE,aAAc,CACrBlG,MAAO,CACLJ,KAAMG,KAAKoG,WACXC,OAAQrG,KAAKqG,OACbC,KAAMtG,KAAKsG,OAEZ,CAACJ,IARyBA,M,6DClPjC,W,wFCAmG,EAAK,W,IAAO1C,OAAqC,EAAK,QAAM,G,OAACA,QAAY,CAAY,YAAY+C,WAAU/C,SAAW,CAAa,YAAY,0BAAEa,GAAK,MAAC,C,YAAS,a,CAAK,QAAS,CAACmC,QAASC,C,YAAcD,aAAY,WAAG,MAAKE,CAAqFlD,MAAW,KAAemD,IAAO,EAAG,SAAQA,IAAyCnD,MAAY,gBAAwBA,SAAY,uEAAO,YAAa,aAAEa,GAAK,GAAC,+C,YAAQ,a,CAAK,QAAQ,CAAS,oBAAG,CAACsC,EAAG,OAAI,CAA+FnD,OAAqBmD,KAAO,KAAgFnD,MAAW,YAAyBA,uCAAY,uDAAO,YAAa,QAAEa,GAAK,GAAC,uE,YAAQ,a,CAAK,QAAQ,CAAS,oBAAG,CAACsC,EAAG,OAAI,CAA2EnD,OAAqBmD,KAAO,KAA6FnD,MAAW,YAAyBA,oBAAY,sDAAO,YAAY,QAAgEA,UAAY,0EAAO,YAAY,aAAkIA,SAAW,CAAa,YAAW,QAACA,UAAY,0DAAO,YAAY,QAAmDA,UAAY,kHAAO,YAAY,aAA2MA,SAAW,CAAa,YAAW,QAACA,UAAY,6CAAO,YAAY,QAAuDA,UAAY,2KAAO,YAAY,aAA0MA,SAAW,CAAa,YAAW,QAACA,UAAY,iDAAO,YAAY,QAA6DA,UAAY,6KAAO,YAAY,aAAkIA,SAAW,CAAa,YAAW,QAACA,UAAY,uDAAO,YAAS,QAAmBA,UAAY,4GAAO,YAAY,aAAuDA,SAAW,CAAwB,YAAOoD,QAAiCpD,eAAY,SAAyBa,YAAM,Q,CAAC,SAAU,eAAiB,gC,YAAM,wB,GACjqFwC,oBAAUC,EAAiB,Q,YACpB,yB,MACLC,C,UACAC,kB,GACF,CACF,yBAAC,OAAQN,WAAUC,EAAM,cAAgDnD,YAAY,0BAAkG,6DAACiB,YAAG,yB,MAAC,CAAsB,+BAAKkC,SAAW,EAAI,qB,GAA+B,CAAY,qBAAqB,GAAI,QAAM,UAACnD,OAA8BmD,KAAO,KAAgEnD,cAAkB,MAAQ,QAAO,CAAI,6BAAG,CAACmD,EAAID,GAAG,MAAU,GAAG,EAAG,GAAE,4BAAS,eACte,mBACGO,OAEJ,KAASf,O,0HC2GM,GACfrG,KAAA,cAEAI,MAAA,CACAiH,QAAA,CAAA3E,KAAA4E,OAAAC,UAAA,IAGA7D,KAAA,WACA,OACA8D,SAAA,EACAP,kBAAAQ,OAAAT,OAIAjG,SAAAE,4DAAA,GACAyG,eAAA,0BACAA,eAAA,4BACAA,eAAA,6CACAX,oBAAA,eAAAY,EACA,eAAAA,EAAA,KAAAN,eAAA,IAAAM,OAAA,EAAAA,EAAAC,OAEAjB,SAAA,WACA,IAAAkB,EAAA,KAAAC,YAAA9H,KAAA+H,cACA,OACAnB,IAAAiB,EACAG,IAAAC,UAAA,QAAAnE,OAAA+D,EAAA,WAGAK,kBAAA,WACA,YAAAb,QAAAc,cACA,KAAAd,QAAAc,cAAAC,WAAA,KAAAC,GAAA,sBACA,MAEAC,gBAAA,WACA,YAAAjB,QAAAkB,cACA,KAAAlB,QAAAkB,cAAAH,WAAA,KAAAC,GAAA,sBACA,MAEAG,WAAA,WACA,OACAC,SAAA,KAAApB,QAAAqB,YACAD,SAAAE,MAGAC,SAAA,WACA,OACAH,SAAA,KAAApB,QAAAqB,YACAD,SAAAE,QAKA/G,QAAAX,8BAAA,GACA4H,eAAA,qCACAC,WAAA,eAAA3E,EAAA,YAAA4E,eAAAC,iBAAAC,MAAA,SAAAC,IAAA,IAAAC,EAAAzF,EAAA0F,EAAA,OAAAJ,iBAAAK,MAAA,SAAAC,GAAA,eAAAA,EAAAC,KAAAD,EAAAE,MAAA,OAEA,OAFAF,EAAAC,KAAA,EAEApF,EAAAqD,SAAA,EAAA8B,EAAAE,KAAA,EACArF,EAAAsF,cAAA,CACAC,OAAAvF,EAAAkD,QAAAsC,WACAC,OAAAzF,EAAA0F,gBACA,OAAAV,EAAAG,EAAAQ,KAHApG,EAAAyF,EAAAzF,KAIA0F,EAAA1F,EAAAyD,YAEAhD,EAAA4F,MAAAC,MACA,SACA,UACA7F,EAAAkE,GAAA,4BAGAlE,EAAA8F,QAAAC,KAAA,CACAlD,KAAA7C,EAAA8C,kBACAkD,MAAA,CACAjD,WAAA/C,EAAA0F,cACA1C,YAAAiC,KAEAE,EAAAE,KAAA,iBAAAF,EAAAC,KAAA,GAAAD,EAAAc,GAAAd,EAAA,YAEAe,QAAAC,MAAAhB,EAAAc,IAAA,QAEA,OAFAd,EAAAC,KAAA,GAEApF,EAAAqD,SAAA,EAAA8B,EAAAiB,OAAA,6BAAAjB,EAAAkB,UAAAtB,EAAA,wBAzBAH,OC3KmW,I,wBCQ/V0B,EAAY,eACd,EACA,EACArD,GACA,EACA,KACA,WACA,MAIa,OAAAqD,E,sFCnB6B/D,EAAOgE,WAAS,MAAU,KAA8D/G,UAAY,G,OAA0B,EAAC,sD,YAAW,qB,MAAC,CAAU,MAAQ,GAAM,QAAImD,MAAO,SAA+TtC,GAAK,GAAC,8O,YAAW,mC,MAAC,CAAS,SAAIsC,KAAO,KAE3jBM,UAAe,EAAG,GAAE,0G,KC6BT,GACfhH,MAAA,CACAuK,QAAA,CACAjI,KAAA4E,OACAC,UAAA,IAGAxG,SAAA,CACA6J,sBAAA,WACA,IAAAC,EAAA,KAAAF,QAAAG,2BACA,UAAAD,EAAA,GAAA/G,OAAA+G,GACAA,EAAA,EACA,KAAAxC,GAAA,QAAAwC,EAAA,EAAAA,IACA,MC5C0W,I,wBCQtWJ,EAAY,eACd,EACA,EACArD,GACA,EACA,KACA,WACA,MAIa,OAAAqD,E,sECnBf,W,oFCAA,W,mLCoEO,I,qBCnEA,SAASM,EAAcC,EAASC,GACrC,MAAO,CACL5E,OAAQ,SAAgB6E,GACtB,OAAOA,EAAc,MAAO,CAC1BlF,MAAO7F,KAAK8F,OACZrC,MAAOzD,KAAKgL,YACX,CAACD,EAAc,SAAU,CAC1B1G,MAAO,CACL4G,GAAIjL,KAAK6K,QACTK,MAAOlL,KAAKkL,MACZC,OAAQnL,KAAKmL,QAEfC,IAAK,cAGTnL,MAAO,CACL4K,QAAS,CACPhI,QAASgI,EACTtI,KAAMC,QAER0I,MAAO,CACLrI,QAAS,IACTN,KAAM8I,QAERF,OAAQ,CACNtI,QAAS,IACTN,KAAM8I,QAERL,WAAY,CACVzI,KAAMC,OACNK,QAAS,IAEXiD,OAAQ,CACNvD,KAAM4E,QAERmE,QAAS,CACP/I,KAAMlB,MACNwB,QAAS,WACP,MAAO,MAIbU,KAAM,WACJ,MAAO,CACLgI,OAAQ,KACRC,SAAUxL,KAAKsL,UAGnB7J,QAAS,CACPgK,UAAW,SAAmBC,GAC5B1L,KAAK2L,MAAMH,SAASzB,KAAK2B,IAE3BE,eAAgB,WACd,GAAI5L,KAAK2L,MAAMJ,OACb,OAAOvL,KAAK2L,MAAMJ,OAAOK,kBAG7BC,YAAa,SAAqBtI,EAAMxC,GAEtC,GADIf,KAAK2L,MAAMJ,QAAQvL,KAAK2L,MAAMJ,OAAOO,WACpC9L,KAAK+L,MAAMC,OAAQ,MAAM,IAAIC,MAAM,yIACxCjM,KAAK2L,MAAMJ,OAAS,IAAI,IAAMvL,KAAK+L,MAAMC,OAAOE,WAAW,MAAO,CAChE3J,KAAMuI,EACNvH,KAAMA,EACNxC,QAASA,EACTuK,QAAStL,KAAK2L,MAAMH,aAI1BW,cAAe,WACTnM,KAAK2L,MAAMJ,QACbvL,KAAK2L,MAAMJ,OAAOO,YAKTlB,EAAc,YAAa,OAArC,IACIwB,EAAgBxB,EAAc,sBAAuB,iBAErDyB,GADWzB,EAAc,iBAAkB,YACpCA,EAAc,aAAc,SAC7BA,EAAc,YAAa,OACrBA,EAAc,cAAe,aACjCA,EAAc,cAAe,SAC5BA,EAAc,eAAgB,UAC7BA,EAAc,gBAAiB,Y,oFCpFpD,gBAGe0B,e,oCCHf,W,oCCAA,IAAIpG,EAAS,WAAkB,IAAIS,EAAI3G,KAAKuG,EAAGI,EAAI4D,MAAMhE,GAAG,OAAOA,EAAG,MAAM,CAACA,EAAG,YAAY,CAAClC,MAAM,CAAC,KAAO,QAAQ,QAAU,aAAaI,GAAG,CAAC,MAAQkC,EAAI4F,oBAAoB,CAAC5F,EAAID,GAAG,IAAIC,EAAI6F,GAAG7F,EAAIuB,GAAG,aAAa,OAAQvB,EAAI8F,sBAAuBlG,EAAG,WAAW,CAAClC,MAAM,CAAC,MAAQ,QAAQ,MAAQsC,EAAIuB,GAAG,aAAazD,GAAG,CAAC,MAAQkC,EAAI+F,oBAAoBC,YAAYhG,EAAIiG,GAAG,CAAC,CAACC,IAAI,eAAeC,GAAG,WAAW,MAAO,CAACvG,EAAG,SAAS,CAAClC,MAAM,CAAC,MAAQ,2FAA2F,gBAAkB,GAAG,YAAc,IAAI,OAAS,QAAQ,MAAQ,OAAO,IAAMsC,EAAIoG,cAAcC,OAAM,IAAO,MAAK,EAAM,cAAcrG,EAAIsG,MAAM,IAE9pBhG,EAAkB,G,wBC2BP,GACfpH,KAAA,qBAEAqN,WAAA,CACAC,gBACAC,gBAGAnN,MAAA,CACA8M,SAAA,CAAA3F,UAAA,EAAA7E,KAAAC,SAGAe,KAAA,WACA,OACAkJ,uBAAA,IAIAhL,QAAA,CACAiL,mBAAA,WACA,KAAAD,uBAAA,GAEAF,kBAAA,WACA,KAAAE,uBAAA,KCpD2V,I,YCOvVnC,EAAY,eACd,EACApE,EACAe,GACA,EACA,KACA,KACA,MAIa,OAAAqD,E,6CCjBf,IAAI+C,EAAI,EAAQ,QACZC,EAAO,EAAQ,QAInBD,EAAE,CAAEE,OAAQ,OAAQC,MAAM,GAAQ,CAChCF,KAAMA,K,qRCOOpL,iBACbuL,QAEA7N,OAAO,CACPC,KAAM,sBAENI,MAAO,CACLyN,KAAM,CACJnL,KAAMC,OACNK,QAAS,IAEXzC,SAAUD,QACVO,SAAUP,QACVwN,cAAexN,QACfoB,MAAO,CACLgB,KAAMC,QAERoL,KAAM,CACJrL,KAAM,CAAC8I,OAAQ7I,QACfK,QAAS,IAEXgL,SAAU,CACRtL,KAAMC,SAIVe,KAAM,WAAF,MAAS,CACXuK,aAAa,IAGflN,SAAU,CACRmN,mBAAkB,WAChB,OAAO/N,KAAK8N,YAAc,4BAA8B,sBAI5DE,MAAO,CACLzM,MAAK,SAAEmB,EAAa0G,GAClBpJ,KAAK8N,YAAcpL,EAAM0G,IAI7B3H,QAAS,CACPwM,YAAW,WACT,OAAOjO,KAAK8D,eAAea,OAAO,CAChC1E,MAAO,CACLiO,MAAM,IAEPlO,KAAK6N,WAEVM,WAAU,WACR,OAAOnO,KAAKoO,gBAAgB,iBAAiB,EAAM,CACjD5L,OAAOxC,KAAK4N,MACZ5N,KAAK6N,SAAW7N,KAAKiO,cAAgB,OACpC,EAAO,8BAEZI,aAAY,WACV,OAAOrO,KAAK8D,eAAe,aAAc,CACvC7D,MAAO,CACLJ,KAAMG,KAAK+N,qBAEZ,CACD/N,KAAK8D,eAAe,MAAO,CACzBwK,SAAU,CAAEC,UAAWvO,KAAK0N,MAAQ,UACpCb,IAAK7M,KAAKuB,WAIhBiN,aAAY,WACV,OAAOxO,KAAKoO,gBAAgB,iBAAiB,EAAO,CAACpO,KAAKqO,iBAAiB,EAAO,+BAItFnI,OAAM,SAAEC,GACN,OAAOA,EAAE,MAAO,CACd3C,YAAa,sBACbC,MAAO,CACL,gCAAiCzD,KAAKI,WAEvC,CACDJ,KAAKmO,aACLnO,KAAKwO,oB,gDC7FIC,SAAI7O,OAAO,CACxBC,KAAM,YAENI,MAAO,CACLyO,OAAQlM,QAGV5B,SAAU,CACR+N,cAAa,WACX,OAAO3O,KAAK0O,QAAU1O,KAAKsE,SAASC,KAAKqK,Y,8CCQ/C,SAASC,EACPH,EACA3N,GACsD,IAAtD+N,EAAAC,UAAAvN,OAAA,QAAAwD,IAAA+J,UAAA,GAAAA,UAAA,GAA+B,CAAEC,MAAO,EAAGxN,OAAQ,GAE7CyN,EAAiB,SAAAC,GACrB,IAAAC,EAA4BD,EAAWE,OAAOC,MAAM,KAAK,GAAGA,MAAM,KAAlEC,EAAAC,eAAAJ,EAAA,GAAOvB,EAAD0B,EAAC,GAAME,EAAPF,EAAC,GAAa5B,EAAd4B,EAAC,GACP,MAAO,CAACG,eAAI7B,EAAM,GAAI6B,eAAID,GAAS,GAAIC,eAAI/B,GAAQ,IAAIgC,KAAK,MAG9D,IACE,IAAMC,EAAgB,IAAIC,KAAKC,eAAenB,QAAU1J,EAAWjE,GACnE,OAAQ,SAAAmO,GAAD,OAAwBS,EAAcG,OAAO,IAAIC,KAAJ,GAAApM,OAAYsL,EAAcC,GAAW,sBACzF,MAAOc,GACP,OAAQlB,EAAcE,OAASF,EAActN,OACxC,SAAA0N,GAAD,OAAwBD,EAAcC,GAAYe,OAAOnB,EAAcE,OAAS,EAAGF,EAActN,cACjGwD,GAIO6J,QCjCA,WAACtN,EAAe+L,GAC7B,IAAA4C,EAAsB3O,EAAM8N,MAAM,KAAKc,IAAI9E,QAA3C+E,EAAAb,eAAAW,EAAA,GAAOtC,EAADwC,EAAC,GAAMZ,EAAPY,EAAC,GAEP,OAAIZ,EAAQlC,IAAS,EACZ,GAAP3J,OAAUiK,EAAO,EAAC,OACT4B,EAAQlC,IAAS,GACnB,GAAP3J,OAAUiK,EAAO,EAAC,OAEX,GAAPjK,OAAUiK,EAAI,KAAAjK,OAAI8L,eAAID,EAAQlC,K,YCMnBpL,iBACbmO,OACAC,EACApL,QAEAtF,OAAO,CACPC,KAAM,uBAENI,MAAO,CACLG,SAAUD,QACV2P,OAAQS,SACRC,IAAKhO,OACLiO,IAAKjO,OACLkO,cAAelO,OACfmO,SAAU,CACRpO,KAAMC,OACNK,QAAS,SAEX+N,cAAepO,OACfqO,SAAU,CACRtO,KAAMC,OACNK,QAAS,SAEXnC,SAAUP,QACVoB,MAAO,CACLgB,KAAM,CAAC8I,OAAQ7I,QACf4E,UAAU,IAId7D,KAAI,WACF,MAAO,CACLuK,aAAa,IAIjBlN,SAAU,CACRkQ,UAAS,WACP,OAAI9Q,KAAK8P,OACA9P,KAAK8P,OACHtN,OAAOxC,KAAKuB,OAAO8N,MAAM,KAAK,GAChCR,EAA4B7O,KAAK2O,cAAe,CAAEa,MAAO,OAAQ5B,KAAM,UAAWmD,SAAU,OAAS,CAAEvP,OAAQ,IAE/GqN,EAA4B7O,KAAK2O,cAAe,CAAEf,KAAM,UAAWmD,SAAU,OAAS,CAAEvP,OAAQ,MAK7GwM,MAAO,CACLzM,MAAK,SAAEyP,EAAQC,GACbjR,KAAK8N,YAAckD,EAASC,IAIhCxP,QAAS,CACPyP,OAAM,SAAEC,GAAc,IAAAnN,EAAA,KACdoN,EAAcD,EAAS,EAAInR,KAAK0Q,cAAgB1Q,KAAK4Q,cACrDS,EAAYD,EAAcpR,KAAKsE,SAASC,KAAKC,EAAE4M,QAAepM,EAC9D5E,EAAWJ,KAAKI,UACnB+Q,EAAS,GAAKnR,KAAKwQ,KAAOxQ,KAAKsR,gBAAgBH,GAAUnR,KAAKwQ,KAC9DW,EAAS,GAAKnR,KAAKyQ,KAAOzQ,KAAKsR,gBAAgBH,GAAUnR,KAAKyQ,IAEjE,OAAOzQ,KAAK8D,eAAeK,OAAM,CAC/BE,MAAO,CAAE,aAAcgN,GACvBpR,MAAO,CACLiO,KAAMlO,KAAKkO,KACX9N,WACA8C,MAAM,EACNqO,MAAOvR,KAAKuR,OAEd9M,GAAI,CACFC,MAAQ,SAAAsL,GACNA,EAAEwB,kBACFxN,EAAK6F,MAAM,QAAS7F,EAAKsN,gBAAgBH,OAG5C,CACDnR,KAAK8D,eAAea,OAASwM,EAAS,KAAQnR,KAAKsE,SAASmN,IAAOzR,KAAK6Q,SAAW7Q,KAAK2Q,aAG5FW,gBAAe,SAAEhE,GACf,IAAAoE,EAAsBlP,OAAOxC,KAAKuB,OAAO8N,MAAM,KAAKc,IAAI9E,QAAxDsG,EAAApC,eAAAmC,EAAA,GAAO9D,EAAD+D,EAAC,GAAMnC,EAAPmC,EAAC,GAEP,OAAa,MAATnC,EACK,GAAP7L,OAAUiK,EAAON,GAEVsE,EAAYpP,OAAOxC,KAAKuB,OAAQ+L,IAG3CuE,UAAS,eAAAC,EAAA,KACD7N,GAASjE,KAAKI,WAAaJ,KAAKiE,OAAS,UACzC8N,EAAS/R,KAAK8D,eAAe,MAAO9D,KAAKiG,aAAahC,EAAO,CACjE4I,IAAKrK,OAAOxC,KAAKuB,SACf,CAACvB,KAAK8D,eAAe,SAAU,CACjCO,MAAO,CACL9B,KAAM,UAERkC,GAAI,CACFC,MAAO,WAAF,OAAQoN,EAAKjI,MAAM,aAEzBxE,eAAQrF,OAAS,CAACA,KAAK8Q,UAAUtO,OAAOxC,KAAKuB,YAE1C6E,EAAapG,KAAK8D,eAAe,aAAc,CACnD7D,MAAO,CACLJ,KAAOG,KAAK8N,eAAiB9N,KAAKsE,SAASmN,IAAO,yBAA2B,mBAE9E,CAACM,IAEJ,OAAO/R,KAAK8D,eAAe,MAAO,CAChCN,YAAa,8BACbC,MAAO,CACL,wCAAyCzD,KAAKI,WAE/C,CAACgG,MAIRF,OAAM,WACJ,OAAOlG,KAAK8D,eAAe,MAAO,CAChCN,YAAa,uBACbC,MAAK3C,eAAA,CACH,iCAAkCd,KAAKI,UACpCJ,KAAKgS,eAET,CACDhS,KAAKkR,QAAQ,GACblR,KAAK6R,YACL7R,KAAKkR,OAAO,Q,iICjJZ,SAAUe,EAA+BC,EAAeC,EAAwB5Q,GACpF,OAAO4F,OAAOiL,KAAKF,EAASG,YAAYC,QAAO,SAAC7N,EAAI8N,GAKlD,OAJIA,EAAUC,SAASL,KACrB1N,EAAG8N,EAAUE,MAAM,GAAIN,EAAe3Q,SAAY,SAAAkR,GAAD,OAAkBR,EAASrI,MAAM0I,EAAWhR,EAAOmR,KAG/FjO,IACN,IAGC,SAAUkO,EAAyBT,EAAeC,GACtD,OAAOhL,OAAOiL,KAAKF,EAASG,YAAYC,QAAO,SAAC7N,EAAI8N,GAKlD,OAJIA,EAAUC,SAASL,KACrB1N,EAAG8N,GAAaL,EAASG,WAAWE,IAG/B9N,IACN,ICfU,eAACyK,EAAoB3M,GAClC,IAAAqQ,EAAoC1D,EAAWG,MAAM,KAArDwD,EAAAtD,eAAAqD,EAAA,GAAOhF,EAADiF,EAAC,GAADC,EAAAD,EAAC,GAAMrD,OAAK,IAAAsD,EAAG,EAAfA,EAAAC,EAAAF,EAAC,GAAiBnF,OAAI,IAAAqF,EAAG,EAAzBA,EACN,MAAO,GAAApP,OAAGiK,EAAI,KAAAjK,OAAI8L,eAAID,GAAM,KAAA7L,OAAI8L,eAAI/B,IAAQuC,OAAO,EAAG,CAAEvC,KAAM,GAAI8B,MAAO,EAAG5B,KAAM,GAAIrL,KCJ1E,SAAUyQ,EAAetF,EAAc8C,EAAaC,EAAawC,GAC7E,QAASA,GAAaA,EAAUvF,OAC5B8C,GAAO9C,GAAQ8C,EAAIP,OAAO,EAAG,QAC7BQ,GAAO/C,GAAQ+C,G,gBC6BNvO,iBACbmO,OACAC,EACApL,QAEAtF,OAAO,CACPmG,WAAY,CAAEmN,cAEdjT,MAAO,CACLkT,aAAc5C,SACd3B,QAASpM,OACTpC,SAAUD,QACV2P,OAAQS,SACR6C,OAAQ,CACN7Q,KAAM,CAAClB,MAAOkP,SAAUpJ,QACxBtE,QAAS,WAAF,OAAQ,OAEjBwQ,WAAY,CACV9Q,KAAM,CAAClB,MAAOkP,SAAUpJ,OAAQ3E,QAChCK,QAAS,WAAF,MAAQ,YAEjB2N,IAAKhO,OACLiO,IAAKjO,OACL8Q,MAAOnT,QACPO,SAAUP,QACVoT,WAAYpT,QACZqT,UAAW,CACTjR,KAAMC,OACN4E,UAAU,GAEZ7F,MAAO,CAACiB,OAAQnB,QAGlBkC,KAAM,WAAF,MAAS,CACXuK,aAAa,EACb2F,cAAe,OAGjB7S,SAAU,CACRmN,mBAAkB,WAChB,OAAQ/N,KAAK8N,eAAiB9N,KAAKsE,SAASmN,IAAO,yBAA2B,kBAEhFiC,eAAc,WACZ,OAAOrI,OAAOrL,KAAKwT,UAAUnE,MAAM,KAAK,IAAM,GAEhDsE,cAAa,WACX,OAAOtI,OAAOrL,KAAKwT,UAAUnE,MAAM,KAAK,MAI5CrB,MAAO,CACLwF,UAAS,SAAExC,EAAgBC,GACzBjR,KAAK8N,YAAckD,EAASC,IAIhC2C,QAAO,WACL5T,KAAKyT,cAAgBI,eAAS7T,KAAK8T,MAAO,MAG5CrS,QAAS,CACPsS,iBAAgB,SACdC,EACAC,EACAC,EACAC,EACAC,EACAC,GAEA,OAAAvT,eAAA,CACE,mBAAoBmT,EACpB,+BAAgCE,EAChC,gBAAiBD,EACjB,eAAgBF,GAAahU,KAAKI,SAClC,cAAe8T,IAAeC,EAC9B,iBAAkBF,EAClB,mBAAoBD,GAAahU,KAAKI,SACtC,kBAAmB+T,IAAcD,EACjC,gCAAiCE,EACjC,+BAAgCC,GAC7BrU,KAAKgS,eAGZsC,gBAAe,SAAE/S,EAAeyS,EAAoBO,GAAsB,IAAAvQ,EAAA,KACxE,IAAIhE,KAAKI,SAET,OAAOoU,eAAe,CACpB9P,MAAO,WACDsP,IAAchQ,EAAKtD,UAAUsD,EAAK6F,MAAM,QAAStI,KAEtD0Q,EAA8BjS,KAAD,IAAA2D,OAAW4Q,GAAkBhT,KAE/DkT,UAAS,SAAElT,EAAe0S,EAAqBM,EAAwBzD,GAAoD,IAApB4D,EAAY3F,UAAAvN,OAAA,QAAAwD,IAAA+J,UAAA,IAAAA,UAAA,GAC3GiF,EAAYhB,EAAczR,EAAOvB,KAAKwQ,IAAKxQ,KAAKyQ,IAAKzQ,KAAKmT,cAC1De,EAAalU,KAAKkU,WAAW3S,IAAUyS,EACvCG,EAAY5S,IAAUvB,KAAK4O,QAC3B5I,EAAWkO,EAAalU,KAAK4D,mBAAqB5D,KAAKiG,aACvDhC,GAASiQ,GAAcC,KAAenU,KAAKiE,OAAS,UACtDmQ,GAAU,EACVC,GAAS,EAMb,OALIrU,KAAKsT,OAAWtT,KAAKuB,OAASF,MAAMC,QAAQtB,KAAKuB,SACnD6S,EAAU7S,IAAUvB,KAAKuB,MAAM,GAC/B8S,EAAS9S,IAAUvB,KAAKuB,MAAMvB,KAAKuB,MAAMC,OAAS,IAG7CxB,KAAK8D,eAAe,SAAUkC,EAAS/B,EAAO,CACnDT,YAAa,QACbC,MAAOzD,KAAK+T,iBACVC,IAAcU,EACdT,EACAC,EACAC,EACAC,EACAC,GAEFhQ,MAAO,CACL9B,KAAM,UAER+L,SAAU,CACRlO,SAAUJ,KAAKI,WAAa4T,GAAaU,GAE3CjQ,GAAIzE,KAAKsU,gBAAgB/S,EAAOyS,EAAWO,KACzC,CACFvU,KAAK8D,eAAe,MAAO,CACzBN,YAAa,kBACZ,CAACsN,EAAUvP,KACdvB,KAAK2U,UAAUpT,MAGnBqT,eAAc,SAAElH,GACd,IACImH,EADEC,EAAY,SAAAC,GAAD,OAA0B1T,MAAMC,QAAQyT,GAAKA,EAAI,CAACA,IAE/DC,EAAwB,GAY5B,OATEH,EADExT,MAAMC,QAAQtB,KAAKoT,QACTpT,KAAKoT,OAAOzQ,SAAS+K,GACxB1N,KAAKoT,kBAAkB7C,SACpBvQ,KAAKoT,OAAO1F,KAAS,EACxB1N,KAAKoT,QACFpT,KAAKoT,OAAO1F,KAEZ,EAGTmH,GAGHG,GADuB,IAAdH,EACKC,EAASD,GACa,kBAApB7U,KAAKqT,WACP,CAACrT,KAAKqT,YACgB,oBAApBrT,KAAKqT,WACPyB,EAAS9U,KAAKqT,WAAW3F,IAC9BrM,MAAMC,QAAQtB,KAAKqT,YACdrT,KAAKqT,WAELyB,EAAS9U,KAAKqT,WAAW3F,IAGlCsH,EAAYC,QAAO,SAAAF,GAAC,OAAIA,MAbtB,IAeXJ,UAAS,SAAEjH,GAAY,IAAAoE,EAAA,KACfkD,EAAchV,KAAK4U,eAAelH,GAExC,OAAOsH,EAAYxT,OAASxB,KAAK8D,eAAe,MAAO,CACrDN,YAAa,+BACZwR,EAAY7E,KAAI,SAAAlM,GAAK,OAAI6N,EAAKhO,eAAe,MAAOgO,EAAKlO,mBAAmBK,QAAY,MAE7FiR,cAAa,SAAE3T,EAAe4T,GAC5B,IAAM3B,EAAY2B,EAAmB5T,GAE/B6T,EAA+C,IAAhC5B,EAAUnE,MAAM,KAAK7N,OAAe,OAAS,QAClE,OAAQD,EAAQ,KAAMvB,KAAKwQ,KAAMgD,GAAa6B,EAAmBrV,KAAKwQ,IAAK4E,KACxE7T,EAAQ,KAAMvB,KAAKyQ,KAAM+C,GAAa6B,EAAmBrV,KAAKyQ,IAAK2E,KAExEtB,MAAK,SAAE9D,EAAemF,GACpBnV,KAAK6J,MAAM,oBAAqBsL,EAAmBnF,EAAEsF,UAEvDC,MAAK,SAAEhU,EAAe4T,GACpBnV,KAAK6J,MAAM,oBAAqBsL,EAAmB5T,KAErDiU,SAAQ,SAAEhS,EAAqB4B,EAAyB+P,GAA8C,IAAAM,EAAA,KAC9FrP,EAAapG,KAAK8D,eAAe,aAAc,CACnD7D,MAAO,CAAEJ,KAAMG,KAAK+N,qBACnB,CAAC/N,KAAK8D,eAAe,QAAS,CAAE+I,IAAK7M,KAAKwT,WAAapO,KAEpDsQ,EAAiB,CACrB7V,KAAM,QACN0B,MAAO,CACLoU,KAAO,SAAA3F,GAAD,OAAsBA,EAAE4F,SAAW,IACtCH,EAAKP,cAAc,EAAGC,IAAuBM,EAAKF,MAAM,EAAGJ,IAC9DU,MAAQ,SAAA7F,GAAD,OAAsBA,EAAE4F,QAAU,IACtCH,EAAKP,eAAe,EAAGC,IAAuBM,EAAKF,OAAO,EAAGJ,MAIpE,OAAOnV,KAAK8D,eAAe,MAAO,CAChCN,cACAC,MAAK3C,eAAA,CACH,gCAAiCd,KAAKI,UACnCJ,KAAKgS,cAEVvN,IAAMzE,KAAKI,UAAYJ,KAAKuT,WAAc,CACxCO,MAAQ,SAAA9D,GACNA,EAAE8F,iBACEL,EAAKP,cAAclF,EAAEsF,OAAQH,IAAuBM,EAAKhC,cAAczD,EAAGmF,UAE9EnQ,EACJe,WAAY,CAAC2P,IACZ,CAACtP,KAEN8N,WAAU,SAAE3S,GACV,GAAIF,MAAMC,QAAQtB,KAAKuB,OAAQ,CAC7B,GAAIvB,KAAKsT,OAA+B,IAAtBtT,KAAKuB,MAAMC,OAAc,CACzC,IAAAuU,EAAmBC,eAAIhW,KAAKuB,OAAO0U,OAAnCC,EAAA3G,eAAAwG,EAAA,GAAOI,EAADD,EAAC,GAAME,EAAPF,EAAC,GACP,OAAOC,GAAQ5U,GAASA,GAAS6U,EAEjC,OAAsC,IAA/BpW,KAAKuB,MAAM8U,QAAQ9U,GAI9B,OAAOA,IAAUvB,KAAKuB,UC9P5B,SAAS+U,EAAe1I,GAAgC,IAClDF,EADgC8B,EAAKT,UAAAvN,OAAA,QAAAwD,IAAA+J,UAAA,GAAAA,UAAA,GAAG,EAAGwH,EAAGxH,UAAAvN,OAAA,QAAAwD,IAAA+J,UAAA,GAAAA,UAAA,GAAG,EAWrD,OATInB,EAAO,KAAOA,GAAQ,GACxBF,EAAO,IAAIqC,KAAKA,KAAKyG,IAAI5I,EAAM4B,EAAO+G,IAClCE,SAAS/I,EAAKgJ,mBAChBhJ,EAAKiJ,eAAe/I,IAGtBF,EAAO,IAAIqC,KAAKA,KAAKyG,IAAI5I,EAAM4B,EAAO+G,IAGjC7I,EAGT,SAASkJ,EAAiBhJ,EAAciJ,EAAwBC,GAC9D,IAAMC,EAA0B,EAAIF,EAAiBC,EAC/CE,GAAsB,EAAIV,EAAc1I,EAAM,EAAGmJ,GAAyBE,YAAcJ,GAAkB,EAEhH,OAAQG,EAAqBD,EAA0B,EAGzD,SAASG,EAAWtJ,EAAc4B,EAAe+G,EAAaM,GAC5D,IAAIK,EAAY,CAAC,EAAG,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAAK1H,GAKxE,OAJIA,EAAQ,GAAK2H,EAAWvJ,IAC1BsJ,IAGKA,EAAYX,EAGrB,SAASa,EAAaxJ,EAAciJ,EAAwBC,GAC1D,IAAMO,EAAaT,EAAgBhJ,EAAMiJ,EAAgBC,GACnDQ,EAAiBV,EAAgBhJ,EAAO,EAAGiJ,EAAgBC,GAC3DS,EAAaJ,EAAWvJ,GAAQ,IAAM,IAE5C,OAAQ2J,EAAaF,EAAaC,GAAkB,EAGhD,SAAUE,EAAY5J,EAAc4B,EAAe+G,EAAaM,EAAwBY,GAC5F,IAAMJ,EAAaT,EAAgBhJ,EAAMiJ,EAAgBY,GACnDC,EAAOC,KAAKC,MAAMV,EAAUtJ,EAAM4B,EAAO+G,EAAKM,GAAkBQ,GAAc,GAEpF,OAAIK,EAAO,EACFA,EAAON,EAAYxJ,EAAO,EAAGiJ,EAAgBY,GAC3CC,EAAON,EAAYxJ,EAAMiJ,EAAgBY,GAC3CC,EAAON,EAAYxJ,EAAMiJ,EAAgBY,GAEzCC,EAIL,SAAUP,EAAYvJ,GAC1B,OAASA,EAAO,IAAM,GAAOA,EAAO,MAAQ,GAAQA,EAAO,MAAQ,ECvCtD1L,qBACb2V,GAEAjY,OAAO,CACPC,KAAM,2BAENI,MAAO,CACL4W,eAAgB,CACdtU,KAAM,CAACC,OAAQ6I,QACfxI,QAAS,GAEX4U,qBAAsB,CACpBlV,KAAM,CAACC,OAAQ6I,QACfxI,QAAS,GAEXiV,mBAAoB3X,QACpB4X,SAAU5X,QACV6X,cAAezH,UAGjB3P,SAAU,CACRkQ,UAAS,WACP,OAAO9Q,KAAK8P,QAAUjB,EAA4B7O,KAAK2O,cAAe,CAAE4H,IAAK,UAAWxF,SAAU,OAAS,CAAE/B,MAAO,EAAGxN,OAAQ,KAEjIyW,iBAAgB,WACd,OAAOjY,KAAKgY,eAAiBnJ,EAA4B7O,KAAK2O,cAAe,CAAEuJ,QAAS,SAAUnH,SAAU,SAE9GoH,SAAQ,eAAAnU,EAAA,KACAoU,EAAQ9P,SAAStI,KAAK6W,eAAgB,IAE5C,OAAO7W,KAAKiY,iBACRI,eAAY,GAAGlI,KAAI,SAAAmI,GAAC,OAAItU,EAAKiU,iBAAL,WAAAtU,OAAkCyU,EAAQE,EAAI,QACtED,eAAY,GAAGlI,KAAI,SAAAmI,GAAC,MAAI,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAAMA,EAAIF,GAAS,QAIlF3W,QAAS,CACP0T,mBAAkB,SAAEoD,GAClB,OAAO3G,EAAY5R,KAAKwT,UAAWmE,KAAKrK,KAAKiL,GAAS,KAExDC,SAAQ,eAAA1G,EAAA,KACA2G,EAAOzY,KAAKmY,SAAShI,KAAI,SAAAoG,GAAG,OAAIzE,EAAKhO,eAAe,KAAMyS,MAKhE,OAJIvW,KAAK+X,UACPU,EAAKC,QAAQ1Y,KAAK8D,eAAe,OAG5B9D,KAAK8D,eAAe,QAAS9D,KAAK2Y,MAAMF,KAGjDG,iCAAgC,WAC9B,IAAMC,EAAqB,IAAI9I,KAAJ,GAAApM,OAAY3D,KAAK2T,cAAa,KAAAhQ,OAAI8L,eAAIzP,KAAK0T,eAAiB,GAAE,uBACnFoF,EAAUD,EAAmB5B,YAEnC,OAAQ6B,EAAUxQ,SAAStI,KAAK6W,gBAAkB,GAAK,GAEzDkC,cAAa,SAAEC,GACb,OAAOxB,EACLxX,KAAK2T,cACL3T,KAAK0T,eACLsF,EACA1Q,SAAStI,KAAK6W,gBACdvO,SAAStI,KAAKyX,wBAGlBwB,cAAa,SAAEzB,GACb,OAAOxX,KAAK8D,eAAe,KAAM,CAC/B9D,KAAK8D,eAAe,QAAS,CAC3BN,YAAa,mCACZhB,OAAOgV,GAAY0B,SAAS,EAAG,SAItCC,SAAQ,WACN,IAAM/T,EAAW,GACXgU,EAAc,IAAIrJ,KAAK/P,KAAK2T,cAAe3T,KAAK0T,eAAiB,EAAG,GAAG2F,UACzEC,EAAO,GACP/C,EAAMvW,KAAK4Y,mCAEX5Y,KAAK+X,UACPuB,EAAKvP,KAAK/J,KAAKiZ,cAAcjZ,KAAK+Y,cAAc,KAGlD,IAAMQ,EAAgBvZ,KAAK0T,eAAiB1T,KAAK2T,cAAgB3T,KAAK2T,cAAgB,EAChF6F,GAAaxZ,KAAK0T,eAAiB,IAAM,GACzC+F,EAA4B,IAAI1J,KAAK/P,KAAK2T,cAAe3T,KAAK0T,eAAgB,GAAG2F,UACjFK,EAAa1Z,KAAK+X,SAAW,EAAI,EAEvC,MAAOxB,IAAO,CACZ,IAAM7I,EAAO,GAAH/J,OAAM4V,EAAa,KAAA5V,OAAI8L,eAAI+J,EAAY,GAAE,KAAA7V,OAAI8L,eAAIgK,EAA4BlD,IAEvF+C,EAAKvP,KAAK/J,KAAK8D,eAAe,KAAM9D,KAAK8X,mBAAqB,CAC5D9X,KAAKyU,UAAU/G,GAAM,EAAM,OAAQ1N,KAAK8Q,WAAW,IACjD,KAGN,IAAKyF,EAAM,EAAGA,GAAO6C,EAAa7C,IAAO,CACvC,IAAM7I,EAAO,GAAH/J,OAAM3D,KAAK2T,cAAa,KAAAhQ,OAAI8L,eAAIzP,KAAK0T,eAAiB,GAAE,KAAA/P,OAAI8L,eAAI8G,IAE1E+C,EAAKvP,KAAK/J,KAAK8D,eAAe,KAAM,CAClC9D,KAAKyU,UAAU/G,GAAM,EAAM,OAAQ1N,KAAK8Q,cAGtCwI,EAAK9X,OAASkY,IAAe,IAC/BtU,EAAS2E,KAAK/J,KAAK2Y,MAAMW,IACzBA,EAAO,GACHtZ,KAAK+X,WAAaxB,EAAM6C,GAAepZ,KAAK8X,qBAC9CwB,EAAKvP,KAAK/J,KAAKiZ,cAAcjZ,KAAK+Y,cAAcxC,EAAM,MAK5D,IAAMoD,EAAwC,KAAxB3Z,KAAK0T,eAAwB1T,KAAK2T,cAAgB,EAAI3T,KAAK2T,cAC3EiG,GAAa5Z,KAAK0T,eAAiB,GAAK,GAC1CmG,EAAe,EAEnB,MAAOP,EAAK9X,OAASkY,EAAY,CAC/B,IAAMhM,EAAO,GAAH/J,OAAMgW,EAAa,KAAAhW,OAAI8L,eAAImK,EAAY,GAAE,KAAAjW,OAAI8L,eAAIoK,MAE3DP,EAAKvP,KAAK/J,KAAK8D,eAAe,KAAM9D,KAAK8X,mBAAqB,CAC5D9X,KAAKyU,UAAU/G,GAAM,EAAM,OAAQ1N,KAAK8Q,WAAW,IACjD,KAON,OAJIwI,EAAK9X,QACP4D,EAAS2E,KAAK/J,KAAK2Y,MAAMW,IAGpBtZ,KAAK8D,eAAe,QAASsB,IAEtCuT,MAAK,SAAEvT,GACL,MAAO,CAACpF,KAAK8D,eAAe,KAAMsB,MAItCc,OAAM,WACJ,OAAOlG,KAAKwV,SAAS,gDAAiD,CACpExV,KAAKwY,WACLxY,KAAKmZ,YACJnZ,KAAKmV,uBC5IGjT,G,UAAAA,eACb2V,GAEAjY,OAAO,CACPC,KAAM,4BAENe,SAAU,CACRkQ,UAAS,WACP,OAAO9Q,KAAK8P,QAAUjB,EAA4B7O,KAAK2O,cAAe,CAAEa,MAAO,QAASuB,SAAU,OAAS,CAAE/B,MAAO,EAAGxN,OAAQ,MAInIC,QAAS,CACP0T,mBAAkB,SAAEoD,GAClB,MAAO,GAAP5U,OAAU2E,SAAStI,KAAKwT,UAAW,IAAMmE,KAAKrK,KAAKiL,GAAS,KAE9DY,SAAQ,WAKN,IALM,IAAAnV,EAAA,KACAoB,EAAW,GACX0U,EAAOzY,MAAM,GAAG0Y,KAAK,MACrBT,EAAO,GAAKQ,EAAKtY,OAAvBwY,EAAA,SAAAC,GAGE,IAAMC,EAAMJ,EAAK3J,KAAI,SAACgK,EAAGC,GACvB,IAAM5K,EAAQyK,EAAMH,EAAKtY,OAAS4Y,EAC5B1M,EAAO,GAAH/J,OAAMK,EAAK2P,cAAa,KAAAhQ,OAAI8L,eAAID,EAAQ,IAClD,OAAOxL,EAAKF,eAAe,KAAM,CAC/B+I,IAAK2C,GACJ,CACDxL,EAAKyQ,UAAU/G,GAAM,EAAO,QAAS1J,EAAK8M,gBAI9C1L,EAAS2E,KAAK/F,EAAKF,eAAe,KAAM,CACtC+I,IAAKoN,GACJC,KAbID,EAAM,EAAGA,EAAMX,EAAMW,IAA9BD,EAAAC,GAgBA,OAAOja,KAAK8D,eAAe,QAASsB,KAIxCc,OAAM,WACJ,OAAOlG,KAAKwV,SAAS,iDAAkD,CACrExV,KAAKmZ,YACJnZ,KAAKmV,wBCjCGjT,G,UAAAA,eAQbmO,OACAC,GAEA1Q,OAAO,CACPC,KAAM,sBAENI,MAAO,CACL6P,OAAQS,SACRC,IAAK,CAACnF,OAAQ7I,QACdiO,IAAK,CAACpF,OAAQ7I,QACd9B,SAAUP,QACVoB,MAAO,CAAC8J,OAAQ7I,SAGlBe,KAAI,WACF,MAAO,CACL8W,aAAc,YAIlBzZ,SAAU,CACRkQ,UAAS,WACP,OAAO9Q,KAAK8P,QAAUjB,EAA4B7O,KAAK2O,cAAe,CAAEf,KAAM,UAAWmD,SAAU,OAAS,CAAEvP,OAAQ,MAI1HoS,QAAO,eAAA5P,EAAA,KACLsW,YAAW,WACT,IAAMC,EAAavW,EAAKwW,IAAIC,uBAAuB,UAAU,GACzDF,EACFvW,EAAKwW,IAAIE,UAAYH,EAAWI,UAAY3W,EAAKwW,IAAII,aAAe,EAAIL,EAAWK,aAAe,EACzF5W,EAAKwM,MAAQxM,EAAKyM,IAC3BzM,EAAKwW,IAAIE,UAAY1W,EAAKwW,IAAIK,cACpB7W,EAAKwM,KAAOxM,EAAKyM,IAC3BzM,EAAKwW,IAAIE,UAAY,EAErB1W,EAAKwW,IAAIE,UAAY1W,EAAKwW,IAAIK,aAAe,EAAI7W,EAAKwW,IAAII,aAAe,MAK/EnZ,QAAS,CACPqZ,YAAW,SAAElN,GAAY,IAAAkE,EAAA,KACjBiJ,EAAY/a,KAAK8Q,UAAL,GAAAnN,OAAkBiK,IAC9BoN,EAAS1S,SAAStI,KAAKuB,MAAO,MAAQqM,EACtC3J,EAAQ+W,IAAWhb,KAAKiE,OAAS,WAEvC,OAAOjE,KAAK8D,eAAe,KAAM9D,KAAKiG,aAAahC,EAAO,CACxD4I,IAAKe,EACLnK,MAAO,CAAEuX,UACTvW,GAAI+P,eAAe,CACjB9P,MAAO,WAAF,OAAQoN,EAAKjI,MAAM,QAAS+D,KAChCqE,EAA8BjS,KAAM,QAAS4N,MAC9CmN,IAGNE,aAAY,WAMV,IALA,IAAM7V,EAAW,GACX8V,EAAelb,KAAKuB,MAAQ+G,SAAStI,KAAKuB,MAAO,KAAM,IAAIwO,MAAOoL,cAClEC,EAAUpb,KAAKyQ,IAAMnI,SAAStI,KAAKyQ,IAAK,IAAOyK,EAAe,IAC9DG,EAAU1D,KAAKnH,IAAI4K,EAASpb,KAAKwQ,IAAMlI,SAAStI,KAAKwQ,IAAK,IAAO0K,EAAe,KAE7EtN,EAAOwN,EAASxN,GAAQyN,EAASzN,IACxCxI,EAAS2E,KAAK/J,KAAK8a,YAAYlN,IAGjC,OAAOxI,IAIXc,OAAM,WACJ,OAAOlG,KAAK8D,eAAe,KAAM,CAC/BN,YAAa,sBACb4H,IAAK,SACJpL,KAAKib,oB,aClGCK,G,oBAA0B,CAAC,EAAG,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,KAC1EC,EAA+B,CAAC,EAAG,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAgRtF,SAAUnC,EAAaxL,EAAc4B,GACzC,OAAO2H,EAAWvJ,GAAQ2N,EAAmB/L,GAAS8L,EAAc9L,G,gBCzOvDtN,sBACboO,EACAkL,QAEA5b,OAAO,CACPC,KAAM,gBAENI,MAAO,CACLwb,aAAcjZ,OACd2Q,aAAc5C,SAEdmL,UAAWnL,SACXnQ,SAAUD,QACViT,OAAQ,CACN7Q,KAAM,CAAClB,MAAOkP,SAAUpJ,QACxBtE,QAAS,WAAF,OAAQ,OAEjBwQ,WAAY,CACV9Q,KAAM,CAAClB,MAAOkP,SAAUpJ,OAAQ3E,QAChCK,QAAS,WAAF,MAAQ,YAEjBgU,eAAgB,CACdtU,KAAM,CAACC,OAAQ6I,QACfxI,QAAS,GAGX8Y,iBAAkBpL,SAClBkH,qBAAsB,CACpBlV,KAAM,CAACC,OAAQ6I,QACfxI,QAAS,GAEX4N,IAAKjO,OACLgO,IAAKhO,OAELoZ,YAAarL,SACbsL,SAAU1b,QACVwQ,SAAU,CACRpO,KAAMC,OACNK,QAAS,SAEXiZ,mBAAoB,CAClBvZ,KAAMC,OACNK,QAAS,0CAEXkZ,kBAAmB,CACjBxZ,KAAMC,OACNK,QAAS,yCAEXmZ,WAAYxZ,OACZqO,SAAU,CACRtO,KAAMC,OACNK,QAAS,SAEXoZ,mBAAoB,CAClB1Z,KAAMC,OACNK,QAAS,0CAEXqZ,kBAAmB,CACjB3Z,KAAMC,OACNK,QAAS,yCAEXyQ,MAAOnT,QACPgc,SAAUhc,QACVO,SAAUP,QACVoT,WAAYpT,QACZic,YAAa,CACX7Z,KAAM,CAACpC,QAASqC,QAChBK,SAAS,GAEXwZ,kBAAmB,CACjB9Z,KAAMC,OACNK,QAAS,qCAEXiV,mBAAoB3X,QACpB4X,SAAU5X,QAEVmc,gBAAiB/L,SACjBhO,KAAM,CACJA,KAAMC,OACNK,QAAS,OACTJ,UAAY,SAAAF,GAAD,MAAe,CAAC,OAAQ,SAASI,SAASJ,KAEvDhB,MAAO,CAACF,MAAOmB,QACfwV,cAAezH,SAEfgM,WAAYhM,SACZ1C,SAAUrL,QAGZe,KAAI,eAAAS,EAAA,KACIwY,EAAM,IAAIzM,KAChB,MAAO,CACL0M,qBAAsBzc,KAAKuC,KAAKma,cAChCC,SAAU,KACVC,WAAY,KACZC,UAAW,KACX/O,aAAa,EACb0O,MAEAhJ,UAAY,WACV,GAAIxP,EAAKgY,WACP,OAAOhY,EAAKgY,WAGd,IAAMc,EAAgBC,eAAY/Y,EAAKzC,OACjCmM,EAAOoP,EAAcA,EAActb,OAAS,KACnB,kBAArBwC,EAAKoY,YAA2BpY,EAAKoY,YAA5C,GAAAzY,OAA6D6Y,EAAIrB,cAAa,KAAAxX,OAAI6Y,EAAIQ,WAAa,IACtG,OAAO3H,EAAmB3H,EAA8B,SAAd1J,EAAKzB,KAAkB,QAAU,QARjE,KAahB3B,SAAU,CACRkc,cAAa,WACX,OAAOC,eAAY/c,KAAKuB,QAE1B0b,WAAU,WACR,OAAOjd,KAAK6b,UAAY7b,KAAKsT,OAE/B4J,UAAS,WACP,OAAOld,KAAKid,WAAajd,KAAK8c,cAAc9c,KAAK8c,cAActb,OAAS,GAAMxB,KAAKuB,OAErF4b,eAAc,WACZ,OAAKnd,KAAKuB,OAAuB,UAAdvB,KAAKuC,KAEbvC,KAAKid,WACPjd,KAAK8c,cAAc3M,KAAI,SAAAzN,GAAG,OAAIA,EAAIuN,OAAO,EAAG,MAE3CjQ,KAAKuB,MAAiB0O,OAAO,EAAG,GAJjCjQ,KAAKuB,OAOhBqN,QAAO,WACL,OAAyB,IAArB5O,KAAKoc,YACA/G,EAAmB,GAAD1R,OAAI3D,KAAKwc,IAAIrB,cAAa,KAAAxX,OAAI3D,KAAKwc,IAAIQ,WAAa,EAAC,KAAArZ,OAAI3D,KAAKwc,IAAInD,WAAarZ,KAAKuC,MAGxGvC,KAAKoc,aAAe,MAE7BgB,UAAS,WACP,MAAqB,SAAdpd,KAAKuC,KAAL,GAAAoB,OACA3D,KAAK6c,UAAS,KAAAlZ,OAAI8L,eAAIzP,KAAK4c,WAAc,GAAE,KAAAjZ,OAAI8L,eAAIzP,KAAK2c,WAAU,GAAAhZ,OAClE3D,KAAK6c,UAAS,KAAAlZ,OAAI8L,eAAIzP,KAAK4c,WAAc,KAElDS,WAAU,WACR,OAAOhS,QAAQrL,KAAKgc,YAAchc,KAAKwT,WAAWnE,MAAM,KAAK,IAAM,GAErEiO,UAAS,WACP,OAAOjS,QAAQrL,KAAKgc,YAAchc,KAAKwT,WAAWnE,MAAM,KAAK,KAE/DkO,SAAQ,WACN,OAAOvd,KAAKwQ,IAAM6E,EAAmBrV,KAAKwQ,IAAK,SAAW,MAE5DgN,SAAQ,WACN,OAAOxd,KAAKyQ,IAAM4E,EAAmBrV,KAAKyQ,IAAK,SAAW,MAE5D4K,QAAO,WACL,OAAOrb,KAAKwQ,IAAM6E,EAAmBrV,KAAKwQ,IAAK,QAAU,MAE3D4K,QAAO,WACL,OAAOpb,KAAKyQ,IAAM4E,EAAmBrV,KAAKyQ,IAAK,QAAU,MAE3DgN,WAAU,WACR,MAAO,CACL7P,KAAM5N,KAAKuc,YAAc1N,EAA4B7O,KAAK2O,cAAe,CAAEf,KAAM,UAAWmD,SAAU,OAAS,CAAEvP,OAAQ,IACzHkc,UAAW1d,KAAKsc,kBACbtc,KAAKid,WAAajd,KAAK2d,kCAAoC3d,KAAK4d,6BAGvED,kCAAiC,eAAA7L,EAAA,KAC/B,OAAO,SAAA+L,GACL,OAAKA,EAAMrc,OAIU,IAAjBqc,EAAMrc,OACDsQ,EAAK8L,0BAA0BC,EAAM,IAGvC/L,EAAKxN,SAASC,KAAKC,EAAEsN,EAAKuK,kBAAmBwB,EAAMrc,QAPjD,MAUboc,0BAAyB,WACvB,IAAME,EAAe,CACnBlQ,KAAM,CAAEA,KAAM,UAAWmD,SAAU,OACnCvB,MAAO,CAAEA,MAAO,OAAQuB,SAAU,OAClCrD,KAAM,CAAEwK,QAAS,QAAS1I,MAAO,QAAS+G,IAAK,UAAWxF,SAAU,QAGhEgN,EAAqBlP,EAA4B7O,KAAK2O,cAAemP,EAAa9d,KAAKuC,MAAO,CAClGyM,MAAO,EACPxN,OAAQ,CAAEkM,KAAM,GAAI8B,MAAO,EAAG5B,KAAM,GAAI5N,KAAKuC,QAGzCyb,EAAsB,SAAAtQ,GAAD,OAAkBqQ,EAAmBrQ,GAC7DuQ,QAAQ,oBAAoB,SAACC,EAAOC,EAAUC,GAAlB,SAAAza,OAA+Bwa,EAAQ,KAAAxa,OAAIya,MACvEH,QAAQ,KAAM,UAEjB,OAAOje,KAAKqe,UAAYL,EAAqBD,IAIjD/P,MAAO,CACLyO,qBAAsB,CACpB6B,WAAW,EACXC,QAAO,SAAE7b,GACP1C,KAAK6J,MAAM,uBAAwBnH,KAGvC+Y,aAAY,SAAE/Y,GACZ1C,KAAKyc,qBAAuB/Z,GAE9B8Q,UAAS,SAAE9Q,EAAa0G,GAGtB,IAAMgM,EAA6B,UAAdpV,KAAKuC,KAAmB,OAAS,QACtDvC,KAAK8N,YAAcuH,EAAmB3S,EAAK0S,GAAgBC,EAAmBjM,EAAMgM,GACpFpV,KAAK6J,MAAM,qBAAsBnH,IAEnCsZ,WAAU,SAAEtZ,GACNA,EACF1C,KAAKwT,UAAY9Q,EACR1C,KAAKkd,WAA2B,SAAdld,KAAKuC,KAChCvC,KAAKwT,UAAY6B,EAAmBrV,KAAKkd,UAAW,SAC3Cld,KAAKkd,WAA2B,UAAdld,KAAKuC,OAChCvC,KAAKwT,UAAY6B,EAAmBrV,KAAKkd,UAAW,UAGxD3b,MAAK,SAAEid,EAA2BC,GAChCze,KAAK0e,oBACL1e,KAAK2e,gBAGD3e,KAAKid,aAAcjd,KAAKuB,OAAUvB,KAAKgc,eACxChc,KAAKid,aAAcjd,KAAK8c,cAActb,QAAYid,GAAaA,EAASjd,QAAYxB,KAAKgc,cAE1Fhc,KAAKwT,UAAY6B,EAAmBrV,KAAKod,UAAyB,UAAdpd,KAAKuC,KAAmB,OAAS,WAGzFA,KAAI,SAAEA,GAGJ,GAFAvC,KAAKyc,qBAAuBla,EAAKma,cAE7B1c,KAAKuB,OAASvB,KAAKuB,MAAMC,OAAQ,CACnC,IAAMod,EAAS5e,KAAK8c,cACjB3M,KAAK,SAAAzN,GAAD,OAAiB2S,EAAmB3S,EAAKH,MAC7C0S,OAAOjV,KAAKgT,eACfhT,KAAK6J,MAAM,QAAS7J,KAAKid,WAAa2B,EAASA,EAAO,OAK5D3d,QAAO,WACLjB,KAAK0e,oBAED1e,KAAKgc,aAAehc,KAAKwT,WAC3BxT,KAAK6J,MAAM,qBAAsB7J,KAAKwT,WAExCxT,KAAK2e,gBAGPld,QAAS,CACPod,UAAS,SAAEC,GACT,GAAI9e,KAAKsT,MACP,GAAkC,IAA9BtT,KAAK8c,cAActb,OACrBxB,KAAK6J,MAAM,QAAS,CAACiV,QAChB,CACL,IAAMF,EAAS,CAAC5e,KAAK8c,cAAc,GAAIgC,GACvC9e,KAAK6J,MAAM,QAAS+U,GACpB5e,KAAK6J,MAAM,SAAU+U,OANzB,CAWA,IAAMA,EAAS5e,KAAK6b,UAE0B,IAA1C7b,KAAK8c,cAAczG,QAAQyI,GACvB9e,KAAK8c,cAAcnZ,OAAO,CAACmb,IAC3B9e,KAAK8c,cAAc7H,QAAO,SAAA8J,GAAC,OAAIA,IAAMD,KAEzCA,EAEJ9e,KAAK6J,MAAM,QAAS+U,GACpB5e,KAAK6b,UAAY7b,KAAK6J,MAAM,SAAUiV,KAExCJ,kBAAiB,WACf,GAAkB,MAAd1e,KAAKuB,MAAT,CACA,IAAMyd,EAAYhf,KAAKuB,MAAM0d,YAAYpf,KACnCqf,EAAWlf,KAAKid,WAAa,QAAU,SACzC+B,IAAcE,GAChBC,eAAY,iBAADxb,OAAkB3D,KAAKid,WAAa,KAAO,IAAG,KAAAtZ,OAAIub,EAAQ,UAAAvb,OAASqb,GAAahf,QAG/FgT,cAAa,SAAEzR,GACb,OAAOyR,EAAczR,EAAOvB,KAAKwQ,IAAKxQ,KAAKyQ,IAAKzQ,KAAKmT,eAEvDiM,UAAS,SAAE7d,GACTvB,KAAK6c,UAAYtb,EACC,UAAdvB,KAAKuC,KACPvC,KAAKwT,UAAL,GAAA7P,OAAoBpC,GAEpBvB,KAAKwT,UAAL,GAAA7P,OAAoBpC,EAAK,KAAAoC,OAAI8L,gBAAKzP,KAAKqd,YAAc,GAAK,IAE5Drd,KAAKyc,qBAAuB,QACxBzc,KAAKmc,WAAanc,KAAKU,WAAaV,KAAKid,YAAcjd,KAAKgT,cAAchT,KAAKod,YACjFpd,KAAK6J,MAAM,QAAS7J,KAAKod,YAG7BiC,WAAU,SAAE9d,GACV,IAAA+d,EAAsB/d,EAAM8N,MAAM,KAAlCkQ,EAAAhQ,eAAA+P,EAAA,GAAO1R,EAAD2R,EAAC,GAAM/P,EAAP+P,EAAC,GAEPvf,KAAK6c,UAAYvU,SAASsF,EAAM,IAChC5N,KAAK4c,WAAatU,SAASkH,EAAO,IAAM,EAEtB,SAAdxP,KAAKuC,MACHvC,KAAK2c,WACP3c,KAAK2c,SAAWhF,KAAKnH,IAAIxQ,KAAK2c,SAAUvD,EAAYpZ,KAAK6c,UAAW7c,KAAK4c,WAAa,KAGxF5c,KAAKwT,UAAYjS,EACjBvB,KAAKyc,qBAAuB,OACxBzc,KAAKmc,WAAanc,KAAKU,WAAaV,KAAKid,YAAcjd,KAAKgT,cAAchT,KAAKod,YACjFpd,KAAK6J,MAAM,QAAS7J,KAAKod,YAG3Bpd,KAAK6e,UAAU7e,KAAKod,YAGxBoC,UAAS,SAAEje,GACT,IAAAke,EAA2Ble,EAAM8N,MAAM,KAAvCqQ,EAAAnQ,eAAAkQ,EAAA,GAAO7R,EAAD8R,EAAC,GAAMlQ,EAAPkQ,EAAC,GAAanJ,EAAdmJ,EAAC,GAEP1f,KAAK6c,UAAYvU,SAASsF,EAAM,IAChC5N,KAAK4c,WAAatU,SAASkH,EAAO,IAAM,EACxCxP,KAAK2c,SAAWrU,SAASiO,EAAK,IAE9BvW,KAAK6e,UAAU7e,KAAKod,YAEtBuC,eAAc,eAAAlK,EAAA,KACZ,OAAOzV,KAAK8D,eAAe8b,EAAkB,CAC3C3f,MAAO,CACLyN,KAAM1N,KAAKuB,MAASvB,KAAKyd,WAAWC,UAAqC1d,KAAKid,WAAajd,KAAK8c,cAAgB9c,KAAKuB,OAAS,GAC9HnB,SAAUJ,KAAKI,SACfM,SAAUV,KAAKU,SACfiN,cAA6C,SAA9B3N,KAAKyc,qBACpB7O,KAAM5N,KAAKyd,WAAW7P,KAAK5N,KAAK8c,cAActb,OAAnB,GAAAmC,OAA+B3D,KAAK6c,WAAc7c,KAAKwT,WAClF3F,SAAU7N,KAAK6N,SACftM,MAAOvB,KAAK8c,cAAc,IAE5B+C,KAAM,QACNpb,GAAI,CACF,wBAA0B,SAAAlD,GAAD,OAAoBkU,EAAKgH,qBAAuBlb,EAAQ,OAASkU,EAAKlT,KAAKma,mBAI1GoD,eAAc,eAAAC,EAAA,KACZ,OAAO/f,KAAK8D,eAAekc,EAAmB,CAC5C/f,MAAO,CACL0Q,SAAU3Q,KAAK2Q,SACf1M,MAAOjE,KAAKiE,MACZiK,KAAMlO,KAAKkO,KACX9N,SAAUJ,KAAKI,SACf0P,OAAQ9P,KAAK2b,iBACbpK,MAAOvR,KAAKuR,MACZ7C,OAAQ1O,KAAK0O,OACb8B,IAAmC,SAA9BxQ,KAAKyc,qBAAkCzc,KAAKud,SAAWvd,KAAKqb,QACjE5K,IAAmC,SAA9BzQ,KAAKyc,qBAAkCzc,KAAKwd,SAAWxd,KAAKob,QACjE1K,cAA6C,SAA9B1Q,KAAKyc,qBAAkCzc,KAAK8b,mBAAqB9b,KAAK+b,kBACrFnL,cAA6C,SAA9B5Q,KAAKyc,qBAAkCzc,KAAKic,mBAAqBjc,KAAKkc,kBACrFrL,SAAU7Q,KAAK6Q,SACfnQ,SAAUV,KAAKU,SACfa,MAAqC,SAA9BvB,KAAKyc,qBAAL,GAAA9Y,OAA0C8L,eAAIzP,KAAKsd,UAAW,GAAE,KAAA3Z,OAAI8L,eAAIzP,KAAKqd,WAAa,IAAE,GAAA1Z,OAAQ8L,eAAIzP,KAAKsd,UAAW,KAEjI7Y,GAAI,CACFgB,OAAQ,WAAF,OAAQsa,EAAKtD,qBAAsD,SAA9BsD,EAAKtD,qBAAkC,QAAU,QAC5FwD,MAAQ,SAAA1e,GAAD,OAAmBwe,EAAKvM,UAAYjS,OAIjD2e,aAAY,eAAAC,EAAA,KACV,OAAOngB,KAAK8D,eAAesc,EAAsB,CAC/CngB,MAAO,CACLkT,aAAcnT,KAAKmT,aACnBlP,MAAOjE,KAAKiE,MACZ2K,QAAS5O,KAAK4O,QACdV,KAAMlO,KAAKkO,KACX9N,SAAUJ,KAAKI,SACfgT,OAAQpT,KAAKoT,OACbC,WAAYrT,KAAKqT,WACjBwD,eAAgB7W,KAAK6W,eACrB/G,OAAQ9P,KAAK0b,UACbnK,MAAOvR,KAAKuR,MACZ7C,OAAQ1O,KAAK0O,OACb+I,qBAAsBzX,KAAKyX,qBAC3BjH,IAAKxQ,KAAKwQ,IACVC,IAAKzQ,KAAKyQ,IACV6C,MAAOtT,KAAKsT,MACZ5S,SAAUV,KAAKU,SACf6S,WAAYvT,KAAKuT,WACjBuE,mBAAoB9X,KAAK8X,mBACzBC,SAAU/X,KAAK+X,SACfvE,UAAW,GAAF7P,OAAK8L,eAAIzP,KAAKsd,UAAW,GAAE,KAAA3Z,OAAI8L,eAAIzP,KAAKqd,WAAa,IAC9D9b,MAAOvB,KAAKuB,MACZyW,cAAehY,KAAKgY,eAEtB5M,IAAK,QACL3G,GAAE3D,eAAA,CACAmf,MAAOjgB,KAAKwf,UACZ,oBAAsB,SAAAje,GAAD,OAAmB4e,EAAK3M,UAAYjS,IACtDoR,EAAwB3S,KAAM,aAIvCqgB,cAAa,eAAAC,EAAA,KACX,OAAOtgB,KAAK8D,eAAeyc,EAAuB,CAChDtgB,MAAO,CACLkT,aAA4B,UAAdnT,KAAKuC,KAAmBvC,KAAKmT,aAAe,KAC1DlP,MAAOjE,KAAKiE,MACZ2K,QAAS5O,KAAK4O,QAAUyG,EAAmBrV,KAAK4O,QAAS,SAAW,KACpEV,KAAMlO,KAAKkO,KACX9N,SAAUJ,KAAKI,SACfgT,OAAsB,UAAdpT,KAAKuC,KAAmBvC,KAAKoT,OAAS,KAC9CC,WAA0B,UAAdrT,KAAKuC,KAAmBvC,KAAKqT,WAAa,KACtDvD,OAAQ9P,KAAK4b,YACbrK,MAAOvR,KAAKuR,MACZ7C,OAAQ1O,KAAK0O,OACb8B,IAAKxQ,KAAKud,SACV9M,IAAKzQ,KAAKwd,SACVlK,MAAOtT,KAAKsT,MACZ5S,SAAUV,KAAKU,UAA0B,UAAdV,KAAKuC,KAChCgR,WAAYvT,KAAKuT,WACjBhS,MAAOvB,KAAKmd,eACZ3J,UAAW,GAAF7P,OAAK8L,eAAIzP,KAAKsd,UAAW,KAEpClS,IAAK,QACL3G,GAAE3D,eAAA,CACAmf,MAAOjgB,KAAKqf,WACZ,oBAAsB,SAAA9d,GAAD,OAAmB+e,EAAK9M,UAAYjS,IACtDoR,EAAwB3S,KAAM,cAIvCwgB,SAAQ,WACN,OAAOxgB,KAAK8D,eAAe2c,EAAkB,CAC3CxgB,MAAO,CACLgE,MAAOjE,KAAKiE,MACZ6L,OAAQ9P,KAAKuc,WACb7N,OAAQ1O,KAAK0O,OACb8B,IAAKxQ,KAAKqb,QACV5K,IAAKzQ,KAAKob,QACV7Z,MAAOvB,KAAKsd,WAEd7Y,GAAE3D,eAAA,CACAmf,MAAOjgB,KAAKof,WACTzM,EAAwB3S,KAAM,aAIvC0gB,cAAa,WACX,IAAMtb,EAAyC,SAA9BpF,KAAKyc,qBAAkC,CACtDzc,KAAKwgB,YACH,CACFxgB,KAAK8f,iBACyB,SAA9B9f,KAAKyc,qBAAkCzc,KAAKkgB,eAAiBlgB,KAAKqgB,iBAGpE,OAAOrgB,KAAK8D,eAAe,MAAO,CAChC+I,IAAK7M,KAAKyc,sBACTrX,IAELuZ,aAAY,WACV,GAAI3e,KAAKkd,UAAW,CAClB,IAAMyD,EAAQ3gB,KAAKkd,UAAU7N,MAAM,KACnCrP,KAAK6c,UAAYvU,SAASqY,EAAM,GAAI,IACpC3gB,KAAK4c,WAAatU,SAASqY,EAAM,GAAI,IAAM,EACzB,SAAd3gB,KAAKuC,OACPvC,KAAK2c,SAAWrU,SAASqY,EAAM,GAAI,UAGrC3gB,KAAK6c,UAAY7c,KAAK6c,WAAa7c,KAAKwc,IAAIrB,cAC5Cnb,KAAK4c,WAAgC,MAAnB5c,KAAK4c,WAAqB5c,KAAK4c,WAAa5c,KAAKwc,IAAIQ,WACvEhd,KAAK2c,SAAW3c,KAAK2c,UAAY3c,KAAKwc,IAAInD,YAKhDnT,OAAM,WACJ,OAAOlG,KAAK4gB,UAAU,sB,2CCnhB1B,IAAI1a,EAAS,WAAkB,IAAIS,EAAI3G,KAAKuG,EAAGI,EAAI4D,MAAMhE,GAAG,OAAOA,EAAG,MAAM,CAACA,EAAG,kBAAkBA,EAAG,MAAM,CAAC/C,YAAY,sCAAsC,CAAGmD,EAAIka,MAAMrf,OAA4BmF,EAAIsG,KAAxB1G,EAAG,iBAA0BA,EAAG,qBAAqB,CAACR,WAAW,CAAC,CAAClG,KAAK,OAAOihB,QAAQ,SAASvf,MAAOoF,EAAIoa,mBAAqBpa,EAAIqa,kBAAmBC,WAAW,2CAA2C5c,MAAM,CAAC,OAAS,UAAUkC,EAAG,mBAAmB,CAACR,WAAW,CAAC,CAAClG,KAAK,OAAOihB,QAAQ,SAASvf,OAAQoF,EAAIoa,oBAAsBpa,EAAIqa,mBAAqBra,EAAIua,gBAAiBD,WAAW,gEAAgE5c,MAAM,CAAC,WAAasC,EAAIwa,YAAY1c,GAAG,CAAC,iBAAiBkC,EAAIya,kBAC3qBza,EAAIka,MAAMrf,QAAWmF,EAAIoa,mBAAuBpa,EAAI0a,UAAa1a,EAAIua,gBAC7Cva,EAAIsG,KAA5B1G,EAAG,qBAA+BI,EAAIua,iBAAmBva,EAAI0a,SAAU9a,EAAG,iBAAiB,CAAClC,MAAM,CAAC,QAAUsC,EAAIoa,mBAAqBpa,EAAIqa,mBAAqBra,EAAI2a,eAAe,UAAY3a,EAAI4a,UAAU,SAAW5a,EAAI0a,UAAU5c,GAAG,CAAC,QAAUkC,EAAI6a,iBAAiB7a,EAAIsG,MAAM,IAAI,IAE1RhG,EAAkB,G,oCCJlBf,EAAS,WAAkB,IAAIS,EAAI3G,KAAKuG,EAAGI,EAAI4D,MAAMhE,GAAG,OAAOA,EAAG,iBAAiB,CAAC/C,YAAY,iBAAiBa,MAAM,CAAC,MAAQsC,EAAIuB,GAAG,iBAAiB,SAAWvB,EAAIuB,GAAG,sBAAsByE,YAAYhG,EAAIiG,GAAG,CAAC,CAACC,IAAI,UAAUC,GAAG,WAAW,MAAO,CAACvG,EAAG,yBAAyB,CAAC/C,YAAY,qBAAqBwJ,OAAM,QAE7T/F,EAAkB,G,wBCcP,GACfpH,KAAA,gBAEAqN,WAAA,CACAuU,4BACAC,sBCrBqW,I,wBCQjWpX,EAAY,eACd,EACA,EACA,GACA,EACA,KACA,WACA,MAIa,EAAAA,E,oECnB2F,EAAK,W,IAAU9G,OAAwB,EAAK,QAAU,G,OAAEA,QAAY,CAAgBme,YAAY,kB,CAAC,UAAoB,YAAC,aAACtd,GAAK,OAAC,C,YAASsC,gB,YAAwBA,CAAoB,WAAa,S,MAAwB,CAAiB,QAAW,YAAG,MAAQ,kBAAU,aAAYuB,KAAkC,mBAAG,cAAC,GAAC,SAASvB,GAAc,gBAAI,MAAO,KAAQ,gCAA6B,GAAI,CAAanD,OAAW,EAAC,eAA+B,YAAa,CAAO,YAAC,gBAACa,GAAK,OAAC,C,YAASsC,kB,YAA4B,CAAkB,WAAY,S,MAA4B,CAAc,MAAQ,0BAAU,aAAYuB,KAAqC,uBAAmB,iBAACyE,SAAYhG,GAASkG,MAAI,UAAcC,MAAG,EAAHA,GAAE,kC,gBAAuB,I,YAA+B,KAAQ,E,IAACtJ,c,GAA6BiB,W,MAAI,GAAO,MAAK6E,CAAa,oBAAG,CAAC3C,EAAG,OAAI,CAAkFnD,YAAY,iBAAOa,IAAO,MAAO,kBAAwB,mFAAG,YAAS,OAAC,OAAM,KAAC,OAAO,oBAAesC,IAAI0a,K,OAAuCA,K,MAAcJ,CAAqB,iBAAI,SAAO,SAAS,GAACzd,WAAY,GAAkCA,WAAY,eAAsBa,GAAM,U,YAAQ,a,CAAK,QAAQ,UAAS,oBAAG,CAACsC,EAAG,OAAI,CAA8GnD,OAA6BmD,KAAO,KAEl8CnD,MAAW,YAAuBa,GAAK,GAAC,mG,YAAQ,gB,CAAK,KAAO,IAAC,oIAAS,oBAAG,CAACsC,EAAG,OAAI,CAA2FnD,OAA6BmD,KAAO,KAAmKnD,MAAW,YAAuBa,GAAK,GAAC,oF,YAAQ,gB,CAAK,KAAO,IAAC,qIAAS,oBAAG,CAACsC,EAAG,OAAI,CAA8GnD,OAA6BmD,KAAOA,KAAwGnD,MAAW,YAAuBa,GAAK,GAAC,uG,YAAQ,gB,CAAK,KAAO,EAAC,sFAAS,oBAAG,CAACsC,EAAG,OAAI,CAAiGnD,OAA6BmD,KAAO,KAA8KtC,MAAM,YAAuB,gGAAG,YAAU,gBACvoC,gKACG4C,OAEJ,QAAiBA,e,qLCN4H,W,IAAY6F,EAAG,K,EAAuB,EAAZrI,MAAEmd,G,SAAEvd,OAAKud,C,MAAI,C,WAAqHpe,EAAY,U,YAAqB,KAAW,CAACmD,C,IAAW,Y,GAAE,SAAK,G,IAAUtC,EAAM,K,EAAC,EAAQ,M,MAAU,GAAM,OAAC,iEAAI,0BAAE,MAAMqC,CAAyC,sBAAW,WAACnF,MAAWsgB,CAAQC,MAAS,UAAoBD,KAAM,OAAMZ,GAAU,GAAC,2CAA0Hxc,MAAG,CAAC,MAAO,EAACkC,OAAS,qBAAM,EAAC,OAAS,GAAQ,WAAW,WAAkB,2FAAE,GAAEA,CAAiEtC,MAAM,UAAsB,WAAG,MAAK,CACt0B,UACG4C,kB,iHC6BW,GACfpH,KAAA,mBAEAqC,OAAA,CAAA6f,QAEA7U,WAAA,CACA8U,oBAGA/hB,MAAA,CACAiH,QAAA,CAAArE,QAAA,KAAAN,KAAA,yBAAA4E,UAGA5D,KAAA,WACA,OACAse,QAAA,IAIApgB,QAAA,CACA+D,MAAA,WACA,KAAAqc,QAAA,KCpDwW,ICQpW,G,UAAY,eACd,EACA,EACA,GACA,EACA,KACA,WACA,OAIa,I,gCCiFA,GACfhiB,KAAA,gBAEAqC,OAAA,CAAA+f,OAAAF,QAEA9hB,MAAA,CACAkhB,WAAA,CAAA5e,KAAAlB,MAAA+F,UAAA,IAGA7D,KAAA,WACA,OACA8d,SAAA,KAIAnU,WAAA,CACAgV,oBAGAjhB,QAAA,WACA,KAAA2I,MAAAuY,IAAA,6BAAAC,eAGApU,MAAA,CACAmT,WAAA,eAAAkB,EAAAC,EAAAC,EACAC,EAAA,QAAAH,EAAA,QAAAC,EAAA,KAAAjB,gBAAA,IAAAiB,OAAA,EAAAA,EAAArX,UAAA,IAAAoX,IAAA,KAAAI,OAAAzY,MAAAhD,YACA,KAAAqa,SACA,QADAkB,EACA,KAAAG,gBAAAC,MAAA,SAAAC,GAAA,OAAAA,EAAA3X,IAAAuX,YAAA,IAAAD,IACA,KAAAG,gBAAA,IAEArB,SAAA,SAAAwB,GACAA,EAAA5X,IAAA,KAAAmW,kBAIAxgB,SAAAE,2EAAA,GACAyG,eAAA,0BACAA,eAAA,4BACAA,eAAA,mBACAA,eAAA,sCACAub,gBAAA,eAAA9e,EAAA,KACA,YAAA+e,aAAA5S,KAAA,SAAA6S,GACA,OAAAliB,8BAAA,GACAkiB,GAAA,IACAnjB,KAAAmE,EAAAkE,GAAA,QAAA8a,EAAAnjB,KAAA+H,qBAIA8a,gBAAA,eAAA5Q,EAAA,KACA,YAAAqP,WAAAlM,QACA,SAAA2M,GAAA,IAAAqB,EAAArB,EAAAqB,QAAA,OAAAA,GAAAnR,EAAAnK,YAAAsD,OAGAiY,wBAAA,eAAAzN,EAAA,KACA,YAAAiN,gBAAApQ,QAAA,SAAA6Q,EAAAjc,GACA,IAAAkc,EAAAlc,EAAA+b,QACAI,EAAAF,EAAAG,MAAA,SAAAC,GAAA,IAAAN,EAAAM,EAAAN,QAAA,OAAAA,GAAAG,KACA,IAAAC,EAAA,CACA,IAAA3b,EAAA8b,eAAAJ,GACAD,EAAApZ,KAAA,CAAAgI,OAAA0D,EAAAvN,GAAAR,KAGA,OADAyb,EAAApZ,KAAA7C,GACAic,IACA,KAEApb,kBAAA,WACA,YAAAsZ,SAAArZ,cACA,KAAAqZ,SAAArZ,cAAAC,WAAA,KAAAC,GAAA,sBACA,MAEAC,gBAAA,WACA,YAAAkZ,SAAAjZ,cACA,KAAAiZ,SAAAjZ,cAAAH,WAAA,KAAAC,GAAA,sBACA,MAEAub,kBAAA,WACA,OACAnb,SAAA,KAAA+Y,SAAA9Y,YACAD,SAAAE,MAGAkb,gBAAA,WACA,OACApb,SAAA,KAAA+Y,SAAA9Y,YACAD,SAAAE,QAKA/G,QAAAX,8BAAA,GACA4H,eAAA,iCACAib,WAAA,SAAAC,GACA,KAAAC,eAAAD,GACA,KAAAxC,iBAEAA,cAAA,WACA,KAAAC,SACA,KAAAvX,QAAAmU,QAAA,CACAjU,MAAA,CACAhD,YAAA,KAAAqa,SAAApW,GACAlE,WAAA,KAAA2C,iBAIA,KAAAI,QAAAmU,QAAA,CACAjU,MAAA,CACAjD,WAAA,KAAA2C,iBAIA,KAAAG,MAAA,sBAAAwX,WAEA/X,cAAA,WACA,KAAAQ,QAAAmU,QAAA,CACApX,KAAA,aACAmD,MAAA,CAAAjD,WAAA,KAAA2C,kBAGA0Y,aAAA,WACA,KAAAf,SAAA,MAIAlV,cAAA,WACA,KAAAvC,MAAAka,KAAA,6BAAA1B,gBChOqW,ICQjW,G,UAAY,eACd,EACA,EACA,GACA,EACA,KACA,WACA,OAIa,I,wDCnByK/d,EAAM,W,IAAC,EAAM,KAAI,aAAC,OAAM,EAAG,MAAKsC,GAAI6F,SAAU,UAA4DhJ,OAA6Ba,MAAM,SAAC,aAAO,KAAM,CAAEsC,EAAG,OAACod,CAAmC1f,YAAM,a,MAAC,CAAa,KAAO,MAAYI,CAAE,EAAC,uE,YAASkC,iBAAmB,OAAIJ,KAAG,MAA2LlC,GAAK,sBAAC,U,MAAC,CAAU,aAAIkC,MAAG,W,GAA+B,CAAwB,0BAAiClC,GAAK,OAAC,kI,YAAS,kB,MAAS,CAAe,WAAcb,0BAAY,CAAc,MAAK,CAAOA,YAAY,eAA+Ha,GAAM,qB,MAAC,CAAyB,MAAQ,SAAoB,aAAO,KAAkB,GAACsC,MAAQ,CAAanD,YAAY,eAAiBa,GAAK,MAAC,C,YAAQ,qBAAG,8FAAE,MAAO2f,CAA2C3f,YAAM,WAAC,0BAAyB,KAAO,mBAA2C,iBAAG,YAAU,iBAAgDb,OAA4B,KAAC,MAA4B,4CAAE,MAAMkD,CAA4DrC,YAAM,WAAC,MAAQ,oBAAS,wBAAoEb,QAAY,+BAAuB,UAACa,YAAM,c,GAAC,CAAU,0BAAuEb,UAAY,+BAA2B,eAACa,MAAM,CAAC,MAAO,YAAM,CAACkC,EAAG,gCAAiB,wBAAClC,YAAM,wB,MAAC,CAAwB,W,CAAK,KAAO,IAAK4f,kDAAc,YAAC,4BAACtX,OAAqBE,KAAI,M,GAA+B,iBAAH,C,MAAI,C,SAA2BrJ,EAAW,U,UAAqC,EAAO,gB,YAAuB,O,IAAGiB,YAA2F,eAAG,WAAM,MAAK,CAAC8B,EAAG,SAAQ,IAAC/C,YAAY,cAAiB,MAAO,CAAEA,UAAY,GAAiB,MAAQ,UAAO,eAAU,GAAS,qFAAmD,OAAQ,UAAM,YAAC,aAACiB,CAAE,EAAC,Q,YAASkC,aAAa,WAAE,MAAK,CAAUtC,IAAM,GAAC,KAAO,GAAE,gCAAIsC,OAAO,OAA0CnD,MAAW,QAA4Ba,IAAO,MAAQ,c,CAAW,SAAQ,C,MAA0B,CAAgB,KAAO,KAASI,CAAE,EAAC,2C,YAASkC,cAAc,WAAE,MAAK,CAAUtC,IAAM,GAAC,KAAO,GAAE,gCAAIsC,OAAO,OAAuDnD,MAAW,Q,GAAe,CAAyB,qB,CAAsBqJ,EAAG,OAAC,C,MAAU,C,KAAW,K,MAAiC,wBAAS,qB,YAAO,O,MAACxI,C,oBAAe,M,YAAc,KAAQ,E,IAACsd,O,oBAA8B,WAACtd,YAAM,CAAC,OAAQ,Q,MAAyB,CAAe,gBAAgBb,UAAW,CAAe,YAAY,CAAEa,OAAM,S,MAAU,CAAU,MAAQ,SAA0B,QAAS,MAAO,aAAQ,KAAS,CAACkC,EAAG,QAAUlC,YAAM,e,CAAC,SAAO,CAAE,OAAIsC,IAAO,GAAuC,QAAM,MAAC,0BAAM,cAAK,MAAM,SAAe,GAAO,OAAI,CAASnD,OAA0Bme,UAA4B,8C,OAAgBA,G,KAA8B,O,GAACtd,W,MAAO,GAAO,OAAC,C,YAAmB,c,YAAM,CAAe,gBAAgBb,UAAW,CAAe,YAAY,CAAEa,OAAM,S,MAAU,CAAU,MAAQ,SAA0B,QAAS,MAAO,aAAQ,KAAS,CAACkC,EAAG,QAAUlC,YAAM,e,CAAC,SAAO,CAAE,OAAIsC,IAAO,GAAwC,QAAM,MAAC,0BAAM,cAAUrC,MAAS4f,SAA6E,GAAK,OAAC,CAACvC,MAAY,CAAC,KAAY,KAAuB,+CAAcA,aAA6B,0BAA2qBV,EAAW,KAAtrB,UAAG,YAAakD,2BAAkC,SAAU,C,YAAW7L,CAAE,YAAa,QAAE9U,gB,GAAiE,MAAO,C,YAAG,C,OAAwB,WAAU,EAAI,GAAC,wBAAc,Y,OAACA,QAAY,CAA4Cme,O,CAAa,SAAS,CAAM,0DAAE,MAAK,CAAOne,QAAoBme,UAAY,IAAC,iBAAwB,CAAChb,EAAG,OAAW2R,CAA0BqJ,YAAY,4C,YAAU,CAAQ,gBAAuB,CAACpb,EAAG,OAAkB/C,YAAY,QAAoB,YAAQ,CAAK,cAAY,UAAuB,MAAQ,KAAM,yBAAC,YAAY,CAAI,eAAC4gB,cAAM,SAA4BtC,qB,YAA6BuC,sBAAmB,WAACpD,KAAW,UAAgB,OAAI1a,MAAG,OAAUlC,WAAM,IAAc,OAAIkC,MAAG,EAAQ,eAAEob,SAAW,SAAC,GAAC,iBAAU,GAAc,WAAU,mB,CAAqB9hB,SAAK,C,MAAOihB,CAAiBvf,MAAOoF,QAAkC,CAAC,YAACnD,YAAY,CAAamD,QAAW,eAAkDkG,IAAIjL,GAAK,S,WAAO,E,KAAC,O,QAAwB,SAAQ,gBAAG,uBAAgBmE,YAAY,a,EAAClG,GAAK,YAAM,K,OAACihB,EAAO,qBAAS,CAACvf,IAAK,EAAgB0f,OAAuB,eAACzd,MAAY,cAAkFqJ,GAAG,EAACyX,MAASrZ,C,WAAGzH,CAAW,CAAwB,KAAK,OAAaa,QAAM,S,OAAC,U,WAA8C,a,YAAkC,a,CAACI,EAAG,4B,OAAC,SAAcwf,C,IAAe,EAAW,GAAqB,oCAAI,GAAG,aAAItd,MAAI4d,CAAqD/gB,kBAAY,iBAAgC,QAAS,EAACA,SAAY,YAAkC,IAAiB,yBAACa,UAAM,uBAAiB,MAAIkC,EAAG,eAAiB,wBAAClC,YAAM,6B,CAAC,UAAuB,YAAC,qBAACI,YAAG,CAAC,OAAQkC,SAAoBgG,OAAqBE,MAAI,W,GAA+B,iBAAH,C,MAAI,C,SAAiC,Y,UAAiC,EAAM,gB,YAAiC,EAAQ,GAAC,E,mBAAqB,YAAC,IAAEpI,EAAK8B,EAAG,G,MAAe,GAAC,a,MAAC,CAAS,uBAAII,IAAO,GAAoCnD,QAAuDmD,MAAO,qBAA8F,cAAQ,MAAO,SAC72L,cACGM,OAEKf,KAAQe,K,gZCJwR,W,MAAIV,K,IAAmB/C,S,OAAmB,EAAE+C,OAAG,C,YAAiD,O,0BAAoB,G,IAAG,W,MAACoG,SAAe,CAACC,EAAG,OAAC,C,YAAK,wC,MAAe,C,KAAa,G,UAAe,I,OAAqB,S,UAAqB,I,CAAuD,UAAC,YAAQ,QAAO,CAACrG,EAAG,SAAS,EAAK,YAAc,EAACI,QAAO6d,CAAwDngB,MAAM,CAAC,OAAU,GAAa,SAAyBI,YAAG,OAAC,gBAA2B,eAACkI,MAAYhG,EAAM,GAAGkG,MAAI,UAAW,MAAI,OAAWpI,KAAEggB,GAAI,KAAW,KAA8I,GAAK,GAAI,4CAAmGpgB,MAAM,I,CAAC,UAAU,GAAI,cAAQ,uD,MAAC,CAAwB,mBAAG,SAAC,YAA4B,GAAC,CAACsI,MAAW,EAAChG,gB,YAA4B,EAADmG,GAAA4X,E,IAAiB,Y,GAAC,SAAW,GAAsJ,WAAI,MAAK,GAAI,2GAA+BrgB,MAAM,KAAC,OAAU,EAAI,cAACggB,2DAAc,MAAC,CAAG,SAAC,UAAC,SAAW,EAACM,UAAkB,GAAI,CAAwJtgB,OAAM,kBAAyB,mBAAIkC,IAAG,YAAoJlC,GAAK,SAAC,GAAC,IAAM,OAA2C,MAAQ,CAAC,yHAAc,MAAC,KAAmR,EAAC,e,MAAC,CAA2B,2BAA4Bb,IAA0B+C,MAAG,EAAS,mB,CAAQ,SAAQ,gHAAK,OAAII,GAAM,EAAC,kBAAwL,CAACJ,EAAG,OAAM,6GAAC/C,OAAsBmD,KAAOA,yBAA0B,OAAK,EAAK,QAAC,IAACnD,OAAW,WAA0HA,UAAY,8MAAkC,GAAGmD,CAA6CnD,MAAW,EAAC,kB,CAAkC,SAAU,C,YAAS,aAAc,WAAE,MAAK,CAAUa,MAAM,Q,CAAW,KAAO,gBAAC,8EAAE,wEAAG,CAACsC,EAAG,MAAI,CAA2HnD,YAAY,SAAea,GAAK,GAAC,iC,YAAW,mB,CAAC,KAAO,IAAC,kFAAiB,+CAAG,CAAa,GAAZkC,EAAG,QAAQ,cAAC,UAAClC,YAAM,2B,MAAC,CAAU,MAAQ,GAAE,uBAAuIb,UAAW,CAAgBa,MAAM,CAAC,KAAO,GAAI,MAAQ,KAAoB,CAACkC,EAAG,0BAAS,qFAAClC,YAAM,e,MAAC,CAAU,MAAQ,GAAE,0BAAgJb,UAAW,CAAwCa,MAAM,CAAC,KAAO,GAAW,MAAS,KAAM,CAACsC,EAAID,GAAG,uBAAmB,wCAAmD,MAAKC,GAAkC,GAA9B6D,UAAQoa,cAA0B,EAAC,OAAM,CAACphB,YAAY,eAAkB,MAAK,CAAQA,MAAW,GAAamD,MAAO,oBAAuJ,CAACJ,EAAG,OAAM,CAAE/C,OAA4CmD,KAAO,GAA8DnD,MAAW,KAAyL,MAAS,uBAAO,+F,YAAKqhB,uCAAe,MAAM,CAAUrhB,gBAAmEa,UAAM,K,GAAW,QAAW,EAAC,uG,YAAG,mBAAE,GAAEkC,OAAG,C,YAA0B,W,CAA6Cob,SAAY,yG,YAAS,mB,CAAO,UAAC,YAAW,+B,CAAEne,SAAY,mDAAO,YAAU,U,CAAyFA,SAAY,2BAAmC,2G,OAAM,EAAC,O,IAAC,EAAS,IAAQ,WAACiB,YAAG,uD,MAAC,CAAc,QAAI8B,UAAG,MAA8C,CAAEse,SAAaC,CAAoCthB,YAAY,4CAAc,YAAY,CAAqIa,OAAM,S,CAAa,QAAO,CAAE,YAAC,SAACsI,UAAYhG,EAAM,GAAE,mE,YAAK,oC,MAAe,C,OAAa,S,UAAsC,I,UAA4B,C,YAAE,kB,GAAU,yBAAU,S,YAAO,e,MAAC,IAAO,EAAG,mG,cAAgB,G,KAAIA,IAAmC,YAAQ,EAAI,KAAIJ,IAAG,YAA6FlC,GAAK,SAAC,GAAC,MAAW,EAACwgB,GAAuB,gBAAkB,EAAI,GAACra,CAAQ,OAAI,QAAC,KAAa,GAAoB,WAA0B,aAAW,CAAI,OAAW/F,MAAEsgB,GAAI,MAAW,UAA4I,CAAI,EAAC,GAAI,+BAAkI,U,CAAC,UAAQ,iBAASC,EAAO,sD,MAAC,CAA4C,sBAAC,8BAA4BxhB,IAA0B+C,QAAW,EAAC,oB,YAAgB,OAAK,gBAAII,GAAID,SAAG,GAAgHlD,MAAY,KAAiE,MAAC,CAAO,EAAC,yGAAyBa,MAAM,KAAC,OAAQ,kFAAQ,IAAIsC,MAAQke,SAAaI,GAGnsM,OAAU,sBAAQ,M,GAAuB,OAAO,C,YAAG,aAAE,GAAE1e,OAAQ,C,MAAgC/C,CAA+B,MAAS,QAAuG,GAAEmD,GAAID,gBAAcwe,WAAWC,EAAQC,GAAK,EAACC,iBAAqB,IAAC,GAAI1e,EAAI6F,MAAG2Y,IAAQG,KAAUC,WAAetH,OAAW,C,YAAoC,8DAAoB,GAAEtX,OAAO,CAA+C,YAAEke,YAA6DxgB,MAAM,CAAC,MAAO,WAAM,CAACkC,EAAG,KAAY,gDAAClC,OAAM,UAAC,MAAS,GAAG,OAACsI,KAAW,MAA0BG,CAAE,EAAC,OAAHA,EAAE,UAAiB,S,YAAH0Y,oB,CAAI,KAAO,IAAI,EAAK,GAAC7e,EAAO,mD,YAACnD,W,CAAoC,EAAEiB,GAAG,IAAMiC,EAAG,cAAame,QAAaI,sBAAwBzjB,IAAO,EAAI,GAAC,EAAO,2FAAG,CAAC,EAAI,GAAC,IAAI,yCAAGmF,EAAQke,wBAAaI,OAAwBxS,EAEv2B,EAAG,QAAkB,MAAOlM,CAAUsG,KAAI,MAAqM,CAAC,EAAG,QAAMgY,CAA8DxgB,MAAM,CAAC,OAAO,IAAK,YAAW,OAACb,gBAAiCmD,GAAID,SAAU,GAA6ElD,MAAY,KAAYmD,MAAO,CAAG,EAACA,MAAOue,MAAmQ1hB,YAAY,0BAAkD,mEAAmB,UAAY,qDAAE,OAAMkD,EAAG,MAAIC,CAAyFnD,eAAkB,MAACa,GAAM,gJAAC,OAAkB,IAAT,EAAS,yC,MAAC,CAAiB,WAAkB,CAACkC,EAAG,MAAO,CAAElC,YAAM,oB,CAAC,KAAM,IAAC,kEAAG,uBAAG,CAACkC,EAAG,OAAQ,uNAAC/C,YAAY,4CAA0Ca,MAAM,CAAC,MAAO,UAAG,eAA6Fb,UAAY,iDAAkB,gCAACa,YAAM,O,MAAC,CAAU,iBAAIsC,MAAO,SAAqItC,aAAM,KAAW,WAAE,MAAOohB,CAAqEphB,KAAM,OAAU,UAAiB,YAAC,0CAACsI,OAAqBE,KAAI,M,GAA+B,GAALpI,IAAEihB,EAAFjhB,GAAE,sD,YAAY8B,mB,MAAqC/C,C,KAAwBa,M,GAAiB,iH,MAAG,CAAkC,WAAgB,CAACkC,EAAG,YAAWG,EAAW8F,YAAU,qBAA+B,CAAgEmV,OAAa,OAAiB,mB,YAAkB,MAAQ,CAAC,gBAAe,eAAM,IAAC,EAAO,EAAK,GAActd,MAAM,+BAAC,YAAWwgB,YAAa,MAASle,CAA2B,MAAc,KAAmB,oCAA8B,MAAM,IAACgb,SAAY,kGAAC,YAAQ,CAAQ,gBAAsCpb,MAAG,CAAwBlC,QAAM,SAAC,aAAcmG,KAAY,CAAC,EAAG7D,OAAIgf,gBAAkB,CAAc9Y,MAAG,CAA4DxI,SAAM,EAAC,OAAU,yBAAQ,iBAAM,cAAS,OAAiC,IAACuhB,KAAa,MAAO,MAA4DvhB,EAAK,MAAC,C,YAAY,CAA2B,cAA+B,qC,CAAK,yBAAcwhB,CAAkB,MAAC,CAAClZ,QAAYhG,EAAIiG,YAAqBE,GAAG,qBAAgB,U,IAAA,oBAAH,yC,MAAI,C,QAA2BtJ,W,UAA0B,C,YAAS,e,iBAAkB,eAAgB,2C,iBAAwB,EAAC,sB,mBAAO,W,YAAkC,sB,YAA2B,O,mBAAU,YAAC,IAAGmD,EAAID,EAAG,G,MAA0BlD,UAAY,MAA+B,YAAY,OAAwD,OAAQ,IAAK,GAAQyJ,KAAQ,GAAkB,uBAAG,cAAG,cAE3iGhG,GAAgB,CAEHA,4B,qbCTsWmE,GAAI,W,IAAS,EAAC,K,EAAC,QAAS,G,OAAiB4Z,SAAOlP,C,MAAiB,CAAE,oBAACsO,MAAM,O,YAA4B,MAATtC,C,IAA4B,YAAU,GAAC,YAACb,MAAU,EAAC,GAAO,8BAAO,WAAkKzd,SAAmBa,MAAM,CAAC,QAAS,OAAG,qBAACsI,SAAgBC,GAAqBE,WAAG,W,GAAiB,UAAW,EAAK,OAAO,CAAC,EAAE,QAAMvG,C,cAAsC,CAA2C,mBAAI,EAAK,mB,MAAsG,CAAU,MAAM,EAAG,MAAC,SAAQ,YAAG,WAAK,WAAQ,U,CAAmC,WAAC,uDAAG,CAACA,EAAG,OAAQ,GAAEI,GAAID,EAAG,QAAY,8BAA0B,sBAACrC,YAAM,O,MAAC,CAAiB,WAA+B,YAAC,OAAC+f,IAAM,YAAC7iB,YAAWukB,GAAahE,MAAS,KAAgBnb,MAAImf,SAAYC,EAAG,oBAAC,2BAAC9E,GAAU,GAAC,qCAAmB,MAAC,eAAyC5c,GAAK,MAAC,0D,MAAC,CAAW,QAA8B,QAAIkC,MAAS,IAAwB,GAAEI,CAAwEtC,MAAM,YAAC,EAAM,QAAI,KAAkC,CAACkC,EAAG,OAAM,CAAC,uCAAC/C,OAAwBmD,UAAW6F,EAAyFnI,aAAM,GAAC,aAAU,IAA+B,OAAIkC,MAAG,EAAO,YAAC/C,SAAW,SAAC,GAAYmD,EAAM,YAAc,GAA4GtC,WAAM,gBAAW,uBAAE,MAAK,CAAkCA,KAAM,IAAC,SAAUsC,EAAIqf,YAAW,I,CAAuB,SAAQrf,C,YAA2C,WAAI,mDAACyd,MAAM,CAAC7iB,KAAOoF,IAAUmb,SAAS,cAAUiE,I,CAAkB,EAAC,Q,YAAW,WAAO,+EAAG,MAAKxf,CAAgElC,KAAM,IAAC,SAAQ,cAAe,I,CAAW,SAAU,CAAW,YAAC,WAACI,CAAE,EAAC,6E,IAAC,e,MAA4B,CAAe,WAAI,CAACkC,EAAG,OAAQA,GAAI6F,QAAU,CAAgCnI,MAAM,CAAC,QAAQ,cAAU,MAAO,EAAE,UAAC,MAAS,EAACsC,GAAIsf,0BAAO,a,MAAK,C,MAA8B,EAACC,KAAsB,qBAAC,UAA6ErZ,WAAI,WAA+B,KAAO,uCAAG,OAAItG,MAAG,gBAAe/C,QAA0C+C,SAAW,EAAI,QAAyDlC,IAAO,MAAO,YAAI,e,CAA0F,KAAM,4CAAI,OAAK,MAAM8hB,UAAiC9hB,KAAM,GAAC,QAAO,U,GAAqB,CAAU,eAAY,GAAE,wBAA0JA,GAAK,GAAC,iD,IAAC,wBAAW,OAAKsC,KAAIrC,M,CAAmD,UAAc,C,YAAe,6B,CAAI,SAAQqC,GAAIwf,Q,YAAkD,oC,MAAyB,CAAuB,Y,CAAkE,KAAMxf,IAAIyf,OAAa,GAACzf,mCAAY,iB,MAAM,CAAgC,W,CAA4B,uBAA6G,OAAhG,WAAE,MAAC,CAACyd,KAAM,UAAC7iB,MAAOoF,GAAmBmb,KAAQ,G,UAAqBuE,K,CAAmBpF,SAAW,oFAAe,wCAAG,MAAI,CAAiB5c,KAAM,O,CAAmB,WAAY,WAAE,c,MAAC,CAA8D,eAAe,GAAU,UAAY,GAAW,0BAAgC,4BAAC,eAAaiiB,UAAoB,OAAS,EAACF,UAA2B,gBAAUA,eAA2B,OAAU,EAAC,oBAAG,+BAAChC,IAAM,2BAAC7iB,SAAW8kB,GAAevE,WAAS,G,aAAoBuE,I,MAAmBpF,CAA0B,sBAAI,SAAQ,SAAO,GAA6D5c,EAAM,iBAAyB,WAAS,mBAAuB,WAACI,MAAG,CAAC,eAAY8hB,GAAQ,aAAI5f,MAAO,EAAIA,kBAAc,UAAgB,kBAAgBtC,eAAM,UAAC,OAAQ,YAAU,gBAAS,eAAC,OAAS,EAAI,oBAAQ,+BAAG,IAAC,2BAAC,SAAQ,I,MAA6F,CAAC,sBAAIsC,SAAU,SAAe,GAAmD,EAAC,iBAA4B,WAAO,oBAAOJ,IAAG,SAAc,QAAW,EAAEA,OAAW,sBAAClC,MAAM,CAAC,MAAO,gBAAK,KAAK,GAAI,SAAK,UAAK,GAAI,CAAkBA,MAAM,aAAa,kDAACsI,OAAqBE,MAAI,UAAQC,KAAG,G,QAAmBnG,EAAID,Q,GAAqEsG,CAAY,MAAM,SAAM,GAAiB,EAAC,gE,GAAiDrG,GAAI6f,MAAU,GAACT,EAAG,sC,IAAC,qB,MAAC9E,CAAuB,WAA4C,UAAU,GAAS,OAAC,W,MAAI,CAAgB5c,KAAM,K,GAAC,I,GAAY,M,CAA2B,WAAC,MAAE,CAAG,OAAQsC,I,YAA8E,EAAI,KAAC,IAAI,QAAK,GAAI,WAAI,0EAAwBtC,OAAM,IAAC,MAAO,EAAO,Y,MAA4C,CAAgE,QAAU,WAAe,SAAM,YAAG,gBAAQ9C,WAAWklB,e,EAA6C9f,GAAI8f,wBAAsB,K,OAAC,WAACxF,WAAW,YAAoB,OAAM,MAAMhU,EAA6E5I,MAAM,MAAC,MAAQ,UAAgD,8DAACI,MAAG,CAAC,KAAO,KAAa,OAAIkC,GAAM,M,CAA0D,kBAAiB,C,MAAC,CAAqB,oDAAG,YAAC,gDAAC,SAAW,EAAC+f,UAAM,QACnvL,OACGzf,2BAEJ,SAAe,SAAiB,G,wbCEjB,IACfpH,KAAA,gBACAqN,WAAA,CAAAyZ,qBACA1mB,MAAA,CACAohB,SAAA,CAAA9e,KAAA4E,OAAAC,UAAA,GACAkd,SAAA,CAAA/hB,KAAA4E,OAAAC,UAAA,EAAAvE,QAAA,OAGAU,KAAA,eAAAS,EAAA,KACA,OACA6d,OAAA,KACAwE,cAAAO,OAAAC,SAAAC,cAAA7W,OAAA,MACAwW,oBAAA,EACAP,KAAA,KACAM,WAAA,EACAO,YAAA,MAAA7e,GAAA,aAAAA,GAAA,cAAAA,GAAA,UACA8e,kBAAA,EACAC,QAAA,KACAC,QAAA,KACAC,OAAA,EACAC,UAAA,CACA,SAAArS,GAAA,QAAAA,GAAA/Q,EAAAkE,GAAA,sBACA,SAAA6M,GAAA,QACAA,KAAAvT,QAAAwC,EAAAgiB,aAAAhiB,EAAAkE,GAAA,sBAEA8d,YAAA,GACAqB,UAAA,KACAC,UAAA,KACAxB,YAAA,EACAyB,WAAA,EACAtB,QAAA,IAIArlB,SAAAE,6CAAA,CACA0mB,UAAA,WACA,OAAA7Y,mBAGAwX,kBAAA,WACA,YAAAG,oBAAA,KAAAD,iBAEA9e,eAAA,wBACAA,eAAA,4BACAA,eAAA,uCAGAyG,MAAA,CACA6T,OAAA,SAAAnf,GAGA,GAFA,KAAA2kB,YAAA,KAAA/C,SAEA5hB,EAAA,CACA,QAAA2e,SAAA,CACA,KAAAiG,UAAA,KAAAhD,UAAA,CAAAtd,YAAA,KAAAqa,SAAApW,IAEA,IAEAwc,EAAAC,EAFAC,EAAAnf,IAEA,QAAAof,UACA,KAAAX,QAAAL,KAAA,QAAAa,EAAA,KAAAI,yBAAA,IAAAJ,OAAA,EAAAA,EAAAK,cAEA,KAAAZ,QAAAN,KAAA,QAAAc,EAAA,KAAAG,yBAAA,IAAAH,OAAA,EAAAA,EAAAK,YAAAC,SACAL,EACA,aAGA,KAAAM,qBAGA,KAAA5B,cAAAO,KAAA,KAAAK,QAAA,uBACAJ,SACAC,cACA7W,OAAA,MAGA,KAAAqU,WACA,KAAA4B,KAAA,KAAA5B,SAAA4B,KAEA,KAAAG,cAAAO,KACA,KAAAtC,SAAA4D,cACA,uBAEArB,SACAC,cACA7W,OAAA,MAEA,KAAAuW,WAAA,KAAAlC,SAAA6D,eAAA,EACA,KAAAnB,iBAAA,KAAA1C,SAAA8D,kBACA,KAAA3B,mBAAA,KAAAnC,SAAAmC,oBAGA,KAAAX,YAAA,KAKArkB,QAAA,CACAwmB,mBAAA,eAAAI,EAAAC,EACAX,EAAAnf,IAEA,KAAAye,QAAAL,KAAA,QAAAyB,EAAA,KAAAR,yBAAA,IAAAQ,OAAA,EAAAA,EAAAP,cACA,KAAAZ,QAAAN,KAAA,QAAA0B,EAAA,KAAAT,yBAAA,IAAAS,OAAA,EAAAA,EAAAP,YAAAC,SACAL,EACA,SAGApB,SAAA,WACA,KAAAT,YAAA,SAAAA,aAAA,IAGAyC,SAAA,WACA,KAAAzC,YAAA,KAAAyB,aAAA,KAAAzB,aAAA,IAGA3S,aAAA,SAAAzF,GACA,OAAAkZ,KAAAlZ,GAAA8a,UAAA,KAAAvB,QAAA,KAAAC,QAAA,YAGAZ,oBAAA,SAAA5Y,GACA,QAAAka,WAAA,KAAAa,cACA,SAGA,SAAAb,YAAA,KAAAvG,SAAAqH,YACA,SAGA,IAAApG,EAAA,KAAAjB,SAAArZ,EAAAsa,EAAAta,cAAAI,EAAAka,EAAAla,cAEAugB,EAAA/B,KAAA5e,EAAA,cACA4gB,EAAAhC,KAAAxe,EAAA,cACAygB,GAAAjC,KAAAlZ,GAAA8a,UACAG,EACAC,EACA,KACA,MAEA,OAAAC,GAAA,KAAA1V,aAAAzF,IAGA0Y,cAAA,SAAA1Y,GACA,OAAAkZ,KAAAlZ,GAAAoC,OAAA,eAGAgZ,SAAA,WACA,YAAA/c,MAAAgd,KAAAD,YAGAE,SAAA,WACA,KAAA9C,KAAA,KACA,KAAAG,cAAA,KACA,KAAAG,WAAA,GAGAE,OAAA,eAAA5U,EAAA,KACA,QAAAqV,OAAA,KAAA2B,WASA,QAAA3V,aAAA,KAAAkT,eAAA,CASA,KAAAJ,QAAA,EAEA,KAAAgD,6BAEA,IAAAC,EAAA,KAAAC,wBAEAD,EACAE,MAAA,SAAAC,GACAvX,EAAA+P,QAAA,EACA/P,EAAAmU,QAAA,EAEAnU,EAAAuV,WAAAvV,EAAAkX,WAEAlX,EAAAjI,MAAA,QAAAwf,EAAA9lB,MAEAuO,EAAAlI,MAAAC,MACA,SACA,UACAiI,EAAA5J,GAAA,uCAGAohB,OAAA,SAAAnf,GAAA,IAAAof,EAAAC,EACA1X,EAAAmU,QAAA,EACA,IAAAwD,GACA,OAAAtf,QAAA,IAAAA,GAAA,QAAAof,EAAApf,EAAAkf,gBAAA,IAAAE,GAAA,QAAAC,EAAAD,EAAAhmB,YAAA,IAAAimB,OAAA,EAAAA,EAAAC,UAAA3X,EAAA5J,GAAA,2BACA4J,EAAAlI,MAAAC,MAAA,iBAAA4f,WAjCA,KAAA7f,MAAAC,MACA,SACA,QACA,KAAA3B,GAAA,uCAZA,KAAA0B,MAAAC,MACA,SACA,QACA,KAAA3B,GAAA,kCA2CAihB,sBAAA,WACA,YAAA9B,UACA,KAAAqC,KAAAnI,UAAAoI,OAAA,KAAArC,WACA,KAAAoC,KAAAnI,UAAAqI,OAAA,KAAAtC,YAGA2B,2BAAA,WACA,KAAA3B,UAAAb,mBAAA,KAAAA,mBACA,KAAAa,UAAApB,KAAA,KAAAA,KACA,KAAAoB,UAAAY,cAAAtB,KAAA,KAAAP,eAAAvW,OACA,uBAEA,KAAAwX,UAAAa,cAAA,KAAA3B,WACA,KAAAc,UAAAc,kBAAA,KAAApB,oBC5NqW,MCOjW,GAAY,eACd,GACA,GACA,IACA,EACA,KACA,KACA,MAIa,M,WClBqN,W,IAAA,OAAC,EAAG,EAAI,MAAM,G,OAAM,EAAC,Q,MAAM,CAAclF,WAAS,S,MAAoBD,O,YAAsB,EAAC,KAAQ,gBAAItb,GAAG,SAAY,GAAiB/C,MAAY,KAA0Ca,MAAM,wBAAC,WAAmCb,SAA+B,MAAMkD,CAA2HrC,MAAM,SAAC,SAAS,YAAG,YAAsBwI,WAAI,W,GAA+B,OAAH,CAAA0W,SAAA,C,YAAYhd,0C,MAAqC/C,C,gBAAmC,KAAmC,CAAC,UAAE,YAAYmD,oBAAyHnD,4BAAY,kFAAO,MAAMkD,CAA8J,OAAU,I,YAA2C,O,IAAC,Y,GAAmB,SAAQ,GAAS,MAAQ,KAAE,qCAAM,YAAY,eAAe,GAAC,0CAAa,GAAEH,MAAQ,GAAC,oG,YAAY,QAAS,GAAEI,GAAID,IAAO8F,EAAGqd,KAAQ3D,sCAAsB,oF,OAAM,EAAC,Q,IAAC,WAAU,K,MAAC,CAAgB,iBAAI3f,MAAG,SAAYlC,MAAM,K,CAAsD,YAAY,Q,MAAmB,CAAkB,KAAO,M,CAA2E,QAAU,C,YAAc,S,CAAC,YAAgB,qBAAE,MAAC,CAAC+f,KAAM,IAAC7iB,MAAOoF,W,GAAqDA,OAAImjB,C,MAA2B,CAAC7I,QAAW,mCAAwB,+BAAI,aAAO,KAAS5c,MAAM,kDAAC,SAAO,SAAG,YAAIkC,MAAG,GAASlC,gBAAM,I,MAAoB,CAAI,QAAU,uBAAG,SAAS,YAAC,yBAAe4hB,GAAU,WAAC,6B,GAA0B,SAAW8D,C,MAA4B,CAAC,WAAkE,CAAC,EAAExjB,OAAG,CAA8ClC,MAAM,CAAC,MAAQ,MAAgB,IAAO,GAAG,UAAWsC,GAAW,QAAI,mBAAwB,IAAIA,MAAU,SAAc,GAA+D,OAAC,4BAAkC,UAAWA,GAAIsf,4CAAO,iCAACxhB,MAAG,CAAC,MAAQkC,gBAAkB,QAAIA,SAAU,EAAI,Q,GAA+D,CAAwB,MAAO,EAAE,cAAuB,2EAAClC,MAAG,CAAC,MAAQkC,eAAU,QAAIA,SAAU,EAAI,Q,GAAkD,CAAkB,MAAS,EAACA,iBAAYlC,CAAE,EAAC,wD,MAAC,CAAkB,sBAAIkC,KAAO,GAC3mF,mBAGD,I,0LCFe,IACf1G,MAAA,CACAohB,SAAA,CAAAxe,QAAA,aAAAN,KAAA4E,QACAmd,SAAA,CAAAzhB,QAAA,aAAAN,KAAA4E,SAGA5D,KAAA,WACA,OACAse,OAAA,KACAoE,QAAA,EACA6D,uBAAA,GACAE,SAAA,KAIAppB,SAAAE,eAAA,GACAyG,eAAA,4BAGA9F,QAAA,CACAwoB,YAAA,WACA,IAAAC,EAAA,SAAAC,GAAA,OAAAA,EAAAhJ,YACAiJ,EAAA,SAAAC,EAAAlJ,GAAA,OAAAkJ,EAAA1mB,OAAAwd,IACA,KAAA2I,uBAAA,KAAAE,SACA7Z,IAAA+Z,GACA5X,OAAA8X,EAAA,KAGAE,eAAA,WACA,KAAAR,uBAAA,IAGAC,iBAAA,SAAAQ,GACA,KAAAT,uBAAA,KAAAA,uBAAA7U,QACA,SAAA2N,GAAA,OAAAA,EAAA7b,YAAAwjB,MAIAC,OAAA,WACA,KAAA3I,QAAA,GAKA4I,cAAA,SAAAzH,GACA,OAAAA,EAAA0H,QAAAzH,SAAA,KAAA5B,SAAA4B,SAGAyD,OAAA,eAAA1iB,EAAA,KACA,KAAAiiB,QAAA,EAEA,IAAA0E,EAAA,KAAAb,uBAAA3Z,KAAA,SAAAyS,GAAA,OAAAA,EAAA3X,MAEA,KAAAye,KAAAnI,UACAqJ,qBACA,KAAAtG,SAAArZ,GACA0f,EACA,KAAAjhB,eAEA0f,MAAA,SAAAC,GACArlB,EAAA6d,QAAA,EACA7d,EAAAiiB,QAAA,EAGAjiB,EAAAqjB,WAAArjB,EAAAsmB,iBAEAtmB,EAAA6F,MAAA,SAAAwf,EAAA9lB,SAEA+lB,OAAA,SAAAuB,GAAA,IAAAC,EAAAC,EACA/mB,EAAAiiB,QAAA,EAEA,IAAAwD,GACA,QAAAqB,EAAAD,EAAAxB,gBAAA,IAAAyB,GAAA,QAAAC,EAAAD,EAAAvnB,YAAA,IAAAwnB,OAAA,EAAAA,EAAAtB,UACAzlB,EAAAkE,GAAA,gCACAlE,EAAA4F,MAAAC,MAAA,iBAAA4f,QAKA7V,QAAA,eAAA9B,EAAA,KACA,KAAA4X,KAAAM,SACAgB,oBACA5B,MAAA,SAAAC,GACAvX,EAAAkY,SAAAX,EAAA9lB,QAEA+lB,OAAA,SAAAuB,GAAA,IAAAI,EAAAC,EACApZ,EAAAmU,QAAA,EAEA,IAAAwD,GACA,QAAAwB,EAAAJ,EAAAxB,gBAAA,IAAA4B,GAAA,QAAAC,EAAAD,EAAA1nB,YAAA,IAAA2nB,OAAA,EAAAA,EAAAzB,UAAA3X,EAAA5J,GAAA,gCACA4J,EAAAlI,MAAAC,MAAA,iBAAA4f,QC5FuW,MCOnW,GAAY,eACd,GACA,GACA,IACA,EACA,KACA,KACA,MAIa,M,+CCLA,IACf5pB,KAAA,mBAEAqC,OAAA,CAAA+f,OAAAkJ,SAEAje,WAAA,CACAke,iBACAC,sBACAC,mBACAC,mBACAC,4BAGAvrB,MAAA,CACAuK,QAAA,CACAjI,KAAA4E,OACAC,UAAA,GAEAia,SAAA,CACA9e,KAAA4E,OACAC,UAAA,GAEAid,eAAA,CACA9hB,KAAApC,QACA0C,SAAA,IAIAjC,SAAAE,4DAAA,GACAyG,eAAA,SACA,YACA,4BACA,iBAEAA,eAAA,wCACAA,eAAA,kCACAkkB,SAAA,eAAAC,EAAAC,EAAAC,EAAA5nB,EAAA,KACA6nB,EAAA,QAAAH,EAAA,KAAAI,mBAAA,IAAAJ,GAAA,QAAAC,EAAAD,EAAAK,iBAAA,IAAAJ,OAAA,EAAAA,EAAAhJ,MACA,SAAAkJ,GAAA,OAAAA,EAAA5I,UAAAjf,EAAA2D,YAAAsD,MAEA,eAAA2gB,EAAA,OAAAC,QAAA,IAAAA,OAAA,EAAAA,EAAAG,aAAA,IAAAJ,IAAA,GAEAK,aAAA,WACA,YAAAC,aAAA,KAAAT,UAAAU,QAAA,IAEAC,sBAAA,WACA,YAAA5hB,QAAA6hB,cAAA7qB,OAAA,GAEA8qB,kBAAA,WACA,OACA,KAAA1G,cAAA,KAAA2G,GAAAC,UAAAC,OACA,KAAA7G,cAAA,KAAA2G,GAAAC,UAAAE,SAGAC,gBAAA,eAAAC,EAAAC,EAAAvK,EACA,OACAzb,KAAA,aACAmD,MAAA,CACAjD,WAAA,QAAA6lB,EAAA,KAAAd,mBAAA,IAAAc,OAAA,EAAAA,EAAA3hB,GACA6hB,YAAA,QAAAD,EAAA,KAAAriB,eAAA,IAAAqiB,OAAA,EAAAA,EAAA5hB,GACAjE,YAAA,QAAAsb,EAAA,KAAAjB,gBAAA,IAAAiB,OAAA,EAAAA,EAAArX,MAIA0a,mBAAA,eAAAoH,EAAAC,EACA,eAAAD,EAAA,KAAAviB,eAAA,IAAAuiB,GAAA,QAAAC,EAAAD,EAAAV,qBAAA,IAAAW,OAAA,EAAAA,EAAAxrB,QAAA,KAAAyrB,aAEAA,YAAA,WACA,YAAAC,MACA1kB,IACA,KAAA2kB,6BAIA1rB,QAAA,CACAgkB,YAAA,SAAA2H,GAAA,IAAAtb,EAAA,KACA,OAAAsb,EAAAzK,MACA,SAAA3S,GAAA,IAAAqd,EAAA,OAAArd,EAAAsd,gBAAA,QAAAD,EAAAvb,EAAAyb,uBAAA,IAAAF,KAAA1qB,SAAAqN,EAAAwd,cAGAC,mBAAA,SAAA5I,GACA,IAAA6I,EAAAC,oBAAAC,QAAAC,GAAA,gBACAC,EAAAlH,KAAA/B,EAAAC,0BACAkD,SAAAxf,IAAA,QACAsH,OAAA4d,GAEAK,EAAAnH,KAAA/B,EAAAC,0BACAkJ,IAAAxlB,IAAA,QACAsH,OAAA4d,GAEA,YAAAxlB,GAAA,QAAA4lB,EAAAC,KAEA7B,WAAA,WACA,IAAA+B,EAAA,SAAAC,GAAA,cAAAA,EAAAC,MAAAD,EAAAC,MAAAD,EAAA9I,KAAA,GACAgJ,EAAA,SAAAC,GAAA,OAAAA,EAAApJ,wBAAA9U,IAAA8d,IACA7D,EAAA,SAAAC,EAAAiE,GAAA,OAAAjE,EAAA1mB,OAAA2qB,IACAC,EAAA,SAAAC,EAAAC,GAAA,OAAAD,EAAAC,GACA,YAAAjkB,QAAA6hB,cACAlc,IAAAie,GACA9b,OAAA8X,EAAA,IACA9X,OAAAic,EAAA,GACApC,QAAA,IAEAuC,kBAAA,SAAA7J,GACA,IAAAoJ,EAAA,SAAAC,GAAA,cAAAA,EAAAC,MAAAD,EAAAC,MAAAD,EAAA9I,KAAA,GACAmJ,EAAA,SAAAC,EAAAC,GAAA,OAAAD,EAAAC,GACA,OAAA5J,EAAAI,wBACA9U,IAAA8d,GACA3b,OAAAic,EAAA,GACApC,QAAA,IAEAwC,oBAAA,SAAA9J,GACA,YAAA6J,kBAAA7J,GAAA,KAAA4G,UAAAU,QAAA,IAEAyC,eAAA,WACA,KAAA/kB,MAAA,eAAAW,UAEAqkB,eAAA,WACA,KAAAhlB,MAAA,eAAAW,UAEAma,iBAAA,WACA,KAAA9a,MAAA,iBAAAW,UAEAskB,gBAAA,eAAArZ,EAAA,KACA,KAAAiU,KAAAnI,UACAmL,OAAA,KAAAliB,QAAAS,IACAme,MAAA,WACA3T,EAAA7L,MAAAC,MACA,SACA,UACA4L,EAAAvN,GAAA,6BAEAuN,EAAA5L,MAAA,UAAA4L,EAAAjL,YAEA8e,OAAA,SAAAuB,GAAA,IAAAC,EAAAC,EACAtB,EAAA,QAAAqB,EAAAD,EAAAxB,gBAAA,IAAAyB,GAAA,QAAAC,EAAAD,EAAAvnB,YAAA,IAAAwnB,KAAAtB,QACAoB,EAAAxB,SAAA9lB,KAAAkmB,QACAhU,EAAAvN,GAAA,6BACAuN,EAAA7L,MAAAC,MAAA,iBAAA4f,OAIA5D,mBAAA,WACA,KAAAhc,MAAA,eAAAW,UAEAukB,oBAAA,SAAAlK,GAAA,IAAA9E,EAAA,KACA,KAAA2J,KAAAnI,UAAA8K,cACAK,OAAA7H,GACAuE,MAAA,WACArJ,EAAAnW,MAAAC,MACA,SACA,UACAkW,EAAA7X,GAAA,oCAEA6X,EAAAlW,MAAA,UAAAkW,EAAAvV,YAEA8e,OAAA,SAAAuB,GAAA,IAAAI,EAAAC,EACAzB,EAAA,QAAAwB,EAAAJ,EAAAxB,gBAAA,IAAA4B,GAAA,QAAAC,EAAAD,EAAA1nB,YAAA,IAAA2nB,KAAAzB,QACAoB,EAAAxB,SAAA9lB,KAAAkmB,QACA1J,EAAA7X,GAAA,8BACA6X,EAAAnW,MAAAC,MAAA,iBAAA4f,OAGAuF,eAAA,SAAAptB,GACA,IAAAqtB,EAAArtB,GAAA,KAAA4I,QAAA6hB,cAAA7qB,OAAA,EACA,YAAAokB,cAAA,KAAA2G,GAAAC,UAAAE,SAAAuC,GAEAC,0BAAA,SAAA1K,GACA,WAAAA,EAAA2K,uBAEAC,kBAAA,WACAC,gBAAAjc,QAAAkc,SAAAC,8BCxLgW,MCQ5V,I,UAAY,eACd,GACA,GACA,IACA,EACA,KACA,WACA,OAIa,M,qBCuNA,I,UAAA,CACf1vB,KAAA,eAEAqC,OAAA,CAAA+f,OAAAF,QAEA7U,WAAA,CACAsiB,qBACAC,YACAC,cACAtE,iBACAuE,4BAGA1vB,MAAA,CACAohB,SAAA,CACAja,UAAA,EACA7E,KAAA4E,QAEAE,QAAA,CACAD,UAAA,EACA7E,KAAApC,SAEAohB,UAAA,CACAna,UAAA,EACA7E,KAAAlB,QAIAkC,KAAA,WACA,OACAqsB,SAAA,4CACAvL,gBAAA,IAIAzQ,QAAA,WACA,KAAAic,oBACA,KAAAC,8BAGA9hB,MAAA,CACAuT,UAAA,CACAhD,QAAA,SAAAwR,GAAA,IAAA/rB,EAAA,YAAA4E,eAAAC,iBAAAC,MAAA,SAAAC,IAAA,IAAAumB,EAAAU,EAAA,OAAAnnB,iBAAAK,MAAA,SAAAC,GAAA,eAAAA,EAAAC,KAAAD,EAAAE,MAAA,OAIA,GADAimB,EAAAnoB,OAAA8oB,OAAAF,GACA/rB,EAAAksB,4BAAAZ,GAEA,OAAAA,QAAA,IAAAA,MAAA9tB,OAAA,CAAA2H,EAAAE,KAAA,eAAAF,EAAAE,KAAA,EACArF,EAAAmsB,0BAAA,OAEAH,EAAA,KACA1V,YAAA,eAAA8V,EACAJ,EAAA,QAAAI,EAAAd,EAAA,cAAAc,OAAA,EAAAA,EAAAnlB,GACA+kB,GACAhsB,EAAAqsB,gBAAA,CACA5mB,OAAAnB,SAAAtE,EAAA0F,eACA4mB,UAAAN,MAGA,6BAAA7mB,EAAAkB,UAAAtB,MAlBAH,IAqBA0V,WAAA,IAIA1d,SAAAE,6CAAA,GACAyG,eAAA,0CACAA,eAAA,uBACAgd,cAAA,WACA,YAAAqB,cAAA,KAAA2G,GAAA/H,SAAAoF,SAEAzF,qBAAA,WACA,IAAA9iB,MAAAC,QAAA,KAAAigB,aAAA,KAAAA,UAAA/f,OACA,SAEA,IAAA+uB,EAAA,KAAAhP,UAAApR,KACA,SAAAmU,GAAA,IAAAkM,EAAA,cAAAlM,QAAA,IAAAA,GAAA,QAAAkM,EAAAlM,EAAA+H,qBAAA,IAAAmE,OAAA,EAAAA,EAAAhvB,UAEA,OAAAmW,KAAAlH,IAAAggB,MAAA9Y,KAAA,IAAAhU,OAAAqS,eAAAua,MAEAG,aAAA,eAAAC,EAAAC,EACA,eAAAD,EAAA,KAAApP,iBAAA,IAAAoP,KAAAnvB,OAGA,QAAAovB,EAAA,KAAArP,UAAA,cAAAqP,OAAA,EAAAA,EAAA3lB,GAFA,MAIA8Y,sBAAA,WACA,OAAA5c,OAAAiL,KAAA,KAAAmP,WAAA/f,OAAA,QAAAqvB,aAEA7M,eAAA,WACA,YAAAkJ,SAIAzrB,QAAAX,6CAAA,GACA4H,eAAA,6DACAA,eAAA,gDACAonB,2BAAA,WACA,KAAAvL,eACA,KAAA3a,MAAAC,MACA,SACA,UACA,KAAA3B,GAAA,sCAIA+b,eAAA,SAAAK,GACA,KAAAza,MAAA,UAAAya,EAAAtd,cAEA6oB,kBAAA,WACA,KAAAiB,eAAAC,SAAAC,cAAA,wBACA,KAAAC,WAAAF,SAAAC,cAAA,yBAEAE,UAAA,WACA,KAAAJ,eAAApsB,QACA,KAAAmrB,qBAEAsB,WAAA,WACA,KAAAF,WAAAvsB,QACA,KAAAmrB,qBAEAlD,gBAAA,eAAArK,EACA,KAAAxY,QAAAmU,QAAA,CACApX,KAAA,aACAmD,MAAA,CACAjD,WAAA,KAAA2C,cACAojB,YAAA,KAAA4D,aACA1pB,YAAA,QAAAsb,EAAA,KAAAjB,gBAAA,IAAAiB,OAAA,EAAAA,EAAArX,OAIA0Z,iBAAA,SAAAna,GAAA,IAAAsH,EAAA,KACA,KAAAuS,gBAAA,EACA,KAAAqF,KAAAnI,UACAqJ,qBACApgB,EAAAS,GACA,CAAAT,EAAAxD,aACA,KAAA0C,eAEA0f,MAAA,WACAtX,EAAAjI,MAAA,UAAAW,EAAAxD,gBAEAsiB,OAAA,SAAAuB,GAAA,IAAAC,EAAAC,EACAtB,GACA,QAAAqB,EAAAD,EAAAxB,gBAAA,IAAAyB,GAAA,QAAAC,EAAAD,EAAAvnB,YAAA,IAAAwnB,OAAA,EAAAA,EAAAtB,UACA3X,EAAA5J,GAAA,gCACA4J,EAAAlI,MAAAC,MAAA,iBAAA4f,MAEA2H,SAAA,kBAAAtf,EAAAuS,gBAAA,UChYoW,MCQhW,I,UAAY,eACd,GACA,EACA,GACA,EACA,KACA,WACA,OAIa,M,wBCnBue,W,IAAc,EAAM,KAAG,EAAC,W,OAAI,mB,YAAS1d,WAAiB,yRAAE,YAAY,4BAAuFtC,MAAM,CAAC,SAAM,GAAa,KAAM,IAA0C,IAAI,MAAO,kBAEluB4C,UAAe,EAAG,GAAE,2EAExB,MAASf,C,gFCFM,IACftF,SAAAE,eAAA,GACAyG,eAAA,0CAGA9F,QAAA,CACA6H,cAAA,WACA,KAAAQ,QAAAmU,QAAA,CACApX,KAAA,aACAmD,MAAA,CAAAjD,WAAA,KAAA2C,oBCXwW,MCQpW,I,UAAY,eACd,GACA,GACA,IACA,EACA,KACA,WACA,OAIa,M,QCoBA,IACf7J,KAAA,cAEAqN,WAAA,CACAmkB,gBACAC,0BACAC,kBACAC,iBACAC,qBAGAluB,KAAA,WACA,OACA+d,gBAAA,EACAC,UAAA,KAIA3gB,SAAAE,4DAAA,GACAyG,eAAA,cACA,aACA,WACA,uBAEAA,eAAA,wDACAA,eAAA,2CACA2Z,gBAAA,WACA,YAAAC,WAAA3f,OAAA,KAIAC,QAAAX,8BAAA,GACA4H,eAAA,4CACA0Y,cAAA,SAAAla,GAAA,IAAAlD,EAAA,YAAA4E,eAAAC,iBAAAC,MAAA,SAAAC,IAAA,OAAAF,iBAAAK,MAAA,SAAAC,GAAA,eAAAA,EAAAC,KAAAD,EAAAE,MAAA,OACA,GAAArF,EAAA0tB,qBAAAxqB,IACAA,EAAA,CAAAiC,EAAAE,KAAA,eAAAF,EAAAE,KAAA,EACArF,EAAAwd,cAAAta,EAAA+D,IAAA,OAAA9B,EAAAE,KAAA,eAEArF,EAAAud,UAAA,2BAAApY,EAAAkB,UAAAtB,MALAH,IAQA4Y,cAAA,SAAAvY,GAAA,IAAA6I,EAAA,YAAAlJ,eAAAC,iBAAAC,MAAA,SAAA6oB,IAAA,IAAAC,EAAAC,EAAAxI,EAAA,OAAAxgB,iBAAAK,MAAA,SAAA4oB,GAAA,eAAAA,EAAA1oB,KAAA0oB,EAAAzoB,MAAA,OACA,OAAAyI,EAAAwP,gBAAA,EAAAwQ,EAAA1oB,KAAA,EAAA0oB,EAAAzoB,KAAA,EAEAyI,EAAA4X,KAAAnI,UAAAwQ,eACA9oB,EACA,QADA2oB,EACA9f,EAAA+V,yBAAA,IAAA+J,OAAA,EAAAA,EAAA9J,aACA,QADA+J,EACA/f,EAAA+V,yBAAA,IAAAgK,OAAA,EAAAA,EAAA9J,YACA,OAJAsB,EAAAyI,EAAAnoB,KAKAmI,EAAAyP,UAAA8H,EAAA9lB,KAAAuuB,EAAAzoB,KAAA,gBAAAyoB,EAAA1oB,KAAA,EAAA0oB,EAAA7nB,GAAA6nB,EAAA,YAEA5nB,QAAAC,MAAA2nB,EAAA7nB,IAAA,QAEA,OAFA6nB,EAAA1oB,KAAA,GAEA0I,EAAAwP,gBAAA,EAAAwQ,EAAA1nB,OAAA,6BAAA0nB,EAAAznB,UAAAsnB,EAAA,uBAZA/oB,OChFmW,MCQ/V,I,UAAY,eACd,GACA,EACA3B,GACA,EACA,KACA,WACA,OAIa,gB;;;;;;;CCbd,SAAU+qB,EAAQC,GAC4CC,EAAOC,QAAUF,EAAQ,WAAa,IAAM,OAAO,EAAQ,QAAa,MAAMjiB,KAArD,KADxF,CAIEhQ,GAAM,SAAW4mB,GAAU,aAI7B,SAASwL,EAAqBtlB,EAAIolB,GACjC,OAAOA,EAAS,CAAEC,QAAS,IAAMrlB,EAAGolB,EAAQA,EAAOC,SAAUD,EAAOC,QAGrE,SAASE,EAA2BC,GACnC,OAAOA,GAAKA,EAAE,YAAcA,EAP7B1L,EAASA,GAAUA,EAAOzlB,eAAe,WAAaylB,EAAO,WAAaA,EAU1E,IAAI2L,EAAY,CACf,UAAa,CAAC,IAAK,IAAK,KACxB,aAAgB,CAAC,IAAK,IAAK,KAC3B,KAAQ,CAAC,EAAG,IAAK,KACjB,WAAc,CAAC,IAAK,IAAK,KACzB,MAAS,CAAC,IAAK,IAAK,KACpB,MAAS,CAAC,IAAK,IAAK,KACpB,OAAU,CAAC,IAAK,IAAK,KACrB,MAAS,CAAC,EAAG,EAAG,GAChB,eAAkB,CAAC,IAAK,IAAK,KAC7B,KAAQ,CAAC,EAAG,EAAG,KACf,WAAc,CAAC,IAAK,GAAI,KACxB,MAAS,CAAC,IAAK,GAAI,IACnB,UAAa,CAAC,IAAK,IAAK,KACxB,UAAa,CAAC,GAAI,IAAK,KACvB,WAAc,CAAC,IAAK,IAAK,GACzB,UAAa,CAAC,IAAK,IAAK,IACxB,MAAS,CAAC,IAAK,IAAK,IACpB,eAAkB,CAAC,IAAK,IAAK,KAC7B,SAAY,CAAC,IAAK,IAAK,KACvB,QAAW,CAAC,IAAK,GAAI,IACrB,KAAQ,CAAC,EAAG,IAAK,KACjB,SAAY,CAAC,EAAG,EAAG,KACnB,SAAY,CAAC,EAAG,IAAK,KACrB,cAAiB,CAAC,IAAK,IAAK,IAC5B,SAAY,CAAC,IAAK,IAAK,KACvB,UAAa,CAAC,EAAG,IAAK,GACtB,SAAY,CAAC,IAAK,IAAK,KACvB,UAAa,CAAC,IAAK,IAAK,KACxB,YAAe,CAAC,IAAK,EAAG,KACxB,eAAkB,CAAC,GAAI,IAAK,IAC5B,WAAc,CAAC,IAAK,IAAK,GACzB,WAAc,CAAC,IAAK,GAAI,KACxB,QAAW,CAAC,IAAK,EAAG,GACpB,WAAc,CAAC,IAAK,IAAK,KACzB,aAAgB,CAAC,IAAK,IAAK,KAC3B,cAAiB,CAAC,GAAI,GAAI,KAC1B,cAAiB,CAAC,GAAI,GAAI,IAC1B,cAAiB,CAAC,GAAI,GAAI,IAC1B,cAAiB,CAAC,EAAG,IAAK,KAC1B,WAAc,CAAC,IAAK,EAAG,KACvB,SAAY,CAAC,IAAK,GAAI,KACtB,YAAe,CAAC,EAAG,IAAK,KACxB,QAAW,CAAC,IAAK,IAAK,KACtB,QAAW,CAAC,IAAK,IAAK,KACtB,WAAc,CAAC,GAAI,IAAK,KACxB,UAAa,CAAC,IAAK,GAAI,IACvB,YAAe,CAAC,IAAK,IAAK,KAC1B,YAAe,CAAC,GAAI,IAAK,IACzB,QAAW,CAAC,IAAK,EAAG,KACpB,UAAa,CAAC,IAAK,IAAK,KACxB,WAAc,CAAC,IAAK,IAAK,KACzB,KAAQ,CAAC,IAAK,IAAK,GACnB,UAAa,CAAC,IAAK,IAAK,IACxB,KAAQ,CAAC,IAAK,IAAK,KACnB,MAAS,CAAC,EAAG,IAAK,GAClB,YAAe,CAAC,IAAK,IAAK,IAC1B,KAAQ,CAAC,IAAK,IAAK,KACnB,SAAY,CAAC,IAAK,IAAK,KACvB,QAAW,CAAC,IAAK,IAAK,KACtB,UAAa,CAAC,IAAK,GAAI,IACvB,OAAU,CAAC,GAAI,EAAG,KAClB,MAAS,CAAC,IAAK,IAAK,KACpB,MAAS,CAAC,IAAK,IAAK,KACpB,SAAY,CAAC,IAAK,IAAK,KACvB,cAAiB,CAAC,IAAK,IAAK,KAC5B,UAAa,CAAC,IAAK,IAAK,GACxB,aAAgB,CAAC,IAAK,IAAK,KAC3B,UAAa,CAAC,IAAK,IAAK,KACxB,WAAc,CAAC,IAAK,IAAK,KACzB,UAAa,CAAC,IAAK,IAAK,KACxB,qBAAwB,CAAC,IAAK,IAAK,KACnC,UAAa,CAAC,IAAK,IAAK,KACxB,WAAc,CAAC,IAAK,IAAK,KACzB,UAAa,CAAC,IAAK,IAAK,KACxB,UAAa,CAAC,IAAK,IAAK,KACxB,YAAe,CAAC,IAAK,IAAK,KAC1B,cAAiB,CAAC,GAAI,IAAK,KAC3B,aAAgB,CAAC,IAAK,IAAK,KAC3B,eAAkB,CAAC,IAAK,IAAK,KAC7B,eAAkB,CAAC,IAAK,IAAK,KAC7B,eAAkB,CAAC,IAAK,IAAK,KAC7B,YAAe,CAAC,IAAK,IAAK,KAC1B,KAAQ,CAAC,EAAG,IAAK,GACjB,UAAa,CAAC,GAAI,IAAK,IACvB,MAAS,CAAC,IAAK,IAAK,KACpB,QAAW,CAAC,IAAK,EAAG,KACpB,OAAU,CAAC,IAAK,EAAG,GACnB,iBAAoB,CAAC,IAAK,IAAK,KAC/B,WAAc,CAAC,EAAG,EAAG,KACrB,aAAgB,CAAC,IAAK,GAAI,KAC1B,aAAgB,CAAC,IAAK,IAAK,KAC3B,eAAkB,CAAC,GAAI,IAAK,KAC5B,gBAAmB,CAAC,IAAK,IAAK,KAC9B,kBAAqB,CAAC,EAAG,IAAK,KAC9B,gBAAmB,CAAC,GAAI,IAAK,KAC7B,gBAAmB,CAAC,IAAK,GAAI,KAC7B,aAAgB,CAAC,GAAI,GAAI,KACzB,UAAa,CAAC,IAAK,IAAK,KACxB,UAAa,CAAC,IAAK,IAAK,KACxB,SAAY,CAAC,IAAK,IAAK,KACvB,YAAe,CAAC,IAAK,IAAK,KAC1B,KAAQ,CAAC,EAAG,EAAG,KACf,QAAW,CAAC,IAAK,IAAK,KACtB,MAAS,CAAC,IAAK,IAAK,GACpB,UAAa,CAAC,IAAK,IAAK,IACxB,OAAU,CAAC,IAAK,IAAK,GACrB,UAAa,CAAC,IAAK,GAAI,GACvB,OAAU,CAAC,IAAK,IAAK,KACrB,cAAiB,CAAC,IAAK,IAAK,KAC5B,UAAa,CAAC,IAAK,IAAK,KACxB,cAAiB,CAAC,IAAK,IAAK,KAC5B,cAAiB,CAAC,IAAK,IAAK,KAC5B,WAAc,CAAC,IAAK,IAAK,KACzB,UAAa,CAAC,IAAK,IAAK,KACxB,KAAQ,CAAC,IAAK,IAAK,IACnB,KAAQ,CAAC,IAAK,IAAK,KACnB,KAAQ,CAAC,IAAK,IAAK,KACnB,WAAc,CAAC,IAAK,IAAK,KACzB,OAAU,CAAC,IAAK,EAAG,KACnB,cAAiB,CAAC,IAAK,GAAI,KAC3B,IAAO,CAAC,IAAK,EAAG,GAChB,UAAa,CAAC,IAAK,IAAK,KACxB,UAAa,CAAC,GAAI,IAAK,KACvB,YAAe,CAAC,IAAK,GAAI,IACzB,OAAU,CAAC,IAAK,IAAK,KACrB,WAAc,CAAC,IAAK,IAAK,IACzB,SAAY,CAAC,GAAI,IAAK,IACtB,SAAY,CAAC,IAAK,IAAK,KACvB,OAAU,CAAC,IAAK,GAAI,IACpB,OAAU,CAAC,IAAK,IAAK,KACrB,QAAW,CAAC,IAAK,IAAK,KACtB,UAAa,CAAC,IAAK,GAAI,KACvB,UAAa,CAAC,IAAK,IAAK,KACxB,UAAa,CAAC,IAAK,IAAK,KACxB,KAAQ,CAAC,IAAK,IAAK,KACnB,YAAe,CAAC,EAAG,IAAK,KACxB,UAAa,CAAC,GAAI,IAAK,KACvB,IAAO,CAAC,IAAK,IAAK,KAClB,KAAQ,CAAC,EAAG,IAAK,KACjB,QAAW,CAAC,IAAK,IAAK,KACtB,OAAU,CAAC,IAAK,GAAI,IACpB,UAAa,CAAC,GAAI,IAAK,KACvB,OAAU,CAAC,IAAK,IAAK,KACrB,MAAS,CAAC,IAAK,IAAK,KACpB,MAAS,CAAC,IAAK,IAAK,KACpB,WAAc,CAAC,IAAK,IAAK,KACzB,OAAU,CAAC,IAAK,IAAK,GACrB,YAAe,CAAC,IAAK,IAAK,KAGvBC,EAAcJ,GAAqB,SAAUF,GAQjD,IAAIO,EAAkB,GACtB,IAAK,IAAI5lB,KAAO0lB,EACXA,EAAUpxB,eAAe0L,KAC5B4lB,EAAgBF,EAAU1lB,IAAQA,GAIpC,IAAI6lB,EAAUR,EAAOC,QAAU,CAC9BQ,IAAK,CAACC,SAAU,EAAGC,OAAQ,OAC3BC,IAAK,CAACF,SAAU,EAAGC,OAAQ,OAC3BE,IAAK,CAACH,SAAU,EAAGC,OAAQ,OAC3BG,IAAK,CAACJ,SAAU,EAAGC,OAAQ,OAC3BI,KAAM,CAACL,SAAU,EAAGC,OAAQ,QAC5BK,IAAK,CAACN,SAAU,EAAGC,OAAQ,OAC3BM,IAAK,CAACP,SAAU,EAAGC,OAAQ,OAC3BO,IAAK,CAACR,SAAU,EAAGC,OAAQ,OAC3BQ,IAAK,CAACT,SAAU,EAAGC,OAAQ,CAAC,QAC5BS,QAAS,CAACV,SAAU,EAAGC,OAAQ,CAAC,YAChCU,OAAQ,CAACX,SAAU,EAAGC,OAAQ,CAAC,WAC/BW,QAAS,CAACZ,SAAU,EAAGC,OAAQ,CAAC,YAChCY,IAAK,CAACb,SAAU,EAAGC,OAAQ,CAAC,IAAK,IAAK,MACtCa,MAAO,CAACd,SAAU,EAAGC,OAAQ,CAAC,MAAO,MAAO,QAC5Cc,KAAM,CAACf,SAAU,EAAGC,OAAQ,CAAC,UAI9B,IAAK,IAAIzO,KAASsO,EACjB,GAAIA,EAAQvxB,eAAeijB,GAAQ,CAClC,KAAM,aAAcsO,EAAQtO,IAC3B,MAAM,IAAInY,MAAM,8BAAgCmY,GAGjD,KAAM,WAAYsO,EAAQtO,IACzB,MAAM,IAAInY,MAAM,oCAAsCmY,GAGvD,GAAIsO,EAAQtO,GAAOyO,OAAOrxB,SAAWkxB,EAAQtO,GAAOwO,SACnD,MAAM,IAAI3mB,MAAM,sCAAwCmY,GAGzD,IAAIwO,EAAWF,EAAQtO,GAAOwO,SAC1BC,EAASH,EAAQtO,GAAOyO,cACrBH,EAAQtO,GAAOwO,gBACfF,EAAQtO,GAAOyO,OACtB1rB,OAAOysB,eAAelB,EAAQtO,GAAQ,WAAY,CAAC7iB,MAAOqxB,IAC1DzrB,OAAOysB,eAAelB,EAAQtO,GAAQ,SAAU,CAAC7iB,MAAOsxB,IAyH1D,SAASgB,EAAoB9U,EAAG+U,GAC/B,OACCnc,KAAKoc,IAAIhV,EAAE,GAAK+U,EAAE,GAAI,GACtBnc,KAAKoc,IAAIhV,EAAE,GAAK+U,EAAE,GAAI,GACtBnc,KAAKoc,IAAIhV,EAAE,GAAK+U,EAAE,GAAI,GAzHxBpB,EAAQC,IAAIG,IAAM,SAAUH,GAC3B,IAMIxsB,EACA6tB,EACAC,EARAC,EAAIvB,EAAI,GAAK,IACbwB,EAAIxB,EAAI,GAAK,IACbyB,EAAIzB,EAAI,GAAK,IACbniB,EAAMmH,KAAKnH,IAAI0jB,EAAGC,EAAGC,GACrB3jB,EAAMkH,KAAKlH,IAAIyjB,EAAGC,EAAGC,GACrB7b,EAAQ9H,EAAMD,EA+BlB,OA1BIC,IAAQD,EACXrK,EAAI,EACM+tB,IAAMzjB,EAChBtK,GAAKguB,EAAIC,GAAK7b,EACJ4b,IAAM1jB,EAChBtK,EAAI,GAAKiuB,EAAIF,GAAK3b,EACR6b,IAAM3jB,IAChBtK,EAAI,GAAK+tB,EAAIC,GAAK5b,GAGnBpS,EAAIwR,KAAKnH,IAAQ,GAAJrK,EAAQ,KAEjBA,EAAI,IACPA,GAAK,KAGN8tB,GAAKzjB,EAAMC,GAAO,EAGjBujB,EADGvjB,IAAQD,EACP,EACMyjB,GAAK,GACX1b,GAAS9H,EAAMD,GAEf+H,GAAS,EAAI9H,EAAMD,GAGjB,CAACrK,EAAO,IAAJ6tB,EAAa,IAAJC,IAGrBvB,EAAQC,IAAII,IAAM,SAAUJ,GAC3B,IAAI0B,EACAC,EACAC,EACApuB,EACA6tB,EAEAE,EAAIvB,EAAI,GAAK,IACbwB,EAAIxB,EAAI,GAAK,IACbyB,EAAIzB,EAAI,GAAK,IACb5d,EAAI4C,KAAKlH,IAAIyjB,EAAGC,EAAGC,GACnBI,EAAOzf,EAAI4C,KAAKnH,IAAI0jB,EAAGC,EAAGC,GAC1BK,EAAQ,SAAU7R,GACrB,OAAQ7N,EAAI6N,GAAK,EAAI4R,EAAO,IAyB7B,OAtBa,IAATA,EACHruB,EAAI6tB,EAAI,GAERA,EAAIQ,EAAOzf,EACXsf,EAAOI,EAAMP,GACbI,EAAOG,EAAMN,GACbI,EAAOE,EAAML,GAETF,IAAMnf,EACT5O,EAAIouB,EAAOD,EACDH,IAAMpf,EAChB5O,EAAK,EAAI,EAAKkuB,EAAOE,EACXH,IAAMrf,IAChB5O,EAAK,EAAI,EAAKmuB,EAAOD,GAElBluB,EAAI,EACPA,GAAK,EACKA,EAAI,IACdA,GAAK,IAIA,CACF,IAAJA,EACI,IAAJ6tB,EACI,IAAJjf,IAIF2d,EAAQC,IAAIK,IAAM,SAAUL,GAC3B,IAAIuB,EAAIvB,EAAI,GACRwB,EAAIxB,EAAI,GACRyB,EAAIzB,EAAI,GACRxsB,EAAIusB,EAAQC,IAAIG,IAAIH,GAAK,GACzB+B,EAAI,EAAI,IAAM/c,KAAKnH,IAAI0jB,EAAGvc,KAAKnH,IAAI2jB,EAAGC,IAI1C,OAFAA,EAAI,EAAI,EAAI,IAAMzc,KAAKlH,IAAIyjB,EAAGvc,KAAKlH,IAAI0jB,EAAGC,IAEnC,CAACjuB,EAAO,IAAJuuB,EAAa,IAAJN,IAGrB1B,EAAQC,IAAIM,KAAO,SAAUN,GAC5B,IAGI/P,EACA+R,EACAb,EACAc,EANAV,EAAIvB,EAAI,GAAK,IACbwB,EAAIxB,EAAI,GAAK,IACbyB,EAAIzB,EAAI,GAAK,IAWjB,OALAiC,EAAIjd,KAAKnH,IAAI,EAAI0jB,EAAG,EAAIC,EAAG,EAAIC,GAC/BxR,GAAK,EAAIsR,EAAIU,IAAM,EAAIA,IAAM,EAC7BD,GAAK,EAAIR,EAAIS,IAAM,EAAIA,IAAM,EAC7Bd,GAAK,EAAIM,EAAIQ,IAAM,EAAIA,IAAM,EAEtB,CAAK,IAAJhS,EAAa,IAAJ+R,EAAa,IAAJb,EAAa,IAAJc,IAcpClC,EAAQC,IAAIW,QAAU,SAAUX,GAC/B,IAAIkC,EAAWpC,EAAgBE,GAC/B,GAAIkC,EACH,OAAOA,EAGR,IACIC,EADAC,EAAyBC,IAG7B,IAAK,IAAI1B,KAAWf,EACnB,GAAIA,EAAUpxB,eAAemyB,GAAU,CACtC,IAAI/xB,EAAQgxB,EAAUe,GAGlB2B,EAAWpB,EAAoBlB,EAAKpxB,GAGpC0zB,EAAWF,IACdA,EAAyBE,EACzBH,EAAwBxB,GAK3B,OAAOwB,GAGRpC,EAAQY,QAAQX,IAAM,SAAUW,GAC/B,OAAOf,EAAUe,IAGlBZ,EAAQC,IAAIO,IAAM,SAAUP,GAC3B,IAAIuB,EAAIvB,EAAI,GAAK,IACbwB,EAAIxB,EAAI,GAAK,IACbyB,EAAIzB,EAAI,GAAK,IAGjBuB,EAAIA,EAAI,OAAUvc,KAAKoc,KAAMG,EAAI,MAAS,MAAQ,KAAQA,EAAI,MAC9DC,EAAIA,EAAI,OAAUxc,KAAKoc,KAAMI,EAAI,MAAS,MAAQ,KAAQA,EAAI,MAC9DC,EAAIA,EAAI,OAAUzc,KAAKoc,KAAMK,EAAI,MAAS,MAAQ,KAAQA,EAAI,MAE9D,IAAIrV,EAAS,MAAJmV,EAAmB,MAAJC,EAAmB,MAAJC,EACnCN,EAAS,MAAJI,EAAmB,MAAJC,EAAmB,MAAJC,EACnCc,EAAS,MAAJhB,EAAmB,MAAJC,EAAmB,MAAJC,EAEvC,MAAO,CAAK,IAAJrV,EAAa,IAAJ+U,EAAa,IAAJoB,IAG3BxC,EAAQC,IAAIQ,IAAM,SAAUR,GAC3B,IAIIsB,EACAkB,EACAf,EANAlB,EAAMR,EAAQC,IAAIO,IAAIP,GACtB5T,EAAImU,EAAI,GACRY,EAAIZ,EAAI,GACRgC,EAAIhC,EAAI,GAiBZ,OAZAnU,GAAK,OACL+U,GAAK,IACLoB,GAAK,QAELnW,EAAIA,EAAI,QAAWpH,KAAKoc,IAAIhV,EAAG,EAAI,GAAM,MAAQA,EAAM,GAAK,IAC5D+U,EAAIA,EAAI,QAAWnc,KAAKoc,IAAID,EAAG,EAAI,GAAM,MAAQA,EAAM,GAAK,IAC5DoB,EAAIA,EAAI,QAAWvd,KAAKoc,IAAImB,EAAG,EAAI,GAAM,MAAQA,EAAM,GAAK,IAE5DjB,EAAK,IAAMH,EAAK,GAChBqB,EAAI,KAAOpW,EAAI+U,GACfM,EAAI,KAAON,EAAIoB,GAER,CAACjB,EAAGkB,EAAGf,IAGf1B,EAAQI,IAAIH,IAAM,SAAUG,GAC3B,IAGIsC,EACAC,EACAC,EACA3C,EACAjwB,EAPAyD,EAAI2sB,EAAI,GAAK,IACbkB,EAAIlB,EAAI,GAAK,IACbmB,EAAInB,EAAI,GAAK,IAOjB,GAAU,IAANkB,EAEH,OADAtxB,EAAU,IAAJuxB,EACC,CAACvxB,EAAKA,EAAKA,GAIlB2yB,EADGpB,EAAI,GACFA,GAAK,EAAID,GAETC,EAAID,EAAIC,EAAID,EAGlBoB,EAAK,EAAInB,EAAIoB,EAEb1C,EAAM,CAAC,EAAG,EAAG,GACb,IAAK,IAAIra,EAAI,EAAGA,EAAI,EAAGA,IACtBgd,EAAKnvB,EAAI,EAAI,IAAMmS,EAAI,GACnBgd,EAAK,GACRA,IAEGA,EAAK,GACRA,IAIA5yB,EADG,EAAI4yB,EAAK,EACNF,EAAiB,GAAXC,EAAKD,GAAUE,EACjB,EAAIA,EAAK,EACbD,EACI,EAAIC,EAAK,EACbF,GAAMC,EAAKD,IAAO,EAAI,EAAIE,GAAM,EAEhCF,EAGPzC,EAAIra,GAAW,IAAN5V,EAGV,OAAOiwB,GAGRD,EAAQI,IAAIC,IAAM,SAAUD,GAC3B,IAKIyC,EACAxgB,EANA5O,EAAI2sB,EAAI,GACRkB,EAAIlB,EAAI,GAAK,IACbmB,EAAInB,EAAI,GAAK,IACb0C,EAAOxB,EACPyB,EAAO9d,KAAKlH,IAAIwjB,EAAG,KAUvB,OANAA,GAAK,EACLD,GAAMC,GAAK,EAAKA,EAAI,EAAIA,EACxBuB,GAAQC,GAAQ,EAAIA,EAAO,EAAIA,EAC/B1gB,GAAKkf,EAAID,GAAK,EACduB,EAAW,IAANtB,EAAW,EAAIuB,GAASC,EAAOD,GAAS,EAAIxB,GAAMC,EAAID,GAEpD,CAAC7tB,EAAQ,IAALovB,EAAc,IAAJxgB,IAGtB2d,EAAQK,IAAIJ,IAAM,SAAUI,GAC3B,IAAI5sB,EAAI4sB,EAAI,GAAK,GACbiB,EAAIjB,EAAI,GAAK,IACbhe,EAAIge,EAAI,GAAK,IACb2C,EAAK/d,KAAKge,MAAMxvB,GAAK,EAErBgkB,EAAIhkB,EAAIwR,KAAKge,MAAMxvB,GACnBkoB,EAAI,IAAMtZ,GAAK,EAAIif,GACnB4B,EAAI,IAAM7gB,GAAK,EAAKif,EAAI7J,GACxB3lB,EAAI,IAAMuQ,GAAK,EAAKif,GAAK,EAAI7J,IAGjC,OAFApV,GAAK,IAEG2gB,GACP,KAAK,EACJ,MAAO,CAAC3gB,EAAGvQ,EAAG6pB,GACf,KAAK,EACJ,MAAO,CAACuH,EAAG7gB,EAAGsZ,GACf,KAAK,EACJ,MAAO,CAACA,EAAGtZ,EAAGvQ,GACf,KAAK,EACJ,MAAO,CAAC6pB,EAAGuH,EAAG7gB,GACf,KAAK,EACJ,MAAO,CAACvQ,EAAG6pB,EAAGtZ,GACf,KAAK,EACJ,MAAO,CAACA,EAAGsZ,EAAGuH,KAIjBlD,EAAQK,IAAID,IAAM,SAAUC,GAC3B,IAII0C,EACAI,EACA5B,EANA9tB,EAAI4sB,EAAI,GACRiB,EAAIjB,EAAI,GAAK,IACbhe,EAAIge,EAAI,GAAK,IACb+C,EAAOne,KAAKlH,IAAIsE,EAAG,KAYvB,OAPAkf,GAAK,EAAID,GAAKjf,EACd0gB,GAAQ,EAAIzB,GAAK8B,EACjBD,EAAK7B,EAAI8B,EACTD,GAAOJ,GAAQ,EAAKA,EAAO,EAAIA,EAC/BI,EAAKA,GAAM,EACX5B,GAAK,EAEE,CAAC9tB,EAAQ,IAAL0vB,EAAc,IAAJ5B,IAItBvB,EAAQM,IAAIL,IAAM,SAAUK,GAC3B,IAII1a,EACAvD,EACAoV,EACAmI,EAkBA4B,EACAC,EACAC,EA3BAjuB,EAAI6sB,EAAI,GAAK,IACb+C,EAAK/C,EAAI,GAAK,IACdgD,EAAKhD,EAAI,GAAK,IACdiD,EAAQF,EAAKC,EAyBjB,OAlBIC,EAAQ,IACXF,GAAME,EACND,GAAMC,GAGP3d,EAAIX,KAAKge,MAAM,EAAIxvB,GACnB4O,EAAI,EAAIihB,EACR7L,EAAI,EAAIhkB,EAAImS,EAEO,KAAV,EAAJA,KACJ6R,EAAI,EAAIA,GAGTmI,EAAIyD,EAAK5L,GAAKpV,EAAIghB,GAKVzd,GACP,QACA,KAAK,EACL,KAAK,EAAG4b,EAAInf,EAAGof,EAAI7B,EAAG8B,EAAI2B,EAAI,MAC9B,KAAK,EAAG7B,EAAI5B,EAAG6B,EAAIpf,EAAGqf,EAAI2B,EAAI,MAC9B,KAAK,EAAG7B,EAAI6B,EAAI5B,EAAIpf,EAAGqf,EAAI9B,EAAG,MAC9B,KAAK,EAAG4B,EAAI6B,EAAI5B,EAAI7B,EAAG8B,EAAIrf,EAAG,MAC9B,KAAK,EAAGmf,EAAI5B,EAAG6B,EAAI4B,EAAI3B,EAAIrf,EAAG,MAC9B,KAAK,EAAGmf,EAAInf,EAAGof,EAAI4B,EAAI3B,EAAI9B,EAAG,MAG/B,MAAO,CAAK,IAAJ4B,EAAa,IAAJC,EAAa,IAAJC,IAG3B1B,EAAQO,KAAKN,IAAM,SAAUM,GAC5B,IAIIiB,EACAC,EACAC,EANAxR,EAAIqQ,EAAK,GAAK,IACd0B,EAAI1B,EAAK,GAAK,IACda,EAAIb,EAAK,GAAK,IACd2B,EAAI3B,EAAK,GAAK,IASlB,OAJAiB,EAAI,EAAIvc,KAAKnH,IAAI,EAAGoS,GAAK,EAAIgS,GAAKA,GAClCT,EAAI,EAAIxc,KAAKnH,IAAI,EAAGmkB,GAAK,EAAIC,GAAKA,GAClCR,EAAI,EAAIzc,KAAKnH,IAAI,EAAGsjB,GAAK,EAAIc,GAAKA,GAE3B,CAAK,IAAJV,EAAa,IAAJC,EAAa,IAAJC,IAG3B1B,EAAQQ,IAAIP,IAAM,SAAUO,GAC3B,IAGIgB,EACAC,EACAC,EALArV,EAAImU,EAAI,GAAK,IACbY,EAAIZ,EAAI,GAAK,IACbgC,EAAIhC,EAAI,GAAK,IA0BjB,OArBAgB,EAAS,OAAJnV,GAAoB,OAAL+U,GAAqB,MAALoB,EACpCf,GAAU,MAALpV,EAAoB,OAAJ+U,EAAmB,MAAJoB,EACpCd,EAAS,MAAJrV,GAAoB,KAAL+U,EAAoB,MAAJoB,EAGpChB,EAAIA,EAAI,SACH,MAAQvc,KAAKoc,IAAIG,EAAG,EAAM,KAAQ,KAChC,MAAJA,EAEHC,EAAIA,EAAI,SACH,MAAQxc,KAAKoc,IAAII,EAAG,EAAM,KAAQ,KAChC,MAAJA,EAEHC,EAAIA,EAAI,SACH,MAAQzc,KAAKoc,IAAIK,EAAG,EAAM,KAAQ,KAChC,MAAJA,EAEHF,EAAIvc,KAAKnH,IAAImH,KAAKlH,IAAI,EAAGyjB,GAAI,GAC7BC,EAAIxc,KAAKnH,IAAImH,KAAKlH,IAAI,EAAG0jB,GAAI,GAC7BC,EAAIzc,KAAKnH,IAAImH,KAAKlH,IAAI,EAAG2jB,GAAI,GAEtB,CAAK,IAAJF,EAAa,IAAJC,EAAa,IAAJC,IAG3B1B,EAAQQ,IAAIC,IAAM,SAAUD,GAC3B,IAGIe,EACAkB,EACAf,EALArV,EAAImU,EAAI,GACRY,EAAIZ,EAAI,GACRgC,EAAIhC,EAAI,GAiBZ,OAZAnU,GAAK,OACL+U,GAAK,IACLoB,GAAK,QAELnW,EAAIA,EAAI,QAAWpH,KAAKoc,IAAIhV,EAAG,EAAI,GAAM,MAAQA,EAAM,GAAK,IAC5D+U,EAAIA,EAAI,QAAWnc,KAAKoc,IAAID,EAAG,EAAI,GAAM,MAAQA,EAAM,GAAK,IAC5DoB,EAAIA,EAAI,QAAWvd,KAAKoc,IAAImB,EAAG,EAAI,GAAM,MAAQA,EAAM,GAAK,IAE5DjB,EAAK,IAAMH,EAAK,GAChBqB,EAAI,KAAOpW,EAAI+U,GACfM,EAAI,KAAON,EAAIoB,GAER,CAACjB,EAAGkB,EAAGf,IAGf1B,EAAQS,IAAID,IAAM,SAAUC,GAC3B,IAGIpU,EACA+U,EACAoB,EALAjB,EAAId,EAAI,GACRgC,EAAIhC,EAAI,GACRiB,EAAIjB,EAAI,GAKZW,GAAKG,EAAI,IAAM,IACflV,EAAIoW,EAAI,IAAMrB,EACdoB,EAAIpB,EAAIM,EAAI,IAEZ,IAAI8B,EAAKve,KAAKoc,IAAID,EAAG,GACjBqC,EAAKxe,KAAKoc,IAAIhV,EAAG,GACjBqX,EAAKze,KAAKoc,IAAImB,EAAG,GASrB,OARApB,EAAIoC,EAAK,QAAWA,GAAMpC,EAAI,GAAK,KAAO,MAC1C/U,EAAIoX,EAAK,QAAWA,GAAMpX,EAAI,GAAK,KAAO,MAC1CmW,EAAIkB,EAAK,QAAWA,GAAMlB,EAAI,GAAK,KAAO,MAE1CnW,GAAK,OACL+U,GAAK,IACLoB,GAAK,QAEE,CAACnW,EAAG+U,EAAGoB,IAGfxC,EAAQS,IAAIC,IAAM,SAAUD,GAC3B,IAGIkD,EACAlwB,EACAyc,EALAqR,EAAId,EAAI,GACRgC,EAAIhC,EAAI,GACRiB,EAAIjB,EAAI,GAcZ,OATAkD,EAAK1e,KAAK2e,MAAMlC,EAAGe,GACnBhvB,EAAS,IAALkwB,EAAW,EAAI1e,KAAK4e,GAEpBpwB,EAAI,IACPA,GAAK,KAGNyc,EAAIjL,KAAK6e,KAAKrB,EAAIA,EAAIf,EAAIA,GAEnB,CAACH,EAAGrR,EAAGzc,IAGfusB,EAAQU,IAAID,IAAM,SAAUC,GAC3B,IAGI+B,EACAf,EACAiC,EALApC,EAAIb,EAAI,GACRxQ,EAAIwQ,EAAI,GACRjtB,EAAIitB,EAAI,GASZ,OAJAiD,EAAKlwB,EAAI,IAAM,EAAIwR,KAAK4e,GACxBpB,EAAIvS,EAAIjL,KAAK8e,IAAIJ,GACjBjC,EAAIxR,EAAIjL,KAAK+e,IAAIL,GAEV,CAACpC,EAAGkB,EAAGf,IAGf1B,EAAQC,IAAIY,OAAS,SAAUoD,GAC9B,IAAIzC,EAAIyC,EAAK,GACTxC,EAAIwC,EAAK,GACTvC,EAAIuC,EAAK,GACTp1B,EAAQ,KAAKwN,UAAYA,UAAU,GAAK2jB,EAAQC,IAAII,IAAI4D,GAAM,GAIlE,GAFAp1B,EAAQoW,KAAKif,MAAMr1B,EAAQ,IAEb,IAAVA,EACH,OAAO,GAGR,IAAIs1B,EAAO,IACNlf,KAAKif,MAAMxC,EAAI,MAAQ,EACxBzc,KAAKif,MAAMzC,EAAI,MAAQ,EACxBxc,KAAKif,MAAM1C,EAAI,MAMlB,OAJc,IAAV3yB,IACHs1B,GAAQ,IAGFA,GAGRnE,EAAQK,IAAIQ,OAAS,SAAUoD,GAG9B,OAAOjE,EAAQC,IAAIY,OAAOb,EAAQK,IAAIJ,IAAIgE,GAAOA,EAAK,KAGvDjE,EAAQC,IAAIa,QAAU,SAAUmD,GAC/B,IAAIzC,EAAIyC,EAAK,GACTxC,EAAIwC,EAAK,GACTvC,EAAIuC,EAAK,GAIb,GAAIzC,IAAMC,GAAKA,IAAMC,EACpB,OAAIF,EAAI,EACA,GAGJA,EAAI,IACA,IAGDvc,KAAKif,OAAQ1C,EAAI,GAAK,IAAO,IAAM,IAG3C,IAAI2C,EAAO,GACP,GAAKlf,KAAKif,MAAM1C,EAAI,IAAM,GAC1B,EAAIvc,KAAKif,MAAMzC,EAAI,IAAM,GAC1Bxc,KAAKif,MAAMxC,EAAI,IAAM,GAExB,OAAOyC,GAGRnE,EAAQa,OAAOZ,IAAM,SAAUgE,GAC9B,IAAI1yB,EAAQ0yB,EAAO,GAGnB,GAAc,IAAV1yB,GAAyB,IAAVA,EAOlB,OANI0yB,EAAO,KACV1yB,GAAS,KAGVA,EAAQA,EAAQ,KAAO,IAEhB,CAACA,EAAOA,EAAOA,GAGvB,IAAI6yB,EAA6B,IAAL,KAAbH,EAAO,KAClBzC,GAAc,EAARjwB,GAAa6yB,EAAQ,IAC3B3C,GAAOlwB,GAAS,EAAK,GAAK6yB,EAAQ,IAClC1C,GAAOnwB,GAAS,EAAK,GAAK6yB,EAAQ,IAEtC,MAAO,CAAC5C,EAAGC,EAAGC,IAGf1B,EAAQc,QAAQb,IAAM,SAAUgE,GAE/B,GAAIA,GAAQ,IAAK,CAChB,IAAI/T,EAAmB,IAAd+T,EAAO,KAAY,EAC5B,MAAO,CAAC/T,EAAGA,EAAGA,GAKf,IAAImU,EAFJJ,GAAQ,GAGR,IAAIzC,EAAIvc,KAAKge,MAAMgB,EAAO,IAAM,EAAI,IAChCxC,EAAIxc,KAAKge,OAAOoB,EAAMJ,EAAO,IAAM,GAAK,EAAI,IAC5CvC,EAAK2C,EAAM,EAAK,EAAI,IAExB,MAAO,CAAC7C,EAAGC,EAAGC,IAGf1B,EAAQC,IAAIU,IAAM,SAAUsD,GAC3B,IAAIK,IAAkC,IAAtBrf,KAAKif,MAAMD,EAAK,MAAe,MACpB,IAAtBhf,KAAKif,MAAMD,EAAK,MAAe,IACV,IAAtBhf,KAAKif,MAAMD,EAAK,KAEhBM,EAASD,EAAQE,SAAS,IAAIxa,cAClC,MAAO,SAASya,UAAUF,EAAOz1B,QAAUy1B,GAG5CvE,EAAQW,IAAIV,IAAM,SAAUgE,GAC3B,IAAIzY,EAAQyY,EAAKO,SAAS,IAAIhZ,MAAM,4BACpC,IAAKA,EACJ,MAAO,CAAC,EAAG,EAAG,GAGf,IAAIkZ,EAAclZ,EAAM,GAEA,IAApBA,EAAM,GAAG1c,SACZ41B,EAAcA,EAAY/nB,MAAM,IAAIc,KAAI,SAAUknB,GACjD,OAAOA,EAAOA,KACZ3nB,KAAK,KAGT,IAAIsnB,EAAU1uB,SAAS8uB,EAAa,IAChClD,EAAK8C,GAAW,GAAM,IACtB7C,EAAK6C,GAAW,EAAK,IACrB5C,EAAc,IAAV4C,EAER,MAAO,CAAC9C,EAAGC,EAAGC,IAGf1B,EAAQC,IAAIc,IAAM,SAAUd,GAC3B,IAMI2E,EACAC,EAPArD,EAAIvB,EAAI,GAAK,IACbwB,EAAIxB,EAAI,GAAK,IACbyB,EAAIzB,EAAI,GAAK,IACbliB,EAAMkH,KAAKlH,IAAIkH,KAAKlH,IAAIyjB,EAAGC,GAAIC,GAC/B5jB,EAAMmH,KAAKnH,IAAImH,KAAKnH,IAAI0jB,EAAGC,GAAIC,GAC/BoD,EAAU/mB,EAAMD,EAyBpB,OApBC8mB,EADGE,EAAS,EACAhnB,GAAO,EAAIgnB,GAEX,EAIZD,EADGC,GAAU,EACP,EAEH/mB,IAAQyjB,GACHC,EAAIC,GAAKoD,EAAU,EAExB/mB,IAAQ0jB,EACL,GAAKC,EAAIF,GAAKsD,EAEd,GAAKtD,EAAIC,GAAKqD,EAAS,EAG9BD,GAAO,EACPA,GAAO,EAEA,CAAO,IAANA,EAAoB,IAATC,EAA0B,IAAZF,IAGlC5E,EAAQI,IAAIW,IAAM,SAAUX,GAC3B,IAAIkB,EAAIlB,EAAI,GAAK,IACbmB,EAAInB,EAAI,GAAK,IACblQ,EAAI,EACJuH,EAAI,EAYR,OATCvH,EADGqR,EAAI,GACH,EAAMD,EAAIC,EAEV,EAAMD,GAAK,EAAMC,GAGlBrR,EAAI,IACPuH,GAAK8J,EAAI,GAAMrR,IAAM,EAAMA,IAGrB,CAACkQ,EAAI,GAAQ,IAAJlQ,EAAa,IAAJuH,IAG1BuI,EAAQK,IAAIU,IAAM,SAAUV,GAC3B,IAAIiB,EAAIjB,EAAI,GAAK,IACbhe,EAAIge,EAAI,GAAK,IAEbnQ,EAAIoR,EAAIjf,EACRoV,EAAI,EAMR,OAJIvH,EAAI,IACPuH,GAAKpV,EAAI6N,IAAM,EAAIA,IAGb,CAACmQ,EAAI,GAAQ,IAAJnQ,EAAa,IAAJuH,IAG1BuI,EAAQe,IAAId,IAAM,SAAUc,GAC3B,IAAIttB,EAAIstB,EAAI,GAAK,IACb7Q,EAAI6Q,EAAI,GAAK,IACbU,EAAIV,EAAI,GAAK,IAEjB,GAAU,IAAN7Q,EACH,MAAO,CAAK,IAAJuR,EAAa,IAAJA,EAAa,IAAJA,GAG3B,IAAIsD,EAAO,CAAC,EAAG,EAAG,GACd/B,EAAMvvB,EAAI,EAAK,EACf4O,EAAI2gB,EAAK,EACThB,EAAI,EAAI3f,EACR2iB,EAAK,EAET,OAAQ/f,KAAKge,MAAMD,IAClB,KAAK,EACJ+B,EAAK,GAAK,EAAGA,EAAK,GAAK1iB,EAAG0iB,EAAK,GAAK,EAAG,MACxC,KAAK,EACJA,EAAK,GAAK/C,EAAG+C,EAAK,GAAK,EAAGA,EAAK,GAAK,EAAG,MACxC,KAAK,EACJA,EAAK,GAAK,EAAGA,EAAK,GAAK,EAAGA,EAAK,GAAK1iB,EAAG,MACxC,KAAK,EACJ0iB,EAAK,GAAK,EAAGA,EAAK,GAAK/C,EAAG+C,EAAK,GAAK,EAAG,MACxC,KAAK,EACJA,EAAK,GAAK1iB,EAAG0iB,EAAK,GAAK,EAAGA,EAAK,GAAK,EAAG,MACxC,QACCA,EAAK,GAAK,EAAGA,EAAK,GAAK,EAAGA,EAAK,GAAK/C,EAKtC,OAFAgD,GAAM,EAAM9U,GAAKuR,EAEV,CACe,KAApBvR,EAAI6U,EAAK,GAAKC,GACM,KAApB9U,EAAI6U,EAAK,GAAKC,GACM,KAApB9U,EAAI6U,EAAK,GAAKC,KAIjBhF,EAAQe,IAAIV,IAAM,SAAUU,GAC3B,IAAI7Q,EAAI6Q,EAAI,GAAK,IACbU,EAAIV,EAAI,GAAK,IAEb1e,EAAI6N,EAAIuR,GAAK,EAAMvR,GACnBuH,EAAI,EAMR,OAJIpV,EAAI,IACPoV,EAAIvH,EAAI7N,GAGF,CAAC0e,EAAI,GAAQ,IAAJtJ,EAAa,IAAJpV,IAG1B2d,EAAQe,IAAIX,IAAM,SAAUW,GAC3B,IAAI7Q,EAAI6Q,EAAI,GAAK,IACbU,EAAIV,EAAI,GAAK,IAEbQ,EAAIE,GAAK,EAAMvR,GAAK,GAAMA,EAC1BoR,EAAI,EASR,OAPIC,EAAI,GAAOA,EAAI,GAClBD,EAAIpR,GAAK,EAAIqR,GAEVA,GAAK,IAAOA,EAAI,IACnBD,EAAIpR,GAAK,GAAK,EAAIqR,KAGZ,CAACR,EAAI,GAAQ,IAAJO,EAAa,IAAJC,IAG1BvB,EAAQe,IAAIT,IAAM,SAAUS,GAC3B,IAAI7Q,EAAI6Q,EAAI,GAAK,IACbU,EAAIV,EAAI,GAAK,IACb1e,EAAI6N,EAAIuR,GAAK,EAAMvR,GACvB,MAAO,CAAC6Q,EAAI,GAAc,KAAT1e,EAAI6N,GAAoB,KAAT,EAAI7N,KAGrC2d,EAAQM,IAAIS,IAAM,SAAUT,GAC3B,IAAI0B,EAAI1B,EAAI,GAAK,IACboB,EAAIpB,EAAI,GAAK,IACbje,EAAI,EAAIqf,EACRxR,EAAI7N,EAAI2f,EACRP,EAAI,EAMR,OAJIvR,EAAI,IACPuR,GAAKpf,EAAI6N,IAAM,EAAIA,IAGb,CAACoQ,EAAI,GAAQ,IAAJpQ,EAAa,IAAJuR,IAG1BzB,EAAQgB,MAAMf,IAAM,SAAUe,GAC7B,MAAO,CAAEA,EAAM,GAAK,MAAS,IAAMA,EAAM,GAAK,MAAS,IAAMA,EAAM,GAAK,MAAS,MAGlFhB,EAAQC,IAAIe,MAAQ,SAAUf,GAC7B,MAAO,CAAEA,EAAI,GAAK,IAAO,MAAQA,EAAI,GAAK,IAAO,MAAQA,EAAI,GAAK,IAAO,QAG1ED,EAAQiB,KAAKhB,IAAM,SAAUgE,GAC5B,MAAO,CAACA,EAAK,GAAK,IAAM,IAAKA,EAAK,GAAK,IAAM,IAAKA,EAAK,GAAK,IAAM,MAGnEjE,EAAQiB,KAAKb,IAAMJ,EAAQiB,KAAKZ,IAAM,SAAU4D,GAC/C,MAAO,CAAC,EAAG,EAAGA,EAAK,KAGpBjE,EAAQiB,KAAKX,IAAM,SAAUW,GAC5B,MAAO,CAAC,EAAG,IAAKA,EAAK,KAGtBjB,EAAQiB,KAAKV,KAAO,SAAUU,GAC7B,MAAO,CAAC,EAAG,EAAG,EAAGA,EAAK,KAGvBjB,EAAQiB,KAAKR,IAAM,SAAUQ,GAC5B,MAAO,CAACA,EAAK,GAAI,EAAG,IAGrBjB,EAAQiB,KAAKN,IAAM,SAAUM,GAC5B,IAAIjxB,EAAwC,IAAlCiV,KAAKif,MAAMjD,EAAK,GAAK,IAAM,KACjCqD,GAAWt0B,GAAO,KAAOA,GAAO,GAAKA,EAErCu0B,EAASD,EAAQE,SAAS,IAAIxa,cAClC,MAAO,SAASya,UAAUF,EAAOz1B,QAAUy1B,GAG5CvE,EAAQC,IAAIgB,KAAO,SAAUhB,GAC5B,IAAIjwB,GAAOiwB,EAAI,GAAKA,EAAI,GAAKA,EAAI,IAAM,EACvC,MAAO,CAACjwB,EAAM,IAAM,SAGD8vB,EAAYG,IACZH,EAAYM,IACZN,EAAYO,IACZP,EAAYQ,IACZR,EAAYS,KACZT,EAAYU,IACZV,EAAYW,IACZX,EAAYY,IACZZ,EAAYa,IACXb,EAAYc,QACZd,EAAYe,OACZf,EAAYgB,QACZhB,EAAYiB,IACZjB,EAAYkB,MACZlB,EAAYmB,KAajC,SAASgE,IAKR,IAJA,IAAIC,EAAQ,GAERC,EAAS1wB,OAAOiL,KAAKogB,GAEhBsF,EAAMD,EAAOr2B,OAAQ8W,EAAI,EAAGA,EAAIwf,EAAKxf,IAC7Csf,EAAMC,EAAOvf,IAAM,CAGlB2c,UAAW,EACX8C,OAAQ,MAIV,OAAOH,EAIR,SAASI,EAAUC,GAClB,IAAIL,EAAQD,IACRO,EAAQ,CAACD,GAEbL,EAAMK,GAAWhD,SAAW,EAE5B,MAAOiD,EAAM12B,OAIZ,IAHA,IAAIoN,EAAUspB,EAAMC,MAChBC,EAAYjxB,OAAOiL,KAAKogB,EAAY5jB,IAE/BkpB,EAAMM,EAAU52B,OAAQ8W,EAAI,EAAGA,EAAIwf,EAAKxf,IAAK,CACrD,IAAI+f,EAAWD,EAAU9f,GACrBggB,EAAOV,EAAMS,IAEM,IAAnBC,EAAKrD,WACRqD,EAAKrD,SAAW2C,EAAMhpB,GAASqmB,SAAW,EAC1CqD,EAAKP,OAASnpB,EACdspB,EAAMxf,QAAQ2f,IAKjB,OAAOT,EAGR,SAASW,EAAKpiB,EAAMC,GACnB,OAAO,SAAUugB,GAChB,OAAOvgB,EAAGD,EAAKwgB,KAIjB,SAAS6B,EAAeC,EAASb,GAChC,IAAI/wB,EAAO,CAAC+wB,EAAMa,GAASV,OAAQU,GAC/B3rB,EAAK0lB,EAAYoF,EAAMa,GAASV,QAAQU,GAExCC,EAAMd,EAAMa,GAASV,OACzB,MAAOH,EAAMc,GAAKX,OACjBlxB,EAAK6R,QAAQkf,EAAMc,GAAKX,QACxBjrB,EAAKyrB,EAAK/F,EAAYoF,EAAMc,GAAKX,QAAQW,GAAM5rB,GAC/C4rB,EAAMd,EAAMc,GAAKX,OAIlB,OADAjrB,EAAG6rB,WAAa9xB,EACTiG,EAGR,IAAI8rB,EAAQ,SAAUX,GAKrB,IAJA,IAAIL,EAAQI,EAAUC,GAClBU,EAAa,GAEbd,EAAS1wB,OAAOiL,KAAKwlB,GAChBE,EAAMD,EAAOr2B,OAAQ8W,EAAI,EAAGA,EAAIwf,EAAKxf,IAAK,CAClD,IAAImgB,EAAUZ,EAAOvf,GACjBggB,EAAOV,EAAMa,GAEG,OAAhBH,EAAKP,SAKTY,EAAWF,GAAWD,EAAeC,EAASb,IAG/C,OAAOe,GAGJjG,EAAU,GAEVmF,EAAS1wB,OAAOiL,KAAKogB,GAEzB,SAASqG,EAAQ/rB,GAChB,IAAIgsB,EAAY,SAAUnC,GACzB,YAAa3xB,IAAT2xB,GAA+B,OAATA,EAClBA,GAGJ5nB,UAAUvN,OAAS,IACtBm1B,EAAOt1B,MAAM03B,UAAUtmB,MAAMzR,KAAK+N,YAG5BjC,EAAG6pB,KAQX,MAJI,eAAgB7pB,IACnBgsB,EAAUH,WAAa7rB,EAAG6rB,YAGpBG,EAGR,SAASE,EAAYlsB,GACpB,IAAIgsB,EAAY,SAAUnC,GACzB,QAAa3xB,IAAT2xB,GAA+B,OAATA,EACzB,OAAOA,EAGJ5nB,UAAUvN,OAAS,IACtBm1B,EAAOt1B,MAAM03B,UAAUtmB,MAAMzR,KAAK+N,YAGnC,IAAIkqB,EAASnsB,EAAG6pB,GAKhB,GAAsB,kBAAXsC,EACV,IAAK,IAAInB,EAAMmB,EAAOz3B,OAAQ8W,EAAI,EAAGA,EAAIwf,EAAKxf,IAC7C2gB,EAAO3gB,GAAKX,KAAKif,MAAMqC,EAAO3gB,IAIhC,OAAO2gB,GAQR,MAJI,eAAgBnsB,IACnBgsB,EAAUH,WAAa7rB,EAAG6rB,YAGpBG,EAGRjB,EAAOqB,SAAQ,SAAUjB,GACxBvF,EAAQuF,GAAa,GAErB9wB,OAAOysB,eAAelB,EAAQuF,GAAY,WAAY,CAAC12B,MAAOixB,EAAYyF,GAAWrF,WACrFzrB,OAAOysB,eAAelB,EAAQuF,GAAY,SAAU,CAAC12B,MAAOixB,EAAYyF,GAAWpF,SAEnF,IAAIsG,EAASP,EAAMX,GACfmB,EAAcjyB,OAAOiL,KAAK+mB,GAE9BC,EAAYF,SAAQ,SAAUT,GAC7B,IAAI3rB,EAAKqsB,EAAOV,GAEhB/F,EAAQuF,GAAWQ,GAAWO,EAAYlsB,GAC1C4lB,EAAQuF,GAAWQ,GAASY,IAAMR,EAAQ/rB,SAI5C,IAAIwsB,EAAe5G,EAEf6G,EAAc,CACjB,UAAa,CAAC,IAAK,IAAK,KACxB,aAAgB,CAAC,IAAK,IAAK,KAC3B,KAAQ,CAAC,EAAG,IAAK,KACjB,WAAc,CAAC,IAAK,IAAK,KACzB,MAAS,CAAC,IAAK,IAAK,KACpB,MAAS,CAAC,IAAK,IAAK,KACpB,OAAU,CAAC,IAAK,IAAK,KACrB,MAAS,CAAC,EAAG,EAAG,GAChB,eAAkB,CAAC,IAAK,IAAK,KAC7B,KAAQ,CAAC,EAAG,EAAG,KACf,WAAc,CAAC,IAAK,GAAI,KACxB,MAAS,CAAC,IAAK,GAAI,IACnB,UAAa,CAAC,IAAK,IAAK,KACxB,UAAa,CAAC,GAAI,IAAK,KACvB,WAAc,CAAC,IAAK,IAAK,GACzB,UAAa,CAAC,IAAK,IAAK,IACxB,MAAS,CAAC,IAAK,IAAK,IACpB,eAAkB,CAAC,IAAK,IAAK,KAC7B,SAAY,CAAC,IAAK,IAAK,KACvB,QAAW,CAAC,IAAK,GAAI,IACrB,KAAQ,CAAC,EAAG,IAAK,KACjB,SAAY,CAAC,EAAG,EAAG,KACnB,SAAY,CAAC,EAAG,IAAK,KACrB,cAAiB,CAAC,IAAK,IAAK,IAC5B,SAAY,CAAC,IAAK,IAAK,KACvB,UAAa,CAAC,EAAG,IAAK,GACtB,SAAY,CAAC,IAAK,IAAK,KACvB,UAAa,CAAC,IAAK,IAAK,KACxB,YAAe,CAAC,IAAK,EAAG,KACxB,eAAkB,CAAC,GAAI,IAAK,IAC5B,WAAc,CAAC,IAAK,IAAK,GACzB,WAAc,CAAC,IAAK,GAAI,KACxB,QAAW,CAAC,IAAK,EAAG,GACpB,WAAc,CAAC,IAAK,IAAK,KACzB,aAAgB,CAAC,IAAK,IAAK,KAC3B,cAAiB,CAAC,GAAI,GAAI,KAC1B,cAAiB,CAAC,GAAI,GAAI,IAC1B,cAAiB,CAAC,GAAI,GAAI,IAC1B,cAAiB,CAAC,EAAG,IAAK,KAC1B,WAAc,CAAC,IAAK,EAAG,KACvB,SAAY,CAAC,IAAK,GAAI,KACtB,YAAe,CAAC,EAAG,IAAK,KACxB,QAAW,CAAC,IAAK,IAAK,KACtB,QAAW,CAAC,IAAK,IAAK,KACtB,WAAc,CAAC,GAAI,IAAK,KACxB,UAAa,CAAC,IAAK,GAAI,IACvB,YAAe,CAAC,IAAK,IAAK,KAC1B,YAAe,CAAC,GAAI,IAAK,IACzB,QAAW,CAAC,IAAK,EAAG,KACpB,UAAa,CAAC,IAAK,IAAK,KACxB,WAAc,CAAC,IAAK,IAAK,KACzB,KAAQ,CAAC,IAAK,IAAK,GACnB,UAAa,CAAC,IAAK,IAAK,IACxB,KAAQ,CAAC,IAAK,IAAK,KACnB,MAAS,CAAC,EAAG,IAAK,GAClB,YAAe,CAAC,IAAK,IAAK,IAC1B,KAAQ,CAAC,IAAK,IAAK,KACnB,SAAY,CAAC,IAAK,IAAK,KACvB,QAAW,CAAC,IAAK,IAAK,KACtB,UAAa,CAAC,IAAK,GAAI,IACvB,OAAU,CAAC,GAAI,EAAG,KAClB,MAAS,CAAC,IAAK,IAAK,KACpB,MAAS,CAAC,IAAK,IAAK,KACpB,SAAY,CAAC,IAAK,IAAK,KACvB,cAAiB,CAAC,IAAK,IAAK,KAC5B,UAAa,CAAC,IAAK,IAAK,GACxB,aAAgB,CAAC,IAAK,IAAK,KAC3B,UAAa,CAAC,IAAK,IAAK,KACxB,WAAc,CAAC,IAAK,IAAK,KACzB,UAAa,CAAC,IAAK,IAAK,KACxB,qBAAwB,CAAC,IAAK,IAAK,KACnC,UAAa,CAAC,IAAK,IAAK,KACxB,WAAc,CAAC,IAAK,IAAK,KACzB,UAAa,CAAC,IAAK,IAAK,KACxB,UAAa,CAAC,IAAK,IAAK,KACxB,YAAe,CAAC,IAAK,IAAK,KAC1B,cAAiB,CAAC,GAAI,IAAK,KAC3B,aAAgB,CAAC,IAAK,IAAK,KAC3B,eAAkB,CAAC,IAAK,IAAK,KAC7B,eAAkB,CAAC,IAAK,IAAK,KAC7B,eAAkB,CAAC,IAAK,IAAK,KAC7B,YAAe,CAAC,IAAK,IAAK,KAC1B,KAAQ,CAAC,EAAG,IAAK,GACjB,UAAa,CAAC,GAAI,IAAK,IACvB,MAAS,CAAC,IAAK,IAAK,KACpB,QAAW,CAAC,IAAK,EAAG,KACpB,OAAU,CAAC,IAAK,EAAG,GACnB,iBAAoB,CAAC,IAAK,IAAK,KAC/B,WAAc,CAAC,EAAG,EAAG,KACrB,aAAgB,CAAC,IAAK,GAAI,KAC1B,aAAgB,CAAC,IAAK,IAAK,KAC3B,eAAkB,CAAC,GAAI,IAAK,KAC5B,gBAAmB,CAAC,IAAK,IAAK,KAC9B,kBAAqB,CAAC,EAAG,IAAK,KAC9B,gBAAmB,CAAC,GAAI,IAAK,KAC7B,gBAAmB,CAAC,IAAK,GAAI,KAC7B,aAAgB,CAAC,GAAI,GAAI,KACzB,UAAa,CAAC,IAAK,IAAK,KACxB,UAAa,CAAC,IAAK,IAAK,KACxB,SAAY,CAAC,IAAK,IAAK,KACvB,YAAe,CAAC,IAAK,IAAK,KAC1B,KAAQ,CAAC,EAAG,EAAG,KACf,QAAW,CAAC,IAAK,IAAK,KACtB,MAAS,CAAC,IAAK,IAAK,GACpB,UAAa,CAAC,IAAK,IAAK,IACxB,OAAU,CAAC,IAAK,IAAK,GACrB,UAAa,CAAC,IAAK,GAAI,GACvB,OAAU,CAAC,IAAK,IAAK,KACrB,cAAiB,CAAC,IAAK,IAAK,KAC5B,UAAa,CAAC,IAAK,IAAK,KACxB,cAAiB,CAAC,IAAK,IAAK,KAC5B,cAAiB,CAAC,IAAK,IAAK,KAC5B,WAAc,CAAC,IAAK,IAAK,KACzB,UAAa,CAAC,IAAK,IAAK,KACxB,KAAQ,CAAC,IAAK,IAAK,IACnB,KAAQ,CAAC,IAAK,IAAK,KACnB,KAAQ,CAAC,IAAK,IAAK,KACnB,WAAc,CAAC,IAAK,IAAK,KACzB,OAAU,CAAC,IAAK,EAAG,KACnB,cAAiB,CAAC,IAAK,GAAI,KAC3B,IAAO,CAAC,IAAK,EAAG,GAChB,UAAa,CAAC,IAAK,IAAK,KACxB,UAAa,CAAC,GAAI,IAAK,KACvB,YAAe,CAAC,IAAK,GAAI,IACzB,OAAU,CAAC,IAAK,IAAK,KACrB,WAAc,CAAC,IAAK,IAAK,IACzB,SAAY,CAAC,GAAI,IAAK,IACtB,SAAY,CAAC,IAAK,IAAK,KACvB,OAAU,CAAC,IAAK,GAAI,IACpB,OAAU,CAAC,IAAK,IAAK,KACrB,QAAW,CAAC,IAAK,IAAK,KACtB,UAAa,CAAC,IAAK,GAAI,KACvB,UAAa,CAAC,IAAK,IAAK,KACxB,UAAa,CAAC,IAAK,IAAK,KACxB,KAAQ,CAAC,IAAK,IAAK,KACnB,YAAe,CAAC,EAAG,IAAK,KACxB,UAAa,CAAC,GAAI,IAAK,KACvB,IAAO,CAAC,IAAK,IAAK,KAClB,KAAQ,CAAC,EAAG,IAAK,KACjB,QAAW,CAAC,IAAK,IAAK,KACtB,OAAU,CAAC,IAAK,GAAI,IACpB,UAAa,CAAC,GAAI,IAAK,KACvB,OAAU,CAAC,IAAK,IAAK,KACrB,MAAS,CAAC,IAAK,IAAK,KACpB,MAAS,CAAC,IAAK,IAAK,KACpB,WAAc,CAAC,IAAK,IAAK,KACzB,OAAU,CAAC,IAAK,IAAK,GACrB,YAAe,CAAC,IAAK,IAAK,KAMvBnC,EAAc,CACfoC,QAASA,EACTC,QAASA,EACTC,OAAQA,EACRC,OAAQA,EACRC,OAAQA,EACRC,SAAUA,EAEVC,UAAWA,EACXC,UAAWA,EACXC,WAAYA,EACZC,cAAeA,EACfC,eAAgBA,EAChBC,UAAWA,EACXC,WAAYA,EACZC,UAAWA,EACX/G,QAASA,GAGZ,SAASkG,EAAQvC,GACd,GAAKA,EAAL,CAGA,IAAIqD,EAAQ,yBACRjH,EAAO,wCACPkH,EAAO,2FACPC,EAAM,6GACNlH,EAAU,QAEVX,EAAM,CAAC,EAAG,EAAG,GACbwC,EAAI,EACJjX,EAAQ+Y,EAAO/Y,MAAMoc,GACrBG,EAAW,GACf,GAAIvc,EAAO,CACRA,EAAQA,EAAM,GACduc,EAAWvc,EAAM,GACjB,IAAK,IAAI5F,EAAI,EAAGA,EAAIqa,EAAInxB,OAAQ8W,IAC7Bqa,EAAIra,GAAKhQ,SAAS4V,EAAM5F,GAAK4F,EAAM5F,GAAI,IAEtCmiB,IACDtF,EAAIxd,KAAKif,MAAOtuB,SAASmyB,EAAWA,EAAU,IAAM,IAAO,KAAO,UAGnE,GAAIvc,EAAQ+Y,EAAO/Y,MAAMmV,GAAM,CACjCoH,EAAWvc,EAAM,GACjBA,EAAQA,EAAM,GACd,IAAS5F,EAAI,EAAGA,EAAIqa,EAAInxB,OAAQ8W,IAC7Bqa,EAAIra,GAAKhQ,SAAS4V,EAAMzL,MAAU,EAAJ6F,EAAW,EAAJA,EAAQ,GAAI,IAEhDmiB,IACDtF,EAAIxd,KAAKif,MAAOtuB,SAASmyB,EAAU,IAAM,IAAO,KAAO,UAGxD,GAAIvc,EAAQ+Y,EAAO/Y,MAAMqc,GAAO,CAClC,IAASjiB,EAAI,EAAGA,EAAIqa,EAAInxB,OAAQ8W,IAC7Bqa,EAAIra,GAAKhQ,SAAS4V,EAAM5F,EAAI,IAE/B6c,EAAIjQ,WAAWhH,EAAM,SAEnB,GAAIA,EAAQ+Y,EAAO/Y,MAAMsc,GAAM,CACjC,IAASliB,EAAI,EAAGA,EAAIqa,EAAInxB,OAAQ8W,IAC7Bqa,EAAIra,GAAKX,KAAKif,MAAiC,KAA3B1R,WAAWhH,EAAM5F,EAAI,KAE5C6c,EAAIjQ,WAAWhH,EAAM,SAEnB,GAAIA,EAAQ+Y,EAAO/Y,MAAMoV,GAAU,CACrC,GAAgB,eAAZpV,EAAM,GACP,MAAO,CAAC,EAAG,EAAG,EAAG,GAGpB,GADAyU,EAAM4G,EAAYrb,EAAM,KACnByU,EACF,OAIN,IAASra,EAAI,EAAGA,EAAIqa,EAAInxB,OAAQ8W,IAC7Bqa,EAAIra,GAAKoiB,EAAM/H,EAAIra,GAAI,EAAG,KAS7B,OAHG6c,EAJEA,GAAU,GAALA,EAIHuF,EAAMvF,EAAG,EAAG,GAHZ,EAKPxC,EAAI,GAAKwC,EACFxC,GAGV,SAAS8G,EAAQxC,GACd,GAAKA,EAAL,CAGA,IAAInE,EAAM,2GACN5U,EAAQ+Y,EAAO/Y,MAAM4U,GACzB,GAAI5U,EAAO,CACR,IAAIyc,EAAQzV,WAAWhH,EAAM,IACzB/X,EAAIu0B,EAAMpyB,SAAS4V,EAAM,IAAK,EAAG,KACjC8V,EAAI0G,EAAMxV,WAAWhH,EAAM,IAAK,EAAG,KACnC+V,EAAIyG,EAAMxV,WAAWhH,EAAM,IAAK,EAAG,KACnCiX,EAAIuF,EAAME,MAAMD,GAAS,EAAIA,EAAO,EAAG,GAC3C,MAAO,CAACx0B,EAAG6tB,EAAGC,EAAGkB,KAIvB,SAASyE,EAAO3C,GACb,GAAKA,EAAL,CAGA,IAAIjE,EAAM,yGACN9U,EAAQ+Y,EAAO/Y,MAAM8U,GACzB,GAAI9U,EAAO,CACV,IAAIyc,EAAQzV,WAAWhH,EAAM,IACvB/X,EAAIu0B,EAAMpyB,SAAS4V,EAAM,IAAK,EAAG,KACjCwW,EAAIgG,EAAMxV,WAAWhH,EAAM,IAAK,EAAG,KACnCkW,EAAIsG,EAAMxV,WAAWhH,EAAM,IAAK,EAAG,KACnCiX,EAAIuF,EAAME,MAAMD,GAAS,EAAIA,EAAO,EAAG,GAC3C,MAAO,CAACx0B,EAAGuuB,EAAGN,EAAGe,KAIvB,SAASuE,EAAOzC,GACb,IAAIsD,EAAOf,EAAQvC,GACnB,OAAOsD,GAAQA,EAAK9nB,MAAM,EAAG,GAGhC,SAASknB,EAAO1C,GACd,IAAI4D,EAAOpB,EAAQxC,GACnB,OAAO4D,GAAQA,EAAKpoB,MAAM,EAAG,GAG/B,SAASonB,EAAS5C,GACf,IAAI6D,EAAOtB,EAAQvC,GACnB,OAAI6D,IAGKA,EAAOrB,EAAQxC,MAGf6D,EAAOlB,EAAO3C,IALb6D,EAAK,QAKV,EAMR,SAAShB,EAAUS,EAAMpF,GAClBA,OAAWnwB,IAANmwB,GAAmC,IAAhBoF,EAAK/4B,OAAgB2zB,EAAIoF,EAAK,GAC1D,MAAO,IAAMQ,EAAUR,EAAK,IACfQ,EAAUR,EAAK,IACfQ,EAAUR,EAAK,KAEbpF,GAAK,GAAKA,EAAI,EACb4F,EAAUpjB,KAAKif,MAAU,IAAJzB,IACrB,IAInB,SAAS4E,EAAUQ,EAAMI,GACtB,OAAIA,EAAQ,GAAMJ,EAAK,IAAMA,EAAK,GAAK,EAC7BP,EAAWO,EAAMI,GAEpB,OAASJ,EAAK,GAAK,KAAOA,EAAK,GAAK,KAAOA,EAAK,GAAK,IAG/D,SAASP,EAAWO,EAAMI,GAIvB,YAHc31B,IAAV21B,IACDA,OAAqB31B,IAAZu1B,EAAK,GAAmBA,EAAK,GAAK,GAEvC,QAAUA,EAAK,GAAK,KAAOA,EAAK,GAAK,KAAOA,EAAK,GAC9C,KAAOI,EAAQ,IAG5B,SAASV,EAAcM,EAAMI,GAC1B,GAAIA,EAAQ,GAAMJ,EAAK,IAAMA,EAAK,GAAK,EACpC,OAAOL,EAAeK,EAAMI,GAE/B,IAAIzG,EAAIvc,KAAKif,MAAM2D,EAAK,GAAG,IAAM,KAC7BpG,EAAIxc,KAAKif,MAAM2D,EAAK,GAAG,IAAM,KAC7BnG,EAAIzc,KAAKif,MAAM2D,EAAK,GAAG,IAAM,KAEjC,MAAO,OAASrG,EAAI,MAAQC,EAAI,MAAQC,EAAI,KAG/C,SAAS8F,EAAeK,EAAMI,GAC3B,IAAIzG,EAAIvc,KAAKif,MAAM2D,EAAK,GAAG,IAAM,KAC7BpG,EAAIxc,KAAKif,MAAM2D,EAAK,GAAG,IAAM,KAC7BnG,EAAIzc,KAAKif,MAAM2D,EAAK,GAAG,IAAM,KACjC,MAAO,QAAUrG,EAAI,MAAQC,EAAI,MAAQC,EAAI,OAASuG,GAASJ,EAAK,IAAM,GAAK,IAGlF,SAASJ,EAAUU,EAAMF,GACtB,OAAIA,EAAQ,GAAME,EAAK,IAAMA,EAAK,GAAK,EAC7BT,EAAWS,EAAMF,GAEpB,OAASE,EAAK,GAAK,KAAOA,EAAK,GAAK,MAAQA,EAAK,GAAK,KAGhE,SAAST,EAAWS,EAAMF,GAIvB,YAHc31B,IAAV21B,IACDA,OAAqB31B,IAAZ61B,EAAK,GAAmBA,EAAK,GAAK,GAEvC,QAAUA,EAAK,GAAK,KAAOA,EAAK,GAAK,MAAQA,EAAK,GAAK,MACpDF,EAAQ,IAKrB,SAASN,EAAUrH,EAAK2H,GAIrB,YAHc31B,IAAV21B,IACDA,OAAoB31B,IAAXguB,EAAI,GAAmBA,EAAI,GAAK,GAErC,OAASA,EAAI,GAAK,KAAOA,EAAI,GAAK,MAAQA,EAAI,GAAK,UACrChuB,IAAV21B,GAAiC,IAAVA,EAAc,KAAOA,EAAQ,IAAM,IAGxE,SAASrH,EAAQX,GACf,OAAOqI,EAAarI,EAAIlgB,MAAM,EAAG,IAInC,SAASioB,EAAMO,EAAKzqB,EAAKC,GACtB,OAAOkH,KAAKnH,IAAImH,KAAKlH,IAAID,EAAKyqB,GAAMxqB,GAGvC,SAASsqB,EAAUE,GACjB,IAAIC,EAAMD,EAAI/D,SAAS,IAAIxa,cAC3B,OAAQwe,EAAI15B,OAAS,EAAK,IAAM05B,EAAMA,EAKxC,IAAIF,EAAe,GACnB,IAAK,IAAIn7B,KAAQ05B,EACdyB,EAAazB,EAAY15B,IAASA,EAOrC,IAAIs7B,EAAQ,SAAUC,GACrB,OAAIA,aAAeD,EACXC,EAEFp7B,gBAAgBm7B,GAItBn7B,KAAKmnB,OAAQ,EACbnnB,KAAKiwB,OAAS,CACb0C,IAAK,CAAC,EAAG,EAAG,GACZG,IAAK,CAAC,EAAG,EAAG,GACZC,IAAK,CAAC,EAAG,EAAG,GACZC,IAAK,CAAC,EAAG,EAAG,GACZC,KAAM,CAAC,EAAG,EAAG,EAAG,GAChB0H,MAAO,QAKW,kBAARS,GACVN,EAAO1D,EAAYoC,QAAQ4B,GACvBN,EACH96B,KAAKq7B,UAAU,MAAOP,IACZA,EAAO1D,EAAYqC,QAAQ2B,IACrCp7B,KAAKq7B,UAAU,MAAOP,IACZA,EAAO1D,EAAYwC,OAAOwB,KACpCp7B,KAAKq7B,UAAU,MAAOP,IAEE,kBAARM,IACjBN,EAAOM,OACQp2B,IAAX81B,EAAK5G,QAAgClvB,IAAb81B,EAAKQ,IAChCt7B,KAAKq7B,UAAU,MAAOP,QACD91B,IAAX81B,EAAK7G,QAAsCjvB,IAAnB81B,EAAKS,UACvCv7B,KAAKq7B,UAAU,MAAOP,QACD91B,IAAX81B,EAAK/lB,QAAkC/P,IAAf81B,EAAKv5B,MACvCvB,KAAKq7B,UAAU,MAAOP,QACD91B,IAAX81B,EAAKpG,QAAsC1vB,IAAnB81B,EAAKU,UACvCx7B,KAAKq7B,UAAU,MAAOP,QACD91B,IAAX81B,EAAKlY,QAAiC5d,IAAd81B,EAAKW,MACvCz7B,KAAKq7B,UAAU,OAAQP,MAnCjB,IAAIK,EAAMC,GAclB,IAAIN,GA0BLK,EAAMpC,UAAY,CACjB2C,QAAS,WACR,OAAO17B,KAAKmnB,OAEbwL,IAAK,WACJ,OAAO3yB,KAAK27B,SAAS,MAAO5sB,YAE7B+jB,IAAK,WACJ,OAAO9yB,KAAK27B,SAAS,MAAO5sB,YAE7BgkB,IAAK,WACJ,OAAO/yB,KAAK27B,SAAS,MAAO5sB,YAE7BikB,IAAK,WACJ,OAAOhzB,KAAK27B,SAAS,MAAO5sB,YAE7BkkB,KAAM,WACL,OAAOjzB,KAAK27B,SAAS,OAAQ5sB,YAG9B6sB,SAAU,WACT,OAAO57B,KAAKiwB,OAAO0C,KAEpBkJ,SAAU,WACT,OAAO77B,KAAKiwB,OAAO6C,KAEpBgJ,SAAU,WACT,OAAO97B,KAAKiwB,OAAO8C,KAEpBgJ,SAAU,WACT,IAAI9L,EAASjwB,KAAKiwB,OAClB,OAAqB,IAAjBA,EAAO0K,MACH1K,EAAO+C,IAAIrvB,OAAO,CAACssB,EAAO0K,QAE3B1K,EAAO+C,KAEfgJ,UAAW,WACV,OAAOh8B,KAAKiwB,OAAOgD,MAEpBgJ,UAAW,WACV,IAAIhM,EAASjwB,KAAKiwB,OAClB,OAAOA,EAAO0C,IAAIhvB,OAAO,CAACssB,EAAO0K,SAElCuB,UAAW,WACV,IAAIjM,EAASjwB,KAAKiwB,OAClB,OAAOA,EAAO6C,IAAInvB,OAAO,CAACssB,EAAO0K,SAElCA,MAAO,SAAUj4B,GAChB,YAAYsC,IAARtC,EACI1C,KAAKiwB,OAAO0K,OAEpB36B,KAAKq7B,UAAU,QAAS34B,GACjB1C,OAGRs7B,IAAK,SAAU54B,GACd,OAAO1C,KAAKm8B,WAAW,MAAO,EAAGz5B,IAElC05B,MAAO,SAAU15B,GAChB,OAAO1C,KAAKm8B,WAAW,MAAO,EAAGz5B,IAElC25B,KAAM,SAAU35B,GACf,OAAO1C,KAAKm8B,WAAW,MAAO,EAAGz5B,IAElC60B,IAAK,SAAU70B,GAKd,OAJIA,IACHA,GAAO,IACPA,EAAMA,EAAM,EAAI,IAAMA,EAAMA,GAEtB1C,KAAKm8B,WAAW,MAAO,EAAGz5B,IAElC45B,WAAY,SAAU55B,GACrB,OAAO1C,KAAKm8B,WAAW,MAAO,EAAGz5B,IAElC64B,UAAW,SAAU74B,GACpB,OAAO1C,KAAKm8B,WAAW,MAAO,EAAGz5B,IAElC65B,YAAa,SAAU75B,GACtB,OAAO1C,KAAKm8B,WAAW,MAAO,EAAGz5B,IAElC84B,UAAW,SAAU94B,GACpB,OAAO1C,KAAKm8B,WAAW,MAAO,EAAGz5B,IAElC85B,UAAW,SAAU95B,GACpB,OAAO1C,KAAKm8B,WAAW,MAAO,EAAGz5B,IAElCnB,MAAO,SAAUmB,GAChB,OAAO1C,KAAKm8B,WAAW,MAAO,EAAGz5B,IAElC+4B,KAAM,SAAU/4B,GACf,OAAO1C,KAAKm8B,WAAW,OAAQ,EAAGz5B,IAEnC+5B,QAAS,SAAU/5B,GAClB,OAAO1C,KAAKm8B,WAAW,OAAQ,EAAGz5B,IAEnCg6B,OAAQ,SAAUh6B,GACjB,OAAO1C,KAAKm8B,WAAW,OAAQ,EAAGz5B,IAEnCi6B,MAAO,SAAUj6B,GAChB,OAAO1C,KAAKm8B,WAAW,OAAQ,EAAGz5B,IAGnCo3B,UAAW,WACV,OAAO1C,EAAY0C,UAAU95B,KAAKiwB,OAAO0C,MAE1CoH,UAAW,WACV,OAAO3C,EAAY2C,UAAU/5B,KAAKiwB,OAAO0C,IAAK3yB,KAAKiwB,OAAO0K,QAE3DX,WAAY,WACX,OAAO5C,EAAY4C,WAAWh6B,KAAKiwB,OAAO0C,IAAK3yB,KAAKiwB,OAAO0K,QAE5DV,cAAe,WACd,OAAO7C,EAAY6C,cAAcj6B,KAAKiwB,OAAO0C,IAAK3yB,KAAKiwB,OAAO0K,QAE/DR,UAAW,WACV,OAAO/C,EAAY+C,UAAUn6B,KAAKiwB,OAAO6C,IAAK9yB,KAAKiwB,OAAO0K,QAE3DP,WAAY,WACX,OAAOhD,EAAYgD,WAAWp6B,KAAKiwB,OAAO6C,IAAK9yB,KAAKiwB,OAAO0K,QAE5DN,UAAW,WACV,OAAOjD,EAAYiD,UAAUr6B,KAAKiwB,OAAO+C,IAAKhzB,KAAKiwB,OAAO0K,QAE3DrH,QAAS,WACR,OAAO8D,EAAY9D,QAAQtzB,KAAKiwB,OAAO0C,IAAK3yB,KAAKiwB,OAAO0K,QAGzDiC,UAAW,WACV,IAAIjK,EAAM3yB,KAAKiwB,OAAO0C,IACtB,OAAQA,EAAI,IAAM,GAAOA,EAAI,IAAM,EAAKA,EAAI,IAG7CkK,WAAY,WAIX,IAFA,IAAIlK,EAAM3yB,KAAKiwB,OAAO0C,IAClBmK,EAAM,GACDxkB,EAAI,EAAGA,EAAIqa,EAAInxB,OAAQ8W,IAAK,CACpC,IAAIykB,EAAOpK,EAAIra,GAAK,IACpBwkB,EAAIxkB,GAAMykB,GAAQ,OAAWA,EAAO,MAAQplB,KAAKoc,KAAMgJ,EAAO,MAAS,MAAQ,KAEhF,MAAO,MAASD,EAAI,GAAK,MAASA,EAAI,GAAK,MAASA,EAAI,IAGzDE,SAAU,SAAUC,GAEnB,IAAIC,EAAOl9B,KAAK68B,aACZM,EAAOF,EAAOJ,aAClB,OAAIK,EAAOC,GACFD,EAAO,MAASC,EAAO,MAExBA,EAAO,MAASD,EAAO,MAGhCE,MAAO,SAAUH,GAChB,IAAII,EAAgBr9B,KAAKg9B,SAASC,GAClC,OAAII,GAAiB,IACb,MAGAA,GAAiB,IAAO,KAAO,IAGxCnvB,KAAM,WAEL,IAAIykB,EAAM3yB,KAAKiwB,OAAO0C,IAClB2K,GAAgB,IAAT3K,EAAI,GAAoB,IAATA,EAAI,GAAoB,IAATA,EAAI,IAAY,IACzD,OAAO2K,EAAM,KAGd/rB,MAAO,WACN,OAAQvR,KAAKkO,QAGdqvB,OAAQ,WAEP,IADA,IAAI5K,EAAM,GACDra,EAAI,EAAGA,EAAI,EAAGA,IACtBqa,EAAIra,GAAK,IAAMtY,KAAKiwB,OAAO0C,IAAIra,GAGhC,OADAtY,KAAKq7B,UAAU,MAAO1I,GACf3yB,MAGRw9B,QAAS,SAAUvH,GAClB,IAAInD,EAAM9yB,KAAKiwB,OAAO6C,IAGtB,OAFAA,EAAI,IAAMA,EAAI,GAAKmD,EACnBj2B,KAAKq7B,UAAU,MAAOvI,GACf9yB,MAGRy9B,OAAQ,SAAUxH,GACjB,IAAInD,EAAM9yB,KAAKiwB,OAAO6C,IAGtB,OAFAA,EAAI,IAAMA,EAAI,GAAKmD,EACnBj2B,KAAKq7B,UAAU,MAAOvI,GACf9yB,MAGR09B,SAAU,SAAUzH,GACnB,IAAInD,EAAM9yB,KAAKiwB,OAAO6C,IAGtB,OAFAA,EAAI,IAAMA,EAAI,GAAKmD,EACnBj2B,KAAKq7B,UAAU,MAAOvI,GACf9yB,MAGR29B,WAAY,SAAU1H,GACrB,IAAInD,EAAM9yB,KAAKiwB,OAAO6C,IAGtB,OAFAA,EAAI,IAAMA,EAAI,GAAKmD,EACnBj2B,KAAKq7B,UAAU,MAAOvI,GACf9yB,MAGR49B,OAAQ,SAAU3H,GACjB,IAAIjD,EAAMhzB,KAAKiwB,OAAO+C,IAGtB,OAFAA,EAAI,IAAMA,EAAI,GAAKiD,EACnBj2B,KAAKq7B,UAAU,MAAOrI,GACfhzB,MAGR69B,QAAS,SAAU5H,GAClB,IAAIjD,EAAMhzB,KAAKiwB,OAAO+C,IAGtB,OAFAA,EAAI,IAAMA,EAAI,GAAKiD,EACnBj2B,KAAKq7B,UAAU,MAAOrI,GACfhzB,MAGR89B,UAAW,WACV,IAAInL,EAAM3yB,KAAKiwB,OAAO0C,IAElBjwB,EAAe,GAATiwB,EAAI,GAAoB,IAATA,EAAI,GAAqB,IAATA,EAAI,GAE7C,OADA3yB,KAAKq7B,UAAU,MAAO,CAAC34B,EAAKA,EAAKA,IAC1B1C,MAGR+9B,QAAS,SAAU9H,GAClB,IAAI0E,EAAQ36B,KAAKiwB,OAAO0K,MAExB,OADA36B,KAAKq7B,UAAU,QAASV,EAASA,EAAQ1E,GAClCj2B,MAGRg+B,QAAS,SAAU/H,GAClB,IAAI0E,EAAQ36B,KAAKiwB,OAAO0K,MAExB,OADA36B,KAAKq7B,UAAU,QAASV,EAASA,EAAQ1E,GAClCj2B,MAGRi+B,OAAQ,SAAUC,GACjB,IAAIpL,EAAM9yB,KAAKiwB,OAAO6C,IAClByE,GAAOzE,EAAI,GAAKoL,GAAW,IAG/B,OAFApL,EAAI,GAAKyE,EAAM,EAAI,IAAMA,EAAMA,EAC/Bv3B,KAAKq7B,UAAU,MAAOvI,GACf9yB,MAORm+B,IAAK,SAAUC,EAAYC,GAC1B,IAAIC,EAASt+B,KACTi9B,EAASmB,EACT/P,OAAerpB,IAAXq5B,EAAuB,GAAMA,EAEjC3J,EAAI,EAAIrG,EAAI,EACZ8G,EAAImJ,EAAO3D,QAAUsC,EAAOtC,QAE5B4D,IAAQ7J,EAAIS,KAAO,EAAKT,GAAKA,EAAIS,IAAM,EAAIT,EAAIS,IAAM,GAAK,EAC1DqJ,EAAK,EAAID,EAEb,OAAOv+B,KACL2yB,IACA4L,EAAKD,EAAOhD,MAAQkD,EAAKvB,EAAO3B,MAChCiD,EAAKD,EAAOlC,QAAUoC,EAAKvB,EAAOb,QAClCmC,EAAKD,EAAOjC,OAASmC,EAAKvB,EAAOZ,QAEjC1B,MAAM2D,EAAO3D,QAAUtM,EAAI4O,EAAOtC,SAAW,EAAItM,KAGpDoQ,OAAQ,WACP,OAAOz+B,KAAK2yB,OAGb+L,MAAO,WAKN,IAGIn9B,EAAOgB,EAHP02B,EAAS,IAAIkC,EACbwD,EAAS3+B,KAAKiwB,OACd1iB,EAAS0rB,EAAOhJ,OAGpB,IAAK,IAAI2O,KAAQD,EACZA,EAAOx9B,eAAey9B,KACzBr9B,EAAQo9B,EAAOC,GACfr8B,EAAO,GAAK20B,SAASl2B,KAAKO,GACb,mBAATgB,EACHgL,EAAOqxB,GAAQr9B,EAAMkR,MAAM,GACR,oBAATlQ,EACVgL,EAAOqxB,GAAQr9B,EAEf2I,QAAQC,MAAM,0BAA2B5I,IAK5C,OAAO03B,IAITkC,EAAMpC,UAAU8F,OAAS,CACxBlM,IAAK,CAAC,MAAO,QAAS,QACtBG,IAAK,CAAC,MAAO,aAAc,aAC3BC,IAAK,CAAC,MAAO,aAAc,SAC3BC,IAAK,CAAC,MAAO,YAAa,aAC1BC,KAAM,CAAC,OAAQ,UAAW,SAAU,UAGrCkI,EAAMpC,UAAU+F,MAAQ,CACvBnM,IAAK,CAAC,IAAK,IAAK,KAChBG,IAAK,CAAC,IAAK,IAAK,KAChBC,IAAK,CAAC,IAAK,IAAK,KAChBC,IAAK,CAAC,IAAK,IAAK,KAChBC,KAAM,CAAC,IAAK,IAAK,IAAK,MAGvBkI,EAAMpC,UAAUgG,UAAY,SAAUC,GAIrC,IAHA,IAAI/O,EAASjwB,KAAKiwB,OACd6K,EAAO,GAEFxiB,EAAI,EAAGA,EAAI0mB,EAAMx9B,OAAQ8W,IACjCwiB,EAAKkE,EAAMC,OAAO3mB,IAAM2X,EAAO+O,GAAO1mB,GAQvC,OALqB,IAAjB2X,EAAO0K,QACVG,EAAK3F,EAAIlF,EAAO0K,OAIVG,GAGRK,EAAMpC,UAAUsC,UAAY,SAAU2D,EAAOlE,GAC5C,IAIIxiB,EAkCA4mB,EAtCAjP,EAASjwB,KAAKiwB,OACd4O,EAAS7+B,KAAK6+B,OACdC,EAAQ9+B,KAAK8+B,MACbnE,EAAQ,EAKZ,GAFA36B,KAAKmnB,OAAQ,EAEC,UAAV6X,EACHrE,EAAQG,OACF,GAAIA,EAAKt5B,OAEfyuB,EAAO+O,GAASlE,EAAKroB,MAAM,EAAGusB,EAAMx9B,QACpCm5B,EAAQG,EAAKkE,EAAMx9B,aACb,QAA8BwD,IAA1B81B,EAAKkE,EAAMC,OAAO,IAAmB,CAE/C,IAAK3mB,EAAI,EAAGA,EAAI0mB,EAAMx9B,OAAQ8W,IAC7B2X,EAAO+O,GAAO1mB,GAAKwiB,EAAKkE,EAAMC,OAAO3mB,IAGtCqiB,EAAQG,EAAK3F,OACP,QAA+BnwB,IAA3B81B,EAAK+D,EAAOG,GAAO,IAAmB,CAEhD,IAAIG,EAAQN,EAAOG,GAEnB,IAAK1mB,EAAI,EAAGA,EAAI0mB,EAAMx9B,OAAQ8W,IAC7B2X,EAAO+O,GAAO1mB,GAAKwiB,EAAKqE,EAAM7mB,IAG/BqiB,EAAQG,EAAKH,MAKd,GAFA1K,EAAO0K,MAAQhjB,KAAKlH,IAAI,EAAGkH,KAAKnH,IAAI,OAAcxL,IAAV21B,EAAsB1K,EAAO0K,MAAQA,IAE/D,UAAVqE,EACH,OAAO,EAMR,IAAK1mB,EAAI,EAAGA,EAAI0mB,EAAMx9B,OAAQ8W,IAC7B4mB,EAASvnB,KAAKlH,IAAI,EAAGkH,KAAKnH,IAAIsuB,EAAME,GAAO1mB,GAAI2X,EAAO+O,GAAO1mB,KAC7D2X,EAAO+O,GAAO1mB,GAAKX,KAAKif,MAAMsI,GAI/B,IAAK,IAAIE,KAASP,EACbO,IAAUJ,IACb/O,EAAOmP,GAAS9F,EAAa0F,GAAOI,GAAOnP,EAAO+O,KAIpD,OAAO,GAGR7D,EAAMpC,UAAU4C,SAAW,SAAUqD,EAAOrI,GAC3C,IAAImE,EAAOnE,EAAK,GAEhB,YAAa3xB,IAAT81B,EAEI96B,KAAK++B,UAAUC,IAIH,kBAATlE,IACVA,EAAOz5B,MAAM03B,UAAUtmB,MAAMzR,KAAK21B,IAGnC32B,KAAKq7B,UAAU2D,EAAOlE,GACf96B,OAGRm7B,EAAMpC,UAAUoD,WAAa,SAAU6C,EAAOp9B,EAAOc,GACpD,IAAI28B,EAAUr/B,KAAKiwB,OAAO+O,GAC1B,YAAYh6B,IAARtC,EAEI28B,EAAQz9B,IACLc,IAAQ28B,EAAQz9B,KAM3By9B,EAAQz9B,GAASc,EACjB1C,KAAKq7B,UAAU2D,EAAOK,IALdr/B,OAUa,qBAAXs/B,SACVA,OAAOnE,MAAQA,GAGhB,IAAIoE,EAAepE,EAEnB,SAASqE,EAAW3yB,GACnB,OAAmE,IAA5D,CAAC,YAAa,YAAa,eAAewJ,QAAQxJ,GAM1D,IAAI4yB,EAAU,CAIbC,KAAM,aAONC,IAAM,WACL,IAAI10B,EAAK,EACT,OAAO,WACN,OAAOA,KAHJ,GAaL20B,cAAe,SAASr+B,GACvB,OAAiB,OAAVA,GAAmC,qBAAVA,GASjCD,QAAS,SAASC,GACjB,GAAIF,MAAMC,SAAWD,MAAMC,QAAQC,GAClC,OAAO,EAER,IAAIgB,EAAO4E,OAAO4xB,UAAU7B,SAASl2B,KAAKO,GAC1C,MAA0B,YAAtBgB,EAAK0N,OAAO,EAAG,IAAwC,WAApB1N,EAAK0N,QAAQ,IAYrD4vB,SAAU,SAASt+B,GAClB,OAAiB,OAAVA,GAA4D,oBAA1C4F,OAAO4xB,UAAU7B,SAASl2B,KAAKO,IAQzDkV,SAAU,SAASlV,GAClB,OAAyB,kBAAVA,GAAsBA,aAAiB8J,SAAWoL,SAASlV,IAS3Eu+B,eAAgB,SAASv+B,EAAOw+B,GAC/B,MAAwB,qBAAVx+B,EAAwBw+B,EAAex+B,GAUtDy+B,sBAAuB,SAASz+B,EAAOK,EAAOm+B,GAC7C,OAAON,EAAQK,eAAeL,EAAQn+B,QAAQC,GAASA,EAAMK,GAASL,EAAOw+B,IAW9Eje,SAAU,SAAShV,EAAI6pB,EAAMsJ,GAC5B,GAAInzB,GAAyB,oBAAZA,EAAG9L,KACnB,OAAO8L,EAAG2jB,MAAMwP,EAAStJ,IAa3BuJ,KAAM,SAASC,EAAUrzB,EAAImzB,EAASG,GACrC,IAAI9nB,EAAGwf,EAAK1lB,EACZ,GAAIqtB,EAAQn+B,QAAQ6+B,GAEnB,GADArI,EAAMqI,EAAS3+B,OACX4+B,EACH,IAAK9nB,EAAIwf,EAAM,EAAGxf,GAAK,EAAGA,IACzBxL,EAAG9L,KAAKi/B,EAASE,EAAS7nB,GAAIA,QAG/B,IAAKA,EAAI,EAAGA,EAAIwf,EAAKxf,IACpBxL,EAAG9L,KAAKi/B,EAASE,EAAS7nB,GAAIA,QAG1B,GAAImnB,EAAQI,SAASM,GAG3B,IAFA/tB,EAAOjL,OAAOiL,KAAK+tB,GACnBrI,EAAM1lB,EAAK5Q,OACN8W,EAAI,EAAGA,EAAIwf,EAAKxf,IACpBxL,EAAG9L,KAAKi/B,EAASE,EAAS/tB,EAAKkG,IAAKlG,EAAKkG,KAY5C+nB,YAAa,SAASC,EAAIC,GACzB,IAAIjoB,EAAGkoB,EAAMC,EAAIC,EAEjB,IAAKJ,IAAOC,GAAMD,EAAG9+B,SAAW++B,EAAG/+B,OAClC,OAAO,EAGR,IAAK8W,EAAI,EAAGkoB,EAAOF,EAAG9+B,OAAQ8W,EAAIkoB,IAAQloB,EAIzC,GAHAmoB,EAAKH,EAAGhoB,GACRooB,EAAKH,EAAGjoB,GAEJmoB,aAAcp/B,OAASq/B,aAAcr/B,OACxC,IAAKo+B,EAAQY,YAAYI,EAAIC,GAC5B,OAAO,OAEF,GAAID,IAAOC,EAEjB,OAAO,EAIT,OAAO,GAQRhC,MAAO,SAASC,GACf,GAAIc,EAAQn+B,QAAQq9B,GACnB,OAAOA,EAAOxuB,IAAIsvB,EAAQf,OAG3B,GAAIe,EAAQI,SAASlB,GAAS,CAM7B,IALA,IAAIpxB,EAASpG,OAAOyiB,OAAO+U,GACvBvsB,EAAOjL,OAAOiL,KAAKusB,GACnBgC,EAAOvuB,EAAK5Q,OACZozB,EAAI,EAEDA,EAAI+L,IAAQ/L,EAClBrnB,EAAO6E,EAAKwiB,IAAM6K,EAAQf,MAAMC,EAAOvsB,EAAKwiB,KAG7C,OAAOrnB,EAGR,OAAOoxB,GAQRiC,QAAS,SAAS/zB,EAAKU,EAAQoxB,EAAQ59B,GACtC,GAAKy+B,EAAW3yB,GAAhB,CAMA,IAAIg0B,EAAOtzB,EAAOV,GACdi0B,EAAOnC,EAAO9xB,GAEd4yB,EAAQI,SAASgB,IAASpB,EAAQI,SAASiB,GAC9CrB,EAAQsB,MAAMF,EAAMC,EAAM//B,GAE1BwM,EAAOV,GAAO4yB,EAAQf,MAAMoC,KAQ9BE,UAAW,SAASn0B,EAAKU,EAAQoxB,GAChC,GAAKa,EAAW3yB,GAAhB,CAMA,IAAIg0B,EAAOtzB,EAAOV,GACdi0B,EAAOnC,EAAO9xB,GAEd4yB,EAAQI,SAASgB,IAASpB,EAAQI,SAASiB,GAC9CrB,EAAQwB,QAAQJ,EAAMC,GACXvzB,EAAOpM,eAAe0L,KACjCU,EAAOV,GAAO4yB,EAAQf,MAAMoC,MAa9BC,MAAO,SAASxzB,EAAQoxB,EAAQ59B,GAC/B,IAEIggC,EAAOzoB,EAAGlG,EAAMuuB,EAAM/L,EAFtBsM,EAAUzB,EAAQn+B,QAAQq9B,GAAUA,EAAS,CAACA,GAC9C6B,EAAOU,EAAQ1/B,OAGnB,IAAKi+B,EAAQI,SAAStyB,GACrB,OAAOA,EAMR,IAHAxM,EAAUA,GAAW,GACrBggC,EAAQhgC,EAAQogC,QAAU1B,EAAQmB,QAE7BtoB,EAAI,EAAGA,EAAIkoB,IAAQloB,EAEvB,GADAqmB,EAASuC,EAAQ5oB,GACZmnB,EAAQI,SAASlB,GAKtB,IADAvsB,EAAOjL,OAAOiL,KAAKusB,GACd/J,EAAI,EAAG+L,EAAOvuB,EAAK5Q,OAAQozB,EAAI+L,IAAQ/L,EAC3CmM,EAAM3uB,EAAKwiB,GAAIrnB,EAAQoxB,EAAQ59B,GAIjC,OAAOwM,GAUR0zB,QAAS,SAAS1zB,EAAQoxB,GACzB,OAAOc,EAAQsB,MAAMxzB,EAAQoxB,EAAQ,CAACwC,OAAQ1B,EAAQuB,aAUvDphC,OAAQuH,OAAOi6B,QAAU,SAAS7zB,GACjC,OAAOkyB,EAAQsB,MAAMxzB,EAAQ,GAAGkF,MAAMzR,KAAK+N,UAAW,GAAI,CACzDoyB,OAAQ,SAASt0B,EAAKw0B,EAAKx5B,GAC1Bw5B,EAAIx0B,GAAOhF,EAAIgF,OAQlBy0B,SAAU,SAASC,GAClB,IAAIC,EAAKxhC,KACLyhC,EAAgBF,GAAcA,EAAWpgC,eAAe,eAAkBogC,EAAWtiB,YAAc,WACtG,OAAOuiB,EAAG/Q,MAAMzwB,KAAM+O,YAGnB2yB,EAAY,WACf1hC,KAAKif,YAAcwiB,GAYpB,OATAC,EAAU3I,UAAYyI,EAAGzI,UACzB0I,EAAa1I,UAAY,IAAI2I,EAC7BD,EAAa7hC,OAAS6/B,EAAQ6B,SAE1BC,GACH9B,EAAQ7/B,OAAO6hC,EAAa1I,UAAWwI,GAGxCE,EAAaE,UAAYH,EAAGzI,UACrB0I,GAGRG,YAAa,SAASC,EAAOtgC,EAAOugC,EAAUlzB,QAC/B5J,IAAVzD,GACH2I,QAAQ63B,KAAKF,EAAQ,MAAQC,EAC5B,gCAAkClzB,EAAU,eAK5CozB,EAAevC,EAWnBA,EAAQwC,aAAexC,EAAQ3d,SAU/B2d,EAAQppB,QAAU,SAASsK,EAAOhf,EAAMugC,GACvC,OAAO7gC,MAAM03B,UAAU1iB,QAAQrV,KAAK2f,EAAOhf,EAAMugC,IAUlDzC,EAAQ0C,kBAAoB1C,EAAQK,eASpCL,EAAQ2C,yBAA2B3C,EAAQO,sBAO3C,IAAIqC,EAAU,CACbC,OAAQ,SAAS99B,GAChB,OAAOA,GAGR+9B,WAAY,SAAS/9B,GACpB,OAAOA,EAAIA,GAGZg+B,YAAa,SAASh+B,GACrB,OAAQA,GAAKA,EAAI,IAGlBi+B,cAAe,SAASj+B,GACvB,OAAKA,GAAK,IAAO,EACT,GAAMA,EAAIA,GAEV,MAAUA,GAAMA,EAAI,GAAK,IAGlCk+B,YAAa,SAASl+B,GACrB,OAAOA,EAAIA,EAAIA,GAGhBm+B,aAAc,SAASn+B,GACtB,OAAQA,GAAQ,GAAKA,EAAIA,EAAI,GAG9Bo+B,eAAgB,SAASp+B,GACxB,OAAKA,GAAK,IAAO,EACT,GAAMA,EAAIA,EAAIA,EAEf,KAAQA,GAAK,GAAKA,EAAIA,EAAI,IAGlCq+B,YAAa,SAASr+B,GACrB,OAAOA,EAAIA,EAAIA,EAAIA,GAGpBs+B,aAAc,SAASt+B,GACtB,SAAUA,GAAQ,GAAKA,EAAIA,EAAIA,EAAI,IAGpCu+B,eAAgB,SAASv+B,GACxB,OAAKA,GAAK,IAAO,EACT,GAAMA,EAAIA,EAAIA,EAAIA,GAElB,KAAQA,GAAK,GAAKA,EAAIA,EAAIA,EAAI,IAGvCw+B,YAAa,SAASx+B,GACrB,OAAOA,EAAIA,EAAIA,EAAIA,EAAIA,GAGxBy+B,aAAc,SAASz+B,GACtB,OAAQA,GAAQ,GAAKA,EAAIA,EAAIA,EAAIA,EAAI,GAGtC0+B,eAAgB,SAAS1+B,GACxB,OAAKA,GAAK,IAAO,EACT,GAAMA,EAAIA,EAAIA,EAAIA,EAAIA,EAEvB,KAAQA,GAAK,GAAKA,EAAIA,EAAIA,EAAIA,EAAI,IAG1C2+B,WAAY,SAAS3+B,GACpB,OAAsC,EAA9BmT,KAAK8e,IAAIjyB,GAAKmT,KAAK4e,GAAK,KAGjC6M,YAAa,SAAS5+B,GACrB,OAAOmT,KAAK+e,IAAIlyB,GAAKmT,KAAK4e,GAAK,KAGhC8M,cAAe,SAAS7+B,GACvB,OAAQ,IAAOmT,KAAK8e,IAAI9e,KAAK4e,GAAK/xB,GAAK,IAGxC8+B,WAAY,SAAS9+B,GACpB,OAAc,IAANA,EAAW,EAAImT,KAAKoc,IAAI,EAAG,IAAMvvB,EAAI,KAG9C++B,YAAa,SAAS/+B,GACrB,OAAc,IAANA,EAAW,EAA4B,EAAvBmT,KAAKoc,IAAI,GAAI,GAAKvvB,IAG3Cg/B,cAAe,SAASh/B,GACvB,OAAU,IAANA,EACI,EAEE,IAANA,EACI,GAEHA,GAAK,IAAO,EACT,GAAMmT,KAAKoc,IAAI,EAAG,IAAMvvB,EAAI,IAE7B,IAAiC,EAAzBmT,KAAKoc,IAAI,GAAI,KAAOvvB,KAGpCi/B,WAAY,SAASj/B,GACpB,OAAIA,GAAK,EACDA,IAECmT,KAAK6e,KAAK,EAAIhyB,EAAIA,GAAK,IAGjCk/B,YAAa,SAASl/B,GACrB,OAAOmT,KAAK6e,KAAK,GAAKhyB,GAAQ,GAAKA,IAGpCm/B,cAAe,SAASn/B,GACvB,OAAKA,GAAK,IAAO,GACR,IAAOmT,KAAK6e,KAAK,EAAIhyB,EAAIA,GAAK,GAEhC,IAAOmT,KAAK6e,KAAK,GAAKhyB,GAAK,GAAKA,GAAK,IAG7Co/B,cAAe,SAASp/B,GACvB,IAAIwvB,EAAI,QACJ3F,EAAI,EACJ8G,EAAI,EACR,OAAU,IAAN3wB,EACI,EAEE,IAANA,EACI,GAEH6pB,IACJA,EAAI,IAED8G,EAAI,GACPA,EAAI,EACJnB,EAAI3F,EAAI,GAER2F,EAAI3F,GAAK,EAAI1W,KAAK4e,IAAM5e,KAAKksB,KAAK,EAAI1O,IAE9BA,EAAIxd,KAAKoc,IAAI,EAAG,IAAMvvB,GAAK,IAAMmT,KAAK+e,KAAKlyB,EAAIwvB,IAAM,EAAIrc,KAAK4e,IAAMlI,KAG9EyV,eAAgB,SAASt/B,GACxB,IAAIwvB,EAAI,QACJ3F,EAAI,EACJ8G,EAAI,EACR,OAAU,IAAN3wB,EACI,EAEE,IAANA,EACI,GAEH6pB,IACJA,EAAI,IAED8G,EAAI,GACPA,EAAI,EACJnB,EAAI3F,EAAI,GAER2F,EAAI3F,GAAK,EAAI1W,KAAK4e,IAAM5e,KAAKksB,KAAK,EAAI1O,GAEhCA,EAAIxd,KAAKoc,IAAI,GAAI,GAAKvvB,GAAKmT,KAAK+e,KAAKlyB,EAAIwvB,IAAM,EAAIrc,KAAK4e,IAAMlI,GAAK,IAG3E0V,iBAAkB,SAASv/B,GAC1B,IAAIwvB,EAAI,QACJ3F,EAAI,EACJ8G,EAAI,EACR,OAAU,IAAN3wB,EACI,EAEW,KAAdA,GAAK,IACF,GAEH6pB,IACJA,EAAI,KAED8G,EAAI,GACPA,EAAI,EACJnB,EAAI3F,EAAI,GAER2F,EAAI3F,GAAK,EAAI1W,KAAK4e,IAAM5e,KAAKksB,KAAK,EAAI1O,GAEnC3wB,EAAI,EACQ2wB,EAAIxd,KAAKoc,IAAI,EAAG,IAAMvvB,GAAK,IAAMmT,KAAK+e,KAAKlyB,EAAIwvB,IAAM,EAAIrc,KAAK4e,IAAMlI,IAA3E,GAEF8G,EAAIxd,KAAKoc,IAAI,GAAI,IAAMvvB,GAAK,IAAMmT,KAAK+e,KAAKlyB,EAAIwvB,IAAM,EAAIrc,KAAK4e,IAAMlI,GAAK,GAAM,IAExF2V,WAAY,SAASx/B,GACpB,IAAIwvB,EAAI,QACR,OAAOxvB,EAAIA,IAAMwvB,EAAI,GAAKxvB,EAAIwvB,IAG/BiQ,YAAa,SAASz/B,GACrB,IAAIwvB,EAAI,QACR,OAAQxvB,GAAQ,GAAKA,IAAMwvB,EAAI,GAAKxvB,EAAIwvB,GAAK,GAG9CkQ,cAAe,SAAS1/B,GACvB,IAAIwvB,EAAI,QACR,OAAKxvB,GAAK,IAAO,EACFA,EAAIA,IAAuB,GAAhBwvB,GAAK,QAAgBxvB,EAAIwvB,GAA3C,GAED,KAAQxvB,GAAK,GAAKA,IAAuB,GAAhBwvB,GAAK,QAAgBxvB,EAAIwvB,GAAK,IAG/DmQ,aAAc,SAAS3/B,GACtB,OAAO,EAAI69B,EAAQ+B,cAAc,EAAI5/B,IAGtC4/B,cAAe,SAAS5/B,GACvB,OAAIA,EAAK,EAAI,KACL,OAASA,EAAIA,EAEjBA,EAAK,EAAI,KACL,QAAUA,GAAM,IAAM,MAASA,EAAI,IAEvCA,EAAK,IAAM,KACP,QAAUA,GAAM,KAAO,MAASA,EAAI,MAErC,QAAUA,GAAM,MAAQ,MAASA,EAAI,SAG7C6/B,gBAAiB,SAAS7/B,GACzB,OAAIA,EAAI,GAC8B,GAA9B69B,EAAQ8B,aAAiB,EAAJ3/B,GAEa,GAAnC69B,EAAQ+B,cAAkB,EAAJ5/B,EAAQ,GAAW,KAI9C8/B,EAAiB,CACpBjC,QAASA,GAYVL,EAAauC,cAAgBlC,EAE7B,IAAI9L,EAAK5e,KAAK4e,GACViO,EAAcjO,EAAK,IACnBkO,EAAiB,EAALlO,EACZmO,EAAUnO,EAAK,EACfoO,EAAapO,EAAK,EAClBqO,EAAqB,EAALrO,EAAS,EAKzBsO,EAAY,CAKfC,MAAO,SAASC,GACfA,EAAMC,IAAIC,UAAU,EAAG,EAAGF,EAAM75B,MAAO65B,EAAM55B,SAc9C+5B,YAAa,SAASF,EAAKjmB,EAAG+U,EAAG5oB,EAAOC,EAAQg6B,GAC/C,GAAIA,EAAQ,CACX,IAAIjR,EAAIvc,KAAKnH,IAAI20B,EAAQh6B,EAAS,EAAGD,EAAQ,GACzCyK,EAAOoJ,EAAImV,EACXkR,EAAMtR,EAAII,EACVre,EAAQkJ,EAAI7T,EAAQgpB,EACpBmR,EAASvR,EAAI3oB,EAAS+oB,EAE1B8Q,EAAIM,OAAOvmB,EAAGqmB,GACVzvB,EAAOE,GAASuvB,EAAMC,GACzBL,EAAIO,IAAI5vB,EAAMyvB,EAAKlR,GAAIqC,GAAKmO,GAC5BM,EAAIO,IAAI1vB,EAAOuvB,EAAKlR,GAAIwQ,EAAS,GACjCM,EAAIO,IAAI1vB,EAAOwvB,EAAQnR,EAAG,EAAGwQ,GAC7BM,EAAIO,IAAI5vB,EAAM0vB,EAAQnR,EAAGwQ,EAASnO,IACxB5gB,EAAOE,GACjBmvB,EAAIM,OAAO3vB,EAAMme,GACjBkR,EAAIO,IAAI1vB,EAAOuvB,EAAKlR,GAAIwQ,EAASA,GACjCM,EAAIO,IAAI5vB,EAAMyvB,EAAKlR,EAAGwQ,EAASnO,EAAKmO,IAC1BU,EAAMC,GAChBL,EAAIO,IAAI5vB,EAAMyvB,EAAKlR,GAAIqC,EAAI,GAC3ByO,EAAIO,IAAI5vB,EAAM0vB,EAAQnR,EAAG,EAAGqC,IAE5ByO,EAAIO,IAAI5vB,EAAMyvB,EAAKlR,GAAIqC,EAAIA,GAE5ByO,EAAIQ,YACJR,EAAIM,OAAOvmB,EAAG+U,QAEdkR,EAAIS,KAAK1mB,EAAG+U,EAAG5oB,EAAOC,IAIxBu6B,UAAW,SAASV,EAAKn/B,EAAOs/B,EAAQpmB,EAAG+U,EAAG6R,GAC7C,IAAIpjC,EAAMqjC,EAASC,EAASC,EAAMC,EAC9BC,GAAOL,GAAY,GAAKnB,EAE5B,GAAI3+B,GAA0B,kBAAVA,IACnBtD,EAAOsD,EAAMqxB,WACA,8BAAT30B,GAAiD,+BAATA,GAM3C,OALAyiC,EAAIiB,OACJjB,EAAIkB,UAAUnnB,EAAG+U,GACjBkR,EAAI/G,OAAO+H,GACXhB,EAAImB,UAAUtgC,GAAQA,EAAMqF,MAAQ,GAAIrF,EAAMsF,OAAS,EAAGtF,EAAMqF,MAAOrF,EAAMsF,aAC7E65B,EAAIoB,UAKN,KAAIxL,MAAMuK,IAAWA,GAAU,GAA/B,CAMA,OAFAH,EAAIqB,YAEIxgC,GAER,QACCm/B,EAAIO,IAAIxmB,EAAG+U,EAAGqR,EAAQ,EAAGV,GACzBO,EAAIQ,YACJ,MACD,IAAK,WACJR,EAAIM,OAAOvmB,EAAIpH,KAAK+e,IAAIsP,GAAOb,EAAQrR,EAAInc,KAAK8e,IAAIuP,GAAOb,GAC3Da,GAAOpB,EACPI,EAAIsB,OAAOvnB,EAAIpH,KAAK+e,IAAIsP,GAAOb,EAAQrR,EAAInc,KAAK8e,IAAIuP,GAAOb,GAC3Da,GAAOpB,EACPI,EAAIsB,OAAOvnB,EAAIpH,KAAK+e,IAAIsP,GAAOb,EAAQrR,EAAInc,KAAK8e,IAAIuP,GAAOb,GAC3DH,EAAIQ,YACJ,MACD,IAAK,cAQJO,EAAwB,KAATZ,EACfW,EAAOX,EAASY,EAChBH,EAAUjuB,KAAK8e,IAAIuP,EAAMrB,GAAcmB,EACvCD,EAAUluB,KAAK+e,IAAIsP,EAAMrB,GAAcmB,EACvCd,EAAIO,IAAIxmB,EAAI6mB,EAAS9R,EAAI+R,EAASE,EAAcC,EAAMzP,EAAIyP,EAAMtB,GAChEM,EAAIO,IAAIxmB,EAAI8mB,EAAS/R,EAAI8R,EAASG,EAAcC,EAAMtB,EAASsB,GAC/DhB,EAAIO,IAAIxmB,EAAI6mB,EAAS9R,EAAI+R,EAASE,EAAcC,EAAKA,EAAMtB,GAC3DM,EAAIO,IAAIxmB,EAAI8mB,EAAS/R,EAAI8R,EAASG,EAAcC,EAAMtB,EAASsB,EAAMzP,GACrEyO,EAAIQ,YACJ,MACD,IAAK,OACJ,IAAKG,EAAU,CACdG,EAAOnuB,KAAK4uB,QAAUpB,EACtBH,EAAIS,KAAK1mB,EAAI+mB,EAAMhS,EAAIgS,EAAM,EAAIA,EAAM,EAAIA,GAC3C,MAEDE,GAAOrB,EAER,IAAK,UACJiB,EAAUjuB,KAAK8e,IAAIuP,GAAOb,EAC1BU,EAAUluB,KAAK+e,IAAIsP,GAAOb,EAC1BH,EAAIM,OAAOvmB,EAAI6mB,EAAS9R,EAAI+R,GAC5Bb,EAAIsB,OAAOvnB,EAAI8mB,EAAS/R,EAAI8R,GAC5BZ,EAAIsB,OAAOvnB,EAAI6mB,EAAS9R,EAAI+R,GAC5Bb,EAAIsB,OAAOvnB,EAAI8mB,EAAS/R,EAAI8R,GAC5BZ,EAAIQ,YACJ,MACD,IAAK,WACJQ,GAAOrB,EAER,IAAK,QACJiB,EAAUjuB,KAAK8e,IAAIuP,GAAOb,EAC1BU,EAAUluB,KAAK+e,IAAIsP,GAAOb,EAC1BH,EAAIM,OAAOvmB,EAAI6mB,EAAS9R,EAAI+R,GAC5Bb,EAAIsB,OAAOvnB,EAAI6mB,EAAS9R,EAAI+R,GAC5Bb,EAAIM,OAAOvmB,EAAI8mB,EAAS/R,EAAI8R,GAC5BZ,EAAIsB,OAAOvnB,EAAI8mB,EAAS/R,EAAI8R,GAC5B,MACD,IAAK,OACJA,EAAUjuB,KAAK8e,IAAIuP,GAAOb,EAC1BU,EAAUluB,KAAK+e,IAAIsP,GAAOb,EAC1BH,EAAIM,OAAOvmB,EAAI6mB,EAAS9R,EAAI+R,GAC5Bb,EAAIsB,OAAOvnB,EAAI6mB,EAAS9R,EAAI+R,GAC5Bb,EAAIM,OAAOvmB,EAAI8mB,EAAS/R,EAAI8R,GAC5BZ,EAAIsB,OAAOvnB,EAAI8mB,EAAS/R,EAAI8R,GAC5BI,GAAOrB,EACPiB,EAAUjuB,KAAK8e,IAAIuP,GAAOb,EAC1BU,EAAUluB,KAAK+e,IAAIsP,GAAOb,EAC1BH,EAAIM,OAAOvmB,EAAI6mB,EAAS9R,EAAI+R,GAC5Bb,EAAIsB,OAAOvnB,EAAI6mB,EAAS9R,EAAI+R,GAC5Bb,EAAIM,OAAOvmB,EAAI8mB,EAAS/R,EAAI8R,GAC5BZ,EAAIsB,OAAOvnB,EAAI8mB,EAAS/R,EAAI8R,GAC5B,MACD,IAAK,OACJA,EAAUjuB,KAAK8e,IAAIuP,GAAOb,EAC1BU,EAAUluB,KAAK+e,IAAIsP,GAAOb,EAC1BH,EAAIM,OAAOvmB,EAAI6mB,EAAS9R,EAAI+R,GAC5Bb,EAAIsB,OAAOvnB,EAAI6mB,EAAS9R,EAAI+R,GAC5B,MACD,IAAK,OACJb,EAAIM,OAAOvmB,EAAG+U,GACdkR,EAAIsB,OAAOvnB,EAAIpH,KAAK8e,IAAIuP,GAAOb,EAAQrR,EAAInc,KAAK+e,IAAIsP,GAAOb,GAC3D,MAGDH,EAAIjrB,OACJirB,EAAIwB,WAULC,eAAgB,SAASC,EAAOC,GAC/B,IAAIC,EAAU,KAEd,OAAOF,EAAM3nB,EAAI4nB,EAAKhxB,KAAOixB,GAAWF,EAAM3nB,EAAI4nB,EAAK9wB,MAAQ+wB,GAC9DF,EAAM5S,EAAI6S,EAAKvB,IAAMwB,GAAWF,EAAM5S,EAAI6S,EAAKtB,OAASuB,GAG1DC,SAAU,SAAS7B,EAAK2B,GACvB3B,EAAIiB,OACJjB,EAAIqB,YACJrB,EAAIS,KAAKkB,EAAKhxB,KAAMgxB,EAAKvB,IAAKuB,EAAK9wB,MAAQ8wB,EAAKhxB,KAAMgxB,EAAKtB,OAASsB,EAAKvB,KACzEJ,EAAI8B,QAGLC,WAAY,SAAS/B,GACpBA,EAAIoB,WAGLE,OAAQ,SAAStB,EAAKlD,EAAUv0B,EAAQy5B,GACvC,IAAIC,EAAU15B,EAAO25B,YACrB,GAAID,EAAJ,CACC,GAAgB,WAAZA,EAAsB,CACzB,IAAIE,GAAYrF,EAAS/iB,EAAIxR,EAAOwR,GAAK,EACzCimB,EAAIsB,OAAOa,EAAUH,EAAOz5B,EAAOumB,EAAIgO,EAAShO,GAChDkR,EAAIsB,OAAOa,EAAUH,EAAOlF,EAAShO,EAAIvmB,EAAOumB,OACzB,UAAZmT,IAAwBD,GAAsB,UAAZC,GAAuBD,EACpEhC,EAAIsB,OAAOxE,EAAS/iB,EAAGxR,EAAOumB,GAE9BkR,EAAIsB,OAAO/4B,EAAOwR,EAAG+iB,EAAShO,GAE/BkR,EAAIsB,OAAO/4B,EAAOwR,EAAGxR,EAAOumB,QAIxBvmB,EAAO65B,QAKZpC,EAAIqC,cACHL,EAAOlF,EAASwF,sBAAwBxF,EAASyF,kBACjDP,EAAOlF,EAAS0F,sBAAwB1F,EAAS2F,kBACjDT,EAAOz5B,EAAOg6B,kBAAoBh6B,EAAO+5B,sBACzCN,EAAOz5B,EAAOk6B,kBAAoBl6B,EAAOi6B,sBACzCj6B,EAAOwR,EACPxR,EAAOumB,GAVPkR,EAAIsB,OAAO/4B,EAAOwR,EAAGxR,EAAOumB,KAc3B4T,EAAiB7C,EAWrB7C,EAAa8C,MAAQD,EAAUC,MAS/B9C,EAAa2F,qBAAuB,SAAS3C,GAC5CA,EAAIqB,YACJxB,EAAUK,YAAYzU,MAAMoU,EAAW91B,YAGxC,IAAI64B,EAAW,CAIdC,KAAM,SAAShG,EAAO5R,GACrB,OAAO+R,EAAajB,MAAM/gC,KAAK6hC,KAAW7hC,KAAK6hC,GAAS,IAAK5R,KAM/D2X,EAASC,KAAK,SAAU,CACvBxtB,aAAc,kBACdytB,iBAAkB,OAClBC,kBAAmB,qDACnBC,gBAAiB,GACjBC,iBAAkB,SAClBC,kBAAmB,IACnBC,WAAW,IAGZ,IAAIC,EAAgBR,EAEhB9H,EAAiBkC,EAAalC,eAQlC,SAASuI,GAAaC,GACrB,OAAKA,GAAQtG,EAAapC,cAAc0I,EAAKxC,OAAS9D,EAAapC,cAAc0I,EAAKC,QAC9E,MAGAD,EAAKziC,MAAQyiC,EAAKziC,MAAQ,IAAM,KACpCyiC,EAAKjK,OAASiK,EAAKjK,OAAS,IAAM,IACnCiK,EAAKxC,KAAO,MACZwC,EAAKC,OAOT,IAAIC,GAAkB,CASrBC,aAAc,SAASlnC,EAAOukC,GAC7B,IAAI4C,GAAW,GAAKnnC,GAAO2c,MAAM,wCACjC,IAAKwqB,GAA0B,WAAfA,EAAQ,GACvB,OAAc,IAAP5C,EAKR,OAFAvkC,GAASmnC,EAAQ,GAETA,EAAQ,IAChB,IAAK,KACJ,OAAOnnC,EACR,IAAK,IACJA,GAAS,IACT,MAGD,OAAOukC,EAAOvkC,GAUfonC,UAAW,SAASpnC,GACnB,IAAIiD,EAAG0vB,EAAGE,EAAGH,EAWb,OATI+N,EAAanC,SAASt+B,IACzBiD,GAAKjD,EAAM6jC,KAAO,EAClBlR,GAAK3yB,EAAMsU,OAAS,EACpBue,GAAK7yB,EAAM8jC,QAAU,EACrBpR,GAAK1yB,EAAMoU,MAAQ,GAEnBnR,EAAI0vB,EAAIE,EAAIH,GAAK1yB,GAAS,EAGpB,CACN6jC,IAAK5gC,EACLqR,MAAOqe,EACPmR,OAAQjR,EACRze,KAAMse,EACN9oB,OAAQ3G,EAAI4vB,EACZlpB,MAAO+oB,EAAIC,IAWb0U,WAAY,SAAS7nC,GACpB,IAAI8nC,EAAiBT,EAAcpW,OAC/B8T,EAAOhG,EAAe/+B,EAAQ+nC,SAAUD,EAAeb,iBACvDM,EAAO,CACVC,OAAQzI,EAAe/+B,EAAQgoC,WAAYF,EAAed,mBAC1DiB,WAAYhH,EAAajhC,QAAQ0nC,aAAa3I,EAAe/+B,EAAQioC,WAAYH,EAAeX,mBAAoBpC,GACpHA,KAAMA,EACNjgC,MAAOi6B,EAAe/+B,EAAQkoC,UAAWJ,EAAeZ,kBACxD5J,OAAQ,KACRpH,OAAQ,IAIT,OADAqR,EAAKrR,OAASoR,GAAaC,GACpBA,GAcRY,QAAS,SAASC,EAAQC,EAASxnC,EAAOynC,GACzC,IACI/wB,EAAGkoB,EAAMj/B,EADT+nC,GAAY,EAGhB,IAAKhxB,EAAI,EAAGkoB,EAAO2I,EAAO3nC,OAAQ8W,EAAIkoB,IAAQloB,EAE7C,GADA/W,EAAQ4nC,EAAO7wB,QACDtT,IAAVzD,SAGYyD,IAAZokC,GAA0C,oBAAV7nC,IACnCA,EAAQA,EAAM6nC,GACdE,GAAY,QAECtkC,IAAVpD,GAAuBogC,EAAa1gC,QAAQC,KAC/CA,EAAQA,EAAMK,GACd0nC,GAAY,QAECtkC,IAAVzD,GAIH,OAHI8nC,IAASC,IACZD,EAAKC,WAAY,GAEX/nC,IAUPgoC,GAAY,CAKfC,WAAY,SAASjoC,GACpB,IAEI+W,EAFA2gB,EAAS,GACTzC,EAAO7e,KAAK6e,KAAKj1B,GAGrB,IAAK+W,EAAI,EAAGA,EAAIke,EAAMle,IACjB/W,EAAQ+W,IAAM,IACjB2gB,EAAOlvB,KAAKuO,GACZ2gB,EAAOlvB,KAAKxI,EAAQ+W,IAUtB,OAPIke,KAAiB,EAAPA,IACbyC,EAAOlvB,KAAKysB,GAGbyC,EAAOhjB,MAAK,SAASkf,EAAGf,GACvB,OAAOe,EAAIf,KACT+D,MACIc,GAGRwQ,MAAO9xB,KAAK8xB,OAAS,SAAS1qB,GAC7B,IAAI2qB,EAAW/xB,KAAKgyB,IAAI5qB,GAAKpH,KAAKiyB,OAG9BC,EAAYlyB,KAAKif,MAAM8S,GACvBI,EAAc/qB,IAAMpH,KAAKoc,IAAI,GAAI8V,GAErC,OAAOC,EAAcD,EAAYH,IAI/BK,GAAeR,GAWnBvH,EAAayH,MAAQF,GAAUE,MAE/B,IAAIO,GAAgB,SAASC,EAAO/+B,GACnC,MAAO,CACN6T,EAAG,SAASA,GACX,OAAOkrB,EAAQA,EAAQ/+B,EAAQ6T,GAEhCmrB,SAAU,SAASxV,GAClBxpB,EAAQwpB,GAETyV,UAAW,SAASC,GACnB,MAAc,WAAVA,EACIA,EAES,UAAVA,EAAoB,OAAS,SAErCC,MAAO,SAAStrB,EAAGxd,GAClB,OAAOwd,EAAIxd,GAEZ+oC,WAAY,SAASvrB,EAAGwrB,GACvB,OAAOxrB,EAAIwrB,KAKVC,GAAgB,WACnB,MAAO,CACNzrB,EAAG,SAASA,GACX,OAAOA,GAERmrB,SAAU,SAASxV,KAEnByV,UAAW,SAASC,GACnB,OAAOA,GAERC,MAAO,SAAStrB,EAAGxd,GAClB,OAAOwd,EAAIxd,GAEZ+oC,WAAY,SAASvrB,EAAG0rB,GACvB,OAAO1rB,KAKN2rB,GAAa,SAASj5B,EAAKw4B,EAAO/+B,GACrC,OAAOuG,EAAMu4B,GAAcC,EAAO/+B,GAASs/B,MAGxCG,GAAwB,SAAS3F,EAAK4F,GACzC,IAAI/kC,EAAOglC,EACO,QAAdD,GAAqC,QAAdA,IAC1B/kC,EAAQm/B,EAAIh5B,OAAOnG,MACnBglC,EAAW,CACVhlC,EAAMilC,iBAAiB,aACvBjlC,EAAMklC,oBAAoB,cAG3BllC,EAAMmlC,YAAY,YAAaJ,EAAW,aAC1C5F,EAAIiG,kBAAoBJ,IAItBK,GAAuB,SAASlG,GACnC,IAAI6F,EAAW7F,EAAIiG,uBACFjmC,IAAb6lC,WACI7F,EAAIiG,kBACXjG,EAAIh5B,OAAOnG,MAAMmlC,YAAY,YAAaH,EAAS,GAAIA,EAAS,MAI9DM,GAAc,CACjBnB,cAAeU,GACfC,sBAAuBA,GACvBO,qBAAsBA,IAGnBE,GAAYpJ,EACZqJ,GAAS/G,EACTt4B,GAAS07B,EACT3mC,GAAUynC,GACV8C,GAAOvB,GACPt4B,GAAM05B,GAOV,SAASI,GAAYv8B,EAAOw8B,EAAMpnB,EAAOqnB,GACxC,IACInzB,EAAGkoB,EAAM3zB,EAAK6+B,EAAQrlC,EAAQkH,EAAQhL,EAAMopC,EAAIC,EADhDx5B,EAAOjL,OAAOiL,KAAKgS,GAGvB,IAAK9L,EAAI,EAAGkoB,EAAOpuB,EAAK5Q,OAAQ8W,EAAIkoB,IAAQloB,EAa3C,GAZAzL,EAAMuF,EAAKkG,GAEX/K,EAAS6W,EAAMvX,GAIV2+B,EAAKrqC,eAAe0L,KACxB2+B,EAAK3+B,GAAOU,GAGbm+B,EAASF,EAAK3+B,GAEV6+B,IAAWn+B,GAAqB,MAAXV,EAAI,GAA7B,CAYA,GARKmC,EAAM7N,eAAe0L,KACzBmC,EAAMnC,GAAO6+B,GAGdrlC,EAAS2I,EAAMnC,GAEftK,SAAcgL,EAEVhL,WAAgB8D,EACnB,GAAa,WAAT9D,GAEH,GADAopC,EAAKpM,EAAal5B,GACdslC,EAAGxkB,QACNykB,EAAKrM,EAAahyB,GACdq+B,EAAGzkB,OAAO,CACbqkB,EAAK3+B,GAAO++B,EAAGzN,IAAIwN,EAAIF,GAAM1R,YAC7B,eAGI,GAAIqR,GAAU30B,SAASpQ,IAAW+kC,GAAU30B,SAASlJ,GAAS,CACpEi+B,EAAK3+B,GAAOxG,GAAUkH,EAASlH,GAAUolC,EACzC,SAIFD,EAAK3+B,GAAOU,GAnDd69B,GAAUC,OAASA,GACnBD,GAAUp/B,OAASA,GACnBo/B,GAAUrqC,QAAUA,GACpBqqC,GAAUE,KAAOA,GACjBF,GAAU35B,IAAMA,GAmDhB,IAAIo6B,GAAU,SAASC,GACtBV,GAAUxrC,OAAOI,KAAM8rC,GACvB9rC,KAAK+rC,WAAWtb,MAAMzwB,KAAM+O,YAG7Bq8B,GAAUxrC,OAAOisC,GAAQ9S,UAAW,CACnCiT,WAAOhnC,EAEP+mC,WAAY,WACX/rC,KAAKisC,QAAS,GAGfC,MAAO,WACN,IAAI1K,EAAKxhC,KAKT,OAJKwhC,EAAG2K,QACP3K,EAAG2K,MAAQf,GAAUxrC,OAAO,GAAI4hC,EAAG4K,SAEpC5K,EAAG6K,OAAS,GACL7K,GAGRp7B,WAAY,SAASqlC,GACpB,IAAIjK,EAAKxhC,KACLokB,EAAQod,EAAG4K,OACXp9B,EAAQwyB,EAAG6K,OACXb,EAAOhK,EAAG2K,MAGd,OAAK/nB,GAAkB,IAATqnB,GAMTD,IACJA,EAAOhK,EAAG2K,MAAQ,IAGdn9B,IACJA,EAAQwyB,EAAG6K,OAAS,IAGrBd,GAAYv8B,EAAOw8B,EAAMpnB,EAAOqnB,GAEzBjK,IAfNA,EAAG2K,MAAQf,GAAUxrC,OAAO,GAAIwkB,GAChCod,EAAG6K,OAAS,KACL7K,IAgBT8K,gBAAiB,WAChB,MAAO,CACNvtB,EAAG/e,KAAKosC,OAAOrtB,EACf+U,EAAG9zB,KAAKosC,OAAOtY,IAIjByY,SAAU,WACT,OAAOnB,GAAUoB,SAASxsC,KAAKosC,OAAOrtB,IAAMqsB,GAAUoB,SAASxsC,KAAKosC,OAAOtY,MAI7E+X,GAAQjsC,OAASwrC,GAAU9J,SAE3B,IAAImL,GAAeZ,GAEfa,GAAYD,GAAa7sC,OAAO,CACnCmlC,MAAO,KACPjf,YAAa,EACb6mB,SAAU,GACVtB,OAAQ,GACRnlC,OAAQ,KAER0mC,oBAAqB,KACrBC,oBAAqB,OAGlBC,GAAiBJ,GAUrBvlC,OAAOysB,eAAe8Y,GAAU3T,UAAW,kBAAmB,CAC7DgU,IAAK,WACJ,OAAO/sC,QAUTmH,OAAOysB,eAAe8Y,GAAU3T,UAAW,gBAAiB,CAC3DgU,IAAK,WACJ,OAAO/sC,KAAK+kC,OAEbiI,IAAK,SAASzrC,GACbvB,KAAK+kC,MAAQxjC,KAIf6mC,EAAcP,KAAK,SAAU,CAC5BoF,UAAW,CACVC,SAAU,IACV7B,OAAQ,eACR8B,WAAY/B,GAAU1L,KACtB0N,WAAYhC,GAAU1L,QAIxB,IAAI2N,GAAkB,CACrBC,WAAY,GACZC,QAAS,KAQTC,aAAc,SAASzI,EAAOkI,EAAWC,EAAUO,GAClD,IACIn1B,EAAGkoB,EADH8M,EAAattC,KAAKstC,WAWtB,IARAL,EAAUlI,MAAQA,EAClBkI,EAAUS,UAAY39B,KAAKyM,MAC3BywB,EAAUC,SAAWA,EAEhBO,IACJ1I,EAAM4I,WAAY,GAGdr1B,EAAI,EAAGkoB,EAAO8M,EAAW9rC,OAAQ8W,EAAIkoB,IAAQloB,EACjD,GAAIg1B,EAAWh1B,GAAGysB,QAAUA,EAE3B,YADAuI,EAAWh1B,GAAK20B,GAKlBK,EAAWvjC,KAAKkjC,GAGU,IAAtBK,EAAW9rC,QACdxB,KAAK4tC,yBAIPC,gBAAiB,SAAS9I,GACzB,IAAInjC,EAAQwpC,GAAU0C,UAAU9tC,KAAKstC,YAAY,SAASL,GACzD,OAAOA,EAAUlI,QAAUA,MAGb,IAAXnjC,IACH5B,KAAKstC,WAAWS,OAAOnsC,EAAO,GAC9BmjC,EAAM4I,WAAY,IAIpBC,sBAAuB,WACtB,IAAIpM,EAAKxhC,KACU,OAAfwhC,EAAG+L,UAIN/L,EAAG+L,QAAUnC,GAAU4C,iBAAiBhtC,KAAKs+B,QAAQ,WACpDkC,EAAG+L,QAAU,KACb/L,EAAGyM,mBAQNA,YAAa,WACZ,IAAIzM,EAAKxhC,KAETwhC,EAAG0M,UAGC1M,EAAG8L,WAAW9rC,OAAS,GAC1BggC,EAAGoM,yBAOLM,QAAS,WACR,IACIjB,EAAWlI,EAAO4H,EAAUpkB,EAD5B+kB,EAAattC,KAAKstC,WAElBh1B,EAAI,EAGR,MAAOA,EAAIg1B,EAAW9rC,OACrByrC,EAAYK,EAAWh1B,GACvBysB,EAAQkI,EAAUlI,MAClB4H,EAAWM,EAAUN,SAIrBpkB,EAAW5Q,KAAKge,OAAO5lB,KAAKyM,MAAQywB,EAAUS,WAAaT,EAAUC,SAAWP,GAAY,EAC5FM,EAAUnnB,YAAcnO,KAAKnH,IAAI+X,EAAUokB,GAE3CvB,GAAUtpB,SAASmrB,EAAU/mC,OAAQ,CAAC6+B,EAAOkI,GAAYlI,GACzDqG,GAAUtpB,SAASmrB,EAAUL,oBAAqB,CAACK,GAAYlI,GAE3DkI,EAAUnnB,aAAe6mB,GAC5BvB,GAAUtpB,SAASmrB,EAAUJ,oBAAqB,CAACI,GAAYlI,GAC/DA,EAAM4I,WAAY,EAClBL,EAAWS,OAAOz1B,EAAG,MAEnBA,IAMF4wB,GAAUkC,GAAUrqC,QAAQmoC,QAE5BiF,GAAc,CAAC,OAAQ,MAAO,QAAS,SAAU,WAOrD,SAASC,GAAkBztB,EAAO0tB,GAC7B1tB,EAAM2tB,SACT3tB,EAAM2tB,SAASC,UAAUxkC,KAAKskC,IAI/BlnC,OAAOysB,eAAejT,EAAO,WAAY,CACxC6tB,cAAc,EACdC,YAAY,EACZltC,MAAO,CACNgtC,UAAW,CAACF,MAIdF,GAAYjV,SAAQ,SAASrsB,GAC5B,IAAI6hC,EAAS,SAAW7hC,EAAIoyB,OAAO,GAAGviB,cAAgB7P,EAAI4F,MAAM,GAC5Dk8B,EAAOhuB,EAAM9T,GAEjB1F,OAAOysB,eAAejT,EAAO9T,EAAK,CACjC2hC,cAAc,EACdC,YAAY,EACZltC,MAAO,WACN,IAAIo1B,EAAOt1B,MAAM03B,UAAUtmB,MAAMzR,KAAK+N,WAClC6/B,EAAMD,EAAKle,MAAMzwB,KAAM22B,GAQ3B,OANAyU,GAAUlL,KAAKvf,EAAM2tB,SAASC,WAAW,SAASM,GACnB,oBAAnBA,EAAOH,IACjBG,EAAOH,GAAQje,MAAMoe,EAAQlY,MAIxBiY,SAUX,SAASE,GAAoBnuB,EAAO0tB,GACnC,IAAIU,EAAOpuB,EAAM2tB,SACjB,GAAKS,EAAL,CAIA,IAAIR,EAAYQ,EAAKR,UACjB3sC,EAAQ2sC,EAAUl4B,QAAQg4B,IACf,IAAXzsC,GACH2sC,EAAUR,OAAOnsC,EAAO,GAGrB2sC,EAAU/sC,OAAS,IAIvB2sC,GAAYjV,SAAQ,SAASrsB,UACrB8T,EAAM9T,aAGP8T,EAAM2tB,WAId,IAAIU,GAAoB,SAASjK,EAAOkK,GACvCjvC,KAAK+rC,WAAWhH,EAAOkK,IAGxB7D,GAAUxrC,OAAOovC,GAAkBjW,UAAW,CAM7CmW,mBAAoB,KAMpBC,gBAAiB,KAQjBC,uBAAwB,CACvB,kBACA,iBACA,cACA,aACA,mBACA,kBACA,eASDC,oBAAqB,CACpB,kBACA,cACA,cACA,cAGDtD,WAAY,SAAShH,EAAOkK,GAC3B,IAAIzN,EAAKxhC,KACTwhC,EAAGuD,MAAQA,EACXvD,EAAG5/B,MAAQqtC,EACXzN,EAAG8N,aACH9N,EAAG+N,cACH/N,EAAGwK,MAAQxK,EAAGgO,UAAUjtC,MAGzBktC,YAAa,SAASR,GACrBjvC,KAAK4B,MAAQqtC,GAGdK,WAAY,WACX,IAAI9N,EAAKxhC,KACL0vC,EAAOlO,EAAGgO,UACVzK,EAAQvD,EAAGuD,MACX4K,EAAS5K,EAAM4K,OACfC,EAAUpO,EAAGqO,aACbC,EAAa/K,EAAMhkC,QAAQ4uC,OAEV,OAAjBD,EAAKK,SAAsBL,EAAKK,WAAWJ,IAAWC,EAAQG,UACjEL,EAAKK,QAAUH,EAAQG,SAAWD,EAAWE,MAAM,GAAG/kC,IAElC,OAAjBykC,EAAKO,SAAsBP,EAAKO,WAAWN,IAAWC,EAAQK,UACjEP,EAAKO,QAAUL,EAAQK,SAAWH,EAAWI,MAAM,GAAGjlC,KAIxD4kC,WAAY,WACX,OAAO7vC,KAAK+kC,MAAMxhC,KAAK4sC,SAASnwC,KAAK4B,QAGtC4tC,QAAS,WACR,OAAOxvC,KAAK+kC,MAAMqL,eAAepwC,KAAK4B,QAGvCyuC,cAAe,SAASC,GACvB,OAAOtwC,KAAK+kC,MAAM4K,OAAOW,IAM1BC,iBAAkB,WACjB,OAAOvwC,KAAKwvC,UAAUS,SAMvBO,iBAAkB,WACjB,OAAOxwC,KAAKwvC,UAAUO,SAMvBU,eAAgB,WACf,OAAOzwC,KAAKqwC,cAAcrwC,KAAKuwC,qBAMhCG,eAAgB,WACf,OAAO1wC,KAAKqwC,cAAcrwC,KAAKwwC,qBAGhCG,MAAO,WACN3wC,KAAK4wC,SAAQ,IAMd9kC,QAAS,WACJ9L,KAAK6wC,OACR/B,GAAoB9uC,KAAK6wC,MAAO7wC,OAIlC8wC,kBAAmB,WAClB,IAAItP,EAAKxhC,KACLuC,EAAOi/B,EAAG0N,mBACd,OAAO3sC,GAAQ,IAAIA,EAAK,CACvBgJ,OAAQi2B,EAAGuD,MACXgM,cAAevP,EAAG5/B,SAIpBovC,eAAgB,SAASpvC,GACxB,IAAI4/B,EAAKxhC,KACLuC,EAAOi/B,EAAG2N,gBACd,OAAO5sC,GAAQ,IAAIA,EAAK,CACvBgJ,OAAQi2B,EAAGuD,MACXgM,cAAevP,EAAG5/B,MAClBqvC,OAAQrvC,KAIV2tC,YAAa,WACZ,IAIIj3B,EAAGkoB,EAJHgB,EAAKxhC,KACL0vC,EAAOlO,EAAGgO,UACVjsC,EAAOi+B,EAAGqO,aAAatsC,MAAQ,GAC/B2tC,EAAWxB,EAAKnsC,KAGpB,IAAK+U,EAAI,EAAGkoB,EAAOj9B,EAAK/B,OAAQ8W,EAAIkoB,IAAQloB,EAC3C44B,EAAS54B,GAAK44B,EAAS54B,IAAMkpB,EAAGwP,eAAe14B,GAGhDo3B,EAAKE,QAAUF,EAAKE,SAAWpO,EAAGsP,qBAGnCK,mBAAoB,SAASvvC,GAC5B,IAAIwvC,EAAUpxC,KAAKgxC,eAAepvC,GAClC5B,KAAKwvC,UAAUjsC,KAAKwqC,OAAOnsC,EAAO,EAAGwvC,GACrCpxC,KAAKqxC,cAAcD,EAASxvC,GAAO,IAGpC0vC,sBAAuB,WACtB,IAAI9P,EAAKxhC,KACL4vC,EAAUpO,EAAGqO,aACbtsC,EAAOqsC,EAAQrsC,OAASqsC,EAAQrsC,KAAO,IAKvCi+B,EAAGqP,QAAUttC,IACZi+B,EAAGqP,OAEN/B,GAAoBtN,EAAGqP,MAAOrP,GAG3Bj+B,GAAQ4D,OAAOoqC,aAAahuC,IAC/B6qC,GAAkB7qC,EAAMi+B,GAEzBA,EAAGqP,MAAQttC,GAKZi+B,EAAGgQ,kBAOJC,WAAY,WACX,IAAIjQ,EAAKxhC,KACTwhC,EAAGkQ,QAAUtG,GAAUrK,MAAM55B,OAAOyiB,OAAO,MAAO,CACjD4X,EAAGuD,MAAMhkC,QAAQovC,SAAS3O,EAAGwK,OAC7BxK,EAAGqO,cACD,CACF1O,OAAQ,SAASt0B,EAAKU,EAAQoxB,GACjB,UAAR9xB,GAA2B,SAARA,GACtBu+B,GAAUxK,QAAQ/zB,EAAKU,EAAQoxB,OAMnCiS,QAAS,SAASD,GACjB,IAAInP,EAAKxhC,KACTwhC,EAAGiQ,aACHjQ,EAAGmQ,gBAAkB,KACrBnQ,EAAG7X,OAAOgnB,IAGXhnB,OAAQyhB,GAAU1L,KAElBt5B,WAAY,SAASwrC,GAMpB,IALA,IAAIlC,EAAO1vC,KAAKwvC,UACZqC,EAAWnC,EAAKnsC,MAAQ,GACxBi9B,EAAOqR,EAASrwC,OAChB8W,EAAI,EAEDA,EAAIkoB,IAAQloB,EAClBu5B,EAASv5B,GAAGlS,WAAWwrC,GAGpBlC,EAAKE,SACRF,EAAKE,QAAQxpC,WAAWwrC,IAI1BE,KAAM,WACL,IAAIpC,EAAO1vC,KAAKwvC,UACZqC,EAAWnC,EAAKnsC,MAAQ,GACxBi9B,EAAOqR,EAASrwC,OAChB8W,EAAI,EAMR,IAJIo3B,EAAKE,SACRF,EAAKE,QAAQkC,OAGPx5B,EAAIkoB,IAAQloB,EAClBu5B,EAASv5B,GAAGw5B,QAUdC,SAAU,SAASnwC,GAClB,IAGIiE,EAHA27B,EAAKxhC,KACL0vC,EAAOlO,EAAGgO,UACVI,EAAUF,EAAKE,QAenB,OAZApO,EAAGiQ,aACC7B,QAAqB5qC,IAAVpD,EACdiE,EAAQ27B,EAAGwQ,8BAA8BpC,GAAW,KAEpDhuC,EAAQA,GAAS,EACjBiE,EAAQ27B,EAAGyQ,2BAA2BvC,EAAKnsC,KAAK3B,IAAU,GAAIA,KAG5C,IAAfiE,EAAMkU,MAAiC,OAAflU,EAAMkU,OACjClU,EAAMqsC,gBAAkBrsC,EAAMssC,aAGxBtsC,GAMRmsC,8BAA+B,SAASZ,EAAS9wC,GAChD,IAOIgY,EAAGkoB,EAAM3zB,EAAKulC,EAPd5Q,EAAKxhC,KACL+kC,EAAQvD,EAAGuD,MACXsN,EAAc7Q,EAAGkQ,QACjBY,EAASlB,EAAQkB,QAAU,GAC3BvxC,EAAUgkC,EAAMhkC,QAAQ8wC,SAASrQ,EAAG0N,mBAAmBnW,UAAUiT,QAAU,GAC3EuG,EAAiB/Q,EAAG4N,uBACpBnf,EAAS,GAITmZ,EAAU,CACbrE,MAAOA,EACP6K,QAASpO,EAAGqO,aACZZ,aAAczN,EAAG5/B,MACjBtB,MAAOA,GAGR,IAAKgY,EAAI,EAAGkoB,EAAO+R,EAAe/wC,OAAQ8W,EAAIkoB,IAAQloB,EACrDzL,EAAM0lC,EAAej6B,GACrB85B,EAAU9xC,EAAQ,QAAUuM,EAAIoyB,OAAO,GAAGviB,cAAgB7P,EAAI4F,MAAM,GAAK5F,EACzEojB,EAAOpjB,GAAOq8B,GAAQ,CACrBoJ,EAAOF,GACPC,EAAYD,GACZrxC,EAAQqxC,IACNhJ,GAGJ,OAAOnZ,GAMRgiB,2BAA4B,SAASb,EAASxvC,GAC7C,IAAI4/B,EAAKxhC,KACLsyC,EAASlB,GAAWA,EAAQkB,OAC5BE,EAAShR,EAAGmQ,gBAChB,GAAIa,IAAWF,EACd,OAAOE,EAER,IAiBIpgC,EAAMkG,EAAGkoB,EAAM3zB,EAjBfk4B,EAAQvD,EAAGuD,MACXsN,EAAc7Q,EAAGkQ,QACjB3wC,EAAUgkC,EAAMhkC,QAAQ8wC,SAASrQ,EAAG2N,gBAAgBpW,UAAUiT,QAAU,GACxEuG,EAAiB/Q,EAAG6N,oBACpBpf,EAAS,GAGTmZ,EAAU,CACbrE,MAAOA,EACP0N,UAAW7wC,EACXguC,QAASpO,EAAGqO,aACZZ,aAAczN,EAAG5/B,OAIdynC,EAAO,CAACC,WAAYgJ,GAMxB,GAFAA,EAASA,GAAU,GAEflH,GAAU9pC,QAAQixC,GACrB,IAAKj6B,EAAI,EAAGkoB,EAAO+R,EAAe/wC,OAAQ8W,EAAIkoB,IAAQloB,EACrDzL,EAAM0lC,EAAej6B,GACrB2X,EAAOpjB,GAAOq8B,GAAQ,CACrBoJ,EAAOzlC,GACPwlC,EAAYxlC,GACZ9L,EAAQ8L,IACNu8B,EAASxnC,EAAOynC,QAIpB,IADAj3B,EAAOjL,OAAOiL,KAAKmgC,GACdj6B,EAAI,EAAGkoB,EAAOpuB,EAAK5Q,OAAQ8W,EAAIkoB,IAAQloB,EAC3CzL,EAAMuF,EAAKkG,GACX2X,EAAOpjB,GAAOq8B,GAAQ,CACrBoJ,EAAOzlC,GACPwlC,EAAYE,EAAe1lC,IAC3BwlC,EAAYxlC,GACZ9L,EAAQ8L,IACNu8B,EAASxnC,EAAOynC,GAQrB,OAJIA,EAAKC,YACR9H,EAAGmQ,gBAAkBxqC,OAAOurC,OAAOziB,IAG7BA,GAGR0iB,iBAAkB,SAASvB,GAC1BhG,GAAUrK,MAAMqQ,EAAQhF,OAAQgF,EAAQwB,gBAAkB,WACnDxB,EAAQwB,gBAGhBC,cAAe,SAASzB,GACvB,IAAIxB,EAAU5vC,KAAK+kC,MAAMxhC,KAAK4sC,SAASiB,EAAQL,eAC3CnvC,EAAQwvC,EAAQH,OAChBqB,EAASlB,EAAQkB,QAAU,GAC3BluB,EAAQgtB,EAAQhF,OAChB0G,EAAgB1H,GAAU0H,cAE9B1B,EAAQwB,eAAiB,CACxBV,gBAAiB9tB,EAAM8tB,gBACvBC,YAAa/tB,EAAM+tB,YACnBY,YAAa3uB,EAAM2uB,aAGpB3uB,EAAM8tB,gBAAkBhJ,GAAQ,CAACoJ,EAAOU,qBAAsBpD,EAAQoD,qBAAsBF,EAAc1uB,EAAM8tB,uBAAmBltC,EAAWpD,GAC9IwiB,EAAM+tB,YAAcjJ,GAAQ,CAACoJ,EAAOW,iBAAkBrD,EAAQqD,iBAAkBH,EAAc1uB,EAAM+tB,mBAAentC,EAAWpD,GAC9HwiB,EAAM2uB,YAAc7J,GAAQ,CAACoJ,EAAOY,iBAAkBtD,EAAQsD,iBAAkB9uB,EAAM2uB,kBAAc/tC,EAAWpD,IAMhHuxC,yBAA0B,WACzB,IAAI/B,EAAUpxC,KAAKwvC,UAAUI,QAEzBwB,GACHpxC,KAAK2yC,iBAAiBvB,IAOxBgC,sBAAuB,WACtB,IAEI96B,EAAGkoB,EAAM3zB,EAAKuF,EAAMihC,EAAcjvB,EAFlCgtB,EAAUpxC,KAAKwvC,UAAUI,QACzBxmC,EAAO,GAGX,GAAKgoC,EAAL,CAQA,IAJAhtB,EAAQgtB,EAAQhF,OAChBiH,EAAerzC,KAAKgyC,8BAA8BZ,GAAS,GAE3Dh/B,EAAOjL,OAAOiL,KAAKihC,GACd/6B,EAAI,EAAGkoB,EAAOpuB,EAAK5Q,OAAQ8W,EAAIkoB,IAAQloB,EAC3CzL,EAAMuF,EAAKkG,GACXlP,EAAKyD,GAAOuX,EAAMvX,GAClBuX,EAAMvX,GAAOwmC,EAAaxmC,GAG3BukC,EAAQwB,eAAiBxpC,IAM1BooC,eAAgB,WACf,IAAIhQ,EAAKxhC,KACL0vC,EAAOlO,EAAGgO,UACVjsC,EAAOi+B,EAAGqO,aAAatsC,KACvB+vC,EAAU5D,EAAKnsC,KAAK/B,OACpB+xC,EAAUhwC,EAAK/B,OAEf+xC,EAAUD,EACb5D,EAAKnsC,KAAKwqC,OAAOwF,EAASD,EAAUC,GAC1BA,EAAUD,GACpB9R,EAAGgS,eAAeF,EAASC,EAAUD,IAOvCE,eAAgB,SAASxkC,EAAOykC,GAC/B,IAAK,IAAIn7B,EAAI,EAAGA,EAAIm7B,IAASn7B,EAC5BtY,KAAKmxC,mBAAmBniC,EAAQsJ,IAOlCo7B,WAAY,WACX,IAAID,EAAQ1kC,UAAUvN,OACtBxB,KAAKwzC,eAAexzC,KAAK6vC,aAAatsC,KAAK/B,OAASiyC,EAAOA,IAM5DE,UAAW,WACV3zC,KAAKwvC,UAAUjsC,KAAK40B,OAMrByb,YAAa,WACZ5zC,KAAKwvC,UAAUjsC,KAAKswC,SAMrBC,aAAc,SAAS9kC,EAAOykC,GAC7BzzC,KAAKwvC,UAAUjsC,KAAKwqC,OAAO/+B,EAAOykC,GAClCzzC,KAAKwzC,eAAexkC,EAAOD,UAAUvN,OAAS,IAM/CuyC,cAAe,WACd/zC,KAAKwzC,eAAe,EAAGzkC,UAAUvN,WAInCwtC,GAAkBpvC,OAASwrC,GAAU9J,SAErC,IAAI0S,GAAyBhF,GAEzBiF,GAAgB,EAAVt8B,KAAK4e,GAaf,SAAS2d,GAAQlP,EAAKO,GACrB,IAAI4O,EAAa5O,EAAI4O,WACjBC,EAAW7O,EAAI6O,SACfC,EAAc9O,EAAI8O,YAClBC,EAAcD,EAAc9O,EAAIgP,YAChCx1B,EAAIwmB,EAAIxmB,EACR+U,EAAIyR,EAAIzR,EAIZkR,EAAIqB,YACJrB,EAAIO,IAAIxmB,EAAG+U,EAAGyR,EAAIgP,YAAaJ,EAAaG,EAAaF,EAAWE,GAChE/O,EAAIiP,YAAcH,GACrBC,EAAcD,EAAc9O,EAAIiP,YAChCxP,EAAIO,IAAIxmB,EAAG+U,EAAGyR,EAAIiP,YAAcH,EAAaD,EAAWE,EAAaH,EAAaG,GAAa,IAE/FtP,EAAIO,IAAIxmB,EAAG+U,EAAGugB,EAAaD,EAAWz8B,KAAK4e,GAAK,EAAG4d,EAAax8B,KAAK4e,GAAK,GAE3EyO,EAAIQ,YACJR,EAAI8B,OAGL,SAAS2N,GAAsBzP,EAAK0P,EAAInP,EAAKoP,GAC5C,IACIr8B,EADA87B,EAAW7O,EAAI6O,SAenB,IAZIO,IACHpP,EAAI6O,SAAW7O,EAAI4O,WAAaF,GAChCC,GAAQlP,EAAKO,GACbA,EAAI6O,SAAWA,EACX7O,EAAI6O,WAAa7O,EAAI4O,YAAc5O,EAAIqP,cAC1CrP,EAAI6O,UAAYH,GAChB1O,EAAIqP,gBAIN5P,EAAIqB,YACJrB,EAAIO,IAAIA,EAAIxmB,EAAGwmB,EAAIzR,EAAGyR,EAAIiP,YAAajP,EAAI4O,WAAaF,GAAK1O,EAAI4O,YAAY,GACxE77B,EAAI,EAAGA,EAAIitB,EAAIqP,cAAet8B,EAClC0sB,EAAIwB,SAKL,IAFAxB,EAAIqB,YACJrB,EAAIO,IAAIA,EAAIxmB,EAAGwmB,EAAIzR,EAAG4gB,EAAGH,YAAahP,EAAI4O,WAAY5O,EAAI4O,WAAaF,IAClE37B,EAAI,EAAGA,EAAIitB,EAAIqP,cAAet8B,EAClC0sB,EAAIwB,SAIN,SAASqO,GAAW7P,EAAK0P,EAAInP,GAC5B,IAAIoP,EAA2B,UAAnBD,EAAGI,YAEXH,GACH3P,EAAI+P,UAA6B,EAAjBL,EAAG3B,YACnB/N,EAAIgQ,SAAW,UAEfhQ,EAAI+P,UAAYL,EAAG3B,YACnB/N,EAAIgQ,SAAW,SAGZzP,EAAIqP,aACPH,GAAsBzP,EAAK0P,EAAInP,EAAKoP,GAGjCA,GACHT,GAAQlP,EAAKO,GAGdP,EAAIqB,YACJrB,EAAIO,IAAIA,EAAIxmB,EAAGwmB,EAAIzR,EAAG4gB,EAAGH,YAAahP,EAAI4O,WAAY5O,EAAI6O,UAC1DpP,EAAIO,IAAIA,EAAIxmB,EAAGwmB,EAAIzR,EAAGyR,EAAIiP,YAAajP,EAAI6O,SAAU7O,EAAI4O,YAAY,GACrEnP,EAAIQ,YACJR,EAAIwB,SAnFL4B,EAAcP,KAAK,SAAU,CAC5BgK,SAAU,CACTtM,IAAK,CACJ2M,gBAAiB9J,EAAcpW,OAAO3X,aACtC83B,YAAa,OACbY,YAAa,EACb+B,YAAa,aAgFhB,IAAIG,GAAcxI,GAAa7sC,OAAO,CACrCosC,MAAO,MAEPkJ,aAAc,SAASC,GACtB,IAAIT,EAAK10C,KAAKmsC,MAEd,QAAIuI,GACK/8B,KAAKoc,IAAIohB,EAAST,EAAG31B,EAAG,GAAKpH,KAAKoc,IAAI2gB,EAAGvP,OAASuP,EAAGU,YAAa,IAK5EC,QAAS,SAASC,EAAQC,GACzB,IAAIb,EAAK10C,KAAKmsC,MAEd,GAAIuI,EAAI,CACP,IAAIc,EAAwBpK,GAAUqK,kBAAkBf,EAAI,CAAC31B,EAAGu2B,EAAQxhB,EAAGyhB,IACvEG,EAAQF,EAAsBE,MAC9BzgB,EAAWugB,EAAsBvgB,SAGjCkf,EAAaO,EAAGP,WAChBC,EAAWM,EAAGN,SAClB,MAAOA,EAAWD,EACjBC,GAAYH,GAEb,MAAOyB,EAAQtB,EACdsB,GAASzB,GAEV,MAAOyB,EAAQvB,EACduB,GAASzB,GAIV,IAAI0B,EAAiBD,GAASvB,GAAcuB,GAAStB,EACjDwB,EAAgB3gB,GAAYyf,EAAGF,aAAevf,GAAYyf,EAAGH,YAEjE,OAAQoB,GAAiBC,EAE1B,OAAO,GAGRC,eAAgB,WACf,IAAInB,EAAK10C,KAAKmsC,MACV2J,GAAapB,EAAGP,WAAaO,EAAGN,UAAY,EAC5C2B,GAAcrB,EAAGF,YAAcE,EAAGH,aAAe,EACrD,MAAO,CACNx1B,EAAG21B,EAAG31B,EAAIpH,KAAK8e,IAAIqf,GAAaC,EAChCjiB,EAAG4gB,EAAG5gB,EAAInc,KAAK+e,IAAIof,GAAaC,IAIlCC,QAAS,WACR,IAAItB,EAAK10C,KAAKmsC,MACd,OAAOx0B,KAAK4e,KAAOme,EAAGN,SAAWM,EAAGP,aAAe,EAAIx8B,KAAK4e,MAAQ5e,KAAKoc,IAAI2gB,EAAGH,YAAa,GAAK58B,KAAKoc,IAAI2gB,EAAGF,YAAa,KAG5HlI,gBAAiB,WAChB,IAAIoI,EAAK10C,KAAKmsC,MACV8J,EAAcvB,EAAGP,YAAeO,EAAGN,SAAWM,EAAGP,YAAc,EAC/D+B,GAAmBxB,EAAGH,YAAcG,EAAGF,aAAe,EAAIE,EAAGF,YAEjE,MAAO,CACNz1B,EAAG21B,EAAG31B,EAAKpH,KAAK8e,IAAIwf,GAAeC,EACnCpiB,EAAG4gB,EAAG5gB,EAAKnc,KAAK+e,IAAIuf,GAAeC,IAIrCpE,KAAM,WACL,IAaIx5B,EAbA0sB,EAAMhlC,KAAKuL,OAAOy5B,IAClB0P,EAAK10C,KAAKmsC,MACVkI,EAAkC,UAAnBK,EAAGI,YAA2B,IAAO,EACpDvP,EAAM,CACTxmB,EAAG21B,EAAG31B,EACN+U,EAAG4gB,EAAG5gB,EACN0gB,YAAaE,EAAGF,YAChBD,YAAa58B,KAAKlH,IAAIikC,EAAGH,YAAcF,EAAa,GACpDA,YAAaA,EACbF,WAAYO,EAAGP,WACfC,SAAUM,EAAGN,SACbQ,YAAaj9B,KAAKge,MAAM+e,EAAGyB,cAAgBlC,KAS5C,GALAjP,EAAIiB,OAEJjB,EAAIoR,UAAY1B,EAAGxC,gBACnBlN,EAAIqR,YAAc3B,EAAGvC,YAEjB5M,EAAIqP,YAAa,CAMpB,IALArP,EAAI6O,SAAW7O,EAAI4O,WAAaF,GAChCjP,EAAIqB,YACJrB,EAAIO,IAAIA,EAAIxmB,EAAGwmB,EAAIzR,EAAGyR,EAAIgP,YAAahP,EAAI4O,WAAY5O,EAAI6O,UAC3DpP,EAAIO,IAAIA,EAAIxmB,EAAGwmB,EAAIzR,EAAGyR,EAAIiP,YAAajP,EAAI6O,SAAU7O,EAAI4O,YAAY,GACrEnP,EAAIQ,YACCltB,EAAI,EAAGA,EAAIitB,EAAIqP,cAAet8B,EAClC0sB,EAAIjrB,OAELwrB,EAAI6O,SAAW7O,EAAI4O,WAAaO,EAAGyB,cAAgBlC,GAGpDjP,EAAIqB,YACJrB,EAAIO,IAAIA,EAAIxmB,EAAGwmB,EAAIzR,EAAGyR,EAAIgP,YAAahP,EAAI4O,WAAY5O,EAAI6O,UAC3DpP,EAAIO,IAAIA,EAAIxmB,EAAGwmB,EAAIzR,EAAGyR,EAAIiP,YAAajP,EAAI6O,SAAU7O,EAAI4O,YAAY,GACrEnP,EAAIQ,YACJR,EAAIjrB,OAEA26B,EAAG3B,aACN8B,GAAW7P,EAAK0P,EAAInP,GAGrBP,EAAIoB,aAIFkQ,GAAmBlL,GAAUtL,eAE7BzlB,GAAe+tB,EAAcpW,OAAO3X,aAExC+tB,EAAcP,KAAK,SAAU,CAC5BgK,SAAU,CACT0E,KAAM,CACLnP,QAAS,GACT8K,gBAAiB73B,GACjB04B,YAAa,EACbZ,YAAa93B,GACbm8B,eAAgB,OAChBC,WAAY,GACZC,iBAAkB,EAClBC,gBAAiB,QACjBC,iBAAiB,EACjB78B,MAAM,MAKT,IAAI88B,GAAepK,GAAa7sC,OAAO,CACtCosC,MAAO,OAEP8F,KAAM,WACL,IASIlwC,EAAOkgC,EAAUgV,EATjBtV,EAAKxhC,KACL00C,EAAKlT,EAAG2K,MACRnH,EAAMxD,EAAGj2B,OAAOy5B,IAChB+R,EAAWrC,EAAGqC,SACdC,EAASxV,EAAGyV,UAAUxkC,QACtBo2B,EAAiBT,EAAcpW,OAC/BklB,EAA2BrO,EAAegJ,SAAS0E,KACnDY,GAAkB,EAClB3R,EAAYhE,EAAGxnB,MAGnB,GAAKg9B,EAAOx1C,OAAZ,CAIA,GAAIggC,EAAGxnB,MAAO,CACb,IAAKpY,EAAQ,EAAGA,EAAQo1C,EAAOx1C,SAAUI,EAGxC,GAFAkgC,EAAWsJ,GAAUgM,aAAaJ,EAAQp1C,IAErCo1C,EAAOp1C,GAAOuqC,MAAMkL,MAAQvV,EAASqK,MAAMkL,KAAM,CACrDL,EAASA,EAAOvkC,MAAM7Q,GAAO+B,OAAOqzC,EAAOvkC,MAAM,EAAG7Q,IACpD4jC,EAAYuR,EACZ,MAIEvR,GACHwR,EAAOjtC,KAAKitC,EAAO,IA6BrB,IAzBAhS,EAAIiB,OAGJjB,EAAIsS,QAAU5C,EAAG8B,gBAAkBU,EAAyBV,eAGxDxR,EAAIuS,aACPvS,EAAIuS,YAAY7C,EAAG+B,YAAcS,EAAyBT,YAG3DzR,EAAIwS,eAAiBlB,GAAiB5B,EAAGgC,iBAAkBQ,EAAyBR,kBACpF1R,EAAIgQ,SAAWN,EAAGiC,iBAAmBO,EAAyBP,gBAC9D3R,EAAI+P,UAAYuB,GAAiB5B,EAAG3B,YAAamE,EAAyBnE,aAC1E/N,EAAIqR,YAAc3B,EAAGvC,aAAetJ,EAAexuB,aAGnD2qB,EAAIqB,YAGJyQ,EAAYE,EAAO,GAAG7K,MACjB2K,EAAUO,OACdrS,EAAIM,OAAOwR,EAAU/3B,EAAG+3B,EAAUhjB,GAClCqjB,EAAiB,GAGbv1C,EAAQ,EAAGA,EAAQo1C,EAAOx1C,SAAUI,EACxCk1C,EAAYE,EAAOp1C,GAAOuqC,MAC1BrK,GAA+B,IAApBqV,EAAwB/L,GAAUgM,aAAaJ,EAAQp1C,GAASo1C,EAAOG,GAE7EL,EAAUO,OACTF,IAAoBv1C,EAAQ,IAAOm1C,IAAiC,IAApBI,EAEpDnS,EAAIM,OAAOwR,EAAU/3B,EAAG+3B,EAAUhjB,GAGlCsX,GAAUp/B,OAAOs6B,OAAOtB,EAAKlD,EAASqK,MAAO2K,GAE9CK,EAAiBv1C,GAIf4jC,GACHR,EAAIQ,YAGLR,EAAIwB,SACJxB,EAAIoB,cAIFqR,GAAmBrM,GAAUtL,eAE7B4X,GAAiBtP,EAAcpW,OAAO3X,aAkB1C,SAASs9B,GAAOxC,GACf,IAAIT,EAAK10C,KAAKmsC,MACd,QAAOuI,GAAM/8B,KAAKigC,IAAIzC,EAAST,EAAG31B,GAAK21B,EAAGvP,OAASuP,EAAGmD,UAGvD,SAASC,GAAOC,GACf,IAAIrD,EAAK10C,KAAKmsC,MACd,QAAOuI,GAAM/8B,KAAKigC,IAAIG,EAASrD,EAAG5gB,GAAK4gB,EAAGvP,OAASuP,EAAGmD,UAvBvDzP,EAAcP,KAAK,SAAU,CAC5BgK,SAAU,CACTnL,MAAO,CACNvB,OAAQ,EACR6S,WAAY,SACZ9F,gBAAiBwF,GACjBvF,YAAauF,GACb3E,YAAa,EAEb8E,UAAW,EACXzC,YAAa,EACblC,iBAAkB,MAerB,IAAI+E,GAAgBxL,GAAa7sC,OAAO,CACvCosC,MAAO,QAEPqJ,QAAS,SAASF,EAAQ4C,GACzB,IAAIrD,EAAK10C,KAAKmsC,MACd,QAAOuI,GAAO/8B,KAAKoc,IAAIohB,EAAST,EAAG31B,EAAG,GAAKpH,KAAKoc,IAAIgkB,EAASrD,EAAG5gB,EAAG,GAAMnc,KAAKoc,IAAI2gB,EAAGmD,UAAYnD,EAAGvP,OAAQ,IAG7G+P,aAAcyC,GACdO,SAAUP,GACVQ,SAAUL,GAEVjC,eAAgB,WACf,IAAInB,EAAK10C,KAAKmsC,MACd,MAAO,CACNptB,EAAG21B,EAAG31B,EACN+U,EAAG4gB,EAAG5gB,IAIRkiB,QAAS,WACR,OAAOr+B,KAAK4e,GAAK5e,KAAKoc,IAAI/zB,KAAKmsC,MAAMhH,OAAQ,IAG9CmH,gBAAiB,WAChB,IAAIoI,EAAK10C,KAAKmsC,MACd,MAAO,CACNptB,EAAG21B,EAAG31B,EACN+U,EAAG4gB,EAAG5gB,EACNskB,QAAS1D,EAAGvP,OAASuP,EAAG3B,cAI1BjB,KAAM,SAASuG,GACd,IAAI3D,EAAK10C,KAAKmsC,MACVnH,EAAMhlC,KAAKuL,OAAOy5B,IAClBgT,EAAatD,EAAGsD,WAChBrS,EAAW+O,EAAG/O,SACdR,EAASuP,EAAGvP,OACZpmB,EAAI21B,EAAG31B,EACP+U,EAAI4gB,EAAG5gB,EACP+U,EAAiBT,EAAcpW,OAC/B3X,EAAewuB,EAAexuB,aAE9Bq6B,EAAG2C,YAKWryC,IAAdqzC,GAA2BjN,GAAUp/B,OAAOy6B,eAAeiO,EAAI2D,MAClErT,EAAIqR,YAAc3B,EAAGvC,aAAe93B,EACpC2qB,EAAI+P,UAAY0C,GAAiB/C,EAAG3B,YAAalK,EAAegJ,SAASnL,MAAMqM,aAC/E/N,EAAIoR,UAAY1B,EAAGxC,iBAAmB73B,EACtC+wB,GAAUp/B,OAAO05B,UAAUV,EAAKgT,EAAY7S,EAAQpmB,EAAG+U,EAAG6R,OAKzD2S,GAAiBlQ,EAAcpW,OAAO3X,aAa1C,SAASk+B,GAAW7D,GACnB,OAAOA,QAAmB1vC,IAAb0vC,EAAGxpC,MASjB,SAASstC,GAAa9D,GACrB,IAAI+D,EAAItiB,EAAIuiB,EAAIxiB,EAAIyiB,EAgBpB,OAdIJ,GAAW7D,IACdiE,EAAOjE,EAAGxpC,MAAQ,EAClButC,EAAK/D,EAAG31B,EAAI45B,EACZxiB,EAAKue,EAAG31B,EAAI45B,EACZD,EAAK/gC,KAAKnH,IAAIkkC,EAAG5gB,EAAG4gB,EAAG/F,MACvBzY,EAAKve,KAAKlH,IAAIikC,EAAG5gB,EAAG4gB,EAAG/F,QAEvBgK,EAAOjE,EAAGvpC,OAAS,EACnBstC,EAAK9gC,KAAKnH,IAAIkkC,EAAG31B,EAAG21B,EAAG/F,MACvBxY,EAAKxe,KAAKlH,IAAIikC,EAAG31B,EAAG21B,EAAG/F,MACvB+J,EAAKhE,EAAG5gB,EAAI6kB,EACZziB,EAAKwe,EAAG5gB,EAAI6kB,GAGN,CACNhjC,KAAM8iC,EACNrT,IAAKsT,EACL7iC,MAAOsgB,EACPkP,OAAQnP,GAIV,SAAS0iB,GAAKC,EAAMnY,EAAIoY,GACvB,OAAOD,IAASnY,EAAKoY,EAAKD,IAASC,EAAKpY,EAAKmY,EAG9C,SAASE,GAAmBrE,GAC3B,IAAIsE,EAAOtE,EAAGuE,cACVrK,EAAM,GAEV,OAAKoK,GAIDtE,EAAGwE,WACFxE,EAAG/F,KAAO+F,EAAG31B,IAChBi6B,EAAOJ,GAAKI,EAAM,OAAQ,UAEjBtE,EAAG/F,KAAO+F,EAAG5gB,IACvBklB,EAAOJ,GAAKI,EAAM,SAAU,QAG7BpK,EAAIoK,IAAQ,EACLpK,GAZCA,EAeT,SAASuK,GAAiBzE,EAAI0E,EAAMC,GACnC,IAEI70C,EAAG0vB,EAAGE,EAAGH,EAFT1yB,EAAQmzC,EAAG3B,YACXsE,EAAO0B,GAAmBrE,GAY9B,OATItJ,GAAUvL,SAASt+B,IACtBiD,GAAKjD,EAAM6jC,KAAO,EAClBlR,GAAK3yB,EAAMsU,OAAS,EACpBue,GAAK7yB,EAAM8jC,QAAU,EACrBpR,GAAK1yB,EAAMoU,MAAQ,GAEnBnR,EAAI0vB,EAAIE,EAAIH,GAAK1yB,GAAS,EAGpB,CACNiD,EAAG6yC,EAAKjS,KAAQ5gC,EAAI,EAAK,EAAIA,EAAI60C,EAAOA,EAAO70C,EAC/C0vB,EAAGmjB,EAAKxhC,OAAUqe,EAAI,EAAK,EAAIA,EAAIklB,EAAOA,EAAOllB,EACjDE,EAAGijB,EAAKhS,QAAWjR,EAAI,EAAK,EAAIA,EAAIilB,EAAOA,EAAOjlB,EAClDH,EAAGojB,EAAK1hC,MAASse,EAAI,EAAK,EAAIA,EAAImlB,EAAOA,EAAOnlB,GAIlD,SAASqlB,GAAc5E,GACtB,IAAI6E,EAASf,GAAa9D,GACtBxpC,EAAQquC,EAAO1jC,MAAQ0jC,EAAO5jC,KAC9BxK,EAASouC,EAAOlU,OAASkU,EAAOnU,IAChC9iC,EAAS62C,GAAiBzE,EAAIxpC,EAAQ,EAAGC,EAAS,GAEtD,MAAO,CACNquC,MAAO,CACNz6B,EAAGw6B,EAAO5jC,KACVme,EAAGylB,EAAOnU,IACV1Q,EAAGxpB,EACH/E,EAAGgF,GAEJwpC,MAAO,CACN51B,EAAGw6B,EAAO5jC,KAAOrT,EAAO2xB,EACxBH,EAAGylB,EAAOnU,IAAM9iC,EAAOkC,EACvBkwB,EAAGxpB,EAAQ5I,EAAO2xB,EAAI3xB,EAAO4xB,EAC7B/tB,EAAGgF,EAAS7I,EAAOkC,EAAIlC,EAAO8xB,IAKjC,SAASihB,GAAQX,EAAI31B,EAAG+U,GACvB,IAAI2lB,EAAc,OAAN16B,EACR26B,EAAc,OAAN5lB,EACRylB,KAAU7E,GAAO+E,GAASC,IAAiBlB,GAAa9D,GAE5D,OAAO6E,IACFE,GAAS16B,GAAKw6B,EAAO5jC,MAAQoJ,GAAKw6B,EAAO1jC,SACzC6jC,GAAS5lB,GAAKylB,EAAOnU,KAAOtR,GAAKylB,EAAOlU,QAzH9C+C,EAAcP,KAAK,SAAU,CAC5BgK,SAAU,CACT8H,UAAW,CACVzH,gBAAiBoG,GACjBnG,YAAamG,GACbW,cAAe,SACflG,YAAa,MAsHhB,IAAI6G,GAAoBnN,GAAa7sC,OAAO,CAC3CosC,MAAO,YAEP8F,KAAM,WACL,IAAI9M,EAAMhlC,KAAKuL,OAAOy5B,IAClB0P,EAAK10C,KAAKmsC,MACV0N,EAAQP,GAAc5E,GACtB8E,EAAQK,EAAML,MACd7E,EAAQkF,EAAMlF,MAElB3P,EAAIoR,UAAY1B,EAAGxC,gBACnBlN,EAAI8U,SAASN,EAAMz6B,EAAGy6B,EAAM1lB,EAAG0lB,EAAM9kB,EAAG8kB,EAAMrzC,GAE1CqzC,EAAM9kB,IAAMigB,EAAMjgB,GAAK8kB,EAAMrzC,IAAMwuC,EAAMxuC,IAI7C6+B,EAAIiB,OACJjB,EAAIqB,YACJrB,EAAIS,KAAK+T,EAAMz6B,EAAGy6B,EAAM1lB,EAAG0lB,EAAM9kB,EAAG8kB,EAAMrzC,GAC1C6+B,EAAI8B,OACJ9B,EAAIoR,UAAY1B,EAAGvC,YACnBnN,EAAIS,KAAKkP,EAAM51B,EAAG41B,EAAM7gB,EAAG6gB,EAAMjgB,EAAGigB,EAAMxuC,GAC1C6+B,EAAIjrB,KAAK,WACTirB,EAAIoB,YAGLj7B,OAAQ,WACP,IAAIupC,EAAK10C,KAAKmsC,MACd,OAAOuI,EAAG/F,KAAO+F,EAAG5gB,GAGrBuhB,QAAS,SAASF,EAAQ4C,GACzB,OAAO1C,GAAQr1C,KAAKmsC,MAAOgJ,EAAQ4C,IAGpC7C,aAAc,SAASC,EAAQ4C,GAC9B,IAAIrD,EAAK10C,KAAKmsC,MACd,OAAOoM,GAAW7D,GACfW,GAAQX,EAAIS,EAAQ,MACpBE,GAAQX,EAAI,KAAMqD,IAGtBG,SAAU,SAAS/C,GAClB,OAAOE,GAAQr1C,KAAKmsC,MAAOgJ,EAAQ,OAGpCgD,SAAU,SAASJ,GAClB,OAAO1C,GAAQr1C,KAAKmsC,MAAO,KAAM4L,IAGlClC,eAAgB,WACf,IACI92B,EAAG+U,EADH4gB,EAAK10C,KAAKmsC,MAUd,OARIoM,GAAW7D,IACd31B,EAAI21B,EAAG31B,EACP+U,GAAK4gB,EAAG5gB,EAAI4gB,EAAG/F,MAAQ,IAEvB5vB,GAAK21B,EAAG31B,EAAI21B,EAAG/F,MAAQ,EACvB7a,EAAI4gB,EAAG5gB,GAGD,CAAC/U,EAAGA,EAAG+U,EAAGA,IAGlBkiB,QAAS,WACR,IAAItB,EAAK10C,KAAKmsC,MAEd,OAAOoM,GAAW7D,GACfA,EAAGxpC,MAAQyM,KAAKigC,IAAIlD,EAAG5gB,EAAI4gB,EAAG/F,MAC9B+F,EAAGvpC,OAASwM,KAAKigC,IAAIlD,EAAG31B,EAAI21B,EAAG/F,OAGnCrC,gBAAiB,WAChB,IAAIoI,EAAK10C,KAAKmsC,MACd,MAAO,CACNptB,EAAG21B,EAAG31B,EACN+U,EAAG4gB,EAAG5gB,MAKL+d,GAAW,GACXkI,GAAM9E,GACN5oC,GAAOwqC,GACPmD,GAAQ/B,GACRgC,GAAYL,GAChB/H,GAASkI,IAAMA,GACflI,GAASxlC,KAAOA,GAChBwlC,GAASmI,MAAQA,GACjBnI,GAASoI,UAAYA,GAErB,IAAIC,GAAa9O,GAAUxJ,YACvBuY,GAAmB/O,GAAUtL,eAmCjC,SAASsa,GAAqB1f,EAAO2f,GACpC,IACIjxC,EAAMkxC,EAAMhiC,EAAGkoB,EADfhwB,EAAMkqB,EAAM6f,QAGhB,IAAKjiC,EAAI,EAAGkoB,EAAO6Z,EAAO74C,OAAQ8W,EAAIkoB,IAAQloB,EAC7C9H,EAAMmH,KAAKnH,IAAIA,EAAKmH,KAAKigC,IAAIyC,EAAO/hC,GAAK+hC,EAAO/hC,EAAI,KAGrD,IAAKA,EAAI,EAAGkoB,EAAO9F,EAAM8f,WAAWh5C,OAAQ8W,EAAIkoB,IAAQloB,EACvDgiC,EAAO5f,EAAM+f,gBAAgBniC,GAC7B9H,EAAM8H,EAAI,EAAIX,KAAKnH,IAAIA,EAAKmH,KAAKigC,IAAI0C,EAAOlxC,IAASoH,EACrDpH,EAAOkxC,EAGR,OAAO9pC,EASR,SAASkqC,GAAyB94C,EAAO+4C,EAAO55C,GAC/C,IAMI+kC,EAAM7P,EANN2kB,EAAY75C,EAAQ85C,aACpBpH,EAAQkH,EAAMG,WACdR,EAAOK,EAAMN,OAAOz4C,GACpB4O,EAAM46B,GAAUxL,cAAcgb,GAC/BR,GAAqBO,EAAMjgB,MAAOigB,EAAMN,SACvC,EAcJ,OAXIjP,GAAUxL,cAAcgb,IAC3B9U,EAAOt1B,EAAMzP,EAAQg6C,mBACrB9kB,EAAQl1B,EAAQi6C,gBAKhBlV,EAAO8U,EAAYnH,EACnBxd,EAAQ,GAGF,CACNglB,MAAOnV,EAAO2N,EACdxd,MAAOA,EACPjnB,MAAOsrC,EAAQxU,EAAO,GAUxB,SAASoV,GAA0Bt5C,EAAO+4C,EAAO55C,GAChD,IAKIiO,EAAO82B,EALPuU,EAASM,EAAMN,OACfC,EAAOD,EAAOz4C,GACdwH,EAAOxH,EAAQ,EAAIy4C,EAAOz4C,EAAQ,GAAK,KACvCyH,EAAOzH,EAAQy4C,EAAO74C,OAAS,EAAI64C,EAAOz4C,EAAQ,GAAK,KACvDu5C,EAAUp6C,EAAQg6C,mBAiBtB,OAda,OAAT3xC,IAGHA,EAAOkxC,GAAiB,OAATjxC,EAAgBsxC,EAAMS,IAAMT,EAAM3rC,MAAQ3F,EAAOixC,IAGpD,OAATjxC,IAEHA,EAAOixC,EAAOA,EAAOlxC,GAGtB4F,EAAQsrC,GAAQA,EAAO3iC,KAAKnH,IAAIpH,EAAMC,IAAS,EAAI8xC,EACnDrV,EAAOnuB,KAAKigC,IAAIvuC,EAAOD,GAAQ,EAAI+xC,EAE5B,CACNF,MAAOnV,EAAO6U,EAAMG,WACpB7kB,MAAOl1B,EAAQi6C,cACfhsC,MAAOA,GAlHTo5B,EAAcP,KAAK,MAAO,CACzBvnC,MAAO,CACNgG,KAAM,SAGPqpC,OAAQ,CACPK,MAAO,CAAC,CACPztC,KAAM,WACN84C,QAAQ,EACRC,UAAW,CACVC,iBAAiB,KAInBrL,MAAO,CAAC,CACP3tC,KAAM,cAKT6lC,EAAcP,KAAK,SAAU,CAC5BsI,SAAU,CACTqL,IAAK,CACJT,mBAAoB,GACpBC,cAAe,OA8FlB,IAAIS,GAAiBzH,GAAuBp0C,OAAO,CAElDuvC,gBAAiB0C,GAASoI,UAK1B5K,oBAAqB,CACpB,kBACA,cACA,gBACA,cACA,gBACA,eACA,qBACA,kBACA,gBAGDtD,WAAY,WACX,IACI2D,EAAMgM,EADNla,EAAKxhC,KAGTg0C,GAAuBjb,UAAUgT,WAAWtb,MAAM+Q,EAAIzyB,WAEtD2gC,EAAOlO,EAAGgO,UACVE,EAAKiM,MAAQna,EAAGqO,aAAa8L,MAC7BjM,EAAK8L,KAAM,EAEXE,EAAYla,EAAGkP,iBAAiB3vC,QAChCm5C,GAAW,YAAawB,EAAUV,cAAe,iCAAkC,yBACnFd,GAAW,YAAawB,EAAUb,aAAc,gCAAiC,wBACjFX,GAAW,YAAawB,EAAUX,mBAAoB,sCAAuC,8BAC7Fb,GAAW,YAAa1Y,EAAGiP,iBAAiB1vC,QAAQ66C,aAAc,gCAAiC,wBACnG1B,GAAW,YAAawB,EAAUG,gBAAiB,mCAAoC,4BAGxFlyB,OAAQ,SAASgnB,GAChB,IAEIr4B,EAAGkoB,EAFHgB,EAAKxhC,KACL65C,EAAQrY,EAAGgO,UAAUjsC,KAKzB,IAFAi+B,EAAGsa,OAASta,EAAGua,WAEVzjC,EAAI,EAAGkoB,EAAOqZ,EAAMr4C,OAAQ8W,EAAIkoB,IAAQloB,EAC5CkpB,EAAG6P,cAAcwI,EAAMvhC,GAAIA,EAAGq4B,IAIhCU,cAAe,SAASsI,EAAW/3C,EAAO+uC,GACzC,IAAInP,EAAKxhC,KACL0vC,EAAOlO,EAAGgO,UACVI,EAAUpO,EAAGqO,aACb9uC,EAAUygC,EAAGyQ,2BAA2B0H,EAAW/3C,GAEvD+3C,EAAUqC,QAAUxa,EAAG6O,cAAcX,EAAKK,SAC1C4J,EAAUsC,QAAUza,EAAG6O,cAAcX,EAAKO,SAC1C0J,EAAU5I,cAAgBvP,EAAG5/B,MAC7B+3C,EAAU1I,OAASrvC,EACnB+3C,EAAUvN,OAAS,CAClB8F,gBAAiBnxC,EAAQmxC,gBACzBC,YAAapxC,EAAQoxC,YACrB8G,cAAel4C,EAAQk4C,cACvBlG,YAAahyC,EAAQgyC,YACrBmJ,aAActM,EAAQuM,MACtBA,MAAO3a,EAAGuD,MAAMxhC,KAAKsvB,OAAOjxB,IAGzBwpC,GAAU9pC,QAAQsuC,EAAQrsC,KAAK3B,MAClC+3C,EAAUvN,OAAO6M,cAAgB,MAGlCzX,EAAG4a,uBAAuBzC,EAAW/3C,EAAO+uC,EAAO5vC,GAEnD44C,EAAUzN,SAMXkQ,uBAAwB,SAASzC,EAAW/3C,EAAO+uC,EAAO5vC,GACzD,IAAIygC,EAAKxhC,KACLokB,EAAQu1B,EAAUvN,OAClBiQ,EAAS7a,EAAGiP,iBACZ9B,EAAO0N,EAAOC,eACdpD,EAAamD,EAAOE,eACpB5B,EAAQnZ,EAAGsa,QAAUta,EAAGua,WACxBS,EAAUhb,EAAGib,wBAAwBjb,EAAG5/B,MAAOA,EAAOb,GACtD27C,EAAUlb,EAAGmb,wBAAwBnb,EAAG5/B,MAAOA,EAAO+4C,EAAO55C,GAEjEqjB,EAAM80B,WAAaA,EACnB90B,EAAMuqB,KAAOgC,EAAQhC,EAAO6N,EAAQ7N,KACpCvqB,EAAMrF,EAAIm6B,EAAavI,EAAQhC,EAAO6N,EAAQI,KAAOF,EAAQG,OAC7Dz4B,EAAM0P,EAAIolB,EAAawD,EAAQG,OAASlM,EAAQhC,EAAO6N,EAAQI,KAC/Dx4B,EAAMjZ,OAAS+tC,EAAawD,EAAQ5W,UAAO9gC,EAC3Cof,EAAMlZ,MAAQguC,OAAal0C,EAAY03C,EAAQ5W,MAShDgX,WAAY,SAASC,GACpB,IAMIzkC,EAAGo3B,EANHlO,EAAKxhC,KACL06B,EAAQ8G,EAAGkP,iBACXsM,EAAWtiB,EAAMuiB,yBAAyBzb,EAAGwK,OAC7CkR,EAAUxiB,EAAM35B,QAAQm8C,QACxB1c,EAAOwc,EAASx7C,OAChB27C,EAAS,GAGb,IAAK7kC,EAAI,EAAGA,EAAIkoB,IAAQloB,EAWvB,GAVAo3B,EAAOsN,EAAS1kC,KAMA,IAAZ4kC,IAAqD,IAAhCC,EAAO9mC,QAAQq5B,EAAKiM,aAC/B32C,IAAZk4C,QAAwCl4C,IAAf0qC,EAAKiM,QAC/BwB,EAAOpzC,KAAK2lC,EAAKiM,OAEdjM,EAAK9tC,QAAUm7C,EAClB,MAIF,OAAOI,GAORC,cAAe,WACd,OAAOp9C,KAAK88C,aAAat7C,QAU1B67C,cAAe,SAASpO,EAAcpvC,GACrC,IAAIs9C,EAASn9C,KAAK88C,WAAW7N,GACzBrtC,OAAkBoD,IAATnF,EACVs9C,EAAO9mC,QAAQxW,IACd,EAEJ,OAAmB,IAAX+B,EACLu7C,EAAO37C,OAAS,EAChBI,GAMJm6C,SAAU,WACT,IAGIzjC,EAAGkoB,EAHHgB,EAAKxhC,KACL06B,EAAQ8G,EAAGkP,iBACX2J,EAAS,GAGb,IAAK/hC,EAAI,EAAGkoB,EAAOgB,EAAGgO,UAAUjsC,KAAK/B,OAAQ8W,EAAIkoB,IAAQloB,EACxD+hC,EAAOtwC,KAAK2wB,EAAM4iB,iBAAiB,KAAMhlC,EAAGkpB,EAAG5/B,QAGhD,MAAO,CACNy4C,OAAQA,EACRrrC,MAAO0rB,EAAM6iB,YACbnC,IAAK1gB,EAAM8iB,UACX1C,WAAYtZ,EAAG4b,gBACf1iB,MAAOA,IAQT+hB,wBAAyB,SAASxN,EAAcrtC,EAAOb,GACtD,IAaIuX,EAAGmlC,EAAOC,EAAQ/O,EAAMiO,EAAM9W,EAAM6X,EAbpCnc,EAAKxhC,KACL+kC,EAAQvD,EAAGuD,MACXrK,EAAQ8G,EAAGiP,iBACX8L,EAAe7hB,EAAM6hB,eACrBpM,EAAWpL,EAAMxhC,KAAK4sC,SACtB6M,EAAWtiB,EAAMuiB,yBAAyBzb,EAAGwK,OAC7CzqC,EAAQm5B,EAAMkjB,YAAYzN,EAASlB,GAAc1rC,KAAK3B,IACtDg6C,EAAe76C,EAAQ66C,aACvBsB,EAAUxiB,EAAM35B,QAAQm8C,QACxBvB,EAAQna,EAAGgO,UAAUmM,MACrB3sC,OAAwBhK,IAAhBzD,EAAMyN,MAAsB,EAAIzN,EAAMkP,KAAO,GAAKlP,EAAMiP,KAAO,EAAIjP,EAAMiP,IAAMjP,EAAMkP,IAC7FjP,OAAyBwD,IAAhBzD,EAAMyN,MAAsBzN,EAAM65C,IAAM75C,EAAMkP,KAAO,GAAKlP,EAAMiP,KAAO,EAAIjP,EAAMkP,IAAMlP,EAAMiP,IAAMjP,EAAMiP,IAAMjP,EAAMkP,IAC9H+vB,EAAOwc,EAASx7C,OAGpB,GAAI07C,QAAwBl4C,IAAZk4C,QAAmCl4C,IAAV22C,EACxC,IAAKrjC,EAAI,EAAGA,EAAIkoB,IAAQloB,EAAG,CAG1B,GAFAmlC,EAAQT,EAAS1kC,GAEbmlC,EAAM77C,QAAUqtC,EACnB,MAGGwO,EAAM9B,QAAUA,IACnBgC,EAAcjjB,EAAMkjB,YAAYzN,EAASsN,EAAM77C,OAAO2B,KAAK3B,IAC3D87C,OAA+B14C,IAAtB24C,EAAY3uC,MAAsB2uC,EAAYvC,IAAMuC,EAAYntC,KAAO,GAAKmtC,EAAYltC,KAAO,EAAIktC,EAAYltC,IAAMktC,EAAYntC,KAErIjP,EAAMiP,IAAM,GAAKktC,EAAS,GAAOn8C,EAAMkP,KAAO,GAAKitC,EAAS,KAChE1uC,GAAS0uC,IAmBb,OAbA/O,EAAOjU,EAAM4iB,iBAAiBtuC,GAC9B4tC,EAAOliB,EAAM4iB,iBAAiBtuC,EAAQxN,GACtCskC,EAAO8W,EAAOjO,OAEO3pC,IAAjB42C,GAA8BjkC,KAAKigC,IAAI9R,GAAQ8V,IAClD9V,EAAO8V,EAENgB,EADGp7C,GAAU,IAAM+6C,GAAgB/6C,EAAS,GAAK+6C,EAC1C5N,EAAOiN,EAEPjN,EAAOiN,GAIT,CACN9V,KAAMA,EACN6I,KAAMA,EACNiO,KAAMA,EACNC,OAAQD,EAAO9W,EAAO,IAOxB6W,wBAAyB,SAAS1N,EAAcrtC,EAAO+4C,EAAO55C,GAC7D,IAAIygC,EAAKxhC,KACLsT,EAAiC,SAAzBvS,EAAQ85C,aACjBK,GAA0Bt5C,EAAO+4C,EAAO55C,GACxC25C,GAAyB94C,EAAO+4C,EAAO55C,GAEtC88C,EAAarc,EAAG6b,cAAcpO,EAAczN,EAAGgO,UAAUmM,OACzDkB,EAASvpC,EAAMtE,MAASsE,EAAM2nC,MAAQ4C,EAAevqC,EAAM2nC,MAAQ,EACnEnV,EAAOnuB,KAAKnH,IACf2pC,GAAiBp5C,EAAQ86C,gBAAiB7mB,KAC1C1hB,EAAM2nC,MAAQ3nC,EAAM2iB,OAErB,MAAO,CACN0Y,KAAMkO,EAAS/W,EAAO,EACtB8W,KAAMC,EAAS/W,EAAO,EACtB+W,OAAQA,EACR/W,KAAMA,IAIRgM,KAAM,WACL,IAAItQ,EAAKxhC,KACL+kC,EAAQvD,EAAGuD,MACXrK,EAAQ8G,EAAGiP,iBACXoJ,EAAQrY,EAAGgO,UAAUjsC,KACrBqsC,EAAUpO,EAAGqO,aACbrP,EAAOqZ,EAAMr4C,OACb8W,EAAI,EAIR,IAFA8yB,GAAUp/B,OAAO66B,SAAS9B,EAAMC,IAAKD,EAAMsT,WAEpC//B,EAAIkoB,IAAQloB,EAAG,CACrB,IAAI5V,EAAMg4B,EAAMkjB,YAAYhO,EAAQrsC,KAAK+U,IACpCsiB,MAAMl4B,EAAI8N,MAASoqB,MAAMl4B,EAAI+N,MACjCopC,EAAMvhC,GAAGw5B,OAIX1G,GAAUp/B,OAAO+6B,WAAWhC,EAAMC,MAMnCiN,2BAA4B,WAC3B,IAAIzQ,EAAKxhC,KACLiwB,EAASmb,GAAUxrC,OAAO,GAAIo0C,GAAuBjb,UAAUkZ,2BAA2BxhB,MAAM+Q,EAAIzyB,YACpG+uC,EAAYtc,EAAGkP,iBAAiB3vC,QAChCg9C,EAAYvc,EAAGiP,iBAAiB1vC,QAQpC,OANAkvB,EAAO+qB,cAAgBb,GAAiB2D,EAAU9C,cAAe/qB,EAAO+qB,eACxE/qB,EAAO4qB,aAAeV,GAAiB2D,EAAUjD,aAAc5qB,EAAO4qB,cACtE5qB,EAAO8qB,mBAAqBZ,GAAiB2D,EAAU/C,mBAAoB9qB,EAAO8qB,oBAClF9qB,EAAO4rB,gBAAkB1B,GAAiB2D,EAAUjC,gBAAiB5rB,EAAO4rB,iBAC5E5rB,EAAO2rB,aAAezB,GAAiB4D,EAAUnC,aAAc3rB,EAAO2rB,cAE/D3rB,KAKL+tB,GAAmB5S,GAAUtL,eAC7Bme,GAAY7S,GAAUrqC,QAAQmoC,QAElCd,EAAcP,KAAK,SAAU,CAC5BvnC,MAAO,CACNgG,KAAM,UAGPqpC,OAAQ,CACPK,MAAO,CAAC,CACPztC,KAAM,SACN27C,SAAU,SACVjzC,GAAI,aAELilC,MAAO,CAAC,CACP3tC,KAAM,SACN27C,SAAU,OACVjzC,GAAI,cAINkzC,SAAU,CACTC,UAAW,CACVC,MAAO,WAEN,MAAO,IAERlC,MAAO,SAASx6C,EAAM4B,GACrB,IAAI24C,EAAe34C,EAAK4sC,SAASxuC,EAAKstC,cAAckN,OAAS,GACzDmC,EAAY/6C,EAAK4sC,SAASxuC,EAAKstC,cAAc1rC,KAAK5B,EAAKC,OAC3D,OAAOs6C,EAAe,MAAQv6C,EAAK48C,OAAS,KAAO58C,EAAK68C,OAAS,KAAOF,EAAUpqB,EAAI,SAM1F,IAAIuqB,GAAoBzK,GAAuBp0C,OAAO,CAIrDuvC,gBAAiB0C,GAASmI,MAK1B3K,oBAAqB,CACpB,kBACA,cACA,cACA,uBACA,mBACA,mBACA,cACA,YACA,aACA,YAMD1lB,OAAQ,SAASgnB,GAChB,IAAInP,EAAKxhC,KACL0vC,EAAOlO,EAAGgO,UACVwH,EAAStH,EAAKnsC,KAGlB6nC,GAAUlL,KAAK8W,GAAQ,SAAStQ,EAAO9kC,GACtC4/B,EAAG6P,cAAc3K,EAAO9kC,EAAO+uC,OAOjCU,cAAe,SAAS3K,EAAO9kC,EAAO+uC,GACrC,IAAInP,EAAKxhC,KACL0vC,EAAOlO,EAAGgO,UACV8C,EAAS5L,EAAM4L,QAAU,GACzBoM,EAASld,EAAG6O,cAAcX,EAAKK,SAC/B4O,EAASnd,EAAG6O,cAAcX,EAAKO,SAC/BlvC,EAAUygC,EAAGyQ,2BAA2BvL,EAAO9kC,GAC/C2B,EAAOi+B,EAAGqO,aAAatsC,KAAK3B,GAC5Bg9C,EAAUpd,EAAG5/B,MAEbmd,EAAI4xB,EAAQ+N,EAAOG,mBAAmB,IAAOH,EAAOpB,iBAAiC,kBAAT/5C,EAAoBA,EAAOu7C,IAAKl9C,EAAOg9C,GACnH9qB,EAAI6c,EAAQgO,EAAOrC,eAAiBqC,EAAOrB,iBAAiB/5C,EAAM3B,EAAOg9C,GAE7ElY,EAAMsV,QAAU0C,EAChBhY,EAAMuV,QAAU0C,EAChBjY,EAAMqY,SAAWh+C,EACjB2lC,EAAMqK,cAAgB6N,EACtBlY,EAAMuK,OAASrvC,EACf8kC,EAAM0F,OAAS,CACd8F,gBAAiBnxC,EAAQmxC,gBACzBC,YAAapxC,EAAQoxC,YACrBY,YAAahyC,EAAQgyC,YACrB8E,UAAW92C,EAAQ82C,UACnBG,WAAYj3C,EAAQi3C,WACpBrS,SAAU5kC,EAAQ4kC,SAClBR,OAAQwL,EAAQ,EAAI5vC,EAAQokC,OAC5BkS,KAAM/E,EAAO+E,MAAQzc,MAAM7b,IAAM6b,MAAM9G,GACvC/U,EAAGA,EACH+U,EAAGA,GAGJ4S,EAAMwF,SAMP2G,cAAe,SAASnM,GACvB,IAAItiB,EAAQsiB,EAAM0F,OACdrrC,EAAU2lC,EAAMqY,SAChBjM,EAAgB1H,GAAU0H,cAE9BpM,EAAMkM,eAAiB,CACtBV,gBAAiB9tB,EAAM8tB,gBACvBC,YAAa/tB,EAAM+tB,YACnBY,YAAa3uB,EAAM2uB,YACnB5N,OAAQ/gB,EAAM+gB,QAGf/gB,EAAM8tB,gBAAkB8L,GAAiBj9C,EAAQiyC,qBAAsBF,EAAc/xC,EAAQmxC,kBAC7F9tB,EAAM+tB,YAAc6L,GAAiBj9C,EAAQkyC,iBAAkBH,EAAc/xC,EAAQoxC,cACrF/tB,EAAM2uB,YAAciL,GAAiBj9C,EAAQmyC,iBAAkBnyC,EAAQgyC,aACvE3uB,EAAM+gB,OAASpkC,EAAQokC,OAASpkC,EAAQq0C,aAMzCnD,2BAA4B,SAASvL,EAAO9kC,GAC3C,IAAI4/B,EAAKxhC,KACL+kC,EAAQvD,EAAGuD,MACX6K,EAAUpO,EAAGqO,aACbyC,EAAS5L,EAAM4L,QAAU,GACzB/uC,EAAOqsC,EAAQrsC,KAAK3B,IAAU,GAC9BquB,EAAS+jB,GAAuBjb,UAAUkZ,2BAA2BxhB,MAAM+Q,EAAIzyB,WAG/Eq6B,EAAU,CACbrE,MAAOA,EACP0N,UAAW7wC,EACXguC,QAASA,EACTX,aAAczN,EAAG5/B,OAgBlB,OAZI4/B,EAAGmQ,kBAAoB1hB,IAC1BA,EAASmb,GAAUxrC,OAAO,GAAIqwB,IAI/BA,EAAOkV,OAAS8Y,GAAU,CACzB3L,EAAOnN,OACP5hC,EAAK2wB,EACLsN,EAAGkQ,QAAQvM,OACXJ,EAAMhkC,QAAQ8wC,SAASnL,MAAMvB,QAC3BiE,EAASxnC,GAELquB,KAIL+uB,GAAmB5T,GAAUtL,eAE7Bmf,GAAOtnC,KAAK4e,GACZ2oB,GAAqB,EAAPD,GACdE,GAAYF,GAAO,EAEvB7W,EAAcP,KAAK,WAAY,CAC9BoF,UAAW,CAEVmS,eAAe,EAEfC,cAAc,GAEf/+C,MAAO,CACNgG,KAAM,UAEPg5C,eAAgB,SAASva,GACxB,IAIIzsB,EAAGkoB,EAAM+e,EAAUC,EAJnBC,EAAO1uB,SAAShmB,cAAc,MAC9BxH,EAAOwhC,EAAMxhC,KACb4sC,EAAW5sC,EAAK4sC,SAChBtd,EAAStvB,EAAKsvB,OAIlB,GADA4sB,EAAKC,aAAa,QAAS3a,EAAM95B,GAAK,WAClCklC,EAAS3uC,OACZ,IAAK8W,EAAI,EAAGkoB,EAAO2P,EAAS,GAAG5sC,KAAK/B,OAAQ8W,EAAIkoB,IAAQloB,EACvDinC,EAAWE,EAAKE,YAAY5uB,SAAShmB,cAAc,OACnDy0C,EAAeD,EAASI,YAAY5uB,SAAShmB,cAAc,SAC3Dy0C,EAAa35C,MAAMqsC,gBAAkB/B,EAAS,GAAG+B,gBAAgB55B,GAC7Dua,EAAOva,IACVinC,EAASI,YAAY5uB,SAAS6uB,eAAe/sB,EAAOva,KAKvD,OAAOmnC,EAAKI,WAEbC,OAAQ,CACPjtB,OAAQ,CACPktB,eAAgB,SAAShb,GACxB,IAAIxhC,EAAOwhC,EAAMxhC,KACjB,OAAIA,EAAKsvB,OAAOrxB,QAAU+B,EAAK4sC,SAAS3uC,OAChC+B,EAAKsvB,OAAO1iB,KAAI,SAASgsC,EAAO7jC,GACtC,IAAIo3B,EAAO3K,EAAMqL,eAAe,GAC5BvqC,EAAQ6pC,EAAKsQ,WAAWjO,SAASz5B,GAErC,MAAO,CACNjV,KAAM84C,EACN/F,UAAWvwC,EAAMqsC,gBACjBmE,YAAaxwC,EAAMssC,YACnB4C,UAAWlvC,EAAMktC,YACjB9G,OAAQrR,MAAMr3B,EAAK4sC,SAAS,GAAG5sC,KAAK+U,KAAOo3B,EAAKnsC,KAAK+U,GAAG2zB,OAGxDrqC,MAAO0W,MAIH,KAIT2nC,QAAS,SAASjwC,EAAGkwC,GACpB,IAEI5nC,EAAGkoB,EAAMkP,EAFT9tC,EAAQs+C,EAAWt+C,MACnBmjC,EAAQ/kC,KAAK+kC,MAGjB,IAAKzsB,EAAI,EAAGkoB,GAAQuE,EAAMxhC,KAAK4sC,UAAY,IAAI3uC,OAAQ8W,EAAIkoB,IAAQloB,EAClEo3B,EAAO3K,EAAMqL,eAAe93B,GAExBo3B,EAAKnsC,KAAK3B,KACb8tC,EAAKnsC,KAAK3B,GAAOqqC,QAAUyD,EAAKnsC,KAAK3B,GAAOqqC,QAI9ClH,EAAMpb,WAKRw2B,iBAAkB,GAGlBxa,UAAWwZ,GAGXhJ,cAAe+I,GAGff,SAAU,CACTC,UAAW,CACVC,MAAO,WACN,MAAO,IAERlC,MAAO,SAASiE,EAAa78C,GAC5B,IAAI88C,EAAY98C,EAAKsvB,OAAOutB,EAAYx+C,OACpCL,EAAQ,KAAOgC,EAAK4sC,SAASiQ,EAAYnR,cAAc1rC,KAAK68C,EAAYx+C,OAW5E,OATIwpC,GAAU9pC,QAAQ++C,IAGrBA,EAAYA,EAAU5tC,QACtB4tC,EAAU,IAAM9+C,GAEhB8+C,GAAa9+C,EAGP8+C,OAMX,IAAIC,GAAsBtM,GAAuBp0C,OAAO,CAEvDuvC,gBAAiB0C,GAASkI,IAE1BzK,WAAYlE,GAAU1L,KAKtB2P,oBAAqB,CACpB,kBACA,cACA,cACA,cACA,uBACA,mBACA,oBAIDkR,aAAc,SAAStR,GAGtB,IAFA,IAAIuR,EAAY,EAEPC,EAAI,EAAGA,EAAIxR,IAAgBwR,EAC/BzgD,KAAK+kC,MAAM2b,iBAAiBD,MAC7BD,EAIJ,OAAOA,GAGR72B,OAAQ,SAASgnB,GAChB,IAaIgQ,EAAUC,EAAWtoC,EAAGkoB,EAbxBgB,EAAKxhC,KACL+kC,EAAQvD,EAAGuD,MACXsT,EAAYtT,EAAMsT,UAClBwI,EAAO9b,EAAMhkC,QACb+/C,EAAS,EACTC,EAAS,EACTnrC,EAAU,EACVorC,EAAU,EACVtR,EAAOlO,EAAGgO,UACVyR,EAAOvR,EAAKnsC,KACZ29C,EAASL,EAAKV,iBAAmB,KAAO,EACxChK,EAAgB0K,EAAK1K,cACrBgL,EAAc3f,EAAG4f,eAAe5f,EAAG5/B,OAIvC,GAAIu0C,EAAgB+I,GAAa,CAChC,IAAI/K,EAAa0M,EAAKlb,SAAWuZ,GACjC/K,GAAcA,GAAc8K,IAAQC,GAAc/K,GAAc8K,GAAOC,GAAc,EACrF,IAAI9K,EAAWD,EAAagC,EACxBkL,EAAS1pC,KAAK8e,IAAI0d,GAClBmN,EAAS3pC,KAAK+e,IAAIyd,GAClBoN,EAAO5pC,KAAK8e,IAAI2d,GAChBoN,EAAO7pC,KAAK+e,IAAI0d,GAChBqN,EAAatN,GAAc,GAAKC,GAAY,GAAMA,GAAY8K,GAC9DwC,EAAcvN,GAAcgL,IAAa/K,GAAY+K,IAAc/K,GAAY8K,GAAcC,GAC7FwC,EAAcxN,KAAgB8K,IAAQ7K,GAAY6K,GAClD2C,EAAezN,IAAegL,IAAa/K,IAAa+K,IAAc/K,GAAY6K,GAAOE,GACzF0C,EAAOF,GAAe,EAAIhqC,KAAKnH,IAAI6wC,EAAQA,EAASH,EAAQK,EAAMA,EAAOL,GACzEY,EAAOF,GAAe,EAAIjqC,KAAKnH,IAAI8wC,EAAQA,EAASJ,EAAQM,EAAMA,EAAON,GACzEa,EAAON,EAAY,EAAI9pC,KAAKlH,IAAI4wC,EAAQA,EAASH,EAAQK,EAAMA,EAAOL,GACtEc,EAAON,EAAa,EAAI/pC,KAAKlH,IAAI6wC,EAAQA,EAASJ,EAAQM,EAAMA,EAAON,GAC3EJ,GAAUiB,EAAOF,GAAQ,EACzBd,GAAUiB,EAAOF,GAAQ,EACzBlsC,IAAYmsC,EAAOF,GAAQ,EAC3Bb,IAAYgB,EAAOF,GAAQ,EAG5B,IAAKxpC,EAAI,EAAGkoB,EAAOygB,EAAKz/C,OAAQ8W,EAAIkoB,IAAQloB,EAC3C2oC,EAAK3oC,GAAGymC,SAAWvd,EAAGyQ,2BAA2BgP,EAAK3oC,GAAIA,GAiB3D,IAdAysB,EAAMgO,YAAcvR,EAAGygB,oBACvBtB,GAAYtI,EAAUxiC,MAAQwiC,EAAU1iC,KAAOovB,EAAMgO,aAAe+N,EACpEF,GAAavI,EAAUhT,OAASgT,EAAUjT,IAAML,EAAMgO,aAAegO,EACrEhc,EAAMwP,YAAc58B,KAAKlH,IAAIkH,KAAKnH,IAAImwC,EAAUC,GAAa,EAAG,GAChE7b,EAAMyP,YAAc78B,KAAKlH,IAAIs0B,EAAMwP,YAAc2M,EAAQ,GACzDnc,EAAMmd,cAAgBnd,EAAMwP,YAAcxP,EAAMyP,cAAgBhT,EAAG2gB,iCAAmC,GACtGpd,EAAMnvB,QAAUA,EAAUmvB,EAAMwP,YAChCxP,EAAMic,QAAUA,EAAUjc,EAAMwP,YAEhC7E,EAAK0S,MAAQ5gB,EAAG6gB,iBAEhB7gB,EAAG+S,YAAcxP,EAAMwP,YAAcxP,EAAMmd,aAAe1gB,EAAG8gB,qBAAqB9gB,EAAG5/B,OACrF4/B,EAAGgT,YAAc78B,KAAKlH,IAAI+wB,EAAG+S,YAAcxP,EAAMmd,aAAef,EAAa,GAExE7oC,EAAI,EAAGkoB,EAAOygB,EAAKz/C,OAAQ8W,EAAIkoB,IAAQloB,EAC3CkpB,EAAG6P,cAAc4P,EAAK3oC,GAAIA,EAAGq4B,IAI/BU,cAAe,SAAS9L,EAAK3jC,EAAO+uC,GACnC,IAAInP,EAAKxhC,KACL+kC,EAAQvD,EAAGuD,MACXsT,EAAYtT,EAAMsT,UAClBwI,EAAO9b,EAAMhkC,QACbwhD,EAAgB1B,EAAK5T,UACrBuV,GAAWnK,EAAU1iC,KAAO0iC,EAAUxiC,OAAS,EAC/C4sC,GAAWpK,EAAUjT,IAAMiT,EAAUhT,QAAU,EAC/C8O,EAAa0M,EAAKlb,SAClByO,EAAWyM,EAAKlb,SAChBiK,EAAUpO,EAAGqO,aACbsG,EAAgBxF,GAAS4R,EAAcnD,eAAoB7Z,EAAI0G,OAAR,EAAqBzK,EAAGkhB,uBAAuB9S,EAAQrsC,KAAK3B,KAAWi/C,EAAK1K,cAAgB+I,IACnJ1K,EAAc7D,GAAS4R,EAAclD,aAAe,EAAI7d,EAAGgT,YAC3DD,EAAc5D,GAAS4R,EAAclD,aAAe,EAAI7d,EAAG+S,YAC3DxzC,EAAUwkC,EAAIwZ,UAAY,GAE9B3T,GAAUxrC,OAAO2lC,EAAK,CAErBwL,cAAevP,EAAG5/B,MAClBqvC,OAAQrvC,EAGRwqC,OAAQ,CACP8F,gBAAiBnxC,EAAQmxC,gBACzBC,YAAapxC,EAAQoxC,YACrBY,YAAahyC,EAAQgyC,YACrB+B,YAAa/zC,EAAQ+zC,YACrB/1B,EAAGyjC,EAAUzd,EAAMnvB,QACnBke,EAAG2uB,EAAU1d,EAAMic,QACnB7M,WAAYA,EACZC,SAAUA,EACV+B,cAAeA,EACf5B,YAAaA,EACbC,YAAaA,EACb2H,MAAO/Q,GAAUpL,sBAAsB4P,EAAQuM,MAAOv6C,EAAOmjC,EAAMxhC,KAAKsvB,OAAOjxB,OAIjF,IAAIwiB,EAAQmhB,EAAI6G,OAGXuE,GAAU4R,EAAcnD,gBAE3Bh7B,EAAM+vB,WADO,IAAVvyC,EACgBi/C,EAAKlb,SAELnE,EAAGgO,UAAUjsC,KAAK3B,EAAQ,GAAGwqC,OAAOgI,SAGxDhwB,EAAMgwB,SAAWhwB,EAAM+vB,WAAa/vB,EAAM+xB,eAG3C5Q,EAAI2G,SAGLmW,eAAgB,WACf,IAGI9gD,EAHAquC,EAAU5vC,KAAK6vC,aACfH,EAAO1vC,KAAKwvC,UACZ4S,EAAQ,EAcZ,OAXAhX,GAAUlL,KAAKwP,EAAKnsC,MAAM,SAAS6tC,EAASxvC,GAC3CL,EAAQquC,EAAQrsC,KAAK3B,GAChBg5B,MAAMr5B,IAAW6vC,EAAQnF,SAC7BmW,GAASzqC,KAAKigC,IAAIr2C,OAQb6gD,GAGRM,uBAAwB,SAASnhD,GAChC,IAAI6gD,EAAQpiD,KAAKwvC,UAAU4S,MAC3B,OAAIA,EAAQ,IAAMxnB,MAAMr5B,GAChB29C,IAAevnC,KAAKigC,IAAIr2C,GAAS6gD,GAElC,GAIRH,kBAAmB,SAAShB,GAC3B,IAGI3oC,EAAGkoB,EAAMkP,EAAMnK,EAAKya,EAAYj/C,EAASgyC,EAAa4P,EAHtDnhB,EAAKxhC,KACLyQ,EAAM,EACNs0B,EAAQvD,EAAGuD,MAGf,IAAKkc,EAEJ,IAAK3oC,EAAI,EAAGkoB,EAAOuE,EAAMxhC,KAAK4sC,SAAS3uC,OAAQ8W,EAAIkoB,IAAQloB,EAC1D,GAAIysB,EAAM2b,iBAAiBpoC,GAAI,CAC9Bo3B,EAAO3K,EAAMqL,eAAe93B,GAC5B2oC,EAAOvR,EAAKnsC,KACR+U,IAAMkpB,EAAG5/B,QACZo+C,EAAatQ,EAAKsQ,YAEnB,MAKH,IAAKiB,EACJ,OAAO,EAGR,IAAK3oC,EAAI,EAAGkoB,EAAOygB,EAAKz/C,OAAQ8W,EAAIkoB,IAAQloB,EAC3CitB,EAAM0b,EAAK3oC,GACP0nC,GACHA,EAAWvO,aACX1wC,EAAUi/C,EAAW/N,2BAA2B1M,EAAKjtB,IAErDvX,EAAUwkC,EAAIwZ,SAEa,UAAxBh+C,EAAQ+zC,cACX/B,EAAchyC,EAAQgyC,YACtB4P,EAAa5hD,EAAQmyC,iBAErBziC,EAAMsiC,EAActiC,EAAMsiC,EAActiC,EACxCA,EAAMkyC,EAAalyC,EAAMkyC,EAAalyC,GAGxC,OAAOA,GAMRoiC,cAAe,SAAStN,GACvB,IAAInhB,EAAQmhB,EAAI6G,OACZrrC,EAAUwkC,EAAIwZ,SACdjM,EAAgB1H,GAAU0H,cAE9BvN,EAAIqN,eAAiB,CACpBV,gBAAiB9tB,EAAM8tB,gBACvBC,YAAa/tB,EAAM+tB,YACnBY,YAAa3uB,EAAM2uB,aAGpB3uB,EAAM8tB,gBAAkB8M,GAAiBj+C,EAAQiyC,qBAAsBF,EAAc/xC,EAAQmxC,kBAC7F9tB,EAAM+tB,YAAc6M,GAAiBj+C,EAAQkyC,iBAAkBH,EAAc/xC,EAAQoxC,cACrF/tB,EAAM2uB,YAAciM,GAAiBj+C,EAAQmyC,iBAAkBnyC,EAAQgyC,cAOxEuP,qBAAsB,SAASrT,GAG9B,IAFA,IAAI2T,EAAmB,EAEdtqC,EAAI,EAAGA,EAAI22B,IAAgB32B,EAC/BtY,KAAK+kC,MAAM2b,iBAAiBpoC,KAC/BsqC,GAAoB5iD,KAAKohD,eAAe9oC,IAI1C,OAAOsqC,GAMRxB,eAAgB,SAASyB,GACxB,OAAOlrC,KAAKlH,IAAIuuC,GAAiBh/C,KAAK+kC,MAAMxhC,KAAK4sC,SAAS0S,GAAcxkB,OAAQ,GAAI,IAOrF8jB,8BAA+B,WAC9B,OAAOniD,KAAKsiD,qBAAqBtiD,KAAK+kC,MAAMxhC,KAAK4sC,SAAS3uC,WAI5D4mC,EAAcP,KAAK,gBAAiB,CACnCvnC,MAAO,CACNgG,KAAM,QACNw8C,KAAM,KAGPnT,OAAQ,CACPK,MAAO,CAAC,CACPztC,KAAM,SACN27C,SAAU,WAGXhO,MAAO,CAAC,CACP3tC,KAAM,WACN27C,SAAU,OACV7C,QAAQ,EACRC,UAAW,CACVC,iBAAiB,MAKpB1J,SAAU,CACT8H,UAAW,CACVV,cAAe,SAIjBkF,SAAU,CACT73C,KAAM,QACNw8C,KAAM,OAIR1a,EAAcP,KAAK,SAAU,CAC5BsI,SAAU,CACT4S,cAAe,CACdhI,mBAAoB,GACpBC,cAAe,OAKlB,IAAIgI,GAA2BvH,GAAe77C,OAAO,CAIpD2wC,iBAAkB,WACjB,OAAOvwC,KAAKwvC,UAAUO,SAMvBS,iBAAkB,WACjB,OAAOxwC,KAAKwvC,UAAUS,WAIpBgT,GAAmB7X,GAAUtL,eAC7BojB,GAAY9X,GAAUrqC,QAAQmoC,QAC9Bia,GAAgB/X,GAAUp/B,OAAOy6B,eAsBrC,SAAS2c,GAAU1oB,EAAO2oB,GACzB,IAAIC,EAAW5oB,GAASA,EAAM35B,QAAQwiD,OAAS,GAC3CnjB,EAAUkjB,EAASljB,QACnB5vB,OAAuBxL,IAAjBs+C,EAAS9yC,IAAoB6yC,EAAkB,EACrD5yC,OAAuBzL,IAAjBs+C,EAAS7yC,IAAoB4yC,EAAkB,EACzD,MAAO,CACNr0C,MAAOoxB,EAAU3vB,EAAMD,EACvB4qC,IAAKhb,EAAU5vB,EAAMC,GAIvB,SAAS+yC,GAAY9E,EAAQC,EAAQ5L,GACpC,IAAIsQ,EAAkBtQ,EAAc,EAChCh0B,EAAIqkC,GAAU1E,EAAQ2E,GACtBvvB,EAAIsvB,GAAUzE,EAAQ0E,GAE1B,MAAO,CACNje,IAAKtR,EAAEsnB,IACPvlC,MAAOkJ,EAAEq8B,IACT/V,OAAQvR,EAAE9kB,MACV2G,KAAMoJ,EAAE/P,OAIV,SAASy0C,GAAOliD,GACf,IAAIiD,EAAG0vB,EAAGE,EAAGH,EAWb,OATImX,GAAUvL,SAASt+B,IACtBiD,EAAIjD,EAAM6jC,IACVlR,EAAI3yB,EAAMsU,MACVue,EAAI7yB,EAAM8jC,OACVpR,EAAI1yB,EAAMoU,MAEVnR,EAAI0vB,EAAIE,EAAIH,EAAI1yB,EAGV,CACN6jC,IAAK5gC,EACLqR,MAAOqe,EACPmR,OAAQjR,EACRze,KAAMse,GA5DRmU,EAAcP,KAAK,OAAQ,CAC1BM,WAAW,EACX4O,UAAU,EAEVz2C,MAAO,CACNgG,KAAM,SAGPqpC,OAAQ,CACPK,MAAO,CAAC,CACPztC,KAAM,WACN0I,GAAI,aAELilC,MAAO,CAAC,CACP3tC,KAAM,SACN0I,GAAI,gBAkDP,IAAIy4C,GAAkB1P,GAAuBp0C,OAAO,CAEnDsvC,mBAAoB2C,GAASxlC,KAE7B8iC,gBAAiB0C,GAASmI,MAK1B5K,uBAAwB,CACvB,kBACA,iBACA,cACA,aACA,mBACA,kBACA,cACA,yBACA,QAMDC,oBAAqB,CACpB6C,gBAAiB,uBACjBC,YAAa,mBACbY,YAAa,mBACb8E,UAAW,iBACX7E,qBAAsB,4BACtBC,iBAAkB,wBAClBC,iBAAkB,wBAClBkC,YAAa,mBACb4C,WAAY,aACZ7S,OAAQ,cACRQ,SAAU,iBAGXhc,OAAQ,SAASgnB,GAChB,IAOIr4B,EAAGkoB,EAPHgB,EAAKxhC,KACL0vC,EAAOlO,EAAGgO,UACV+G,EAAO7G,EAAKE,QACZoH,EAAStH,EAAKnsC,MAAQ,GACtBxC,EAAUygC,EAAGuD,MAAMhkC,QACnB4iD,EAASniB,EAAGkQ,QACZkS,EAAWpiB,EAAGqiB,UAAYZ,GAAiBU,EAAOC,SAAU7iD,EAAQonC,WAyBxE,IAtBA3G,EAAGwa,QAAUxa,EAAG6O,cAAcX,EAAKK,SACnCvO,EAAGya,QAAUza,EAAG6O,cAAcX,EAAKO,SAG/B2T,SAEoB5+C,IAAnB2+C,EAAOvc,cAAgDpiC,IAAvB2+C,EAAOG,cAC1CH,EAAOG,YAAcH,EAAOvc,SAI7BmP,EAAKwN,OAASviB,EAAGya,QACjB1F,EAAKxF,cAAgBvP,EAAG5/B,MAExB20C,EAAKU,UAAYD,EAEjBT,EAAKnK,OAAS5K,EAAGwQ,8BAA8BuE,GAE/CA,EAAKrK,SAID5zB,EAAI,EAAGkoB,EAAOwW,EAAOx1C,OAAQ8W,EAAIkoB,IAAQloB,EAC7CkpB,EAAG6P,cAAc2F,EAAO1+B,GAAIA,EAAGq4B,GAQhC,IALIiT,GAAoC,IAAxBrN,EAAKnK,OAAOhF,SAC3B5F,EAAGwiB,4BAIC1rC,EAAI,EAAGkoB,EAAOwW,EAAOx1C,OAAQ8W,EAAIkoB,IAAQloB,EAC7C0+B,EAAO1+B,GAAG4zB,SAIZmF,cAAe,SAAS3K,EAAO9kC,EAAO+uC,GACrC,IASI5xB,EAAG+U,EATH0N,EAAKxhC,KACL0vC,EAAOlO,EAAGgO,UACV8C,EAAS5L,EAAM4L,QAAU,GACzB1C,EAAUpO,EAAGqO,aACbZ,EAAezN,EAAG5/B,MAClBL,EAAQquC,EAAQrsC,KAAK3B,GACrB88C,EAASld,EAAGwa,QACZ2C,EAASnd,EAAGya,QACZgI,EAAYvU,EAAKE,QAAQxD,OAGzBrrC,EAAUygC,EAAGyQ,2BAA2BvL,EAAO9kC,GAEnDmd,EAAI2/B,EAAOpB,iBAAkC,kBAAV/7C,EAAqBA,EAAQu9C,IAAKl9C,EAAOqtC,GAC5Enb,EAAI6c,EAAQgO,EAAOrC,eAAiB9a,EAAG0iB,gBAAgB3iD,EAAOK,EAAOqtC,GAGrEvI,EAAMsV,QAAU0C,EAChBhY,EAAMuV,QAAU0C,EAChBjY,EAAMqY,SAAWh+C,EACjB2lC,EAAMqK,cAAgB9B,EACtBvI,EAAMuK,OAASrvC,EAGf8kC,EAAM0F,OAAS,CACdrtB,EAAGA,EACH+U,EAAGA,EACHujB,KAAM/E,EAAO+E,MAAQzc,MAAM7b,IAAM6b,MAAM9G,GAEvCqR,OAAQpkC,EAAQokC,OAChB6S,WAAYj3C,EAAQi3C,WACpBrS,SAAU5kC,EAAQ4kC,SAClBuM,gBAAiBnxC,EAAQmxC,gBACzBC,YAAapxC,EAAQoxC,YACrBY,YAAahyC,EAAQgyC,YACrB3L,QAAS6b,GAAiB3Q,EAAOlL,QAAS6c,EAAYA,EAAU7c,QAAU,GAC1EF,cAAa+c,GAAYA,EAAU/c,YAEnC2Q,UAAW92C,EAAQ82C,YAOrB7F,8BAA+B,SAASZ,GACvC,IAAI5P,EAAKxhC,KACL2jD,EAASniB,EAAGkQ,QACZY,EAASlB,EAAQkB,QAAU,GAC3BvxC,EAAUygC,EAAGuD,MAAMhkC,QACnBojD,EAAcpjD,EAAQ8wC,SAAS0E,KAC/BtmB,EAAS+jB,GAAuBjb,UAAUiZ,8BAA8BvhB,MAAM+Q,EAAIzyB,WAUtF,OALAkhB,EAAO8mB,SAAWkM,GAAiBU,EAAO5M,SAAUh2C,EAAQg2C,UAC5D9mB,EAAOmX,QAAU6b,GAAiBU,EAAOG,YAAaK,EAAY/c,SAClEnX,EAAOiX,YAAcgc,GAAU,CAAC5Q,EAAOpL,YAAayc,EAAOzc,YAAaid,EAAYld,UACpFhX,EAAO6W,KAAO2c,GAAOR,GAAiBU,EAAO7c,KAAM0c,GAAYhiB,EAAGwa,QAASxa,EAAGya,QAAShsB,EAAO8iB,eAEvF9iB,GAGRi0B,gBAAiB,SAAS3iD,EAAOK,EAAOqtC,GACvC,IAKI32B,EAAG8rC,EAAIC,EAAQC,EAAmBC,EAAYvH,EAAUxc,EALxDgB,EAAKxhC,KACL+kC,EAAQvD,EAAGuD,MACX4Z,EAASnd,EAAGya,QACZuI,EAAS,EACTC,EAAS,EAGb,GAAI9F,EAAO59C,QAAQm8C,QAAS,CAK3B,IAJAqH,GAAc5F,EAAO+F,cAAcnjD,GACnCy7C,EAAWjY,EAAM4f,gCACjBnkB,EAAOwc,EAASx7C,OAEX8W,EAAI,EAAGA,EAAIkoB,IAAQloB,EAAG,CAE1B,GADA+rC,EAASrH,EAAS1kC,GACd+rC,EAAOziD,QAAUqtC,EACpB,MAGDmV,EAAKrf,EAAMxhC,KAAK4sC,SAASkU,EAAOziD,OACZ,SAAhByiD,EAAO9hD,MAAmB8hD,EAAOpU,UAAY0O,EAAO1zC,KACvDq5C,GAAqB3F,EAAO+F,cAAcN,EAAG7gD,KAAK3B,IAC9C0iD,EAAoB,EACvBG,GAAUH,GAAqB,EAE/BE,GAAUF,GAAqB,GAKlC,OAAIC,EAAa,EACT5F,EAAOrB,iBAAiBmH,EAASF,GAElC5F,EAAOrB,iBAAiBkH,EAASD,GAEzC,OAAO5F,EAAOrB,iBAAiB/7C,IAGhCyiD,0BAA2B,WAC1B,IAMI1rC,EAAGkoB,EAAMpc,EAAOwgC,EANhBpjB,EAAKxhC,KACL+kC,EAAQvD,EAAGuD,MACX2K,EAAOlO,EAAGgO,UACVyU,EAAYvU,EAAKE,QAAQxD,OACzBzF,EAAO5B,EAAMsT,UACbrB,EAAStH,EAAKnsC,MAAQ,GAU1B,SAASshD,EAAgBC,EAAIt0C,EAAKC,GACjC,OAAOkH,KAAKlH,IAAIkH,KAAKnH,IAAIs0C,EAAIr0C,GAAMD,GAGpC,GAVIyzC,EAAUlN,WACbC,EAASA,EAAO/hC,QAAO,SAAS6vC,GAC/B,OAAQA,EAAG1Y,OAAOiL,SAQqB,aAArC4M,EAAUc,uBACb3Z,GAAU4Z,oBAAoBhO,QAE9B,IAAK1+B,EAAI,EAAGkoB,EAAOwW,EAAOx1C,OAAQ8W,EAAIkoB,IAAQloB,EAC7C8L,EAAQ4yB,EAAO1+B,GAAG8zB,OAClBwY,EAAgBxZ,GAAU6Z,YACzB7Z,GAAUgM,aAAaJ,EAAQ1+B,GAAG8zB,OAClChoB,EACAgnB,GAAU8Z,SAASlO,EAAQ1+B,GAAG8zB,OAC9B6X,EAAU7c,SAEXhjB,EAAMkjB,sBAAwBsd,EAAc9iB,SAAS/iB,EACrDqF,EAAMojB,sBAAwBod,EAAc9iB,SAAShO,EACrD1P,EAAMmjB,kBAAoBqd,EAAcv7C,KAAK0V,EAC7CqF,EAAMqjB,kBAAoBmd,EAAcv7C,KAAKyqB,EAI/C,GAAIiR,EAAMhkC,QAAQ8wC,SAAS0E,KAAKK,gBAC/B,IAAKt+B,EAAI,EAAGkoB,EAAOwW,EAAOx1C,OAAQ8W,EAAIkoB,IAAQloB,EAC7C8L,EAAQ4yB,EAAO1+B,GAAG8zB,OACd+W,GAAc/+B,EAAOuiB,KACpBruB,EAAI,GAAK6qC,GAAcnM,EAAO1+B,EAAI,GAAG8zB,OAAQzF,KAChDviB,EAAMkjB,sBAAwBud,EAAgBzgC,EAAMkjB,sBAAuBX,EAAKhxB,KAAMgxB,EAAK9wB,OAC3FuO,EAAMojB,sBAAwBqd,EAAgBzgC,EAAMojB,sBAAuBb,EAAKvB,IAAKuB,EAAKtB,SAEvF/sB,EAAI0+B,EAAOx1C,OAAS,GAAK2hD,GAAcnM,EAAO1+B,EAAI,GAAG8zB,OAAQzF,KAChEviB,EAAMmjB,kBAAoBsd,EAAgBzgC,EAAMmjB,kBAAmBZ,EAAKhxB,KAAMgxB,EAAK9wB,OACnFuO,EAAMqjB,kBAAoBod,EAAgBzgC,EAAMqjB,kBAAmBd,EAAKvB,IAAKuB,EAAKtB,WAOvFyM,KAAM,WACL,IAQIhL,EARAtF,EAAKxhC,KACL+kC,EAAQvD,EAAGuD,MACX2K,EAAOlO,EAAGgO,UACVwH,EAAStH,EAAKnsC,MAAQ,GACtBojC,EAAO5B,EAAMsT,UACbrsC,EAAS+4B,EAAM/4B,OACfsM,EAAI,EACJkoB,EAAOwW,EAAOx1C,OAmBlB,IAhBIggC,EAAGqiB,YACN/c,EAAO4I,EAAKE,QAAQxD,OAAOtF,KAE3BsE,GAAUp/B,OAAO66B,SAAS9B,EAAMC,IAAK,CACpCrvB,MAAoB,IAAdmxB,EAAKnxB,KAAiB,EAAIgxB,EAAKhxB,KAAOmxB,EAAKnxB,KACjDE,OAAsB,IAAfixB,EAAKjxB,MAAkB7J,EAAOd,MAAQy7B,EAAK9wB,MAAQixB,EAAKjxB,MAC/DuvB,KAAkB,IAAb0B,EAAK1B,IAAgB,EAAIuB,EAAKvB,IAAM0B,EAAK1B,IAC9CC,QAAwB,IAAhByB,EAAKzB,OAAmBr5B,EAAOb,OAASw7B,EAAKtB,OAASyB,EAAKzB,SAGpEqK,EAAKE,QAAQkC,OAEb1G,GAAUp/B,OAAO+6B,WAAWhC,EAAMC,MAI5B1sB,EAAIkoB,IAAQloB,EAClB0+B,EAAO1+B,GAAGw5B,KAAKnL,IAOjBkM,cAAe,SAASnM,GACvB,IAAItiB,EAAQsiB,EAAM0F,OACdrrC,EAAU2lC,EAAMqY,SAChBjM,EAAgB1H,GAAU0H,cAE9BpM,EAAMkM,eAAiB,CACtBV,gBAAiB9tB,EAAM8tB,gBACvBC,YAAa/tB,EAAM+tB,YACnBY,YAAa3uB,EAAM2uB,YACnB5N,OAAQ/gB,EAAM+gB,QAGf/gB,EAAM8tB,gBAAkB+Q,GAAiBliD,EAAQiyC,qBAAsBF,EAAc/xC,EAAQmxC,kBAC7F9tB,EAAM+tB,YAAc8Q,GAAiBliD,EAAQkyC,iBAAkBH,EAAc/xC,EAAQoxC,cACrF/tB,EAAM2uB,YAAckQ,GAAiBliD,EAAQmyC,iBAAkBnyC,EAAQgyC,aACvE3uB,EAAM+gB,OAAS8d,GAAiBliD,EAAQq0C,YAAar0C,EAAQokC,WAI3DggB,GAAY/Z,GAAUrqC,QAAQmoC,QAElCd,EAAcP,KAAK,YAAa,CAC/BnN,MAAO,CACNn4B,KAAM,eACN6iD,WAAY,CACXC,SAAS,GAEV/J,UAAW,CACVgK,UAAU,GAEXC,YAAa,CACZF,SAAS,GAEV9B,MAAO,CACNiC,aAAa,IAKfvY,UAAW,CACVmS,eAAe,EACfC,cAAc,GAGflL,YAAa,GAAMx8B,KAAK4e,GACxB+oB,eAAgB,SAASva,GACxB,IAIIzsB,EAAGkoB,EAAM+e,EAAUC,EAJnBC,EAAO1uB,SAAShmB,cAAc,MAC9BxH,EAAOwhC,EAAMxhC,KACb4sC,EAAW5sC,EAAK4sC,SAChBtd,EAAStvB,EAAKsvB,OAIlB,GADA4sB,EAAKC,aAAa,QAAS3a,EAAM95B,GAAK,WAClCklC,EAAS3uC,OACZ,IAAK8W,EAAI,EAAGkoB,EAAO2P,EAAS,GAAG5sC,KAAK/B,OAAQ8W,EAAIkoB,IAAQloB,EACvDinC,EAAWE,EAAKE,YAAY5uB,SAAShmB,cAAc,OACnDy0C,EAAeD,EAASI,YAAY5uB,SAAShmB,cAAc,SAC3Dy0C,EAAa35C,MAAMqsC,gBAAkB/B,EAAS,GAAG+B,gBAAgB55B,GAC7Dua,EAAOva,IACVinC,EAASI,YAAY5uB,SAAS6uB,eAAe/sB,EAAOva,KAKvD,OAAOmnC,EAAKI,WAEbC,OAAQ,CACPjtB,OAAQ,CACPktB,eAAgB,SAAShb,GACxB,IAAIxhC,EAAOwhC,EAAMxhC,KACjB,OAAIA,EAAKsvB,OAAOrxB,QAAU+B,EAAK4sC,SAAS3uC,OAChC+B,EAAKsvB,OAAO1iB,KAAI,SAASgsC,EAAO7jC,GACtC,IAAIo3B,EAAO3K,EAAMqL,eAAe,GAC5BvqC,EAAQ6pC,EAAKsQ,WAAWjO,SAASz5B,GAErC,MAAO,CACNjV,KAAM84C,EACN/F,UAAWvwC,EAAMqsC,gBACjBmE,YAAaxwC,EAAMssC,YACnB4C,UAAWlvC,EAAMktC,YACjB9G,OAAQrR,MAAMr3B,EAAK4sC,SAAS,GAAG5sC,KAAK+U,KAAOo3B,EAAKnsC,KAAK+U,GAAG2zB,OAGxDrqC,MAAO0W,MAIH,KAIT2nC,QAAS,SAASjwC,EAAGkwC,GACpB,IAEI5nC,EAAGkoB,EAAMkP,EAFT9tC,EAAQs+C,EAAWt+C,MACnBmjC,EAAQ/kC,KAAK+kC,MAGjB,IAAKzsB,EAAI,EAAGkoB,GAAQuE,EAAMxhC,KAAK4sC,UAAY,IAAI3uC,OAAQ8W,EAAIkoB,IAAQloB,EAClEo3B,EAAO3K,EAAMqL,eAAe93B,GAC5Bo3B,EAAKnsC,KAAK3B,GAAOqqC,QAAUyD,EAAKnsC,KAAK3B,GAAOqqC,OAG7ClH,EAAMpb,WAKRw0B,SAAU,CACTC,UAAW,CACVC,MAAO,WACN,MAAO,IAERlC,MAAO,SAASx6C,EAAM4B,GACrB,OAAOA,EAAKsvB,OAAOlxB,EAAKC,OAAS,KAAOD,EAAK68C,YAMjD,IAAIiH,GAAuBzR,GAAuBp0C,OAAO,CAExDuvC,gBAAiB0C,GAASkI,IAE1BzK,WAAYlE,GAAU1L,KAKtB2P,oBAAqB,CACpB,kBACA,cACA,cACA,cACA,uBACA,mBACA,oBAMDmB,iBAAkB,WACjB,OAAOxwC,KAAK+kC,MAAMrK,MAAMzvB,IAMzBslC,iBAAkB,WACjB,OAAOvwC,KAAK+kC,MAAMrK,MAAMzvB,IAGzB0e,OAAQ,SAASgnB,GAChB,IAOIr4B,EAAGkoB,EAAMkV,EAPTlU,EAAKxhC,KACL4vC,EAAUpO,EAAGqO,aACbH,EAAOlO,EAAGgO,UACVxgC,EAAQwyB,EAAGuD,MAAMhkC,QAAQozC,YAAc,EACvCuR,EAASlkB,EAAGmkB,QAAU,GACtBC,EAASpkB,EAAGqkB,QAAU,GACtB5E,EAAOvR,EAAKnsC,KAOhB,IAJAi+B,EAAGskB,gBAEHpW,EAAK+D,MAAQjS,EAAGukB,uBAEXztC,EAAI,EAAGkoB,EAAOoP,EAAQrsC,KAAK/B,OAAQ8W,EAAIkoB,EAAMloB,IACjDotC,EAAOptC,GAAKtJ,EACZ0mC,EAAQlU,EAAGwkB,cAAc1tC,GACzBstC,EAAOttC,GAAKo9B,EACZ1mC,GAAS0mC,EAGV,IAAKp9B,EAAI,EAAGkoB,EAAOygB,EAAKz/C,OAAQ8W,EAAIkoB,IAAQloB,EAC3C2oC,EAAK3oC,GAAGymC,SAAWvd,EAAGyQ,2BAA2BgP,EAAK3oC,GAAIA,GAC1DkpB,EAAG6P,cAAc4P,EAAK3oC,GAAIA,EAAGq4B,IAO/BmV,cAAe,WACd,IAAItkB,EAAKxhC,KACL+kC,EAAQvD,EAAGuD,MACXsT,EAAYtT,EAAMsT,UAClBwI,EAAO9b,EAAMhkC,QACbklD,EAAUtuC,KAAKnH,IAAI6nC,EAAUxiC,MAAQwiC,EAAU1iC,KAAM0iC,EAAUhT,OAASgT,EAAUjT,KAEtFL,EAAMwP,YAAc58B,KAAKlH,IAAIw1C,EAAU,EAAG,GAC1ClhB,EAAMyP,YAAc78B,KAAKlH,IAAIowC,EAAKV,iBAAoBpb,EAAMwP,YAAc,IAAQsM,EAAqB,iBAAI,EAAG,GAC9G9b,EAAMmd,cAAgBnd,EAAMwP,YAAcxP,EAAMyP,aAAezP,EAAMmhB,yBAErE1kB,EAAG+S,YAAcxP,EAAMwP,YAAexP,EAAMmd,aAAe1gB,EAAG5/B,MAC9D4/B,EAAGgT,YAAchT,EAAG+S,YAAcxP,EAAMmd,cAGzC7Q,cAAe,SAAS9L,EAAK3jC,EAAO+uC,GACnC,IAAInP,EAAKxhC,KACL+kC,EAAQvD,EAAGuD,MACX6K,EAAUpO,EAAGqO,aACbgR,EAAO9b,EAAMhkC,QACbwhD,EAAgB1B,EAAK5T,UACrBvS,EAAQqK,EAAMrK,MACd7H,EAASkS,EAAMxhC,KAAKsvB,OAEpB2vB,EAAU9nB,EAAMyrB,QAChB1D,EAAU/nB,EAAM0rB,QAGhBC,EAAoBxF,EAAK1M,WACzBlf,EAAWsQ,EAAI0G,OAAS,EAAIvR,EAAM4rB,8BAA8B1W,EAAQrsC,KAAK3B,IAC7EuyC,EAAa3S,EAAGmkB,QAAQ/jD,GACxBwyC,EAAWD,GAAc5O,EAAI0G,OAAS,EAAIzK,EAAGqkB,QAAQjkD,IAErD2kD,EAAchE,EAAclD,aAAe,EAAI3kB,EAAM4rB,8BAA8B1W,EAAQrsC,KAAK3B,IAChGb,EAAUwkC,EAAIwZ,UAAY,GAE9B3T,GAAUxrC,OAAO2lC,EAAK,CAErBwL,cAAevP,EAAG5/B,MAClBqvC,OAAQrvC,EACRmiD,OAAQrpB,EAGR0R,OAAQ,CACP8F,gBAAiBnxC,EAAQmxC,gBACzBC,YAAapxC,EAAQoxC,YACrBY,YAAahyC,EAAQgyC,YACrB+B,YAAa/zC,EAAQ+zC,YACrB/1B,EAAGyjC,EACH1uB,EAAG2uB,EACHjO,YAAa,EACbD,YAAa5D,EAAQ4V,EAActxB,EACnCkf,WAAYxD,GAAS4R,EAAcnD,cAAgBiH,EAAoBlS,EACvEC,SAAUzD,GAAS4R,EAAcnD,cAAgBiH,EAAoBjS,EACrE+H,MAAO/Q,GAAUpL,sBAAsBnN,EAAQjxB,EAAOixB,EAAOjxB,OAI/D2jC,EAAI2G,SAGL6Z,qBAAsB,WACrB,IAAInW,EAAU5vC,KAAK6vC,aACfH,EAAO1vC,KAAKwvC,UACZiE,EAAQ,EAQZ,OANArI,GAAUlL,KAAKwP,EAAKnsC,MAAM,SAAS6tC,EAASxvC,GACtCg5B,MAAMgV,EAAQrsC,KAAK3B,KAAYwvC,EAAQnF,QAC3CwH,OAIKA,GAMRZ,cAAe,SAAStN,GACvB,IAAInhB,EAAQmhB,EAAI6G,OACZrrC,EAAUwkC,EAAIwZ,SACdjM,EAAgB1H,GAAU0H,cAC1BhT,EAAiBsL,GAAUtL,eAE/ByF,EAAIqN,eAAiB,CACpBV,gBAAiB9tB,EAAM8tB,gBACvBC,YAAa/tB,EAAM+tB,YACnBY,YAAa3uB,EAAM2uB,aAGpB3uB,EAAM8tB,gBAAkBpS,EAAe/+B,EAAQiyC,qBAAsBF,EAAc/xC,EAAQmxC,kBAC3F9tB,EAAM+tB,YAAcrS,EAAe/+B,EAAQkyC,iBAAkBH,EAAc/xC,EAAQoxC,cACnF/tB,EAAM2uB,YAAcjT,EAAe/+B,EAAQmyC,iBAAkBnyC,EAAQgyC,cAMtEiT,cAAe,SAASpkD,GACvB,IAAI4/B,EAAKxhC,KACLyzC,EAAQzzC,KAAKwvC,UAAUiE,MACvB7D,EAAUpO,EAAGqO,aACbH,EAAOlO,EAAGgO,UAEd,GAAI5U,MAAMgV,EAAQrsC,KAAK3B,KAAW8tC,EAAKnsC,KAAK3B,GAAOqqC,OAClD,OAAO,EAIR,IAAI7C,EAAU,CACbrE,MAAOvD,EAAGuD,MACV0N,UAAW7wC,EACXguC,QAASA,EACTX,aAAczN,EAAG5/B,OAGlB,OAAOujD,GAAU,CAChB3jB,EAAGuD,MAAMhkC,QAAQ8wC,SAAStM,IAAImQ,MAC7B,EAAI/9B,KAAK4e,GAAMkd,GACdrK,EAASxnC,MAIdwmC,EAAcP,KAAK,MAAOuD,GAAU1M,MAAM0J,EAAcoe,WACxDpe,EAAcP,KAAK,MAAO,CACzBsY,iBAAkB,IAInB,IAAIsG,GAAiBnG,GAEjBoG,GAAmBtb,GAAUtL,eAEjCsI,EAAcP,KAAK,QAAS,CAC3BkP,UAAU,EACVrc,MAAO,CACNn4B,KAAM,gBAEPsvC,SAAU,CACT0E,KAAM,CACLx8B,KAAM,QACNqtB,QAAS,MAKZ,IAAIuf,GAAmB3S,GAAuBp0C,OAAO,CACpDsvC,mBAAoB2C,GAASxlC,KAE7B8iC,gBAAiB0C,GAASmI,MAE1B1K,WAAYlE,GAAU1L,KAKtB0P,uBAAwB,CACvB,kBACA,cACA,cACA,iBACA,aACA,mBACA,kBACA,QAMDC,oBAAqB,CACpB6C,gBAAiB,uBACjBC,YAAa,mBACbY,YAAa,mBACb8E,UAAW,iBACX7E,qBAAsB,4BACtBC,iBAAkB,wBAClBC,iBAAkB,wBAClBkC,YAAa,mBACb4C,WAAY,aACZ7S,OAAQ,cACRQ,SAAU,iBAMX6K,iBAAkB,WACjB,OAAOxwC,KAAK+kC,MAAMrK,MAAMzvB,IAMzBslC,iBAAkB,WACjB,OAAOvwC,KAAK+kC,MAAMrK,MAAMzvB,IAGzB0e,OAAQ,SAASgnB,GAChB,IAMIr4B,EAAGkoB,EANHgB,EAAKxhC,KACL0vC,EAAOlO,EAAGgO,UACV+G,EAAO7G,EAAKE,QACZoH,EAAStH,EAAKnsC,MAAQ,GACtBm3B,EAAQ8G,EAAGuD,MAAMrK,MACjBipB,EAASniB,EAAGkQ,QAoBhB,SAhBuB1sC,IAAnB2+C,EAAOvc,cAAgDpiC,IAAvB2+C,EAAOG,cAC1CH,EAAOG,YAAcH,EAAOvc,SAI7BmP,EAAKwN,OAASrpB,EACd6b,EAAKxF,cAAgBvP,EAAG5/B,MAExB20C,EAAKU,UAAYD,EACjBT,EAAKv8B,OAAQ,EAEbu8B,EAAKnK,OAAS5K,EAAGwQ,8BAA8BuE,GAE/CA,EAAKrK,QAGA5zB,EAAI,EAAGkoB,EAAOwW,EAAOx1C,OAAQ8W,EAAIkoB,IAAQloB,EAC7CkpB,EAAG6P,cAAc2F,EAAO1+B,GAAIA,EAAGq4B,GAOhC,IAHAnP,EAAGwiB,4BAGE1rC,EAAI,EAAGkoB,EAAOwW,EAAOx1C,OAAQ8W,EAAIkoB,IAAQloB,EAC7C0+B,EAAO1+B,GAAG4zB,SAIZmF,cAAe,SAAS3K,EAAO9kC,EAAO+uC,GACrC,IAAInP,EAAKxhC,KACLsyC,EAAS5L,EAAM4L,QAAU,GACzB1C,EAAUpO,EAAGqO,aACbnV,EAAQ8G,EAAGuD,MAAMrK,MACjBksB,EAAgBlsB,EAAMmsB,yBAAyBjlD,EAAOguC,EAAQrsC,KAAK3B,IACnEb,EAAUygC,EAAGyQ,2BAA2BvL,EAAO9kC,GAC/CqiD,EAAYziB,EAAGgO,UAAUI,QAAQxD,OACjCrtB,EAAI4xB,EAAQjW,EAAMyrB,QAAUS,EAAc7nC,EAC1C+U,EAAI6c,EAAQjW,EAAM0rB,QAAUQ,EAAc9yB,EAG9C4S,EAAMqd,OAASrpB,EACfgM,EAAMqY,SAAWh+C,EACjB2lC,EAAMqK,cAAgBvP,EAAG5/B,MACzB8kC,EAAMuK,OAASrvC,EAGf8kC,EAAM0F,OAAS,CACdrtB,EAAGA,EACH+U,EAAGA,EACHujB,KAAM/E,EAAO+E,MAAQzc,MAAM7b,IAAM6b,MAAM9G,GAEvCqR,OAAQpkC,EAAQokC,OAChB6S,WAAYj3C,EAAQi3C,WACpBrS,SAAU5kC,EAAQ4kC,SAClBuM,gBAAiBnxC,EAAQmxC,gBACzBC,YAAapxC,EAAQoxC,YACrBY,YAAahyC,EAAQgyC,YACrB3L,QAASsf,GAAiBpU,EAAOlL,QAAS6c,EAAYA,EAAU7c,QAAU,GAG1EyQ,UAAW92C,EAAQ82C,YAOrB7F,8BAA+B,WAC9B,IAAIxQ,EAAKxhC,KACL2jD,EAASniB,EAAGkQ,QACZ3wC,EAAUygC,EAAGuD,MAAMhkC,QACnBkvB,EAAS+jB,GAAuBjb,UAAUiZ,8BAA8BvhB,MAAM+Q,EAAIzyB,WAKtF,OAHAkhB,EAAO8mB,SAAW2P,GAAiB/C,EAAO5M,SAAUh2C,EAAQg2C,UAC5D9mB,EAAOmX,QAAUsf,GAAiB/C,EAAOG,YAAa/iD,EAAQ8wC,SAAS0E,KAAKnP,SAErEnX,GAGR+zB,0BAA2B,WAC1B,IAII1rC,EAAGkoB,EAAMpc,EAAOwgC,EAJhBpjB,EAAKxhC,KACL0vC,EAAOlO,EAAGgO,UACV7I,EAAOnF,EAAGuD,MAAMsT,UAChBrB,EAAStH,EAAKnsC,MAAQ,GAU1B,SAASshD,EAAgBC,EAAIt0C,EAAKC,GACjC,OAAOkH,KAAKlH,IAAIkH,KAAKnH,IAAIs0C,EAAIr0C,GAAMD,GAGpC,IAVIk/B,EAAKE,QAAQxD,OAAO2K,WACvBC,EAASA,EAAO/hC,QAAO,SAAS6vC,GAC/B,OAAQA,EAAG1Y,OAAOiL,SAQf/+B,EAAI,EAAGkoB,EAAOwW,EAAOx1C,OAAQ8W,EAAIkoB,IAAQloB,EAC7C8L,EAAQ4yB,EAAO1+B,GAAG8zB,OAClBwY,EAAgBxZ,GAAU6Z,YACzB7Z,GAAUgM,aAAaJ,EAAQ1+B,GAAG,GAAM8zB,OACxChoB,EACAgnB,GAAU8Z,SAASlO,EAAQ1+B,GAAG,GAAM8zB,OACpChoB,EAAMgjB,SAIPhjB,EAAMkjB,sBAAwBud,EAAgBD,EAAc9iB,SAAS/iB,EAAG4nB,EAAKhxB,KAAMgxB,EAAK9wB,OACxFuO,EAAMojB,sBAAwBqd,EAAgBD,EAAc9iB,SAAShO,EAAG6S,EAAKvB,IAAKuB,EAAKtB,QACvFjhB,EAAMmjB,kBAAoBsd,EAAgBD,EAAcv7C,KAAK0V,EAAG4nB,EAAKhxB,KAAMgxB,EAAK9wB,OAChFuO,EAAMqjB,kBAAoBod,EAAgBD,EAAcv7C,KAAKyqB,EAAG6S,EAAKvB,IAAKuB,EAAKtB,SAIjFwN,cAAe,SAASnM,GACvB,IAAItiB,EAAQsiB,EAAM0F,OACdrrC,EAAU2lC,EAAMqY,SAChBjM,EAAgB1H,GAAU0H,cAE9BpM,EAAMkM,eAAiB,CACtBV,gBAAiB9tB,EAAM8tB,gBACvBC,YAAa/tB,EAAM+tB,YACnBY,YAAa3uB,EAAM2uB,YACnB5N,OAAQ/gB,EAAM+gB,QAGf/gB,EAAM8tB,gBAAkBwU,GAAiB3lD,EAAQiyC,qBAAsBF,EAAc/xC,EAAQmxC,kBAC7F9tB,EAAM+tB,YAAcuU,GAAiB3lD,EAAQkyC,iBAAkBH,EAAc/xC,EAAQoxC,cACrF/tB,EAAM2uB,YAAc2T,GAAiB3lD,EAAQmyC,iBAAkBnyC,EAAQgyC,aACvE3uB,EAAM+gB,OAASuhB,GAAiB3lD,EAAQq0C,YAAar0C,EAAQokC,WAI/DiD,EAAcP,KAAK,UAAW,CAC7BvnC,MAAO,CACNgG,KAAM,UAGPqpC,OAAQ,CACPK,MAAO,CAAC,CACP/kC,GAAI,WACJ1I,KAAM,SACN27C,SAAU,WAEXhO,MAAO,CAAC,CACPjlC,GAAI,WACJ1I,KAAM,SACN27C,SAAU,UAIZC,SAAU,CACTC,UAAW,CACVC,MAAO,WACN,MAAO,IAERlC,MAAO,SAASx6C,GACf,MAAO,IAAMA,EAAK48C,OAAS,KAAO58C,EAAK68C,OAAS,SAMpDpW,EAAcP,KAAK,SAAU,CAC5BsI,SAAU,CACT2W,QAAS,CACRlD,UAAU,MAMb,IAAImD,GAAqBrD,GAMrBsD,GAAc,CACjBxL,IAAKC,GACLwL,OAAQxI,GACR+H,SAAUlG,GACVyC,cAAeC,GACfzM,KAAMmN,GACNwD,UAAWzB,GACX0B,IAAKV,GACLW,MAAOT,GACPG,QAASC,IASV,SAASM,GAAoBr3C,EAAG+0B,GAC/B,OAAI/0B,EAAEs3C,OACE,CACNvoC,EAAG/O,EAAE+O,EACL+U,EAAG9jB,EAAE8jB,GAIAsX,GAAUic,oBAAoBr3C,EAAG+0B,GAQzC,SAASwiB,GAAkBxiB,EAAOxmB,GACjC,IACIipC,EAAUlvC,EAAGmoC,EAAGjgB,EAAMinB,EAAMrW,EAD5B4L,EAAWjY,EAAM4f,gCAGrB,IAAKrsC,EAAI,EAAGkoB,EAAOwc,EAASx7C,OAAQ8W,EAAIkoB,IAAQloB,EAE/C,IADAkvC,EAAWxK,EAAS1kC,GAAG/U,KAClBk9C,EAAI,EAAGgH,EAAOD,EAAShmD,OAAQi/C,EAAIgH,IAAQhH,EAC/CrP,EAAUoW,EAAS/G,GACdrP,EAAQjF,MAAMkL,MAClB94B,EAAQ6yB,GAYZ,SAASsW,GAAkB3iB,EAAOmZ,GACjC,IAAIrM,EAAW,GAQf,OANA0V,GAAkBxiB,GAAO,SAASqM,GAC7BA,EAAQiE,QAAQ6I,EAASn/B,EAAGm/B,EAASpqB,IACxC+d,EAAS9nC,KAAKqnC,MAITS,EAWR,SAAS8V,GAAgB5iB,EAAOmZ,EAAU0J,EAAWC,GACpD,IAAIC,EAAcz8C,OAAO08C,kBACrBC,EAAe,GAkBnB,OAhBAT,GAAkBxiB,GAAO,SAASqM,GACjC,IAAIwW,GAAcxW,EAAQiE,QAAQ6I,EAASn/B,EAAGm/B,EAASpqB,GAAvD,CAIA,IAAI+oB,EAASzL,EAAQyE,iBACjB5gB,EAAW4yB,EAAe3J,EAAUrB,GACpC5nB,EAAW6yB,GACdE,EAAe,CAAC5W,GAChB0W,EAAc7yB,GACJA,IAAa6yB,GAEvBE,EAAaj+C,KAAKqnC,OAIb4W,EAQR,SAASC,GAAyBnF,GACjC,IAAIoF,GAA8B,IAAvBpF,EAAKzsC,QAAQ,KACpB8xC,GAA8B,IAAvBrF,EAAKzsC,QAAQ,KAExB,OAAO,SAAS+xC,EAAKC,GACpB,IAAIC,EAASJ,EAAOvwC,KAAKigC,IAAIwQ,EAAIrpC,EAAIspC,EAAItpC,GAAK,EAC1CzJ,EAAS6yC,EAAOxwC,KAAKigC,IAAIwQ,EAAIt0B,EAAIu0B,EAAIv0B,GAAK,EAC9C,OAAOnc,KAAK6e,KAAK7e,KAAKoc,IAAIu0B,EAAQ,GAAK3wC,KAAKoc,IAAIze,EAAQ,KAI1D,SAASizC,GAAUxjB,EAAO/0B,EAAGjP,GAC5B,IAAIm9C,EAAWmJ,GAAoBr3C,EAAG+0B,GAEtChkC,EAAQ+hD,KAAO/hD,EAAQ+hD,MAAQ,IAC/B,IAAI+E,EAAiBI,GAAyBlnD,EAAQ+hD,MAClD0F,EAAQznD,EAAQ6mD,UAAYF,GAAkB3iB,EAAOmZ,GAAYyJ,GAAgB5iB,EAAOmZ,GAAU,EAAO2J,GACzGhW,EAAW,GAEf,OAAK2W,EAAMhnD,QAIXujC,EAAM4f,gCAAgCzrB,SAAQ,SAASwW,GACtD,IAAI0B,EAAU1B,EAAKnsC,KAAKilD,EAAM,GAAGvX,QAG7BG,IAAYA,EAAQjF,MAAMkL,MAC7BxF,EAAS9nC,KAAKqnC,MAITS,GAZC,GA4BT,IAAI4W,GAAmB,CAEtBC,MAAO,CACNC,OAAQ,SAAS5jB,EAAO/0B,GACvB,IAAIkuC,EAAWmJ,GAAoBr3C,EAAG+0B,GAClC8M,EAAW,GASf,OAPA0V,GAAkBxiB,GAAO,SAASqM,GACjC,GAAIA,EAAQiE,QAAQ6I,EAASn/B,EAAGm/B,EAASpqB,GAExC,OADA+d,EAAS9nC,KAAKqnC,GACPS,KAIFA,EAASp/B,MAAM,EAAG,IAS1B0pC,MAAOoM,GAYP3mD,MAAO2mD,GAWP3Y,QAAS,SAAS7K,EAAO/0B,EAAGjP,GAC3B,IAAIm9C,EAAWmJ,GAAoBr3C,EAAG+0B,GACtChkC,EAAQ+hD,KAAO/hD,EAAQ+hD,MAAQ,KAC/B,IAAI+E,EAAiBI,GAAyBlnD,EAAQ+hD,MAClD0F,EAAQznD,EAAQ6mD,UAAYF,GAAkB3iB,EAAOmZ,GAAYyJ,GAAgB5iB,EAAOmZ,GAAU,EAAO2J,GAM7G,OAJIW,EAAMhnD,OAAS,IAClBgnD,EAAQzjB,EAAMqL,eAAeoY,EAAM,GAAGzX,eAAextC,MAG/CilD,GASR,SAAU,SAASzjB,EAAO/0B,GACzB,OAAOu4C,GAAUxjB,EAAO/0B,EAAG,CAAC43C,WAAW,KAWxClhB,MAAO,SAAS3B,EAAO/0B,GACtB,IAAIkuC,EAAWmJ,GAAoBr3C,EAAG+0B,GACtC,OAAO2iB,GAAkB3iB,EAAOmZ,IAWjC0K,QAAS,SAAS7jB,EAAO/0B,EAAGjP,GAC3B,IAAIm9C,EAAWmJ,GAAoBr3C,EAAG+0B,GACtChkC,EAAQ+hD,KAAO/hD,EAAQ+hD,MAAQ,KAC/B,IAAI+E,EAAiBI,GAAyBlnD,EAAQ+hD,MACtD,OAAO6E,GAAgB5iB,EAAOmZ,EAAUn9C,EAAQ6mD,UAAWC,IAW5D9oC,EAAG,SAASgmB,EAAO/0B,EAAGjP,GACrB,IAAIm9C,EAAWmJ,GAAoBr3C,EAAG+0B,GAClCyjB,EAAQ,GACRK,GAAiB,EAiBrB,OAfAtB,GAAkBxiB,GAAO,SAASqM,GAC7BA,EAAQ8G,SAASgG,EAASn/B,IAC7BypC,EAAMz+C,KAAKqnC,GAGRA,EAAQiE,QAAQ6I,EAASn/B,EAAGm/B,EAASpqB,KACxC+0B,GAAiB,MAMf9nD,EAAQ6mD,YAAciB,IACzBL,EAAQ,IAEFA,GAWR10B,EAAG,SAASiR,EAAO/0B,EAAGjP,GACrB,IAAIm9C,EAAWmJ,GAAoBr3C,EAAG+0B,GAClCyjB,EAAQ,GACRK,GAAiB,EAiBrB,OAfAtB,GAAkBxiB,GAAO,SAASqM,GAC7BA,EAAQ+G,SAAS+F,EAASpqB,IAC7B00B,EAAMz+C,KAAKqnC,GAGRA,EAAQiE,QAAQ6I,EAASn/B,EAAGm/B,EAASpqB,KACxC+0B,GAAiB,MAMf9nD,EAAQ6mD,YAAciB,IACzBL,EAAQ,IAEFA,KAKN5oD,GAASwrC,GAAUxrC,OAEvB,SAASkpD,GAAiBnoC,EAAOu9B,GAChC,OAAO9S,GAAU2d,MAAMpoC,GAAO,SAAS5L,GACtC,OAAOA,EAAEi0C,MAAQ9K,KAInB,SAAS+K,GAAatoC,EAAOyf,GAC5B,OAAOzf,EAAM1K,MAAK,SAASkf,EAAGf,GAC7B,IAAIqM,EAAKL,EAAUhM,EAAIe,EACnBuL,EAAKN,EAAUjL,EAAIf,EACvB,OAAOqM,EAAGpC,SAAWqC,EAAGrC,OACvBoC,EAAG7+B,MAAQ8+B,EAAG9+B,MACd6+B,EAAGpC,OAASqC,EAAGrC,UAIlB,SAAS6qB,GAAUC,GAClB,IACI7wC,EAAGkoB,EAAM4oB,EADTC,EAAc,GAGlB,IAAK/wC,EAAI,EAAGkoB,GAAQ2oB,GAAS,IAAI3nD,OAAQ8W,EAAIkoB,IAAQloB,EACpD8wC,EAAMD,EAAM7wC,GACZ+wC,EAAYt/C,KAAK,CAChBnI,MAAO0W,EACP8wC,IAAKA,EACLJ,IAAKI,EAAIlL,SACThF,WAAYkQ,EAAI7M,eAChBle,OAAQ+qB,EAAI/qB,SAGd,OAAOgrB,EAGR,SAASC,GAAcC,EAASC,GAC/B,IAAIlxC,EAAGkoB,EAAMipB,EACb,IAAKnxC,EAAI,EAAGkoB,EAAO+oB,EAAQ/nD,OAAQ8W,EAAIkoB,IAAQloB,EAC9CmxC,EAASF,EAAQjxC,GAEjBmxC,EAAOv+C,MAAQu+C,EAAOvQ,WACnBuQ,EAAOL,IAAIM,WAAaF,EAAOG,eAC/BH,EAAOI,aAEVH,EAAOt+C,OAASs+C,EAAOvQ,YAAcsQ,EAAOK,cAI9C,SAASC,GAAiBX,GACzB,IAAIE,EAAcH,GAAUC,GACxBxzC,EAAOszC,GAAaH,GAAiBO,EAAa,SAAS,GAC3DxzC,EAAQozC,GAAaH,GAAiBO,EAAa,UACnDjkB,EAAM6jB,GAAaH,GAAiBO,EAAa,QAAQ,GACzDhkB,EAAS4jB,GAAaH,GAAiBO,EAAa,WAExD,MAAO,CACNU,WAAYp0C,EAAKhS,OAAOyhC,GACxB4kB,eAAgBn0C,EAAMlS,OAAO0hC,GAC7BgT,UAAWyQ,GAAiBO,EAAa,aACzCY,SAAUt0C,EAAKhS,OAAOkS,GACtBqjC,WAAY9T,EAAIzhC,OAAO0hC,IAIzB,SAAS6kB,GAAeC,EAAY9R,EAAWljB,EAAGf,GACjD,OAAOzc,KAAKlH,IAAI05C,EAAWh1B,GAAIkjB,EAAUljB,IAAMxd,KAAKlH,IAAI05C,EAAW/1B,GAAIikB,EAAUjkB,IAGlF,SAASg2B,GAAW/R,EAAWmR,EAAQC,GACtC,IAEIY,EAAUC,EAFVlB,EAAMK,EAAOL,IACbe,EAAa9R,EAAU8R,WAU3B,GAPIV,EAAO3jB,OAEVuS,EAAUoR,EAAOT,MAAQS,EAAO3jB,MAEjC2jB,EAAO3jB,KAAO2jB,EAAOvQ,WAAakQ,EAAIj+C,OAASi+C,EAAIl+C,MACnDmtC,EAAUoR,EAAOT,MAAQS,EAAO3jB,KAE5BsjB,EAAImB,WAAY,CACnB,IAAIC,EAAapB,EAAImB,aACrBJ,EAAW/kB,IAAMztB,KAAKlH,IAAI05C,EAAW/kB,IAAKolB,EAAWplB,KACrD+kB,EAAWx0C,KAAOgC,KAAKlH,IAAI05C,EAAWx0C,KAAM60C,EAAW70C,MACvDw0C,EAAW9kB,OAAS1tB,KAAKlH,IAAI05C,EAAW9kB,OAAQmlB,EAAWnlB,QAC3D8kB,EAAWt0C,MAAQ8B,KAAKlH,IAAI05C,EAAWt0C,MAAO20C,EAAW30C,OAM1D,GAHAw0C,EAAWb,EAAOiB,WAAaP,GAAeC,EAAY9R,EAAW,OAAQ,SAC7EiS,EAAYd,EAAOkB,YAAcR,GAAeC,EAAY9R,EAAW,MAAO,UAE1EgS,IAAahS,EAAU3jB,GAAK41B,IAAcjS,EAAUlyC,EAAG,CAC1DkyC,EAAU3jB,EAAI21B,EACdhS,EAAUlyC,EAAImkD,EAGd,IAAIK,EAAQlB,EAAOvQ,WAAa,CAACmR,EAAUhS,EAAU3jB,GAAK,CAAC41B,EAAWjS,EAAUlyC,GAChF,OAAOwkD,EAAM,KAAOA,EAAM,MAAQ/vB,MAAM+vB,EAAM,MAAQ/vB,MAAM+vB,EAAM,MAIpE,SAASC,GAAiBvS,GACzB,IAAI8R,EAAa9R,EAAU8R,WAE3B,SAASU,EAAU7B,GAClB,IAAI73C,EAASwG,KAAKlH,IAAI05C,EAAWnB,GAAO3Q,EAAU2Q,GAAM,GAExD,OADA3Q,EAAU2Q,IAAQ73C,EACXA,EAERknC,EAAUvkB,GAAK+2B,EAAU,OACzBxS,EAAUt5B,GAAK8rC,EAAU,QACzBA,EAAU,SACVA,EAAU,UAGX,SAASC,GAAW5R,EAAYb,GAC/B,IAAI8R,EAAa9R,EAAU8R,WAE3B,SAASY,EAAmBC,GAC3B,IAAIC,EAAS,CAACt1C,KAAM,EAAGyvB,IAAK,EAAGvvB,MAAO,EAAGwvB,OAAQ,GAIjD,OAHA2lB,EAAU9xB,SAAQ,SAAS8vB,GAC1BiC,EAAOjC,GAAOrxC,KAAKlH,IAAI4nC,EAAU2Q,GAAMmB,EAAWnB,OAE5CiC,EAGR,OACGF,EADI7R,EACe,CAAC,OAAQ,SACT,CAAC,MAAO,WAG/B,SAASgS,GAAS/B,EAAO9Q,EAAWmR,GACnC,IACIlxC,EAAGkoB,EAAMipB,EAAQL,EAAK+B,EAAOC,EAD7BC,EAAa,GAGjB,IAAK/yC,EAAI,EAAGkoB,EAAO2oB,EAAM3nD,OAAQ8W,EAAIkoB,IAAQloB,EAC5CmxC,EAASN,EAAM7wC,GACf8wC,EAAMK,EAAOL,IAEbA,EAAIz/B,OACH8/B,EAAOv+C,OAASmtC,EAAU3jB,EAC1B+0B,EAAOt+C,QAAUktC,EAAUlyC,EAC3B2kD,GAAWrB,EAAOvQ,WAAYb,IAE3B+R,GAAW/R,EAAWmR,EAAQC,KACjC2B,GAAU,EACNC,EAAW7pD,SAGd2pD,GAAQ,IAGL/B,EAAIM,WACR2B,EAAWthD,KAAK0/C,GAIlB,OAAO0B,GAAQD,GAASG,EAAYhT,EAAWmR,IAAqB4B,EAGrE,SAASE,GAAWnC,EAAO9Q,EAAWmR,GACrC,IAGIlxC,EAAGkoB,EAAMipB,EAAQL,EAHjBmC,EAAc/B,EAAOpR,QACrBr5B,EAAIs5B,EAAUt5B,EACd+U,EAAIukB,EAAUvkB,EAGlB,IAAKxb,EAAI,EAAGkoB,EAAO2oB,EAAM3nD,OAAQ8W,EAAIkoB,IAAQloB,EAC5CmxC,EAASN,EAAM7wC,GACf8wC,EAAMK,EAAOL,IACTK,EAAOvQ,YACVkQ,EAAIzzC,KAAOyzC,EAAIM,UAAY6B,EAAY51C,KAAO0iC,EAAU1iC,KACxDyzC,EAAIvzC,MAAQuzC,EAAIM,UAAYF,EAAOiB,WAAac,EAAY11C,MAAQwiC,EAAU1iC,KAAO0iC,EAAU3jB,EAC/F00B,EAAIhkB,IAAMtR,EACVs1B,EAAI/jB,OAASvR,EAAIs1B,EAAIj+C,OACrBi+C,EAAIl+C,MAAQk+C,EAAIvzC,MAAQuzC,EAAIzzC,KAC5Bme,EAAIs1B,EAAI/jB,SAER+jB,EAAIzzC,KAAOoJ,EACXqqC,EAAIvzC,MAAQkJ,EAAIqqC,EAAIl+C,MACpBk+C,EAAIhkB,IAAMiT,EAAUjT,IACpBgkB,EAAI/jB,OAASgT,EAAUjT,IAAMiT,EAAUlyC,EACvCijD,EAAIj+C,OAASi+C,EAAI/jB,OAAS+jB,EAAIhkB,IAC9BrmB,EAAIqqC,EAAIvzC,OAIVwiC,EAAUt5B,EAAIA,EACds5B,EAAUvkB,EAAIA,EAGfsU,EAAcP,KAAK,SAAU,CAC5B4hB,OAAQ,CACPrR,QAAS,CACRhT,IAAK,EACLvvB,MAAO,EACPwvB,OAAQ,EACR1vB,KAAM,MAyBT,IAAI61C,GAAe,CAClB5jB,SAAU,GAQV6jB,OAAQ,SAAS1mB,EAAOpjC,GAClBojC,EAAMokB,QACVpkB,EAAMokB,MAAQ,IAIfxnD,EAAK+nD,UAAY/nD,EAAK+nD,YAAa,EACnC/nD,EAAKu8C,SAAWv8C,EAAKu8C,UAAY,MACjCv8C,EAAK08B,OAAS18B,EAAK08B,QAAU,EAC7B18B,EAAK+pD,QAAU/pD,EAAK+pD,SAAW,WAC9B,MAAO,CAAC,CACPx2B,EAAG,EACH4c,KAAM,WACLnwC,EAAKmwC,KAAKrhB,MAAM9uB,EAAMoN,eAKzBg2B,EAAMokB,MAAMp/C,KAAKpI,IAQlBgqD,UAAW,SAAS5mB,EAAO6mB,GAC1B,IAAIhqD,EAAQmjC,EAAMokB,MAAQpkB,EAAMokB,MAAM9yC,QAAQu1C,IAAe,GAC9C,IAAXhqD,GACHmjC,EAAMokB,MAAMpb,OAAOnsC,EAAO,IAU5BiqD,UAAW,SAAS9mB,EAAOpjC,EAAMZ,GAMhC,IALA,IAGI69B,EAHA3+B,EAAQ,CAAC,YAAa,WAAY,UAClCugC,EAAOvgC,EAAMuB,OACb8W,EAAI,EAGDA,EAAIkoB,IAAQloB,EAClBsmB,EAAO3+B,EAAMqY,GACTvX,EAAQI,eAAey9B,KAC1Bj9B,EAAKi9B,GAAQ79B,EAAQ69B,KAYxBjV,OAAQ,SAASob,EAAO75B,EAAOC,GAC9B,GAAK45B,EAAL,CAIA,IAAI+mB,EAAgB/mB,EAAMhkC,QAAQ0oD,QAAU,GACxCrR,EAAUhN,GAAUrqC,QAAQ4nC,UAAUmjB,EAAc1T,SAEpDuR,EAAiBz+C,EAAQktC,EAAQltC,MACjC6gD,EAAkB5gD,EAASitC,EAAQjtC,OACnCg+C,EAAQW,GAAiB/kB,EAAMokB,OAC/B6C,EAAgB7C,EAAMc,SACtBgC,EAAkB9C,EAAMjQ,WA6BxBsQ,EAASriD,OAAOurC,OAAO,CAC1B+X,WAAYv/C,EACZw/C,YAAav/C,EACbitC,QAASA,EACTuR,eAAgBA,EAChBC,aAAcD,EAAiB,EAAIqC,EAAcxqD,OACjDqoD,cAAekC,EAAkB,IAE9B1T,EAAYz4C,GAAO,CACtBuqD,WAAYvqD,GAAO,GAAIw4C,GACvB1jB,EAAGi1B,EACHxjD,EAAG4lD,EACHhtC,EAAGq5B,EAAQziC,KACXme,EAAGskB,EAAQhT,KACTgT,GAEHkR,GAAc0C,EAAcroD,OAAOsoD,GAAkBzC,GAGrD0B,GAASc,EAAe3T,EAAWmR,GAG/B0B,GAASe,EAAiB5T,EAAWmR,IAExC0B,GAASc,EAAe3T,EAAWmR,GAGpCoB,GAAiBvS,GAGjBiT,GAAWnC,EAAMY,WAAY1R,EAAWmR,GAGxCnR,EAAUt5B,GAAKs5B,EAAU3jB,EACzB2jB,EAAUvkB,GAAKukB,EAAUlyC,EAEzBmlD,GAAWnC,EAAMa,eAAgB3R,EAAWmR,GAE5CzkB,EAAMsT,UAAY,CACjB1iC,KAAM0iC,EAAU1iC,KAChByvB,IAAKiT,EAAUjT,IACfvvB,MAAOwiC,EAAU1iC,KAAO0iC,EAAU3jB,EAClC2Q,OAAQgT,EAAUjT,IAAMiT,EAAUlyC,GAInCilC,GAAUlL,KAAKipB,EAAM9Q,WAAW,SAASoR,GACxC,IAAIL,EAAMK,EAAOL,IACjBxpD,GAAOwpD,EAAKrkB,EAAMsT,WAClB+Q,EAAIz/B,OAAO0uB,EAAU3jB,EAAG2jB,EAAUlyC,SAUjC+lD,GAAiB,CACpBC,eAAgB,SAASxqD,GAMxB,OALIA,GAAQA,EAAKqK,SAEhBrK,EAAOA,EAAKqK,QAGNrK,GAAQA,EAAKuK,WAAW,OAAS,OAItCkgD,GAAe,k9BAEfC,GAA8BllD,OAAOurC,OAAO,CAChD4Z,UAAW,KACX,QAAWF,KAGPG,GAAal6B,EAA0Bg6B,IAEvCG,GAAc,WACdC,GAAa,WACbC,GAAmBD,GAAa,eAChCE,GAAqBF,GAAa,iBAClCG,GAAuBH,GAAa,mBACpCI,GAAyB,CAAC,iBAAkB,wBAO5CC,GAAc,CACjBC,WAAY,YACZC,UAAW,YACXC,SAAU,UACVC,aAAc,aACdC,YAAa,YACbC,YAAa,YACbC,UAAW,UACXC,aAAc,WACdC,WAAY,YAYb,SAASC,GAAapc,EAASqc,GAC9B,IAAIlsD,EAAQ6pC,GAAU2G,SAASX,EAASqc,GACpC/kB,EAAUnnC,GAASA,EAAM2c,MAAM,qBACnC,OAAOwqB,EAAUr9B,OAAOq9B,EAAQ,SAAM1jC,EAQvC,SAAS0oD,GAAW1hD,EAAQ23C,GAC3B,IAAI99C,EAAQmG,EAAOnG,MAIf8nD,EAAe3hD,EAAO4hD,aAAa,UACnCC,EAAc7hD,EAAO4hD,aAAa,SAoBtC,GAjBA5hD,EAAOwgD,IAAe,CACrBsB,QAAS,CACR3iD,OAAQwiD,EACRziD,MAAO2iD,EACPhoD,MAAO,CACNw/C,QAASx/C,EAAMw/C,QACfl6C,OAAQtF,EAAMsF,OACdD,MAAOrF,EAAMqF,SAQhBrF,EAAMw/C,QAAUx/C,EAAMw/C,SAAW,QAEb,OAAhBwI,GAAwC,KAAhBA,EAAoB,CAC/C,IAAIE,EAAeP,GAAaxhD,EAAQ,cACnBhH,IAAjB+oD,IACH/hD,EAAOd,MAAQ6iD,GAIjB,GAAqB,OAAjBJ,GAA0C,KAAjBA,EAC5B,GAA4B,KAAxB3hD,EAAOnG,MAAMsF,OAIhBa,EAAOb,OAASa,EAAOd,OAASy4C,EAAO5iD,QAAQitD,aAAe,OACxD,CACN,IAAIC,EAAgBT,GAAaxhD,EAAQ,eACpBhH,IAAjB+oD,IACH/hD,EAAOb,OAAS8iD,GAKnB,OAAOjiD,EAQR,IAAIkiD,GAAgC,WACnC,IAAIC,GAAW,EACf,IACC,IAAIptD,EAAUoG,OAAOysB,eAAe,GAAI,UAAW,CAElDmZ,IAAK,WACJohB,GAAW,KAGb7uB,OAAO8uB,iBAAiB,IAAK,KAAMrtD,GAClC,MAAOiP,IAGT,OAAOm+C,EAb2B,GAkB/BE,KAAuBH,IAA+B,CAACI,SAAS,GAEpE,SAASC,GAAYj2B,EAAM/1B,EAAM8rC,GAChC/V,EAAK81B,iBAAiB7rD,EAAM8rC,EAAUggB,IAGvC,SAASG,GAAel2B,EAAM/1B,EAAM8rC,GACnC/V,EAAKm2B,oBAAoBlsD,EAAM8rC,EAAUggB,IAG1C,SAASK,GAAYnsD,EAAMwiC,EAAOhmB,EAAG+U,EAAG66B,GACvC,MAAO,CACNpsD,KAAMA,EACNwiC,MAAOA,EACPuiB,OAAQqH,GAAe,KACvB5vC,OAAS/Z,IAAN+Z,EAAkBA,EAAI,KACzB+U,OAAS9uB,IAAN8uB,EAAkBA,EAAI,MAI3B,SAAS86B,GAAgBl8C,EAAOqyB,GAC/B,IAAIxiC,EAAOuqD,GAAYp6C,EAAMnQ,OAASmQ,EAAMnQ,KACxCymD,EAAM5d,GAAUic,oBAAoB30C,EAAOqyB,GAC/C,OAAO2pB,GAAYnsD,EAAMwiC,EAAOikB,EAAIjqC,EAAGiqC,EAAIl1B,EAAGphB,GAG/C,SAASm8C,GAAU/hD,EAAImzB,GACtB,IAAI6uB,GAAU,EACVn4B,EAAO,GAEX,OAAO,WACNA,EAAOt1B,MAAM03B,UAAUtmB,MAAMzR,KAAK+N,WAClCkxB,EAAUA,GAAWjgC,KAEhB8uD,IACJA,GAAU,EACV1jB,GAAU4C,iBAAiBhtC,KAAKs+B,QAAQ,WACvCwvB,GAAU,EACVhiD,EAAG2jB,MAAMwP,EAAStJ,QAMtB,SAASo4B,GAAUC,GAClB,IAAIC,EAAKl+B,SAAShmB,cAAc,OAEhC,OADAkkD,EAAGC,UAAYF,GAAO,GACfC,EAIR,SAASE,GAAc5wC,GACtB,IAAI6wC,EAAU,IAIVC,EAAUN,GAAUrC,IACpB4C,EAASP,GAAUrC,GAAmB,WACtC6C,EAASR,GAAUrC,GAAmB,WAE1C4C,EAAO3P,YAAYoP,MACnBQ,EAAO5P,YAAYoP,MAEnBM,EAAQ1P,YAAY2P,GACpBD,EAAQ1P,YAAY4P,GACpBF,EAAQG,OAAS,WAChBF,EAAOG,WAAaL,EACpBE,EAAO50C,UAAY00C,EACnBG,EAAOE,WAAaL,EACpBG,EAAO70C,UAAY00C,GAGpB,IAAIM,EAAW,WACdL,EAAQG,SACRjxC,KAMD,OAHAgwC,GAAYe,EAAQ,SAAUI,EAASC,KAAKL,EAAQ,WACpDf,GAAYgB,EAAQ,SAAUG,EAASC,KAAKJ,EAAQ,WAE7CF,EAIR,SAASO,GAAet3B,EAAM/Z,GAC7B,IAAIsxC,EAAUv3B,EAAKk0B,MAAiBl0B,EAAKk0B,IAAe,IACpDx/C,EAAQ6iD,EAAQC,YAAc,SAAS9/C,GACtCA,EAAE+/C,gBAAkBnD,IACvBruC,KAIF6sB,GAAUlL,KAAK2sB,IAAwB,SAAStqD,GAC/CgsD,GAAYj2B,EAAM/1B,EAAMyK,MAQzB6iD,EAAQG,SAAW13B,EAAK23B,aAExB33B,EAAK43B,UAAUliC,IAAI2+B,IAGpB,SAASwD,GAAiB73B,GACzB,IAAIu3B,EAAUv3B,EAAKk0B,KAAgB,GAC/Bx/C,EAAQ6iD,EAAQC,YAEhB9iD,IACHo+B,GAAUlL,KAAK2sB,IAAwB,SAAStqD,GAC/CisD,GAAel2B,EAAM/1B,EAAMyK,aAGrB6iD,EAAQC,aAGhBx3B,EAAK43B,UAAUE,OAAOzD,IAGvB,SAAS0D,GAAkB/3B,EAAM+V,EAAUtJ,GAC1C,IAAI8qB,EAAUv3B,EAAKk0B,MAAiBl0B,EAAKk0B,IAAe,IAGpD6C,EAAUQ,EAAQR,QAAUF,GAAcN,IAAU,WACvD,GAAIgB,EAAQR,QAAS,CACpB,IAAIiB,EAAYvrB,EAAMhkC,QAAQwvD,qBAAuBj4B,EAAKk4B,WACtD97B,EAAI47B,EAAYA,EAAUG,YAAc,EAC5CpiB,EAASqgB,GAAY,SAAU3pB,IAC3BurB,GAAaA,EAAUG,YAAc/7B,GAAKqQ,EAAM/4B,QAQnDqiC,EAASqgB,GAAY,SAAU3pB,SAOlC6qB,GAAet3B,GAAM,WACpB,GAAIu3B,EAAQR,QAAS,CACpB,IAAIiB,EAAYh4B,EAAKk4B,WACjBF,GAAaA,IAAcjB,EAAQmB,YACtCF,EAAUI,aAAarB,EAASiB,EAAUK,YAI3CtB,EAAQG,aAKX,SAASoB,GAAqBt4B,GAC7B,IAAIu3B,EAAUv3B,EAAKk0B,KAAgB,GAC/B6C,EAAUQ,EAAQR,eAEfQ,EAAQR,QACfc,GAAiB73B,GAEb+2B,GAAWA,EAAQmB,YACtBnB,EAAQmB,WAAWK,YAAYxB,GASjC,SAASyB,GAAUC,EAAUC,GAE5B,IAAInB,EAAUkB,EAASvE,MAAiBuE,EAASvE,IAAe,IAChE,IAAKqD,EAAQoB,eAAgB,CAC5BpB,EAAQoB,gBAAiB,EACzBD,EAAM,mBAAqBA,EAC3B,IAAInrD,EAAQkrB,SAAShmB,cAAc,SACnClF,EAAM65C,aAAa,OAAQ,YAC3B75C,EAAM85C,YAAY5uB,SAAS6uB,eAAeoR,IAC1CD,EAASpR,YAAY95C,IAIvB,IAAIqrD,GAAiB,CAQpBC,qBAAqB,EAOrBC,SAA4B,qBAAX9xB,QAA8C,qBAAbvO,SAOlDsgC,cAAe,SAASrlD,GACvB,IAAKhM,KAAKmxD,oBAAqB,CAI9B,IAAIG,EAAOtlD,EAAOulD,YAAcvlD,EAAOulD,cAAgBxgC,SACnDygC,EAAaF,EAAKG,KAAOH,EAAOvgC,SAAS6rB,KAC7CkU,GAAUU,EAAYjF,MAIxBJ,eAAgB,SAASxqD,EAAMgiD,GACV,kBAAThiD,EACVA,EAAOovB,SAAS2gC,eAAe/vD,GACrBA,EAAKH,SAEfG,EAAOA,EAAK,IAGTA,GAAQA,EAAKqK,SAEhBrK,EAAOA,EAAKqK,QAMb,IAAIo9B,EAAUznC,GAAQA,EAAKuK,YAAcvK,EAAKuK,WAAW,MASzD,OAAIk9B,GAAWA,EAAQp9B,SAAWrK,GAGjC3B,KAAKqxD,cAAc1vD,GACnB+rD,GAAW/rD,EAAMgiD,GACVva,GAGD,MAGRuoB,eAAgB,SAASvoB,GACxB,IAAIp9B,EAASo9B,EAAQp9B,OACrB,GAAKA,EAAOwgD,IAAZ,CAIA,IAAIsB,EAAU9hD,EAAOwgD,IAAasB,QAClC,CAAC,SAAU,SAAS50B,SAAQ,SAAS0F,GACpC,IAAIr9B,EAAQusD,EAAQlvB,GAChBwM,GAAUxL,cAAcr+B,GAC3ByK,EAAO4lD,gBAAgBhzB,GAEvB5yB,EAAO0zC,aAAa9gB,EAAMr9B,MAI5B6pC,GAAUlL,KAAK4tB,EAAQjoD,OAAS,IAAI,SAAStE,EAAOsL,GACnDb,EAAOnG,MAAMgH,GAAOtL,KAQrByK,EAAOd,MAAQc,EAAOd,aAEfc,EAAOwgD,MAGf4B,iBAAkB,SAASrpB,EAAOxiC,EAAM8rC,GACvC,IAAIriC,EAAS+4B,EAAM/4B,OACnB,GAAa,WAATzJ,EAAJ,CAMA,IAAIstD,EAAUxhB,EAASme,MAAiBne,EAASme,IAAe,IAC5DqF,EAAUhC,EAAQgC,UAAYhC,EAAQgC,QAAU,IAChD7kD,EAAQ6kD,EAAQ9sB,EAAM95B,GAAK,IAAM1I,GAAQ,SAASmQ,GACrD27B,EAASugB,GAAgBl8C,EAAOqyB,KAGjCwpB,GAAYviD,EAAQzJ,EAAMyK,QAVzBqjD,GAAkBrkD,EAAQqiC,EAAUtJ,IAatC0pB,oBAAqB,SAAS1pB,EAAOxiC,EAAM8rC,GAC1C,IAAIriC,EAAS+4B,EAAM/4B,OACnB,GAAa,WAATzJ,EAAJ,CAMA,IAAIstD,EAAUxhB,EAASme,KAAgB,GACnCqF,EAAUhC,EAAQgC,SAAW,GAC7B7kD,EAAQ6kD,EAAQ9sB,EAAM95B,GAAK,IAAM1I,GAChCyK,GAILwhD,GAAexiD,EAAQzJ,EAAMyK,QAX5B4jD,GAAqB5kD,KA0BxBo/B,GAAU0mB,SAAWvD,GAWrBnjB,GAAU2mB,YAAcvD,GAGxB,IAAIwD,GAAiBd,GAAeE,SAAWF,GAAiBhF,GAO5D+F,GAAW7mB,GAAUxrC,OAAO,CAI/BmsC,WAAY,aASZogB,eAAgB,aAQhBwF,eAAgB,aAShBvD,iBAAkB,aAQlBK,oBAAqB,cAEnBuD,IAEH5pB,EAAcP,KAAK,SAAU,CAC5Bv8B,QAAS,KAQV,IAAI4mD,GAAe,CAKlB1mD,SAAU,GAQV2mD,SAAU,EAMVC,SAAU,SAAS9mD,GAClB,IAAI+iB,EAAIruB,KAAKwL,SACb,GAAK7H,OAAO2H,GAAS4tB,SAAQ,SAASxtB,IACV,IAAvB2iB,EAAEhY,QAAQ3K,IACb2iB,EAAEtkB,KAAK2B,MAIT1L,KAAKmyD,YAONE,WAAY,SAAS/mD,GACpB,IAAI+iB,EAAIruB,KAAKwL,SACb,GAAK7H,OAAO2H,GAAS4tB,SAAQ,SAASxtB,GACrC,IAAI4mD,EAAMjkC,EAAEhY,QAAQ3K,IACP,IAAT4mD,GACHjkC,EAAE0f,OAAOukB,EAAK,MAIhBtyD,KAAKmyD,YAONrtB,MAAO,WACN9kC,KAAKwL,SAAW,GAChBxL,KAAKmyD,YAQN1e,MAAO,WACN,OAAOzzC,KAAKwL,SAAShK,QAQtB+wD,OAAQ,WACP,OAAOvyD,KAAKwL,UAYbgnD,OAAQ,SAASztB,EAAO0tB,EAAM97B,GAC7B,IAEIre,EAAGo6C,EAAYhnD,EAAQ89C,EAAQ9a,EAF/BikB,EAAc3yD,KAAK2yD,YAAY5tB,GAC/BvE,EAAOmyB,EAAYnxD,OAGvB,IAAK8W,EAAI,EAAGA,EAAIkoB,IAAQloB,EAIvB,GAHAo6C,EAAaC,EAAYr6C,GACzB5M,EAASgnD,EAAWhnD,OACpBgjC,EAAShjC,EAAO+mD,GACM,oBAAX/jB,IACV8a,EAAS,CAACzkB,GAAOphC,OAAOgzB,GAAQ,IAChC6yB,EAAOz/C,KAAK2oD,EAAW3xD,UACc,IAAjC2tC,EAAOje,MAAM/kB,EAAQ89C,IACxB,OAAO,EAKV,OAAO,GAQRmJ,YAAa,SAAS5tB,GACrB,IAAI6tB,EAAQ7tB,EAAM8tB,WAAa9tB,EAAM8tB,SAAW,IAChD,GAAID,EAAM3nD,KAAOjL,KAAKmyD,SACrB,OAAOS,EAAMD,YAGd,IAAIrnD,EAAU,GACVqnD,EAAc,GACdhP,EAAU5e,GAASA,EAAM4e,QAAW,GACpC5iD,EAAW4iD,EAAO5iD,SAAW4iD,EAAO5iD,QAAQuK,SAAY,GA2B5D,OAzBAtL,KAAKwL,SAAS7H,OAAOggD,EAAOr4C,SAAW,IAAI4tB,SAAQ,SAASxtB,GAC3D,IAAI4mD,EAAMhnD,EAAQ+K,QAAQ3K,GAC1B,IAAa,IAAT4mD,EAAJ,CAIA,IAAIrnD,EAAKS,EAAOT,GACZ41C,EAAO9/C,EAAQkK,IACN,IAAT41C,KAIS,IAATA,IACHA,EAAOzV,GAAU1M,MAAM0J,EAAcpW,OAAO1mB,QAAQL,KAGrDK,EAAQvB,KAAK2B,GACbinD,EAAY5oD,KAAK,CAChB2B,OAAQA,EACR3K,QAAS8/C,GAAQ,UAInB+R,EAAMD,YAAcA,EACpBC,EAAM3nD,GAAKjL,KAAKmyD,SACTQ,GASRG,YAAa,SAAS/tB,UACdA,EAAM8tB,WAIXE,GAAoB,CAGvBC,aAAc,GAKdprB,SAAU,GACVqrB,kBAAmB,SAAS1wD,EAAM2wD,EAAkBC,GACnDnzD,KAAKgzD,aAAazwD,GAAQ2wD,EAC1BlzD,KAAK4nC,SAASrlC,GAAQ6oC,GAAU1M,MAAMy0B,IAEvCC,oBAAqB,SAAS7wD,GAC7B,OAAOvC,KAAKgzD,aAAa7xD,eAAeoB,GAAQvC,KAAKgzD,aAAazwD,QAAQyC,GAE3EquD,iBAAkB,SAAS9wD,GAE1B,OAAOvC,KAAK4nC,SAASzmC,eAAeoB,GAAQ6oC,GAAUrK,MAAM55B,OAAOyiB,OAAO,MAAO,CAACwe,EAAc1N,MAAO16B,KAAK4nC,SAASrlC,KAAU,IAEhI+wD,oBAAqB,SAAS/wD,EAAMgxD,GACnC,IAAI/xB,EAAKxhC,KACLwhC,EAAGoG,SAASzmC,eAAeoB,KAC9Bi/B,EAAGoG,SAASrlC,GAAQ6oC,GAAUxrC,OAAO4hC,EAAGoG,SAASrlC,GAAOgxD,KAG1DC,kBAAmB,SAASzuB,GAE3BqG,GAAUlL,KAAK6E,EAAM4K,QAAQ,SAASjV,GAErCA,EAAMgvB,UAAYhvB,EAAM35B,QAAQ2oD,UAChChvB,EAAMwjB,SAAWxjB,EAAM35B,QAAQm9C,SAC/BxjB,EAAM2D,OAAS3D,EAAM35B,QAAQs9B,OAC7BmtB,GAAaC,OAAO1mB,EAAOrK,QAK1B+4B,GAAmBroB,GAAUtL,eAC7B4zB,GAAetoB,GAAU35B,IAAIu4B,cAEjC5B,EAAcP,KAAK,SAAU,CAC5BsW,SAAU,CACTwV,SAAS,EACTrhB,OAAQ,KACRhsC,KAAM,UACN43C,SAAU,UACV0J,WAAW,EACX1V,gBAAiB,kBACjB0hB,eAAgB,OAChBC,aAAc,EACdC,kBAAmB,EACnBC,eAAgB,OAChBC,WAAY,OACZC,YAAa,EACbC,cAAe,OACfC,UAAW,OACXC,gBAAiB,OACjBC,cAAe,EACfC,gBAAiB,EACjBC,gBAAiB,OACjBC,YAAa,OACbC,SAAU,EACVC,SAAU,EACVC,aAAc,EACdC,UAAW,EACX7uB,aAAc,EACd8uB,mBAAoB,OACpBC,eAAe,EACf3iB,YAAa,gBACbY,YAAa,EACbqL,UAAW,CAEV2W,YAAa3pB,GAAU1L,KACvB2e,MAAO,SAAS2W,EAAczxD,GAC7B,IAAI86C,EAAQ,GACRxrB,EAAStvB,EAAKsvB,OACdoiC,EAAapiC,EAASA,EAAOrxB,OAAS,EAE1C,GAAIwzD,EAAaxzD,OAAS,EAAG,CAC5B,IAAIG,EAAOqzD,EAAa,GACpBrzD,EAAKw6C,MACRkC,EAAQ18C,EAAKw6C,MACHx6C,EAAK48C,OACfF,EAAQ18C,EAAK48C,OACH0W,EAAa,GAAKtzD,EAAKC,MAAQqzD,IACzC5W,EAAQxrB,EAAOlxB,EAAKC,QAItB,OAAOy8C,GAER6W,WAAY9pB,GAAU1L,KAGtBy1B,WAAY/pB,GAAU1L,KAGtB01B,YAAahqB,GAAU1L,KACvByc,MAAO,SAASiE,EAAa78C,GAC5B,IAAI44C,EAAQ54C,EAAK4sC,SAASiQ,EAAYnR,cAAckN,OAAS,GAU7D,OARIA,IACHA,GAAS,MAEL/Q,GAAUxL,cAAcwgB,EAAY7+C,OAGxC46C,GAASiE,EAAY5B,OAFrBrC,GAASiE,EAAY7+C,MAIf46C,GAERkZ,WAAY,SAASjV,EAAarb,GACjC,IAAI2K,EAAO3K,EAAMqL,eAAegQ,EAAYnR,cACxCqmB,EAAgB5lB,EAAKnsC,KAAK68C,EAAYx+C,OACtC4pC,EAAO8pB,EAAcnpB,MACzB,MAAO,CACNgG,YAAa3G,EAAK2G,YAClBD,gBAAiB1G,EAAK0G,kBAGxBqjB,eAAgB,WACf,OAAOv1D,KAAK++C,SAASmV,eAEtBsB,WAAYpqB,GAAU1L,KAGtB+1B,UAAWrqB,GAAU1L,KAGrBg2B,aAActqB,GAAU1L,KACxBi2B,OAAQvqB,GAAU1L,KAClBk2B,YAAaxqB,GAAU1L,SAK1B,IAAIm2B,GAAc,CAOjBC,QAAS,SAASjkB,GACjB,IAAKA,EAASrwC,OACb,OAAO,EAGR,IAAI8W,EAAGwf,EACH/Y,EAAI,EACJ+U,EAAI,EACJ2f,EAAQ,EAEZ,IAAKn7B,EAAI,EAAGwf,EAAM+Z,EAASrwC,OAAQ8W,EAAIwf,IAAOxf,EAAG,CAChD,IAAI22C,EAAKpd,EAASv5B,GAClB,GAAI22C,GAAMA,EAAG1iB,WAAY,CACxB,IAAIyc,EAAMiG,EAAG3iB,kBACbvtB,GAAKiqC,EAAIjqC,EACT+U,GAAKk1B,EAAIl1B,IACP2f,GAIJ,MAAO,CACN10B,EAAGA,EAAI00B,EACP3f,EAAGA,EAAI2f,IAWTmV,QAAS,SAAS/W,EAAUkkB,GAC3B,IAGIz9C,EAAGwf,EAAKk+B,EAHRj3C,EAAIg3C,EAAch3C,EAClB+U,EAAIiiC,EAAcjiC,EAClBg0B,EAAcz8C,OAAO08C,kBAGzB,IAAKzvC,EAAI,EAAGwf,EAAM+Z,EAASrwC,OAAQ8W,EAAIwf,IAAOxf,EAAG,CAChD,IAAI22C,EAAKpd,EAASv5B,GAClB,GAAI22C,GAAMA,EAAG1iB,WAAY,CACxB,IAAIsQ,EAASoS,EAAGpZ,iBACZ3nB,EAAIkd,GAAU6qB,sBAAsBF,EAAelZ,GAEnD3uB,EAAI45B,IACPA,EAAc55B,EACd8nC,EAAiB/G,IAKpB,GAAI+G,EAAgB,CACnB,IAAIE,EAAKF,EAAe1pB,kBACxBvtB,EAAIm3C,EAAGn3C,EACP+U,EAAIoiC,EAAGpiC,EAGR,MAAO,CACN/U,EAAGA,EACH+U,EAAGA,KAMN,SAASqiC,GAAaxnB,EAAMynB,GAU3B,OATIA,IACChrB,GAAU9pC,QAAQ80D,GAErB/0D,MAAM03B,UAAUhvB,KAAK0mB,MAAMke,EAAMynB,GAEjCznB,EAAK5kC,KAAKqsD,IAILznB,EASR,SAAS0nB,GAAcn7B,GACtB,OAAoB,kBAARA,GAAoBA,aAAe14B,SAAW04B,EAAI7kB,QAAQ,OAAS,EACvE6kB,EAAI7rB,MAAM,MAEX6rB,EASR,SAASo7B,GAAkBllB,GAC1B,IAAIsN,EAAStN,EAAQ4K,QACjB2C,EAASvN,EAAQ6K,SAAW7K,EAAQ2S,OACpCniD,EAAQwvC,EAAQH,OAChBhC,EAAemC,EAAQL,cACvBiP,EAAa5O,EAAQ7lC,OAAO6kC,eAAenB,GAAc+Q,WACzDuW,EAAavW,EAAWtP,iBACxB8lB,EAAaxW,EAAWvP,iBAE5B,MAAO,CACN8N,OAAQG,EAASA,EAAO+X,iBAAiB70D,EAAOqtC,GAAgB,GAChEuP,OAAQG,EAASA,EAAO8X,iBAAiB70D,EAAOqtC,GAAgB,GAChEkN,MAAOoa,EAAa,GAAKA,EAAWE,iBAAiB70D,EAAOqtC,GAAgB,GAC5E1tC,MAAOi1D,EAAa,GAAKA,EAAWC,iBAAiB70D,EAAOqtC,GAAgB,GAC5ErtC,MAAOA,EACPqtC,aAAcA,EACdlwB,EAAGqyB,EAAQhF,OAAOrtB,EAClB+U,EAAGsd,EAAQhF,OAAOtY,GAQpB,SAAS4iC,GAAaC,GACrB,IAAI9tB,EAAiBT,EAAcpW,OAEnC,MAAO,CAEN0iC,SAAUiC,EAAYjC,SACtBD,SAAUkC,EAAYlC,SACtBmC,OAAQD,EAAYC,OACpBC,OAAQF,EAAYE,OAGpBplD,IAAKklD,EAAYllD,IACjBqlD,cAAeH,EAAYG,cAG3B5C,cAAeyC,EAAYzC,cAC3B6C,gBAAiBtD,GAAiBkD,EAAYK,eAAgBnuB,EAAed,mBAC7EkvB,eAAgBxD,GAAiBkD,EAAYO,cAAeruB,EAAeZ,kBAC3EkvB,WAAYR,EAAYxC,UACxBiD,aAAc3D,GAAiBkD,EAAYS,aAAcvuB,EAAeb,iBACxEisB,YAAa0C,EAAY1C,YAGzBF,eAAgB4C,EAAY5C,eAC5BsD,iBAAkB5D,GAAiBkD,EAAYW,gBAAiBzuB,EAAed,mBAC/EwvB,gBAAiB9D,GAAiBkD,EAAY/C,eAAgB/qB,EAAeZ,kBAC7EuvB,cAAe/D,GAAiBkD,EAAYa,cAAe3uB,EAAeb,iBAC1EyvB,YAAad,EAAY3C,WACzBH,aAAc8C,EAAY9C,aAC1BC,kBAAmB6C,EAAY7C,kBAG/BS,gBAAiBoC,EAAYpC,gBAC7BmD,kBAAmBjE,GAAiBkD,EAAYgB,iBAAkB9uB,EAAed,mBACjF6vB,iBAAkBnE,GAAiBkD,EAAYvC,gBAAiBvrB,EAAeZ,kBAC/E4vB,eAAgBpE,GAAiBkD,EAAYkB,eAAgBhvB,EAAeb,iBAC5E8vB,aAAcnB,EAAYnC,YAC1BH,cAAesC,EAAYtC,cAC3BC,gBAAiBqC,EAAYrC,gBAG7BM,UAAW+B,EAAY/B,UACvB7uB,aAAc4wB,EAAY5wB,aAC1BmM,gBAAiBykB,EAAYzkB,gBAC7B6lB,QAAS,EACTC,sBAAuBrB,EAAY9B,mBACnCC,cAAe6B,EAAY7B,cAC3B3iB,YAAawkB,EAAYxkB,YACzBY,YAAa4jB,EAAY5jB,aAO3B,SAASklB,GAAeC,EAAS9zC,GAChC,IAAI4gB,EAAMkzB,EAAQ3sD,OAAOy5B,IAErB75B,EAA0B,EAAjBiZ,EAAMqwC,SACfvpD,EAAQ,EAGRitD,EAAO/zC,EAAM+zC,KACbC,EAAqBD,EAAK7lD,QAAO,SAASmhC,EAAO4kB,GACpD,OAAO5kB,EAAQ4kB,EAASC,OAAO92D,OAAS62D,EAASE,MAAM/2D,OAAS62D,EAASG,MAAMh3D,SAC7E,GACH42D,GAAsBh0C,EAAM+wC,WAAW3zD,OAAS4iB,EAAMqxC,UAAUj0D,OAEhE,IAAIi3D,EAAiBr0C,EAAMi6B,MAAM78C,OAC7Bk3D,EAAkBt0C,EAAMuxC,OAAOn0D,OAC/Bg2D,EAAgBpzC,EAAMozC,cACtBJ,EAAehzC,EAAMgzC,aACrBS,EAAiBzzC,EAAMyzC,eAE3B1sD,GAAUstD,EAAiBjB,EAC3BrsD,GAAUstD,GAAkBA,EAAiB,GAAKr0C,EAAMyvC,aAAe,EACvE1oD,GAAUstD,EAAiBr0C,EAAM0vC,kBAAoB,EACrD3oD,GAAUitD,EAAqBhB,EAC/BjsD,GAAUitD,GAAsBA,EAAqB,GAAKh0C,EAAM6vC,YAAc,EAC9E9oD,GAAUutD,EAAkBt0C,EAAMkwC,gBAAkB,EACpDnpD,GAAUutD,EAAkB,EAC5BvtD,GAAUutD,GAAmBA,EAAkB,GAAKt0C,EAAMiwC,cAAgB,EAG1E,IAAIsE,EAAe,EACfC,EAAe,SAASriB,GAC3BrrC,EAAQyM,KAAKlH,IAAIvF,EAAO85B,EAAI6zB,YAAYtiB,GAAMrrC,MAAQytD,IA4BvD,OAzBA3zB,EAAIsD,KAAO8C,GAAU0tB,WAAWtB,EAAepzC,EAAMmzC,gBAAiBnzC,EAAMizC,kBAC5EjsB,GAAUlL,KAAK9b,EAAMi6B,MAAOua,GAG5B5zB,EAAIsD,KAAO8C,GAAU0tB,WAAW1B,EAAchzC,EAAM6yC,eAAgB7yC,EAAM2yC,iBAC1E3rB,GAAUlL,KAAK9b,EAAM+wC,WAAWxxD,OAAOygB,EAAMqxC,WAAYmD,GAGzDD,EAAev0C,EAAM0wC,cAAiBsC,EAAe,EAAK,EAC1DhsB,GAAUlL,KAAKi4B,GAAM,SAASE,GAC7BjtB,GAAUlL,KAAKm4B,EAASC,OAAQM,GAChCxtB,GAAUlL,KAAKm4B,EAASE,MAAOK,GAC/BxtB,GAAUlL,KAAKm4B,EAASG,MAAOI,MAIhCD,EAAe,EAGf3zB,EAAIsD,KAAO8C,GAAU0tB,WAAWjB,EAAgBzzC,EAAMwzC,iBAAkBxzC,EAAMszC,mBAC9EtsB,GAAUlL,KAAK9b,EAAMuxC,OAAQiD,GAG7B1tD,GAAS,EAAIkZ,EAAMswC,SAEZ,CACNxpD,MAAOA,EACPC,OAAQA,GAOV,SAAS4tD,GAAmBb,EAASpyB,GACpC,IAYIkzB,EAAIC,EACJC,EAAKC,EACLC,EAdAh1C,EAAQ8zC,EAAQ9rB,OAChBrH,EAAQmzB,EAAQ3sD,OAChB8sC,EAAY6f,EAAQ3sD,OAAO8sC,UAC3Bue,EAAS,SACTC,EAAS,SAETzyC,EAAM0P,EAAIgS,EAAK36B,OAClB0rD,EAAS,MACCzyC,EAAM0P,EAAKiR,EAAM55B,OAAS26B,EAAK36B,SACzC0rD,EAAS,UAMV,IAAIwC,GAAQhhB,EAAU1iC,KAAO0iC,EAAUxiC,OAAS,EAC5CyjD,GAAQjhB,EAAUjT,IAAMiT,EAAUhT,QAAU,EAEjC,WAAXwxB,GACHmC,EAAK,SAASj6C,GACb,OAAOA,GAAKs6C,GAEbJ,EAAK,SAASl6C,GACb,OAAOA,EAAIs6C,KAGZL,EAAK,SAASj6C,GACb,OAAOA,GAAM+mB,EAAK56B,MAAQ,GAE3B+tD,EAAK,SAASl6C,GACb,OAAOA,GAAMgmB,EAAM75B,MAAS46B,EAAK56B,MAAQ,IAI3CguD,EAAM,SAASn6C,GACd,OAAOA,EAAI+mB,EAAK56B,MAAQkZ,EAAMwwC,UAAYxwC,EAAMuwC,aAAe5vB,EAAM75B,OAEtEiuD,EAAM,SAASp6C,GACd,OAAOA,EAAI+mB,EAAK56B,MAAQkZ,EAAMwwC,UAAYxwC,EAAMuwC,aAAe,GAEhEyE,EAAK,SAAStlC,GACb,OAAOA,GAAKwlC,EAAO,MAAQ,UAGxBN,EAAG50C,EAAMrF,IACZ63C,EAAS,OAGLsC,EAAI90C,EAAMrF,KACb63C,EAAS,SACTC,EAASuC,EAAGh1C,EAAM0P,KAETmlC,EAAG70C,EAAMrF,KACnB63C,EAAS,QAGLuC,EAAI/0C,EAAMrF,KACb63C,EAAS,SACTC,EAASuC,EAAGh1C,EAAM0P,KAIpB,IAAI+sB,EAAOqX,EAAQnZ,SACnB,MAAO,CACN6X,OAAQ/V,EAAK+V,OAAS/V,EAAK+V,OAASA,EACpCC,OAAQhW,EAAKgW,OAAShW,EAAKgW,OAASA,GAOtC,SAAS0C,GAAmB7kB,EAAI5O,EAAM0zB,EAAWz0B,GAEhD,IAAIhmB,EAAI21B,EAAG31B,EACP+U,EAAI4gB,EAAG5gB,EAEP8gC,EAAYlgB,EAAGkgB,UACfD,EAAejgB,EAAGigB,aAClB5uB,EAAe2O,EAAG3O,aAClB6wB,EAAS4C,EAAU5C,OACnBC,EAAS2C,EAAU3C,OACnB4C,EAAiB7E,EAAYD,EAC7B+E,EAAmB3zB,EAAe4uB,EAkCtC,MAhCe,UAAXiC,EACH73C,GAAK+mB,EAAK56B,MACW,WAAX0rD,IACV73C,GAAM+mB,EAAK56B,MAAQ,EACf6T,EAAI+mB,EAAK56B,MAAQ65B,EAAM75B,QAC1B6T,EAAIgmB,EAAM75B,MAAQ46B,EAAK56B,OAEpB6T,EAAI,IACPA,EAAI,IAIS,QAAX83C,EACH/iC,GAAK2lC,EAEL3lC,GADqB,WAAX+iC,EACL/wB,EAAK36B,OAASsuD,EAEb3zB,EAAK36B,OAAS,EAGN,WAAX0rD,EACY,SAAXD,EACH73C,GAAK06C,EACgB,UAAX7C,IACV73C,GAAK06C,GAEe,SAAX7C,EACV73C,GAAK26C,EACgB,UAAX9C,IACV73C,GAAK26C,GAGC,CACN36C,EAAGA,EACH+U,EAAGA,GAIL,SAAS6lC,GAAYjlB,EAAItK,GACxB,MAAiB,WAAVA,EACJsK,EAAG31B,EAAI21B,EAAGxpC,MAAQ,EACR,UAAVk/B,EACCsK,EAAG31B,EAAI21B,EAAGxpC,MAAQwpC,EAAGggB,SACrBhgB,EAAG31B,EAAI21B,EAAGggB,SAMf,SAASkF,GAAwB93C,GAChC,OAAOq0C,GAAa,GAAIE,GAAcv0C,IAGvC,IAAI+3C,GAAYptB,GAAa7sC,OAAO,CACnCmsC,WAAY,WACX/rC,KAAKosC,OAASsqB,GAAa12D,KAAK++C,UAChC/+C,KAAK85D,YAAc,IAKpBC,SAAU,WACT,IAAIv4B,EAAKxhC,KACL6gD,EAAOrf,EAAGud,SACVX,EAAYyC,EAAKzC,UAEjB2W,EAAc3W,EAAU2W,YAAYtkC,MAAM+Q,EAAIzyB,WAC9CsvC,EAAQD,EAAUC,MAAM5tB,MAAM+Q,EAAIzyB,WAClCmmD,EAAa9W,EAAU8W,WAAWzkC,MAAM+Q,EAAIzyB,WAE5CwpD,EAAQ,GAKZ,OAJAA,EAAQpC,GAAaoC,EAAOlC,GAActB,IAC1CwD,EAAQpC,GAAaoC,EAAOlC,GAAchY,IAC1Cka,EAAQpC,GAAaoC,EAAOlC,GAAcnB,IAEnCqD,GAIRyB,cAAe,WACd,OAAOJ,GAAwB55D,KAAK++C,SAASX,UAAU+W,WAAW1kC,MAAMzwB,KAAM+O,aAI/EkrD,QAAS,SAASjF,EAAczxD,GAC/B,IAAIi+B,EAAKxhC,KACLo+C,EAAY5c,EAAGud,SAASX,UACxB8b,EAAY,GAehB,OAbA9uB,GAAUlL,KAAK80B,GAAc,SAAS5U,GACrC,IAAIiY,EAAW,CACdC,OAAQ,GACRC,MAAO,GACPC,MAAO,IAERrC,GAAakC,EAASC,OAAQjC,GAAcjY,EAAUgX,YAAYp0D,KAAKwgC,EAAI4e,EAAa78C,KACxF4yD,GAAakC,EAASE,MAAOna,EAAUjC,MAAMn7C,KAAKwgC,EAAI4e,EAAa78C,IACnE4yD,GAAakC,EAASG,MAAOnC,GAAcjY,EAAUoX,WAAWx0D,KAAKwgC,EAAI4e,EAAa78C,KAEtF22D,EAAUnwD,KAAKsuD,MAGT6B,GAIRC,aAAc,WACb,OAAOP,GAAwB55D,KAAK++C,SAASX,UAAUqX,UAAUhlC,MAAMzwB,KAAM+O,aAK9EqrD,UAAW,WACV,IAAI54B,EAAKxhC,KACLo+C,EAAY5c,EAAGud,SAASX,UAExBsX,EAAetX,EAAUsX,aAAajlC,MAAM+Q,EAAIzyB,WAChD4mD,EAASvX,EAAUuX,OAAOllC,MAAM+Q,EAAIzyB,WACpC6mD,EAAcxX,EAAUwX,YAAYnlC,MAAM+Q,EAAIzyB,WAE9CwpD,EAAQ,GAKZ,OAJAA,EAAQpC,GAAaoC,EAAOlC,GAAcX,IAC1C6C,EAAQpC,GAAaoC,EAAOlC,GAAcV,IAC1C4C,EAAQpC,GAAaoC,EAAOlC,GAAcT,IAEnC2C,GAGR5uC,OAAQ,SAASyhC,GAChB,IA8BI9yC,EAAGwf,EA9BH0J,EAAKxhC,KACL6gD,EAAOrf,EAAGud,SAKVsb,EAAgB74B,EAAG4K,OACnBhoB,EAAQod,EAAG4K,OAASsqB,GAAa7V,GACjC7lC,EAASwmB,EAAG84B,QAEZ/2D,EAAOi+B,EAAGqP,MAGV2oB,EAAY,CACf5C,OAAQyD,EAAczD,OACtBC,OAAQwD,EAAcxD,QAEnB0D,EAAkB,CACrBx7C,EAAGs7C,EAAct7C,EACjB+U,EAAGumC,EAAcvmC,GAEd0mC,EAAc,CACjBtvD,MAAOmvD,EAAcnvD,MACrBC,OAAQkvD,EAAclvD,QAEnBmhC,EAAkB,CACrBvtB,EAAGs7C,EAAcI,OACjB3mC,EAAGumC,EAAcK,QAKlB,GAAI1/C,EAAOxZ,OAAQ,CAClB4iB,EAAM2zC,QAAU,EAEhB,IAAI4C,EAAc,GACdC,EAAkB,GACtBtuB,EAAkBupB,GAAYhV,EAAK3C,UAAUl9C,KAAKwgC,EAAIxmB,EAAQwmB,EAAGq5B,gBAEjE,IAAI7F,EAAe,GACnB,IAAK18C,EAAI,EAAGwf,EAAM9c,EAAOxZ,OAAQ8W,EAAIwf,IAAOxf,EAC3C08C,EAAajrD,KAAKusD,GAAkBt7C,EAAO1C,KAIxCuoC,EAAK5rC,SACR+/C,EAAeA,EAAa//C,QAAO,SAASkgB,GAC3C,OAAO0rB,EAAK5rC,OAAOkgB,EAAG5xB,OAKpBs9C,EAAKia,WACR9F,EAAeA,EAAa/+C,MAAK,SAASkf,EAAGf,GAC5C,OAAOysB,EAAKia,SAAS3lC,EAAGf,EAAG7wB,OAK7B6nC,GAAUlL,KAAK80B,GAAc,SAAS5U,GACrCua,EAAY5wD,KAAK82C,EAAKzC,UAAUiX,WAAWr0D,KAAKwgC,EAAI4e,EAAa5e,EAAGj2B,SACpEqvD,EAAgB7wD,KAAK82C,EAAKzC,UAAUmX,eAAev0D,KAAKwgC,EAAI4e,EAAa5e,EAAGj2B,YAK7E6Y,EAAMi6B,MAAQ7c,EAAGu4B,SAAS/E,EAAczxD,GACxC6gB,EAAM+wC,WAAa3zB,EAAGw4B,cAAchF,EAAczxD,GAClD6gB,EAAM+zC,KAAO32B,EAAGy4B,QAAQjF,EAAczxD,GACtC6gB,EAAMqxC,UAAYj0B,EAAG24B,aAAanF,EAAczxD,GAChD6gB,EAAMuxC,OAASn0B,EAAG44B,UAAUpF,EAAczxD,GAG1C6gB,EAAMrF,EAAIutB,EAAgBvtB,EAC1BqF,EAAM0P,EAAIwY,EAAgBxY,EAC1B1P,EAAMuwC,aAAe9T,EAAK8T,aAC1BvwC,EAAMu2C,YAAcA,EACpBv2C,EAAMw2C,gBAAkBA,EAGxBx2C,EAAM22C,WAAa/F,EAGnBwF,EAAcvC,GAAej4D,KAAMokB,GACnCo1C,EAAYT,GAAmB/4D,KAAMw6D,GAErCD,EAAkBhB,GAAmBn1C,EAAOo2C,EAAahB,EAAWh4B,EAAGj2B,aAEvE6Y,EAAM2zC,QAAU,EAoBjB,OAjBA3zC,EAAMwyC,OAAS4C,EAAU5C,OACzBxyC,EAAMyyC,OAAS2C,EAAU3C,OACzBzyC,EAAMrF,EAAIw7C,EAAgBx7C,EAC1BqF,EAAM0P,EAAIymC,EAAgBzmC,EAC1B1P,EAAMlZ,MAAQsvD,EAAYtvD,MAC1BkZ,EAAMjZ,OAASqvD,EAAYrvD,OAG3BiZ,EAAMq2C,OAASnuB,EAAgBvtB,EAC/BqF,EAAMs2C,OAASpuB,EAAgBxY,EAE/B0N,EAAG4K,OAAShoB,EAERgnC,GAAWvK,EAAKvO,QACnBuO,EAAKvO,OAAOtxC,KAAKwgC,EAAIpd,GAGfod,GAGRw5B,UAAW,SAASC,EAAcn1B,GACjC,IAAId,EAAMhlC,KAAKuL,OAAOy5B,IAClB0P,EAAK10C,KAAKmsC,MACV+uB,EAAgBl7D,KAAKm7D,iBAAiBF,EAAcn1B,EAAM4O,GAE9D1P,EAAIsB,OAAO40B,EAAcziB,GAAIyiB,EAAcxiB,IAC3C1T,EAAIsB,OAAO40B,EAAc/kC,GAAI+kC,EAAchlC,IAC3C8O,EAAIsB,OAAO40B,EAAcE,GAAIF,EAAcG,KAE5CF,iBAAkB,SAASF,EAAcn1B,EAAM4O,GAC9C,IAAI+D,EAAItiB,EAAIilC,EAAI1iB,EAAIxiB,EAAImlC,EACpBzG,EAAYlgB,EAAGkgB,UACf7uB,EAAe2O,EAAG3O,aAClB6wB,EAASliB,EAAGkiB,OACZC,EAASniB,EAAGmiB,OACZyE,EAAML,EAAal8C,EACnBw8C,EAAMN,EAAannC,EACnB5oB,EAAQ46B,EAAK56B,MACbC,EAAS26B,EAAK36B,OAElB,GAAe,WAAX0rD,EACH3gC,EAAKqlC,EAAOpwD,EAAS,EAEN,SAAXyrD,GACHne,EAAK6iB,EACLnlC,EAAKsiB,EAAKmc,EACVwG,EAAK3iB,EAELC,EAAKxiB,EAAK0+B,EACVyG,EAAKnlC,EAAK0+B,IAEVnc,EAAK6iB,EAAMpwD,EACXirB,EAAKsiB,EAAKmc,EACVwG,EAAK3iB,EAELC,EAAKxiB,EAAK0+B,EACVyG,EAAKnlC,EAAK0+B,QAgBX,GAbe,SAAXgC,GACHzgC,EAAKmlC,EAAMv1B,EAAe,EAC1B0S,EAAKtiB,EAAKy+B,EACVwG,EAAKjlC,EAAKy+B,GACW,UAAXgC,GACVzgC,EAAKmlC,EAAMpwD,EAAQ66B,EAAe6uB,EAClCnc,EAAKtiB,EAAKy+B,EACVwG,EAAKjlC,EAAKy+B,IAEVz+B,EAAKue,EAAG+lB,OACRhiB,EAAKtiB,EAAKy+B,EACVwG,EAAKjlC,EAAKy+B,GAEI,QAAXiC,EACHne,EAAK6iB,EACLrlC,EAAKwiB,EAAKkc,EACVyG,EAAK3iB,MACC,CACNA,EAAK6iB,EAAMpwD,EACX+qB,EAAKwiB,EAAKkc,EACVyG,EAAK3iB,EAEL,IAAI8iB,EAAMJ,EACVA,EAAK3iB,EACLA,EAAK+iB,EAGP,MAAO,CAAC/iB,GAAIA,EAAItiB,GAAIA,EAAIilC,GAAIA,EAAI1iB,GAAIA,EAAIxiB,GAAIA,EAAImlC,GAAIA,IAGrDI,UAAW,SAAS3W,EAAIpQ,EAAI1P,GAC3B,IAEIwyB,EAAe3D,EAAcv7C,EAF7B+lC,EAAQ3J,EAAG2J,MACX78C,EAAS68C,EAAM78C,OAGnB,GAAIA,EAAQ,CACX,IAAIk6D,EAAYhI,GAAahf,EAAGjjC,IAAKijC,EAAG31B,EAAG21B,EAAGxpC,OAa9C,IAXA45C,EAAG/lC,EAAI46C,GAAYjlB,EAAIA,EAAG+iB,aAE1BzyB,EAAImF,UAAYuxB,EAAUvxB,UAAUuK,EAAG+iB,aACvCzyB,EAAI22B,aAAe,SAEnBnE,EAAgB9iB,EAAG8iB,cACnB3D,EAAenf,EAAGmf,aAElB7uB,EAAIoR,UAAY1B,EAAGqf,eACnB/uB,EAAIsD,KAAO8C,GAAU0tB,WAAWtB,EAAe9iB,EAAG6iB,gBAAiB7iB,EAAG2iB,kBAEjE/+C,EAAI,EAAGA,EAAI9W,IAAU8W,EACzB0sB,EAAI42B,SAASvd,EAAM/lC,GAAIojD,EAAU38C,EAAE+lC,EAAG/lC,GAAI+lC,EAAGhxB,EAAI0jC,EAAgB,GACjE1S,EAAGhxB,GAAK0jC,EAAgB3D,EAEpBv7C,EAAI,IAAM9W,IACbsjD,EAAGhxB,GAAK4gB,EAAGof,kBAAoBD,KAMnCgI,SAAU,SAAS/W,EAAIpQ,EAAI1P,GAC1B,IAeIqzB,EAAUyD,EAAWnB,EAAapC,EAAOjgD,EAAGmoC,EAAGjgB,EAAMinB,EAfrD2P,EAAe1iB,EAAG0iB,aAClBnD,EAAcvf,EAAGuf,YACjBE,EAAYzf,EAAGyiB,WACfgB,EAAOzjB,EAAGyjB,KACV4D,EAAiBrnB,EAAGogB,cACpBkH,EAAe,EACfC,EAASF,EAAiBpC,GAAYjlB,EAAI,QAAU,EAEpDgnB,EAAYhI,GAAahf,EAAGjjC,IAAKijC,EAAG31B,EAAG21B,EAAGxpC,OAE1CgxD,EAAiB,SAAS3lB,GAC7BvR,EAAI42B,SAASrlB,EAAMmlB,EAAU38C,EAAE+lC,EAAG/lC,EAAIi9C,GAAelX,EAAGhxB,EAAIsjC,EAAe,GAC3EtS,EAAGhxB,GAAKsjC,EAAenD,GAIpBkI,EAA0BT,EAAUvxB,UAAUgqB,GAiBlD,IAfAnvB,EAAImF,UAAYgqB,EAChBnvB,EAAI22B,aAAe,SACnB32B,EAAIsD,KAAO8C,GAAU0tB,WAAW1B,EAAc1iB,EAAGuiB,eAAgBviB,EAAGqiB,iBAEpEjS,EAAG/lC,EAAI46C,GAAYjlB,EAAIynB,GAGvBn3B,EAAIoR,UAAY1B,EAAGwf,cACnB9oB,GAAUlL,KAAKwU,EAAGygB,WAAY+G,GAE9BF,EAAeD,GAA8C,UAA5BI,EAChB,WAAdhI,EAA0BiD,EAAe,EAAI,EAAMA,EAAe,EAClE,EAGE9+C,EAAI,EAAGkoB,EAAO23B,EAAK32D,OAAQ8W,EAAIkoB,IAAQloB,EAAG,CAS9C,IARA+/C,EAAWF,EAAK7/C,GAChBwjD,EAAYpnB,EAAGkmB,gBAAgBtiD,GAC/BqiD,EAAcjmB,EAAGimB,YAAYriD,GAE7B0sB,EAAIoR,UAAY0lB,EAChB1wB,GAAUlL,KAAKm4B,EAASC,OAAQ4D,GAEhC3D,EAAQF,EAASE,MACZ9X,EAAI,EAAGgH,EAAO8Q,EAAM/2D,OAAQi/C,EAAIgH,IAAQhH,EAAG,CAE/C,GAAIsb,EAAgB,CACnB,IAAIK,EAAYV,EAAU38C,EAAEk9C,GAG5Bj3B,EAAIoR,UAAY1B,EAAGsjB,sBACnBhzB,EAAI8U,SAAS4hB,EAAUpxB,WAAW8xB,EAAWhF,GAAetS,EAAGhxB,EAAGsjC,EAAcA,GAGhFpyB,EAAI+P,UAAY,EAChB/P,EAAIqR,YAAcskB,EAAYxoB,YAC9BnN,EAAIq3B,WAAWX,EAAUpxB,WAAW8xB,EAAWhF,GAAetS,EAAGhxB,EAAGsjC,EAAcA,GAGlFpyB,EAAIoR,UAAYukB,EAAYzoB,gBAC5BlN,EAAI8U,SAAS4hB,EAAUpxB,WAAWoxB,EAAUrxB,MAAM+xB,EAAW,GAAIhF,EAAe,GAAItS,EAAGhxB,EAAI,EAAGsjC,EAAe,EAAGA,EAAe,GAC/HpyB,EAAIoR,UAAY0lB,EAGjBI,EAAe3D,EAAM9X,IAGtBrV,GAAUlL,KAAKm4B,EAASG,MAAO0D,GAIhCF,EAAe,EAGf5wB,GAAUlL,KAAKwU,EAAG+gB,UAAWyG,GAC7BpX,EAAGhxB,GAAKmgC,GAGTqI,WAAY,SAASxX,EAAIpQ,EAAI1P,GAC5B,IAEI6yB,EAAgBv/C,EAFhBq9C,EAASjhB,EAAGihB,OACZn0D,EAASm0D,EAAOn0D,OAGpB,GAAIA,EAAQ,CACX,IAAIk6D,EAAYhI,GAAahf,EAAGjjC,IAAKijC,EAAG31B,EAAG21B,EAAGxpC,OAa9C,IAXA45C,EAAG/lC,EAAI46C,GAAYjlB,EAAIA,EAAGojB,cAC1BhT,EAAGhxB,GAAK4gB,EAAG4f,gBAEXtvB,EAAImF,UAAYuxB,EAAUvxB,UAAUuK,EAAGojB,cACvC9yB,EAAI22B,aAAe,SAEnB9D,EAAiBnjB,EAAGmjB,eAEpB7yB,EAAIoR,UAAY1B,EAAG6f,gBACnBvvB,EAAIsD,KAAO8C,GAAU0tB,WAAWjB,EAAgBnjB,EAAGkjB,iBAAkBljB,EAAGgjB,mBAEnEp/C,EAAI,EAAGA,EAAI9W,IAAU8W,EACzB0sB,EAAI42B,SAASjG,EAAOr9C,GAAIojD,EAAU38C,EAAE+lC,EAAG/lC,GAAI+lC,EAAGhxB,EAAI+jC,EAAiB,GACnE/S,EAAGhxB,GAAK+jC,EAAiBnjB,EAAG2f,gBAK/BkI,eAAgB,SAASzX,EAAIpQ,EAAI1P,EAAKw1B,GACrCx1B,EAAIoR,UAAY1B,EAAGxC,gBACnBlN,EAAIqR,YAAc3B,EAAGvC,YACrBnN,EAAI+P,UAAYL,EAAG3B,YACnB,IAAI6jB,EAASliB,EAAGkiB,OACZC,EAASniB,EAAGmiB,OACZ93C,EAAI+lC,EAAG/lC,EACP+U,EAAIgxB,EAAGhxB,EACP5oB,EAAQsvD,EAAYtvD,MACpBC,EAASqvD,EAAYrvD,OACrBg6B,EAASuP,EAAG3O,aAEhBf,EAAIqB,YACJrB,EAAIM,OAAOvmB,EAAIomB,EAAQrR,GACR,QAAX+iC,GACH72D,KAAKg7D,UAAUlW,EAAI0V,GAEpBx1B,EAAIsB,OAAOvnB,EAAI7T,EAAQi6B,EAAQrR,GAC/BkR,EAAIw3B,iBAAiBz9C,EAAI7T,EAAO4oB,EAAG/U,EAAI7T,EAAO4oB,EAAIqR,GACnC,WAAX0xB,GAAkC,UAAXD,GAC1B52D,KAAKg7D,UAAUlW,EAAI0V,GAEpBx1B,EAAIsB,OAAOvnB,EAAI7T,EAAO4oB,EAAI3oB,EAASg6B,GACnCH,EAAIw3B,iBAAiBz9C,EAAI7T,EAAO4oB,EAAI3oB,EAAQ4T,EAAI7T,EAAQi6B,EAAQrR,EAAI3oB,GACrD,WAAX0rD,GACH72D,KAAKg7D,UAAUlW,EAAI0V,GAEpBx1B,EAAIsB,OAAOvnB,EAAIomB,EAAQrR,EAAI3oB,GAC3B65B,EAAIw3B,iBAAiBz9C,EAAG+U,EAAI3oB,EAAQ4T,EAAG+U,EAAI3oB,EAASg6B,GACrC,WAAX0xB,GAAkC,SAAXD,GAC1B52D,KAAKg7D,UAAUlW,EAAI0V,GAEpBx1B,EAAIsB,OAAOvnB,EAAG+U,EAAIqR,GAClBH,EAAIw3B,iBAAiBz9C,EAAG+U,EAAG/U,EAAIomB,EAAQrR,GACvCkR,EAAIQ,YAEJR,EAAIjrB,OAEA26B,EAAG3B,YAAc,GACpB/N,EAAIwB,UAINsL,KAAM,WACL,IAAI9M,EAAMhlC,KAAKuL,OAAOy5B,IAClB0P,EAAK10C,KAAKmsC,MAEd,GAAmB,IAAfuI,EAAGqjB,QAAP,CAIA,IAAIyC,EAAc,CACjBtvD,MAAOwpC,EAAGxpC,MACVC,OAAQupC,EAAGvpC,QAER25C,EAAK,CACR/lC,EAAG21B,EAAG31B,EACN+U,EAAG4gB,EAAG5gB,GAIHikC,EAAUpgD,KAAKigC,IAAIlD,EAAGqjB,QAAU,MAAQ,EAAIrjB,EAAGqjB,QAG/C0E,EAAoB/nB,EAAG2J,MAAM78C,QAAUkzC,EAAGygB,WAAW3zD,QAAUkzC,EAAGyjB,KAAK32D,QAAUkzC,EAAG+gB,UAAUj0D,QAAUkzC,EAAGihB,OAAOn0D,OAElHxB,KAAK++C,SAAS4U,SAAW8I,IAC5Bz3B,EAAIiB,OACJjB,EAAI03B,YAAc3E,EAGlB/3D,KAAKu8D,eAAezX,EAAIpQ,EAAI1P,EAAKw1B,GAGjC1V,EAAGhxB,GAAK4gB,EAAG+f,SAEXrpB,GAAU35B,IAAIk5B,sBAAsB3F,EAAK0P,EAAGoiB,eAG5C92D,KAAKy7D,UAAU3W,EAAIpQ,EAAI1P,GAGvBhlC,KAAK67D,SAAS/W,EAAIpQ,EAAI1P,GAGtBhlC,KAAKs8D,WAAWxX,EAAIpQ,EAAI1P,GAExBoG,GAAU35B,IAAIy5B,qBAAqBlG,EAAK0P,EAAGoiB,eAE3C9xB,EAAIoB,aAUNu2B,YAAa,SAAS3sD,GACrB,IAAIwxB,EAAKxhC,KACLe,EAAUygC,EAAGud,SACbqM,GAAU,EAgCd,OA9BA5pB,EAAGs4B,YAAct4B,EAAGs4B,aAAe,GAGpB,aAAX9pD,EAAEzN,KACLi/B,EAAG84B,QAAU,IAEb94B,EAAG84B,QAAU94B,EAAGj2B,OAAOqxD,0BAA0B5sD,EAAGjP,EAAQuF,KAAMvF,GAC9DA,EAAQq/B,SACXoB,EAAG84B,QAAQl6B,WAKbgrB,GAAWhgB,GAAU/K,YAAYmB,EAAG84B,QAAS94B,EAAGs4B,aAG5C1O,IACH5pB,EAAGs4B,YAAct4B,EAAG84B,SAEhBv5D,EAAQ4yD,SAAW5yD,EAAQuxC,UAC9B9Q,EAAGq5B,eAAiB,CACnB97C,EAAG/O,EAAE+O,EACL+U,EAAG9jB,EAAE8jB,GAGN0N,EAAG7X,QAAO,GACV6X,EAAG0K,UAIEkf,KAOLyR,GAAgBhH,GAEhBiH,GAAejD,GACnBiD,GAAajH,YAAcgH,GAE3B,IAAIE,GAAmB3xB,GAAUtL,eA4BjC,SAASk9B,KACR,OAAO5xB,GAAUrK,MAAM55B,OAAOyiB,OAAO,MAAO,GAAGnX,MAAMzR,KAAK+N,WAAY,CACrEoyB,OAAQ,SAASt0B,EAAKU,EAAQoxB,EAAQ59B,GACrC,GAAY,UAAR8L,GAA2B,UAARA,EAAiB,CACvC,IACIyL,EAAG/V,EAAMm4B,EADTuiC,EAAOt+B,EAAO9xB,GAAKrL,OAOvB,IAJK+L,EAAOV,KACXU,EAAOV,GAAO,IAGVyL,EAAI,EAAGA,EAAI2kD,IAAQ3kD,EACvBoiB,EAAQiE,EAAO9xB,GAAKyL,GACpB/V,EAAOw6D,GAAiBriC,EAAMn4B,KAAc,UAARsK,EAAkB,WAAa,UAE/DyL,GAAK/K,EAAOV,GAAKrL,QACpB+L,EAAOV,GAAK9C,KAAK,KAGbwD,EAAOV,GAAKyL,GAAG/V,MAASm4B,EAAMn4B,MAAQm4B,EAAMn4B,OAASgL,EAAOV,GAAKyL,GAAG/V,KAGxE6oC,GAAUrK,MAAMxzB,EAAOV,GAAKyL,GAAI,CAACy6C,GAAkBM,iBAAiB9wD,GAAOm4B,IAG3E0Q,GAAUrK,MAAMxzB,EAAOV,GAAKyL,GAAIoiB,QAIlC0Q,GAAUxK,QAAQ/zB,EAAKU,EAAQoxB,EAAQ59B,MAW3C,SAASm8D,KACR,OAAO9xB,GAAUrK,MAAM55B,OAAOyiB,OAAO,MAAO,GAAGnX,MAAMzR,KAAK+N,WAAY,CACrEoyB,OAAQ,SAASt0B,EAAKU,EAAQoxB,EAAQ59B,GACrC,IAAI8/B,EAAOtzB,EAAOV,IAAQ1F,OAAOyiB,OAAO,MACpCkX,EAAOnC,EAAO9xB,GAEN,WAARA,EAEHU,EAAOV,GAAOmwD,GAAiBn8B,EAAMC,GACnB,UAARj0B,EAEVU,EAAOV,GAAOu+B,GAAUrK,MAAMF,EAAM,CAACkyB,GAAkBM,iBAAiBvyB,EAAKv+B,MAAOu+B,IAEpFsK,GAAUxK,QAAQ/zB,EAAKU,EAAQoxB,EAAQ59B,MAM3C,SAASo8D,GAAWxZ,GACnBA,EAASA,GAAUx8C,OAAOyiB,OAAO,MAIjC,IAAIrmB,EAAOogD,EAAOpgD,KAAOogD,EAAOpgD,MAAQ,GASxC,OARAA,EAAK4sC,SAAW5sC,EAAK4sC,UAAY,GACjC5sC,EAAKsvB,OAAStvB,EAAKsvB,QAAU,GAE7B8wB,EAAO5iD,QAAUm8D,GAChB90B,EAAcpW,OACdoW,EAAcub,EAAOphD,MACrBohD,EAAO5iD,SAAW,IAEZ4iD,EAGR,SAASyZ,GAAar4B,GACrB,IAAIs4B,EAAat4B,EAAMhkC,QAEvBqqC,GAAUlL,KAAK6E,EAAM4K,QAAQ,SAASjV,GACrC8wB,GAAaG,UAAU5mB,EAAOrK,MAG/B2iC,EAAaH,GACZ90B,EAAcpW,OACdoW,EAAcrD,EAAM4e,OAAOphD,MAC3B86D,GAEDt4B,EAAMhkC,QAAUgkC,EAAM4e,OAAO5iD,QAAUs8D,EACvCt4B,EAAMu4B,sBACNv4B,EAAMw4B,sBAGNx4B,EAAMmzB,QAAQnZ,SAAWse,EAAWlf,SACpCpZ,EAAMmzB,QAAQnsB,aAGf,SAASyxB,GAAqBC,EAAUC,EAAQ97D,GAC/C,IAAIqJ,EACA0yD,EAAQ,SAASviC,GACpB,OAAOA,EAAInwB,KAAOA,GAGnB,GACCA,EAAKyyD,EAAS97D,UACNwpC,GAAU0C,UAAU2vB,EAAUE,IAAU,GAEjD,OAAO1yD,EAGR,SAAS2yD,GAAqB1f,GAC7B,MAAoB,QAAbA,GAAmC,WAAbA,EAG9B,SAAS2f,GAAcC,EAAIC,GAC1B,OAAO,SAAS5oC,EAAGf,GAClB,OAAOe,EAAE2oC,KAAQ1pC,EAAE0pC,GAChB3oC,EAAE4oC,GAAM3pC,EAAE2pC,GACV5oC,EAAE2oC,GAAM1pC,EAAE0pC,IAhJf11B,EAAcP,KAAK,SAAU,CAC5BgK,SAAU,GACVz+B,OAAQ,CACP,YACA,WACA,QACA,aACA,aAED9S,MAAO,CACN09D,QAAS,KACT13D,KAAM,UACNshD,WAAW,EACXqW,kBAAmB,KAEpBhe,QAAS,KACTsQ,qBAAqB,EACrB2N,YAAY,EACZC,4BAA6B,IAkI9B,IAAIC,GAAQ,SAASz8D,EAAMgiD,GAE1B,OADA3jD,KAAKq+D,UAAU18D,EAAMgiD,GACd3jD,MAGRorC,GAAUxrC,OAAOw+D,GAAMrlC,UAA+B,CAIrDslC,UAAW,SAAS18D,EAAMgiD,GACzB,IAAIniB,EAAKxhC,KAET2jD,EAASwZ,GAAWxZ,GAEpB,IAAIva,EAAU6oB,GAAS9F,eAAexqD,EAAMgiD,GACxC33C,EAASo9B,GAAWA,EAAQp9B,OAC5Bb,EAASa,GAAUA,EAAOb,OAC1BD,EAAQc,GAAUA,EAAOd,MAE7Bs2B,EAAGv2B,GAAKmgC,GAAUzL,MAClB6B,EAAGwD,IAAMoE,EACT5H,EAAGx1B,OAASA,EACZw1B,EAAGmiB,OAASA,EACZniB,EAAGt2B,MAAQA,EACXs2B,EAAGr2B,OAASA,EACZq2B,EAAGwsB,YAAc7iD,EAASD,EAAQC,EAAS,KAC3Cq2B,EAAGzgC,QAAU4iD,EAAO5iD,QACpBygC,EAAG88B,iBAAkB,EACrB98B,EAAGkqB,QAAU,GAUblqB,EAAGuD,MAAQvD,EACXA,EAAGwe,WAAaxe,EAGhB48B,GAAMG,UAAU/8B,EAAGv2B,IAAMu2B,EAGzBr6B,OAAOysB,eAAe4N,EAAI,OAAQ,CACjCuL,IAAK,WACJ,OAAOvL,EAAGmiB,OAAOpgD,MAElBypC,IAAK,SAASzrC,GACbigC,EAAGmiB,OAAOpgD,KAAOhC,KAId6nC,GAAYp9B,GASjBw1B,EAAGuK,aACHvK,EAAG7X,UALFzf,QAAQC,MAAM,sEAWhB4hC,WAAY,WACX,IAAIvK,EAAKxhC,KAmBT,OAhBAkyD,GAAaM,OAAOhxB,EAAI,cAExB4J,GAAUozB,YAAYh9B,EAAIA,EAAGzgC,QAAQ09D,kBAErCj9B,EAAGk9B,aAECl9B,EAAGzgC,QAAQm9D,YAEd18B,EAAGm9B,QAAO,GAGXn9B,EAAGo9B,cAGH1M,GAAaM,OAAOhxB,EAAI,aAEjBA,GAGRsD,MAAO,WAEN,OADAsG,GAAUp/B,OAAO84B,MAAM9kC,MAChBA,MAGRqK,KAAM,WAGL,OADAgjC,GAAgBQ,gBAAgB7tC,MACzBA,MAGR2+D,OAAQ,SAASE,GAChB,IAAIr9B,EAAKxhC,KACLe,EAAUygC,EAAGzgC,QACbiL,EAASw1B,EAAGx1B,OACZgiD,EAAejtD,EAAQwvD,qBAAuB/uB,EAAGwsB,aAAgB,KAMjE3D,EAAW1yC,KAAKlH,IAAI,EAAGkH,KAAKge,MAAMyV,GAAU0zB,gBAAgB9yD,KAC5Ds+C,EAAY3yC,KAAKlH,IAAI,EAAGkH,KAAKge,MAAMq4B,EAAc3D,EAAW2D,EAAc5iB,GAAU2zB,iBAAiB/yD,KAEzG,IAAIw1B,EAAGt2B,QAAUm/C,GAAY7oB,EAAGr2B,SAAWm/C,KAI3Ct+C,EAAOd,MAAQs2B,EAAGt2B,MAAQm/C,EAC1Br+C,EAAOb,OAASq2B,EAAGr2B,OAASm/C,EAC5Bt+C,EAAOnG,MAAMqF,MAAQm/C,EAAW,KAChCr+C,EAAOnG,MAAMsF,OAASm/C,EAAY,KAElClf,GAAUozB,YAAYh9B,EAAIzgC,EAAQ09D,mBAE7BI,GAAQ,CAEZ,IAAIG,EAAU,CAAC9zD,MAAOm/C,EAAUl/C,OAAQm/C,GACxC4H,GAAaM,OAAOhxB,EAAI,SAAU,CAACw9B,IAG/Bj+D,EAAQk+D,UACXl+D,EAAQk+D,SAASz9B,EAAIw9B,GAGtBx9B,EAAGn3B,OACHm3B,EAAG7X,OAAO,CACTujB,SAAUnsC,EAAQo9D,gCAKrBb,oBAAqB,WACpB,IAAIv8D,EAAUf,KAAKe,QACfm+D,EAAgBn+D,EAAQ4uC,QAAU,GAClCwvB,EAAep+D,EAAQ25B,MAE3B0Q,GAAUlL,KAAKg/B,EAAclvB,OAAO,SAASovB,EAAcx9D,GACrDw9D,EAAan0D,KACjBm0D,EAAan0D,GAAKuyD,GAAqB0B,EAAclvB,MAAO,UAAWpuC,OAIzEwpC,GAAUlL,KAAKg/B,EAAchvB,OAAO,SAASmvB,EAAcz9D,GACrDy9D,EAAap0D,KACjBo0D,EAAap0D,GAAKuyD,GAAqB0B,EAAchvB,MAAO,UAAWtuC,OAIrEu9D,IACHA,EAAal0D,GAAKk0D,EAAal0D,IAAM,UAOvCsyD,oBAAqB,WACpB,IAAI/7B,EAAKxhC,KACLe,EAAUygC,EAAGzgC,QACb4uC,EAASnO,EAAGmO,QAAU,GACtB6Y,EAAQ,GACR8W,EAAUn4D,OAAOiL,KAAKu9B,GAAQr9B,QAAO,SAAS8oB,EAAKnwB,GAEtD,OADAmwB,EAAInwB,IAAM,EACHmwB,IACL,IAECr6B,EAAQ4uC,SACX6Y,EAAQA,EAAM7kD,QACZ5C,EAAQ4uC,OAAOK,OAAS,IAAI7/B,KAAI,SAASivD,GACzC,MAAO,CAACr+D,QAASq+D,EAAcG,MAAO,WAAYC,UAAW,cAE7Dz+D,EAAQ4uC,OAAOO,OAAS,IAAI//B,KAAI,SAASkvD,GACzC,MAAO,CAACt+D,QAASs+D,EAAcE,MAAO,SAAUC,UAAW,aAK1Dz+D,EAAQ25B,OACX8tB,EAAMz+C,KAAK,CACVhJ,QAASA,EAAQ25B,MACjB6kC,MAAO,eACPE,WAAW,EACXD,UAAW,cAIbp0B,GAAUlL,KAAKsoB,GAAO,SAAS7mD,GAC9B,IAAIw9D,EAAex9D,EAAKZ,QACpBkK,EAAKk0D,EAAal0D,GAClBy0D,EAAY3C,GAAiBoC,EAAa58D,KAAMZ,EAAK49D,OAErD3B,GAAqBuB,EAAajhB,YAAc0f,GAAqBj8D,EAAK69D,aAC7EL,EAAajhB,SAAWv8C,EAAK69D,WAG9BF,EAAQr0D,IAAM,EACd,IAAIyvB,EAAQ,KACZ,GAAIzvB,KAAM0kC,GAAUA,EAAO1kC,GAAI1I,OAASm9D,EACvChlC,EAAQiV,EAAO1kC,GACfyvB,EAAM35B,QAAUo+D,EAChBzkC,EAAMsK,IAAMxD,EAAGwD,IACftK,EAAMqK,MAAQvD,MACR,CACN,IAAIm+B,EAAa5M,GAAkBK,oBAAoBsM,GACvD,IAAKC,EACJ,OAEDjlC,EAAQ,IAAIilC,EAAW,CACtB10D,GAAIA,EACJ1I,KAAMm9D,EACN3+D,QAASo+D,EACTn6B,IAAKxD,EAAGwD,IACRD,MAAOvD,IAERmO,EAAOjV,EAAMzvB,IAAMyvB,EAGpBA,EAAMklC,oBAKFj+D,EAAK89D,YACRj+B,EAAG9G,MAAQA,MAIb0Q,GAAUlL,KAAKo/B,GAAS,SAASO,EAAY50D,GACvC40D,UACGlwB,EAAO1kC,MAIhBu2B,EAAGmO,OAASA,EAEZojB,GAAkBS,kBAAkBxzD,OAGrC8/D,yBAA0B,WACzB,IAGIxnD,EAAGkoB,EAHHgB,EAAKxhC,KACL+/D,EAAiB,GACjB5vB,EAAW3O,EAAGj+B,KAAK4sC,SAGvB,IAAK73B,EAAI,EAAGkoB,EAAO2P,EAAS3uC,OAAQ8W,EAAIkoB,EAAMloB,IAAK,CAClD,IAAIs3B,EAAUO,EAAS73B,GACnBo3B,EAAOlO,EAAG4O,eAAe93B,GACzB/V,EAAOqtC,EAAQrtC,MAAQi/B,EAAGmiB,OAAOphD,KAUrC,GARImtC,EAAKntC,MAAQmtC,EAAKntC,OAASA,IAC9Bi/B,EAAGw+B,mBAAmB1nD,GACtBo3B,EAAOlO,EAAG4O,eAAe93B,IAE1Bo3B,EAAKntC,KAAOA,EACZmtC,EAAKuwB,MAAQrwB,EAAQqwB,OAAS,EAC9BvwB,EAAK9tC,MAAQ0W,EAETo3B,EAAKsQ,WACRtQ,EAAKsQ,WAAWvQ,YAAYn3B,GAC5Bo3B,EAAKsQ,WAAW1Q,iBACV,CACN,IAAI4wB,EAAkBlZ,GAAYtX,EAAKntC,MACvC,QAAwByC,IAApBk7D,EACH,MAAM,IAAIj0D,MAAM,IAAMyjC,EAAKntC,KAAO,0BAGnCmtC,EAAKsQ,WAAa,IAAIkgB,EAAgB1+B,EAAIlpB,GAC1CynD,EAAeh2D,KAAK2lC,EAAKsQ,aAI3B,OAAO+f,GAORI,cAAe,WACd,IAAI3+B,EAAKxhC,KACTorC,GAAUlL,KAAKsB,EAAGj+B,KAAK4sC,UAAU,SAASP,EAASX,GAClDzN,EAAG4O,eAAenB,GAAc+Q,WAAWrP,UACzCnP,IAMJmP,MAAO,WACN3wC,KAAKmgE,gBACLngE,KAAKk4D,QAAQnsB,cAGdpiB,OAAQ,SAASg6B,GAChB,IACIrrC,EAAGkoB,EADHgB,EAAKxhC,KAiBT,GAdK2jD,GAA4B,kBAAXA,IAErBA,EAAS,CACRzW,SAAUyW,EACVlW,KAAM1+B,UAAU,KAIlBquD,GAAa57B,GAIb0wB,GAAaY,YAAYtxB,IAEuB,IAA5C0wB,GAAaM,OAAOhxB,EAAI,gBAA5B,CAKAA,EAAG02B,QAAQrnB,MAAQrP,EAAGj+B,KAGtB,IAAIw8D,EAAiBv+B,EAAGs+B,2BAGxB,IAAKxnD,EAAI,EAAGkoB,EAAOgB,EAAGj+B,KAAK4sC,SAAS3uC,OAAQ8W,EAAIkoB,EAAMloB,IACrDkpB,EAAG4O,eAAe93B,GAAG0nC,WAAW1O,wBAGjC9P,EAAG4+B,eAGC5+B,EAAGzgC,QAAQksC,WAAazL,EAAGzgC,QAAQksC,UAAUC,UAChD9B,GAAUlL,KAAK6/B,GAAgB,SAAS/f,GACvCA,EAAWrP,WAIbnP,EAAG6+B,iBAIH7+B,EAAG02B,QAAQnsB,aAIXvK,EAAG8+B,WAAa,GAGhBpO,GAAaM,OAAOhxB,EAAI,eAExBA,EAAGkqB,QAAQz1C,KAAK4nD,GAAc,IAAK,SAE/Br8B,EAAG88B,gBACN98B,EAAG++B,iBAAmB,CACrBrzB,SAAUyW,EAAOzW,SACjB7B,OAAQsY,EAAOtY,OACfoC,KAAMkW,EAAOlW,MAGdjM,EAAGt7B,OAAOy9C,KASZyc,aAAc,WACb,IAAI5+B,EAAKxhC,MAEuC,IAA5CkyD,GAAaM,OAAOhxB,EAAI,kBAI5BgqB,GAAa7hC,OAAO3pB,KAAMA,KAAKkL,MAAOlL,KAAKmL,QAE3Cq2B,EAAGkqB,QAAU,GACbtgB,GAAUlL,KAAKsB,EAAG2nB,OAAO,SAASC,GAG7BA,EAAI3X,YACP2X,EAAI3X,aAELjQ,EAAGkqB,QAAQ3hD,KAAK0mB,MAAM+Q,EAAGkqB,QAAStC,EAAIsC,aACpClqB,GAEHA,EAAGkqB,QAAQxyB,SAAQ,SAASv3B,EAAMC,GACjCD,EAAK6+D,KAAO5+D,KAUbswD,GAAaM,OAAOhxB,EAAI,oBACxB0wB,GAAaM,OAAOhxB,EAAI,iBAQzB6+B,eAAgB,WACf,IAAI7+B,EAAKxhC,KAET,IAAwD,IAApDkyD,GAAaM,OAAOhxB,EAAI,wBAA5B,CAIA,IAAK,IAAIlpB,EAAI,EAAGkoB,EAAOgB,EAAGj+B,KAAK4sC,SAAS3uC,OAAQ8W,EAAIkoB,IAAQloB,EAC3DkpB,EAAGi/B,cAAcnoD,GAGlB45C,GAAaM,OAAOhxB,EAAI,yBAQzBi/B,cAAe,SAAS7+D,GACvB,IAAI4/B,EAAKxhC,KACL0vC,EAAOlO,EAAG4O,eAAexuC,GACzB+0B,EAAO,CACV+Y,KAAMA,EACN9tC,MAAOA,IAGuD,IAA3DswD,GAAaM,OAAOhxB,EAAI,sBAAuB,CAAC7K,MAIpD+Y,EAAKsQ,WAAWpP,UAEhBshB,GAAaM,OAAOhxB,EAAI,qBAAsB,CAAC7K,MAGhDzwB,OAAQ,SAASy9C,GAChB,IAAIniB,EAAKxhC,KAEJ2jD,GAA4B,kBAAXA,IAErBA,EAAS,CACRzW,SAAUyW,EACVlW,KAAM1+B,UAAU,KAIlB,IAAI2xD,EAAmBl/B,EAAGzgC,QAAQksC,UAC9BC,EAAW6vB,GAAiBpZ,EAAOzW,SAAUwzB,GAAoBA,EAAiBxzB,UAClFO,EAAOkW,EAAOlW,KAElB,IAAgD,IAA5CykB,GAAaM,OAAOhxB,EAAI,gBAA5B,CAIA,IAAI4L,EAAa,SAASH,GACzBilB,GAAaM,OAAOhxB,EAAI,eACxB4J,GAAUtpB,SAAS4+C,GAAoBA,EAAiBtzB,WAAY,CAACH,GAAYzL,IAGlF,GAAIk/B,GAAoBxzB,EAAU,CACjC,IAAID,EAAY,IAAIH,GAAe,CAClCH,SAAUO,EAAW,MACrB7B,OAAQsY,EAAOtY,QAAUq1B,EAAiBr1B,OAE1CnlC,OAAQ,SAAS6+B,EAAO47B,GACvB,IAAIC,EAAiBx1B,GAAUC,OAAOhJ,QAAQs+B,EAAgBt1B,QAC1DvlB,EAAc66C,EAAgB76C,YAC9B+6C,EAAc/6C,EAAc66C,EAAgBh0B,SAEhD5H,EAAM+M,KAAK8uB,EAAeC,GAAcA,EAAa/6C,IAGtD8mB,oBAAqB8zB,EAAiBvzB,WACtCN,oBAAqBO,IAGtBC,GAAgBG,aAAahM,EAAIyL,EAAWC,EAAUO,QAEtDjM,EAAGsQ,OAGH1E,EAAW,IAAIN,GAAe,CAACH,SAAU,EAAG5H,MAAOvD,KAGpD,OAAOA,IAGRsQ,KAAM,SAASF,GACd,IACIt5B,EAAGwoD,EADHt/B,EAAKxhC,KAWT,GARAwhC,EAAGsD,QAECsG,GAAUxL,cAAcgS,KAC3BA,EAAc,GAGfpQ,EAAGp7B,WAAWwrC,KAEVpQ,EAAGt2B,OAAS,GAAKs2B,EAAGr2B,QAAU,KAI2B,IAAzD+mD,GAAaM,OAAOhxB,EAAI,aAAc,CAACoQ,IAA3C,CAQA,IADAkvB,EAASt/B,EAAGkqB,QACPpzC,EAAI,EAAGA,EAAIwoD,EAAOt/D,QAAUs/D,EAAOxoD,GAAG4c,GAAK,IAAK5c,EACpDwoD,EAAOxoD,GAAGw5B,KAAKtQ,EAAG6W,WAMnB,IAHA7W,EAAGu/B,aAAanvB,GAGTt5B,EAAIwoD,EAAOt/D,SAAU8W,EAC3BwoD,EAAOxoD,GAAGw5B,KAAKtQ,EAAG6W,WAGnB7W,EAAGw/B,aAAapvB,GAEhBsgB,GAAaM,OAAOhxB,EAAI,YAAa,CAACoQ,MAMvCxrC,WAAY,SAASwrC,GAGpB,IAFA,IAAIpQ,EAAKxhC,KAEAsY,EAAI,EAAGkoB,GAAQgB,EAAGj+B,KAAK4sC,UAAY,IAAI3uC,OAAQ8W,EAAIkoB,IAAQloB,EAC/DkpB,EAAGkf,iBAAiBpoC,IACvBkpB,EAAG4O,eAAe93B,GAAG0nC,WAAW55C,WAAWwrC,GAI7CpQ,EAAG02B,QAAQ9xD,WAAWwrC,IAMvBqvB,uBAAwB,SAASC,GAChC,IAGI5oD,EAAGkoB,EAHHgB,EAAKxhC,KACLmwC,EAAW3O,EAAGj+B,KAAK4sC,UAAY,GAC/BlX,EAAS,GAGb,IAAK3gB,EAAI,EAAGkoB,EAAO2P,EAAS3uC,OAAQ8W,EAAIkoB,IAAQloB,EAC1C4oD,IAAiB1/B,EAAGkf,iBAAiBpoC,IACzC2gB,EAAOlvB,KAAKy3B,EAAG4O,eAAe93B,IAMhC,OAFA2gB,EAAOhjB,KAAK4nD,GAAc,QAAS,UAE5B5kC,GAMR0rB,8BAA+B,WAC9B,OAAO3kD,KAAKihE,wBAAuB,IAQpCF,aAAc,SAASnvB,GACtB,IACIoL,EAAU1kC,EADVkpB,EAAKxhC,KAGT,IAAqE,IAAjEkyD,GAAaM,OAAOhxB,EAAI,qBAAsB,CAACoQ,IAAnD,CAKA,IADAoL,EAAWxb,EAAGmjB,gCACTrsC,EAAI0kC,EAASx7C,OAAS,EAAG8W,GAAK,IAAKA,EACvCkpB,EAAG2/B,YAAYnkB,EAAS1kC,GAAIs5B,GAG7BsgB,GAAaM,OAAOhxB,EAAI,oBAAqB,CAACoQ,MAQ/CuvB,YAAa,SAASzxB,EAAMkC,GAC3B,IAAIpQ,EAAKxhC,KACL22B,EAAO,CACV+Y,KAAMA,EACN9tC,MAAO8tC,EAAK9tC,MACZgwC,YAAaA,IAG+C,IAAzDsgB,GAAaM,OAAOhxB,EAAI,oBAAqB,CAAC7K,MAIlD+Y,EAAKsQ,WAAWlO,KAAKF,GAErBsgB,GAAaM,OAAOhxB,EAAI,mBAAoB,CAAC7K,MAQ9CqqC,aAAc,SAASpvB,GACtB,IAAIpQ,EAAKxhC,KACLk4D,EAAU12B,EAAG02B,QACbvhC,EAAO,CACVuhC,QAASA,EACTtmB,YAAaA,IAG+C,IAAzDsgB,GAAaM,OAAOhxB,EAAI,oBAAqB,CAAC7K,MAIlDuhC,EAAQpmB,OAERogB,GAAaM,OAAOhxB,EAAI,mBAAoB,CAAC7K,MAO9CyqC,kBAAmB,SAASpxD,GAC3B,OAAOy4C,GAAiBC,MAAMC,OAAO3oD,KAAMgQ,IAG5CqxD,mBAAoB,SAASrxD,GAC5B,OAAOy4C,GAAiBC,MAAMvM,MAAMn8C,KAAMgQ,EAAG,CAAC43C,WAAW,KAG1D0Z,mBAAoB,SAAStxD,GAC5B,OAAOy4C,GAAiBC,MAAM,UAAU1oD,KAAMgQ,EAAG,CAAC43C,WAAW,KAG9DgV,0BAA2B,SAAS5sD,EAAG1J,EAAMvF,GAC5C,IAAI2tC,EAAS+Z,GAAiBC,MAAMpiD,GACpC,MAAsB,oBAAXooC,EACHA,EAAO1uC,KAAMgQ,EAAGjP,GAGjB,IAGRwgE,kBAAmB,SAASvxD,GAC3B,OAAOy4C,GAAiBC,MAAM9Y,QAAQ5vC,KAAMgQ,EAAG,CAAC43C,WAAW,KAG5DxX,eAAgB,SAASnB,GACxB,IAAIzN,EAAKxhC,KACL4vC,EAAUpO,EAAGj+B,KAAK4sC,SAASlB,GAC1BW,EAAQ4xB,QACZ5xB,EAAQ4xB,MAAQ,IAGjB,IAAI9xB,EAAOE,EAAQ4xB,MAAMhgC,EAAGv2B,IAe5B,OAdKykC,IACJA,EAAOE,EAAQ4xB,MAAMhgC,EAAGv2B,IAAM,CAC7B1I,KAAM,KACNgB,KAAM,GACNqsC,QAAS,KACToQ,WAAY,KACZ/T,OAAQ,KACR8D,QAAS,KACTE,QAAS,KACTgwB,MAAOrwB,EAAQqwB,OAAS,EACxBr+D,MAAOqtC,IAIFS,GAGRwW,uBAAwB,WAEvB,IADA,IAAIzS,EAAQ,EACHn7B,EAAI,EAAGkoB,EAAOxgC,KAAKuD,KAAK4sC,SAAS3uC,OAAQ8W,EAAIkoB,IAAQloB,EACzDtY,KAAK0gD,iBAAiBpoC,IACzBm7B,IAGF,OAAOA,GAGRiN,iBAAkB,SAASzR,GAC1B,IAAIS,EAAO1vC,KAAKowC,eAAenB,GAI/B,MAA8B,mBAAhBS,EAAKzD,QAAwByD,EAAKzD,QAAUjsC,KAAKuD,KAAK4sC,SAASlB,GAAchD,QAG5FrgC,eAAgB,WACf,OAAO5L,KAAKe,QAAQu+C,eAAet/C,OAMpCggE,mBAAoB,SAAS/wB,GAC5B,IAAIhkC,EAAKjL,KAAKiL,GACV2kC,EAAU5vC,KAAKuD,KAAK4sC,SAASlB,GAC7BS,EAAOE,EAAQ4xB,OAAS5xB,EAAQ4xB,MAAMv2D,GAEtCykC,IACHA,EAAKsQ,WAAWl0C,iBACT8jC,EAAQ4xB,MAAMv2D,KAIvBa,QAAS,WACR,IAEIwM,EAAGkoB,EAFHgB,EAAKxhC,KACLgM,EAASw1B,EAAGx1B,OAMhB,IAHAw1B,EAAGn3B,OAGEiO,EAAI,EAAGkoB,EAAOgB,EAAGj+B,KAAK4sC,SAAS3uC,OAAQ8W,EAAIkoB,IAAQloB,EACvDkpB,EAAGw+B,mBAAmB1nD,GAGnBtM,IACHw1B,EAAGigC,eACHr2B,GAAUp/B,OAAO84B,MAAMtD,GACvBywB,GAASN,eAAenwB,EAAGwD,KAC3BxD,EAAGx1B,OAAS,KACZw1B,EAAGwD,IAAM,MAGVktB,GAAaM,OAAOhxB,EAAI,kBAEjB48B,GAAMG,UAAU/8B,EAAGv2B,KAG3By2D,cAAe,WACd,OAAO1hE,KAAKgM,OAAO21D,UAAUlxC,MAAMzwB,KAAKgM,OAAQ+C,YAGjD6vD,YAAa,WACZ,IAAIp9B,EAAKxhC,KACTwhC,EAAG02B,QAAU,IAAI4E,GAAa,CAC7BvxD,OAAQi2B,EACRogC,eAAgBpgC,EAChBqP,MAAOrP,EAAGj+B,KACVw7C,SAAUvd,EAAGzgC,QAAQo9C,UACnB3c,IAMJk9B,WAAY,WACX,IAAIl9B,EAAKxhC,KACLuuC,EAAY/M,EAAGqgC,WAAa,GAC5BxzB,EAAW,WACd7M,EAAGsgC,aAAarxC,MAAM+Q,EAAIzyB,YAG3Bq8B,GAAUlL,KAAKsB,EAAGzgC,QAAQqS,QAAQ,SAAS7Q,GAC1C0vD,GAAS7D,iBAAiB5sB,EAAIj/B,EAAM8rC,GACpCE,EAAUhsC,GAAQ8rC,KAKf7M,EAAGzgC,QAAQm9D,aACd7vB,EAAW,WACV7M,EAAGm9B,UAGJ1M,GAAS7D,iBAAiB5sB,EAAI,SAAU6M,GACxCE,EAAUowB,OAAStwB,IAOrBozB,aAAc,WACb,IAAIjgC,EAAKxhC,KACLuuC,EAAY/M,EAAGqgC,WACdtzB,WAIE/M,EAAGqgC,WACVz2B,GAAUlL,KAAKqO,GAAW,SAASF,EAAU9rC,GAC5C0vD,GAASxD,oBAAoBjtB,EAAIj/B,EAAM8rC,QAIzC0zB,iBAAkB,SAASlwB,EAAUvrC,EAAMqtD,GAC1C,IACIviB,EAAS94B,EAAGkoB,EADZk9B,EAAS/J,EAAU,MAAQ,SAG/B,IAAKr7C,EAAI,EAAGkoB,EAAOqR,EAASrwC,OAAQ8W,EAAIkoB,IAAQloB,EAC/C84B,EAAUS,EAASv5B,GACf84B,GACHpxC,KAAKowC,eAAegB,EAAQL,eAAeiP,WAAW0d,EAAS,cAActsB,GAIlE,YAAT9qC,GACHtG,KAAKowC,eAAeyB,EAAS,GAAGd,eAAeiP,WAAW,IAAM0d,EAAS,wBAO3EoE,aAAc,SAAS9xD,GACtB,IAAIwxB,EAAKxhC,KACLk4D,EAAU12B,EAAG02B,QAEjB,IAAoD,IAAhDhG,GAAaM,OAAOhxB,EAAI,cAAe,CAACxxB,IAA5C,CAKAwxB,EAAG88B,iBAAkB,EACrB98B,EAAG++B,iBAAmB,KAEtB,IAAInV,EAAU5pB,EAAGm7B,YAAY3sD,GAKzBkoD,IACH9M,EAAU8M,EAAQ7rB,OACf6rB,EAAQyE,YAAY3sD,GACpBo7C,EAAU8M,EAAQyE,YAAY3sD,IAGlCkiD,GAAaM,OAAOhxB,EAAI,aAAc,CAACxxB,IAEvC,IAAIgyD,EAAkBxgC,EAAG++B,iBAmBzB,OAlBIyB,EAEHxgC,EAAGt7B,OAAO87D,GACA5W,IAAY5pB,EAAGmM,YAEzBnM,EAAGn3B,OAIHm3B,EAAGt7B,OAAO,CACTgnC,SAAU1L,EAAGzgC,QAAQT,MAAM29D,kBAC3BxwB,MAAM,KAIRjM,EAAG88B,iBAAkB,EACrB98B,EAAG++B,iBAAmB,KAEf/+B,IASRm7B,YAAa,SAAS3sD,GACrB,IAAIwxB,EAAKxhC,KACLe,EAAUygC,EAAGzgC,SAAW,GACxBsyC,EAAetyC,EAAQT,MACvB8qD,GAAU,EAqCd,OAnCA5pB,EAAG8+B,WAAa9+B,EAAG8+B,YAAc,GAGlB,aAAXtwD,EAAEzN,KACLi/B,EAAGxmB,OAAS,GAEZwmB,EAAGxmB,OAASwmB,EAAGo7B,0BAA0B5sD,EAAGqjC,EAAa/sC,KAAM+sC,GAKhEjI,GAAUtpB,SAAS/gB,EAAQi9D,SAAWj9D,EAAQT,MAAM09D,QAAS,CAAChuD,EAAEs3C,OAAQ9lB,EAAGxmB,QAASwmB,GAErE,YAAXxxB,EAAEzN,MAAiC,UAAXyN,EAAEzN,MACzBxB,EAAQk/C,SAEXl/C,EAAQk/C,QAAQj/C,KAAKwgC,EAAIxxB,EAAEs3C,OAAQ9lB,EAAGxmB,QAKpCwmB,EAAG8+B,WAAW9+D,QACjBggC,EAAGugC,iBAAiBvgC,EAAG8+B,WAAYjtB,EAAa/sC,MAAM,GAInDk7B,EAAGxmB,OAAOxZ,QAAU6xC,EAAa/sC,MACpCk7B,EAAGugC,iBAAiBvgC,EAAGxmB,OAAQq4B,EAAa/sC,MAAM,GAGnD8kD,GAAWhgB,GAAU/K,YAAYmB,EAAGxmB,OAAQwmB,EAAG8+B,YAG/C9+B,EAAG8+B,WAAa9+B,EAAGxmB,OAEZowC,KASTgT,GAAMG,UAAY,GAElB,IAAI0D,GAAkB7D,GAWtBA,GAAM8D,WAAa9D,GASnBA,GAAM+D,MAAQ,GASd/2B,GAAUg3B,YAAclF,GASxB9xB,GAAUi3B,WAAarF,GAEvB,IAAIsF,GAAe,WAoYlB,SAASC,EAAcC,EAAYlqC,EAAMmqC,GACxC,IAAIC,EAYJ,MAX0B,kBAAfF,GACVE,EAAgBp6D,SAASk6D,EAAY,KAEJ,IAA7BA,EAAWnsD,QAAQ,OAEtBqsD,EAAgBA,EAAgB,IAAMpqC,EAAKk4B,WAAWiS,KAGvDC,EAAgBF,EAGVE,EAOR,SAASC,EAAmBphE,GAC3B,YAAiByD,IAAVzD,GAAiC,OAAVA,GAA4B,SAAVA,EAUjD,SAASqhE,EAAuBC,EAASC,EAAUC,GAClD,IAAIv3B,EAAOza,SAASiyC,YAChBxS,EAAaplB,GAAU63B,eAAeJ,GACtCK,EAAkB13B,EAAK23B,iBAAiBN,GAASC,GACjDM,EAAuB53B,EAAK23B,iBAAiB3S,GAAYsS,GACzDO,EAAWV,EAAmBO,GAC9BI,EAAgBX,EAAmBS,GACnCG,EAAWl4D,OAAO08C,kBAEtB,OAAIsb,GAAYC,EACR3rD,KAAKnH,IACX6yD,EAAWd,EAAcW,EAAiBL,EAASE,GAAsBQ,EACzED,EAAgBf,EAAca,EAAsB5S,EAAYuS,GAAsBQ,GAGjF,OA9aRn4B,GAAU2d,MAAQ,SAASya,EAAYC,GACtC,GAAIr4B,GAAU9pC,QAAQkiE,IAAeniE,MAAM03B,UAAU9jB,OACpD,OAAOuuD,EAAWvuD,OAAOwuD,GAE1B,IAAIC,EAAW,GAQf,OANAt4B,GAAUlL,KAAKsjC,GAAY,SAAS7hE,GAC/B8hE,EAAe9hE,IAClB+hE,EAAS35D,KAAKpI,MAIT+hE,GAERt4B,GAAU0C,UAAYzsC,MAAM03B,UAAU+U,UACrC,SAASntB,EAAOmB,EAAU+f,GACzB,OAAOlhB,EAAMmtB,UAAUhsB,EAAU+f,IAElC,SAASlhB,EAAOmB,EAAU+f,GACzBA,OAAkB78B,IAAV68B,EAAsBlhB,EAAQkhB,EACtC,IAAK,IAAIvpB,EAAI,EAAGkoB,EAAO7f,EAAMnf,OAAQ8W,EAAIkoB,IAAQloB,EAChD,GAAIwJ,EAAS9gB,KAAK6gC,EAAOlhB,EAAMrI,GAAIA,EAAGqI,GACrC,OAAOrI,EAGT,OAAQ,GAEV8yB,GAAUu4B,cAAgB,SAASC,EAAeH,EAAgBI,GAE7Dz4B,GAAUxL,cAAcikC,KAC3BA,GAAc,GAEf,IAAK,IAAIvrD,EAAIurD,EAAa,EAAGvrD,EAAIsrD,EAAcpiE,OAAQ8W,IAAK,CAC3D,IAAIwrD,EAAcF,EAActrD,GAChC,GAAImrD,EAAeK,GAClB,OAAOA,IAIV14B,GAAU24B,kBAAoB,SAASH,EAAeH,EAAgBI,GAEjEz4B,GAAUxL,cAAcikC,KAC3BA,EAAaD,EAAcpiE,QAE5B,IAAK,IAAI8W,EAAIurD,EAAa,EAAGvrD,GAAK,EAAGA,IAAK,CACzC,IAAIwrD,EAAcF,EAActrD,GAChC,GAAImrD,EAAeK,GAClB,OAAOA,IAMV14B,GAAUoB,SAAW,SAASla,GAC7B,OAAQsI,MAAM1V,WAAWoN,KAAO7b,SAAS6b,IAE1C8Y,GAAU44B,aAAe,SAASjlD,EAAG+U,EAAG8S,GACvC,OAAOjvB,KAAKigC,IAAI74B,EAAI+U,GAAK8S,GAE1BwE,GAAU64B,YAAc,SAASllD,EAAG6nB,GACnC,IAAIs9B,EAAUvsD,KAAKif,MAAM7X,GACzB,OAASmlD,EAAUt9B,GAAY7nB,GAAQmlD,EAAUt9B,GAAY7nB,GAE9DqsB,GAAU36B,IAAM,SAASkQ,GACxB,OAAOA,EAAMrO,QAAO,SAAS7B,EAAKlP,GACjC,OAAKq5B,MAAMr5B,GAGJkP,EAFCkH,KAAKlH,IAAIA,EAAKlP,KAGpB8J,OAAO84D,oBAEX/4B,GAAU56B,IAAM,SAASmQ,GACxB,OAAOA,EAAMrO,QAAO,SAAS9B,EAAKjP,GACjC,OAAKq5B,MAAMr5B,GAGJiP,EAFCmH,KAAKnH,IAAIA,EAAKjP,KAGpB8J,OAAO08C,oBAEX3c,GAAU99B,KAAOqK,KAAKrK,KACrB,SAASyR,GACR,OAAOpH,KAAKrK,KAAKyR,IAElB,SAASA,GAER,OADAA,GAAKA,EACK,IAANA,GAAW6b,MAAM7b,GACbA,EAEDA,EAAI,EAAI,GAAK,GAEtBqsB,GAAUg5B,UAAY,SAASlmC,GAC9B,OAAOA,GAAWvmB,KAAK4e,GAAK,MAE7B6U,GAAUi5B,UAAY,SAASC,GAC9B,OAAOA,GAAW,IAAM3sD,KAAK4e,KAU9B6U,GAAUm5B,eAAiB,SAASxlD,GACnC,GAAKqsB,GAAU30B,SAASsI,GAAxB,CAGA,IAAI/O,EAAI,EACJqe,EAAI,EACR,MAAO1W,KAAKif,MAAM7X,EAAI/O,GAAKA,IAAM+O,EAChC/O,GAAK,GACLqe,IAED,OAAOA,IAIR+c,GAAUqK,kBAAoB,SAAS+uB,EAAaC,GACnD,IAAIC,EAAsBD,EAAW1lD,EAAIylD,EAAYzlD,EACjD4lD,EAAsBF,EAAW3wC,EAAI0wC,EAAY1wC,EACjD8wC,EAA2BjtD,KAAK6e,KAAKkuC,EAAsBA,EAAsBC,EAAsBA,GAEvGjvB,EAAQ/9B,KAAK2e,MAAMquC,EAAqBD,GAM5C,OAJIhvB,GAAU,GAAM/9B,KAAK4e,KACxBmf,GAAS,EAAM/9B,KAAK4e,IAGd,CACNmf,MAAOA,EACPzgB,SAAU2vC,IAGZx5B,GAAU6qB,sBAAwB,SAAS7N,EAAKC,GAC/C,OAAO1wC,KAAK6e,KAAK7e,KAAKoc,IAAIs0B,EAAItpC,EAAIqpC,EAAIrpC,EAAG,GAAKpH,KAAKoc,IAAIs0B,EAAIv0B,EAAIs0B,EAAIt0B,EAAG,KASvEsX,GAAUy5B,WAAa,SAASC,GAC/B,OAAQA,EAAa,IAAM,EAAK,EAAI,IAWrC15B,GAAU25B,YAAc,SAAShgC,EAAOigC,EAAO95D,GAC9C,IAAIuzD,EAAmB15B,EAAMkgC,wBACzBC,EAAYh6D,EAAQ,EACxB,OAAOyM,KAAKif,OAAOouC,EAAQE,GAAazG,GAAoBA,EAAmByG,GAGhF95B,GAAU6Z,YAAc,SAASkgB,EAAYC,EAAaC,EAAY7gE,GAMrE,IAAIs9B,EAAWqjC,EAAW9tB,KAAO+tB,EAAcD,EAC3Cv2D,EAAUw2D,EACV/7D,EAAOg8D,EAAWhuB,KAAO+tB,EAAcC,EAEvCC,EAAM3tD,KAAK6e,KAAK7e,KAAKoc,IAAInlB,EAAQmQ,EAAI+iB,EAAS/iB,EAAG,GAAKpH,KAAKoc,IAAInlB,EAAQklB,EAAIgO,EAAShO,EAAG,IACvFyxC,EAAM5tD,KAAK6e,KAAK7e,KAAKoc,IAAI1qB,EAAK0V,EAAInQ,EAAQmQ,EAAG,GAAKpH,KAAKoc,IAAI1qB,EAAKyqB,EAAIllB,EAAQklB,EAAG,IAE/E0xC,EAAMF,GAAOA,EAAMC,GACnBE,EAAMF,GAAOD,EAAMC,GAGvBC,EAAM5qC,MAAM4qC,GAAO,EAAIA,EACvBC,EAAM7qC,MAAM6qC,GAAO,EAAIA,EAEvB,IAAIC,EAAKlhE,EAAIghE,EACTG,EAAKnhE,EAAIihE,EAEb,MAAO,CACN3jC,SAAU,CACT/iB,EAAGnQ,EAAQmQ,EAAI2mD,GAAMr8D,EAAK0V,EAAI+iB,EAAS/iB,GACvC+U,EAAGllB,EAAQklB,EAAI4xC,GAAMr8D,EAAKyqB,EAAIgO,EAAShO,IAExCzqB,KAAM,CACL0V,EAAGnQ,EAAQmQ,EAAI4mD,GAAMt8D,EAAK0V,EAAI+iB,EAAS/iB,GACvC+U,EAAGllB,EAAQklB,EAAI6xC,GAAMt8D,EAAKyqB,EAAIgO,EAAShO,MAI1CsX,GAAUw6B,QAAUv6D,OAAOu6D,SAAW,MACtCx6B,GAAU4Z,oBAAsB,SAAShO,GAMxC,IAUI1+B,EAAGutD,EAAaC,EAAcC,EA4B9BC,EAAQC,EAAOC,EAAMC,EA0BrB7d,EAhEA8d,GAAsBpvB,GAAU,IAAI7mC,KAAI,SAASu2B,GACpD,MAAO,CACNtiB,MAAOsiB,EAAM0F,OACbi6B,OAAQ,EACRC,GAAI,MAKFC,EAAYH,EAAmB5kE,OAEnC,IAAK8W,EAAI,EAAGA,EAAIiuD,IAAajuD,EAE5B,GADAwtD,EAAeM,EAAmB9tD,IAC9BwtD,EAAa1hD,MAAMizB,KAAvB,CAMA,GAFAwuB,EAAcvtD,EAAI,EAAI8tD,EAAmB9tD,EAAI,GAAK,KAClDytD,EAAaztD,EAAIiuD,EAAY,EAAIH,EAAmB9tD,EAAI,GAAK,KACzDytD,IAAeA,EAAW3hD,MAAMizB,KAAM,CACzC,IAAImvB,EAAeT,EAAW3hD,MAAMrF,EAAI+mD,EAAa1hD,MAAMrF,EAG3D+mD,EAAaO,OAAyB,IAAhBG,GAAqBT,EAAW3hD,MAAM0P,EAAIgyC,EAAa1hD,MAAM0P,GAAK0yC,EAAc,GAGlGX,GAAeA,EAAYzhD,MAAMizB,KACrCyuB,EAAaQ,GAAKR,EAAaO,QACpBN,GAAcA,EAAW3hD,MAAMizB,KAC1CyuB,EAAaQ,GAAKT,EAAYQ,OACpBrmE,KAAKsN,KAAKu4D,EAAYQ,UAAYrmE,KAAKsN,KAAKw4D,EAAaO,QACnEP,EAAaQ,GAAK,EAElBR,EAAaQ,IAAMT,EAAYQ,OAASP,EAAaO,QAAU,EAMjE,IAAK/tD,EAAI,EAAGA,EAAIiuD,EAAY,IAAKjuD,EAChCwtD,EAAeM,EAAmB9tD,GAClCytD,EAAaK,EAAmB9tD,EAAI,GAChCwtD,EAAa1hD,MAAMizB,MAAQ0uB,EAAW3hD,MAAMizB,OAI5CjM,GAAU44B,aAAa8B,EAAaO,OAAQ,EAAGrmE,KAAK4lE,SACvDE,EAAaQ,GAAKP,EAAWO,GAAK,GAInCN,EAASF,EAAaQ,GAAKR,EAAaO,OACxCJ,EAAQF,EAAWO,GAAKR,EAAaO,OACrCF,EAAmBxuD,KAAKoc,IAAIiyC,EAAQ,GAAKruD,KAAKoc,IAAIkyC,EAAO,GACrDE,GAAoB,IAIxBD,EAAO,EAAIvuD,KAAK6e,KAAK2vC,GACrBL,EAAaQ,GAAKN,EAASE,EAAOJ,EAAaO,OAC/CN,EAAWO,GAAKL,EAAQC,EAAOJ,EAAaO,UAK7C,IAAK/tD,EAAI,EAAGA,EAAIiuD,IAAajuD,EAC5BwtD,EAAeM,EAAmB9tD,GAC9BwtD,EAAa1hD,MAAMizB,OAIvBwuB,EAAcvtD,EAAI,EAAI8tD,EAAmB9tD,EAAI,GAAK,KAClDytD,EAAaztD,EAAIiuD,EAAY,EAAIH,EAAmB9tD,EAAI,GAAK,KACzDutD,IAAgBA,EAAYzhD,MAAMizB,OACrCiR,GAAUwd,EAAa1hD,MAAMrF,EAAI8mD,EAAYzhD,MAAMrF,GAAK,EACxD+mD,EAAa1hD,MAAMkjB,sBAAwBw+B,EAAa1hD,MAAMrF,EAAIupC,EAClEwd,EAAa1hD,MAAMojB,sBAAwBs+B,EAAa1hD,MAAM0P,EAAIw0B,EAASwd,EAAaQ,IAErFP,IAAeA,EAAW3hD,MAAMizB,OACnCiR,GAAUyd,EAAW3hD,MAAMrF,EAAI+mD,EAAa1hD,MAAMrF,GAAK,EACvD+mD,EAAa1hD,MAAMmjB,kBAAoBu+B,EAAa1hD,MAAMrF,EAAIupC,EAC9Dwd,EAAa1hD,MAAMqjB,kBAAoBq+B,EAAa1hD,MAAM0P,EAAIw0B,EAASwd,EAAaQ,MAIvFl7B,GAAU8Z,SAAW,SAASse,EAAY5hE,EAAO6kE,GAChD,OAAIA,EACI7kE,GAAS4hE,EAAWhiE,OAAS,EAAIgiE,EAAW,GAAKA,EAAW5hE,EAAQ,GAErEA,GAAS4hE,EAAWhiE,OAAS,EAAIgiE,EAAWA,EAAWhiE,OAAS,GAAKgiE,EAAW5hE,EAAQ,IAEhGwpC,GAAUgM,aAAe,SAASosB,EAAY5hE,EAAO6kE,GACpD,OAAIA,EACI7kE,GAAS,EAAI4hE,EAAWA,EAAWhiE,OAAS,GAAKgiE,EAAW5hE,EAAQ,GAErEA,GAAS,EAAI4hE,EAAW,GAAKA,EAAW5hE,EAAQ,IAGxDwpC,GAAUs7B,QAAU,SAASpzD,EAAOsjB,GACnC,IAEI+vC,EAFAj9B,EAAW/xB,KAAKge,MAAMyV,GAAU3B,MAAMn2B,IACtCszD,EAAWtzD,EAAQqE,KAAKoc,IAAI,GAAI2V,GAuBpC,OAlBEi9B,EAFE/vC,EACCgwC,EAAW,IACC,EACLA,EAAW,EACN,EACLA,EAAW,EACN,EAEA,GAENA,GAAY,EACP,EACLA,GAAY,EACP,EACLA,GAAY,EACP,EAEA,GAGTD,EAAehvD,KAAKoc,IAAI,GAAI2V,IAGpC0B,GAAU4C,iBAAoB,WAC7B,MAAsB,qBAAX1O,OACH,SAASxd,GACfA,KAGKwd,OAAOsO,uBACbtO,OAAOunC,6BACPvnC,OAAOwnC,0BACPxnC,OAAOynC,wBACPznC,OAAO0nC,yBACP,SAASllD,GACR,OAAOwd,OAAOhlB,WAAWwH,EAAU,IAAO,KAZhB,GAgB7BspB,GAAUic,oBAAsB,SAAS4f,EAAKliC,GAC7C,IAAIoQ,EAAQ4C,EACR/nC,EAAIi3D,EAAIC,eAAiBD,EACzBj7D,EAASi7D,EAAI15D,QAAU05D,EAAIE,WAC3BC,EAAep7D,EAAOq7D,wBAEtBC,EAAUt3D,EAAEs3D,QACZA,GAAWA,EAAQ9lE,OAAS,GAC/B2zC,EAASmyB,EAAQ,GAAGC,QACpBxvB,EAASuvB,EAAQ,GAAGE,UAGpBryB,EAASnlC,EAAEu3D,QACXxvB,EAAS/nC,EAAEw3D,SAMZ,IAAIC,EAAcviD,WAAWkmB,GAAU2G,SAAS/lC,EAAQ,iBACpD07D,EAAaxiD,WAAWkmB,GAAU2G,SAAS/lC,EAAQ,gBACnD27D,EAAeziD,WAAWkmB,GAAU2G,SAAS/lC,EAAQ,kBACrD47D,EAAgB1iD,WAAWkmB,GAAU2G,SAAS/lC,EAAQ,mBACtDd,EAAQk8D,EAAavxD,MAAQuxD,EAAazxD,KAAO8xD,EAAcE,EAC/Dx8D,EAASi8D,EAAa/hC,OAAS+hC,EAAahiC,IAAMsiC,EAAaE,EAOnE,OAHAzyB,EAASx9B,KAAKif,OAAOue,EAASiyB,EAAazxD,KAAO8xD,GAAe,EAAUz7D,EAAOd,MAAQ65B,EAAMkgC,yBAChGltB,EAASpgC,KAAKif,OAAOmhB,EAASqvB,EAAahiC,IAAMsiC,GAAc,EAAW17D,EAAOb,OAAS45B,EAAMkgC,yBAEzF,CACNlmD,EAAGo2B,EACHrhB,EAAGikB,IAuDL3M,GAAUy8B,mBAAqB,SAAShF,GACvC,OAAOD,EAAuBC,EAAS,YAAa,gBAGrDz3B,GAAU08B,oBAAsB,SAASjF,GACxC,OAAOD,EAAuBC,EAAS,aAAc,iBAKtDz3B,GAAU28B,kBAAoB,SAASzX,EAAWlY,EAAS4vB,GAG1D,OAFA5vB,EAAUhN,GAAU2G,SAASue,EAAWlY,GAEjCA,EAAQ/hC,QAAQ,MAAQ,EAAI2xD,EAAkB1/D,SAAS8vC,EAAS,IAAM,IAAM9vC,SAAS8vC,EAAS,KAKtGhN,GAAU63B,eAAiB,SAASJ,GACnC,IAAI9qC,EAAS8qC,EAAQrS,WAIrB,OAHIz4B,GAAgC,wBAAtBA,EAAOb,aACpBa,EAASA,EAAO05B,MAEV15B,GAERqT,GAAU0zB,gBAAkB,SAAS+D,GACpC,IAAIvS,EAAYllB,GAAU63B,eAAeJ,GACzC,IAAKvS,EACJ,OAAOuS,EAAQpS,YAGhB,IAAIA,EAAcH,EAAUG,YACxBgX,EAAcr8B,GAAU28B,kBAAkBzX,EAAW,eAAgBG,GACrEkX,EAAev8B,GAAU28B,kBAAkBzX,EAAW,gBAAiBG,GAEvE/7B,EAAI+7B,EAAcgX,EAAcE,EAChCM,EAAK78B,GAAUy8B,mBAAmBhF,GACtC,OAAOjoC,MAAMqtC,GAAMvzC,EAAI/c,KAAKnH,IAAIkkB,EAAGuzC,IAEpC78B,GAAU2zB,iBAAmB,SAAS8D,GACrC,IAAIvS,EAAYllB,GAAU63B,eAAeJ,GACzC,IAAKvS,EACJ,OAAOuS,EAAQqF,aAGhB,IAAIA,EAAe5X,EAAU4X,aACzBR,EAAat8B,GAAU28B,kBAAkBzX,EAAW,cAAe4X,GACnEN,EAAgBx8B,GAAU28B,kBAAkBzX,EAAW,iBAAkB4X,GAEzE/hE,EAAI+hE,EAAeR,EAAaE,EAChCO,EAAK/8B,GAAU08B,oBAAoBjF,GACvC,OAAOjoC,MAAMutC,GAAMhiE,EAAIwR,KAAKnH,IAAIrK,EAAGgiE,IAEpC/8B,GAAU2G,SAAW,SAASkd,EAAIxB,GACjC,OAAOwB,EAAGmZ,aACTnZ,EAAGmZ,aAAa3a,GAChB18B,SAASiyC,YAAYG,iBAAiBlU,EAAI,MAAMnkB,iBAAiB2iB,IAEnEriB,GAAUozB,YAAc,SAASz5B,EAAOsjC,GACvC,IAAIC,EAAavjC,EAAMkgC,wBAA0BoD,GAAiC,qBAAX/oC,QAA0BA,OAAOm/B,kBAAqB,EAC7H,GAAmB,IAAf6J,EAAJ,CAIA,IAAIt8D,EAAS+4B,EAAM/4B,OACfb,EAAS45B,EAAM55B,OACfD,EAAQ65B,EAAM75B,MAElBc,EAAOb,OAASA,EAASm9D,EACzBt8D,EAAOd,MAAQA,EAAQo9D,EACvBvjC,EAAMC,IAAItK,MAAM4tC,EAAYA,GAKvBt8D,EAAOnG,MAAMsF,QAAWa,EAAOnG,MAAMqF,QACzCc,EAAOnG,MAAMsF,OAASA,EAAS,KAC/Ba,EAAOnG,MAAMqF,MAAQA,EAAQ,QAI/BkgC,GAAU0tB,WAAa,SAASyP,EAAWt/B,EAAWF,GACrD,OAAOE,EAAY,IAAMs/B,EAAY,MAAQx/B,GAE9CqC,GAAUo9B,YAAc,SAASxjC,EAAKsD,EAAMmgC,EAAe7V,GAC1DA,EAAQA,GAAS,GACjB,IAAIrvD,EAAOqvD,EAAMrvD,KAAOqvD,EAAMrvD,MAAQ,GAClCmlE,EAAK9V,EAAM+V,eAAiB/V,EAAM+V,gBAAkB,GAEpD/V,EAAMtqB,OAASA,IAClB/kC,EAAOqvD,EAAMrvD,KAAO,GACpBmlE,EAAK9V,EAAM+V,eAAiB,GAC5B/V,EAAMtqB,KAAOA,GAGdtD,EAAIsD,KAAOA,EACX,IAEIhwB,EAAGmoC,EAAGgH,EAAMmhB,EAAOC,EAFnBC,EAAU,EACVtoC,EAAOioC,EAAcjnE,OAEzB,IAAK8W,EAAI,EAAGA,EAAIkoB,EAAMloB,IAIrB,GAHAswD,EAAQH,EAAcnwD,QAGRtT,IAAV4jE,GAAiC,OAAVA,IAA+C,IAA7Bx9B,GAAU9pC,QAAQsnE,GAC9DE,EAAU19B,GAAUytB,YAAY7zB,EAAKzhC,EAAMmlE,EAAII,EAASF,QAClD,GAAIx9B,GAAU9pC,QAAQsnE,GAG5B,IAAKnoB,EAAI,EAAGgH,EAAOmhB,EAAMpnE,OAAQi/C,EAAIgH,EAAMhH,IAC1CooB,EAAcD,EAAMnoB,QAEAz7C,IAAhB6jE,GAA6C,OAAhBA,GAAyBz9B,GAAU9pC,QAAQunE,KAC3EC,EAAU19B,GAAUytB,YAAY7zB,EAAKzhC,EAAMmlE,EAAII,EAASD,IAM5D,IAAIE,EAAQL,EAAGlnE,OAAS,EACxB,GAAIunE,EAAQN,EAAcjnE,OAAQ,CACjC,IAAK8W,EAAI,EAAGA,EAAIywD,EAAOzwD,WACf/U,EAAKmlE,EAAGpwD,IAEhBowD,EAAG36B,OAAO,EAAGg7B,GAEd,OAAOD,GAER19B,GAAUytB,YAAc,SAAS7zB,EAAKzhC,EAAMmlE,EAAII,EAAS7xC,GACxD,IAAI+xC,EAAYzlE,EAAK0zB,GAQrB,OAPK+xC,IACJA,EAAYzlE,EAAK0zB,GAAU+N,EAAI6zB,YAAY5hC,GAAQ/rB,MACnDw9D,EAAG3+D,KAAKktB,IAEL+xC,EAAYF,IACfA,EAAUE,GAEJF,GAMR19B,GAAU69B,mBAAqB,SAASR,GACvC,IAAIS,EAAgB,EAQpB,OAPA99B,GAAUlL,KAAKuoC,GAAe,SAASG,GAClCx9B,GAAU9pC,QAAQsnE,IACjBA,EAAMpnE,OAAS0nE,IAClBA,EAAgBN,EAAMpnE,WAIlB0nE,GAGR99B,GAAUnnC,MAASs7B,EAKlB,SAASh+B,GAMR,OAJIA,aAAiB4nE,iBACpB5nE,EAAQ6mC,EAAcpW,OAAO3X,cAGvBklB,EAAah+B,IAVrB,SAASA,GAER,OADA2I,QAAQC,MAAM,uBACP5I,GAWT6pC,GAAU0H,cAAgB,SAASs2B,GAElC,OAAQA,aAAsBC,eAAiBD,aAAsBD,eACpEC,EACAh+B,GAAUnnC,MAAMmlE,GAAY1rC,SAAS,IAAKD,OAAO,IAAK1D,cAIzD,SAASuvC,KACR,MAAM,IAAIr9D,MACT,6GAsBF,SAASs9D,GAAYxoE,GACpBf,KAAKe,QAAUA,GAAW,GAG3BqqC,GAAUxrC,OAAO2pE,GAAYxwC,UAAqC,CAMjEywC,QAASF,GASTG,MAAOH,GASPx5D,OAAQw5D,GAURt7C,IAAKs7C,GAUL90C,KAAM80C,GAUNI,QAASJ,GAQTK,MAAOL,GAWPM,QAAS,SAASroE,GACjB,OAAOA,KAITgoE,GAAYM,SAAW,SAASC,GAC/B1+B,GAAUxrC,OAAO2pE,GAAYxwC,UAAW+wC,IAGzC,IAAIC,GAAQR,GAERS,GAAgB,CACnBD,MAAOA,IAOJE,GAAa,CAKhBxsD,WAAY,CAOXwS,OAAQ,SAAS1uB,GAChB,OAAO6pC,GAAU9pC,QAAQC,GAASA,EAAQ,GAAKA,GAWhD+gC,OAAQ,SAAS4nC,EAAWtoE,EAAO2hD,GAElC,IAAIhrC,EAAQgrC,EAAM/hD,OAAS,EAAI+hD,EAAM,GAAKA,EAAM,GAAKA,EAAM,GAAKA,EAAM,GAGlE5rC,KAAKigC,IAAIr/B,GAAS,GACjB2xD,IAAcvyD,KAAKge,MAAMu0C,KAE5B3xD,EAAQ2xD,EAAYvyD,KAAKge,MAAMu0C,IAIjC,IAAIC,EAAW/+B,GAAU3B,MAAM9xB,KAAKigC,IAAIr/B,IACpC6xD,EAAa,GAEjB,GAAkB,IAAdF,EAAiB,CACpB,IAAIG,EAAU1yD,KAAKlH,IAAIkH,KAAKigC,IAAI2L,EAAM,IAAK5rC,KAAKigC,IAAI2L,EAAMA,EAAM/hD,OAAS,KACzE,GAAI6oE,EAAU,KAAM,CACnB,IAAIC,EAAUl/B,GAAU3B,MAAM9xB,KAAKigC,IAAIsyB,IACnCK,EAAiB5yD,KAAKge,MAAM20C,GAAW3yD,KAAKge,MAAMw0C,GACtDI,EAAiB5yD,KAAKlH,IAAIkH,KAAKnH,IAAI+5D,EAAgB,IAAK,GACxDH,EAAaF,EAAUM,cAAcD,OAC/B,CACN,IAAIE,GAAc,EAAI9yD,KAAKge,MAAMw0C,GACjCM,EAAa9yD,KAAKlH,IAAIkH,KAAKnH,IAAIi6D,EAAY,IAAK,GAChDL,EAAaF,EAAU/9C,QAAQs+C,SAGhCL,EAAa,IAGd,OAAOA,GAGRM,YAAa,SAASR,EAAWtoE,EAAO2hD,GACvC,IAAIonB,EAAST,EAAavyD,KAAKoc,IAAI,GAAIpc,KAAKge,MAAMyV,GAAU3B,MAAMygC,KAElE,OAAkB,IAAdA,EACI,IACc,IAAXS,GAA2B,IAAXA,GAA2B,IAAXA,GAA0B,IAAV/oE,GAAeA,IAAU2hD,EAAM/hD,OAAS,EAC3F0oE,EAAUM,gBAEX,MAKNlpE,GAAU8pC,GAAU9pC,QACpBs+B,GAAgBwL,GAAUxL,cAC1BgrC,GAAmBx/B,GAAUtL,eAC7BE,GAAwBoL,GAAUpL,sBA4DtC,SAAS6qC,GAAOC,EAAKC,GAMpB,IALA,IAAI9xC,EAAS,GACT+xC,EAAYF,EAAItpE,OAASupE,EACzBzyD,EAAI,EACJwf,EAAMgzC,EAAItpE,OAEP8W,EAAIwf,EAAKxf,GAAK0yD,EACpB/xC,EAAOlvB,KAAK+gE,EAAInzD,KAAKge,MAAMrd,KAE5B,OAAO2gB,EAGR,SAASgyC,GAAoBvwC,EAAO94B,EAAO25C,GAC1C,IAMIF,EANA75C,EAASk5B,EAAM8f,WAAWh5C,OAC1B0pE,EAAavzD,KAAKnH,IAAI5O,EAAOJ,EAAS,GACtC2pE,EAAYzwC,EAAM+f,gBAAgBywB,GAClCl8D,EAAQ0rB,EAAM6iB,YACdnC,EAAM1gB,EAAM8iB,UACZ5W,EAAU,KAGd,KAAI2U,IAEFF,EADc,IAAX75C,EACMmW,KAAKlH,IAAI06D,EAAYn8D,EAAOosC,EAAM+vB,GACvB,IAAVvpE,GACA84B,EAAM+f,gBAAgB,GAAK0wB,GAAa,GAExCA,EAAYzwC,EAAM+f,gBAAgBywB,EAAa,IAAM,EAEhEC,GAAaD,EAAatpE,EAAQy5C,GAAUA,EAGxC8vB,EAAYn8D,EAAQ43B,GAAWukC,EAAY/vB,EAAMxU,IAItD,OAAOukC,EAGR,SAASxC,GAAeyC,EAAQ5pE,GAC/B4pC,GAAUlL,KAAKkrC,GAAQ,SAASxY,GAC/B,IAEIt6C,EAFAowD,EAAK9V,EAAM8V,GACXK,EAAQL,EAAGlnE,OAAS,EAExB,GAAIunE,EAAQvnE,EAAQ,CACnB,IAAK8W,EAAI,EAAGA,EAAIywD,IAASzwD,SACjBs6C,EAAMrvD,KAAKmlE,EAAGpwD,IAEtBowD,EAAG36B,OAAO,EAAGg7B,OAShB,SAASsC,GAAkBrmC,EAAKsmC,EAAW/nB,EAAO6nB,GACjD,IAMI9yD,EAAGmoC,EAAGgH,EAAMtL,EAAOovB,EAAUzS,EAAYlG,EAAO5pB,EAAY99B,EAAOC,EAAQqgE,EAAaC,EAAQC,EANhGlqE,EAAS+hD,EAAM/hD,OACfmqE,EAAS,GACTC,EAAU,GACVC,EAAU,GACVC,EAAkB,EAClBC,EAAmB,EAGvB,IAAKzzD,EAAI,EAAGA,EAAI9W,IAAU8W,EAAG,CAQ5B,GAPA6jC,EAAQoH,EAAMjrC,GAAG6jC,MACjBovB,EAAWhoB,EAAMjrC,GAAG0zD,MAAQV,EAAUU,MAAQV,EAAUW,MACxDjnC,EAAIsD,KAAOwwB,EAAayS,EAASt0C,OACjC27B,EAAQwY,EAAOtS,GAAcsS,EAAOtS,IAAe,CAACv1D,KAAM,GAAImlE,GAAI,IAClE1/B,EAAauiC,EAASviC,WACtB99B,EAAQC,EAAS,EAEZy0B,GAAcuc,IAAW76C,GAAQ66C,IAG/B,GAAI76C,GAAQ66C,GAElB,IAAKsE,EAAI,EAAGgH,EAAOtL,EAAM36C,OAAQi/C,EAAIgH,IAAQhH,EAC5C+qB,EAAcrvB,EAAMsE,GAEf7gB,GAAc4rC,IAAiBlqE,GAAQkqE,KAC3CtgE,EAAQkgC,GAAUytB,YAAY7zB,EAAK4tB,EAAMrvD,KAAMqvD,EAAM8V,GAAIx9D,EAAOsgE,GAChErgE,GAAU69B,QATZ99B,EAAQkgC,GAAUytB,YAAY7zB,EAAK4tB,EAAMrvD,KAAMqvD,EAAM8V,GAAIx9D,EAAOixC,GAChEhxC,EAAS69B,EAYV2iC,EAAO5hE,KAAKmB,GACZ0gE,EAAQ7hE,KAAKoB,GACb0gE,EAAQ9hE,KAAKi/B,EAAa,GAC1B8iC,EAAkBn0D,KAAKlH,IAAIvF,EAAO4gE,GAClCC,EAAmBp0D,KAAKlH,IAAItF,EAAQ4gE,GAOrC,SAASG,EAAQ5Z,GAChB,MAAO,CACNpnD,MAAOygE,EAAOrZ,IAAQ,EACtBnnD,OAAQygE,EAAQtZ,IAAQ,EACxBjX,OAAQwwB,EAAQvZ,IAAQ,GAI1B,OAbAqW,GAAeyC,EAAQ5pE,GAEvBiqE,EAASE,EAAOt1D,QAAQy1D,GACxBJ,EAAUE,EAAQv1D,QAAQ01D,GAUnB,CACN3zD,MAAO8zD,EAAQ,GACfnvB,KAAMmvB,EAAQ1qE,EAAS,GACvBiqE,OAAQS,EAAQT,GAChBC,QAASQ,EAAQR,IAInB,SAASS,GAAkBprE,GAC1B,OAAOA,EAAQqrE,UAAYrrE,EAAQsrE,eAAiB,EAGrD,SAASC,GAAoBvrE,GAC5B,IAAIunC,EAAM8P,EAEV,OAAKr3C,EAAQskD,SAIb/c,EAAO8C,GAAUrqC,QAAQ6nC,WAAW7nC,GACpCq3C,EAAUhN,GAAUrqC,QAAQ4nC,UAAU5nC,EAAQq3C,SAEvC9P,EAAKU,WAAaoP,EAAQjtC,QANzB,EAST,SAASohE,GAAiBxrE,EAASyrE,GAClC,OAAOphC,GAAUxrC,OAAOwrC,GAAUrqC,QAAQ6nC,WAAW,CACpDG,WAAY6hC,GAAiB4B,EAAWzjC,WAAYhoC,EAAQgoC,YAC5DD,SAAU8hC,GAAiB4B,EAAW1jC,SAAU/nC,EAAQ+nC,UACxDG,UAAW2hC,GAAiB4B,EAAWvjC,UAAWloC,EAAQkoC,WAC1DD,WAAY4hC,GAAiB4B,EAAWxjC,WAAYjoC,EAAQioC,cACzD,CACH/kC,MAAOmnC,GAAUrqC,QAAQmoC,QAAQ,CAACsjC,EAAWC,UAAW1rE,EAAQ0rE,UAAWrkC,EAAcpW,OAAO8V,qBAIlG,SAAS4kC,GAAqB3rE,GAC7B,IAAIkrE,EAAQM,GAAiBxrE,EAASA,EAAQkrE,OAC1CD,EAAQjrE,EAAQirE,MAAMrY,QAAU4Y,GAAiBxrE,EAASA,EAAQirE,OAASC,EAE/E,MAAO,CAACA,MAAOA,EAAOD,MAAOA,GAG9B,SAASW,GAAWC,GACnB,IACIjrE,EAAMC,EAAOk2B,EADb4rC,EAAW,GAEf,IAAK9hE,EAAQ,EAAGk2B,EAAM80C,EAAcprE,OAAQI,EAAQk2B,IAAOl2B,EAC1DD,EAAOirE,EAAchrE,GACM,qBAAhBD,EAAKsvC,QACfyyB,EAAS35D,KAAKpI,GAGhB,OAAO+hE,EAGR,SAASmJ,GAAe/B,GACvB,IACIxyD,EAAGkc,EADHsD,EAAMgzC,EAAItpE,OAGd,GAAIs2B,EAAM,EACT,OAAO,EAGR,IAAKtD,EAAOs2C,EAAI,GAAIxyD,EAAI,EAAGA,EAAIwf,IAAOxf,EACrC,GAAIwyD,EAAIxyD,GAAKwyD,EAAIxyD,EAAI,KAAOkc,EAC3B,OAAO,EAGT,OAAOA,EAGR,SAASs4C,GAAiBC,EAAcxpB,EAAOypB,EAAYC,GAC1D,IAEIC,EAASC,EAAQ70D,EAAGkoB,EAFpB4sC,EAAmBP,GAAeE,GAClCM,GAAW9pB,EAAM/hD,OAAS,GAAKyrE,EAKnC,IAAKG,EACJ,OAAOz1D,KAAKlH,IAAI48D,EAAS,GAI1B,IADAH,EAAU9hC,GAAUE,KAAK9B,WAAW4jC,GAC/B90D,EAAI,EAAGkoB,EAAO0sC,EAAQ1rE,OAAS,EAAG8W,EAAIkoB,EAAMloB,IAEhD,GADA60D,EAASD,EAAQ50D,GACb60D,EAASE,EACZ,OAAOF,EAGT,OAAOx1D,KAAKlH,IAAI48D,EAAS,GAG1B,SAASC,GAAgB/pB,GACxB,IACIjrC,EAAGkoB,EADHvH,EAAS,GAEb,IAAK3gB,EAAI,EAAGkoB,EAAO+iB,EAAM/hD,OAAQ8W,EAAIkoB,EAAMloB,IACtCirC,EAAMjrC,GAAG0zD,OACZ/yC,EAAOlvB,KAAKuO,GAGd,OAAO2gB,EAGR,SAASs0C,GAAWhqB,EAAOwpB,EAAcM,GACxC,IAEI/0D,EAAGk1D,EAFH/5B,EAAQ,EACRpqC,EAAO0jE,EAAa,GAIxB,IADAM,EAAU11D,KAAKC,KAAKy1D,GACf/0D,EAAI,EAAGA,EAAIirC,EAAM/hD,OAAQ8W,IAC7Bk1D,EAAOjqB,EAAMjrC,GACTA,IAAMjP,GACTmkE,EAAKv8B,OAAS34B,EACdm7B,IACApqC,EAAO0jE,EAAat5B,EAAQ45B,WAErBG,EAAKrxB,MAKf,SAAS9E,GAAKkM,EAAO8pB,EAASI,EAAYC,GACzC,IAGIlsE,EAAQ8W,EAAGk1D,EAAMnkE,EAHjB2F,EAAQ47D,GAAiB6C,EAAY,GACrCryB,EAAMzjC,KAAKnH,IAAIo6D,GAAiB8C,EAAUnqB,EAAM/hD,QAAS+hD,EAAM/hD,QAC/DiyC,EAAQ,EAGZ45B,EAAU11D,KAAKC,KAAKy1D,GAChBK,IACHlsE,EAASksE,EAAWD,EACpBJ,EAAU7rE,EAASmW,KAAKge,MAAMn0B,EAAS6rE,IAGxChkE,EAAO2F,EAEP,MAAO3F,EAAO,EACboqC,IACApqC,EAAOsO,KAAKif,MAAM5nB,EAAQykC,EAAQ45B,GAGnC,IAAK/0D,EAAIX,KAAKlH,IAAIzB,EAAO,GAAIsJ,EAAI8iC,EAAK9iC,IACrCk1D,EAAOjqB,EAAMjrC,GACTA,IAAMjP,GACTmkE,EAAKv8B,OAAS34B,EACdm7B,IACApqC,EAAOsO,KAAKif,MAAM5nB,EAAQykC,EAAQ45B,WAE3BG,EAAKrxB,MAxTf/T,EAAcP,KAAK,QAAS,CAC3Bwd,SAAS,EACTnH,SAAU,OACV7C,QAAQ,EAGRC,UAAW,CACV+J,SAAS,EACTphD,MAAO,kBACP8wC,UAAW,EACXF,YAAY,EACZ84B,iBAAiB,EACjBvB,WAAW,EACXC,eAAgB,GAChBuB,cAAe,EACfC,cAAe,mBACfC,mBAAoB,GACpBC,yBAA0B,EAC1BxyB,iBAAiB,EACjB9E,WAAY,GACZC,iBAAkB,GAInBs3B,WAAY,CAEX3oB,SAAS,EAGT4oB,YAAa,GAGb71B,QAAS,CACRhT,IAAK,EACLC,OAAQ,IAKVke,MAAO,CACNiC,aAAa,EACb0oB,YAAa,EACbC,YAAa,GACbC,QAAQ,EACRh2B,QAAS,EACThY,SAAS,EACTilB,SAAS,EACTgpB,UAAU,EACVC,gBAAiB,EACjBC,YAAa,EAEbzsD,SAAUmoD,GAAWxsD,WAAWwS,OAChCg8C,MAAO,GACPD,MAAO,MAwQT,IAAIwC,GAAQ/hC,GAAa7sC,OAAO,CAE/B6uE,cAAe,EAQflkB,WAAY,WACX,IAAI/oB,EAAKxhC,KACT,MAAO,CACN2V,KAAM6rB,EAAGimC,aAAe,EACxBriC,IAAK5D,EAAGkmC,YAAc,EACtB7xD,MAAO2rB,EAAGmmC,cAAgB,EAC1BtiC,OAAQ7D,EAAGomC,eAAiB,IAQ9BptB,SAAU,WACT,OAAOx6C,KAAK0uE,QAMbC,WAAY,WACX,IAAIprE,EAAOvD,KAAK+kC,MAAMxhC,KACtB,OAAOvD,KAAKe,QAAQ8xB,SAAW7yB,KAAKu8C,eAAiBh5C,EAAKqrE,QAAUrrE,EAAKsrE,UAAYtrE,EAAKsvB,QAAU,IAarG+sC,kBAAmB,aAInBkP,aAAc,WACb1jC,GAAUtpB,SAAS9hB,KAAKe,QAAQ+tE,aAAc,CAAC9uE,QAWhD2pB,OAAQ,SAASg3B,EAAUC,EAAWmuB,GACrC,IAGIz2D,EAAGkoB,EAAM3N,EAAQ0wB,EAAOyrB,EAHxBxtC,EAAKxhC,KACLsjD,EAAW9hB,EAAGzgC,QAAQwiD,MACtB0rB,EAAa3rB,EAAS2rB,WAoD1B,GAhDAztC,EAAGstC,eAGHttC,EAAGmf,SAAWA,EACdnf,EAAGof,UAAYA,EACfpf,EAAGutC,QAAU3jC,GAAUxrC,OAAO,CAC7B+V,KAAM,EACNE,MAAO,EACPuvB,IAAK,EACLC,OAAQ,GACN0pC,GAEHvtC,EAAGktC,OAAS,KACZltC,EAAG+hB,MAAQ,KACX/hB,EAAG0tC,YAAc,KACjB1tC,EAAG2tC,eAAiB,EACpB3tC,EAAG4tC,kBAAoB,EACvB5tC,EAAG6tC,iBAAmB7tC,EAAG6tC,kBAAoB,GAC7C7tC,EAAG8tC,eAAiB,KACpB9tC,EAAG+tC,YAAc,KAGjB/tC,EAAGguC,sBACHhuC,EAAGiuC,gBACHjuC,EAAGkuC,qBAGHluC,EAAGmuC,mBACHnuC,EAAGouC,sBACHpuC,EAAGquC,kBASHruC,EAAGsuC,mBAIHvsB,EAAQ/hB,EAAGuuC,cAAgB,GAG3BxsB,EAAQ/hB,EAAGwuC,gBAAgBzsB,IAAUA,IAG/BA,IAAUA,EAAM/hD,SAAWggC,EAAG+hB,MAEnC,IADAA,EAAQ,GACHjrC,EAAI,EAAGkoB,EAAOgB,EAAG+hB,MAAM/hD,OAAQ8W,EAAIkoB,IAAQloB,EAC/CirC,EAAMx5C,KAAK,CACVxI,MAAOigC,EAAG+hB,MAAMjrC,GAChB0zD,OAAO,IA2CV,OAtCAxqC,EAAGktC,OAASnrB,EAIZyrB,EAAkBC,EAAa1rB,EAAM/hD,OACrCqxB,EAAS2O,EAAGyuC,sBAAsBjB,EAAkBnE,GAAOtnB,EAAO0rB,GAAc1rB,GAMhF/hB,EAAGiQ,aAGHjQ,EAAG0uC,8BACH1uC,EAAG2uC,wBACH3uC,EAAG4uC,6BAEH5uC,EAAG6uC,YACH7uC,EAAG8uC,MACH9uC,EAAG+uC,WAGH/uC,EAAGgvC,aAAeltB,EAAS+B,UAAY/B,EAAS+qB,UAAgC,SAApB/qB,EAAS3kB,QAAqB6C,EAAGivC,UAAUltB,GAASA,EAE5GyrB,IAEHn8C,EAAS2O,EAAGyuC,sBAAsBzuC,EAAGgvC,eAGtChvC,EAAG+hB,MAAQ1wB,EAIX2O,EAAGkvC,cAIIlvC,EAAGykB,SAMXxU,WAAY,WACX,IAEIk/B,EAAYC,EAFZpvC,EAAKxhC,KACL6wE,EAAgBrvC,EAAGzgC,QAAQwiD,MAAMnjB,QAGjCoB,EAAG+a,gBACNo0B,EAAanvC,EAAG7rB,KAChBi7D,EAAWpvC,EAAG3rB,QAEd86D,EAAanvC,EAAG4D,IAChBwrC,EAAWpvC,EAAG6D,OAEdwrC,GAAiBA,GAElBrvC,EAAG+b,YAAcozB,EACjBnvC,EAAGgc,UAAYozB,EACfpvC,EAAGsvC,eAAiBD,EACpBrvC,EAAG+Y,QAAUq2B,EAAWD,GAGzBD,YAAa,WACZtlC,GAAUtpB,SAAS9hB,KAAKe,QAAQ2vE,YAAa,CAAC1wE,QAK/CwvE,oBAAqB,WACpBpkC,GAAUtpB,SAAS9hB,KAAKe,QAAQyuE,oBAAqB,CAACxvE,QAEvDyvE,cAAe,WACd,IAAIjuC,EAAKxhC,KAELwhC,EAAG+a,gBAEN/a,EAAGt2B,MAAQs2B,EAAGmf,SACdnf,EAAG7rB,KAAO,EACV6rB,EAAG3rB,MAAQ2rB,EAAGt2B,QAEds2B,EAAGr2B,OAASq2B,EAAGof,UAGfpf,EAAG4D,IAAM,EACT5D,EAAG6D,OAAS7D,EAAGr2B,QAIhBq2B,EAAGimC,YAAc,EACjBjmC,EAAGkmC,WAAa,EAChBlmC,EAAGmmC,aAAe,EAClBnmC,EAAGomC,cAAgB,GAEpB8H,mBAAoB,WACnBtkC,GAAUtpB,SAAS9hB,KAAKe,QAAQ2uE,mBAAoB,CAAC1vE,QAItD2vE,iBAAkB,WACjBvkC,GAAUtpB,SAAS9hB,KAAKe,QAAQ4uE,iBAAkB,CAAC3vE,QAEpD4vE,oBAAqBxkC,GAAU1L,KAC/BmwC,gBAAiB,WAChBzkC,GAAUtpB,SAAS9hB,KAAKe,QAAQ8uE,gBAAiB,CAAC7vE,QAInD8vE,iBAAkB,WACjB1kC,GAAUtpB,SAAS9hB,KAAKe,QAAQ+uE,iBAAkB,CAAC9vE,QAEpD+vE,WAAY3kC,GAAU1L,KACtBswC,gBAAiB,SAASzsB,GACzB,IAAI/hB,EAAKxhC,KAET,OAAIsB,GAAQiiD,IAAUA,EAAM/hD,OACpB4pC,GAAUtpB,SAAS0f,EAAGzgC,QAAQivE,gBAAiB,CAACxuC,EAAI+hB,KAG5D/hB,EAAG+hB,MAAQnY,GAAUtpB,SAAS0f,EAAGzgC,QAAQivE,gBAAiB,CAACxuC,EAAIA,EAAG+hB,SAAW/hB,EAAG+hB,MACzEA,IAGRwtB,4BAA6B,WAC5B3lC,GAAUtpB,SAAS9hB,KAAKe,QAAQgwE,4BAA6B,CAAC/wE,QAE/DgxE,qBAAsB,WACrB,IAAIxvC,EAAKxhC,KAELsjD,EAAW9hB,EAAGzgC,QAAQwiD,MAC1B/hB,EAAG+hB,MAAQ/hB,EAAG+hB,MAAMpzC,IAAImzC,EAAS2tB,cAAgB3tB,EAASxhC,SAAU9hB,OAErEkxE,2BAA4B,WAC3B9lC,GAAUtpB,SAAS9hB,KAAKe,QAAQmwE,2BAA4B,CAAClxE,QAK9DkwE,4BAA6B,WAC5B9kC,GAAUtpB,SAAS9hB,KAAKe,QAAQmvE,4BAA6B,CAAClwE,QAE/DmwE,sBAAuB,WACtB,IAOIgB,EAAYC,EAAeC,EAAgB1wB,EAAU2wB,EAAW1wB,EAAW2wB,EAP3E/vC,EAAKxhC,KACLe,EAAUygC,EAAGzgC,QACbuiD,EAAWviD,EAAQwiD,MACnBiuB,EAAWhwC,EAAGgZ,WAAWh5C,OACzB0sE,EAAc5qB,EAAS4qB,aAAe,EACtCC,EAAc7qB,EAAS6qB,YACvBsD,EAAgBvD,GAGf1sC,EAAGkwC,eAAiBpuB,EAAS+B,SAAW6oB,GAAeC,GAAeqD,GAAY,IAAMhwC,EAAG+a,eAC/F/a,EAAGiwC,cAAgBvD,GAIpBiD,EAAa3vC,EAAGmwC,iBAChBP,EAAgBD,EAAW1F,OAAOvgE,MAClCmmE,EAAiBF,EAAWzF,QAAQvgE,OAASgmE,EAAWzF,QAAQrwB,OAIhEsF,EAAWhpC,KAAKnH,IAAIgxB,EAAGmf,SAAUnf,EAAGuD,MAAM75B,MAAQkmE,GAClDE,EAAYvwE,EAAQs6C,OAAS7Z,EAAGmf,SAAW6wB,EAAW7wB,GAAY6wB,EAAW,GAGzEJ,EAAgB,EAAIE,IACvBA,EAAY3wB,GAAY6wB,GAAYzwE,EAAQs6C,OAAS,GAAM,IAC3DuF,EAAYpf,EAAGof,UAAYurB,GAAkBprE,EAAQu6C,WAClDgI,EAASlL,QAAUk0B,GAAoBvrE,EAAQitE,YAClDuD,EAAmB55D,KAAK6e,KAAK46C,EAAgBA,EAAgBC,EAAiBA,GAC9EI,EAAgBrmC,GAAUi5B,UAAU1sD,KAAKnH,IACxCmH,KAAKksB,KAAKlsB,KAAKnH,KAAK2gE,EAAWzF,QAAQvgE,OAAS,GAAKmmE,EAAW,IAChE35D,KAAKksB,KAAKlsB,KAAKnH,IAAIowC,EAAY2wB,EAAkB,IAAM55D,KAAKksB,KAAKwtC,EAAiBE,KAEnFE,EAAgB95D,KAAKlH,IAAIy9D,EAAav2D,KAAKnH,IAAI29D,EAAasD,KAG7DjwC,EAAGiwC,cAAgBA,IAEpBrB,2BAA4B,WAC3BhlC,GAAUtpB,SAAS9hB,KAAKe,QAAQqvE,2BAA4B,CAACpwE,QAK9DqwE,UAAW,WACVjlC,GAAUtpB,SAAS9hB,KAAKe,QAAQsvE,UAAW,CAACrwE,QAE7CswE,IAAK,WACJ,IAAI9uC,EAAKxhC,KAELimD,EAAUzkB,EAAGykB,QAAU,CAC1B/6C,MAAO,EACPC,OAAQ,GAGL45B,EAAQvD,EAAGuD,MACX8b,EAAOrf,EAAGzgC,QACVuiD,EAAWzC,EAAK0C,MAChBquB,EAAiB/wB,EAAKmtB,WACtB6D,EAAehxB,EAAKvF,UACpB+J,EAAU7jB,EAAGkwC,aACbI,EAA6B,WAAlBjxB,EAAK3C,SAChB3B,EAAe/a,EAAG+a,eAiBtB,GAdIA,EACH0J,EAAQ/6C,MAAQs2B,EAAGmf,SACT0E,IACVY,EAAQ/6C,MAAQihE,GAAkB0F,GAAgBvF,GAAoBsF,IAIlEr1B,EAEM8I,IACVY,EAAQ96C,OAASghE,GAAkB0F,GAAgBvF,GAAoBsF,IAFvE3rB,EAAQ96C,OAASq2B,EAAGof,UAMjB0C,EAAS+B,SAAWA,EAAS,CAChC,IAAIimB,EAAYoB,GAAqBppB,GACjC6tB,EAAa3vC,EAAGmwC,iBAChBI,EAAiBZ,EAAW/4D,MAC5B45D,EAAgBb,EAAWp0B,KAC3B+uB,EAAkBqF,EAAW1F,OAC7BM,EAAmBoF,EAAWzF,QAC9BuG,EAAyC,GAA7B3G,EAAUW,MAAMjjC,WAC5BkpC,EAAc5uB,EAASlL,QAE3B,GAAImE,EAAc,CAEjB,IAAI41B,EAAiC,IAArB3wC,EAAGiwC,cACfW,EAAehnC,GAAUg5B,UAAU5iC,EAAGiwC,eACtCY,EAAc16D,KAAK8e,IAAI27C,GACvBE,EAAc36D,KAAK+e,IAAI07C,GAEvBG,EAAcD,EAAcxG,EAAgB5gE,MAC7CmnE,GAAetG,EAAiB5gE,QAAUgnE,EAAYpG,EAAiB1wB,OAAS,KAC/E82B,EAAY,EAAIF,GAEpBhsB,EAAQ96C,OAASwM,KAAKnH,IAAIgxB,EAAGof,UAAWqF,EAAQ96C,OAASonE,EAAcL,GAEvE,IAEIzK,EAAaE,EAFb6K,EAAahxC,EAAGiZ,gBAAgB,GAAKjZ,EAAG7rB,KACxC88D,EAAcjxC,EAAG3rB,MAAQ2rB,EAAGiZ,gBAAgBjZ,EAAGgZ,WAAWh5C,OAAS,GAKnE2wE,GACH1K,EAAcqK,EACbO,EAAcN,EAAe7mE,MAAQonE,EAAcP,EAAe12B,OAClEi3B,GAAeP,EAAe5mE,OAAS4mE,EAAe12B,QACvDssB,EAAemK,EACdQ,GAAeN,EAAc7mE,OAAS6mE,EAAc32B,QACpDg3B,EAAcL,EAAc9mE,MAAQonE,EAAcN,EAAc32B,SAEjEosB,EAAcsK,EAAe7mE,MAAQ,EACrCy8D,EAAeqK,EAAc9mE,MAAQ,GAKtCs2B,EAAGimC,YAAc9vD,KAAKlH,KAAKg3D,EAAc+K,GAAchxC,EAAGt2B,OAASs2B,EAAGt2B,MAAQsnE,GAAa,GAAK,EAChGhxC,EAAGmmC,aAAehwD,KAAKlH,KAAKk3D,EAAe8K,GAAejxC,EAAGt2B,OAASs2B,EAAGt2B,MAAQunE,GAAc,GAAK,MAC9F,CAGN,IAAIC,EAAapvB,EAAS8qB,OAAS,EAGlCtC,EAAgB5gE,MAAQgnE,EAAcD,EAEvChsB,EAAQ/6C,MAAQyM,KAAKnH,IAAIgxB,EAAGmf,SAAUsF,EAAQ/6C,MAAQwnE,GAEtDlxC,EAAGkmC,WAAaqK,EAAe5mE,OAAS,EACxCq2B,EAAGomC,cAAgBoK,EAAc7mE,OAAS,GAI5Cq2B,EAAGmxC,gBAECp2B,GACH/a,EAAGt2B,MAAQs2B,EAAG+Y,QAAUxV,EAAM75B,MAAQs2B,EAAGutC,QAAQp5D,KAAO6rB,EAAGutC,QAAQl5D,MACnE2rB,EAAGr2B,OAAS86C,EAAQ96C,SAEpBq2B,EAAGt2B,MAAQ+6C,EAAQ/6C,MACnBs2B,EAAGr2B,OAASq2B,EAAG+Y,QAAUxV,EAAM55B,OAASq2B,EAAGutC,QAAQ3pC,IAAM5D,EAAGutC,QAAQ1pC,SAQtEstC,cAAe,WACd,IAAInxC,EAAKxhC,KACLwhC,EAAGutC,UACNvtC,EAAGutC,QAAQp5D,KAAOgC,KAAKlH,IAAI+wB,EAAGimC,YAAajmC,EAAGutC,QAAQp5D,MACtD6rB,EAAGutC,QAAQ3pC,IAAMztB,KAAKlH,IAAI+wB,EAAGkmC,WAAYlmC,EAAGutC,QAAQ3pC,KACpD5D,EAAGutC,QAAQl5D,MAAQ8B,KAAKlH,IAAI+wB,EAAGmmC,aAAcnmC,EAAGutC,QAAQl5D,OACxD2rB,EAAGutC,QAAQ1pC,OAAS1tB,KAAKlH,IAAI+wB,EAAGomC,cAAepmC,EAAGutC,QAAQ1pC,UAI5DkrC,SAAU,WACTnlC,GAAUtpB,SAAS9hB,KAAKe,QAAQwvE,SAAU,CAACvwE,QAI5Cu8C,aAAc,WACb,IAAIyM,EAAMhpD,KAAKe,QAAQm9C,SACvB,MAAe,QAAR8K,GAAyB,WAARA,GAEzB4pB,YAAa,WACZ,OAAO5yE,KAAKe,QAAQ2oD,WAIrBhF,cAAe,SAASmuB,GAEvB,GAAIjzC,GAAcizC,GACjB,OAAO/zB,IAGR,IAAyB,kBAAb+zB,GAAyBA,aAAoBxnE,UAAYoL,SAASo8D,GAC7E,OAAO/zB,IAIR,GAAI+zB,EACH,GAAI7yE,KAAKu8C,gBACR,QAAmBv3C,IAAf6tE,EAAS9zD,EACZ,OAAO/e,KAAK0kD,cAAcmuB,EAAS9zD,QAE9B,QAAmB/Z,IAAf6tE,EAAS/+C,EACnB,OAAO9zB,KAAK0kD,cAAcmuB,EAAS/+C,GAKrC,OAAO++C,GAGR5C,sBAAuB,SAAS1sB,GAC/B,IACI1wB,EAAQva,EAAGkoB,EADXgB,EAAKxhC,KAiBT,IAdAwhC,EAAG+hB,MAAQA,EAAMpzC,KAAI,SAASq9D,GAC7B,OAAOA,EAAKjsE,SAGbigC,EAAGuvC,8BAKHl+C,EAAS2O,EAAGwvC,qBAAqBztB,IAAU/hB,EAAG+hB,MAE9C/hB,EAAG0vC,6BAGE54D,EAAI,EAAGkoB,EAAO+iB,EAAM/hD,OAAQ8W,EAAIkoB,IAAQloB,EAC5CirC,EAAMjrC,GAAG6jC,MAAQtpB,EAAOva,GAGzB,OAAOua,GAMR8+C,eAAgB,WACf,IAAInwC,EAAKxhC,KACLmxE,EAAa3vC,EAAG0tC,YAOpB,OALKiC,IACJ3vC,EAAG0tC,YAAciC,EAAa9F,GAAkB7pC,EAAGwD,IAAK0nC,GAAqBlrC,EAAGzgC,QAAQwiD,OAAQ/hB,EAAGgZ,WAAYhZ,EAAG6tC,kBAClH7tC,EAAG4tC,kBAAoB+B,EAAW1F,OAAOvgE,OAGnCimE,GAMRvzB,YAAa,SAASr8C,GACrB,IAAIyN,EAAOosC,EAAK5qC,EAAKC,EAerB,OAbInP,GAAQC,IACXyN,GAAShP,KAAK0kD,cAAcnjD,EAAM,IAClC65C,GAAOp7C,KAAK0kD,cAAcnjD,EAAM,IAChCiP,EAAMmH,KAAKnH,IAAIxB,EAAOosC,GACtB3qC,EAAMkH,KAAKlH,IAAIzB,EAAOosC,KAEtB75C,GAASvB,KAAK0kD,cAAcnjD,GAC5ByN,OAAQhK,EACRo2C,EAAM75C,EACNiP,EAAMjP,EACNkP,EAAMlP,GAGA,CACNiP,IAAKA,EACLC,IAAKA,EACLzB,MAAOA,EACPosC,IAAKA,IAOP03B,eAAgB,SAASD,GACxB,IAAI99D,EAAI/U,KAAK49C,YAAYi1B,GACzB,YAAgB7tE,IAAZ+P,EAAE/F,MACE,IAAM+F,EAAE/F,MAAQ,KAAO+F,EAAEqmC,IAAM,KAG/Bp7C,KAAK0kD,cAAcmuB,IAQ5Bpc,iBAAkBrrB,GAAU1L,KAS5B4d,iBAAkBlS,GAAU1L,KAO5BqzC,iBAAkB3nC,GAAU1L,KAM5B+a,gBAAiB,SAAS74C,GACzB,IAAI4/B,EAAKxhC,KACLq7C,EAAS7Z,EAAGzgC,QAAQs6C,OACpBm2B,EAAWhwC,EAAGktC,OAAOltE,OACrB8vE,EAAY,EAAI35D,KAAKlH,IAAI+gE,GAAYn2B,EAAS,EAAI,GAAI,GAE1D,OAAOz5C,EAAQ,GAAKA,EAAQ4vE,EAAW,EACpC,KACAhwC,EAAGqd,mBAAmBj9C,EAAQ0vE,GAAaj2B,EAASi2B,EAAY,EAAI,KAOxEzyB,mBAAoB,SAASm0B,GAC5B,IAAIxxC,EAAKxhC,KAMT,OAJIwhC,EAAGsvC,iBACNkC,EAAU,EAAIA,GAGRxxC,EAAG+b,YAAcy1B,EAAUxxC,EAAG+Y,SAGtC04B,mBAAoB,SAASjO,GAC5B,IAAIgO,GAAWhO,EAAQhlE,KAAKu9C,aAAev9C,KAAKu6C,QAChD,OAAOv6C,KAAK8wE,eAAiB,EAAIkC,EAAUA,GAO5C12B,aAAc,WACb,OAAOt8C,KAAKs9C,iBAAiBt9C,KAAKkzE,iBAGnCA,aAAc,WACb,IAAI1xC,EAAKxhC,KACLwQ,EAAMgxB,EAAGhxB,IACTC,EAAM+wB,EAAG/wB,IAEb,OAAO+wB,EAAGgkB,YAAc,EACvBh1C,EAAM,GAAKC,EAAM,EAAIA,EACrBD,EAAM,GAAKC,EAAM,EAAID,EACrB,GAOFigE,UAAW,SAASltB,GACnB,IAQIjrC,EAAGkoB,EAAM6sC,EAAS8F,EARlB3xC,EAAKxhC,KACLsjD,EAAW9hB,EAAGzgC,QAAQwiD,MACtBypB,EAAaxrC,EAAG+Y,QAChB0yB,EAAa3pB,EAAS8vB,eAAiBpG,EAAaxrC,EAAG6xC,YAAc,EACrEtG,EAAezpB,EAAS0oB,MAAMrY,QAAU2Z,GAAgB/pB,GAAS,GACjE+vB,EAAkBvG,EAAavrE,OAC/B4W,EAAQ20D,EAAa,GACrBhwB,EAAOgwB,EAAauG,EAAkB,GAI1C,GAAIA,EAAkBrG,EAErB,OADAM,GAAWhqB,EAAOwpB,EAAcuG,EAAkBrG,GAC3CN,GAAWppB,GAKnB,GAFA8pB,EAAUP,GAAiBC,EAAcxpB,EAAOypB,EAAYC,GAExDqG,EAAkB,EAAG,CACxB,IAAKh7D,EAAI,EAAGkoB,EAAO8yC,EAAkB,EAAGh7D,EAAIkoB,EAAMloB,IACjD++B,GAAKkM,EAAO8pB,EAASN,EAAaz0D,GAAIy0D,EAAaz0D,EAAI,IAKxD,OAHA66D,EAAkBG,EAAkB,GAAKv2B,EAAO3kC,IAAUk7D,EAAkB,GAAK,KACjFj8B,GAAKkM,EAAO8pB,EAASjiC,GAAUxL,cAAcuzC,GAAmB,EAAI/6D,EAAQ+6D,EAAiB/6D,GAC7Fi/B,GAAKkM,EAAO8pB,EAAStwB,EAAM3R,GAAUxL,cAAcuzC,GAAmB5vB,EAAM/hD,OAASu7C,EAAOo2B,GACrFxG,GAAWppB,GAGnB,OADAlM,GAAKkM,EAAO8pB,GACLV,GAAWppB,IAMnB8vB,UAAW,WACV,IAAI7xC,EAAKxhC,KACLuzE,EAAc/xC,EAAGzgC,QAAQwiD,MAGzBiwB,EAAMpoC,GAAUg5B,UAAU5iC,EAAGiwC,eAC7Bh7C,EAAM9e,KAAKigC,IAAIjgC,KAAK8e,IAAI+8C,IACxB98C,EAAM/e,KAAKigC,IAAIjgC,KAAK+e,IAAI88C,IAExBrC,EAAa3vC,EAAGmwC,iBAChBv5B,EAAUm7B,EAAYjF,iBAAmB,EACzC55C,EAAIy8C,EAAaA,EAAW1F,OAAOvgE,MAAQktC,EAAU,EACrDjyC,EAAIgrE,EAAaA,EAAWzF,QAAQvgE,OAASitC,EAAU,EAG3D,OAAO5W,EAAG+a,eACPp2C,EAAIswB,EAAM/B,EAAIgC,EAAMhC,EAAI+B,EAAMtwB,EAAIuwB,EAClCvwB,EAAIuwB,EAAMhC,EAAI+B,EAAMtwB,EAAIswB,EAAM/B,EAAIgC,GAMtCg7C,WAAY,WACX,IAGIp5D,EAAGkoB,EAAMkP,EAHTlO,EAAKxhC,KACL+kC,EAAQvD,EAAGuD,MACXsgB,EAAU7jB,EAAGzgC,QAAQskD,QAGzB,GAAgB,SAAZA,EACH,QAASA,EAIV,IAAK/sC,EAAI,EAAGkoB,EAAOuE,EAAMxhC,KAAK4sC,SAAS3uC,OAAQ8W,EAAIkoB,IAAQloB,EAC1D,GAAIysB,EAAM2b,iBAAiBpoC,KAC1Bo3B,EAAO3K,EAAMqL,eAAe93B,GACxBo3B,EAAKK,UAAYvO,EAAGv2B,IAAMykC,EAAKO,UAAYzO,EAAGv2B,IACjD,OAAO,EAKV,OAAO,GAMRwoE,sBAAuB,SAASp7B,GAC/B,IAkBIq7B,EAAap7D,EAAGk1D,EAAMrC,EAAWwI,EACjCC,EAAKC,EAAKC,EAAKC,EAAKt7B,EAAIC,EAAIviB,EAAID,EAAI6e,EAAWi/B,EAAWv9B,EAAYC,EAnBtElV,EAAKxhC,KACL+kC,EAAQvD,EAAGuD,MACXhkC,EAAUygC,EAAGzgC,QACbu6C,EAAYv6C,EAAQu6C,UACpB4C,EAAWn9C,EAAQm9C,SACnB3C,EAAkBD,EAAUC,gBAC5BgB,EAAe/a,EAAG+a,eAClBgH,EAAQ/hB,EAAGgvC,aACXyD,EAAc1wB,EAAM/hD,QAAU+5C,EAAkB,EAAI,GAEpD24B,EAAK/H,GAAkB7wB,GACvBkN,EAAQ,GACR2rB,EAAY74B,EAAUzG,WAAa7U,GAAsBsb,EAAUvG,UAAW,EAAG,GAAK,EACtFq/B,EAAgBD,EAAY,EAC5BE,EAAajpC,GAAU25B,YACvBuP,EAAmB,SAAStP,GAC/B,OAAOqP,EAAWtvC,EAAOigC,EAAOmP,IA+BjC,IA1BiB,QAAbj2B,GACHw1B,EAAcY,EAAiB9yC,EAAG6D,QAClCwuC,EAAMryC,EAAG6D,OAAS6uC,EAClBH,EAAML,EAAcU,EACpB17B,EAAK47B,EAAiBj8B,EAAUjT,KAAOgvC,EACvCl+C,EAAKmiB,EAAUhT,QACQ,WAAb6Y,GACVw1B,EAAcY,EAAiB9yC,EAAG4D,KAClCsT,EAAKL,EAAUjT,IACflP,EAAKo+C,EAAiBj8B,EAAUhT,QAAU+uC,EAC1CP,EAAMH,EAAcU,EACpBL,EAAMvyC,EAAG4D,IAAM8uC,GACQ,SAAbh2B,GACVw1B,EAAcY,EAAiB9yC,EAAG3rB,OAClC+9D,EAAMpyC,EAAG3rB,MAAQq+D,EACjBJ,EAAMJ,EAAcU,EACpB37B,EAAK67B,EAAiBj8B,EAAU1iC,MAAQy+D,EACxCj+C,EAAKkiB,EAAUxiC,QAEf69D,EAAcY,EAAiB9yC,EAAG7rB,MAClC8iC,EAAKJ,EAAU1iC,KACfwgB,EAAKm+C,EAAiBj8B,EAAUxiC,OAASu+D,EACzCR,EAAMF,EAAcU,EACpBN,EAAMtyC,EAAG7rB,KAAOu+D,GAGZ57D,EAAI,EAAGA,EAAI27D,IAAe37D,EAC9Bk1D,EAAOjqB,EAAMjrC,IAAM,GAGfsnB,GAAc4tC,EAAKrxB,QAAU7jC,EAAIirC,EAAM/hD,SAIvC8W,IAAMkpB,EAAGitC,eAAiB1tE,EAAQs6C,SAAWE,GAEhDxG,EAAYuG,EAAUsyB,cACtBoG,EAAY14B,EAAUuyB,cACtBp3B,EAAa6E,EAAUwyB,oBAAsB,GAC7Cp3B,EAAmB4E,EAAUyyB,0BAA4B,IAEzDh5B,EAAY/U,GAAsBsb,EAAUvG,UAAWz8B,EAAG,GAC1D07D,EAAYh0C,GAAsBsb,EAAUr3C,MAAOqU,EAAG,mBACtDm+B,EAAa6E,EAAU7E,YAAc,GACrCC,EAAmB4E,EAAU5E,kBAAoB,GAGlDy0B,EAAYF,GAAoBzpC,EAAIgsC,EAAKv8B,QAAU34B,EAAGijC,QAGpCv2C,IAAdmmE,IAIJwI,EAAmBU,EAAWtvC,EAAOomC,EAAWp2B,GAE5CwH,EACHq3B,EAAME,EAAMr7B,EAAKtiB,EAAKw9C,EAEtBE,EAAME,EAAMr7B,EAAKxiB,EAAKy9C,EAGvBnrB,EAAMz+C,KAAK,CACV6pE,IAAKA,EACLC,IAAKA,EACLC,IAAKA,EACLC,IAAKA,EACLt7B,GAAIA,EACJC,GAAIA,EACJviB,GAAIA,EACJD,GAAIA,EACJhrB,MAAO6pC,EACP9wC,MAAO+vE,EACPv9B,WAAYA,EACZC,iBAAkBA,MAOpB,OAHA8R,EAAMyrB,YAAcA,EACpBzrB,EAAMkrB,YAAcA,EAEblrB,GAMR+rB,mBAAoB,WACnB,IAYIj8D,EAAGkoB,EAAMgtC,EAAMrxB,EAAOp9B,EAAG+U,EAAGqW,EAAW66B,EAAO18B,EAAMU,EAAYwrC,EAAWC,EAZ3EjzC,EAAKxhC,KACLe,EAAUygC,EAAGzgC,QACbwyE,EAAcxyE,EAAQwiD,MACtBrF,EAAWn9C,EAAQm9C,SACnBw2B,EAAanB,EAAYnF,OACzB7xB,EAAe/a,EAAG+a,eAClBgH,EAAQ/hB,EAAGgvC,aACXmE,EAAQjI,GAAqB6G,GAC7BrB,EAAcqB,EAAYn7B,QAC1B87B,EAAK/H,GAAkBprE,EAAQu6C,WAC/B3V,GAAYyF,GAAUg5B,UAAU5iC,EAAGiwC,eACnCjpB,EAAQ,GAiBZ,IAdiB,QAAbtK,GACHpqB,EAAI0N,EAAG6D,OAAS6uC,EAAKhC,EACrB/nC,EAAaxE,EAAsB,OAAX,UACD,WAAbuY,GACVpqB,EAAI0N,EAAG4D,IAAM8uC,EAAKhC,EAClB/nC,EAAaxE,EAAsB,QAAX,UACD,SAAbuY,GACVn/B,EAAIyiB,EAAG3rB,OAAS6+D,EAAa,EAAIR,GAAMhC,EACvC/nC,EAAYuqC,EAAa,OAAS,UAElC31D,EAAIyiB,EAAG7rB,MAAQ++D,EAAa,EAAIR,GAAMhC,EACtC/nC,EAAYuqC,EAAa,QAAU,QAG/Bp8D,EAAI,EAAGkoB,EAAO+iB,EAAM/hD,OAAQ8W,EAAIkoB,IAAQloB,EAC5Ck1D,EAAOjqB,EAAMjrC,GACb6jC,EAAQqxB,EAAKrxB,MAGTvc,GAAcuc,KAIlB6oB,EAAQxjC,EAAGiZ,gBAAgB+yB,EAAKv8B,QAAU34B,GAAKi7D,EAAYhF,YAC3DjmC,EAAOklC,EAAKxB,MAAQ2I,EAAM3I,MAAQ2I,EAAM1I,MACxCjjC,EAAaV,EAAKU,WAClBwrC,EAAYlzE,GAAQ66C,GAASA,EAAM36C,OAAS,EAExC+6C,GACHx9B,EAAIimD,EACJyP,EAA0B,QAAbv2B,IACPvY,EAAiB,EAAN,IAAW6uC,GAAaxrC,GACpCrD,EAAiB,EAAN,IAAWqD,IAE3BlV,EAAIkxC,EACJyP,GAAc,EAAID,GAAaxrC,EAAa,GAG7Cwf,EAAMz+C,KAAK,CACVgV,EAAGA,EACH+U,EAAGA,EACH6R,SAAUA,EACVwW,MAAOA,EACP7T,KAAMA,EACNmsC,WAAYA,EACZtqC,UAAWA,KAIb,OAAOqe,GAMRosB,UAAW,SAASv8B,GACnB,IAAI7W,EAAKxhC,KACLs7C,EAAY9Z,EAAGzgC,QAAQu6C,UAE3B,GAAKA,EAAU+J,QAAf,CAIA,IAKIn6C,EAAOjH,EAAOqU,EAAGkoB,EAAM7+B,EALvBqjC,EAAMxD,EAAGwD,IACTD,EAAQvD,EAAGuD,MACXsvC,EAAajpC,GAAU25B,YACvBoP,EAAY74B,EAAUzG,WAAa7U,GAAsBsb,EAAUvG,UAAW,EAAG,GAAK,EACtFyT,EAAQhnB,EAAG8tC,iBAAmB9tC,EAAG8tC,eAAiB9tC,EAAGiyC,sBAAsBp7B,IAG/E,IAAK//B,EAAI,EAAGkoB,EAAOgoB,EAAMhnD,OAAQ8W,EAAIkoB,IAAQloB,EAC5C3W,EAAO6mD,EAAMlwC,GACbpN,EAAQvJ,EAAKuJ,MACbjH,EAAQtC,EAAKsC,MAETiH,GAASjH,IACZ+gC,EAAIiB,OACJjB,EAAI+P,UAAY7pC,EAChB85B,EAAIqR,YAAcpyC,EACd+gC,EAAIuS,cACPvS,EAAIuS,YAAY51C,EAAK80C,YACrBzR,EAAIwS,eAAiB71C,EAAK+0C,kBAG3B1R,EAAIqB,YAEAiV,EAAU8wB,YACbpnC,EAAIM,OAAO3jC,EAAKiyE,IAAKjyE,EAAKkyE,KAC1B7uC,EAAIsB,OAAO3kC,EAAKmyE,IAAKnyE,EAAKoyE,MAGvBz4B,EAAUqyB,kBACb3oC,EAAIM,OAAO3jC,EAAK82C,GAAI92C,EAAK+2C,IACzB1T,EAAIsB,OAAO3kC,EAAKw0B,GAAIx0B,EAAKu0B,KAG1B8O,EAAIwB,SACJxB,EAAIoB,WAIN,GAAI+tC,EAAW,CAEd,IAGI17B,EAAItiB,EAAIuiB,EAAIxiB,EAHZ2+C,EAAiBV,EACjBW,EAAgB90C,GAAsBsb,EAAUvG,UAAWyT,EAAMyrB,YAAc,EAAG,GAClFP,EAAclrB,EAAMkrB,YAGpBlyC,EAAG+a,gBACN9D,EAAK47B,EAAWtvC,EAAOvD,EAAG7rB,KAAMk/D,GAAkBA,EAAiB,EACnE1+C,EAAKk+C,EAAWtvC,EAAOvD,EAAG3rB,MAAOi/D,GAAiBA,EAAgB,EAClEp8B,EAAKxiB,EAAKw9C,IAEVh7B,EAAK27B,EAAWtvC,EAAOvD,EAAG4D,IAAKyvC,GAAkBA,EAAiB,EAClE3+C,EAAKm+C,EAAWtvC,EAAOvD,EAAG6D,OAAQyvC,GAAiBA,EAAgB,EACnEr8B,EAAKtiB,EAAKu9C,GAGX1uC,EAAI+P,UAAYo/B,EAChBnvC,EAAIqR,YAAcrW,GAAsBsb,EAAUr3C,MAAO,GACzD+gC,EAAIqB,YACJrB,EAAIM,OAAOmT,EAAIC,GACf1T,EAAIsB,OAAOnQ,EAAID,GACf8O,EAAIwB,YAONuuC,YAAa,WACZ,IAAIvzC,EAAKxhC,KACLuzE,EAAc/xC,EAAGzgC,QAAQwiD,MAE7B,GAAKgwB,EAAYluB,QAAjB,CAIA,IAEI/sC,EAAGmoC,EAAGjgB,EAAMinB,EAAM9lD,EAAM4pE,EAAUpvB,EAAOroB,EAFzCkR,EAAMxD,EAAGwD,IACTwjB,EAAQhnB,EAAG+tC,cAAgB/tC,EAAG+tC,YAAc/tC,EAAG+yC,sBAGnD,IAAKj8D,EAAI,EAAGkoB,EAAOgoB,EAAMhnD,OAAQ8W,EAAIkoB,IAAQloB,EAAG,CAe/C,GAdA3W,EAAO6mD,EAAMlwC,GACbizD,EAAW5pE,EAAK2mC,KAGhBtD,EAAIiB,OACJjB,EAAIkB,UAAUvkC,EAAKod,EAAGpd,EAAKmyB,GAC3BkR,EAAI/G,OAAOt8B,EAAKgkC,UAChBX,EAAIsD,KAAOijC,EAASt0C,OACpB+N,EAAIoR,UAAYm1B,EAAStnE,MACzB+gC,EAAI22B,aAAe,SACnB32B,EAAImF,UAAYxoC,EAAKwoC,UAErBgS,EAAQx6C,EAAKw6C,MACbroB,EAAInyB,EAAK8yE,WACLnzE,GAAQ66C,GACX,IAAKsE,EAAI,EAAGgH,EAAOtL,EAAM36C,OAAQi/C,EAAIgH,IAAQhH,EAE5Czb,EAAI42B,SAAS,GAAKzf,EAAMsE,GAAI,EAAG3sB,GAC/BA,GAAKy3C,EAASviC,gBAGfhE,EAAI42B,SAASzf,EAAO,EAAGroB,GAExBkR,EAAIoB,aAON4uC,WAAY,WACX,IAAIxzC,EAAKxhC,KACLglC,EAAMxD,EAAGwD,IACTjkC,EAAUygC,EAAGzgC,QACbitE,EAAajtE,EAAQitE,WAEzB,GAAKA,EAAW3oB,QAAhB,CAIA,IAMI4vB,EAAaC,EANbC,EAAsBvK,GAAiBoD,EAAWvB,UAAWrkC,EAAcpW,OAAO8V,kBAClFstC,EAAiBhqC,GAAUrqC,QAAQ6nC,WAAWolC,GAC9CqH,EAAoBjqC,GAAUrqC,QAAQ4nC,UAAUqlC,EAAW51B,SAC3Dk9B,EAAiBF,EAAepsC,WAAa,EAC7CkV,EAAWn9C,EAAQm9C,SACnBvY,EAAW,EAGf,GAAInE,EAAG+a,eACN04B,EAAczzC,EAAG7rB,KAAO6rB,EAAGt2B,MAAQ,EACnCgqE,EAA2B,WAAbh3B,EACX1c,EAAG6D,OAASiwC,EAAiBD,EAAkBhwC,OAC/C7D,EAAG4D,IAAMkwC,EAAiBD,EAAkBjwC,QACzC,CACN,IAAImwC,EAAsB,SAAbr3B,EACb+2B,EAAcM,EACX/zC,EAAG7rB,KAAO2/D,EAAiBD,EAAkBjwC,IAC7C5D,EAAG3rB,MAAQy/D,EAAiBD,EAAkBjwC,IACjD8vC,EAAc1zC,EAAG4D,IAAM5D,EAAGr2B,OAAS,EACnCw6B,EAAW4vC,GAAU,GAAM59D,KAAK4e,GAAK,GAAM5e,KAAK4e,GAGjDyO,EAAIiB,OACJjB,EAAIkB,UAAU+uC,EAAaC,GAC3BlwC,EAAI/G,OAAO0H,GACXX,EAAImF,UAAY,SAChBnF,EAAI22B,aAAe,SACnB32B,EAAIoR,UAAY++B,EAChBnwC,EAAIsD,KAAO8sC,EAAen+C,OAC1B+N,EAAI42B,SAASoS,EAAWC,YAAa,EAAG,GACxCjpC,EAAIoB,YAGL0L,KAAM,SAASuG,GACd,IAAI7W,EAAKxhC,KAEJwhC,EAAGkwC,eAIRlwC,EAAGozC,UAAUv8B,GACb7W,EAAGwzC,aACHxzC,EAAGuzC,gBAMJrpB,QAAS,WACR,IAAIlqB,EAAKxhC,KACL6gD,EAAOrf,EAAGzgC,QACVy0E,EAAK30B,EAAK0C,OAAS1C,EAAK0C,MAAMruB,GAAK,EACnCugD,EAAK50B,EAAKvF,WAAauF,EAAKvF,UAAUpmB,GAAK,EAE/C,OAAKsM,EAAGkwC,cAAgB8D,IAAOC,GAAMj0C,EAAGsQ,OAAStQ,EAAGk0C,MAU7C,CAAC,CACPxgD,EAAGugD,EACH3jC,KAAM,WACLtQ,EAAGozC,UAAUnkD,MAAM+Q,EAAIzyB,WACvByyB,EAAGwzC,WAAWvkD,MAAM+Q,EAAIzyB,aAEvB,CACFmmB,EAAGsgD,EACH1jC,KAAM,WACLtQ,EAAGuzC,YAAYtkD,MAAM+Q,EAAIzyB,cAjBnB,CAAC,CACPmmB,EAAGsgD,EACH1jC,KAAM,WACLtQ,EAAGsQ,KAAKrhB,MAAM+Q,EAAIzyB,eAsBtBkuC,yBAA0B,SAAS16C,GAClC,IAAIi/B,EAAKxhC,KACLu8C,EAAe/a,EAAG+a,eACtB,OAAO/a,EAAGuD,MAAM4f,gCACd1vC,QAAO,SAASy6B,GAChB,QAASntC,GAAQmtC,EAAKntC,OAASA,KAC1Bg6C,EAAe7M,EAAKK,UAAYvO,EAAGv2B,GAAKykC,EAAKO,UAAYzO,EAAGv2B,UAKrEujE,GAAMz1C,UAAU28C,MAAQlH,GAAMz1C,UAAU+Y,KAExC,IAAI6jC,GAAanH,GAEboH,GAAkBxqC,GAAUxL,cAE5Bi2C,GAAgB,CACnB33B,SAAU,UAGP43B,GAAiBH,GAAW/1E,OAAO,CACtCgwE,oBAAqB,WACpB,IAOI9hC,EAPAtM,EAAKxhC,KACL6yB,EAAS2O,EAAGmtC,aACZoH,EAAYv0C,EAAGzgC,QAAQwiD,MACvB/yC,EAAMulE,EAAUvlE,IAChBC,EAAMslE,EAAUtlE,IAChBulE,EAAW,EACXC,EAAWpjD,EAAOrxB,OAAS,OAGnBwD,IAARwL,IAEHs9B,EAAYjb,EAAOxc,QAAQ7F,GACvBs9B,GAAa,IAChBkoC,EAAWloC,SAID9oC,IAARyL,IAEHq9B,EAAYjb,EAAOxc,QAAQ5F,GACvBq9B,GAAa,IAChBmoC,EAAWnoC,IAIbtM,EAAGw0C,SAAWA,EACdx0C,EAAGy0C,SAAWA,EACdz0C,EAAGhxB,IAAMqiB,EAAOmjD,GAChBx0C,EAAG/wB,IAAMoiB,EAAOojD,IAGjBlG,WAAY,WACX,IAAIvuC,EAAKxhC,KACL6yB,EAAS2O,EAAGmtC,aACZqH,EAAWx0C,EAAGw0C,SACdC,EAAWz0C,EAAGy0C,SAGlBz0C,EAAG+hB,MAAsB,IAAbyyB,GAAkBC,IAAapjD,EAAOrxB,OAAS,EAAKqxB,EAASA,EAAOpgB,MAAMujE,EAAUC,EAAW,IAG5Gxf,iBAAkB,SAAS70D,EAAOqtC,GACjC,IAAIzN,EAAKxhC,KACL+kC,EAAQvD,EAAGuD,MAEf,OAAIA,EAAMqL,eAAenB,GAAc+Q,WAAWzP,qBAAuB/O,EAAGv2B,GACpEu2B,EAAGkjB,cAAc3f,EAAMxhC,KAAK4sC,SAASlB,GAAc1rC,KAAK3B,IAGzD4/B,EAAGmtC,aAAa/sE,IAGxB6vC,WAAY,WACX,IAAIjQ,EAAKxhC,KACLq7C,EAAS7Z,EAAGzgC,QAAQs6C,OACpBkI,EAAQ/hB,EAAG+hB,MAEfoyB,GAAW58C,UAAU0Y,WAAWzwC,KAAKwgC,GAEhCA,EAAG+a,iBAEP/a,EAAGsvC,gBAAkBtvC,EAAGsvC,gBAGpBvtB,IAIL/hB,EAAG00C,YAAc10C,EAAGw0C,UAAY36B,EAAS,GAAM,GAC/C7Z,EAAG20C,YAAcx+D,KAAKlH,IAAI8yC,EAAM/hD,QAAU65C,EAAS,EAAI,GAAI,KAI5DiC,iBAAkB,SAAS/7C,EAAOK,EAAOqtC,GACxC,IACImnC,EAAevjD,EAAQy/B,EADvB9wB,EAAKxhC,KAqBT,OAlBK41E,GAAgBh0E,IAAWg0E,GAAgB3mC,KAC/C1tC,EAAQigC,EAAGuD,MAAMxhC,KAAK4sC,SAASlB,GAAc1rC,KAAK3B,IAK9Cg0E,GAAgBr0E,KACpB60E,EAAgB50C,EAAG+a,eAAiBh7C,EAAMwd,EAAIxd,EAAMuyB,SAE/B9uB,IAAlBoxE,QAA0CpxE,IAAVzD,GAAuBq5B,MAAMh5B,MAChEixB,EAAS2O,EAAGmtC,aACZptE,EAAQ6pC,GAAUtL,eAAes2C,EAAe70E,GAChD+wD,EAAMz/B,EAAOxc,QAAQ9U,GACrBK,GAAiB,IAAT0wD,EAAaA,EAAM1wD,EACvBg5B,MAAMh5B,KACTA,EAAQL,IAGHigC,EAAGqd,oBAAoBj9C,EAAQ4/B,EAAG00C,aAAe10C,EAAG20C,cAG5D17B,gBAAiB,SAAS74C,GACzB,IAAI2hD,EAAQvjD,KAAKujD,MACjB,OAAO3hD,EAAQ,GAAKA,EAAQ2hD,EAAM/hD,OAAS,EACxC,KACAxB,KAAKs9C,iBAAiBiG,EAAM3hD,GAAQA,EAAQ5B,KAAKg2E,WAGrDjD,iBAAkB,SAAS/N,GAC1B,IAAIxjC,EAAKxhC,KACLuB,EAAQoW,KAAKif,MAAM4K,EAAG00C,YAAc10C,EAAGyxC,mBAAmBjO,GAASxjC,EAAG20C,aAC1E,OAAOx+D,KAAKnH,IAAImH,KAAKlH,IAAIlP,EAAO,GAAIigC,EAAG+hB,MAAM/hD,OAAS,IAGvD86C,aAAc,WACb,OAAOt8C,KAAKqlC,UAKVgxC,GAAYR,GAChBC,GAAeO,UAAYA,GAE3B,IAAI32C,GAAO0L,GAAU1L,KACjB42C,GAAkBlrC,GAAUxL,cAQhC,SAAS22C,GAAcC,EAAmBC,GACzC,IAeItJ,EAAQuJ,EAASC,EAASC,EAf1BrzB,EAAQ,GAKRszB,EAAc,MACdC,EAAWN,EAAkBM,SAC7BC,EAAOD,GAAY,EACnBE,EAAeR,EAAkBS,SAAW,EAC5CzmE,EAAMgmE,EAAkBhmE,IACxBC,EAAM+lE,EAAkB/lE,IACxBymE,EAAYV,EAAkBU,UAC9BC,EAAOV,EAAUjmE,IACjB4mE,EAAOX,EAAUhmE,IACjB48D,EAAUjiC,GAAUs7B,SAAS0Q,EAAOD,GAAQH,EAAeD,GAAQA,EAKvE,GAAI1J,EAAUwJ,GAAeP,GAAgB9lE,IAAQ8lE,GAAgB7lE,GACpE,MAAO,CAAC0mE,EAAMC,GAGfR,EAAYj/D,KAAKC,KAAKw/D,EAAO/J,GAAW11D,KAAKge,MAAMwhD,EAAO9J,GACtDuJ,EAAYI,IAEf3J,EAAUjiC,GAAUs7B,QAAQkQ,EAAYvJ,EAAU2J,EAAeD,GAAQA,GAGtED,GAAYR,GAAgBY,GAE/B/J,EAASx1D,KAAKoc,IAAI,GAAIqX,GAAUm5B,eAAe8I,KAG/CF,EAASx1D,KAAKoc,IAAI,GAAImjD,GACtB7J,EAAU11D,KAAKC,KAAKy1D,EAAUF,GAAUA,GAGzCuJ,EAAU/+D,KAAKge,MAAMwhD,EAAO9J,GAAWA,EACvCsJ,EAAUh/D,KAAKC,KAAKw/D,EAAO/J,GAAWA,EAGlCyJ,KAEER,GAAgB9lE,IAAQ46B,GAAU64B,YAAYzzD,EAAM68D,EAASA,EAAU,OAC3EqJ,EAAUlmE,IAEN8lE,GAAgB7lE,IAAQ26B,GAAU64B,YAAYxzD,EAAM48D,EAASA,EAAU,OAC3EsJ,EAAUlmE,IAIZmmE,GAAaD,EAAUD,GAAWrJ,EAGjCuJ,EADGxrC,GAAU44B,aAAa4S,EAAWj/D,KAAKif,MAAMggD,GAAYvJ,EAAU,KAC1D11D,KAAKif,MAAMggD,GAEXj/D,KAAKC,KAAKg/D,GAGvBF,EAAU/+D,KAAKif,MAAM8/C,EAAUvJ,GAAUA,EACzCwJ,EAAUh/D,KAAKif,MAAM+/C,EAAUxJ,GAAUA,EACzC5pB,EAAMx5C,KAAKusE,GAAgB9lE,GAAOkmE,EAAUlmE,GAC5C,IAAK,IAAIiwC,EAAI,EAAGA,EAAIm2B,IAAan2B,EAChC8C,EAAMx5C,KAAK4N,KAAKif,OAAO8/C,EAAUj2B,EAAI4sB,GAAWF,GAAUA,GAI3D,OAFA5pB,EAAMx5C,KAAKusE,GAAgB7lE,GAAOkmE,EAAUlmE,GAErC8yC,EAGR,IAAI8zB,GAAmB1B,GAAW/1E,OAAO,CACxC8kD,cAAe,SAASnjD,GACvB,MAAqB,kBAAVA,GACFA,EAEFo0E,GAAW58C,UAAU2rB,cAAc1jD,KAAKhB,KAAMuB,IAGtD+1E,uBAAwB,WACvB,IAAI91C,EAAKxhC,KACL6gD,EAAOrf,EAAGzgC,QACVuiD,EAAWzC,EAAK0C,MAKpB,GAAID,EAASkC,YAAa,CACzB,IAAI+xB,EAAUnsC,GAAU99B,KAAKk0B,EAAGhxB,KAC5BgnE,EAAUpsC,GAAU99B,KAAKk0B,EAAG/wB,KAE5B8mE,EAAU,GAAKC,EAAU,EAE5Bh2C,EAAG/wB,IAAM,EACC8mE,EAAU,GAAKC,EAAU,IAEnCh2C,EAAGhxB,IAAM,GAIX,IAAIinE,OAA0BzyE,IAAjBs+C,EAAS9yC,UAA+CxL,IAA1Bs+C,EAASo0B,aAChDC,OAA0B3yE,IAAjBs+C,EAAS7yC,UAA+CzL,IAA1Bs+C,EAASs0B,kBAE/B5yE,IAAjBs+C,EAAS9yC,IACZgxB,EAAGhxB,IAAM8yC,EAAS9yC,SACkBxL,IAA1Bs+C,EAASo0B,eACJ,OAAXl2C,EAAGhxB,IACNgxB,EAAGhxB,IAAM8yC,EAASo0B,aAElBl2C,EAAGhxB,IAAMmH,KAAKnH,IAAIgxB,EAAGhxB,IAAK8yC,EAASo0B,oBAIhB1yE,IAAjBs+C,EAAS7yC,IACZ+wB,EAAG/wB,IAAM6yC,EAAS7yC,SACkBzL,IAA1Bs+C,EAASs0B,eACJ,OAAXp2C,EAAG/wB,IACN+wB,EAAG/wB,IAAM6yC,EAASs0B,aAElBp2C,EAAG/wB,IAAMkH,KAAKlH,IAAI+wB,EAAG/wB,IAAK6yC,EAASs0B,eAIjCH,IAAWE,GAKVn2C,EAAGhxB,KAAOgxB,EAAG/wB,MACZgnE,EACHj2C,EAAG/wB,IAAM+wB,EAAGhxB,IAAM,EAElBgxB,EAAGhxB,IAAMgxB,EAAG/wB,IAAM,GAKjB+wB,EAAGhxB,MAAQgxB,EAAG/wB,MACjB+wB,EAAG/wB,MAEE6yC,EAASkC,aACbhkB,EAAGhxB,QAKNqnE,aAAc,WACb,IAIIZ,EAJAz1C,EAAKxhC,KACLsjD,EAAW9hB,EAAGzgC,QAAQwiD,MACtBuzB,EAAWxzB,EAASwzB,SACpB1D,EAAgB9vB,EAAS8vB,cAc7B,OAXI0D,EACHG,EAAWt/D,KAAKC,KAAK4pB,EAAG/wB,IAAMqmE,GAAYn/D,KAAKge,MAAM6L,EAAGhxB,IAAMsmE,GAAY,GAE1EG,EAAWz1C,EAAGs2C,oBACd1E,EAAgBA,GAAiB,IAG9BA,IACH6D,EAAWt/D,KAAKnH,IAAI4iE,EAAe6D,IAG7BA,GAGRa,kBAAmB,WAClB,OAAOzsE,OAAO08C,mBAGfgwB,yBAA0Br4C,GAE1BqwC,WAAY,WACX,IAAIvuC,EAAKxhC,KACL6gD,EAAOrf,EAAGzgC,QACVuiD,EAAWzC,EAAK0C,MAMhB0zB,EAAWz1C,EAAGq2C,eAClBZ,EAAWt/D,KAAKlH,IAAI,EAAGwmE,GAEvB,IAAIe,EAA0B,CAC7Bf,SAAUA,EACVzmE,IAAK8yC,EAAS9yC,IACdC,IAAK6yC,EAAS7yC,IACdymE,UAAW5zB,EAAS4zB,UACpBJ,SAAU1rC,GAAUtL,eAAewjB,EAAS20B,cAAe30B,EAASwzB,WAEjEvzB,EAAQ/hB,EAAG+hB,MAAQgzB,GAAcyB,EAAyBx2C,GAE9DA,EAAGu2C,2BAIHv2C,EAAG/wB,IAAM26B,GAAU36B,IAAI8yC,GACvB/hB,EAAGhxB,IAAM46B,GAAU56B,IAAI+yC,GAEnBD,EAASljB,SACZmjB,EAAMnjB,UAENoB,EAAGxyB,MAAQwyB,EAAG/wB,IACd+wB,EAAG4Z,IAAM5Z,EAAGhxB,MAEZgxB,EAAGxyB,MAAQwyB,EAAGhxB,IACdgxB,EAAG4Z,IAAM5Z,EAAG/wB,MAIdugE,qBAAsB,WACrB,IAAIxvC,EAAKxhC,KACTwhC,EAAG02C,eAAiB12C,EAAG+hB,MAAM9wC,QAC7B+uB,EAAGitC,cAAgBjtC,EAAG+hB,MAAMltC,QAAQ,GAEpCs/D,GAAW58C,UAAUi4C,qBAAqBhwE,KAAKwgC,IAGhDiQ,WAAY,WACX,IAII4J,EAJA7Z,EAAKxhC,KACLujD,EAAQ/hB,EAAGgZ,WACXxrC,EAAQwyB,EAAGhxB,IACX4qC,EAAM5Z,EAAG/wB,IAGbklE,GAAW58C,UAAU0Y,WAAWzwC,KAAKwgC,GAEjCA,EAAGzgC,QAAQs6C,QAAUkI,EAAM/hD,SAC9B65C,GAAUD,EAAMpsC,GAAS2I,KAAKlH,IAAI8yC,EAAM/hD,OAAS,EAAG,GAAK,EACzDwN,GAASqsC,EACTD,GAAOC,GAER7Z,EAAG00C,YAAclnE,EACjBwyB,EAAG22C,UAAY/8B,EACf5Z,EAAG20C,YAAc/6B,EAAMpsC,KAIrBopE,GAAkB,CACrBl6B,SAAU,OACVqF,MAAO,CACNzhC,SAAUmoD,GAAWxsD,WAAW6kB,SAI9B+1C,GAAc,EACdC,GAAc,EAElB,SAASC,GAAiBp7B,EAAQD,EAASxN,GAC1C,IAAI7iC,EAAM,CACT6iC,EAAKntC,UAEOyC,IAAZk4C,QAAwCl4C,IAAf0qC,EAAKiM,MAAsBjM,EAAK9tC,MAAQ,GACjE8tC,EAAKiM,OACJjsC,KAAK,KASP,YAPoB1K,IAAhBm4C,EAAOtwC,KACVswC,EAAOtwC,GAAO,CACbm8C,IAAK,GACLwvB,IAAK,KAIAr7B,EAAOtwC,GAGf,SAAS4rE,GAAU/9C,EAAOyiB,EAAQzN,EAAMnsC,GACvC,IAMI+U,EAAG/W,EANHs/C,EAAOnmB,EAAM35B,QACbm8C,EAAU2D,EAAK3D,QACfvB,EAAQ48B,GAAiBp7B,EAAQD,EAASxN,GAC1CsZ,EAAMrN,EAAMqN,IACZwvB,EAAM78B,EAAM68B,IACZh4C,EAAOj9B,EAAK/B,OAGhB,IAAK8W,EAAI,EAAGA,EAAIkoB,IAAQloB,EACvB/W,EAAQm5B,EAAMkjB,YAAYr6C,EAAK+U,IAC3BsiB,MAAMr5B,EAAMiP,MAAQoqB,MAAMr5B,EAAMkP,MAAQi/B,EAAKnsC,KAAK+U,GAAG2zB,SAIzD+c,EAAI1wC,GAAK0wC,EAAI1wC,IAAM,EACnBkgE,EAAIlgE,GAAKkgE,EAAIlgE,IAAM,EAEfuoC,EAAK63B,eACR1vB,EAAI1wC,GAAK,IACC/W,EAAMiP,IAAM,GAAKjP,EAAMkP,IAAM,EACvC+nE,EAAIlgE,IAAM/W,EAAMiP,IAEhBw4C,EAAI1wC,IAAM/W,EAAMkP,KAKnB,SAASkoE,GAAaj+C,EAAOgV,EAAMnsC,GAClC,IACI+U,EAAG/W,EADHi/B,EAAOj9B,EAAK/B,OAGhB,IAAK8W,EAAI,EAAGA,EAAIkoB,IAAQloB,EACvB/W,EAAQm5B,EAAMkjB,YAAYr6C,EAAK+U,IAC3BsiB,MAAMr5B,EAAMiP,MAAQoqB,MAAMr5B,EAAMkP,MAAQi/B,EAAKnsC,KAAK+U,GAAG2zB,SAIzDvR,EAAMlqB,IAAMmH,KAAKnH,IAAIkqB,EAAMlqB,IAAKjP,EAAMiP,KACtCkqB,EAAMjqB,IAAMkH,KAAKlH,IAAIiqB,EAAMjqB,IAAKlP,EAAMkP,MAIxC,IAAImoE,GAAevB,GAAiBz3E,OAAO,CAC1CgwE,oBAAqB,WACpB,IAQIt3D,EAAGo3B,EAAMnsC,EAAM0sB,EARfuR,EAAKxhC,KACL6gD,EAAOrf,EAAGzgC,QACVgkC,EAAQvD,EAAGuD,MACXoL,EAAWpL,EAAMxhC,KAAK4sC,SACtB6M,EAAWxb,EAAGyb,2BACd47B,EAAYh4B,EAAK3D,QACjBC,EAAS,GACT3c,EAAOwc,EAASx7C,OAMpB,GAHAggC,EAAGhxB,IAAMnF,OAAO08C,kBAChBvmB,EAAG/wB,IAAMpF,OAAO84D,uBAEEn/D,IAAd6zE,EACH,IAAKvgE,EAAI,GAAIugE,GAAavgE,EAAIkoB,IAAQloB,EACrCo3B,EAAOsN,EAAS1kC,GAChBugE,OAA2B7zE,IAAf0qC,EAAKiM,MAInB,IAAKrjC,EAAI,EAAGA,EAAIkoB,IAAQloB,EACvBo3B,EAAOsN,EAAS1kC,GAChB/U,EAAO4sC,EAAST,EAAK9tC,OAAO2B,KACxBs1E,EACHJ,GAAUj3C,EAAI2b,EAAQzN,EAAMnsC,GAE5Bo1E,GAAan3C,EAAIkO,EAAMnsC,GAIzB6nC,GAAUlL,KAAKid,GAAQ,SAAS27B,GAC/B7oD,EAAS6oD,EAAY9vB,IAAIrlD,OAAOm1E,EAAYN,KAC5Ch3C,EAAGhxB,IAAMmH,KAAKnH,IAAIgxB,EAAGhxB,IAAK46B,GAAU56B,IAAIyf,IACxCuR,EAAG/wB,IAAMkH,KAAKlH,IAAI+wB,EAAG/wB,IAAK26B,GAAU36B,IAAIwf,OAGzCuR,EAAGhxB,IAAM46B,GAAU30B,SAAS+qB,EAAGhxB,OAASoqB,MAAM4G,EAAGhxB,KAAOgxB,EAAGhxB,IAAM6nE,GACjE72C,EAAG/wB,IAAM26B,GAAU30B,SAAS+qB,EAAG/wB,OAASmqB,MAAM4G,EAAG/wB,KAAO+wB,EAAG/wB,IAAM6nE,GAGjE92C,EAAG81C,0BAIJQ,kBAAmB,WAClB,IACIvM,EADA/pC,EAAKxhC,KAGT,OAAIwhC,EAAG+a,eACC5kC,KAAKC,KAAK4pB,EAAGt2B,MAAQ,KAE7BqgE,EAAWngC,GAAUrqC,QAAQ6nC,WAAWpH,EAAGzgC,QAAQwiD,OAC5C5rC,KAAKC,KAAK4pB,EAAGr2B,OAASogE,EAASviC,cAIvC+uC,yBAA0B,WACpB/3E,KAAKu8C,gBAETv8C,KAAKujD,MAAMnjB,WAIbq2B,iBAAkB,SAAS70D,EAAOqtC,GACjC,OAAOjvC,KAAK8yE,eAAe9yE,KAAK+kC,MAAMxhC,KAAK4sC,SAASlB,GAAc1rC,KAAK3B,KAIxE07C,iBAAkB,SAAS/7C,GAC1B,IAAIigC,EAAKxhC,KACT,OAAOwhC,EAAGqd,qBAAqBrd,EAAGkjB,cAAcnjD,GAASigC,EAAG00C,aAAe10C,EAAG20C,cAG/EpD,iBAAkB,SAAS/N,GAC1B,OAAOhlE,KAAKk2E,YAAcl2E,KAAKizE,mBAAmBjO,GAAShlE,KAAKm2E,aAGjE17B,gBAAiB,SAAS74C,GACzB,IAAI2hD,EAAQvjD,KAAKk4E,eACjB,OAAIt2E,EAAQ,GAAKA,EAAQ2hD,EAAM/hD,OAAS,EAChC,KAEDxB,KAAKs9C,iBAAiBiG,EAAM3hD,OAKjCm3E,GAAcX,GAClBQ,GAAavC,UAAY0C,GAEzB,IAAIC,GAAmB5tC,GAAUtL,eAC7B2J,GAAQ2B,GAAUE,KAAK7B,MAQ3B,SAASwvC,GAAgBzC,EAAmBC,GAC3C,IAMIyC,EAAKC,EANL51B,EAAQ,GAER61B,EAAUJ,GAAiBxC,EAAkBhmE,IAAKmH,KAAKoc,IAAI,GAAIpc,KAAKge,MAAM8T,GAAMgtC,EAAUjmE,QAE1F6oE,EAAS1hE,KAAKge,MAAM8T,GAAMgtC,EAAUhmE,MACpC6oE,EAAiB3hE,KAAKC,KAAK6+D,EAAUhmE,IAAMkH,KAAKoc,IAAI,GAAIslD,IAG5C,IAAZD,GACHF,EAAMvhE,KAAKge,MAAM8T,GAAMgtC,EAAU8C,aACjCJ,EAAcxhE,KAAKge,MAAM8gD,EAAU8C,WAAa5hE,KAAKoc,IAAI,GAAImlD,IAE7D31B,EAAMx5C,KAAKqvE,GACXA,EAAUD,EAAcxhE,KAAKoc,IAAI,GAAImlD,KAErCA,EAAMvhE,KAAKge,MAAM8T,GAAM2vC,IACvBD,EAAcxhE,KAAKge,MAAMyjD,EAAUzhE,KAAKoc,IAAI,GAAImlD,KAEjD,IAAIhC,EAAYgC,EAAM,EAAIvhE,KAAKoc,IAAI,GAAIpc,KAAKigC,IAAIshC,IAAQ,EAExD,GACC31B,EAAMx5C,KAAKqvE,KAETD,EACkB,KAAhBA,IACHA,EAAc,IACZD,EACFhC,EAAYgC,GAAO,EAAI,EAAIhC,GAG5BkC,EAAUzhE,KAAKif,MAAMuiD,EAAcxhE,KAAKoc,IAAI,GAAImlD,GAAOhC,GAAaA,QAC5DgC,EAAMG,GAAWH,IAAQG,GAAUF,EAAcG,GAE1D,IAAIE,EAAWR,GAAiBxC,EAAkB/lE,IAAK2oE,GAGvD,OAFA71B,EAAMx5C,KAAKyvE,GAEJj2B,EAGR,IAAIk2B,GAAkB,CACrBv7B,SAAU,OAGVqF,MAAO,CACNzhC,SAAUmoD,GAAWxsD,WAAWitD,cAKlC,SAASgP,GAAqBn4E,EAAOw+B,GACpC,OAAOqL,GAAU30B,SAASlV,IAAUA,GAAS,EAAIA,EAAQw+B,EAG1D,IAAI45C,GAAoBhE,GAAW/1E,OAAO,CACzCgwE,oBAAqB,WACpB,IAQI3gC,EAAcS,EAAMnuC,EAAOgC,EAAM+U,EAAGkoB,EARpCgB,EAAKxhC,KACL6gD,EAAOrf,EAAGzgC,QACVgkC,EAAQvD,EAAGuD,MACXoL,EAAWpL,EAAMxhC,KAAK4sC,SACtBoM,EAAe/a,EAAG+a,eACtB,SAASq9B,EAAUlqC,GAClB,OAAO6M,EAAe7M,EAAKK,UAAYvO,EAAGv2B,GAAKykC,EAAKO,UAAYzO,EAAGv2B,GAKpEu2B,EAAGhxB,IAAMnF,OAAO08C,kBAChBvmB,EAAG/wB,IAAMpF,OAAO84D,kBAChB3iC,EAAG+3C,WAAaluE,OAAO08C,kBAEvB,IAAI8wB,EAAYh4B,EAAK3D,QACrB,QAAkBl4C,IAAd6zE,EACH,IAAK5pC,EAAe,EAAGA,EAAekB,EAAS3uC,OAAQytC,IAEtD,GADAS,EAAO3K,EAAMqL,eAAenB,GACxBlK,EAAM2b,iBAAiBzR,IAAiB2qC,EAAUlqC,SACtC1qC,IAAf0qC,EAAKiM,MAAqB,CAC1Bk9B,GAAY,EACZ,MAKH,GAAIh4B,EAAK3D,SAAW27B,EAAW,CAC9B,IAAIgB,EAAiB,GAErB,IAAK5qC,EAAe,EAAGA,EAAekB,EAAS3uC,OAAQytC,IAAgB,CACtES,EAAO3K,EAAMqL,eAAenB,GAC5B,IAAIpiC,EAAM,CACT6iC,EAAKntC,UAEcyC,IAAjB67C,EAAK3D,cAAwCl4C,IAAf0qC,EAAKiM,MAAuB1M,EAAe,GAC3ES,EAAKiM,OACJjsC,KAAK,KAEP,GAAIq1B,EAAM2b,iBAAiBzR,IAAiB2qC,EAAUlqC,GAMrD,SAL4B1qC,IAAxB60E,EAAehtE,KAClBgtE,EAAehtE,GAAO,IAGvBtJ,EAAO4sC,EAASlB,GAAc1rC,KACzB+U,EAAI,EAAGkoB,EAAOj9B,EAAK/B,OAAQ8W,EAAIkoB,EAAMloB,IAAK,CAC9C,IAAI2X,EAAS4pD,EAAehtE,GAC5BtL,EAAQigC,EAAGoc,YAAYr6C,EAAK+U,IAExBsiB,MAAMr5B,EAAMiP,MAAQoqB,MAAMr5B,EAAMkP,MAAQi/B,EAAKnsC,KAAK+U,GAAG2zB,QAAU1qC,EAAMiP,IAAM,GAAKjP,EAAMkP,IAAM,IAGhGwf,EAAO3X,GAAK2X,EAAO3X,IAAM,EACzB2X,EAAO3X,IAAM/W,EAAMkP,MAKtB26B,GAAUlL,KAAK25C,GAAgB,SAASC,GACvC,GAAIA,EAAct4E,OAAS,EAAG,CAC7B,IAAIu4E,EAAS3uC,GAAU56B,IAAIspE,GACvBE,EAAS5uC,GAAU36B,IAAIqpE,GAC3Bt4C,EAAGhxB,IAAMmH,KAAKnH,IAAIgxB,EAAGhxB,IAAKupE,GAC1Bv4C,EAAG/wB,IAAMkH,KAAKlH,IAAI+wB,EAAG/wB,IAAKupE,YAK5B,IAAK/qC,EAAe,EAAGA,EAAekB,EAAS3uC,OAAQytC,IAEtD,GADAS,EAAO3K,EAAMqL,eAAenB,GACxBlK,EAAM2b,iBAAiBzR,IAAiB2qC,EAAUlqC,GAErD,IADAnsC,EAAO4sC,EAASlB,GAAc1rC,KACzB+U,EAAI,EAAGkoB,EAAOj9B,EAAK/B,OAAQ8W,EAAIkoB,EAAMloB,IACzC/W,EAAQigC,EAAGoc,YAAYr6C,EAAK+U,IAExBsiB,MAAMr5B,EAAMiP,MAAQoqB,MAAMr5B,EAAMkP,MAAQi/B,EAAKnsC,KAAK+U,GAAG2zB,QAAU1qC,EAAMiP,IAAM,GAAKjP,EAAMkP,IAAM,IAIhG+wB,EAAGhxB,IAAMmH,KAAKnH,IAAIjP,EAAMiP,IAAKgxB,EAAGhxB,KAChCgxB,EAAG/wB,IAAMkH,KAAKlH,IAAIlP,EAAMkP,IAAK+wB,EAAG/wB,KAEd,IAAdlP,EAAMiP,MACTgxB,EAAG+3C,WAAa5hE,KAAKnH,IAAIjP,EAAMiP,IAAKgxB,EAAG+3C,cAO5C/3C,EAAGhxB,IAAM46B,GAAU30B,SAAS+qB,EAAGhxB,KAAOgxB,EAAGhxB,IAAM,KAC/CgxB,EAAG/wB,IAAM26B,GAAU30B,SAAS+qB,EAAG/wB,KAAO+wB,EAAG/wB,IAAM,KAC/C+wB,EAAG+3C,WAAanuC,GAAU30B,SAAS+qB,EAAG+3C,YAAc/3C,EAAG+3C,WAAa,KAGpEv5E,KAAKs3E,0BAGNA,uBAAwB,WACvB,IAAI91C,EAAKxhC,KACLsjD,EAAW9hB,EAAGzgC,QAAQwiD,MACtB80B,EAAc,EACdC,EAAc,GAElB92C,EAAGhxB,IAAMkpE,GAAqBp2B,EAAS9yC,IAAKgxB,EAAGhxB,KAC/CgxB,EAAG/wB,IAAMipE,GAAqBp2B,EAAS7yC,IAAK+wB,EAAG/wB,KAE3C+wB,EAAGhxB,MAAQgxB,EAAG/wB,MACF,IAAX+wB,EAAGhxB,KAAwB,OAAXgxB,EAAGhxB,KACtBgxB,EAAGhxB,IAAMmH,KAAKoc,IAAI,GAAIpc,KAAKge,MAAM8T,GAAMjI,EAAGhxB,MAAQ,GAClDgxB,EAAG/wB,IAAMkH,KAAKoc,IAAI,GAAIpc,KAAKge,MAAM8T,GAAMjI,EAAG/wB,MAAQ,KAElD+wB,EAAGhxB,IAAM6nE,EACT72C,EAAG/wB,IAAM6nE,IAGI,OAAX92C,EAAGhxB,MACNgxB,EAAGhxB,IAAMmH,KAAKoc,IAAI,GAAIpc,KAAKge,MAAM8T,GAAMjI,EAAG/wB,MAAQ,IAEpC,OAAX+wB,EAAG/wB,MACN+wB,EAAG/wB,IAAiB,IAAX+wB,EAAGhxB,IACTmH,KAAKoc,IAAI,GAAIpc,KAAKge,MAAM8T,GAAMjI,EAAGhxB,MAAQ,GACzC8nE,GAEkB,OAAlB92C,EAAG+3C,aACF/3C,EAAGhxB,IAAM,EACZgxB,EAAG+3C,WAAa/3C,EAAGhxB,IACTgxB,EAAG/wB,IAAM,EACnB+wB,EAAG+3C,WAAa5hE,KAAKoc,IAAI,GAAIpc,KAAKge,MAAM8T,GAAMjI,EAAG/wB,OAEjD+wB,EAAG+3C,WAAalB,IAKnBtI,WAAY,WACX,IAAIvuC,EAAKxhC,KACLsjD,EAAW9hB,EAAGzgC,QAAQwiD,MACtBnjB,GAAWoB,EAAG+a,eAEdi6B,EAAoB,CACvBhmE,IAAKkpE,GAAqBp2B,EAAS9yC,KACnCC,IAAKipE,GAAqBp2B,EAAS7yC,MAEhC8yC,EAAQ/hB,EAAG+hB,MAAQ01B,GAAgBzC,EAAmBh1C,GAI1DA,EAAG/wB,IAAM26B,GAAU36B,IAAI8yC,GACvB/hB,EAAGhxB,IAAM46B,GAAU56B,IAAI+yC,GAEnBD,EAASljB,SACZA,GAAWA,EACXoB,EAAGxyB,MAAQwyB,EAAG/wB,IACd+wB,EAAG4Z,IAAM5Z,EAAGhxB,MAEZgxB,EAAGxyB,MAAQwyB,EAAGhxB,IACdgxB,EAAG4Z,IAAM5Z,EAAG/wB,KAET2vB,GACHmjB,EAAMnjB,WAIR4wC,qBAAsB,WACrBhxE,KAAKi6E,WAAaj6E,KAAKujD,MAAM9wC,QAE7BkjE,GAAW58C,UAAUi4C,qBAAqBhwE,KAAKhB,OAIhDy2D,iBAAkB,SAAS70D,EAAOqtC,GACjC,OAAOjvC,KAAK8yE,eAAe9yE,KAAK+kC,MAAMxhC,KAAK4sC,SAASlB,GAAc1rC,KAAK3B,KAGxE64C,gBAAiB,SAAS74C,GACzB,IAAI2hD,EAAQvjD,KAAKi6E,WACjB,OAAIr4E,EAAQ,GAAKA,EAAQ2hD,EAAM/hD,OAAS,EAChC,KAEDxB,KAAKs9C,iBAAiBiG,EAAM3hD,KASpCs4E,mBAAoB,SAAS34E,GAC5B,IAAI23E,EAAMvhE,KAAKge,MAAM8T,GAAMloC,IACvB43E,EAAcxhE,KAAKge,MAAMp0B,EAAQoW,KAAKoc,IAAI,GAAImlD,IAElD,OAAOC,EAAcxhE,KAAKoc,IAAI,GAAImlD,IAGnCznC,WAAY,WACX,IAAIjQ,EAAKxhC,KACLgP,EAAQwyB,EAAGhxB,IACX6qC,EAAS,EAEbs6B,GAAW58C,UAAU0Y,WAAWzwC,KAAKwgC,GAEvB,IAAVxyB,IACHA,EAAQwyB,EAAG04C,mBAAmB14C,EAAG+3C,YACjCl+B,EAAS29B,GAAiBx3C,EAAGzgC,QAAQwiD,MAAMza,SAAUV,EAAcpW,OAAOgW,iBAAmBxG,EAAG+Y,SAGjG/Y,EAAG00C,YAAczsC,GAAMz6B,GACvBwyB,EAAG24C,aAAe9+B,EAClB7Z,EAAG20C,aAAe1sC,GAAMjI,EAAG/wB,KAAOg5B,GAAMz6B,KAAW,EAAIqsC,IAGxDiC,iBAAkB,SAAS/7C,GAC1B,IAAIigC,EAAKxhC,KACLgzE,EAAU,EAOd,OALAzxE,GAASigC,EAAGkjB,cAAcnjD,GAEtBA,EAAQigC,EAAGhxB,KAAOjP,EAAQ,IAC7ByxE,GAAWvpC,GAAMloC,GAASigC,EAAG00C,aAAe10C,EAAG20C,YAAc30C,EAAG24C,cAE1D34C,EAAGqd,mBAAmBm0B,IAG9BD,iBAAkB,SAAS/N,GAC1B,IAAIxjC,EAAKxhC,KACLgzE,EAAUxxC,EAAGyxC,mBAAmBjO,GACpC,OAAmB,IAAZgO,GAA4B,IAAXxxC,EAAGhxB,IACxB,EACAmH,KAAKoc,IAAI,GAAIyN,EAAG00C,aAAelD,EAAUxxC,EAAG24C,cAAgB34C,EAAG20C,gBAKhEiE,GAAcX,GAClBE,GAAkBtD,UAAY+D,GAE9B,IAAIC,GAAmBjvC,GAAUtL,eAC7Bw6C,GAA0BlvC,GAAUpL,sBACpCu6C,GAAYnvC,GAAUrqC,QAAQmoC,QAE9BsxC,GAAkB,CACrBn1B,SAAS,EAGTo1B,SAAS,EACTv8B,SAAU,YAEVkH,WAAY,CACXC,SAAS,EACTphD,MAAO,kBACP8wC,UAAW,EACX0B,WAAY,GACZC,iBAAkB,GAGnB4E,UAAW,CACVgK,UAAU,GAIX/B,MAAO,CAENm3B,mBAAmB,EAGnBC,cAAe,yBAGfC,iBAAkB,EAGlBC,iBAAkB,EAElB/4D,SAAUmoD,GAAWxsD,WAAW6kB,QAGjCijB,YAAa,CAEZF,SAAS,EAGTvc,SAAU,GAGVhnB,SAAU,SAASq6B,GAClB,OAAOA,KAKV,SAAS2+B,GAAsBj6B,GAC9B,IAAIyC,EAAWzC,EAAK0C,MAEpB,OAAID,EAAS+B,SAAWxE,EAAKwE,QACrBg1B,GAAiB/2B,EAASxa,SAAUV,EAAcpW,OAAOgW,iBAA+C,EAA5Bsb,EAASs3B,iBAEtF,EAGR,SAASG,GAAiB/1C,EAAKgE,EAAYmT,GAC1C,OAAI/Q,GAAU9pC,QAAQ66C,GACd,CACNznB,EAAG0W,GAAUo9B,YAAYxjC,EAAKA,EAAIsD,KAAM6T,GACxCh2C,EAAGg2C,EAAM36C,OAASwnC,GAIb,CACNtU,EAAGsQ,EAAI6zB,YAAY1c,GAAOjxC,MAC1B/E,EAAG6iC,GAIL,SAASgyC,GAAgBtlC,EAAOsT,EAAKljB,EAAMt1B,EAAKC,GAC/C,OAAIilC,IAAUllC,GAAOklC,IAAUjlC,EACvB,CACNzB,MAAOg6C,EAAOljB,EAAO,EACrBsV,IAAK4N,EAAOljB,EAAO,GAEV4P,EAAQllC,GAAOklC,EAAQjlC,EAC1B,CACNzB,MAAOg6C,EAAMljB,EACbsV,IAAK4N,GAIA,CACNh6C,MAAOg6C,EACP5N,IAAK4N,EAAMljB,GAOb,SAASm1C,GAAmBvgD,GA4B3B,IAWIpiB,EAAG4iE,EAAUt0B,EAXbu0B,EAAS/vC,GAAUrqC,QAAQ6nC,WAAWlO,EAAM35B,QAAQwkD,aAIpD61B,EAAiB,CACpBnnD,EAAG,EACHC,EAAGwG,EAAMxvB,MACT1G,EAAG,EACH4vB,EAAGsG,EAAMvvB,OAASuvB,EAAMgtC,YAErB2T,EAAiB,GAGrB3gD,EAAMsK,IAAIsD,KAAO6yC,EAAOlkD,OACxByD,EAAM4gD,iBAAmB,GAEzB,IAAIC,EAAa7gD,EAAMqK,MAAMxhC,KAAKsvB,OAAOrxB,OACzC,IAAK8W,EAAI,EAAGA,EAAIijE,EAAYjjE,IAAK,CAChCsuC,EAAgBlsB,EAAM8gD,iBAAiBljE,EAAGoiB,EAAM+gD,YAAc,GAC9DP,EAAWH,GAAiBrgD,EAAMsK,IAAKm2C,EAAOnyC,WAAYtO,EAAM6qB,YAAYjtC,IAC5EoiB,EAAM4gD,iBAAiBhjE,GAAK4iE,EAG5B,IAAI9I,EAAe13C,EAAMghD,cAAcpjE,GACnCo9B,EAAQtK,GAAUi5B,UAAU+N,GAAgB,IAC5CuJ,EAAUX,GAAgBtlC,EAAOkR,EAAc7nC,EAAGm8D,EAASxmD,EAAG,EAAG,KACjEknD,EAAUZ,GAAgBtlC,EAAOkR,EAAc9yB,EAAGonD,EAAS/0E,EAAG,GAAI,KAElEw1E,EAAQ3sE,MAAQosE,EAAennD,IAClCmnD,EAAennD,EAAI0nD,EAAQ3sE,MAC3BqsE,EAAepnD,EAAIm+C,GAGhBuJ,EAAQvgC,IAAMggC,EAAelnD,IAChCknD,EAAelnD,EAAIynD,EAAQvgC,IAC3BigC,EAAennD,EAAIk+C,GAGhBwJ,EAAQ5sE,MAAQosE,EAAe52E,IAClC42E,EAAe52E,EAAIo3E,EAAQ5sE,MAC3BqsE,EAAe72E,EAAI4tE,GAGhBwJ,EAAQxgC,IAAMggC,EAAehnD,IAChCgnD,EAAehnD,EAAIwnD,EAAQxgC,IAC3BigC,EAAejnD,EAAIg+C,GAIrB13C,EAAMmhD,cAAcnhD,EAAM+gD,YAAaL,EAAgBC,GAGxD,SAASS,GAAqBpmC,GAC7B,OAAc,IAAVA,GAAyB,MAAVA,EACX,SACGA,EAAQ,IACX,OAGD,QAGR,SAASkmB,GAAS52B,EAAK3hC,EAAM66C,EAAUlV,GACtC,IACI1wB,EAAGkoB,EADH1M,EAAIoqB,EAASpqB,EAAIkV,EAAa,EAGlC,GAAIoC,GAAU9pC,QAAQ+B,GACrB,IAAKiV,EAAI,EAAGkoB,EAAOn9B,EAAK7B,OAAQ8W,EAAIkoB,IAAQloB,EAC3C0sB,EAAI42B,SAASv4D,EAAKiV,GAAI4lC,EAASn/B,EAAG+U,GAClCA,GAAKkV,OAGNhE,EAAI42B,SAASv4D,EAAM66C,EAASn/B,EAAG+U,GAIjC,SAASioD,GAAkCrmC,EAAOwlC,EAAUh9B,GAC7C,KAAVxI,GAA0B,MAAVA,EACnBwI,EAASpqB,GAAMonD,EAAS/0E,EAAI,GAClBuvC,EAAQ,KAAOA,EAAQ,MACjCwI,EAASpqB,GAAKonD,EAAS/0E,GAIzB,SAAS61E,GAAgBthD,GACxB,IAAIsK,EAAMtK,EAAMsK,IACZ6b,EAAOnmB,EAAM35B,QACbk7E,EAAiBp7B,EAAK0E,YACtB22B,EAAqBpB,GAAsBj6B,GAC3Cs7B,EAAgBzhD,EAAM4rB,8BAA8BzF,EAAK0C,MAAMnjB,QAAU1F,EAAMlqB,IAAMkqB,EAAMjqB,KAC3F0qE,EAAS/vC,GAAUrqC,QAAQ6nC,WAAWqzC,GAE1Cj3C,EAAIiB,OAEJjB,EAAIsD,KAAO6yC,EAAOlkD,OAClB+N,EAAI22B,aAAe,SAEnB,IAAK,IAAIrjD,EAAIoiB,EAAMqK,MAAMxhC,KAAKsvB,OAAOrxB,OAAS,EAAG8W,GAAK,EAAGA,IAAK,CAE7D,IAAI8jE,EAAe,IAAN9jE,EAAU4jE,EAAqB,EAAI,EAC5CG,EAAqB3hD,EAAM8gD,iBAAiBljE,EAAG6jE,EAAgBC,EAAQ,GAGvEE,EAAsBhC,GAAwB2B,EAAexP,UAAWn0D,EAAG8vB,EAAcpW,OAAO8V,kBACpG9C,EAAIoR,UAAYkmC,EAEhB,IAAIlK,EAAe13C,EAAMghD,cAAcpjE,GACnCo9B,EAAQtK,GAAUi5B,UAAU+N,GAChCptC,EAAImF,UAAY2xC,GAAqBpmC,GACrCqmC,GAAkCrmC,EAAOhb,EAAM4gD,iBAAiBhjE,GAAI+jE,GACpEzgB,GAAS52B,EAAKtK,EAAM6qB,YAAYjtC,GAAI+jE,EAAoBlB,EAAOnyC,YAEhEhE,EAAIoB,UAGL,SAASm2C,GAAe7hD,EAAOm3C,EAAc1sC,EAAQvjC,GACpD,IAKIglD,EALA5hB,EAAMtK,EAAMsK,IACZsgB,EAAWusB,EAAavsB,SACxBi2B,EAAa7gD,EAAMqK,MAAMxhC,KAAKsvB,OAAOrxB,OACrCwyE,EAAYsG,GAAwBzI,EAAa5tE,MAAOrC,EAAQ,GAChEmzC,EAAYulC,GAAwBzI,EAAa98B,UAAWnzC,EAAQ,GAGxE,IAAM0jD,GAAai2B,IAAgBvH,GAAcj/B,EAAjD,CAaA,GATA/P,EAAIiB,OACJjB,EAAIqR,YAAc29B,EAClBhvC,EAAI+P,UAAYA,EACZ/P,EAAIuS,cACPvS,EAAIuS,YAAYs6B,EAAap7B,YAAc,IAC3CzR,EAAIwS,eAAiBq6B,EAAan7B,kBAAoB,GAGvD1R,EAAIqB,YACAif,EAEHtgB,EAAIO,IAAI7K,EAAMyrB,QAASzrB,EAAM0rB,QAASjhB,EAAQ,EAAa,EAAVxtB,KAAK4e,QAChD,CAENqwB,EAAgBlsB,EAAM8gD,iBAAiB,EAAGr2C,GAC1CH,EAAIM,OAAOshB,EAAc7nC,EAAG6nC,EAAc9yB,GAE1C,IAAK,IAAIxb,EAAI,EAAGA,EAAIijE,EAAYjjE,IAC/BsuC,EAAgBlsB,EAAM8gD,iBAAiBljE,EAAG6sB,GAC1CH,EAAIsB,OAAOsgB,EAAc7nC,EAAG6nC,EAAc9yB,GAG5CkR,EAAIQ,YACJR,EAAIwB,SACJxB,EAAIoB,WAGL,SAASo2C,GAAaC,GACrB,OAAOrxC,GAAUoB,SAASiwC,GAASA,EAAQ,EAG5C,IAAIC,GAAqBrF,GAAiBz3E,OAAO,CAChD6vE,cAAe,WACd,IAAIjuC,EAAKxhC,KAGTwhC,EAAGt2B,MAAQs2B,EAAGmf,SACdnf,EAAGr2B,OAASq2B,EAAGof,UACfpf,EAAGkmC,WAAaoT,GAAsBt5C,EAAGzgC,SAAW,EACpDygC,EAAG2kB,QAAUxuC,KAAKge,MAAM6L,EAAGt2B,MAAQ,GACnCs2B,EAAG4kB,QAAUzuC,KAAKge,OAAO6L,EAAGr2B,OAASq2B,EAAGkmC,YAAc,GACtDlmC,EAAGi6C,YAAc9jE,KAAKnH,IAAIgxB,EAAGr2B,OAASq2B,EAAGkmC,WAAYlmC,EAAGt2B,OAAS,GAGlE0kE,oBAAqB,WACpB,IAAIpuC,EAAKxhC,KACL+kC,EAAQvD,EAAGuD,MACXv0B,EAAMnF,OAAO08C,kBACbt3C,EAAMpF,OAAO84D,kBAEjB/4B,GAAUlL,KAAK6E,EAAMxhC,KAAK4sC,UAAU,SAASP,EAASX,GACrD,GAAIlK,EAAM2b,iBAAiBzR,GAAe,CACzC,IAAIS,EAAO3K,EAAMqL,eAAenB,GAEhC7D,GAAUlL,KAAK0P,EAAQrsC,MAAM,SAASsvE,EAAUjxE,GAC/C,IAAIL,GAASigC,EAAGkjB,cAAcmuB,GAC1Bj4C,MAAMr5B,IAAUmuC,EAAKnsC,KAAK3B,GAAOqqC,SAIrCz7B,EAAMmH,KAAKnH,IAAIjP,EAAOiP,GACtBC,EAAMkH,KAAKlH,IAAIlP,EAAOkP,WAKzB+wB,EAAGhxB,IAAOA,IAAQnF,OAAO08C,kBAAoB,EAAIv3C,EACjDgxB,EAAG/wB,IAAOA,IAAQpF,OAAO84D,kBAAoB,EAAI1zD,EAGjD+wB,EAAG81C,0BAIJQ,kBAAmB,WAClB,OAAOngE,KAAKC,KAAK5X,KAAKy7E,YAAcX,GAAsB96E,KAAKe,WAGhEiwE,qBAAsB,WACrB,IAAIxvC,EAAKxhC,KAETq3E,GAAiBt+C,UAAUi4C,qBAAqBhwE,KAAKwgC,GAGrDA,EAAG+jB,YAAc/jB,EAAGuD,MAAMxhC,KAAKsvB,OAAO1iB,KAAI,WACzC,IAAIgsC,EAAQ/Q,GAAUtpB,SAAS0f,EAAGzgC,QAAQwkD,YAAYzjC,SAAU/S,UAAWyyB,GAC3E,OAAO2a,GAAmB,IAAVA,EAAcA,EAAQ,OAIxCsa,iBAAkB,SAAS70D,EAAOqtC,GACjC,OAAQjvC,KAAK0kD,cAAc1kD,KAAK+kC,MAAMxhC,KAAK4sC,SAASlB,GAAc1rC,KAAK3B,KAGxE0uE,IAAK,WACJ,IAAI9uC,EAAKxhC,KACL6gD,EAAOrf,EAAGzgC,QAEV8/C,EAAKwE,SAAWxE,EAAK0E,YAAYF,QACpC41B,GAAmBz5C,GAEnBA,EAAGm7C,eAAe,EAAG,EAAG,EAAG,IAQ7Bd,cAAe,SAASe,EAAuBxB,EAAgBC,GAC9D,IAAI75C,EAAKxhC,KACL68E,EAAsBzB,EAAennD,EAAItc,KAAK+e,IAAI2kD,EAAepnD,GACjE6oD,EAAuBnlE,KAAKlH,IAAI2qE,EAAelnD,EAAIsN,EAAGt2B,MAAO,GAAKyM,KAAK+e,IAAI2kD,EAAennD,GAC1F6oD,GAAsB3B,EAAe52E,EAAImT,KAAK8e,IAAI4kD,EAAe72E,GACjEw4E,GAAyBrlE,KAAKlH,IAAI2qE,EAAehnD,GAAKoN,EAAGr2B,OAASq2B,EAAGkmC,YAAa,GAAK/vD,KAAK8e,IAAI4kD,EAAejnD,GAEnHyoD,EAAsBL,GAAaK,GACnCC,EAAuBN,GAAaM,GACpCC,EAAqBP,GAAaO,GAClCC,EAAwBR,GAAaQ,GAErCx7C,EAAGi6C,YAAc9jE,KAAKnH,IACrBmH,KAAKge,MAAMinD,GAAyBC,EAAsBC,GAAwB,GAClFnlE,KAAKge,MAAMinD,GAAyBG,EAAqBC,GAAyB,IACnFx7C,EAAGm7C,eAAeE,EAAqBC,EAAsBC,EAAoBC,IAGlFL,eAAgB,SAASM,EAAcC,EAAeC,EAAaC,GAClE,IAAI57C,EAAKxhC,KACLq9E,EAAW77C,EAAGt2B,MAAQgyE,EAAgB17C,EAAGi6C,YACzC6B,EAAUL,EAAez7C,EAAGi6C,YAC5B8B,EAASJ,EAAc37C,EAAGi6C,YAC1B+B,EAAah8C,EAAGr2B,OAASq2B,EAAGkmC,WAAc0V,EAAiB57C,EAAGi6C,YAElEj6C,EAAG2kB,QAAUxuC,KAAKge,OAAQ2nD,EAAUD,GAAY,EAAK77C,EAAG7rB,MACxD6rB,EAAG4kB,QAAUzuC,KAAKge,OAAQ4nD,EAASC,GAAa,EAAKh8C,EAAG4D,IAAM5D,EAAGkmC,aAGlEgU,cAAe,SAAS95E,GACvB,IAAImjC,EAAQ/kC,KAAK+kC,MACb04C,EAAkB,IAAM14C,EAAMxhC,KAAKsvB,OAAOrxB,OAC1CT,EAAUgkC,EAAMhkC,SAAW,GAC3BozC,EAAapzC,EAAQozC,YAAc,EAGnCuB,GAAS9zC,EAAQ67E,EAAkBtpC,GAAc,IAErD,OAAQuB,EAAQ,EAAIA,EAAQ,IAAMA,GAAS/9B,KAAK4e,GAAK,EAAI,KAG1D+vB,8BAA+B,SAAS/kD,GACvC,IAAIigC,EAAKxhC,KAET,GAAIorC,GAAUxL,cAAcr+B,GAC3B,OAAOu9C,IAIR,IAAI4+B,EAAgBl8C,EAAGi6C,aAAej6C,EAAG/wB,IAAM+wB,EAAGhxB,KAClD,OAAIgxB,EAAGzgC,QAAQwiD,MAAMnjB,SACZoB,EAAG/wB,IAAMlP,GAASm8E,GAEnBn8E,EAAQigC,EAAGhxB,KAAOktE,GAG3BlC,iBAAkB,SAAS55E,EAAO+7E,GACjC,IAAIn8C,EAAKxhC,KACL49E,EAAYp8C,EAAGk6C,cAAc95E,GAAU+V,KAAK4e,GAAK,EACrD,MAAO,CACNxX,EAAGpH,KAAK8e,IAAImnD,GAAaD,EAAqBn8C,EAAG2kB,QACjDryB,EAAGnc,KAAK+e,IAAIknD,GAAaD,EAAqBn8C,EAAG4kB,UAInDS,yBAA0B,SAASjlD,EAAOL,GACzC,OAAOvB,KAAKw7E,iBAAiB55E,EAAO5B,KAAKsmD,8BAA8B/kD,KAGxEs8E,gBAAiB,SAASj8E,GACzB,IAAI4/B,EAAKxhC,KACLwQ,EAAMgxB,EAAGhxB,IACTC,EAAM+wB,EAAG/wB,IAEb,OAAO+wB,EAAGqlB,yBAAyBjlD,GAAS,EAC3C4/B,EAAGgkB,YAAc,EACjBh1C,EAAM,GAAKC,EAAM,EAAIA,EACrBD,EAAM,GAAKC,EAAM,EAAID,EACrB,IAMFokE,UAAW,WACV,IAOIt8D,EAAG+iC,EAAQ6C,EAPX1c,EAAKxhC,KACLglC,EAAMxD,EAAGwD,IACT6b,EAAOrf,EAAGzgC,QACV8wE,EAAehxB,EAAKvF,UACpBwiC,EAAgBj9B,EAAKuE,WACrBrQ,EAAYslC,GAAiByD,EAAc/oC,UAAW88B,EAAa98B,WACnEi/B,EAAYqG,GAAiByD,EAAc75E,MAAO4tE,EAAa5tE,OAgBnE,GAbI48C,EAAK0E,YAAYF,SACpB22B,GAAgBx6C,GAGbqwC,EAAaxsB,SAChBja,GAAUlL,KAAKsB,EAAG+hB,OAAO,SAASpH,EAAOv6C,GAC1B,IAAVA,IACHy5C,EAAS7Z,EAAG8kB,8BAA8B9kB,EAAG02C,eAAet2E,IAC5D26E,GAAe/6C,EAAIqwC,EAAcx2B,EAAQz5C,OAKxCk8E,EAAcz4B,SAAWtQ,GAAai/B,EAAW,CASpD,IARAhvC,EAAIiB,OACJjB,EAAI+P,UAAYA,EAChB/P,EAAIqR,YAAc29B,EACdhvC,EAAIuS,cACPvS,EAAIuS,YAAYgjC,GAAU,CAACuD,EAAcrnC,WAAYo7B,EAAap7B,WAAY,MAC9EzR,EAAIwS,eAAiB+iC,GAAU,CAACuD,EAAcpnC,iBAAkBm7B,EAAan7B,iBAAkB,KAG3Fp+B,EAAIkpB,EAAGuD,MAAMxhC,KAAKsvB,OAAOrxB,OAAS,EAAG8W,GAAK,EAAGA,IACjD+iC,EAAS7Z,EAAG8kB,8BAA8BzF,EAAK0C,MAAMnjB,QAAUoB,EAAGhxB,IAAMgxB,EAAG/wB,KAC3EytC,EAAW1c,EAAGg6C,iBAAiBljE,EAAG+iC,GAClCrW,EAAIqB,YACJrB,EAAIM,OAAO9D,EAAG2kB,QAAS3kB,EAAG4kB,SAC1BphB,EAAIsB,OAAO4X,EAASn/B,EAAGm/B,EAASpqB,GAChCkR,EAAIwB,SAGLxB,EAAIoB,YAON2uC,YAAa,WACZ,IAAIvzC,EAAKxhC,KACLglC,EAAMxD,EAAGwD,IACT6b,EAAOrf,EAAGzgC,QACVuiD,EAAWzC,EAAK0C,MAEpB,GAAKD,EAAS+B,QAAd,CAIA,IAGIhK,EAAQnwC,EAHRipC,EAAa3S,EAAGk6C,cAAc,GAC9BnQ,EAAWngC,GAAUrqC,QAAQ6nC,WAAW0a,GACxCy6B,EAAgB1D,GAAiB/2B,EAASmpB,UAAWrkC,EAAcpW,OAAO8V,kBAG9E9C,EAAIiB,OACJjB,EAAIsD,KAAOijC,EAASt0C,OACpB+N,EAAIkB,UAAU1E,EAAG2kB,QAAS3kB,EAAG4kB,SAC7BphB,EAAI/G,OAAOkW,GACXnP,EAAImF,UAAY,SAChBnF,EAAI22B,aAAe,SAEnBvwB,GAAUlL,KAAKsB,EAAG+hB,OAAO,SAASpH,EAAOv6C,IAC1B,IAAVA,GAAgB0hD,EAASljB,WAI7Bib,EAAS7Z,EAAG8kB,8BAA8B9kB,EAAG02C,eAAet2E,IAExD0hD,EAASo3B,oBACZxvE,EAAQ85B,EAAI6zB,YAAY1c,GAAOjxC,MAC/B85B,EAAIoR,UAAYkN,EAASq3B,cAEzB31C,EAAI8U,UACF5uC,EAAQ,EAAIo4C,EAASu3B,kBACrBx/B,EAASkwB,EAASzlC,KAAO,EAAIwd,EAASs3B,iBACvC1vE,EAAoC,EAA5Bo4C,EAASu3B,iBACjBtP,EAASzlC,KAAmC,EAA5Bwd,EAASs3B,mBAI3B51C,EAAIoR,UAAY2nC,EAChB/4C,EAAI42B,SAASzf,EAAO,GAAId,OAGzBrW,EAAIoB,YAML4uC,WAAY5pC,GAAU1L,OAInBs+C,GAAcxD,GAClBkC,GAAmBrG,UAAY2H,GAE/B,IAAIC,GAAe7yC,GAAUxJ,YACzBs8C,GAAY9yC,GAAUrqC,QAAQmoC,QAC9Bi1C,GAAmB/yC,GAAUtL,eAG7Bs+C,GAAc/yE,OAAOgzE,mBAAqB,iBAC1CC,GAAcjzE,OAAOkzE,kBAAoB,iBAEzCC,GAAY,CACfC,YAAa,CACZC,QAAQ,EACR54C,KAAM,EACN64C,MAAO,KAERC,OAAQ,CACPF,QAAQ,EACR54C,KAAM,IACN64C,MAAO,IAERE,OAAQ,CACPH,QAAQ,EACR54C,KAAM,IACN64C,MAAO,IAERG,KAAM,CACLJ,QAAQ,EACR54C,KAAM,KACN64C,MAAO,IAERpoE,IAAK,CACJmoE,QAAQ,EACR54C,KAAM,MACN64C,MAAO,IAERjnE,KAAM,CACLgnE,QAAQ,EACR54C,KAAM,OACN64C,MAAO,GAERnvE,MAAO,CACNkvE,QAAQ,EACR54C,KAAM,OACN64C,MAAO,IAERI,QAAS,CACRL,QAAQ,EACR54C,KAAM,OACN64C,MAAO,GAER/wE,KAAM,CACL8wE,QAAQ,EACR54C,KAAM,SAIJk5C,GAAQ73E,OAAOiL,KAAKosE,IAExB,SAASS,GAAO9pD,EAAGf,GAClB,OAAOe,EAAIf,EAGZ,SAAS8qD,GAAY12B,GACpB,IAEIlwC,EAAGkoB,EAAM7+B,EAFTw9E,EAAO,GACPC,EAAM,GAGV,IAAK9mE,EAAI,EAAGkoB,EAAOgoB,EAAMhnD,OAAQ8W,EAAIkoB,IAAQloB,EAC5C3W,EAAO6mD,EAAMlwC,GACR6mE,EAAKx9E,KACTw9E,EAAKx9E,IAAQ,EACby9E,EAAIr1E,KAAKpI,IAIX,OAAOy9E,EAGR,SAASC,GAAOt+E,GACf,OAAOqqC,GAAUtL,eAAe/+B,EAAQu+E,KAAK9uE,IAAKzP,EAAQwiD,MAAM/yC,KAGjE,SAAS+uE,GAAOx+E,GACf,OAAOqqC,GAAUtL,eAAe/+B,EAAQu+E,KAAK7uE,IAAK1P,EAAQwiD,MAAM9yC,KAkBjE,SAAS+uE,GAAiBC,EAAYjvE,EAAKC,EAAKivE,GAC/C,GAAqB,WAAjBA,IAA8BD,EAAWj+E,OAC5C,MAAO,CACN,CAAC89E,KAAM9uE,EAAKw4C,IAAK,GACjB,CAACs2B,KAAM7uE,EAAKu4C,IAAK,IAInB,IAEI1wC,EAAGkoB,EAAMp3B,EAAMkxC,EAAMjxC,EAFrBs2E,EAAQ,GACRn3B,EAAQ,CAACh4C,GAGb,IAAK8H,EAAI,EAAGkoB,EAAOi/C,EAAWj+E,OAAQ8W,EAAIkoB,IAAQloB,EACjDgiC,EAAOmlC,EAAWnnE,GACdgiC,EAAO9pC,GAAO8pC,EAAO7pC,GACxB+3C,EAAMz+C,KAAKuwC,GAMb,IAFAkO,EAAMz+C,KAAK0G,GAEN6H,EAAI,EAAGkoB,EAAOgoB,EAAMhnD,OAAQ8W,EAAIkoB,IAAQloB,EAC5CjP,EAAOm/C,EAAMlwC,EAAI,GACjBlP,EAAOo/C,EAAMlwC,EAAI,GACjBgiC,EAAOkO,EAAMlwC,QAGAtT,IAAToE,QAA+BpE,IAATqE,GAAsBsO,KAAKif,OAAOvtB,EAAOD,GAAQ,KAAOkxC,GACjFqlC,EAAM51E,KAAK,CAACu1E,KAAMhlC,EAAM0O,IAAK1wC,GAAKkoB,EAAO,KAI3C,OAAOm/C,EAIR,SAASC,GAAOD,EAAO9yE,EAAKtL,GAC3B,IAEIs+E,EAAKC,EAAIC,EAFTC,EAAK,EACLtqD,EAAKiqD,EAAMn+E,OAAS,EAGxB,MAAOw+E,GAAM,GAAKA,GAAMtqD,EAAI,CAK3B,GAJAmqD,EAAOG,EAAKtqD,GAAO,EACnBoqD,EAAKH,EAAME,EAAM,IAAM,KACvBE,EAAKJ,EAAME,IAENC,EAEJ,MAAO,CAACE,GAAI,KAAMtqD,GAAIqqD,GAChB,GAAIA,EAAGlzE,GAAOtL,EACpBy+E,EAAKH,EAAM,MACL,MAAIC,EAAGjzE,GAAOtL,GAGpB,MAAO,CAACy+E,GAAIF,EAAIpqD,GAAIqqD,GAFpBrqD,EAAKmqD,EAAM,GAOb,MAAO,CAACG,GAAID,EAAIrqD,GAAI,MASrB,SAASuqD,GAAcN,EAAOO,EAAMp/C,EAAMq/C,GACzC,IAAI7sE,EAAQssE,GAAOD,EAAOO,EAAMp/C,GAG5B13B,EAAQkK,EAAM0sE,GAAiB1sE,EAAMoiB,GAA+BpiB,EAAM0sE,GAAhCL,EAAMA,EAAMn+E,OAAS,GAA5Cm+E,EAAM,GACzBt2E,EAAQiK,EAAM0sE,GAAiB1sE,EAAMoiB,GAA+BpiB,EAAMoiB,GAAhCiqD,EAAMA,EAAMn+E,OAAS,GAA5Cm+E,EAAM,GAEzBS,EAAO/2E,EAAK62E,GAAQ92E,EAAK82E,GACzBjqD,EAAQmqD,GAAQt/C,EAAO13B,EAAK82E,IAASE,EAAO,EAC5C/kC,GAAUhyC,EAAK82E,GAAQ/2E,EAAK+2E,IAASlqD,EAEzC,OAAO7sB,EAAK+2E,GAAQ9kC,EAGrB,SAASglC,GAAY3lD,EAAOza,GAC3B,IAAIqgE,EAAU5lD,EAAM6lD,SAChBx/E,EAAU25B,EAAM35B,QAAQu+E,KACxBkB,EAASz/E,EAAQy/E,OACjB1wE,EAAS0wE,GAAUz/E,EAAQ+O,OAC3BvO,EAAQ0e,EAaZ,MAXsB,oBAAXugE,IACVj/E,EAAQi/E,EAAOj/E,IAIX6pC,GAAU30B,SAASlV,KACvBA,EAA0B,kBAAXuO,EACZwwE,EAAQ7W,MAAMloE,EAAOuO,GACrBwwE,EAAQ7W,MAAMloE,IAGJ,OAAVA,GACKA,GAKJi/E,GAA4B,oBAAX1wE,IACrBvO,EAAQuO,EAAOmQ,GAGVmrB,GAAU30B,SAASlV,KACvBA,EAAQ++E,EAAQ7W,MAAMloE,KAIjBA,GAGR,SAASkoE,GAAM/uC,EAAOza,GACrB,GAAImrB,GAAUxL,cAAc3f,GAC3B,OAAO,KAGR,IAAIlf,EAAU25B,EAAM35B,QAAQu+E,KACxB/9E,EAAQ8+E,GAAY3lD,EAAOA,EAAMgqB,cAAczkC,IACnD,OAAc,OAAV1e,GAIAR,EAAQ61B,QACXr1B,GAASm5B,EAAM6lD,SAAS7W,QAAQnoE,EAAOR,EAAQ61B,QAJxCr1B,EAaT,SAASk/E,GAA0BC,EAASlwE,EAAKC,EAAKkwE,GACrD,IACIroE,EAAGsoE,EAAUzT,EADb3sC,EAAOw+C,GAAMx9E,OAGjB,IAAK8W,EAAI0mE,GAAM3oE,QAAQqqE,GAAUpoE,EAAIkoB,EAAO,IAAKloB,EAIhD,GAHAsoE,EAAWpC,GAAUQ,GAAM1mE,IAC3B60D,EAASyT,EAASjC,MAAQiC,EAASjC,MAAQL,GAEvCsC,EAASlC,QAAU/mE,KAAKC,MAAMnH,EAAMD,IAAQ28D,EAASyT,EAAS96C,QAAU66C,EAC3E,OAAO3B,GAAM1mE,GAIf,OAAO0mE,GAAMx+C,EAAO,GAMrB,SAASqgD,GAA2BnmD,EAAO82C,EAAUkP,EAASlwE,EAAKC,GAClE,IAAI6H,EAAGy+D,EAEP,IAAKz+D,EAAI0mE,GAAMx9E,OAAS,EAAG8W,GAAK0mE,GAAM3oE,QAAQqqE,GAAUpoE,IAEvD,GADAy+D,EAAOiI,GAAM1mE,GACTkmE,GAAUzH,GAAM2H,QAAUhkD,EAAM6lD,SAAS/rD,KAAK/jB,EAAKD,EAAKumE,IAASvF,EAAW,EAC/E,OAAOuF,EAIT,OAAOiI,GAAM0B,EAAU1B,GAAM3oE,QAAQqqE,GAAW,GAGjD,SAASI,GAAmB/J,GAC3B,IAAK,IAAIz+D,EAAI0mE,GAAM3oE,QAAQ0gE,GAAQ,EAAGv2C,EAAOw+C,GAAMx9E,OAAQ8W,EAAIkoB,IAAQloB,EACtE,GAAIkmE,GAAUQ,GAAM1mE,IAAIomE,OACvB,OAAOM,GAAM1mE,GAWhB,SAASyoE,GAASrmD,EAAOlqB,EAAKC,EAAKkwE,GAClC,IAQIrB,EARAgB,EAAU5lD,EAAM6lD,SAChBx/E,EAAU25B,EAAM35B,QAChBigF,EAAWjgF,EAAQu+E,KACnBrT,EAAQ+U,EAASjK,MAAQ0J,GAA0BO,EAASN,QAASlwE,EAAKC,EAAKkwE,GAC/E7J,EAAWoH,GAAU,CAAC8C,EAASlK,SAAUkK,EAASC,aAAc,IAChE/oE,EAAoB,SAAV+zD,GAAmB+U,EAASE,WACtC9oE,EAAQ5H,EACR+yC,EAAQ,GAYZ,GARIrrC,IACHE,GAASkoE,EAAQ5W,QAAQtxD,EAAO,UAAWF,IAI5CE,GAASkoE,EAAQ5W,QAAQtxD,EAAOF,EAAU,MAAQ+zD,GAG9CqU,EAAQ9rD,KAAK/jB,EAAKD,EAAKy7D,GAAS,IAAS6K,EAC5C,MAAMtmE,EAAM,QAAUC,EAAM,uCAAyCqmE,EAAW,IAAM7K,EAGvF,IAAKqT,EAAOlnE,EAAOknE,EAAO7uE,EAAK6uE,GAAQgB,EAAQtyD,IAAIsxD,EAAMxI,EAAU7K,GAClE1oB,EAAMx5C,KAAKu1E,GAOZ,OAJIA,IAAS7uE,GAA0B,UAAnB1P,EAAQw4C,QAC3BgK,EAAMx5C,KAAKu1E,GAGL/7B,EASR,SAAS49B,GAAexB,EAAOp8B,EAAO/yC,EAAKC,EAAK1P,GAC/C,IAEIqX,EAAO2kC,EAFP/tC,EAAQ,EACRosC,EAAM,EAkBV,OAfIr6C,EAAQs6C,QAAUkI,EAAM/hD,SAC3B4W,EAAQ6nE,GAAcN,EAAO,OAAQp8B,EAAM,GAAI,OAE9Cv0C,EADoB,IAAjBu0C,EAAM/hD,OACD,EAAI4W,GAEH6nE,GAAcN,EAAO,OAAQp8B,EAAM,GAAI,OAASnrC,GAAS,EAEnE2kC,EAAOkjC,GAAcN,EAAO,OAAQp8B,EAAMA,EAAM/hD,OAAS,GAAI,OAE5D45C,EADoB,IAAjBmI,EAAM/hD,OACHu7C,GAECA,EAAOkjC,GAAcN,EAAO,OAAQp8B,EAAMA,EAAM/hD,OAAS,GAAI,QAAU,GAIzE,CAACwN,MAAOA,EAAOosC,IAAKA,EAAK+xB,OAAQ,GAAKn+D,EAAQ,EAAIosC,IAG1D,SAASgmC,GAAc1mD,EAAO6oB,EAAOpzC,EAAKkxE,GACzC,IAGIrV,EAAOpqE,EAHP0+E,EAAU5lD,EAAM6lD,SAChBnoE,GAASkoE,EAAQ5W,QAAQnmB,EAAM,GAAGhiD,MAAO8/E,GACzCtkC,EAAOwG,EAAMA,EAAM/hD,OAAS,GAAGD,MAGnC,IAAKyqE,EAAQ5zD,EAAO4zD,GAASjvB,EAAMivB,GAASsU,EAAQtyD,IAAIg+C,EAAO,EAAGqV,GACjEz/E,EAAQuO,EAAI67D,GACRpqE,GAAS,IACZ2hD,EAAM3hD,GAAOoqE,OAAQ,GAGvB,OAAOzoB,EAGR,SAAS+9B,GAAoB5mD,EAAOzK,EAAQoxD,GAC3C,IAGI/oE,EAAG/W,EAHHgiD,EAAQ,GACRpzC,EAAM,GACNqwB,EAAOvQ,EAAOzuB,OAGlB,IAAK8W,EAAI,EAAGA,EAAIkoB,IAAQloB,EACvB/W,EAAQ0uB,EAAO3X,GACfnI,EAAI5O,GAAS+W,EAEbirC,EAAMx5C,KAAK,CACVxI,MAAOA,EACPyqE,OAAO,IAMT,OAAiB,IAATxrC,GAAe6gD,EAAqBD,GAAc1mD,EAAO6oB,EAAOpzC,EAAKkxE,GAAzC99B,EAGrC,IAAIg+B,GAAkB,CACrBrjC,SAAU,SASVwhC,aAAc,SASdnmC,OAAQ,OAERioC,SAAU,GACVlC,KAAM,CACLkB,QAAQ,EACRzJ,MAAM,EACNngD,OAAO,EACP6qD,eAAe,EACfP,YAAY,EACZR,QAAS,cACTgB,eAAgB,IAEjBn+B,MAAO,CACN8qB,UAAU,EAUV1vC,OAAQ,OAERqtC,MAAO,CACNrY,SAAS,KAKRguB,GAAahM,GAAW/1E,OAAO,CAClCmsC,WAAY,WACX/rC,KAAK4/D,oBACL+V,GAAW58C,UAAUgT,WAAW/qC,KAAKhB,OAGtC2pB,OAAQ,WACP,IAAI6X,EAAKxhC,KACLe,EAAUygC,EAAGzgC,QACbu+E,EAAOv+E,EAAQu+E,OAASv+E,EAAQu+E,KAAO,IACvCgB,EAAU9+C,EAAG++C,SAAW,IAAIvW,GAAcD,MAAMhpE,EAAQygF,SAAS9zE,MAarE,OAVAuwE,GAAa,aAAcqB,EAAKxvE,OAAQ,cAAe,eACvDmuE,GAAa,aAAcqB,EAAK9uE,IAAK,WAAY,aACjDytE,GAAa,aAAcqB,EAAK7uE,IAAK,WAAY,aAMjD26B,GAAUnK,QAAQq+C,EAAKoC,eAAgBpB,EAAQ9W,WAExCmM,GAAW58C,UAAUpP,OAAO8G,MAAM+Q,EAAIzyB,YAM9C21C,cAAe,SAASmuB,GAIvB,OAHIA,QAA2B7tE,IAAf6tE,EAASruE,IACxBquE,EAAWA,EAASruE,GAEdmxE,GAAW58C,UAAU2rB,cAAc1jD,KAAKhB,KAAM6yE,IAGtDjD,oBAAqB,WACpB,IAUIt3D,EAAGmoC,EAAGjgB,EAAMinB,EAAMlkD,EAAMq+E,EAAWC,EAVnCrgD,EAAKxhC,KACL+kC,EAAQvD,EAAGuD,MACXu7C,EAAU9+C,EAAG++C,SACbx/E,EAAUygC,EAAGzgC,QACbg2E,EAAOh2E,EAAQu+E,KAAKvI,MAAQ,MAC5BvmE,EAAM8tE,GACN7tE,EAAM2tE,GACNqB,EAAa,GACbtvC,EAAW,GACXtd,EAAS,GAETivD,EAAatgD,EAAGmtC,aAEpB,IAAKr2D,EAAI,EAAGkoB,EAAOshD,EAAWtgF,OAAQ8W,EAAIkoB,IAAQloB,EACjDua,EAAO9oB,KAAK0/D,GAAMjoC,EAAIsgD,EAAWxpE,KAGlC,IAAKA,EAAI,EAAGkoB,GAAQuE,EAAMxhC,KAAK4sC,UAAY,IAAI3uC,OAAQ8W,EAAIkoB,IAAQloB,EAClE,GAAIysB,EAAM2b,iBAAiBpoC,GAI1B,GAHA/U,EAAOwhC,EAAMxhC,KAAK4sC,SAAS73B,GAAG/U,KAG1B6nC,GAAUvL,SAASt8B,EAAK,IAG3B,IAFA4sC,EAAS73B,GAAK,GAETmoC,EAAI,EAAGgH,EAAOlkD,EAAK/B,OAAQi/C,EAAIgH,IAAQhH,EAC3CmhC,EAAYnY,GAAMjoC,EAAIj+B,EAAKk9C,IAC3Bg/B,EAAW11E,KAAK63E,GAChBzxC,EAAS73B,GAAGmoC,GAAKmhC,OAGlBzxC,EAAS73B,GAAKua,EAAOpgB,MAAM,GACtBovE,IACJpC,EAAaA,EAAW97E,OAAOkvB,GAC/BgvD,GAAc,QAIhB1xC,EAAS73B,GAAK,GAIZua,EAAOrxB,SACVgP,EAAMmH,KAAKnH,IAAIA,EAAKqiB,EAAO,IAC3BpiB,EAAMkH,KAAKlH,IAAIA,EAAKoiB,EAAOA,EAAOrxB,OAAS,KAGxCi+E,EAAWj+E,SACdi+E,EAAaj/C,EAAO,EAAI0+C,GAAYO,GAAYxpE,KAAKgpE,IAAUQ,EAAWxpE,KAAKgpE,IAC/EzuE,EAAMmH,KAAKnH,IAAIA,EAAKivE,EAAW,IAC/BhvE,EAAMkH,KAAKlH,IAAIA,EAAKgvE,EAAWA,EAAWj+E,OAAS,KAGpDgP,EAAMi5D,GAAMjoC,EAAI69C,GAAOt+E,KAAayP,EACpCC,EAAMg5D,GAAMjoC,EAAI+9C,GAAOx+E,KAAa0P,EAGpCD,EAAMA,IAAQ8tE,IAAegC,EAAQ5W,QAAQ35D,KAAKyM,MAAOu6D,GAAQvmE,EACjEC,EAAMA,IAAQ2tE,IAAekC,EAAQ3W,MAAM55D,KAAKyM,MAAOu6D,GAAQ,EAAItmE,EAGnE+wB,EAAGhxB,IAAMmH,KAAKnH,IAAIA,EAAKC,GACvB+wB,EAAG/wB,IAAMkH,KAAKlH,IAAID,EAAM,EAAGC,GAG3B+wB,EAAGugD,OAAS,GACZvgD,EAAGwgD,YAAc,CAChBz+E,KAAMk8E,EACNtvC,SAAUA,EACVtd,OAAQA,IAIVk9C,WAAY,WACX,IAWIz3D,EAAGkoB,EAAMohD,EAXTpgD,EAAKxhC,KACLwQ,EAAMgxB,EAAGhxB,IACTC,EAAM+wB,EAAG/wB,IACT1P,EAAUygC,EAAGzgC,QACbuiD,EAAWviD,EAAQwiD,MACnBy9B,EAAWjgF,EAAQu+E,KACnBG,EAAaj+C,EAAGwgD,YAChBz+B,EAAQ,GACRo9B,EAAWn/C,EAAGygD,iBAAiBzxE,GAC/BmuB,EAAS2kB,EAAS3kB,OAClB+gD,EAAe3+E,EAAQ2+E,aAqB3B,IAjBCD,EADc,SAAX9gD,GAAiC,SAAXA,GAAsC,WAAjB+gD,EACjCD,EAAWl8E,KACH,WAAXo7B,EACG8gD,EAAW5sD,OAEXkuD,GAASv/C,EAAIhxB,EAAKC,EAAKkwE,GAGd,UAAnB5/E,EAAQw4C,QAAsBkmC,EAAWj+E,SAC5CgP,EAAMivE,EAAW,GACjBhvE,EAAMgvE,EAAWA,EAAWj+E,OAAS,IAItCgP,EAAMi5D,GAAMjoC,EAAI69C,GAAOt+E,KAAayP,EACpCC,EAAMg5D,GAAMjoC,EAAI+9C,GAAOx+E,KAAa0P,EAG/B6H,EAAI,EAAGkoB,EAAOi/C,EAAWj+E,OAAQ8W,EAAIkoB,IAAQloB,EACjDspE,EAAYnC,EAAWnnE,GACnBspE,GAAapxE,GAAOoxE,GAAanxE,GACpC8yC,EAAMx5C,KAAK63E,GAsBb,OAlBApgD,EAAGhxB,IAAMA,EACTgxB,EAAG/wB,IAAMA,EAKT+wB,EAAG0gD,MAAQlB,EAASjK,OAASzzB,EAAS+qB,SACnCoS,GAA0BO,EAASN,QAASl/C,EAAGhxB,IAAKgxB,EAAG/wB,IAAKkwE,GAC5DE,GAA2Br/C,EAAI+hB,EAAM/hD,OAAQw/E,EAASN,QAASl/C,EAAGhxB,IAAKgxB,EAAG/wB,MAC7E+wB,EAAG2gD,WAAc7+B,EAAS0oB,MAAMrY,SAAwB,SAAbnyB,EAAG0gD,MAC3CpB,GAAmBt/C,EAAG0gD,YADwCl9E,EAEjEw8B,EAAGugD,OAASvC,GAAiBh+C,EAAGwgD,YAAYz+E,KAAMiN,EAAKC,EAAKivE,GAC5Dl+C,EAAG4gD,SAAWjB,GAAe3/C,EAAGugD,OAAQx+B,EAAO/yC,EAAKC,EAAK1P,GAErDuiD,EAASljB,SACZmjB,EAAMnjB,UAGAkhD,GAAoB9/C,EAAI+hB,EAAO/hB,EAAG2gD,aAG1C1rB,iBAAkB,SAAS70D,EAAOqtC,GACjC,IAAIzN,EAAKxhC,KACLsgF,EAAU9+C,EAAG++C,SACbh9E,EAAOi+B,EAAGuD,MAAMxhC,KAChBy9E,EAAWx/C,EAAGzgC,QAAQu+E,KACtBnjC,EAAQ54C,EAAKsvB,QAAUjxB,EAAQ2B,EAAKsvB,OAAOrxB,OAAS+B,EAAKsvB,OAAOjxB,GAAS,GACzEL,EAAQgC,EAAK4sC,SAASlB,GAAc1rC,KAAK3B,GAK7C,OAHIwpC,GAAUvL,SAASt+B,KACtB46C,EAAQ3a,EAAGkjB,cAAcnjD,IAEtBy/E,EAASqB,cACL/B,EAAQxwE,OAAOuwE,GAAY7+C,EAAI2a,GAAQ6kC,EAASqB,eAEnC,kBAAVlmC,EACHA,EAEDmkC,EAAQxwE,OAAOuwE,GAAY7+C,EAAI2a,GAAQ6kC,EAASU,eAAeY,WAOvEC,mBAAoB,SAASjD,EAAM19E,EAAO2hD,EAAOzzC,GAChD,IAAI0xB,EAAKxhC,KACLsgF,EAAU9+C,EAAG++C,SACbx/E,EAAUygC,EAAGzgC,QACbyoE,EAAUzoE,EAAQu+E,KAAKoC,eACvBc,EAAchZ,EAAQhoC,EAAG0gD,OACzBb,EAAY7/C,EAAG2gD,WACfM,EAAcjZ,EAAQ6X,GACtB7T,EAAOjqB,EAAM3hD,GACb0hD,EAAWviD,EAAQwiD,MACnByoB,EAAQqV,GAAaoB,GAAejV,GAAQA,EAAKxB,MACjD7vB,EAAQmkC,EAAQxwE,OAAOwvE,EAAMxvE,IAAkBk8D,EAAQyW,EAAcD,IACrEE,EAAiB1W,EAAQ1oB,EAAS0oB,MAAQ1oB,EAAS2oB,MACnDn7D,EAAYotE,GAAU,CACzBwE,EAAe5gE,SACf4gE,EAAezR,aACf3tB,EAASxhC,SACTwhC,EAAS2tB,eAGV,OAAOngE,EAAYA,EAAUqrC,EAAOv6C,EAAO2hD,GAASpH,GAGrD60B,qBAAsB,SAASztB,GAC9B,IACIjrC,EAAGkoB,EADH3N,EAAS,GAGb,IAAKva,EAAI,EAAGkoB,EAAO+iB,EAAM/hD,OAAQ8W,EAAIkoB,IAAQloB,EAC5Cua,EAAO9oB,KAAK/J,KAAKuiF,mBAAmBh/B,EAAMjrC,GAAG/W,MAAO+W,EAAGirC,IAGxD,OAAO1wB,GAMR8vD,kBAAmB,SAASrD,GAC3B,IAAI99C,EAAKxhC,KACL6rE,EAAUrqC,EAAG4gD,SACbp5B,EAAMi3B,GAAcz+C,EAAGugD,OAAQ,OAAQzC,EAAM,OACjD,OAAO99C,EAAGqd,oBAAoBgtB,EAAQ78D,MAAQg6C,GAAO6iB,EAAQsB,SAG9D7vB,iBAAkB,SAAS/7C,EAAOK,EAAOqtC,GACxC,IAAIzN,EAAKxhC,KACLs/E,EAAO,KAUX,QARct6E,IAAVpD,QAAwCoD,IAAjBiqC,IAC1BqwC,EAAO99C,EAAGwgD,YAAY7xC,SAASlB,GAAcrtC,IAGjC,OAAT09E,IACHA,EAAO7V,GAAMjoC,EAAIjgC,IAGL,OAAT+9E,EACH,OAAO99C,EAAGmhD,kBAAkBrD,IAI9B7kC,gBAAiB,SAAS74C,GACzB,IAAI2hD,EAAQvjD,KAAKw6C,WACjB,OAAO54C,GAAS,GAAKA,EAAQ2hD,EAAM/hD,OAClCxB,KAAK2iF,kBAAkBp/B,EAAM3hD,GAAOL,OACpC,MAGFwxE,iBAAkB,SAAS/N,GAC1B,IAAIxjC,EAAKxhC,KACL6rE,EAAUrqC,EAAG4gD,SACbp5B,EAAMxnB,EAAGyxC,mBAAmBjO,GAAS6G,EAAQsB,OAAStB,EAAQzwB,IAC9DkkC,EAAOW,GAAcz+C,EAAGugD,OAAQ,MAAO/4B,EAAK,QAGhD,OAAOxnB,EAAG++C,SAAS3W,QAAQ0V,IAM5BsD,cAAe,SAASzmC,GACvB,IAAI3a,EAAKxhC,KACL+1E,EAAYv0C,EAAGzgC,QAAQwiD,MACvBs/B,EAAiBrhD,EAAGwD,IAAI6zB,YAAY1c,GAAOjxC,MAC3CwqC,EAAQtK,GAAUg5B,UAAU5iC,EAAG+a,eAAiBw5B,EAAU5H,YAAc4H,EAAU7H,aAClFmE,EAAc16D,KAAK8e,IAAIif,GACvB48B,EAAc36D,KAAK+e,IAAIgf,GACvBotC,EAAe3E,GAAiBpI,EAAUjtC,SAAUV,EAAcpW,OAAOgW,iBAE7E,MAAO,CACNtT,EAAImuD,EAAiBxQ,EAAgByQ,EAAexQ,EACpDnsE,EAAI08E,EAAiBvQ,EAAgBwQ,EAAezQ,IAQtD0Q,cAAe,SAAS5mC,GACvB,OAAOn8C,KAAK4iF,cAAczmC,GAAOznB,GAMlCutD,iBAAkB,SAASe,GAC1B,IAAIxhD,EAAKxhC,KACLghF,EAAWx/C,EAAGzgC,QAAQu+E,KACtBoC,EAAiBV,EAASU,eAG1B5xE,EAAS4xE,EAAeV,EAASjK,OAAS2K,EAAejD,YACzDwE,EAAezhD,EAAG+gD,mBAAmBS,EAAa,EAAG1B,GAAoB9/C,EAAI,CAACwhD,GAAcxhD,EAAG2gD,YAAaryE,GAC5Gg2B,EAAOtE,EAAGohD,cAAcK,GACxBtC,EAAWhpE,KAAKge,MAAM6L,EAAG+a,eAAiB/a,EAAGt2B,MAAQ46B,EAAKpR,EAAI8M,EAAGr2B,OAAS26B,EAAK3/B,GAMnF,OAJIq7B,EAAGzgC,QAAQs6C,QACdslC,IAGMA,EAAW,EAAIA,EAAW,KAK/BuC,GAAc3B,GAClBI,GAAWtL,UAAY6M,GAEvB,IAAIvzC,GAAS,CACZwzC,SAAUrN,GACVxzC,OAAQs2C,GACRlO,YAAaiP,GACbyJ,aAAc1G,GACd4C,KAAMqC,IAGH0B,GAAU,CACbf,SAAU,yBACV7D,YAAa,gBACbG,OAAQ,YACRC,OAAQ,SACRC,KAAM,KACNvoE,IAAK,QACLmB,KAAM,KACNlI,MAAO,WACPuvE,QAAS,cACTnxE,KAAM,QAGPo8D,GAAcD,MAAMF,SAA2B,oBAAXjjD,EAAwB,CAC3D08D,IAAK,SAEL9Z,QAAS,WACR,OAAO6Z,IAGR5Z,MAAO,SAASloE,EAAOuO,GAMtB,MALqB,kBAAVvO,GAAwC,kBAAXuO,EACvCvO,EAAQqlB,EAAOrlB,EAAOuO,GACVvO,aAAiBqlB,IAC7BrlB,EAAQqlB,EAAOrlB,IAETA,EAAMm6B,UAAYn6B,EAAMgiF,UAAY,MAG5CzzE,OAAQ,SAASwvE,EAAMxvE,GACtB,OAAO8W,EAAO04D,GAAMxvE,OAAOA,IAG5Bke,IAAK,SAASsxD,EAAMkE,EAAQzM,GAC3B,OAAOnwD,EAAO04D,GAAMtxD,IAAIw1D,EAAQzM,GAAMwM,WAGvC/uD,KAAM,SAAS/jB,EAAKD,EAAKumE,GACxB,OAAOnwD,EAAOnW,GAAK+jB,KAAK5N,EAAOpW,GAAMumE,IAGtCrN,QAAS,SAAS4V,EAAMvI,EAAM7+D,GAE7B,OADAonE,EAAO14D,EAAO04D,GACD,YAATvI,EACIuI,EAAK4B,WAAWhpE,GAASqrE,UAE1BjE,EAAK5V,QAAQqN,GAAMwM,WAG3B5Z,MAAO,SAAS2V,EAAMvI,GACrB,OAAOnwD,EAAO04D,GAAM3V,MAAMoN,GAAMwM,WAWjC3Z,QAAS,SAAS0V,GACjB,OAAO14D,EAAO04D,KAEZ,IAEJl3C,EAAcP,KAAK,SAAU,CAC5Bv8B,QAAS,CACRm4E,OAAQ,CACPC,WAAW,MAKd,IAAIC,GAAU,CACb/zC,QAAS,SAASjR,GACjB,IAAI/8B,EAAQ+8B,EAAO5kB,KACfgrB,EAAQpG,EAAOoG,MACf2K,EAAO3K,EAAMqL,eAAexuC,GAC5BgiF,EAAUl0C,GAAQ3K,EAAM2b,iBAAiB9+C,GACzCo1C,EAAU4sC,GAAWl0C,EAAKE,QAAQqH,WAAc,GAChDz1C,EAASw1C,EAAOx1C,QAAU,EAE9B,OAAQA,EAAgB,SAASklC,EAAOpuB,GACvC,OAAQA,EAAI9W,GAAUw1C,EAAO1+B,GAAG6zB,OAAU,MAD1B,MAKlB03C,SAAU,SAASllD,GAClB,IAAIklD,EAAWllD,EAAOklD,SAClB9kE,EAAI8kE,EAAWA,EAAS9kE,EAAI,KAC5B+U,EAAI+vD,EAAWA,EAAS/vD,EAAI,KAEhC,OAAIsX,GAAU9pC,QAAQuiF,GACd,SAASn9C,EAAOpuB,GACtB,OAAOurE,EAASvrE,IAIX,SAASouB,GACf,MAAO,CACN3nB,EAAS,OAANA,EAAa2nB,EAAM3nB,EAAIA,EAC1B+U,EAAS,OAANA,EAAa4S,EAAM5S,EAAIA,MAO9B,SAASgwD,GAAW70B,EAAIrtD,EAAO6xC,GAC9B,IAEIlmC,EAFA6W,EAAQ6qC,EAAG7iB,QAAU,GACrBryB,EAAOqK,EAAMrK,KAOjB,QAJa/U,IAAT+U,IACHA,IAASqK,EAAM8tB,kBAGH,IAATn4B,GAA2B,OAATA,EACrB,OAAO,EAGR,IAAa,IAATA,EACH,MAAO,SAIR,GADAxM,EAAS2X,WAAWnL,EAAM,IACtBtD,SAASlJ,IAAWoK,KAAKge,MAAMpoB,KAAYA,EAK9C,MAJgB,MAAZwM,EAAK,IAA0B,MAAZA,EAAK,KAC3BxM,EAAS3L,EAAQ2L,KAGdA,IAAW3L,GAAS2L,EAAS,GAAKA,GAAUkmC,IAIzClmC,EAGR,OAAQwM,GAER,IAAK,SACJ,MAAO,QACR,IAAK,MACJ,MAAO,MACR,IAAK,OACJ,MAAO,SAER,IAAK,SACL,IAAK,QACL,IAAK,MACJ,OAAOA,EAER,QACC,OAAO,GAIT,SAASgqE,GAAsBplD,GAC9B,IAIIua,EAJA90B,EAAQua,EAAOswB,GAAG7iB,QAAU,GAC5B1R,EAAQiE,EAAOswB,GAAGlL,QAAU,GAC5BhqC,EAAO4kB,EAAO5kB,KACdxM,EAAS,KAGb,GAAIkJ,SAASsD,GACZ,OAAO,KAiBR,GAVa,UAATA,EACHxM,OAA+BvI,IAAtBof,EAAM4/D,YAA4BtpD,EAAM2K,OAASjhB,EAAM4/D,YAC7C,QAATjqE,EACVxM,OAA4BvI,IAAnBof,EAAM6/D,SAAyBvpD,EAAM0K,IAAMhhB,EAAM6/D,cAC5Bj/E,IAApBof,EAAM8/D,UAChB32E,EAAS6W,EAAM8/D,UACLxpD,EAAM4hB,eAChB/uC,EAASmtB,EAAM4hB,qBAGDt3C,IAAXuI,GAAmC,OAAXA,EAAiB,CAC5C,QAAiBvI,IAAbuI,EAAOwR,QAAgC/Z,IAAbuI,EAAOumB,EACpC,OAAOvmB,EAGR,GAAI69B,GAAU30B,SAASlJ,GAEtB,OADA2rC,EAAaxe,EAAM6hB,eACZ,CACNx9B,EAAGm6B,EAAa3rC,EAAS,KACzBumB,EAAGolB,EAAa,KAAO3rC,GAK1B,OAAO,KAGR,SAAS42E,GAAwBxlD,GAChC,IAKI3vB,EAAOosC,EAAKyB,EAAQvkC,EAAGouB,EALvBhM,EAAQiE,EAAOswB,GAAGlL,OAClBhjD,EAAU25B,EAAM35B,QAChBS,EAASk5B,EAAMqK,MAAMxhC,KAAKsvB,OAAOrxB,OACjCuY,EAAO4kB,EAAO5kB,KACdxM,EAAS,GAGb,IAAK/L,EACJ,OAAO,KAMR,IAHAwN,EAAQjO,EAAQwiD,MAAMnjB,QAAU1F,EAAMjqB,IAAMiqB,EAAMlqB,IAClD4qC,EAAMr6C,EAAQwiD,MAAMnjB,QAAU1F,EAAMlqB,IAAMkqB,EAAMjqB,IAChDosC,EAASniB,EAAMmsB,yBAAyB,EAAG73C,GACtCsJ,EAAI,EAAGA,EAAI9W,IAAU8W,EACzBouB,EAAiB,UAAT3sB,GAA6B,QAATA,EACzB2gB,EAAMmsB,yBAAyBvuC,EAAY,UAATyB,EAAmB/K,EAAQosC,GAC7D1gB,EAAMmjD,gBAAgBvlE,GACrBvX,EAAQu6C,UAAUgK,WACrB5e,EAAM09C,GAAKvnC,EAAO99B,EAClB2nB,EAAM29C,GAAKxnC,EAAO/oB,EAClB4S,EAAMgP,MAAQhb,EAAMghD,cAAcpjE,GAAKX,KAAK4e,GAAK,GAElDhpB,EAAOxD,KAAK28B,GAEb,OAAOn5B,EAGR,SAAS+2E,GAAgB3lD,GACxB,IAAIjE,EAAQiE,EAAOswB,GAAGlL,QAAU,GAEhC,OAAIrpB,EAAMmsB,yBACFs9B,GAAwBxlD,GAEzBolD,GAAsBplD,GAG9B,SAAS4lD,GAAcrjD,EAASt/B,EAAO8hF,GACtC,IAGIn2E,EAHAoxB,EAASuC,EAAQt/B,GACjBmY,EAAO4kB,EAAO5kB,KACdyqE,EAAU,CAAC5iF,GAGf,IAAK8hF,EACJ,OAAO3pE,EAGR,OAAgB,IAATA,IAA6C,IAA3ByqE,EAAQnuE,QAAQ0D,GAAc,CACtD,IAAKtD,SAASsD,GACb,OAAOA,EAIR,GADAxM,EAAS2zB,EAAQnnB,IACZxM,EACJ,OAAO,EAGR,GAAIA,EAAOq2E,QACV,OAAO7pE,EAGRyqE,EAAQz6E,KAAKgQ,GACbA,EAAOxM,EAAOwM,KAGf,OAAO,EAGR,SAAS0qE,GAAa9lD,GACrB,IAAI5kB,EAAO4kB,EAAO5kB,KACdxX,EAAO,UAEX,OAAa,IAATwX,EACI,MAGHtD,SAASsD,KACbxX,EAAO,YAGDohF,GAAQphF,GAAMo8B,IAGtB,SAAS+lD,GAAWh+C,GACnB,OAAOA,IAAUA,EAAM2Q,KAGxB,SAASstC,GAAS3/C,EAAK4/C,EAAQC,EAAQC,EAAMC,GAC5C,IAAIzsE,EAAG8rE,EAAIC,EAAInwD,EAEf,GAAK4wD,GAASC,EAAd,CAMA,IADA//C,EAAIM,OAAOs/C,EAAO,GAAG7lE,EAAG6lE,EAAO,GAAG9wD,GAC7Bxb,EAAI,EAAGA,EAAIwsE,IAAQxsE,EACvB8yB,GAAUp/B,OAAOs6B,OAAOtB,EAAK4/C,EAAOtsE,EAAI,GAAIssE,EAAOtsE,IAGpD,QAAwBtT,IAApB6/E,EAAO,GAAGnvC,MAcd,IAHA1Q,EAAIsB,OAAOu+C,EAAOE,EAAO,GAAGhmE,EAAG8lE,EAAOE,EAAO,GAAGjxD,GAG3Cxb,EAAIysE,EAAO,EAAGzsE,EAAI,IAAKA,EAC3B8yB,GAAUp/B,OAAOs6B,OAAOtB,EAAK6/C,EAAOvsE,GAAIusE,EAAOvsE,EAAI,IAAI,QAXvD,IAHA8rE,EAAKS,EAAO,GAAGT,GACfC,EAAKQ,EAAO,GAAGR,GACfnwD,EAAIvc,KAAK6e,KAAK7e,KAAKoc,IAAI8wD,EAAO,GAAG9lE,EAAIqlE,EAAI,GAAKzsE,KAAKoc,IAAI8wD,EAAO,GAAG/wD,EAAIuwD,EAAI,IACpE/rE,EAAIysE,EAAO,EAAGzsE,EAAI,IAAKA,EAC3B0sB,EAAIO,IAAI6+C,EAAIC,EAAInwD,EAAG2wD,EAAOvsE,GAAGo9B,MAAOmvC,EAAOvsE,EAAI,GAAGo9B,OAAO,IAc5D,SAASsvC,GAAOhgD,EAAKgS,EAAQiuC,EAAQz5C,EAAMvnC,EAAOwiE,GACjD,IAMInuD,EAAGkoB,EAAM5+B,EAAOsjF,EAAIC,EAAIC,EAAIC,EAAIC,EANhC7xC,EAAQuD,EAAOx1C,OACf4+E,EAAO50C,EAAKuL,SACZ6tC,EAAS,GACTC,EAAS,GACTC,EAAO,EACPC,EAAO,EAKX,IAFA//C,EAAIqB,YAEC/tB,EAAI,EAAGkoB,EAAOiT,EAAOn7B,EAAIkoB,IAAQloB,EACrC1W,EAAQ0W,EAAIm7B,EACZyxC,EAAKluC,EAAOp1C,GAAOuqC,MACnBg5C,EAAKF,EAAOC,EAAItjF,EAAO4pC,GACvB45C,EAAKV,GAAWQ,GAChBG,EAAKX,GAAWS,GAEZ1e,QAAuBzhE,IAAfsgF,GAA4BF,IACvCE,EAAahtE,EAAI,EACjBkoB,EAAOiT,EAAQ6xC,GAGZF,GAAMC,GACTP,EAAOF,EAAO76E,KAAKm7E,GACnBH,EAAOF,EAAO96E,KAAKo7E,IACTL,GAAQC,IACb3E,GAMAgF,GACHR,EAAO76E,KAAKm7E,GAETG,GACHR,EAAO96E,KAAKo7E,KATbR,GAAS3/C,EAAK4/C,EAAQC,EAAQC,EAAMC,GACpCD,EAAOC,EAAO,EACdH,EAAS,GACTC,EAAS,KAYZF,GAAS3/C,EAAK4/C,EAAQC,EAAQC,EAAMC,GAEpC//C,EAAIQ,YACJR,EAAIoR,UAAYnyC,EAChB+gC,EAAIjrB,OAGL,IAAIwrE,GAAgB,CACnBt6E,GAAI,SAEJu6E,oBAAqB,SAASzgD,EAAOhkC,GACpC,IAGI2uC,EAAMp3B,EAAG22C,EAAItwB,EAHb8U,GAAS1O,EAAMxhC,KAAK4sC,UAAY,IAAI3uC,OACpCkiF,EAAY3iF,EAAQ2iF,UACpBxiD,EAAU,GAGd,IAAK5oB,EAAI,EAAGA,EAAIm7B,IAASn7B,EACxBo3B,EAAO3K,EAAMqL,eAAe93B,GAC5B22C,EAAKvf,EAAKE,QACVjR,EAAS,KAELswB,GAAMA,EAAG7iB,QAAU6iB,aAAcpd,GAASxlC,OAC7CsyB,EAAS,CACRilD,QAAS7+C,EAAM2b,iBAAiBpoC,GAChCyB,KAAM+pE,GAAW70B,EAAI32C,EAAGm7B,GACxB1O,MAAOA,EACPkqB,GAAIA,IAINvf,EAAK+1C,QAAU9mD,EACfuC,EAAQn3B,KAAK40B,GAGd,IAAKrmB,EAAI,EAAGA,EAAIm7B,IAASn7B,EACxBqmB,EAASuC,EAAQ5oB,GACZqmB,IAILA,EAAO5kB,KAAOwqE,GAAcrjD,EAAS5oB,EAAGorE,GACxC/kD,EAAOklD,SAAWS,GAAgB3lD,GAClCA,EAAOsmD,OAASR,GAAa9lD,KAI/B+mD,mBAAoB,SAAS3gD,GAC5B,IAEI2K,EAAMp3B,EAAG22C,EAAIzjB,EAAMwL,EAAQiuC,EAAQhhF,EAFnC+4C,EAAWjY,EAAM4f,gCACjB3f,EAAMD,EAAMC,IAGhB,IAAK1sB,EAAI0kC,EAASx7C,OAAS,EAAG8W,GAAK,IAAKA,EACvCo3B,EAAOsN,EAAS1kC,GAAGmtE,QAEd/1C,GAASA,EAAKk0C,UAInB30B,EAAKvf,EAAKuf,GACVzjB,EAAOyjB,EAAG9iB,MACV6K,EAASiY,EAAGhY,WAAa,GACzBguC,EAASv1C,EAAKu1C,OACdhhF,EAAQunC,EAAK0G,iBAAmB9J,EAAcpW,OAAO3X,aAEjD4qE,GAAUhhF,GAAS+yC,EAAOx1C,SAC7B4pC,GAAUp/B,OAAO66B,SAAS7B,EAAKD,EAAMsT,WACrC2sC,GAAOhgD,EAAKgS,EAAQiuC,EAAQz5C,EAAMvnC,EAAOgrD,EAAGj1C,OAC5CoxB,GAAUp/B,OAAO+6B,WAAW/B,OAM5B2gD,GAAiBv6C,GAAU35B,IAAIu4B,cAC/B47C,GAASx6C,GAAU1L,KACnBmmD,GAAmBz6C,GAAUtL,eAgGjC,SAASgmD,GAAYC,EAAWj9C,GAC/B,OAAOi9C,EAAUC,eAAiBD,EAAUE,SAAWn9C,EACtDA,EACAi9C,EAAUE,SAjGZ79C,EAAcP,KAAK,SAAU,CAC5BiY,OAAQ,CACPuF,SAAS,EACTnH,SAAU,MACV9T,MAAO,SACPsf,WAAW,EACXtpB,SAAS,EACT/B,OAAQ,IAGR4hB,QAAS,SAASjwC,EAAGkwC,GACpB,IAAIt+C,EAAQs+C,EAAWjR,aACnBi3C,EAAKlmF,KAAK+kC,MACV2K,EAAOw2C,EAAG91C,eAAexuC,GAG7B8tC,EAAKzD,OAAyB,OAAhByD,EAAKzD,QAAmBi6C,EAAG3iF,KAAK4sC,SAASvuC,GAAOqqC,OAAS,KAGvEi6C,EAAGv8D,UAGJq0C,QAAS,KACTmoB,QAAS,KAETtzD,OAAQ,CACPozD,SAAU,GACV7tC,QAAS,GAYT2H,eAAgB,SAAShb,GACxB,IAAIoL,EAAWpL,EAAMxhC,KAAK4sC,SACtBpvC,EAAUgkC,EAAMhkC,QAAQ++C,QAAU,GAClCkmC,EAAgBjlF,EAAQ8xB,QAAU9xB,EAAQ8xB,OAAOmzD,cAErD,OAAOjhD,EAAMk8B,yBAAyB9wD,KAAI,SAASu/B,GAClD,IAAI7pC,EAAQ6pC,EAAKsQ,WAAWjO,SAASi0C,EAAgB,OAAIhhF,GAEzD,MAAO,CACN3B,KAAM8sC,EAAST,EAAK9tC,OAAOu6C,MAC3B/F,UAAWvwC,EAAMqsC,gBACjBjG,QAASlH,EAAM2b,iBAAiBhR,EAAK9tC,OACrC01C,QAASzxC,EAAM2wC,eACf4vC,SAAUvgF,EAAM4wC,WAChBe,eAAgB3xC,EAAM6wC,iBACtB1B,SAAUnvC,EAAM8wC,gBAChB5B,UAAWlvC,EAAMktC,YACjBsD,YAAaxwC,EAAMssC,YACnB6F,WAAYnyC,EAAMmyC,WAClBrS,SAAU9/B,EAAM8/B,SAGhBsJ,aAAcS,EAAK9tC,SAElB5B,SAKNs/C,eAAgB,SAASva,GACxB,IAEIzsB,EAAGkoB,EAAM+e,EAAUC,EAFnBC,EAAO1uB,SAAShmB,cAAc,MAC9BolC,EAAWpL,EAAMxhC,KAAK4sC,SAK1B,IAFAsP,EAAKC,aAAa,QAAS3a,EAAM95B,GAAK,WAEjCqN,EAAI,EAAGkoB,EAAO2P,EAAS3uC,OAAQ8W,EAAIkoB,EAAMloB,IAC7CinC,EAAWE,EAAKE,YAAY5uB,SAAShmB,cAAc,OACnDy0C,EAAeD,EAASI,YAAY5uB,SAAShmB,cAAc,SAC3Dy0C,EAAa35C,MAAMqsC,gBAAkB/B,EAAS73B,GAAG45B,gBAC7C/B,EAAS73B,GAAG6jC,OACfoD,EAASI,YAAY5uB,SAAS6uB,eAAezP,EAAS73B,GAAG6jC,QAI3D,OAAOsD,EAAKI,aAmBd,IAAIwmC,GAAS55C,GAAa7sC,OAAO,CAEhCmsC,WAAY,SAAS4X,GACpB,IAAIniB,EAAKxhC,KACTorC,GAAUxrC,OAAO4hC,EAAImiB,GAGrBniB,EAAG8kD,eAAiB,GAKpB9kD,EAAG+kD,aAAe,KAGlB/kD,EAAGglD,cAAe,GAOnB1X,aAAc8W,GACdj8D,OAAQ,SAASg3B,EAAUC,EAAWmuB,GACrC,IAAIvtC,EAAKxhC,KA0BT,OAvBAwhC,EAAGstC,eAGHttC,EAAGmf,SAAWA,EACdnf,EAAGof,UAAYA,EACfpf,EAAGutC,QAAUA,EAGbvtC,EAAGguC,sBACHhuC,EAAGiuC,gBACHjuC,EAAGkuC,qBAEHluC,EAAGilD,oBACHjlD,EAAGklD,cACHllD,EAAGmlD,mBAGHnlD,EAAG6uC,YACH7uC,EAAG8uC,MACH9uC,EAAG+uC,WAEH/uC,EAAGkvC,cAEIlvC,EAAGykB,SAEXyqB,YAAakV,GAIbpW,oBAAqBoW,GACrBnW,cAAe,WACd,IAAIjuC,EAAKxhC,KAELwhC,EAAG+a,gBAEN/a,EAAGt2B,MAAQs2B,EAAGmf,SACdnf,EAAG7rB,KAAO,EACV6rB,EAAG3rB,MAAQ2rB,EAAGt2B,QAEds2B,EAAGr2B,OAASq2B,EAAGof,UAGfpf,EAAG4D,IAAM,EACT5D,EAAG6D,OAAS7D,EAAGr2B,QAIhBq2B,EAAGimC,YAAc,EACjBjmC,EAAGkmC,WAAa,EAChBlmC,EAAGmmC,aAAe,EAClBnmC,EAAGomC,cAAgB,EAGnBpmC,EAAGykB,QAAU,CACZ/6C,MAAO,EACPC,OAAQ,IAGVukE,mBAAoBkW,GAIpBa,kBAAmBb,GACnBc,YAAa,WACZ,IAAIllD,EAAKxhC,KACL+lF,EAAYvkD,EAAGzgC,QAAQ8xB,QAAU,GACjC+zD,EAAcx7C,GAAUtpB,SAASikE,EAAUhmC,eAAgB,CAACve,EAAGuD,OAAQvD,IAAO,GAE9EukD,EAAU9wE,SACb2xE,EAAcA,EAAY3xE,QAAO,SAAStT,GACzC,OAAOokF,EAAU9wE,OAAOtT,EAAM6/B,EAAGuD,MAAMxhC,UAIrCi+B,EAAGzgC,QAAQq/B,SACdwmD,EAAYxmD,UAGboB,EAAGolD,YAAcA,GAElBD,iBAAkBf,GAIlBvV,UAAWuV,GACXtV,IAAK,WACJ,IAAI9uC,EAAKxhC,KACL6gD,EAAOrf,EAAGzgC,QACVglF,EAAYllC,EAAKhuB,OACjBwyB,EAAUxE,EAAKwE,QAEfrgB,EAAMxD,EAAGwD,IAET6hD,EAAYz7C,GAAUrqC,QAAQ6nC,WAAWm9C,GACzCj9C,EAAW+9C,EAAU/gD,KAGrBghD,EAAWtlD,EAAG8kD,eAAiB,GAE/BrgC,EAAUzkB,EAAGykB,QACb1J,EAAe/a,EAAG+a,eAWtB,GATIA,GACH0J,EAAQ/6C,MAAQs2B,EAAGmf,SACnBsF,EAAQ96C,OAASk6C,EAAU,GAAK,IAEhCY,EAAQ/6C,MAAQm6C,EAAU,GAAK,EAC/BY,EAAQ96C,OAASq2B,EAAGof,WAIhByE,EAAL,CAMA,GAFArgB,EAAIsD,KAAOu+C,EAAU5vD,OAEjBslB,EAAc,CAIjB,IAAIwqC,EAAavlD,EAAGulD,WAAa,CAAC,GAC9BC,EAAc,EAElBhiD,EAAImF,UAAY,OAChBnF,EAAI22B,aAAe,SAEnBvwB,GAAUlL,KAAKsB,EAAGolD,aAAa,SAAS1mC,EAAY5nC,GACnD,IAAI2tE,EAAWH,GAAYC,EAAWj9C,GAClC59B,EAAQ+6E,EAAYn9C,EAAW,EAAK9D,EAAI6zB,YAAY3Y,EAAW78C,MAAM6H,OAE/D,IAANoN,GAAWyuE,EAAWA,EAAWvlF,OAAS,GAAK0J,EAAQ,EAAI66E,EAAU3tC,QAAU6N,EAAQ/6C,SAC1F87E,GAAel+C,EAAWi9C,EAAU3tC,QACpC2uC,EAAWA,EAAWvlF,QAAU8W,EAAI,EAAI,EAAI,IAAM,GAInDwuE,EAASxuE,GAAK,CACb3C,KAAM,EACNyvB,IAAK,EACLl6B,MAAOA,EACPC,OAAQ29B,GAGTi+C,EAAWA,EAAWvlF,OAAS,IAAM0J,EAAQ66E,EAAU3tC,WAGxD6N,EAAQ96C,QAAU67E,MAEZ,CACN,IAAIC,EAAWlB,EAAU3tC,QACrB8uC,EAAe1lD,EAAG0lD,aAAe,GACjCC,EAAgB3lD,EAAG2lD,cAAgB,GACnCC,EAAarB,EAAU3tC,QACvBivC,EAAkB,EAClBC,EAAmB,EAEvBl8C,GAAUlL,KAAKsB,EAAGolD,aAAa,SAAS1mC,EAAY5nC,GACnD,IAAI2tE,EAAWH,GAAYC,EAAWj9C,GAClCyB,EAAY07C,EAAYn9C,EAAW,EAAK9D,EAAI6zB,YAAY3Y,EAAW78C,MAAM6H,MAGzEoN,EAAI,GAAKgvE,EAAmBx+C,EAAW,EAAIm+C,EAAWhhC,EAAQ96C,SACjEi8E,GAAcC,EAAkBtB,EAAU3tC,QAC1C8uC,EAAan9E,KAAKs9E,GAClBF,EAAcp9E,KAAKu9E,GACnBD,EAAkB,EAClBC,EAAmB,GAIpBD,EAAkB1vE,KAAKlH,IAAI42E,EAAiB98C,GAC5C+8C,GAAoBx+C,EAAWm+C,EAG/BH,EAASxuE,GAAK,CACb3C,KAAM,EACNyvB,IAAK,EACLl6B,MAAOq/B,EACPp/B,OAAQ29B,MAIVs+C,GAAcC,EACdH,EAAan9E,KAAKs9E,GAClBF,EAAcp9E,KAAKu9E,GACnBrhC,EAAQ/6C,OAASk8E,EAGlB5lD,EAAGt2B,MAAQ+6C,EAAQ/6C,MACnBs2B,EAAGr2B,OAAS86C,EAAQ96C,YA9EnBq2B,EAAGt2B,MAAQ+6C,EAAQ/6C,MAAQs2B,EAAGr2B,OAAS86C,EAAQ96C,OAAS,GAgF1DolE,SAAUqV,GAGVrpC,aAAc,WACb,MAAiC,QAA1Bv8C,KAAKe,QAAQm9C,UAAgD,WAA1Bl+C,KAAKe,QAAQm9C,UAIxDpM,KAAM,WACL,IAAItQ,EAAKxhC,KACL6gD,EAAOrf,EAAGzgC,QACVglF,EAAYllC,EAAKhuB,OACjBgW,EAAiBT,EAAcpW,OAC/B3X,EAAewuB,EAAexuB,aAC9BktE,EAAc1+C,EAAegJ,SAAS0E,KACtCixC,EAAehmD,EAAGr2B,OAClBg8E,EAAgB3lD,EAAG2lD,cACnBM,EAAcjmD,EAAGt2B,MACjB67E,EAAavlD,EAAGulD,WAEpB,GAAKlmC,EAAKwE,QAAV,CAIA,IAKIqiC,EALAhsB,EAAYiqB,GAAe9kC,EAAKpvC,IAAK+vB,EAAG7rB,KAAM6rB,EAAGykB,QAAQ/6C,OACzD85B,EAAMxD,EAAGwD,IACTynC,EAAYoZ,GAAiBE,EAAUtZ,UAAW5jC,EAAef,kBACjE++C,EAAYz7C,GAAUrqC,QAAQ6nC,WAAWm9C,GACzCj9C,EAAW+9C,EAAU/gD,KAIzBd,EAAImF,UAAYuxB,EAAUvxB,UAAU,QACpCnF,EAAI22B,aAAe,SACnB32B,EAAI+P,UAAY,GAChB/P,EAAIqR,YAAco2B,EAClBznC,EAAIoR,UAAYq2B,EAChBznC,EAAIsD,KAAOu+C,EAAU5vD,OAErB,IAAIgvD,EAAWH,GAAYC,EAAWj9C,GAClCg+C,EAAWtlD,EAAG8kD,eAGdqB,EAAgB,SAAS5oE,EAAG+U,EAAGosB,GAClC,KAAItlB,MAAMqrD,IAAaA,GAAY,GAAnC,CAKAjhD,EAAIiB,OAEJ,IAAI8O,EAAY8wC,GAAiB3lC,EAAWnL,UAAWwyC,EAAYx0C,aAanE,GAZA/N,EAAIoR,UAAYyvC,GAAiB3lC,EAAW9J,UAAW/7B,GACvD2qB,EAAIsS,QAAUuuC,GAAiB3lC,EAAW5I,QAASiwC,EAAY/wC,gBAC/DxR,EAAIwS,eAAiBquC,GAAiB3lC,EAAW1I,eAAgB+vC,EAAY7wC,kBAC7E1R,EAAIgQ,SAAW6wC,GAAiB3lC,EAAWlL,SAAUuyC,EAAY5wC,iBACjE3R,EAAI+P,UAAYA,EAChB/P,EAAIqR,YAAcwvC,GAAiB3lC,EAAW7J,YAAah8B,GAEvD2qB,EAAIuS,aAEPvS,EAAIuS,YAAYsuC,GAAiB3lC,EAAWkmC,SAAUmB,EAAY9wC,aAG/DsvC,GAAaA,EAAUC,cAAe,CAGzC,IAAI7gD,EAAS8gD,EAAWtuE,KAAKiwE,MAAQ,EACjCplC,EAAUkZ,EAAUrxB,MAAMtrB,EAAGknE,EAAW,GACxCxjC,EAAU3uB,EAAIgV,EAAW,EAG7BsC,GAAUp/B,OAAO05B,UAAUV,EAAKkb,EAAWlI,WAAY7S,EAAQqd,EAASC,EAASvC,EAAWva,eAG5FX,EAAI8U,SAAS4hB,EAAUpxB,WAAWvrB,EAAGknE,GAAWnyD,EAAGmyD,EAAUn9C,GAC3C,IAAdiM,GACH/P,EAAIq3B,WAAWX,EAAUpxB,WAAWvrB,EAAGknE,GAAWnyD,EAAGmyD,EAAUn9C,GAIjE9D,EAAIoB,YAGDw1B,EAAW,SAAS78C,EAAG+U,EAAGosB,EAAY8oB,GACzC,IAAI6e,EAAe/+C,EAAW,EAC1Bg/C,EAAQpsB,EAAUrxB,MAAMtrB,EAAGknE,EAAW4B,GACtCE,EAAUj0D,EAAI+zD,EAElB7iD,EAAI42B,SAAS1b,EAAW78C,KAAMykF,EAAOC,GAEjC7nC,EAAWjU,SAEdjH,EAAIqB,YACJrB,EAAI+P,UAAY,EAChB/P,EAAIM,OAAOwiD,EAAOC,GAClB/iD,EAAIsB,OAAOo1B,EAAUrxB,MAAMy9C,EAAO9e,GAAY+e,GAC9C/iD,EAAIwB,WAIFwhD,EAAkB,SAASC,EAAWC,GACzC,OAAQrnC,EAAKzW,OACb,IAAK,QACJ,OAAO27C,EAAU3tC,QAClB,IAAK,MACJ,OAAO6vC,EAAYC,EACpB,QACC,OAAQD,EAAYC,EAAYnC,EAAU3tC,SAAW,IAKnDmE,EAAe/a,EAAG+a,eAErBmrC,EADGnrC,EACM,CACRx9B,EAAGyiB,EAAG7rB,KAAOqyE,EAAgBP,EAAaV,EAAW,IACrDjzD,EAAG0N,EAAG4D,IAAM2gD,EAAU3tC,QACtB7B,KAAM,GAGE,CACRx3B,EAAGyiB,EAAG7rB,KAAOowE,EAAU3tC,QACvBtkB,EAAG0N,EAAG4D,IAAM4iD,EAAgBR,EAAcL,EAAc,IACxD5wC,KAAM,GAIRnL,GAAU35B,IAAIk5B,sBAAsBnJ,EAAGwD,IAAK6b,EAAKiW,eAEjD,IAAIqxB,EAAar/C,EAAWi9C,EAAU3tC,QACtChN,GAAUlL,KAAKsB,EAAGolD,aAAa,SAAS1mC,EAAY5nC,GACnD,IAAI0wD,EAAYhkC,EAAI6zB,YAAY3Y,EAAW78C,MAAM6H,MAC7CA,EAAQ+6E,EAAYn9C,EAAW,EAAKkgC,EACpCjqD,EAAI2oE,EAAO3oE,EACX+U,EAAI4zD,EAAO5zD,EAEf4nC,EAAUxxB,SAAS1I,EAAGykB,QAAQ/6C,OAK1BqxC,EACCjkC,EAAI,GAAKyG,EAAI7T,EAAQ66E,EAAU3tC,QAAU5W,EAAG7rB,KAAO6rB,EAAGykB,QAAQ/6C,QACjE4oB,EAAI4zD,EAAO5zD,GAAKq0D,EAChBT,EAAOnxC,OACPx3B,EAAI2oE,EAAO3oE,EAAIyiB,EAAG7rB,KAAOqyE,EAAgBP,EAAaV,EAAWW,EAAOnxC,QAE/Dj+B,EAAI,GAAKwb,EAAIq0D,EAAa3mD,EAAG4D,IAAM5D,EAAGykB,QAAQ96C,SACxD4T,EAAI2oE,EAAO3oE,EAAIA,EAAIyiB,EAAG0lD,aAAaQ,EAAOnxC,MAAQwvC,EAAU3tC,QAC5DsvC,EAAOnxC,OACPziB,EAAI4zD,EAAO5zD,EAAI0N,EAAG4D,IAAM4iD,EAAgBR,EAAcL,EAAcO,EAAOnxC,QAG5E,IAAI6xC,EAAQ1sB,EAAU38C,EAAEA,GAExB4oE,EAAcS,EAAOt0D,EAAGosB,GAExB4mC,EAASxuE,GAAG3C,KAAO+lD,EAAUpxB,WAAW89C,EAAOtB,EAASxuE,GAAGpN,OAC3D47E,EAASxuE,GAAG8sB,IAAMtR,EAGlB8nC,EAASwsB,EAAOt0D,EAAGosB,EAAY8oB,GAE3BzsB,EACHmrC,EAAO3oE,GAAK7T,EAAQ66E,EAAU3tC,QAE9BsvC,EAAO5zD,GAAKq0D,KAId/8C,GAAU35B,IAAIy5B,qBAAqB1J,EAAGwD,IAAK6b,EAAKiW,iBAMjDuxB,iBAAkB,SAAStpE,EAAG+U,GAC7B,IACIxb,EAAGgwE,EAAQC,EADX/mD,EAAKxhC,KAGT,GAAI+e,GAAKyiB,EAAG7rB,MAAQoJ,GAAKyiB,EAAG3rB,OAASie,GAAK0N,EAAG4D,KAAOtR,GAAK0N,EAAG6D,OAG3D,IADAkjD,EAAK/mD,EAAG8kD,eACHhuE,EAAI,EAAGA,EAAIiwE,EAAG/mF,SAAU8W,EAG5B,GAFAgwE,EAASC,EAAGjwE,GAERyG,GAAKupE,EAAO3yE,MAAQoJ,GAAKupE,EAAO3yE,KAAO2yE,EAAOp9E,OAAS4oB,GAAKw0D,EAAOljD,KAAOtR,GAAKw0D,EAAOljD,IAAMkjD,EAAOn9E,OAEtG,OAAOq2B,EAAGolD,YAAYtuE,GAKzB,OAAO,MAQRqkD,YAAa,SAAS3sD,GACrB,IAGIw4E,EAHAhnD,EAAKxhC,KACL6gD,EAAOrf,EAAGzgC,QACVwB,EAAkB,YAAXyN,EAAEzN,KAAqB,QAAUyN,EAAEzN,KAG9C,GAAa,cAATA,GACH,IAAKs+C,EAAKmd,UAAYnd,EAAKslC,QAC1B,WAEK,IAAa,UAAT5jF,EAKV,OAJA,IAAKs+C,EAAKZ,QACT,OAOFuoC,EAAchnD,EAAG6mD,iBAAiBr4E,EAAE+O,EAAG/O,EAAE8jB,GAE5B,UAATvxB,EACCimF,GAAe3nC,EAAKZ,SAEvBY,EAAKZ,QAAQj/C,KAAKwgC,EAAIxxB,EAAEs3C,OAAQkhC,IAG7B3nC,EAAKslC,SAAWqC,IAAgBhnD,EAAG+kD,eAClC/kD,EAAG+kD,cACN1lC,EAAKslC,QAAQnlF,KAAKwgC,EAAIxxB,EAAEs3C,OAAQ9lB,EAAG+kD,cAEpC/kD,EAAG+kD,aAAeiC,GAGf3nC,EAAKmd,SAAWwqB,GAEnB3nC,EAAKmd,QAAQh9D,KAAKwgC,EAAIxxB,EAAEs3C,OAAQkhC,OAMpC,SAASC,GAAyB1jD,EAAO2jD,GACxC,IAAI5oC,EAAS,IAAIumC,GAAO,CACvBrhD,IAAKD,EAAMC,IACXjkC,QAAS2nF,EACT3jD,MAAOA,IAGRymB,GAAaK,UAAU9mB,EAAO+a,EAAQ4oC,GACtCl9B,GAAaC,OAAO1mB,EAAO+a,GAC3B/a,EAAM+a,OAASA,EAGhB,IAAI6oC,GAAgB,CACnB19E,GAAI,SASJ29E,SAAUvC,GAEVwC,WAAY,SAAS9jD,GACpB,IAAI2jD,EAAa3jD,EAAMhkC,QAAQ++C,OAE3B4oC,GACHD,GAAyB1jD,EAAO2jD,IAIlC5Z,aAAc,SAAS/pC,GACtB,IAAI2jD,EAAa3jD,EAAMhkC,QAAQ++C,OAC3BA,EAAS/a,EAAM+a,OAEf4oC,GACHt9C,GAAUnK,QAAQynD,EAAYtgD,EAAcpW,OAAO8tB,QAE/CA,GACH0L,GAAaK,UAAU9mB,EAAO+a,EAAQ4oC,GACtC5oC,EAAO/+C,QAAU2nF,GAEjBD,GAAyB1jD,EAAO2jD,IAEvB5oC,IACV0L,GAAaG,UAAU5mB,EAAO+a,UACvB/a,EAAM+a,SAIfgpC,WAAY,SAAS/jD,EAAO/0B,GAC3B,IAAI8vC,EAAS/a,EAAM+a,OACfA,GACHA,EAAO6c,YAAY3sD,KAKlB+4E,GAAS39C,GAAU1L,KAEvB0I,EAAcP,KAAK,SAAU,CAC5BwW,MAAO,CACNgH,SAAS,EACTpc,UAAW,OACXygB,WAAW,EACXtR,QAAS,GACT8F,SAAU,MACV76C,KAAM,GACNg7B,OAAQ,OAOV,IAAI2qD,GAAQv8C,GAAa7sC,OAAO,CAC/BmsC,WAAY,SAAS4X,GACpB,IAAIniB,EAAKxhC,KACTorC,GAAUxrC,OAAO4hC,EAAImiB,GAGrBniB,EAAG8kD,eAAiB,IAKrBxX,aAAcia,GACdp/D,OAAQ,SAASg3B,EAAUC,EAAWmuB,GACrC,IAAIvtC,EAAKxhC,KA0BT,OAvBAwhC,EAAGstC,eAGHttC,EAAGmf,SAAWA,EACdnf,EAAGof,UAAYA,EACfpf,EAAGutC,QAAUA,EAGbvtC,EAAGguC,sBACHhuC,EAAGiuC,gBACHjuC,EAAGkuC,qBAEHluC,EAAGilD,oBACHjlD,EAAGklD,cACHllD,EAAGmlD,mBAGHnlD,EAAG6uC,YACH7uC,EAAG8uC,MACH9uC,EAAG+uC,WAEH/uC,EAAGkvC,cAEIlvC,EAAGykB,SAGXyqB,YAAaqY,GAIbvZ,oBAAqBuZ,GACrBtZ,cAAe,WACd,IAAIjuC,EAAKxhC,KAELwhC,EAAG+a,gBAEN/a,EAAGt2B,MAAQs2B,EAAGmf,SACdnf,EAAG7rB,KAAO,EACV6rB,EAAG3rB,MAAQ2rB,EAAGt2B,QAEds2B,EAAGr2B,OAASq2B,EAAGof,UAGfpf,EAAG4D,IAAM,EACT5D,EAAG6D,OAAS7D,EAAGr2B,QAIhBq2B,EAAGimC,YAAc,EACjBjmC,EAAGkmC,WAAa,EAChBlmC,EAAGmmC,aAAe,EAClBnmC,EAAGomC,cAAgB,EAGnBpmC,EAAGykB,QAAU,CACZ/6C,MAAO,EACPC,OAAQ,IAGVukE,mBAAoBqZ,GAIpBtC,kBAAmBsC,GACnBrC,YAAaqC,GACbpC,iBAAkBoC,GAIlB1Y,UAAW0Y,GACXzY,IAAK,WACJ,IAIIkE,EAAW0G,EAJX15C,EAAKxhC,KACL6gD,EAAOrf,EAAGzgC,QACVklD,EAAUzkB,EAAGykB,QAAU,GACvB1J,EAAe/a,EAAG+a,eAGjBsE,EAAKwE,SAKVmvB,EAAYppC,GAAU9pC,QAAQu/C,EAAKx9C,MAAQw9C,EAAKx9C,KAAK7B,OAAS,EAC9D05E,EAAW1G,EAAYppC,GAAUrqC,QAAQ6nC,WAAWiY,GAAM7X,WAA4B,EAAf6X,EAAKzI,QAE5E5W,EAAGt2B,MAAQ+6C,EAAQ/6C,MAAQqxC,EAAe/a,EAAGmf,SAAWu6B,EACxD15C,EAAGr2B,OAAS86C,EAAQ96C,OAASoxC,EAAe2+B,EAAW15C,EAAGof,WARzDpf,EAAGt2B,MAAQ+6C,EAAQ/6C,MAAQs2B,EAAGr2B,OAAS86C,EAAQ96C,OAAS,GAU1DolE,SAAUwY,GAGVxsC,aAAc,WACb,IAAIyM,EAAMhpD,KAAKe,QAAQm9C,SACvB,MAAe,QAAR8K,GAAyB,WAARA,GAIzBlX,KAAM,WACL,IAAItQ,EAAKxhC,KACLglC,EAAMxD,EAAGwD,IACT6b,EAAOrf,EAAGzgC,QAEd,GAAK8/C,EAAKwE,QAAV,CAIA,IAQI1E,EAAUsoC,EAAQC,EARlBC,EAAW/9C,GAAUrqC,QAAQ6nC,WAAWiY,GACxC7X,EAAamgD,EAASngD,WACtBqS,EAASrS,EAAa,EAAI6X,EAAKzI,QAC/BzS,EAAW,EACXP,EAAM5D,EAAG4D,IACTzvB,EAAO6rB,EAAG7rB,KACV0vB,EAAS7D,EAAG6D,OACZxvB,EAAQ2rB,EAAG3rB,MAGfmvB,EAAIoR,UAAYhL,GAAUtL,eAAe+gB,EAAK4rB,UAAWrkC,EAAcpW,OAAO8V,kBAC9E9C,EAAIsD,KAAO6gD,EAASlyD,OAGhBuK,EAAG+a,gBACN0sC,EAAStzE,GAASE,EAAQF,GAAQ,EAClCuzE,EAAS9jD,EAAMiW,EACfsF,EAAW9qC,EAAQF,IAEnBszE,EAA2B,SAAlBpoC,EAAK3C,SAAsBvoC,EAAO0lC,EAASxlC,EAAQwlC,EAC5D6tC,EAAS9jD,GAAQC,EAASD,GAAO,EACjCub,EAAWtb,EAASD,EACpBO,EAAWhuB,KAAK4e,IAAwB,SAAlBsqB,EAAK3C,UAAuB,GAAM,KAGzDlZ,EAAIiB,OACJjB,EAAIkB,UAAU+iD,EAAQC,GACtBlkD,EAAI/G,OAAO0H,GACXX,EAAImF,UAAY,SAChBnF,EAAI22B,aAAe,SAEnB,IAAIt4D,EAAOw9C,EAAKx9C,KAChB,GAAI+nC,GAAU9pC,QAAQ+B,GAErB,IADA,IAAIywB,EAAI,EACCxb,EAAI,EAAGA,EAAIjV,EAAK7B,SAAU8W,EAClC0sB,EAAI42B,SAASv4D,EAAKiV,GAAI,EAAGwb,EAAG6sB,GAC5B7sB,GAAKkV,OAGNhE,EAAI42B,SAASv4D,EAAM,EAAG,EAAGs9C,GAG1B3b,EAAIoB,cAIN,SAASgjD,GAA6BrkD,EAAOskD,GAC5C,IAAIhrC,EAAQ,IAAI2qC,GAAM,CACrBhkD,IAAKD,EAAMC,IACXjkC,QAASsoF,EACTtkD,MAAOA,IAGRymB,GAAaK,UAAU9mB,EAAOsZ,EAAOgrC,GACrC79B,GAAaC,OAAO1mB,EAAOsZ,GAC3BtZ,EAAMukD,WAAajrC,EAGpB,IAAIkrC,GAAe,CAClBt+E,GAAI,QASJ29E,SAAUI,GAEVH,WAAY,SAAS9jD,GACpB,IAAIskD,EAAYtkD,EAAMhkC,QAAQs9C,MAE1BgrC,GACHD,GAA6BrkD,EAAOskD,IAItCva,aAAc,SAAS/pC,GACtB,IAAIskD,EAAYtkD,EAAMhkC,QAAQs9C,MAC1BirC,EAAavkD,EAAMukD,WAEnBD,GACHj+C,GAAUnK,QAAQooD,EAAWjhD,EAAcpW,OAAOqsB,OAE9CirC,GACH99B,GAAaK,UAAU9mB,EAAOukD,EAAYD,GAC1CC,EAAWvoF,QAAUsoF,GAErBD,GAA6BrkD,EAAOskD,IAE3BC,IACV99B,GAAaG,UAAU5mB,EAAOukD,UACvBvkD,EAAMukD,cAKZh+E,GAAU,GACVm4E,GAAS8B,GACTzlC,GAAS6oC,GACTtqC,GAAQkrC,GA2CZ,IAAK,IAAI30D,MA1CTtpB,GAAQm4E,OAASA,GACjBn4E,GAAQw0C,OAASA,GACjBx0C,GAAQ+yC,MAAQA,GAOhB4jB,GAAgBxiC,QAAU2L,GAG1Bk3B,KAEAL,GAAgBunB,UAAYxf,GAC5B/H,GAAgBwnB,UAAY38C,GAC5Bm1B,GAAgBynB,iBAAmBr8C,GACnC40B,GAAgBjb,YAAcA,GAC9Bib,GAAgBjzB,kBAAoBgF,GACpCiuB,GAAgBr6B,SAAWQ,EAC3B65B,GAAgBp2B,QAAUY,GAC1Bw1B,GAAgBpwB,SAAWA,GAC3BowB,GAAgB0nB,YAAclhC,GAC9BwZ,GAAgB1Y,QAAUiC,GAC1ByW,GAAgBhQ,SAAWA,GAC3BgQ,GAAgB32D,QAAU4mD,GAC1B+P,GAAgBuM,MAAQmH,GACxB1T,GAAgB2nB,aAAe72B,GAC/BkP,GAAgB4nB,MAAQ5f,GACxBhI,GAAgB6nB,QAAUhtB,GAI1BmF,GAAgBxiC,QAAQS,KAAKyP,IAAQ,SAASjV,EAAOn4B,GACpD0/D,GAAgB2nB,aAAa32B,kBAAkB1wD,EAAMm4B,EAAOA,EAAM27C,cAQrD/qE,GACTA,GAAQnK,eAAeyzB,KAC1BqtC,GAAgB32D,QAAQ8mD,SAAS9mD,GAAQspB,KAI3CqtC,GAAgBhQ,SAASlmB,aAEzB,IAAIlkC,GAAMo6D,GAyGV,MAxGsB,qBAAX3iC,SACVA,OAAO8+B,MAAQ6D,IAYhBA,GAAgB7D,MAAQ6D,GASxBA,GAAgBokB,OAAS/6E,GAAQw0C,OAAO8oC,SASxC3mB,GAAgB+mB,MAAQ19E,GAAQ+yC,MAAMuqC,SAStC3mB,GAAgB8nB,cAAgB9nB,GAAgB32D,QAUhD22D,GAAgB+nB,WAAa/nB,GAAgBp2B,QAAQjsC,OAAO,IAS5DqiE,GAAgBgoB,cAAgBhoB,GAAgBxiC,QAAQzzB,OASxDi2D,GAAgBioB,cAAgBjoB,GAAgB1Y,QAShD0Y,GAAgBkoB,gBAAkB9S,GAQlCpV,GAAgBxiC,QAAQS,KACvB,CACC,MACA,SACA,WACA,OACA,YACA,QACA,YAED,SAASkqD,GACRnoB,GAAgBmoB,GAAS,SAASplD,EAAKqlD,GACtC,OAAO,IAAIpoB,GAAgBj9B,EAAKi9B,GAAgBxiC,QAAQsB,MAAMspD,GAAO,GAAI,CACxE9nF,KAAM6nF,EAAMnrD,OAAO,GAAGr3B,cAAgBwiF,EAAM33E,MAAM,UAM/C5K,O,oCCzyfP,gBAGeyiF,e,oCCHf,W,6DCAA,gBAGeC,e,qLCWTC,EAAatoF,eACjBmO,OACAo6E,eAA+B,QAC/BvlF,QAIaslF,SAAW5qF,OAAO,CAC/BC,KAAM,cAENI,MAAO,CACLG,SAAU,CACRmC,KAAMpC,QACN0C,QAAS,MAEXsH,MAAOhK,QACPuqF,WAAY,CACVnoF,KAAM,CAAC8I,OAAQ7I,QACfK,QAAS,GAEX8nF,cAAe,CACbpoF,KAAM,CAACC,OAAQnB,OACfwB,QAAS,WAAF,MAAQ,KAEjB+nF,SAAU,CACRroF,KAAM,CAACC,OAAQnB,OACfwB,QAAS,WAAF,MAAQ,KAEjBnC,SAAU,CACR6B,KAAMpC,QACN0C,QAAS,MAEXgoF,MAAO,CACLtoF,KAAMlB,MACNwB,QAAS,WAAF,MAAQ,KAEjBioF,QAAS3qF,QACT4qF,gBAAiB,CACfxoF,KAAM,CAACC,OAAQnB,OACfwB,QAAS,WAAF,MAAQ,KAEjBmoF,eAAgB7qF,QAChBoB,MAAO,CAAE6F,UAAU,IAGrB7D,KAAI,WACF,MAAO,CACL0nF,YAAa,GACbC,UAAU,EACVC,YAAY,EACZC,UAAU,EACVC,WAAW,EACXC,aAAa,EACbC,UAAWvrF,KAAKuB,MAChB4lB,OAAO,IAIXvmB,SAAU,CACRiD,cAAa,WACX,IAAI7D,KAAKwrF,WACT,OAAIxrF,KAAKiE,MAAcjE,KAAKiE,MAMxBjE,KAAKiF,SAAWjF,KAAKyrF,UAAkB,QAC/B,WAEdC,SAAQ,WACN,OACE1rF,KAAK2rF,sBAAsBnqF,OAAS,GACpCxB,KAAKirF,YAAYzpF,OAAS,GAC1BxB,KAAKmK,OAKTyhF,WAAU,WACR,OACE5rF,KAAK6rF,wBAAwBrqF,OAAS,GACtCxB,KAAK8qF,SAGTgB,cAAa,WACX,OAAO9rF,KAAK2rF,sBAAsBnqF,OAAS,GAAKxB,KAAKmK,OAEvD4hF,YAAW,WACT,OAAO/rF,KAAKgsF,iBAAiBxqF,OAAS,GAExCyqF,SAAQ,WACN,OAAIjsF,KAAKwrF,aAGPxrF,KAAK4rF,YACJ5rF,KAAKksF,gBAAkBlsF,KAAK0rF,WAGjCC,sBAAqB,WACnB,OAAO3rF,KAAKmsF,oBAAoBnsF,KAAK2qF,gBAEvCyB,iBAAgB,WACd,OAAOpsF,KAAKmsF,oBAAoBnsF,KAAK4qF,WAEvCiB,wBAAuB,WACrB,OAAO7rF,KAAKmsF,oBAAoBnsF,KAAK+qF,kBAEvCsB,cAAe,CACbt/C,IAAG,WACD,OAAO/sC,KAAKurF,WAEdv+C,IAAG,SAAEtqC,GACH1C,KAAKurF,UAAY7oF,EAEjB1C,KAAK6J,MAAM,QAASnH,KAGxB8oF,WAAU,W,MACR,OAAoB,QAAbc,EAAAtsF,KAAKI,gBAAQ,IAAAksF,MAChBtsF,KAAK+oB,MACP/oB,KAAK+oB,KAAK3oB,UAGdmsF,cAAa,WACX,OAAQvsF,KAAKwrF,aAAexrF,KAAKwsF,YAEnCA,WAAU,W,MACR,OAAoB,QAAbF,EAAAtsF,KAAKU,gBAAQ,IAAA4rF,MAChBtsF,KAAK+oB,MACP/oB,KAAK+oB,KAAKroB,UAGdwrF,eAAc,WACZ,QAAIlsF,KAAK8rF,gBACL9rF,KAAKsrF,cAEFtrF,KAAKgrF,eACRhrF,KAAKmrF,aAAenrF,KAAKqrF,UACxBrrF,KAAKorF,UAAYprF,KAAKmrF,aAE7BsB,YAAW,WACT,OAAOzsF,KAAKgsF,iBAAiBv5E,MAAM,EAAGpH,OAAOrL,KAAK0qF,cAEpDgC,gBAAe,WACb,IAAI1sF,KAAKwrF,WACT,OAAIxrF,KAAK0rF,UAAY1rF,KAAKksF,eAAuB,QAC7ClsF,KAAK4rF,WAAmB,UACxB5rF,KAAKkrF,SAAiBlrF,KAAK6D,mBAA/B,GAGFmoF,iBAAgB,WACd,OAAIhsF,KAAK2rF,sBAAsBnqF,OAAS,EAC/BxB,KAAK2rF,sBACH3rF,KAAK+qF,iBAAmB/qF,KAAK+qF,gBAAgBvpF,OAAS,EACxDxB,KAAK6rF,wBACH7rF,KAAK4qF,UAAY5qF,KAAK4qF,SAASppF,OAAS,EAC1CxB,KAAKosF,iBACHpsF,KAAKksF,eACPlsF,KAAKirF,YACA,KAIlBj9E,MAAO,CACL68E,MAAO,CACLtsE,QAAO,SAAEvN,EAAQC,GACX07E,eAAU37E,EAAQC,IACtBjR,KAAK8oB,YAEP8jE,MAAM,GAERP,cAAa,WAGXrsF,KAAKorF,UAAW,EAChBprF,KAAKgrF,gBAAkBhrF,KAAK6sF,UAAU7sF,KAAK8oB,WAE7CuiE,UAAS,SAAE3oF,GAINA,GACA1C,KAAKwrF,aAENxrF,KAAKmrF,YAAa,EAClBnrF,KAAKgrF,gBAAkBhrF,KAAK6sF,UAAU7sF,KAAK8oB,YAG/CwiE,YAAW,eAAAtnF,EAAA,KACTsW,YAAW,WACTtW,EAAKonF,UAAW,EAChBpnF,EAAKmnF,YAAa,EAClBnnF,EAAKsnF,aAAc,EACnBtnF,EAAK8kB,aACJ,IAEL4iE,SAAQ,SAAEhpF,GACJ1C,KAAKksF,gBACPlsF,KAAK6J,MAAM,eAAgBnH,IAG/BnB,MAAK,SAAEmB,GACL1C,KAAKurF,UAAY7oF,IAIrBoqF,YAAW,WACT9sF,KAAK8oB,YAGP7nB,QAAO,WACLjB,KAAK+oB,MAAQ/oB,KAAK+oB,KAAKqpC,SAASpyD,OAGlCmM,cAAa,WACXnM,KAAK+oB,MAAQ/oB,KAAK+oB,KAAKspC,WAAWryD,OAGpCyB,QAAS,CACP0qF,oBAAmB,SAAEvB,GACnB,OAAKA,EACIvpF,MAAMC,QAAQspF,GAAkBA,EAC7B,CAACA,GAFS,IAKxBj6C,MAAK,WACH3wC,KAAKsrF,aAAc,EACnBtrF,KAAKqsF,cAAgBhrF,MAAMC,QAAQtB,KAAKqsF,eACpC,GACA,MAGNU,gBAAe,WACb/sF,KAAKsrF,aAAc,GAGrBxiE,SAAQ,WAA4B,IAA1BkkE,EAAKj+E,UAAAvN,OAAA,QAAAwD,IAAA+J,UAAA,IAAAA,UAAA,GAAUxN,EAAjBwN,UAAAvN,OAAA,EAAAuN,UAAA,QAAA/J,EACAimF,EAAc,GACpB1pF,EAAQA,GAASvB,KAAKqsF,cAElBW,IAAOhtF,KAAKorF,SAAWprF,KAAKmrF,YAAa,GAE7C,IAAK,IAAIvpF,EAAQ,EAAGA,EAAQ5B,KAAK6qF,MAAMrpF,OAAQI,IAAS,CACtD,IAAMqrF,EAAOjtF,KAAK6qF,MAAMjpF,GAClBulB,EAAwB,oBAAT8lE,EAAsBA,EAAK1rF,GAAS0rF,GAE3C,IAAV9lE,GAAoC,kBAAVA,EAC5B8jE,EAAYlhF,KAAKod,GAAS,IACA,mBAAVA,GAChB+lE,eAAa,sDAADvpF,OAAAwpF,eAA8DhmE,GAAK,aAAannB,MAOhG,OAHAA,KAAKirF,YAAcA,EACnBjrF,KAAKmnB,MAA+B,IAAvB8jE,EAAYzpF,OAElBxB,KAAKmnB,W,8DC/QlB,W,wHCYMqjE,EAAatoF,eACjBvC,OACAytF,QAIa5C,SAAW5qF,OAAO,CAC/BC,KAAM,gBAENC,QAAO,WACL,MAAO,CACLutF,WAAYrtF,OAIhBC,MAAO,CACLqtF,OAAQ,CACN/qF,KAAMpC,QACN0C,SAAS,GAEXsI,OAAQ,CACN5I,KAAM,CAAC8I,OAAQ7I,QACfK,QAAS,QAEXhD,KAAM2C,OACNyX,IAAK9Z,QAILoB,MAAO,MAGTX,SAAU,CACRC,QAAO,WACL,OAAAC,8BAAA,GACKssF,OAAOrsF,QAAQH,SAASC,QAAQG,KAAKhB,OADnC,IAEL,oDAAoD,EACpD,+BAAgCA,KAAKstF,SAAWttF,KAAKia,IACrD,4BAA6Bja,KAAKia,QAKxCxY,QAAS,CACP8rF,eAAc,WACZ,OAAOvtF,KAAK8D,eAAe,MAAO,CAChCN,YAAa,8BACba,MAAO,CACL4G,GAAIjL,KAAKiL,GACTtF,KAAM,aACN,kBAAmB3F,KAAKwtF,aAEzBJ,OAAOrsF,QAAQU,QAAQ8rF,eAAevsF,KAAKhB,QAEhDytF,aAAY,WACV,IAAMvnF,EAASknF,OAAOrsF,QAAQU,QAAQgsF,aAAazsF,KAAKhB,MAIxD,cAFOkG,EAAO3C,KAAMkB,GAAIC,MAEjBwB,GAETwnF,SAAQ,WACN,IAAMvxC,EAAQixC,OAAOrsF,QAAQU,QAAQisF,SAAS1sF,KAAKhB,MAEnD,OAAKm8C,GAELA,EAAM54C,KAAMc,MAAO4G,GAAKjL,KAAKwtF,kBAEtBrxC,EAAM54C,KAAMc,MAAOspF,IAC1BxxC,EAAMyxC,IAAM,SAELzxC,GAPY,MASrB8D,QAAStgD,OAAcoB,QAAQU,QAAQw+C,SAGzC/5C,OAAM,SAAEC,GACN,IAAM0nF,EAAQT,OAAOrsF,QAAQmF,OAAOlF,KAAKhB,KAAMmG,GAI/C,OAFAnG,KAAK8tF,GAAGD,EAAMtqF,KAAO,MAAOvD,KAAK+tF,QAE1BF,M,kCC7FX,W,wMCgBe3rF,iBACbmO,OACA29E,OACA9oF,QACAtF,OAAO,CACPC,KAAM,WAENI,MAAO,CACLI,KAAMF,QACNupD,UAAWvpD,QACXke,UAAWle,QACX8tF,QAAS9tF,QACTiG,WAAY,CACV7D,KAAMC,OACNK,QAAS,mBAEXqI,MAAO,CACL3I,KAAM,CAAC8I,OAAQ7I,QACfK,QAAS,MAIbjC,SAAU,CACRstF,mBAAkB,WAChB,IAAMC,GAAoBnuF,KAAKiF,SAAkBjF,KAAKiE,OAAS,WAC/D,OAAOjE,KAAKiE,OAASkqF,IAIzB1sF,QAAS,CACP2sF,SAAQ,WACN,OAAOpuF,KAAK8D,eAAe,MAAO9D,KAAK4D,mBAAmB5D,KAAKkuF,mBAAoB,CACjF1qF,YAAa,kBACbC,MAAO,CACL,6BAA8BzD,KAAKqe,aAEnChZ,eAAQrF,KAAM,WAEpBquF,kBAAiB,WACf,OAAOruF,KAAK8D,eAAe,aAAc,CACvC7D,MAAO,CACLJ,KAAMG,KAAKoG,aAEZf,eAAQrF,QAEbsuF,QAAO,WACL,OAAOtuF,KAAK8D,eAAe,MAAO,CAChCN,YAAa,iBACbC,MAAK3C,eAAA,CACH,2BAA4Bd,KAAKiuF,SAC9BjuF,KAAKgS,cAEVnM,MAAO7F,KAAK0pD,eAAY1kD,EAAY,CAClCkG,MAAOqjF,eAAcvuF,KAAKkL,SAE3B,CACDlL,KAAKquF,uBAGTG,WAAU,WACR,OAAOxuF,KAAK8D,eAAe,MAAO,CAChCN,YAAa,oCACbC,MAAO,CACL,8BAA+BzD,KAAKiuF,UAErC5oF,eAAQrF,KAAM,cAIrBkG,OAAM,SAAEC,GACN,OAAOA,EAAE,MAAO,CACd3C,YAAa,kBACbC,MAAK3C,8BAAA,CACH,iBAAkBd,KAAKK,KACvB,sBAAuBL,KAAKqe,UAC5B,uBAAwBre,KAAK0pD,WAC1B1pD,KAAKgS,cACLhS,KAAKyuF,mBAET,CACDzuF,KAAK0uF,OAAOrwC,MAAQr+C,KAAKouF,WAAa,KACtCpuF,KAAKsuF,UACLtuF,KAAK0uF,OAAOC,QAAU3uF,KAAKwuF,aAAe,UC/FjCI,ICYA1sF,sBACbmO,OACA29E,OACA9oF,QAEAtF,OAAO,CACPC,KAAM,SAENI,MAAO,CACLI,KAAMF,QACNupD,UAAWvpD,QACX0uF,YAAarsF,OACb6b,UAAWle,QACX8tF,QAAS9tF,QACT+K,MAAO,CACL3I,KAAM,CAAC8I,OAAQ7I,QACfK,QAAS,MAIbpB,QAAS,CACPke,eAAc,WACZ,OAAO,MAETe,cAAa,WACX,OAAO,MAETouE,qBAAoB,WAClB,OAAO9uF,KAAKuF,aAAa1C,QAAU7C,KAAKuF,aAAa1C,QAAQ,CAC3DojC,KAAOjmC,KAAaimC,KACpB8oD,OAAS/uF,KAAa+uF,SACnB1pF,eAAQrF,OAEf4gB,UAAS,SAAEpd,GACT,IAAM4B,EAAoB,GAE1B,IAAKpF,KAAKiuF,QAAS,CACjB,IAAM5vC,EAAQr+C,KAAK2f,iBACnB0+B,GAASj5C,EAAS2E,KAAKs0C,GAGzB,IAAM8Z,EAAOn4D,KAAK0gB,gBAKlB,OAJAy3C,GAAQ/yD,EAAS2E,KAAKouD,GAEtB/yD,EAAS2E,KAAK/J,KAAK8D,eAAe,WAAY,CAAE+b,KAAM,WAAa,CAAC7f,KAAK8uF,0BAElE9uF,KAAK8D,eAAe8qF,EAAS,CAClCprF,cACAvD,MAAO,CACLgE,MAAOjE,KAAK6uF,aAAe7uF,KAAKiE,MAChCiK,KAAMlO,KAAKkO,KACX8gF,UAAWhvF,KAAKgvF,UAChB3uF,KAAML,KAAKK,KACXqpD,UAAW1pD,KAAK0pD,UAChBrrC,UAAWre,KAAKqe,UAChB9M,MAAOvR,KAAKuR,MACZrG,MAAOlL,KAAKkL,MACZ+iF,QAASjuF,KAAKiuF,UAEf7oF,Q,uICrEM,QACbvF,KAAM,6BAENqC,OAAQ,CAACipB,QAET8jE,QAAS7iF,OAETnM,MAAO,CACLivF,UAAW,CACT3sF,KAAMlB,MACNwB,QAAS,MAEXssF,WAAY,CACV5sF,KAAMpC,QACN0C,SAAS,GAEXusF,OAAQ,CACN7sF,KAAMpC,QACN0C,SAAS,GAEXwsF,MAAO,CACL9sF,KAAM4E,OACNtE,QAAS,WAAF,OAAQ,QAInBmL,MAAO,CACLkhF,UAAW,CACT3wE,QAAO,WACLve,KAAK6L,YAAY7L,KAAKsvF,oBAAqBtvF,KAAKuvF,kBAElD3C,MAAM,IAIVh5E,QAAO,WACL5T,KAAKyL,UAAU,CAAC+jF,MAChBxvF,KAAK6L,YAAY7L,KAAKsvF,oBAAqBtvF,KAAKuvF,kBAGlD3uF,SAAU,CACR6uF,SAAQ,WAAG,IAAAC,EAAA1rF,EAAA,KACT,OAAgC,QAAhC0rF,EAAO1vF,KAAK2vF,4BAAoB,IAAAD,OAAA,EAAzBA,EAA2Bv/E,KAAI,SAACy/E,GAAO,OAC5C5rF,EAAKkE,GAAG,YAADvE,OAAaisF,EAAQC,WAGhCC,eAAc,WAAG,IAAAC,EACf,OAAgC,QAAhCA,EAAO/vF,KAAK2vF,4BAAoB,IAAAI,OAAA,EAAzBA,EAA2BjiD,WAAU,SAAC8hD,GAAO,OAAmB,IAAdA,EAAQ3kF,OAEnE+kF,mBAAkB,WAAG,IAAAC,EACnB,OAAgC,QAAhCA,EAAOjwF,KAAK2vF,4BAAoB,IAAAM,OAAA,EAAzBA,EAA2B9/E,KAAI,iBAAM,OAE9C+/E,SAAQ,WACN,OAAOlwF,KAAKkvF,UAAU,GAAG/+E,IAAInQ,KAAKmwF,sBAEpCC,YAAW,WACT,OAAOpwF,KAAKkwF,SAAS1uF,QAEvB6uF,YAAW,WACT,OAAOrwF,KAAKkvF,UAAU,GAAG/+E,IAAInQ,KAAKmwF,sBAEpCG,gBAAe,WACb,OAAOtwF,KAAKkvF,UAAU,GAAG/+E,KAAI,SAACmgF,GAAe,OACxB,GAAnBA,EAAuB,EAAI,MAI/Bf,gBAAe,WACb,MAAO,CACLrxB,YAAY,EACZ3N,qBAAqB,EACrBzQ,OAAQ,CAAEuF,SAAS,GACnB1V,OAAQ,CACNO,MAAO,CACL,CACEoL,UAAW,CAAE+J,SAAS,GACtBnI,SAAS,IAGblN,MAAO,CACL,CACEsL,UAAW,CAAE+J,SAAS,GACtBnI,SAAS,EACTqG,MAAO,CACL9yC,IAAK,IACLD,IAAK,EACL60C,SAAS,MAKjB/5C,QAAS,CACPilF,WAAY,CACV19D,OAAQ,CACNwrB,MAAO,CACL/V,KAAM,CAAEjK,OAAQ,YAKxB8f,SAAU,CACRC,UAAW,CACTC,MAAK,SAAC+B,EAAa78C,GAGjB,IAAQ3B,EAAUw+C,EAAY,GAAtBx+C,MACR,OAAO2B,EAAK4sC,SAAS,GAAGqgD,UAAU5uF,IAGpCu6C,MAAK,SAACiE,EAAa78C,GACjB,IAAIhC,EAAQ,KACNquC,EAAUrsC,EAAK4sC,SAASiQ,EAAYnR,cAQ1C,OAHE1tC,EAD+B,IAA7B6+C,EAAYnR,aACNW,EAAQiB,MAAMuP,EAAYx+C,OACvBguC,EAAQrsC,KAAK68C,EAAYx+C,OAE/B,GAAP+B,OAAU8sF,eAAsB,IAARlvF,EAAa,GAAE,UAOjD+tF,oBAAmB,WACjB,IAAMn/C,EAAW,GAIjB,OAHAA,EAASpmC,KAAK/J,KAAK0wF,uBACnBvgD,EAASpmC,KAAK/J,KAAK2wF,4BAEZ,CACL99D,OAAQ7yB,KAAK4wF,oBACbzgD,cAKN1uC,QAAS,CACPmvF,kBAAiB,WACf,IAAMC,EAAmB7wF,KAAKmvF,aAAenvF,KAAKovF,OAElD,OAAIyB,EACK7wF,KAAKgwF,mBAELhwF,KAAKyvF,UAIhBiB,oBAAmB,WACjB,IAAMI,EAAuB9wF,KAAKkI,GAAG,6BACrC,MAAO,CACLgqC,gBAAiBlyC,KAAK+wF,aACtBh+C,YAAa/yC,KAAKswF,gBAClBn+C,YAAa,UACb8G,cAAe,QACfu3C,UAAWxwF,KAAKyvF,SAChBlsF,KAAMvD,KAAKkwF,SACXK,WAAY,CACVS,OAAQ,QACR5mD,MAAO,MACPgO,QAAS,CAAEziC,MAAO,GAClB7E,UAAS,SAACvP,GACR,GAAIA,GAAS,EACX,OAAOuvF,EAET,IAAMG,GAA0B,IAAR1vF,GAAa8jB,kBAAkB,GACvD,OAAI4rE,EAAiB,IACZ,GAAPttF,OAAU,IAAG,KAGXstF,GAAkB,GACbA,EAGF,GAAPttF,OAAUstF,EAAc,SAMhCN,yBAAwB,WAAG,IAAA7+E,EAAA,KACzB,MAAO,CACLihC,YAAa/yC,KAAKswF,gBAClBn+C,YAAa,UACbq+C,UAAWxwF,KAAKyvF,SAChB5+C,MAAO7wC,KAAKqwF,YACZ9sF,KAAMvD,KAAKqwF,YAAYlgF,KAAI,SAACkgF,EAAa/3E,GAGvC,IAAM44E,EAAmBp/E,EAAKs+E,YAC1Bt+E,EAAKq/E,kBAAkB74E,GACvB,EACE24E,GACJZ,EAAca,GACd7rE,kBAAkB,GAEpB,OAAI4rE,EAAiB,IACZ,IAGFA,EAAiB,GAAK,EAAIA,KAEnCV,WAAY,CACVS,OAAQ,MACR5mD,MAAO,MACPgO,QAAS,CAAEziC,KAAM,GACjB7E,UAAS,SAACsgF,EAA0BhoD,GAClC,OAAIgoD,GAA4B,EACvB,GAGF,GAAPztF,QAC6C,IAA3CylC,EAAQwG,QAAQiB,MAAMzH,EAAQqJ,YAC9BptB,kBAAkB,GAAE,SAM9B8qE,oBAAmB,SAAC5uF,GAClB,OAAIA,EAAQ,EACH,EAELA,EAAQ,IACH,IAEFA,EAAM8jB,kBAAkB,IAEjC8rE,kBAAiB,SAAC74E,GAChB,OAAItY,KAAKkwF,SAAS53E,GAAK,EAAU,EAC1BtY,KAAKkwF,SAAS53E,IAEvBy4E,aAAY,SAAC3nD,GACX,IAKIlV,EACFC,EANIvyB,EAAQwnC,EAAQqJ,UAChBlxC,EAAQ6nC,EAAQwG,QAAQrsC,KAAK3B,GAC/Bm2D,EAAU,IAKZ3jC,EAAI,EACA1xB,EAAc,IAARnB,EACNs7C,EAAS,GAYf,OAVIn6C,GAAOm6C,GACT3oB,EAAI,IACJC,EAAIxc,KAAKge,MAAajzB,EAAMm6C,EAAb,KACfzoB,EAAI,KAEJF,EAAIvc,KAAKge,OAAQ,IAAMjzB,GAAOm6C,EAAU,KACxC1oB,EAAI,IACJC,EAAI,IAGC,QAAPzwB,OAAeuwB,EAAC,KAAAvwB,OAAIwwB,EAAC,KAAAxwB,OAAIywB,EAAC,KAAAzwB,OAAIo0D,EAAO,S,oCCpQ3C,IAAI7xD,EAAS,WAAkB,IAAIS,EAAI3G,KAAKuG,EAAGI,EAAI4D,MAAMhE,GAAG,OAAOA,EAAG,MAAMI,EAAI0qF,GAAI1qF,EAAIgpF,sBAAsB,SAASC,GAAS,OAAOrpF,EAAG,MAAM,CAACsG,IAAI+iF,EAAQ3kF,GAAGzH,YAAY,2BAA2B,CAACmD,EAAID,GAAG,IAAIC,EAAI6F,GAAG7F,EAAIuB,GAAG,YAADvE,OAAaisF,EAAQC,QAAS,UAAS,IAEnQ5oF,EAAkB,G,YCYP,GACf/E,OAAA,CAAAipB,SCfqW,I,wBCQjW7gB,EAAY,eACd,EACApE,EACAe,GACA,EACA,KACA,WACA,MAIa,OAAAqD,E,6CCjBf,4EAcMkgF,EAAatoF,eACjBovF,OACAjhF,OACAo6E,eAAyD,iBAAkB,4BAA6B,sBAQ3FD,SAAW5qF,SAAkBA,OAAO,CACjDC,KAAM,4BAEN0D,KAAM,WAAF,MAAS,CACXxB,UAAU,IAGZnB,SAAU,CACR2wF,eAAc,WACZ,OAAOvxF,KAAKwxF,eAAezvF,WAI/BiM,MAAO,CACLujF,eAAgB,CACdjzE,WAAW,EACXC,QAAO,SAAE7b,EAAKuO,GAAM,IAAAjN,EAAA,KACdtB,IAAK1C,KAAKyxF,UAAW,GAEX,MAAVxgF,EAAgBjR,KAAK+B,SAAWW,EAC/B1C,KAAK6sF,WAAU,kBAAM7oF,EAAKjC,SAAWW,QAKhDzB,QAAO,WACLjB,KAAKwxF,eAAeE,gBAAgB1xF,OAGtCmM,cAAa,WACXnM,KAAKwxF,eAAeG,qBAGtBzrF,OAAM,SAAEC,GAAC,IAAA2L,EAAA,KACP,OAAO3L,EAAEyrF,OAAmB5xF,KAAK6xF,iBAAgB,iBAAM,CACrD1rF,EAAE,MAAO2L,EAAKlO,mBAAmBkO,EAAK7N,MAAO,CAC3CT,YAAa,4BACbuC,WAAY,CAAC,CACXlG,KAAM,OACN0B,MAAOuQ,EAAK/P,aAEZ,CACFoE,EAAE,MAAO,CAAE1C,MAAO,mCAAqC4B,eAAQyM,EAAM,UAAW,CAAEggF,KAAMhgF,EAAK/P,uB,sLChDtFG,sBACb6vF,OACAC,eAAmB,SAEnBpyF,OAAO,CACPC,KAAM,SAENC,QAAO,WACL,MAAO,CAAEipB,KAAM/oB,OAGjBiyF,cAAc,EAEdhyF,MAAO,CACLG,SAAUD,QACV+xF,eAAgB/xF,QAChBO,SAAUP,QACVoB,MAAOpB,SAGToD,KAAM,WAAF,MAAS,CACX4lC,OAAQ,GACRgpD,SAAU,GACVC,SAAU,KAGZpkF,MAAO,CACLokF,SAAU,CACR7zE,QAAO,SAAE7b,GACP,IAAM2vF,EAASlrF,OAAO8oB,OAAOvtB,GAAKC,UAAS,GAE3C3C,KAAK6J,MAAM,SAAUwoF,IAEvBzF,MAAM,EACNtuE,WAAW,IAIf7c,QAAS,CACP6wF,WAAU,SAAEryE,GAAU,IAAAjc,EAAA,KACduuF,EAAW,SAAAtyE,GACf,OAAOA,EAAMuyE,OAAO,YAAa,SAAA9vF,GAC/BsB,EAAKyuF,KAAKzuF,EAAKouF,SAAUnyE,EAAMyyE,KAAMhwF,KACpC,CAAE4b,WAAW,KAGZ6zE,EAAqB,CACzBO,KAAMzyE,EAAMyyE,KACZvrE,MAAO,aACP+kE,eAAgB,cAiBlB,OAdIlsF,KAAKkyF,eAEPC,EAASjG,eAAiBjsE,EAAMuyE,OAAO,kBAAmB,SAAA9vF,GACnDA,IAGDsB,EAAKouF,SAASjxF,eAAe8e,EAAMyyE,QAEvCP,EAAShrE,MAAQorE,EAAQtyE,QAG3BkyE,EAAShrE,MAAQorE,EAAQtyE,GAGpBkyE,GAGTrpE,SAAQ,WACN,OAAqE,IAA9D9oB,KAAKmpC,OAAOl0B,QAAO,SAAAgL,GAAK,OAAKA,EAAM6I,UAAS,MAAOtnB,QAG5DmvC,MAAK,WACH3wC,KAAKmpC,OAAOjQ,SAAQ,SAAAjZ,GAAK,OAAIA,EAAM0wB,WACnC3wC,KAAK2yF,iBAEPA,cAAa,eAAA7gF,EAAA,KACP9R,KAAKkyF,gBAEP53E,YAAW,WACTxI,EAAKsgF,SAAW,KACf,IAIPrF,gBAAe,WACb/sF,KAAKmpC,OAAOjQ,SAAQ,SAAAjZ,GAAK,OAAIA,EAAM8sE,qBACnC/sF,KAAK2yF,iBAEPvgC,SAAQ,SAAEnyC,GACRjgB,KAAKmpC,OAAOp/B,KAAKkW,GACjBjgB,KAAKmyF,SAASpoF,KAAK/J,KAAKsyF,WAAWryE,KAErCoyC,WAAU,SAAEpyC,GACV,IAAM2yE,EAAQ5yF,KAAKmpC,OAAOxmB,MAAK,SAAArK,GAAC,OAAIA,EAAEo6E,OAASzyE,EAAMyyE,QAErD,GAAKE,EAAL,CAEA,IAAMC,EAAU7yF,KAAKmyF,SAASxvE,MAAK,SAAArK,GAAC,OAAIA,EAAEo6E,OAASE,EAAMF,QACrDG,IACFA,EAAQ1rE,QACR0rE,EAAQ3G,kBAGVlsF,KAAKmyF,SAAWnyF,KAAKmyF,SAASl9E,QAAO,SAAAqD,GAAC,OAAIA,EAAEo6E,OAASE,EAAMF,QAC3D1yF,KAAKmpC,OAASnpC,KAAKmpC,OAAOl0B,QAAO,SAAAqD,GAAC,OAAIA,EAAEo6E,OAASE,EAAMF,QACvD1yF,KAAK8yF,QAAQ9yF,KAAKoyF,SAAUQ,EAAMF,SAItCxsF,OAAM,SAAEC,GAAC,IAAAsP,EAAA,KACP,OAAOtP,EAAE,OAAQ,CACf3C,YAAa,SACba,MAAKvD,eAAA,CACHiyF,YAAY,GACT/yF,KAAK+tF,QAEVtpF,GAAI,CACFuuF,OAAS,SAAAhjF,GAAD,OAAcyF,EAAK5L,MAAM,SAAUmG,MAE5C3K,eAAQrF,W,oCC9If,W,4ECAuFqE,G,oBAAM,W,IAAC,O,EAAwB,QAAWsC,G,OAAa,SAAiBA,C,MAAgB,CAAS,oBAACgG,SAAYhG,EAAIiG,SAAKC,iBAAW,SAACC,IAAG,O,YAAwCwB,EAAS,K,eAA8B,WAAC,MAAO,CAAC2kF,WAAa,OAAK,CAAUtxE,UAAa,YAAgB,GAAC,YAAiC,0BAACtd,YAAM,CAAC,iBAAU,YAAC,cAAQ,QAAW,MAAMqC,CAA2C,SAAM,MAAC,YAAc,yCAA2Bob,Y,MAA+C,CAACb,QAAU,cAAgB,qBAAOta,EAAIusF,cAAe,GAAwDvsF,WAAW6F,kB,CAAyGK,EAAIjL,YAAK,U,YAAO,kC,GAAC,KAAQuxF,KAAO5xF,gBAAK,6C,OAAC,SAAQ,CAAS,IAAC,EAACoL,OAAqBE,MAAI,EAAO,MAACC,MAAG,W,YAAyD,OAACE,IAAK,QAAO,GAAC,WAAY,qCACt9B,WACG/F,e,UCFSG,G,UAAW,CACtB7E,KAAMpC,QACN0C,SAAS,IAGEwvF,EAAS,CACpB9vF,KAAMlB,MACNwB,QAAS,WAAF,MAAQ,KAGJzC,EAAW,CACtBmC,KAAMpC,QACN0C,SAAS,GC2BI,GACf5C,MAAA,CACAizF,YAAA,CACA3wF,KAAAC,OACAK,QAAA,IAEAw7C,MAAA,CACA97C,KAAAC,OACAK,QAAA,IAEA9B,QAAA,CACAwB,KAAAlB,MACAwB,QAAA,sBAEAtB,MAAA,CACAgB,KAAA,CAAAC,OAAA6I,OAAAlL,SACA0C,QAAA,MAEAoX,IAAA,CACA1X,KAAApC,QACA0C,SAAA,GAEAowF,cAAA,CACA1wF,KAAApC,QACA0C,SAAA,GAEAzC,WACAgH,WACAirF,UAEA9uF,KAAA,WACA,OACA8oF,cAAA,KACA+G,gBAAA,CACA,CACAj3C,MAAA,KAAAj0C,GAAA,OACA3G,OAAA,GAEA,CACA46C,MAAA,KAAAj0C,GAAA,MACA3G,OAAA,MAKAyM,MAAA,CACAjN,QAAA,CACAwd,QAAA,SAAAxd,GACA,OAAAA,QAAA,IAAAA,KAAAS,SACA,KAAA4xF,gBAAAryF,IAGAud,WAAA,EACAsuE,MAAA,GAEArrF,MAAA,CACAgd,QAAA,SAAAC,GACA,KAAA6tE,cAAA7tE,GAEAF,WAAA,GAEA+tE,cAAA,SAAAgH,GACA,KAAAxpF,MAAA,QAAAwpF,MCrGmW,I,YCO/V/oF,EAAY,eACd,EACA,EACArD,GACA,EACA,KACA,KACA,MAIa,OAAAqD,E,+CClBX,EAAQ,E,oICaGpI,iBACboxF,OACAjjF,QACAzQ,OAAO,CACPC,KAAM,eAENC,QAAO,WACL,MAAO,CACLyzF,UAAWvzF,OAIfC,MAAO,CACLqtF,OAAQntF,SAGVS,SAAU,CACRC,QAAO,WACL,OAAAC,8BAAA,GACKwyF,OAAevyF,QAAQH,SAASC,QAAQG,KAAKhB,OAD3C,IAEL,gBAAgB,EAChB,uBAAwBA,KAAKstF,WAKnCt/E,MAAO,CACLs/E,OAAM,SAAE5qF,GACFA,IAAK1C,KAAKwzF,aAAe,GAE7BxzF,KAAK6sF,UAAU7sF,KAAKi/D,YAIxBx9D,QAAS,CACPgyF,QAAO,WACL,OAAOzzF,KAAKiG,aAAajG,KAAKiE,MAAvBnD,eAAA,GACFwyF,OAAevyF,QAAQU,QAAQgyF,QAAQzyF,KAAKhB,Y,6JClD+PihB,W,IAAmB,OAAE,EAAK,QAAS,G,OAAiBzd,SAAY,CAA0C,MAAK,CAAyHA,WAAY,EAAM,OAACa,MAAM,OAAY,YAAC,OAACsI,gBAAqBE,GAAG,SAAY,GAAG,IAAC,IAAD0W,GAAiB,MAAF,CAAD,EAAAA,GAAF9e,YAAE,MAAI,GAAQ8B,QAAyG,SAAC,MAAE,CAAIA,MAAG,EAAOI,OAA8EtC,SAAM,YAAC,EAAM,OAAG,GAAW,WAAQ,WAAII,CAAE,EAAC,kB,YAAS,2C,GAAiBkC,OAAIkb,CAAM,EAAG,OAAK,iF,YAAA,OAAC,OAAItb,OAAG,IAA6E,YAAY,EAAC,KAAClC,IAAM,YAAC,YAAU,GAAS,MAAQ,EAAQ,GAAC,MAAQ,+BAAE,2BAAO,GAAO,GAAC,uCAAwMb,SAAW,CAAC,KAAM,iEAACa,MAAM,CAAC,KAAO,GAAkB,QAAe,MAAO,I,GAAoB,CAAc,kBAAM,EAAC,QAAO,KAAoF,iDAAG,YAAW,QAAkCb,UAAW,CAAQa,MAAM,CAAC,QAAO,SAAkB,eAAe,MAAO,K,CAAoB,SAAQ,CAAM,iCAAG,CAACkC,EAAG,OAAO,oIAAC+H,YAAS,O,MAAC,CAAoE,uBAAK,UAAU/H,GAAa6E,KAAI,GAAOgZ,KAAM,UAAC7iB,MAAOoF,S,GAA0CA,OAAI+sF,C,SAAgB,CAACzyE,UAAW,+DAAoB,OAAS1a,EAAG,aAAQ,UAAC/C,YAAY,OAAiB,MAAK,CAAQA,uBAAwBmD,UAAWA,GAA2FnD,QAAsBa,KAAM,UAAC,MAAO,SAA8C,WAAE,SAAK,CAAgB+G,UAAI,OAAkB,mDAAoD,EAAC,e,IAAC,O,MAA0B,CAAc,QAAS,YAAG,qBAAI,iBAAoC,2B,CAAQ7J,SAAOoF,CAAG,EAACgtF,Q,YAAkC,kB,GAAgBhtF,OAAIgtF,C,YAA4B,W,CAAC1yE,SAAW,yEAAyB,sBAAE,MAAO,CAA8C,KAAU,OAAUpU,QAAI+iF,EAAU,4B,GAAQ,G,IAA4C,mB,YAAW,kC,MAAyD,CAAE,IAAMlpF,EAAG,gBAAwD,SAAW,GAAElD,OAAW,IAAmDa,IAAO,OAAS,EAAG,uBAAc,OAAIsC,MAAO,EAAI,wBAA2DnD,SAAW,SAAO,GAACa,EAAM,2BAAc,WAAQ,4BAAU,EAAI,GAAG,EAAI,sBAAmBmI,SAAU,GAAqF,OAAOjG,EAAG,OAAO,CAAEsG,IAAG,EAAAlJ,GAAwBU,MAAM,CAAC,eAAU,qBAAC,MAAQ,GAAS,SAAU,yCAAW,CAACkC,EAAG,OAAQ,iDAAC/C,WAAY,C,YAAiC,oC,GAAC,OAAO,C,MAAI,CAAQ,aAAE,MAAK,Q,GAAwB,UAAU2hB,+C,YAAO,OAAC,MAAM,CAAa9gB,UAAM,G,MAAO,U,CAAc,yGAAC,OAAM,UAAkBA,IAAK,GAAC,6B,MAAC,CAAgB,SAAmB,eAAkB,QAAU,W,CAAuC,SAAQsC,C,YAA+BA,2B,MAA8B,CAA8B,SAAG,GAAC,M,GAA2B,gBAAWitF,C,MAAyB,CAAE,cAAsB/mF,GAAI,SAAM,C,MAAI,C,KAAe,K,GAA0DrJ,M,UAA8M,C,aAAsBA,Q,YAAuC,O,aAAC,K,SAAqB,G,OAAY,wB,MAAI+C,EAAG,mB,MAAmCI,EAAM,GAAG,uBAAQ,2BAAeyd,IAAO7iB,OAAO4jB,SAAW,GAACrD,OAAQ,EAAC,cAADA,EAAgB,K,YAAyC,EAAC,KAAY,WAAI,GAAG,SAAW,GAAEte,MAAW,GAAC,iBAA+B,CAAM,YAAC,gCAAC,CAAM,EAAC,yHAAG,iBAAO,MAAuB,iCAAC,MAAU2hB,CAAO,qBAAW,UAAQ,KAAc,CAAC,EAAG,0BAAM,EAAG,iBAAiB,SAAE,MAAK,CAAgBpf,QAAY,GAAClG,SAAK,SAAO,GAACihB,OAAQ,EAAS,SAAwBG,WAAW,iBAAe5c,GAAM,U,YAASsC,gC,MAAuB,CAAsB,WAAeyd,GAAK,gBAAC,C,MAAM,CAAgBtC,QAAS,MAA+C,a,MAACb,CAAyB,SAAI,GAAI1a,IAAYlC,MAAM,W,CAAY,SAAQ,C,WAAS,EAAQ,aAAIkC,QAAG,UAAgBR,QAAY,WAAClG,WAAK,e,MAA+B,CAAkBohB,QAAW,aAAc,kBAAC5c,SAAM,I,MAAwB,CAAgC,QAAW,KAAG,qBAAC+f,EAAM,kBAAuBtC,WAAS,mBAAgD,a,MAACb,CAA0B,SAAI,GAAI1a,IAAY/C,MAAW,W,CAAsB,SAAU,C,WAAM,EAAG,aAAI+C,QAAG,UAASlC,MAAM,aAAC,WAAS,e,MAAe,CAAW,mBAAG,MAAC,gBAAC,SAAQ,I,MAA6C,CAAC,cAAIkC,SAAG,SAAiB,GAAiC,EAAI,OAAY,QAAQ,IAAyClC,WAAM,oBAAa,GAAK,UAAG,0BAAIkC,MAAG,CAASlC,KAAM,IAAC,GAAO,MAAO,CAAC,UAAC,MAAO,CAAkB,QAAIsC,MAAO,MAA4FnD,MAAY,IAAqB,IAAY,MAAK,YAAG,8BAAuFa,GAAM,6CAAC,KAAO,OAAE,W,YAAS,4BAAE,MAAC,CAAG,KAAC,KAAC,SAAgC,CAACsC,EAAG,OAAI,CAAiEtC,MAAM,CAAC,MAAQ,IAAI,GAAEsC,CAAsEnD,MAAW,EAAC,gB,CAAqC,KAAM,MAAG,4E,YAAS,cAAE,MAAC,CAAG,KAAC,KAAC,SAAgC,CAACmD,EAAID,SAAOC,WAAWktF,aAA4CxvF,YAAM,8B,MAAC,CAAU,QAAIsC,MAAO,I,GAA8I9G,CAAYihB,MAAQ,sB,CAAqCG,SAAW,sDAAiB,MAAE,CAAC5c,MAAM,KAAkC,+DAACI,YAAG,8B,MAAC,CAAkC,QAAG,MAAS,I,GAAwE,CAAwB,MAAO,EAAE,oBAAuB,0DAACA,MAAG,CAAC,MAAQkC,KAAY,CAACA,EAAID,GAAG,IAAIC,EAAI6F,GAAG7F,EAAIuB,mBAAgB,MAAO3B,QAAU,IAAC,sEAAClC,WAAM,EAAC,YAAkB,QAAS,SAAY,QAAU,gBAA+E,+B,MAAK,CAAkB,gCACnxN,IACG4C,WAAkB,uB,mkBCFsC,EAAU,W,IAAa5C,EAAM,K,EAAC,EAAM,MAAC,G,OAAG,UAACsI,OAAqBE,KAAI,I,YAA4B+U,EAAA,K,IAAI,Y,GAAyBpe,SAAW,GAAuC,IAAEiB,EAAK8B,EAAG,G,MAAuD/C,SAAY,MAAsD,YAAY,wCAA0C,wDAAG,mEAAU2hB,MAAQ2uE,IAAK,EAAI,GAAC,EAAK,GAAC,iCAAwItwF,WAAY,MAAoJ,+BAAwB,YAAauwF,mCAAoD,GAAAtvE,KAAA,CAAAlV,eAAAgU,CAAA,kE,YAAd,yB,EAAE6B,GAAI,EAAAX,iBAAA,cAAS,MAAU,eAAK,KAAC5X,EAAIjL,KAAM,EAAK,EAAM+E,GAAmW,OAAM,EAAG,MACztC,OACGM,WAAkB,GAAE,6SAExB,OAJ2lB,SAAkC,YAAWV,2BAA2F/C,UAAY,iD,KCiDhuB,G,UAAA,CACf3D,KAAA,eAEAqC,OAAA,CAAAipB,QAEAlrB,MAAA,CACAklB,QAAA,CAAA5iB,KAAA4E,OAAAC,UAAA,IAGAxG,SAAA,CACAmzF,gBAAA,eAAAC,EAAAC,EAAAjwF,EAAA,KACA,OAIA,QAJAgwF,EACA7sF,OAAA+sF,QAAA,QAAAD,EAAA,KAAA9uE,eAAA,IAAA8uE,OAAA,EAAAA,EAAAH,OAAA7+E,QACA,SAAA2M,GAAA,IAAA2B,EAAAhU,eAAAqS,EAAA,GAAAuyE,GAAA5wE,EAAA,GAAAA,EAAA,WACAvf,EAAAupB,gBAAA5qB,SAAAwxF,EAAAC,qBACA,IAAAJ,IAAA,OChEoW,I,YCOhW1pF,EAAY,eACd,EACA,EACA,GACA,EACA,KACA,KACA,MAIa,EAAAA,E,oBClBgF9G,aAAkB,IAAG+C,EAAG,KAAuE/C,UAAY,G,OAAY,EAAC,O,IAAC,EAAM,U,YAA8B,Q,CAAI,UAAS,gD,YAAQ,OAAM,OAAImD,KAAO,kBAAmHnD,UAAY,GAAOa,KAAM,GAAC,KAAO,S,CAAiC,KAAM,IAAG,iG,YAAQ,O,MAAU,CAAc,uBAAIsC,UAAWA,GAAoFtC,KAAM,GAAC,KAAK,UAAG,eAA+BA,GAAK,GAAC,gF,MAAC,CAAkC,S,CAAoF,yBAAyBsC,CAAwB,MAAC,CAAG,gBAAC,gBAAC,kBAAkB,EAAI,gBAAe,uBAAqBA,EAAI0tF,mBAAe,iDAAoBhwF,IAAO,mBAAK,gBAAG,2CAAsEA,GAAM,U,MAAC,CAAqC,SAA0BI,CAAE,EAAC,2D,MAAC,CAAkC,iCAAG,YAAY,EAAG,UAErnCwC,IAEJ,SAAiBA,yB,2ICJ+M,W,IAAwH,OAAG,EAAG,EAAC,MAAQ,G,OAAO,EAAE,OAAKqtF,CAA4CjwF,YAAM,U,MAAC,CAAkB,kBAAIkC,KAAG,K,CAA8IsG,EAAG,mBAAQ,U,YAAQ,U,MAA6D,C,KAAO,2HAA6B,UAAC,MAAM,gBAAc,2B,MAAM,CAGptBpI,aAAG,Q,UAAqC8vF,QAAW5yF,GAAI,EAAC,sE,OAAA,UAAC,SAAE,MAAK,gCAA0B6yF,YAAuB,EAAG,KAAehxF,OAA6BmD,IAAO,EAA+HtC,MAAM,mBAAU,WAAE,MAAK,oBAAiB,EAAa,GAAI,sBAAmB,GAAG,oCAAG,GAAG,CAAwEb,MAAY,SAAS,GAAM,OAAC,mBAAmImD,GAAIsG,OAAWwnF,oBAA4BH,OAAY,OAAK,CAAU9wF,YAAY,gBAAuBa,GAAM,+FAAC,MAAO,CAAI,UAAqBsC,CAAG,EAAG,OAAM+tF,sBAAyBC,SAAc,iBAAC,GAAOpuF,EAAG,gBAAoB,+B,YAAKouF,U,MAAsB,CAGj2BtwF,KAAM,2H,EAAY,MAAO,iD,YAASsC,uB,MAA2B,CAAE,MAAK,GAAelD,aAC7EmxF,Q,EAIA,KAAO,gBAAU5vE,SAAO,G,OAAC,SAAW6vE,C,IAAkC,KAAC,kEAAE,MAAK,CAAqFrxF,MAAW,GAAaa,IAAM,EAAC,MAAQ,4BAAK,CAACsC,EAAG,OAAW,CAAqE,MAAGA,CAAG,EAAI,0BAAK,oEAC/T,IACGM,eAAoB,GAEff,OAAQe,sBAAe,M,qLC+EjB,GACfhH,MAAA,CACA60F,aAAA,CACAvyF,KAAAlB,MACA+F,UAAA,GAEAstF,eAAA,CACAnyF,KAAAlB,MACA+F,UAAA,GAEA2tF,mBAAA,CACAxyF,KAAApC,QACAiH,UAAA,GAEAqtF,qBAAA,CACAlyF,KAAApC,QACAiH,UAAA,IAGA7D,KAAA,WACA,OACA+wF,aAAA,KACAE,eAAA,KACAQ,sBAAA,KACAJ,wBAAA,OAGAh0F,SAAA,CACAq0F,YAAA,eAAAjxF,EAAA,KACA,YAAAwwF,eACA,KAAAM,aAAA7/E,QAAA,SAAA2M,GAAA,IAAA3W,EAAA2W,EAAA3W,GAAA,OAAAA,IAAAjH,EAAAwwF,kBADA,KAAAM,eAKArzF,QAAA,CACA8yF,WAAA,SAAA5yF,GACA,IAAAuzF,EAAA,KAAAV,kBAAA,OAAA7yF,QAAA,IAAAA,OAAA,EAAAA,EAAAsJ,IAEA,KAAAupF,eAAAU,EAAA,OAAAvzF,QAAA,IAAAA,OAAA,EAAAA,EAAAsJ,GAAA,KACA,KAAAqpF,aAAAY,EAAAvzF,EAAA,KAEA,KAAAkzF,oBAAA,MAEA,KAAAhrF,MAAA,wBAAAyqF,eAEAO,oBAAA,SAAAlzF,GACA,IAAAuzF,EAAA,KAAAN,2BAAA,OAAAjzF,QAAA,IAAAA,OAAA,EAAAA,EAAAsJ,IAEA,KAAA2pF,wBAAAM,EAAA,OAAAvzF,QAAA,IAAAA,OAAA,EAAAA,EAAAsJ,GAAA,KACA,KAAA+pF,sBAAAE,EAAAvzF,EAAA,KAEA,KAAAkI,MAAA,0BAAAmrF,wBAEAG,UAAA,SAAAlqF,GACA,YAAAupF,iBAAAvpF,EAAA,gBAEAmqF,mBAAA,SAAAnqF,GACA,YAAA2pF,0BAAA3pF,EAAA,kBCvJ0W,ICQtW,G,UAAY,eACd,EACA,EACA,GACA,EACA,KACA,WACA,OAIa,K,WCnBoK,W,IAAI,O,EAAW,QAAY,G,OAAQ,mBAAE,YAAa,WAAE5G,GAAK,OAAC,C,YAAW,O,MAAC,EAAO,S,MAAG,CAAe,SAAIsC,MAAO,GAA0InD,aAAY,UAAuGA,UAAW,CAAuD,MAAK,CAAOA,MAAW,GAAwBmD,KAAO,GAAuFnD,MAAW,UAAiCa,GAAK,GAAC,2H,YAAC,4B,CAAgD,cAAmB,EAAC,sCAAE,mEAAI,GAAG,MAAO,CAA4CA,YAAM,sB,CAAC,SAAYsC,EAAI0uF,QAAS,oE,YAAU1uF,QAAU,uBAAG,MAAKsG,CAAuCzJ,mBAAY,2BAAS+C,oBAAO,OAA+BI,KAAO,EAAG,KAAI,SAAQuB,OAAG,oBAA+E1E,OAAqB+C,UAAS,YAAC/C,OAAW,EAAC,UAAsJA,OAAY,oBAAgB,YAAagJ,QAAsJnI,GAAK,IAAC,C,YAAW,iB,CAAC,KAAO,IAAG,uF,YAAU,Q,CAAC,QAAQ,CAAgB,YAAC,iBAACI,CAAE,EAAC,6FAAqD,OAArD,kB,YAAS,iB,GAAiB,KAAOkC,GAAI2uF,OAAU,UAAM,+F,MAAA,CAAC,SAAI3uF,MAAOA,GACtqD,QACGM,wB,4HCEW,IACfiG,WAAA,CAAAqoF,sBAAAC,yBACAv1F,MAAA,CACA0B,KAAA,CACAY,KAAA4E,OAEAC,UAAA,GAEAquF,SAAA,CAAAlzF,KAAApC,QAAAiH,UAAA,IAEAxG,SAAA,CACA80F,SAAA,WACA,YAAAD,SAAA,4BAEAJ,UAAA,eAAAM,EAAAC,EAAAC,EAAAC,EACA,OACA,GACA,QADAH,EACA,QADAC,EACA,KAAAj0F,YAAA,IAAAi0F,OAAA,EAAAA,EAAA1F,gBAAA,IAAAyF,IAAA,GACA,QADAE,EACA,QADAC,EACA,KAAAn0F,YAAA,IAAAm0F,OAAA,EAAAA,EAAAC,8BAAA,IAAAF,IAAA,EACA,GACA,GACA,GACA,GACA,KAIAG,yBAAA,eAAAC,EAAAC,EACA,eAAAD,EAAA,KAAAt0F,YAAA,IAAAs0F,GAAA,QAAAC,EAAAD,EAAAF,8BAAA,IAAAG,OAAA,EAAAA,EAAA5yE,MACA,SAAAssE,GAAA,WAAAA,MAGA9pF,OAAA,WACA,OAAAoF,MAAA,QAAAC,OAAA,QAAAk6C,QAAA,UAGA5jD,QAAA,CACA6zF,OAAA,SAAA3zF,GACA,KAAAkI,MAAA,WAAAlI,MC1CiX,MCQ7W,I,UAAY,eACd,GACA,GACA,IACA,EACA,KACA,WACA,OAIa,M,QC8BA,IACf9B,KAAA,0BAEAqC,OAAA,CAAAipB,QAEAje,WAAA,CACAipF,sBACAC,8BAGAn2F,MAAA,CACAo2F,aAAA,CACA9zF,KAAA4E,OACAC,UAAA,IAIA7D,KAAA,WACA,OACA+yF,uBAAA,KACAC,yBAAA,KACAC,yBAAA,EACAzB,oBAAA,EACAN,sBAAA,EACAgC,2BAAA,EACAC,kBAAA,EACAC,MAAA,CACAC,QAAA,GACAC,UAAA,MAKA7oF,MAAA,CACAqoF,aAAA,CACA93E,QAAA,WACA,KAAAu4E,eACA,KAAAC,6BAEAz4E,WAAA,EACAsuE,MAAA,GAEA0J,uBAAA,eAAAtyF,EAAA,YAAA4E,eAAAC,iBAAAC,MAAA,SAAAC,IAAA,OAAAF,iBAAAK,MAAA,SAAAC,GAAA,eAAAA,EAAAC,KAAAD,EAAAE,MAAA,WACArF,EAAAsyF,uBAAA,CAAAntF,EAAAE,KAAA,eAAAF,EAAAE,KAAA,EACArF,EAAAgzF,qBAAA,wBAAA7tF,EAAAkB,UAAAtB,MAFAH,KAOAhI,SAAAE,8BAAA,GACAyG,eAAA,2CACA0vF,UAAA,WACA,SAAAtzF,OAAA,KAAA0yF,aAAAa,eAAAvzF,OAAA,KAAA0yF,aAAAc,kBAEAC,cAAA,WACA,YAAAC,cAAA,KAAAV,MAAAC,UAEAU,gBAAA,WACA,YAAAD,cAAA,KAAAV,MAAAE,YAEAU,0BAAA,eAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EACA,SAAA7B,uBACA,YAEA,IAAA8B,EAAA,SAAAxB,EAAAC,GACA,cAAAA,QAAA,IAAAA,KAAAx4C,MACA,GAAA16C,OAAAizF,EAAAv4C,MAAA,OAAA16C,OAAAkzF,EAAAx4C,OADAu4C,EAAAv4C,OAIAw4C,EAAA,KAAAN,yBACA,CACAtrF,GAAA,QAAAusF,EAAA,KAAAjB,gCAAA,IAAAiB,OAAA,EAAAA,EAAAvsF,GACA1I,KAAA,QAAAk1F,EAAA,KAAAlB,gCAAA,IAAAkB,OAAA,EAAAA,EAAAl1F,KACA81F,SAAA,QAAAX,EAAA,KAAAnB,gCAAA,IAAAmB,OAAA,EAAAA,EAAAW,SACAh6C,MAAA,QAAAs5C,EAAA,KAAApB,gCAAA,IAAAoB,OAAA,EAAAA,EAAAt5C,MACA60C,YAAA,QAAA0E,EAAA,KAAArB,gCAAA,IAAAqB,OAAA,EAAAA,EAAA1E,aAEA,KAEA,OACArzF,KAAAu4F,EACA,KAAA9B,uBACA,KAAAC,0BAEArG,SAAA,KAAAqG,yBACA,KAAAA,yBAAArG,SACA,KAAAoG,uBAAApG,SACA6F,uBAAA,KAAAQ,yBACA,QADAsB,EACA,KAAAtB,gCAAA,IAAAsB,OAAA,EAAAA,EAAA9B,uBACA,QADA+B,EACA,KAAAxB,8BAAA,IAAAwB,OAAA,EAAAA,EAAA/B,uBACAa,QAAA,CACA3rF,GAAA,QAAA8sF,EAAA,KAAAzB,8BAAA,IAAAyB,OAAA,EAAAA,EAAA9sF,GACA1I,KAAA,QAAAy1F,EAAA,KAAA1B,8BAAA,IAAA0B,OAAA,EAAAA,EAAAz1F,KACA81F,SAAA,QAAAJ,EAAA,KAAA3B,8BAAA,IAAA2B,OAAA,EAAAA,EAAAI,SACAh6C,MAAA,QAAA65C,EAAA,KAAA5B,8BAAA,IAAA4B,OAAA,EAAAA,EAAA75C,MACA60C,YAAA,QAAAiF,EAAA,KAAA7B,8BAAA,IAAA6B,OAAA,EAAAA,EAAAjF,aAEA2D,cAGApB,SAAA,WACA,YAAAc,4BAIA90F,QAAA,CACAq1F,aAAA,WACA,KAAAR,uBAAA,KACA,KAAAC,yBAAA,KACA,KAAAC,yBAAA,EACA,KAAAzB,oBAAA,EACA,KAAAN,sBAAA,EACA,KAAAgC,2BAAA,EACA,KAAAE,MAAA,CACAC,QAAA,GACAC,UAAA,KAGAE,0BAAA,WACA,IAAAuB,EAAA,KAAAjC,aAAAa,EAAAoB,EAAApB,cAAAC,EAAAmB,EAAAnB,gBAEA,KAAAV,2BAAAS,IAAAC,EAEA,KAAAoB,oBAEAC,cAAA,SAAA72F,GACA,KAAA20F,uBAAA30F,GAEA0yF,gBAAA,SAAA1yF,GACA,KAAA40F,yBAAA50F,GAEA82F,oBAAA,SAAAt6D,GACA,KAAAt0B,MAAA,WAAAs0B,IAEAk5D,cAAA,SAAAt2F,GACA,IAAA23F,EAAA,SAAAC,GAAA,OACAA,EAAAxoF,KAAA,SAAAyR,GAAA,IAAA/hB,EAAA+hB,EAAA/hB,KAAA,OAAAA,EAAA+4F,gBAAAlpF,KAAA,OAEAmpF,EAAA,SAAAC,GACA,OAAAA,EAEA3xF,OAAA8oB,OAAA6oE,GAAAxmF,QACA,SAAA6Q,EAAAI,GAAA,IAAA2sE,EAAA3sE,EAAA2sE,SAAA6I,EAAAx1E,EAAAw1E,wBAGA,OAFA51E,EAAA+sE,SAAAnmF,KAAAmmF,EAAA8I,WACA71E,EAAA4yE,uBAAAhsF,KAAAgvF,GACA51E,IAEA,CAAA+sE,SAAA,GAAA6F,uBAAA,KARA,IAYA,OAAAh1F,EAAAoP,KAAA,SAAAsU,EAAA7iB,GAAA,IAAAq3F,EAAAx0E,EAAAw0E,WAAAH,EAAAr0E,EAAAq0E,WACAI,EACAL,EAAAC,GADA5I,EAAAgJ,EAAAhJ,SAAA6F,EAAAmD,EAAAnD,uBAGAoD,EACA,IAAAF,EAAAz3F,OAAAy3F,EAAA,GAAAA,EAAA,GAEAzsE,EAAA2sE,EAAA3sE,UAAAuqD,EAAAoiB,EAAApiB,KACA,OACAn1E,QACAqJ,GAAA,OAAAuhB,QAAA,IAAAA,OAAA,EAAAA,EAAAvhB,GACAozC,MAAA,OAAA7xB,QAAA,IAAAA,OAAA,EAAAA,EAAA3sB,KACA0C,KAAA,OAAAiqB,QAAA,IAAAA,OAAA,EAAAA,EAAAjqB,KACA81F,SAAAthB,EACAmc,YAAAwF,EAAA,OAAAlsE,QAAA,IAAAA,OAAA,EAAAA,EAAA4sE,oBACAlJ,WACA6F,8BAIAwC,iBAAA,eAAAzmF,EAAA,YAAAlJ,eAAAC,iBAAAC,MAAA,SAAA6oB,IAAA,IAAAulE,EAAAtlE,EAAAynE,EAAA91F,EAAA+1F,EAAA,OAAAzwF,iBAAAK,MAAA,SAAA4oB,GAAA,eAAAA,EAAA1oB,KAAA0oB,EAAAzoB,MAAA,OAIA,GAJAyoB,EAAA1oB,KAAA,EAEA0I,EAAA4kF,kBAAA,EACA5kF,EAAAijF,oBAAA,EACAmC,EAAAplF,EAAAukF,aAAAa,eAEAA,EAAA,CAAAplE,EAAAzoB,KAAA,gBAAAyoB,EAAAzoB,KAAA,EACAyI,EAAA4X,KAAA6vE,iBAAAxsD,IACAj7B,EAAAukF,aACA,QADAzkE,EACA9f,EAAA+V,yBAAA,IAAA+J,OAAA,EAAAA,EAAA3mB,IACA,OAAAouF,EAAAvnE,EAAAnoB,KAHApG,EAAA81F,EAAA91F,KAIA+1F,EAAAxnF,EAAA0nF,0BAAAj2F,GACAuO,EAAA6kF,MAAAC,QAAA0C,EAAAxnE,EAAAzoB,KAAA,iBAEAyI,EAAA6kF,MAAAC,QAAA,WAGA9kF,EAAAijF,oBAAA,EAAAjjE,EAAAzoB,KAAA,iBAAAyoB,EAAA1oB,KAAA,GAAA0oB,EAAA7nB,GAAA6nB,EAAA,YAEAhgB,EAAA6kF,MAAAC,QAAA,GACA9kF,EAAAijF,oBAAA,EACAjjF,EAAA4kF,kBAAA,EACA5kF,EAAAlI,MAAAC,MACA,SACA,QACAiI,EAAA5J,GAAA,mCACA,yBAAA4pB,EAAAznB,UAAAsnB,EAAA,kBA1BA/oB,IA6BA4wF,0BAAA,SAAAj2F,GAAA,IAAAkS,EAAA,KACA,OAAAlS,EAAA4M,KAAA,SAAAspF,GACA,OAAA34F,8BAAA,GACA24F,GAAA,IACAX,WAAAW,EAAAX,WAAA7jF,QACA,SAAAyP,GAAA,IAAAg1E,EAAAh1E,EAAAg1E,WAAA,OAAAjkF,EAAA8X,gBAAA5qB,SAAA+2F,YAKA1C,mBAAA,eAAAj3E,EAAA,YAAAnX,eAAAC,iBAAAC,MAAA,SAAA6wF,IAAA,IAAAzC,EAAA0C,EAAAC,EAAAt2F,EAAA+1F,EAAA,OAAAzwF,iBAAAK,MAAA,SAAA4wF,GAAA,eAAAA,EAAA1wF,KAAA0wF,EAAAzwF,MAAA,OAIA,GAJAywF,EAAA1wF,KAAA,EAEA2W,EAAA22E,kBAAA,EACA32E,EAAA00E,sBAAA,EACAyC,EAAAn3E,EAAAs2E,aAAAa,eAEAA,EAAA,CAAA4C,EAAAzwF,KAAA,gBAAAywF,EAAAzwF,KAAA,EACA0W,EAAA2J,KAAA6vE,iBAAAxsD,IAAAjsC,8BAAA,GAEAif,EAAAs2E,cAAA,IACA0D,gBAAAh6E,EAAAu2E,uBAAArrF,KAEA,QAFA2uF,EAEA75E,EAAA8H,yBAAA,IAAA+xE,OAAA,EAAAA,EAAA3uF,IACA,OAAA4uF,EAAAC,EAAAnwF,KANApG,EAAAs2F,EAAAt2F,KAQA+1F,EAAAv5E,EAAAy5E,0BAAAj2F,GACAwc,EAAA42E,MAAAE,UAAAyC,EAAAQ,EAAAzwF,KAAA,iBAEA0W,EAAA42E,MAAAE,UAAA,WAEA92E,EAAA00E,sBAAA,EAAAqF,EAAAzwF,KAAA,iBAAAywF,EAAA1wF,KAAA,GAAA0wF,EAAA7vF,GAAA6vF,EAAA,YAEA/5E,EAAA42E,MAAAE,UAAA,GACA92E,EAAA00E,sBAAA,EACA10E,EAAA22E,kBAAA,EACA32E,EAAAnW,MAAAC,MACA,SACA,QACAkW,EAAA7X,GAAA,mCACA,yBAAA4xF,EAAAzvF,UAAAsvF,EAAA,kBA7BA/wF,MCnQ+W,MCO3W,GAAY,eACd,GACA,EACA,GACA,EACA,KACA,KACA,MAIa,M,QCdA,IACf/I,KAAA,sBAEAqN,WAAA,CACA8sF,4BAGAz2F,KAAA,WACA,OACA02F,iBAAA,IAIAr5F,SAAAE,6CAAA,GACAyG,eAAA,0BACAA,eAAA,8BACA8uF,aAAA,eAAA3qE,EAAAwuE,EAAAC,EAAAC,EACA,OACAC,eAAA,KAAAC,cACApD,cAAA,KAAAqD,oBACApD,gBAAA,KAAAqD,oBACAC,UAAA,QAAA/uE,EAAA,KAAAI,mBAAA,IAAAJ,GAAA,QAAAwuE,EAAAxuE,EAAAgvE,gBAAA,IAAAR,GAAA,QAAAC,EAAAD,EAAAS,eAAA,IAAAR,OAAA,EAAAA,EAAAlvF,GACA2Y,OAAA,QAAAw2E,EAAA,KAAAzyF,mBAAA,IAAAyyF,OAAA,EAAAA,EAAAnvF,KAGA4oF,mBAAA,WACA,YAAAoG,gBACA,CACA57C,MAAA,KAAAn2C,GAAA,iCACA0yF,YAAA,KAAA1yF,GAAA,kCACAhF,KAAA,kBAEA,CACAm7C,MAAA,KAAAn2C,GAAA,iCACA0yF,YAAA,KAAA1yF,GAAA,kCACAhF,KAAA,uBAKAzB,QAAA,CACAo5F,kBAAA,WACA,KAAAZ,iBAAA,KAAAA,iBAEAxB,oBAAA,SAAA72E,GAAA,IAAAg1E,EAAAh1E,EAAAg1E,QAAAkE,EAAAl5E,EAAAi1E,iBAAA,IAAAiE,EAAA,KAAAA,EACAC,EAAA,GAEAA,EAAAhxF,KAAA,CACAixF,QAAApE,EAAAyB,SACA4C,KAAArE,EAAAr0F,KACA0I,GAAA2rF,EAAA3rF,GACAkjB,MAAA,GACA/I,KAAA,KAGAyxE,GACAkE,EAAAhxF,KAAA,CACAixF,QAAAnE,EAAAwB,SACA4C,KAAApE,EAAAt0F,KACA0I,GAAA4rF,EAAA5rF,GACAkjB,MAAA,GACA/I,KAAA,KAIA,KAAA81E,iBAAAH,EACA,KAAAI,4BCtE4V,MpBOxV,GAAY,eACd,GACA,EACA,GACA,EACA,KACA,KACA,MAIa,M,mFqBdf,SAASC,GAAoBC,GAC3Br7F,KAAKs7F,WAAa,qBAClBt7F,KAAKu7F,YAAc,KACnBv7F,KAAKw7F,UAAY,KACjBx7F,KAAKq7F,SAAWA,EAEhBr7F,KAAKy7F,YAAc,SAAUC,GAC3B17F,KAAKq7F,SAAWK,GAGlB17F,KAAK27F,eAAiB,WACpB,OAAO37F,KAAKq7F,SAAS/oF,QACnB,SAACspF,EAAeC,GAKd,OAJAD,EAAcC,EAAQZ,MAAKn6F,8BAAA,GACtB86F,EAAcC,EAAQZ,OAAK,GAAAv3F,gBAAA,GAC7Bm4F,EAAQ5wF,GAAK6wF,gBAAkBD,EAAQ1tE,SAEnCytE,IAET,CAAEG,EAAG,KAAMC,EAAG,QAIlBh8F,KAAKuC,KAAO,SAAUA,GAEpB,OADAvC,KAAKu7F,YAAch5F,EACZvC,MAGTA,KAAKiL,GAAK,SAAUA,GAElB,OADAjL,KAAKw7F,UAAYvwF,EACVjL,MAGTA,KAAKuyD,OAAS,WACZ,OAAO0pC,gBAAQj8F,KAAKs7F,YAAYY,WAGlCl8F,KAAK+sC,IAAM,WACT,IAAK/sC,KAAKu7F,YACR,MAAMtvF,MAAM,wDAEd,IAAKjM,KAAKw7F,UACR,MAAMvvF,MAAM,sDAEd,IAAMkwF,EAASF,gBAAQj8F,KAAKs7F,YAAYY,UACxC,GAAIC,EAAQ,CACV,IAAMC,EAAiBD,EAAOn8F,KAAKu7F,aAEnC,GAAIa,EACF,OAAOA,EAAep8F,KAAKw7F,YAAc,GAI7C,MAAO,IAGTx7F,KAAK8kC,MAAQ,WACXm3D,gBAAQj8F,KAAKs7F,YAAYx2D,SAG3B9kC,KAAKimC,KAAO,WACV,IAAMo2D,EAAer8F,KAAKuyD,SAEpB+pC,EAAiBD,EACnBE,KAAav8F,KAAK27F,iBAAkB37F,KAAKuyD,UACzCvyD,KAAK27F,iBAET,OAAOM,gBAAQj8F,KAAKs7F,YAAYr1D,KAAKq2D,IAI1B,IC3EX,GAAQ,GD2EG,YAACjB,GAAQ,OAAK,IAAID,GAAoBC,IE1ErDmB,GAAA,GAEe,IACf38F,KAAA,iBAEA0D,KAAA,WACA,OACAk5F,yBAAA,IAGA77F,SAAA,CACA87F,4BAAA,WACA,YAAAnC,qBAAAiC,IAEAG,aAAA,WACA,YAAAD,6BAAA,KAAAlC,qBAEAoC,oBAAA,WACA,YAAA3D,WAAAhkF,QAAA,SAAAuX,GAAA,OAAAA,EAAAqwE,mBAIAp7F,QAAA,CACAq7F,+BAAA,SAAAC,GACA,aAAAxC,sBAIAwC,GAAAP,IAAA,KAAAjC,sBAAAiC,KAGAQ,yBAAA,SAAAC,EAAAC,GACA,KAAAT,wBACAQ,GAAAT,KAAAU,KClCuV,MFOnV,GAAY,eACd,GACA,GACA,IACA,EACA,KACA,KACA,MAIa,M,qBGwNA,IACfr9F,KAAA,gBAEAqC,OAAA,CAAAipB,OAAAgyE,GAAAC,IAEAlwF,WAAA,CACAmwF,gBAGAp9F,MAAA,CACAq9F,gBAAA,CAAA/6F,KAAA4E,OAAAtE,QAAA,MACA06F,UAAA,CAAAh7F,KAAA8I,OAAAjE,UAAA,IAGA7D,KAAA,eAAAS,EAAA,KACA,OACA6d,QAAA,EACAy4E,cAAA,KAAAiD,UACArC,iBAAA,EAAAF,QAAA,IAAAC,KAAA,GAAA9sE,MAAA,GAAA/I,KAAA,KACAuuE,wBAAA,GACA4G,oBAAA,KACAC,oBAAA,KACAgD,oBAAA,KACA9J,aAAA,EACA+J,kBAAA,UAAA1oF,GAAA,QAAAA,GAAA/Q,EAAAkE,GAAA,iCACAw1F,UAAA,CACA,SAAA3oF,GAAA,OACAA,GAAA/Q,EAAA25F,WAAA5oF,GAAA,GAAA/Q,EAAAkE,GAAA,4BAEA01F,WAAA,CACA,SAAA7oF,GAAA,OACAA,GAAA/Q,EAAA25F,WAAA5oF,GAAA,GAAA/Q,EAAAkE,GAAA,6BAEA21F,WAAA,CACA7qB,QAAA,IACA8qB,UAAA,IACApgC,OAAA,GACAqgC,OAAA,GACA7mB,UAAA,EACA8mB,QAAA,GAEA/3E,QAAA,EACAg4E,2BAAA,EACAC,cAAA,KAIAtqF,QAAA,WACA,IAAAuqF,EAAA,KAAA92E,YACA,KAAA6zE,iBAAA,QAAAiD,EAAA,KAAAC,2BAAA,IAAAD,OAAA,EAAAA,EAAAhuF,KAAA,SAAAke,GAAA,IAAAgwE,EAAAC,EAAA,OACArzF,GAAAojB,EAAA/I,UAAAra,GACAib,KAAAmI,EAAA/I,UAAAY,KACAd,KAAAiJ,EAAAjJ,KAAA+G,QAAA,GACAgC,MAAAE,EAAAF,MAAAhC,QAAA,GACA8uE,KAAA5sE,EAAA/I,UAAA21E,KACAD,QAAA,QAAAqD,EAAAhwE,EAAA/I,iBAAA,IAAA+4E,GAAA,QAAAC,EAAAD,EAAA94E,sBAAA,IAAA+4E,OAAA,EAAAA,EAAArgF,QAAA,aAGA,KAAAigF,cAAAK,KAAA90B,MAAA80B,KAAAC,UAAA,KAAAtD,mBACA,KAAAuD,uBACA,KAAAC,cAAAvvE,sBACA,KAAAuvE,cAAAC,wBAEA,KAAA3B,yBACA,KAAA0B,cAAAvvE,sBACA,KAAAuvE,cAAAC,0BAKA3wF,MAAA,CACA6T,OAAA,WACA,KAAA+8E,oBAAA,KAAA1D,kBACA,KAAAC,yBAEA,KAAAZ,qBACA,KAAAsE,oCAEA,KAAAx3E,YACA,KAAAy3E,gBACA,KAAAC,8BAKAn+F,SAAAE,2EAAA,GACAyG,eAAA,uCACAA,eAAA,wBACAA,eAAA,8BACAA,eAAA,uBACAq3F,mBAAA,eAAA9sF,EAAA,KACAktF,EAAA,KAAAvC,wBACA,KAAAG,oBACA,KAAA3D,WACA,cAAA+F,QAAA,IAAAA,OAAA,EAAAA,EAAA7uF,KAAA,SAAAqc,GAAA,IAAAyyE,EAAAC,EACAC,EAAA,GAOA,OALA,OAAA3yE,QAAA,IAAAA,KAAAqwE,eACA,OAAArwE,QAAA,IAAAA,GAAA,QAAAyyE,EAAAzyE,EAAAsnE,aAAA,IAAAmL,GAAA,QAAAC,EAAAD,EAAAG,0BAAA,IAAAF,KAAAG,cAEAF,EAAAp1F,KAAA+H,EAAA5J,GAAA,+BAAAo3F,WAEAx+F,8BAAA,GACA0rB,GAAA,IACA2yE,wBAIA30F,QAAA,WACA,YAAA8yF,gBAAA,KAAAA,gBACA,KAAAh5E,UAEAi7E,UAAA,eAAAC,EAAAC,EACA,YAAAnC,gBAAA,QAAAkC,EAAA,QAAAC,EAAA,KAAAnC,uBAAA,IAAAmC,OAAA,EAAAA,EAAApzE,qBAAA,IAAAmzE,IAAA,GACA,KAAAE,WAEAr4E,UAAA,WACA,YAAAk2E,WAAA,KAAAgC,UAAA/9F,QAEAk9F,cAAA,WACA,YAAAa,UAAA,KAAAhC,UAAA,IAEAa,oBAAA,eAAAuB,EAAAC,EAAAC,EACA,YAAAN,UAIA,KAAAjC,gBACA,QAAAqC,EAAA,QAAAC,EAAA,KAAAlB,qBAAA,IAAAkB,OAAA,EAAAA,EAAA36E,+BAAA,IAAA06E,IAAA,GAEA,QAAAE,EAAA,KAAAnB,qBAAA,IAAAmB,OAAA,EAAAA,EAAAC,oBANA,IAQAC,IAAA,WACA,IAAAC,EAAA,KAAA1C,gBACA,KAAA5zE,KAAAnI,UAAA8K,cACA,KAAA3C,KAAAnI,UAAAm+E,UAEA,YAAAr4E,UAAA24E,EAAAr2E,OAAAq2E,EAAAp2E,QAEAq2E,gBAAA,WACA,MAAAz3F,KAEA03F,mBAAA,WACA,OACA,KAAAC,QAAA,aACA,KAAAv4E,YACA,KAAA80E,8BACA,KAAAxvE,SAKAzrB,QAAAX,8BAAA,GACA4H,eAAA,mCACA03F,cAAA,SAAAllE,GACA,OAAAA,EAAAmlE,UAAA,OAAApiF,QAAA,wBAEAqiF,sBAAA,SAAA3+F,EAAA4+F,GACA,IAAAl9F,EAAA,KAAA+8F,cAAAz+F,EAAAukB,KAAAte,eACA44F,EAAA,KAAAJ,cAAAG,EAAA34F,eAEA,OAAAvE,EAAAV,SAAA69F,IAEA/B,uBAAA,SAAAxB,EAAAC,GACA,KAAA3C,oBAAA0C,EACA,KAAAzC,oBAAA0C,GAEA6B,yBAAA,eAAAtpF,EAAA,YAAA7M,eAAAC,iBAAAC,MAAA,SAAAC,IAAA,IAAA03F,EAAAp3E,EAAAq3E,EAAA,OAAA73F,iBAAAK,MAAA,SAAAC,GAAA,eAAAA,EAAAC,KAAAD,EAAAE,MAAA,OAKA,OAJAo3F,EAAA,mBACAhrF,EAAAjL,QAAA4d,oBAAA3S,EAAA8kF,sBACAkG,EAAA12F,KAAA,WACA0L,EAAAwoF,2BAAA,GACA90F,EAAAC,KAAA,EAAAD,EAAAE,KAAA,EAEAoM,EAAAiU,KAAAnI,UAAAo/E,QACAlrF,EAAAjL,QACAi2F,EACAhrF,EAAA6kF,cACA7kF,EAAA8kF,qBACA,OALAlxE,EAAAlgB,EAAAQ,KAMA8L,EAAAwoF,2BAAA,EACAyC,EAAAr3E,EAAA9lB,KAAAm9F,QACAA,IACAjrF,EAAAjL,QAAA4d,mBAAA,EACA3S,EAAAgpF,uBACAiC,EAAAE,eACAF,EAAAG,iBAEAprF,EAAAunF,yBACA0D,EAAAE,eACAF,EAAAG,kBAGAprF,EAAAopF,oCAAA11F,EAAAE,KAAA,iBAAAF,EAAAC,KAAA,GAAAD,EAAAc,GAAAd,EAAA,YAEAsM,EAAAwoF,2BAAA,EACAxoF,EAAA7L,MAAAC,MAAA,iBAAA4L,EAAAvN,GAAA,oDAAAiB,EAAAkB,UAAAtB,EAAA,kBA7BAH,IAgCAi2F,kCAAA,eAAA9+E,EAAA,KACA+gF,EAAA,CACA,KAAAvG,oBACA,KAAAC,qBAEA,KAAA7G,wBAAAmN,EACA3wF,KAAA,SAAA4wF,GAAA,IAAAC,EAAA,OACA,QADAA,EACAjhF,EAAA4vE,4BAAA,IAAAqR,OAAA,EAAAA,EAAAlzD,WAAA,SAAAlsB,GAAA,IAAA3W,EAAA2W,EAAA3W,GAAA,OAAAA,GAAA81F,QAEA9rF,QAAA,SAAA1T,GAAA,OAAAA,GAAA,MAEA0/F,sBAAA,SAAAC,GAAA,IAAA/gF,EAAA,KACAghF,EACAD,EAAA/wF,KACA,SAAAvO,GAAA,IAAAw/F,EAAA,eAAAA,EAAAjhF,EAAAwvE,qBAAA/tF,UAAA,IAAAw/F,OAAA,EAAAA,EAAAn2F,MACAo2F,EAAA9xF,eAAA4xF,EAAA,GAAAG,EAAAD,EAAA,GAHA9G,OAAA,IAAA+G,EAAA,KAAAA,EAAAC,EAAAF,EAAA,GAAA7G,OAAA,IAAA+G,EAAA,KAAAA,EAIA,KAAA/2F,QAAA4d,kBACA,KAAAmyE,wBACA,KAAAC,uBAEA,KAAAD,sBACA,KAAAC,uBAEAgH,gBAAA,SAAAC,GACA,OAAAA,EAAAx2F,IACA,UAAAsvF,oBACA,wBACA,UAAAC,oBACA,0BACA,UAAAgD,oBACA,0BACA,QACA,WAGAkE,cAAA,WACA,KAAAxG,iBAAAnxF,KAAA,CACAixF,QAAA,IACAC,KAAA,GACA9sE,MAAA,GACA/I,KAAA,MAGAu8E,eAAA,SAAArpF,GACA,KAAA4iF,iBAAAntD,OAAAz1B,EAAA,IAEAspF,uBAAA,SAAAp1E,GACA,IAAAizB,EAAA,KAAAm/C,mBACAiD,EAAApiD,EAAA98B,MAAA,SAAA0L,GAAA,OAAAA,EAAApjB,IAAAuhB,EAAAvhB,MACA,OAAA9D,OAAAi6B,OAAA5U,EAAAq1E,IAEAjO,cAAA,SAAAiI,EAAAvjF,GACA,IAAAwpF,EAAA,KAAAF,uBAAA/F,GAOA,GANAiG,EAAA3zE,MAAA,OAAA2zE,QAAA,IAAAA,KAAAC,UACA12F,OAAA,OAAAy2F,QAAA,IAAAA,OAAA,EAAAA,EAAAC,WAAA51E,QAAA,GACA,EACA21E,EAAA18E,KAAA,OAAA08E,QAAA,IAAAA,KAAAE,SACA32F,OAAA,OAAAy2F,QAAA,IAAAA,OAAA,EAAAA,EAAAE,UAAA71E,QAAA,GACA,EACA,KAAA9E,UAAA,CACA,IAAA46E,EAAA,KAAA/D,cAAAv7E,MACA,SAAA0L,GAAA,OAAAA,EAAApjB,IAAA62F,EAAA72F,MAEAg3F,IACAH,EAAA3zE,MAAA8zE,EAAA9zE,MACA2zE,EAAA18E,KAAA68E,EAAA78E,MAGA,KAAAqtE,KAAA,KAAAyI,iBAAA5iF,EAAAwpF,IAEA3G,uBAAA,WACA,QAAA7iF,EAAA,KAAA4iF,iBAAA15F,OAAA,EAAA8W,GAAA,EAAAA,IACA,KAAAs7E,cAAA,KAAAsH,iBAAA5iF,OAGAqlF,WAAA,SAAAuE,GACA,OAAAh9E,WAAAg9E,EAAA7yF,MAAA,KAAAK,KAAA,IAAAL,MAAA,KAAAK,KAAA,OAIAoiF,KAAA,WACA,KAAAjwE,QAAA,GAEArc,MAAA,WACA,KAAAqc,QAAA,GAEA6E,OAAA,eAAApG,EAAA,YAAA1X,eAAAC,iBAAAC,MAAA,SAAA6oB,IAAA,IAAAwwE,EAAA5+F,EAAA6+F,EAAA,OAAAv5F,iBAAAK,MAAA,SAAA4oB,GAAA,eAAAA,EAAA1oB,KAAA0oB,EAAAzoB,MAAA,UACAiX,EAAAvU,MAAAgd,KAAAD,WAAA,CAAAgJ,EAAAzoB,KAAA,eAAAyoB,EAAAuwE,OAAA,iBAIA,OAJAvwE,EAAA1oB,KAAA,EAIAkX,EAAA2F,QAAA,EAAA6L,EAAAzoB,KAAA,EACAiX,EAAAy/E,IAAAz/E,EAAAgiF,qBAAA,OAAAH,EAAArwE,EAAAnoB,KAAApG,EAAA4+F,EAAA5+F,KACA+c,EAAAg9E,iBAAAh9E,EAAAiiF,eACAjiF,EAAA+G,WAAA/G,EAAAw+E,gBACAsD,EAAA7+F,EAAA6+F,cACAA,IAAA9hF,EAAA4M,OACA5M,EAAA1W,MAAAC,MAAA,eAAAu4F,GACAI,GAAAliF,EAAA46E,kBAAAj1D,OACA3lB,EAAA49E,cAAAK,KAAA90B,MAAA80B,KAAAC,UAAAl+E,EAAA46E,mBACA56E,EAAAzW,MAAA,WACAyW,EAAA2F,QAAA,EACAoJ,gBAAAjc,QAAAkc,SAAAmzE,+BACAniF,EAAA9a,QAAAssB,EAAAzoB,KAAA,iBAEA,MAFAyoB,EAAA1oB,KAAA,GAAA0oB,EAAA7nB,GAAA6nB,EAAA,YAEAxR,EAAA2F,QAAA,EAAA6L,EAAA7nB,GAAA,yBAAA6nB,EAAAznB,UAAAsnB,EAAA,kBAnBA/oB,IAuBA05F,kBAAA,eAAAI,EAAA,KACAz3F,EAAA,KAAAoc,UAAA,KAAAq3E,cAAAzzF,GAAA,KACA,OACAA,KACA6hB,YAAA,KAAAtiB,QAAAS,GACAsyF,UAAA,KAAAA,UACAoF,WAAA,GACAC,SAAA,GACAC,WAAA,KAAA3H,iBAAA/qF,KAAA,SAAAke,GAAA,OACAy0E,aAAAz0E,EAAApjB,GACAma,KAAAs9E,EAAA/E,WAAAtvE,EAAAjJ,MAAA+G,QAAA,GACAgC,MAAAu0E,EAAA/E,WAAAtvE,EAAAF,OAAAhC,QAAA,OAEA/D,kBAAA,KAAA5d,QAAA4d,kBACA+G,sBAAA,KAAAorE,oBACAoE,uBAAA,KAAAnE,sBAGAsE,cAAA,WACA,KAAA5D,iBAAA,CACA,CACAF,QAAA,IACAC,KAAA,GACA71E,KAAA,EACA+I,MAAA,KAIA40E,UAAA,SAAA59E,GAAA,IAAA69E,EACA,QACA,OAAA79E,QAAA,IAAAA,GAAA,QAAA69E,EAAA79E,EAAA61E,eAAA,IAAAgI,OAAA,EAAAA,EAAA/kF,QAAA,WACA,KAAAglF,cAAA,eAAAC,qBACA,IACA,KAAAD,cAAA,aAAAC,qBAGAC,WAAA,SAAAh+E,GAAA,IAAAi+E,EACA,OACA,KAAAl7F,GAAA,SACA,MACA,OAAAid,QAAA,IAAAA,GAAA,QAAAi+E,EAAAj+E,EAAA61E,eAAA,IAAAoI,OAAA,EAAAA,EAAAnlF,QAAA,gBAAAglF,cAAA,eCtkBqW,MCOjW,GAAY,eACd,GACA,EACAh8F,GACA,EACA,KACA,KACA,MAIa,U,qEClBTiS,EAAW,SAAC+d,EAAyBosE,EAAsBC,GAI/D,OAHAD,IAA+B,EAC/BpsE,EAASz0B,OAAOy0B,GAChBqsE,EAAY9gG,OAAO8gG,GACfrsE,EAAOz1B,OAAS6hG,EACX7gG,OAAOy0B,IAGhBosE,GAA8BpsE,EAAOz1B,OACjC6hG,EAAeC,EAAU9hG,SAC3B8hG,GAAaA,EAAUC,OAAOF,EAAeC,EAAU9hG,SAElD8hG,EAAU7wF,MAAM,EAAG4wF,GAAgB7gG,OAAOy0B,KAGpC,gBAAC3E,GAAD,IAAqB9wB,EAAMuN,UAAAvN,OAAA,QAAAwD,IAAA+J,UAAA,GAAAA,UAAA,GAAG,EAA9B,OAAoCmK,EAASoZ,EAAG9wB,EAAQ,O,uXCXhE,SAASs6F,EAAkBv6F,GAChC,IAAKA,EAAO,OAAO,EACnB,IAAMiiG,EAAOjiG,EAAM41B,UAAU,EAAG51B,EAAMC,OAAS,GACzCiiG,EAAQliG,EAAM41B,UAAU51B,EAAMC,OAAS,GACvCkiG,EAAiBF,EAAKvlF,QAAQ,SAAU,IACxC0lF,EAAiB,IAAIC,OAAO,YAAYC,KAAKJ,GAC/CA,EAAMxlF,QAAQ,KAAM,KACpBwlF,EACJ,OAAOp4F,OAAO,GAAD1H,OAAI+/F,GAAc//F,OAAGggG,IAG7B,SAASG,EAAwBC,GACtC,IAAMC,EAAmBD,EACtBE,WAAW,cAAe,IAC1BA,WAAW,SAAU,IACrBA,WAAW,KAAM,IACjBA,WAAW,KAAM,IACjB50F,MAAM,KACN4F,QAAO,SAACvS,GAAG,OAAKvC,QAAQkL,OAAO3I,OAMlC,OAJIshG,EAAiBxiG,OAAS,IAAM,GAClCwiG,EAAiB7rE,MAGZ6rE,EAGT,IAAM1hB,EAAW,SAAC50E,GAAI,OACpBkZ,IAAOs9E,IAAIx2F,GAAM8nE,GAAG2uB,OAAgBx2E,kBAAmBy2E,WAElD,SAASC,EAAiB32F,GAC/B,OAAO42F,OAAKp2E,EAAEo0D,EAAS50E,GAAO,aAGzB,SAAS62F,EAAoB72F,GAClC,OAAO42F,OAAKp2E,EAAEo0D,EAAS50E,GAAO,qBAGzB,SAAS82F,EAAW92F,GACzB,OAAO42F,OAAKp2E,EAAEo0D,EAAS50E,GAAO,U,wECrCjBe,cAAI7O,OAAO,CACxBC,KAAM,aAENkG,WAAY,CAAE0+F,eAEdxkG,MAAO,CACLwkG,OAAQ,CACNliG,KAAM,CAACpC,QAASgH,QAChBtE,SAAS,IAIbpB,QAAS,CACPijG,UAAS,WAAsB,IAApBnhG,EAAAwL,UAAAvN,OAAA,QAAAwD,IAAA+J,UAAA,GAAAA,UAAA,GAAkB,GAC3B,OAAK/O,KAAKykG,QAEVlhG,EAAKC,YAAc,sCAEnBD,EAAKwC,WAAaxC,EAAKwC,YAAc,GACrCxC,EAAKwC,WAAWgE,KAAK,CACnBlK,KAAM,SACN0B,MAAO,CAAEs7C,QAAQ,KAGZ78C,KAAK8D,eAAe,MAAOP,IAVT,U,iLCAzBinF,EAAatoF,eACjBmO,OACAo6E,eAAkB,UAAW,iBAAkB,cAOlCD,SAAW5qF,SAAkBA,OAAO,CACjDC,KAAM,iBAENkG,WAAY,CAAE0+F,eAEdE,OAAQ,CAAC,aAET1kG,MAAO,CACLgE,MAAO,CACL1B,KAAMC,OACNK,QAAS,WAEX+hG,SAAUzkG,QACV0kG,aAAc,CACZtiG,KAAMC,OACNK,QAAS,aAEXiiG,SAAU3kG,QACV4kG,SAAU,CACRxiG,KAAMC,OACNK,QAAS,SAEXmiG,UAAW,CACTziG,KAAMC,OACNK,QAAS,UAEXgoF,MAAO,CACLtoF,KAAMlB,MACNwB,QAAS,WAAF,MAAQ,KAEjBoiG,KAAM,CAAC55F,OAAQ7I,SAGjBe,KAAI,WACF,MAAO,CACLxB,UAAU,EACVmjG,YAAY,IAIhBtkG,SAAU,CACRC,QAAO,WACL,MAAO,CACL,0BAA2Bb,KAAK+B,SAChC,4BAA6B/B,KAAK8kG,SAClC,4BAA6B9kG,KAAKklG,WAClC,qCAAsCllG,KAAK0rF,SAC3C,4BAA6B1rF,KAAK4kG,WAGtClZ,SAAQ,WACN,OAAO1rF,KAAK6qF,MAAMvnE,MAAK,SAAAwF,GAAQ,OAAmB,IAAfA,SAIvClV,QAAO,WACL5T,KAAKmlG,SAAWnlG,KAAKmlG,QAAQ/yC,SAASpyD,OAGxCmM,cAAa,WACXnM,KAAKmlG,SAAWnlG,KAAKmlG,QAAQ9yC,WAAWryD,OAG1CyB,QAAS,CACPiD,MAAK,SAAEsL,GACLA,EAAEwB,kBAEFxR,KAAK6J,MAAM,QAASmG,GAEhBhQ,KAAK8kG,UACP9kG,KAAKolG,UAAUplG,KAAKilG,OAGxBI,QAAO,SAAEniG,GACP,OAAOlD,KAAK8D,eAAea,OAAOzB,IAEpCwqF,SAAQ,WACN,OAAO1tF,KAAK8D,eAAe,MAAO,CAChCN,YAAa,oBACZ6B,eAAQrF,QAEbslG,QAAO,WACL,IAAMrhG,IAAUjE,KAAK0rF,WAAa1rF,KAAK4kG,WAAY5kG,KAAK+B,WAAa/B,KAAKiE,MAE1E,OAAOjE,KAAK8D,eAAe,OAAQ9D,KAAK4D,mBAAmBK,EAAO,CAChET,YAAa,0BACXxD,KAAKulG,mBAEXA,eAAc,WACZ,IAAMngG,EAAW,GAcjB,OAZIpF,KAAK0rF,SACPtmF,EAAS2E,KAAK/J,KAAKqlG,QAAQrlG,KAAKglG,YACvBhlG,KAAK4kG,SACV5kG,KAAK8kG,SACP1/F,EAAS2E,KAAK/J,KAAKqlG,QAAQrlG,KAAK+kG,WAEhC3/F,EAAS2E,KAAK/J,KAAKqlG,QAAQrlG,KAAK6kG,eAGlCz/F,EAAS2E,KAAKvH,OAAOxC,KAAKilG,OAGrB7/F,GAETogG,cAAa,SAAEx1F,GACTA,EAAEy1F,UAAYC,OAAS1mE,OACzBh/B,KAAK0E,MAAMsL,IAGfvK,OAAM,SAAEw/F,GACNjlG,KAAK+B,SAAWkjG,EAAK/tE,aAAel3B,KAAKilG,KAAK/tE,WAC9Cl3B,KAAKklG,WAAa75F,OAAO45F,GAAQ55F,OAAOrL,KAAKilG,QAIjD/+F,OAAM,SAAEC,GACN,OAAOA,EAAE,MAAO,CACd9B,MAAO,CACLshG,SAAU3lG,KAAK8kG,SAAW,GAAK,GAEjCthG,YAAa,kBACbC,MAAOzD,KAAKa,QACZkF,WAAY,CAAC,CACXlG,KAAM,SACN0B,MAAOvB,KAAK8kG,WAEdrgG,GAAI,CACFC,MAAO1E,KAAK0E,MACZkhG,QAAS5lG,KAAKwlG,gBAEf,CACDxlG,KAAKslG,UACLtlG,KAAK0tF,iB,sJChJImY,cAAQjmG,OAAO,CAC5BC,KAAM,iBAENI,MAAO,CACLsB,MAAO,CACLgB,KAAMlB,MACNwB,QAAS,WAAF,MAAS,CAAC,EAAG,MAIxBU,KAAI,WACF,MAAO,CACLuiG,YAAa,KACbva,UAAWvrF,KAAKuB,QAIpBX,SAAU,CACRC,QAAO,WACL,OAAAC,8BAAA,GACK+kG,OAAQ9kG,QAAQH,SAASC,QAAQG,KAAKhB,OADpC,IAEL,yBAAyB,KAG7BqsF,cAAe,CACbt/C,IAAG,WACD,OAAO/sC,KAAKurF,WAEdv+C,IAAG,SAAEtqC,GAAa,IAAAsB,EAAA,KAIZzC,EAAQmB,EAAIyN,KAAI,eAAC4E,EAAChG,UAAAvN,OAAA,QAAAwD,IAAA+J,UAAA,GAAAA,UAAA,GAAG,EAAL,OAAW/K,EAAK+hG,WAAWpuF,KAAKnH,IAAImH,KAAKlH,IAAIsE,EAAG/Q,EAAKgiG,UAAWhiG,EAAKiiG,cAGzF,GAAI1kG,EAAM,GAAKA,EAAM,IAAMA,EAAM,GAAKA,EAAM,GAAI,CAC9C,GAAyB,OAArBvB,KAAK8lG,YAAsB,CAC7B,IAAMI,EAA+B,IAArBlmG,KAAK8lG,YAAoB,EAAI,EACvC72C,EAAKjvD,KAAK+L,MAAL,SAAApI,OAAoBuiG,IAC/Bj3C,EAAGogC,QAEL9tF,EAAQ,CAACA,EAAM,GAAIA,EAAM,IAG3BvB,KAAKurF,UAAYhqF,EACZorF,eAAUprF,EAAOvB,KAAKuB,QAAQvB,KAAK6J,MAAM,QAAStI,GAEvDvB,KAAK8oB,aAGTq9E,WAAU,eAAAr0F,EAAA,KACR,OAAO9R,KAAKqsF,cAAcl8E,KAAK,SAAA4E,GAAD,OAC5BjD,EAAKi0F,WAAWhxF,GAAKjD,EAAKk0F,WAAal0F,EAAKm0F,SAAWn0F,EAAKk0F,UAAY,SAK9EvkG,QAAS,CACP2kG,cAAa,SAAEC,EAAqBC,GAAmD,IAAhCC,EAAYx3F,UAAAvN,OAAA,QAAAwD,IAAA+J,UAAA,GAAAA,UAAA,GAAG,EAAGy3F,EAAUz3F,UAAAvN,OAAA,QAAAwD,IAAA+J,UAAA,GAAAA,UAAA,GAAG,EAC9E03F,EAAWzmG,KAAKiqD,SAAWjqD,KAAKsE,SAASmN,IAAM,MAAQ,SAAWzR,KAAKsE,SAASmN,IAAM,QAAU,OAChGi1F,EAAS1mG,KAAKiqD,SAAW,SAAW,QAEpCj7C,EAAQ,QAAHrL,OAAW0iG,EAAW,QAAA1iG,OAAO4iG,EAAY,OAC9CnrD,EAAM,QAAHz3C,OAAW2iG,EAAS,QAAA3iG,OAAO6iG,EAAU,OAE9C,OAAA9iG,8BAAA,CACE0C,WAAYpG,KAAK2mG,iBAChBF,EAAWz3F,GACX03F,EAAStrD,IAGdwrD,uBAAsB,SAAE97B,EAAe/1D,GACrC,OAAI4C,KAAKigC,IAAIkzB,EAAI,GAAK/1D,GAAK4C,KAAKigC,IAAIkzB,EAAI,GAAK/1D,GAAW,EAC5C,GAEd8xF,SAAQ,eAAApxF,EAAA,KACN,OAAO4C,eAAY,GAAGlI,KAAI,SAAAmI,GACxB,IAAM2H,EAAQ4lF,OAAQ9kG,QAAQU,QAAQolG,SAAS7lG,KAAKyU,GAOpD,OALAwK,EAAM1c,KAAO0c,EAAM1c,MAAQ,GAC3B0c,EAAM1c,KAAKc,MAAQ4b,EAAM1c,KAAKc,OAAS,GACvC4b,EAAM1c,KAAKc,MAAM9C,MAAQkU,EAAK42E,cAAc/zE,GAC5C2H,EAAM1c,KAAKc,MAAM4G,GAAjB,SAAAtH,OAA+B2U,EAAI,MAAQ,MAAK,KAAA3U,OAAI8R,EAAKi9E,MAElDzyE,MAGX6mF,kBAAiB,eAAA/mF,EAAA,KACT3a,EAAW,GAEXgzC,EAAUp4C,KAAKwrF,WAAa,GAAK,EACjCub,EAAqG,CACzG,CACEtjG,MAAO,6BACPQ,MAAOjE,KAAKgnG,mBACZlhG,OAAQ,CAAC,EAAG9F,KAAKmmG,WAAW,GAAI,GAAI/tD,IAEtC,CACE30C,MAAOzD,KAAKwrF,WAAa,6BAA+B,uBACxDvnF,MAAOjE,KAAKwrF,WAAaxrF,KAAKgnG,mBAAqBhnG,KAAKinG,uBACxDnhG,OAAQ,CAAC9F,KAAKmmG,WAAW,GAAIxuF,KAAKigC,IAAI53C,KAAKmmG,WAAW,GAAKnmG,KAAKmmG,WAAW,IAAK/tD,GAAoB,EAAXA,IAE3F,CACE30C,MAAO,6BACPQ,MAAOjE,KAAKgnG,mBACZlhG,OAAQ,CAAC9F,KAAKmmG,WAAW,GAAIxuF,KAAKigC,IAAI,IAAM53C,KAAKmmG,WAAW,IAAK/tD,GAAUA,KAW/E,OAPIp4C,KAAKsE,SAASmN,KAAKs1F,EAAS3mE,UAEhCh7B,EAAS2E,KAAT0mB,MAAArrB,EAAQ4Q,eAAS+wF,EAAS52F,KAAI,SAAA+2F,GAAO,OAAInnF,EAAKjc,eAAe,MAAOic,EAAKnc,mBAAmBsjG,EAAQjjG,MAAO,CACzGT,YAAa0jG,EAAQzjG,MACrBoC,MAAOka,EAAKqmF,cAAL31E,MAAA1Q,EAAA/J,eAAsBkxF,EAAQphG,iBAGhC9F,KAAK8D,eAAe,MAAO,CAChCN,YAAa,4BACb4H,IAAK,SACJhG,IAEL+hG,YAAW,eAAAhnF,EAAA,KACT,MAAO,CACLngB,KAAK6mG,WACL7mG,KAAK8mG,oBACL9mG,KAAKonG,WACL/uF,eAAY,GAAGlI,KAAI,SAAAvO,GACjB,IAAML,EAAQ4e,EAAKksE,cAAczqF,GAC3BylG,EAAW,SAAAr3F,GACfmQ,EAAKkrE,WAAY,EACjBlrE,EAAK2lF,YAAclkG,EAEnBue,EAAKtW,MAAM,QAASmG,IAGhBs3F,EAAU,SAAAt3F,GACdmQ,EAAKkrE,WAAY,EACjBlrE,EAAK2lF,YAAc,KAEnB3lF,EAAKtW,MAAM,OAAQmG,IAGfu3F,EAAapnF,EAAKgmF,WAAWvkG,GAC7BG,EAAWoe,EAAKpe,UAAYoe,EAAK2lF,cAAgBlkG,EACjDypF,EAAYlrE,EAAKkrE,WAAalrE,EAAK2lF,cAAgBlkG,EAEzD,OAAOue,EAAKqnF,kBAAkBjmG,EAAOgmG,EAAYxlG,EAAUspF,EAAWgc,EAASC,EAAxE,SAAA3jG,OAAyF/B,SAItG6lG,mBAAkB,SAAElmG,GAClBvB,KAAK8lG,YAAc9lG,KAAK4mG,uBAAuB5mG,KAAKqsF,cAAe9qF,GACnE,IAAMmmG,EAAU,SAAH/jG,OAAY3D,KAAK8lG,aACxB6B,EAAW3nG,KAAK+L,MAAM27F,GAC5BC,EAAStY,SAEXuY,kBAAiB,SAAE53F,GAA0B,I,EAAAsQ,EAAA,KACrC/e,EAAQvB,KAAK6nG,eAAe73F,GAOlC,GALAhQ,KAAKynG,mBAAmBlmG,GAExBvB,KAAKye,SAAWze,KAAKqsF,cACrBrsF,KAAK+B,UAAW,EAES,QAArBuqF,EAACt8E,EAAEzC,cAAkB,IAAA++E,OAAA,EAAAA,EAAE5jD,QAAQ,4DAA6D,CAC9F1oC,KAAK8nG,cAAe,EACpB,IAAMC,EAAW/3F,EAAEzC,OAAmB85D,wBAChC9xD,EAAQ,YAAavF,EAAIA,EAAEs3D,QAAQ,GAAKt3D,EAC9ChQ,KAAKgoG,YAAchoG,KAAKiqD,SACpB10C,EAAMiyD,SAAWugC,EAAQ3iE,IAAM2iE,EAAQ58F,OAAS,GAChDoK,EAAMgyD,SAAWwgC,EAAQpyF,KAAOoyF,EAAQ78F,MAAQ,QAEpDlL,KAAKgoG,YAAc,EACnB1oE,OAAO2oE,aAAajoG,KAAKkoG,cACzBloG,KAAKkoG,aAAe5oE,OAAOhlB,YAAW,WACpCgG,EAAKwnF,cAAe,IACnB,KAGL,IAAMK,GAAiBC,QAAmB,CAAE95C,SAAS,EAAM+5C,SAAS,GAC9DC,IAAmBF,QAAmB,CAAE95C,SAAS,GAEjDi6C,EAAe,YAAav4F,EAElChQ,KAAKwoG,YAAYx4F,GACjBhQ,KAAKyoG,IAAIr6C,iBAAiBm6C,EAAe,YAAc,YAAavoG,KAAKwoG,YAAaF,GACtFI,eAAqB1oG,KAAKyoG,IAAKF,EAAe,WAAa,UAAWvoG,KAAK2oG,gBAAiBR,GAE5FnoG,KAAK6J,MAAM,QAAS7J,KAAKqsF,gBAE3Buc,cAAa,SAAE54F,GACb,IAAKhQ,KAAK+B,SAAU,CAClB,GAAI/B,KAAK6oG,QAEP,YADA7oG,KAAK6oG,SAAU,GAIjB,IAAMtnG,EAAQvB,KAAK6nG,eAAe73F,GAElChQ,KAAKynG,mBAAmBlmG,GAExBvB,KAAK8oG,iBAAiBvnG,GAEtBvB,KAAK6J,MAAM,SAAU7J,KAAKqsF,iBAG9Bmc,YAAW,SAAEx4F,GACX,IAAMzO,EAAQvB,KAAK6nG,eAAe73F,GAEnB,cAAXA,EAAEzN,OACJvC,KAAK8nG,cAAe,GAGG,OAArB9nG,KAAK8lG,cACP9lG,KAAK8lG,YAAc9lG,KAAK4mG,uBAAuB5mG,KAAKqsF,cAAe9qF,IAGrEvB,KAAK8oG,iBAAiBvnG,IAExBwnG,UAAS,SAAE/4F,GACT,GAAyB,OAArBhQ,KAAK8lG,YAAT,CAEA,IAAMvkG,EAAQvB,KAAKgpG,aAAah5F,EAAGhQ,KAAKqsF,cAAcrsF,KAAK8lG,cAE9C,MAATvkG,IAEJvB,KAAK8oG,iBAAiBvnG,GACtBvB,KAAK6J,MAAM,SAAU7J,KAAKqsF,kBAE5Byc,iBAAgB,SAAEvnG,GAAa,IAAAmhG,EAAA,KAC7B1iG,KAAKqsF,cAAgBrsF,KAAKqsF,cAAcl8E,KAAI,SAAC4E,EAAWuD,GACtD,OAAIA,IAAMoqF,EAAKoD,YAAoBvkG,EACvB8J,OAAO0J,W,sBC1P3B,cAUA,IAAIk0F,EAAmB,IAGnBC,EAAiB,4BAGjBC,EAAY,IACZC,EAAW,GAGX7qB,EAAmB,iBAGnB8qB,EAAU,qBACVC,EAAW,iBACXC,EAAW,yBACXC,EAAU,mBACVC,EAAU,gBACVC,EAAW,iBACXC,EAAU,oBACVC,EAAS,6BACTC,EAAS,eACTC,EAAY,kBACZC,EAAU,gBACVC,EAAY,kBACZC,EAAW,iBACXC,EAAY,kBACZC,EAAS,eACTC,EAAY,kBACZC,EAAe,qBACfC,EAAa,mBAEbC,EAAiB,uBACjBC,EAAc,oBACdC,EAAa,wBACbC,EAAa,wBACbC,EAAU,qBACVC,EAAW,sBACXC,EAAW,sBACXC,EAAW,sBACXC,EAAkB,6BAClBC,EAAY,uBACZC,EAAY,uBAMZC,EAAe,sBAGfC,EAAe,8BAGfC,EAAW,mBAGXC,EAAiB,GACrBA,EAAeZ,GAAcY,EAAeX,GAC5CW,EAAeV,GAAWU,EAAeT,GACzCS,EAAeR,GAAYQ,EAAeP,GAC1CO,EAAeN,GAAmBM,EAAeL,GACjDK,EAAeJ,IAAa,EAC5BI,EAAehC,GAAWgC,EAAe/B,GACzC+B,EAAed,GAAkBc,EAAe7B,GAChD6B,EAAeb,GAAea,EAAe5B,GAC7C4B,EAAe3B,GAAY2B,EAAe1B,GAC1C0B,EAAexB,GAAUwB,EAAevB,GACxCuB,EAAerB,GAAaqB,EAAenB,GAC3CmB,EAAelB,GAAUkB,EAAejB,GACxCiB,EAAef,IAAc,EAG7B,IAAIgB,EAA8B,iBAAVt5E,GAAsBA,GAAUA,EAAO7qB,SAAWA,QAAU6qB,EAGhFu5E,EAA0B,iBAARC,MAAoBA,MAAQA,KAAKrkG,SAAWA,QAAUqkG,KAGxEl6C,EAAOg6C,GAAcC,GAAYh7F,SAAS,cAATA,GAGjCk7F,EAA4Ct5E,IAAYA,EAAQu5E,UAAYv5E,EAG5Ew5E,EAAaF,GAAgC,iBAAVv5E,GAAsBA,IAAWA,EAAOw5E,UAAYx5E,EAGvF05E,EAAgBD,GAAcA,EAAWx5E,UAAYs5E,EAGrDI,EAAcD,GAAiBN,EAAW9iG,QAG1CsjG,EAAY,WACd,IAEE,IAAI3pC,EAAQwpC,GAAcA,EAAW7jG,SAAW6jG,EAAW7jG,QAAQ,QAAQq6D,MAE3E,OAAIA,GAKG0pC,GAAeA,EAAYE,SAAWF,EAAYE,QAAQ,QACjE,MAAO/7F,KAXI,GAeXg8F,EAAmBF,GAAYA,EAASG,aAY5C,SAASx7E,EAAMy7E,EAAMjsE,EAAStJ,GAC5B,OAAQA,EAAKn1B,QACX,KAAK,EAAG,OAAO0qG,EAAKlrG,KAAKi/B,GACzB,KAAK,EAAG,OAAOisE,EAAKlrG,KAAKi/B,EAAStJ,EAAK,IACvC,KAAK,EAAG,OAAOu1E,EAAKlrG,KAAKi/B,EAAStJ,EAAK,GAAIA,EAAK,IAChD,KAAK,EAAG,OAAOu1E,EAAKlrG,KAAKi/B,EAAStJ,EAAK,GAAIA,EAAK,GAAIA,EAAK,IAE3D,OAAOu1E,EAAKz7E,MAAMwP,EAAStJ,GAY7B,SAASw1E,EAAU75E,EAAG85E,GACpB,IAAIxqG,GAAS,EACTq3B,EAAS53B,MAAMixB,GAEnB,QAAS1wB,EAAQ0wB,EACf2G,EAAOr3B,GAASwqG,EAASxqG,GAE3B,OAAOq3B,EAUT,SAASozE,EAAUH,GACjB,OAAO,SAAS3qG,GACd,OAAO2qG,EAAK3qG,IAYhB,SAASM,EAASgtC,EAAQhiC,GACxB,OAAiB,MAAVgiC,OAAiB7pC,EAAY6pC,EAAOhiC,GAW7C,SAASy/F,GAAQJ,EAAMK,GACrB,OAAO,SAASC,GACd,OAAON,EAAKK,EAAUC,KAK1B,IAAIC,GAAaprG,MAAM03B,UACnB2zE,GAAYn8F,SAASwoB,UACrB4zE,GAAcxlG,OAAO4xB,UAGrB6zE,GAAat7C,EAAK,sBAGlBu7C,GAAeH,GAAUx1E,SAGzB/1B,GAAiBwrG,GAAYxrG,eAG7B2rG,GAAc,WAChB,IAAIntE,EAAM,SAASotE,KAAKH,IAAcA,GAAWx6F,MAAQw6F,GAAWx6F,KAAK46F,UAAY,IACrF,OAAOrtE,EAAO,iBAAmBA,EAAO,GAFzB,GAUbstE,GAAuBN,GAAYz1E,SAGnCg2E,GAAmBL,GAAa7rG,KAAKmG,QAGrCgmG,GAAavJ,OAAO,IACtBiJ,GAAa7rG,KAAKG,IAAgB8c,QAAQitF,EAAc,QACvDjtF,QAAQ,yDAA0D,SAAW,KAI5EmvF,GAASxB,EAAgBt6C,EAAK87C,YAASpoG,EACvCqoG,GAAS/7C,EAAK+7C,OACdC,GAAah8C,EAAKg8C,WAClBC,GAAcH,GAASA,GAAOG,iBAAcvoG,EAC5CwoG,GAAelB,GAAQnlG,OAAOsmG,eAAgBtmG,QAC9CumG,GAAevmG,OAAOyiB,OACtB+jF,GAAuBhB,GAAYgB,qBACnC5/D,GAAS0+D,GAAW1+D,OACpB6/D,GAAiBP,GAASA,GAAOQ,iBAAc7oG,EAE/C4uB,GAAkB,WACpB,IACE,IAAIs4E,EAAO4B,GAAU3mG,OAAQ,kBAE7B,OADA+kG,EAAK,GAAI,GAAI,IACNA,EACP,MAAOl8F,KALU,GASjB+9F,GAAiBX,GAASA,GAAOY,cAAWhpG,EAC5CipG,GAAYt2F,KAAKlH,IACjBy9F,GAAYn+F,KAAKyM,IAGjB2xF,GAAML,GAAUx8C,EAAM,OACtB88C,GAAeN,GAAU3mG,OAAQ,UAUjCknG,GAAc,WAChB,SAASx/D,KACT,OAAO,SAASy/D,GACd,IAAKzuE,GAASyuE,GACZ,MAAO,GAET,GAAIZ,GACF,OAAOA,GAAaY,GAEtBz/D,EAAO9V,UAAYu1E,EACnB,IAAIr1E,EAAS,IAAI4V,EAEjB,OADAA,EAAO9V,eAAY/zB,EACZi0B,GAZM,GAuBjB,SAASs1E,GAAKra,GACZ,IAAItyF,GAAS,EACTJ,EAAoB,MAAX0yF,EAAkB,EAAIA,EAAQ1yF,OAE3CxB,KAAK8kC,QACL,QAASljC,EAAQJ,EAAQ,CACvB,IAAIgtG,EAAQta,EAAQtyF,GACpB5B,KAAKgtC,IAAIwhE,EAAM,GAAIA,EAAM,KAW7B,SAASC,KACPzuG,KAAK0uG,SAAWN,GAAeA,GAAa,MAAQ,GACpDpuG,KAAK8lC,KAAO,EAad,SAAS6oE,GAAW9hG,GAClB,IAAIosB,EAASj5B,KAAK4uG,IAAI/hG,WAAe7M,KAAK0uG,SAAS7hG,GAEnD,OADA7M,KAAK8lC,MAAQ7M,EAAS,EAAI,EACnBA,EAYT,SAAS41E,GAAQhiG,GACf,IAAItJ,EAAOvD,KAAK0uG,SAChB,GAAIN,GAAc,CAChB,IAAIn1E,EAAS11B,EAAKsJ,GAClB,OAAOosB,IAAWiwE,OAAiBlkG,EAAYi0B,EAEjD,OAAO93B,GAAeH,KAAKuC,EAAMsJ,GAAOtJ,EAAKsJ,QAAO7H,EAYtD,SAAS8pG,GAAQjiG,GACf,IAAItJ,EAAOvD,KAAK0uG,SAChB,OAAON,QAA8BppG,IAAdzB,EAAKsJ,GAAsB1L,GAAeH,KAAKuC,EAAMsJ,GAa9E,SAASkiG,GAAQliG,EAAKtL,GACpB,IAAIgC,EAAOvD,KAAK0uG,SAGhB,OAFA1uG,KAAK8lC,MAAQ9lC,KAAK4uG,IAAI/hG,GAAO,EAAI,EACjCtJ,EAAKsJ,GAAQuhG,SAA0BppG,IAAVzD,EAAuB2nG,EAAiB3nG,EAC9DvB,KAiBT,SAASgvG,GAAU9a,GACjB,IAAItyF,GAAS,EACTJ,EAAoB,MAAX0yF,EAAkB,EAAIA,EAAQ1yF,OAE3CxB,KAAK8kC,QACL,QAASljC,EAAQJ,EAAQ,CACvB,IAAIgtG,EAAQta,EAAQtyF,GACpB5B,KAAKgtC,IAAIwhE,EAAM,GAAIA,EAAM,KAW7B,SAASS,KACPjvG,KAAK0uG,SAAW,GAChB1uG,KAAK8lC,KAAO,EAYd,SAASopE,GAAgBriG,GACvB,IAAItJ,EAAOvD,KAAK0uG,SACZ9sG,EAAQutG,GAAa5rG,EAAMsJ,GAE/B,GAAIjL,EAAQ,EACV,OAAO,EAET,IAAIwtG,EAAY7rG,EAAK/B,OAAS,EAO9B,OANII,GAASwtG,EACX7rG,EAAK40B,MAEL4V,GAAO/sC,KAAKuC,EAAM3B,EAAO,KAEzB5B,KAAK8lC,MACA,EAYT,SAASupE,GAAaxiG,GACpB,IAAItJ,EAAOvD,KAAK0uG,SACZ9sG,EAAQutG,GAAa5rG,EAAMsJ,GAE/B,OAAOjL,EAAQ,OAAIoD,EAAYzB,EAAK3B,GAAO,GAY7C,SAAS0tG,GAAaziG,GACpB,OAAOsiG,GAAanvG,KAAK0uG,SAAU7hG,IAAQ,EAa7C,SAAS0iG,GAAa1iG,EAAKtL,GACzB,IAAIgC,EAAOvD,KAAK0uG,SACZ9sG,EAAQutG,GAAa5rG,EAAMsJ,GAQ/B,OANIjL,EAAQ,KACR5B,KAAK8lC,KACPviC,EAAKwG,KAAK,CAAC8C,EAAKtL,KAEhBgC,EAAK3B,GAAO,GAAKL,EAEZvB,KAiBT,SAASwvG,GAAStb,GAChB,IAAItyF,GAAS,EACTJ,EAAoB,MAAX0yF,EAAkB,EAAIA,EAAQ1yF,OAE3CxB,KAAK8kC,QACL,QAASljC,EAAQJ,EAAQ,CACvB,IAAIgtG,EAAQta,EAAQtyF,GACpB5B,KAAKgtC,IAAIwhE,EAAM,GAAIA,EAAM,KAW7B,SAASiB,KACPzvG,KAAK8lC,KAAO,EACZ9lC,KAAK0uG,SAAW,CACd,KAAQ,IAAIH,GACZ,IAAO,IAAKJ,IAAOa,IACnB,OAAU,IAAIT,IAalB,SAASmB,GAAe7iG,GACtB,IAAIosB,EAAS02E,GAAW3vG,KAAM6M,GAAK,UAAUA,GAE7C,OADA7M,KAAK8lC,MAAQ7M,EAAS,EAAI,EACnBA,EAYT,SAAS22E,GAAY/iG,GACnB,OAAO8iG,GAAW3vG,KAAM6M,GAAKkgC,IAAIlgC,GAYnC,SAASgjG,GAAYhjG,GACnB,OAAO8iG,GAAW3vG,KAAM6M,GAAK+hG,IAAI/hG,GAanC,SAASijG,GAAYjjG,EAAKtL,GACxB,IAAIgC,EAAOosG,GAAW3vG,KAAM6M,GACxBi5B,EAAOviC,EAAKuiC,KAIhB,OAFAviC,EAAKypC,IAAIngC,EAAKtL,GACdvB,KAAK8lC,MAAQviC,EAAKuiC,MAAQA,EAAO,EAAI,EAC9B9lC,KAiBT,SAAS+vG,GAAM7b,GACb,IAAI3wF,EAAOvD,KAAK0uG,SAAW,IAAIM,GAAU9a,GACzCl0F,KAAK8lC,KAAOviC,EAAKuiC,KAUnB,SAASkqE,KACPhwG,KAAK0uG,SAAW,IAAIM,GACpBhvG,KAAK8lC,KAAO,EAYd,SAASmqE,GAAYpjG,GACnB,IAAItJ,EAAOvD,KAAK0uG,SACZz1E,EAAS11B,EAAK,UAAUsJ,GAG5B,OADA7M,KAAK8lC,KAAOviC,EAAKuiC,KACV7M,EAYT,SAASi3E,GAASrjG,GAChB,OAAO7M,KAAK0uG,SAAS3hE,IAAIlgC,GAY3B,SAASsjG,GAAStjG,GAChB,OAAO7M,KAAK0uG,SAASE,IAAI/hG,GAa3B,SAASujG,GAASvjG,EAAKtL,GACrB,IAAIgC,EAAOvD,KAAK0uG,SAChB,GAAInrG,aAAgByrG,GAAW,CAC7B,IAAIqB,EAAQ9sG,EAAKmrG,SACjB,IAAKP,IAAQkC,EAAM7uG,OAASynG,EAAmB,EAG7C,OAFAoH,EAAMtmG,KAAK,CAAC8C,EAAKtL,IACjBvB,KAAK8lC,OAASviC,EAAKuiC,KACZ9lC,KAETuD,EAAOvD,KAAK0uG,SAAW,IAAIc,GAASa,GAItC,OAFA9sG,EAAKypC,IAAIngC,EAAKtL,GACdvB,KAAK8lC,KAAOviC,EAAKuiC,KACV9lC,KAkBT,SAASswG,GAAc/uG,EAAOgvG,GAC5B,IAAIC,EAAQlvG,GAAQC,GAChBkvG,GAASD,GAASE,GAAYnvG,GAC9BovG,GAAUH,IAAUC,GAASzC,GAASzsG,GACtCqvG,GAAUJ,IAAUC,IAAUE,GAAU1E,GAAa1qG,GACrDsvG,EAAcL,GAASC,GAASE,GAAUC,EAC1C33E,EAAS43E,EAAc1E,EAAU5qG,EAAMC,OAAQgB,QAAU,GACzDhB,EAASy3B,EAAOz3B,OAEpB,IAAK,IAAIqL,KAAOtL,GACTgvG,IAAapvG,GAAeH,KAAKO,EAAOsL,IACvCgkG,IAEQ,UAAPhkG,GAEC8jG,IAAkB,UAAP9jG,GAA0B,UAAPA,IAE9B+jG,IAAkB,UAAP/jG,GAA0B,cAAPA,GAA8B,cAAPA,IAEtDikG,GAAQjkG,EAAKrL,KAElBy3B,EAAOlvB,KAAK8C,GAGhB,OAAOosB,EAYT,SAAS83E,GAAiBliE,EAAQhiC,EAAKtL,SACtByD,IAAVzD,IAAwByvG,GAAGniE,EAAOhiC,GAAMtL,SAC9ByD,IAAVzD,KAAyBsL,KAAOgiC,KACnCoiE,GAAgBpiE,EAAQhiC,EAAKtL,GAcjC,SAAS2vG,GAAYriE,EAAQhiC,EAAKtL,GAChC,IAAI4vG,EAAWtiE,EAAOhiC,GAChB1L,GAAeH,KAAK6tC,EAAQhiC,IAAQmkG,GAAGG,EAAU5vG,UACxCyD,IAAVzD,GAAyBsL,KAAOgiC,IACnCoiE,GAAgBpiE,EAAQhiC,EAAKtL,GAYjC,SAAS4tG,GAAaxuF,EAAO9T,GAC3B,IAAIrL,EAASmf,EAAMnf,OACnB,MAAOA,IACL,GAAIwvG,GAAGrwF,EAAMnf,GAAQ,GAAIqL,GACvB,OAAOrL,EAGX,OAAQ,EAYV,SAASyvG,GAAgBpiE,EAAQhiC,EAAKtL,GACzB,aAAPsL,GAAsB+mB,GACxBA,GAAeib,EAAQhiC,EAAK,CAC1B,cAAgB,EAChB,YAAc,EACd,MAAStL,EACT,UAAY,IAGdstC,EAAOhiC,GAAOtL,EA3alBgtG,GAAKx1E,UAAU+L,MAAQ2pE,GACvBF,GAAKx1E,UAAU,UAAY41E,GAC3BJ,GAAKx1E,UAAUgU,IAAM8hE,GACrBN,GAAKx1E,UAAU61E,IAAME,GACrBP,GAAKx1E,UAAUiU,IAAM+hE,GA+GrBC,GAAUj2E,UAAU+L,MAAQmqE,GAC5BD,GAAUj2E,UAAU,UAAYm2E,GAChCF,GAAUj2E,UAAUgU,IAAMsiE,GAC1BL,GAAUj2E,UAAU61E,IAAMU,GAC1BN,GAAUj2E,UAAUiU,IAAMuiE,GAiG1BC,GAASz2E,UAAU+L,MAAQ2qE,GAC3BD,GAASz2E,UAAU,UAAY22E,GAC/BF,GAASz2E,UAAUgU,IAAM6iE,GACzBJ,GAASz2E,UAAU61E,IAAMiB,GACzBL,GAASz2E,UAAUiU,IAAM8iE,GAgGzBC,GAAMh3E,UAAU+L,MAAQkrE,GACxBD,GAAMh3E,UAAU,UAAYk3E,GAC5BF,GAAMh3E,UAAUgU,IAAMmjE,GACtBH,GAAMh3E,UAAU61E,IAAMuB,GACtBJ,GAAMh3E,UAAUiU,IAAMojE,GA0HtB,IAAIgB,GAAUC,KASd,SAASC,GAAW/vG,GAClB,OAAa,MAATA,OACeyD,IAAVzD,EAAsB8oG,EAAeN,EAEtC6D,IAAkBA,MAAkBzmG,OAAO5F,GAC/CgwG,GAAUhwG,GACViwG,GAAejwG,GAUrB,SAASkwG,GAAgBlwG,GACvB,OAAOmwG,GAAanwG,IAAU+vG,GAAW/vG,IAAU8nG,EAWrD,SAASsI,GAAapwG,GACpB,IAAKs+B,GAASt+B,IAAUqwG,GAASrwG,GAC/B,OAAO,EAET,IAAIswG,EAAUC,GAAWvwG,GAAS4rG,GAAahC,EAC/C,OAAO0G,EAAQhO,KAAKkO,GAASxwG,IAU/B,SAASywG,GAAiBzwG,GACxB,OAAOmwG,GAAanwG,IAClB0wG,GAAS1wG,EAAMC,WAAa6pG,EAAeiG,GAAW/vG,IAU1D,SAAS2wG,GAAWrjE,GAClB,IAAKhP,GAASgP,GACZ,OAAOsjE,GAAatjE,GAEtB,IAAIujE,EAAUC,GAAYxjE,GACtB5V,EAAS,GAEb,IAAK,IAAIpsB,KAAOgiC,GACD,eAAPhiC,IAAyBulG,GAAYjxG,GAAeH,KAAK6tC,EAAQhiC,KACrEosB,EAAOlvB,KAAK8C,GAGhB,OAAOosB,EAcT,SAASq5E,GAAUzjE,EAAQlQ,EAAQ4zE,EAAUC,EAAY72D,GACnD9M,IAAWlQ,GAGfyyE,GAAQzyE,GAAQ,SAAS8zE,EAAU5lG,GAEjC,GADA8uC,IAAUA,EAAQ,IAAIo0D,IAClBlwE,GAAS4yE,GACXC,GAAc7jE,EAAQlQ,EAAQ9xB,EAAK0lG,EAAUD,GAAWE,EAAY72D,OAEjE,CACH,IAAIn9B,EAAWg0F,EACXA,EAAWG,GAAQ9jE,EAAQhiC,GAAM4lG,EAAW5lG,EAAM,GAAKgiC,EAAQlQ,EAAQgd,QACvE32C,OAEaA,IAAbwZ,IACFA,EAAWi0F,GAEb1B,GAAiBliE,EAAQhiC,EAAK2R,MAE/Bo0F,IAkBL,SAASF,GAAc7jE,EAAQlQ,EAAQ9xB,EAAK0lG,EAAUM,EAAWL,EAAY72D,GAC3E,IAAIw1D,EAAWwB,GAAQ9jE,EAAQhiC,GAC3B4lG,EAAWE,GAAQh0E,EAAQ9xB,GAC3BqwC,EAAUvB,EAAM5O,IAAI0lE,GAExB,GAAIv1D,EACF6zD,GAAiBliE,EAAQhiC,EAAKqwC,OADhC,CAIA,IAAI1+B,EAAWg0F,EACXA,EAAWrB,EAAUsB,EAAW5lG,EAAM,GAAKgiC,EAAQlQ,EAAQgd,QAC3D32C,EAEA8tG,OAAwB9tG,IAAbwZ,EAEf,GAAIs0F,EAAU,CACZ,IAAItC,EAAQlvG,GAAQmxG,GAChB9B,GAAUH,GAASxC,GAASyE,GAC5BM,GAAWvC,IAAUG,GAAU1E,GAAawG,GAEhDj0F,EAAWi0F,EACPjC,GAASG,GAAUoC,EACjBzxG,GAAQ6vG,GACV3yF,EAAW2yF,EAEJ6B,GAAkB7B,GACzB3yF,EAAWy0F,GAAU9B,GAEdR,GACPmC,GAAW,EACXt0F,EAAW00F,GAAYT,GAAU,IAE1BM,GACPD,GAAW,EACXt0F,EAAW20F,GAAgBV,GAAU,IAGrCj0F,EAAW,GAGN40F,GAAcX,IAAa/B,GAAY+B,IAC9Cj0F,EAAW2yF,EACPT,GAAYS,GACd3yF,EAAW60F,GAAclC,GAEjBtxE,GAASsxE,KAAaW,GAAWX,KACzC3yF,EAAW80F,GAAgBb,KAI7BK,GAAW,EAGXA,IAEFn3D,EAAM3O,IAAIylE,EAAUj0F,GACpBq0F,EAAUr0F,EAAUi0F,EAAUF,EAAUC,EAAY72D,GACpDA,EAAM,UAAU82D,IAElB1B,GAAiBliE,EAAQhiC,EAAK2R,IAWhC,SAAS+0F,GAASrH,EAAMl9F,GACtB,OAAOwkG,GAAYC,GAASvH,EAAMl9F,EAAO0kG,IAAWxH,EAAO,IAW7D,IAAIyH,GAAmB//E,GAA4B,SAASs4E,EAAMj1E,GAChE,OAAOrD,GAAes4E,EAAM,WAAY,CACtC,cAAgB,EAChB,YAAc,EACd,MAAS0H,GAAS38E,GAClB,UAAY,KALwBy8E,GAiBxC,SAASR,GAAYW,EAAQC,GAC3B,GAAIA,EACF,OAAOD,EAAOphG,QAEhB,IAAIjR,EAASqyG,EAAOryG,OAChBy3B,EAASs0E,GAAcA,GAAY/rG,GAAU,IAAIqyG,EAAO50F,YAAYzd,GAGxE,OADAqyG,EAAOE,KAAK96E,GACLA,EAUT,SAAS+6E,GAAiBC,GACxB,IAAIh7E,EAAS,IAAIg7E,EAAYh1F,YAAYg1F,EAAYC,YAErD,OADA,IAAI5G,GAAWr0E,GAAQ+T,IAAI,IAAIsgE,GAAW2G,IACnCh7E,EAWT,SAASk6E,GAAgBgB,EAAYL,GACnC,IAAID,EAASC,EAASE,GAAiBG,EAAWN,QAAUM,EAAWN,OACvE,OAAO,IAAIM,EAAWl1F,YAAY40F,EAAQM,EAAWC,WAAYD,EAAW3yG,QAW9E,SAASyxG,GAAUt0E,EAAQhe,GACzB,IAAI/e,GAAS,EACTJ,EAASm9B,EAAOn9B,OAEpBmf,IAAUA,EAAQtf,MAAMG,IACxB,QAASI,EAAQJ,EACfmf,EAAM/e,GAAS+8B,EAAO/8B,GAExB,OAAO+e,EAaT,SAAS0zF,GAAW11E,EAAQ1+B,EAAO4uC,EAAQ2jE,GACzC,IAAI8B,GAASzlE,EACbA,IAAWA,EAAS,IAEpB,IAAIjtC,GAAS,EACTJ,EAASvB,EAAMuB,OAEnB,QAASI,EAAQJ,EAAQ,CACvB,IAAIqL,EAAM5M,EAAM2B,GAEZ4c,EAAWg0F,EACXA,EAAW3jE,EAAOhiC,GAAM8xB,EAAO9xB,GAAMA,EAAKgiC,EAAQlQ,QAClD35B,OAEaA,IAAbwZ,IACFA,EAAWmgB,EAAO9xB,IAEhBynG,EACFrD,GAAgBpiE,EAAQhiC,EAAK2R,GAE7B0yF,GAAYriE,EAAQhiC,EAAK2R,GAG7B,OAAOqwB,EAUT,SAAS0lE,GAAeC,GACtB,OAAOjB,IAAS,SAAS1kE,EAAQ3N,GAC/B,IAAIt/B,GAAS,EACTJ,EAAS0/B,EAAQ1/B,OACjBgxG,EAAahxG,EAAS,EAAI0/B,EAAQ1/B,EAAS,QAAKwD,EAChDyvG,EAAQjzG,EAAS,EAAI0/B,EAAQ,QAAKl8B,EAEtCwtG,EAAcgC,EAAShzG,OAAS,GAA0B,mBAAdgxG,GACvChxG,IAAUgxG,QACXxtG,EAEAyvG,GAASC,GAAexzE,EAAQ,GAAIA,EAAQ,GAAIuzE,KAClDjC,EAAahxG,EAAS,OAAIwD,EAAYwtG,EACtChxG,EAAS,GAEXqtC,EAAS1nC,OAAO0nC,GAChB,QAASjtC,EAAQJ,EAAQ,CACvB,IAAIm9B,EAASuC,EAAQt/B,GACjB+8B,GACF61E,EAAS3lE,EAAQlQ,EAAQ/8B,EAAO4wG,GAGpC,OAAO3jE,KAWX,SAASwiE,GAAcsD,GACrB,OAAO,SAAS9lE,EAAQu9D,EAAUwI,GAChC,IAAIhzG,GAAS,EACTizG,EAAW1tG,OAAO0nC,GAClB5uC,EAAQ20G,EAAS/lE,GACjBrtC,EAASvB,EAAMuB,OAEnB,MAAOA,IAAU,CACf,IAAIqL,EAAM5M,EAAM00G,EAAYnzG,IAAWI,GACvC,IAA+C,IAA3CwqG,EAASyI,EAAShoG,GAAMA,EAAKgoG,GAC/B,MAGJ,OAAOhmE,GAkBX,SAASimE,GAAoB3D,EAAUsB,EAAU5lG,EAAKgiC,EAAQlQ,EAAQgd,GAOpE,OANI9b,GAASsxE,IAAatxE,GAAS4yE,KAEjC92D,EAAM3O,IAAIylE,EAAUtB,GACpBmB,GAAUnB,EAAUsB,OAAUztG,EAAW8vG,GAAqBn5D,GAC9DA,EAAM,UAAU82D,IAEXtB,EAWT,SAASxB,GAAWx/F,EAAKtD,GACvB,IAAItJ,EAAO4M,EAAIu+F,SACf,OAAOqG,GAAUloG,GACbtJ,EAAmB,iBAAPsJ,EAAkB,SAAW,QACzCtJ,EAAK4M,IAWX,SAAS29F,GAAUj/D,EAAQhiC,GACzB,IAAItL,EAAQM,EAASgtC,EAAQhiC,GAC7B,OAAO8kG,GAAapwG,GAASA,OAAQyD,EAUvC,SAASusG,GAAUhwG,GACjB,IAAIyzG,EAAQ7zG,GAAeH,KAAKO,EAAOqsG,IACnChgB,EAAMrsF,EAAMqsG,IAEhB,IACErsG,EAAMqsG,SAAkB5oG,EACxB,IAAIiwG,GAAW,EACf,MAAOjlG,IAET,IAAIipB,EAASg0E,GAAqBjsG,KAAKO,GAQvC,OAPI0zG,IACED,EACFzzG,EAAMqsG,IAAkBhgB,SAEjBrsF,EAAMqsG,KAGV30E,EAUT,SAASq6E,GAAgBzkE,GACvB,MAAqC,mBAAtBA,EAAO5vB,aAA8BozF,GAAYxjE,GAE5D,GADAw/D,GAAWb,GAAa3+D,IAY9B,SAASiiE,GAAQvvG,EAAOC,GACtB,IAAIe,SAAchB,EAGlB,OAFAC,EAAmB,MAAVA,EAAiB+8E,EAAmB/8E,IAEpCA,IACE,UAARe,GACU,UAARA,GAAoB6oG,EAASvH,KAAKtiG,KAChCA,GAAS,GAAKA,EAAQ,GAAK,GAAKA,EAAQC,EAajD,SAASkzG,GAAenzG,EAAOK,EAAOitC,GACpC,IAAKhP,GAASgP,GACZ,OAAO,EAET,IAAItsC,SAAcX,EAClB,SAAY,UAARW,EACK2yG,GAAYrmE,IAAWiiE,GAAQlvG,EAAOitC,EAAOrtC,QACrC,UAARe,GAAoBX,KAASitC,IAE7BmiE,GAAGniE,EAAOjtC,GAAQL,GAY7B,SAASwzG,GAAUxzG,GACjB,IAAIgB,SAAchB,EAClB,MAAgB,UAARgB,GAA4B,UAARA,GAA4B,UAARA,GAA4B,WAARA,EACrD,cAAVhB,EACU,OAAVA,EAUP,SAASqwG,GAAS1F,GAChB,QAASY,IAAeA,MAAcZ,EAUxC,SAASmG,GAAY9wG,GACnB,IAAI4zG,EAAO5zG,GAASA,EAAM0d,YACtBqvF,EAAwB,mBAAR6G,GAAsBA,EAAKp8E,WAAc4zE,GAE7D,OAAOprG,IAAU+sG,EAYnB,SAAS6D,GAAatjE,GACpB,IAAI5V,EAAS,GACb,GAAc,MAAV4V,EACF,IAAK,IAAIhiC,KAAO1F,OAAO0nC,GACrB5V,EAAOlvB,KAAK8C,GAGhB,OAAOosB,EAUT,SAASu4E,GAAejwG,GACtB,OAAO0rG,GAAqBjsG,KAAKO,GAYnC,SAASkyG,GAASvH,EAAMl9F,EAAOu9F,GAE7B,OADAv9F,EAAQi/F,QAAoBjpG,IAAVgK,EAAuBk9F,EAAK1qG,OAAS,EAAKwN,EAAO,GAC5D,WACL,IAAI2nB,EAAO5nB,UACPnN,GAAS,EACTJ,EAASysG,GAAUt3E,EAAKn1B,OAASwN,EAAO,GACxC2R,EAAQtf,MAAMG,GAElB,QAASI,EAAQJ,EACfmf,EAAM/e,GAAS+0B,EAAK3nB,EAAQpN,GAE9BA,GAAS,EACT,IAAIwzG,EAAY/zG,MAAM2N,EAAQ,GAC9B,QAASpN,EAAQoN,EACfomG,EAAUxzG,GAAS+0B,EAAK/0B,GAG1B,OADAwzG,EAAUpmG,GAASu9F,EAAU5rF,GACtB8P,EAAMy7E,EAAMlsG,KAAMo1G,IAY7B,SAASzC,GAAQ9jE,EAAQhiC,GACvB,IAAY,gBAARA,GAAgD,oBAAhBgiC,EAAOhiC,KAIhC,aAAPA,EAIJ,OAAOgiC,EAAOhiC,GAWhB,IAAI2mG,GAAc6B,GAAS1B,IAW3B,SAAS0B,GAASnJ,GAChB,IAAIz4D,EAAQ,EACR6hE,EAAa,EAEjB,OAAO,WACL,IAAIC,EAAQrH,KACRsH,EAAYpM,GAAYmM,EAAQD,GAGpC,GADAA,EAAaC,EACTC,EAAY,GACd,KAAM/hE,GAAS01D,EACb,OAAOp6F,UAAU,QAGnB0kC,EAAQ,EAEV,OAAOy4D,EAAKz7E,WAAMzrB,EAAW+J,YAWjC,SAASgjG,GAAS7F,GAChB,GAAY,MAARA,EAAc,CAChB,IACE,OAAOW,GAAa7rG,KAAKkrG,GACzB,MAAOl8F,IACT,IACE,OAAQk8F,EAAO,GACf,MAAOl8F,KAEX,MAAO,GAmCT,SAASghG,GAAGzvG,EAAOk0G,GACjB,OAAOl0G,IAAUk0G,GAAUl0G,IAAUA,GAASk0G,IAAUA,EAqB1D,IAAI/E,GAAce,GAAgB,WAAa,OAAO1iG,UAApB,IAAsC0iG,GAAkB,SAASlwG,GACjG,OAAOmwG,GAAanwG,IAAUJ,GAAeH,KAAKO,EAAO,YACtDosG,GAAqB3sG,KAAKO,EAAO,WA0BlCD,GAAUD,MAAMC,QA2BpB,SAAS4zG,GAAY3zG,GACnB,OAAgB,MAATA,GAAiB0wG,GAAS1wG,EAAMC,UAAYswG,GAAWvwG,GA4BhE,SAASyxG,GAAkBzxG,GACzB,OAAOmwG,GAAanwG,IAAU2zG,GAAY3zG,GAoB5C,IAAIysG,GAAWD,IAAkB2H,GAmBjC,SAAS5D,GAAWvwG,GAClB,IAAKs+B,GAASt+B,GACZ,OAAO,EAIT,IAAIqsF,EAAM0jB,GAAW/vG,GACrB,OAAOqsF,GAAO+b,GAAW/b,GAAOgc,GAAUhc,GAAO2b,GAAY3b,GAAOqc,EA6BtE,SAASgI,GAAS1wG,GAChB,MAAuB,iBAATA,GACZA,GAAS,GAAKA,EAAQ,GAAK,GAAKA,GAASg9E,EA4B7C,SAAS1+C,GAASt+B,GAChB,IAAIgB,SAAchB,EAClB,OAAgB,MAATA,IAA0B,UAARgB,GAA4B,YAARA,GA2B/C,SAASmvG,GAAanwG,GACpB,OAAgB,MAATA,GAAiC,iBAATA,EA+BjC,SAAS6xG,GAAc7xG,GACrB,IAAKmwG,GAAanwG,IAAU+vG,GAAW/vG,IAAUyoG,EAC/C,OAAO,EAET,IAAIsE,EAAQd,GAAajsG,GACzB,GAAc,OAAV+sG,EACF,OAAO,EAET,IAAI6G,EAAOh0G,GAAeH,KAAKstG,EAAO,gBAAkBA,EAAMrvF,YAC9D,MAAsB,mBAARk2F,GAAsBA,aAAgBA,GAClDtI,GAAa7rG,KAAKm0G,IAASjI,GAoB/B,IAAIjB,GAAeD,EAAmBK,EAAUL,GAAoBgG,GA0BpE,SAASqB,GAAc9xG,GACrB,OAAO8yG,GAAW9yG,EAAOqxG,GAAOrxG,IAsBlC,IAAIg7F,GAAegX,IAAS,SAAS58E,GAEnC,OADAA,EAAK5sB,UAAK/E,EAAW8vG,IACdrkF,EAAMklF,QAAW3wG,EAAW2xB,MA0BrC,SAASi8E,GAAO/jE,GACd,OAAOqmE,GAAYrmE,GAAUyhE,GAAczhE,GAAQ,GAAQqjE,GAAWrjE,GAkCxE,IAAI8mE,GAAYpB,IAAe,SAAS1lE,EAAQlQ,EAAQ4zE,EAAUC,GAChEF,GAAUzjE,EAAQlQ,EAAQ4zE,EAAUC,MAsBtC,SAASoB,GAASryG,GAChB,OAAO,WACL,OAAOA,GAoBX,SAASmyG,GAASnyG,GAChB,OAAOA,EAgBT,SAASm0G,KACP,OAAO,EAGTxjF,EAAOC,QAAUoqE,K,oRCx+DwO,EAAK,W,IAAqB/4F,OAAgCa,EAAK,EAAC,SAAM,EAAG,kB,OAAC,EAAK,kBAAG,+CAAE,MAAK,CAAmDb,YAAY,OAAkBmD,OAAU,QAA6EnD,SAAY,GAAsBmD,cAAWA,KAA6H,CAACJ,EAAG,OAAI,WAAC/C,YAAY,oBAAqB,MAAMkD,CAAkGrC,GAAM,IAAC,GAAK,MAAkD,8BAAG,YAAQ,iBAASA,GAAK,GAAC,8D,YAAC,qBAAe,yFAAE,YAAY,aAAmCb,QAAkDa,YAAM,sB,CAAC,SAAW,EAAE,mF,MAAC,CAAU,IAAK,8BAAQ,wBAC5iC,aACG4C,OAEJ,aAAiBA,K,2PCJjB,W,kSCyBMujF,EAAatoF,eACjB6vF,OACA1hF,OACAulG,OACAC,eAAiB,cACjB3wG,QAQaslF,SAAW5qF,SAAkBA,OAAO,CACjDC,KAAM,UAENoyF,cAAc,EAEdhyF,MAAO,CACLG,SAAU,CACRmC,KAAMpC,QACN0C,QAAS,MAEXoI,GAAIzI,OACJ25C,MAAO35C,OACP3C,KAAM2C,OACNszG,QAAS,CACPvzG,KAAMC,OACNK,QAAS,aAEXkzG,OAAQ,CACNxzG,KAAMC,OACNK,QAAS,YAEXnC,SAAU,CACR6B,KAAMpC,QACN0C,QAAS,MAEXtB,MAAO,CACLsB,QAAS,OAIbU,KAAM,WAAF,MAAS,CACX8nF,WAAW,IAGbzqF,SAAU,CACRC,QAAO,WACL,OAAAC,8BAAA,CACE,uBAAwBd,KAAKwrF,WAC7B,sBAAuBxrF,KAAKqrF,WACzBrrF,KAAKgS,cACLhS,KAAKg2G,eAGZnyG,cAAa,WACX,IAAI7D,KAAKwrF,WACT,OAAOyqB,OAAWl1G,QAAQH,SAASiD,cAAc7C,KAAKhB,OAExD6E,aAAY,WACV,OAAO7E,KAAK+B,SACR/B,KAAK+1G,OACL/1G,KAAK81G,SAEXtoB,WAAU,WACR,OAAOJ,OAAOrsF,QAAQH,SAAS4sF,WAAWxsF,KAAKhB,OAEjDk2G,SAAU9oB,OAAOrsF,QAAQH,SAASs1G,SAClCjqB,SAAQ,WACN,OAAQjsF,KAAKqtF,YAAc,IAAIpB,UAEjCT,WAAU,W,MACR,OAAoB,QAAbc,EAAAtsF,KAAKI,gBAAQ,IAAAksF,MAChBtsF,KAAKqtF,YACPrtF,KAAKqtF,WAAW7B,YAGpBgB,WAAU,W,MACR,OAAoB,QAAbF,EAAAtsF,KAAKU,gBAAQ,IAAA4rF,MAChBtsF,KAAKqtF,YACPrtF,KAAKqtF,WAAWb,YAGpB2pB,aAAY,WACV,OAAIn2G,KAAKH,OAASG,KAAKqtF,WACdrtF,KAAKH,KAGPG,KAAKqtF,WAAWxtF,MAAhB,SAAA8D,OAAiC3D,KAAKqtF,WAAWqF,OAE1D0jB,YAAW,WACT,OAAOH,OAAWl1G,QAAQH,SAASw1G,YAAYp1G,KAAKhB,OAEtD0sF,gBAAe,WACb,OAAQ1sF,KAAKqtF,YAAc,IAAIX,iBAAmB1sF,KAAK6D,gBAI3DpC,QAAS,CACPolG,SAAQ,SAAElwE,GAIR,OAAOs/E,OAAWl1G,QAAQU,QAAQolG,SAAS7lG,KAAKhB,KAAM,QAAS22B,IAEjE+2D,SAAQ,WACN,OAAK1tF,KAAKk2G,SAEHl2G,KAAK8D,eAAeuyG,OAAQ,CACjC5xG,GAAI,CAEFC,MAAO4xG,QAETjyG,MAAO,CACLspF,IAAK3tF,KAAKwtF,YAEZvtF,MAAO,CACLgE,MAAOjE,KAAK0sF,gBACZ6pB,QAASv2G,KAAKisF,WAEf5mF,eAAQrF,KAAM,UAAYA,KAAKm8C,OAdP,MAgB7Bq6D,SAAQ,WACN,IAAAC,EAAiCz2G,KAAK+tF,OAApB2oB,GAAZD,EAAEp4D,MAAUs4D,eAAAF,EAAAG,IAElB,OAAO52G,KAAK8D,eAAe,MAAO,CAChCN,YAAa,sCACZ,CACDxD,KAAK8D,eAAea,OAAO3E,KAAKiG,aAAajG,KAAK0sF,gBAAiB,CACjEzsF,MAAO,CACL8C,MAAO/C,KAAKqtF,YAAcrtF,KAAKqtF,WAAWtqF,SAE1C/C,KAAK6E,cACT7E,KAAK6mG,SAAL/lG,eAAA,CACEjB,KAAMG,KAAKm2G,aACX50G,MAAOvB,KAAKuB,OACTm1G,IAEL12G,KAAK0kG,UAAU1kG,KAAKiG,aAAajG,KAAKo2G,iBAG1C/O,QAAO,SAAEr3F,GACPhQ,KAAKqrF,WAAY,EACjBrrF,KAAK6J,MAAM,QAASmG,IAEtBs3F,OAAM,SAAEt3F,GACNhQ,KAAKqrF,WAAY,EACjBrrF,KAAK6J,MAAM,OAAQmG,IAErB6mG,SAAQ,WACF72G,KAAKwrF,YAAcxrF,KAAKwsF,YAAcxsF,KAAK+B,UAE/C/B,KAAKyF,UAEPqxG,UAAW,cAGb5wG,OAAM,SAAEC,GACN,IAAM5C,EAAkB,CACtBC,YAAa,UACbC,MAAOzD,KAAKa,QACZ4D,GAAI+P,eAAe,CACjB9P,MAAO1E,KAAK62G,UACX72G,KAAK4F,YACRvB,MAAO,CAAEg6C,MAAOr+C,KAAK+tF,OAAO1vC,QAG9B,OAAOl4C,EAAE,MAAO5C,EAAM,CACpBvD,KAAKw2G,WACLx2G,KAAK0tF,iB,uFCnMiD,G,UAAU,W,IAAUlqF,OAAwBa,EAAK,EAAC,S,OAAC,EAAM,OAAC,CAAE,YAAC,YAACI,MAAG,CAAC,KAAQ,IAAkB2f,IAAO7iB,OAAU,EAAK,a,MAA6B,CAAQ,MAAC,MAAC0f,SAAU,SAAC,GAAK,SAAmD,WAAU,QAAqB,EAAGta,GAAIowG,EAAG,eAAe,SAAM,K,OAACvzG,SAAY,CAAOa,IAAK,EAAC,I,CAAC,QAAU,EAAM,S,YAAY,O,MAAa,CAAuC,QAAUmC,OAAiC,mBAAG,IAAI,EAAM,8BAAChD,MAAY,SAAM,wBAAQ,QAAU,C,YAAkB,O,MAAa,CAA6B,QAAUgD,OAAuB,mBAAID,IAAG,EAAO,qBAAC/C,MAAY,wBAAwF,UAC7uB,yBACGyD,UAAe,EAAK,2DAExB,K,iFCyBe,GACfpH,KAAA,WAEAI,MAAA,CACA+2G,aAAA,CACAn0G,QAAA,qBACAN,KAAAlB,QAIAkC,KAAA,WACA,OACAwzG,IAAA,IAIAnjG,QAAA,WACA,KAAAmjG,IAAA,KAAApvG,YAAAsD,GAAA,GAGArK,SAAAE,6CAAA,GACAyG,eAAA,0BACAA,eAAA,sCACA0vG,cAAA,eAAAjzG,EAAA,KACA,YAAA+e,aAAA9N,QAAA,SAAA+N,GAAA,OAAAhf,EAAAwnF,WAAAxoE,EAAAnjB,YAIA4B,QAAAX,8BAAA,GACA4H,eAAA,iCACA8iF,WAAA,SAAAxoE,GACA,YAAAg0F,aAAAr0G,SAAAqgB,IAEAk0F,YAAA,SAAAC,GACA,IAAAvzF,EAAA,KAAAb,aAAAo0F,GAAAlsG,GAEA,KAAA4Y,eAAAD,IAEApd,SAAA,SAAAkB,GAAA,IAAAsT,EAAAjM,UAAAvN,OAAA,QAAAwD,IAAA+J,UAAA,GAAAA,UAAA,QACA,OACAtI,IAAAiB,EACAG,IAAAC,UAAA,QAAAnE,OAAA+D,EAAAE,eAAAjE,OACA,OAAAqX,QAAA,IAAAA,IAAA,iBCvEgW,I,wBCQ5V1Q,EAAY,eACd,EACA,EACArD,GACA,EACA,KACA,WACA,MAIa,OAAAqD,E,2CCnBf,W,oCCAA,yBAAoW,eAAG,G,oCCAvW,W,gECA4D,EAAYgmF,W,IAAiDjsF,EAAM,K,EAAC,EAAM,MAAE,G,OAAC,mBAAY,qBAAK,MAAC,CAACsI,OAAqBE,YAAI,O,YAA4B+U,EAAA,K,IAAI,Y,GAA6Cpe,SAAW,G,IAAaa,EAAM,K,MAAC,GAAO,MAAC,sBAAE,wBAAE,MAAMqC,CAA6B,WAAgC,GAAM,GAACC,uBAAsBywG,OAEzYnwG,QAAe,aAEnB,GAASf,MAAM,CAAEe,WAAe,gC,6BCYjB,GACfhH,MAAA,CACAqwF,gBAAA,CACA/tF,KAAApC,QACA0C,SAAA,GAEAw0G,gBAAA,CACA90G,KAAApC,QACA0C,SAAA,IAGAjC,SAAAE,8BAAA,GACAyG,eAAA,0BAEA6vG,SAAA,WACA,YAAAC,gBACA,KAAAnvG,GAAA,iDACA,KAAAA,GAAA,mCCjCuW,I,YCOnWoC,EAAY,eACd,EACA,EACArD,GACA,EACA,KACA,KACA,MAIa,OAAAqD,E,wKCFTkgF,EAAatoF,eACjBo1G,OAGAzB,eAAiB,WACjB3wG,QAUaslF,SAAW5qF,SAAkBA,SAE1CA,OAAO,CACPC,KAAM,QAENI,MAAO,CACLwkG,OAAQ,CACNliG,KAAM,CAACpC,QAASgH,QAChBtE,SAAS,GAEX00G,SAAU,CACRnwG,UAAU,IAId7D,KAAM,WAAF,MAAS,CACXi0G,WAAY,kBAGd52G,SAAU,CACRC,QAAO,WACL,OAAAC,8BAAA,CACE,SAAS,GACNw2G,OAASv2G,QAAQH,SAASC,QAAQG,KAAKhB,OAFrC,IAGL,kBAAmBA,KAAKI,UACrBJ,KAAKg2G,eAGZz0G,MAAK,WACH,GAAqB,MAAjBvB,KAAKu3G,SAAkB,OAAOv3G,KAAKu3G,SAEvC,IAAInhG,EAAKpW,KAAKoW,IAAMpW,KAAKy3G,KAEzB,GAAU,MAANrhG,EAAY,OAAOA,EAEvB,GAAIpW,KAAK8J,SACP9J,KAAKoW,KAAOjP,OAAOnH,KAAKoW,IACxB,CACA,IAAM8yB,EAAUlpC,KAAK8J,QAAQo/B,QAC3BlpC,KAAKoW,GACLpW,KAAKyiB,OACLziB,KAAK03G,QAGPthG,EAAK8yB,EAAQuuE,KAGf,OAAOrhG,EAAG6H,QAAQ,IAAK,MAI3Bxc,QAAS,CACPiD,MAAK,SAAEsL,GAIDhQ,KAAKI,SACP4P,EAAE8F,kBAOA9V,KAAKy3G,MACPz3G,KAAKy3G,KAAKphG,QAAQ,MAAQ,GAC1BrG,EAAE8F,iBAEA9F,EAAE2nG,QAAQ33G,KAAKwa,IAAIo9F,OAEvB53G,KAAK6J,MAAM,QAASmG,GAEpBhQ,KAAKoW,IAAMpW,KAAKyF,WAElBA,OAAM,WAECzF,KAAK+B,WAAc/B,KAAK63G,QAAQC,WAAc93G,KAAKoW,KACtDpW,KAAK6J,MAAM,YAKjB3D,OAAM,SAAEC,GAAC,IAAAnC,EAAA,KACP+zG,EAAsB/3G,KAAKg4G,oBAAnBpqB,EAAFmqB,EAAEnqB,IAAKrqF,EAAAw0G,EAAAx0G,KAiBb,OAfAA,EAAKc,MAALvD,8BAAA,GACKyC,EAAKc,OADG,IAEX,gBAAiB7B,OAAOxC,KAAK+B,UAC7B4D,KAAM,MACNggG,SAAU3lG,KAAKI,UAAY,EAAI,IAEjCmD,EAAKkB,GAAL3D,8BAAA,GACKyC,EAAKkB,IADA,IAERmhG,QAAU,SAAA51F,GACJA,EAAEy1F,UAAYC,OAASuS,OAAOj0G,EAAKU,MAAMsL,GAE7ChM,EAAK6F,MAAM,UAAWmG,MAInB7J,EAAEynF,EAAKrqF,EAAM8B,eAAQrF,W,gQC7G1BwqF,EAAatoF,eACjBC,OACA6vF,eAAmB,WACnBkmB,QAOa1tB,SAAW5qF,OAAO,CAC/BC,KAAM,YAENC,QAAO,WACL,MAAO,CACLslG,UAAWplG,KAAKolG,UAChB7sD,WAAYv4C,KAAKiqD,WAIrBhqD,MAAO,CACLk4G,UAAWh4G,QACXi4G,UAAWj4G,QACXE,KAAMF,QACN8pD,SAAU9pD,SAGZoD,KAAI,WACF,IAAMA,EAAwB,CAC5BkuF,UAAU,EACV9S,MAAO,GACP05B,QAAS,GACTC,WAAW,GAOb,OAJA/0G,EAAKg1G,kBAAkC,MAAdv4G,KAAKuB,MAC1BvB,KAAKuB,OACJgC,EAAK,IAAM,IAAI0hG,MAAQ,EAErB1hG,GAGT3C,SAAU,CACRC,QAAO,WACL,OAAAC,eAAA,CACE,kBAAmBd,KAAKK,KACxB,uBAAwBL,KAAKyxF,SAC7B,sBAAuBzxF,KAAKiqD,SAC5B,wBAAyBjqD,KAAKm4G,UAC9B,wBAAyBn4G,KAAKo4G,WAC3Bj2G,OAAOpB,QAAQH,SAASC,QAAQG,KAAKhB,QAG5C8F,OAAM,WACJ,OAAAhF,eAAA,GACKqB,OAAOpB,QAAQH,SAASkF,OAAO9E,KAAKhB,SAK7CgO,MAAO,CACLq+E,cAAa,SAAE3pF,EAAKuO,GAClBjR,KAAKs4G,UAAYjtG,OAAO3I,GAAO2I,OAAO4F,GAEtCA,IAAWjR,KAAKyxF,UAAW,GAE3BzxF,KAAKw4G,eAITv3G,QAAO,WAEDjB,KAAKqS,WAAW4N,OAClB7e,eAAS,SAAU,UAAWpB,OAIlC4T,QAAO,WACL5T,KAAKw4G,cAGP/2G,QAAS,CACP2wD,SAAQ,SAAEzwD,GACmB,mBAAvBA,EAAK82G,SAAS54G,KAChBG,KAAK2+E,MAAM50E,KAAKpI,GACgB,sBAAvBA,EAAK82G,SAAS54G,OACtB8B,EAAiC42C,WAAav4C,KAAKiqD,SACpDjqD,KAAKq4G,QAAQtuG,KAAKpI,KAGtB0wD,WAAU,SAAE1wD,GACiB,mBAAvBA,EAAK82G,SAAS54G,KAChBG,KAAK2+E,MAAQ3+E,KAAK2+E,MAAM1pE,QAAQ,SAAAqD,GAAD,OAA6BA,IAAM3W,KAClC,sBAAvBA,EAAK82G,SAAS54G,OACtB8B,EAAiC42C,WAAav4C,KAAKiqD,SACpDjqD,KAAKq4G,QAAUr4G,KAAKq4G,QAAQpjG,QAAQ,SAAAqD,GAAD,OAAgCA,IAAM3W,OAG7EyjG,UAAS,SAAEH,GAAqB,IAAAjhG,EAAA,KAC9BhE,KAAK6sF,WAAU,kBAAO7oF,EAAKqoF,cAAgB4Y,MAE7CuT,WAAU,WACR,IAAK,IAAI52G,EAAQ5B,KAAK2+E,MAAMn9E,SAAUI,GAAS,GAC7C5B,KAAK2+E,MAAM/8E,GAAO6D,OAAOzF,KAAKqsF,eAEhC,IAAK,IAAIzqF,EAAQ5B,KAAKq4G,QAAQ72G,SAAUI,GAAS,GAC/C5B,KAAKq4G,QAAQz2G,GAAO6D,OAAOzF,KAAKqsF,cAAsBrsF,KAAKs4G,aAKjEpyG,OAAM,SAAEC,GACN,OAAOA,EAAEnG,KAAK4tF,IAAK,CACjBpqF,YAAa,YACbC,MAAOzD,KAAKa,QACZgF,MAAO7F,KAAK8F,QACXT,eAAQrF,W,sPC9Ff,SAAS04G,EAAMh2G,GACb,IAAMkgB,EAAI,KACJ7D,EAAIpH,KAAKigC,IAAIl1C,GACnB,OAAOiV,KAAKrK,KAAK5K,IAAQqc,IAAM,EAAI6D,EAAI,IAAM,EAAI7D,GAAK,IAGlD,SAAU45F,EACdC,EACAjtC,EACAl6D,EACAonG,GAEA,IAAMpoD,EAAcmoD,EAAgBnoD,YAC9B+hB,EAAa/gE,EACdk6D,EAAO0sC,QAAUO,EAAgBpmC,WAAa/hB,EAC/CmoD,EAAgBpmC,WAEhB/gE,IACFonG,GAAuBA,GAGzB,IAAMzxB,EAAazb,EAAOmtC,QAAUD,EAC9BE,EAAatoD,EAAc+hB,EAC3BwmC,EAAiC,GAAdvoD,EAQzB,OANI+hB,GAAcqmC,EAChBA,EAAsBlhG,KAAKlH,IAAI+hE,EAAawmC,EAAkB,GACrD5xB,GAAc2xB,IACvBF,EAAsBlhG,KAAKnH,IAAIqoG,GAAuBzxB,EAAa2xB,EAAaC,GAAmBrtC,EAAO0sC,QAAU1sC,EAAOmtC,UAGtHrnG,GAAOonG,EAAsBA,EAGhC,SAAUI,EACdL,EACAjtC,EACAl6D,GAEA,IAAQ+gE,EAA4BomC,EAA5BpmC,WAAY/hB,EAAgBmoD,EAAhBnoD,YAEpB,GAAIh/C,EAAK,CACP,IAAMynG,EAAiBvtC,EAAO0sC,QAAU7lC,EAAa/hB,EAAc,EAAIkb,EAAOmtC,QAAU,EACxF,OAAQnhG,KAAKnH,IAAIm7D,EAAO0sC,QAAU1sC,EAAOmtC,QAASnhG,KAAKlH,IAAI,EAAGyoG,IAE9D,IAAMA,EAAiB1mC,EAAa/hB,EAAc,EAAIkb,EAAOmtC,QAAU,EACvE,OAAOnhG,KAAKnH,IAAIm7D,EAAO0sC,QAAU1sC,EAAOmtC,QAASnhG,KAAKlH,IAAI,EAAGyoG,IAI1D,IAAM5lB,EAAiBpxF,eAQ5BvC,OACAw5G,QAEAv5G,OAAO,CACPC,KAAM,mBAENkG,WAAY,CACVqzG,cACAlmG,cAGFjT,MAAO,CACLo5G,YAAa,CACX92G,KAAMC,OACNK,QAAS,wBAEXy2G,aAAcn5G,QACdwQ,SAAU,CACRpO,KAAMC,OACNK,QAAS,SAEXgO,SAAU,CACRtO,KAAMC,OACNK,QAAS,SAEX02G,WAAY,CACVh3G,KAAM,CAACpC,QAASqC,QAChBC,UAAY,SAAAsS,GAAD,MACI,mBAANA,GAAmB,CACxB,SACA,QACA,UACA,UACApS,SAASoS,MAKjBxR,KAAM,WAAF,MAAS,CACXi2G,eAAe,EACfC,cAAe,EACfp4D,OAAQ,EACRq4D,qBAAqB,EACrBC,WAAW,EACXnmB,aAAc,EACd7nB,OAAQ,CACN0sC,QAAS,EACTS,QAAS,KAIbl4G,SAAU,CACRg5G,SAAQ,WACN,MAAyB,qBAAXt6E,QAEhBu6E,aAAY,WACV,OAAO75G,KAAK85G,cAAc,SAE5BC,aAAY,WACV,OAAO/5G,KAAK85G,cAAc,SAE5Bj5G,QAAO,WACL,OAAAC,8BAAA,GACKnB,OAAcoB,QAAQH,SAASC,QAAQG,KAAKhB,OAD1C,IAEL,iBAAiB,EACjB,6BAA8BA,KAAKg6G,WACnC,gCAAiCh6G,KAAKw5G,iBAG1CQ,WAAU,WACR,OAAQh6G,KAAKu5G,YAEX,IAAK,SAAU,OAAO,EAGtB,IAAK,UAAW,OAAQv5G,KAAKi6G,SAI7B,KAAK,EAAM,OAAOj6G,KAAKw5G,eAAiB7hG,KAAKigC,IAAI53C,KAAKwzF,cAAgB,EAGtE,IAAK,SAAU,OACbxzF,KAAKi6G,UACJj6G,KAAKw5G,eAAiB7hG,KAAKigC,IAAI53C,KAAKwzF,cAAgB,EAIvD,IAAK,QAAS,OAAO,EAKrB,QAAS,OACNxzF,KAAKi6G,WACLj6G,KAAKw5G,eAAiB7hG,KAAKigC,IAAI53C,KAAKwzF,cAAgB,KAI3D0mB,QAAO,WACL,IAAKl6G,KAAKg6G,WAAY,OAAO,EAE7B,IAAAG,EAA6Bn6G,KAAK2rE,OAA1B0sC,EAAF8B,EAAE9B,QAASS,EAAAqB,EAAArB,QAGjB,OAAOT,EAAU1gG,KAAKigC,IAAI53C,KAAKwzF,cAAgBslB,GAEjDsB,QAAO,WACL,OAAOp6G,KAAKg6G,YAAoC,IAAtBh6G,KAAKwzF,eAInCxlF,MAAO,CACLq+E,cAAe,YAIfmtB,cAAe,YACfhmB,aAAY,SAAE9wF,GACR1C,KAAKsE,SAASmN,MAAK/O,GAAOA,GAE9B,IAAI23G,EACF33G,GAAO,EACHg2G,GAAMh2G,GACNA,EAAM1C,KAAK2rE,OAAO0sC,QAAUr4G,KAAK2rE,OAAOmtC,UACpC94G,KAAK2rE,OAAO0sC,QAAUr4G,KAAK2rE,OAAOmtC,SAAWJ,EAAK14G,KAAK2rE,OAAO0sC,QAAUr4G,KAAK2rE,OAAOmtC,QAAUp2G,IAC/FA,EAEL1C,KAAKsE,SAASmN,MAAK4oG,GAAUA,GAEjCr6G,KAAK+L,MAAMssG,QAAQxyG,MAAM0mG,UAAzB,cAAA5oG,OAAmD02G,EAAM,SAI7DzmG,QAAO,eAAA5P,EAAA,KACL,GAA8B,qBAAnBs2G,eAAgC,CACzC,IAAMC,EAAM,IAAID,gBAAe,WAC7Bt2G,EAAKi7D,cAEPs7C,EAAIC,QAAQx6G,KAAKwa,KACjB+/F,EAAIC,QAAQx6G,KAAK+L,MAAMssG,SACvBr4G,KAAKmiB,IAAI,kBAAkB,WACzBo4F,EAAIE,oBAED,CACL,IAAIC,EAAc,EAClB16G,KAAKmiB,IAAI,qBAAqB,W,MAC5Bu4F,IAAiC,QAAlBpuB,EAAAtoF,EAAK+H,MAAMssG,eAAO,IAAA/rB,OAAA,EAAAA,EAAElnF,WAAY,IAAI5D,UAErDxB,KAAKmiB,IAAI,gBAAgB,W,MACnBu4F,MAAmC,QAAlBpuB,EAAAtoF,EAAK+H,MAAMssG,eAAO,IAAA/rB,OAAA,EAAAA,EAAElnF,WAAY,IAAI5D,QACzDwC,EAAK22G,iBAKXl5G,QAAS,CACPiuD,SAAQ,WACN1vD,KAAK+L,MAAM+sG,QAAQrpD,WAAa,GAElCmrD,UAAS,SAAE5qG,GACT,GAAKhQ,KAAKw5G,cAAV,CAGA,IACAqB,EADAC,EAAAC,eACiBC,eAAahrG,IAA9B,QAAA8qG,EAAA9mF,MAAA6mF,EAAAC,EAAAxoF,KAAA2oF,MAAkC,KAChCC,EADSjsD,EAAX4rD,EAAAt5G,MAAA45G,EAAAJ,eACmB/6G,KAAKwoD,OAAtB,QAAA2yD,EAAAnnF,MAAAknF,EAAAC,EAAA7oF,KAAA2oF,MAA6B,KAAlBvmE,EAAXwmE,EAAA35G,MACE,GAAImzC,EAAGl6B,MAAQy0C,EAOb,YANAjvD,KAAKwzF,aAAemlB,EAClBjkE,EAAGl6B,IACHxa,KAAK2rE,OACL3rE,KAAKsE,SAASmN,IACdzR,KAAKwzF,gBAIV,MAAA3oE,GAAAswF,EAAAnrG,EAAA6a,GAAA,QAAAswF,EAAAhxF,MACF,MAAAU,GAAAiwF,EAAA9qG,EAAA6a,GAAA,QAAAiwF,EAAA3wF,OAGHixF,QAAO,eAAAtpG,EAAA,KACC+N,EAAO7f,KAAKuF,aAAa8D,KAC3BrJ,KAAKuF,aAAa8D,KAAK,IACvBhE,eAAQrF,KAAM,SAAWA,KAAK65G,aAElC,OAAO75G,KAAK8D,eAAe,MAAO,CAChCN,YAAa,sBACbC,MAAO,CACL,iCAAkCzD,KAAKk6G,SAEzCz1G,GAAI,CACFC,MAAO,WAAF,OAAQoN,EAAKupG,aAAa,UAEjCxuG,IAAK,QACJ,CAACgT,KAENva,WAAU,WACR,OAAOtF,KAAK8D,eAAe,MAAO,CAChCN,YAAa,yBACb4H,IAAK,UACL3G,GAAI,CACF62G,QAASt7G,KAAK46G,YAEfv1G,eAAQrF,QAEbyzF,QAAO,WACL,MAAO,CACLhwF,MAAOzD,KAAKa,QACZkF,WAAY,CAAC,CACXlG,KAAM,SACN0B,MAAOvB,KAAKi/D,aAIlBomC,QAAO,SAAE3K,GACP,IAAIx3F,EAAOw3F,EAEP16F,KAAKsE,SAASmN,KAAoB,SAAbipF,EACvBx3F,EAAO,OACElD,KAAKsE,SAASmN,KAAoB,SAAbipF,IAC9Bx3F,EAAO,QAGT,IAAMq4G,EAAgB,GAAH53G,OAAM+2F,EAAS,GAAGh+E,eAAa/Y,OAAG+2F,EAASjoF,MAAM,IAC9D+oG,EAAYx7G,KAAA,MAAA2D,OAAmB43G,IAErC,OACGv7G,KAAKu5G,YACLiC,EAGIx7G,KAAK8D,eAAea,OAAO,CAChC1E,MAAO,CACLG,UAAWo7G,IAEXx7G,KAAA,GAAA2D,OAAgBT,EAAI,UANf,MASXu4G,QAAO,eAAAhmG,EAAA,KACCoK,EAAO7f,KAAKuF,aAAa6D,KAC3BpJ,KAAKuF,aAAa6D,KAAK,IACvB/D,eAAQrF,KAAM,SAAWA,KAAK+5G,aAElC,OAAO/5G,KAAK8D,eAAe,MAAO,CAChCN,YAAa,sBACbC,MAAO,CACL,iCAAkCzD,KAAKo6G,SAEzC31G,GAAI,CACFC,MAAO,WAAF,OAAQ+Q,EAAK4lG,aAAa,UAEjCxuG,IAAK,QACJ,CAACgT,KAENi6F,cAAa,SAAEpf,GACb,OAAO16F,KAAK8D,eAAe43G,OAAiB,CAAC17G,KAAKqlG,QAAQ3K,MAE5Dv1F,WAAU,eAAA4a,EAAA,KACR,OAAO/f,KAAK8D,eAAe,MAAO,CAChCN,YAAa,yBACbuC,WAAY,CAAC,CACXlG,KAAM,QACN0B,MAAO,CACLyN,MAAQ,SAAAgB,GAAD,OAAmB+P,EAAK47F,cAAc3rG,EAAG+P,EAAK67F,eACrDC,KAAO,SAAA7rG,GAAD,OAAmB+P,EAAK47F,cAAc3rG,EAAG+P,EAAK+7F,cACpD1gE,IAAM,SAAAprC,GAAD,OAAmB+P,EAAK47F,cAAc3rG,EAAG+P,EAAKg8F,gBAGvD3wG,IAAK,UACL3G,GAAI,CACF41G,OAAQr6G,KAAK0vD,WAEd,CAAC1vD,KAAKsF,gBAEX02G,mBAAkB,SAAEpxE,EAA4B+gC,EAAgBl6D,EAAconG,GAC5E,IAAMvrG,EAAOmE,GAAO,EAAI,EAClBwqG,EAAoB3uG,EAAOurG,GAChB,SAAdjuE,GAAwB,EAAI,GAAK+gC,EAAOmtC,QAE3C,OAAOxrG,EAAOqK,KAAKlH,IAAIkH,KAAKnH,IAAIyrG,EAAmBtwC,EAAO0sC,QAAU1sC,EAAOmtC,SAAU,IAEvFuC,aAAY,SAAE3gB,GACZ16F,KAAK6J,MAAL,SAAAlG,OAAoB+2F,IACpB16F,KAAKk8G,SAASxhB,IAEhBz7B,SAAQ,WAEFj/D,KAAKm8G,cAETn8G,KAAK26G,aAEPiB,aAAY,SAAE5rG,GACZ,IAAQqoG,EAAYr4G,KAAK+L,MAAjBssG,QAERr4G,KAAKqhD,OAASrhD,KAAKwzF,aAAexjF,EAAEosG,YAEpC/D,EAAQxyG,MAAMmlC,YAAY,aAAc,QACxCqtE,EAAQxyG,MAAMmlC,YAAY,aAAc,cAE1C8wE,YAAW,SAAE9rG,GACX,GAAKhQ,KAAK45G,SAAV,CAEA,IAAK55G,KAAK25G,UAAW,CAGnB,IAAM0C,EAAQrsG,EAAEssG,WAAatsG,EAAEosG,YACzBG,EAAQvsG,EAAEwsG,WAAaxsG,EAAEysG,YAC/Bz8G,KAAK05G,oBAAsB/hG,KAAKigC,IAAIykE,GAAS1kG,KAAKigC,IAAI2kE,GACtDv8G,KAAK25G,WAAY,EAGf35G,KAAK05G,sBAEP15G,KAAKwzF,aAAexzF,KAAKqhD,OAASrxC,EAAEssG,WAEpCvrF,SAAS2rF,gBAAgB72G,MAAM82G,UAAY,YAG/CZ,WAAU,WACR,GAAK/7G,KAAK45G,SAAV,CAEA,IAAAgD,EAA6B58G,KAAK+L,MAA1BssG,EAAFuE,EAAEvE,QAASS,EAAA8D,EAAA9D,QACX+D,EAAkBxE,EAAQ5nD,YAAcqoD,EAAQroD,YAEtD4nD,EAAQxyG,MAAMmlC,YAAY,aAAc,MACxCqtE,EAAQxyG,MAAMmlC,YAAY,aAAc,MAEpChrC,KAAKsE,SAASmN,IAEZzR,KAAKwzF,aAAe,IAAMxzF,KAAKw5G,cACjCx5G,KAAKwzF,aAAe,EACXxzF,KAAKwzF,eAAiBqpB,IAC/B78G,KAAKwzF,cAAgBqpB,GAInB78G,KAAKwzF,aAAe,IAAMxzF,KAAKw5G,cACjCx5G,KAAKwzF,aAAe,EACXxzF,KAAKwzF,cAAgBqpB,IAC9B78G,KAAKwzF,aAAeqpB,GAIxB78G,KAAK25G,WAAY,EAEjB5oF,SAAS2rF,gBAAgB72G,MAAMi3G,eAAe,gBAEhDnB,cAAa,SAAE3rG,EAAelD,GAC5BkD,EAAEwB,kBACFxR,KAAKw5G,eAAiB1sG,EAAGkD,IAE3B+sG,eAAe,WACb,IAAK/8G,KAAKs0F,cAAgBt0F,KAAKwoD,MAAMhnD,OAAQ,CAC3C,IAAMw7G,EAAmBh9G,KAAKwoD,MAAMxoD,KAAKwoD,MAAMhnD,OAAS,GAAGgZ,IAAI6sD,wBACzD41C,EAAkBj9G,KAAK+L,MAAM+sG,QAAQzxC,yBAGxCrnE,KAAKsE,SAASmN,KAAOwrG,EAAgBpnG,MAAQmnG,EAAiBnnG,QAC7D7V,KAAKsE,SAASmN,KAAOwrG,EAAgBtnG,KAAOqnG,EAAiBrnG,OAE/D3V,KAAKk8G,SAAS,QAIbl8G,KAAKs0F,eAKe,IAAvBt0F,KAAKk9G,gBACHl9G,KAAKs5G,eAAiBt5G,KAAKw5G,cAE7Bx5G,KAAKwzF,aAAe,EACXxzF,KAAKs5G,aACdt5G,KAAKwzF,aAAeylB,EAClBj5G,KAAKs0F,aAAa95E,IAClBxa,KAAK2rE,OACL3rE,KAAKsE,SAASmN,KAEPzR,KAAKw5G,gBACdx5G,KAAKwzF,aAAemlB,EAClB34G,KAAKs0F,aAAa95E,IAClBxa,KAAK2rE,OACL3rE,KAAKsE,SAASmN,IACdzR,KAAKwzF,iBAIX0oB,SAAS,SAA4BxhB,GACnC16F,KAAKwzF,aAAexzF,KAAKg8G,mBAAmBthB,EAAU,CAEpD2d,QAASr4G,KAAK+L,MAAMssG,QAAUr4G,KAAK+L,MAAMssG,QAAQ5nD,YAAc,EAC/DqoD,QAAS94G,KAAK+L,MAAM+sG,QAAU94G,KAAK+L,MAAM+sG,QAAQroD,YAAc,GAC9DzwD,KAAKsE,SAASmN,IAAKzR,KAAKwzF,eAE7BmnB,UAAS,eAAAx6F,EAAA,KACPmf,OAAOsO,uBAAsB,WAC3B,IAAIztB,EAAKg8F,aAAT,CAEA,IAAAgB,EAA6Bh9F,EAAKpU,MAA1BssG,EAAF8E,EAAE9E,QAASS,EAAAqE,EAAArE,QAEjB34F,EAAKwrD,OAAS,CACZ0sC,QAASA,EAAUA,EAAQ5nD,YAAc,EACzCqoD,QAASA,EAAUA,EAAQroD,YAAc,GAM3CtwC,EAAKq5F,cAAgBr5F,EAAKwrD,OAAOmtC,QAAU,EAAI34F,EAAKwrD,OAAO0sC,QAE3Dl4F,EAAK48F,uBAKX72G,OAAM,SAAEC,GACN,OAAOA,EAAE,MAAOnG,KAAKyzF,UAAW,CAC9BzzF,KAAKy7G,UACLz7G,KAAKmF,aACLnF,KAAKo7G,eAKI9nB,SAAe1zF,OAAO,CACnCC,KAAM,gBAENC,QAAO,WACL,MAAO,CACLs9G,WAAYp9G,U,oCCphBlB,W,wLCAA,W,oCCAA,W,oCCAA,gBAGe6lG,e,oCCHf,wHAKMwX,EAAiBC,eAAuB,qBACxCC,EAAgBD,eAAuB,oBAYzCE,OACAC,OACAC,Q,uBCpBJ,IAAIvtG,EAAM,CACT,iBAAkB,OAClB,uBAAwB,OACxB,yBAA0B,OAC1B,oBAAqB,OACrB,gBAAiB,OACjB,yBAA0B,OAC1B,mBAAoB,OACpB,eAAgB,OAChB,uBAAwB,OACxB,iBAAkB,QAInB,SAASwtG,EAAeC,GACvB,IAAI3yG,EAAK4yG,EAAsBD,GAC/B,OAAOE,EAAoB7yG,GAE5B,SAAS4yG,EAAsBD,GAC9B,IAAIE,EAAoBC,EAAE5tG,EAAKytG,GAAM,CACpC,IAAI5tG,EAAI,IAAI/D,MAAM,uBAAyB2xG,EAAM,KAEjD,MADA5tG,EAAE6/E,KAAO,mBACH7/E,EAEP,OAAOG,EAAIytG,GAEZD,EAAevrG,KAAO,WACrB,OAAOjL,OAAOiL,KAAKjC,IAEpBwtG,EAAez0E,QAAU20E,EACzB3rF,EAAOC,QAAUwrF,EACjBA,EAAe1yG,GAAK,Q,oCC/BpB,wCAOe/I,sBACb87G,OACAnI,eAAiB,eAEjBj2G,OAAO,CACPC,KAAM,kB,2MCGO4O,cAAI7O,OAAO,CACxBC,KAAM,oBAENo+G,YAAY,EAEZl4G,WAAY,CACVm4G,eAGFj+G,MAAKa,6CAAA,GACAuP,OAAUtP,QAAQd,OAClBiF,OAAUnE,QAAQd,OAFhB,IAGLG,SAAUD,QACVskG,OAAQ,CACNliG,KAAMpC,QACN0C,SAAS,GAEXtB,MAAOpB,QACPg+G,cAAeh+G,QACfi+G,kBAAmB,CACjB77G,KAAMC,OACNK,QAAS,0BAEXkzG,OAAQ,CACNxzG,KAAMC,OACNK,QAAS,eAEXizG,QAAS,CACPvzG,KAAMC,OACNK,QAAS,kBAIbqD,OAAM,SAAEC,EAAFyb,GAA+B,IAAxB3hB,EAAF2hB,EAAE3hB,MAAOsD,EAATqe,EAASre,KACZ6B,GADkBwc,EAAA2sB,UACP,IACbrrC,EAAOjD,EAAM61G,QAYjB,GAXI71G,EAAMk+G,cAAej7G,EAAOjD,EAAMm+G,kBAC7Bn+G,EAAMsB,QAAO2B,EAAOjD,EAAM81G,QAEnC3wG,EAAS2E,KAAK5D,EAAExB,OAAO0L,OAAUtP,QAAQU,QAAQwE,aAAahG,EAAMsB,OAAStB,EAAMgE,MAAO,CACxFhE,MAAO,CACLG,SAAUH,EAAMG,SAChB8N,KAAMjO,EAAMiO,KACZqD,MAAOtR,EAAMsR,SAEbrO,IAEAjD,EAAMwkG,SAAWxkG,EAAMG,SAAU,CACnC,IAAMqkG,EAASt+F,EAAE,MAAOkK,OAAUtP,QAAQU,QAAQwE,aAAahG,EAAMgE,MAAO,CAC1ET,YAAa,sCACbuC,WAAY,CAAC,CACXs4G,IAAKH,OACLr+G,KAAM,SACN0B,MAAO,CAAEs7C,QAAQ,QAIrBz3C,EAAS2E,KAAK06F,GAGhB,OAAOt+F,EAAE,MACPm4G,eAAU/6G,EAAM,CACdE,MAAO,CACL,qBAAqB,EACrB,8BAA+BxD,EAAMG,UAEvCqE,GAAI,CACFC,MAAQ,SAAAsL,GACNA,EAAEwB,kBAEEjO,EAAKkB,IAAMlB,EAAKkB,GAAGwb,QAAUhgB,EAAMG,UACrC2c,eAAYxZ,EAAKkB,GAAGwb,OAAOiZ,SAAQ,SAAA/O,GAAC,OAAIA,GAAGlqB,EAAMsB,cAIrD,CACF4E,EAAE,MAAO,CAAE3C,YAAa,sCAAwC4B,S,yGC3FuL,EAAK,W,IAK9O5B,OAAwB,EAAK,QAAM,G,OAACA,QAAY,8BAAmC,YAAK,sCAAmBa,GAAM,+B,YAAY,yBAAe,mGAKV,kFAAgJb,OAAhJ,0B,MAAM,CAAqEyd,OAAW,mCAL5E,SAACxc,YAAG,a,CAAC,SAA6C,gDAAG,CAAC8B,EAAG,kBAAe,CAAC/C,OAAmCa,UAAM,a,GAA4C,CAAuC,6CAAK,iBAAgBsC,C,YAAkB,uB,MAAkC,CAA2B,uCAAI,mBAAoB,EAAGA,iB,GAAgD,CAAgB,8BAACyd,cAAM,gBAAC7iB,WAAWg9G,iB,GAAqD,EAACA,yBAA2B,mB,MAAC,CAACt9F,WAAW,IAA2B,MAAK,CAA4C,MAAC,0BAAC,SAAQta,SAAI63G,GAAW,6BAAiBn6G,WAAM,4B,CAAa,SAAQ,uBAAS,IAAIsC,MAAO,gB,CAAiE,SAAS,CAAwB,OAAI,KAAO,KAAmBnD,MAAW,YAA+Ea,GAAK,GAAC,iD,MAAC,CAAiC,kCAAcb,QAAY,gBAAmB,YAAY,+BAAEa,CAAM,GAANA,EAAK,gBAAC,kB,MAAM,CAAW,UAAa,uBAAyC,QAAQ,CAAI,gCAAG,CAACkC,EAAG,OAAKI,CAKvrCtC,MAAM,CAAC,IAAM,UAAoC,kBAAG,IAAO,8BAAa0B,MAAU,QAAe+a,MAAO,CAAC,OAAQ,gDAA4J,SAAY,WAAW,EAACtd,YAAuE+C,QAAG,SAAsBlC,MAAM,wDAAC,WAAS,0DAAU,YAAI,aAAsBA,GAAK,MAAC,C,YAAU,0DAAO,yBAAG,MAAKkC,CAAU/C,OAAW,WAAuCa,EAAK,qBAAC,C,MAAC,CAAe,mBAChlB,YACG4C,wBAEJ,GAASf,qBAAQe,C,oCATsH,oB,qHCLnIf,EAAS,WAAkB,IAAIS,EAAI3G,KAAKuG,EAAGI,EAAI4D,MAAMhE,GAAG,OAAOA,EAAG,MAAM,CAAC/C,YAAY,wBAAwB,CAAC+C,EAAG,MAAM,CAAC/C,YAAY,wCAAwC,CAAC+C,EAAG,MAAM,CAAC/C,YAAY,iBAAiBa,MAAM,CAAC,IAAM,gBAAgB,IAAM,iCAAiCkC,EAAG,MAAM,CAAC/C,YAAY,wCAAwC,CAAC+C,EAAG,MAAM,CAAC/C,YAAY,sCAAsC,CAAC+C,EAAG,KAAK,CAACI,EAAID,GAAG,IAAIC,EAAI6F,GAAG7F,EAAIuB,GAAG,+BAA+B,OAAO3B,EAAG,KAAK,CAACI,EAAID,GAAG,IAAIC,EAAI6F,GAAG7F,EAAIuB,GAAG,yCAA0C,CAACvB,EAAIqc,QAAQ,SAASzc,EAAG,IAAI,CAACI,EAAID,GAAG,IAAIC,EAAI6F,GAAG7F,EAAIuB,GAAG,8CAA+C,CAACvB,EAAIqc,QAAQ,cAE3pB/b,EAAkB,GCwBP,GACfpH,KAAA,qBAEAI,MAAA,CACA+iB,KAAA,CAAA5b,UAAA,EAAA7E,KAAAC,UC9B0W,I,wBCQtW8H,EAAY,eACd,EACA,EACA,GACA,EACA,KACA,WACA,MAIa,EAAAA,E,QCnB6B/D,G,yCAAOgE,WAAS,MAAU,KAAiB/G,UAAY,GAAQ,OAAM,QAAM,UAACme,YAAY,U,CAAC,QAAQ,CAAM,aAAIpb,MAAG,S,CAAsB1G,UAAK,C,WAAgB,EAAU0B,KAAK,QAAgB0f,kBAAuB,iBAACzd,WAAY,a,YAAc,OAAyC,MAAC,CAAC8K,YAAS,2BAAuB,SAAC,CAAG,MAAC,Y,GAA0B,C,MAAsCmwG,SAAgBlxG,GAAY,qBAAC,+BAAsClJ,EAAK,OAAC,C,YAAQ,S,MAAK,CAAiB,UAAIsC,MAAO,Y,CAAyD9G,EAAI,GAAC,kBAAO,wB,WAAS,EAAU0B,KAAK,QAAY0f,kBAAmB,aAACzd,WAAY,S,YAAoB,O,GAAiB,C,OAAkF,SAAiB,OAAG2M,EAAe,0DAAC,OAAO,cAAsC,cAAU,GAAE,oCAAExJ,OAAQ,KAA2D,mCAE/6B,EAAE,KAAShF,UAAK,oBAAC,OAAO4E,EAAG,cAAS,sBAACsG,SAAS5B,G,OAAGqD,EAAQ,SAAC,C,IAAC,EAAO,GAAQ,UAAI3H,MAAO,EAAIA,KAA4CnD,MAAW,IAAC,EAAQ,sBAACa,GAAK,EAAC,Q,YAAQ,S,MAAK,CAAiB,UAAIsC,MAAO,Y,CAAoD,4BAA0B,qB,MAAC,CAAwB,yBAAG,MAAC,eAAgC,IAAI,aAAS+3G,mBAAsDn4G,GAAG,EAAK,aAAcG,EAAGC,MAAOA,CAA0DnD,YAAY,iBAAY,CAAC+C,EAAG,MAAM,CAAC,EAACI,IAAO,GAAK,GAACA,EAAI6F,GAAG7F,EAAI83G,sBAAmB,EAAI,SAAO93G,OAAIg4G,QAAe,CAAYn7G,YAAY,YAAkB,CAAEmD,EAAG,OAAC83G,CAAQ,EAACj9G,GAAM,KAAK,EAAM,GAAEmF,EAAID,UAAUC,SAAW,EAAI,KAAK,EAAI,gBAAc,EAAM,MAAMD,CAAwFlD,YAAY,kBAAY,CAAEmD,EAAI83G,SAASj9G,OAAM,EAAImF,OAAIg4G,aAAoB,EAAM,KAAK,EAAG,IAAK,CAAC,EAAEh4G,GAAG,WAAS,EAAI,kFAACnD,YAAY,YAAa,CAACmD,EAAID,SAAOC,QAAU,EAAI,gBAAkB,EAAE,OAASA,GAAIi4G,UAAO,EAASC,OAAQvsD,IAAI,CAAC,YAAU,a,CAAOzlD,EAAG,GAACgyG,IAAO,2D,OAACr7G,QAAY,CAAW,IAAM,EAAqH,YAAW,YAA2BA,SAAY,UAAa,2EAAG,GAAC,8B,YAASmD,cAAe,IAAIA,MAAO,EAAIA,c,CAAwD,KAAM,IAAK,0C,MAAC,CAAiB,UAAIA,MAAO,YAA8D,CAACJ,EAAG,mBAAmBG,OAAS,EAACC,MAAO,CAAmEnD,YAAY,iBAAciB,CAAE,EAAC,0F,YAASkC,cAAe,IAAIA,MAAO,EAAIA,c,CAAgE,KAAM,IAAK,kD,MAAC,CAAiB,UAAIA,MAAO,YAA4DlC,CAAE,EAAC,oC,YAASkC,cAAe,IAAIA,MAAO,EAAIA,c,CAAgE,KAAM,IAAK,kD,MAAC,CAAiB,UAAIA,MAAO,YAEt8DM,oBAAoB,W,8GCJgJ,W,MAAmCzD,K,EAAmB,EAAC,MAAQ,G,SAA2Ea,OAAM,C,aAAa,O,YAAyBqC,EAAG,KAAoB,gBAAG,GAAC,YAAC0d,IAAM,OAAC7iB,EAAWsgB,EAAO,MAACC,MAAQ,CAAC,WAATA,EAAQA,GAAWiE,EAAK,IAACpf,YAAWof,QAAI,iEAAC9E,MAAU,CAAS,UAAO,MAAU1a,YAA+E,GAAQI,GAAInB,yBAAsBnB,MAAM,CAAC,MAAM,EAAC,OAAK,SAAQ,YAAS,YAA2EA,WAAM,W,CAAgB,SAAS,2D,GAAC,CAAc,gB,CAAQ9C,SAAU,C,MAAQugB,C,KAA6Bg9F,KAAS,MAAC,YAAmB,+CAAE,MAAOl3F,CAAuIvjB,UAAM,GAAC,KAAO,GAAI,a,MAAqD,CAAwB,cAAuB,SAAS,YAAC,EAAK,MAAC,GAAM+f,WAAM,U,CAAiBtC,YAAS,EAATA,OAAwB,6C,MAAI,CAAQ,KAAC,IAACb,cAAW,UAAK,6BAAI,cAAYhU,UAA6BzJ,cAAY,SAAU+C,IAAG,IAA8I,IAAS,M,MAAoB/C,CAAwB,MAAK,MAASuC,SAAU,SAAE,GAAClG,EAAI,IAAC,G,WAAoC,UAA2B,IAAC,oB,YAAO,S,GAAC,OAAO,4E,OAAW,SAACyO,M,YAAkBuwG,a,CAAQ,UAAUx9G,CAAiE,WAAC,EAAG,KAAC,QAAC,QAAQ,U,MAAsB09G,EAAG,M,WAAgB/5F,U,MAA8C,C,KAA2Be,Y,SAAmCi5F,C,MAAiB,E,QAAsC,mD,WAAoE,Y,IAACr4G,EAAIi4G,EAAMK,MAAG,WAAC,cAAC,qBAAQv4G,IAAG,EAAIC,EAAgC,EAAI,EAAG,GAAG,EAAC,GAA0C,EAAC,QAAW,6BAAkB,uDAAuF,cAA8EtC,EAAM,yBAAC,QAAO,IAAI,yB,YAAS,QAAS,IAAIsC,MAAO,UAErxEM,UAAe,GAAG,EAAE,sCAExB,YAAiBA,Q,6KC8DF,GACfhH,MAAA,CACAi/G,UAAA,CAAA38G,KAAAlB,MAAA+F,UAAA,GACAupC,MAAA,CAAApuC,KAAApC,QAAAiH,UAAA,IAGA7D,KAAA,WACA,OACAu7G,MAAA,MACAj9F,QAAA,EACA+8F,MAAA,GACAO,IAAA,SAIAvrG,QAAA,WACAyb,eAAAjc,OAAAgsG,UAAAC,wBAGA59G,QAAA,CACAgvB,MAAA,WACApB,eAAAjc,OAAAgsG,UAAAE,wBACA,KAAAz1G,MAAA,oBAAAs1G,IAAA,KAAAP,OACA,KAAA/8F,QAAA,GAEArc,MAAA,WACA,KAAAqc,QAAA,IAIAjhB,SAAAE,eAAA,GACAyG,eAAA,wBAGAyG,MAAA,CACA2iC,MAAA,SAAApvC,IACA,IAAAA,IACA,KAAAq9G,MAAA,GACA,KAAAO,IAAA,OACA,KAAAt1G,MAAA,oBAAAs1G,IAAA,KAAAP,WCzGmW,ICQ/V,G,UAAY,eACd,EACA,EACA,GACA,EACA,KACA,WACA,OAIa,I,QCnBFW,G,oBAA0B,SAACtoF,GACtC,OAAOA,EACJhZ,QAAQ,IAAK,KACbA,QAAQ,IAAK,KACbA,QAAQ,IAAK,KACbA,QAAQ,IAAK,KACbA,QAAQ,IAAK,KACbA,QAAQ,IAAK,KACbA,QAAQ,IAAK,KACbA,QAAQ,IAAK,KACbA,QAAQ,IAAK,KACbA,QAAQ,IAAK,KACbA,QAAQ,IAAK,KACbA,QAAQ,IAAK,O,YCwEH,GACf/Q,WAAA,CACAsyG,eAGAv/G,MAAA,CACAm/G,UAAA,CAAA78G,KAAAlB,MAAA+F,UAAA,IAGA7D,KAAA,WACA,OACAk8G,2BAAA,GACAxpG,KAAA,EACAypG,gBAAA,GACAC,UAAA,CACA,CACA10G,GAAA,EACAozC,MAAA,KAAAn2C,GAAA,6BACA03G,OAAA,WACA3/C,MAAA,MACAj9C,KAAA,CAAA68F,OAAAC,QAAAD,OAAAE,QAEA,CACA90G,GAAA,EACAozC,MAAA,KAAAn2C,GAAA,6BACA03G,OAAA,WACA3/C,MAAA,OACAj9C,KAAA,CAAA68F,OAAAC,QAAAD,OAAAE,QAEA,CACA90G,GAAA,EACAozC,MAAA,KAAAn2C,GAAA,0BACA03G,OAAA,MACA3/C,MAAA,MACAj9C,KAAA,CAAA68F,OAAAC,UAEA,CACA70G,GAAA,EACAozC,MAAA,KAAAn2C,GAAA,2BACA03G,OAAA,MACA3/C,MAAA,OACAj9C,KAAA,CAAA68F,OAAAC,UAEA,CACA70G,GAAA,EACAozC,MAAA,KAAAn2C,GAAA,yBACA03G,OAAA,QACA3/C,MAAA,MACAj9C,KAAA,CAAA68F,OAAAC,QAAAD,OAAAE,QAEA,CACA90G,GAAA,EACAozC,MAAA,KAAAn2C,GAAA,yBACA03G,OAAA,QACA3/C,MAAA,OACAj9C,KAAA,CAAA68F,OAAAC,QAAAD,OAAAE,SAGAZ,IAAA,OACAP,MAAA,GACAH,SAAA,GACAuB,kBAAA,GACAd,UAAA,GACAe,aAAA,EACAC,iBAAA,EACAC,QAAA,OAIAvsG,QAAA,WACA,KAAAosG,kBAAA,KAAAZ,UACA,KAAAgB,cACA,KAAAC,iBAGAryG,MAAA,CACAoxG,UAAA,SAAA79G,EAAAkd,GACAld,GAAAkd,IACA,KAAAuhG,kBAAA,KAAAZ,UACA,KAAAgB,gBAGAnqG,KAAA,WACA,KAAAqqG,aAEA7B,SAAA,SAAAl9G,EAAAkd,GAAA,IAAAza,EAAA,KACAzC,EAAAC,QAAA,GAAAid,EAAAjd,QACA6tB,eAAAjc,OAAAgsG,UAAAmB,6BAEAh/G,EAAAC,OAAA,GACAymG,aAAA,KAAAkY,SACA,KAAAA,QAAA7lG,YAAA,kBAAAtW,EAAAiR,WAAA,MACA,IAAA1T,EAAAC,QACA,KAAAyT,WAKAxT,QAAA,CACA6+G,UAAA,WACA,IAAA3+G,EAAA,KAAAg+G,UAAA,KAAA1pG,MACA,OAAAtU,EAAAi+G,QACA,eACA,KAAAY,eACA,MACA,UACA,KAAAC,UACA,MACA,YACA,KAAAC,YACA,MAEA,SAAA/+G,EAAAs+D,OACA,KAAAy/C,gBAAAt/E,UAEA,KAAAugF,kBACA,KAAAC,uBAEAA,oBAAA,WACA,KAAAV,iBACA,KAAAW,qBACA,KAAApB,2BAAA,KAAAC,iBAEA,KAAAD,2BAAA,KAAAC,gBAAAzqG,QACA,SAAAtT,GAAA,WAAAA,EAAA8F,SAGA,KAAAoC,MAAA,2BAAA41G,6BAEAqB,aAAA,SAAA3B,EAAAP,GACA,KAAAO,MACA,KAAAP,QACA,KAAA3pG,UAEAmrG,YAAA,WACA,KAAAH,aAAA,EACA,KAAAP,gBAAA,KAAAM,kBACA,KAAAM,aAEAS,YAAA,WACA,KAAAd,aAAA,EACA,KAAAxB,SAAA,GACApvF,eAAAjc,OAAAgsG,UAAA4B,+BAEAL,gBAAA,WACA,KAAAjB,gBAAA,KAAAA,gBAAAzpG,MACA,SAAAkf,EAAAf,GAAA,OAAAA,EAAA6sF,YAAA9rF,EAAA8rF,gBAGAJ,mBAAA,WACA,KAAAnB,gBAAA,KAAAA,gBAAAzpG,MACA,SAAAkf,EAAAf,GAAA,OAAAA,EAAA3sB,MAAA0tB,EAAA1tB,UAGA+4G,aAAA,WACA,KAAAd,gBAAA,KAAAA,gBAAAzpG,MAAA,SAAAkf,EAAAf,GAAA,OACAe,EAAA9T,SAAA6/F,cAAA9sF,EAAA/S,cAGAq/F,UAAA,WACA,KAAAhB,gBAAA,KAAAA,gBAAAzpG,MAAA,SAAAkf,EAAAf,GAAA,OACAe,EAAAgsF,iBAAAD,cAAA9sF,EAAA+sF,sBAGAV,QAAA,WACA,KAAAf,gBAAA,KAAAA,gBAAAzpG,MACA,SAAAkf,EAAAf,GAAA,OAAAe,EAAAisF,MAAAhtF,EAAAgtF,UAGAnsG,OAAA,eAAAnD,EAAA,KACAjS,EAAA,KAAAwhH,cAAA,KAAA5C,UACAjuG,EAAA,KAAA2uG,IAAA,GACA1uG,EAAA,KAAA0uG,IAAA,GACA,KAAAa,kBAAA,KAAAZ,UAAAnqG,QAAA,SAAAtT,GACA,OAAAmQ,EAAA8V,UACA9V,EAAA8sG,MAAAp9G,OAEAsQ,EAAAuvG,cAAA1/G,EAAA0f,UAAA1e,SAAA9C,IACA8B,EAAAy/G,OAAA5wG,GACA7O,EAAAy/G,OAAA3wG,GACAqB,EAAA8sG,MAAAj8G,SAAAhB,EAAAw/G,kBAIArvG,EAAAuvG,cAAA1/G,EAAA0f,UAAA1e,SAAA9C,IACA8B,EAAAy/G,OAAA5wG,GACA7O,EAAAy/G,OAAA3wG,EAGAqB,EAAAwvG,QACAxvG,EAAA8sG,MAAAp9G,OAEAsQ,EAAAuvG,cAAA1/G,EAAA0f,UAAA1e,SAAA9C,IACAiS,EAAA8sG,MAAAj8G,SAAAhB,EAAAw/G,kBAGArvG,EAAAuvG,cAAA1/G,EAAA0f,UAAA1e,SAAA9C,QAPA,KAWA,KAAAugH,eAEAC,cAAA,eAAA5qG,EAAA,KACA,KAAA2pG,UAAAlmF,SAAA,SAAAv3B,GACA8T,EAAAypG,UAAAv8G,SAAAhB,EAAAw/G,mBACA1rG,EAAAypG,UAAAn1G,KAAApI,EAAAw/G,qBAGA,KAAAjC,UAAA,KAAAA,UAAAjpG,MAAA,SAAAkf,EAAAf,GAAA,OAAAe,EAAA+rF,cAAA9sF,OAEAitF,cAAA,SAAApqF,GACA,OAAAsoF,EAAAtoF,EAAAva,gBAEA6kG,YAAA,WACA,KAAArB,iBAAA,EACA,KAAAU,uBAEAY,YAAA,WACA,KAAAtB,iBAAA,EACA,KAAAU,wBAIAhgH,SAAAE,8BAAA,GACAyG,eAAA,oDAEAm3G,aAAA,WACA,OACA,KAAAD,SAAAj9G,OAAA,QAAAo9G,MAAAp9G,QAAA,KAAAm9G,iBAGAA,gBAAA,WACA,eAAAQ,IAAA,aAAAA,IAAA,OC7TqW,ICQjW,G,WAAY,eACd,EACA,EACA,GACA,EACA,KACA,WACA,OAIa,I,QCnBXj5G,EAAS,WAAkB,IAAIS,EAAI3G,KAAKuG,EAAGI,EAAI4D,MAAMhE,GAAG,OAAOA,EAAG,iBAAiB,CAAClC,MAAM,CAAC,MAAQsC,EAAIuB,GAAG,mBAAmB,SAAWvB,EAAIuB,GAAG,yBAE/IjB,EAAkB,G,YCQP,GACfpH,KAAA,gBAEAqN,WAAA,CACAwU,sBCdqW,ICOjW,EAAY,eACd,EACA,EACA,GACA,EACA,KACA,KACA,MAIa,I,QClBXxb,EAAS,WAAkB,IAAIS,EAAI3G,KAAKuG,EAAGI,EAAI4D,MAAMhE,GAAG,OAAOA,EAAG,MAAM,CAAC/C,YAAY,uCAAuC,CAACmD,EAAI0qF,GAAI1qF,EAAI86G,iBAAiB,SAASv6G,EAAQtF,GAAO,OAAO2E,EAAG,eAAe,CAACsG,IAAIjL,EAAM4B,YAAY,YAAYa,MAAM,CAAC,QAAU6C,EAAQ,mBAAmBP,EAAI+6G,iBAAiBj9G,GAAG,CAAC,cAAgBkC,EAAIg7G,cAAc,WAAah7G,EAAIgC,WAAW,cAAgBhC,EAAIi7G,oBAA4C,GAAxBj7G,EAAIy4G,UAAU59G,OAAa+E,EAAG,MAAM,CAAC/C,YAAY,aAAa,CAAC+C,EAAG,KAAK,CAACI,EAAID,GAAGC,EAAI6F,GAAG7F,EAAIuB,GAAG,+BAA+B3B,EAAG,IAAI,CAACI,EAAID,GAAGC,EAAI6F,GAAG7F,EAAIuB,GAAG,2BAA2BvB,EAAIsG,KAAK1G,EAAG,kCAAkC,IAE3nBU,EAAkB,G,2BCFwE,W,IAAkB,OAACxC,EAAG,W,OAAC,SAAYo9G,CAAQ,OAAIt7G,OAAQ,EAAC,YAAuB,GAAI,CAAQ/C,MAAW,EAAC,WAA+Ba,GAAK,MAAC,C,YAAS,W,CAAO,QAAS,C,YAAwBmC,QAAY,oBAAG,MAAKD,CAA+F/C,MAAW,OAAUmD,IAAO,EAAG,SAAQA,IAAyCnD,MAAY,iBAA0BA,SAAY,+EAAkB,YAAOs+G,QAA0Bt+G,UAAY,2CAAO,YAAa,eAAEa,GAAK,MAAC,C,YAAQ,mB,CAAK,iBAAQ,SAAS,oBAAG,CAACsC,EAAG,OAAI,CAAqHnD,OAAsB+C,KAAG,KAAUlC,MAAM,Y,CAAa,KAAO,oBAAC,wFAAS,qBAAG,CAACsC,EAAG,OAAI,CAAoHnD,OAAoB+C,KAAG,KAAUlC,MAAM,Y,CAAa,KAAO,iCAAC,wEAAS,mBAAG,CAACsC,EAAG,OAAI,CAAqInD,OAAyBmD,KAAIo7G,KAA0Bv+G,MAAW,Y,CAAiB,mBAAc,4F,OAAA,S,YAAWmD,WAAY,0BAAClC,YAAG,S,MAAC,C,UAAgC+M,G,QAAyB7K,EAAIypD,SAAS,IAAI7pD,MAAG,SAAS,GAAQ,OAAPlC,EAAM,kBAAS,cAAwB,CAACsC,EAAG,OAAI,CAAkCnD,OAAkBa,MAAM,UAAC,YAAqC,sCAACI,YAAG,M,MAAC,C,UAAgC+M,G,QAAyB7K,EAAIqnB,SAAM,IAAIznB,MAAG,SAAS,GAAQ,OAAPlC,EAAM,kBAAS,WAAwB,CAACsC,EAAG,OAAI,CAC9oD,OACGM,gBAEJ,KAASf,O,uCCDM,I,UAAA,CACfjG,MAAA,CACAiH,QAAA,CAAA3E,KAAA4E,OAAAC,UAAA,GACAs6G,gBAAA,CAAAn/G,KAAA8I,OAAAjE,UAAA,IAGA7D,KAAA,WACA,OACAy+G,YAAA,EACA36G,SAAA,IAIAzG,SAAAE,6CAAA,GACAyG,eAAA,4BACAA,eAAA,oDAEAf,SAAA,WACA,IAAAkB,EAAA,KAAAC,YAAA9H,KAAA+H,cACA,OACAnB,IAAAiB,EACAG,IAAAC,UAAA,QAAAnE,OAAA+D,EAAA,WAGAo6G,eAAA,WACA,eAAA56G,QAAA+5G,aAEA7gH,SAAA,WACA,eAAA8G,QAAA+5G,aAAA,KAAAK,SAEAS,aAAA,WACA,YAAA76G,QAAAO,SAIAhG,QAAAX,8BAAA,GACA4H,eAAA,uDAEAm5G,SAAA,WACA,KAAAh4G,MAAA,qBAAA3C,QAAAsC,YACA,KAAAw4G,YAAA,GAEAh0F,IAAA,eAAAhqB,EAAA,YAAA4E,eAAAC,iBAAAC,MAAA,SAAAC,IAAA,IAAAsgB,EAAA,OAAAxgB,iBAAAK,MAAA,SAAAC,GAAA,eAAAA,EAAAC,KAAAD,EAAAE,MAAA,OAEA,OAFAF,EAAAC,KAAA,EAEApF,EAAAqD,SAAA,EAAA8B,EAAAE,KAAA,EACArF,EAAAsF,cAAA,CACAC,OAAAvF,EAAAkD,QAAAsC,WACAC,OAAAzF,EAAA0F,gBACA,OAHA2f,EAAAlgB,EAAAQ,KAKA3F,EAAA6F,MAAA,cACA2Y,UAAA6G,EAAA9lB,KAAA0H,GACA1B,OAAAvF,EAAAkD,QAAAsC,aAEAxF,EAAA4F,MAAAC,MACA,SACA,UACA7F,EAAAkE,GAAA,4BAEAlE,EAAAqD,SAAA,EAAA8B,EAAAE,KAAA,iBAAAF,EAAAC,KAAA,GAAAD,EAAAc,GAAAd,EAAA,YAEAnF,EAAAqD,SAAA,2BAAA8B,EAAAkB,UAAAtB,EAAA,kBAnBAH,IAsBAwnD,OAAA,eAAAt+C,EAAA,YAAAlJ,eAAAC,iBAAAC,MAAA,SAAA6oB,IAAA,OAAA9oB,iBAAAK,MAAA,SAAA4oB,GAAA,eAAAA,EAAA1oB,KAAA0oB,EAAAzoB,MAAA,OAEA,OAFAyoB,EAAA1oB,KAAA,EAEA0I,EAAAzK,SAAA,EAAAyqB,EAAAzoB,KAAA,EACAyI,EAAAmwG,gBAAA,CACAh3G,GAAA6G,EAAA5K,QAAA+D,GACAxB,OAAAqI,EAAApI,gBACA,OACAoI,EAAAjI,MAAA,gBAAAiI,EAAA5K,QAAA+D,IACA6G,EAAAzK,SAAA,EACAyK,EAAAlI,MAAAC,MACA,SACA,UACAiI,EAAA5J,GAAA,6BACA4pB,EAAAzoB,KAAA,gBAAAyoB,EAAA1oB,KAAA,EAAA0oB,EAAA7nB,GAAA6nB,EAAA,YAEAhgB,EAAAzK,SAAA,2BAAAyqB,EAAAznB,UAAAsnB,EAAA,iBAfA/oB,MAoBAoF,MAAA,CACA0zG,gBAAA,SAAAngH,GACAA,GAAA,KAAA2F,QAAAsC,aACA,KAAAw4G,YAAA,IAGA96G,QAAA,WACA,KAAAG,SAAA,MC9FmW,MCQ/V,I,UAAY,eACd,GACA,GACA,IACA,EACA,KACA,WACA,OAIa,M,wBCnB0HhD,W,MAAS,K,IAAmCb,S,OAA2B,EAAC,OAASa,C,YAA+G,O,4BAAqB,G,IAAS,OAAE,EAAQ,EAAC,MAAkB,6BAAI,4BAAO,gGAAC9C,MAAWsgB,CAAQC,KAAS,KAAoBD,MAAOkE,YAAK9E,GAAU,GAAC,uBAAqHxc,MAAG,CAAC,MAAO,EAACkC,OAAS,qBAAM,EAAC,OAAS,GAAQ,WAAW,WAAkB,sFAAE,GAAEA,CAAiEtC,MAAM,U,CAAuB,SAAQsC,CAAuC,MAAC,CAACyd,KAAM,KAAC7iB,MAAOoF,Y,GAAsCA,GAAIO,gBAAW,0B,MAAC,CAAC+Z,QAAU,EAAC,QAAS,6CAA0Czd,OAAsB,MAAC,UAAC,SAAQmD,SAAInB,GAAK,aAAgEhC,WAAY,cAAa,KAAO,OAAKwvF,aAAM,oBAAE,GAAI,CAAsD3uF,MAAM,U,CAAa,MAAO,CAAC,6CAAS,qBAAE,GAAEsC,CACnqC,iBAGD,GAAST,KAAM,EAAEe,UAAe,2B,kFCFjB,IACf1D,KAAA,WACA,OACAse,QAAA,EACA3a,QAAA,GACAG,SAAA,IAIA5F,QAAAX,8BAAA,GACA4H,eAAA,wCAEAsqF,OAAA,eAAAhvF,EAAA,YAAA4E,eAAAC,iBAAAC,MAAA,SAAAC,IAAA,IAAAsgB,EAAA,OAAAxgB,iBAAAK,MAAA,SAAAC,GAAA,eAAAA,EAAAC,KAAAD,EAAAE,MAAA,OACA,OAAArF,EAAAqD,SAAA,EAAA8B,EAAAE,KAAA,EACArF,EAAAk+G,iBAAA,CACA7gG,SAAArd,EAAAkD,QACAi7G,IAAA,0BACA,OAHA94F,EAAAlgB,EAAAQ,KAKA0f,EACArlB,EAAA4F,MAAAC,MACA,SACA,UACA7F,EAAAkE,GAAA,iCAGAlE,EAAA4F,MAAAC,MACA,SACA,QACA7F,EAAAkE,GAAA,8BAGAlE,EAAAwB,QAAA,wBAAA2D,EAAAkB,UAAAtB,MApBAH,IAuBApD,MAAA,WACA,KAAA6B,SAAA,EACA,KAAAwa,QAAA,MCvCkX,MCQ9W,I,UAAY,eACd,GACA,GACA,IACA,EACA,KACA,WACA,OAIa,M,QCKA,IACfhiB,KAAA,cAEAqN,WAAA,CACAk1G,eACAC,+BAGApiH,MAAA,CACAm/G,UAAA,CAAA78G,KAAAlB,MAAA+F,UAAA,GACAs6G,gBAAA,CAAAn/G,KAAA8I,OAAAjE,UAAA,IAGA7D,KAAA,WACA,OACA++G,aAAA,GACAb,gBAAA,KAIA7tG,QAAA,WACA,KAAA2uG,eAGAv0G,MAAA,CACAoxG,UAAA,WACA,KAAAoD,oBAIA/gH,QAAA,CACA8gH,YAAA,eAAAv+G,EAAA,KACAssD,EAAAv/B,SAAAC,cAAA,iBAEAs/B,IACAA,EAAAmyD,SAAA,WACA,IAAAC,EAAApyD,EAAAz1C,aAAAy1C,EAAA51C,UACAvP,EAAAmlD,EAAA11C,aACAygC,EAAAqnE,EAAAv3G,EACAkwC,EAAA,KAAAr3C,EAAAs+G,aAAAt+G,EAAAo7G,UAAA59G,SACAwC,EAAAs+G,cAAA,GACAt+G,EAAAw+G,sBAKAA,gBAAA,WACA,KAAAf,gBAAA,KAAArC,UAAA3sG,MAAA,OAAA6vG,eAEAX,cAAA,SAAApgH,GACA,KAAAsI,MAAA,gBAAAtI,IAEAoH,WAAA,SAAAg6G,GACA,KAAA94G,MAAA,aAAA84G,IAEAf,cAAA,SAAArgH,GACA,KAAAsI,MAAA,gBAAAtI,MChFmW,MCQ/V,I,UAAY,eACd,GACA,EACA,GACA,EACA,KACA,WACA,OAIa,M,qBCkFA,I,UAAA,CACf1B,KAAA,cAEAqC,OAAA,CAAA6f,QAEA7U,WAAA,CACA01G,gBACAtxF,0BACAuxF,qBACAC,gBACAC,gBACAC,eACAhhG,qBAGAze,KAAA,WACA,OACAg7G,yBAAA,EACA0E,kBAAA,EACAvB,gBAAA,EACAjC,2BAAA,GACAL,UAAA,KAIApxG,MAAA,CACArG,YAAA,CACA4W,QAAA,WACA,KAAA2kG,iBAEA5kG,WAAA,GAEA6kG,SAAA,WACA,KAAA/D,UAAA,KAAA+D,WAIAviH,SAAAE,4DAAA,GACAyG,eAAA,0BACAA,eAAA,2CACAA,eAAA,4DACA67G,uBAAA,WACA,aAAAD,SAAA3hH,QAEA6hH,oBAAA,eAAAr/G,EAAA,KACA,YAAAy7G,2BAAA98F,MACA,SAAAhhB,GAAA,OAAAA,EAAA6H,aAAAxF,EAAA09G,sBAKAjgH,QAAAX,8BAAA,GACA4H,eAAA,8CACAk4G,oBAAA,SAAAxB,GACA,KAAAK,2BAAAL,GAEA8D,cAAA,eAAApxG,EAAA,YAAAlJ,eAAAC,iBAAAC,MAAA,SAAAC,IAAA,OAAAF,iBAAAK,MAAA,SAAAC,GAAA,eAAAA,EAAAC,KAAAD,EAAAE,MAAA,OAEA,OADAyI,EAAAmxG,kBAAA,EACAnxG,EAAA4vG,gBAAA,EAAAv4G,EAAAE,KAAA,EACAyI,EAAAwxG,uBAAAxxG,EAAApI,eAAA,OACAoI,EAAAmxG,kBAAA,0BAAA95G,EAAAkB,UAAAtB,MAJAH,IAMAD,WAAA,SAAAg6G,GAAA,IAAAltG,EAAA,YAAA7M,eAAAC,iBAAAC,MAAA,SAAA6oB,IAAA,OAAA9oB,iBAAAK,MAAA,SAAA4oB,GAAA,eAAAA,EAAA1oB,KAAA0oB,EAAAzoB,MAAA,OACAoM,EAAA2pG,UAAA3pG,EAAA2pG,UAAAjvG,KAAA,SAAAirB,GACA,GAAAA,EAAA5xB,aAAAm5G,EAAAp5G,OAAA,CACA,IAAAg6G,EAAAziH,eAAA,GAAAs6B,GAEA,OADAmoF,EAAA97G,OAAA,EACA87G,EAEA,OAAAnoF,KACA,wBAAAtJ,EAAAznB,UAAAsnB,MARA/oB,IAUA+4G,cAAA,SAAAn/F,GAAA,IAAAzC,EAAA,YAAAnX,eAAAC,iBAAAC,MAAA,SAAA6wF,IAAA,OAAA9wF,iBAAAK,MAAA,SAAA4wF,GAAA,eAAAA,EAAA1wF,KAAA0wF,EAAAzwF,MAAA,OACA0W,EAAAq/F,UAAAr/F,EAAAq/F,UAAAjvG,KAAA,SAAAirB,GACA,GAAAA,EAAAnwB,KAAAuX,EAAA,CACA,IAAA+gG,EAAAziH,eAAA,GAAAs6B,GAEA,OADAmoF,EAAA97G,OAAA,EACA87G,EAEA,OAAAnoF,KACA,wBAAA0+D,EAAAzvF,UAAAsvF,MARA/wF,IAUAg5G,cAAA,SAAA16G,GACA,KAAAw6G,gBAAAx6G,EACA,KAAAq3G,yBAAA,GAEAC,YAAA,WACA,KAAAD,yBAAA,OC5LmW,MCQ/V,I,UAAY,eACd,GACA,EACAt3G,GACA,EACA,KACA,WACA,OAIa,gB,4KChBD,SAAUu8G,EAAO3jH,GAE7B,OAAO4O,OAAI7O,OAAO,CAChBC,KAAM,KAAF8D,OAAO9D,GAEXo+G,YAAY,EAEZh+G,MAAO,CACLgL,GAAIzI,OACJorF,IAAK,CACHrrF,KAAMC,OACNK,QAAS,QAIbqD,OAAM,SAAEC,EAAFyb,GAA8B,IAAvB3hB,EAAF2hB,EAAE3hB,MAAOsD,EAATqe,EAASre,KAAM6B,EAAAwc,EAAAxc,SACxB7B,EAAKC,YAAe,GAAAG,OAAG9D,EAAI,KAAA8D,OAAIJ,EAAKC,aAAe,IAAM4L,OAEzD,IAAQ/K,EAAUd,EAAVc,MACR,GAAIA,EAAO,CAETd,EAAKc,MAAQ,GACb,IAAMxD,EAAUsG,OAAOiL,KAAK/N,GAAO4Q,QAAO,SAAApI,GAGxC,GAAY,SAARA,EAAgB,OAAO,EAE3B,IAAMtL,EAAQ8C,EAAMwI,GAIpB,OAAIA,EAAI42G,WAAW,UACjBlgH,EAAKc,MAAOwI,GAAOtL,GACZ,GAGFA,GAA0B,kBAAVA,KAGrBV,EAAQW,SAAQ+B,EAAKC,aAAL,IAAAG,OAAwB9C,EAAQ6O,KAAK,OAQ3D,OALIzP,EAAMgL,KACR1H,EAAK+K,SAAW/K,EAAK+K,UAAY,GACjC/K,EAAK+K,SAASrD,GAAKhL,EAAMgL,IAGpB9E,EAAElG,EAAM2tF,IAAKrqF,EAAM6B,M,gBC1CjBs+G,SAAK,aAAa9jH,OAAO,CACtCC,KAAM,cACNo+G,YAAY,EACZh+G,MAAO,CACLgL,GAAIzI,OACJorF,IAAK,CACHrrF,KAAMC,OACNK,QAAS,OAEX8gH,MAAO,CACLphH,KAAMpC,QACN0C,SAAS,IAGbqD,OAAM,SAAEC,EAAFyb,GAA8B,IAC9B/gB,EADOZ,EAAF2hB,EAAE3hB,MAAOsD,EAATqe,EAASre,KAAM6B,EAAAwc,EAAAxc,SAEhBf,EAAUd,EAAVc,MA2BR,OA1BIA,IAEFd,EAAKc,MAAQ,GACbxD,EAAUsG,OAAOiL,KAAK/N,GAAO4Q,QAAO,SAAApI,GAGlC,GAAY,SAARA,EAAgB,OAAO,EAE3B,IAAMtL,EAAQ8C,EAAMwI,GAIpB,OAAIA,EAAI42G,WAAW,UACjBlgH,EAAKc,MAAOwI,GAAOtL,GACZ,GAGFA,GAA0B,kBAAVA,MAIvBtB,EAAMgL,KACR1H,EAAK+K,SAAW/K,EAAK+K,UAAY,GACjC/K,EAAK+K,SAASrD,GAAKhL,EAAMgL,IAGpB9E,EACLlG,EAAM2tF,IACN0wB,eAAU/6G,EAAM,CACdC,YAAa,YACbC,MAAOpC,MAAW,CAChB,mBAAoBpB,EAAM0jH,QACzBhgH,OAAO9C,GAAW,MAEvBuE,O,kCC3DN,W;;;;;;;CCMC,SAAU4sB,EAAQC,GAC4CC,EAAOC,QAAUF,EAAQ,EAAQ,UADhG,CAIEjyB,GAAM,SAAUo+D,GAAS,aAE3BA,EAAQA,GAASA,EAAMj9D,eAAe,WAAai9D,EAAM,WAAaA,EAEtE,IAAI3+B,EAAU2+B,EAAM3+B,QAEhBg/B,EAAoB,WACvB,GAAsB,qBAAXn/B,OAAwB,CAClC,GAAIA,OAAOm/B,iBACV,OAAOn/B,OAAOm/B,iBAMf,IAAImlD,EAAStkF,OAAOskF,OACpB,GAAIA,EACH,OAAQA,EAAOC,YAAc,IAAMD,EAAOE,aAAe,GAI3D,OAAO,EAfe,GAkBnBC,EAAQ,CAEXC,YAAa,SAAS76E,GACrB,IACIlpB,EADAs4C,EAAQ,GAGZpvB,EAAS,GAAGxlC,OAAOwlC,GACnB,MAAOA,EAAO3nC,OACbye,EAAQkpB,EAAOhR,MACM,kBAAVlY,EACVs4C,EAAM7/C,QAAQ+X,MAAM8nC,EAAOt4C,EAAM5Q,MAAM,OAC7BhO,MAAMC,QAAQ2e,GACxBkpB,EAAOp/B,KAAK0mB,MAAM0Y,EAAQlpB,GACfwf,EAAQG,cAAcuJ,IACjCovB,EAAM7/C,QAAQ,GAAKuH,GAIrB,OAAOs4C,GAKRlwB,aAAc,SAASC,GACtB,OAAKA,GAAQ7I,EAAQG,cAAc0I,EAAKxC,OAASrG,EAAQG,cAAc0I,EAAKC,QACpE,MAGAD,EAAKziC,MAAQyiC,EAAKziC,MAAQ,IAAM,KACpCyiC,EAAKjK,OAASiK,EAAKjK,OAAS,IAAM,IACnCiK,EAAKxC,KAAO,MACZwC,EAAKC,QAKT2yC,SAAU,SAASl2C,EAAKuzB,EAAOjwB,GAC9B,IAIIhwB,EAJAkwC,EAAQ,GAAG7kD,OAAO40D,GAClB/3B,EAAOgoB,EAAMhnD,OACb4H,EAAO47B,EAAIsD,KACXp9B,EAAQ,EAKZ,IAFA85B,EAAIsD,KAAOA,EAAKrR,OAEX3e,EAAI,EAAGA,EAAIkoB,IAAQloB,EACvBpN,EAAQyM,KAAKlH,IAAIu0B,EAAI6zB,YAAYrQ,EAAMlwC,IAAIpN,MAAOA,GAKnD,OAFA85B,EAAIsD,KAAOl/B,EAEJ,CACN+B,OAAQq1B,EAAO8H,EAAKU,WACpB99B,MAAOA,IAKT+4G,UAAW,SAAS1iH,GACnB,IAAIywB,EAASosC,EAAMx2B,SAAS5V,OACxB8T,EAAOrG,EAAQK,eAAev+B,EAAMukC,KAAM9T,EAAOgW,iBACjDM,EAAO,CACVC,OAAQ9I,EAAQK,eAAev+B,EAAMgnC,OAAQvW,EAAO+V,mBACpDiB,WAAYvJ,EAAQ1+B,QAAQ0nC,aAAalnC,EAAMynC,WAAYlD,GAC3DA,KAAMA,EACNjgC,MAAO45B,EAAQK,eAAev+B,EAAMsE,MAAOmsB,EAAOiW,kBAClD5J,OAAQoB,EAAQK,eAAev+B,EAAM88B,OAAQ,MAC7CpH,OAAQ,IAIT,OADAqR,EAAKrR,OAAS8sF,EAAM17E,aAAaC,GAC1BA,GAQR47E,MAAO,SAAS1zG,EAAKjP,EAAOkP,GAC3B,OAAOkH,KAAKlH,IAAID,EAAKmH,KAAKnH,IAAIjP,EAAOkP,KAQtC0zG,UAAW,SAAS7jF,EAAIC,GACvB,IAEIjoB,EAAGmoC,EAAGjgB,EAAMzrB,EAFZ3L,EAAOk3B,EAAG7tB,QACV2xG,EAAU,GAGd,IAAK9rG,EAAI,EAAGkoB,EAAOD,EAAG/+B,OAAQ8W,EAAIkoB,IAAQloB,EACzCvD,EAAIwrB,EAAGjoB,GACPmoC,EAAIr3C,EAAKiN,QAAQtB,IAEN,IAAP0rC,EACH2jE,EAAQr6G,KAAK,CAACgL,EAAG,IAEjB3L,EAAK2kC,OAAO0S,EAAG,GAIjB,IAAKnoC,EAAI,EAAGkoB,EAAOp3B,EAAK5H,OAAQ8W,EAAIkoB,IAAQloB,EAC3C8rG,EAAQr6G,KAAK,CAACX,EAAKkP,IAAK,IAGzB,OAAO8rG,GAMRC,UAAW,SAAStvG,GACnB,OAAO4C,KAAKif,MAAM7hB,EAAI0pD,GAAoBA,IAI5C,SAAS6lD,EAAO59E,EAAOrgC,GACtB,IAAIk+G,EAAKl+G,EAAO0Y,EACZylG,EAAKn+G,EAAOytB,EAEhB,GAAW,OAAPywF,EACH,MAAO,CAACxlG,EAAG,EAAG+U,GAAI,GAEnB,GAAW,OAAP0wF,EACH,MAAO,CAACzlG,EAAG,EAAG+U,EAAG,GAGlB,IAAI2wF,EAAK/9E,EAAM3nB,EAAIwlG,EACfG,EAAKh+E,EAAM5S,EAAI0wF,EACfG,EAAKhtG,KAAK6e,KAAKiuF,EAAKA,EAAKC,EAAKA,GAElC,MAAO,CACN3lG,EAAG4lG,EAAKF,EAAKE,EAAK,EAClB7wF,EAAG6wF,EAAKD,EAAKC,GAAM,GAIrB,SAASC,EAAQ7lG,EAAG+U,EAAG+wF,EAAIC,EAAI16E,GAC9B,OAAQA,GACR,IAAK,SACJy6E,EAAKC,EAAK,EACV,MACD,IAAK,SACJD,EAAK,EACLC,EAAK,EACL,MACD,IAAK,QACJD,EAAK,EACLC,EAAK,EACL,MACD,IAAK,OACJD,GAAM,EACNC,EAAK,EACL,MACD,IAAK,MACJD,EAAK,EACLC,GAAM,EACN,MACD,IAAK,QACJD,GAAMA,EACNC,GAAMA,EACN,MACD,IAAK,MAEJ,MACD,QAEC16E,GAAUzyB,KAAK4e,GAAK,IACpBsuF,EAAKltG,KAAK8e,IAAI2T,GACd06E,EAAKntG,KAAK+e,IAAI0T,GACd,MAGD,MAAO,CACNrrB,EAAGA,EACH+U,EAAGA,EACH+wF,GAAIA,EACJC,GAAIA,GAON,IAAIC,EAAW,EACXC,EAAS,EACTC,EAAU,EACVC,EAAW,EACXC,EAAQ,EAEZ,SAASC,EAAOrmG,EAAG+U,EAAG2R,GACrB,IAAImJ,EAAMm2E,EAaV,OAXIhmG,EAAI0mB,EAAK9vB,KACZi5B,GAAOo2E,EACGjmG,EAAI0mB,EAAK5vB,QACnB+4B,GAAOq2E,GAEJnxF,EAAI2R,EAAKL,IACZwJ,GAAOu2E,EACGrxF,EAAI2R,EAAKJ,SACnBuJ,GAAOs2E,GAGDt2E,EAGR,SAASy2E,EAAQC,EAAS3+E,GACzB,IAMIzS,EAAGnV,EAAG+U,EANNywF,EAAKe,EAAQf,GACbC,EAAKc,EAAQd,GACb/rE,EAAK6sE,EAAQ7sE,GACbC,EAAK4sE,EAAQ5sE,GACb6sE,EAAKH,EAAOb,EAAIC,EAAI79E,GACpB6+E,EAAKJ,EAAO3sE,EAAIC,EAAI/R,GAIxB,MAAO,EAAM,CACZ,KAAM4+E,EAAKC,IAAQD,EAAKC,EAEvB,MAIDtxF,EAAIqxF,GAAMC,EAENtxF,EAAIixF,GACPpmG,EAAIwlG,GAAM9rE,EAAK8rE,IAAO59E,EAAKvB,IAAMo/E,IAAO9rE,EAAK8rE,GAC7C1wF,EAAI6S,EAAKvB,KACClR,EAAIgxF,GACdnmG,EAAIwlG,GAAM9rE,EAAK8rE,IAAO59E,EAAKtB,OAASm/E,IAAO9rE,EAAK8rE,GAChD1wF,EAAI6S,EAAKtB,QACCnR,EAAI+wF,GACdnxF,EAAI0wF,GAAM9rE,EAAK8rE,IAAO79E,EAAK9wB,MAAQ0uG,IAAO9rE,EAAK8rE,GAC/CxlG,EAAI4nB,EAAK9wB,OACCqe,EAAI8wF,IACdlxF,EAAI0wF,GAAM9rE,EAAK8rE,IAAO79E,EAAKhxB,KAAO4uG,IAAO9rE,EAAK8rE,GAC9CxlG,EAAI4nB,EAAKhxB,MAGNue,IAAMqxF,GACThB,EAAKxlG,EACLylG,EAAK1wF,EACLyxF,EAAKH,EAAOb,EAAIC,EAAI79E,KAEpB8R,EAAK15B,EACL25B,EAAK5kB,EACL0xF,EAAKJ,EAAO3sE,EAAIC,EAAI/R,IAItB,MAAO,CACN49E,GAAIA,EACJ9rE,GAAIA,EACJ+rE,GAAIA,EACJ9rE,GAAIA,GAIN,SAAS+sE,EAAQnyG,EAAOqwC,GACvB,IAEI5kC,EAAG+U,EAFHk9D,EAASrtC,EAAOqtC,OAChBs0B,EAAUhyG,EAkBd,OAfIqwC,EAAO+hE,QACVJ,EAAUD,EAAQC,EAAS3hE,EAAOhd,OAGpB,UAAXqqD,GACHjyE,EAAIumG,EAAQf,GACZzwF,EAAIwxF,EAAQd,IACS,QAAXxzB,GACVjyE,EAAIumG,EAAQ7sE,GACZ3kB,EAAIwxF,EAAQ5sE,KAEZ35B,GAAKumG,EAAQf,GAAKe,EAAQ7sE,IAAM,EAChC3kB,GAAKwxF,EAAQd,GAAKc,EAAQ5sE,IAAM,GAG1BksE,EAAQ7lG,EAAG+U,EAAGxgB,EAAMuxG,GAAIvxG,EAAMwxG,GAAInhE,EAAOvZ,OAGjD,IAAIyrB,EAAc,CACjBtwB,IAAK,SAASmP,EAAIiP,GACjB,IAAIjO,GAAShB,EAAGP,WAAaO,EAAGN,UAAY,EACxCywE,EAAKltG,KAAK8e,IAAIif,GACdovE,EAAKntG,KAAK+e,IAAIgf,GACd6vE,EAAK7wE,EAAGF,YACRgxE,EAAK9wE,EAAGH,YAEZ,OAAOkxE,EAAQ,CACdlB,GAAI7vE,EAAG31B,EAAI8lG,EAAKU,EAChBf,GAAI9vE,EAAG5gB,EAAIgxF,EAAKS,EAChB9sE,GAAI/D,EAAG31B,EAAI8lG,EAAKW,EAChB9sE,GAAIhE,EAAG5gB,EAAIgxF,EAAKU,EAChBX,GAAIA,EACJC,GAAIA,GACFnhE,IAGJjd,MAAO,SAASgO,EAAIiP,GACnB,IAAI5uC,EAAIuvG,EAAO5vE,EAAIiP,EAAOt9C,QACtBs/G,EAAK5wG,EAAEgK,EAAI21B,EAAGvP,OACdygF,EAAK7wG,EAAE+e,EAAI4gB,EAAGvP,OAElB,OAAOsgF,EAAQ,CACdlB,GAAI7vE,EAAG31B,EAAI4mG,EACXnB,GAAI9vE,EAAG5gB,EAAI8xF,EACXntE,GAAI/D,EAAG31B,EAAI4mG,EACXjtE,GAAIhE,EAAG5gB,EAAI8xF,EACXf,GAAI9vG,EAAEgK,EACN+lG,GAAI/vG,EAAE+e,GACJ6vB,IAGJle,KAAM,SAASiP,EAAIiP,GAClB,IAAI5uC,EAAIuvG,EAAO5vE,EAAIiP,EAAOt9C,QACtB0Y,EAAI21B,EAAG31B,EACP+U,EAAI4gB,EAAG5gB,EACP+xF,EAAK,EACLC,EAAK,EAUT,OARIpxE,EAAGwE,YACNn6B,EAAIpH,KAAKnH,IAAIkkC,EAAG31B,EAAG21B,EAAG/F,MACtBk3E,EAAKluG,KAAKigC,IAAIlD,EAAG/F,KAAO+F,EAAG31B,KAE3B+U,EAAInc,KAAKnH,IAAIkkC,EAAG5gB,EAAG4gB,EAAG/F,MACtBm3E,EAAKnuG,KAAKigC,IAAIlD,EAAG/F,KAAO+F,EAAG5gB,IAGrB2xF,EAAQ,CACdlB,GAAIxlG,EACJylG,GAAI1wF,EAAIgyF,EACRrtE,GAAI15B,EAAI8mG,EACRntE,GAAI5kB,EACJ+wF,GAAI9vG,EAAEgK,EACN+lG,GAAI/vG,EAAE+e,GACJ6vB,IAGJoiE,SAAU,SAASrxE,EAAIiP,GACtB,IAAI5uC,EAAIuvG,EAAO5vE,EAAIiP,EAAOt9C,QAE1B,OAAOo/G,EAAQ,CACdlB,GAAI7vE,EAAG31B,EACPylG,GAAI9vE,EAAG5gB,EACP2kB,GAAI/D,EAAG31B,EACP25B,GAAIhE,EAAG5gB,EACP+wF,GAAI9vG,EAAEgK,EACN+lG,GAAI/vG,EAAE+e,GACJ6vB,KAIDvY,EAAYgzB,EAAM3+B,QAClB4kF,EAAYN,EAAMM,UAEtB,SAAS/qE,EAAcl1B,GACtB,IAAI2uB,EAAc3uB,EAAM2uB,aAAe,EACnCqF,EAAUh0B,EAAMg0B,QAChB4tE,EAAK5hG,EAAM0hB,KAAK36B,OAChB86G,EAAK7hG,EAAM0hB,KAAK56B,MAChBg7G,GAAMD,EAAK,EACXE,GAAMH,EAAK,EAEf,MAAO,CACNI,MAAO,CACNrnG,EAAGmnG,EAAK9tE,EAAQziC,KAAOo9B,EACvBjf,EAAGqyF,EAAK/tE,EAAQhT,IAAM2N,EACtBre,EAAGuxF,EAAK7tE,EAAQltC,MAAsB,EAAd6nC,EACxB5sC,EAAG6/G,EAAK5tE,EAAQjtC,OAAuB,EAAd4nC,GAE1B1vC,KAAM,CACL0b,EAAGmnG,EACHpyF,EAAGqyF,EACHzxF,EAAGuxF,EACH9/G,EAAG6/G,IAKN,SAASK,EAAep3D,GACvB,IAAI/V,EAAa+V,EAAG7iB,OAAO8M,WACvBxe,EAAQu0B,EAAGlL,QAAW7K,GAAc+V,EAAGjT,SAAYiT,EAAGhT,QAE1D,IAAKvhB,EACJ,OAAO,KAGR,QAAsB11B,IAAlB01B,EAAMyrB,cAA2CnhD,IAAlB01B,EAAM0rB,QACxC,MAAO,CAACrnC,EAAG2b,EAAMyrB,QAASryB,EAAG4G,EAAM0rB,SAGpC,IAAI4e,EAAQtqC,EAAM4hB,eAClB,OAAOpD,EACN,CAACn6B,EAAGimD,EAAOlxC,EAAG,MACd,CAAC/U,EAAG,KAAM+U,EAAGkxC,GAGf,SAASshD,EAAcr3D,GACtB,OAAIA,aAAcmP,EAAMvsB,SAASkI,IACzB8b,EAAYtwB,IAEhB0pB,aAAcmP,EAAMvsB,SAASmI,MACzB6b,EAAYnvB,MAEhBuoB,aAAcmP,EAAMvsB,SAASoI,UACzB4b,EAAYpwB,KAEbowB,EAAYkwD,SAGpB,SAASQ,EAAUvhF,EAAKS,EAAMrhB,GAC7B,IAAIoiG,EAAUpiG,EAAM8tB,gBAChBC,EAAc/tB,EAAM+tB,YACpBY,EAAc3uB,EAAM2uB,aAEnByzE,GAAar0E,GAAgBY,KAIlC/N,EAAIqB,YAEJ+E,EAAUp/B,OAAOk5B,YAChBF,EACAq/E,EAAU5+E,EAAK1mB,GAAKg0B,EAAc,EAClCsxE,EAAU5+E,EAAK3R,GAAKif,EAAc,EAClCsxE,EAAU5+E,EAAK/Q,GAAKqe,EACpBsxE,EAAU5+E,EAAKt/B,GAAK4sC,EACpB3uB,EAAMqiG,cAEPzhF,EAAIQ,YAEAghF,IACHxhF,EAAIoR,UAAYowE,EAChBxhF,EAAIjrB,QAGDo4B,GAAeY,IAClB/N,EAAIqR,YAAclE,EAClBnN,EAAI+P,UAAYhC,EAChB/N,EAAIgQ,SAAW,QACfhQ,EAAIwB,WAIN,SAASkgF,EAAajhF,EAAM2E,EAAO9B,GAClC,IAAIniC,EAAImiC,EAAKU,WACTtU,EAAI+Q,EAAK/Q,EACT3V,EAAI0mB,EAAK1mB,EACT+U,EAAI2R,EAAK3R,EAAI3tB,EAAI,EAQrB,MANc,WAAVikC,EACHrrB,GAAK2V,EAAI,EACW,QAAV0V,GAA6B,UAAVA,IAC7BrrB,GAAK2V,GAGC,CACNvuB,EAAGA,EACHuuB,EAAGA,EACH3V,EAAGA,EACH+U,EAAGA,GAIL,SAAS6yF,EAAa3hF,EAAK3hC,EAAMgnF,GAChC,IAAIu8B,EAAS5hF,EAAI6hF,WACbC,EAAUz8B,EAAIy8B,QACd/nG,EAAIslG,EAAUh6B,EAAItrE,GAClB+U,EAAIuwF,EAAUh6B,EAAIv2D,GAClBY,EAAI2vF,EAAUh6B,EAAI31D,GAElBoyF,GACH9hF,EAAI+hF,WAAW1jH,EAAM0b,EAAG+U,EAAGY,GAGxB21D,EAAI28B,SACHJ,GAAUE,IAGb9hF,EAAI6hF,WAAa,GAGlB7hF,EAAI42B,SAASv4D,EAAM0b,EAAG+U,EAAGY,GAErBkyF,GAAUE,IACb9hF,EAAI6hF,WAAaD,IAKpB,SAASK,EAASjiF,EAAKuzB,EAAO9yB,EAAMrhB,GACnC,IAQI9L,EARA8xB,EAAQhmB,EAAM+lB,UACdlmC,EAAQmgB,EAAMngB,MACd+iH,IAAW/iH,EACXqkC,EAAOlkB,EAAMkkB,KACb9H,EAAO+3B,EAAM/2D,OACb0lH,EAAc9iG,EAAM+iG,gBACpBC,EAAchjG,EAAMijG,gBACpBP,EAAUI,GAAeE,EAG7B,GAAK5mF,IAAUwmF,GAAWF,GAsB1B,IAjBArhF,EAAOihF,EAAajhF,EAAM2E,EAAO9B,GAEjCtD,EAAIsD,KAAOA,EAAKrR,OAChB+N,EAAImF,UAAYC,EAChBpF,EAAI22B,aAAe,SACnB32B,EAAI6hF,WAAaziG,EAAMkjG,eACvBtiF,EAAIuiF,YAAcnjG,EAAMojG,gBAEpBR,IACHhiF,EAAIoR,UAAYnyC,GAEb6iH,IACH9hF,EAAIgQ,SAAW,QACfhQ,EAAI+P,UAAYqyE,EAChBpiF,EAAIqR,YAAc6wE,GAGd5uG,EAAI,EAAGkoB,EAAO+3B,EAAM/2D,OAAQ8W,EAAIkoB,IAAQloB,EAC5CquG,EAAa3hF,EAAKuzB,EAAMjgD,GAAI,CAC3BwuG,QAASA,EACTE,OAAQA,EACRtyF,EAAG+Q,EAAK/Q,EACR3V,EAAG0mB,EAAK1mB,EACR+U,EAAG2R,EAAK3R,EAAI2R,EAAKt/B,EAAImS,IAKxB,IAAImvG,EAAQ,SAAS9jE,EAAQ3e,EAAKiqB,EAAIrtD,GACrC,IAAI4/B,EAAKxhC,KAETwhC,EAAGkQ,QAAUiS,EACbniB,EAAGyP,OAASrvC,EACZ4/B,EAAG4K,OAAS,KACZ5K,EAAGkmF,OAAS,KACZlmF,EAAGmmF,KAAO3iF,EACVxD,EAAGomF,IAAM34D,GAGV7jB,EAAUxrC,OAAO6nH,EAAM1uF,UAAW,CAIjC8uF,UAAW,SAASxiE,EAASkT,EAAO5U,EAAQva,GAC3C,IAAI5H,EAAKxhC,KACL4B,EAAQ4/B,EAAGyP,OACX/H,EAAUkC,EAAUrqC,QAAQmoC,QAC5BZ,EAAOy7E,EAAME,UAAU/6E,EAAQ,CAACya,EAAOrb,KAAM,IAAKc,EAASxnC,IAC3DqC,EAAQilC,EAAQ,CAACya,EAAO1/C,MAAOm6D,EAAMx2B,SAAS5V,OAAO8V,kBAAmBsB,EAASxnC,GAErF,MAAO,CACNwoC,MAAOlB,EAAQ,CAACya,EAAOvZ,MAAO,UAAWhB,EAASxnC,GAClDovF,OAAQ9nD,EAAQ,CAACya,EAAOqtC,OAAQ,UAAW5nD,EAASxnC,GACpD+kC,KAAMyC,EAAQrE,MAAMsT,UACpBnG,gBAAiBhJ,EAAQ,CAACya,EAAOzR,gBAAiB,MAAO9I,EAASxnC,GAClEuwC,YAAajJ,EAAQ,CAACya,EAAOxR,YAAa,MAAO/I,EAASxnC,GAC1D6kH,aAAcv9E,EAAQ,CAACya,EAAO8iE,aAAc,GAAIr9E,EAASxnC,GACzDmxC,YAAa7J,EAAQ,CAACya,EAAO5Q,YAAa,GAAI3J,EAASxnC,GACvD8jH,MAAOx8E,EAAQ,CAACya,EAAO+hE,OAAO,GAAQt8E,EAASxnC,GAC/CklC,KAAMoC,EAAQ,CAACya,EAAO7c,MAAM,GAAQsC,EAASxnC,GAC7CqC,MAAOA,EACPohD,QAASA,EACT/c,KAAMA,EACNiwB,MAAOA,EACPld,OAAQnS,EAAQ,CAACya,EAAOtI,OAAQ,GAAIjS,EAASxnC,GAC7Cm2D,QAAS7uB,EAAQ,CAACya,EAAOoU,QAAS,GAAI3uB,EAASxnC,GAC/CyE,OAAQggH,EAAe7kF,EAAGomF,KAC1BxvE,QAAShN,EAAUrqC,QAAQ4nC,UAAUO,EAAQ,CAACya,EAAOvL,QAAS,GAAIhP,EAASxnC,IAC3EkmH,WAAYxB,EAAc9kF,EAAGomF,KAC7BjiF,SAAUuD,EAAQ,CAACya,EAAOhe,SAAU,GAAIyD,EAASxnC,IAAU+V,KAAK4e,GAAK,KACrEuP,KAAMi+E,EAAM7oC,SAAS15C,EAAGmmF,KAAMpvD,EAAOjwB,GACrC6B,UAAWjB,EAAQ,CAACya,EAAOxZ,UAAW,SAAUf,EAASxnC,GACzD0lH,eAAgBp+E,EAAQ,CAACya,EAAO2jE,eAAgB,GAAIl+E,EAASxnC,GAC7D4lH,gBAAiBt+E,EAAQ,CAACya,EAAO6jE,gBAAiBvjH,GAAQmlC,EAASxnC,GACnEulH,gBAAiBj+E,EAAQ,CAACya,EAAOwjE,gBAAiBljH,GAAQmlC,EAASxnC,GACnEylH,gBAAiBn+E,EAAQ,CAACya,EAAO0jE,gBAAiB,GAAIj+E,EAASxnC,KAIjE+nB,OAAQ,SAASyf,GAChB,IAKI7nC,EAAO46C,EAAOoc,EALd/2B,EAAKxhC,KACLokB,EAAQ,KACRy1B,EAAQ,KACRj4C,EAAQ4/B,EAAGyP,OACX0S,EAASniB,EAAGkQ,QAKZ2T,EAAUja,EAAUrqC,QAAQmoC,QAAQ,CAACya,EAAO0B,SAAS,GAAOjc,EAASxnC,GAErEyjD,IACH9jD,EAAQ6nC,EAAQwG,QAAQrsC,KAAK3B,GAC7Bu6C,EAAQ/Q,EAAUtL,eAAesL,EAAUtpB,SAAS6hC,EAAO7yC,UAAW,CAACvP,EAAO6nC,IAAW7nC,GACzFg3D,EAAQntB,EAAUxL,cAAcuc,GAAS,GAAK4nE,EAAMC,YAAY7nE,GAE5Doc,EAAM/2D,SACT4iB,EAAQod,EAAGqmF,UAAUxiE,EAASkT,EAAO5U,EAAQva,GAC7CyQ,EAAQP,EAAcl1B,KAIxBod,EAAG4K,OAAShoB,EACZod,EAAGkmF,OAAS7tE,GAGbkuE,SAAU,WACT,OAAO/nH,KAAK0nH,OAAS1nH,KAAK0nH,OAAOtB,MAAQ,IAG1CzgF,SAAU,WACT,OAAO3lC,KAAKosC,OAASpsC,KAAKosC,OAAOzG,SAAW,GAG7Ci+C,QAAS,WACR,OAAO5jF,KAAKosC,QAAUpsC,KAAKosC,OAAO2rB,SAGnC3zC,MAAO,WACN,OAAOpkB,KAAKosC,QAGb0F,KAAM,SAAS/M,EAAO8X,GACrB,IAIIlW,EAJAnF,EAAKxhC,KACLglC,EAAMD,EAAMC,IACZ5gB,EAAQod,EAAG4K,OACXyN,EAAQrY,EAAGkmF,OAGV1nH,KAAK4jF,YAIV5+C,EAAIiB,OAEA7hB,EAAM0iB,OACTH,EAAOviB,EAAMuiB,KACb3B,EAAIqB,YACJrB,EAAIS,KACHkB,EAAKhxB,KACLgxB,EAAKvB,IACLuB,EAAK9wB,MAAQ8wB,EAAKhxB,KAClBgxB,EAAKtB,OAASsB,EAAKvB,KACpBJ,EAAI8B,QAGL9B,EAAI03B,YAAcqnD,EAAMG,MAAM,EAAG9/F,EAAM2zC,QAAS,GAChD/yB,EAAIkB,UAAUm+E,EAAUxnE,EAAO99B,GAAIslG,EAAUxnE,EAAO/oB,IACpDkR,EAAI/G,OAAO7Z,EAAMuhB,UAEjB4gF,EAAUvhF,EAAK6U,EAAMusE,MAAOhiG,GAC5B6iG,EAASjiF,EAAK5gB,EAAMm0C,MAAO1e,EAAMx2C,KAAM+gB,GAEvC4gB,EAAIoB,cAIN,IAAI4hF,EAAY5pD,EAAM3+B,QAElB2+C,EAAc/yE,OAAOgzE,mBAAqB,iBAC1CC,EAAcjzE,OAAOkzE,kBAAoB,iBAE7C,SAAS0pC,EAAQvhF,EAAOmW,EAAQnH,GAC/B,IAAIjf,EAAM9e,KAAK8e,IAAIif,GACfhf,EAAM/e,KAAK+e,IAAIgf,GACf0uC,EAAKvnC,EAAO99B,EACZslE,EAAKxnC,EAAO/oB,EAEhB,MAAO,CACN/U,EAAGqlE,EAAK3tD,GAAOiQ,EAAM3nB,EAAIqlE,GAAM1tD,GAAOgQ,EAAM5S,EAAIuwD,GAChDvwD,EAAGuwD,EAAK3tD,GAAOgQ,EAAM3nB,EAAIqlE,GAAM3tD,GAAOiQ,EAAM5S,EAAIuwD,IAIlD,SAAS6jC,EAAUlxE,EAAQ8L,GAC1B,IAGIxqC,EAAGwsC,EAAI+/D,EAAIC,EAAIqD,EAHf33G,EAAM8tE,EACN7tE,EAAM2tE,EACN/3E,EAASy8C,EAAKz8C,OAGlB,IAAKiS,EAAI,EAAGA,EAAI0+B,EAAOx1C,SAAU8W,EAChCwsC,EAAK9N,EAAO1+B,GACZusG,EAAK//D,EAAG/lC,EAAI1Y,EAAO0Y,EACnB+lG,EAAKhgE,EAAGhxB,EAAIztB,EAAOytB,EACnBq0F,EAAKrlE,EAAK+hE,GAAKA,EAAK/hE,EAAKgiE,GAAKA,EAC9Bt0G,EAAMmH,KAAKnH,IAAIA,EAAK23G,GACpB13G,EAAMkH,KAAKlH,IAAIA,EAAK03G,GAGrB,MAAO,CACN33G,IAAKA,EACLC,IAAKA,GAIP,SAAS23G,EAAOljC,EAAIC,GACnB,IAAI0/B,EAAK1/B,EAAGpmE,EAAImmE,EAAGnmE,EACf+lG,EAAK3/B,EAAGrxD,EAAIoxD,EAAGpxD,EACf6wF,EAAKhtG,KAAK6e,KAAKquF,EAAKA,EAAKC,EAAKA,GAElC,MAAO,CACND,IAAK1/B,EAAGpmE,EAAImmE,EAAGnmE,GAAK4lG,EACpBG,IAAK3/B,EAAGrxD,EAAIoxD,EAAGpxD,GAAK6wF,EACpBt+G,OAAQ6+E,EACRy/B,GAAIA,GAIN,IAAI0D,EAAS,WACZroH,KAAKsoH,UAAY,EACjBtoH,KAAKuoH,MAAQ,CACZxpG,EAAG,EACH+U,EAAG,EACHY,EAAG,EACHvuB,EAAG,IAsFL,SAAS49F,EAAYv4D,EAAMpnB,EAAO2jG,GACjC,IAAIrhF,EAAQtiB,EAAM0jG,WAAWt8E,EAAMpnB,GAC/BygG,EAAKn+E,EAAMm+E,GACXC,EAAKp+E,EAAMo+E,GAEf,IAAKD,IAAOC,EAEX,MAAO,CAAC/lG,EAAG2nB,EAAM3nB,EAAG+U,EAAG4S,EAAM5S,GAG9B,IAAIY,EAAIqzF,EAASrzF,EACbvuB,EAAI4hH,EAAS5hH,EAGbw/B,EAAWvhB,EAAMuhB,SACjB8+E,EAAK9sG,KAAKigC,IAAIljB,EAAI,EAAI/c,KAAK8e,IAAIkP,IAAahuB,KAAKigC,IAAIzxC,EAAI,EAAIwR,KAAK+e,IAAIiP,IACtE++E,EAAK/sG,KAAKigC,IAAIljB,EAAI,EAAI/c,KAAK+e,IAAIiP,IAAahuB,KAAKigC,IAAIzxC,EAAI,EAAIwR,KAAK8e,IAAIkP,IAKtE6iF,EAAK,EAAI7wG,KAAKlH,IAAIkH,KAAKigC,IAAIitE,GAAKltG,KAAKigC,IAAIktE,IAQ7C,OAPAL,GAAMI,EAAK2D,EACX9D,GAAMI,EAAK0D,EAGX/D,GAAMrgG,EAAMi3B,OAASwpE,EACrBH,GAAMtgG,EAAMi3B,OAASypE,EAEd,CACN/lG,EAAG2nB,EAAM3nB,EAAI0lG,EACb3wF,EAAG4S,EAAM5S,EAAI4wF,GAIf,SAAS+D,EAAQ51F,EAAQ61F,GACxB,IAAIpwG,EAAGmoC,EAAGkoE,EAAIC,EAMd,IAAKtwG,EAAIua,EAAOrxB,OAAS,EAAG8W,GAAK,IAAKA,EAGrC,IAFAqwG,EAAK91F,EAAOva,GAAGuwG,QAEVpoE,EAAInoC,EAAI,EAAGmoC,GAAK,GAAKkoE,EAAGG,WAAYroE,EACxCmoE,EAAK/1F,EAAO4tB,GAAGooE,QAEXD,EAAGE,UAAYH,EAAGI,KAAKC,WAAWJ,EAAGG,OACxCL,EAASC,EAAIC,GAKhB,OAAO/1F,EAGR,SAASo2F,EAAUp2F,GAClB,IAAIva,EAAGkoB,EAAM2b,EAAO+sE,EAAOnB,EAAUlrE,EAGrC,IAAKvkC,EAAI,EAAGkoB,EAAO3N,EAAOrxB,OAAQ8W,EAAIkoB,IAAQloB,EAC7C6jC,EAAQtpB,EAAOva,GACf4wG,EAAQ/sE,EAAM0sE,QAEVK,EAAMJ,WACTf,EAAW5rE,EAAM4rE,WACjBlrE,EAASknD,EAAY5nD,EAAMyrE,IAAIx7E,OAAQ+P,EAAM/3B,QAAS2jG,GACtDmB,EAAMH,KAAKp/F,OAAOkzB,EAAQkrE,EAAU5rE,EAAMxW,aAK5C,OAAO8iF,EAAQ51F,GAAQ,SAAS81F,EAAIC,GACnC,IAAIO,EAAKR,EAAGS,SACRC,EAAKT,EAAGQ,SAEPD,GAAME,GAAOA,EACjBT,EAAGE,UAAW,EACJK,IACVR,EAAGG,UAAW,MAlKjBd,EAAUpoH,OAAOyoH,EAAOtvF,UAAW,CAClC8jB,OAAQ,WACP,IAAI3oB,EAAIl0B,KAAKuoH,MACb,MAAO,CACNxpG,EAAGmV,EAAEnV,EAAImV,EAAEQ,EAAI,EACfZ,EAAGI,EAAEJ,EAAII,EAAE/tB,EAAI,IAIjBwjB,OAAQ,SAASkzB,EAAQpX,EAAME,GAC9B3lC,KAAKsoH,UAAY3iF,EACjB3lC,KAAKuoH,MAAQ,CACZxpG,EAAG0mB,EAAK1mB,EAAI89B,EAAO99B,EACnB+U,EAAG2R,EAAK3R,EAAI+oB,EAAO/oB,EACnBY,EAAG+Q,EAAK/Q,EACRvuB,EAAGs/B,EAAKt/B,IAIVmjH,SAAU,SAAS5iF,GAClB,IAAIlF,EAAKxhC,KACLirD,EAAS,EACTxlB,EAAOjE,EAAG+mF,MAId,OAFA7hF,EAAQuhF,EAAQvhF,EAAOlF,EAAGqb,UAAWrb,EAAG8mF,aAE/B5hF,EAAM3nB,EAAI0mB,EAAK1mB,EAAIksC,GACxBvkB,EAAM5S,EAAI2R,EAAK3R,EAAIm3B,GACnBvkB,EAAM3nB,EAAI0mB,EAAK1mB,EAAI0mB,EAAK/Q,EAAa,EAATu2B,GAC5BvkB,EAAM5S,EAAI2R,EAAK3R,EAAI2R,EAAKt/B,EAAa,EAAT8kD,IAKjC+9D,WAAY,SAASvT,GACpB,IAMIn9F,EAAGixG,EAAKC,EANRjE,EAAKvlH,KAAKypH,UACVjE,EAAK/P,EAAMgU,UACXC,EAAO,CACVtB,EAAO7C,EAAG,GAAIA,EAAG,IACjB6C,EAAO7C,EAAG,GAAIA,EAAG,KAalB,IATIvlH,KAAKsoH,YAAc7S,EAAM6S,WAG5BoB,EAAK3/G,KACJq+G,EAAO5C,EAAG,GAAIA,EAAG,IACjB4C,EAAO5C,EAAG,GAAIA,EAAG,KAIdltG,EAAI,EAAGA,EAAIoxG,EAAKloH,SAAU8W,EAI9B,GAHAixG,EAAMrB,EAAU3C,EAAImE,EAAKpxG,IACzBkxG,EAAMtB,EAAU1C,EAAIkE,EAAKpxG,IAErBixG,EAAI94G,IAAM+4G,EAAIh5G,KAAOg5G,EAAI/4G,IAAM84G,EAAI/4G,IACtC,OAAO,EAIT,OAAO,GAMRi5G,QAAS,WACR,IAAIjoF,EAAKxhC,KACLylC,EAAOjE,EAAG+mF,MACV7yE,EAAQlU,EAAG8mF,UACXzrE,EAASrb,EAAGqb,SAEhB,MAAO,CACNorE,EAAQ,CAAClpG,EAAG0mB,EAAK1mB,EAAG+U,EAAG2R,EAAK3R,GAAI+oB,EAAQnH,GACxCuyE,EAAQ,CAAClpG,EAAG0mB,EAAK1mB,EAAI0mB,EAAK/Q,EAAGZ,EAAG2R,EAAK3R,GAAI+oB,EAAQnH,GACjDuyE,EAAQ,CAAClpG,EAAG0mB,EAAK1mB,EAAI0mB,EAAK/Q,EAAGZ,EAAG2R,EAAK3R,EAAI2R,EAAKt/B,GAAI02C,EAAQnH,GAC1DuyE,EAAQ,CAAClpG,EAAG0mB,EAAK1mB,EAAG+U,EAAG2R,EAAK3R,EAAI2R,EAAKt/B,GAAI02C,EAAQnH,OA0FpD,IAAI+T,EAAS,CACZkgE,QAAS,SAASx5E,GACjB,IACI73B,EAAGmoC,EAAGjgB,EAAMinB,EAAMtL,EADlBtpB,EAAS,GAGb,IAAKva,EAAI,EAAGkoB,EAAO2P,EAAS3uC,OAAQ8W,EAAIkoB,IAAQloB,EAC/C,IAAKmoC,EAAI,EAAGgH,EAAOtX,EAAS73B,GAAG9W,OAAQi/C,EAAIgH,IAAQhH,EAClDtE,EAAQhM,EAAS73B,GAAGmoC,GACpB5tB,EAAO9oB,KAAKoyC,GACZA,EAAM0sE,QAAU,CACfE,KAAM,IAAIV,EACVe,UAAU,EACVN,UAAU,EACVjhF,KAAMvvB,EACNkoD,KAAM/f,GAmBT,OAXA5tB,EAAO5c,MAAK,SAASkf,EAAGf,GACvB,IAAIw1F,EAAKz0F,EAAE0zF,QACPgB,EAAKz1F,EAAEy0F,QAEX,OAAOe,EAAGppD,OAASqpD,EAAGrpD,KACnBqpD,EAAGhiF,KAAO+hF,EAAG/hF,KACbgiF,EAAGrpD,KAAOopD,EAAGppD,QAGjBxgE,KAAK2pB,OAAOkJ,GAELA,GAGRlJ,OAAQ,SAASkJ,GAChB,IACIva,EAAGkoB,EAAM2b,EAAO/3B,EAAO8kG,EADvBY,GAAQ,EAGZ,IAAKxxG,EAAI,EAAGkoB,EAAO3N,EAAOrxB,OAAQ8W,EAAIkoB,IAAQloB,EAC7C6jC,EAAQtpB,EAAOva,GACf8L,EAAQ+3B,EAAM/3B,QACd8kG,EAAQ/sE,EAAM0sE,QACdK,EAAME,SAAWhlG,GAA2B,SAAlBA,EAAMihC,QAChC6jE,EAAMJ,SAAW3sE,EAAMynC,UACvBkmC,GAASZ,EAAME,SAGZU,GACHb,EAAUp2F,IAIZ+sD,OAAQ,SAAS/sD,EAAQ6T,GACxB,IAAIpuB,EAAG4wG,EAKP,IAAK5wG,EAAIua,EAAOrxB,OAAS,EAAG8W,GAAK,IAAKA,EAGrC,GAFA4wG,EAAQr2F,EAAOva,GAAGuwG,QAEdK,GAASA,EAAMJ,UAAYI,EAAMH,KAAKO,SAAS5iF,GAClD,OAAO7T,EAAOva,GAIhB,OAAO,MAGRw5B,KAAM,SAAS/M,EAAOlS,GACrB,IAAIva,EAAGkoB,EAAM2b,EAAO+sE,EAAOnB,EAAUlrE,EAErC,IAAKvkC,EAAI,EAAGkoB,EAAO3N,EAAOrxB,OAAQ8W,EAAIkoB,IAAQloB,EAC7C6jC,EAAQtpB,EAAOva,GACf4wG,EAAQ/sE,EAAM0sE,QAEVK,EAAMJ,WACTf,EAAW5rE,EAAM4rE,WACjBlrE,EAASknD,EAAY5nD,EAAMyrE,IAAIz7E,MAAOgQ,EAAM/3B,QAAS2jG,GACrDmB,EAAMH,KAAKp/F,OAAOkzB,EAAQkrE,EAAU5rE,EAAMxW,YAC1CwW,EAAMrK,KAAK/M,EAAO8X,MAMlBktE,EAAY3rD,EAAM3+B,QAElB3uB,EAAY,SAASvP,GACxB,GAAIwoH,EAAUnqF,cAAcr+B,GAC3B,OAAO,KAGR,IACI6Q,EAAMuuB,EAAM/L,EADZunB,EAAQ56C,EAEZ,GAAIwoH,EAAUlqF,SAASt+B,GACtB,GAAKwoH,EAAUnqF,cAAcr+B,EAAM46C,OAE5B,GAAK4tE,EAAUnqF,cAAcr+B,EAAM2yB,GAKzC,IAFAioB,EAAQ,GACR/pC,EAAOjL,OAAOiL,KAAK7Q,GACdqzB,EAAI,EAAG+L,EAAOvuB,EAAK5Q,OAAQozB,EAAI+L,IAAQ/L,EAC3CunB,IAAgB,IAANvnB,EAAU,KAAO,IAAMxiB,EAAKwiB,GAAK,KAAOrzB,EAAM6Q,EAAKwiB,SAL9DunB,EAAQ56C,EAAM2yB,OAFdioB,EAAQ56C,EAAM46C,MAYhB,MAAO,GAAKA,GAQTvU,EAAW,CACdwC,MAAO,SACP4mD,OAAQ,SACR9+C,gBAAiB,KACjBC,YAAa,KACbs0E,aAAc,EACd1zE,YAAa,EACb2yE,OAAO,EACP5+E,MAAM,EACN7iC,WAAOe,EACPqgD,SAAS,EACT/c,KAAM,CACLC,YAAQvjC,EACRgkC,WAAY,IACZlD,UAAM9gC,EACNa,WAAOb,EACPq5B,OAAQ,MAETvtB,UAAWA,EACX+hB,YAAQ7tB,EACRupC,UAAW,GACX8M,OAAQ,EACR0c,QAAS,EACT3f,QAAS,CACRhT,IAAK,EACLvvB,MAAO,EACPwvB,OAAQ,EACR1vB,KAAM,GAEPgwB,SAAU,EACVwE,UAAW,QACXg9E,qBAAiBniH,EACjBqiH,gBAAiB,EACjBC,eAAgB,EAChBE,qBAAiBxiH,GAOdglH,EAAY5rD,EAAM3+B,QAClB+sB,EAAc,cACdy9D,EAAc,WAElB,SAASp+D,EAAUjc,EAAS7uC,GAC3B,IAGI8xB,EAAQzgB,EAHRy3D,EAAWj6B,EAAQ2gD,WACnBhiD,EAAY,GACZ27E,EAAU,GAGd,OAAiB,IAAbrgD,EACI,OAES,IAAbA,IACHA,EAAW,IAGZ9oE,EAAUipH,EAAUjpF,MAAM,GAAI,CAAChgC,EAAS8oE,IACxCh3C,EAAS9xB,EAAQ8xB,QAAU,GAC3BzgB,EAAOjL,OAAOiL,KAAKygB,UACZ9xB,EAAQ8xB,OAEXzgB,EAAK5Q,OACR4Q,EAAK8mB,SAAQ,SAASrsB,GACjBgmB,EAAOhmB,IACVq9G,EAAQngH,KAAKigH,EAAUjpF,MAAM,GAAI,CAChChgC,EACA8xB,EAAOhmB,GACP,CAACs9G,KAAMt9G,SAMVq9G,EAAQngH,KAAKhJ,GAIdwtC,EAAY27E,EAAQ53G,QAAO,SAAS/E,EAAQo2C,GAO3C,OANAqmE,EAAU9pF,KAAKyjB,EAAOpV,WAAa,IAAI,SAASzhC,EAAI4F,GACnDnF,EAAOmF,GAASnF,EAAOmF,IAAU,GACjCnF,EAAOmF,GAAOixC,EAAOwmE,MAAQF,GAAen9G,YAGtC62C,EAAOpV,UACPhhC,IACL,IAEI,CACNslB,OAAQq3F,EACR37E,UAAWA,IAIb,SAAS67E,EAAcrlF,EAAOwJ,EAAW4N,GACxC,GAAK5N,EAAL,CAIA,IAEIzsB,EAFAsnB,EAAU+S,EAAMkuE,SAChBC,EAASnuE,EAAMouE,QAGdh8E,EAAU+7E,EAAOziF,QAItB/lB,EAAWysB,EAAU+7E,EAAOziF,MAAMyiF,EAAOH,MACpCroG,IAI2C,IAA5CkoG,EAAUloG,SAASA,EAAU,CAACsnB,MAKjCrE,EAAMynB,GAAag+D,QAAS,EAC5BruE,EAAMxyB,OAAOyf,MAIf,SAASqhF,EAAmB1lF,EAAOwJ,EAAWzM,EAAUqa,GACvD,IAAI87D,EAAOyS,GAEN5oF,GAAaqa,KAIbra,EAEOqa,EAEDra,IAAaqa,IACvBuuE,EAAQzS,GAAQ,GAFhByS,GAAQ,EAFRzS,GAAQ,EAOLyS,GACHN,EAAcrlF,EAAOwJ,EAAUm8E,MAAO5oF,GAEnCm2E,GACHmS,EAAcrlF,EAAOwJ,EAAU0pE,MAAO97D,IAIxC,SAASwuE,EAAiB5lF,EAAOryB,GAChC,IAEIovB,EAAUqa,EAFV0T,EAAU9qB,EAAMynB,GAChBje,EAAYshB,EAAQgS,WAGxB,GAAKtzB,EAAU0pE,OAAU1pE,EAAUm8E,MAAnC,CAIA,GAAmB,cAAfh4G,EAAMnQ,KACT45C,EAAQsN,EAAOm2B,OAAO/vB,EAAQ+6D,QAASl4G,QACjC,GAAmB,aAAfA,EAAMnQ,KAChB,OAGDu/B,EAAW+tB,EAAQg7D,SACnBh7D,EAAQg7D,SAAW1uE,EACnBsuE,EAAmB1lF,EAAOwJ,EAAWzM,EAAUqa,IAGhD,SAAS2uE,EAAkB/lF,EAAOryB,GACjC,IAAIm9C,EAAU9qB,EAAMynB,GAChBu+D,EAAWl7D,EAAQgS,WAAWn9D,MAC9By3C,EAAQ4uE,GAAYthE,EAAOm2B,OAAO/vB,EAAQ+6D,QAASl4G,GACnDypC,GACHiuE,EAAcrlF,EAAOgmF,EAAU5uE,GAKjC,SAAS6uE,EAAWjmF,GACnB,IAAIA,EAAM4I,UAAV,CAOA,IADA,IAAIL,EAAa8wB,EAAMsrB,iBAAiBp8C,WAC/Bh1B,EAAI,EAAGkoB,EAAO8M,EAAW9rC,OAAQ8W,EAAIkoB,IAAQloB,EACrD,GAAIg1B,EAAWh1B,GAAGysB,QAAUA,EAC3B,OAOFA,EAAM7+B,OAAO,CAACgnC,SAAU,EAAGO,MAAM,KAGlC2wB,EAAMx2B,SAAS5V,OAAO1mB,QAAQilF,WAAa3oD,EAE3C,IAAIl8B,EAAS,CACZT,GAAI,aAEJ49E,WAAY,SAAS9jD,GACpBA,EAAMynB,GAAe,CACpBy+D,SAAU,KAIZn8C,aAAc,SAAS/pC,GACtB,IAAI8qB,EAAU9qB,EAAMynB,GACpBqD,EAAQq7D,WAAY,EACpBr7D,EAAQgS,WAAa,GACrBhS,EAAQs7D,UAAY,GACpBt7D,EAAQ+6D,QAAU,IAGnBQ,mBAAoB,SAASrmF,EAAOpO,EAAM51B,GACzC,IAQIuX,EAAGmoC,EAAGjgB,EAAMinB,EAAM4iC,EAAKx9E,EAAKoiD,EAAI9S,EARhClN,EAAetY,EAAK/0B,MACpBiuD,EAAU9qB,EAAMynB,GAChB35B,EAASg9B,EAAQs7D,UAAUl8E,GAAgB,GAC3C20C,EAAU7+C,EAAM2b,iBAAiBzR,GACjCW,EAAU7K,EAAMxhC,KAAK4sC,SAASlB,GAC9B0U,EAASkI,EAAUjc,EAAS7uC,GAC5B8wC,EAAWlb,EAAK+Y,KAAKnsC,MAAQ,GAC7ByhC,EAAMD,EAAMC,IAKhB,IAFAA,EAAIiB,OAEC3tB,EAAI,EAAGkoB,EAAOqR,EAASrwC,OAAQ8W,EAAIkoB,IAAQloB,EAI/C,GAHA22C,EAAKpd,EAASv5B,GACd22C,EAAGzC,GAAe,GAEdo3B,GAAW30B,IAAOA,EAAGhjB,SAAWgjB,EAAG7iB,OAAOiL,KAC7C,IAAKoJ,EAAI,EAAGgH,EAAO9D,EAAO9wB,OAAOrxB,OAAQi/C,EAAIgH,IAAQhH,EACpD4pC,EAAM1mC,EAAO9wB,OAAO4tB,GACpB5zC,EAAMw9E,EAAI8/B,KAEVhuE,EAAQ,IAAIsrE,EAAMp9B,EAAKrlD,EAAKiqB,EAAI32C,GAChC6jC,EAAMouE,QAAU,CACf1iF,KAAMoH,EACNk7E,KAAMt9G,GAAOo9G,GAEd9tE,EAAMkuE,SAAW,CAChBrvG,QAAQ,EACR+pB,MAAOA,EACP0N,UAAWn6B,EACXs3B,QAASA,EACTX,aAAcA,GAGfkN,EAAMxyB,OAAOwyB,EAAMkuE,UACnBp7D,EAAGzC,GAAaziD,KAAKoyC,GACrBtpB,EAAO9oB,KAAKoyC,GAKfnX,EAAIoB,UAIJ4jF,EAAUjpF,MAAM8uB,EAAQgS,WAAYle,EAAOpV,UAAW,CACrDpN,OAAQ,SAASzuB,EAAOnF,EAAQoxB,GAC/BpxB,EAAOmF,GAASnF,EAAOmF,IAAU,GACjCnF,EAAOmF,GAAOikB,EAAK/0B,OAAS+8B,EAAOjsB,GACnCm9C,EAAQq7D,WAAY,MAKvBx6C,YAAa,SAAS3rC,EAAOhkC,GAC5BgkC,EAAMynB,GAAao+D,QAAUnhE,EAAOkgE,QACnC5kF,EAAMynB,GAAa2+D,UACnBpqH,IAMFsqH,kBAAmB,SAAStmF,GAC3B0kB,EAAO3X,KAAK/M,EAAOA,EAAMynB,GAAao+D,UAGvCU,YAAa,SAASvmF,EAAOryB,GAI5B,GAAIqyB,EAAMynB,GAAa0+D,UACtB,OAAQx4G,EAAMnQ,MACd,IAAK,YACL,IAAK,WACJooH,EAAiB5lF,EAAOryB,GACxB,MACD,IAAK,QACJo4G,EAAkB/lF,EAAOryB,GACzB,MACD,WAKFo2E,WAAY,SAAS/jD,GACpB,IAIIzsB,EAAGkoB,EAAMigB,EAAGgH,EAAM99B,EAAQwyB,EAAOtpB,EAJjCg9B,EAAU9qB,EAAMynB,GAChB1qB,EAAW+tB,EAAQo7D,SACnBM,EAAU17D,EAAQo7D,SAAWlmF,EAAMu7B,YAAc,GACjD8jD,EAAUL,EAAMI,UAAUriF,EAAUypF,GAGxC,IAAKjzG,EAAI,EAAGkoB,EAAO4jF,EAAQ5iH,OAAQ8W,EAAIkoB,IAAQloB,EAE9C,GADAqR,EAASy6F,EAAQ9rG,GACbqR,EAAO,GAEV,IADAkJ,EAASlJ,EAAO,GAAG6iC,IAAgB,GAC9B/L,EAAI,EAAGgH,EAAO50B,EAAOrxB,OAAQi/C,EAAIgH,IAAQhH,EAC7CtE,EAAQtpB,EAAO4tB,GACftE,EAAMkuE,SAASrvG,OAAwB,IAAd2O,EAAO,GAChCwyB,EAAMxyB,OAAOwyB,EAAMkuE,WAKlBx6D,EAAQ26D,QAAUpG,EAAQ5iH,UAC7BioD,EAAO9/B,OAAOkmC,EAAQ+6D,SACtBI,EAAWjmF,WAGL8qB,EAAQ26D,SAQjB,OAFApsD,EAAM9yD,QAAQ8mD,SAAS1mD,GAEhBA,M,kCCt2CP,oDAQIpB,EAAY,eACd,aACA,OACA,QACA,EACA,KACA,KACA,MAIa,aAAAA,E,mFCZAkhH,cAAQ5rH,OAAO,CAC5BC,KAAM,eAENI,MAAO,CACL63G,UAAW,CACTv1G,KAAMpC,QACN0C,SAAS,IAIbjC,SAAU,CACRC,QAAO,WACL,OAAAC,8BAAA,GACK0qH,OAAQzqH,QAAQH,SAASC,QAAQG,KAAKhB,OADpC,IAEL,gBAAgB,KAGpBiF,OAAM,WACJ,OAAOjF,KAAKyrH,aAIhBhqH,QAAS,CACPI,SAAQ,SAAEF,EAAyB2W,GACjC,OAAO3W,EAAKsJ,IAAMtL,OAAcoB,QAAQU,QAAQI,SAASb,KAAKhB,KAAM2B,EAAM2W,Q,kCC/BhF,gBAGenU,e,kCCHf,W,uDCAA,gBAGeunH,e,yDCHf,W,wgBC+BexpH,iBAAOmO,OAAWnL,QAAWtF,OAAO,CACjDC,KAAM,gBAGNkG,WAAY,CACV0+F,eAGFxkG,MAAO,CACL0rH,OAAQxrH,QACR4C,MAAO5C,QACPyrH,aAAczrH,QACdqoD,MAAO,CACLjmD,KAAMlB,MACNwB,QAAS,WAAF,MAAQ,KAEjBgpH,aAAc,CACZtpH,KAAM,CAACC,OAAQnB,MAAOkP,UACtB1N,QAAS,YAEXipH,SAAU,CACRvpH,KAAM,CAACC,OAAQnB,MAAOkP,UACtB1N,QAAS,QAEXkpH,UAAW,CACTxpH,KAAM,CAACC,OAAQnB,MAAOkP,UACtB1N,QAAS,SAEXmpH,WAAYxpH,OACZypH,SAAU9rH,QACV+rH,YAAa,KACbC,cAAe,CACb5pH,KAAMlB,MACNwB,QAAS,WAAF,MAAQ,MAInBjC,SAAU,CACRwrH,YAAW,eAAApoH,EAAA,KACT,OAAOhE,KAAKmsH,cAAch8G,KAAI,SAAAxO,GAAI,OAAIqC,EAAKnC,SAASF,OAEtD0qH,gBAAe,WACb,OAAOllH,OAAOiL,KAAKpS,KAAKiG,aAAajG,KAAKiE,OAAOR,OAAS,IAAIiM,KAAK,MAErE48G,iBAAgB,WACd,IAAM3rH,EAAO,CACX0D,MAAO,CACLsB,UAAMX,GAERP,GAAI,CACF8nH,UAAY,SAAAv8G,GAAD,OAAcA,EAAE8F,oBAI/B,OAAO9V,KAAK8D,eAAe0oH,OAAW7rH,EAAM,CAC1CX,KAAKysH,eAAezsH,KAAKgsH,gBAK/BvqH,QAAS,CACPirH,UAAS,SAAE/qH,EAAcgrH,GAAe,IAAA76G,EAAA,KACtC,OAAO9R,KAAK8D,eAAe8oH,OAAiB,CAC1C5sH,KAAK8D,eAAe+oH,OAAiB,CACnC5sH,MAAO,CACLgE,MAAOjE,KAAKiE,MACZ1C,MAAOorH,EACPloB,QAAQ,GAEVhgG,GAAI,CACFwb,MAAO,WAAF,OAAQnO,EAAKjI,MAAM,SAAUlI,UAK1CmrH,WAAU,SAAE7sH,GACV,OAAOD,KAAK8D,eAAe4nH,OAAU,CAAEzrH,WAEzC8sH,gBAAe,SAAE1pH,GAGf,GAFAA,EAAOA,GAAQ,IAEVrD,KAAKksH,aAAelsH,KAAKisH,SAAU,OAAO5oH,EAE/C,IAAA2pH,EAA+BhtH,KAAKitH,oBAAoB5pH,GAAhD2L,EAAFg+G,EAAEh+G,MAAOk+G,EAATF,EAASE,OAAQ9xE,EAAA4xE,EAAA5xE,IAEvB,MAAO,CAACpsC,EAAOhP,KAAKmtH,aAAaD,GAAS9xE,IAE5CvpC,UAAS,SAAE5R,GACT,OAAOD,KAAK8D,eAAewI,OAAY,CAAErM,SAASA,EAAM8R,SAE1Do7G,aAAY,SAAE9pH,GACZ,OAAOrD,KAAK8D,eAAe,OAAQ,CAAEN,YAAa,qBAAuBH,IAE3E4pH,oBAAmB,SAAE5pH,GAKnB,IAAM6oH,GAAelsH,KAAKksH,aAAe,IAAIh1F,WAAWk2F,oBAClDxrH,EAAQyB,EAAK+pH,oBAAoB/2G,QAAQ61G,GAE/C,GAAItqH,EAAQ,EAAG,MAAO,CAAEoN,MAAO3L,EAAM6pH,OAAQ,GAAI9xE,IAAK,IAEtD,IAAMpsC,EAAQ3L,EAAKoP,MAAM,EAAG7Q,GACtBsrH,EAAS7pH,EAAKoP,MAAM7Q,EAAOA,EAAQsqH,EAAY1qH,QAC/C45C,EAAM/3C,EAAKoP,MAAM7Q,EAAQsqH,EAAY1qH,QAC3C,MAAO,CAAEwN,QAAOk+G,SAAQ9xE,QAE1BiyE,QAAO,SAAAzrG,GAKI,IAAAnM,EAAA,KAJT9T,EADOigB,EACPjgB,KACAC,EAFOggB,EAEPhgB,MAFO0rH,EAAA1rG,EAGPxhB,gBAAQ,IAAAktH,EAAG,KAHJA,EAAAC,EAAA3rG,EAIPrgB,aAAK,IAAAgsH,GAAGA,EAEHhsH,IAAOA,EAAQvB,KAAKwtH,QAAQ7rH,IAE7BA,IAASwF,OAAOxF,KAClBvB,EAAwB,OAAbA,EACPA,EACAJ,KAAKytH,YAAY9rH,IAGvB,IAAMhB,EAAO,CACX0D,MAAO,CAGL,gBAAiB7B,OAAOjB,GACxB0J,GAAI,aAAFtH,OAAe3D,KAAK0yF,KAAI,KAAA/uF,OAAI/B,GAC9B+D,KAAM,UAERlB,GAAI,CACF8nH,UAAY,SAAAv8G,GAEVA,EAAE8F,kBAEJpR,MAAO,WAAF,OAAQtE,GAAYqV,EAAK5L,MAAM,SAAUlI,KAEhD1B,MAAO,CACLo5G,YAAar5G,KAAKqsH,gBAClBjsH,WACAqkG,QAAQ,EACRkoB,WAAYprH,IAIhB,IAAKvB,KAAKuF,aAAa5D,KACrB,OAAO3B,KAAK8D,eAAe0oH,OAAW7rH,EAAM,CAC1CX,KAAK2rH,SAAW3rH,KAAK4rH,cAAgB5rH,KAAKwoD,MAAMhnD,OAAS,EACrDxB,KAAK0sH,UAAU/qH,EAAMJ,GACrB,KACJvB,KAAKysH,eAAe9qH,EAAMC,KAI9B,IAAMm2B,EAAS/3B,KACT0tH,EAAa1tH,KAAKuF,aAAa5D,KAAK,CACxCo2B,SACAp2B,OACA0C,MAAKvD,8BAAA,GACAH,EAAK0D,OACL1D,EAAKV,OAEVwE,GAAI9D,EAAK8D,KAGX,OAAOzE,KAAK2tH,UAAUD,GAClB1tH,KAAK8D,eAAe0oH,OAAW7rH,EAAM+sH,GACrCA,GAENjB,eAAc,SAAE9qH,GACd,OAAO3B,KAAK8D,eAAe8pH,OAAkB,CAC3C5tH,KAAK8D,eAAe+pH,OAAgB,CAClC7tH,KAAK+sH,gBAAgB/sH,KAAK8tH,QAAQnsH,SAIxC6rH,QAAO,SAAE7rH,GACP,OAAO3B,KAAKosH,YAAY/1G,QAAQrW,KAAK6B,SAASF,KAAU,GAE1DgsH,UAAS,SAAE9tG,GACT,OAAwB,IAAjBA,EAAMre,QACkB,MAA7Bqe,EAAM,GAAGkuG,kBACuC,gBAAhDluG,EAAM,GAAGkuG,iBAAiB5Y,KAAKp0G,QAAQlB,MAE3C4tH,YAAW,SAAE9rH,GACX,OAAOxB,QAAQ6tH,eAAoBrsH,EAAM3B,KAAK6rH,cAAc,KAE9DiC,QAAO,SAAEnsH,GACP,OAAOa,OAAOwrH,eAAoBrsH,EAAM3B,KAAK8rH,SAAUnqH,KAEzDE,SAAQ,SAAEF,GACR,OAAOqsH,eAAoBrsH,EAAM3B,KAAK+rH,UAAW/rH,KAAK8tH,QAAQnsH,MAIlEuE,OAAM,WAGJ,IAFA,IAAMd,EAA0B,GAC1Bs1G,EAAc16G,KAAKwoD,MAAMhnD,OACtBI,EAAQ,EAAGA,EAAQ84G,EAAa94G,IAAS,CAChD,IAAMD,EAAO3B,KAAKwoD,MAAM5mD,GAEpB5B,KAAK4rH,cACP5rH,KAAKwtH,QAAQ7rH,KAGH,MAARA,EAAcyD,EAAS2E,KAAK/J,KAAKqtH,QAAQ,CAAE1rH,OAAMC,WAC5CD,EAAKoQ,OAAQ3M,EAAS2E,KAAK/J,KAAK6R,UAAUlQ,IAC1CA,EAAKssH,QAAS7oH,EAAS2E,KAAK/J,KAAK8sH,WAAWnrH,IAChDyD,EAAS2E,KAAK/J,KAAKqtH,QAAQ,CAAE1rH,OAAMC,YAS1C,OANAwD,EAAS5D,QAAU4D,EAAS2E,KAAK/J,KAAK0uF,OAAO,YAAc1uF,KAAKssH,kBAEhEtsH,KAAK0uF,OAAO,iBAAmBtpF,EAASsT,QAAQ1Y,KAAK0uF,OAAO,iBAE5D1uF,KAAK0uF,OAAO,gBAAkBtpF,EAAS2E,KAAK/J,KAAK0uF,OAAO,gBAEjD1uF,KAAK8D,eAAeoqH,OAAO,CAChC1qH,YAAa,gBACbC,MAAOzD,KAAKgS,aACZ3N,MAAO,CACLsB,KAAM,UACNggG,UAAW,GAEblhG,GAAI,CACF8nH,UAAY,SAAAv8G,GACVA,EAAE8F,mBAGN7V,MAAO,CAAE8C,MAAO/C,KAAK+C,QACpBqC,M,4DClQQqJ,SAAI7O,OAAO,CACxBC,KAAM,aAENI,MAAO,CACL+rH,WAAY,CACVzpH,KAAMC,OACNK,QAAS,0B,oCCuBFsrH,EAAmB,CAC9BC,cAAc,EACdC,qBAAqB,EACrBC,aAAa,EACbC,aAAa,EACb3tE,UAAW,KAIP4pC,EAAatoF,eACjBssH,OACAC,OACAC,OACAC,GAiBankC,SAAW5qF,SAAkBA,OAAO,CACjDC,KAAM,WAENkG,WAAY,CACV6oH,qBAGF3uH,MAAO,CACL4uH,WAAY,CACVtsH,KAAMC,OACNK,QAAS,aAEXisH,OAAQ,CACNvsH,KAAM,KACNM,SAAS,GAEXksH,WAAY5uH,QACZ6uH,MAAO7uH,QACP8uH,UAAW9uH,QACX+uH,eAAgB/uH,QAChBgvH,cAAehvH,QACfivH,MAAOjvH,QACPyrH,aAAczrH,QACdqoD,MAAO,CACLjmD,KAAMlB,MACNwB,QAAS,WAAF,MAAQ,KAEjBwsH,UAAW,CACT9sH,KAAMC,OACNK,QAAS,WAEXgpH,aAAc,CACZtpH,KAAM,CAACC,OAAQnB,MAAOkP,UACtB1N,QAAS,YAEXipH,SAAU,CACRvpH,KAAM,CAACC,OAAQnB,MAAOkP,UACtB1N,QAAS,QAEXkpH,UAAW,CACTxpH,KAAM,CAACC,OAAQnB,MAAOkP,UACtB1N,QAAS,SAEXysH,UAAW,CACT/sH,KAAM,CAACC,OAAQnB,MAAO8F,QACtBtE,QAAS,WAAF,OAAQsrH,IAEjBtyG,SAAU1b,QACVovH,YAAapvH,QACbqvH,aAAcrvH,QACdsvH,WAAYtvH,SAGdoD,KAAI,WACF,MAAO,CACLmsH,YAAa1vH,KAAK+uH,WAAa/uH,KAAKwoD,MAAQ,GAC5CmnE,cAAc,EACdC,cAAc,EACdC,SAAU,GAIVtkC,eAA0BvmF,IAAfhF,KAAKuB,MACZvB,KAAKuB,MACLvB,KAAK6b,SAAW,QAAK7W,EACzBk4G,eAAgB,EAChBiP,cAAe,GACf2D,qBAAsB,GACtBC,uBAAwB,IAI5BnvH,SAAU,CAERovH,SAAQ,WACN,OAAOhwH,KAAKiwH,iBAAiBjwH,KAAK0vH,YAAY/rH,OAAO3D,KAAKwoD,SAE5D3nD,QAAO,WACL,OAAAC,8BAAA,GACK0tH,OAAWztH,QAAQH,SAASC,QAAQG,KAAKhB,OADvC,IAEL,YAAY,EACZ,kBAAmBA,KAAKkwH,SACxB,yBAA0BlwH,KAAKyvH,WAC/B,2BAA4BzvH,KAAK4vH,aACjC,qBAAsB5vH,KAAK6b,YAI/Bs0G,cAAa,WACX,OAAOnwH,KAAKgwH,UAEdI,aAAY,WACV,MAAO,QAAPzsH,OAAe3D,KAAK0yF,OAEtB29B,qBAAoB,W,MACZ9uH,EAAQvB,KAAK6b,SACf7b,KAAKmsH,eAC+B,QAAnC7/B,EAAAtsF,KAAK8tH,QAAQ9tH,KAAKmsH,cAAc,WAAG,IAAA7/B,IAAI,IAAIp1D,WAEhD,MAAiC,oBAAtBl3B,KAAKswH,aACPtwH,KAAKswH,aAAa/uH,GAGpBA,EAAMC,QAEfuE,WAAU,eAAA/B,EAAA,KACR,OAAOhE,KAAKqrF,UAAY,CAAC,CACvBxrF,KAAM,gBACN0B,MAAO,CACLgd,QAASve,KAAK43G,KACd2Y,iBAAkBvwH,KAAKuwH,iBACvB9vB,QAAS,WAAF,OAAQz8F,EAAKwsH,oCAEnBxrH,GAEPyrH,cAAa,WACX,MAAO,QAETP,SAAQ,WACN,OAAOlwH,KAAKgvH,OAAShvH,KAAKyvH,YAE5BiB,QAAO,WACL,OAAOvwH,QAAQH,KAAKkwH,UAAYlwH,KAAKuF,aAAaorH,YAEpDC,QAAO,WACL,OAAO5wH,KAAKmsH,cAAc3qH,OAAS,GAErCqvH,SAAQ,WACN,IAAMC,EAAU9wH,KAAK+wH,QAAW/wH,KAAK+wH,OAAO3nF,QAASqvE,SAAoCuY,SACnF3sH,EAAQysH,EAAOptH,eAAA,GAClBotH,GAAU,GACT,GAEJ,MAAO,CACLzsH,MAAKvD,8BAAA,GACAuD,GADE,IAEL4G,GAAIjL,KAAKowH,eAEXnwH,MAAO,CACL0rH,OAAQ3rH,KAAK6b,SACb5X,MAAOjE,KAAKqvH,UACZtsH,MAAO/C,KAAK+C,MACZ6oH,aAAc5rH,KAAK4rH,aACnBpjE,MAAOxoD,KAAKixH,iBACZpF,aAAc7rH,KAAK6rH,aACnBC,SAAU9rH,KAAK8rH,SACfC,UAAW/rH,KAAK+rH,UAChBC,WAAYhsH,KAAKsE,SAASC,KAAKC,EAAExE,KAAKgsH,YACtCG,cAAensH,KAAKmsH,eAEtB1nH,GAAI,CACFysH,OAAQlxH,KAAKu0F,YAEf5nF,YAAa,CACXhL,KAAM3B,KAAKuF,aAAa5D,QAI9BwvH,WAAU,WAKR,OAJInxH,KAAK0uF,OAAO,YAAc1uF,KAAK0uF,OAAO,iBAAmB1uF,KAAK0uF,OAAO,iBACvExB,eAAa,6DAGRltF,KAAK8D,eAAestH,EAAapxH,KAAK6wH,WAE/CI,iBAAgB,WACd,OAAQjxH,KAAKqxH,YAAoBC,KAC7BtxH,KAAKmwH,cACLnwH,KAAKmwH,cAAc19G,MAAM,EAAGzS,KAAK6vH,WAEvC0B,YAAa,WAAF,OAAQ,GACnBF,YAAW,WACT,IAAIG,EAA4C,kBAAnBxxH,KAAKsvH,UAC9BtvH,KAAKsvH,UAAUjgH,MAAM,KACrBrP,KAAKsvH,UAST,OAPIjuH,MAAMC,QAAQkwH,KAChBA,EAAkBA,EAAgBl/G,QAAO,SAAC6Q,EAAKkL,GAE7C,OADAlL,EAAIkL,EAAEjf,SAAU,EACT+T,IACN,KAGLriB,8BAAA,GACKqtH,GADE,IAELiB,MAAOpvH,KAAKovH,MACZ7tH,MAAOvB,KAAKuxH,aAAevxH,KAAK4vH,aAChC6B,YAAaD,EAAgBxwE,QAAU,EAAI,GACxCwwE,KAKTxjH,MAAO,CACLq+E,cAAa,SAAE3pF,GAAG,IAAAoP,EAAA,KAChB9R,KAAK0xH,aAAehvH,EACpB1C,KAAK2xH,mBAED3xH,KAAK6b,UACP7b,KAAK6sF,WAAU,W,MACE,QAAfP,EAAAx6E,EAAK/F,MAAM6lH,YAAI,IAAAtlC,KAAEulC,sBAGjB7xH,KAAK4rH,cACP5rH,KAAK6sF,WAAU,WACb/6E,EAAK49C,eAIXkgE,aAAY,SAAEltH,GAAG,IAAA+S,EAAA,KACf6pB,OAAOhlB,YAAW,kBAAM7E,EAAKq8G,mBAAmBpvH,OAElD8lD,MAAO,CACLlqC,WAAW,EACXC,QAAO,SAAE7b,GAAG,IAAAqd,EAAA,KACN/f,KAAK+uH,YAIP/uH,KAAK6sF,WAAU,WACb9sE,EAAK2vG,YAAc3vG,EAAKkwG,iBAAiBlwG,EAAK2vG,YAAY/rH,OAAOjB,OAIrE1C,KAAK2xH,sBAKXlwH,QAAS,CAEPm2G,KAAI,SAAE5nG,GACJw+G,OAAWztH,QAAQU,QAAQm2G,KAAK52G,KAAKhB,KAAMgQ,GAC3ChQ,KAAK4vH,cAAe,EACpB5vH,KAAKqrF,WAAY,EACjBrrF,KAAKk9G,eAAiB,EACtBl9G,KAAK+xH,cAAc,IAGrBC,aAAY,WAEPhyH,KAAKusF,gBACNvsF,KAAK4vH,eAGP5vH,KAAK4vH,cAAe,IAEtBqC,kBAAiB,eAAA9xG,EAAA,KACfngB,KAAKkyH,SAASlyH,KAAK6b,SAAW,GAAK,MACnC7b,KAAK+xH,cAAc,GACnB/xH,KAAK6sF,WAAU,kBAAM1sE,EAAKpU,MAAMkU,OAASE,EAAKpU,MAAMkU,MAAMovE,WAEtDrvF,KAAKuvH,cAAavvH,KAAK4vH,cAAe,IAE5CW,iBAAgB,SAAEvgH,GAChB,OAAKhQ,KAAK4vH,eAGP5vH,KAAKm8G,gBAIJn8G,KAAKmyH,eACNnyH,KAAKmyH,aAAa7I,SAASt5G,EAAEzC,UAG9BvN,KAAKwa,MACJxa,KAAKwa,IAAI8uG,SAASt5G,EAAEzC,SACrByC,EAAEzC,SAAWvN,KAAKwa,KAGtBy1G,iBAAgB,SAAEnlD,GAEhB,IADA,IAAMsnD,EAAe,IAAIjkB,IAChBvsG,EAAQ,EAAGA,EAAQkpE,EAAItpE,SAAUI,EAAO,CAC/C,IAAMD,EAAOmpE,EAAIlpE,GAGjB,GAAY,MAARD,EAIJ,GAAIA,EAAKoQ,QAAUpQ,EAAKssH,QACtBmE,EAAaplF,IAAIrrC,EAAMA,OADzB,CAKA,IAAMe,EAAM1C,KAAK6B,SAASF,IAGzBywH,EAAaxjB,IAAIlsG,IAAQ0vH,EAAaplF,IAAItqC,EAAKf,IAElD,OAAON,MAAM8U,KAAKi8G,EAAaniG,WAEjCoiG,kBAAiB,SAAE1wH,GAAY,IAAA2e,EAAA,KACvByrG,EAAY/rH,KAAK6B,SAASF,GAEhC,OAAQ3B,KAAKqsF,eAAiB,IAAIv+C,WAAW,SAAAx1B,GAAD,OAAegI,EAAKgyG,gBAAgBhyG,EAAKze,SAASyW,GAAIyzG,OAEpGoG,WAAU,WACR,OAAOnyH,KAAK+L,MAAM6lH,MAAQ5xH,KAAK+L,MAAM6lH,KAAK7lH,MAAMssG,SAElDka,iBAAgB,SAAE5wH,EAAcC,GAAa,IAAA8gG,EAAA,KACrClX,EACJxrF,KAAKwrF,YACLxrF,KAAKytH,YAAY9rH,GAEb4qF,GAAiBf,GAAcxrF,KAAKusF,cAE1C,OAAOvsF,KAAK8D,eAAeymF,OAAO,CAChC/mF,YAAa,iBACba,MAAO,CAAEshG,UAAW,GACpB1lG,MAAO,CACLuF,MAAOxF,KAAKkvH,gBAAkB3iC,EAC9BnsF,SAAUorF,EACVmhC,WAAY/qH,IAAU5B,KAAKk9G,cAC3B94G,MAAOpE,KAAKyvH,YAEdhrH,GAAI,CACFC,MAAQ,SAAAsL,GACDu8E,IAELv8E,EAAEwB,kBAEFkxF,EAAKwa,cAAgBt7G,IAEvB,cAAe,WAAf,OAAqB8gG,EAAK8vB,YAAY7wH,KAExCkL,IAAK0xF,KAAKC,UAAUx+F,KAAK6B,SAASF,KACjC3B,KAAK8tH,QAAQnsH,KAElB8wH,kBAAiB,SAAE9wH,EAAcC,EAAem7C,GAC9C,IAAM94C,EAAQrC,IAAU5B,KAAKk9G,eAAiBl9G,KAAK6D,cAC7C2nF,EACJxrF,KAAKwrF,YACLxrF,KAAKytH,YAAY9rH,GAGnB,OAAO3B,KAAK8D,eAAe,MAAO9D,KAAKiG,aAAahC,EAAO,CACzDT,YAAa,iDACbC,MAAO,CACL,gCAAiC+nF,GAEnC3+E,IAAK0xF,KAAKC,UAAUx+F,KAAK6B,SAASF,MAL7B,GAAAgC,OAMA3D,KAAK8tH,QAAQnsH,IAAKgC,OAAGo5C,EAAO,GAAK,QAE1CwwC,eAAc,WACZ,IAAMmlC,EAAa1yH,KAAK2yH,gBAClB1yG,EAAQjgB,KAAK6mG,WAYnB,OARIxlG,MAAMC,QAAQoxH,GAChBA,EAAW3oH,KAAKkW,IAGhByyG,EAAWttH,SAAWstH,EAAWttH,UAAY,GAC7CstH,EAAWttH,SAAS2E,KAAKkW,IAGpB,CACLjgB,KAAK4yH,cACL5yH,KAAK8D,eAAe,MAAO,CACzBN,YAAa,iBACbuC,WAAY/F,KAAK+F,YAChB,CACD/F,KAAK0tF,WACL1tF,KAAK09D,OAAS19D,KAAK6yH,SAAS,UAAY,KACxCH,EACA1yH,KAAK+9F,OAAS/9F,KAAK6yH,SAAS,UAAY,KACxC7yH,KAAK8yH,eACL9yH,KAAK+yH,cACL/yH,KAAKgzH,mBAEPhzH,KAAKizH,UACLjzH,KAAKkzH,gBAGT7tB,QAAO,SACL9iG,EACA4wH,EACAC,GAEA,IAAMlwH,EAAOkqF,OAAOrsF,QAAQU,QAAQ4jG,QAAQrkG,KAAKhB,KAAMuC,EAAM4wH,EAAIC,GAajE,MAXa,WAAT7wH,IAEFW,EAAKkC,SAAU,GAAG7B,KAAO+6G,eAAUp7G,EAAKkC,SAAU,GAAG7B,KAAO,CAC1Dc,MAAO,CACLshG,SAAUziG,EAAKkC,SAAU,GAAG2oH,iBAAkBx/E,WAAa,KAC3D,cAAe,OACf,kBAAcvpC,MAKb9B,GAET2jG,SAAQ,WACN,IAAM5mF,EAAQuuG,OAAWztH,QAAQU,QAAQolG,SAAS7lG,KAAKhB,MAiBvD,cAfOigB,EAAM1c,KAAMc,MAAOxE,KAE1BogB,EAAM1c,KAAO+6G,eAAUr+F,EAAM1c,KAAO,CAClC+K,SAAU,CAAE/M,MAAO,MACnB8C,MAAO,CACL3D,UAAU,EACV6B,KAAM,OACN,gBAAiBC,OAAOxC,KAAKwsF,YAC7B,wBAAyB6mC,eAAqBrzH,KAAK+L,MAAM6lH,KAAM,iBAC/D0B,aAAcD,eAAqBpzG,EAAM1c,KAAO,qBAAsB,OACtEgwH,YAAevzH,KAAK4wH,UAAY5wH,KAAKwzH,wBAAyBxzH,KAAKqrF,WAAcrrF,KAAKk2G,cAAgClxG,EAAnBhF,KAAKuzH,aAE1G9uH,GAAI,CAAEgvH,SAAUzzH,KAAK0zH,cAGhBzzG,GAET+yG,eAAc,WACZ,OAAOhzH,KAAK8D,eAAe,QAAS,CAClCwK,SAAU,CAAE/M,MAAOvB,KAAKurF,WACxBlnF,MAAO,CACL9B,KAAM,SACN1C,KAAMG,KAAK+tF,OAAOluF,SAIxB4tF,aAAY,WACV,IAAMvnF,EAASsoH,OAAWztH,QAAQU,QAAQgsF,aAAazsF,KAAKhB,MAU5D,OARAkG,EAAO3C,KAAMc,MAAbvD,8BAAA,GACKoF,EAAO3C,KAAMc,OADG,IAEnBsB,KAAM,SACN,gBAAiB,UACjB,gBAAiBnD,OAAOxC,KAAK4vH,cAC7B,YAAa5vH,KAAKowH,eAGblqH,GAETytH,QAAO,WAEL,OAAI3zH,KAAK0uF,OAAO,YAAc1uF,KAAK0uF,OAAO,iBAAmB1uF,KAAK0uF,OAAO,eAChE1uF,KAAK4zH,kBAEL5zH,KAAKmxH,YAGhByC,gBAAe,eAAAC,EAAA,KACPC,EAAQ,CAAC,eAAgB,UAAW,eACvC7+G,QAAO,SAAA8+G,GAAQ,OAAIF,EAAKnlC,OAAOqlC,MAC/B5jH,KAAI,SAAA4jH,GAAQ,OAAIF,EAAK/vH,eAAe,WAAY,CAC/C+b,KAAMk0G,GACLF,EAAKnlC,OAAOqlC,OAIjB,OAAO/zH,KAAK8D,eAAestH,EAApBtwH,eAAA,GACFd,KAAK6wH,UACPiD,IAELb,QAAO,eAAAe,EAAA,KACC/zH,EAAQD,KAAKqxH,YAiBnB,OAhBApxH,EAAMg0H,UAAYj0H,KAAK+L,MAAM,cAEzB,WAAY9L,IAGE,KAAhBD,KAAK8uH,SACW,IAAhB9uH,KAAK8uH,QACW,WAAhB9uH,KAAK8uH,OAIL7uH,EAAM6uH,OAAS9uH,KAAKwa,IAEpBva,EAAM6uH,OAAS9uH,KAAK8uH,QAGf9uH,KAAK8D,eAAewmF,OAAO,CAChCjmF,MAAO,CAAEsB,UAAMX,GACf/E,QACAwE,GAAI,CACFwb,MAAQ,SAAAvd,GACNsxH,EAAKpE,aAAeltH,EACpBsxH,EAAK3oC,UAAY3oF,GAEnB23G,OAAQr6G,KAAK0vD,UAEftkD,IAAK,QACJ,CAACpL,KAAK2zH,aAEXhB,cAAa,WACX,IAGIuB,EAHA1yH,EAASxB,KAAKmsH,cAAc3qH,OAC1B4D,EAAW,IAAI/D,MAAMG,GAIzB0yH,EADEl0H,KAAKuF,aAAaorH,UACL3wH,KAAKm0H,iBACXn0H,KAAKkwH,SACClwH,KAAKuyH,iBAELvyH,KAAKyyH,kBAGtB,MAAOjxH,IACL4D,EAAS5D,GAAU0yH,EACjBl0H,KAAKmsH,cAAc3qH,GACnBA,EACAA,IAAW4D,EAAS5D,OAAS,GAIjC,OAAOxB,KAAK8D,eAAe,MAAO,CAChCN,YAAa,wBACZ4B,IAEL+uH,iBAAgB,SAAExyH,EAAcC,GAAa,IAAAwyH,EAAA,KAC3C,OAAOp0H,KAAKuF,aAAaorH,UAAW,CAClCtsH,MAAO,CACLZ,MAAO,kBAETs0B,OAAQ/3B,KACR2B,OACAC,QACAsvH,OAAS,SAAAlhH,GACPA,EAAEwB,kBACF4iH,EAAKlX,cAAgBt7G,GAEvByyH,SAAUzyH,IAAU5B,KAAKk9G,cACzB98G,UAAWJ,KAAKusF,iBAGpB+nC,aAAY,WACV,OAAOt0H,KAAK+L,MAAM6lH,KAAQ5xH,KAAK+L,MAAM6lH,KAAgC2C,WAAa,GAEpF9G,YAAW,SAAE9rH,GACX,OAAOqsH,eAAoBrsH,EAAM3B,KAAK6rH,cAAc,IAEtDiC,QAAO,SAAEnsH,GACP,OAAOqsH,eAAoBrsH,EAAM3B,KAAK8rH,SAAUnqH,IAElDE,SAAQ,SAAEF,GACR,OAAOqsH,eAAoBrsH,EAAM3B,KAAK+rH,UAAW/rH,KAAK8tH,QAAQnsH,KAEhE2lG,OAAM,SAAEt3F,GACNA,GAAKhQ,KAAK6J,MAAM,OAAQmG,IAE1BwiH,YAAW,SAAE7wH,GACP3B,KAAK6b,SAAU7b,KAAKu0F,WAAW5yF,GAC9B3B,KAAKkyH,SAAS,MAGe,IAA9BlyH,KAAKmsH,cAAc3qH,OACrBxB,KAAK4vH,cAAe,EAEpB5vH,KAAK4vH,cAAe,EAEtB5vH,KAAKk9G,eAAiB,GAExBj9D,QAAO,SAAEjwC,GACFhQ,KAAKusF,gBAELvsF,KAAKw0H,cAAcxkH,EAAEzC,UACxBvN,KAAK4vH,cAAe,GAGjB5vH,KAAKqrF,YACRrrF,KAAKqrF,WAAY,EACjBrrF,KAAK6J,MAAM,UAGb7J,KAAK6J,MAAM,QAASmG,KAEtBykH,UAAS,SAAEzkH,GACTA,EAAE8F,iBACE9V,KAAK4vH,eACP5/G,EAAEwB,kBACFxR,KAAK4vH,cAAe,IAGxB8D,WAAU,SAAE1jH,GAAgB,IAAA0kH,EAAA,KAC1B,KACE10H,KAAK6b,WACJ7b,KAAKusF,eACNvsF,KAAKmvH,eACLn/G,EAAEnD,IAAIrL,OAAS,GACfwO,EAAE2kH,SAAW3kH,EAAE4kH,SAAW5kH,EAAE6kH,QAL9B,CAQA,IAAMC,EAA4B,IAC5Bt4G,EAAMu4G,YAAYv4G,MACpBA,EAAMxc,KAAK+vH,uBAAyB+E,IACtC90H,KAAK8vH,qBAAuB,IAE9B9vH,KAAK8vH,sBAAwB9/G,EAAEnD,IAAIjF,cACnC5H,KAAK+vH,uBAAyBvzG,EAE9B,IAAM5a,EAAQ5B,KAAKgwH,SAASliF,WAAU,SAAAnsC,G,MAC9B0B,GAA0B,QAAlBipF,EAAAooC,EAAK5G,QAAQnsH,UAAK,IAAA2qF,IAAI,IAAIp1D,WAExC,OAAO7zB,EAAKuE,cAAc67G,WAAWiR,EAAK5E,yBAEtCnuH,EAAO3B,KAAKgwH,SAASpuH,IACZ,IAAXA,IACF5B,KAAK6vH,SAAWl4G,KAAKlH,IAAIzQ,KAAK6vH,SAAUjuH,EAAQ,GAChD5B,KAAKkyH,SAASlyH,KAAKwvH,aAAe7tH,EAAO3B,KAAK6B,SAASF,IACvD3B,KAAK6sF,WAAU,kBAAM6nC,EAAK3oH,MAAM6lH,KAAKoD,cACrC16G,YAAW,kBAAMo6G,EAAK3C,aAAanwH,SAGvCmnG,UAAS,SAAE/4F,GAAgB,IAAAilH,EAAA,KACzB,IAAIj1H,KAAKwsF,YAAcx8E,EAAEy1F,UAAYC,OAASqR,IAA9C,CAEA,IAAMtR,EAAUz1F,EAAEy1F,QACZmsB,EAAO5xH,KAAK+L,MAAM6lH,KAIxB,GAFA5xH,KAAK6J,MAAM,UAAWmG,GAEjB4hH,EAqBL,OAjBI5xH,KAAK4vH,cAAgB,CAAClqB,OAASwvB,GAAIxvB,OAASyvB,KAAMzvB,OAAS0vB,KAAM1vB,OAAStqD,IAAKsqD,OAASuS,OAAOt1G,SAAS8iG,IAC1GzlG,KAAK6sF,WAAU,WACb+kC,EAAKyD,gBAAgBrlH,GACrBilH,EAAKprH,MAAM,oBAAqB+nH,EAAK2C,cAKrC,CACF7uB,OAASuS,MACTvS,OAAS1mE,OACTr8B,SAAS8iG,IAAUzlG,KAAKgyH,gBAOvBhyH,KAAK4vH,cACN,CAAClqB,OAASwvB,GAAIxvB,OAASyvB,KAAMzvB,OAAS0vB,KAAM1vB,OAAStqD,KAAKz4C,SAAS8iG,GAC5DzlG,KAAKs1H,SAAStlH,GAGnBy1F,IAAYC,OAAS6vB,IAAYv1H,KAAKy0H,UAAUzkH,GAGhDy1F,IAAYC,OAASqR,IAAY/2G,KAAKw1H,UAAUxlH,GAGhDy1F,IAAYC,OAAS1mE,MAAch/B,KAAKy1H,YAAYzlH,QAAxD,IAEF8hH,mBAAkB,SAAEpvH,GAIlB,KACG1C,KAAK6b,WAAanZ,GACnB1C,KAAKs0H,gBAAkB,GAFzB,CAKA,IAAM1C,EAAO5xH,KAAK+L,MAAM6lH,KAExB,GAAKA,GAAS5xH,KAAK4wH,QAAnB,CAGA5wH,KAAK+L,MAAM6lH,KAAKoD,WAChB,IAAK,IAAI18G,EAAI,EAAGA,EAAIs5G,EAAK8D,MAAMl0H,OAAQ8W,IACrC,GAAoD,SAAhDs5G,EAAK8D,MAAMp9G,GAAGs1C,aAAa,iBAA6B,CAC1D5tD,KAAK+xH,aAAaz5G,GAClB,UAINq9G,UAAS,SAAE3lH,GAAa,IAAA4lH,EAAA,KAGpB51H,KAAK61H,cACO,IAAZ7lH,EAAE8lH,OACF91H,KAAKusF,eAKDvsF,KAAKw0H,cAAcxkH,EAAEzC,SACvBvN,KAAK6sF,WAAU,kBAAO+oC,EAAKhG,cAAgBgG,EAAKhG,gBAIpDpB,OAAWztH,QAAQU,QAAQk0H,UAAU30H,KAAKhB,KAAMgQ,IAElD0/C,SAAQ,eAAAqmE,EAAA,KACN,GAAK/1H,KAAK4vH,aAKH,CACL,GAAI5vH,KAAK6vH,SAAW7vH,KAAKmwH,cAAc3uH,OAAQ,OAE/C,IAAMw0H,EACJh2H,KAAKmyH,aAAat3G,cACjB7a,KAAKmyH,aAAaz3G,UACnB1a,KAAKmyH,aAAajqD,cAChB,IAEA8tD,IACFh2H,KAAK6vH,UAAY,SAdnBjiF,uBAAsB,WACpB,IAAMyqE,EAAU0d,EAAK5D,aACjB9Z,IAASA,EAAQ39F,UAAY,OAgBvC+6G,YAAW,SAAEzlH,GACXA,EAAE8F,kBAEJ0/G,UAAS,SAAExlH,GACT,IAAM4hH,EAAO5xH,KAAK+L,MAAM6lH,KAExB,GAAKA,EAAL,CAEA,IAAMqE,EAAarE,EAAKqE,YAKrBj2H,KAAK6b,UACNo6G,GACAj2H,KAAK4vH,cAEL5/G,EAAE8F,iBACF9F,EAAEwB,kBAEFykH,EAAWvxH,SAKX1E,KAAK43G,KAAK5nG,KAGdslH,SAAQ,SAAEtlH,GAAgB,IAAAkmH,EAAA,KAClBtE,EAAO5xH,KAAK+L,MAAM6lH,KAExB,GAAKA,EAAL,CAOA,GALA5hH,EAAE8F,iBAKE9V,KAAK6b,SAAU,OAAO7b,KAAKgyH,eAE/B,IAAMvsB,EAAUz1F,EAAEy1F,QAIlBmsB,EAAKngC,UAAW,EAEhBnyD,OAAOsO,uBAAsB,WAG3B,GAFAgkF,EAAKoD,YAEApD,EAAKuE,kBAAmB,OAAOD,EAAKlE,eAEzC,OAAQvsB,GACN,KAAKC,OAASwvB,GACZtD,EAAKwE,WACL,MACF,KAAK1wB,OAASyvB,KACZvD,EAAKyE,WACL,MACF,KAAK3wB,OAAS0vB,KACZxD,EAAK0E,YACL,MACF,KAAK5wB,OAAStqD,IACZw2E,EAAK2E,WACL,MAEJL,EAAK3hC,WAAW2hC,EAAKlG,SAASkG,EAAK5B,sBAGvC//B,WAAU,SAAE5yF,GAAY,IAAA60H,EAAA,KACtB,GAAKx2H,KAAK6b,SAGH,CACL,IAAMwwE,GAAiBrsF,KAAKqsF,eAAiB,IAAI55E,QAC3C6F,EAAItY,KAAKqyH,kBAAkB1wH,GASjC,IAPO,IAAP2W,EAAW+zE,EAAct+C,OAAOz1B,EAAG,GAAK+zE,EAActiF,KAAKpI,GAC3D3B,KAAKkyH,SAAS7lC,EAAcl8E,KAAK,SAAAmI,GAC/B,OAAOk+G,EAAKhH,aAAel3G,EAAIk+G,EAAK30H,SAASyW,OAK3CtY,KAAK4rH,aACP5rH,KAAK+xH,cAAc,OACd,CACL,IAAMnwH,EAAQ5B,KAAKmwH,cAAc95G,QAAQ1U,IACpCC,IACH5B,KAAK6sF,WAAU,kBAAM2pC,EAAKzqH,MAAM6lH,KAAKoD,cACrC16G,YAAW,kBAAMk8G,EAAKzE,aAAanwH,aAnBvC5B,KAAKkyH,SAASlyH,KAAKwvH,aAAe7tH,EAAO3B,KAAK6B,SAASF,IACvD3B,KAAK4vH,cAAe,GAuBxBmC,aAAY,SAAEnwH,GACZ5B,KAAK+L,MAAM6lH,OAAU5xH,KAAK+L,MAAM6lH,KAAgC2C,UAAY3yH,IAE9E+vH,iBAAgB,eAMd9W,EANc4b,EAAA,KACRtK,EAAgB,GAChBl8F,EAAUjwB,KAAK6b,UAAaxa,MAAMC,QAAQtB,KAAKqsF,eAEjDrsF,KAAKqsF,cADL,CAACrsF,KAAKqsF,eADVyuB,EAAAC,eAIoB9qF,GAApB,QAAAjW,EAAA,WAA4B,IAAjBzY,EAAXs5G,EAAAt5G,MACQK,EAAQ60H,EAAKzG,SAASliF,WAAU,SAAA/4B,GAAC,OAAI0hH,EAAKnE,gBAC9CmE,EAAK50H,SAASkT,GACd0hH,EAAK50H,SAASN,OAGZK,GAAS,GACXuqH,EAAcpiH,KAAK0sH,EAAKzG,SAASpuH,KAPrC,IAAAk5G,EAAA9mF,MAAA6mF,EAAAC,EAAAxoF,KAAA2oF,MAAAjhG,IASC,MAAA6Q,GAAAiwF,EAAA9qG,EAAA6a,GAAA,QAAAiwF,EAAA3wF,IAEDnqB,KAAKmsH,cAAgBA,GAEvB+F,SAAQ,SAAE3wH,GACHvB,KAAKsyH,gBAAgB/wH,EAAOvB,KAAKqsF,iBACpCrsF,KAAKqsF,cAAgB9qF,EACrBvB,KAAK6J,MAAM,SAAUtI,KAGzBizH,cAAa,SAAEjnH,GAGb,IAAMmpH,EAAc12H,KAAK+L,MAAM,gBAE/B,OAAO2qH,IAAgBA,IAAgBnpH,GAAUmpH,EAAYpN,SAAS/7G,S,kQCz2B7DrL,sBAQbkrF,OACAupC,QAEA/2H,OAAO,CACPC,KAAM,WAENkG,WAAY,CACV6oH,qBAGF1sH,OAAQ,CAACy0H,QAET12H,MAAO,CACLG,SAAUD,QACVy2H,aAAcz2H,QACdsQ,IAAK,CACHlO,KAAM,CAAC8I,OAAQ7I,QACfK,QAAS,KAEX2N,IAAK,CACHjO,KAAM,CAAC8I,OAAQ7I,QACfK,QAAS,GAEXoiG,KAAM,CACJ1iG,KAAM,CAAC8I,OAAQ7I,QACfK,QAAS,GAEXg0H,WAAYr0H,OACZs0H,WAAY,CACVv0H,KAAM,CAACpC,QAASqC,QAChBK,aAASmC,EACTvC,UAAW,SAAAsS,GAAC,MAAiB,mBAANA,GAAyB,WAANA,IAE5CgiH,UAAW,CACTx0H,KAAM,CAAC8I,OAAQ7I,QACfK,QAAS,IAEXm0H,WAAY,CACVz0H,KAAMlB,MACNwB,QAAS,WAAF,MAAS,KAElB0gD,MAAO,CACLhhD,KAAM,CAACpC,QAASqC,QAChBK,SAAS,EACTJ,UAAW,SAAAsS,GAAC,MAAiB,mBAANA,GAAyB,WAANA,IAE5CkiH,SAAU,CACR10H,KAAM,CAAC8I,OAAQ7I,QACfK,QAAS,GAEXq0H,WAAY10H,OACZ20H,eAAgB30H,OAChBjB,MAAO,CAAC8J,OAAQ7I,QAChBynD,SAAU9pD,SAGZoD,KAAM,WAAF,MAAS,CACXklG,IAAK,KACLhqF,SAAU,KACVqpF,cAAc,EACdI,cAAe,EACf7c,WAAW,EACXtpF,UAAU,EACV8mG,SAAS,EACTb,YAAa,IAGfpnG,SAAU,CACRC,QAAO,WACL,OAAAC,8BAAA,GACKssF,OAAOrsF,QAAQH,SAASC,QAAQG,KAAKhB,OADnC,IAEL,mBAAmB,EACnB,4BAA6BA,KAAKiqD,SAClC,iCAAkCjqD,KAAK42H,gBAG3CvqC,cAAe,CACbt/C,IAAG,WACD,OAAO/sC,KAAKurF,WAEdv+C,IAAG,SAAEtqC,GACHA,EAAMk4B,MAAMl4B,GAAO1C,KAAKgmG,SAAWtjG,EAInC,IAAMnB,EAAQvB,KAAK+lG,WAAWpuF,KAAKnH,IAAImH,KAAKlH,IAAI/N,EAAK1C,KAAKgmG,UAAWhmG,KAAKimG,WAEtE1kG,IAAUvB,KAAKurF,YAEnBvrF,KAAKurF,UAAYhqF,EAEjBvB,KAAK6J,MAAM,QAAStI,MAGxBolG,gBAAe,WACb,OAAO3mG,KAAK8nG,aACR9nG,KAAKo3H,WAAap3H,KAAKq3H,YACrB,uCACA,OACF,IAENrxB,SAAQ,WACN,OAAO9gF,WAAWllB,KAAKwQ,MAEzBy1F,SAAQ,WACN,OAAO/gF,WAAWllB,KAAKyQ,MAEzB4mH,YAAW,WACT,OAAOr3H,KAAKilG,KAAO,EAAI//E,WAAWllB,KAAKilG,MAAQ,GAEjDkB,WAAU,WACR,IAAMA,GAAcnmG,KAAK+lG,WAAW/lG,KAAKqsF,eAAiBrsF,KAAKgmG,WAAahmG,KAAKimG,SAAWjmG,KAAKgmG,UAAY,IAE7G,OAAOprE,MAAMurE,GAAc,EAAIA,GAEjCmxB,gBAAe,WACb,IAAM7wB,EAAWzmG,KAAKiqD,SAAW,SAAW,OACtCy8C,EAAS1mG,KAAKiqD,SAAW,MAAQ,QACjCstE,EAAWv3H,KAAKiqD,SAAW,SAAW,QAEtCj7C,EAAQhP,KAAKsE,SAASmN,IAAM,OAAS,IACrC2pC,EAAMp7C,KAAKsE,SAASmN,IAAM,IAAM,OAChClQ,EAAQvB,KAAKwrF,WAAL,QAAA7nF,OAA0B3D,KAAKmmG,WAAU,gBAAAxiG,OAAiB3D,KAAKmmG,WAAU,KAEvF,OAAAziG,6CAAA,CACE0C,WAAYpG,KAAK2mG,iBAChBF,EAAWz3F,GACX03F,EAAStrD,GACTm8E,EAAWh2H,IAGhBi2H,YAAW,WACT,IAAM/wB,EAAWzmG,KAAKiqD,SAAWjqD,KAAKsE,SAASmN,IAAM,SAAW,MAAQzR,KAAKsE,SAASmN,IAAM,OAAS,QAC/Fi1F,EAAS1mG,KAAKiqD,SAAW,SAAW,QAEpCj7C,EAAQ,MACRosC,EAAMp7C,KAAKwrF,WAAL,QAAA7nF,OAA0B,IAAM3D,KAAKmmG,WAAU,qBAAAxiG,OAAsB,IAAM3D,KAAKmmG,WAAU,MAEtG,OAAAziG,8BAAA,CACE0C,WAAYpG,KAAK2mG,iBAChBF,EAAWz3F,GACX03F,EAAStrD,IAGdg8E,UAAS,WACP,OAAOp3H,KAAKg3H,WAAWx1H,OAAS,KAC1BxB,KAAKwrF,aAAcxrF,KAAKq3H,cAAer3H,KAAKujD,QAEpDiuB,SAAQ,WACN,OAAO75D,KAAKC,MAAM5X,KAAKimG,SAAWjmG,KAAKgmG,UAAYhmG,KAAKq3H,cAE1DI,eAAc,WACZ,OAAQz3H,KAAKwrF,eACXxrF,KAAK82H,aACL92H,KAAKuF,aAAa,iBAGtByhG,mBAAkB,WAChB,IAAIhnG,KAAKwrF,WACT,OAAIxrF,KAAKk3H,WAAmBl3H,KAAKk3H,WAC7Bl3H,KAAKiF,OAAejF,KAAK0sF,gBACtB1sF,KAAK0sF,iBAAmB,qBAEjCua,uBAAsB,WACpB,IAAIjnG,KAAKwrF,WACT,OAAIxrF,KAAKm3H,eAAuBn3H,KAAKm3H,eAC9Bn3H,KAAK0sF,iBAAmB1sF,KAAK6D,eAEtC6zH,mBAAkB,WAChB,OAAI13H,KAAK62H,WAAmB72H,KAAK62H,WAC1B72H,KAAK0sF,iBAAmB1sF,KAAK6D,gBAIxCmK,MAAO,CACLwC,IAAG,SAAE9N,GACH,IAAMi1H,EAASzyG,WAAWxiB,GAC1Bi1H,EAAS33H,KAAKqsF,eAAiBrsF,KAAK6J,MAAM,QAAS8tH,IAErDlnH,IAAG,SAAE/N,GACH,IAAMi1H,EAASzyG,WAAWxiB,GAC1Bi1H,EAAS33H,KAAKqsF,eAAiBrsF,KAAK6J,MAAM,QAAS8tH,IAErDp2H,MAAO,CACLgd,QAAO,SAAExJ,GACP/U,KAAKqsF,cAAgBt3E,GAEvBuJ,WAAW,IAIf1K,QAAO,WAEL5T,KAAKyoG,IAAM13E,SAASC,cAAc,eAChC7R,eAAY,6EAA8Enf,OAG9FyB,QAAS,CACP8rF,eAAc,WACZ,IAAMnoF,EAAuC,CAACpF,KAAK0tF,YAC7CkqC,EAAS53H,KAAK63H,YAOpB,OANA73H,KAAK42H,aACDxxH,EAASsT,QAAQk/G,GACjBxyH,EAAS2E,KAAK6tH,GAElBxyH,EAAS2E,KAAK/J,KAAKkzH,eAEZ9tH,GAETyyH,UAAS,WACP,OAAO73H,KAAK8D,eAAe,MAAO,CAChCL,MAAK3C,eAAA,CACH,YAAY,EACZ,wBAAyBd,KAAKiqD,SAC9B,qBAAsBjqD,KAAKiqD,SAC3B,oBAAqBjqD,KAAKqrF,UAC1B,mBAAoBrrF,KAAK+B,SACzB,qBAAsB/B,KAAKwrF,WAC3B,qBAAsBxrF,KAAKwsF,YACxBxsF,KAAKgS,cAEVjM,WAAY,CAAC,CACXlG,KAAM,gBACN0B,MAAOvB,KAAKsnG,SAEd7iG,GAAI,CACFC,MAAO1E,KAAK4oG,cACZ2jB,UAAWvsH,KAAK4nG,kBAChB76C,WAAY/sD,KAAK4nG,oBAElB5nG,KAAKmnG,gBAEVA,YAAW,WACT,MAAO,CACLnnG,KAAK6mG,WACL7mG,KAAK8mG,oBACL9mG,KAAKonG,WACLpnG,KAAKwnG,kBACHxnG,KAAKqsF,cACLrsF,KAAKmmG,WACLnmG,KAAK+B,SACL/B,KAAKqrF,UACLrrF,KAAKqnG,QACLrnG,KAAKsnG,UAIXT,SAAQ,WACN,OAAO7mG,KAAK8D,eAAe,QAAS,CAClCO,MAAKvD,eAAA,CACHS,MAAOvB,KAAKqsF,cACZphF,GAAIjL,KAAKwtF,WACTptF,UAAU,EACVM,UAAU,EACVilG,UAAW,GACR3lG,KAAKkB,WAKd4lG,kBAAiB,WACf,IAAM1hG,EAAW,CACfpF,KAAK8D,eAAe,MAAO9D,KAAK4D,mBAAmB5D,KAAKgnG,mBAAoB,CAC1ExjG,YAAa,6BACbqC,MAAO7F,KAAKw3H,eAEdx3H,KAAK8D,eAAe,MAAO9D,KAAK4D,mBAAmB5D,KAAKinG,uBAAwB,CAC9EzjG,YAAa,uBACbqC,MAAO7F,KAAKs3H,oBAIhB,OAAOt3H,KAAK8D,eAAe,MAAO,CAChCN,YAAa,4BACb4H,IAAK,SACJhG,IAELgiG,SAAQ,eAAApjG,EAAA,KACN,IAAKhE,KAAKilG,OAASjlG,KAAKo3H,UAAW,OAAO,KAE1C,IAAMH,EAAW/xG,WAAWllB,KAAKi3H,UAC3B3jH,EAAQ+E,eAAYrY,KAAKwxE,SAAW,GACpC5mC,EAAY5qC,KAAKiqD,SAAW,SAAYjqD,KAAKsE,SAASmN,IAAM,QAAU,OACtEqmH,EAAkB93H,KAAKiqD,SAAYjqD,KAAKsE,SAASmN,IAAM,OAAS,QAAW,MAE7EzR,KAAKiqD,UAAU32C,EAAM8sB,UAEzB,IAAMmjB,EAAQjwC,EAAMnD,KAAI,SAAAvO,GACtB,IAAMwD,EAAW,GAEbpB,EAAKgzH,WAAWp1H,IAClBwD,EAAS2E,KAAK/F,EAAKF,eAAe,MAAO,CACvCN,YAAa,wBACZQ,EAAKgzH,WAAWp1H,KAGrB,IAAMsJ,EAAQtJ,GAAS,IAAMoC,EAAKwtE,UAC5Bw1C,EAAShjH,EAAKM,SAASmN,IAAO,IAAMzN,EAAKmiG,WAAcj7F,EAAQA,EAAQlH,EAAKmiG,WAElF,OAAOniG,EAAKF,eAAe,OAAQ,CACjC+I,IAAKjL,EACL4B,YAAa,iBACbC,MAAO,CACL,yBAA0BujH,GAE5BnhH,MAAKnC,8BAAA,CACHwH,MAAO,GAAFvH,OAAKszH,EAAQ,MAClB9rH,OAAQ,GAAFxH,OAAKszH,EAAQ,OAClBrsF,EAAD,QAAAjnC,OAAqBuH,EAAK,QAAAvH,OAAOszH,EAAW,EAAC,QAC5Ca,EAAD,cAAAn0H,OAAiCszH,EAAW,EAAC,SAE9C7xH,MAGL,OAAOpF,KAAK8D,eAAe,MAAO,CAChCN,YAAa,4BACbC,MAAO,CACL,yCAAyD,WAAfzD,KAAKujD,OAAsBvjD,KAAKg3H,WAAWx1H,OAAS,IAE/F+hD,IAELikD,kBAAiB,SACfjmG,EACAgmG,EACAxlG,EACAspF,EACAgc,EACAC,GACa,IAAbl8F,EAAG2D,UAAAvN,OAAA,QAAAwD,IAAA+J,UAAA,GAAAA,UAAA,GAAG,QAEA3J,EAAW,CAACpF,KAAK+3H,YAEjBC,EAAoBh4H,KAAKi4H,qBAAqB12H,GAGpD,OAFAvB,KAAKy3H,gBAAkBryH,EAAS2E,KAAK/J,KAAKk4H,cAAcF,IAEjDh4H,KAAK8D,eAAe,MAAO9D,KAAKiG,aAAajG,KAAK03H,mBAAoB,CAC3EtsH,MACAyB,IAAKzB,EACL5H,YAAa,4BACbC,MAAO,CACL,oCAAqC1B,EACrC,qCAAsCspF,EACtC,wCAAyCrrF,KAAKy3H,gBAEhD5xH,MAAO7F,KAAKm4H,wBAAwB5wB,GACpCljG,MAAO,CACLsB,KAAM,SACNggG,SAAU3lG,KAAKwrF,YAAc,EAAIxrF,KAAKkB,OAAOykG,SAAW3lG,KAAKkB,OAAOykG,SAAW,EAC/E,aAAc3lG,KAAKkB,OAAO,eAAiBlB,KAAKm8C,MAChD,gBAAiBn8C,KAAKwQ,IACtB,gBAAiBxQ,KAAKyQ,IACtB,gBAAiBzQ,KAAKqsF,cACtB,gBAAiB7pF,OAAOxC,KAAKwsF,YAC7B,mBAAoBxsF,KAAKiqD,SAAW,WAAa,cAEnDxlD,GAAI,CACF4qF,MAAOgY,EACPuQ,KAAMtQ,EACN1B,QAAS5lG,KAAK+oG,aAEd3jG,IAEN6yH,qBAAoB,SAAE12H,GACpB,OAAOvB,KAAKuF,aAAa,eACrBvF,KAAKuF,aAAa,eAAgB,CAAEhE,UACpC,CAACvB,KAAK8D,eAAe,OAAQ,CAACtB,OAAOjB,OAE3C22H,cAAa,SAAE7f,GACb,IAAMvyE,EAAOyoD,eAAcvuF,KAAK+2H,WAE1BxqB,EAAYvsG,KAAKiqD,SAAL,8BAAAtmD,OACiB0H,OAAOrL,KAAK+2H,WAAa,EAAK,EAAC,0GAGlE,OAAO/2H,KAAK8D,eAAes0H,OAAkB,CAC3Cn4H,MAAO,CAAEoG,OAAQ,kBAChB,CACDrG,KAAK8D,eAAe,MAAO,CACzBN,YAAa,kCACbuC,WAAY,CAAC,CACXlG,KAAM,OACN0B,MAAOvB,KAAKqrF,WAAarrF,KAAK+B,UAAgC,WAApB/B,KAAK82H,cAEhD,CACD92H,KAAK8D,eAAe,MAAO9D,KAAK4D,mBAAmB5D,KAAK03H,mBAAoB,CAC1El0H,YAAa,wBACbqC,MAAO,CACLsF,OAAQ26B,EACR56B,MAAO46B,EACPymE,eAEA,CAACvsG,KAAK8D,eAAe,MAAOu0G,UAItC0f,SAAQ,WACN,OAAO/3H,KAAK8D,eAAe,MAAO9D,KAAK4D,mBAAmB5D,KAAK03H,mBAAoB,CACjFl0H,YAAa,sBAGjB20H,wBAAuB,SAAEjtH,GACvB,IAAM0/B,EAAY5qC,KAAKiqD,SAAW,MAAQ,OACtC1oD,EAAQvB,KAAKsE,SAASmN,IAAM,IAAMvG,EAAQA,EAG9C,OAFA3J,EAAQvB,KAAKiqD,SAAW,IAAM1oD,EAAQA,EAEtCmC,eAAA,CACE0C,WAAYpG,KAAK2mG,iBAChB/7D,EAAD,GAAAjnC,OAAgBpC,EAAK,OAGzBqmG,kBAAiB,SAAE53F,GAA0B,I,EAAA8B,EAAA,KAM3C,GALA9B,EAAE8F,iBAEF9V,KAAKye,SAAWze,KAAKqsF,cACrBrsF,KAAK+B,UAAW,EAES,QAArBuqF,EAACt8E,EAAEzC,cAAkB,IAAA++E,OAAA,EAAAA,EAAE5jD,QAAQ,4DAA6D,CAC9F1oC,KAAK8nG,cAAe,EACpB,IAAMC,EAAW/3F,EAAEzC,OAAmB85D,wBAChC9xD,EAAQ,YAAavF,EAAIA,EAAEs3D,QAAQ,GAAKt3D,EAC9ChQ,KAAKgoG,YAAchoG,KAAKiqD,SACpB10C,EAAMiyD,SAAWugC,EAAQ3iE,IAAM2iE,EAAQ58F,OAAS,GAChDoK,EAAMgyD,SAAWwgC,EAAQpyF,KAAOoyF,EAAQ78F,MAAQ,QAEpDlL,KAAKgoG,YAAc,EACnB1oE,OAAO2oE,aAAajoG,KAAKkoG,cACzBloG,KAAKkoG,aAAe5oE,OAAOhlB,YAAW,WACpCxI,EAAKg2F,cAAe,IACnB,KAGL,IAAMK,GAAiBC,QAAmB,CAAE95C,SAAS,EAAM+5C,SAAS,GAC9DC,IAAmBF,QAAmB,CAAE95C,SAAS,GAEjDi6C,EAAe,YAAav4F,EAElChQ,KAAKwoG,YAAYx4F,GACjBhQ,KAAKyoG,IAAIr6C,iBAAiBm6C,EAAe,YAAc,YAAavoG,KAAKwoG,YAAaF,GACtFI,eAAqB1oG,KAAKyoG,IAAKF,EAAe,WAAa,UAAWvoG,KAAK2oG,gBAAiBR,GAE5FnoG,KAAK6J,MAAM,QAAS7J,KAAKqsF,gBAE3Bsc,gBAAe,SAAE34F,GACfA,EAAEwB,kBACF8tB,OAAO2oE,aAAajoG,KAAKkoG,cACzBloG,KAAK8nG,cAAe,EACpB,IAAMQ,IAAmBF,QAAmB,CAAE95C,SAAS,GACvDtuD,KAAKyoG,IAAIh6C,oBAAoB,YAAazuD,KAAKwoG,YAAaF,GAC5DtoG,KAAKyoG,IAAIh6C,oBAAoB,YAAazuD,KAAKwoG,YAAaF,GAE5DtoG,KAAK6J,MAAM,UAAWmG,GACtBhQ,KAAK6J,MAAM,MAAO7J,KAAKqsF,eAClBM,eAAU3sF,KAAKye,SAAUze,KAAKqsF,iBACjCrsF,KAAK6J,MAAM,SAAU7J,KAAKqsF,eAC1BrsF,KAAK6oG,SAAU,GAGjB7oG,KAAK+B,UAAW,GAElBymG,YAAW,SAAEx4F,GACI,cAAXA,EAAEzN,OACJvC,KAAK8nG,cAAe,GAEtB9nG,KAAKqsF,cAAgBrsF,KAAK6nG,eAAe73F,IAE3C+4F,UAAS,SAAE/4F,GACT,GAAKhQ,KAAKusF,cAAV,CAEA,IAAMhrF,EAAQvB,KAAKgpG,aAAah5F,EAAGhQ,KAAKqsF,eAG7B,MAAT9qF,GACAA,EAAQvB,KAAKgmG,UACbzkG,EAAQvB,KAAKimG,WAGfjmG,KAAKqsF,cAAgB9qF,EACrBvB,KAAK6J,MAAM,SAAUtI,MAEvBqnG,cAAa,SAAE54F,GACb,GAAIhQ,KAAK6oG,QACP7oG,KAAK6oG,SAAU,MADjB,CAIA,IAAMwvB,EAAQr4H,KAAK+L,MAAMssH,MACzBA,EAAMhpC,QAENrvF,KAAKwoG,YAAYx4F,GACjBhQ,KAAK6J,MAAM,SAAU7J,KAAKqsF,iBAE5Bib,OAAM,SAAEt3F,GACNhQ,KAAKqrF,WAAY,EAEjBrrF,KAAK6J,MAAM,OAAQmG,IAErBq3F,QAAO,SAAEr3F,GACPhQ,KAAKqrF,WAAY,EAEjBrrF,KAAK6J,MAAM,QAASmG,IAEtB63F,eAAc,SAAE73F,GACd,IAAMhB,EAAQhP,KAAKiqD,SAAW,MAAQ,OAChCzoD,EAASxB,KAAKiqD,SAAW,SAAW,QACpCvlD,EAAQ1E,KAAKiqD,SAAW,UAAY,UAE1CquE,EAGIt4H,KAAK+L,MAAMwsH,MAAMlxD,wBAFVmxD,EADLF,EACHtpH,GACSypH,EAAAH,EAAT92H,GAEGk3H,EAAc,YAAa1oH,EAAIA,EAAEs3D,QAAQ,GAAG5iE,GAASsL,EAAEtL,GAGzDi0H,EAAWhhH,KAAKnH,IAAImH,KAAKlH,KAAKioH,EAAcF,EAAax4H,KAAKgoG,aAAeywB,EAAa,GAAI,IAAM,EAKxG,OAHIz4H,KAAKiqD,WAAU0uE,EAAW,EAAIA,GAC9B34H,KAAKsE,SAASmN,MAAKknH,EAAW,EAAIA,GAE/BzzG,WAAWllB,KAAKwQ,KAAOmoH,GAAY34H,KAAKimG,SAAWjmG,KAAKgmG,WAEjEgD,aAAY,SAAEh5F,EAAkBzO,GAC9B,GAAKvB,KAAKusF,cAAV,CAEA,IAAQqsC,EAAuDlzB,OAAvDkzB,OAAQC,EAA+CnzB,OAA/CmzB,SAAUz9E,EAAqCsqD,OAArCtqD,IAAKg6E,EAAgC1vB,OAAhC0vB,KAAMz/G,EAA0B+vF,OAA1B/vF,KAAME,EAAoB6vF,OAApB7vF,MAAOs/G,EAAazvB,OAAbyvB,KAAMD,EAAOxvB,OAAPwvB,GAExD,GAAK,CAAC0D,EAAQC,EAAUz9E,EAAKg6E,EAAMz/G,EAAME,EAAOs/G,EAAMD,GAAIvyH,SAASqN,EAAEy1F,SAArE,CAEAz1F,EAAE8F,iBACF,IAAMmvF,EAAOjlG,KAAKq3H,aAAe,EAC3B14C,GAAS3+E,KAAKimG,SAAWjmG,KAAKgmG,UAAYf,EAChD,GAAI,CAACtvF,EAAME,EAAOs/G,EAAMD,GAAIvyH,SAASqN,EAAEy1F,SAAU,CAC/C,IAAMqzB,EAAW94H,KAAKsE,SAASmN,IAAM,CAACkE,EAAMu/G,GAAM,CAACr/G,EAAOq/G,GACpDtqF,EAAYkuF,EAASn2H,SAASqN,EAAEy1F,SAAW,GAAK,EAChDszB,EAAa/oH,EAAEgpH,SAAW,EAAKhpH,EAAE2kH,QAAU,EAAI,EAErDpzH,GAAiBqpC,EAAYq6D,EAAO8zB,OAC/B,GAAI/oH,EAAEy1F,UAAY2vB,EACvB7zH,EAAQvB,KAAKgmG,cACR,GAAIh2F,EAAEy1F,UAAYrqD,EACvB75C,EAAQvB,KAAKimG,aACR,CACL,IAAMr7D,EAAY56B,EAAEy1F,UAAYozB,EAAW,GAAK,EAChDt3H,GAAiBqpC,EAAYq6D,GAAQtmB,EAAQ,IAAMA,EAAQ,GAAK,IAGlE,OAAOp9E,KAETwkG,WAAU,SAAExkG,GACV,IAAKvB,KAAKq3H,YAAa,OAAO91H,EAG9B,IAAM03H,EAAcj5H,KAAKilG,KAAK/tE,WAAW9nB,OACnC8pH,EAAWD,EAAY5iH,QAAQ,MAAQ,EACxC4iH,EAAYz3H,OAASy3H,EAAY5iH,QAAQ,KAAO,EACjD,EACEglC,EAASr7C,KAAKgmG,SAAWhmG,KAAKq3H,YAE9B74G,EAAW7G,KAAKif,OAAOr1B,EAAQ85C,GAAUr7C,KAAKq3H,aAAer3H,KAAKq3H,YAAch8E,EAEtF,OAAOn2B,WAAWvN,KAAKnH,IAAIgO,EAAUxe,KAAKimG,UAAU95E,QAAQ+sG,S,oIClkBnDh3H,iBAAOgD,QAAWtF,OAAO,CACtCC,KAAM,UAENo+G,YAAY,EAEZh+G,MAAO,CACLk5H,SAAUh5H,QACV8D,MAAO,CACL1B,KAAMC,OACNK,QAAS,WAEXzC,SAAUD,QACVo2G,QAASp2G,QACTwtF,IAAKnrF,OACLmT,KAAM,CACJpT,KAAM,CAAC8I,OAAQ7I,QACfK,QAAS,GAEXgT,MAAO,CACLtT,KAAM,CAAC8I,OAAQ7I,QACfK,QAAS,QAEXtB,MAAOpB,SAGT+F,OAAM,SAAEC,EAAG6+B,GACT,IAAQ5/B,EAAqC4/B,EAArC5/B,SAAUmpC,EAA2BvJ,EAA3BuJ,UAAWtuC,EAAgB+kC,EAAhB/kC,MAAOsD,EAASyhC,EAATzhC,KAC9B61H,EAAU9a,eAAU,CACxB96G,YAAa,UACbC,MAAK3C,eAAA,CACH,kBAAmBb,EAAMsB,MACzB,uBAAwBtB,EAAMG,UAC3Bi5H,eAAuBr0F,IAE5B3gC,MAAO,CACLspF,IAAK1tF,EAAM0tF,IACX,eAAgB1tF,EAAM0tF,KAExBlpF,GAAI8pC,EACJ1oC,MAAO,CACL8P,KAAM44E,eAActuF,EAAM0V,MAC1BE,MAAO04E,eAActuF,EAAM4V,OAC3BqoC,SAAUj+C,EAAMk5H,SAAW,WAAa,YAE1C/tH,IAAK,SACJ7H,GAEH,OAAO4C,EAAE,QAASkK,OAAUtP,QAAQU,QAAQwE,aAAahG,EAAMs2G,SAAWt2G,EAAMgE,MAAOm1H,GAAUh0H,MC5DtFixG,U,8MCaAn0G,iBAAOmO,OAAWnL,QAAWtF,OAAO,CACjDC,KAAM,aAENI,MAAO,CACLsB,MAAO,CACLgB,KAAMlB,MACNwB,QAAS,WAAF,MAAS,MAIpBpB,QAAS,CACP0lG,YAAW,WACT,OAAOnnG,KAAK8D,eAAe,mBAAoB,CAC7CN,YAAa,sBACba,MAAO,CACLxE,KAAM,qBACN+tF,IAAK,QAEN5tF,KAAKuB,MAAM4O,IAAInQ,KAAKs5H,cAEzBA,WAAU,SAAE7vG,EAAiB5c,GAC3B,OAAO7M,KAAK8D,eAAe,MAAO,CAChCN,YAAa,sBACbqJ,OACCxH,eAAQrF,KAAM,UAAW,CAAEypB,UAAS5c,SAAU,CAAC4c,MAItDvjB,OAAM,SAAEC,GACN,OAAOA,EAAE,MAAOnG,KAAKiG,aAAajG,KAAKiE,MAAO,CAC5CT,YAAa,aACbC,MAAOzD,KAAKgS,eACV,CAAChS,KAAKmnG,mBC7CCoyB,I,oCCsBT/uC,EAAatoF,eACjB6vF,OACAynC,QASahvC,IAAW5qF,SAAkBA,OAAO,CACjDC,KAAM,UAENoyF,cAAc,EAEdhyF,MAAO,CACL4uH,WAAYrsH,OACZ0vC,gBAAiB,CACf3vC,KAAMC,OACNK,QAAS,IAEXE,MAAO5C,QACPgL,OAAQ,CAACE,OAAQ7I,QACjBi3H,YAAa,CAACt5H,QAASqC,QACvBk3H,gBAAiBv5H,QACjBw5H,KAAMn3H,OACNyI,GAAIzI,OACJ25C,MAAO35C,OACP6E,QAASlH,QACTy5H,eAAgBz5H,QAChB05H,YAAar3H,OACbjB,MAAO,MAGTgC,KAAI,WACF,MAAO,CACLgoF,UAAWvrF,KAAKuB,MAChBs0H,cAAc,IAIlBj1H,SAAU,CACRC,QAAO,WACL,OAAAC,eAAA,CACE,qBAAsBd,KAAKisF,SAC3B,yBAA0BjsF,KAAK85H,YAC/B,2BAA4B95H,KAAK+5H,cACjC,oBAAqB/5H,KAAK4wH,QAC1B,uBAAwB5wH,KAAKwrF,WAC7B,sBAAuBxrF,KAAKqrF,UAE5B,uBAAwC,IAAjBrrF,KAAKqH,SAAqC,MAAhBrH,KAAKqH,QACtD,uBAAwBrH,KAAKwsF,WAC7B,iBAAkBxsF,KAAK+C,MACvB,6BAA8B/C,KAAK05H,iBAChC15H,KAAKgS,eAGZw7E,WAAU,WACR,OAAOxtF,KAAKiL,IAAL,SAAAtH,OAAoB3D,KAAK0yF,OAElCsnC,WAAU,WACR,OAAOh6H,KAAKi6H,kBAAkBz4H,OAAS,GAEzC04H,QAAO,WACL,OAAQl6H,KAAK+rF,eACT/rF,KAAK25H,OACN35H,KAAK45H,gBAAkB55H,KAAKqrF,YAEjC6qB,SAAQ,WACN,SAAUl2G,KAAK0uF,OAAOvyC,QAASn8C,KAAKm8C,QAMtCkwC,cAAe,CACbt/C,IAAG,WACD,OAAO/sC,KAAKurF,WAEdv+C,IAAG,SAAEtqC,GACH1C,KAAKurF,UAAY7oF,EACjB1C,KAAK6J,MAAM7J,KAAKm6H,aAAcz3H,KAGlCkuH,QAAO,WACL,QAAS5wH,KAAKurF,WAEhBwuC,cAAa,WACX,OAAO/5H,KAAK4wH,SAEdqJ,kBAAiB,eAAAj2H,EAAA,KACf,OAAIhE,KAAKk6H,QAAgB,CAACl6H,KAAK25H,MAE1B35H,KAAK+rF,YAEH/rF,KAAKysF,YAAYt8E,KAAK,SAAAiqH,GAC3B,GAA0B,kBAAfA,EAAyB,OAAOA,EAE3C,IAAMC,EAAmBD,EAAWp2H,EAAKqoF,eAEzC,MAAmC,kBAArBguC,EAAgCA,EAAmB,MAChEplH,QAAO,SAAAwU,GAAO,MAAgB,KAAZA,KARS,IAUhCqwG,YAAW,WACT,OAA4B,IAArB95H,KAAKy5H,aAA+C,SAArBz5H,KAAKy5H,aAA0Bz5H,KAAKg6H,aAI9EhsH,MAAO,CACLzM,MAAK,SAAEmB,GACL1C,KAAKurF,UAAY7oF,IAIrB43H,aAAY,WAGVt6H,KAAKm6H,aAAgBn6H,KAAKy4G,SAASr0F,OAASpkB,KAAKy4G,SAASr0F,MAAM1R,OAAU,SAG5EjR,QAAS,CACP6D,WAAU,WACR,MAAO,CACLtF,KAAKu6H,iBACLv6H,KAAKw6H,aACLx6H,KAAKy6H,kBAGTD,WAAU,WACR,OAAOx6H,KAAK8D,eAAe,MAAO,CAChCN,YAAa,mBACba,MAAO,CAAEg6C,MAAOr+C,KAAK+tF,OAAO1vC,QAC3B,CACDr+C,KAAKytF,eACLztF,KAAK06H,iBAGTntC,eAAc,WACZ,MAAO,CACLvtF,KAAK0tF,WACLroF,eAAQrF,QAGZqlG,QAAO,SACL9iG,EACA4wH,GACyB,I,EAAArhH,EAAA,KAAzBshH,EAAArkH,UAAAvN,OAAA,QAAAwD,IAAA+J,UAAA,GAAAA,UAAA,GAAuB,GAEjB7L,EAAQlD,KAAA,GAAA2D,OAAgBpB,EAAI,SAC5BgQ,EAAY,SAAH5O,OAAYg3H,eAAUp4H,IAC/Bq4H,KAAiB56H,KAAK4F,WAAW2M,KAAc4gH,GAE/C0H,EAAY,CAChBC,QAAS,gBACTC,aAAc,gBACdrjB,OAAQ,eACRsjB,YAAa,eACbl2F,MAAO,SACPviC,GACI45C,EAAQy+E,GAAeC,EACzB76H,KAAKsE,SAASC,KAAKC,EAAnB,kBAAAb,OAAuCk3H,GAAuB,QAAVvuC,EAAAtsF,KAAKm8C,aAAK,IAAAmwC,IAAI,SAClEtnF,EAEEzB,EAAO+6G,eAAU,CACrBj6G,MAAO,CACL,aAAc83C,EACdl4C,MAAOjE,KAAK0sF,gBACZx+E,KAAMlO,KAAKkO,KACX9N,SAAUJ,KAAKwrF,WACfj6E,MAAOvR,KAAKuR,MACZo0F,SAAmB,UAATpjG,GAAoB,OAAIyC,GAEpCP,GAAKm2H,EAED,CACAl2H,MAAQ,SAAAsL,GACNA,EAAE8F,iBACF9F,EAAEwB,kBAEFM,EAAKjI,MAAM0I,EAAWvC,GACtBmjH,GAAMA,EAAGnjH,IAIXirH,QAAU,SAAAjrH,GACRA,EAAE8F,iBACF9F,EAAEwB,yBAbJxM,GAgBHouH,GAEH,OAAOpzH,KAAK8D,eAAe,MAAO,CAChCN,YAAa,gBACbC,MAAOlB,EAAO,kBAAHoB,OAAqBg3H,eAAUp4H,SAAUyC,GACnD,CACDhF,KAAK8D,eACHa,OACApB,EACAL,MAINuqF,aAAY,WACV,OAAOztF,KAAK8D,eAAe,MAAO9D,KAAK4D,mBAAmB5D,KAAKkyC,gBAAiB,CAC9E1uC,YAAa,gBACbqC,MAAO,CAAEsF,OAAQojF,eAAcvuF,KAAKmL,SACpC1G,GAAI,CACFC,MAAO1E,KAAKigD,QACZssE,UAAWvsH,KAAKk7H,YAChBD,QAASj7H,KAAK21H,WAEhBvqH,IAAK,eACH,CAACpL,KAAKutF,oBAEZG,SAAQ,WACN,OAAK1tF,KAAKk2G,SAEHl2G,KAAK8D,eAAeuyG,OAAQ,CACjCp2G,MAAO,CACLgE,MAAOjE,KAAK0sF,gBACZx+E,KAAMlO,KAAKkO,KACX9N,SAAUJ,KAAKwrF,WACf+qB,QAASv2G,KAAKisF,SACd0B,IAAK3tF,KAAKwtF,WACVj8E,MAAOvR,KAAKuR,QAEblM,eAAQrF,KAAM,UAAYA,KAAKm8C,OAXP,MAa7Bu+E,YAAW,eAAAjlH,EAAA,KACT,OAAKzV,KAAK85H,YAEH95H,KAAK8D,eAAey1H,EAAW,CACpCt5H,MAAO,CACLgE,MAAOjE,KAAKk6H,QAAU,GAAKl6H,KAAK0sF,gBAChCx+E,KAAMlO,KAAKkO,KACXqD,MAAOvR,KAAKuR,MACZhQ,MAAOvB,KAAKi6H,mBAEd51H,MAAO,CACLsB,KAAM3F,KAAK+rF,YAAc,QAAU,MAErCp/E,YAAa,CACX9J,QAAS,SAAA5C,GAAK,OAAIoF,eAAQoQ,EAAM,UAAWxV,OAbjB,MAiBhCk7H,QAAO,SACL54H,EACAm4F,EACA76E,GAEA,IAAKA,EAAKre,OAAQ,OAAO,KAEzB,IAAM4J,EAAM,GAAHzH,OAAMpB,EAAI,KAAAoB,OAAI+2F,GAEvB,OAAO16F,KAAK8D,eAAe,MAAO,CAChCN,YAAa,YAAFG,OAAcyH,GACzBA,OACCyU,IAEL06G,eAAc,WACZ,IAAM16G,EAAO,GAQb,OANI7f,KAAK0uF,OAAOosC,QACdj7G,EAAK9V,KAAK/J,KAAK0uF,OAAOosC,SACb96H,KAAK65H,aACdh6G,EAAK9V,KAAK/J,KAAKqlG,QAAQ,YAGlBrlG,KAAKm7H,QAAQ,UAAW,QAASt7G,IAE1C46G,cAAa,WACX,IAAM56G,EAAO,GAYb,OANI7f,KAAK0uF,OAAOgpB,OACd73F,EAAK9V,KAAK/J,KAAK0uF,OAAOgpB,QACb13G,KAAK6uH,YACdhvG,EAAK9V,KAAK/J,KAAKqlG,QAAQ,WAGlBrlG,KAAKm7H,QAAQ,SAAU,QAASt7G,IAEzCogC,QAAO,SAAEjwC,GACPhQ,KAAK6J,MAAM,QAASmG,IAEtBkrH,YAAW,SAAElrH,GACXhQ,KAAK61H,cAAe,EACpB71H,KAAK6J,MAAM,YAAamG,IAE1B2lH,UAAS,SAAE3lH,GACThQ,KAAK61H,cAAe,EACpB71H,KAAK6J,MAAM,UAAWmG,KAI1B9J,OAAM,SAAEC,GACN,OAAOA,EAAE,MAAOnG,KAAKiG,aAAajG,KAAK0sF,gBAAiB,CACtDlpF,YAAa,UACbC,MAAOzD,KAAKa,UACVb,KAAKsF,iBCvUE8nF,U,8LCgBT+gC,EAAgBrtH,8BAAA,GACjBs6H,QADoB,IAEvBp6E,SAAS,EACTq6E,gBAAgB,EAChBj1H,YAAY,IAICk1H,cAAQ17H,OAAO,CAC5BC,KAAM,iBAENI,MAAO,CACLs7H,gBAAiB,CACfh5H,KAAMpC,QACN0C,SAAS,GAEXoS,OAAQ,CACN1S,KAAMgO,SACN1N,QAAS,SAAClB,EAAW4+F,EAAmBurB,GACtC,OAAOA,EAASsB,oBAAoB/2G,QAAQkqF,EAAU6sB,sBAAwB,IAGlFoO,WAAYr7H,QACZmvH,UAAW,CACT/sH,KAAM+4H,OAAQv6H,QAAQd,MAAMqvH,UAAU/sH,KACtCM,QAAS,WAAF,OAAQsrH,IAEjBlC,SAAU9rH,QACV+rH,YAAa,CACX3pH,KAAMC,SAIVe,KAAI,WACF,MAAO,CACLk4H,WAAYz7H,KAAKksH,cAIrBtrH,SAAU,CACRC,QAAO,WACL,OAAAC,8BAAA,GACKw6H,OAAQv6H,QAAQH,SAASC,QAAQG,KAAKhB,OADpC,IAEL,kBAAkB,EAClB,qCAAsCA,KAAKk9G,eAAiB,KAGhEiT,cAAa,WACX,OAAOnwH,KAAK07H,eAEdC,eAAc,eAAA33H,EAAA,KACZ,OAAOhE,KAAKmsH,cAAch8G,KAAI,SAAAxO,GAAI,OAAIqC,EAAKnC,SAASF,OAEtDi6H,kBAAiB,eAAA9pH,EAAA,KACf,OAAO9R,KAAK4rH,aACR5rH,KAAK07H,cAAcp4G,MAAK,SAAA3hB,GAAI,OAAKmQ,EAAK07G,QAAQ7rH,MAC9C3B,KAAK07H,cAAcl6H,OAAS,GAElCq6H,aAAY,WACV,OAAyB,MAArB77H,KAAKs0F,aAA6B,EAE/B9xF,OAAOxC,KAAK8tH,QAAQ9tH,KAAKs0F,eAAe9yF,QAEjDk6H,cAAa,eAAAjmH,EAAA,KACX,OAAKzV,KAAK87H,aAAe97H,KAAKisH,UAAmC,MAAvBjsH,KAAK+7H,eAA+B/7H,KAAKgwH,SAE5EhwH,KAAKgwH,SAAS/6G,QAAO,SAAAtT,GAC1B,IAAMJ,EAAQysH,eAAoBrsH,EAAM8T,EAAKq2G,UACvCzoH,EAAgB,MAAT9B,EAAgBiB,OAAOjB,GAAS,GAE7C,OAAOkU,EAAKR,OAAOtT,EAAMa,OAAOiT,EAAKsmH,gBAAiB14H,OAG1D04H,eAAgB,CACdhvF,IAAG,WACD,OAAO/sC,KAAKy7H,YAEdzuF,IAAG,SAAEtqC,GAGC1C,KAAKy7H,aAAe/4H,IACtB1C,KAAKy7H,WAAa/4H,EAClB1C,KAAK6J,MAAM,sBAAuBnH,MAIxCs5H,kBAAiB,WACf,OAAO,GAETpL,QAAO,WACL,OAAO5wH,KAAKi8H,eAAiBj8H,KAAKmsH,cAAc3qH,OAAS,GAE3Ds6H,YAAW,WACT,OACE97H,KAAK6b,UACL7b,KAAKi8H,eAELj8H,KAAKi8H,eACLj8H,KAAK+7H,iBAAmB/7H,KAAK8tH,QAAQ9tH,KAAKs0F,eAG9Ci9B,YAAW,WACT,QAAKvxH,KAAKqrF,YAEHrrF,KAAK47H,oBAAsB57H,KAAKw7H,aAEzCnK,YAAW,WACT,IAAMpxH,EAAQq7H,OAAQv6H,QAAQH,SAASywH,YAAYrwH,KAAKhB,MAExD,OADCC,EAAci8H,aAAe,2BAAAv4H,OAA4B1D,EAAci8H,cAAgB,IAAK9sH,OAC7FtO,8BAAA,GACKqtH,GACAluH,IAGPg8H,cAAa,WACX,OAA8B,MAAvBj8H,KAAK+7H,gBACc,KAAxB/7H,KAAK+7H,gBAETznC,aAAY,eAAAv0E,EAAA,KACV,OAAI/f,KAAK6b,SAAiB,KAEnB7b,KAAKmsH,cAAcxpG,MAAK,SAAArK,GAC7B,OAAOyH,EAAKuyG,gBAAgBvyG,EAAKle,SAASyW,GAAIyH,EAAKle,SAASke,EAAKssE,oBAGrEwkC,SAAQ,WACN,IAAMttH,EAAO+3H,OAAQv6H,QAAQH,SAASiwH,SAAS7vH,KAAKhB,MAapD,OAXAuD,EAAKtD,MAALa,8BAAA,GACKyC,EAAKtD,OADG,IAEXuoD,MAAOxoD,KAAKixH,iBACZhF,SACEjsH,KAAKisH,WACJjsH,KAAK87H,cACL97H,KAAK07H,cAAcl6H,OAEtB0qH,YAAalsH,KAAK+7H,iBAGbx4H,IAIXyK,MAAO,CACL0tH,cAAe,yBACfrvC,cAAe,YACfhB,UAAS,SAAE3oF,GACLA,GACFquB,SAASq9B,iBAAiB,OAAQpuD,KAAKm8H,QACvCn8H,KAAK+L,MAAMkU,OAASjgB,KAAK+L,MAAMkU,MAAMixG,WAErCngG,SAAS09B,oBAAoB,OAAQzuD,KAAKm8H,QAC1Cn8H,KAAK43G,OACL53G,KAAKo8H,eAGTxM,aAAY,SAAEltH,IACRA,GAAQ1C,KAAK0wH,UAEjB1wH,KAAKy7H,WAAa,OAEpBjzE,MAAK,SAAE9lD,EAAKuO,GAONA,GAAUA,EAAOzP,SACnBxB,KAAKw7H,aACLx7H,KAAKqrF,WACJrrF,KAAK4vH,eACNltH,EAAIlB,QACJxB,KAAKgyH,gBAET9F,YAAW,SAAExpH,GACX1C,KAAKy7H,WAAa/4H,GAEpBq5H,eAAgB,0BAChBjQ,SAAU,cAGZ7qH,QAAO,WACLjB,KAAKq8H,aAGPC,UAAS,WACPvrG,SAAS09B,oBAAoB,OAAQzuD,KAAKm8H,SAG5C16H,QAAS,CACP86H,uBAAsB,SAAE75H,EAAcuO,GAAe,IAAAkP,EAAA,KAGnD,GAAIzd,IAAQuO,EAAZ,CAEA,IAAKjR,KAAKu7H,gBAAiB,CACzB,IAAMiB,EAAkBvrH,EAAOjR,KAAK+L,MAAM6lH,KAAK2C,WAE3CiI,EACFx8H,KAAK+xH,aAAarvH,EAAIorC,WAAU,SAAAx1B,GAAC,OAAIA,IAAMkkH,MAE3Cx8H,KAAK+xH,cAAc,GAErB/xH,KAAK6J,MAAM,oBAAqB7J,KAAK+L,MAAM6lH,KAAK2C,WAGlDv0H,KAAK6sF,WAAU,WAEV1sE,EAAK47G,iBACU,IAAfr5H,EAAIlB,QACF2e,EAAKo7G,mBAGVp7G,EAAKpU,MAAM6lH,KAAKoD,WAEZ70G,EAAKo7G,iBAAmB74H,EAAIlB,SAC9B2e,EAAK4xG,aAAa,GAClB5xG,EAAKtW,MAAM,oBAAqBsW,EAAKpU,MAAM6lH,KAAK2C,kBAItDkI,wBAAuB,WACrBz8H,KAAK08H,wBAEPA,qBAAoB,WAElB18H,KAAK4vH,cAAgB5vH,KAAK+L,MAAM6lH,MAAQ5xH,KAAK+L,MAAM6lH,KAAKC,oBAE1D8K,oBAAmB,SAAEl3B,GAGfzlG,KAAKi8H,gBAELj8H,KAAK6b,UAAY4pF,IAAYC,OAAS/vF,MACZ,IAAxB3V,KAAKk9G,cACPl9G,KAAKk9G,cAAgBl9G,KAAKmsH,cAAc3qH,OAAS,EAEjDxB,KAAKk9G,gBAEEl9G,KAAK6b,UAAY4pF,IAAYC,OAAS7vF,MAC3C7V,KAAKk9G,eAAiBl9G,KAAKmsH,cAAc3qH,OAAS,EACpDxB,KAAKk9G,eAAiB,EAEtBl9G,KAAKk9G,gBAEEzX,IAAYC,OAASk3B,WAAan3B,IAAYC,OAASh5E,QAChE1sB,KAAK68H,sBAGTA,kBAAiB,WACf,IAAMC,EAAW98H,KAAKk9G,cAChB6f,EAAU/8H,KAAKmsH,cAAc2Q,GAGnC,GACG98H,KAAKusF,gBACNvsF,KAAKytH,YAAYsP,GAFnB,CAKA,IAAM3tB,EAAYpvG,KAAKmsH,cAAc3qH,OAAS,EAI9C,IAC0B,IAAxBxB,KAAKk9G,eACS,IAAd9N,EAFF,CASA,IAAM5tG,EAASxB,KAAKmsH,cAAc3qH,OAC5Bw7H,EAAYF,IAAat7H,EAAS,EACpCs7H,EACAA,EAAW,EACT53E,EAAWllD,KAAKmsH,cAAc6Q,GAE/B93E,EAGHllD,KAAKu0F,WAAWwoC,GAFhB/8H,KAAKkyH,SAASlyH,KAAK6b,SAAW,GAAK,MAKrC7b,KAAKk9G,cAAgB8f,OAjBnBh9H,KAAKk9G,cAAgB9N,IAmBzB6iB,kBAAiB,WACfjyH,KAAK+7H,eAAiB,KAEtBT,OAAQv6H,QAAQU,QAAQwwH,kBAAkBjxH,KAAKhB,OAEjD6mG,SAAQ,WACN,IAAM5mF,EAAQuuG,OAAWztH,QAAQU,QAAQolG,SAAS7lG,KAAKhB,MAUvD,OARAigB,EAAM1c,KAAO+6G,eAAUr+F,EAAM1c,KAAO,CAClCc,MAAO,CACL,wBAAyBgvH,eAAqBrzH,KAAK+L,MAAM6lH,KAAM,iBAC/D0B,aAAcD,eAAqBpzG,EAAM1c,KAAO,qBAAsB,QAExE+K,SAAU,CAAE/M,MAAOvB,KAAK+7H,kBAGnB97G,GAETwtE,aAAY,WACV,IAAM5tE,EAAOy7G,OAAQv6H,QAAQU,QAAQgsF,aAAazsF,KAAKhB,MAIvD,OAFA6f,EAAKtc,KAAMc,MAAOsB,KAAO,WAElBka,GAET8yG,cAAa,WACX,OAAO3yH,KAAK0wH,SAAW1wH,KAAK6b,SACxBy/G,OAAQv6H,QAAQU,QAAQkxH,cAAc3xH,KAAKhB,MAC3C,IAENigD,QAAO,SAAEjwC,GACFhQ,KAAKusF,gBAEVvsF,KAAKk9G,eAAiB,EACjBl9G,KAAKk9G,eAAiB,EACvBl9G,KAAKqnG,UAEJrnG,KAAKw0H,cAAcxkH,EAAEzC,SAASvN,KAAKgyH,iBAE1CiL,QAAO,SAAEjtH,GACP,KACEhQ,KAAKk9G,eAAiB,IACrBltG,EAAEzC,OAFL,CAKA,IAAMA,EAASyC,EAAEzC,OACXhM,EAAQgM,EAAOhM,MAGjBgM,EAAOhM,OAAOvB,KAAKgyH,eAElBhyH,KAAK6b,UAAsB,KAAVta,GAAcvB,KAAK68H,oBAEzC78H,KAAK+7H,eAAiBx6H,EACtBvB,KAAKk9H,SAAW3vH,EAAO4vH,UAAY5vH,EAAO4vH,SAASD,WAErDn0B,UAAS,SAAE/4F,GACT,IAAMy1F,EAAUz1F,EAAEy1F,SAGhBz1F,EAAE2kH,SACD,CAACjvB,OAAS0vB,KAAM1vB,OAAStqD,KAAKz4C,SAAS8iG,IAExC61B,OAAQv6H,QAAQU,QAAQsnG,UAAU/nG,KAAKhB,KAAMgQ,GAO/ChQ,KAAK28H,oBAAoBl3B,IAE3BgwB,YAAW,SAAEzlH,KACbwlH,UAAS,SAAExlH,GACTsrH,OAAQv6H,QAAQU,QAAQ+zH,UAAUx0H,KAAKhB,KAAMgQ,GAC7ChQ,KAAKo8H,cAEP9G,SAAQ,SAAEtlH,GAERA,EAAE8F,iBAKF9V,KAAKgyH,gBAEPz9B,WAAU,SAAE5yF,GACV25H,OAAQv6H,QAAQU,QAAQ8yF,WAAWvzF,KAAKhB,KAAM2B,GAC9C3B,KAAKq8H,aAEP1K,iBAAgB,WACd2J,OAAQv6H,QAAQU,QAAQkwH,iBAAiB3wH,KAAKhB,MAIzCA,KAAKqrF,WAAWrrF,KAAKq8H,aAE5BA,UAAS,eAAA/7G,EAAA,KAGPtgB,KAAK6sF,WAAU,WAEVvsE,EAAKzE,UACLyE,EAAKy7G,gBACLz7G,EAAKsvG,eAENtvG,EAAKy7G,gBACFz7G,EAAK6rG,cAAc3qH,QACpB8e,EAAKzE,UACLyE,EAAKowG,QAEH,KACApwG,EAAKwtG,QAAQxtG,EAAKg0E,mBAI5B8nC,WAAU,YAELp8H,KAAKi8H,eACLj8H,KAAKqsF,iBAILrsF,KAAK6b,UACL7b,KAAKsyH,gBACJtyH,KAAK+7H,eACL/7H,KAAK6B,SAAS7B,KAAKqsF,iBAGrBrsF,KAAKq8H,cAGT7O,QAAO,SAAE7rH,GACP,OAAO3B,KAAK27H,eAAetlH,QAAQrW,KAAK6B,SAASF,KAAU,GAE7Dw6H,OAAM,SAAEzpH,G,QACN,IAA4B,IAAxB1S,KAAKk9G,cAAT,CAEA,IAAMp5C,EAAc9jE,KAAKmsH,cAAcnsH,KAAKk9G,eACtCkgB,EAAkBp9H,KAAK8tH,QAAQhqD,GAClB,QAAnBwoB,EAAA55E,EAAM2qH,qBAAa,IAAA/wC,KAAEgxC,QAAQ,aAAcF,GACxB,QAAnBtvC,EAAAp7E,EAAM2qH,qBAAa,IAAAvvC,KAAEwvC,QAAQ,2CAA4CF,GACzE1qH,EAAMoD,uB,6JC7aN00E,EAAatoF,eACjBmO,OACAo6E,eAAyD,iBAAkB,2BAA4B,sBAQ1FD,SAAW5qF,SAAkBA,OAAO,CACjDC,KAAM,2BAENkG,WAAY,CAAE0+F,eAEdxkG,MAAO,CACLs9H,kBAAmBp9H,QACnBq9H,WAAY,CACVj7H,KAAMC,OACNK,QAAS,WAEX46H,YAAat9H,QACbskG,OAAQ,CACNliG,KAAM,CAACpC,QAASgH,QAChBtE,SAAS,IAIbU,KAAM,WAAF,MAAS,CACXm6H,cAAc,IAGhB98H,SAAU,CACRC,QAAO,WACL,MAAO,CACL,mCAAoCb,KAAK+B,SACzC,sCAAuC/B,KAAK09H,eAGhD37H,SAAQ,WACN,OAAO/B,KAAKwxF,eAAezvF,UAE7BypF,WAAU,WACR,OAAOxrF,KAAKwxF,eAAehG,YAE7BgB,WAAU,WACR,OAAOxsF,KAAKwxF,eAAehF,aAI/BvrF,QAAO,WACLjB,KAAKwxF,eAAemsC,eAAe39H,OAGrCmM,cAAa,WACXnM,KAAKwxF,eAAeosC,oBAGtBn8H,QAAS,CACPw+C,QAAO,SAAEjwC,GACPhQ,KAAK6J,MAAM,QAASmG,IAEtBq1F,QAAO,WACL,IAAMniG,EAAOmC,eAAQrF,KAAM,UAAW,CAAE8xF,KAAM9xF,KAAK+B,YACjD,CAAC/B,KAAK8D,eAAea,OAAO3E,KAAKw9H,aAEnC,OAAOx9H,KAAK8D,eAAe43G,OAAiB,CAC1C17G,KAAK8D,eAAe,MAAO,CACzBN,YAAa,iCACbC,MAAO,CACL,iDAAkDzD,KAAKu9H,mBAEzDx3H,WAAY,CAAC,CACXlG,KAAM,OACN0B,OAAQvB,KAAKwrF,cAEdtoF,OAKTgD,OAAM,SAAEC,GAAC,IAAAnC,EAAA,KACP,OAAOmC,EAAE,SAAUnG,KAAK4D,mBAAmB5D,KAAKiE,MAAO,CACrDT,YAAa,2BACbC,MAAOzD,KAAKa,QACZwD,MAAO,CACLshG,SAAU3lG,KAAKwrF,YAAc,EAAI,KACjCjpF,KAAM,SACN,gBAAiBvC,KAAK+B,UAExBgE,WAAY,CAAC,CACXlG,KAAM,SACN0B,MAAOvB,KAAKykG,SAEdhgG,GAAE3D,8BAAA,GACGd,KAAKqS,YADN,IAEF3N,MAAO1E,KAAKigD,QACZssE,UAAW,WAAF,OAASvoH,EAAK05H,cAAe,GACtCzC,QAAS,WAAF,OAASj3H,EAAK05H,cAAe,OAEpC,CACFr4H,eAAQrF,KAAM,UAAW,CAAE8xF,KAAM9xF,KAAK+B,WAAY,GAClD/B,KAAKy9H,aAAez9H,KAAKqlG,gB,0RC9FhBnjG,sBACbmO,OACAwtH,OACAvmB,OACApyG,OACA2wG,eAAiB,aACjBioB,eAAkB,eAClBl+H,OAAO,CACPC,KAAM,SAENI,MAAO,CACL+a,OAAQ,CACNzY,KAAMpC,QACN0C,SAAS,GAEXw2G,YAAa,CACX92G,KAAMC,OACNK,QAAO,WACL,OAAK7C,KAAKuzF,UAEHvzF,KAAKuzF,UAAU8lB,YAFM,KAKhC7zG,MAAOrF,QACP8C,UAAW,CACTV,KAAMC,OACNK,QAAS,WAEXD,WAAY,CACVL,KAAMC,OACNK,QAAS,kBAEXzC,SAAUD,QACV49H,UAAW59H,QACX8U,OAAQ9U,QACR69H,WAAY,CACVz7H,KAAMC,OACNK,QAAS,aAEXs5C,MAAOh8C,QACPo4B,KAAMp4B,QACNgD,SAAUhD,QACV89H,KAAM99H,QACNytF,IAAK,CACHrrF,KAAMC,OACNK,QAAS,QAEXi5D,UAAWt5D,OACXjB,MAAO,MAGTgC,KAAM,WAAF,MAAS,CACXi0G,WAAY,mBAGd52G,SAAU,CACRC,QAAO,WACL,OAAAC,4DAAA,CACE,UAAU,GACPw2G,OAASv2G,QAAQH,SAASC,QAAQG,KAAKhB,OAFrC,IAGL,oBAAqBA,KAAKk+H,YAC1B,mBAAoBl+H,KAAKI,SACzB,oBAAqBJ,KAAK+9H,UAC1B,gBAAiB/9H,KAAKm8C,MACtB,eAAgBn8C,KAAKm+H,OACrB,oBAAqBn+H,KAAKiE,MAC1B,mBAAoBjE,KAAKmD,SACzB,eAAgBnD,KAAKi+H,KACrB,oBAAqBj+H,KAAKo+H,UACvBp+H,KAAKgS,cACLhS,KAAKq+H,iBACLr+H,KAAKg2G,eAGZooB,SAAQ,WACN,OAAOj+H,QAAQH,KAAKwF,QAEtB04H,YAAW,WACT,OAAO/9H,QACLm3G,OAASv2G,QAAQH,SAASs9H,YAAYl9H,KAAKhB,OAC3CA,KAAKuzF,aAKXtyF,QAAO,eAAA+C,EAAA,KACCs6H,EAAgB,CACpB,CAAC,UAAW,YACZ,CAAC,WAAY,eACb,CAAC,QAAS,UACV,CAAC,SAAU,iBAIbA,EAAcplG,SAAQ,SAAAtX,GAA4B,IAAA2B,EAAAhU,eAAAqS,EAAA,GAA1BipB,EAADtnB,EAAC,GAAUg7G,EAAXh7G,EAAC,GAClBvf,EAAK9C,OAAOC,eAAe0pC,IAAWzpC,eAASypC,EAAU0zF,EAAav6H,OAI9EvC,QAAS,CACPiD,MAAK,SAAEsL,GACLhQ,KAAK6J,MAAM,QAASmG,GAEpBhQ,KAAKuzF,WAAavzF,KAAKyF,UAEzB+4H,UAAS,WACP,IAAMp5H,EAAW,GAWjB,OATIpF,KAAK+B,UACPqD,EAAS2E,KACP/J,KAAK8D,eAAea,OAAO,CACzBnB,YAAa,iBACbvD,MAAO,CAAE0V,MAAM,IACd3V,KAAKg+H,aAILh+H,KAAK8D,eAAe26H,OAAoBr5H,IAEjDs5H,SAAQ,eAAA5sH,EAAA,KACN,OAAO9R,KAAK8D,eAAea,OAAO,CAChCnB,YAAa,gBACbvD,MAAO,CACL4V,OAAO,EACPiwB,KAAM,IAERzhC,MAAO,CACL,aAAcrE,KAAKsE,SAASC,KAAKC,EAAExE,KAAK4C,aAE1C6B,GAAI,CACFC,MAAQ,SAAAsL,GACNA,EAAEwB,kBACFxB,EAAE8F,iBAEFhE,EAAKjI,MAAM,eACXiI,EAAKjI,MAAM,iBAAiB,MAG/B7J,KAAKiD,YAEVqC,WAAU,WACR,OAAOtF,KAAK8D,eAAe,OAAQ,CACjCN,YAAa,mBACZ,CACDxD,KAAKiV,QAAUjV,KAAKw+H,YACpBn5H,eAAQrF,MACRA,KAAKo+H,UAAYp+H,KAAK0+H,eAK5Bx4H,OAAM,SAAEC,GACN,IAAMf,EAAW,CAACpF,KAAKsF,cACvByyG,EAAoB/3G,KAAKg4G,oBAAnBpqB,EAAFmqB,EAAEnqB,IAAKrqF,EAAAw0G,EAAAx0G,KAEXA,EAAKc,MAALvD,8BAAA,GACKyC,EAAKc,OADG,IAEX05H,UAAW/9H,KAAK+9H,UAAY,YAAS/4H,EACrC2gG,SAAU3lG,KAAKuzF,YAAcvzF,KAAKI,SAAW,EAAImD,EAAKc,MAAOshG,WAE/DpiG,EAAKwC,WAAYgE,KAAK,CACpBlK,KAAM,OACN0B,MAAOvB,KAAKgb,SAEdzX,EAAOvD,KAAK4D,mBAAmB5D,KAAKiE,MAAOV,GAE3C,IAAMU,EAAQjE,KAAK87D,WAAc97D,KAAKmD,UAAYnD,KAAKiE,MAEvD,OAAOkC,EAAEynF,EAAK5tF,KAAKiG,aAAahC,EAAOV,GAAO6B,O,sCCnM9Cc,EAAQe,E,wDCGZm4F,EAAA,GAEe,GACfv/F,KAAA,oBAEAe,SAAAE,6CAAA,GACAyG,eAAA,wCACAA,eAAA,6CAEAo3H,gBAAA,eAAAjvC,EACA,eAAAA,EAAA,KAAAC,4BAAA,IAAAD,OAAA,EAAAA,EAAAluF,QAAA,GAGA+rB,gBAAA,WACA,IAAAA,EAAA,GAKA,OAHA,KAAAqxG,yBACArxG,EAAAxjB,KAAAq1F,GAEA7xE,GAGAoiE,qBAAA,eAAAkvC,EAAAC,EAAA96H,EAAA,KACA,OASA,QATA66H,EACA,QADAC,EACA,KAAAC,2BAAA,IAAAD,OAAA,EAAAA,EAAA7pH,QAAA,SAAA26E,GACA,SACA5rF,EAAA46H,yBACAhvC,EAAA3kF,IAAAm0F,aAKA,IAAAy/B,IAAA,OCnC0V,I,YFOtVv0H,EAAY,eACd,EACApE,EACAe,GACA,EACA,KACA,KACA,MAIa,OAAAqD,E,2GGCApI,sBACb2zG,eAA6D,kBAAmB,oBAAqB,sBACrG7jB,eAAmB,kBAAkB,IAErCpyF,OAAO,CACPC,KAAM,oBAENI,MAAO,CACLG,SAAUD,QACVO,SAAUP,SAGZoD,KAAI,WACF,MAAO,CACL80G,QAAS,KACTtmG,OAAQ,KACR9P,cAAc,IAIlBrB,SAAU,CACRC,QAAO,WACL,OAAAC,eAAA,CACE,4BAA6Bd,KAAK+B,SAClC,iCAAkC/B,KAAKiC,aACvC,8BAA+BjC,KAAKwrF,YACjCxrF,KAAKg2G,eAGZxqB,WAAU,WACR,OAAOxrF,KAAKD,gBAAgBK,UAAYJ,KAAKI,UAE/CosF,WAAU,WACR,OAAOxsF,KAAKD,gBAAgBW,UAAYV,KAAKU,WAIjDe,QAAS,CACPiwF,gBAAe,SAAEh9C,GACf10C,KAAKq4G,QAAU3jE,GAEjBi9C,kBAAiB,WACf3xF,KAAKq4G,QAAU,MAEjBslB,eAAc,SAAEjpF,GACd10C,KAAK+R,OAAS2iC,EACdA,EAAGvyB,IAAI,QAASniB,KAAKigD,UAEvB29E,iBAAgB,WACd59H,KAAK+R,OAAS,MAEhBkuC,QAAO,SAAEjwC,GACHA,EAAE2nG,QAAQ33G,KAAK+R,OAAQyI,IAAIo9F,OAE/B53G,KAAK6J,MAAM,QAASmG,GAEpBhQ,KAAKwsF,YAAcxsF,KAAKwrF,YAAcxrF,KAAKyF,UAE7CA,OAAM,eAAAzB,EAAA,KACJhE,KAAK6sF,WAAU,kBAAM7oF,EAAK6F,MAAM,eAIpC3D,OAAM,SAAEC,GACN,OAAOA,EAAE,MAAO,CACd3C,YAAa,oBACbC,MAAOzD,KAAKa,QACZwD,MAAO,CACL,gBAAiB7B,OAAOxC,KAAK+B,YAE9BsD,eAAQrF,W,kCCzFf,W,kCCAA,W,kCCAA,W,0MCeag+G,EAAWvvG,OAAI7O,OAAO,CACjCK,MAAO,CACLo5G,YAAa72G,OACbjB,MAAO,CACL6F,UAAU,GAEZhH,SAAUD,SAGZoD,KAAM,WAAF,MAAS,CACXxB,UAAU,IAGZN,QAAS,CACPgE,OAAM,WACJzF,KAAK+B,UAAY/B,KAAK+B,WAI1BmE,OAAM,WACJ,OAAKlG,KAAKuF,aAAa1C,SASnB7C,KAAKuF,aAAa1C,UACpBuuC,EAAUpxC,KAAKuF,aAAa1C,QAAQ,CAClCmY,OAAQhb,KAAK+B,SACb0D,OAAQzF,KAAKyF,UAIbpE,MAAMC,QAAQ8vC,IAA+B,IAAnBA,EAAQ5vC,SACpC4vC,EAAUA,EAAQ,IAGfA,IAAW/vC,MAAMC,QAAQ8vC,IAAaA,EAAQw8C,KAMnDx8C,EAAQ7tC,KAAOvD,KAAK8tF,GAAG18C,EAAQ7tC,MAAQ,GAAI6tC,EAAQw8C,IAAM,CACvDnqF,MAAKC,8BAAA,GACF1D,KAAKq5G,YAAcr5G,KAAK+B,UACzB,mBAAoB/B,KAAKI,YAIzBJ,KAAKI,WACPgxC,EAAQ7tC,KAAKc,MAAbvD,8BAAA,GAA0BswC,EAAQ7tC,KAAKc,OAAlB,IAAyBshG,UAAW,KAGpDv0D,IAhBLjyB,eAAY,8CAA+Cnf,MAEpDoxC,KAtBPjyB,eAAY,yCAA0Cnf,MAE/C,MAGT,IAAIoxC,KAmCOlvC,sBACb87G,EACAnI,eAAiB,YAAa,SAAU,iBACxCj2G,OAAO,CACPC,KAAM,Y,2GCrEOqC,sBACbmO,QACAzQ,OAAO,CACP6B,QAAS,CACP2M,gBAAe,SACbwwB,EACAr9B,EACA82G,GAEgB,IAAAr0G,EAAA,KADhBtD,EAAQqO,UAAAvN,OAAA,QAAAwD,IAAA+J,UAAA,IAAAA,UAAA,GACRvL,EAAWuL,UAAAvN,OAAA,QAAAwD,IAAA+J,UAAA,GAAAA,UAAA,GAAG,GAERiM,EAAUhb,KAAa4+B,KAAUr9B,EACjCmD,EAAS,SAAAgO,GACbA,EAAMlB,kBACNxN,EAAK6F,MAAL,UAAAlG,OAAqBg3H,eAAU/7F,IAASr9B,IAG1C,OAAOvB,KAAK8D,eAAe,MAAO,CAChCN,YAAa,wBAAAG,OAAwBH,GAAc4L,OACnD3L,MAAO,CACL,+BAAgCuX,EAChC,iCAAkCta,GAEpC+D,GAAKuW,GAAUta,OAAYsE,EAAY,CAAEN,UACxCrD,MAAMC,QAAQ+2G,GAAWA,EAAU,CAACA,S,kCCnC7C,IAAInyG,EAAS,WAAkB,IAAIS,EAAI3G,KAAKuG,EAAGI,EAAI4D,MAAMhE,GAAG,OAAQI,EAAImyF,WAAWt3F,QAAUmF,EAAIg4H,gBAAiBp4H,EAAG,iBAAiBI,EAAImnF,GAAG,CAACzpF,MAAM,CAAC,OAASsC,EAAIb,OAAO,UAAYa,EAAImyF,WAAW,cAAcnyF,EAAIwoF,WAAW,MAAQxoF,EAAIq4H,iBAAiB,iBAAiBr4H,EAAIzF,QAAO,IAAQyF,EAAIsG,MAElShG,EAAkB,G,gGCaP,GACfpH,KAAA,aAEAqC,OAAA,CAAAipB,QAEAje,WAAA,CACAqoF,sBAGAt1F,MAAA,CACAg/H,SAAA,CACA18H,KAAA4E,OACAC,UAAA,GAEA83H,WAAA,CACA38H,KAAApC,QACA0C,SAAA,GAEAssF,WAAA,CACA5sF,KAAApC,QACA0C,SAAA,GAEAqI,MAAA,CACA3I,KAAA8I,OACAxI,QAAA,MAIAjC,SAAA,CACAk4F,WAAA,eAAA90F,EAAA,KACAm7H,EAAA,KAAAF,SAAA7xG,UAAAnY,QACA,SAAAjF,GAAA,IAAAovH,EAAA,gBAAAA,EAAAp7H,EAAAupB,uBAAA,IAAA6xG,KAAAz8H,SAAAqN,EAAAwd,aAGAsrE,EAAA,CACAqmC,EAAAhvH,KAAA,SAAAH,GAAA,OACAhM,EAAAk7H,WAAAlvH,EAAAqvH,kBAAArvH,EAAAsvH,iBAEAH,EAAAhvH,KAAA,SAAAH,GAAA,OAAAA,EAAAuvH,sBACAJ,EAAAhvH,KAAA,SAAAH,GAAA,OAAAA,EAAAsd,iBAGA,cAAAwrE,QAAA,IAAAA,IAAA,IAEAhzF,OAAA,eAAA4pF,EACA8vC,EAAA,cAAA9vC,EAAA,KAAAC,4BAAA,IAAAD,OAAA,EAAAA,EAAAluF,QACA,OACA0J,MAAA,GAAAvH,OAAA,KAAAuH,MAAA,MACAC,OAAA,GAAAxH,OAAA67H,EAAA,MACAn6E,QAAA,SAGA25E,eAAA,WACA,OACAS,WAAA,KAAA3xF,UAAA,KAAAmxF,SAAA9vG,uBACAuwG,YAAA,KAAA5xF,UAAA,KAAAmxF,SAAAtgC,2BAKAl9F,QAAA,CACAqsC,UAAA,SAAAvgC,GACA,gBAAA0xH,SAAA9vG,sBACA,KAAAwgE,qBAAA7hD,WACA,SAAA8hD,GAAA,OAAAA,EAAA3kF,IAAAsC,KAGA,QClF6V,I,YCOzVjD,EAAY,eACd,EACApE,EACAe,GACA,EACA,KACA,KACA,MAIa,OAAAqD,E,kICPApI,sBACbgD,QAEAtF,OAAO,CACPC,KAAM,cAENI,MAAO,CACLO,MAAOL,SAGT+F,OAAM,SAAEC,GACN,OAAOA,EAAE,MAAO,CACd3C,YAAa,cACbC,MAAK3C,eAAA,CACH,qBAAsBd,KAAKQ,OACxBR,KAAKgS,cAEV3N,MAAOrE,KAAKkB,OACZuD,GAAIzE,KAAKqS,YACRhN,eAAQrF,W,oHCZTwqF,EAAatoF,eACjBuoF,eAAkB,UAAW,oBAAqB,cAWrCD,SAAW5qF,SAAkBA,OAAO,CACjDC,KAAM,oBAEN8kG,OAAQ,CACNg7B,mBAAoB,CAClBxpH,KAAM,eAIVlW,MAAO,CACLglG,KAAM,CACJ1iG,KAAM,CAAC8I,OAAQ7I,QACf4E,UAAU,IAId7D,KAAI,WACF,MAAO,CACL4H,OAAQ,EAGRpJ,SAAU,KACVu2G,WAAW,EACX//D,WAAYv4C,KAAK2/H,qBAIrB/+H,SAAU,CACRmN,mBAAkB,WAEhB,IAAMqyB,EAAUpgC,KAAKsE,SAASmN,KAAOzR,KAAKs4G,UAAYt4G,KAAKs4G,UAE3D,OAAOl4E,EACHw/F,OACAC,QAEN/5H,OAAM,WACJ,OAAK9F,KAAKu4C,WAEH,CACLptC,OAAQojF,eAAcvuF,KAAKmL,SAHA,KAQjC6C,MAAO,CACLjM,SAAQ,SAAE6M,EAASkzB,GAGblzB,GAAuB,MAAZkzB,EACb9hC,KAAKmL,OAAS,OAIXnL,KAAKu4C,aAENv4C,KAAK+B,SAAU/B,KAAKi4G,QACnBj4G,KAAK0qH,WAId92G,QAAO,WACL5T,KAAK+L,MAAM+sG,QAAQ1qD,iBACjB,gBACApuD,KAAK8/H,cACL,GAEF9/H,KAAKmlG,SAAWnlG,KAAKmlG,QAAQ/yC,SAASpyD,OAGxCmM,cAAa,WACXnM,KAAK+L,MAAM+sG,QAAQrqD,oBACjB,gBACAzuD,KAAK8/H,cACL,GAEF9/H,KAAKmlG,SAAWnlG,KAAKmlG,QAAQ9yC,WAAWryD,OAG1CyB,QAAS,CACPq+H,aAAY,SAAE9vH,GACPhQ,KAAK+B,UACW,WAAnBiO,EAAE+vH,eAGJ//H,KAAKmL,OAAS,SAEhB8sG,MAAK,eAAAj0G,EAAA,KACC6W,EAAe,EAGnB+yB,uBAAsB,WACpB/yB,EAAe7W,EAAK+H,MAAM+sG,QAAQj+F,gBAGpC7a,KAAKmL,OAAS,EAGdmP,YAAW,kBAAMtW,EAAKjC,WAAaiC,EAAKmH,OAAU0P,GAAgB,UAAU,MAE9E6vG,MAAK,eAAA54G,EAAA,KACH9R,KAAKmL,OAASnL,KAAK+L,MAAM+sG,QAAQ5wC,aACjC5tD,YAAW,kBAAOxI,EAAK3G,OAAS,IAAI,KAEtC1F,OAAM,SAAEw/F,EAAuB7kE,GAC7BpgC,KAAK+B,SAAWkjG,EAAK/tE,aAAel3B,KAAKilG,KAAK/tE,WAC9Cl3B,KAAKs4G,UAAYl4E,IAIrBl6B,OAAM,SAAEC,GACN,IAAM65H,EAAc,CAClBx8H,YAAa,sBAETy8H,EAAc,CAClBz8H,YAAa,qBACbqC,MAAO7F,KAAK8F,OACZsF,IAAK,WAGFpL,KAAKu4C,aACRynF,EAAYj6H,WAAa,CAAC,CACxBlG,KAAM,OACN0B,MAAOvB,KAAK+B,YAIhB,IAAM+2G,EAAU3yG,EAAE,MAAO85H,EAAa56H,eAAQrF,OACxCq4G,EAAUlyG,EAAE,MAAO65H,EAAa,CAAClnB,IAEvC,OAAO3yG,EAAEnG,KAAK+N,mBAAoB,CAChCtJ,GAAIzE,KAAKqS,YACR,CAACgmG,Q,yDClKR,W,iPCkBe14G,cAAcC,OAAO,CAClCC,KAAM,WAENkG,WAAY,CAAEmN,cAEdpT,QAAO,WACL,MAAO,CACLogI,YAAalgI,OAIjBC,MAAO,CACLo5G,YAAa,CACX92G,KAAMC,OACNK,QAAS,yBAEXs9H,WAAYhgI,QACZ23G,UAAW,CACTv1G,KAAMpC,QACN0C,SAAS,GAEX8N,SAAU,CACRpO,KAAM,CAACpC,QAASqC,QAChBK,QAAS,SAEXgO,SAAU,CACRtO,KAAM,CAACpC,QAASqC,QAChBK,QAAS,SAEXu9B,QAASjgC,QACTo5G,WAAYp5G,QACZigI,kBAAmBjgI,QACnBoV,MAAOpO,OACPk5H,UAAWlgI,QACXoB,MAAO,CACL6F,UAAU,GAEZ6iD,SAAU9pD,SAGZoD,KAAI,WACF,MAAO,CACL+8H,qBAAqB,EACrBC,oBAAgBv7H,EAChBw7H,sBAAkBx7H,EAClBy7H,gBAAiB,EACjBhvC,UAAU,EACV6mB,WAAW,IAIf13G,SAAU,CACRmB,SAAQ,WACN,OAAO/B,KAAKygI,gBAAkB,GAEhC5/H,QAAO,WACL,OAAAC,8BAAA,GACKnB,OAAcoB,QAAQH,SAASC,QAAQG,KAAKhB,OAD1C,IAEL,iCAAkCA,KAAKogI,qBAG3CryH,mBAAkB,WAChB,IAAK/N,KAAKyxF,SAAU,MAAO,GAE3B,IAAM3uC,EAAO9iD,KAAKiqD,SAAW,IAAM,IAC7B7pB,EAAUpgC,KAAK0gI,iBAAmB1gI,KAAKs4G,UAAYt4G,KAAKs4G,UACxD1tE,EAAYxK,EAAU,WAAa,GAEzC,MAAO,YAAPz8B,OAAmBm/C,GAAIn/C,OAAGinC,EAAS,gBAErC+1F,eAAc,WACZ,OAAOxgI,QACLH,KAAKwoD,MAAM7lC,MAAK,SAAAhhB,GAAI,OAAKA,EAAKvB,cAGlC85G,QAAO,WACL,OAAOl6G,KAAKmgI,YAAcngI,KAAK4gI,cAAgB5gI,KAAKwoD,MAAMhnD,OAAS,GAErE44G,QAAO,WACL,OAAOp6G,KAAKmgI,YAAcngI,KAAK4gI,cAAgB,GAEjDA,cAAa,eAAA58H,EAAA,KACX,OAAOhE,KAAKwoD,MAAM1a,WAAU,SAACnsC,EAAM2W,GACjC,OAAOtU,EAAKqoF,gBAAkBroF,EAAKnC,SAASF,EAAM2W,OAGtDooH,gBAAe,WACb,OAAO1gI,KAAKsE,SAASmN,KAAOzR,KAAKogC,QAAUpgC,KAAKogC,UAIpDpyB,MAAO,CACL4yH,cAAa,SAAEl+H,EAAKuO,GAClBjR,KAAKs4G,UAAYt4G,KAAK6gI,cAAcn+H,EAAKuO,KAI7C2C,QAAO,eAAA9B,EAAA,KACLwtB,OAAOsO,uBAAsB,kBAAO97B,EAAK2/E,UAAW,MAGtDhwF,QAAS,CACP8rF,eAAc,WACZ,OAAOloF,eAAQrF,OAEjB8gI,aAAY,WACV,IAAM17H,EAAW,CAACpF,KAAKutF,kBAMvB,OAJIvtF,KAAKu5G,YACPn0G,EAAS2E,KAAK/J,KAAK+gI,mBAGd/gI,KAAK8D,eAAe,MAAO,CAChCN,YAAa,sBACbC,MAAO,CACL,iCAAkCzD,KAAK+B,UAEzC8D,MAAO,CACLsF,OAAQnL,KAAKugI,gBAAkBvgI,KAAKwgI,mBAErCp7H,IAELigG,QAAO,SACLz6D,EACA1nC,EACAwB,GAAiB,I,MAAA+Q,EAAA,KAEXhR,EAAK,CACTC,MAAQ,SAAAsL,GACNA,EAAEwB,kBACFiE,EAAK6qH,qBAAsB,EAC3B57H,MAGEL,EAAQ,CACZ,aAAcrE,KAAKsE,SAASC,KAAKC,EAAnB,qBAAAb,OAA0CinC,KAEpDxlC,EAGJ,QAHemB,EAA4B,QAA5BunF,GAAAxB,EAAAtsF,KAAKuF,cAAaqlC,UAAU,IAAAkjD,OAAA,EAAAA,EAAA9sF,KAAAsrF,EAAG,CAC9C7nF,KACAJ,iBACA,IAAAkC,IAAI,CAACvG,KAAK8D,eAAeK,OAAM,CAC/BlE,MAAO,CAAEiD,MAAM,GACfmB,QACAI,MACC,CACDzE,KAAK8D,eAAea,OAAO,CACzB1E,MAAO,CAAE+gI,OAAO,IACf99H,MAGL,OAAOlD,KAAK8D,eAAe,MAAO,CAChCN,YAAa,aAAFG,OAAeinC,IACzBxlC,IAEL27H,gBAAe,WACb,IAAME,EAAQ,GAERpwH,EAAW7Q,KAAKsE,SAASmN,IAC3BzR,KAAK2Q,SACL3Q,KAAK6Q,SAGT,GACE7Q,KAAKo6G,SACLvpG,GACoB,kBAAbA,EACP,CACA,IAAM3N,EAAOlD,KAAKqlG,QAAQ,OAAQx0F,EAAU7Q,KAAKoJ,MACjDlG,GAAQ+9H,EAAMl3H,KAAK7G,GAGrB,IAAMyN,EAAW3Q,KAAKsE,SAASmN,IAC3BzR,KAAK6Q,SACL7Q,KAAK2Q,SAGT,GACE3Q,KAAKk6G,SACLvpG,GACoB,kBAAbA,EACP,CACA,IAAMzN,EAAOlD,KAAKqlG,QAAQ,OAAQ10F,EAAU3Q,KAAKqJ,MACjDnG,GAAQ+9H,EAAMl3H,KAAK7G,GAGrB,OAAO+9H,GAETC,aAAY,SAAEt/H,GACZ,IAAMo7H,GAAap7H,EAAQ,GAAK5B,KAAKwoD,MAAMhnD,OACrCG,EAAO3B,KAAKwoD,MAAMw0E,GAExB,OAAIr7H,EAAKvB,SAAiBJ,KAAKkhI,aAAalE,GAErCA,GAETmE,aAAY,SAAEv/H,GACZ,IAAMw/H,GAAax/H,EAAQ5B,KAAKwoD,MAAMhnD,OAAS,GAAKxB,KAAKwoD,MAAMhnD,OACzDG,EAAO3B,KAAKwoD,MAAM44E,GAExB,OAAIz/H,EAAKvB,SAAiBJ,KAAKmhI,aAAaC,GAErCA,GAET/3H,KAAI,WAEF,GAAKrJ,KAAK2gI,gBAAmB3gI,KAAKk6G,QAAlC,CAEA,IAAM8iB,EAAYh9H,KAAKkhI,aAAalhI,KAAK4gI,eACnCj/H,EAAO3B,KAAKwoD,MAAMw0E,GAExBh9H,KAAKqsF,cAAgBrsF,KAAK6B,SAASF,EAAMq7H,KAE3C5zH,KAAI,WAEF,GAAKpJ,KAAK2gI,gBAAmB3gI,KAAKo6G,QAAlC,CAEA,IAAMhL,EAAYpvG,KAAKmhI,aAAanhI,KAAK4gI,eACnCj/H,EAAO3B,KAAKwoD,MAAM4mD,GAExBpvG,KAAKqsF,cAAgBrsF,KAAK6B,SAASF,EAAMytG,KAE3CyxB,cAAa,SAAEn+H,EAAauO,GAC1B,IAAMypG,EAAc16G,KAAKwoD,MAAMhnD,OACzB4tG,EAAYsL,EAAc,EAEhC,OAAIA,GAAe,EAAUh4G,EAAMuO,EAE/BvO,IAAQ0sG,GAAwB,IAAXn+F,IAEN,IAARvO,GAAauO,IAAWm+F,IAG1B1sG,EAAMuO,IAKnB/K,OAAM,SAAEC,GAAC,IAAA4Z,EAAA,KACDxc,EAAO,CACXC,YAAa,WACbC,MAAOzD,KAAKa,QACZkF,WAAY,IAGd,IAAK/F,KAAKqgI,UAAW,CACnB,IAAM9+H,EAAQvB,KAAKuV,OAAS,CAC1BI,KAAM,WACJoK,EAAKzb,SAASmN,IAAMsO,EAAK3W,OAAS2W,EAAK1W,QAEzCwM,MAAO,WACLkK,EAAKzb,SAASmN,IAAMsO,EAAK1W,OAAS0W,EAAK3W,QAEzCgyC,IAAM,SAAAprC,GACJA,EAAEwB,mBAEJxC,MAAQ,SAAAgB,GACNA,EAAEwB,oBAINjO,EAAKwC,WAAWgE,KAAK,CACnBlK,KAAM,QACN0B,UAIJ,OAAO4E,EAAE,MAAO5C,EAAM,CAACvD,KAAK8gI,qB,yEC5RYv6H,EAAOgE,WAAS,MAAU,KAAY/G,UAAY,G,OAAyBme,SAAY,C,YAAC,yBAAoB,YAAC,CAACtd,WAAM,S,MAA6B,CAAkB,QAAY,gB,aAAeg9H,KAAW,wBAAC,SAAa,aAAkC,cAAS,GAAS,MAAQ,oBAAU,OAAU,SAAI,MAAQ,UAAG,YAAkB,SAAmB,kBAACj9G,gBAAM,I,MAAmCtC,C,MAA6Bw/G,wBAAyB,SAAC,YAACrgH,wBAAW,GAA0B,uC,6GCwB/f,GACfphB,KAAA,uBAEAqC,OAAA,CAAA+f,QAEA1e,KAAA,WACA,OACA+9H,sBAAA,KACAC,gBAAA,KAIA3tH,QAAA,WACA,KAAA4tH,yBAGAxzH,MAAA,CACArG,YAAA,WACA,KAAA65H,yBAGAF,sBAAA,eAAAt9H,EAAA,YAAA4E,eAAAC,iBAAAC,MAAA,SAAAC,IAAA,OAAAF,iBAAAK,MAAA,SAAAC,GAAA,eAAAA,EAAAC,KAAAD,EAAAE,MAAA,OACArF,EAAAy9H,qBAAAz9H,EAAAs9H,uBAEAI,eAAA19H,EAAAs9H,uBAAAr7F,OAEAjiC,EAAA29H,gBAEA39H,EAAA49H,yBAAA59H,EAAA0F,eACA1F,EAAA6F,MAAA,mCAAAV,EAAAkB,UAAAtB,MARAH,KAYAhI,SAAAE,6CAAA,GACAyG,eAAA,0BACAA,eAAA,4BACAA,eAAA,kCAGA9F,QAAAX,6CAAA,GACA4H,eAAA,4CACAA,eAAA,8DACAm5H,oBAAA,SAAAN,GAAA,IAAAnnC,EACA0nC,EAAAJ,iBACA1+G,KAAA,QAAAo3E,EAAA,KAAAzyF,mBAAA,IAAAyyF,OAAA,EAAAA,EAAAnvF,IACA8hC,MAEAg1F,EAAAR,EAAA5+G,MACA,SAAAq/G,GAAA,OAAAA,EAAA/2H,KAAA,OAAA62H,QAAA,IAAAA,OAAA,EAAAA,EAAA72H,OAGA,eAAA82H,QAAA,IAAAA,MAAA92H,KACA82H,GAKAE,kBAAA,WACA,YAAAV,gBAAA,KAAAA,gBAAA//H,OAAA,IAEAggI,sBAAA,eAAA1vH,EAAA,KACA,KAAAyvH,gBAAA,KAAAW,aAAAjtH,QACA,SAAA2M,GAAA,IAAAugH,EAAAl/G,EAAArB,EAAAqB,QAAA,OAAAA,IAAA,QAAAk/G,EAAArwH,EAAAnK,mBAAA,IAAAw6H,OAAA,EAAAA,EAAAl3H,OAEA,IAAA62H,EAAA,KAAAD,oBAAA,KAAAN,iBAGA,KAAAD,sBADAQ,GAKA,KAAAG,wBC/F4W,I,wBCQxW33H,EAAY,eACd,EACA,EACArD,GACA,EACA,KACA,WACA,MAIa,OAAAqD,E,yKCTT,SAAUgsG,EAAStmG,GACvBA,EAAE8F,iBAIW5T,sBACbkrF,OACAwoB,OACA6Y,QACA7uH,OAAO,CACPC,KAAM,aAENukB,MAAO,CACLwa,KAAM,aACNlsB,MAAO,UAGTzS,MAAO,CACLgL,GAAIzI,OACJmqH,WAAY,KACZyV,WAAY,KACZC,UAAW,KACXxmH,SAAU,CACRtZ,KAAMpC,QACN0C,QAAS,MAEXs5C,MAAO35C,QAGTe,KAAI,WACF,MAAO,CACL2nF,SAAUlrF,KAAK2sH,WACfphC,UAAWvrF,KAAK2sH,aAIpB/rH,SAAU,CACRiD,cAAa,WACX,GAAK7D,KAAK+B,SACV,OAAI/B,KAAKiE,MAAcjE,KAAKiE,MACxBjE,KAAKiF,SAAWjF,KAAKyrF,UAAkB,QACpC,WAETxuE,WAAU,WACR,OAAyB,IAAlBjd,KAAK6b,UAAwC,OAAlB7b,KAAK6b,UAAqBxa,MAAMC,QAAQtB,KAAKqsF,gBAEjFtqF,SAAQ,eAAAiC,EAAA,KACAzC,EAAQvB,KAAKuB,MACb0e,EAAQjgB,KAAKqsF,cAEnB,OAAIrsF,KAAKid,aACF5b,MAAMC,QAAQ2e,IAEZA,EAAMqD,MAAK,SAAA3hB,GAAI,OAAIqC,EAAKsuH,gBAAgB3wH,EAAMJ,WAGhCyD,IAAnBhF,KAAKqiI,gBAA+Cr9H,IAApBhF,KAAKoiI,WAChC7gI,EACHvB,KAAKsyH,gBAAgB/wH,EAAO0e,GAC5B9f,QAAQ8f,GAGPjgB,KAAKsyH,gBAAgBryG,EAAOjgB,KAAKqiI,YAE1CzR,QAAO,WACL,OAAO5wH,KAAK+B,UAEdq0G,YAAW,WACT,OAAQp2G,KAAKwrF,YAAexrF,KAAK0sF,gBAE7B1sF,KAAK0sF,qBADL1nF,IAKRgJ,MAAO,CACL2+G,WAAU,SAAEjqH,GACV1C,KAAKurF,UAAY7oF,EACjB1C,KAAKkrF,SAAWxoF,IAIpBjB,QAAS,CACPisF,SAAQ,WACN,IAAMvxC,EAAQixC,OAAOrsF,QAAQU,QAAQisF,SAAS1sF,KAAKhB,MAEnD,OAAKm8C,GAELA,EAAO54C,KAAMkB,GAAK,CAEhBC,MAAO4xG,GAGFn6D,GAPYA,GASrB0qD,SAAQ,SAAEtkG,EAAc8B,GACtB,OAAOrE,KAAK8D,eAAe,QAAS,CAClCO,MAAO8C,OAAOi6B,OAAO,CACnB,eAAgBphC,KAAK+B,SAASm1B,WAC9B92B,SAAUJ,KAAKwrF,WACfvgF,GAAIjL,KAAKwtF,WACT7nF,KAAMpD,EACNA,QACC8B,GACHiK,SAAU,CACR/M,MAAOvB,KAAKuB,MACZ+gI,QAAStiI,KAAK+B,UAEhB0C,GAAI,CACFmzG,KAAM53G,KAAKsnG,OACXn2F,OAAQnR,KAAK62G,SACbxnB,MAAOrvF,KAAKqnG,QACZzB,QAAS5lG,KAAK82G,UACdpyG,MAAO4xG,GAETlrG,IAAK,WAGT60C,QAAO,SAAEjwC,GACPhQ,KAAK62G,WACL72G,KAAK6J,MAAM,QAASmG,IAEtB6mG,SAAQ,eAAA/kG,EAAA,KACN,GAAK9R,KAAKusF,cAAV,CAEA,IAAMhrF,EAAQvB,KAAKuB,MACf0e,EAAQjgB,KAAKqsF,cAEjB,GAAIrsF,KAAKid,WAAY,CACd5b,MAAMC,QAAQ2e,KACjBA,EAAQ,IAGV,IAAMze,EAASye,EAAMze,OAErBye,EAAQA,EAAMhL,QAAQ,SAAAtT,GAAD,OAAgBmQ,EAAKwgH,gBAAgB3wH,EAAMJ,MAE5D0e,EAAMze,SAAWA,GACnBye,EAAMlW,KAAKxI,QAGb0e,OAD4Bjb,IAAnBhF,KAAKqiI,gBAA+Cr9H,IAApBhF,KAAKoiI,WACtCpiI,KAAKsyH,gBAAgBryG,EAAOjgB,KAAKqiI,WAAariI,KAAKoiI,WAAapiI,KAAKqiI,UACpE9gI,EACDvB,KAAKsyH,gBAAgBryG,EAAO1e,GAAS,KAAOA,GAE3C0e,EAGXjgB,KAAK8oB,UAAS,EAAM7I,GACpBjgB,KAAKqsF,cAAgBpsE,EACrBjgB,KAAKkrF,SAAWjrE,IAElBonF,QAAO,SAAEr3F,GACPhQ,KAAKqrF,WAAY,EACjBrrF,KAAK6J,MAAM,QAASmG,IAEtBs3F,OAAM,SAAEt3F,GACNhQ,KAAKqrF,WAAY,EACjBrrF,KAAK6J,MAAM,OAAQmG,IAGrB8mG,UAAS,SAAE9mG,S,wJCvJA9N,iBACboxF,OACAivC,OACAr9H,QAEAtF,OAAO,CACPC,KAAM,aAENC,QAAO,WACL,MAAO,CACL+3G,QAAS73G,OAIbY,SAAU,CACRC,QAAO,WACL,OAAAC,8BAAA,GACKwyF,OAAevyF,QAAQH,SAASC,QAAQG,KAAKhB,OAD3C,IAEL,cAAc,EACd,wBAAyBA,KAAKi6G,SAE9B,0BAA2Bj6G,KAAKu5G,YAC7Bv5G,KAAKgS,gBAKdhE,MAAO,CACLw6C,MAAO,aACP6jC,cAAe,aACf5pE,OAAQ,iBAGVhhB,QAAS,CACP+gI,WAAU,WACHxiI,KAAKyxF,UAEVzxF,KAAK6J,MAAM,gBAEbvE,WAAU,WACR,IAAMY,EAASotF,OAAevyF,QAAQU,QAAQ6D,WAAWtE,KAAKhB,MAK9D,OAHAkG,EAAO3C,KAAO2C,EAAO3C,MAAQ,GAC7B2C,EAAO3C,KAAKC,aAAe,uBAEpB0C,GAETu8H,cAAa,SAAE//H,EAAYuO,GAEzB,IAAIjR,KAAK83G,UAAT,CAEA,IAOA+C,EAPMryD,EAAQxoD,KAAKwoD,MACbk6E,EAAUhgI,EAAImE,KACd87H,EAAU1xH,EAAOpK,KAEnB+7H,GAAS,EACTC,GAAS,EAAb/nB,EAAAC,eAEmBvyD,GAAnB,QAAAsyD,EAAA9mF,MAAA6mF,EAAAC,EAAAxoF,KAAA2oF,MAA0B,KAAft5G,EAAXk5G,EAAAt5G,MAIE,GAHII,EAAKyU,KAAOusH,EAASE,GAAS,EACzBlhI,EAAKyU,KAAOssH,IAASE,GAAS,GAEnCA,GAAUC,EAAQ,OAKxB,MAAAh4G,GAAAiwF,EAAA9qG,EAAA6a,GAAA,QAAAiwF,EAAA3wF,KACKy4G,GAAUC,IAAQ7iI,KAAKqsF,mBAAgBrnF,MAIhDkB,OAAM,SAAEC,GACN,IAAMD,EAASotF,OAAevyF,QAAQmF,OAAOlF,KAAKhB,KAAMmG,GAMxD,OAJAD,EAAO3C,KAAMc,MAAQ,CACnBsB,KAAM,WAGDO,K,wBCxFIhE,iBAAOmO,QAAWzQ,OAAO,CACtCC,KAAM,gBAENqG,OAAM,SAAEC,GACN,OAAOA,EAAE,MAAOnG,KAAK4D,mBAAmB5D,KAAKiE,MAAO,CAClDT,YAAa,sB,oCCSbgnF,EAAatoF,eACjBmO,OACA6nG,OACAhzG,QASaslF,SAAW5qF,SAAkBA,OAAO,CACjDC,KAAM,SAENkG,WAAY,CACVqzG,eAGFn5G,MAAO,CACLo5G,YAAa,CACX92G,KAAMC,OACNK,QAAS,IAEXigI,eAAgB3iI,QAChB+xC,gBAAiB1vC,OACjB82G,aAAcn5G,QACd4iI,SAAU5iI,QACV6iI,UAAW7iI,QACX8iI,KAAM9iI,QACNgL,OAAQ,CACN5I,KAAM,CAAC8I,OAAQ7I,QACfK,aAASmC,GAEXk+H,WAAY/iI,QACZgjI,aAAchjI,QACdijI,iBAAkB,CAAC5gI,OAAQ6I,QAC3BsF,SAAU,CACRpO,KAAMC,OACNK,QAAS,SAEXwgI,SAAUljI,QACV0Q,SAAU,CACRtO,KAAMC,OACNK,QAAS,SAEXgT,MAAO1V,QACPo5G,WAAY,CAACp5G,QAASqC,QACtB8gI,YAAa9gI,OACb+gI,WAAY,CACVhhI,KAAM,CAAC8I,OAAQ7I,QACfK,QAAS,GAEXonD,SAAU9pD,SAGZoD,KAAI,WACF,MAAO,CACLk2G,cAAe,EACfme,OAAQ,CACNzsH,OAAQ,KACRwK,KAAM,KACNE,MAAO,KACPuvB,IAAK,KACLl6B,MAAO,MAETs4H,eAAgB,MAIpB5iI,SAAU,CACRC,QAAO,WACL,OAAAC,eAAA,CACE,2BAA4Bd,KAAK8iI,eACjC,mBAAoB9iI,KAAK+iI,SACzB,qBAAsB/iI,KAAKgjI,UAC3B,eAAgBhjI,KAAKijI,KACrB,yBAA0BjjI,KAAKmjI,aAC/B,gBAAiBnjI,KAAK6V,MACtB,mBAAoB7V,KAAKiqD,UACtBjqD,KAAKgS,eAGZyxH,WAAU,WACR,OAAOzjI,KAAKsE,SAASmN,KAAOzR,KAAKiqD,UAEnCy5E,aAAY,WACV,MAAO,CACLv4H,OAAQojF,eAAcvuF,KAAK43H,OAAOzsH,QAClCwK,KAAM3V,KAAKyjI,gBAAaz+H,EAAYupF,eAAcvuF,KAAK43H,OAAOjiH,MAC9DE,MAAO7V,KAAKyjI,WAAal1C,eAAcvuF,KAAK43H,OAAO/hH,YAAS7Q,EAC5DogC,IAAKplC,KAAKiqD,SAAWskC,eAAcvuF,KAAK43H,OAAOxyF,UAAOpgC,EACtDoB,WAAgC,MAApBpG,KAAK43H,OAAOjiH,KAAe,KAAO,OAC9CzK,MAAOqjF,eAAcvuF,KAAK43H,OAAO1sH,SAGrCrH,cAAa,WACX,OAAI7D,KAAKiE,MAAcjE,KAAKiE,MACnBjE,KAAKiF,SAAWjF,KAAKyrF,UAAkB,QACpC,YAIhBz9E,MAAO,CACL80H,eAAgB,aAChBC,SAAU,aACVzpB,aAAc,aACd0pB,UAAW,aACXC,KAAM,aACNE,aAAc,aACdttH,MAAO,aACP0jG,WAAY,aACZtvD,SAAU,aACV,4BAA6B,WAC7B,6BAA8B,WAC9B,eAAgB,YAGlBr2C,QAAO,eAAA5P,EAAA,KACL,GAA8B,qBAAnBs2G,eAAgC,CACzC,IAAMC,EAAM,IAAID,gBAAe,WAC7Bt2G,EAAKi7D,cAEPs7C,EAAIC,QAAQx6G,KAAKwa,KACjBxa,KAAKmiB,IAAI,kBAAkB,WACzBo4F,EAAIE,gBAIRz6G,KAAK6sF,WAAU,WACbvtD,OAAOhlB,WAAWtW,EAAKw+H,WAAY,QAIvC/gI,QAAS,CACP+gI,WAAU,eAAA1wH,EAAA,KACR,OACE9R,KAAKkjI,YACJljI,KAAK+L,MAAMy8C,OACXxoD,KAAK+L,MAAMy8C,MAAM2jE,cAAc3qH,QAMlCxB,KAAK6sF,WAAU,WAEb,IAAM82C,EAAY7xH,EAAK/F,MAAMy8C,MAAM2jE,cAAc,GAEjD,IAAKwX,IAAcA,EAAUnpH,IAG3B,OAFA1I,EAAK8lH,OAAO1sH,MAAQ,OACpB4G,EAAK8lH,OAAOjiH,KAAO,GAGrB,IAAMs5C,EAAK00E,EAAUnpH,IAErB1I,EAAK8lH,OAAS,CACZzsH,OAAS2G,EAAKm4C,SAAqCgF,EAAGp0C,aAA7BxP,OAAOyG,EAAKyxH,YACrC5tH,KAAM7D,EAAKm4C,SAAW,EAAIgF,EAAGujB,WAC7B38D,MAAO/D,EAAKm4C,SAAW,EAAIgF,EAAGujB,WAAavjB,EAAG20E,YAC9Cx+F,IAAK6pB,EAAGt0C,UACRzP,MAAO4G,EAAKm4C,SAAW5+C,OAAOyG,EAAKyxH,YAAct0E,EAAG40E,iBAIjD,IAxBL7jI,KAAK43H,OAAO1sH,MAAQ,GACb,IAyBX44H,OAAM,SAAEt7E,EAAgBovE,GAAoB,IAAAniH,EAAA,KACpClS,EAAO,CACXsC,MAAO,CACLsF,OAAQojF,eAAcvuF,KAAKmL,SAE7BlL,MAAO,CACLo5G,YAAar5G,KAAKq5G,YAClBC,aAAct5G,KAAKs5G,aACnBprG,KAAMlO,KAAKkO,KACXqD,MAAOvR,KAAKuR,MACZumG,WAAY93G,KAAKqjI,SACjBD,iBAAkBpjI,KAAKojI,iBACvBzyH,SAAU3Q,KAAK2Q,SACfE,SAAU7Q,KAAK6Q,SACf0oG,WAAYv5G,KAAKu5G,WACjBh4G,MAAOvB,KAAKqsF,eAEd5nF,GAAI,CACF,cAAezE,KAAKwiI,WACpBrxH,OAAS,SAAAzO,GACP+S,EAAK42E,cAAgB3pF,IAGzB0I,IAAK,SAMP,OAHApL,KAAKiG,aAAajG,KAAK6D,cAAeN,GACtCvD,KAAK4D,mBAAmB5D,KAAKkyC,gBAAiB3uC,GAEvCvD,KAAK8D,eAAeigI,EAAUxgI,EAAM,CACzCvD,KAAK63H,UAAUD,GACfpvE,KAGJw7E,SAAQ,SAAEx7E,EAAqB7mD,GAAa,IAAAoe,EAAA,KAG1C,OAAIyoC,IAIC7mD,EAAKH,OAEHxB,KAAK8D,eAAemgI,OAAY,CACrChkI,MAAO,CACLsB,MAAOvB,KAAKqsF,eAEd5nF,GAAI,CACF0M,OAAS,SAAAzO,GACPqd,EAAKssE,cAAgB3pF,KAGxBf,GAXsB,OAa3Bk2H,UAAS,SAAED,GACT,OAAI53H,KAAKkjI,WAAmB,MAEvBtL,IACHA,EAAS53H,KAAK8D,eAAeogI,EAAa,CACxCjkI,MAAO,CAAEgE,MAAOjE,KAAKsjI,gBAIlBtjI,KAAK8D,eAAe,MAAO,CAChCN,YAAa,wBACbqC,MAAO7F,KAAK0jI,cACX,CAAC9L,MAEN34D,SAAQ,WACFj/D,KAAKm8G,eAETlU,aAAajoG,KAAKy5G,eAClBz5G,KAAKy5G,cAAgBn6E,OAAOhlB,WAAWta,KAAKwiI,WAAY,KAE1D2B,WAAU,WAQR,IAPA,IAAI37E,EAAQ,KACRovE,EAAS,KACPj2H,EAAO,GACPo1G,EAAM,GACNl3F,EAAOxa,eAAQrF,OAAS,GACxBwB,EAASqe,EAAKre,OAEX8W,EAAI,EAAGA,EAAI9W,EAAQ8W,IAAK,CAC/B,IAAMu1E,EAAQhuE,EAAKvH,GAEnB,GAAIu1E,EAAMkgC,iBACR,OAAQlgC,EAAMkgC,iBAAiB5Y,KAAKp0G,QAAQlB,MAC1C,IAAK,gBAAiB+3H,EAAS/pC,EAC7B,MACF,IAAK,eAAgBrlC,EAAQqlC,EAC3B,MACF,IAAK,aAAclsF,EAAKoI,KAAK8jF,GAC3B,MAEF,QAASkpB,EAAIhtG,KAAK8jF,QAGpBkpB,EAAIhtG,KAAK8jF,GAUb,MAAO,CAAEkpB,MAAK6gB,SAAQpvE,QAAO7mD,UAIjCuE,OAAM,SAAEC,GACN,IAAAi+H,EAAqCpkI,KAAKmkI,aAAlCptB,EAAFqtB,EAAErtB,IAAK6gB,EAAPwM,EAAOxM,OAAQpvE,EAAf47E,EAAe57E,MAAO7mD,EAAAyiI,EAAAziI,KAE5B,OAAOwE,EAAE,MAAO,CACd3C,YAAa,SACbC,MAAOzD,KAAKa,QACZkF,WAAY,CAAC,CACXlG,KAAM,SACNwkI,UAAW,CAAEC,OAAO,GACpB/iI,MAAOvB,KAAKi/D,YAEb,CACDj/D,KAAK8jI,OAAO/sB,EAAK6gB,GACjB53H,KAAKgkI,SAASx7E,EAAO7mD","file":"js/planning-module.1dbea01e.js","sourcesContent":["export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./WithoutVarieties.vue?vue&type=style&index=0&id=4db6abae&prod&scoped=true&lang=css\"","// Styles\nimport './VExpansionPanel.sass'\n\n// Components\nimport { BaseItemGroup, GroupableInstance } from '../VItemGroup/VItemGroup'\nimport VExpansionPanel from './VExpansionPanel'\n\n// Utilities\nimport { breaking } from '../../util/console'\n\n// Types\ninterface VExpansionPanelInstance extends InstanceType {}\n\n/* @vue/component */\nexport default BaseItemGroup.extend({\n name: 'v-expansion-panels',\n\n provide (): object {\n return {\n expansionPanels: this,\n }\n },\n\n props: {\n accordion: Boolean,\n disabled: Boolean,\n flat: Boolean,\n hover: Boolean,\n focusable: Boolean,\n inset: Boolean,\n popout: Boolean,\n readonly: Boolean,\n tile: Boolean,\n },\n\n computed: {\n classes (): object {\n return {\n ...BaseItemGroup.options.computed.classes.call(this),\n 'v-expansion-panels': true,\n 'v-expansion-panels--accordion': this.accordion,\n 'v-expansion-panels--flat': this.flat,\n 'v-expansion-panels--hover': this.hover,\n 'v-expansion-panels--focusable': this.focusable,\n 'v-expansion-panels--inset': this.inset,\n 'v-expansion-panels--popout': this.popout,\n 'v-expansion-panels--tile': this.tile,\n }\n },\n },\n\n created () {\n /* istanbul ignore next */\n if (this.$attrs.hasOwnProperty('expand')) {\n breaking('expand', 'multiple', this)\n }\n\n /* istanbul ignore next */\n if (\n Array.isArray(this.value) &&\n this.value.length > 0 &&\n typeof this.value[0] === 'boolean'\n ) {\n breaking(':value=\"[true, false, true]\"', ':value=\"[0, 2]\"', this)\n }\n },\n\n methods: {\n updateItem (item: GroupableInstance & VExpansionPanelInstance, index: number) {\n const value = this.getValue(item, index)\n const nextValue = this.getValue(item, index + 1)\n\n item.isActive = this.toggleMethod(value)\n item.nextIsActive = this.toggleMethod(nextValue)\n },\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'\nimport { getSlot } from '../../util/helpers'\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 closeIcon: {\n type: String,\n default: '$cancel',\n },\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 }, this.closeIcon),\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 getSlot(this, 'prepend') || this.__cachedIcon,\n this.genContent(),\n this.__cachedBorder,\n getSlot(this, '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 }, getSlot(this))\n },\n genAlert (): VNode {\n let data: VNodeData = {\n staticClass: 'v-alert',\n attrs: {\n role: 'alert',\n },\n on: this.listeners$,\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","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FilterModal.vue?vue&type=style&index=0&id=1f23a8a2&prod&scoped=true&lang=css\"","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"variety\"},[_c('div',{staticClass:\"variety-info-container\"},[_c('div',{staticClass:\"attribute\"},[_c('div',[_c('div',{staticClass:\"type crop\"},[_c('v-img',{attrs:{\"width\":\"14\",\"alt\":_vm.cropIcon.alt,\"src\":_vm.cropIcon.src}}),_vm._v(\" \"+_vm._s(_vm.$t(_vm.currentCrop.messageKey).toUpperCase())+\" \")],1)]),_c('div',{staticClass:\"data seed\"},[_vm._v(\" \"+_vm._s(_vm.variety.cultivar)+\" \")])]),_c('div',{staticClass:\"attribute\"},[_c('div',{staticClass:\"type\"},[_c('v-icon',{attrs:{\"size\":\"14\",\"color\":\"#AAB2A9\"}},[_vm._v(\"mdi-office-building-outline\")]),_vm._v(\" \"+_vm._s(_vm.$t('variety.owner'))+\" \")],1),_c('div',{staticClass:\"data\"},[_vm._v(\" \"+_vm._s(_vm.variety.asset_owner_name)+\" \")])]),(_vm.variety.grupo)?_c('div',{staticClass:\"attribute\"},[_c('div',{staticClass:\"type\"},[_c('v-icon',{attrs:{\"size\":\"14\",\"color\":\"#AAB2A9\"}},[_vm._v(\"mdi-poll\")]),_vm._v(\" \"+_vm._s(_vm.$t('cultivar.gmr'))+\" \")],1),_c('div',{staticClass:\"data\"},[_vm._v(\" \"+_vm._s(_vm.variety.grupo)+\" \")])]):_vm._e(),(_vm.variety.habito && !_vm.isUSA)?_c('div',{staticClass:\"attribute\"},[_c('div',{staticClass:\"type\"},[_vm._v(\" \"+_vm._s(_vm.$t('cultivar.habito_crescimento'))+\" \")]),_c('div',{staticClass:\"data\"},[_vm._v(\" \"+_vm._s(_vm.$t('cultivar.growth_habit.' + _vm.variety.habito.toLowerCase()))+\" \")])]):_vm._e(),(_vm.variety.ciclo_dias)?_c('div',{staticClass:\"attribute\"},[_c('div',{staticClass:\"type\"},[_vm._v(\" \"+_vm._s(_vm.$t('cultivar.ciclo'))+\" \")]),_c('div',{staticClass:\"data\"},[_vm._v(\" \"+_vm._s(_vm.cicleStart)+\" \"+_vm._s(_vm.$t('until'))+\" \"+_vm._s(_vm.cicleEnd)+\" \"+_vm._s(_vm.$t('days'))+\" \")])]):_vm._e(),(_vm.variety.populacao_min && _vm.variety.populacao_max && !_vm.isUSA)?_c('div',{staticClass:\"attribute\"},[_c('div',{staticClass:\"type\"},[_vm._v(\" \"+_vm._s(_vm.$t('cultivar.populacao'))+\" \")]),_c('div',{staticClass:\"data\"},[_vm._v(\" \"+_vm._s(_vm.$t('cultivar.populacao_entre', [ _vm.variety.populacao_min, _vm.variety.populacao_max, ]))+\" \")])]):_vm._e(),(_vm.variety.semeadura_ini && _vm.variety.semeadura_fim && !_vm.isUSA)?_c('div',{staticClass:\"attribute\"},[_c('div',{staticClass:\"type\"},[_vm._v(\" \"+_vm._s(_vm.$t('cultivar.epoca_semeadura'))+\" \")]),_c('div',{staticClass:\"data\"},[_vm._v(\" \"+_vm._s(_vm.$t('_to_', [_vm.plantingTimeStart, _vm.plantingTimeEnd]))+\" \")])]):_vm._e(),(_vm.variety.ogm && !_vm.isUSA)?_c('div',{staticClass:\"attribute\"},[_c('div',{staticClass:\"type\"},[_vm._v(\"OGM\")]),_c('div',{staticClass:\"data\"},[_vm._v(\" \"+_vm._s(_vm.variety.ogm)+\" \")])]):_vm._e()]),_c('div',{staticClass:\"variety-info-actions\"},[(_vm.isRegisteredVariety)?_c('v-btn',{staticClass:\"planning-btn text-none\",attrs:{\"data-id\":\"disease-control\",\"to\":{\n path: _vm.planningRoutePath,\n query: {\n fazenda_id: _vm.currentFarmId,\n cultivar_id: _vm.variety.cultivar_id,\n },\n }}},[_vm._v(_vm._s(_vm.$t('cultivar.go_to_planning'))+\" \")]):_c('v-btn',{staticClass:\"planning-btn text-none\",attrs:{\"data-id\":\"add-variety-button\",\"disabled\":_vm.areaExceededAccount},on:{\"click\":_vm.addVariety}},[(_vm.loading)?_c('v-progress-circular',{attrs:{\"size\":\"18\",\"indeterminate\":\"\"}}):_c('div',{staticClass:\"planning-icon\"},[_vm._v(\" \"+_vm._s(_vm.$t('cultivar.create_variety'))+\" \"),_c('v-icon',{staticClass:\"ml-3\",attrs:{\"size\":\"18\"}},[_vm._v(\"mdi-plus\")])],1)],1)],1)])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./VarietyInfo.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./VarietyInfo.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./VarietyInfo.vue?vue&type=template&id=0bfb3734&scoped=true\"\nimport script from \"./VarietyInfo.vue?vue&type=script&lang=js\"\nexport * from \"./VarietyInfo.vue?vue&type=script&lang=js\"\nimport style0 from \"./VarietyInfo.vue?vue&type=style&index=0&id=0bfb3734&prod&lang=scss&scoped=true\"\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 \"0bfb3734\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[(_vm.program.total_aplicacoes_sugeridas)?_c('v-alert',{staticClass:\"body-2 text-center\",attrs:{\"dense\":\"\",\"text\":\"\",\"color\":\"blue\"}},[_vm._v(\" \"+_vm._s(_vm.$t('programa.numero_aplicacoes_sugeridas'))+\": \"),_c('br'),_vm._v(\" \"+_vm._s(_vm.$t('_to_', [ _vm.program.total_aplicacoes_sugeridas - 1, _vm.program.total_aplicacoes_sugeridas, ]))+\" \")]):_vm._e(),(_vm.program.white_mold_total_sprayings > 0)?_c('v-alert',{staticClass:\"body-2 text-center warning-alert\",attrs:{\"dense\":\"\",\"text\":\"\"}},[_vm._v(\" \"+_vm._s(_vm.whiteMoldSprayingText)+\" \"+_vm._s(_vm.$t('programa.white_mold_total_sprayings'))+\" \"),_c('br')]):_vm._e()],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TotalSprayingsInfo.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TotalSprayingsInfo.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./TotalSprayingsInfo.vue?vue&type=template&id=51358fec&scoped=true\"\nimport script from \"./TotalSprayingsInfo.vue?vue&type=script&lang=js\"\nexport * from \"./TotalSprayingsInfo.vue?vue&type=script&lang=js\"\nimport style0 from \"./TotalSprayingsInfo.vue?vue&type=style&index=0&id=51358fec&prod&scoped=true&lang=css\"\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 \"51358fec\",\n null\n \n)\n\nexport default component.exports","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DiseaseHome.vue?vue&type=style&index=0&id=01478da0&prod&lang=scss&scoped=true\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NoAvailableVariety.vue?vue&type=style&index=0&id=66869460&prod&lang=scss&scoped=true\"","function dataHandler(newData, oldData) {\n if (oldData) {\n var chart = this.$data._chart;\n var newDatasetLabels = newData.datasets.map(function (dataset) {\n return dataset.label;\n });\n var oldDatasetLabels = oldData.datasets.map(function (dataset) {\n return dataset.label;\n });\n var oldLabels = JSON.stringify(oldDatasetLabels);\n var newLabels = JSON.stringify(newDatasetLabels);\n\n if (newLabels === oldLabels && oldData.datasets.length === newData.datasets.length) {\n newData.datasets.forEach(function (dataset, i) {\n var oldDatasetKeys = Object.keys(oldData.datasets[i]);\n var newDatasetKeys = Object.keys(dataset);\n var deletionKeys = oldDatasetKeys.filter(function (key) {\n return key !== '_meta' && newDatasetKeys.indexOf(key) === -1;\n });\n deletionKeys.forEach(function (deletionKey) {\n delete chart.data.datasets[i][deletionKey];\n });\n\n for (var attribute in dataset) {\n if (dataset.hasOwnProperty(attribute)) {\n chart.data.datasets[i][attribute] = dataset[attribute];\n }\n }\n });\n\n if (newData.hasOwnProperty('labels')) {\n chart.data.labels = newData.labels;\n this.$emit('labels:update');\n }\n\n if (newData.hasOwnProperty('xLabels')) {\n chart.data.xLabels = newData.xLabels;\n this.$emit('xlabels:update');\n }\n\n if (newData.hasOwnProperty('yLabels')) {\n chart.data.yLabels = newData.yLabels;\n this.$emit('ylabels:update');\n }\n\n chart.update();\n this.$emit('chart:update');\n } else {\n if (chart) {\n chart.destroy();\n this.$emit('chart:destroy');\n }\n\n this.renderChart(this.chartData, this.options);\n this.$emit('chart:render');\n }\n } else {\n if (this.$data._chart) {\n this.$data._chart.destroy();\n\n this.$emit('chart:destroy');\n }\n\n this.renderChart(this.chartData, this.options);\n this.$emit('chart:render');\n }\n}\n\nexport var reactiveData = {\n data: function data() {\n return {\n chartData: null\n };\n },\n watch: {\n 'chartData': dataHandler\n }\n};\nexport var reactiveProp = {\n props: {\n chartData: {\n type: Object,\n required: true,\n default: function _default() {}\n }\n },\n watch: {\n 'chartData': dataHandler\n }\n};\nexport default {\n reactiveData: reactiveData,\n reactiveProp: reactiveProp\n};","import Chart from 'chart.js';\nexport function generateChart(chartId, chartType) {\n return {\n render: function render(createElement) {\n return createElement('div', {\n style: this.styles,\n class: this.cssClasses\n }, [createElement('canvas', {\n attrs: {\n id: this.chartId,\n width: this.width,\n height: this.height\n },\n ref: 'canvas'\n })]);\n },\n props: {\n chartId: {\n default: chartId,\n type: String\n },\n width: {\n default: 400,\n type: Number\n },\n height: {\n default: 400,\n type: Number\n },\n cssClasses: {\n type: String,\n default: ''\n },\n styles: {\n type: Object\n },\n plugins: {\n type: Array,\n default: function _default() {\n return [];\n }\n }\n },\n data: function data() {\n return {\n _chart: null,\n _plugins: this.plugins\n };\n },\n methods: {\n addPlugin: function addPlugin(plugin) {\n this.$data._plugins.push(plugin);\n },\n generateLegend: function generateLegend() {\n if (this.$data._chart) {\n return this.$data._chart.generateLegend();\n }\n },\n renderChart: function renderChart(data, options) {\n if (this.$data._chart) this.$data._chart.destroy();\n if (!this.$refs.canvas) throw new Error('Please remove the tags from your chart component. See https://vue-chartjs.org/guide/#vue-single-file-components');\n this.$data._chart = new Chart(this.$refs.canvas.getContext('2d'), {\n type: chartType,\n data: data,\n options: options,\n plugins: this.$data._plugins\n });\n }\n },\n beforeDestroy: function beforeDestroy() {\n if (this.$data._chart) {\n this.$data._chart.destroy();\n }\n }\n };\n}\nexport var Bar = generateChart('bar-chart', 'bar');\nexport var HorizontalBar = generateChart('horizontalbar-chart', 'horizontalBar');\nexport var Doughnut = generateChart('doughnut-chart', 'doughnut');\nexport var Line = generateChart('line-chart', 'line');\nexport var Pie = generateChart('pie-chart', 'pie');\nexport var PolarArea = generateChart('polar-chart', 'polarArea');\nexport var Radar = generateChart('radar-chart', 'radar');\nexport var Bubble = generateChart('bubble-chart', 'bubble');\nexport var Scatter = generateChart('scatter-chart', 'scatter');\nexport default {\n Bar: Bar,\n HorizontalBar: HorizontalBar,\n Doughnut: Doughnut,\n Line: Line,\n Pie: Pie,\n PolarArea: PolarArea,\n Radar: Radar,\n Bubble: Bubble,\n Scatter: Scatter\n};","import VSubheader from './VSubheader'\n\nexport { VSubheader }\nexport default VSubheader\n","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ListItem.vue?vue&type=style&index=0&id=7ddc70a7&prod&scoped=true&lang=scss\"","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[_c('df-button',{attrs:{\"icon\":\"video\",\"variant\":\"text-blue\"},on:{\"click\":_vm.openTutorialModal}},[_vm._v(\" \"+_vm._s(_vm.$t('tutorial'))+\" \")]),(_vm.isTutorialModalOpened)?_c('df-modal',{attrs:{\"width\":\"668px\",\"title\":_vm.$t('tutorial')},on:{\"close\":_vm.closeTutorialModal},scopedSlots:_vm._u([{key:\"card-content\",fn:function(){return [_c('iframe',{attrs:{\"allow\":\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture\",\"allowfullscreen\":\"\",\"frameborder\":\"0\",\"height\":\"384px\",\"width\":\"100%\",\"src\":_vm.urlVideo}})]},proxy:true}],null,false,2908427868)}):_vm._e()],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TutorialVideoModal.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TutorialVideoModal.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./TutorialVideoModal.vue?vue&type=template&id=835f219a\"\nimport script from \"./TutorialVideoModal.vue?vue&type=script&lang=js\"\nexport * from \"./TutorialVideoModal.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","'use strict';\nvar $ = require('../internals/export');\nvar sign = require('../internals/math-sign');\n\n// `Math.sign` method\n// https://tc39.es/ecma262/#sec-math.sign\n$({ target: 'Math', stat: true }, {\n sign: sign\n});\n","import './VDatePickerTitle.sass'\n\n// Components\nimport VIcon from '../VIcon'\n\n// Mixins\nimport PickerButton from '../../mixins/picker-button'\n\n// Utils\nimport mixins from '../../util/mixins'\n\n// Types\nimport { VNode } from 'vue'\n\nexport default mixins(\n PickerButton\n/* @vue/component */\n).extend({\n name: 'v-date-picker-title',\n\n props: {\n date: {\n type: String,\n default: '',\n },\n disabled: Boolean,\n readonly: Boolean,\n selectingYear: Boolean,\n value: {\n type: String,\n },\n year: {\n type: [Number, String],\n default: '',\n },\n yearIcon: {\n type: String,\n },\n },\n\n data: () => ({\n isReversing: false,\n }),\n\n computed: {\n computedTransition (): string {\n return this.isReversing ? 'picker-reverse-transition' : 'picker-transition'\n },\n },\n\n watch: {\n value (val: string, prev: string) {\n this.isReversing = val < prev\n },\n },\n\n methods: {\n genYearIcon (): VNode {\n return this.$createElement(VIcon, {\n props: {\n dark: true,\n },\n }, this.yearIcon)\n },\n getYearBtn (): VNode {\n return this.genPickerButton('selectingYear', true, [\n String(this.year),\n this.yearIcon ? this.genYearIcon() : null,\n ], false, 'v-date-picker-title__year')\n },\n genTitleText (): VNode {\n return this.$createElement('transition', {\n props: {\n name: this.computedTransition,\n },\n }, [\n this.$createElement('div', {\n domProps: { innerHTML: this.date || ' ' },\n key: this.value,\n }),\n ])\n },\n genTitleDate (): VNode {\n return this.genPickerButton('selectingYear', false, [this.genTitleText()], false, 'v-date-picker-title__date')\n },\n },\n\n render (h): VNode {\n return h('div', {\n staticClass: 'v-date-picker-title',\n class: {\n 'v-date-picker-title--disabled': this.disabled,\n },\n }, [\n this.getYearBtn(),\n this.genTitleDate(),\n ])\n },\n})\n","import Vue from 'vue'\n\nexport default Vue.extend({\n name: 'localable',\n\n props: {\n locale: String,\n },\n\n computed: {\n currentLocale (): string {\n return this.locale || this.$vuetify.lang.current\n },\n },\n})\n","import pad from './pad'\nimport { DatePickerFormatter } from 'vuetify/types'\n\ninterface SubstrOptions {\n start?: number\n length: number\n}\n\nfunction createNativeLocaleFormatter (\n local: string | undefined,\n options: Intl.DateTimeFormatOptions\n): DatePickerFormatter | undefined\n\nfunction createNativeLocaleFormatter (\n local: string | undefined,\n options: Intl.DateTimeFormatOptions,\n substrOptions: SubstrOptions\n): DatePickerFormatter\n\nfunction createNativeLocaleFormatter (\n locale: string | undefined,\n options: Intl.DateTimeFormatOptions,\n substrOptions: SubstrOptions = { start: 0, length: 0 }\n): DatePickerFormatter | undefined {\n const makeIsoString = (dateString: string) => {\n const [year, month, date] = dateString.trim().split(' ')[0].split('-')\n return [pad(year, 4), pad(month || 1), pad(date || 1)].join('-')\n }\n\n try {\n const intlFormatter = new Intl.DateTimeFormat(locale || undefined, options)\n return (dateString: string) => intlFormatter.format(new Date(`${makeIsoString(dateString)}T00:00:00+00:00`))\n } catch (e) {\n return (substrOptions.start || substrOptions.length)\n ? (dateString: string) => makeIsoString(dateString).substr(substrOptions.start || 0, substrOptions.length)\n : undefined\n }\n}\n\nexport default createNativeLocaleFormatter\n","import pad from './pad'\n\n/**\n * @param {String} value YYYY-MM format\n * @param {Number} sign -1 or +1\n */\nexport default (value: string, sign: number) => {\n const [year, month] = value.split('-').map(Number)\n\n if (month + sign === 0) {\n return `${year - 1}-12`\n } else if (month + sign === 13) {\n return `${year + 1}-01`\n } else {\n return `${year}-${pad(month + sign)}`\n }\n}\n","import './VDatePickerHeader.sass'\n\n// Components\nimport VBtn from '../VBtn'\nimport VIcon from '../VIcon'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\nimport Localable from '../../mixins/localable'\nimport Themeable from '../../mixins/themeable'\n\n// Utils\nimport { createNativeLocaleFormatter, monthChange } from './util'\nimport mixins from '../../util/mixins'\nimport { getSlot } from '../../util/helpers'\n\n// Types\nimport { VNode, PropType } from 'vue'\nimport { DatePickerFormatter } from 'vuetify/types'\n\nexport default mixins(\n Colorable,\n Localable,\n Themeable\n/* @vue/component */\n).extend({\n name: 'v-date-picker-header',\n\n props: {\n disabled: Boolean,\n format: Function as PropType,\n min: String,\n max: String,\n nextAriaLabel: String,\n nextIcon: {\n type: String,\n default: '$next',\n },\n prevAriaLabel: String,\n prevIcon: {\n type: String,\n default: '$prev',\n },\n readonly: Boolean,\n value: {\n type: [Number, String],\n required: true,\n },\n },\n\n data () {\n return {\n isReversing: false,\n }\n },\n\n computed: {\n formatter (): DatePickerFormatter {\n if (this.format) {\n return this.format\n } else if (String(this.value).split('-')[1]) {\n return createNativeLocaleFormatter(this.currentLocale, { month: 'long', year: 'numeric', timeZone: 'UTC' }, { length: 7 })\n } else {\n return createNativeLocaleFormatter(this.currentLocale, { year: 'numeric', timeZone: 'UTC' }, { length: 4 })\n }\n },\n },\n\n watch: {\n value (newVal, oldVal) {\n this.isReversing = newVal < oldVal\n },\n },\n\n methods: {\n genBtn (change: number) {\n const ariaLabelId = change > 0 ? this.nextAriaLabel : this.prevAriaLabel\n const ariaLabel = ariaLabelId ? this.$vuetify.lang.t(ariaLabelId) : undefined\n const disabled = this.disabled ||\n (change < 0 && this.min && this.calculateChange(change) < this.min) ||\n (change > 0 && this.max && this.calculateChange(change) > this.max)\n\n return this.$createElement(VBtn, {\n attrs: { 'aria-label': ariaLabel },\n props: {\n dark: this.dark,\n disabled,\n icon: true,\n light: this.light,\n },\n on: {\n click: (e: Event) => {\n e.stopPropagation()\n this.$emit('input', this.calculateChange(change))\n },\n },\n }, [\n this.$createElement(VIcon, ((change < 0) === !this.$vuetify.rtl) ? this.prevIcon : this.nextIcon),\n ])\n },\n calculateChange (sign: number) {\n const [year, month] = String(this.value).split('-').map(Number)\n\n if (month == null) {\n return `${year + sign}`\n } else {\n return monthChange(String(this.value), sign)\n }\n },\n genHeader () {\n const color = !this.disabled && (this.color || 'accent')\n const header = this.$createElement('div', this.setTextColor(color, {\n key: String(this.value),\n }), [this.$createElement('button', {\n attrs: {\n type: 'button',\n },\n on: {\n click: () => this.$emit('toggle'),\n },\n }, getSlot(this) || [this.formatter(String(this.value))])])\n\n const transition = this.$createElement('transition', {\n props: {\n name: (this.isReversing === !this.$vuetify.rtl) ? 'tab-reverse-transition' : 'tab-transition',\n },\n }, [header])\n\n return this.$createElement('div', {\n staticClass: 'v-date-picker-header__value',\n class: {\n 'v-date-picker-header__value--disabled': this.disabled,\n },\n }, [transition])\n },\n },\n\n render (): VNode {\n return this.$createElement('div', {\n staticClass: 'v-date-picker-header',\n class: {\n 'v-date-picker-header--disabled': this.disabled,\n ...this.themeClasses,\n },\n }, [\n this.genBtn(-1),\n this.genHeader(),\n this.genBtn(+1),\n ])\n },\n})\n","import Vue from 'vue'\n\nexport function createItemTypeNativeListeners (instance: Vue, itemTypeSuffix: string, value: any) {\n return Object.keys(instance.$listeners).reduce((on, eventName) => {\n if (eventName.endsWith(itemTypeSuffix)) {\n on[eventName.slice(0, -itemTypeSuffix.length)] = (event: Event) => instance.$emit(eventName, value, event)\n }\n\n return on\n }, {} as typeof instance.$listeners)\n}\n\nexport function createItemTypeListeners (instance: Vue, itemTypeSuffix: string) {\n return Object.keys(instance.$listeners).reduce((on, eventName) => {\n if (eventName.endsWith(itemTypeSuffix)) {\n on[eventName] = instance.$listeners[eventName]\n }\n\n return on\n }, {} as typeof instance.$listeners)\n}\n","// Adds leading zero to month/day if necessary, returns 'YYYY' if type = 'year',\n// 'YYYY-MM' if 'month' and 'YYYY-MM-DD' if 'date'\nimport pad from './pad'\n\nexport default (dateString: string, type: 'date' | 'month' | 'year'): string => {\n const [year, month = 1, date = 1] = dateString.split('-')\n return `${year}-${pad(month)}-${pad(date)}`.substr(0, { date: 10, month: 7, year: 4 }[type])\n}\n","import { DatePickerAllowedDatesFunction } from 'vuetify/types'\n\nexport default function isDateAllowed (date: string, min: string, max: string, allowedFn: DatePickerAllowedDatesFunction | undefined) {\n return (!allowedFn || allowedFn(date)) &&\n (!min || date >= min.substr(0, 10)) &&\n (!max || date <= max)\n}\n","import '../VDatePickerTable.sass'\n\n// Directives\nimport Touch from '../../../directives/touch'\n\n// Mixins\nimport Colorable from '../../../mixins/colorable'\nimport Localable from '../../../mixins/localable'\nimport Themeable from '../../../mixins/themeable'\n\n// Utils\nimport { createItemTypeNativeListeners, sanitizeDateString } from '../util'\nimport isDateAllowed from '../util/isDateAllowed'\nimport { mergeListeners } from '../../../util/mergeData'\nimport mixins from '../../../util/mixins'\nimport { throttle } from '../../../util/helpers'\n\n// Types\nimport {\n PropType,\n VNodeChildren,\n} from 'vue'\nimport { PropValidator } from 'vue/types/options'\nimport {\n DatePickerAllowedDatesFunction,\n DatePickerEventColors,\n DatePickerEventColorValue,\n DatePickerEvents,\n DatePickerFormatter,\n TouchWrapper,\n} from 'vuetify/types'\n\ntype CalculateTableDateFunction = (v: number) => string\n\nexport default mixins(\n Colorable,\n Localable,\n Themeable\n/* @vue/component */\n).extend({\n directives: { Touch },\n\n props: {\n allowedDates: Function as PropType,\n current: String,\n disabled: Boolean,\n format: Function as PropType,\n events: {\n type: [Array, Function, Object],\n default: () => null,\n } as PropValidator,\n eventColor: {\n type: [Array, Function, Object, String],\n default: () => 'warning',\n } as PropValidator,\n min: String,\n max: String,\n range: Boolean,\n readonly: Boolean,\n scrollable: Boolean,\n tableDate: {\n type: String,\n required: true,\n },\n value: [String, Array] as PropType,\n },\n\n data: () => ({\n isReversing: false,\n wheelThrottle: null as any,\n }),\n\n computed: {\n computedTransition (): string {\n return (this.isReversing === !this.$vuetify.rtl) ? 'tab-reverse-transition' : 'tab-transition'\n },\n displayedMonth (): number {\n return Number(this.tableDate.split('-')[1]) - 1\n },\n displayedYear (): number {\n return Number(this.tableDate.split('-')[0])\n },\n },\n\n watch: {\n tableDate (newVal: string, oldVal: string) {\n this.isReversing = newVal < oldVal\n },\n },\n\n mounted () {\n this.wheelThrottle = throttle(this.wheel, 250)\n },\n\n methods: {\n genButtonClasses (\n isAllowed: boolean,\n isFloating: boolean,\n isSelected: boolean,\n isCurrent: boolean,\n isFirst: boolean,\n isLast: boolean,\n ) {\n return {\n 'v-size--default': !isFloating,\n 'v-date-picker-table__current': isCurrent,\n 'v-btn--active': isSelected,\n 'v-btn--flat': !isAllowed || this.disabled,\n 'v-btn--text': isSelected === isCurrent,\n 'v-btn--rounded': isFloating,\n 'v-btn--disabled': !isAllowed || this.disabled,\n 'v-btn--outlined': isCurrent && !isSelected,\n 'v-date-picker--first-in-range': isFirst,\n 'v-date-picker--last-in-range': isLast,\n ...this.themeClasses,\n }\n },\n genButtonEvents (value: string, isAllowed: boolean, mouseEventType: string) {\n if (this.disabled) return undefined\n\n return mergeListeners({\n click: () => {\n if (isAllowed && !this.readonly) this.$emit('input', value)\n },\n }, createItemTypeNativeListeners(this, `:${mouseEventType}`, value))\n },\n genButton (value: string, isFloating: boolean, mouseEventType: string, formatter: DatePickerFormatter, isOtherMonth = false) {\n const isAllowed = isDateAllowed(value, this.min, this.max, this.allowedDates)\n const isSelected = this.isSelected(value) && isAllowed\n const isCurrent = value === this.current\n const setColor = isSelected ? this.setBackgroundColor : this.setTextColor\n const color = (isSelected || isCurrent) && (this.color || 'accent')\n let isFirst = false\n let isLast = false\n if (this.range && !!this.value && Array.isArray(this.value)) {\n isFirst = value === this.value[0]\n isLast = value === this.value[this.value.length - 1]\n }\n\n return this.$createElement('button', setColor(color, {\n staticClass: 'v-btn',\n class: this.genButtonClasses(\n isAllowed && !isOtherMonth,\n isFloating,\n isSelected,\n isCurrent,\n isFirst,\n isLast,\n ),\n attrs: {\n type: 'button',\n },\n domProps: {\n disabled: this.disabled || !isAllowed || isOtherMonth,\n },\n on: this.genButtonEvents(value, isAllowed, mouseEventType),\n }), [\n this.$createElement('div', {\n staticClass: 'v-btn__content',\n }, [formatter(value)]),\n this.genEvents(value),\n ])\n },\n getEventColors (date: string) {\n const arrayize = (v: string | string[]) => Array.isArray(v) ? v : [v]\n let eventData: boolean | DatePickerEventColorValue\n let eventColors: string[] = []\n\n if (Array.isArray(this.events)) {\n eventData = this.events.includes(date)\n } else if (this.events instanceof Function) {\n eventData = this.events(date) || false\n } else if (this.events) {\n eventData = this.events[date] || false\n } else {\n eventData = false\n }\n\n if (!eventData) {\n return []\n } else if (eventData !== true) {\n eventColors = arrayize(eventData)\n } else if (typeof this.eventColor === 'string') {\n eventColors = [this.eventColor]\n } else if (typeof this.eventColor === 'function') {\n eventColors = arrayize(this.eventColor(date))\n } else if (Array.isArray(this.eventColor)) {\n eventColors = this.eventColor\n } else {\n eventColors = arrayize(this.eventColor[date])\n }\n\n return eventColors.filter(v => v)\n },\n genEvents (date: string) {\n const eventColors = this.getEventColors(date)\n\n return eventColors.length ? this.$createElement('div', {\n staticClass: 'v-date-picker-table__events',\n }, eventColors.map(color => this.$createElement('div', this.setBackgroundColor(color)))) : null\n },\n isValidScroll (value: number, calculateTableDate: CalculateTableDateFunction) {\n const tableDate = calculateTableDate(value)\n // tableDate is 'YYYY-MM' for DateTable and 'YYYY' for MonthTable\n const sanitizeType = tableDate.split('-').length === 1 ? 'year' : 'month'\n return (value < 0 && (this.min ? tableDate >= sanitizeDateString(this.min, sanitizeType) : true)) ||\n (value > 0 && (this.max ? tableDate <= sanitizeDateString(this.max, sanitizeType) : true))\n },\n wheel (e: WheelEvent, calculateTableDate: CalculateTableDateFunction) {\n this.$emit('update:table-date', calculateTableDate(e.deltaY))\n },\n touch (value: number, calculateTableDate: CalculateTableDateFunction) {\n this.$emit('update:table-date', calculateTableDate(value))\n },\n genTable (staticClass: string, children: VNodeChildren, calculateTableDate: CalculateTableDateFunction) {\n const transition = this.$createElement('transition', {\n props: { name: this.computedTransition },\n }, [this.$createElement('table', { key: this.tableDate }, children)])\n\n const touchDirective = {\n name: 'touch',\n value: {\n left: (e: TouchWrapper) => (e.offsetX < -15) &&\n (this.isValidScroll(1, calculateTableDate) && this.touch(1, calculateTableDate)),\n right: (e: TouchWrapper) => (e.offsetX > 15) &&\n (this.isValidScroll(-1, calculateTableDate) && this.touch(-1, calculateTableDate)),\n },\n }\n\n return this.$createElement('div', {\n staticClass,\n class: {\n 'v-date-picker-table--disabled': this.disabled,\n ...this.themeClasses,\n },\n on: (!this.disabled && this.scrollable) ? {\n wheel: (e: WheelEvent) => {\n e.preventDefault()\n if (this.isValidScroll(e.deltaY, calculateTableDate)) { this.wheelThrottle(e, calculateTableDate) }\n },\n } : undefined,\n directives: [touchDirective],\n }, [transition])\n },\n isSelected (value: string): boolean {\n if (Array.isArray(this.value)) {\n if (this.range && this.value.length === 2) {\n const [from, to] = [...this.value].sort()\n return from <= value && value <= to\n } else {\n return this.value.indexOf(value) !== -1\n }\n }\n\n return value === this.value\n },\n },\n})\n","function createUTCDate (year: number, month = 0, day = 1) {\n let date\n if (year < 100 && year >= 0) {\n date = new Date(Date.UTC(year, month, day))\n if (isFinite(date.getUTCFullYear())) {\n date.setUTCFullYear(year)\n }\n } else {\n date = new Date(Date.UTC(year, month, day))\n }\n\n return date\n}\n\nfunction firstWeekOffset (year: number, firstDayOfWeek: number, firstDayOfYear: number) {\n const firstWeekDayInFirstWeek = 7 + firstDayOfWeek - firstDayOfYear\n const firstWeekDayOfYear = (7 + createUTCDate(year, 0, firstWeekDayInFirstWeek).getUTCDay() - firstDayOfWeek) % 7\n\n return -firstWeekDayOfYear + firstWeekDayInFirstWeek - 1\n}\n\nfunction dayOfYear (year: number, month: number, day: number, firstDayOfWeek: number) {\n let dayOfYear = [0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334][month]\n if (month > 1 && isLeapYear(year)) {\n dayOfYear++\n }\n\n return dayOfYear + day\n}\n\nfunction weeksInYear (year: number, firstDayOfWeek: number, firstDayOfYear: number) {\n const weekOffset = firstWeekOffset(year, firstDayOfWeek, firstDayOfYear)\n const weekOffsetNext = firstWeekOffset(year + 1, firstDayOfWeek, firstDayOfYear)\n const daysInYear = isLeapYear(year) ? 366 : 365\n\n return (daysInYear - weekOffset + weekOffsetNext) / 7\n}\n\nexport function weekNumber (year: number, month: number, day: number, firstDayOfWeek: number, localeFirstDayOfYear: number): number {\n const weekOffset = firstWeekOffset(year, firstDayOfWeek, localeFirstDayOfYear)\n const week = Math.ceil((dayOfYear(year, month, day, firstDayOfWeek) - weekOffset) / 7)\n\n if (week < 1) {\n return week + weeksInYear(year - 1, firstDayOfWeek, localeFirstDayOfYear)\n } else if (week > weeksInYear(year, firstDayOfWeek, localeFirstDayOfYear)) {\n return week - weeksInYear(year, firstDayOfWeek, localeFirstDayOfYear)\n } else {\n return week\n }\n}\n\nexport function isLeapYear (year: number): boolean {\n return ((year % 4 === 0) && (year % 100 !== 0)) || (year % 400 === 0)\n}\n","// Mixins\nimport DatePickerTable from './mixins/date-picker-table'\n\n// Utils\nimport { weekNumber } from '../../util/dateTimeUtils'\nimport { pad, createNativeLocaleFormatter, monthChange } from './util'\nimport { createRange } from '../../util/helpers'\nimport mixins from '../../util/mixins'\n\n// Types\nimport { VNode, VNodeChildren, PropType } from 'vue'\nimport { DatePickerFormatter } from 'vuetify/types'\n\nexport default mixins(\n DatePickerTable\n/* @vue/component */\n).extend({\n name: 'v-date-picker-date-table',\n\n props: {\n firstDayOfWeek: {\n type: [String, Number],\n default: 0,\n },\n localeFirstDayOfYear: {\n type: [String, Number],\n default: 0,\n },\n showAdjacentMonths: Boolean,\n showWeek: Boolean,\n weekdayFormat: Function as PropType,\n },\n\n computed: {\n formatter (): DatePickerFormatter {\n return this.format || createNativeLocaleFormatter(this.currentLocale, { day: 'numeric', timeZone: 'UTC' }, { start: 8, length: 2 })\n },\n weekdayFormatter (): DatePickerFormatter | undefined {\n return this.weekdayFormat || createNativeLocaleFormatter(this.currentLocale, { weekday: 'narrow', timeZone: 'UTC' })\n },\n weekDays (): string[] {\n const first = parseInt(this.firstDayOfWeek, 10)\n\n return this.weekdayFormatter\n ? createRange(7).map(i => this.weekdayFormatter!(`2017-01-${first + i + 15}`)) // 2017-01-15 is Sunday\n : createRange(7).map(i => ['S', 'M', 'T', 'W', 'T', 'F', 'S'][(i + first) % 7])\n },\n },\n\n methods: {\n calculateTableDate (delta: number) {\n return monthChange(this.tableDate, Math.sign(delta || 1))\n },\n genTHead () {\n const days = this.weekDays.map(day => this.$createElement('th', day))\n if (this.showWeek) {\n days.unshift(this.$createElement('th'))\n }\n\n return this.$createElement('thead', this.genTR(days))\n },\n // Returns number of the days from the firstDayOfWeek to the first day of the current month\n weekDaysBeforeFirstDayOfTheMonth () {\n const firstDayOfTheMonth = new Date(`${this.displayedYear}-${pad(this.displayedMonth + 1)}-01T00:00:00+00:00`)\n const weekDay = firstDayOfTheMonth.getUTCDay()\n\n return (weekDay - parseInt(this.firstDayOfWeek) + 7) % 7\n },\n getWeekNumber (dayInMonth: number) {\n return weekNumber(\n this.displayedYear,\n this.displayedMonth,\n dayInMonth,\n parseInt(this.firstDayOfWeek),\n parseInt(this.localeFirstDayOfYear)\n )\n },\n genWeekNumber (weekNumber: number) {\n return this.$createElement('td', [\n this.$createElement('small', {\n staticClass: 'v-date-picker-table--date__week',\n }, String(weekNumber).padStart(2, '0')),\n ])\n },\n // eslint-disable-next-line max-statements\n genTBody () {\n const children = []\n const daysInMonth = new Date(this.displayedYear, this.displayedMonth + 1, 0).getDate()\n let rows = []\n let day = this.weekDaysBeforeFirstDayOfTheMonth()\n\n if (this.showWeek) {\n rows.push(this.genWeekNumber(this.getWeekNumber(1)))\n }\n\n const prevMonthYear = this.displayedMonth ? this.displayedYear : this.displayedYear - 1\n const prevMonth = (this.displayedMonth + 11) % 12\n const firstDayFromPreviousMonth = new Date(this.displayedYear, this.displayedMonth, 0).getDate()\n const cellsInRow = this.showWeek ? 8 : 7\n\n while (day--) {\n const date = `${prevMonthYear}-${pad(prevMonth + 1)}-${pad(firstDayFromPreviousMonth - day)}`\n\n rows.push(this.$createElement('td', this.showAdjacentMonths ? [\n this.genButton(date, true, 'date', this.formatter, true),\n ] : []))\n }\n\n for (day = 1; day <= daysInMonth; day++) {\n const date = `${this.displayedYear}-${pad(this.displayedMonth + 1)}-${pad(day)}`\n\n rows.push(this.$createElement('td', [\n this.genButton(date, true, 'date', this.formatter),\n ]))\n\n if (rows.length % cellsInRow === 0) {\n children.push(this.genTR(rows))\n rows = []\n if (this.showWeek && (day < daysInMonth || this.showAdjacentMonths)) {\n rows.push(this.genWeekNumber(this.getWeekNumber(day + 7)))\n }\n }\n }\n\n const nextMonthYear = this.displayedMonth === 11 ? this.displayedYear + 1 : this.displayedYear\n const nextMonth = (this.displayedMonth + 1) % 12\n let nextMonthDay = 1\n\n while (rows.length < cellsInRow) {\n const date = `${nextMonthYear}-${pad(nextMonth + 1)}-${pad(nextMonthDay++)}`\n\n rows.push(this.$createElement('td', this.showAdjacentMonths ? [\n this.genButton(date, true, 'date', this.formatter, true),\n ] : []))\n }\n\n if (rows.length) {\n children.push(this.genTR(rows))\n }\n\n return this.$createElement('tbody', children)\n },\n genTR (children: VNodeChildren) {\n return [this.$createElement('tr', children)]\n },\n },\n\n render (): VNode {\n return this.genTable('v-date-picker-table v-date-picker-table--date', [\n this.genTHead(),\n this.genTBody(),\n ], this.calculateTableDate)\n },\n})\n","// Mixins\nimport DatePickerTable from './mixins/date-picker-table'\n\n// Utils\nimport { pad, createNativeLocaleFormatter } from './util'\nimport mixins from '../../util/mixins'\n\n// Types\nimport { VNode } from 'vue'\nimport { DatePickerFormatter } from 'vuetify/types'\n\nexport default mixins(\n DatePickerTable\n/* @vue/component */\n).extend({\n name: 'v-date-picker-month-table',\n\n computed: {\n formatter (): DatePickerFormatter {\n return this.format || createNativeLocaleFormatter(this.currentLocale, { month: 'short', timeZone: 'UTC' }, { start: 5, length: 2 })\n },\n },\n\n methods: {\n calculateTableDate (delta: number) {\n return `${parseInt(this.tableDate, 10) + Math.sign(delta || 1)}`\n },\n genTBody () {\n const children = []\n const cols = Array(3).fill(null)\n const rows = 12 / cols.length\n\n for (let row = 0; row < rows; row++) {\n const tds = cols.map((_, col) => {\n const month = row * cols.length + col\n const date = `${this.displayedYear}-${pad(month + 1)}`\n return this.$createElement('td', {\n key: month,\n }, [\n this.genButton(date, false, 'month', this.formatter),\n ])\n })\n\n children.push(this.$createElement('tr', {\n key: row,\n }, tds))\n }\n\n return this.$createElement('tbody', children)\n },\n },\n\n render (): VNode {\n return this.genTable('v-date-picker-table v-date-picker-table--month', [\n this.genTBody(),\n ], this.calculateTableDate)\n },\n})\n","import './VDatePickerYears.sass'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\nimport Localable from '../../mixins/localable'\n\n// Utils\nimport {\n createItemTypeNativeListeners,\n createNativeLocaleFormatter,\n} from './util'\nimport { mergeListeners } from '../../util/mergeData'\nimport mixins, { ExtractVue } from '../../util/mixins'\n\n// Types\nimport Vue, { VNode, PropType } from 'vue'\nimport { DatePickerFormatter } from 'vuetify/types'\n\ninterface options extends Vue {\n $el: HTMLElement\n}\n\nexport default mixins\n/* eslint-enable indent */\n>(\n Colorable,\n Localable\n/* @vue/component */\n).extend({\n name: 'v-date-picker-years',\n\n props: {\n format: Function as PropType,\n min: [Number, String],\n max: [Number, String],\n readonly: Boolean,\n value: [Number, String],\n },\n\n data () {\n return {\n defaultColor: 'primary',\n }\n },\n\n computed: {\n formatter (): DatePickerFormatter {\n return this.format || createNativeLocaleFormatter(this.currentLocale, { year: 'numeric', timeZone: 'UTC' }, { length: 4 })\n },\n },\n\n mounted () {\n setTimeout(() => {\n const activeItem = this.$el.getElementsByClassName('active')[0]\n if (activeItem) {\n this.$el.scrollTop = activeItem.offsetTop - this.$el.offsetHeight / 2 + activeItem.offsetHeight / 2\n } else if (this.min && !this.max) {\n this.$el.scrollTop = this.$el.scrollHeight\n } else if (!this.min && this.max) {\n this.$el.scrollTop = 0\n } else {\n this.$el.scrollTop = this.$el.scrollHeight / 2 - this.$el.offsetHeight / 2\n }\n })\n },\n\n methods: {\n genYearItem (year: number): VNode {\n const formatted = this.formatter(`${year}`)\n const active = parseInt(this.value, 10) === year\n const color = active && (this.color || 'primary')\n\n return this.$createElement('li', this.setTextColor(color, {\n key: year,\n class: { active },\n on: mergeListeners({\n click: () => this.$emit('input', year),\n }, createItemTypeNativeListeners(this, ':year', year)),\n }), formatted)\n },\n\n genYearItems (): VNode[] {\n const children = []\n const selectedYear = this.value ? parseInt(this.value, 10) : new Date().getFullYear()\n const maxYear = this.max ? parseInt(this.max, 10) : (selectedYear + 100)\n const minYear = Math.min(maxYear, this.min ? parseInt(this.min, 10) : (selectedYear - 100))\n\n for (let year = maxYear; year >= minYear; year--) {\n children.push(this.genYearItem(year))\n }\n\n return children\n },\n },\n\n render (): VNode {\n return this.$createElement('ul', {\n staticClass: 'v-date-picker-years',\n ref: 'years',\n }, this.genYearItems())\n },\n})\n","import { CalendarTimestamp, CalendarFormatter } from 'vuetify/types'\nimport { isLeapYear } from '../../../util/dateTimeUtils'\n\nexport const PARSE_REGEX = /^(\\d{4})-(\\d{1,2})(-(\\d{1,2}))?([^\\d]+(\\d{1,2}))?(:(\\d{1,2}))?(:(\\d{1,2}))?$/\nexport const PARSE_TIME = /(\\d\\d?)(:(\\d\\d?)|)(:(\\d\\d?)|)/\n\nexport const DAYS_IN_MONTH: number[] = [0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]\nexport const DAYS_IN_MONTH_LEAP: number[] = [0, 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]\nexport const DAYS_IN_MONTH_MIN = 28\nexport const DAYS_IN_MONTH_MAX = 31\nexport const MONTH_MAX = 12\nexport const MONTH_MIN = 1\nexport const DAY_MIN = 1\nexport const DAYS_IN_WEEK = 7\nexport const MINUTES_IN_HOUR = 60\nexport const MINUTE_MAX = 59\nexport const MINUTES_IN_DAY = 24 * 60\nexport const HOURS_IN_DAY = 24\nexport const HOUR_MAX = 23\nexport const FIRST_HOUR = 0\nexport const OFFSET_YEAR = 10000\nexport const OFFSET_MONTH = 100\nexport const OFFSET_HOUR = 100\nexport const OFFSET_TIME = 10000\n\ntype CalendarTimestampFormatOptions = (timestamp: CalendarTimestamp, short: boolean) => object\ntype CalendarTimestampOperation = (timestamp: CalendarTimestamp) => CalendarTimestamp\nexport type VTime = number | string | {\n hour: number\n minute: number\n}\n\nexport type VTimestampInput = number | string | Date;\n\nexport function getStartOfWeek (timestamp: CalendarTimestamp, weekdays: number[], today?: CalendarTimestamp): CalendarTimestamp {\n const start = copyTimestamp(timestamp)\n findWeekday(start, weekdays[0], prevDay)\n updateFormatted(start)\n if (today) {\n updateRelative(start, today, start.hasTime)\n }\n\n return start\n}\n\nexport function getEndOfWeek (timestamp: CalendarTimestamp, weekdays: number[], today?: CalendarTimestamp): CalendarTimestamp {\n const end = copyTimestamp(timestamp)\n findWeekday(end, weekdays[weekdays.length - 1])\n updateFormatted(end)\n if (today) {\n updateRelative(end, today, end.hasTime)\n }\n\n return end\n}\n\nexport function getStartOfMonth (timestamp: CalendarTimestamp): CalendarTimestamp {\n const start = copyTimestamp(timestamp)\n start.day = DAY_MIN\n updateWeekday(start)\n updateFormatted(start)\n\n return start\n}\n\nexport function getEndOfMonth (timestamp: CalendarTimestamp): CalendarTimestamp {\n const end = copyTimestamp(timestamp)\n end.day = daysInMonth(end.year, end.month)\n updateWeekday(end)\n updateFormatted(end)\n\n return end\n}\n\nexport function validateTime (input: any): input is VTime {\n return (typeof input === 'number' && isFinite(input)) ||\n (!!PARSE_TIME.exec(input)) ||\n (typeof input === 'object' && isFinite(input.hour) && isFinite(input.minute))\n}\n\nexport function parseTime (input: any): number | false {\n if (typeof input === 'number') {\n // when a number is given, it's minutes since 12:00am\n return input\n } else if (typeof input === 'string') {\n // when a string is given, it's a hh:mm:ss format where seconds are optional\n const parts = PARSE_TIME.exec(input)\n if (!parts) {\n return false\n }\n\n return parseInt(parts[1]) * 60 + parseInt(parts[3] || 0)\n } else if (typeof input === 'object') {\n // when an object is given, it must have hour and minute\n if (typeof input.hour !== 'number' || typeof input.minute !== 'number') {\n return false\n }\n\n return input.hour * 60 + input.minute\n } else {\n // unsupported type\n return false\n }\n}\n\nexport function validateTimestamp (input: any): input is VTimestampInput {\n return (typeof input === 'number' && isFinite(input)) ||\n (typeof input === 'string' && !!PARSE_REGEX.exec(input)) ||\n (input instanceof Date)\n}\n\nexport function parseTimestamp (input: VTimestampInput, required?: false, now?: CalendarTimestamp): CalendarTimestamp | null\nexport function parseTimestamp (input: VTimestampInput, required: true, now?: CalendarTimestamp): CalendarTimestamp\nexport function parseTimestamp (input: VTimestampInput, required = false, now?: CalendarTimestamp): CalendarTimestamp | null {\n if (typeof input === 'number' && isFinite(input)) {\n input = new Date(input)\n }\n\n if (input instanceof Date) {\n const date: CalendarTimestamp = parseDate(input)\n\n if (now) {\n updateRelative(date, now, date.hasTime)\n }\n\n return date\n }\n\n if (typeof input !== 'string') {\n if (required) {\n throw new Error(`${input} is not a valid timestamp. It must be a Date, number of milliseconds since Epoch, or a string in the format of YYYY-MM-DD or YYYY-MM-DD hh:mm. Zero-padding is optional and seconds are ignored.`)\n }\n return null\n }\n\n // YYYY-MM-DD hh:mm:ss\n const parts = PARSE_REGEX.exec(input)\n\n if (!parts) {\n if (required) {\n throw new Error(`${input} is not a valid timestamp. It must be a Date, number of milliseconds since Epoch, or a string in the format of YYYY-MM-DD or YYYY-MM-DD hh:mm. Zero-padding is optional and seconds are ignored.`)\n }\n\n return null\n }\n\n const timestamp: CalendarTimestamp = {\n date: input,\n time: '',\n year: parseInt(parts[1]),\n month: parseInt(parts[2]),\n day: parseInt(parts[4]) || 1,\n hour: parseInt(parts[6]) || 0,\n minute: parseInt(parts[8]) || 0,\n weekday: 0,\n hasDay: !!parts[4],\n hasTime: !!(parts[6] && parts[8]),\n past: false,\n present: false,\n future: false,\n }\n\n updateWeekday(timestamp)\n updateFormatted(timestamp)\n\n if (now) {\n updateRelative(timestamp, now, timestamp.hasTime)\n }\n\n return timestamp\n}\n\nexport function parseDate (date: Date): CalendarTimestamp {\n return updateFormatted({\n date: '',\n time: '',\n year: date.getFullYear(),\n month: date.getMonth() + 1,\n day: date.getDate(),\n weekday: date.getDay(),\n hour: date.getHours(),\n minute: date.getMinutes(),\n hasDay: true,\n hasTime: true,\n past: false,\n present: true,\n future: false,\n })\n}\n\nexport function getDayIdentifier (timestamp: { year: number, month: number, day: number }): number {\n return timestamp.year * OFFSET_YEAR + timestamp.month * OFFSET_MONTH + timestamp.day\n}\n\nexport function getTimeIdentifier (timestamp: { hour: number, minute: number }): number {\n return timestamp.hour * OFFSET_HOUR + timestamp.minute\n}\n\nexport function getTimestampIdentifier (timestamp: CalendarTimestamp): number {\n return getDayIdentifier(timestamp) * OFFSET_TIME + getTimeIdentifier(timestamp)\n}\n\nexport function updateRelative (timestamp: CalendarTimestamp, now: CalendarTimestamp, time = false): CalendarTimestamp {\n let a = getDayIdentifier(now)\n let b = getDayIdentifier(timestamp)\n let present = a === b\n\n if (timestamp.hasTime && time && present) {\n a = getTimeIdentifier(now)\n b = getTimeIdentifier(timestamp)\n present = a === b\n }\n\n timestamp.past = b < a\n timestamp.present = present\n timestamp.future = b > a\n\n return timestamp\n}\n\nexport function isTimedless (input: VTimestampInput): input is (Date | number) {\n return (input instanceof Date) || (typeof input === 'number' && isFinite(input))\n}\n\nexport function updateHasTime (timestamp: CalendarTimestamp, hasTime: boolean, now?: CalendarTimestamp): CalendarTimestamp {\n if (timestamp.hasTime !== hasTime) {\n timestamp.hasTime = hasTime\n if (!hasTime) {\n timestamp.hour = HOUR_MAX\n timestamp.minute = MINUTE_MAX\n timestamp.time = getTime(timestamp)\n }\n if (now) {\n updateRelative(timestamp, now, timestamp.hasTime)\n }\n }\n\n return timestamp\n}\n\nexport function updateMinutes (timestamp: CalendarTimestamp, minutes: number, now?: CalendarTimestamp): CalendarTimestamp {\n timestamp.hasTime = true\n timestamp.hour = Math.floor(minutes / MINUTES_IN_HOUR)\n timestamp.minute = minutes % MINUTES_IN_HOUR\n timestamp.time = getTime(timestamp)\n if (now) {\n updateRelative(timestamp, now, true)\n }\n\n return timestamp\n}\n\nexport function updateWeekday (timestamp: CalendarTimestamp): CalendarTimestamp {\n timestamp.weekday = getWeekday(timestamp)\n\n return timestamp\n}\n\nexport function updateFormatted (timestamp: CalendarTimestamp): CalendarTimestamp {\n timestamp.time = getTime(timestamp)\n timestamp.date = getDate(timestamp)\n\n return timestamp\n}\n\nexport function getWeekday (timestamp: CalendarTimestamp): number {\n if (timestamp.hasDay) {\n const _ = Math.floor\n const k = timestamp.day\n const m = ((timestamp.month + 9) % MONTH_MAX) + 1\n const C = _(timestamp.year / 100)\n const Y = (timestamp.year % 100) - (timestamp.month <= 2 ? 1 : 0)\n\n return (((k + _(2.6 * m - 0.2) - 2 * C + Y + _(Y / 4) + _(C / 4)) % 7) + 7) % 7\n }\n\n return timestamp.weekday\n}\n\nexport function daysInMonth (year: number, month: number) {\n return isLeapYear(year) ? DAYS_IN_MONTH_LEAP[month] : DAYS_IN_MONTH[month]\n}\n\nexport function copyTimestamp (timestamp: CalendarTimestamp): CalendarTimestamp {\n const { date, time, year, month, day, weekday, hour, minute, hasDay, hasTime, past, present, future } = timestamp\n\n return { date, time, year, month, day, weekday, hour, minute, hasDay, hasTime, past, present, future }\n}\n\nexport function padNumber (x: number, length: number): string {\n let padded = String(x)\n while (padded.length < length) {\n padded = '0' + padded\n }\n\n return padded\n}\n\nexport function getDate (timestamp: CalendarTimestamp): string {\n let str = `${padNumber(timestamp.year, 4)}-${padNumber(timestamp.month, 2)}`\n\n if (timestamp.hasDay) str += `-${padNumber(timestamp.day, 2)}`\n\n return str\n}\n\nexport function getTime (timestamp: CalendarTimestamp): string {\n if (!timestamp.hasTime) {\n return ''\n }\n\n return `${padNumber(timestamp.hour, 2)}:${padNumber(timestamp.minute, 2)}`\n}\n\nexport function nextMinutes (timestamp: CalendarTimestamp, minutes: number): CalendarTimestamp {\n timestamp.minute += minutes\n while (timestamp.minute > MINUTES_IN_HOUR) {\n timestamp.minute -= MINUTES_IN_HOUR\n timestamp.hour++\n if (timestamp.hour >= HOURS_IN_DAY) {\n nextDay(timestamp)\n timestamp.hour = FIRST_HOUR\n }\n }\n\n return timestamp\n}\n\nexport function nextDay (timestamp: CalendarTimestamp): CalendarTimestamp {\n timestamp.day++\n timestamp.weekday = (timestamp.weekday + 1) % DAYS_IN_WEEK\n if (timestamp.day > DAYS_IN_MONTH_MIN && timestamp.day > daysInMonth(timestamp.year, timestamp.month)) {\n timestamp.day = DAY_MIN\n timestamp.month++\n if (timestamp.month > MONTH_MAX) {\n timestamp.month = MONTH_MIN\n timestamp.year++\n }\n }\n\n return timestamp\n}\n\nexport function prevDay (timestamp: CalendarTimestamp): CalendarTimestamp {\n timestamp.day--\n timestamp.weekday = (timestamp.weekday + 6) % DAYS_IN_WEEK\n if (timestamp.day < DAY_MIN) {\n timestamp.month--\n if (timestamp.month < MONTH_MIN) {\n timestamp.year--\n timestamp.month = MONTH_MAX\n }\n timestamp.day = daysInMonth(timestamp.year, timestamp.month)\n }\n\n return timestamp\n}\n\nexport function relativeDays (\n timestamp: CalendarTimestamp,\n mover: CalendarTimestampOperation = nextDay,\n days = 1\n): CalendarTimestamp {\n while (--days >= 0) mover(timestamp)\n\n return timestamp\n}\n\nexport function diffMinutes (min: CalendarTimestamp, max: CalendarTimestamp) {\n const Y = (max.year - min.year) * 525600\n const M = (max.month - min.month) * 43800\n const D = (max.day - min.day) * 1440\n const h = (max.hour - min.hour) * 60\n const m = (max.minute - min.minute)\n\n return Y + M + D + h + m\n}\n\nexport function findWeekday (timestamp: CalendarTimestamp, weekday: number,\n mover: CalendarTimestampOperation = nextDay, maxDays = 6): CalendarTimestamp {\n while (timestamp.weekday !== weekday && --maxDays >= 0) mover(timestamp)\n\n return timestamp\n}\n\nexport function getWeekdaySkips (weekdays: number[]): number[] {\n const skips: number[] = [1, 1, 1, 1, 1, 1, 1]\n const filled: number[] = [0, 0, 0, 0, 0, 0, 0]\n for (let i = 0; i < weekdays.length; i++) {\n filled[weekdays[i]] = 1\n }\n for (let k = 0; k < DAYS_IN_WEEK; k++) {\n let skip = 1\n for (let j = 1; j < DAYS_IN_WEEK; j++) {\n const next = (k + j) % DAYS_IN_WEEK\n if (filled[next]) {\n break\n }\n skip++\n }\n skips[k] = filled[k] * skip\n }\n\n return skips\n}\n\nexport function timestampToDate (timestamp: CalendarTimestamp): Date {\n const time = `${padNumber(timestamp.hour, 2)}:${padNumber(timestamp.minute, 2)}`\n const date = timestamp.date\n\n return new Date(`${date}T${time}:00+00:00`)\n}\n\nexport function createDayList (\n start: CalendarTimestamp,\n end: CalendarTimestamp,\n now: CalendarTimestamp,\n weekdaySkips: number[],\n max = 42,\n min = 0\n): CalendarTimestamp[] {\n const stop = getDayIdentifier(end)\n const days: CalendarTimestamp[] = []\n let current = copyTimestamp(start)\n let currentIdentifier = 0\n let stopped = currentIdentifier === stop\n\n if (stop < getDayIdentifier(start)) {\n throw new Error('End date is earlier than start date.')\n }\n\n while ((!stopped || days.length < min) && days.length < max) {\n currentIdentifier = getDayIdentifier(current)\n stopped = stopped || currentIdentifier === stop\n if (weekdaySkips[current.weekday] === 0) {\n current = nextDay(current)\n continue\n }\n const day = copyTimestamp(current)\n updateFormatted(day)\n updateRelative(day, now)\n days.push(day)\n current = relativeDays(current, nextDay, weekdaySkips[current.weekday])\n }\n\n if (!days.length) throw new Error('No dates found using specified start date, end date, and weekdays.')\n\n return days\n}\n\nexport function createIntervalList (timestamp: CalendarTimestamp, first: number,\n minutes: number, count: number, now?: CalendarTimestamp): CalendarTimestamp[] {\n const intervals: CalendarTimestamp[] = []\n\n for (let i = 0; i < count; i++) {\n const mins = first + (i * minutes)\n const int = copyTimestamp(timestamp)\n intervals.push(updateMinutes(int, mins, now))\n }\n\n return intervals\n}\n\nexport function createNativeLocaleFormatter (locale: string, getOptions: CalendarTimestampFormatOptions): CalendarFormatter {\n const emptyFormatter: CalendarFormatter = (_t, _s) => ''\n\n if (typeof Intl === 'undefined' || typeof Intl.DateTimeFormat === 'undefined') {\n return emptyFormatter\n }\n\n return (timestamp, short) => {\n try {\n const intlFormatter = new Intl.DateTimeFormat(locale || undefined, getOptions(timestamp, short))\n\n return intlFormatter.format(timestampToDate(timestamp))\n } catch (e) {\n return ''\n }\n }\n}\n","// Components\nimport VDatePickerTitle from './VDatePickerTitle'\nimport VDatePickerHeader from './VDatePickerHeader'\nimport VDatePickerDateTable from './VDatePickerDateTable'\nimport VDatePickerMonthTable from './VDatePickerMonthTable'\nimport VDatePickerYears from './VDatePickerYears'\n\n// Mixins\nimport Localable from '../../mixins/localable'\nimport Picker from '../../mixins/picker'\n\n// Utils\nimport isDateAllowed from './util/isDateAllowed'\nimport mixins from '../../util/mixins'\nimport { wrapInArray } from '../../util/helpers'\nimport { daysInMonth } from '../VCalendar/util/timestamp'\nimport { consoleWarn } from '../../util/console'\nimport {\n createItemTypeListeners,\n createNativeLocaleFormatter,\n pad,\n sanitizeDateString,\n} from './util'\n\n// Types\nimport {\n PropType,\n PropValidator,\n} from 'vue/types/options'\nimport { VNode } from 'vue'\nimport {\n DatePickerFormatter,\n DatePickerMultipleFormatter,\n DatePickerAllowedDatesFunction,\n DatePickerEventColors,\n DatePickerEvents,\n DatePickerType,\n} from 'vuetify/types'\n\ntype DatePickerValue = string | string[] | undefined\ninterface Formatters {\n year: DatePickerFormatter\n titleDate: DatePickerFormatter | DatePickerMultipleFormatter\n}\n\ntype ActivePicker = 'DATE' | 'MONTH' | 'YEAR';\n\nexport default mixins(\n Localable,\n Picker,\n/* @vue/component */\n).extend({\n name: 'v-date-picker',\n\n props: {\n activePicker: String as PropType,\n allowedDates: Function as PropType,\n // Function formatting the day in date picker table\n dayFormat: Function as PropType,\n disabled: Boolean,\n events: {\n type: [Array, Function, Object],\n default: () => null,\n } as PropValidator,\n eventColor: {\n type: [Array, Function, Object, String],\n default: () => 'warning',\n } as PropValidator,\n firstDayOfWeek: {\n type: [String, Number],\n default: 0,\n },\n // Function formatting the tableDate in the day/month table header\n headerDateFormat: Function as PropType,\n localeFirstDayOfYear: {\n type: [String, Number],\n default: 0,\n },\n max: String,\n min: String,\n // Function formatting month in the months table\n monthFormat: Function as PropType,\n multiple: Boolean,\n nextIcon: {\n type: String,\n default: '$next',\n },\n nextMonthAriaLabel: {\n type: String,\n default: '$vuetify.datePicker.nextMonthAriaLabel',\n },\n nextYearAriaLabel: {\n type: String,\n default: '$vuetify.datePicker.nextYearAriaLabel',\n },\n pickerDate: String,\n prevIcon: {\n type: String,\n default: '$prev',\n },\n prevMonthAriaLabel: {\n type: String,\n default: '$vuetify.datePicker.prevMonthAriaLabel',\n },\n prevYearAriaLabel: {\n type: String,\n default: '$vuetify.datePicker.prevYearAriaLabel',\n },\n range: Boolean,\n reactive: Boolean,\n readonly: Boolean,\n scrollable: Boolean,\n showCurrent: {\n type: [Boolean, String],\n default: true,\n },\n selectedItemsText: {\n type: String,\n default: '$vuetify.datePicker.itemsSelected',\n },\n showAdjacentMonths: Boolean,\n showWeek: Boolean,\n // Function formatting currently selected date in the picker title\n titleDateFormat: Function as PropType,\n type: {\n type: String,\n default: 'date',\n validator: (type: any) => ['date', 'month'].includes(type), // TODO: year\n } as PropValidator,\n value: [Array, String] as PropType,\n weekdayFormat: Function as PropType,\n // Function formatting the year in table header and pickup title\n yearFormat: Function as PropType,\n yearIcon: String,\n },\n\n data () {\n const now = new Date()\n return {\n internalActivePicker: this.type.toUpperCase(),\n inputDay: null as number | null,\n inputMonth: null as number | null,\n inputYear: null as number | null,\n isReversing: false,\n now,\n // tableDate is a string in 'YYYY' / 'YYYY-M' format (leading zero for month is not required)\n tableDate: (() => {\n if (this.pickerDate) {\n return this.pickerDate\n }\n\n const multipleValue = wrapInArray(this.value)\n const date = multipleValue[multipleValue.length - 1] ||\n (typeof this.showCurrent === 'string' ? this.showCurrent : `${now.getFullYear()}-${now.getMonth() + 1}`)\n return sanitizeDateString(date as string, this.type === 'date' ? 'month' : 'year')\n })(),\n }\n },\n\n computed: {\n multipleValue (): string[] {\n return wrapInArray(this.value)\n },\n isMultiple (): boolean {\n return this.multiple || this.range\n },\n lastValue (): string | null {\n return this.isMultiple ? this.multipleValue[this.multipleValue.length - 1] : (this.value as string | null)\n },\n selectedMonths (): string | string[] | undefined {\n if (!this.value || this.type === 'month') {\n return this.value\n } else if (this.isMultiple) {\n return this.multipleValue.map(val => val.substr(0, 7))\n } else {\n return (this.value as string).substr(0, 7)\n }\n },\n current (): string | null {\n if (this.showCurrent === true) {\n return sanitizeDateString(`${this.now.getFullYear()}-${this.now.getMonth() + 1}-${this.now.getDate()}`, this.type)\n }\n\n return this.showCurrent || null\n },\n inputDate (): string {\n return this.type === 'date'\n ? `${this.inputYear}-${pad(this.inputMonth! + 1)}-${pad(this.inputDay!)}`\n : `${this.inputYear}-${pad(this.inputMonth! + 1)}`\n },\n tableMonth (): number {\n return Number((this.pickerDate || this.tableDate).split('-')[1]) - 1\n },\n tableYear (): number {\n return Number((this.pickerDate || this.tableDate).split('-')[0])\n },\n minMonth (): string | null {\n return this.min ? sanitizeDateString(this.min, 'month') : null\n },\n maxMonth (): string | null {\n return this.max ? sanitizeDateString(this.max, 'month') : null\n },\n minYear (): string | null {\n return this.min ? sanitizeDateString(this.min, 'year') : null\n },\n maxYear (): string | null {\n return this.max ? sanitizeDateString(this.max, 'year') : null\n },\n formatters (): Formatters {\n return {\n year: this.yearFormat || createNativeLocaleFormatter(this.currentLocale, { year: 'numeric', timeZone: 'UTC' }, { length: 4 }),\n titleDate: this.titleDateFormat ||\n (this.isMultiple ? this.defaultTitleMultipleDateFormatter : this.defaultTitleDateFormatter),\n }\n },\n defaultTitleMultipleDateFormatter (): DatePickerMultipleFormatter {\n return dates => {\n if (!dates.length) {\n return '-'\n }\n\n if (dates.length === 1) {\n return this.defaultTitleDateFormatter(dates[0])\n }\n\n return this.$vuetify.lang.t(this.selectedItemsText, dates.length)\n }\n },\n defaultTitleDateFormatter (): DatePickerFormatter {\n const titleFormats = {\n year: { year: 'numeric', timeZone: 'UTC' },\n month: { month: 'long', timeZone: 'UTC' },\n date: { weekday: 'short', month: 'short', day: 'numeric', timeZone: 'UTC' },\n } as const\n\n const titleDateFormatter = createNativeLocaleFormatter(this.currentLocale, titleFormats[this.type], {\n start: 0,\n length: { date: 10, month: 7, year: 4 }[this.type],\n })\n\n const landscapeFormatter = (date: string) => titleDateFormatter(date)\n .replace(/([^\\d\\s])([\\d])/g, (match, nonDigit, digit) => `${nonDigit} ${digit}`)\n .replace(', ', ',
')\n\n return this.landscape ? landscapeFormatter : titleDateFormatter\n },\n },\n\n watch: {\n internalActivePicker: {\n immediate: true,\n handler (val: ActivePicker) {\n this.$emit('update:active-picker', val)\n },\n },\n activePicker (val: ActivePicker) {\n this.internalActivePicker = val\n },\n tableDate (val: string, prev: string) {\n // Make a ISO 8601 strings from val and prev for comparision, otherwise it will incorrectly\n // compare for example '2000-9' and '2000-10'\n const sanitizeType = this.type === 'month' ? 'year' : 'month'\n this.isReversing = sanitizeDateString(val, sanitizeType) < sanitizeDateString(prev, sanitizeType)\n this.$emit('update:picker-date', val)\n },\n pickerDate (val: string | null) {\n if (val) {\n this.tableDate = val\n } else if (this.lastValue && this.type === 'date') {\n this.tableDate = sanitizeDateString(this.lastValue, 'month')\n } else if (this.lastValue && this.type === 'month') {\n this.tableDate = sanitizeDateString(this.lastValue, 'year')\n }\n },\n value (newValue: DatePickerValue, oldValue: DatePickerValue) {\n this.checkMultipleProp()\n this.setInputDate()\n\n if (\n (!this.isMultiple && this.value && !this.pickerDate) ||\n (this.isMultiple && this.multipleValue.length && (!oldValue || !oldValue.length) && !this.pickerDate)\n ) {\n this.tableDate = sanitizeDateString(this.inputDate, this.type === 'month' ? 'year' : 'month')\n }\n },\n type (type: DatePickerType) {\n this.internalActivePicker = type.toUpperCase()\n\n if (this.value && this.value.length) {\n const output = this.multipleValue\n .map((val: string) => sanitizeDateString(val, type))\n .filter(this.isDateAllowed)\n this.$emit('input', this.isMultiple ? output : output[0])\n }\n },\n },\n\n created () {\n this.checkMultipleProp()\n\n if (this.pickerDate !== this.tableDate) {\n this.$emit('update:picker-date', this.tableDate)\n }\n this.setInputDate()\n },\n\n methods: {\n emitInput (newInput: string) {\n if (this.range) {\n if (this.multipleValue.length !== 1) {\n this.$emit('input', [newInput])\n } else {\n const output = [this.multipleValue[0], newInput]\n this.$emit('input', output)\n this.$emit('change', output)\n }\n return\n }\n\n const output = this.multiple\n ? (\n this.multipleValue.indexOf(newInput) === -1\n ? this.multipleValue.concat([newInput])\n : this.multipleValue.filter(x => x !== newInput)\n )\n : newInput\n\n this.$emit('input', output)\n this.multiple || this.$emit('change', newInput)\n },\n checkMultipleProp () {\n if (this.value == null) return\n const valueType = this.value.constructor.name\n const expected = this.isMultiple ? 'Array' : 'String'\n if (valueType !== expected) {\n consoleWarn(`Value must be ${this.isMultiple ? 'an' : 'a'} ${expected}, got ${valueType}`, this)\n }\n },\n isDateAllowed (value: string): boolean {\n return isDateAllowed(value, this.min, this.max, this.allowedDates)\n },\n yearClick (value: number) {\n this.inputYear = value\n if (this.type === 'month') {\n this.tableDate = `${value}`\n } else {\n this.tableDate = `${value}-${pad((this.tableMonth || 0) + 1)}`\n }\n this.internalActivePicker = 'MONTH'\n if (this.reactive && !this.readonly && !this.isMultiple && this.isDateAllowed(this.inputDate)) {\n this.$emit('input', this.inputDate)\n }\n },\n monthClick (value: string) {\n const [year, month] = value.split('-')\n\n this.inputYear = parseInt(year, 10)\n this.inputMonth = parseInt(month, 10) - 1\n\n if (this.type === 'date') {\n if (this.inputDay) {\n this.inputDay = Math.min(this.inputDay, daysInMonth(this.inputYear, this.inputMonth + 1))\n }\n\n this.tableDate = value\n this.internalActivePicker = 'DATE'\n if (this.reactive && !this.readonly && !this.isMultiple && this.isDateAllowed(this.inputDate)) {\n this.$emit('input', this.inputDate)\n }\n } else {\n this.emitInput(this.inputDate)\n }\n },\n dateClick (value: string) {\n const [year, month, day] = value.split('-')\n\n this.inputYear = parseInt(year, 10)\n this.inputMonth = parseInt(month, 10) - 1\n this.inputDay = parseInt(day, 10)\n\n this.emitInput(this.inputDate)\n },\n genPickerTitle (): VNode {\n return this.$createElement(VDatePickerTitle, {\n props: {\n date: this.value ? (this.formatters.titleDate as (value: any) => string)(this.isMultiple ? this.multipleValue : this.value) : '',\n disabled: this.disabled,\n readonly: this.readonly,\n selectingYear: this.internalActivePicker === 'YEAR',\n year: this.formatters.year(this.multipleValue.length ? `${this.inputYear}` : this.tableDate),\n yearIcon: this.yearIcon,\n value: this.multipleValue[0],\n },\n slot: 'title',\n on: {\n 'update:selecting-year': (value: boolean) => this.internalActivePicker = value ? 'YEAR' : this.type.toUpperCase(),\n },\n })\n },\n genTableHeader (): VNode {\n return this.$createElement(VDatePickerHeader, {\n props: {\n nextIcon: this.nextIcon,\n color: this.color,\n dark: this.dark,\n disabled: this.disabled,\n format: this.headerDateFormat,\n light: this.light,\n locale: this.locale,\n min: this.internalActivePicker === 'DATE' ? this.minMonth : this.minYear,\n max: this.internalActivePicker === 'DATE' ? this.maxMonth : this.maxYear,\n nextAriaLabel: this.internalActivePicker === 'DATE' ? this.nextMonthAriaLabel : this.nextYearAriaLabel,\n prevAriaLabel: this.internalActivePicker === 'DATE' ? this.prevMonthAriaLabel : this.prevYearAriaLabel,\n prevIcon: this.prevIcon,\n readonly: this.readonly,\n value: this.internalActivePicker === 'DATE' ? `${pad(this.tableYear, 4)}-${pad(this.tableMonth + 1)}` : `${pad(this.tableYear, 4)}`,\n },\n on: {\n toggle: () => this.internalActivePicker = (this.internalActivePicker === 'DATE' ? 'MONTH' : 'YEAR'),\n input: (value: string) => this.tableDate = value,\n },\n })\n },\n genDateTable (): VNode {\n return this.$createElement(VDatePickerDateTable, {\n props: {\n allowedDates: this.allowedDates,\n color: this.color,\n current: this.current,\n dark: this.dark,\n disabled: this.disabled,\n events: this.events,\n eventColor: this.eventColor,\n firstDayOfWeek: this.firstDayOfWeek,\n format: this.dayFormat,\n light: this.light,\n locale: this.locale,\n localeFirstDayOfYear: this.localeFirstDayOfYear,\n min: this.min,\n max: this.max,\n range: this.range,\n readonly: this.readonly,\n scrollable: this.scrollable,\n showAdjacentMonths: this.showAdjacentMonths,\n showWeek: this.showWeek,\n tableDate: `${pad(this.tableYear, 4)}-${pad(this.tableMonth + 1)}`,\n value: this.value,\n weekdayFormat: this.weekdayFormat,\n },\n ref: 'table',\n on: {\n input: this.dateClick,\n 'update:table-date': (value: string) => this.tableDate = value,\n ...createItemTypeListeners(this, ':date'),\n },\n })\n },\n genMonthTable (): VNode {\n return this.$createElement(VDatePickerMonthTable, {\n props: {\n allowedDates: this.type === 'month' ? this.allowedDates : null,\n color: this.color,\n current: this.current ? sanitizeDateString(this.current, 'month') : null,\n dark: this.dark,\n disabled: this.disabled,\n events: this.type === 'month' ? this.events : null,\n eventColor: this.type === 'month' ? this.eventColor : null,\n format: this.monthFormat,\n light: this.light,\n locale: this.locale,\n min: this.minMonth,\n max: this.maxMonth,\n range: this.range,\n readonly: this.readonly && this.type === 'month',\n scrollable: this.scrollable,\n value: this.selectedMonths,\n tableDate: `${pad(this.tableYear, 4)}`,\n },\n ref: 'table',\n on: {\n input: this.monthClick,\n 'update:table-date': (value: string) => this.tableDate = value,\n ...createItemTypeListeners(this, ':month'),\n },\n })\n },\n genYears (): VNode {\n return this.$createElement(VDatePickerYears, {\n props: {\n color: this.color,\n format: this.yearFormat,\n locale: this.locale,\n min: this.minYear,\n max: this.maxYear,\n value: this.tableYear,\n },\n on: {\n input: this.yearClick,\n ...createItemTypeListeners(this, ':year'),\n },\n })\n },\n genPickerBody (): VNode {\n const children = this.internalActivePicker === 'YEAR' ? [\n this.genYears(),\n ] : [\n this.genTableHeader(),\n this.internalActivePicker === 'DATE' ? this.genDateTable() : this.genMonthTable(),\n ]\n\n return this.$createElement('div', {\n key: this.internalActivePicker,\n }, children)\n },\n setInputDate () {\n if (this.lastValue) {\n const array = this.lastValue.split('-')\n this.inputYear = parseInt(array[0], 10)\n this.inputMonth = parseInt(array[1], 10) - 1\n if (this.type === 'date') {\n this.inputDay = parseInt(array[2], 10)\n }\n } else {\n this.inputYear = this.inputYear || this.now.getFullYear()\n this.inputMonth = this.inputMonth == null ? this.inputMonth : this.now.getMonth()\n this.inputDay = this.inputDay || this.now.getDate()\n }\n },\n },\n\n render (): VNode {\n return this.genPicker('v-picker--date')\n },\n})\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[_c('disease-header'),_c('div',{staticClass:\"df-flex-l df-flex-col disease-home\"},[(!_vm.farms.length)?_c('farm-disabled'):_vm._e(),_c('df-skeleton-loader',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.cultivaresLoading || _vm.loadingChangeFarm),expression:\"cultivaresLoading || loadingChangeFarm\"}],attrs:{\"height\":\"72px\"}}),_c('programas-header',{directives:[{name:\"show\",rawName:\"v-show\",value:(!_vm.cultivaresLoading && !_vm.loadingChangeFarm && _vm.varietiesLoaded),expression:\"!cultivaresLoading && !loadingChangeFarm && varietiesLoaded\"}],attrs:{\"cultivares\":_vm.cultivares},on:{\"change-variety\":_vm.changeVariety}}),(\n _vm.farms.length && !_vm.cultivaresLoading && (!_vm.cultivar || !_vm.varietiesLoaded)\n )?_c('without-varieties'):_vm._e(),(_vm.varietiesLoaded && _vm.cultivar)?_c('programas-list',{attrs:{\"loading\":_vm.cultivaresLoading || _vm.loadingChangeFarm || _vm.loadingVariety,\"programas\":_vm.programas,\"cultivar\":_vm.cultivar},on:{\"alterou\":_vm.fetchPrograms}}):_vm._e()],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('df-page-header',{staticClass:\"disease-header\",attrs:{\"title\":_vm.$t('menu.diseases'),\"subtitle\":_vm.$t('menu.planejamento')},scopedSlots:_vm._u([{key:\"actions\",fn:function(){return [_c('selector-seasons-crops',{staticClass:\"header-actions\"})]},proxy:true}])})\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DiseaseHeader.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DiseaseHeader.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./DiseaseHeader.vue?vue&type=template&id=36df9199&scoped=true\"\nimport script from \"./DiseaseHeader.vue?vue&type=script&lang=js\"\nexport * from \"./DiseaseHeader.vue?vue&type=script&lang=js\"\nimport style0 from \"./DiseaseHeader.vue?vue&type=style&index=0&id=36df9199&prod&lang=scss&scoped=true\"\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 \"36df9199\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"program-header\"},[_c('v-card',{staticClass:\"card crop\"},[_c('v-select',{staticClass:\"crop-selector\",staticStyle:{\"background\":\"white\"},attrs:{\"value\":_vm.currentCrop,\"items\":_vm.translatedCrops,\"item-value\":\"id\",\"item-text\":\"name\",\"single-line\":\"\",\"outlined\":\"\",\"color\":\"#39af49\",\"label\":_vm.$t('disease_control.select_crop')},on:{\"change\":_vm.changeCrop}})],1),_c('v-card',{staticClass:\"card variety\"},[_c('v-select',{staticClass:\"season-selector\",staticStyle:{\"background\":\"white\"},attrs:{\"items\":_vm.varietiesAndCropHeaders,\"item-value\":\"id\",\"item-text\":\"cultivar\",\"single-line\":\"\",\"outlined\":\"\",\"color\":\"#39af49\",\"label\":_vm.$t('disease_control.select_variety'),\"return-object\":\"\"},scopedSlots:_vm._u([{key:\"append-item\",fn:function(){return [_c('div',{staticClass:\"px-2\"},[_c('v-btn',{staticClass:\"create-variety\",on:{\"click\":_vm.createVariety}},[_vm._v(\" \"+_vm._s(_vm.$t('disease_control.create_variety'))+\" \"),_c('font-awesome-icon',{staticClass:\"ml-1\",attrs:{\"icon\":\"leaf\",\"color\":\"#39AF49\"}})],1)],1)]},proxy:true}]),model:{value:(_vm.cultivar),callback:function ($$v) {_vm.cultivar=$$v},expression:\"cultivar\"}})],1),_c('v-card',{staticClass:\"card data\"},[_c('div',[_c('div',{staticClass:\"type\"},[_c('v-icon',{attrs:{\"size\":\"14\",\"color\":\"#AAB2A9\"}},[_vm._v(\"mdi-office-building-outline\")]),_vm._v(\" \"+_vm._s(_vm.$t('variety.owner'))+\" \")],1),(_vm.cultivar)?_c('div',{staticClass:\"variety-info\"},[_vm._v(\" \"+_vm._s(_vm.cultivar.titular)+\" \")]):_vm._e()]),(\n _vm.cultivar && _vm.cultivar.semeadura_ini && _vm.cultivar.semeadura_fim && !_vm.isUSA\n )?_c('div',[_c('div',{staticClass:\"type\"},[_c('v-icon',{attrs:{\"size\":\"14\",\"color\":\"#AAB2A9\"}},[_vm._v(\"mdi-calendar\")]),_vm._v(\" \"+_vm._s(_vm.$t('cultivar.epoca_semeadura'))+\" \")],1),_c('div',{staticClass:\"variety-info\"},[_vm._v(\" \"+_vm._s(_vm.$t('_to_', [_vm.plantingTimeStart, _vm.plantingTimeEnd]))+\" \")])]):_vm._e(),(_vm.cultivar && _vm.cultivar.habito && !_vm.isUSA)?_c('div',[_c('div',{staticClass:\"type\"},[_c('v-icon',{attrs:{\"size\":\"14\",\"color\":\"#AAB2A9\"}},[_vm._v(\"mdi-chart-areaspline-variant\")]),_vm._v(\" \"+_vm._s(_vm.$t('cultivar.habito_crescimento'))+\" \")],1),_c('div',{staticClass:\"variety-info\"},[_vm._v(_vm._s(_vm.cultivar.habito))])]):_vm._e(),(_vm.cultivar && _vm.cultivar.ciclo_dias)?_c('div',[_c('div',{staticClass:\"type\"},[_c('v-icon',{attrs:{\"size\":\"14\",\"color\":\"#AAB2A9\"}},[_vm._v(\"mdi-chart-areaspline-variant\")]),_vm._v(\" \"+_vm._s(_vm.$t('cultivar.ciclo'))+\" \")],1),_c('div',{staticClass:\"variety-info\"},[_vm._v(\" \"+_vm._s(_vm.varietyStartCycle)+\" \"+_vm._s(_vm.$t('until'))+\" \"+_vm._s(_vm.varietyEndCycle)+\" \"+_vm._s(_vm.$t('days'))+\" \")])]):_vm._e(),_c('div',[_c('variety-info-modal',{attrs:{\"variety\":_vm.cultivar}})],1)])],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('v-dialog',{attrs:{\"fullscreen\":_vm.isMobile},scopedSlots:_vm._u([{key:\"activator\",fn:function({ on, attrs }){return [_c('v-list-item',[_c('v-list-item-title',_vm._g(_vm._b({},'v-list-item-title',attrs,false),on),[_c('button',{staticClass:\"open-dialog\",attrs:{\"disabled\":!_vm.variety}},[_c('v-icon',{attrs:{\"color\":\"#39AF49\",\"size\":\"24\"}},[_vm._v(\"mdi-information-symbol\")])],1)])],1)]}}]),model:{value:(_vm.dialog),callback:function ($$v) {_vm.dialog=$$v},expression:\"dialog\"}},[_c('v-card',[_c('v-card-title',[_c('p',[_vm._v(\" \"+_vm._s(_vm.$t('variety.variety_info'))+\" \")]),_c('button',{on:{\"click\":_vm.close}},[_c('v-icon',{attrs:{\"size\":\"18\",\"color\":\"#AAB2A9\"}},[_vm._v(\"mdi-close\")])],1)]),_c('v-card-text',[_c('variety-info',{attrs:{\"variety\":_vm.variety}})],1)],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./VarietyInfoModal.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./VarietyInfoModal.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./VarietyInfoModal.vue?vue&type=template&id=003ff68e&scoped=true\"\nimport script from \"./VarietyInfoModal.vue?vue&type=script&lang=js\"\nexport * from \"./VarietyInfoModal.vue?vue&type=script&lang=js\"\nimport style0 from \"./VarietyInfoModal.vue?vue&type=style&index=0&id=003ff68e&prod&scoped=true&lang=css\"\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 \"003ff68e\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProgramHeader.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProgramHeader.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./ProgramHeader.vue?vue&type=template&id=021604ce&scoped=true\"\nimport script from \"./ProgramHeader.vue?vue&type=script&lang=js\"\nexport * from \"./ProgramHeader.vue?vue&type=script&lang=js\"\nimport style0 from \"./ProgramHeader.vue?vue&type=style&index=0&id=021604ce&prod&scoped=true&lang=css\"\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 \"021604ce\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[(_vm.isMobile)?_c('v-row',{attrs:{\"align\":\"center\",\"no-gutters\":\"\"}},[_c('v-col',{staticClass:\"title py-1\",attrs:{\"cols\":\"2\"}},[_vm._v(\" \"+_vm._s(_vm.$t('programa.programas'))+\" \")]),(_vm.enabledFarm)?_c('v-col',{staticClass:\"pa-1 text-left\",attrs:{\"cols\":\"4\"}},[(_vm.isActivatedComparison)?_c('v-btn',{attrs:{\"x-small\":\"\",\"color\":\"primary\"},on:{\"click\":_vm.comparisonRoute}},[_c('v-icon',[_vm._v(\"mdi-compare-horizontal\")]),_vm._v(\"   \"+_vm._s(_vm.$t('Comparison.title'))+\" \")],1):_vm._e()],1):_vm._e(),(_vm.tutorialToggle)?_c('v-col',{staticClass:\"pa-1 text-right\",attrs:{\"cols\":\"3\"}},[_c('tutorial-video-modal',{attrs:{\"url-video\":_vm.urlAjuda}})],1):_vm._e()],1):_c('v-row',{attrs:{\"align\":\"center\",\"no-gutters\":\"\"}},[_c('div',{staticClass:\"list-header\"},[_c('div',{staticClass:\"list-header-title\"},[_c('div',[_vm._v(_vm._s(_vm.$t('programa.programas')))]),(_vm.tutorialToggle)?_c('tutorial-video-modal',{attrs:{\"url-video\":_vm.urlAjuda,\"event\":\"tutorial_programa\",\"name\":\"list_programa\"}}):_vm._e(),_c('v-col',{staticClass:\"pa-1 d-md-none\",attrs:{\"cols\":\"6\"}},[(_vm.tutorialToggle)?_c('tutorial-video-modal',{attrs:{\"url-video\":_vm.urlAjuda,\"event\":\"tutorial_programa\",\"name\":\"list_programa\"}}):_vm._e()],1)],1),(_vm.isActivatedComparison)?_c('v-btn',{staticClass:\"btn-compare\",on:{\"click\":_vm.comparisonRoute}},[_vm._v(\" \"+_vm._s(_vm.$t('Comparison.title'))+\" \"),_c('v-icon',{attrs:{\"color\":\"#39AF49\"}},[_vm._v(\"mdi-compare-horizontal\")])],1):_vm._e()],1),_c('v-col',{staticClass:\"pa-1 d-flex d-md-none\",attrs:{\"cols\":\"4\"}},[_vm._v(\" \"+_vm._s(_vm.$t('programa.programas'))+\" \")]),_c('v-col',{staticClass:\"pa-1 text-right d-md-none\",attrs:{\"cols\":\"8\"}},[_c('modal-programa',{attrs:{\"cultivar\":_vm.cultivar},on:{\"salva\":_vm.listaProgramas},scopedSlots:_vm._u([{key:\"activator\",fn:function({ on }){return [_c('v-btn',_vm._g({staticClass:\"white--text\",attrs:{\"depressed\":\"\",\"color\":\"#8BC34A\",\"x-small\":\"\"}},on),[_vm._v(\" \"+_vm._s(_vm.$t('adicionar'))+\" \"+_vm._s(_vm.$t('programa.programa'))+\" \")])]}}])})],1)],1),_c('v-row',{staticClass:\"d-sm-none\"},[_c('v-col',{staticClass:\"text-left\"},[_c('v-btn',{attrs:{\"fab\":\"\",\"dark\":\"\",\"color\":\"blue-grey darken-3 mr-2\",\"height\":\"40px\",\"width\":\"40px\"},on:{\"click\":_vm.clickLeft}},[_c('v-icon',{attrs:{\"dark\":\"\"}},[_vm._v(\"mdi-chevron-left\")])],1)],1),_c('v-col',{staticClass:\"text-right\"},[_c('v-btn',{attrs:{\"fab\":\"\",\"dark\":\"\",\"color\":\"blue-grey darken-3 ml-2\",\"height\":\"40px\",\"width\":\"40px\"},on:{\"click\":_vm.clickRight}},[_c('v-icon',{attrs:{\"dark\":\"\"}},[_vm._v(\"mdi-chevron-right\")])],1)],1)],1),_c('v-slide-group',{staticClass:\"mt-4\",attrs:{\"mobile-breakpoint\":\"xs\"},scopedSlots:_vm._u([{key:\"prev\",fn:function(){return [_c('v-row',{staticStyle:{\"height\":\"100%\"},attrs:{\"align\":\"start\"}},[_c('v-row',{staticStyle:{\"height\":\"500px\"},attrs:{\"align\":\"center\",\"justify\":\"end\",\"no-gutters\":\"\"}},[_c('v-col',{staticClass:\"text-center\"},[_c('v-btn',{attrs:{\"fab\":\"\",\"dark\":\"\",\"color\":\"blue-grey darken-3 mr-2\",\"height\":\"40px\",\"width\":\"40px\"}},[_c('v-icon',{attrs:{\"dark\":\"\"}},[_vm._v(\"mdi-chevron-left\")])],1)],1)],1)],1)]},proxy:true},{key:\"next\",fn:function(){return [_c('v-row',{staticClass:\"align-start\",staticStyle:{\"height\":\"100%\"}},[_c('v-row',{staticStyle:{\"height\":\"500px\"},attrs:{\"align\":\"center\",\"justify\":\"end\",\"no-gutters\":\"\"}},[_c('v-col',{staticClass:\"text-center\"},[_c('v-btn',{attrs:{\"fab\":\"\",\"dark\":\"\",\"color\":\"blue-grey darken-3 ml-2\",\"height\":\"40px\",\"width\":\"40px\"}},[_c('v-icon',{attrs:{\"dark\":\"\"}},[_vm._v(\"mdi-chevron-right\")])],1)],1)],1)],1)]},proxy:true}])},[(!_vm.$vuetify.breakpoint.xs)?_c('v-slide-item',{staticClass:\"qa-program-first-column\"},[_c('div',{staticStyle:{\"max-width\":\"100px\",\"float\":\"right\"}},[_c('div',{staticStyle:{\"height\":\"150px\"}}),_vm._l((_vm.calculaMaxAplicacoes),function(i){return _c('div',{key:i},[_c('v-card',{staticClass:\"grey darken-3 white--text mt-15 text-center\",attrs:{\"tile\":\"\",\"elevation\":\"0\",\"height\":\"156px\"}},[_c('v-card-text',{staticClass:\"float-center text-center white--text pa-2\",staticStyle:{\"height\":\"100%\"}},[_c('div',{staticClass:\"title\",staticStyle:{\"line-height\":\"130px\"}},[_vm._v(_vm._s(i)+\"ª\")])])],1),_c('div',{staticStyle:{\"height\":\"294px\",\"padding-top\":\"50px\"}},[_c('diseases-names',{staticClass:\"program-diseases\"})],1)],1)})],2)]):_vm._e(),_c('v-dialog',{attrs:{\"width\":\"auto\",\"persistent\":\"\"},model:{value:(_vm.cloningProcess),callback:function ($$v) {_vm.cloningProcess=$$v},expression:\"cloningProcess\"}},[_c('v-card',{attrs:{\"width\":\"340\"}},[_c('Loader',{staticStyle:{\"display\":\"contents\"}})],1)],1),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.loading),expression:\"loading\"}],staticClass:\"df-flex-l\"},_vm._l((3),function(_,index){return _c('df-skeleton-loader',{key:index,attrs:{\"height\":\"822px\",\"width\":\"260px\"}})}),1),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(!_vm.loading),expression:\"!loading\"}],staticClass:\"df-flex-l\"},[_vm._l((_vm.programas),function(programa){return _c('v-slide-item',{key:programa.id,staticClass:\"v-slide-item--custom\"},[_c('list-item',{attrs:{\"cloning-process\":_vm.cloningProcess,\"program\":programa,\"cultivar\":_vm.cultivar},on:{\"alterou\":_vm.listaProgramas,\"duplicate\":_vm.duplicateProgram}})],1)}),(_vm.canAddProgram && _vm.enabledFarm)?_c('v-slide-item',{staticClass:\"mx-2 v-slide-item--custom\"},[_c('v-row',{staticClass:\"d-inline-flex ma-2\",staticStyle:{\"height\":\"150px\"},attrs:{\"align\":\"center\"}},[_c('modal-programa',{attrs:{\"cultivar\":_vm.cultivar},on:{\"salva\":_vm.listaProgramas},scopedSlots:_vm._u([{key:\"activator\",fn:function({ on }){return [_c('v-btn',_vm._g({attrs:{\"data-id\":\"add-button\",\"fab\":\"\",\"dark\":\"\",\"color\":\"blue-grey darken-3\",\"height\":\"50px\",\"width\":\"50px\"}},on),[_c('v-icon',{attrs:{\"dark\":\"\"}},[_vm._v(\"mdi-plus\")])],1),_c('div',[_c('p',{staticClass:\"text--secondary caption ma-2 text-left\"},[_vm._v(\" \"+_vm._s(_vm.$t('adicionar'))),_c('br'),_vm._v(_vm._s(_vm.$t('programa.programa'))+\" \")])])]}}],null,false,2327448787)})],1)],1):_vm._e()],2)],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('v-slide-item',{scopedSlots:_vm._u([{key:\"default\",fn:function({ toggle }){return [_c('div',[_c('v-card',{staticClass:\"grey darken-1 center white--text mb-4\",attrs:{\"tile\":\"\",\"elevation\":\"0\",\"height\":\"150px\"},on:{\"click\":toggle}},[_c('v-card-title',{staticClass:\"pa-2\"},[_c('v-spacer'),(_vm.enabledFarm)?_c('v-menu',{attrs:{\"bottom\":\"\",\"left\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function({ on }){return [_c('v-btn',_vm._g({attrs:{\"dark\":\"\",\"icon\":\"\"}},on),[_c('v-icon',[_vm._v(\"mdi-dots-vertical\")])],1)]}}],null,true)},[_c('v-list',[(_vm.hasPermission(_vm.$p.planning.edit) && _vm.enabledFarm)?_c('modal-programa',{attrs:{\"programa\":_vm.program,\"cultivar\":_vm.cultivar},on:{\"salva\":_vm.salvarPrograma},scopedSlots:_vm._u([{key:\"activator\",fn:function({ on }){return [_c('v-list-item',_vm._g({},on),[_c('v-list-item-title',[_c('v-icon',[_vm._v(\"mdi-pencil\")]),_vm._v(\" \"+_vm._s(_vm.$t('editar'))+\" \")],1)],1)]}}],null,true)}):_vm._e(),(_vm.hasPermission(_vm.$p.planning.create) && _vm.enabledFarm)?_c('modal-replicacao',{attrs:{\"programa\":_vm.program,\"cultivar\":_vm.cultivar},on:{\"clonou\":_vm.clonarPrograma},scopedSlots:_vm._u([{key:\"activator\",fn:function({ on }){return [_c('v-list-item',_vm._g({},on),[_c('v-list-item-title',[_c('v-icon',[_vm._v(\"mdi-content-copy\")]),_vm._v(\"  \"+_vm._s(_vm.$t('copiar_para'))+\" \")],1)],1)]}}],null,true)}):_vm._e(),_c('v-list-item',{attrs:{\"disabled\":_vm.cloningProcess},on:{\"click\":_vm.duplicateProgram}},[_c('v-list-item-title',[_c('v-icon',[_vm._v(\"mdi-content-duplicate\")]),_vm._v(\"   \"+_vm._s(_vm.$t('programa.duplicate.label')))],1)],1),_c('v-list-item',{attrs:{\"to\":_vm.comparisonRoute}},[_c('v-list-item-title',[_c('v-icon',[_vm._v(\"mdi-compare-horizontal\")]),_vm._v(\"   \"+_vm._s(_vm.$t('Comparison.title'))+\" \")],1)],1),_c('v-list-item',{attrs:{\"href\":`#/reports/programa?id=${_vm.program.id}`,\"target\":\"_blank\"}},[_c('v-list-item-title',[_c('v-icon',[_vm._v(\"mdi-printer\")]),_vm._v(\"   \"+_vm._s(_vm.$t('print')))],1)],1),(_vm.hasPermission(_vm.$p.planning.delete) && _vm.enabledFarm)?_c('v-divider'):_vm._e(),(_vm.hasPermission(_vm.$p.planning.delete) && _vm.enabledFarm)?_c('v-list-item',{on:{\"click\":_vm.excluirPrograma}},[_c('v-list-item-title',{staticClass:\"red--text\"},[_c('v-icon',{attrs:{\"color\":\"red\"}},[_vm._v(\"mdi-delete\")]),_vm._v(\"   \"+_vm._s(_vm.$t('excluir')))],1)],1):_vm._e()],1)],1):_vm._e()],1),_c('v-card-text',{staticClass:\"float-center text-center d-block white--text pa-2 mt-n12\"},[_c('div',{staticClass:\"title\"},[_vm._v(_vm._s(_vm.program.nome))]),_c('div',{staticClass:\"text--secundary\"},[_vm._v(\" \"+_vm._s(_vm.$t('semeadura_em', [_vm.program.data_prevista.formatDate()]))+\" \")]),_c('div',{staticClass:\"d-flex justify-center align-end\"},[(_vm.program.severidade_id == 1)?_c('v-chip',{staticClass:\"ma-2 caption white--text\",attrs:{\"small\":\"\",\"color\":\"red darken-1\"}},[_c('v-icon',{attrs:{\"left\":\"\",\"small\":\"\"}},[_vm._v(\"mdi-weather-rainy\")]),_vm._v(\" \"+_vm._s(_vm.$t('severidade.alta'))+\" \")],1):(_vm.program.severidade_id == 2)?_c('v-chip',{staticClass:\"ma-2 caption\",attrs:{\"small\":\"\",\"color\":\"orange darken-1\"}},[_c('v-icon',{attrs:{\"left\":\"\",\"small\":\"\"}},[_vm._v(\"mdi-weather-rainy\")]),_vm._v(\" \"+_vm._s(_vm.$t('severidade.media'))+\" \")],1):(_vm.program.severidade_id == 3)?_c('v-chip',{staticClass:\"ma-2 caption\",attrs:{\"small\":\"\",\"color\":\"yellow darken-1\"}},[_c('v-icon',{attrs:{\"left\":\"\",\"small\":\"\"}},[_vm._v(\"mdi-weather-rainy\")]),_vm._v(\" \"+_vm._s(_vm.$t('severidade.baixa'))+\" \")],1):_vm._e(),(_vm.program.white_mold_enabled)?_c('v-chip',{staticClass:\"spraying-list__white-mold-label ml-3\",attrs:{\"color\":\"#305082\",\"x-small\":\"\"}},[_vm._v(\"+ \"+_vm._s(_vm.$t('spraying.specific_white_mold_label')))]):_vm._e()],1),(_vm.program.sugestao_pulverizacoes)?_c('div',{staticClass:\"text--secundary\"},[_c('span',{staticClass:\"caption\"},[_vm._v(\" \"+_vm._s(_vm.$t('pulverizacao.sugestao'))+\": \"+_vm._s(_vm.program.sugestao_pulverizacoes)+\" \")])]):_vm._e(),_c('div',{staticClass:\"text--secundary\"},[_c('span',{staticClass:\"title font-weight-bold pr-2\"},[_vm._v(\" \"+_vm._s(_vm.$currency(_vm.custoTotal()))+\" \")]),_c('span',{staticClass:\"body-2\"},[_vm._v(\" \"+_vm._s(_vm.custoTotalSc)+\" \"+_vm._s(_vm.$unitMeasures['weight'][_vm.$currentLanguage()]))])])])],1),_vm._l((_vm.program.planejamentos),function(planejamento,idx){return _c('div',{key:planejamento.id},[_c('v-card',{staticClass:\"grey darken-3 white--text mb-3 text-center d-sm-none\",attrs:{\"tile\":\"\",\"elevation\":\"0\"}},[_c('v-card-text',{staticClass:\"float-center text-center white--text pa-2\",staticStyle:{\"height\":\"100%\"}},[_c('div',{staticClass:\"title\"},[_vm._v(\" \"+_vm._s(idx + 1)+\"ª \"+_vm._s(_vm.$t('aplicacao.aplicacao'))+\" \")])])],1),_c('v-card',{staticClass:\"grey lighten-3 center white--text\",attrs:{\"height\":\"200px\"},on:{\"click\":toggle}},[_c('v-card-title',{staticClass:\"pa-2 blue-grey\"},[(planejamento.data_aplicacao_planejada)?_c('div',{staticClass:\"body-2 ml-2\"},[_vm._v(\" \"+_vm._s(_vm.aplicacaoDataRange(planejamento))+\" \")]):_vm._e(),_c('v-spacer'),(_vm.showDefensiveMenu && _vm.enabledFarm)?_c('v-menu',{attrs:{\"bottom\":\"\",\"left\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function({ on }){return [_c('v-btn',_vm._g({attrs:{\"dark\":\"\",\"icon\":\"\",\"small\":\"\"}},on),[_c('v-icon',{attrs:{\"small\":\"\",\"color\":\"white\"}},[_vm._v(\"mdi-dots-vertical\")])],1)]}}],null,true)},[_c('v-list',[(_vm.hasPermission(_vm.$p.defensive.edit) && _vm.enabledFarm)?_c('spraying-modal',{attrs:{\"aplicacao\":planejamento.aplicacao,\"planning-program\":_vm.program},on:{\"alterou\":_vm.salvarPlanejamento},scopedSlots:_vm._u([{key:\"activator\",fn:function({ on }){return [_c('v-list-item',_vm._g({},on),[_c('v-list-item-title',[_c('v-icon',[_vm._v(\"mdi-pencil\")]),_vm._v(\"   \"+_vm._s(_vm.$t('editar')))],1)],1)]}}],null,true)}):_vm._e(),(_vm.canDeleteSpray(idx) && _vm.enabledFarm)?_c('v-divider'):_vm._e(),(_vm.canDeleteSpray(idx))?_c('v-list-item',{on:{\"click\":function($event){return _vm.excluirPlanejamento(planejamento)}}},[_c('v-list-item-title',{staticClass:\"red--text\"},[_c('v-icon',{attrs:{\"color\":\"red\"}},[_vm._v(\"mdi-delete\")]),_vm._v(\"   \"+_vm._s(_vm.$t('excluir')))],1)],1):_vm._e()],1)],1):_vm._e()],1),_c('v-card-text',{staticClass:\"float-center text-center d-block gray--text text--darken-2\"},[_c('v-row',{staticClass:\"pl-2 pr-6\",attrs:{\"align\":\"center\"}},[_vm._l((planejamento.planejamento_defensivos.slice(\n 0,\n 3\n )),function(produto){return _c('v-col',{key:produto.id,attrs:{\"cols\":\"6\"}},[_c('div',[(produto.defensivo)?_c('div',{staticClass:\"font-weight-bold\"},[_vm._v(\" \"+_vm._s(produto.defensivo.nome)+\" \")]):_vm._e(),(produto.defensivo)?_c('div',{staticClass:\"caption\"},[_vm._v(\" \"+_vm._s(parseFloat(produto.dose).toFixedNotRounded(2))+\" \"+_vm._s(produto.defensivo.unidade_medida.replace('_', ' '))+\" \")]):_c('div',{staticClass:\"font-weight-bold\"},[_vm._v(\" \"+_vm._s(_vm.$t('desconhecido'))+\" \")])])])}),(planejamento.planejamento_defensivos.length > 4)?_c('v-col',{attrs:{\"cols\":\"6\"}},[_c('v-tooltip',{attrs:{\"bottom\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function({ on }){return [_c('div',_vm._g({staticClass:\"title font-weight-bold\"},on),[_vm._v(\" + \"+_vm._s(planejamento.planejamento_defensivos.length - 3)+\" \")])]}}],null,true)},_vm._l((planejamento.planejamento_defensivos.slice(\n 3\n )),function(produto){return _c('div',{key:'tooltip_' + produto.id},[_vm._v(\" \"+_vm._s(produto.defensivo.nome)+\" ( \"+_vm._s(parseFloat(produto.dose).toFixedNotRounded(2))+_vm._s(produto.defensivo.unidade_medida.replace('_', ' '))+\" ) \")])}),0)],1):(planejamento.planejamento_defensivos.length === 4)?_c('v-col',{attrs:{\"cols\":\"6\"}},[_c('div',{staticClass:\"font-weight-bold\"},[_vm._v(\" \"+_vm._s(planejamento.planejamento_defensivos[3].defensivo.nome)+\" \")]),_c('div',{staticClass:\"caption\"},[_vm._v(\" \"+_vm._s(parseFloat( planejamento.planejamento_defensivos[3].dose ).toFixedNotRounded(2))+\" \"+_vm._s(planejamento.planejamento_defensivos[3].defensivo.unidade_medida.replace( '_', ' ' ))+\" \")])]):_vm._e()],2),(_vm.specificWhiteMoldSpraying(planejamento))?_c('v-chip',{staticClass:\"spraying-list__white-mold-label -absolute\",attrs:{\"color\":\"#305082\",\"x-small\":\"\"}},[_vm._v(\" \"+_vm._s(_vm.$t('spraying.specific_white_mold_label'))+\" \")]):_vm._e()],1)],1),_c('v-row',{staticClass:\"mt-4\",attrs:{\"justify\":\"center\",\"align\":\"center\",\"no-gutters\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"2\"}}),_c('v-col',{staticClass:\"body-1 font-weight-bold text-right pr-1\",attrs:{\"cols\":\"4\"}},[_vm._v(\" \"+_vm._s(_vm.$currency(_vm.custoPlanejamento(planejamento)))+\" \")]),_c('v-col',{staticClass:\"body-2 text-left\",attrs:{\"cols\":\"4\"}},[_vm._v(\" \"+_vm._s(_vm.custoPlanejamentoSc(planejamento))+\" \"+_vm._s(_vm.$unitMeasures['weight'][_vm.$currentLanguage()])+\" \")]),_c('v-col',{attrs:{\"cols\":\"2\"}},[(_vm.semRegistro(planejamento.eficacias) && _vm.isBrazil)?_c('v-tooltip',{attrs:{\"top\":\"\",\"max-width\":\"300\"},scopedSlots:_vm._u([{key:\"activator\",fn:function({ on }){return [_c('div',_vm._g({},on),[_c('v-icon',{staticClass:\"red--text\",attrs:{\"dense\":\"\"}},[_vm._v(\"mdi-alert-circle\")])],1)]}}],null,true)},[_c('div',[_vm._v(\" \"+_vm._s(_vm.$t('eficacia.sem_registro_ajuda'))+\" \")])]):_vm._e()],1)],1),(planejamento.eficacias)?_c('v-row',{staticStyle:{\"height\":\"270px\"},attrs:{\"justify\":\"center\",\"no-gutters\":\"\"}},[_c('v-col',[_c('efficacies',{attrs:{\"spraying\":planejamento,\"mobile\":_vm.$vuetify.breakpoint.xs,\"is-planning\":\"\",\"hide-labels\":\"\"}})],1)],1):_vm._e()],1)}),_c('div',{staticStyle:{\"width\":\"260px\",\"white-space\":\"initial !important\"}},[_c('total-sprayings-info',{attrs:{\"program\":_vm.program}})],1),(_vm.allowNovaAplicacao)?_c('v-row',{key:`novoPlanejamento_${_vm.program.planejamentos.length + 1}`,attrs:{\"justify\":\"center\"}},[_c('v-col',{staticClass:\"text-center\"},[(_vm.hasPermission(_vm.$p.defensive.create) && _vm.enabledFarm)?_c('spraying-modal',{attrs:{\"aplicacao\":_vm.novoPlanejamentoIndex,\"planning-program\":_vm.program},on:{\"alterou\":_vm.salvarPlanejamento},scopedSlots:_vm._u([{key:\"activator\",fn:function({ on }){return [_c('v-btn',_vm._g({staticClass:\"mx-2\",attrs:{\"fab\":\"\",\"dark\":\"\",\"color\":\"green darken-1\",\"height\":\"50px\",\"width\":\"50px\"},on:{\"click\":_vm.handleButtonClick}},on),[_c('v-icon',{attrs:{\"dark\":\"\"}},[_vm._v(\"mdi-plus\")])],1),_c('p',{staticClass:\"text--secondary caption mt-1\"},[_vm._v(\" \"+_vm._s(_vm.$t('aplicacao.adicionar_aplicacao'))+\" \")])]}}],null,true)}):_vm._e()],1)],1):_vm._e()],2)]}}])})\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('v-dialog',{attrs:{\"persistent\":_vm.saving,\"width\":\"800\"},scopedSlots:_vm._u([{key:\"activator\",fn:function({ on }){return [_vm._t(\"activator\",null,{\"on\":on})]}}],null,true),model:{value:(_vm.dialog),callback:function ($$v) {_vm.dialog=$$v},expression:\"dialog\"}},[(_vm.vPrograma)?_c('v-card',[_c('v-form',{ref:\"form\",on:{\"submit\":function($event){$event.preventDefault();}},model:{value:(_vm.valid),callback:function ($$v) {_vm.valid=$$v},expression:\"valid\"}},[_c('v-toolbar',{staticClass:\"headline blue-grey darken-2 white--text\"},[_c('span',[_vm._v(_vm._s(_vm.$t('programa.novo_programa')))]),_c('v-spacer'),_c('v-tooltip',{staticClass:\"pr-1\",attrs:{\"bottom\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function({ on }){return [_c('div',_vm._g({},on),[_c('v-icon',{staticClass:\"white--text\"},[_vm._v(\"mdi-help-circle-outline\")])],1)]}}],null,false,3332802445)},[_c('div',[_vm._v(\" \"+_vm._s(_vm.$t('eficacia.ajuda'))+\" \")])]),_c('v-btn',{attrs:{\"icon\":\"\",\"dark\":\"\",\"right\":\"\"},on:{\"click\":function($event){_vm.dialog = false}}},[_c('v-icon',[_vm._v(\"mdi-close\")])],1)],1),_c('v-stepper',{attrs:{\"vertical\":false,\"non-linear\":\"\",\"alt-labels\":\"\"},model:{value:(_vm.currentStep),callback:function ($$v) {_vm.currentStep=$$v},expression:\"currentStep\"}},[_c('v-stepper-header',[_c('v-stepper-step',{attrs:{\"step\":\"1\",\"complete\":_vm.currentStep > 1}},[_c('span',{staticClass:\"caption\"},[_vm._v(_vm._s(_vm.$t('nome')))])]),_c('v-divider'),_c('v-stepper-step',{attrs:{\"step\":\"2\",\"complete\":_vm.currentStep > 2}},[_c('span',{staticClass:\"caption\"},[_vm._v(_vm._s(_vm.$t('eficacia.data_prevista_semeadura')))])]),_c('v-divider'),_c('v-stepper-step',{attrs:{\"step\":\"3\",\"complete\":_vm.currentStep > 3}},[_c('span',{staticClass:\"caption\"},[_vm._v(_vm._s(_vm.$t('eficacia.severidade_esperada')))])])],1),_c('v-stepper-items',[_c('v-stepper-content',{key:\"name-content\",attrs:{\"step\":\"1\"}},[_c('v-card-text',[_c('v-text-field',{attrs:{\"counter\":_vm.nomeMaxChar,\"rules\":_vm.nomeRules,\"label\":_vm.$t('programa.nome_programa'),\"required\":\"\"},model:{value:(_vm.nome),callback:function ($$v) {_vm.nome=$$v},expression:\"nome\"}})],1),_c('v-divider'),_c('v-card-actions',[_c('v-spacer'),_c('v-btn',{attrs:{\"color\":\"grey darken-1\",\"text\":\"\",\"disabled\":_vm.saving},on:{\"click\":function($event){_vm.dialog = false}}},[_vm._v(\" \"+_vm._s(_vm.$t('cancelar'))+\" \")]),_c('v-btn',{attrs:{\"color\":\"primary\",\"text\":\"\",\"loading\":_vm.saving},on:{\"click\":function($event){!!_vm.nome && _vm.nextStep()}}},[_vm._v(\" \"+_vm._s(_vm.$t('next'))+\" \")])],1)],1),_c('v-stepper-content',{key:\"data-prevista-content\",attrs:{\"step\":\"2\"}},[_c('v-container',{staticClass:\"pr-0 pl-0 pl-sm-3 pr-sm-3\"},[_c('v-row',[_c('v-col',{staticClass:\"subtitle text-center text-sm-left\",attrs:{\"cols\":\"12\"}},[_vm._v(\" \"+_vm._s(_vm.$t('eficacia.escolha_data_prevista'))+\" \")]),_c('v-col',{attrs:{\"col\":\"12\"}},[(!this.isRecommendedDate)?_c('v-alert',{attrs:{\"type\":\"warning\",\"dense\":\"\",\"text\":\"\",\"prominent\":\"\"}},[_vm._v(\" \"+_vm._s(_vm.$t('eficacia.data_prevista_semeadura_nao_recomendada'))+\" \")]):_vm._e()],1),_c('v-col',{staticClass:\"pr-0 pl-0 pl-sm-3 pr-sm-3\",attrs:{\"cols\":\"12\"}},[(_vm.$vuetify.breakpoint.xs)?_c('v-date-picker',{attrs:{\"show-current\":\"\",\"landscape\":\"\",\"color\":_vm.isRecommendedDate ? 'primary' : 'orange darken-2',\"header-color\":\"primary\",\"locale\":_vm.getLocale,\"allowed-dates\":_vm.allowedDates,\"events\":_vm.notRecommendedDates,\"min\":_vm.formatDateISO(_vm.minDate),\"max\":_vm.formatDateISO(_vm.maxDate),\"required\":\"\",\"no-title\":\"\",\"full-width\":\"\"},model:{value:(_vm.dataSemeadura),callback:function ($$v) {_vm.dataSemeadura=$$v},expression:\"dataSemeadura\"}}):_c('v-date-picker',{attrs:{\"show-current\":\"\",\"landscape\":\"\",\"color\":_vm.isRecommendedDate ? 'primary' : 'orange darken-2',\"header-color\":\"primary\",\"locale\":_vm.getLocale,\"allowed-dates\":_vm.allowedDates,\"events\":_vm.notRecommendedDates,\"min\":_vm.formatDateISO(_vm.minDate),\"max\":_vm.formatDateISO(_vm.maxDate),\"required\":\"\"},model:{value:(_vm.dataSemeadura),callback:function ($$v) {_vm.dataSemeadura=$$v},expression:\"dataSemeadura\"}})],1)],1)],1),_c('v-divider'),_c('v-card-actions',[_c('v-spacer'),_c('v-btn',{attrs:{\"color\":\"grey darken-1\",\"text\":\"\",\"disabled\":_vm.saving},on:{\"click\":_vm.prevStep}},[_vm._v(\" \"+_vm._s(_vm.$t('anterior'))+\" \")]),_c('v-btn',{attrs:{\"color\":\"primary\",\"text\":\"\",\"loading\":_vm.saving},on:{\"click\":function($event){!!_vm.dataSemeadura && _vm.allowedDates(_vm.dataSemeadura) && _vm.nextStep()}}},[_vm._v(\" \"+_vm._s(_vm.$t('next'))+\" \")])],1)],1),_c('v-stepper-content',{key:\"severidade-content\",attrs:{\"step\":\"3\"}},[_c('v-card-text',[_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\",\"sm\":\"6\",\"md\":\"6\"}},[_c('v-radio-group',{attrs:{\"column\":\"\"},scopedSlots:_vm._u([{key:\"label\",fn:function(){return [_vm._v(\" \"+_vm._s(_vm.$t('eficacia.escolha_severidade_esperada'))+\" \")]},proxy:true}],null,false,3718680346),model:{value:(_vm.severidade),callback:function ($$v) {_vm.severidade=$$v},expression:\"severidade\"}},_vm._l((_vm.severidades),function(sev,i){return _c('v-radio',{key:`sev_${i + 1}`,attrs:{\"label\":sev,\"color\":\"red\",\"value\":i + 1}})}),1)],1),(_vm.$toggle('white_mold_enabled') && _vm.isSoybean)?_c('v-col',{attrs:{\"cols\":\"12\",\"sm\":\"6\",\"md\":\"6\"}},[_c('d-radio-field',{attrs:{\"title\":_vm.$t('programa.white_mold_control_title') + '?',\"description\":_vm.$t('programa.white_mold_control_description'),\"disabled\":_vm.isEditing,\"row\":\"\"},model:{value:(_vm.white_mold_enabled),callback:function ($$v) {_vm.white_mold_enabled=$$v},expression:\"white_mold_enabled\"}})],1):_vm._e()],1)],1),_c('v-divider'),_c('v-card-actions',[_c('v-spacer'),_c('v-btn',{attrs:{\"color\":\"grey darken-1\",\"text\":\"\",\"disabled\":_vm.saving},on:{\"click\":_vm.prevStep}},[_vm._v(\" \"+_vm._s(_vm.$t('anterior'))+\" \")]),_c('v-btn',{attrs:{\"color\":\"primary\",\"loading\":_vm.saving},on:{\"click\":_vm.salvar}},[_vm._v(\" \"+_vm._s(_vm.$t('salvar'))+\" \")])],1)],1)],1)],1)],1)],1):_vm._e()],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ModalPrograma.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ModalPrograma.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./ModalPrograma.vue?vue&type=template&id=66308c82\"\nimport script from \"./ModalPrograma.vue?vue&type=script&lang=js\"\nexport * from \"./ModalPrograma.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","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('v-dialog',{attrs:{\"persistent\":_vm.saving,\"width\":\"700\"},scopedSlots:_vm._u([{key:\"activator\",fn:function({ on }){return [_vm._t(\"activator\",null,{\"on\":on})]}}],null,true),model:{value:(_vm.dialog),callback:function ($$v) {_vm.dialog=$$v},expression:\"dialog\"}},[_c('v-card',[_c('v-card-title',{staticClass:\"headline blue-grey darken-2 white--text\",attrs:{\"primary-title\":\"\"}},[_c('v-icon',{staticClass:\"white--text pa-2\"},[_vm._v(\"mdi-content-copy\")]),_c('span',[_vm._v(_vm._s(_vm.$t('programa.copiar_para.titulo')))]),_c('v-spacer'),_c('v-tooltip',{attrs:{\"bottom\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function({ on }){return [_c('div',_vm._g({},on),[_c('v-icon',{staticClass:\"white--text\"},[_vm._v(\"mdi-help-circle-outline\")])],1)]}}])},[_c('div',[_vm._v(\" \"+_vm._s(_vm.$t('programa.copiar_para.help'))+\" \")])])],1),_c('v-card-text',[_c('v-row',[_c('v-col',[_c('span',{staticClass:\"pr-4\"},[_vm._v(\" \"+_vm._s(_vm.$t('programa.copiar_para.instrucao'))+\" \"),_c('strong',[_vm._v(_vm._s(_vm.programa.nome))])])])],1),_vm._l((_vm.fazendas),function(fazenda){return _c('v-row',{key:'fazenda_' + fazenda.id,attrs:{\"justify\":\"center\",\"align\":\"center\",\"dense\":\"\"}},[_c('v-col'),_c('v-col',{attrs:{\"cols\":\"3\"}},[_c('div',{staticClass:\"title\"},[_vm._v(_vm._s(fazenda.nome))])]),_c('v-col',{attrs:{\"cols\":\"6\",\"align\":\"center\"}},[_c('v-select',{attrs:{\"items\":fazenda.cultivares.filter(_vm.checkCropType),\"item-text\":\"semente.cultivar\",\"item-value\":\"id\",\"label\":_vm.$t('programa.copiar_para.selecione_cultivares'),\"disabled\":_vm.saving,\"multiple\":\"\",\"chips\":\"\",\"return-object\":\"\"},model:{value:(_vm.cultivaresSelecionadas),callback:function ($$v) {_vm.cultivaresSelecionadas=$$v},expression:\"cultivaresSelecionadas\"}})],1),_c('v-col',{attrs:{\"cols\":\"2\"}},[_c('v-btn',{attrs:{\"color\":\"red\",\"fab\":\"\",\"x-small\":\"\",\"dark\":\"\",\"disabled\":_vm.saving},on:{\"click\":function($event){return _vm.desmarcarFazenda(fazenda.id)}}},[_c('v-icon',[_vm._v(\"mdi-close\")])],1)],1),_c('v-col')],1)})],2),_c('v-divider'),_c('v-card-actions',[_c('v-btn',{attrs:{\"color\":\"blue darken-1\",\"text\":\"\",\"disabled\":_vm.saving},on:{\"click\":_vm.marcarTodas}},[_vm._v(\" \"+_vm._s(_vm.$t('programa.copiar_para.marcar_todas'))+\" \")]),_c('v-btn',{attrs:{\"color\":\"red darken-1\",\"text\":\"\",\"disabled\":_vm.saving},on:{\"click\":_vm.desmarcarTodas}},[_vm._v(\" \"+_vm._s(_vm.$t('limpar'))+\" \")]),_c('v-spacer'),_c('v-btn',{attrs:{\"color\":\"grey darken-1\",\"text\":\"\",\"disabled\":_vm.saving},on:{\"click\":_vm.fechar}},[_vm._v(\" \"+_vm._s(_vm.$t('cancelar'))+\" \")]),_c('v-btn',{attrs:{\"color\":\"primary\",\"loading\":_vm.saving},on:{\"click\":_vm.salvar}},[_vm._v(\" \"+_vm._s(_vm.$t('copiar'))+\" \")])],1)],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ModalReplicacao.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ModalReplicacao.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./ModalReplicacao.vue?vue&type=template&id=2841aef2\"\nimport script from \"./ModalReplicacao.vue?vue&type=script&lang=js\"\nexport * from \"./ModalReplicacao.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\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ListItem.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ListItem.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./ListItem.vue?vue&type=template&id=7ddc70a7&scoped=true\"\nimport script from \"./ListItem.vue?vue&type=script&lang=js\"\nexport * from \"./ListItem.vue?vue&type=script&lang=js\"\nimport style0 from \"./ListItem.vue?vue&type=style&index=0&id=7ddc70a7&prod&scoped=true&lang=scss\"\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 \"7ddc70a7\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProgramsList.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProgramsList.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./ProgramsList.vue?vue&type=template&id=29f51386&scoped=true\"\nimport script from \"./ProgramsList.vue?vue&type=script&lang=js\"\nexport * from \"./ProgramsList.vue?vue&type=script&lang=js\"\nimport style0 from \"./ProgramsList.vue?vue&type=style&index=0&id=29f51386&prod&scoped=true&lang=css\"\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 \"29f51386\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('v-card',[_c('div',{staticClass:\"content\"},[_c('div',[_c('v-card-subtitle',[_vm._v(\" \"+_vm._s(_vm.$t('disease_control.no_created_variety_title_subtitle'))+\" \")]),_c('v-card-title',[_vm._v(\" \"+_vm._s(_vm.$t('disease_control.no_created_variety_title'))+\" \")]),_c('v-card-text',[_vm._v(\" \"+_vm._s(_vm.$t('disease_control.no_created_variety_text'))+\" \")]),_c('v-card-actions',[_c('v-btn',{staticClass:\"text-none button-register\",attrs:{\"outlined\":\"\",\"text\":\"\"},on:{\"click\":_vm.createVariety}},[_vm._v(\" \"+_vm._s(_vm.$t('disease_control.create_variety'))+\" \")])],1)],1),_c('div',[_c('v-img',{attrs:{\"alt\":\"hand-plant\",\"src\":\"/icons/ic-hand-plant.svg\",\"width\":\"170px\"}})],1)])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./WithoutVarieties.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./WithoutVarieties.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./WithoutVarieties.vue?vue&type=template&id=4db6abae&scoped=true\"\nimport script from \"./WithoutVarieties.vue?vue&type=script&lang=js\"\nexport * from \"./WithoutVarieties.vue?vue&type=script&lang=js\"\nimport style0 from \"./WithoutVarieties.vue?vue&type=style&index=0&id=4db6abae&prod&scoped=true&lang=css\"\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 \"4db6abae\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DiseaseHome.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DiseaseHome.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./DiseaseHome.vue?vue&type=template&id=01478da0&scoped=true\"\nimport script from \"./DiseaseHome.vue?vue&type=script&lang=js\"\nexport * from \"./DiseaseHome.vue?vue&type=script&lang=js\"\nimport style0 from \"./DiseaseHome.vue?vue&type=style&index=0&id=01478da0&prod&lang=scss&scoped=true\"\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 \"01478da0\",\n null\n \n)\n\nexport default component.exports","/*!\n * Chart.js v2.9.4\n * https://www.chartjs.org\n * (c) 2020 Chart.js Contributors\n * Released under the MIT License\n */\n(function (global, factory) {\ntypeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(function() { try { return require('moment'); } catch(e) { } }()) :\ntypeof define === 'function' && define.amd ? define(['require'], function(require) { return factory(function() { try { return require('moment'); } catch(e) { } }()); }) :\n(global = global || self, global.Chart = factory(global.moment));\n}(this, (function (moment) { 'use strict';\n\nmoment = moment && moment.hasOwnProperty('default') ? moment['default'] : moment;\n\nfunction createCommonjsModule(fn, module) {\n\treturn module = { exports: {} }, fn(module, module.exports), module.exports;\n}\n\nfunction getCjsExportFromNamespace (n) {\n\treturn n && n['default'] || n;\n}\n\nvar colorName = {\r\n\t\"aliceblue\": [240, 248, 255],\r\n\t\"antiquewhite\": [250, 235, 215],\r\n\t\"aqua\": [0, 255, 255],\r\n\t\"aquamarine\": [127, 255, 212],\r\n\t\"azure\": [240, 255, 255],\r\n\t\"beige\": [245, 245, 220],\r\n\t\"bisque\": [255, 228, 196],\r\n\t\"black\": [0, 0, 0],\r\n\t\"blanchedalmond\": [255, 235, 205],\r\n\t\"blue\": [0, 0, 255],\r\n\t\"blueviolet\": [138, 43, 226],\r\n\t\"brown\": [165, 42, 42],\r\n\t\"burlywood\": [222, 184, 135],\r\n\t\"cadetblue\": [95, 158, 160],\r\n\t\"chartreuse\": [127, 255, 0],\r\n\t\"chocolate\": [210, 105, 30],\r\n\t\"coral\": [255, 127, 80],\r\n\t\"cornflowerblue\": [100, 149, 237],\r\n\t\"cornsilk\": [255, 248, 220],\r\n\t\"crimson\": [220, 20, 60],\r\n\t\"cyan\": [0, 255, 255],\r\n\t\"darkblue\": [0, 0, 139],\r\n\t\"darkcyan\": [0, 139, 139],\r\n\t\"darkgoldenrod\": [184, 134, 11],\r\n\t\"darkgray\": [169, 169, 169],\r\n\t\"darkgreen\": [0, 100, 0],\r\n\t\"darkgrey\": [169, 169, 169],\r\n\t\"darkkhaki\": [189, 183, 107],\r\n\t\"darkmagenta\": [139, 0, 139],\r\n\t\"darkolivegreen\": [85, 107, 47],\r\n\t\"darkorange\": [255, 140, 0],\r\n\t\"darkorchid\": [153, 50, 204],\r\n\t\"darkred\": [139, 0, 0],\r\n\t\"darksalmon\": [233, 150, 122],\r\n\t\"darkseagreen\": [143, 188, 143],\r\n\t\"darkslateblue\": [72, 61, 139],\r\n\t\"darkslategray\": [47, 79, 79],\r\n\t\"darkslategrey\": [47, 79, 79],\r\n\t\"darkturquoise\": [0, 206, 209],\r\n\t\"darkviolet\": [148, 0, 211],\r\n\t\"deeppink\": [255, 20, 147],\r\n\t\"deepskyblue\": [0, 191, 255],\r\n\t\"dimgray\": [105, 105, 105],\r\n\t\"dimgrey\": [105, 105, 105],\r\n\t\"dodgerblue\": [30, 144, 255],\r\n\t\"firebrick\": [178, 34, 34],\r\n\t\"floralwhite\": [255, 250, 240],\r\n\t\"forestgreen\": [34, 139, 34],\r\n\t\"fuchsia\": [255, 0, 255],\r\n\t\"gainsboro\": [220, 220, 220],\r\n\t\"ghostwhite\": [248, 248, 255],\r\n\t\"gold\": [255, 215, 0],\r\n\t\"goldenrod\": [218, 165, 32],\r\n\t\"gray\": [128, 128, 128],\r\n\t\"green\": [0, 128, 0],\r\n\t\"greenyellow\": [173, 255, 47],\r\n\t\"grey\": [128, 128, 128],\r\n\t\"honeydew\": [240, 255, 240],\r\n\t\"hotpink\": [255, 105, 180],\r\n\t\"indianred\": [205, 92, 92],\r\n\t\"indigo\": [75, 0, 130],\r\n\t\"ivory\": [255, 255, 240],\r\n\t\"khaki\": [240, 230, 140],\r\n\t\"lavender\": [230, 230, 250],\r\n\t\"lavenderblush\": [255, 240, 245],\r\n\t\"lawngreen\": [124, 252, 0],\r\n\t\"lemonchiffon\": [255, 250, 205],\r\n\t\"lightblue\": [173, 216, 230],\r\n\t\"lightcoral\": [240, 128, 128],\r\n\t\"lightcyan\": [224, 255, 255],\r\n\t\"lightgoldenrodyellow\": [250, 250, 210],\r\n\t\"lightgray\": [211, 211, 211],\r\n\t\"lightgreen\": [144, 238, 144],\r\n\t\"lightgrey\": [211, 211, 211],\r\n\t\"lightpink\": [255, 182, 193],\r\n\t\"lightsalmon\": [255, 160, 122],\r\n\t\"lightseagreen\": [32, 178, 170],\r\n\t\"lightskyblue\": [135, 206, 250],\r\n\t\"lightslategray\": [119, 136, 153],\r\n\t\"lightslategrey\": [119, 136, 153],\r\n\t\"lightsteelblue\": [176, 196, 222],\r\n\t\"lightyellow\": [255, 255, 224],\r\n\t\"lime\": [0, 255, 0],\r\n\t\"limegreen\": [50, 205, 50],\r\n\t\"linen\": [250, 240, 230],\r\n\t\"magenta\": [255, 0, 255],\r\n\t\"maroon\": [128, 0, 0],\r\n\t\"mediumaquamarine\": [102, 205, 170],\r\n\t\"mediumblue\": [0, 0, 205],\r\n\t\"mediumorchid\": [186, 85, 211],\r\n\t\"mediumpurple\": [147, 112, 219],\r\n\t\"mediumseagreen\": [60, 179, 113],\r\n\t\"mediumslateblue\": [123, 104, 238],\r\n\t\"mediumspringgreen\": [0, 250, 154],\r\n\t\"mediumturquoise\": [72, 209, 204],\r\n\t\"mediumvioletred\": [199, 21, 133],\r\n\t\"midnightblue\": [25, 25, 112],\r\n\t\"mintcream\": [245, 255, 250],\r\n\t\"mistyrose\": [255, 228, 225],\r\n\t\"moccasin\": [255, 228, 181],\r\n\t\"navajowhite\": [255, 222, 173],\r\n\t\"navy\": [0, 0, 128],\r\n\t\"oldlace\": [253, 245, 230],\r\n\t\"olive\": [128, 128, 0],\r\n\t\"olivedrab\": [107, 142, 35],\r\n\t\"orange\": [255, 165, 0],\r\n\t\"orangered\": [255, 69, 0],\r\n\t\"orchid\": [218, 112, 214],\r\n\t\"palegoldenrod\": [238, 232, 170],\r\n\t\"palegreen\": [152, 251, 152],\r\n\t\"paleturquoise\": [175, 238, 238],\r\n\t\"palevioletred\": [219, 112, 147],\r\n\t\"papayawhip\": [255, 239, 213],\r\n\t\"peachpuff\": [255, 218, 185],\r\n\t\"peru\": [205, 133, 63],\r\n\t\"pink\": [255, 192, 203],\r\n\t\"plum\": [221, 160, 221],\r\n\t\"powderblue\": [176, 224, 230],\r\n\t\"purple\": [128, 0, 128],\r\n\t\"rebeccapurple\": [102, 51, 153],\r\n\t\"red\": [255, 0, 0],\r\n\t\"rosybrown\": [188, 143, 143],\r\n\t\"royalblue\": [65, 105, 225],\r\n\t\"saddlebrown\": [139, 69, 19],\r\n\t\"salmon\": [250, 128, 114],\r\n\t\"sandybrown\": [244, 164, 96],\r\n\t\"seagreen\": [46, 139, 87],\r\n\t\"seashell\": [255, 245, 238],\r\n\t\"sienna\": [160, 82, 45],\r\n\t\"silver\": [192, 192, 192],\r\n\t\"skyblue\": [135, 206, 235],\r\n\t\"slateblue\": [106, 90, 205],\r\n\t\"slategray\": [112, 128, 144],\r\n\t\"slategrey\": [112, 128, 144],\r\n\t\"snow\": [255, 250, 250],\r\n\t\"springgreen\": [0, 255, 127],\r\n\t\"steelblue\": [70, 130, 180],\r\n\t\"tan\": [210, 180, 140],\r\n\t\"teal\": [0, 128, 128],\r\n\t\"thistle\": [216, 191, 216],\r\n\t\"tomato\": [255, 99, 71],\r\n\t\"turquoise\": [64, 224, 208],\r\n\t\"violet\": [238, 130, 238],\r\n\t\"wheat\": [245, 222, 179],\r\n\t\"white\": [255, 255, 255],\r\n\t\"whitesmoke\": [245, 245, 245],\r\n\t\"yellow\": [255, 255, 0],\r\n\t\"yellowgreen\": [154, 205, 50]\r\n};\n\nvar conversions = createCommonjsModule(function (module) {\n/* MIT license */\n\n\n// NOTE: conversions should only return primitive values (i.e. arrays, or\n// values that give correct `typeof` results).\n// do not use box values types (i.e. Number(), String(), etc.)\n\nvar reverseKeywords = {};\nfor (var key in colorName) {\n\tif (colorName.hasOwnProperty(key)) {\n\t\treverseKeywords[colorName[key]] = key;\n\t}\n}\n\nvar convert = module.exports = {\n\trgb: {channels: 3, labels: 'rgb'},\n\thsl: {channels: 3, labels: 'hsl'},\n\thsv: {channels: 3, labels: 'hsv'},\n\thwb: {channels: 3, labels: 'hwb'},\n\tcmyk: {channels: 4, labels: 'cmyk'},\n\txyz: {channels: 3, labels: 'xyz'},\n\tlab: {channels: 3, labels: 'lab'},\n\tlch: {channels: 3, labels: 'lch'},\n\thex: {channels: 1, labels: ['hex']},\n\tkeyword: {channels: 1, labels: ['keyword']},\n\tansi16: {channels: 1, labels: ['ansi16']},\n\tansi256: {channels: 1, labels: ['ansi256']},\n\thcg: {channels: 3, labels: ['h', 'c', 'g']},\n\tapple: {channels: 3, labels: ['r16', 'g16', 'b16']},\n\tgray: {channels: 1, labels: ['gray']}\n};\n\n// hide .channels and .labels properties\nfor (var model in convert) {\n\tif (convert.hasOwnProperty(model)) {\n\t\tif (!('channels' in convert[model])) {\n\t\t\tthrow new Error('missing channels property: ' + model);\n\t\t}\n\n\t\tif (!('labels' in convert[model])) {\n\t\t\tthrow new Error('missing channel labels property: ' + model);\n\t\t}\n\n\t\tif (convert[model].labels.length !== convert[model].channels) {\n\t\t\tthrow new Error('channel and label counts mismatch: ' + model);\n\t\t}\n\n\t\tvar channels = convert[model].channels;\n\t\tvar labels = convert[model].labels;\n\t\tdelete convert[model].channels;\n\t\tdelete convert[model].labels;\n\t\tObject.defineProperty(convert[model], 'channels', {value: channels});\n\t\tObject.defineProperty(convert[model], 'labels', {value: labels});\n\t}\n}\n\nconvert.rgb.hsl = function (rgb) {\n\tvar r = rgb[0] / 255;\n\tvar g = rgb[1] / 255;\n\tvar b = rgb[2] / 255;\n\tvar min = Math.min(r, g, b);\n\tvar max = Math.max(r, g, b);\n\tvar delta = max - min;\n\tvar h;\n\tvar s;\n\tvar l;\n\n\tif (max === min) {\n\t\th = 0;\n\t} else if (r === max) {\n\t\th = (g - b) / delta;\n\t} else if (g === max) {\n\t\th = 2 + (b - r) / delta;\n\t} else if (b === max) {\n\t\th = 4 + (r - g) / delta;\n\t}\n\n\th = Math.min(h * 60, 360);\n\n\tif (h < 0) {\n\t\th += 360;\n\t}\n\n\tl = (min + max) / 2;\n\n\tif (max === min) {\n\t\ts = 0;\n\t} else if (l <= 0.5) {\n\t\ts = delta / (max + min);\n\t} else {\n\t\ts = delta / (2 - max - min);\n\t}\n\n\treturn [h, s * 100, l * 100];\n};\n\nconvert.rgb.hsv = function (rgb) {\n\tvar rdif;\n\tvar gdif;\n\tvar bdif;\n\tvar h;\n\tvar s;\n\n\tvar r = rgb[0] / 255;\n\tvar g = rgb[1] / 255;\n\tvar b = rgb[2] / 255;\n\tvar v = Math.max(r, g, b);\n\tvar diff = v - Math.min(r, g, b);\n\tvar diffc = function (c) {\n\t\treturn (v - c) / 6 / diff + 1 / 2;\n\t};\n\n\tif (diff === 0) {\n\t\th = s = 0;\n\t} else {\n\t\ts = diff / v;\n\t\trdif = diffc(r);\n\t\tgdif = diffc(g);\n\t\tbdif = diffc(b);\n\n\t\tif (r === v) {\n\t\t\th = bdif - gdif;\n\t\t} else if (g === v) {\n\t\t\th = (1 / 3) + rdif - bdif;\n\t\t} else if (b === v) {\n\t\t\th = (2 / 3) + gdif - rdif;\n\t\t}\n\t\tif (h < 0) {\n\t\t\th += 1;\n\t\t} else if (h > 1) {\n\t\t\th -= 1;\n\t\t}\n\t}\n\n\treturn [\n\t\th * 360,\n\t\ts * 100,\n\t\tv * 100\n\t];\n};\n\nconvert.rgb.hwb = function (rgb) {\n\tvar r = rgb[0];\n\tvar g = rgb[1];\n\tvar b = rgb[2];\n\tvar h = convert.rgb.hsl(rgb)[0];\n\tvar w = 1 / 255 * Math.min(r, Math.min(g, b));\n\n\tb = 1 - 1 / 255 * Math.max(r, Math.max(g, b));\n\n\treturn [h, w * 100, b * 100];\n};\n\nconvert.rgb.cmyk = function (rgb) {\n\tvar r = rgb[0] / 255;\n\tvar g = rgb[1] / 255;\n\tvar b = rgb[2] / 255;\n\tvar c;\n\tvar m;\n\tvar y;\n\tvar k;\n\n\tk = Math.min(1 - r, 1 - g, 1 - b);\n\tc = (1 - r - k) / (1 - k) || 0;\n\tm = (1 - g - k) / (1 - k) || 0;\n\ty = (1 - b - k) / (1 - k) || 0;\n\n\treturn [c * 100, m * 100, y * 100, k * 100];\n};\n\n/**\n * See https://en.m.wikipedia.org/wiki/Euclidean_distance#Squared_Euclidean_distance\n * */\nfunction comparativeDistance(x, y) {\n\treturn (\n\t\tMath.pow(x[0] - y[0], 2) +\n\t\tMath.pow(x[1] - y[1], 2) +\n\t\tMath.pow(x[2] - y[2], 2)\n\t);\n}\n\nconvert.rgb.keyword = function (rgb) {\n\tvar reversed = reverseKeywords[rgb];\n\tif (reversed) {\n\t\treturn reversed;\n\t}\n\n\tvar currentClosestDistance = Infinity;\n\tvar currentClosestKeyword;\n\n\tfor (var keyword in colorName) {\n\t\tif (colorName.hasOwnProperty(keyword)) {\n\t\t\tvar value = colorName[keyword];\n\n\t\t\t// Compute comparative distance\n\t\t\tvar distance = comparativeDistance(rgb, value);\n\n\t\t\t// Check if its less, if so set as closest\n\t\t\tif (distance < currentClosestDistance) {\n\t\t\t\tcurrentClosestDistance = distance;\n\t\t\t\tcurrentClosestKeyword = keyword;\n\t\t\t}\n\t\t}\n\t}\n\n\treturn currentClosestKeyword;\n};\n\nconvert.keyword.rgb = function (keyword) {\n\treturn colorName[keyword];\n};\n\nconvert.rgb.xyz = function (rgb) {\n\tvar r = rgb[0] / 255;\n\tvar g = rgb[1] / 255;\n\tvar b = rgb[2] / 255;\n\n\t// assume sRGB\n\tr = r > 0.04045 ? Math.pow(((r + 0.055) / 1.055), 2.4) : (r / 12.92);\n\tg = g > 0.04045 ? Math.pow(((g + 0.055) / 1.055), 2.4) : (g / 12.92);\n\tb = b > 0.04045 ? Math.pow(((b + 0.055) / 1.055), 2.4) : (b / 12.92);\n\n\tvar x = (r * 0.4124) + (g * 0.3576) + (b * 0.1805);\n\tvar y = (r * 0.2126) + (g * 0.7152) + (b * 0.0722);\n\tvar z = (r * 0.0193) + (g * 0.1192) + (b * 0.9505);\n\n\treturn [x * 100, y * 100, z * 100];\n};\n\nconvert.rgb.lab = function (rgb) {\n\tvar xyz = convert.rgb.xyz(rgb);\n\tvar x = xyz[0];\n\tvar y = xyz[1];\n\tvar z = xyz[2];\n\tvar l;\n\tvar a;\n\tvar b;\n\n\tx /= 95.047;\n\ty /= 100;\n\tz /= 108.883;\n\n\tx = x > 0.008856 ? Math.pow(x, 1 / 3) : (7.787 * x) + (16 / 116);\n\ty = y > 0.008856 ? Math.pow(y, 1 / 3) : (7.787 * y) + (16 / 116);\n\tz = z > 0.008856 ? Math.pow(z, 1 / 3) : (7.787 * z) + (16 / 116);\n\n\tl = (116 * y) - 16;\n\ta = 500 * (x - y);\n\tb = 200 * (y - z);\n\n\treturn [l, a, b];\n};\n\nconvert.hsl.rgb = function (hsl) {\n\tvar h = hsl[0] / 360;\n\tvar s = hsl[1] / 100;\n\tvar l = hsl[2] / 100;\n\tvar t1;\n\tvar t2;\n\tvar t3;\n\tvar rgb;\n\tvar val;\n\n\tif (s === 0) {\n\t\tval = l * 255;\n\t\treturn [val, val, val];\n\t}\n\n\tif (l < 0.5) {\n\t\tt2 = l * (1 + s);\n\t} else {\n\t\tt2 = l + s - l * s;\n\t}\n\n\tt1 = 2 * l - t2;\n\n\trgb = [0, 0, 0];\n\tfor (var i = 0; i < 3; i++) {\n\t\tt3 = h + 1 / 3 * -(i - 1);\n\t\tif (t3 < 0) {\n\t\t\tt3++;\n\t\t}\n\t\tif (t3 > 1) {\n\t\t\tt3--;\n\t\t}\n\n\t\tif (6 * t3 < 1) {\n\t\t\tval = t1 + (t2 - t1) * 6 * t3;\n\t\t} else if (2 * t3 < 1) {\n\t\t\tval = t2;\n\t\t} else if (3 * t3 < 2) {\n\t\t\tval = t1 + (t2 - t1) * (2 / 3 - t3) * 6;\n\t\t} else {\n\t\t\tval = t1;\n\t\t}\n\n\t\trgb[i] = val * 255;\n\t}\n\n\treturn rgb;\n};\n\nconvert.hsl.hsv = function (hsl) {\n\tvar h = hsl[0];\n\tvar s = hsl[1] / 100;\n\tvar l = hsl[2] / 100;\n\tvar smin = s;\n\tvar lmin = Math.max(l, 0.01);\n\tvar sv;\n\tvar v;\n\n\tl *= 2;\n\ts *= (l <= 1) ? l : 2 - l;\n\tsmin *= lmin <= 1 ? lmin : 2 - lmin;\n\tv = (l + s) / 2;\n\tsv = l === 0 ? (2 * smin) / (lmin + smin) : (2 * s) / (l + s);\n\n\treturn [h, sv * 100, v * 100];\n};\n\nconvert.hsv.rgb = function (hsv) {\n\tvar h = hsv[0] / 60;\n\tvar s = hsv[1] / 100;\n\tvar v = hsv[2] / 100;\n\tvar hi = Math.floor(h) % 6;\n\n\tvar f = h - Math.floor(h);\n\tvar p = 255 * v * (1 - s);\n\tvar q = 255 * v * (1 - (s * f));\n\tvar t = 255 * v * (1 - (s * (1 - f)));\n\tv *= 255;\n\n\tswitch (hi) {\n\t\tcase 0:\n\t\t\treturn [v, t, p];\n\t\tcase 1:\n\t\t\treturn [q, v, p];\n\t\tcase 2:\n\t\t\treturn [p, v, t];\n\t\tcase 3:\n\t\t\treturn [p, q, v];\n\t\tcase 4:\n\t\t\treturn [t, p, v];\n\t\tcase 5:\n\t\t\treturn [v, p, q];\n\t}\n};\n\nconvert.hsv.hsl = function (hsv) {\n\tvar h = hsv[0];\n\tvar s = hsv[1] / 100;\n\tvar v = hsv[2] / 100;\n\tvar vmin = Math.max(v, 0.01);\n\tvar lmin;\n\tvar sl;\n\tvar l;\n\n\tl = (2 - s) * v;\n\tlmin = (2 - s) * vmin;\n\tsl = s * vmin;\n\tsl /= (lmin <= 1) ? lmin : 2 - lmin;\n\tsl = sl || 0;\n\tl /= 2;\n\n\treturn [h, sl * 100, l * 100];\n};\n\n// http://dev.w3.org/csswg/css-color/#hwb-to-rgb\nconvert.hwb.rgb = function (hwb) {\n\tvar h = hwb[0] / 360;\n\tvar wh = hwb[1] / 100;\n\tvar bl = hwb[2] / 100;\n\tvar ratio = wh + bl;\n\tvar i;\n\tvar v;\n\tvar f;\n\tvar n;\n\n\t// wh + bl cant be > 1\n\tif (ratio > 1) {\n\t\twh /= ratio;\n\t\tbl /= ratio;\n\t}\n\n\ti = Math.floor(6 * h);\n\tv = 1 - bl;\n\tf = 6 * h - i;\n\n\tif ((i & 0x01) !== 0) {\n\t\tf = 1 - f;\n\t}\n\n\tn = wh + f * (v - wh); // linear interpolation\n\n\tvar r;\n\tvar g;\n\tvar b;\n\tswitch (i) {\n\t\tdefault:\n\t\tcase 6:\n\t\tcase 0: r = v; g = n; b = wh; break;\n\t\tcase 1: r = n; g = v; b = wh; break;\n\t\tcase 2: r = wh; g = v; b = n; break;\n\t\tcase 3: r = wh; g = n; b = v; break;\n\t\tcase 4: r = n; g = wh; b = v; break;\n\t\tcase 5: r = v; g = wh; b = n; break;\n\t}\n\n\treturn [r * 255, g * 255, b * 255];\n};\n\nconvert.cmyk.rgb = function (cmyk) {\n\tvar c = cmyk[0] / 100;\n\tvar m = cmyk[1] / 100;\n\tvar y = cmyk[2] / 100;\n\tvar k = cmyk[3] / 100;\n\tvar r;\n\tvar g;\n\tvar b;\n\n\tr = 1 - Math.min(1, c * (1 - k) + k);\n\tg = 1 - Math.min(1, m * (1 - k) + k);\n\tb = 1 - Math.min(1, y * (1 - k) + k);\n\n\treturn [r * 255, g * 255, b * 255];\n};\n\nconvert.xyz.rgb = function (xyz) {\n\tvar x = xyz[0] / 100;\n\tvar y = xyz[1] / 100;\n\tvar z = xyz[2] / 100;\n\tvar r;\n\tvar g;\n\tvar b;\n\n\tr = (x * 3.2406) + (y * -1.5372) + (z * -0.4986);\n\tg = (x * -0.9689) + (y * 1.8758) + (z * 0.0415);\n\tb = (x * 0.0557) + (y * -0.2040) + (z * 1.0570);\n\n\t// assume sRGB\n\tr = r > 0.0031308\n\t\t? ((1.055 * Math.pow(r, 1.0 / 2.4)) - 0.055)\n\t\t: r * 12.92;\n\n\tg = g > 0.0031308\n\t\t? ((1.055 * Math.pow(g, 1.0 / 2.4)) - 0.055)\n\t\t: g * 12.92;\n\n\tb = b > 0.0031308\n\t\t? ((1.055 * Math.pow(b, 1.0 / 2.4)) - 0.055)\n\t\t: b * 12.92;\n\n\tr = Math.min(Math.max(0, r), 1);\n\tg = Math.min(Math.max(0, g), 1);\n\tb = Math.min(Math.max(0, b), 1);\n\n\treturn [r * 255, g * 255, b * 255];\n};\n\nconvert.xyz.lab = function (xyz) {\n\tvar x = xyz[0];\n\tvar y = xyz[1];\n\tvar z = xyz[2];\n\tvar l;\n\tvar a;\n\tvar b;\n\n\tx /= 95.047;\n\ty /= 100;\n\tz /= 108.883;\n\n\tx = x > 0.008856 ? Math.pow(x, 1 / 3) : (7.787 * x) + (16 / 116);\n\ty = y > 0.008856 ? Math.pow(y, 1 / 3) : (7.787 * y) + (16 / 116);\n\tz = z > 0.008856 ? Math.pow(z, 1 / 3) : (7.787 * z) + (16 / 116);\n\n\tl = (116 * y) - 16;\n\ta = 500 * (x - y);\n\tb = 200 * (y - z);\n\n\treturn [l, a, b];\n};\n\nconvert.lab.xyz = function (lab) {\n\tvar l = lab[0];\n\tvar a = lab[1];\n\tvar b = lab[2];\n\tvar x;\n\tvar y;\n\tvar z;\n\n\ty = (l + 16) / 116;\n\tx = a / 500 + y;\n\tz = y - b / 200;\n\n\tvar y2 = Math.pow(y, 3);\n\tvar x2 = Math.pow(x, 3);\n\tvar z2 = Math.pow(z, 3);\n\ty = y2 > 0.008856 ? y2 : (y - 16 / 116) / 7.787;\n\tx = x2 > 0.008856 ? x2 : (x - 16 / 116) / 7.787;\n\tz = z2 > 0.008856 ? z2 : (z - 16 / 116) / 7.787;\n\n\tx *= 95.047;\n\ty *= 100;\n\tz *= 108.883;\n\n\treturn [x, y, z];\n};\n\nconvert.lab.lch = function (lab) {\n\tvar l = lab[0];\n\tvar a = lab[1];\n\tvar b = lab[2];\n\tvar hr;\n\tvar h;\n\tvar c;\n\n\thr = Math.atan2(b, a);\n\th = hr * 360 / 2 / Math.PI;\n\n\tif (h < 0) {\n\t\th += 360;\n\t}\n\n\tc = Math.sqrt(a * a + b * b);\n\n\treturn [l, c, h];\n};\n\nconvert.lch.lab = function (lch) {\n\tvar l = lch[0];\n\tvar c = lch[1];\n\tvar h = lch[2];\n\tvar a;\n\tvar b;\n\tvar hr;\n\n\thr = h / 360 * 2 * Math.PI;\n\ta = c * Math.cos(hr);\n\tb = c * Math.sin(hr);\n\n\treturn [l, a, b];\n};\n\nconvert.rgb.ansi16 = function (args) {\n\tvar r = args[0];\n\tvar g = args[1];\n\tvar b = args[2];\n\tvar value = 1 in arguments ? arguments[1] : convert.rgb.hsv(args)[2]; // hsv -> ansi16 optimization\n\n\tvalue = Math.round(value / 50);\n\n\tif (value === 0) {\n\t\treturn 30;\n\t}\n\n\tvar ansi = 30\n\t\t+ ((Math.round(b / 255) << 2)\n\t\t| (Math.round(g / 255) << 1)\n\t\t| Math.round(r / 255));\n\n\tif (value === 2) {\n\t\tansi += 60;\n\t}\n\n\treturn ansi;\n};\n\nconvert.hsv.ansi16 = function (args) {\n\t// optimization here; we already know the value and don't need to get\n\t// it converted for us.\n\treturn convert.rgb.ansi16(convert.hsv.rgb(args), args[2]);\n};\n\nconvert.rgb.ansi256 = function (args) {\n\tvar r = args[0];\n\tvar g = args[1];\n\tvar b = args[2];\n\n\t// we use the extended greyscale palette here, with the exception of\n\t// black and white. normal palette only has 4 greyscale shades.\n\tif (r === g && g === b) {\n\t\tif (r < 8) {\n\t\t\treturn 16;\n\t\t}\n\n\t\tif (r > 248) {\n\t\t\treturn 231;\n\t\t}\n\n\t\treturn Math.round(((r - 8) / 247) * 24) + 232;\n\t}\n\n\tvar ansi = 16\n\t\t+ (36 * Math.round(r / 255 * 5))\n\t\t+ (6 * Math.round(g / 255 * 5))\n\t\t+ Math.round(b / 255 * 5);\n\n\treturn ansi;\n};\n\nconvert.ansi16.rgb = function (args) {\n\tvar color = args % 10;\n\n\t// handle greyscale\n\tif (color === 0 || color === 7) {\n\t\tif (args > 50) {\n\t\t\tcolor += 3.5;\n\t\t}\n\n\t\tcolor = color / 10.5 * 255;\n\n\t\treturn [color, color, color];\n\t}\n\n\tvar mult = (~~(args > 50) + 1) * 0.5;\n\tvar r = ((color & 1) * mult) * 255;\n\tvar g = (((color >> 1) & 1) * mult) * 255;\n\tvar b = (((color >> 2) & 1) * mult) * 255;\n\n\treturn [r, g, b];\n};\n\nconvert.ansi256.rgb = function (args) {\n\t// handle greyscale\n\tif (args >= 232) {\n\t\tvar c = (args - 232) * 10 + 8;\n\t\treturn [c, c, c];\n\t}\n\n\targs -= 16;\n\n\tvar rem;\n\tvar r = Math.floor(args / 36) / 5 * 255;\n\tvar g = Math.floor((rem = args % 36) / 6) / 5 * 255;\n\tvar b = (rem % 6) / 5 * 255;\n\n\treturn [r, g, b];\n};\n\nconvert.rgb.hex = function (args) {\n\tvar integer = ((Math.round(args[0]) & 0xFF) << 16)\n\t\t+ ((Math.round(args[1]) & 0xFF) << 8)\n\t\t+ (Math.round(args[2]) & 0xFF);\n\n\tvar string = integer.toString(16).toUpperCase();\n\treturn '000000'.substring(string.length) + string;\n};\n\nconvert.hex.rgb = function (args) {\n\tvar match = args.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i);\n\tif (!match) {\n\t\treturn [0, 0, 0];\n\t}\n\n\tvar colorString = match[0];\n\n\tif (match[0].length === 3) {\n\t\tcolorString = colorString.split('').map(function (char) {\n\t\t\treturn char + char;\n\t\t}).join('');\n\t}\n\n\tvar integer = parseInt(colorString, 16);\n\tvar r = (integer >> 16) & 0xFF;\n\tvar g = (integer >> 8) & 0xFF;\n\tvar b = integer & 0xFF;\n\n\treturn [r, g, b];\n};\n\nconvert.rgb.hcg = function (rgb) {\n\tvar r = rgb[0] / 255;\n\tvar g = rgb[1] / 255;\n\tvar b = rgb[2] / 255;\n\tvar max = Math.max(Math.max(r, g), b);\n\tvar min = Math.min(Math.min(r, g), b);\n\tvar chroma = (max - min);\n\tvar grayscale;\n\tvar hue;\n\n\tif (chroma < 1) {\n\t\tgrayscale = min / (1 - chroma);\n\t} else {\n\t\tgrayscale = 0;\n\t}\n\n\tif (chroma <= 0) {\n\t\thue = 0;\n\t} else\n\tif (max === r) {\n\t\thue = ((g - b) / chroma) % 6;\n\t} else\n\tif (max === g) {\n\t\thue = 2 + (b - r) / chroma;\n\t} else {\n\t\thue = 4 + (r - g) / chroma + 4;\n\t}\n\n\thue /= 6;\n\thue %= 1;\n\n\treturn [hue * 360, chroma * 100, grayscale * 100];\n};\n\nconvert.hsl.hcg = function (hsl) {\n\tvar s = hsl[1] / 100;\n\tvar l = hsl[2] / 100;\n\tvar c = 1;\n\tvar f = 0;\n\n\tif (l < 0.5) {\n\t\tc = 2.0 * s * l;\n\t} else {\n\t\tc = 2.0 * s * (1.0 - l);\n\t}\n\n\tif (c < 1.0) {\n\t\tf = (l - 0.5 * c) / (1.0 - c);\n\t}\n\n\treturn [hsl[0], c * 100, f * 100];\n};\n\nconvert.hsv.hcg = function (hsv) {\n\tvar s = hsv[1] / 100;\n\tvar v = hsv[2] / 100;\n\n\tvar c = s * v;\n\tvar f = 0;\n\n\tif (c < 1.0) {\n\t\tf = (v - c) / (1 - c);\n\t}\n\n\treturn [hsv[0], c * 100, f * 100];\n};\n\nconvert.hcg.rgb = function (hcg) {\n\tvar h = hcg[0] / 360;\n\tvar c = hcg[1] / 100;\n\tvar g = hcg[2] / 100;\n\n\tif (c === 0.0) {\n\t\treturn [g * 255, g * 255, g * 255];\n\t}\n\n\tvar pure = [0, 0, 0];\n\tvar hi = (h % 1) * 6;\n\tvar v = hi % 1;\n\tvar w = 1 - v;\n\tvar mg = 0;\n\n\tswitch (Math.floor(hi)) {\n\t\tcase 0:\n\t\t\tpure[0] = 1; pure[1] = v; pure[2] = 0; break;\n\t\tcase 1:\n\t\t\tpure[0] = w; pure[1] = 1; pure[2] = 0; break;\n\t\tcase 2:\n\t\t\tpure[0] = 0; pure[1] = 1; pure[2] = v; break;\n\t\tcase 3:\n\t\t\tpure[0] = 0; pure[1] = w; pure[2] = 1; break;\n\t\tcase 4:\n\t\t\tpure[0] = v; pure[1] = 0; pure[2] = 1; break;\n\t\tdefault:\n\t\t\tpure[0] = 1; pure[1] = 0; pure[2] = w;\n\t}\n\n\tmg = (1.0 - c) * g;\n\n\treturn [\n\t\t(c * pure[0] + mg) * 255,\n\t\t(c * pure[1] + mg) * 255,\n\t\t(c * pure[2] + mg) * 255\n\t];\n};\n\nconvert.hcg.hsv = function (hcg) {\n\tvar c = hcg[1] / 100;\n\tvar g = hcg[2] / 100;\n\n\tvar v = c + g * (1.0 - c);\n\tvar f = 0;\n\n\tif (v > 0.0) {\n\t\tf = c / v;\n\t}\n\n\treturn [hcg[0], f * 100, v * 100];\n};\n\nconvert.hcg.hsl = function (hcg) {\n\tvar c = hcg[1] / 100;\n\tvar g = hcg[2] / 100;\n\n\tvar l = g * (1.0 - c) + 0.5 * c;\n\tvar s = 0;\n\n\tif (l > 0.0 && l < 0.5) {\n\t\ts = c / (2 * l);\n\t} else\n\tif (l >= 0.5 && l < 1.0) {\n\t\ts = c / (2 * (1 - l));\n\t}\n\n\treturn [hcg[0], s * 100, l * 100];\n};\n\nconvert.hcg.hwb = function (hcg) {\n\tvar c = hcg[1] / 100;\n\tvar g = hcg[2] / 100;\n\tvar v = c + g * (1.0 - c);\n\treturn [hcg[0], (v - c) * 100, (1 - v) * 100];\n};\n\nconvert.hwb.hcg = function (hwb) {\n\tvar w = hwb[1] / 100;\n\tvar b = hwb[2] / 100;\n\tvar v = 1 - b;\n\tvar c = v - w;\n\tvar g = 0;\n\n\tif (c < 1) {\n\t\tg = (v - c) / (1 - c);\n\t}\n\n\treturn [hwb[0], c * 100, g * 100];\n};\n\nconvert.apple.rgb = function (apple) {\n\treturn [(apple[0] / 65535) * 255, (apple[1] / 65535) * 255, (apple[2] / 65535) * 255];\n};\n\nconvert.rgb.apple = function (rgb) {\n\treturn [(rgb[0] / 255) * 65535, (rgb[1] / 255) * 65535, (rgb[2] / 255) * 65535];\n};\n\nconvert.gray.rgb = function (args) {\n\treturn [args[0] / 100 * 255, args[0] / 100 * 255, args[0] / 100 * 255];\n};\n\nconvert.gray.hsl = convert.gray.hsv = function (args) {\n\treturn [0, 0, args[0]];\n};\n\nconvert.gray.hwb = function (gray) {\n\treturn [0, 100, gray[0]];\n};\n\nconvert.gray.cmyk = function (gray) {\n\treturn [0, 0, 0, gray[0]];\n};\n\nconvert.gray.lab = function (gray) {\n\treturn [gray[0], 0, 0];\n};\n\nconvert.gray.hex = function (gray) {\n\tvar val = Math.round(gray[0] / 100 * 255) & 0xFF;\n\tvar integer = (val << 16) + (val << 8) + val;\n\n\tvar string = integer.toString(16).toUpperCase();\n\treturn '000000'.substring(string.length) + string;\n};\n\nconvert.rgb.gray = function (rgb) {\n\tvar val = (rgb[0] + rgb[1] + rgb[2]) / 3;\n\treturn [val / 255 * 100];\n};\n});\nvar conversions_1 = conversions.rgb;\nvar conversions_2 = conversions.hsl;\nvar conversions_3 = conversions.hsv;\nvar conversions_4 = conversions.hwb;\nvar conversions_5 = conversions.cmyk;\nvar conversions_6 = conversions.xyz;\nvar conversions_7 = conversions.lab;\nvar conversions_8 = conversions.lch;\nvar conversions_9 = conversions.hex;\nvar conversions_10 = conversions.keyword;\nvar conversions_11 = conversions.ansi16;\nvar conversions_12 = conversions.ansi256;\nvar conversions_13 = conversions.hcg;\nvar conversions_14 = conversions.apple;\nvar conversions_15 = conversions.gray;\n\n/*\n\tthis function routes a model to all other models.\n\n\tall functions that are routed have a property `.conversion` attached\n\tto the returned synthetic function. This property is an array\n\tof strings, each with the steps in between the 'from' and 'to'\n\tcolor models (inclusive).\n\n\tconversions that are not possible simply are not included.\n*/\n\nfunction buildGraph() {\n\tvar graph = {};\n\t// https://jsperf.com/object-keys-vs-for-in-with-closure/3\n\tvar models = Object.keys(conversions);\n\n\tfor (var len = models.length, i = 0; i < len; i++) {\n\t\tgraph[models[i]] = {\n\t\t\t// http://jsperf.com/1-vs-infinity\n\t\t\t// micro-opt, but this is simple.\n\t\t\tdistance: -1,\n\t\t\tparent: null\n\t\t};\n\t}\n\n\treturn graph;\n}\n\n// https://en.wikipedia.org/wiki/Breadth-first_search\nfunction deriveBFS(fromModel) {\n\tvar graph = buildGraph();\n\tvar queue = [fromModel]; // unshift -> queue -> pop\n\n\tgraph[fromModel].distance = 0;\n\n\twhile (queue.length) {\n\t\tvar current = queue.pop();\n\t\tvar adjacents = Object.keys(conversions[current]);\n\n\t\tfor (var len = adjacents.length, i = 0; i < len; i++) {\n\t\t\tvar adjacent = adjacents[i];\n\t\t\tvar node = graph[adjacent];\n\n\t\t\tif (node.distance === -1) {\n\t\t\t\tnode.distance = graph[current].distance + 1;\n\t\t\t\tnode.parent = current;\n\t\t\t\tqueue.unshift(adjacent);\n\t\t\t}\n\t\t}\n\t}\n\n\treturn graph;\n}\n\nfunction link(from, to) {\n\treturn function (args) {\n\t\treturn to(from(args));\n\t};\n}\n\nfunction wrapConversion(toModel, graph) {\n\tvar path = [graph[toModel].parent, toModel];\n\tvar fn = conversions[graph[toModel].parent][toModel];\n\n\tvar cur = graph[toModel].parent;\n\twhile (graph[cur].parent) {\n\t\tpath.unshift(graph[cur].parent);\n\t\tfn = link(conversions[graph[cur].parent][cur], fn);\n\t\tcur = graph[cur].parent;\n\t}\n\n\tfn.conversion = path;\n\treturn fn;\n}\n\nvar route = function (fromModel) {\n\tvar graph = deriveBFS(fromModel);\n\tvar conversion = {};\n\n\tvar models = Object.keys(graph);\n\tfor (var len = models.length, i = 0; i < len; i++) {\n\t\tvar toModel = models[i];\n\t\tvar node = graph[toModel];\n\n\t\tif (node.parent === null) {\n\t\t\t// no possible conversion, or this node is the source model.\n\t\t\tcontinue;\n\t\t}\n\n\t\tconversion[toModel] = wrapConversion(toModel, graph);\n\t}\n\n\treturn conversion;\n};\n\nvar convert = {};\n\nvar models = Object.keys(conversions);\n\nfunction wrapRaw(fn) {\n\tvar wrappedFn = function (args) {\n\t\tif (args === undefined || args === null) {\n\t\t\treturn args;\n\t\t}\n\n\t\tif (arguments.length > 1) {\n\t\t\targs = Array.prototype.slice.call(arguments);\n\t\t}\n\n\t\treturn fn(args);\n\t};\n\n\t// preserve .conversion property if there is one\n\tif ('conversion' in fn) {\n\t\twrappedFn.conversion = fn.conversion;\n\t}\n\n\treturn wrappedFn;\n}\n\nfunction wrapRounded(fn) {\n\tvar wrappedFn = function (args) {\n\t\tif (args === undefined || args === null) {\n\t\t\treturn args;\n\t\t}\n\n\t\tif (arguments.length > 1) {\n\t\t\targs = Array.prototype.slice.call(arguments);\n\t\t}\n\n\t\tvar result = fn(args);\n\n\t\t// we're assuming the result is an array here.\n\t\t// see notice in conversions.js; don't use box types\n\t\t// in conversion functions.\n\t\tif (typeof result === 'object') {\n\t\t\tfor (var len = result.length, i = 0; i < len; i++) {\n\t\t\t\tresult[i] = Math.round(result[i]);\n\t\t\t}\n\t\t}\n\n\t\treturn result;\n\t};\n\n\t// preserve .conversion property if there is one\n\tif ('conversion' in fn) {\n\t\twrappedFn.conversion = fn.conversion;\n\t}\n\n\treturn wrappedFn;\n}\n\nmodels.forEach(function (fromModel) {\n\tconvert[fromModel] = {};\n\n\tObject.defineProperty(convert[fromModel], 'channels', {value: conversions[fromModel].channels});\n\tObject.defineProperty(convert[fromModel], 'labels', {value: conversions[fromModel].labels});\n\n\tvar routes = route(fromModel);\n\tvar routeModels = Object.keys(routes);\n\n\trouteModels.forEach(function (toModel) {\n\t\tvar fn = routes[toModel];\n\n\t\tconvert[fromModel][toModel] = wrapRounded(fn);\n\t\tconvert[fromModel][toModel].raw = wrapRaw(fn);\n\t});\n});\n\nvar colorConvert = convert;\n\nvar colorName$1 = {\r\n\t\"aliceblue\": [240, 248, 255],\r\n\t\"antiquewhite\": [250, 235, 215],\r\n\t\"aqua\": [0, 255, 255],\r\n\t\"aquamarine\": [127, 255, 212],\r\n\t\"azure\": [240, 255, 255],\r\n\t\"beige\": [245, 245, 220],\r\n\t\"bisque\": [255, 228, 196],\r\n\t\"black\": [0, 0, 0],\r\n\t\"blanchedalmond\": [255, 235, 205],\r\n\t\"blue\": [0, 0, 255],\r\n\t\"blueviolet\": [138, 43, 226],\r\n\t\"brown\": [165, 42, 42],\r\n\t\"burlywood\": [222, 184, 135],\r\n\t\"cadetblue\": [95, 158, 160],\r\n\t\"chartreuse\": [127, 255, 0],\r\n\t\"chocolate\": [210, 105, 30],\r\n\t\"coral\": [255, 127, 80],\r\n\t\"cornflowerblue\": [100, 149, 237],\r\n\t\"cornsilk\": [255, 248, 220],\r\n\t\"crimson\": [220, 20, 60],\r\n\t\"cyan\": [0, 255, 255],\r\n\t\"darkblue\": [0, 0, 139],\r\n\t\"darkcyan\": [0, 139, 139],\r\n\t\"darkgoldenrod\": [184, 134, 11],\r\n\t\"darkgray\": [169, 169, 169],\r\n\t\"darkgreen\": [0, 100, 0],\r\n\t\"darkgrey\": [169, 169, 169],\r\n\t\"darkkhaki\": [189, 183, 107],\r\n\t\"darkmagenta\": [139, 0, 139],\r\n\t\"darkolivegreen\": [85, 107, 47],\r\n\t\"darkorange\": [255, 140, 0],\r\n\t\"darkorchid\": [153, 50, 204],\r\n\t\"darkred\": [139, 0, 0],\r\n\t\"darksalmon\": [233, 150, 122],\r\n\t\"darkseagreen\": [143, 188, 143],\r\n\t\"darkslateblue\": [72, 61, 139],\r\n\t\"darkslategray\": [47, 79, 79],\r\n\t\"darkslategrey\": [47, 79, 79],\r\n\t\"darkturquoise\": [0, 206, 209],\r\n\t\"darkviolet\": [148, 0, 211],\r\n\t\"deeppink\": [255, 20, 147],\r\n\t\"deepskyblue\": [0, 191, 255],\r\n\t\"dimgray\": [105, 105, 105],\r\n\t\"dimgrey\": [105, 105, 105],\r\n\t\"dodgerblue\": [30, 144, 255],\r\n\t\"firebrick\": [178, 34, 34],\r\n\t\"floralwhite\": [255, 250, 240],\r\n\t\"forestgreen\": [34, 139, 34],\r\n\t\"fuchsia\": [255, 0, 255],\r\n\t\"gainsboro\": [220, 220, 220],\r\n\t\"ghostwhite\": [248, 248, 255],\r\n\t\"gold\": [255, 215, 0],\r\n\t\"goldenrod\": [218, 165, 32],\r\n\t\"gray\": [128, 128, 128],\r\n\t\"green\": [0, 128, 0],\r\n\t\"greenyellow\": [173, 255, 47],\r\n\t\"grey\": [128, 128, 128],\r\n\t\"honeydew\": [240, 255, 240],\r\n\t\"hotpink\": [255, 105, 180],\r\n\t\"indianred\": [205, 92, 92],\r\n\t\"indigo\": [75, 0, 130],\r\n\t\"ivory\": [255, 255, 240],\r\n\t\"khaki\": [240, 230, 140],\r\n\t\"lavender\": [230, 230, 250],\r\n\t\"lavenderblush\": [255, 240, 245],\r\n\t\"lawngreen\": [124, 252, 0],\r\n\t\"lemonchiffon\": [255, 250, 205],\r\n\t\"lightblue\": [173, 216, 230],\r\n\t\"lightcoral\": [240, 128, 128],\r\n\t\"lightcyan\": [224, 255, 255],\r\n\t\"lightgoldenrodyellow\": [250, 250, 210],\r\n\t\"lightgray\": [211, 211, 211],\r\n\t\"lightgreen\": [144, 238, 144],\r\n\t\"lightgrey\": [211, 211, 211],\r\n\t\"lightpink\": [255, 182, 193],\r\n\t\"lightsalmon\": [255, 160, 122],\r\n\t\"lightseagreen\": [32, 178, 170],\r\n\t\"lightskyblue\": [135, 206, 250],\r\n\t\"lightslategray\": [119, 136, 153],\r\n\t\"lightslategrey\": [119, 136, 153],\r\n\t\"lightsteelblue\": [176, 196, 222],\r\n\t\"lightyellow\": [255, 255, 224],\r\n\t\"lime\": [0, 255, 0],\r\n\t\"limegreen\": [50, 205, 50],\r\n\t\"linen\": [250, 240, 230],\r\n\t\"magenta\": [255, 0, 255],\r\n\t\"maroon\": [128, 0, 0],\r\n\t\"mediumaquamarine\": [102, 205, 170],\r\n\t\"mediumblue\": [0, 0, 205],\r\n\t\"mediumorchid\": [186, 85, 211],\r\n\t\"mediumpurple\": [147, 112, 219],\r\n\t\"mediumseagreen\": [60, 179, 113],\r\n\t\"mediumslateblue\": [123, 104, 238],\r\n\t\"mediumspringgreen\": [0, 250, 154],\r\n\t\"mediumturquoise\": [72, 209, 204],\r\n\t\"mediumvioletred\": [199, 21, 133],\r\n\t\"midnightblue\": [25, 25, 112],\r\n\t\"mintcream\": [245, 255, 250],\r\n\t\"mistyrose\": [255, 228, 225],\r\n\t\"moccasin\": [255, 228, 181],\r\n\t\"navajowhite\": [255, 222, 173],\r\n\t\"navy\": [0, 0, 128],\r\n\t\"oldlace\": [253, 245, 230],\r\n\t\"olive\": [128, 128, 0],\r\n\t\"olivedrab\": [107, 142, 35],\r\n\t\"orange\": [255, 165, 0],\r\n\t\"orangered\": [255, 69, 0],\r\n\t\"orchid\": [218, 112, 214],\r\n\t\"palegoldenrod\": [238, 232, 170],\r\n\t\"palegreen\": [152, 251, 152],\r\n\t\"paleturquoise\": [175, 238, 238],\r\n\t\"palevioletred\": [219, 112, 147],\r\n\t\"papayawhip\": [255, 239, 213],\r\n\t\"peachpuff\": [255, 218, 185],\r\n\t\"peru\": [205, 133, 63],\r\n\t\"pink\": [255, 192, 203],\r\n\t\"plum\": [221, 160, 221],\r\n\t\"powderblue\": [176, 224, 230],\r\n\t\"purple\": [128, 0, 128],\r\n\t\"rebeccapurple\": [102, 51, 153],\r\n\t\"red\": [255, 0, 0],\r\n\t\"rosybrown\": [188, 143, 143],\r\n\t\"royalblue\": [65, 105, 225],\r\n\t\"saddlebrown\": [139, 69, 19],\r\n\t\"salmon\": [250, 128, 114],\r\n\t\"sandybrown\": [244, 164, 96],\r\n\t\"seagreen\": [46, 139, 87],\r\n\t\"seashell\": [255, 245, 238],\r\n\t\"sienna\": [160, 82, 45],\r\n\t\"silver\": [192, 192, 192],\r\n\t\"skyblue\": [135, 206, 235],\r\n\t\"slateblue\": [106, 90, 205],\r\n\t\"slategray\": [112, 128, 144],\r\n\t\"slategrey\": [112, 128, 144],\r\n\t\"snow\": [255, 250, 250],\r\n\t\"springgreen\": [0, 255, 127],\r\n\t\"steelblue\": [70, 130, 180],\r\n\t\"tan\": [210, 180, 140],\r\n\t\"teal\": [0, 128, 128],\r\n\t\"thistle\": [216, 191, 216],\r\n\t\"tomato\": [255, 99, 71],\r\n\t\"turquoise\": [64, 224, 208],\r\n\t\"violet\": [238, 130, 238],\r\n\t\"wheat\": [245, 222, 179],\r\n\t\"white\": [255, 255, 255],\r\n\t\"whitesmoke\": [245, 245, 245],\r\n\t\"yellow\": [255, 255, 0],\r\n\t\"yellowgreen\": [154, 205, 50]\r\n};\n\n/* MIT license */\n\n\nvar colorString = {\n getRgba: getRgba,\n getHsla: getHsla,\n getRgb: getRgb,\n getHsl: getHsl,\n getHwb: getHwb,\n getAlpha: getAlpha,\n\n hexString: hexString,\n rgbString: rgbString,\n rgbaString: rgbaString,\n percentString: percentString,\n percentaString: percentaString,\n hslString: hslString,\n hslaString: hslaString,\n hwbString: hwbString,\n keyword: keyword\n};\n\nfunction getRgba(string) {\n if (!string) {\n return;\n }\n var abbr = /^#([a-fA-F0-9]{3,4})$/i,\n hex = /^#([a-fA-F0-9]{6}([a-fA-F0-9]{2})?)$/i,\n rgba = /^rgba?\\(\\s*([+-]?\\d+)\\s*,\\s*([+-]?\\d+)\\s*,\\s*([+-]?\\d+)\\s*(?:,\\s*([+-]?[\\d\\.]+)\\s*)?\\)$/i,\n per = /^rgba?\\(\\s*([+-]?[\\d\\.]+)\\%\\s*,\\s*([+-]?[\\d\\.]+)\\%\\s*,\\s*([+-]?[\\d\\.]+)\\%\\s*(?:,\\s*([+-]?[\\d\\.]+)\\s*)?\\)$/i,\n keyword = /(\\w+)/;\n\n var rgb = [0, 0, 0],\n a = 1,\n match = string.match(abbr),\n hexAlpha = \"\";\n if (match) {\n match = match[1];\n hexAlpha = match[3];\n for (var i = 0; i < rgb.length; i++) {\n rgb[i] = parseInt(match[i] + match[i], 16);\n }\n if (hexAlpha) {\n a = Math.round((parseInt(hexAlpha + hexAlpha, 16) / 255) * 100) / 100;\n }\n }\n else if (match = string.match(hex)) {\n hexAlpha = match[2];\n match = match[1];\n for (var i = 0; i < rgb.length; i++) {\n rgb[i] = parseInt(match.slice(i * 2, i * 2 + 2), 16);\n }\n if (hexAlpha) {\n a = Math.round((parseInt(hexAlpha, 16) / 255) * 100) / 100;\n }\n }\n else if (match = string.match(rgba)) {\n for (var i = 0; i < rgb.length; i++) {\n rgb[i] = parseInt(match[i + 1]);\n }\n a = parseFloat(match[4]);\n }\n else if (match = string.match(per)) {\n for (var i = 0; i < rgb.length; i++) {\n rgb[i] = Math.round(parseFloat(match[i + 1]) * 2.55);\n }\n a = parseFloat(match[4]);\n }\n else if (match = string.match(keyword)) {\n if (match[1] == \"transparent\") {\n return [0, 0, 0, 0];\n }\n rgb = colorName$1[match[1]];\n if (!rgb) {\n return;\n }\n }\n\n for (var i = 0; i < rgb.length; i++) {\n rgb[i] = scale(rgb[i], 0, 255);\n }\n if (!a && a != 0) {\n a = 1;\n }\n else {\n a = scale(a, 0, 1);\n }\n rgb[3] = a;\n return rgb;\n}\n\nfunction getHsla(string) {\n if (!string) {\n return;\n }\n var hsl = /^hsla?\\(\\s*([+-]?\\d+)(?:deg)?\\s*,\\s*([+-]?[\\d\\.]+)%\\s*,\\s*([+-]?[\\d\\.]+)%\\s*(?:,\\s*([+-]?[\\d\\.]+)\\s*)?\\)/;\n var match = string.match(hsl);\n if (match) {\n var alpha = parseFloat(match[4]);\n var h = scale(parseInt(match[1]), 0, 360),\n s = scale(parseFloat(match[2]), 0, 100),\n l = scale(parseFloat(match[3]), 0, 100),\n a = scale(isNaN(alpha) ? 1 : alpha, 0, 1);\n return [h, s, l, a];\n }\n}\n\nfunction getHwb(string) {\n if (!string) {\n return;\n }\n var hwb = /^hwb\\(\\s*([+-]?\\d+)(?:deg)?\\s*,\\s*([+-]?[\\d\\.]+)%\\s*,\\s*([+-]?[\\d\\.]+)%\\s*(?:,\\s*([+-]?[\\d\\.]+)\\s*)?\\)/;\n var match = string.match(hwb);\n if (match) {\n var alpha = parseFloat(match[4]);\n var h = scale(parseInt(match[1]), 0, 360),\n w = scale(parseFloat(match[2]), 0, 100),\n b = scale(parseFloat(match[3]), 0, 100),\n a = scale(isNaN(alpha) ? 1 : alpha, 0, 1);\n return [h, w, b, a];\n }\n}\n\nfunction getRgb(string) {\n var rgba = getRgba(string);\n return rgba && rgba.slice(0, 3);\n}\n\nfunction getHsl(string) {\n var hsla = getHsla(string);\n return hsla && hsla.slice(0, 3);\n}\n\nfunction getAlpha(string) {\n var vals = getRgba(string);\n if (vals) {\n return vals[3];\n }\n else if (vals = getHsla(string)) {\n return vals[3];\n }\n else if (vals = getHwb(string)) {\n return vals[3];\n }\n}\n\n// generators\nfunction hexString(rgba, a) {\n var a = (a !== undefined && rgba.length === 3) ? a : rgba[3];\n return \"#\" + hexDouble(rgba[0]) \n + hexDouble(rgba[1])\n + hexDouble(rgba[2])\n + (\n (a >= 0 && a < 1)\n ? hexDouble(Math.round(a * 255))\n : \"\"\n );\n}\n\nfunction rgbString(rgba, alpha) {\n if (alpha < 1 || (rgba[3] && rgba[3] < 1)) {\n return rgbaString(rgba, alpha);\n }\n return \"rgb(\" + rgba[0] + \", \" + rgba[1] + \", \" + rgba[2] + \")\";\n}\n\nfunction rgbaString(rgba, alpha) {\n if (alpha === undefined) {\n alpha = (rgba[3] !== undefined ? rgba[3] : 1);\n }\n return \"rgba(\" + rgba[0] + \", \" + rgba[1] + \", \" + rgba[2]\n + \", \" + alpha + \")\";\n}\n\nfunction percentString(rgba, alpha) {\n if (alpha < 1 || (rgba[3] && rgba[3] < 1)) {\n return percentaString(rgba, alpha);\n }\n var r = Math.round(rgba[0]/255 * 100),\n g = Math.round(rgba[1]/255 * 100),\n b = Math.round(rgba[2]/255 * 100);\n\n return \"rgb(\" + r + \"%, \" + g + \"%, \" + b + \"%)\";\n}\n\nfunction percentaString(rgba, alpha) {\n var r = Math.round(rgba[0]/255 * 100),\n g = Math.round(rgba[1]/255 * 100),\n b = Math.round(rgba[2]/255 * 100);\n return \"rgba(\" + r + \"%, \" + g + \"%, \" + b + \"%, \" + (alpha || rgba[3] || 1) + \")\";\n}\n\nfunction hslString(hsla, alpha) {\n if (alpha < 1 || (hsla[3] && hsla[3] < 1)) {\n return hslaString(hsla, alpha);\n }\n return \"hsl(\" + hsla[0] + \", \" + hsla[1] + \"%, \" + hsla[2] + \"%)\";\n}\n\nfunction hslaString(hsla, alpha) {\n if (alpha === undefined) {\n alpha = (hsla[3] !== undefined ? hsla[3] : 1);\n }\n return \"hsla(\" + hsla[0] + \", \" + hsla[1] + \"%, \" + hsla[2] + \"%, \"\n + alpha + \")\";\n}\n\n// hwb is a bit different than rgb(a) & hsl(a) since there is no alpha specific syntax\n// (hwb have alpha optional & 1 is default value)\nfunction hwbString(hwb, alpha) {\n if (alpha === undefined) {\n alpha = (hwb[3] !== undefined ? hwb[3] : 1);\n }\n return \"hwb(\" + hwb[0] + \", \" + hwb[1] + \"%, \" + hwb[2] + \"%\"\n + (alpha !== undefined && alpha !== 1 ? \", \" + alpha : \"\") + \")\";\n}\n\nfunction keyword(rgb) {\n return reverseNames[rgb.slice(0, 3)];\n}\n\n// helpers\nfunction scale(num, min, max) {\n return Math.min(Math.max(min, num), max);\n}\n\nfunction hexDouble(num) {\n var str = num.toString(16).toUpperCase();\n return (str.length < 2) ? \"0\" + str : str;\n}\n\n\n//create a list of reverse color names\nvar reverseNames = {};\nfor (var name in colorName$1) {\n reverseNames[colorName$1[name]] = name;\n}\n\n/* MIT license */\n\n\n\nvar Color = function (obj) {\n\tif (obj instanceof Color) {\n\t\treturn obj;\n\t}\n\tif (!(this instanceof Color)) {\n\t\treturn new Color(obj);\n\t}\n\n\tthis.valid = false;\n\tthis.values = {\n\t\trgb: [0, 0, 0],\n\t\thsl: [0, 0, 0],\n\t\thsv: [0, 0, 0],\n\t\thwb: [0, 0, 0],\n\t\tcmyk: [0, 0, 0, 0],\n\t\talpha: 1\n\t};\n\n\t// parse Color() argument\n\tvar vals;\n\tif (typeof obj === 'string') {\n\t\tvals = colorString.getRgba(obj);\n\t\tif (vals) {\n\t\t\tthis.setValues('rgb', vals);\n\t\t} else if (vals = colorString.getHsla(obj)) {\n\t\t\tthis.setValues('hsl', vals);\n\t\t} else if (vals = colorString.getHwb(obj)) {\n\t\t\tthis.setValues('hwb', vals);\n\t\t}\n\t} else if (typeof obj === 'object') {\n\t\tvals = obj;\n\t\tif (vals.r !== undefined || vals.red !== undefined) {\n\t\t\tthis.setValues('rgb', vals);\n\t\t} else if (vals.l !== undefined || vals.lightness !== undefined) {\n\t\t\tthis.setValues('hsl', vals);\n\t\t} else if (vals.v !== undefined || vals.value !== undefined) {\n\t\t\tthis.setValues('hsv', vals);\n\t\t} else if (vals.w !== undefined || vals.whiteness !== undefined) {\n\t\t\tthis.setValues('hwb', vals);\n\t\t} else if (vals.c !== undefined || vals.cyan !== undefined) {\n\t\t\tthis.setValues('cmyk', vals);\n\t\t}\n\t}\n};\n\nColor.prototype = {\n\tisValid: function () {\n\t\treturn this.valid;\n\t},\n\trgb: function () {\n\t\treturn this.setSpace('rgb', arguments);\n\t},\n\thsl: function () {\n\t\treturn this.setSpace('hsl', arguments);\n\t},\n\thsv: function () {\n\t\treturn this.setSpace('hsv', arguments);\n\t},\n\thwb: function () {\n\t\treturn this.setSpace('hwb', arguments);\n\t},\n\tcmyk: function () {\n\t\treturn this.setSpace('cmyk', arguments);\n\t},\n\n\trgbArray: function () {\n\t\treturn this.values.rgb;\n\t},\n\thslArray: function () {\n\t\treturn this.values.hsl;\n\t},\n\thsvArray: function () {\n\t\treturn this.values.hsv;\n\t},\n\thwbArray: function () {\n\t\tvar values = this.values;\n\t\tif (values.alpha !== 1) {\n\t\t\treturn values.hwb.concat([values.alpha]);\n\t\t}\n\t\treturn values.hwb;\n\t},\n\tcmykArray: function () {\n\t\treturn this.values.cmyk;\n\t},\n\trgbaArray: function () {\n\t\tvar values = this.values;\n\t\treturn values.rgb.concat([values.alpha]);\n\t},\n\thslaArray: function () {\n\t\tvar values = this.values;\n\t\treturn values.hsl.concat([values.alpha]);\n\t},\n\talpha: function (val) {\n\t\tif (val === undefined) {\n\t\t\treturn this.values.alpha;\n\t\t}\n\t\tthis.setValues('alpha', val);\n\t\treturn this;\n\t},\n\n\tred: function (val) {\n\t\treturn this.setChannel('rgb', 0, val);\n\t},\n\tgreen: function (val) {\n\t\treturn this.setChannel('rgb', 1, val);\n\t},\n\tblue: function (val) {\n\t\treturn this.setChannel('rgb', 2, val);\n\t},\n\thue: function (val) {\n\t\tif (val) {\n\t\t\tval %= 360;\n\t\t\tval = val < 0 ? 360 + val : val;\n\t\t}\n\t\treturn this.setChannel('hsl', 0, val);\n\t},\n\tsaturation: function (val) {\n\t\treturn this.setChannel('hsl', 1, val);\n\t},\n\tlightness: function (val) {\n\t\treturn this.setChannel('hsl', 2, val);\n\t},\n\tsaturationv: function (val) {\n\t\treturn this.setChannel('hsv', 1, val);\n\t},\n\twhiteness: function (val) {\n\t\treturn this.setChannel('hwb', 1, val);\n\t},\n\tblackness: function (val) {\n\t\treturn this.setChannel('hwb', 2, val);\n\t},\n\tvalue: function (val) {\n\t\treturn this.setChannel('hsv', 2, val);\n\t},\n\tcyan: function (val) {\n\t\treturn this.setChannel('cmyk', 0, val);\n\t},\n\tmagenta: function (val) {\n\t\treturn this.setChannel('cmyk', 1, val);\n\t},\n\tyellow: function (val) {\n\t\treturn this.setChannel('cmyk', 2, val);\n\t},\n\tblack: function (val) {\n\t\treturn this.setChannel('cmyk', 3, val);\n\t},\n\n\thexString: function () {\n\t\treturn colorString.hexString(this.values.rgb);\n\t},\n\trgbString: function () {\n\t\treturn colorString.rgbString(this.values.rgb, this.values.alpha);\n\t},\n\trgbaString: function () {\n\t\treturn colorString.rgbaString(this.values.rgb, this.values.alpha);\n\t},\n\tpercentString: function () {\n\t\treturn colorString.percentString(this.values.rgb, this.values.alpha);\n\t},\n\thslString: function () {\n\t\treturn colorString.hslString(this.values.hsl, this.values.alpha);\n\t},\n\thslaString: function () {\n\t\treturn colorString.hslaString(this.values.hsl, this.values.alpha);\n\t},\n\thwbString: function () {\n\t\treturn colorString.hwbString(this.values.hwb, this.values.alpha);\n\t},\n\tkeyword: function () {\n\t\treturn colorString.keyword(this.values.rgb, this.values.alpha);\n\t},\n\n\trgbNumber: function () {\n\t\tvar rgb = this.values.rgb;\n\t\treturn (rgb[0] << 16) | (rgb[1] << 8) | rgb[2];\n\t},\n\n\tluminosity: function () {\n\t\t// http://www.w3.org/TR/WCAG20/#relativeluminancedef\n\t\tvar rgb = this.values.rgb;\n\t\tvar lum = [];\n\t\tfor (var i = 0; i < rgb.length; i++) {\n\t\t\tvar chan = rgb[i] / 255;\n\t\t\tlum[i] = (chan <= 0.03928) ? chan / 12.92 : Math.pow(((chan + 0.055) / 1.055), 2.4);\n\t\t}\n\t\treturn 0.2126 * lum[0] + 0.7152 * lum[1] + 0.0722 * lum[2];\n\t},\n\n\tcontrast: function (color2) {\n\t\t// http://www.w3.org/TR/WCAG20/#contrast-ratiodef\n\t\tvar lum1 = this.luminosity();\n\t\tvar lum2 = color2.luminosity();\n\t\tif (lum1 > lum2) {\n\t\t\treturn (lum1 + 0.05) / (lum2 + 0.05);\n\t\t}\n\t\treturn (lum2 + 0.05) / (lum1 + 0.05);\n\t},\n\n\tlevel: function (color2) {\n\t\tvar contrastRatio = this.contrast(color2);\n\t\tif (contrastRatio >= 7.1) {\n\t\t\treturn 'AAA';\n\t\t}\n\n\t\treturn (contrastRatio >= 4.5) ? 'AA' : '';\n\t},\n\n\tdark: function () {\n\t\t// YIQ equation from http://24ways.org/2010/calculating-color-contrast\n\t\tvar rgb = this.values.rgb;\n\t\tvar yiq = (rgb[0] * 299 + rgb[1] * 587 + rgb[2] * 114) / 1000;\n\t\treturn yiq < 128;\n\t},\n\n\tlight: function () {\n\t\treturn !this.dark();\n\t},\n\n\tnegate: function () {\n\t\tvar rgb = [];\n\t\tfor (var i = 0; i < 3; i++) {\n\t\t\trgb[i] = 255 - this.values.rgb[i];\n\t\t}\n\t\tthis.setValues('rgb', rgb);\n\t\treturn this;\n\t},\n\n\tlighten: function (ratio) {\n\t\tvar hsl = this.values.hsl;\n\t\thsl[2] += hsl[2] * ratio;\n\t\tthis.setValues('hsl', hsl);\n\t\treturn this;\n\t},\n\n\tdarken: function (ratio) {\n\t\tvar hsl = this.values.hsl;\n\t\thsl[2] -= hsl[2] * ratio;\n\t\tthis.setValues('hsl', hsl);\n\t\treturn this;\n\t},\n\n\tsaturate: function (ratio) {\n\t\tvar hsl = this.values.hsl;\n\t\thsl[1] += hsl[1] * ratio;\n\t\tthis.setValues('hsl', hsl);\n\t\treturn this;\n\t},\n\n\tdesaturate: function (ratio) {\n\t\tvar hsl = this.values.hsl;\n\t\thsl[1] -= hsl[1] * ratio;\n\t\tthis.setValues('hsl', hsl);\n\t\treturn this;\n\t},\n\n\twhiten: function (ratio) {\n\t\tvar hwb = this.values.hwb;\n\t\thwb[1] += hwb[1] * ratio;\n\t\tthis.setValues('hwb', hwb);\n\t\treturn this;\n\t},\n\n\tblacken: function (ratio) {\n\t\tvar hwb = this.values.hwb;\n\t\thwb[2] += hwb[2] * ratio;\n\t\tthis.setValues('hwb', hwb);\n\t\treturn this;\n\t},\n\n\tgreyscale: function () {\n\t\tvar rgb = this.values.rgb;\n\t\t// http://en.wikipedia.org/wiki/Grayscale#Converting_color_to_grayscale\n\t\tvar val = rgb[0] * 0.3 + rgb[1] * 0.59 + rgb[2] * 0.11;\n\t\tthis.setValues('rgb', [val, val, val]);\n\t\treturn this;\n\t},\n\n\tclearer: function (ratio) {\n\t\tvar alpha = this.values.alpha;\n\t\tthis.setValues('alpha', alpha - (alpha * ratio));\n\t\treturn this;\n\t},\n\n\topaquer: function (ratio) {\n\t\tvar alpha = this.values.alpha;\n\t\tthis.setValues('alpha', alpha + (alpha * ratio));\n\t\treturn this;\n\t},\n\n\trotate: function (degrees) {\n\t\tvar hsl = this.values.hsl;\n\t\tvar hue = (hsl[0] + degrees) % 360;\n\t\thsl[0] = hue < 0 ? 360 + hue : hue;\n\t\tthis.setValues('hsl', hsl);\n\t\treturn this;\n\t},\n\n\t/**\n\t * Ported from sass implementation in C\n\t * https://github.com/sass/libsass/blob/0e6b4a2850092356aa3ece07c6b249f0221caced/functions.cpp#L209\n\t */\n\tmix: function (mixinColor, weight) {\n\t\tvar color1 = this;\n\t\tvar color2 = mixinColor;\n\t\tvar p = weight === undefined ? 0.5 : weight;\n\n\t\tvar w = 2 * p - 1;\n\t\tvar a = color1.alpha() - color2.alpha();\n\n\t\tvar w1 = (((w * a === -1) ? w : (w + a) / (1 + w * a)) + 1) / 2.0;\n\t\tvar w2 = 1 - w1;\n\n\t\treturn this\n\t\t\t.rgb(\n\t\t\t\tw1 * color1.red() + w2 * color2.red(),\n\t\t\t\tw1 * color1.green() + w2 * color2.green(),\n\t\t\t\tw1 * color1.blue() + w2 * color2.blue()\n\t\t\t)\n\t\t\t.alpha(color1.alpha() * p + color2.alpha() * (1 - p));\n\t},\n\n\ttoJSON: function () {\n\t\treturn this.rgb();\n\t},\n\n\tclone: function () {\n\t\t// NOTE(SB): using node-clone creates a dependency to Buffer when using browserify,\n\t\t// making the final build way to big to embed in Chart.js. So let's do it manually,\n\t\t// assuming that values to clone are 1 dimension arrays containing only numbers,\n\t\t// except 'alpha' which is a number.\n\t\tvar result = new Color();\n\t\tvar source = this.values;\n\t\tvar target = result.values;\n\t\tvar value, type;\n\n\t\tfor (var prop in source) {\n\t\t\tif (source.hasOwnProperty(prop)) {\n\t\t\t\tvalue = source[prop];\n\t\t\t\ttype = ({}).toString.call(value);\n\t\t\t\tif (type === '[object Array]') {\n\t\t\t\t\ttarget[prop] = value.slice(0);\n\t\t\t\t} else if (type === '[object Number]') {\n\t\t\t\t\ttarget[prop] = value;\n\t\t\t\t} else {\n\t\t\t\t\tconsole.error('unexpected color value:', value);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn result;\n\t}\n};\n\nColor.prototype.spaces = {\n\trgb: ['red', 'green', 'blue'],\n\thsl: ['hue', 'saturation', 'lightness'],\n\thsv: ['hue', 'saturation', 'value'],\n\thwb: ['hue', 'whiteness', 'blackness'],\n\tcmyk: ['cyan', 'magenta', 'yellow', 'black']\n};\n\nColor.prototype.maxes = {\n\trgb: [255, 255, 255],\n\thsl: [360, 100, 100],\n\thsv: [360, 100, 100],\n\thwb: [360, 100, 100],\n\tcmyk: [100, 100, 100, 100]\n};\n\nColor.prototype.getValues = function (space) {\n\tvar values = this.values;\n\tvar vals = {};\n\n\tfor (var i = 0; i < space.length; i++) {\n\t\tvals[space.charAt(i)] = values[space][i];\n\t}\n\n\tif (values.alpha !== 1) {\n\t\tvals.a = values.alpha;\n\t}\n\n\t// {r: 255, g: 255, b: 255, a: 0.4}\n\treturn vals;\n};\n\nColor.prototype.setValues = function (space, vals) {\n\tvar values = this.values;\n\tvar spaces = this.spaces;\n\tvar maxes = this.maxes;\n\tvar alpha = 1;\n\tvar i;\n\n\tthis.valid = true;\n\n\tif (space === 'alpha') {\n\t\talpha = vals;\n\t} else if (vals.length) {\n\t\t// [10, 10, 10]\n\t\tvalues[space] = vals.slice(0, space.length);\n\t\talpha = vals[space.length];\n\t} else if (vals[space.charAt(0)] !== undefined) {\n\t\t// {r: 10, g: 10, b: 10}\n\t\tfor (i = 0; i < space.length; i++) {\n\t\t\tvalues[space][i] = vals[space.charAt(i)];\n\t\t}\n\n\t\talpha = vals.a;\n\t} else if (vals[spaces[space][0]] !== undefined) {\n\t\t// {red: 10, green: 10, blue: 10}\n\t\tvar chans = spaces[space];\n\n\t\tfor (i = 0; i < space.length; i++) {\n\t\t\tvalues[space][i] = vals[chans[i]];\n\t\t}\n\n\t\talpha = vals.alpha;\n\t}\n\n\tvalues.alpha = Math.max(0, Math.min(1, (alpha === undefined ? values.alpha : alpha)));\n\n\tif (space === 'alpha') {\n\t\treturn false;\n\t}\n\n\tvar capped;\n\n\t// cap values of the space prior converting all values\n\tfor (i = 0; i < space.length; i++) {\n\t\tcapped = Math.max(0, Math.min(maxes[space][i], values[space][i]));\n\t\tvalues[space][i] = Math.round(capped);\n\t}\n\n\t// convert to all the other color spaces\n\tfor (var sname in spaces) {\n\t\tif (sname !== space) {\n\t\t\tvalues[sname] = colorConvert[space][sname](values[space]);\n\t\t}\n\t}\n\n\treturn true;\n};\n\nColor.prototype.setSpace = function (space, args) {\n\tvar vals = args[0];\n\n\tif (vals === undefined) {\n\t\t// color.rgb()\n\t\treturn this.getValues(space);\n\t}\n\n\t// color.rgb(10, 10, 10)\n\tif (typeof vals === 'number') {\n\t\tvals = Array.prototype.slice.call(args);\n\t}\n\n\tthis.setValues(space, vals);\n\treturn this;\n};\n\nColor.prototype.setChannel = function (space, index, val) {\n\tvar svalues = this.values[space];\n\tif (val === undefined) {\n\t\t// color.red()\n\t\treturn svalues[index];\n\t} else if (val === svalues[index]) {\n\t\t// color.red(color.red())\n\t\treturn this;\n\t}\n\n\t// color.red(100)\n\tsvalues[index] = val;\n\tthis.setValues(space, svalues);\n\n\treturn this;\n};\n\nif (typeof window !== 'undefined') {\n\twindow.Color = Color;\n}\n\nvar chartjsColor = Color;\n\nfunction isValidKey(key) {\r\n\treturn ['__proto__', 'prototype', 'constructor'].indexOf(key) === -1;\r\n}\r\n\r\n/**\r\n * @namespace Chart.helpers\r\n */\r\nvar helpers = {\r\n\t/**\r\n\t * An empty function that can be used, for example, for optional callback.\r\n\t */\r\n\tnoop: function() {},\r\n\r\n\t/**\r\n\t * Returns a unique id, sequentially generated from a global variable.\r\n\t * @returns {number}\r\n\t * @function\r\n\t */\r\n\tuid: (function() {\r\n\t\tvar id = 0;\r\n\t\treturn function() {\r\n\t\t\treturn id++;\r\n\t\t};\r\n\t}()),\r\n\r\n\t/**\r\n\t * Returns true if `value` is neither null nor undefined, else returns false.\r\n\t * @param {*} value - The value to test.\r\n\t * @returns {boolean}\r\n\t * @since 2.7.0\r\n\t */\r\n\tisNullOrUndef: function(value) {\r\n\t\treturn value === null || typeof value === 'undefined';\r\n\t},\r\n\r\n\t/**\r\n\t * Returns true if `value` is an array (including typed arrays), else returns false.\r\n\t * @param {*} value - The value to test.\r\n\t * @returns {boolean}\r\n\t * @function\r\n\t */\r\n\tisArray: function(value) {\r\n\t\tif (Array.isArray && Array.isArray(value)) {\r\n\t\t\treturn true;\r\n\t\t}\r\n\t\tvar type = Object.prototype.toString.call(value);\r\n\t\tif (type.substr(0, 7) === '[object' && type.substr(-6) === 'Array]') {\r\n\t\t\treturn true;\r\n\t\t}\r\n\t\treturn false;\r\n\t},\r\n\r\n\t/**\r\n\t * Returns true if `value` is an object (excluding null), else returns false.\r\n\t * @param {*} value - The value to test.\r\n\t * @returns {boolean}\r\n\t * @since 2.7.0\r\n\t */\r\n\tisObject: function(value) {\r\n\t\treturn value !== null && Object.prototype.toString.call(value) === '[object Object]';\r\n\t},\r\n\r\n\t/**\r\n\t * Returns true if `value` is a finite number, else returns false\r\n\t * @param {*} value - The value to test.\r\n\t * @returns {boolean}\r\n\t */\r\n\tisFinite: function(value) {\r\n\t\treturn (typeof value === 'number' || value instanceof Number) && isFinite(value);\r\n\t},\r\n\r\n\t/**\r\n\t * Returns `value` if defined, else returns `defaultValue`.\r\n\t * @param {*} value - The value to return if defined.\r\n\t * @param {*} defaultValue - The value to return if `value` is undefined.\r\n\t * @returns {*}\r\n\t */\r\n\tvalueOrDefault: function(value, defaultValue) {\r\n\t\treturn typeof value === 'undefined' ? defaultValue : value;\r\n\t},\r\n\r\n\t/**\r\n\t * Returns value at the given `index` in array if defined, else returns `defaultValue`.\r\n\t * @param {Array} value - The array to lookup for value at `index`.\r\n\t * @param {number} index - The index in `value` to lookup for value.\r\n\t * @param {*} defaultValue - The value to return if `value[index]` is undefined.\r\n\t * @returns {*}\r\n\t */\r\n\tvalueAtIndexOrDefault: function(value, index, defaultValue) {\r\n\t\treturn helpers.valueOrDefault(helpers.isArray(value) ? value[index] : value, defaultValue);\r\n\t},\r\n\r\n\t/**\r\n\t * Calls `fn` with the given `args` in the scope defined by `thisArg` and returns the\r\n\t * value returned by `fn`. If `fn` is not a function, this method returns undefined.\r\n\t * @param {function} fn - The function to call.\r\n\t * @param {Array|undefined|null} args - The arguments with which `fn` should be called.\r\n\t * @param {object} [thisArg] - The value of `this` provided for the call to `fn`.\r\n\t * @returns {*}\r\n\t */\r\n\tcallback: function(fn, args, thisArg) {\r\n\t\tif (fn && typeof fn.call === 'function') {\r\n\t\t\treturn fn.apply(thisArg, args);\r\n\t\t}\r\n\t},\r\n\r\n\t/**\r\n\t * Note(SB) for performance sake, this method should only be used when loopable type\r\n\t * is unknown or in none intensive code (not called often and small loopable). Else\r\n\t * it's preferable to use a regular for() loop and save extra function calls.\r\n\t * @param {object|Array} loopable - The object or array to be iterated.\r\n\t * @param {function} fn - The function to call for each item.\r\n\t * @param {object} [thisArg] - The value of `this` provided for the call to `fn`.\r\n\t * @param {boolean} [reverse] - If true, iterates backward on the loopable.\r\n\t */\r\n\teach: function(loopable, fn, thisArg, reverse) {\r\n\t\tvar i, len, keys;\r\n\t\tif (helpers.isArray(loopable)) {\r\n\t\t\tlen = loopable.length;\r\n\t\t\tif (reverse) {\r\n\t\t\t\tfor (i = len - 1; i >= 0; i--) {\r\n\t\t\t\t\tfn.call(thisArg, loopable[i], i);\r\n\t\t\t\t}\r\n\t\t\t} else {\r\n\t\t\t\tfor (i = 0; i < len; i++) {\r\n\t\t\t\t\tfn.call(thisArg, loopable[i], i);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t} else if (helpers.isObject(loopable)) {\r\n\t\t\tkeys = Object.keys(loopable);\r\n\t\t\tlen = keys.length;\r\n\t\t\tfor (i = 0; i < len; i++) {\r\n\t\t\t\tfn.call(thisArg, loopable[keys[i]], keys[i]);\r\n\t\t\t}\r\n\t\t}\r\n\t},\r\n\r\n\t/**\r\n\t * Returns true if the `a0` and `a1` arrays have the same content, else returns false.\r\n\t * @see https://stackoverflow.com/a/14853974\r\n\t * @param {Array} a0 - The array to compare\r\n\t * @param {Array} a1 - The array to compare\r\n\t * @returns {boolean}\r\n\t */\r\n\tarrayEquals: function(a0, a1) {\r\n\t\tvar i, ilen, v0, v1;\r\n\r\n\t\tif (!a0 || !a1 || a0.length !== a1.length) {\r\n\t\t\treturn false;\r\n\t\t}\r\n\r\n\t\tfor (i = 0, ilen = a0.length; i < ilen; ++i) {\r\n\t\t\tv0 = a0[i];\r\n\t\t\tv1 = a1[i];\r\n\r\n\t\t\tif (v0 instanceof Array && v1 instanceof Array) {\r\n\t\t\t\tif (!helpers.arrayEquals(v0, v1)) {\r\n\t\t\t\t\treturn false;\r\n\t\t\t\t}\r\n\t\t\t} else if (v0 !== v1) {\r\n\t\t\t\t// NOTE: two different object instances will never be equal: {x:20} != {x:20}\r\n\t\t\t\treturn false;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn true;\r\n\t},\r\n\r\n\t/**\r\n\t * Returns a deep copy of `source` without keeping references on objects and arrays.\r\n\t * @param {*} source - The value to clone.\r\n\t * @returns {*}\r\n\t */\r\n\tclone: function(source) {\r\n\t\tif (helpers.isArray(source)) {\r\n\t\t\treturn source.map(helpers.clone);\r\n\t\t}\r\n\r\n\t\tif (helpers.isObject(source)) {\r\n\t\t\tvar target = Object.create(source);\r\n\t\t\tvar keys = Object.keys(source);\r\n\t\t\tvar klen = keys.length;\r\n\t\t\tvar k = 0;\r\n\r\n\t\t\tfor (; k < klen; ++k) {\r\n\t\t\t\ttarget[keys[k]] = helpers.clone(source[keys[k]]);\r\n\t\t\t}\r\n\r\n\t\t\treturn target;\r\n\t\t}\r\n\r\n\t\treturn source;\r\n\t},\r\n\r\n\t/**\r\n\t * The default merger when Chart.helpers.merge is called without merger option.\r\n\t * Note(SB): also used by mergeConfig and mergeScaleConfig as fallback.\r\n\t * @private\r\n\t */\r\n\t_merger: function(key, target, source, options) {\r\n\t\tif (!isValidKey(key)) {\r\n\t\t\t// We want to ensure we do not copy prototypes over\r\n\t\t\t// as this can pollute global namespaces\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tvar tval = target[key];\r\n\t\tvar sval = source[key];\r\n\r\n\t\tif (helpers.isObject(tval) && helpers.isObject(sval)) {\r\n\t\t\thelpers.merge(tval, sval, options);\r\n\t\t} else {\r\n\t\t\ttarget[key] = helpers.clone(sval);\r\n\t\t}\r\n\t},\r\n\r\n\t/**\r\n\t * Merges source[key] in target[key] only if target[key] is undefined.\r\n\t * @private\r\n\t */\r\n\t_mergerIf: function(key, target, source) {\r\n\t\tif (!isValidKey(key)) {\r\n\t\t\t// We want to ensure we do not copy prototypes over\r\n\t\t\t// as this can pollute global namespaces\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tvar tval = target[key];\r\n\t\tvar sval = source[key];\r\n\r\n\t\tif (helpers.isObject(tval) && helpers.isObject(sval)) {\r\n\t\t\thelpers.mergeIf(tval, sval);\r\n\t\t} else if (!target.hasOwnProperty(key)) {\r\n\t\t\ttarget[key] = helpers.clone(sval);\r\n\t\t}\r\n\t},\r\n\r\n\t/**\r\n\t * Recursively deep copies `source` properties into `target` with the given `options`.\r\n\t * IMPORTANT: `target` is not cloned and will be updated with `source` properties.\r\n\t * @param {object} target - The target object in which all sources are merged into.\r\n\t * @param {object|object[]} source - Object(s) to merge into `target`.\r\n\t * @param {object} [options] - Merging options:\r\n\t * @param {function} [options.merger] - The merge method (key, target, source, options)\r\n\t * @returns {object} The `target` object.\r\n\t */\r\n\tmerge: function(target, source, options) {\r\n\t\tvar sources = helpers.isArray(source) ? source : [source];\r\n\t\tvar ilen = sources.length;\r\n\t\tvar merge, i, keys, klen, k;\r\n\r\n\t\tif (!helpers.isObject(target)) {\r\n\t\t\treturn target;\r\n\t\t}\r\n\r\n\t\toptions = options || {};\r\n\t\tmerge = options.merger || helpers._merger;\r\n\r\n\t\tfor (i = 0; i < ilen; ++i) {\r\n\t\t\tsource = sources[i];\r\n\t\t\tif (!helpers.isObject(source)) {\r\n\t\t\t\tcontinue;\r\n\t\t\t}\r\n\r\n\t\t\tkeys = Object.keys(source);\r\n\t\t\tfor (k = 0, klen = keys.length; k < klen; ++k) {\r\n\t\t\t\tmerge(keys[k], target, source, options);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn target;\r\n\t},\r\n\r\n\t/**\r\n\t * Recursively deep copies `source` properties into `target` *only* if not defined in target.\r\n\t * IMPORTANT: `target` is not cloned and will be updated with `source` properties.\r\n\t * @param {object} target - The target object in which all sources are merged into.\r\n\t * @param {object|object[]} source - Object(s) to merge into `target`.\r\n\t * @returns {object} The `target` object.\r\n\t */\r\n\tmergeIf: function(target, source) {\r\n\t\treturn helpers.merge(target, source, {merger: helpers._mergerIf});\r\n\t},\r\n\r\n\t/**\r\n\t * Applies the contents of two or more objects together into the first object.\r\n\t * @param {object} target - The target object in which all objects are merged into.\r\n\t * @param {object} arg1 - Object containing additional properties to merge in target.\r\n\t * @param {object} argN - Additional objects containing properties to merge in target.\r\n\t * @returns {object} The `target` object.\r\n\t */\r\n\textend: Object.assign || function(target) {\r\n\t\treturn helpers.merge(target, [].slice.call(arguments, 1), {\r\n\t\t\tmerger: function(key, dst, src) {\r\n\t\t\t\tdst[key] = src[key];\r\n\t\t\t}\r\n\t\t});\r\n\t},\r\n\r\n\t/**\r\n\t * Basic javascript inheritance based on the model created in Backbone.js\r\n\t */\r\n\tinherits: function(extensions) {\r\n\t\tvar me = this;\r\n\t\tvar ChartElement = (extensions && extensions.hasOwnProperty('constructor')) ? extensions.constructor : function() {\r\n\t\t\treturn me.apply(this, arguments);\r\n\t\t};\r\n\r\n\t\tvar Surrogate = function() {\r\n\t\t\tthis.constructor = ChartElement;\r\n\t\t};\r\n\r\n\t\tSurrogate.prototype = me.prototype;\r\n\t\tChartElement.prototype = new Surrogate();\r\n\t\tChartElement.extend = helpers.inherits;\r\n\r\n\t\tif (extensions) {\r\n\t\t\thelpers.extend(ChartElement.prototype, extensions);\r\n\t\t}\r\n\r\n\t\tChartElement.__super__ = me.prototype;\r\n\t\treturn ChartElement;\r\n\t},\r\n\r\n\t_deprecated: function(scope, value, previous, current) {\r\n\t\tif (value !== undefined) {\r\n\t\t\tconsole.warn(scope + ': \"' + previous +\r\n\t\t\t\t'\" is deprecated. Please use \"' + current + '\" instead');\r\n\t\t}\r\n\t}\r\n};\r\n\r\nvar helpers_core = helpers;\r\n\r\n// DEPRECATIONS\r\n\r\n/**\r\n * Provided for backward compatibility, use Chart.helpers.callback instead.\r\n * @function Chart.helpers.callCallback\r\n * @deprecated since version 2.6.0\r\n * @todo remove at version 3\r\n * @private\r\n */\r\nhelpers.callCallback = helpers.callback;\r\n\r\n/**\r\n * Provided for backward compatibility, use Array.prototype.indexOf instead.\r\n * Array.prototype.indexOf compatibility: Chrome, Opera, Safari, FF1.5+, IE9+\r\n * @function Chart.helpers.indexOf\r\n * @deprecated since version 2.7.0\r\n * @todo remove at version 3\r\n * @private\r\n */\r\nhelpers.indexOf = function(array, item, fromIndex) {\r\n\treturn Array.prototype.indexOf.call(array, item, fromIndex);\r\n};\r\n\r\n/**\r\n * Provided for backward compatibility, use Chart.helpers.valueOrDefault instead.\r\n * @function Chart.helpers.getValueOrDefault\r\n * @deprecated since version 2.7.0\r\n * @todo remove at version 3\r\n * @private\r\n */\r\nhelpers.getValueOrDefault = helpers.valueOrDefault;\r\n\r\n/**\r\n * Provided for backward compatibility, use Chart.helpers.valueAtIndexOrDefault instead.\r\n * @function Chart.helpers.getValueAtIndexOrDefault\r\n * @deprecated since version 2.7.0\r\n * @todo remove at version 3\r\n * @private\r\n */\r\nhelpers.getValueAtIndexOrDefault = helpers.valueAtIndexOrDefault;\n\n/**\r\n * Easing functions adapted from Robert Penner's easing equations.\r\n * @namespace Chart.helpers.easingEffects\r\n * @see http://www.robertpenner.com/easing/\r\n */\r\nvar effects = {\r\n\tlinear: function(t) {\r\n\t\treturn t;\r\n\t},\r\n\r\n\teaseInQuad: function(t) {\r\n\t\treturn t * t;\r\n\t},\r\n\r\n\teaseOutQuad: function(t) {\r\n\t\treturn -t * (t - 2);\r\n\t},\r\n\r\n\teaseInOutQuad: function(t) {\r\n\t\tif ((t /= 0.5) < 1) {\r\n\t\t\treturn 0.5 * t * t;\r\n\t\t}\r\n\t\treturn -0.5 * ((--t) * (t - 2) - 1);\r\n\t},\r\n\r\n\teaseInCubic: function(t) {\r\n\t\treturn t * t * t;\r\n\t},\r\n\r\n\teaseOutCubic: function(t) {\r\n\t\treturn (t = t - 1) * t * t + 1;\r\n\t},\r\n\r\n\teaseInOutCubic: function(t) {\r\n\t\tif ((t /= 0.5) < 1) {\r\n\t\t\treturn 0.5 * t * t * t;\r\n\t\t}\r\n\t\treturn 0.5 * ((t -= 2) * t * t + 2);\r\n\t},\r\n\r\n\teaseInQuart: function(t) {\r\n\t\treturn t * t * t * t;\r\n\t},\r\n\r\n\teaseOutQuart: function(t) {\r\n\t\treturn -((t = t - 1) * t * t * t - 1);\r\n\t},\r\n\r\n\teaseInOutQuart: function(t) {\r\n\t\tif ((t /= 0.5) < 1) {\r\n\t\t\treturn 0.5 * t * t * t * t;\r\n\t\t}\r\n\t\treturn -0.5 * ((t -= 2) * t * t * t - 2);\r\n\t},\r\n\r\n\teaseInQuint: function(t) {\r\n\t\treturn t * t * t * t * t;\r\n\t},\r\n\r\n\teaseOutQuint: function(t) {\r\n\t\treturn (t = t - 1) * t * t * t * t + 1;\r\n\t},\r\n\r\n\teaseInOutQuint: function(t) {\r\n\t\tif ((t /= 0.5) < 1) {\r\n\t\t\treturn 0.5 * t * t * t * t * t;\r\n\t\t}\r\n\t\treturn 0.5 * ((t -= 2) * t * t * t * t + 2);\r\n\t},\r\n\r\n\teaseInSine: function(t) {\r\n\t\treturn -Math.cos(t * (Math.PI / 2)) + 1;\r\n\t},\r\n\r\n\teaseOutSine: function(t) {\r\n\t\treturn Math.sin(t * (Math.PI / 2));\r\n\t},\r\n\r\n\teaseInOutSine: function(t) {\r\n\t\treturn -0.5 * (Math.cos(Math.PI * t) - 1);\r\n\t},\r\n\r\n\teaseInExpo: function(t) {\r\n\t\treturn (t === 0) ? 0 : Math.pow(2, 10 * (t - 1));\r\n\t},\r\n\r\n\teaseOutExpo: function(t) {\r\n\t\treturn (t === 1) ? 1 : -Math.pow(2, -10 * t) + 1;\r\n\t},\r\n\r\n\teaseInOutExpo: function(t) {\r\n\t\tif (t === 0) {\r\n\t\t\treturn 0;\r\n\t\t}\r\n\t\tif (t === 1) {\r\n\t\t\treturn 1;\r\n\t\t}\r\n\t\tif ((t /= 0.5) < 1) {\r\n\t\t\treturn 0.5 * Math.pow(2, 10 * (t - 1));\r\n\t\t}\r\n\t\treturn 0.5 * (-Math.pow(2, -10 * --t) + 2);\r\n\t},\r\n\r\n\teaseInCirc: function(t) {\r\n\t\tif (t >= 1) {\r\n\t\t\treturn t;\r\n\t\t}\r\n\t\treturn -(Math.sqrt(1 - t * t) - 1);\r\n\t},\r\n\r\n\teaseOutCirc: function(t) {\r\n\t\treturn Math.sqrt(1 - (t = t - 1) * t);\r\n\t},\r\n\r\n\teaseInOutCirc: function(t) {\r\n\t\tif ((t /= 0.5) < 1) {\r\n\t\t\treturn -0.5 * (Math.sqrt(1 - t * t) - 1);\r\n\t\t}\r\n\t\treturn 0.5 * (Math.sqrt(1 - (t -= 2) * t) + 1);\r\n\t},\r\n\r\n\teaseInElastic: function(t) {\r\n\t\tvar s = 1.70158;\r\n\t\tvar p = 0;\r\n\t\tvar a = 1;\r\n\t\tif (t === 0) {\r\n\t\t\treturn 0;\r\n\t\t}\r\n\t\tif (t === 1) {\r\n\t\t\treturn 1;\r\n\t\t}\r\n\t\tif (!p) {\r\n\t\t\tp = 0.3;\r\n\t\t}\r\n\t\tif (a < 1) {\r\n\t\t\ta = 1;\r\n\t\t\ts = p / 4;\r\n\t\t} else {\r\n\t\t\ts = p / (2 * Math.PI) * Math.asin(1 / a);\r\n\t\t}\r\n\t\treturn -(a * Math.pow(2, 10 * (t -= 1)) * Math.sin((t - s) * (2 * Math.PI) / p));\r\n\t},\r\n\r\n\teaseOutElastic: function(t) {\r\n\t\tvar s = 1.70158;\r\n\t\tvar p = 0;\r\n\t\tvar a = 1;\r\n\t\tif (t === 0) {\r\n\t\t\treturn 0;\r\n\t\t}\r\n\t\tif (t === 1) {\r\n\t\t\treturn 1;\r\n\t\t}\r\n\t\tif (!p) {\r\n\t\t\tp = 0.3;\r\n\t\t}\r\n\t\tif (a < 1) {\r\n\t\t\ta = 1;\r\n\t\t\ts = p / 4;\r\n\t\t} else {\r\n\t\t\ts = p / (2 * Math.PI) * Math.asin(1 / a);\r\n\t\t}\r\n\t\treturn a * Math.pow(2, -10 * t) * Math.sin((t - s) * (2 * Math.PI) / p) + 1;\r\n\t},\r\n\r\n\teaseInOutElastic: function(t) {\r\n\t\tvar s = 1.70158;\r\n\t\tvar p = 0;\r\n\t\tvar a = 1;\r\n\t\tif (t === 0) {\r\n\t\t\treturn 0;\r\n\t\t}\r\n\t\tif ((t /= 0.5) === 2) {\r\n\t\t\treturn 1;\r\n\t\t}\r\n\t\tif (!p) {\r\n\t\t\tp = 0.45;\r\n\t\t}\r\n\t\tif (a < 1) {\r\n\t\t\ta = 1;\r\n\t\t\ts = p / 4;\r\n\t\t} else {\r\n\t\t\ts = p / (2 * Math.PI) * Math.asin(1 / a);\r\n\t\t}\r\n\t\tif (t < 1) {\r\n\t\t\treturn -0.5 * (a * Math.pow(2, 10 * (t -= 1)) * Math.sin((t - s) * (2 * Math.PI) / p));\r\n\t\t}\r\n\t\treturn a * Math.pow(2, -10 * (t -= 1)) * Math.sin((t - s) * (2 * Math.PI) / p) * 0.5 + 1;\r\n\t},\r\n\teaseInBack: function(t) {\r\n\t\tvar s = 1.70158;\r\n\t\treturn t * t * ((s + 1) * t - s);\r\n\t},\r\n\r\n\teaseOutBack: function(t) {\r\n\t\tvar s = 1.70158;\r\n\t\treturn (t = t - 1) * t * ((s + 1) * t + s) + 1;\r\n\t},\r\n\r\n\teaseInOutBack: function(t) {\r\n\t\tvar s = 1.70158;\r\n\t\tif ((t /= 0.5) < 1) {\r\n\t\t\treturn 0.5 * (t * t * (((s *= (1.525)) + 1) * t - s));\r\n\t\t}\r\n\t\treturn 0.5 * ((t -= 2) * t * (((s *= (1.525)) + 1) * t + s) + 2);\r\n\t},\r\n\r\n\teaseInBounce: function(t) {\r\n\t\treturn 1 - effects.easeOutBounce(1 - t);\r\n\t},\r\n\r\n\teaseOutBounce: function(t) {\r\n\t\tif (t < (1 / 2.75)) {\r\n\t\t\treturn 7.5625 * t * t;\r\n\t\t}\r\n\t\tif (t < (2 / 2.75)) {\r\n\t\t\treturn 7.5625 * (t -= (1.5 / 2.75)) * t + 0.75;\r\n\t\t}\r\n\t\tif (t < (2.5 / 2.75)) {\r\n\t\t\treturn 7.5625 * (t -= (2.25 / 2.75)) * t + 0.9375;\r\n\t\t}\r\n\t\treturn 7.5625 * (t -= (2.625 / 2.75)) * t + 0.984375;\r\n\t},\r\n\r\n\teaseInOutBounce: function(t) {\r\n\t\tif (t < 0.5) {\r\n\t\t\treturn effects.easeInBounce(t * 2) * 0.5;\r\n\t\t}\r\n\t\treturn effects.easeOutBounce(t * 2 - 1) * 0.5 + 0.5;\r\n\t}\r\n};\r\n\r\nvar helpers_easing = {\r\n\teffects: effects\r\n};\r\n\r\n// DEPRECATIONS\r\n\r\n/**\r\n * Provided for backward compatibility, use Chart.helpers.easing.effects instead.\r\n * @function Chart.helpers.easingEffects\r\n * @deprecated since version 2.7.0\r\n * @todo remove at version 3\r\n * @private\r\n */\r\nhelpers_core.easingEffects = effects;\n\nvar PI = Math.PI;\r\nvar RAD_PER_DEG = PI / 180;\r\nvar DOUBLE_PI = PI * 2;\r\nvar HALF_PI = PI / 2;\r\nvar QUARTER_PI = PI / 4;\r\nvar TWO_THIRDS_PI = PI * 2 / 3;\r\n\r\n/**\r\n * @namespace Chart.helpers.canvas\r\n */\r\nvar exports$1 = {\r\n\t/**\r\n\t * Clears the entire canvas associated to the given `chart`.\r\n\t * @param {Chart} chart - The chart for which to clear the canvas.\r\n\t */\r\n\tclear: function(chart) {\r\n\t\tchart.ctx.clearRect(0, 0, chart.width, chart.height);\r\n\t},\r\n\r\n\t/**\r\n\t * Creates a \"path\" for a rectangle with rounded corners at position (x, y) with a\r\n\t * given size (width, height) and the same `radius` for all corners.\r\n\t * @param {CanvasRenderingContext2D} ctx - The canvas 2D Context.\r\n\t * @param {number} x - The x axis of the coordinate for the rectangle starting point.\r\n\t * @param {number} y - The y axis of the coordinate for the rectangle starting point.\r\n\t * @param {number} width - The rectangle's width.\r\n\t * @param {number} height - The rectangle's height.\r\n\t * @param {number} radius - The rounded amount (in pixels) for the four corners.\r\n\t * @todo handle `radius` as top-left, top-right, bottom-right, bottom-left array/object?\r\n\t */\r\n\troundedRect: function(ctx, x, y, width, height, radius) {\r\n\t\tif (radius) {\r\n\t\t\tvar r = Math.min(radius, height / 2, width / 2);\r\n\t\t\tvar left = x + r;\r\n\t\t\tvar top = y + r;\r\n\t\t\tvar right = x + width - r;\r\n\t\t\tvar bottom = y + height - r;\r\n\r\n\t\t\tctx.moveTo(x, top);\r\n\t\t\tif (left < right && top < bottom) {\r\n\t\t\t\tctx.arc(left, top, r, -PI, -HALF_PI);\r\n\t\t\t\tctx.arc(right, top, r, -HALF_PI, 0);\r\n\t\t\t\tctx.arc(right, bottom, r, 0, HALF_PI);\r\n\t\t\t\tctx.arc(left, bottom, r, HALF_PI, PI);\r\n\t\t\t} else if (left < right) {\r\n\t\t\t\tctx.moveTo(left, y);\r\n\t\t\t\tctx.arc(right, top, r, -HALF_PI, HALF_PI);\r\n\t\t\t\tctx.arc(left, top, r, HALF_PI, PI + HALF_PI);\r\n\t\t\t} else if (top < bottom) {\r\n\t\t\t\tctx.arc(left, top, r, -PI, 0);\r\n\t\t\t\tctx.arc(left, bottom, r, 0, PI);\r\n\t\t\t} else {\r\n\t\t\t\tctx.arc(left, top, r, -PI, PI);\r\n\t\t\t}\r\n\t\t\tctx.closePath();\r\n\t\t\tctx.moveTo(x, y);\r\n\t\t} else {\r\n\t\t\tctx.rect(x, y, width, height);\r\n\t\t}\r\n\t},\r\n\r\n\tdrawPoint: function(ctx, style, radius, x, y, rotation) {\r\n\t\tvar type, xOffset, yOffset, size, cornerRadius;\r\n\t\tvar rad = (rotation || 0) * RAD_PER_DEG;\r\n\r\n\t\tif (style && typeof style === 'object') {\r\n\t\t\ttype = style.toString();\r\n\t\t\tif (type === '[object HTMLImageElement]' || type === '[object HTMLCanvasElement]') {\r\n\t\t\t\tctx.save();\r\n\t\t\t\tctx.translate(x, y);\r\n\t\t\t\tctx.rotate(rad);\r\n\t\t\t\tctx.drawImage(style, -style.width / 2, -style.height / 2, style.width, style.height);\r\n\t\t\t\tctx.restore();\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tif (isNaN(radius) || radius <= 0) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tctx.beginPath();\r\n\r\n\t\tswitch (style) {\r\n\t\t// Default includes circle\r\n\t\tdefault:\r\n\t\t\tctx.arc(x, y, radius, 0, DOUBLE_PI);\r\n\t\t\tctx.closePath();\r\n\t\t\tbreak;\r\n\t\tcase 'triangle':\r\n\t\t\tctx.moveTo(x + Math.sin(rad) * radius, y - Math.cos(rad) * radius);\r\n\t\t\trad += TWO_THIRDS_PI;\r\n\t\t\tctx.lineTo(x + Math.sin(rad) * radius, y - Math.cos(rad) * radius);\r\n\t\t\trad += TWO_THIRDS_PI;\r\n\t\t\tctx.lineTo(x + Math.sin(rad) * radius, y - Math.cos(rad) * radius);\r\n\t\t\tctx.closePath();\r\n\t\t\tbreak;\r\n\t\tcase 'rectRounded':\r\n\t\t\t// NOTE: the rounded rect implementation changed to use `arc` instead of\r\n\t\t\t// `quadraticCurveTo` since it generates better results when rect is\r\n\t\t\t// almost a circle. 0.516 (instead of 0.5) produces results with visually\r\n\t\t\t// closer proportion to the previous impl and it is inscribed in the\r\n\t\t\t// circle with `radius`. For more details, see the following PRs:\r\n\t\t\t// https://github.com/chartjs/Chart.js/issues/5597\r\n\t\t\t// https://github.com/chartjs/Chart.js/issues/5858\r\n\t\t\tcornerRadius = radius * 0.516;\r\n\t\t\tsize = radius - cornerRadius;\r\n\t\t\txOffset = Math.cos(rad + QUARTER_PI) * size;\r\n\t\t\tyOffset = Math.sin(rad + QUARTER_PI) * size;\r\n\t\t\tctx.arc(x - xOffset, y - yOffset, cornerRadius, rad - PI, rad - HALF_PI);\r\n\t\t\tctx.arc(x + yOffset, y - xOffset, cornerRadius, rad - HALF_PI, rad);\r\n\t\t\tctx.arc(x + xOffset, y + yOffset, cornerRadius, rad, rad + HALF_PI);\r\n\t\t\tctx.arc(x - yOffset, y + xOffset, cornerRadius, rad + HALF_PI, rad + PI);\r\n\t\t\tctx.closePath();\r\n\t\t\tbreak;\r\n\t\tcase 'rect':\r\n\t\t\tif (!rotation) {\r\n\t\t\t\tsize = Math.SQRT1_2 * radius;\r\n\t\t\t\tctx.rect(x - size, y - size, 2 * size, 2 * size);\r\n\t\t\t\tbreak;\r\n\t\t\t}\r\n\t\t\trad += QUARTER_PI;\r\n\t\t\t/* falls through */\r\n\t\tcase 'rectRot':\r\n\t\t\txOffset = Math.cos(rad) * radius;\r\n\t\t\tyOffset = Math.sin(rad) * radius;\r\n\t\t\tctx.moveTo(x - xOffset, y - yOffset);\r\n\t\t\tctx.lineTo(x + yOffset, y - xOffset);\r\n\t\t\tctx.lineTo(x + xOffset, y + yOffset);\r\n\t\t\tctx.lineTo(x - yOffset, y + xOffset);\r\n\t\t\tctx.closePath();\r\n\t\t\tbreak;\r\n\t\tcase 'crossRot':\r\n\t\t\trad += QUARTER_PI;\r\n\t\t\t/* falls through */\r\n\t\tcase 'cross':\r\n\t\t\txOffset = Math.cos(rad) * radius;\r\n\t\t\tyOffset = Math.sin(rad) * radius;\r\n\t\t\tctx.moveTo(x - xOffset, y - yOffset);\r\n\t\t\tctx.lineTo(x + xOffset, y + yOffset);\r\n\t\t\tctx.moveTo(x + yOffset, y - xOffset);\r\n\t\t\tctx.lineTo(x - yOffset, y + xOffset);\r\n\t\t\tbreak;\r\n\t\tcase 'star':\r\n\t\t\txOffset = Math.cos(rad) * radius;\r\n\t\t\tyOffset = Math.sin(rad) * radius;\r\n\t\t\tctx.moveTo(x - xOffset, y - yOffset);\r\n\t\t\tctx.lineTo(x + xOffset, y + yOffset);\r\n\t\t\tctx.moveTo(x + yOffset, y - xOffset);\r\n\t\t\tctx.lineTo(x - yOffset, y + xOffset);\r\n\t\t\trad += QUARTER_PI;\r\n\t\t\txOffset = Math.cos(rad) * radius;\r\n\t\t\tyOffset = Math.sin(rad) * radius;\r\n\t\t\tctx.moveTo(x - xOffset, y - yOffset);\r\n\t\t\tctx.lineTo(x + xOffset, y + yOffset);\r\n\t\t\tctx.moveTo(x + yOffset, y - xOffset);\r\n\t\t\tctx.lineTo(x - yOffset, y + xOffset);\r\n\t\t\tbreak;\r\n\t\tcase 'line':\r\n\t\t\txOffset = Math.cos(rad) * radius;\r\n\t\t\tyOffset = Math.sin(rad) * radius;\r\n\t\t\tctx.moveTo(x - xOffset, y - yOffset);\r\n\t\t\tctx.lineTo(x + xOffset, y + yOffset);\r\n\t\t\tbreak;\r\n\t\tcase 'dash':\r\n\t\t\tctx.moveTo(x, y);\r\n\t\t\tctx.lineTo(x + Math.cos(rad) * radius, y + Math.sin(rad) * radius);\r\n\t\t\tbreak;\r\n\t\t}\r\n\r\n\t\tctx.fill();\r\n\t\tctx.stroke();\r\n\t},\r\n\r\n\t/**\r\n\t * Returns true if the point is inside the rectangle\r\n\t * @param {object} point - The point to test\r\n\t * @param {object} area - The rectangle\r\n\t * @returns {boolean}\r\n\t * @private\r\n\t */\r\n\t_isPointInArea: function(point, area) {\r\n\t\tvar epsilon = 1e-6; // 1e-6 is margin in pixels for accumulated error.\r\n\r\n\t\treturn point.x > area.left - epsilon && point.x < area.right + epsilon &&\r\n\t\t\tpoint.y > area.top - epsilon && point.y < area.bottom + epsilon;\r\n\t},\r\n\r\n\tclipArea: function(ctx, area) {\r\n\t\tctx.save();\r\n\t\tctx.beginPath();\r\n\t\tctx.rect(area.left, area.top, area.right - area.left, area.bottom - area.top);\r\n\t\tctx.clip();\r\n\t},\r\n\r\n\tunclipArea: function(ctx) {\r\n\t\tctx.restore();\r\n\t},\r\n\r\n\tlineTo: function(ctx, previous, target, flip) {\r\n\t\tvar stepped = target.steppedLine;\r\n\t\tif (stepped) {\r\n\t\t\tif (stepped === 'middle') {\r\n\t\t\t\tvar midpoint = (previous.x + target.x) / 2.0;\r\n\t\t\t\tctx.lineTo(midpoint, flip ? target.y : previous.y);\r\n\t\t\t\tctx.lineTo(midpoint, flip ? previous.y : target.y);\r\n\t\t\t} else if ((stepped === 'after' && !flip) || (stepped !== 'after' && flip)) {\r\n\t\t\t\tctx.lineTo(previous.x, target.y);\r\n\t\t\t} else {\r\n\t\t\t\tctx.lineTo(target.x, previous.y);\r\n\t\t\t}\r\n\t\t\tctx.lineTo(target.x, target.y);\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tif (!target.tension) {\r\n\t\t\tctx.lineTo(target.x, target.y);\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tctx.bezierCurveTo(\r\n\t\t\tflip ? previous.controlPointPreviousX : previous.controlPointNextX,\r\n\t\t\tflip ? previous.controlPointPreviousY : previous.controlPointNextY,\r\n\t\t\tflip ? target.controlPointNextX : target.controlPointPreviousX,\r\n\t\t\tflip ? target.controlPointNextY : target.controlPointPreviousY,\r\n\t\t\ttarget.x,\r\n\t\t\ttarget.y);\r\n\t}\r\n};\r\n\r\nvar helpers_canvas = exports$1;\r\n\r\n// DEPRECATIONS\r\n\r\n/**\r\n * Provided for backward compatibility, use Chart.helpers.canvas.clear instead.\r\n * @namespace Chart.helpers.clear\r\n * @deprecated since version 2.7.0\r\n * @todo remove at version 3\r\n * @private\r\n */\r\nhelpers_core.clear = exports$1.clear;\r\n\r\n/**\r\n * Provided for backward compatibility, use Chart.helpers.canvas.roundedRect instead.\r\n * @namespace Chart.helpers.drawRoundedRectangle\r\n * @deprecated since version 2.7.0\r\n * @todo remove at version 3\r\n * @private\r\n */\r\nhelpers_core.drawRoundedRectangle = function(ctx) {\r\n\tctx.beginPath();\r\n\texports$1.roundedRect.apply(exports$1, arguments);\r\n};\n\nvar defaults = {\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_set: function(scope, values) {\r\n\t\treturn helpers_core.merge(this[scope] || (this[scope] = {}), values);\r\n\t}\r\n};\r\n\r\n// TODO(v3): remove 'global' from namespace. all default are global and\r\n// there's inconsistency around which options are under 'global'\r\ndefaults._set('global', {\r\n\tdefaultColor: 'rgba(0,0,0,0.1)',\r\n\tdefaultFontColor: '#666',\r\n\tdefaultFontFamily: \"'Helvetica Neue', 'Helvetica', 'Arial', sans-serif\",\r\n\tdefaultFontSize: 12,\r\n\tdefaultFontStyle: 'normal',\r\n\tdefaultLineHeight: 1.2,\r\n\tshowLines: true\r\n});\r\n\r\nvar core_defaults = defaults;\n\nvar valueOrDefault = helpers_core.valueOrDefault;\r\n\r\n/**\r\n * Converts the given font object into a CSS font string.\r\n * @param {object} font - A font object.\r\n * @return {string} The CSS font string. See https://developer.mozilla.org/en-US/docs/Web/CSS/font\r\n * @private\r\n */\r\nfunction toFontString(font) {\r\n\tif (!font || helpers_core.isNullOrUndef(font.size) || helpers_core.isNullOrUndef(font.family)) {\r\n\t\treturn null;\r\n\t}\r\n\r\n\treturn (font.style ? font.style + ' ' : '')\r\n\t\t+ (font.weight ? font.weight + ' ' : '')\r\n\t\t+ font.size + 'px '\r\n\t\t+ font.family;\r\n}\r\n\r\n/**\r\n * @alias Chart.helpers.options\r\n * @namespace\r\n */\r\nvar helpers_options = {\r\n\t/**\r\n\t * Converts the given line height `value` in pixels for a specific font `size`.\r\n\t * @param {number|string} value - The lineHeight to parse (eg. 1.6, '14px', '75%', '1.6em').\r\n\t * @param {number} size - The font size (in pixels) used to resolve relative `value`.\r\n\t * @returns {number} The effective line height in pixels (size * 1.2 if value is invalid).\r\n\t * @see https://developer.mozilla.org/en-US/docs/Web/CSS/line-height\r\n\t * @since 2.7.0\r\n\t */\r\n\ttoLineHeight: function(value, size) {\r\n\t\tvar matches = ('' + value).match(/^(normal|(\\d+(?:\\.\\d+)?)(px|em|%)?)$/);\r\n\t\tif (!matches || matches[1] === 'normal') {\r\n\t\t\treturn size * 1.2;\r\n\t\t}\r\n\r\n\t\tvalue = +matches[2];\r\n\r\n\t\tswitch (matches[3]) {\r\n\t\tcase 'px':\r\n\t\t\treturn value;\r\n\t\tcase '%':\r\n\t\t\tvalue /= 100;\r\n\t\t\tbreak;\r\n\t\t}\r\n\r\n\t\treturn size * value;\r\n\t},\r\n\r\n\t/**\r\n\t * Converts the given value into a padding object with pre-computed width/height.\r\n\t * @param {number|object} value - If a number, set the value to all TRBL component,\r\n\t * else, if and object, use defined properties and sets undefined ones to 0.\r\n\t * @returns {object} The padding values (top, right, bottom, left, width, height)\r\n\t * @since 2.7.0\r\n\t */\r\n\ttoPadding: function(value) {\r\n\t\tvar t, r, b, l;\r\n\r\n\t\tif (helpers_core.isObject(value)) {\r\n\t\t\tt = +value.top || 0;\r\n\t\t\tr = +value.right || 0;\r\n\t\t\tb = +value.bottom || 0;\r\n\t\t\tl = +value.left || 0;\r\n\t\t} else {\r\n\t\t\tt = r = b = l = +value || 0;\r\n\t\t}\r\n\r\n\t\treturn {\r\n\t\t\ttop: t,\r\n\t\t\tright: r,\r\n\t\t\tbottom: b,\r\n\t\t\tleft: l,\r\n\t\t\theight: t + b,\r\n\t\t\twidth: l + r\r\n\t\t};\r\n\t},\r\n\r\n\t/**\r\n\t * Parses font options and returns the font object.\r\n\t * @param {object} options - A object that contains font options to be parsed.\r\n\t * @return {object} The font object.\r\n\t * @todo Support font.* options and renamed to toFont().\r\n\t * @private\r\n\t */\r\n\t_parseFont: function(options) {\r\n\t\tvar globalDefaults = core_defaults.global;\r\n\t\tvar size = valueOrDefault(options.fontSize, globalDefaults.defaultFontSize);\r\n\t\tvar font = {\r\n\t\t\tfamily: valueOrDefault(options.fontFamily, globalDefaults.defaultFontFamily),\r\n\t\t\tlineHeight: helpers_core.options.toLineHeight(valueOrDefault(options.lineHeight, globalDefaults.defaultLineHeight), size),\r\n\t\t\tsize: size,\r\n\t\t\tstyle: valueOrDefault(options.fontStyle, globalDefaults.defaultFontStyle),\r\n\t\t\tweight: null,\r\n\t\t\tstring: ''\r\n\t\t};\r\n\r\n\t\tfont.string = toFontString(font);\r\n\t\treturn font;\r\n\t},\r\n\r\n\t/**\r\n\t * Evaluates the given `inputs` sequentially and returns the first defined value.\r\n\t * @param {Array} inputs - An array of values, falling back to the last value.\r\n\t * @param {object} [context] - If defined and the current value is a function, the value\r\n\t * is called with `context` as first argument and the result becomes the new input.\r\n\t * @param {number} [index] - If defined and the current value is an array, the value\r\n\t * at `index` become the new input.\r\n\t * @param {object} [info] - object to return information about resolution in\r\n\t * @param {boolean} [info.cacheable] - Will be set to `false` if option is not cacheable.\r\n\t * @since 2.7.0\r\n\t */\r\n\tresolve: function(inputs, context, index, info) {\r\n\t\tvar cacheable = true;\r\n\t\tvar i, ilen, value;\r\n\r\n\t\tfor (i = 0, ilen = inputs.length; i < ilen; ++i) {\r\n\t\t\tvalue = inputs[i];\r\n\t\t\tif (value === undefined) {\r\n\t\t\t\tcontinue;\r\n\t\t\t}\r\n\t\t\tif (context !== undefined && typeof value === 'function') {\r\n\t\t\t\tvalue = value(context);\r\n\t\t\t\tcacheable = false;\r\n\t\t\t}\r\n\t\t\tif (index !== undefined && helpers_core.isArray(value)) {\r\n\t\t\t\tvalue = value[index];\r\n\t\t\t\tcacheable = false;\r\n\t\t\t}\r\n\t\t\tif (value !== undefined) {\r\n\t\t\t\tif (info && !cacheable) {\r\n\t\t\t\t\tinfo.cacheable = false;\r\n\t\t\t\t}\r\n\t\t\t\treturn value;\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n};\n\n/**\r\n * @alias Chart.helpers.math\r\n * @namespace\r\n */\r\nvar exports$2 = {\r\n\t/**\r\n\t * Returns an array of factors sorted from 1 to sqrt(value)\r\n\t * @private\r\n\t */\r\n\t_factorize: function(value) {\r\n\t\tvar result = [];\r\n\t\tvar sqrt = Math.sqrt(value);\r\n\t\tvar i;\r\n\r\n\t\tfor (i = 1; i < sqrt; i++) {\r\n\t\t\tif (value % i === 0) {\r\n\t\t\t\tresult.push(i);\r\n\t\t\t\tresult.push(value / i);\r\n\t\t\t}\r\n\t\t}\r\n\t\tif (sqrt === (sqrt | 0)) { // if value is a square number\r\n\t\t\tresult.push(sqrt);\r\n\t\t}\r\n\r\n\t\tresult.sort(function(a, b) {\r\n\t\t\treturn a - b;\r\n\t\t}).pop();\r\n\t\treturn result;\r\n\t},\r\n\r\n\tlog10: Math.log10 || function(x) {\r\n\t\tvar exponent = Math.log(x) * Math.LOG10E; // Math.LOG10E = 1 / Math.LN10.\r\n\t\t// Check for whole powers of 10,\r\n\t\t// which due to floating point rounding error should be corrected.\r\n\t\tvar powerOf10 = Math.round(exponent);\r\n\t\tvar isPowerOf10 = x === Math.pow(10, powerOf10);\r\n\r\n\t\treturn isPowerOf10 ? powerOf10 : exponent;\r\n\t}\r\n};\r\n\r\nvar helpers_math = exports$2;\r\n\r\n// DEPRECATIONS\r\n\r\n/**\r\n * Provided for backward compatibility, use Chart.helpers.math.log10 instead.\r\n * @namespace Chart.helpers.log10\r\n * @deprecated since version 2.9.0\r\n * @todo remove at version 3\r\n * @private\r\n */\r\nhelpers_core.log10 = exports$2.log10;\n\nvar getRtlAdapter = function(rectX, width) {\r\n\treturn {\r\n\t\tx: function(x) {\r\n\t\t\treturn rectX + rectX + width - x;\r\n\t\t},\r\n\t\tsetWidth: function(w) {\r\n\t\t\twidth = w;\r\n\t\t},\r\n\t\ttextAlign: function(align) {\r\n\t\t\tif (align === 'center') {\r\n\t\t\t\treturn align;\r\n\t\t\t}\r\n\t\t\treturn align === 'right' ? 'left' : 'right';\r\n\t\t},\r\n\t\txPlus: function(x, value) {\r\n\t\t\treturn x - value;\r\n\t\t},\r\n\t\tleftForLtr: function(x, itemWidth) {\r\n\t\t\treturn x - itemWidth;\r\n\t\t},\r\n\t};\r\n};\r\n\r\nvar getLtrAdapter = function() {\r\n\treturn {\r\n\t\tx: function(x) {\r\n\t\t\treturn x;\r\n\t\t},\r\n\t\tsetWidth: function(w) { // eslint-disable-line no-unused-vars\r\n\t\t},\r\n\t\ttextAlign: function(align) {\r\n\t\t\treturn align;\r\n\t\t},\r\n\t\txPlus: function(x, value) {\r\n\t\t\treturn x + value;\r\n\t\t},\r\n\t\tleftForLtr: function(x, _itemWidth) { // eslint-disable-line no-unused-vars\r\n\t\t\treturn x;\r\n\t\t},\r\n\t};\r\n};\r\n\r\nvar getAdapter = function(rtl, rectX, width) {\r\n\treturn rtl ? getRtlAdapter(rectX, width) : getLtrAdapter();\r\n};\r\n\r\nvar overrideTextDirection = function(ctx, direction) {\r\n\tvar style, original;\r\n\tif (direction === 'ltr' || direction === 'rtl') {\r\n\t\tstyle = ctx.canvas.style;\r\n\t\toriginal = [\r\n\t\t\tstyle.getPropertyValue('direction'),\r\n\t\t\tstyle.getPropertyPriority('direction'),\r\n\t\t];\r\n\r\n\t\tstyle.setProperty('direction', direction, 'important');\r\n\t\tctx.prevTextDirection = original;\r\n\t}\r\n};\r\n\r\nvar restoreTextDirection = function(ctx) {\r\n\tvar original = ctx.prevTextDirection;\r\n\tif (original !== undefined) {\r\n\t\tdelete ctx.prevTextDirection;\r\n\t\tctx.canvas.style.setProperty('direction', original[0], original[1]);\r\n\t}\r\n};\r\n\r\nvar helpers_rtl = {\r\n\tgetRtlAdapter: getAdapter,\r\n\toverrideTextDirection: overrideTextDirection,\r\n\trestoreTextDirection: restoreTextDirection,\r\n};\n\nvar helpers$1 = helpers_core;\r\nvar easing = helpers_easing;\r\nvar canvas = helpers_canvas;\r\nvar options = helpers_options;\r\nvar math = helpers_math;\r\nvar rtl = helpers_rtl;\nhelpers$1.easing = easing;\nhelpers$1.canvas = canvas;\nhelpers$1.options = options;\nhelpers$1.math = math;\nhelpers$1.rtl = rtl;\n\nfunction interpolate(start, view, model, ease) {\r\n\tvar keys = Object.keys(model);\r\n\tvar i, ilen, key, actual, origin, target, type, c0, c1;\r\n\r\n\tfor (i = 0, ilen = keys.length; i < ilen; ++i) {\r\n\t\tkey = keys[i];\r\n\r\n\t\ttarget = model[key];\r\n\r\n\t\t// if a value is added to the model after pivot() has been called, the view\r\n\t\t// doesn't contain it, so let's initialize the view to the target value.\r\n\t\tif (!view.hasOwnProperty(key)) {\r\n\t\t\tview[key] = target;\r\n\t\t}\r\n\r\n\t\tactual = view[key];\r\n\r\n\t\tif (actual === target || key[0] === '_') {\r\n\t\t\tcontinue;\r\n\t\t}\r\n\r\n\t\tif (!start.hasOwnProperty(key)) {\r\n\t\t\tstart[key] = actual;\r\n\t\t}\r\n\r\n\t\torigin = start[key];\r\n\r\n\t\ttype = typeof target;\r\n\r\n\t\tif (type === typeof origin) {\r\n\t\t\tif (type === 'string') {\r\n\t\t\t\tc0 = chartjsColor(origin);\r\n\t\t\t\tif (c0.valid) {\r\n\t\t\t\t\tc1 = chartjsColor(target);\r\n\t\t\t\t\tif (c1.valid) {\r\n\t\t\t\t\t\tview[key] = c1.mix(c0, ease).rgbString();\r\n\t\t\t\t\t\tcontinue;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t} else if (helpers$1.isFinite(origin) && helpers$1.isFinite(target)) {\r\n\t\t\t\tview[key] = origin + (target - origin) * ease;\r\n\t\t\t\tcontinue;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tview[key] = target;\r\n\t}\r\n}\r\n\r\nvar Element = function(configuration) {\r\n\thelpers$1.extend(this, configuration);\r\n\tthis.initialize.apply(this, arguments);\r\n};\r\n\r\nhelpers$1.extend(Element.prototype, {\r\n\t_type: undefined,\r\n\r\n\tinitialize: function() {\r\n\t\tthis.hidden = false;\r\n\t},\r\n\r\n\tpivot: function() {\r\n\t\tvar me = this;\r\n\t\tif (!me._view) {\r\n\t\t\tme._view = helpers$1.extend({}, me._model);\r\n\t\t}\r\n\t\tme._start = {};\r\n\t\treturn me;\r\n\t},\r\n\r\n\ttransition: function(ease) {\r\n\t\tvar me = this;\r\n\t\tvar model = me._model;\r\n\t\tvar start = me._start;\r\n\t\tvar view = me._view;\r\n\r\n\t\t// No animation -> No Transition\r\n\t\tif (!model || ease === 1) {\r\n\t\t\tme._view = helpers$1.extend({}, model);\r\n\t\t\tme._start = null;\r\n\t\t\treturn me;\r\n\t\t}\r\n\r\n\t\tif (!view) {\r\n\t\t\tview = me._view = {};\r\n\t\t}\r\n\r\n\t\tif (!start) {\r\n\t\t\tstart = me._start = {};\r\n\t\t}\r\n\r\n\t\tinterpolate(start, view, model, ease);\r\n\r\n\t\treturn me;\r\n\t},\r\n\r\n\ttooltipPosition: function() {\r\n\t\treturn {\r\n\t\t\tx: this._model.x,\r\n\t\t\ty: this._model.y\r\n\t\t};\r\n\t},\r\n\r\n\thasValue: function() {\r\n\t\treturn helpers$1.isNumber(this._model.x) && helpers$1.isNumber(this._model.y);\r\n\t}\r\n});\r\n\r\nElement.extend = helpers$1.inherits;\r\n\r\nvar core_element = Element;\n\nvar exports$3 = core_element.extend({\r\n\tchart: null, // the animation associated chart instance\r\n\tcurrentStep: 0, // the current animation step\r\n\tnumSteps: 60, // default number of steps\r\n\teasing: '', // the easing to use for this animation\r\n\trender: null, // render function used by the animation service\r\n\r\n\tonAnimationProgress: null, // user specified callback to fire on each step of the animation\r\n\tonAnimationComplete: null, // user specified callback to fire when the animation finishes\r\n});\r\n\r\nvar core_animation = exports$3;\r\n\r\n// DEPRECATIONS\r\n\r\n/**\r\n * Provided for backward compatibility, use Chart.Animation instead\r\n * @prop Chart.Animation#animationObject\r\n * @deprecated since version 2.6.0\r\n * @todo remove at version 3\r\n */\r\nObject.defineProperty(exports$3.prototype, 'animationObject', {\r\n\tget: function() {\r\n\t\treturn this;\r\n\t}\r\n});\r\n\r\n/**\r\n * Provided for backward compatibility, use Chart.Animation#chart instead\r\n * @prop Chart.Animation#chartInstance\r\n * @deprecated since version 2.6.0\r\n * @todo remove at version 3\r\n */\r\nObject.defineProperty(exports$3.prototype, 'chartInstance', {\r\n\tget: function() {\r\n\t\treturn this.chart;\r\n\t},\r\n\tset: function(value) {\r\n\t\tthis.chart = value;\r\n\t}\r\n});\n\ncore_defaults._set('global', {\r\n\tanimation: {\r\n\t\tduration: 1000,\r\n\t\teasing: 'easeOutQuart',\r\n\t\tonProgress: helpers$1.noop,\r\n\t\tonComplete: helpers$1.noop\r\n\t}\r\n});\r\n\r\nvar core_animations = {\r\n\tanimations: [],\r\n\trequest: null,\r\n\r\n\t/**\r\n\t * @param {Chart} chart - The chart to animate.\r\n\t * @param {Chart.Animation} animation - The animation that we will animate.\r\n\t * @param {number} duration - The animation duration in ms.\r\n\t * @param {boolean} lazy - if true, the chart is not marked as animating to enable more responsive interactions\r\n\t */\r\n\taddAnimation: function(chart, animation, duration, lazy) {\r\n\t\tvar animations = this.animations;\r\n\t\tvar i, ilen;\r\n\r\n\t\tanimation.chart = chart;\r\n\t\tanimation.startTime = Date.now();\r\n\t\tanimation.duration = duration;\r\n\r\n\t\tif (!lazy) {\r\n\t\t\tchart.animating = true;\r\n\t\t}\r\n\r\n\t\tfor (i = 0, ilen = animations.length; i < ilen; ++i) {\r\n\t\t\tif (animations[i].chart === chart) {\r\n\t\t\t\tanimations[i] = animation;\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tanimations.push(animation);\r\n\r\n\t\t// If there are no animations queued, manually kickstart a digest, for lack of a better word\r\n\t\tif (animations.length === 1) {\r\n\t\t\tthis.requestAnimationFrame();\r\n\t\t}\r\n\t},\r\n\r\n\tcancelAnimation: function(chart) {\r\n\t\tvar index = helpers$1.findIndex(this.animations, function(animation) {\r\n\t\t\treturn animation.chart === chart;\r\n\t\t});\r\n\r\n\t\tif (index !== -1) {\r\n\t\t\tthis.animations.splice(index, 1);\r\n\t\t\tchart.animating = false;\r\n\t\t}\r\n\t},\r\n\r\n\trequestAnimationFrame: function() {\r\n\t\tvar me = this;\r\n\t\tif (me.request === null) {\r\n\t\t\t// Skip animation frame requests until the active one is executed.\r\n\t\t\t// This can happen when processing mouse events, e.g. 'mousemove'\r\n\t\t\t// and 'mouseout' events will trigger multiple renders.\r\n\t\t\tme.request = helpers$1.requestAnimFrame.call(window, function() {\r\n\t\t\t\tme.request = null;\r\n\t\t\t\tme.startDigest();\r\n\t\t\t});\r\n\t\t}\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\tstartDigest: function() {\r\n\t\tvar me = this;\r\n\r\n\t\tme.advance();\r\n\r\n\t\t// Do we have more stuff to animate?\r\n\t\tif (me.animations.length > 0) {\r\n\t\t\tme.requestAnimationFrame();\r\n\t\t}\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\tadvance: function() {\r\n\t\tvar animations = this.animations;\r\n\t\tvar animation, chart, numSteps, nextStep;\r\n\t\tvar i = 0;\r\n\r\n\t\t// 1 animation per chart, so we are looping charts here\r\n\t\twhile (i < animations.length) {\r\n\t\t\tanimation = animations[i];\r\n\t\t\tchart = animation.chart;\r\n\t\t\tnumSteps = animation.numSteps;\r\n\r\n\t\t\t// Make sure that currentStep starts at 1\r\n\t\t\t// https://github.com/chartjs/Chart.js/issues/6104\r\n\t\t\tnextStep = Math.floor((Date.now() - animation.startTime) / animation.duration * numSteps) + 1;\r\n\t\t\tanimation.currentStep = Math.min(nextStep, numSteps);\r\n\r\n\t\t\thelpers$1.callback(animation.render, [chart, animation], chart);\r\n\t\t\thelpers$1.callback(animation.onAnimationProgress, [animation], chart);\r\n\r\n\t\t\tif (animation.currentStep >= numSteps) {\r\n\t\t\t\thelpers$1.callback(animation.onAnimationComplete, [animation], chart);\r\n\t\t\t\tchart.animating = false;\r\n\t\t\t\tanimations.splice(i, 1);\r\n\t\t\t} else {\r\n\t\t\t\t++i;\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n};\n\nvar resolve = helpers$1.options.resolve;\r\n\r\nvar arrayEvents = ['push', 'pop', 'shift', 'splice', 'unshift'];\r\n\r\n/**\r\n * Hooks the array methods that add or remove values ('push', pop', 'shift', 'splice',\r\n * 'unshift') and notify the listener AFTER the array has been altered. Listeners are\r\n * called on the 'onData*' callbacks (e.g. onDataPush, etc.) with same arguments.\r\n */\r\nfunction listenArrayEvents(array, listener) {\r\n\tif (array._chartjs) {\r\n\t\tarray._chartjs.listeners.push(listener);\r\n\t\treturn;\r\n\t}\r\n\r\n\tObject.defineProperty(array, '_chartjs', {\r\n\t\tconfigurable: true,\r\n\t\tenumerable: false,\r\n\t\tvalue: {\r\n\t\t\tlisteners: [listener]\r\n\t\t}\r\n\t});\r\n\r\n\tarrayEvents.forEach(function(key) {\r\n\t\tvar method = 'onData' + key.charAt(0).toUpperCase() + key.slice(1);\r\n\t\tvar base = array[key];\r\n\r\n\t\tObject.defineProperty(array, key, {\r\n\t\t\tconfigurable: true,\r\n\t\t\tenumerable: false,\r\n\t\t\tvalue: function() {\r\n\t\t\t\tvar args = Array.prototype.slice.call(arguments);\r\n\t\t\t\tvar res = base.apply(this, args);\r\n\r\n\t\t\t\thelpers$1.each(array._chartjs.listeners, function(object) {\r\n\t\t\t\t\tif (typeof object[method] === 'function') {\r\n\t\t\t\t\t\tobject[method].apply(object, args);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\r\n\t\t\t\treturn res;\r\n\t\t\t}\r\n\t\t});\r\n\t});\r\n}\r\n\r\n/**\r\n * Removes the given array event listener and cleanup extra attached properties (such as\r\n * the _chartjs stub and overridden methods) if array doesn't have any more listeners.\r\n */\r\nfunction unlistenArrayEvents(array, listener) {\r\n\tvar stub = array._chartjs;\r\n\tif (!stub) {\r\n\t\treturn;\r\n\t}\r\n\r\n\tvar listeners = stub.listeners;\r\n\tvar index = listeners.indexOf(listener);\r\n\tif (index !== -1) {\r\n\t\tlisteners.splice(index, 1);\r\n\t}\r\n\r\n\tif (listeners.length > 0) {\r\n\t\treturn;\r\n\t}\r\n\r\n\tarrayEvents.forEach(function(key) {\r\n\t\tdelete array[key];\r\n\t});\r\n\r\n\tdelete array._chartjs;\r\n}\r\n\r\n// Base class for all dataset controllers (line, bar, etc)\r\nvar DatasetController = function(chart, datasetIndex) {\r\n\tthis.initialize(chart, datasetIndex);\r\n};\r\n\r\nhelpers$1.extend(DatasetController.prototype, {\r\n\r\n\t/**\r\n\t * Element type used to generate a meta dataset (e.g. Chart.element.Line).\r\n\t * @type {Chart.core.element}\r\n\t */\r\n\tdatasetElementType: null,\r\n\r\n\t/**\r\n\t * Element type used to generate a meta data (e.g. Chart.element.Point).\r\n\t * @type {Chart.core.element}\r\n\t */\r\n\tdataElementType: null,\r\n\r\n\t/**\r\n\t * Dataset element option keys to be resolved in _resolveDatasetElementOptions.\r\n\t * A derived controller may override this to resolve controller-specific options.\r\n\t * The keys defined here are for backward compatibility for legend styles.\r\n\t * @private\r\n\t */\r\n\t_datasetElementOptions: [\r\n\t\t'backgroundColor',\r\n\t\t'borderCapStyle',\r\n\t\t'borderColor',\r\n\t\t'borderDash',\r\n\t\t'borderDashOffset',\r\n\t\t'borderJoinStyle',\r\n\t\t'borderWidth'\r\n\t],\r\n\r\n\t/**\r\n\t * Data element option keys to be resolved in _resolveDataElementOptions.\r\n\t * A derived controller may override this to resolve controller-specific options.\r\n\t * The keys defined here are for backward compatibility for legend styles.\r\n\t * @private\r\n\t */\r\n\t_dataElementOptions: [\r\n\t\t'backgroundColor',\r\n\t\t'borderColor',\r\n\t\t'borderWidth',\r\n\t\t'pointStyle'\r\n\t],\r\n\r\n\tinitialize: function(chart, datasetIndex) {\r\n\t\tvar me = this;\r\n\t\tme.chart = chart;\r\n\t\tme.index = datasetIndex;\r\n\t\tme.linkScales();\r\n\t\tme.addElements();\r\n\t\tme._type = me.getMeta().type;\r\n\t},\r\n\r\n\tupdateIndex: function(datasetIndex) {\r\n\t\tthis.index = datasetIndex;\r\n\t},\r\n\r\n\tlinkScales: function() {\r\n\t\tvar me = this;\r\n\t\tvar meta = me.getMeta();\r\n\t\tvar chart = me.chart;\r\n\t\tvar scales = chart.scales;\r\n\t\tvar dataset = me.getDataset();\r\n\t\tvar scalesOpts = chart.options.scales;\r\n\r\n\t\tif (meta.xAxisID === null || !(meta.xAxisID in scales) || dataset.xAxisID) {\r\n\t\t\tmeta.xAxisID = dataset.xAxisID || scalesOpts.xAxes[0].id;\r\n\t\t}\r\n\t\tif (meta.yAxisID === null || !(meta.yAxisID in scales) || dataset.yAxisID) {\r\n\t\t\tmeta.yAxisID = dataset.yAxisID || scalesOpts.yAxes[0].id;\r\n\t\t}\r\n\t},\r\n\r\n\tgetDataset: function() {\r\n\t\treturn this.chart.data.datasets[this.index];\r\n\t},\r\n\r\n\tgetMeta: function() {\r\n\t\treturn this.chart.getDatasetMeta(this.index);\r\n\t},\r\n\r\n\tgetScaleForId: function(scaleID) {\r\n\t\treturn this.chart.scales[scaleID];\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_getValueScaleId: function() {\r\n\t\treturn this.getMeta().yAxisID;\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_getIndexScaleId: function() {\r\n\t\treturn this.getMeta().xAxisID;\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_getValueScale: function() {\r\n\t\treturn this.getScaleForId(this._getValueScaleId());\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_getIndexScale: function() {\r\n\t\treturn this.getScaleForId(this._getIndexScaleId());\r\n\t},\r\n\r\n\treset: function() {\r\n\t\tthis._update(true);\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\tdestroy: function() {\r\n\t\tif (this._data) {\r\n\t\t\tunlistenArrayEvents(this._data, this);\r\n\t\t}\r\n\t},\r\n\r\n\tcreateMetaDataset: function() {\r\n\t\tvar me = this;\r\n\t\tvar type = me.datasetElementType;\r\n\t\treturn type && new type({\r\n\t\t\t_chart: me.chart,\r\n\t\t\t_datasetIndex: me.index\r\n\t\t});\r\n\t},\r\n\r\n\tcreateMetaData: function(index) {\r\n\t\tvar me = this;\r\n\t\tvar type = me.dataElementType;\r\n\t\treturn type && new type({\r\n\t\t\t_chart: me.chart,\r\n\t\t\t_datasetIndex: me.index,\r\n\t\t\t_index: index\r\n\t\t});\r\n\t},\r\n\r\n\taddElements: function() {\r\n\t\tvar me = this;\r\n\t\tvar meta = me.getMeta();\r\n\t\tvar data = me.getDataset().data || [];\r\n\t\tvar metaData = meta.data;\r\n\t\tvar i, ilen;\r\n\r\n\t\tfor (i = 0, ilen = data.length; i < ilen; ++i) {\r\n\t\t\tmetaData[i] = metaData[i] || me.createMetaData(i);\r\n\t\t}\r\n\r\n\t\tmeta.dataset = meta.dataset || me.createMetaDataset();\r\n\t},\r\n\r\n\taddElementAndReset: function(index) {\r\n\t\tvar element = this.createMetaData(index);\r\n\t\tthis.getMeta().data.splice(index, 0, element);\r\n\t\tthis.updateElement(element, index, true);\r\n\t},\r\n\r\n\tbuildOrUpdateElements: function() {\r\n\t\tvar me = this;\r\n\t\tvar dataset = me.getDataset();\r\n\t\tvar data = dataset.data || (dataset.data = []);\r\n\r\n\t\t// In order to correctly handle data addition/deletion animation (an thus simulate\r\n\t\t// real-time charts), we need to monitor these data modifications and synchronize\r\n\t\t// the internal meta data accordingly.\r\n\t\tif (me._data !== data) {\r\n\t\t\tif (me._data) {\r\n\t\t\t\t// This case happens when the user replaced the data array instance.\r\n\t\t\t\tunlistenArrayEvents(me._data, me);\r\n\t\t\t}\r\n\r\n\t\t\tif (data && Object.isExtensible(data)) {\r\n\t\t\t\tlistenArrayEvents(data, me);\r\n\t\t\t}\r\n\t\t\tme._data = data;\r\n\t\t}\r\n\r\n\t\t// Re-sync meta data in case the user replaced the data array or if we missed\r\n\t\t// any updates and so make sure that we handle number of datapoints changing.\r\n\t\tme.resyncElements();\r\n\t},\r\n\r\n\t/**\r\n\t * Returns the merged user-supplied and default dataset-level options\r\n\t * @private\r\n\t */\r\n\t_configure: function() {\r\n\t\tvar me = this;\r\n\t\tme._config = helpers$1.merge(Object.create(null), [\r\n\t\t\tme.chart.options.datasets[me._type],\r\n\t\t\tme.getDataset(),\r\n\t\t], {\r\n\t\t\tmerger: function(key, target, source) {\r\n\t\t\t\tif (key !== '_meta' && key !== 'data') {\r\n\t\t\t\t\thelpers$1._merger(key, target, source);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t});\r\n\t},\r\n\r\n\t_update: function(reset) {\r\n\t\tvar me = this;\r\n\t\tme._configure();\r\n\t\tme._cachedDataOpts = null;\r\n\t\tme.update(reset);\r\n\t},\r\n\r\n\tupdate: helpers$1.noop,\r\n\r\n\ttransition: function(easingValue) {\r\n\t\tvar meta = this.getMeta();\r\n\t\tvar elements = meta.data || [];\r\n\t\tvar ilen = elements.length;\r\n\t\tvar i = 0;\r\n\r\n\t\tfor (; i < ilen; ++i) {\r\n\t\t\telements[i].transition(easingValue);\r\n\t\t}\r\n\r\n\t\tif (meta.dataset) {\r\n\t\t\tmeta.dataset.transition(easingValue);\r\n\t\t}\r\n\t},\r\n\r\n\tdraw: function() {\r\n\t\tvar meta = this.getMeta();\r\n\t\tvar elements = meta.data || [];\r\n\t\tvar ilen = elements.length;\r\n\t\tvar i = 0;\r\n\r\n\t\tif (meta.dataset) {\r\n\t\t\tmeta.dataset.draw();\r\n\t\t}\r\n\r\n\t\tfor (; i < ilen; ++i) {\r\n\t\t\telements[i].draw();\r\n\t\t}\r\n\t},\r\n\r\n\t/**\r\n\t * Returns a set of predefined style properties that should be used to represent the dataset\r\n\t * or the data if the index is specified\r\n\t * @param {number} index - data index\r\n\t * @return {IStyleInterface} style object\r\n\t */\r\n\tgetStyle: function(index) {\r\n\t\tvar me = this;\r\n\t\tvar meta = me.getMeta();\r\n\t\tvar dataset = meta.dataset;\r\n\t\tvar style;\r\n\r\n\t\tme._configure();\r\n\t\tif (dataset && index === undefined) {\r\n\t\t\tstyle = me._resolveDatasetElementOptions(dataset || {});\r\n\t\t} else {\r\n\t\t\tindex = index || 0;\r\n\t\t\tstyle = me._resolveDataElementOptions(meta.data[index] || {}, index);\r\n\t\t}\r\n\r\n\t\tif (style.fill === false || style.fill === null) {\r\n\t\t\tstyle.backgroundColor = style.borderColor;\r\n\t\t}\r\n\r\n\t\treturn style;\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_resolveDatasetElementOptions: function(element, hover) {\r\n\t\tvar me = this;\r\n\t\tvar chart = me.chart;\r\n\t\tvar datasetOpts = me._config;\r\n\t\tvar custom = element.custom || {};\r\n\t\tvar options = chart.options.elements[me.datasetElementType.prototype._type] || {};\r\n\t\tvar elementOptions = me._datasetElementOptions;\r\n\t\tvar values = {};\r\n\t\tvar i, ilen, key, readKey;\r\n\r\n\t\t// Scriptable options\r\n\t\tvar context = {\r\n\t\t\tchart: chart,\r\n\t\t\tdataset: me.getDataset(),\r\n\t\t\tdatasetIndex: me.index,\r\n\t\t\thover: hover\r\n\t\t};\r\n\r\n\t\tfor (i = 0, ilen = elementOptions.length; i < ilen; ++i) {\r\n\t\t\tkey = elementOptions[i];\r\n\t\t\treadKey = hover ? 'hover' + key.charAt(0).toUpperCase() + key.slice(1) : key;\r\n\t\t\tvalues[key] = resolve([\r\n\t\t\t\tcustom[readKey],\r\n\t\t\t\tdatasetOpts[readKey],\r\n\t\t\t\toptions[readKey]\r\n\t\t\t], context);\r\n\t\t}\r\n\r\n\t\treturn values;\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_resolveDataElementOptions: function(element, index) {\r\n\t\tvar me = this;\r\n\t\tvar custom = element && element.custom;\r\n\t\tvar cached = me._cachedDataOpts;\r\n\t\tif (cached && !custom) {\r\n\t\t\treturn cached;\r\n\t\t}\r\n\t\tvar chart = me.chart;\r\n\t\tvar datasetOpts = me._config;\r\n\t\tvar options = chart.options.elements[me.dataElementType.prototype._type] || {};\r\n\t\tvar elementOptions = me._dataElementOptions;\r\n\t\tvar values = {};\r\n\r\n\t\t// Scriptable options\r\n\t\tvar context = {\r\n\t\t\tchart: chart,\r\n\t\t\tdataIndex: index,\r\n\t\t\tdataset: me.getDataset(),\r\n\t\t\tdatasetIndex: me.index\r\n\t\t};\r\n\r\n\t\t// `resolve` sets cacheable to `false` if any option is indexed or scripted\r\n\t\tvar info = {cacheable: !custom};\r\n\r\n\t\tvar keys, i, ilen, key;\r\n\r\n\t\tcustom = custom || {};\r\n\r\n\t\tif (helpers$1.isArray(elementOptions)) {\r\n\t\t\tfor (i = 0, ilen = elementOptions.length; i < ilen; ++i) {\r\n\t\t\t\tkey = elementOptions[i];\r\n\t\t\t\tvalues[key] = resolve([\r\n\t\t\t\t\tcustom[key],\r\n\t\t\t\t\tdatasetOpts[key],\r\n\t\t\t\t\toptions[key]\r\n\t\t\t\t], context, index, info);\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\tkeys = Object.keys(elementOptions);\r\n\t\t\tfor (i = 0, ilen = keys.length; i < ilen; ++i) {\r\n\t\t\t\tkey = keys[i];\r\n\t\t\t\tvalues[key] = resolve([\r\n\t\t\t\t\tcustom[key],\r\n\t\t\t\t\tdatasetOpts[elementOptions[key]],\r\n\t\t\t\t\tdatasetOpts[key],\r\n\t\t\t\t\toptions[key]\r\n\t\t\t\t], context, index, info);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tif (info.cacheable) {\r\n\t\t\tme._cachedDataOpts = Object.freeze(values);\r\n\t\t}\r\n\r\n\t\treturn values;\r\n\t},\r\n\r\n\tremoveHoverStyle: function(element) {\r\n\t\thelpers$1.merge(element._model, element.$previousStyle || {});\r\n\t\tdelete element.$previousStyle;\r\n\t},\r\n\r\n\tsetHoverStyle: function(element) {\r\n\t\tvar dataset = this.chart.data.datasets[element._datasetIndex];\r\n\t\tvar index = element._index;\r\n\t\tvar custom = element.custom || {};\r\n\t\tvar model = element._model;\r\n\t\tvar getHoverColor = helpers$1.getHoverColor;\r\n\r\n\t\telement.$previousStyle = {\r\n\t\t\tbackgroundColor: model.backgroundColor,\r\n\t\t\tborderColor: model.borderColor,\r\n\t\t\tborderWidth: model.borderWidth\r\n\t\t};\r\n\r\n\t\tmodel.backgroundColor = resolve([custom.hoverBackgroundColor, dataset.hoverBackgroundColor, getHoverColor(model.backgroundColor)], undefined, index);\r\n\t\tmodel.borderColor = resolve([custom.hoverBorderColor, dataset.hoverBorderColor, getHoverColor(model.borderColor)], undefined, index);\r\n\t\tmodel.borderWidth = resolve([custom.hoverBorderWidth, dataset.hoverBorderWidth, model.borderWidth], undefined, index);\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_removeDatasetHoverStyle: function() {\r\n\t\tvar element = this.getMeta().dataset;\r\n\r\n\t\tif (element) {\r\n\t\t\tthis.removeHoverStyle(element);\r\n\t\t}\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_setDatasetHoverStyle: function() {\r\n\t\tvar element = this.getMeta().dataset;\r\n\t\tvar prev = {};\r\n\t\tvar i, ilen, key, keys, hoverOptions, model;\r\n\r\n\t\tif (!element) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tmodel = element._model;\r\n\t\thoverOptions = this._resolveDatasetElementOptions(element, true);\r\n\r\n\t\tkeys = Object.keys(hoverOptions);\r\n\t\tfor (i = 0, ilen = keys.length; i < ilen; ++i) {\r\n\t\t\tkey = keys[i];\r\n\t\t\tprev[key] = model[key];\r\n\t\t\tmodel[key] = hoverOptions[key];\r\n\t\t}\r\n\r\n\t\telement.$previousStyle = prev;\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\tresyncElements: function() {\r\n\t\tvar me = this;\r\n\t\tvar meta = me.getMeta();\r\n\t\tvar data = me.getDataset().data;\r\n\t\tvar numMeta = meta.data.length;\r\n\t\tvar numData = data.length;\r\n\r\n\t\tif (numData < numMeta) {\r\n\t\t\tmeta.data.splice(numData, numMeta - numData);\r\n\t\t} else if (numData > numMeta) {\r\n\t\t\tme.insertElements(numMeta, numData - numMeta);\r\n\t\t}\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\tinsertElements: function(start, count) {\r\n\t\tfor (var i = 0; i < count; ++i) {\r\n\t\t\tthis.addElementAndReset(start + i);\r\n\t\t}\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\tonDataPush: function() {\r\n\t\tvar count = arguments.length;\r\n\t\tthis.insertElements(this.getDataset().data.length - count, count);\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\tonDataPop: function() {\r\n\t\tthis.getMeta().data.pop();\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\tonDataShift: function() {\r\n\t\tthis.getMeta().data.shift();\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\tonDataSplice: function(start, count) {\r\n\t\tthis.getMeta().data.splice(start, count);\r\n\t\tthis.insertElements(start, arguments.length - 2);\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\tonDataUnshift: function() {\r\n\t\tthis.insertElements(0, arguments.length);\r\n\t}\r\n});\r\n\r\nDatasetController.extend = helpers$1.inherits;\r\n\r\nvar core_datasetController = DatasetController;\n\nvar TAU = Math.PI * 2;\r\n\r\ncore_defaults._set('global', {\r\n\telements: {\r\n\t\tarc: {\r\n\t\t\tbackgroundColor: core_defaults.global.defaultColor,\r\n\t\t\tborderColor: '#fff',\r\n\t\t\tborderWidth: 2,\r\n\t\t\tborderAlign: 'center'\r\n\t\t}\r\n\t}\r\n});\r\n\r\nfunction clipArc(ctx, arc) {\r\n\tvar startAngle = arc.startAngle;\r\n\tvar endAngle = arc.endAngle;\r\n\tvar pixelMargin = arc.pixelMargin;\r\n\tvar angleMargin = pixelMargin / arc.outerRadius;\r\n\tvar x = arc.x;\r\n\tvar y = arc.y;\r\n\r\n\t// Draw an inner border by cliping the arc and drawing a double-width border\r\n\t// Enlarge the clipping arc by 0.33 pixels to eliminate glitches between borders\r\n\tctx.beginPath();\r\n\tctx.arc(x, y, arc.outerRadius, startAngle - angleMargin, endAngle + angleMargin);\r\n\tif (arc.innerRadius > pixelMargin) {\r\n\t\tangleMargin = pixelMargin / arc.innerRadius;\r\n\t\tctx.arc(x, y, arc.innerRadius - pixelMargin, endAngle + angleMargin, startAngle - angleMargin, true);\r\n\t} else {\r\n\t\tctx.arc(x, y, pixelMargin, endAngle + Math.PI / 2, startAngle - Math.PI / 2);\r\n\t}\r\n\tctx.closePath();\r\n\tctx.clip();\r\n}\r\n\r\nfunction drawFullCircleBorders(ctx, vm, arc, inner) {\r\n\tvar endAngle = arc.endAngle;\r\n\tvar i;\r\n\r\n\tif (inner) {\r\n\t\tarc.endAngle = arc.startAngle + TAU;\r\n\t\tclipArc(ctx, arc);\r\n\t\tarc.endAngle = endAngle;\r\n\t\tif (arc.endAngle === arc.startAngle && arc.fullCircles) {\r\n\t\t\tarc.endAngle += TAU;\r\n\t\t\tarc.fullCircles--;\r\n\t\t}\r\n\t}\r\n\r\n\tctx.beginPath();\r\n\tctx.arc(arc.x, arc.y, arc.innerRadius, arc.startAngle + TAU, arc.startAngle, true);\r\n\tfor (i = 0; i < arc.fullCircles; ++i) {\r\n\t\tctx.stroke();\r\n\t}\r\n\r\n\tctx.beginPath();\r\n\tctx.arc(arc.x, arc.y, vm.outerRadius, arc.startAngle, arc.startAngle + TAU);\r\n\tfor (i = 0; i < arc.fullCircles; ++i) {\r\n\t\tctx.stroke();\r\n\t}\r\n}\r\n\r\nfunction drawBorder(ctx, vm, arc) {\r\n\tvar inner = vm.borderAlign === 'inner';\r\n\r\n\tif (inner) {\r\n\t\tctx.lineWidth = vm.borderWidth * 2;\r\n\t\tctx.lineJoin = 'round';\r\n\t} else {\r\n\t\tctx.lineWidth = vm.borderWidth;\r\n\t\tctx.lineJoin = 'bevel';\r\n\t}\r\n\r\n\tif (arc.fullCircles) {\r\n\t\tdrawFullCircleBorders(ctx, vm, arc, inner);\r\n\t}\r\n\r\n\tif (inner) {\r\n\t\tclipArc(ctx, arc);\r\n\t}\r\n\r\n\tctx.beginPath();\r\n\tctx.arc(arc.x, arc.y, vm.outerRadius, arc.startAngle, arc.endAngle);\r\n\tctx.arc(arc.x, arc.y, arc.innerRadius, arc.endAngle, arc.startAngle, true);\r\n\tctx.closePath();\r\n\tctx.stroke();\r\n}\r\n\r\nvar element_arc = core_element.extend({\r\n\t_type: 'arc',\r\n\r\n\tinLabelRange: function(mouseX) {\r\n\t\tvar vm = this._view;\r\n\r\n\t\tif (vm) {\r\n\t\t\treturn (Math.pow(mouseX - vm.x, 2) < Math.pow(vm.radius + vm.hoverRadius, 2));\r\n\t\t}\r\n\t\treturn false;\r\n\t},\r\n\r\n\tinRange: function(chartX, chartY) {\r\n\t\tvar vm = this._view;\r\n\r\n\t\tif (vm) {\r\n\t\t\tvar pointRelativePosition = helpers$1.getAngleFromPoint(vm, {x: chartX, y: chartY});\r\n\t\t\tvar angle = pointRelativePosition.angle;\r\n\t\t\tvar distance = pointRelativePosition.distance;\r\n\r\n\t\t\t// Sanitise angle range\r\n\t\t\tvar startAngle = vm.startAngle;\r\n\t\t\tvar endAngle = vm.endAngle;\r\n\t\t\twhile (endAngle < startAngle) {\r\n\t\t\t\tendAngle += TAU;\r\n\t\t\t}\r\n\t\t\twhile (angle > endAngle) {\r\n\t\t\t\tangle -= TAU;\r\n\t\t\t}\r\n\t\t\twhile (angle < startAngle) {\r\n\t\t\t\tangle += TAU;\r\n\t\t\t}\r\n\r\n\t\t\t// Check if within the range of the open/close angle\r\n\t\t\tvar betweenAngles = (angle >= startAngle && angle <= endAngle);\r\n\t\t\tvar withinRadius = (distance >= vm.innerRadius && distance <= vm.outerRadius);\r\n\r\n\t\t\treturn (betweenAngles && withinRadius);\r\n\t\t}\r\n\t\treturn false;\r\n\t},\r\n\r\n\tgetCenterPoint: function() {\r\n\t\tvar vm = this._view;\r\n\t\tvar halfAngle = (vm.startAngle + vm.endAngle) / 2;\r\n\t\tvar halfRadius = (vm.innerRadius + vm.outerRadius) / 2;\r\n\t\treturn {\r\n\t\t\tx: vm.x + Math.cos(halfAngle) * halfRadius,\r\n\t\t\ty: vm.y + Math.sin(halfAngle) * halfRadius\r\n\t\t};\r\n\t},\r\n\r\n\tgetArea: function() {\r\n\t\tvar vm = this._view;\r\n\t\treturn Math.PI * ((vm.endAngle - vm.startAngle) / (2 * Math.PI)) * (Math.pow(vm.outerRadius, 2) - Math.pow(vm.innerRadius, 2));\r\n\t},\r\n\r\n\ttooltipPosition: function() {\r\n\t\tvar vm = this._view;\r\n\t\tvar centreAngle = vm.startAngle + ((vm.endAngle - vm.startAngle) / 2);\r\n\t\tvar rangeFromCentre = (vm.outerRadius - vm.innerRadius) / 2 + vm.innerRadius;\r\n\r\n\t\treturn {\r\n\t\t\tx: vm.x + (Math.cos(centreAngle) * rangeFromCentre),\r\n\t\t\ty: vm.y + (Math.sin(centreAngle) * rangeFromCentre)\r\n\t\t};\r\n\t},\r\n\r\n\tdraw: function() {\r\n\t\tvar ctx = this._chart.ctx;\r\n\t\tvar vm = this._view;\r\n\t\tvar pixelMargin = (vm.borderAlign === 'inner') ? 0.33 : 0;\r\n\t\tvar arc = {\r\n\t\t\tx: vm.x,\r\n\t\t\ty: vm.y,\r\n\t\t\tinnerRadius: vm.innerRadius,\r\n\t\t\touterRadius: Math.max(vm.outerRadius - pixelMargin, 0),\r\n\t\t\tpixelMargin: pixelMargin,\r\n\t\t\tstartAngle: vm.startAngle,\r\n\t\t\tendAngle: vm.endAngle,\r\n\t\t\tfullCircles: Math.floor(vm.circumference / TAU)\r\n\t\t};\r\n\t\tvar i;\r\n\r\n\t\tctx.save();\r\n\r\n\t\tctx.fillStyle = vm.backgroundColor;\r\n\t\tctx.strokeStyle = vm.borderColor;\r\n\r\n\t\tif (arc.fullCircles) {\r\n\t\t\tarc.endAngle = arc.startAngle + TAU;\r\n\t\t\tctx.beginPath();\r\n\t\t\tctx.arc(arc.x, arc.y, arc.outerRadius, arc.startAngle, arc.endAngle);\r\n\t\t\tctx.arc(arc.x, arc.y, arc.innerRadius, arc.endAngle, arc.startAngle, true);\r\n\t\t\tctx.closePath();\r\n\t\t\tfor (i = 0; i < arc.fullCircles; ++i) {\r\n\t\t\t\tctx.fill();\r\n\t\t\t}\r\n\t\t\tarc.endAngle = arc.startAngle + vm.circumference % TAU;\r\n\t\t}\r\n\r\n\t\tctx.beginPath();\r\n\t\tctx.arc(arc.x, arc.y, arc.outerRadius, arc.startAngle, arc.endAngle);\r\n\t\tctx.arc(arc.x, arc.y, arc.innerRadius, arc.endAngle, arc.startAngle, true);\r\n\t\tctx.closePath();\r\n\t\tctx.fill();\r\n\r\n\t\tif (vm.borderWidth) {\r\n\t\t\tdrawBorder(ctx, vm, arc);\r\n\t\t}\r\n\r\n\t\tctx.restore();\r\n\t}\r\n});\n\nvar valueOrDefault$1 = helpers$1.valueOrDefault;\r\n\r\nvar defaultColor = core_defaults.global.defaultColor;\r\n\r\ncore_defaults._set('global', {\r\n\telements: {\r\n\t\tline: {\r\n\t\t\ttension: 0.4,\r\n\t\t\tbackgroundColor: defaultColor,\r\n\t\t\tborderWidth: 3,\r\n\t\t\tborderColor: defaultColor,\r\n\t\t\tborderCapStyle: 'butt',\r\n\t\t\tborderDash: [],\r\n\t\t\tborderDashOffset: 0.0,\r\n\t\t\tborderJoinStyle: 'miter',\r\n\t\t\tcapBezierPoints: true,\r\n\t\t\tfill: true, // do we fill in the area between the line and its base axis\r\n\t\t}\r\n\t}\r\n});\r\n\r\nvar element_line = core_element.extend({\r\n\t_type: 'line',\r\n\r\n\tdraw: function() {\r\n\t\tvar me = this;\r\n\t\tvar vm = me._view;\r\n\t\tvar ctx = me._chart.ctx;\r\n\t\tvar spanGaps = vm.spanGaps;\r\n\t\tvar points = me._children.slice(); // clone array\r\n\t\tvar globalDefaults = core_defaults.global;\r\n\t\tvar globalOptionLineElements = globalDefaults.elements.line;\r\n\t\tvar lastDrawnIndex = -1;\r\n\t\tvar closePath = me._loop;\r\n\t\tvar index, previous, currentVM;\r\n\r\n\t\tif (!points.length) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tif (me._loop) {\r\n\t\t\tfor (index = 0; index < points.length; ++index) {\r\n\t\t\t\tprevious = helpers$1.previousItem(points, index);\r\n\t\t\t\t// If the line has an open path, shift the point array\r\n\t\t\t\tif (!points[index]._view.skip && previous._view.skip) {\r\n\t\t\t\t\tpoints = points.slice(index).concat(points.slice(0, index));\r\n\t\t\t\t\tclosePath = spanGaps;\r\n\t\t\t\t\tbreak;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\t// If the line has a close path, add the first point again\r\n\t\t\tif (closePath) {\r\n\t\t\t\tpoints.push(points[0]);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tctx.save();\r\n\r\n\t\t// Stroke Line Options\r\n\t\tctx.lineCap = vm.borderCapStyle || globalOptionLineElements.borderCapStyle;\r\n\r\n\t\t// IE 9 and 10 do not support line dash\r\n\t\tif (ctx.setLineDash) {\r\n\t\t\tctx.setLineDash(vm.borderDash || globalOptionLineElements.borderDash);\r\n\t\t}\r\n\r\n\t\tctx.lineDashOffset = valueOrDefault$1(vm.borderDashOffset, globalOptionLineElements.borderDashOffset);\r\n\t\tctx.lineJoin = vm.borderJoinStyle || globalOptionLineElements.borderJoinStyle;\r\n\t\tctx.lineWidth = valueOrDefault$1(vm.borderWidth, globalOptionLineElements.borderWidth);\r\n\t\tctx.strokeStyle = vm.borderColor || globalDefaults.defaultColor;\r\n\r\n\t\t// Stroke Line\r\n\t\tctx.beginPath();\r\n\r\n\t\t// First point moves to it's starting position no matter what\r\n\t\tcurrentVM = points[0]._view;\r\n\t\tif (!currentVM.skip) {\r\n\t\t\tctx.moveTo(currentVM.x, currentVM.y);\r\n\t\t\tlastDrawnIndex = 0;\r\n\t\t}\r\n\r\n\t\tfor (index = 1; index < points.length; ++index) {\r\n\t\t\tcurrentVM = points[index]._view;\r\n\t\t\tprevious = lastDrawnIndex === -1 ? helpers$1.previousItem(points, index) : points[lastDrawnIndex];\r\n\r\n\t\t\tif (!currentVM.skip) {\r\n\t\t\t\tif ((lastDrawnIndex !== (index - 1) && !spanGaps) || lastDrawnIndex === -1) {\r\n\t\t\t\t\t// There was a gap and this is the first point after the gap\r\n\t\t\t\t\tctx.moveTo(currentVM.x, currentVM.y);\r\n\t\t\t\t} else {\r\n\t\t\t\t\t// Line to next point\r\n\t\t\t\t\thelpers$1.canvas.lineTo(ctx, previous._view, currentVM);\r\n\t\t\t\t}\r\n\t\t\t\tlastDrawnIndex = index;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tif (closePath) {\r\n\t\t\tctx.closePath();\r\n\t\t}\r\n\r\n\t\tctx.stroke();\r\n\t\tctx.restore();\r\n\t}\r\n});\n\nvar valueOrDefault$2 = helpers$1.valueOrDefault;\r\n\r\nvar defaultColor$1 = core_defaults.global.defaultColor;\r\n\r\ncore_defaults._set('global', {\r\n\telements: {\r\n\t\tpoint: {\r\n\t\t\tradius: 3,\r\n\t\t\tpointStyle: 'circle',\r\n\t\t\tbackgroundColor: defaultColor$1,\r\n\t\t\tborderColor: defaultColor$1,\r\n\t\t\tborderWidth: 1,\r\n\t\t\t// Hover\r\n\t\t\thitRadius: 1,\r\n\t\t\thoverRadius: 4,\r\n\t\t\thoverBorderWidth: 1\r\n\t\t}\r\n\t}\r\n});\r\n\r\nfunction xRange(mouseX) {\r\n\tvar vm = this._view;\r\n\treturn vm ? (Math.abs(mouseX - vm.x) < vm.radius + vm.hitRadius) : false;\r\n}\r\n\r\nfunction yRange(mouseY) {\r\n\tvar vm = this._view;\r\n\treturn vm ? (Math.abs(mouseY - vm.y) < vm.radius + vm.hitRadius) : false;\r\n}\r\n\r\nvar element_point = core_element.extend({\r\n\t_type: 'point',\r\n\r\n\tinRange: function(mouseX, mouseY) {\r\n\t\tvar vm = this._view;\r\n\t\treturn vm ? ((Math.pow(mouseX - vm.x, 2) + Math.pow(mouseY - vm.y, 2)) < Math.pow(vm.hitRadius + vm.radius, 2)) : false;\r\n\t},\r\n\r\n\tinLabelRange: xRange,\r\n\tinXRange: xRange,\r\n\tinYRange: yRange,\r\n\r\n\tgetCenterPoint: function() {\r\n\t\tvar vm = this._view;\r\n\t\treturn {\r\n\t\t\tx: vm.x,\r\n\t\t\ty: vm.y\r\n\t\t};\r\n\t},\r\n\r\n\tgetArea: function() {\r\n\t\treturn Math.PI * Math.pow(this._view.radius, 2);\r\n\t},\r\n\r\n\ttooltipPosition: function() {\r\n\t\tvar vm = this._view;\r\n\t\treturn {\r\n\t\t\tx: vm.x,\r\n\t\t\ty: vm.y,\r\n\t\t\tpadding: vm.radius + vm.borderWidth\r\n\t\t};\r\n\t},\r\n\r\n\tdraw: function(chartArea) {\r\n\t\tvar vm = this._view;\r\n\t\tvar ctx = this._chart.ctx;\r\n\t\tvar pointStyle = vm.pointStyle;\r\n\t\tvar rotation = vm.rotation;\r\n\t\tvar radius = vm.radius;\r\n\t\tvar x = vm.x;\r\n\t\tvar y = vm.y;\r\n\t\tvar globalDefaults = core_defaults.global;\r\n\t\tvar defaultColor = globalDefaults.defaultColor; // eslint-disable-line no-shadow\r\n\r\n\t\tif (vm.skip) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\t// Clipping for Points.\r\n\t\tif (chartArea === undefined || helpers$1.canvas._isPointInArea(vm, chartArea)) {\r\n\t\t\tctx.strokeStyle = vm.borderColor || defaultColor;\r\n\t\t\tctx.lineWidth = valueOrDefault$2(vm.borderWidth, globalDefaults.elements.point.borderWidth);\r\n\t\t\tctx.fillStyle = vm.backgroundColor || defaultColor;\r\n\t\t\thelpers$1.canvas.drawPoint(ctx, pointStyle, radius, x, y, rotation);\r\n\t\t}\r\n\t}\r\n});\n\nvar defaultColor$2 = core_defaults.global.defaultColor;\r\n\r\ncore_defaults._set('global', {\r\n\telements: {\r\n\t\trectangle: {\r\n\t\t\tbackgroundColor: defaultColor$2,\r\n\t\t\tborderColor: defaultColor$2,\r\n\t\t\tborderSkipped: 'bottom',\r\n\t\t\tborderWidth: 0\r\n\t\t}\r\n\t}\r\n});\r\n\r\nfunction isVertical(vm) {\r\n\treturn vm && vm.width !== undefined;\r\n}\r\n\r\n/**\r\n * Helper function to get the bounds of the bar regardless of the orientation\r\n * @param bar {Chart.Element.Rectangle} the bar\r\n * @return {Bounds} bounds of the bar\r\n * @private\r\n */\r\nfunction getBarBounds(vm) {\r\n\tvar x1, x2, y1, y2, half;\r\n\r\n\tif (isVertical(vm)) {\r\n\t\thalf = vm.width / 2;\r\n\t\tx1 = vm.x - half;\r\n\t\tx2 = vm.x + half;\r\n\t\ty1 = Math.min(vm.y, vm.base);\r\n\t\ty2 = Math.max(vm.y, vm.base);\r\n\t} else {\r\n\t\thalf = vm.height / 2;\r\n\t\tx1 = Math.min(vm.x, vm.base);\r\n\t\tx2 = Math.max(vm.x, vm.base);\r\n\t\ty1 = vm.y - half;\r\n\t\ty2 = vm.y + half;\r\n\t}\r\n\r\n\treturn {\r\n\t\tleft: x1,\r\n\t\ttop: y1,\r\n\t\tright: x2,\r\n\t\tbottom: y2\r\n\t};\r\n}\r\n\r\nfunction swap(orig, v1, v2) {\r\n\treturn orig === v1 ? v2 : orig === v2 ? v1 : orig;\r\n}\r\n\r\nfunction parseBorderSkipped(vm) {\r\n\tvar edge = vm.borderSkipped;\r\n\tvar res = {};\r\n\r\n\tif (!edge) {\r\n\t\treturn res;\r\n\t}\r\n\r\n\tif (vm.horizontal) {\r\n\t\tif (vm.base > vm.x) {\r\n\t\t\tedge = swap(edge, 'left', 'right');\r\n\t\t}\r\n\t} else if (vm.base < vm.y) {\r\n\t\tedge = swap(edge, 'bottom', 'top');\r\n\t}\r\n\r\n\tres[edge] = true;\r\n\treturn res;\r\n}\r\n\r\nfunction parseBorderWidth(vm, maxW, maxH) {\r\n\tvar value = vm.borderWidth;\r\n\tvar skip = parseBorderSkipped(vm);\r\n\tvar t, r, b, l;\r\n\r\n\tif (helpers$1.isObject(value)) {\r\n\t\tt = +value.top || 0;\r\n\t\tr = +value.right || 0;\r\n\t\tb = +value.bottom || 0;\r\n\t\tl = +value.left || 0;\r\n\t} else {\r\n\t\tt = r = b = l = +value || 0;\r\n\t}\r\n\r\n\treturn {\r\n\t\tt: skip.top || (t < 0) ? 0 : t > maxH ? maxH : t,\r\n\t\tr: skip.right || (r < 0) ? 0 : r > maxW ? maxW : r,\r\n\t\tb: skip.bottom || (b < 0) ? 0 : b > maxH ? maxH : b,\r\n\t\tl: skip.left || (l < 0) ? 0 : l > maxW ? maxW : l\r\n\t};\r\n}\r\n\r\nfunction boundingRects(vm) {\r\n\tvar bounds = getBarBounds(vm);\r\n\tvar width = bounds.right - bounds.left;\r\n\tvar height = bounds.bottom - bounds.top;\r\n\tvar border = parseBorderWidth(vm, width / 2, height / 2);\r\n\r\n\treturn {\r\n\t\touter: {\r\n\t\t\tx: bounds.left,\r\n\t\t\ty: bounds.top,\r\n\t\t\tw: width,\r\n\t\t\th: height\r\n\t\t},\r\n\t\tinner: {\r\n\t\t\tx: bounds.left + border.l,\r\n\t\t\ty: bounds.top + border.t,\r\n\t\t\tw: width - border.l - border.r,\r\n\t\t\th: height - border.t - border.b\r\n\t\t}\r\n\t};\r\n}\r\n\r\nfunction inRange(vm, x, y) {\r\n\tvar skipX = x === null;\r\n\tvar skipY = y === null;\r\n\tvar bounds = !vm || (skipX && skipY) ? false : getBarBounds(vm);\r\n\r\n\treturn bounds\r\n\t\t&& (skipX || x >= bounds.left && x <= bounds.right)\r\n\t\t&& (skipY || y >= bounds.top && y <= bounds.bottom);\r\n}\r\n\r\nvar element_rectangle = core_element.extend({\r\n\t_type: 'rectangle',\r\n\r\n\tdraw: function() {\r\n\t\tvar ctx = this._chart.ctx;\r\n\t\tvar vm = this._view;\r\n\t\tvar rects = boundingRects(vm);\r\n\t\tvar outer = rects.outer;\r\n\t\tvar inner = rects.inner;\r\n\r\n\t\tctx.fillStyle = vm.backgroundColor;\r\n\t\tctx.fillRect(outer.x, outer.y, outer.w, outer.h);\r\n\r\n\t\tif (outer.w === inner.w && outer.h === inner.h) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tctx.save();\r\n\t\tctx.beginPath();\r\n\t\tctx.rect(outer.x, outer.y, outer.w, outer.h);\r\n\t\tctx.clip();\r\n\t\tctx.fillStyle = vm.borderColor;\r\n\t\tctx.rect(inner.x, inner.y, inner.w, inner.h);\r\n\t\tctx.fill('evenodd');\r\n\t\tctx.restore();\r\n\t},\r\n\r\n\theight: function() {\r\n\t\tvar vm = this._view;\r\n\t\treturn vm.base - vm.y;\r\n\t},\r\n\r\n\tinRange: function(mouseX, mouseY) {\r\n\t\treturn inRange(this._view, mouseX, mouseY);\r\n\t},\r\n\r\n\tinLabelRange: function(mouseX, mouseY) {\r\n\t\tvar vm = this._view;\r\n\t\treturn isVertical(vm)\r\n\t\t\t? inRange(vm, mouseX, null)\r\n\t\t\t: inRange(vm, null, mouseY);\r\n\t},\r\n\r\n\tinXRange: function(mouseX) {\r\n\t\treturn inRange(this._view, mouseX, null);\r\n\t},\r\n\r\n\tinYRange: function(mouseY) {\r\n\t\treturn inRange(this._view, null, mouseY);\r\n\t},\r\n\r\n\tgetCenterPoint: function() {\r\n\t\tvar vm = this._view;\r\n\t\tvar x, y;\r\n\t\tif (isVertical(vm)) {\r\n\t\t\tx = vm.x;\r\n\t\t\ty = (vm.y + vm.base) / 2;\r\n\t\t} else {\r\n\t\t\tx = (vm.x + vm.base) / 2;\r\n\t\t\ty = vm.y;\r\n\t\t}\r\n\r\n\t\treturn {x: x, y: y};\r\n\t},\r\n\r\n\tgetArea: function() {\r\n\t\tvar vm = this._view;\r\n\r\n\t\treturn isVertical(vm)\r\n\t\t\t? vm.width * Math.abs(vm.y - vm.base)\r\n\t\t\t: vm.height * Math.abs(vm.x - vm.base);\r\n\t},\r\n\r\n\ttooltipPosition: function() {\r\n\t\tvar vm = this._view;\r\n\t\treturn {\r\n\t\t\tx: vm.x,\r\n\t\t\ty: vm.y\r\n\t\t};\r\n\t}\r\n});\n\nvar elements = {};\r\nvar Arc = element_arc;\r\nvar Line = element_line;\r\nvar Point = element_point;\r\nvar Rectangle = element_rectangle;\nelements.Arc = Arc;\nelements.Line = Line;\nelements.Point = Point;\nelements.Rectangle = Rectangle;\n\nvar deprecated = helpers$1._deprecated;\r\nvar valueOrDefault$3 = helpers$1.valueOrDefault;\r\n\r\ncore_defaults._set('bar', {\r\n\thover: {\r\n\t\tmode: 'label'\r\n\t},\r\n\r\n\tscales: {\r\n\t\txAxes: [{\r\n\t\t\ttype: 'category',\r\n\t\t\toffset: true,\r\n\t\t\tgridLines: {\r\n\t\t\t\toffsetGridLines: true\r\n\t\t\t}\r\n\t\t}],\r\n\r\n\t\tyAxes: [{\r\n\t\t\ttype: 'linear'\r\n\t\t}]\r\n\t}\r\n});\r\n\r\ncore_defaults._set('global', {\r\n\tdatasets: {\r\n\t\tbar: {\r\n\t\t\tcategoryPercentage: 0.8,\r\n\t\t\tbarPercentage: 0.9\r\n\t\t}\r\n\t}\r\n});\r\n\r\n/**\r\n * Computes the \"optimal\" sample size to maintain bars equally sized while preventing overlap.\r\n * @private\r\n */\r\nfunction computeMinSampleSize(scale, pixels) {\r\n\tvar min = scale._length;\r\n\tvar prev, curr, i, ilen;\r\n\r\n\tfor (i = 1, ilen = pixels.length; i < ilen; ++i) {\r\n\t\tmin = Math.min(min, Math.abs(pixels[i] - pixels[i - 1]));\r\n\t}\r\n\r\n\tfor (i = 0, ilen = scale.getTicks().length; i < ilen; ++i) {\r\n\t\tcurr = scale.getPixelForTick(i);\r\n\t\tmin = i > 0 ? Math.min(min, Math.abs(curr - prev)) : min;\r\n\t\tprev = curr;\r\n\t}\r\n\r\n\treturn min;\r\n}\r\n\r\n/**\r\n * Computes an \"ideal\" category based on the absolute bar thickness or, if undefined or null,\r\n * uses the smallest interval (see computeMinSampleSize) that prevents bar overlapping. This\r\n * mode currently always generates bars equally sized (until we introduce scriptable options?).\r\n * @private\r\n */\r\nfunction computeFitCategoryTraits(index, ruler, options) {\r\n\tvar thickness = options.barThickness;\r\n\tvar count = ruler.stackCount;\r\n\tvar curr = ruler.pixels[index];\r\n\tvar min = helpers$1.isNullOrUndef(thickness)\r\n\t\t? computeMinSampleSize(ruler.scale, ruler.pixels)\r\n\t\t: -1;\r\n\tvar size, ratio;\r\n\r\n\tif (helpers$1.isNullOrUndef(thickness)) {\r\n\t\tsize = min * options.categoryPercentage;\r\n\t\tratio = options.barPercentage;\r\n\t} else {\r\n\t\t// When bar thickness is enforced, category and bar percentages are ignored.\r\n\t\t// Note(SB): we could add support for relative bar thickness (e.g. barThickness: '50%')\r\n\t\t// and deprecate barPercentage since this value is ignored when thickness is absolute.\r\n\t\tsize = thickness * count;\r\n\t\tratio = 1;\r\n\t}\r\n\r\n\treturn {\r\n\t\tchunk: size / count,\r\n\t\tratio: ratio,\r\n\t\tstart: curr - (size / 2)\r\n\t};\r\n}\r\n\r\n/**\r\n * Computes an \"optimal\" category that globally arranges bars side by side (no gap when\r\n * percentage options are 1), based on the previous and following categories. This mode\r\n * generates bars with different widths when data are not evenly spaced.\r\n * @private\r\n */\r\nfunction computeFlexCategoryTraits(index, ruler, options) {\r\n\tvar pixels = ruler.pixels;\r\n\tvar curr = pixels[index];\r\n\tvar prev = index > 0 ? pixels[index - 1] : null;\r\n\tvar next = index < pixels.length - 1 ? pixels[index + 1] : null;\r\n\tvar percent = options.categoryPercentage;\r\n\tvar start, size;\r\n\r\n\tif (prev === null) {\r\n\t\t// first data: its size is double based on the next point or,\r\n\t\t// if it's also the last data, we use the scale size.\r\n\t\tprev = curr - (next === null ? ruler.end - ruler.start : next - curr);\r\n\t}\r\n\r\n\tif (next === null) {\r\n\t\t// last data: its size is also double based on the previous point.\r\n\t\tnext = curr + curr - prev;\r\n\t}\r\n\r\n\tstart = curr - (curr - Math.min(prev, next)) / 2 * percent;\r\n\tsize = Math.abs(next - prev) / 2 * percent;\r\n\r\n\treturn {\r\n\t\tchunk: size / ruler.stackCount,\r\n\t\tratio: options.barPercentage,\r\n\t\tstart: start\r\n\t};\r\n}\r\n\r\nvar controller_bar = core_datasetController.extend({\r\n\r\n\tdataElementType: elements.Rectangle,\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_dataElementOptions: [\r\n\t\t'backgroundColor',\r\n\t\t'borderColor',\r\n\t\t'borderSkipped',\r\n\t\t'borderWidth',\r\n\t\t'barPercentage',\r\n\t\t'barThickness',\r\n\t\t'categoryPercentage',\r\n\t\t'maxBarThickness',\r\n\t\t'minBarLength'\r\n\t],\r\n\r\n\tinitialize: function() {\r\n\t\tvar me = this;\r\n\t\tvar meta, scaleOpts;\r\n\r\n\t\tcore_datasetController.prototype.initialize.apply(me, arguments);\r\n\r\n\t\tmeta = me.getMeta();\r\n\t\tmeta.stack = me.getDataset().stack;\r\n\t\tmeta.bar = true;\r\n\r\n\t\tscaleOpts = me._getIndexScale().options;\r\n\t\tdeprecated('bar chart', scaleOpts.barPercentage, 'scales.[x/y]Axes.barPercentage', 'dataset.barPercentage');\r\n\t\tdeprecated('bar chart', scaleOpts.barThickness, 'scales.[x/y]Axes.barThickness', 'dataset.barThickness');\r\n\t\tdeprecated('bar chart', scaleOpts.categoryPercentage, 'scales.[x/y]Axes.categoryPercentage', 'dataset.categoryPercentage');\r\n\t\tdeprecated('bar chart', me._getValueScale().options.minBarLength, 'scales.[x/y]Axes.minBarLength', 'dataset.minBarLength');\r\n\t\tdeprecated('bar chart', scaleOpts.maxBarThickness, 'scales.[x/y]Axes.maxBarThickness', 'dataset.maxBarThickness');\r\n\t},\r\n\r\n\tupdate: function(reset) {\r\n\t\tvar me = this;\r\n\t\tvar rects = me.getMeta().data;\r\n\t\tvar i, ilen;\r\n\r\n\t\tme._ruler = me.getRuler();\r\n\r\n\t\tfor (i = 0, ilen = rects.length; i < ilen; ++i) {\r\n\t\t\tme.updateElement(rects[i], i, reset);\r\n\t\t}\r\n\t},\r\n\r\n\tupdateElement: function(rectangle, index, reset) {\r\n\t\tvar me = this;\r\n\t\tvar meta = me.getMeta();\r\n\t\tvar dataset = me.getDataset();\r\n\t\tvar options = me._resolveDataElementOptions(rectangle, index);\r\n\r\n\t\trectangle._xScale = me.getScaleForId(meta.xAxisID);\r\n\t\trectangle._yScale = me.getScaleForId(meta.yAxisID);\r\n\t\trectangle._datasetIndex = me.index;\r\n\t\trectangle._index = index;\r\n\t\trectangle._model = {\r\n\t\t\tbackgroundColor: options.backgroundColor,\r\n\t\t\tborderColor: options.borderColor,\r\n\t\t\tborderSkipped: options.borderSkipped,\r\n\t\t\tborderWidth: options.borderWidth,\r\n\t\t\tdatasetLabel: dataset.label,\r\n\t\t\tlabel: me.chart.data.labels[index]\r\n\t\t};\r\n\r\n\t\tif (helpers$1.isArray(dataset.data[index])) {\r\n\t\t\trectangle._model.borderSkipped = null;\r\n\t\t}\r\n\r\n\t\tme._updateElementGeometry(rectangle, index, reset, options);\r\n\r\n\t\trectangle.pivot();\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_updateElementGeometry: function(rectangle, index, reset, options) {\r\n\t\tvar me = this;\r\n\t\tvar model = rectangle._model;\r\n\t\tvar vscale = me._getValueScale();\r\n\t\tvar base = vscale.getBasePixel();\r\n\t\tvar horizontal = vscale.isHorizontal();\r\n\t\tvar ruler = me._ruler || me.getRuler();\r\n\t\tvar vpixels = me.calculateBarValuePixels(me.index, index, options);\r\n\t\tvar ipixels = me.calculateBarIndexPixels(me.index, index, ruler, options);\r\n\r\n\t\tmodel.horizontal = horizontal;\r\n\t\tmodel.base = reset ? base : vpixels.base;\r\n\t\tmodel.x = horizontal ? reset ? base : vpixels.head : ipixels.center;\r\n\t\tmodel.y = horizontal ? ipixels.center : reset ? base : vpixels.head;\r\n\t\tmodel.height = horizontal ? ipixels.size : undefined;\r\n\t\tmodel.width = horizontal ? undefined : ipixels.size;\r\n\t},\r\n\r\n\t/**\r\n\t * Returns the stacks based on groups and bar visibility.\r\n\t * @param {number} [last] - The dataset index\r\n\t * @returns {string[]} The list of stack IDs\r\n\t * @private\r\n\t */\r\n\t_getStacks: function(last) {\r\n\t\tvar me = this;\r\n\t\tvar scale = me._getIndexScale();\r\n\t\tvar metasets = scale._getMatchingVisibleMetas(me._type);\r\n\t\tvar stacked = scale.options.stacked;\r\n\t\tvar ilen = metasets.length;\r\n\t\tvar stacks = [];\r\n\t\tvar i, meta;\r\n\r\n\t\tfor (i = 0; i < ilen; ++i) {\r\n\t\t\tmeta = metasets[i];\r\n\t\t\t// stacked | meta.stack\r\n\t\t\t// | found | not found | undefined\r\n\t\t\t// false | x | x | x\r\n\t\t\t// true | | x |\r\n\t\t\t// undefined | | x | x\r\n\t\t\tif (stacked === false || stacks.indexOf(meta.stack) === -1 ||\r\n\t\t\t\t(stacked === undefined && meta.stack === undefined)) {\r\n\t\t\t\tstacks.push(meta.stack);\r\n\t\t\t}\r\n\t\t\tif (meta.index === last) {\r\n\t\t\t\tbreak;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn stacks;\r\n\t},\r\n\r\n\t/**\r\n\t * Returns the effective number of stacks based on groups and bar visibility.\r\n\t * @private\r\n\t */\r\n\tgetStackCount: function() {\r\n\t\treturn this._getStacks().length;\r\n\t},\r\n\r\n\t/**\r\n\t * Returns the stack index for the given dataset based on groups and bar visibility.\r\n\t * @param {number} [datasetIndex] - The dataset index\r\n\t * @param {string} [name] - The stack name to find\r\n\t * @returns {number} The stack index\r\n\t * @private\r\n\t */\r\n\tgetStackIndex: function(datasetIndex, name) {\r\n\t\tvar stacks = this._getStacks(datasetIndex);\r\n\t\tvar index = (name !== undefined)\r\n\t\t\t? stacks.indexOf(name)\r\n\t\t\t: -1; // indexOf returns -1 if element is not present\r\n\r\n\t\treturn (index === -1)\r\n\t\t\t? stacks.length - 1\r\n\t\t\t: index;\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\tgetRuler: function() {\r\n\t\tvar me = this;\r\n\t\tvar scale = me._getIndexScale();\r\n\t\tvar pixels = [];\r\n\t\tvar i, ilen;\r\n\r\n\t\tfor (i = 0, ilen = me.getMeta().data.length; i < ilen; ++i) {\r\n\t\t\tpixels.push(scale.getPixelForValue(null, i, me.index));\r\n\t\t}\r\n\r\n\t\treturn {\r\n\t\t\tpixels: pixels,\r\n\t\t\tstart: scale._startPixel,\r\n\t\t\tend: scale._endPixel,\r\n\t\t\tstackCount: me.getStackCount(),\r\n\t\t\tscale: scale\r\n\t\t};\r\n\t},\r\n\r\n\t/**\r\n\t * Note: pixel values are not clamped to the scale area.\r\n\t * @private\r\n\t */\r\n\tcalculateBarValuePixels: function(datasetIndex, index, options) {\r\n\t\tvar me = this;\r\n\t\tvar chart = me.chart;\r\n\t\tvar scale = me._getValueScale();\r\n\t\tvar isHorizontal = scale.isHorizontal();\r\n\t\tvar datasets = chart.data.datasets;\r\n\t\tvar metasets = scale._getMatchingVisibleMetas(me._type);\r\n\t\tvar value = scale._parseValue(datasets[datasetIndex].data[index]);\r\n\t\tvar minBarLength = options.minBarLength;\r\n\t\tvar stacked = scale.options.stacked;\r\n\t\tvar stack = me.getMeta().stack;\r\n\t\tvar start = value.start === undefined ? 0 : value.max >= 0 && value.min >= 0 ? value.min : value.max;\r\n\t\tvar length = value.start === undefined ? value.end : value.max >= 0 && value.min >= 0 ? value.max - value.min : value.min - value.max;\r\n\t\tvar ilen = metasets.length;\r\n\t\tvar i, imeta, ivalue, base, head, size, stackLength;\r\n\r\n\t\tif (stacked || (stacked === undefined && stack !== undefined)) {\r\n\t\t\tfor (i = 0; i < ilen; ++i) {\r\n\t\t\t\timeta = metasets[i];\r\n\r\n\t\t\t\tif (imeta.index === datasetIndex) {\r\n\t\t\t\t\tbreak;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (imeta.stack === stack) {\r\n\t\t\t\t\tstackLength = scale._parseValue(datasets[imeta.index].data[index]);\r\n\t\t\t\t\tivalue = stackLength.start === undefined ? stackLength.end : stackLength.min >= 0 && stackLength.max >= 0 ? stackLength.max : stackLength.min;\r\n\r\n\t\t\t\t\tif ((value.min < 0 && ivalue < 0) || (value.max >= 0 && ivalue > 0)) {\r\n\t\t\t\t\t\tstart += ivalue;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tbase = scale.getPixelForValue(start);\r\n\t\thead = scale.getPixelForValue(start + length);\r\n\t\tsize = head - base;\r\n\r\n\t\tif (minBarLength !== undefined && Math.abs(size) < minBarLength) {\r\n\t\t\tsize = minBarLength;\r\n\t\t\tif (length >= 0 && !isHorizontal || length < 0 && isHorizontal) {\r\n\t\t\t\thead = base - minBarLength;\r\n\t\t\t} else {\r\n\t\t\t\thead = base + minBarLength;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn {\r\n\t\t\tsize: size,\r\n\t\t\tbase: base,\r\n\t\t\thead: head,\r\n\t\t\tcenter: head + size / 2\r\n\t\t};\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\tcalculateBarIndexPixels: function(datasetIndex, index, ruler, options) {\r\n\t\tvar me = this;\r\n\t\tvar range = options.barThickness === 'flex'\r\n\t\t\t? computeFlexCategoryTraits(index, ruler, options)\r\n\t\t\t: computeFitCategoryTraits(index, ruler, options);\r\n\r\n\t\tvar stackIndex = me.getStackIndex(datasetIndex, me.getMeta().stack);\r\n\t\tvar center = range.start + (range.chunk * stackIndex) + (range.chunk / 2);\r\n\t\tvar size = Math.min(\r\n\t\t\tvalueOrDefault$3(options.maxBarThickness, Infinity),\r\n\t\t\trange.chunk * range.ratio);\r\n\r\n\t\treturn {\r\n\t\t\tbase: center - size / 2,\r\n\t\t\thead: center + size / 2,\r\n\t\t\tcenter: center,\r\n\t\t\tsize: size\r\n\t\t};\r\n\t},\r\n\r\n\tdraw: function() {\r\n\t\tvar me = this;\r\n\t\tvar chart = me.chart;\r\n\t\tvar scale = me._getValueScale();\r\n\t\tvar rects = me.getMeta().data;\r\n\t\tvar dataset = me.getDataset();\r\n\t\tvar ilen = rects.length;\r\n\t\tvar i = 0;\r\n\r\n\t\thelpers$1.canvas.clipArea(chart.ctx, chart.chartArea);\r\n\r\n\t\tfor (; i < ilen; ++i) {\r\n\t\t\tvar val = scale._parseValue(dataset.data[i]);\r\n\t\t\tif (!isNaN(val.min) && !isNaN(val.max)) {\r\n\t\t\t\trects[i].draw();\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\thelpers$1.canvas.unclipArea(chart.ctx);\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_resolveDataElementOptions: function() {\r\n\t\tvar me = this;\r\n\t\tvar values = helpers$1.extend({}, core_datasetController.prototype._resolveDataElementOptions.apply(me, arguments));\r\n\t\tvar indexOpts = me._getIndexScale().options;\r\n\t\tvar valueOpts = me._getValueScale().options;\r\n\r\n\t\tvalues.barPercentage = valueOrDefault$3(indexOpts.barPercentage, values.barPercentage);\r\n\t\tvalues.barThickness = valueOrDefault$3(indexOpts.barThickness, values.barThickness);\r\n\t\tvalues.categoryPercentage = valueOrDefault$3(indexOpts.categoryPercentage, values.categoryPercentage);\r\n\t\tvalues.maxBarThickness = valueOrDefault$3(indexOpts.maxBarThickness, values.maxBarThickness);\r\n\t\tvalues.minBarLength = valueOrDefault$3(valueOpts.minBarLength, values.minBarLength);\r\n\r\n\t\treturn values;\r\n\t}\r\n\r\n});\n\nvar valueOrDefault$4 = helpers$1.valueOrDefault;\r\nvar resolve$1 = helpers$1.options.resolve;\r\n\r\ncore_defaults._set('bubble', {\r\n\thover: {\r\n\t\tmode: 'single'\r\n\t},\r\n\r\n\tscales: {\r\n\t\txAxes: [{\r\n\t\t\ttype: 'linear', // bubble should probably use a linear scale by default\r\n\t\t\tposition: 'bottom',\r\n\t\t\tid: 'x-axis-0' // need an ID so datasets can reference the scale\r\n\t\t}],\r\n\t\tyAxes: [{\r\n\t\t\ttype: 'linear',\r\n\t\t\tposition: 'left',\r\n\t\t\tid: 'y-axis-0'\r\n\t\t}]\r\n\t},\r\n\r\n\ttooltips: {\r\n\t\tcallbacks: {\r\n\t\t\ttitle: function() {\r\n\t\t\t\t// Title doesn't make sense for scatter since we format the data as a point\r\n\t\t\t\treturn '';\r\n\t\t\t},\r\n\t\t\tlabel: function(item, data) {\r\n\t\t\t\tvar datasetLabel = data.datasets[item.datasetIndex].label || '';\r\n\t\t\t\tvar dataPoint = data.datasets[item.datasetIndex].data[item.index];\r\n\t\t\t\treturn datasetLabel + ': (' + item.xLabel + ', ' + item.yLabel + ', ' + dataPoint.r + ')';\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n});\r\n\r\nvar controller_bubble = core_datasetController.extend({\r\n\t/**\r\n\t * @protected\r\n\t */\r\n\tdataElementType: elements.Point,\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_dataElementOptions: [\r\n\t\t'backgroundColor',\r\n\t\t'borderColor',\r\n\t\t'borderWidth',\r\n\t\t'hoverBackgroundColor',\r\n\t\t'hoverBorderColor',\r\n\t\t'hoverBorderWidth',\r\n\t\t'hoverRadius',\r\n\t\t'hitRadius',\r\n\t\t'pointStyle',\r\n\t\t'rotation'\r\n\t],\r\n\r\n\t/**\r\n\t * @protected\r\n\t */\r\n\tupdate: function(reset) {\r\n\t\tvar me = this;\r\n\t\tvar meta = me.getMeta();\r\n\t\tvar points = meta.data;\r\n\r\n\t\t// Update Points\r\n\t\thelpers$1.each(points, function(point, index) {\r\n\t\t\tme.updateElement(point, index, reset);\r\n\t\t});\r\n\t},\r\n\r\n\t/**\r\n\t * @protected\r\n\t */\r\n\tupdateElement: function(point, index, reset) {\r\n\t\tvar me = this;\r\n\t\tvar meta = me.getMeta();\r\n\t\tvar custom = point.custom || {};\r\n\t\tvar xScale = me.getScaleForId(meta.xAxisID);\r\n\t\tvar yScale = me.getScaleForId(meta.yAxisID);\r\n\t\tvar options = me._resolveDataElementOptions(point, index);\r\n\t\tvar data = me.getDataset().data[index];\r\n\t\tvar dsIndex = me.index;\r\n\r\n\t\tvar x = reset ? xScale.getPixelForDecimal(0.5) : xScale.getPixelForValue(typeof data === 'object' ? data : NaN, index, dsIndex);\r\n\t\tvar y = reset ? yScale.getBasePixel() : yScale.getPixelForValue(data, index, dsIndex);\r\n\r\n\t\tpoint._xScale = xScale;\r\n\t\tpoint._yScale = yScale;\r\n\t\tpoint._options = options;\r\n\t\tpoint._datasetIndex = dsIndex;\r\n\t\tpoint._index = index;\r\n\t\tpoint._model = {\r\n\t\t\tbackgroundColor: options.backgroundColor,\r\n\t\t\tborderColor: options.borderColor,\r\n\t\t\tborderWidth: options.borderWidth,\r\n\t\t\thitRadius: options.hitRadius,\r\n\t\t\tpointStyle: options.pointStyle,\r\n\t\t\trotation: options.rotation,\r\n\t\t\tradius: reset ? 0 : options.radius,\r\n\t\t\tskip: custom.skip || isNaN(x) || isNaN(y),\r\n\t\t\tx: x,\r\n\t\t\ty: y,\r\n\t\t};\r\n\r\n\t\tpoint.pivot();\r\n\t},\r\n\r\n\t/**\r\n\t * @protected\r\n\t */\r\n\tsetHoverStyle: function(point) {\r\n\t\tvar model = point._model;\r\n\t\tvar options = point._options;\r\n\t\tvar getHoverColor = helpers$1.getHoverColor;\r\n\r\n\t\tpoint.$previousStyle = {\r\n\t\t\tbackgroundColor: model.backgroundColor,\r\n\t\t\tborderColor: model.borderColor,\r\n\t\t\tborderWidth: model.borderWidth,\r\n\t\t\tradius: model.radius\r\n\t\t};\r\n\r\n\t\tmodel.backgroundColor = valueOrDefault$4(options.hoverBackgroundColor, getHoverColor(options.backgroundColor));\r\n\t\tmodel.borderColor = valueOrDefault$4(options.hoverBorderColor, getHoverColor(options.borderColor));\r\n\t\tmodel.borderWidth = valueOrDefault$4(options.hoverBorderWidth, options.borderWidth);\r\n\t\tmodel.radius = options.radius + options.hoverRadius;\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_resolveDataElementOptions: function(point, index) {\r\n\t\tvar me = this;\r\n\t\tvar chart = me.chart;\r\n\t\tvar dataset = me.getDataset();\r\n\t\tvar custom = point.custom || {};\r\n\t\tvar data = dataset.data[index] || {};\r\n\t\tvar values = core_datasetController.prototype._resolveDataElementOptions.apply(me, arguments);\r\n\r\n\t\t// Scriptable options\r\n\t\tvar context = {\r\n\t\t\tchart: chart,\r\n\t\t\tdataIndex: index,\r\n\t\t\tdataset: dataset,\r\n\t\t\tdatasetIndex: me.index\r\n\t\t};\r\n\r\n\t\t// In case values were cached (and thus frozen), we need to clone the values\r\n\t\tif (me._cachedDataOpts === values) {\r\n\t\t\tvalues = helpers$1.extend({}, values);\r\n\t\t}\r\n\r\n\t\t// Custom radius resolution\r\n\t\tvalues.radius = resolve$1([\r\n\t\t\tcustom.radius,\r\n\t\t\tdata.r,\r\n\t\t\tme._config.radius,\r\n\t\t\tchart.options.elements.point.radius\r\n\t\t], context, index);\r\n\r\n\t\treturn values;\r\n\t}\r\n});\n\nvar valueOrDefault$5 = helpers$1.valueOrDefault;\r\n\r\nvar PI$1 = Math.PI;\r\nvar DOUBLE_PI$1 = PI$1 * 2;\r\nvar HALF_PI$1 = PI$1 / 2;\r\n\r\ncore_defaults._set('doughnut', {\r\n\tanimation: {\r\n\t\t// Boolean - Whether we animate the rotation of the Doughnut\r\n\t\tanimateRotate: true,\r\n\t\t// Boolean - Whether we animate scaling the Doughnut from the centre\r\n\t\tanimateScale: false\r\n\t},\r\n\thover: {\r\n\t\tmode: 'single'\r\n\t},\r\n\tlegendCallback: function(chart) {\r\n\t\tvar list = document.createElement('ul');\r\n\t\tvar data = chart.data;\r\n\t\tvar datasets = data.datasets;\r\n\t\tvar labels = data.labels;\r\n\t\tvar i, ilen, listItem, listItemSpan;\r\n\r\n\t\tlist.setAttribute('class', chart.id + '-legend');\r\n\t\tif (datasets.length) {\r\n\t\t\tfor (i = 0, ilen = datasets[0].data.length; i < ilen; ++i) {\r\n\t\t\t\tlistItem = list.appendChild(document.createElement('li'));\r\n\t\t\t\tlistItemSpan = listItem.appendChild(document.createElement('span'));\r\n\t\t\t\tlistItemSpan.style.backgroundColor = datasets[0].backgroundColor[i];\r\n\t\t\t\tif (labels[i]) {\r\n\t\t\t\t\tlistItem.appendChild(document.createTextNode(labels[i]));\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn list.outerHTML;\r\n\t},\r\n\tlegend: {\r\n\t\tlabels: {\r\n\t\t\tgenerateLabels: function(chart) {\r\n\t\t\t\tvar data = chart.data;\r\n\t\t\t\tif (data.labels.length && data.datasets.length) {\r\n\t\t\t\t\treturn data.labels.map(function(label, i) {\r\n\t\t\t\t\t\tvar meta = chart.getDatasetMeta(0);\r\n\t\t\t\t\t\tvar style = meta.controller.getStyle(i);\r\n\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\ttext: label,\r\n\t\t\t\t\t\t\tfillStyle: style.backgroundColor,\r\n\t\t\t\t\t\t\tstrokeStyle: style.borderColor,\r\n\t\t\t\t\t\t\tlineWidth: style.borderWidth,\r\n\t\t\t\t\t\t\thidden: isNaN(data.datasets[0].data[i]) || meta.data[i].hidden,\r\n\r\n\t\t\t\t\t\t\t// Extra data used for toggling the correct item\r\n\t\t\t\t\t\t\tindex: i\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t\treturn [];\r\n\t\t\t}\r\n\t\t},\r\n\r\n\t\tonClick: function(e, legendItem) {\r\n\t\t\tvar index = legendItem.index;\r\n\t\t\tvar chart = this.chart;\r\n\t\t\tvar i, ilen, meta;\r\n\r\n\t\t\tfor (i = 0, ilen = (chart.data.datasets || []).length; i < ilen; ++i) {\r\n\t\t\t\tmeta = chart.getDatasetMeta(i);\r\n\t\t\t\t// toggle visibility of index if exists\r\n\t\t\t\tif (meta.data[index]) {\r\n\t\t\t\t\tmeta.data[index].hidden = !meta.data[index].hidden;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tchart.update();\r\n\t\t}\r\n\t},\r\n\r\n\t// The percentage of the chart that we cut out of the middle.\r\n\tcutoutPercentage: 50,\r\n\r\n\t// The rotation of the chart, where the first data arc begins.\r\n\trotation: -HALF_PI$1,\r\n\r\n\t// The total circumference of the chart.\r\n\tcircumference: DOUBLE_PI$1,\r\n\r\n\t// Need to override these to give a nice default\r\n\ttooltips: {\r\n\t\tcallbacks: {\r\n\t\t\ttitle: function() {\r\n\t\t\t\treturn '';\r\n\t\t\t},\r\n\t\t\tlabel: function(tooltipItem, data) {\r\n\t\t\t\tvar dataLabel = data.labels[tooltipItem.index];\r\n\t\t\t\tvar value = ': ' + data.datasets[tooltipItem.datasetIndex].data[tooltipItem.index];\r\n\r\n\t\t\t\tif (helpers$1.isArray(dataLabel)) {\r\n\t\t\t\t\t// show value on first line of multiline label\r\n\t\t\t\t\t// need to clone because we are changing the value\r\n\t\t\t\t\tdataLabel = dataLabel.slice();\r\n\t\t\t\t\tdataLabel[0] += value;\r\n\t\t\t\t} else {\r\n\t\t\t\t\tdataLabel += value;\r\n\t\t\t\t}\r\n\r\n\t\t\t\treturn dataLabel;\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n});\r\n\r\nvar controller_doughnut = core_datasetController.extend({\r\n\r\n\tdataElementType: elements.Arc,\r\n\r\n\tlinkScales: helpers$1.noop,\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_dataElementOptions: [\r\n\t\t'backgroundColor',\r\n\t\t'borderColor',\r\n\t\t'borderWidth',\r\n\t\t'borderAlign',\r\n\t\t'hoverBackgroundColor',\r\n\t\t'hoverBorderColor',\r\n\t\t'hoverBorderWidth',\r\n\t],\r\n\r\n\t// Get index of the dataset in relation to the visible datasets. This allows determining the inner and outer radius correctly\r\n\tgetRingIndex: function(datasetIndex) {\r\n\t\tvar ringIndex = 0;\r\n\r\n\t\tfor (var j = 0; j < datasetIndex; ++j) {\r\n\t\t\tif (this.chart.isDatasetVisible(j)) {\r\n\t\t\t\t++ringIndex;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn ringIndex;\r\n\t},\r\n\r\n\tupdate: function(reset) {\r\n\t\tvar me = this;\r\n\t\tvar chart = me.chart;\r\n\t\tvar chartArea = chart.chartArea;\r\n\t\tvar opts = chart.options;\r\n\t\tvar ratioX = 1;\r\n\t\tvar ratioY = 1;\r\n\t\tvar offsetX = 0;\r\n\t\tvar offsetY = 0;\r\n\t\tvar meta = me.getMeta();\r\n\t\tvar arcs = meta.data;\r\n\t\tvar cutout = opts.cutoutPercentage / 100 || 0;\r\n\t\tvar circumference = opts.circumference;\r\n\t\tvar chartWeight = me._getRingWeight(me.index);\r\n\t\tvar maxWidth, maxHeight, i, ilen;\r\n\r\n\t\t// If the chart's circumference isn't a full circle, calculate size as a ratio of the width/height of the arc\r\n\t\tif (circumference < DOUBLE_PI$1) {\r\n\t\t\tvar startAngle = opts.rotation % DOUBLE_PI$1;\r\n\t\t\tstartAngle += startAngle >= PI$1 ? -DOUBLE_PI$1 : startAngle < -PI$1 ? DOUBLE_PI$1 : 0;\r\n\t\t\tvar endAngle = startAngle + circumference;\r\n\t\t\tvar startX = Math.cos(startAngle);\r\n\t\t\tvar startY = Math.sin(startAngle);\r\n\t\t\tvar endX = Math.cos(endAngle);\r\n\t\t\tvar endY = Math.sin(endAngle);\r\n\t\t\tvar contains0 = (startAngle <= 0 && endAngle >= 0) || endAngle >= DOUBLE_PI$1;\r\n\t\t\tvar contains90 = (startAngle <= HALF_PI$1 && endAngle >= HALF_PI$1) || endAngle >= DOUBLE_PI$1 + HALF_PI$1;\r\n\t\t\tvar contains180 = startAngle === -PI$1 || endAngle >= PI$1;\r\n\t\t\tvar contains270 = (startAngle <= -HALF_PI$1 && endAngle >= -HALF_PI$1) || endAngle >= PI$1 + HALF_PI$1;\r\n\t\t\tvar minX = contains180 ? -1 : Math.min(startX, startX * cutout, endX, endX * cutout);\r\n\t\t\tvar minY = contains270 ? -1 : Math.min(startY, startY * cutout, endY, endY * cutout);\r\n\t\t\tvar maxX = contains0 ? 1 : Math.max(startX, startX * cutout, endX, endX * cutout);\r\n\t\t\tvar maxY = contains90 ? 1 : Math.max(startY, startY * cutout, endY, endY * cutout);\r\n\t\t\tratioX = (maxX - minX) / 2;\r\n\t\t\tratioY = (maxY - minY) / 2;\r\n\t\t\toffsetX = -(maxX + minX) / 2;\r\n\t\t\toffsetY = -(maxY + minY) / 2;\r\n\t\t}\r\n\r\n\t\tfor (i = 0, ilen = arcs.length; i < ilen; ++i) {\r\n\t\t\tarcs[i]._options = me._resolveDataElementOptions(arcs[i], i);\r\n\t\t}\r\n\r\n\t\tchart.borderWidth = me.getMaxBorderWidth();\r\n\t\tmaxWidth = (chartArea.right - chartArea.left - chart.borderWidth) / ratioX;\r\n\t\tmaxHeight = (chartArea.bottom - chartArea.top - chart.borderWidth) / ratioY;\r\n\t\tchart.outerRadius = Math.max(Math.min(maxWidth, maxHeight) / 2, 0);\r\n\t\tchart.innerRadius = Math.max(chart.outerRadius * cutout, 0);\r\n\t\tchart.radiusLength = (chart.outerRadius - chart.innerRadius) / (me._getVisibleDatasetWeightTotal() || 1);\r\n\t\tchart.offsetX = offsetX * chart.outerRadius;\r\n\t\tchart.offsetY = offsetY * chart.outerRadius;\r\n\r\n\t\tmeta.total = me.calculateTotal();\r\n\r\n\t\tme.outerRadius = chart.outerRadius - chart.radiusLength * me._getRingWeightOffset(me.index);\r\n\t\tme.innerRadius = Math.max(me.outerRadius - chart.radiusLength * chartWeight, 0);\r\n\r\n\t\tfor (i = 0, ilen = arcs.length; i < ilen; ++i) {\r\n\t\t\tme.updateElement(arcs[i], i, reset);\r\n\t\t}\r\n\t},\r\n\r\n\tupdateElement: function(arc, index, reset) {\r\n\t\tvar me = this;\r\n\t\tvar chart = me.chart;\r\n\t\tvar chartArea = chart.chartArea;\r\n\t\tvar opts = chart.options;\r\n\t\tvar animationOpts = opts.animation;\r\n\t\tvar centerX = (chartArea.left + chartArea.right) / 2;\r\n\t\tvar centerY = (chartArea.top + chartArea.bottom) / 2;\r\n\t\tvar startAngle = opts.rotation; // non reset case handled later\r\n\t\tvar endAngle = opts.rotation; // non reset case handled later\r\n\t\tvar dataset = me.getDataset();\r\n\t\tvar circumference = reset && animationOpts.animateRotate ? 0 : arc.hidden ? 0 : me.calculateCircumference(dataset.data[index]) * (opts.circumference / DOUBLE_PI$1);\r\n\t\tvar innerRadius = reset && animationOpts.animateScale ? 0 : me.innerRadius;\r\n\t\tvar outerRadius = reset && animationOpts.animateScale ? 0 : me.outerRadius;\r\n\t\tvar options = arc._options || {};\r\n\r\n\t\thelpers$1.extend(arc, {\r\n\t\t\t// Utility\r\n\t\t\t_datasetIndex: me.index,\r\n\t\t\t_index: index,\r\n\r\n\t\t\t// Desired view properties\r\n\t\t\t_model: {\r\n\t\t\t\tbackgroundColor: options.backgroundColor,\r\n\t\t\t\tborderColor: options.borderColor,\r\n\t\t\t\tborderWidth: options.borderWidth,\r\n\t\t\t\tborderAlign: options.borderAlign,\r\n\t\t\t\tx: centerX + chart.offsetX,\r\n\t\t\t\ty: centerY + chart.offsetY,\r\n\t\t\t\tstartAngle: startAngle,\r\n\t\t\t\tendAngle: endAngle,\r\n\t\t\t\tcircumference: circumference,\r\n\t\t\t\touterRadius: outerRadius,\r\n\t\t\t\tinnerRadius: innerRadius,\r\n\t\t\t\tlabel: helpers$1.valueAtIndexOrDefault(dataset.label, index, chart.data.labels[index])\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\tvar model = arc._model;\r\n\r\n\t\t// Set correct angles if not resetting\r\n\t\tif (!reset || !animationOpts.animateRotate) {\r\n\t\t\tif (index === 0) {\r\n\t\t\t\tmodel.startAngle = opts.rotation;\r\n\t\t\t} else {\r\n\t\t\t\tmodel.startAngle = me.getMeta().data[index - 1]._model.endAngle;\r\n\t\t\t}\r\n\r\n\t\t\tmodel.endAngle = model.startAngle + model.circumference;\r\n\t\t}\r\n\r\n\t\tarc.pivot();\r\n\t},\r\n\r\n\tcalculateTotal: function() {\r\n\t\tvar dataset = this.getDataset();\r\n\t\tvar meta = this.getMeta();\r\n\t\tvar total = 0;\r\n\t\tvar value;\r\n\r\n\t\thelpers$1.each(meta.data, function(element, index) {\r\n\t\t\tvalue = dataset.data[index];\r\n\t\t\tif (!isNaN(value) && !element.hidden) {\r\n\t\t\t\ttotal += Math.abs(value);\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\t/* if (total === 0) {\r\n\t\t\ttotal = NaN;\r\n\t\t}*/\r\n\r\n\t\treturn total;\r\n\t},\r\n\r\n\tcalculateCircumference: function(value) {\r\n\t\tvar total = this.getMeta().total;\r\n\t\tif (total > 0 && !isNaN(value)) {\r\n\t\t\treturn DOUBLE_PI$1 * (Math.abs(value) / total);\r\n\t\t}\r\n\t\treturn 0;\r\n\t},\r\n\r\n\t// gets the max border or hover width to properly scale pie charts\r\n\tgetMaxBorderWidth: function(arcs) {\r\n\t\tvar me = this;\r\n\t\tvar max = 0;\r\n\t\tvar chart = me.chart;\r\n\t\tvar i, ilen, meta, arc, controller, options, borderWidth, hoverWidth;\r\n\r\n\t\tif (!arcs) {\r\n\t\t\t// Find the outmost visible dataset\r\n\t\t\tfor (i = 0, ilen = chart.data.datasets.length; i < ilen; ++i) {\r\n\t\t\t\tif (chart.isDatasetVisible(i)) {\r\n\t\t\t\t\tmeta = chart.getDatasetMeta(i);\r\n\t\t\t\t\tarcs = meta.data;\r\n\t\t\t\t\tif (i !== me.index) {\r\n\t\t\t\t\t\tcontroller = meta.controller;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tbreak;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tif (!arcs) {\r\n\t\t\treturn 0;\r\n\t\t}\r\n\r\n\t\tfor (i = 0, ilen = arcs.length; i < ilen; ++i) {\r\n\t\t\tarc = arcs[i];\r\n\t\t\tif (controller) {\r\n\t\t\t\tcontroller._configure();\r\n\t\t\t\toptions = controller._resolveDataElementOptions(arc, i);\r\n\t\t\t} else {\r\n\t\t\t\toptions = arc._options;\r\n\t\t\t}\r\n\t\t\tif (options.borderAlign !== 'inner') {\r\n\t\t\t\tborderWidth = options.borderWidth;\r\n\t\t\t\thoverWidth = options.hoverBorderWidth;\r\n\r\n\t\t\t\tmax = borderWidth > max ? borderWidth : max;\r\n\t\t\t\tmax = hoverWidth > max ? hoverWidth : max;\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn max;\r\n\t},\r\n\r\n\t/**\r\n\t * @protected\r\n\t */\r\n\tsetHoverStyle: function(arc) {\r\n\t\tvar model = arc._model;\r\n\t\tvar options = arc._options;\r\n\t\tvar getHoverColor = helpers$1.getHoverColor;\r\n\r\n\t\tarc.$previousStyle = {\r\n\t\t\tbackgroundColor: model.backgroundColor,\r\n\t\t\tborderColor: model.borderColor,\r\n\t\t\tborderWidth: model.borderWidth,\r\n\t\t};\r\n\r\n\t\tmodel.backgroundColor = valueOrDefault$5(options.hoverBackgroundColor, getHoverColor(options.backgroundColor));\r\n\t\tmodel.borderColor = valueOrDefault$5(options.hoverBorderColor, getHoverColor(options.borderColor));\r\n\t\tmodel.borderWidth = valueOrDefault$5(options.hoverBorderWidth, options.borderWidth);\r\n\t},\r\n\r\n\t/**\r\n\t * Get radius length offset of the dataset in relation to the visible datasets weights. This allows determining the inner and outer radius correctly\r\n\t * @private\r\n\t */\r\n\t_getRingWeightOffset: function(datasetIndex) {\r\n\t\tvar ringWeightOffset = 0;\r\n\r\n\t\tfor (var i = 0; i < datasetIndex; ++i) {\r\n\t\t\tif (this.chart.isDatasetVisible(i)) {\r\n\t\t\t\tringWeightOffset += this._getRingWeight(i);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn ringWeightOffset;\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_getRingWeight: function(dataSetIndex) {\r\n\t\treturn Math.max(valueOrDefault$5(this.chart.data.datasets[dataSetIndex].weight, 1), 0);\r\n\t},\r\n\r\n\t/**\r\n\t * Returns the sum of all visibile data set weights. This value can be 0.\r\n\t * @private\r\n\t */\r\n\t_getVisibleDatasetWeightTotal: function() {\r\n\t\treturn this._getRingWeightOffset(this.chart.data.datasets.length);\r\n\t}\r\n});\n\ncore_defaults._set('horizontalBar', {\r\n\thover: {\r\n\t\tmode: 'index',\r\n\t\taxis: 'y'\r\n\t},\r\n\r\n\tscales: {\r\n\t\txAxes: [{\r\n\t\t\ttype: 'linear',\r\n\t\t\tposition: 'bottom'\r\n\t\t}],\r\n\r\n\t\tyAxes: [{\r\n\t\t\ttype: 'category',\r\n\t\t\tposition: 'left',\r\n\t\t\toffset: true,\r\n\t\t\tgridLines: {\r\n\t\t\t\toffsetGridLines: true\r\n\t\t\t}\r\n\t\t}]\r\n\t},\r\n\r\n\telements: {\r\n\t\trectangle: {\r\n\t\t\tborderSkipped: 'left'\r\n\t\t}\r\n\t},\r\n\r\n\ttooltips: {\r\n\t\tmode: 'index',\r\n\t\taxis: 'y'\r\n\t}\r\n});\r\n\r\ncore_defaults._set('global', {\r\n\tdatasets: {\r\n\t\thorizontalBar: {\r\n\t\t\tcategoryPercentage: 0.8,\r\n\t\t\tbarPercentage: 0.9\r\n\t\t}\r\n\t}\r\n});\r\n\r\nvar controller_horizontalBar = controller_bar.extend({\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_getValueScaleId: function() {\r\n\t\treturn this.getMeta().xAxisID;\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_getIndexScaleId: function() {\r\n\t\treturn this.getMeta().yAxisID;\r\n\t}\r\n});\n\nvar valueOrDefault$6 = helpers$1.valueOrDefault;\r\nvar resolve$2 = helpers$1.options.resolve;\r\nvar isPointInArea = helpers$1.canvas._isPointInArea;\r\n\r\ncore_defaults._set('line', {\r\n\tshowLines: true,\r\n\tspanGaps: false,\r\n\r\n\thover: {\r\n\t\tmode: 'label'\r\n\t},\r\n\r\n\tscales: {\r\n\t\txAxes: [{\r\n\t\t\ttype: 'category',\r\n\t\t\tid: 'x-axis-0'\r\n\t\t}],\r\n\t\tyAxes: [{\r\n\t\t\ttype: 'linear',\r\n\t\t\tid: 'y-axis-0'\r\n\t\t}]\r\n\t}\r\n});\r\n\r\nfunction scaleClip(scale, halfBorderWidth) {\r\n\tvar tickOpts = scale && scale.options.ticks || {};\r\n\tvar reverse = tickOpts.reverse;\r\n\tvar min = tickOpts.min === undefined ? halfBorderWidth : 0;\r\n\tvar max = tickOpts.max === undefined ? halfBorderWidth : 0;\r\n\treturn {\r\n\t\tstart: reverse ? max : min,\r\n\t\tend: reverse ? min : max\r\n\t};\r\n}\r\n\r\nfunction defaultClip(xScale, yScale, borderWidth) {\r\n\tvar halfBorderWidth = borderWidth / 2;\r\n\tvar x = scaleClip(xScale, halfBorderWidth);\r\n\tvar y = scaleClip(yScale, halfBorderWidth);\r\n\r\n\treturn {\r\n\t\ttop: y.end,\r\n\t\tright: x.end,\r\n\t\tbottom: y.start,\r\n\t\tleft: x.start\r\n\t};\r\n}\r\n\r\nfunction toClip(value) {\r\n\tvar t, r, b, l;\r\n\r\n\tif (helpers$1.isObject(value)) {\r\n\t\tt = value.top;\r\n\t\tr = value.right;\r\n\t\tb = value.bottom;\r\n\t\tl = value.left;\r\n\t} else {\r\n\t\tt = r = b = l = value;\r\n\t}\r\n\r\n\treturn {\r\n\t\ttop: t,\r\n\t\tright: r,\r\n\t\tbottom: b,\r\n\t\tleft: l\r\n\t};\r\n}\r\n\r\n\r\nvar controller_line = core_datasetController.extend({\r\n\r\n\tdatasetElementType: elements.Line,\r\n\r\n\tdataElementType: elements.Point,\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_datasetElementOptions: [\r\n\t\t'backgroundColor',\r\n\t\t'borderCapStyle',\r\n\t\t'borderColor',\r\n\t\t'borderDash',\r\n\t\t'borderDashOffset',\r\n\t\t'borderJoinStyle',\r\n\t\t'borderWidth',\r\n\t\t'cubicInterpolationMode',\r\n\t\t'fill'\r\n\t],\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_dataElementOptions: {\r\n\t\tbackgroundColor: 'pointBackgroundColor',\r\n\t\tborderColor: 'pointBorderColor',\r\n\t\tborderWidth: 'pointBorderWidth',\r\n\t\thitRadius: 'pointHitRadius',\r\n\t\thoverBackgroundColor: 'pointHoverBackgroundColor',\r\n\t\thoverBorderColor: 'pointHoverBorderColor',\r\n\t\thoverBorderWidth: 'pointHoverBorderWidth',\r\n\t\thoverRadius: 'pointHoverRadius',\r\n\t\tpointStyle: 'pointStyle',\r\n\t\tradius: 'pointRadius',\r\n\t\trotation: 'pointRotation'\r\n\t},\r\n\r\n\tupdate: function(reset) {\r\n\t\tvar me = this;\r\n\t\tvar meta = me.getMeta();\r\n\t\tvar line = meta.dataset;\r\n\t\tvar points = meta.data || [];\r\n\t\tvar options = me.chart.options;\r\n\t\tvar config = me._config;\r\n\t\tvar showLine = me._showLine = valueOrDefault$6(config.showLine, options.showLines);\r\n\t\tvar i, ilen;\r\n\r\n\t\tme._xScale = me.getScaleForId(meta.xAxisID);\r\n\t\tme._yScale = me.getScaleForId(meta.yAxisID);\r\n\r\n\t\t// Update Line\r\n\t\tif (showLine) {\r\n\t\t\t// Compatibility: If the properties are defined with only the old name, use those values\r\n\t\t\tif (config.tension !== undefined && config.lineTension === undefined) {\r\n\t\t\t\tconfig.lineTension = config.tension;\r\n\t\t\t}\r\n\r\n\t\t\t// Utility\r\n\t\t\tline._scale = me._yScale;\r\n\t\t\tline._datasetIndex = me.index;\r\n\t\t\t// Data\r\n\t\t\tline._children = points;\r\n\t\t\t// Model\r\n\t\t\tline._model = me._resolveDatasetElementOptions(line);\r\n\r\n\t\t\tline.pivot();\r\n\t\t}\r\n\r\n\t\t// Update Points\r\n\t\tfor (i = 0, ilen = points.length; i < ilen; ++i) {\r\n\t\t\tme.updateElement(points[i], i, reset);\r\n\t\t}\r\n\r\n\t\tif (showLine && line._model.tension !== 0) {\r\n\t\t\tme.updateBezierControlPoints();\r\n\t\t}\r\n\r\n\t\t// Now pivot the point for animation\r\n\t\tfor (i = 0, ilen = points.length; i < ilen; ++i) {\r\n\t\t\tpoints[i].pivot();\r\n\t\t}\r\n\t},\r\n\r\n\tupdateElement: function(point, index, reset) {\r\n\t\tvar me = this;\r\n\t\tvar meta = me.getMeta();\r\n\t\tvar custom = point.custom || {};\r\n\t\tvar dataset = me.getDataset();\r\n\t\tvar datasetIndex = me.index;\r\n\t\tvar value = dataset.data[index];\r\n\t\tvar xScale = me._xScale;\r\n\t\tvar yScale = me._yScale;\r\n\t\tvar lineModel = meta.dataset._model;\r\n\t\tvar x, y;\r\n\r\n\t\tvar options = me._resolveDataElementOptions(point, index);\r\n\r\n\t\tx = xScale.getPixelForValue(typeof value === 'object' ? value : NaN, index, datasetIndex);\r\n\t\ty = reset ? yScale.getBasePixel() : me.calculatePointY(value, index, datasetIndex);\r\n\r\n\t\t// Utility\r\n\t\tpoint._xScale = xScale;\r\n\t\tpoint._yScale = yScale;\r\n\t\tpoint._options = options;\r\n\t\tpoint._datasetIndex = datasetIndex;\r\n\t\tpoint._index = index;\r\n\r\n\t\t// Desired view properties\r\n\t\tpoint._model = {\r\n\t\t\tx: x,\r\n\t\t\ty: y,\r\n\t\t\tskip: custom.skip || isNaN(x) || isNaN(y),\r\n\t\t\t// Appearance\r\n\t\t\tradius: options.radius,\r\n\t\t\tpointStyle: options.pointStyle,\r\n\t\t\trotation: options.rotation,\r\n\t\t\tbackgroundColor: options.backgroundColor,\r\n\t\t\tborderColor: options.borderColor,\r\n\t\t\tborderWidth: options.borderWidth,\r\n\t\t\ttension: valueOrDefault$6(custom.tension, lineModel ? lineModel.tension : 0),\r\n\t\t\tsteppedLine: lineModel ? lineModel.steppedLine : false,\r\n\t\t\t// Tooltip\r\n\t\t\thitRadius: options.hitRadius\r\n\t\t};\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_resolveDatasetElementOptions: function(element) {\r\n\t\tvar me = this;\r\n\t\tvar config = me._config;\r\n\t\tvar custom = element.custom || {};\r\n\t\tvar options = me.chart.options;\r\n\t\tvar lineOptions = options.elements.line;\r\n\t\tvar values = core_datasetController.prototype._resolveDatasetElementOptions.apply(me, arguments);\r\n\r\n\t\t// The default behavior of lines is to break at null values, according\r\n\t\t// to https://github.com/chartjs/Chart.js/issues/2435#issuecomment-216718158\r\n\t\t// This option gives lines the ability to span gaps\r\n\t\tvalues.spanGaps = valueOrDefault$6(config.spanGaps, options.spanGaps);\r\n\t\tvalues.tension = valueOrDefault$6(config.lineTension, lineOptions.tension);\r\n\t\tvalues.steppedLine = resolve$2([custom.steppedLine, config.steppedLine, lineOptions.stepped]);\r\n\t\tvalues.clip = toClip(valueOrDefault$6(config.clip, defaultClip(me._xScale, me._yScale, values.borderWidth)));\r\n\r\n\t\treturn values;\r\n\t},\r\n\r\n\tcalculatePointY: function(value, index, datasetIndex) {\r\n\t\tvar me = this;\r\n\t\tvar chart = me.chart;\r\n\t\tvar yScale = me._yScale;\r\n\t\tvar sumPos = 0;\r\n\t\tvar sumNeg = 0;\r\n\t\tvar i, ds, dsMeta, stackedRightValue, rightValue, metasets, ilen;\r\n\r\n\t\tif (yScale.options.stacked) {\r\n\t\t\trightValue = +yScale.getRightValue(value);\r\n\t\t\tmetasets = chart._getSortedVisibleDatasetMetas();\r\n\t\t\tilen = metasets.length;\r\n\r\n\t\t\tfor (i = 0; i < ilen; ++i) {\r\n\t\t\t\tdsMeta = metasets[i];\r\n\t\t\t\tif (dsMeta.index === datasetIndex) {\r\n\t\t\t\t\tbreak;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tds = chart.data.datasets[dsMeta.index];\r\n\t\t\t\tif (dsMeta.type === 'line' && dsMeta.yAxisID === yScale.id) {\r\n\t\t\t\t\tstackedRightValue = +yScale.getRightValue(ds.data[index]);\r\n\t\t\t\t\tif (stackedRightValue < 0) {\r\n\t\t\t\t\t\tsumNeg += stackedRightValue || 0;\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tsumPos += stackedRightValue || 0;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tif (rightValue < 0) {\r\n\t\t\t\treturn yScale.getPixelForValue(sumNeg + rightValue);\r\n\t\t\t}\r\n\t\t\treturn yScale.getPixelForValue(sumPos + rightValue);\r\n\t\t}\r\n\t\treturn yScale.getPixelForValue(value);\r\n\t},\r\n\r\n\tupdateBezierControlPoints: function() {\r\n\t\tvar me = this;\r\n\t\tvar chart = me.chart;\r\n\t\tvar meta = me.getMeta();\r\n\t\tvar lineModel = meta.dataset._model;\r\n\t\tvar area = chart.chartArea;\r\n\t\tvar points = meta.data || [];\r\n\t\tvar i, ilen, model, controlPoints;\r\n\r\n\t\t// Only consider points that are drawn in case the spanGaps option is used\r\n\t\tif (lineModel.spanGaps) {\r\n\t\t\tpoints = points.filter(function(pt) {\r\n\t\t\t\treturn !pt._model.skip;\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tfunction capControlPoint(pt, min, max) {\r\n\t\t\treturn Math.max(Math.min(pt, max), min);\r\n\t\t}\r\n\r\n\t\tif (lineModel.cubicInterpolationMode === 'monotone') {\r\n\t\t\thelpers$1.splineCurveMonotone(points);\r\n\t\t} else {\r\n\t\t\tfor (i = 0, ilen = points.length; i < ilen; ++i) {\r\n\t\t\t\tmodel = points[i]._model;\r\n\t\t\t\tcontrolPoints = helpers$1.splineCurve(\r\n\t\t\t\t\thelpers$1.previousItem(points, i)._model,\r\n\t\t\t\t\tmodel,\r\n\t\t\t\t\thelpers$1.nextItem(points, i)._model,\r\n\t\t\t\t\tlineModel.tension\r\n\t\t\t\t);\r\n\t\t\t\tmodel.controlPointPreviousX = controlPoints.previous.x;\r\n\t\t\t\tmodel.controlPointPreviousY = controlPoints.previous.y;\r\n\t\t\t\tmodel.controlPointNextX = controlPoints.next.x;\r\n\t\t\t\tmodel.controlPointNextY = controlPoints.next.y;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tif (chart.options.elements.line.capBezierPoints) {\r\n\t\t\tfor (i = 0, ilen = points.length; i < ilen; ++i) {\r\n\t\t\t\tmodel = points[i]._model;\r\n\t\t\t\tif (isPointInArea(model, area)) {\r\n\t\t\t\t\tif (i > 0 && isPointInArea(points[i - 1]._model, area)) {\r\n\t\t\t\t\t\tmodel.controlPointPreviousX = capControlPoint(model.controlPointPreviousX, area.left, area.right);\r\n\t\t\t\t\t\tmodel.controlPointPreviousY = capControlPoint(model.controlPointPreviousY, area.top, area.bottom);\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif (i < points.length - 1 && isPointInArea(points[i + 1]._model, area)) {\r\n\t\t\t\t\t\tmodel.controlPointNextX = capControlPoint(model.controlPointNextX, area.left, area.right);\r\n\t\t\t\t\t\tmodel.controlPointNextY = capControlPoint(model.controlPointNextY, area.top, area.bottom);\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t},\r\n\r\n\tdraw: function() {\r\n\t\tvar me = this;\r\n\t\tvar chart = me.chart;\r\n\t\tvar meta = me.getMeta();\r\n\t\tvar points = meta.data || [];\r\n\t\tvar area = chart.chartArea;\r\n\t\tvar canvas = chart.canvas;\r\n\t\tvar i = 0;\r\n\t\tvar ilen = points.length;\r\n\t\tvar clip;\r\n\r\n\t\tif (me._showLine) {\r\n\t\t\tclip = meta.dataset._model.clip;\r\n\r\n\t\t\thelpers$1.canvas.clipArea(chart.ctx, {\r\n\t\t\t\tleft: clip.left === false ? 0 : area.left - clip.left,\r\n\t\t\t\tright: clip.right === false ? canvas.width : area.right + clip.right,\r\n\t\t\t\ttop: clip.top === false ? 0 : area.top - clip.top,\r\n\t\t\t\tbottom: clip.bottom === false ? canvas.height : area.bottom + clip.bottom\r\n\t\t\t});\r\n\r\n\t\t\tmeta.dataset.draw();\r\n\r\n\t\t\thelpers$1.canvas.unclipArea(chart.ctx);\r\n\t\t}\r\n\r\n\t\t// Draw the points\r\n\t\tfor (; i < ilen; ++i) {\r\n\t\t\tpoints[i].draw(area);\r\n\t\t}\r\n\t},\r\n\r\n\t/**\r\n\t * @protected\r\n\t */\r\n\tsetHoverStyle: function(point) {\r\n\t\tvar model = point._model;\r\n\t\tvar options = point._options;\r\n\t\tvar getHoverColor = helpers$1.getHoverColor;\r\n\r\n\t\tpoint.$previousStyle = {\r\n\t\t\tbackgroundColor: model.backgroundColor,\r\n\t\t\tborderColor: model.borderColor,\r\n\t\t\tborderWidth: model.borderWidth,\r\n\t\t\tradius: model.radius\r\n\t\t};\r\n\r\n\t\tmodel.backgroundColor = valueOrDefault$6(options.hoverBackgroundColor, getHoverColor(options.backgroundColor));\r\n\t\tmodel.borderColor = valueOrDefault$6(options.hoverBorderColor, getHoverColor(options.borderColor));\r\n\t\tmodel.borderWidth = valueOrDefault$6(options.hoverBorderWidth, options.borderWidth);\r\n\t\tmodel.radius = valueOrDefault$6(options.hoverRadius, options.radius);\r\n\t},\r\n});\n\nvar resolve$3 = helpers$1.options.resolve;\r\n\r\ncore_defaults._set('polarArea', {\r\n\tscale: {\r\n\t\ttype: 'radialLinear',\r\n\t\tangleLines: {\r\n\t\t\tdisplay: false\r\n\t\t},\r\n\t\tgridLines: {\r\n\t\t\tcircular: true\r\n\t\t},\r\n\t\tpointLabels: {\r\n\t\t\tdisplay: false\r\n\t\t},\r\n\t\tticks: {\r\n\t\t\tbeginAtZero: true\r\n\t\t}\r\n\t},\r\n\r\n\t// Boolean - Whether to animate the rotation of the chart\r\n\tanimation: {\r\n\t\tanimateRotate: true,\r\n\t\tanimateScale: true\r\n\t},\r\n\r\n\tstartAngle: -0.5 * Math.PI,\r\n\tlegendCallback: function(chart) {\r\n\t\tvar list = document.createElement('ul');\r\n\t\tvar data = chart.data;\r\n\t\tvar datasets = data.datasets;\r\n\t\tvar labels = data.labels;\r\n\t\tvar i, ilen, listItem, listItemSpan;\r\n\r\n\t\tlist.setAttribute('class', chart.id + '-legend');\r\n\t\tif (datasets.length) {\r\n\t\t\tfor (i = 0, ilen = datasets[0].data.length; i < ilen; ++i) {\r\n\t\t\t\tlistItem = list.appendChild(document.createElement('li'));\r\n\t\t\t\tlistItemSpan = listItem.appendChild(document.createElement('span'));\r\n\t\t\t\tlistItemSpan.style.backgroundColor = datasets[0].backgroundColor[i];\r\n\t\t\t\tif (labels[i]) {\r\n\t\t\t\t\tlistItem.appendChild(document.createTextNode(labels[i]));\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn list.outerHTML;\r\n\t},\r\n\tlegend: {\r\n\t\tlabels: {\r\n\t\t\tgenerateLabels: function(chart) {\r\n\t\t\t\tvar data = chart.data;\r\n\t\t\t\tif (data.labels.length && data.datasets.length) {\r\n\t\t\t\t\treturn data.labels.map(function(label, i) {\r\n\t\t\t\t\t\tvar meta = chart.getDatasetMeta(0);\r\n\t\t\t\t\t\tvar style = meta.controller.getStyle(i);\r\n\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\ttext: label,\r\n\t\t\t\t\t\t\tfillStyle: style.backgroundColor,\r\n\t\t\t\t\t\t\tstrokeStyle: style.borderColor,\r\n\t\t\t\t\t\t\tlineWidth: style.borderWidth,\r\n\t\t\t\t\t\t\thidden: isNaN(data.datasets[0].data[i]) || meta.data[i].hidden,\r\n\r\n\t\t\t\t\t\t\t// Extra data used for toggling the correct item\r\n\t\t\t\t\t\t\tindex: i\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t\treturn [];\r\n\t\t\t}\r\n\t\t},\r\n\r\n\t\tonClick: function(e, legendItem) {\r\n\t\t\tvar index = legendItem.index;\r\n\t\t\tvar chart = this.chart;\r\n\t\t\tvar i, ilen, meta;\r\n\r\n\t\t\tfor (i = 0, ilen = (chart.data.datasets || []).length; i < ilen; ++i) {\r\n\t\t\t\tmeta = chart.getDatasetMeta(i);\r\n\t\t\t\tmeta.data[index].hidden = !meta.data[index].hidden;\r\n\t\t\t}\r\n\r\n\t\t\tchart.update();\r\n\t\t}\r\n\t},\r\n\r\n\t// Need to override these to give a nice default\r\n\ttooltips: {\r\n\t\tcallbacks: {\r\n\t\t\ttitle: function() {\r\n\t\t\t\treturn '';\r\n\t\t\t},\r\n\t\t\tlabel: function(item, data) {\r\n\t\t\t\treturn data.labels[item.index] + ': ' + item.yLabel;\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n});\r\n\r\nvar controller_polarArea = core_datasetController.extend({\r\n\r\n\tdataElementType: elements.Arc,\r\n\r\n\tlinkScales: helpers$1.noop,\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_dataElementOptions: [\r\n\t\t'backgroundColor',\r\n\t\t'borderColor',\r\n\t\t'borderWidth',\r\n\t\t'borderAlign',\r\n\t\t'hoverBackgroundColor',\r\n\t\t'hoverBorderColor',\r\n\t\t'hoverBorderWidth',\r\n\t],\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_getIndexScaleId: function() {\r\n\t\treturn this.chart.scale.id;\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_getValueScaleId: function() {\r\n\t\treturn this.chart.scale.id;\r\n\t},\r\n\r\n\tupdate: function(reset) {\r\n\t\tvar me = this;\r\n\t\tvar dataset = me.getDataset();\r\n\t\tvar meta = me.getMeta();\r\n\t\tvar start = me.chart.options.startAngle || 0;\r\n\t\tvar starts = me._starts = [];\r\n\t\tvar angles = me._angles = [];\r\n\t\tvar arcs = meta.data;\r\n\t\tvar i, ilen, angle;\r\n\r\n\t\tme._updateRadius();\r\n\r\n\t\tmeta.count = me.countVisibleElements();\r\n\r\n\t\tfor (i = 0, ilen = dataset.data.length; i < ilen; i++) {\r\n\t\t\tstarts[i] = start;\r\n\t\t\tangle = me._computeAngle(i);\r\n\t\t\tangles[i] = angle;\r\n\t\t\tstart += angle;\r\n\t\t}\r\n\r\n\t\tfor (i = 0, ilen = arcs.length; i < ilen; ++i) {\r\n\t\t\tarcs[i]._options = me._resolveDataElementOptions(arcs[i], i);\r\n\t\t\tme.updateElement(arcs[i], i, reset);\r\n\t\t}\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_updateRadius: function() {\r\n\t\tvar me = this;\r\n\t\tvar chart = me.chart;\r\n\t\tvar chartArea = chart.chartArea;\r\n\t\tvar opts = chart.options;\r\n\t\tvar minSize = Math.min(chartArea.right - chartArea.left, chartArea.bottom - chartArea.top);\r\n\r\n\t\tchart.outerRadius = Math.max(minSize / 2, 0);\r\n\t\tchart.innerRadius = Math.max(opts.cutoutPercentage ? (chart.outerRadius / 100) * (opts.cutoutPercentage) : 1, 0);\r\n\t\tchart.radiusLength = (chart.outerRadius - chart.innerRadius) / chart.getVisibleDatasetCount();\r\n\r\n\t\tme.outerRadius = chart.outerRadius - (chart.radiusLength * me.index);\r\n\t\tme.innerRadius = me.outerRadius - chart.radiusLength;\r\n\t},\r\n\r\n\tupdateElement: function(arc, index, reset) {\r\n\t\tvar me = this;\r\n\t\tvar chart = me.chart;\r\n\t\tvar dataset = me.getDataset();\r\n\t\tvar opts = chart.options;\r\n\t\tvar animationOpts = opts.animation;\r\n\t\tvar scale = chart.scale;\r\n\t\tvar labels = chart.data.labels;\r\n\r\n\t\tvar centerX = scale.xCenter;\r\n\t\tvar centerY = scale.yCenter;\r\n\r\n\t\t// var negHalfPI = -0.5 * Math.PI;\r\n\t\tvar datasetStartAngle = opts.startAngle;\r\n\t\tvar distance = arc.hidden ? 0 : scale.getDistanceFromCenterForValue(dataset.data[index]);\r\n\t\tvar startAngle = me._starts[index];\r\n\t\tvar endAngle = startAngle + (arc.hidden ? 0 : me._angles[index]);\r\n\r\n\t\tvar resetRadius = animationOpts.animateScale ? 0 : scale.getDistanceFromCenterForValue(dataset.data[index]);\r\n\t\tvar options = arc._options || {};\r\n\r\n\t\thelpers$1.extend(arc, {\r\n\t\t\t// Utility\r\n\t\t\t_datasetIndex: me.index,\r\n\t\t\t_index: index,\r\n\t\t\t_scale: scale,\r\n\r\n\t\t\t// Desired view properties\r\n\t\t\t_model: {\r\n\t\t\t\tbackgroundColor: options.backgroundColor,\r\n\t\t\t\tborderColor: options.borderColor,\r\n\t\t\t\tborderWidth: options.borderWidth,\r\n\t\t\t\tborderAlign: options.borderAlign,\r\n\t\t\t\tx: centerX,\r\n\t\t\t\ty: centerY,\r\n\t\t\t\tinnerRadius: 0,\r\n\t\t\t\touterRadius: reset ? resetRadius : distance,\r\n\t\t\t\tstartAngle: reset && animationOpts.animateRotate ? datasetStartAngle : startAngle,\r\n\t\t\t\tendAngle: reset && animationOpts.animateRotate ? datasetStartAngle : endAngle,\r\n\t\t\t\tlabel: helpers$1.valueAtIndexOrDefault(labels, index, labels[index])\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\tarc.pivot();\r\n\t},\r\n\r\n\tcountVisibleElements: function() {\r\n\t\tvar dataset = this.getDataset();\r\n\t\tvar meta = this.getMeta();\r\n\t\tvar count = 0;\r\n\r\n\t\thelpers$1.each(meta.data, function(element, index) {\r\n\t\t\tif (!isNaN(dataset.data[index]) && !element.hidden) {\r\n\t\t\t\tcount++;\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\treturn count;\r\n\t},\r\n\r\n\t/**\r\n\t * @protected\r\n\t */\r\n\tsetHoverStyle: function(arc) {\r\n\t\tvar model = arc._model;\r\n\t\tvar options = arc._options;\r\n\t\tvar getHoverColor = helpers$1.getHoverColor;\r\n\t\tvar valueOrDefault = helpers$1.valueOrDefault;\r\n\r\n\t\tarc.$previousStyle = {\r\n\t\t\tbackgroundColor: model.backgroundColor,\r\n\t\t\tborderColor: model.borderColor,\r\n\t\t\tborderWidth: model.borderWidth,\r\n\t\t};\r\n\r\n\t\tmodel.backgroundColor = valueOrDefault(options.hoverBackgroundColor, getHoverColor(options.backgroundColor));\r\n\t\tmodel.borderColor = valueOrDefault(options.hoverBorderColor, getHoverColor(options.borderColor));\r\n\t\tmodel.borderWidth = valueOrDefault(options.hoverBorderWidth, options.borderWidth);\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_computeAngle: function(index) {\r\n\t\tvar me = this;\r\n\t\tvar count = this.getMeta().count;\r\n\t\tvar dataset = me.getDataset();\r\n\t\tvar meta = me.getMeta();\r\n\r\n\t\tif (isNaN(dataset.data[index]) || meta.data[index].hidden) {\r\n\t\t\treturn 0;\r\n\t\t}\r\n\r\n\t\t// Scriptable options\r\n\t\tvar context = {\r\n\t\t\tchart: me.chart,\r\n\t\t\tdataIndex: index,\r\n\t\t\tdataset: dataset,\r\n\t\t\tdatasetIndex: me.index\r\n\t\t};\r\n\r\n\t\treturn resolve$3([\r\n\t\t\tme.chart.options.elements.arc.angle,\r\n\t\t\t(2 * Math.PI) / count\r\n\t\t], context, index);\r\n\t}\r\n});\n\ncore_defaults._set('pie', helpers$1.clone(core_defaults.doughnut));\r\ncore_defaults._set('pie', {\r\n\tcutoutPercentage: 0\r\n});\r\n\r\n// Pie charts are Doughnut chart with different defaults\r\nvar controller_pie = controller_doughnut;\n\nvar valueOrDefault$7 = helpers$1.valueOrDefault;\r\n\r\ncore_defaults._set('radar', {\r\n\tspanGaps: false,\r\n\tscale: {\r\n\t\ttype: 'radialLinear'\r\n\t},\r\n\telements: {\r\n\t\tline: {\r\n\t\t\tfill: 'start',\r\n\t\t\ttension: 0 // no bezier in radar\r\n\t\t}\r\n\t}\r\n});\r\n\r\nvar controller_radar = core_datasetController.extend({\r\n\tdatasetElementType: elements.Line,\r\n\r\n\tdataElementType: elements.Point,\r\n\r\n\tlinkScales: helpers$1.noop,\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_datasetElementOptions: [\r\n\t\t'backgroundColor',\r\n\t\t'borderWidth',\r\n\t\t'borderColor',\r\n\t\t'borderCapStyle',\r\n\t\t'borderDash',\r\n\t\t'borderDashOffset',\r\n\t\t'borderJoinStyle',\r\n\t\t'fill'\r\n\t],\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_dataElementOptions: {\r\n\t\tbackgroundColor: 'pointBackgroundColor',\r\n\t\tborderColor: 'pointBorderColor',\r\n\t\tborderWidth: 'pointBorderWidth',\r\n\t\thitRadius: 'pointHitRadius',\r\n\t\thoverBackgroundColor: 'pointHoverBackgroundColor',\r\n\t\thoverBorderColor: 'pointHoverBorderColor',\r\n\t\thoverBorderWidth: 'pointHoverBorderWidth',\r\n\t\thoverRadius: 'pointHoverRadius',\r\n\t\tpointStyle: 'pointStyle',\r\n\t\tradius: 'pointRadius',\r\n\t\trotation: 'pointRotation'\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_getIndexScaleId: function() {\r\n\t\treturn this.chart.scale.id;\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_getValueScaleId: function() {\r\n\t\treturn this.chart.scale.id;\r\n\t},\r\n\r\n\tupdate: function(reset) {\r\n\t\tvar me = this;\r\n\t\tvar meta = me.getMeta();\r\n\t\tvar line = meta.dataset;\r\n\t\tvar points = meta.data || [];\r\n\t\tvar scale = me.chart.scale;\r\n\t\tvar config = me._config;\r\n\t\tvar i, ilen;\r\n\r\n\t\t// Compatibility: If the properties are defined with only the old name, use those values\r\n\t\tif (config.tension !== undefined && config.lineTension === undefined) {\r\n\t\t\tconfig.lineTension = config.tension;\r\n\t\t}\r\n\r\n\t\t// Utility\r\n\t\tline._scale = scale;\r\n\t\tline._datasetIndex = me.index;\r\n\t\t// Data\r\n\t\tline._children = points;\r\n\t\tline._loop = true;\r\n\t\t// Model\r\n\t\tline._model = me._resolveDatasetElementOptions(line);\r\n\r\n\t\tline.pivot();\r\n\r\n\t\t// Update Points\r\n\t\tfor (i = 0, ilen = points.length; i < ilen; ++i) {\r\n\t\t\tme.updateElement(points[i], i, reset);\r\n\t\t}\r\n\r\n\t\t// Update bezier control points\r\n\t\tme.updateBezierControlPoints();\r\n\r\n\t\t// Now pivot the point for animation\r\n\t\tfor (i = 0, ilen = points.length; i < ilen; ++i) {\r\n\t\t\tpoints[i].pivot();\r\n\t\t}\r\n\t},\r\n\r\n\tupdateElement: function(point, index, reset) {\r\n\t\tvar me = this;\r\n\t\tvar custom = point.custom || {};\r\n\t\tvar dataset = me.getDataset();\r\n\t\tvar scale = me.chart.scale;\r\n\t\tvar pointPosition = scale.getPointPositionForValue(index, dataset.data[index]);\r\n\t\tvar options = me._resolveDataElementOptions(point, index);\r\n\t\tvar lineModel = me.getMeta().dataset._model;\r\n\t\tvar x = reset ? scale.xCenter : pointPosition.x;\r\n\t\tvar y = reset ? scale.yCenter : pointPosition.y;\r\n\r\n\t\t// Utility\r\n\t\tpoint._scale = scale;\r\n\t\tpoint._options = options;\r\n\t\tpoint._datasetIndex = me.index;\r\n\t\tpoint._index = index;\r\n\r\n\t\t// Desired view properties\r\n\t\tpoint._model = {\r\n\t\t\tx: x, // value not used in dataset scale, but we want a consistent API between scales\r\n\t\t\ty: y,\r\n\t\t\tskip: custom.skip || isNaN(x) || isNaN(y),\r\n\t\t\t// Appearance\r\n\t\t\tradius: options.radius,\r\n\t\t\tpointStyle: options.pointStyle,\r\n\t\t\trotation: options.rotation,\r\n\t\t\tbackgroundColor: options.backgroundColor,\r\n\t\t\tborderColor: options.borderColor,\r\n\t\t\tborderWidth: options.borderWidth,\r\n\t\t\ttension: valueOrDefault$7(custom.tension, lineModel ? lineModel.tension : 0),\r\n\r\n\t\t\t// Tooltip\r\n\t\t\thitRadius: options.hitRadius\r\n\t\t};\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_resolveDatasetElementOptions: function() {\r\n\t\tvar me = this;\r\n\t\tvar config = me._config;\r\n\t\tvar options = me.chart.options;\r\n\t\tvar values = core_datasetController.prototype._resolveDatasetElementOptions.apply(me, arguments);\r\n\r\n\t\tvalues.spanGaps = valueOrDefault$7(config.spanGaps, options.spanGaps);\r\n\t\tvalues.tension = valueOrDefault$7(config.lineTension, options.elements.line.tension);\r\n\r\n\t\treturn values;\r\n\t},\r\n\r\n\tupdateBezierControlPoints: function() {\r\n\t\tvar me = this;\r\n\t\tvar meta = me.getMeta();\r\n\t\tvar area = me.chart.chartArea;\r\n\t\tvar points = meta.data || [];\r\n\t\tvar i, ilen, model, controlPoints;\r\n\r\n\t\t// Only consider points that are drawn in case the spanGaps option is used\r\n\t\tif (meta.dataset._model.spanGaps) {\r\n\t\t\tpoints = points.filter(function(pt) {\r\n\t\t\t\treturn !pt._model.skip;\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tfunction capControlPoint(pt, min, max) {\r\n\t\t\treturn Math.max(Math.min(pt, max), min);\r\n\t\t}\r\n\r\n\t\tfor (i = 0, ilen = points.length; i < ilen; ++i) {\r\n\t\t\tmodel = points[i]._model;\r\n\t\t\tcontrolPoints = helpers$1.splineCurve(\r\n\t\t\t\thelpers$1.previousItem(points, i, true)._model,\r\n\t\t\t\tmodel,\r\n\t\t\t\thelpers$1.nextItem(points, i, true)._model,\r\n\t\t\t\tmodel.tension\r\n\t\t\t);\r\n\r\n\t\t\t// Prevent the bezier going outside of the bounds of the graph\r\n\t\t\tmodel.controlPointPreviousX = capControlPoint(controlPoints.previous.x, area.left, area.right);\r\n\t\t\tmodel.controlPointPreviousY = capControlPoint(controlPoints.previous.y, area.top, area.bottom);\r\n\t\t\tmodel.controlPointNextX = capControlPoint(controlPoints.next.x, area.left, area.right);\r\n\t\t\tmodel.controlPointNextY = capControlPoint(controlPoints.next.y, area.top, area.bottom);\r\n\t\t}\r\n\t},\r\n\r\n\tsetHoverStyle: function(point) {\r\n\t\tvar model = point._model;\r\n\t\tvar options = point._options;\r\n\t\tvar getHoverColor = helpers$1.getHoverColor;\r\n\r\n\t\tpoint.$previousStyle = {\r\n\t\t\tbackgroundColor: model.backgroundColor,\r\n\t\t\tborderColor: model.borderColor,\r\n\t\t\tborderWidth: model.borderWidth,\r\n\t\t\tradius: model.radius\r\n\t\t};\r\n\r\n\t\tmodel.backgroundColor = valueOrDefault$7(options.hoverBackgroundColor, getHoverColor(options.backgroundColor));\r\n\t\tmodel.borderColor = valueOrDefault$7(options.hoverBorderColor, getHoverColor(options.borderColor));\r\n\t\tmodel.borderWidth = valueOrDefault$7(options.hoverBorderWidth, options.borderWidth);\r\n\t\tmodel.radius = valueOrDefault$7(options.hoverRadius, options.radius);\r\n\t}\r\n});\n\ncore_defaults._set('scatter', {\r\n\thover: {\r\n\t\tmode: 'single'\r\n\t},\r\n\r\n\tscales: {\r\n\t\txAxes: [{\r\n\t\t\tid: 'x-axis-1', // need an ID so datasets can reference the scale\r\n\t\t\ttype: 'linear', // scatter should not use a category axis\r\n\t\t\tposition: 'bottom'\r\n\t\t}],\r\n\t\tyAxes: [{\r\n\t\t\tid: 'y-axis-1',\r\n\t\t\ttype: 'linear',\r\n\t\t\tposition: 'left'\r\n\t\t}]\r\n\t},\r\n\r\n\ttooltips: {\r\n\t\tcallbacks: {\r\n\t\t\ttitle: function() {\r\n\t\t\t\treturn ''; // doesn't make sense for scatter since data are formatted as a point\r\n\t\t\t},\r\n\t\t\tlabel: function(item) {\r\n\t\t\t\treturn '(' + item.xLabel + ', ' + item.yLabel + ')';\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n});\r\n\r\ncore_defaults._set('global', {\r\n\tdatasets: {\r\n\t\tscatter: {\r\n\t\t\tshowLine: false\r\n\t\t}\r\n\t}\r\n});\r\n\r\n// Scatter charts use line controllers\r\nvar controller_scatter = controller_line;\n\n// NOTE export a map in which the key represents the controller type, not\r\n// the class, and so must be CamelCase in order to be correctly retrieved\r\n// by the controller in core.controller.js (`controllers[meta.type]`).\r\n\r\nvar controllers = {\r\n\tbar: controller_bar,\r\n\tbubble: controller_bubble,\r\n\tdoughnut: controller_doughnut,\r\n\thorizontalBar: controller_horizontalBar,\r\n\tline: controller_line,\r\n\tpolarArea: controller_polarArea,\r\n\tpie: controller_pie,\r\n\tradar: controller_radar,\r\n\tscatter: controller_scatter\r\n};\n\n/**\r\n * Helper function to get relative position for an event\r\n * @param {Event|IEvent} event - The event to get the position for\r\n * @param {Chart} chart - The chart\r\n * @returns {object} the event position\r\n */\r\nfunction getRelativePosition(e, chart) {\r\n\tif (e.native) {\r\n\t\treturn {\r\n\t\t\tx: e.x,\r\n\t\t\ty: e.y\r\n\t\t};\r\n\t}\r\n\r\n\treturn helpers$1.getRelativePosition(e, chart);\r\n}\r\n\r\n/**\r\n * Helper function to traverse all of the visible elements in the chart\r\n * @param {Chart} chart - the chart\r\n * @param {function} handler - the callback to execute for each visible item\r\n */\r\nfunction parseVisibleItems(chart, handler) {\r\n\tvar metasets = chart._getSortedVisibleDatasetMetas();\r\n\tvar metadata, i, j, ilen, jlen, element;\r\n\r\n\tfor (i = 0, ilen = metasets.length; i < ilen; ++i) {\r\n\t\tmetadata = metasets[i].data;\r\n\t\tfor (j = 0, jlen = metadata.length; j < jlen; ++j) {\r\n\t\t\telement = metadata[j];\r\n\t\t\tif (!element._view.skip) {\r\n\t\t\t\thandler(element);\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n}\r\n\r\n/**\r\n * Helper function to get the items that intersect the event position\r\n * @param {ChartElement[]} items - elements to filter\r\n * @param {object} position - the point to be nearest to\r\n * @return {ChartElement[]} the nearest items\r\n */\r\nfunction getIntersectItems(chart, position) {\r\n\tvar elements = [];\r\n\r\n\tparseVisibleItems(chart, function(element) {\r\n\t\tif (element.inRange(position.x, position.y)) {\r\n\t\t\telements.push(element);\r\n\t\t}\r\n\t});\r\n\r\n\treturn elements;\r\n}\r\n\r\n/**\r\n * Helper function to get the items nearest to the event position considering all visible items in teh chart\r\n * @param {Chart} chart - the chart to look at elements from\r\n * @param {object} position - the point to be nearest to\r\n * @param {boolean} intersect - if true, only consider items that intersect the position\r\n * @param {function} distanceMetric - function to provide the distance between points\r\n * @return {ChartElement[]} the nearest items\r\n */\r\nfunction getNearestItems(chart, position, intersect, distanceMetric) {\r\n\tvar minDistance = Number.POSITIVE_INFINITY;\r\n\tvar nearestItems = [];\r\n\r\n\tparseVisibleItems(chart, function(element) {\r\n\t\tif (intersect && !element.inRange(position.x, position.y)) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tvar center = element.getCenterPoint();\r\n\t\tvar distance = distanceMetric(position, center);\r\n\t\tif (distance < minDistance) {\r\n\t\t\tnearestItems = [element];\r\n\t\t\tminDistance = distance;\r\n\t\t} else if (distance === minDistance) {\r\n\t\t\t// Can have multiple items at the same distance in which case we sort by size\r\n\t\t\tnearestItems.push(element);\r\n\t\t}\r\n\t});\r\n\r\n\treturn nearestItems;\r\n}\r\n\r\n/**\r\n * Get a distance metric function for two points based on the\r\n * axis mode setting\r\n * @param {string} axis - the axis mode. x|y|xy\r\n */\r\nfunction getDistanceMetricForAxis(axis) {\r\n\tvar useX = axis.indexOf('x') !== -1;\r\n\tvar useY = axis.indexOf('y') !== -1;\r\n\r\n\treturn function(pt1, pt2) {\r\n\t\tvar deltaX = useX ? Math.abs(pt1.x - pt2.x) : 0;\r\n\t\tvar deltaY = useY ? Math.abs(pt1.y - pt2.y) : 0;\r\n\t\treturn Math.sqrt(Math.pow(deltaX, 2) + Math.pow(deltaY, 2));\r\n\t};\r\n}\r\n\r\nfunction indexMode(chart, e, options) {\r\n\tvar position = getRelativePosition(e, chart);\r\n\t// Default axis for index mode is 'x' to match old behaviour\r\n\toptions.axis = options.axis || 'x';\r\n\tvar distanceMetric = getDistanceMetricForAxis(options.axis);\r\n\tvar items = options.intersect ? getIntersectItems(chart, position) : getNearestItems(chart, position, false, distanceMetric);\r\n\tvar elements = [];\r\n\r\n\tif (!items.length) {\r\n\t\treturn [];\r\n\t}\r\n\r\n\tchart._getSortedVisibleDatasetMetas().forEach(function(meta) {\r\n\t\tvar element = meta.data[items[0]._index];\r\n\r\n\t\t// don't count items that are skipped (null data)\r\n\t\tif (element && !element._view.skip) {\r\n\t\t\telements.push(element);\r\n\t\t}\r\n\t});\r\n\r\n\treturn elements;\r\n}\r\n\r\n/**\r\n * @interface IInteractionOptions\r\n */\r\n/**\r\n * If true, only consider items that intersect the point\r\n * @name IInterfaceOptions#boolean\r\n * @type Boolean\r\n */\r\n\r\n/**\r\n * Contains interaction related functions\r\n * @namespace Chart.Interaction\r\n */\r\nvar core_interaction = {\r\n\t// Helper function for different modes\r\n\tmodes: {\r\n\t\tsingle: function(chart, e) {\r\n\t\t\tvar position = getRelativePosition(e, chart);\r\n\t\t\tvar elements = [];\r\n\r\n\t\t\tparseVisibleItems(chart, function(element) {\r\n\t\t\t\tif (element.inRange(position.x, position.y)) {\r\n\t\t\t\t\telements.push(element);\r\n\t\t\t\t\treturn elements;\r\n\t\t\t\t}\r\n\t\t\t});\r\n\r\n\t\t\treturn elements.slice(0, 1);\r\n\t\t},\r\n\r\n\t\t/**\r\n\t\t * @function Chart.Interaction.modes.label\r\n\t\t * @deprecated since version 2.4.0\r\n\t\t * @todo remove at version 3\r\n\t\t * @private\r\n\t\t */\r\n\t\tlabel: indexMode,\r\n\r\n\t\t/**\r\n\t\t * Returns items at the same index. If the options.intersect parameter is true, we only return items if we intersect something\r\n\t\t * If the options.intersect mode is false, we find the nearest item and return the items at the same index as that item\r\n\t\t * @function Chart.Interaction.modes.index\r\n\t\t * @since v2.4.0\r\n\t\t * @param {Chart} chart - the chart we are returning items from\r\n\t\t * @param {Event} e - the event we are find things at\r\n\t\t * @param {IInteractionOptions} options - options to use during interaction\r\n\t\t * @return {Chart.Element[]} Array of elements that are under the point. If none are found, an empty array is returned\r\n\t\t */\r\n\t\tindex: indexMode,\r\n\r\n\t\t/**\r\n\t\t * Returns items in the same dataset. If the options.intersect parameter is true, we only return items if we intersect something\r\n\t\t * If the options.intersect is false, we find the nearest item and return the items in that dataset\r\n\t\t * @function Chart.Interaction.modes.dataset\r\n\t\t * @param {Chart} chart - the chart we are returning items from\r\n\t\t * @param {Event} e - the event we are find things at\r\n\t\t * @param {IInteractionOptions} options - options to use during interaction\r\n\t\t * @return {Chart.Element[]} Array of elements that are under the point. If none are found, an empty array is returned\r\n\t\t */\r\n\t\tdataset: function(chart, e, options) {\r\n\t\t\tvar position = getRelativePosition(e, chart);\r\n\t\t\toptions.axis = options.axis || 'xy';\r\n\t\t\tvar distanceMetric = getDistanceMetricForAxis(options.axis);\r\n\t\t\tvar items = options.intersect ? getIntersectItems(chart, position) : getNearestItems(chart, position, false, distanceMetric);\r\n\r\n\t\t\tif (items.length > 0) {\r\n\t\t\t\titems = chart.getDatasetMeta(items[0]._datasetIndex).data;\r\n\t\t\t}\r\n\r\n\t\t\treturn items;\r\n\t\t},\r\n\r\n\t\t/**\r\n\t\t * @function Chart.Interaction.modes.x-axis\r\n\t\t * @deprecated since version 2.4.0. Use index mode and intersect == true\r\n\t\t * @todo remove at version 3\r\n\t\t * @private\r\n\t\t */\r\n\t\t'x-axis': function(chart, e) {\r\n\t\t\treturn indexMode(chart, e, {intersect: false});\r\n\t\t},\r\n\r\n\t\t/**\r\n\t\t * Point mode returns all elements that hit test based on the event position\r\n\t\t * of the event\r\n\t\t * @function Chart.Interaction.modes.intersect\r\n\t\t * @param {Chart} chart - the chart we are returning items from\r\n\t\t * @param {Event} e - the event we are find things at\r\n\t\t * @return {Chart.Element[]} Array of elements that are under the point. If none are found, an empty array is returned\r\n\t\t */\r\n\t\tpoint: function(chart, e) {\r\n\t\t\tvar position = getRelativePosition(e, chart);\r\n\t\t\treturn getIntersectItems(chart, position);\r\n\t\t},\r\n\r\n\t\t/**\r\n\t\t * nearest mode returns the element closest to the point\r\n\t\t * @function Chart.Interaction.modes.intersect\r\n\t\t * @param {Chart} chart - the chart we are returning items from\r\n\t\t * @param {Event} e - the event we are find things at\r\n\t\t * @param {IInteractionOptions} options - options to use\r\n\t\t * @return {Chart.Element[]} Array of elements that are under the point. If none are found, an empty array is returned\r\n\t\t */\r\n\t\tnearest: function(chart, e, options) {\r\n\t\t\tvar position = getRelativePosition(e, chart);\r\n\t\t\toptions.axis = options.axis || 'xy';\r\n\t\t\tvar distanceMetric = getDistanceMetricForAxis(options.axis);\r\n\t\t\treturn getNearestItems(chart, position, options.intersect, distanceMetric);\r\n\t\t},\r\n\r\n\t\t/**\r\n\t\t * x mode returns the elements that hit-test at the current x coordinate\r\n\t\t * @function Chart.Interaction.modes.x\r\n\t\t * @param {Chart} chart - the chart we are returning items from\r\n\t\t * @param {Event} e - the event we are find things at\r\n\t\t * @param {IInteractionOptions} options - options to use\r\n\t\t * @return {Chart.Element[]} Array of elements that are under the point. If none are found, an empty array is returned\r\n\t\t */\r\n\t\tx: function(chart, e, options) {\r\n\t\t\tvar position = getRelativePosition(e, chart);\r\n\t\t\tvar items = [];\r\n\t\t\tvar intersectsItem = false;\r\n\r\n\t\t\tparseVisibleItems(chart, function(element) {\r\n\t\t\t\tif (element.inXRange(position.x)) {\r\n\t\t\t\t\titems.push(element);\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (element.inRange(position.x, position.y)) {\r\n\t\t\t\t\tintersectsItem = true;\r\n\t\t\t\t}\r\n\t\t\t});\r\n\r\n\t\t\t// If we want to trigger on an intersect and we don't have any items\r\n\t\t\t// that intersect the position, return nothing\r\n\t\t\tif (options.intersect && !intersectsItem) {\r\n\t\t\t\titems = [];\r\n\t\t\t}\r\n\t\t\treturn items;\r\n\t\t},\r\n\r\n\t\t/**\r\n\t\t * y mode returns the elements that hit-test at the current y coordinate\r\n\t\t * @function Chart.Interaction.modes.y\r\n\t\t * @param {Chart} chart - the chart we are returning items from\r\n\t\t * @param {Event} e - the event we are find things at\r\n\t\t * @param {IInteractionOptions} options - options to use\r\n\t\t * @return {Chart.Element[]} Array of elements that are under the point. If none are found, an empty array is returned\r\n\t\t */\r\n\t\ty: function(chart, e, options) {\r\n\t\t\tvar position = getRelativePosition(e, chart);\r\n\t\t\tvar items = [];\r\n\t\t\tvar intersectsItem = false;\r\n\r\n\t\t\tparseVisibleItems(chart, function(element) {\r\n\t\t\t\tif (element.inYRange(position.y)) {\r\n\t\t\t\t\titems.push(element);\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (element.inRange(position.x, position.y)) {\r\n\t\t\t\t\tintersectsItem = true;\r\n\t\t\t\t}\r\n\t\t\t});\r\n\r\n\t\t\t// If we want to trigger on an intersect and we don't have any items\r\n\t\t\t// that intersect the position, return nothing\r\n\t\t\tif (options.intersect && !intersectsItem) {\r\n\t\t\t\titems = [];\r\n\t\t\t}\r\n\t\t\treturn items;\r\n\t\t}\r\n\t}\r\n};\n\nvar extend = helpers$1.extend;\r\n\r\nfunction filterByPosition(array, position) {\r\n\treturn helpers$1.where(array, function(v) {\r\n\t\treturn v.pos === position;\r\n\t});\r\n}\r\n\r\nfunction sortByWeight(array, reverse) {\r\n\treturn array.sort(function(a, b) {\r\n\t\tvar v0 = reverse ? b : a;\r\n\t\tvar v1 = reverse ? a : b;\r\n\t\treturn v0.weight === v1.weight ?\r\n\t\t\tv0.index - v1.index :\r\n\t\t\tv0.weight - v1.weight;\r\n\t});\r\n}\r\n\r\nfunction wrapBoxes(boxes) {\r\n\tvar layoutBoxes = [];\r\n\tvar i, ilen, box;\r\n\r\n\tfor (i = 0, ilen = (boxes || []).length; i < ilen; ++i) {\r\n\t\tbox = boxes[i];\r\n\t\tlayoutBoxes.push({\r\n\t\t\tindex: i,\r\n\t\t\tbox: box,\r\n\t\t\tpos: box.position,\r\n\t\t\thorizontal: box.isHorizontal(),\r\n\t\t\tweight: box.weight\r\n\t\t});\r\n\t}\r\n\treturn layoutBoxes;\r\n}\r\n\r\nfunction setLayoutDims(layouts, params) {\r\n\tvar i, ilen, layout;\r\n\tfor (i = 0, ilen = layouts.length; i < ilen; ++i) {\r\n\t\tlayout = layouts[i];\r\n\t\t// store width used instead of chartArea.w in fitBoxes\r\n\t\tlayout.width = layout.horizontal\r\n\t\t\t? layout.box.fullWidth && params.availableWidth\r\n\t\t\t: params.vBoxMaxWidth;\r\n\t\t// store height used instead of chartArea.h in fitBoxes\r\n\t\tlayout.height = layout.horizontal && params.hBoxMaxHeight;\r\n\t}\r\n}\r\n\r\nfunction buildLayoutBoxes(boxes) {\r\n\tvar layoutBoxes = wrapBoxes(boxes);\r\n\tvar left = sortByWeight(filterByPosition(layoutBoxes, 'left'), true);\r\n\tvar right = sortByWeight(filterByPosition(layoutBoxes, 'right'));\r\n\tvar top = sortByWeight(filterByPosition(layoutBoxes, 'top'), true);\r\n\tvar bottom = sortByWeight(filterByPosition(layoutBoxes, 'bottom'));\r\n\r\n\treturn {\r\n\t\tleftAndTop: left.concat(top),\r\n\t\trightAndBottom: right.concat(bottom),\r\n\t\tchartArea: filterByPosition(layoutBoxes, 'chartArea'),\r\n\t\tvertical: left.concat(right),\r\n\t\thorizontal: top.concat(bottom)\r\n\t};\r\n}\r\n\r\nfunction getCombinedMax(maxPadding, chartArea, a, b) {\r\n\treturn Math.max(maxPadding[a], chartArea[a]) + Math.max(maxPadding[b], chartArea[b]);\r\n}\r\n\r\nfunction updateDims(chartArea, params, layout) {\r\n\tvar box = layout.box;\r\n\tvar maxPadding = chartArea.maxPadding;\r\n\tvar newWidth, newHeight;\r\n\r\n\tif (layout.size) {\r\n\t\t// this layout was already counted for, lets first reduce old size\r\n\t\tchartArea[layout.pos] -= layout.size;\r\n\t}\r\n\tlayout.size = layout.horizontal ? box.height : box.width;\r\n\tchartArea[layout.pos] += layout.size;\r\n\r\n\tif (box.getPadding) {\r\n\t\tvar boxPadding = box.getPadding();\r\n\t\tmaxPadding.top = Math.max(maxPadding.top, boxPadding.top);\r\n\t\tmaxPadding.left = Math.max(maxPadding.left, boxPadding.left);\r\n\t\tmaxPadding.bottom = Math.max(maxPadding.bottom, boxPadding.bottom);\r\n\t\tmaxPadding.right = Math.max(maxPadding.right, boxPadding.right);\r\n\t}\r\n\r\n\tnewWidth = params.outerWidth - getCombinedMax(maxPadding, chartArea, 'left', 'right');\r\n\tnewHeight = params.outerHeight - getCombinedMax(maxPadding, chartArea, 'top', 'bottom');\r\n\r\n\tif (newWidth !== chartArea.w || newHeight !== chartArea.h) {\r\n\t\tchartArea.w = newWidth;\r\n\t\tchartArea.h = newHeight;\r\n\r\n\t\t// return true if chart area changed in layout's direction\r\n\t\tvar sizes = layout.horizontal ? [newWidth, chartArea.w] : [newHeight, chartArea.h];\r\n\t\treturn sizes[0] !== sizes[1] && (!isNaN(sizes[0]) || !isNaN(sizes[1]));\r\n\t}\r\n}\r\n\r\nfunction handleMaxPadding(chartArea) {\r\n\tvar maxPadding = chartArea.maxPadding;\r\n\r\n\tfunction updatePos(pos) {\r\n\t\tvar change = Math.max(maxPadding[pos] - chartArea[pos], 0);\r\n\t\tchartArea[pos] += change;\r\n\t\treturn change;\r\n\t}\r\n\tchartArea.y += updatePos('top');\r\n\tchartArea.x += updatePos('left');\r\n\tupdatePos('right');\r\n\tupdatePos('bottom');\r\n}\r\n\r\nfunction getMargins(horizontal, chartArea) {\r\n\tvar maxPadding = chartArea.maxPadding;\r\n\r\n\tfunction marginForPositions(positions) {\r\n\t\tvar margin = {left: 0, top: 0, right: 0, bottom: 0};\r\n\t\tpositions.forEach(function(pos) {\r\n\t\t\tmargin[pos] = Math.max(chartArea[pos], maxPadding[pos]);\r\n\t\t});\r\n\t\treturn margin;\r\n\t}\r\n\r\n\treturn horizontal\r\n\t\t? marginForPositions(['left', 'right'])\r\n\t\t: marginForPositions(['top', 'bottom']);\r\n}\r\n\r\nfunction fitBoxes(boxes, chartArea, params) {\r\n\tvar refitBoxes = [];\r\n\tvar i, ilen, layout, box, refit, changed;\r\n\r\n\tfor (i = 0, ilen = boxes.length; i < ilen; ++i) {\r\n\t\tlayout = boxes[i];\r\n\t\tbox = layout.box;\r\n\r\n\t\tbox.update(\r\n\t\t\tlayout.width || chartArea.w,\r\n\t\t\tlayout.height || chartArea.h,\r\n\t\t\tgetMargins(layout.horizontal, chartArea)\r\n\t\t);\r\n\t\tif (updateDims(chartArea, params, layout)) {\r\n\t\t\tchanged = true;\r\n\t\t\tif (refitBoxes.length) {\r\n\t\t\t\t// Dimensions changed and there were non full width boxes before this\r\n\t\t\t\t// -> we have to refit those\r\n\t\t\t\trefit = true;\r\n\t\t\t}\r\n\t\t}\r\n\t\tif (!box.fullWidth) { // fullWidth boxes don't need to be re-fitted in any case\r\n\t\t\trefitBoxes.push(layout);\r\n\t\t}\r\n\t}\r\n\r\n\treturn refit ? fitBoxes(refitBoxes, chartArea, params) || changed : changed;\r\n}\r\n\r\nfunction placeBoxes(boxes, chartArea, params) {\r\n\tvar userPadding = params.padding;\r\n\tvar x = chartArea.x;\r\n\tvar y = chartArea.y;\r\n\tvar i, ilen, layout, box;\r\n\r\n\tfor (i = 0, ilen = boxes.length; i < ilen; ++i) {\r\n\t\tlayout = boxes[i];\r\n\t\tbox = layout.box;\r\n\t\tif (layout.horizontal) {\r\n\t\t\tbox.left = box.fullWidth ? userPadding.left : chartArea.left;\r\n\t\t\tbox.right = box.fullWidth ? params.outerWidth - userPadding.right : chartArea.left + chartArea.w;\r\n\t\t\tbox.top = y;\r\n\t\t\tbox.bottom = y + box.height;\r\n\t\t\tbox.width = box.right - box.left;\r\n\t\t\ty = box.bottom;\r\n\t\t} else {\r\n\t\t\tbox.left = x;\r\n\t\t\tbox.right = x + box.width;\r\n\t\t\tbox.top = chartArea.top;\r\n\t\t\tbox.bottom = chartArea.top + chartArea.h;\r\n\t\t\tbox.height = box.bottom - box.top;\r\n\t\t\tx = box.right;\r\n\t\t}\r\n\t}\r\n\r\n\tchartArea.x = x;\r\n\tchartArea.y = y;\r\n}\r\n\r\ncore_defaults._set('global', {\r\n\tlayout: {\r\n\t\tpadding: {\r\n\t\t\ttop: 0,\r\n\t\t\tright: 0,\r\n\t\t\tbottom: 0,\r\n\t\t\tleft: 0\r\n\t\t}\r\n\t}\r\n});\r\n\r\n/**\r\n * @interface ILayoutItem\r\n * @prop {string} position - The position of the item in the chart layout. Possible values are\r\n * 'left', 'top', 'right', 'bottom', and 'chartArea'\r\n * @prop {number} weight - The weight used to sort the item. Higher weights are further away from the chart area\r\n * @prop {boolean} fullWidth - if true, and the item is horizontal, then push vertical boxes down\r\n * @prop {function} isHorizontal - returns true if the layout item is horizontal (ie. top or bottom)\r\n * @prop {function} update - Takes two parameters: width and height. Returns size of item\r\n * @prop {function} getPadding - Returns an object with padding on the edges\r\n * @prop {number} width - Width of item. Must be valid after update()\r\n * @prop {number} height - Height of item. Must be valid after update()\r\n * @prop {number} left - Left edge of the item. Set by layout system and cannot be used in update\r\n * @prop {number} top - Top edge of the item. Set by layout system and cannot be used in update\r\n * @prop {number} right - Right edge of the item. Set by layout system and cannot be used in update\r\n * @prop {number} bottom - Bottom edge of the item. Set by layout system and cannot be used in update\r\n */\r\n\r\n// The layout service is very self explanatory. It's responsible for the layout within a chart.\r\n// Scales, Legends and Plugins all rely on the layout service and can easily register to be placed anywhere they need\r\n// It is this service's responsibility of carrying out that layout.\r\nvar core_layouts = {\r\n\tdefaults: {},\r\n\r\n\t/**\r\n\t * Register a box to a chart.\r\n\t * A box is simply a reference to an object that requires layout. eg. Scales, Legend, Title.\r\n\t * @param {Chart} chart - the chart to use\r\n\t * @param {ILayoutItem} item - the item to add to be layed out\r\n\t */\r\n\taddBox: function(chart, item) {\r\n\t\tif (!chart.boxes) {\r\n\t\t\tchart.boxes = [];\r\n\t\t}\r\n\r\n\t\t// initialize item with default values\r\n\t\titem.fullWidth = item.fullWidth || false;\r\n\t\titem.position = item.position || 'top';\r\n\t\titem.weight = item.weight || 0;\r\n\t\titem._layers = item._layers || function() {\r\n\t\t\treturn [{\r\n\t\t\t\tz: 0,\r\n\t\t\t\tdraw: function() {\r\n\t\t\t\t\titem.draw.apply(item, arguments);\r\n\t\t\t\t}\r\n\t\t\t}];\r\n\t\t};\r\n\r\n\t\tchart.boxes.push(item);\r\n\t},\r\n\r\n\t/**\r\n\t * Remove a layoutItem from a chart\r\n\t * @param {Chart} chart - the chart to remove the box from\r\n\t * @param {ILayoutItem} layoutItem - the item to remove from the layout\r\n\t */\r\n\tremoveBox: function(chart, layoutItem) {\r\n\t\tvar index = chart.boxes ? chart.boxes.indexOf(layoutItem) : -1;\r\n\t\tif (index !== -1) {\r\n\t\t\tchart.boxes.splice(index, 1);\r\n\t\t}\r\n\t},\r\n\r\n\t/**\r\n\t * Sets (or updates) options on the given `item`.\r\n\t * @param {Chart} chart - the chart in which the item lives (or will be added to)\r\n\t * @param {ILayoutItem} item - the item to configure with the given options\r\n\t * @param {object} options - the new item options.\r\n\t */\r\n\tconfigure: function(chart, item, options) {\r\n\t\tvar props = ['fullWidth', 'position', 'weight'];\r\n\t\tvar ilen = props.length;\r\n\t\tvar i = 0;\r\n\t\tvar prop;\r\n\r\n\t\tfor (; i < ilen; ++i) {\r\n\t\t\tprop = props[i];\r\n\t\t\tif (options.hasOwnProperty(prop)) {\r\n\t\t\t\titem[prop] = options[prop];\r\n\t\t\t}\r\n\t\t}\r\n\t},\r\n\r\n\t/**\r\n\t * Fits boxes of the given chart into the given size by having each box measure itself\r\n\t * then running a fitting algorithm\r\n\t * @param {Chart} chart - the chart\r\n\t * @param {number} width - the width to fit into\r\n\t * @param {number} height - the height to fit into\r\n\t */\r\n\tupdate: function(chart, width, height) {\r\n\t\tif (!chart) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tvar layoutOptions = chart.options.layout || {};\r\n\t\tvar padding = helpers$1.options.toPadding(layoutOptions.padding);\r\n\r\n\t\tvar availableWidth = width - padding.width;\r\n\t\tvar availableHeight = height - padding.height;\r\n\t\tvar boxes = buildLayoutBoxes(chart.boxes);\r\n\t\tvar verticalBoxes = boxes.vertical;\r\n\t\tvar horizontalBoxes = boxes.horizontal;\r\n\r\n\t\t// Essentially we now have any number of boxes on each of the 4 sides.\r\n\t\t// Our canvas looks like the following.\r\n\t\t// The areas L1 and L2 are the left axes. R1 is the right axis, T1 is the top axis and\r\n\t\t// B1 is the bottom axis\r\n\t\t// There are also 4 quadrant-like locations (left to right instead of clockwise) reserved for chart overlays\r\n\t\t// These locations are single-box locations only, when trying to register a chartArea location that is already taken,\r\n\t\t// an error will be thrown.\r\n\t\t//\r\n\t\t// |----------------------------------------------------|\r\n\t\t// | T1 (Full Width) |\r\n\t\t// |----------------------------------------------------|\r\n\t\t// | | | T2 | |\r\n\t\t// | |----|-------------------------------------|----|\r\n\t\t// | | | C1 | | C2 | |\r\n\t\t// | | |----| |----| |\r\n\t\t// | | | | |\r\n\t\t// | L1 | L2 | ChartArea (C0) | R1 |\r\n\t\t// | | | | |\r\n\t\t// | | |----| |----| |\r\n\t\t// | | | C3 | | C4 | |\r\n\t\t// | |----|-------------------------------------|----|\r\n\t\t// | | | B1 | |\r\n\t\t// |----------------------------------------------------|\r\n\t\t// | B2 (Full Width) |\r\n\t\t// |----------------------------------------------------|\r\n\t\t//\r\n\r\n\t\tvar params = Object.freeze({\r\n\t\t\touterWidth: width,\r\n\t\t\touterHeight: height,\r\n\t\t\tpadding: padding,\r\n\t\t\tavailableWidth: availableWidth,\r\n\t\t\tvBoxMaxWidth: availableWidth / 2 / verticalBoxes.length,\r\n\t\t\thBoxMaxHeight: availableHeight / 2\r\n\t\t});\r\n\t\tvar chartArea = extend({\r\n\t\t\tmaxPadding: extend({}, padding),\r\n\t\t\tw: availableWidth,\r\n\t\t\th: availableHeight,\r\n\t\t\tx: padding.left,\r\n\t\t\ty: padding.top\r\n\t\t}, padding);\r\n\r\n\t\tsetLayoutDims(verticalBoxes.concat(horizontalBoxes), params);\r\n\r\n\t\t// First fit vertical boxes\r\n\t\tfitBoxes(verticalBoxes, chartArea, params);\r\n\r\n\t\t// Then fit horizontal boxes\r\n\t\tif (fitBoxes(horizontalBoxes, chartArea, params)) {\r\n\t\t\t// if the area changed, re-fit vertical boxes\r\n\t\t\tfitBoxes(verticalBoxes, chartArea, params);\r\n\t\t}\r\n\r\n\t\thandleMaxPadding(chartArea);\r\n\r\n\t\t// Finally place the boxes to correct coordinates\r\n\t\tplaceBoxes(boxes.leftAndTop, chartArea, params);\r\n\r\n\t\t// Move to opposite side of chart\r\n\t\tchartArea.x += chartArea.w;\r\n\t\tchartArea.y += chartArea.h;\r\n\r\n\t\tplaceBoxes(boxes.rightAndBottom, chartArea, params);\r\n\r\n\t\tchart.chartArea = {\r\n\t\t\tleft: chartArea.left,\r\n\t\t\ttop: chartArea.top,\r\n\t\t\tright: chartArea.left + chartArea.w,\r\n\t\t\tbottom: chartArea.top + chartArea.h\r\n\t\t};\r\n\r\n\t\t// Finally update boxes in chartArea (radial scale for example)\r\n\t\thelpers$1.each(boxes.chartArea, function(layout) {\r\n\t\t\tvar box = layout.box;\r\n\t\t\textend(box, chart.chartArea);\r\n\t\t\tbox.update(chartArea.w, chartArea.h);\r\n\t\t});\r\n\t}\r\n};\n\n/**\r\n * Platform fallback implementation (minimal).\r\n * @see https://github.com/chartjs/Chart.js/pull/4591#issuecomment-319575939\r\n */\r\n\r\nvar platform_basic = {\r\n\tacquireContext: function(item) {\r\n\t\tif (item && item.canvas) {\r\n\t\t\t// Support for any object associated to a canvas (including a context2d)\r\n\t\t\titem = item.canvas;\r\n\t\t}\r\n\r\n\t\treturn item && item.getContext('2d') || null;\r\n\t}\r\n};\n\nvar platform_dom = \"/*\\r\\n * DOM element rendering detection\\r\\n * https://davidwalsh.name/detect-node-insertion\\r\\n */\\r\\n@keyframes chartjs-render-animation {\\r\\n\\tfrom { opacity: 0.99; }\\r\\n\\tto { opacity: 1; }\\r\\n}\\r\\n\\r\\n.chartjs-render-monitor {\\r\\n\\tanimation: chartjs-render-animation 0.001s;\\r\\n}\\r\\n\\r\\n/*\\r\\n * DOM element resizing detection\\r\\n * https://github.com/marcj/css-element-queries\\r\\n */\\r\\n.chartjs-size-monitor,\\r\\n.chartjs-size-monitor-expand,\\r\\n.chartjs-size-monitor-shrink {\\r\\n\\tposition: absolute;\\r\\n\\tdirection: ltr;\\r\\n\\tleft: 0;\\r\\n\\ttop: 0;\\r\\n\\tright: 0;\\r\\n\\tbottom: 0;\\r\\n\\toverflow: hidden;\\r\\n\\tpointer-events: none;\\r\\n\\tvisibility: hidden;\\r\\n\\tz-index: -1;\\r\\n}\\r\\n\\r\\n.chartjs-size-monitor-expand > div {\\r\\n\\tposition: absolute;\\r\\n\\twidth: 1000000px;\\r\\n\\theight: 1000000px;\\r\\n\\tleft: 0;\\r\\n\\ttop: 0;\\r\\n}\\r\\n\\r\\n.chartjs-size-monitor-shrink > div {\\r\\n\\tposition: absolute;\\r\\n\\twidth: 200%;\\r\\n\\theight: 200%;\\r\\n\\tleft: 0;\\r\\n\\ttop: 0;\\r\\n}\\r\\n\";\n\nvar platform_dom$1 = /*#__PURE__*/Object.freeze({\n__proto__: null,\n'default': platform_dom\n});\n\nvar stylesheet = getCjsExportFromNamespace(platform_dom$1);\n\nvar EXPANDO_KEY = '$chartjs';\r\nvar CSS_PREFIX = 'chartjs-';\r\nvar CSS_SIZE_MONITOR = CSS_PREFIX + 'size-monitor';\r\nvar CSS_RENDER_MONITOR = CSS_PREFIX + 'render-monitor';\r\nvar CSS_RENDER_ANIMATION = CSS_PREFIX + 'render-animation';\r\nvar ANIMATION_START_EVENTS = ['animationstart', 'webkitAnimationStart'];\r\n\r\n/**\r\n * DOM event types -> Chart.js event types.\r\n * Note: only events with different types are mapped.\r\n * @see https://developer.mozilla.org/en-US/docs/Web/Events\r\n */\r\nvar EVENT_TYPES = {\r\n\ttouchstart: 'mousedown',\r\n\ttouchmove: 'mousemove',\r\n\ttouchend: 'mouseup',\r\n\tpointerenter: 'mouseenter',\r\n\tpointerdown: 'mousedown',\r\n\tpointermove: 'mousemove',\r\n\tpointerup: 'mouseup',\r\n\tpointerleave: 'mouseout',\r\n\tpointerout: 'mouseout'\r\n};\r\n\r\n/**\r\n * The \"used\" size is the final value of a dimension property after all calculations have\r\n * been performed. This method uses the computed style of `element` but returns undefined\r\n * if the computed style is not expressed in pixels. That can happen in some cases where\r\n * `element` has a size relative to its parent and this last one is not yet displayed,\r\n * for example because of `display: none` on a parent node.\r\n * @see https://developer.mozilla.org/en-US/docs/Web/CSS/used_value\r\n * @returns {number} Size in pixels or undefined if unknown.\r\n */\r\nfunction readUsedSize(element, property) {\r\n\tvar value = helpers$1.getStyle(element, property);\r\n\tvar matches = value && value.match(/^(\\d+)(\\.\\d+)?px$/);\r\n\treturn matches ? Number(matches[1]) : undefined;\r\n}\r\n\r\n/**\r\n * Initializes the canvas style and render size without modifying the canvas display size,\r\n * since responsiveness is handled by the controller.resize() method. The config is used\r\n * to determine the aspect ratio to apply in case no explicit height has been specified.\r\n */\r\nfunction initCanvas(canvas, config) {\r\n\tvar style = canvas.style;\r\n\r\n\t// NOTE(SB) canvas.getAttribute('width') !== canvas.width: in the first case it\r\n\t// returns null or '' if no explicit value has been set to the canvas attribute.\r\n\tvar renderHeight = canvas.getAttribute('height');\r\n\tvar renderWidth = canvas.getAttribute('width');\r\n\r\n\t// Chart.js modifies some canvas values that we want to restore on destroy\r\n\tcanvas[EXPANDO_KEY] = {\r\n\t\tinitial: {\r\n\t\t\theight: renderHeight,\r\n\t\t\twidth: renderWidth,\r\n\t\t\tstyle: {\r\n\t\t\t\tdisplay: style.display,\r\n\t\t\t\theight: style.height,\r\n\t\t\t\twidth: style.width\r\n\t\t\t}\r\n\t\t}\r\n\t};\r\n\r\n\t// Force canvas to display as block to avoid extra space caused by inline\r\n\t// elements, which would interfere with the responsive resize process.\r\n\t// https://github.com/chartjs/Chart.js/issues/2538\r\n\tstyle.display = style.display || 'block';\r\n\r\n\tif (renderWidth === null || renderWidth === '') {\r\n\t\tvar displayWidth = readUsedSize(canvas, 'width');\r\n\t\tif (displayWidth !== undefined) {\r\n\t\t\tcanvas.width = displayWidth;\r\n\t\t}\r\n\t}\r\n\r\n\tif (renderHeight === null || renderHeight === '') {\r\n\t\tif (canvas.style.height === '') {\r\n\t\t\t// If no explicit render height and style height, let's apply the aspect ratio,\r\n\t\t\t// which one can be specified by the user but also by charts as default option\r\n\t\t\t// (i.e. options.aspectRatio). If not specified, use canvas aspect ratio of 2.\r\n\t\t\tcanvas.height = canvas.width / (config.options.aspectRatio || 2);\r\n\t\t} else {\r\n\t\t\tvar displayHeight = readUsedSize(canvas, 'height');\r\n\t\t\tif (displayWidth !== undefined) {\r\n\t\t\t\tcanvas.height = displayHeight;\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\treturn canvas;\r\n}\r\n\r\n/**\r\n * Detects support for options object argument in addEventListener.\r\n * https://developer.mozilla.org/en-US/docs/Web/API/EventTarget/addEventListener#Safely_detecting_option_support\r\n * @private\r\n */\r\nvar supportsEventListenerOptions = (function() {\r\n\tvar supports = false;\r\n\ttry {\r\n\t\tvar options = Object.defineProperty({}, 'passive', {\r\n\t\t\t// eslint-disable-next-line getter-return\r\n\t\t\tget: function() {\r\n\t\t\t\tsupports = true;\r\n\t\t\t}\r\n\t\t});\r\n\t\twindow.addEventListener('e', null, options);\r\n\t} catch (e) {\r\n\t\t// continue regardless of error\r\n\t}\r\n\treturn supports;\r\n}());\r\n\r\n// Default passive to true as expected by Chrome for 'touchstart' and 'touchend' events.\r\n// https://github.com/chartjs/Chart.js/issues/4287\r\nvar eventListenerOptions = supportsEventListenerOptions ? {passive: true} : false;\r\n\r\nfunction addListener(node, type, listener) {\r\n\tnode.addEventListener(type, listener, eventListenerOptions);\r\n}\r\n\r\nfunction removeListener(node, type, listener) {\r\n\tnode.removeEventListener(type, listener, eventListenerOptions);\r\n}\r\n\r\nfunction createEvent(type, chart, x, y, nativeEvent) {\r\n\treturn {\r\n\t\ttype: type,\r\n\t\tchart: chart,\r\n\t\tnative: nativeEvent || null,\r\n\t\tx: x !== undefined ? x : null,\r\n\t\ty: y !== undefined ? y : null,\r\n\t};\r\n}\r\n\r\nfunction fromNativeEvent(event, chart) {\r\n\tvar type = EVENT_TYPES[event.type] || event.type;\r\n\tvar pos = helpers$1.getRelativePosition(event, chart);\r\n\treturn createEvent(type, chart, pos.x, pos.y, event);\r\n}\r\n\r\nfunction throttled(fn, thisArg) {\r\n\tvar ticking = false;\r\n\tvar args = [];\r\n\r\n\treturn function() {\r\n\t\targs = Array.prototype.slice.call(arguments);\r\n\t\tthisArg = thisArg || this;\r\n\r\n\t\tif (!ticking) {\r\n\t\t\tticking = true;\r\n\t\t\thelpers$1.requestAnimFrame.call(window, function() {\r\n\t\t\t\tticking = false;\r\n\t\t\t\tfn.apply(thisArg, args);\r\n\t\t\t});\r\n\t\t}\r\n\t};\r\n}\r\n\r\nfunction createDiv(cls) {\r\n\tvar el = document.createElement('div');\r\n\tel.className = cls || '';\r\n\treturn el;\r\n}\r\n\r\n// Implementation based on https://github.com/marcj/css-element-queries\r\nfunction createResizer(handler) {\r\n\tvar maxSize = 1000000;\r\n\r\n\t// NOTE(SB) Don't use innerHTML because it could be considered unsafe.\r\n\t// https://github.com/chartjs/Chart.js/issues/5902\r\n\tvar resizer = createDiv(CSS_SIZE_MONITOR);\r\n\tvar expand = createDiv(CSS_SIZE_MONITOR + '-expand');\r\n\tvar shrink = createDiv(CSS_SIZE_MONITOR + '-shrink');\r\n\r\n\texpand.appendChild(createDiv());\r\n\tshrink.appendChild(createDiv());\r\n\r\n\tresizer.appendChild(expand);\r\n\tresizer.appendChild(shrink);\r\n\tresizer._reset = function() {\r\n\t\texpand.scrollLeft = maxSize;\r\n\t\texpand.scrollTop = maxSize;\r\n\t\tshrink.scrollLeft = maxSize;\r\n\t\tshrink.scrollTop = maxSize;\r\n\t};\r\n\r\n\tvar onScroll = function() {\r\n\t\tresizer._reset();\r\n\t\thandler();\r\n\t};\r\n\r\n\taddListener(expand, 'scroll', onScroll.bind(expand, 'expand'));\r\n\taddListener(shrink, 'scroll', onScroll.bind(shrink, 'shrink'));\r\n\r\n\treturn resizer;\r\n}\r\n\r\n// https://davidwalsh.name/detect-node-insertion\r\nfunction watchForRender(node, handler) {\r\n\tvar expando = node[EXPANDO_KEY] || (node[EXPANDO_KEY] = {});\r\n\tvar proxy = expando.renderProxy = function(e) {\r\n\t\tif (e.animationName === CSS_RENDER_ANIMATION) {\r\n\t\t\thandler();\r\n\t\t}\r\n\t};\r\n\r\n\thelpers$1.each(ANIMATION_START_EVENTS, function(type) {\r\n\t\taddListener(node, type, proxy);\r\n\t});\r\n\r\n\t// #4737: Chrome might skip the CSS animation when the CSS_RENDER_MONITOR class\r\n\t// is removed then added back immediately (same animation frame?). Accessing the\r\n\t// `offsetParent` property will force a reflow and re-evaluate the CSS animation.\r\n\t// https://gist.github.com/paulirish/5d52fb081b3570c81e3a#box-metrics\r\n\t// https://github.com/chartjs/Chart.js/issues/4737\r\n\texpando.reflow = !!node.offsetParent;\r\n\r\n\tnode.classList.add(CSS_RENDER_MONITOR);\r\n}\r\n\r\nfunction unwatchForRender(node) {\r\n\tvar expando = node[EXPANDO_KEY] || {};\r\n\tvar proxy = expando.renderProxy;\r\n\r\n\tif (proxy) {\r\n\t\thelpers$1.each(ANIMATION_START_EVENTS, function(type) {\r\n\t\t\tremoveListener(node, type, proxy);\r\n\t\t});\r\n\r\n\t\tdelete expando.renderProxy;\r\n\t}\r\n\r\n\tnode.classList.remove(CSS_RENDER_MONITOR);\r\n}\r\n\r\nfunction addResizeListener(node, listener, chart) {\r\n\tvar expando = node[EXPANDO_KEY] || (node[EXPANDO_KEY] = {});\r\n\r\n\t// Let's keep track of this added resizer and thus avoid DOM query when removing it.\r\n\tvar resizer = expando.resizer = createResizer(throttled(function() {\r\n\t\tif (expando.resizer) {\r\n\t\t\tvar container = chart.options.maintainAspectRatio && node.parentNode;\r\n\t\t\tvar w = container ? container.clientWidth : 0;\r\n\t\t\tlistener(createEvent('resize', chart));\r\n\t\t\tif (container && container.clientWidth < w && chart.canvas) {\r\n\t\t\t\t// If the container size shrank during chart resize, let's assume\r\n\t\t\t\t// scrollbar appeared. So we resize again with the scrollbar visible -\r\n\t\t\t\t// effectively making chart smaller and the scrollbar hidden again.\r\n\t\t\t\t// Because we are inside `throttled`, and currently `ticking`, scroll\r\n\t\t\t\t// events are ignored during this whole 2 resize process.\r\n\t\t\t\t// If we assumed wrong and something else happened, we are resizing\r\n\t\t\t\t// twice in a frame (potential performance issue)\r\n\t\t\t\tlistener(createEvent('resize', chart));\r\n\t\t\t}\r\n\t\t}\r\n\t}));\r\n\r\n\t// The resizer needs to be attached to the node parent, so we first need to be\r\n\t// sure that `node` is attached to the DOM before injecting the resizer element.\r\n\twatchForRender(node, function() {\r\n\t\tif (expando.resizer) {\r\n\t\t\tvar container = node.parentNode;\r\n\t\t\tif (container && container !== resizer.parentNode) {\r\n\t\t\t\tcontainer.insertBefore(resizer, container.firstChild);\r\n\t\t\t}\r\n\r\n\t\t\t// The container size might have changed, let's reset the resizer state.\r\n\t\t\tresizer._reset();\r\n\t\t}\r\n\t});\r\n}\r\n\r\nfunction removeResizeListener(node) {\r\n\tvar expando = node[EXPANDO_KEY] || {};\r\n\tvar resizer = expando.resizer;\r\n\r\n\tdelete expando.resizer;\r\n\tunwatchForRender(node);\r\n\r\n\tif (resizer && resizer.parentNode) {\r\n\t\tresizer.parentNode.removeChild(resizer);\r\n\t}\r\n}\r\n\r\n/**\r\n * Injects CSS styles inline if the styles are not already present.\r\n * @param {HTMLDocument|ShadowRoot} rootNode - the node to contain the \n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DiseasesNames.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DiseasesNames.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./DiseasesNames.vue?vue&type=template&id=0a3a51d9&scoped=true\"\nimport script from \"./DiseasesNames.vue?vue&type=script&lang=js\"\nexport * from \"./DiseasesNames.vue?vue&type=script&lang=js\"\nimport style0 from \"./DiseasesNames.vue?vue&type=style&index=0&id=0a3a51d9&prod&scoped=true&lang=css\"\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 \"0a3a51d9\",\n null\n \n)\n\nexport default component.exports","// Components\nimport VExpansionPanel from './VExpansionPanel'\nimport { VExpandTransition } from '../transitions'\n\n// Mixins\nimport Bootable from '../../mixins/bootable'\nimport Colorable from '../../mixins/colorable'\nimport { inject as RegistrableInject } from '../../mixins/registrable'\n\n// Utilities\nimport { getSlot } from '../../util/helpers'\nimport mixins, { ExtractVue } from '../../util/mixins'\n\n// Types\nimport Vue, { VNode, VueConstructor } from 'vue'\n\nconst baseMixins = mixins(\n Bootable,\n Colorable,\n RegistrableInject<'expansionPanel', VueConstructor>('expansionPanel', 'v-expansion-panel-content', 'v-expansion-panel')\n)\n\ninterface options extends ExtractVue {\n expansionPanel: InstanceType\n}\n\n/* @vue/component */\nexport default baseMixins.extend().extend({\n name: 'v-expansion-panel-content',\n\n data: () => ({\n isActive: false,\n }),\n\n computed: {\n parentIsActive (): boolean {\n return this.expansionPanel.isActive\n },\n },\n\n watch: {\n parentIsActive: {\n immediate: true,\n handler (val, oldVal) {\n if (val) this.isBooted = true\n\n if (oldVal == null) this.isActive = val\n else this.$nextTick(() => this.isActive = val)\n },\n },\n },\n\n created () {\n this.expansionPanel.registerContent(this)\n },\n\n beforeDestroy () {\n this.expansionPanel.unregisterContent()\n },\n\n render (h): VNode {\n return h(VExpandTransition, this.showLazyContent(() => [\n h('div', this.setBackgroundColor(this.color, {\n staticClass: 'v-expansion-panel-content',\n directives: [{\n name: 'show',\n value: this.isActive,\n }],\n }), [\n h('div', { class: 'v-expansion-panel-content__wrap' }, getSlot(this, 'default', { open: this.isActive })),\n ]),\n ]))\n },\n})\n","// Components\nimport VInput from '../VInput/VInput'\n\n// Mixins\nimport mixins from '../../util/mixins'\nimport BindsAttrs from '../../mixins/binds-attrs'\nimport { provide as RegistrableProvide } from '../../mixins/registrable'\n\n// Helpers\nimport { VNode } from 'vue'\nimport { getSlot } from '../../util/helpers'\n\ntype ErrorBag = Record\ntype VInputInstance = InstanceType\ntype Watchers = {\n _uid: number\n valid: () => void\n shouldValidate: () => void\n}\n\n/* @vue/component */\nexport default mixins(\n BindsAttrs,\n RegistrableProvide('form')\n /* @vue/component */\n).extend({\n name: 'v-form',\n\n provide (): object {\n return { form: this }\n },\n\n inheritAttrs: false,\n\n props: {\n disabled: Boolean,\n lazyValidation: Boolean,\n readonly: Boolean,\n value: Boolean,\n },\n\n data: () => ({\n inputs: [] as VInputInstance[],\n watchers: [] as Watchers[],\n errorBag: {} as ErrorBag,\n }),\n\n watch: {\n errorBag: {\n handler (val) {\n const errors = Object.values(val).includes(true)\n\n this.$emit('input', !errors)\n },\n deep: true,\n immediate: true,\n },\n },\n\n methods: {\n watchInput (input: any): Watchers {\n const watcher = (input: any): (() => void) => {\n return input.$watch('hasError', (val: boolean) => {\n this.$set(this.errorBag, input._uid, val)\n }, { immediate: true })\n }\n\n const watchers: Watchers = {\n _uid: input._uid,\n valid: () => {},\n shouldValidate: () => {},\n }\n\n if (this.lazyValidation) {\n // Only start watching inputs if we need to\n watchers.shouldValidate = input.$watch('shouldValidate', (val: boolean) => {\n if (!val) return\n\n // Only watch if we're not already doing it\n if (this.errorBag.hasOwnProperty(input._uid)) return\n\n watchers.valid = watcher(input)\n })\n } else {\n watchers.valid = watcher(input)\n }\n\n return watchers\n },\n /** @public */\n validate (): boolean {\n return this.inputs.filter(input => !input.validate(true)).length === 0\n },\n /** @public */\n reset (): void {\n this.inputs.forEach(input => input.reset())\n this.resetErrorBag()\n },\n resetErrorBag () {\n if (this.lazyValidation) {\n // Account for timeout in validatable\n setTimeout(() => {\n this.errorBag = {}\n }, 0)\n }\n },\n /** @public */\n resetValidation () {\n this.inputs.forEach(input => input.resetValidation())\n this.resetErrorBag()\n },\n register (input: VInputInstance) {\n this.inputs.push(input)\n this.watchers.push(this.watchInput(input))\n },\n unregister (input: VInputInstance) {\n const found = this.inputs.find(i => i._uid === input._uid)\n\n if (!found) return\n\n const unwatch = this.watchers.find(i => i._uid === found._uid)\n if (unwatch) {\n unwatch.valid()\n unwatch.shouldValidate()\n }\n\n this.watchers = this.watchers.filter(i => i._uid !== found._uid)\n this.inputs = this.inputs.filter(i => i._uid !== found._uid)\n this.$delete(this.errorBag, found._uid)\n },\n },\n\n render (h): VNode {\n return h('form', {\n staticClass: 'v-form',\n attrs: {\n novalidate: true,\n ...this.attrs$,\n },\n on: {\n submit: (e: Event) => this.$emit('submit', e),\n },\n }, getSlot(this))\n },\n})\n","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProductOptionsList.vue?vue&type=style&index=0&id=e7a06360&prod&lang=scss&scoped=true\"","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('v-radio-group',{attrs:{\"disabled\":_vm.disabled,\"required\":_vm.required,\"error-messages\":_vm.errors,\"row\":_vm.row},scopedSlots:_vm._u([{key:\"label\",fn:function(){return [_c('div',[_c('span',{domProps:{\"innerHTML\":_vm._s(_vm.title)}}),(_vm.withTestLabel)?_c('v-chip',{staticStyle:{\"text-transform\":\"uppercase\",\"margin-left\":\"10px\"},attrs:{\"small\":\"\",\"color\":\"primary\"}},[_vm._v(_vm._s(_vm.$t('test')))]):_vm._e()],1)]},proxy:true}]),model:{value:(_vm.internalValue),callback:function ($$v) {_vm.internalValue=$$v},expression:\"internalValue\"}},[(!!_vm.description)?_c('span',{staticClass:\"grey--text text--darken-1 my-3\"},[_vm._v(_vm._s(_vm.description))]):_vm._e(),_vm._l((_vm.internalOptions),function(option,index){return _c('v-radio',{key:index,attrs:{\"value\":option.value,\"color\":\"success\"},scopedSlots:_vm._u([{key:\"label\",fn:function(){return [_vm._v(\" \"+_vm._s(option.label)+\" \")]},proxy:true}],null,true)})})],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export const required = {\n type: Boolean,\n default: false,\n}\n\nexport const errors = {\n type: Array,\n default: () => [],\n}\n\nexport const disabled = {\n type: Boolean,\n default: false,\n}\n","\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DRadioField.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DRadioField.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./DRadioField.vue?vue&type=template&id=6adce39a\"\nimport script from \"./DRadioField.vue?vue&type=script&lang=js\"\nexport * from \"./DRadioField.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","var render, staticRenderFns\nimport script from \"./ProductOptionsMixin.vue?vue&type=script&lang=js\"\nexport * from \"./ProductOptionsMixin.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","// Styles\nimport './VChipGroup.sass'\n\n// Extensions\nimport { BaseSlideGroup } from '../VSlideGroup/VSlideGroup'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\n\n// Utilities\nimport mixins from '../../util/mixins'\n\n/* @vue/component */\nexport default mixins(\n BaseSlideGroup,\n Colorable\n).extend({\n name: 'v-chip-group',\n\n provide () {\n return {\n chipGroup: this,\n }\n },\n\n props: {\n column: Boolean,\n },\n\n computed: {\n classes () {\n return {\n ...BaseSlideGroup.options.computed.classes.call(this),\n 'v-chip-group': true,\n 'v-chip-group--column': this.column,\n }\n },\n },\n\n watch: {\n column (val) {\n if (val) this.scrollOffset = 0\n\n this.$nextTick(this.onResize)\n },\n },\n\n methods: {\n genData () {\n return this.setTextColor(this.color, {\n ...BaseSlideGroup.options.methods.genData.call(this),\n })\n },\n },\n})\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('v-dialog',{attrs:{\"persistent\":_vm.saving,\"width\":\"700\"},scopedSlots:_vm._u([{key:\"activator\",fn:function({ on }){return [_vm._t(\"activator\",null,{\"on\":on})]}}],null,true),model:{value:(_vm.dialog),callback:function ($$v) {_vm.dialog=$$v},expression:\"dialog\"}},[_c('v-card',[_c('v-toolbar',{staticClass:\"headline blue-grey darken-2 white--text\"},[_c('span',[_vm._v(\" \"+_vm._s(_vm.isEditing ? '' : _vm.$t('aplicacao.nova_aplicacao'))+\" \")]),_c('v-spacer'),_c('v-tooltip',{staticClass:\"pr-1\",attrs:{\"bottom\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function({ on }){return [_c('div',_vm._g({},on),[_c('v-icon',{staticClass:\"white--text\"},[_vm._v(\"mdi-help-circle-outline\")])],1)]}}])},[_c('div',[_vm._v(\" \"+_vm._s(_vm.$t('fungicida.atualiza_eficacia'))+\" \")])]),_c('v-btn',{attrs:{\"icon\":\"\",\"dark\":\"\",\"right\":\"\"},on:{\"click\":function($event){_vm.dialog = false}}},[_c('v-icon',[_vm._v(\"mdi-close\")])],1)],1),_c('v-card-text',{staticClass:\"pb-0\"},[_c('v-row',{attrs:{\"justify\":\"center\",\"align\":\"center\",\"dense\":\"\"}},[_c('v-col',{staticClass:\"text-center title\"},[_vm._v(\" \"+_vm._s(_vm.num_aplicacao)+\"ª \"+_vm._s(_vm.$t('aplicacao.aplicacao').toLowerCase())+\" \")])],1),_c('v-divider'),(_vm.isWhiteMoldOnlySpraying)?_c('v-alert',{staticClass:\"mt-4\",attrs:{\"icon\":\"mdi-information\",\"prominent\":\"\",\"text\":\"\",\"type\":\"warning\",\"width\":\"100%\"}},[_c('span',{domProps:{\"innerHTML\":_vm._s(_vm.$t('diseases.alert.white_mold_specific_spraying'))}})]):_vm._e(),(_vm.hasWhiteMold)?_c('v-alert',{staticClass:\"mt-4\",attrs:{\"icon\":\"mdi-information\",\"prominent\":\"\",\"text\":\"\",\"type\":\"warning\",\"width\":\"100%\"}},[_c('span',{domProps:{\"innerHTML\":_vm._s(_vm.$t('diseases.alert.white_mold_mix_spraying'))}})]):_vm._e(),_c('v-form',{ref:\"form\",model:{value:(_vm.isValidForm),callback:function ($$v) {_vm.isValidForm=$$v},expression:\"isValidForm\"}},[_c('v-row',[_c('v-col',{staticClass:\"text-sm-center\"},[_c('span',{staticClass:\"caption\"},[_vm._v(\" \"+_vm._s(_vm.$t('aplicacao.doencas_prioridade.select_label'))+\" \")]),_c('v-skeleton-loader',{staticClass:\"mx-auto\",attrs:{\"type\":\"text\",\"loading\":_vm.loadingDoencasPrioridades}},[_c('v-chip-group',{ref:\"doencasChipGroup\",staticClass:\"d-inline-flex justify-sm-center\",attrs:{\"max\":_vm.numberOfTargets,\"multiple\":\"\",\"column\":\"\"},on:{\"change\":_vm.changePriorityDisease},model:{value:(_vm.priorityDiseasesIndexes),callback:function ($$v) {_vm.priorityDiseasesIndexes=$$v},expression:\"priorityDiseasesIndexes\"}},_vm._l((_vm.cropDiseasesFiltered),function(disease){return _c('v-chip',{key:disease.id,attrs:{\"active-class\":_vm.doencaChipColor(disease),\"small\":\"\",\"disabled\":_vm.disableTargetsSelectionByRules(disease.id)}},[_vm._v(\" \"+_vm._s(_vm.$t(`diseases.${disease.code}`))+\" \")])}),1),_c('div',{staticClass:\"caption text-left text-sm-center\"},[_c('v-chip',{attrs:{\"x-small\":\"\",\"color\":\"red\"}},[_vm._v(\" \")]),_vm._v(\" \"+_vm._s(_vm.$t('priority'))+\" \"),_c('v-chip',{staticClass:\"ml-2\",attrs:{\"x-small\":\"\",\"color\":\"amber\"}},[_vm._v(\" \")]),_vm._v(\" \"+_vm._s(_vm.$t('secondary'))+\" \")],1)],1)],1)],1),_vm._l((_vm.selectedProducts),function(produto,i){return _c('v-row',{key:`${produto.nome}-${i}`,attrs:{\"dense\":\"\",\"align\":\"center\",\"justify\":\"center\"}},[_c('v-col',{staticClass:\"d-none d-sm-inline-block\",attrs:{\"cols\":\"2\",\"sm\":\"1\"}},[_c('dosis-tooltip',{attrs:{\"produto\":produto}})],1),_c('v-col',{attrs:{\"cols\":\"10\",\"sm\":\"4\"}},[_c('v-autocomplete',{attrs:{\"color\":\"white\",\"item-text\":\"nome\",\"item-value\":\"id\",\"required\":\"\",\"filter\":_vm.customDefensiveFilter,\"items\":_vm.filteredDefensives,\"label\":_vm.$t('pesticide.pesticide'),\"rules\":_vm.autocompleteRules},on:{\"change\":function($event){return _vm.selectProduct(produto, i)}},scopedSlots:_vm._u([{key:\"item\",fn:function(data){return [_c('v-list-item-content',[_c('v-list-item-title',{staticClass:\"d-flex justify-space-between\"},[_c('span',[_vm._v(_vm._s(data.item.nome))]),(_vm.hasWhiteMold || _vm.prioritaryTargetIsWhiteMold)?_vm._l((data.item.special_targets),function(acronym){return _c('v-chip',{key:acronym,staticClass:\"blue-grey darken-2\",attrs:{\"text-color\":\"white\",\"x-small\":\"\"}},[_c('b',[_vm._v(_vm._s(acronym))])])}):_vm._e()],2)],1)]}}],null,true),model:{value:(produto.id),callback:function ($$v) {_vm.$set(produto, \"id\", $$v)},expression:\"produto.id\"}})],1),_c('v-col',{staticClass:\"d-block d-sm-none text-center\",attrs:{\"cols\":\"2\"}},[_c('dosis-tooltip',{attrs:{\"produto\":produto}})],1),_c('v-col',{attrs:{\"cols\":\"5\",\"sm\":\"3\",\"align\":\"center\"}},[_c('v-text-field',{directives:[{name:\"money\",rawName:\"v-money\",value:(_vm.maskConfig),expression:\"maskConfig\"}],attrs:{\"label\":_vm.unitLabel(produto),\"rules\":_vm.doseRules,\"required\":\"\"},model:{value:(produto.dose),callback:function ($$v) {_vm.$set(produto, \"dose\", $$v)},expression:\"produto.dose\"}})],1),_c('v-col',{attrs:{\"cols\":\"5\",\"sm\":\"3\",\"align\":\"center\"}},[_c('v-text-field',{directives:[{name:\"money\",rawName:\"v-money\",value:(_vm.maskConfig),expression:\"maskConfig\"}],attrs:{\"rules\":_vm.precoRules,\"label\":_vm.priceLabel(produto),\"required\":\"\"},model:{value:(produto.preco),callback:function ($$v) {_vm.$set(produto, \"preco\", $$v)},expression:\"produto.preco\"}})],1),_c('v-col',{staticClass:\"text-center\",attrs:{\"cols\":\"2\",\"sm\":\"1\"}},[_c('v-btn',{attrs:{\"icon\":\"\",\"color\":\"red\",\"small\":\"\"},on:{\"click\":function($event){return _vm.excluirProduto(i)}}},[_c('v-icon',[_vm._v(\"mdi-delete\")])],1)],1)],1)})],2),_c('v-row',[_c('v-col',{staticClass:\"text-center text-sm-right\",attrs:{\"cols\":\"12\",\"sm\":\"4\"}},[_c('v-btn',{attrs:{\"small\":\"\"},on:{\"click\":_vm.novoFungicida}},[_vm._v(\" + \"+_vm._s(_vm.$t('fungicida.fungicida'))+\" \")])],1),(_vm.showProductOptions)?_c('v-col',{staticClass:\"text-center\",attrs:{\"cols\":\"12\",\"sm\":\"8\"}},[(_vm.$vuetify.breakpoint.xs)?_c('v-btn',{staticClass:\"text-caption text-sm-body-2\",attrs:{\"text\":\"\",\"small\":\"\"},on:{\"click\":_vm.toggleSuggestions}},[_vm._v(\" \"+_vm._s(_vm.openSuggestionsBtn.short_title)+\" \"),_c('v-icon',{attrs:{\"right\":\"\"}},[_vm._v(\" \"+_vm._s(_vm.openSuggestionsBtn.icon)+\" \")])],1):_c('v-btn',{staticClass:\"text-caption text-sm-body-2\",attrs:{\"text\":\"\",\"small\":\"\"},on:{\"click\":_vm.toggleSuggestions}},[_vm._v(\" \"+_vm._s(_vm.openSuggestionsBtn.title)+\" \"),_c('v-icon',{attrs:{\"right\":\"\"}},[_vm._v(\" \"+_vm._s(_vm.openSuggestionsBtn.icon)+\" \")])],1)],1):_vm._e()],1)],1),(_vm.showProductOptions)?_c('product-options-container',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.openSuggestions),expression:\"openSuggestions\"}],attrs:{\"diseases-data\":_vm.diseasesData},on:{\"choosing\":_vm.addMixToApplication}}):_vm._e(),_c('v-divider'),_c('v-card-actions',[_c('v-spacer'),_c('v-btn',{attrs:{\"color\":\"grey darken-1\",\"text\":\"\",\"disabled\":_vm.saving},on:{\"click\":_vm.close}},[_vm._v(\" \"+_vm._s(_vm.$t('cancelar'))+\" \")]),_c('v-btn',{attrs:{\"color\":\"primary\",\"loading\":_vm.saving,\"disabled\":_vm.loadingDoencasPrioridades || !_vm.doencaPrioritariaId || !_vm.isValidForm},on:{\"click\":_vm.salvar}},[_vm._v(\" \"+_vm._s(_vm.$t('salvar'))+\" \")])],1)],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('v-tooltip',{attrs:{\"left\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function({ on }){return [_c('div',_vm._g({staticClass:\"tooltip__operation-dosis text-center\"},on),[_c('v-icon',[_vm._v(\"mdi-beaker-outline\")])],1),_c('div',{staticClass:\"text-center justify-center caption d-none d-sm-flex\"},[_vm._v(\" \"+_vm._s(_vm.$t('fungicida.doses'))+\" \")])]}}])},[(!_vm.produto.doses)?_c('div',{staticClass:\"tooltip__choose-product\"},[_vm._v(\" \"+_vm._s(_vm.$t('aplicacao.choose_product'))+\" \")]):_c('div',[_c('table',[_c('thead',{staticClass:\"tooltip__operation-dosis-header\"},[_c('tr',[_c('td'),_c('td',[_vm._v(_vm._s(_vm.$t('fungicida.doses_recomendadas')))])])]),_c('tbody',{staticClass:\"tooltip__targets-list\"},_vm._l((_vm.targetsAndDoses),function([target_code, dose],index){return _c('tr',{key:index},[_c('td',[_vm._v(_vm._s(_vm.$t(`diseases.${target_code}`)))]),(dose.dose_recomendada == 999999.0)?_c('td',[_vm._v(\" \"+_vm._s(_vm.$t('fungicida.sem_registro'))+\" \")]):_c('td',[_vm._v(\" \"+_vm._s(_vm.$t('_to_', [dose.dose_recomendada, dose.dose_recomendada_max]))+\" \"+_vm._s(_vm.produto.unidade)+\"/\"+_vm._s(_vm.$unitMeasures['area'][_vm.$currentLanguage()])+\" \")])])}),0)])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DosisTooltip.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DosisTooltip.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./DosisTooltip.vue?vue&type=template&id=7f338dec\"\nimport script from \"./DosisTooltip.vue?vue&type=script&lang=js\"\nexport * from \"./DosisTooltip.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","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{key:_vm.reloadKey,staticClass:\"px-6\"},[_c('v-divider'),(_vm.showMissingTargetsMessage)?_c('v-row',[_c('v-alert',{staticClass:\"mt-4\",attrs:{\"icon\":\"mdi-information\",\"prominent\":\"\",\"text\":\"\",\"type\":\"info\"}},[_vm._v(\" \"+_vm._s(_vm.$t('products_options.missing_targets'))+\" \")])],1):(_vm.showErrorMessage)?_c('v-row',[_c('v-alert',{staticClass:\"mt-4\",attrs:{\"icon\":\"mdi-information\",\"prominent\":\"\",\"text\":\"\",\"type\":\"warning\",\"width\":\"100%\"}},[_vm._v(\" \"+_vm._s(_vm.$t('products_options.error.loading'))+\" \")])],1):_c('v-row',[_c('v-col',{attrs:{\"md\":\"5\"}},[_c('product-options-list',{attrs:{\"premium-items\":_vm.formatPrimary,\"secondary-items\":_vm.formatSecondary,\"loading-premium-list\":_vm.loadingPremiumList,\"loading-secondary-list\":_vm.loadingSecondaryList},on:{\"premium-selected\":_vm.selectPremium,\"secondary-selected\":_vm.selectSecondary}})],1),_c('v-col',{attrs:{\"md\":\"7\"}},[(_vm.selectedProductInfoToShow)?_c('product-options-description',{attrs:{\"item\":_vm.selectedProductInfoToShow,\"is-single\":_vm.isSingle},on:{\"choosing\":_vm.addMixToApplication}}):_vm._e()],1)],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('v-card',{staticClass:\"mx-auto\",attrs:{\"max-width\":\"350\",\"tile\":\"\"}},[(_vm.loadingPremiumList)?_c('v-skeleton-loader',{staticClass:\"mx-auto\",attrs:{\"type\":\"list-item, divider, list-item, divider, list-item, divider,list-item, divider, list-item, divider, list-item, divider\"}}):_c('v-list',{class:[!_vm.selectedItem ? 'product-options-list' : ''],attrs:{\"max-height\":\"380\"}},[_c('v-subheader',[_vm._v(_vm._s(_vm.$t('products_options.list.title')))]),_vm._l((_vm.filterItems),function(item){return _c('v-list-item-group',{key:item.id,class:['product-options-premium-item', _vm.highlight(item.id)],attrs:{\"max\":1,\"value\":_vm.selectedItemId}},[_c('v-list-item',{class:[\n _vm.selectedItemId === item.id ? 'v-list-item--active' : '',\n 'qa-product-options__premium-item',\n ],on:{\"click\":function($event){return _vm.selectItem(item)}}},[_c('v-list-item-title',[(_vm.selectedItemId === item.id)?_c('v-chip',{staticClass:\"single-color\"},[_vm._v(\" 1 \")]):_vm._e(),_vm._v(\" \"+_vm._s(item.title)+\" \")],1),(_vm.selectedItemId === item.id)?_c('v-list-item-action',[_c('v-btn',{attrs:{\"icon\":\"\"}},[_c('v-icon',[_vm._v(\"mdi-close\")])],1)],1):_vm._e()],1)],1)})],2),(_vm.selectedItem && _vm.loadingSecondaryList)?_c('v-skeleton-loader',{staticClass:\"mx-auto\",attrs:{\"type\":\"list-item, divider, list-item, divider, list-item, divider,list-item, divider, list-item, divider, list-item, divider\"}}):_vm._e(),(!_vm.loadingSecondaryList && _vm.selectedItem)?_c('v-list',{staticClass:\"product-options-list\",attrs:{\"dense\":\"\",\"max-height\":\"267\"}},_vm._l((_vm.secondaryItems),function(secondaryItem){return _c('v-list-item-group',{key:secondaryItem.id,class:[\n 'product-options-premium-item',\n _vm.highlightSecondary(secondaryItem.id),\n ],attrs:{\"dense\":\"\",\"max\":1,\"value\":_vm.selectedSecondaryItemId}},[_c('v-list-item',{class:[\n _vm.selectedSecondaryItemId === secondaryItem.id\n ? 'v-list-item--active'\n : '',\n 'qa-product-options__secondary-item',\n ],on:{\"click\":function($event){return _vm.selectSecondaryItem(secondaryItem)}}},[_c('v-list-item-title',[(_vm.selectedSecondaryItemId === secondaryItem.id)?_c('v-chip',{staticClass:\"mix-color\",attrs:{\"small\":\"\"}},[_vm._v(\" 2 \")]):_vm._e(),_vm._v(\" \"+_vm._s(secondaryItem.title)+\" \")],1)],1)],1)}),1):_vm._e()],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProductOptionsList.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProductOptionsList.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./ProductOptionsList.vue?vue&type=template&id=e7a06360&scoped=true\"\nimport script from \"./ProductOptionsList.vue?vue&type=script&lang=js\"\nexport * from \"./ProductOptionsList.vue?vue&type=script&lang=js\"\nimport style0 from \"./ProductOptionsList.vue?vue&type=style&index=0&id=e7a06360&prod&lang=scss&scoped=true\"\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 \"e7a06360\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[_c('v-card',{staticClass:\"mx-auto\"},[_c('v-chip',{staticClass:\"ma-2\",class:_vm.tagColor,attrs:{\"small\":\"\",\"label\":\"\",\"text-color\":\"white\"}},[_c('v-icon',{attrs:{\"small\":\"\",\"left\":\"\",\"color\":\"white\"}},[_vm._v(\" mdi-label \")]),_vm._v(\" \"+_vm._s(_vm.isSingle ? _vm.$t('products_options.single') : _vm.$t('products_options.mix'))+\" \")],1),_c('span',{staticClass:\"subtitle-2 text--primary\"},[_vm._v(\" \"+_vm._s(_vm.item.name)+\" \")]),_c('v-divider'),_c('v-card-text',{staticClass:\"pt-2 pb-0 d-flex justify-space-between align-center\"},[_c('div',{staticClass:\"text--primary mb-1\"},[_vm._v(\" \"+_vm._s(_vm.$t('products_options.description.potencial_efficacy'))+\" \")]),_c('div',{staticClass:\"mb-1\"},[_c('tooltip-efficacy',{attrs:{\"without-register\":_vm.hasDiseaseWithNoRegister,\"is-product-option\":\"\"}})],1)]),(_vm.item.efficacy.length)?_c('chart-efficacy',{attrs:{\"chartdata\":_vm.chartData,\"styles\":_vm.styles}}):_vm._e(),_c('v-divider'),_c('v-card-text',{staticClass:\"pb-0\"},[_c('p',{staticClass:\"text--primary\"},[_vm._v(\" \"+_vm._s(_vm.$t('products_options.description.active_ingredients'))+\" \")]),_c('div',[_c('div',{staticClass:\"mb-2\"},[_c('div',{staticClass:\"text--primary\"},[_vm._v(_vm._s(_vm.item.primary.title))]),_vm._v(\" \"+_vm._s(_vm.item.primary.description)+\" \")]),(!_vm.isSingle)?_c('div',[_c('div',{staticClass:\"text--primary\"},[_vm._v(_vm._s(_vm.item.secondary.title))]),_vm._v(\" \"+_vm._s(_vm.item.secondary.description)+\" \")]):_vm._e()])]),_c('v-card-actions',[_c('v-spacer'),_c('v-btn',{attrs:{\"right\":\"\",\"small\":\"\",\"dark\":\"\",\"color\":\"green darken-1\"},on:{\"click\":function($event){return _vm.choose(_vm.item)}}},[_vm._v(_vm._s(_vm.$t('select')))])],1)],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProductOptionsDescription.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProductOptionsDescription.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./ProductOptionsDescription.vue?vue&type=template&id=692765ea&scoped=true\"\nimport script from \"./ProductOptionsDescription.vue?vue&type=script&lang=js\"\nexport * from \"./ProductOptionsDescription.vue?vue&type=script&lang=js\"\nimport style0 from \"./ProductOptionsDescription.vue?vue&type=style&index=0&id=692765ea&prod&lang=scss&scoped=true\"\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 \"692765ea\",\n null\n \n)\n\nexport default component.exports","\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProductOptionsContainer.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProductOptionsContainer.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./ProductOptionsContainer.vue?vue&type=template&id=6bb12288\"\nimport script from \"./ProductOptionsContainer.vue?vue&type=script&lang=js\"\nexport * from \"./ProductOptionsContainer.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","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProductOptionsMixin.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProductOptionsMixin.vue?vue&type=script&lang=js\"","import defaultsDeep from 'lodash.defaultsdeep'\nimport { normalizeCurrency } from '@/utils/formatters'\nimport storage from './storage'\n\nfunction ProductPriceStorage(products) {\n this.storageKey = 'last-product-price'\n this.productType = null\n this.productId = null\n this.products = products\n\n this.setProducts = function (newProducts) {\n this.products = newProducts\n }\n\n this.formatProducts = function () {\n return this.products.reduce(\n (finalProducts, product) => {\n finalProducts[product.tipo] = {\n ...finalProducts[product.tipo],\n [product.id]: normalizeCurrency(product.preco),\n }\n return finalProducts\n },\n { F: null, A: null }\n )\n }\n\n this.type = function (type) {\n this.productType = type\n return this\n }\n\n this.id = function (id) {\n this.productId = id\n return this\n }\n\n this.getAll = function () {\n return storage(this.storageKey).recover()\n }\n\n this.get = function () {\n if (!this.productType)\n throw Error('ProductPriceStorage:get miss \"productType\" property.')\n\n if (!this.productId)\n throw Error('ProductPriceStorage:get miss \"productId\" property.')\n\n const stored = storage(this.storageKey).recover()\n if (stored) {\n const productsByType = stored[this.productType]\n\n if (productsByType) {\n return productsByType[this.productId] || ''\n }\n }\n\n return ''\n }\n\n this.clear = function () {\n storage(this.storageKey).clear()\n }\n\n this.save = function () {\n const storedValues = this.getAll()\n\n const mergedProducts = storedValues\n ? defaultsDeep(this.formatProducts(), this.getAll())\n : this.formatProducts()\n\n return storage(this.storageKey).save(mergedProducts)\n }\n}\n\nexport default (products) => new ProductPriceStorage(products)\n","var render, staticRenderFns\nimport script from \"./WhiteMoldMixin.vue?vue&type=script&lang=js\"\nexport * from \"./WhiteMoldMixin.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","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./WhiteMoldMixin.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./WhiteMoldMixin.vue?vue&type=script&lang=js\"","\n \n \n \n \n \n \n \n \n \n \n \n \n \n mdi-delete\n \n \n \n \n \n \n \n + {{ $t('fungicida.fungicida') }}\n \n \n \n \n {{ openSuggestionsBtn.short_title }}\n {{ openSuggestionsBtn.icon }} \n \n \n {{ openSuggestionsBtn.title }}\n {{ openSuggestionsBtn.icon }} \n \n \n \n \n \n \n \n \n \n {{ $t('cancelar') }}\n \n \n {{ $t('salvar') }}\n \n \n \n \n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SprayingModal.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SprayingModal.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./SprayingModal.vue?vue&type=template&id=36d79a30\"\nimport script from \"./SprayingModal.vue?vue&type=script&lang=js\"\nexport * from \"./SprayingModal.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","const padStart = (string: number | string, targetLength: number, padString: string) => {\n targetLength = targetLength >> 0\n string = String(string)\n padString = String(padString)\n if (string.length > targetLength) {\n return String(string)\n }\n\n targetLength = targetLength - string.length\n if (targetLength > padString.length) {\n padString += padString.repeat(targetLength / padString.length)\n }\n return padString.slice(0, targetLength) + String(string)\n}\n\nexport default (n: string | number, length = 2) => padStart(n, length, '0')\n","import moment from 'moment-timezone'\nimport i18n, { currentLanguage } from '@/language'\nimport dateTimeFormats from '@/language/date'\n\nexport function normalizeCurrency(value) {\n if (!value) return 0\n const rest = value.substring(0, value.length - 3)\n const cents = value.substring(value.length - 3)\n const restOnlyDigits = rest.replace(/[^\\d]/g, '')\n const formattedCents = new RegExp(/,\\d{1,2}/).test(cents)\n ? cents.replace(/,/g, '.')\n : cents\n return Number(`${restOnlyDigits}${formattedCents}`)\n}\n\nexport function normalizeCoordinatesKML(coordinates) {\n const coordinatesValid = coordinates\n .replaceAll(/\\d*\\.*\\d* /g, '')\n .replaceAll(/\\d*\\n/g, '')\n .replaceAll('\\t', '')\n .replaceAll('\\n', '')\n .split(',')\n .filter((val) => Boolean(Number(val)))\n\n if (coordinatesValid.length % 2 !== 0) {\n coordinatesValid.pop()\n }\n\n return coordinatesValid\n}\n\nconst datetime = (date) =>\n moment.utc(date).tz(dateTimeFormats[currentLanguage()].timezone)\n\nexport function formatDayOfMonth(date) {\n return i18n.d(datetime(date), 'day_month')\n}\n\nexport function formatDayDayOfMonth(date) {\n return i18n.d(datetime(date), 'weekday_day_month')\n}\n\nexport function formatHour(date) {\n return i18n.d(datetime(date), 'time')\n}\n","// Directives\nimport ripple from '../../directives/ripple'\n\n// Types\nimport Vue, { VNode, VNodeData, VNodeDirective } from 'vue'\n\nexport default Vue.extend({\n name: 'rippleable',\n\n directives: { ripple },\n\n props: {\n ripple: {\n type: [Boolean, Object],\n default: true,\n },\n },\n\n methods: {\n genRipple (data: VNodeData = {}): VNode | null {\n if (!this.ripple) return null\n\n data.staticClass = 'v-input--selection-controls__ripple'\n\n data.directives = data.directives || []\n data.directives.push({\n name: 'ripple',\n value: { center: true },\n } as VNodeDirective)\n\n return this.$createElement('div', data)\n },\n },\n})\n","// Components\nimport VIcon from '../VIcon'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\nimport { inject as RegistrableInject } from '../../mixins/registrable'\n\n// Directives\nimport ripple from '../../directives/ripple'\n\n// Utilities\nimport mixins from '../../util/mixins'\nimport { getSlot, keyCodes } from '../../util/helpers'\n\n// Types\nimport { VNode } from 'vue'\nimport { PropValidator } from 'vue/types/options'\n\ntype VuetifyStepperRuleValidator = () => string | boolean\n\nconst baseMixins = mixins(\n Colorable,\n RegistrableInject('stepper', 'v-stepper-step', 'v-stepper')\n)\n\ninterface options extends InstanceType {\n stepClick: (step: number | string) => void\n}\n/* @vue/component */\nexport default baseMixins.extend().extend({\n name: 'v-stepper-step',\n\n directives: { ripple },\n\n inject: ['stepClick'],\n\n props: {\n color: {\n type: String,\n default: 'primary',\n },\n complete: Boolean,\n completeIcon: {\n type: String,\n default: '$complete',\n },\n editable: Boolean,\n editIcon: {\n type: String,\n default: '$edit',\n },\n errorIcon: {\n type: String,\n default: '$error',\n },\n rules: {\n type: Array,\n default: () => [],\n } as PropValidator,\n step: [Number, String],\n },\n\n data () {\n return {\n isActive: false,\n isInactive: true,\n }\n },\n\n computed: {\n classes (): object {\n return {\n 'v-stepper__step--active': this.isActive,\n 'v-stepper__step--editable': this.editable,\n 'v-stepper__step--inactive': this.isInactive,\n 'v-stepper__step--error error--text': this.hasError,\n 'v-stepper__step--complete': this.complete,\n }\n },\n hasError (): boolean {\n return this.rules.some(validate => validate() !== true)\n },\n },\n\n mounted () {\n this.stepper && this.stepper.register(this)\n },\n\n beforeDestroy () {\n this.stepper && this.stepper.unregister(this)\n },\n\n methods: {\n click (e: MouseEvent | KeyboardEvent) {\n e.stopPropagation()\n\n this.$emit('click', e)\n\n if (this.editable) {\n this.stepClick(this.step)\n }\n },\n genIcon (icon: string) {\n return this.$createElement(VIcon, icon)\n },\n genLabel () {\n return this.$createElement('div', {\n staticClass: 'v-stepper__label',\n }, getSlot(this))\n },\n genStep () {\n const color = (!this.hasError && (this.complete || this.isActive)) ? this.color : false\n\n return this.$createElement('span', this.setBackgroundColor(color, {\n staticClass: 'v-stepper__step__step',\n }), this.genStepContent())\n },\n genStepContent () {\n const children = []\n\n if (this.hasError) {\n children.push(this.genIcon(this.errorIcon))\n } else if (this.complete) {\n if (this.editable) {\n children.push(this.genIcon(this.editIcon))\n } else {\n children.push(this.genIcon(this.completeIcon))\n }\n } else {\n children.push(String(this.step))\n }\n\n return children\n },\n keyboardClick (e: KeyboardEvent) {\n if (e.keyCode === keyCodes.space) {\n this.click(e)\n }\n },\n toggle (step: number | string) {\n this.isActive = step.toString() === this.step.toString()\n this.isInactive = Number(step) < Number(this.step)\n },\n },\n\n render (h): VNode {\n return h('div', {\n attrs: {\n tabindex: this.editable ? 0 : -1,\n },\n staticClass: 'v-stepper__step',\n class: this.classes,\n directives: [{\n name: 'ripple',\n value: this.editable,\n }],\n on: {\n click: this.click,\n keydown: this.keyboardClick,\n },\n }, [\n this.genStep(),\n this.genLabel(),\n ])\n },\n})\n","// Styles\nimport './VRangeSlider.sass'\n\n// Components\nimport VSlider from '../VSlider'\n\n// Helpers\nimport {\n addOnceEventListener,\n createRange,\n deepEqual,\n passiveSupported,\n} from '../../util/helpers'\n\n// Types\nimport { PropValidator } from 'vue/types/options'\n\n/* @vue/component */\nexport default VSlider.extend({\n name: 'v-range-slider',\n\n props: {\n value: {\n type: Array,\n default: () => ([0, 0]),\n } as unknown as PropValidator<[number, number]>,\n },\n\n data () {\n return {\n activeThumb: null as null | number,\n lazyValue: this.value,\n }\n },\n\n computed: {\n classes (): object {\n return {\n ...VSlider.options.computed.classes.call(this),\n 'v-input--range-slider': true,\n }\n },\n internalValue: {\n get (): number[] {\n return this.lazyValue\n },\n set (val: number[]) {\n // Round value to ensure the\n // entire slider range can\n // be selected with step\n let value = val.map((v = 0) => this.roundValue(Math.min(Math.max(v, this.minValue), this.maxValue)))\n\n // Switch values if range and wrong order\n if (value[0] > value[1] || value[1] < value[0]) {\n if (this.activeThumb !== null) {\n const toFocus = this.activeThumb === 1 ? 0 : 1\n const el = this.$refs[`thumb_${toFocus}`] as HTMLElement\n el.focus()\n }\n value = [value[1], value[0]]\n }\n\n this.lazyValue = value\n if (!deepEqual(value, this.value)) this.$emit('input', value)\n\n this.validate()\n },\n },\n inputWidth (): number[] {\n return this.internalValue.map((v: number) => (\n this.roundValue(v) - this.minValue) / (this.maxValue - this.minValue) * 100\n )\n },\n },\n\n methods: {\n getTrackStyle (startLength: number, endLength: number, startPadding = 0, endPadding = 0) {\n const startDir = this.vertical ? this.$vuetify.rtl ? 'top' : 'bottom' : this.$vuetify.rtl ? 'right' : 'left'\n const endDir = this.vertical ? 'height' : 'width'\n\n const start = `calc(${startLength}% + ${startPadding}px)`\n const end = `calc(${endLength}% + ${endPadding}px)`\n\n return {\n transition: this.trackTransition,\n [startDir]: start,\n [endDir]: end,\n }\n },\n getIndexOfClosestValue (arr: number[], v: number) {\n if (Math.abs(arr[0] - v) < Math.abs(arr[1] - v)) return 0\n else return 1\n },\n genInput () {\n return createRange(2).map(i => {\n const input = VSlider.options.methods.genInput.call(this)\n\n input.data = input.data || {}\n input.data.attrs = input.data.attrs || {}\n input.data.attrs.value = this.internalValue[i]\n input.data.attrs.id = `input-${i ? 'max' : 'min'}-${this._uid}`\n\n return input\n })\n },\n genTrackContainer () {\n const children = []\n\n const padding = this.isDisabled ? 10 : 0\n const sections: { class: string, color: string | undefined, styles: [number, number, number, number] }[] = [\n {\n class: 'v-slider__track-background',\n color: this.computedTrackColor,\n styles: [0, this.inputWidth[0], 0, -padding],\n },\n {\n class: this.isDisabled ? 'v-slider__track-background' : 'v-slider__track-fill',\n color: this.isDisabled ? this.computedTrackColor : this.computedTrackFillColor,\n styles: [this.inputWidth[0], Math.abs(this.inputWidth[1] - this.inputWidth[0]), padding, padding * -2],\n },\n {\n class: 'v-slider__track-background',\n color: this.computedTrackColor,\n styles: [this.inputWidth[1], Math.abs(100 - this.inputWidth[1]), padding, -padding],\n },\n ]\n\n if (this.$vuetify.rtl) sections.reverse()\n\n children.push(...sections.map(section => this.$createElement('div', this.setBackgroundColor(section.color, {\n staticClass: section.class,\n style: this.getTrackStyle(...section.styles),\n }))))\n\n return this.$createElement('div', {\n staticClass: 'v-slider__track-container',\n ref: 'track',\n }, children)\n },\n genChildren () {\n return [\n this.genInput(),\n this.genTrackContainer(),\n this.genSteps(),\n createRange(2).map(index => {\n const value = this.internalValue[index]\n const onFocus = (e: Event) => {\n this.isFocused = true\n this.activeThumb = index\n\n this.$emit('focus', e)\n }\n\n const onBlur = (e: Event) => {\n this.isFocused = false\n this.activeThumb = null\n\n this.$emit('blur', e)\n }\n\n const valueWidth = this.inputWidth[index]\n const isActive = this.isActive && this.activeThumb === index\n const isFocused = this.isFocused && this.activeThumb === index\n\n return this.genThumbContainer(value, valueWidth, isActive, isFocused, onFocus, onBlur, `thumb_${index}`)\n }),\n ]\n },\n reevaluateSelected (value: number) {\n this.activeThumb = this.getIndexOfClosestValue(this.internalValue, value)\n const refName = `thumb_${this.activeThumb}`\n const thumbRef = this.$refs[refName] as HTMLElement\n thumbRef.focus()\n },\n onSliderMouseDown (e: MouseEvent | TouchEvent) {\n const value = this.parseMouseMove(e)\n\n this.reevaluateSelected(value)\n\n this.oldValue = this.internalValue\n this.isActive = true\n\n if ((e.target as Element)?.matches('.v-slider__thumb-container, .v-slider__thumb-container *')) {\n this.thumbPressed = true\n const domRect = (e.target as Element).getBoundingClientRect()\n const touch = 'touches' in e ? e.touches[0] : e\n this.startOffset = this.vertical\n ? touch.clientY - (domRect.top + domRect.height / 2)\n : touch.clientX - (domRect.left + domRect.width / 2)\n } else {\n this.startOffset = 0\n window.clearTimeout(this.mouseTimeout)\n this.mouseTimeout = window.setTimeout(() => {\n this.thumbPressed = true\n }, 300)\n }\n\n const mouseUpOptions = passiveSupported ? { passive: true, capture: true } : true\n const mouseMoveOptions = passiveSupported ? { passive: true } : false\n\n const isTouchEvent = 'touches' in e\n\n this.onMouseMove(e)\n this.app.addEventListener(isTouchEvent ? 'touchmove' : 'mousemove', this.onMouseMove, mouseMoveOptions)\n addOnceEventListener(this.app, isTouchEvent ? 'touchend' : 'mouseup', this.onSliderMouseUp, mouseUpOptions)\n\n this.$emit('start', this.internalValue)\n },\n onSliderClick (e: MouseEvent) {\n if (!this.isActive) {\n if (this.noClick) {\n this.noClick = false\n return\n }\n\n const value = this.parseMouseMove(e)\n\n this.reevaluateSelected(value)\n\n this.setInternalValue(value)\n\n this.$emit('change', this.internalValue)\n }\n },\n onMouseMove (e: MouseEvent | TouchEvent) {\n const value = this.parseMouseMove(e)\n\n if (e.type === 'mousemove') {\n this.thumbPressed = true\n }\n\n if (this.activeThumb === null) {\n this.activeThumb = this.getIndexOfClosestValue(this.internalValue, value)\n }\n\n this.setInternalValue(value)\n },\n onKeyDown (e: KeyboardEvent) {\n if (this.activeThumb === null) return\n\n const value = this.parseKeyDown(e, this.internalValue[this.activeThumb])\n\n if (value == null) return\n\n this.setInternalValue(value)\n this.$emit('change', this.internalValue)\n },\n setInternalValue (value: number) {\n this.internalValue = this.internalValue.map((v: number, i: number) => {\n if (i === this.activeThumb) return value\n else return Number(v)\n })\n },\n },\n})\n","/**\n * Lodash (Custom Build) \n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright OpenJS Foundation and other contributors \n * Released under MIT license \n * Based on Underscore.js 1.8.3 \n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n\n/** Used as the size to enable large array optimizations. */\nvar LARGE_ARRAY_SIZE = 200;\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/** Used to detect hot functions by number of calls within a span of milliseconds. */\nvar HOT_COUNT = 800,\n HOT_SPAN = 16;\n\n/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n asyncTag = '[object AsyncFunction]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n nullTag = '[object Null]',\n objectTag = '[object Object]',\n proxyTag = '[object Proxy]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n undefinedTag = '[object Undefined]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/**\n * Used to match `RegExp`\n * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).\n */\nvar reRegExpChar = /[\\\\^$.*+?()[\\]{}|]/g;\n\n/** Used to detect host constructors (Safari). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n/** Used to detect unsigned integer values. */\nvar reIsUint = /^(?:0|[1-9]\\d*)$/;\n\n/** Used to identify `toStringTag` values of typed arrays. */\nvar typedArrayTags = {};\ntypedArrayTags[float32Tag] = typedArrayTags[float64Tag] =\ntypedArrayTags[int8Tag] = typedArrayTags[int16Tag] =\ntypedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =\ntypedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =\ntypedArrayTags[uint32Tag] = true;\ntypedArrayTags[argsTag] = typedArrayTags[arrayTag] =\ntypedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =\ntypedArrayTags[dataViewTag] = typedArrayTags[dateTag] =\ntypedArrayTags[errorTag] = typedArrayTags[funcTag] =\ntypedArrayTags[mapTag] = typedArrayTags[numberTag] =\ntypedArrayTags[objectTag] = typedArrayTags[regexpTag] =\ntypedArrayTags[setTag] = typedArrayTags[stringTag] =\ntypedArrayTags[weakMapTag] = false;\n\n/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Detect free variable `process` from Node.js. */\nvar freeProcess = moduleExports && freeGlobal.process;\n\n/** Used to access faster Node.js helpers. */\nvar nodeUtil = (function() {\n try {\n // Use `util.types` for Node.js 10+.\n var types = freeModule && freeModule.require && freeModule.require('util').types;\n\n if (types) {\n return types;\n }\n\n // Legacy `process.binding('util')` for Node.js < 10.\n return freeProcess && freeProcess.binding && freeProcess.binding('util');\n } catch (e) {}\n}());\n\n/* Node.js helper references. */\nvar nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray;\n\n/**\n * A faster alternative to `Function#apply`, this function invokes `func`\n * with the `this` binding of `thisArg` and the arguments of `args`.\n *\n * @private\n * @param {Function} func The function to invoke.\n * @param {*} thisArg The `this` binding of `func`.\n * @param {Array} args The arguments to invoke `func` with.\n * @returns {*} Returns the result of `func`.\n */\nfunction apply(func, thisArg, args) {\n switch (args.length) {\n case 0: return func.call(thisArg);\n case 1: return func.call(thisArg, args[0]);\n case 2: return func.call(thisArg, args[0], args[1]);\n case 3: return func.call(thisArg, args[0], args[1], args[2]);\n }\n return func.apply(thisArg, args);\n}\n\n/**\n * The base implementation of `_.times` without support for iteratee shorthands\n * or max array length checks.\n *\n * @private\n * @param {number} n The number of times to invoke `iteratee`.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the array of results.\n */\nfunction baseTimes(n, iteratee) {\n var index = -1,\n result = Array(n);\n\n while (++index < n) {\n result[index] = iteratee(index);\n }\n return result;\n}\n\n/**\n * The base implementation of `_.unary` without support for storing metadata.\n *\n * @private\n * @param {Function} func The function to cap arguments for.\n * @returns {Function} Returns the new capped function.\n */\nfunction baseUnary(func) {\n return function(value) {\n return func(value);\n };\n}\n\n/**\n * Gets the value at `key` of `object`.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction getValue(object, key) {\n return object == null ? undefined : object[key];\n}\n\n/**\n * Creates a unary function that invokes `func` with its argument transformed.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {Function} transform The argument transform.\n * @returns {Function} Returns the new function.\n */\nfunction overArg(func, transform) {\n return function(arg) {\n return func(transform(arg));\n };\n}\n\n/** Used for built-in method references. */\nvar arrayProto = Array.prototype,\n funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to detect overreaching core-js shims. */\nvar coreJsData = root['__core-js_shared__'];\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to detect methods masquerading as native. */\nvar maskSrcKey = (function() {\n var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || '');\n return uid ? ('Symbol(src)_1.' + uid) : '';\n}());\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/** Used to infer the `Object` constructor. */\nvar objectCtorString = funcToString.call(Object);\n\n/** Used to detect if a method is native. */\nvar reIsNative = RegExp('^' +\n funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/** Built-in value references. */\nvar Buffer = moduleExports ? root.Buffer : undefined,\n Symbol = root.Symbol,\n Uint8Array = root.Uint8Array,\n allocUnsafe = Buffer ? Buffer.allocUnsafe : undefined,\n getPrototype = overArg(Object.getPrototypeOf, Object),\n objectCreate = Object.create,\n propertyIsEnumerable = objectProto.propertyIsEnumerable,\n splice = arrayProto.splice,\n symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\nvar defineProperty = (function() {\n try {\n var func = getNative(Object, 'defineProperty');\n func({}, '', {});\n return func;\n } catch (e) {}\n}());\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeIsBuffer = Buffer ? Buffer.isBuffer : undefined,\n nativeMax = Math.max,\n nativeNow = Date.now;\n\n/* Built-in method references that are verified to be native. */\nvar Map = getNative(root, 'Map'),\n nativeCreate = getNative(Object, 'create');\n\n/**\n * The base implementation of `_.create` without support for assigning\n * properties to the created object.\n *\n * @private\n * @param {Object} proto The object to inherit from.\n * @returns {Object} Returns the new object.\n */\nvar baseCreate = (function() {\n function object() {}\n return function(proto) {\n if (!isObject(proto)) {\n return {};\n }\n if (objectCreate) {\n return objectCreate(proto);\n }\n object.prototype = proto;\n var result = new object;\n object.prototype = undefined;\n return result;\n };\n}());\n\n/**\n * Creates a hash object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Hash(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the hash.\n *\n * @private\n * @name clear\n * @memberOf Hash\n */\nfunction hashClear() {\n this.__data__ = nativeCreate ? nativeCreate(null) : {};\n this.size = 0;\n}\n\n/**\n * Removes `key` and its value from the hash.\n *\n * @private\n * @name delete\n * @memberOf Hash\n * @param {Object} hash The hash to modify.\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction hashDelete(key) {\n var result = this.has(key) && delete this.__data__[key];\n this.size -= result ? 1 : 0;\n return result;\n}\n\n/**\n * Gets the hash value for `key`.\n *\n * @private\n * @name get\n * @memberOf Hash\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction hashGet(key) {\n var data = this.__data__;\n if (nativeCreate) {\n var result = data[key];\n return result === HASH_UNDEFINED ? undefined : result;\n }\n return hasOwnProperty.call(data, key) ? data[key] : undefined;\n}\n\n/**\n * Checks if a hash value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Hash\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction hashHas(key) {\n var data = this.__data__;\n return nativeCreate ? (data[key] !== undefined) : hasOwnProperty.call(data, key);\n}\n\n/**\n * Sets the hash `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Hash\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the hash instance.\n */\nfunction hashSet(key, value) {\n var data = this.__data__;\n this.size += this.has(key) ? 0 : 1;\n data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;\n return this;\n}\n\n// Add methods to `Hash`.\nHash.prototype.clear = hashClear;\nHash.prototype['delete'] = hashDelete;\nHash.prototype.get = hashGet;\nHash.prototype.has = hashHas;\nHash.prototype.set = hashSet;\n\n/**\n * Creates an list cache object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction ListCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the list cache.\n *\n * @private\n * @name clear\n * @memberOf ListCache\n */\nfunction listCacheClear() {\n this.__data__ = [];\n this.size = 0;\n}\n\n/**\n * Removes `key` and its value from the list cache.\n *\n * @private\n * @name delete\n * @memberOf ListCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction listCacheDelete(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n return false;\n }\n var lastIndex = data.length - 1;\n if (index == lastIndex) {\n data.pop();\n } else {\n splice.call(data, index, 1);\n }\n --this.size;\n return true;\n}\n\n/**\n * Gets the list cache value for `key`.\n *\n * @private\n * @name get\n * @memberOf ListCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction listCacheGet(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n return index < 0 ? undefined : data[index][1];\n}\n\n/**\n * Checks if a list cache value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf ListCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction listCacheHas(key) {\n return assocIndexOf(this.__data__, key) > -1;\n}\n\n/**\n * Sets the list cache `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf ListCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the list cache instance.\n */\nfunction listCacheSet(key, value) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n ++this.size;\n data.push([key, value]);\n } else {\n data[index][1] = value;\n }\n return this;\n}\n\n// Add methods to `ListCache`.\nListCache.prototype.clear = listCacheClear;\nListCache.prototype['delete'] = listCacheDelete;\nListCache.prototype.get = listCacheGet;\nListCache.prototype.has = listCacheHas;\nListCache.prototype.set = listCacheSet;\n\n/**\n * Creates a map cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction MapCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the map.\n *\n * @private\n * @name clear\n * @memberOf MapCache\n */\nfunction mapCacheClear() {\n this.size = 0;\n this.__data__ = {\n 'hash': new Hash,\n 'map': new (Map || ListCache),\n 'string': new Hash\n };\n}\n\n/**\n * Removes `key` and its value from the map.\n *\n * @private\n * @name delete\n * @memberOf MapCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction mapCacheDelete(key) {\n var result = getMapData(this, key)['delete'](key);\n this.size -= result ? 1 : 0;\n return result;\n}\n\n/**\n * Gets the map value for `key`.\n *\n * @private\n * @name get\n * @memberOf MapCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction mapCacheGet(key) {\n return getMapData(this, key).get(key);\n}\n\n/**\n * Checks if a map value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf MapCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction mapCacheHas(key) {\n return getMapData(this, key).has(key);\n}\n\n/**\n * Sets the map `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf MapCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the map cache instance.\n */\nfunction mapCacheSet(key, value) {\n var data = getMapData(this, key),\n size = data.size;\n\n data.set(key, value);\n this.size += data.size == size ? 0 : 1;\n return this;\n}\n\n// Add methods to `MapCache`.\nMapCache.prototype.clear = mapCacheClear;\nMapCache.prototype['delete'] = mapCacheDelete;\nMapCache.prototype.get = mapCacheGet;\nMapCache.prototype.has = mapCacheHas;\nMapCache.prototype.set = mapCacheSet;\n\n/**\n * Creates a stack cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Stack(entries) {\n var data = this.__data__ = new ListCache(entries);\n this.size = data.size;\n}\n\n/**\n * Removes all key-value entries from the stack.\n *\n * @private\n * @name clear\n * @memberOf Stack\n */\nfunction stackClear() {\n this.__data__ = new ListCache;\n this.size = 0;\n}\n\n/**\n * Removes `key` and its value from the stack.\n *\n * @private\n * @name delete\n * @memberOf Stack\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction stackDelete(key) {\n var data = this.__data__,\n result = data['delete'](key);\n\n this.size = data.size;\n return result;\n}\n\n/**\n * Gets the stack value for `key`.\n *\n * @private\n * @name get\n * @memberOf Stack\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction stackGet(key) {\n return this.__data__.get(key);\n}\n\n/**\n * Checks if a stack value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Stack\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction stackHas(key) {\n return this.__data__.has(key);\n}\n\n/**\n * Sets the stack `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Stack\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the stack cache instance.\n */\nfunction stackSet(key, value) {\n var data = this.__data__;\n if (data instanceof ListCache) {\n var pairs = data.__data__;\n if (!Map || (pairs.length < LARGE_ARRAY_SIZE - 1)) {\n pairs.push([key, value]);\n this.size = ++data.size;\n return this;\n }\n data = this.__data__ = new MapCache(pairs);\n }\n data.set(key, value);\n this.size = data.size;\n return this;\n}\n\n// Add methods to `Stack`.\nStack.prototype.clear = stackClear;\nStack.prototype['delete'] = stackDelete;\nStack.prototype.get = stackGet;\nStack.prototype.has = stackHas;\nStack.prototype.set = stackSet;\n\n/**\n * Creates an array of the enumerable property names of the array-like `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @param {boolean} inherited Specify returning inherited property names.\n * @returns {Array} Returns the array of property names.\n */\nfunction arrayLikeKeys(value, inherited) {\n var isArr = isArray(value),\n isArg = !isArr && isArguments(value),\n isBuff = !isArr && !isArg && isBuffer(value),\n isType = !isArr && !isArg && !isBuff && isTypedArray(value),\n skipIndexes = isArr || isArg || isBuff || isType,\n result = skipIndexes ? baseTimes(value.length, String) : [],\n length = result.length;\n\n for (var key in value) {\n if ((inherited || hasOwnProperty.call(value, key)) &&\n !(skipIndexes && (\n // Safari 9 has enumerable `arguments.length` in strict mode.\n key == 'length' ||\n // Node.js 0.10 has enumerable non-index properties on buffers.\n (isBuff && (key == 'offset' || key == 'parent')) ||\n // PhantomJS 2 has enumerable non-index properties on typed arrays.\n (isType && (key == 'buffer' || key == 'byteLength' || key == 'byteOffset')) ||\n // Skip index properties.\n isIndex(key, length)\n ))) {\n result.push(key);\n }\n }\n return result;\n}\n\n/**\n * This function is like `assignValue` except that it doesn't assign\n * `undefined` values.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction assignMergeValue(object, key, value) {\n if ((value !== undefined && !eq(object[key], value)) ||\n (value === undefined && !(key in object))) {\n baseAssignValue(object, key, value);\n }\n}\n\n/**\n * Assigns `value` to `key` of `object` if the existing value is not equivalent\n * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction assignValue(object, key, value) {\n var objValue = object[key];\n if (!(hasOwnProperty.call(object, key) && eq(objValue, value)) ||\n (value === undefined && !(key in object))) {\n baseAssignValue(object, key, value);\n }\n}\n\n/**\n * Gets the index at which the `key` is found in `array` of key-value pairs.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} key The key to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction assocIndexOf(array, key) {\n var length = array.length;\n while (length--) {\n if (eq(array[length][0], key)) {\n return length;\n }\n }\n return -1;\n}\n\n/**\n * The base implementation of `assignValue` and `assignMergeValue` without\n * value checks.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction baseAssignValue(object, key, value) {\n if (key == '__proto__' && defineProperty) {\n defineProperty(object, key, {\n 'configurable': true,\n 'enumerable': true,\n 'value': value,\n 'writable': true\n });\n } else {\n object[key] = value;\n }\n}\n\n/**\n * The base implementation of `baseForOwn` which iterates over `object`\n * properties returned by `keysFunc` and invokes `iteratee` for each property.\n * Iteratee functions may exit iteration early by explicitly returning `false`.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @returns {Object} Returns `object`.\n */\nvar baseFor = createBaseFor();\n\n/**\n * The base implementation of `getTag` without fallbacks for buggy environments.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n if (value == null) {\n return value === undefined ? undefinedTag : nullTag;\n }\n return (symToStringTag && symToStringTag in Object(value))\n ? getRawTag(value)\n : objectToString(value);\n}\n\n/**\n * The base implementation of `_.isArguments`.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n */\nfunction baseIsArguments(value) {\n return isObjectLike(value) && baseGetTag(value) == argsTag;\n}\n\n/**\n * The base implementation of `_.isNative` without bad shim checks.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function,\n * else `false`.\n */\nfunction baseIsNative(value) {\n if (!isObject(value) || isMasked(value)) {\n return false;\n }\n var pattern = isFunction(value) ? reIsNative : reIsHostCtor;\n return pattern.test(toSource(value));\n}\n\n/**\n * The base implementation of `_.isTypedArray` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n */\nfunction baseIsTypedArray(value) {\n return isObjectLike(value) &&\n isLength(value.length) && !!typedArrayTags[baseGetTag(value)];\n}\n\n/**\n * The base implementation of `_.keysIn` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction baseKeysIn(object) {\n if (!isObject(object)) {\n return nativeKeysIn(object);\n }\n var isProto = isPrototype(object),\n result = [];\n\n for (var key in object) {\n if (!(key == 'constructor' && (isProto || !hasOwnProperty.call(object, key)))) {\n result.push(key);\n }\n }\n return result;\n}\n\n/**\n * The base implementation of `_.merge` without support for multiple sources.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @param {number} srcIndex The index of `source`.\n * @param {Function} [customizer] The function to customize merged values.\n * @param {Object} [stack] Tracks traversed source values and their merged\n * counterparts.\n */\nfunction baseMerge(object, source, srcIndex, customizer, stack) {\n if (object === source) {\n return;\n }\n baseFor(source, function(srcValue, key) {\n stack || (stack = new Stack);\n if (isObject(srcValue)) {\n baseMergeDeep(object, source, key, srcIndex, baseMerge, customizer, stack);\n }\n else {\n var newValue = customizer\n ? customizer(safeGet(object, key), srcValue, (key + ''), object, source, stack)\n : undefined;\n\n if (newValue === undefined) {\n newValue = srcValue;\n }\n assignMergeValue(object, key, newValue);\n }\n }, keysIn);\n}\n\n/**\n * A specialized version of `baseMerge` for arrays and objects which performs\n * deep merges and tracks traversed objects enabling objects with circular\n * references to be merged.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @param {string} key The key of the value to merge.\n * @param {number} srcIndex The index of `source`.\n * @param {Function} mergeFunc The function to merge values.\n * @param {Function} [customizer] The function to customize assigned values.\n * @param {Object} [stack] Tracks traversed source values and their merged\n * counterparts.\n */\nfunction baseMergeDeep(object, source, key, srcIndex, mergeFunc, customizer, stack) {\n var objValue = safeGet(object, key),\n srcValue = safeGet(source, key),\n stacked = stack.get(srcValue);\n\n if (stacked) {\n assignMergeValue(object, key, stacked);\n return;\n }\n var newValue = customizer\n ? customizer(objValue, srcValue, (key + ''), object, source, stack)\n : undefined;\n\n var isCommon = newValue === undefined;\n\n if (isCommon) {\n var isArr = isArray(srcValue),\n isBuff = !isArr && isBuffer(srcValue),\n isTyped = !isArr && !isBuff && isTypedArray(srcValue);\n\n newValue = srcValue;\n if (isArr || isBuff || isTyped) {\n if (isArray(objValue)) {\n newValue = objValue;\n }\n else if (isArrayLikeObject(objValue)) {\n newValue = copyArray(objValue);\n }\n else if (isBuff) {\n isCommon = false;\n newValue = cloneBuffer(srcValue, true);\n }\n else if (isTyped) {\n isCommon = false;\n newValue = cloneTypedArray(srcValue, true);\n }\n else {\n newValue = [];\n }\n }\n else if (isPlainObject(srcValue) || isArguments(srcValue)) {\n newValue = objValue;\n if (isArguments(objValue)) {\n newValue = toPlainObject(objValue);\n }\n else if (!isObject(objValue) || isFunction(objValue)) {\n newValue = initCloneObject(srcValue);\n }\n }\n else {\n isCommon = false;\n }\n }\n if (isCommon) {\n // Recursively merge objects and arrays (susceptible to call stack limits).\n stack.set(srcValue, newValue);\n mergeFunc(newValue, srcValue, srcIndex, customizer, stack);\n stack['delete'](srcValue);\n }\n assignMergeValue(object, key, newValue);\n}\n\n/**\n * The base implementation of `_.rest` which doesn't validate or coerce arguments.\n *\n * @private\n * @param {Function} func The function to apply a rest parameter to.\n * @param {number} [start=func.length-1] The start position of the rest parameter.\n * @returns {Function} Returns the new function.\n */\nfunction baseRest(func, start) {\n return setToString(overRest(func, start, identity), func + '');\n}\n\n/**\n * The base implementation of `setToString` without support for hot loop shorting.\n *\n * @private\n * @param {Function} func The function to modify.\n * @param {Function} string The `toString` result.\n * @returns {Function} Returns `func`.\n */\nvar baseSetToString = !defineProperty ? identity : function(func, string) {\n return defineProperty(func, 'toString', {\n 'configurable': true,\n 'enumerable': false,\n 'value': constant(string),\n 'writable': true\n });\n};\n\n/**\n * Creates a clone of `buffer`.\n *\n * @private\n * @param {Buffer} buffer The buffer to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Buffer} Returns the cloned buffer.\n */\nfunction cloneBuffer(buffer, isDeep) {\n if (isDeep) {\n return buffer.slice();\n }\n var length = buffer.length,\n result = allocUnsafe ? allocUnsafe(length) : new buffer.constructor(length);\n\n buffer.copy(result);\n return result;\n}\n\n/**\n * Creates a clone of `arrayBuffer`.\n *\n * @private\n * @param {ArrayBuffer} arrayBuffer The array buffer to clone.\n * @returns {ArrayBuffer} Returns the cloned array buffer.\n */\nfunction cloneArrayBuffer(arrayBuffer) {\n var result = new arrayBuffer.constructor(arrayBuffer.byteLength);\n new Uint8Array(result).set(new Uint8Array(arrayBuffer));\n return result;\n}\n\n/**\n * Creates a clone of `typedArray`.\n *\n * @private\n * @param {Object} typedArray The typed array to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the cloned typed array.\n */\nfunction cloneTypedArray(typedArray, isDeep) {\n var buffer = isDeep ? cloneArrayBuffer(typedArray.buffer) : typedArray.buffer;\n return new typedArray.constructor(buffer, typedArray.byteOffset, typedArray.length);\n}\n\n/**\n * Copies the values of `source` to `array`.\n *\n * @private\n * @param {Array} source The array to copy values from.\n * @param {Array} [array=[]] The array to copy values to.\n * @returns {Array} Returns `array`.\n */\nfunction copyArray(source, array) {\n var index = -1,\n length = source.length;\n\n array || (array = Array(length));\n while (++index < length) {\n array[index] = source[index];\n }\n return array;\n}\n\n/**\n * Copies properties of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy properties from.\n * @param {Array} props The property identifiers to copy.\n * @param {Object} [object={}] The object to copy properties to.\n * @param {Function} [customizer] The function to customize copied values.\n * @returns {Object} Returns `object`.\n */\nfunction copyObject(source, props, object, customizer) {\n var isNew = !object;\n object || (object = {});\n\n var index = -1,\n length = props.length;\n\n while (++index < length) {\n var key = props[index];\n\n var newValue = customizer\n ? customizer(object[key], source[key], key, object, source)\n : undefined;\n\n if (newValue === undefined) {\n newValue = source[key];\n }\n if (isNew) {\n baseAssignValue(object, key, newValue);\n } else {\n assignValue(object, key, newValue);\n }\n }\n return object;\n}\n\n/**\n * Creates a function like `_.assign`.\n *\n * @private\n * @param {Function} assigner The function to assign values.\n * @returns {Function} Returns the new assigner function.\n */\nfunction createAssigner(assigner) {\n return baseRest(function(object, sources) {\n var index = -1,\n length = sources.length,\n customizer = length > 1 ? sources[length - 1] : undefined,\n guard = length > 2 ? sources[2] : undefined;\n\n customizer = (assigner.length > 3 && typeof customizer == 'function')\n ? (length--, customizer)\n : undefined;\n\n if (guard && isIterateeCall(sources[0], sources[1], guard)) {\n customizer = length < 3 ? undefined : customizer;\n length = 1;\n }\n object = Object(object);\n while (++index < length) {\n var source = sources[index];\n if (source) {\n assigner(object, source, index, customizer);\n }\n }\n return object;\n });\n}\n\n/**\n * Creates a base function for methods like `_.forIn` and `_.forOwn`.\n *\n * @private\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new base function.\n */\nfunction createBaseFor(fromRight) {\n return function(object, iteratee, keysFunc) {\n var index = -1,\n iterable = Object(object),\n props = keysFunc(object),\n length = props.length;\n\n while (length--) {\n var key = props[fromRight ? length : ++index];\n if (iteratee(iterable[key], key, iterable) === false) {\n break;\n }\n }\n return object;\n };\n}\n\n/**\n * Used by `_.defaultsDeep` to customize its `_.merge` use to merge source\n * objects into destination objects that are passed thru.\n *\n * @private\n * @param {*} objValue The destination value.\n * @param {*} srcValue The source value.\n * @param {string} key The key of the property to merge.\n * @param {Object} object The parent object of `objValue`.\n * @param {Object} source The parent object of `srcValue`.\n * @param {Object} [stack] Tracks traversed source values and their merged\n * counterparts.\n * @returns {*} Returns the value to assign.\n */\nfunction customDefaultsMerge(objValue, srcValue, key, object, source, stack) {\n if (isObject(objValue) && isObject(srcValue)) {\n // Recursively merge objects and arrays (susceptible to call stack limits).\n stack.set(srcValue, objValue);\n baseMerge(objValue, srcValue, undefined, customDefaultsMerge, stack);\n stack['delete'](srcValue);\n }\n return objValue;\n}\n\n/**\n * Gets the data for `map`.\n *\n * @private\n * @param {Object} map The map to query.\n * @param {string} key The reference key.\n * @returns {*} Returns the map data.\n */\nfunction getMapData(map, key) {\n var data = map.__data__;\n return isKeyable(key)\n ? data[typeof key == 'string' ? 'string' : 'hash']\n : data.map;\n}\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n var value = getValue(object, key);\n return baseIsNative(value) ? value : undefined;\n}\n\n/**\n * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the raw `toStringTag`.\n */\nfunction getRawTag(value) {\n var isOwn = hasOwnProperty.call(value, symToStringTag),\n tag = value[symToStringTag];\n\n try {\n value[symToStringTag] = undefined;\n var unmasked = true;\n } catch (e) {}\n\n var result = nativeObjectToString.call(value);\n if (unmasked) {\n if (isOwn) {\n value[symToStringTag] = tag;\n } else {\n delete value[symToStringTag];\n }\n }\n return result;\n}\n\n/**\n * Initializes an object clone.\n *\n * @private\n * @param {Object} object The object to clone.\n * @returns {Object} Returns the initialized clone.\n */\nfunction initCloneObject(object) {\n return (typeof object.constructor == 'function' && !isPrototype(object))\n ? baseCreate(getPrototype(object))\n : {};\n}\n\n/**\n * Checks if `value` is a valid array-like index.\n *\n * @private\n * @param {*} value The value to check.\n * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n */\nfunction isIndex(value, length) {\n var type = typeof value;\n length = length == null ? MAX_SAFE_INTEGER : length;\n\n return !!length &&\n (type == 'number' ||\n (type != 'symbol' && reIsUint.test(value))) &&\n (value > -1 && value % 1 == 0 && value < length);\n}\n\n/**\n * Checks if the given arguments are from an iteratee call.\n *\n * @private\n * @param {*} value The potential iteratee value argument.\n * @param {*} index The potential iteratee index or key argument.\n * @param {*} object The potential iteratee object argument.\n * @returns {boolean} Returns `true` if the arguments are from an iteratee call,\n * else `false`.\n */\nfunction isIterateeCall(value, index, object) {\n if (!isObject(object)) {\n return false;\n }\n var type = typeof index;\n if (type == 'number'\n ? (isArrayLike(object) && isIndex(index, object.length))\n : (type == 'string' && index in object)\n ) {\n return eq(object[index], value);\n }\n return false;\n}\n\n/**\n * Checks if `value` is suitable for use as unique object key.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is suitable, else `false`.\n */\nfunction isKeyable(value) {\n var type = typeof value;\n return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean')\n ? (value !== '__proto__')\n : (value === null);\n}\n\n/**\n * Checks if `func` has its source masked.\n *\n * @private\n * @param {Function} func The function to check.\n * @returns {boolean} Returns `true` if `func` is masked, else `false`.\n */\nfunction isMasked(func) {\n return !!maskSrcKey && (maskSrcKey in func);\n}\n\n/**\n * Checks if `value` is likely a prototype object.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a prototype, else `false`.\n */\nfunction isPrototype(value) {\n var Ctor = value && value.constructor,\n proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto;\n\n return value === proto;\n}\n\n/**\n * This function is like\n * [`Object.keys`](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * except that it includes inherited enumerable properties.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction nativeKeysIn(object) {\n var result = [];\n if (object != null) {\n for (var key in Object(object)) {\n result.push(key);\n }\n }\n return result;\n}\n\n/**\n * Converts `value` to a string using `Object.prototype.toString`.\n *\n * @private\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n */\nfunction objectToString(value) {\n return nativeObjectToString.call(value);\n}\n\n/**\n * A specialized version of `baseRest` which transforms the rest array.\n *\n * @private\n * @param {Function} func The function to apply a rest parameter to.\n * @param {number} [start=func.length-1] The start position of the rest parameter.\n * @param {Function} transform The rest array transform.\n * @returns {Function} Returns the new function.\n */\nfunction overRest(func, start, transform) {\n start = nativeMax(start === undefined ? (func.length - 1) : start, 0);\n return function() {\n var args = arguments,\n index = -1,\n length = nativeMax(args.length - start, 0),\n array = Array(length);\n\n while (++index < length) {\n array[index] = args[start + index];\n }\n index = -1;\n var otherArgs = Array(start + 1);\n while (++index < start) {\n otherArgs[index] = args[index];\n }\n otherArgs[start] = transform(array);\n return apply(func, this, otherArgs);\n };\n}\n\n/**\n * Gets the value at `key`, unless `key` is \"__proto__\" or \"constructor\".\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction safeGet(object, key) {\n if (key === 'constructor' && typeof object[key] === 'function') {\n return;\n }\n\n if (key == '__proto__') {\n return;\n }\n\n return object[key];\n}\n\n/**\n * Sets the `toString` method of `func` to return `string`.\n *\n * @private\n * @param {Function} func The function to modify.\n * @param {Function} string The `toString` result.\n * @returns {Function} Returns `func`.\n */\nvar setToString = shortOut(baseSetToString);\n\n/**\n * Creates a function that'll short out and invoke `identity` instead\n * of `func` when it's called `HOT_COUNT` or more times in `HOT_SPAN`\n * milliseconds.\n *\n * @private\n * @param {Function} func The function to restrict.\n * @returns {Function} Returns the new shortable function.\n */\nfunction shortOut(func) {\n var count = 0,\n lastCalled = 0;\n\n return function() {\n var stamp = nativeNow(),\n remaining = HOT_SPAN - (stamp - lastCalled);\n\n lastCalled = stamp;\n if (remaining > 0) {\n if (++count >= HOT_COUNT) {\n return arguments[0];\n }\n } else {\n count = 0;\n }\n return func.apply(undefined, arguments);\n };\n}\n\n/**\n * Converts `func` to its source code.\n *\n * @private\n * @param {Function} func The function to convert.\n * @returns {string} Returns the source code.\n */\nfunction toSource(func) {\n if (func != null) {\n try {\n return funcToString.call(func);\n } catch (e) {}\n try {\n return (func + '');\n } catch (e) {}\n }\n return '';\n}\n\n/**\n * Performs a\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * comparison between two values to determine if they are equivalent.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.eq(object, object);\n * // => true\n *\n * _.eq(object, other);\n * // => false\n *\n * _.eq('a', 'a');\n * // => true\n *\n * _.eq('a', Object('a'));\n * // => false\n *\n * _.eq(NaN, NaN);\n * // => true\n */\nfunction eq(value, other) {\n return value === other || (value !== value && other !== other);\n}\n\n/**\n * Checks if `value` is likely an `arguments` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n * else `false`.\n * @example\n *\n * _.isArguments(function() { return arguments; }());\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\nvar isArguments = baseIsArguments(function() { return arguments; }()) ? baseIsArguments : function(value) {\n return isObjectLike(value) && hasOwnProperty.call(value, 'callee') &&\n !propertyIsEnumerable.call(value, 'callee');\n};\n\n/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */\nvar isArray = Array.isArray;\n\n/**\n * Checks if `value` is array-like. A value is considered array-like if it's\n * not a function and has a `value.length` that's an integer greater than or\n * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n * @example\n *\n * _.isArrayLike([1, 2, 3]);\n * // => true\n *\n * _.isArrayLike(document.body.children);\n * // => true\n *\n * _.isArrayLike('abc');\n * // => true\n *\n * _.isArrayLike(_.noop);\n * // => false\n */\nfunction isArrayLike(value) {\n return value != null && isLength(value.length) && !isFunction(value);\n}\n\n/**\n * This method is like `_.isArrayLike` except that it also checks if `value`\n * is an object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array-like object,\n * else `false`.\n * @example\n *\n * _.isArrayLikeObject([1, 2, 3]);\n * // => true\n *\n * _.isArrayLikeObject(document.body.children);\n * // => true\n *\n * _.isArrayLikeObject('abc');\n * // => false\n *\n * _.isArrayLikeObject(_.noop);\n * // => false\n */\nfunction isArrayLikeObject(value) {\n return isObjectLike(value) && isArrayLike(value);\n}\n\n/**\n * Checks if `value` is a buffer.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a buffer, else `false`.\n * @example\n *\n * _.isBuffer(new Buffer(2));\n * // => true\n *\n * _.isBuffer(new Uint8Array(2));\n * // => false\n */\nvar isBuffer = nativeIsBuffer || stubFalse;\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n if (!isObject(value)) {\n return false;\n }\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in Safari 9 which returns 'object' for typed arrays and other constructors.\n var tag = baseGetTag(value);\n return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag;\n}\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This method is loosely based on\n * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n * @example\n *\n * _.isLength(3);\n * // => true\n *\n * _.isLength(Number.MIN_VALUE);\n * // => false\n *\n * _.isLength(Infinity);\n * // => false\n *\n * _.isLength('3');\n * // => false\n */\nfunction isLength(value) {\n return typeof value == 'number' &&\n value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\n/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return value != null && (type == 'object' || type == 'function');\n}\n\n/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return value != null && typeof value == 'object';\n}\n\n/**\n * Checks if `value` is a plain object, that is, an object created by the\n * `Object` constructor or one with a `[[Prototype]]` of `null`.\n *\n * @static\n * @memberOf _\n * @since 0.8.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a plain object, else `false`.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * }\n *\n * _.isPlainObject(new Foo);\n * // => false\n *\n * _.isPlainObject([1, 2, 3]);\n * // => false\n *\n * _.isPlainObject({ 'x': 0, 'y': 0 });\n * // => true\n *\n * _.isPlainObject(Object.create(null));\n * // => true\n */\nfunction isPlainObject(value) {\n if (!isObjectLike(value) || baseGetTag(value) != objectTag) {\n return false;\n }\n var proto = getPrototype(value);\n if (proto === null) {\n return true;\n }\n var Ctor = hasOwnProperty.call(proto, 'constructor') && proto.constructor;\n return typeof Ctor == 'function' && Ctor instanceof Ctor &&\n funcToString.call(Ctor) == objectCtorString;\n}\n\n/**\n * Checks if `value` is classified as a typed array.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n * @example\n *\n * _.isTypedArray(new Uint8Array);\n * // => true\n *\n * _.isTypedArray([]);\n * // => false\n */\nvar isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray;\n\n/**\n * Converts `value` to a plain object flattening inherited enumerable string\n * keyed properties of `value` to own properties of the plain object.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {Object} Returns the converted plain object.\n * @example\n *\n * function Foo() {\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.assign({ 'a': 1 }, new Foo);\n * // => { 'a': 1, 'b': 2 }\n *\n * _.assign({ 'a': 1 }, _.toPlainObject(new Foo));\n * // => { 'a': 1, 'b': 2, 'c': 3 }\n */\nfunction toPlainObject(value) {\n return copyObject(value, keysIn(value));\n}\n\n/**\n * This method is like `_.defaults` except that it recursively assigns\n * default properties.\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 3.10.0\n * @category Object\n * @param {Object} object The destination object.\n * @param {...Object} [sources] The source objects.\n * @returns {Object} Returns `object`.\n * @see _.defaults\n * @example\n *\n * _.defaultsDeep({ 'a': { 'b': 2 } }, { 'a': { 'b': 1, 'c': 3 } });\n * // => { 'a': { 'b': 2, 'c': 3 } }\n */\nvar defaultsDeep = baseRest(function(args) {\n args.push(undefined, customDefaultsMerge);\n return apply(mergeWith, undefined, args);\n});\n\n/**\n * Creates an array of the own and inherited enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keysIn(new Foo);\n * // => ['a', 'b', 'c'] (iteration order is not guaranteed)\n */\nfunction keysIn(object) {\n return isArrayLike(object) ? arrayLikeKeys(object, true) : baseKeysIn(object);\n}\n\n/**\n * This method is like `_.merge` except that it accepts `customizer` which\n * is invoked to produce the merged values of the destination and source\n * properties. If `customizer` returns `undefined`, merging is handled by the\n * method instead. The `customizer` is invoked with six arguments:\n * (objValue, srcValue, key, object, source, stack).\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Object\n * @param {Object} object The destination object.\n * @param {...Object} sources The source objects.\n * @param {Function} customizer The function to customize assigned values.\n * @returns {Object} Returns `object`.\n * @example\n *\n * function customizer(objValue, srcValue) {\n * if (_.isArray(objValue)) {\n * return objValue.concat(srcValue);\n * }\n * }\n *\n * var object = { 'a': [1], 'b': [2] };\n * var other = { 'a': [3], 'b': [4] };\n *\n * _.mergeWith(object, other, customizer);\n * // => { 'a': [1, 3], 'b': [2, 4] }\n */\nvar mergeWith = createAssigner(function(object, source, srcIndex, customizer) {\n baseMerge(object, source, srcIndex, customizer);\n});\n\n/**\n * Creates a function that returns `value`.\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Util\n * @param {*} value The value to return from the new function.\n * @returns {Function} Returns the new constant function.\n * @example\n *\n * var objects = _.times(2, _.constant({ 'a': 1 }));\n *\n * console.log(objects);\n * // => [{ 'a': 1 }, { 'a': 1 }]\n *\n * console.log(objects[0] === objects[1]);\n * // => true\n */\nfunction constant(value) {\n return function() {\n return value;\n };\n}\n\n/**\n * This method returns the first argument it receives.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Util\n * @param {*} value Any value.\n * @returns {*} Returns `value`.\n * @example\n *\n * var object = { 'a': 1 };\n *\n * console.log(_.identity(object) === object);\n * // => true\n */\nfunction identity(value) {\n return value;\n}\n\n/**\n * This method returns `false`.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {boolean} Returns `false`.\n * @example\n *\n * _.times(2, _.stubFalse);\n * // => [false, false]\n */\nfunction stubFalse() {\n return false;\n}\n\nmodule.exports = defaultsDeep;\n","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('v-container',[_c('v-card',{staticClass:\"align-content-center card-banner\",attrs:{\"max-width\":\"100%\",\"heigth\":\"431px\",\"outlined\":\"\",\"single-line\":\"\"}},[_c('v-row',[_c('v-col',{staticClass:\"offset-md-2 py-16\",attrs:{\"md\":\"8\",\"sm\":\"8\"}},[_c('v-list-item',[_c('v-list-item-content',[_c('div',{staticClass:\"previous-text\"},[_vm._v(\" \"+_vm._s(_vm.$t('FarmDisabled.farm_disabled'))+\" \")]),_c('v-list-item-title',{staticClass:\"title-banner mb-1\"},[_vm._v(\" \"+_vm._s(_vm.$t('FarmDisabled.farm_disabled_message_banner_text1'))+\" \")]),_c('v-list-item-subtitle',{staticClass:\"wrap-text\"},[_c('p',{staticClass:\"description-banner\"},[_vm._v(\" \"+_vm._s(_vm.$t('FarmDisabled.farm_disabled_message_banner_text2'))+\" \")])])],1),_c('v-img',{attrs:{\"src\":\"/icons/ic-farm-disabled.svg\",\"max-width\":\"160px\"}})],1),_c('v-row',{attrs:{\"no-gutters\":\"\"}},[_c('v-col',[_c('v-card-actions',[_c('v-btn',{staticClass:\"white--text text-none button-banner\",attrs:{\"outlined\":\"\",\"text\":\"\",\"to\":\"/farms\"}},[_vm._v(\" \"+_vm._s(_vm.$t('FarmDisabled.manager_farms'))+\" \")])],1)],1)],1)],1)],1)],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProductOptionsDescription.vue?vue&type=style&index=0&id=692765ea&prod&lang=scss&scoped=true\"","// Styles\nimport './VRadio.sass'\n\n// Components\nimport VRadioGroup from './VRadioGroup'\nimport VLabel from '../VLabel'\nimport VIcon from '../VIcon'\nimport VInput from '../VInput'\n\n// Mixins\nimport BindsAttrs from '../../mixins/binds-attrs'\nimport Colorable from '../../mixins/colorable'\nimport { factory as GroupableFactory } from '../../mixins/groupable'\nimport Rippleable from '../../mixins/rippleable'\nimport Themeable from '../../mixins/themeable'\nimport Selectable, { prevent } from '../../mixins/selectable'\n\n// Utilities\nimport { getSlot } from '../../util/helpers'\n\n// Types\nimport { VNode, VNodeData } from 'vue'\nimport mixins from '../../util/mixins'\nimport { mergeListeners } from '../../util/mergeData'\n\nconst baseMixins = mixins(\n BindsAttrs,\n Colorable,\n Rippleable,\n GroupableFactory('radioGroup'),\n Themeable\n)\n\ninterface options extends InstanceType {\n radioGroup: InstanceType\n}\n\n/* @vue/component */\nexport default baseMixins.extend().extend({\n name: 'v-radio',\n\n inheritAttrs: false,\n\n props: {\n disabled: {\n type: Boolean,\n default: null,\n },\n id: String,\n label: String,\n name: String,\n offIcon: {\n type: String,\n default: '$radioOff',\n },\n onIcon: {\n type: String,\n default: '$radioOn',\n },\n readonly: {\n type: Boolean,\n default: null,\n },\n value: {\n default: null,\n },\n },\n\n data: () => ({\n isFocused: false,\n }),\n\n computed: {\n classes (): object {\n return {\n 'v-radio--is-disabled': this.isDisabled,\n 'v-radio--is-focused': this.isFocused,\n ...this.themeClasses,\n ...this.groupClasses,\n }\n },\n computedColor (): string | undefined {\n if (this.isDisabled) return undefined\n return Selectable.options.computed.computedColor.call(this)\n },\n computedIcon (): string {\n return this.isActive\n ? this.onIcon\n : this.offIcon\n },\n computedId (): string {\n return VInput.options.computed.computedId.call(this)\n },\n hasLabel: VInput.options.computed.hasLabel,\n hasState (): boolean {\n return (this.radioGroup || {}).hasState\n },\n isDisabled (): boolean {\n return this.disabled ?? (\n !!this.radioGroup &&\n this.radioGroup.isDisabled\n )\n },\n isReadonly (): boolean {\n return this.readonly ?? (\n !!this.radioGroup &&\n this.radioGroup.isReadonly\n )\n },\n computedName (): string {\n if (this.name || !this.radioGroup) {\n return this.name\n }\n\n return this.radioGroup.name || `radio-${this.radioGroup._uid}`\n },\n rippleState (): string | undefined {\n return Selectable.options.computed.rippleState.call(this)\n },\n validationState (): string | undefined {\n return (this.radioGroup || {}).validationState || this.computedColor\n },\n },\n\n methods: {\n genInput (args: any) {\n // We can't actually use the mixin directly because\n // it's made for standalone components, but its\n // genInput method is exactly what we need\n return Selectable.options.methods.genInput.call(this, 'radio', args)\n },\n genLabel () {\n if (!this.hasLabel) return null\n\n return this.$createElement(VLabel, {\n on: {\n // Label shouldn't cause the input to focus\n click: prevent,\n },\n attrs: {\n for: this.computedId,\n },\n props: {\n color: this.validationState,\n focused: this.hasState,\n },\n }, getSlot(this, 'label') || this.label)\n },\n genRadio () {\n const { title, ...radioAttrs } = this.attrs$\n\n return this.$createElement('div', {\n staticClass: 'v-input--selection-controls__input',\n }, [\n this.$createElement(VIcon, this.setTextColor(this.validationState, {\n props: {\n dense: this.radioGroup && this.radioGroup.dense,\n },\n }), this.computedIcon),\n this.genInput({\n name: this.computedName,\n value: this.value,\n ...radioAttrs,\n }),\n this.genRipple(this.setTextColor(this.rippleState)),\n ])\n },\n onFocus (e: Event) {\n this.isFocused = true\n this.$emit('focus', e)\n },\n onBlur (e: Event) {\n this.isFocused = false\n this.$emit('blur', e)\n },\n onChange () {\n if (this.isDisabled || this.isReadonly || this.isActive) return\n\n this.toggle()\n },\n onKeydown: () => {}, // Override default with noop\n },\n\n render (h): VNode {\n const data: VNodeData = {\n staticClass: 'v-radio',\n class: this.classes,\n on: mergeListeners({\n click: this.onChange,\n }, this.listeners$),\n attrs: { title: this.attrs$.title },\n }\n\n return h('div', data, [\n this.genRadio(),\n this.genLabel(),\n ])\n },\n})\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('v-tabs',{staticClass:\"crop-tabs\",attrs:{\"grow\":\"\"},on:{\"change\":_vm.cropChanged},model:{value:(_vm.tab),callback:function ($$v) {_vm.tab=$$v},expression:\"tab\"}},_vm._l((_vm.enabledsCrops),function(crop,index){return _c('v-tab',{key:crop.id},[(_vm.tab === index)?_c('img',{staticClass:\"mr-2\",attrs:{\"loading\":\"lazy\",\"max-width\":\"15px\",\"alt\":_vm.cropIcon(crop.name, '-green').alt,\"src\":_vm.cropIcon(crop.name, '-green').src}}):_c('img',{staticClass:\"mr-2\",attrs:{\"loading\":\"lazy\",\"max-width\":\"15px\",\"alt\":_vm.cropIcon(crop.name).alt,\"src\":_vm.cropIcon(crop.name).src}}),_c('span',{staticClass:\"title-tab\"},[_vm._v(\" \"+_vm._s(_vm.$t(`crop.${crop.name.toLowerCase()}`))+\" \")])])}),1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CropTabs.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CropTabs.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./CropTabs.vue?vue&type=template&id=88f3c052&scoped=true\"\nimport script from \"./CropTabs.vue?vue&type=script&lang=js\"\nexport * from \"./CropTabs.vue?vue&type=script&lang=js\"\nimport style0 from \"./CropTabs.vue?vue&type=style&index=0&id=88f3c052&prod&lang=scss&scoped=true\"\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 \"88f3c052\",\n null\n \n)\n\nexport default component.exports","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DiseaseHeader.vue?vue&type=style&index=0&id=36df9199&prod&lang=scss&scoped=true\"","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FarmDisabled.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FarmDisabled.vue?vue&type=script&lang=js\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CropTabs.vue?vue&type=style&index=0&id=88f3c052&prod&lang=scss&scoped=true\"","var render = function render(){var _vm=this,_c=_vm._self._c;return (_vm.withoutRegister && _vm.isBrazil)?_c('v-tooltip',{attrs:{\"top\":\"\",\"max-width\":\"300\"},scopedSlots:_vm._u([{key:\"activator\",fn:function({ on }){return [_c('div',_vm._g({},on),[_c('v-icon',{staticClass:\"red--text\",attrs:{\"dense\":\"\"}},[_vm._v(\"mdi-alert-circle\")])],1)]}}],null,false,1347587960)},[_c('div',[_vm._v(\" \"+_vm._s(_vm.textInfo)+\" \")])]):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TooltipEfficacy.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TooltipEfficacy.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./TooltipEfficacy.vue?vue&type=template&id=0386e49b\"\nimport script from \"./TooltipEfficacy.vue?vue&type=script&lang=js\"\nexport * from \"./TooltipEfficacy.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","// Mixins\nimport { factory as GroupableFactory } from '../../mixins/groupable'\nimport Routable from '../../mixins/routable'\nimport Themeable from '../../mixins/themeable'\n\n// Utilities\nimport { getSlot, keyCodes } from './../../util/helpers'\nimport mixins from '../../util/mixins'\nimport { ExtractVue } from './../../util/mixins'\n\n// Types\nimport { VNode } from 'vue/types'\n\n// Components\nimport VTabsBar from '../VTabs/VTabsBar'\n\nconst baseMixins = mixins(\n Routable,\n // Must be after routable\n // to overwrite activeClass\n GroupableFactory('tabsBar'),\n Themeable\n)\n\ntype VTabBarInstance = InstanceType\n\ninterface options extends ExtractVue {\n $el: HTMLElement\n tabsBar: VTabBarInstance\n}\n\nexport default baseMixins.extend().extend(\n /* @vue/component */\n).extend({\n name: 'v-tab',\n\n props: {\n ripple: {\n type: [Boolean, Object],\n default: true,\n },\n tabValue: {\n required: false,\n },\n },\n\n data: () => ({\n proxyClass: 'v-tab--active',\n }),\n\n computed: {\n classes (): object {\n return {\n 'v-tab': true,\n ...Routable.options.computed.classes.call(this),\n 'v-tab--disabled': this.disabled,\n ...this.groupClasses,\n }\n },\n value (): any {\n if (this.tabValue != null) return this.tabValue\n\n let to = this.to || this.href\n\n if (to == null) return to\n\n if (this.$router &&\n this.to === Object(this.to)\n ) {\n const resolve = this.$router.resolve(\n this.to,\n this.$route,\n this.append\n )\n\n to = resolve.href\n }\n\n return to.replace('#', '')\n },\n },\n\n methods: {\n click (e: KeyboardEvent | MouseEvent): void {\n // Prevent keyboard actions\n // from children elements\n // within disabled tabs\n if (this.disabled) {\n e.preventDefault()\n return\n }\n\n // If user provides an\n // actual link, do not\n // prevent default\n if (this.href &&\n this.href.indexOf('#') > -1\n ) e.preventDefault()\n\n if (e.detail) this.$el.blur()\n\n this.$emit('click', e)\n\n this.to || this.toggle()\n },\n toggle () {\n // VItemGroup treats a change event as a click\n if (!this.isActive || (!this.tabsBar.mandatory && !this.to)) {\n this.$emit('change')\n }\n },\n },\n\n render (h): VNode {\n const { tag, data } = this.generateRouteLink()\n\n data.attrs = {\n ...data.attrs,\n 'aria-selected': String(this.isActive),\n role: 'tab',\n tabindex: this.disabled ? -1 : 0,\n }\n data.on = {\n ...data.on,\n keydown: (e: KeyboardEvent) => {\n if (e.keyCode === keyCodes.enter) this.click(e)\n\n this.$emit('keydown', e)\n },\n }\n\n return h(tag, data, getSlot(this))\n },\n})\n","// Styles\nimport './VStepper.sass'\n\n// Extensions\nimport VSheet from '../VSheet'\n\n// Components\nimport VStepperStep from './VStepperStep'\nimport VStepperContent from './VStepperContent'\n\n// Mixins\nimport { provide as RegistrableProvide } from '../../mixins/registrable'\nimport Proxyable from '../../mixins/proxyable'\n\n// Utilities\nimport mixins from '../../util/mixins'\nimport { breaking } from '../../util/console'\nimport { getSlot } from '../../util/helpers'\n\n// Types\nimport { VNode } from 'vue'\n\nconst baseMixins = mixins(\n VSheet,\n RegistrableProvide('stepper'),\n Proxyable,\n)\n\ntype VStepperStepInstance = InstanceType\ntype VStepperContentInstance = InstanceType\n\n/* @vue/component */\nexport default baseMixins.extend({\n name: 'v-stepper',\n\n provide (): object {\n return {\n stepClick: this.stepClick,\n isVertical: this.vertical,\n }\n },\n\n props: {\n altLabels: Boolean,\n nonLinear: Boolean,\n flat: Boolean,\n vertical: Boolean,\n },\n\n data () {\n const data: Dictionary = {\n isBooted: false,\n steps: [] as VStepperStepInstance[],\n content: [] as VStepperContentInstance[],\n isReverse: false,\n }\n\n data.internalLazyValue = this.value != null\n ? this.value\n : (data[0] || {}).step || 1\n\n return data\n },\n\n computed: {\n classes (): object {\n return {\n 'v-stepper--flat': this.flat,\n 'v-stepper--is-booted': this.isBooted,\n 'v-stepper--vertical': this.vertical,\n 'v-stepper--alt-labels': this.altLabels,\n 'v-stepper--non-linear': this.nonLinear,\n ...VSheet.options.computed.classes.call(this),\n }\n },\n styles (): object {\n return {\n ...VSheet.options.computed.styles.call(this),\n }\n },\n },\n\n watch: {\n internalValue (val, oldVal) {\n this.isReverse = Number(val) < Number(oldVal)\n\n oldVal && (this.isBooted = true)\n\n this.updateView()\n },\n },\n\n created () {\n /* istanbul ignore next */\n if (this.$listeners.input) {\n breaking('@input', '@change', this)\n }\n },\n\n mounted () {\n this.updateView()\n },\n\n methods: {\n register (item: VStepperStepInstance | VStepperContentInstance) {\n if (item.$options.name === 'v-stepper-step') {\n this.steps.push(item as VStepperStepInstance)\n } else if (item.$options.name === 'v-stepper-content') {\n (item as VStepperContentInstance).isVertical = this.vertical\n this.content.push(item as VStepperContentInstance)\n }\n },\n unregister (item: VStepperStepInstance | VStepperContentInstance) {\n if (item.$options.name === 'v-stepper-step') {\n this.steps = this.steps.filter((i: VStepperStepInstance) => i !== item)\n } else if (item.$options.name === 'v-stepper-content') {\n (item as VStepperContentInstance).isVertical = this.vertical\n this.content = this.content.filter((i: VStepperContentInstance) => i !== item)\n }\n },\n stepClick (step: string | number) {\n this.$nextTick(() => (this.internalValue = step))\n },\n updateView () {\n for (let index = this.steps.length; --index >= 0;) {\n this.steps[index].toggle(this.internalValue as any)\n }\n for (let index = this.content.length; --index >= 0;) {\n this.content[index].toggle(this.internalValue as any, this.isReverse)\n }\n },\n },\n\n render (h): VNode {\n return h(this.tag, {\n staticClass: 'v-stepper',\n class: this.classes,\n style: this.styles,\n }, getSlot(this))\n },\n})\n","// Styles\nimport './VSlideGroup.sass'\n\n// Components\nimport VIcon from '../VIcon'\nimport { VFadeTransition } from '../transitions'\n\n// Extensions\nimport { BaseItemGroup } from '../VItemGroup/VItemGroup'\n\n// Mixins\nimport Mobile from '../../mixins/mobile'\n\n// Directives\nimport Resize from '../../directives/resize'\nimport Touch from '../../directives/touch'\n\n// Utilities\nimport mixins, { ExtractVue } from '../../util/mixins'\n\n// Types\nimport Vue, { VNode } from 'vue'\nimport { composedPath, getSlot } from '../../util/helpers'\n\ninterface TouchEvent {\n touchstartX: number\n touchstartY: number\n touchmoveX: number\n touchmoveY: number\n stopPropagation: Function\n}\n\ninterface Widths {\n content: number\n wrapper: number\n}\n\ninterface options extends Vue {\n $refs: {\n content: HTMLElement\n wrapper: HTMLElement\n }\n}\n\nfunction bias (val: number) {\n const c = 0.501\n const x = Math.abs(val)\n return Math.sign(val) * (x / ((1 / c - 2) * (1 - x) + 1))\n}\n\nexport function calculateUpdatedOffset (\n selectedElement: HTMLElement,\n widths: Widths,\n rtl: boolean,\n currentScrollOffset: number\n): number {\n const clientWidth = selectedElement.clientWidth\n const offsetLeft = rtl\n ? (widths.content - selectedElement.offsetLeft - clientWidth)\n : selectedElement.offsetLeft\n\n if (rtl) {\n currentScrollOffset = -currentScrollOffset\n }\n\n const totalWidth = widths.wrapper + currentScrollOffset\n const itemOffset = clientWidth + offsetLeft\n const additionalOffset = clientWidth * 0.4\n\n if (offsetLeft <= currentScrollOffset) {\n currentScrollOffset = Math.max(offsetLeft - additionalOffset, 0)\n } else if (totalWidth <= itemOffset) {\n currentScrollOffset = Math.min(currentScrollOffset - (totalWidth - itemOffset - additionalOffset), widths.content - widths.wrapper)\n }\n\n return rtl ? -currentScrollOffset : currentScrollOffset\n}\n\nexport function calculateCenteredOffset (\n selectedElement: HTMLElement,\n widths: Widths,\n rtl: boolean\n): number {\n const { offsetLeft, clientWidth } = selectedElement\n\n if (rtl) {\n const offsetCentered = widths.content - offsetLeft - clientWidth / 2 - widths.wrapper / 2\n return -Math.min(widths.content - widths.wrapper, Math.max(0, offsetCentered))\n } else {\n const offsetCentered = offsetLeft + clientWidth / 2 - widths.wrapper / 2\n return Math.min(widths.content - widths.wrapper, Math.max(0, offsetCentered))\n }\n}\n\nexport const BaseSlideGroup = mixins\n/* eslint-enable indent */\n>(\n BaseItemGroup,\n Mobile,\n /* @vue/component */\n).extend({\n name: 'base-slide-group',\n\n directives: {\n Resize,\n Touch,\n },\n\n props: {\n activeClass: {\n type: String,\n default: 'v-slide-item--active',\n },\n centerActive: Boolean,\n nextIcon: {\n type: String,\n default: '$next',\n },\n prevIcon: {\n type: String,\n default: '$prev',\n },\n showArrows: {\n type: [Boolean, String],\n validator: (v: any) => (\n typeof v === 'boolean' || [\n 'always',\n 'never',\n 'desktop',\n 'mobile',\n ].includes(v)\n ),\n },\n },\n\n data: () => ({\n isOverflowing: false,\n resizeTimeout: 0,\n startX: 0,\n isSwipingHorizontal: false,\n isSwiping: false,\n scrollOffset: 0,\n widths: {\n content: 0,\n wrapper: 0,\n },\n }),\n\n computed: {\n canTouch (): boolean {\n return typeof window !== 'undefined'\n },\n __cachedNext (): VNode {\n return this.genTransition('next')\n },\n __cachedPrev (): VNode {\n return this.genTransition('prev')\n },\n classes (): object {\n return {\n ...BaseItemGroup.options.computed.classes.call(this),\n 'v-slide-group': true,\n 'v-slide-group--has-affixes': this.hasAffixes,\n 'v-slide-group--is-overflowing': this.isOverflowing,\n }\n },\n hasAffixes (): Boolean {\n switch (this.showArrows) {\n // Always show arrows on desktop & mobile\n case 'always': return true\n\n // Always show arrows on desktop\n case 'desktop': return !this.isMobile\n\n // Show arrows on mobile when overflowing.\n // This matches the default 2.2 behavior\n case true: return this.isOverflowing || Math.abs(this.scrollOffset) > 0\n\n // Always show on mobile\n case 'mobile': return (\n this.isMobile ||\n (this.isOverflowing || Math.abs(this.scrollOffset) > 0)\n )\n\n // Always hide arrows\n case 'never': return false\n\n // https://material.io/components/tabs#scrollable-tabs\n // Always show arrows when\n // overflowed on desktop\n default: return (\n !this.isMobile &&\n (this.isOverflowing || Math.abs(this.scrollOffset) > 0)\n )\n }\n },\n hasNext (): boolean {\n if (!this.hasAffixes) return false\n\n const { content, wrapper } = this.widths\n\n // Check one scroll ahead to know the width of right-most item\n return content > Math.abs(this.scrollOffset) + wrapper\n },\n hasPrev (): boolean {\n return this.hasAffixes && this.scrollOffset !== 0\n },\n },\n\n watch: {\n internalValue: 'setWidths',\n // When overflow changes, the arrows alter\n // the widths of the content and wrapper\n // and need to be recalculated\n isOverflowing: 'setWidths',\n scrollOffset (val) {\n if (this.$vuetify.rtl) val = -val\n\n let scroll =\n val <= 0\n ? bias(-val)\n : val > this.widths.content - this.widths.wrapper\n ? -(this.widths.content - this.widths.wrapper) + bias(this.widths.content - this.widths.wrapper - val)\n : -val\n\n if (this.$vuetify.rtl) scroll = -scroll\n\n this.$refs.content.style.transform = `translateX(${scroll}px)`\n },\n },\n\n mounted () {\n if (typeof ResizeObserver !== 'undefined') {\n const obs = new ResizeObserver(() => {\n this.onResize()\n })\n obs.observe(this.$el)\n obs.observe(this.$refs.content)\n this.$on('hook:destroyed', () => {\n obs.disconnect()\n })\n } else {\n let itemsLength = 0\n this.$on('hook:beforeUpdate', () => {\n itemsLength = (this.$refs.content?.children || []).length\n })\n this.$on('hook:updated', () => {\n if (itemsLength === (this.$refs.content?.children || []).length) return\n this.setWidths()\n })\n }\n },\n\n methods: {\n onScroll () {\n this.$refs.wrapper.scrollLeft = 0\n },\n onFocusin (e: FocusEvent) {\n if (!this.isOverflowing) return\n\n // Focused element is likely to be the root of an item, so a\n // breadth-first search will probably find it in the first iteration\n for (const el of composedPath(e)) {\n for (const vm of this.items) {\n if (vm.$el === el) {\n this.scrollOffset = calculateUpdatedOffset(\n vm.$el as HTMLElement,\n this.widths,\n this.$vuetify.rtl,\n this.scrollOffset\n )\n return\n }\n }\n }\n },\n // Always generate next for scrollable hint\n genNext (): VNode | null {\n const slot = this.$scopedSlots.next\n ? this.$scopedSlots.next({})\n : getSlot(this, 'next') || this.__cachedNext\n\n return this.$createElement('div', {\n staticClass: 'v-slide-group__next',\n class: {\n 'v-slide-group__next--disabled': !this.hasNext,\n },\n on: {\n click: () => this.onAffixClick('next'),\n },\n key: 'next',\n }, [slot])\n },\n genContent (): VNode {\n return this.$createElement('div', {\n staticClass: 'v-slide-group__content',\n ref: 'content',\n on: {\n focusin: this.onFocusin,\n },\n }, getSlot(this))\n },\n genData (): object {\n return {\n class: this.classes,\n directives: [{\n name: 'resize',\n value: this.onResize,\n }],\n }\n },\n genIcon (location: 'prev' | 'next'): VNode | null {\n let icon = location\n\n if (this.$vuetify.rtl && location === 'prev') {\n icon = 'next'\n } else if (this.$vuetify.rtl && location === 'next') {\n icon = 'prev'\n }\n\n const upperLocation = `${location[0].toUpperCase()}${location.slice(1)}`\n const hasAffix = (this as any)[`has${upperLocation}`]\n\n if (\n !this.showArrows &&\n !hasAffix\n ) return null\n\n return this.$createElement(VIcon, {\n props: {\n disabled: !hasAffix,\n },\n }, (this as any)[`${icon}Icon`])\n },\n // Always generate prev for scrollable hint\n genPrev (): VNode | null {\n const slot = this.$scopedSlots.prev\n ? this.$scopedSlots.prev({})\n : getSlot(this, 'prev') || this.__cachedPrev\n\n return this.$createElement('div', {\n staticClass: 'v-slide-group__prev',\n class: {\n 'v-slide-group__prev--disabled': !this.hasPrev,\n },\n on: {\n click: () => this.onAffixClick('prev'),\n },\n key: 'prev',\n }, [slot])\n },\n genTransition (location: 'prev' | 'next') {\n return this.$createElement(VFadeTransition, [this.genIcon(location)])\n },\n genWrapper (): VNode {\n return this.$createElement('div', {\n staticClass: 'v-slide-group__wrapper',\n directives: [{\n name: 'touch',\n value: {\n start: (e: TouchEvent) => this.overflowCheck(e, this.onTouchStart),\n move: (e: TouchEvent) => this.overflowCheck(e, this.onTouchMove),\n end: (e: TouchEvent) => this.overflowCheck(e, this.onTouchEnd),\n },\n }],\n ref: 'wrapper',\n on: {\n scroll: this.onScroll,\n },\n }, [this.genContent()])\n },\n calculateNewOffset (direction: 'prev' | 'next', widths: Widths, rtl: boolean, currentScrollOffset: number) {\n const sign = rtl ? -1 : 1\n const newAbosluteOffset = sign * currentScrollOffset +\n (direction === 'prev' ? -1 : 1) * widths.wrapper\n\n return sign * Math.max(Math.min(newAbosluteOffset, widths.content - widths.wrapper), 0)\n },\n onAffixClick (location: 'prev' | 'next') {\n this.$emit(`click:${location}`)\n this.scrollTo(location)\n },\n onResize () {\n /* istanbul ignore next */\n if (this._isDestroyed) return\n\n this.setWidths()\n },\n onTouchStart (e: TouchEvent) {\n const { content } = this.$refs\n\n this.startX = this.scrollOffset + e.touchstartX as number\n\n content.style.setProperty('transition', 'none')\n content.style.setProperty('willChange', 'transform')\n },\n onTouchMove (e: TouchEvent) {\n if (!this.canTouch) return\n\n if (!this.isSwiping) {\n // only calculate disableSwipeHorizontal during the first onTouchMove invoke\n // in order to ensure disableSwipeHorizontal value is consistent between onTouchStart and onTouchEnd\n const diffX = e.touchmoveX - e.touchstartX\n const diffY = e.touchmoveY - e.touchstartY\n this.isSwipingHorizontal = Math.abs(diffX) > Math.abs(diffY)\n this.isSwiping = true\n }\n\n if (this.isSwipingHorizontal) {\n // sliding horizontally\n this.scrollOffset = this.startX - e.touchmoveX\n // temporarily disable window vertical scrolling\n document.documentElement.style.overflowY = 'hidden'\n }\n },\n onTouchEnd () {\n if (!this.canTouch) return\n\n const { content, wrapper } = this.$refs\n const maxScrollOffset = content.clientWidth - wrapper.clientWidth\n\n content.style.setProperty('transition', null)\n content.style.setProperty('willChange', null)\n\n if (this.$vuetify.rtl) {\n /* istanbul ignore else */\n if (this.scrollOffset > 0 || !this.isOverflowing) {\n this.scrollOffset = 0\n } else if (this.scrollOffset <= -maxScrollOffset) {\n this.scrollOffset = -maxScrollOffset\n }\n } else {\n /* istanbul ignore else */\n if (this.scrollOffset < 0 || !this.isOverflowing) {\n this.scrollOffset = 0\n } else if (this.scrollOffset >= maxScrollOffset) {\n this.scrollOffset = maxScrollOffset\n }\n }\n\n this.isSwiping = false\n // rollback whole page scrolling to default\n document.documentElement.style.removeProperty('overflow-y')\n },\n overflowCheck (e: TouchEvent, fn: (e: TouchEvent) => void) {\n e.stopPropagation()\n this.isOverflowing && fn(e)\n },\n scrollIntoView /* istanbul ignore next */ () {\n if (!this.selectedItem && this.items.length) {\n const lastItemPosition = this.items[this.items.length - 1].$el.getBoundingClientRect()\n const wrapperPosition = this.$refs.wrapper.getBoundingClientRect()\n\n if (\n (this.$vuetify.rtl && wrapperPosition.right < lastItemPosition.right) ||\n (!this.$vuetify.rtl && wrapperPosition.left > lastItemPosition.left)\n ) {\n this.scrollTo('prev')\n }\n }\n\n if (!this.selectedItem) {\n return\n }\n\n if (\n this.selectedIndex === 0 ||\n (!this.centerActive && !this.isOverflowing)\n ) {\n this.scrollOffset = 0\n } else if (this.centerActive) {\n this.scrollOffset = calculateCenteredOffset(\n this.selectedItem.$el as HTMLElement,\n this.widths,\n this.$vuetify.rtl\n )\n } else if (this.isOverflowing) {\n this.scrollOffset = calculateUpdatedOffset(\n this.selectedItem.$el as HTMLElement,\n this.widths,\n this.$vuetify.rtl,\n this.scrollOffset\n )\n }\n },\n scrollTo /* istanbul ignore next */ (location: 'prev' | 'next') {\n this.scrollOffset = this.calculateNewOffset(location, {\n // Force reflow\n content: this.$refs.content ? this.$refs.content.clientWidth : 0,\n wrapper: this.$refs.wrapper ? this.$refs.wrapper.clientWidth : 0,\n }, this.$vuetify.rtl, this.scrollOffset)\n },\n setWidths () {\n window.requestAnimationFrame(() => {\n if (this._isDestroyed) return\n\n const { content, wrapper } = this.$refs\n\n this.widths = {\n content: content ? content.clientWidth : 0,\n wrapper: wrapper ? wrapper.clientWidth : 0,\n }\n\n // https://github.com/vuetifyjs/vuetify/issues/13212\n // We add +1 to the wrappers width to prevent an issue where the `clientWidth`\n // gets calculated wrongly by the browser if using a different zoom-level.\n this.isOverflowing = this.widths.wrapper + 1 < this.widths.content\n\n this.scrollIntoView()\n })\n },\n },\n\n render (h): VNode {\n return h('div', this.genData(), [\n this.genPrev(),\n this.genWrapper(),\n this.genNext(),\n ])\n },\n})\n\nexport default BaseSlideGroup.extend({\n name: 'v-slide-group',\n\n provide (): object {\n return {\n slideGroup: this,\n }\n },\n})\n","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./VarietyList.vue?vue&type=style&index=0&id=190ab2ef&prod&scoped=true&lang=css\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./VarietyItem.vue?vue&type=style&index=0&id=e597d454&prod&lang=scss&scoped=true\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RequestNotCatalogedVariety.vue?vue&type=style&index=0&id=19c42136&prod&scoped=true&lang=css\"","import VSlider from './VSlider'\n\nexport { VSlider }\nexport default VSlider\n","import { createSimpleFunctional } from '../../util/helpers'\nimport VStepper from './VStepper'\nimport VStepperStep from './VStepperStep'\nimport VStepperContent from './VStepperContent'\n\nconst VStepperHeader = createSimpleFunctional('v-stepper__header')\nconst VStepperItems = createSimpleFunctional('v-stepper__items')\n\nexport {\n VStepper,\n VStepperContent,\n VStepperStep,\n VStepperHeader,\n VStepperItems,\n}\n\nexport default {\n $_vuetify_subcomponents: {\n VStepper,\n VStepperContent,\n VStepperStep,\n VStepperHeader,\n VStepperItems,\n },\n}\n","var map = {\n\t\"./ic-cloud.svg\": \"482d\",\n\t\"./ic-flag-brazil.svg\": \"e730\",\n\t\"./ic-flag-paraguay.svg\": \"4da6\",\n\t\"./ic-flag-usa.svg\": \"5f28\",\n\t\"./ic-rain.svg\": \"dacb\",\n\t\"./ic-soybean-green.svg\": \"5d79\",\n\t\"./ic-soybean.svg\": \"716d\",\n\t\"./ic-sun.svg\": \"9b3c\",\n\t\"./ic-wheat-green.svg\": \"3e56\",\n\t\"./ic-wheat.svg\": \"a6d5\"\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = \"9c64\";","// Extensions\nimport { BaseItem } from '../VItemGroup/VItem'\n\n// Mixins\nimport { factory as GroupableFactory } from '../../mixins/groupable'\nimport mixins from '../../util/mixins'\n\nexport default mixins(\n BaseItem,\n GroupableFactory('slideGroup')\n /* @vue/component */\n).extend({\n name: 'v-slide-item',\n})\n","import './VSimpleCheckbox.sass'\n\nimport Ripple from '../../directives/ripple'\n\nimport Vue, { VNode, VNodeDirective } from 'vue'\nimport { VIcon } from '../VIcon'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\nimport Themeable from '../../mixins/themeable'\n\n// Utilities\nimport mergeData from '../../util/mergeData'\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, listeners }): VNode {\n const children = []\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 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 def: Ripple,\n name: 'ripple',\n value: { center: true },\n }] as VNodeDirective[],\n }))\n\n children.push(ripple)\n }\n\n return h('div',\n mergeData(data, {\n class: {\n 'v-simple-checkbox': true,\n 'v-simple-checkbox--disabled': props.disabled,\n },\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 }), [\n h('div', { staticClass: 'v-input--selection-controls__input' }, children),\n ])\n },\n})\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[_c('variety-header'),_c('div',{staticClass:\"df-flex-l df-flex-col variety-home\"},[(!_vm.farms.length)?_c('farm-disabled'):_c('div',[_c('div',{staticClass:\"df-flex-l df-flex-col\"},[_c('crop-tabs'),(\n _vm.isFarmAvailableForCrop &&\n !_vm.loadingSeeds &&\n !_vm.loadingChangeFarm &&\n !_vm.loadingVarieties\n )?_c('div',{staticClass:\"df-flex-l\"},[_c('div',{staticClass:\"df-col-7 df-col-12-m df-col-12-t\"},[_c('sort-and-filter',{attrs:{\"varieties\":_vm.varieties},on:{\"updateVarietiesList\":_vm.updateVarietiesList}}),_c('variety-list',{staticClass:\"variety-list__height\",attrs:{\"varieties\":_vm.sortedAndFilteredVarieties,\"selected-variety\":_vm.selectedVariety},on:{\"selectVariety\":_vm.selectVariety,\"removeVariety\":_vm.removeVariety,\"addVariety\":_vm.addVariety}})],1),(_vm.isDSMobile || _vm.isDSTablet)?_c('div',[_c('v-dialog',{attrs:{\"fullscreen\":\"\"},model:{value:(_vm.mobileVarietyInfoDialog),callback:function ($$v) {_vm.mobileVarietyInfoDialog=$$v},expression:\"mobileVarietyInfoDialog\"}},[_c('v-card',[_c('v-card-title',[_c('button',{on:{\"click\":_vm.closeMobile}},[_c('v-icon',{attrs:{\"size\":\"18\",\"color\":\"#AAB2A9\"}},[_vm._v(\"mdi-close\")])],1)]),_c('v-card-text',[_c('variety-info',{attrs:{\"variety\":_vm.selectedVarietyInfo}})],1)],1)],1)],1):_c('div',{staticClass:\"df-col-5 home__variety-info\"},[(_vm.selectedVariety != 0)?_c('variety-info',{attrs:{\"variety\":_vm.selectedVarietyInfo}}):_c('div',{staticClass:\"home__no-variety\"},[_c('v-img',{attrs:{\"alt\":\"warning\",\"max-height\":\"90\",\"src\":\"/icons/ic-warning-green.svg\",\"width\":\"90\"}}),_c('p',[_vm._v(_vm._s(_vm.$t('variety.select_variety')))])],1)],1)]):(\n !_vm.isFarmAvailableForCrop &&\n !_vm.loadingSeeds &&\n !_vm.loadingChangeFarm &&\n !_vm.loadingVarieties\n )?_c('no-available-variety',{attrs:{\"crop\":_vm.$t(this.currentCrop.messageKey)}}):_vm._e(),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.loadingChangeFarm || _vm.loadingSeeds || _vm.loadingVarieties),expression:\"loadingChangeFarm || loadingSeeds || loadingVarieties\"}],staticClass:\"df-flex-l\"},[_c('div',{staticClass:\"df-col-7 df-col-12-m df-col-12-t df-flex-l df-flex-col\"},[_c('df-skeleton-loader',{attrs:{\"height\":\"102px\"}}),_c('df-skeleton-loader',{attrs:{\"height\":\"384px\"}})],1),_c('div',{staticClass:\"df-col-5\"},[_c('df-skeleton-loader',{attrs:{\"height\":\"100%\"}})],1)])],1)])],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"no-available-variety\"},[_c('div',{staticClass:\"nav__content df-flex-xxl flex-nowrap\"},[_c('img',{staticClass:\"nc__farmer-img\",attrs:{\"alt\":\"farmer-sowing\",\"src\":\"/icons/ic-farmer-sowing.svg\"}}),_c('div',{staticClass:\"df-flex-m df-flex-col justify-center\"},[_c('div',{staticClass:\"df-flex-xs df-flex-col flex-grow-0\"},[_c('h2',[_vm._v(\" \"+_vm._s(_vm.$t('variety.unavailable_create'))+\" \")]),_c('h1',[_vm._v(\" \"+_vm._s(_vm.$t('variety.unavailable_wheat_region_title', [_vm.crop]))+\" \")])]),_c('p',[_vm._v(\" \"+_vm._s(_vm.$t('variety.unavailable_wheat_region_complement', [_vm.crop]))+\" \")])])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NoAvailableVariety.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NoAvailableVariety.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./NoAvailableVariety.vue?vue&type=template&id=66869460&scoped=true\"\nimport script from \"./NoAvailableVariety.vue?vue&type=script&lang=js\"\nexport * from \"./NoAvailableVariety.vue?vue&type=script&lang=js\"\nimport style0 from \"./NoAvailableVariety.vue?vue&type=style&index=0&id=66869460&prod&lang=scss&scoped=true\"\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 \"66869460\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[_c('div',{staticClass:\"header\"},[_c('div',{staticStyle:{\"width\":\"100%\"}},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.seedName),expression:\"seedName\"}],staticClass:\"name\",attrs:{\"placeholder\":_vm.$t('variety.seed_name')},domProps:{\"value\":(_vm.seedName)},on:{\"input\":function($event){if($event.target.composing)return;_vm.seedName=$event.target.value}}}),_c('v-icon',{staticClass:\"inside\",attrs:{\"size\":\"18\",\"color\":\"#5B6459\"}},[_vm._v(\"mdi-magnify\")])],1),_c('div',[_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.sort),expression:\"sort\"}],staticClass:\"sort\",on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.sort=$event.target.multiple ? $$selectedVal : $$selectedVal[0]}}},_vm._l((_vm.sortItems.filter((item) =>\n item.crop.includes(_vm.currentCrop.id)\n )),function(item){return _c('option',{key:item.id,domProps:{\"value\":item.id}},[_vm._v(\" \"+_vm._s(item.title)+\" \")])}),0),_c('v-icon',{staticClass:\"inside\",attrs:{\"size\":\"18\",\"color\":\"#5B6459\"}},[_vm._v(\"mdi-chevron-down\")])],1),_c('filter-modal',{attrs:{\"owner-list\":_vm.ownerList,\"reset\":_vm.filterReset},on:{\"filterUpdate\":_vm.filterUpdate}})],1),(_vm.activeFilter)?_c('div',{staticClass:\"active-filter\"},[_c('div',[_c('p',[_vm._v(_vm._s(_vm.$t('results_for')))]),(_vm.seedName.length)?_c('div',{staticClass:\"d-inline\"},[_c('span',[_vm._v(\" \\\"\"+_vm._s(_vm.seedName)+\"\\\"\")])]):_vm._e(),(_vm.GMRActiveFilter)?_c('div',{staticClass:\"d-inline-block\"},[(_vm.seedName.length)?_c('span',[_vm._v(\",\")]):_vm._e(),_c('b',[_vm._v(\" GMR \")]),_c('span',[_vm._v(\"\\\"\"+_vm._s(_vm.$t('_to_', _vm.GMR))+\"\\\"\")])]):_vm._e(),(_vm.owner.length)?_c('div',{staticClass:\"d-inline\"},[(_vm.seedName.length || _vm.GMRActiveFilter)?_c('span',[_vm._v(\",\")]):_vm._e(),_c('b',{staticClass:\"uppercase\"},[_vm._v(\" \"+_vm._s(_vm.$t('variety.owner')))]),_vm._l((_vm.owner),function(company,idx){return _c('div',{key:company,staticClass:\"d-inline\"},[(_vm.owner.length > 1 && idx != 0)?_c('span',[_vm._v(\",\")]):_vm._e(),_c('span',[_vm._v(\" \\\"\"+_vm._s(company)+\"\\\"\")])])})],2):_vm._e()]),_c('div',[_c('button',{staticClass:\"resetFilter\",on:{\"click\":_vm.resetFilter}},[_vm._v(\" \"+_vm._s(_vm.$t('clean_filter'))+\" \"),_c('v-icon',{attrs:{\"size\":\"18\",\"color\":\"#AAB2A9\"}},[_vm._v(\"mdi-close\")])],1)])]):_c('div',{staticClass:\"active-filter\"},[_c('div',[_c('p',[_vm._v(_vm._s(_vm.$t('variety.list')))])]),_c('div',[(_vm.showing_created)?_c('button',{staticClass:\"hideCreated\",on:{\"click\":_vm.hideCreated}},[_vm._v(\" \"+_vm._s(_vm.$t('variety.hide_created'))+\" \"),_c('v-icon',{attrs:{\"size\":\"18\",\"color\":\"#AAB2A9\"}},[_vm._v(\"mdi-eye-off\")])],1):_c('button',{staticClass:\"hideCreated\",on:{\"click\":_vm.showCreated}},[_vm._v(\" \"+_vm._s(_vm.$t('variety.show_created'))+\" \"),_c('v-icon',{attrs:{\"size\":\"18\",\"color\":\"#AAB2A9\"}},[_vm._v(\"mdi-eye\")])],1)])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('v-dialog',{attrs:{\"width\":\"500\"},scopedSlots:_vm._u([{key:\"activator\",fn:function({ on, attrs }){return [_c('button',_vm._g(_vm._b({staticClass:\"open\"},'button',attrs,false),on),[_c('p',[_vm._v(_vm._s(_vm.$t('filter')))]),_c('v-icon',{attrs:{\"size\":\"18\",\"color\":\"#39AF49\"}},[_vm._v(\"mdi-filter\")])],1)]}}]),model:{value:(_vm.dialog),callback:function ($$v) {_vm.dialog=$$v},expression:\"dialog\"}},[_c('v-card',[_c('v-card-title',[_c('p',[_vm._v(_vm._s(_vm.$t('filter')))]),_c('button',{on:{\"click\":_vm.close}},[_c('v-icon',{attrs:{\"size\":\"18\",\"color\":\"#AAB2A9\"}},[_vm._v(\"mdi-close\")])],1)]),_c('v-card-text',[_c('v-expansion-panels',{attrs:{\"accordion\":\"\",\"flat\":\"\",\"multiple\":\"\"},model:{value:(_vm.panel),callback:function ($$v) {_vm.panel=$$v},expression:\"panel\"}},[(_vm.isSoybean)?_c('v-expansion-panel',[_c('v-expansion-panel-header',[_vm._v(\"GMR\")]),_c('v-expansion-panel-content',[_c('v-range-slider',{attrs:{\"step\":\"1\",\"track-color\":\"#C3D1E9\",\"track-fill-color\":\"#1A2B46\",\"thumb-color\":\"#1A2B46\",\"thumb-label\":\"always\",\"min\":\"0\",\"max\":\"10\"},model:{value:(_vm.GMR),callback:function ($$v) {_vm.GMR=$$v},expression:\"GMR\"}})],1)],1):_vm._e(),_c('v-expansion-panel',{staticClass:\"owner\"},[_c('v-expansion-panel-header',[_vm._v(_vm._s(_vm.$t('variety.owner')))]),_c('v-expansion-panel-content',_vm._l((_vm.ownerList),function(company){return _c('div',{key:company,staticClass:\"ownerList\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.owner),expression:\"owner\"}],attrs:{\"type\":\"checkbox\"},domProps:{\"value\":company,\"checked\":Array.isArray(_vm.owner)?_vm._i(_vm.owner,company)>-1:(_vm.owner)},on:{\"change\":function($event){var $$a=_vm.owner,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=company,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.owner=$$a.concat([$$v]))}else{$$i>-1&&(_vm.owner=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.owner=$$c}}}}),_vm._v(\" \"+_vm._s(company)+\" \")])}),0)],1)],1)],1),_c('v-card-actions',[_c('button',{staticClass:\"close\",on:{\"click\":_vm.close}},[_c('u',[_vm._v(_vm._s(_vm.$t('cancelar')))])]),_c('button',{staticClass:\"apply\",on:{\"click\":_vm.apply}},[_c('p',[_vm._v(_vm._s(_vm.$t('filter')))]),_c('v-icon',{attrs:{\"size\":\"18\",\"color\":\"#FFFFFF\"}},[_vm._v(\"mdi-check-bold\")])],1)])],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FilterModal.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FilterModal.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./FilterModal.vue?vue&type=template&id=1f23a8a2&scoped=true\"\nimport script from \"./FilterModal.vue?vue&type=script&lang=js\"\nexport * from \"./FilterModal.vue?vue&type=script&lang=js\"\nimport style0 from \"./FilterModal.vue?vue&type=style&index=0&id=1f23a8a2&prod&scoped=true&lang=css\"\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 \"1f23a8a2\",\n null\n \n)\n\nexport default component.exports","export const removeSpecialCharacters = (string) => {\n return string\n .replace('Á', 'A')\n .replace('Â', 'A')\n .replace('Ã', 'A')\n .replace('À', 'A')\n .replace('É', 'E')\n .replace('Ê', 'E')\n .replace('Í', 'I')\n .replace('Ó', 'O')\n .replace('Ô', 'O')\n .replace('Õ', 'O')\n .replace('Ú', 'U')\n .replace('Ç', 'C')\n}\n\nexport const isString = (word) => {\n return typeof word === 'string' || word instanceof String\n}\n","\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SortAndFilter.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SortAndFilter.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./SortAndFilter.vue?vue&type=template&id=c04c5594&scoped=true\"\nimport script from \"./SortAndFilter.vue?vue&type=script&lang=js\"\nexport * from \"./SortAndFilter.vue?vue&type=script&lang=js\"\nimport style0 from \"./SortAndFilter.vue?vue&type=style&index=0&id=c04c5594&prod&scoped=true&lang=css\"\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 \"c04c5594\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('df-page-header',{attrs:{\"title\":_vm.$t('menu.cultivares'),\"subtitle\":_vm.$t('menu.planejamento')}})\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./VarietyHeader.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./VarietyHeader.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./VarietyHeader.vue?vue&type=template&id=f496cf62\"\nimport script from \"./VarietyHeader.vue?vue&type=script&lang=js\"\nexport * from \"./VarietyHeader.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","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"df-flex-sm df-flex-col variety-list\"},[_vm._l((_vm.varietiesRender),function(variety,index){return _c('variety-item',{key:index,staticClass:\"df-col-12\",attrs:{\"variety\":variety,\"selected-variety\":_vm.selectedVariety},on:{\"removeVariety\":_vm.removeVariety,\"addVariety\":_vm.addVariety,\"selectVariety\":_vm.selectVariety}})}),(_vm.varieties.length == 0)?_c('div',{staticClass:\"no-result\"},[_c('h1',[_vm._v(_vm._s(_vm.$t('variety.no_result_title')))]),_c('p',[_vm._v(_vm._s(_vm.$t('variety.no_result')))])]):_vm._e(),_c('request-not-cataloged-variety')],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('v-card',{class:{ active: _vm.selectInfo },on:{\"click\":_vm.showInfo}},[_c('div',{staticClass:\"variety\"},[_c('div',{staticClass:\"crop\"},[_c('div',[_c('v-img',{attrs:{\"width\":\"13px\",\"alt\":_vm.cropIcon.alt,\"src\":_vm.cropIcon.src}})],1),_c('p',[_vm._v(\" \"+_vm._s(_vm.$t(_vm.currentCrop.messageKey).toUpperCase())+\" \")])]),_c('div',{staticClass:\"seed\"},[_vm._v(\" \"+_vm._s(_vm.variety.cultivar)+\" \")])]),_c('div',{staticClass:\"right-align\"},[_c('div',{staticClass:\"not-recommended\"},[(_vm.notRecommended)?_c('div',{staticClass:\"chip\"},[_c('v-icon',{attrs:{\"size\":\"14\",\"color\":\"#F23528\"}},[_vm._v(\"mdi-thumb-down\")]),_vm._v(\" \"+_vm._s(_vm.$t('variety.not_recommended').toUpperCase())+\" \")],1):_vm._e()]),_c('div',{staticClass:\"owner\"},[_c('v-icon',{attrs:{\"size\":\"14\",\"color\":\"#AAB2A9\"}},[_vm._v(\"mdi-office-building-outline\")]),_vm._v(\" \"+_vm._s(_vm.variety.asset_owner_name)+\" \")],1),(_vm.isSoybean)?_c('div',{staticClass:\"gmr\"},[_c('v-icon',{attrs:{\"size\":\"14\",\"color\":\"#AAB2A9\"}},[_vm._v(\"mdi-poll\")]),_vm._v(\" \"+_vm._s(_vm.$t('cultivar.gmr'))+\": \"+_vm._s(_vm.variety.grupo)+\" \")],1):_vm._e()]),(!_vm.disabled)?_c('div',{staticClass:\"options\"},[(_vm.varietyAdded)?_c('v-btn',{staticClass:\"remove\",attrs:{\"depressed\":\"\",\"loading\":_vm.loading},on:{\"click\":function($event){$event.stopPropagation();return _vm.remove()}}},[_c('v-icon',{attrs:{\"color\":\"#788476\",\"size\":\"18\"}},[_vm._v(\" mdi-delete \")])],1):_c('v-btn',{staticClass:\"add\",attrs:{\"depressed\":\"\",\"loading\":_vm.loading},on:{\"click\":function($event){$event.stopPropagation();return _vm.add()}}},[_c('v-icon',{attrs:{\"color\":\"#39AF49\",\"size\":\"18\"}},[_vm._v(\" mdi-plus \")])],1)],1):_vm._e()])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./VarietyItem.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./VarietyItem.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./VarietyItem.vue?vue&type=template&id=e597d454&scoped=true\"\nimport script from \"./VarietyItem.vue?vue&type=script&lang=js\"\nexport * from \"./VarietyItem.vue?vue&type=script&lang=js\"\nimport style0 from \"./VarietyItem.vue?vue&type=style&index=0&id=e597d454&prod&lang=scss&scoped=true\"\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 \"e597d454\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('v-dialog',{scopedSlots:_vm._u([{key:\"activator\",fn:function({ on, attrs }){return [_c('button',_vm._g(_vm._b({staticClass:\"notCataloged\"},'button',attrs,false),on),[_c('p',[_vm._v(_vm._s(_vm.$t('variety.request_not_catologed_variety')))]),_c('v-icon',{attrs:{\"size\":\"18\",\"color\":\"#39AF49\"}},[_vm._v(\"mdi-send\")])],1)]}}]),model:{value:(_vm.dialog),callback:function ($$v) {_vm.dialog=$$v},expression:\"dialog\"}},[_c('v-card',[_c('v-card-title',[_c('p',[_vm._v(_vm._s(_vm.$t('variety.request_variety')))]),_c('button',{on:{\"click\":_vm.close}},[_c('v-icon',{attrs:{\"size\":\"18\",\"color\":\"#AAB2A9\"}},[_vm._v(\"mdi-close\")])],1)]),_c('v-card-text',[_c('v-text-field',{attrs:{\"loading\":_vm.loading,\"label\":_vm.$t('variety.not_cataloged_variety')},model:{value:(_vm.variety),callback:function ($$v) {_vm.variety=$$v},expression:\"variety\"}})],1),_c('v-card-actions',[_c('button',{staticClass:\"close\",on:{\"click\":_vm.close}},[_c('u',[_vm._v(_vm._s(_vm.$t('cancelar')))])]),_c('button',{staticClass:\"submit\",on:{\"click\":_vm.submit}},[_c('p',[_vm._v(_vm._s(_vm.$t('enviar')))]),_c('v-icon',{attrs:{\"size\":\"18\",\"color\":\"#FFFFFF\"}},[_vm._v(\"mdi-check-bold\")])],1)])],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RequestNotCatalogedVariety.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RequestNotCatalogedVariety.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./RequestNotCatalogedVariety.vue?vue&type=template&id=19c42136&scoped=true\"\nimport script from \"./RequestNotCatalogedVariety.vue?vue&type=script&lang=js\"\nexport * from \"./RequestNotCatalogedVariety.vue?vue&type=script&lang=js\"\nimport style0 from \"./RequestNotCatalogedVariety.vue?vue&type=style&index=0&id=19c42136&prod&scoped=true&lang=css\"\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 \"19c42136\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./VarietyList.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./VarietyList.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./VarietyList.vue?vue&type=template&id=190ab2ef&scoped=true\"\nimport script from \"./VarietyList.vue?vue&type=script&lang=js\"\nexport * from \"./VarietyList.vue?vue&type=script&lang=js\"\nimport style0 from \"./VarietyList.vue?vue&type=style&index=0&id=190ab2ef&prod&scoped=true&lang=css\"\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 \"190ab2ef\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./VarietyHome.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./VarietyHome.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./VarietyHome.vue?vue&type=template&id=17490abe&scoped=true\"\nimport script from \"./VarietyHome.vue?vue&type=script&lang=js\"\nexport * from \"./VarietyHome.vue?vue&type=script&lang=js\"\nimport style0 from \"./VarietyHome.vue?vue&type=style&index=0&id=17490abe&prod&lang=scss&scoped=true\"\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 \"17490abe\",\n null\n \n)\n\nexport default component.exports","// Types\nimport Vue, { VNode } from 'vue'\n\nexport default function VGrid (name: string) {\n /* @vue/component */\n return Vue.extend({\n name: `v-${name}`,\n\n functional: true,\n\n props: {\n id: String,\n tag: {\n type: String,\n default: 'div',\n },\n },\n\n render (h, { props, data, children }): VNode {\n data.staticClass = (`${name} ${data.staticClass || ''}`).trim()\n\n const { attrs } = data\n if (attrs) {\n // reset attrs to extract utility clases like pa-3\n data.attrs = {}\n const classes = Object.keys(attrs).filter(key => {\n // TODO: Remove once resolved\n // https://github.com/vuejs/vue/issues/7841\n if (key === 'slot') return false\n\n const value = attrs[key]\n\n // add back data attributes like data-test=\"foo\" but do not\n // add them as classes\n if (key.startsWith('data-')) {\n data.attrs![key] = value\n return false\n }\n\n return value || typeof value === 'string'\n })\n\n if (classes.length) data.staticClass += ` ${classes.join(' ')}`\n }\n\n if (props.id) {\n data.domProps = data.domProps || {}\n data.domProps.id = props.id\n }\n\n return h(props.tag, data, children)\n },\n })\n}\n","import './_grid.sass'\nimport './VGrid.sass'\n\nimport Grid from './grid'\n\nimport mergeData from '../../util/mergeData'\n\n/* @vue/component */\nexport default Grid('container').extend({\n name: 'v-container',\n functional: true,\n props: {\n id: String,\n tag: {\n type: String,\n default: 'div',\n },\n fluid: {\n type: Boolean,\n default: false,\n },\n },\n render (h, { props, data, children }) {\n let classes\n const { attrs } = data\n if (attrs) {\n // reset attrs to extract utility clases like pa-3\n data.attrs = {}\n classes = Object.keys(attrs).filter(key => {\n // TODO: Remove once resolved\n // https://github.com/vuejs/vue/issues/7841\n if (key === 'slot') return false\n\n const value = attrs[key]\n\n // add back data attributes like data-test=\"foo\" but do not\n // add them as classes\n if (key.startsWith('data-')) {\n data.attrs![key] = value\n return false\n }\n\n return value || typeof value === 'string'\n })\n }\n\n if (props.id) {\n data.domProps = data.domProps || {}\n data.domProps.id = props.id\n }\n\n return h(\n props.tag,\n mergeData(data, {\n staticClass: 'container',\n class: Array({\n 'container--fluid': props.fluid,\n }).concat(classes || []),\n }),\n children\n )\n },\n})\n","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DiseasesNames.vue?vue&type=style&index=0&id=0a3a51d9&prod&scoped=true&lang=css\"","/*!\n * chartjs-plugin-datalabels v0.7.0\n * https://chartjs-plugin-datalabels.netlify.com\n * (c) 2019 Chart.js Contributors\n * Released under the MIT license\n */\n(function (global, factory) {\ntypeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('chart.js')) :\ntypeof define === 'function' && define.amd ? define(['chart.js'], factory) :\n(global = global || self, global.ChartDataLabels = factory(global.Chart));\n}(this, function (Chart) { 'use strict';\n\nChart = Chart && Chart.hasOwnProperty('default') ? Chart['default'] : Chart;\n\nvar helpers = Chart.helpers;\n\nvar devicePixelRatio = (function() {\n\tif (typeof window !== 'undefined') {\n\t\tif (window.devicePixelRatio) {\n\t\t\treturn window.devicePixelRatio;\n\t\t}\n\n\t\t// devicePixelRatio is undefined on IE10\n\t\t// https://stackoverflow.com/a/20204180/8837887\n\t\t// https://github.com/chartjs/chartjs-plugin-datalabels/issues/85\n\t\tvar screen = window.screen;\n\t\tif (screen) {\n\t\t\treturn (screen.deviceXDPI || 1) / (screen.logicalXDPI || 1);\n\t\t}\n\t}\n\n\treturn 1;\n}());\n\nvar utils = {\n\t// @todo move this in Chart.helpers.toTextLines\n\ttoTextLines: function(inputs) {\n\t\tvar lines = [];\n\t\tvar input;\n\n\t\tinputs = [].concat(inputs);\n\t\twhile (inputs.length) {\n\t\t\tinput = inputs.pop();\n\t\t\tif (typeof input === 'string') {\n\t\t\t\tlines.unshift.apply(lines, input.split('\\n'));\n\t\t\t} else if (Array.isArray(input)) {\n\t\t\t\tinputs.push.apply(inputs, input);\n\t\t\t} else if (!helpers.isNullOrUndef(inputs)) {\n\t\t\t\tlines.unshift('' + input);\n\t\t\t}\n\t\t}\n\n\t\treturn lines;\n\t},\n\n\t// @todo move this method in Chart.helpers.canvas.toFont (deprecates helpers.fontString)\n\t// @see https://developer.mozilla.org/en-US/docs/Web/CSS/font\n\ttoFontString: function(font) {\n\t\tif (!font || helpers.isNullOrUndef(font.size) || helpers.isNullOrUndef(font.family)) {\n\t\t\treturn null;\n\t\t}\n\n\t\treturn (font.style ? font.style + ' ' : '')\n\t\t\t+ (font.weight ? font.weight + ' ' : '')\n\t\t\t+ font.size + 'px '\n\t\t\t+ font.family;\n\t},\n\n\t// @todo move this in Chart.helpers.canvas.textSize\n\t// @todo cache calls of measureText if font doesn't change?!\n\ttextSize: function(ctx, lines, font) {\n\t\tvar items = [].concat(lines);\n\t\tvar ilen = items.length;\n\t\tvar prev = ctx.font;\n\t\tvar width = 0;\n\t\tvar i;\n\n\t\tctx.font = font.string;\n\n\t\tfor (i = 0; i < ilen; ++i) {\n\t\t\twidth = Math.max(ctx.measureText(items[i]).width, width);\n\t\t}\n\n\t\tctx.font = prev;\n\n\t\treturn {\n\t\t\theight: ilen * font.lineHeight,\n\t\t\twidth: width\n\t\t};\n\t},\n\n\t// @todo move this method in Chart.helpers.options.toFont\n\tparseFont: function(value) {\n\t\tvar global = Chart.defaults.global;\n\t\tvar size = helpers.valueOrDefault(value.size, global.defaultFontSize);\n\t\tvar font = {\n\t\t\tfamily: helpers.valueOrDefault(value.family, global.defaultFontFamily),\n\t\t\tlineHeight: helpers.options.toLineHeight(value.lineHeight, size),\n\t\t\tsize: size,\n\t\t\tstyle: helpers.valueOrDefault(value.style, global.defaultFontStyle),\n\t\t\tweight: helpers.valueOrDefault(value.weight, null),\n\t\t\tstring: ''\n\t\t};\n\n\t\tfont.string = utils.toFontString(font);\n\t\treturn font;\n\t},\n\n\t/**\n\t * Returns value bounded by min and max. This is equivalent to max(min, min(value, max)).\n\t * @todo move this method in Chart.helpers.bound\n\t * https://doc.qt.io/qt-5/qtglobal.html#qBound\n\t */\n\tbound: function(min, value, max) {\n\t\treturn Math.max(min, Math.min(value, max));\n\t},\n\n\t/**\n\t * Returns an array of pair [value, state] where state is:\n\t * * -1: value is only in a0 (removed)\n\t * * 1: value is only in a1 (added)\n\t */\n\tarrayDiff: function(a0, a1) {\n\t\tvar prev = a0.slice();\n\t\tvar updates = [];\n\t\tvar i, j, ilen, v;\n\n\t\tfor (i = 0, ilen = a1.length; i < ilen; ++i) {\n\t\t\tv = a1[i];\n\t\t\tj = prev.indexOf(v);\n\n\t\t\tif (j === -1) {\n\t\t\t\tupdates.push([v, 1]);\n\t\t\t} else {\n\t\t\t\tprev.splice(j, 1);\n\t\t\t}\n\t\t}\n\n\t\tfor (i = 0, ilen = prev.length; i < ilen; ++i) {\n\t\t\tupdates.push([prev[i], -1]);\n\t\t}\n\n\t\treturn updates;\n\t},\n\n\t/**\n\t * https://github.com/chartjs/chartjs-plugin-datalabels/issues/70\n\t */\n\trasterize: function(v) {\n\t\treturn Math.round(v * devicePixelRatio) / devicePixelRatio;\n\t}\n};\n\nfunction orient(point, origin) {\n\tvar x0 = origin.x;\n\tvar y0 = origin.y;\n\n\tif (x0 === null) {\n\t\treturn {x: 0, y: -1};\n\t}\n\tif (y0 === null) {\n\t\treturn {x: 1, y: 0};\n\t}\n\n\tvar dx = point.x - x0;\n\tvar dy = point.y - y0;\n\tvar ln = Math.sqrt(dx * dx + dy * dy);\n\n\treturn {\n\t\tx: ln ? dx / ln : 0,\n\t\ty: ln ? dy / ln : -1\n\t};\n}\n\nfunction aligned(x, y, vx, vy, align) {\n\tswitch (align) {\n\tcase 'center':\n\t\tvx = vy = 0;\n\t\tbreak;\n\tcase 'bottom':\n\t\tvx = 0;\n\t\tvy = 1;\n\t\tbreak;\n\tcase 'right':\n\t\tvx = 1;\n\t\tvy = 0;\n\t\tbreak;\n\tcase 'left':\n\t\tvx = -1;\n\t\tvy = 0;\n\t\tbreak;\n\tcase 'top':\n\t\tvx = 0;\n\t\tvy = -1;\n\t\tbreak;\n\tcase 'start':\n\t\tvx = -vx;\n\t\tvy = -vy;\n\t\tbreak;\n\tcase 'end':\n\t\t// keep natural orientation\n\t\tbreak;\n\tdefault:\n\t\t// clockwise rotation (in degree)\n\t\talign *= (Math.PI / 180);\n\t\tvx = Math.cos(align);\n\t\tvy = Math.sin(align);\n\t\tbreak;\n\t}\n\n\treturn {\n\t\tx: x,\n\t\ty: y,\n\t\tvx: vx,\n\t\tvy: vy\n\t};\n}\n\n// Line clipping (Cohen–Sutherland algorithm)\n// https://en.wikipedia.org/wiki/Cohen–Sutherland_algorithm\n\nvar R_INSIDE = 0;\nvar R_LEFT = 1;\nvar R_RIGHT = 2;\nvar R_BOTTOM = 4;\nvar R_TOP = 8;\n\nfunction region(x, y, rect) {\n\tvar res = R_INSIDE;\n\n\tif (x < rect.left) {\n\t\tres |= R_LEFT;\n\t} else if (x > rect.right) {\n\t\tres |= R_RIGHT;\n\t}\n\tif (y < rect.top) {\n\t\tres |= R_TOP;\n\t} else if (y > rect.bottom) {\n\t\tres |= R_BOTTOM;\n\t}\n\n\treturn res;\n}\n\nfunction clipped(segment, area) {\n\tvar x0 = segment.x0;\n\tvar y0 = segment.y0;\n\tvar x1 = segment.x1;\n\tvar y1 = segment.y1;\n\tvar r0 = region(x0, y0, area);\n\tvar r1 = region(x1, y1, area);\n\tvar r, x, y;\n\n\t// eslint-disable-next-line no-constant-condition\n\twhile (true) {\n\t\tif (!(r0 | r1) || (r0 & r1)) {\n\t\t\t// both points inside or on the same side: no clipping\n\t\t\tbreak;\n\t\t}\n\n\t\t// at least one point is outside\n\t\tr = r0 || r1;\n\n\t\tif (r & R_TOP) {\n\t\t\tx = x0 + (x1 - x0) * (area.top - y0) / (y1 - y0);\n\t\t\ty = area.top;\n\t\t} else if (r & R_BOTTOM) {\n\t\t\tx = x0 + (x1 - x0) * (area.bottom - y0) / (y1 - y0);\n\t\t\ty = area.bottom;\n\t\t} else if (r & R_RIGHT) {\n\t\t\ty = y0 + (y1 - y0) * (area.right - x0) / (x1 - x0);\n\t\t\tx = area.right;\n\t\t} else if (r & R_LEFT) {\n\t\t\ty = y0 + (y1 - y0) * (area.left - x0) / (x1 - x0);\n\t\t\tx = area.left;\n\t\t}\n\n\t\tif (r === r0) {\n\t\t\tx0 = x;\n\t\t\ty0 = y;\n\t\t\tr0 = region(x0, y0, area);\n\t\t} else {\n\t\t\tx1 = x;\n\t\t\ty1 = y;\n\t\t\tr1 = region(x1, y1, area);\n\t\t}\n\t}\n\n\treturn {\n\t\tx0: x0,\n\t\tx1: x1,\n\t\ty0: y0,\n\t\ty1: y1\n\t};\n}\n\nfunction compute(range, config) {\n\tvar anchor = config.anchor;\n\tvar segment = range;\n\tvar x, y;\n\n\tif (config.clamp) {\n\t\tsegment = clipped(segment, config.area);\n\t}\n\n\tif (anchor === 'start') {\n\t\tx = segment.x0;\n\t\ty = segment.y0;\n\t} else if (anchor === 'end') {\n\t\tx = segment.x1;\n\t\ty = segment.y1;\n\t} else {\n\t\tx = (segment.x0 + segment.x1) / 2;\n\t\ty = (segment.y0 + segment.y1) / 2;\n\t}\n\n\treturn aligned(x, y, range.vx, range.vy, config.align);\n}\n\nvar positioners = {\n\tarc: function(vm, config) {\n\t\tvar angle = (vm.startAngle + vm.endAngle) / 2;\n\t\tvar vx = Math.cos(angle);\n\t\tvar vy = Math.sin(angle);\n\t\tvar r0 = vm.innerRadius;\n\t\tvar r1 = vm.outerRadius;\n\n\t\treturn compute({\n\t\t\tx0: vm.x + vx * r0,\n\t\t\ty0: vm.y + vy * r0,\n\t\t\tx1: vm.x + vx * r1,\n\t\t\ty1: vm.y + vy * r1,\n\t\t\tvx: vx,\n\t\t\tvy: vy\n\t\t}, config);\n\t},\n\n\tpoint: function(vm, config) {\n\t\tvar v = orient(vm, config.origin);\n\t\tvar rx = v.x * vm.radius;\n\t\tvar ry = v.y * vm.radius;\n\n\t\treturn compute({\n\t\t\tx0: vm.x - rx,\n\t\t\ty0: vm.y - ry,\n\t\t\tx1: vm.x + rx,\n\t\t\ty1: vm.y + ry,\n\t\t\tvx: v.x,\n\t\t\tvy: v.y\n\t\t}, config);\n\t},\n\n\trect: function(vm, config) {\n\t\tvar v = orient(vm, config.origin);\n\t\tvar x = vm.x;\n\t\tvar y = vm.y;\n\t\tvar sx = 0;\n\t\tvar sy = 0;\n\n\t\tif (vm.horizontal) {\n\t\t\tx = Math.min(vm.x, vm.base);\n\t\t\tsx = Math.abs(vm.base - vm.x);\n\t\t} else {\n\t\t\ty = Math.min(vm.y, vm.base);\n\t\t\tsy = Math.abs(vm.base - vm.y);\n\t\t}\n\n\t\treturn compute({\n\t\t\tx0: x,\n\t\t\ty0: y + sy,\n\t\t\tx1: x + sx,\n\t\t\ty1: y,\n\t\t\tvx: v.x,\n\t\t\tvy: v.y\n\t\t}, config);\n\t},\n\n\tfallback: function(vm, config) {\n\t\tvar v = orient(vm, config.origin);\n\n\t\treturn compute({\n\t\t\tx0: vm.x,\n\t\t\ty0: vm.y,\n\t\t\tx1: vm.x,\n\t\t\ty1: vm.y,\n\t\t\tvx: v.x,\n\t\t\tvy: v.y\n\t\t}, config);\n\t}\n};\n\nvar helpers$1 = Chart.helpers;\nvar rasterize = utils.rasterize;\n\nfunction boundingRects(model) {\n\tvar borderWidth = model.borderWidth || 0;\n\tvar padding = model.padding;\n\tvar th = model.size.height;\n\tvar tw = model.size.width;\n\tvar tx = -tw / 2;\n\tvar ty = -th / 2;\n\n\treturn {\n\t\tframe: {\n\t\t\tx: tx - padding.left - borderWidth,\n\t\t\ty: ty - padding.top - borderWidth,\n\t\t\tw: tw + padding.width + borderWidth * 2,\n\t\t\th: th + padding.height + borderWidth * 2\n\t\t},\n\t\ttext: {\n\t\t\tx: tx,\n\t\t\ty: ty,\n\t\t\tw: tw,\n\t\t\th: th\n\t\t}\n\t};\n}\n\nfunction getScaleOrigin(el) {\n\tvar horizontal = el._model.horizontal;\n\tvar scale = el._scale || (horizontal && el._xScale) || el._yScale;\n\n\tif (!scale) {\n\t\treturn null;\n\t}\n\n\tif (scale.xCenter !== undefined && scale.yCenter !== undefined) {\n\t\treturn {x: scale.xCenter, y: scale.yCenter};\n\t}\n\n\tvar pixel = scale.getBasePixel();\n\treturn horizontal ?\n\t\t{x: pixel, y: null} :\n\t\t{x: null, y: pixel};\n}\n\nfunction getPositioner(el) {\n\tif (el instanceof Chart.elements.Arc) {\n\t\treturn positioners.arc;\n\t}\n\tif (el instanceof Chart.elements.Point) {\n\t\treturn positioners.point;\n\t}\n\tif (el instanceof Chart.elements.Rectangle) {\n\t\treturn positioners.rect;\n\t}\n\treturn positioners.fallback;\n}\n\nfunction drawFrame(ctx, rect, model) {\n\tvar bgColor = model.backgroundColor;\n\tvar borderColor = model.borderColor;\n\tvar borderWidth = model.borderWidth;\n\n\tif (!bgColor && (!borderColor || !borderWidth)) {\n\t\treturn;\n\t}\n\n\tctx.beginPath();\n\n\thelpers$1.canvas.roundedRect(\n\t\tctx,\n\t\trasterize(rect.x) + borderWidth / 2,\n\t\trasterize(rect.y) + borderWidth / 2,\n\t\trasterize(rect.w) - borderWidth,\n\t\trasterize(rect.h) - borderWidth,\n\t\tmodel.borderRadius);\n\n\tctx.closePath();\n\n\tif (bgColor) {\n\t\tctx.fillStyle = bgColor;\n\t\tctx.fill();\n\t}\n\n\tif (borderColor && borderWidth) {\n\t\tctx.strokeStyle = borderColor;\n\t\tctx.lineWidth = borderWidth;\n\t\tctx.lineJoin = 'miter';\n\t\tctx.stroke();\n\t}\n}\n\nfunction textGeometry(rect, align, font) {\n\tvar h = font.lineHeight;\n\tvar w = rect.w;\n\tvar x = rect.x;\n\tvar y = rect.y + h / 2;\n\n\tif (align === 'center') {\n\t\tx += w / 2;\n\t} else if (align === 'end' || align === 'right') {\n\t\tx += w;\n\t}\n\n\treturn {\n\t\th: h,\n\t\tw: w,\n\t\tx: x,\n\t\ty: y\n\t};\n}\n\nfunction drawTextLine(ctx, text, cfg) {\n\tvar shadow = ctx.shadowBlur;\n\tvar stroked = cfg.stroked;\n\tvar x = rasterize(cfg.x);\n\tvar y = rasterize(cfg.y);\n\tvar w = rasterize(cfg.w);\n\n\tif (stroked) {\n\t\tctx.strokeText(text, x, y, w);\n\t}\n\n\tif (cfg.filled) {\n\t\tif (shadow && stroked) {\n\t\t\t// Prevent drawing shadow on both the text stroke and fill, so\n\t\t\t// if the text is stroked, remove the shadow for the text fill.\n\t\t\tctx.shadowBlur = 0;\n\t\t}\n\n\t\tctx.fillText(text, x, y, w);\n\n\t\tif (shadow && stroked) {\n\t\t\tctx.shadowBlur = shadow;\n\t\t}\n\t}\n}\n\nfunction drawText(ctx, lines, rect, model) {\n\tvar align = model.textAlign;\n\tvar color = model.color;\n\tvar filled = !!color;\n\tvar font = model.font;\n\tvar ilen = lines.length;\n\tvar strokeColor = model.textStrokeColor;\n\tvar strokeWidth = model.textStrokeWidth;\n\tvar stroked = strokeColor && strokeWidth;\n\tvar i;\n\n\tif (!ilen || (!filled && !stroked)) {\n\t\treturn;\n\t}\n\n\t// Adjust coordinates based on text alignment and line height\n\trect = textGeometry(rect, align, font);\n\n\tctx.font = font.string;\n\tctx.textAlign = align;\n\tctx.textBaseline = 'middle';\n\tctx.shadowBlur = model.textShadowBlur;\n\tctx.shadowColor = model.textShadowColor;\n\n\tif (filled) {\n\t\tctx.fillStyle = color;\n\t}\n\tif (stroked) {\n\t\tctx.lineJoin = 'round';\n\t\tctx.lineWidth = strokeWidth;\n\t\tctx.strokeStyle = strokeColor;\n\t}\n\n\tfor (i = 0, ilen = lines.length; i < ilen; ++i) {\n\t\tdrawTextLine(ctx, lines[i], {\n\t\t\tstroked: stroked,\n\t\t\tfilled: filled,\n\t\t\tw: rect.w,\n\t\t\tx: rect.x,\n\t\t\ty: rect.y + rect.h * i\n\t\t});\n\t}\n}\n\nvar Label = function(config, ctx, el, index) {\n\tvar me = this;\n\n\tme._config = config;\n\tme._index = index;\n\tme._model = null;\n\tme._rects = null;\n\tme._ctx = ctx;\n\tme._el = el;\n};\n\nhelpers$1.extend(Label.prototype, {\n\t/**\n\t * @private\n\t */\n\t_modelize: function(display, lines, config, context) {\n\t\tvar me = this;\n\t\tvar index = me._index;\n\t\tvar resolve = helpers$1.options.resolve;\n\t\tvar font = utils.parseFont(resolve([config.font, {}], context, index));\n\t\tvar color = resolve([config.color, Chart.defaults.global.defaultFontColor], context, index);\n\n\t\treturn {\n\t\t\talign: resolve([config.align, 'center'], context, index),\n\t\t\tanchor: resolve([config.anchor, 'center'], context, index),\n\t\t\tarea: context.chart.chartArea,\n\t\t\tbackgroundColor: resolve([config.backgroundColor, null], context, index),\n\t\t\tborderColor: resolve([config.borderColor, null], context, index),\n\t\t\tborderRadius: resolve([config.borderRadius, 0], context, index),\n\t\t\tborderWidth: resolve([config.borderWidth, 0], context, index),\n\t\t\tclamp: resolve([config.clamp, false], context, index),\n\t\t\tclip: resolve([config.clip, false], context, index),\n\t\t\tcolor: color,\n\t\t\tdisplay: display,\n\t\t\tfont: font,\n\t\t\tlines: lines,\n\t\t\toffset: resolve([config.offset, 0], context, index),\n\t\t\topacity: resolve([config.opacity, 1], context, index),\n\t\t\torigin: getScaleOrigin(me._el),\n\t\t\tpadding: helpers$1.options.toPadding(resolve([config.padding, 0], context, index)),\n\t\t\tpositioner: getPositioner(me._el),\n\t\t\trotation: resolve([config.rotation, 0], context, index) * (Math.PI / 180),\n\t\t\tsize: utils.textSize(me._ctx, lines, font),\n\t\t\ttextAlign: resolve([config.textAlign, 'start'], context, index),\n\t\t\ttextShadowBlur: resolve([config.textShadowBlur, 0], context, index),\n\t\t\ttextShadowColor: resolve([config.textShadowColor, color], context, index),\n\t\t\ttextStrokeColor: resolve([config.textStrokeColor, color], context, index),\n\t\t\ttextStrokeWidth: resolve([config.textStrokeWidth, 0], context, index)\n\t\t};\n\t},\n\n\tupdate: function(context) {\n\t\tvar me = this;\n\t\tvar model = null;\n\t\tvar rects = null;\n\t\tvar index = me._index;\n\t\tvar config = me._config;\n\t\tvar value, label, lines;\n\n\t\t// We first resolve the display option (separately) to avoid computing\n\t\t// other options in case the label is hidden (i.e. display: false).\n\t\tvar display = helpers$1.options.resolve([config.display, true], context, index);\n\n\t\tif (display) {\n\t\t\tvalue = context.dataset.data[index];\n\t\t\tlabel = helpers$1.valueOrDefault(helpers$1.callback(config.formatter, [value, context]), value);\n\t\t\tlines = helpers$1.isNullOrUndef(label) ? [] : utils.toTextLines(label);\n\n\t\t\tif (lines.length) {\n\t\t\t\tmodel = me._modelize(display, lines, config, context);\n\t\t\t\trects = boundingRects(model);\n\t\t\t}\n\t\t}\n\n\t\tme._model = model;\n\t\tme._rects = rects;\n\t},\n\n\tgeometry: function() {\n\t\treturn this._rects ? this._rects.frame : {};\n\t},\n\n\trotation: function() {\n\t\treturn this._model ? this._model.rotation : 0;\n\t},\n\n\tvisible: function() {\n\t\treturn this._model && this._model.opacity;\n\t},\n\n\tmodel: function() {\n\t\treturn this._model;\n\t},\n\n\tdraw: function(chart, center) {\n\t\tvar me = this;\n\t\tvar ctx = chart.ctx;\n\t\tvar model = me._model;\n\t\tvar rects = me._rects;\n\t\tvar area;\n\n\t\tif (!this.visible()) {\n\t\t\treturn;\n\t\t}\n\n\t\tctx.save();\n\n\t\tif (model.clip) {\n\t\t\tarea = model.area;\n\t\t\tctx.beginPath();\n\t\t\tctx.rect(\n\t\t\t\tarea.left,\n\t\t\t\tarea.top,\n\t\t\t\tarea.right - area.left,\n\t\t\t\tarea.bottom - area.top);\n\t\t\tctx.clip();\n\t\t}\n\n\t\tctx.globalAlpha = utils.bound(0, model.opacity, 1);\n\t\tctx.translate(rasterize(center.x), rasterize(center.y));\n\t\tctx.rotate(model.rotation);\n\n\t\tdrawFrame(ctx, rects.frame, model);\n\t\tdrawText(ctx, model.lines, rects.text, model);\n\n\t\tctx.restore();\n\t}\n});\n\nvar helpers$2 = Chart.helpers;\n\nvar MIN_INTEGER = Number.MIN_SAFE_INTEGER || -9007199254740991; // eslint-disable-line es/no-number-minsafeinteger\nvar MAX_INTEGER = Number.MAX_SAFE_INTEGER || 9007199254740991; // eslint-disable-line es/no-number-maxsafeinteger\n\nfunction rotated(point, center, angle) {\n\tvar cos = Math.cos(angle);\n\tvar sin = Math.sin(angle);\n\tvar cx = center.x;\n\tvar cy = center.y;\n\n\treturn {\n\t\tx: cx + cos * (point.x - cx) - sin * (point.y - cy),\n\t\ty: cy + sin * (point.x - cx) + cos * (point.y - cy)\n\t};\n}\n\nfunction projected(points, axis) {\n\tvar min = MAX_INTEGER;\n\tvar max = MIN_INTEGER;\n\tvar origin = axis.origin;\n\tvar i, pt, vx, vy, dp;\n\n\tfor (i = 0; i < points.length; ++i) {\n\t\tpt = points[i];\n\t\tvx = pt.x - origin.x;\n\t\tvy = pt.y - origin.y;\n\t\tdp = axis.vx * vx + axis.vy * vy;\n\t\tmin = Math.min(min, dp);\n\t\tmax = Math.max(max, dp);\n\t}\n\n\treturn {\n\t\tmin: min,\n\t\tmax: max\n\t};\n}\n\nfunction toAxis(p0, p1) {\n\tvar vx = p1.x - p0.x;\n\tvar vy = p1.y - p0.y;\n\tvar ln = Math.sqrt(vx * vx + vy * vy);\n\n\treturn {\n\t\tvx: (p1.x - p0.x) / ln,\n\t\tvy: (p1.y - p0.y) / ln,\n\t\torigin: p0,\n\t\tln: ln\n\t};\n}\n\nvar HitBox = function() {\n\tthis._rotation = 0;\n\tthis._rect = {\n\t\tx: 0,\n\t\ty: 0,\n\t\tw: 0,\n\t\th: 0\n\t};\n};\n\nhelpers$2.extend(HitBox.prototype, {\n\tcenter: function() {\n\t\tvar r = this._rect;\n\t\treturn {\n\t\t\tx: r.x + r.w / 2,\n\t\t\ty: r.y + r.h / 2\n\t\t};\n\t},\n\n\tupdate: function(center, rect, rotation) {\n\t\tthis._rotation = rotation;\n\t\tthis._rect = {\n\t\t\tx: rect.x + center.x,\n\t\t\ty: rect.y + center.y,\n\t\t\tw: rect.w,\n\t\t\th: rect.h\n\t\t};\n\t},\n\n\tcontains: function(point) {\n\t\tvar me = this;\n\t\tvar margin = 1;\n\t\tvar rect = me._rect;\n\n\t\tpoint = rotated(point, me.center(), -me._rotation);\n\n\t\treturn !(point.x < rect.x - margin\n\t\t\t|| point.y < rect.y - margin\n\t\t\t|| point.x > rect.x + rect.w + margin * 2\n\t\t\t|| point.y > rect.y + rect.h + margin * 2);\n\t},\n\n\t// Separating Axis Theorem\n\t// https://gamedevelopment.tutsplus.com/tutorials/collision-detection-using-the-separating-axis-theorem--gamedev-169\n\tintersects: function(other) {\n\t\tvar r0 = this._points();\n\t\tvar r1 = other._points();\n\t\tvar axes = [\n\t\t\ttoAxis(r0[0], r0[1]),\n\t\t\ttoAxis(r0[0], r0[3])\n\t\t];\n\t\tvar i, pr0, pr1;\n\n\t\tif (this._rotation !== other._rotation) {\n\t\t\t// Only separate with r1 axis if the rotation is different,\n\t\t\t// else it's enough to separate r0 and r1 with r0 axis only!\n\t\t\taxes.push(\n\t\t\t\ttoAxis(r1[0], r1[1]),\n\t\t\t\ttoAxis(r1[0], r1[3])\n\t\t\t);\n\t\t}\n\n\t\tfor (i = 0; i < axes.length; ++i) {\n\t\t\tpr0 = projected(r0, axes[i]);\n\t\t\tpr1 = projected(r1, axes[i]);\n\n\t\t\tif (pr0.max < pr1.min || pr1.max < pr0.min) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\n\t\treturn true;\n\t},\n\n\t/**\n\t * @private\n\t */\n\t_points: function() {\n\t\tvar me = this;\n\t\tvar rect = me._rect;\n\t\tvar angle = me._rotation;\n\t\tvar center = me.center();\n\n\t\treturn [\n\t\t\trotated({x: rect.x, y: rect.y}, center, angle),\n\t\t\trotated({x: rect.x + rect.w, y: rect.y}, center, angle),\n\t\t\trotated({x: rect.x + rect.w, y: rect.y + rect.h}, center, angle),\n\t\t\trotated({x: rect.x, y: rect.y + rect.h}, center, angle)\n\t\t];\n\t}\n});\n\nfunction coordinates(view, model, geometry) {\n\tvar point = model.positioner(view, model);\n\tvar vx = point.vx;\n\tvar vy = point.vy;\n\n\tif (!vx && !vy) {\n\t\t// if aligned center, we don't want to offset the center point\n\t\treturn {x: point.x, y: point.y};\n\t}\n\n\tvar w = geometry.w;\n\tvar h = geometry.h;\n\n\t// take in account the label rotation\n\tvar rotation = model.rotation;\n\tvar dx = Math.abs(w / 2 * Math.cos(rotation)) + Math.abs(h / 2 * Math.sin(rotation));\n\tvar dy = Math.abs(w / 2 * Math.sin(rotation)) + Math.abs(h / 2 * Math.cos(rotation));\n\n\t// scale the unit vector (vx, vy) to get at least dx or dy equal to\n\t// w or h respectively (else we would calculate the distance to the\n\t// ellipse inscribed in the bounding rect)\n\tvar vs = 1 / Math.max(Math.abs(vx), Math.abs(vy));\n\tdx *= vx * vs;\n\tdy *= vy * vs;\n\n\t// finally, include the explicit offset\n\tdx += model.offset * vx;\n\tdy += model.offset * vy;\n\n\treturn {\n\t\tx: point.x + dx,\n\t\ty: point.y + dy\n\t};\n}\n\nfunction collide(labels, collider) {\n\tvar i, j, s0, s1;\n\n\t// IMPORTANT Iterate in the reverse order since items at the end of the\n\t// list have an higher weight/priority and thus should be less impacted\n\t// by the overlapping strategy.\n\n\tfor (i = labels.length - 1; i >= 0; --i) {\n\t\ts0 = labels[i].$layout;\n\n\t\tfor (j = i - 1; j >= 0 && s0._visible; --j) {\n\t\t\ts1 = labels[j].$layout;\n\n\t\t\tif (s1._visible && s0._box.intersects(s1._box)) {\n\t\t\t\tcollider(s0, s1);\n\t\t\t}\n\t\t}\n\t}\n\n\treturn labels;\n}\n\nfunction compute$1(labels) {\n\tvar i, ilen, label, state, geometry, center;\n\n\t// Initialize labels for overlap detection\n\tfor (i = 0, ilen = labels.length; i < ilen; ++i) {\n\t\tlabel = labels[i];\n\t\tstate = label.$layout;\n\n\t\tif (state._visible) {\n\t\t\tgeometry = label.geometry();\n\t\t\tcenter = coordinates(label._el._model, label.model(), geometry);\n\t\t\tstate._box.update(center, geometry, label.rotation());\n\t\t}\n\t}\n\n\t// Auto hide overlapping labels\n\treturn collide(labels, function(s0, s1) {\n\t\tvar h0 = s0._hidable;\n\t\tvar h1 = s1._hidable;\n\n\t\tif ((h0 && h1) || h1) {\n\t\t\ts1._visible = false;\n\t\t} else if (h0) {\n\t\t\ts0._visible = false;\n\t\t}\n\t});\n}\n\nvar layout = {\n\tprepare: function(datasets) {\n\t\tvar labels = [];\n\t\tvar i, j, ilen, jlen, label;\n\n\t\tfor (i = 0, ilen = datasets.length; i < ilen; ++i) {\n\t\t\tfor (j = 0, jlen = datasets[i].length; j < jlen; ++j) {\n\t\t\t\tlabel = datasets[i][j];\n\t\t\t\tlabels.push(label);\n\t\t\t\tlabel.$layout = {\n\t\t\t\t\t_box: new HitBox(),\n\t\t\t\t\t_hidable: false,\n\t\t\t\t\t_visible: true,\n\t\t\t\t\t_set: i,\n\t\t\t\t\t_idx: j\n\t\t\t\t};\n\t\t\t}\n\t\t}\n\n\t\t// TODO New `z` option: labels with a higher z-index are drawn\n\t\t// of top of the ones with a lower index. Lowest z-index labels\n\t\t// are also discarded first when hiding overlapping labels.\n\t\tlabels.sort(function(a, b) {\n\t\t\tvar sa = a.$layout;\n\t\t\tvar sb = b.$layout;\n\n\t\t\treturn sa._idx === sb._idx\n\t\t\t\t? sb._set - sa._set\n\t\t\t\t: sb._idx - sa._idx;\n\t\t});\n\n\t\tthis.update(labels);\n\n\t\treturn labels;\n\t},\n\n\tupdate: function(labels) {\n\t\tvar dirty = false;\n\t\tvar i, ilen, label, model, state;\n\n\t\tfor (i = 0, ilen = labels.length; i < ilen; ++i) {\n\t\t\tlabel = labels[i];\n\t\t\tmodel = label.model();\n\t\t\tstate = label.$layout;\n\t\t\tstate._hidable = model && model.display === 'auto';\n\t\t\tstate._visible = label.visible();\n\t\t\tdirty |= state._hidable;\n\t\t}\n\n\t\tif (dirty) {\n\t\t\tcompute$1(labels);\n\t\t}\n\t},\n\n\tlookup: function(labels, point) {\n\t\tvar i, state;\n\n\t\t// IMPORTANT Iterate in the reverse order since items at the end of\n\t\t// the list have an higher z-index, thus should be picked first.\n\n\t\tfor (i = labels.length - 1; i >= 0; --i) {\n\t\t\tstate = labels[i].$layout;\n\n\t\t\tif (state && state._visible && state._box.contains(point)) {\n\t\t\t\treturn labels[i];\n\t\t\t}\n\t\t}\n\n\t\treturn null;\n\t},\n\n\tdraw: function(chart, labels) {\n\t\tvar i, ilen, label, state, geometry, center;\n\n\t\tfor (i = 0, ilen = labels.length; i < ilen; ++i) {\n\t\t\tlabel = labels[i];\n\t\t\tstate = label.$layout;\n\n\t\t\tif (state._visible) {\n\t\t\t\tgeometry = label.geometry();\n\t\t\t\tcenter = coordinates(label._el._view, label.model(), geometry);\n\t\t\t\tstate._box.update(center, geometry, label.rotation());\n\t\t\t\tlabel.draw(chart, center);\n\t\t\t}\n\t\t}\n\t}\n};\n\nvar helpers$3 = Chart.helpers;\n\nvar formatter = function(value) {\n\tif (helpers$3.isNullOrUndef(value)) {\n\t\treturn null;\n\t}\n\n\tvar label = value;\n\tvar keys, klen, k;\n\tif (helpers$3.isObject(value)) {\n\t\tif (!helpers$3.isNullOrUndef(value.label)) {\n\t\t\tlabel = value.label;\n\t\t} else if (!helpers$3.isNullOrUndef(value.r)) {\n\t\t\tlabel = value.r;\n\t\t} else {\n\t\t\tlabel = '';\n\t\t\tkeys = Object.keys(value);\n\t\t\tfor (k = 0, klen = keys.length; k < klen; ++k) {\n\t\t\t\tlabel += (k !== 0 ? ', ' : '') + keys[k] + ': ' + value[keys[k]];\n\t\t\t}\n\t\t}\n\t}\n\n\treturn '' + label;\n};\n\n/**\n * IMPORTANT: make sure to also update tests and TypeScript definition\n * files (`/test/specs/defaults.spec.js` and `/types/options.d.ts`)\n */\n\nvar defaults = {\n\talign: 'center',\n\tanchor: 'center',\n\tbackgroundColor: null,\n\tborderColor: null,\n\tborderRadius: 0,\n\tborderWidth: 0,\n\tclamp: false,\n\tclip: false,\n\tcolor: undefined,\n\tdisplay: true,\n\tfont: {\n\t\tfamily: undefined,\n\t\tlineHeight: 1.2,\n\t\tsize: undefined,\n\t\tstyle: undefined,\n\t\tweight: null\n\t},\n\tformatter: formatter,\n\tlabels: undefined,\n\tlisteners: {},\n\toffset: 4,\n\topacity: 1,\n\tpadding: {\n\t\ttop: 4,\n\t\tright: 4,\n\t\tbottom: 4,\n\t\tleft: 4\n\t},\n\trotation: 0,\n\ttextAlign: 'start',\n\ttextStrokeColor: undefined,\n\ttextStrokeWidth: 0,\n\ttextShadowBlur: 0,\n\ttextShadowColor: undefined\n};\n\n/**\n * @see https://github.com/chartjs/Chart.js/issues/4176\n */\n\nvar helpers$4 = Chart.helpers;\nvar EXPANDO_KEY = '$datalabels';\nvar DEFAULT_KEY = '$default';\n\nfunction configure(dataset, options) {\n\tvar override = dataset.datalabels;\n\tvar listeners = {};\n\tvar configs = [];\n\tvar labels, keys;\n\n\tif (override === false) {\n\t\treturn null;\n\t}\n\tif (override === true) {\n\t\toverride = {};\n\t}\n\n\toptions = helpers$4.merge({}, [options, override]);\n\tlabels = options.labels || {};\n\tkeys = Object.keys(labels);\n\tdelete options.labels;\n\n\tif (keys.length) {\n\t\tkeys.forEach(function(key) {\n\t\t\tif (labels[key]) {\n\t\t\t\tconfigs.push(helpers$4.merge({}, [\n\t\t\t\t\toptions,\n\t\t\t\t\tlabels[key],\n\t\t\t\t\t{_key: key}\n\t\t\t\t]));\n\t\t\t}\n\t\t});\n\t} else {\n\t\t// Default label if no \"named\" label defined.\n\t\tconfigs.push(options);\n\t}\n\n\t// listeners: {: {: }}\n\tlisteners = configs.reduce(function(target, config) {\n\t\thelpers$4.each(config.listeners || {}, function(fn, event) {\n\t\t\ttarget[event] = target[event] || {};\n\t\t\ttarget[event][config._key || DEFAULT_KEY] = fn;\n\t\t});\n\n\t\tdelete config.listeners;\n\t\treturn target;\n\t}, {});\n\n\treturn {\n\t\tlabels: configs,\n\t\tlisteners: listeners\n\t};\n}\n\nfunction dispatchEvent(chart, listeners, label) {\n\tif (!listeners) {\n\t\treturn;\n\t}\n\n\tvar context = label.$context;\n\tvar groups = label.$groups;\n\tvar callback;\n\n\tif (!listeners[groups._set]) {\n\t\treturn;\n\t}\n\n\tcallback = listeners[groups._set][groups._key];\n\tif (!callback) {\n\t\treturn;\n\t}\n\n\tif (helpers$4.callback(callback, [context]) === true) {\n\t\t// Users are allowed to tweak the given context by injecting values that can be\n\t\t// used in scriptable options to display labels differently based on the current\n\t\t// event (e.g. highlight an hovered label). That's why we update the label with\n\t\t// the output context and schedule a new chart render by setting it dirty.\n\t\tchart[EXPANDO_KEY]._dirty = true;\n\t\tlabel.update(context);\n\t}\n}\n\nfunction dispatchMoveEvents(chart, listeners, previous, label) {\n\tvar enter, leave;\n\n\tif (!previous && !label) {\n\t\treturn;\n\t}\n\n\tif (!previous) {\n\t\tenter = true;\n\t} else if (!label) {\n\t\tleave = true;\n\t} else if (previous !== label) {\n\t\tleave = enter = true;\n\t}\n\n\tif (leave) {\n\t\tdispatchEvent(chart, listeners.leave, previous);\n\t}\n\tif (enter) {\n\t\tdispatchEvent(chart, listeners.enter, label);\n\t}\n}\n\nfunction handleMoveEvents(chart, event) {\n\tvar expando = chart[EXPANDO_KEY];\n\tvar listeners = expando._listeners;\n\tvar previous, label;\n\n\tif (!listeners.enter && !listeners.leave) {\n\t\treturn;\n\t}\n\n\tif (event.type === 'mousemove') {\n\t\tlabel = layout.lookup(expando._labels, event);\n\t} else if (event.type !== 'mouseout') {\n\t\treturn;\n\t}\n\n\tprevious = expando._hovered;\n\texpando._hovered = label;\n\tdispatchMoveEvents(chart, listeners, previous, label);\n}\n\nfunction handleClickEvents(chart, event) {\n\tvar expando = chart[EXPANDO_KEY];\n\tvar handlers = expando._listeners.click;\n\tvar label = handlers && layout.lookup(expando._labels, event);\n\tif (label) {\n\t\tdispatchEvent(chart, handlers, label);\n\t}\n}\n\n// https://github.com/chartjs/chartjs-plugin-datalabels/issues/108\nfunction invalidate(chart) {\n\tif (chart.animating) {\n\t\treturn;\n\t}\n\n\t// `chart.animating` can be `false` even if there is animation in progress,\n\t// so let's iterate all animations to find if there is one for the `chart`.\n\tvar animations = Chart.animationService.animations;\n\tfor (var i = 0, ilen = animations.length; i < ilen; ++i) {\n\t\tif (animations[i].chart === chart) {\n\t\t\treturn;\n\t\t}\n\t}\n\n\t// No render scheduled: trigger a \"lazy\" render that can be canceled in case\n\t// of hover interactions. The 1ms duration is a workaround to make sure an\n\t// animation is created so the controller can stop it before any transition.\n\tchart.render({duration: 1, lazy: true});\n}\n\nChart.defaults.global.plugins.datalabels = defaults;\n\nvar plugin = {\n\tid: 'datalabels',\n\n\tbeforeInit: function(chart) {\n\t\tchart[EXPANDO_KEY] = {\n\t\t\t_actives: []\n\t\t};\n\t},\n\n\tbeforeUpdate: function(chart) {\n\t\tvar expando = chart[EXPANDO_KEY];\n\t\texpando._listened = false;\n\t\texpando._listeners = {}; // {: {: {: }}}\n\t\texpando._datasets = []; // per dataset labels: [Label[]]\n\t\texpando._labels = []; // layouted labels: Label[]\n\t},\n\n\tafterDatasetUpdate: function(chart, args, options) {\n\t\tvar datasetIndex = args.index;\n\t\tvar expando = chart[EXPANDO_KEY];\n\t\tvar labels = expando._datasets[datasetIndex] = [];\n\t\tvar visible = chart.isDatasetVisible(datasetIndex);\n\t\tvar dataset = chart.data.datasets[datasetIndex];\n\t\tvar config = configure(dataset, options);\n\t\tvar elements = args.meta.data || [];\n\t\tvar ctx = chart.ctx;\n\t\tvar i, j, ilen, jlen, cfg, key, el, label;\n\n\t\tctx.save();\n\n\t\tfor (i = 0, ilen = elements.length; i < ilen; ++i) {\n\t\t\tel = elements[i];\n\t\t\tel[EXPANDO_KEY] = [];\n\n\t\t\tif (visible && el && !el.hidden && !el._model.skip) {\n\t\t\t\tfor (j = 0, jlen = config.labels.length; j < jlen; ++j) {\n\t\t\t\t\tcfg = config.labels[j];\n\t\t\t\t\tkey = cfg._key;\n\n\t\t\t\t\tlabel = new Label(cfg, ctx, el, i);\n\t\t\t\t\tlabel.$groups = {\n\t\t\t\t\t\t_set: datasetIndex,\n\t\t\t\t\t\t_key: key || DEFAULT_KEY\n\t\t\t\t\t};\n\t\t\t\t\tlabel.$context = {\n\t\t\t\t\t\tactive: false,\n\t\t\t\t\t\tchart: chart,\n\t\t\t\t\t\tdataIndex: i,\n\t\t\t\t\t\tdataset: dataset,\n\t\t\t\t\t\tdatasetIndex: datasetIndex\n\t\t\t\t\t};\n\n\t\t\t\t\tlabel.update(label.$context);\n\t\t\t\t\tel[EXPANDO_KEY].push(label);\n\t\t\t\t\tlabels.push(label);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tctx.restore();\n\n\t\t// Store listeners at the chart level and per event type to optimize\n\t\t// cases where no listeners are registered for a specific event.\n\t\thelpers$4.merge(expando._listeners, config.listeners, {\n\t\t\tmerger: function(event, target, source) {\n\t\t\t\ttarget[event] = target[event] || {};\n\t\t\t\ttarget[event][args.index] = source[event];\n\t\t\t\texpando._listened = true;\n\t\t\t}\n\t\t});\n\t},\n\n\tafterUpdate: function(chart, options) {\n\t\tchart[EXPANDO_KEY]._labels = layout.prepare(\n\t\t\tchart[EXPANDO_KEY]._datasets,\n\t\t\toptions);\n\t},\n\n\t// Draw labels on top of all dataset elements\n\t// https://github.com/chartjs/chartjs-plugin-datalabels/issues/29\n\t// https://github.com/chartjs/chartjs-plugin-datalabels/issues/32\n\tafterDatasetsDraw: function(chart) {\n\t\tlayout.draw(chart, chart[EXPANDO_KEY]._labels);\n\t},\n\n\tbeforeEvent: function(chart, event) {\n\t\t// If there is no listener registered for this chart, `listened` will be false,\n\t\t// meaning we can immediately ignore the incoming event and avoid useless extra\n\t\t// computation for users who don't implement label interactions.\n\t\tif (chart[EXPANDO_KEY]._listened) {\n\t\t\tswitch (event.type) {\n\t\t\tcase 'mousemove':\n\t\t\tcase 'mouseout':\n\t\t\t\thandleMoveEvents(chart, event);\n\t\t\t\tbreak;\n\t\t\tcase 'click':\n\t\t\t\thandleClickEvents(chart, event);\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t}\n\t\t}\n\t},\n\n\tafterEvent: function(chart) {\n\t\tvar expando = chart[EXPANDO_KEY];\n\t\tvar previous = expando._actives;\n\t\tvar actives = expando._actives = chart.lastActive || []; // public API?!\n\t\tvar updates = utils.arrayDiff(previous, actives);\n\t\tvar i, ilen, j, jlen, update, label, labels;\n\n\t\tfor (i = 0, ilen = updates.length; i < ilen; ++i) {\n\t\t\tupdate = updates[i];\n\t\t\tif (update[1]) {\n\t\t\t\tlabels = update[0][EXPANDO_KEY] || [];\n\t\t\t\tfor (j = 0, jlen = labels.length; j < jlen; ++j) {\n\t\t\t\t\tlabel = labels[j];\n\t\t\t\t\tlabel.$context.active = (update[1] === 1);\n\t\t\t\t\tlabel.update(label.$context);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif (expando._dirty || updates.length) {\n\t\t\tlayout.update(expando._labels);\n\t\t\tinvalidate(chart);\n\t\t}\n\n\t\tdelete expando._dirty;\n\t}\n};\n\n// TODO Remove at version 1, we shouldn't automatically register plugins.\n// https://github.com/chartjs/chartjs-plugin-datalabels/issues/42\nChart.plugins.register(plugin);\n\nreturn plugin;\n\n}));\n","import { render, staticRenderFns } from \"./FarmDisabled.vue?vue&type=template&id=63db167a\"\nimport script from \"./FarmDisabled.vue?vue&type=script&lang=js\"\nexport * from \"./FarmDisabled.vue?vue&type=script&lang=js\"\nimport style0 from \"./FarmDisabled.vue?vue&type=style&index=0&id=63db167a&prod&lang=css\"\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","// Extensions\nimport VWindow from '../VWindow/VWindow'\n\n// Types & Components\nimport { BaseItemGroup, GroupableInstance } from './../VItemGroup/VItemGroup'\n\n/* @vue/component */\nexport default VWindow.extend({\n name: 'v-tabs-items',\n\n props: {\n mandatory: {\n type: Boolean,\n default: false,\n },\n },\n\n computed: {\n classes (): object {\n return {\n ...VWindow.options.computed.classes.call(this),\n 'v-tabs-items': true,\n }\n },\n isDark (): boolean {\n return this.rootIsDark\n },\n },\n\n methods: {\n getValue (item: GroupableInstance, i: number) {\n return item.id || BaseItemGroup.options.methods.getValue.call(this, item, i)\n },\n },\n})\n","import VBtn from './VBtn'\n\nexport { VBtn }\nexport default VBtn\n","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./VarietyHome.vue?vue&type=style&index=0&id=17490abe&prod&lang=scss&scoped=true\"","import VDivider from './VDivider'\n\nexport { VDivider }\nexport default VDivider\n","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProgramsList.vue?vue&type=style&index=0&id=29f51386&prod&scoped=true&lang=css\"","// 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 { getPropertyFromItem } from '../../util/helpers'\n\n// Types\nimport mixins from '../../util/mixins'\nimport { VNode, PropType, VNodeChildren } from 'vue'\nimport { PropValidator } from 'vue/types/options'\nimport { SelectItemKey } from 'vuetify/types'\n\ntype ListTile = { item: any, disabled?: null | boolean, value?: boolean, index: number };\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] as PropType,\n default: 'disabled',\n },\n itemText: {\n type: [String, Array, Function] as PropType,\n default: 'text',\n },\n itemValue: {\n type: [String, Array, Function] as PropType,\n default: 'value',\n },\n noDataText: String,\n noFilter: Boolean,\n searchInput: null as unknown as PropType,\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 ripple: false,\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 text\n\n const { start, middle, end } = this.getMaskedCharacters(text)\n\n return [start, this.genHighlight(middle), end]\n },\n genHeader (props: { [key: string]: any }): VNode {\n return this.$createElement(VSubheader, { props }, props.header)\n },\n genHighlight (text: string) {\n return this.$createElement('span', { staticClass: 'v-list-item__mask' }, text)\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: text, middle: '', 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,\n index,\n disabled = null,\n value = false,\n }: ListTile): 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 id: `list-item-${this._uid}-${index}`,\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, index),\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, index = 0): VNode {\n return this.$createElement(VListItemContent, [\n this.$createElement(VListItemTitle, [\n this.genFilteredText(this.getText(item)),\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: VNodeChildren = []\n const itemsLength = this.items.length\n for (let index = 0; index < itemsLength; index++) {\n const item = this.items[index]\n\n if (this.hideSelected &&\n this.hasItem(item)\n ) continue\n\n if (item == null) children.push(this.genTile({ item, index }))\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, index }))\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(VList, {\n staticClass: 'v-select-list',\n class: this.themeClasses,\n attrs: {\n role: 'listbox',\n tabindex: -1,\n },\n on: {\n mousedown: (e: Event) => {\n e.preventDefault()\n },\n },\n props: { dense: this.dense },\n }, children)\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 VInput from '../VInput'\nimport VTextField from '../VTextField/VTextField'\n\n// Mixins\nimport Comparable from '../../mixins/comparable'\nimport Dependent from '../../mixins/dependent'\nimport Filterable from '../../mixins/filterable'\n\n// Directives\nimport ClickOutside from '../../directives/click-outside'\n\n// Utilities\nimport mergeData from '../../util/mergeData'\nimport { getPropertyFromItem, getObjectValueByPath, keyCodes } from '../../util/helpers'\nimport { consoleError } from '../../util/console'\n\n// Types\nimport mixins from '../../util/mixins'\nimport { VNode, VNodeDirective, PropType, VNodeData } from 'vue'\nimport { PropValidator } from 'vue/types/options'\nimport { SelectItemKey } from 'vuetify/types'\n\nexport const defaultMenuProps = {\n closeOnClick: false,\n closeOnContentClick: false,\n disableKeys: true,\n openOnClick: false,\n maxHeight: 304,\n}\n\n// Types\nconst baseMixins = mixins(\n VTextField,\n Comparable,\n Dependent,\n Filterable\n)\n\ninterface options extends InstanceType {\n $refs: {\n menu: InstanceType\n content: HTMLElement\n label: HTMLElement\n input: HTMLInputElement\n 'prepend-inner': HTMLElement\n 'append-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 type: null as unknown as PropType,\n default: false,\n },\n cacheItems: Boolean,\n chips: Boolean,\n clearable: Boolean,\n deletableChips: Boolean,\n disableLookup: Boolean,\n eager: Boolean,\n hideSelected: Boolean,\n items: {\n type: Array,\n default: () => [],\n } as PropValidator,\n itemColor: {\n type: String,\n default: 'primary',\n },\n itemDisabled: {\n type: [String, Array, Function] as PropType,\n default: 'disabled',\n },\n itemText: {\n type: [String, Array, Function] as PropType,\n default: 'text',\n },\n itemValue: {\n type: [String, Array, Function] as PropType,\n default: 'value',\n },\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 menuIsBooted: 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 computedCounterValue (): number {\n const value = this.multiple\n ? this.selectedItems\n : (this.getText(this.selectedItems[0]) ?? '').toString()\n\n if (typeof this.counterValue === 'function') {\n return this.counterValue(value)\n }\n\n return value.length\n },\n directives (): VNodeDirective[] | undefined {\n return this.isFocused ? [{\n name: 'click-outside',\n value: {\n handler: this.blur,\n closeConditional: this.closeConditional,\n include: () => this.getOpenDependentElements(),\n },\n }] : 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 if (this.multiple) {\n this.$nextTick(() => {\n this.$refs.menu?.updateDimensions()\n })\n }\n if (this.hideSelected) {\n this.$nextTick(() => {\n this.onScroll()\n })\n }\n },\n isMenuActive (val) {\n window.setTimeout(() => this.onMenuActiveChange(val))\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 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 this.setMenuIndex(-1)\n },\n /** @public */\n activateMenu () {\n if (\n !this.isInteractive ||\n this.isMenuActive\n ) return\n\n this.isMenuActive = true\n },\n clearableCallback () {\n this.setValue(this.multiple ? [] : null)\n this.setMenuIndex(-1)\n this.$nextTick(() => this.$refs.input && this.$refs.input.focus())\n\n if (this.openOnClear) this.isMenuActive = true\n },\n closeConditional (e: Event) {\n if (!this.isMenuActive) return true\n\n return (\n !this._isDestroyed &&\n\n // Click originates from outside the menu content\n // Multiple selects don't close when an item is clicked\n (!this.getContent() ||\n !this.getContent().contains(e.target as Node)) &&\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\n // Do not return null values if existant (#14421)\n if (item == null) {\n continue\n }\n // Do not deduplicate headers or dividers (#12517)\n if (item.header || item.divider) {\n uniqueValues.set(item, item)\n continue\n }\n\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 getContent () {\n return this.$refs.menu && this.$refs.menu.$refs.content\n },\n genChipSelection (item: object, index: number) {\n const isDisabled = (\n this.isDisabled ||\n this.getDisabled(item)\n )\n const isInteractive = !isDisabled && this.isInteractive\n\n return this.$createElement(VChip, {\n staticClass: 'v-chip--select',\n attrs: { tabindex: -1 },\n props: {\n close: this.deletableChips && isInteractive,\n disabled: isDisabled,\n inputValue: index === this.selectedIndex,\n small: this.smallChips,\n },\n on: {\n click: (e: MouseEvent) => {\n if (!isInteractive) 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.isDisabled ||\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 genIcon (\n type: string,\n cb?: (e: Event) => void,\n extraData?: VNodeData\n ) {\n const icon = VInput.options.methods.genIcon.call(this, type, cb, extraData)\n\n if (type === 'append') {\n // Don't allow the dropdown icon to be focused\n icon.children![0].data = mergeData(icon.children![0].data!, {\n attrs: {\n tabindex: icon.children![0].componentOptions!.listeners && '-1',\n 'aria-hidden': 'true',\n 'aria-label': undefined,\n },\n })\n }\n\n return icon\n },\n genInput (): VNode {\n const input = VTextField.options.methods.genInput.call(this)\n\n delete input.data!.attrs!.name\n\n input.data = mergeData(input.data!, {\n domProps: { value: null },\n attrs: {\n readonly: true,\n type: 'text',\n 'aria-readonly': String(this.isReadonly),\n 'aria-activedescendant': getObjectValueByPath(this.$refs.menu, 'activeTile.id'),\n autocomplete: getObjectValueByPath(input.data!, 'attrs.autocomplete', 'off'),\n placeholder: (!this.isDirty && (this.persistentPlaceholder || this.isFocused || !this.hasLabel)) ? this.placeholder : undefined,\n },\n on: { keypress: this.onKeyPress },\n })\n\n return input\n },\n genHiddenInput (): VNode {\n return this.$createElement('input', {\n domProps: { value: this.lazyValue },\n attrs: {\n type: 'hidden',\n name: this.attrs$.name,\n },\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 if ('attach' in props) void 0\n else 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 // Attach to root el so that\n // menu covers prepend/append icons\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 scroll: this.onScroll,\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.isInteractive,\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 (e: MouseEvent) {\n if (!this.isInteractive) return\n\n if (!this.isAppendInner(e.target)) {\n this.isMenuActive = true\n }\n\n if (!this.isFocused) {\n this.isFocused = true\n this.$emit('focus')\n }\n\n this.$emit('click', e)\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.isInteractive ||\n this.disableLookup ||\n e.key.length > 1 ||\n e.ctrlKey || e.metaKey || e.altKey\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.lastItem = Math.max(this.lastItem, index + 5)\n this.setValue(this.returnObject ? item : this.getValue(item))\n this.$nextTick(() => this.$refs.menu.getTiles())\n setTimeout(() => this.setMenuIndex(index))\n }\n },\n onKeyDown (e: KeyboardEvent) {\n if (this.isReadonly && e.keyCode !== keyCodes.tab) return\n\n const keyCode = e.keyCode\n const menu = this.$refs.menu\n\n this.$emit('keydown', e)\n\n if (!menu) return\n\n // If menu is active, allow default\n // listIndex change from menu\n if (this.isMenuActive && [keyCodes.up, keyCodes.down, keyCodes.home, keyCodes.end, keyCodes.enter].includes(keyCode)) {\n this.$nextTick(() => {\n menu.changeListIndex(e)\n this.$emit('update:list-index', menu.listIndex)\n })\n }\n\n // If enter, space, open menu\n if ([\n keyCodes.enter,\n keyCodes.space,\n ].includes(keyCode)) this.activateMenu()\n\n // If menu is not active, up/down/home/end 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, keyCodes.home, keyCodes.end].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 this.$refs.menu.getTiles()\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 // eslint-disable-next-line sonarjs/no-collapsible-if\n if (\n this.hasMouseDown &&\n e.which !== 3 &&\n this.isInteractive\n ) {\n // If append inner is present\n // and the target is itself\n // or inside, toggle menu\n if (this.isAppendInner(e.target)) {\n this.$nextTick(() => (this.isMenuActive = !this.isMenuActive))\n }\n }\n\n VTextField.options.methods.onMouseUp.call(this, e)\n },\n onScroll () {\n if (!this.isMenuActive) {\n requestAnimationFrame(() => {\n const content = this.getContent()\n if (content) content.scrollTop = 0\n })\n } else {\n if (this.lastItem > this.computedItems.length) return\n\n const showMoreItems = (\n this.getContent().scrollHeight -\n (this.getContent().scrollTop +\n this.getContent().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.isBooted = true\n\n window.requestAnimationFrame(() => {\n menu.getTiles()\n\n if (!menu.hasClickableTiles) return this.activateMenu()\n\n switch (keyCode) {\n case keyCodes.up:\n menu.prevTile()\n break\n case keyCodes.down:\n menu.nextTile()\n break\n case keyCodes.home:\n menu.firstTile()\n break\n case keyCodes.end:\n menu.lastTile()\n break\n }\n this.selectItem(this.allItems[this.getMenuIndex()])\n })\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 // There is no item to re-highlight\n // when selections are hidden\n if (this.hideSelected) {\n this.setMenuIndex(-1)\n } else {\n const index = this.computedItems.indexOf(item)\n if (~index) {\n this.$nextTick(() => this.$refs.menu.getTiles())\n setTimeout(() => this.setMenuIndex(index))\n }\n }\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 if (!this.valueComparator(value, this.internalValue)) {\n this.internalValue = value\n this.$emit('change', value)\n }\n },\n isAppendInner (target: any) {\n // return true if append inner is present\n // and the target is itself or inside\n const appendInner = this.$refs['append-inner']\n\n return appendInner && (appendInner === target || appendInner.contains(target))\n },\n },\n})\n","import './VSlider.sass'\n\n// Components\nimport VInput from '../VInput'\nimport { VScaleTransition } from '../transitions'\n\n// Mixins\nimport mixins, { ExtractVue } from '../../util/mixins'\nimport Loadable from '../../mixins/loadable'\n\n// Directives\nimport ClickOutside from '../../directives/click-outside'\n\n// Helpers\nimport { addOnceEventListener, deepEqual, keyCodes, createRange, convertToUnit, passiveSupported } from '../../util/helpers'\nimport { consoleWarn } from '../../util/console'\n\n// Types\nimport Vue, { VNode, VNodeChildrenArrayContents, PropType } from 'vue'\nimport { ScopedSlotChildren } from 'vue/types/vnode'\nimport { PropValidator } from 'vue/types/options'\n\ninterface options extends Vue {\n $refs: {\n track: HTMLElement\n }\n}\n\nexport default mixins\n/* eslint-enable indent */\n>(\n VInput,\n Loadable\n/* @vue/component */\n).extend({\n name: 'v-slider',\n\n directives: {\n ClickOutside,\n },\n\n mixins: [Loadable],\n\n props: {\n disabled: Boolean,\n inverseLabel: Boolean,\n max: {\n type: [Number, String],\n default: 100,\n },\n min: {\n type: [Number, String],\n default: 0,\n },\n step: {\n type: [Number, String],\n default: 1,\n },\n thumbColor: String,\n thumbLabel: {\n type: [Boolean, String] as PropType,\n default: undefined,\n validator: v => typeof v === 'boolean' || v === 'always',\n },\n thumbSize: {\n type: [Number, String],\n default: 32,\n },\n tickLabels: {\n type: Array,\n default: () => ([]),\n } as PropValidator,\n ticks: {\n type: [Boolean, String] as PropType,\n default: false,\n validator: v => typeof v === 'boolean' || v === 'always',\n },\n tickSize: {\n type: [Number, String],\n default: 2,\n },\n trackColor: String,\n trackFillColor: String,\n value: [Number, String],\n vertical: Boolean,\n },\n\n data: () => ({\n app: null as any,\n oldValue: null as any,\n thumbPressed: false,\n mouseTimeout: -1,\n isFocused: false,\n isActive: false,\n noClick: false, // Prevent click event if dragging took place, hack for #7915\n startOffset: 0,\n }),\n\n computed: {\n classes (): object {\n return {\n ...VInput.options.computed.classes.call(this),\n 'v-input__slider': true,\n 'v-input__slider--vertical': this.vertical,\n 'v-input__slider--inverse-label': this.inverseLabel,\n }\n },\n internalValue: {\n get (): number {\n return this.lazyValue\n },\n set (val: number) {\n val = isNaN(val) ? this.minValue : val\n // Round value to ensure the\n // entire slider range can\n // be selected with step\n const value = this.roundValue(Math.min(Math.max(val, this.minValue), this.maxValue))\n\n if (value === this.lazyValue) return\n\n this.lazyValue = value\n\n this.$emit('input', value)\n },\n },\n trackTransition (): string {\n return this.thumbPressed\n ? this.showTicks || this.stepNumeric\n ? '0.1s cubic-bezier(0.25, 0.8, 0.5, 1)'\n : 'none'\n : ''\n },\n minValue (): number {\n return parseFloat(this.min)\n },\n maxValue (): number {\n return parseFloat(this.max)\n },\n stepNumeric (): number {\n return this.step > 0 ? parseFloat(this.step) : 0\n },\n inputWidth (): number {\n const inputWidth = (this.roundValue(this.internalValue) - this.minValue) / (this.maxValue - this.minValue) * 100\n\n return isNaN(inputWidth) ? 0 : inputWidth\n },\n trackFillStyles (): Partial {\n const startDir = this.vertical ? 'bottom' : 'left'\n const endDir = this.vertical ? 'top' : 'right'\n const valueDir = this.vertical ? 'height' : 'width'\n\n const start = this.$vuetify.rtl ? 'auto' : '0'\n const end = this.$vuetify.rtl ? '0' : 'auto'\n const value = this.isDisabled ? `calc(${this.inputWidth}% - 10px)` : `${this.inputWidth}%`\n\n return {\n transition: this.trackTransition,\n [startDir]: start,\n [endDir]: end,\n [valueDir]: value,\n }\n },\n trackStyles (): Partial {\n const startDir = this.vertical ? this.$vuetify.rtl ? 'bottom' : 'top' : this.$vuetify.rtl ? 'left' : 'right'\n const endDir = this.vertical ? 'height' : 'width'\n\n const start = '0px'\n const end = this.isDisabled ? `calc(${100 - this.inputWidth}% - 10px)` : `calc(${100 - this.inputWidth}%)`\n\n return {\n transition: this.trackTransition,\n [startDir]: start,\n [endDir]: end,\n }\n },\n showTicks (): boolean {\n return this.tickLabels.length > 0 ||\n !!(!this.isDisabled && this.stepNumeric && this.ticks)\n },\n numTicks (): number {\n return Math.ceil((this.maxValue - this.minValue) / this.stepNumeric)\n },\n showThumbLabel (): boolean {\n return !this.isDisabled && !!(\n this.thumbLabel ||\n this.$scopedSlots['thumb-label']\n )\n },\n computedTrackColor (): string | undefined {\n if (this.isDisabled) return undefined\n if (this.trackColor) return this.trackColor\n if (this.isDark) return this.validationState\n return this.validationState || 'primary lighten-3'\n },\n computedTrackFillColor (): string | undefined {\n if (this.isDisabled) return undefined\n if (this.trackFillColor) return this.trackFillColor\n return this.validationState || this.computedColor\n },\n computedThumbColor (): string | undefined {\n if (this.thumbColor) return this.thumbColor\n return this.validationState || this.computedColor\n },\n },\n\n watch: {\n min (val) {\n const parsed = parseFloat(val)\n parsed > this.internalValue && this.$emit('input', parsed)\n },\n max (val) {\n const parsed = parseFloat(val)\n parsed < this.internalValue && this.$emit('input', parsed)\n },\n value: {\n handler (v: number) {\n this.internalValue = v\n },\n immediate: true,\n },\n },\n\n mounted () {\n // Without a v-app, iOS does not work with body selectors\n this.app = document.querySelector('[data-app]') ||\n consoleWarn('Missing v-app or a non-body wrapping element with the [data-app] attribute', this)\n },\n\n methods: {\n genDefaultSlot (): VNodeChildrenArrayContents {\n const children: VNodeChildrenArrayContents = [this.genLabel()]\n const slider = this.genSlider()\n this.inverseLabel\n ? children.unshift(slider)\n : children.push(slider)\n\n children.push(this.genProgress())\n\n return children\n },\n genSlider (): VNode {\n return this.$createElement('div', {\n class: {\n 'v-slider': true,\n 'v-slider--horizontal': !this.vertical,\n 'v-slider--vertical': this.vertical,\n 'v-slider--focused': this.isFocused,\n 'v-slider--active': this.isActive,\n 'v-slider--disabled': this.isDisabled,\n 'v-slider--readonly': this.isReadonly,\n ...this.themeClasses,\n },\n directives: [{\n name: 'click-outside',\n value: this.onBlur,\n }],\n on: {\n click: this.onSliderClick,\n mousedown: this.onSliderMouseDown,\n touchstart: this.onSliderMouseDown,\n },\n }, this.genChildren())\n },\n genChildren (): VNodeChildrenArrayContents {\n return [\n this.genInput(),\n this.genTrackContainer(),\n this.genSteps(),\n this.genThumbContainer(\n this.internalValue,\n this.inputWidth,\n this.isActive,\n this.isFocused,\n this.onFocus,\n this.onBlur,\n ),\n ]\n },\n genInput (): VNode {\n return this.$createElement('input', {\n attrs: {\n value: this.internalValue,\n id: this.computedId,\n disabled: true,\n readonly: true,\n tabindex: -1,\n ...this.$attrs,\n },\n // on: this.genListeners(), // TODO: do we need to attach the listeners to input?\n })\n },\n genTrackContainer (): VNode {\n const children = [\n this.$createElement('div', this.setBackgroundColor(this.computedTrackColor, {\n staticClass: 'v-slider__track-background',\n style: this.trackStyles,\n })),\n this.$createElement('div', this.setBackgroundColor(this.computedTrackFillColor, {\n staticClass: 'v-slider__track-fill',\n style: this.trackFillStyles,\n })),\n ]\n\n return this.$createElement('div', {\n staticClass: 'v-slider__track-container',\n ref: 'track',\n }, children)\n },\n genSteps (): VNode | null {\n if (!this.step || !this.showTicks) return null\n\n const tickSize = parseFloat(this.tickSize)\n const range = createRange(this.numTicks + 1)\n const direction = this.vertical ? 'bottom' : (this.$vuetify.rtl ? 'right' : 'left')\n const offsetDirection = this.vertical ? (this.$vuetify.rtl ? 'left' : 'right') : 'top'\n\n if (this.vertical) range.reverse()\n\n const ticks = range.map(index => {\n const children = []\n\n if (this.tickLabels[index]) {\n children.push(this.$createElement('div', {\n staticClass: 'v-slider__tick-label',\n }, this.tickLabels[index]))\n }\n\n const width = index * (100 / this.numTicks)\n const filled = this.$vuetify.rtl ? (100 - this.inputWidth) < width : width < this.inputWidth\n\n return this.$createElement('span', {\n key: index,\n staticClass: 'v-slider__tick',\n class: {\n 'v-slider__tick--filled': filled,\n },\n style: {\n width: `${tickSize}px`,\n height: `${tickSize}px`,\n [direction]: `calc(${width}% - ${tickSize / 2}px)`,\n [offsetDirection]: `calc(50% - ${tickSize / 2}px)`,\n },\n }, children)\n })\n\n return this.$createElement('div', {\n staticClass: 'v-slider__ticks-container',\n class: {\n 'v-slider__ticks-container--always-show': this.ticks === 'always' || this.tickLabels.length > 0,\n },\n }, ticks)\n },\n genThumbContainer (\n value: number,\n valueWidth: number,\n isActive: boolean,\n isFocused: boolean,\n onFocus: Function,\n onBlur: Function,\n ref = 'thumb'\n ): VNode {\n const children = [this.genThumb()]\n\n const thumbLabelContent = this.genThumbLabelContent(value)\n this.showThumbLabel && children.push(this.genThumbLabel(thumbLabelContent))\n\n return this.$createElement('div', this.setTextColor(this.computedThumbColor, {\n ref,\n key: ref,\n staticClass: 'v-slider__thumb-container',\n class: {\n 'v-slider__thumb-container--active': isActive,\n 'v-slider__thumb-container--focused': isFocused,\n 'v-slider__thumb-container--show-label': this.showThumbLabel,\n },\n style: this.getThumbContainerStyles(valueWidth),\n attrs: {\n role: 'slider',\n tabindex: this.isDisabled ? -1 : this.$attrs.tabindex ? this.$attrs.tabindex : 0,\n 'aria-label': this.$attrs['aria-label'] || this.label,\n 'aria-valuemin': this.min,\n 'aria-valuemax': this.max,\n 'aria-valuenow': this.internalValue,\n 'aria-readonly': String(this.isReadonly),\n 'aria-orientation': this.vertical ? 'vertical' : 'horizontal',\n },\n on: {\n focus: onFocus,\n blur: onBlur,\n keydown: this.onKeyDown,\n },\n }), children)\n },\n genThumbLabelContent (value: number | string): ScopedSlotChildren {\n return this.$scopedSlots['thumb-label']\n ? this.$scopedSlots['thumb-label']!({ value })\n : [this.$createElement('span', [String(value)])]\n },\n genThumbLabel (content: ScopedSlotChildren): VNode {\n const size = convertToUnit(this.thumbSize)\n\n const transform = this.vertical\n ? `translateY(20%) translateY(${(Number(this.thumbSize) / 3) - 1}px) translateX(55%) rotate(135deg)`\n : `translateY(-20%) translateY(-12px) translateX(-50%) rotate(45deg)`\n\n return this.$createElement(VScaleTransition, {\n props: { origin: 'bottom center' },\n }, [\n this.$createElement('div', {\n staticClass: 'v-slider__thumb-label-container',\n directives: [{\n name: 'show',\n value: this.isFocused || this.isActive || this.thumbLabel === 'always',\n }],\n }, [\n this.$createElement('div', this.setBackgroundColor(this.computedThumbColor, {\n staticClass: 'v-slider__thumb-label',\n style: {\n height: size,\n width: size,\n transform,\n },\n }), [this.$createElement('div', content)]),\n ]),\n ])\n },\n genThumb (): VNode {\n return this.$createElement('div', this.setBackgroundColor(this.computedThumbColor, {\n staticClass: 'v-slider__thumb',\n }))\n },\n getThumbContainerStyles (width: number): object {\n const direction = this.vertical ? 'top' : 'left'\n let value = this.$vuetify.rtl ? 100 - width : width\n value = this.vertical ? 100 - value : value\n\n return {\n transition: this.trackTransition,\n [direction]: `${value}%`,\n }\n },\n onSliderMouseDown (e: MouseEvent | TouchEvent) {\n e.preventDefault()\n\n this.oldValue = this.internalValue\n this.isActive = true\n\n if ((e.target as Element)?.matches('.v-slider__thumb-container, .v-slider__thumb-container *')) {\n this.thumbPressed = true\n const domRect = (e.target as Element).getBoundingClientRect()\n const touch = 'touches' in e ? e.touches[0] : e\n this.startOffset = this.vertical\n ? touch.clientY - (domRect.top + domRect.height / 2)\n : touch.clientX - (domRect.left + domRect.width / 2)\n } else {\n this.startOffset = 0\n window.clearTimeout(this.mouseTimeout)\n this.mouseTimeout = window.setTimeout(() => {\n this.thumbPressed = true\n }, 300)\n }\n\n const mouseUpOptions = passiveSupported ? { passive: true, capture: true } : true\n const mouseMoveOptions = passiveSupported ? { passive: true } : false\n\n const isTouchEvent = 'touches' in e\n\n this.onMouseMove(e)\n this.app.addEventListener(isTouchEvent ? 'touchmove' : 'mousemove', this.onMouseMove, mouseMoveOptions)\n addOnceEventListener(this.app, isTouchEvent ? 'touchend' : 'mouseup', this.onSliderMouseUp, mouseUpOptions)\n\n this.$emit('start', this.internalValue)\n },\n onSliderMouseUp (e: Event) {\n e.stopPropagation()\n window.clearTimeout(this.mouseTimeout)\n this.thumbPressed = false\n const mouseMoveOptions = passiveSupported ? { passive: true } : false\n this.app.removeEventListener('touchmove', this.onMouseMove, mouseMoveOptions)\n this.app.removeEventListener('mousemove', this.onMouseMove, mouseMoveOptions)\n\n this.$emit('mouseup', e)\n this.$emit('end', this.internalValue)\n if (!deepEqual(this.oldValue, this.internalValue)) {\n this.$emit('change', this.internalValue)\n this.noClick = true\n }\n\n this.isActive = false\n },\n onMouseMove (e: MouseEvent | TouchEvent) {\n if (e.type === 'mousemove') {\n this.thumbPressed = true\n }\n this.internalValue = this.parseMouseMove(e)\n },\n onKeyDown (e: KeyboardEvent) {\n if (!this.isInteractive) return\n\n const value = this.parseKeyDown(e, this.internalValue)\n\n if (\n value == null ||\n value < this.minValue ||\n value > this.maxValue\n ) return\n\n this.internalValue = value\n this.$emit('change', value)\n },\n onSliderClick (e: MouseEvent) {\n if (this.noClick) {\n this.noClick = false\n return\n }\n const thumb = this.$refs.thumb as HTMLElement\n thumb.focus()\n\n this.onMouseMove(e)\n this.$emit('change', this.internalValue)\n },\n onBlur (e: Event) {\n this.isFocused = false\n\n this.$emit('blur', e)\n },\n onFocus (e: Event) {\n this.isFocused = true\n\n this.$emit('focus', e)\n },\n parseMouseMove (e: MouseEvent | TouchEvent) {\n const start = this.vertical ? 'top' : 'left'\n const length = this.vertical ? 'height' : 'width'\n const click = this.vertical ? 'clientY' : 'clientX'\n\n const {\n [start]: trackStart,\n [length]: trackLength,\n } = this.$refs.track.getBoundingClientRect()\n const clickOffset = 'touches' in e ? e.touches[0][click] : e[click]\n\n // It is possible for left to be NaN, force to number\n let clickPos = Math.min(Math.max((clickOffset - trackStart - this.startOffset) / trackLength, 0), 1) || 0\n\n if (this.vertical) clickPos = 1 - clickPos\n if (this.$vuetify.rtl) clickPos = 1 - clickPos\n\n return parseFloat(this.min) + clickPos * (this.maxValue - this.minValue)\n },\n parseKeyDown (e: KeyboardEvent, value: number) {\n if (!this.isInteractive) return\n\n const { pageup, pagedown, end, home, left, right, down, up } = keyCodes\n\n if (![pageup, pagedown, end, home, left, right, down, up].includes(e.keyCode)) return\n\n e.preventDefault()\n const step = this.stepNumeric || 1\n const steps = (this.maxValue - this.minValue) / step\n if ([left, right, down, up].includes(e.keyCode)) {\n const increase = this.$vuetify.rtl ? [left, up] : [right, up]\n const direction = increase.includes(e.keyCode) ? 1 : -1\n const multiplier = e.shiftKey ? 3 : (e.ctrlKey ? 2 : 1)\n\n value = value + (direction * step * multiplier)\n } else if (e.keyCode === home) {\n value = this.minValue\n } else if (e.keyCode === end) {\n value = this.maxValue\n } else {\n const direction = e.keyCode === pagedown ? 1 : -1\n value = value - (direction * step * (steps > 100 ? steps / 10 : 10))\n }\n\n return value\n },\n roundValue (value: number): number {\n if (!this.stepNumeric) return value\n // Format input value using the same number\n // of decimals places as in the step prop\n const trimmedStep = this.step.toString().trim()\n const decimals = trimmedStep.indexOf('.') > -1\n ? (trimmedStep.length - trimmedStep.indexOf('.') - 1)\n : 0\n const offset = this.minValue % this.stepNumeric\n\n const newValue = Math.round((value - offset) / this.stepNumeric) * this.stepNumeric + offset\n\n return parseFloat(Math.min(newValue, this.maxValue).toFixed(decimals))\n },\n },\n})\n","// Styles\nimport './VLabel.sass'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\nimport Themeable, { functionalThemeClasses } from '../../mixins/themeable'\n\n// Types\nimport { VNode } from 'vue'\nimport mixins from '../../util/mixins'\n\n// Helpers\nimport { convertToUnit } from '../../util/helpers'\nimport mergeData from '../../util/mergeData'\n\n/* @vue/component */\nexport default mixins(Themeable).extend({\n name: 'v-label',\n\n functional: true,\n\n props: {\n absolute: Boolean,\n color: {\n type: String,\n default: 'primary',\n },\n disabled: Boolean,\n focused: Boolean,\n for: String,\n left: {\n type: [Number, String],\n default: 0,\n },\n right: {\n type: [Number, String],\n default: 'auto',\n },\n value: Boolean,\n },\n\n render (h, ctx): VNode {\n const { children, listeners, props, data } = ctx\n const newData = mergeData({\n staticClass: 'v-label',\n class: {\n 'v-label--active': props.value,\n 'v-label--is-disabled': props.disabled,\n ...functionalThemeClasses(ctx),\n },\n attrs: {\n for: props.for,\n 'aria-hidden': !props.for,\n },\n on: listeners,\n style: {\n left: convertToUnit(props.left),\n right: convertToUnit(props.right),\n position: props.absolute ? 'absolute' : 'relative',\n },\n ref: 'label',\n }, data)\n\n return h('label', Colorable.options.methods.setTextColor(props.focused && props.color, newData), children)\n },\n})\n","import VLabel from './VLabel'\n\nexport { VLabel }\nexport default VLabel\n","// Styles\nimport './VMessages.sass'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\nimport Themeable from '../../mixins/themeable'\n\n// Types\nimport { VNode } from 'vue'\nimport { PropValidator } from 'vue/types/options'\nimport mixins from '../../util/mixins'\n\n// Utilities\nimport { getSlot } from '../../util/helpers'\n\n/* @vue/component */\nexport default mixins(Colorable, Themeable).extend({\n name: 'v-messages',\n\n props: {\n value: {\n type: Array,\n default: () => ([]),\n } as PropValidator,\n },\n\n methods: {\n genChildren () {\n return this.$createElement('transition-group', {\n staticClass: 'v-messages__wrapper',\n attrs: {\n name: 'message-transition',\n tag: 'div',\n },\n }, this.value.map(this.genMessage))\n },\n genMessage (message: string, key: number) {\n return this.$createElement('div', {\n staticClass: 'v-messages__message',\n key,\n }, getSlot(this, 'default', { message, key }) || [message])\n },\n },\n\n render (h): VNode {\n return h('div', this.setTextColor(this.color, {\n staticClass: 'v-messages',\n class: this.themeClasses,\n }), [this.genChildren()])\n },\n})\n","import VMessages from './VMessages'\n\nexport { VMessages }\nexport default VMessages\n","// Styles\nimport './VInput.sass'\n\n// Components\nimport VIcon from '../VIcon'\nimport VLabel from '../VLabel'\nimport VMessages from '../VMessages'\n\n// Mixins\nimport BindsAttrs from '../../mixins/binds-attrs'\nimport Validatable from '../../mixins/validatable'\n\n// Utilities\nimport {\n convertToUnit,\n getSlot,\n kebabCase,\n} from '../../util/helpers'\nimport mergeData from '../../util/mergeData'\n\n// Types\nimport { VNode, VNodeData, PropType } from 'vue'\nimport mixins from '../../util/mixins'\nimport { InputValidationRule } from 'vuetify/types'\n\nconst baseMixins = mixins(\n BindsAttrs,\n Validatable,\n)\n\ninterface options extends InstanceType {\n /* eslint-disable-next-line camelcase */\n $_modelEvent: string\n}\n\n/* @vue/component */\nexport default baseMixins.extend().extend({\n name: 'v-input',\n\n inheritAttrs: false,\n\n props: {\n appendIcon: String,\n backgroundColor: {\n type: String,\n default: '',\n },\n dense: Boolean,\n height: [Number, String],\n hideDetails: [Boolean, String] as PropType,\n hideSpinButtons: Boolean,\n hint: String,\n id: String,\n label: String,\n loading: Boolean,\n persistentHint: Boolean,\n prependIcon: String,\n value: null as any as PropType,\n },\n\n data () {\n return {\n lazyValue: this.value,\n hasMouseDown: false,\n }\n },\n\n computed: {\n classes (): object {\n return {\n 'v-input--has-state': this.hasState,\n 'v-input--hide-details': !this.showDetails,\n 'v-input--is-label-active': this.isLabelActive,\n 'v-input--is-dirty': this.isDirty,\n 'v-input--is-disabled': this.isDisabled,\n 'v-input--is-focused': this.isFocused,\n // .loading === '' so we can't just cast to boolean\n 'v-input--is-loading': this.loading !== false && this.loading != null,\n 'v-input--is-readonly': this.isReadonly,\n 'v-input--dense': this.dense,\n 'v-input--hide-spin-buttons': this.hideSpinButtons,\n ...this.themeClasses,\n }\n },\n computedId (): string {\n return this.id || `input-${this._uid}`\n },\n hasDetails (): boolean {\n return this.messagesToDisplay.length > 0\n },\n hasHint (): boolean {\n return !this.hasMessages &&\n !!this.hint &&\n (this.persistentHint || this.isFocused)\n },\n hasLabel (): boolean {\n return !!(this.$slots.label || this.label)\n },\n // Proxy for `lazyValue`\n // This allows an input\n // to function without\n // a provided model\n internalValue: {\n get (): any {\n return this.lazyValue\n },\n set (val: any) {\n this.lazyValue = val\n this.$emit(this.$_modelEvent, val)\n },\n },\n isDirty (): boolean {\n return !!this.lazyValue\n },\n isLabelActive (): boolean {\n return this.isDirty\n },\n messagesToDisplay (): string[] {\n if (this.hasHint) return [this.hint]\n\n if (!this.hasMessages) return []\n\n return this.validations.map((validation: string | InputValidationRule) => {\n if (typeof validation === 'string') return validation\n\n const validationResult = validation(this.internalValue)\n\n return typeof validationResult === 'string' ? validationResult : ''\n }).filter(message => message !== '')\n },\n showDetails (): boolean {\n return this.hideDetails === false || (this.hideDetails === 'auto' && this.hasDetails)\n },\n },\n\n watch: {\n value (val) {\n this.lazyValue = val\n },\n },\n\n beforeCreate () {\n // v-radio-group needs to emit a different event\n // https://github.com/vuetifyjs/vuetify/issues/4752\n this.$_modelEvent = (this.$options.model && this.$options.model.event) || 'input'\n },\n\n methods: {\n genContent () {\n return [\n this.genPrependSlot(),\n this.genControl(),\n this.genAppendSlot(),\n ]\n },\n genControl () {\n return this.$createElement('div', {\n staticClass: 'v-input__control',\n attrs: { title: this.attrs$.title },\n }, [\n this.genInputSlot(),\n this.genMessages(),\n ])\n },\n genDefaultSlot () {\n return [\n this.genLabel(),\n getSlot(this),\n ]\n },\n genIcon (\n type: string,\n cb?: (e: Event) => void,\n extraData: VNodeData = {}\n ) {\n const icon = (this as any)[`${type}Icon`]\n const eventName = `click:${kebabCase(type)}`\n const hasListener = !!(this.listeners$[eventName] || cb)\n\n const localeKey = {\n prepend: 'prependAction',\n prependInner: 'prependAction',\n append: 'appendAction',\n appendOuter: 'appendAction',\n clear: 'clear',\n }[type]\n const label = hasListener && localeKey\n ? this.$vuetify.lang.t(`$vuetify.input.${localeKey}`, this.label ?? '')\n : undefined\n\n const data = mergeData({\n attrs: {\n 'aria-label': label,\n color: this.validationState,\n dark: this.dark,\n disabled: this.isDisabled,\n light: this.light,\n tabindex: type === 'clear' ? -1 : undefined,\n },\n on: !hasListener\n ? undefined\n : {\n click: (e: Event) => {\n e.preventDefault()\n e.stopPropagation()\n\n this.$emit(eventName, e)\n cb && cb(e)\n },\n // Container has g event that will\n // trigger menu open if enclosed\n mouseup: (e: Event) => {\n e.preventDefault()\n e.stopPropagation()\n },\n },\n }, extraData)\n\n return this.$createElement('div', {\n staticClass: `v-input__icon`,\n class: type ? `v-input__icon--${kebabCase(type)}` : undefined,\n }, [\n this.$createElement(\n VIcon,\n data,\n icon\n ),\n ])\n },\n genInputSlot () {\n return this.$createElement('div', this.setBackgroundColor(this.backgroundColor, {\n staticClass: 'v-input__slot',\n style: { height: convertToUnit(this.height) },\n on: {\n click: this.onClick,\n mousedown: this.onMouseDown,\n mouseup: this.onMouseUp,\n },\n ref: 'input-slot',\n }), [this.genDefaultSlot()])\n },\n genLabel () {\n if (!this.hasLabel) return null\n\n return this.$createElement(VLabel, {\n props: {\n color: this.validationState,\n dark: this.dark,\n disabled: this.isDisabled,\n focused: this.hasState,\n for: this.computedId,\n light: this.light,\n },\n }, getSlot(this, 'label') || this.label)\n },\n genMessages () {\n if (!this.showDetails) return null\n\n return this.$createElement(VMessages, {\n props: {\n color: this.hasHint ? '' : this.validationState,\n dark: this.dark,\n light: this.light,\n value: this.messagesToDisplay,\n },\n attrs: {\n role: this.hasMessages ? 'alert' : null,\n },\n scopedSlots: {\n default: props => getSlot(this, 'message', props),\n },\n })\n },\n genSlot (\n type: string,\n location: string,\n slot: (VNode | VNode[])[]\n ) {\n if (!slot.length) return null\n\n const ref = `${type}-${location}`\n\n return this.$createElement('div', {\n staticClass: `v-input__${ref}`,\n ref,\n }, slot)\n },\n genPrependSlot () {\n const slot = []\n\n if (this.$slots.prepend) {\n slot.push(this.$slots.prepend)\n } else if (this.prependIcon) {\n slot.push(this.genIcon('prepend'))\n }\n\n return this.genSlot('prepend', 'outer', slot)\n },\n genAppendSlot () {\n const slot = []\n\n // Append icon for text field was really\n // an appended inner icon, v-text-field\n // will overwrite this method in order to obtain\n // backwards compat\n if (this.$slots.append) {\n slot.push(this.$slots.append)\n } else if (this.appendIcon) {\n slot.push(this.genIcon('append'))\n }\n\n return this.genSlot('append', 'outer', slot)\n },\n onClick (e: Event) {\n this.$emit('click', e)\n },\n onMouseDown (e: Event) {\n this.hasMouseDown = true\n this.$emit('mousedown', e)\n },\n onMouseUp (e: Event) {\n this.hasMouseDown = false\n this.$emit('mouseup', e)\n },\n },\n\n render (h): VNode {\n return h('div', this.setTextColor(this.validationState, {\n staticClass: 'v-input',\n class: this.classes,\n }), this.genContent())\n },\n})\n","import VInput from './VInput'\n\nexport { VInput }\nexport default VInput\n","// Styles\nimport './VAutocomplete.sass'\n\n// Extensions\nimport VSelect, { defaultMenuProps as VSelectMenuProps } from '../VSelect/VSelect'\nimport VTextField from '../VTextField/VTextField'\n\n// Utilities\nimport mergeData from '../../util/mergeData'\nimport {\n getObjectValueByPath,\n getPropertyFromItem,\n keyCodes,\n} from '../../util/helpers'\n\n// Types\nimport { PropType, VNode } from 'vue'\nimport { PropValidator } from 'vue/types/options'\n\nconst defaultMenuProps = {\n ...VSelectMenuProps,\n offsetY: true,\n offsetOverflow: true,\n transition: false,\n}\n\n/* @vue/component */\nexport default VSelect.extend({\n name: 'v-autocomplete',\n\n props: {\n autoSelectFirst: {\n type: Boolean,\n default: false,\n },\n filter: {\n type: Function,\n default: (item: any, queryText: string, itemText: string) => {\n return itemText.toLocaleLowerCase().indexOf(queryText.toLocaleLowerCase()) > -1\n },\n } as PropValidator<(item: any, queryText: string, itemText: string) => boolean>,\n hideNoData: Boolean,\n menuProps: {\n type: VSelect.options.props.menuProps.type,\n default: () => defaultMenuProps,\n },\n noFilter: Boolean,\n searchInput: {\n type: String as PropType,\n },\n },\n\n data () {\n return {\n lazySearch: this.searchInput,\n }\n },\n\n computed: {\n classes (): object {\n return {\n ...VSelect.options.computed.classes.call(this),\n 'v-autocomplete': true,\n 'v-autocomplete--is-selecting-index': this.selectedIndex > -1,\n }\n },\n computedItems (): object[] {\n return this.filteredItems\n },\n selectedValues (): object[] {\n return this.selectedItems.map(item => this.getValue(item))\n },\n hasDisplayedItems (): boolean {\n return this.hideSelected\n ? this.filteredItems.some(item => !this.hasItem(item))\n : this.filteredItems.length > 0\n },\n currentRange (): number {\n if (this.selectedItem == null) return 0\n\n return String(this.getText(this.selectedItem)).length\n },\n filteredItems (): object[] {\n if (!this.isSearching || this.noFilter || this.internalSearch == null) return this.allItems\n\n return this.allItems.filter(item => {\n const value = getPropertyFromItem(item, this.itemText)\n const text = value != null ? String(value) : ''\n\n return this.filter(item, String(this.internalSearch), text)\n })\n },\n internalSearch: {\n get (): string | null {\n return this.lazySearch\n },\n set (val: any) { // TODO: this should be `string | null` but it breaks lots of other types\n // emit update event only when the new\n // search value is different from previous\n if (this.lazySearch !== val) {\n this.lazySearch = val\n this.$emit('update:search-input', val)\n }\n },\n },\n isAnyValueAllowed (): boolean {\n return false\n },\n isDirty (): boolean {\n return this.searchIsDirty || this.selectedItems.length > 0\n },\n isSearching (): boolean {\n return (\n this.multiple &&\n this.searchIsDirty\n ) || (\n this.searchIsDirty &&\n this.internalSearch !== this.getText(this.selectedItem)\n )\n },\n menuCanShow (): boolean {\n if (!this.isFocused) return false\n\n return this.hasDisplayedItems || !this.hideNoData\n },\n $_menuProps (): object {\n const props = VSelect.options.computed.$_menuProps.call(this);\n (props as any).contentClass = `v-autocomplete__content ${(props as any).contentClass || ''}`.trim()\n return {\n ...defaultMenuProps,\n ...props,\n }\n },\n searchIsDirty (): boolean {\n return this.internalSearch != null &&\n this.internalSearch !== ''\n },\n selectedItem (): any {\n if (this.multiple) return null\n\n return this.selectedItems.find(i => {\n return this.valueComparator(this.getValue(i), this.getValue(this.internalValue))\n })\n },\n listData () {\n const data = VSelect.options.computed.listData.call(this) as any\n\n data.props = {\n ...data.props,\n items: this.virtualizedItems,\n noFilter: (\n this.noFilter ||\n !this.isSearching ||\n !this.filteredItems.length\n ),\n searchInput: this.internalSearch,\n }\n\n return data\n },\n },\n\n watch: {\n filteredItems: 'onFilteredItemsChanged',\n internalValue: 'setSearch',\n isFocused (val) {\n if (val) {\n document.addEventListener('copy', this.onCopy)\n this.$refs.input && this.$refs.input.select()\n } else {\n document.removeEventListener('copy', this.onCopy)\n this.blur()\n this.updateSelf()\n }\n },\n isMenuActive (val) {\n if (val || !this.hasSlot) return\n\n this.lazySearch = null\n },\n items (val, oldVal) {\n // If we are focused, the menu\n // is not active, hide no data is enabled,\n // and items change\n // User is probably async loading\n // items, try to activate the menu\n if (\n !(oldVal && oldVal.length) &&\n this.hideNoData &&\n this.isFocused &&\n !this.isMenuActive &&\n val.length\n ) this.activateMenu()\n },\n searchInput (val: string) {\n this.lazySearch = val\n },\n internalSearch: 'onInternalSearchChanged',\n itemText: 'updateSelf',\n },\n\n created () {\n this.setSearch()\n },\n\n destroyed () {\n document.removeEventListener('copy', this.onCopy)\n },\n\n methods: {\n onFilteredItemsChanged (val: never[], oldVal: never[]) {\n // TODO: How is the watcher triggered\n // for duplicate items? no idea\n if (val === oldVal) return\n\n if (!this.autoSelectFirst) {\n const preSelectedItem = oldVal[this.$refs.menu.listIndex]\n\n if (preSelectedItem) {\n this.setMenuIndex(val.findIndex(i => i === preSelectedItem))\n } else {\n this.setMenuIndex(-1)\n }\n this.$emit('update:list-index', this.$refs.menu.listIndex)\n }\n\n this.$nextTick(() => {\n if (\n !this.internalSearch ||\n (val.length !== 1 &&\n !this.autoSelectFirst)\n ) return\n\n this.$refs.menu.getTiles()\n\n if (this.autoSelectFirst && val.length) {\n this.setMenuIndex(0)\n this.$emit('update:list-index', this.$refs.menu.listIndex)\n }\n })\n },\n onInternalSearchChanged () {\n this.updateMenuDimensions()\n },\n updateMenuDimensions () {\n // Type from menuable is not making it through\n this.isMenuActive && this.$refs.menu && this.$refs.menu.updateDimensions()\n },\n changeSelectedIndex (keyCode: number) {\n // Do not allow changing of selectedIndex\n // when search is dirty\n if (this.searchIsDirty) return\n\n if (this.multiple && keyCode === keyCodes.left) {\n if (this.selectedIndex === -1) {\n this.selectedIndex = this.selectedItems.length - 1\n } else {\n this.selectedIndex--\n }\n } else if (this.multiple && keyCode === keyCodes.right) {\n if (this.selectedIndex >= this.selectedItems.length - 1) {\n this.selectedIndex = -1\n } else {\n this.selectedIndex++\n }\n } else if (keyCode === keyCodes.backspace || keyCode === keyCodes.delete) {\n this.deleteCurrentItem()\n }\n },\n deleteCurrentItem () {\n const curIndex = this.selectedIndex\n const curItem = this.selectedItems[curIndex]\n\n // Do nothing if input or item is disabled\n if (\n !this.isInteractive ||\n this.getDisabled(curItem)\n ) return\n\n const lastIndex = this.selectedItems.length - 1\n\n // Select the last item if\n // there is no selection\n if (\n this.selectedIndex === -1 &&\n lastIndex !== 0\n ) {\n this.selectedIndex = lastIndex\n\n return\n }\n\n const length = this.selectedItems.length\n const nextIndex = curIndex !== length - 1\n ? curIndex\n : curIndex - 1\n const nextItem = this.selectedItems[nextIndex]\n\n if (!nextItem) {\n this.setValue(this.multiple ? [] : null)\n } else {\n this.selectItem(curItem)\n }\n\n this.selectedIndex = nextIndex\n },\n clearableCallback () {\n this.internalSearch = null\n\n VSelect.options.methods.clearableCallback.call(this)\n },\n genInput () {\n const input = VTextField.options.methods.genInput.call(this)\n\n input.data = mergeData(input.data!, {\n attrs: {\n 'aria-activedescendant': getObjectValueByPath(this.$refs.menu, 'activeTile.id'),\n autocomplete: getObjectValueByPath(input.data!, 'attrs.autocomplete', 'off'),\n },\n domProps: { value: this.internalSearch },\n })\n\n return input\n },\n genInputSlot () {\n const slot = VSelect.options.methods.genInputSlot.call(this)\n\n slot.data!.attrs!.role = 'combobox'\n\n return slot\n },\n genSelections (): VNode | never[] {\n return this.hasSlot || this.multiple\n ? VSelect.options.methods.genSelections.call(this)\n : []\n },\n onClick (e: MouseEvent) {\n if (!this.isInteractive) return\n\n this.selectedIndex > -1\n ? (this.selectedIndex = -1)\n : this.onFocus()\n\n if (!this.isAppendInner(e.target)) this.activateMenu()\n },\n onInput (e: Event) {\n if (\n this.selectedIndex > -1 ||\n !e.target\n ) return\n\n const target = e.target as HTMLInputElement\n const value = target.value\n\n // If typing and menu is not currently active\n if (target.value) this.activateMenu()\n\n if (!this.multiple && value === '') this.deleteCurrentItem()\n\n this.internalSearch = value\n this.badInput = target.validity && target.validity.badInput\n },\n onKeyDown (e: KeyboardEvent) {\n const keyCode = e.keyCode\n\n if (\n e.ctrlKey ||\n ![keyCodes.home, keyCodes.end].includes(keyCode)\n ) {\n VSelect.options.methods.onKeyDown.call(this, e)\n }\n\n // The ordering is important here\n // allows new value to be updated\n // and then moves the index to the\n // proper location\n this.changeSelectedIndex(keyCode)\n },\n onSpaceDown (e: KeyboardEvent) { /* noop */ },\n onTabDown (e: KeyboardEvent) {\n VSelect.options.methods.onTabDown.call(this, e)\n this.updateSelf()\n },\n onUpDown (e: Event) {\n // Prevent screen from scrolling\n e.preventDefault()\n\n // For autocomplete / combobox, cycling\n // interfers with native up/down behavior\n // instead activate the menu\n this.activateMenu()\n },\n selectItem (item: object) {\n VSelect.options.methods.selectItem.call(this, item)\n this.setSearch()\n },\n setSelectedItems () {\n VSelect.options.methods.setSelectedItems.call(this)\n\n // #4273 Don't replace if searching\n // #4403 Don't replace if focused\n if (!this.isFocused) this.setSearch()\n },\n setSearch () {\n // Wait for nextTick so selectedItem\n // has had time to update\n this.$nextTick(() => {\n if (\n !this.multiple ||\n !this.internalSearch ||\n !this.isMenuActive\n ) {\n this.internalSearch = (\n !this.selectedItems.length ||\n this.multiple ||\n this.hasSlot\n )\n ? null\n : this.getText(this.selectedItem)\n }\n })\n },\n updateSelf () {\n if (\n !this.searchIsDirty &&\n !this.internalValue\n ) return\n\n if (\n !this.multiple &&\n !this.valueComparator(\n this.internalSearch,\n this.getValue(this.internalValue)\n )\n ) {\n this.setSearch()\n }\n },\n hasItem (item: any): boolean {\n return this.selectedValues.indexOf(this.getValue(item)) > -1\n },\n onCopy (event: ClipboardEvent) {\n if (this.selectedIndex === -1) return\n\n const currentItem = this.selectedItems[this.selectedIndex]\n const currentItemText = this.getText(currentItem)\n event.clipboardData?.setData('text/plain', currentItemText)\n event.clipboardData?.setData('text/vnd.vuetify.autocomplete.item+plain', currentItemText)\n event.preventDefault()\n },\n },\n})\n","// Components\nimport { VFadeTransition } from '../transitions'\nimport VExpansionPanel from './VExpansionPanel'\nimport VIcon from '../VIcon'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\nimport { inject as RegistrableInject } from '../../mixins/registrable'\n\n// Directives\nimport ripple from '../../directives/ripple'\n\n// Utilities\nimport { getSlot } from '../../util/helpers'\nimport mixins, { ExtractVue } from '../../util/mixins'\n\n// Types\nimport Vue, { VNode, VueConstructor } from 'vue'\n\nconst baseMixins = mixins(\n Colorable,\n RegistrableInject<'expansionPanel', VueConstructor>('expansionPanel', 'v-expansion-panel-header', 'v-expansion-panel')\n)\n\ninterface options extends ExtractVue {\n $el: HTMLElement\n expansionPanel: InstanceType\n}\n\nexport default baseMixins.extend().extend({\n name: 'v-expansion-panel-header',\n\n directives: { ripple },\n\n props: {\n disableIconRotate: Boolean,\n expandIcon: {\n type: String,\n default: '$expand',\n },\n hideActions: Boolean,\n ripple: {\n type: [Boolean, Object],\n default: false,\n },\n },\n\n data: () => ({\n hasMousedown: false,\n }),\n\n computed: {\n classes (): object {\n return {\n 'v-expansion-panel-header--active': this.isActive,\n 'v-expansion-panel-header--mousedown': this.hasMousedown,\n }\n },\n isActive (): boolean {\n return this.expansionPanel.isActive\n },\n isDisabled (): boolean {\n return this.expansionPanel.isDisabled\n },\n isReadonly (): boolean {\n return this.expansionPanel.isReadonly\n },\n },\n\n created () {\n this.expansionPanel.registerHeader(this)\n },\n\n beforeDestroy () {\n this.expansionPanel.unregisterHeader()\n },\n\n methods: {\n onClick (e: MouseEvent) {\n this.$emit('click', e)\n },\n genIcon () {\n const icon = getSlot(this, 'actions', { open: this.isActive }) ||\n [this.$createElement(VIcon, this.expandIcon)]\n\n return this.$createElement(VFadeTransition, [\n this.$createElement('div', {\n staticClass: 'v-expansion-panel-header__icon',\n class: {\n 'v-expansion-panel-header__icon--disable-rotate': this.disableIconRotate,\n },\n directives: [{\n name: 'show',\n value: !this.isDisabled,\n }],\n }, icon),\n ])\n },\n },\n\n render (h): VNode {\n return h('button', this.setBackgroundColor(this.color, {\n staticClass: 'v-expansion-panel-header',\n class: this.classes,\n attrs: {\n tabindex: this.isDisabled ? -1 : null,\n type: 'button',\n 'aria-expanded': this.isActive,\n },\n directives: [{\n name: 'ripple',\n value: this.ripple,\n }],\n on: {\n ...this.$listeners,\n click: this.onClick,\n mousedown: () => (this.hasMousedown = true),\n mouseup: () => (this.hasMousedown = false),\n },\n }), [\n getSlot(this, 'default', { open: this.isActive }, true),\n this.hideActions || this.genIcon(),\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'\nimport { getSlot } from '../../util/helpers'\n\n// Types\nimport { PropValidator, PropType } 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 closeLabel: {\n type: String,\n default: '$vuetify.close',\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 PropType,\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 size: 18,\n },\n attrs: {\n 'aria-label': this.$vuetify.lang.t(this.closeLabel),\n },\n on: {\n click: (e: Event) => {\n e.stopPropagation()\n e.preventDefault()\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 getSlot(this),\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","var render, staticRenderFns\nimport script from \"./CropDiseasesMixin.vue?vue&type=script&lang=js\"\nexport * from \"./CropDiseasesMixin.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","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CropDiseasesMixin.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CropDiseasesMixin.vue?vue&type=script&lang=js\"","// Components\nimport VExpansionPanels from './VExpansionPanels'\nimport VExpansionPanelHeader from './VExpansionPanelHeader'\nimport VExpansionPanelContent from './VExpansionPanelContent'\n\n// Mixins\nimport { factory as GroupableFactory } from '../../mixins/groupable'\nimport { provide as RegistrableProvide } from '../../mixins/registrable'\n\n// Utilities\nimport { getSlot } from '../../util/helpers'\nimport mixins from '../../util/mixins'\n\n// Types\nimport { VNode } from 'vue'\n\ntype VExpansionPanelHeaderInstance = InstanceType\ntype VExpansionPanelContentInstance = InstanceType\n\nexport default mixins(\n GroupableFactory<'expansionPanels', typeof VExpansionPanels>('expansionPanels', 'v-expansion-panel', 'v-expansion-panels'),\n RegistrableProvide('expansionPanel', true)\n /* @vue/component */\n).extend({\n name: 'v-expansion-panel',\n\n props: {\n disabled: Boolean,\n readonly: Boolean,\n },\n\n data () {\n return {\n content: null as VExpansionPanelContentInstance | null,\n header: null as VExpansionPanelHeaderInstance | null,\n nextIsActive: false,\n }\n },\n\n computed: {\n classes (): object {\n return {\n 'v-expansion-panel--active': this.isActive,\n 'v-expansion-panel--next-active': this.nextIsActive,\n 'v-expansion-panel--disabled': this.isDisabled,\n ...this.groupClasses,\n }\n },\n isDisabled (): boolean {\n return this.expansionPanels.disabled || this.disabled\n },\n isReadonly (): boolean {\n return this.expansionPanels.readonly || this.readonly\n },\n },\n\n methods: {\n registerContent (vm: VExpansionPanelContentInstance) {\n this.content = vm\n },\n unregisterContent () {\n this.content = null\n },\n registerHeader (vm: VExpansionPanelHeaderInstance) {\n this.header = vm\n vm.$on('click', this.onClick)\n },\n unregisterHeader () {\n this.header = null\n },\n onClick (e: MouseEvent) {\n if (e.detail) this.header!.$el.blur()\n\n this.$emit('click', e)\n\n this.isReadonly || this.isDisabled || this.toggle()\n },\n toggle () {\n this.$nextTick(() => this.$emit('change'))\n },\n },\n\n render (h): VNode {\n return h('div', {\n staticClass: 'v-expansion-panel',\n class: this.classes,\n attrs: {\n 'aria-expanded': String(this.isActive),\n },\n }, getSlot(this))\n },\n})\n","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProgramHeader.vue?vue&type=style&index=0&id=021604ce&prod&scoped=true&lang=css\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FarmDisabled.vue?vue&type=style&index=0&id=63db167a&prod&lang=css\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SelectorSeasonsCrops.vue?vue&type=style&index=0&id=22779338&prod&scoped=true&lang=css\"","// Styles\nimport './VItem.sass'\n\n// Mixins\nimport { factory as GroupableFactory } from '../../mixins/groupable'\n\n// Utilities\nimport mixins from '../../util/mixins'\nimport { consoleWarn } from '../../util/console'\n\n// Types\nimport Vue from 'vue'\nimport { VNode, ScopedSlotChildren } from 'vue/types/vnode'\n\n/* @vue/component */\nexport const BaseItem = Vue.extend({\n props: {\n activeClass: String,\n value: {\n required: false,\n },\n disabled: Boolean,\n },\n\n data: () => ({\n isActive: false,\n }),\n\n methods: {\n toggle () {\n this.isActive = !this.isActive\n },\n },\n\n render (): VNode {\n if (!this.$scopedSlots.default) {\n consoleWarn('v-item is missing a default scopedSlot', this)\n\n return null as any\n }\n\n let element: VNode | ScopedSlotChildren\n\n /* istanbul ignore else */\n if (this.$scopedSlots.default) {\n element = this.$scopedSlots.default({\n active: this.isActive,\n toggle: this.toggle,\n })\n }\n\n if (Array.isArray(element) && element.length === 1) {\n element = element[0]\n }\n\n if (!element || Array.isArray(element) || !element.tag) {\n consoleWarn('v-item should only contain a single element', this)\n\n return element as any\n }\n\n element.data = this._b(element.data || {}, element.tag!, {\n class: {\n [this.activeClass]: this.isActive,\n 'v-item--disabled': this.disabled,\n },\n })\n\n if (this.disabled) {\n element.data.attrs = { ...element.data.attrs, tabindex: -1 }\n }\n\n return element\n },\n})\n\nexport default mixins(\n BaseItem,\n GroupableFactory('itemGroup', 'v-item', 'v-item-group')\n).extend({\n name: 'v-item',\n})\n","// Mixins\nimport Colorable from '../colorable'\n\n// Utilities\nimport mixins from '../../util/mixins'\nimport { kebabCase } from '../../util/helpers'\n\n// Types\nimport { VNodeChildren } from 'vue'\n\n/* @vue/component */\nexport default mixins(\n Colorable\n).extend({\n methods: {\n genPickerButton (\n prop: string,\n value: any,\n content: VNodeChildren,\n readonly = false,\n staticClass = ''\n ) {\n const active = (this as any)[prop] === value\n const click = (event: Event) => {\n event.stopPropagation()\n this.$emit(`update:${kebabCase(prop)}`, value)\n }\n\n return this.$createElement('div', {\n staticClass: `v-picker__title__btn ${staticClass}`.trim(),\n class: {\n 'v-picker__title__btn--active': active,\n 'v-picker__title__btn--readonly': readonly,\n },\n on: (active || readonly) ? undefined : { click },\n }, Array.isArray(content) ? content : [content])\n },\n },\n})\n","var render = function render(){var _vm=this,_c=_vm._self._c;return (_vm.efficacies.length && _vm.hasCropDiseases)?_c('chart-efficacy',_vm._b({attrs:{\"styles\":_vm.styles,\"chartdata\":_vm.efficacies,\"hide-labels\":_vm.hideLabels,\"focus\":_vm.focusStructure}},'chart-efficacy',_vm.$attrs,false)):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./index.vue?vue&type=template&id=081ab92c\"\nimport script from \"./index.vue?vue&type=script&lang=js\"\nexport * from \"./index.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","// Styles\nimport './VSubheader.sass'\n\n// Mixins\nimport Themeable from '../../mixins/themeable'\nimport mixins from '../../util/mixins'\nimport { getSlot } from '../../util/helpers'\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 }, getSlot(this))\n },\n})\n","// Components\nimport {\n VTabTransition,\n VTabReverseTransition,\n} from '../transitions'\n\n// Mixins\nimport { inject as RegistrableInject } from '../../mixins/registrable'\n\n// Helpers\nimport { convertToUnit, getSlot } from '../../util/helpers'\n\n// Utilities\nimport mixins from '../../util/mixins'\n\n// Types\nimport { VNode, FunctionalComponentOptions, VNodeData } from 'vue'\n\nconst baseMixins = mixins(\n RegistrableInject('stepper', 'v-stepper-content', 'v-stepper')\n)\n\ninterface options extends InstanceType {\n $refs: {\n wrapper: HTMLElement\n }\n isVerticalProvided: boolean\n}\n\n/* @vue/component */\nexport default baseMixins.extend().extend({\n name: 'v-stepper-content',\n\n inject: {\n isVerticalProvided: {\n from: 'isVertical',\n },\n },\n\n props: {\n step: {\n type: [Number, String],\n required: true,\n },\n },\n\n data () {\n return {\n height: 0 as number | string,\n // Must be null to allow\n // previous comparison\n isActive: null as boolean | null,\n isReverse: false,\n isVertical: this.isVerticalProvided,\n }\n },\n\n computed: {\n computedTransition (): FunctionalComponentOptions {\n // Fix for #8978\n const reverse = this.$vuetify.rtl ? !this.isReverse : this.isReverse\n\n return reverse\n ? VTabReverseTransition\n : VTabTransition\n },\n styles (): object {\n if (!this.isVertical) return {}\n\n return {\n height: convertToUnit(this.height),\n }\n },\n },\n\n watch: {\n isActive (current, previous) {\n // If active and the previous state\n // was null, is just booting up\n if (current && previous == null) {\n this.height = 'auto'\n return\n }\n\n if (!this.isVertical) return\n\n if (this.isActive) this.enter()\n else this.leave()\n },\n },\n\n mounted () {\n this.$refs.wrapper.addEventListener(\n 'transitionend',\n this.onTransition,\n false\n )\n this.stepper && this.stepper.register(this)\n },\n\n beforeDestroy () {\n this.$refs.wrapper.removeEventListener(\n 'transitionend',\n this.onTransition,\n false\n )\n this.stepper && this.stepper.unregister(this)\n },\n\n methods: {\n onTransition (e: TransitionEvent) {\n if (!this.isActive ||\n e.propertyName !== 'height'\n ) return\n\n this.height = 'auto'\n },\n enter () {\n let scrollHeight = 0\n\n // Render bug with height\n requestAnimationFrame(() => {\n scrollHeight = this.$refs.wrapper.scrollHeight\n })\n\n this.height = 0\n\n // Give the collapsing element time to collapse\n setTimeout(() => this.isActive && (this.height = (scrollHeight || 'auto')), 450)\n },\n leave () {\n this.height = this.$refs.wrapper.clientHeight\n setTimeout(() => (this.height = 0), 10)\n },\n toggle (step: string | number, reverse: boolean) {\n this.isActive = step.toString() === this.step.toString()\n this.isReverse = reverse\n },\n },\n\n render (h): VNode {\n const contentData = {\n staticClass: 'v-stepper__content',\n } as VNodeData\n const wrapperData = {\n staticClass: 'v-stepper__wrapper',\n style: this.styles,\n ref: 'wrapper',\n }\n\n if (!this.isVertical) {\n contentData.directives = [{\n name: 'show',\n value: this.isActive,\n }]\n }\n\n const wrapper = h('div', wrapperData, getSlot(this))\n const content = h('div', contentData, [wrapper])\n\n return h(this.computedTransition, {\n on: this.$listeners,\n }, [content])\n },\n})\n","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TotalSprayingsInfo.vue?vue&type=style&index=0&id=51358fec&prod&scoped=true&lang=css\"","// Styles\nimport './VWindow.sass'\n\n// Types\nimport { VNode, VNodeDirective } from 'vue/types/vnode'\nimport { PropType } from 'vue'\nimport { TouchHandlers } from 'vuetify/types'\n\n// Directives\nimport Touch from '../../directives/touch'\n\n// Components\nimport VBtn from '../VBtn'\nimport VIcon from '../VIcon'\nimport { BaseItemGroup } from '../VItemGroup/VItemGroup'\nimport { getSlot } from '../../util/helpers'\n\n/* @vue/component */\nexport default BaseItemGroup.extend({\n name: 'v-window',\n\n directives: { Touch },\n\n provide (): object {\n return {\n windowGroup: this,\n }\n },\n\n props: {\n activeClass: {\n type: String,\n default: 'v-window-item--active',\n },\n continuous: Boolean,\n mandatory: {\n type: Boolean,\n default: true,\n },\n nextIcon: {\n type: [Boolean, String],\n default: '$next',\n },\n prevIcon: {\n type: [Boolean, String],\n default: '$prev',\n },\n reverse: Boolean,\n showArrows: Boolean,\n showArrowsOnHover: Boolean,\n touch: Object as PropType,\n touchless: Boolean,\n value: {\n required: false,\n },\n vertical: Boolean,\n },\n\n data () {\n return {\n changedByDelimiters: false,\n internalHeight: undefined as undefined | string, // This can be fixed by child class.\n transitionHeight: undefined as undefined | string, // Intermediate height during transition.\n transitionCount: 0, // Number of windows in transition state.\n isBooted: false,\n isReverse: false,\n }\n },\n\n computed: {\n isActive (): boolean {\n return this.transitionCount > 0\n },\n classes (): object {\n return {\n ...BaseItemGroup.options.computed.classes.call(this),\n 'v-window--show-arrows-on-hover': this.showArrowsOnHover,\n }\n },\n computedTransition (): string {\n if (!this.isBooted) return ''\n\n const axis = this.vertical ? 'y' : 'x'\n const reverse = this.internalReverse ? !this.isReverse : this.isReverse\n const direction = reverse ? '-reverse' : ''\n\n return `v-window-${axis}${direction}-transition`\n },\n hasActiveItems (): boolean {\n return Boolean(\n this.items.find(item => !item.disabled)\n )\n },\n hasNext (): boolean {\n return this.continuous || this.internalIndex < this.items.length - 1\n },\n hasPrev (): boolean {\n return this.continuous || this.internalIndex > 0\n },\n internalIndex (): number {\n return this.items.findIndex((item, i) => {\n return this.internalValue === this.getValue(item, i)\n })\n },\n internalReverse (): boolean {\n return this.$vuetify.rtl ? !this.reverse : this.reverse\n },\n },\n\n watch: {\n internalIndex (val, oldVal) {\n this.isReverse = this.updateReverse(val, oldVal)\n },\n },\n\n mounted () {\n window.requestAnimationFrame(() => (this.isBooted = true))\n },\n\n methods: {\n genDefaultSlot () {\n return getSlot(this)\n },\n genContainer (): VNode {\n const children = [this.genDefaultSlot()]\n\n if (this.showArrows) {\n children.push(this.genControlIcons())\n }\n\n return this.$createElement('div', {\n staticClass: 'v-window__container',\n class: {\n 'v-window__container--is-active': this.isActive,\n },\n style: {\n height: this.internalHeight || this.transitionHeight,\n },\n }, children)\n },\n genIcon (\n direction: 'prev' | 'next',\n icon: string,\n click: () => void\n ) {\n const on = {\n click: (e: Event) => {\n e.stopPropagation()\n this.changedByDelimiters = true\n click()\n },\n }\n const attrs = {\n 'aria-label': this.$vuetify.lang.t(`$vuetify.carousel.${direction}`),\n }\n const children = this.$scopedSlots[direction]?.({\n on,\n attrs,\n }) ?? [this.$createElement(VBtn, {\n props: { icon: true },\n attrs,\n on,\n }, [\n this.$createElement(VIcon, {\n props: { large: true },\n }, icon),\n ])]\n\n return this.$createElement('div', {\n staticClass: `v-window__${direction}`,\n }, children)\n },\n genControlIcons () {\n const icons = []\n\n const prevIcon = this.$vuetify.rtl\n ? this.nextIcon\n : this.prevIcon\n\n /* istanbul ignore else */\n if (\n this.hasPrev &&\n prevIcon &&\n typeof prevIcon === 'string'\n ) {\n const icon = this.genIcon('prev', prevIcon, this.prev)\n icon && icons.push(icon)\n }\n\n const nextIcon = this.$vuetify.rtl\n ? this.prevIcon\n : this.nextIcon\n\n /* istanbul ignore else */\n if (\n this.hasNext &&\n nextIcon &&\n typeof nextIcon === 'string'\n ) {\n const icon = this.genIcon('next', nextIcon, this.next)\n icon && icons.push(icon)\n }\n\n return icons\n },\n getNextIndex (index: number): number {\n const nextIndex = (index + 1) % this.items.length\n const item = this.items[nextIndex]\n\n if (item.disabled) return this.getNextIndex(nextIndex)\n\n return nextIndex\n },\n getPrevIndex (index: number): number {\n const prevIndex = (index + this.items.length - 1) % this.items.length\n const item = this.items[prevIndex]\n\n if (item.disabled) return this.getPrevIndex(prevIndex)\n\n return prevIndex\n },\n next () {\n /* istanbul ignore if */\n if (!this.hasActiveItems || !this.hasNext) return\n\n const nextIndex = this.getNextIndex(this.internalIndex)\n const item = this.items[nextIndex]\n\n this.internalValue = this.getValue(item, nextIndex)\n },\n prev () {\n /* istanbul ignore if */\n if (!this.hasActiveItems || !this.hasPrev) return\n\n const lastIndex = this.getPrevIndex(this.internalIndex)\n const item = this.items[lastIndex]\n\n this.internalValue = this.getValue(item, lastIndex)\n },\n updateReverse (val: number, oldVal: number) {\n const itemsLength = this.items.length\n const lastIndex = itemsLength - 1\n\n if (itemsLength <= 2) return val < oldVal\n\n if (val === lastIndex && oldVal === 0) {\n return true\n } else if (val === 0 && oldVal === lastIndex) {\n return false\n } else {\n return val < oldVal\n }\n },\n },\n\n render (h): VNode {\n const data = {\n staticClass: 'v-window',\n class: this.classes,\n directives: [] as VNodeDirective[],\n }\n\n if (!this.touchless) {\n const value = this.touch || {\n left: () => {\n this.$vuetify.rtl ? this.prev() : this.next()\n },\n right: () => {\n this.$vuetify.rtl ? this.next() : this.prev()\n },\n end: (e: TouchEvent) => {\n e.stopPropagation()\n },\n start: (e: TouchEvent) => {\n e.stopPropagation()\n },\n }\n\n data.directives.push({\n name: 'touch',\n value,\n })\n }\n\n return h('div', data, [this.genContainer()])\n },\n})\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('v-select',{staticClass:\"d-season-crop-selector\",staticStyle:{\"background\":\"white\"},attrs:{\"items\":_vm.seasonCropsList,\"item-value\":\"id\",\"item-text\":(item) => item.season_name,\"single-line\":\"\",\"label\":_vm.$t('safra.safra'),\"target\":\"_blank\",\"color\":\"#39af49\",\"outlined\":\"\",\"dense\":\"\",\"hide-details\":\"\",\"return-object\":\"\"},model:{value:(_vm.selectedCurrentSeason),callback:function ($$v) {_vm.selectedCurrentSeason=$$v},expression:\"selectedCurrentSeason\"}})\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SelectorSeasonsCrops.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SelectorSeasonsCrops.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./SelectorSeasonsCrops.vue?vue&type=template&id=22779338&scoped=true\"\nimport script from \"./SelectorSeasonsCrops.vue?vue&type=script&lang=js\"\nexport * from \"./SelectorSeasonsCrops.vue?vue&type=script&lang=js\"\nimport style0 from \"./SelectorSeasonsCrops.vue?vue&type=style&index=0&id=22779338&prod&scoped=true&lang=css\"\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 \"22779338\",\n null\n \n)\n\nexport default component.exports","// Components\nimport VInput from '../../components/VInput'\n\n// Mixins\nimport Rippleable from '../rippleable'\nimport Comparable from '../comparable'\n\n// Utilities\nimport mixins from '../../util/mixins'\n\nexport function prevent (e: Event) {\n e.preventDefault()\n}\n\n/* @vue/component */\nexport default mixins(\n VInput,\n Rippleable,\n Comparable\n).extend({\n name: 'selectable',\n\n model: {\n prop: 'inputValue',\n event: 'change',\n },\n\n props: {\n id: String,\n inputValue: null as any,\n falseValue: null as any,\n trueValue: null as any,\n multiple: {\n type: Boolean,\n default: null,\n },\n label: String,\n },\n\n data () {\n return {\n hasColor: this.inputValue,\n lazyValue: this.inputValue,\n }\n },\n\n computed: {\n computedColor (): string | undefined {\n if (!this.isActive) return undefined\n if (this.color) return this.color\n if (this.isDark && !this.appIsDark) return 'white'\n return 'primary'\n },\n isMultiple (): boolean {\n return this.multiple === true || (this.multiple === null && Array.isArray(this.internalValue))\n },\n isActive (): boolean {\n const value = this.value\n const input = this.internalValue\n\n if (this.isMultiple) {\n if (!Array.isArray(input)) return false\n\n return input.some(item => this.valueComparator(item, value))\n }\n\n if (this.trueValue === undefined || this.falseValue === undefined) {\n return value\n ? this.valueComparator(value, input)\n : Boolean(input)\n }\n\n return this.valueComparator(input, this.trueValue)\n },\n isDirty (): boolean {\n return this.isActive\n },\n rippleState (): string | undefined {\n return !this.isDisabled && !this.validationState\n ? undefined\n : this.validationState\n },\n },\n\n watch: {\n inputValue (val) {\n this.lazyValue = val\n this.hasColor = val\n },\n },\n\n methods: {\n genLabel () {\n const label = VInput.options.methods.genLabel.call(this)\n\n if (!label) return label\n\n label!.data!.on = {\n // Label shouldn't cause the input to focus\n click: prevent,\n }\n\n return label\n },\n genInput (type: string, attrs: object) {\n return this.$createElement('input', {\n attrs: Object.assign({\n 'aria-checked': this.isActive.toString(),\n disabled: this.isDisabled,\n id: this.computedId,\n role: type,\n type,\n }, attrs),\n domProps: {\n value: this.value,\n checked: this.isActive,\n },\n on: {\n blur: this.onBlur,\n change: this.onChange,\n focus: this.onFocus,\n keydown: this.onKeydown,\n click: prevent,\n },\n ref: 'input',\n })\n },\n onClick (e: Event) {\n this.onChange()\n this.$emit('click', e)\n },\n onChange () {\n if (!this.isInteractive) return\n\n const value = this.value\n let input = this.internalValue\n\n if (this.isMultiple) {\n if (!Array.isArray(input)) {\n input = []\n }\n\n const length = input.length\n\n input = input.filter((item: any) => !this.valueComparator(item, value))\n\n if (input.length === length) {\n input.push(value)\n }\n } else if (this.trueValue !== undefined && this.falseValue !== undefined) {\n input = this.valueComparator(input, this.trueValue) ? this.falseValue : this.trueValue\n } else if (value) {\n input = this.valueComparator(input, value) ? null : value\n } else {\n input = !input\n }\n\n this.validate(true, input)\n this.internalValue = input\n this.hasColor = input\n },\n onFocus (e: FocusEvent) {\n this.isFocused = true\n this.$emit('focus', e)\n },\n onBlur (e: FocusEvent) {\n this.isFocused = false\n this.$emit('blur', e)\n },\n /** @abstract */\n onKeydown (e: Event) {},\n },\n})\n","// Extensions\nimport { BaseSlideGroup } from '../VSlideGroup/VSlideGroup'\n\n// Components\nimport VTab from './VTab'\n\n// Mixins\nimport Themeable from '../../mixins/themeable'\nimport SSRBootable from '../../mixins/ssr-bootable'\n\n// Utilities\nimport mixins from '../../util/mixins'\n\n// Types\nimport { Route } from 'vue-router'\nimport { VNode } from 'vue'\n\ntype VTabInstance = InstanceType\n\nexport default mixins(\n BaseSlideGroup,\n SSRBootable,\n Themeable\n /* @vue/component */\n).extend({\n name: 'v-tabs-bar',\n\n provide () {\n return {\n tabsBar: this,\n }\n },\n\n computed: {\n classes () {\n return {\n ...BaseSlideGroup.options.computed.classes.call(this),\n 'v-tabs-bar': true,\n 'v-tabs-bar--is-mobile': this.isMobile,\n // TODO: Remove this and move to v-slide-group\n 'v-tabs-bar--show-arrows': this.showArrows,\n ...this.themeClasses,\n }\n },\n },\n\n watch: {\n items: 'callSlider',\n internalValue: 'callSlider',\n $route: 'onRouteChange',\n },\n\n methods: {\n callSlider () {\n if (!this.isBooted) return\n\n this.$emit('call:slider')\n },\n genContent () {\n const render = BaseSlideGroup.options.methods.genContent.call(this)\n\n render.data = render.data || {}\n render.data.staticClass += ' v-tabs-bar__content'\n\n return render\n },\n onRouteChange (val: Route, oldVal: Route) {\n /* istanbul ignore next */\n if (this.mandatory) return\n\n const items = this.items as unknown as VTabInstance[]\n const newPath = val.path\n const oldPath = oldVal.path\n\n let hasNew = false\n let hasOld = false\n\n for (const item of items) {\n if (item.to === oldPath) hasOld = true\n else if (item.to === newPath) hasNew = true\n\n if (hasNew && hasOld) break\n }\n\n // If we have an old item and not a new one\n // it's assumed that the user navigated to\n // a path that is not present in the items\n if (!hasNew && hasOld) this.internalValue = undefined\n },\n },\n\n render (h): VNode {\n const render = BaseSlideGroup.options.render.call(this, h)\n\n render.data!.attrs = {\n role: 'tablist',\n }\n\n return render\n },\n})\n","// Mixins\nimport Colorable from '../../mixins/colorable'\n\n// Utilities\nimport mixins from '../../util/mixins'\n\n// Types\nimport { VNode } from 'vue/types'\n\n/* @vue/component */\nexport default mixins(Colorable).extend({\n name: 'v-tabs-slider',\n\n render (h): VNode {\n return h('div', this.setBackgroundColor(this.color, {\n staticClass: 'v-tabs-slider',\n }))\n },\n})\n","// Styles\nimport './VTabs.sass'\n\n// Components\nimport VTabsBar from './VTabsBar'\nimport VTabsItems from './VTabsItems'\nimport VTabsSlider from './VTabsSlider'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\nimport Proxyable from '../../mixins/proxyable'\nimport Themeable from '../../mixins/themeable'\n\n// Directives\nimport Resize from '../../directives/resize'\n\n// Utilities\nimport { convertToUnit, getSlot } from '../../util/helpers'\nimport { ExtractVue } from './../../util/mixins'\nimport mixins from '../../util/mixins'\n\n// Types\nimport { VNode } from 'vue/types'\n\nconst baseMixins = mixins(\n Colorable,\n Proxyable,\n Themeable\n)\n\ninterface options extends ExtractVue {\n $refs: {\n items: InstanceType\n }\n}\n\nexport default baseMixins.extend().extend({\n name: 'v-tabs',\n\n directives: {\n Resize,\n },\n\n props: {\n activeClass: {\n type: String,\n default: '',\n },\n alignWithTitle: Boolean,\n backgroundColor: String,\n centerActive: Boolean,\n centered: Boolean,\n fixedTabs: Boolean,\n grow: Boolean,\n height: {\n type: [Number, String],\n default: undefined,\n },\n hideSlider: Boolean,\n iconsAndText: Boolean,\n mobileBreakpoint: [String, Number],\n nextIcon: {\n type: String,\n default: '$next',\n },\n optional: Boolean,\n prevIcon: {\n type: String,\n default: '$prev',\n },\n right: Boolean,\n showArrows: [Boolean, String],\n sliderColor: String,\n sliderSize: {\n type: [Number, String],\n default: 2,\n },\n vertical: Boolean,\n },\n\n data () {\n return {\n resizeTimeout: 0,\n slider: {\n height: null as null | number,\n left: null as null | number,\n right: null as null | number,\n top: null as null | number,\n width: null as null | number,\n },\n transitionTime: 300,\n }\n },\n\n computed: {\n classes (): object {\n return {\n 'v-tabs--align-with-title': this.alignWithTitle,\n 'v-tabs--centered': this.centered,\n 'v-tabs--fixed-tabs': this.fixedTabs,\n 'v-tabs--grow': this.grow,\n 'v-tabs--icons-and-text': this.iconsAndText,\n 'v-tabs--right': this.right,\n 'v-tabs--vertical': this.vertical,\n ...this.themeClasses,\n }\n },\n isReversed (): boolean {\n return this.$vuetify.rtl && this.vertical\n },\n sliderStyles (): object {\n return {\n height: convertToUnit(this.slider.height),\n left: this.isReversed ? undefined : convertToUnit(this.slider.left),\n right: this.isReversed ? convertToUnit(this.slider.right) : undefined,\n top: this.vertical ? convertToUnit(this.slider.top) : undefined,\n transition: this.slider.left != null ? null : 'none',\n width: convertToUnit(this.slider.width),\n }\n },\n computedColor (): string {\n if (this.color) return this.color\n else if (this.isDark && !this.appIsDark) return 'white'\n else return 'primary'\n },\n },\n\n watch: {\n alignWithTitle: 'callSlider',\n centered: 'callSlider',\n centerActive: 'callSlider',\n fixedTabs: 'callSlider',\n grow: 'callSlider',\n iconsAndText: 'callSlider',\n right: 'callSlider',\n showArrows: 'callSlider',\n vertical: 'callSlider',\n '$vuetify.application.left': 'onResize',\n '$vuetify.application.right': 'onResize',\n '$vuetify.rtl': 'onResize',\n },\n\n mounted () {\n if (typeof ResizeObserver !== 'undefined') {\n const obs = new ResizeObserver(() => {\n this.onResize()\n })\n obs.observe(this.$el)\n this.$on('hook:destroyed', () => {\n obs.disconnect()\n })\n }\n\n this.$nextTick(() => {\n window.setTimeout(this.callSlider, 30)\n })\n },\n\n methods: {\n callSlider () {\n if (\n this.hideSlider ||\n !this.$refs.items ||\n !this.$refs.items.selectedItems.length\n ) {\n this.slider.width = 0\n return false\n }\n\n this.$nextTick(() => {\n // Give screen time to paint\n const activeTab = this.$refs.items.selectedItems[0]\n /* istanbul ignore if */\n if (!activeTab || !activeTab.$el) {\n this.slider.width = 0\n this.slider.left = 0\n return\n }\n const el = activeTab.$el as HTMLElement\n\n this.slider = {\n height: !this.vertical ? Number(this.sliderSize) : el.scrollHeight,\n left: this.vertical ? 0 : el.offsetLeft,\n right: this.vertical ? 0 : el.offsetLeft + el.offsetWidth,\n top: el.offsetTop,\n width: this.vertical ? Number(this.sliderSize) : el.scrollWidth,\n }\n })\n\n return true\n },\n genBar (items: VNode[], slider: VNode | null) {\n const data = {\n style: {\n height: convertToUnit(this.height),\n },\n props: {\n activeClass: this.activeClass,\n centerActive: this.centerActive,\n dark: this.dark,\n light: this.light,\n mandatory: !this.optional,\n mobileBreakpoint: this.mobileBreakpoint,\n nextIcon: this.nextIcon,\n prevIcon: this.prevIcon,\n showArrows: this.showArrows,\n value: this.internalValue,\n },\n on: {\n 'call:slider': this.callSlider,\n change: (val: any) => {\n this.internalValue = val\n },\n },\n ref: 'items',\n }\n\n this.setTextColor(this.computedColor, data)\n this.setBackgroundColor(this.backgroundColor, data)\n\n return this.$createElement(VTabsBar, data, [\n this.genSlider(slider),\n items,\n ])\n },\n genItems (items: VNode | null, item: VNode[]) {\n // If user provides items\n // opt to use theirs\n if (items) return items\n\n // If no tabs are provided\n // render nothing\n if (!item.length) return null\n\n return this.$createElement(VTabsItems, {\n props: {\n value: this.internalValue,\n },\n on: {\n change: (val: any) => {\n this.internalValue = val\n },\n },\n }, item)\n },\n genSlider (slider: VNode | null) {\n if (this.hideSlider) return null\n\n if (!slider) {\n slider = this.$createElement(VTabsSlider, {\n props: { color: this.sliderColor },\n })\n }\n\n return this.$createElement('div', {\n staticClass: 'v-tabs-slider-wrapper',\n style: this.sliderStyles,\n }, [slider])\n },\n onResize () {\n if (this._isDestroyed) return\n\n clearTimeout(this.resizeTimeout)\n this.resizeTimeout = window.setTimeout(this.callSlider, 0)\n },\n parseNodes () {\n let items = null\n let slider = null\n const item = []\n const tab = []\n const slot = getSlot(this) || []\n const length = slot.length\n\n for (let i = 0; i < length; i++) {\n const vnode = slot[i]\n\n if (vnode.componentOptions) {\n switch (vnode.componentOptions.Ctor.options.name) {\n case 'v-tabs-slider': slider = vnode\n break\n case 'v-tabs-items': items = vnode\n break\n case 'v-tab-item': item.push(vnode)\n break\n // case 'v-tab' - intentionally omitted\n default: tab.push(vnode)\n }\n } else {\n tab.push(vnode)\n }\n }\n\n /**\n * tab: array of `v-tab`\n * slider: single `v-tabs-slider`\n * items: single `v-tabs-items`\n * item: array of `v-tab-item`\n */\n return { tab, slider, items, item }\n },\n },\n\n render (h): VNode {\n const { tab, slider, items, item } = this.parseNodes()\n\n return h('div', {\n staticClass: 'v-tabs',\n class: this.classes,\n directives: [{\n name: 'resize',\n modifiers: { quiet: true },\n value: this.onResize,\n }],\n }, [\n this.genBar(tab, slider),\n this.genItems(items, item),\n ])\n },\n})\n"],"sourceRoot":""}