{"version":3,"sources":["webpack:///../../../src/mixins/transitionable/index.ts","webpack:///../../../src/components/VAlert/VAlert.ts","webpack:///../../../src/mixins/rippleable/index.ts","webpack:///../../../src/components/VStepper/VStepperStep.ts","webpack:///../../../src/components/VStepper/VStepper.ts","webpack:///./src/pages/user-management/AddEditUser.vue?a388","webpack:///./src/pages/user-management/AddEditUser.vue","webpack:///./src/pages/user-management/AddEditUser.vue?604d","webpack:///./src/pages/user-management/AddEditUser.vue?e45c","webpack:///../../../src/components/VStepper/index.ts","webpack:///../../../src/components/VCheckbox/VCheckbox.ts","webpack:///../../../src/components/VBtn/index.ts","webpack:///./src/mixins/validated-field-mixin.ts","webpack:///../../../src/components/VAutocomplete/VAutocomplete.ts","webpack:///./node_modules/libphonenumber-js/es6/AsYouTypeState.js","webpack:///./node_modules/libphonenumber-js/es6/AsYouTypeFormatter.util.js","webpack:///./node_modules/libphonenumber-js/es6/AsYouTypeFormatter.complete.js","webpack:///./node_modules/libphonenumber-js/es6/AsYouTypeFormatter.js","webpack:///./node_modules/libphonenumber-js/es6/AsYouTypeParser.js","webpack:///./node_modules/libphonenumber-js/es6/AsYouType.js","webpack:///./node_modules/libphonenumber-js/min/exports/AsYouType.js","webpack:///../../../src/components/VStepper/VStepperContent.ts","webpack:///../../../src/mixins/selectable/index.ts"],"names":["Vue","extend","name","props","mode","String","origin","transition","mixins","VSheet","Toggleable","Transitionable","border","type","validator","val","includes","closeLabel","default","coloredBorder","Boolean","dense","dismissible","closeIcon","icon","outlined","prominent","text","value","computed","__cachedBorder","this","data","staticClass","class","setBackgroundColor","computedColor","$createElement","__cachedDismissible","color","iconColor","VBtn","small","attrs","$vuetify","lang","t","on","click","isActive","VIcon","__cachedIcon","computedIcon","classes","_objectSpread","options","call","hasColoredIcon","hasText","undefined","isDark","Themeable","created","$attrs","hasOwnProperty","breaking","methods","genWrapper","children","$slots","prepend","genContent","append","$scopedSlots","close","toggle","genAlert","role","listeners$","style","styles","directives","setColor","setTextColor","render","h","ripple","Object","genRipple","arguments","length","push","center","baseMixins","Colorable","RegistrableInject","inject","complete","completeIcon","editable","editIcon","errorIcon","rules","Array","step","Number","isInactive","hasError","some","validate","mounted","stepper","register","beforeDestroy","unregister","e","stopPropagation","$emit","stepClick","genIcon","genLabel","genStep","genStepContent","toString","RegistrableProvide","Proxyable","provide","isVertical","vertical","altLabels","nonLinear","flat","isBooted","steps","content","isReverse","internalLazyValue","watch","internalValue","oldVal","updateView","$listeners","input","item","$options","filter","i","$nextTick","index","tag","_vm","_h","_c","_self","fluid","_v","_s","$route","params","id","rawName","isExistingUser","expression","scopedSlots","_u","key","fn","ref","_g","$event","openPartialSaveDialog","model","callback","$$v","loading","saving","currentStep","_e","errors","has","validationRules","modifiers","collect","userId","userIdValidationMessage","readonly","$set","moveToStep","firstName","lastName","email","officePhone","formattedOfficePhoneNumber","officePhoneNumberExtensionEnabled","officePhoneExtension","cellPhone","formattedCellPhoneNumber","note","userTypes","hasMultipleRoles","userSubTypes","userType","userService","carrierType","carriers","allowCarrierAssociations","requireCarrierAssociation","isRslType","locos","loadingLocos","isLocoType","rsls","loadListReport","from","voyageListFromDisplayText","reportFilters","voyageLoadList","to","voyageListToDisplayText","views","materialGroups","sites","site","markets","getFilterItemArray","opportunityReport","types","updateFilterItemArray","getFilterItem","range","updateFilterItem","carrier","platts","save","staticRenderFns","__extends","extendStatics","d","b","setPrototypeOf","__proto__","p","__","constructor","prototype","create","__assign","assign","s","n","apply","__decorate","decorators","target","desc","c","r","getOwnPropertyDescriptor","Reflect","decorate","defineProperty","__metadata","k","v","metadata","__awaiter","thisArg","_arguments","P","generator","adopt","resolve","Promise","reject","fulfilled","next","rejected","result","done","then","__generator","body","f","y","g","_","label","sent","trys","ops","verb","Symbol","iterator","op","TypeError","pop","use","VeeValidate","ManageUser","_super","_this","internalUserTypes","carrierUserTypes","disableEmailNotifications","officePhoneExt","notes","userSubType","rsl","fromDate","toDate","view","group","market","filters","modifiedByUserId","carrierIds","carrierParentIds","carrierGroupIds","partialSaveDialogVisible","roles","suppliers","_carrierGroups","_carriers","_dispatchDesks","officePhoneNumber","AsYouType","cellPhoneNumber","originalEmail","originalSubType","_a","_b","_d","_f","isUpdating","error_1","userExistsInWAM","getNationalNumber","success","showSnackbar","message","$router","console","error","getValidationRules","$validator","localize","custom","regex","getMessage","field","args","existingUser","loadExistingUser","hasFuelShepherd","isExistingEmail","toLowerCase","phone","parsePhoneNumber","isValid","canEditUsers","error_2","loadInitialReferenceData","loadCarriers","loadData","lazyLoadReferenceData","openPartialSave","partiallySaved","scope","hasLocos","isSelectedSubTypeRsl","selectedUserIsRslWithLocos","rslType","add","msg","referenceDataService","getAllUserFilters","find","o","GetInitialFilters","userTypeChanged","newValue","oldValue","internalType","userSubTypeChanged","getLocos","parsedOfficePhoneNumberResult","parsedCellPhoneNumberResult","getUserById","utilsService","getFormattedPhoneNumber","number","extension","restoringPartialSave","getDataToBeRestored","get","roleService","getTypes","getSubTypes","getRsls","referenceDataResponse","materialGroupService","getAllRef","getModulesByRequest","modules","includeDeleted","module","unshift","shortDescription","code","dispatchDesks","carrierGroups","carriersNotInGroup","desksNotInParent","allCarrier","map","carrierService","carrierGroupPrefix","groupId","carrierPrefix","desk","parentId","dispatchDeskPrefix","cg","concat","enumerable","configurable","getFormattedDateForHintText","locoType","set","reset","invalidateOfficePhoneExtension","getNumber","daysDifference","offset","format","addDays","Date","findMatchingFilter","component","matchingItem","split","join","getUserById_AnyApplication","lazyInject","TYPES","ReferenceDataService","UserService","RoleService","CarrierService","UtilsService","MaterialGroupService","Watch","immediate","Function","Component","$_veeValidate","Mixins","LayoutMixin","SnackbarMixin","PartialSaveMixin","VAlert","VAutocomplete","VCard","VCardActions","VCardText","VCheckbox","VChip","VContainer","VDialog","VDivider","VFlex","VForm","VLayout","VProgressLinear","VSpacer","VStepper","VStepperContent","VStepperHeader","VStepperItems","VStepperStep","VTextField","VTextarea","VToolbar","VToolbarTitle","VTooltip","VTreeview","createSimpleFunctional","Selectable","indeterminate","indeterminateIcon","offIcon","onIcon","inputIndeterminate","VInput","validationState","isDisabled","shouldValidate","hasSuccess","hasColor","genCheckbox","_this$attrs$","attrs$","checkboxAttrs","title","_objectWithoutProperties","_excluded","dark","light","genInput","rippleState","genDefaultSlot","ValidatedFieldMixin","store","useStore","$store","innerValue","onInnerValueChanged","onValueChanged","fieldValidationRules","required","internalReadonly","showDetails","displayHint","max","hint","placeholder","showDisplayHint","managementPage","Prop","deep","components","ValidationProvider","defaultMenuProps","VSelectMenuProps","offsetY","offsetOverflow","VSelect","allowOverflow","autoSelectFirst","queryText","itemText","toLocaleLowerCase","indexOf","hideNoData","menuProps","noFilter","searchInput","lazySearch","selectedIndex","computedItems","filteredItems","selectedValues","selectedItems","getValue","hasDisplayedItems","hideSelected","hasItem","currentRange","selectedItem","getText","isSearching","internalSearch","allItems","getPropertyFromItem","isAnyValueAllowed","isDirty","searchIsDirty","multiple","menuCanShow","isFocused","$_menuProps","contentClass","trim","valueComparator","listData","items","virtualizedItems","document","addEventListener","onCopy","$refs","select","removeEventListener","blur","updateSelf","isMenuActive","hasSlot","activateMenu","setSearch","destroyed","onFilteredItemsChanged","setMenuIndex","menu","getTiles","onInternalSearchChanged","updateMenuDimensions","updateDimensions","changeSelectedIndex","keyCode","keyCodes","left","right","backspace","delete","deleteCurrentItem","curIndex","curItem","isInteractive","getDisabled","lastIndex","nextIndex","nextItem","selectItem","setValue","clearableCallback","mergeData","getObjectValueByPath","autocomplete","domProps","genInputSlot","slot","genSelections","onClick","onFocus","isAppendInner","onInput","badInput","validity","onKeyDown","ctrlKey","home","end","onSpaceDown","onTabDown","onUpDown","preventDefault","setSelectedItems","event","_event$clipboardData","_event$clipboardData2","currentItem","currentItemText","clipboardData","setData","_classCallCheck","instance","Constructor","_defineProperties","descriptor","writable","_createClass","protoProps","staticProps","_defineProperty","obj","AsYouTypeState","_ref","onCountryChange","onCallingCodeChange","properties","_i","_Object$keys","keys","defaultCountry","defaultCallingCode","international","IDDPrefix","missingPlus","callingCode","digits","resetNationalSignificantNumber","initCountryAndCallingCode","nationalSignificantNumber","getNationalDigits","nationalSignificantNumberMatchesInput","nationalPrefix","carrierCode","complexPrefixBeforeNationalSignificantNumber","country","setCountry","setCallingCode","nextDigits","slice","DIGIT_PLACEHOLDER","DIGIT_PLACEHOLDER_MATCHER","RegExp","repeat","string","times","cutAndStripNonPairedParens","cutBeforeIndex","stripNonPairedParens","dangling_braces","start","cleared_string","_i2","_dangling_braces","populateTemplateWithDigits","template","position","_iterator2","_isArray2","isArray","_i3","_ref2","digit","search","replace","formatCompleteNumber","state","shouldTryNationalPrefixFormattingRule","getSeparatorAfterNationalPrefix","matcher","pattern","test","formatNationalNumberWithAndWithoutNationalPrefixFormattingRule","canFormatCompleteNumber","checkNumberLength","formattedNumber","formatNationalNumber","useNationalPrefixFormattingRule","_ref3","formattedNationalNumber","formatNationalNumberUsingFormat","useInternationalFormat","withNationalPrefix","isValidFormattedNationalNumber","parseDigits","DUMMY_DIGIT","LONGEST_NATIONAL_PHONE_NUMBER_LENGTH","LONGEST_DUMMY_PHONE_NUMBER","NATIONAL_PREFIX_SEPARATORS_PATTERN","SUPPORT_LEGACY_FORMATTING_PATTERNS","CREATE_CHARACTER_CLASS_PATTERN","CREATE_STANDALONE_DIGIT_PATTERN","NON_ALTERING_FORMAT_REG_EXP","MIN_LEADING_DIGITS_LENGTH","AsYouTypeFormatter","isNANP","nationalPrefixFormattingRule","usesNationalPrefix","resetFormat","chosenFormat","nationalNumberTemplate","populatedNationalNumberTemplate","populatedNationalNumberTemplatePosition","numberingPlan","matchingFormats","formats","narrowDownMatchingFormats","_this2","_iterator","_isArray","formattedCompleteNumber","setNationalNumberTemplate","lastIndexOf","formatNationalNumberWithNextDigits","previouslyChosenFormat","newlyChosenFormat","chooseFormat","formatNextNationalNumberDigits","_ref4","_this3","leadingDigits","leadingDigitsPatternIndex","formatSuits","formatMatches","nationalPrefixIsOptionalWhenFormattingInNationalFormat","nationalPrefixIsMandatoryWhenFormattingInNationalFormat","leadingDigitsPatternsCount","leadingDigitsPatterns","Math","min","leadingDigitsPattern","internationalFormat","_this4","_loop2","_ref5","getFormatFormat","createTemplateForFormat","_loop","_ret","getTemplateForFormat","_ref6","spacing","internationalPrefix","getInternationalPrefixBeforeCountryCallingCode","getDigitsWithoutInternationalPrefix","_ref7","match","strictPattern","nationalNumberDummyDigits","nationalPrefixIncludedInTemplate","numberFormat","numberFormatWithNationalPrefix","applyInternationalSeparatorStyle","_slicedToArray","arr","_arrayWithHoles","_iterableToArrayLimit","_nonIterableRest","_arr","_n","err","VALID_FORMATTED_PHONE_NUMBER_DIGITS_PART","VALID_FORMATTED_PHONE_NUMBER_DIGITS_PART_PATTERN","VALID_FORMATTED_PHONE_NUMBER_PART","AFTER_PHONE_NUMBER_DIGITS_END_PATTERN","COMPLEX_NATIONAL_PREFIX","AsYouTypeParser","onNationalSignificantNumberChange","justLeadingPlus","_extractFormattedDigi","extractFormattedDigitsAndPlus","_extractFormattedDigi2","formattedDigits","hasPlus","startInternationalNumber","inputDigits","hasReceivedThreeLeadingDigits","appendDigits","extractIddPrefix","isWaitingForCountryCallingCode","extractCountryCallingCode","appendNationalSignificantNumberDigits","hasExtractedNationalSignificantNumber","extractNationalSignificantNumber","update","_extractCountryCallin","countryCallingCode","hasSelectedNumberingPlan","nationalPrefixForParsing","_nationalPrefixForParsing","couldPossiblyExtractAnotherNationalSignificantNumber","nationalDigits","setState","_extractNationalNumbe","extractNationalNumberFromPossiblyIncompleteNumber","nationalNumber","onExtractedNationalNumber","prevNationalSignificantNumber","_extractNationalNumbe2","nationalSignificantNumberIndex","prefixBeforeNationalNumber","extractAnotherNationalSignificantNumber","fixMissingPlus","extractCallingCodeAndNationalSignificantNumber","numberWithoutIDD","stripIddPrefix","_extractCountryCallin2","extractCountryCallingCodeFromInternationalNumberWithoutPlusSign","newCallingCode","extractFormattedPhoneNumber","startsAt","_extractFormattedDigitsAndPlus","extractedNumber","_extractFormattedDigi3","_extractFormattedDigi4","_typeof","USE_NON_GEOGRAPHIC_COUNTRY_CODE","optionsOrDefaultCountry","_this$getCountryAndCa","getCountryAndCallingCode","_this$getCountryAndCa2","hasCountry","isNonGeographicCallingCode","_this$parser$input","parser","formattedOutput","determineTheCountryIfNeeded","formatter","reExtractNationalSignificantNumber","getFullNumber","getNonFormattedNumber","selectNumberingPlan","getCallingCode","_this$state","countryCode","isCountryCallingCodeAmbiguous","determineTheCountry","isInternational","prefix","_this$state2","getNonFormattedNationalNumberWithPrefix","countryCodes","getCountryCodesForCallingCode","getCountryByCallingCode","_this$state3","getCountry","getCountryCallingCode","phoneNumber","PhoneNumber","isPossible","getTemplate","getNonFormattedTemplate","isVerticalProvided","height","computedTransition","reverse","rtl","VTabReverseTransition","VTabTransition","convertToUnit","current","previous","enter","leave","wrapper","onTransition","propertyName","scrollHeight","requestAnimationFrame","setTimeout","clientHeight","contentData","wrapperData","prevent","Rippleable","Comparable","prop","inputValue","falseValue","trueValue","lazyValue","appIsDark","isMultiple","disabled","computedId","checked","onBlur","change","onChange","focus","keydown","onKeydown"],"mappings":"yNAEeA,eAAIC,OAAO,CACxBC,KAAM,iBAENC,MAAO,CACLC,KAAMC,OACNC,OAAQD,OACRE,WAAYF,U,0iCCgBDG,sBACbC,OACAC,OACAC,GACAV,OAAO,CACPC,KAAM,UAENC,MAAO,CACLS,OAAQ,CACNC,KAAMR,OACNS,UAAWC,GACT,MAAO,CACL,MACA,QACA,SACA,QACAC,SAASD,KAGfE,WAAY,CACVJ,KAAMR,OACNa,QAAS,kBAEXC,cAAeC,QACfC,MAAOD,QACPE,YAAaF,QACbG,UAAW,CACTV,KAAMR,OACNa,QAAS,WAEXM,KAAM,CACJN,QAAS,GACTL,KAAM,CAACO,QAASf,QAChBS,UAAWC,GACT,MAAsB,kBAARA,IAA4B,IAARA,IAGtCU,SAAUL,QACVM,UAAWN,QACXO,KAAMP,QACNP,KAAM,CACJA,KAAMR,OACNS,UAAWC,GACT,MAAO,CACL,OACA,QACA,UACA,WACAC,SAASD,KAGfa,MAAO,CACLf,KAAMO,QACNF,SAAS,IAIbW,SAAU,CACRC,iBACE,IAAKC,KAAKnB,OAAQ,OAAO,KAEzB,IAAIoB,EAAkB,CACpBC,YAAa,kBACbC,MAAO,CACL,CAAC,oBAAoBH,KAAKnB,SAAW,IASzC,OALImB,KAAKZ,gBACPa,EAAOD,KAAKI,mBAAmBJ,KAAKK,cAAeJ,GACnDA,EAAKE,MAAM,+BAAgC,GAGtCH,KAAKM,eAAe,MAAOL,IAEpCM,sBACE,IAAKP,KAAKT,YAAa,OAAO,KAE9B,MAAMiB,EAAQR,KAAKS,UAEnB,OAAOT,KAAKM,eAAeI,OAAM,CAC/BR,YAAa,uBACb9B,MAAO,CACLoC,QACAf,MAAM,EACNkB,OAAO,GAETC,MAAO,CACL,aAAcZ,KAAKa,SAASC,KAAKC,EAAEf,KAAKd,aAE1C8B,GAAI,CACFC,MAAOA,IAAOjB,KAAKkB,UAAW,IAE/B,CACDlB,KAAKM,eAAea,OAAO,CACzB/C,MAAO,CAAEoC,UACRR,KAAKR,cAGZ4B,eACE,OAAKpB,KAAKqB,aAEHrB,KAAKM,eAAea,OAAO,CAChCjB,YAAa,gBACb9B,MAAO,CAAEoC,MAAOR,KAAKS,YACpBT,KAAKqB,cALuB,MAOjCC,UACE,MAAMA,EAAOC,IAAA,GACR7C,OAAO8C,QAAQ1B,SAASwB,QAAQG,KAAKzB,OADD,IAEvC,kBAAmBX,QAAQW,KAAKnB,QAChC,iBAAkBmB,KAAKV,MACvB,oBAAqBU,KAAKN,SAC1B,qBAAsBM,KAAKL,UAC3B,gBAAiBK,KAAKJ,OAOxB,OAJII,KAAKnB,SACPyC,EAAQ,mBAAmBtB,KAAKnB,SAAY,GAGvCyC,GAETjB,gBACE,OAAOL,KAAKQ,OAASR,KAAKlB,MAE5BuC,eACE,OAAkB,IAAdrB,KAAKP,OACgB,kBAAdO,KAAKP,MAAqBO,KAAKP,KAAaO,KAAKP,OACvD,CAAC,QAAS,OAAQ,UAAW,WAAWR,SAASe,KAAKlB,OAEpD,IAAIkB,KAAKlB,OAElB4C,iBACE,OACE1B,KAAK2B,SACJtC,QAAQW,KAAKnB,SAAWmB,KAAKZ,eAGlCuC,UACE,OAAO3B,KAAKJ,MAAQI,KAAKN,UAE3Be,YACE,OAAOT,KAAK0B,eAAiB1B,KAAKK,mBAAgBuB,GAEpDC,SACE,SACE7B,KAAKlB,MACJkB,KAAKZ,eACLY,KAAKN,WAGDoC,OAAUN,QAAQ1B,SAAS+B,OAAOJ,KAAKzB,QAIlD+B,UAEM/B,KAAKgC,OAAOC,eAAe,YAC7BC,eAAS,UAAW,WAAYlC,OAIpCmC,QAAS,CACPC,aACE,MAAMC,EAAW,CACfrC,KAAKsC,OAAOC,SAAWvC,KAAKoB,aAC5BpB,KAAKwC,aACLxC,KAAKD,eACLC,KAAKsC,OAAOG,OACZzC,KAAK0C,aAAaC,MACd3C,KAAK0C,aAAaC,MAAM,CAAEC,OAAQ5C,KAAK4C,SACvC5C,KAAKO,qBAGLN,EAAkB,CACtBC,YAAa,oBAGf,OAAOF,KAAKM,eAAe,MAAOL,EAAMoC,IAE1CG,aACE,OAAOxC,KAAKM,eAAe,MAAO,CAChCJ,YAAa,oBACZF,KAAKsC,OAAOnD,UAEjB0D,WACE,IAAI5C,EAAkB,CACpBC,YAAa,UACbU,MAAO,CACLkC,KAAM,SAER9B,GAAIhB,KAAK+C,WACT5C,MAAOH,KAAKsB,QACZ0B,MAAOhD,KAAKiD,OACZC,WAAY,CAAC,CACX/E,KAAM,OACN0B,MAAOG,KAAKkB,YAIhB,IAAKlB,KAAKZ,cAAe,CACvB,MAAM+D,EAAWnD,KAAK2B,QAAU3B,KAAKoD,aAAepD,KAAKI,mBACzDH,EAAOkD,EAASnD,KAAKK,cAAeJ,GAGtC,OAAOD,KAAKM,eAAe,MAAOL,EAAM,CAACD,KAAKoC,gBAGhDQ,SACE5C,KAAKkB,UAAYlB,KAAKkB,WAI1BmC,OAAQC,GACN,MAAMD,EAASrD,KAAK6C,WAEpB,OAAK7C,KAAKxB,WAEH8E,EAAE,aAAc,CACrBlF,MAAO,CACLD,KAAM6B,KAAKxB,WACXD,OAAQyB,KAAKzB,OACbF,KAAM2B,KAAK3B,OAEZ,CAACgF,IARyBA,M,oFCjPjC,4BAMepF,oBAAIC,OAAO,CACxBC,KAAM,aAEN+E,WAAY,CAAEK,eAEdnF,MAAO,CACLmF,OAAQ,CACNzE,KAAM,CAACO,QAASmE,QAChBrE,SAAS,IAIbgD,QAAS,CACPsB,YAA+B,IAApBxD,EAAAyD,UAAAC,OAAA,QAAA/B,IAAA8B,UAAA,GAAAA,UAAA,GAAkB,GAC3B,OAAK1D,KAAKuD,QAEVtD,EAAKC,YAAc,sCAEnBD,EAAKiD,WAAajD,EAAKiD,YAAc,GACrCjD,EAAKiD,WAAWU,KAAK,CACnBzF,KAAM,SACN0B,MAAO,CAAEgE,QAAQ,KAGZ7D,KAAKM,eAAe,MAAOL,IAVT,U,oCCpB/B,gEAmBA,MAAM6D,EAAarF,eACjBsF,OACAC,eAAkB,UAAW,iBAAkB,cAOlCF,SAAW5F,SAAkBA,OAAO,CACjDC,KAAM,iBAEN+E,WAAY,CAAEK,eAEdU,OAAQ,CAAC,aAET7F,MAAO,CACLoC,MAAO,CACL1B,KAAMR,OACNa,QAAS,WAEX+E,SAAU7E,QACV8E,aAAc,CACZrF,KAAMR,OACNa,QAAS,aAEXiF,SAAU/E,QACVgF,SAAU,CACRvF,KAAMR,OACNa,QAAS,SAEXmF,UAAW,CACTxF,KAAMR,OACNa,QAAS,UAEXoF,MAAO,CACLzF,KAAM0F,MACNrF,QAASA,IAAM,IAEjBsF,KAAM,CAACC,OAAQpG,SAGjB2B,OACE,MAAO,CACLiB,UAAU,EACVyD,YAAY,IAIhB7E,SAAU,CACRwB,UACE,MAAO,CACL,0BAA2BtB,KAAKkB,SAChC,4BAA6BlB,KAAKoE,SAClC,4BAA6BpE,KAAK2E,WAClC,qCAAsC3E,KAAK4E,SAC3C,4BAA6B5E,KAAKkE,WAGtCU,WACE,OAAO5E,KAAKuE,MAAMM,KAAKC,IAA2B,IAAfA,OAIvCC,UACE/E,KAAKgF,SAAWhF,KAAKgF,QAAQC,SAASjF,OAGxCkF,gBACElF,KAAKgF,SAAWhF,KAAKgF,QAAQG,WAAWnF,OAG1CmC,QAAS,CACPlB,MAAOmE,GACLA,EAAEC,kBAEFrF,KAAKsF,MAAM,QAASF,GAEhBpF,KAAKoE,UACPpE,KAAKuF,UAAUvF,KAAKyE,OAGxBe,QAAS/F,GACP,OAAOO,KAAKM,eAAea,OAAO1B,IAEpCgG,WACE,OAAOzF,KAAKM,eAAe,MAAO,CAChCJ,YAAa,oBACZF,KAAKsC,OAAOnD,UAEjBuG,UACE,MAAMlF,IAAUR,KAAK4E,WAAa5E,KAAKkE,WAAYlE,KAAKkB,WAAalB,KAAKQ,MAE1E,OAAOR,KAAKM,eAAe,OAAQN,KAAKI,mBAAmBI,EAAO,CAChEN,YAAa,0BACXF,KAAK2F,mBAEXA,iBACE,MAAMtD,EAAW,GAcjB,OAZIrC,KAAK4E,SACPvC,EAASuB,KAAK5D,KAAKwF,QAAQxF,KAAKsE,YACvBtE,KAAKkE,SACVlE,KAAKoE,SACP/B,EAASuB,KAAK5D,KAAKwF,QAAQxF,KAAKqE,WAEhChC,EAASuB,KAAK5D,KAAKwF,QAAQxF,KAAKmE,eAGlC9B,EAASuB,KAAKtF,OAAO0B,KAAKyE,OAGrBpC,GAETO,OAAQ6B,GACNzE,KAAKkB,SAAWuD,EAAKmB,aAAe5F,KAAKyE,KAAKmB,WAC9C5F,KAAK2E,WAAaD,OAAOD,GAAQC,OAAO1E,KAAKyE,QAIjDpB,OAAQC,GACN,OAAOA,EAAE,MAAO,CACdpD,YAAa,kBACbC,MAAOH,KAAKsB,QACZ4B,WAAY,CAAC,CACX/E,KAAM,SACN0B,MAAOG,KAAKoE,WAEdpD,GAAI,CAAEC,MAAOjB,KAAKiB,QACjB,CACDjB,KAAK0F,UACL1F,KAAKyF,iB,ypCCjIX,MAAM3B,EAAarF,eACjBC,OACAmH,eAAmB,WACnBC,QAOahC,SAAW5F,OAAO,CAC/BC,KAAM,YAEN4H,UACE,MAAO,CACLR,UAAWvF,KAAKuF,UAChBS,WAAYhG,KAAKiG,WAIrB7H,MAAO,CACL8H,UAAW7G,QACX8G,UAAW9G,QACX+G,KAAM/G,QACN4G,SAAU5G,SAGZY,OACE,MAAMA,EAAwB,CAC5BoG,UAAU,EACVC,MAAO,GACPC,QAAS,GACTC,WAAW,GAOb,OAJAvG,EAAKwG,kBAAkC,MAAdzG,KAAKH,MAC1BG,KAAKH,OACJI,EAAK,IAAM,IAAIwE,MAAQ,EAErBxE,GAGTH,SAAU,CACRwB,UACE,OAAAC,EAAA,CACE,kBAAmBvB,KAAKoG,KACxB,uBAAwBpG,KAAKqG,SAC7B,sBAAuBrG,KAAKiG,SAC5B,wBAAyBjG,KAAKkG,UAC9B,wBAAyBlG,KAAKmG,WAC3BzH,OAAO8C,QAAQ1B,SAASwB,QAAQG,KAAKzB,QAG5CiD,SACE,OAAA1B,EAAA,GACK7C,OAAO8C,QAAQ1B,SAASmD,OAAOxB,KAAKzB,SAK7C0G,MAAO,CACLC,cAAe3H,EAAK4H,GAClB5G,KAAKwG,UAAY9B,OAAO1F,GAAO0F,OAAOkC,GAEtCA,IAAW5G,KAAKqG,UAAW,GAE3BrG,KAAK6G,eAIT9E,UAEM/B,KAAK8G,WAAWC,OAClB7E,eAAS,SAAU,UAAWlC,OAIlC+E,UACE/E,KAAK6G,cAGP1E,QAAS,CACP8C,SAAU+B,GACmB,mBAAvBA,EAAKC,SAAS9I,KAChB6B,KAAKsG,MAAM1C,KAAKoD,GACgB,sBAAvBA,EAAKC,SAAS9I,OACtB6I,EAAiChB,WAAahG,KAAKiG,SACpDjG,KAAKuG,QAAQ3C,KAAKoD,KAGtB7B,WAAY6B,GACiB,mBAAvBA,EAAKC,SAAS9I,KAChB6B,KAAKsG,MAAQtG,KAAKsG,MAAMY,OAAQC,GAA4BA,IAAMH,GAClC,sBAAvBA,EAAKC,SAAS9I,OACtB6I,EAAiChB,WAAahG,KAAKiG,SACpDjG,KAAKuG,QAAUvG,KAAKuG,QAAQW,OAAQC,GAA+BA,IAAMH,KAG7EzB,UAAWd,GACTzE,KAAKoH,UAAU,IAAOpH,KAAK2G,cAAgBlC,IAE7CoC,aACE,IAAK,IAAIQ,EAAQrH,KAAKsG,MAAM3C,SAAU0D,GAAS,GAC7CrH,KAAKsG,MAAMe,GAAOzE,OAAO5C,KAAK2G,eAEhC,IAAK,IAAIU,EAAQrH,KAAKuG,QAAQ5C,SAAU0D,GAAS,GAC/CrH,KAAKuG,QAAQc,GAAOzE,OAAO5C,KAAK2G,cAAsB3G,KAAKwG,aAKjEnD,OAAQC,GACN,OAAOA,EAAEtD,KAAKsH,IAAK,CACjBpH,YAAa,YACbC,MAAOH,KAAKsB,QACZ0B,MAAOhD,KAAKiD,QACXjD,KAAKsC,OAAOnD,a,2CCzInB,IAAIkE,EAAS,WAAa,IAAIkE,EAAIvH,KAASwH,EAAGD,EAAIjH,eAAmBmH,EAAGF,EAAIG,MAAMD,IAAID,EAAG,OAAOC,EAAG,cAAc,CAAC7G,MAAM,CAAC,eAAe,GAAG,MAAQ2G,EAAII,QAAQ,CAACF,EAAG,WAAW,CAAC7G,MAAM,CAAC,IAAM,GAAG,KAAO,KAAK,CAAC6G,EAAG,SAAS,CAAC7G,MAAM,CAAC,KAAO,KAAK,CAAC6G,EAAG,SAAS,CAACvH,YAAY,gBAAgB,CAACuH,EAAG,YAAY,CAAC7G,MAAM,CAAC,KAAO,GAAG,MAAQ,qBAAqB,KAAO,KAAK,CAAC6G,EAAG,kBAAkB,CAACF,EAAIK,GAAGL,EAAIM,GAAGN,EAAIO,OAAOC,QAAUR,EAAIO,OAAOC,OAAOC,IAA+B,MAAzBT,EAAIO,OAAOC,OAAOC,GAAaT,EAAIO,OAAOC,OAAOC,GAAK,mBAAmBP,EAAG,YAAYA,EAAG,YAAY,CAACvE,WAAW,CAAC,CAAC/E,KAAK,OAAO8J,QAAQ,SAASpI,OAA8B,IAAvB0H,EAAIW,eAA0BC,WAAW,6BAA6BvH,MAAM,CAAC,IAAM,IAAIwH,YAAYb,EAAIc,GAAG,CAAC,CAACC,IAAI,YAAYC,GAAG,SAASC,GACptB,IAAIxH,EAAKwH,EAAIxH,GACb,MAAO,CAACyG,EAAG,QAAQF,EAAIkB,GAAG,CAAC7H,MAAM,CAAC,KAAO,IAAII,GAAG,CAAC,MAAQ,SAAS0H,GAAQ,OAAOnB,EAAIoB,sBAAsB,OAAQpB,EAAIP,SAAShG,GAAI,CAACyG,EAAG,SAAS,CAACF,EAAIK,GAAG,2BAA2B,GAAGH,EAAG,OAAO,CAACF,EAAIK,GAAG,8BAA8B,GAAGH,EAAG,WAAW,CAAC7G,MAAM,CAAC,WAAa,GAAG,MAAQ,OAAOgI,MAAM,CAAC/I,MAAO0H,EAAW,QAAEsB,SAAS,SAAUC,GAAMvB,EAAIwB,QAAQD,GAAKX,WAAW,YAAY,CAACV,EAAG,SAAS,CAAC7G,MAAM,CAAC,KAAO,GAAG,MAAQ,cAAc,CAAC6G,EAAG,cAAc,CAACF,EAAIK,GAAG,cAAcH,EAAG,oBAAoB,CAACvH,YAAY,OAAOU,MAAM,CAAC,cAAgB,GAAG,MAAQ,YAAY,IAAI,IAAI,GAAG6G,EAAG,WAAW,CAAC7G,MAAM,CAAC,WAAa,GAAG,MAAQ,OAAOgI,MAAM,CAAC/I,MAAO0H,EAAU,OAAEsB,SAAS,SAAUC,GAAMvB,EAAIyB,OAAOF,GAAKX,WAAW,WAAW,CAACV,EAAG,SAAS,CAAC7G,MAAM,CAAC,KAAO,GAAG,MAAQ,cAAc,CAAC6G,EAAG,cAAc,CAACF,EAAIK,GAAG,aAAaH,EAAG,oBAAoB,CAACvH,YAAY,OAAOU,MAAM,CAAC,cAAgB,GAAG,MAAQ,YAAY,IAAI,IAAI,GAAG6G,EAAG,uBAAuBA,EAAG,YAAY,CAACmB,MAAM,CAAC/I,MAAO0H,EAAe,YAAEsB,SAAS,SAAUC,GAAMvB,EAAI0B,YAAYH,GAAKX,WAAW,gBAAgB,CAACV,EAAG,mBAAmB,EAAyB,IAAvBF,EAAIW,eAA0BT,EAAG,aAAaF,EAAI2B,MAA6B,IAAvB3B,EAAIW,eAA0BT,EAAG,YAAY,CAAC7G,MAAM,CAAC,OAAS,IAAIwH,YAAYb,EAAIc,GAAG,CAAC,CAACC,IAAI,YAAYC,GAAG,SAASC,GAChuC,IAAIxH,EAAKwH,EAAIxH,GACb,MAAO,CAACyG,EAAG,iBAAiBF,EAAIkB,GAAG,CAAC7H,MAAM,CAAC,KAAO,IAAI,MAAQ,CAAC,WAAc,OAAQ2G,EAAI4B,OAAOC,IAAI,kBAAqBpI,GAAI,CAACuG,EAAIK,GAAG,aAAaH,EAAG,OAAO,CAACF,EAAIK,GAAG,iBAAiB,MAAK,EAAM,cAAcL,EAAI2B,KAAKzB,EAAG,aAAaA,EAAG,YAAY,CAAC7G,MAAM,CAAC,OAAS,IAAIwH,YAAYb,EAAIc,GAAG,CAAC,CAACC,IAAI,YAAYC,GAAG,SAASC,GAC5T,IAAIxH,EAAKwH,EAAIxH,GACb,MAAO,CAACyG,EAAG,iBAAiBF,EAAIkB,GAAG,CAAC7H,MAAM,CAAC,KAAO,IAAI,MAAQ,CAAC,WAAc,OAAQ2G,EAAI4B,OAAOC,IAAI,iBAAoBpI,GAAI,CAACuG,EAAIK,GAAG,aAAaH,EAAG,OAAO,CAACF,EAAIK,GAAG,oBAAoBH,EAAG,aAAaA,EAAG,YAAY,CAAC7G,MAAM,CAAC,OAAS,IAAIwH,YAAYb,EAAIc,GAAG,CAAC,CAACC,IAAI,YAAYC,GAAG,SAASC,GAC5R,IAAIxH,EAAKwH,EAAIxH,GACb,MAAO,CAACyG,EAAG,iBAAiBF,EAAIkB,GAAG,CAAC7H,MAAM,CAAC,KAAO,IAAI,MAAQ,CAAC,WAAc,OAAQ2G,EAAI4B,OAAOC,IAAI,sBAAyBpI,GAAI,CAACuG,EAAIK,GAAG,kBAAkBH,EAAG,OAAO,CAACF,EAAIK,GAAG,yBAAyBH,EAAG,aAAaA,EAAG,YAAY,CAAC7G,MAAM,CAAC,OAAS,IAAIwH,YAAYb,EAAIc,GAAG,CAAC,CAACC,IAAI,YAAYC,GAAG,SAASC,GAC3S,IAAIxH,EAAKwH,EAAIxH,GACb,MAAO,CAACyG,EAAG,iBAAiBF,EAAIkB,GAAG,CAAC7H,MAAM,CAAC,KAAO,OAAOI,GAAI,CAACuG,EAAIK,GAAG,oBAAoBH,EAAG,OAAO,CAACF,EAAIK,GAAG,2BAA2BH,EAAG,cAAc,GAAGA,EAAG,kBAAkB,EAAyB,IAAvBF,EAAIW,eAA0BT,EAAG,oBAAoB,CAAC7G,MAAM,CAAC,KAAO,MAAM,CAAC6G,EAAG,SAAS,CAAC7G,MAAM,CAAC,gBAAgB,WAAW,CAAC6G,EAAG,SAAS,CAACA,EAAG,cAAc,CAACA,EAAG,WAAW,CAACvH,YAAY,OAAOU,MAAM,CAAC,IAAM,GAAG,KAAO,KAAK,CAAC6G,EAAG,SAAS,CAAC7G,MAAM,CAAC,KAAO,KAAK,CAAC6G,EAAG,eAAe,CAACvE,WAAW,CAAC,CAAC/E,KAAK,WAAW8J,QAAQ,qBAAqBpI,MAAO0H,EAAI8B,gBAAsB,OAAElB,WAAW,yBAAyBmB,UAAU,CAAC,SAAU,KAAQ1I,MAAM,CAAC,KAAO,SAAS,MAAQ,WAAW,YAAc,UAAU,iBAAiB2G,EAAI4B,OAAOI,QAAQ,SAAU,UAAU,aAAa,UAAU,UAAYhC,EAAI8B,gBAAgBG,OAAO,OAAO,KAAQ,eAAiBjC,EAAIkC,wBAAyB,kBAAkB,GAAG,SAAWlC,EAAIW,gBAAkBX,EAAImC,UAAUd,MAAM,CAAC/I,MAAO0H,EAAIP,KAAW,OAAE6B,SAAS,SAAUC,GAAMvB,EAAIoC,KAAKpC,EAAIP,KAAM,SAAU8B,IAAMX,WAAW,kBAAkB,IAAI,IAAI,GAAGV,EAAG,aAAaA,EAAG,iBAAiB,CAACA,EAAG,YAAYA,EAAG,QAAQ,CAAC7G,MAAM,CAAC,MAAQ,YAAY,KAAO,GAAG,GAAK,4BAA4B,CAAC2G,EAAIK,GAAG,YAAYH,EAAG,QAAQ,CAAC7G,MAAM,CAAC,MAAQ,WAAWI,GAAG,CAAC,MAAQ,SAAS0H,GAAQ,OAAOnB,EAAIqC,WAAW,IAAK,aAAa,CAACrC,EAAIK,GAAG,WAAW,IAAI,IAAI,IAAI,GAAGL,EAAI2B,KAAKzB,EAAG,oBAAoB,CAAC7G,MAAM,CAAC,KAAO,MAAM,CAAC6G,EAAG,SAAS,CAAC7G,MAAM,CAAC,gBAAgB,YAAY,CAAC6G,EAAG,SAAS,CAACA,EAAG,cAAc,CAACA,EAAG,WAAW,CAACvH,YAAY,OAAOU,MAAM,CAAC,IAAM,GAAG,KAAO,KAAK,CAAC6G,EAAG,SAAS,CAAC7G,MAAM,CAAC,KAAO,KAAK,CAAC6G,EAAG,IAAI,CAACF,EAAIK,GAAG,aAAcL,EAAIM,GAAGN,EAAIP,KAAKwC,QAAQ,SAAU/B,EAAG,SAAS,CAAC7G,MAAM,CAAC,KAAO,GAAG,IAAM,KAAK,CAAC6G,EAAG,eAAe,CAACvE,WAAW,CAAC,CAAC/E,KAAK,WAAW8J,QAAQ,qBAAqBpI,MAAO0H,EAAI8B,gBAAyB,UAAElB,WAAW,4BAA4BmB,UAAU,CAAC,SAAU,KAAQ1I,MAAM,CAAC,KAAO,YAAY,MAAQ,cAAc,YAAc,aAAa,iBAAiB2G,EAAI4B,OAAOI,QAAQ,YAAa,WAAW,aAAa,aAAa,UAAYhC,EAAI8B,gBAAgBQ,UAAU,OAAO,KAAO,YAAY,kBAAkB,GAAG,SAAWtC,EAAImC,UAAUd,MAAM,CAAC/I,MAAO0H,EAAIP,KAAc,UAAE6B,SAAS,SAAUC,GAAMvB,EAAIoC,KAAKpC,EAAIP,KAAM,YAAa8B,IAAMX,WAAW,qBAAqB,GAAGV,EAAG,SAAS,CAAC7G,MAAM,CAAC,KAAO,GAAG,IAAM,KAAK,CAAC6G,EAAG,eAAe,CAACvE,WAAW,CAAC,CAAC/E,KAAK,WAAW8J,QAAQ,qBAAqBpI,MAAO0H,EAAI8B,gBAAwB,SAAElB,WAAW,2BAA2BmB,UAAU,CAAC,SAAU,KAAQ1I,MAAM,CAAC,KAAO,WAAW,MAAQ,aAAa,YAAc,YAAY,iBAAiB2G,EAAI4B,OAAOI,QAAQ,WAAY,WAAW,aAAa,YAAY,UAAYhC,EAAI8B,gBAAgBS,SAAS,OAAO,KAAO,YAAY,kBAAkB,GAAG,SAAWvC,EAAImC,UAAUd,MAAM,CAAC/I,MAAO0H,EAAIP,KAAa,SAAE6B,SAAS,SAAUC,GAAMvB,EAAIoC,KAAKpC,EAAIP,KAAM,WAAY8B,IAAMX,WAAW,oBAAoB,GAAGV,EAAG,SAAS,CAAC7G,MAAM,CAAC,KAAO,GAAG,IAAM,KAAK,CAAC6G,EAAG,eAAe,CAACvE,WAAW,CAAC,CAAC/E,KAAK,WAAW8J,QAAQ,qBAAqBpI,MAAO0H,EAAI8B,gBAAqB,MAAElB,WAAW,wBAAwBmB,UAAU,CAAC,SAAU,KAAQ1I,MAAM,CAAC,KAAO,QAAQ,MAAQ,SAAS,YAAc,QAAQ,iBAAiB2G,EAAI4B,OAAOI,QAAQ,QAAS,WAAW,aAAa,QAAQ,UAAYhC,EAAI8B,gBAAgBU,MAAM,OAAO,KAAO,YAAY,kBAAkB,GAAG,SAAWxC,EAAImC,UAAUd,MAAM,CAAC/I,MAAO0H,EAAIP,KAAU,MAAE6B,SAAS,SAAUC,GAAMvB,EAAIoC,KAAKpC,EAAIP,KAAM,QAAS8B,IAAMX,WAAW,iBAAiB,GAAGV,EAAG,SAAS,CAAC7G,MAAM,CAAC,KAAO,GAAG,IAAM,KAAK,CAAC6G,EAAG,aAAa,CAAC7G,MAAM,CAAC,KAAO,4BAA4B,MAAQ,8BAA8B,MAAQ,UAAU,SAAW2G,EAAImC,UAAUd,MAAM,CAAC/I,MAAO0H,EAAIP,KAA8B,0BAAE6B,SAAS,SAAUC,GAAMvB,EAAIoC,KAAKpC,EAAIP,KAAM,4BAA6B8B,IAAMX,WAAW,qCAAqC,GAAGV,EAAG,SAAS,CAAC7G,MAAM,CAAC,KAAO,GAAG,IAAM,KAAK,CAAC6G,EAAG,eAAe,CAACvE,WAAW,CAAC,CAAC/E,KAAK,WAAW8J,QAAQ,qBAAqBpI,MAAO0H,EAAI8B,gBAA2B,YAAElB,WAAW,8BAA8BmB,UAAU,CAAC,SAAU,KAAQ1I,MAAM,CAAC,KAAO,cAAc,KAAO,MAAM,MAAQ,iBAAiB,YAAc,iBAAiB,iBAAiB2G,EAAI4B,OAAOI,QAAQ,cAAe,WAAW,aAAa,iBAAiB,UAAYhC,EAAI8B,gBAAgBW,YAAY,OAAO,SAAWzC,EAAImC,UAAUd,MAAM,CAAC/I,MAAO0H,EAA8B,2BAAEsB,SAAS,SAAUC,GAAMvB,EAAI0C,2BAA2BnB,GAAKX,WAAW,iCAAiC,GAAGV,EAAG,SAAS,CAAC7G,MAAM,CAAC,KAAO,GAAG,IAAM,KAAK,CAAC6G,EAAG,eAAe,CAACvE,WAAW,CAAC,CAAC/E,KAAK,WAAW8J,QAAQ,qBAAqBpI,MAAO0H,EAAI8B,gBAAoC,qBAAElB,WAAW,uCAAuCmB,UAAU,CAAC,SAAU,KAAQ1I,MAAM,CAAC,KAAO,iBAAiB,MAAQ,QAAQ,YAAc,QAAQ,iBAAiB2G,EAAI4B,OAAOI,QAAQ,iBAAkB,WAAW,aAAa,qBAAqB,SAAWhC,EAAImC,UAAqD,GAAzCnC,EAAI2C,kCAA2C,UAAY3C,EAAI8B,gBAAgBc,qBAAqB,QAAQvB,MAAM,CAAC/I,MAAO0H,EAAIP,KAAmB,eAAE6B,SAAS,SAAUC,GAAMvB,EAAIoC,KAAKpC,EAAIP,KAAM,iBAAkB8B,IAAMX,WAAW,0BAA0B,GAAGV,EAAG,SAAS,CAAC7G,MAAM,CAAC,KAAO,GAAG,IAAM,KAAK,CAAC6G,EAAG,eAAe,CAACvE,WAAW,CAAC,CAAC/E,KAAK,WAAW8J,QAAQ,qBAAqBpI,MAAO0H,EAAI8B,gBAAyB,UAAElB,WAAW,4BAA4BmB,UAAU,CAAC,SAAU,KAAQ1I,MAAM,CAAC,KAAO,YAAY,KAAO,MAAM,MAAQ,eAAe,YAAc,eAAe,iBAAiB2G,EAAI4B,OAAOI,QAAQ,YAAa,WAAW,aAAa,eAAe,UAAYhC,EAAI8B,gBAAgBe,UAAU,OAAO,SAAW7C,EAAImC,UAAUd,MAAM,CAAC/I,MAAO0H,EAA4B,yBAAEsB,SAAS,SAAUC,GAAMvB,EAAI8C,yBAAyBvB,GAAKX,WAAW,+BAA+B,GAAGV,EAAG,SAAS,CAAC7G,MAAM,CAAC,KAAO,KAAK,CAAC6G,EAAG,aAAa,CAACvE,WAAW,CAAC,CAAC/E,KAAK,WAAW8J,QAAQ,qBAAqBpI,MAAO0H,EAAI8B,gBAAoB,KAAElB,WAAW,uBAAuBmB,UAAU,CAAC,SAAU,KAAQ1I,MAAM,CAAC,KAAO,QAAQ,MAAQ,QAAQ,YAAc,qBAAqB,iBAAiB2G,EAAI4B,OAAOI,QAAQ,OAAQ,WAAW,aAAa,QAAQ,UAAYhC,EAAI8B,gBAAgBiB,KAAK,OAAO,QAAU/C,EAAI8B,gBAAgBiB,KAAK,OAAO,YAAY,GAAG,OAAS,GAAG,SAAW/C,EAAImC,SAAS,KAAO,qDAAqD,kBAAkB,IAAId,MAAM,CAAC/I,MAAO0H,EAAIP,KAAU,MAAE6B,SAAS,SAAUC,GAAMvB,EAAIoC,KAAKpC,EAAIP,KAAM,QAAS8B,IAAMX,WAAW,iBAAiB,IAAI,IAAI,GAAGV,EAAG,aAAaA,EAAG,iBAAiB,EAAyB,IAAvBF,EAAIW,eAA0BT,EAAG,QAAQ,CAAC7G,MAAM,CAAC,MAAQ,aAAaI,GAAG,CAAC,MAAQ,SAAS0H,GAAQnB,EAAI0B,YAAY,OAAO,CAAC1B,EAAIK,GAAG,UAAUL,EAAI2B,KAAKzB,EAAG,YAAYA,EAAG,QAAQ,CAAC7G,MAAM,CAAC,MAAQ,YAAY,KAAO,GAAG,GAAK,4BAA4B,CAAC2G,EAAIK,GAAG,YAAYH,EAAG,QAAQ,CAAC7G,MAAM,CAAC,MAAQ,WAAWI,GAAG,CAAC,MAAQ,SAAS0H,GAAQ,OAAOnB,EAAIqC,WAAW,IAAK,cAAc,CAACrC,EAAIK,GAAG,WAAW,IAAI,IAAI,IAAI,GAAGH,EAAG,oBAAoB,CAAC7G,MAAM,CAAC,KAAO,MAAM,CAAC6G,EAAG,SAAS,CAAC7G,MAAM,CAAC,gBAAgB,iBAAiB,CAAC6G,EAAG,SAAS,CAACA,EAAG,cAAc,CAACA,EAAG,WAAW,CAACvH,YAAY,OAAOU,MAAM,CAAC,IAAM,GAAG,KAAO,KAAK,CAAC6G,EAAG,SAAS,CAAC7G,MAAM,CAAC,KAAO,GAAG,IAAM,KAAK,CAAC6G,EAAG,iBAAiB,CAACvE,WAAW,CAAC,CAAC/E,KAAK,WAAW8J,QAAQ,qBAAqBpI,MAAO0H,EAAI8B,gBAAwB,SAAElB,WAAW,2BAA2BmB,UAAU,CAAC,SAAU,KAAQ1I,MAAM,CAAC,KAAO,WAAW,MAAQ,aAAa,YAAc,YAAY,iBAAiB2G,EAAI4B,OAAOI,QAAQ,WAAY,gBAAgB,aAAa,YAAY,KAAO,YAAY,kBAAkB,GAAG,MAAQhC,EAAI/F,QAAQ+I,UAAU,YAAY,QAAQ,aAAa,MAAM,WAA6B,IAAjBhD,EAAImC,SAAmB,SAAWnC,EAAImC,UAAUd,MAAM,CAAC/I,MAAO0H,EAAIP,KAAa,SAAE6B,SAAS,SAAUC,GAAMvB,EAAIoC,KAAKpC,EAAIP,KAAM,WAAY8B,IAAMX,WAAW,oBAAoB,GAAGV,EAAG,SAAS,CAAC7G,MAAM,CAAC,KAAO,GAAG,IAAM,KAAK,CAAC6G,EAAG,iBAAiB,CAACvE,WAAW,CAAC,CAAC/E,KAAK,WAAW8J,QAAQ,qBAAqBpI,MAAO0H,EAAI8B,gBAA2B,YAAElB,WAAW,8BAA8BmB,UAAU,CAAC,SAAU,KAAQ1I,MAAM,CAAC,KAAO,cAAc,MAAQ,iBAAiB,YAAc,gBAAgB,iBAAiB2G,EAAI4B,OAAOI,QAAQ,cAAe,gBAAgB,aAAa,gBAAgB,KAAOhC,EAAIP,KAAKwD,iBAAmB,8FAAgG,YAAY,kBAAkB,GAAG,MAAQjD,EAAIkD,aAAa,YAAY,QAAQ,aAAa,MAAM,WAA6B,IAAjBlD,EAAImC,SAAmB,SAAWnC,EAAImC,WAAanC,EAAIP,KAAK0D,UAAkC,KAAtBnD,EAAIP,KAAK0D,UAAiB9B,MAAM,CAAC/I,MAAO0H,EAAIP,KAAgB,YAAE6B,SAAS,SAAUC,GAAMvB,EAAIoC,KAAKpC,EAAIP,KAAM,cAAe8B,IAAMX,WAAW,uBAAuB,GAAGV,EAAG,SAAS,CAACvE,WAAW,CAAC,CAAC/E,KAAK,OAAO8J,QAAQ,SAASpI,MAAO,CAACG,KAAK2K,YAAYC,aAAa3L,SAASsI,EAAIP,KAAK0D,UAAWvC,WAAW,2DAA2DvH,MAAM,CAAC,KAAO,KAAK,CAAC6G,EAAG,SAAS,CAACvE,WAAW,CAAC,CAAC/E,KAAK,OAAO8J,QAAQ,SAASpI,MAAO0H,EAAI/F,QAAQqJ,SAASlH,OAAS,GAAK4D,EAAIuD,yBAA0B3C,WAAW,4DAA4DvH,MAAM,CAAC,KAAO,KAAK,CAAC6G,EAAG,YAAY,CAAC7G,MAAM,CAAC,KAAO,GAAG,MAAQ,GAAG,MAAQ,wBAAwB,CAAC6G,EAAG,kBAAkB,CAACF,EAAIK,GAAG,0BAA0B,GAAGH,EAAG,WAAW,CAACA,EAAG,SAAS,CAACA,EAAG,aAAa,CAACvE,WAAW,CAAC,CAAC/E,KAAK,WAAW8J,QAAQ,qBAAqBpI,MAAO0H,EAAI8B,gBAAwB,SAAElB,WAAW,2BAA2BmB,UAAU,CAAC,SAAU,KAAQ1I,MAAM,CAAC,KAAO,WAAW,KAAO,YAAY,kBAAkB,GAAG,MAAQ2G,EAAI/F,QAAQqJ,SAAS,iBAAiB,UAAU,gBAAgB,GAAG,YAA8B,IAAjBtD,EAAImC,SAAmB,WAAWnC,EAAImC,SAAS,UAAU,YAAY,WAAW,0BAA0B,kBAAkB,IAAId,MAAM,CAAC/I,MAAO0H,EAAIP,KAAa,SAAE6B,SAAS,SAAUC,GAAMvB,EAAIoC,KAAKpC,EAAIP,KAAM,WAAY8B,IAAMX,WAAW,oBAAoB,IAAI,IAAI,GAAGV,EAAG,SAAS,CAACvE,WAAW,CAAC,CAAC/E,KAAK,OAAO8J,QAAQ,SAASpI,MAAO0H,EAAI/F,QAAQqJ,SAASlH,OAAS,IAAsC,IAAjC4D,EAAIuD,yBAAoC3C,WAAW,sEAAsEvH,MAAM,CAAC,KAAO,GAAG,MAAQ,cAAc,CAAC6G,EAAG,cAAc,CAACvH,YAAY,eAAe,CAACqH,EAAIK,GAAG,yDAAyD,GAAGH,EAAG,UAAU,CAAC7G,MAAM,CAAC,MAAQ2G,EAAIwD,0BAA0B,MAAQ,QAAQ,KAAO,UAAU,SAAW,KAAK,CAACxD,EAAIK,GAAGL,EAAIM,GAAGN,EAAI4B,OAAOC,IAAI,yBAA2B7B,EAAI4B,OAAOI,QAAQ,WAAY,gBAAgB,GAAK,WAAW,GAAG9B,EAAG,SAAS,CAACvE,WAAW,CAAC,CAAC/E,KAAK,OAAO8J,QAAQ,SAASpI,MAAO0H,EAAIyD,WAAazD,EAAIW,eAAgBC,WAAW,gCAAgCvH,MAAM,CAAC,KAAO,KAAK,CAAC6G,EAAG,iBAAiB,CAAC7G,MAAM,CAAC,KAAO,QAAQ,MAAQ,qBAAqB,MAAQ2G,EAAIP,KAAKiE,MAAM,SAAW,GAAG,MAAQ,GAAG,eAAe,GAAG,SAAW,GAAG,QAAU1D,EAAI2D,cAAc9C,YAAYb,EAAIc,GAAG,CAAC,CAACC,IAAI,YAAYC,GAAG,SAAStI,GAAM,MAAO,CAACwH,EAAG,SAAS,CAAC7G,MAAM,CAAC,MAAQ,YAAY,aAAa,QAAQ,KAAO,GAAG,MAAQ,GAAG,MAAQ,KAAK,CAAC2G,EAAIK,GAAGL,EAAIM,GAAG5H,EAAK+G,cAAc4B,MAAM,CAAC/I,MAAO0H,EAAIP,KAAU,MAAE6B,SAAS,SAAUC,GAAMvB,EAAIoC,KAAKpC,EAAIP,KAAM,QAAS8B,IAAMX,WAAW,iBAAiB,GAAGV,EAAG,SAAS,CAACvE,WAAW,CAAC,CAAC/E,KAAK,OAAO8J,QAAQ,SAASpI,MAAO0H,EAAc,WAAEY,WAAW,eAAevH,MAAM,CAAC,KAAO,KAAK,CAAC6G,EAAG,iBAAiB,CAACvE,WAAW,CAAC,CAAC/E,KAAK,WAAW8J,QAAQ,qBAAqBpI,QAAO0H,EAAI4D,YAAa5D,EAAI8B,gBAAgB+B,KAAcjD,WAAW,4CAA4CmB,UAAU,CAAC,SAAU,KAAQ1I,MAAM,CAAC,KAAO,OAAO,MAAQ,kBAAkB,YAAc,iBAAiB,iBAAiB2G,EAAI4B,OAAOI,QAAQ,OAAQ,gBAAgB,aAAa,iBAAiB,MAAQhC,EAAI/F,QAAQ4J,KAAK,KAAO,YAAY,kBAAkB,GAAG,WAA6B,IAAjB7D,EAAImC,SAAmB,SAAWnC,EAAImC,UAAUd,MAAM,CAAC/I,MAAO0H,EAAIP,KAAQ,IAAE6B,SAAS,SAAUC,GAAMvB,EAAIoC,KAAKpC,EAAIP,KAAM,MAAO8B,IAAMX,WAAW,eAAe,IAAI,IAAI,GAAGV,EAAG,aAAaA,EAAG,iBAAiB,CAACA,EAAG,QAAQ,CAAC7G,MAAM,CAAC,MAAQ,aAAaI,GAAG,CAAC,MAAQ,SAAS0H,GAAQnB,EAAI0B,YAAY,OAAO,CAAC1B,EAAIK,GAAG,UAAUH,EAAG,YAAYA,EAAG,QAAQ,CAAC7G,MAAM,CAAC,MAAQ,YAAY,KAAO,GAAG,GAAK,4BAA4B,CAAC2G,EAAIK,GAAG,YAAYH,EAAG,QAAQ,CAAC7G,MAAM,CAAC,MAAQ,WAAWI,GAAG,CAAC,MAAQ,SAAS0H,GAAQ,OAAOnB,EAAIqC,WAAW,KAAM,mBAAmB,CAACrC,EAAIK,GAAG,WAAW,IAAI,IAAI,IAAI,GAAGH,EAAG,oBAAoB,CAAC7G,MAAM,CAAC,KAAO,OAAO,CAAC6G,EAAG,SAAS,CAAC7G,MAAM,CAAC,gBAAgB,YAAY,CAAC6G,EAAG,SAAS,CAACA,EAAG,cAAc,CAACA,EAAG,WAAW,CAACvH,YAAY,OAAOU,MAAM,CAAC,IAAM,GAAG,KAAO,KAAK,CAAC6G,EAAG,SAAS,CAACvH,YAAY,OAAOU,MAAM,CAAC,KAAO,KAAK,CAAC6G,EAAG,KAAK,CAACvH,YAAY,cAAc,CAACqH,EAAIK,GAAG,iCAAiCH,EAAG,SAAS,CAAC7G,MAAM,CAAC,KAAO,GAAG,IAAM,KAAK,CAAC6G,EAAG,iBAAiB,CAAC7G,MAAM,CAAC,KAAO,gBAAgB,MAAQ,OAAO,MAAQ2G,EAAI/F,QAAQ6J,eAAeC,KAAK,KAAO/D,EAAIgE,0BAA0B,OAAS,OAAO,kBAAkB,GAAG,MAAQ,GAAG,SAAWhE,EAAImC,UAAUd,MAAM,CAAC/I,MAAO0H,EAAIP,KAAKwE,cAAcC,eAAuB,SAAE5C,SAAS,SAAUC,GAAMvB,EAAIoC,KAAKpC,EAAIP,KAAKwE,cAAcC,eAAgB,WAAY3C,IAAMX,WAAW,iDAAiD,GAAGV,EAAG,SAAS,CAAC7G,MAAM,CAAC,KAAO,GAAG,IAAM,KAAK,CAAC6G,EAAG,iBAAiB,CAAC7G,MAAM,CAAC,KAAO,cAAc,MAAQ,KAAK,MAAQ2G,EAAI/F,QAAQ6J,eAAeK,GAAG,KAAOnE,EAAIoE,wBAAwB,OAAS,OAAO,kBAAkB,GAAG,MAAQ,GAAG,SAAWpE,EAAImC,UAAUd,MAAM,CAAC/I,MAAO0H,EAAIP,KAAKwE,cAAcC,eAAqB,OAAE5C,SAAS,SAAUC,GAAMvB,EAAIoC,KAAKpC,EAAIP,KAAKwE,cAAcC,eAAgB,SAAU3C,IAAMX,WAAW,+CAA+C,GAAGV,EAAG,SAAS,CAAC7G,MAAM,CAAC,KAAO,GAAG,IAAM,KAAK,CAAC6G,EAAG,iBAAiB,CAAC7G,MAAM,CAAC,KAAO,gBAAgB,MAAQ,OAAO,YAAc,OAAO,YAAY,QAAQ,aAAa,MAAM,MAAQ2G,EAAI/F,QAAQ6J,eAAeO,MAAM,eAAe,GAAG,MAAQ,GAAG,SAAWrE,EAAImC,UAAUd,MAAM,CAAC/I,MAAO0H,EAAIP,KAAKwE,cAAcC,eAAmB,KAAE5C,SAAS,SAAUC,GAAMvB,EAAIoC,KAAKpC,EAAIP,KAAKwE,cAAcC,eAAgB,OAAQ3C,IAAMX,WAAW,6CAA6C,GAAGV,EAAG,SAAS,CAAC7G,MAAM,CAAC,KAAO,GAAG,IAAM,KAAK,CAAC6G,EAAG,iBAAiB,CAAC7G,MAAM,CAAC,KAAO,iBAAiB,MAAQ,iBAAiB,YAAc,iBAAiB,MAAQ2G,EAAI/F,QAAQqK,eAAe,YAAY,oBAAoB,aAAa,kBAAkB,eAAe,GAAG,MAAQ,GAAG,SAAWtE,EAAImC,UAAUd,MAAM,CAAC/I,MAAO0H,EAAIP,KAAKwE,cAAcC,eAAoB,MAAE5C,SAAS,SAAUC,GAAMvB,EAAIoC,KAAKpC,EAAIP,KAAKwE,cAAcC,eAAgB,QAAS3C,IAAMX,WAAW,8CAA8C,GAAGV,EAAG,SAAS,CAAC7G,MAAM,CAAC,KAAO,GAAG,IAAM,KAAK,CAAC6G,EAAG,iBAAiB,CAAC7G,MAAM,CAAC,KAAO,gBAAgB,MAAQ,OAAO,YAAc,OAAO,MAAQ2G,EAAI/F,QAAQsK,MAAM,YAAY,SAAUC,GAAQ,OAAOA,EAAKlM,MAAUkM,EAAQ,IAAI,MAASA,EAAU,MAAKA,EAAKzD,KAAO,aAAa,SAAUyD,GAAQ,OAAOA,EAAKlM,MAAUkM,EAAQ,IAAI,MAASA,EAAU,MAAKA,EAAKzD,KAAO,eAAe,GAAG,MAAQ,GAAG,SAAWf,EAAImC,UAAUd,MAAM,CAAC/I,MAAO0H,EAAIP,KAAKwE,cAAcC,eAAmB,KAAE5C,SAAS,SAAUC,GAAMvB,EAAIoC,KAAKpC,EAAIP,KAAKwE,cAAcC,eAAgB,OAAQ3C,IAAMX,WAAW,6CAA6C,GAAGV,EAAG,SAAS,CAAC7G,MAAM,CAAC,KAAO,GAAG,IAAM,KAAK,CAAC6G,EAAG,iBAAiB,CAAC7G,MAAM,CAAC,KAAO,kBAAkB,MAAQ,SAAS,YAAc,SAAS,MAAQ2G,EAAI/F,QAAQ6J,eAAeW,QAAQ,eAAe,GAAG,MAAQ,GAAG,SAAWzE,EAAImC,UAAUd,MAAM,CAAC/I,MAAO0H,EAAIP,KAAKwE,cAAcC,eAAqB,OAAE5C,SAAS,SAAUC,GAAMvB,EAAIoC,KAAKpC,EAAIP,KAAKwE,cAAcC,eAAgB,SAAU3C,IAAMX,WAAW,+CAA+C,GAAGV,EAAG,SAAS,CAACvH,YAAY,OAAOU,MAAM,CAAC,KAAO,KAAK,CAAC6G,EAAG,YAAY,CAACvH,YAAY,SAASuH,EAAG,KAAK,CAACvH,YAAY,cAAc,CAACqH,EAAIK,GAAG,wBAAwB,GAAGH,EAAG,SAAS,CAAC7G,MAAM,CAAC,KAAO,KAAK,CAAC6G,EAAG,iBAAiB,CAACvE,WAAW,CAAC,CAAC/E,KAAK,WAAW8J,QAAQ,qBAAqBpI,MAAO0H,EAAI8B,gBAAwB,SAAElB,WAAW,2BAA2BmB,UAAU,CAAC,SAAU,KAAQ1I,MAAM,CAAC,KAAO,4BAA4B,MAAQ,WAAW,gBAAgB,GAAG,kBAAkB,GAAG,MAAQ2G,EAAI0E,mBAAmB,oBAAqB,sBAAsB,YAAc,WAAW,iBAAiB1E,EAAI4B,OAAOI,QAAQ,WAAY,WAAW,aAAa,WAAW,MAAQhC,EAAI/F,QAAQ0K,kBAAkBC,MAAM,YAAY,mBAAmB,aAAa,OAAO,kBAAkB,GAAG,SAAW,GAAG,MAAQ,GAAG,cAAc,GAAG,MAAQ,GAAG,SAAW5E,EAAImC,UAAU1I,GAAG,CAAC,MAAQ,SAAS0H,GAAQ,OAAOnB,EAAI6E,sBAAsB,oBAAqB,qBAAsB1D,QAAa,GAAGjB,EAAG,SAAS,CAAC7G,MAAM,CAAC,KAAO,GAAG,IAAM,KAAK,CAAC6G,EAAG,iBAAiB,CAAC7G,MAAM,CAAC,KAAO,wBAAwB,MAAQ,OAAO,MAAQ2G,EAAI8E,cAAc,oBAAqB,QAAQ,MAAQ9E,EAAI/F,QAAQ0K,kBAAkBI,MAAM,OAAS,OAAO,kBAAkB,GAAG,MAAQ,GAAG,SAAW/E,EAAImC,UAAU1I,GAAG,CAAC,MAAQ,SAAS0H,GAAQ,OAAOnB,EAAIgF,iBAAiB,oBAAqB,OAAQ7D,QAAa,GAAGjB,EAAG,SAAS,CAAC7G,MAAM,CAAC,KAAO,GAAG,IAAM,KAAK,CAAC6G,EAAG,iBAAiB,CAAC7G,MAAM,CAAC,KAAO,2BAA2B,MAAQ,UAAU,YAAc,UAAU,MAAQ2G,EAAI8E,cAAc,oBAAqB,iBAAiB,MAAQ9E,EAAI/F,QAAQ0K,kBAAkBrB,SAAS,YAAY,SAAU2B,GAAW,OAAOA,EAAQlE,KAAOkE,EAAQ3M,MAAU2M,EAAa,MAAI,MAASA,EAAW,IAAKA,EAAQ3M,OAAS,aAAa,MAAM,eAAe,GAAG,MAAQ,GAAG,SAAW0H,EAAImC,UAAU1I,GAAG,CAAC,MAAQ,SAAS0H,GAAQ,OAAOnB,EAAIgF,iBAAiB,oBAAqB,gBAAiB7D,QAAa,GAAGjB,EAAG,SAAS,CAAC7G,MAAM,CAAC,KAAO,GAAG,IAAM,KAAK,CAAC6G,EAAG,iBAAiB,CAAC7G,MAAM,CAAC,KAAO,wBAAwB,MAAQ,OAAO,MAAQ2G,EAAI8E,cAAc,oBAAqB,QAAQ,YAAc,OAAO,MAAQ9E,EAAI/F,QAAQsK,MAAM,YAAY,SAAUC,GAAQ,OAAOA,EAAKlM,MAAUkM,EAAQ,IAAI,MAASA,EAAU,MAAKA,EAAKzD,KAAO,aAAa,MAAM,eAAe,GAAG,MAAQ,GAAG,SAAWf,EAAImC,UAAU1I,GAAG,CAAC,MAAQ,SAAS0H,GAAQ,OAAOnB,EAAIgF,iBAAiB,oBAAqB,OAAQ7D,QAAa,GAAGjB,EAAG,SAAS,CAAC7G,MAAM,CAAC,KAAO,GAAG,IAAM,KAAK,CAAC6G,EAAG,iBAAiB,CAAC7G,MAAM,CAAC,KAAO,iCAAiC,MAAQ,iBAAiB,MAAQ2G,EAAI8E,cAAc,oBAAqB,kBAAkB,YAAc,iBAAiB,MAAQ9E,EAAI/F,QAAQqK,eAAe,YAAY,oBAAoB,aAAa,kBAAkB,eAAe,GAAG,MAAQ,GAAG,SAAWtE,EAAImC,UAAU1I,GAAG,CAAC,MAAQ,SAAS0H,GAAQ,OAAOnB,EAAIgF,iBAAiB,oBAAqB,iBAAkB7D,QAAa,GAAGjB,EAAG,SAAS,CAAC7G,MAAM,CAAC,KAAO,GAAG,IAAM,KAAK,CAAC6G,EAAG,iBAAiB,CAAC7G,MAAM,CAAC,KAAO,0BAA0B,MAAQ,SAAS,MAAQ2G,EAAI8E,cAAc,oBAAqB,UAAU,YAAc,SAAS,MAAQ9E,EAAI/F,QAAQ0K,kBAAkBF,QAAQ,eAAe,GAAG,MAAQ,IAAIhL,GAAG,CAAC,MAAQ,SAAS0H,GAAQ,OAAOnB,EAAIgF,iBAAiB,oBAAqB,SAAU7D,QAAa,GAAGjB,EAAG,SAAS,CAAC7G,MAAM,CAAC,KAAO,GAAG,IAAM,KAAK,CAAC6G,EAAG,iBAAiB,CAAC7G,MAAM,CAAC,KAAO,0BAA0B,MAAQ,SAAS,MAAQ2G,EAAI8E,cAAc,oBAAqB,UAAU,YAAc,SAAS,MAAQ9E,EAAI/F,QAAQ0K,kBAAkBO,OAAO,YAAY,mBAAmB,aAAa,OAAO,eAAe,GAAG,MAAQ,IAAIzL,GAAG,CAAC,MAAQ,SAAS0H,GAAQ,OAAOnB,EAAIgF,iBAAiB,oBAAqB,SAAU7D,QAAa,GAAGjB,EAAG,SAAS,CAACvH,YAAY,OAAOU,MAAM,CAAC,KAAO,KAAK,CAAC6G,EAAG,YAAY,CAACvH,YAAY,SAASuH,EAAG,KAAK,CAACvH,YAAY,cAAc,CAACqH,EAAIK,GAAG,0BAA0B,GAAGH,EAAG,SAAS,CAAC7G,MAAM,CAAC,KAAO,GAAG,IAAM,KAAK,CAAC6G,EAAG,iBAAiB,CAAC7G,MAAM,CAAC,KAAO,0BAA0B,MAAQ2G,EAAI8E,cAAc,sBAAuB,QAAQ,MAAQ,GAAG,MAAQ9E,EAAI/F,QAAQ0K,kBAAkBI,MAAM,MAAQ,OAAO,kBAAkB,GAAG,OAAS,QAAQtL,GAAG,CAAC,MAAQ,SAAS0H,GAAQ,OAAOnB,EAAIgF,iBAAiB,sBAAuB,OAAQ7D,QAAa,GAAGjB,EAAG,SAAS,CAAC7G,MAAM,CAAC,KAAO,GAAG,IAAM,KAAK,CAAC6G,EAAG,iBAAiB,CAAC7G,MAAM,CAAC,KAAO,0BAA0B,MAAQ,OAAO,MAAQ2G,EAAI8E,cAAc,sBAAuB,QAAQ,YAAc,OAAO,MAAQ9E,EAAI/F,QAAQsK,MAAM,YAAY,SAAUC,GAAQ,OAAOA,EAAKlM,MAAUkM,EAAQ,IAAI,MAASA,EAAU,MAAKA,EAAKzD,KAAO,aAAa,MAAM,eAAe,GAAG,MAAQ,IAAItH,GAAG,CAAC,MAAQ,SAAS0H,GAAQ,OAAOnB,EAAIgF,iBAAiB,sBAAuB,OAAQ7D,QAAa,GAAGjB,EAAG,SAAS,CAAC7G,MAAM,CAAC,KAAO,GAAG,IAAM,KAAK,CAAC6G,EAAG,iBAAiB,CAAC7G,MAAM,CAAC,KAAO,4BAA4B,MAAQ,SAAS,MAAQ2G,EAAI8E,cAAc,sBAAuB,UAAU,YAAc,SAAS,MAAQ9E,EAAI/F,QAAQ0K,kBAAkBF,QAAQ,eAAe,GAAG,MAAQ,IAAIhL,GAAG,CAAC,MAAQ,SAAS0H,GAAQ,OAAOnB,EAAIgF,iBAAiB,sBAAuB,SAAU7D,QAAa,GAAGjB,EAAG,SAAS,CAAC7G,MAAM,CAAC,KAAO,GAAG,IAAM,KAAK,CAAC6G,EAAG,iBAAiB,CAAC7G,MAAM,CAAC,KAAO,4BAA4B,MAAQ,SAAS,MAAQ2G,EAAI8E,cAAc,sBAAuB,UAAU,YAAc,SAAS,MAAQ9E,EAAI/F,QAAQ0K,kBAAkBO,OAAO,YAAY,mBAAmB,aAAa,OAAO,eAAe,GAAG,MAAQ,IAAIzL,GAAG,CAAC,MAAQ,SAAS0H,GAAQ,OAAOnB,EAAIgF,iBAAiB,sBAAuB,SAAU7D,QAAa,IAAI,IAAI,GAAGjB,EAAG,aAAaA,EAAG,iBAAiB,CAACA,EAAG,QAAQ,CAAC7G,MAAM,CAAC,MAAQ,aAAaI,GAAG,CAAC,MAAQ,SAAS0H,GAAQnB,EAAI0B,YAAY,OAAO,CAAC1B,EAAIK,GAAG,UAAUH,EAAG,YAAYA,EAAG,QAAQ,CAAC7G,MAAM,CAAC,MAAQ,YAAY,KAAO,GAAG,GAAK,4BAA4B,CAAC2G,EAAIK,GAAG,YAAcL,EAAImC,SAAiHjC,EAAG,QAAQ,CAAC7G,MAAM,CAAC,MAAQ,UAAU,GAAK,4BAA4B,CAAC2G,EAAIK,GAAG,WAArLH,EAAG,QAAQ,CAAC7G,MAAM,CAAC,MAAQ,UAAU,SAAW2G,EAAIyB,QAAQhI,GAAG,CAAC,MAAQuG,EAAImF,OAAO,CAACnF,EAAIK,GAAG,aAAsG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAC9rqB+E,EAAkB,G,4MCXlBC,EAAyC,WACzC,IAAIC,EAAgB,SAAUC,EAAGC,GAI7B,OAHAF,EAAgBrJ,OAAOwJ,gBAClB,CAAEC,UAAW,cAAgBzI,OAAS,SAAUsI,EAAGC,GAAKD,EAAEG,UAAYF,IACvE,SAAUD,EAAGC,GAAK,IAAK,IAAIG,KAAKH,EAAOA,EAAE9K,eAAeiL,KAAIJ,EAAEI,GAAKH,EAAEG,KAClEL,EAAcC,EAAGC,IAE5B,OAAO,SAAUD,EAAGC,GAEhB,SAASI,IAAOnN,KAAKoN,YAAcN,EADnCD,EAAcC,EAAGC,GAEjBD,EAAEO,UAAkB,OAANN,EAAavJ,OAAO8J,OAAOP,IAAMI,EAAGE,UAAYN,EAAEM,UAAW,IAAIF,IAV1C,GAazCI,EAAsC,WAStC,OARAA,EAAW/J,OAAOgK,QAAU,SAASzM,GACjC,IAAK,IAAI0M,EAAGtG,EAAI,EAAGuG,EAAIhK,UAAUC,OAAQwD,EAAIuG,EAAGvG,IAE5C,IAAK,IAAI+F,KADTO,EAAI/J,UAAUyD,GACAsG,EAAOjK,OAAO6J,UAAUpL,eAAeR,KAAKgM,EAAGP,KACzDnM,EAAEmM,GAAKO,EAAEP,IAEjB,OAAOnM,GAEJwM,EAASI,MAAM3N,KAAM0D,YAE5BkK,EAA0C,SAAUC,EAAYC,EAAQxF,EAAKyF,GAC7E,IAA2HjB,EAAvHkB,EAAItK,UAAUC,OAAQsK,EAAID,EAAI,EAAIF,EAAkB,OAATC,EAAgBA,EAAOvK,OAAO0K,yBAAyBJ,EAAQxF,GAAOyF,EACrH,GAAuB,kBAAZI,SAAoD,oBAArBA,QAAQC,SAAyBH,EAAIE,QAAQC,SAASP,EAAYC,EAAQxF,EAAKyF,QACpH,IAAK,IAAI5G,EAAI0G,EAAWlK,OAAS,EAAGwD,GAAK,EAAGA,KAAS2F,EAAIe,EAAW1G,MAAI8G,GAAKD,EAAI,EAAIlB,EAAEmB,GAAKD,EAAI,EAAIlB,EAAEgB,EAAQxF,EAAK2F,GAAKnB,EAAEgB,EAAQxF,KAAS2F,GAChJ,OAAOD,EAAI,GAAKC,GAAKzK,OAAO6K,eAAeP,EAAQxF,EAAK2F,GAAIA,GAE5DK,EAA0C,SAAUC,EAAGC,GACvD,GAAuB,kBAAZL,SAAoD,oBAArBA,QAAQM,SAAyB,OAAON,QAAQM,SAASF,EAAGC,IAEtGE,EAAwC,SAAUC,EAASC,EAAYC,EAAGC,GAC1E,SAASC,EAAMlP,GAAS,OAAOA,aAAiBgP,EAAIhP,EAAQ,IAAIgP,GAAE,SAAUG,GAAWA,EAAQnP,MAC/F,OAAO,IAAKgP,IAAMA,EAAII,WAAU,SAAUD,EAASE,GAC/C,SAASC,EAAUtP,GAAS,IAAM4E,EAAKqK,EAAUM,KAAKvP,IAAW,MAAOuF,GAAK8J,EAAO9J,IACpF,SAASiK,EAASxP,GAAS,IAAM4E,EAAKqK,EAAU,SAASjP,IAAW,MAAOuF,GAAK8J,EAAO9J,IACvF,SAASX,EAAK6K,GAAUA,EAAOC,KAAOP,EAAQM,EAAOzP,OAASkP,EAAMO,EAAOzP,OAAO2P,KAAKL,EAAWE,GAClG5K,GAAMqK,EAAYA,EAAUnB,MAAMgB,EAASC,GAAc,KAAKQ,YAGlEK,EAA4C,SAAUd,EAASe,GAC/D,IAAsGC,EAAGC,EAAG7O,EAAG8O,EAA3GC,EAAI,CAAEC,MAAO,EAAGC,KAAM,WAAa,GAAW,EAAPjP,EAAE,GAAQ,MAAMA,EAAE,GAAI,OAAOA,EAAE,IAAOkP,KAAM,GAAIC,IAAK,IAChG,OAAOL,EAAI,CAAET,KAAMe,EAAK,GAAI,MAASA,EAAK,GAAI,OAAUA,EAAK,IAAwB,oBAAXC,SAA0BP,EAAEO,OAAOC,UAAY,WAAa,OAAOrQ,OAAU6P,EACvJ,SAASM,EAAKzC,GAAK,OAAO,SAAUc,GAAK,OAAO/J,EAAK,CAACiJ,EAAGc,KACzD,SAAS/J,EAAK6L,GACV,GAAIX,EAAG,MAAM,IAAIY,UAAU,mCAC3B,MAAOT,EAAG,IACN,GAAIH,EAAI,EAAGC,IAAM7O,EAAY,EAARuP,EAAG,GAASV,EAAE,UAAYU,EAAG,GAAKV,EAAE,YAAc7O,EAAI6O,EAAE,YAAc7O,EAAEU,KAAKmO,GAAI,GAAKA,EAAER,SAAWrO,EAAIA,EAAEU,KAAKmO,EAAGU,EAAG,KAAKf,KAAM,OAAOxO,EAE3J,OADI6O,EAAI,EAAG7O,IAAGuP,EAAK,CAAS,EAARA,EAAG,GAAQvP,EAAElB,QACzByQ,EAAG,IACP,KAAK,EAAG,KAAK,EAAGvP,EAAIuP,EAAI,MACxB,KAAK,EAAc,OAAXR,EAAEC,QAAgB,CAAElQ,MAAOyQ,EAAG,GAAIf,MAAM,GAChD,KAAK,EAAGO,EAAEC,QAASH,EAAIU,EAAG,GAAIA,EAAK,CAAC,GAAI,SACxC,KAAK,EAAGA,EAAKR,EAAEI,IAAIM,MAAOV,EAAEG,KAAKO,MAAO,SACxC,QACI,GAAMzP,EAAI+O,EAAEG,OAAMlP,EAAIA,EAAE4C,OAAS,GAAK5C,EAAEA,EAAE4C,OAAS,MAAkB,IAAV2M,EAAG,IAAsB,IAAVA,EAAG,IAAW,CAAER,EAAI,EAAG,SACjG,GAAc,IAAVQ,EAAG,MAAcvP,GAAMuP,EAAG,GAAKvP,EAAE,IAAMuP,EAAG,GAAKvP,EAAE,IAAM,CAAE+O,EAAEC,MAAQO,EAAG,GAAI,MAC9E,GAAc,IAAVA,EAAG,IAAYR,EAAEC,MAAQhP,EAAE,GAAI,CAAE+O,EAAEC,MAAQhP,EAAE,GAAIA,EAAIuP,EAAI,MAC7D,GAAIvP,GAAK+O,EAAEC,MAAQhP,EAAE,GAAI,CAAE+O,EAAEC,MAAQhP,EAAE,GAAI+O,EAAEI,IAAItM,KAAK0M,GAAK,MACvDvP,EAAE,IAAI+O,EAAEI,IAAIM,MAChBV,EAAEG,KAAKO,MAAO,SAEtBF,EAAKZ,EAAKjO,KAAKkN,EAASmB,GAC1B,MAAO1K,GAAKkL,EAAK,CAAC,EAAGlL,GAAIwK,EAAI,EAAK,QAAUD,EAAI5O,EAAI,EACtD,GAAY,EAARuP,EAAG,GAAQ,MAAMA,EAAG,GAAI,MAAO,CAAEzQ,MAAOyQ,EAAG,GAAKA,EAAG,QAAK,EAAQf,MAAM,KAOlFtR,OAAIwS,IAAIC,QAaR,IAAIC,EAA4B,SAAUC,GAEtC,SAASD,IACL,IAAIE,EAAmB,OAAXD,GAAmBA,EAAOjD,MAAM3N,KAAM0D,YAAc1D,KA6EhE,OA5EA6Q,EAAMC,kBAAoB,GAC1BD,EAAME,iBAAmB,GACzBF,EAAM9H,SAAU,EAChB8H,EAAM3F,cAAe,EACrB2F,EAAMnH,UAAW,EACjBmH,EAAM7H,QAAS,EACf6H,EAAM/F,0BAA2B,EACjC+F,EAAM9F,2BAA4B,EAClC8F,EAAMpH,wBAA0B,4FAChCoH,EAAM7J,KAAO,CACTwC,OAAQ,GACRK,UAAW,GACXC,SAAU,GACVC,MAAO,GACPiH,2BAA2B,EAC3BhH,YAAa,GACbiH,eAAgB,GAChB7G,UAAW,GACX8G,MAAO,GACPxG,SAAU,GACVyG,YAAa,GACblG,MAAO,GACPmG,IAAK,GACL5G,kBAAkB,EAClBK,SAAU,GACVW,cAAe,CACXC,eAAgB,CACZ4F,SAAU,GACVC,OAAQ,GACRC,KAAM,GACNC,MAAO,GACPzF,KAAM,GACN0F,OAAQ,KAGhBC,QAAS,GACTC,iBAAkB,GAClBC,WAAY,GACZC,iBAAkB,GAClBC,gBAAiB,IAErBjB,EAAM5H,YAAc,IACpB4H,EAAMkB,0BAA2B,EACjClB,EAAMxH,gBAAkB,GACxBwH,EAAMrP,QAAU,CACZ6J,eAAgB,CACZC,KAAM,GACNI,GAAI,GACJE,MAAO,GACPI,QAAS,IAEbE,kBAAmB,CACfI,MAAO,GACPH,MAAO,GACPtB,SAAU,GACVmB,QAAS,GACTS,OAAQ,IAEZlC,UAAW,GACXE,aAAc,GACduH,MAAO,GACP/G,MAAO,GACPG,KAAM,GACNP,SAAU,GACVoH,UAAW,GACXnG,MAAO,GACPD,eAAgB,GAChBqG,eAAgB,GAChBC,UAAW,GACXC,eAAgB,IAEpBvB,EAAMwB,kBAAoB,IAAIC,OAAU,MACxCzB,EAAM3G,mCAAoC,EAC1C2G,EAAM0B,gBAAkB,IAAID,OAAU,MACtCzB,EAAM2B,cAAgB,GACtB3B,EAAM4B,gBAAkB,GACjB5B,EAgyBX,IAAI6B,EAAIC,EAAIlL,EAAImL,EAAI1J,EAAI2J,EA0CxB,OAz5BAjG,EAAU+D,EAAYC,GAiFtBD,EAAWtD,UAAUX,KAAO,WACxB,OAAOgC,EAAU1O,UAAM,OAAQ,GAAQ,WACnC,IAAI8S,EAAY7S,EAAMqP,EAAQyD,EAC9B,OAAOtD,EAAYzP,MAAM,SAAU0S,GAC/B,OAAQA,EAAG3C,OACP,KAAK,EACD+C,EAAa9S,KAAKkI,gBAAkBlI,KAAKgT,gBACzCN,EAAG3C,MAAQ,EACf,KAAK,EASD,OARA2C,EAAGzC,KAAKrM,KAAK,CAAC,EAAG,EAAG,EAAG,IACvB5D,KAAKgJ,QAAS,EACd/I,EAAOsN,EAAS,GAAIvN,KAAKgH,MACzB/G,EAAK+J,YACD/J,EAAKgR,gBAAkBhR,EAAKgR,eAAetN,OAAS,EAC9C3D,KAAKqS,kBAAkBY,oBAAsB,IAAMhT,EAAKgR,eACxDjR,KAAKqS,kBAAkBY,oBACjChT,EAAKmK,UAAYpK,KAAKuS,gBAAgBU,oBAC/B,CAAC,EAAajT,KAAK2K,YAAY+B,KAAKzM,EAAM6S,IACrD,KAAK,EAED,OADAxD,EAASoD,EAAG1C,QACW,IAAnBV,EAAO4D,SACPlT,KAAKmT,aAAa,CACdvT,KAAM0P,EAAO8D,QACb5S,MAAO,UAEJ,CAAC,KAEZR,KAAKmT,aAAa,CACdvT,KAAM,iBAAmBkT,EAAa,UAAY,SAAW,KAAO9S,KAAKgH,KAAKwC,OAAS,IACvFhJ,MAAO,YAEXR,KAAKqT,QAAQzP,KAAK,2BACX,CAAC,EAAa,IACzB,KAAK,EAOD,OANAmP,EAAUL,EAAG1C,OACbsD,QAAQC,MAAMR,GACd/S,KAAKmT,aAAa,CACdvT,KAAM,cAAgBkT,EAAa,SAAW,UAAY,KAAO9S,KAAKgH,KAAKwC,OAAS,IACpFhJ,MAAO,UAEJ,CAAC,EAAa,GACzB,KAAK,EAED,OADAR,KAAKgJ,QAAS,EACP,CAAC,GACZ,KAAK,EAAG,MAAO,CAAC,WAKhC2H,EAAWtD,UAAUtL,QAAU,WAC3B,OAAO2M,EAAU1O,UAAM,OAAQ,GAAQ,WACnC,IAAI6Q,EAAQ7Q,KACZ,OAAOyP,EAAYzP,MAAM,SAAU0S,GAiF/B,OA/EA1S,KAAKqJ,gBAAkBrJ,KAAK2K,YAAY6I,qBAExCxT,KAAKyT,WAAWC,SAAS,KAAM,CAC3BC,OAAQ,CAAEnK,OAAQ,CAAEoK,MAAO5T,KAAKyJ,4BAGpCzJ,KAAKyT,WAAWvV,OAAO,iBAAkB,CACrC2V,WAAY,SAAUC,GAAS,OAAOA,EAAQ,0BAC9ChP,SAAU,SAAUjF,EAAOkU,GAAQ,OAAOrF,EAAUmC,OAAO,OAAQ,GAAQ,WACvE,IAAImD,EACJ,OAAOvE,EAAYzP,MAAM,SAAU0S,GAC/B,OAAQA,EAAG3C,OACP,KAAK,EACD,OAA8B,IAAxB/P,KAAKkI,eAAkC,CAAC,EAAa,GACpD,CAAC,EAAalI,KAAKiU,iBAAiBpU,IAC/C,KAAK,EAED,OADAmU,EAAetB,EAAG1C,OACG,OAAjBgE,EAEO,CAAC,GAAc,IAEW,IAAjCA,EAAaE,gBAEN,CAAC,GAAc,GAGnB,CAAC,GAAc,GAC1B,KAAK,EAAG,MAAO,CAAC,GAAc,aAM9ClU,KAAKyT,WAAWvV,OAAO,kBAAmB,CACtC2V,WAAY,SAAUC,GAAS,OAAOA,EAAQ,0BAC9ChP,SAAU,SAAUjF,EAAOkU,GAAQ,OAAOrF,EAAUmC,OAAO,OAAQ,GAAQ,WACvE,IAAsCsD,EACtC,OAAO1E,EAAYzP,MAAM,SAAU0S,GAC/B,OAAQA,EAAG3C,OACP,KAAK,EACD,OAA8B,IAAxB/P,KAAKkI,eAAkC,CAAC,EAAa,GACtDlI,KAAKgT,gBACJnT,EAAMuU,gBAAkBpU,KAAKwS,cAAc4B,cAAuB,CAAC,EAAa,GAC/E,CAAC,EAAapU,KAAK2K,YAAYwJ,gBAAgBtU,IAFpB,CAAC,EAAa,GAGpD,KAAK,EAED,OADAsU,EAAkBzB,EAAG1C,OACd,CAAC,GAAkC,IAApBmE,GAC1B,KAAK,EAAG,MAAO,CAAC,GAAc,GAC9B,KAAK,EAAG,MAAO,CAAC,EAAa,GAC7B,KAAK,EAAG,MAAO,CAAC,EAAanU,KAAK2K,YAAYwJ,gBAAgBtU,IAC9D,KAAK,EAED,OADAsU,EAAkBzB,EAAG1C,OACd,CAAC,GAAkC,IAApBmE,GAC1B,KAAK,EAAG,MAAO,CAAC,EAAa,IAC7B,KAAK,EACD,OAAMtU,EAAMuU,gBAAkBpU,KAAKwS,cAAc4B,cAAuB,CAAC,EAAa,GAC/E,CAAC,EAAapU,KAAK2K,YAAYwJ,gBAAgBtU,IAC1D,KAAK,EAED,OADAsU,EAAkBzB,EAAG1C,OACd,CAAC,GAAkC,IAApBmE,GAC1B,KAAK,EAAG,MAAO,CAAC,GAAc,GAC9B,KAAK,GAAI,MAAO,CAAC,aAKjCnU,KAAKyT,WAAWvV,OAAO,cAAe,CAClC2V,WAAY,SAAUC,GAAS,OAAOA,EAAQ,gCAC9ChP,SAAU,SAAUjF,EAAOkU,GACvB,IACI,IAAIM,EAAQC,eAAiBzU,EAAO,MACpC,OAAOwU,EAAME,UAEjB,MAAO7B,GACH,OAAO,MAInB1S,KAAK0J,UAA6C,IAAlC1J,KAAK2K,YAAY6J,aAC1B,CAAC,UAIpB7D,EAAWtD,UAAUtI,QAAU,WAC3B,OAAO2J,EAAU1O,UAAM,OAAQ,GAAQ,WACnC,IAAIyU,EACJ,OAAOhF,EAAYzP,MAAM,SAAU0S,GAC/B,OAAQA,EAAG3C,OACP,KAAK,EAGD,OAFA2C,EAAGzC,KAAKrM,KAAK,CAAC,EAAG,EAAG,EAAG,KACvB5D,KAAK+I,SAAU,EACR,CAAC,EAAa/I,KAAK0U,4BAC9B,KAAK,EAED,OADAhC,EAAG1C,QACqB,IAAlBhQ,KAAK0J,SAA4B,CAAC,EAAa,GAC9C,CAAC,EAAa1J,KAAK2U,gBAC9B,KAAK,EACDjC,EAAG1C,OACH0C,EAAG3C,MAAQ,EACf,KAAK,EAAG,MAAO,CAAC,EAAa/P,KAAK4U,YAClC,KAAK,EAED,OADAlC,EAAG1C,OACEhQ,KAAK0J,SACH,CAAC,EAAa1J,KAAK2U,gBADC,CAAC,EAAa,GAE7C,KAAK,EACDjC,EAAG1C,OACH0C,EAAG3C,MAAQ,EACf,KAAK,EAAG,MAAO,CAAC,EAAa/P,KAAK6U,yBAClC,KAAK,EAED,OADAnC,EAAG1C,OACI,CAAC,EAAa,IACzB,KAAK,EAID,OAHAyE,EAAU/B,EAAG1C,OACbsD,QAAQC,MAAMkB,GACdzU,KAAKmT,aAAa,CAAEvT,KAAM,qBAAsBY,MAAO,UAChD,CAAC,EAAa,IACzB,KAAK,EAED,OADAR,KAAK+I,SAAU,EACR,CAAC,GACZ,KAAK,GAED,OADA/I,KAAK+I,SAAU,EACR,CAAC,WAK5B4H,EAAWtD,UAAUyH,gBAAkB,WACnC9U,KAAK+R,0BAA2B,GAEpCpB,EAAWtD,UAAU0H,eAAiB,WAClC/U,KAAKmT,aAAa,CAAEvT,KAAM,sBAAuBY,MAAO,YACxDR,KAAKqT,QAAQzP,KAAK,MAEtB+M,EAAWtD,UAAUzD,WAAa,SAAUnF,EAAMuQ,GAC9C,OAAOtG,EAAU1O,UAAM,OAAQ,GAAQ,WACnC,IAAIsP,EAAQ2F,EAAUvC,EAAUC,EAAI7P,EAAM2E,EACtCoJ,EAAQ7Q,KACZ,OAAOyP,EAAYzP,MAAM,SAAU4S,GAC/B,OAAQA,EAAG7C,OACP,KAAK,EACD,OAAwB,IAAlB/P,KAAK0J,SAA4B,CAAC,EAAa,IAC9C,CAAC,EAAa1J,KAAKyT,WAAW3O,SAASkQ,EAAQ,OAC1D,KAAK,EAGD,OAFA1F,EAASsD,EAAG5C,QAEG,IAAXV,EACO,CAAC,IAGC,MAAT7K,IACKzE,KAAKgH,KAAK8K,gBAAgBnO,OAAS,GACG,IAAvC3D,KAAKwB,QAAQ0Q,eAAevO,QAC3B3D,KAAKgH,KAAK6D,SAASlH,OAAS,GAAuC,IAAlC3D,KAAKwB,QAAQ2Q,UAAUxO,UACzD3D,KAAK8K,0BAA2B,GAGzB,OAATrG,EAAuB,CAAC,EAAa,IACrCzE,KAAKkV,qBAAqBlV,KAAKyS,kBACjCzS,KAAKgH,KAAKmK,cAAgBnR,KAAKyS,gBAC5B,CAAC,EAAazS,KAAK2K,YAAYwK,2BAA2B,CACzD3L,OAAQxJ,KAAKgH,KAAKwC,OAClB2H,YAAanR,KAAK2K,YAAYyK,WAHsB,CAAC,EAAa,IAK9E,KAAK,EAED,GADAH,EAAWrC,EAAG5C,OACViF,EAOA,OANAjV,KAAKyT,WAAWtK,OAAOkM,IAAI,CACvBL,MAAO,eACPlB,MAAO,cAEPwB,IAAK,+HAEF,CAAC,GAEZ1C,EAAG7C,MAAQ,EACf,KAAK,EAED,OAAI/P,KAAKgH,KAAK0D,WAAa1K,KAAK2K,YAAYC,aACV,IAA9B5K,KAAKgH,KAAK6D,SAASlH,QACnB3D,KAAK+K,2BAA4B,EACjC/K,KAAKyT,WAAWtK,OAAOkM,IAAI,CACvBL,MAAO,eACPlB,MAAO,WAEPwB,IAAK,8DAEF,CAAC,KAGRtV,KAAK+K,2BAA4B,EAE/B/K,KAAKgH,KAAKwC,QAA+B,KAArBxJ,KAAKgH,KAAKwC,QAAiBxJ,KAAKkI,gBAC1DwK,EAAK1S,KAAKgH,KACH,CAAC,EAAahH,KAAKuV,qBAAqBC,kBAAkBxV,KAAKgH,KAAKwC,UAFO,CAAC,EAAa,IAGpG,KAAK,EAED,OADAkJ,EAAGhB,QAAWkB,EAAG5C,OAAQ/P,KAClB,CAAC,EAAa,IACzB,KAAK,EACD,OAAKD,KAAKgH,KAAKmK,YACc,aAAvBnR,KAAKgH,KAAK0D,SAAiC,CAAC,EAAa,IAC/D5H,EAAO9C,KAAK8Q,kBAAkB2E,MAAK,SAAUC,GAAK,OAAOA,EAAEpN,MAAQuI,EAAM7J,KAAKmK,eAC9EwB,EAAK3S,KAAKgH,KACH,CAAC,EAAahH,KAAKuV,qBAAqBI,kBAAkB7S,EAAKjD,SAJnC,CAAC,EAAa,IAKrD,KAAK,EAED,OADA8S,EAAGjB,QAAWkB,EAAG5C,OAAQ/P,KAClB,CAAC,EAAa,IACzB,KAAK,EACD,MAA6B,YAAvBD,KAAKgH,KAAK0D,SAAgC,CAAC,EAAa,IAC9D1K,KAAKgH,KAAK0K,QAAU,GACpB5O,EAAO9C,KAAK+Q,iBAAiB0E,MAAK,SAAUC,GAAK,OAAOA,EAAEpN,MAAQuI,EAAM7J,KAAKmK,eAC7E1J,EAAKzH,KAAKgH,KACH,CAAC,EAAahH,KAAKuV,qBAAqBI,kBAAkB7S,EAAKjD,SAC1E,KAAK,EAED,OADA4H,EAAGiK,QAAWkB,EAAG5C,OAAQ/P,KAClB,CAAC,EAAa,IACzB,KAAK,EACDD,KAAKgH,KAAK0K,QAAU,GACpBkB,EAAG7C,MAAQ,GACf,KAAK,GAAI,MAAO,CAAC,EAAa,IAC9B,KAAK,GACD/P,KAAKgH,KAAK0K,QAAU,GACpBkB,EAAG7C,MAAQ,GACf,KAAK,GAED,OADA/P,KAAKiJ,YAAcxE,EACZ,CAAC,WAK5BkM,EAAWtD,UAAUuI,gBAAkB,SAAUC,EAAUC,GAEtC,KAAbA,GAAmBA,IAAaD,IAChC7V,KAAKgH,KAAKmK,YAAc,IAGX,KAAb2E,GACAA,IAAaD,GACbA,IAAa7V,KAAK2K,YAAYoL,eAC9B/V,KAAKgH,KAAKoK,IAAM,GAChBpR,KAAKgH,KAAKiE,MAAQ,IAGL,KAAb6K,GACAA,IAAaD,GACbA,IAAa7V,KAAK2K,YAAYC,cAC9B5K,KAAKgH,KAAK4K,WAAa,GACvB5R,KAAKgH,KAAK6K,iBAAmB,GAC7B7R,KAAKgH,KAAK8K,gBAAkB,GAC5B9R,KAAKgH,KAAK6D,SAAW,KAG7B8F,EAAWtD,UAAU2I,mBAAqB,SAAUH,EAAUC,GAC1D,OAAOpH,EAAU1O,UAAM,OAAQ,GAAQ,WACnC,IAAI0S,EACJ,OAAOjD,EAAYzP,MAAM,SAAU2S,GAC/B,OAAQA,EAAG5C,OACP,KAAK,EASD,IAPuB,IAAnB/P,KAAKgL,YACLhL,KAAKgH,KAAKiE,MAAQ,KAGE,IAApBjL,KAAKmL,aACLnL,KAAKgH,KAAKoK,IAAM,KAEdpR,KAAKgL,YAAahL,KAAKkI,eAAiB,MAAO,CAAC,EAAa,GACnEyK,EAAG5C,MAAQ,EACf,KAAK,EAID,OAHA4C,EAAG1C,KAAKrM,KAAK,CAAC,EAAG,EAAG,EAAG,IACvB5D,KAAKkL,cAAe,EACpBwH,EAAK1S,KAAKgH,KACH,CAAC,EAAahH,KAAK2K,YAAYsL,SAASjW,KAAKgH,KAAKwC,SAC7D,KAAK,EAED,OADAkJ,EAAGzH,MAAQ0H,EAAG3C,OACP,CAAC,EAAa,GACzB,KAAK,EAGD,OAFU2C,EAAG3C,OACbhQ,KAAKgH,KAAKiE,MAAQ,GACX,CAAC,EAAa,GACzB,KAAK,EAED,OADAjL,KAAKkL,cAAe,EACb,CAAC,GACZ,KAAK,EAAG,MAAO,CAAC,WAKhCyF,EAAWtD,UAAUuH,SAAW,WAC5B,OAAOlG,EAAU1O,UAAM,OAAQ,GAAQ,WACnC,IAAI0S,EAAIwD,EAA+BC,EACnCtF,EAAQ7Q,KACZ,OAAOyP,EAAYzP,MAAM,SAAU2S,GAC/B,OAAQA,EAAG5C,OACP,KAAK,EACD,OAAK/P,KAAKkI,gBACe,MAArBlI,KAAKiJ,cAELjJ,KAAKiJ,YAAc,KAGvByJ,EAAK1S,KACE,CAAC,EAAaA,KAAK2K,YAAYyL,YAAYpW,KAAK8H,OAAOC,OAAOC,MAPpC,CAAC,EAAa,GAQnD,KAAK,EAED0K,EAAG1L,KAAO2L,EAAG3C,OAGbhQ,KAAK2J,KAAK3J,KAAKgH,KAAM,WAAYhH,KAAK8Q,kBAAkB5J,QAAO,SAAUF,GAAQ,OAAOA,EAAKsB,MAAQuI,EAAM7J,KAAKmK,eAAgBxN,OAAS,EACnI3D,KAAK2K,YAAYoL,aACjB/V,KAAK2K,YAAYC,aAEvB5K,KAAKwS,cAAgBxS,KAAKgH,KAAK+C,MAE/B/J,KAAKyS,gBAAkBzS,KAAKgH,KAAKmK,YACjC+E,EAAgClW,KAAKqW,aAAaC,wBAAwBtW,KAAKgH,KAAKgD,aAChFkM,EAA8BhD,SAC9BlT,KAAKiK,2BACDiM,EAA8BjW,KAAKsW,OACvCvW,KAAKgH,KAAKiK,eAAiBiF,EAA8BjW,KAAKuW,YAG9DxW,KAAKiK,2BAA6B,GAClCjK,KAAKyT,WAAWtK,OAAOkM,IAAI,CACvBvB,MAAO,cACPkB,MAAO,UACPM,IAAKY,EAA8B9C,WAG3C+C,EAA8BnW,KAAKqW,aAAaC,wBAAwBtW,KAAKgH,KAAKoD,WAC9E+L,EAA4BjD,QAC5BlT,KAAKqK,yBAA2B8L,EAA4BlW,KAAKsW,QAGjEvW,KAAKqK,yBAA2B,GAChCrK,KAAKyT,WAAWtK,OAAOkM,IAAI,CACvBvB,MAAO,YACPkB,MAAO,UACPM,IAAKa,EAA4B/C,WAGzCT,EAAG5C,MAAQ,EACf,KAAK,EAKD,OAH4B,IAAxB/P,KAAKkI,gBAA4BlI,KAAKyW,uBACtCzW,KAAKgH,KAAOhH,KAAK0W,uBAEd,CAAC,WAK5B/F,EAAWtD,UAAUqH,yBAA2B,WAC5C,OAAOhG,EAAU1O,UAAM,OAAQ,GAAQ,WACnC,IAAI0S,EAAIC,EAAIlL,EAAImL,EAAI1J,EACpB,OAAOuG,EAAYzP,MAAM,SAAU6S,GAC/B,OAAQA,EAAG9C,OACP,KAAK,EAID,OADA2C,EAAK1S,KAAKgH,KAAKwE,cACR,CAAC,EAAaxL,KAAKuV,qBAAqBoB,IAAI,6CACvD,KAAK,EAOD,OAJAjE,EAAGjH,eAAiBoH,EAAG7C,OAGvB2C,EAAK3S,KAAKwB,QACH,CAAC,EAAaxB,KAAK4W,YAAYC,YAC1C,KAAK,EAKD,OAFAlE,EAAGpI,UAAYsI,EAAG7C,OAClBvI,EAAKzH,KACE,CAAC,EAAaA,KAAK4W,YAAYE,YAAY9W,KAAK2K,YAAYoL,eACvE,KAAK,EAGD,OAFAtO,EAAGqJ,kBAAoB+B,EAAG7C,OAC1B4C,EAAK5S,KACE,CAAC,EAAaA,KAAK4W,YAAYE,YAAY9W,KAAK2K,YAAYC,cACvE,KAAK,EAID,OAHAgI,EAAG7B,iBAAmB8B,EAAG7C,OAEzB9G,EAAKlJ,KAAKwB,QACH,CAAC,EAAaxB,KAAK2K,YAAYoM,WAC1C,KAAK,EAGD,OADA7N,EAAGkC,KAAOyH,EAAG7C,OACN,CAAC,WAK5BW,EAAWtD,UAAUwH,sBAAwB,WACzC,OAAOnG,EAAU1O,UAAM,OAAQ,GAAQ,WACnC,IAAI0S,EAAIC,EAAIlL,EAAImL,EAAI1J,EAAI8C,EAASgL,EAAuBnE,EACxD,OAAOpD,EAAYzP,MAAM,SAAUyI,GAC/B,OAAQA,EAAGsH,OACP,KAAK,EAGD,OADA2C,EAAK1S,KAAKwB,QACH,CAAC,EAAaxB,KAAKuV,qBAAqBoB,IAAI,mBACvD,KAAK,EAID,OAFAjE,EAAG5G,MAAQrD,EAAGuH,OACd2C,EAAK3S,KAAKwB,QACH,CAAC,EAAaxB,KAAKiX,qBAAqBC,WAAU,IAC7D,KAAK,EAGD,OAFAvE,EAAG9G,eAAkBpD,EAAGuH,OAAQ/P,KAChCwH,EAAKzH,KAAKwB,QAAQ6J,eACX,CAAC,EAAarL,KAAKuV,qBAAqBoB,IAAI,iCACvD,KAAK,EAGD,OAFAlP,EAAG6D,KAAO7C,EAAGuH,OACb4C,EAAK5S,KAAKwB,QAAQ6J,eACX,CAAC,EAAarL,KAAKuV,qBAAqBoB,IAAI,+BACvD,KAAK,EAGD,OAFA/D,EAAGlH,GAAKjD,EAAGuH,OACX9G,EAAKlJ,KAAKwB,QAAQ6J,eACX,CAAC,EAAarL,KAAKuV,qBAAqBoB,IAAI,6BACvD,KAAK,EAED,OADAzN,EAAG0C,MAAQnD,EAAGuH,OACP,CAAC,EAAahQ,KAAKuV,qBAAqBoB,IAAI,qBACvD,KAAK,EAID,OAHA3K,EAAUvD,EAAGuH,OACbhQ,KAAKwB,QAAQ6J,eAAeW,QAAUA,EACtChM,KAAKwB,QAAQ0K,kBAAkBF,QAAUA,EAClC,CAAC,EAAahM,KAAKuV,qBAAqB4B,oBAAoB,CAC3DC,QAAS,CACL,qBAAsB,UACvBC,gBAAgB,KAE/B,KAAK,EAUD,OATAL,EAAwBvO,EAAGuH,OAC3BhQ,KAAKwB,QAAQ0K,kBAAkBC,MAAQ6K,EAAsB9D,QACvD8D,EAAsB/W,KAAKiH,QAAO,SAAUF,GAAQ,MAAuB,uBAAhBA,EAAKsQ,UAChE,GACNtX,KAAKwB,QAAQ0K,kBAAkBO,OAASuK,EAAsB9D,QACxD8D,EAAsB/W,KAAKiH,QAAO,SAAUF,GAAQ,MAAuB,WAAhBA,EAAKsQ,UAChE,GACNtX,KAAKwB,QAAQ0K,kBAAkBO,OAAO8K,QAAQ,CAAEC,iBAAkB,MAAOC,KAAM,KAC/E5E,EAAK7S,KAAKwB,QAAQ0K,kBACX,CAAC,EAAalM,KAAKuV,qBAAqBoB,IAAI,oCACvD,KAAK,EAED,OADA9D,EAAGvG,MAAQ7D,EAAGuH,OACP,CAAC,WAK5BW,EAAWtD,UAAUsH,aAAe,WAChC,OAAOjG,EAAU1O,UAAM,OAAQ,GAAQ,WACnC,IAAI0X,EAAe7M,EAAU8M,EAAeC,EAAoBC,EAAkBC,EAC9EjH,EAAQ7Q,KACZ,OAAOyP,EAAYzP,MAAM,SAAU0S,GAC/B,OAAQA,EAAG3C,OACP,KAAK,EAAG,MAAO,CAAC,EAAa/P,KAAKuV,qBAAqBoB,IAAI,8BAC3D,KAAK,EAED,OADAe,EAAgBhF,EAAG1C,OACZ,CAAC,EAAahQ,KAAKuV,qBAAqBoB,IAAI,yBACvD,KAAK,EAED,OADA9L,EAAW6H,EAAG1C,OACP,CAAC,EAAahQ,KAAKuV,qBAAqBoB,IAAI,8BACvD,KAAK,EAmGD,OAlGAgB,EAAgBjF,EAAG1C,OACnBhQ,KAAKwB,QAAQ4Q,eAAiBsF,EAC9B1X,KAAKwB,QAAQ2Q,UAAYtH,EACzB7K,KAAKwB,QAAQ0Q,eAAiByF,EAC9B3X,KAAKwB,QAAQqJ,SAAW,GAGxB7K,KAAKwB,QAAQqJ,SAAW8M,EACnBzQ,QAAO,SAAUF,GAClB,OAA0B,IAAnB6J,EAAMnH,UACTmH,EAAM7J,KAAK8K,gBAAgB7S,SAAS+H,EAAKgB,OAE5C+P,KAAI,SAAUvG,GACf,MAAQ,CACJxJ,GAAI,GAAK6I,EAAMmH,eAAeC,mBAAqBzG,EAAMxJ,GACzD7J,KAAMqT,EAAMrT,KACZkE,SAAUwI,EACL3D,QAAO,SAAUsF,GAClB,OAAOA,EAAQ0L,UAAY1G,EAAMxJ,MACT,IAAnB6I,EAAMnH,UACHmH,EAAM7J,KAAK6K,iBAAiB5S,SAASuN,EAAQxE,QAEpD+P,KAAI,SAAUvL,GAAW,MAAQ,CAClCxE,GAAI,GAAK6I,EAAMmH,eAAeG,cAAgB3L,EAAQxE,GACtD7J,KAAMqO,EAAQrO,KACdkE,SAAUqV,EACLxQ,QAAO,SAAUkR,GAClB,OAAOA,EAAKC,WAAa7L,EAAQxE,MACT,IAAnB6I,EAAMnH,UACHmH,EAAM7J,KAAK4K,WAAW3S,SAASmZ,EAAKpQ,QAE3C+P,KAAI,SAAUK,GAAQ,MAAQ,CAC/BpQ,GAAI,GAAK6I,EAAMmH,eAAeM,mBAAqBF,EAAKpQ,GACxD7J,KAAMia,EAAKja,iBAK3ByZ,EAAqB/M,EAAS3D,QAAO,SAAU8G,GAC3C,OAAOA,EAAEkK,UACsE,IAA3EP,EAAcI,KAAI,SAAUQ,GAAM,OAAOA,EAAGvQ,MAAO/I,SAAS+O,EAAEkK,YAGtElY,KAAKwB,QAAQqJ,SAAW7K,KAAKwB,QAAQqJ,SAAS2N,OAAOZ,EAAmBG,KAAI,SAAUvL,GAClF,MAAQ,CACJxE,GAAI,GAAK6I,EAAMmH,eAAeG,cAAgB3L,EAAQxE,GACtD7J,KAAMqO,EAAQrO,KACdkE,SAAUqV,EACLxQ,QAAO,SAAUkR,GAClB,OAAOA,EAAKC,WAAa7L,EAAQxE,MACT,IAAnB6I,EAAMnH,UACHmH,EAAM7J,KAAK4K,WAAW3S,SAASmZ,EAAKpQ,QAE3C+P,KAAI,SAAUK,GAAQ,MAAQ,CAC/BpQ,GAAI,GAAK6I,EAAMmH,eAAeM,mBAAqBF,EAAKpQ,GACxD7J,KAAMia,EAAKja,cAIvB0Z,EAAmBH,EAAcxQ,QAAO,SAAU4F,GAC9C,OAAOA,EAAEuL,WAAiF,IAArExN,EAASkN,KAAI,SAAU/J,GAAK,OAAOA,EAAEhG,MAAO/I,SAAS6N,EAAEuL,aAGhFrY,KAAKwB,QAAQqJ,SAAW7K,KAAKwB,QAAQqJ,SAAS2N,OAAOX,EAAiBE,KAAI,SAAUK,GAChF,MAAQ,CACJpQ,GAAI,GAAK6I,EAAMmH,eAAeM,mBAAqBF,EAAKpQ,GACxD7J,KAAMia,EAAKja,UAIf0M,EAAS3D,QAAO,SAAUF,GAAQ,OAAQA,EAAKkR,WAAYvU,OAAS,GACpE3D,KAAKwB,QAAQqJ,SAASjH,KAAK,CACvBoE,GAAI,MACJ7J,KAAM,SACNkE,SAAUwI,EACL3D,QAAO,SAAUsF,GAClB,OAAQA,EAAQ0L,WACQ,IAAnBrH,EAAMnH,UACHmH,EAAM7J,KAAK6K,iBAAiB5S,SAASuN,EAAQxE,QAEpD+P,KAAI,SAAUvL,GAAW,MAAQ,CAClCxE,GAAI,GAAK6I,EAAMmH,eAAeG,cAAgB3L,EAAQxE,GACtD7J,KAAMqO,EAAQrO,KACdkE,SAAUqV,EACLxQ,QAAO,SAAUkR,GAClB,OAAOA,EAAKC,WAAa7L,EAAQxE,MACT,IAAnB6I,EAAMnH,UACHmH,EAAM7J,KAAK4K,WAAW3S,SAASmZ,EAAKpQ,QAE3C+P,KAAI,SAAUK,GAAQ,MAAQ,CAC/BpQ,GAAI,GAAK6I,EAAMmH,eAAeM,mBAAqBF,EAAKpQ,GACxD7J,KAAMia,EAAKja,eAK3B2Z,EAAa,CAAC,CAAExP,IAAK,GAAIzI,MAAO,QAChCG,KAAKwB,QAAQ0K,kBAAkBrB,SAAWiN,EAAWU,OAAOd,EAAcK,KAAI,SAAU/Q,GAAQ,MAAQ,CAAEsB,IAAKtB,EAAKgB,GAAInI,MAAOmH,EAAK7I,UAC7H,CAAC,WAK5BwS,EAAWtD,UAAU6H,qBAAuB,SAAUpW,GAClD,IAAI+R,EAAQ7Q,KACZ,OAASA,KAAK8Q,mBAAqB,IAAI5J,QAAO,SAAUF,GACpD,OAAOA,EAAKnH,MAAMuU,gBAAkBvD,EAAMlG,YAAYyK,SAClDpO,EAAKsB,MAAQxJ,KAClB6E,OAAS,GAEhBH,OAAO6K,eAAesC,EAAWtD,UAAW,eAAgB,CACxDsJ,IAAK,WACD,OAAO3W,KAAKgH,KAAK0D,WAAa1K,KAAK2K,YAAYoL,aACzC/V,KAAK8Q,kBACL9Q,KAAK+Q,kBAEf0H,YAAY,EACZC,cAAc,IAElBlV,OAAO6K,eAAesC,EAAWtD,UAAW,4BAA6B,CACrEsJ,IAAK,WACD,OAAO3W,KAAK2Y,4BAA4B3Y,KAAKgH,KAAKwE,cAC7CC,eAAe4F,WAExBoH,YAAY,EACZC,cAAc,IAElBlV,OAAO6K,eAAesC,EAAWtD,UAAW,0BAA2B,CACnEsJ,IAAK,WACD,OAAO3W,KAAK2Y,4BAA4B3Y,KAAKgH,KAAKwE,cAC7CC,eAAe6F,SAExBmH,YAAY,EACZC,cAAc,IAElBlV,OAAO6K,eAAesC,EAAWtD,UAAW,aAAc,CACtDsJ,IAAK,WACD,IAAI9F,EAAQ7Q,KACZ,OAASA,KAAK8Q,mBAAqB,IAAI5J,QAAO,SAAUF,GACpD,OAAOA,EAAKnH,MAAMuU,gBAAkBvD,EAAMlG,YAAYiO,UAClD5R,EAAKsB,MAAQuI,EAAM7J,KAAKmK,eAC7BxN,OAAS,GAEhB8U,YAAY,EACZC,cAAc,IAElBlV,OAAO6K,eAAesC,EAAWtD,UAAW,YAAa,CACrDsJ,IAAK,WACD,IAAI9F,EAAQ7Q,KACZ,OAASA,KAAK8Q,mBAAqB,IAAI5J,QAAO,SAAUF,GACpD,OAAOA,EAAKnH,MAAMuU,gBAAkBvD,EAAMlG,YAAYyK,SAClDpO,EAAKsB,MAAQuI,EAAM7J,KAAKmK,eAC7BxN,OAAS,GAEhB8U,YAAY,EACZC,cAAc,IAElBlV,OAAO6K,eAAesC,EAAWtD,UAAW,iBAAkB,CAC1DsJ,IAAK,WACD,OAAQ3W,KAAK8H,OAAOC,QAChB/H,KAAK8H,OAAOC,OAAOC,IACO,MAA1BhI,KAAK8H,OAAOC,OAAOC,IAE3ByQ,YAAY,EACZC,cAAc,IAElBlV,OAAO6K,eAAesC,EAAWtD,UAAW,6BAA8B,CACtEsJ,IAAK,WACD,OAAO3W,KAAKgH,KAAKgD,aAErB6O,IAAK,SAAUhD,GACX,IAAIhF,EAAQ7Q,KACZ,IACIA,KAAKqS,kBAAkByG,QACvB9Y,KAAKgH,KAAKgD,YAAchK,KAAKqS,kBAAkBtL,MAAM8O,GACF,KAA/C7V,KAAKqS,kBAAkBY,qBAEvBjT,KAAKgH,KAAKgD,YAAc6L,EAExB7V,KAAKoH,WAAU,WACXyJ,EAAMkI,qCAGL/Y,KAAKqS,kBAAkB2G,cACqB,IAAjDhZ,KAAKqS,kBAAkB2G,YAAYzE,UAEnCvU,KAAKoH,WAAU,WACXyJ,EAAMkI,oCAIV/Y,KAAKkK,mCAAoC,EAGjD,MAAOqJ,GACHvT,KAAKgH,KAAKgD,YAAc6L,IAGhC4C,YAAY,EACZC,cAAc,IAElBlV,OAAO6K,eAAesC,EAAWtD,UAAW,2BAA4B,CACpEsJ,IAAK,WACD,OAAO3W,KAAKgH,KAAKoD,WAErByO,IAAK,SAAUhD,GACX,IACI7V,KAAKuS,gBAAgBuG,QACrB9Y,KAAKgH,KAAKoD,UAAYpK,KAAKuS,gBAAgBxL,MAAM8O,GACA,KAA7C7V,KAAKuS,gBAAgBU,sBAErBjT,KAAKgH,KAAKoD,UAAYyL,GAG9B,MAAOtC,GACHvT,KAAKgH,KAAKoD,UAAYyL,IAG9B4C,YAAY,EACZC,cAAc,IAElB/H,EAAWtD,UAAUsL,4BAA8B,SAAUM,EAAgBC,GAEzE,YADe,IAAXA,IAAqBA,EAAS,GAC3B,QAAUC,EAAOC,EAAQ,IAAIC,MAASJ,EAAiBC,GAAS,sBAE3EvI,EAAWtD,UAAU0L,+BAAiC,WAClD/Y,KAAKgH,KAAKiK,eAAiB,GAC3BjR,KAAKkK,mCAAoC,GAE7CyG,EAAWtD,UAAUiM,mBAAqB,SAAUhC,EAAQiC,GACxD,GAAIvZ,KAAKgH,KAAK0K,QACV,OAAO1R,KAAKgH,KAAK0K,QAAQ+D,MAAK,SAAUC,GAAK,OAAOA,EAAE6D,YAAcA,GAAa7D,EAAE4B,SAAWA,MAGtG3G,EAAWtD,UAAUhB,cAAgB,SAAUiL,EAAQiC,GACnD,IAAIC,EAAexZ,KAAKsZ,mBAAmBhC,EAAQiC,GACnD,OAAOC,GAAgBA,EAAa3Z,MAC9B2Z,EAAa3Z,MACb,IAEV8Q,EAAWtD,UAAUd,iBAAmB,SAAU+K,EAAQiC,EAAW1Z,GACjE,IAAI2Z,EAAexZ,KAAKsZ,mBAAmBhC,EAAQiC,GAC/CC,IACAA,EAAa3Z,MAAQA,IAG7B8Q,EAAWtD,UAAUpB,mBAAqB,SAAUqL,EAAQiC,GACxD,IAAIC,EAAexZ,KAAKsZ,mBAAmBhC,EAAQiC,GACnD,OAAOC,GAAgBA,EAAa3Z,MAC9B2Z,EAAa3Z,MAAM4Z,MAAM,KACzB,IAEV9I,EAAWtD,UAAUjB,sBAAwB,SAAUkL,EAAQiC,EAAW1Z,GACtE,IAAI2Z,EAAexZ,KAAKsZ,mBAAmBhC,EAAQiC,GAC/CC,IACAA,EAAa3Z,MAAQA,EAAM6Z,KAAK,OAGxC/I,EAAWtD,UAAU4G,iBAAmB,SAAUzK,GAC9C,OAAOkF,EAAU1O,UAAM,EAAQiP,SAAS,WACpC,IAAI+E,EACJ,OAAOvE,EAAYzP,MAAM,SAAU0S,GAC/B,OAAQA,EAAG3C,OACP,KAAK,EAAG,MAAO,CAAC,EAAa/P,KAAK2K,YAAYgP,2BAA2BnQ,IACzE,KAAK,EAaD,OAZAwK,EAAetB,EAAG1C,OAClBhQ,KAAKgT,gBAAmC,OAAjBgB,EACD,OAAjBA,IAA4D,IAAjCA,EAAaE,kBAGzClU,KAAKwS,cAAgBwB,EAAajK,MAClC/J,KAAKgH,KAAK6C,UAAYmK,EAAanK,UACnC7J,KAAKgH,KAAK8C,SAAWkK,EAAalK,SAClC9J,KAAKgH,KAAK+C,MAAQiK,EAAajK,MAC/B/J,KAAKgH,KAAKgD,YAAcgK,EAAaK,MACrCrU,KAAKgH,KAAKiK,eAAiB,IAExB,CAAC,EAAc+C,WAM1CpG,EAAW,CACPgM,eAAWC,OAAMC,sBACjBxL,EAAW,cAAqG,oBAA9EoE,EAAqC,qBAAzBoH,QAAwCA,QAAuCpH,EAAKlP,SACnImN,EAAWtD,UAAW,4BAAwB,GACjDO,EAAW,CACPgM,eAAWC,OAAME,aACjBzL,EAAW,cAAmF,oBAA5DqE,EAA4B,qBAAhBoH,QAA+BA,QAA8BpH,EAAKnP,SACjHmN,EAAWtD,UAAW,mBAAe,GACxCO,EAAW,CACPgM,eAAWC,OAAMG,aACjB1L,EAAW,cAAmF,oBAA5D7G,EAA4B,qBAAhBuS,QAA+BA,QAA8BvS,EAAKjE,SACjHmN,EAAWtD,UAAW,mBAAe,GACxCO,EAAW,CACPgM,eAAWC,OAAMI,gBACjB3L,EAAW,cAAyF,oBAAlEsE,EAA+B,qBAAnBqH,QAAkCA,QAAiCrH,EAAKpP,SACvHmN,EAAWtD,UAAW,sBAAkB,GAC3CO,EAAW,CACPgM,eAAWC,OAAMK,cACjB5L,EAAW,cAAqF,oBAA9DpF,EAA6B,qBAAjBgR,QAAgCA,QAA+BhR,EAAK1F,SACnHmN,EAAWtD,UAAW,oBAAgB,GACzCO,EAAW,CACPgM,eAAWC,OAAMM,sBACjB7L,EAAW,cAAqG,oBAA9EuE,EAAqC,qBAAzBsH,QAAwCA,QAAuCtH,EAAKrP,SACnImN,EAAWtD,UAAW,4BAAwB,GACjDO,EAAW,CACPwM,eAAM,gBAAiB,CAAEC,WAAW,IACpC/L,EAAW,cAAegM,UAC1BhM,EAAW,oBAAqB,CAAC9K,OAAQA,SACzC8K,EAAW,yBAAqB,IACjCqC,EAAWtD,UAAW,kBAAmB,MAC5CO,EAAW,CACPwM,eAAM,mBAAoB,CAAEC,WAAW,IACvC/L,EAAW,cAAegM,UAC1BhM,EAAW,oBAAqB,CAAC9K,OAAQA,SACzC8K,EAAW,oBAAqBW,UACjC0B,EAAWtD,UAAW,qBAAsB,MAC/CsD,EAAa/C,EAAW,CACpB2M,eAAU,CACNC,cAAe,CAAEzb,UAAW,UAEjC4R,GACIA,EA15BqB,CA25B9B8J,eAAOC,OAAaC,OAAeC,SACtBjK,ICl/BwY,I,+VCOnZ4I,GAAY,eACd,EACAlW,EACAsJ,GACA,EACA,KACA,KACA,MAIa,aAAA4M,GAAiB,QAgChC,IAAkBA,GAAW,CAACsB,SAAA,KAAOC,gBAAA,KAAcpa,OAAA,KAAKqa,QAAA,KAAMC,aAAA,OAAaC,UAAA,OAAUC,YAAA,KAAUC,QAAA,KAAMC,aAAA,KAAWC,UAAA,KAAQC,WAAA,KAASC,QAAA,KAAMC,QAAA,KAAMra,QAAA,KAAMsa,UAAA,KAAQC,kBAAA,KAAgBC,UAAA,KAAQC,WAAA,KAASC,kBAAA,KAAgBC,eAAA,OAAeC,cAAA,OAAcC,eAAA,KAAaC,cAAA,KAAWC,aAAA,KAAUC,YAAA,KAASC,cAAA,QAAcC,YAAA,KAASC,aAAA,Q,2DClD3S,wHAKA,MAAMR,EAAiBS,eAAuB,qBACxCR,EAAgBQ,eAAuB,oBAYzCX,OACAC,OACAG,Q,y/CCRWQ,cAAWte,OAAO,CAC/BC,KAAM,aAENC,MAAO,CACLqe,cAAepd,QACfqd,kBAAmB,CACjB5d,KAAMR,OACNa,QAAS,0BAEXwd,QAAS,CACP7d,KAAMR,OACNa,QAAS,gBAEXyd,OAAQ,CACN9d,KAAMR,OACNa,QAAS,gBAIbc,OACE,MAAO,CACL4c,mBAAoB7c,KAAKyc,gBAI7B3c,SAAU,CACRwB,UACE,OAAAC,IAAA,GACKub,OAAOtb,QAAQ1B,SAASwB,QAAQG,KAAKzB,OADnC,IAEL,+BAA+B,EAC/B,qBAAqB,EACrB,yBAA0BA,KAAK6c,sBAGnCxb,eACE,OAAIrB,KAAK6c,mBACA7c,KAAK0c,kBACH1c,KAAKkB,SACPlB,KAAK4c,OAEL5c,KAAK2c,SAMhBI,kBACE,IAAI/c,KAAKgd,YAAehd,KAAK6c,mBAC7B,OAAI7c,KAAK4E,UAAY5E,KAAKid,eAAuB,QAC7Cjd,KAAKkd,WAAmB,UACN,OAAlBld,KAAKmd,SAA0Bnd,KAAKK,mBAAxC,IAKJqG,MAAO,CACL+V,cAAezd,GAEbgB,KAAKoH,UAAU,IAAOpH,KAAK6c,mBAAqB7d,IAElD6d,mBAAoB7d,GAClBgB,KAAKsF,MAAM,uBAAwBtG,IAErCkC,WACOlB,KAAKyc,gBACVzc,KAAK6c,oBAAqB,KAI9B1a,QAAS,CACPib,cACE,MAAAC,EAAoCrd,KAAKsd,OAAvBC,GAAZF,EAAEG,MAAUC,EAAAJ,EAAAK,IAClB,OAAO1d,KAAKM,eAAe,MAAO,CAChCJ,YAAa,sCACZ,CACDF,KAAKM,eAAea,OAAOnB,KAAKoD,aAAapD,KAAK+c,gBAAiB,CACjE3e,MAAO,CACLkB,MAAOU,KAAKV,MACZqe,KAAM3d,KAAK2d,KACXC,MAAO5d,KAAK4d,SAEZ5d,KAAKqB,cACTrB,KAAK6d,SAAS,WAAdtc,IAAA,GACKgc,GADqB,IAExB,eAAgBvd,KAAK6c,mBACjB,QACA7c,KAAKkB,SAAS0E,cAEpB5F,KAAKyD,UAAUzD,KAAKoD,aAAapD,KAAK8d,iBAG1CC,iBACE,MAAO,CACL/d,KAAKod,cACLpd,KAAKyF,iB,kCC1Gb,gBAGe/E,e,kCCHf,wCAAIkM,EAAyC,WACzC,IAAIC,EAAgB,SAAUC,EAAGC,GAI7B,OAHAF,EAAgBrJ,OAAOwJ,gBAClB,CAAEC,UAAW,cAAgBzI,OAAS,SAAUsI,EAAGC,GAAKD,EAAEG,UAAYF,IACvE,SAAUD,EAAGC,GAAK,IAAK,IAAIG,KAAKH,EAAOA,EAAE9K,eAAeiL,KAAIJ,EAAEI,GAAKH,EAAEG,KAClEL,EAAcC,EAAGC,IAE5B,OAAO,SAAUD,EAAGC,GAEhB,SAASI,IAAOnN,KAAKoN,YAAcN,EADnCD,EAAcC,EAAGC,GAEjBD,EAAEO,UAAkB,OAANN,EAAavJ,OAAO8J,OAAOP,IAAMI,EAAGE,UAAYN,EAAEM,UAAW,IAAIF,IAV1C,GAazCS,EAA0C,SAAUC,EAAYC,EAAQxF,EAAKyF,GAC7E,IAA2HjB,EAAvHkB,EAAItK,UAAUC,OAAQsK,EAAID,EAAI,EAAIF,EAAkB,OAATC,EAAgBA,EAAOvK,OAAO0K,yBAAyBJ,EAAQxF,GAAOyF,EACrH,GAAuB,kBAAZI,SAAoD,oBAArBA,QAAQC,SAAyBH,EAAIE,QAAQC,SAASP,EAAYC,EAAQxF,EAAKyF,QACpH,IAAK,IAAI5G,EAAI0G,EAAWlK,OAAS,EAAGwD,GAAK,EAAGA,KAAS2F,EAAIe,EAAW1G,MAAI8G,GAAKD,EAAI,EAAIlB,EAAEmB,GAAKD,EAAI,EAAIlB,EAAEgB,EAAQxF,EAAK2F,GAAKnB,EAAEgB,EAAQxF,KAAS2F,GAChJ,OAAOD,EAAI,GAAKC,GAAKzK,OAAO6K,eAAeP,EAAQxF,EAAK2F,GAAIA,GAE5DK,EAA0C,SAAUC,EAAGC,GACvD,GAAuB,kBAAZL,SAAoD,oBAArBA,QAAQM,SAAyB,OAAON,QAAQM,SAASF,EAAGC,IAKtGwP,EAAqC,SAAUpN,GAE/C,SAASoN,IACL,IAAInN,EAAmB,OAAXD,GAAmBA,EAAOjD,MAAM3N,KAAM0D,YAAc1D,KAGhE,OAFA6Q,EAAMoN,MAAQC,eAASrN,EAAMsN,QAC7BtN,EAAMuN,WAAa,GACZvN,EAqJX,OA1JAjE,EAAUoR,EAAqBpN,GAO/BoN,EAAoB3Q,UAAUtL,QAAU,WAChC/B,KAAKH,QACLG,KAAKoe,WAAape,KAAKH,QAM/Bme,EAAoB3Q,UAAUgR,oBAAsB,SAAUrf,EAAK4H,GAC/D5G,KAAKsF,MAAM,QAAStG,IAKxBgf,EAAoB3Q,UAAUiR,eAAiB,SAAUtf,EAAK4H,GAC1D5G,KAAKoe,WAAape,KAAKH,OAE3B2D,OAAO6K,eAAe2P,EAAoB3Q,UAAW,eAAgB,CACjEsJ,IAAK,WACD,OAAO3W,KAAKue,qBAAqBC,WAAsC,IAA1Bxe,KAAKye,iBAC5Cze,KAAK+P,MAAQ,IACb/P,KAAK+P,OAEf0I,YAAY,EACZC,cAAc,IAElBlV,OAAO6K,eAAe2P,EAAoB3Q,UAAW,kBAAmB,CACpEsJ,IAAK,WAED,OAAI3W,KAAKye,qBAILze,KAAK0e,gBAIL1e,KAAK2e,YAAYhb,OAAS,GAAM3D,KAAKue,sBAAwBve,KAAKue,qBAAqBK,OAK/FnG,YAAY,EACZC,cAAc,IAElBlV,OAAO6K,eAAe2P,EAAoB3Q,UAAW,cAAe,CAChEsJ,IAAK,WACD,OAAI3W,KAAK6e,MAAQ7e,KAAK6e,KAAKlb,OAAS,EACzB3D,KAAK6e,KAEP7e,KAAKue,qBAAqBC,SACxB,YAGA,IAGf/F,YAAY,EACZC,cAAc,IAElBlV,OAAO6K,eAAe2P,EAAoB3Q,UAAW,mBAAoB,CACrEsJ,IAAK,WACD,OAAO3W,KAAK8e,aAAe9e,KAAK8e,YAAYnb,OAAS,EAC/C3D,KAAK8e,YACL9e,KAAK+P,OAEf0I,YAAY,EACZC,cAAc,IAElBlV,OAAO6K,eAAe2P,EAAoB3Q,UAAW,cAAe,CAChEsJ,IAAK,WACD,OAAgC,IAAzB3W,KAAK+e,iBAEhBtG,YAAY,EACZC,cAAc,IAElBlV,OAAO6K,eAAe2P,EAAoB3Q,UAAW,uBAAwB,CACzEsJ,IAAK,WACD,OAAQ3W,KAAKqJ,iBACTrJ,KAAKie,MAAMe,eAAe3V,gBAAgBrJ,KAAK7B,OAC/C,IAERsa,YAAY,EACZC,cAAc,IAElBlV,OAAO6K,eAAe2P,EAAoB3Q,UAAW,mBAAoB,CACrEsJ,IAAK,WACD,OAAO3W,KAAK0J,UAAY1J,KAAKie,MAAMe,eAAetV,UAEtD+O,YAAY,EACZC,cAAc,IAElB9K,EAAW,CACPqR,eAAK,CAAEngB,KAAM,KAAM0f,UAAU,IAC7BlQ,EAAW,cAAehQ,SAC3B0f,EAAoB3Q,UAAW,aAAS,GAC3CO,EAAW,CACPqR,eAAK,CAAEngB,KAAMR,OAAQkgB,UAAU,IAC/BlQ,EAAW,cAAehQ,SAC3B0f,EAAoB3Q,UAAW,YAAQ,GAC1CO,EAAW,CACPqR,eAAK,CAAEngB,KAAMR,OAAQkgB,UAAU,IAC/BlQ,EAAW,cAAehQ,SAC3B0f,EAAoB3Q,UAAW,aAAS,GAC3CO,EAAW,CACPqR,eAAK,CAAEngB,KAAMR,SACbgQ,EAAW,cAAehQ,SAC3B0f,EAAoB3Q,UAAW,mBAAe,GACjDO,EAAW,CACPqR,eAAK,CAAEngB,KAAMR,SACbgQ,EAAW,cAAehQ,SAC3B0f,EAAoB3Q,UAAW,YAAQ,GAC1CO,EAAW,CACPqR,eAAK,CAAEngB,KAAMO,UACbiP,EAAW,cAAejP,UAC3B2e,EAAoB3Q,UAAW,gBAAY,GAC9CO,EAAW,CACPqR,eAAK,CAAEngB,KAAMO,QAASmf,UAAU,EAAOrf,SAAS,IAChDmP,EAAW,cAAejP,UAC3B2e,EAAoB3Q,UAAW,wBAAoB,GACtDO,EAAW,CACPqR,eAAK,CAAEngB,KAAM0E,SACb8K,EAAW,cAAe9K,SAC3Bwa,EAAoB3Q,UAAW,uBAAmB,GACrDO,EAAW,CACPqR,eAAK,CAAEngB,KAAMO,UACbiP,EAAW,cAAejP,UAC3B2e,EAAoB3Q,UAAW,mBAAe,GACjDO,EAAW,CACPwM,eAAM,aAAc,CAAEC,WAAW,EAAM6E,MAAM,IAC7C5Q,EAAW,cAAegM,UAC1BhM,EAAW,oBAAqB,CAAC9K,OAAQA,SACzC8K,EAAW,yBAAqB,IACjC0P,EAAoB3Q,UAAW,sBAAuB,MACzDO,EAAW,CACPwM,eAAM,QAAS,CAAEC,WAAW,EAAM6E,MAAM,IACxC5Q,EAAW,cAAegM,UAC1BhM,EAAW,oBAAqB,CAAC9K,OAAQA,SACzC8K,EAAW,yBAAqB,IACjC0P,EAAoB3Q,UAAW,iBAAkB,MACpD2Q,EAAsBpQ,EAAW,CAC7B2M,eAAU,CACN4E,WAAY,CACR,sBAAuBC,WAGhCpB,GACIA,EA3J8B,CA4JvC/f,QACa+f,U,knCCnKf,MAAMqB,EAAgB9d,IAAA,GACjB+d,QADoB,IAEvBC,SAAS,EACTC,gBAAgB,EAChBhhB,YAAY,IAICihB,cAAQvhB,OAAO,CAC5BC,KAAM,iBAENC,MAAO,CACLshB,cAAe,CACb5gB,KAAMO,QACNF,SAAS,GAEXwgB,gBAAiB,CACf7gB,KAAMO,QACNF,SAAS,GAEX+H,OAAQ,CACNpI,KAAMwb,SACNnb,QAASA,CAAC6H,EAAW4Y,EAAmBC,IAC/BA,EAASC,oBAAoBC,QAAQH,EAAUE,sBAAwB,GAGlFE,WAAY3gB,QACZ4gB,UAAW,CACTnhB,KAAM2gB,OAAQje,QAAQpD,MAAM6hB,UAAUnhB,KACtCK,QAASA,IAAMkgB,GAEjBa,SAAU7gB,QACV8gB,YAAa,CACXrhB,KAAMR,SAIV2B,OACE,MAAO,CACLmgB,WAAYpgB,KAAKmgB,cAIrBrgB,SAAU,CACRwB,UACE,OAAAC,IAAA,GACKke,OAAQje,QAAQ1B,SAASwB,QAAQG,KAAKzB,OADpC,IAEL,kBAAkB,EAClB,qCAAsCA,KAAKqgB,eAAiB,KAGhEC,gBACE,OAAOtgB,KAAKugB,eAEdC,iBACE,OAAOxgB,KAAKygB,cAAc1I,IAAI/Q,GAAQhH,KAAK0gB,SAAS1Z,KAEtD2Z,oBACE,OAAO3gB,KAAK4gB,aACR5gB,KAAKugB,cAAc1b,KAAKmC,IAAShH,KAAK6gB,QAAQ7Z,IAC9ChH,KAAKugB,cAAc5c,OAAS,GAElCmd,eACE,OAAyB,MAArB9gB,KAAK+gB,aAA6B,EAE/BziB,OAAO0B,KAAKghB,QAAQhhB,KAAK+gB,eAAepd,QAEjD4c,gBACE,OAAKvgB,KAAKihB,aAAejhB,KAAKkgB,UAAmC,MAAvBlgB,KAAKkhB,eAA+BlhB,KAAKmhB,SAE5EnhB,KAAKmhB,SAASja,OAAOF,IAC1B,MAAMnH,EAAQuhB,eAAoBpa,EAAMhH,KAAK6f,UACvCjgB,EAAgB,MAATC,EAAgBvB,OAAOuB,GAAS,GAE7C,OAAOG,KAAKkH,OAAOF,EAAM1I,OAAO0B,KAAKkhB,gBAAiBthB,MAG1DshB,eAAgB,CACdvK,MACE,OAAO3W,KAAKogB,YAEdvH,IAAK7Z,GAGCgB,KAAKogB,aAAephB,IACtBgB,KAAKogB,WAAaphB,EAClBgB,KAAKsF,MAAM,sBAAuBtG,MAIxCqiB,oBACE,OAAO,GAETC,UACE,OAAOthB,KAAKuhB,eAAiBvhB,KAAKygB,cAAc9c,OAAS,GAE3Dsd,cACE,OACEjhB,KAAKwhB,UACLxhB,KAAKuhB,eAELvhB,KAAKuhB,eACLvhB,KAAKkhB,iBAAmBlhB,KAAKghB,QAAQhhB,KAAK+gB,eAG9CU,cACE,QAAKzhB,KAAK0hB,YAEH1hB,KAAK2gB,oBAAsB3gB,KAAKggB,aAEzC2B,cACE,MAAMvjB,EAAQqhB,OAAQje,QAAQ1B,SAAS6hB,YAAYlgB,KAAKzB,MAExD,OADC5B,EAAcwjB,cAAe,4BAA4BxjB,EAAcwjB,cAAgB,KAAKC,OAC7FtgB,IAAA,GACK8d,GACAjhB,IAGPmjB,gBACE,OAA8B,MAAvBvhB,KAAKkhB,gBACc,KAAxBlhB,KAAKkhB,gBAETH,eACE,OAAI/gB,KAAKwhB,SAAiB,KAEnBxhB,KAAKygB,cAAchL,KAAKtO,GACtBnH,KAAK8hB,gBAAgB9hB,KAAK0gB,SAASvZ,GAAInH,KAAK0gB,SAAS1gB,KAAK2G,kBAGrEob,WACE,MAAM9hB,EAAOwf,OAAQje,QAAQ1B,SAASiiB,SAAStgB,KAAKzB,MAapD,OAXAC,EAAK7B,MAALmD,IAAA,GACKtB,EAAK7B,OADG,IAEX4jB,MAAOhiB,KAAKiiB,iBACZ/B,SACElgB,KAAKkgB,WACJlgB,KAAKihB,cACLjhB,KAAKugB,cAAc5c,OAEtBwc,YAAangB,KAAKkhB,iBAGbjhB,IAIXyG,MAAO,CACL6Z,cAAe,yBACf5Z,cAAe,YACf+a,UAAW1iB,GACLA,GACFkjB,SAASC,iBAAiB,OAAQniB,KAAKoiB,QACvCpiB,KAAKqiB,MAAMtb,OAAS/G,KAAKqiB,MAAMtb,MAAMub,WAErCJ,SAASK,oBAAoB,OAAQviB,KAAKoiB,QAC1CpiB,KAAKqiB,MAAMtb,OAAS/G,KAAKqiB,MAAMtb,MAAMyb,OACrCxiB,KAAKyiB,eAGTC,aAAc1jB,IACRA,GAAQgB,KAAK2iB,UAEjB3iB,KAAKogB,WAAa,OAEpB4B,MAAOhjB,EAAK4H,GAONA,GAAUA,EAAOjD,SACnB3D,KAAKggB,aACLhgB,KAAK0hB,WACJ1hB,KAAK0iB,eACN1jB,EAAI2E,QACJ3D,KAAK4iB,gBAETzC,YAAanhB,GACXgB,KAAKogB,WAAaphB,GAEpBkiB,eAAgB,0BAChBrB,SAAU,cAGZ9d,UACE/B,KAAK6iB,aAGPC,YACEZ,SAASK,oBAAoB,OAAQviB,KAAKoiB,SAG5CjgB,QAAS,CACP4gB,uBAAwB/jB,EAAc4H,GAGhC5H,IAAQ4H,IAEZ5G,KAAKgjB,cAAc,GAEnBhjB,KAAKoH,UAAU,KAEVpH,KAAKkhB,iBACU,IAAfliB,EAAI2E,QACF3D,KAAK2f,mBAGV3f,KAAKqiB,MAAMY,KAAKC,WAChBljB,KAAKgjB,aAAa,QAGtBG,0BACEnjB,KAAKojB,wBAEPA,uBAEEpjB,KAAK0iB,cAAgB1iB,KAAKqiB,MAAMY,MAAQjjB,KAAKqiB,MAAMY,KAAKI,oBAE1DC,oBAAqBC,GAGfvjB,KAAKuhB,gBAELvhB,KAAKwhB,UAAY+B,IAAYC,OAASC,MACZ,IAAxBzjB,KAAKqgB,cACPrgB,KAAKqgB,cAAgBrgB,KAAKygB,cAAc9c,OAAS,EAEjD3D,KAAKqgB,gBAEErgB,KAAKwhB,UAAY+B,IAAYC,OAASE,MAC3C1jB,KAAKqgB,eAAiBrgB,KAAKygB,cAAc9c,OAAS,EACpD3D,KAAKqgB,eAAiB,EAEtBrgB,KAAKqgB,gBAEEkD,IAAYC,OAASG,WAAaJ,IAAYC,OAASI,QAChE5jB,KAAK6jB,sBAGTA,oBACE,MAAMC,EAAW9jB,KAAKqgB,cAChB0D,EAAU/jB,KAAKygB,cAAcqD,GAGnC,IACG9jB,KAAKgkB,eACNhkB,KAAKikB,YAAYF,GACjB,OAEF,MAAMG,EAAYlkB,KAAKygB,cAAc9c,OAAS,EAI9C,IAC0B,IAAxB3D,KAAKqgB,eACS,IAAd6D,EAIA,YAFAlkB,KAAKqgB,cAAgB6D,GAKvB,MAAMvgB,EAAS3D,KAAKygB,cAAc9c,OAC5BwgB,EAAYL,IAAangB,EAAS,EACpCmgB,EACAA,EAAW,EACTM,EAAWpkB,KAAKygB,cAAc0D,GAE/BC,EAGHpkB,KAAKqkB,WAAWN,GAFhB/jB,KAAKskB,SAAStkB,KAAKwhB,SAAW,GAAK,MAKrCxhB,KAAKqgB,cAAgB8D,GAEvBI,oBACEvkB,KAAKkhB,eAAiB,KAEtBzB,OAAQje,QAAQW,QAAQoiB,kBAAkB9iB,KAAKzB,OAEjD6d,WACE,MAAM9W,EAAQkV,OAAWza,QAAQW,QAAQ0b,SAASpc,KAAKzB,MAUvD,OARA+G,EAAM9G,KAAOukB,eAAUzd,EAAM9G,KAAO,CAClCW,MAAO,CACL,wBAAyB6jB,eAAqBzkB,KAAKqiB,MAAMY,KAAM,iBAC/DyB,aAAcD,eAAqB1d,EAAM9G,KAAO,qBAAsB,QAExE0kB,SAAU,CAAE9kB,MAAOG,KAAKkhB,kBAGnBna,GAET6d,eACE,MAAMC,EAAOpF,OAAQje,QAAQW,QAAQyiB,aAAanjB,KAAKzB,MAIvD,OAFA6kB,EAAK5kB,KAAMW,MAAOkC,KAAO,WAElB+hB,GAETC,gBACE,OAAO9kB,KAAK2iB,SAAW3iB,KAAKwhB,SACxB/B,OAAQje,QAAQW,QAAQ2iB,cAAcrjB,KAAKzB,MAC3C,IAEN+kB,QAAS3f,GACFpF,KAAKgkB,gBAEVhkB,KAAKqgB,eAAiB,EACjBrgB,KAAKqgB,eAAiB,EACvBrgB,KAAKglB,UAEJhlB,KAAKilB,cAAc7f,EAAE0I,SAAS9N,KAAK4iB,iBAE1CsC,QAAS9f,GACP,GACEpF,KAAKqgB,eAAiB,IACrBjb,EAAE0I,OACH,OAEF,MAAMA,EAAS1I,EAAE0I,OACXjO,EAAQiO,EAAOjO,MAGjBiO,EAAOjO,OAAOG,KAAK4iB,eAEvB5iB,KAAKkhB,eAAiBrhB,EACtBG,KAAKmlB,SAAWrX,EAAOsX,UAAYtX,EAAOsX,SAASD,UAErDE,UAAWjgB,GACT,MAAMme,EAAUne,EAAEme,SAGhBne,EAAEkgB,SACD,CAAC9B,OAAS+B,KAAM/B,OAASgC,KAAKvmB,SAASskB,IAExC9D,OAAQje,QAAQW,QAAQkjB,UAAU5jB,KAAKzB,KAAMoF,GAO/CpF,KAAKsjB,oBAAoBC,IAE3BkC,YAAargB,KACbsgB,UAAWtgB,GACTqa,OAAQje,QAAQW,QAAQujB,UAAUjkB,KAAKzB,KAAMoF,GAC7CpF,KAAKyiB,cAEPkD,SAAUvgB,GAERA,EAAEwgB,iBAKF5lB,KAAK4iB,gBAEPyB,WAAYrd,GACVyY,OAAQje,QAAQW,QAAQkiB,WAAW5iB,KAAKzB,KAAMgH,GAC9ChH,KAAK6iB,aAEPgD,mBACEpG,OAAQje,QAAQW,QAAQ0jB,iBAAiBpkB,KAAKzB,MAIzCA,KAAK0hB,WAAW1hB,KAAK6iB,aAE5BA,YAGE7iB,KAAKoH,UAAU,KAEVpH,KAAKwhB,UACLxhB,KAAKkhB,gBACLlhB,KAAK0iB,eAEN1iB,KAAKkhB,gBACFlhB,KAAKygB,cAAc9c,QACpB3D,KAAKwhB,UACLxhB,KAAK2iB,QAEH,KACA3iB,KAAKghB,QAAQhhB,KAAK+gB,kBAI5B0B,cAEKziB,KAAKuhB,eACLvhB,KAAK2G,iBAIL3G,KAAKwhB,UACLxhB,KAAK8hB,gBACJ9hB,KAAKkhB,eACLlhB,KAAK0gB,SAAS1gB,KAAK2G,iBAGrB3G,KAAK6iB,cAGThC,QAAS7Z,GACP,OAAOhH,KAAKwgB,eAAeT,QAAQ/f,KAAK0gB,SAAS1Z,KAAU,GAE7Dob,OAAQ0D,GAAqB,IAAAC,EAAAC,EAC3B,IAA4B,IAAxBhmB,KAAKqgB,cAAsB,OAE/B,MAAM4F,EAAcjmB,KAAKygB,cAAczgB,KAAKqgB,eACtC6F,EAAkBlmB,KAAKghB,QAAQiF,GACrC,OAAAF,EAAAD,EAAMK,gBAANJ,EAAqBK,QAAQ,aAAcF,GAC3C,OAAAF,EAAAF,EAAMK,gBAANH,EAAqBI,QAAQ,2CAA4CF,GACzEJ,EAAMF,sB,6GCrbZ,SAASS,EAAgBC,EAAUC,GAAe,KAAMD,aAAoBC,GAAgB,MAAM,IAAIhW,UAAU,qCAEhH,SAASiW,EAAkB1Y,EAAQ1P,GAAS,IAAK,IAAI+I,EAAI,EAAGA,EAAI/I,EAAMuF,OAAQwD,IAAK,CAAE,IAAIsf,EAAaroB,EAAM+I,GAAIsf,EAAWhO,WAAagO,EAAWhO,aAAc,EAAOgO,EAAW/N,cAAe,EAAU,UAAW+N,IAAYA,EAAWC,UAAW,GAAMljB,OAAO6K,eAAeP,EAAQ2Y,EAAWne,IAAKme,IAE7S,SAASE,EAAaJ,EAAaK,EAAYC,GAAmJ,OAAhID,GAAYJ,EAAkBD,EAAYlZ,UAAWuZ,GAAiBC,GAAaL,EAAkBD,EAAaM,GAAqBN,EAEzM,SAASO,EAAgBC,EAAKze,EAAKzI,GAAiK,OAApJyI,KAAOye,EAAOvjB,OAAO6K,eAAe0Y,EAAKze,EAAK,CAAEzI,MAAOA,EAAO4Y,YAAY,EAAMC,cAAc,EAAMgO,UAAU,IAAkBK,EAAIze,GAAOzI,EAAgBknB,EAE3M,IAAIC,EAEJ,WACE,SAASA,EAAeC,GACtB,IAAIpW,EAAQ7Q,KAERknB,EAAkBD,EAAKC,gBACvBC,EAAsBF,EAAKE,oBAE/Bd,EAAgBrmB,KAAMgnB,GAEtBF,EAAgB9mB,KAAM,UAAU,SAAUonB,GACxC,IAAK,IAAIC,EAAK,EAAGC,EAAe9jB,OAAO+jB,KAAKH,GAAaC,EAAKC,EAAa3jB,OAAQ0jB,IAAM,CACvF,IAAI/e,EAAMgf,EAAaD,GACvBxW,EAAMvI,GAAO8e,EAAW9e,OAI5BtI,KAAKknB,gBAAkBA,EACvBlnB,KAAKmnB,oBAAsBA,EA2F7B,OAxFAR,EAAaK,EAAgB,CAAC,CAC5B1e,IAAK,QACLzI,MAAO,SAAe2nB,EAAgBC,GACpCznB,KAAK0nB,eAAgB,EACrB1nB,KAAK2nB,eAAY/lB,EACjB5B,KAAK4nB,iBAAchmB,EACnB5B,KAAK6nB,iBAAcjmB,EACnB5B,KAAK8nB,OAAS,GACd9nB,KAAK+nB,iCACL/nB,KAAKgoB,0BAA0BR,EAAgBC,KAEhD,CACDnf,IAAK,iCACLzI,MAAO,WACLG,KAAKioB,0BAA4BjoB,KAAKkoB,oBACtCloB,KAAKmoB,uCAAwC,EAC7CnoB,KAAKooB,oBAAiBxmB,EACtB5B,KAAKqoB,iBAAczmB,EACnB5B,KAAKsoB,kDAA+C1mB,IAErD,CACD0G,IAAK,4BACLzI,MAAO,SAAmC0oB,EAASV,GACjD7nB,KAAKwoB,WAAWD,GAChBvoB,KAAKyoB,eAAeZ,KAErB,CACDvf,IAAK,aACLzI,MAAO,SAAoB0oB,GACzBvoB,KAAKuoB,QAAUA,EACfvoB,KAAKknB,gBAAgBqB,KAEtB,CACDjgB,IAAK,iBACLzI,MAAO,SAAwBgoB,GAE7B,OADA7nB,KAAK6nB,YAAcA,EACZ7nB,KAAKmnB,oBAAoBnnB,KAAKuoB,QAASV,KAE/C,CACDvf,IAAK,2BACLzI,MAAO,WAELG,KAAK0nB,eAAgB,EAIrB1nB,KAAKgoB,8BAEN,CACD1f,IAAK,eACLzI,MAAO,SAAsB6oB,GAC3B1oB,KAAK8nB,QAAUY,IAEhB,CACDpgB,IAAK,wCACLzI,MAAO,SAA+C6oB,GACpD1oB,KAAKioB,2BAA6BS,IAUnC,CACDpgB,IAAK,oBACLzI,MAAO,WACL,OAAIG,KAAK0nB,cACA1nB,KAAK8nB,OAAOa,OAAO3oB,KAAK2nB,UAAY3nB,KAAK2nB,UAAUhkB,OAAS,IAAM3D,KAAK6nB,YAAc7nB,KAAK6nB,YAAYlkB,OAAS,IAGjH3D,KAAK8nB,SAEb,CACDxf,IAAK,sCACLzI,MAAO,WACL,OAAIG,KAAK0nB,eACH1nB,KAAK2nB,UACA3nB,KAAK8nB,OAAOa,MAAM3oB,KAAK2nB,UAAUhkB,QAIrC3D,KAAK8nB,WAITd,EA5GT,GCTW4B,EAAoB,IAE3BC,EAA4B,IAAIC,OAAOF,GAiCpC,SAASG,EAAOC,EAAQC,GAC7B,GAAIA,EAAQ,EACV,MAAO,GAGT,IAAI3Z,EAAS,GAEb,MAAO2Z,EAAQ,EACD,EAARA,IACF3Z,GAAU0Z,GAGZC,IAAU,EACVD,GAAUA,EAGZ,OAAO1Z,EAAS0Z,EAEX,SAASE,EAA2BF,EAAQG,GAKjD,MAJ+B,MAA3BH,EAAOG,IACTA,IAGKC,EAAqBJ,EAAOL,MAAM,EAAGQ,IAkBvC,SAASC,EAAqBJ,GACnC,IAAIK,EAAkB,GAClBliB,EAAI,EAER,MAAOA,EAAI6hB,EAAOrlB,OACE,MAAdqlB,EAAO7hB,GACTkiB,EAAgBzlB,KAAKuD,GACE,MAAd6hB,EAAO7hB,IAChBkiB,EAAgB7Y,MAGlBrJ,IAGF,IAAImiB,EAAQ,EACRC,EAAiB,GACrBF,EAAgBzlB,KAAKolB,EAAOrlB,QAE5B,IAAK,IAAI6lB,EAAM,EAAGC,EAAmBJ,EAAiBG,EAAMC,EAAiB9lB,OAAQ6lB,IAAO,CAC1F,IAAIniB,EAAQoiB,EAAiBD,GAC7BD,GAAkBP,EAAOL,MAAMW,EAAOjiB,GACtCiiB,EAAQjiB,EAAQ,EAGlB,OAAOkiB,EAEF,SAASG,EAA2BC,EAAUC,EAAU9B,GAMxD,IAAI+B,EAAa/B,EAAOrO,MAAM,IAAKqQ,EAAYtlB,MAAMulB,QAAQF,GAAaG,EAAM,EAArF,IAAwFH,EAAaC,EAAYD,EAAaA,EAAWzZ,OAAOC,cAAe,CAC7J,IAAI4Z,EAEJ,GAAIH,EAAW,CACb,GAAIE,GAAOH,EAAWlmB,OAAQ,MAC9BsmB,EAAQJ,EAAWG,SACd,CAEL,GADAA,EAAMH,EAAWza,OACb4a,EAAIza,KAAM,MACd0a,EAAQD,EAAInqB,MAGd,IAAIqqB,EAAQD,EAMZ,GAAIN,EAAShB,MAAMiB,EAAW,GAAGO,OAAOtB,GAA6B,EACnE,OAGFe,EAAWD,EAASQ,OAAOtB,GAC3Bc,EAAWA,EAASS,QAAQvB,EAA2BqB,GAGzD,MAAO,CAACP,EAAUC,G,wCCpIL,SAASS,EAAqBC,EAAOnR,EAAQ8N,GAC1D,IAAIxY,EAAWwY,EAAKxY,SAChB8b,EAAwCtD,EAAKsD,sCAC7CC,EAAkCvD,EAAKuD,gCACvCC,EAAU,IAAI3B,OAAO,OAAOtQ,OAAOW,EAAOuR,UAAW,OAEzD,GAAID,EAAQE,KAAKL,EAAMrC,2BACrB,OAAO2C,EAA+DN,EAAOnR,EAAQ,CACnF1K,SAAUA,EACV8b,sCAAuCA,EACvCC,gCAAiCA,IAIhC,SAASK,EAAwB5C,EAA2BxZ,GACjE,MAAkE,gBAA3D,OAAAqc,EAAA,MAAkB7C,EAA2BxZ,GAGtD,SAASmc,EAA+DN,EAAOnR,EAAQ8Q,GACrF,IAAIxb,EAAWwb,EAAMxb,SACjB8b,EAAwCN,EAAMM,sCAC9CC,EAAkCP,EAAMO,gCAEZF,EAAMrC,0BAClBqC,EAAM5C,cACL4C,EAAMlC,eACTkC,EAAMjC,YAWxB,GAAIkC,EAAsCpR,GAAS,CACjD,IAAI4R,EAAkBC,EAAqBV,EAAOnR,EAAQ,CACxD8R,iCAAiC,EACjCT,gCAAiCA,EACjC/b,SAAUA,IAGZ,GAAIsc,EACF,OAAOA,EAKX,OAAOC,EAAqBV,EAAOnR,EAAQ,CACzC8R,iCAAiC,EACjCT,gCAAiCA,EACjC/b,SAAUA,IAId,SAASuc,EAAqBV,EAAOnR,EAAQ+R,GAC3C,IAAIzc,EAAWyc,EAAMzc,SACjBwc,EAAkCC,EAAMD,gCACxCT,EAAkCU,EAAMV,gCACxCW,EAA0B,OAAAC,EAAA,MAAgCd,EAAMrC,0BAA2B9O,EAAQ,CACrGkP,YAAaiC,EAAMjC,YACnBgD,uBAAwBf,EAAM5C,cAC9B4D,mBAAoBL,EACpBxc,SAAUA,IAaZ,GAVKwc,IACCX,EAAMlC,eAGR+C,EAA0Bb,EAAMlC,eAAiBoC,EAAgCrR,GAAUgS,EAClFb,EAAMhC,+CACf6C,EAA0Bb,EAAMhC,6CAA+C,IAAM6C,IAIrFI,EAA+BJ,EAAyBb,GAC1D,OAAOa,EAiCX,SAASI,EAA+BJ,EAAyBb,GAC/D,OAAO,OAAAkB,EAAA,MAAYL,KAA6Bb,EAAMpC,oB,4BCpHxD,SAAS,EAAgB5B,EAAUC,GAAe,KAAMD,aAAoBC,GAAgB,MAAM,IAAIhW,UAAU,qCAEhH,SAAS,EAAkBzC,EAAQ1P,GAAS,IAAK,IAAI+I,EAAI,EAAGA,EAAI/I,EAAMuF,OAAQwD,IAAK,CAAE,IAAIsf,EAAaroB,EAAM+I,GAAIsf,EAAWhO,WAAagO,EAAWhO,aAAc,EAAOgO,EAAW/N,cAAe,EAAU,UAAW+N,IAAYA,EAAWC,UAAW,GAAMljB,OAAO6K,eAAeP,EAAQ2Y,EAAWne,IAAKme,IAE7S,SAAS,EAAaF,EAAaK,EAAYC,GAAmJ,OAAhID,GAAY,EAAkBL,EAAYlZ,UAAWuZ,GAAiBC,GAAa,EAAkBN,EAAaM,GAAqBN,EAEzM,SAAS,EAAgBQ,EAAKze,EAAKzI,GAAiK,OAApJyI,KAAOye,EAAOvjB,OAAO6K,eAAe0Y,EAAKze,EAAK,CAAEzI,MAAOA,EAAO4Y,YAAY,EAAMC,cAAc,EAAMgO,UAAU,IAAkBK,EAAIze,GAAOzI,EAAgBknB,EAW3M,IAAI0E,EAAc,IAEdC,EAAuC,GAGvCC,EAA6B5C,EAAO0C,EAAaC,GAGjDE,EAAqC,OAOrCC,GAAqC,EAGrCC,EAAiCD,GAAsC,WACzE,MAAO,mBAQLE,EAAkCF,GAAsC,WAC1E,MAAO,qBAqCLG,EAA8B,IAAIlD,OAAO,KAAY,OAAZ,aAAoD,OAApD,SAIzCmD,EAA4B,EAE5B,EAEJ,WACE,SAASC,EAAmBjF,GAC1B,IAAIpW,EAAQ7Q,KAGRyO,GADQwY,EAAKqD,MACFrD,EAAKxY,UAEpB,EAAgBzO,KAAMksB,GAEtB,EAAgBlsB,KAAM,mCAAmC,SAAUmZ,GAMjE,OAAItI,EAAMsb,QAQNhT,GAAUA,EAAOiT,gCAAkCR,EAAmCjB,KAAKxR,EAAOiT,gCAP7F,IAcF,MAGT,EAAgBpsB,KAAM,yCAAyC,SAAUmZ,EAAQ8Q,GAC/E,IAAIvC,EAAgBuC,EAAMvC,cACtBU,EAAiB6B,EAAM7B,eAE3B,GAAIjP,EAAOiT,+BAAgC,CAIzC,IAAIC,EAAqBlT,EAAOkT,qBAEhC,GAAIA,GAAsBjE,IAAmBiE,IAAuB3E,EAClE,OAAO,MAKb1nB,KAAKyO,SAAWA,EAChBzO,KAAKssB,cA+iBP,OA5iBA,EAAaJ,EAAoB,CAAC,CAChC5jB,IAAK,cACLzI,MAAO,WACLG,KAAKusB,kBAAe3qB,EACpB5B,KAAK2pB,cAAW/nB,EAChB5B,KAAKwsB,4BAAyB5qB,EAC9B5B,KAAKysB,qCAAkC7qB,EACvC5B,KAAK0sB,yCAA2C,IAEjD,CACDpkB,IAAK,QACLzI,MAAO,SAAe8sB,EAAerC,GACnCtqB,KAAKssB,cAEDK,GACF3sB,KAAKmsB,OAAyC,MAAhCQ,EAAc9E,cAC5B7nB,KAAK4sB,gBAAkBD,EAAcE,UAEjCvC,EAAMrC,2BACRjoB,KAAK8sB,0BAA0BxC,KAGjCtqB,KAAKmsB,YAASvqB,EACd5B,KAAK4sB,gBAAkB,MAG1B,CACDtkB,IAAK,SACLzI,MAAO,SAAgB6oB,EAAY4B,GACjC,IAAIyC,EAAS/sB,KAgBb,GAAI6qB,EAAwBP,EAAMrC,0BAA2BjoB,KAAKyO,UAC3D,KAAIue,EAAYhtB,KAAK4sB,gBAAiBK,EAAWzoB,MAAMulB,QAAQiD,GAAY3F,EAAK,EAArF,IAAwF2F,EAAYC,EAAWD,EAAYA,EAAU5c,OAAOC,cAAe,CACzJ,IAAI6a,EAEJ,GAAI+B,EAAU,CACZ,GAAI5F,GAAM2F,EAAUrpB,OAAQ,MAC5BunB,EAAQ8B,EAAU3F,SACb,CAEL,GADAA,EAAK2F,EAAU5d,OACXiY,EAAG9X,KAAM,MACb2b,EAAQ7D,EAAGxnB,MAGb,IAAIsZ,EAAS+R,EACTgC,EAA0B7C,EAAqBC,EAAOnR,EAAQ,CAChE1K,SAAUzO,KAAKyO,SACf8b,sCAAuC,SAA+CpR,GACpF,OAAO4T,EAAOxC,sCAAsCpR,EAAQ,CAC1DuO,cAAe4C,EAAM5C,cACrBU,eAAgBkC,EAAMlC,kBAG1BoC,gCAAiCxqB,KAAKwqB,kCAGxC,GAAI0C,EAQF,OAPAltB,KAAKssB,cACLtsB,KAAKusB,aAAepT,EACpBnZ,KAAKmtB,0BAA0BD,EAAwB9C,QAAQ,MAAOxB,GAAoB0B,GAC1FtqB,KAAKysB,gCAAkCS,EAGvCltB,KAAK0sB,wCAA0C1sB,KAAK2pB,SAASyD,YAAYxE,GAClEsE,GAOb,OAAOltB,KAAKqtB,mCAAmC3E,EAAY4B,KAG5D,CACDhiB,IAAK,qCACLzI,MAAO,SAA4C6oB,EAAY4B,GAC7D,IAAIgD,EAAyBttB,KAAKusB,aAE9BgB,EAAoBvtB,KAAKwtB,aAAalD,GAE1C,GAAIiD,EACF,OAAIA,IAAsBD,EAIjBttB,KAAKytB,+BAA+B/E,GAMpC1oB,KAAKytB,+BAA+BnD,EAAMpC,uBAItD,CACD5f,IAAK,4BACLzI,MAAO,SAAmC6tB,GACxC,IAAIC,EAAS3tB,KAETioB,EAA4ByF,EAAMzF,0BAClCG,EAAiBsF,EAAMtF,eACvBV,EAAgBgG,EAAMhG,cACtBkG,EAAgB3F,EAYhB4F,EAA4BD,EAAcjqB,OAASsoB,EAEnD4B,EAA4B,IAC9BA,EAA4B,GAG9B7tB,KAAK4sB,gBAAkB5sB,KAAK4sB,gBAAgB1lB,QAAO,SAAUiS,GAC3D,OAAOwU,EAAOG,YAAY3U,EAAQuO,EAAeU,IAAmBuF,EAAOI,cAAc5U,EAAQyU,EAAeC,MAS9G7tB,KAAKusB,eAAqE,IAArDvsB,KAAK4sB,gBAAgB7M,QAAQ/f,KAAKusB,eACzDvsB,KAAKssB,gBAGR,CACDhkB,IAAK,cACLzI,MAAO,SAAqBsZ,EAAQuO,EAAeU,GAWjD,QAAIA,IAAmBjP,EAAOkT,uBAC7BlT,EAAO6U,8DASHtG,IAAkBU,GAAkBjP,EAAO8U,6DAMjD,CACD3lB,IAAK,gBACLzI,MAAO,SAAuBsZ,EAAQyU,EAAeC,GACnD,IAAIK,EAA6B/U,EAAOgV,wBAAwBxqB,OAGhE,GAAmC,IAA/BuqB,EACF,OAAO,EAUT,GAAIN,EAAcjqB,OAASsoB,EACzB,OAAO,EAMT4B,EAA4BO,KAAKC,IAAIR,EAA2BK,EAA6B,GAC7F,IAAII,EAAuBnV,EAAOgV,wBAAwBN,GAG1D,OAAO,IAAI/E,OAAO,KAAKtQ,OAAO8V,EAAsB,MAAM3D,KAAKiD,KAEhE,CACDtlB,IAAK,kBACLzI,MAAO,SAAyBsZ,EAAQuO,GACtC,OAAOA,EAAgBvO,EAAOoV,sBAAwBpV,EAAOA,WAE9D,CACD7Q,IAAK,eACLzI,MAAO,SAAsByqB,GAC3B,IAAIkE,EAASxuB,KAETyuB,EAAS,WACX,GAAI3E,EAAW,CACb,GAAIN,GAAOK,EAAWlmB,OAAQ,MAAO,QACrC+qB,EAAQ7E,EAAWL,SACd,CAEL,GADAA,EAAMK,EAAWza,OACboa,EAAIja,KAAM,MAAO,QACrBmf,EAAQlF,EAAI3pB,MAGd,IAAIsZ,EAASuV,EAIb,OAAIF,EAAOjC,eAAiBpT,EACnB,QA2CJ6S,EAA4BrB,KAAK6D,EAAOG,gBAAgBxV,EAAQmR,EAAM5C,gBAItE8G,EAAOI,wBAAwBzV,EAAQmR,IAQ5CkE,EAAOjC,aAAepT,EACf,UAPLqV,EAAO5B,gBAAkB4B,EAAO5B,gBAAgB1lB,QAAO,SAAU4I,GAC/D,OAAOA,IAAMqJ,KAER,YARA,YAiBC,IAAI0Q,EAAa7pB,KAAK4sB,gBAAgBjE,QAASmB,EAAYtlB,MAAMulB,QAAQF,GAAaL,EAAM,EAAxGqF,EAAO,IAAoGhF,EAAaC,EAAYD,EAAaA,EAAWzZ,OAAOC,cAAe,CAChL,IAAIqe,EAEAI,EAAOL,IAEX,OAAQK,GACN,IAAK,QACH,MAAMD,EAER,IAAK,WACH,UASN,OALK7uB,KAAKusB,cAERvsB,KAAKssB,cAGAtsB,KAAKusB,eAEb,CACDjkB,IAAK,0BACLzI,MAAO,SAAiCsZ,EAAQmR,GAM9C,KAAIuB,GAAsC1S,EAAOuR,UAAU3K,QAAQ,MAAQ,GAA3E,CAKA,IAAI4J,EAAW3pB,KAAK+uB,qBAAqB5V,EAAQmR,GAGjD,OAAIX,GACF3pB,KAAKmtB,0BAA0BxD,EAAUW,IAClC,QAFT,KAKD,CACDhiB,IAAK,iDACLzI,MAAO,SAAwDmvB,EAAOxtB,GACpE,IAAImmB,EAAYqH,EAAMrH,UAClBC,EAAcoH,EAAMpH,YAExB,OAAID,EACKnmB,IAA+B,IAApBA,EAAQytB,QAAoBtH,EAAYA,EAAY,IAGpEC,EACK,GAGF,MAER,CACDtf,IAAK,cACLzI,MAAO,SAAqByqB,GAC1B,GAAKtqB,KAAK2pB,SAAV,CAOA,IAAItiB,GAAS,EACTF,EAAI,EACJ+nB,EAAsB5E,EAAM5C,cAAgB1nB,KAAKmvB,+CAA+C7E,EAAO,CACzG2E,SAAS,IACN,GAEL,MAAO9nB,EAAI+nB,EAAoBvrB,OAAS2mB,EAAM8E,sCAAsCzrB,OAClF0D,EAAQrH,KAAK2pB,SAAS5J,QAAQ6I,EAAmBvhB,EAAQ,GACzDF,IAGF,OAAO+hB,EAA2BlpB,KAAK2pB,SAAUtiB,EAAQ,MAE1D,CACDiB,IAAK,4BACLzI,MAAO,SAAmC8pB,EAAUW,GAClDtqB,KAAKwsB,uBAAyB7C,EAC9B3pB,KAAKysB,gCAAkC9C,EAGvC3pB,KAAK0sB,yCAA2C,EAM5CpC,EAAM5C,cACR1nB,KAAK2pB,SAAW3pB,KAAKmvB,+CAA+C7E,GAAOF,QAAQ,UAAWxB,GAAqBG,EAAOH,EAAmB0B,EAAMzC,YAAYlkB,QAAU,IAAMgmB,EAE/K3pB,KAAK2pB,SAAWA,IAWnB,CACDrhB,IAAK,uBACLzI,MAAO,SAA8BsZ,EAAQkW,GAC3C,IAAIpH,EAA4BoH,EAAMpH,0BAClCP,EAAgB2H,EAAM3H,cACtBU,EAAiBiH,EAAMjH,eACvBE,EAA+C+G,EAAM/G,6CACrDoC,EAAUvR,EAAOuR,UAGjBmB,IACFnB,EAAUA,EACTN,QAAQ0B,IAAkC,OAC1C1B,QAAQ2B,IAAmC,QAW9C,IAAIjE,EAAS6D,EAA2B2D,MAAM5E,GAAS,GAGvD,KAAIzC,EAA0BtkB,OAASmkB,EAAOnkB,QAA9C,CAiCA,IAAI4rB,EAAgB,IAAIzG,OAAO,IAAM4B,EAAU,KAC3C8E,EAA4BvH,EAA0BmC,QAAQ,MAAOqB,GAIrE8D,EAAc5E,KAAK6E,KACrB1H,EAAS0H,GAGX,IACIC,EADAC,EAAe1vB,KAAK2uB,gBAAgBxV,EAAQuO,GAShD,GAAI1nB,KAAKuqB,sCAAsCpR,EAAQ,CACrDuO,cAAeA,EACfU,eAAgBA,IACd,CACF,IAAIuH,EAAiCD,EAAatF,QAAQ,OAAqBjR,EAAOiT,gCAUtF,GAAI,OAAAZ,EAAA,MAAYrS,EAAOiT,mCAAqChE,GAAkB,IAAM,OAAAoD,EAAA,MAAY,QAC9FkE,EAAeC,EACfF,GAAmC,EAG/BrH,GAAgB,CAClB,IAAIjhB,EAAIihB,EAAezkB,OAEvB,MAAOwD,EAAI,EACTuoB,EAAeA,EAAatF,QAAQ,KAAMxB,GAC1CzhB,KAOR,IAAIwiB,EAAW7B,EACdsC,QAAQ,IAAItB,OAAO4B,GAAUgF,GAC7BtF,QAAQ,IAAItB,OAAO2C,EAAa,KAAM7C,GAmBvC,OAdK6G,IACCnH,EAEFqB,EAAWZ,EAAOH,EAAmBN,EAA6C3kB,QAAU,IAAMgmB,EACzFvB,IAETuB,EAAWZ,EAAOH,EAAmBR,EAAezkB,QAAU3D,KAAKwqB,gCAAgCrR,GAAUwQ,IAI7GjC,IACFiC,EAAW,OAAAiG,EAAA,MAAiCjG,IAGvCA,KAER,CACDrhB,IAAK,iCACLzI,MAAO,SAAwCioB,GAC7C,IAAIxY,EAASoa,EAA2B1pB,KAAKysB,gCAAiCzsB,KAAK0sB,wCAAyC5E,GAE5H,GAAKxY,EASL,OAHAtP,KAAKysB,gCAAkCnd,EAAO,GAC9CtP,KAAK0sB,wCAA0Cpd,EAAO,GAE/C4Z,EAA2BlpB,KAAKysB,gCAAiCzsB,KAAK0sB,wCAA0C,GAPrH1sB,KAAKssB,kBAcJJ,EAjmBT,G,gDC1FA,SAAS2D,EAAeC,EAAK3oB,GAAK,OAAO4oB,EAAgBD,IAAQE,EAAsBF,EAAK3oB,IAAM8oB,IAElG,SAASA,IAAqB,MAAM,IAAI1f,UAAU,wDAElD,SAASyf,EAAsBF,EAAK3oB,GAAK,IAAI+oB,EAAO,GAAQC,GAAK,EAAUvd,GAAK,EAAW1J,OAAKtH,EAAW,IAAM,IAAK,IAAiCiG,EAA7Bwf,EAAKyI,EAAI1f,OAAOC,cAAmB8f,GAAMtoB,EAAKwf,EAAGjY,QAAQG,MAAO4gB,GAAK,EAA6B,GAArBD,EAAKtsB,KAAKiE,EAAGhI,OAAYsH,GAAK+oB,EAAKvsB,SAAWwD,EAAG,MAAW,MAAOipB,GAAOxd,GAAK,EAAM1J,EAAKknB,EAAO,QAAU,IAAWD,GAAsB,MAAhB9I,EAAG,WAAmBA,EAAG,YAAe,QAAU,GAAIzU,EAAI,MAAM1J,GAAQ,OAAOgnB,EAElZ,SAASH,EAAgBD,GAAO,GAAItrB,MAAMulB,QAAQ+F,GAAM,OAAOA,EAE/D,SAAS,EAAgBxJ,EAAUC,GAAe,KAAMD,aAAoBC,GAAgB,MAAM,IAAIhW,UAAU,qCAEhH,SAAS,EAAkBzC,EAAQ1P,GAAS,IAAK,IAAI+I,EAAI,EAAGA,EAAI/I,EAAMuF,OAAQwD,IAAK,CAAE,IAAIsf,EAAaroB,EAAM+I,GAAIsf,EAAWhO,WAAagO,EAAWhO,aAAc,EAAOgO,EAAW/N,cAAe,EAAU,UAAW+N,IAAYA,EAAWC,UAAW,GAAMljB,OAAO6K,eAAeP,EAAQ2Y,EAAWne,IAAKme,IAE7S,SAAS,EAAaF,EAAaK,EAAYC,GAAmJ,OAAhID,GAAY,EAAkBL,EAAYlZ,UAAWuZ,GAAiBC,GAAa,EAAkBN,EAAaM,GAAqBN,EAQzM,IAAI8J,EAA2C,IAAM,OAAoB,OAAe,KACpFC,EAAmD,IAAIxH,OAAO,IAAMuH,EAA2C,IAAK,KACpHE,GAAoC,OAAc,OAAd,KAAuC,OAAoB,OAA3D,OAA6F,OAAoB,OAAjH,MACpCC,GAAwC,IAAI1H,OAAO,KAAO,OAAoB,OAA3B,SAInD2H,GAA0B,YAE1B,GAEJ,WACE,SAASC,EAAgBzJ,GACvB,IAAIO,EAAiBP,EAAKO,eACtBC,EAAqBR,EAAKQ,mBAC1BhZ,EAAWwY,EAAKxY,SAChBkiB,EAAoC1J,EAAK0J,kCAE7C,EAAgB3wB,KAAM0wB,GAEtB1wB,KAAKwnB,eAAiBA,EACtBxnB,KAAKynB,mBAAqBA,EAC1BznB,KAAKyO,SAAWA,EAChBzO,KAAK2wB,kCAAoCA,EAmX3C,OAhXA,EAAaD,EAAiB,CAAC,CAC7BpoB,IAAK,QACLzI,MAAO,SAAeD,EAAM0qB,GAC1B,IAOIsG,EAPAC,EAAwBC,GAA8BlxB,GACtDmxB,EAAyBlB,EAAegB,EAAuB,GAC/DG,EAAkBD,EAAuB,GACzCE,EAAUF,EAAuB,GAEjCjJ,EAAS,OAAA0D,EAAA,MAAYwF,GAkBzB,OAdIC,IACG3G,EAAMxC,SACTwC,EAAM4G,2BAEDpJ,IACH8I,GAAkB,KAKpB9I,GACF9nB,KAAKmxB,YAAYrJ,EAAQwC,GAGpB,CACLxC,OAAQA,EACR8I,gBAAiBA,KASpB,CACDtoB,IAAK,cACLzI,MAAO,SAAqB6oB,EAAY4B,GACtC,IAAIxC,EAASwC,EAAMxC,OACfsJ,EAAgCtJ,EAAOnkB,OAAS,GAAKmkB,EAAOnkB,OAAS+kB,EAAW/kB,QAAU,EAqB9F,GAnBA2mB,EAAM+G,aAAa3I,GAef0I,GACFpxB,KAAKsxB,iBAAiBhH,GAGpBtqB,KAAKuxB,+BAA+BjH,IACtC,IAAKtqB,KAAKwxB,0BAA0BlH,GAClC,YAGFA,EAAMmH,sCAAsC/I,GAQzC4B,EAAM5C,eACJ1nB,KAAK0xB,uCACR1xB,KAAK2xB,iCAAiCrH,EAAMpC,oBAAqBoC,EAAMsH,UAI5E,CACDtpB,IAAK,iCACLzI,MAAO,SAAwCoqB,GAC7C,IAAIvC,EAAgBuC,EAAMvC,cACtBG,EAAcoC,EAAMpC,YACxB,OAAOH,IAAkBG,IAI1B,CACDvf,IAAK,4BACLzI,MAAO,SAAmCyqB,GACxC,IAAIuH,EAAwB,eAA2B,IAAMvH,EAAM8E,sCAAuCpvB,KAAKwnB,eAAgBxnB,KAAKynB,mBAAoBznB,KAAKyO,SAASA,UAClKqjB,EAAqBD,EAAsBC,mBAC3Cvb,EAASsb,EAAsBtb,OAEnC,GAAIub,EAKF,OAJAxH,EAAM7B,eAAeqJ,GACrBxH,EAAMsH,OAAO,CACX3J,0BAA2B1R,KAEtB,IAGV,CACDjO,IAAK,QACLzI,MAAO,SAAe8sB,GACpB,GAAIA,EAAe,CACjB3sB,KAAK+xB,0BAA2B,EAEhC,IAAIC,EAA2BrF,EAAcsF,4BAE7CjyB,KAAKkyB,qDAAuDF,GAA4BvB,GAAwB9F,KAAKqH,QAErHhyB,KAAK+xB,8BAA2BnwB,EAChC5B,KAAKkyB,0DAAuDtwB,IAW/D,CACD0G,IAAK,mCACLzI,MAAO,SAA0CsyB,EAAgBC,GAC/D,GAAKpyB,KAAK+xB,yBAAV,CAIA,IAAIM,EAAwB,OAAAC,EAAA,MAAkDH,EAAgBnyB,KAAKyO,UAC/F2Z,EAAiBiK,EAAsBjK,eACvCmK,EAAiBF,EAAsBE,eACvClK,EAAcgK,EAAsBhK,YAExC,GAAIkK,IAAmBJ,EAKvB,OADAnyB,KAAKwyB,0BAA0BpK,EAAgBC,EAAakK,EAAgBJ,EAAgBC,IACrF,KAQR,CACD9pB,IAAK,0CACLzI,MAAO,SAAiDsyB,EAAgBM,EAA+BL,GACrG,IAAKpyB,KAAK0xB,sCACR,OAAO1xB,KAAK2xB,iCAAiCQ,EAAgBC,GAG/D,GAAKpyB,KAAKkyB,qDAAV,CAIA,IAAIQ,EAAyB,OAAAJ,EAAA,MAAkDH,EAAgBnyB,KAAKyO,UAChG2Z,EAAiBsK,EAAuBtK,eACxCmK,EAAiBG,EAAuBH,eACxClK,EAAcqK,EAAuBrK,YASzC,GAAIkK,IAAmBE,EAKvB,OADAzyB,KAAKwyB,0BAA0BpK,EAAgBC,EAAakK,EAAgBJ,EAAgBC,IACrF,KAER,CACD9pB,IAAK,4BACLzI,MAAO,SAAmCuoB,EAAgBC,EAAaJ,EAA2BkK,EAAgBC,GAChH,IAAI9J,EACAH,EAEAwK,EAAiCR,EAAe/E,YAAYnF,GAMhE,GAAI0K,GAAkC,GAAKA,IAAmCR,EAAexuB,OAASskB,EAA0BtkB,OAAQ,CACtIwkB,GAAwC,EAMxC,IAAIyK,EAA6BT,EAAexJ,MAAM,EAAGgK,GAMrDC,IAA+BxK,IACjCE,EAA+CsK,GAInDR,EAAS,CACPhK,eAAgBA,EAChBC,YAAaA,EACbJ,0BAA2BA,EAC3BE,sCAAuCA,EACvCG,6CAA8CA,IAIhDtoB,KAAK0xB,uCAAwC,EAC7C1xB,KAAK2wB,sCAEN,CACDroB,IAAK,qCACLzI,MAAO,SAA4CyqB,GAkCjD,QAAItqB,KAAK6yB,wCAAwCvI,EAAMpC,oBAAqBoC,EAAMrC,0BAA2BqC,EAAMsH,UAkB/G5xB,KAAKsxB,iBAAiBhH,IAYtBtqB,KAAK8yB,eAAexI,IAXtBtqB,KAAK+yB,+CAA+CzI,IAC7C,QAUT,KAKD,CACDhiB,IAAK,mBACLzI,MAAO,SAA0ByqB,GAG/B,IAAI5C,EAAgB4C,EAAM5C,cACtBC,EAAY2C,EAAM3C,UAClBG,EAASwC,EAAMxC,OACawC,EAAMrC,0BAEtC,IAAIP,IAAiBC,EAArB,CAQA,IAAIqL,EAAmB,OAAAC,EAAA,MAAenL,EAAQ9nB,KAAKwnB,eAAgBxnB,KAAKynB,mBAAoBznB,KAAKyO,SAASA,UAE1G,YAAyB7M,IAArBoxB,GAAkCA,IAAqBlL,GAGzDwC,EAAMsH,OAAO,CACXjK,UAAWG,EAAOa,MAAM,EAAGb,EAAOnkB,OAASqvB,EAAiBrvB,UAE9D3D,KAAKkxB,yBAAyB5G,IACvB,QAPT,KAUD,CACDhiB,IAAK,iBACLzI,MAAO,SAAwByqB,GAC7B,IAAKA,EAAM5C,cAAe,CACxB,IAAIwL,EAAyB,OAAAC,EAAA,MAAgE7I,EAAMxC,OAAQ9nB,KAAKwnB,eAAgBxnB,KAAKynB,mBAAoBznB,KAAKyO,SAASA,UACnK2kB,EAAiBF,EAAuBpB,mBAC/BoB,EAAuB3c,OAEpC,GAAI6c,EAKF,OAJA9I,EAAMsH,OAAO,CACXhK,aAAa,IAEf5nB,KAAKkxB,yBAAyB5G,IACvB,KAIZ,CACDhiB,IAAK,2BACLzI,MAAO,SAAkCyqB,GACvCA,EAAM4G,2BAEF5G,EAAMrC,4BACRqC,EAAMvC,iCACN/nB,KAAK2wB,oCACL3wB,KAAK0xB,2CAAwC9vB,KAGhD,CACD0G,IAAK,iDACLzI,MAAO,SAAwDyqB,GACzDtqB,KAAKwxB,0BAA0BlH,IAOjCtqB,KAAK2xB,iCAAiCrH,EAAMpC,oBAAqBoC,EAAMsH,YAKtElB,EA/XT,GA0YA,SAAS2C,GAA4BzzB,GAEnC,IASIqxB,EATAqC,EAAW1zB,EAAKuqB,OAAOoG,IAE3B,KAAI+C,EAAW,GAqBf,OAhBA1zB,EAAOA,EAAK+oB,MAAM2K,GAIF,MAAZ1zB,EAAK,KACPqxB,GAAU,EACVrxB,EAAOA,EAAK+oB,MAAM,IAAIhlB,SAIxB/D,EAAOA,EAAKwqB,QAAQoG,GAAuC,IAEvDS,IACFrxB,EAAO,IAAMA,GAGRA,EAST,SAAS2zB,GAA+B3zB,GAEtC,IAAI4zB,EAAkBH,GAA4BzzB,IAAS,GAE3D,MAA2B,MAAvB4zB,EAAgB,GACX,CAACA,EAAgB7K,MAAM,IAAIhlB,SAAS,GAGtC,CAAC6vB,GASH,SAAS1C,GAA8BlxB,GAC5C,IAAI6zB,EAAyBF,GAA+B3zB,GACxD8zB,EAAyB7D,EAAe4D,EAAwB,GAChEzC,EAAkB0C,EAAuB,GACzCzC,EAAUyC,EAAuB,GASrC,OAJKpD,EAAiD3F,KAAKqG,KACzDA,EAAkB,IAGb,CAACA,EAAiBC,G,iBCze3B,SAAS0C,GAAQ5M,GAAwT,OAAtO4M,GAArD,oBAAXvjB,QAAoD,kBAApBA,OAAOC,SAAmC,SAAiB0W,GAAO,cAAcA,GAA2B,SAAiBA,GAAO,OAAOA,GAAyB,oBAAX3W,QAAyB2W,EAAI3Z,cAAgBgD,QAAU2W,IAAQ3W,OAAO/C,UAAY,gBAAkB0Z,GAAiB4M,GAAQ5M,GAExV,SAAS,GAAe+I,EAAK3oB,GAAK,OAAO,GAAgB2oB,IAAQ,GAAsBA,EAAK3oB,IAAM,KAElG,SAAS,KAAqB,MAAM,IAAIoJ,UAAU,wDAElD,SAAS,GAAsBuf,EAAK3oB,GAAK,IAAI+oB,EAAO,GAAQC,GAAK,EAAUvd,GAAK,EAAW1J,OAAKtH,EAAW,IAAM,IAAK,IAAiCiG,EAA7Bwf,EAAKyI,EAAI1f,OAAOC,cAAmB8f,GAAMtoB,EAAKwf,EAAGjY,QAAQG,MAAO4gB,GAAK,EAA6B,GAArBD,EAAKtsB,KAAKiE,EAAGhI,OAAYsH,GAAK+oB,EAAKvsB,SAAWwD,EAAG,MAAW,MAAOipB,GAAOxd,GAAK,EAAM1J,EAAKknB,EAAO,QAAU,IAAWD,GAAsB,MAAhB9I,EAAG,WAAmBA,EAAG,YAAe,QAAU,GAAIzU,EAAI,MAAM1J,GAAQ,OAAOgnB,EAElZ,SAAS,GAAgBJ,GAAO,GAAItrB,MAAMulB,QAAQ+F,GAAM,OAAOA,EAE/D,SAAS,GAAgBxJ,EAAUC,GAAe,KAAMD,aAAoBC,GAAgB,MAAM,IAAIhW,UAAU,qCAEhH,SAAS,GAAkBzC,EAAQ1P,GAAS,IAAK,IAAI+I,EAAI,EAAGA,EAAI/I,EAAMuF,OAAQwD,IAAK,CAAE,IAAIsf,EAAaroB,EAAM+I,GAAIsf,EAAWhO,WAAagO,EAAWhO,aAAc,EAAOgO,EAAW/N,cAAe,EAAU,UAAW+N,IAAYA,EAAWC,UAAW,GAAMljB,OAAO6K,eAAeP,EAAQ2Y,EAAWne,IAAKme,IAE7S,SAAS,GAAaF,EAAaK,EAAYC,GAAmJ,OAAhID,GAAY,GAAkBL,EAAYlZ,UAAWuZ,GAAiBC,GAAa,GAAkBN,EAAaM,GAAqBN,EAQzM,IAAIqN,IAAkC,EAElC,GAEJ,WAKE,SAASthB,EAAUuhB,EAAyBplB,GAC1C,GAAgBzO,KAAMsS,GAEtBtS,KAAKyO,SAAW,IAAI,OAASA,GAE7B,IAAIqlB,EAAwB9zB,KAAK+zB,yBAAyBF,GACtDG,EAAyB,GAAeF,EAAuB,GAC/DtM,EAAiBwM,EAAuB,GACxCvM,EAAqBuM,EAAuB,GAEhDh0B,KAAKwnB,eAAiBA,EACtBxnB,KAAKynB,mBAAqBA,EAC1BznB,KAAK8Y,QAkYP,OA/XA,GAAaxG,EAAW,CAAC,CACvBhK,IAAK,2BACLzI,MAAO,SAAkCg0B,GAEvC,IAAIrM,EACAC,EAwBJ,OAtBIoM,IACuC,WAArCF,GAAQE,IACVrM,EAAiBqM,EAAwBrM,eACzCC,EAAqBoM,EAAwBpM,oBAE7CD,EAAiBqM,GAIjBrM,IAAmBxnB,KAAKyO,SAASwlB,WAAWzM,KAC9CA,OAAiB5lB,GAGf6lB,GAEEmM,IACE5zB,KAAKyO,SAASylB,2BAA2BzM,KAC3CD,EAAiB,OAKhB,CAACA,EAAgBC,KAQzB,CACDnf,IAAK,QACLzI,MAAO,SAAeD,GACpB,IAAIu0B,EAAqBn0B,KAAKo0B,OAAOrtB,MAAMnH,EAAMI,KAAKsqB,OAClDxC,EAASqM,EAAmBrM,OAC5B8I,EAAkBuD,EAAmBvD,gBAEzC,GAAIA,EACF5wB,KAAKq0B,gBAAkB,SAClB,GAAIvM,EAAQ,CAOjB,IAAIqD,EAMJ,GAZAnrB,KAAKs0B,8BAEDt0B,KAAKsqB,MAAMrC,2BACbjoB,KAAKu0B,UAAUzH,0BAA0B9sB,KAAKsqB,OAK5CtqB,KAAKyO,SAASsjB,6BAChB5G,EAA0BnrB,KAAKu0B,UAAUpb,OAAO2O,EAAQ9nB,KAAKsqB,aAG/B1oB,IAA5BupB,GAEEnrB,KAAKo0B,OAAOI,mCAAmCx0B,KAAKsqB,OAAQ,CAC9DtqB,KAAKs0B,8BAEL,IAAInC,EAAiBnyB,KAAKsqB,MAAMpC,oBAE5BiK,IACFhH,EAA0BnrB,KAAKu0B,UAAUpb,OAAOgZ,EAAgBnyB,KAAKsqB,QAK3EtqB,KAAKq0B,gBAAkBlJ,EAA0BnrB,KAAKy0B,cAActJ,GAA2BnrB,KAAK00B,wBAGtG,OAAO10B,KAAKq0B,kBAEb,CACD/rB,IAAK,QACLzI,MAAO,WACL,IAAIgR,EAAQ7Q,KAoCZ,OAlCAA,KAAKsqB,MAAQ,IAAItD,EAAe,CAC9BE,gBAAiB,SAAyBqB,GAMxC1X,EAAM0X,QAAUA,GAElBpB,oBAAqB,SAA6BoB,EAASV,GACzDhX,EAAMpC,SAASkmB,oBAAoBpM,EAASV,GAE5ChX,EAAM0jB,UAAUzb,MAAMjI,EAAMpC,SAASke,cAAe9b,EAAMyZ,OAE1DzZ,EAAMujB,OAAOtb,MAAMjI,EAAMpC,SAASke,kBAGtC3sB,KAAKu0B,UAAY,IAAI,EAAmB,CACtCjK,MAAOtqB,KAAKsqB,MACZ7b,SAAUzO,KAAKyO,WAEjBzO,KAAKo0B,OAAS,IAAI,GAAgB,CAChC5M,eAAgBxnB,KAAKwnB,eACrBC,mBAAoBznB,KAAKynB,mBACzBhZ,SAAUzO,KAAKyO,SACf6b,MAAOtqB,KAAKsqB,MACZqG,kCAAmC,WACjC9f,EAAMyjB,8BAENzjB,EAAM0jB,UAAUzb,MAAMjI,EAAMpC,SAASke,cAAe9b,EAAMyZ,UAG9DtqB,KAAKsqB,MAAMxR,MAAM9Y,KAAKwnB,eAAgBxnB,KAAKynB,oBAC3CznB,KAAKq0B,gBAAkB,GAChBr0B,OAQR,CACDsI,IAAK,kBACLzI,MAAO,WACL,OAAOG,KAAKsqB,MAAM5C,gBASnB,CACDpf,IAAK,iBACLzI,MAAO,WACL,OAAOG,KAAKsqB,MAAMzC,cAGnB,CACDvf,IAAK,wBACLzI,MAAO,WACL,OAAOG,KAAK40B,mBASb,CACDtsB,IAAK,aACLzI,MAAO,WACL,IAAIg1B,EAAc70B,KAAKsqB,MACnBxC,EAAS+M,EAAY/M,OACrBS,EAAUsM,EAAYtM,QAI1B,GAAKT,EAAL,CAIA,IAAIgN,EAAcvM,EAWlB,OARIqL,IAGkB,QAAhBkB,IACFA,OAAclzB,GAIXkzB,KAER,CACDxsB,IAAK,8BACLzI,MAAO,WAiBAG,KAAKsqB,MAAM/B,UAAWvoB,KAAK+0B,iCAC9B/0B,KAAKg1B,wBAIR,CACD1sB,IAAK,gBACLzI,MAAO,SAAuBsrB,GAC5B,IAAI4B,EAAS/sB,KAEb,GAAIA,KAAKi1B,kBAAmB,CAC1B,IAAIC,EAAS,SAAgBt1B,GAC3B,OAAOmtB,EAAOwH,UAAUpF,+CAA+CpC,EAAOzC,MAAO,CACnF2E,UAASrvB,IACNA,GAGHioB,EAAc7nB,KAAKsqB,MAAMzC,YAE7B,OAQOqN,EARFrN,EAIAsD,EAIS,GAAG3S,OAAOqP,EAAa,KAAKrP,OAAO2S,GAHjCtD,EAJA,GAAGrP,OAAOxY,KAAKsqB,MAAM8E,wCAUvC,OAAOjE,IAER,CACD7iB,IAAK,0CACLzI,MAAO,WACL,IAAIs1B,EAAen1B,KAAKsqB,MACpBrC,EAA4BkN,EAAalN,0BACzCK,EAA+C6M,EAAa7M,6CAC5DF,EAAiB+M,EAAa/M,eAC9B7R,EAAS0R,EACTiN,EAAS5M,GAAgDF,EAM7D,OAJI8M,IACF3e,EAAS2e,EAAS3e,GAGbA,IAER,CACDjO,IAAK,wBACLzI,MAAO,WACL,IAAIsoB,EAAwCnoB,KAAKsqB,MAAMnC,sCACvD,OAAOnoB,KAAKy0B,cAActM,EAAwCnoB,KAAKo1B,0CAA4Cp1B,KAAKsqB,MAAMpC,uBAE/H,CACD5f,IAAK,0BACLzI,MAAO,WACL,IAAI0W,EAASvW,KAAK00B,wBAElB,GAAIne,EACF,OAAOA,EAAO6T,QAAQ,UAAWxB,KAGpC,CACDtgB,IAAK,gCACLzI,MAAO,WACL,IAAIgoB,EAAc7nB,KAAKsqB,MAAMzC,YACzBwN,EAAer1B,KAAKyO,SAAS6mB,8BAA8BzN,GAC/D,OAAOwN,GAAgBA,EAAa1xB,OAAS,IAK9C,CACD2E,IAAK,sBACLzI,MAAO,WACLG,KAAKsqB,MAAM9B,WAAW,OAAA+M,GAAA,MAAwBv1B,KAAKi1B,kBAAoBj1B,KAAKsqB,MAAMzC,YAAc7nB,KAAKynB,mBAAoBznB,KAAKsqB,MAAMrC,0BAA2BjoB,KAAKyO,aASrK,CACDnG,IAAK,YACLzI,MAAO,WACL,IAAI21B,EAAex1B,KAAKsqB,MACpBrC,EAA4BuN,EAAavN,0BACzCI,EAAcmN,EAAanN,YAE/B,GAAIroB,KAAKi1B,mBACP,IAAKj1B,KAAKsqB,MAAMzC,YACd,YAGF,IAAK7nB,KAAKsqB,MAAM/B,UAAYvoB,KAAKynB,mBAC/B,OAIJ,GAAKQ,EAAL,CAIA,IAAI6M,EAAc90B,KAAKy1B,aACnB5N,EAAc7nB,KAAK01B,yBAA2B11B,KAAKynB,mBACnDkO,EAAc,IAAIC,EAAA,KAAYd,GAAejN,EAAaI,EAA2BjoB,KAAKyO,SAASA,UAOvG,OALI4Z,IACFsN,EAAYtN,YAAcA,GAIrBsN,KAQR,CACDrtB,IAAK,aACLzI,MAAO,WACL,IAAI81B,EAAc31B,KAAKgZ,YAEvB,QAAK2c,GAIEA,EAAYE,eAQpB,CACDvtB,IAAK,UACLzI,MAAO,WACL,IAAI81B,EAAc31B,KAAKgZ,YAEvB,QAAK2c,GAIEA,EAAYphB,YAQpB,CACDjM,IAAK,oBACLzI,MAAO,WACL,OAAOG,KAAKsqB,MAAMrC,4BAOnB,CACD3f,IAAK,WACLzI,MAAO,WACL,OAAQG,KAAKsqB,MAAM5C,cAAgB,IAAM,IAAM1nB,KAAKsqB,MAAMxC,SAO3D,CACDxf,IAAK,cACLzI,MAAO,WACL,OAAOG,KAAKu0B,UAAUuB,YAAY91B,KAAKsqB,QAAUtqB,KAAK+1B,2BAA6B,OAIhFzjB,EAnZT,GCvBO,SAAS,GAAUiW,GACzB,OAAO,GAAW9mB,KAAKzB,KAAMuoB,EAAS,QAGvC,GAAUlb,UAAY7J,OAAO8J,OAAO,GAAWD,UAAW,IAC1D,GAAUA,UAAUD,YAAc,I,kCCRlC,oDAkBA,MAAMtJ,EAAarF,eACjBuF,eAAkB,UAAW,oBAAqB,cAWrCF,SAAW5F,SAAkBA,OAAO,CACjDC,KAAM,oBAEN8F,OAAQ,CACN+xB,mBAAoB,CAClB1qB,KAAM,eAIVlN,MAAO,CACLqG,KAAM,CACJ3F,KAAM,CAAC4F,OAAQpG,QACfkgB,UAAU,IAIdve,OACE,MAAO,CACLg2B,OAAQ,EAGR/0B,SAAU,KACVsF,WAAW,EACXR,WAAYhG,KAAKg2B,qBAIrBl2B,SAAU,CACRo2B,qBAEE,MAAMC,EAAUn2B,KAAKa,SAASu1B,KAAOp2B,KAAKwG,UAAYxG,KAAKwG,UAE3D,OAAO2vB,EACHE,OACAC,QAENrzB,SACE,OAAKjD,KAAKgG,WAEH,CACLiwB,OAAQM,eAAcv2B,KAAKi2B,SAHA,KAQjCvvB,MAAO,CACLxF,SAAUs1B,EAASC,GAGbD,GAAuB,MAAZC,EACbz2B,KAAKi2B,OAAS,OAIXj2B,KAAKgG,aAENhG,KAAKkB,SAAUlB,KAAK02B,QACnB12B,KAAK22B,WAId5xB,UACE/E,KAAKqiB,MAAMuU,QAAQzU,iBACjB,gBACAniB,KAAK62B,cACL,GAEF72B,KAAKgF,SAAWhF,KAAKgF,QAAQC,SAASjF,OAGxCkF,gBACElF,KAAKqiB,MAAMuU,QAAQrU,oBACjB,gBACAviB,KAAK62B,cACL,GAEF72B,KAAKgF,SAAWhF,KAAKgF,QAAQG,WAAWnF,OAG1CmC,QAAS,CACP00B,aAAczxB,GACPpF,KAAKkB,UACW,WAAnBkE,EAAE0xB,eAGJ92B,KAAKi2B,OAAS,SAEhBS,QACE,IAAIK,EAAe,EAGnBC,sBAAsB,KACpBD,EAAe/2B,KAAKqiB,MAAMuU,QAAQG,eAGpC/2B,KAAKi2B,OAAS,EAGdgB,WAAW,IAAMj3B,KAAKkB,WAAalB,KAAKi2B,OAAUc,GAAgB,QAAU,MAE9EJ,QACE32B,KAAKi2B,OAASj2B,KAAKqiB,MAAMuU,QAAQM,aACjCD,WAAW,IAAOj3B,KAAKi2B,OAAS,EAAI,KAEtCrzB,OAAQ6B,EAAuB0xB,GAC7Bn2B,KAAKkB,SAAWuD,EAAKmB,aAAe5F,KAAKyE,KAAKmB,WAC9C5F,KAAKwG,UAAY2vB,IAIrB9yB,OAAQC,GACN,MAAM6zB,EAAc,CAClBj3B,YAAa,sBAETk3B,EAAc,CAClBl3B,YAAa,qBACb8C,MAAOhD,KAAKiD,OACZuF,IAAK,WAGFxI,KAAKgG,aACRmxB,EAAYj0B,WAAa,CAAC,CACxB/E,KAAM,OACN0B,MAAOG,KAAKkB,YAIhB,MAAM01B,EAAUtzB,EAAE,MAAO8zB,EAAa,CAACp3B,KAAKsC,OAAOnD,UAC7CoH,EAAUjD,EAAE,MAAO6zB,EAAa,CAACP,IAEvC,OAAOtzB,EAAEtD,KAAKk2B,mBAAoB,CAChCl1B,GAAIhB,KAAK8G,YACR,CAACP,Q,yDClKR,sFAUM,SAAU8wB,EAASjyB,GACvBA,EAAEwgB,iBAIWnnB,sBACbqe,OACAwa,OACAC,QACAr5B,OAAO,CACPC,KAAM,aAENyK,MAAO,CACL4uB,KAAM,aACN1R,MAAO,UAGT1nB,MAAO,CACL4J,GAAI1J,OACJm5B,WAAY,KACZC,WAAY,KACZC,UAAW,KACXnW,SAAU,CACR1iB,KAAMO,QACNF,QAAS,MAEX4Q,MAAOzR,QAGT2B,OACE,MAAO,CACLkd,SAAUnd,KAAKy3B,WACfG,UAAW53B,KAAKy3B,aAIpB33B,SAAU,CACRO,gBACE,GAAKL,KAAKkB,SACV,OAAIlB,KAAKQ,MAAcR,KAAKQ,MACxBR,KAAK6B,SAAW7B,KAAK63B,UAAkB,QACpC,WAETC,aACE,OAAyB,IAAlB93B,KAAKwhB,UAAwC,OAAlBxhB,KAAKwhB,UAAqBhd,MAAMulB,QAAQ/pB,KAAK2G,gBAEjFzF,WACE,MAAMrB,EAAQG,KAAKH,MACbkH,EAAQ/G,KAAK2G,cAEnB,OAAI3G,KAAK83B,aACFtzB,MAAMulB,QAAQhjB,IAEZA,EAAMlC,KAAKmC,GAAQhH,KAAK8hB,gBAAgB9a,EAAMnH,SAGhC+B,IAAnB5B,KAAK23B,gBAA+C/1B,IAApB5B,KAAK03B,WAChC73B,EACHG,KAAK8hB,gBAAgBjiB,EAAOkH,GAC5B1H,QAAQ0H,GAGP/G,KAAK8hB,gBAAgB/a,EAAO/G,KAAK23B,YAE1CrW,UACE,OAAOthB,KAAKkB,UAEd4c,cACE,OAAQ9d,KAAKgd,YAAehd,KAAK+c,gBAE7B/c,KAAK+c,qBADLnb,IAKR8E,MAAO,CACL+wB,WAAYz4B,GACVgB,KAAK43B,UAAY54B,EACjBgB,KAAKmd,SAAWne,IAIpBmD,QAAS,CACPsD,WACE,MAAMsK,EAAQ+M,OAAOtb,QAAQW,QAAQsD,SAAShE,KAAKzB,MAEnD,OAAK+P,GAELA,EAAO9P,KAAMe,GAAK,CAEhBC,MAAOo2B,GAGFtnB,GAPYA,GASrB8N,SAAU/e,EAAc8B,GACtB,OAAOZ,KAAKM,eAAe,QAAS,CAClCM,MAAO4C,OAAOgK,OAAO,CACnB,eAAgBxN,KAAKkB,SAAS0E,WAC9BmyB,SAAU/3B,KAAKgd,WACfhV,GAAIhI,KAAKg4B,WACTl1B,KAAMhE,EACNA,QACC8B,GACH+jB,SAAU,CACR9kB,MAAOG,KAAKH,MACZo4B,QAASj4B,KAAKkB,UAEhBF,GAAI,CACFwhB,KAAMxiB,KAAKk4B,OACXC,OAAQn4B,KAAKo4B,SACbC,MAAOr4B,KAAKglB,QACZsT,QAASt4B,KAAKu4B,UACdt3B,MAAOo2B,GAET7uB,IAAK,WAGT0vB,SACEl4B,KAAK0hB,WAAY,GAEnBqD,QAAS3f,GACPpF,KAAKo4B,WACLp4B,KAAKsF,MAAM,QAASF,IAEtBgzB,WACE,IAAKp4B,KAAKgkB,cAAe,OAEzB,MAAMnkB,EAAQG,KAAKH,MACnB,IAAIkH,EAAQ/G,KAAK2G,cAEjB,GAAI3G,KAAK83B,WAAY,CACdtzB,MAAMulB,QAAQhjB,KACjBA,EAAQ,IAGV,MAAMpD,EAASoD,EAAMpD,OAErBoD,EAAQA,EAAMG,OAAQF,IAAehH,KAAK8hB,gBAAgB9a,EAAMnH,IAE5DkH,EAAMpD,SAAWA,GACnBoD,EAAMnD,KAAK/D,QAGbkH,OAD4BnF,IAAnB5B,KAAK23B,gBAA+C/1B,IAApB5B,KAAK03B,WACtC13B,KAAK8hB,gBAAgB/a,EAAO/G,KAAK23B,WAAa33B,KAAK03B,WAAa13B,KAAK23B,UACpE93B,EACDG,KAAK8hB,gBAAgB/a,EAAOlH,GAAS,KAAOA,GAE3CkH,EAGX/G,KAAK8E,UAAS,EAAMiC,GACpB/G,KAAK2G,cAAgBI,EACrB/G,KAAKmd,SAAWpW,GAElBie,UACEhlB,KAAK0hB,WAAY,GAGnB6W,UAAWnzB","file":"js/chunk-379dd441.3ccadb97.js","sourcesContent":["import Vue from 'vue'\n\nexport default Vue.extend({\n name: 'transitionable',\n\n props: {\n mode: String,\n origin: String,\n transition: String,\n },\n})\n","// Styles\nimport './VAlert.sass'\n\n// Extensions\nimport VSheet from '../VSheet'\n\n// Components\nimport VBtn from '../VBtn'\nimport VIcon from '../VIcon'\n\n// Mixins\nimport Toggleable from '../../mixins/toggleable'\nimport Themeable from '../../mixins/themeable'\nimport Transitionable from '../../mixins/transitionable'\n\n// Utilities\nimport mixins from '../../util/mixins'\nimport { breaking } from '../../util/console'\n\n// Types\nimport { VNodeData } from 'vue'\nimport { VNode } from 'vue/types'\n\n/* @vue/component */\nexport default mixins(\n VSheet,\n Toggleable,\n Transitionable\n).extend({\n name: 'v-alert',\n\n props: {\n border: {\n type: String,\n validator (val: string) {\n return [\n 'top',\n 'right',\n 'bottom',\n 'left',\n ].includes(val)\n },\n },\n closeLabel: {\n type: String,\n default: '$vuetify.close',\n },\n coloredBorder: Boolean,\n dense: Boolean,\n dismissible: Boolean,\n 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 this.$slots.prepend || this.__cachedIcon,\n this.genContent(),\n this.__cachedBorder,\n this.$slots.append,\n this.$scopedSlots.close\n ? this.$scopedSlots.close({ toggle: this.toggle })\n : this.__cachedDismissible,\n ]\n\n const data: VNodeData = {\n staticClass: 'v-alert__wrapper',\n }\n\n return this.$createElement('div', data, children)\n },\n genContent (): VNode {\n return this.$createElement('div', {\n staticClass: 'v-alert__content',\n }, this.$slots.default)\n },\n genAlert (): VNode {\n let data: VNodeData = {\n staticClass: 'v-alert',\n attrs: {\n role: 'alert',\n },\n 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","// 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'\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) {\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 }, this.$slots.default)\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 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 staticClass: 'v-stepper__step',\n class: this.classes,\n directives: [{\n name: 'ripple',\n value: this.editable,\n }],\n on: { click: this.click },\n }, [\n this.genStep(),\n this.genLabel(),\n ])\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'\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 }, this.$slots.default)\n },\n})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-container',{attrs:{\"grid-list-lg\":\"\",\"fluid\":_vm.fluid}},[_c('v-layout',{attrs:{\"row\":\"\",\"wrap\":\"\"}},[_c('v-flex',{attrs:{\"xs12\":\"\"}},[_c('v-card',{staticClass:\"elevation-10\"},[_c('v-toolbar',{attrs:{\"text\":\"\",\"color\":\"blue-grey darken-2\",\"dark\":\"\"}},[_c('v-toolbar-title',[_vm._v(_vm._s(_vm.$route.params && _vm.$route.params.id && _vm.$route.params.id !== '0' ? _vm.$route.params.id : 'Add New User'))]),_c('v-spacer'),_c('v-tooltip',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.isExistingUser === false),expression:\"isExistingUser === false\"}],attrs:{\"top\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nreturn [_c('v-btn',_vm._g({attrs:{\"icon\":\"\"},on:{\"click\":function($event){return _vm.openPartialSaveDialog('User', _vm.item)}}},on),[_c('v-icon',[_vm._v(\"fas fa-business-time\")])],1),_c('span',[_vm._v(\"Temporarily save\")])]}}])})],1),_c('v-dialog',{attrs:{\"persistent\":\"\",\"width\":\"200\"},model:{value:(_vm.loading),callback:function ($$v) {_vm.loading=$$v},expression:\"loading\"}},[_c('v-card',{attrs:{\"dark\":\"\",\"color\":\"blue-grey\"}},[_c('v-card-text',[_vm._v(\"Loading...\"),_c('v-progress-linear',{staticClass:\"mb-0\",attrs:{\"indeterminate\":\"\",\"color\":\"white\"}})],1)],1)],1),_c('v-dialog',{attrs:{\"persistent\":\"\",\"width\":\"200\"},model:{value:(_vm.saving),callback:function ($$v) {_vm.saving=$$v},expression:\"saving\"}},[_c('v-card',{attrs:{\"dark\":\"\",\"color\":\"blue-grey\"}},[_c('v-card-text',[_vm._v(\"Saving...\"),_c('v-progress-linear',{staticClass:\"mb-0\",attrs:{\"indeterminate\":\"\",\"color\":\"white\"}})],1)],1)],1),_c('partial-save-dialog'),_c('v-stepper',{model:{value:(_vm.currentStep),callback:function ($$v) {_vm.currentStep=$$v},expression:\"currentStep\"}},[_c('v-stepper-header',[(_vm.isExistingUser === false)?_c('v-divider'):_vm._e(),(_vm.isExistingUser === false)?_c('v-tooltip',{attrs:{\"bottom\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nreturn [_c('v-stepper-step',_vm._g({attrs:{\"step\":\"U\",\"rules\":[function () { return !_vm.errors.has('username.*'); } ]}},on),[_vm._v(\"User ID\")]),_c('span',[_vm._v(\"User ID\")])]}}],null,false,1269863603)}):_vm._e(),_c('v-divider'),_c('v-tooltip',{attrs:{\"bottom\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nreturn [_c('v-stepper-step',_vm._g({attrs:{\"step\":\"D\",\"rules\":[function () { return !_vm.errors.has('details.*'); } ]}},on),[_vm._v(\"Details\")]),_c('span',[_vm._v(\"Details\")])]}}])}),_c('v-divider'),_c('v-tooltip',{attrs:{\"bottom\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nreturn [_c('v-stepper-step',_vm._g({attrs:{\"step\":\"A\",\"rules\":[function () { return !_vm.errors.has('associations.*'); } ]}},on),[_vm._v(\"Associations\")]),_c('span',[_vm._v(\"Associations\")])]}}])}),_c('v-divider'),_c('v-tooltip',{attrs:{\"bottom\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nreturn [_c('v-stepper-step',_vm._g({attrs:{\"step\":\"RF\"}},on),[_vm._v(\"Report Filters\")]),_c('span',[_vm._v(\"Report Filters\")])]}}])}),_c('v-divider')],1),_c('v-stepper-items',[(_vm.isExistingUser === false)?_c('v-stepper-content',{attrs:{\"step\":\"U\"}},[_c('v-form',{attrs:{\"data-vv-scope\":\"userid\"}},[_c('v-card',[_c('v-card-text',[_c('v-layout',{staticClass:\"pb-2\",attrs:{\"row\":\"\",\"wrap\":\"\"}},[_c('v-flex',{attrs:{\"xs12\":\"\"}},[_c('v-text-field',{directives:[{name:\"validate\",rawName:\"v-validate.disable\",value:(_vm.validationRules.userId),expression:\"validationRules.userId\",modifiers:{\"disable\":true}}],attrs:{\"name\":\"userId\",\"label\":\"User ID*\",\"placeholder\":\"User ID\",\"error-messages\":_vm.errors.collect('userId', 'userid'),\"data-vv-as\":\"User ID\",\"maxLength\":_vm.validationRules.userId['max'],\"hint\":(\"*Required | \" + _vm.userIdValidationMessage),\"persistent-hint\":\"\",\"disabled\":_vm.isExistingUser || _vm.readonly},model:{value:(_vm.item.userId),callback:function ($$v) {_vm.$set(_vm.item, \"userId\", $$v)},expression:\"item.userId\"}})],1)],1)],1),_c('v-divider'),_c('v-card-actions',[_c('v-spacer'),_c('v-btn',{attrs:{\"color\":\"secondary\",\"text\":\"\",\"to\":\"/config/user-management\"}},[_vm._v(\"Cancel\")]),_c('v-btn',{attrs:{\"color\":\"primary\"},on:{\"click\":function($event){return _vm.moveToStep('D', 'userid')}}},[_vm._v(\"Next\")])],1)],1)],1)],1):_vm._e(),_c('v-stepper-content',{attrs:{\"step\":\"D\"}},[_c('v-form',{attrs:{\"data-vv-scope\":\"details\"}},[_c('v-card',[_c('v-card-text',[_c('v-layout',{staticClass:\"pb-2\",attrs:{\"row\":\"\",\"wrap\":\"\"}},[_c('v-flex',{attrs:{\"xs12\":\"\"}},[_c('p',[_vm._v(\"User ID: \\\"\"+_vm._s(_vm.item.userId)+\"\\\"\")])]),_c('v-flex',{attrs:{\"xs12\":\"\",\"sm6\":\"\"}},[_c('v-text-field',{directives:[{name:\"validate\",rawName:\"v-validate.disable\",value:(_vm.validationRules.firstName),expression:\"validationRules.firstName\",modifiers:{\"disable\":true}}],attrs:{\"name\":\"firstName\",\"label\":\"First Name*\",\"placeholder\":\"First Name\",\"error-messages\":_vm.errors.collect('firstName', 'details'),\"data-vv-as\":\"First Name\",\"maxLength\":_vm.validationRules.firstName['max'],\"hint\":\"*Required\",\"persistent-hint\":\"\",\"disabled\":_vm.readonly},model:{value:(_vm.item.firstName),callback:function ($$v) {_vm.$set(_vm.item, \"firstName\", $$v)},expression:\"item.firstName\"}})],1),_c('v-flex',{attrs:{\"xs12\":\"\",\"sm6\":\"\"}},[_c('v-text-field',{directives:[{name:\"validate\",rawName:\"v-validate.disable\",value:(_vm.validationRules.lastName),expression:\"validationRules.lastName\",modifiers:{\"disable\":true}}],attrs:{\"name\":\"lastName\",\"label\":\"Last Name*\",\"placeholder\":\"Last Name\",\"error-messages\":_vm.errors.collect('lastName', 'details'),\"data-vv-as\":\"Last Name\",\"maxLength\":_vm.validationRules.lastName['max'],\"hint\":\"*Required\",\"persistent-hint\":\"\",\"disabled\":_vm.readonly},model:{value:(_vm.item.lastName),callback:function ($$v) {_vm.$set(_vm.item, \"lastName\", $$v)},expression:\"item.lastName\"}})],1),_c('v-flex',{attrs:{\"xs12\":\"\",\"sm9\":\"\"}},[_c('v-text-field',{directives:[{name:\"validate\",rawName:\"v-validate.disable\",value:(_vm.validationRules.email),expression:\"validationRules.email\",modifiers:{\"disable\":true}}],attrs:{\"name\":\"email\",\"label\":\"Email*\",\"placeholder\":\"Email\",\"error-messages\":_vm.errors.collect('email', 'details'),\"data-vv-as\":\"Email\",\"maxLength\":_vm.validationRules.email['max'],\"hint\":\"*Required\",\"persistent-hint\":\"\",\"disabled\":_vm.readonly},model:{value:(_vm.item.email),callback:function ($$v) {_vm.$set(_vm.item, \"email\", $$v)},expression:\"item.email\"}})],1),_c('v-flex',{attrs:{\"xs12\":\"\",\"sm3\":\"\"}},[_c('v-checkbox',{attrs:{\"name\":\"disableEmailNotifications\",\"label\":\"Disable email notifications\",\"color\":\"primary\",\"disabled\":_vm.readonly},model:{value:(_vm.item.disableEmailNotifications),callback:function ($$v) {_vm.$set(_vm.item, \"disableEmailNotifications\", $$v)},expression:\"item.disableEmailNotifications\"}})],1),_c('v-flex',{attrs:{\"xs12\":\"\",\"sm4\":\"\"}},[_c('v-text-field',{directives:[{name:\"validate\",rawName:\"v-validate.disable\",value:(_vm.validationRules.officePhone),expression:\"validationRules.officePhone\",modifiers:{\"disable\":true}}],attrs:{\"name\":\"officePhone\",\"type\":\"tel\",\"label\":\"Office Phone #\",\"placeholder\":\"Office Phone #\",\"error-messages\":_vm.errors.collect('officePhone', 'details'),\"data-vv-as\":\"Office Phone #\",\"maxLength\":_vm.validationRules.officePhone['max'],\"disabled\":_vm.readonly},model:{value:(_vm.formattedOfficePhoneNumber),callback:function ($$v) {_vm.formattedOfficePhoneNumber=$$v},expression:\"formattedOfficePhoneNumber\"}})],1),_c('v-flex',{attrs:{\"xs12\":\"\",\"sm2\":\"\"}},[_c('v-text-field',{directives:[{name:\"validate\",rawName:\"v-validate.disable\",value:(_vm.validationRules.officePhoneExtension),expression:\"validationRules.officePhoneExtension\",modifiers:{\"disable\":true}}],attrs:{\"name\":\"officePhoneExt\",\"label\":\"Ext #\",\"placeholder\":\"Ext #\",\"error-messages\":_vm.errors.collect('officePhoneExt', 'details'),\"data-vv-as\":\"Office Phone Ext #\",\"disabled\":_vm.readonly || _vm.officePhoneNumberExtensionEnabled == false,\"maxLength\":_vm.validationRules.officePhoneExtension['max']},model:{value:(_vm.item.officePhoneExt),callback:function ($$v) {_vm.$set(_vm.item, \"officePhoneExt\", $$v)},expression:\"item.officePhoneExt\"}})],1),_c('v-flex',{attrs:{\"xs12\":\"\",\"sm6\":\"\"}},[_c('v-text-field',{directives:[{name:\"validate\",rawName:\"v-validate.disable\",value:(_vm.validationRules.cellPhone),expression:\"validationRules.cellPhone\",modifiers:{\"disable\":true}}],attrs:{\"name\":\"cellPhone\",\"type\":\"tel\",\"label\":\"Cell Phone #\",\"placeholder\":\"Cell Phone #\",\"error-messages\":_vm.errors.collect('cellPhone', 'details'),\"data-vv-as\":\"Cell Phone #\",\"maxLength\":_vm.validationRules.cellPhone['max'],\"disabled\":_vm.readonly},model:{value:(_vm.formattedCellPhoneNumber),callback:function ($$v) {_vm.formattedCellPhoneNumber=$$v},expression:\"formattedCellPhoneNumber\"}})],1),_c('v-flex',{attrs:{\"xs12\":\"\"}},[_c('v-textarea',{directives:[{name:\"validate\",rawName:\"v-validate.disable\",value:(_vm.validationRules.note),expression:\"validationRules.note\",modifiers:{\"disable\":true}}],attrs:{\"name\":\"notes\",\"label\":\"Notes\",\"placeholder\":\"Type notes here...\",\"error-messages\":_vm.errors.collect('note', 'details'),\"data-vv-as\":\"Notes\",\"maxLength\":_vm.validationRules.note['max'],\"counter\":_vm.validationRules.note['max'],\"auto-grow\":\"\",\"filled\":\"\",\"disabled\":_vm.readonly,\"hint\":\"Caution: contents may be visible to external users\",\"persistent-hint\":\"\"},model:{value:(_vm.item.notes),callback:function ($$v) {_vm.$set(_vm.item, \"notes\", $$v)},expression:\"item.notes\"}})],1)],1)],1),_c('v-divider'),_c('v-card-actions',[(_vm.isExistingUser === false)?_c('v-btn',{attrs:{\"color\":\"secondary\"},on:{\"click\":function($event){_vm.currentStep='U'}}},[_vm._v(\"Back\")]):_vm._e(),_c('v-spacer'),_c('v-btn',{attrs:{\"color\":\"secondary\",\"text\":\"\",\"to\":\"/config/user-management\"}},[_vm._v(\"Cancel\")]),_c('v-btn',{attrs:{\"color\":\"primary\"},on:{\"click\":function($event){return _vm.moveToStep('A', 'details')}}},[_vm._v(\"Next\")])],1)],1)],1)],1),_c('v-stepper-content',{attrs:{\"step\":\"A\"}},[_c('v-form',{attrs:{\"data-vv-scope\":\"associations\"}},[_c('v-card',[_c('v-card-text',[_c('v-layout',{staticClass:\"pb-2\",attrs:{\"row\":\"\",\"wrap\":\"\"}},[_c('v-flex',{attrs:{\"xs12\":\"\",\"sm6\":\"\"}},[_c('v-autocomplete',{directives:[{name:\"validate\",rawName:\"v-validate.disable\",value:(_vm.validationRules.userType),expression:\"validationRules.userType\",modifiers:{\"disable\":true}}],attrs:{\"name\":\"userType\",\"label\":\"User Type*\",\"placeholder\":\"User Type\",\"error-messages\":_vm.errors.collect('userType', 'associations'),\"data-vv-as\":\"User Type\",\"hint\":\"*Required\",\"persistent-hint\":\"\",\"items\":_vm.options.userTypes,\"item-text\":\"value\",\"item-value\":\"key\",\"clearable\":_vm.readonly === false,\"disabled\":_vm.readonly},model:{value:(_vm.item.userType),callback:function ($$v) {_vm.$set(_vm.item, \"userType\", $$v)},expression:\"item.userType\"}})],1),_c('v-flex',{attrs:{\"xs12\":\"\",\"sm6\":\"\"}},[_c('v-autocomplete',{directives:[{name:\"validate\",rawName:\"v-validate.disable\",value:(_vm.validationRules.userSubType),expression:\"validationRules.userSubType\",modifiers:{\"disable\":true}}],attrs:{\"name\":\"userSubType\",\"label\":\"User Sub-Type*\",\"placeholder\":\"User Sub-Type\",\"error-messages\":_vm.errors.collect('userSubType', 'associations'),\"data-vv-as\":\"User Sub-Type\",\"hint\":_vm.item.hasMultipleRoles ? 'More than 1 user sub-type is associated with this user, the highest priority is shown above' : '*Required',\"persistent-hint\":\"\",\"items\":_vm.userSubTypes,\"item-text\":\"value\",\"item-value\":\"key\",\"clearable\":_vm.readonly === false,\"disabled\":_vm.readonly || !_vm.item.userType || _vm.item.userType === ''},model:{value:(_vm.item.userSubType),callback:function ($$v) {_vm.$set(_vm.item, \"userSubType\", $$v)},expression:\"item.userSubType\"}})],1),_c('v-flex',{directives:[{name:\"show\",rawName:\"v-show\",value:([this.userService.carrierType].includes(_vm.item.userType)),expression:\"[this.userService.carrierType].includes(item.userType)\"}],attrs:{\"xs12\":\"\"}},[_c('v-card',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.options.carriers.length > 0 && _vm.allowCarrierAssociations),expression:\"options.carriers.length > 0 && allowCarrierAssociations\"}],attrs:{\"text\":\"\"}},[_c('v-toolbar',{attrs:{\"text\":\"\",\"dense\":\"\",\"color\":\"blue-grey lighten-2\"}},[_c('v-toolbar-title',[_vm._v(\"Associated Carriers\")])],1),_c('v-layout',[_c('v-flex',[_c('v-treeview',{directives:[{name:\"validate\",rawName:\"v-validate.disable\",value:(_vm.validationRules.carriers),expression:\"validationRules.carriers\",modifiers:{\"disable\":true}}],attrs:{\"name\":\"carriers\",\"hint\":\"*Required\",\"persistent-hint\":\"\",\"items\":_vm.options.carriers,\"selected-color\":\"primary\",\"open-on-click\":\"\",\"selectable\":_vm.readonly === false,\"open-all\":_vm.readonly,\"on-icon\":\"check_box\",\"off-icon\":\"check_box_outline_blank\",\"multiple-active\":\"\"},model:{value:(_vm.item.carriers),callback:function ($$v) {_vm.$set(_vm.item, \"carriers\", $$v)},expression:\"item.carriers\"}})],1)],1)],1),_c('v-card',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.options.carriers.length > 0 && _vm.allowCarrierAssociations === false),expression:\"options.carriers.length > 0 && allowCarrierAssociations === false\"}],attrs:{\"text\":\"\",\"color\":\"secondary\"}},[_c('v-card-text',{staticClass:\"white--text\"},[_vm._v(\"Unable to edit carrier associations for this user.\")])],1),_c('v-alert',{attrs:{\"value\":_vm.requireCarrierAssociation,\"color\":\"error\",\"icon\":\"warning\",\"outlined\":\"\"}},[_vm._v(_vm._s(_vm.errors.has('associations.carriers') ? _vm.errors.collect('carriers', 'associations')[0] : 'N/A'))])],1),_c('v-flex',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.isRslType && _vm.isExistingUser),expression:\"isRslType && isExistingUser\"}],attrs:{\"xs12\":\"\"}},[_c('v-autocomplete',{attrs:{\"name\":\"locos\",\"label\":\"Associated LoCo(s)\",\"items\":_vm.item.locos,\"multiple\":\"\",\"chips\":\"\",\"hide-details\":\"\",\"disabled\":\"\",\"loading\":_vm.loadingLocos},scopedSlots:_vm._u([{key:\"selection\",fn:function(data){return [_c('v-chip',{attrs:{\"color\":\"secondary\",\"text-color\":\"white\",\"dark\":\"\",\"label\":\"\",\"small\":\"\"}},[_vm._v(_vm._s(data.item))])]}}]),model:{value:(_vm.item.locos),callback:function ($$v) {_vm.$set(_vm.item, \"locos\", $$v)},expression:\"item.locos\"}})],1),_c('v-flex',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.isLocoType),expression:\"isLocoType\"}],attrs:{\"xs12\":\"\"}},[_c('v-autocomplete',{directives:[{name:\"validate\",rawName:\"v-validate.disable\",value:(_vm.isLocoType ? _vm.validationRules.rsls : false),expression:\"isLocoType ? validationRules.rsls : false\",modifiers:{\"disable\":true}}],attrs:{\"name\":\"rsls\",\"label\":\"Associated RSL*\",\"placeholder\":\"Associated RSL\",\"error-messages\":_vm.errors.collect('rsls', 'associations'),\"data-vv-as\":\"Associated RSL\",\"items\":_vm.options.rsls,\"hint\":\"*Required\",\"persistent-hint\":\"\",\"clearable\":_vm.readonly === false,\"disabled\":_vm.readonly},model:{value:(_vm.item.rsl),callback:function ($$v) {_vm.$set(_vm.item, \"rsl\", $$v)},expression:\"item.rsl\"}})],1)],1)],1),_c('v-divider'),_c('v-card-actions',[_c('v-btn',{attrs:{\"color\":\"secondary\"},on:{\"click\":function($event){_vm.currentStep='D'}}},[_vm._v(\"Back\")]),_c('v-spacer'),_c('v-btn',{attrs:{\"color\":\"secondary\",\"text\":\"\",\"to\":\"/config/user-management\"}},[_vm._v(\"Cancel\")]),_c('v-btn',{attrs:{\"color\":\"primary\"},on:{\"click\":function($event){return _vm.moveToStep('RF', 'associations')}}},[_vm._v(\"Next\")])],1)],1)],1)],1),_c('v-stepper-content',{attrs:{\"step\":\"RF\"}},[_c('v-form',{attrs:{\"data-vv-scope\":\"filters\"}},[_c('v-card',[_c('v-card-text',[_c('v-layout',{staticClass:\"pb-2\",attrs:{\"row\":\"\",\"wrap\":\"\"}},[_c('v-flex',{staticClass:\"pb-0\",attrs:{\"xs12\":\"\"}},[_c('h2',{staticClass:\"subtitle-1\"},[_vm._v(\"Voyage / Load List Report\")])]),_c('v-flex',{attrs:{\"xs12\":\"\",\"sm6\":\"\"}},[_c('v-autocomplete',{attrs:{\"name\":\"loadList.from\",\"label\":\"From\",\"items\":_vm.options.loadListReport.from,\"hint\":_vm.voyageListFromDisplayText,\"suffix\":\"days\",\"persistent-hint\":\"\",\"dense\":\"\",\"disabled\":_vm.readonly},model:{value:(_vm.item.reportFilters.voyageLoadList.fromDate),callback:function ($$v) {_vm.$set(_vm.item.reportFilters.voyageLoadList, \"fromDate\", $$v)},expression:\"item.reportFilters.voyageLoadList.fromDate\"}})],1),_c('v-flex',{attrs:{\"xs12\":\"\",\"sm6\":\"\"}},[_c('v-autocomplete',{attrs:{\"name\":\"loadList.to\",\"label\":\"To\",\"items\":_vm.options.loadListReport.to,\"hint\":_vm.voyageListToDisplayText,\"suffix\":\"days\",\"persistent-hint\":\"\",\"dense\":\"\",\"disabled\":_vm.readonly},model:{value:(_vm.item.reportFilters.voyageLoadList.toDate),callback:function ($$v) {_vm.$set(_vm.item.reportFilters.voyageLoadList, \"toDate\", $$v)},expression:\"item.reportFilters.voyageLoadList.toDate\"}})],1),_c('v-flex',{attrs:{\"xs12\":\"\",\"sm6\":\"\"}},[_c('v-autocomplete',{attrs:{\"name\":\"loadList.view\",\"label\":\"View\",\"placeholder\":\"View\",\"item-text\":\"value\",\"item-value\":\"key\",\"items\":_vm.options.loadListReport.views,\"hide-details\":\"\",\"dense\":\"\",\"disabled\":_vm.readonly},model:{value:(_vm.item.reportFilters.voyageLoadList.view),callback:function ($$v) {_vm.$set(_vm.item.reportFilters.voyageLoadList, \"view\", $$v)},expression:\"item.reportFilters.voyageLoadList.view\"}})],1),_c('v-flex',{attrs:{\"xs12\":\"\",\"sm6\":\"\"}},[_c('v-autocomplete',{attrs:{\"name\":\"loadList.group\",\"label\":\"Material Group\",\"placeholder\":\"Material Group\",\"items\":_vm.options.materialGroups,\"item-text\":\"materialGroupDesc\",\"item-value\":\"materialGroupId\",\"hide-details\":\"\",\"dense\":\"\",\"disabled\":_vm.readonly},model:{value:(_vm.item.reportFilters.voyageLoadList.group),callback:function ($$v) {_vm.$set(_vm.item.reportFilters.voyageLoadList, \"group\", $$v)},expression:\"item.reportFilters.voyageLoadList.group\"}})],1),_c('v-flex',{attrs:{\"xs12\":\"\",\"sm6\":\"\"}},[_c('v-autocomplete',{attrs:{\"name\":\"loadList.site\",\"label\":\"Site\",\"placeholder\":\"Site\",\"items\":_vm.options.sites,\"item-text\":function (site) { return site.value ? ((site.key) + \" - \" + (site.value)) : site.key; },\"item-value\":function (site) { return site.value ? ((site.key) + \" - \" + (site.value)) : site.key; },\"hide-details\":\"\",\"dense\":\"\",\"disabled\":_vm.readonly},model:{value:(_vm.item.reportFilters.voyageLoadList.site),callback:function ($$v) {_vm.$set(_vm.item.reportFilters.voyageLoadList, \"site\", $$v)},expression:\"item.reportFilters.voyageLoadList.site\"}})],1),_c('v-flex',{attrs:{\"xs12\":\"\",\"sm6\":\"\"}},[_c('v-autocomplete',{attrs:{\"name\":\"loadList.market\",\"label\":\"Market\",\"placeholder\":\"Market\",\"items\":_vm.options.loadListReport.markets,\"hide-details\":\"\",\"dense\":\"\",\"disabled\":_vm.readonly},model:{value:(_vm.item.reportFilters.voyageLoadList.market),callback:function ($$v) {_vm.$set(_vm.item.reportFilters.voyageLoadList, \"market\", $$v)},expression:\"item.reportFilters.voyageLoadList.market\"}})],1),_c('v-flex',{staticClass:\"pb-0\",attrs:{\"xs12\":\"\"}},[_c('v-divider',{staticClass:\"mb-2\"}),_c('h2',{staticClass:\"subtitle-1\"},[_vm._v(\"Opportunity Loads\")])],1),_c('v-flex',{attrs:{\"xs12\":\"\"}},[_c('v-autocomplete',{directives:[{name:\"validate\",rawName:\"v-validate.disable\",value:(_vm.validationRules.statuses),expression:\"validationRules.statuses\",modifiers:{\"disable\":true}}],attrs:{\"name\":\"opportunityLoads.statuses\",\"label\":\"Statuses\",\"open-on-clear\":\"\",\"deletable-chips\":\"\",\"value\":_vm.getFilterItemArray('OPPORTUNITY_LOADS', 'OPPORTUNITY_STATUS'),\"placeholder\":\"Statuses\",\"error-messages\":_vm.errors.collect('statuses', 'filters'),\"data-vv-as\":\"Statuses\",\"items\":_vm.options.opportunityReport.types,\"item-text\":\"shortDescription\",\"item-value\":\"code\",\"persistent-hint\":\"\",\"multiple\":\"\",\"chips\":\"\",\"small-chips\":\"\",\"dense\":\"\",\"disabled\":_vm.readonly},on:{\"input\":function($event){return _vm.updateFilterItemArray('OPPORTUNITY_LOADS', 'OPPORTUNITY_STATUS', $event)}}})],1),_c('v-flex',{attrs:{\"xs12\":\"\",\"sm6\":\"\"}},[_c('v-autocomplete',{attrs:{\"name\":\"opportunityLoads.date\",\"label\":\"Date\",\"value\":_vm.getFilterItem('OPPORTUNITY_LOADS', 'DATE'),\"items\":_vm.options.opportunityReport.range,\"suffix\":\"days\",\"persistent-hint\":\"\",\"dense\":\"\",\"disabled\":_vm.readonly},on:{\"input\":function($event){return _vm.updateFilterItem('OPPORTUNITY_LOADS', 'DATE', $event)}}})],1),_c('v-flex',{attrs:{\"xs12\":\"\",\"sm6\":\"\"}},[_c('v-autocomplete',{attrs:{\"name\":\"opportunityLoads.carrier\",\"label\":\"Carrier\",\"placeholder\":\"Carrier\",\"value\":_vm.getFilterItem('OPPORTUNITY_LOADS', 'DISPATCH_DESK'),\"items\":_vm.options.opportunityReport.carriers,\"item-text\":function (carrier) { return carrier.key && carrier.value ? ((carrier.value) + \" - \" + (carrier.key)) : carrier.value; },\"item-value\":\"key\",\"hide-details\":\"\",\"dense\":\"\",\"disabled\":_vm.readonly},on:{\"input\":function($event){return _vm.updateFilterItem('OPPORTUNITY_LOADS', 'DISPATCH_DESK', $event)}}})],1),_c('v-flex',{attrs:{\"xs12\":\"\",\"sm6\":\"\"}},[_c('v-autocomplete',{attrs:{\"name\":\"opportunityLoads.site\",\"label\":\"Site\",\"value\":_vm.getFilterItem('OPPORTUNITY_LOADS', 'SITE'),\"placeholder\":\"Site\",\"items\":_vm.options.sites,\"item-text\":function (site) { return site.value ? ((site.key) + \" - \" + (site.value)) : site.key; },\"item-value\":\"key\",\"hide-details\":\"\",\"dense\":\"\",\"disabled\":_vm.readonly},on:{\"input\":function($event){return _vm.updateFilterItem('OPPORTUNITY_LOADS', 'SITE', $event)}}})],1),_c('v-flex',{attrs:{\"xs12\":\"\",\"sm6\":\"\"}},[_c('v-autocomplete',{attrs:{\"name\":\"opportunityLoads.materialGroup\",\"label\":\"Material Group\",\"value\":_vm.getFilterItem('OPPORTUNITY_LOADS', 'MATERIAL_GROUP'),\"placeholder\":\"Material Group\",\"items\":_vm.options.materialGroups,\"item-text\":\"materialGroupDesc\",\"item-value\":\"materialGroupId\",\"hide-details\":\"\",\"dense\":\"\",\"disabled\":_vm.readonly},on:{\"input\":function($event){return _vm.updateFilterItem('OPPORTUNITY_LOADS', 'MATERIAL_GROUP', $event)}}})],1),_c('v-flex',{attrs:{\"xs12\":\"\",\"sm6\":\"\"}},[_c('v-autocomplete',{attrs:{\"name\":\"opportunityLoads.market\",\"label\":\"Market\",\"value\":_vm.getFilterItem('OPPORTUNITY_LOADS', 'MARKET'),\"placeholder\":\"Market\",\"items\":_vm.options.opportunityReport.markets,\"hide-details\":\"\",\"dense\":\"\"},on:{\"input\":function($event){return _vm.updateFilterItem('OPPORTUNITY_LOADS', 'MARKET', $event)}}})],1),_c('v-flex',{attrs:{\"xs12\":\"\",\"sm6\":\"\"}},[_c('v-autocomplete',{attrs:{\"name\":\"opportunityLoads.platts\",\"label\":\"Platts\",\"value\":_vm.getFilterItem('OPPORTUNITY_LOADS', 'PLATTS'),\"placeholder\":\"Platts\",\"items\":_vm.options.opportunityReport.platts,\"item-text\":\"shortDescription\",\"item-value\":\"code\",\"hide-details\":\"\",\"dense\":\"\"},on:{\"input\":function($event){return _vm.updateFilterItem('OPPORTUNITY_LOADS', 'PLATTS', $event)}}})],1),_c('v-flex',{staticClass:\"pb-0\",attrs:{\"xs12\":\"\"}},[_c('v-divider',{staticClass:\"mb-2\"}),_c('h2',{staticClass:\"subtitle-1\"},[_vm._v(\"Opportunity Actions\")])],1),_c('v-flex',{attrs:{\"xs12\":\"\",\"sm6\":\"\"}},[_c('v-autocomplete',{attrs:{\"name\":\"opportunityActions.date\",\"value\":_vm.getFilterItem('OPPORTUNITY_ACTIONS', 'DATE'),\"dense\":\"\",\"items\":_vm.options.opportunityReport.range,\"label\":\"Date\",\"persistent-hint\":\"\",\"suffix\":\"days\"},on:{\"input\":function($event){return _vm.updateFilterItem('OPPORTUNITY_ACTIONS', 'DATE', $event)}}})],1),_c('v-flex',{attrs:{\"xs12\":\"\",\"sm6\":\"\"}},[_c('v-autocomplete',{attrs:{\"name\":\"opportunityActions.site\",\"label\":\"Site\",\"value\":_vm.getFilterItem('OPPORTUNITY_ACTIONS', 'SITE'),\"placeholder\":\"Site\",\"items\":_vm.options.sites,\"item-text\":function (site) { return site.value ? ((site.key) + \" - \" + (site.value)) : site.key; },\"item-value\":\"key\",\"hide-details\":\"\",\"dense\":\"\"},on:{\"input\":function($event){return _vm.updateFilterItem('OPPORTUNITY_ACTIONS', 'SITE', $event)}}})],1),_c('v-flex',{attrs:{\"xs12\":\"\",\"sm6\":\"\"}},[_c('v-autocomplete',{attrs:{\"name\":\"opportunityActions.market\",\"label\":\"Market\",\"value\":_vm.getFilterItem('OPPORTUNITY_ACTIONS', 'MARKET'),\"placeholder\":\"Market\",\"items\":_vm.options.opportunityReport.markets,\"hide-details\":\"\",\"dense\":\"\"},on:{\"input\":function($event){return _vm.updateFilterItem('OPPORTUNITY_ACTIONS', 'MARKET', $event)}}})],1),_c('v-flex',{attrs:{\"xs12\":\"\",\"sm6\":\"\"}},[_c('v-autocomplete',{attrs:{\"name\":\"opportunityActions.platts\",\"label\":\"Platts\",\"value\":_vm.getFilterItem('OPPORTUNITY_ACTIONS', 'PLATTS'),\"placeholder\":\"Platts\",\"items\":_vm.options.opportunityReport.platts,\"item-text\":\"shortDescription\",\"item-value\":\"code\",\"hide-details\":\"\",\"dense\":\"\"},on:{\"input\":function($event){return _vm.updateFilterItem('OPPORTUNITY_ACTIONS', 'PLATTS', $event)}}})],1)],1)],1),_c('v-divider'),_c('v-card-actions',[_c('v-btn',{attrs:{\"color\":\"secondary\"},on:{\"click\":function($event){_vm.currentStep='A'}}},[_vm._v(\"Back\")]),_c('v-spacer'),_c('v-btn',{attrs:{\"color\":\"secondary\",\"text\":\"\",\"to\":\"/config/user-management\"}},[_vm._v(\"Cancel\")]),(!_vm.readonly)?_c('v-btn',{attrs:{\"color\":\"primary\",\"disabled\":_vm.saving},on:{\"click\":_vm.save}},[_vm._v(\"Submit\")]):_c('v-btn',{attrs:{\"color\":\"primary\",\"to\":\"/config/user-management\"}},[_vm._v(\"Close\")])],1)],1)],1)],1)],1)],1)],1)],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var __extends = (this && this.__extends) || (function () {\r\n var extendStatics = function (d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n };\r\n return function (d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n };\r\n})();\r\nvar __assign = (this && this.__assign) || function () {\r\n __assign = Object.assign || function(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\r\n t[p] = s[p];\r\n }\r\n return t;\r\n };\r\n return __assign.apply(this, arguments);\r\n};\r\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n};\r\nvar __metadata = (this && this.__metadata) || function (k, v) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\r\n};\r\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n};\r\nvar __generator = (this && this.__generator) || function (thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n};\r\nimport { Vue, Component, Watch, Mixins, } from 'vue-property-decorator';\r\nimport * as addDays from 'date-fns/add_days';\r\nimport * as format from 'date-fns/format';\r\nimport VeeValidate from 'vee-validate';\r\nVue.use(VeeValidate);\r\nimport { lazyInject } from '@/dependency-injection';\r\nimport { TYPES } from '@/dependency-injection/types';\r\nimport { ReferenceDataService } from '@/services/reference-data-service';\r\nimport { MaterialGroupService } from '@/services/material-management/material-group-service';\r\nimport { UserService } from '@/services/user-management/user-service';\r\nimport { RoleService } from '@/services/user-management/role-service';\r\nimport { CarrierService } from '@/services/carrier-management/carrier-service';\r\nimport { AsYouType, parsePhoneNumber } from 'libphonenumber-js';\r\nimport { UtilsService } from '@/services/utils-service';\r\nimport SnackbarMixin from '@/mixins/snackbar-mixin';\r\nimport PartialSaveMixin from '@/mixins/partial-save-mixin';\r\nimport LayoutMixin from '@/mixins/layout-mixin';\r\nvar ManageUser = /** @class */ (function (_super) {\r\n __extends(ManageUser, _super);\r\n function ManageUser() {\r\n var _this = _super !== null && _super.apply(this, arguments) || this;\r\n _this.internalUserTypes = [];\r\n _this.carrierUserTypes = [];\r\n _this.loading = false;\r\n _this.loadingLocos = false;\r\n _this.readonly = false;\r\n _this.saving = false;\r\n _this.allowCarrierAssociations = true;\r\n _this.requireCarrierAssociation = false;\r\n _this.userIdValidationMessage = 'User ID field can only contain alpha-numeric characters, underscores, hyphens or periods.';\r\n _this.item = {\r\n userId: '',\r\n firstName: '',\r\n lastName: '',\r\n email: '',\r\n disableEmailNotifications: false,\r\n officePhone: '',\r\n officePhoneExt: '',\r\n cellPhone: '',\r\n notes: '',\r\n userType: '',\r\n userSubType: '',\r\n locos: [],\r\n rsl: '',\r\n hasMultipleRoles: false,\r\n carriers: [],\r\n reportFilters: {\r\n voyageLoadList: {\r\n fromDate: '',\r\n toDate: '',\r\n view: '',\r\n group: '',\r\n site: '',\r\n market: '',\r\n },\r\n },\r\n filters: [],\r\n modifiedByUserId: '',\r\n carrierIds: [],\r\n carrierParentIds: [],\r\n carrierGroupIds: [],\r\n };\r\n _this.currentStep = 'U';\r\n _this.partialSaveDialogVisible = false;\r\n _this.validationRules = {};\r\n _this.options = {\r\n loadListReport: {\r\n from: [],\r\n to: [],\r\n views: [],\r\n markets: [],\r\n },\r\n opportunityReport: {\r\n range: [],\r\n types: [],\r\n carriers: [],\r\n markets: [],\r\n platts: [],\r\n },\r\n userTypes: [],\r\n userSubTypes: [],\r\n roles: [],\r\n locos: [],\r\n rsls: [],\r\n carriers: [],\r\n suppliers: [],\r\n sites: [],\r\n materialGroups: [],\r\n _carrierGroups: [],\r\n _carriers: [],\r\n _dispatchDesks: [],\r\n };\r\n _this.officePhoneNumber = new AsYouType('US');\r\n _this.officePhoneNumberExtensionEnabled = false;\r\n _this.cellPhoneNumber = new AsYouType('US');\r\n _this.originalEmail = '';\r\n _this.originalSubType = '';\r\n return _this;\r\n }\r\n ManageUser.prototype.save = function () {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var isUpdating, data, result, error_1;\r\n return __generator(this, function (_a) {\r\n switch (_a.label) {\r\n case 0:\r\n isUpdating = this.isExistingUser || this.userExistsInWAM;\r\n _a.label = 1;\r\n case 1:\r\n _a.trys.push([1, 3, 4, 5]);\r\n this.saving = true;\r\n data = __assign({}, this.item);\r\n data.officePhone =\r\n data.officePhoneExt && data.officePhoneExt.length > 0\r\n ? this.officePhoneNumber.getNationalNumber() + \"x\" + data.officePhoneExt\r\n : this.officePhoneNumber.getNationalNumber();\r\n data.cellPhone = this.cellPhoneNumber.getNationalNumber();\r\n return [4 /*yield*/, this.userService.save(data, isUpdating)];\r\n case 2:\r\n result = _a.sent();\r\n if (result.success === false) {\r\n this.showSnackbar({\r\n text: result.message,\r\n color: 'error',\r\n });\r\n return [2 /*return*/];\r\n }\r\n this.showSnackbar({\r\n text: \"Successfully \" + (isUpdating ? 'updated' : 'added') + \" '\" + this.item.userId + \"'\",\r\n color: 'success',\r\n });\r\n this.$router.push('/config/user-management');\r\n return [3 /*break*/, 5];\r\n case 3:\r\n error_1 = _a.sent();\r\n console.error(error_1);\r\n this.showSnackbar({\r\n text: \"Unable to \" + (isUpdating ? 'update' : 'create') + \" '\" + this.item.userId + \"'\",\r\n color: 'error',\r\n });\r\n return [3 /*break*/, 5];\r\n case 4:\r\n this.saving = false;\r\n return [7 /*endfinally*/];\r\n case 5: return [2 /*return*/];\r\n }\r\n });\r\n });\r\n };\r\n ManageUser.prototype.created = function () {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var _this = this;\r\n return __generator(this, function (_a) {\r\n // initialize\r\n this.validationRules = this.userService.getValidationRules();\r\n // existing users may have underscores\r\n this.$validator.localize('en', {\r\n custom: { userId: { regex: this.userIdValidationMessage } },\r\n });\r\n // check for duplicate user id\r\n this.$validator.extend('isExistingUser', {\r\n getMessage: function (field) { return field + \" is already being used\"; },\r\n validate: function (value, args) { return __awaiter(_this, void 0, void 0, function () {\r\n var existingUser;\r\n return __generator(this, function (_a) {\r\n switch (_a.label) {\r\n case 0:\r\n if (!(this.isExistingUser === false)) return [3 /*break*/, 2];\r\n return [4 /*yield*/, this.loadExistingUser(value)];\r\n case 1:\r\n existingUser = _a.sent();\r\n if (existingUser === null) {\r\n // There is no user with that ID in WAM; validation passes.\r\n return [2 /*return*/, true];\r\n }\r\n if (existingUser.hasFuelShepherd === true) {\r\n // There's already a Fuel Shepherd user with that ID; validation fails.\r\n return [2 /*return*/, false];\r\n }\r\n // There's a user with that ID in WAM, but not associated with Fuel Shepherd; validation passes.\r\n return [2 /*return*/, true];\r\n case 2: return [2 /*return*/, true];\r\n }\r\n });\r\n }); },\r\n });\r\n // check for duplicate email\r\n this.$validator.extend('isExistingEmail', {\r\n getMessage: function (field) { return field + \" is already being used\"; },\r\n validate: function (value, args) { return __awaiter(_this, void 0, void 0, function () {\r\n var isExistingEmail, isExistingEmail, isExistingEmail;\r\n return __generator(this, function (_a) {\r\n switch (_a.label) {\r\n case 0:\r\n if (!(this.isExistingUser === false)) return [3 /*break*/, 7];\r\n if (!this.userExistsInWAM) return [3 /*break*/, 4];\r\n if (!(value.toLowerCase() !== this.originalEmail.toLowerCase())) return [3 /*break*/, 2];\r\n return [4 /*yield*/, this.userService.isExistingEmail(value)];\r\n case 1:\r\n isExistingEmail = _a.sent();\r\n return [2 /*return*/, isExistingEmail === false];\r\n case 2: return [2 /*return*/, true];\r\n case 3: return [3 /*break*/, 6];\r\n case 4: return [4 /*yield*/, this.userService.isExistingEmail(value)];\r\n case 5:\r\n isExistingEmail = _a.sent();\r\n return [2 /*return*/, isExistingEmail === false];\r\n case 6: return [3 /*break*/, 10];\r\n case 7:\r\n if (!(value.toLowerCase() !== this.originalEmail.toLowerCase())) return [3 /*break*/, 9];\r\n return [4 /*yield*/, this.userService.isExistingEmail(value)];\r\n case 8:\r\n isExistingEmail = _a.sent();\r\n return [2 /*return*/, isExistingEmail === false];\r\n case 9: return [2 /*return*/, true];\r\n case 10: return [2 /*return*/];\r\n }\r\n });\r\n }); },\r\n });\r\n this.$validator.extend('phoneNumber', {\r\n getMessage: function (field) { return field + \" is not a valid phone number\"; },\r\n validate: function (value, args) {\r\n try {\r\n var phone = parsePhoneNumber(value, 'US');\r\n return phone.isValid();\r\n }\r\n catch (_a) {\r\n return false;\r\n }\r\n },\r\n });\r\n this.readonly = this.userService.canEditUsers === false;\r\n return [2 /*return*/];\r\n });\r\n });\r\n };\r\n ManageUser.prototype.mounted = function () {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var error_2;\r\n return __generator(this, function (_a) {\r\n switch (_a.label) {\r\n case 0:\r\n _a.trys.push([0, 8, 9, 10]);\r\n this.loading = true;\r\n return [4 /*yield*/, this.loadInitialReferenceData()];\r\n case 1:\r\n _a.sent();\r\n if (!(this.readonly === false)) return [3 /*break*/, 3];\r\n return [4 /*yield*/, this.loadCarriers()];\r\n case 2:\r\n _a.sent();\r\n _a.label = 3;\r\n case 3: return [4 /*yield*/, this.loadData()];\r\n case 4:\r\n _a.sent();\r\n if (!this.readonly) return [3 /*break*/, 6];\r\n return [4 /*yield*/, this.loadCarriers()];\r\n case 5:\r\n _a.sent();\r\n _a.label = 6;\r\n case 6: return [4 /*yield*/, this.lazyLoadReferenceData()];\r\n case 7:\r\n _a.sent();\r\n return [3 /*break*/, 10];\r\n case 8:\r\n error_2 = _a.sent();\r\n console.error(error_2);\r\n this.showSnackbar({ text: 'Unable to get user', color: 'error' });\r\n return [3 /*break*/, 10];\r\n case 9:\r\n this.loading = false;\r\n return [7 /*endfinally*/];\r\n case 10:\r\n this.loading = false;\r\n return [2 /*return*/];\r\n }\r\n });\r\n });\r\n };\r\n ManageUser.prototype.openPartialSave = function () {\r\n this.partialSaveDialogVisible = true;\r\n };\r\n ManageUser.prototype.partiallySaved = function () {\r\n this.showSnackbar({ text: 'User has been saved', color: 'success' });\r\n this.$router.push('/');\r\n };\r\n ManageUser.prototype.moveToStep = function (step, scope) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var result, hasLocos, _a, role, _b, role, _c;\r\n var _this = this;\r\n return __generator(this, function (_d) {\r\n switch (_d.label) {\r\n case 0:\r\n if (!(this.readonly === false)) return [3 /*break*/, 12];\r\n return [4 /*yield*/, this.$validator.validate(scope + \".*\")];\r\n case 1:\r\n result = _d.sent();\r\n // return and cancel navigation if there are validation errors\r\n if (result === false) {\r\n return [2 /*return*/];\r\n }\r\n // when the heirarchy does not match, then do not allow to edit carrier collection\r\n if (step === 'A') {\r\n if ((this.item.carrierGroupIds.length > 0 &&\r\n this.options._carrierGroups.length === 0) ||\r\n (this.item.carriers.length > 0 && this.options._carriers.length === 0)) {\r\n this.allowCarrierAssociations = false;\r\n }\r\n }\r\n if (!(step === 'RF')) return [3 /*break*/, 12];\r\n if (!(this.isSelectedSubTypeRsl(this.originalSubType) &&\r\n this.item.userSubType !== this.originalSubType)) return [3 /*break*/, 3];\r\n return [4 /*yield*/, this.userService.selectedUserIsRslWithLocos({\r\n userId: this.item.userId,\r\n userSubType: this.userService.rslType,\r\n })];\r\n case 2:\r\n hasLocos = _d.sent();\r\n if (hasLocos) {\r\n this.$validator.errors.add({\r\n scope: 'associations',\r\n field: 'userSubType',\r\n // tslint:disable-next-line:max-line-length\r\n msg: \"This user has associated Locos. You must re-assign these associated Locos to a new user before changing the User Sub-Type.\",\r\n });\r\n return [2 /*return*/];\r\n }\r\n _d.label = 3;\r\n case 3:\r\n // if carrier user type is selected they must also have at least one carrier selected\r\n if (this.item.userType === this.userService.carrierType &&\r\n this.item.carriers.length === 0) {\r\n this.requireCarrierAssociation = true;\r\n this.$validator.errors.add({\r\n scope: 'associations',\r\n field: 'carriers',\r\n // tslint:disable-next-line:max-line-length\r\n msg: \"At least one carrier must be selected for a carrier user.\",\r\n });\r\n return [2 /*return*/];\r\n }\r\n else {\r\n this.requireCarrierAssociation = false;\r\n }\r\n if (!(this.item.userId && this.item.userId !== '' && this.isExistingUser)) return [3 /*break*/, 5];\r\n _a = this.item;\r\n return [4 /*yield*/, this.referenceDataService.getAllUserFilters(this.item.userId)];\r\n case 4:\r\n _a.filters = (_d.sent()).data;\r\n return [3 /*break*/, 12];\r\n case 5:\r\n if (!this.item.userSubType) return [3 /*break*/, 11];\r\n if (!(this.item.userType === 'internal')) return [3 /*break*/, 7];\r\n role = this.internalUserTypes.find(function (o) { return o.key === _this.item.userSubType; });\r\n _b = this.item;\r\n return [4 /*yield*/, this.referenceDataService.GetInitialFilters(role.value)];\r\n case 6:\r\n _b.filters = (_d.sent()).data;\r\n return [3 /*break*/, 10];\r\n case 7:\r\n if (!(this.item.userType === 'carrier')) return [3 /*break*/, 9];\r\n this.item.filters = [];\r\n role = this.carrierUserTypes.find(function (o) { return o.key === _this.item.userSubType; });\r\n _c = this.item;\r\n return [4 /*yield*/, this.referenceDataService.GetInitialFilters(role.value)];\r\n case 8:\r\n _c.filters = (_d.sent()).data;\r\n return [3 /*break*/, 10];\r\n case 9:\r\n this.item.filters = [];\r\n _d.label = 10;\r\n case 10: return [3 /*break*/, 12];\r\n case 11:\r\n this.item.filters = [];\r\n _d.label = 12;\r\n case 12:\r\n this.currentStep = step;\r\n return [2 /*return*/];\r\n }\r\n });\r\n });\r\n };\r\n ManageUser.prototype.userTypeChanged = function (newValue, oldValue) {\r\n // clear role (user sub type) if user type changed\r\n if (oldValue !== '' && oldValue !== newValue) {\r\n this.item.userSubType = '';\r\n }\r\n // clear internal user options\r\n if (oldValue !== '' &&\r\n oldValue !== newValue &&\r\n newValue !== this.userService.internalType) {\r\n this.item.rsl = '';\r\n this.item.locos = [];\r\n }\r\n // clear carrier options\r\n if (oldValue !== '' &&\r\n oldValue !== newValue &&\r\n newValue !== this.userService.carrierType) {\r\n this.item.carrierIds = [];\r\n this.item.carrierParentIds = [];\r\n this.item.carrierGroupIds = [];\r\n this.item.carriers = [];\r\n }\r\n };\r\n ManageUser.prototype.userSubTypeChanged = function (newValue, oldValue) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var _a, error_3;\r\n return __generator(this, function (_b) {\r\n switch (_b.label) {\r\n case 0:\r\n // clear locos\r\n if (this.isRslType === false) {\r\n this.item.locos = [];\r\n }\r\n // clear selected RSL\r\n if (this.isLocoType === false) {\r\n this.item.rsl = '';\r\n }\r\n if (!(this.isRslType && this.isExistingUser)) return [3 /*break*/, 5];\r\n _b.label = 1;\r\n case 1:\r\n _b.trys.push([1, 3, 4, 5]);\r\n this.loadingLocos = true;\r\n _a = this.item;\r\n return [4 /*yield*/, this.userService.getLocos(this.item.userId)];\r\n case 2:\r\n _a.locos = _b.sent();\r\n return [3 /*break*/, 5];\r\n case 3:\r\n error_3 = _b.sent();\r\n this.item.locos = [];\r\n return [3 /*break*/, 5];\r\n case 4:\r\n this.loadingLocos = false;\r\n return [7 /*endfinally*/];\r\n case 5: return [2 /*return*/];\r\n }\r\n });\r\n });\r\n };\r\n ManageUser.prototype.loadData = function () {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var _a, parsedOfficePhoneNumberResult, parsedCellPhoneNumberResult;\r\n var _this = this;\r\n return __generator(this, function (_b) {\r\n switch (_b.label) {\r\n case 0:\r\n if (!this.isExistingUser) return [3 /*break*/, 2];\r\n if (this.currentStep === 'U') {\r\n // The \"username\" step isn't shown for existing users. Skip that step.\r\n this.currentStep = 'D';\r\n }\r\n // map data back into item\r\n _a = this;\r\n return [4 /*yield*/, this.userService.getUserById(this.$route.params.id)];\r\n case 1:\r\n // map data back into item\r\n _a.item = _b.sent();\r\n // set role for user\r\n // get internal roles\r\n this.$set(this.item, 'userType', this.internalUserTypes.filter(function (item) { return item.key === _this.item.userSubType; }).length > 0\r\n ? this.userService.internalType\r\n : this.userService.carrierType);\r\n // used for email validation\r\n this.originalEmail = this.item.email;\r\n // used for RSL/Loco validation\r\n this.originalSubType = this.item.userSubType;\r\n parsedOfficePhoneNumberResult = this.utilsService.getFormattedPhoneNumber(this.item.officePhone);\r\n if (parsedOfficePhoneNumberResult.success) {\r\n this.formattedOfficePhoneNumber =\r\n parsedOfficePhoneNumberResult.data.number;\r\n this.item.officePhoneExt = parsedOfficePhoneNumberResult.data.extension;\r\n }\r\n else {\r\n this.formattedOfficePhoneNumber = '';\r\n this.$validator.errors.add({\r\n field: 'officePhone',\r\n scope: 'details',\r\n msg: parsedOfficePhoneNumberResult.message,\r\n });\r\n }\r\n parsedCellPhoneNumberResult = this.utilsService.getFormattedPhoneNumber(this.item.cellPhone);\r\n if (parsedCellPhoneNumberResult.success) {\r\n this.formattedCellPhoneNumber = parsedCellPhoneNumberResult.data.number;\r\n }\r\n else {\r\n this.formattedCellPhoneNumber = '';\r\n this.$validator.errors.add({\r\n field: 'cellPhone',\r\n scope: 'details',\r\n msg: parsedCellPhoneNumberResult.message,\r\n });\r\n }\r\n _b.label = 2;\r\n case 2:\r\n // load the partial data back in to page\r\n if (this.isExistingUser === false && this.restoringPartialSave) {\r\n this.item = this.getDataToBeRestored();\r\n }\r\n return [2 /*return*/];\r\n }\r\n });\r\n });\r\n };\r\n ManageUser.prototype.loadInitialReferenceData = function () {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var _a, _b, _c, _d, _e;\r\n return __generator(this, function (_f) {\r\n switch (_f.label) {\r\n case 0:\r\n // get report filters defaults\r\n // tslint:disable-next-line:max-line-length\r\n _a = this.item.reportFilters;\r\n return [4 /*yield*/, this.referenceDataService.get('/reportfilters/getvoyageloadlistdefaults')];\r\n case 1:\r\n // get report filters defaults\r\n // tslint:disable-next-line:max-line-length\r\n _a.voyageLoadList = _f.sent();\r\n // tslint:disable-next-line:max-line-length\r\n // get user type options\r\n _b = this.options;\r\n return [4 /*yield*/, this.roleService.getTypes()];\r\n case 2:\r\n // tslint:disable-next-line:max-line-length\r\n // get user type options\r\n _b.userTypes = _f.sent();\r\n _c = this;\r\n return [4 /*yield*/, this.roleService.getSubTypes(this.userService.internalType)];\r\n case 3:\r\n _c.internalUserTypes = _f.sent();\r\n _d = this;\r\n return [4 /*yield*/, this.roleService.getSubTypes(this.userService.carrierType)];\r\n case 4:\r\n _d.carrierUserTypes = _f.sent();\r\n // get rsls\r\n _e = this.options;\r\n return [4 /*yield*/, this.userService.getRsls()];\r\n case 5:\r\n // get rsls\r\n _e.rsls = _f.sent();\r\n return [2 /*return*/];\r\n }\r\n });\r\n });\r\n };\r\n ManageUser.prototype.lazyLoadReferenceData = function () {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var _a, _b, _c, _d, _e, markets, referenceDataResponse, _f;\r\n return __generator(this, function (_g) {\r\n switch (_g.label) {\r\n case 0:\r\n // get sites\r\n _a = this.options;\r\n return [4 /*yield*/, this.referenceDataService.get('/site/getsites')];\r\n case 1:\r\n // get sites\r\n _a.sites = _g.sent();\r\n _b = this.options;\r\n return [4 /*yield*/, this.materialGroupService.getAllRef(true)];\r\n case 2:\r\n _b.materialGroups = (_g.sent()).data;\r\n _c = this.options.loadListReport;\r\n return [4 /*yield*/, this.referenceDataService.get('/loadlistreport/getfromdates')];\r\n case 3:\r\n _c.from = _g.sent();\r\n _d = this.options.loadListReport;\r\n return [4 /*yield*/, this.referenceDataService.get('/loadlistreport/gettodates')];\r\n case 4:\r\n _d.to = _g.sent();\r\n _e = this.options.loadListReport;\r\n return [4 /*yield*/, this.referenceDataService.get('/loadlistreport/getviews')];\r\n case 5:\r\n _e.views = _g.sent();\r\n return [4 /*yield*/, this.referenceDataService.get('/site/getmarkets')];\r\n case 6:\r\n markets = _g.sent();\r\n this.options.loadListReport.markets = markets;\r\n this.options.opportunityReport.markets = markets;\r\n return [4 /*yield*/, this.referenceDataService.getModulesByRequest({\r\n modules: [\r\n 'OPPORTUNITY_STATUS', 'PLATTS',\r\n ], includeDeleted: false,\r\n })];\r\n case 7:\r\n referenceDataResponse = _g.sent();\r\n this.options.opportunityReport.types = referenceDataResponse.success\r\n ? referenceDataResponse.data.filter(function (item) { return item.module === 'OPPORTUNITY_STATUS'; })\r\n : [];\r\n this.options.opportunityReport.platts = referenceDataResponse.success\r\n ? referenceDataResponse.data.filter(function (item) { return item.module === 'PLATTS'; })\r\n : [];\r\n this.options.opportunityReport.platts.unshift({ shortDescription: 'ALL', code: '' });\r\n _f = this.options.opportunityReport;\r\n return [4 /*yield*/, this.referenceDataService.get('/opportunityreport/getdaterange')];\r\n case 8:\r\n _f.range = _g.sent();\r\n return [2 /*return*/];\r\n }\r\n });\r\n });\r\n };\r\n ManageUser.prototype.loadCarriers = function () {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var dispatchDesks, carriers, carrierGroups, carriersNotInGroup, desksNotInParent, allCarrier;\r\n var _this = this;\r\n return __generator(this, function (_a) {\r\n switch (_a.label) {\r\n case 0: return [4 /*yield*/, this.referenceDataService.get('/carrier/getdispatchdesks')];\r\n case 1:\r\n dispatchDesks = _a.sent();\r\n return [4 /*yield*/, this.referenceDataService.get('/carrier/getcarriers')];\r\n case 2:\r\n carriers = _a.sent();\r\n return [4 /*yield*/, this.referenceDataService.get('/carrier/getcarriergroups')];\r\n case 3:\r\n carrierGroups = _a.sent();\r\n this.options._dispatchDesks = dispatchDesks;\r\n this.options._carriers = carriers;\r\n this.options._carrierGroups = carrierGroups;\r\n this.options.carriers = [];\r\n // get carrier information\r\n // build tree of carrier groups\r\n this.options.carriers = carrierGroups\r\n .filter(function (item) {\r\n return _this.readonly === false ||\r\n _this.item.carrierGroupIds.includes(item.id);\r\n })\r\n .map(function (group) {\r\n return ({\r\n id: \"\" + _this.carrierService.carrierGroupPrefix + group.id,\r\n name: group.name,\r\n children: carriers\r\n .filter(function (carrier) {\r\n return carrier.groupId === group.id &&\r\n (_this.readonly === false ||\r\n _this.item.carrierParentIds.includes(carrier.id));\r\n })\r\n .map(function (carrier) { return ({\r\n id: \"\" + _this.carrierService.carrierPrefix + carrier.id,\r\n name: carrier.name,\r\n children: dispatchDesks\r\n .filter(function (desk) {\r\n return desk.parentId === carrier.id &&\r\n (_this.readonly === false ||\r\n _this.item.carrierIds.includes(desk.id));\r\n })\r\n .map(function (desk) { return ({\r\n id: \"\" + _this.carrierService.dispatchDeskPrefix + desk.id,\r\n name: desk.name,\r\n }); }),\r\n }); }),\r\n });\r\n });\r\n carriersNotInGroup = carriers.filter(function (c) {\r\n return c.groupId &&\r\n carrierGroups.map(function (cg) { return cg.id; }).includes(c.groupId) === false;\r\n });\r\n // add any carriers (where we don't have access to the group)\r\n this.options.carriers = this.options.carriers.concat(carriersNotInGroup.map(function (carrier) {\r\n return ({\r\n id: \"\" + _this.carrierService.carrierPrefix + carrier.id,\r\n name: carrier.name,\r\n children: dispatchDesks\r\n .filter(function (desk) {\r\n return desk.parentId === carrier.id &&\r\n (_this.readonly === false ||\r\n _this.item.carrierIds.includes(desk.id));\r\n })\r\n .map(function (desk) { return ({\r\n id: \"\" + _this.carrierService.dispatchDeskPrefix + desk.id,\r\n name: desk.name,\r\n }); }),\r\n });\r\n }));\r\n desksNotInParent = dispatchDesks.filter(function (d) {\r\n return d.parentId && carriers.map(function (c) { return c.id; }).includes(d.parentId) === false;\r\n });\r\n // add any desks (where we don't have access to parents)\r\n this.options.carriers = this.options.carriers.concat(desksNotInParent.map(function (desk) {\r\n return ({\r\n id: \"\" + _this.carrierService.dispatchDeskPrefix + desk.id,\r\n name: desk.name,\r\n });\r\n }));\r\n // add carriers not associated with carrier group\r\n if (carriers.filter(function (item) { return !item.groupId; }).length > 0) {\r\n this.options.carriers.push({\r\n id: 'G_0',\r\n name: 'Others',\r\n children: carriers\r\n .filter(function (carrier) {\r\n return !carrier.groupId &&\r\n (_this.readonly === false ||\r\n _this.item.carrierParentIds.includes(carrier.id));\r\n })\r\n .map(function (carrier) { return ({\r\n id: \"\" + _this.carrierService.carrierPrefix + carrier.id,\r\n name: carrier.name,\r\n children: dispatchDesks\r\n .filter(function (desk) {\r\n return desk.parentId === carrier.id &&\r\n (_this.readonly === false ||\r\n _this.item.carrierIds.includes(desk.id));\r\n })\r\n .map(function (desk) { return ({\r\n id: \"\" + _this.carrierService.dispatchDeskPrefix + desk.id,\r\n name: desk.name,\r\n }); }),\r\n }); }),\r\n });\r\n }\r\n allCarrier = [{ key: '', value: 'ALL' }];\r\n this.options.opportunityReport.carriers = allCarrier.concat(dispatchDesks.map(function (item) { return ({ key: item.id, value: item.name }); }));\r\n return [2 /*return*/];\r\n }\r\n });\r\n });\r\n };\r\n ManageUser.prototype.isSelectedSubTypeRsl = function (type) {\r\n var _this = this;\r\n return ((this.internalUserTypes || []).filter(function (item) {\r\n return item.value.toLowerCase() === _this.userService.rslType &&\r\n item.key === type;\r\n }).length > 0);\r\n };\r\n Object.defineProperty(ManageUser.prototype, \"userSubTypes\", {\r\n get: function () {\r\n return this.item.userType === this.userService.internalType\r\n ? this.internalUserTypes\r\n : this.carrierUserTypes;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(ManageUser.prototype, \"voyageListFromDisplayText\", {\r\n get: function () {\r\n return this.getFormattedDateForHintText(this.item.reportFilters\r\n .voyageLoadList.fromDate);\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(ManageUser.prototype, \"voyageListToDisplayText\", {\r\n get: function () {\r\n return this.getFormattedDateForHintText(this.item.reportFilters\r\n .voyageLoadList.toDate);\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(ManageUser.prototype, \"isLocoType\", {\r\n get: function () {\r\n var _this = this;\r\n return ((this.internalUserTypes || []).filter(function (item) {\r\n return item.value.toLowerCase() === _this.userService.locoType &&\r\n item.key === _this.item.userSubType;\r\n }).length > 0);\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(ManageUser.prototype, \"isRslType\", {\r\n get: function () {\r\n var _this = this;\r\n return ((this.internalUserTypes || []).filter(function (item) {\r\n return item.value.toLowerCase() === _this.userService.rslType &&\r\n item.key === _this.item.userSubType;\r\n }).length > 0);\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(ManageUser.prototype, \"isExistingUser\", {\r\n get: function () {\r\n return (this.$route.params &&\r\n this.$route.params.id &&\r\n this.$route.params.id !== '0');\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(ManageUser.prototype, \"formattedOfficePhoneNumber\", {\r\n get: function () {\r\n return this.item.officePhone;\r\n },\r\n set: function (newValue) {\r\n var _this = this;\r\n try {\r\n this.officePhoneNumber.reset();\r\n this.item.officePhone = this.officePhoneNumber.input(newValue);\r\n if (this.officePhoneNumber.getNationalNumber() === '') {\r\n // set the office phone to the original input for validation\r\n this.item.officePhone = newValue;\r\n // clear office phone extension input, invalidated\r\n this.$nextTick(function () {\r\n _this.invalidateOfficePhoneExtension();\r\n });\r\n }\r\n else if (this.officePhoneNumber.getNumber() &&\r\n this.officePhoneNumber.getNumber().isValid() === false) {\r\n // clear office phone extension input, invalidated\r\n this.$nextTick(function () {\r\n _this.invalidateOfficePhoneExtension();\r\n });\r\n }\r\n else {\r\n this.officePhoneNumberExtensionEnabled = true;\r\n }\r\n }\r\n catch (error) {\r\n this.item.officePhone = newValue;\r\n }\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(ManageUser.prototype, \"formattedCellPhoneNumber\", {\r\n get: function () {\r\n return this.item.cellPhone;\r\n },\r\n set: function (newValue) {\r\n try {\r\n this.cellPhoneNumber.reset();\r\n this.item.cellPhone = this.cellPhoneNumber.input(newValue);\r\n if (this.cellPhoneNumber.getNationalNumber() === '') {\r\n // set the cell phone to the original input for validation\r\n this.item.cellPhone = newValue;\r\n }\r\n }\r\n catch (error) {\r\n this.item.cellPhone = newValue;\r\n }\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n ManageUser.prototype.getFormattedDateForHintText = function (daysDifference, offset) {\r\n if (offset === void 0) { offset = 0; }\r\n return \"e.g. \" + format(addDays(new Date(), +daysDifference + offset), 'ddd MMMM Do, YYYY');\r\n };\r\n ManageUser.prototype.invalidateOfficePhoneExtension = function () {\r\n this.item.officePhoneExt = '';\r\n this.officePhoneNumberExtensionEnabled = false;\r\n };\r\n ManageUser.prototype.findMatchingFilter = function (module, component) {\r\n if (this.item.filters) {\r\n return this.item.filters.find(function (o) { return o.component === component && o.module === module; });\r\n }\r\n };\r\n ManageUser.prototype.getFilterItem = function (module, component) {\r\n var matchingItem = this.findMatchingFilter(module, component);\r\n return matchingItem && matchingItem.value\r\n ? matchingItem.value\r\n : '';\r\n };\r\n ManageUser.prototype.updateFilterItem = function (module, component, value) {\r\n var matchingItem = this.findMatchingFilter(module, component);\r\n if (matchingItem) {\r\n matchingItem.value = value;\r\n }\r\n };\r\n ManageUser.prototype.getFilterItemArray = function (module, component) {\r\n var matchingItem = this.findMatchingFilter(module, component);\r\n return matchingItem && matchingItem.value\r\n ? matchingItem.value.split('|')\r\n : [];\r\n };\r\n ManageUser.prototype.updateFilterItemArray = function (module, component, value) {\r\n var matchingItem = this.findMatchingFilter(module, component);\r\n if (matchingItem) {\r\n matchingItem.value = value.join('|');\r\n }\r\n };\r\n ManageUser.prototype.loadExistingUser = function (userId) {\r\n return __awaiter(this, void 0, Promise, function () {\r\n var existingUser;\r\n return __generator(this, function (_a) {\r\n switch (_a.label) {\r\n case 0: return [4 /*yield*/, this.userService.getUserById_AnyApplication(userId)];\r\n case 1:\r\n existingUser = _a.sent();\r\n this.userExistsInWAM = existingUser !== null;\r\n if ((existingUser !== null) && (existingUser.hasFuelShepherd === false)) {\r\n // User exists in WAM but not in Fuel Shepherd.\r\n // Fill in UI with details on that user.\r\n this.originalEmail = existingUser.email;\r\n this.item.firstName = existingUser.firstName;\r\n this.item.lastName = existingUser.lastName;\r\n this.item.email = existingUser.email;\r\n this.item.officePhone = existingUser.phone;\r\n this.item.officePhoneExt = '';\r\n }\r\n return [2 /*return*/, existingUser];\r\n }\r\n });\r\n });\r\n };\r\n var _a, _b, _c, _d, _e, _f;\r\n __decorate([\r\n lazyInject(TYPES.ReferenceDataService),\r\n __metadata(\"design:type\", typeof (_a = typeof ReferenceDataService !== \"undefined\" && ReferenceDataService) === \"function\" ? _a : Object)\r\n ], ManageUser.prototype, \"referenceDataService\", void 0);\r\n __decorate([\r\n lazyInject(TYPES.UserService),\r\n __metadata(\"design:type\", typeof (_b = typeof UserService !== \"undefined\" && UserService) === \"function\" ? _b : Object)\r\n ], ManageUser.prototype, \"userService\", void 0);\r\n __decorate([\r\n lazyInject(TYPES.RoleService),\r\n __metadata(\"design:type\", typeof (_c = typeof RoleService !== \"undefined\" && RoleService) === \"function\" ? _c : Object)\r\n ], ManageUser.prototype, \"roleService\", void 0);\r\n __decorate([\r\n lazyInject(TYPES.CarrierService),\r\n __metadata(\"design:type\", typeof (_d = typeof CarrierService !== \"undefined\" && CarrierService) === \"function\" ? _d : Object)\r\n ], ManageUser.prototype, \"carrierService\", void 0);\r\n __decorate([\r\n lazyInject(TYPES.UtilsService),\r\n __metadata(\"design:type\", typeof (_e = typeof UtilsService !== \"undefined\" && UtilsService) === \"function\" ? _e : Object)\r\n ], ManageUser.prototype, \"utilsService\", void 0);\r\n __decorate([\r\n lazyInject(TYPES.MaterialGroupService),\r\n __metadata(\"design:type\", typeof (_f = typeof MaterialGroupService !== \"undefined\" && MaterialGroupService) === \"function\" ? _f : Object)\r\n ], ManageUser.prototype, \"materialGroupService\", void 0);\r\n __decorate([\r\n Watch('item.userType', { immediate: false }),\r\n __metadata(\"design:type\", Function),\r\n __metadata(\"design:paramtypes\", [Object, Object]),\r\n __metadata(\"design:returntype\", void 0)\r\n ], ManageUser.prototype, \"userTypeChanged\", null);\r\n __decorate([\r\n Watch('item.userSubType', { immediate: false }),\r\n __metadata(\"design:type\", Function),\r\n __metadata(\"design:paramtypes\", [Object, Object]),\r\n __metadata(\"design:returntype\", Promise)\r\n ], ManageUser.prototype, \"userSubTypeChanged\", null);\r\n ManageUser = __decorate([\r\n Component({\r\n $_veeValidate: { validator: 'new' },\r\n })\r\n ], ManageUser);\r\n return ManageUser;\r\n}(Mixins(LayoutMixin, SnackbarMixin, PartialSaveMixin)));\r\nexport default ManageUser;\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--12-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AddEditUser.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--12-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AddEditUser.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./AddEditUser.vue?vue&type=template&id=2e67f29c&lang=pug\"\nimport script from \"./AddEditUser.vue?vue&type=script&lang=ts\"\nexport * from \"./AddEditUser.vue?vue&type=script&lang=ts\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VAlert } from 'vuetify/lib/components/VAlert';\nimport { VAutocomplete } from 'vuetify/lib/components/VAutocomplete';\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardActions } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VCheckbox } from 'vuetify/lib/components/VCheckbox';\nimport { VChip } from 'vuetify/lib/components/VChip';\nimport { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VDialog } from 'vuetify/lib/components/VDialog';\nimport { VDivider } from 'vuetify/lib/components/VDivider';\nimport { VFlex } from 'vuetify/lib/components/VGrid';\nimport { VForm } from 'vuetify/lib/components/VForm';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VLayout } from 'vuetify/lib/components/VGrid';\nimport { VProgressLinear } from 'vuetify/lib/components/VProgressLinear';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\nimport { VStepper } from 'vuetify/lib/components/VStepper';\nimport { VStepperContent } from 'vuetify/lib/components/VStepper';\nimport { VStepperHeader } from 'vuetify/lib/components/VStepper';\nimport { VStepperItems } from 'vuetify/lib/components/VStepper';\nimport { VStepperStep } from 'vuetify/lib/components/VStepper';\nimport { VTextField } from 'vuetify/lib/components/VTextField';\nimport { VTextarea } from 'vuetify/lib/components/VTextarea';\nimport { VToolbar } from 'vuetify/lib/components/VToolbar';\nimport { VToolbarTitle } from 'vuetify/lib/components/VToolbar';\nimport { VTooltip } from 'vuetify/lib/components/VTooltip';\nimport { VTreeview } from 'vuetify/lib/components/VTreeview';\ninstallComponents(component, {VAlert,VAutocomplete,VBtn,VCard,VCardActions,VCardText,VCheckbox,VChip,VContainer,VDialog,VDivider,VFlex,VForm,VIcon,VLayout,VProgressLinear,VSpacer,VStepper,VStepperContent,VStepperHeader,VStepperItems,VStepperStep,VTextField,VTextarea,VToolbar,VToolbarTitle,VTooltip,VTreeview})\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","// Styles\nimport './VCheckbox.sass'\nimport '../../styles/components/_selection-controls.sass'\n\n// Components\nimport VIcon from '../VIcon'\nimport VInput from '../VInput'\n\n// Mixins\nimport Selectable from '../../mixins/selectable'\n\n/* @vue/component */\nexport default Selectable.extend({\n name: 'v-checkbox',\n\n props: {\n indeterminate: Boolean,\n indeterminateIcon: {\n type: String,\n default: '$checkboxIndeterminate',\n },\n offIcon: {\n type: String,\n default: '$checkboxOff',\n },\n onIcon: {\n type: String,\n default: '$checkboxOn',\n },\n },\n\n data () {\n return {\n inputIndeterminate: this.indeterminate,\n }\n },\n\n computed: {\n classes (): object {\n return {\n ...VInput.options.computed.classes.call(this),\n 'v-input--selection-controls': true,\n 'v-input--checkbox': true,\n 'v-input--indeterminate': this.inputIndeterminate,\n }\n },\n computedIcon (): string {\n if (this.inputIndeterminate) {\n return this.indeterminateIcon\n } else if (this.isActive) {\n return this.onIcon\n } else {\n return this.offIcon\n }\n },\n // Do not return undefined if disabled,\n // according to spec, should still show\n // a color when disabled and active\n validationState (): string | undefined {\n if (this.isDisabled && !this.inputIndeterminate) return undefined\n if (this.hasError && this.shouldValidate) return 'error'\n if (this.hasSuccess) return 'success'\n if (this.hasColor !== null) return this.computedColor\n return undefined\n },\n },\n\n watch: {\n indeterminate (val) {\n // https://github.com/vuetifyjs/vuetify/issues/8270\n this.$nextTick(() => (this.inputIndeterminate = val))\n },\n inputIndeterminate (val) {\n this.$emit('update:indeterminate', val)\n },\n isActive () {\n if (!this.indeterminate) return\n this.inputIndeterminate = false\n },\n },\n\n methods: {\n genCheckbox () {\n const { title, ...checkboxAttrs } = this.attrs$\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.dense,\n dark: this.dark,\n light: this.light,\n },\n }), this.computedIcon),\n this.genInput('checkbox', {\n ...checkboxAttrs,\n 'aria-checked': this.inputIndeterminate\n ? 'mixed'\n : this.isActive.toString(),\n }),\n this.genRipple(this.setTextColor(this.rippleState)),\n ])\n },\n genDefaultSlot () {\n return [\n this.genCheckbox(),\n this.genLabel(),\n ]\n },\n },\n})\n","import VBtn from './VBtn'\n\nexport { VBtn }\nexport default VBtn\n","var __extends = (this && this.__extends) || (function () {\r\n var extendStatics = function (d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n };\r\n return function (d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n };\r\n})();\r\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n};\r\nvar __metadata = (this && this.__metadata) || function (k, v) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\r\n};\r\nimport { Vue, Component, Prop, Watch } from 'vue-property-decorator';\r\nimport { useStore } from 'vuex-simple';\r\nimport { ValidationProvider } from 'vee-validate';\r\nvar ValidatedFieldMixin = /** @class */ (function (_super) {\r\n __extends(ValidatedFieldMixin, _super);\r\n function ValidatedFieldMixin() {\r\n var _this = _super !== null && _super.apply(this, arguments) || this;\r\n _this.store = useStore(_this.$store);\r\n _this.innerValue = '';\r\n return _this;\r\n }\r\n ValidatedFieldMixin.prototype.created = function () {\r\n if (this.value) {\r\n this.innerValue = this.value;\r\n }\r\n };\r\n /**\r\n * Handles internal model changes\r\n */\r\n ValidatedFieldMixin.prototype.onInnerValueChanged = function (val, oldVal) {\r\n this.$emit('input', val);\r\n };\r\n /**\r\n * Handles external model changes\r\n */\r\n ValidatedFieldMixin.prototype.onValueChanged = function (val, oldVal) {\r\n this.innerValue = this.value;\r\n };\r\n Object.defineProperty(ValidatedFieldMixin.prototype, \"displayLabel\", {\r\n get: function () {\r\n return this.fieldValidationRules.required && this.internalReadonly === false\r\n ? this.label + \"*\"\r\n : this.label;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(ValidatedFieldMixin.prototype, \"showDisplayHint\", {\r\n get: function () {\r\n // hide if in read only mode\r\n if (this.internalReadonly) {\r\n return false;\r\n }\r\n // show if specifically added\r\n if (this.showDetails) {\r\n return true;\r\n }\r\n // show if text or validation rule\r\n if (this.displayHint.length > 0 || (this.fieldValidationRules && this.fieldValidationRules.max)) {\r\n return true;\r\n }\r\n return false;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(ValidatedFieldMixin.prototype, \"displayHint\", {\r\n get: function () {\r\n if (this.hint && this.hint.length > 0) {\r\n return this.hint;\r\n }\r\n else if (this.fieldValidationRules.required) {\r\n return '*Required';\r\n }\r\n else {\r\n return '';\r\n }\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(ValidatedFieldMixin.prototype, \"placedholderText\", {\r\n get: function () {\r\n return this.placeholder && this.placeholder.length > 0\r\n ? this.placeholder\r\n : this.label;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(ValidatedFieldMixin.prototype, \"hideDetails\", {\r\n get: function () {\r\n return this.showDisplayHint === false;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(ValidatedFieldMixin.prototype, \"fieldValidationRules\", {\r\n get: function () {\r\n return (this.validationRules ||\r\n this.store.managementPage.validationRules[this.name] ||\r\n {});\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(ValidatedFieldMixin.prototype, \"internalReadonly\", {\r\n get: function () {\r\n return this.readonly || this.store.managementPage.readonly;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n __decorate([\r\n Prop({ type: null, required: true }),\r\n __metadata(\"design:type\", String)\r\n ], ValidatedFieldMixin.prototype, \"value\", void 0);\r\n __decorate([\r\n Prop({ type: String, required: true }),\r\n __metadata(\"design:type\", String)\r\n ], ValidatedFieldMixin.prototype, \"name\", void 0);\r\n __decorate([\r\n Prop({ type: String, required: true }),\r\n __metadata(\"design:type\", String)\r\n ], ValidatedFieldMixin.prototype, \"label\", void 0);\r\n __decorate([\r\n Prop({ type: String }),\r\n __metadata(\"design:type\", String)\r\n ], ValidatedFieldMixin.prototype, \"placeholder\", void 0);\r\n __decorate([\r\n Prop({ type: String }),\r\n __metadata(\"design:type\", String)\r\n ], ValidatedFieldMixin.prototype, \"hint\", void 0);\r\n __decorate([\r\n Prop({ type: Boolean }),\r\n __metadata(\"design:type\", Boolean)\r\n ], ValidatedFieldMixin.prototype, \"readonly\", void 0);\r\n __decorate([\r\n Prop({ type: Boolean, required: false, default: false }),\r\n __metadata(\"design:type\", Boolean)\r\n ], ValidatedFieldMixin.prototype, \"readonlyOverride\", void 0);\r\n __decorate([\r\n Prop({ type: Object }),\r\n __metadata(\"design:type\", Object)\r\n ], ValidatedFieldMixin.prototype, \"validationRules\", void 0);\r\n __decorate([\r\n Prop({ type: Boolean }),\r\n __metadata(\"design:type\", Boolean)\r\n ], ValidatedFieldMixin.prototype, \"showDetails\", void 0);\r\n __decorate([\r\n Watch('innerValue', { immediate: true, deep: false }),\r\n __metadata(\"design:type\", Function),\r\n __metadata(\"design:paramtypes\", [Object, Object]),\r\n __metadata(\"design:returntype\", void 0)\r\n ], ValidatedFieldMixin.prototype, \"onInnerValueChanged\", null);\r\n __decorate([\r\n Watch('value', { immediate: true, deep: false }),\r\n __metadata(\"design:type\", Function),\r\n __metadata(\"design:paramtypes\", [Object, Object]),\r\n __metadata(\"design:returntype\", void 0)\r\n ], ValidatedFieldMixin.prototype, \"onValueChanged\", null);\r\n ValidatedFieldMixin = __decorate([\r\n Component({\r\n components: {\r\n 'validation-provider': ValidationProvider,\r\n },\r\n })\r\n ], ValidatedFieldMixin);\r\n return ValidatedFieldMixin;\r\n}(Vue));\r\nexport default ValidatedFieldMixin;\r\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 allowOverflow: {\n type: Boolean,\n default: true,\n },\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.$refs.input && this.$refs.input.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 this.setMenuIndex(-1)\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 this.setMenuIndex(0)\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 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","function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nvar AsYouTypeState =\n/*#__PURE__*/\nfunction () {\n function AsYouTypeState(_ref) {\n var _this = this;\n\n var onCountryChange = _ref.onCountryChange,\n onCallingCodeChange = _ref.onCallingCodeChange;\n\n _classCallCheck(this, AsYouTypeState);\n\n _defineProperty(this, \"update\", function (properties) {\n for (var _i = 0, _Object$keys = Object.keys(properties); _i < _Object$keys.length; _i++) {\n var key = _Object$keys[_i];\n _this[key] = properties[key];\n }\n });\n\n this.onCountryChange = onCountryChange;\n this.onCallingCodeChange = onCallingCodeChange;\n }\n\n _createClass(AsYouTypeState, [{\n key: \"reset\",\n value: function reset(defaultCountry, defaultCallingCode) {\n this.international = false;\n this.IDDPrefix = undefined;\n this.missingPlus = undefined;\n this.callingCode = undefined;\n this.digits = '';\n this.resetNationalSignificantNumber();\n this.initCountryAndCallingCode(defaultCountry, defaultCallingCode);\n }\n }, {\n key: \"resetNationalSignificantNumber\",\n value: function resetNationalSignificantNumber() {\n this.nationalSignificantNumber = this.getNationalDigits();\n this.nationalSignificantNumberMatchesInput = true;\n this.nationalPrefix = undefined;\n this.carrierCode = undefined;\n this.complexPrefixBeforeNationalSignificantNumber = undefined;\n }\n }, {\n key: \"initCountryAndCallingCode\",\n value: function initCountryAndCallingCode(country, callingCode) {\n this.setCountry(country);\n this.setCallingCode(callingCode);\n }\n }, {\n key: \"setCountry\",\n value: function setCountry(country) {\n this.country = country;\n this.onCountryChange(country);\n }\n }, {\n key: \"setCallingCode\",\n value: function setCallingCode(callingCode) {\n this.callingCode = callingCode;\n return this.onCallingCodeChange(this.country, callingCode);\n }\n }, {\n key: \"startInternationalNumber\",\n value: function startInternationalNumber() {\n // Prepend the `+` to parsed input.\n this.international = true; // If a default country was set then reset it\n // because an explicitly international phone\n // number is being entered.\n\n this.initCountryAndCallingCode();\n }\n }, {\n key: \"appendDigits\",\n value: function appendDigits(nextDigits) {\n this.digits += nextDigits;\n }\n }, {\n key: \"appendNationalSignificantNumberDigits\",\n value: function appendNationalSignificantNumberDigits(nextDigits) {\n this.nationalSignificantNumber += nextDigits;\n }\n /**\r\n * Returns the part of `this.digits` that corresponds to the national number.\r\n * Basically, all digits that have been input by the user, except for the\r\n * international prefix and the country calling code part\r\n * (if the number is an international one).\r\n * @return {string}\r\n */\n\n }, {\n key: \"getNationalDigits\",\n value: function getNationalDigits() {\n if (this.international) {\n return this.digits.slice((this.IDDPrefix ? this.IDDPrefix.length : 0) + (this.callingCode ? this.callingCode.length : 0));\n }\n\n return this.digits;\n }\n }, {\n key: \"getDigitsWithoutInternationalPrefix\",\n value: function getDigitsWithoutInternationalPrefix() {\n if (this.international) {\n if (this.IDDPrefix) {\n return this.digits.slice(this.IDDPrefix.length);\n }\n }\n\n return this.digits;\n }\n }]);\n\n return AsYouTypeState;\n}();\n\nexport { AsYouTypeState as default };\n//# sourceMappingURL=AsYouTypeState.js.map","// Should be the same as `DIGIT_PLACEHOLDER` in `libphonenumber-metadata-generator`.\nexport var DIGIT_PLACEHOLDER = 'x'; // '\\u2008' (punctuation space)\n\nvar DIGIT_PLACEHOLDER_MATCHER = new RegExp(DIGIT_PLACEHOLDER); // Counts all occurences of a symbol in a string.\n// Unicode-unsafe (because using `.split()`).\n\nexport function countOccurences(symbol, string) {\n var count = 0; // Using `.split('')` to iterate through a string here\n // to avoid requiring `Symbol.iterator` polyfill.\n // `.split('')` is generally not safe for Unicode,\n // but in this particular case for counting brackets it is safe.\n // for (const character of string)\n\n for (var _iterator = string.split(''), _isArray = Array.isArray(_iterator), _i = 0, _iterator = _isArray ? _iterator : _iterator[Symbol.iterator]();;) {\n var _ref;\n\n if (_isArray) {\n if (_i >= _iterator.length) break;\n _ref = _iterator[_i++];\n } else {\n _i = _iterator.next();\n if (_i.done) break;\n _ref = _i.value;\n }\n\n var character = _ref;\n\n if (character === symbol) {\n count++;\n }\n }\n\n return count;\n} // Repeats a string (or a symbol) N times.\n// http://stackoverflow.com/questions/202605/repeat-string-javascript\n\nexport function repeat(string, times) {\n if (times < 1) {\n return '';\n }\n\n var result = '';\n\n while (times > 1) {\n if (times & 1) {\n result += string;\n }\n\n times >>= 1;\n string += string;\n }\n\n return result + string;\n}\nexport function cutAndStripNonPairedParens(string, cutBeforeIndex) {\n if (string[cutBeforeIndex] === ')') {\n cutBeforeIndex++;\n }\n\n return stripNonPairedParens(string.slice(0, cutBeforeIndex));\n}\nexport function closeNonPairedParens(template, cut_before) {\n var retained_template = template.slice(0, cut_before);\n var opening_braces = countOccurences('(', retained_template);\n var closing_braces = countOccurences(')', retained_template);\n var dangling_braces = opening_braces - closing_braces;\n\n while (dangling_braces > 0 && cut_before < template.length) {\n if (template[cut_before] === ')') {\n dangling_braces--;\n }\n\n cut_before++;\n }\n\n return template.slice(0, cut_before);\n}\nexport function stripNonPairedParens(string) {\n var dangling_braces = [];\n var i = 0;\n\n while (i < string.length) {\n if (string[i] === '(') {\n dangling_braces.push(i);\n } else if (string[i] === ')') {\n dangling_braces.pop();\n }\n\n i++;\n }\n\n var start = 0;\n var cleared_string = '';\n dangling_braces.push(string.length);\n\n for (var _i2 = 0, _dangling_braces = dangling_braces; _i2 < _dangling_braces.length; _i2++) {\n var index = _dangling_braces[_i2];\n cleared_string += string.slice(start, index);\n start = index + 1;\n }\n\n return cleared_string;\n}\nexport function populateTemplateWithDigits(template, position, digits) {\n // Using `.split('')` to iterate through a string here\n // to avoid requiring `Symbol.iterator` polyfill.\n // `.split('')` is generally not safe for Unicode,\n // but in this particular case for `digits` it is safe.\n // for (const digit of digits)\n for (var _iterator2 = digits.split(''), _isArray2 = Array.isArray(_iterator2), _i3 = 0, _iterator2 = _isArray2 ? _iterator2 : _iterator2[Symbol.iterator]();;) {\n var _ref2;\n\n if (_isArray2) {\n if (_i3 >= _iterator2.length) break;\n _ref2 = _iterator2[_i3++];\n } else {\n _i3 = _iterator2.next();\n if (_i3.done) break;\n _ref2 = _i3.value;\n }\n\n var digit = _ref2;\n\n // If there is room for more digits in current `template`,\n // then set the next digit in the `template`,\n // and return the formatted digits so far.\n // If more digits are entered than the current format could handle.\n if (template.slice(position + 1).search(DIGIT_PLACEHOLDER_MATCHER) < 0) {\n return;\n }\n\n position = template.search(DIGIT_PLACEHOLDER_MATCHER);\n template = template.replace(DIGIT_PLACEHOLDER_MATCHER, digit);\n }\n\n return [template, position];\n}\n//# sourceMappingURL=AsYouTypeFormatter.util.js.map","import checkNumberLength from './helpers/checkNumberLength';\nimport parseDigits from './helpers/parseDigits';\nimport formatNationalNumberUsingFormat from './helpers/formatNationalNumberUsingFormat';\nexport default function formatCompleteNumber(state, format, _ref) {\n var metadata = _ref.metadata,\n shouldTryNationalPrefixFormattingRule = _ref.shouldTryNationalPrefixFormattingRule,\n getSeparatorAfterNationalPrefix = _ref.getSeparatorAfterNationalPrefix;\n var matcher = new RegExp(\"^(?:\".concat(format.pattern(), \")$\"));\n\n if (matcher.test(state.nationalSignificantNumber)) {\n return formatNationalNumberWithAndWithoutNationalPrefixFormattingRule(state, format, {\n metadata: metadata,\n shouldTryNationalPrefixFormattingRule: shouldTryNationalPrefixFormattingRule,\n getSeparatorAfterNationalPrefix: getSeparatorAfterNationalPrefix\n });\n }\n}\nexport function canFormatCompleteNumber(nationalSignificantNumber, metadata) {\n return checkNumberLength(nationalSignificantNumber, metadata) === 'IS_POSSIBLE';\n}\n\nfunction formatNationalNumberWithAndWithoutNationalPrefixFormattingRule(state, format, _ref2) {\n var metadata = _ref2.metadata,\n shouldTryNationalPrefixFormattingRule = _ref2.shouldTryNationalPrefixFormattingRule,\n getSeparatorAfterNationalPrefix = _ref2.getSeparatorAfterNationalPrefix;\n // `format` has already been checked for `nationalPrefix` requirement.\n var nationalSignificantNumber = state.nationalSignificantNumber,\n international = state.international,\n nationalPrefix = state.nationalPrefix,\n carrierCode = state.carrierCode; // Format the number with using `national_prefix_formatting_rule`.\n // If the resulting formatted number is a valid formatted number, then return it.\n //\n // Google's AsYouType formatter is different in a way that it doesn't try\n // to format using the \"national prefix formatting rule\", and instead it\n // simply prepends a national prefix followed by a \" \" character.\n // This code does that too, but as a fallback.\n // The reason is that \"national prefix formatting rule\" may use parentheses,\n // which wouldn't be included has it used the simpler Google's way.\n //\n\n if (shouldTryNationalPrefixFormattingRule(format)) {\n var formattedNumber = formatNationalNumber(state, format, {\n useNationalPrefixFormattingRule: true,\n getSeparatorAfterNationalPrefix: getSeparatorAfterNationalPrefix,\n metadata: metadata\n });\n\n if (formattedNumber) {\n return formattedNumber;\n }\n } // Format the number without using `national_prefix_formatting_rule`.\n\n\n return formatNationalNumber(state, format, {\n useNationalPrefixFormattingRule: false,\n getSeparatorAfterNationalPrefix: getSeparatorAfterNationalPrefix,\n metadata: metadata\n });\n}\n\nfunction formatNationalNumber(state, format, _ref3) {\n var metadata = _ref3.metadata,\n useNationalPrefixFormattingRule = _ref3.useNationalPrefixFormattingRule,\n getSeparatorAfterNationalPrefix = _ref3.getSeparatorAfterNationalPrefix;\n var formattedNationalNumber = formatNationalNumberUsingFormat(state.nationalSignificantNumber, format, {\n carrierCode: state.carrierCode,\n useInternationalFormat: state.international,\n withNationalPrefix: useNationalPrefixFormattingRule,\n metadata: metadata\n });\n\n if (!useNationalPrefixFormattingRule) {\n if (state.nationalPrefix) {\n // If a national prefix was extracted, then just prepend it,\n // followed by a \" \" character.\n formattedNationalNumber = state.nationalPrefix + getSeparatorAfterNationalPrefix(format) + formattedNationalNumber;\n } else if (state.complexPrefixBeforeNationalSignificantNumber) {\n formattedNationalNumber = state.complexPrefixBeforeNationalSignificantNumber + ' ' + formattedNationalNumber;\n }\n }\n\n if (isValidFormattedNationalNumber(formattedNationalNumber, state)) {\n return formattedNationalNumber;\n }\n} // Check that the formatted phone number contains exactly\n// the same digits that have been input by the user.\n// For example, when \"0111523456789\" is input for `AR` country,\n// the extracted `this.nationalSignificantNumber` is \"91123456789\",\n// which means that the national part of `this.digits` isn't simply equal to\n// `this.nationalPrefix` + `this.nationalSignificantNumber`.\n//\n// Also, a `format` can add extra digits to the `this.nationalSignificantNumber`\n// being formatted via `metadata[country].national_prefix_transform_rule`.\n// For example, for `VI` country, it prepends `340` to the national number,\n// and if this check hasn't been implemented, then there would be a bug\n// when `340` \"area coude\" is \"duplicated\" during input for `VI` country:\n// https://github.com/catamphetamine/libphonenumber-js/issues/318\n//\n// So, all these \"gotchas\" are filtered out.\n//\n// In the original Google's code, the comments say:\n// \"Check that we didn't remove nor add any extra digits when we matched\n// this formatting pattern. This usually happens after we entered the last\n// digit during AYTF. Eg: In case of MX, we swallow mobile token (1) when\n// formatted but AYTF should retain all the number entered and not change\n// in order to match a format (of same leading digits and length) display\n// in that way.\"\n// \"If it's the same (i.e entered number and format is same), then it's\n// safe to return this in formatted number as nothing is lost / added.\"\n// Otherwise, don't use this format.\n// https://github.com/google/libphonenumber/commit/3e7c1f04f5e7200f87fb131e6f85c6e99d60f510#diff-9149457fa9f5d608a11bb975c6ef4bc5\n// https://github.com/google/libphonenumber/commit/3ac88c7106e7dcb553bcc794b15f19185928a1c6#diff-2dcb77e833422ee304da348b905cde0b\n//\n\n\nfunction isValidFormattedNationalNumber(formattedNationalNumber, state) {\n return parseDigits(formattedNationalNumber) === state.getNationalDigits();\n}\n//# sourceMappingURL=AsYouTypeFormatter.complete.js.map","function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { DIGIT_PLACEHOLDER, countOccurences, repeat, cutAndStripNonPairedParens, closeNonPairedParens, stripNonPairedParens, populateTemplateWithDigits } from './AsYouTypeFormatter.util';\nimport formatCompleteNumber, { canFormatCompleteNumber } from './AsYouTypeFormatter.complete';\nimport parseDigits from './helpers/parseDigits';\nexport { DIGIT_PLACEHOLDER } from './AsYouTypeFormatter.util';\nimport { FIRST_GROUP_PATTERN } from './helpers/formatNationalNumberUsingFormat';\nimport { VALID_PUNCTUATION } from './constants';\nimport applyInternationalSeparatorStyle from './helpers/applyInternationalSeparatorStyle'; // Used in phone number format template creation.\n// Could be any digit, I guess.\n\nvar DUMMY_DIGIT = '9'; // I don't know why is it exactly `15`\n\nvar LONGEST_NATIONAL_PHONE_NUMBER_LENGTH = 15; // Create a phone number consisting only of the digit 9 that matches the\n// `number_pattern` by applying the pattern to the \"longest phone number\" string.\n\nvar LONGEST_DUMMY_PHONE_NUMBER = repeat(DUMMY_DIGIT, LONGEST_NATIONAL_PHONE_NUMBER_LENGTH); // A set of characters that, if found in a national prefix formatting rules, are an indicator to\n// us that we should separate the national prefix from the number when formatting.\n\nvar NATIONAL_PREFIX_SEPARATORS_PATTERN = /[- ]/; // Deprecated: Google has removed some formatting pattern related code from their repo.\n// https://github.com/googlei18n/libphonenumber/commit/a395b4fef3caf57c4bc5f082e1152a4d2bd0ba4c\n// \"We no longer have numbers in formatting matching patterns, only \\d.\"\n// Because this library supports generating custom metadata\n// some users may still be using old metadata so the relevant\n// code seems to stay until some next major version update.\n\nvar SUPPORT_LEGACY_FORMATTING_PATTERNS = true; // A pattern that is used to match character classes in regular expressions.\n// An example of a character class is \"[1-4]\".\n\nvar CREATE_CHARACTER_CLASS_PATTERN = SUPPORT_LEGACY_FORMATTING_PATTERNS && function () {\n return /\\[([^\\[\\]])*\\]/g;\n}; // Any digit in a regular expression that actually denotes a digit. For\n// example, in the regular expression \"80[0-2]\\d{6,10}\", the first 2 digits\n// (8 and 0) are standalone digits, but the rest are not.\n// Two look-aheads are needed because the number following \\\\d could be a\n// two-digit number, since the phone number can be as long as 15 digits.\n\n\nvar CREATE_STANDALONE_DIGIT_PATTERN = SUPPORT_LEGACY_FORMATTING_PATTERNS && function () {\n return /\\d(?=[^,}][^,}])/g;\n}; // A regular expression that is used to determine if a `format` is\n// suitable to be used in the \"as you type formatter\".\n// A `format` is suitable when the resulting formatted number has\n// the same digits as the user has entered.\n//\n// In the simplest case, that would mean that the format\n// doesn't add any additional digits when formatting a number.\n// Google says that it also shouldn't add \"star\" (`*`) characters,\n// like it does in some Israeli formats.\n// Such basic format would only contain \"valid punctuation\"\n// and \"captured group\" identifiers ($1, $2, etc).\n//\n// An example of a format that adds additional digits:\n//\n// Country: `AR` (Argentina).\n// Format:\n// {\n// \"pattern\": \"(\\\\d)(\\\\d{2})(\\\\d{4})(\\\\d{4})\",\n// \"leading_digits_patterns\": [\"91\"],\n// \"national_prefix_formatting_rule\": \"0$1\",\n// \"format\": \"$2 15-$3-$4\",\n// \"international_format\": \"$1 $2 $3-$4\"\n// }\n//\n// In the format above, the `format` adds `15` to the digits when formatting a number.\n// A sidenote: this format actually is suitable because `national_prefix_for_parsing`\n// has previously removed `15` from a national number, so re-adding `15` in `format`\n// doesn't actually result in any extra digits added to user's input.\n// But verifying that would be a complex procedure, so the code chooses a simpler path:\n// it simply filters out all `format`s that contain anything but \"captured group\" ids.\n//\n// This regular expression is called `ELIGIBLE_FORMAT_PATTERN` in Google's\n// `libphonenumber` code.\n//\n\n\nvar NON_ALTERING_FORMAT_REG_EXP = new RegExp('^' + '[' + VALID_PUNCTUATION + ']*' + '(\\\\$\\\\d[' + VALID_PUNCTUATION + ']*)+' + '$'); // This is the minimum length of the leading digits of a phone number\n// to guarantee the first \"leading digits pattern\" for a phone number format\n// to be preemptive.\n\nvar MIN_LEADING_DIGITS_LENGTH = 3;\n\nvar AsYouTypeFormatter =\n/*#__PURE__*/\nfunction () {\n function AsYouTypeFormatter(_ref) {\n var _this = this;\n\n var state = _ref.state,\n metadata = _ref.metadata;\n\n _classCallCheck(this, AsYouTypeFormatter);\n\n _defineProperty(this, \"getSeparatorAfterNationalPrefix\", function (format) {\n // `US` metadata doesn't have a `national_prefix_formatting_rule`,\n // so the `if` condition below doesn't apply to `US`,\n // but in reality there shoudl be a separator\n // between a national prefix and a national (significant) number.\n // So `US` national prefix separator is a \"special\" \"hardcoded\" case.\n if (_this.isNANP) {\n return ' ';\n } // If a `format` has a `national_prefix_formatting_rule`\n // and that rule has a separator after a national prefix,\n // then it means that there should be a separator\n // between a national prefix and a national (significant) number.\n\n\n if (format && format.nationalPrefixFormattingRule() && NATIONAL_PREFIX_SEPARATORS_PATTERN.test(format.nationalPrefixFormattingRule())) {\n return ' ';\n } // At this point, there seems to be no clear evidence that\n // there should be a separator between a national prefix\n // and a national (significant) number. So don't insert one.\n\n\n return '';\n });\n\n _defineProperty(this, \"shouldTryNationalPrefixFormattingRule\", function (format, _ref2) {\n var international = _ref2.international,\n nationalPrefix = _ref2.nationalPrefix;\n\n if (format.nationalPrefixFormattingRule()) {\n // In some countries, `national_prefix_formatting_rule` is `($1)`,\n // so it applies even if the user hasn't input a national prefix.\n // `format.usesNationalPrefix()` detects such cases.\n var usesNationalPrefix = format.usesNationalPrefix();\n\n if (usesNationalPrefix && nationalPrefix || !usesNationalPrefix && !international) {\n return true;\n }\n }\n });\n\n this.metadata = metadata;\n this.resetFormat();\n }\n\n _createClass(AsYouTypeFormatter, [{\n key: \"resetFormat\",\n value: function resetFormat() {\n this.chosenFormat = undefined;\n this.template = undefined;\n this.nationalNumberTemplate = undefined;\n this.populatedNationalNumberTemplate = undefined;\n this.populatedNationalNumberTemplatePosition = -1;\n }\n }, {\n key: \"reset\",\n value: function reset(numberingPlan, state) {\n this.resetFormat();\n\n if (numberingPlan) {\n this.isNANP = numberingPlan.callingCode() === '1';\n this.matchingFormats = numberingPlan.formats();\n\n if (state.nationalSignificantNumber) {\n this.narrowDownMatchingFormats(state);\n }\n } else {\n this.isNANP = undefined;\n this.matchingFormats = [];\n }\n }\n }, {\n key: \"format\",\n value: function format(nextDigits, state) {\n var _this2 = this;\n\n // See if the phone number digits can be formatted as a complete phone number.\n // If not, use the results from `formatNationalNumberWithNextDigits()`,\n // which formats based on the chosen formatting pattern.\n //\n // Attempting to format complete phone number first is how it's done\n // in Google's `libphonenumber`, so this library just follows it.\n // Google's `libphonenumber` code doesn't explain in detail why does it\n // attempt to format digits as a complete phone number\n // instead of just going with a previoulsy (or newly) chosen `format`:\n //\n // \"Checks to see if there is an exact pattern match for these digits.\n // If so, we should use this instead of any other formatting template\n // whose leadingDigitsPattern also matches the input.\"\n //\n if (canFormatCompleteNumber(state.nationalSignificantNumber, this.metadata)) {\n for (var _iterator = this.matchingFormats, _isArray = Array.isArray(_iterator), _i = 0, _iterator = _isArray ? _iterator : _iterator[Symbol.iterator]();;) {\n var _ref3;\n\n if (_isArray) {\n if (_i >= _iterator.length) break;\n _ref3 = _iterator[_i++];\n } else {\n _i = _iterator.next();\n if (_i.done) break;\n _ref3 = _i.value;\n }\n\n var format = _ref3;\n var formattedCompleteNumber = formatCompleteNumber(state, format, {\n metadata: this.metadata,\n shouldTryNationalPrefixFormattingRule: function shouldTryNationalPrefixFormattingRule(format) {\n return _this2.shouldTryNationalPrefixFormattingRule(format, {\n international: state.international,\n nationalPrefix: state.nationalPrefix\n });\n },\n getSeparatorAfterNationalPrefix: this.getSeparatorAfterNationalPrefix\n });\n\n if (formattedCompleteNumber) {\n this.resetFormat();\n this.chosenFormat = format;\n this.setNationalNumberTemplate(formattedCompleteNumber.replace(/\\d/g, DIGIT_PLACEHOLDER), state);\n this.populatedNationalNumberTemplate = formattedCompleteNumber; // With a new formatting template, the matched position\n // using the old template needs to be reset.\n\n this.populatedNationalNumberTemplatePosition = this.template.lastIndexOf(DIGIT_PLACEHOLDER);\n return formattedCompleteNumber;\n }\n }\n } // Format the digits as a partial (incomplete) phone number\n // using the previously chosen formatting pattern (or a newly chosen one).\n\n\n return this.formatNationalNumberWithNextDigits(nextDigits, state);\n } // Formats the next phone number digits.\n\n }, {\n key: \"formatNationalNumberWithNextDigits\",\n value: function formatNationalNumberWithNextDigits(nextDigits, state) {\n var previouslyChosenFormat = this.chosenFormat; // Choose a format from the list of matching ones.\n\n var newlyChosenFormat = this.chooseFormat(state);\n\n if (newlyChosenFormat) {\n if (newlyChosenFormat === previouslyChosenFormat) {\n // If it can format the next (current) digits\n // using the previously chosen phone number format\n // then return the updated formatted number.\n return this.formatNextNationalNumberDigits(nextDigits);\n } else {\n // If a more appropriate phone number format\n // has been chosen for these \"leading digits\",\n // then re-format the national phone number part\n // using the newly selected format.\n return this.formatNextNationalNumberDigits(state.getNationalDigits());\n }\n }\n }\n }, {\n key: \"narrowDownMatchingFormats\",\n value: function narrowDownMatchingFormats(_ref4) {\n var _this3 = this;\n\n var nationalSignificantNumber = _ref4.nationalSignificantNumber,\n nationalPrefix = _ref4.nationalPrefix,\n international = _ref4.international;\n var leadingDigits = nationalSignificantNumber; // \"leading digits\" pattern list starts with a\n // \"leading digits\" pattern fitting a maximum of 3 leading digits.\n // So, after a user inputs 3 digits of a national (significant) phone number\n // this national (significant) number can already be formatted.\n // The next \"leading digits\" pattern is for 4 leading digits max,\n // and the \"leading digits\" pattern after it is for 5 leading digits max, etc.\n // This implementation is different from Google's\n // in that it searches for a fitting format\n // even if the user has entered less than\n // `MIN_LEADING_DIGITS_LENGTH` digits of a national number.\n // Because some leading digit patterns already match for a single first digit.\n\n var leadingDigitsPatternIndex = leadingDigits.length - MIN_LEADING_DIGITS_LENGTH;\n\n if (leadingDigitsPatternIndex < 0) {\n leadingDigitsPatternIndex = 0;\n }\n\n this.matchingFormats = this.matchingFormats.filter(function (format) {\n return _this3.formatSuits(format, international, nationalPrefix) && _this3.formatMatches(format, leadingDigits, leadingDigitsPatternIndex);\n }); // If there was a phone number format chosen\n // and it no longer holds given the new leading digits then reset it.\n // The test for this `if` condition is marked as:\n // \"Reset a chosen format when it no longer holds given the new leading digits\".\n // To construct a valid test case for this one can find a country\n // in `PhoneNumberMetadata.xml` yielding one format for 3 ``\n // and yielding another format for 4 `` (Australia in this case).\n\n if (this.chosenFormat && this.matchingFormats.indexOf(this.chosenFormat) === -1) {\n this.resetFormat();\n }\n }\n }, {\n key: \"formatSuits\",\n value: function formatSuits(format, international, nationalPrefix) {\n // When a prefix before a national (significant) number is\n // simply a national prefix, then it's parsed as `this.nationalPrefix`.\n // In more complex cases, a prefix before national (significant) number\n // could include a national prefix as well as some \"capturing groups\",\n // and in that case there's no info whether a national prefix has been parsed.\n // If national prefix is not used when formatting a phone number\n // using this format, but a national prefix has been entered by the user,\n // and was extracted, then discard such phone number format.\n // In Google's \"AsYouType\" formatter code, the equivalent would be this part:\n // https://github.com/google/libphonenumber/blob/0a45cfd96e71cad8edb0e162a70fcc8bd9728933/java/libphonenumber/src/com/google/i18n/phonenumbers/AsYouTypeFormatter.java#L175-L184\n if (nationalPrefix && !format.usesNationalPrefix() && // !format.domesticCarrierCodeFormattingRule() &&\n !format.nationalPrefixIsOptionalWhenFormattingInNationalFormat()) {\n return false;\n } // If national prefix is mandatory for this phone number format\n // and there're no guarantees that a national prefix is present in user input\n // then discard this phone number format as not suitable.\n // In Google's \"AsYouType\" formatter code, the equivalent would be this part:\n // https://github.com/google/libphonenumber/blob/0a45cfd96e71cad8edb0e162a70fcc8bd9728933/java/libphonenumber/src/com/google/i18n/phonenumbers/AsYouTypeFormatter.java#L185-L193\n\n\n if (!international && !nationalPrefix && format.nationalPrefixIsMandatoryWhenFormattingInNationalFormat()) {\n return false;\n }\n\n return true;\n }\n }, {\n key: \"formatMatches\",\n value: function formatMatches(format, leadingDigits, leadingDigitsPatternIndex) {\n var leadingDigitsPatternsCount = format.leadingDigitsPatterns().length; // If this format is not restricted to a certain\n // leading digits pattern then it fits.\n\n if (leadingDigitsPatternsCount === 0) {\n return true;\n } // Start excluding any non-matching formats only when the\n // national number entered so far is at least 3 digits long,\n // otherwise format matching would give false negatives.\n // For example, when the digits entered so far are `2`\n // and the leading digits pattern is `21` –\n // it's quite obvious in this case that the format could be the one\n // but due to the absence of further digits it would give false negative.\n\n\n if (leadingDigits.length < MIN_LEADING_DIGITS_LENGTH) {\n return true;\n } // If at least `MIN_LEADING_DIGITS_LENGTH` digits of a national number are available\n // then format matching starts narrowing down the list of possible formats\n // (only previously matched formats are considered for next digits).\n\n\n leadingDigitsPatternIndex = Math.min(leadingDigitsPatternIndex, leadingDigitsPatternsCount - 1);\n var leadingDigitsPattern = format.leadingDigitsPatterns()[leadingDigitsPatternIndex]; // Brackets are required for `^` to be applied to\n // all or-ed (`|`) parts, not just the first one.\n\n return new RegExp(\"^(\".concat(leadingDigitsPattern, \")\")).test(leadingDigits);\n }\n }, {\n key: \"getFormatFormat\",\n value: function getFormatFormat(format, international) {\n return international ? format.internationalFormat() : format.format();\n }\n }, {\n key: \"chooseFormat\",\n value: function chooseFormat(state) {\n var _this4 = this;\n\n var _loop2 = function _loop2() {\n if (_isArray2) {\n if (_i2 >= _iterator2.length) return \"break\";\n _ref5 = _iterator2[_i2++];\n } else {\n _i2 = _iterator2.next();\n if (_i2.done) return \"break\";\n _ref5 = _i2.value;\n }\n\n var format = _ref5;\n\n // If this format is currently being used\n // and is still suitable, then stick to it.\n if (_this4.chosenFormat === format) {\n return \"break\";\n } // Sometimes, a formatting rule inserts additional digits in a phone number,\n // and \"as you type\" formatter can't do that: it should only use the digits\n // that the user has input.\n //\n // For example, in Argentina, there's a format for mobile phone numbers:\n //\n // {\n // \"pattern\": \"(\\\\d)(\\\\d{2})(\\\\d{4})(\\\\d{4})\",\n // \"leading_digits_patterns\": [\"91\"],\n // \"national_prefix_formatting_rule\": \"0$1\",\n // \"format\": \"$2 15-$3-$4\",\n // \"international_format\": \"$1 $2 $3-$4\"\n // }\n //\n // In that format, `international_format` is used instead of `format`\n // because `format` inserts `15` in the formatted number,\n // and `AsYouType` formatter should only use the digits\n // the user has actually input, without adding any extra digits.\n // In this case, it wouldn't make a difference, because the `15`\n // is first stripped when applying `national_prefix_for_parsing`\n // and then re-added when using `format`, so in reality it doesn't\n // add any new digits to the number, but to detect that, the code\n // would have to be more complex: it would have to try formatting\n // the digits using the format and then see if any digits have\n // actually been added or removed, and then, every time a new digit\n // is input, it should re-check whether the chosen format doesn't\n // alter the digits.\n //\n // Google's code doesn't go that far, and so does this library:\n // it simply requires that a `format` doesn't add any additonal\n // digits to user's input.\n //\n // Also, people in general should move from inputting phone numbers\n // in national format (possibly with national prefixes)\n // and use international phone number format instead:\n // it's a logical thing in the modern age of mobile phones,\n // globalization and the internet.\n //\n\n /* istanbul ignore if */\n\n\n if (!NON_ALTERING_FORMAT_REG_EXP.test(_this4.getFormatFormat(format, state.international))) {\n return \"continue\";\n }\n\n if (!_this4.createTemplateForFormat(format, state)) {\n // Remove the format if it can't generate a template.\n _this4.matchingFormats = _this4.matchingFormats.filter(function (_) {\n return _ !== format;\n });\n return \"continue\";\n }\n\n _this4.chosenFormat = format;\n return \"break\";\n };\n\n // When there are multiple available formats, the formatter uses the first\n // format where a formatting template could be created.\n _loop: for (var _iterator2 = this.matchingFormats.slice(), _isArray2 = Array.isArray(_iterator2), _i2 = 0, _iterator2 = _isArray2 ? _iterator2 : _iterator2[Symbol.iterator]();;) {\n var _ref5;\n\n var _ret = _loop2();\n\n switch (_ret) {\n case \"break\":\n break _loop;\n\n case \"continue\":\n continue;\n }\n }\n\n if (!this.chosenFormat) {\n // No format matches the national (significant) phone number.\n this.resetFormat();\n }\n\n return this.chosenFormat;\n }\n }, {\n key: \"createTemplateForFormat\",\n value: function createTemplateForFormat(format, state) {\n // The formatter doesn't format numbers when numberPattern contains '|', e.g.\n // (20|3)\\d{4}. In those cases we quickly return.\n // (Though there's no such format in current metadata)\n\n /* istanbul ignore if */\n if (SUPPORT_LEGACY_FORMATTING_PATTERNS && format.pattern().indexOf('|') >= 0) {\n return;\n } // Get formatting template for this phone number format\n\n\n var template = this.getTemplateForFormat(format, state); // If the national number entered is too long\n // for any phone number format, then abort.\n\n if (template) {\n this.setNationalNumberTemplate(template, state);\n return true;\n }\n }\n }, {\n key: \"getInternationalPrefixBeforeCountryCallingCode\",\n value: function getInternationalPrefixBeforeCountryCallingCode(_ref6, options) {\n var IDDPrefix = _ref6.IDDPrefix,\n missingPlus = _ref6.missingPlus;\n\n if (IDDPrefix) {\n return options && options.spacing === false ? IDDPrefix : IDDPrefix + ' ';\n }\n\n if (missingPlus) {\n return '';\n }\n\n return '+';\n }\n }, {\n key: \"getTemplate\",\n value: function getTemplate(state) {\n if (!this.template) {\n return;\n } // `this.template` holds the template for a \"complete\" phone number.\n // The currently entered phone number is most likely not \"complete\",\n // so trim all non-populated digits.\n\n\n var index = -1;\n var i = 0;\n var internationalPrefix = state.international ? this.getInternationalPrefixBeforeCountryCallingCode(state, {\n spacing: false\n }) : '';\n\n while (i < internationalPrefix.length + state.getDigitsWithoutInternationalPrefix().length) {\n index = this.template.indexOf(DIGIT_PLACEHOLDER, index + 1);\n i++;\n }\n\n return cutAndStripNonPairedParens(this.template, index + 1);\n }\n }, {\n key: \"setNationalNumberTemplate\",\n value: function setNationalNumberTemplate(template, state) {\n this.nationalNumberTemplate = template;\n this.populatedNationalNumberTemplate = template; // With a new formatting template, the matched position\n // using the old template needs to be reset.\n\n this.populatedNationalNumberTemplatePosition = -1; // For convenience, the public `.template` property\n // contains the whole international number\n // if the phone number being input is international:\n // 'x' for the '+' sign, 'x'es for the country phone code,\n // a spacebar and then the template for the formatted national number.\n\n if (state.international) {\n this.template = this.getInternationalPrefixBeforeCountryCallingCode(state).replace(/[\\d\\+]/g, DIGIT_PLACEHOLDER) + repeat(DIGIT_PLACEHOLDER, state.callingCode.length) + ' ' + template;\n } else {\n this.template = template;\n }\n }\n /**\r\n * Generates formatting template for a national phone number,\r\n * optionally containing a national prefix, for a format.\r\n * @param {Format} format\r\n * @param {string} nationalPrefix\r\n * @return {string}\r\n */\n\n }, {\n key: \"getTemplateForFormat\",\n value: function getTemplateForFormat(format, _ref7) {\n var nationalSignificantNumber = _ref7.nationalSignificantNumber,\n international = _ref7.international,\n nationalPrefix = _ref7.nationalPrefix,\n complexPrefixBeforeNationalSignificantNumber = _ref7.complexPrefixBeforeNationalSignificantNumber;\n var pattern = format.pattern();\n /* istanbul ignore else */\n\n if (SUPPORT_LEGACY_FORMATTING_PATTERNS) {\n pattern = pattern // Replace anything in the form of [..] with \\d\n .replace(CREATE_CHARACTER_CLASS_PATTERN(), '\\\\d') // Replace any standalone digit (not the one in `{}`) with \\d\n .replace(CREATE_STANDALONE_DIGIT_PATTERN(), '\\\\d');\n } // Generate a dummy national number (consisting of `9`s)\n // that fits this format's `pattern`.\n //\n // This match will always succeed,\n // because the \"longest dummy phone number\"\n // has enough length to accomodate any possible\n // national phone number format pattern.\n //\n\n\n var digits = LONGEST_DUMMY_PHONE_NUMBER.match(pattern)[0]; // If the national number entered is too long\n // for any phone number format, then abort.\n\n if (nationalSignificantNumber.length > digits.length) {\n return;\n } // Get a formatting template which can be used to efficiently format\n // a partial number where digits are added one by one.\n // Below `strictPattern` is used for the\n // regular expression (with `^` and `$`).\n // This wasn't originally in Google's `libphonenumber`\n // and I guess they don't really need it\n // because they're not using \"templates\" to format phone numbers\n // but I added `strictPattern` after encountering\n // South Korean phone number formatting bug.\n //\n // Non-strict regular expression bug demonstration:\n //\n // this.nationalSignificantNumber : `111111111` (9 digits)\n //\n // pattern : (\\d{2})(\\d{3,4})(\\d{4})\n // format : `$1 $2 $3`\n // digits : `9999999999` (10 digits)\n //\n // '9999999999'.replace(new RegExp(/(\\d{2})(\\d{3,4})(\\d{4})/g), '$1 $2 $3') = \"99 9999 9999\"\n //\n // template : xx xxxx xxxx\n //\n // But the correct template in this case is `xx xxx xxxx`.\n // The template was generated incorrectly because of the\n // `{3,4}` variability in the `pattern`.\n //\n // The fix is, if `this.nationalSignificantNumber` has already sufficient length\n // to satisfy the `pattern` completely then `this.nationalSignificantNumber`\n // is used instead of `digits`.\n\n\n var strictPattern = new RegExp('^' + pattern + '$');\n var nationalNumberDummyDigits = nationalSignificantNumber.replace(/\\d/g, DUMMY_DIGIT); // If `this.nationalSignificantNumber` has already sufficient length\n // to satisfy the `pattern` completely then use it\n // instead of `digits`.\n\n if (strictPattern.test(nationalNumberDummyDigits)) {\n digits = nationalNumberDummyDigits;\n }\n\n var numberFormat = this.getFormatFormat(format, international);\n var nationalPrefixIncludedInTemplate; // If a user did input a national prefix (and that's guaranteed),\n // and if a `format` does have a national prefix formatting rule,\n // then see if that national prefix formatting rule\n // prepends exactly the same national prefix the user has input.\n // If that's the case, then use the `format` with the national prefix formatting rule.\n // Otherwise, use the `format` without the national prefix formatting rule,\n // and prepend a national prefix manually to it.\n\n if (this.shouldTryNationalPrefixFormattingRule(format, {\n international: international,\n nationalPrefix: nationalPrefix\n })) {\n var numberFormatWithNationalPrefix = numberFormat.replace(FIRST_GROUP_PATTERN, format.nationalPrefixFormattingRule()); // If `national_prefix_formatting_rule` of a `format` simply prepends\n // national prefix at the start of a national (significant) number,\n // then such formatting can be used with `AsYouType` formatter.\n // There seems to be no `else` case: everywhere in metadata,\n // national prefix formatting rule is national prefix + $1,\n // or `($1)`, in which case such format isn't even considered\n // when the user has input a national prefix.\n\n /* istanbul ignore else */\n\n if (parseDigits(format.nationalPrefixFormattingRule()) === (nationalPrefix || '') + parseDigits('$1')) {\n numberFormat = numberFormatWithNationalPrefix;\n nationalPrefixIncludedInTemplate = true; // Replace all digits of the national prefix in the formatting template\n // with `DIGIT_PLACEHOLDER`s.\n\n if (nationalPrefix) {\n var i = nationalPrefix.length;\n\n while (i > 0) {\n numberFormat = numberFormat.replace(/\\d/, DIGIT_PLACEHOLDER);\n i--;\n }\n }\n }\n } // Generate formatting template for this phone number format.\n\n\n var template = digits // Format the dummy phone number according to the format.\n .replace(new RegExp(pattern), numberFormat) // Replace each dummy digit with a DIGIT_PLACEHOLDER.\n .replace(new RegExp(DUMMY_DIGIT, 'g'), DIGIT_PLACEHOLDER); // If a prefix of a national (significant) number is not as simple\n // as just a basic national prefix, then just prepend such prefix\n // before the national (significant) number, optionally spacing\n // the two with a whitespace.\n\n if (!nationalPrefixIncludedInTemplate) {\n if (complexPrefixBeforeNationalSignificantNumber) {\n // Prepend the prefix to the template manually.\n template = repeat(DIGIT_PLACEHOLDER, complexPrefixBeforeNationalSignificantNumber.length) + ' ' + template;\n } else if (nationalPrefix) {\n // Prepend national prefix to the template manually.\n template = repeat(DIGIT_PLACEHOLDER, nationalPrefix.length) + this.getSeparatorAfterNationalPrefix(format) + template;\n }\n }\n\n if (international) {\n template = applyInternationalSeparatorStyle(template);\n }\n\n return template;\n }\n }, {\n key: \"formatNextNationalNumberDigits\",\n value: function formatNextNationalNumberDigits(digits) {\n var result = populateTemplateWithDigits(this.populatedNationalNumberTemplate, this.populatedNationalNumberTemplatePosition, digits);\n\n if (!result) {\n // Reset the format.\n this.resetFormat();\n return;\n }\n\n this.populatedNationalNumberTemplate = result[0];\n this.populatedNationalNumberTemplatePosition = result[1]; // Return the formatted phone number so far.\n\n return cutAndStripNonPairedParens(this.populatedNationalNumberTemplate, this.populatedNationalNumberTemplatePosition + 1); // The old way which was good for `input-format` but is not so good\n // for `react-phone-number-input`'s default input (`InputBasic`).\n // return closeNonPairedParens(this.populatedNationalNumberTemplate, this.populatedNationalNumberTemplatePosition + 1)\n // \t.replace(new RegExp(DIGIT_PLACEHOLDER, 'g'), ' ')\n }\n }]);\n\n return AsYouTypeFormatter;\n}();\n\nexport { AsYouTypeFormatter as default };\n//# sourceMappingURL=AsYouTypeFormatter.js.map","function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); }\n\nfunction _iterableToArrayLimit(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nimport _extractCountryCallingCode from './helpers/extractCountryCallingCode';\nimport extractCountryCallingCodeFromInternationalNumberWithoutPlusSign from './helpers/extractCountryCallingCodeFromInternationalNumberWithoutPlusSign';\nimport extractNationalNumberFromPossiblyIncompleteNumber from './helpers/extractNationalNumberFromPossiblyIncompleteNumber';\nimport stripIddPrefix from './helpers/stripIddPrefix';\nimport parseDigits from './helpers/parseDigits';\nimport { VALID_DIGITS, VALID_PUNCTUATION, PLUS_CHARS } from './constants';\nvar VALID_FORMATTED_PHONE_NUMBER_DIGITS_PART = '[' + VALID_PUNCTUATION + VALID_DIGITS + ']+';\nvar VALID_FORMATTED_PHONE_NUMBER_DIGITS_PART_PATTERN = new RegExp('^' + VALID_FORMATTED_PHONE_NUMBER_DIGITS_PART + '$', 'i');\nvar VALID_FORMATTED_PHONE_NUMBER_PART = '(?:' + '[' + PLUS_CHARS + ']' + '[' + VALID_PUNCTUATION + VALID_DIGITS + ']*' + '|' + '[' + VALID_PUNCTUATION + VALID_DIGITS + ']+' + ')';\nvar AFTER_PHONE_NUMBER_DIGITS_END_PATTERN = new RegExp('[^' + VALID_PUNCTUATION + VALID_DIGITS + ']+' + '.*' + '$'); // Tests whether `national_prefix_for_parsing` could match\n// different national prefixes.\n// Matches anything that's not a digit or a square bracket.\n\nvar COMPLEX_NATIONAL_PREFIX = /[^\\d\\[\\]]/;\n\nvar AsYouTypeParser =\n/*#__PURE__*/\nfunction () {\n function AsYouTypeParser(_ref) {\n var defaultCountry = _ref.defaultCountry,\n defaultCallingCode = _ref.defaultCallingCode,\n metadata = _ref.metadata,\n onNationalSignificantNumberChange = _ref.onNationalSignificantNumberChange;\n\n _classCallCheck(this, AsYouTypeParser);\n\n this.defaultCountry = defaultCountry;\n this.defaultCallingCode = defaultCallingCode;\n this.metadata = metadata;\n this.onNationalSignificantNumberChange = onNationalSignificantNumberChange;\n }\n\n _createClass(AsYouTypeParser, [{\n key: \"input\",\n value: function input(text, state) {\n var _extractFormattedDigi = extractFormattedDigitsAndPlus(text),\n _extractFormattedDigi2 = _slicedToArray(_extractFormattedDigi, 2),\n formattedDigits = _extractFormattedDigi2[0],\n hasPlus = _extractFormattedDigi2[1];\n\n var digits = parseDigits(formattedDigits); // Checks for a special case: just a leading `+` has been entered.\n\n var justLeadingPlus;\n\n if (hasPlus) {\n if (!state.digits) {\n state.startInternationalNumber();\n\n if (!digits) {\n justLeadingPlus = true;\n }\n }\n }\n\n if (digits) {\n this.inputDigits(digits, state);\n }\n\n return {\n digits: digits,\n justLeadingPlus: justLeadingPlus\n };\n }\n /**\r\n * Inputs \"next\" phone number digits.\r\n * @param {string} digits\r\n * @return {string} [formattedNumber] Formatted national phone number (if it can be formatted at this stage). Returning `undefined` means \"don't format the national phone number at this stage\".\r\n */\n\n }, {\n key: \"inputDigits\",\n value: function inputDigits(nextDigits, state) {\n var digits = state.digits;\n var hasReceivedThreeLeadingDigits = digits.length < 3 && digits.length + nextDigits.length >= 3; // Append phone number digits.\n\n state.appendDigits(nextDigits); // Attempt to extract IDD prefix:\n // Some users input their phone number in international format,\n // but in an \"out-of-country\" dialing format instead of using the leading `+`.\n // https://github.com/catamphetamine/libphonenumber-js/issues/185\n // Detect such numbers as soon as there're at least 3 digits.\n // Google's library attempts to extract IDD prefix at 3 digits,\n // so this library just copies that behavior.\n // I guess that's because the most commot IDD prefixes are\n // `00` (Europe) and `011` (US).\n // There exist really long IDD prefixes too:\n // for example, in Australia the default IDD prefix is `0011`,\n // and it could even be as long as `14880011`.\n // An IDD prefix is extracted here, and then every time when\n // there's a new digit and the number couldn't be formatted.\n\n if (hasReceivedThreeLeadingDigits) {\n this.extractIddPrefix(state);\n }\n\n if (this.isWaitingForCountryCallingCode(state)) {\n if (!this.extractCountryCallingCode(state)) {\n return;\n }\n } else {\n state.appendNationalSignificantNumberDigits(nextDigits);\n } // If a phone number is being input in international format,\n // then it's not valid for it to have a national prefix.\n // Still, some people incorrectly input such numbers with a national prefix.\n // In such cases, only attempt to strip a national prefix if the number becomes too long.\n // (but that is done later, not here)\n\n\n if (!state.international) {\n if (!this.hasExtractedNationalSignificantNumber) {\n this.extractNationalSignificantNumber(state.getNationalDigits(), state.update);\n }\n }\n }\n }, {\n key: \"isWaitingForCountryCallingCode\",\n value: function isWaitingForCountryCallingCode(_ref2) {\n var international = _ref2.international,\n callingCode = _ref2.callingCode;\n return international && !callingCode;\n } // Extracts a country calling code from a number\n // being entered in internatonal format.\n\n }, {\n key: \"extractCountryCallingCode\",\n value: function extractCountryCallingCode(state) {\n var _extractCountryCallin = _extractCountryCallingCode('+' + state.getDigitsWithoutInternationalPrefix(), this.defaultCountry, this.defaultCallingCode, this.metadata.metadata),\n countryCallingCode = _extractCountryCallin.countryCallingCode,\n number = _extractCountryCallin.number;\n\n if (countryCallingCode) {\n state.setCallingCode(countryCallingCode);\n state.update({\n nationalSignificantNumber: number\n });\n return true;\n }\n }\n }, {\n key: \"reset\",\n value: function reset(numberingPlan) {\n if (numberingPlan) {\n this.hasSelectedNumberingPlan = true;\n\n var nationalPrefixForParsing = numberingPlan._nationalPrefixForParsing();\n\n this.couldPossiblyExtractAnotherNationalSignificantNumber = nationalPrefixForParsing && COMPLEX_NATIONAL_PREFIX.test(nationalPrefixForParsing);\n } else {\n this.hasSelectedNumberingPlan = undefined;\n this.couldPossiblyExtractAnotherNationalSignificantNumber = undefined;\n }\n }\n /**\r\n * Extracts a national (significant) number from user input.\r\n * Google's library is different in that it only applies `national_prefix_for_parsing`\r\n * and doesn't apply `national_prefix_transform_rule` after that.\r\n * https://github.com/google/libphonenumber/blob/a3d70b0487875475e6ad659af404943211d26456/java/libphonenumber/src/com/google/i18n/phonenumbers/AsYouTypeFormatter.java#L539\r\n * @return {boolean} [extracted]\r\n */\n\n }, {\n key: \"extractNationalSignificantNumber\",\n value: function extractNationalSignificantNumber(nationalDigits, setState) {\n if (!this.hasSelectedNumberingPlan) {\n return;\n }\n\n var _extractNationalNumbe = extractNationalNumberFromPossiblyIncompleteNumber(nationalDigits, this.metadata),\n nationalPrefix = _extractNationalNumbe.nationalPrefix,\n nationalNumber = _extractNationalNumbe.nationalNumber,\n carrierCode = _extractNationalNumbe.carrierCode;\n\n if (nationalNumber === nationalDigits) {\n return;\n }\n\n this.onExtractedNationalNumber(nationalPrefix, carrierCode, nationalNumber, nationalDigits, setState);\n return true;\n }\n /**\r\n * In Google's code this function is called \"attempt to extract longer NDD\".\r\n * \"Some national prefixes are a substring of others\", they say.\r\n * @return {boolean} [result] — Returns `true` if extracting a national prefix produced different results from what they were.\r\n */\n\n }, {\n key: \"extractAnotherNationalSignificantNumber\",\n value: function extractAnotherNationalSignificantNumber(nationalDigits, prevNationalSignificantNumber, setState) {\n if (!this.hasExtractedNationalSignificantNumber) {\n return this.extractNationalSignificantNumber(nationalDigits, setState);\n }\n\n if (!this.couldPossiblyExtractAnotherNationalSignificantNumber) {\n return;\n }\n\n var _extractNationalNumbe2 = extractNationalNumberFromPossiblyIncompleteNumber(nationalDigits, this.metadata),\n nationalPrefix = _extractNationalNumbe2.nationalPrefix,\n nationalNumber = _extractNationalNumbe2.nationalNumber,\n carrierCode = _extractNationalNumbe2.carrierCode; // If a national prefix has been extracted previously,\n // then it's always extracted as additional digits are added.\n // That's assuming `extractNationalNumberFromPossiblyIncompleteNumber()`\n // doesn't do anything different from what it currently does.\n // So, just in case, here's this check, though it doesn't occur.\n\n /* istanbul ignore if */\n\n\n if (nationalNumber === prevNationalSignificantNumber) {\n return;\n }\n\n this.onExtractedNationalNumber(nationalPrefix, carrierCode, nationalNumber, nationalDigits, setState);\n return true;\n }\n }, {\n key: \"onExtractedNationalNumber\",\n value: function onExtractedNationalNumber(nationalPrefix, carrierCode, nationalSignificantNumber, nationalDigits, setState) {\n var complexPrefixBeforeNationalSignificantNumber;\n var nationalSignificantNumberMatchesInput; // This check also works with empty `this.nationalSignificantNumber`.\n\n var nationalSignificantNumberIndex = nationalDigits.lastIndexOf(nationalSignificantNumber); // If the extracted national (significant) number is the\n // last substring of the `digits`, then it means that it hasn't been altered:\n // no digits have been removed from the national (significant) number\n // while applying `national_prefix_transform_rule`.\n // https://gitlab.com/catamphetamine/libphonenumber-js/-/blob/master/METADATA.md#national_prefix_for_parsing--national_prefix_transform_rule\n\n if (nationalSignificantNumberIndex >= 0 && nationalSignificantNumberIndex === nationalDigits.length - nationalSignificantNumber.length) {\n nationalSignificantNumberMatchesInput = true; // If a prefix of a national (significant) number is not as simple\n // as just a basic national prefix, then such prefix is stored in\n // `this.complexPrefixBeforeNationalSignificantNumber` property and will be\n // prepended \"as is\" to the national (significant) number to produce\n // a formatted result.\n\n var prefixBeforeNationalNumber = nationalDigits.slice(0, nationalSignificantNumberIndex); // `prefixBeforeNationalNumber` is always non-empty,\n // because `onExtractedNationalNumber()` isn't called\n // when a national (significant) number hasn't been actually \"extracted\":\n // when a national (significant) number is equal to the national part of `digits`,\n // then `onExtractedNationalNumber()` doesn't get called.\n\n if (prefixBeforeNationalNumber !== nationalPrefix) {\n complexPrefixBeforeNationalSignificantNumber = prefixBeforeNationalNumber;\n }\n }\n\n setState({\n nationalPrefix: nationalPrefix,\n carrierCode: carrierCode,\n nationalSignificantNumber: nationalSignificantNumber,\n nationalSignificantNumberMatchesInput: nationalSignificantNumberMatchesInput,\n complexPrefixBeforeNationalSignificantNumber: complexPrefixBeforeNationalSignificantNumber\n }); // `onExtractedNationalNumber()` is only called when\n // the national (significant) number actually did change.\n\n this.hasExtractedNationalSignificantNumber = true;\n this.onNationalSignificantNumberChange();\n }\n }, {\n key: \"reExtractNationalSignificantNumber\",\n value: function reExtractNationalSignificantNumber(state) {\n // Attempt to extract a national prefix.\n //\n // Some people incorrectly input national prefix\n // in an international phone number.\n // For example, some people write British phone numbers as `+44(0)...`.\n //\n // Also, in some rare cases, it is valid for a national prefix\n // to be a part of an international phone number.\n // For example, mobile phone numbers in Mexico are supposed to be\n // dialled internationally using a `1` national prefix,\n // so the national prefix will be part of an international number.\n //\n // Quote from:\n // https://www.mexperience.com/dialing-cell-phones-in-mexico/\n //\n // \"Dialing a Mexican cell phone from abroad\n // When you are calling a cell phone number in Mexico from outside Mexico,\n // it’s necessary to dial an additional “1” after Mexico’s country code\n // (which is “52”) and before the area code.\n // You also ignore the 045, and simply dial the area code and the\n // cell phone’s number.\n //\n // If you don’t add the “1”, you’ll receive a recorded announcement\n // asking you to redial using it.\n //\n // For example, if you are calling from the USA to a cell phone\n // in Mexico City, you would dial +52 – 1 – 55 – 1234 5678.\n // (Note that this is different to calling a land line in Mexico City\n // from abroad, where the number dialed would be +52 – 55 – 1234 5678)\".\n //\n // Google's demo output:\n // https://libphonenumber.appspot.com/phonenumberparser?number=%2b5215512345678&country=MX\n //\n if (this.extractAnotherNationalSignificantNumber(state.getNationalDigits(), state.nationalSignificantNumber, state.update)) {\n return true;\n } // If no format matches the phone number, then it could be\n // \"a really long IDD\" (quote from a comment in Google's library).\n // An IDD prefix is first extracted when the user has entered at least 3 digits,\n // and then here — every time when there's a new digit and the number\n // couldn't be formatted.\n // For example, in Australia the default IDD prefix is `0011`,\n // and it could even be as long as `14880011`.\n //\n // Could also check `!hasReceivedThreeLeadingDigits` here\n // to filter out the case when this check duplicates the one\n // already performed when there're 3 leading digits,\n // but it's not a big deal, and in most cases there\n // will be a suitable `format` when there're 3 leading digits.\n //\n\n\n if (this.extractIddPrefix(state)) {\n this.extractCallingCodeAndNationalSignificantNumber(state);\n return true;\n } // Google's AsYouType formatter supports sort of an \"autocorrection\" feature\n // when it \"autocorrects\" numbers that have been input for a country\n // with that country's calling code.\n // Such \"autocorrection\" feature looks weird, but different people have been requesting it:\n // https://github.com/catamphetamine/libphonenumber-js/issues/376\n // https://github.com/catamphetamine/libphonenumber-js/issues/375\n // https://github.com/catamphetamine/libphonenumber-js/issues/316\n\n\n if (this.fixMissingPlus(state)) {\n this.extractCallingCodeAndNationalSignificantNumber(state);\n return true;\n }\n }\n }, {\n key: \"extractIddPrefix\",\n value: function extractIddPrefix(state) {\n // An IDD prefix can't be present in a number written with a `+`.\n // Also, don't re-extract an IDD prefix if has already been extracted.\n var international = state.international,\n IDDPrefix = state.IDDPrefix,\n digits = state.digits,\n nationalSignificantNumber = state.nationalSignificantNumber;\n\n if (international || IDDPrefix) {\n return;\n } // Some users input their phone number in \"out-of-country\"\n // dialing format instead of using the leading `+`.\n // https://github.com/catamphetamine/libphonenumber-js/issues/185\n // Detect such numbers.\n\n\n var numberWithoutIDD = stripIddPrefix(digits, this.defaultCountry, this.defaultCallingCode, this.metadata.metadata);\n\n if (numberWithoutIDD !== undefined && numberWithoutIDD !== digits) {\n // If an IDD prefix was stripped then convert the IDD-prefixed number\n // to international number for subsequent parsing.\n state.update({\n IDDPrefix: digits.slice(0, digits.length - numberWithoutIDD.length)\n });\n this.startInternationalNumber(state);\n return true;\n }\n }\n }, {\n key: \"fixMissingPlus\",\n value: function fixMissingPlus(state) {\n if (!state.international) {\n var _extractCountryCallin2 = extractCountryCallingCodeFromInternationalNumberWithoutPlusSign(state.digits, this.defaultCountry, this.defaultCallingCode, this.metadata.metadata),\n newCallingCode = _extractCountryCallin2.countryCallingCode,\n number = _extractCountryCallin2.number;\n\n if (newCallingCode) {\n state.update({\n missingPlus: true\n });\n this.startInternationalNumber(state);\n return true;\n }\n }\n }\n }, {\n key: \"startInternationalNumber\",\n value: function startInternationalNumber(state) {\n state.startInternationalNumber(); // If a national (significant) number has been extracted before, reset it.\n\n if (state.nationalSignificantNumber) {\n state.resetNationalSignificantNumber();\n this.onNationalSignificantNumberChange();\n this.hasExtractedNationalSignificantNumber = undefined;\n }\n }\n }, {\n key: \"extractCallingCodeAndNationalSignificantNumber\",\n value: function extractCallingCodeAndNationalSignificantNumber(state) {\n if (this.extractCountryCallingCode(state)) {\n // `this.extractCallingCode()` is currently called when the number\n // couldn't be formatted during the standard procedure.\n // Normally, the national prefix would be re-extracted\n // for an international number if such number couldn't be formatted,\n // but since it's already not able to be formatted,\n // there won't be yet another retry, so also extract national prefix here.\n this.extractNationalSignificantNumber(state.getNationalDigits(), state.update);\n }\n }\n }]);\n\n return AsYouTypeParser;\n}();\n/**\r\n * Extracts formatted phone number from text (if there's any).\r\n * @param {string} text\r\n * @return {string} [formattedPhoneNumber]\r\n */\n\n\nexport { AsYouTypeParser as default };\n\nfunction extractFormattedPhoneNumber(text) {\n // Attempt to extract a possible number from the string passed in.\n var startsAt = text.search(VALID_FORMATTED_PHONE_NUMBER_PART);\n\n if (startsAt < 0) {\n return;\n } // Trim everything to the left of the phone number.\n\n\n text = text.slice(startsAt); // Trim the `+`.\n\n var hasPlus;\n\n if (text[0] === '+') {\n hasPlus = true;\n text = text.slice('+'.length);\n } // Trim everything to the right of the phone number.\n\n\n text = text.replace(AFTER_PHONE_NUMBER_DIGITS_END_PATTERN, ''); // Re-add the previously trimmed `+`.\n\n if (hasPlus) {\n text = '+' + text;\n }\n\n return text;\n}\n/**\r\n * Extracts formatted phone number digits (and a `+`) from text (if there're any).\r\n * @param {string} text\r\n * @return {any[]}\r\n */\n\n\nfunction _extractFormattedDigitsAndPlus(text) {\n // Extract a formatted phone number part from text.\n var extractedNumber = extractFormattedPhoneNumber(text) || ''; // Trim a `+`.\n\n if (extractedNumber[0] === '+') {\n return [extractedNumber.slice('+'.length), true];\n }\n\n return [extractedNumber];\n}\n/**\r\n * Extracts formatted phone number digits (and a `+`) from text (if there're any).\r\n * @param {string} text\r\n * @return {any[]}\r\n */\n\n\nexport function extractFormattedDigitsAndPlus(text) {\n var _extractFormattedDigi3 = _extractFormattedDigitsAndPlus(text),\n _extractFormattedDigi4 = _slicedToArray(_extractFormattedDigi3, 2),\n formattedDigits = _extractFormattedDigi4[0],\n hasPlus = _extractFormattedDigi4[1]; // If the extracted phone number part\n // can possibly be a part of some valid phone number\n // then parse phone number characters from a formatted phone number.\n\n\n if (!VALID_FORMATTED_PHONE_NUMBER_DIGITS_PART_PATTERN.test(formattedDigits)) {\n formattedDigits = '';\n }\n\n return [formattedDigits, hasPlus];\n}\n//# sourceMappingURL=AsYouTypeParser.js.map","function _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); }\n\nfunction _iterableToArrayLimit(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nimport Metadata from './metadata';\nimport PhoneNumber from './PhoneNumber';\nimport AsYouTypeState from './AsYouTypeState';\nimport AsYouTypeFormatter, { DIGIT_PLACEHOLDER } from './AsYouTypeFormatter';\nimport AsYouTypeParser, { extractFormattedDigitsAndPlus } from './AsYouTypeParser';\nimport getCountryByCallingCode from './helpers/getCountryByCallingCode';\nvar USE_NON_GEOGRAPHIC_COUNTRY_CODE = false;\n\nvar AsYouType =\n/*#__PURE__*/\nfunction () {\n /**\r\n * @param {(string|object)?} [optionsOrDefaultCountry] - The default country used for parsing non-international phone numbers. Can also be an `options` object.\r\n * @param {Object} metadata\r\n */\n function AsYouType(optionsOrDefaultCountry, metadata) {\n _classCallCheck(this, AsYouType);\n\n this.metadata = new Metadata(metadata);\n\n var _this$getCountryAndCa = this.getCountryAndCallingCode(optionsOrDefaultCountry),\n _this$getCountryAndCa2 = _slicedToArray(_this$getCountryAndCa, 2),\n defaultCountry = _this$getCountryAndCa2[0],\n defaultCallingCode = _this$getCountryAndCa2[1];\n\n this.defaultCountry = defaultCountry;\n this.defaultCallingCode = defaultCallingCode;\n this.reset();\n }\n\n _createClass(AsYouType, [{\n key: \"getCountryAndCallingCode\",\n value: function getCountryAndCallingCode(optionsOrDefaultCountry) {\n // Set `defaultCountry` and `defaultCallingCode` options.\n var defaultCountry;\n var defaultCallingCode; // Turns out `null` also has type \"object\". Weird.\n\n if (optionsOrDefaultCountry) {\n if (_typeof(optionsOrDefaultCountry) === 'object') {\n defaultCountry = optionsOrDefaultCountry.defaultCountry;\n defaultCallingCode = optionsOrDefaultCountry.defaultCallingCode;\n } else {\n defaultCountry = optionsOrDefaultCountry;\n }\n }\n\n if (defaultCountry && !this.metadata.hasCountry(defaultCountry)) {\n defaultCountry = undefined;\n }\n\n if (defaultCallingCode) {\n /* istanbul ignore if */\n if (USE_NON_GEOGRAPHIC_COUNTRY_CODE) {\n if (this.metadata.isNonGeographicCallingCode(defaultCallingCode)) {\n defaultCountry = '001';\n }\n }\n }\n\n return [defaultCountry, defaultCallingCode];\n }\n /**\r\n * Inputs \"next\" phone number characters.\r\n * @param {string} text\r\n * @return {string} Formatted phone number characters that have been input so far.\r\n */\n\n }, {\n key: \"input\",\n value: function input(text) {\n var _this$parser$input = this.parser.input(text, this.state),\n digits = _this$parser$input.digits,\n justLeadingPlus = _this$parser$input.justLeadingPlus;\n\n if (justLeadingPlus) {\n this.formattedOutput = '+';\n } else if (digits) {\n this.determineTheCountryIfNeeded(); // Match the available formats by the currently available leading digits.\n\n if (this.state.nationalSignificantNumber) {\n this.formatter.narrowDownMatchingFormats(this.state);\n }\n\n var formattedNationalNumber;\n\n if (this.metadata.hasSelectedNumberingPlan()) {\n formattedNationalNumber = this.formatter.format(digits, this.state);\n }\n\n if (formattedNationalNumber === undefined) {\n // See if another national (significant) number could be re-extracted.\n if (this.parser.reExtractNationalSignificantNumber(this.state)) {\n this.determineTheCountryIfNeeded(); // If it could, then re-try formatting the new national (significant) number.\n\n var nationalDigits = this.state.getNationalDigits();\n\n if (nationalDigits) {\n formattedNationalNumber = this.formatter.format(nationalDigits, this.state);\n }\n }\n }\n\n this.formattedOutput = formattedNationalNumber ? this.getFullNumber(formattedNationalNumber) : this.getNonFormattedNumber();\n }\n\n return this.formattedOutput;\n }\n }, {\n key: \"reset\",\n value: function reset() {\n var _this = this;\n\n this.state = new AsYouTypeState({\n onCountryChange: function onCountryChange(country) {\n // Before version `1.6.0`, the official `AsYouType` formatter API\n // included the `.country` property of an `AsYouType` instance.\n // Since that property (along with the others) have been moved to\n // `this.state`, `this.country` property is emulated for compatibility\n // with the old versions.\n _this.country = country;\n },\n onCallingCodeChange: function onCallingCodeChange(country, callingCode) {\n _this.metadata.selectNumberingPlan(country, callingCode);\n\n _this.formatter.reset(_this.metadata.numberingPlan, _this.state);\n\n _this.parser.reset(_this.metadata.numberingPlan);\n }\n });\n this.formatter = new AsYouTypeFormatter({\n state: this.state,\n metadata: this.metadata\n });\n this.parser = new AsYouTypeParser({\n defaultCountry: this.defaultCountry,\n defaultCallingCode: this.defaultCallingCode,\n metadata: this.metadata,\n state: this.state,\n onNationalSignificantNumberChange: function onNationalSignificantNumberChange() {\n _this.determineTheCountryIfNeeded();\n\n _this.formatter.reset(_this.metadata.numberingPlan, _this.state);\n }\n });\n this.state.reset(this.defaultCountry, this.defaultCallingCode);\n this.formattedOutput = '';\n return this;\n }\n /**\r\n * Returns `true` if the phone number is being input in international format.\r\n * In other words, returns `true` if and only if the parsed phone number starts with a `\"+\"`.\r\n * @return {boolean}\r\n */\n\n }, {\n key: \"isInternational\",\n value: function isInternational() {\n return this.state.international;\n }\n /**\r\n * Returns the \"country calling code\" part of the phone number.\r\n * Returns `undefined` if the number is not being input in international format.\r\n * Returns \"country calling code\" for \"non-geographic\" phone numbering plans too.\r\n * @return {string} [callingCode]\r\n */\n\n }, {\n key: \"getCallingCode\",\n value: function getCallingCode() {\n return this.state.callingCode;\n } // A legacy alias.\n\n }, {\n key: \"getCountryCallingCode\",\n value: function getCountryCallingCode() {\n return this.getCallingCode();\n }\n /**\r\n * Returns a two-letter country code of the phone number.\r\n * Returns `undefined` for \"non-geographic\" phone numbering plans.\r\n * Returns `undefined` if no phone number has been input yet.\r\n * @return {string} [country]\r\n */\n\n }, {\n key: \"getCountry\",\n value: function getCountry() {\n var _this$state = this.state,\n digits = _this$state.digits,\n country = _this$state.country; // If no digits have been input yet,\n // then `this.country` is the `defaultCountry`.\n // Won't return the `defaultCountry` in such case.\n\n if (!digits) {\n return;\n }\n\n var countryCode = country;\n /* istanbul ignore if */\n\n if (USE_NON_GEOGRAPHIC_COUNTRY_CODE) {\n // `AsYouType.getCountry()` returns `undefined`\n // for \"non-geographic\" phone numbering plans.\n if (countryCode === '001') {\n countryCode = undefined;\n }\n }\n\n return countryCode;\n }\n }, {\n key: \"determineTheCountryIfNeeded\",\n value: function determineTheCountryIfNeeded() {\n // Suppose a user enters a phone number in international format,\n // and there're several countries corresponding to that country calling code,\n // and a country has been derived from the number, and then\n // a user enters one more digit and the number is no longer\n // valid for the derived country, so the country should be re-derived\n // on every new digit in those cases.\n //\n // If the phone number is being input in national format,\n // then it could be a case when `defaultCountry` wasn't specified\n // when creating `AsYouType` instance, and just `defaultCallingCode` was specified,\n // and that \"calling code\" could correspond to a \"non-geographic entity\",\n // or there could be several countries corresponding to that country calling code.\n // In those cases, `this.country` is `undefined` and should be derived\n // from the number. Again, if country calling code is ambiguous, then\n // `this.country` should be re-derived with each new digit.\n //\n if (!this.state.country || this.isCountryCallingCodeAmbiguous()) {\n this.determineTheCountry();\n }\n } // Prepends `+CountryCode ` in case of an international phone number\n\n }, {\n key: \"getFullNumber\",\n value: function getFullNumber(formattedNationalNumber) {\n var _this2 = this;\n\n if (this.isInternational()) {\n var prefix = function prefix(text) {\n return _this2.formatter.getInternationalPrefixBeforeCountryCallingCode(_this2.state, {\n spacing: text ? true : false\n }) + text;\n };\n\n var callingCode = this.state.callingCode;\n\n if (!callingCode) {\n return prefix(\"\".concat(this.state.getDigitsWithoutInternationalPrefix()));\n }\n\n if (!formattedNationalNumber) {\n return prefix(callingCode);\n }\n\n return prefix(\"\".concat(callingCode, \" \").concat(formattedNationalNumber));\n }\n\n return formattedNationalNumber;\n }\n }, {\n key: \"getNonFormattedNationalNumberWithPrefix\",\n value: function getNonFormattedNationalNumberWithPrefix() {\n var _this$state2 = this.state,\n nationalSignificantNumber = _this$state2.nationalSignificantNumber,\n complexPrefixBeforeNationalSignificantNumber = _this$state2.complexPrefixBeforeNationalSignificantNumber,\n nationalPrefix = _this$state2.nationalPrefix;\n var number = nationalSignificantNumber;\n var prefix = complexPrefixBeforeNationalSignificantNumber || nationalPrefix;\n\n if (prefix) {\n number = prefix + number;\n }\n\n return number;\n }\n }, {\n key: \"getNonFormattedNumber\",\n value: function getNonFormattedNumber() {\n var nationalSignificantNumberMatchesInput = this.state.nationalSignificantNumberMatchesInput;\n return this.getFullNumber(nationalSignificantNumberMatchesInput ? this.getNonFormattedNationalNumberWithPrefix() : this.state.getNationalDigits());\n }\n }, {\n key: \"getNonFormattedTemplate\",\n value: function getNonFormattedTemplate() {\n var number = this.getNonFormattedNumber();\n\n if (number) {\n return number.replace(/[\\+\\d]/g, DIGIT_PLACEHOLDER);\n }\n }\n }, {\n key: \"isCountryCallingCodeAmbiguous\",\n value: function isCountryCallingCodeAmbiguous() {\n var callingCode = this.state.callingCode;\n var countryCodes = this.metadata.getCountryCodesForCallingCode(callingCode);\n return countryCodes && countryCodes.length > 1;\n } // Determines the country of the phone number\n // entered so far based on the country phone code\n // and the national phone number.\n\n }, {\n key: \"determineTheCountry\",\n value: function determineTheCountry() {\n this.state.setCountry(getCountryByCallingCode(this.isInternational() ? this.state.callingCode : this.defaultCallingCode, this.state.nationalSignificantNumber, this.metadata));\n }\n /**\r\n * Returns an instance of `PhoneNumber` class.\r\n * Will return `undefined` if no national (significant) number\r\n * digits have been entered so far, or if no `defaultCountry` has been\r\n * set and the user enters a phone number not in international format.\r\n */\n\n }, {\n key: \"getNumber\",\n value: function getNumber() {\n var _this$state3 = this.state,\n nationalSignificantNumber = _this$state3.nationalSignificantNumber,\n carrierCode = _this$state3.carrierCode;\n\n if (this.isInternational()) {\n if (!this.state.callingCode) {\n return;\n }\n } else {\n if (!this.state.country && !this.defaultCallingCode) {\n return;\n }\n }\n\n if (!nationalSignificantNumber) {\n return;\n }\n\n var countryCode = this.getCountry();\n var callingCode = this.getCountryCallingCode() || this.defaultCallingCode;\n var phoneNumber = new PhoneNumber(countryCode || callingCode, nationalSignificantNumber, this.metadata.metadata);\n\n if (carrierCode) {\n phoneNumber.carrierCode = carrierCode;\n } // Phone number extensions are not supported by \"As You Type\" formatter.\n\n\n return phoneNumber;\n }\n /**\r\n * Returns `true` if the phone number is \"possible\".\r\n * Is just a shortcut for `PhoneNumber.isPossible()`.\r\n * @return {boolean}\r\n */\n\n }, {\n key: \"isPossible\",\n value: function isPossible() {\n var phoneNumber = this.getNumber();\n\n if (!phoneNumber) {\n return false;\n }\n\n return phoneNumber.isPossible();\n }\n /**\r\n * Returns `true` if the phone number is \"valid\".\r\n * Is just a shortcut for `PhoneNumber.isValid()`.\r\n * @return {boolean}\r\n */\n\n }, {\n key: \"isValid\",\n value: function isValid() {\n var phoneNumber = this.getNumber();\n\n if (!phoneNumber) {\n return false;\n }\n\n return phoneNumber.isValid();\n }\n /**\r\n * @deprecated\r\n * This method is used in `react-phone-number-input/source/input-control.js`\r\n * in versions before `3.0.16`.\r\n */\n\n }, {\n key: \"getNationalNumber\",\n value: function getNationalNumber() {\n return this.state.nationalSignificantNumber;\n }\n /**\r\n * Returns the phone number characters entered by the user.\r\n * @return {string}\r\n */\n\n }, {\n key: \"getChars\",\n value: function getChars() {\n return (this.state.international ? '+' : '') + this.state.digits;\n }\n /**\r\n * Returns the template for the formatted phone number.\r\n * @return {string}\r\n */\n\n }, {\n key: \"getTemplate\",\n value: function getTemplate() {\n return this.formatter.getTemplate(this.state) || this.getNonFormattedTemplate() || '';\n }\n }]);\n\n return AsYouType;\n}();\n\nexport { AsYouType as default };\n//# sourceMappingURL=AsYouType.js.map","import metadata from '../metadata'\r\nimport { AsYouType as _AsYouType } from '../../core/index'\r\n\r\nexport function AsYouType(country) {\r\n\treturn _AsYouType.call(this, country, metadata)\r\n}\r\n\r\nAsYouType.prototype = Object.create(_AsYouType.prototype, {})\r\nAsYouType.prototype.constructor = AsYouType","// Components\nimport {\n VTabTransition,\n VTabReverseTransition,\n} from '../transitions'\n\n// Mixins\nimport { inject as RegistrableInject } from '../../mixins/registrable'\n\n// Helpers\nimport { convertToUnit } 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, [this.$slots.default])\n const content = h('div', contentData, [wrapper])\n\n return h(this.computedTransition, {\n on: this.$listeners,\n }, [content])\n },\n})\n","// 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 onBlur () {\n this.isFocused = false\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 () {\n this.isFocused = true\n },\n /** @abstract */\n onKeydown (e: Event) {},\n },\n})\n"],"sourceRoot":""}