{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./src/AppHomeowner.vue?f6a8","webpack:///./src/containers/Page.vue?b36d","webpack:///./src/components/Sidebar/store.js","webpack:///src/containers/Page.vue","webpack:///./src/containers/Page.vue?97a1","webpack:///./src/containers/Page.vue","webpack:///./src/containers/AppContent.vue?4b0e","webpack:///src/containers/AppContent.vue","webpack:///./src/containers/AppContent.vue?a498","webpack:///./src/containers/AppContent.vue","webpack:///./src/components/Sidebar/index.vue?3718","webpack:///./src/components/Sidebar/components/Desktop/index.vue?617e","webpack:///./src/components/icons/House.vue?1763","webpack:///src/components/icons/House.vue","webpack:///./src/components/icons/House.vue?7b25","webpack:///./src/components/icons/House.vue","webpack:///src/components/Sidebar/components/Desktop/index.vue","webpack:///./src/components/Sidebar/components/Desktop/index.vue?061c","webpack:///./src/components/Sidebar/components/Desktop/index.vue","webpack:///./src/components/Sidebar/components/Mobile/index.vue?367a","webpack:///./src/components/icons/Logo.vue?61bc","webpack:///src/components/icons/Logo.vue","webpack:///./src/components/icons/Logo.vue?3a43","webpack:///./src/components/icons/Logo.vue","webpack:///./src/components/icons/Leave.vue?8703","webpack:///src/components/icons/Leave.vue","webpack:///./src/components/icons/Leave.vue?7000","webpack:///./src/components/icons/Leave.vue","webpack:///./src/components/Sidebar/components/Mobile/keys/data.js","webpack:///./src/components/Sidebar/components/Mobile/keys/methods.js","webpack:///./src/components/Sidebar/components/Mobile/keys/mounted.js","webpack:///./src/components/Sidebar/components/Mobile/keys/watch.js","webpack:///src/components/Sidebar/components/Mobile/index.vue","webpack:///./src/components/Sidebar/components/Mobile/index.vue?0ecb","webpack:///./src/components/Sidebar/components/Mobile/index.vue","webpack:///./src/components/Sidebar/components/SettingsMobile/index.vue?7953","webpack:///./src/components/Sidebar/components/SettingsMobile/keys/beforeDestroy.js","webpack:///./src/components/Sidebar/components/SettingsMobile/keys/computed.js","webpack:///./src/components/Sidebar/components/SettingsMobile/keys/data.js","webpack:///./src/components/Sidebar/components/SettingsMobile/components/HOASelectorModal.vue?9eb1","webpack:///src/components/Sidebar/components/SettingsMobile/components/HOASelectorModal.vue","webpack:///./src/components/Sidebar/components/SettingsMobile/components/HOASelectorModal.vue?9a8c","webpack:///./src/components/Sidebar/components/SettingsMobile/components/HOASelectorModal.vue","webpack:///./src/components/Sidebar/components/SettingsMobile/keys/methods.js","webpack:///./src/components/Sidebar/components/SettingsMobile/keys/mounted.js","webpack:///./src/components/icons/User.vue?3dff","webpack:///src/components/icons/User.vue","webpack:///./src/components/icons/User.vue?374a","webpack:///./src/components/icons/User.vue","webpack:///src/components/Sidebar/components/SettingsMobile/index.vue","webpack:///./src/components/Sidebar/components/SettingsMobile/index.vue?66a8","webpack:///./src/components/Sidebar/components/SettingsMobile/index.vue","webpack:///src/components/Sidebar/index.vue","webpack:///./src/components/Sidebar/index.vue?1359","webpack:///./src/components/Sidebar/index.vue","webpack:///./src/components/navs/Top/index.vue?a948","webpack:///./src/components/navs/Top/keys/beforeDestroy.js","webpack:///./src/components/navs/Top/keys/computed.js","webpack:///./src/components/navs/Top/keys/created.js","webpack:///./src/components/navs/Top/keys/data.js","webpack:///./src/services/User/Login.js","webpack:///./src/services/User/store.js","webpack:///./src/components/navs/Top/keys/methods.js","webpack:///./src/components/navs/Top/keys/mounted.js","webpack:///./src/components/navs/Top/keys/watch.js","webpack:///./src/pages/Shared/suggestions/newSuggestion/index.vue?fac4","webpack:///./src/services/Suggestion/store.js","webpack:///src/pages/Shared/suggestions/newSuggestion/index.vue","webpack:///./src/pages/Shared/suggestions/newSuggestion/index.vue?d40e","webpack:///./src/pages/Shared/suggestions/newSuggestion/index.vue","webpack:///./src/components/navs/Top/components/MobileButton.vue?b2f1","webpack:///src/components/navs/Top/components/MobileButton.vue","webpack:///./src/components/navs/Top/components/MobileButton.vue?8f5a","webpack:///./src/components/navs/Top/components/MobileButton.vue","webpack:///src/components/navs/Top/index.vue","webpack:///./src/components/navs/Top/index.vue?b354","webpack:///./src/components/navs/Top/index.vue","webpack:///./src/components/icons/WorkOrder.vue?f945","webpack:///src/components/icons/WorkOrder.vue","webpack:///./src/components/icons/WorkOrder.vue?c380","webpack:///./src/components/icons/WorkOrder.vue","webpack:///./src/components/icons/Services.vue?12da","webpack:///src/components/icons/Services.vue","webpack:///./src/components/icons/Services.vue?6bd1","webpack:///./src/components/icons/Services.vue","webpack:///./src/components/icons/Violations.vue?2171","webpack:///src/components/icons/Violations.vue","webpack:///./src/components/icons/Violations.vue?7cfe","webpack:///./src/components/icons/Violations.vue","webpack:///./src/components/icons/Amenity2.vue?d4e2","webpack:///src/components/icons/Amenity2.vue","webpack:///./src/components/icons/Amenity2.vue?7a67","webpack:///./src/components/icons/Amenity2.vue","webpack:///./src/components/icons/Survey.vue?d496","webpack:///src/components/icons/Survey.vue","webpack:///./src/components/icons/Survey.vue?6719","webpack:///./src/components/icons/Survey.vue","webpack:///./src/components/icons/OpenPage.vue?cdf6","webpack:///src/components/icons/OpenPage.vue","webpack:///./src/components/icons/OpenPage.vue?e4e9","webpack:///./src/components/icons/OpenPage.vue","webpack:///./src/components/icons/Billing.vue?5355","webpack:///src/components/icons/Billing.vue","webpack:///./src/components/icons/Billing.vue?fb07","webpack:///./src/components/icons/Billing.vue","webpack:///./src/components/icons/Evoting.vue?e9a8","webpack:///src/components/icons/Evoting.vue","webpack:///./src/components/icons/Evoting.vue?feed","webpack:///./src/components/icons/Evoting.vue","webpack:///./src/components/icons/Account.vue?46f2","webpack:///src/components/icons/Account.vue","webpack:///./src/components/icons/Account.vue?2b52","webpack:///./src/components/icons/Account.vue","webpack:///./src/components/icons/Property.vue?39fb","webpack:///src/components/icons/Property.vue","webpack:///./src/components/icons/Property.vue?6e68","webpack:///./src/components/icons/Property.vue","webpack:///./src/components/icons/CustomerSupport.vue?fdf6","webpack:///src/components/icons/CustomerSupport.vue","webpack:///./src/components/icons/CustomerSupport.vue?90d5","webpack:///./src/components/icons/CustomerSupport.vue","webpack:///./src/components/icons/HelpCenter.vue?6adf","webpack:///src/components/icons/HelpCenter.vue","webpack:///./src/components/icons/HelpCenter.vue?50a8","webpack:///./src/components/icons/HelpCenter.vue","webpack:///src/AppHomeowner.vue","webpack:///./src/AppHomeowner.vue?8532","webpack:///./src/AppHomeowner.vue","webpack:///./src/router/common/scrollBehavior.js","webpack:///./src/parties/GoogleAnalytics/index.js","webpack:///./src/router/common/afterEach.js","webpack:///./src/store/modules/alerts.module.js","webpack:///./src/store/modules/accounting.module/keys/actions.js","webpack:///./src/store/modules/accounting.module/keys/getters.js","webpack:///./src/store/modules/accounting.module/keys/mutations.js","webpack:///./src/store/modules/accounting.module/keys/state.js","webpack:///./src/store/modules/accounting.module/index.js","webpack:///./src/store/modules/alertSubscription.module.js","webpack:///./src/store/modules/architectural.module.js","webpack:///./src/store/modules/bankaccount.module/parts/actions.js","webpack:///./src/store/modules/bankaccount.module/parts/getters.js","webpack:///./src/store/modules/bankaccount.module/parts/state.js","webpack:///./src/store/modules/bankaccount.module/parts/mutations.js","webpack:///./src/store/modules/bankaccount.module/index.js","webpack:///./src/store/modules/budgets.module.js","webpack:///./src/store/modules/committees.module/index.js","webpack:///./src/store/modules/helpers.module.js","webpack:///./src/store/modules/hoa.module.js","webpack:///./src/store/modules/invoices.module.js","webpack:///./src/store/modules/layout.module.js","webpack:///./src/utilities/validate/unitID.js","webpack:///./src/store/modules/Roster/UnitPhoto.module.js","webpack:///./src/utilities/log/JSON.js","webpack:///./src/utilities/Object/hasKey.js","webpack:///./src/store/modules/subscription.module/actions/routines/getSubscriptionHoaFeatures.js","webpack:///./src/store/modules/subscription.module/actions/routines/getHoaSubscription.js","webpack:///./src/store/modules/subscription.module/actions/index.js","webpack:///./src/store/modules/subscription.module/keys/getters.js","webpack:///./src/utilities/parse/Integer.js","webpack:///./src/utilities/Subscriptions/hoaFeatures/parse.js","webpack:///./src/store/modules/subscription.module/keys/mutations.js","webpack:///./src/store/modules/subscription.module/keys/state.js","webpack:///./src/store/modules/subscription.module/index.js","webpack:///./src/store/modules/theme.module.js","webpack:///./src/store/modules/unit.module.js","webpack:///./src/i18n.js","webpack:///./src/store/modules/user.module/keys/state.js","webpack:///./src/store/modules/user.module/keys/getters.js","webpack:///./src/store/modules/user.module/keys/mutations/routines/setUser.js","webpack:///./src/store/modules/user.module/keys/mutations/index.js","webpack:///./src/store/modules/user.module/keys/actions/routines/setUser.js","webpack:///./src/store/modules/user.module/keys/actions/routines/login.js","webpack:///./src/store/modules/user.module/keys/actions/index.js","webpack:///./src/store/modules/user.module/index.js","webpack:///./src/store/modules/violations.module.js","webpack:///./src/store/modules/workorder.module.js","webpack:///./src/store/modules/win.module.js","webpack:///./src/store/modules/conversations/conversation.module.js","webpack:///./src/store/modules/communications/communication.module.js","webpack:///./src/store/modules/amenity.module.js","webpack:///./src/store/index.js","webpack:///./src/router/auth-guard.js","webpack:///./src/router/common/routes.js","webpack:///./src/pages/Welcome.vue?249c","webpack:///./src/services/MarqueeAnnouncements/store.js","webpack:///./src/components/cards/Card.vue?d6d5","webpack:///src/components/cards/Card.vue","webpack:///./src/components/cards/Card.vue?b3ee","webpack:///./src/components/cards/Card.vue","webpack:///src/pages/Welcome.vue","webpack:///./src/pages/Welcome.vue?1208","webpack:///./src/pages/Welcome.vue","webpack:///./src/router/homeowner/architecturalRequests/index.js","webpack:///./src/router/homeowner/violations/index.js","webpack:///./src/router/homeowner/amenities/index.js","webpack:///./src/router/homeowner/workOrderRequests/index.js","webpack:///./src/router/homeowner/communityCenter/index.js","webpack:///./src/router/homeowner/billing/index.js","webpack:///./src/router/homeowner/evoting/index.js","webpack:///./src/router/homeowner/customerSupport/index.js","webpack:///./src/router/homeowner/routes.js","webpack:///./src/router/homeowner/index.js","webpack:///./src/directives/LazyLoadDirective.js","webpack:///./src/filters.js","webpack:///./src/buefy.config.js","webpack:///./src/validation.js","webpack:///./src/init.js","webpack:///./src/main.homeowner.js","webpack:///./src/services/DocumentCenter/store.js","webpack:///./src/components/Modal/index.vue?dce2","webpack:///./src/utilities/Number/isInteger.js","webpack:///./src/utilities/data/toInteger.js","webpack:///./src/containers/PageContentLayoutOnly.vue?89c0","webpack:///src/containers/PageContentLayoutOnly.vue","webpack:///./src/containers/PageContentLayoutOnly.vue?cd82","webpack:///./src/containers/PageContentLayoutOnly.vue","webpack:///./src/assets/images/onboardingmyway.png","webpack:///./src/services/Notifications/store.js","webpack:///./src/utilities/zIndexes/index.js","webpack:///./node_modules/moment/locale sync ^\\.\\/.*$","webpack:///./src/services/TwoFactorAuthentication/store.js","webpack:///./src/services/notify.js","webpack:///./src/components/navs/Top/index.vue?bbb4","webpack:///./src/services/Payments/HomeOwner/BankSummary/store.js","webpack:///./src/utilities/window/store.js","webpack:///./src/services/kms.js","webpack:///./src/services/_auth/procedures/authHeaders.js","webpack:///./src/services/_auth/procedures/forceTokenRefresh.js","webpack:///./src/services/_auth/procedures/getAssociations.js","webpack:///./src/services/_auth/procedures/getStorageKey.js","webpack:///./src/services/_auth/constants/cookie.js","webpack:///./src/services/_auth/procedures/getToken.js","webpack:///./src/services/_auth/procedures/getUnits.js","webpack:///./src/services/_auth/procedures/hasPermission.js","webpack:///./src/services/_auth/procedures/hasValidToken.js","webpack:///./src/services/_auth/procedures/initAuth.js","webpack:///./src/services/_auth/procedures/initAuthRefreshToken.js","webpack:///./src/services/_auth/procedures/initUser.js","webpack:///./src/services/_auth/procedures/loginCheckMultiFactor.js","webpack:///./src/services/_auth/procedures/login.js","webpack:///./src/services/_auth/procedures/logout.js","webpack:///./src/services/_auth/procedures/saveToken.js","webpack:///./src/services/_auth/procedures/twoFactorLogin.js","webpack:///./src/services/_auth/procedures/updateToken.js","webpack:///./src/services/_auth/index.js","webpack:///./src/services/Surveys/HomeOwner/Welcome/store.js","webpack:///./src/services/errors.js","webpack:///./src/components/Sidebar/components/Desktop/index.vue?5766","webpack:///./src/components/navs/Top/index.vue?9f7d","webpack:///./src/pages/Shared/suggestions/newSuggestion/index.vue?89ee","webpack:///./src/components/Sidebar/components/Mobile/index.vue?c357","webpack:///./src/components/Overlays/store.js","webpack:///./src/components/Modal/index.vue?9066","webpack:///./src/components/Modal/keys/beforeDestroy.js","webpack:///./src/components/Modal/keys/data.js","webpack:///./src/components/Modal/keys/props.js","webpack:///./src/components/Modal/keys/methods.js","webpack:///./src/components/Modal/keys/mounted.js","webpack:///./src/components/Modal/keys/watch.js","webpack:///src/components/Modal/index.vue","webpack:///./src/components/Modal/index.vue?ace3","webpack:///./src/components/Modal/index.vue","webpack:///./src/components/inputs/ValidInput/index.vue?4814","webpack:///src/components/inputs/ValidInput/index.vue","webpack:///./src/components/inputs/ValidInput/index.vue?f75d","webpack:///./src/components/inputs/ValidInput/index.vue","webpack:///./src/assets/images/logo-icon.svg","webpack:///./src/config.js","webpack:///./src/assets/images/logo.svg"],"names":["webpackJsonpCallback","data","moduleId","chunkId","chunkIds","moreModules","executeModules","i","resolves","length","Object","prototype","hasOwnProperty","call","installedChunks","push","modules","parentJsonpFunction","shift","deferredModules","apply","checkDeferredModules","result","deferredModule","fulfilled","j","depId","splice","__webpack_require__","s","installedModules","installedCssChunks","jsonpScriptSrc","p","exports","module","l","e","promises","cssChunks","Promise","resolve","reject","href","fullhref","existingLinkTags","document","getElementsByTagName","tag","dataHref","getAttribute","rel","existingStyleTags","linkTag","createElement","type","onload","onerror","event","request","target","src","err","Error","code","parentNode","removeChild","head","appendChild","then","installedChunkData","promise","onScriptComplete","script","charset","timeout","nc","setAttribute","error","clearTimeout","chunk","errorType","realSrc","message","name","undefined","setTimeout","all","m","c","d","getter","o","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","oe","console","jsonpArray","window","oldJsonpFunction","slice","render","_vm","this","_h","$createElement","_c","_self","attrs","staticClass","style","width","$route","path","loggedIn","sidebarMenuItems","_e","staticRenderFns","styles","_t","Vue","use","Vuex","sidebarStore","Store","state","indexOpen","settingsOpen","mutations","showIndex","hideIndex","showSettings","hideSettings","actions","toggleIndex","commit","toggleSettings","getters","crate","freeze","position","top","left","padding","borderRadius","boxShadow","transition","stylePresets","methods","transform","margin","mounted","unsubSidebarStore","subscribe","mType","unsubWindowStore","dispatch","beforeDestroy","component","overflowX","includes","appId","menuItems","class","zIndex","height","on","sidebarHover","authUserType","paddingRight","overflowY","maxHeight","scrollbarColor","theme","color","scrollbarWidth","_l","item","index","to","label","iconC","display","_v","_s","stroke","props","default","String","components","HouseIcon","computed","expand","ref","alignItems","nativeOn","$event","pageChange","arguments","1","currentPath","activeColor","icon","2","assign","bottom","staticStyle","size","palette","_get","paddingLeft","cursor","minHeight","show","$refs","homeLink","focus","hide","mutation","watch","Logo","Leave","whiteSpace","openHOASelector","hoaName","mapGetters","ownerID","authUser","right","toggle","modalContent","modal","maxWidth","textAlign","hoa","hoaID","currentHOA","_f","Modal","Boolean","associations","Array","Number","nav","setHOAName","hoaId","_hoa","a","overlaysStore","HOASelectorModal","UserIcon","DesktopSideBar","SettingsMobileSideBar","MobileSideBar","topNavHeight","background","justifyContent","toggleSidebar","scope","flexGrow","preventDefault","redirectToCustomerSupport","loadGlobalConversations","alertsIconClicked","alerts","dropdownTriggers","dropdownChange","scopedSlots","_u","fn","active","alert","id","overflow","float","showAllAlerts","userType","loadGlobalSuggestions","breakpoint","proxy","$t","platformUrl","directives","rawName","expression","$$selectedVal","filter","options","selected","map","val","_value","currentAssociation","multiple","domProps","ownerUnitList","uniqOwnerUnitList","unitLabel","slot","model","callback","$$v","currentUnit","unit","currentLabel","toggleSuggestion","mapState","unitId","routeName","created","loadOwnerUnits","updateAlerts","loadPlatformUrl","alertGradient","firstAuth","search","toggleUserMenu","isScrollable","isDebug","showAlertsDropdown","alertCount","fontSize","zIndexes","topNav","Login","email","password","clientType","exception","axios","post","KMS_BACKEND","catch","ex","res","response","status","token","authorization","params","getPlatformUrls","debug","kms","JSON","stringify","users","mapActions","$store","setDefault","uniqBy","privacyPolicyUrl","$router","clearIconClick","delivery","notificationStore","deliveryType","list","navAlerts","content","parse","Message","open","uniqeArray","from","Set","windowStore","localStorage","setItem","body","opacity","go","Cookies","set","btoa","KMS_AUTH_TOKEN","domain","KMS_AUTH_DOMAIN","expires","handleSubmit","onFormSubmit","formData","$set","closeModal","errors","addSuggestion","suggestionText","done","aspNetUserID","results","suggestionID","notifyMessage","notifyError","notifyProblem","getSuggestionById","suggestion","getSuggestionList","ellipsisCharacterCount","log","deleteSuggestion","delete","wasDeleted","suggestionStore","PageContentLayoutOnly","ValidationObserver","ValidationProvider","ValidInput","formComplete","$emit","i18n","messages","en","firstLetter","secondLetter","names","info","x","MobileButton","SuggestionModal","TopNav","Sidebar","Page","AppContent","beforeCreate","savedPosition","hash","selector","y","gtag","dataLayer","configure","scriptHead","innerText","prepend","noscriptBody","isLocal","VUE_APP_ENVIRONMENT","process","GoogleAnalytics","app_id","_isLocal","VUE_APP_MEASUREMENT_ID","VUE_APP_MEASUREMENT_ID_MANAGEMENT","VUE_APP_MEASUREMENT_ID_VENDOR","VUE_APP_MEASUREMENT_ID_HOMEOWNER","VUE_APP_MEASUREMENT_ID_ONBOARDING","afterEach","fullPath","unreadRetrievalInterval","isDebug2","pushPendingDetailListDto","accountID","amount","description","existingPendingDetails","lineItem","clearPendingDetailListDto","getAccountTypeList","dropdownAccountTypes","getAccountTypeExpenseIncomeList","getFundTypeList","dropdownFundTypes","getExpenseCategoryList","dropdownExpenseCategories","getAccountsPayableApInvoiceList","rootState","payload","user","selectedHoaId","vendorGlobalID","filterName","filterPayeeName","filterInvoiceNumber","filterAmountFrom","amountFrom","filterAmountTo","amountTo","filterStartDate","startCreatedDate","filterEndDate","endCreatedDate","toString","startBillingDate","endBillingDate","glExpenseId","filterGlExpenseID","apInvoices","getPendingGlTransactionsHeaderList","pendingHeaders","getApInvoiceAttachmentList","invoiceAttachments","getGlChartOfAccountsList","chartOfAccounts","getAccountsReceivableStatistics","accountsReceivableStatistics","getAssetAccountBalanceList","getPayeeList","payees","dropDownPayees","apPayeeID","ownerName","vendorName","f","unshift","getGlExpenseList","hasExpenseOnly","accountType","glExpenses","dropDownGlExpenses","accountId","accountNumber","subAccountNumber","padStart","getApInvoiceStatusList","apInvoiceStatuses","getApInvoiceLineItemList","apInvoiceID","apInvoiceLineItems","getAccountsList","accountsList","getExpenseCategoriesList","categoryList","dropDownCategories","expenseCategoryId","getApInvoiceNoteList","apInvoiceNotes","getGlTransactionList","transactions","getAnnualIncomeExpenseByDates","year","getApInvoiceById","invoice","getApSettingById","setting","getApInvoiceAttachmentById","apInvoiceAttachmentID","invoiceAttachment","getApprovalApInvoiceStatusByCodeName","codeName","invoiceStatus","getApInvoiceApproverApprovalById","approvalApprover","uploadApInvoiceDocument","FormData","append","file","uploadedInvoiceFile","uploadApInvoiceAttachmentDocument","uploadedInvoiceAttachmentFile","updateInvoiceAttachment","updateInvoiceCharge","apInvoiceLineItemID","glExpenseAccountId","put","updateInvoiceNote","apInvoiceNoteID","note","updateApSetting","apSettingID","updateInvoiceApproval","apInvoiceApprovalApproverID","approveInvoiceApproval","details","updateAccount","addBatchProcessPendingPostToGl","postReversingEntries","postingDate","pendingGlTransactionDetails","addNote","addApSetting","addAccount","deletePendingGlTransaction","pendingGlTransactionHeaderID","deleteInvoiceCharge","deleteInvoiceNote","deleteGlAccount","deleteInvoiceAttachment","accountsPayableApInvoiceList","glChartOfAccountsList","apInvoiceStatusList","payeeDropDownList","glExpenseDropDownList","pendingGlTransactionHeaderList","apInvoice","apInvoiceAttachment","apInvoiceStatus","apInvoiceLineItemList","apInvoiceNoteList","apInvoiceAttachmentList","glExpenseCategoryList","apInvoiceApprovalApprover","apSetting","glTransactions","accountTypeList","accountTypeIncomeExpenseList","fundTypeList","expenseCategoriesList","pendingGlTransactionDetailListDto","assetAccountBalances","annualBalances","save","prop","accounting","namespaced","unreadList","listUpdate","unreadListUpdate","retrieveUnreadListOnRepeat","setInterval","stopRetrievingUnreadListOnRepeat","clearInterval","retrieveUnreadList","deliveryTypeCodeName","forCurrentUser","unreadOnly","retrieveList","markAsRead","each","alertID","Toast","duration","subscriptionNotificationList","notificationDeliveryTypeList","getSubscriptionNotificationList","recipientType","vendorUserID","alertSubscriptions","getNotificationDeliveryList","supportsManagementAlerts","alertDeliveryTypes","processNotificationSubscriptions","alertSubscription","selectedArchitecturalSubmission","architecturalSubmission","architecturalSubmissionNote","architecturalSubmissionAttachment","architecturalCategory","committeeSetting","validCommittee","architecturalSubmissionsList","architecturalSubmissionNoteList","architecturalSubmissionAttachmentList","architecturalCategoryList","pendingArchitecturalVotesForCommitteeMemberList","architecturalVoteList","architecturalStipulationList","requestImages","requestImagesPreview","requestAttachmentImages","requestAttachmentImagesPreview","uploadedRequestFile","uploadedRequestAttachmentFile","loadCommitteeSetting","committee","loadValidCommitteeCheck","committeeID","isValidCommittee","loadArchitecturalSubmission","architecturalSubmissionID","submission","loadArchitecturalSubmissionNote","submissionNote","loadArchitecturalSubmissionAttachment","submissionAttachment","loadArchitecturalCategory","category","getArchitecturalVotesForCommitteeMemberList","architecturalPendingVotes","getArchitecturalSubmissions","approvedStatus","pendingStatus","deniedStatus","pendingNotVotedStatus","architecturalSubmissions","getArchitecturalSubmissionNotes","architecturalSubmissionNotes","getArchitecturalSubmissionAttachments","architecturalSubmissionAttachments","getArchitecturalCategories","architecturalCategories","dropdownCategories","architecturalCategoryID","getArchitecturalCategoriesForInline","text","getArchitecturalVotes","architecturalVotes","uploadRequestDocument","uploadRequestAttachmentDocument","architecturalSubmissionAttachmentID","existingArchitecturalSubmissionID","newFileName","architecturalSubmissionDto","architectural","reloadBankAccount","loadBankAccountCheckingList","hasCheckingOnly","accounts","checkingBankAccounts","bankAccountID","loadBankAccountTypesList","accountTypes","bankAccountTypes","bankAccountTypeID","loadBankAccounts","retrieveReconciliationSums","bankAccounts","loadBankAccountListings","showUnreconciledOnly","targetDate","bankAccountListings","summedUnreconciledBankAccounts","summedAmount","summedUnreconciledBankAccountListingDebits","summedDebitAmount","summedUnreconciledBankAccountListingCredits","summedCreditAmount","loadCheckbookEntries","checkbookEntries","summedUnreconciledCheckbookEntries","summedUnreconciledCheckbookDebits","summedUnreconciledCheckbookCredits","loadBankAccountBalances","startDate","endDate","bankAccountBalances","loadBankAccountBalanceUncleared","bankAccountUnclearedBalance","loadBankAccountListing","bankAccountListingId","bankAccountListing","loadBankAccount","bankAccountId","bankAccount","loadGlBalance","glBalance","selectFinancialInstitutionId","financialInstitutionId","selectPlaidInstitutionId","plaidInstitutionId","selectPlaidAccountIds","plaidAccountIds","selectedFinancialInstitutionId","selectedPlaidInstitutionId","selectedPlaidAccountIds","setFinancialInstitutionId","setPlaidInstitutionId","setPlaidAccountIds","plaidAccounts","bankaccount","budgetList","budgetAccountsList","budgetAccountTotals","budgetAmountTotals","budgetAmountsList","fiscalYearPeriodList","getBudgetList","budgets","getBudgetAccountsList","budgetID","returned","currentYearTotalIncome","currentYearTotalIncomePerMonth","currentYearTotalIncomePerUnitPerMonth","currentYearTotalExpense","currentYearTotalExpensePerMonth","currentYearTotalExpensePerUnitPerMonth","currentYearTotalAssessedIncome","currentYearTotalAssessedIncomePerMonth","currentYearTotalAssessedIncomePerUnitPerMonth","getBudgetAmountsList","budgetAccountID","totalAmountBudgeted","totalLastActuals","totalLastBudgeted","getPeriodsByFiscalYear","fiscalYear","updateBudget","updateBudgetAccount","updateBudgetAmount","budgetAmountID","upsertBudgetAmount","copyBudget","addBudget","numberOfPeriods","isAuthoritative","addBudgetAccount","glAccountID","addBudgetAmount","periodNumber","deleteBudget","deleteBudgetAccount","committeeList","committeeMemberList","committeeTitleList","committeeTypeList","committeeMember","getCommitteeList","committees","loadCommittee","committeeLoaded","committeeDetails","updateCommittee","committeeTypeID","isActive","addCommittee","deleteCommittee","loadCommitteeMember","committeeMemberID","committeeMemberLoaded","deleteCommitteeMember","forceDelete","recordID","getCommitteeMemberList","committeeMembers","updateCommitteeMember","addCommitteeMember","getCommitteeTitleList","committeeTitles","filtered","committeeTitleID","title","getCommitteeTypeList","committeeTypes","state_","helpers","units","glAccounts","glAssetAccountsList","glInterestIncomeAccountsList","glAccountTransactions","glAccount","ownerAccountTransactions","ownerAccountChargeTypeBalances","ownerAccountBalance","owners","vendors","ownerDropDownList","addressDropDownList","vendorDropDownList","hoaAccountManagingUserList","reloadHOA","loadVendors","v","vendorID","sort","b","loadUnits","startRecord","recordCount","includeOwnerContacts","loadDropDownAddressList","addresses","dropDownAddresses","address","addressID","addressOne","city","postalCode","unitID","loadDropDownOwnersList","dropDownOwners","primaryOwner","loadUnit","loadGLAccounts","_search","toLowerCase","loadHoaAccountManagingUserList","dropDown","_cloneDeep","accountManagingUser","identityInformation","hoaAccountManagingUserID","loadAssetGLAccountsList","filteredResults","asset","loadInterestIncomeGLAccountsList","income","loadGLAccountTransactions","moment","format","HTML5_FMT","DATE","beginningBalance","endingBalance","totalDebits","totalCredits","netChange","debitAmount","creditAmount","loadOwnerAccountTransactions","showWaiverSummaries","arQueryTransactions","arQueryChargeTypeBalances","balance","ownersList","u","_type","vendorsList","payeesList","newInvoice","editInvoice","uploadedFile","uploadDocument","invoices","layout","unitIDIsValid","parseInt","photos","properties","getList","problems","asyncEachOf","photo","unitPhotoID","asBase64","photoData","RosterUnitPhoto","logJSON","hasKey","obj","getSubscriptionHoaFeatures","subscriptionID","addOnsOnly","hoaFeatures","getHoaSubscription","subscription","loadGlExpenseAccountList","glExpenseAccounts","getApSetting","getCurrentMonthlyBillAmount","currentBillAmount","getSubscriptionList","getSubscriptionReceiptList","getSubscriptionAddOnHoaFeatures","setDTO","blob","filterFeatures","subscriptions","getItem","problem","warn","DTO","_state","subscriptionList","parsedHOAFeatures","hoaAddOnFeatures","hasHOAFeature","featureId","subscriptionReceipts","currentMonthlyBillAmount","parseInteger","isInteger","parseHOAFeatures","features","forEach","merge","createdDate","Date","deletedDate","modifiedDate","subscriptionGroupID","isHidden","isArchived","subscriptionFeatures","isMonthlySubscription","monthlyCost","yearlyCost","expirationDate","beryllonite","shadow","regular","colors","mainGradient","3","4","5","6","7","8","9","10","statesList","ownerUnit","selectedUnitId","selectedOwnerId","unitImageBase64","setUnitId","setUnitImageBase64","getStatesList","states","dropdownStates","useAbbreviated","abbreviation","stateID","getDefaultUnitImage","defaultImage","loadLocaleMessages","require","es","VueI18n","locale","fallbackLocale","startingState","authUserV2","authReady","authError","authLoading","selectedLocale","homeownerSelectedUnit","managementSelectedHoa","retrieveUser","requiresTwoFactor","hoaIDInteger","dataToInteger","currentHoaId","myHoaId","currentUnitId","currentOwnerId","ownerId","selectHOA","parsedUser","storedHOAId","isArray","useStoredId","association","removeItem","setUser","ownerUser","adminUser","vendorUser","setError","startLoading","setLocale","setHoaId","setRequiresTwoFactor","setHomeownerSelectedUnit","ownerUsers","filteredAssociations","cloneDeep","login","isEmail","auth","initAuth","userSet","loGet","root","initAuthRefreshToken","userRetrieve","initUser","loginCheckMultiFactor","additionalAuthenticationTypes","twoFactorLogin","refreshToken","expiration","logout","toggleLocale","selectHoaId","getOwnerUnits","hasValidToken","dropDownUnits","primaryOwnerID","hoaid","setUnitFromCookie","currentUnitJson","currentUnitData","atob","selectedUnitID","ownerUnits","selectedListItem","find","getOwnerUnitsWithDefault","isClosed","observationDate","observationDescription","observedBy","ownerAddress","containerID","uploadedDocumentIds","violationActionID","violationEscalationID","violationFormLetterID","violationTypeID","isReportOccurrenceOnly","isFromDetail","showExisting","reportViolationOccurrenceID","reportViolationType","escalationTypes","selectedViolation","violation","violationOccurrence","violationImages","violationImagesPreview","violationImageDocument","violationDocumentIds","violationsList","violationsOccurrencesList","violationTypeList","violationOccurrencePhotosList","violationFormLetter","violationFile","toggleChangedAndReload","selectedViolationOccurrence","getEscalationTypes","escalation","violationActions","getViolationGetFile","getViolation","violationID","getViolationOccurrence","violationOccurrenceID","getViolationsOccurrencesByOwner","violationOccurrences","getViolations","violations","getViolationOccurrences","getViolationOccurrencePhotos","violationOccurrencePhotos","getViolationTypes","types","getViolationFormLetterByActionId","setToggleChangedAndReload","reload","setSelectedViolation","setSelectedOwnerId","setViolation","setViolationImages","setViolationImages2","uploadedViolationImageFile","docs","setViolationImagesPreview","count","workOrderList","workOrderTypeList","documentsList","workOrder","workOrderDocument","workOrderPhoto","uploadedWorkOrderDocumentFile","workOrderDocumentFile","workOrderPhotoFile","getWorkOrderList","parameters","onDone","workOrders","getWorkOrderTypeList","workOrderTypes","workOrderTypeDropDownList","workOrderTypeID","getWorkOrderDocumentsList","workOrderDocuments","getWorkOrderById","workOrderID","workorder","getWorkOrderDocumentById","workOrderDocumentID","getWorkOrderDocumentGetFile","getWorkOrderPhotoGetFile","addWorkOrder","locationDescription","detailedDescription","specialInstructions","completeByDate","addWorkOrderDocument","addWorkOrderPhoto","addWorkOrderNote","workOrderNoteID","updateWorkOrder","updateWorkOrderDocument","remove","reomove","updateWorkOrderPhoto","workOrderPhotoID","updateWorkOrderNote","uploadWorkOrderDocument","existingWorkOrderDocumentID","uploadWorkOrderPhoto","existingWorkOrderPhotoID","uploadedWorkOrderPhotoFile","updateWorkOrderDocumentAttachment","updateWorkOrderPhotoAttachment","deleteWorkOrder","deleteWorkOrderNote","deleteWorkOrderPhoto","deleteWorkOrderDocument","win","change","selectedVendorID","selectedBoardCommitteeID","selectedOtherCommitteeID","selectedOwnerIDs","selectedOwnerIDsJson","selectedVendorIDs","selectedVendorIDsJson","selectedAccountManagerIDS","selectedAccountManagerIDsJson","modify","saveVendorID","saveVendorIDs","vendorIds","vendorIdsJson","saveBoardCommitteeID","saveOtherCommitteeID","saveOwnerIDs","ownerIds","ownerIdsJson","saveAccountManagerIDs","accountManagerIds","accountManagerIdsJson","conversation","supportMailDelivery","emailSubject","smsSubject","supportSMSDelivery","supportPushDelivery","supportEmailDelivery","isLegalCommunication","isFullDuplex","isColor","uploadFile","mailingTypeID","mailMessage","emailMessage","smsMessage","emailMessageSubject","mailingCommunicationID","selectedDeliveryOwners","selectedDeliveryOwnerIDs","pdfFileName","deliveryDate","communicationDescription","timezone","initStates","saveMailingTypeID","saveSupportMailDelivery","saveSupportEmailDelivery","saveSupportSMSDelivery","saveSupportPushDelivery","saveDeliveryDate","saveDeliveryOwners","saveDeliveryOwnerIDs","saveEmailSubject","savePdfFileName","saveDescription","saveSmsSubject","saveIsLegalCommunication","selectedUploadFile","composedMailMessage","composedEmailMessage","composedSmsMessage","composedEmailSubject","saveSessionCommunicationID","saveIsFullDuplex","saveIsColor","saveTimezone","communication","amenityID","reservationOwnerID","saveAmenityID","saveReservationOwnerID","saveStartDate","saveEndDate","amenity","appVersion","VERSION","next","store","query","nextUrl","beforeEnter","authGuard","marquee","marginBottom","announcementHtml","surveys","balanceSummary","governingDocuments","getMarqueeAnnouncementList","filterByDates","deleteMarqueeAnnouncements","marqueeAnnouncementID","addMarqueeAnnouncement","publishDate","updateMarqueeAnnouncement","marqueeAnnouncementStore","styles_","subtitle","balanceSummaryData","currentBalance","lastPaymentReceived","nextAssessmentDue","pendingPayments","autoPayment","bankName","assetSummary","operating","reserve","workingCapital","financialSummary","totalIncome","totalExpense","difference_appearance","difference","col1","col2","button","dropdown","hrefList","marginLeft","isAlternatingRowColors","prefix","Card","unitReady","children","redirect","routes","communityCenter","commonRoutes","Amenities","Violations","ArchitecturalRequests","WorkOrderRequests","billing","evoting","customerSupport","Welcome","VueRouter","NODE_ENV","BASE_URL","base","router","scrollBehavior","beforeEach","indexOf","inserted","el","loadImage","imageElement","nodeName","addEventListener","classList","add","dataset","url","handleIntersect","entries","observer","entry","isIntersecting","unobserve","createObserver","threshold","IntersectionObserver","observe","currencyFormatter","Intl","NumberFormat","currency","formatDate","install","fromNow","phone","replace","toUpperCase","defaultIconPack","rules","keys","rule","extend","required","App","Buefy","buefyConfig","sync","filters","config","productionTip","directive","LazyLoadDirective","VueGoogleMaps","load","libraries","h","$mount","APP_ID","init","getDocumentCenterList","governingDocumentCategoryID","getDocumentCategoryList","getDocumentFile","deleteGoverningDocument","governingDocumentID","addGoverningDocument","documentID","updateGoverningDocument","uploadedGoverningDocumentFile","returnedFile","documentCenterStore","characters","parsed","isNaN","getNotificationList","setDelivered","notificationIDs","modals","webpackContext","req","webpackContextResolve","loadTwoFactorTypes","myList","getAuthenticatorQrCode","qrCodeData","getExistingAuthenticationList","checkAuthenticatorCode","checked","checkFirstUseMultiFactor","firstLoginMultifactor","saveFirstLoginMultiFactor","firstLoginMultiFactor","addAuthentication","methodType","authenticationData","priority","userAdditionalAuthenticationMethodID","sendCode","authenticationID","validateAuthenticationCode","deleteExistingAuthentication","twoFactorAuthentication","notifyWarning","getPaymentHistoryList","getPendingPaymentsMadeList","getBalanceSummaries","survey","bankSummary","desktop","tablet","initialed","breakPointChange","setBreakPoint","innerWidth","headers","extras","authHeaders","opt","handleServiceErrors","resp","getthirdparty","getReturnPureUrlWithHeader","postthirdpartyjwt","jwt","Authorization","post2","respData","successful","getToken","forceTokenRefresh","updateToken","getAssociations","hoas","getStorageKey","notes","getAuthScope","COOKIE_OPTS","json","getUnits","hasPermission","permissionName","decodedToken","split","permissions","permissionSet","hoaPermissions","currentHoaID","permissionList","expTime","exp","refreshTime","now","isVendorApp","conclusions","additionalAuthenticationRequired","saveToken","storage_key","partials","refresh","getSurveyNotCompletedList","showOnlyNotComplete","getSurveyHeaderById","surveyHeaderID","surveyHoList","AppError","captureStackTrace","constructor","stack","ValidationError","msg","fields","mapKeys","k","camelCase","location","join","Name","settings","classes","showHeader","flex","borderBottom","centerTitle","$slots","header2","loading","removeEventListener","onFocus","onKeyDown","transitionDurationString","transitionDuration","customWidth","uploadDescription","determineStyles","ariaLabel","h_full","h_width","newID","checkBeforeClose","Function","_merge","flexDirection","modalBackground","footer","borderTop","toggleChanged","panel","contains","stopPropagation","keyCode","yes","vid","$attrs","valid","_b","errorMessage","validateField","innerValue","optional","firstInnerValueChange","newVal","VUE_APP_KMS_BACKEND","VUE_APP_VERSION","VUE_APP_KMS_AUTH_DOMAIN","VUE_APP_KMS_AUTH_TOKEN","VUE_APP_KMS_SITE_ROOT","VUE_APP_FORTIS_JAVASCRIPT_PATH","VUE_APP_FORTIS_BASEURL","setId"],"mappings":"aACE,SAASA,EAAqBC,GAQ7B,IAPA,IAMIC,EAAUC,EANVC,EAAWH,EAAK,GAChBI,EAAcJ,EAAK,GACnBK,EAAiBL,EAAK,GAIHM,EAAI,EAAGC,EAAW,GACpCD,EAAIH,EAASK,OAAQF,IACzBJ,EAAUC,EAASG,GAChBG,OAAOC,UAAUC,eAAeC,KAAKC,EAAiBX,IAAYW,EAAgBX,IACpFK,EAASO,KAAKD,EAAgBX,GAAS,IAExCW,EAAgBX,GAAW,EAE5B,IAAID,KAAYG,EACZK,OAAOC,UAAUC,eAAeC,KAAKR,EAAaH,KACpDc,EAAQd,GAAYG,EAAYH,IAG/Be,GAAqBA,EAAoBhB,GAE5C,MAAMO,EAASC,OACdD,EAASU,OAATV,GAOD,OAHAW,EAAgBJ,KAAKK,MAAMD,EAAiBb,GAAkB,IAGvDe,IAER,SAASA,IAER,IADA,IAAIC,EACIf,EAAI,EAAGA,EAAIY,EAAgBV,OAAQF,IAAK,CAG/C,IAFA,IAAIgB,EAAiBJ,EAAgBZ,GACjCiB,GAAY,EACRC,EAAI,EAAGA,EAAIF,EAAed,OAAQgB,IAAK,CAC9C,IAAIC,EAAQH,EAAeE,GACG,IAA3BX,EAAgBY,KAAcF,GAAY,GAE3CA,IACFL,EAAgBQ,OAAOpB,IAAK,GAC5Be,EAASM,EAAoBA,EAAoBC,EAAIN,EAAe,KAItE,OAAOD,EAIR,IAAIQ,EAAmB,GAGnBC,EAAqB,CACxB,WAAc,GAMXjB,EAAkB,CACrB,WAAc,GAGXK,EAAkB,GAGtB,SAASa,EAAe7B,GACvB,OAAOyB,EAAoBK,EAAI,OAAS,CAAC,2BAA2B,2BAA2B,6FAA6F,6FAA6F,WAAa,aAAa,QAAU,UAAU,sBAAwB,wBAAwB,WAAa,aAAa,iCAAiC,iCAAiC,QAAU,UAAU,cAAgB,gBAAgB,+BAA+B,+BAA+B,mBAAqB,qBAAqB,kBAAkB,kBAAkB,UAAY,YAAY,iBAAmB,mBAAmB,SAAW,WAAW,aAAe,eAAe,gBAAkB,kBAAkB,2CAA2C,2CAA2C,8BAA8B,8BAA8B,gBAAkB,kBAAkB,cAAgB,gBAAgB,MAAQ,SAAS9B,IAAUA,GAAW,IAAM,CAAC,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,2BAA2B,WAAW,iBAAiB,WAAW,6FAA6F,WAAW,WAAa,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,QAAU,WAAW,iBAAiB,WAAW,sBAAwB,WAAW,WAAa,WAAW,iCAAiC,WAAW,QAAU,WAAW,iBAAiB,WAAW,cAAgB,WAAW,+BAA+B,WAAW,mBAAqB,WAAW,kBAAkB,WAAW,UAAY,WAAW,iBAAmB,WAAW,SAAW,WAAW,aAAe,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,gBAAkB,WAAW,2CAA2C,WAAW,8BAA8B,WAAW,gBAAkB,WAAW,cAAgB,WAAW,MAAQ,YAAYA,GAAW,MAI19E,SAASyB,EAAoB1B,GAG5B,GAAG4B,EAAiB5B,GACnB,OAAO4B,EAAiB5B,GAAUgC,QAGnC,IAAIC,EAASL,EAAiB5B,GAAY,CACzCK,EAAGL,EACHkC,GAAG,EACHF,QAAS,IAUV,OANAlB,EAAQd,GAAUW,KAAKsB,EAAOD,QAASC,EAAQA,EAAOD,QAASN,GAG/DO,EAAOC,GAAI,EAGJD,EAAOD,QAKfN,EAAoBS,EAAI,SAAuBlC,GAC9C,IAAImC,EAAW,GAIXC,EAAY,CAAC,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,QAAU,EAAE,iBAAiB,EAAE,sBAAwB,EAAE,WAAa,EAAE,cAAgB,EAAE,+BAA+B,EAAE,mBAAqB,EAAE,kBAAkB,EAAE,UAAY,EAAE,SAAW,EAAE,aAAe,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,gBAAkB,EAAE,cAAgB,EAAE,MAAQ,GAC3iBR,EAAmB5B,GAAUmC,EAASvB,KAAKgB,EAAmB5B,IACzB,IAAhC4B,EAAmB5B,IAAkBoC,EAAUpC,IACtDmC,EAASvB,KAAKgB,EAAmB5B,GAAW,IAAIqC,SAAQ,SAASC,EAASC,GAIzE,IAHA,IAAIC,EAAO,QAAU,CAAC,2BAA2B,2BAA2B,6FAA6F,6FAA6F,WAAa,aAAa,QAAU,UAAU,sBAAwB,wBAAwB,WAAa,aAAa,iCAAiC,iCAAiC,QAAU,UAAU,cAAgB,gBAAgB,+BAA+B,+BAA+B,mBAAqB,qBAAqB,kBAAkB,kBAAkB,UAAY,YAAY,iBAAmB,mBAAmB,SAAW,WAAW,aAAe,eAAe,gBAAkB,kBAAkB,2CAA2C,2CAA2C,8BAA8B,8BAA8B,gBAAkB,kBAAkB,cAAgB,gBAAgB,MAAQ,SAASxC,IAAUA,GAAW,IAAM,CAAC,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,2BAA2B,WAAW,iBAAiB,WAAW,6FAA6F,WAAW,WAAa,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,QAAU,WAAW,iBAAiB,WAAW,sBAAwB,WAAW,WAAa,WAAW,iCAAiC,WAAW,QAAU,WAAW,iBAAiB,WAAW,cAAgB,WAAW,+BAA+B,WAAW,mBAAqB,WAAW,kBAAkB,WAAW,UAAY,WAAW,iBAAmB,WAAW,SAAW,WAAW,aAAe,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,gBAAkB,WAAW,2CAA2C,WAAW,8BAA8B,WAAW,gBAAkB,WAAW,cAAgB,WAAW,MAAQ,YAAYA,GAAW,OACl8EyC,EAAWhB,EAAoBK,EAAIU,EACnCE,EAAmBC,SAASC,qBAAqB,QAC7CxC,EAAI,EAAGA,EAAIsC,EAAiBpC,OAAQF,IAAK,CAChD,IAAIyC,EAAMH,EAAiBtC,GACvB0C,EAAWD,EAAIE,aAAa,cAAgBF,EAAIE,aAAa,QACjE,GAAe,eAAZF,EAAIG,MAAyBF,IAAaN,GAAQM,IAAaL,GAAW,OAAOH,IAErF,IAAIW,EAAoBN,SAASC,qBAAqB,SACtD,IAAQxC,EAAI,EAAGA,EAAI6C,EAAkB3C,OAAQF,IAAK,CAC7CyC,EAAMI,EAAkB7C,GACxB0C,EAAWD,EAAIE,aAAa,aAChC,GAAGD,IAAaN,GAAQM,IAAaL,EAAU,OAAOH,IAEvD,IAAIY,EAAUP,SAASQ,cAAc,QACrCD,EAAQF,IAAM,aACdE,EAAQE,KAAO,WACfF,EAAQG,OAASf,EACjBY,EAAQI,QAAU,SAASC,GAC1B,IAAIC,EAAUD,GAASA,EAAME,QAAUF,EAAME,OAAOC,KAAOjB,EACvDkB,EAAM,IAAIC,MAAM,qBAAuB5D,EAAU,cAAgBwD,EAAU,KAC/EG,EAAIE,KAAO,wBACXF,EAAIH,QAAUA,SACP5B,EAAmB5B,GAC1BkD,EAAQY,WAAWC,YAAYb,GAC/BX,EAAOoB,IAERT,EAAQV,KAAOC,EAEf,IAAIuB,EAAOrB,SAASC,qBAAqB,QAAQ,GACjDoB,EAAKC,YAAYf,MACfgB,MAAK,WACPtC,EAAmB5B,GAAW,MAMhC,IAAImE,EAAqBxD,EAAgBX,GACzC,GAA0B,IAAvBmE,EAGF,GAAGA,EACFhC,EAASvB,KAAKuD,EAAmB,QAC3B,CAEN,IAAIC,EAAU,IAAI/B,SAAQ,SAASC,EAASC,GAC3C4B,EAAqBxD,EAAgBX,GAAW,CAACsC,EAASC,MAE3DJ,EAASvB,KAAKuD,EAAmB,GAAKC,GAGtC,IACIC,EADAC,EAAS3B,SAASQ,cAAc,UAGpCmB,EAAOC,QAAU,QACjBD,EAAOE,QAAU,IACb/C,EAAoBgD,IACvBH,EAAOI,aAAa,QAASjD,EAAoBgD,IAElDH,EAAOZ,IAAM7B,EAAe7B,GAG5B,IAAI2E,EAAQ,IAAIf,MAChBS,EAAmB,SAAUd,GAE5Be,EAAOhB,QAAUgB,EAAOjB,OAAS,KACjCuB,aAAaJ,GACb,IAAIK,EAAQlE,EAAgBX,GAC5B,GAAa,IAAV6E,EAAa,CACf,GAAGA,EAAO,CACT,IAAIC,EAAYvB,IAAyB,SAAfA,EAAMH,KAAkB,UAAYG,EAAMH,MAChE2B,EAAUxB,GAASA,EAAME,QAAUF,EAAME,OAAOC,IACpDiB,EAAMK,QAAU,iBAAmBhF,EAAU,cAAgB8E,EAAY,KAAOC,EAAU,IAC1FJ,EAAMM,KAAO,iBACbN,EAAMvB,KAAO0B,EACbH,EAAMnB,QAAUuB,EAChBF,EAAM,GAAGF,GAEVhE,EAAgBX,QAAWkF,IAG7B,IAAIV,EAAUW,YAAW,WACxBd,EAAiB,CAAEjB,KAAM,UAAWK,OAAQa,MAC1C,MACHA,EAAOhB,QAAUgB,EAAOjB,OAASgB,EACjC1B,SAASqB,KAAKC,YAAYK,GAG5B,OAAOjC,QAAQ+C,IAAIjD,IAIpBV,EAAoB4D,EAAIxE,EAGxBY,EAAoB6D,EAAI3D,EAGxBF,EAAoB8D,EAAI,SAASxD,EAASkD,EAAMO,GAC3C/D,EAAoBgE,EAAE1D,EAASkD,IAClC1E,OAAOmF,eAAe3D,EAASkD,EAAM,CAAEU,YAAY,EAAMC,IAAKJ,KAKhE/D,EAAoBoE,EAAI,SAAS9D,GACX,qBAAX+D,QAA0BA,OAAOC,aAC1CxF,OAAOmF,eAAe3D,EAAS+D,OAAOC,YAAa,CAAEC,MAAO,WAE7DzF,OAAOmF,eAAe3D,EAAS,aAAc,CAAEiE,OAAO,KAQvDvE,EAAoBwE,EAAI,SAASD,EAAOE,GAEvC,GADU,EAAPA,IAAUF,EAAQvE,EAAoBuE,IAC/B,EAAPE,EAAU,OAAOF,EACpB,GAAW,EAAPE,GAA8B,kBAAVF,GAAsBA,GAASA,EAAMG,WAAY,OAAOH,EAChF,IAAII,EAAK7F,OAAO8F,OAAO,MAGvB,GAFA5E,EAAoBoE,EAAEO,GACtB7F,OAAOmF,eAAeU,EAAI,UAAW,CAAET,YAAY,EAAMK,MAAOA,IACtD,EAAPE,GAA4B,iBAATF,EAAmB,IAAI,IAAIM,KAAON,EAAOvE,EAAoB8D,EAAEa,EAAIE,EAAK,SAASA,GAAO,OAAON,EAAMM,IAAQC,KAAK,KAAMD,IAC9I,OAAOF,GAIR3E,EAAoB+E,EAAI,SAASxE,GAChC,IAAIwD,EAASxD,GAAUA,EAAOmE,WAC7B,WAAwB,OAAOnE,EAAO,YACtC,WAA8B,OAAOA,GAEtC,OADAP,EAAoB8D,EAAEC,EAAQ,IAAKA,GAC5BA,GAIR/D,EAAoBgE,EAAI,SAASgB,EAAQC,GAAY,OAAOnG,OAAOC,UAAUC,eAAeC,KAAK+F,EAAQC,IAGzGjF,EAAoBK,EAAI,IAGxBL,EAAoBkF,GAAK,SAAShD,GAA2B,MAApBiD,QAAQjC,MAAMhB,GAAYA,GAEnE,IAAIkD,EAAaC,OAAO,gBAAkBA,OAAO,iBAAmB,GAChEC,EAAmBF,EAAWjG,KAAK2F,KAAKM,GAC5CA,EAAWjG,KAAOf,EAClBgH,EAAaA,EAAWG,QACxB,IAAI,IAAI5G,EAAI,EAAGA,EAAIyG,EAAWvG,OAAQF,IAAKP,EAAqBgH,EAAWzG,IAC3E,IAAIU,EAAsBiG,EAI1B/F,EAAgBJ,KAAK,CAAC,EAAE,kBAEjBM,K,guCC1QL+F,EAAS,WAAa,IAAIC,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,aAAa,CAACE,MAAM,CAAC,KAAO,OAAO,OAAS,KAAK,CAACF,EAAG,MAAM,CAACG,YAAY,gBAAgBC,MAAM,CAAGC,MAAO,UAAY,CAAsB,uBAApBT,EAAIU,OAAOC,MAAiCX,EAAIY,SAAUR,EAAG,UAAU,CAACE,MAAM,CAAC,aAAaN,EAAIa,oBAAoBb,EAAIc,KAAKV,EAAG,MAAM,CAAGJ,EAAIY,SAAyDZ,EAAIc,KAAnDV,EAAG,iBAAiB,CAACE,MAAM,CAAC,aAAa,OAAgB,GAAGF,EAAG,aAAa,CAAEJ,EAAIY,UAAgC,uBAApBZ,EAAIU,OAAOC,KAA+BP,EAAG,UAAU,CAACE,MAAM,CAAC,gBAAgBN,EAAIa,oBAAoBb,EAAIc,KAAKV,EAAG,OAAO,CAACA,EAAG,aAAa,CAACG,YAAY,cAAcD,MAAM,CAAC,KAAO,OAAO,KAAO,SAAS,OAAS,KAAK,CAACF,EAAG,gBAAgB,IAAI,IAAI,IAAI,MACnsBW,EAAkB,G,wBCDlB,EAAS,WAAa,IAAIf,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACI,MAAOR,EAAIgB,OAAY,OAAG,CAAChB,EAAIiB,GAAG,YAAY,IACpJ,EAAkB,G,8CCatBC,OAAIC,IAAIC,QACD,IAAMC,EAAe,IAAID,OAAKE,MAAM,CACzCC,MAAO,CACLC,WAAW,EACXC,cAAc,GAEhBC,UAAW,CACHC,UADG,SACOJ,GAAO,6IACrBA,EAAMC,WAAY,EADG,8CAGjBI,UAJG,SAIOL,GAAO,6IACrBA,EAAMC,WAAY,EADG,8CAIjBK,aARG,SAQUN,GAAO,6IACxBA,EAAME,cAAe,EADG,8CAGpBK,aAXG,SAWUP,GAAO,6IACxBA,EAAME,cAAe,EADG,+CAK5BM,QAAS,CAIDC,YAJC,YAI8B,qJAAjBC,EAAiB,EAAjBA,OAAQV,EAAS,EAATA,MACrBA,EAAMC,UAITS,EAAO,cAHPA,EAAO,gBACPA,EAAO,cAH0B,8CAQ/BN,UAZC,YAYqB,mJAAVM,EAAU,EAAVA,OAChBA,EAAO,gBACPA,EAAO,aAFmB,8CAItBL,UAhBC,YAgBqB,mJAAVK,EAAU,EAAVA,OAChBA,EAAO,aADmB,8CAMtBC,eAtBC,YAsBiC,qJAAjBX,EAAiB,EAAjBA,MAAOU,EAAU,EAAVA,OACvBV,EAAME,aAITQ,EAAO,iBAHPA,EAAO,aACPA,EAAO,iBAH6B,8CAQlCJ,aA9BC,YA8BwB,mJAAVI,EAAU,EAAVA,OACnBA,EAAO,aACPA,EAAO,gBAFsB,8CAIzBH,aAlCC,YAkCwB,mJAAVG,EAAU,EAAVA,OACnBA,EAAO,gBADsB,+CAKjCE,QAAS,K,iCCpEX,MAOA,GACEvJ,KADF,WAEI,IAAJ,GACMwJ,MAAO/I,OAAOgJ,OAAO,CACnBC,SAAU,WAEVC,IAAK,EACLC,KAAM,EAENC,QAAS,MAETC,aAAc,OAEdC,UAAW,iCAUXC,WAAY,4DAIhB,MAAO,CACLC,aAAN,EACM7B,OAAQ,CACNoB,MAAO,IAAf,YAIEU,QAAS,CACPnB,UADJ,WAEM1B,KAAKe,OAAOoB,MAAMW,UAAY,cAApC,gBACM9C,KAAKe,OAAOoB,MAAMY,OAAS,OAC3B/C,KAAKe,OAAOoB,MAAMK,QAAU,OAC5BxC,KAAKe,OAAOoB,MAAMO,UAAY,sCAEhCf,UAPJ,WAOA,IACA,oBAEM3B,KAAKe,OAAOoB,MAAMW,UAAYF,EAAaT,MAAMW,UACjD9C,KAAKe,OAAOoB,MAAMY,OAASH,EAAaT,MAAMY,OAC9C/C,KAAKe,OAAOoB,MAAMK,QAAUI,EAAaT,MAAMK,QAC/CxC,KAAKe,OAAOoB,MAAMO,UAAYE,EAAaT,MAAMO,WAEnDd,aAfJ,WAgBM5B,KAAKe,OAAOoB,MAAMW,UAAY,eAApC,gBACM9C,KAAKe,OAAOoB,MAAMY,OAAS,OAC3B/C,KAAKe,OAAOoB,MAAMK,QAAU,OAC5BxC,KAAKe,OAAOoB,MAAMO,UAAY,sCAEhCb,aArBJ,WAqBA,IACA,oBAEM7B,KAAKe,OAAOoB,MAAMW,UAAYF,EAAaT,MAAMW,UACjD9C,KAAKe,OAAOoB,MAAMY,OAASH,EAAaT,MAAMY,OAC9C/C,KAAKe,OAAOoB,MAAMK,QAAUI,EAAaT,MAAMK,QAC/CxC,KAAKe,OAAOoB,MAAMO,UAAYE,EAAaT,MAAMO,YAGrDM,QAhEF,WAgEA,WACIhD,KAAKiD,kBAAoB7B,EAAa8B,WAAU,SAApD,GACM,IAAN,SAEoB,cAAVC,EACF,EAAR,YACA,gBACQ,EAAR,YACA,mBACQ,EAAR,eACA,oBACQ,EAAR,kBAIInD,KAAKoD,iBAAmB,EAA5B,4BACM,IAAN,SAEoB,qBAAVD,IACF/B,EAAaiC,SAAS,aACtBjC,EAAaiC,SAAS,qBAK5BC,cAzFF,WA0FItD,KAAKiD,oBACLjD,KAAKoD,qBCzGqU,I,YCO1UG,EAAY,eACd,EACA,EACA,GACA,EACA,KACA,KACA,MAIa,EAAAA,E,QClBX,EAAS,WAAa,IAAIxD,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACG,YAAY,cAAcC,MAAOR,EAAU,QAAG,CAACA,EAAIiB,GAAG,YAAY,IACxK,EAAkB,GCQtB,G,UAAA,CACErI,KADF,WAEI,MAAO,CACLoI,OAAQ,CACNyC,UAAW,aAIjBR,QARF,WAQA,WACIhD,KAAKiD,kBAAoB7B,EAAa8B,WAAU,SAApD,GACM,IAAN,SAEU,CAAC,YAAa,gBAAgBO,SAASN,GACzC,EAAR,0BACA,2CACQ,EAAR,gCAIEG,cAnBF,WAoBItD,KAAKiD,uBC7B2U,ICOhV,EAAY,eACd,EACA,EACA,GACA,EACA,KACA,KACA,MAIa,I,QClBX,EAAS,WAAa,IAAIlD,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAAkB,eAAhBJ,EAAI2D,QAA0BvD,EAAG,iBAAiB,CAACE,MAAM,CAAC,UAAYN,EAAI4D,aAAa5D,EAAIc,KAAsB,eAAhBd,EAAI2D,QAA0BvD,EAAG,gBAAgB,CAACE,MAAM,CAAC,UAAYN,EAAI4D,aAAa5D,EAAIc,KAAKV,EAAG,0BAA0B,IACpU,EAAkB,GCDlB,EAAS,WAAa,IAAIJ,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,aAAa,CAACE,MAAM,CAAC,KAAO,gBAAgB,KAAO,SAAS,OAAS,KAAK,CAACF,EAAG,MAAM,CAACyD,MAAM,8EAA8ErD,MAAM,CAC5QsD,OAAQ,GACRC,OAAQ,QACPzD,MAAM,CAAC,KAAO,aAAa,aAAa,8BAA8B0D,GAAG,CAAC,UAAYhE,EAAIiE,aAAa,WAAajE,EAAIiE,eAAe,CAAG,CAAC,cAAcP,SAAS1D,EAAIkE,cAAsYlE,EAAIc,KAA3XV,EAAG,MAAM,CAACG,YAAY,2BAA2B,CAACH,EAAG,cAAc,CAACG,YAAY,YAAYD,MAAM,CAAC,GAAK,CAAEK,KAAM,KAAM,aAAa,mBAAmB,CAACP,EAAG,MAAM,CAACG,YAAY,WAAWD,MAAM,CAAC,IAAM,EAAQ,QAAiC,IAAM,gBAAgBF,EAAG,MAAM,CAACG,YAAY,gBAAgBD,MAAM,CAAC,IAAM,EAAQ,QAA4B,IAAM,mBAAmB,GAAYF,EAAG,MAAM,CAACG,YAAY,6BAA6BC,MAAM,CAC7mBuD,OAAQ,oBACRI,aAAc,QACZ,CAAC/D,EAAG,KAAK,CAACG,YAAY,8BAA8BC,MAAM,CAC1D4D,UAAW,OACXX,UAAW,SACXY,UAAW,MACX5D,MAAO,OAEP6D,eAAkBtE,EAAIuE,MAAMC,MAAM,GAAM,IAAOxE,EAAIuE,MAAMC,MAAM,GAC/DC,eAAgB,SACdzE,EAAI0E,GAAI1E,EAAa,WAAE,SAAS2E,EAAKC,GAAO,OAAOxE,EAAG,KAAK,CAAChB,IAAIwF,EAAMpE,MAAM,CAC5E8B,SAAU,aACR,CAAClC,EAAG,cAAc,CAACG,YAAY,YAAYD,MAAM,CAAC,GAAKqE,EAAKE,GAAG,eAAe,SAAS,aAAaF,EAAKG,MAAQ,eAAe,CAAC1E,EAAG,MAAM,CAACG,YAAY,gBAAgB,CAACH,EAAG,MAAM,CAACG,YAAY,uBAAwBoE,EAAS,KAAEvE,EAAG,IAAI,CAACyD,MAAO,QAAWc,EAAS,OAAK3E,EAAIc,KAAKV,EAAGuE,EAAKI,MAAM,CAACpJ,IAAI,YAAY6E,MAAM,CAAGwE,QAAS,gBAAkB1E,MAAM,CAAC,OAAS,UAAUF,EAAG,QAAQ,CAACG,YAAY,4BAA4B,CAACP,EAAIiF,GAAGjF,EAAIkF,GAAGP,EAAKG,WAAW,GAAIH,EAAS,KAAEvE,EAAG,IAAI,CAACyD,MAAO,QAAWc,EAAS,OAAK3E,EAAIc,KAAKV,EAAGuE,EAAKI,MAAM,CAACpJ,IAAI,YAAY6E,MAAM,CAAGwE,QAAS,gBAAkB1E,MAAM,CAAC,OAAS,UAAUF,EAAG,QAAQ,CAACG,YAAY,yBAAyB,CAACP,EAAIiF,GAAGjF,EAAIkF,GAAGP,EAAKG,WAAW,IAAI,MAAK,KAAK1E,EAAG,MAAM,CAACG,YAAY,8BAA8B,CAK9hBP,EAAIc,YACjO,EAAkB,GCtBlB,EAAS,WAAa,IAAId,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACE,MAAM,CAAC,MAAQ,OAAO,OAAS,OAAO,QAAU,YAAY,QAAU,MAAM,MAAQ,6BAA6B,cAAc,iCAAiC,CAACF,EAAG,IAAI,CAACE,MAAM,CAAC,OAAS,OAAO,eAAe,IAAI,KAAO,OAAO,YAAY,UAAU,iBAAiB,QAAQ,kBAAkB,UAAU,CAACF,EAAG,IAAI,CAACE,MAAM,CAAC,UAAY,oCAAoC,OAASN,EAAImF,OAAO,eAAe,MAAM,CAAC/E,EAAG,IAAI,CAACE,MAAM,CAAC,UAAY,oCAAoC,CAACF,EAAG,IAAI,CAACE,MAAM,CAAC,UAAY,mCAAmC,CAACF,EAAG,OAAO,CAACE,MAAM,CAAC,EAAI,aAAa,EAAI,aAAa,MAAQ,aAAa,OAAS,gBAAgBF,EAAG,WAAW,CAACE,MAAM,CAAC,OAAS,qEAAqEF,EAAG,WAAW,CAACE,MAAM,CAAC,OAAS,mGACh2B,EAAkB,GCkCtB,GACE8E,MAAO,CACLD,OAAQ,CACNE,QAAS,OACTnJ,KAAMoJ,UCvCkV,ICO1V,EAAY,eACd,EACA,EACA,GACA,EACA,KACA,KACA,MAIa,I,QCyFf,GACEF,MAAO,CAAC,aAERG,WAAY,CACVC,UAAJ,GAGE5M,KAAM,WAAR,OACA,YAGE6M,SAAU,OAAZ,OAAY,CAAZ,kBACA,oDACA,gBACI,MAAJ,YAAM,OAAN,YAIE3C,QAAS,CACPmB,aADJ,WAEMhE,KAAKyF,QAAUzF,KAAKyF,UC/HkW,ICQxX,G,UAAY,eACd,EACA,EACA,GACA,EACA,KACA,WACA,OAIa,I,QCnBX,EAAS,WAAa,IAAI1F,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACI,MAAOR,EAAIgB,OAAY,MAAEV,MAAM,CAAC,iBAAiB,KAAK,CAACF,EAAG,MAAM,CAACuF,IAAI,WAAW9B,MAAM,gCAAgCrD,MAAM,CAChOsD,OAAQ,GACRC,OAAQ,QACPzD,MAAM,CAAC,KAAO,aAAa,aAAa,6BAA6B,SAAW,MAAM,CAACF,EAAG,MAAM,CAACG,YAAY,6BAA6BC,MAAM,CAAGuD,OAAQ,SAAW,CAAC3D,EAAG,KAAK,CAACG,YAAY,8BAA8BC,MAAM,CAC7NuD,OAAQ,MACRK,UAAW,WACT,CAAE,CAAC,aAAc,YAAa,cAAcV,SAAS1D,EAAI2D,SAAUvD,EAAG,KAAK,CAACA,EAAG,cAAc,CAACG,YAAY,YAAYC,MAAM,CAC1HwE,QAAS,OACTY,WAAY,UACXtF,MAAM,CAAC,GAAK,CAAEK,KAAM,KAAM,aAAa,kBAAkBkF,SAAS,CAAC,MAAQ,SAASC,GAAQ,OAAO9F,EAAI+F,WAAWhM,MAAM,KAAMiM,cAAc,CAAC5F,EAAG,OAAO,CAACE,MAAM,CAAC,QAAU,CACxK2F,EAAuB,MAApBjG,EAAIkG,YAAsBlG,EAAImG,YAAcnG,EAAIoG,KAAKjB,OACxDkB,EAAuB,MAApBrG,EAAIkG,YAAsBlG,EAAImG,YAAcnG,EAAIoG,KAAKjB,WACrD/E,EAAG,QAAQ,CAACI,MAAOR,EAAI8E,MAAW,OAAG,CAAC9E,EAAIiF,GAAG,WAAW,IAAI,GAAGjF,EAAIc,KAAKd,EAAI0E,GAAI1E,EAAa,WAAE,SAAS2E,EAAKC,GAAO,OAAOxE,EAAG,KAAK,CAAChB,IAAIwF,GAAO,CAACxE,EAAG,cAAc,CAACG,YAAY,YAAYC,MAAM,CACrMwE,QAAS,OACTY,WAAY,UACXtF,MAAM,CAAC,GAAKqE,EAAKE,GAAG,eAAe,SAAS,aAAaF,EAAKG,MAAQ,cAAce,SAAS,CAAC,MAAQ,SAASC,GAAQ,OAAO9F,EAAI+F,WAAWhM,MAAM,KAAMiM,cAAc,CAAErB,EAAU,MAAEvE,EAAGuE,EAAKI,MAAM,CAACpJ,IAAI,YAAY2E,MAAM,CAAC,OAASN,EAAIkG,cAAgBvB,EAAKE,GAAK7E,EAAImG,YAAcnG,EAAIoG,KAAKjB,UAAUnF,EAAIc,KAAKV,EAAG,QAAQ,CAACI,MAAOnH,OAAOiN,OAAO,GAAItG,EAAI8E,MAAMtE,MAAOnH,OAAOiN,OAAO,GAAKtG,EAAIkG,cAAgBvB,EAAKE,GAAK,CAAEL,MAAOxE,EAAImG,aAAgB,MAAQ,CAACnG,EAAIiF,GAAGjF,EAAIkF,GAAGP,EAAKG,WAAW,IAAI,OAAM,GAAG1E,EAAG,KAAK,CAACI,MAAM,CAAG8B,SAAU,WAAYiE,OAAQ,OAAQ/D,KAAM,SAAW,CAACpC,EAAG,KAAK,CAACA,EAAG,cAAc,CAACG,YAAY,YAAYC,MAAM,CAC5mBwE,QAAS,OACTY,WAAY,UACXtF,MAAM,CAAC,GAAK,WAAW,aAAa,WAAWuF,SAAS,CAAC,MAAQ,SAASC,GAAQ,OAAO9F,EAAI+F,WAAWhM,MAAM,KAAMiM,cAAc,CAAC5F,EAAG,SAASA,EAAG,QAAQ,CAACI,MAAOR,EAAI8E,MAAW,OAAG,CAAC9E,EAAIiF,GAAG,cAAc,IAAI,YACzN,EAAkB,GCnBlB,EAAS,WAAa,IAAIjF,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACoG,YAAY,CAAC,UAAY,cAAclG,MAAM,CAAC,MAAQ,6BAA6B,cAAc,+BAA+B,MAAQN,EAAIyG,KAAK,OAASzG,EAAIyG,KAAK,QAAU,OAASzG,EAAIyG,KAAO,IAAMzG,EAAIyG,OAAO,CAACrG,EAAG,OAAO,CAACA,EAAG,OAAO,CAACE,MAAM,CAAC,GAAK,aAAa,EAAI,qDAAqDF,EAAG,IAAI,CAACE,MAAM,CAAC,KAAO,OAAO,YAAY,YAAY,CAACF,EAAG,IAAI,CAACE,MAAM,CAAC,UAAY,0DAA0D,CAACF,EAAG,OAAO,CAACE,MAAM,CAAC,GAAK,aAAa,KAAO,SAAS,CAACF,EAAG,MAAM,CAACE,MAAM,CAAC,aAAa,mBAAmBF,EAAG,OAAO,CAACE,MAAM,CAAC,KAAON,EAAI0G,QAAQ,GAAG,EAAI,iWAAiW,KAAO,wBAAwBtG,EAAG,OAAO,CAACE,MAAM,CAAC,KAAON,EAAI0G,QAAQ,GAAG,EAAI,uOAAuO,UAAY,8CAC91C,EAAkB,GCoCtB,KAEA,GACEtB,MAAO,CACLsB,QAAS,CACPxK,KAAM7C,OACNgM,QAFN,WAGQ,MAAO,CACLY,EAAG,OACHI,EAAG,cAKXzN,KAZF,WAaI,MAAO,CACL6N,KAAN,KCrD6V,ICOzV,EAAY,eACd,EACA,EACA,GACA,EACA,KACA,KACA,MAIa,I,QClBX,EAAS,WAAa,IAAIzG,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACE,MAAM,CAAC,MAAQ,OAAO,OAAS,OAAO,QAAU,YAAY,QAAU,MAAM,MAAQ,6BAA6B,cAAc,iCAAiC,CAACF,EAAG,IAAI,CAACE,MAAM,CAAC,OAAS,OAAO,eAAe,IAAI,KAAO,OAAO,YAAY,YAAY,CAACF,EAAG,IAAI,CAACE,MAAM,CAAC,UAAY,qCAAqC,KAAO,YAAY,CAACF,EAAG,IAAI,CAACE,MAAM,CAAC,UAAY,qCAAqC,CAACF,EAAG,OAAO,CAACE,MAAM,CAAC,EAAI,8jCAC3gB,EAAkB,GCyBtB,KC1B8V,KCO1V,GAAY,eACd,GACA,EACA,GACA,EACA,KACA,KACA,MAIa,M,6CCfR,SAAS1H,KACd,IAAM2L,EAAQoC,KAAK1G,KAAM,CAAC,SAAU,QAAS,SAAU,IAEjD8D,EAAS,GACTtD,EAAQ,IACR+D,EAAQ,UAEd,MAAO,CACLb,cAEA+B,QAAQ,EAERS,YAAa,UAEb1F,QAEA8D,QACA6B,KAAM,CACJjB,OAAQX,GAEVM,MAAO,CACLtE,MAAO,CACLgE,QACAoC,YAAa,OACbC,OAAQ,YAGZX,YAAa,GACblF,OAAQ,CACNoB,MAAO,CACLE,SAAU,QAEVC,IAAKwB,EAAS,KACdvB,KAAM,IAAF,OAAM/B,EAAN,MAEJA,MAAO,GAAF,OAAKA,EAAL,MACLsD,OAAQ,gBAAF,OAAkBA,EAAlB,OACN+C,UAAW,yBAEX/D,UAAW,kBACXH,WAAY,mBCzCb,IAAME,GAAU,CACfiD,WADe,WACF,6JACX1E,EAAaiC,SAAS,aADX,8CAGnByD,KAJqB,WAKnB,IAAMtG,EAAQR,KAAKQ,MACnBR,KAAKe,OAAOoB,MAAMW,UAAlB,qBAA4CtC,EAA5C,OAEAR,KAAK+G,MAAMC,SAASC,SAEtBC,KAVqB,WAWnBlH,KAAKe,OAAOoB,MAAMW,UAAY,oBCX3B,SAASE,KAAU,WACxBhD,KAAKiD,kBAAoB7B,EAAa8B,WAAU,SAAAiE,GAC9C,IAAMhE,EAAQgE,EAASlL,KAET,cAAVkH,EACF,EAAK2D,OACc,cAAV3D,GACT,EAAK+D,UCTJ,IAAME,GAAQ,CACnB3G,OADmB,SACZmE,GACL5E,KAAKiG,YAAcrB,EAAGlE,OC4G1B,IACEyE,MAAO,CAAC,aACRG,WAAY,CACV+B,KAAJ,EACIC,MAAJ,IAGE3O,KAAF,GACEyO,MAAF,GACEvE,QAAF,GACEG,QAAF,GAEEM,cAZF,WAaItD,KAAKiD,sBC3HmX,MCQxX,I,UAAY,eACd,GACA,EACA,GACA,EACA,KACA,KACA,OAIa,M,QCnBX,GAAS,WAAa,IAAIlD,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACI,MAAOR,EAAIgB,OAAY,MAAEV,MAAM,CAAC,0BAA0B,KAAK,CAACF,EAAG,MAAM,CAACuF,IAAI,MAAM9B,MAAM,gCAAgCrD,MAAM,CACpOsD,OAAQ,GACRC,OAAQ,QACPzD,MAAM,CAAC,KAAO,aAAa,aAAa,6BAA6B,SAAW,MAAM,CAACF,EAAG,MAAM,CAACG,YAAY,6BAA6BC,MAAM,CAAGuD,OAAQ,SAAW,CAAC3D,EAAG,KAAK,CAACG,YAAY,YAAYC,MAAM,CAC3MuD,OAAQ,MACRK,UAAW,WACT,CAAChE,EAAG,KAAK,CAACA,EAAG,cAAc,CAACG,YAAY,YAAYC,MAAM,CACxDwE,QAAS,OACTY,WAAY,UACXtF,MAAM,CAAC,GAAK,CAAEK,KAAM,6BAA8B,aAAa,0BAA0BkF,SAAS,CAAC,MAAQ,SAASC,GAAQ,OAAO9F,EAAI+F,WAAWhM,MAAM,KAAMiM,cAAc,CAAC5F,EAAG,WAAW,CAACE,MAAM,CAAC,QAAU,CAC5M2F,EAAGjG,EAAIoG,KAAKjB,WACT/E,EAAG,QAAQ,CAACI,MAAOR,EAAI8E,MAAW,OAAG,CAAC9E,EAAIiF,GAAG,oBAAoB,IAAI,GAAyB,cAArBjF,EAAIkE,aAA8B9D,EAAG,KAAK,CAACA,EAAG,cAAc,CAACG,YAAY,YAAYC,MAAM,CACzKwE,QAAS,OACTY,WAAY,UACXtF,MAAM,CAAC,GAAK,CAAEK,KAAM,2BAA4B,aAAa,qBAAqBkF,SAAS,CAAC,MAAQ,SAASC,GAAQ,OAAO9F,EAAI+F,WAAWhM,MAAM,KAAMiM,cAAc,CAAC5F,EAAG,WAAW,CAACE,MAAM,CAAC,QAAU,CACrM2F,EAAGjG,EAAIoG,KAAKjB,WACT/E,EAAG,QAAQ,CAACI,MAAOR,EAAI8E,MAAW,OAAG,CAAC9E,EAAIiF,GAAG,wBAAwB,IAAI,GAAGjF,EAAIc,KAAM,CAAC,cAAc4C,SAAS1D,EAAI2D,SAAUvD,EAAG,KAAK,CAACA,EAAG,cAAc,CAACG,YAAY,YAAYC,MAAM,CAC1LwE,QAAS,OACTY,WAAY,UACXtF,MAAM,CAAC,GAAK,CAAEK,KAAM,oBAAqB,aAAa,oBAAoBkF,SAAS,CAAC,MAAQ,SAASC,GAAQ,OAAO9F,EAAI+F,WAAWhM,MAAM,KAAMiM,cAAc,CAAC5F,EAAG,WAAW,CAACE,MAAM,CAAC,QAAU,CAC7L2F,EAAGjG,EAAIoG,KAAKjB,WACT/E,EAAG,QAAQ,CAACI,MAAOR,EAAI8E,MAAW,OAAG,CAAC9E,EAAIiF,GAAG,uBAAuB,IAAI,GAAGjF,EAAIc,KAAM,CAAC,aAAc,UAAU4C,SAAS1D,EAAI2D,SAAUvD,EAAG,KAAK,CAACI,MAAM,CAAGiC,QAAS,mBAAqB,CAACrC,EAAG,WAAW,CAACI,MAAM,CAChNC,MAAO,OACPsD,OAAQ,OACRyD,WAAY,WACXxD,GAAG,CAAC,MAAQhE,EAAIyH,kBAAkB,CAACzH,EAAIiF,GAAGjF,EAAIkF,GAAGlF,EAAI0H,aAAa,GAAG1H,EAAIc,OAAOV,EAAG,KAAK,CAACI,MAAM,CACpG8B,SAAU,WACViE,OAAQ,OACR/D,KAAM,SACJ,CAACpC,EAAG,KAAK,CAACA,EAAG,cAAc,CAACG,YAAY,YAAYC,MAAM,CACxDwE,QAAS,OACTY,WAAY,UACXtF,MAAM,CAAC,GAAK,WAAW,aAAa,WAAWuF,SAAS,CAAC,MAAQ,SAASC,GAAQ,OAAO9F,EAAI+F,WAAWhM,MAAM,KAAMiM,cAAc,CAAC5F,EAAG,SAASA,EAAG,QAAQ,CAACI,MAAOR,EAAI8E,MAAW,OAAG,CAAC9E,EAAIiF,GAAG,cAAc,IAAI,YACzN,GAAkB,GCjCf,SAAS1B,KACdtD,KAAKiD,oBCCA,IAAMuC,GAAW,iCACnBkC,eAAW,OAAQ,CAAC,WAAY,QAAS,kBADzB,IAEnBC,QAFmB,WAGjB,OAAO3H,KAAK4H,SAASD,WCLnBnH,GAAQ,IACR+D,GAAQ,UAKP,SAAS5L,KACd,IAAM2L,EAAQoC,KAAK1G,KAAM,CAAC,SAAU,QAAS,SAAU,IAEjD8D,EAAS,GAEf,MAAO,CACLJ,cACA+B,QAAQ,EAERS,YAAa,UAEb3B,SAEA/D,SAEA8D,QACA6B,KAAM,CACJjB,OAAQX,IAEVM,MAAO,CACLtE,MAAO,CACLgE,SACAoC,YAAa,OACbC,OAAQ,YAGZX,YAAa,GACblF,OAAQ,CACNoB,MAAO,CACLE,SAAU,QAEVC,IAAKwB,EAAS,KACd+D,MAAO,UAEPrH,MAAO,GAAF,OAAKA,GAAL,MACLsD,OAAQ,gBAAF,OAAkBA,EAAlB,OAENhB,UAAW,cAAF,OAAgBtC,GAAhB,OACTmC,WAAY,kBAGhB8E,QAAS,I,2BC/CT,GAAS,WAAa,IAAI1H,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,QAAQ,CAACE,MAAM,CAAC,OAASN,EAAI+H,OAAO,YAAa,EAAM,OAAS,CAC/JC,aAAc,CAAElB,UAAW,QAASrE,QAAS,QAC7CwF,MAAO,CAAEC,SAAU,WAClBlE,GAAG,CAAC,gBAAgB,SAAS8B,GAAQ9F,EAAI+H,OAAOjC,KAAU,CAAC1F,EAAG,KAAK,CAACI,MAAM,CAAG2H,UAAW,WAAa,CAACnI,EAAIiF,GAAG,gBAAgB7E,EAAG,MAAM,CAACI,MAAM,CAC5IiC,QAAS,WACPzC,EAAI0E,GAAI1E,EAAgB,cAAE,SAASoI,GAAK,OAAOhI,EAAG,WAAW,CAAChB,IAAIgJ,EAAIC,MAAM7H,MAAM,CAClFC,MAAO,QACNH,MAAM,CAAC,KAAON,EAAIsI,aAAeF,EAAIC,MAAQ,aAAe,GAAG,MAAQD,EAAIC,OAAOrE,GAAG,CAAC,MAAQ,SAAS8B,GAAQ9F,EAAI+H,QAAS,KAAS,CAAC/H,EAAIiF,GAAGjF,EAAIkF,GAAGlF,EAAIuI,GAAG,WAAPvI,CAAmBoI,EAAIrK,MAAQ,uBAAsB,MAC9M,GAAkB,G,yBCyBtB,IACEwH,WAAY,CACViD,MAAJ,SAEEpD,MAAO,CACL2C,OAAQU,QACRC,aAAcC,MACdL,WAAY,CAACM,OAAQtD,UCxC6X,MCOlZ,GAAY,eACd,GACA,GACA,IACA,EACA,KACA,KACA,MAIa,M,QCZFxC,GAAU,CACfiD,WADe,WACF,6JACX1E,EAAaiC,SAAS,gBADX,8CAGnByD,KAJqB,WAKnB9G,KAAKe,OAAOoB,MAAMW,UAAY,kBAC9B9C,KAAK+G,MAAM6B,IAAI3B,SAEjBC,KARqB,WASnB,IAAM1G,EAAQR,KAAKQ,MACnBR,KAAKe,OAAOoB,MAAMW,UAAlB,qBAA4CtC,EAA5C,QAEFqI,WAZqB,WAiBnB,IAJA,IAAMJ,EAAe/B,KAAK1G,KAAM,CAAC,WAAY,gBAAiB,IACxD8I,EAAQ9I,KAAK8I,MAEfC,EAAO,GACFC,EAAI,EAAGA,EAAIP,EAAatP,OAAQ6P,IAAK,CAC5C,IAAMb,EAAMM,EAAaO,GAEzB,GAAIb,EAAIC,QAAUU,EAAO,CACvBC,EAAOZ,EACP,OAIJnI,KAAKyH,QAAUsB,EAAKjL,MAEhB0J,gBA5Be,WA4BG,qKAChBiB,EAAe/B,KAAK,EAAM,CAAC,WAAY,gBAAiB,IAE9D,EAAKmC,aAHiB,SAKhBI,QAAc5F,SAAS,OAAQ,CACnCE,UAAW2F,GACX/D,MAAO,CACL2C,QAAQ,EACRW,eACAJ,WAAY,EAAKS,SAVC,+CChCnB,SAAS9F,KAAU,WACxBhD,KAAKiD,kBAAoB7B,EAAa8B,WAAU,SAAAiE,GAC9C,IAAMhE,EAAQgE,EAASlL,KAET,iBAAVkH,EACF,EAAK2D,OACc,iBAAV3D,GACT,EAAK+D,UAITlH,KAAK6I,aAEL7K,YAAW,WACT,EAAK+C,OAAOoB,MAAM0F,MAAQ,QACzB,KCjBL,IAAI,GAAS,WAAa,IAAI9H,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACE,MAAM,CAAC,MAAQ,OAAO,OAAS,OAAO,QAAU,YAAY,QAAU,MAAM,MAAQ,6BAA6B,cAAc,iCAAiC,CAACF,EAAG,IAAI,CAACE,MAAM,CAAC,OAAS,OAAO,eAAe,IAAI,KAAO,OAAO,YAAY,UAAU,iBAAiB,QAAQ,kBAAkB,UAAU,CAACF,EAAG,IAAI,CAACE,MAAM,CAAC,UAAY,oCAAoC,OAASN,EAAI0G,QAAQ,GAAG,eAAe,MAAM,CAACtG,EAAG,IAAI,CAACE,MAAM,CAAC,UAAY,oCAAoC,CAACF,EAAG,IAAI,CAACE,MAAM,CAAC,UAAY,oCAAoC,CAACF,EAAG,OAAO,CAACE,MAAM,CAAC,iBAAiB,QAAQ,kBAAkB,QAAQ,eAAe,IAAI,EAAI,kJAC5tB,GAAkB,GCqCtB,IACE8E,MAAO,CACLsB,QAAS,CACPxK,KAAM7C,OACNgM,QAFN,WAGQ,MAAO,CACLY,EAAG,YC5CgV,MCOzV,GAAY,eACd,GACA,GACA,IACA,EACA,KACA,KACA,MAIa,M,QC0Hf,IACEb,MAAO,CAAC,aACRG,WAAY,CACVgC,MAAJ,GACI6B,SAAJ,IAGE7F,cAAF,GACEkC,SAAF,GACE7M,KAAF,GACEkK,QAAF,GACEG,QAAF,GAEEoE,MAAO,CACL3G,OADJ,SACA,GACMT,KAAKiG,YAAcrB,EAAGlE,QC3JgW,MCOxX,GAAY,eACd,GACA,GACA,IACA,EACA,KACA,KACA,MAIa,M,QCHf,IACEyE,MAAO,CAAC,aACRG,WAAY,CACV8D,eAAJ,EACIC,sBAAJ,GACIC,cAAJ,IAEE3Q,KAPF,WAQI,MAAO,CACL+K,MAAN,WCxB8V,MCO1V,GAAY,eACd,GACA,EACA,GACA,EACA,KACA,KACA,MAIa,M,QClBX,GAAS,WAAa,IAAI3D,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACA,EAAG,MAAM,CAACG,YAAY,oFAAoFC,MAAM,CACpN8B,SAAU,QACVC,IAAK,EACLuB,OAAQ9D,EAAI8D,OACZkB,QAAShF,EAAI+G,KAAO,OAAS,OAC7BhD,OAAQ/D,EAAIwJ,aACZC,WAAYzJ,EAAIuE,MAAMC,MAAM,KAC3BlE,MAAM,CAAC,KAAO,eAAe,CAACF,EAAG,MAAM,CAACG,YAAY,8BAA8BC,MAAM,CAAGkJ,eAAgB,gBAAiBjJ,MAAO,SAAW,CAAkB,eAAhBT,EAAI2D,QAA0BvD,EAAG,SAAS,CAACG,YAAY,4HAA4HD,MAAM,CAAC,aAAa,gBAAgB0D,GAAG,CAAC,MAAQhE,EAAI2J,gBAAgB,CAACvJ,EAAG,MAAM,CAACG,YAAY,8CAA8CD,MAAM,CAAC,MAAQ,6BAA6B,KAAO,OAAO,QAAU,YAAY,OAAS,iBAAiB,CAACF,EAAG,OAAO,CAACE,MAAM,CAAC,iBAAiB,QAAQ,kBAAkB,QAAQ,eAAe,IAAI,EAAI,gCAAgCN,EAAIc,KAAoB,eAAdd,EAAI4J,MAAwBxJ,EAAG,MAAM,CAACG,YAAY,eAAe,CAACH,EAAG,SAAS,CAACG,YAAY,kBAAkB,CAACH,EAAG,IAAI,CAACG,YAAY,oBAAoB,CAACH,EAAG,cAAc,CAACE,MAAM,CAAC,GAAK,MAAM,CAACF,EAAG,MAAM,CAACoG,YAAY,CAAC,MAAQ,SAASlG,MAAM,CAAC,IAAM,EAAQ,cAA6C,OAAON,EAAIc,KAAKV,EAAG,MAAM,CAACG,YAAY,qBAAqBD,MAAM,CAAC,qBAAqB,KAAK,CAACF,EAAG,OAAO,CAACG,YAAY,sBAAsBD,MAAM,CAAC,OAAS,IAAI,OAAS,QAAQ,CAACF,EAAG,QAAQ,CAACG,YAAY,UAAUD,MAAM,CAAC,IAAM,iBAAiB,CAACN,EAAIiF,GAAG,YAAY7E,EAAG,MAAM,CAACG,YAAY,sEAAsE,CAACH,EAAG,MAAM,CAACG,YAAY,mEAAmE,CAACH,EAAG,MAAM,CAACG,YAAY,UAAUD,MAAM,CAAC,KAAO,eAAe,QAAU,cAAc,CAACF,EAAG,OAAO,CAACE,MAAM,CAAC,YAAY,UAAU,YAAY,UAAU,EAAI,0HAA0HF,EAAG,QAAQ,CAACG,YAAY,0KAA0KD,MAAM,CAAC,GAAK,eAAe,YAAc,4BAA4B,KAAO,kBAAkBF,EAAG,UAAU,CAACI,MAAM,CACj+DqJ,SAAU,EACV7E,QAAS,OACT0E,eAAgB,QAChBvF,aAAc,SACZ,CAAC/D,EAAG,MAAM,CAACG,YAAY,kCAAkC,CAACH,EAAG,MAAM,CAACI,MAAM,CACxEwE,QAAS,OACTjB,OAAQ,OACR6B,WAAY,WACV,CAAE5F,EAAI4J,YAAuB5L,IAAdgC,EAAI4J,OAAqC,eAAd5J,EAAI4J,MAAwBxJ,EAAG,MAAM,CAACI,MAAM,CACtF8B,SAAU,WACV0C,QAAS,eACTvC,QAAS,eACP,CAACrC,EAAG,IAAI,CAACyD,MAAM,uBAAuBvD,MAAM,CAAC,MAAQ,mBAAmB,KAAO,UAAU0D,GAAG,CAAC,MAAQ,SAAS8B,GAAgC,OAAxBA,EAAOgE,iBAAwB9J,EAAI+J,0BAA0BhQ,MAAM,KAAMiM,iBAAiBhG,EAAIc,KAAKV,EAAG,MAAM,CAACI,MAAM,CAC3O8B,SAAU,WACV0C,QAAS,eACTvC,QAAS,eACP,CAACrC,EAAG,IAAI,CAACyD,MAAM,qBAAqBvD,MAAM,CAAC,MAAQ,gBAAgB,KAAO,UAAU0D,GAAG,CAAC,MAAQ,SAAS8B,GAAgC,OAAxBA,EAAOgE,iBAAwB9J,EAAIgK,wBAAwBjQ,MAAM,KAAMiM,iBAAiB5F,EAAG,MAAM,CAACG,YAAY,gBAAgBC,MAAM,CACvP8B,SAAU,WACV0C,QAAS,eACTvC,QAAS,UACRnC,MAAM,CAAC,MAAQ,SAAS,gBAAgB,IAAI0D,GAAG,CAAC,MAAQhE,EAAIiK,oBAAoB,CAAEjK,EAAIkK,OAAO9Q,OAAS,EAAGgH,EAAG,MAAM,CAACI,MAAOR,EAAIgB,OAAiB,WAAEV,MAAM,CAAC,MAAQ,gBAAgB,GAAK,sBAAsB,eAAe,KAAK,CAACN,EAAIiF,GAAG,IAAIjF,EAAIkF,GAAGlF,EAAIkK,OAAO9Q,QAAQ,OAAO4G,EAAIc,KAAKV,EAAG,aAAa,CAACE,MAAM,CAAC,YAAY,OAAO,SAAW,iBAAiB,SAAWN,EAAImK,iBAAiB,cAAa,EAAM,YAAY,GAAG,iBAAiB,IAAInG,GAAG,CAAC,gBAAgBhE,EAAIoK,gBAAgBC,YAAYrK,EAAIsK,GAAG,CAAC,CAAClL,IAAI,UAAUmL,GAAG,SAAS5E,GAC7gB,IAAI6E,EAAS7E,EAAI6E,OAC/B,MAAO,CAACpK,EAAG,SAAS,CAACE,MAAM,CAAC,KAAO,SAAS,SAAW,IAAI,aAAaN,EAAIkK,OAAO9Q,OAAS,iBAAiB,KAAO,eAAe,aAAaoR,EAAS,UAAY,qBAAqB,CAACpK,EAAG,MAAM,CAACG,YAAY,kBAAkBC,MAAM,CACrN6D,UAAW,QACXD,UAAW,WACTpE,EAAI0E,GAAI1E,EAAU,QAAE,SAASyK,GAAO,OAAOrK,EAAG,kBAAkB,CAAChB,IAAIqL,EAAMC,GAAGpK,MAAM,CAAC,YAAY,WAAW,WAAW,GAAG,sBAAsB,KAAK,CAACF,EAAG,cAAc,CAACE,MAAM,CAAC,GAAK,WAAamK,EAAMC,GAAG,SAASD,EAAM3M,QAAU2M,EAAM3M,QAAU,KAAK,CAACkC,EAAIiF,GAAGjF,EAAIkF,GAAGuF,EAAM3M,aAAa,MAAK,GAAGsC,EAAG,kBAAkB,CAACI,MAAM,CAChUmK,SAAU,OACVlI,QAAS,eACRnC,MAAM,CAAC,WAAW,KAAK,CAACF,EAAG,WAAW,CAACI,MAAM,CAC5CoK,MAAO,SACNtK,MAAM,CAAC,KAAO,WAAW,KAAO,cAAc0D,GAAG,CAAC,MAAQhE,EAAI6K,gBAAgB,CAAC7K,EAAIiF,GAAG,iBAAiB,IAAI,IAAI,GAAIjF,EAAI6H,UAAqC,aAAzB7H,EAAI6H,SAASiD,SAAyB1K,EAAG,MAAM,CAACI,MAAM,CAChM8B,SAAU,WACV0C,QAAS,eACTvC,QAAS,cACRnC,MAAM,CAAC,MAAQ,sBAAsB,CAACF,EAAG,IAAI,CAACyD,MAAM,kBAAkBvD,MAAM,CAAC,KAAO,UAAU0D,GAAG,CAAC,MAAQ,SAAS8B,GAAgC,OAAxBA,EAAOgE,iBAAwB9J,EAAI+K,sBAAsBhR,MAAM,KAAMiM,iBAAiBhG,EAAIc,SAA6B,YAAnBd,EAAIgL,WAA0B5K,EAAG,MAAM,CAACG,YAAY,kDAAkDD,MAAM,CAAC,mBAAmB,KAAK,CAAEN,EAAY,SAAEI,EAAG,aAAa,CAACE,MAAM,CAAC,YAAY,QAAQ+J,YAAYrK,EAAIsK,GAAG,CAAC,CAAClL,IAAI,UAAUmL,GAAG,WAAW,MAAO,CAACnK,EAAG,WAAW,CAACE,MAAM,CAAC,MAAQN,EAAI6H,SAAS9J,KAAK,YAAY,UAAU,aAAa,iBAAiBkN,OAAM,IAAO,MAAK,EAAM,aAAa,CAA2B,aAAzBjL,EAAI6H,SAASiD,SAAyB1K,EAAG,kBAAkB,CAACG,YAAY,UAAUD,MAAM,CAAC,MAAQ,eAAe,YAAY,WAAW,WAAW,KAAK,CAACF,EAAG,cAAc,CAACE,MAAM,CAAC,GAAK,8BAA8B,CAACF,EAAG,SAAS,CAACE,MAAM,CAAC,KAAO,aAAaN,EAAIiF,GAAG,IAAIjF,EAAIkF,GAAGlF,EAAIkL,GAAG,sBAAsB,MAAM,IAAI,GAAGlL,EAAIc,KAA+B,aAAzBd,EAAI6H,SAASiD,SAAyB1K,EAAG,kBAAkB,CAACG,YAAY,UAAUD,MAAM,CAAC,MAAQ,eAAe,YAAY,WAAW,WAAW,KAAK,CAACF,EAAG,cAAc,CAACE,MAAM,CAAC,GAAK,8BAA8B,CAACF,EAAG,SAAS,CAACE,MAAM,CAAC,KAAO,aAAaN,EAAIiF,GAAG,IAAIjF,EAAIkF,GAAGlF,EAAIkL,GAAG,sBAAsB,MAAM,IAAI,GAAGlL,EAAIc,KAC5sC,aAAzBd,EAAI6H,SAASiD,UACc,cAAzB9K,EAAI6H,SAASiD,UACC,eAAd9K,EAAI4J,MACNxJ,EAAG,kBAAkB,CAACG,YAAY,UAAUD,MAAM,CAAC,MAAQ,kBAAkB,YAAY,WAAW,WAAW,KAAK,CAACF,EAAG,cAAc,CAACE,MAAM,CAAC,GAAK,qBAAqB,CAACF,EAAG,SAAS,CAACE,MAAM,CAAC,KAAO,aAAaN,EAAIiF,GAAG,IAAIjF,EAAIkF,GAAGlF,EAAIkL,GAAG,yBAAyB,MAAM,IAAI,GAAGlL,EAAIc,KAC3P,aAAzBd,EAAI6H,SAASiD,UACX7K,KAAK4H,eACY7J,GAAjBiC,KAAK4H,UACL5H,KAAK4H,SAASD,cACW5J,GAAzBiC,KAAK4H,SAASD,QAChBxH,EAAG,kBAAkB,CAACG,YAAY,UAAUD,MAAM,CAAC,MAAQ,kBAAkB,YAAY,WAAW,WAAW,KAAK,CAACF,EAAG,cAAc,CAACE,MAAM,CAAC,GAAK,2BAA2B,CAACF,EAAG,SAAS,CAACE,MAAM,CAAC,KAAO,UAAUN,EAAIiF,GAAG,IAAIjF,EAAIkF,GAAGlF,EAAIkL,GAAG,0BAA0B,MAAM,IAAI,GAAGlL,EAAIc,KAAKV,EAAG,kBAAkB,CAACG,YAAY,UAAUD,MAAM,CAAC,MAAQ,cAAc,YAAY,WAAW,WAAW,KAAK,CAACF,EAAG,IAAI,CAACE,MAAM,CAAC,KAAON,EAAImL,YAAY,OAAS,WAAW,CAAC/K,EAAG,SAAS,CAACE,MAAM,CAAC,KAAO,UAAUN,EAAIiF,GAAG,IAAIjF,EAAIkF,GAAGlF,EAAIkL,GAAG,qBAAqB,MAAM,KAAK9K,EAAG,kBAAkB,CAACG,YAAY,UAAUD,MAAM,CAAC,MAAQ,WAAW,YAAY,WAAW,WAAW,KAAK,CAACF,EAAG,cAAc,CAACE,MAAM,CAAC,GAAK,aAAa,CAACF,EAAG,SAAS,CAACE,MAAM,CAAC,KAAO,YAAYN,EAAIiF,GAAG,IAAIjF,EAAIkF,GAAGlF,EAAIkL,GAAG,iBAAiB,MAAM,IAAI,IAAI,GAAGlL,EAAIc,KAA0B,YAApBd,EAAIU,OAAOC,MAAuBX,EAAI6H,SAAkL7H,EAAIc,KAA5KV,EAAG,cAAc,CAACG,YAAY,6BAA6BD,MAAM,CAAC,iCAAiC,GAAG,GAAK,YAAY,CAACN,EAAIiF,GAAG,IAAIjF,EAAIkF,GAAGlF,EAAIkL,GAAG,gBAAgB,QAAiB,GAAGlL,EAAIc,KACvgC,YAAnBd,EAAIgL,YACFhL,EAAI6H,UACJ7H,EAAI6H,SAASa,cACY,aAAzB1I,EAAI6H,SAASiD,SACf1K,EAAG,MAAM,CAACG,YAAY,yBAAyBD,MAAM,CAAC,iCAAiC,KAAK,CAACF,EAAG,MAAM,CAACG,YAAY,6BAA6B,CAACH,EAAG,SAAS,CAACgL,WAAW,CAAC,CAACrN,KAAK,QAAQsN,QAAQ,UAAUvM,MAAOkB,EAAsB,mBAAEsL,WAAW,uBAAuBtH,GAAG,CAAC,OAAS,SAAS8B,GAAQ,IAAIyF,EAAgB5C,MAAMrP,UAAUkS,OAAOhS,KAAKsM,EAAOvJ,OAAOkP,SAAQ,SAASlN,GAAG,OAAOA,EAAEmN,YAAWC,KAAI,SAASpN,GAAG,IAAIqN,EAAM,WAAYrN,EAAIA,EAAEsN,OAAStN,EAAEO,MAAM,OAAO8M,KAAO5L,EAAI8L,mBAAmBhG,EAAOvJ,OAAOwP,SAAWR,EAAgBA,EAAc,MAAMvL,EAAI0E,GAAI1E,EAAI6H,SAAqB,cAAE,SAASO,GAAK,OAAOhI,EAAG,SAAS,CAAChB,IAAIgJ,EAAIC,MAAM2D,SAAS,CAAC,MAAQ5D,EAAIC,QAAQ,CAACrI,EAAIiF,GAAGjF,EAAIkF,GAAGlF,EAAIuI,GAAG,WAAPvI,CAAmBoI,EAAIrK,MAAQ,uBAAsB,OAAOiC,EAAIc,KAAM,CAAC,SAAU,UAAU4C,SAAS1D,EAAIgL,YAAa5K,EAAG,MAAM,CAACI,MAAM,CAAGwE,QAAS,OAAQY,WAAY,SAAUgB,YAAa,SAAW,CAAG5G,EAAI6H,UAAgC,YAApB7H,EAAIU,OAAOC,KAAuLX,EAAIc,KAAvKV,EAAG,cAAc,CAACG,YAAY,6BAA6BD,MAAM,CAAC,4BAA4B,GAAG,GAAK,YAAY,CAACN,EAAIiF,GAAG,IAAIjF,EAAIkF,GAAGlF,EAAIkL,GAAG,gBAAgB,OAAiBlL,EAAY,SAAEI,EAAG,gBAAgBJ,EAAIc,MAAM,GAAGd,EAAIc,KACnnC,YAAnBd,EAAIgL,YACFhL,EAAI6H,UACqB,aAAzB7H,EAAI6H,SAASiD,UACb9K,EAAIiM,oBACiBjO,GAArBgC,EAAIiM,cACN7L,EAAG,MAAM,CAACG,YAAY,6CAA6CD,MAAM,CAAC,4BAA4B,KAAK,CAAEN,EAAIkM,mBAAqBlM,EAAIkM,kBAAkB9S,OAAS,EAAG,CAAE4G,EAAqB,kBAAEI,EAAG,aAAa,CAACG,YAAY,iCAAiCD,MAAM,CAAC,YAAY,QAAQ+J,YAAYrK,EAAIsK,GAAG,CAAC,CAAClL,IAAI,UAAUmL,GAAG,WAAW,MAAO,CAACnK,EAAG,SAAS,CAACG,YAAY,yCAAyCD,MAAM,CAAC,KAAO,UAAU,MAAQN,EAAImM,UAAU,aAAa,aAAaC,KAAK,WAAW,CAAChM,EAAG,SAAS,CAACG,YAAY,gBAAgBD,MAAM,CAAC,KAAO,UAAUF,EAAG,OAAO,CAACG,YAAY,WAAWiG,YAAY,CAAC,IAAM,SAAS,CAACxG,EAAIiF,GAAGjF,EAAIkF,GAAGlF,EAAImM,cAAc/L,EAAG,SAAS,CAACE,MAAM,CAAC,KAAO,gBAAgB,KAAK2K,OAAM,IAAO,MAAK,EAAM,YAAYoB,MAAM,CAACvN,MAAOkB,EAAe,YAAEsM,SAAS,SAAUC,GAAMvM,EAAIwM,YAAYD,GAAKjB,WAAW,gBAAgBtL,EAAI0E,GAAI1E,EAAqB,mBAAE,SAASyM,GAAM,OAAOrM,EAAG,kBAAkB,CAAChB,IAAIqN,EAAK3N,MAAMwB,MAAM,CAAC,MAAQmM,EAAK,YAAY,aAAa,CAACzM,EAAIiF,GAAGjF,EAAIkF,GAAGuH,EAAK3H,aAAY,GAAG9E,EAAIc,MAAM,CAACV,EAAG,SAAS,CAACG,YAAY,yCAAyCC,MAAM,CAAGkC,aAAc,OAASpC,MAAM,CAAC,KAAO,UAAU,MAAQN,EAAI0M,cAAgB1M,EAAI2G,KAAK3G,EAAIiM,cAAe,CAAC,EAAG,SAAU,IAAI,aAAa,aAAaG,KAAK,WAAW,CAAChM,EAAG,SAAS,CAACG,YAAY,gBAAgBD,MAAM,CAAC,KAAO,UAAUF,EAAG,OAAO,CAACG,YAAY,WAAWC,MAAM,CAAG+B,IAAK,SAAW,CAACvC,EAAIiF,GAAGjF,EAAIkF,GAAGlF,EAAI0M,cAAgB1M,EAAI2G,KAAK3G,EAAIiM,cAAe,CAAC,EAAG,SAAU,SAAS,KAAK,GAAGjM,EAAIc,WAAWV,EAAG,MAAM,CAACI,MAAM,CAC7+CuD,OAAQ,OACRtD,MAAO,OACPuE,QAAShF,EAAI+G,KAAO,OAAS,UAC1B3G,EAAG,QAAQ,CAACE,MAAM,CAAC,OAASN,EAAI2M,kBAAkB3I,GAAG,CAAC,gBAAgB,SAAS8B,GAAQ9F,EAAI2M,iBAAiB7G,KAAU,CAAC1F,EAAG,kBAAkB,CAACE,MAAM,CAAC,OAASN,EAAI2M,qBAAqB,IAAI,IAC/L,GAAkB,GCpEf,SAASpJ,MCGT,IAAMkC,GAAW,gDACnBkC,eAAW,OAAQ,CAAC,WAAY,QAAS,gBAAiB,eAC1DiF,eAAS,CACVC,OAAQ,SAAAtL,GAAK,OAAIoF,KAAKpF,EAAO,CAAC,OAAQ,wBAAyB,UAAW,OAC1E4K,UAAW,SAAA5K,GAAK,OAAIoF,KAAKpF,EAAO,CAAC,OAAQ,wBAAyB,SAAU,OAC5EiI,aAAc,SAAAjI,GAAK,OAAIoF,KAAKpF,EAAO,CAAC,SAAU,SAAU,UAAW,OACnEgD,MAAO,SAAAhD,GAAK,OAAIoF,KAAKpF,EAAO,CAAC,SAAU,UANtB,IAQnBwF,KARmB,WASjB,IAAM+F,EAAYnG,KAAK1G,KAAM,CAAC,SAAU,QAAS,IAEjD,OAAI,CAAC,SAAU,MAAMyD,SAASoJ,MCZ3B,SAAeC,KAAtB,gC,gEAAO,kGACD9M,KAAK4H,eAA6B7J,GAAjBiC,KAAK4H,SADrB,uBAEH5H,KAAK2J,MAAQjG,kBAFV,SAIG1D,KAAK+M,iBAJR,uBAMG/M,KAAKgN,eANR,uBAQGhN,KAAKiN,kBARR,gD,0CCEMtU,GAAO,WAClB,IAAIuU,EAAgBxG,KAAK1G,KAAM,yCAA0C,IAEzE,MAAO,CACL0D,cACAqH,WAAY,KACZoC,WAAW,EACXtB,mBAAoB,EACpBU,YAAa,EACbE,aAAc,GACdW,OAAQ,KACRC,gBAAgB,EAChBC,cAAc,EACdlJ,UAAW,IACXmJ,SAAS,EACTb,kBAAkB,EAClB/C,MAAO,GACPM,OAAQ,GACRgC,kBAAmB,GACnBuB,oBAAoB,EACpBtC,YAAa,gDAEbhB,iBAAkB,CAAC,SAEnBnJ,OAAQ,CACN0M,WAAY,CACVpL,SAAU,WACVC,IAAK,OACLC,KAAM,OAENC,QAAS,UACTC,aAAc,OAEdiL,SAAU,OACVlE,WAAY0D,EACZ3I,MAAO,SAIXV,OAAQ8J,QAASC,S,yKCrBd,SAAeC,GAAtB,mC,gEAAO,4HAAuBC,EAAvB,EAAuBA,MAAOC,EAA9B,EAA8BA,SAAUpE,EAAxC,EAAwCA,MAAOqE,EAA/C,EAA+CA,WAChDC,GAAY,EADX,SAGWC,KACbC,KADa,UACLC,QADK,eACqB,CACjCN,QACAC,WACApE,QACAqE,eAEDK,OAAM,SAAAC,GACLL,EAAYK,KAXX,cAGDC,EAHC,OAcDN,IACFM,EAAMN,EAAUO,UAGZC,EAAS/H,KAAK6H,EAAK,CAAC,UAAW,MAC/B5V,EAAO+N,KAAK6H,EAAK,CAAC,QAAS,MAC7BG,EAAQhI,KAAK6H,EAAK,CAAC,OAAQ,SAAU,MACpB,kBAAVG,IACTA,EAAQ,IAtBL,kBAyBE,CACLD,SACA9V,OACA+V,QACAC,cAAe,UAAF,OAAYD,GACzBH,QA9BG,4C,yBCfP,IAAMhB,IAAU,EAIVzL,GAAU,CAQR+L,MARQ,WAQEe,GAAQ,gLACTf,GAAMe,GADG,sFAIlBC,gBAZQ,YAYY,sLAEtBpP,QAAQqP,MAAM,yBAFQ,SAGDC,QAAItQ,IAAJ,oDAHC,cAGhBzE,EAHgB,OAKP,GAAXuT,IAAiB9N,QAAQqP,MAAM,mBAAqBE,KAAKC,UAAUjV,IALjD,kBAOf,CACLA,OAAQA,IARY,qCAWtByF,QAAQqP,MAAR,iDACArP,QAAQqP,MAAR,MAZsB,iCAejB,CACL9U,OAAQ,KAhBc,8DAsB5BiH,OAAIC,IAAIC,QACD,IAAM+N,GAAQ,IAAI/N,OAAKE,MAAM,CAClCC,MAAO,GACPG,UAAW,GACXS,QAAS,GACTJ,aC3CWe,GAAU,+BACrB6D,WAEGyI,eAAW,OAAQ,CAAC,iBAHL,IAKZzF,cALY,WAKI,6JACdtI,EAAaiC,SAAS,eADR,8CAIhB0J,eATY,WASK,wJACrB,EAAKqC,OACF/L,SAAS,qBAAsB,CAC9BgM,YAAY,IAEbtS,MAAK,WACA,EAAKiP,gBACP,EAAKC,kBAAoBqD,KAAO,EAAKtD,cAAe,aAPrC,8CAYjBiB,gBArBY,WAqBM,wKAChBiC,GAAM7L,SAAS,mBAAmBtG,MAAK,YAAgB,IAAb/C,EAAa,EAAbA,YAEjC+D,IAAX/D,GACAA,QAC4B+D,IAA5B/D,EAAOuV,kBACPvV,EAAOuV,mBAEP,EAAKrE,YAAclR,EAAOuV,qBARR,8CAalBxF,wBAlCY,WAkCc,yJACT,IAAjB,EAAKwD,SAAkB9N,QAAQqP,MAAM,iCAEhB,mBAArB,EAAKrO,OAAOC,MACd,EAAK8O,QAAQ/V,KAAK,CAAEiH,KAAM,iCAJE,8CAQ1BoK,sBA1CY,WA0CY,yJACP,IAAjB,EAAKyC,SAAkB9N,QAAQqP,MAAM,+BAEzC,EAAKpC,kBAAmB,EAHI,8CAM9B+C,eAhDkB,WAiDhBzP,KAAKoN,OAAS,GACd5C,MAAM,oBAGFwC,aArDY,WAqDG,2KACf0C,EAAW,KACI,eAAf,EAAK/F,OAAyC,eAAf,EAAKA,MACtC+F,EAAW,aACa,cAAf,EAAK/F,MACd+F,EAAW,YACa,WAAf,EAAK/F,QACd+F,EAAW,UAGTzF,EAAS,KAVM,SAWb0F,QACHtM,SAAS,sBAAuB,CAC/ByF,MAAO,EAAKA,MACZ8G,aAAcF,IAEf3S,MAAK,YAAc,IAAX8S,EAAW,EAAXA,KACHA,IACF5F,EAAS4F,MAlBI,OAuBnB,IADMC,EAAY,GACT9G,EAAI,EAAGA,EAAIiB,EAAO9Q,OAAQ6P,IACjC8G,EAAU9G,GAAKiB,EAAOjB,GAGxB,EAAKiB,OAAS6F,EAAUpE,KAAI,SAAAlB,GAC1B,IAAMuF,EAAUf,KAAKgB,MAAMtJ,KAAK8D,EAAO,UAAW,OAElD,MAAO,CACLC,GAAI/D,KAAK8D,EAAO,iBAAkB,IAClC3M,aAA6BE,IAApBgS,EAAQE,SAAyBF,EAAQE,QAAUF,EAAQE,QAAU,OAI5D,IAAlBhG,EAAO9Q,SACT,EAAK+Q,iBAAmB,IArCP,8CAyCrBF,kBA9FkB,WA+FW,IAAvBhK,KAAKiK,OAAO9Q,QAAqC,YAArB6G,KAAKS,OAAOC,MAC1CV,KAAKwP,QAAQ/V,KAAK,YAIhB0Q,eApGY,SAoGG+F,GAAM,yJACZ,IAATA,GAEFlS,YAAW,WACT,EAAKgP,iBACJ,KALoB,8CAS3BpC,cA7GkB,WA8GS,YAArB5K,KAAKS,OAAOC,MACdV,KAAKwP,QAAQ/V,KAAK,YAItBqQ,0BAnHkB,WAoHhB9J,KAAKwP,QAAQ/V,KAAK,qBAGpB0W,WAvHkB,SAuHPnH,GACT,OAAON,MAAM0H,KAAK,IAAIC,IAAIrH,OC7HjBhG,GAAU,WAMjBhD,KAAK8I,MAAQ,IACf9I,KAAK6L,mBAAqB7L,KAAK8I,OAGjC9I,KAAK+K,WAAauF,OAAYhP,MAAMyJ,Y,wBCTzB3D,GAAQ,CACbQ,SADa,WACF,wKAET,EAAKmF,iBAFI,OAIX,EAAKjE,MAAQ,IACf,EAAK+C,mBAAqB,EAAK/C,OALlB,8CAQjB+C,mBATmB,SASA/C,GAAO,WACpB9I,KAAKmN,UACPnN,KAAKmN,WAAY,EAKfrE,EAAQ,IACVyH,aAAaC,QAAQ,QAAS1H,GAE9BtN,SAASiV,KAAKlQ,MAAMoC,WAAa,cACjCnH,SAASiV,KAAKlQ,MAAMmQ,QAAU,EAG9B1Q,KAAKwP,QACF/V,KAAK,CACJiH,KAAM,mBAEP2N,OAAM,eAETrQ,YAAW,WACT,EAAKwR,QAAQmB,GAAG,KACf,OAGP/D,OAlCmB,SAkCZJ,GACLxM,KAAKuM,YAAcC,GAErBD,YArCmB,SAqCPC,GAAM,WACZA,GAAQA,EAAK3N,YAAiBd,GAARyO,QAAmCzO,GAAdyO,EAAK3N,QAClD+R,KAAQC,IACNC,KAAKC,QAAiB,uBACtBD,KAAK9B,KAAKC,UAAU,CAAErC,OAAQJ,EAAK3N,SACnC,CAAE6B,KAAM,IAAKsQ,OAAQC,QAAiBC,QAAS,IAGjDlR,KAAKoP,OAAO/L,SAAS,0BAGrBrD,KAAKwP,QACF/V,KAAK,CACJiH,KAAM,MAEP2N,OAAM,eAETrQ,YAAW,WACT,EAAKwR,QAAQmB,GAAG,KACf,QC3DL,GAAS,WAAa,IAAI5Q,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,wBAAwB,CAACE,MAAM,CAAC,KAAO,SAAS,iBAAiB,GAAG,GAAK,kBAAkB,CAACF,EAAG,MAAM,CAACG,YAAY,WAAW,CAACH,EAAG,MAAM,CAACG,YAAY,aAAa,CAACH,EAAG,MAAM,CAACG,YAAY,aAAa,CAACP,EAAIiF,GAAG,oBAAoB7E,EAAG,MAAM,CAACG,YAAY,aAAa,CAACH,EAAG,qBAAqB,CAACuF,IAAI,OAAO0E,YAAYrK,EAAIsK,GAAG,CAAC,CAAClL,IAAI,UAAUmL,GAAG,SAAS5E,GAC3b,IAAIyL,EAAezL,EAAIyL,aACvB,MAAO,CAAChR,EAAG,aAAa,CAACE,MAAM,CAAC,KAAO,OAAO,KAAO,SAAS,OAAS,KAAK,CAACF,EAAG,OAAO,CAACG,YAAY,OAAOyD,GAAG,CAAC,OAAS,SAAS8B,GAAgC,OAAxBA,EAAOgE,iBAAwBsH,EAAapR,EAAIqR,iBAAiB,CAACjR,EAAG,WAAW,CAACA,EAAG,MAAM,CAACG,YAAY,WAAW,CAACH,EAAG,MAAM,CAACG,YAAY,gBAAgB,CAACH,EAAG,cAAc,CAACG,YAAY,WAAWiG,YAAY,CAAC,MAAQ,mBAAmBlG,MAAM,CAAC,KAAO,aAAa,MAAQ,aAAa,KAAO,WAAW,IAAM,aAAa,YAAc,aAAa,WAAa,OAAO,aAAa,aAAa,MAAQ,qBAAqB+L,MAAM,CAACvN,MAAOkB,EAAIsR,SAAmB,WAAEhF,SAAS,SAAUC,GAAMvM,EAAIuR,KAAKvR,EAAIsR,SAAU,aAAc/E,IAAMjB,WAAW,0BAA0B,KAAKlL,EAAG,MAAM,CAACA,EAAG,SAAS,CAACG,YAAY,+BAA+BD,MAAM,CAAC,KAAO,WAAW,CAACN,EAAIiF,GAAG,YAAY7E,EAAG,OAAO,CAACG,YAAY,QAAQ,CAACP,EAAIiF,GAAG,OAAO7E,EAAG,SAAS,CAACG,YAAY,+BAA+BD,MAAM,CAAC,KAAO,UAAU0D,GAAG,CAAC,MAAQ,SAAS8B,GAAgC,OAAxBA,EAAOgE,iBAAwB9J,EAAIwR,gBAAgB,CAACxR,EAAIiF,GAAG,kBAAkB7E,EAAG,WAAW,CAACA,EAAG,qBAAqB,CAACE,MAAM,CAAC,IAAM,kBAAkB+J,YAAYrK,EAAIsK,GAAG,CAAC,CAAClL,IAAI,UAAUmL,GAAG,SAAS5E,GACjpC,IAAI8L,EAAS9L,EAAI8L,OACjB,MAAO,CAACrR,EAAG,MAAM,CAACG,YAAY,SAAS,CAACH,EAAG,OAAO,CAACJ,EAAIiF,GAAGjF,EAAIkF,GAAGuM,EAAO,aAAa,MAAK,MAAS,eAAe,UAC9G,GAAkB,G,+DCKhBjE,IAAU,EAGVzL,GAAU,CACR2P,cADQ,cAC8D,+KAAtDpO,EAAsD,EAAtDA,SAAc+E,EAAwC,EAAxCA,MAAOT,EAAiC,EAAjCA,QAAS+J,EAAwB,EAAxBA,eAAgBC,EAAQ,EAARA,KACnD,GAAXpE,IAAiB9N,QAAQqP,MAAM,uBADuC,kBAGlDC,QAAIZ,KAAJ,0BAAoC,CACxDyD,aAAc,OACdxJ,QACAT,UACA+J,mBAPsE,OAGlEG,EAHkE,OAUpD,GAAhB,EAAKtE,SAAiB9N,QAAQqP,MAAM,WAAaE,KAAKC,UAAU4C,IAEhExO,QAAwBtF,GAAZsF,GAAuB5D,QAAQqP,MAAMzL,GAEjDwO,EAAQC,aAAe,GACzBC,gBAAc,2CACdJ,KAEAK,gBAAY,mDAlB0D,qDAqBxEC,gBAAc,mDACdxS,QAAQjC,MAAR,MAtBwE,6DA0BtE0U,kBA3BQ,cA2BgC,+KAAhBJ,EAAgB,EAAhBA,aAAgB,SAE1CrS,QAAQqP,MAAM,2BAF4B,SAGjBC,QAAItQ,IAAJ,kCAAmCqT,IAHlB,cAGpCK,EAHoC,OAK3B,GAAX5E,IAAiB9N,QAAQqP,MAAM,qBAAuBE,KAAKC,UAAUkD,IAL/B,kBAOnC,CACLnY,OAAQmY,IARgC,qCAW1CF,gBAAc,kDACdxS,QAAQjC,MAAR,MAZ0C,iCAerC,CACLxD,OAAQ,KAhBkC,6DAoBxCoY,kBA/CQ,cA+CiD,iLAAjChK,EAAiC,EAAjCA,MAAOiK,EAA0B,EAA1BA,uBACnC5S,QAAQ6S,IAAI,2BADiD,kBAGrCvD,QAAItQ,IAAI,+BAAgC,CAC5DmQ,OAAQ,CACNxG,QACAiK,4BANuD,cAGrDR,EAHqD,OAU5C,GAAXtE,IAAiB9N,QAAQqP,MAAM,yBAA2BE,KAAKC,UAAU4C,IAVlB,kBAYpD,CACLhC,KAAMgC,EAAQA,UAb2C,qCAgB3DI,gBAAc,+CACdxS,QAAQjC,MAAR,MAjB2D,iCAoBtD,CACLqS,KAAM,KArBqD,6DAyBzD0C,iBAxEQ,cAwE+C,oKAApClP,EAAoC,EAApCA,SAAcyO,EAAsB,EAAtBA,aAAcH,EAAQ,EAARA,KAAQ,SAEnDjR,EAFmD,kCAEjBoR,EAFiB,+BAInC/C,QAAIyD,OAAO9R,GAJwB,OAInDmR,EAJmD,OAM1C,GAAXtE,IAAiB9N,QAAQqP,MAAM,WAAaE,KAAKC,UAAU4C,IAE3DxO,QAAwBtF,GAAZsF,GAAuB5D,QAAQqP,MAAMzL,GAE/CoP,EAAa/L,KAAKmL,EAAS,WAAW,IAEzB,IAAfY,GACFV,gBAAc,yCACdJ,KAEAK,gBAAY,iDAhB2C,qDAmBzDC,gBAAc,iDACdxS,QAAQjC,MAAR,MApByD,8DA0B/DyD,OAAIC,IAAIC,QACD,IAAMuR,GAAkB,IAAIvR,OAAKE,MAAM,CAC5CC,MAAO,GACPG,UAAW,GACXS,QAAS,GACTJ,a,aChDF,IACEqQ,WAAY,IAGd,IACE7M,WAAY,CACVqN,sBAAJ,QACIC,mBAAJ,QACIC,mBAAJ,QACIC,WAAJ,SAGEna,KAAM,WACJ,MAAO,CACLoa,cAAc,EACd1B,SAAU,OAAhB,OAAgB,CAAhB,GACA,MAKE7L,SAAU,OAAZ,OAAY,CAAZ,kBACA,gBACI,KAAJ,YAAM,OAAN,eAEA,oEAGExC,QAxBF,aA0BEH,QAAS,CACP0O,WADJ,WAEMvR,KAAKgT,MAAM,gBAAiB,KAAlC,qBAGM,KAAN,wBAGI,aARJ,WAQA,2JACA,+BADA,uBAEA,mEAFA,mDAOA,6BACA,qBACA,2BACA,8DACA,gBAEA,kBAbA,0DAiBA,mEAjBA,6DAsBEC,KAAM,CACJC,SAAU,CACRC,GAAI,CAAV,iDClI4X,MCQxX,I,UAAY,eACd,GACA,GACA,IACA,EACA,KACA,WACA,OAIa,M,QCnBX,GAAS,WAAa,IAAIpT,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACI,MAAM,CAAGwE,QAAS,OAAQY,WAAY,SAAU7B,OAAQ,SAAW,CAAC3D,EAAG,WAAW,CAACI,MAAM,CAAGC,MAAO,OAAQsD,OAAQ,QAAUzD,MAAM,CAAC,4BAA4B,GAAG,KAAO,cAAc0D,GAAG,CAAC,MAAQhE,EAAI+H,SAAS,CAAC/H,EAAIiF,GAAGjF,EAAIkF,GAAGlF,EAAIqT,aAAarT,EAAIkF,GAAGlF,EAAIsT,kBAAkB,IACpX,GAAkB,GCkBtB,I,oBAAA,CACE7N,SAAU,OAAZ,OAAY,CAAZ,GACA,iCACA,uCAGE7M,KANF,WAOI,MAAO,CACLya,YAAa,GACbC,aAAc,KAGlBxQ,QAAS,CACP,OADJ,WACA,6JACA,6BADA,+CAIEG,QAjBF,WAkBI,IAAJ,8DAEI,IACE,GACN,qBACA,aACA,kBACA,CACQ,IAAR,eACQhD,KAAKoT,YAAcE,EAAM,GAAG,GAC5BtT,KAAKqT,aAAeC,EAAMA,EAAMna,OAAS,GAAG,QAE5CsG,QAAQjC,MAAM,oCAAtB,eAEA,SACMiC,QAAQ8T,KAAKC,OCpDgX,MCO/X,GAAY,eACd,GACA,GACA,IACA,EACA,KACA,KACA,MAIa,M,QCgbf,IACErO,MAAO,CAAC,gBAERG,WAAY,CACVmO,aAAJ,GACIlL,MAAJ,QACImL,gBAAJ,IAGEpQ,cAAF,GACEkC,SAAF,GACEsH,QAAF,GACEnU,KAAF,GACEkK,QAAF,GACEG,QAAF,GACEoE,MAAF,ICjd6W,MCSzW,I,oBAAY,eACd,GACA,GACA,IACA,EACA,KACA,WACA,OAIa,M,QCpBX,GAAS,WAAa,IAAIrH,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACE,MAAM,CAAC,MAAQ,OAAO,OAAS,OAAO,QAAU,YAAY,QAAU,MAAM,MAAQ,6BAA6B,cAAc,iCAAiC,CAACF,EAAG,IAAI,CAACI,MAAM,CAAGuC,UAAW,iCAAmCzC,MAAM,CAAC,OAASN,EAAImF,OAAO,eAAe,IAAI,KAAO,OAAO,YAAY,UAAU,iBAAiB,QAAQ,kBAAkB,UAAU,CAAC/E,EAAG,OAAO,CAACE,MAAM,CAAC,iBAAiB,QAAQ,kBAAkB,QAAQ,eAAe,IAAI,EAAI,0KAC1iB,GAAkB,GC4BtB,MACA,MAEA,IACE8E,MAAO,CACLD,OAAQ,CACNE,QAAS,OACTnJ,KAAMoJ,SAGV1M,KAPF,WAQI,MAAO,CACLmL,OAAN,GACMtD,MAAN,MC1CkW,MCO9V,GAAY,eACd,GACA,GACA,IACA,EACA,KACA,KACA,MAIa,M,QClBX,GAAS,WAAa,IAAIT,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACE,MAAM,CAAC,MAAQ,OAAO,OAAS,OAAO,QAAU,YAAY,QAAU,MAAM,MAAQ,6BAA6B,cAAc,iCAAiC,CAACF,EAAG,IAAI,CAACE,MAAM,CAAC,OAAS,OAAO,eAAe,IAAI,KAAO,OAAO,YAAY,UAAU,kBAAkB,UAAU,CAACF,EAAG,IAAI,CAACE,MAAM,CAAC,UAAY,oCAAoC,KAAO,UAAU,OAASN,EAAImF,OAAO,eAAe,QAAQ,CAAC/E,EAAG,IAAI,CAACE,MAAM,CAAC,UAAY,oCAAoC,CAACF,EAAG,IAAI,CAACE,MAAM,CAAC,UAAY,oCAAoC,CAACF,EAAG,OAAO,CAACE,MAAM,CAAC,EAAI,4gNAC5oB,GAAkB,GC4BtB,IACE8E,MAAO,CACLD,OAAQ,CACNE,QAAS,OACTnJ,KAAMoJ,UCjCqV,MCO7V,GAAY,eACd,GACA,GACA,IACA,EACA,KACA,KACA,MAIa,M,QClBX,GAAS,WAAa,IAAItF,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACE,MAAM,CAAC,MAAQ,OAAO,OAAS,OAAO,QAAU,YAAY,QAAU,MAAM,MAAQ,6BAA6B,cAAc,iCAAiC,CAACF,EAAG,IAAI,CAACE,MAAM,CAAC,OAAS,OAAO,eAAe,IAAI,KAAO,OAAO,YAAY,UAAU,iBAAiB,QAAQ,kBAAkB,UAAU,CAACF,EAAG,IAAI,CAACE,MAAM,CAAC,UAAY,oCAAoC,OAASN,EAAImF,OAAO,eAAe,MAAM,CAAC/E,EAAG,IAAI,CAACE,MAAM,CAAC,UAAY,oCAAoC,CAACF,EAAG,IAAI,CAACE,MAAM,CAAC,UAAY,oCAAoC,CAACF,EAAG,OAAO,CAACE,MAAM,CAAC,EAAI,kNAClpB,GAAkB,GC8BtB,IACE8E,MAAO,CACLD,OAAQ,CACNE,QAAS,OACTnJ,KAAMoJ,UCnCuV,MCO/V,GAAY,eACd,GACA,GACA,IACA,EACA,KACA,KACA,MAIa,M,QClBX,GAAS,WAAa,IAAItF,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACE,MAAM,CAAC,MAAQ,OAAO,OAAS,OAAO,QAAU,YAAY,QAAU,MAAM,MAAQ,6BAA6B,cAAc,iCAAiC,CAACF,EAAG,IAAI,CAACE,MAAM,CAAC,OAAS,OAAO,eAAe,IAAI,KAAO,OAAO,YAAY,YAAY,CAACF,EAAG,IAAI,CAACE,MAAM,CAAC,UAAY,oCAAoC,KAAON,EAAImF,SAAS,CAAC/E,EAAG,IAAI,CAACE,MAAM,CAAC,UAAY,oCAAoC,CAACF,EAAG,IAAI,CAACE,MAAM,CAAC,UAAY,oCAAoC,CAACF,EAAG,OAAO,CAACE,MAAM,CAAC,EAAI,ghFAC1kB,GAAkB,GC2BtB,IACE8E,MAAO,CACLD,OAAQ,CACNE,QAAS,OACTnJ,KAAMoJ,UChCqV,MCO7V,GAAY,eACd,GACA,GACA,IACA,EACA,KACA,KACA,MAIa,M,QClBX,GAAS,WAAa,IAAItF,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACE,MAAM,CAAC,MAAQ,OAAO,OAAS,OAAO,QAAU,YAAY,QAAU,MAAM,MAAQ,6BAA6B,cAAc,iCAAiC,CAACF,EAAG,IAAI,CAACE,MAAM,CAAC,OAAS,OAAO,eAAe,IAAI,KAAO,OAAO,YAAY,UAAU,iBAAiB,OAAO,kBAAkB,SAAS,CAACF,EAAG,IAAI,CAACE,MAAM,CAAC,UAAY,oCAAoC,OAASN,EAAImF,OAAO,eAAe,MAAM,CAAC/E,EAAG,IAAI,CAACE,MAAM,CAAC,UAAY,oCAAoC,CAACF,EAAG,IAAI,CAACE,MAAM,CAAC,UAAY,oCAAoC,CAACF,EAAG,OAAO,CAACE,MAAM,CAAC,EAAI,moBAChpB,GAAkB,GC8BtB,IACE8E,MAAO,CACLD,OAAQ,CACNE,QAAS,OACTnJ,KAAMoJ,UCnCmV,MCO3V,GAAY,eACd,GACA,GACA,IACA,EACA,KACA,KACA,MAIa,M,QClBX,GAAS,WAAa,IAAItF,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACE,MAAM,CAAC,MAAQ,OAAO,OAAS,OAAO,QAAU,YAAY,QAAU,MAAM,MAAQ,6BAA6B,cAAc,iCAAiC,CAACF,EAAG,IAAI,CAACE,MAAM,CAAC,OAAS,OAAO,eAAe,IAAI,KAAO,OAAO,YAAY,UAAU,iBAAiB,QAAQ,kBAAkB,UAAU,CAACF,EAAG,IAAI,CAACE,MAAM,CAAC,UAAY,oCAAoC,OAASN,EAAImF,OAAO,eAAe,MAAM,CAAC/E,EAAG,IAAI,CAACE,MAAM,CAAC,UAAY,oCAAoC,CAACF,EAAG,IAAI,CAACE,MAAM,CAAC,UAAY,oCAAoC,CAACF,EAAG,OAAO,CAACE,MAAM,CAAC,EAAI,iiBAClpB,GAAkB,GC8BtB,IACE8E,MAAO,CACLD,OAAQ,CACNE,QAAS,OACTnJ,KAAMoJ,UCnCqV,MCO7V,GAAY,eACd,GACA,GACA,IACA,EACA,KACA,KACA,MAIa,M,QClBX,GAAS,WAAa,IAAItF,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACoG,YAAY,CAAC,eAAe,QAAQlG,MAAM,CAAC,MAAQ,OAAO,OAAS,OAAO,QAAU,YAAY,QAAU,MAAM,MAAQ,6BAA6B,cAAc,iCAAiC,CAACF,EAAG,IAAI,CAACE,MAAM,CAAC,OAAS,OAAO,eAAe,IAAI,KAAO,OAAO,YAAY,UAAU,iBAAiB,OAAO,kBAAkB,SAAS,CAACF,EAAG,IAAI,CAACE,MAAM,CAAC,UAAY,oCAAoC,OAASN,EAAImF,OAAO,eAAe,QAAQ,CAAC/E,EAAG,IAAI,CAACE,MAAM,CAAC,UAAY,oCAAoC,CAACF,EAAG,IAAI,CAACE,MAAM,CAAC,UAAY,oCAAoC,CAACF,EAAG,OAAO,CAACE,MAAM,CAAC,EAAI,gIACtrB,GAAkB,GC+BtB,IACE8E,MAAO,CACLD,OAAQ,CACNE,QAAS,OACTnJ,KAAMoJ,UCpCoV,MCO5V,GAAY,eACd,GACA,GACA,IACA,EACA,KACA,KACA,MAIa,M,QClBX,GAAS,WAAa,IAAItF,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACoG,YAAY,CAAC,eAAe,OAAOlG,MAAM,CAAC,MAAQ,6BAA6B,OAAS,OAAO,QAAU,YAAY,MAAQ,OAAO,KAAO,YAAY,CAACF,EAAG,OAAO,CAACE,MAAM,CAAC,EAAI,kBAAkB,KAAO,UAAUF,EAAG,OAAO,CAACE,MAAM,CAAC,EAAI,+SAC7U,GAAkB,GCgBtB,IACE8E,MAAO,CACLD,OAAQ,CACNE,QAAS,OACTnJ,KAAMoJ,UCrBoV,MCO5V,GAAY,eACd,GACA,GACA,IACA,EACA,KACA,KACA,MAIa,M,QClBX,GAAS,WAAa,IAAItF,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACoG,YAAY,CAAC,eAAe,OAAOlG,MAAM,CAAC,MAAQ,6BAA6B,OAAS,OAAO,QAAU,YAAY,MAAQ,OAAO,KAAO,YAAY,CAACF,EAAG,OAAO,CAACE,MAAM,CAAC,EAAI,gBAAgB,KAAO,UAAUF,EAAG,OAAO,CAACE,MAAM,CAAC,EAAI,sHAC3U,GAAkB,GCgBtB,IACE8E,MAAO,CACLD,OAAQ,CACNE,QAAS,OACTnJ,KAAMoJ,UCrBoV,MCO5V,GAAY,eACd,GACA,GACA,IACA,EACA,KACA,KACA,MAIa,M,QClBX,GAAS,WAAa,IAAItF,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACoG,YAAY,CAAC,eAAe,OAAOlG,MAAM,CAAC,MAAQ,6BAA6B,OAAS,OAAO,QAAU,YAAY,MAAQ,OAAO,KAAO,YAAY,CAACF,EAAG,OAAO,CAACE,MAAM,CAAC,EAAI,gBAAgB,KAAO,UAAUF,EAAG,OAAO,CAACE,MAAM,CAAC,EAAI,4CAC3U,GAAkB,GCctB,IACE8E,MAAO,CACLD,OAAQ,CACNE,QAAS,OACTnJ,KAAMoJ,UCnBqV,MCO7V,GAAY,eACd,GACA,GACA,IACA,EACA,KACA,KACA,MAIa,M,QClBX,GAAS,WAAa,IAAItF,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACoG,YAAY,CAAC,eAAe,OAAOlG,MAAM,CAAC,MAAQ,6BAA6B,OAAS,OAAO,QAAU,YAAY,MAAQ,OAAO,KAAO,YAAY,CAACF,EAAG,OAAO,CAACE,MAAM,CAAC,EAAI,gBAAgB,KAAO,UAAUF,EAAG,OAAO,CAACE,MAAM,CAAC,EAAI,4NAC3U,GAAkB,GCgBtB,IACE8E,MAAO,CACLD,OAAQ,CACNE,QAAS,OACTnJ,KAAMoJ,UCrB4V,MCOpW,GAAY,eACd,GACA,GACA,IACA,EACA,KACA,KACA,MAIa,M,QClBX,GAAS,WAAa,IAAItF,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACE,MAAM,CAAC,MAAQ,6BAA6B,OAAS,OAAO,QAAU,YAAY,MAAQ,OAAO,KAAO,YAAY,CAACF,EAAG,OAAO,CAACE,MAAM,CAAC,EAAI,gBAAgB,KAAO,UAAUF,EAAG,OAAO,CAACE,MAAM,CAAC,EAAI,4PACxS,GAAkB,GCetB,IACE8E,MAAO,CACLD,OAAQ,CACNE,QAAS,OACTnJ,KAAMoJ,UCpBuV,MCO/V,GAAY,eACd,GACA,GACA,IACA,EACA,KACA,KACA,MAIa,M,QCiCf,IACEC,WAAY,CACV8D,eAAJ,EACIuK,OAAJ,GACIC,QAAJ,GACIC,KAAJ,EACIC,WAAJ,GAGEnb,KAAM,WACJ,MAAO,CACLiI,iBAAkB,CACxB,CACQ,GAAR,aACQ,MAAR,GACQ,MAAR,aAEA,CACQ,GAAR,qBACQ,MAAR,GACQ,MAAR,uBAEA,CACQ,GAAR,yBACQ,MAAR,GACQ,MAAR,0BAEA,CACQ,GAAR,cACQ,MAAR,GACQ,MAAR,cAEA,CACQ,GAAR,qBACQ,MAAR,GACQ,MAAR,uBAEA,CACQ,GAAR,cACQ,MAAR,GACQ,MAAR,eAEA,CACQ,GAAR,mBACQ,MAAR,GACQ,MAAR,kBAEA,CACQ,GAAR,mCACQ,MAAR,GACQ,MAAR,WAEA,CACQ,GAAR,WACQ,MAAR,GACQ,MAAR,WAEA,CACQ,GAAR,4BACQ,MAAR,GACQ,MAAR,iBAEA,CACQ,GAAR,yBACQ,MAAR,GACQ,MAAR,qBAEA,CACQ,GAAR,mBACQ,MAAR,GACQ,MAAR,uBAME4E,SAAU,OAAZ,OAAY,CAAZ,GACA,qCAGEuO,aAhFF,WAiFI/T,KAAKoP,OAAO/L,SAAS,0BAErB,EAAJ,wBCtIuU,MCOnU,GAAY,eACd,GACAvD,EACAgB,GACA,EACA,KACA,KACA,MAIa,M,qBCfA,YAAC8D,EAAIwL,EAAM4D,GACxB,OAAIA,IAGEpP,EAAGqP,KACE,CAAEC,SAAUtP,EAAGqP,MAOjB,CAAET,EAAG,EAAGW,EAAG,KCef,SAASC,UACCrW,IAAX4B,aAA6C5B,IAArB4B,OAAO0U,WAA2B1U,QAAUA,OAAO0U,WAC7E1U,OAAO0U,UAAU5a,KAAKsM,WAI1B,SAASuO,GAAT,GAA2B,IAAN7J,EAAM,EAANA,GACf8J,EAAa/Y,SAASQ,cAAc,UACxCuY,EAAWC,UAAX,6VAI2C/J,EAJ3C,OAKAjP,SAASqB,KAAK4X,QAAQF,GAEtB,IAAIG,EAAelZ,SAASQ,cAAc,YAC1C0Y,EAAaF,UAAb,mEAAqF/J,EAArF,8EAEAjP,SAASiV,KAAKgE,QAAQC,GAEtBjV,QAAQ6S,IAAI,8BAAgC7H,GAO9C,SAASkK,KACP,IAAIC,EAAsB,KAC1B,IAEE,GADAA,EAAsBC,uXAAYD,oBACN,UAAxBA,EACF,OAAO,EAET,MAAOpB,GACP/T,QAAQjC,MAAMgW,GAGhB,OAAO,EAGF,SAASsB,GAAT,GAAqC,IAAVC,EAAU,EAAVA,OAChCtV,QAAQ6S,IAAI,sCAAwCyC,GACpD,IAAMC,EAAWL,KACjB,GAAKK,EAkBE,CACLvV,QAAQ6S,IAAI,gBACZ,IAAI2C,EAAyB,KAE7B,GAAe,eAAXF,EACFE,EAAyBJ,uXAAYK,uCAChC,GAAe,WAAXH,EACTE,EAAyBJ,uXAAYM,mCAChC,GAAe,cAAXJ,EACTE,EAAyBJ,uXAAYO,qCAChC,IAAe,eAAXL,EAIT,YADAtV,QAAQjC,MAAR,kDAFAyX,EAAyBJ,uXAAYQ,kCAMvCf,GAAU,CAAE7J,GAAIwK,QAnCH,CACbxV,QAAQ6S,IAAI,oBACZ,IAAI2C,EAAyB,KAC7B,IACEA,EAAyBJ,eACzB,MAAOrB,GAOP,YANA/T,QAAQjC,MAAMgW,GASsB,kBAA3ByB,GAAuCA,EAAuB9b,QAAU,GACjFmb,GAAU,CAAE7J,GAAIwK,KCxFf,SAASK,GAAT,GAA2B,IAAN1Q,EAAM,EAANA,GAK1BwP,GAAK,QAAS,aAAc,CAC1B1T,KAAMkE,EAAG2Q,W,cCgBTC,G,aCpBEjI,I,mDAAU,GACVkI,IAAW,EAGJ3T,GAAU,CACrB4T,yBADqB,cACoD,IAA9C1T,EAA8C,EAA9CA,OAAY2T,EAAkC,EAAlCA,UAAWC,EAAuB,EAAvBA,OAAQC,EAAe,EAAfA,YACxD,IACEpW,QAAQqP,MAAM,kCACd,IAAIgH,EAAyB,CAAC,CAAEH,UAAW,EAAGC,OAAQ,EAAGC,YAAa,KAEtD,GAAZJ,IACFhW,QAAQqP,MACN,kCACE6G,EACA,YACAC,EACA,iBACAC,GAGN,IAAME,EAAW,CACfJ,UAAWA,EACXC,OAAQA,EACRC,YAAaA,GAGC,GAAZJ,IAAkBhW,QAAQqP,MAAM,YAAcE,KAAKC,UAAU8G,IAEjED,EAAuBrc,KAAKsc,GAEZ,GAAZN,IACFhW,QAAQqP,MAAM,4BAA8BE,KAAKC,UAAU6G,IAE7D9T,EAAO,oCAAqC8T,GAC5C,MAAO/a,GACPiX,gBAAYjX,KAGhBib,0BAlCqB,YAkCiB,IAAVhU,EAAU,EAAVA,OAC1B,IACE,IAAI8T,EAAyB,GAC7B9T,EAAO,oCAAqC8T,GAC5C,MAAO/a,GACPiX,gBAAYjX,KAIVkb,mBA3Ce,YA2CgB,qJAAVjU,EAAU,EAAVA,OACzB,IACMkU,EAAuB,CACzB,CAAErX,MAAO,QAASgG,MAAO,SACzB,CAAEhG,MAAO,YAAagG,MAAO,aAC7B,CAAEhG,MAAO,SAAUgG,MAAO,UAC1B,CAAEhG,MAAO,SAAUgG,MAAO,UAC1B,CAAEhG,MAAO,UAAWgG,MAAO,YAKd,GAAX0I,IACF9N,QAAQqP,MAAM,wBAA0BE,KAAKC,UAAUiH,IAEzDlU,EAAO,kBAAmBkU,GAC1B,MAAOnb,GACPiX,gBAAYjX,GAjBqB,8CAqB/Bob,gCAhEe,YAgE6B,qJAAVnU,EAAU,EAAVA,OACtC,IACMkU,EAAuB,CACzB,CAAErX,MAAO,SAAUgG,MAAO,UAC1B,CAAEhG,MAAO,UAAWgG,MAAO,YAGd,GAAX0I,IACF9N,QAAQqP,MAAM,wBAA0BE,KAAKC,UAAUiH,IAEzDlU,EAAO,+BAAgCkU,GACvC,MAAOnb,GACPiX,gBAAYjX,GAZkC,8CAgB5Cqb,gBAhFe,YAgFa,qJAAVpU,EAAU,EAAVA,OACtB,IACMqU,EAAoB,CACtB,CAAExX,MAAO,YAAagG,MAAO,aAC7B,CAAEhG,MAAO,WAAYgG,MAAO,YAC5B,CAAEhG,MAAO,kBAAmBgG,MAAO,mBACnC,CAAEhG,MAAO,kBAAmBgG,MAAO,mBACnC,CAAEhG,MAAO,QAASgG,MAAO,UAGZ,GAAX0I,IAAiB9N,QAAQqP,MAAM,qBAAuBE,KAAKC,UAAUoH,IAEzErU,EAAO,eAAgBqU,GACvB,MAAOtb,GACPiX,gBAAYjX,GAdkB,8CAkB5Bub,uBAlGe,YAkGoB,4JAAVtU,EAAU,EAAVA,OAAU,SAEjCuU,EAA4B,CAC9B,CAAE1X,MAAO,cAAegG,MAAO,eAC/B,CAAEhG,MAAO,iBAAkBgG,MAAO,kBAClC,CAAEhG,MAAO,iBAAkBgG,MAAO,kBAClC,CAAEhG,MAAO,WAAYgG,MAAO,YAC5B,CAAEhG,MAAO,YAAagG,MAAO,cAGhB,GAAX0I,IACF9N,QAAQqP,MAAM,6BAA+BE,KAAKC,UAAUsH,IAE9DvU,EAAO,wBAAyBuU,GAbK,kBAe9BA,GAf8B,mCAiBrCvE,gBAAY,EAAD,IAjB0B,iCAoBhC,IApBgC,4DAwBnCwE,gCA1He,YA0HsD,oLAAnCxU,EAAmC,EAAnCA,OAAQyU,EAA2B,EAA3BA,UAAaC,EAAc,+BAAJ,GAAI,SAEjE9H,EAAS,CACbxG,WACoBrK,IAAlB2Y,EAAQtO,OAAuBsO,EAAQtO,MACnCsO,EAAQtO,MACRqO,EAAUE,KAAKC,cACrBC,oBAA2C9Y,IAA3B2Y,EAAQG,eAA+BH,EAAQG,eAAiB,MAG9EH,QAAsB3Y,GAAX2Y,GACTA,EAAQnL,aAA4BxN,GAAlB2Y,EAAQnL,SACb,GAAXgC,IACF9N,QAAQqP,MAAM,qCAAuCE,KAAKC,UAAUyH,IAChD,WAAlBA,EAAQnL,QACV9L,QAAQqP,MAAM,cACdF,EAAOkI,WAAa,WACO,UAAlBJ,EAAQnL,OACjBqD,EAAOkI,WAAa,SACO,aAAlBJ,EAAQnL,OACjBqD,EAAOkI,WAAa,YACO,YAAlBJ,EAAQnL,QACjB9L,QAAQqP,MAAM,eACdF,EAAOkI,WAAa,YACO,QAAlBJ,EAAQnL,QACjB9L,QAAQqP,MAAM,WACdF,EAAOkI,WAAa,QACO,SAAlBJ,EAAQnL,QACjB9L,QAAQqP,MAAM,YACdF,EAAOmI,gBAAkBL,EAAQK,gBACjCnI,EAAOkI,WAAa,SACO,iBAAlBJ,EAAQnL,QACjB9L,QAAQqP,MAAM,oBACdF,EAAOoI,oBAAsBN,EAAQM,oBACrCpI,EAAOkI,WAAa,iBACO,UAAlBJ,EAAQnL,QACjB9L,QAAQqP,MAAM,aACdF,EAAOqI,iBAAmBP,EAAQQ,WAClCtI,EAAOuI,eAAiBT,EAAQU,SAChCxI,EAAOkI,WAAa,UACO,OAAlBJ,EAAQnL,QACjBqD,EAAOkI,WAAa,MACpBlI,EAAOyI,gBAAkBX,EAAQY,iBACjC1I,EAAO2I,cAAgBb,EAAQc,gBACJ,QAAlBd,EAAQnL,QACjBqD,EAAOkI,WAAa,OACpBlI,EAAOyI,gBAAkBX,EAAQY,iBACjC1I,EAAO2I,cAAgBb,EAAQc,gBACJ,UAAlBd,EAAQnL,QACjBqD,EAAOkI,WAAa,SACpBlI,EAAOyI,gBAAkBX,EAAQY,iBACjC1I,EAAO2I,cAAgBb,EAAQc,gBACJ,aAAlBd,EAAQnL,QACjBqD,EAAOkI,WAAa,YACpBlI,EAAOyI,gBAAkBX,EAAQY,iBACjC1I,EAAO2I,cAAgBb,EAAQc,gBAEb,eAAlBd,EAAQnL,QACRmL,EAAQY,kBACRZ,EAAQc,gBAER/X,QAAQ6S,IACN,iBACEoE,EAAQY,iBAAiBG,WACzB,QACAf,EAAQc,eAAeC,YAE3B7I,EAAOyI,gBAAkBX,EAAQY,iBACjC1I,EAAO2I,cAAgBb,EAAQc,eAC/B5I,EAAOkI,WAAa,eAEF,eAAlBJ,EAAQnL,QACRmL,EAAQgB,kBACRhB,EAAQiB,gBAERlY,QAAQ6S,IAAI,kBACZ1D,EAAOyI,gBAAkBX,EAAQgB,iBACjC9I,EAAO2I,cAAgBb,EAAQiB,eAC/B/I,EAAOkI,WAAa,eACO,MAAlBJ,EAAQnL,QAAkBmL,EAAQkB,cAC3CnY,QAAQ6S,IAAI,SACZ1D,EAAOiJ,kBAAoBnB,EAAQkB,YACnChJ,EAAOkI,WAAa,OAlF6C,SAuFnC/H,QAAItQ,IAAI,kCAAmC,CAAEmQ,WAvFV,gBAuFxDkJ,EAvFwD,EAuFjEjG,QAES,GAAXtE,IACF9N,QAAQqP,MAAM,mCAAqCE,KAAKC,UAAU6I,IAEpE9V,EAAO,+BAAgC8V,GA5FgC,qDA8FvE9F,gBAAY,EAAD,IA9F4D,6DAmGrE+F,mCA7Ne,YA6N2C,kKAArB/V,EAAqB,EAArBA,OAAQyU,EAAa,EAAbA,UAAa,SAEtD7H,EAAS,CACbxG,MAAOqO,EAAUE,KAAKC,eAHoC,SAQlD7H,QAAItQ,IAAI,8DAA+D,CAAEmQ,WARvB,gBAOjDoJ,EAPiD,EAO1DnG,QAGa,GAAXtE,IACF9N,QAAQqP,MAAM,sCAAwCE,KAAKC,UAAU+I,IAEvEhW,EAAO,iCAAkCgW,GAbmB,qDAe5DhG,gBAAY,EAAD,IAfiD,6DAoB1DiG,2BAjPe,YAiPmC,kKAArBjW,EAAqB,EAArBA,OAAQyU,EAAa,EAAbA,UAAa,SAE9C7H,EAAS,CACbxG,MAAOqO,EAAUE,KAAKC,eAH4B,SAQ1C7H,QAAItQ,IAAI,6CAA8C,CAAEmQ,WARd,gBAOzCsJ,EAPyC,EAOlDrG,QAGa,GAAXtE,IACF9N,QAAQqP,MAAM,8BAAgCE,KAAKC,UAAUiJ,IAE/DlW,EAAO,0BAA2BkW,GAbkB,qDAepDlG,gBAAY,EAAD,IAfyC,6DAoBlDmG,yBArQe,YAqQiC,kKAArBnW,EAAqB,EAArBA,OAAQyU,EAAa,EAAbA,UAAa,SAE5C7H,EAAS,CACbxG,MAAOqO,EAAUE,KAAKC,eAH0B,SAMT7H,QAAItQ,IAAI,8BAA+B,CAAEmQ,WANhC,gBAMnCwJ,EANmC,EAM5CvG,QAES,GAAXtE,IACF9N,QAAQqP,MAAM,4BAA8BE,KAAKC,UAAUmJ,IAE7DpW,EAAO,wBAAyBoW,GAXkB,qDAalDpG,gBAAY,EAAD,IAbuC,6DAkBhDqG,gCAvRe,YAuRwC,gKAArBrW,EAAqB,EAArBA,OAAQyU,EAAa,EAAbA,UAAa,SAEnD7H,EAAS,CACbxG,MAAOqO,EAAUE,KAAKC,eAHiC,SAMhB7H,QAAItQ,IAC3C,8CACA,CAAEmQ,WARqD,OAMrD0J,EANqD,OAW1C,GAAX/K,IACF9N,QAAQqP,MACN,mCAAqCE,KAAKC,UAAUqJ,IAGxDtW,EAAO,+BAAgCsW,GAhBkB,qDAkBzDtG,gBAAY,EAAD,IAlB8C,6DAuBvDuG,2BA9Se,YA8SmC,gKAArBvW,EAAqB,EAArBA,OAAQyU,EAAa,EAAbA,UAAa,SAE9C7H,EAAS,CACbxG,MAAOqO,EAAUE,KAAKC,eAH4B,SAMhC7H,QAAItQ,IAAI,sDAAuD,CAAEmQ,WANjC,OAMhDiD,EANgD,OAQrC,GAAXtE,IACF9N,QAAQqP,MAAM,8BAAgCE,KAAKC,UAAU4C,EAAQA,UAEvE7P,EAAO,uBAAwB6P,EAAQA,SAXa,qDAapDG,gBAAY,EAAD,IAbyC,6DAiBlDwG,aA/Te,YA+TqB,oKAArBxW,EAAqB,EAArBA,OAAQyU,EAAa,EAAbA,UAAa,SAEhC7H,EAAS,CACbxG,MAAOqO,EAAUE,KAAKC,eAHc,SAMN7H,QAAItQ,IAAI,gCAAiC,CAAEmQ,WANrC,gBAMvB6J,EANuB,EAMhC5G,QAES,GAAXtE,IAAiB9N,QAAQqP,MAAM,gBAAkBE,KAAKC,UAAUwJ,IAE9DC,EAAiBD,EACpB/M,KAAI,SAAA1C,GAAC,MAAK,CACTnK,MAAsB,MAAfmK,EAAE2P,UAAoB3P,EAAE2P,UAAY,EAC3C9T,MAAsB,MAAfmE,EAAE4P,UAAoB5P,EAAE4P,UAAxB,UAAuD,MAAhB5P,EAAE6P,WAAqB7P,EAAE6P,WAAa,QAErFtN,QAAO,SAAAuN,GAAC,OAAIA,EAAEjU,MAAM1L,OAAS,GAAK2f,EAAEja,MAAQ,KAE/C6Z,EAAeK,QAAQ,CAAEla,MAAO,GAAIgG,MAAO,qBAE5B,GAAX0I,IAAiB9N,QAAQqP,MAAM,qBAAuBE,KAAKC,UAAUyJ,IAEzE1W,EAAO,oBAAqB0W,GArBU,qDAuBtC1G,gBAAY,EAAD,IAvB2B,6DA2BpCgH,iBA1Ve,YA0VuC,wLAAnChX,EAAmC,EAAnCA,OAAQyU,EAA2B,EAA3BA,UAAaC,EAAc,+BAAJ,GAAI,SAElD9H,EAAS,CACbxG,MAAOqO,EAAUE,KAAKC,cACtBqC,gBAAgB,QAIWlb,IAA3B2Y,EAAQuC,iBACmB,IAA3BvC,EAAQuC,qBACgBlb,IAAxB2Y,EAAQwC,aACgB,WAAxBxC,EAAQwC,YAERtK,EAAOqK,gBAAiB,EAExBrK,EAAOqK,gBAAiB,EAG1BxZ,QAAQqP,MAAM,2BAA6BE,KAAKC,UAAUyH,IAEtDwC,EAAc,KAEhBxC,QACY3Y,IAAZ2Y,GACAA,EAAQwC,kBACgBnb,IAAxB2Y,EAAQwC,cAERA,EAAcxC,EAAQwC,aA3BgC,UAgC9CnK,QAAItQ,IAAJ,4CAA6CmQ,EAAOxG,OAAS,CAAEwG,WAhCjB,iBA+B7CuK,EA/B6C,EA+BtDtH,QAGa,GAAXtE,IAAiB9N,QAAQqP,MAAM,oBAAsBE,KAAKC,UAAUkK,IAElEC,EAAqBD,EACxBzN,KAAI,SAAA1C,GAAC,wCACDA,GADC,IAEJnK,MAAsB,MAAfmK,EAAEqQ,UAAoBrQ,EAAEqQ,UAAY,EAC3CxU,MACmB,MAAjBmE,EAAE6M,aAA0C,MAAnB7M,EAAEsQ,eAA+C,MAAtBtQ,EAAEuQ,iBAClDvQ,EAAEsQ,cACF,IACAtQ,EAAEuQ,iBAAiB9B,WAAW+B,SAAS,EAAG,KAC1C,MACAxQ,EAAE6M,YACF,QAEPtK,QACC,SAAAuN,GAAC,OACCA,EAAEjU,MAAM1L,OAAS,GACjB2f,EAAEja,MAAQ,GACVia,EAAEI,cAAgBA,QAA8Bnb,GAAfmb,EAA2BA,EAAcJ,EAAEI,gBAGlFE,EAAmBL,QAAQ,CAAEla,MAAO,GAAIgG,MAAO,gBAAF,OAAkBqU,EAAlB,QAE9B,GAAX3L,IACF9N,QAAQqP,MAAM,yBAA2BE,KAAKC,UAAUmK,IAE1DpX,EAAO,wBAAyBoX,GA7DwB,qDA+DxDpH,gBAAY,EAAD,IA/D6C,6DAoEtDyH,uBA9Ze,YA8ZoB,8JAAVzX,EAAU,EAAVA,OAAU,kBAEM+M,QAAItQ,IAAI,yCAFd,gBAEtBib,EAFsB,EAE/B7H,QAES,GAAXtE,IACF9N,QAAQqP,MAAM,0BAA4BE,KAAKC,UAAUyK,IAE3D1X,EAAO,sBAAuB0X,GAPO,qDASrC1H,gBAAY,EAAD,IAT0B,6DAcnC2H,yBA5ae,YA4aoC,gLAAxB3X,EAAwB,EAAxBA,OAAU0U,EAAc,+BAAJ,GAAI,kBAET3H,QAAItQ,IAAJ,8DACaiY,EAAQkD,cAHZ,gBAEtCC,EAFsC,EAE/ChI,QAIU,GAAZ4D,IACFhW,QAAQqP,MAAM,4BAA8BE,KAAKC,UAAU4K,IAE7D7X,EAAO,wBAAyB6X,GATqB,qDAWrD7H,gBAAY,EAAD,IAX0C,6DAgBnD8H,gBA5be,YA4bwB,gKAArB9X,EAAqB,EAArBA,OAAQyU,EAAa,EAAbA,UAAa,kBAEH1H,QAAItQ,IAAJ,4CACCgY,EAAUE,KAAKC,gBAHb,gBAE1BmD,EAF0B,EAEnClI,QAIU,GAAZ4D,IAAkBhW,QAAQqP,MAAM,mBAAqBE,KAAKC,UAAU8K,IAExE/X,EAAO,sBAAuB+X,GARW,qDAUzC/H,gBAAY,EAAD,IAV8B,6DAevCgI,yBA3ce,YA2ciC,kKAArBhY,EAAqB,EAArBA,OAAQyU,EAAa,EAAbA,UAAa,kBAEZ1H,QAAItQ,IAAJ,oDACSgY,EAAUE,KAAKC,gBAHZ,gBAEnCqD,EAFmC,EAE5CpI,QAIFqI,EAAqBD,EACtBvO,KAAI,SAAA1C,GAAC,MAAK,CACTnK,MAA8B,MAAvBmK,EAAEmR,kBAA4BnR,EAAEmR,kBAAoB,EAC3DtV,MAAiB,MAAVmE,EAAElL,KAAekL,EAAElL,KAAO,OAElCyN,QAAO,SAAAuN,GAAC,OAAIA,EAAEjU,MAAM1L,OAAS,GAAK2f,EAAEja,MAAQ,KAE/B,GAAZ4W,IACFhW,QAAQqP,MAAM,4BAA8BE,KAAKC,UAAUiL,IAE7DlY,EAAO,wBAAyBkY,GAhBkB,qDAkBlDlI,gBAAY,EAAD,IAlBuC,6DAuBhDoI,qBAlee,YAkegC,gLAAxBpY,EAAwB,EAAxBA,OAAU0U,EAAc,+BAAJ,GAAI,kBAET3H,QAAItQ,IAAJ,0DACaiY,EAAQkD,cAHZ,gBAElCS,EAFkC,EAE3CxI,QAIU,GAAZ4D,IAAkBhW,QAAQqP,MAAM,wBAA0BE,KAAKC,UAAUoL,IAE7ErY,EAAO,oBAAqBqY,GARqB,qDAUjDrI,gBAAY,EAAD,IAVsC,6DAe/CsI,qBAjfe,YAif2C,oLAAnCtY,EAAmC,EAAnCA,OAAQyU,EAA2B,EAA3BA,UAAaC,EAAc,+BAAJ,GAAI,SAEtD9H,EAAS,CACbxG,MAAOqO,EAAUE,KAAKC,cACtBjB,UAAWe,EAAQf,WAJuC,SAOtB5G,QAAItQ,IAAJ,kCAA2C,CAC/EmQ,WAR0D,gBAO7C2L,EAP6C,EAOtD1I,QAIS,GAAXtE,IAAiB9N,QAAQqP,MAAM,wBAA0BE,KAAKC,UAAUsL,IAE5EvY,EAAO,iBAAkBuY,GAbmC,qDAe5DvI,gBAAY,EAAD,IAfiD,6DAoB1DwI,8BArgBe,cAqgBwD,gKAAvCxY,EAAuC,EAAvCA,OAAQyU,EAA+B,EAA/BA,UAA+B,IAAhBC,eAAgB,MAAN,GAAM,YAErEA,QAAsB3Y,GAAX2Y,EAF0D,wBAGjE9H,EAAS,CACbxG,MAAOqO,EAAUE,KAAKC,cACtB6D,KAAM/D,EAAQ+D,MAGD,GAAXlN,IAAiB9N,QAAQqP,MAAM,UAAYE,KAAKC,UAAUL,IARS,SASlDG,QAAItQ,IAAJ,0CAAmD,CACtEmQ,WAVqE,OASjE5U,EATiE,OAaxD,GAAXuT,IACF9N,QAAQqP,MAAM,iCAAmCE,KAAKC,UAAUjV,IAElEgI,EAAO,iBAAkBhI,GAhB8C,6DAmB1D,GAAXuT,IAAiB9N,QAAQqP,MAAM,gDAAkD,EAAlD,IAnBsC,6DAwBvE4L,iBA7hBe,YA6hB4B,0KAAxB1Y,EAAwB,EAAxBA,OAAU0U,EAAc,+BAAJ,GAAI,UAG3CA,QACW3Y,GAAX2Y,IACAA,EAAQkD,kBACe7b,GAAvB2Y,EAAQkD,YANmC,wBAQ5B,GAAXrM,IAAiB9N,QAAQqP,MAAM,WAAaE,KAAKC,UAAUyH,IARpB,SASrB3H,QAAItQ,IAAJ,qCAAsCiY,EAAQkD,cATzB,OASrCe,EATqC,OAW5B,GAAXpN,IAAiB9N,QAAQqP,MAAM,oBAAsBE,KAAKC,UAAU0L,IAExE3Y,EAAO,YAAa2Y,GAbuB,6DAgB9B,GAAXpN,IAAiB9N,QAAQqP,MAAM,mCAAqC,EAArC,IAhBU,6DAqB3C8L,iBAljBe,YAkjByB,gKAArB5Y,EAAqB,EAArBA,OAAQyU,EAAa,EAAbA,UAAa,SAEpC7H,EAAS,CACbxG,MAAOqO,EAAUE,KAAKC,eAHkB,SAMpB7H,QAAItQ,IAAJ,sDAAuDmQ,EAAOxG,QAN1C,OAMpCyS,EANoC,OAQ3B,GAAXtN,IAAiB9N,QAAQqP,MAAM,oBAAsBE,KAAKC,UAAU4L,IAEpEA,QAAsB9c,GAAX8c,GACb7Y,EAAO,YAAa6Y,GAXoB,qDAc3B,GAAXtN,IAAiB9N,QAAQqP,MAAM,oCAdO,6DAmBxCgM,2BArkBe,YAqkBsC,8KAAxB9Y,EAAwB,EAAxBA,OAAU0U,EAAc,+BAAJ,GAAI,SAExC,GAAXnJ,IAAiB9N,QAAQqP,MAAM,WAAaE,KAAKC,UAAUyH,IAFR,SAGvB3H,QAAItQ,IAAJ,gDACWiY,EAAQqE,wBAJI,OAGjDC,EAHiD,OAOxC,GAAXzN,IACF9N,QAAQqP,MAAM,8BAAgCE,KAAKC,UAAU+L,IAE/DhZ,EAAO,sBAAuBgZ,GAVyB,qDAYvDhJ,gBAAY,EAAD,IAZ4C,6DAiBrDiJ,qCAtlBe,YAslBgD,8KAAxBjZ,EAAwB,EAAxBA,OAAU0U,EAAc,+BAAJ,GAAI,SAEjD,GAAZjB,IAAkBhW,QAAQqP,MAAM,WAAaE,KAAKC,UAAUyH,IAFC,SAGrC3H,QAAItQ,IAAJ,kEACiCiY,EAAQwE,WAJJ,OAG3DC,EAH2D,OAOjD,GAAZ1F,IACFhW,QAAQqP,MAAM,wCAA0CE,KAAKC,UAAUkM,IAEzEnZ,EAAO,kBAAmBmZ,GAVuC,qDAYjEnJ,gBAAY,EAAD,IAZsD,6DAiB/DoJ,iCAvmBe,YAumB4C,8KAAxBpZ,EAAwB,EAAxBA,OAAU0U,EAAc,+BAAJ,GAAI,SAE9C,GAAXnJ,IAAiB9N,QAAQqP,MAAM,WAAaE,KAAKC,UAAUyH,IAFF,SAG9B3H,QAAItQ,IAAJ,gDACYiY,EAAQqE,wBAJU,OAGvDM,EAHuD,OAO9C,GAAX9N,IACF9N,QAAQqP,MAAM,oCAAsCE,KAAKC,UAAUoM,IAErErZ,EAAO,4BAA6BqZ,GAVyB,qDAY7DrJ,gBAAY,EAAD,IAZkD,6DAiB3DsJ,wBAxnBe,YAwnB8C,oLAAnCtZ,EAAmC,EAAnCA,OAAQyU,EAA2B,EAA3BA,UAAaC,EAAc,+BAAJ,GACvDrF,EAAW,IAAIkK,SACrBlK,EAASmK,OAAO,OAAQ9E,EAAQ+E,MAFiC,SAMzD/a,EANyD,gEAMO+V,EAAUE,KAC7EC,eAAiBF,EAAQtO,MAPmC,wBAOdsO,EAAQkD,aAPM,SAQ7B7K,QAAIZ,KAAKzN,EAAM2Q,EAAU,CACzD,eAAgB,wBAT6C,OAQzDqK,EARyD,OAYhD,GAAXnO,IACF9N,QAAQqP,MAAM,sCAAwCE,KAAKC,UAAUyM,IAEvE1Z,EAAO,OAAQ,CAAE0Z,wBAf8C,qDAiB/D1J,gBAAY,EAAD,IAjBoD,6DAqB7D2J,kCA7oBe,YA6oBwD,oLAAnC3Z,EAAmC,EAAnCA,OAAQyU,EAA2B,EAA3BA,UAAaC,EAAc,+BAAJ,GACjErF,EAAW,IAAIkK,SACrBlK,EAASmK,OAAO,OAAQ9E,EAAQ+E,MAF2C,SAMnE/a,EANmE,sEAMG+V,EAAUE,KAAKC,cANlB,wBAM+CF,EAAQkD,aANvD,SAO7B7K,QAAIZ,KAAKzN,EAAM2Q,EAAU,CACnE,eAAgB,wBARuD,OAOnEuK,EAPmE,OAW1D,GAAXrO,IACF9N,QAAQqP,MACN,kDACEE,KAAKC,UAAU2M,IAGrB5Z,EAAO,OAAQ,CAAE4Z,kCAjBwD,qDAmBzE5J,gBAAY,EAAD,IAnB8D,6DAwBvE6J,wBArqBe,YAqqBmC,yLAAxB7Z,EAAwB,EAAxBA,OAAU0U,EAAc,+BAAJ,GAC5CrF,EAAW,IAAIkK,SACrBlK,EAASmK,OAAO,OAAQ9E,EAAQ+E,MAFsB,SAK9C/a,EAL8C,qFAKuCgW,EAAQqE,uBAL/C,SAOdhM,QAAIZ,KAAKzN,EAAM2Q,EAAU,CAC7D,eAAgB,wBARkC,OAO9CwK,EAP8C,OAWhC,GAAhB,EAAKtO,SAAiB9N,QAAQqP,MAAM,WAAaE,KAAKC,UAAU4M,IAEpE7Z,EAAO,OAAQ,CAAE6Z,4BAbmC,qDAepD7J,gBAAY,EAAD,IAfyC,6DAoBlD8J,oBAzrBe,cA4rBnB,mLAFEzY,EAEF,EAFEA,SACA0Y,EACF,EADEA,oBAAqBnC,EACvB,EADuBA,YAAaoC,EACpC,EADoCA,mBAAoBpG,EACxD,EADwDA,OAAQC,EAChE,EADgEA,YAAalE,EAC7E,EAD6EA,KAC7E,kBAEwB5C,QAAIkN,IAAJ,qCAA8C,CAClEF,sBACAnC,cACAoC,qBACApG,SACAC,gBAPJ,OAEQhE,EAFR,OAUsB,GAAhB,EAAKtE,SAAiB9N,QAAQqP,MAAM,WAAaE,KAAKC,UAAU4C,IAEhExO,QAAwBtF,GAAZsF,GAAuB5D,QAAQqP,MAAMzL,GAEjDwO,EAAQkK,oBAAsB,GAChChK,gBAAc,4CACdJ,KAEAK,gBAAY,qDAlBhB,qDAqBEA,gBAAY,EAAD,IArBb,6DA0BIkK,kBAttBe,cAstB+D,+KAA1D7Y,EAA0D,EAA1DA,SAAc8Y,EAA4C,EAA5CA,gBAAiBvC,EAA2B,EAA3BA,YAAawC,EAAc,EAAdA,KAAMzK,EAAQ,EAARA,KAAQ,kBAE1D5C,QAAIkN,IAAJ,iCAA0C,CAC9DE,kBACAvC,cACAwC,SAL8E,OAE1EvK,EAF0E,OAQ5D,GAAhB,EAAKtE,SAAiB9N,QAAQqP,MAAM,WAAaE,KAAKC,UAAU4C,IAEhExO,QAAwBtF,GAAZsF,GAAuB5D,QAAQqP,MAAMzL,GAEjDwO,EAAQsK,gBAAkB,GAC5BpK,gBAAc,0CACdJ,KAEAK,gBAAY,mDAhBkE,qDAmBhFA,gBAAY,EAAD,IAnBqE,6DAwB9EqK,gBA9uBe,cA8uBuC,6KAApChZ,EAAoC,EAApCA,SAAoC,IAAtBqT,eAAsB,MAAZ,GAAY,EAAR/E,EAAQ,EAARA,KAAQ,kBAElC5C,QAAIkN,IAAJ,6BAAsCvF,GAFJ,OAElD7E,EAFkD,OAIpC,GAAhB,EAAKtE,SAAiB9N,QAAQqP,MAAM,WAAaE,KAAKC,UAAU4C,IAEhExO,QAAwBtF,GAAZsF,GAAuB5D,QAAQqP,MAAMzL,GAEjDwO,EAAQyK,YAAc,GACxBvK,gBAAc,yCACdJ,KAEAK,gBAAY,kDAZ0C,qDAexDA,gBAAY,EAAD,IAf6C,6DAoBtDuK,sBAlwBe,cAkwB6C,6KAApClZ,EAAoC,EAApCA,SAAoC,IAAtBqT,eAAsB,MAAZ,GAAY,EAAR/E,EAAQ,EAARA,KAAQ,kBAExC5C,QAAIkN,IAAJ,6CAAsDvF,GAFd,OAExD7E,EAFwD,OAI1C,GAAhB,EAAKtE,SAAiB9N,QAAQqP,MAAM,WAAaE,KAAKC,UAAU4C,IAEhExO,QAAwBtF,GAAZsF,GAAuB5D,QAAQqP,MAAMzL,GAEjDwO,EAAQ2K,4BAA8B,GACxCzK,gBAAc,iDACdJ,KAEAK,gBAAY,0DAZgD,qDAe9DA,gBAAY,EAAD,IAfmD,6DAmB5DyK,uBArxBe,cAqxB8C,6KAApCpZ,EAAoC,EAApCA,SAAoC,IAAtBqT,eAAsB,MAAZ,GAAY,EAAR/E,EAAQ,EAARA,KAAQ,kBAEzC5C,QAAIZ,KAAJ,6EACkDuI,EAAQkD,cAHjB,OAEzD/H,EAFyD,OAM3C,GAAhB,EAAKtE,SAAiB9N,QAAQqP,MAAM,WAAaE,KAAKC,UAAU4C,IAEhExO,QAAwBtF,GAAZsF,GAAuB5D,QAAQqP,MAAMzL,GAEjDwO,EAAQ2K,4BAA8B,GACxC/c,QAAQqP,MAAR,uCACA6C,EAAK,CAAE+K,QAAS7K,KAEhBG,gBAAY,+CAdiD,qDAiB/DA,gBAAY,EAAD,IAjBoD,6DAsB7D2K,cA3yBe,cA2yBqC,6KAApCtZ,EAAoC,EAApCA,SAAoC,IAAtBqT,eAAsB,MAAZ,GAAY,EAAR/E,EAAQ,EAARA,KAAQ,kBAEhC5C,QAAIkN,IAAJ,yBAAkCvF,GAFF,OAEhD7E,EAFgD,OAIlC,GAAhB,EAAKtE,SAAiB9N,QAAQqP,MAAM,WAAaE,KAAKC,UAAU4C,IAEhExO,QAAwBtF,GAAZsF,GAAuB5D,QAAQqP,MAAMzL,GAEjDwO,EAAQwH,UAAY,GACtBtH,gBAAc,yCACdJ,KAEAK,gBAAY,iDAZwC,qDAetDA,gBAAY,EAAD,IAf2C,6DAqBpD4K,+BAh0Be,cAm0BnB,mLAFEvZ,EAEF,EAFEA,SACAwZ,EACF,EADEA,qBAAsB/T,EACxB,EADwBA,MAAO+M,EAC/B,EAD+BA,YAAaiH,EAC5C,EAD4CA,YAAaC,EACzD,EADyDA,4BAA6BpL,EACtF,EADsFA,KACtF,kBAEwB5C,QAAIZ,KAAJ,qFAEpB,CACE0O,qBAAsBA,EACtB/T,MAAOA,EACP+M,YAAaA,EACbiH,YAAaA,EACbC,4BAA6BA,IATnC,OAEQlL,EAFR,OAasB,GAAhB,EAAKtE,SAAiB9N,QAAQqP,MAAM,WAAaE,KAAKC,UAAU4C,IAEhExO,QAAwBtF,GAAZsF,GAAuB5D,QAAQqP,MAAMzL,GAEjDwO,GAAsB,GAAXA,GACbE,gBAAc,sDACdJ,KAEAK,gBAAY,8DArBhB,qDAwBEA,gBAAY,EAAD,IAxBb,6DA6BIgL,QAh2Be,cAg2BoC,6KAAzC3Z,EAAyC,EAAzCA,SAAcuW,EAA2B,EAA3BA,YAAawC,EAAc,EAAdA,KAAMzK,EAAQ,EAARA,KAAQ,kBAE/B5C,QAAIZ,KAAJ,iCAA2C,CAC/DyL,cACAwC,SAJmD,OAE/CvK,EAF+C,OAOjC,GAAhB,EAAKtE,SAAiB9N,QAAQqP,MAAM,WAAaE,KAAKC,UAAU4C,IAEhExO,QAAwBtF,GAAZsF,GAAuB5D,QAAQqP,MAAMzL,GAEjDwO,EAAQsK,gBAAkB,GAC5BpK,gBAAc,4BACdJ,KAEAK,gBAAY,4CAfuC,qDAkBrDA,gBAAY,EAAD,IAlB0C,6DAuBnDiL,aAv3Be,cAu3BoC,6KAApC5Z,EAAoC,EAApCA,SAAoC,IAAtBqT,eAAsB,MAAZ,GAAY,EAAR/E,EAAQ,EAARA,KAAQ,kBAE/B5C,QAAIZ,KAAJ,6BAAuCuI,GAFR,OAE/C7E,EAF+C,OAIjC,GAAhB,EAAKtE,SAAiB9N,QAAQqP,MAAM,eAAiBE,KAAKC,UAAU4C,IAEpExO,QAAwBtF,GAAZsF,GAAuB5D,QAAQqP,MAAMzL,GAEjDwO,EAAQyK,YAAc,GACxBvK,gBAAc,mCACdJ,KAEAK,gBAAY,mDAZuC,qDAerDA,gBAAY,EAAD,IAf0C,6DAoBnDkL,WA34Be,cA24BkC,6KAApC7Z,EAAoC,EAApCA,SAAoC,IAAtBqT,eAAsB,MAAZ,GAAY,EAAR/E,EAAQ,EAARA,KAAQ,SAE/B,GAAhB,EAAKpE,SAAiB9N,QAAQqP,MAAM,sBAAwBE,KAAKC,UAAUyH,IAF5B,SAI7B3H,QAAIZ,KAAJ,yBAAmCuI,GAJN,OAI7C7E,EAJ6C,OAM/B,GAAhB,EAAKtE,SAAiB9N,QAAQqP,MAAM,uBAAyBE,KAAKC,UAAU4C,IAE5ExO,QAAwBtF,GAAZsF,GAAuB5D,QAAQqP,MAAMzL,GAEjDwO,GACFE,gBAAc,mCACdJ,KAEAK,gBAAY,mDAdqC,qDAiBnDA,gBAAY,EAAD,IAjBwC,6DAsBjDmL,2BAj6Be,cAi6BkE,+KAApD9Z,EAAoD,EAApDA,SAAc+Z,EAAsC,EAAtCA,6BAA8BzL,EAAQ,EAARA,KAAQ,SAE7EjR,EAF6E,iEAEZ0c,EAFY,+BAI7DrO,QAAIyD,OAAO9R,GAJkD,OAI7EmR,EAJ6E,OAM/D,GAAhB,EAAKtE,SAAiB9N,QAAQqP,MAAM,WAAaE,KAAKC,UAAU4C,IAEhExO,QAAwBtF,GAAZsF,GAAuB5D,QAAQqP,MAAMzL,GAE/CoP,EAAa/L,KAAKmL,EAAS,WAAW,IAEzB,IAAfY,GACFV,gBAAc,6DACdJ,KAEAK,gBAAY,qEAhBqE,qDAmBnFA,gBAAY,EAAD,IAnBwE,6DAuBjFqL,oBAx7Be,cAw7BkD,+KAA3Cha,EAA2C,EAA3CA,SAAc0Y,EAA6B,EAA7BA,oBAAqBpK,EAAQ,EAARA,KAAQ,SAE7DjR,EAF6D,6CAEhBqb,EAFgB,+BAI7ChN,QAAIyD,OAAO9R,GAJkC,OAI7DmR,EAJ6D,OAM/C,GAAhB,EAAKtE,SAAiB9N,QAAQqP,MAAM,WAAaE,KAAKC,UAAU4C,IAEhExO,QAAwBtF,GAAZsF,GAAuB5D,QAAQqP,MAAMzL,GAE/CoP,EAAa/L,KAAKmL,EAAS,WAAW,IAEzB,IAAfY,GACFV,gBAAc,4CACdJ,KAEAK,gBAAY,oDAhBqD,qDAmBnEA,gBAAY,EAAD,IAnBwD,6DAuBjEsL,kBA/8Be,cA+8B4C,+KAAvCja,EAAuC,EAAvCA,SAAc8Y,EAAyB,EAAzBA,gBAAiBxK,EAAQ,EAARA,KAAQ,SAEvDjR,EAFuD,yCAEdyb,EAFc,+BAIvCpN,QAAIyD,OAAO9R,GAJ4B,OAIvDmR,EAJuD,OAMzC,GAAhB,EAAKtE,SAAiB9N,QAAQqP,MAAM,WAAaE,KAAKC,UAAU4C,IAEhExO,QAAwBtF,GAAZsF,GAAuB5D,QAAQqP,MAAMzL,GAE/CoP,EAAa/L,KAAKmL,EAAS,WAAW,IAEzB,IAAfY,GACFV,gBAAc,0CACdJ,KAEAK,gBAAY,kDAhB+C,qDAmB7DA,gBAAY,EAAD,IAnBkD,6DAuB3DuL,gBAt+Be,cAs+BoC,+KAAjCla,EAAiC,EAAjCA,SAAcsS,EAAmB,EAAnBA,UAAWhE,EAAQ,EAARA,KAAQ,SAE/CjR,EAF+C,iCAEdiV,EAFc,+BAI/B5G,QAAIyD,OAAO9R,GAJoB,OAI/CmR,EAJ+C,OAMjC,GAAhB,EAAKtE,SAAiB9N,QAAQqP,MAAM,WAAaE,KAAKC,UAAU4C,IAEhExO,QAAwBtF,GAAZsF,GAAuB5D,QAAQqP,MAAMzL,GAE/CoP,EAAa/L,KAAKmL,EAAS,WAAW,IAEzB,IAAfY,GACFV,gBAAc,yCACdJ,KAEAK,gBAAY,iDAhBuC,qDAmBrDA,gBAAY,EAAD,IAnB0C,6DAuBnDwL,wBA7/Be,cA6/BwD,+KAA7Cna,EAA6C,EAA7CA,SAAc0X,EAA+B,EAA/BA,sBAAuBpJ,EAAQ,EAARA,KAAQ,SAEnEjR,EAFmE,gDAEnBqa,EAFmB,+BAInDhM,QAAIyD,OAAO9R,GAJwC,OAInEmR,EAJmE,OAMrD,GAAhB,EAAKtE,SAAiB9N,QAAQqP,MAAM,WAAaE,KAAKC,UAAU4C,IAEhExO,QAAwBtF,GAAZsF,GAAuB5D,QAAQqP,MAAMzL,GAE/CoP,EAAa/L,KAAKmL,EAAS,WAAW,IAEzB,IAAfY,GACFV,gBAAc,gDACdJ,KAEAK,gBAAY,wDAhB2D,qDAmBzEA,gBAAY,EAAD,IAnB8D,8DCrgClE9P,GAAU,CACrBub,6BAA8B,SAAAnc,GAAK,OAAIA,EAAMmc,8BAC7CC,sBAAuB,SAAApc,GAAK,OAAIA,EAAMoc,uBACtCC,oBAAqB,SAAArc,GAAK,OAAIA,EAAMqc,qBACpCC,kBAAmB,SAAAtc,GAAK,OAAIA,EAAMsc,mBAClCC,sBAAuB,SAAAvc,GAAK,OAAIA,EAAMuc,uBACtCC,+BAAgC,SAAAxc,GAAK,OAAIA,EAAMwc,gCAE/CC,UAAW,SAAAzc,GAAK,OAAIA,EAAMyc,WAC1BC,oBAAqB,SAAA1c,GAAK,OAAIA,EAAM0c,qBACpCC,gBAAiB,SAAA3c,GAAK,OAAIA,EAAM2c,iBAChCC,sBAAuB,SAAA5c,GAAK,OAAIA,EAAM4c,uBACtCC,kBAAmB,SAAA7c,GAAK,OAAIA,EAAM6c,mBAClCC,wBAAyB,SAAA9c,GAAK,OAAIA,EAAM8c,yBACxCC,sBAAuB,SAAA/c,GAAK,OAAIA,EAAM+c,uBACtCC,0BAA2B,SAAAhd,GAAK,OAAIA,EAAMgd,2BAC1CC,UAAW,SAAAjd,GAAK,OAAIA,EAAMid,WAC1BC,eAAgB,SAAAld,GAAK,OAAIA,EAAMkd,gBAC/BC,gBAAiB,SAAAnd,GAAK,OAAIA,EAAMmd,iBAChCC,6BAA8B,SAAApd,GAAK,OAAIA,EAAMod,8BAC7CC,aAAc,SAAArd,GAAK,OAAIA,EAAMqd,cAC7BC,sBAAuB,SAAAtd,GAAK,OAAIA,EAAMsd,uBACtCC,kCAAmC,SAAAvd,GAAK,OAAIA,EAAMud,mCAClDvG,6BAA8B,SAAAhX,GAAK,OAAIA,EAAMgX,8BAC7CwG,qBAAsB,SAAAxd,GAAK,OAAIA,EAAMwd,sBACrCC,eAAgB,SAAAzd,GAAK,OAAIA,EAAMyd,iBCzBpBtd,GAAY,CACvBud,KADuB,SAClB1d,EAAOoV,GACV,IAAK,IAAIuI,KAAQvI,EACfpV,EAAM2d,GAAQvI,EAAQuI,IAG1BxB,6BANuB,SAMMnc,EAAOoV,GAClCpV,EAAMmc,6BAA+B/G,GAEvCgH,sBATuB,SASDpc,EAAOoV,GAC3BpV,EAAMoc,sBAAwBhH,GAEhCiH,oBAZuB,SAYHrc,EAAOoV,GACzBpV,EAAMqc,oBAAsBjH,GAE9BwH,sBAfuB,SAeD5c,EAAOoV,GAC3BpV,EAAM4c,sBAAwBxH,GAEhCyH,kBAlBuB,SAkBL7c,EAAOoV,GACvBpV,EAAM6c,kBAAoBzH,GAE5BkH,kBArBuB,SAqBLtc,EAAOoV,GACvBpV,EAAMsc,kBAAoBlH,GAE5BmH,sBAxBuB,SAwBDvc,EAAOoV,GAC3BpV,EAAMuc,sBAAwBnH,GAEhC8H,eA3BuB,SA2BRld,EAAOoV,GACpBpV,EAAMkd,eAAiB9H,GAEzB0H,wBA9BuB,SA8BC9c,EAAOoV,GAC7BpV,EAAM8c,wBAA0B1H,GAElC+H,gBAjCuB,SAiCPnd,EAAOoV,GACrBpV,EAAMmd,gBAAkB/H,GAE1BgI,6BApCuB,SAoCMpd,EAAOoV,GAClCpV,EAAMod,6BAA+BhI,GAEvCiI,aAvCuB,SAuCVrd,EAAOoV,GAClBpV,EAAMqd,aAAejI,GAEvBkI,sBA1CuB,SA0CDtd,EAAOoV,GAC3BpV,EAAMsd,sBAAwBlI,GAEhC2H,sBA7CuB,SA6CD/c,EAAOoV,GAC3BpV,EAAM+c,sBAAwB3H,GAEhCoH,+BAhDuB,SAgDQxc,EAAOoV,GACpCpV,EAAMwc,+BAAiCpH,GAEzCoI,qBAnDuB,SAmDFxd,EAAOoV,GAC1BpV,EAAMwd,qBAAuBpI,GAE/BmI,kCAtDuB,SAsDWvd,EAAOoV,GACvCpV,EAAMud,kCAAoCnI,GAE5CqH,UAzDuB,SAyDbzc,EAAOoV,GACfpV,EAAMyc,UAAYrH,GAEpBqI,eA5DuB,SA4DRzd,EAAOoV,GACpBpV,EAAMyd,eAAiBrI,GAEzBsH,oBA/DuB,SA+DH1c,EAAOoV,GACzBpV,EAAM0c,oBAAsBtH,GAE9BuH,gBAlEuB,SAkEP3c,EAAOoV,GACrBpV,EAAM2c,gBAAkBvH,GAE1B4H,0BArEuB,SAqEGhd,EAAOoV,GAC/BpV,EAAMgd,0BAA4B5H,GAEpC4B,6BAxEuB,SAwEMhX,EAAOoV,GAClCpV,EAAMgX,6BAA+B5B,GAEvC6H,UA3EuB,SA2Ebjd,EAAOoV,GACfpV,EAAMid,UAAY7H,IC5ETpV,GAAQ,CACnBmc,6BAA8B,CAAC,IAC/BC,sBAAuB,CAAC,IACxBC,oBAAqB,CAAC,IACtBC,kBAAmB,CAAC,IACpBC,sBAAuB,CAAC,IACxBK,sBAAuB,CAAC,IACxBC,kBAAmB,CAAC,IACpBC,wBAAyB,CAAC,IAC1BI,eAAgB,GAChBC,gBAAiB,CAAC,IAClBC,6BAA8B,GAC9BC,aAAc,CAAC,IACfC,sBAAuB,CAAC,IACxBP,sBAAuB,CAAC,IACxBP,+BAAgC,GAChCgB,qBAAsB,GACtBD,kCAAmC,CAAC,IACpCnD,oBAAqB,KACrBqD,eAAgB,KAChBnD,8BAA+B,KAC/BC,wBAAyB,KACzBkC,UAAW,KACXC,oBAAqB,KACrBC,gBAAiB,KACjBK,0BAA2B,KAC3BhG,6BAA8B,KAC9BiG,UAAW,MCpBAW,GAAa,CACxBC,YAAY,EACZ7d,SACAG,aACAK,WACAI,Y,wBLNIqL,IAAU,EAEVjM,GAAQ,CACZuO,KAAM,GAGNuP,WAAY,IAGR3d,GAAY,CAChB4d,WADgB,SACL/d,EAAOoV,GAChBpV,EAAMuO,KAAO6G,GAEf4I,iBAJgB,SAIChe,EAAOoV,GACtBpV,EAAM8d,WAAa1I,IAMjB5U,GAAU,CACdyd,2BAA4B,WAAF,8CAAE,qGAAiBlc,EAAjB,EAAiBA,SAC3CmS,GAA0BgK,aAAY,WACpCnc,EAAS,wBACR,KAHuB,2CAAF,sDAAE,GAM5Boc,iCAAkC,WAAF,8CAAE,8FAChCC,cAAclK,IADkB,2CAAF,qDAAE,GAIlCmK,mBAAoB,WAAF,8CAAE,kHAAiB3d,EAAjB,EAAiBA,OAAQyU,EAAzB,EAAyBA,UAAzB,SAEVrO,EAAQ1B,KAAK+P,EAAW,CAAC,OAAQ,iBAAkB,MACrD5L,EAAWnE,KAAK+P,EAAUE,KAAK/O,SAAU,CAAC,YAAa,MAEtDiD,IACHA,EAAW,qBAGTA,IAEAA,EADc,aAAZA,EACS,mBAEA,uBAIM,kBAAVzC,GAAsBA,GAAS,GAjB1B,kEAqBc2G,QAAItQ,IAAI,mCAAoC,CACxEmQ,OAAQ,CACNxG,QACAwX,qBAAsB/U,EACtBgV,gBAAgB,EAChBC,YAAY,KA1BA,iBAqBDjQ,EArBC,EAqBVgC,QASN7P,EAAO,mBAAoB6N,GA9BX,qDAgChBmC,gBAAY,EAAD,IAhCK,0DAAF,sDAAE,GAmCpB+N,aAAc,WAAF,8CAAE,oHAAiB/d,EAAjB,EAAiBA,OAAQyU,EAAzB,EAAyBA,UAAzB,SAEJrO,EAAQ1B,KAAK+P,EAAW,CAAC,OAAQ,iBAAkB,MACrD5L,EAAWnE,KAAK+P,EAAUE,KAAK/O,SAAU,CAAC,YAAa,MAEtDiD,IACHA,EAAW,qBAGTA,IAEAA,EADc,aAAZA,EACS,mBAEA,uBAIM,kBAAVzC,GAAsBA,GAAS,GAjBhC,wDAqBNwG,EAAS,CACXxG,QACAwX,qBAAsB/U,EACtBgV,gBAAgB,EAChBC,YAAY,GAzBJ,UA4BoB/Q,QAAItQ,IAAI,mCAAoC,CACxEmQ,WA7BQ,iBA4BKiB,EA5BL,EA4BJgC,QAIS,GAAXtE,IAAiB9N,QAAQqP,MAAM,cAAgBE,KAAKC,UAAUY,IAElE7N,EAAO,aAAc6N,GAlCX,qDAoCVmC,gBAAY,EAAD,IApCD,0DAAF,sDAAE,GAuCdgO,WAAY,WAAF,8CAAE,yGAAiBhe,EAAjB,EAAiBA,OAAQV,EAAzB,EAAyBA,MAC7B8d,EAAa9d,EAAM8d,WACzBa,KACEb,GACA,SAAS5U,EAAO6B,GACd,IAAM6T,EAAUxZ,KAAK8D,EAAO,iBAAkB,MACvB,kBAAZ0V,GAA2C,kBAAZA,EACvC,wCAAC,8GACMnR,QAAIZ,KAAJ,kEAAoE+R,GAAW,IADrF,OAEA7T,IAFA,0CAAD,GAGIgC,OAAM,SAAAJ,GACTxO,QAAQjC,MAAMyQ,GACd5B,QAGF5M,QAAQjC,MAAR,8CAA6DgN,GAC7D6B,QAGJ,SAAS4B,GACHA,GACFxO,QAAQjC,MAAMyQ,GAGhBjM,EAAO,mBAAoB,OAxBrB,2CAAF,sDAAE,IA8BRE,GAAU,CACd2N,KAAM,kBAAMvO,GAAMuO,MAClBuP,WAAY,kBAAM9d,GAAM8d,aAGbnV,GAAS,CACpBkV,YAAY,EACZ7d,SACAG,aACAK,WACAI,Y,aMpJIqL,IAAU,EAEhB,SAASyE,GAAYjX,GACnBolB,QAAMjQ,KAAK,CACTkQ,SAAU,IACVviB,QAAS9C,EAAE8C,SAAW9C,EACtBsH,SAAU,YACVpG,KAAM,cAIV,SAAS8V,GAAchX,GACrBolB,QAAMjQ,KAAK,CACTkQ,SAAU,IACVviB,QAAS9C,EAAE8C,SAAW9C,EACtBsH,SAAU,YACVpG,KAAM,eAIV,IAAMqF,GAAQ,CACZ+e,6BAA8B,GAC9BC,6BAA8B,IAG1B7e,GAAY,CAChBud,KADgB,SACX1d,EAAOoV,GACV,IAAK,IAAIuI,KAAQvI,EACfpV,EAAM2d,GAAQvI,EAAQuI,IAG1BoB,6BANgB,SAMa/e,EAAOoV,GAClCpV,EAAM+e,6BAA+B3J,GAEvC4J,6BATgB,SASahf,EAAOoV,GAClCpV,EAAMgf,6BAA+B5J,IAInC5U,GAAU,CAERye,gCAFQ,cAE4D,oKAAlCve,EAAkC,EAAlCA,OAAQyU,EAA0B,EAA1BA,UAAeC,EAAW,EAAXA,QAAW,SAEhE9H,EAAS,CACbxG,MAAOqO,EAAUE,KAAKC,cACtB4J,cAAe9J,EAAQ8J,eAGrB9J,EAAQ/O,cAA8B5J,GAAnB2Y,EAAQ/O,UAC7BiH,EAAOjH,QAAU+O,EAAQ/O,SAGvB+O,EAAQ+J,mBAAwC1iB,GAAxB2Y,EAAQ+J,eAClC7R,EAAO6R,aAAe/J,EAAQ+J,cAZsC,SAe1B1R,QAAItQ,IAC9C,uEACA,CACEmQ,WAlBkE,gBAevD8R,EAfuD,EAehE7O,QAON7P,EAAO,+BAAgC0e,GAtB+B,qDAwBtE1O,GAAY,EAAD,IAxB2D,6DA6BpE2O,4BA/BQ,cA+B8D,uJAAxC3e,EAAwC,EAAxCA,OAAY4e,EAA4B,EAA5BA,yBAC9C,IACiB,GAAXrT,IACF9N,QAAQqP,MAAM,2BAA6BE,KAAKC,UAAU2R,IAExDC,EAAqB,CACvB,CAAEhiB,MAAO,QAASgG,MAAO,UACzB,CAAEhG,MAAO,OAAQgG,MAAO,gBACxB,CAAEhG,MAAO,OAAQgG,MAAO,QACxB,CAAEhG,MAAO,oBAAqBgG,MAAO,qBACrC,CAAEhG,MAAO,mBAAoBgG,MAAO,oBACpC,CAAEhG,MAAO,gBAAiBgG,MAAO,kBAGpB,GAAX0I,IACF9N,QAAQqP,MAAM,gCAAkCE,KAAKC,UAAU4R,IAEjE7e,EAAO,+BAAgC6e,GACvC,MAAO9lB,GACPiX,GAAYjX,GAnB4D,8CAwBtE+lB,iCAvDQ,cAuD+D,6KAApCzd,EAAoC,EAApCA,SAAoC,IAAtBqT,eAAsB,MAAZ,GAAY,EAAR/E,EAAQ,EAARA,KAAQ,kBAEnD5C,QAAIZ,KAAJ,yFAEpBuI,GAJuE,OAEnE7E,EAFmE,OAOrD,GAAhB,EAAKtE,SAAiB9N,QAAQqP,MAAM,eAAiBE,KAAKC,UAAU4C,IAEpExO,QAAwBtF,GAAZsF,GAAuB5D,QAAQqP,MAAMzL,GAEjDwO,GACFE,GAAc,yDACdJ,KAEAK,GAAY,4DAf2D,qDAkBzEA,GAAY,EAAD,IAlB8D,8DAuBzE9P,GAAU,CACdme,6BAA8B,kBAAM/e,GAAM+e,8BAC1CC,6BAA8B,kBAAMhf,GAAMgf,+BAG/BS,GAAoB,CAC/B5B,YAAY,EACZ7d,SACAG,aACAK,WACAI,YC/HIqL,IAAU,EAEVjM,GAAQ,CACZ0f,gCAAiC,CAAEljB,KAAM,MACzCmjB,wBAAyB,KACzBC,4BAA6B,KAC7BC,kCAAmC,KACnCC,sBAAuB,KACvBC,iBAAkB,KAClBC,eAAgB,KAChBC,6BAA8B,GAC9BC,gCAAiC,GACjCC,sCAAuC,GACvCC,0BAA2B,GAC3BC,gDAAiD,GACjDC,sBAAuB,GACvBC,6BAA8B,GAC9BC,cAAe,GACfC,qBAAsB,GACtBC,wBAAyB,CAAC,IAC1BC,+BAAgC,GAChCC,oBAAqB,KACrBC,8BAA+B,MAG3B1gB,GAAY,CAChBud,KADgB,SACX1d,EAAOoV,GACV,IAAK,IAAIuI,KAAQvI,EACfpV,EAAM2d,GAAQvI,EAAQuI,IAG1B+B,gCANgB,SAMgB1f,EAAOoV,GACrCpV,EAAM0f,gCAAkCtK,GAE1CuK,wBATgB,SASQ3f,EAAOoV,GAC7BpV,EAAM2f,wBAA0BvK,GAElCwK,4BAZgB,SAYY5f,EAAOoV,GACjCpV,EAAM4f,4BAA8BxK,GAEtCyK,kCAfgB,SAekB7f,EAAOoV,GACvCpV,EAAM6f,kCAAoCzK,GAE5C0K,sBAlBgB,SAkBM9f,EAAOoV,GAC3BpV,EAAM8f,sBAAwB1K,GAEhC2K,iBArBgB,SAqBC/f,EAAOoV,GACtBpV,EAAM+f,iBAAmB3K,GAE3B4K,eAxBgB,SAwBDhgB,EAAOoV,GACpBpV,EAAMggB,eAAiB5K,GAEzB6K,6BA3BgB,SA2BajgB,EAAOoV,GAClCpV,EAAMigB,6BAA+B7K,GAEvC8K,gCA9BgB,SA8BgBlgB,EAAOoV,GACrCpV,EAAMkgB,gCAAkC9K,GAE1CgL,0BAjCgB,SAiCUpgB,EAAOoV,GAC/BpV,EAAMogB,0BAA4BhL,GAEpCiL,gDApCgB,SAoCgCrgB,EAAOoV,GACrDpV,EAAMqgB,gDAAkDjL,GAE1DkL,sBAvCgB,SAuCMtgB,EAAOoV,GAC3BpV,EAAMsgB,sBAAwBlL,GAEhCmL,6BA1CgB,SA0CavgB,EAAOoV,GAClCpV,EAAMugB,6BAA+BnL,GAEvCoL,cA7CgB,SA6CFxgB,EAAOoV,GACnBpV,EAAMwgB,cAAgBpL,GAGxBqL,qBAjDgB,SAiDKzgB,EAAOoV,GAC1BpV,EAAMygB,qBAAuBrL,GAG/BsL,wBArDgB,SAqDQ1gB,EAAOoV,GAC7BpV,EAAM0gB,wBAA0BtL,GAGlCuL,+BAzDgB,SAyDe3gB,EAAOoV,GACpCpV,EAAM2gB,+BAAiCvL,IAKrC5U,GAAU,CAERsgB,qBAFQ,YAEoC,gKAArBpgB,EAAqB,EAArBA,OAAQyU,EAAa,EAAbA,UAAa,SAExC7H,EAAS,CACbxG,MAAOqO,EAAUE,KAAKC,eAGT,GAAXrJ,IAAiB9N,QAAQqP,MAAM,gCAAkCE,KAAKC,UAAUL,IANtC,SAQtBG,QAAItQ,IAAI,0DAA2D,CACzFmQ,WAT4C,OAQxCyT,EARwC,OAY/B,GAAX9U,IACF9N,QAAQqP,MAAM,mCAAqCE,KAAKC,UAAUoT,IAEpErgB,EAAO,mBAAoBqgB,GAfmB,qDAiB9CpQ,gBAAc,EAAD,IAjBiC,6DAsB5CqQ,wBAxBQ,YAwBqD,kLAAnCtgB,EAAmC,EAAnCA,OAAQyU,EAA2B,EAA3BA,UAAaC,EAAc,+BAAJ,GAAI,SAEzD9H,EAAS,CACbxG,MAAOqO,EAAUE,KAAKC,cACtB2L,YAAa7L,EAAQ6L,aAGR,GAAXhV,IAAiB9N,QAAQqP,MAAM,yBAA2BE,KAAKC,UAAUL,IAPd,SAShCG,QAAItQ,IAAI,gDAAiD,CACtFmQ,WAV6D,OASzD4T,EATyD,OAahD,GAAXjV,IAAiB9N,QAAQqP,MAAM,oBAAsBE,KAAKC,UAAUuT,IACxExgB,EAAO,iBAAkB,CAAEwgB,qBAdoC,qDAgB/DvQ,gBAAc,EAAD,IAhBkD,6DA6B7DwQ,4BArDQ,cAqDgF,kKAA1DzgB,EAA0D,EAA1DA,OAAY0gB,EAA8C,EAA9CA,0BAA8C,IAAnB/Q,YAAmB,MAAZ,aAAY,oBAEjE5C,QAAItQ,IAAJ,iDACmBikB,IAH8C,OAEpFC,EAFoF,OAM1F3gB,EAAO,0BAA2B,CAAE2gB,eACpChR,EAAK,CAAE+K,QAASiG,IAP0E,qDAS1F1Q,gBAAc,EAAD,IAT6E,6DAcxF2Q,gCAnEQ,WAmEoCnY,GAAI,4JAAdzI,EAAc,EAAdA,OAAc,kBAErB+M,QAAItQ,IAAJ,qDAAsDgM,IAFjC,OAE5CoY,EAF4C,OAGlD7gB,EAAO,8BAA+B,CAAE6gB,mBAHU,mDAKlD5Q,gBAAc,EAAD,IALqC,4DAUhD6Q,sCA7EQ,WA6E0CrY,GAAI,4JAAdzI,EAAc,EAAdA,OAAc,kBAErB+M,QAAItQ,IAAJ,2DACmBgM,IAHE,OAElDsY,EAFkD,OAKxD/gB,EAAO,oCAAqC,CAAE+gB,yBALU,mDAOxD9Q,gBAAc,EAAD,IAP2C,4DAYtD+Q,0BAzFQ,WAyF8BvY,GAAI,4JAAdzI,EAAc,EAAdA,OAAc,kBAErB+M,QAAItQ,IAAJ,+CAAgDgM,IAF3B,OAEtCwY,EAFsC,OAG5CjhB,EAAO,wBAAyB,CAAEihB,aAHU,mDAK5ChR,gBAAc,EAAD,IAL+B,4DAU1CiR,4CAnGQ,YAmGyE,oLAAnClhB,EAAmC,EAAnCA,OAAQyU,EAA2B,EAA3BA,UAAaC,EAAc,+BAAJ,GAAI,SAE7E9H,EAAS,CACbxG,MAAOqO,EAAUE,KAAKC,cACtB2L,YAAa7L,EAAQ6L,aAGR,GAAXhV,IACF9N,QAAQqP,MACN,uDAAyDE,KAAKC,UAAUL,IATO,SAczEG,QAAItQ,IACZ,4EACA,CAAEmQ,WAhB+E,gBAaxEuU,EAbwE,EAajFtR,QAMF7P,EAAO,kDAAmDmhB,GAnByB,qDAqBnFlR,gBAAc,EAAD,IArBsE,6DA0BjFmR,4BA7HQ,YA6HyD,oLAAnCphB,EAAmC,EAAnCA,OAAQyU,EAA2B,EAA3BA,UAAaC,EAAc,+BAAJ,GAAI,SAE7D9H,EAAS,CACbxG,MAAOqO,EAAUE,KAAKC,cACtBjP,QAAS+O,EAAQ/O,QACjB0b,eAAgB3M,EAAQ2M,eACxBC,cAAe5M,EAAQ4M,cACvBC,aAAc7M,EAAQ6M,aACtBC,sBAAuB9M,EAAQ8M,uBAGlB,GAAXjW,IACF9N,QAAQqP,MAAM,uCAAyCE,KAAKC,UAAUL,IAZL,SAgBzDG,QAAItQ,IAAI,mDAAoD,CAAEmQ,WAhBL,gBAexD6U,EAfwD,EAejE5R,QAGF7P,EAAO,+BAAgCyhB,GAlB4B,qDAoBnExR,gBAAc,EAAD,IApBsD,6DAyBjEyR,gCAtJQ,YAsJ6D,oLAAnC1hB,EAAmC,EAAnCA,OAAQyU,EAA2B,EAA3BA,UAAaC,EAAc,+BAAJ,GACrEjX,QAAQjC,MAAM,mCAD2D,SAIjEoR,EAAS,CACbxG,MAAOqO,EAAUE,KAAKC,cACtB8L,0BAA2BhM,EAAQgM,2BAGtB,GAAXnV,IACF9N,QAAQqP,MAAM,2CAA6CE,KAAKC,UAAUL,IAVL,SAc7DG,QAAItQ,IAAI,kDAAmD,CAAEmQ,WAdA,gBAa5D+U,EAb4D,EAarE9R,QAGF7P,EAAO,kCAAmC2hB,GAhB6B,qDAkBvE1R,gBAAc,EAAD,IAlB0D,6DAuBrE2R,sCA7KQ,YA6KmE,oLAAnC5hB,EAAmC,EAAnCA,OAAQyU,EAA2B,EAA3BA,UAAaC,EAAc,+BAAJ,GAAI,SAEvE9H,EAAS,CACbxG,MAAOqO,EAAUE,KAAKC,cACtB8L,0BAA2BhM,EAAQgM,2BAGtB,GAAXnV,IACF9N,QAAQqP,MAAM,iDAAmDE,KAAKC,UAAUL,IARL,SAYnEG,QAAItQ,IAAI,wDAAyD,CAAEmQ,WAZA,gBAWlEiV,EAXkE,EAW3EhS,QAGF7P,EAAO,wCAAyC6hB,GAd6B,qDAgB7E5R,gBAAc,EAAD,IAhBgE,6DAqB3E6R,2BAlMQ,YAkM0C,oKAArB9hB,EAAqB,EAArBA,OAAQyU,EAAa,EAAbA,UAAa,SAE9C7H,EAAS,CACbxG,MAAOqO,EAAUE,KAAKC,eAGT,GAAXrJ,IACF9N,QAAQqP,MAAM,sCAAwCE,KAAKC,UAAUL,IAPnB,SAW1CG,QAAItQ,IAAI,4CAA6C,CAAEmQ,WAXb,gBAUzCmV,EAVyC,EAUlDlS,QAIImS,EAAqBD,EAAwBrY,KACjD,gBAA4B7M,EAA5B,EAAGolB,wBAAsCpf,EAAzC,EAAmC/G,KAAnC,MAAsD,CACpDe,QACAgG,YAGJmf,EAAmBjL,QAAQ,CAAEla,MAAO,GAAIgG,MAAO,wBAE/C7C,EAAO,4BAA6BgiB,GAtBgB,qDAwBpD/R,gBAAc,EAAD,IAxBuC,6DA4BlDiS,oCA9NQ,YA8NmD,oKAArBliB,EAAqB,EAArBA,OAAQyU,EAAa,EAAbA,UAAa,SAEvD7H,EAAS,CACbxG,MAAOqO,EAAUE,KAAKC,eAGT,GAAXrJ,IACF9N,QAAQqP,MAAM,sCAAwCE,KAAKC,UAAUL,IAPV,SAWnDG,QAAItQ,IAAI,4CAA6C,CAAEmQ,WAXJ,gBAUlDmV,EAVkD,EAU3DlS,QAIImS,EAAqBD,EAAwBrY,KACjD,gBAASyY,EAAT,EAAGrmB,KAAqCe,EAAxC,EAAeolB,wBAAf,MAAqD,CACnDE,OACAtlB,YAGJmlB,EAAmBjL,QAAQ,CAAEoL,KAAM,sBAAuBtlB,MAAO,KAEjEmD,EAAO,4BAA6BgiB,GAtByB,qDAwB7D/R,gBAAc,EAAD,IAxBgD,6DAqC3DmS,sBAnQQ,YAsQZ,wLAFEpiB,EAEF,EAFEA,OAAQyU,EAEV,EAFUA,UAEV,iCADiD,GAA/CiM,EACF,EADEA,0BACF,IAD6B/Q,YAC7B,MADoC,aACpC,oBAE8C5C,QAAItQ,IAC9C,8CACA,CACEmQ,OAAQ,CACNxG,MAAOqO,EAAUE,KAAKC,cACtB8L,+BAPR,gBAEiB2B,EAFjB,EAEQxS,QAUN7P,EAAO,wBAAyBqiB,GAEhC1S,EAAK,CACH9B,KAAMwU,IAfV,qDAkBEpS,gBAAc,EAAD,IAlBf,6DAsBIqS,sBA5RQ,YA4RmD,sLAAnCtiB,EAAmC,EAAnCA,OAAQyU,EAA2B,EAA3BA,UAAaC,EAAc,+BAAJ,GACrDrF,EAAW,IAAIkK,SACrBlK,EAASmK,OAAO,OAAQ9E,EAAQ+E,MAF+B,SAMvDrT,EAAQqO,EAAUE,KAAKC,cAEvBlW,EARuD,yFAQkCgW,EAAQgM,0BAR1C,kBAQ6Eta,GAR7E,SAS3B2G,QAAIZ,KAAKzN,EAAM2Q,EAAU,CACzD,eAAgB,wBAV2C,OASvD6Q,EATuD,OAa9C,GAAX3U,IACF9N,QAAQqP,MAAM,+BAAiCE,KAAKC,UAAUiT,IAEhElgB,EAAO,OAAQ,CAAEkgB,wBAhB4C,qDAkB7DjQ,gBAAc,EAAD,IAlBgD,6DAsB3DsS,gCAlTQ,YAkTkD,kLAAxBviB,EAAwB,EAAxBA,OAAU0U,EAAc,+BAAJ,GACpDrF,EAAW,IAAIkK,SACrBlK,EAASmK,OAAO,OAAQ9E,EAAQ+E,MAE5B/a,EAAO,GAEI,GAAX6M,IACF9N,QAAQqP,MAAM,2CAA6CE,KAAKC,UAAUyH,IAPd,SAY1DA,EAAQ8N,0CACuCzmB,GAA/C2Y,EAAQ8N,qCACR9N,EAAQ8N,oCAAsC,IAE9C9jB,EAAO,wGAAH,OAA2GgW,EAAQ8N,sCAIvH9N,EAAQ+N,wCACqC1mB,GAA7C2Y,EAAQ+N,mCACR/N,EAAQ+N,kCAAoC,IAE5C/jB,EAAO,sGAAH,OAAyGgW,EAAQ+N,kCAAjH,wBAAkK/N,EAAQgO,cAGjK,GAAXnX,IAAiB9N,QAAQqP,MAAM,wCAA0CpO,GA3BjB,UA6BhBqO,QAAIZ,KAAKzN,EAAM2Q,EAAU,CACnE,eAAgB,wBA9B0C,QA6BtD8Q,EA7BsD,OAiC7C,GAAX5U,IACF9N,QAAQqP,MACN,+BAAiCE,KAAKC,UAAUkT,IAGpDngB,EAAO,OAAQ,CAAEmgB,kCAtC2C,qDAwC5DlQ,gBAAc,EAAD,IAxC+C,8DA6C5D/P,GAAU,CACdyiB,2BAA4B,kBAAMrjB,GAAMqjB,4BACxC3D,gCAAiC,kBAAM1f,GAAM0f,iCAC7CC,wBAAyB,kBAAM3f,GAAM2f,yBACrCC,4BAA6B,kBAAM5f,GAAM4f,6BACzCC,kCAAmC,kBAAM7f,GAAM6f,mCAC/CC,sBAAuB,kBAAM9f,GAAM8f,uBACnCC,iBAAkB,kBAAM/f,GAAM+f,kBAC9BC,eAAgB,kBAAMhgB,GAAMggB,gBAC5BC,6BAA8B,kBAAMjgB,GAAMigB,8BAC1CC,gCAAiC,kBAAMlgB,GAAMkgB,iCAC7CC,sCAAuC,kBAAMngB,GAAMmgB,uCACnDC,0BAA2B,kBAAMpgB,GAAMogB,2BACvCC,gDAAiD,kBAC/CrgB,GAAMqgB,iDACRC,sBAAuB,kBAAMtgB,GAAMsgB,uBACnCC,6BAA8B,kBAAMvgB,GAAMugB,8BAC1CC,cAAe,kBAAMxgB,GAAMwgB,eAC3BC,qBAAsB,kBAAMzgB,GAAMygB,sBAClCC,wBAAyB,kBAAM1gB,GAAM0gB,yBACrCC,+BAAgC,kBAAM3gB,GAAM2gB,iCAGjC2C,GAAgB,CAC3BzF,YAAY,EACZ7d,SACAG,aACAK,WACAI,YCldWJ,GAAU,CACf+iB,kBADe,YACiB,mJAAZxhB,EAAY,EAAZA,SACxBA,EAAS,oBAD2B,8CAKhCyhB,4BANe,YAMoC,oKAArB9iB,EAAqB,EAArBA,OAAQyU,EAAa,EAAbA,UAAa,SAE/C7H,EAAS,CACbxG,MAAOqO,EAAUE,KAAKC,cACtBmO,iBAAiB,GAJkC,SAMjBhW,QAAItQ,IAAI,iCAAkC,CAC5EmQ,WAPmD,gBAMpCoW,EANoC,EAM7CnT,QAKFoT,EAAuBD,EAAStZ,KAAI,gBAAkB7M,EAAlB,EAAGqmB,cAA4BrgB,EAA/B,EAAyB/G,KAAzB,MAA4C,CACpFe,QACAgG,YAEFogB,EAAqBlM,QAAQ,CAAEla,MAAO,GAAIgG,MAAO,0BAEjD7C,EAAO,OAAQ,CAAEijB,yBAjBoC,qDAmBrDjT,gBAAY,EAAD,IAnB0C,6DAwBnDmT,yBA9Be,YA8BiC,oKAArBnjB,EAAqB,EAArBA,OAAQyU,EAAa,EAAbA,UAAa,SAE5C7H,EAAS,CACbxG,MAAOqO,EAAUE,KAAKC,eAH0B,SAKV7H,QAAItQ,IAAI,qCAAsC,CACpFmQ,WANgD,gBAKjCwW,EALiC,EAK1CvT,QAKFwT,EAAmBD,EAAa1Z,KAAI,gBAAsB7M,EAAtB,EAAGymB,kBAAgCzgB,EAAnC,EAA6B/G,KAA7B,MAAgD,CACxFe,QACAgG,YAEFwgB,EAAiBtM,QAAQ,CAAEla,MAAO,GAAIgG,MAAO,iBAE7C7C,EAAO,OAAQ,CAAEqjB,qBAhBiC,qDAkBlDrT,gBAAY,EAAD,IAlBuC,6DAuBhDuT,iBArDe,WAqDyBC,GAA4B,kKAAjDxjB,EAAiD,EAAjDA,OAAQyU,EAAyC,EAAzCA,UAAyC,SAEhE7H,EAAS,CACbxG,MAAOqO,EAAUE,KAAKC,cACtB4O,2BAA4BA,GAJwC,SAM9BzW,QAAItQ,IAAI,iCAAkC,CAChFmQ,WAPoE,gBAMrD6W,EANqD,EAM9D5T,QAGR7P,EAAO,OAAQ,CAAEyjB,iBATqD,qDAWtEzT,gBAAY,EAAD,IAX2D,6DAgBpE0T,wBArEe,YAqE8C,0LAAnC1jB,EAAmC,EAAnCA,OAAQyU,EAA2B,EAA3BA,UAAaC,EAAc,+BAAJ,GAC7DjX,QAAQ6S,IAAI,CAAEoE,YADmD,SAIzD9H,EAAS,CACbxG,MAAOqO,EAAUE,KAAKC,cACtBsO,cAAexO,EAAQwO,cAAgB,EAAIxO,EAAQwO,cAAgB,KACnES,qBAAsBjP,EAAQiP,qBAC9BC,WAAYlP,EAAQkP,YARyC,SAgBrD7W,QAAItQ,IAAI,mDAAoD,CACpEmQ,WAjB6D,gBAYpDiX,EAZoD,EAY7DhU,QACciU,EAb+C,EAa7DC,aACmBC,EAd0C,EAc7DC,kBACoBC,EAfyC,EAe7DC,mBAIFnkB,EAAO,OAAQ,CAAE6jB,wBACjB7jB,EAAO,OAAQ,CAAE8jB,mCACjB9jB,EAAO,OAAQ,CAAEgkB,+CACjBhkB,EAAO,OAAQ,CAAEkkB,gDAtB8C,qDAwB/DlU,gBAAY,EAAD,IAxBoD,6DA6B7DoU,qBAlGe,YAkG2C,0LAAnCpkB,EAAmC,EAAnCA,OAAQyU,EAA2B,EAA3BA,UAAaC,EAAc,+BAAJ,GAAI,SAEtD9H,EAAS,CACbxG,MAAOqO,EAAUE,KAAKC,cACtBsO,cAAexO,EAAQwO,cAAgB,EAAIxO,EAAQwO,cAAgB,KACnES,qBAAsBjP,EAAQiP,qBAC9BC,WAAYlP,EAAQkP,YANsC,SAclD7W,QAAItQ,IAAI,+CAAgD,CAChEmQ,WAf0D,gBAUjDyX,EAViD,EAU1DxU,QACcyU,EAX4C,EAW1DP,aACmBQ,EAZuC,EAY1DN,kBACoBO,EAbsC,EAa1DL,mBAKF1mB,QAAQqP,MAAM,mBAAqBE,KAAKC,UAAUoX,IAClD5mB,QAAQqP,MAAM,qCAAuCwX,GAErDtkB,EAAO,OAAQ,CAAEqkB,qBACjBrkB,EAAO,OAAQ,CAAEskB,uCACjBtkB,EAAO,OAAQ,CAAEukB,sCACjBvkB,EAAO,OAAQ,CAAEwkB,uCAxB2C,qDA0B5DxU,gBAAY,EAAD,IA1BiD,6DA+B1DyU,wBAjIe,YAiI8C,oLAAnCzkB,EAAmC,EAAnCA,OAAQyU,EAA2B,EAA3BA,UAAaC,EAAc,+BAAJ,GAAI,SAEzD9H,EAAS,CACbxG,MAAOqO,EAAUE,KAAKC,cACtBsO,cAAexO,EAAQwO,cAAgB,EAAIxO,EAAQwO,cAAgB,KACnEwB,UAAWhQ,EAAQkP,WACnBe,QAASjQ,EAAQkP,YAN4C,SAQhB7W,QAAItQ,IACjD,mDACA,CACEmQ,WAX2D,gBAQ9CgY,EAR8C,EAQvD/U,QAMR7P,EAAO,OAAQ,CAAE4kB,wBAd8C,qDAgB/D5U,gBAAY,EAAD,IAhBoD,6DAqB7D6U,gCAtJe,YAsJsD,sLAAnC7kB,EAAmC,EAAnCA,OAAQyU,EAA2B,EAA3BA,UAAaC,EAAc,+BAAJ,GAAI,SAEjE9H,EAAS,CACbxG,MAAOqO,EAAUE,KAAKC,cACtBsO,cAAexO,EAAQwO,cAAgB,EAAIxO,EAAQwO,cAAgB,KACnEwB,UAAWhQ,EAAQkP,WACnBe,QAASjQ,EAAQkP,YANoD,SAQxB7W,QAAItQ,IACjD,mDACA,CACEmQ,WAXmE,gBAQtDgY,EARsD,EAQ/D/U,QAQFiV,EAA8BF,EAAoB,GAExD5kB,EAAO,OAAQ,CAAE8kB,gCAlBsD,qDAoBvE9U,gBAAY,EAAD,IApB4D,6DAyBrE+U,uBA/Ke,WA+KoBC,GAAsB,8JAAhChlB,EAAgC,EAAhCA,OAAgC,SAErDtB,EAFqD,sDAECsmB,GAFD,SAG1BjY,QAAItQ,IAAIiC,GAHkB,OAGrDumB,EAHqD,OAK3DjlB,EAAO,OAAQ,CAAEilB,uBAL0C,mDAO3DjV,gBAAY,EAAD,IAPgD,4DAYzDkV,gBA3Le,WA2LaC,GAAe,4JAAzBnlB,EAAyB,EAAzBA,OAAyB,kBAEnB+M,QAAItQ,IAAJ,oCAAqC0oB,IAFlB,OAEvCC,EAFuC,OAG7CplB,EAAO,OAAQ,CAAEolB,gBAH4B,mDAK7CpV,gBAAY,EAAD,IALkC,4DAU3CqV,cArMe,YAqMoC,gLAAnCrlB,EAAmC,EAAnCA,OAAQyU,EAA2B,EAA3BA,UAAaC,EAAc,+BAAJ,GAAI,kBAE7B3H,QAAItQ,IAAJ,kDACqBgY,EAAUE,KAAKC,cADpC,sBAC+DF,EAAQf,UADvE,qBAC6Fe,EAAQkP,aAHxE,OAE/C0B,EAF+C,OAKrDtlB,EAAO,OAAQ,CAAEslB,cALoC,mDAOrDtV,gBAAY,EAAD,IAP0C,4DAWzDuV,6BAhNqB,WAgNoBC,GAAwB,IAAlCxlB,EAAkC,EAAlCA,OAC7BA,EAAO,4BAA6BwlB,IAGtCC,yBApNqB,WAoNgBC,GAAoB,IAA9B1lB,EAA8B,EAA9BA,OACzBA,EAAO,wBAAyB0lB,IAGlCC,sBAxNqB,WAwNaC,GAAiB,IAA3B5lB,EAA2B,EAA3BA,OACtBvC,QAAQ6S,IAAI,yBAEZtQ,EAAO,qBAAsB4lB,KC/NpB1lB,GAAU,CACrBslB,uBAAwB,gBAAGK,EAAH,EAAGA,+BAAH,OAAwCA,GAChEH,mBAAoB,gBAAGI,EAAH,EAAGA,2BAAH,OAAoCA,GACxDF,gBAAiB,gBAAGG,EAAH,EAAGA,wBAAH,OAAiCA,GAClD9C,qBAAsB,gBAAGA,EAAH,EAAGA,qBAAH,OAA8BA,ICJzC3jB,GAAQ,CACnBmkB,aAAc,GACd2B,YAAa,KACbvB,oBAAqB,GACrBC,+BAAgC,EAChCE,2CAA4C,EAC5CE,4CAA6C,EAC7Ce,mBAAoB,KACpB7B,aAAc,GACdC,iBAAkB,GAClBJ,qBAAsB,GACtBoB,iBAAkB,GAClBO,oBAAqB,GACrBE,4BAA6B,KAC7BR,mCAAoC,EACpCC,kCAAmC,EACnCC,mCAAoC,EACpCc,UAAW,KACXQ,2BAA4B,KAC5BD,+BAAgC,KAChCE,wBAAyB,ICfdtmB,GAAY,CAKvBud,KALuB,SAKlB1d,EAAOoV,GACV,IAAK,IAAIuI,KAAQvI,EACfpV,EAAM2d,GAAQvI,EAAQuI,IAG1B+I,0BAVuB,SAUG1mB,EAAOmJ,GAC/BnJ,EAAMumB,+BAAiCpd,GAEzCwd,sBAbuB,SAaD3mB,EAAOmJ,GAC3BnJ,EAAMwmB,2BAA6Brd,GAErCyd,mBAhBuB,SAgBJ5mB,EAAO0jB,GACxBvlB,QAAQ6S,IAAI,qBAAsB,CAAE0S,aAEpC,IAAMmD,EAAgBnD,EAAStZ,KAAI,gBAAO7M,EAAP,EAAG4L,GAAiB5F,EAApB,EAAc/G,KAAd,MAAiC,CAClEe,QACAgG,YAEFsjB,EAAcpP,QAAQ,CAAEla,MAAO,GAAIgG,MAAO,mBAC1CvD,EAAMymB,wBAA0BI,ICxBvBC,GAAc,CACzBjJ,YAAY,EACZ7d,SACAG,aACAK,WACAI,YCNIqL,IAAU,EAEhB,SAASyE,GAAYjX,GACnBolB,QAAMjQ,KAAK,CACTkQ,SAAU,IACVviB,QAAS9C,EAAE8C,SAAW9C,EACtBsH,SAAU,YACVpG,KAAM,cAIV,SAAS8V,GAAchX,GACrBolB,QAAMjQ,KAAK,CACTkQ,SAAU,IACVviB,QAAS9C,EAAE8C,SAAW9C,EACtBsH,SAAU,YACVpG,KAAM,eAIV,IAAMqF,GAAQ,CACZ+mB,WAAY,GACZC,mBAAoB,GACpBC,oBAAqB,KACrBC,mBAAoB,KACpBC,kBAAmB,GACnBC,qBAAsB,IAGlBjnB,GAAY,CAChBud,KADgB,SACX1d,EAAOoV,GACV,IAAK,IAAIuI,KAAQvI,EACfpV,EAAM2d,GAAQvI,EAAQuI,IAG1BoJ,WANgB,SAML/mB,EAAOoV,GAChBpV,EAAM+mB,WAAa3R,GAErB4R,mBATgB,SASGhnB,EAAOoV,GACxBpV,EAAMgnB,mBAAqB5R,GAE7B6R,oBAZgB,SAYIjnB,EAAOoV,GACzBpV,EAAMinB,oBAAsB7R,GAE9B8R,mBAfgB,SAeGlnB,EAAOoV,GACxBpV,EAAMknB,mBAAqB9R,GAE7B+R,kBAlBgB,SAkBEnnB,EAAOoV,GACvBpV,EAAMmnB,kBAAoB/R,GAE5BgS,qBArBgB,SAqBKpnB,EAAOoV,GAC1BpV,EAAMonB,qBAAuBhS,IAI3B5U,GAAU,CAIR6mB,cAJQ,YAI6B,kKAArB3mB,EAAqB,EAArBA,OAAQyU,EAAa,EAAbA,UAAa,SAEjC7H,EAAS,CACbxG,MAAOqO,EAAUE,KAAKC,eAHe,SAMN7H,QAAItQ,IAAI,uBAAwB,CAAEmQ,WAN5B,gBAMxBga,EANwB,EAMjC/W,QAES,GAAXtE,IAAiB9N,QAAQqP,MAAM,iBAAmBE,KAAKC,UAAU2Z,IAErE5mB,EAAO,aAAc4mB,GAVkB,qDAYvC5W,GAAY,EAAD,IAZ4B,6DAiBrC6W,sBArBQ,cAqBmD,oKAAnC7mB,EAAmC,EAAnCA,OAAQyU,EAA2B,EAA3BA,UAAeqS,EAAY,EAAZA,SAAY,SAEvDla,EAAS,CACbxG,MAAOqO,EAAUE,KAAKC,cACtBkS,SAAUA,GAJiD,SAOtC/Z,QAAItQ,IAAI,wCAAyC,CAAEmQ,WAPb,OAOvDma,EAPuD,OAS9C,GAAXxb,IAAiB9N,QAAQqP,MAAM,wBAA0BE,KAAKC,UAAU8Z,IAEtER,EAAsB,CAC1BS,uBAAwBD,EAASC,uBACjCC,+BAAgCF,EAASE,+BACzCC,sCAAuCH,EAASG,sCAChDC,wBAAyBJ,EAASI,wBAClCC,gCAAiCL,EAASK,gCAC1CC,uCAAwCN,EAASM,uCACjDC,+BAAgCP,EAASO,+BACzCC,uCAAwCR,EAASQ,uCACjDC,8CACET,EAASS,+CAGE,GAAXjc,IACF9N,QAAQqP,MAAM,uBAAyBE,KAAKC,UAAUsZ,IAExDvmB,EAAO,qBAAsB+mB,GAC7B/mB,EAAO,sBAAuBumB,GA5B+B,qDA8B7DvW,GAAY,EAAD,IA9BkD,6DAmC3DyX,qBAxDQ,cAwDyD,oKAA1CznB,EAA0C,EAA1CA,OAAQyU,EAAkC,EAAlCA,UAAeiT,EAAmB,EAAnBA,gBAAmB,SAE7D9a,EAAS,CACbxG,MAAOqO,EAAUE,KAAKC,cACtB8S,gBAAiBA,GAJgD,SAO5C3a,QAAItQ,IAAI,uCAAwC,CAAEmQ,WAPN,OAO7Dma,EAP6D,OAS7DP,EAAqB,CACzBmB,oBAAqBZ,EAASY,oBAC9BC,iBAAkBb,EAASa,iBAC3BC,kBAAmBd,EAASc,mBAGf,GAAXtc,IAAiB9N,QAAQqP,MAAM,wBAA0BE,KAAKC,UAAU8Z,IAE5E/mB,EAAO,oBAAqB+mB,GAC5B/mB,EAAO,qBAAsBwmB,GAlBsC,qDAoBnExW,GAAY,EAAD,IApBwD,6DAyBjE8X,uBAjFQ,cAiFsD,kKAArC9nB,EAAqC,EAArCA,OAAQyU,EAA6B,EAA7BA,UAAesT,EAAc,EAAdA,WAAc,SAE1Dnb,EAAS,CACbxG,MAAOqO,EAAUE,KAAKC,cACtB6D,KAAMsP,GAJwD,SAOzChb,QAAItQ,IACzB,+DACA,CAAEmQ,WAT4D,OAO1Dma,EAP0D,OAYjD,GAAXxb,IAAiB9N,QAAQqP,MAAM,0BAA4BE,KAAKC,UAAU8Z,IAE9E/mB,EAAO,uBAAwB+mB,GAdiC,qDAgBhE/W,GAAY,EAAD,IAhBqD,6DAuB9DgY,aAxGQ,cAwG2C,6KAApC3mB,EAAoC,EAApCA,SAAoC,IAAtBqT,eAAsB,MAAZ,GAAY,EAAR/E,EAAQ,EAARA,KAAQ,kBAE/B5C,QAAIkN,IAAJ,kBAA2BvF,GAFI,OAE/C7E,EAF+C,OAIjC,GAAhB,EAAKtE,SAAiB9N,QAAQqP,MAAM,WAAaE,KAAKC,UAAU4C,IAEhExO,QAAwBtF,GAAZsF,GAAuB5D,QAAQqP,MAAMzL,GAEjDwO,EAAQiX,SAAW,GACrB/W,GAAc,oCACdJ,KAEAK,GAAY,4CAZuC,qDAerDA,GAAY,EAAD,IAf0C,6DAmBnDiY,oBA3HQ,cA2HkD,6KAApC5mB,EAAoC,EAApCA,SAAoC,IAAtBqT,eAAsB,MAAZ,GAAY,EAAR/E,EAAQ,EAARA,KAAQ,kBAEtC5C,QAAIkN,IAAJ,yBAAkCvF,GAFI,OAEtD7E,EAFsD,OAIxC,GAAhB,EAAKtE,SAAiB9N,QAAQqP,MAAM,WAAaE,KAAKC,UAAU4C,IAEhExO,QAAwBtF,GAAZsF,GAAuB5D,QAAQqP,MAAMzL,GAEjDwO,EAAQ6X,gBAAkB,GAC5B3X,GAAc,4CACdJ,KAEAK,GAAY,oDAZ8C,qDAe5DA,GAAY,EAAD,IAfiD,6DAmB1DkY,mBA9IQ,cA8IiD,6KAApC7mB,EAAoC,EAApCA,SAAoC,IAAtBqT,eAAsB,MAAZ,GAAY,EAAR/E,EAAQ,EAARA,KAAQ,kBAErC5C,QAAIkN,IAAJ,wBAAiCvF,GAFI,OAErD7E,EAFqD,OAIvC,GAAhB,EAAKtE,SAAiB9N,QAAQqP,MAAM,WAAaE,KAAKC,UAAU4C,IAEhExO,QAAwBtF,GAAZsF,GAAuB5D,QAAQqP,MAAMzL,GAEjDwO,EAAQsY,eAAiB,GAC3BpY,GAAc,2CACdJ,KAEAK,GAAY,mDAZ6C,qDAe3DA,GAAY,EAAD,IAfgD,6DAmBzDoY,mBAjKQ,cAiKiD,6KAApC/mB,EAAoC,EAApCA,SAAoC,IAAtBqT,eAAsB,MAAZ,GAAY,EAAR/E,EAAQ,EAARA,KAAQ,kBAErC5C,QAAIZ,KAAJ,kDAA4DuI,GAFvB,OAErD7E,EAFqD,OAIvC,GAAhB,EAAKtE,SAAiB9N,QAAQqP,MAAM,WAAaE,KAAKC,UAAU4C,IAEhExO,QAAwBtF,GAAZsF,GAAuB5D,QAAQqP,MAAMzL,GAEtC,GAAXwO,GACFE,GAAc,8CACdJ,EAAK,CAAE3X,QAAQ,KAEfgY,GAAY,sDAZ6C,qDAe3DA,GAAY,EAAD,IAfgD,6DAmBzDqY,WApLQ,cAoLyC,6KAApChnB,EAAoC,EAApCA,SAAoC,IAAtBqT,eAAsB,MAAZ,GAAY,EAAR/E,EAAQ,EAARA,KAAQ,kBAE7B5C,QAAIZ,KAAJ,0CAAoDuI,GAFvB,OAE7C7E,EAF6C,OAI/B,GAAhB,EAAKtE,SAAiB9N,QAAQqP,MAAM,WAAaE,KAAKC,UAAU4C,IAEhExO,QAAwBtF,GAAZsF,GAAuB5D,QAAQqP,MAAMzL,GAEjDwO,EAAQiX,SAAW,GACrB/W,GAAc,gDACdJ,KAEAK,GAAY,wDAZqC,qDAenDA,GAAY,EAAD,IAfwC,6DAsBjDsY,UA1MQ,cA6MZ,mLAFEjnB,EAEF,EAFEA,SACA0mB,EACF,EADEA,WAAYjsB,EACd,EADcA,KAAMsK,EACpB,EADoBA,MAAOmiB,EAC3B,EAD2BA,gBAAiBC,EAC5C,EAD4CA,gBAAiB7Y,EAC7D,EAD6DA,KAC7D,kBAEwB5C,QAAIZ,KAAJ,kBAA4B,CAChD4b,aACAjsB,OACAsK,QACAmiB,kBACAC,oBAPJ,OAEQ3Y,EAFR,OAUsB,GAAhB,EAAKtE,SAAiB9N,QAAQqP,MAAM,WAAaE,KAAKC,UAAU4C,IAEhExO,QAAwBtF,GAAZsF,GAAuB5D,QAAQqP,MAAMzL,GAEjDwO,EAAQiX,SAAW,GACrB/W,GAAc,8BACdJ,KAEAK,GAAY,8CAlBhB,qDAqBEA,GAAY,EAAD,IArBb,6DA0BIyY,iBAvOQ,cAuO8D,+KAAnDpnB,EAAmD,EAAnDA,SAAcylB,EAAqC,EAArCA,SAAU4B,EAA2B,EAA3BA,YAAatO,EAAc,EAAdA,KAAMzK,EAAQ,EAARA,KAAQ,kBAElD5C,QAAIZ,KAAJ,yBAAmC,CACvD2a,WACA4B,cACAtO,SALsE,OAElEvK,EAFkE,OAQpD,GAAhB,EAAKtE,SAAiB9N,QAAQqP,MAAM,oBAAsBE,KAAKC,UAAU4C,IAEzExO,QAAwBtF,GAAZsF,GAAuB5D,QAAQqP,MAAMzL,GAEjDwO,EAAQiX,SAAW,GACrB/W,GAAc,sCACdJ,KAEAK,GAAY,sDAhB0D,qDAmBxEA,GAAY,EAAD,IAnB6D,6DAwBtE2Y,gBA/PQ,cA+PuE,+KAA7DtnB,EAA6D,EAA7DA,SAAcqmB,EAA+C,EAA/CA,gBAAiB9T,EAA8B,EAA9BA,OAAQgV,EAAsB,EAAtBA,aAAcjZ,EAAQ,EAARA,KAAQ,kBAE3D5C,QAAIZ,KAAJ,wBAAkC,CACtDub,kBACA9T,SACAgV,iBAL+E,OAE3E/Y,EAF2E,OAQ7D,GAAhB,EAAKtE,SAAiB9N,QAAQqP,MAAM,mBAAqBE,KAAKC,UAAU4C,IAExExO,QAAwBtF,GAAZsF,GAAuB5D,QAAQqP,MAAMzL,GAEjDwO,EAAQsY,eAAiB,GAC3BpY,GAAc,sCACdJ,KAEAK,GAAY,sDAhBmE,qDAmBjFA,GAAY,EAAD,IAnBsE,6DAyB/E6Y,aAxRQ,cAwRuC,+KAAhCxnB,EAAgC,EAAhCA,SAAcylB,EAAkB,EAAlBA,SAAUnX,EAAQ,EAARA,KAAQ,SAE3CjR,EAF2C,0BAEjBooB,EAFiB,kDAI3B/Z,QAAIyD,OAAO9R,GAJgB,OAI3CmR,EAJ2C,OAM7B,GAAhB,EAAKtE,SAAiB9N,QAAQqP,MAAM,WAAaE,KAAKC,UAAU4C,IAEhExO,QAAwBtF,GAAZsF,GAAuB5D,QAAQqP,MAAMzL,GAE/CoP,EAAa/L,KAAKmL,EAAS,WAAW,IAEzB,IAAfY,GACFV,GAAc,oCACdJ,KAEAK,GAAY,4CAhBmC,qDAmBjDA,GAAY,EAAD,IAnBsC,6DAuB/C8Y,oBA/SQ,cA+SqD,+KAAvCznB,EAAuC,EAAvCA,SAAcqmB,EAAyB,EAAzBA,gBAAiB/X,EAAQ,EAARA,KAAQ,SAEzDjR,EAFyD,iCAExBgpB,EAFwB,kDAIzC3a,QAAIyD,OAAO9R,GAJ8B,OAIzDmR,EAJyD,OAM3C,GAAhB,EAAKtE,SAAiB9N,QAAQqP,MAAM,WAAaE,KAAKC,UAAU4C,IAEhExO,QAAwBtF,GAAZsF,GAAuB5D,QAAQqP,MAAMzL,GAE/CoP,EAAa/L,KAAKmL,EAAS,WAAW,IAEzB,IAAfY,GACFV,GAAc,4CACdJ,KAEAK,GAAY,oDAhBiD,qDAmB/DA,GAAY,EAAD,IAnBoD,8DAwB/D9P,GAAU,CACdmmB,WAAY,kBAAM/mB,GAAM+mB,YACxBC,mBAAoB,kBAAMhnB,GAAMgnB,oBAChCC,oBAAqB,kBAAMjnB,GAAMinB,qBACjCC,mBAAoB,kBAAMlnB,GAAMknB,oBAChCC,kBAAmB,kBAAMnnB,GAAMmnB,mBAC/BC,qBAAsB,kBAAMpnB,GAAMonB,uBAGvBE,GAAU,CACrBzJ,YAAY,EACZ7d,SACAG,aACAK,WACAI,YC7YIqL,IAAU,EAIHjM,GAAQ,CACnBypB,cAAe,CAAC,IAChBC,oBAAqB,CAAC,IACtBC,mBAAoB,CAAC,IACrBC,kBAAmB,CAAC,IACpB7I,UAAW,KACX8I,gBAAiB,MAGN1pB,GAAY,CACvBud,KADuB,SAClB1d,EAAOoV,GACV,IAAK,IAAIuI,KAAQvI,EACfpV,EAAM2d,GAAQvI,EAAQuI,IAG1B8L,cANuB,SAMTzpB,EAAOoV,GACnBpV,EAAMypB,cAAgBrU,GAExBsU,oBATuB,SASH1pB,EAAOoV,GACzBpV,EAAM0pB,oBAAsBtU,GAE9B2L,UAZuB,SAYb/gB,EAAOoV,GACfpV,EAAM+gB,UAAY3L,GAEpByU,gBAfuB,SAeP7pB,EAAOoV,GACrBpV,EAAM6pB,gBAAkBzU,GAE1BuU,mBAlBuB,SAkBJ3pB,EAAOoV,GACxBpV,EAAM2pB,mBAAqBvU,GAE7BwU,kBArBuB,SAqBL5pB,EAAOoV,GACvBpV,EAAM4pB,kBAAoBxU,IAIjB5U,GAAU,CAMfspB,iBANe,YAMyB,kKAArBppB,EAAqB,EAArBA,OAAQyU,EAAa,EAAbA,UAC3B5G,EAAO,GADiC,kBAINd,QAAItQ,IAAI,6BAA8B,CACxEmQ,OAAQ,CACNxG,MAAOqO,EAAUE,KAAKC,iBANgB,gBAI3ByU,EAJ2B,EAIpCxZ,QAMNhC,EAAOwb,EAEPrpB,EAAO,gBAAiBqpB,GAZkB,4DAc1CpZ,gBAAc,EAAD,IAd6B,kBAenC,CAAEpC,SAfiC,iCAkBrC,CACLA,SAnB0C,6DAyBxCyb,cA/Be,WA+BW/I,GAAa,4JAAvBvgB,EAAuB,EAAvBA,OAChBupB,EAAkB,KADqB,kBAIjBxc,QAAItQ,IAAJ,gCAAiC8jB,EAAYA,cAJ5B,OAIzCgJ,EAJyC,OAKzCvpB,EAAO,YAAa,CAAEupB,oBALmB,mDAOzCtZ,gBAAc,EAAD,IAP4B,iCAUpC,CACLuZ,iBAAkBD,IAXuB,4DAgBvCE,gBA/Ce,cAkDnB,mLAFEpoB,EAEF,EAFEA,SACAkf,EACF,EADEA,YAAamJ,EACf,EADeA,gBAAiBtjB,EAChC,EADgCA,MAAOtK,EACvC,EADuCA,KAAM6tB,EAC7C,EAD6CA,SAAUha,EACvD,EADuDA,KACvD,kBAEwB5C,QAAIkN,IAAJ,wBAAiC,CACrDsG,cACAmJ,kBACAtjB,QACAtK,OACA6tB,aAPJ,OAEQ9Z,EAFR,OAUsB,GAAhB,EAAKtE,SAAiB9N,QAAQqP,MAAM,WAAaE,KAAKC,UAAU4C,IAEhEA,EAAQ0Q,YAAc,GACxBxQ,gBAAc,mCACd1O,EAAS,oBACTsO,KAEAM,gBAAc,gDAjBlB,qDAoBEA,gBAAc,EAAD,IApBf,6DAyBI2Z,aA3Ee,cA2EwD,iLAAxDvoB,EAAwD,EAAxDA,SAAc+E,EAA0C,EAA1CA,MAAOsjB,EAAmC,EAAnCA,gBAAiB5tB,EAAkB,EAAlBA,KAAM6tB,EAAY,EAAZA,SAAY,kBAEnD5c,QAAIZ,KAAJ,wBAAkC,CACtD/F,QACAsjB,kBACA5tB,OACA6tB,aANuE,UAEnE9Z,EAFmE,OASzEpS,QAAQ6S,IAAI,CAAET,YAEM,GAAhB,EAAKtE,SAAiB9N,QAAQqP,MAAM,WAAaE,KAAKC,UAAU4C,IAE9D0Q,EAAc7b,KAAKmL,EAAS,cAAe,QAEtB,kBAAhB0Q,GAA4BA,EAAc,GAfoB,wBAgBvExQ,gBAAc,iCACd1O,EAAS,oBAjB8D,kBAmBhE,CACLkf,YAAa1Q,EAAQ0Q,cApBgD,QAuBvEtQ,gBAAc,iDAvByD,6DA0BzEA,gBAAc,EAAD,IA1B4D,iCA6BpE,CACLsQ,YAAa,OA9B4D,6DAmCvEsJ,gBA9Ge,cA8GsC,+KAAnCxoB,EAAmC,EAAnCA,SAAckf,EAAqB,EAArBA,YAAa5Q,EAAQ,EAARA,KAAQ,SAEjDjR,EAFiD,gCAEjB6hB,GAFiB,SAIjCxT,QAAIyD,OAAO9R,GAJsB,OAIjDmR,EAJiD,OAMnC,GAAhB,EAAKtE,SAAiB9N,QAAQqP,MAAM,WAAaE,KAAKC,UAAU4C,IAE9DY,EAAa/L,KAAKmL,EAAS,WAAW,IAEzB,IAAfY,GACFV,gBAAc,mCACd1O,EAAS,oBACTsO,KAEAM,gBAAc,+CAfuC,qDAkBvDA,gBAAc,EAAD,IAlB0C,6DA0BrD6Z,oBAxIe,WAwIiBC,GAAmB,4JAA7B/pB,EAA6B,EAA7BA,OAA6B,kBAEjB+M,QAAItQ,IAAJ,sCACHstB,EAAkBA,oBAHE,OAE/CC,EAF+C,OAKrDhqB,EAAO,kBAAmB,CAAEgqB,0BALyB,mDAOrD/Z,gBAAc,EAAD,IAPwC,4DAYnDga,sBApJe,cAoJ+D,iLAAtD5oB,EAAsD,EAAtDA,SAAc0oB,EAAwC,EAAxCA,kBAAmBxJ,EAAqB,EAArBA,YAAa5Q,EAAQ,EAARA,KAAQ,SAE1EhZ,EAAO,CACXozB,oBACAG,aAAa,GAGTxrB,EAP0E,sCAOpCqrB,EAPoC,+BAQ1Dhd,QAAIyD,OAAO9R,EAAM/H,GARyC,OAQ1EkZ,EAR0E,OAU5D,GAAhB,EAAKtE,SAAiB9N,QAAQqP,MAAME,KAAKC,UAAU4C,IAEnDA,EAAQsa,UAAY,GACtBpa,gBAAc,2DAEd1O,EAAS,yBAA0B,CACjCkf,gBAGF5Q,IAEAtO,EAAS,qBAET4O,gBAAc,uDAvBgE,qDA0BhFA,gBAAc,EAAD,IA1BmE,6DA+B9Ema,uBAnLe,WAmL+B7J,GAAa,kKAAlCvgB,EAAkC,EAAlCA,OAAQyU,EAA0B,EAA1BA,UAA0B,SAEvD7H,EAAS,CACbxG,MAAOqO,EAAUE,KAAKC,cACtB2L,YAAaA,EAAYA,aAJkC,SAOnBxT,QAAItQ,IAAI,mCAAoC,CACpFmQ,WAR2D,gBAO9Cyd,EAP8C,EAOvDxa,QAIN7P,EAAO,sBAAuBqqB,GAX+B,qDAa7Dpa,gBAAc,EAAD,IAbgD,6DAkB3Dqa,sBArMe,cAqMmD,+KAA1CjpB,EAA0C,EAA1CA,SAAcqT,EAA4B,EAA5BA,QAAS/E,EAAmB,EAAnBA,KAAM1D,EAAa,EAAbA,UAAa,kBAE9Cc,QAAIkN,IAAJ,8BAAuCvF,GAFO,OAE9D7E,EAF8D,OAIhD,GAAhB,EAAKtE,SAAiB9N,QAAQqP,MAAM,WAAaE,KAAKC,UAAU4C,IAEhEA,EAAQ0Q,YAAc,GACxBxQ,gBAAc,0CAERwQ,EAAc7L,EAAQ6L,YAC5Blf,EAAS,yBAA0B,CACjCkf,gBAEF5Q,IACAtO,EAAS,sBAET4O,gBAAc,0DACdhE,EAAU,CAAEK,GAAI,QAjBkD,qDAoBpE7O,QAAQjC,MAAM,CAAE8Q,GAAE,OAElBL,EAAU,CAAEK,GAAE,OAtBsD,6DA2BlEie,mBAhOe,cAgOqC,6KAA/BlpB,EAA+B,EAA/BA,SAAcqT,EAAiB,EAAjBA,QAAS/E,EAAQ,EAARA,KAAQ,kBAEhC5C,QAAIZ,KAAJ,8BAAwCuI,GAFR,OAEhD7E,EAFgD,OAGlC,GAAhB,EAAKtE,SAAiB9N,QAAQqP,MAAM,WAAaE,KAAKC,UAAU4C,IAEhEA,EAAQ0Q,YAAc,GACxBxQ,gBAAc,wCAERwQ,EAAc7L,EAAQ6L,YAC5Blf,EAAS,yBAA0B,CACjCkf,gBAGF5Q,GAAK,GAELtO,EAAS,qBAETsO,EAAK,IAAIlV,MAAM,yDAjBqC,qDAoBtDkV,EAAK,EAAD,IApBkD,6DA4BpD6a,sBA5Pe,WA4PmBd,GAAiB,6KAA3B1pB,EAA2B,EAA3BA,OAA2B,SAEjDtB,EAAO,kCACPgrB,QAAsC3tB,GAAnB2tB,IACrBhrB,EAAO,mDAAH,OAAsDgrB,EAAgBA,kBAG7D,GAAXne,IAAiB9N,QAAQqP,MAAM,8BAPkB,SAQZC,QAAItQ,IAAIiC,EAAM,IARF,gBAQtC+rB,EARsC,EAQ/C5a,QAES,GAAXtE,IACF9N,QAAQqP,MAAM,iCAAmCE,KAAKC,UAAUwd,IAE5DC,EAAWD,EAAgB/gB,KAAI,gBAAqB7M,EAArB,EAAG8tB,iBAAgC9nB,EAAnC,EAA4B+nB,MAA5B,MAAgD,CACnF/tB,QACAgG,YAGE6nB,QAAwB3uB,GAAZ2uB,GACdA,EAAS3T,QAAQ,CAAEla,MAAO,GAAIgG,MAAO,wBAGxB,GAAX0I,IAAiB9N,QAAQqP,MAAM,yBAA2B,EAAK4d,UAEnE1qB,EAAO,qBAAsB0qB,GAxBwB,qDA0BrDza,gBAAc,EAAD,IA1BwC,6DAkCnD4a,qBA9Re,YA8RkB,2KAAV7qB,EAAU,EAAVA,OAAU,SAEpB,GAAXuL,IACF9N,QAAQqP,MAAM,6BAHmB,SAMKC,QAAItQ,IAAI,iCAAkC,IAN/C,uBAMpBquB,EANoB,EAM7Bjb,QAES,GAAXtE,IACF9N,QAAQqP,MAAM,gCAAkCE,KAAKC,UAAU6d,IAG3DJ,EAAWI,EAAephB,KAAI,gBAAoB7M,EAApB,EAAG6sB,gBAA8B7mB,EAAjC,EAA2B/G,KAA3B,MAA8C,CAChFe,QACAgG,YAGE6nB,QAAwB3uB,GAAZ2uB,GACdA,EAAS3T,QAAQ,CAAEla,MAAO,GAAIgG,MAAO,uBAGxB,GAAX0I,IACF9N,QAAQqP,MAAM,iCAAmC,EAAK4d,UAGxD1qB,EAAO,oBAAqB0qB,GAzBO,kBA2B5B,CACL7c,KAAM6c,IA5B2B,qCA+BnCza,gBAAc,EAAD,IA/BsB,iCAkC9B,CACLpC,KAAM,OAnC6B,8DAwC5B3N,GAAU,CACrB6oB,cAAe,SAAAgC,GAAM,OAAIA,EAAOhC,eAChCC,oBAAqB,SAAA+B,GAAM,OAAIA,EAAO/B,qBACtCC,mBAAoB,SAAA8B,GAAM,OAAIA,EAAO9B,oBACrCC,kBAAmB,SAAA6B,GAAM,OAAIA,EAAO7B,mBACpC7I,UAAW,SAAA0K,GAAM,OAAIA,EAAO1K,WAC5B8I,gBAAiB,SAAA4B,GAAM,OAAIA,EAAO5B,kBAGvBE,GAAa,CACxBlM,YAAY,EACZ7d,SACAG,aACAK,WACAI,YC9XIZ,GAAQ,GAERG,GAAY,GAEZK,GAAU,GAEVI,GAAU,GAEH8qB,GAAU,CACrB7N,YAAY,EACZ7d,SACAG,aACAK,WACAI,Y,oCCNIqL,IAAU,EAEHjM,GAAQ,CACnB2rB,MAAO,GACPzgB,KAAM,KACN0gB,WAAY,GACZC,oBAAqB,GACrBC,6BAA8B,GAC9BC,sBAAuB,GACvBC,UAAW,KACXC,yBAA0B,GAC1BC,+BAAgC,GAChCC,oBAAqB,EACrBC,OAAQ,GACRC,QAAS,GACTC,kBAAmB,CAAC,IACpBC,oBAAqB,CAAC,IACtBC,mBAAoB,GACpBC,2BAA4B,CAAC,KAGlBtsB,GAAY,CACvBud,KADuB,SAClB1d,EAAOoV,GAEV,IAAK,IAAIuI,KAAQvI,EACfpV,EAAM2d,GAAQvI,EAAQuI,IAG1B+I,0BAPuB,SAOG1mB,EAAOmJ,GAC/BnJ,EAAMumB,+BAAiCpd,GAEzCwd,sBAVuB,SAUD3mB,EAAOmJ,GAC3BnJ,EAAMwmB,2BAA6Brd,GAErCmjB,kBAbuB,SAaLtsB,EAAOoV,GACvBpV,EAAMssB,kBAAoBlX,GAE5BmX,oBAhBuB,SAgBHvsB,EAAOoV,GACzBpV,EAAMusB,oBAAsBnX,GAE9BoX,mBAnBuB,SAmBJxsB,EAAOoV,GACxBpV,EAAMwsB,mBAAqBpX,GAE7BqX,2BAtBuB,SAsBIzsB,EAAOoV,GAChCpV,EAAMysB,2BAA6BrX,IAIjC5U,GAAU,CACRksB,UADQ,YACgB,mJAAZ3qB,EAAY,EAAZA,SAChBA,EAAS,aACTA,EAAS,eAFmB,8CAOxB4qB,YARQ,YAQ2B,oKAArBjsB,EAAqB,EAArBA,OAAQyU,EAAa,EAAbA,UAAa,SAE/B7H,EAAS,CACbxG,MAAOqO,EAAUE,KAAKC,eAHa,SAKF7H,QAAItQ,IAAI,uBAAwB,CAAEmQ,WALhC,gBAKpB+e,EALoB,EAK7B9b,QAEFic,EAAqBH,EACxBjiB,KAAI,SAAAwiB,GAAC,MAAK,CACTrvB,MAAOqvB,EAAEC,SACTtpB,MAAOqpB,EAAEpwB,KAAOowB,EAAEpwB,KAAO,OAE1ByN,QAAO,SAAAuN,GAAC,OAAIA,EAAEjU,MAAM1L,OAAS,GAAK2f,EAAEja,MAAQ,KAC5CuvB,MAAK,SAACplB,EAAGqlB,GAAJ,OAAUrlB,EAAEnE,MAAQwpB,EAAExpB,SAEf,GAAX0I,IAAiB9N,QAAQqP,MAAM,eAAiBE,KAAKC,UAAU6e,IAEnE9rB,EAAO,OAAQ,CAAE2rB,YACjB3rB,EAAO,OAAQ,CAAE8rB,uBAlBoB,qDAoBrC7b,gBAAc,EAAD,IApBwB,6DAuCnCqc,UA/CQ,YAkDZ,gMAFEtsB,EAEF,EAFEA,OAAQyU,EAEV,EAFUA,UAEV,iCADyE,GACzE,IADE8X,mBACF,MADgB,EAChB,MADmBC,mBACnB,MADiC,IACjC,MADwCC,4BACxC,kBAEQ7f,EAAS,CACbxG,MAAOqO,EAAUE,KAAKC,cACtB6X,uBACAF,cACAC,eANJ,SAQmCzf,QAAItQ,IAAI,oBAAqB,CAAEmQ,WARlE,gBAQmBqe,EARnB,EAQUpb,QACR7P,EAAO,OAAQ,CAAEirB,UATnB,qDAWEhb,gBAAc,EAAD,IAXf,6DAgBIyc,wBAlEQ,YAqEZ,kMAFE1sB,EAEF,EAFEA,OAAQyU,EAEV,EAFUA,UAEV,iCADyE,GACzE,IADE8X,mBACF,MADgB,EAChB,MADmBC,mBACnB,MADiC,IACjC,MADwCC,4BACxC,kBAEQ7f,EAAS,CACbxG,MAAOqO,EAAUE,KAAKC,cACtB6X,uBACAF,cACAC,eANJ,SAQuCzf,QAAItQ,IAAI,oBAAqB,CAAEmQ,WARtE,gBAQmB+f,EARnB,EAQU9c,QAEJ+c,EAAoBD,EACrBjjB,KAAI,SAAA1C,GAAC,MAAK,CACTnK,MAAOmK,EAAE6lB,QAAU7lB,EAAE6lB,QAAQC,UAAY,GACzCjqB,MAAOmE,EAAE6lB,QACL7lB,EAAE6lB,QAAQE,WACV,KACA/lB,EAAE6lB,QAAQG,KACV,IACAhmB,EAAE6lB,QAAQvtB,MACV,KACA0H,EAAE6lB,QAAQI,WACV,GACJC,OAAQlmB,EAAEkmB,OAASlmB,EAAEkmB,OAAS,MAE/B3jB,QAAO,SAAAuN,GAAC,OAAIA,EAAEjU,MAAM1L,OAAS,GAAK2f,EAAEja,MAAQ,KAC5CuvB,MAAK,SAACplB,EAAGqlB,GAAJ,OAAUrlB,EAAEnE,MAAQwpB,EAAExpB,SAE9B+pB,EAAkB7V,QAAQ,CAAEla,MAAO,GAAIgG,MAAO,uBAE/B,GAAX0I,IACF9N,QAAQqP,MAAM,0BAA4BE,KAAKC,UAAU2f,IAE3D5sB,EAAO,sBAAuB,CAAE4sB,sBAhClC,qDAkCE3c,gBAAc,EAAD,IAlCf,6DAuCIkd,uBA5GQ,YA+GZ,oMAFEntB,EAEF,EAFEA,OAAQyU,EAEV,EAFUA,UAEV,iCAD0F,GAC1F,IADE8X,mBACF,MADgB,EAChB,MADmBC,mBACnB,MADiC,IACjC,MADwCC,4BACxC,aADsE9c,YACtE,MAD6E,aAC7E,oBAEoC5C,QAAItQ,IAAI,oBAAqB,CAC7DmQ,OAAQ,CACNxG,MAAOqO,EAAUE,KAAKC,cACtB6X,uBACAF,cACAC,iBAPN,gBAEmBd,EAFnB,EAEU7b,QASFud,EAAiB1B,EACpBhiB,KAAI,SAAA1C,GAAC,MAAK,CAETnK,MAAO6H,KAAKsC,EAAG,CAAC,eAAgB,WAAY,IAE5CnE,MAAOmE,EAAEqmB,aAAF,UACArmB,EAAEqmB,aAAavxB,KADf,cAEDkL,EAAE6lB,cAAwB9wB,GAAbiL,EAAE6lB,SAAwB7lB,EAAE6lB,QAAQE,WAC7C/lB,EAAE6lB,QAAQE,WACV,IAEN,OAELxjB,QAAO,SAAAuN,GAAC,OAAIA,EAAEjU,MAAM1L,OAAS,GAAK2f,EAAEja,MAAQ,KAShC,GAAX0O,IAAiB9N,QAAQqP,MAAM,wBAA0BE,KAAKC,UAAUmgB,IAE5EptB,EAAO,oBAAqB,CAAEotB,mBAE9Bzd,EAAK,CACH9B,KAAMuf,IAtCV,qDAyCEnd,gBAAc,EAAD,IAzCf,6DA8CIqd,SA7JQ,WA6Ja1iB,GAAQ,4JAAlB5K,EAAkB,EAAlBA,OAAkB,kBAEZ+M,QAAItQ,IAAJ,uBAAwBmO,IAFZ,OAEzBJ,EAFyB,OAG/BxK,EAAO,OAAQ,CAAEwK,SAHc,mDAK/ByF,gBAAc,EAAD,IALkB,4DAU7Bsd,eAvKQ,YAuK8B,oKAArBvtB,EAAqB,EAArBA,OAAQyU,EAAa,EAAbA,UAAa,SAElC7H,EAAS,CAAExG,MAAOqO,EAAUE,KAAKC,eAFC,SAGd7H,QAAItQ,IAAI,8BAA+B,CAAEmQ,WAH3B,gBAGhCiD,EAHgC,EAGhCA,QAGFqb,EAAarb,EAAQnG,KAAI,SAAA1C,GAAC,wCAC3BA,GAD2B,IAE9BnE,MAAO,GAAF,OAAKmE,EAAEsQ,cAAP,YAAwBtQ,EAAEuQ,iBAAiB9B,WAAW+B,SAAS,EAAG,KAAlE,cACHxQ,EAAE6M,aAEJ2Z,QAAS,UAAGxmB,EAAEsQ,cAAL,YAAsBtQ,EAAEuQ,iBAAiB9B,WAAW+B,SAAS,EAAG,KAAhE,YACPxQ,EAAE6M,YADK,YAEL7M,EAAEkQ,aAAcuW,mBAGtBztB,EAAO,OAAQ,CAAEkrB,eAhBuB,qDAkBxCjb,gBAAc,EAAD,IAlB2B,6DA0BtCyd,+BAjMQ,YAiM8C,oKAArB1tB,EAAqB,EAArBA,OAAQyU,EAAa,EAAbA,UAAa,SAElD7H,EAAS,CAAExG,MAAOqO,EAAUE,KAAKC,eAFiB,SAI9B7H,QAAItQ,IAAJ,6DAC8BmQ,EAAOxG,OAC7D,CACEwG,WAPoD,uBAIhDiD,EAJgD,EAIhDA,QAOF8d,EAAWC,IAAW/d,GACzBuc,MAAK,SAAAplB,GAAC,OAAIA,EAAE6mB,oBAAoBC,oBAAoBhyB,QACpD4N,KAAI,SAAA1C,GAAC,MAAK,CACTnK,MAAOmK,EAAE+mB,yBAA2B/mB,EAAE+mB,yBAA2B,EACjElrB,MAAOmE,EAAE6mB,oBAAoBC,oBAAoBhyB,KAA1C,UACAkL,EAAE6mB,oBAAoBC,oBAAoBhyB,MAC7C,OAELyN,QAAO,SAAAuN,GAAC,OAAIA,EAAEjU,MAAM1L,OAAS,GAAK2f,EAAEja,MAAQ,KAE/C8wB,EAAS5W,QAAQ,CAAEla,MAAO,GAAIgG,MAAO,+BAEtB,GAAX0I,IACF9N,QAAQqP,MAAM,2CAA6CE,KAAKC,UAAU0gB,IAE5E3tB,EAAO,6BAA8B,CAAE2tB,aA1BiB,kBA4BjD,CACL9f,KAAM+f,IAAW/d,KA7BqC,qCAgCxDI,gBAAc,EAAD,IAhC2C,iCAmCnD,CACLpC,KAAM,KApCkD,6DAwCtDmgB,wBAzOQ,YAyOuC,sKAArBhuB,EAAqB,EAArBA,OAAQyU,EAAa,EAAbA,UAAa,SAE3C7H,EAAS,CAAExG,MAAOqO,EAAUE,KAAKC,eAFU,SAGvB7H,QAAItQ,IAAI,8BAA+B,CAAEmQ,WAHlB,gBAGzCiD,EAHyC,EAGzCA,QAGJoe,EAAkBpe,EAAQtG,QAAO,SAAA2kB,GAAK,OAAIA,EAAMhX,YAAYzV,SAAS,YAGnE0pB,EAAsB8C,EAAgBvkB,KAAI,SAAA1C,GAAC,MAAK,CACpDnK,MAAOmK,EAAEqQ,UACTxU,MAAO,GAAF,OAAKmE,EAAEsQ,cAAP,cAA0BtQ,EAAE6M,iBAGnCsX,EAAoBpU,QAAQ,CAAEla,MAAO,GAAIgG,MAAO,kBAEhD7C,EAAO,OAAQ,CAAEmrB,wBAhBgC,qDAkBjDlb,gBAAc,EAAD,IAlBoC,6DAuB/Cke,iCAhQQ,YAgQgD,sKAArBnuB,EAAqB,EAArBA,OAAQyU,EAAa,EAAbA,UAAa,SAEpD7H,EAAS,CAAExG,MAAOqO,EAAUE,KAAKC,eAFmB,SAGhC7H,QAAItQ,IAAI,8BAA+B,CAAEmQ,WAHT,gBAGlDiD,EAHkD,EAGlDA,QAIJoe,EAAkBpe,EAAQtG,QAAO,SAAA6kB,GAAM,OAAIA,EAAOlX,YAAYzV,SAAS,aAGrE2pB,EAA+B6C,EAAgBvkB,KAAI,SAAA1C,GAAC,MAAK,CAC7DnK,MAAOmK,EAAEqQ,UACTxU,MAAO,GAAF,OAAKmE,EAAEsQ,cAAP,cAA0BtQ,EAAE6M,iBAGnCuX,EAA6BrU,QAAQ,CAAEla,MAAO,GAAIgG,MAAO,oBAEzD7C,EAAO,OAAQ,CAAEorB,iCAjByC,qDAmB1Dnb,gBAAc,EAAD,IAnB6C,6DAwBxDoe,0BAxRQ,YAwRuD,gNAAnCruB,EAAmC,EAAnCA,OAAQyU,EAA2B,EAA3BA,UAAaC,EAAc,+BAAJ,GAAI,WAEUA,EAAnEf,iBAFyD,MAE7C,KAF6C,IAEUe,EAAjDW,uBAFuC,MAErB,KAFqB,IAEUX,EAAzBa,qBAFe,MAEC,KAFD,EAG3DnP,EAAQqO,EAAUE,KAAKC,cACxBjB,EAJ4D,yCAMxD3T,EAAO,OAAQ,CAAEqrB,sBAAuB,QANgB,cAQ3D3G,EAAYrP,GAAmBiZ,KAAOjZ,GAAiBkZ,OAAOD,KAAOE,UAAUC,MAC/E9J,EAAUpP,GAAiB+Y,KAAO/Y,GAAegZ,OAAOD,KAAOE,UAAUC,MACzE/vB,EAAO,oDACPkO,EAAS,CAAExG,QAAOuN,YAAW+Q,YAAWC,WAXmB,UAmBvD5X,QAAItQ,IAAIiC,EAAM,CAAEkO,WAnBuC,wBAa/D2L,EAb+D,EAa/DA,aACAmW,EAd+D,EAc/DA,iBACAC,EAf+D,EAe/DA,cACAC,EAhB+D,EAgB/DA,YACAC,EAjB+D,EAiB/DA,aACAC,EAlB+D,EAkB/DA,UAIIzD,EAAwB9S,EAAa7O,KAAI,SAAA5M,GAAC,wCAC3CA,GAD2C,IAE9CiyB,YAAajyB,EAAE8W,OAAS,EAAI9W,EAAE8W,OAAS,KACvCob,aAAclyB,EAAE8W,OAAS,EAAI9W,EAAE8W,OAAS,KACxC8a,iBAAkBA,EAClBC,cAAeA,EACfC,YAAaA,EACbC,aAAcA,EACdC,UAAWA,OAGbrxB,QAAQ6S,IAAI,YAActD,KAAKC,UAAUoe,IAjCwB,kBAmC1DrrB,EAAO,OAAQ,CAAEqrB,2BAnCyC,qCAqCjEpb,gBAAc,EAAD,IArCoD,6DAyC/Dgf,6BAjUQ,YAiU0D,oMAAnCjvB,EAAmC,EAAnCA,OAAQyU,EAA2B,EAA3BA,UAAaC,EAAc,+BAAJ,GAAI,SAE9DtO,EAAQqO,EAAUE,KAAKC,cACvBjP,EAAU+O,EAAQ/O,QAEnBA,EAL+D,yCAO3D3F,EAAO,OAAQ,CAAEurB,yBAA0B,QAPgB,gBAUzB7W,EAArCgQ,iBAV8D,MAUlD,KAVkD,IAUzBhQ,EAAnBiQ,eAV4C,MAUlC,KAVkC,EAWpED,EAAYA,GAAa4J,KAAO5J,GAAW6J,OAAOD,KAAOE,UAAUC,MACnE9J,EAAUA,GAAW2J,KAAO3J,GAAS4J,OAAOD,KAAOE,UAAUC,MAEvDS,EAAsBxa,EAAQwa,oBAC9BxwB,EAAO,iEACPkO,EAAS,CAAExG,QAAOT,UAAS+e,YAAWC,UAASuK,uBAhBe,UAqB1DniB,QAAItQ,IAAIiC,EAAM,CAAEkO,WArB0C,wBAkB7C2e,EAlB6C,EAkBlE4D,oBAC2B3D,EAnBuC,EAmBlE4D,0BACS3D,EApByD,EAoBlE4D,QApBkE,kBAuB7DrvB,EAAO,OAAQ,CACpBurB,2BACAC,iCACAC,yBA1BkE,qCA6BpExb,gBAAc,EAAD,IA7BuD,8DAkCpE/P,GAAU,CAEdovB,WAAY,gBAAGrE,EAAH,EAAGA,MAAH,OACVA,EACG1hB,QAAO,SAAAgmB,GAAC,OAAIA,EAAElC,gBACd3jB,KAAI,SAAA6lB,GAAC,OAAIA,EAAElC,gBACX3jB,KAAI,SAAApN,GAAC,wCAAUA,GAAV,IAAakzB,MAAO,QAAShC,QAAS,SAAF,OAAWlxB,EAAER,KAAK2xB,qBAGhEgC,YAAa,gBAAG9D,EAAH,EAAGA,QAAH,OACXA,EAAQjiB,KAAI,SAAApN,GAAC,wCAAUA,GAAV,IAAakzB,MAAO,SAAUhC,QAAS,UAAF,OAAYlxB,EAAER,KAAK2xB,qBAGvEiC,WAAY,SAACpwB,EAAD,OAAUgwB,EAAV,EAAUA,WAAYG,EAAtB,EAAsBA,YAAtB,gCAA4CH,GAA5C,gBAA2DG,KACvE7D,kBAAmB,kBAAMtsB,GAAMssB,mBAC/BC,oBAAqB,kBAAMvsB,GAAMusB,qBACjCC,mBAAoB,kBAAMxsB,GAAMwsB,oBAChCC,2BAA4B,kBAAMzsB,GAAMysB,6BAG7B5lB,GAAM,CACjBgX,YAAY,EACZ7d,SACAG,aACAK,WACAI,YC9aF,SAAS8P,GAAYjX,GACnBolB,QAAMjQ,KAAK,CACTkQ,SAAU,IACVviB,QAAS9C,EAAE8C,SAAW9C,EACtBsH,SAAU,YACVpG,KAAM,cAIV,IAAMqF,GAAQ,CACZqwB,WAAY,KACZC,YAAa,KACbC,aAAc,MAGVpwB,GAAY,CAChBud,KADgB,SACX1d,EAAOoV,GAEV,IAAK,IAAIuI,KAAQvI,EACfpV,EAAM2d,GAAQvI,EAAQuI,KAKtBnd,GAAU,CAERgwB,eAFQ,WAE8BrW,GAAM,oKAA3BzZ,EAA2B,EAA3BA,OAAQyU,EAAmB,EAAnBA,UACrBG,EAAkBH,EAAUE,KAA5BC,cAEFvF,EAAW,IAAIkK,SACrBlK,EAASmK,OAAO,OAAQC,GAJwB,SAQxC/a,EARwC,kEAQ0BkW,GAR1B,SASnB7H,QAAIZ,KAAKzN,EAAM2Q,EAAU,CAClD,eAAgB,wBAV4B,OASxCwgB,EATwC,OAY9C7vB,EAAO,OAAQ,CAAE6vB,iBAZ6B,qDAc9C7f,GAAY,EAAD,IAdmC,8DA0B9C9P,GAAU,GAEH6vB,GAAW,CACtB5S,YAAY,EACZ7d,SACAG,aACAK,WACAI,YC5CIZ,GAAQlI,OAAOgJ,OAAO,CAC1BwL,OAAQ,CACN9J,OAAQ,UAIZ7C,OAAIC,IAAIC,QACD,IAAM6wB,GAAS,IAAI7wB,OAAKE,MAAM,CACnC8d,YAAY,EACZ7d,SACAG,UAAW,GACXK,QAAS,GACTI,QAAS,K,wBC5BE+vB,GAAgB,YAAqB,IAAV/C,EAAU,EAAVA,OACtC,IACE,GAAIgD,SAAShD,GAAU,EACrB,OAAO,EAET,MAAOjhB,GACP,OAAO,EAGT,OAAO,GCPIxM,GAAY,CAUvBoO,KAVuB,SAUlBvO,EAVkB,GAUS,IAAlB4tB,EAAkB,EAAlBA,OAAQiD,EAAU,EAAVA,YACap0B,IAA7BuD,EAAM8wB,WAAWlD,KACnB5tB,EAAM8wB,WAAWlD,GAAU,IAG7B5tB,EAAM8wB,WAAWlD,GAAQiD,OAASA,IAIzBrwB,GAAU,CASfuwB,QATe,cASkC,oKAAvCrwB,EAAuC,EAAvCA,OAAYktB,EAA2B,EAA3BA,OAA2B,IAAnBvd,YAAmB,MAAZ,aAAY,EAChDsgB,GAAc/C,GADkC,uBAEnDzvB,QAAQjC,MAAR,sBAAqC0xB,GAFc,iCAMjDiD,EAAS,GANwC,kBASzBpjB,QAAItQ,IAAJ,yBAAkC,CAC1DmQ,OAAQ,CACNsgB,YAX+C,gBAS3Crd,EAT2C,EAS3CA,QAMRsgB,EAAStgB,EAf0C,4DAiBnDI,gBAAc,+CACdxS,QAAQjC,MAAR,MAlBmD,2BAsBjD80B,EAAW,GACfC,KACEJ,GACA,SAASK,EAAO7tB,EAAOgN,GAAM,IACnB8gB,EAAgBD,EAAhBC,YAEP,wCAAC,6HAGoB1jB,QAAItQ,IAAJ,qCAA8C,CAC9DmQ,OAAQ,CACN6jB,cACAC,UAAU,KANhB,OAGEC,EAHF,iEAUEL,EAAS74B,KAAK,CACZkL,QACAsJ,UAAS,OAGXkkB,EAAOxtB,GAAOpI,IAAM,KAEpBoV,IAjBF,2BAqBAwgB,EAAOxtB,GAAOpI,IAAMo2B,EAEpBhhB,IAvBA,wDAAD,MA0BH,SAASrD,GACHA,IACF7O,QAAQjC,MAAM8Q,GACd7O,QAAQjC,MAAM80B,IAGhBtwB,EAAO,OAAQ,CAAEktB,SAAQiD,WAEzBxgB,EAAK,CACHwgB,cA/D+C,8DAqE5CjwB,GAAU,GAEV0wB,GAAkB,CAC7BzT,YAAY,EACZ7d,MAAO,CAkBL8wB,WAAY,IAEd3wB,aACAK,WACAI,YChHK,SAAS2wB,KAIW,IAArB9sB,UAAU5M,OAKW,IAArB4M,UAAU5M,QACZsG,QAAQ6S,IAAIvM,UAAU,GAAIiJ,KAAKgB,MAAMhB,KAAKC,UAAUlJ,UAAU,GAAI,KAAM,KALxEtG,QAAQ6S,IAAItD,KAAKgB,MAAMhB,KAAKC,UAAUlJ,UAAU,GAAI,KAAM,KCjBvD,SAAS+sB,GAAOC,EAAK5zB,GAC1B,IACE,GAAI/F,OAAOC,UAAUC,eAAeC,KAAKw5B,EAAK5zB,GAC5C,OAAO,EAET,MAAOrE,GACP2E,QAAQjC,MAAM1C,GAGhB,OAAO,ECHT,IAAMyS,IAAU,EAGT,SAAeylB,GAAtB,mC,gEAAO,gIAA4ChxB,EAA5C,EAA4CA,OAAQyU,EAApD,EAAoDA,UAAaC,EAAjE,+BAA2E,GAA3E,kBAEkB3H,QAAItQ,IAAJ,iCAA0C,CAC7DmQ,OAAQ,+BACNxG,MAAOqO,EAAUE,KAAKC,eAElBkc,GAAOpc,EAAS,kBAChB,CACEuc,eAAgBvc,EAAQuc,gBAE1B,IAEAH,GAAOpc,EAAS,cAChB,CACEwc,WAAYxc,EAAQwc,YAEtB,MAhBL,OAEC1kB,EAFD,OAoBG2kB,EAAczsB,KAAK8H,EAAU,UAAW,IAE/B,GAAXjB,IACFslB,GAAQ,4BAA6BrkB,GAGnCA,GAAYkI,EAAQwc,iBAAoCn1B,GAAtB2Y,EAAQwc,YAC5ClxB,EAAO,mBAAoBmxB,GAG7BnxB,EAAO,cAAemxB,GA9BnB,qDAgCHnhB,gBAAY,EAAD,IAhCR,0D,yBCVP,IAAMzE,IAAU,EAKT,SAAe6lB,GAAtB,mC,gEAAO,gHAAoCpxB,EAApC,EAAoCA,OAAQyU,EAA5C,EAA4CA,UAA5C,kBAEwB1H,QAAItQ,IAAJ,uCAAgD,CACzEmQ,OAAQ,CACNxG,MAAOqO,EAAUE,KAAKC,iBAJvB,OAEGyc,EAFH,OAQY,GAAX9lB,IACFslB,GAAQ,sBAAuBQ,GAGjCrxB,EAAO,eAAgBqxB,GAZpB,mDAcH5zB,QAAQjC,MAAR,MACAwU,gBAAY,EAAD,IAfR,yD,yBCGP,IAAMzE,IAAU,EAEHzL,GAAU,CACrBsxB,sBACAJ,8BAGMM,yBALe,YAKiC,oKAArBtxB,EAAqB,EAArBA,OAAQyU,EAAa,EAAbA,UAAa,SAE5C7H,EAAS,CACbxG,MAAOqO,EAAUE,KAAKC,cACtBqC,gBAAgB,GAJgC,SAMdlK,QAAItQ,IAAI,8BAA+B,CACzEmQ,WAPgD,gBAMjCoW,EANiC,EAM1CnT,QAKF0hB,EAAoBvO,EAAStZ,KAAI,gBAAc7M,EAAd,EAAGwa,UAA+BxU,EAAlC,EAAqBgR,YAArB,MAA+C,CACpFhX,QACAgG,YAEF0uB,EAAkBxa,QAAQ,CAAEla,MAAO,GAAIgG,MAAO,iCAE/B,GAAX0I,IACF9N,QAAQqP,MAAM,uBAAyBE,KAAKC,UAAUskB,IAGxDvxB,EAAO,OAAQ,CAAEuxB,sBArBiC,qDAuBlDvhB,gBAAY,EAAD,IAvBuC,6DA2BhDwhB,aAhCe,YAgCqB,kKAArBxxB,EAAqB,EAArBA,OAAQyU,EAAa,EAAbA,UAAa,SAEhC7H,EAAS,CACbxG,MAAOqO,EAAUE,KAAKC,eAGlBlW,EANgC,sDAMsBkO,EAAOxG,OACpD,GAAXmF,IAAiB9N,QAAQqP,MAAM,qBAAuBpO,GAPpB,SASjBqO,QAAItQ,IAAIiC,GATS,OAShC1G,EATgC,OAWvB,GAAXuT,IAAiB9N,QAAQqP,MAAM,aAAeE,KAAKC,UAAUjV,IAEjEgI,EAAO,YAAahI,GAbkB,qDAetCgY,gBAAY,EAAD,IAf2B,6DAmBpCyhB,4BAnDe,YAmDoC,kKAArBzxB,EAAqB,EAArBA,OAAQyU,EAAa,EAAbA,UAAa,SAE/C7H,EAAS,CACbxG,MAAOqO,EAAUE,KAAKC,eAGlBlW,EAN+C,4EAM6BkO,EAAOxG,OAC1E,GAAXmF,IAAiB9N,QAAQqP,MAAM,oCAAsCpO,GAPpB,SASrBqO,QAAItQ,IAAIiC,GATa,OAS/CgzB,EAT+C,OAWtC,GAAXnmB,IAAiB9N,QAAQqP,MAAM,+BAAiC4kB,GAEpE1xB,EAAO,2BAA4B0xB,GAbkB,qDAerD1hB,gBAAY,EAAD,IAf0C,6DA0BnD2hB,oBA7Ee,YA6E4B,kKAArB3xB,EAAqB,EAArBA,OAAQyU,EAAa,EAAbA,UAAa,SAEvC7H,EAAS,CACbxG,MAAOqO,EAAUE,KAAKC,eAGlBlW,EANuC,iDAMUkO,EAAOxG,OAC/C,GAAXmF,IAAiB9N,QAAQqP,MAAM,QAAUpO,GAPA,SASvBqO,QAAItQ,IAAIiC,GATe,OASvCmR,EATuC,OAW9B,GAAXtE,IAAiB9N,QAAQqP,MAAM,uBAAyBE,KAAKC,UAAU4C,IAE3E7P,EAAO,mBAAoB6P,GAbkB,qDAe7CG,gBAAY,EAAD,IAfkC,6DAmB3C4hB,2BAhGe,YAgGmC,oKAArB5xB,EAAqB,EAArBA,OAAQyU,EAAa,EAAbA,UAAa,SAE9C7H,EAAS,CACbxG,MAAOqO,EAAUE,KAAKC,eAGlBlW,EAN8C,wDAMUkO,EAAOxG,OACtD,GAAXmF,IAAiB9N,QAAQqP,MAAM,QAAUpO,GAPO,SAS7BqO,QAAItQ,IAAIiC,GATqB,OAS9C8N,EAT8C,OAU9CqD,EAAUnL,KAAK8H,EAAU,UAAW,IAE3B,GAAXjB,IAAiB9N,QAAQqP,MAAM,8BAAgCE,KAAKC,UAAUT,IAElFxM,EAAO,uBAAwB6P,GAdqB,qDAgBpDG,gBAAY,EAAD,IAhByC,6DAoBlD6hB,gCApHe,YAoHsD,oLAAnC7xB,EAAmC,EAAnCA,OAAQyU,EAA2B,EAA3BA,UAAaC,EAAc,+BAAJ,GAAI,SAEnE9H,EAAS,CACXxG,MAAOqO,EAAUE,KAAKC,cACtBsc,YAAY,GAGVxyB,EAPmE,+CAOpBkO,EAAOxG,OACtDsO,QAAsB3Y,GAAX2Y,IACTA,EAAQuc,qBAA4Cl1B,GAA1B2Y,EAAQuc,iBACpCrkB,EAAOqkB,eAAiBvc,EAAQuc,eAChCvyB,GAAQ,mBAAJ,OAAuBkO,EAAOqkB,iBAGpCvyB,GAAQ,eAAJ,OAAmBkO,EAAOskB,aAGjB,GAAX3lB,IAAiB9N,QAAQqP,MAAM,mCAAqCpO,GAjBD,SAmBnDqO,QAAItQ,IAAIiC,GAnB2C,OAmBnEmR,EAnBmE,OAqBxD,GAAXtE,IAAiB9N,QAAQqP,MAAM,8BAAgCE,KAAKC,UAAU4C,IAElF7P,EAAO,mBAAoB6P,GAvB4C,qDAyBvEG,gBAAY,EAAD,IAzB4D,6DA6B3E8hB,OAjJqB,WAiJFC,GAAM,IAAhB/xB,EAAgB,EAAhBA,OACPA,EAAO,MAAO+xB,KCvJdC,IAAiB,EACrB,IACE,IAAMC,GAAgB1jB,aAAa2jB,QAAQ,iBACrB,WAAlBD,KACFD,IAAiB,GAEnB,MAAOG,IACP10B,QAAQ20B,KAAKD,IAKR,IAAMjyB,GAAU,CACrBmyB,IAAK,SAAAC,GAAM,OAAIA,EAAOD,KAEtBhB,aAAc,SAAAiB,GAAM,OAAIA,EAAOjB,cAC/BkB,iBAAkB,SAAAD,GAAM,OAAIA,EAAOC,kBAEnCpB,YAAa,SAAAmB,GAAM,OAAIA,EAAOnB,aAC9BqB,kBAAmB,SAAAF,GAAM,OAAIA,EAAOE,mBAEpCC,iBAAkB,SAAAH,GAAM,OAAIA,EAAOG,kBAUnCC,cAAe,SAAApzB,GAAK,OAAI,SAAAqzB,GACtB,IAAuB,IAAnBX,GACF,OAAO,EAGT,IACE,GACElB,GAAOxxB,EAAMkzB,kBAAmBG,IAChC7B,GAAOxxB,EAAMkzB,kBAAmBtC,SAASyC,IAEzC,OAAO,EAET,MAAOh6B,GACP8E,QAAQjC,MAAM7C,GAGhB,OAAO,IAGTi6B,qBAAsB,SAAAN,GAAM,OAAIA,EAAOM,sBACvCC,yBAA0B,SAAAP,GAAM,OAAIA,EAAOO,0BAC3CtW,UAAW,SAAA+V,GAAM,OAAIA,EAAO/V,WAC5BgV,kBAAmB,SAAAe,GAAM,OAAIA,EAAOf,oBChDzBuB,I,8BAAe,SAASj2B,GACnC,IAAI7E,EAAS,GAEb,IACEA,EAASk4B,SAASrzB,GAClB,MAAO2U,GACP/T,QAAQjC,MAAMgW,GAGhB,OAAI7K,OAAOosB,UAAU/6B,GACZA,EAGF6E,IChBF,SAASm2B,GAAT,GAA2C,IAAf7B,EAAe,EAAfA,YAC3B8B,EAAW,GAcjB,OAZAx1B,QAAQ6S,IAAI,mBAAoB,CAAE6gB,gBAElCA,EAAY+B,SAAQ,SAAApc,GAClB,IAAMrO,EAAKqqB,GAAapuB,KAAKoS,EAAG,YAAa,KAE3B,kBAAPrO,EACTwqB,EAASxqB,GAAMqO,EAEfrZ,QAAQjC,MAAR,uCAIGy3B,ECxBT,IAAM1nB,IAAU,EAEH9L,GAAY,CACvB4yB,IADuB,SACnB/yB,EAAOoV,GACT,IAAMye,EAAQ/7B,OAAOiN,OAAO,GAAI/E,EAAM+yB,IAAK3d,GAC3CpV,EAAM+yB,IAAMc,EAEG,GAAX5nB,IAAiB9N,QAAQqP,MAAM,2BAA4BxN,EAAM+yB,MAEvErV,KAPuB,SAOlB1d,EAAOoV,GACV,IAAK,IAAIuI,KAAQvI,EACfpV,EAAM2d,GAAQvI,EAAQuI,IAG1BoU,aAZuB,SAYV/xB,EAAOoV,GAClBpV,EAAM+xB,aAAe3c,GAEvB6H,UAfuB,SAebjd,EAAOoV,GACfpV,EAAMid,UAAY7H,GAEpBme,yBAlBuB,SAkBEvzB,EAAOoV,GAC9BpV,EAAMuzB,yBAA2Bne,GAEnC6d,iBArBuB,SAqBNjzB,EAAOoV,GACtBpV,EAAMizB,iBAAmB7d,GAE3Byc,YAxBuB,SAwBX7xB,EAAOoV,GACjBpV,EAAM6xB,YAAczc,EACpBpV,EAAMkzB,kBAAoBQ,GAAiB,CACzC7B,YAAazc,KAGjB+d,iBA9BuB,SA8BNnzB,EAAOoV,GACtBpV,EAAMmzB,iBAAmB/d,GAE3Bke,qBAjCuB,SAiCFtzB,EAAOoV,GAC1BpV,EAAMszB,qBAAuBle,GAE/B6c,kBApCuB,SAoCLjyB,EAAOoV,GACvBpV,EAAMiyB,kBAAoB7c,ICrCxB2d,GAAM,CACVe,YAAa,IAAIC,KACjBC,YAAa,KACbC,aAAc,IAAIF,KAElBpC,eAAgB,EAChBuC,oBAAqB,EAErBC,UAAU,EACVC,YAAY,EAEZz5B,KAAM,GACN6B,KAAM,GACN+X,YAAa,GACb8f,qBAAsB,CAAC,IAEvBC,uBAAuB,EACvBC,YAAa,EACbC,WAAY,EAEZC,eAAgB,MAGLz0B,GAAQ,CACnB+yB,IAAKA,GACLE,iBAAkB,GAElBlB,aAAc,KAEdF,YAAa,GACbqB,kBAAmB,GAEnBC,iBAAkB,GAElBG,qBAAsB,GAEtBC,yBAA0B,EAC1BtW,UAAW,KAEXgV,kBAAmB,IClCRF,GAAe,CAC1BlU,YAAY,EACZ7d,SACAG,aACAK,WACAI,YCkBI8zB,GAAc58B,OAAOgJ,OAAO,CAChC6zB,OAAQ78B,OAAOgJ,OAAO,CACpB8zB,QAAS,qEAGXC,OAAQ/8B,OAAOgJ,OAAO,CACpBg0B,aAAc,iDAKhB7xB,MAAOnL,OAAOgJ,OAAO,CAInB4D,EAAA,UAMAI,EAAA,OAKAiwB,EAAA,OAKAC,EAAA,UAGAC,EAAA,OAEAC,EAAA,UAIAC,EAAA,OAEAC,EAAA,UAEAC,EAAA,UAGAC,GAAA,cAqCJ31B,OAAIC,IAAIC,QACD,IAAMmD,GAAQ,IAAInD,OAAKE,MAAM,CAClC8d,YAAY,EACZ7d,MAAO00B,GACPv0B,UAAW,GACXK,QAAS,GACTI,QAAS,KCvHLqL,IAAU,EAEhB,SAASyE,GAAYjX,GACnBolB,QAAMjQ,KAAK,CACTkQ,SAAU,IACVviB,QAAS9C,EAAE8C,SAAW9C,EACtBsH,SAAU,YACVpG,KAAM,cAIV,IAAMqF,GAAQ,CACZu1B,WAAY,CAAC,IACbC,UAAW,KACXC,eAAgB,KAChBC,gBAAiB,KACjBpgB,cAAe,KACfqgB,gBAAiB,IAGbx1B,GAAY,CAChBud,KADgB,SACX1d,EAAOoV,GACV,IAAK,IAAIuI,KAAQvI,EACfpV,EAAM2d,GAAQvI,EAAQuI,IAG1B4X,WANgB,SAMLv1B,EAAOoV,GAChBpV,EAAMu1B,WAAangB,GAErBogB,UATgB,SASNx1B,EAAOoV,GACfpV,EAAMw1B,UAAYpgB,GAEpBwgB,UAZgB,SAYN51B,EAAOmJ,GACfnJ,EAAMy1B,eAAiBtsB,GAEzB0sB,mBAfgB,SAeG71B,EAAOoV,GACxBpV,EAAM21B,gBAAkBvgB,IAItB5U,GAAU,CACRs1B,cADQ,WACkB1gB,GAAS,gKAAnB1U,EAAmB,EAAnBA,OAAmB,kBAEL+M,QAAItQ,IAAI,sBAFH,gBAEtB44B,EAFsB,EAE/BxlB,QAES,GAAXtE,IAAiB9N,QAAQqP,MAAM,WAAaE,KAAKC,UAAUyH,IAE3D4gB,EAAiB,CAAC,IAGpB5gB,GACAA,EAAQ6gB,qBACkBx5B,GAA1B2Y,EAAQ6gB,gBACkB,GAA1B7gB,EAAQ6gB,gBAERD,EAAiBD,EAAO3rB,KAAI,gBAAiB7M,EAAjB,EAAG24B,aAA2B3yB,EAA9B,EAAwB/G,KAAxB,MAA2C,CACrEe,QACAgG,YAEFyyB,EAAeve,QAAQ,CAAEla,MAAO,GAAIgG,MAAO,uBAE3CyyB,EAAiBD,EAAO3rB,KAAI,gBAAY7M,EAAZ,EAAG44B,QAAsB5yB,EAAzB,EAAmB/G,KAAnB,MAAsC,CAChEe,QACAgG,YAEFyyB,EAAeve,QAAQ,CAAEla,MAAO,GAAIgG,MAAO,sBAG9B,GAAX0I,IAAiB9N,QAAQqP,MAAM,SAAWE,KAAKC,UAAUqoB,IAE7Dt1B,EAAO,aAAcs1B,GA7BgB,qDA+BrCtlB,GAAY,EAAD,IA/B0B,6DAmCnC0lB,oBApCQ,WAoCwBhhB,GAAS,0JAAnB1U,EAAmB,EAAnBA,OACX,GAAXuL,IAAiB9N,QAAQqP,MAAM,6BADU,UAGvC4H,QAAsB3Y,GAAX2Y,QAA2C3Y,IAAnB2Y,EAAQwY,SAAwBxY,EAAQwY,OAHpC,wBAI1B,GAAX3hB,IACF9N,QAAQqP,MAAM,+BAAiCE,KAAKC,UAAUyH,IAG1D9H,EAAS,CACbsgB,OAAQxY,EAAQwY,OAChBwD,UAAU,GAV6B,SAad3jB,QAAItQ,IAAJ,iCAA0C,CACnEmQ,WAduC,OAanC+oB,EAbmC,OAiB1B,GAAXpqB,IACF9N,QAAQqP,MAAM,sCAAwCE,KAAKC,UAAU0oB,IAGvE31B,EAAO,qBAAsB21B,GArBY,6DAwB3Cl4B,QAAQqP,MAAR,MAxB2C,8DA6B3C5M,GAAU,CACd20B,WAAY,kBAAMv1B,GAAMu1B,YACxBC,UAAW,kBAAMx1B,GAAMw1B,WACvBlqB,OAAQ,gBAAGmqB,EAAH,EAAGA,eAAH,OAAwBA,GAChCE,gBAAiB,gBAAGA,EAAH,EAAGA,gBAAH,OAAyBA,IAG/BzqB,GAAO,CAClB2S,YAAY,EACZ7d,SACAG,aACAK,WACAI,Y,aCnHF,SAAS01B,KACP,MAAO,CACLzkB,GAAI0kB,EAAQ,QACZC,GAAID,EAAQ,SALhB52B,OAAIC,IAAI62B,SASO,WAAIA,QAAQ,CACzBC,OAAQnjB,KACRojB,eAAgBpjB,KAChB3B,SAAU0kB,OCbCM,GAAgB9+B,OAAOgJ,OAAO,CAGzCwF,SAAU,KACVuwB,WAAY,KAGZC,WAAW,EAGXC,UAAW,KAGXC,aAAa,EAGbC,eAAgBtlB,GAAK+kB,OAGrBphB,cAAe,EAGf4hB,sBAAuB,GAGvBC,sBAAuB,GAGvBzsB,cAAe,CAAC,IAGhB0sB,aAAc,KAGdz0B,aAAc,GAGd00B,kBAAmB,K,aCnCRz2B,GAAU,CAYrB+B,aAAc,gBAAGA,EAAH,EAAGA,aAAH,OAAsBA,GAYpC2D,SAAU,gBAAGA,EAAH,EAAGA,SAAH,OAAkBA,GAC5B8wB,aAAc,gBAAGA,EAAH,EAAGA,aAAH,OAAsBA,GACpC/3B,SAAU,gBAAGiH,EAAH,EAAGA,SAAH,OAA+B,OAAbA,GAC5BwwB,UAAW,gBAAGA,EAAH,EAAGA,UAAH,OAAmBA,GAC9BC,UAAW,gBAAGA,EAAH,EAAGA,UAAH,OAAmBA,GAC9BC,YAAa,gBAAGA,EAAH,EAAGA,YAAH,OAAqBA,GAKlCxvB,MAAO,gBAAG8N,EAAH,EAAGA,cAAH,OAAuBA,GAE9B+hB,kBAAmB,gBAAGA,EAAH,EAAGA,kBAAH,OAA2BA,GAI9CC,aAAc,YAAuB,IAApBhiB,EAAoB,EAApBA,cACf,OAAOiiB,gBAAcjiB,IAEvBkiB,aAAc,YAA8C,IAA3CN,EAA2C,EAA3CA,sBAAuB5hB,EAAoB,EAApBA,cAClCmiB,EAAUniB,EAcd,MAbe,aAAXlT,mBACFq1B,EAAUP,EAAsB1vB,MAEhCrJ,QAAQqP,MAAM,0BAA4B0pB,EAAsB1vB,SAEhEiwB,EAAUF,gBAAcjiB,GACxBnX,QAAQqP,MAAM,qBAAuB+pB,gBAAcjiB,WAGrC7Y,IAAZg7B,IAA0BA,GAAWA,GAAW,KAClDA,EAAUniB,GAGLmiB,GAETC,cAAe,YAA+B,IAA5BR,EAA4B,EAA5BA,sBAGhB,OAFA/4B,QAAQ6S,IAAI,wBAAyB,CAAEkmB,0BAEhC9xB,KAAK8xB,EAAuB,SAAU,KAE/CS,eAAgB,gBAAGT,EAAH,EAAGA,sBAAuB5wB,EAA1B,EAA0BA,SAA1B,OACd4wB,EAAsBU,QAAUV,EAAsBU,QAAUtxB,EAASD,SAG3EqE,cAAe,SAAS1K,GACtB,OAAOA,EAAM0K,gBCjEXuB,IAAU,EAWhB,SAAS4rB,GAAT,GAAiD,IAA5BC,EAA4B,EAA5BA,WAAY3wB,EAAgB,EAAhBA,aAC3B4wB,EAAc,KAClB,IACEA,EAAcnH,SAAS3hB,aAAa,UACpC,MAAOiD,IAIT,GAAI9K,MAAM4wB,QAAQ7wB,IAAiBA,EAAatP,OAAQ,CACtD,IAAIogC,GAAc,EAElB,GAAIF,EAAc,EAAG,CACnB,IAAK,IAAIrwB,EAAI,EAAGA,EAAIP,EAAatP,OAAQ6P,IAAK,CAC5C,IAAMwwB,EAAc/wB,EAAaO,GAC3BZ,EAAQoxB,EAAYpxB,MAE1B,GAAIA,IAAUixB,EAAa,CACzBE,GAAc,EACd,OAICA,GACHhpB,aAAakpB,WAAW,SAI5B,OAAIF,EACKF,EAGFD,EAAW3wB,aAAa,GAAGL,MAOpC,OAHE4J,gBAAY,0DAGP,KAGF,SAAe0nB,GAAtB,qC,gEAAO,WAAuBp4B,EAAOoV,GAA9B,4GACLpV,EAAM82B,WAAY,EAClB92B,EAAMg3B,aAAc,EAKL,MAAX5hB,EAPC,uBAQHpV,EAAMsG,SAAW,KARd,iCAaHkG,EASE4I,EATF5I,MACA+hB,EAQEnZ,EARFmZ,oBACApnB,EAOEiO,EAPFjO,aACA3K,EAME4Y,EANF5Y,KACA67B,EAKEjjB,EALFijB,UACAC,EAIEljB,EAJFkjB,UACAC,EAGEnjB,EAHFmjB,WACAhvB,EAEE6L,EAFF7L,SACA+G,EACE8E,EADF9E,aAEa,GAAXrE,IACFslB,GAAQ,WAAYnc,GAIhB0iB,EA5BD,8EA6BAvJ,GACA8J,GACAC,GACAC,GAhCA,IAiCH/7B,OACAgQ,QACAjD,WACA+G,eACAnJ,aAAc6G,KAAO7G,EAAc,WAEtB,GAAX8E,IACFslB,GAAQ,eAAgBuG,GAG1B93B,EAAMsG,SAAWwxB,EACjB93B,EAAM2C,aAAe4G,EACrBvJ,EAAMsV,cAAgBuiB,GAAU,CAC9BC,aACA3wB,iBAGFhJ,QAAQ6S,IAAI,iBAAkBhR,EAAMsV,eAlD/B,kBAoDE,CACLA,cAAetV,EAAMsV,gBArDlB,4C,yBCzDA,IAAMnV,GAAY,CAEvBi4B,WAEAhB,aAJuB,SAIVp3B,EAAOoV,GAClBpV,EAAMo3B,aAAehiB,GAGvBojB,SARuB,SAQdx4B,EAAOoV,GACdpV,EAAM+2B,UAAY3hB,EAClBpV,EAAMsG,SAAW,KACjBtG,EAAM82B,WAAY,EAClB92B,EAAMg3B,aAAc,GAGtByB,aAfuB,SAeVz4B,GACXA,EAAMg3B,aAAc,GAGtB0B,UAnBuB,SAmBb14B,EAAOoV,GACfpV,EAAMi3B,eAAiB7hB,EACvBzD,GAAK+kB,OAASthB,GAGhBujB,SAxBuB,SAwBd34B,EAAOmJ,GACdnJ,EAAMsV,cAAgBnM,GAExByvB,qBA3BuB,SA2BF54B,EAAOoV,GAC1BpV,EAAMq3B,kBAAoBjiB,GAE5ByjB,yBA9BuB,SA8BE74B,EAAOkL,GAC9B/M,QAAQ6S,IAAI,2BAA4B,CAAE9F,SAC1ClL,EAAMk3B,sBAAwBhsB,GAEhCR,cAlCuB,SAkCT1K,EAAOoV,GACnBpV,EAAM0K,cAAgB0K,I,yBC/BpBnJ,IAAU,EAUhB,SAAS4rB,GAAT,GAAqC,IAAhB1wB,EAAgB,EAAhBA,aACf4wB,EAAc,KAClB,IACEA,EAAcnH,SAAS3hB,aAAa,UACpC,MAAOiD,IAIT,GAAI9K,MAAM4wB,QAAQ7wB,IAAiBA,EAAatP,OAAQ,CACtD,IAAIogC,GAAc,EAElB,GAAIF,EAAc,EAAG,CACnB,IAAK,IAAIrwB,EAAI,EAAGA,EAAIP,EAAatP,OAAQ6P,IAAK,CAC5C,IAAMwwB,EAAc/wB,EAAaO,GAC3BZ,EAAQoxB,EAAYpxB,MAE1B,GAAIA,IAAUixB,EAAa,CACzBE,GAAc,EACd,OAICA,GACHhpB,aAAakpB,WAAW,SAI5B,OAAIF,EACKF,EAGF5wB,EAAa,GAAGL,MAOzB,OAHE3I,QAAQqP,MAAM,6DAGT,KAGF,SAAe4qB,GAAtB,qC,gEAAO,aAAkChjB,GAAlC,gHAAyBpV,EAAzB,EAAyBA,MAC9BA,EAAM82B,WAAY,EAClB92B,EAAMg3B,aAAc,EAKL,MAAX5hB,EAPC,uBAQHpV,EAAMsG,SAAW,KARd,iCAaHioB,EAUEnZ,EAVFmZ,oBACA8J,EASEjjB,EATFijB,UACAS,EAQE1jB,EARF0jB,WACAR,EAOEljB,EAPFkjB,UACAC,EAMEnjB,EANFmjB,WACA/rB,EAKE4I,EALF5I,MACAhQ,EAIE4Y,EAJF5Y,KACA+M,EAGE6L,EAHF7L,SACA+G,EAEE8E,EAFF9E,aACAnJ,EACEiO,EADFjO,aAEa,GAAX8E,IACFslB,GAAQ,WAAYnc,GAMhB2jB,EAAuB/qB,KAAO7G,EAAc,SAElDnH,EAAMsG,SAAN,8EACKioB,GACA8J,GAFL,IAGES,cACGR,GACAC,GALL,IAME/7B,OACAgQ,QACAjD,WACA+G,eACAnJ,aAAc4xB,IAGhB/4B,EAAM62B,WAAamC,IAAU5jB,GAC7BpV,EAAM62B,WAAWkC,qBAAuBA,EACxC/4B,EAAM2C,aAAe4G,EACrBvJ,EAAMsV,cAAgBuiB,GAAU,CAC9B1wB,aAAc4xB,IAlDX,kBAqDE,CACLzjB,cAAetV,EAAMsV,gBAtDlB,4C,0CCjDA,SAAe2jB,GAAtB,qC,gEAAO,aAA2C7jB,GAA3C,kGAAuB1U,EAAvB,EAAuBA,OAAQqB,EAA/B,EAA+BA,SAC5ByK,EAAoB4I,EAApB5I,MAAOC,EAAa2I,EAAb3I,SACf/L,EAAO,WAAY,MAGdw4B,gBAAQ1sB,GALR,yCAMI9L,EAAO,WAAYiR,GAAKnU,EAAE,2BAN9B,UAOOiP,EAPP,yCAQI/L,EAAO,WAAYiR,GAAKnU,EAAE,8BAR9B,cAYLkD,EAAO,WAAY,MACnBA,EAAO,gBAbF,oBAgBgBy4B,QAAKF,MAAMzsB,EAAOC,GAhBlC,QAgBG4I,EAhBH,OAmBHtT,EAAS,UAAWsT,GAnBjB,sDAqBHlX,QAAQjC,MAAR,MACA6F,EAAS,UAAW,MACpBrB,EAAO,WAAY,KAAEnE,SAvBlB,2D,yBCHP,IAAM0P,IAAU,EAKHzL,GAAU,CACrB43B,WACAa,SAiBMG,SAnBe,WAmB2BhkB,GAAS,sKAAxC1U,EAAwC,EAAxCA,OAAQqB,EAAgC,EAAhCA,SAAUoT,EAAsB,EAAtBA,UACjCzU,EAAO,gBADgD,SAGpCy4B,QAAKC,WAH+B,cAGjD/jB,EAHiD,OAIvDkc,GAAQ,CAAElc,SAJ6C,SAMjCtT,EAAS,UAAWsT,GANa,UAMjDgkB,EANiD,OAOvD9H,GAAQ,CAAE8H,YAEJ/jB,EAAgBgkB,KAAMD,EAAS,gBAAiB,MACtD9H,GAAQ,CAAEjc,oBAEmB,kBAAlBA,GAA8BA,GAAiB,GAZH,kCAa/C1b,QAAQ+C,IAAI,CAChBoF,EAAS,kCAAmC,GAAI,CAAEw3B,MAAM,IACxDx3B,EAAS,0CAA2C,GAAI,CAAEw3B,MAAM,MAfb,eAwBjD1H,EAAc1c,EAAU4c,aAAaF,YAE3CN,GAAQ,wBAAyB,CAAEM,gBAE/Bzc,GAAWA,EAAQ/E,MACrB+E,EAAQ/E,OA7B6C,kEAmCnDmpB,qBAtDe,YAsD4B,4JAApB94B,EAAoB,EAApBA,OAAQqB,EAAY,EAAZA,SACnCrB,EAAO,gBADwC,KAGzCqB,EAHyC,SAGfo3B,QAAKK,uBAHU,4CAGhC,UAHgC,oDAM3CC,aA5De,YA4DU,0JAAV/4B,EAAU,EAAVA,OAAU,KACtBA,EADsB,SACOy4B,QAAKO,WADZ,qDACf,eADe,qDAIzBC,sBAhEe,WAgEmBvkB,GAAS,gKAAnB1U,EAAmB,EAAnBA,OACpB8L,EAAoB4I,EAApB5I,MAAOC,EAAa2I,EAAb3I,SADgC,kBAID0sB,QAAKQ,sBAAsBntB,EAAOC,GAJjC,OAIvCmtB,EAJuC,OAMzCA,GAAiCA,EAA8B/hC,OAAS,IAC1D,IAAZoU,IACF9N,QAAQqP,MACN,iCAAmCE,KAAKC,UAAUisB,IAEtDl5B,EAAO,uBAAwBk5B,IAE/Bl5B,EAAO,uBAAwB,MAbY,mDAgB7CA,EAAO,uBAAwB,MAC/BA,EAAO,WAAY,KAAEnE,SAjBwB,4DAqB3Cs9B,eArFe,WAqFsBzkB,GAAS,oKAA7B1U,EAA6B,EAA7BA,OAAQqB,EAAqB,EAArBA,SACrBqL,EAAoCgI,EAApChI,MAAO0sB,EAA6B1kB,EAA7B0kB,aAAcC,EAAe3kB,EAAf2kB,WAC7Br5B,EAAO,WAAY,MAGnBA,EAAO,WAAY,MACnBA,EAAO,gBAN2C,kBAQ7By4B,QAAKU,eAAezsB,EAAO0sB,EAAcC,GARZ,OAQ1C1kB,EAR0C,OAUhDtT,EAAS,UAAWsT,GAV4B,qDAYhDtT,EAAS,UAAW,MACpBrB,EAAO,WAAY,KAAEnE,SAb2B,6DAoBpDy9B,OAzGqB,YAyGA,IAAZj4B,EAAY,EAAZA,SACPo3B,QAAKa,SACLj4B,EAAS,UAAW,OAMtBk4B,aAjHqB,YAiHW,IAAjBv5B,EAAiB,EAAjBA,OAAQV,EAAS,EAATA,MACO,MAAxBA,EAAMi3B,eACRv2B,EAAO,YAAa,MAEpBA,EAAO,YAAa,OAOxBw5B,YA5HqB,WA4HG1yB,GAAO,IAAjB9G,EAAiB,EAAjBA,OACZA,EAAO,WAAY8G,IAGf2yB,cAhIe,WAgIkB7sB,GAAQ,6KAAzB5M,EAAyB,EAAzBA,OAAQV,EAAiB,EAAjBA,MACb,GAAXiM,IAAiB9N,QAAQqP,MAAM,wBAA0BE,KAAKC,UAAUL,IAD/B,SAGnC6rB,QAAKiB,gBAH8B,4DAKR3sB,QAAItQ,IAAJ,6BALQ,uBAKxBwuB,EALwB,EAKjCpb,QAEY,GAAhB,EAAKtE,SACP9N,QAAQqP,MAAM,iCAAmCE,KAAKC,UAAUge,IAE9D0O,EAAgB1O,EACjBvhB,KAAI,SAAA1C,GAAC,MAAK,CACTnK,MAAOmK,EAAEkmB,OACTrqB,MAAOmE,EAAE6lB,QACL7lB,EAAE6lB,QAAQE,WACV,KACA/lB,EAAE6lB,QAAQG,KACV,IACAhmB,EAAE6lB,QAAQvtB,MACV,KACA0H,EAAE6lB,QAAQI,WACV,GACJtnB,QAASqB,EAAE4yB,eACXxzB,MAAOY,EAAE6yB,UAEVtwB,QAAO,SAAAuN,GAAC,OAAIA,EAAEjU,MAAM1L,OAAS,GAAK2f,EAAEja,MAAQ,KAG3C88B,GAAiBA,EAAcxiC,OAAS,IAAMmI,EAAMy1B,gBAGvC,GAAXxpB,IAAiB9N,QAAQqP,MAAM,wBAA0B6sB,EAAc,GAAG98B,OAGhFmD,EAAO,gBAAiB25B,GAlCiB,kBAoClCA,GApCkC,qCAsCzCl8B,QAAQqP,MAAR,MAtCyC,6DA0CzCgtB,kBA1Ke,YA0KyB,sKAApB95B,EAAoB,EAApBA,OAAQqB,EAAY,EAAZA,SAC1B04B,EAAkBnrB,KAAQnS,IAAIqS,KAAKC,QAAiB,wBACpDirB,EAAkBD,GAAmB/sB,KAAKgB,MAAMisB,KAAKF,IAGvDC,IACFE,EAAiBF,EAAgBpvB,QANS,SASrBvJ,EAAS,iBATY,OASxC84B,EATwC,YAUzBp+B,IAAfo+B,IACIC,EAAmBD,EAAWE,MAAK,SAAApjC,GAAC,OAAIA,EAAE4F,OAASq9B,KAGvDl6B,EAAO,2BADLo6B,EACiC,CACjCxvB,OAAQwvB,EAAiBv9B,MACzBiK,MAAOszB,EAAiBh0B,MACxB8wB,QAASkD,EAAiBz0B,QAC1B9C,MAAOu3B,EAAiBv3B,OAGS,CACjC+H,OAAQuvB,EAAW,GAAGt9B,MACtBiK,MAAOqzB,EAAW,GAAG/zB,MACrB8wB,QAASiD,EAAW,GAAGx0B,QACvB9C,MAAOs3B,EAAW,GAAGt3B,SAzBiB,8CA8BxCy3B,yBAxMe,YAwMsB,gKAAVt6B,EAAU,EAAVA,OAAU,kBAEN+M,QAAItQ,IAAJ,6BAFM,gBAEtBwuB,EAFsB,EAE/Bpb,QAEJ8pB,EAAgB1O,EACjBvhB,KAAI,SAAA1C,GAAC,MAAK,CACTnK,MAAOmK,EAAEkmB,OACTrqB,MAAOmE,EAAE6lB,QACL7lB,EAAE6lB,QAAQE,WACV,KACA/lB,EAAE6lB,QAAQG,KACV,IACAhmB,EAAE6lB,QAAQvtB,MACV,KACA0H,EAAE6lB,QAAQI,WACV,OAEL1jB,QAAO,SAAAuN,GAAC,OAAIA,EAAEjU,MAAM1L,OAAS,GAAK2f,EAAEja,MAAQ,KAG3C88B,GAAiBA,EAAcxiC,OAAS,GAC1CsG,QAAQ6S,IAAI,sCACZtQ,EAAO,YAAa25B,EAAc,GAAG98B,OACrCmD,EAAO,eAAgB25B,EAAc,GAAG92B,OACzB,GAAX0I,IAAiB9N,QAAQqP,MAAM,gCAAkC6sB,EAAc,GAAG98B,SAEtFmD,EAAO,YAAa,GACpBA,EAAO,eAAgB,KAGzBA,EAAO,gBAAiB25B,GA9Be,qDAgCvCl8B,QAAQqP,MAAR,MAhCuC,8DCxMvCxN,GAAQg5B,IAAUpC,IAEXvhB,GAAO,CAClBwI,YAAY,EACZ7d,SACAG,aACAK,WACAI,YChBIqL,IAAU,EAEV8mB,GAAM,CACVe,YAAa,IAAIC,KACjBC,YAAa,KACbiH,UAAU,EACVhH,aAAc,IAAIF,KAClBmH,gBAAiB,IAAInH,KACrBoH,uBAAwB,KACxBC,WAAY,KACZ/0B,QAAS,EACTg1B,aAAc,KACdC,YAAa,EACbC,oBAAqB,GACrBC,kBAAmB,EACnBC,sBAAuB,EACvBC,sBAAuB,EACvBC,gBAAiB,EACjBC,wBAAwB,EACxBC,cAAc,EACdC,cAAc,EACdC,4BAA6B,EAC7BC,oBAAqB,MAGvB,SAAStrB,GAAYjX,GACnBolB,QAAMjQ,KAAK,CACTkQ,SAAU,IACVviB,QAAS9C,EAAE8C,SAAW9C,EACtBsH,SAAU,YACVpG,KAAM,cAIV,IAAMqF,GAAQ,CACZ+yB,IAAKA,GACLkJ,gBAAiB,CAAC,IAClBC,kBAAmB,CAAE1/B,KAAM,MAC3B2/B,UAAW,GACXC,oBAAqB,KACrBC,gBAAiB,CAAC,IAClBC,uBAAwB,GACxBC,uBAAwB,KACxBC,qBAAsB,CAAC,IACvBC,eAAgB,CAAC,IACjBC,0BAA2B,CAAC,IAC5BC,kBAAmB,CAAC,IACpBC,8BAA+B,CAAC,IAChCC,oBAAqB,KACrBC,cAAe,KACfpH,gBAAiB,EACjBqH,wBAAwB,GAGpB58B,GAAY,CAChB4yB,IADgB,SACZ/yB,EAAOoV,GACT,IAAMye,EAAQ/7B,OAAOiN,OAAO,GAAI/E,EAAM+yB,IAAK3d,GAC3CpV,EAAM+yB,IAAMc,EACZ11B,QAAQ6S,IAAI,cAAehR,EAAM+yB,MAEnCkJ,gBANgB,SAMAj8B,EAAOoV,GACrBpV,EAAMi8B,gBAAkB7mB,EACxBjX,QAAQ6S,IAAI,qCAAsChR,EAAMi8B,kBAE1Da,cAVgB,SAUF98B,EAAOoV,GACnBpV,EAAM88B,cAAgB1nB,GAExB8mB,kBAbgB,SAaEl8B,EAAOoV,GACvBpV,EAAMk8B,kBAAoB9mB,GAG5B4nB,4BAjBgB,SAiBYh9B,EAAOoV,GACjCpV,EAAMg9B,4BAA8B5nB,GAEtCsgB,gBApBgB,SAoBA11B,EAAOoV,GACrBpV,EAAM01B,gBAAkBtgB,EACxBjX,QAAQ6S,IAAI,0BAA2BhR,EAAM01B,kBAE/CyG,UAxBgB,SAwBNn8B,EAAOoV,GACfpV,EAAMm8B,UAAY/mB,GAGpBgnB,oBA5BgB,SA4BIp8B,EAAOoV,GACzBpV,EAAMo8B,oBAAsBhnB,EAC5BjX,QAAQ6S,IAAI,yCAA0ChR,EAAMo8B,sBAE9DS,oBAhCgB,SAgCI78B,EAAOoV,GACzBpV,EAAM68B,oBAAsBznB,GAE9BinB,gBAnCgB,SAmCAr8B,EAAOoV,GACrBpV,EAAMq8B,gBAAkBjnB,GAG1BmnB,uBAvCgB,SAuCOv8B,EAAOoV,GAC5BpV,EAAMu8B,uBAAyBnnB,EAC/BjX,QAAQ6S,IAAI,iCAAkChR,EAAMu8B,yBAEtDC,qBA3CgB,SA2CKx8B,EAAOoV,GAC1BpV,EAAMw8B,qBAAuBpnB,GAE/BknB,uBA9CgB,SA8COt8B,EAAOoV,GAC5BpV,EAAMs8B,uBAAyBlnB,GAGjCunB,kBAlDgB,SAkDE38B,EAAOoV,GACvBpV,EAAM28B,kBAAoBvnB,GAE5BqnB,eArDgB,SAqDDz8B,EAAOoV,GACpBpV,EAAMy8B,eAAiBrnB,GAEzBsnB,0BAxDgB,SAwDU18B,EAAOoV,GAC/BpV,EAAM08B,0BAA4BtnB,GAEpCwnB,8BA3DgB,SA2Dc58B,EAAOoV,GACnCpV,EAAM48B,8BAAgCxnB,GAExC2nB,uBA9DgB,SA8DO/8B,EAAOoV,GAC5BpV,EAAM+8B,uBAAyB3nB,IAI7B5U,GAAU,CACRy8B,mBADQ,YACkC,kKAArBv8B,EAAqB,EAArBA,OAAQyU,EAAa,EAAbA,UAAa,SAEtC7H,EAAS,CACbxG,MAAOqO,EAAUE,KAAKC,eAHoB,SAKR7H,QAAItQ,IAAI,sCAAuC,CAAEmQ,WALzC,gBAK7B4vB,EAL6B,EAKtC3sB,QAEN7P,EAAO,kBAAmBw8B,EAAW,GAAGC,kBAPI,qDAS5CzsB,GAAY,EAAD,IATiC,6DAa1C0sB,oBAdQ,cAcyC,8JAA3B18B,EAA2B,EAA3BA,OAA2B,IAAf4M,cAAe,MAAN,GAAM,oBAE7CG,QACHtQ,IADG,mDACqD,CAAEmQ,WAC1D7R,MAAK,SAAAyR,GACW,GAAXjB,IAAiB9N,QAAQqP,MAAM,uBAAyBE,KAAKC,UAAUT,IAC3ExM,EAAO,gBAAiBwM,MANuB,0DASnDwD,GAAY,EAAD,IATwC,4DAajD2sB,aA3BQ,WA2B4Bl0B,GAAI,8JAAzBzI,EAAyB,EAAzBA,OAAQyU,EAAiB,EAAjBA,UAAiB,SAEpC7H,EAAS,CACbxG,MAAOqO,EAAUE,KAAKC,eAHkB,SAKpC7H,QAAItQ,IAAJ,oCAAqCgM,EAAGm0B,aAAe,CAAEhwB,WAAU7R,MAAK,SAAAyR,GAC7D,GAAXjB,IAAiB9N,QAAQqP,MAAM,gBAAkBE,KAAKC,UAAUT,IACpExM,EAAO,YAAawM,MAPoB,0DAU1CwD,GAAY,EAAD,IAV+B,4DAcxC6sB,uBAzCQ,WAyCsCp0B,GAAI,8JAAzBzI,EAAyB,EAAzBA,OAAQyU,EAAiB,EAAjBA,UAAiB,SAE9C7H,EAAS,CACbxG,MAAOqO,EAAUE,KAAKC,eAH4B,SAK9C7H,QACHtQ,IADG,8CACwCgM,EAAGq0B,uBAAyB,CAAElwB,WACzE7R,MAAK,SAAAyR,GACW,GAAXjB,IAAiB9N,QAAQqP,MAAM,gBAAkBE,KAAKC,UAAUT,IACpExM,EAAO,sBAAuBwM,MATkB,0DAYpDwD,GAAY,EAAD,IAZyC,4DAgBlD+sB,gCAzDQ,WAyD+CroB,GAAS,kKAA9B1U,EAA8B,EAA9BA,OAAQyU,EAAsB,EAAtBA,UAAsB,SAE5D7H,EAAS,CACbxG,MAAOqO,EAAUE,KAAKC,cACtBjP,QAAS+O,EAAQ/O,SAJ+C,SAMpBoH,QAAItQ,IAChD,2CACA,CACEmQ,WAT8D,gBAMnDowB,EANmD,EAM5DntB,QAOS,GAAXtE,IACF9N,QAAQqP,MAAM,iCAAkCE,KAAKC,UAAU+vB,IAEjEh9B,EAAO,4BAA6Bg9B,GAhB8B,qDAkBlEhtB,GAAY,EAAD,IAlBuD,6DAsBhEitB,cA/EQ,WA+E6BvoB,GAAS,kKAA9B1U,EAA8B,EAA9BA,OAAQyU,EAAsB,EAAtBA,UAAsB,SAE1C7H,EAAS,CACbxG,MAAOqO,EAAUE,KAAKC,eAGT,GAAXrJ,IAAiB9N,QAAQqP,MAAM,WAAaE,KAAKC,UAAUyH,IAE3DA,QAAsB3Y,GAAX2Y,IACb9H,EAAOjH,QAAU+O,EAAQ/O,SATqB,SAYZoH,QAAItQ,IAAI,sCAAuC,CACjFmQ,WAb8C,gBAYjCswB,EAZiC,EAY1CrtB,QAIN7P,EAAO,iBAAkBk9B,GAhBuB,qDAkBhDltB,GAAY,EAAD,IAlBqC,6DAsB9CmtB,wBArGQ,WAqGuCzoB,GAAS,kKAA9B1U,EAA8B,EAA9BA,OAAQyU,EAAsB,EAAtBA,UAAsB,SAEpD7H,EAAS,CACbxG,MAAOqO,EAAUE,KAAKC,eAGpBF,QAAsB3Y,GAAX2Y,IACb9H,EAAOgwB,YAAcloB,EAAQkoB,aAP2B,SAUtB7vB,QAAItQ,IAAI,2CAA4C,CACtFmQ,WAXwD,gBAU3CswB,EAV2C,EAUpDrtB,QAINpS,QAAQ6S,IAAI,8BAA+B4sB,GAE3Cl9B,EAAO,4BAA6Bk9B,GAhBsB,qDAkB1DltB,GAAY,EAAD,IAlB+C,6DAsBxDotB,6BA3HQ,WA2HiC30B,GAAI,gKAAdzI,EAAc,EAAdA,OAAc,SAEzC4M,EAAS,CACbkwB,sBAAuBr0B,EAAGq0B,uBAHmB,SAKI/vB,QAAItQ,IACrD,gDACA,CACEmQ,WAR2C,gBAKhCywB,EALgC,EAKzCxtB,QAOS,GAAXtE,IACF9N,QAAQqP,MAAM,iCAAkCuwB,GAElDr9B,EAAO,gCAAiCq9B,GAfO,qDAiB/CrtB,GAAY,EAAD,IAjBoC,6DAqB7CstB,kBAhJQ,YAgJiC,kKAArBt9B,EAAqB,EAArBA,OAAQyU,EAAa,EAAbA,UAAa,SAErC7H,EAAS,CACbxG,MAAOqO,EAAUE,KAAKC,eAHmB,SAKV7H,QAAItQ,IAAI,gCAAiC,CAAEmQ,WALjC,gBAK1B2wB,EAL0B,EAKnC1tB,QAER7P,EAAO,oBAAqBu9B,GAPe,qDAS3CvtB,GAAY,EAAD,IATgC,6DAazCwtB,iCA7JQ,WA6JqC9oB,GAAS,4JAAnB1U,EAAmB,EAAnBA,OAAmB,kBAElC+M,QAAItQ,IAAI,wDAAyD,CACrFmQ,OAAQ,CACNkuB,kBAAmBpmB,EAAQomB,qBAJyB,OAElDjrB,EAFkD,OAQzC,GAAXtE,IACF9N,QAAQqP,MAAM,4CAA8CE,KAAKC,UAAU4C,IAG7E7P,EAAO,sBAAuB6P,GAZ0B,mDAcxDG,GAAY,EAAD,IAd6C,4DAkB5DytB,0BA/Kc,WA+KwB/oB,GAAS,IAAnB1U,EAAmB,EAAnBA,OAClB09B,EAAWhpB,EAAQgpB,OAAnBA,OACR19B,EAAO,yBAA0B09B,IAGnC5L,OApLc,WAoLKC,GAAM,IAAhB/xB,EAAgB,EAAhBA,OACPA,EAAO,MAAO+xB,IAGhB4L,qBAxLc,WAwLmB5L,GAAM,IAAhB/xB,EAAgB,EAAhBA,OACrBA,EAAO,oBAAqB+xB,IAG9B6L,mBA5Lc,WA4LiBlpB,GAAS,IAAnB1U,EAAmB,EAAnBA,OACnBA,EAAO,kBAAmB0U,EAAQsgB,kBAG9B6I,aAhMQ,WAgMiB9L,GAAM,8JAAhB/xB,EAAgB,EAAhBA,OAAgB,kBAEG+M,QAAIZ,KACtC,gEACA4lB,GAJ+B,gBAEjB0J,EAFiB,EAEzBzjC,OAIRgI,EAAO,GAAIy7B,GANsB,mDAQjCzrB,GAAY,EAAD,IARsB,4DA+BrC8tB,mBA/Nc,WA+N4B/L,GAAM,IAA3B/xB,EAA2B,EAA3BA,OAAQyU,EAAmB,EAAnBA,UACrB/V,EAAO,6DAAH,OAAgE+V,EAAUE,KAAKC,eAEnFvF,EAAW,IAAIkK,SACrBlK,EAASmK,OAAO,OAAQuY,GAExBA,EAAKmB,SAAQ,SAAA1C,GACXzjB,QAAIZ,KAAKzN,EAAM8xB,EAAO,CAAE,eAAgB,wBAAyBz1B,MAAK,SAAAyR,GACpE/O,QAAQ6S,IAAI,wBAAyB9D,SAIzCxM,EAAO,kBAAmB+xB,IAItBgM,oBA/OQ,YA+OiD,wLAAnC/9B,EAAmC,EAAnCA,OAAQyU,EAA2B,EAA3BA,UAAaC,EAAc,+BAAJ,GACnD9H,EAAS,CACbxG,MAAOqO,EAAUE,KAAKC,eAGT,GAAXrJ,IAAiB9N,QAAQqP,MAAM,+BAAiCE,KAAKC,UAAUL,IAE7ElO,EAPuD,oEAOa+V,EAAUE,KAAKC,eAEnFvF,EAAW,IAAIkK,SACrBlK,EAASmK,OAAO,OAAQ9E,EAAQ+E,MAV6B,SAYpB1M,QAAIZ,KAAKzN,EAAM2Q,EAAU,CAChE,eAAgB,wBAb2C,OAYvD2uB,EAZuD,OAgB9C,GAAXzyB,IACF9N,QAAQqP,MAAM,oBAAsBE,KAAKC,UAAU+wB,IAGjDC,EAAO/9B,GAAQ47B,qBACJ,GAAXvwB,IACF9N,QAAQqP,MAAM,QAAUE,KAAKC,UAAUgxB,IAKzCj+B,EAAO,yBAA0Bg+B,GA3B4B,+CA4C/DE,0BA3Rc,WA2RwBnM,GAAM,IAAhB/xB,EAAgB,EAAhBA,OAC1BA,EAAO,yBAA0B+xB,KAI/B7xB,GAAU,CACdmyB,IAAK,kBAAM/yB,GAAM+yB,KACjBkJ,gBAAiB,kBAAMj8B,GAAMi8B,iBAC7BC,kBAAmB,kBAAMl8B,GAAMk8B,mBAC/BC,UAAW,kBAAMn8B,GAAMm8B,WACvBC,oBAAqB,kBAAMp8B,GAAMo8B,qBACjCC,gBAAiB,kBAAMr8B,GAAMq8B,iBAC7BG,qBAAsB,kBAAMx8B,GAAMw8B,sBAClCF,uBAAwB,kBAAMt8B,GAAMs8B,wBACpCC,uBAAwB,kBAAMv8B,GAAMu8B,wBACpCI,kBAAmB,kBAAM38B,GAAM28B,mBAC/BF,eAAgB,kBAAMz8B,GAAMy8B,gBAC5BC,0BAA2B,kBAAM18B,GAAM08B,2BACvCE,8BAA+B,kBAAM58B,GAAM48B,+BAC3CC,oBAAqB,kBAAM78B,GAAM68B,qBACjCnH,gBAAiB,kBAAM11B,GAAM01B,iBAC7BoH,cAAe,kBAAM98B,GAAM88B,eAC3BC,uBAAwB,kBAAM/8B,GAAM+8B,yBAGzBa,GAAa,CACxB/f,YAAY,EACZ7d,SACAG,aACAK,WACAI,YCjbIqL,IAAU,EAEhB,SAASyE,GAAYjX,GACnBolB,QAAMjQ,KAAK,CACTkQ,SAAU,IACVviB,QAAS9C,EAAE8C,SAAW9C,EACtBsH,SAAU,YACVpG,KAAM,cAIV,SAAS8V,GAAchX,GACrBolB,QAAMjQ,KAAK,CACTkQ,SAAU,IACVviB,QAAS9C,EAAE8C,SAAW9C,EACtBsH,SAAU,YACVpG,KAAM,eAIV,IAAMqF,GAAQ,CAEZ6+B,MAAO,EAEPC,cAAe,GACfC,kBAAmB,GACnBC,cAAe,GACfC,UAAW,KACXC,kBAAmB,KACnBC,eAAgB,KAChBC,8BAA+B,KAC/BC,sBAAuB,KACvBC,mBAAoB,MAGhBn/B,GAAY,CAChBud,KADgB,SACX1d,EAAOoV,GACV,IAAK,IAAIuI,KAAQvI,EACfpV,EAAM2d,GAAQvI,EAAQuI,IAG1BmhB,cANgB,SAMF9+B,EAAOoV,GACnBpV,EAAM8+B,cAAgB1pB,EACtBpV,EAAM6+B,SAERE,kBAVgB,SAUE/+B,EAAOoV,GACvBpV,EAAM++B,kBAAoB3pB,EAC1BpV,EAAM6+B,SAERG,cAdgB,SAcFh/B,EAAOoV,GACnBpV,EAAMg/B,cAAgB5pB,EACtBpV,EAAM6+B,SAERI,UAlBgB,SAkBNj/B,EAAOoV,GACfpV,EAAMi/B,UAAY7pB,EAClBpV,EAAM6+B,SAERK,kBAtBgB,SAsBEl/B,EAAOoV,GACvBpV,EAAMk/B,kBAAoB9pB,EAC1BpV,EAAM6+B,SAERM,eA1BgB,SA0BDn/B,EAAOoV,GACpBpV,EAAMm/B,eAAiB/pB,EACvBpV,EAAM6+B,SAERQ,sBA9BgB,SA8BMr/B,EAAOoV,GAC3BpV,EAAMq/B,sBAAwBjqB,EAC9BpV,EAAM6+B,SAERS,mBAlCgB,SAkCGt/B,EAAOoV,GACxBpV,EAAMs/B,mBAAqBlqB,EAC3BpV,EAAM6+B,SAERO,8BAtCgB,SAsCcp/B,EAAOoV,GACnCpV,EAAMo/B,8BAAgChqB,EACtCpV,EAAM6+B,UAIJr+B,GAAU,CAGR++B,iBAHQ,WAGuCC,GAAY,sKAAxC9+B,EAAwC,EAAxCA,OAAQyU,EAAgC,EAAhCA,UAAWnV,EAAqB,EAArBA,MACtCy/B,EAASr6B,KAAKo6B,EAAY,UAAU,eADuB,SAIvDlyB,EAAS,CACbxG,MAAOqO,EAAUE,KAAKC,eALqC,SAQzB7H,QAAItQ,IAAI,kCAAmC,CAAEmQ,WARpB,gBAQ9CoyB,EAR8C,EAQvDnvB,QAES,GAAXtE,IAAiB9N,QAAQqP,MAAM,cAAgBE,KAAKC,UAAU+xB,IAElED,EAAO,CACLlxB,KAAMmxB,EACNb,MAAO7+B,EAAM6+B,QAGfn+B,EAAO,gBAAiBg/B,GAjBqC,qDAmB7DhvB,GAAY,EAAD,IAnBkD,6DAwB3DivB,qBA3BQ,WA2B2CH,GAAY,wKAAxC9+B,EAAwC,EAAxCA,OAAQyU,EAAgC,EAAhCA,UAAWnV,EAAqB,EAArBA,MAC1Cy/B,EAASr6B,KAAKo6B,EAAY,UAAU,eAD2B,SAI3DlyB,EAAS,CACbxG,MAAOqO,EAAUE,KAAKC,eALyC,SAQzB7H,QAAItQ,IAAI,iCAAkC,CAAEmQ,WARnB,gBAQlDsyB,EARkD,EAQ3DrvB,QAES,GAAXtE,IAAiB9N,QAAQqP,MAAM,kBAAoBE,KAAKC,UAAUiyB,IAEhEC,EAA4BD,EAC/Bx1B,KAAI,SAAAwiB,GAAC,MAAK,CACTrvB,MAAOqvB,EAAEkT,gBACTv8B,MAAOqpB,EAAEpwB,KAAOowB,EAAEpwB,KAAO,OAE1ByN,QAAO,SAAAuN,GAAC,OAAIA,EAAEjU,MAAM1L,OAAS,GAAK2f,EAAEja,MAAQ,KAC5CuvB,MAAK,SAACplB,EAAGqlB,GAAJ,OAAUrlB,EAAEnE,MAAQwpB,EAAExpB,SAE9Bk8B,EAAO,CACLlxB,KAAMqxB,EACNf,MAAO7+B,EAAM6+B,QAGfn+B,EAAO,oBAAqBm/B,GAzBqC,qDA2BjEnvB,GAAY,EAAD,IA3BsD,6DAgC/DqvB,0BA3DQ,WA2DgDP,GAAY,sKAAxC9+B,EAAwC,EAAxCA,OAAQyU,EAAgC,EAAhCA,UAAWnV,EAAqB,EAArBA,MAC/Cy/B,EAASr6B,KAAKo6B,EAAY,UAAU,eADgC,SAIhElyB,EAAS,CACbxG,MAAOqO,EAAUE,KAAKC,eAL8C,SAQ1B7H,QAAItQ,IAAI,qCAAsC,CACxFmQ,WAToE,gBAQvD0yB,EARuD,EAQhEzvB,QAIS,GAAXtE,IACF9N,QAAQqP,MAAM,6BAA+BE,KAAKC,UAAUqyB,IAE9DP,EAAO,CACLlxB,KAAMyxB,EACNnB,MAAO7+B,EAAM6+B,QAGfn+B,EAAO,gBAAiBs/B,GApB8C,qDAsBtEtvB,GAAY,EAAD,IAtB2D,6DA2BpEuvB,iBAtFQ,cAsFsC,8JAA3Bv/B,EAA2B,EAA3BA,OAAYw/B,EAAe,EAAfA,YAAe,kBAExBzyB,QAAItQ,IAAJ,gCAAiC+iC,IAFT,OAE1CC,EAF0C,OAIjC,GAAXl0B,IAAiB9N,QAAQqP,MAAM,oBAAsBE,KAAKC,UAAUwyB,IAExEz/B,EAAO,YAAay/B,GAN4B,qDAQjC,GAAXl0B,IAAiB9N,QAAQqP,MAAM,oCARa,6DAa9C4yB,yBAnGQ,YAmG2C,8KAAxB1/B,EAAwB,EAAxBA,OAAU0U,EAAc,+BAAJ,GAAI,SAEtC,GAAXnJ,IAAiB9N,QAAQqP,MAAM,WAAaE,KAAKC,UAAUyH,IAFV,SAGrB3H,QAAItQ,IAAJ,uCACEiY,EAAQirB,sBAJW,OAG/CnB,EAH+C,OAOtC,GAAXjzB,IACF9N,QAAQqP,MAAM,4BAA8BE,KAAKC,UAAUuxB,IAE7Dx+B,EAAO,oBAAqBw+B,GAVyB,qDAYrDxuB,GAAY,EAAD,IAZ0C,6DAiBnD4vB,4BApHQ,cAoHiD,8JAA3B5/B,EAA2B,EAA3BA,OAA2B,IAAf4M,cAAe,MAAN,GAAM,oBAErDG,QACHtQ,IADG,yDAC2D,CAAEmQ,WAChE7R,MAAK,SAAAyR,GAIJ,OAHe,GAAXjB,IACF9N,QAAQqP,MAAM,+BAAiCE,KAAKC,UAAUT,IAChExM,EAAO,wBAAyBwM,GACzBA,KARgD,0DAW3DwD,GAAY,EAAD,IAXgD,4DAgBzD6vB,yBApIQ,cAoI8C,8JAA3B7/B,EAA2B,EAA3BA,OAA2B,IAAf4M,cAAe,MAAN,GAAM,oBAElDG,QACHtQ,IADG,mDACqD,CAAEmQ,WAC1D7R,MAAK,SAAAyR,GAGJ,OAFe,GAAXjB,IAAiB9N,QAAQqP,MAAM,4BAA8BE,KAAKC,UAAUT,IAChFxM,EAAO,qBAAsBwM,GACtBA,KAP6C,0DAUxDwD,GAAY,EAAD,IAV6C,4DAetD8vB,aAnJQ,cAiKZ,2LAbEz+B,EAaF,EAbEA,SAEA+9B,EAWF,EAXEA,gBACAjT,EAUF,EAVEA,SACA/lB,EASF,EATEA,MACA8mB,EAQF,EAREA,OACA6S,EAOF,EAPEA,oBACAlsB,EAMF,EANEA,YACAmsB,EAKF,EALEA,oBACAC,EAIF,EAJEA,oBACAC,EAGF,EAHEA,eACAvwB,EAEF,EAFEA,KAEF,kBAEwB5C,QAAIZ,KAAJ,wBAAkC,CACtDizB,kBACAjT,WACA/lB,QACA8mB,SACA6S,sBACAlsB,cACAmsB,sBACAC,sBACAC,mBAXJ,OAEQrwB,EAFR,OAcsB,GAAhB,EAAKtE,SAAiB9N,QAAQqP,MAAM,WAAaE,KAAKC,UAAU4C,IAEhExO,QAAwBtF,GAAZsF,GAAuB5D,QAAQqP,MAAMzL,GAEjDwO,EAAQ2vB,YAAc,GACxBzvB,GAAc,kCACdJ,KAEAK,GAAY,kDAtBhB,qDAyBEA,GAAY,EAAD,IAzBb,6DA6BImwB,qBA9LQ,cA8LuD,gKAAxCngC,EAAwC,EAAxCA,OAAYw/B,EAA4B,EAA5BA,YAAa3rB,EAAe,EAAfA,YAAe,kBAEjC9G,QAAIZ,KAAJ,gCAA0C,CACxEqzB,cACA3rB,gBAJ+D,cAE3D2qB,EAF2D,OAOlD,GAAXjzB,IAAiB9N,QAAQqP,MAAM,qBAAuBE,KAAKC,UAAUuxB,IAEzEx+B,EAAO,oBAAqB,CAAEw+B,sBATmC,kBAU1DA,GAV0D,qCAYjExuB,GAAY,EAAD,IAZsD,6DAgB/DowB,kBA9MQ,cA8MoD,gKAAxCpgC,EAAwC,EAAxCA,OAAYw/B,EAA4B,EAA5BA,YAAa3rB,EAAe,EAAfA,YAAe,kBAEjC9G,QAAIZ,KAAJ,6BAAuC,CAClEqzB,cACA3rB,gBAJ4D,cAExD4qB,EAFwD,OAO/C,GAAXlzB,IAAiB9N,QAAQqP,MAAM,kBAAoBE,KAAKC,UAAUwxB,IAEtEz+B,EAAO,iBAAkB,CAAEy+B,mBATmC,kBAUvDA,GAVuD,qCAY9DzuB,GAAY,EAAD,IAZmD,6DAiB5DqwB,iBA/NQ,cA+NkE,+KAAvDh/B,EAAuD,EAAvDA,SAAcm+B,EAAyC,EAAzCA,YAAaplB,EAA4B,EAA5BA,KAAMxK,EAAsB,EAAtBA,aAAcD,EAAQ,EAARA,KAAQ,SAE5ElS,QAAQ6S,IAAI,0BAFgE,SAGtDvD,QAAIZ,KAAJ,4BAAsC,CAC1DqzB,cACA5vB,eACAwK,SAN0E,OAGtEvK,EAHsE,OASxD,GAAhB,EAAKtE,SAAiB9N,QAAQqP,MAAM,WAAaE,KAAKC,UAAU4C,IAEhExO,QAAwBtF,GAAZsF,GAAuB5D,QAAQqP,MAAMzL,GAEjDwO,EAAQywB,gBAAkB,GAC5BvwB,GAAc,6CACdJ,KAEAK,GAAY,sDAjB8D,qDAoB5EA,GAAY,EAAD,IApBiE,6DA0B1EuwB,gBAzPQ,cAyP8C,6KAApCl/B,EAAoC,EAApCA,SAAoC,IAAtBqT,eAAsB,MAAZ,GAAY,EAAR/E,EAAQ,EAARA,KAAQ,kBAElC5C,QAAIkN,IAAJ,wBAAiCvF,GAFC,OAElD7E,EAFkD,OAIpC,GAAhB,EAAKtE,SAAiB9N,QAAQqP,MAAM,WAAaE,KAAKC,UAAU4C,IAEhExO,QAAwBtF,GAAZsF,GAAuB5D,QAAQqP,MAAMzL,GAEjDwO,EAAQ2vB,YAAc,GACxBzvB,GAAc,wCACdJ,KAEAK,GAAY,iDAZ0C,qDAexDA,GAAY,EAAD,IAf6C,6DAoBtDwwB,wBA7QQ,cA6QsD,6KAApCn/B,EAAoC,EAApCA,SAAoC,IAAtBqT,eAAsB,MAAZ,GAAY,EAAR/E,EAAQ,EAARA,KAAQ,kBAE1C5C,QAAIkN,IAAJ,gCAAyCvF,GAFC,OAE1D7E,EAF0D,OAI5C,GAAhB,EAAKtE,SAAiB9N,QAAQqP,MAAM,WAAaE,KAAKC,UAAU4C,IAEhExO,QAAwBtF,GAAZsF,GAAuB5D,QAAQqP,MAAMzL,GAEjDwO,EAAQ8vB,oBAAsB,GAC5BjrB,EAAQ+rB,aAA6B1kC,GAAnB2Y,EAAQgsB,SAA0C,GAAlBhsB,EAAQ+rB,OAC5D1wB,GAAc,iDAEdA,GAAc,6DAEhBJ,KAEAK,GAAY,sEAhBkD,qDAmBhEA,GAAY,EAAD,IAnBqD,6DAwB9D2wB,qBArSQ,cAqSmD,6KAApCt/B,EAAoC,EAApCA,SAAoC,IAAtBqT,eAAsB,MAAZ,GAAY,EAAR/E,EAAQ,EAARA,KAAQ,kBAEvC5C,QAAIkN,IAAJ,6BAAsCvF,GAFC,OAEvD7E,EAFuD,OAIzC,GAAhB,EAAKtE,SAAiB9N,QAAQqP,MAAM,WAAaE,KAAKC,UAAU4C,IAEhExO,QAAwBtF,GAAZsF,GAAuB5D,QAAQqP,MAAMzL,GAEjDwO,EAAQ+wB,iBAAmB,GACzBlsB,EAAQ+rB,aAA6B1kC,GAAnB2Y,EAAQgsB,SAA0C,GAAlBhsB,EAAQ+rB,OAC5D1wB,GAAc,0DAEdA,GAAc,0DAEhBJ,KAEAK,GAAY,uDAhB+C,qDAmB7DA,GAAY,EAAD,IAnBkD,6DAwB3D6wB,oBA7TQ,cA6TkD,6KAApCx/B,EAAoC,EAApCA,SAAoC,IAAtBqT,eAAsB,MAAZ,GAAY,EAAR/E,EAAQ,EAARA,KAAQ,kBAEtC5C,QAAIkN,IAAJ,4BAAqCvF,GAFC,OAEtD7E,EAFsD,OAIxC,GAAhB,EAAKtE,SAAiB9N,QAAQqP,MAAM,WAAaE,KAAKC,UAAU4C,IAEhExO,QAAwBtF,GAAZsF,GAAuB5D,QAAQqP,MAAMzL,GAEjDwO,EAAQ2vB,YAAc,GACxBzvB,GAAc,6CACdJ,KAEAK,GAAY,sDAZ8C,qDAe5DA,GAAY,EAAD,IAfiD,6DAmB1D8wB,wBAhVQ,YAgV0C,kLAAxB9gC,EAAwB,EAAxBA,OAAU0U,EAAc,+BAAJ,GAC5CrF,EAAW,IAAIkK,SACrBlK,EAASmK,OAAO,OAAQ9E,EAAQ+E,MAFsB,SAK9C/a,EAL8C,+EAKiCgW,EAAQ8qB,YALzC,wCAKoF9qB,EAAQqsB,6BAL5F,SAMRh0B,QAAIZ,KAAKzN,EAAM2Q,EAAU,CACnE,eAAgB,wBAPkC,cAM9CqvB,EAN8C,OAUrC,GAAXnzB,IACF9N,QAAQqP,MACN,8CACEE,KAAKC,UAAUyxB,IAGrB1+B,EAAO,gCAAiC,CAAE0+B,kCAhBU,kBAiB7CA,GAjB6C,qCAmBpD1uB,GAAY,EAAD,IAnByC,6DAuBlDgxB,qBAvWQ,YAuWuC,kLAAxBhhC,EAAwB,EAAxBA,OAAU0U,EAAc,+BAAJ,GACzCrF,EAAW,IAAIkK,SACrBlK,EAASmK,OAAO,OAAQ9E,EAAQ+E,MAFmB,SAK3C/a,EAL2C,yEAK8BgW,EAAQ8qB,YALtC,qCAK8E9qB,EAAQusB,0BALtF,SAMRl0B,QAAIZ,KAAKzN,EAAM2Q,EAAU,CAChE,eAAgB,wBAP+B,OAM3C6xB,EAN2C,OAUlC,GAAX31B,IACF9N,QAAQqP,MACN,2CAA6CE,KAAKC,UAAUi0B,IAGhElhC,EAAO,OAAQ,CAAEkhC,+BAfgC,qDAiBjDlxB,GAAY,EAAD,IAjBsC,6DAsB/CmxB,kCA7XQ,YA6XoD,yLAAxBnhC,EAAwB,EAAxBA,OAAU0U,EAAc,+BAAJ,GACtDrF,EAAW,IAAIkK,SACrBlK,EAASmK,OAAO,OAAQ9E,EAAQ+E,MAFgC,SAKxD/a,EALwD,6EAKqBgW,EAAQirB,qBAL7B,SAOxB5yB,QAAIkN,IAAIvb,EAAM2Q,EAAU,CAC5D,eAAgB,wBAR4C,cAOxDmxB,EAPwD,OAW1C,GAAhB,EAAKj1B,SAAiB9N,QAAQqP,MAAM,WAAaE,KAAKC,UAAUuzB,IAEpExgC,EAAO,oBAAqB,CAAEwgC,4BAbgC,kBAcvDA,GAduD,qCAgB9DxwB,GAAY,EAAD,IAhBmD,6DAqB5DoxB,+BAlZQ,YAkZiD,yLAAxBphC,EAAwB,EAAxBA,OAAU0U,EAAc,+BAAJ,GACnDrF,EAAW,IAAIkK,SACrBlK,EAASmK,OAAO,OAAQ9E,EAAQ+E,MAF6B,SAKrD/a,EALqD,uEAKkBgW,EAAQksB,kBAL1B,SAOxB7zB,QAAIkN,IAAIvb,EAAM2Q,EAAU,CACzD,eAAgB,wBARyC,cAOrDsxB,EAPqD,OAWvC,GAAhB,EAAKp1B,SAAiB9N,QAAQqP,MAAM,WAAaE,KAAKC,UAAU0zB,IAEpE3gC,EAAO,iBAAkB,CAAE2gC,yBAbgC,kBAcpDA,GAdoD,qCAgB3D3wB,GAAY,EAAD,IAhBgD,6DAqBzDqxB,gBAvaQ,cAua6C,+KAAnChgC,EAAmC,EAAnCA,SAAcm+B,EAAqB,EAArBA,YAAa7vB,EAAQ,EAARA,KAAQ,SAEjDjR,EAFiD,gCAEjB8gC,EAFiB,+BAIjCzyB,QAAIyD,OAAO9R,GAJsB,OAIjDmR,EAJiD,OAMnC,GAAhB,EAAKtE,SAAiB9N,QAAQqP,MAAM,WAAaE,KAAKC,UAAU4C,IAEhExO,QAAwBtF,GAAZsF,GAAuB5D,QAAQqP,MAAMzL,GAE/CoP,EAAa/L,KAAKmL,EAAS,WAAW,IAEzB,IAAfY,GACFV,GAAc,wCACdJ,KAEAK,GAAY,gDAhByC,qDAmBvDA,GAAY,EAAD,IAnB4C,6DAuBrDsxB,oBA9bQ,cA8bqD,+KAAvCjgC,EAAuC,EAAvCA,SAAci/B,EAAyB,EAAzBA,gBAAiB3wB,EAAQ,EAARA,KAAQ,SAEzDjR,EAFyD,oCAErB4hC,EAFqB,+BAIzCvzB,QAAIyD,OAAO9R,GAJ8B,OAIzDmR,EAJyD,OAM3C,GAAhB,EAAKtE,SAAiB9N,QAAQqP,MAAM,WAAaE,KAAKC,UAAU4C,IAEhExO,QAAwBtF,GAAZsF,GAAuB5D,QAAQqP,MAAMzL,GAE/CoP,EAAa/L,KAAKmL,EAAS,WAAW,IAEzB,IAAfY,GACFV,GAAc,6CACdJ,KAEAK,GAAY,qDAhBiD,qDAmB/DA,GAAY,EAAD,IAnBoD,6DAuB7DuxB,qBArdQ,cAqduD,+KAAxClgC,EAAwC,EAAxCA,SAAcu/B,EAA0B,EAA1BA,iBAAkBjxB,EAAQ,EAARA,KAAQ,SAE3DjR,EAF2D,qCAEtBkiC,EAFsB,+BAI3C7zB,QAAIyD,OAAO9R,GAJgC,OAI3DmR,EAJ2D,OAM7C,GAAhB,EAAKtE,SAAiB9N,QAAQqP,MAAM,WAAaE,KAAKC,UAAU4C,IAEhExO,QAAwBtF,GAAZsF,GAAuB5D,QAAQqP,MAAMzL,GAE/CoP,EAAa/L,KAAKmL,EAAS,WAAW,IAEzB,IAAfY,GACFV,GAAc,8CACdJ,KAEAK,GAAY,sDAhBmD,qDAmBjEA,GAAY,EAAD,IAnBsD,6DAuB/DwxB,wBA5eQ,cA4e6D,+KAA3CngC,EAA2C,EAA3CA,SAAcs+B,EAA6B,EAA7BA,oBAAqBhwB,EAAQ,EAARA,KAAQ,SAEjEjR,EAFiE,wCAEzBihC,EAFyB,+BAIjD5yB,QAAIyD,OAAO9R,GAJsC,OAIjEmR,EAJiE,OAMnD,GAAhB,EAAKtE,SAAiB9N,QAAQqP,MAAM,WAAaE,KAAKC,UAAU4C,IAEhExO,QAAwBtF,GAAZsF,GAAuB5D,QAAQqP,MAAMzL,GAE/CoP,EAAa/L,KAAKmL,EAAS,WAAW,IAEzB,IAAfY,GACFV,GAAc,iDACdJ,KAEAK,GAAY,yDAhByD,qDAmBvEA,GAAY,EAAD,IAnB4D,8DAwBvE9P,GAAU,CACdk+B,cAAe,kBAAM9+B,GAAM8+B,eAC3BC,kBAAmB,kBAAM/+B,GAAM++B,mBAC/BC,cAAe,kBAAMh/B,GAAMg/B,eAC3BC,UAAW,kBAAMj/B,GAAMi/B,WACvBC,kBAAmB,kBAAMl/B,GAAMk/B,mBAC/BC,eAAgB,kBAAMn/B,GAAMm/B,gBAC5BE,sBAAuB,kBAAMr/B,GAAMq/B,uBACnCC,mBAAoB,kBAAMt/B,GAAMs/B,oBAChCF,8BAA+B,kBAAMp/B,GAAMo/B,+BAC3CP,MAAO,kBAAM7+B,GAAM6+B,QAGRsB,GAAY,CACvBtiB,YAAY,EACZ7d,SACAG,aACAK,WACAI,YC/kBFjB,OAAIC,IAAIC,QACD,IAAMsiC,GAAM,IAAItiC,OAAKE,MAAM,CAChC8d,YAAY,EACZ7d,MAAO,CACLyJ,WAAYuF,OAAYhP,MAAMyJ,YAEhCtJ,UAAW,GACXK,QAAS,CACP4hC,OADO,WACW34B,GAAY,IAArBzJ,EAAqB,EAArBA,MACPA,EAAMyJ,WAAaA,IAGvB7I,QAAS,KAGXoO,OAAYpN,WAAU,SAACiE,EAAU7F,GAC/B,IAAM6B,EAAQgE,EAASlL,KAEvB,GAAc,qBAAVkH,EAA8B,CAChC,IAAM4H,EAAazJ,EAAMyJ,WACzB04B,GAAIpgC,SAAS,SAAU0H,OC5C3B,IAAMwC,IAAU,EAEhB,SAASyE,GAAYjX,GACnBolB,QAAMjQ,KAAK,CACTkQ,SAAU,IACVviB,QAAS9C,EAAE8C,SAAW9C,EACtBsH,SAAU,YACVpG,KAAM,cAIV,IAAMqF,GAAQ,CACZqiC,iBAAkB,EAClBC,yBAA0B,EAC1BC,yBAA0B,EAC1BC,iBAAkB,GAClBC,qBAAsB,GACtBC,kBAAmB,GACnBC,sBAAuB,GACvBC,0BAA2B,GAC3BC,8BAA+B,IAG3B1iC,GAAY,CAChBud,KADgB,SACX1d,EAAOoV,GACV,IAAK,IAAIuI,KAAQvI,EACfpV,EAAM2d,GAAQvI,EAAQuI,IAG1BmlB,OANgB,SAMT9iC,EAAOoV,GACZ,IAAK,IAAMvX,KAAOuX,EAChBpV,EAAMnC,GAAOuX,EAAQvX,KAKrB2C,GAAU,CAERsiC,OAFQ,WAEW1tB,GAAS,mJAAnB1U,EAAmB,EAAnBA,OACbA,EAAO,SAAU0U,GADe,8CAI5B2tB,aANQ,cAM+B,uJAAxBriC,EAAwB,EAAxBA,OAAYmsB,EAAY,EAAZA,SAC/B,KACkB,IAAZ5gB,IAAkB9N,QAAQqP,MAAM,gBAAkBqf,GAEhDwV,EAAmBxV,EACzBnsB,EAAO,OAAQ,CAAE2hC,qBACjB,MAAO5oC,GACPiX,GAAYjX,GAP6B,8CAWvCupC,cAjBQ,cAiBgD,2JAAxCtiC,EAAwC,EAAxCA,OAAYuiC,EAA4B,EAA5BA,UAAWC,EAAiB,EAAjBA,cAC3C,KACkB,IAAZj3B,IACF9N,QAAQqP,MACN,iBACEE,KAAKC,UAAUs1B,GACf,mBACAv1B,KAAKC,UAAUu1B,IAGfR,EAAoBO,EACpBN,EAAwBO,EAE9BxiC,EAAO,OAAQ,CAAEgiC,sBACjBhiC,EAAO,OAAQ,CAAEiiC,0BACjB,MAAOlpC,GACPiX,GAAYjX,GAhB8C,8CAoBxD0pC,qBArCQ,cAqC0C,uJAA3BziC,EAA2B,EAA3BA,OAAYugB,EAAe,EAAfA,YACvC,KACkB,IAAZhV,IAAkB9N,QAAQqP,MAAM,wBAA0ByT,GAExDqhB,EAA2BrhB,EACjCvgB,EAAO,OAAQ,CAAE4hC,6BACjB,MAAO7oC,GACPiX,GAAYjX,GAPwC,8CAUlD2pC,qBA/CQ,cA+C0C,uJAA3B1iC,EAA2B,EAA3BA,OAAYugB,EAAe,EAAfA,YACvC,KACkB,IAAZhV,IAAkB9N,QAAQqP,MAAM,wBAA0ByT,GAExDshB,EAA2BthB,EACjCvgB,EAAO,OAAQ,CAAE6hC,6BACjB,MAAO9oC,GACPiX,GAAYjX,GAPwC,8CAUlD4pC,aAzDQ,cAyD6C,2JAAtC3iC,EAAsC,EAAtCA,OAAY4iC,EAA0B,EAA1BA,SAAUC,EAAgB,EAAhBA,aACzC,KACkB,IAAZt3B,IACF9N,QAAQqP,MACN,gBACEE,KAAKC,UAAU21B,GACf,kBACA51B,KAAKC,UAAU41B,IAGff,EAAmBc,EACnBb,EAAuBc,EAC7B7iC,EAAO,OAAQ,CAAE8hC,qBACjB9hC,EAAO,OAAQ,CAAE+hC,yBACjB,MAAOhpC,GACPiX,GAAYjX,GAf2C,8CAkBrD+pC,sBA3EQ,cA2EwE,2JAAxD9iC,EAAwD,EAAxDA,OAAY+iC,EAA4C,EAA5CA,kBAAmBC,EAAyB,EAAzBA,sBAC3D,KACkB,IAAZz3B,IACF9N,QAAQqP,MAAM,yBAA2BE,KAAKC,UAAU81B,GAAqB,MAEzEb,EAA4Ba,EAC5BZ,EAAgCa,EAEtChjC,EAAO,OAAQ,CAAEkiC,8BACjBliC,EAAO,OAAQ,CAAEmiC,kCACjB,MAAOppC,GACPiX,GAAYjX,GAXsE,+CAgBlFmH,GAAU,CACdyhC,iBAAkB,kBAAMriC,GAAMqiC,kBAC9BC,yBAA0B,kBAAMtiC,GAAMsiC,0BACtCC,yBAA0B,kBAAMviC,GAAMuiC,0BACtCC,iBAAkB,kBAAMxiC,GAAMwiC,kBAC9BC,qBAAsB,kBAAMziC,GAAMyiC,sBAClCC,kBAAmB,kBAAM1iC,GAAM0iC,mBAC/BC,sBAAuB,kBAAM3iC,GAAM2iC,uBACnCC,0BAA2B,kBAAM5iC,GAAM4iC,2BACvCC,8BAA+B,kBAAM7iC,GAAM6iC,gCAGhCc,GAAe,CAC1B9lB,YAAY,EACZ7d,SACAG,aACAK,WACAI,YChJIZ,GAAQ,CACZ4jC,qBAAqB,EACrBC,aAAc,GACdC,WAAY,GACZC,oBAAoB,EACpBC,qBAAqB,EACrBC,sBAAsB,EACtBC,sBAAsB,EACtBC,cAAc,EACdC,SAAS,EACTC,WAAY,KACZC,cAAe,EACfC,YAAa,GACbC,aAAc,GACdC,WAAY,GACZC,oBAAqB,GACrBC,uBAAwB,EACxBC,uBAAwB,GACxBC,yBAA0B,GAC1BC,YAAa,GACbC,aAAc,GACdC,yBAA0B,GAC1BC,SAAU,IAGN9kC,GAAY,CAChBud,KADgB,SACX1d,EAAOoV,GACV,IAAK,IAAIuI,KAAQvI,EACfpV,EAAM2d,GAAQvI,EAAQuI,IAG1BmlB,OANgB,SAMT9iC,EAAOoV,GACZ,IAAK,IAAMvX,KAAOuX,EAChBpV,EAAMnC,GAAOuX,EAAQvX,KAKrB2C,GAAU,CAERsiC,OAFQ,WAEW1tB,GAAS,mJAAnB1U,EAAmB,EAAnBA,OACbA,EAAO,SAAU0U,GADe,8CAI5B8vB,WANQ,YAMe,+LAAVxkC,EAAU,EAAVA,OACjB,IACEvC,QAAQqP,MAAM,oBACR82B,EAAgB,EAChBV,GAAsB,EACtBG,GAAqB,EACrBC,GAAsB,EACtBC,GAAuB,EACvBE,GAAe,EACfC,GAAU,EACVP,EAAe,GACfC,EAAa,GACbS,EAAc,GACdE,EAAa,GACbP,GAAuB,EACvBG,EAAa,KACbG,EAAe,GACfE,EAAsB,GACtBC,EAAyB,EACzBI,EAAe,GACfH,EAAyB,GACzBC,EAA2B,GAC3BC,EAAc,GACdE,EAA2B,GAC3BC,EAAW,GAEjBvkC,EAAO,OAAQ,CAAE4jC,kBACjB5jC,EAAO,OAAQ,CAAEkjC,wBACjBljC,EAAO,OAAQ,CAAEqjC,uBACjBrjC,EAAO,OAAQ,CAAEsjC,wBACjBtjC,EAAO,OAAQ,CAAEujC,yBACjBvjC,EAAO,OAAQ,CAAEmjC,iBACjBnjC,EAAO,OAAQ,CAAEojC,eACjBpjC,EAAO,OAAQ,CAAEwjC,yBACjBxjC,EAAO,OAAQ,CAAE2jC,eACjB3jC,EAAO,OAAQ,CAAE6jC,gBACjB7jC,EAAO,OAAQ,CAAE+jC,eACjB/jC,EAAO,OAAQ,CAAE8jC,iBACjB9jC,EAAO,OAAQ,CAAEgkC,wBACjBhkC,EAAO,OAAQ,CAAEikC,2BACjBjkC,EAAO,OAAQ,CAAEqkC,iBACjBrkC,EAAO,OAAQ,CAAEkkC,2BACjBlkC,EAAO,OAAQ,CAAEmkC,6BACjBnkC,EAAO,OAAQ,CAAEokC,gBACjBpkC,EAAO,OAAQ,CAAEskC,6BACjBtkC,EAAO,OAAQ,CAAEyjC,iBACjBzjC,EAAO,OAAQ,CAAE0jC,YACjB1jC,EAAO,OAAQ,CAAEukC,aACjB,MAAOxrC,GACPiX,gBAAYjX,GAjDa,8CAqDvB0rC,kBA3DQ,cA2DyC,qJAA7BzkC,EAA6B,EAA7BA,OAAY4jC,EAAiB,EAAjBA,cACpC,IACE5jC,EAAO,OAAQ,CAAE4jC,kBACjB,MAAO7qC,GACPiX,gBAAYjX,GAJuC,8CAQjD2rC,wBAnEQ,cAmEqD,qJAAnC1kC,EAAmC,EAAnCA,OAAYkjC,EAAuB,EAAvBA,oBAC1C,IACEljC,EAAO,OAAQ,CAAEkjC,wBACjB,MAAOnqC,GACPiX,gBAAYjX,GAJmD,8CAQ7D4rC,yBA3EQ,cA2EuD,qJAApC3kC,EAAoC,EAApCA,OAAYujC,EAAwB,EAAxBA,qBAC3C,IACEvjC,EAAO,OAAQ,CAAEujC,yBACjB,MAAOxqC,GACPiX,gBAAYjX,GAJqD,8CAQ/D6rC,uBAnFQ,cAmFmD,qJAAlC5kC,EAAkC,EAAlCA,OAAYqjC,EAAsB,EAAtBA,mBACzC,IACErjC,EAAO,OAAQ,CAAEqjC,uBACjB,MAAOtqC,GACPiX,gBAAYjX,GAJiD,8CAQ3D8rC,wBA3FQ,cA2FqD,qJAAnC7kC,EAAmC,EAAnCA,OAAYsjC,EAAuB,EAAvBA,oBAC1C,IACEtjC,EAAO,OAAQ,CAAEsjC,wBACjB,MAAOvqC,GACPiX,gBAAYjX,GAJmD,8CAQ7D+rC,iBAnGQ,cAmGuC,qJAA5B9kC,EAA4B,EAA5BA,OAAYqkC,EAAgB,EAAhBA,aACnC,IACErkC,EAAO,OAAQ,CAAEqkC,iBACjB,MAAOtrC,GACPiX,gBAAYjX,GAJqC,8CAQ/CgsC,mBA3GQ,cA2GmD,qJAAtC/kC,EAAsC,EAAtCA,OAAYkkC,EAA0B,EAA1BA,uBACrC,IACElkC,EAAO,OAAQ,CAAEkkC,2BACjB,MAAOnrC,GACPiX,gBAAYjX,GAJiD,8CAQ3DisC,qBAnHQ,cAmHuD,qJAAxChlC,EAAwC,EAAxCA,OAAYmkC,EAA4B,EAA5BA,yBACvC,IACEnkC,EAAO,OAAQ,CAAEmkC,6BACjB,MAAOprC,GACPiX,gBAAYjX,GAJqD,8CAQ/DksC,iBA3HQ,cA2HuC,qJAA5BjlC,EAA4B,EAA5BA,OAAYmjC,EAAgB,EAAhBA,aACnC,IACEnjC,EAAO,OAAQ,CAAEmjC,iBACjB,MAAOpqC,GACPiX,gBAAYjX,GAJqC,8CAQ/CmsC,gBAnIQ,cAmIqC,qJAA3BllC,EAA2B,EAA3BA,OAAYokC,EAAe,EAAfA,YAClC,IACEpkC,EAAO,OAAQ,CAAEokC,gBACjB,MAAOrrC,GACPiX,gBAAYjX,GAJmC,8CAQ7CosC,gBA3IQ,cA2IkD,qJAAxCnlC,EAAwC,EAAxCA,OAAYskC,EAA4B,EAA5BA,yBAClC,IACEtkC,EAAO,OAAQ,CAAEskC,6BACjB,MAAOvrC,GACPiX,gBAAYjX,GAJgD,8CAQ1DqsC,eAnJQ,cAmJmC,qJAA1BplC,EAA0B,EAA1BA,OAAYojC,EAAc,EAAdA,WACjC,IACEpjC,EAAO,OAAQ,CAAEojC,eACjB,MAAOrqC,GACPiX,gBAAYjX,GAJiC,8CAQ3CssC,yBA3JQ,cA2JuD,qJAApCrlC,EAAoC,EAApCA,OAAYwjC,EAAwB,EAAxBA,qBAC3C,IACExjC,EAAO,OAAQ,CAAEwjC,yBACjB,MAAOzqC,GACPiX,gBAAYjX,GAJqD,8CAQ/DusC,mBAnKQ,cAmKuC,qJAA1BtlC,EAA0B,EAA1BA,OAAY2jC,EAAc,EAAdA,WACrC,IACE3jC,EAAO,OAAQ,CAAE2jC,eACjB,MAAO5qC,GACPiX,gBAAYjX,GAJqC,8CAQ/CwsC,oBA3KQ,cA2KyC,qJAA3BvlC,EAA2B,EAA3BA,OAAY6jC,EAAe,EAAfA,YACtC,IACE7jC,EAAO,OAAQ,CAAE6jC,gBACjB,MAAO9qC,GACPiX,gBAAYjX,GAJuC,8CAQjDysC,qBAnLQ,cAmL2C,qJAA5BxlC,EAA4B,EAA5BA,OAAY8jC,EAAgB,EAAhBA,aACvC,IACE9jC,EAAO,OAAQ,CAAE8jC,iBACjB,MAAO/qC,GACPiX,gBAAYjX,GAJyC,8CAQnD0sC,mBA3LQ,cA2LuC,qJAA1BzlC,EAA0B,EAA1BA,OAAY+jC,EAAc,EAAdA,WACrC,IACE/jC,EAAO,OAAQ,CAAE+jC,eACjB,MAAOhrC,GACPiX,gBAAYjX,GAJqC,8CAQ/C2sC,qBAnMQ,cAmMkD,qJAAnC1lC,EAAmC,EAAnCA,OAAYgkC,EAAuB,EAAvBA,oBACvC,IACEhkC,EAAO,OAAQ,CAAEgkC,wBACjB,MAAOjrC,GACPiX,gBAAYjX,GAJgD,8CAQ1D4sC,2BA3MQ,cA2M2D,qJAAtC3lC,EAAsC,EAAtCA,OAAYikC,EAA0B,EAA1BA,uBAC7C,IACEjkC,EAAO,OAAQ,CAAEikC,2BACjB,MAAOlrC,GACPiX,gBAAYjX,GAJyD,8CAQnE6sC,iBAnNQ,cAmNuC,qJAA5B5lC,EAA4B,EAA5BA,OAAYyjC,EAAgB,EAAhBA,aACnC,IACEzjC,EAAO,OAAQ,CAAEyjC,iBACjB,MAAO1qC,GACPiX,gBAAYjX,GAJqC,8CAQ/C8sC,YA3NQ,cA2N6B,qJAAvB7lC,EAAuB,EAAvBA,OAAY0jC,EAAW,EAAXA,QAC9B,IACE1jC,EAAO,OAAQ,CAAE0jC,YACjB,MAAO3qC,GACPiX,gBAAYjX,GAJ2B,8CAQrC+sC,aAnOQ,cAmO+B,qJAAxB9lC,EAAwB,EAAxBA,OAAYukC,EAAY,EAAZA,SAC/B,IACEvkC,EAAO,OAAQ,CAAEukC,aACjB,MAAOxrC,GACPiX,gBAAYjX,GAJ6B,+CASzCmH,GAAU,CACdgjC,oBAAqB,kBAAM5jC,GAAM4jC,qBACjCG,mBAAoB,kBAAM/jC,GAAM+jC,oBAChCC,oBAAqB,kBAAMhkC,GAAMgkC,qBACjCC,qBAAsB,kBAAMjkC,GAAMikC,sBAClCE,aAAc,kBAAMnkC,GAAMmkC,cAC1BC,QAAS,kBAAMpkC,GAAMokC,SACrBP,aAAc,kBAAM7jC,GAAM6jC,cAC1BC,WAAY,kBAAM9jC,GAAM8jC,YACxBI,qBAAsB,kBAAMlkC,GAAMkkC,sBAClCG,WAAY,kBAAMrkC,GAAMqkC,YACxBC,cAAe,kBAAMtkC,GAAMskC,eAC3BC,YAAa,kBAAMvkC,GAAMukC,aACzBC,aAAc,kBAAMxkC,GAAMwkC,cAC1BC,WAAY,kBAAMzkC,GAAMykC,YACxBC,oBAAqB,kBAAM1kC,GAAM0kC,qBACjCC,uBAAwB,kBAAM3kC,GAAM2kC,wBACpCC,uBAAwB,kBAAM5kC,GAAM4kC,wBACpCC,yBAA0B,kBAAM7kC,GAAM6kC,0BACtCC,YAAa,kBAAM9kC,GAAM8kC,aACzBC,aAAc,kBAAM/kC,GAAM+kC,cAC1BE,SAAU,kBAAMjlC,GAAMilC,UACtBD,yBAA0B,kBAAMhlC,GAAMglC,2BAG3ByB,GAAgB,CAC3B5oB,YAAY,EACZ7d,SACAG,aACAK,WACAI,YChTIZ,GAAQ,CACZ0mC,UAAW,EACXC,mBAAoB,EACpBvhB,UAAW,GACXC,QAAS,IAGLllB,GAAY,CAChBud,KADgB,SACX1d,EAAOoV,GACV,IAAK,IAAIuI,KAAQvI,EACfpV,EAAM2d,GAAQvI,EAAQuI,IAG1BmlB,OANgB,SAMT9iC,EAAOoV,GACZ,IAAK,IAAMvX,KAAOuX,EAChBpV,EAAMnC,GAAOuX,EAAQvX,KAKrB2C,GAAU,CAERsiC,OAFQ,WAEW1tB,GAAS,mJAAnB1U,EAAmB,EAAnBA,OACbA,EAAO,SAAU0U,GADe,8CAI5B8vB,WANQ,YAMe,2JAAVxkC,EAAU,EAAVA,OACjB,IACEvC,QAAQqP,MAAM,oBACRk5B,EAAY,EACZC,EAAqB,EACrBvhB,EAAY,GACZC,EAAU,GAEhB3kB,EAAO,OAAQ,CAAEgmC,cACjBhmC,EAAO,OAAQ,CAAEimC,uBACjBjmC,EAAO,OAAQ,CAAE0kB,cACjB1kB,EAAO,OAAQ,CAAE2kB,YACjB,MAAO5rB,GACPiX,gBAAYjX,GAba,8CAiBvBmtC,cAvBQ,cAuBiC,qJAAzBlmC,EAAyB,EAAzBA,OAAYgmC,EAAa,EAAbA,UAChC,IACEhmC,EAAO,OAAQ,CAAEgmC,cACjB,MAAOjtC,GACPiX,gBAAYjX,GAJ+B,8CAQzCotC,uBA/BQ,cA+BmD,qJAAlCnmC,EAAkC,EAAlCA,OAAYimC,EAAsB,EAAtBA,mBACzC,IACEjmC,EAAO,OAAQ,CAAEimC,uBACjB,MAAOltC,GACPiX,gBAAYjX,GAJiD,8CAQ3DqtC,cAvCQ,cAuCiC,qJAAzBpmC,EAAyB,EAAzBA,OAAY0kB,EAAa,EAAbA,UAChC,IACE1kB,EAAO,OAAQ,CAAE0kB,cACjB,MAAO3rB,GACPiX,gBAAYjX,GAJ+B,8CAQzCstC,YA/CQ,cA+C6B,qJAAvBrmC,EAAuB,EAAvBA,OAAY2kB,EAAW,EAAXA,QAC9B,IACE3kB,EAAO,OAAQ,CAAE2kB,YACjB,MAAO5rB,GACPiX,gBAAYjX,GAJ2B,+CASvCmH,GAAU,CACd8lC,UAAW,kBAAM1mC,GAAM0mC,WACvBC,mBAAoB,kBAAM3mC,GAAM2mC,oBAChCvhB,UAAW,kBAAMplB,GAAMolB,WACvBC,QAAS,kBAAMrlB,GAAMqlB,UAGV2hB,GAAU,CACrBnpB,YAAY,EACZ7d,SACAG,aACAK,WACAI,YC9EFjB,OAAIC,IAAIC,QACO,WAAIA,OAAKE,MAAM,CAC5Ba,QAAS,CACPwB,MAAO,kBAAMA,mBACb6kC,WAAY,kBAAMC,UAEpB9uC,YCVa,YAACkL,EAAIwL,EAAMq4B,GACxB,IAAM7gC,EAAW8gC,GAAMxmC,QAAQ,iBAI/BzC,QAAQ6S,IAAI,CAAE1K,aAEVA,EACF6gC,IAEAA,EAAK,CACH/nC,KAAM,UACNioC,MAAO,CACLC,QAAShkC,EAAG2Q,aCnBL,IACb,CACE7U,KAAM,UACN5C,KAAM,SACNyF,UAAW,kBAAM,uFAEnB,CACE7C,KAAM,qBACN5C,KAAM,oBACNyF,UAAW,kBAAM,uFAGnB,CACE7C,KAAM,gBACN5C,KAAM,eACNyF,UAAW,kBAAM,kDAGnB,CACE7C,KAAM,WACN5C,KAAM,UACNyF,UAAW,kBAAM,kDAGnB,CACE7C,KAAM,gBACN5C,KAAM,eACNyF,UAAW,kBAAM,kDAGnB,CACE7C,KAAM,iBACN5C,KAAM,gBACNyF,UAAW,kBAAM,kDAKnB,CACEslC,YAAaC,GACbpoC,KAAM,YACN5C,KAAM,WACNyF,UAAW,kBAAM,mKAGnB,CACEslC,YAAaC,GACbpoC,KAAM,WACN5C,KAAM,UACNyF,UAAW,kBAAM,mKAGnB,CACE7C,KAAM,yBACN5C,KAAM,iBACNyF,UAAW,kBAAM,mKAGnB,CACE7C,KAAM,iBACN5C,KAAM,gBACNyF,UAAW,kBAAM,mKAGnB,CACE7C,KAAM,qBACN5C,KAAM,gBACNyF,UAAW,kBAAM,mKAGnB,CACE7C,KAAM,4BACN5C,KAAM,2BACNyF,UAAW,kBAAM,kDAEnB,CACE7C,KAAM,kCACN5C,KAAM,2BACNyF,UAAW,kBAAM,kDAEnB,CACE7C,KAAM,kBACN5C,KAAM,iBACNyF,UAAW,kBAAM,kDAEnB,CACE7C,KAAM,qBACN5C,KAAM,oBACNyF,UAAW,kBAAM,kDAEnB,CACE7C,KAAM,gBACN5C,KAAM,oBACNyF,UAAW,kBAAM,kDAEnB,CACE7C,KAAM,wBACN5C,KAAM,uBACNyF,UAAW,kBAAM,kDAEnB,CACE7C,KAAM,sBACN5C,KAAM,iBACNyF,UAAW,kBAAM,kDAEnB,CACE7C,KAAM,qBACN5C,KAAM,oBACN+qC,YAAaC,GACbvlC,UAAW,kBAAM,mDC/GjB,GAAS,WAAa,IAAIxD,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAQF,EAAa,UAAEI,EAAG,MAAM,CAACG,YAAY,kCAAkCD,MAAM,CAAC,WAAW,sBAAsB,CAACF,EAAG,MAAM,CAACG,YAAY,aAAa,CAACH,EAAG,KAAK,CAACJ,EAAIiF,GAAGjF,EAAIkF,GAAGlF,EAAIkL,GAAG,oBAAoB9K,EAAG,aAAa,CAACE,MAAM,CAAC,KAAO,OAAO,KAAO,SAAS,OAAS,KAAK,CAAEN,EAAY,SAAEI,EAAG,IAAI,CAACJ,EAAIiF,GAAG,IAAIjF,EAAIkF,GAAGlF,EAAIkL,GAAG,iBAAkB,CAAEnN,KAAMiC,EAAI6H,SAAS9J,QAAS,OAAOqC,EAAG,IAAI,CAACJ,EAAIiF,GAAGjF,EAAIkF,GAAGlF,EAAIkL,GAAG,2BAA2B,GAAIlL,EAAY,SAAEI,EAAG,MAAM,CAACG,YAAY,QAAQP,EAAI0E,GAAI1E,EAAY,UAAE,SAASgpC,EAAQpkC,GAAO,OAAOxE,EAAG,MAAM,CAAChB,IAAIwF,EAAMrE,YAAY,iBAAiBC,MAAM,CAC/pBiC,QAAS,OACTwmC,aAAc,OACdjkC,QAAS,OACT0E,eAAgB,kBACd,CAACtJ,EAAG,MAAM,CAACA,EAAG,MAAM,CAACG,YAAY,YAAYyL,SAAS,CAAC,UAAYhM,EAAIkF,GAAG8jC,EAAQE,4BAA2B,GAAGlpC,EAAIc,KAAMd,EAAI6H,UAAY7H,EAAI6H,SAAS9J,WAA6BC,GAArBgC,EAAI6H,SAAS9J,KAAmBqC,EAAG,MAAM,CAACG,YAAY,kCAAkCD,MAAM,CAAC,WAAW,gCAAgC,CAACF,EAAG,MAAM,CAACG,YAAY,aAAa,CAACH,EAAG,MAAM,CAACG,YAAY,uBAAuBC,MAAOR,EAAIgB,OAAqB,gBAAG,CAACZ,EAAG,OAAO,CAACE,MAAM,CAAC,KAAON,EAAImpC,WAAW/oC,EAAG,OAAO,CAACE,MAAM,CAAC,KAAON,EAAIopC,kBAAkBhpC,EAAG,OAAO,CAACE,MAAM,CAAC,KAAON,EAAIqpC,uBAAuB,OAAOrpC,EAAIc,OAAOd,EAAIc,MACtkB,GAAkB,G,oDCIhB0M,IAAU,EAGVzL,GAAU,CAORunC,2BAPQ,cAOiD,+KAAxBjhC,EAAwB,EAAxBA,MAAOkhC,EAAiB,EAAjBA,cAC5C7pC,QAAQ6S,IAAI,mCAAqClK,QAEnCrK,IAAVqK,EAHyD,wBAIvD1H,EAJuD,iBAItC0H,QACCrK,IAAlBurC,GAA+BA,IACjC5oC,GAAc,kBAAH,OAAqB4oC,IANyB,kBAUnCv6B,QAAItQ,IAAJ,wDAAyDiC,IAVtB,cAUnDmR,EAVmD,OAY1C,GAAXtE,IACF9N,QAAQqP,MAAM,kCAAoCE,KAAKC,UAAU4C,IAbV,kBAelD,CACLhC,KAAMgC,EAAQA,UAhByC,qCAmBzDI,gBAAc,0DACdxS,QAAQjC,MAAR,MApByD,iCAwBtD,CACLqS,KAAM,KAzBqD,6DA6BzD05B,2BApCQ,cAoCkE,+KAA7ClmC,EAA6C,EAA7CA,SAAcmmC,EAA+B,EAA/BA,sBAAuB73B,EAAQ,EAARA,KAAQ,SAEtEjR,EAFsE,oDAElB8oC,EAFkB,+BAItDz6B,QAAIyD,OAAO9R,GAJ2C,OAItEmR,EAJsE,OAMxD,GAAhB,EAAKtE,SAAiB9N,QAAQqP,MAAM,WAAaE,KAAKC,UAAU4C,IAEhExO,QAAwBtF,GAAZsF,GAAuB5D,QAAQqP,MAAMzL,GAE/CoP,EAAa/L,KAAKmL,EAAS,WAAW,IAEzB,IAAfY,GACFV,gBAAc,kDACdJ,KAEAK,gBAAY,0DAhB8D,qDAmB5EC,gBAAc,0DACdxS,QAAQjC,MAAR,MApB4E,6DAwB1EisC,uBA5DQ,cA4DgD,2KAA/BpmC,EAA+B,EAA/BA,SAAcqT,EAAiB,EAAjBA,QAAS/E,EAAQ,EAARA,KACrC,GAAXpE,IAAiB9N,QAAQqP,MAAM,gCADyB,kBAGpCC,QAAIZ,KAAJ,4CAAsD,CAC1E/F,MAAOsO,EAAQtO,MACf6gC,iBAAkBvyB,EAAQuyB,iBAC1BS,YAAahzB,EAAQgzB,YACrB3T,eAAgBrf,EAAQqf,iBAPgC,OAGpDlkB,EAHoD,OAUtC,GAAhB,EAAKtE,SAAiB9N,QAAQqP,MAAM,WAAaE,KAAKC,UAAU4C,IAEhExO,QAAwBtF,GAAZsF,GAAuB5D,QAAQqP,MAAMzL,GAEjDwO,EAAQ23B,sBAAwB,GAClCz3B,gBAAc,gDACdJ,KAEAK,gBAAY,yDAlB4C,qDAqB1DA,gBAAY,yDACZvS,QAAQjC,MAAR,MAtB0D,6DA0BxDmsC,0BAtFQ,cAsFwD,6KAApCtmC,EAAoC,EAApCA,SAAoC,IAAtBqT,eAAsB,MAAZ,GAAY,EAAR/E,EAAQ,EAARA,KAC7C,GAAXpE,IAAiB9N,QAAQqP,MAAM,mCADiC,kBAG5CC,QAAIkN,IAAJ,4CAAqDvF,GAHT,OAG5D7E,EAH4D,OAK9C,GAAhB,EAAKtE,SAAiB9N,QAAQqP,MAAM,WAAaE,KAAKC,UAAU4C,IAEhExO,QAAwBtF,GAAZsF,GAAuB5D,QAAQqP,MAAMzL,GAEjDwO,EAAQ23B,sBAAwB,GAClCz3B,gBAAc,mDACdJ,KAEAK,gBAAY,2DAboD,qDAgBlEA,gBAAY,4EACZvS,QAAQjC,MAAR,MAjBkE,8DAuBxEyD,OAAIC,IAAIC,QACD,IAAMyoC,GAA2B,IAAIzoC,OAAKE,MAAM,CACrDC,MAAO,GACPG,UAAW,GACXS,QAAS,GACTJ,aC/HE,GAAS,WAAa,IAAI/B,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACG,YAAY,sBAAsBC,MAAOR,EAAI8pC,QAAY,MAAG,CAAC1pC,EAAG,MAAM,CAACG,YAAY,+BAA+BC,MAAOR,EAAI8pC,QAAiB,WAAG,CAAC1pC,EAAG,MAAM,CAACA,EAAG,IAAI,CAACyD,MAAO,QAAW7D,EAAIpH,KAAS,KAAG4N,YAAY,CAAC,MAAQ,OAAO,OAAS,YAAYpG,EAAG,KAAK,CAACG,YAAY,iDAAiD,CAACP,EAAIiF,GAAGjF,EAAIkF,GAAGlF,EAAIpH,KAAKi0B,UAAUzsB,EAAG,KAAK,CAACG,YAAY,aAAa,CAACP,EAAIiF,GAAGjF,EAAIkF,GAAGlF,EAAIpH,KAAKmxC,aAAc/pC,EAAIpH,KAAuB,mBAAEwH,EAAG,MAAM,CAACI,MAAOR,EAAI8pC,QAA0B,oBAAG,CAAC1pC,EAAG,MAAM,CAACG,YAAY,8BAA8B,CAAEP,EAAIpH,KAAKoxC,mBAAiC,eAAE5pC,EAAG,MAAM,CAACG,YAAY,+BAA+B,CAACH,EAAG,KAAK,CAACG,YAAY,qDAAqD,CAACP,EAAIiF,GAAG,IAAIjF,EAAIkF,GAAGlF,EAAIuI,GAAG,WAAPvI,CAAmBA,EAAIpH,KAAKoxC,mBAAmBC,iBAAiB,OAAO7pC,EAAG,KAAK,CAACG,YAAY,2DAA2D,CAACP,EAAIiF,GAAG,iCAAiC7E,EAAG,MAAM,CAACG,YAAY,+BAA+B,CAACH,EAAG,KAAK,CAACG,YAAY,qDAAqD,CAACP,EAAIiF,GAAG,IAAIjF,EAAIkF,GAAGlF,EAAIuI,GAAG,WAAPvI,CAAmB,IAAI,OAAOI,EAAG,KAAK,CAACG,YAAY,2DAA2D,CAACP,EAAIiF,GAAG,iCAAkCjF,EAAIpH,KAAKoxC,mBAAsC,oBAAE5pC,EAAG,MAAM,CAACG,YAAY,+BAA+B,CAACH,EAAG,KAAK,CAACG,YAAY,qDAAqD,CAACP,EAAIiF,GAAG,IAAIjF,EAAIkF,GAAGlF,EAAIuI,GAAG,WAAPvI,CAAmBA,EAAIpH,KAAKoxC,mBAAmBE,sBAAsB,OAAO9pC,EAAG,KAAK,CAACG,YAAY,2DAA2D,CAACP,EAAIiF,GAAG,+BAA+B7E,EAAG,MAAM,CAACG,YAAY,+BAA+B,CAACH,EAAG,KAAK,CAACG,YAAY,qDAAqD,CAACP,EAAIiF,GAAG,IAAIjF,EAAIkF,GAAGlF,EAAIuI,GAAG,WAAPvI,CAAmB,IAAI,OAAOI,EAAG,KAAK,CAACG,YAAY,2DAA2D,CAACP,EAAIiF,GAAG,+BAAgCjF,EAAIpH,KAAKoxC,mBAAoC,kBAAE5pC,EAAG,MAAM,CAACG,YAAY,+BAA+B,CAACH,EAAG,KAAK,CAACG,YAAY,qDAAqD,CAACP,EAAIiF,GAAG,IAAIjF,EAAIkF,GAAGlF,EAAIuI,GAAG,WAAPvI,CAAmBA,EAAIpH,KAAKoxC,mBAAmBG,oBAAoB,OAAO/pC,EAAG,KAAK,CAACG,YAAY,2DAA2D,CAACP,EAAIiF,GAAG,6BAA6B7E,EAAG,MAAM,CAACG,YAAY,+BAA+B,CAACH,EAAG,KAAK,CAACG,YAAY,qDAAqD,CAACP,EAAIiF,GAAG,IAAIjF,EAAIkF,GAAGlF,EAAIuI,GAAG,WAAPvI,CAAmB,IAAI,OAAOI,EAAG,KAAK,CAACG,YAAY,2DAA2D,CAACP,EAAIiF,GAAG,6BAA8BjF,EAAIpH,KAAKoxC,mBAAkC,gBAAE5pC,EAAG,MAAM,CAACG,YAAY,+BAA+B,CAACH,EAAG,KAAK,CAACG,YAAY,qDAAqD,CAACP,EAAIiF,GAAG,IAAIjF,EAAIkF,GAAGlF,EAAIuI,GAAG,WAAPvI,CAAmBA,EAAIpH,KAAKoxC,mBAAmBI,kBAAkB,OAAOhqC,EAAG,KAAK,CAACG,YAAY,2DAA2D,CAACP,EAAIiF,GAAG,0BAA0B7E,EAAG,MAAM,CAACG,YAAY,+BAA+B,CAACH,EAAG,KAAK,CAACG,YAAY,qDAAqD,CAACP,EAAIiF,GAAG,IAAIjF,EAAIkF,GAAGlF,EAAIuI,GAAG,WAAPvI,CAAmB,IAAI,OAAOI,EAAG,KAAK,CAACG,YAAY,2DAA2D,CAACP,EAAIiF,GAAG,4BAAwE,GAA3CjF,EAAIpH,KAAKoxC,mBAAmBK,YAAqBjqC,EAAG,MAAM,CAACA,EAAG,KAAK,CAACG,YAAY,2DAA2D,CAACP,EAAIiF,GAAG,IAAIjF,EAAIkF,GAAI,6BAAgClF,EAAIpH,KAAKoxC,mBAAmBM,UAAY,QAAU,cAAgB,KAAKlqC,EAAG,MAAMJ,EAAIiF,GAAG,IAAIjF,EAAIkF,GAAG,mDAAmD,SAASlF,EAAIc,OAAOd,EAAIc,KAAMd,EAAIpH,KAAiB,aAAEwH,EAAG,MAAM,CAACI,MAAOR,EAAI8pC,QAAoB,cAAG,CAAC1pC,EAAG,MAAM,CAACG,YAAY,8BAA8B,CAAEP,EAAIpH,KAAK2xC,aAAsB,UAAEnqC,EAAG,MAAM,CAACG,YAAY,+BAA+B,CAACH,EAAG,KAAK,CAACG,YAAY,qDAAqD,CAACP,EAAIiF,GAAG,IAAIjF,EAAIkF,GAAGlF,EAAIuI,GAAG,WAAPvI,CAAmBA,EAAIpH,KAAK2xC,aAAaC,YAAY,OAAOpqC,EAAG,KAAK,CAACG,YAAY,2DAA2D,CAACP,EAAIiF,GAAG,2BAA2B7E,EAAG,MAAM,CAACG,YAAY,+BAA+B,CAACH,EAAG,KAAK,CAACG,YAAY,qDAAqD,CAACP,EAAIiF,GAAG,IAAIjF,EAAIkF,GAAGlF,EAAIuI,GAAG,WAAPvI,CAAmB,IAAI,OAAOI,EAAG,KAAK,CAACG,YAAY,2DAA2D,CAACP,EAAIiF,GAAG,2BAA4BjF,EAAIpH,KAAK2xC,aAAoB,QAAEnqC,EAAG,MAAM,CAACG,YAAY,+BAA+B,CAACH,EAAG,KAAK,CAACG,YAAY,qDAAqD,CAACP,EAAIiF,GAAG,IAAIjF,EAAIkF,GAAGlF,EAAIuI,GAAG,WAAPvI,CAAmBA,EAAIpH,KAAK2xC,aAAaE,UAAU,OAAOrqC,EAAG,KAAK,CAACG,YAAY,2DAA2D,CAACP,EAAIiF,GAAG,0BAA0B7E,EAAG,MAAM,CAACG,YAAY,+BAA+B,CAACH,EAAG,KAAK,CAACG,YAAY,qDAAqD,CAACP,EAAIiF,GAAG,IAAIjF,EAAIkF,GAAGlF,EAAIuI,GAAG,WAAPvI,CAAmB,IAAI,OAAOI,EAAG,KAAK,CAACG,YAAY,2DAA2D,CAACP,EAAIiF,GAAG,0BAA2BjF,EAAIpH,KAAK2xC,aAA2B,eAAEnqC,EAAG,MAAM,CAACG,YAAY,+BAA+B,CAACH,EAAG,KAAK,CAACG,YAAY,qDAAqD,CAACP,EAAIiF,GAAG,IAAIjF,EAAIkF,GAAGlF,EAAIuI,GAAG,WAAPvI,CAAmBA,EAAIpH,KAAK2xC,aAAaG,iBAAiB,OAAOtqC,EAAG,KAAK,CAACG,YAAY,2DAA2D,CAACP,EAAIiF,GAAG,kCAAkC7E,EAAG,MAAM,CAACG,YAAY,+BAA+B,CAACH,EAAG,KAAK,CAACG,YAAY,qDAAqD,CAACP,EAAIiF,GAAG,IAAIjF,EAAIkF,GAAGlF,EAAIuI,GAAG,WAAPvI,CAAmB,IAAI,OAAOI,EAAG,KAAK,CAACG,YAAY,2DAA2D,CAACP,EAAIiF,GAAG,sCAAsCjF,EAAIc,KAAMd,EAAIpH,KAAqB,iBAAEwH,EAAG,MAAM,CAACI,MAAOR,EAAI8pC,QAAwB,kBAAG,CAAC1pC,EAAG,MAAM,CAACG,YAAY,6BAA6B,CAAEP,EAAIpH,KAAK+xC,iBAA0B,UAAEvqC,EAAG,MAAM,CAACG,YAAY,+BAA+B,CAACH,EAAG,KAAK,CAACG,YAAY,qDAAqD,CAACP,EAAIiF,GAAG,IAAIjF,EAAIkF,GAAGlF,EAAIuI,GAAG,WAAPvI,CAAmBA,EAAIpH,KAAK+xC,iBAAiBH,YAAY,OAAOpqC,EAAG,KAAK,CAACG,YAAY,2DAA2D,CAACP,EAAIiF,GAAG,2BAA2BjF,EAAIc,KAAMd,EAAIpH,KAAK+xC,iBAAwB,QAAEvqC,EAAG,MAAM,CAACG,YAAY,UAAU,CAACH,EAAG,KAAK,CAACG,YAAY,qDAAqD,CAACP,EAAIiF,GAAG,IAAIjF,EAAIkF,GAAGlF,EAAIuI,GAAG,WAAPvI,CAAmBA,EAAIpH,KAAK+xC,iBAAiBF,UAAU,OAAOrqC,EAAG,KAAK,CAACG,YAAY,2DAA2D,CAACP,EAAIiF,GAAG,0BAA0BjF,EAAIc,KAAMd,EAAIpH,KAAK+xC,iBAA4B,YAAEvqC,EAAG,MAAM,CAACG,YAAY,+BAA+B,CAACH,EAAG,KAAK,CAACG,YAAY,qDAAqD,CAACP,EAAIiF,GAAG,IAAIjF,EAAIkF,GAAGlF,EAAIuI,GAAG,WAAPvI,CAAmBA,EAAIpH,KAAK+xC,iBAAiBC,cAAc,OAAOxqC,EAAG,KAAK,CAACG,YAAY,2DAA2D,CAACP,EAAIiF,GAAG,gCAAgCjF,EAAIc,KAAMd,EAAIpH,KAAK+xC,iBAA6B,aAAEvqC,EAAG,MAAM,CAACG,YAAY,UAAU,CAACH,EAAG,KAAK,CAACG,YAAY,qDAAqD,CAACP,EAAIiF,GAAG,IAAIjF,EAAIkF,GAAGlF,EAAIuI,GAAG,WAAPvI,CAAmBA,EAAIpH,KAAK+xC,iBAAiBE,eAAe,OAAOzqC,EAAG,KAAK,CAACG,YAAY,2DAA2D,CAACP,EAAIiF,GAAG,kCAAkCjF,EAAIc,OAAQd,EAAIpH,KAAK+xC,iBAA0B,UAAEvqC,EAAG,MAAM,CAACG,YAAY,4BAA4B,CAACH,EAAG,MAAM,CAACG,YAAY,wEAAwEC,MAAQ,UAAYR,EAAI8qC,sBAAwB,MAAQ,CAAC1qC,EAAG,MAAM,CAACG,YAAY,0FAA0F,CAACH,EAAG,MAAM,CAACG,YAAY,wDAAwDC,MAAOR,EAAIgB,OAAiB,YAAG,CAACZ,EAAG,MAAM,CAACI,MAAOR,EAAIgB,OAAc,UAAIhB,EAAIiF,GAAG,IAAIjF,EAAIkF,GAAGlF,EAAI+qC,YAAY,wBAAwB/qC,EAAIc,OAAOd,EAAIc,KAAM6H,MAAM4wB,QAAQv5B,EAAIpH,KAAKkX,MAAO1P,EAAG,KAAK,CAACG,YAAY,QAAQP,EAAI0E,GAAI1E,EAAIpH,KAAS,MAAE,SAAS+L,EAAKC,GAAO,OAAOxE,EAAG,KAAK,CAAChB,IAAIwF,EAAMrE,YAAY,+CAA+CC,MAAOR,EAAIgB,OAAe,UAAG,CAACZ,EAAG,MAAM,CAACG,YAAY,iCAAiC,CAACP,EAAIiF,GAAGjF,EAAIkF,GAAGP,EAAKqmC,SAAS5qC,EAAG,MAAM,CAACG,YAAY,YAAYC,MAAOR,EAAIgB,OAAoB,eAAG,CAAChB,EAAIiF,GAAGjF,EAAIkF,GAAGP,EAAKsmC,cAAa,GAAGjrC,EAAIc,KAAMd,EAAIpH,KAAKsyC,OAAe,SAAE9qC,EAAG,MAAM,CAACI,MAAOR,EAAI8pC,QAAgB,UAAG,CAAC1pC,EAAG,aAAa,CAACG,YAAY,sCAAsCD,MAAM,CAAC,YAAY,QAAQ+J,YAAYrK,EAAIsK,GAAG,CAAC,CAAClL,IAAI,UAAUmL,GAAG,SAAS5E,GAC98Q,IAAI6E,EAAS7E,EAAI6E,OACjB,OAAOpK,EAAG,SAAS,CAACG,YAAY,8CAA8CC,MAAOR,EAAIgB,OAAqB,gBAAG,CAACZ,EAAG,OAAO,CAACG,YAAY,aAAaH,EAAG,SAAS,CAACE,MAAM,CAAC,KAAOkK,EAAS,UAAY,eAAepK,EAAG,cAAc,CAACG,YAAY,yDAAyDD,MAAM,CAAC,GAAKN,EAAIpH,KAAKsyC,OAAOvqC,OAAO,CAACX,EAAIiF,GAAGjF,EAAIkF,GAAGlF,EAAIpH,KAAKsyC,OAAOre,WAAW,MAAM,MAAK,EAAM,aAAa,CAAE7sB,EAAIpH,KAAKsyC,OAAOC,eAAwCntC,GAA5BgC,EAAIpH,KAAKsyC,OAAOC,SAAuB/qC,EAAG,OAAOJ,EAAI0E,GAAI1E,EAAIpH,KAAKsyC,OAAe,UAAE,SAASvmC,EAAKC,GAAO,OAAOxE,EAAG,kBAAkB,CAAChB,IAAIwF,EAAMtE,MAAM,CAAC,YAAY,aAAa,CAACF,EAAG,cAAc,CAACE,MAAM,CAAC,GAAKqE,EAAKhE,OAAO,CAACX,EAAIiF,GAAG,IAAIjF,EAAIkF,GAAGP,EAAKkoB,OAAO,QAAQ,MAAK,GAAG7sB,EAAIc,QAAQ,GAAGd,EAAIc,KAAMd,EAAIpH,KAAKwyC,eAAiCptC,GAArBgC,EAAIpH,KAAKwyC,SAAuBhrC,EAAG,MAAM,CAACG,YAAY,OAAOC,MAAM,CAAG6qC,WAAY,SAAW,CAAErrC,EAAIpH,KAAK0yC,wBAA6D,GAAnCtrC,EAAIpH,KAAK0yC,uBAAgClrC,EAAG,KAAKJ,EAAI0E,GAAI1E,EAAIpH,KAAa,UAAE,SAAS+L,EAAKC,GAAO,OAAOxE,EAAG,KAAK,CAAChB,IAAIwF,EAAMrE,YAAY,+CAA+CiG,YAAY,CAAC,aAAa,mBAAmBlG,MAAM,CAAC,YAAY,aAAa,CAACF,EAAG,MAAM,CAACG,YAAY,gCAAgCiG,YAAY,CAAC,aAAa,SAAS,iBAAiB,WAAW,CAACxG,EAAIiF,GAAG,IAAIjF,EAAIkF,GAAGP,EAAK4mC,QAAQ,OAAOnrC,EAAG,MAAM,CAACG,YAAY,+BAA+BC,MAAOR,EAAIgB,OAAoB,eAAG,CAACZ,EAAG,cAAc,CAACE,MAAM,CAAC,GAAKqE,EAAKhE,OAAO,CAACX,EAAIiF,GAAG,IAAIjF,EAAIkF,GAAGP,EAAKkoB,OAAO,QAAQ,QAAO,GAAGzsB,EAAG,OAAOJ,EAAI0E,GAAI1E,EAAIpH,KAAa,UAAE,SAAS+L,EAAKC,GAAO,OAAOxE,EAAG,KAAK,CAAChB,IAAIwF,EAAM4B,YAAY,CAAC,aAAa,mBAAmBlG,MAAM,CAAC,YAAY,aAAa,CAACF,EAAG,cAAc,CAACG,YAAY,+BAA+BD,MAAM,CAAC,GAAKqE,EAAKhE,OAAO,CAACX,EAAIiF,GAAG,IAAIjF,EAAIkF,GAAGP,EAAKkoB,OAAO,QAAQ,MAAK,KAAK7sB,EAAIc,UACzuD,GAAkB,G,iDC2RtB,IACE/C,KAAM,OAENqH,MAAO,CACLpE,OAAQ,CACN9E,KAAM7C,OACNgM,QAFN,WAGQ,MAAO,KAIXzM,KAAM,CACJwN,KAAMd,OACNimC,OAAQjmC,OACRunB,MAAOvnB,OACPykC,SAAUzkC,OACVqlC,iBAAkBtxC,OAClBkxC,aAAclxC,OACd2wC,mBAAoB3wC,OACpByW,KAAM,GACNs7B,SAAU,GACVE,wBAAwB,EACxBJ,OAAQ,CACNre,MAAOvnB,OACP3E,KAAM2E,OACN6lC,SAAU,MAKhBvyC,KAAM,WAEJ,IAAImyC,EAAa,IAGbD,EAAwB,EAE5B,GAAJ,WAAQ,OAAR,QAAQ,CAAR,6BACM,IAAN,0DACA,wDAE+B,kBAAdN,GAA6C,kBAAZC,IAC1CM,GAAc,EAAtB,kBACQD,EAAwBC,GAI5B,MAAO,CACLA,WAAN,EACMD,sBAAN,EACMhB,QAAS,KACf,GACA,CACQ,SAAR,CACU,SAAV,WACU,OAAV,SACU,KAAV,EACU,MAAV,OACU,eAAV,UAEQ,eAAR,CACU,QAAV,OACU,cAAV,UAEQ,iBAAR,CACU,aAAV,KAEQ,aAAR,CACU,aAAV,QAEQ,SAAR,CACU,cAAV,UAEQ,cAAR,CACU,MAAV,OAEQ,WAAR,CACU,IAAV,OACU,KAAV,UACU,MAAV,QAEQ,KAAR,GACQ,UAAR,CACU,SAAV,WACU,OAAV,OACU,cAAV,QAEQ,QAAR,CACU,SAAV,WACU,IAAV,OACU,KAAV,MAEU,MAAV,EACU,OAAV,EACU,cAAV,wBACU,eAAV,wBAEU,gBAAV,sBAGA,gBClY6V,MCOzV,GAAY,eACd,GACA,GACA,IACA,EACA,KACA,KACA,MAIa,M,QCoCf,UAKA,IACE,KADF,WAEI,MAAJ,CACM,wBAAN,GACM,SAAN,GACM,SAAN,EACM,OAAN,CACQ,eAAR,CACU,QAAV,OACU,iBAAV,MACU,YAAV,OACU,MAAV,SAGM,QAAN,CACQ,KAAR,iBACQ,MAAR,UACQ,SAAR,GACQ,wBAAR,EACQ,KAAR,GAEQ,SAAR,GACQ,OAAR,IAGM,eAAN,CACQ,KAAR,iBACQ,MAAR,kBACQ,SAAR,GACQ,KAAR,GACQ,wBAAR,EACQ,mBAAR,CACU,eAAV,EACU,oBAAV,EACU,kBAAV,EACU,gBAAV,EACU,SAAV,OACU,aAAV,GAEQ,SAAR,CACA,CAAU,MAAV,eAAU,KAAV,0BACA,CAAU,MAAV,wBAAU,KAAV,qCAEQ,OAAR,IAGM,mBAAN,CACQ,KAAR,iBACQ,MAAR,sBACQ,SAAR,GACQ,wBAAR,EACQ,KAAR,GAEQ,SAAR,GACQ,OAAR,MAKEvkC,WAAY,CACVimC,KAAJ,IAEE/lC,SAAU,OAAZ,OAAY,CAAZ,GACA,+BACI,OAAJ,YAAM,OAAN,qCACI,UAAJ,YAAM,OAAN,qEACA,sFAGE,QArEF,WAqEA,mKACA,+BAEA,EAHA,gCAKA,QACA,qCANA,OAKA,EALA,QAQA,8DAEA,cAEA,gBACA,2BAbA,OAkBA,aAEA,WApBA,8CAuBE4B,MAAO,CACLwF,OADJ,WAEM5M,KAAK0/B,UAEP8L,UAJJ,WAKMxrC,KAAK0/B,WAGT78B,QAAS,CACP,OADJ,WACA,wKACA,iBADA,uBAEA,4BAFA,uBAGA,oBAHA,uBAIA,uBAJA,8CAMI,gBAPJ,WAOA,mKACA,6FADA,uBAGA,GACA,qBACA,0BALA,SAQA,QACA,gCACA,WAEA,iCACA,0DACA,IAEA,6EACA,+EACA,mFACA,+EACA,mDAEA,2FAEA,qIAEA,sLACA,oDACA,sIAEA,sLACA,yDA/BA,8CAuCI,aA9CJ,WA8CA,wKACA,GACA,uCACA,qBACA,mBAEA,+BACA,8DACA,IAEA,iBAVA,8CAeI,wBA7DJ,WA6DA,6JACA,2FADA,gCAGA,QACA,sCACA,qBACA,yBAEA,+BACA,IAEA,8EACA,GADA,IAEA,aACA,8CAdA,8CAqBI,mBAlFJ,WAkFA,2JACA,4DAEA,kCAHA,gCAKA,QACA,kCACA,uBAEA,KAJA,yDAIA,8GACA,IAEA,yFACA,GADA,IAEA,oBACA,iDANA,2CAJA,uDALA,gDCjPiV,MCO7U,GAAY,eACd,GACA,GACA,IACA,EACA,KACA,KACA,MAIa,M,QChBA,IACb,CACEnC,KAAM,yBACN5C,KAAM,wBACNyF,UAAW,kBACT,2OAGFslC,YAAaC,IAEf,CACEpoC,KAAM,yBACN5C,KAAM,oBACNyF,UAAW,kBACT,2OAGFslC,YAAaC,GACb2C,SAAU,CACR,CACE/qC,KAAM,8BACN5C,KAAM,4CACNyF,UAAW,kBACT,4OAIJ,CACE7C,KAAM,kCACN5C,KAAM,gDACNyF,UAAW,kBACT,4OAIJ,CACE7C,KAAM,gCACN5C,KAAM,8CACNyF,UAAW,kBACT,4OAIJ,CACE7C,KAAM,6BACN5C,KAAM,2CACNyF,UAAW,kBACT,4OAIJ,CACE7C,KAAM,oCACN5C,KAAM,kDACNyF,UAAW,kBACT,4OAIJ,CAEE7C,KAAM,GACNgrC,SAAU,+BAEZ,CAEEhrC,KAAM,IACNgrC,SAAU,kCCnEH,IACb,CACEhrC,KAAM,cACN5C,KAAM,aACNyF,UAAW,kBAAM,sFACjBslC,YAAaC,IAEf,CACEpoC,KAAM,qBACN5C,KAAM,gBACNyF,UAAW,kBACT,gOACFslC,YAAaC,GACb2C,SAAU,CACR,CACE/qC,KAAM,mBACN5C,KAAM,6BACNyF,UAAW,kBACT,iOAIJ,CACE7C,KAAM,yBACN5C,KAAM,mCACNyF,UAAW,kBACT,iOAIJ,CACE7C,KAAM,mBACN5C,KAAM,6BACNyF,UAAW,kBACT,iOAIJ,CAEE7C,KAAM,GACNgrC,SAAU,oBAEZ,CAEEhrC,KAAM,IACNgrC,SAAU,uBC9CH,IACb,CACEhrC,KAAM,aACN5C,KAAM,YACNyF,UAAW,kBAAM,sFACjBslC,YAAaC,IAEf,CACEpoC,KAAM,eACN5C,KAAM,UACNyF,UAAW,kBAAM,kIACjBslC,YAAaC,IAEf,CACEpoC,KAAM,4BACN5C,KAAM,uBACNyF,UAAW,kBAAM,kIACjBslC,YAAaC,KCjBF,IACb,CACED,YAAaC,GACbpoC,KAAM,qBACN5C,KAAM,oBACNyF,UAAW,kBACT,mKAEJ,CACE7C,KAAM,4BACN5C,KAAM,uBACNyF,UAAW,kBACT,0KAGFslC,YAAaC,GACb2C,SAAU,CACR,CACE/qC,KAAM,yBACN5C,KAAM,0CACNyF,UAAW,kBACT,2KAIJ,CACE7C,KAAM,+BACN5C,KAAM,gDACNyF,UAAW,kBACT,2KAIJ,CAEE7C,KAAM,GACNgrC,SAAU,0BAEZ,CAEEhrC,KAAM,IACNgrC,SAAU,6BCzCH,IACb,CACEhrC,KAAM,oBACN6C,UAAW,kBACT,kDAGFslC,YAAaC,GACb2C,SAAU,CACR,CACE/qC,KAAM,WACN5C,KAAM,2BACNyF,UAAW,kBACT,iGAIJ,CACE7C,KAAM,iBACN5C,KAAM,iCACNyF,UAAW,kBACT,+NAIJ,CACE7C,KAAM,4BACN5C,KAAM,2CACNyF,UAAW,kBACT,2EAKFslC,YAAaC,IAEf,CACEpoC,KAAM,cACN5C,KAAM,8BACNyF,UAAW,kBACT,+DAIJ,CAEE7C,KAAM,GACNgrC,SAAU,YAEZ,CAEEhrC,KAAM,IACNgrC,SAAU,eCpDH,IACb,CACEhrC,KAAM,yBACN5C,KAAM,wBACNyF,UAAW,kBACT,6NAGFslC,YAAaC,IAEf,CACEpoC,KAAM,eACN5C,KAAM,cACNyF,UAAW,kBAAM,6NACjBslC,YAAaC,GACb2C,SAAU,CACR,CACE/qC,KAAM,kBACN5C,KAAM,0BACNyF,UAAW,kBACT,8NAIJ,CACE7C,KAAM,sBACN5C,KAAM,8BACNyF,UAAW,kBACT,8NAIJ,CACE7C,KAAM,sBACN5C,KAAM,8BACNyF,UAAW,kBACT,8NAIJ,CACE7C,KAAM,oBACN5C,KAAM,4BACNyF,UAAW,kBACT,8NAIJ,CAEE7C,KAAM,GACNgrC,SAAU,mBAEZ,CAEEhrC,KAAM,IACNgrC,SAAU,sBCxDH,IACb,CACEhrC,KAAM,WACN5C,KAAM,UACNyF,UAAW,kBAAM,uMACjBslC,YAAaC,KCLF,IACb,CACEpoC,KAAM,mBACN5C,KAAM,kBACNyF,UAAW,kBACT,kDACFslC,YAAaC,KCIX6C,GAAS,GAAH,uBAGPC,IAHO,gBAIPC,IAJO,gBAKPC,IALO,gBAMPC,IANO,gBAOPC,IAPO,gBAQPC,IARO,gBASPC,IATO,gBAUPC,IAVO,gBAWPC,IAXO,CAcV,CACE1rC,KAAM,IACN5C,KAAM,OACNyF,UAAW8oC,GACXxD,YAAaC,IAKf,CACED,YAAaC,GACbpoC,KAAM,SACN5C,KAAM,QACNyF,UAAW,kBAAM,mKAEnB,CACEslC,YAAaC,GACbpoC,KAAM,oBACN5C,KAAM,mBACNyF,UAAW,kBACT,mKAIJ,CACE7C,KAAM,gBACN5C,KAAM,eACNyF,UAAW,kBACT,kKAGFslC,YAAaC,GACb2C,SAAU,CACR,CACE/qC,KAAM,UACN5C,KAAM,uBACNyF,UAAW,kBACT,qFAIJ,CACE7C,KAAM,kBACN5C,KAAM,+BACNyF,UAAW,kBACT,qFAIJ,CACE7C,KAAM,4BACN5C,KAAM,yCACNyF,UAAW,kBACT,qFAIJ,CACE7C,KAAM,6BACN5C,KAAM,0CACNyF,UAAW,kBACT,uFAMR,CACEslC,YAAaC,GACbpoC,KAAM,kBACN5C,KAAM,aACNyF,UAAW,kBACT,mKAIJ,CACE7C,KAAM,YACN5C,KAAM,WACNyF,UAAW,kBACT,8EAGFslC,YAAaC,GACb2C,SAAU,CACR,CACE/qC,KAAM,WACN5C,KAAM,oBACNyF,UAAW,kBACT,iFAIJ,CACE7C,KAAM,iBACN5C,KAAM,0BACNyF,UAAW,kBACT,iFAIJ,CACE7C,KAAM,wBACN5C,KAAM,iCACNyF,UAAW,kBACT,iFAIJ,CACE7C,KAAM,eACN5C,KAAM,wBACNyF,UAAW,kBACT,kFAIJ,CACE7C,KAAM,WACN5C,KAAM,oBACNyF,UAAW,kBACT,mFAMR,CACE7C,KAAM,UACN5C,KAAM,SACNyF,UAAW,kBACT,gDACFslC,YAAaC,IAEf,CACEpoC,KAAM,cACN6C,UAAW,kBACT,gDACFslC,YAAaC,IAEf,CACEpoC,KAAM,qBACN5C,KAAM,oBACNyF,UAAW,kBACT,wFAGFslC,YAAaC,IAEf,CACEpoC,KAAM,cACN5C,KAAM,aACNyF,UAAW,kBACT,oLACFslC,YAAaC,IAEf,CACEpoC,KAAM,IACN5C,KAAM,WACN+qC,YAAaC,GACbvlC,UAAW,kBAAM,mKAEnB,CACE7C,KAAM,iBACN5C,KAAM,gBACNyF,UAAW,kBACT,iIAGFslC,YAAaC,IAEf,CACEpoC,KAAM,mBACN5C,KAAM,kBACNyF,UAAW,kBACT,iIAGFslC,YAAaC,IAEf,CACEpoC,KAAM,0BACN5C,KAAM,qBACNyF,UAAW,kBACT,iIAGFslC,YAAaC,MAIF6C,MCnNf1qC,OAAIC,IAAIorC,S,OAEuBz3B,uXAAvB03B,G,GAAAA,SAAUC,G,GAAAA,SAGZC,GAAoB,gBAAbF,GAA6B,cAAgBC,GAEpDE,GAAS,IAAIJ,QAAU,CAC3BvtC,KAAM,UACN0tC,QACAd,UACAgB,oBAGFD,GAAOE,YAAW,SAAChoC,EAAIwL,EAAMq4B,IAKmB,IAA1C7jC,EAAG2Q,SAASs3B,QAAQ,mBAAuC,SAAZjoC,EAAGqP,QAMJ,IAA9CrP,EAAG2Q,SAASs3B,QAAQ,uBAA2C,SAAZjoC,EAAGqP,QAMjB,IAArCrP,EAAG2Q,SAASs3B,QAAQ,cAAkC,SAAZjoC,EAAGqP,QAMA,IAA7CrP,EAAG2Q,SAASs3B,QAAQ,sBAA0C,SAAZjoC,EAAGqP,MAOzDw0B,IAxBEA,EAAK,CACH/nC,KAAMkE,EAAG2Q,SAAW,YA0B1Bm3B,GAAOp3B,WAAU,SAAC1Q,EAAIwL,GACpBkF,GAAU,CAAE1Q,KAAIwL,YAGHs8B,U,uCCzDA,IACbI,SAAU,SAAAC,GACR,SAASC,IACP,IAAMC,EAAevkC,MAAM0H,KAAK28B,EAAGtB,UAAUpP,MAAK,SAAA0Q,GAAE,MAAoB,QAAhBA,EAAGG,YAEvDD,IACFA,EAAaE,iBAAiB,QAAQ,WACpCnvC,YAAW,kBAAM+uC,EAAGK,UAAUC,IAAI,YAAW,QAE/CJ,EAAaE,iBAAiB,SAAS,kBAAM1tC,QAAQ6S,IAAI,YACzD26B,EAAa1wC,IAAM0wC,EAAaK,QAAQC,KAI5C,SAASC,EAAgBC,EAASC,GAChCD,EAAQvY,SAAQ,SAAAyY,GACTA,EAAMC,iBAGTZ,IACAU,EAASG,UAAUd,OAKzB,SAASe,IACP,IAAMtiC,EAAU,CAEdqvB,KAAM,KACNkT,UAAW,KASPL,EAAW,IAAIM,qBAAqBR,EAAiBhiC,GAE3DkiC,EAASO,QAAQlB,GAGdptC,OAAO,wBAGVmuC,IAFAd,MChCAkB,I,UAAoB,IAAIC,KAAKC,aAAa,QAAS,CAAE7tC,MAAO,WAAY8tC,SAAU,SAYjF,SAASC,GAAWlwC,GACzB,GAAU,OAANA,EACF,MAAO,GAGT,IACE,OAAOkyB,KAAOlyB,GAAGmyB,OAAO,MACxB,MAAO/c,GACP/T,QAAQjC,MAAMgW,GAGhB,OAAOpV,EAGM,QACbmwC,QADa,SACLttC,GAENA,EAAIsK,OAAO,WAAW,SAAAnN,GAAC,OAAIkyB,KAAOlyB,GAAGowC,aAErCvtC,EAAIsK,OAAO,QAAQ,SAAAnN,GAAC,OAAIkwC,GAAWlwC,MAEnC6C,EAAIsK,OAAO,aAAa,SAAAnN,GAAC,OAAIkyB,KAAOlyB,GAAGmyB,OAAO,QAS9CtvB,EAAIsK,OAAO,SAAS,SAASkjC,GAC3B,OAAOA,EAAMC,QAAQ,UAAW,IAAIA,QAAQ,wBAAyB,iBAIvEztC,EAAIsK,OAAO,YAAY,SAAA1M,GAAK,OAAIA,EAAM6vC,QAAQ,iBAAiB,SAAAl7B,GAAC,OAAIA,EAAEm7B,oBAItE1tC,EAAIsK,OAAO,WAAY2iC,GAAkB3d,QAGzCtvB,EAAIsK,OAAO,cAAc,SAAAnN,GACvB,IAAIiB,EAAIsJ,OAAOvK,GAEf,GAAIiB,EAAI,EAAG,CACT,IAAM9E,EAAI2zC,GAAkB3d,QAAQlxB,GACpC,iBAAW9E,EAAX,KAGF,OAAO2zC,GAAkB3d,OAAOlxB,QCxEvB,IAEbuvC,gBAAiB,OCDbC,I,UAAQhX,EAAQ,S,GACDA,EAAQ,QAArB3kB,G,GAAAA,SAER9Z,OAAO01C,KAAKD,IAAO3Z,SAAQ,SAAA6Z,GACzBC,gBAAOD,EAAD,eAAC,kBACFF,GAAME,IADL,IAEJlxC,QAASqV,GAAS67B,SAItBC,gBAAO,WAAD,eAAC,kBACFH,GAAMI,UADL,IAEJpxC,QAAS,4BAGXmxC,gBAAO,QAAD,eAAC,kBACFH,GAAM/gC,OADL,IAEJjQ,QAAS,sCCNXg6B,EAAQ,QACRA,EAAQ,QAGO,gBAAC9iB,EAAQm6B,EAAKxC,EAAQhE,GAEnCznC,OAAIC,IAAIiuC,QAAOC,IAEf1rC,gBAAMqR,GAGNs6B,mBAAK3G,EAAOgE,GAGZzrC,OAAIC,IAAIouC,IAGRruC,OAAIsuC,OAAOC,eAAgB,EAE3BvuC,OAAIwuC,UAAU,WAAYC,IAE1B56B,GAAgB,CACdC,WAGF9T,OAAIC,IAAIyuC,GAAe,CACrBC,KAAM,CACJzwC,IAAK,0CACL0wC,UAAW,YAKfnH,EAAMrlC,SAAS,gBAAiB,CAC9BsO,KAAM,WACJ,IAAI1Q,OAAI,CACNyrC,SACAhE,QACA5oC,OAAQ,SAAAgwC,GAAC,OAAIA,EAAEZ,IACfj8B,UACC88B,OAAO,YCjDVC,GAAS,YAEfC,GAAKD,GAAQd,GAAKxC,GAAQhE,K,iNCGpBn7B,GAAU,EAGVzL,EAAU,CAORouC,sBAPQ,cAO0D,gLAAtC9nC,EAAsC,EAAtCA,MAAO+nC,EAA+B,EAA/BA,4BACvC1wC,QAAQ6S,IAAI,+BAD0D,kBAG9CvD,OAAItQ,IAAI,6CAA8C,CAC1EmQ,OAAQ,CACNxG,QACA+nC,iCANgE,cAG9Dt+B,EAH8D,OAUrD,GAAXtE,GAAiB9N,QAAQqP,MAAM,6BAA+BE,KAAKC,UAAU4C,IAVb,kBAY7D,CACLhC,KAAMgC,EAAQA,UAboD,qCAgBpEI,eAAc,oDACdxS,QAAQjC,MAAR,MAjBoE,iCAoB/D,CACLqS,KAAM,KArB8D,6DAyBlEugC,wBAhCQ,YAgCoB,4KAChC3wC,QAAQ6S,IAAI,iCADoB,kBAGRvD,OAAItQ,IAAI,sDAHA,cAGxBoT,EAHwB,OAKf,GAAXtE,GAAiB9N,QAAQqP,MAAM,+BAAiCE,KAAKC,UAAU4C,IALrD,kBAOvB,CACLhC,KAAMgC,EAAQA,UARc,qCAW9BI,eAAc,sDACdxS,QAAQjC,MAAR,MAZ8B,iCAezB,CACLqS,KAAM,KAhBwB,6DAoB5BwgC,gBApDQ,cAoDwC,6KAA9BhtC,EAA8B,EAA9BA,SAAcuL,EAAgB,EAAhBA,OAAQ+C,EAAQ,EAARA,KACtCjR,EAD8C,yDAE/BqO,OAAItQ,IAAIiC,EAAM,CACjCkO,WAHkD,OAE9C5U,EAF8C,OAMhC,GAAhB,EAAKuT,SAAiB9N,QAAQqP,MAAM,mBAAqBE,KAAKC,UAAUjV,IAExEqJ,QAAwBtF,GAAZsF,GAAuB5D,QAAQqP,MAAMzL,GAEjDrJ,GACFyF,QAAQqP,MAAR,kDACA6C,EAAK,CAAE+K,QAAS1iB,KAEhByF,QAAQjC,MAAM,0DAdoC,8CAkBhD8yC,wBAtEQ,cAsE6D,oKAA3CjtC,EAA2C,EAA3CA,SAAcktC,EAA6B,EAA7BA,oBAAqB5+B,EAAQ,EAARA,KAAQ,SAEjEjR,EAFiE,gDAEjB6vC,EAFiB,+BAIjDxhC,OAAIyD,OAAO9R,GAJsC,OAIjEmR,EAJiE,OAMxD,GAAXtE,GAAiB9N,QAAQqP,MAAM,WAAaE,KAAKC,UAAU4C,IAE3DxO,QAAwBtF,GAAZsF,GAAuB5D,QAAQqP,MAAMzL,GAE/CoP,EAAa/L,IAAKmL,EAAS,WAAW,IAEzB,IAAfY,GACFV,eAAc,iDACdJ,KAEAK,eAAY,yDAhByD,qDAmBvEC,eAAc,yDACdxS,QAAQjC,MAAR,MApBuE,6DAwBrEgzC,qBA9FQ,cAiGZ,sKAFEntC,EAEF,EAFEA,SACA+E,EACF,EADEA,MAAOqoC,EACT,EADSA,WAAYN,EACrB,EADqBA,4BAA6Bt6B,EAClD,EADkDA,YAAalE,EAC/D,EAD+DA,KAC/D,kBAEuB5C,OAAIZ,KAAJ,wCAAkD,CACrE/F,QACAqoC,aACAN,8BACAt6B,gBANJ,OAEQ7b,EAFR,OASEyF,QAAQqP,MAAM,UAAYE,KAAKC,UAAUjV,IAErCqJ,QAAwBtF,GAAZsF,GAAuB5D,QAAQqP,MAAMzL,GAEjDrJ,EAAOu2C,oBAAsB,GAC/B9wC,QAAQqP,MAAR,8CACA6C,EAAK,CAAE+K,QAAS1iB,KAEhByF,QAAQqP,MAAM,sDAjBlB,qDAoBEmD,eAAc,uDACdxS,QAAQjC,MAAR,MArBF,6DAyBIkzC,wBA1HQ,cA0HsD,6KAApCrtC,EAAoC,EAApCA,SAAoC,IAAtBqT,eAAsB,MAAZ,GAAY,EAAR/E,EAAQ,EAARA,KAAQ,kBAE1C5C,OAAIkN,IAAJ,wCAAiDvF,GAFP,OAE1D7E,EAF0D,OAI5C,GAAhB,EAAKtE,SAAiB9N,QAAQqP,MAAM,WAAaE,KAAKC,UAAU4C,IAEhExO,QAAwBtF,GAAZsF,GAAuB5D,QAAQqP,MAAMzL,GAEjDwO,EAAQ0+B,oBAAsB,GAChCx+B,eAAc,gDACdJ,KAEAK,eAAY,yDAZkD,qDAehEC,eAAc,0EACdxS,QAAQjC,MAAR,MAhBgE,6DAoB9Ds0B,eA9IQ,cA8I6C,sKAApCzuB,EAAoC,EAApCA,SAAoC,IAAtBqT,eAAsB,MAAZ,GAAY,EAAR/E,EAAQ,EAARA,KAC3CN,EAAW,IAAIkK,SACrBlK,EAASmK,OAAO,OAAQ9E,EAAQ+E,MAFyB,SAKjD/a,EALiD,oEAKmBgW,EAAQtO,MAL3B,gCAKwDsO,EAAQ65B,oBALhE,wBAKmG75B,EAAQb,aAL3G,SAMX9G,OAAIZ,KAAKzN,EAAM2Q,EAAU,CACnE,eAAgB,wBAPqC,OAMjDs/B,EANiD,OAUvDlxC,QAAQqP,MAAM,uBAAyBpO,GAEnC2C,QAAwBtF,GAAZsF,GAAuB5D,QAAQqP,MAAMzL,GAEtC,GAAXkK,GACF9N,QAAQqP,MACN,+BAAiCE,KAAKC,UAAU0hC,IAGpDh/B,EAAK,CAAEi/B,aAAcD,IAnBkC,qDAqBvD3+B,eAAY,EAAD,IArB4C,8DA2B7D/Q,OAAIC,IAAIC,QACD,IAAM0vC,EAAsB,IAAI1vC,OAAKE,MAAM,CAChDC,MAAO,GACPG,UAAW,GACXS,QAAS,GACTJ,a,oCC3LF,yBAAujB,EAAG,G,oCCK3iB,eAAAjD,GACb,MAAqB,kBAAVA,GAAsBA,EAAQ,IAAM,GCE3CiyC,EAAa,cAEJ,gBAAAjyC,GACb,GAAIk2B,EAAUl2B,GACZ,OAAOA,EAGT,GAAqB,kBAAVA,EACT,OAAO,KAMT,IAAK,IAAImK,EAAI,EAAGA,EAAInK,EAAM1F,OAAQ6P,IAChC,IAAsC,IAAlC8nC,EAAWjE,QAAQhuC,EAAMmK,IAC3B,OAAO,KAIX,IAAM+nC,EAAS7e,SAASrzB,GAExB,OAAImyC,MAAMD,GACD,KAGFA,I,2DClCT,IAAIjxC,EAAS,WAAa,IAAIC,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACG,YAAY,OAAOD,MAAM,CAAC,2BAA2B,KAAK,CAACF,EAAG,MAAM,CAACG,YAAY,aAAa,CAACH,EAAG,MAAM,CAACG,YAAY,UAAUC,MAAOnH,OAAOiN,OAAO,GAAwB,WAAnBtG,EAAIgL,YAA2B,CAAEvI,QAAS,WAAc,CAACzC,EAAIiB,GAAG,YAAY,QAC3UF,EAAkB,G,6CC2BtB,GACE0E,SAAU,OAAZ,OAAY,CAAZ,GACA,gBAII,WAAJ,YAAM,OAAN,sCClC+V,I,YCO3VjC,EAAY,eACd,EACAzD,EACAgB,GACA,EACA,KACA,KACA,MAIa,OAAAyC,E,gCClBf1I,EAAOD,QAAU,IAA0B,oC,8JCSrC2S,GAAU,EAGVzL,EAAU,CAORmvC,oBAPQ,cAOyE,oLAAvD7oC,EAAuD,EAAvDA,MAAOwH,EAAgD,EAAhDA,aAAcyH,EAAkC,EAAlCA,gBAAiBE,EAAiB,EAAjBA,cACpE9X,QAAQ6S,IAAI,4BAA8B+E,GAEtCzH,IAEAA,EADkB,aAAhBA,EACa,mBACW,WAAjBA,EACM,gBAEA,qBATkE,kBAc7Db,OAAItQ,IAAI,mCAAoC,CAChEmQ,OAAQ,CACNxG,QACAwX,qBAAsBhQ,EACtBiQ,gBAAgB,EAChBC,YAAY,EACZzI,kBACAE,mBArB+E,cAc7E1F,EAd6E,OAyBpE,GAAXtE,GAAiB9N,QAAQqP,MAAM,2BAA6BE,KAAKC,UAAU4C,IAzBI,kBA2B5E,CACLhC,KAAMgC,EAAQA,UA5BmE,qCA+BnFI,eAAc,kDACdxS,QAAQjC,MAAR,MAhCmF,iCAmC9E,CACLqS,KAAM,KApC6E,6DAwCjFqhC,aA/CQ,cA+CsC,2KAA/B7tC,EAA+B,EAA/BA,SAAcqT,EAAiB,EAAjBA,QAAS/E,EAAQ,EAARA,KAC3B,GAAXpE,GAAiB9N,QAAQqP,MAAM,qBAAuBE,KAAKC,UAAUyH,IADvB,kBAG1B3H,OAAIZ,KAAJ,2CAAqD,CACzEgjC,gBAAiBz6B,EAAQy6B,kBAJqB,OAG1Ct/B,EAH0C,OAO5B,GAAhB,EAAKtE,SAAiB9N,QAAQqP,MAAM,WAAaE,KAAKC,UAAU4C,IAEhExO,QAAwBtF,GAAZsF,GAAuB5D,QAAQqP,MAAMzL,GAEjDwO,GACFE,eAAc,kDACdJ,KAEAK,eAAY,qDAfkC,qDAkBhDA,eAAY,qDACZvS,QAAQjC,MAAR,MAnBgD,8DAyBtDyD,OAAIC,IAAIC,QACD,IAAMwO,EAAoB,IAAIxO,OAAKE,MAAM,CAC9CC,MAAO,GACPG,UAAW,GACXS,QAAS,GACTJ,a,kCCzFF,kCAIO,IAAM6L,EAAW,CACtByjC,OAAQ,IACRxjC,OAAQ,M,qBCNV,IAAIlC,EAAM,CACT,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,aAAc,OACd,UAAW,OACX,aAAc,OACd,UAAW,OACX,aAAc,OACd,UAAW,OACX,aAAc,OACd,UAAW,OACX,aAAc,OACd,UAAW,OACX,aAAc,OACd,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,aAAc,OACd,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,aAAc,OACd,UAAW,OACX,aAAc,OACd,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,UAAW,OACX,aAAc,OACd,UAAW,OACX,aAAc,OACd,UAAW,OACX,aAAc,OACd,UAAW,OACX,aAAc,OACd,UAAW,OACX,aAAc,OACd,UAAW,OACX,aAAc,OACd,UAAW,OACX,aAAc,OACd,UAAW,OACX,aAAc,OACd,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,aAAc,OACd,UAAW,OACX,aAAc,OACd,UAAW,OACX,aAAc,OACd,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,QAAS,OACT,WAAY,OACZ,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,aAAc,OACd,UAAW,OACX,aAAc,OACd,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,aAAc,OACd,gBAAiB,OACjB,aAAc,OACd,gBAAiB,OACjB,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,UAAW,OACX,aAAc,OACd,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,aAAc,OACd,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,aAAc,OACd,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,aAAc,OACd,UAAW,OACX,OAAQ,OACR,UAAW,OACX,WAAY,OACZ,cAAe,OACf,UAAW,OACX,aAAc,OACd,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,aAAc,OACd,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,YAAa,OACb,eAAgB,OAChB,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,QAAS,OACT,WAAY,OACZ,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,UAAW,OACX,aAAc,OACd,QAAS,OACT,WAAY,OACZ,OAAQ,OACR,UAAW,OACX,QAAS,OACT,WAAY,OACZ,QAAS,OACT,aAAc,OACd,gBAAiB,OACjB,WAAY,OACZ,UAAW,OACX,aAAc,OACd,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,YAAa,OACb,eAAgB,OAChB,UAAW,OACX,OAAQ,OACR,UAAW,OACX,aAAc,OACd,gBAAiB,OACjB,OAAQ,OACR,UAAW,OACX,UAAW,OACX,aAAc,OACd,UAAW,OACX,aAAc,OACd,UAAW,OACX,aAAc,OACd,UAAW,OACX,aAAc,QAIf,SAAS2lC,EAAeC,GACvB,IAAI7mC,EAAK8mC,EAAsBD,GAC/B,OAAOh3C,EAAoBmQ,GAE5B,SAAS8mC,EAAsBD,GAC9B,IAAIh3C,EAAoBgE,EAAEoN,EAAK4lC,GAAM,CACpC,IAAIv2C,EAAI,IAAI0B,MAAM,uBAAyB60C,EAAM,KAEjD,MADAv2C,EAAE2B,KAAO,mBACH3B,EAEP,OAAO2Q,EAAI4lC,GAEZD,EAAevC,KAAO,WACrB,OAAO11C,OAAO01C,KAAKpjC,IAEpB2lC,EAAel2C,QAAUo2C,EACzB12C,EAAOD,QAAUy2C,EACjBA,EAAe5mC,GAAK,Q,6LCzRd8C,GAAU,EAGVzL,EAAU,CAER0vC,mBAFQ,YAEe,qLAEnBC,EAAS,CACb,CACE5yC,MAAO,UACPgG,MAAO,8BAET,CACEhG,MAAO,YACPgG,MAAO,wBAET,CACEhG,MAAO,oBACPgG,MAAO,gCAIP4sC,GACFA,EAAO14B,QAAQ,CACbla,MAAO,GACPgG,MAAO,wCApBc,kBAwBlB,CACLgL,KAAM4hC,IAzBiB,mCA4BzBx/B,eAAc,yDACdxS,QAAQjC,MAAR,MA7ByB,iCAgCpB,CACLqS,KAAM,KAjCmB,4DAqCvB6hC,uBAvCQ,YAuCmB,8LAEJ3iC,OAAItQ,IAAJ,0EAFI,cAEvBkzC,EAFuB,yBAQtB,CACL33C,OAAQ23C,IATmB,mCAY7B1/B,eAAc,+DACdxS,QAAQjC,MAAR,MAb6B,iCAgBxB,CACLxD,OAAQ,KAjBqB,4DAqB3B43C,8BA5DQ,YA4D0B,4KACtCnyC,QAAQ6S,IAAI,uCAD0B,kBAGfvD,OAAItQ,IAAI,kDAHO,cAG9BzE,EAH8B,OAKrB,GAAXuT,GACF9N,QAAQqP,MAAM,qCAAuCE,KAAKC,UAAUjV,IANlC,kBAQ7B,CACL6V,KAAM7V,EAAO6X,UATqB,qCAYpCI,eAAc,yEACdxS,QAAQjC,MAAR,MAboC,iCAgB/B,CACLqS,KAAM,KAjB8B,6DAqBlCgiC,uBAjFQ,cAiF6B,gLAARn1C,EAAQ,EAARA,KAAQ,SAEjCkS,EAAS,CACblS,KAAMA,GAH+B,SAKjBqS,OAAItQ,IAAJ,sEAEpB,CAAEmQ,WAPmC,cAKjCkjC,EALiC,OAUxB,GAAXvkC,GAAiB9N,QAAQqP,MAAM,0BAA4BE,KAAKC,UAAU6iC,IAVvC,kBAYhC,CACL93C,QAAQ,IAb6B,qCAgBvCiY,eAAc,gFACdxS,QAAQjC,MAAR,MAjBuC,iCAoBlC,CACLxD,QAAQ,IArB+B,6DAyBrC+3C,yBA1GQ,YA0GqB,8LAEKhjC,OAAItQ,IAAJ,qCAFL,cAEzBuzC,EAFyB,OAIhB,GAAXzkC,GACF9N,QAAQqP,MAAM,4BAA8BE,KAAKC,UAAU+iC,IAL9B,kBAOxB,CACLh4C,OAAQg4C,IARqB,oCAWf,IAAZzkC,GACF9N,QAAQqP,MAAR,qEACFrP,QAAQjC,MAAR,MAb+B,iCAgB1B,CACLxD,QAAQ,IAjBuB,4DAqB7Bi4C,0BA/HQ,cA+HiE,2KAA7C5uC,EAA6C,EAA7CA,SAAc6uC,EAA+B,EAA/BA,sBAAuBvgC,EAAQ,EAARA,KACtD,GAAXpE,GAAiB9N,QAAQqP,MAAM,mCAAqCojC,GADK,kBAIrDnjC,OAAIkN,IAAJ,mEACwCi2B,IALa,OAIrErgC,EAJqE,OAQvD,GAAhB,EAAKtE,SAAiB9N,QAAQqP,MAAM,WAAaE,KAAKC,UAAU4C,IAEhExO,QAAwBtF,GAAZsF,GAAuB5D,QAAQqP,MAAMzL,GAErDsO,IAZ2E,qDAc3EM,eAAc,mEACdxS,QAAQjC,MAAR,MAf2E,6DAoBzE20C,kBAnJQ,cAmJ4E,2KAAhE9uC,EAAgE,EAAhEA,SAAc+uC,EAAkD,EAAlDA,WAAYC,EAAsC,EAAtCA,mBAAoBC,EAAkB,EAAlBA,SAAU3gC,EAAQ,EAARA,KACjE,GAAXpE,GACF9N,QAAQqP,MACN,4BAA8BsjC,EAAa,KAAOC,EAAqB,KAAOC,IAG9ED,EANoF,0CAQ9DtjC,OAAIZ,KAAJ,4CAAsD,CAC1EikC,aACAC,qBACAC,aAXkF,OAQ9EzgC,EAR8E,OAchE,GAAhB,EAAKtE,SAAiB9N,QAAQqP,MAAM,WAAaE,KAAKC,UAAU4C,IAEhExO,QAAwBtF,GAAZsF,GAAuB5D,QAAQqP,MAAMzL,GAEjDwO,EAAQ0gC,qCAAuC,EAEjD5gC,EAAK,CAAE+K,QAAS7K,IAEhBG,eAAY,sEAtBsE,qDAyBpFC,eAAc,sEACdxS,QAAQjC,MAAR,MA1BoF,6DA+BpFg1C,SAlLQ,cAkL2C,uKAAxCnvC,EAAwC,EAAxCA,SAAcovC,EAA0B,EAA1BA,iBAAkB9gC,EAAQ,EAARA,KAChC,GAAXpE,GAAiB9N,QAAQqP,MAAM,mBAAqB2jC,IAEpDA,EAHmD,0CAK7B1jC,OAAIZ,KAAJ,wDAC6BskC,IANA,OAK7C5gC,EAL6C,OAS/B,GAAhB,EAAKtE,SAAiB9N,QAAQqP,MAAM,WAAaE,KAAKC,UAAU4C,IAEhExO,QAAwBtF,GAAZsF,GAAuB5D,QAAQqP,MAAMzL,GAErDsO,IAbmD,qDAenDM,eAAc,yDACdxS,QAAQjC,MAAR,MAhBmD,6DAqBnDk1C,2BAvMQ,cAuMmE,yKAA9CrvC,EAA8C,EAA9CA,SAAcovC,EAAgC,EAAhCA,iBAAkB/1C,EAAc,EAAdA,KAAMiV,EAAQ,EAARA,KACxD,GAAXpE,GACF9N,QAAQqP,MAAM,qCAAuC2jC,EAAmB,KAAO/1C,IAE7E+1C,IAAoB/1C,EAJuD,0CAMrDqS,OAAIZ,KAAJ,4DACiCskC,EADjC,iBAC0D/1C,IAPL,OAMrEmV,EANqE,OAUvD,GAAhB,EAAKtE,SAAiB9N,QAAQqP,MAAM,WAAaE,KAAKC,UAAU4C,IAEhExO,QAAwBtF,GAAZsF,GAAuB5D,QAAQqP,MAAMzL,GAErDsO,EAAK,CAAE+K,QAAS7K,IAd2D,qDAgB3EI,eAAc,4DAAD,OACiD,KAAUpU,UAExE4B,QAAQjC,MAAR,MAnB2E,6DAwB3Em1C,6BA/NQ,cA+NmF,+KAA5DtvC,EAA4D,EAA5DA,SAAckvC,EAA8C,EAA9CA,qCAAsC5gC,EAAQ,EAARA,KAAQ,SAEvFjR,EAFuF,oDAEnC6xC,EAFmC,+BAIvExjC,OAAIyD,OAAO9R,GAJ4D,OAIvFmR,EAJuF,OAMzE,GAAhB,EAAKtE,SAAiB9N,QAAQqP,MAAM,WAAaE,KAAKC,UAAU4C,IAEhExO,QAAwBtF,GAAZsF,GAAuB5D,QAAQqP,MAAMzL,GAE/CoP,EAAa/L,IAAKmL,EAAS,WAAW,IAEzB,IAAfY,IACmB,IAAjB,EAAKlF,SACP9N,QAAQqP,MAAR,yEACF6C,KAEAK,eAAY,iFAjB+E,qDAoB7FC,eAAc,wEACdxS,QAAQjC,MAAR,MArB6F,8DA2BnGyD,OAAIC,IAAIC,QACD,IAAMyxC,EAA0B,IAAIzxC,OAAKE,MAAM,CACpDC,MAAO,GACPG,UAAW,GACXS,QAAS,GACTJ,a,oCC5QF,wJAiBaiQ,EAAgB,SAAAhX,GAC3BolB,OAAMjQ,KAAK,CACTkQ,SAAU,IACVviB,QAAS9C,EAAE8C,SAAW9C,EACtBsH,SAAU,YACVpG,KAAM,gBAaG42C,EAAgB,SAAA93C,GAC3BolB,OAAMjQ,KAAK,CACTkQ,SAAU,IACVviB,QAAS9C,EAAE8C,SAAW9C,EACtBsH,SAAU,YACVpG,KAAM,gBAIGgW,EAAgB,SAAAlX,GAC3BolB,OAAMjQ,KAAK,CACTkQ,SAAU,IACVviB,QAAS9C,EAAE8C,SAAW9C,EACtBsH,SAAU,YACVpG,KAAM,cAERwD,QAAQqP,MAAM/T,IAGHiX,EAAcC,G,oCCtD3B,yBAAojB,EAAG,G,4JCUjjBnQ,EAAU,CAMRgxC,sBANQ,cAM8B,8KAAVlkC,EAAU,EAAVA,OAAU,kBAEnBG,OAAItQ,IACvB,iEACA,CACEmQ,WALoC,cAElC5U,EAFkC,yBASjC,CACL6V,KAAM7V,EAAOm3B,sBAVyB,mCAaxClf,eAAc,0DACdxS,QAAQjC,MAAR,MAdwC,iCAiBnC,CACLqS,KAAM,KAlBkC,4DAsBtCkjC,2BA5BQ,cA4BmC,8KAAVnkC,EAAU,EAAVA,OAAU,kBAExBG,OAAItQ,IAAI,sCAAuC,CAClEmQ,WAH2C,cAEvC5U,EAFuC,yBAMtC,CACL6V,KAAM7V,EAAO6X,UAP8B,mCAU7CI,eAAc,0DACdxS,QAAQjC,MAAR,MAX6C,iCAcxC,CACLqS,KAAM,KAfuC,4DAoB3CmjC,oBAhDQ,cAgD4B,8KAAVpkC,EAAU,EAAVA,OAAU,kBAEjBG,OAAItQ,IAAJ,wDAAiE,CACpFmQ,WAHoC,cAEhC5U,EAFgC,yBAM/B,CACLA,OAAQA,IAP4B,mCAUtCiY,eAAc,iEACdxS,QAAQjC,MAAR,MAXsC,iCAcjC,CACLy1C,OAAQ,KAf8B,6DAqB5ChyC,OAAIC,IAAIC,QACD,IAAM+xC,EAAc,IAAI/xC,OAAKE,MAAM,CACxCC,MAAO,GACPG,UAAW,GACXS,QAAS,GACTJ,a,+IC9CIqxC,EAAU,KACVC,EAAS,IAGfnyC,OAAIC,IAAIC,QACD,IAAMmP,EAAc,IAAInP,OAAKE,MAAM,CACxCC,MAAO,CACL+xC,WAAW,EACXtoC,WAAY,MAEdtJ,UAAW,CACH6xC,iBADG,SACchyC,EADd,GACqC,mJAAdyJ,EAAc,EAAdA,WAC9BzJ,EAAMyJ,WAAaA,EADyB,+CAIhD7I,QAAS,GACTJ,QAAS,CAIDmuC,KAJC,YAIuB,oEACnBsD,EADmB,iFACnBA,EADmB,WAE1B,IAAM/yC,EAAQb,OAAO6zC,WAEjBhzC,EAAQ4yC,EACe,WAArB9xC,EAAMyJ,YACR/I,EAAO,mBAAoB,CAAE+I,WAAY,WAElCvK,GAAS4yC,GAAU5yC,EAAQ2yC,EACX,WAArB7xC,EAAMyJ,YACR/I,EAAO,mBAAoB,CAAE+I,WAAY,WAElCvK,GAAS2yC,GACO,YAArB7xC,EAAMyJ,YACR/I,EAAO,mBAAoB,CAAE+I,WAAY,aAdpCzJ,EAAiB,EAAjBA,MAAOU,EAAU,EAAVA,OAmBbV,EAAM+xC,YACT1zC,OAAOwtC,iBAAiB,UAAU,WAChCoG,OAEFA,KAvB0B,kD,wMCnCrBhG,EAAM,SAAA7sC,GAAI,gBAAO0N,QAAP,OAAqB1N,IACtC+yC,EAAU,SAAAC,GAAM,wCACjBA,GACAjZ,OAAKkZ,gBAGJpmC,GAAU,EAED,QAUb9O,IAAK,WAAF,8CAAE,WAAOiC,GAAP,8GAAakzC,EAAb,+BAAmB,IACN,IAAZrmC,GAAkB9N,QAAQqP,MAAM,eAAiB8kC,EAAIH,SAEnDjoC,EAHH,iCAGkBooC,GAHlB,IAGuBH,QAASA,EAAQG,EAAIH,WAH5C,SAIgBvlC,IAAMzP,IAAI8uC,EAAI7sC,GAAO8K,GAAS6C,MAAMwlC,QAJpD,cAIGC,EAJH,8BAKkB/1C,IAAd+1C,EAAKn7C,MAAsBm7C,EAAKn7C,KAAOm7C,EAAKn7C,KAAO,IALvD,2CAAF,sDAAE,GAQLo7C,cAAe,WAAF,8CAAE,WAAMrzC,GAAN,uGACMwN,IAAMzP,IAAIiC,GAAM2N,MAAMwlC,QAD5B,cACPC,EADO,8BAEQ/1C,IAAd+1C,EAAKn7C,MAAsBm7C,EAAKn7C,KAAOm7C,EAAKn7C,KAAO,IAF7C,2CAAF,sDAAE,GAKfq7C,2BAA4B,WAAF,8CAAE,WAAMtzC,GAAN,qHACf6sC,EAAI7sC,GADW,mCACqB+5B,OAAKkZ,cAD1B,iDAAF,sDAAE,GAI5BxlC,KAAM,WAAF,8CAAE,WAAOzN,EAAM/H,GAAb,8GAAmBi7C,EAAnB,+BAAyB,IACb,IAAZrmC,GAAkB9N,QAAQqP,MAAM,WAAa8kC,EAAIH,SAEtC,GAAXlmC,GAAiB9N,QAAQqP,MAAR,oBAA2BE,KAAKC,UAAUtW,KAChD,GAAX4U,GAAiB9N,QAAQqP,MAAR,oBAA2BpO,IAE1C8K,EANF,iCAOCooC,GAPD,IAQFH,QAASA,EAAQG,EAAIH,WARnB,SAWevlC,IAAMC,KAAKo/B,EAAI7sC,GAAO/H,EAAM6S,GAAS6C,MAAMwlC,QAX1D,cAWEC,EAXF,8BAaiB/1C,IAAd+1C,EAAKn7C,MAAsBm7C,EAAKn7C,KAAOm7C,EAAKn7C,KAAO,IAbtD,2CAAF,wDAAE,GAgBNs7C,kBAAmB,WAAF,8CAAE,WAAOvzC,EAAM/H,EAAMu7C,GAAnB,8GAAwBN,EAAxB,+BAA8B,GAC/Cn0C,QAAQqP,MAAR,oBAA2BE,KAAKC,UAAUtW,KAC1C8G,QAAQqP,MAAR,oBAA2BpO,IAErB8K,EAJW,iCAKZooC,GALY,IAMfH,QAAS,CAAEU,cAAe,UAAF,OAAYD,OAGtB,IAAZ3mC,GAAkB9N,QAAQqP,MAAM,WAAatD,GAThC,SAWE0C,IAAMC,KAAKzN,EAAM/H,EAAM6S,GAAS6C,MAAMwlC,QAXxC,cAWXC,EAXW,8BAaI/1C,IAAd+1C,EAAKn7C,MAAsBm7C,EAAKn7C,KAAOm7C,EAAKn7C,KAAO,IAbzC,2CAAF,0DAAE,GAmBnBy7C,MAAO,WAAF,8CAAE,WAAO1zC,EAAM/H,GAAb,kHAAmBi7C,EAAnB,+BAAyB,GAC1BE,EAAO,CAAEn7C,KAAM,IADd,kBAIUuV,IAAMC,KAAKo/B,EAAI7sC,GAAO/H,EAAtB,iCACRi7C,GADQ,IAEXH,QAASA,EAAQG,EAAIH,YANpB,OAIHK,EAJG,0DASHA,EAAOptC,IAAK,EAAD,GAAI,WAAY,IATxB,QAYC+H,EAAS/H,IAAKotC,EAAM,CAAC,UAAW,MAChCO,EAAW3tC,IAAKotC,EAAM,CAAC,QAAS,IAElCQ,GAAa,EAEjB,IACM3rC,OAAOosB,UAAUtmB,IAAoC,MAAzBA,EAAOgJ,WAAW,KAChD68B,GAAa,GAEf,MAAO9gC,GACP/T,QAAQjC,MAAMgW,GAtBX,yBAyBE,CACL8gC,aACAR,OACArlC,SACA9V,KAAM07C,IA7BH,yDAAF,wDAAE,GAiCPp4B,IAAK,WAAF,8CAAE,WAAOvb,EAAM/H,GAAb,8GAAmBi7C,EAAnB,+BAAyB,GAEb,GAAXrmC,GAAiB9N,QAAQqP,MAAR,mBAA0BE,KAAKC,UAAUtW,KAC/C,GAAX4U,GAAiB9N,QAAQqP,MAAR,mBAA0BpO,IACzC8K,EAJH,iCAIkBooC,GAJlB,IAIuBH,QAASA,EAAQG,EAAIH,WAJ5C,SAKgBvlC,IAAM+N,IAAIsxB,EAAI7sC,GAAO/H,EAAM6S,GAAS6C,MAAMwlC,QAL1D,cAKGC,EALH,8BAMkB/1C,IAAd+1C,EAAKn7C,MAAsBm7C,EAAKn7C,KAAOm7C,EAAKn7C,KAAO,IANvD,2CAAF,wDAAE,GASL6Z,OAAQ,WAAF,8CAAE,WAAO9R,EAAM/H,GAAb,8GAAmBi7C,EAAnB,+BAAyB,GACzBpoC,EADA,iCACeooC,GADf,IACoBH,QAASA,EAAQG,EAAIH,WAChC,GAAXlmC,GAAiB9N,QAAQqP,MAAR,yBAAgCE,KAAKC,UAAUzD,KACrD,GAAX+B,GAAiB9N,QAAQqP,MAAR,sBAA6BE,KAAKC,UAAUtW,KAClD,GAAX4U,GAAiB9N,QAAQqP,MAAR,sBAA6BpO,IAJ5C,SAKawN,IAAMsE,OAAO+6B,EAAI7sC,GAAO8K,GAAS6C,MAAMwlC,QALpD,cAKAC,EALA,8BAMe/1C,IAAd+1C,EAAKn7C,MAAsBm7C,EAAKn7C,KAAOm7C,EAAKn7C,KAAO,IANpD,2CAAF,wDAAE,GASR40C,MAEAkG,Y,kDCjJK,SAASE,IAAc,MACV3zC,KAAKu0C,WAAf7lC,EADoB,EACpBA,MAER,OAAKA,EAEE,CAAEylC,cAAe,UAAF,OAAYzlC,IAFf,G,0BCFd,SAAe8lC,IAAtB,+B,8DAAO,wHAEsBx0C,KAAKu0C,WAAtBnZ,EAFL,EAEKA,aAFL,SAIUp7B,KAAKy0C,YAAYrZ,GAJ3B,qGAOI,GAPJ,yD,yECOA,SAAesZ,IAAtB,+B,8DAAO,uHACExmC,IACJzP,IADI,UACG2P,OADH,aAC2B,CAC9BqlC,QAAS,kBAAKzzC,KAAK2zC,iBAEpB52C,MAAK,SAAAwR,GAAG,OAAIA,EAAI5V,KAAKg8C,QACrBtmC,MAAMwlC,SANJ,gD,wBCPA,SAASe,IAAkC,6DAAJ,GAAI,IAAlBC,aAAkB,MAAV,EAAU,EAQhD,OAPIA,GACFp1C,QAAQ8T,KAAK,gBAAiB,CAC5BxC,sBACApH,MAAO3J,KAAK80C,iBAIThkC,KAAKC,OAAiB/Q,KAAK80C,gB,yBCJvBC,G,UAAc37C,OAAOgJ,OAAO,CACvC1B,KAAM,IACNsQ,OAAQC,OACRC,QAAS,KCJJ,SAASqjC,IACd,IAAM57C,EAAOiY,IAAQnS,IAAIuB,KAAK40C,gBAAiBG,GACzCC,EAAOr8C,GAAQsjC,KAAKtjC,GAI1B,OAAQq8C,GAAQhmC,KAAKgB,MAAMglC,IAAU,GCJhC,SAAeC,IAAtB,+B,8DAAO,uHACE/mC,IACJzP,IADI,UACG2P,OADH,2BACyC,CAC5CqlC,QAAS,kBAAKzzC,KAAK2zC,iBAEpB52C,MAAK,SAAAwR,GAAG,OAAIA,EAAI5V,QAChB0V,MAAMwlC,SANJ,gD,oGCPA,SAAeqB,EAAtB,oC,8DAAO,WAA6B9sC,EAAO+sC,GAApC,oGACan1C,KAAKu0C,WAAf7lC,EADH,EACGA,MACK,MAATA,EAFC,0CAEqB,GAFrB,cAKC0mC,EAAepmC,KAAKgB,MAAMisB,KAAKvtB,EAAM2mC,MAAM,KAAK,KAEhDC,EAAcF,EAAa,4BAC7BG,GAAgB,EAEpBD,EAAYD,MAAM,KAAKngB,SAAQ,SAAAsgB,GAAkB,MACVA,EAAeH,MAAM,KADX,sBAC1CI,EAD0C,KAC5BC,EAD4B,KAG3CD,GAAgBrtC,IAClBmtC,EAAgBG,EAAeL,MAAM,KAAK5xC,SAAS0xC,OAIvD11C,QAAQ6S,IAAI,YAAclK,EAAQ,IAAM+sC,EAAiB,MAAQI,GAlB5D,kBAoBEA,GApBF,gD,wBCEA,SAAe7Z,IAAtB,+B,8DAAO,gIAEyC17B,KAAKu0C,WAAzC7lC,EAFL,EAEKA,MAAO2sB,EAFZ,EAEYA,WAAYD,EAFxB,EAEwBA,aAErBga,EAAepmC,KAAKgB,MAAMisB,KAAKvtB,EAAM2mC,MAAM,KAAK,KAChDM,GAAW,IAAItgB,KAAwB,IAAnB+f,EAAaQ,KACjCC,GAAe,IAAIxgB,KAAKgG,GACxBya,GAAO,IAAIzgB,OAGbsgB,EAAUG,GAVX,0CAYM,GAZN,YAeCD,EAAcC,GAff,kCAkBY91C,KAAKy0C,YAAYrZ,GAlB7B,2EAqBM,GArBN,uFAyBI,GAzBJ,0D,wBCAA,SAAeV,IAAtB,+B,8DAAO,8GACK16B,KAAK07B,gBADV,2DAEI17B,KAAKg7B,YAFT,gCAKE,MALF,gD,wBCFA,SAAeF,IAAtB,+B,8DAAO,8GACK96B,KAAKw0C,oBADV,2DAEIx0C,KAAKg7B,YAFT,gCAII,MAJJ,gD,sDCMA,SAAeA,IAAtB,+B,8DAAO,yKAAwC,GAAxC,IAA0B6Z,aAA1B,MAAkC,EAAlC,EACCkB,EAAyB,UAAXryC,iBAoBd+vC,EArBD,kBAqBgBzzC,KAAK2zC,YAAY,CAAEkB,WArBnC,SAsBqB35C,QAAQ+C,IAAI,CACpCiQ,IACGzP,IADH,UACU2P,OADV,SAC8B,CAC1BqlC,YAEDplC,OAAM,WACL5O,QAAQjC,MAAR,iBAAgC,CAC9Bi2C,YAGF,EAAKnY,YAGTya,GAAe/1C,KAAK00C,oBAnCjB,cAsBCsB,EAtBD,OAsCLv2C,QAAQ6S,IAAI,CAAE0jC,gBAtCT,mDAyCAA,EAAY,GAAGr9C,MACdo9C,EAAc,CAAEttC,aAAcutC,EAAY,IAAO,KA1ClD,gD,wBCFP,IAAIzoC,GAAU,EAEP,SAAe0tB,EAAtB,oC,8DAAO,WAAqCntB,EAAOC,GAA5C,kIAEgBG,IAAMC,KAAN,UAAcC,OAAd,eAAwC,CACzDN,QACAC,WACApE,MAAmB,eAAZjG,iBAA2B,aAAeA,iBACjDsK,WAAY,cANX,UAEG8lC,EAFH,QASa,IAAZvmC,GAAkB9N,QAAQqP,MAAM,yBAA2BE,KAAKC,UAAU6kC,EAAKn7C,OAThF,EAWyEm7C,EAAKn7C,KAAzEs9C,EAXL,EAWKA,iCAAkC/a,EAXvC,EAWuCA,+BAED,IAArC+a,EAbD,sBAcG/a,GAAiCA,EAA8B/hC,OAAS,GAd3E,wBAgBiB,IAAZoU,GACF9N,QAAQqP,MACN,mBACEmnC,EACA,WACAjnC,KAAKC,UAAUisB,IArBtB,kBAwBQA,GAxBR,0EA2BMr9B,eA3BN,MA2BgB,QA3BhB,SA2ByB2Q,gBA3BzB,MA2BoC,GA3BpC,EA4BHxO,KAAKs7B,SA5BF,EA6BwB9sB,EAAnB7V,YA7BL,MA6BYkF,EA7BZ,EA8BG,IAAIpB,MAAM9D,EAAKkF,SAAWlF,GA9B7B,iCAiCE,MAjCF,0D,wBC2BA,SAAe4hC,EAAtB,oC,8DAAO,WAAqBzsB,EAAOC,GAA5B,gIAAsC8mC,EAAtC,+BAA8C,EAA9C,kBAEgB3mC,IAAMC,KAAN,UAAcC,OAAd,eAAwC,CACzDN,QACAC,WACApE,MAAmB,eAAZjG,iBAA2B,aAAeA,iBACjDsK,WAAY,cANX,UAEG8lC,EAFH,SASyCA,EAAKn7C,KAAzC+V,EATL,EASKA,MAAO0sB,EATZ,EASYA,aAAcC,EAT1B,EAS0BA,WAEzBwZ,GACFp1C,QAAQ8T,KAAK,aAAc,CAAE7E,QAAO0sB,eAAcC,gBAGhDyY,IAAQplC,EAfT,wBAgBD1O,KAAKk2C,UAAUxnC,EAAO0sB,EAAcC,EAAYwZ,GAhB/C,kBAiBM70C,KAAKg7B,YAjBX,cAmBDh7B,KAAKs7B,SACC,IAAI7+B,MAAM,yDApBf,0EAsBMoB,eAtBN,MAsBgB,QAtBhB,SAsByB2Q,gBAtBzB,MAsBoC,GAtBpC,EAuBHxO,KAAKs7B,SAvBF,EAwBwB9sB,EAAnB7V,YAxBL,MAwBYkF,EAxBZ,EAyBG,IAAIpB,MAAM9D,EAAKkF,SAAWlF,GAzB7B,0D,wBC9BA,SAAS2iC,IACd,OAAO1qB,IAAQ6xB,OAAOziC,KAAK40C,gBAAiBG,GCCvC,SAAemB,EAAtB,sC,8DAAO,WAAyBxnC,EAAO0sB,EAAcC,GAA9C,qGAA0DwZ,EAA1D,+BAAkE,EACjElrC,EAAQ3J,KAAK80C,eAEfD,GACFp1C,QAAQ6S,IAAI,iBAAkB,CAC5ByiC,YAAa/lC,KAAKC,UAAU8lC,GAC5BoB,YAAan2C,KAAK40C,gBAClBwB,SAAU,CAAE1nC,QAAO0sB,eAAcC,aAAY1xB,SAE7C+E,MAAOoC,KAAK9B,KAAKC,UAAU,CAAEP,QAAO0sB,eAAcC,aAAY1xB,aAIlEiH,IAAQC,IACN7Q,KAAK40C,gBACL9jC,KAAK9B,KAAKC,UAAU,CAAEP,QAAO0sB,eAAcC,aAAY1xB,WACvDorC,GAhBG,gD,wBCLA,SAAe5Z,EAAtB,sC,8DAAO,WAA8BzsB,EAAO0sB,EAAcC,GAAnD,8GAEuBA,EAFvB,uBAGDr7B,KAAKk2C,UAAUxnC,EAAO0sB,EAAcC,GAHnC,kBAIMr7B,KAAKg7B,YAJX,aAMDh7B,KAAKs7B,SACC,IAAI7+B,MAAM,oEAPf,yEASMoB,eATN,MASgB,QAThB,SASyB2Q,gBATzB,MASoC,GATpC,EAUHxO,KAAKs7B,SAVF,EAWwB9sB,EAAnB7V,YAXL,MAWYkF,EAXZ,EAYG,IAAIpB,MAAM9D,EAAKkF,SAAWlF,GAZ7B,0D,wBCKA,SAAe87C,EAAtB,kC,8DAAO,WAA2B4B,GAA3B,wHAEgBnoC,IAAMC,KAAN,UAAcC,OAAd,qBAA8C,CAAEgtB,aAAcib,IAF9E,UAEGvC,EAFH,SAGyCA,EAAKn7C,KAAzC+V,EAHL,EAGKA,MAAO0sB,EAHZ,EAGYA,aAAcC,EAH1B,EAG0BA,YAEzByY,IAAQplC,EALT,wBAMD1O,KAAKk2C,UAAUxnC,EAAO0sB,EAAcC,GANnC,mBAOM,GAPN,kCASM,GATN,uFAYI,GAZJ,0D,wBC4CP,IAAMZ,EAAO,CACXkZ,cACAa,oBACAE,kBACAE,gBACAL,WACAU,WACAC,gBACAxZ,gBACAhB,WACAI,uBACAE,WACAC,wBACAV,QACAe,SACA4a,YACA/a,iBACAsZ,cAGAK,aApBW,WAqBT,OAAOpxC,mBAII+2B,U,mLChET34B,EAAU,CAMRw0C,0BANQ,cAMsD,gLAA9BxtC,EAA8B,EAA9BA,MAAOytC,EAAuB,EAAvBA,oBAAuB,kBAE3CxnC,OAAItQ,IAAI,6BAA8B,CACzDmQ,OAAQ,CACN9F,QACAytC,yBAL4D,cAE1Dv8C,EAF0D,yBASzD,CACL6V,KAAM7V,EAAO6X,UAViD,mCAahEI,eAAc,0DACdxS,QAAQjC,MAAR,MAdgE,iCAiB3D,CACLqS,KAAM,KAlB0D,4DAuB9D2mC,oBA7BQ,cA6BoC,8KAAlBC,EAAkB,EAAlBA,eAAkB,kBAEzB1nC,OAAItQ,IAAJ,gCAAiCg4C,IAFR,cAExCxD,EAFwC,yBAIvC,CACLj5C,OAAQi5C,IALoC,mCAQ9ChhC,eAAc,8CACdxS,QAAQjC,MAAR,MAT8C,iCAYzC,CACLy1C,OAAQ,KAbsC,6DAmBpDhyC,OAAIC,IAAIC,QACD,IAAMu1C,EAAe,IAAIv1C,OAAKE,MAAM,CACzCC,MAAO,GACPG,UAAW,GACXS,QAAS,GACTJ,a,kQC5DW60C,EAAb,wDACE,WAAY94C,EAAS4Q,GAAQ,oCAE3B,cAAM5Q,GAIiC,oBAA5BpB,MAAMm6C,kBACfn6C,MAAMm6C,kBAAN,kBAA8B,EAAKC,aAEnC,EAAKC,MAAQ,IAAIr6C,MAAMoB,GAASi5C,MAIlC,EAAKh5C,KAAO,EAAK+4C,YAAY/4C,KAM7B,EAAK2Q,OAASA,GAAU,IAnBG,EAD/B,yBAA8BhS,QAwBjBs6C,EAAb,wDACE,WAAYC,GAAgC,MAA3BC,EAA2B,uDAAlB,GAAIxoC,EAAc,uDAAL,IAAK,8BAC1C,cAAMpJ,OAAO2xC,GAAMvoC,GAGnB,EAAKwoC,OAASC,IAAQD,GAAQ,SAACjyC,EAAImyC,GAAL,OAAWC,IAAUD,MAJT,EAD9C,UAAqCR,GAUxB9C,EAAsB,SAAA94C,GACjC,QACiBgD,IAAfhD,EAAEyT,eACkBzQ,IAApBhD,EAAEyT,SAAS7V,WACWoF,IAAtBhD,EAAEyT,SAASC,OACX,OACyB1T,EAAEyT,SAAnBC,EADR,EACQA,OAAQ9V,EADhB,EACgBA,KAEhB,QAAeoF,IAAX0Q,GAAwBA,GAAqB,MAAXA,EAEhC9O,QAAQA,OAAO03C,SAAS3X,aACvB,SACM3hC,IAAX0Q,GACAA,GACW,MAAXA,QACS1Q,IAATpF,GACAA,GACAA,EAAKkF,QAIL,MAFA4B,QAAQqP,MAAM,IAAMnW,EAAKkF,SAEnB,IAAIpB,MAAM9D,EAAKkF,SAChB,UACME,IAAX0Q,GACAA,GACW,MAAXA,QACS1Q,IAATpF,GACAA,GACAA,EAAKi0B,OACLj0B,EAAK6Y,QAiBA,WAAazT,IAATpF,GAAsBA,GAAQA,EAAKQ,QAE5CsG,QAAQqP,MAAM,KACR,IAAIioC,EACRh8C,EAAE8C,QACF,CAAEkQ,cAAmBhQ,IAATpF,GAAsBA,EAAOA,EAAK+S,KAAI,SAAA3Q,GAAC,OAAIA,EAAE8a,eAAayhC,KAAK,UAAY,SAC5Ev5C,IAAX0Q,GAAwBA,EAASA,EAAS,UAE1B1Q,IAATpF,GAAsBA,GAAQA,EAAK6Y,QAC5C/R,QAAQqP,MAAM,IAAME,KAAKC,UAAUtW,EAAK6Y,SAClC,IAAI/U,WACCsB,IAATpF,GAAsBA,EAAOA,EAAK6Y,OAAO9F,KAAI,SAAA3Q,GAAC,OAAIA,EAAE8C,WAASy5C,KAAK,UAAY,MAGhF73C,QAAQqP,MAAM,OAAS/T,GACjB,IAAI0B,MAAM1B,IA7BhB,GADA0E,QAAQqP,MAAM,IAAMnW,EAAKi0B,MAAQ,MAAQ5d,KAAKC,UAAUtW,EAAK6Y,OAAO+lC,YACvDx5C,IAATpF,GAAsBA,QAA6BoF,IAArBpF,EAAK6Y,OAAO+lC,MAAsB5+C,EAAK6Y,OAAO+lC,KAC9E,MAAM,IAAI96C,MAAM9D,EAAK6Y,OAAO+lC,MAE5B,QACWx5C,IAATpF,GACAA,QACeoF,IAAfpF,EAAKi0B,YACW7uB,IAAhBpF,EAAK6Y,aACMzT,IAAX0Q,GACAA,EAEA,MAAM,IAAIsoC,EAAgBp+C,EAAKi0B,MAAOj0B,EAAK6Y,OAAQ/C,O,kCChF7D,yBAAimB,EAAG,G,oCCApmB,yBAA4kB,EAAG,G,gvBCA/kB,yBAAimB,EAAG,G,kCCApmB,yBAAolB,EAAG,G,6IC8BvlBxN,OAAIC,IAAIC,QACD,IAAM8H,EAAgB,IAAI9H,OAAKE,MAAM,CAC1CC,MAAO,CACL4O,MAAM,EACNsnC,SAAU,IAEZ/1C,UAAW,CAKHqF,KALG,WAKI,oLACPI,KANG,WAMI,oLACPY,OAPG,WAOM,qLAGjBhG,QAAS,CASDgF,KATC,WASuB0wC,GAAU,qJAA3Bl2C,EAA2B,EAA3BA,MAAOU,EAAoB,EAApBA,OAClBV,EAAM4O,MAAO,EACblO,EAAO,OAAQw1C,GAFuB,8CAMlCtwC,KAfC,YAeuB,qJAAjB5F,EAAiB,EAAjBA,MAAOU,EAAU,EAAVA,OAClBV,EAAM4O,MAAO,EACblO,EAAO,QAFqB,+CAMhCE,QAAS,M,yDCnEX,IAAIpC,EAAS,WAAa,IAAIC,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAQF,EAAQ,KAAEI,EAAG,MAAM,CAACyD,MAAM,sBAAwB7D,EAAI03C,QAAQl3C,MAAM,CACjKmK,SAAU,UACV7G,OAAQ9D,EAAI8D,QACXE,GAAG,CAAC,KAAO,SAAS8B,GAAQ9F,EAAImQ,MAAO,KAAS,CAAC/P,EAAG,MAAM,CAACG,YAAY,gBAAgBC,MAAOR,EAAI8pC,QAAuB,gBAAExpC,MAAM,CAAC,mBAAmB,KAAK,CAACF,EAAG,MAAM,CAACG,YAAY,+BAA+ByD,GAAG,CAAC,MAAQhE,EAAIwR,gBAAgBpR,EAAG,MAAM,CAACuF,IAAI,QAAQpF,YAAY,iGAAiGC,MAAOR,EAAI8pC,QAAa,MAAExpC,MAAM,CAAC,cAAc,GAAG,SAAW,IAAI,KAAO,WAAW,EAAqB,IAAnBN,EAAI23C,WAAqBv3C,EAAG,MAAM,CAACI,MAAM,CAC9e8B,SAAU,WACV0C,QAAS,OACT0E,eAAgB,gBAChB9D,WAAY,SACZnF,MAAO,OACPm3C,KAAM,WACNC,aAAc,iBACdp1C,QAAS,qBACP,CAACrC,EAAG,SAAS,CAACI,MAAOnH,OAAOiN,OAAO,GAAI,CAACqH,SAAU,QACjD3N,EAAI83C,YACD,CACEr3C,MAAO,MACP4qC,WAAY,OAEd,IAAM/qC,MAAM,CAAC,eAAe,KAAK,CAACN,EAAIiB,GAAG,WAAW,GAAGb,EAAG,SAAS,CAACG,YAAY,kIAAkIC,MAAM,CAC5N8B,SAAU,WACVwF,MAAO,QACNxH,MAAM,CAAC,GAAK,aAAa,KAAO,SAAS,aAAa,SAAS0D,GAAG,CAAC,MAAQhE,EAAIwR,aAAa,CAACpR,EAAG,MAAM,CAACI,MAAM,CAC5GuD,OAAQ,SACRtD,MAAO,UACNH,MAAM,CAAC,KAAO,OAAO,OAAS,eAAe,QAAU,YAAY,MAAQ,+BAA+B,CAACF,EAAG,OAAO,CAACE,MAAM,CAAC,iBAAiB,QAAQ,kBAAkB,QAAQ,eAAe,IAAI,EAAI,gFAAgFN,EAAIc,KAAQb,KAAK83C,OAAOC,QAAS53C,EAAG,UAAU,CAACI,MAAM,CACjV8B,SAAU,WAEV7B,MAAO,OACPo3C,aAAc,iBACdp1C,QAAS,WACRnC,MAAM,CAAC,gBAAgB,KAAK,CAACN,EAAIiB,GAAG,YAAY,GAAGjB,EAAIc,KAAKV,EAAG,MAAM,CAACI,MAAOR,EAAI8pC,QAAoB,cAAG,CAAC9pC,EAAIiB,GAAG,YAAY,GAAIhB,KAAK83C,OAAa,OAAE33C,EAAG,SAAS,CAACI,MAAOR,EAAI8pC,QAAc,OAAExpC,MAAM,CAAC,eAAe,KAAK,CAACN,EAAIiB,GAAG,WAAW,GAAGjB,EAAIc,KAAKV,EAAG,YAAY,CAACE,MAAM,CAAC,gBAAe,EAAM,cAAa,EAAM,wBAAwB,IAAI+L,MAAM,CAACvN,MAAOkB,EAAW,QAAEsM,SAAS,SAAUC,GAAMvM,EAAIi4C,QAAQ1rC,GAAKjB,WAAW,cAAc,KAAKtL,EAAIc,MAC7bC,EAAkB,GC/Bf,SAASwC,IACd9H,SAASy8C,oBAAoB,QAASj4C,KAAKk4C,SAC3C18C,SAASy8C,oBAAoB,UAAWj4C,KAAKm4C,WAE7C14C,QAAQqP,MAAM,uBAEd9O,KAAKoD,mB,gBCNHg1C,EAA2B,MAC3BC,EAAqB,IAIlB,SAAS1/C,IACd,MAAO,CACLkL,OAAQ8J,OAASyjC,OACjBrmC,WAAY,KACZstC,qBACAD,2BACAloC,MAAM,EACNooC,aAAa,EACbC,kBAAmB,GACnB1O,QAAS7pC,KAAKw4C,mB,cCdLrzC,EAAQ,CACnBsyC,QAAS,CACPx7C,KAAMoJ,OACND,QAAS,IAEXqzC,UAAW,CACTx8C,KAAMoJ,OACND,QAAS,SAEXyyC,YAAa,CACX57C,KAAMuM,QACNpD,SAAS,GAEXszC,OAAQlwC,QACRmwC,QAAStzC,OACT2yC,QAAS,CACP/7C,KAAMuM,QACNpD,SAAS,GAEXwzC,MAAOjwC,OACP+uC,WAAY,CACVz7C,KAAMuM,QACNpD,SAAS,GAEXrE,OAAQ,CACN9E,KAAM7C,OACNgM,QAFM,WAGJ,MAAO,KAGX0C,OAAQU,QACRqwC,iBAAkB,CAChB58C,KAAM68C,SACN1zC,QAFgB,e,iCC7BPvC,EAAU,CACrB21C,gBADqB,WAEnB,IAAMztC,EAAa/K,KAAK+K,WAClBqtC,EAA2Bp4C,KAAKo4C,yBAEtC,OAAOW,IACL,GACA,CACE/wC,MAAO,+BACL0I,QAAS,EAET3L,QAAS,OACTi0C,cAAe,SAEf32C,SAAU,YAES,YAAf0I,EACA,CACEzI,IAAK,MACLC,KAAM,MACNO,UAAW,oCACXsB,UAAW,OACX6D,SAAU,QACVzH,MAAO,OAET,CACE8B,IAAK,MACLC,KAAM,MACNO,UAAW,oCACXsB,UAAW,OACX6D,SAAU,OACVzH,MAAO,SAvBV,IA0BHmC,WAAY,WAAF,OAAay1C,GACvB1tC,SAAU,YAEZ3C,aAAc,CACZ1F,SAAU,WACVqI,SAAU,OACVlI,QAAS,aAEXy2C,gBAAiB,CACfvoC,QAAS,EACT/N,WAAY,WAAF,OAAay1C,IAEzBc,OAAQ,CACN12C,QAAS,OACT22C,UAAW,iCAGfn5C,KAAKe,SAGTq4C,cAtDqB,SAsDPv6C,GAAO,WACnBY,QAAQ6S,IAAI,gBAAiBzT,GAI7Bb,YAAW,WACLa,GACF,EAAKgrC,QAAQoP,gBAAgBvoC,QAAU,IACvC,EAAKm5B,QAAQ7hC,MAAM0I,QAAU,IAE7B,EAAKm5B,QAAQoP,gBAAgBvoC,QAAU,EACvC,EAAKm5B,QAAQ7hC,MAAM0I,QAAU,KAE9B,IAEW,IAAV7R,EACFmB,KAAKkQ,KAAOrR,EAGZb,YAAW,WACT,EAAKkS,KAAOrR,IACXmB,KAAKq4C,qBAGZ9mC,WA9EqB,WA8ER,WACXvR,KAAK6pC,QAAQoP,gBAAgBvoC,QAAU,EACvC1Q,KAAK6pC,QAAQ7hC,MAAM0I,QAAU,EAE7B1S,YAAW,WACT,EAAKgV,MAAM,iBAAiB,KAC3B,MAELklC,QAtFqB,SAsFb97C,GACN,GAAK4D,KAAK8H,OAIV,IACE,IAAMuxC,EAAQr5C,KAAK+G,MAAMsyC,MAErBA,IAAUA,EAAMC,SAASl9C,EAAME,UACjCF,EAAMm9C,kBACNF,EAAMpyC,SAER,MAAOqH,GAEP7O,QAAQjC,MAAM8Q,KAGlB6pC,UAvGqB,SAuGX/7C,GAEJ4D,KAAK8H,QAA2B,IAAjB1L,EAAMo9C,SACvBx5C,KAAKgT,MAAM,iBAAiB,K,YC1G3B,SAAShQ,IAAU,WACxBxH,SAAS2xC,iBAAiB,QAASntC,KAAKk4C,SAAS,GACjD18C,SAAS2xC,iBAAiB,UAAWntC,KAAKm4C,WAAW,GAErDn4C,KAAK6pC,QAAQ7hC,MAAMxH,MAAQR,KAAK24C,QAAU34C,KAAK24C,QAAU,MAErD34C,KAAK8H,QACP9H,KAAKo5C,eAAc,GAGrBp5C,KAAKoD,iBAAmBkN,OAAYpN,WAAU,SAACiE,EAAU7F,GACvD,IAAM6B,EAAQgE,EAASlL,KAET,qBAAVkH,IAA8C,IAAd,EAAK+M,OACvC,EAAKnF,WAAazJ,EAAMyJ,WACxB,EAAKquC,eAAc,OAIvBp5C,KAAK+K,WAAauF,OAAYhP,MAAMyJ,W,gBCnBzB3D,EAAQ,CACnB8I,KADmB,SACdupC,GAAK,WACJA,GAKFz7C,YAAW,WACT,IACE,EAAK+I,MAAMsyC,MAAMpyC,QACjB,MAAOgH,GACPxO,QAAQqP,MAAMb,MAEf,MAGPnG,OAhBmB,SAgBZjJ,GACLmB,KAAKo5C,cAAcv6C,IAEL,IAAVA,IACFoK,OAAc5F,SAAS,QACvBrD,KAAK64C,qBAGT9tC,WAxBmB,WAyBjB/K,KAAK6pC,QAAU7pC,KAAKw4C,oBCoJxB,GACErzC,MAAF,EACExM,KAAF,EACEkK,QAAF,EACEuE,MAAF,EACEpE,QAAF,EACEM,cAAF,GCrL8V,I,wBCQ1VC,EAAY,eACd,EACAzD,EACAgB,GACA,EACA,KACA,WACA,MAIa,OAAAyC,E,2CCnBf,IAAIzD,EAAS,WAAa,IAAIC,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,qBAAqB,CAACuF,IAAI,WAAWrF,MAAM,CAAC,IAAMN,EAAI25C,IAAI,KAAO35C,EAAI45C,OAAO77C,MAAQiC,EAAI45C,OAAO90C,MAAM,MAAQ9E,EAAI8uC,OAAOzkC,YAAYrK,EAAIsK,GAAG,CAAC,CAAClL,IAAI,UAAUmL,GAAG,SAAS5E,GAC1Q,IAAI8L,EAAS9L,EAAI8L,OACbooC,EAAQl0C,EAAIk0C,MAChB,MAAO,CAACz5C,EAAG,UAAUJ,EAAI85C,GAAG,CAACx5C,MAAM,CAAC,KAAO,CACrC,YAAamR,EAAOrY,OAAS,GAAK4G,EAAI+5C,aAAa3gD,OAAS,EAC5D,aAAcygD,GAAqC,IAA5B75C,EAAI+5C,aAAa3gD,QACxC,QAAU4G,EAAI+5C,eAAiBtoC,EAAOrY,OAAS,EAAIqY,EAAO,GAAK,KAAKpH,YAAYrK,EAAIsK,GAAG,CAAEtK,EAAY,SAAE,CAACZ,IAAI,QAAQmL,GAAG,WAAW,MAAO,CAACvK,EAAIiF,GAAG,IAAIjF,EAAIkF,GAAGlF,EAAI45C,OAAO90C,OAAO,KAAK1E,EAAG,QAAQ,CAACJ,EAAIiF,GAAG,gBAAgBgG,OAAM,GAAM,MAAM,MAAK,IAAO,UAAUjL,EAAI45C,QAAO,GAAO,CAACx5C,EAAG,UAAUJ,EAAI85C,GAAG,CAAC91C,GAAG,CAAC,OAAS,SAAS8B,GAAQ,OAAO9F,EAAIg6C,kBAAkB3tC,MAAM,CAACvN,MAAOkB,EAAc,WAAEsM,SAAS,SAAUC,GAAMvM,EAAIi6C,WAAW1tC,GAAKjB,WAAW,eAAe,UAAUtL,EAAI45C,QAAO,KAAS,WACte74C,EAAkB,G,YCoCtB,GACEwE,WAAY,CACVuN,mBAAJ,QAEE1N,MAAO,CAOLtH,QAAS,CACP5B,KAAMoJ,OACND,QAAS,IAEXs0C,IAAK,CACHz9C,KAAMoJ,QAERwpC,MAAO,CACL5yC,KAAM,CAAC7C,OAAQiM,QACfD,QAAS,IAGXvG,MAAO,CACL5C,KAAM,MAGRg+C,SAAU,CACRh+C,KAAMuM,QACNpD,SAAS,IAGbzM,KAhCF,WAiCI,MAAO,CACLqhD,WAAY,GACZE,uBAAuB,EACvBJ,aAAc95C,KAAKnC,QACnB2T,OAAQ,KAGZpK,MAAO,CACLvJ,QADJ,WAEMmC,KAAK85C,aAAe95C,KAAKnC,SAG3Bm8C,WALJ,SAKA,GAOUh6C,KAAKk6C,uBAAyBl6C,KAAKnB,MACrCmB,KAAKk6C,uBAAwB,GAE7Bl6C,KAAK85C,aAAe,GACpB95C,KAAKgT,MAAM,iBAAkB,KAG/BhT,KAAKgT,MAAM,QAASmnC,IAGtBt7C,MAtBJ,SAsBA,GACMmB,KAAKg6C,WAAaG,IAGtBrtC,QAlEF,WAmEQ9M,KAAKnB,QACPmB,KAAKg6C,WAAah6C,KAAKnB,SC/GgV,I,YCOzW0E,EAAY,eACd,EACAzD,EACAgB,GACA,EACA,KACA,KACA,MAIa,OAAAyC,E,8BClBf1I,EAAOD,QAAU,IAA0B,8B,kCCA3C,0K,MAcIia,uXAPmBzG,E,EAArBgsC,oBACiB5R,E,EAAjB6R,gBACyBppC,E,EAAzBqpC,wBACwBvpC,E,EAAxBwpC,uBAOE9vC,G,EANF+vC,sB,EACAC,+B,EACAC,uBAIO,OACT,SAASh3C,EAAMi3C,GAEb,OADIA,IAAOlwC,EAAKkwC,GACTlwC,I,qBCpBT5P,EAAOD,QAAU,IAA0B,yB","file":"js/management.f502a10b.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tfunction webpackJsonpCallback(data) {\n \t\tvar chunkIds = data[0];\n \t\tvar moreModules = data[1];\n \t\tvar executeModules = data[2];\n\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(Object.prototype.hasOwnProperty.call(installedChunks, chunkId) && installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(data);\n\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n\n \t\t// add entry modules from loaded chunk to deferred list\n \t\tdeferredModules.push.apply(deferredModules, executeModules || []);\n\n \t\t// run deferred modules when all chunks ready\n \t\treturn checkDeferredModules();\n \t};\n \tfunction checkDeferredModules() {\n \t\tvar result;\n \t\tfor(var i = 0; i < deferredModules.length; i++) {\n \t\t\tvar deferredModule = deferredModules[i];\n \t\t\tvar fulfilled = true;\n \t\t\tfor(var j = 1; j < deferredModule.length; j++) {\n \t\t\t\tvar depId = deferredModule[j];\n \t\t\t\tif(installedChunks[depId] !== 0) fulfilled = false;\n \t\t\t}\n \t\t\tif(fulfilled) {\n \t\t\t\tdeferredModules.splice(i--, 1);\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = deferredModule[0]);\n \t\t\t}\n \t\t}\n\n \t\treturn result;\n \t}\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded CSS chunks\n \tvar installedCssChunks = {\n \t\t\"management\": 0\n \t}\n\n \t// object to store loaded and loading chunks\n \t// undefined = chunk not loaded, null = chunk preloaded/prefetched\n \t// Promise = chunk loading, 0 = chunk loaded\n \tvar installedChunks = {\n \t\t\"management\": 0\n \t};\n\n \tvar deferredModules = [];\n\n \t// script path function\n \tfunction jsonpScriptSrc(chunkId) {\n \t\treturn __webpack_require__.p + \"js/\" + ({\"communityCenter.calendar\":\"communityCenter.calendar\",\"architecturalRequests~billing~communityCenter.documentCenter~evoting~helpCenter~violations\":\"architecturalRequests~billing~communityCenter.documentCenter~evoting~helpCenter~violations\",\"helpCenter\":\"helpCenter\",\"billing\":\"billing\",\"architecturalRequests\":\"architecturalRequests\",\"violations\":\"violations\",\"communityCenter.documentCenter\":\"communityCenter.documentCenter\",\"evoting\":\"evoting\",\"conversations\":\"conversations\",\"protected~workOrderHoRequest\":\"protected~workOrderHoRequest\",\"workOrderHoRequest\":\"workOrderHoRequest\",\"protected~units\":\"protected~units\",\"protected\":\"protected\",\"directoryContact\":\"directoryContact\",\"property\":\"property\",\"userSettings\":\"userSettings\",\"communityCenter\":\"communityCenter\",\"communityCenter.frequentlyAskedQuestions\":\"communityCenter.frequentlyAskedQuestions\",\"communityCenter.hoaContacts\":\"communityCenter.hoaContacts\",\"customerSupport\":\"customerSupport\",\"notifications\":\"notifications\",\"units\":\"units\"}[chunkId]||chunkId) + \".\" + {\"chunk-05ab358a\":\"cc2a9b4c\",\"chunk-0777416d\":\"63865c8a\",\"chunk-09f6c2d6\":\"7405af22\",\"chunk-c234e68c\":\"4cbcdea9\",\"chunk-537d4b71\":\"ee8eebcb\",\"chunk-31113fa9\":\"951ec6ae\",\"chunk-14ffdb20\":\"fa626045\",\"chunk-1907ee47\":\"084c5f9c\",\"chunk-1a428505\":\"cf5c4153\",\"chunk-20bb1094\":\"9f77da25\",\"chunk-2d0a40a9\":\"5eee8189\",\"chunk-3494c216\":\"02408601\",\"chunk-97066cd8\":\"4ca65cd8\",\"chunk-99843ab2\":\"f012aa3a\",\"chunk-3b8110b4\":\"656372e8\",\"chunk-40d150a1\":\"97cbf119\",\"communityCenter.calendar\":\"a451ae38\",\"chunk-6337fcfc\":\"90794efc\",\"architecturalRequests~billing~communityCenter.documentCenter~evoting~helpCenter~violations\":\"836d5886\",\"helpCenter\":\"47a38027\",\"chunk-69c86afe\":\"00a5d71d\",\"chunk-6cb49dd4\":\"f118f367\",\"chunk-22856d18\":\"cebda590\",\"billing\":\"48b1775d\",\"chunk-0a2a6a36\":\"12d68a5b\",\"architecturalRequests\":\"8a128c06\",\"violations\":\"49df199c\",\"communityCenter.documentCenter\":\"a70626f2\",\"evoting\":\"b48c5a75\",\"chunk-865058ea\":\"0bdd0761\",\"conversations\":\"bf434433\",\"protected~workOrderHoRequest\":\"98d0f884\",\"workOrderHoRequest\":\"be2bbb8d\",\"protected~units\":\"3dc01d5d\",\"protected\":\"f0164ed9\",\"directoryContact\":\"2951428c\",\"property\":\"6da28b7c\",\"userSettings\":\"6381b20d\",\"chunk-b6cc5b62\":\"1a79bd10\",\"chunk-501b2632\":\"23a4b07c\",\"chunk-f1ff24f4\":\"28ccebba\",\"communityCenter\":\"dc7d33d3\",\"communityCenter.frequentlyAskedQuestions\":\"31b10fe3\",\"communityCenter.hoaContacts\":\"8c69f073\",\"customerSupport\":\"3e5c2dd4\",\"notifications\":\"2b492731\",\"units\":\"b024d255\"}[chunkId] + \".js\"\n \t}\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n \t// This file contains only the entry chunk.\n \t// The chunk loading function for additional chunks\n \t__webpack_require__.e = function requireEnsure(chunkId) {\n \t\tvar promises = [];\n\n\n \t\t// mini-css-extract-plugin CSS loading\n \t\tvar cssChunks = {\"chunk-05ab358a\":1,\"chunk-0777416d\":1,\"chunk-09f6c2d6\":1,\"chunk-537d4b71\":1,\"chunk-31113fa9\":1,\"chunk-1907ee47\":1,\"chunk-1a428505\":1,\"chunk-20bb1094\":1,\"chunk-97066cd8\":1,\"chunk-99843ab2\":1,\"chunk-40d150a1\":1,\"chunk-6cb49dd4\":1,\"chunk-22856d18\":1,\"billing\":1,\"chunk-0a2a6a36\":1,\"architecturalRequests\":1,\"violations\":1,\"conversations\":1,\"protected~workOrderHoRequest\":1,\"workOrderHoRequest\":1,\"protected~units\":1,\"protected\":1,\"property\":1,\"userSettings\":1,\"chunk-b6cc5b62\":1,\"chunk-f1ff24f4\":1,\"communityCenter\":1,\"notifications\":1,\"units\":1};\n \t\tif(installedCssChunks[chunkId]) promises.push(installedCssChunks[chunkId]);\n \t\telse if(installedCssChunks[chunkId] !== 0 && cssChunks[chunkId]) {\n \t\t\tpromises.push(installedCssChunks[chunkId] = new Promise(function(resolve, reject) {\n \t\t\t\tvar href = \"css/\" + ({\"communityCenter.calendar\":\"communityCenter.calendar\",\"architecturalRequests~billing~communityCenter.documentCenter~evoting~helpCenter~violations\":\"architecturalRequests~billing~communityCenter.documentCenter~evoting~helpCenter~violations\",\"helpCenter\":\"helpCenter\",\"billing\":\"billing\",\"architecturalRequests\":\"architecturalRequests\",\"violations\":\"violations\",\"communityCenter.documentCenter\":\"communityCenter.documentCenter\",\"evoting\":\"evoting\",\"conversations\":\"conversations\",\"protected~workOrderHoRequest\":\"protected~workOrderHoRequest\",\"workOrderHoRequest\":\"workOrderHoRequest\",\"protected~units\":\"protected~units\",\"protected\":\"protected\",\"directoryContact\":\"directoryContact\",\"property\":\"property\",\"userSettings\":\"userSettings\",\"communityCenter\":\"communityCenter\",\"communityCenter.frequentlyAskedQuestions\":\"communityCenter.frequentlyAskedQuestions\",\"communityCenter.hoaContacts\":\"communityCenter.hoaContacts\",\"customerSupport\":\"customerSupport\",\"notifications\":\"notifications\",\"units\":\"units\"}[chunkId]||chunkId) + \".\" + {\"chunk-05ab358a\":\"972a9209\",\"chunk-0777416d\":\"fb4a73da\",\"chunk-09f6c2d6\":\"3100dd1f\",\"chunk-c234e68c\":\"31d6cfe0\",\"chunk-537d4b71\":\"bd5bcf4c\",\"chunk-31113fa9\":\"716ef481\",\"chunk-14ffdb20\":\"31d6cfe0\",\"chunk-1907ee47\":\"7bcdef87\",\"chunk-1a428505\":\"1d2a8d03\",\"chunk-20bb1094\":\"14bca806\",\"chunk-2d0a40a9\":\"31d6cfe0\",\"chunk-3494c216\":\"31d6cfe0\",\"chunk-97066cd8\":\"b787912f\",\"chunk-99843ab2\":\"c7659a58\",\"chunk-3b8110b4\":\"31d6cfe0\",\"chunk-40d150a1\":\"d0cd4cf9\",\"communityCenter.calendar\":\"31d6cfe0\",\"chunk-6337fcfc\":\"31d6cfe0\",\"architecturalRequests~billing~communityCenter.documentCenter~evoting~helpCenter~violations\":\"31d6cfe0\",\"helpCenter\":\"31d6cfe0\",\"chunk-69c86afe\":\"31d6cfe0\",\"chunk-6cb49dd4\":\"8d3aab3f\",\"chunk-22856d18\":\"cc5418e0\",\"billing\":\"af0c2e4f\",\"chunk-0a2a6a36\":\"c8f184f7\",\"architecturalRequests\":\"b2351d3f\",\"violations\":\"80b7cb83\",\"communityCenter.documentCenter\":\"31d6cfe0\",\"evoting\":\"31d6cfe0\",\"chunk-865058ea\":\"31d6cfe0\",\"conversations\":\"23d8e242\",\"protected~workOrderHoRequest\":\"98dff517\",\"workOrderHoRequest\":\"d54c20c5\",\"protected~units\":\"b1a53d87\",\"protected\":\"353b17a3\",\"directoryContact\":\"31d6cfe0\",\"property\":\"24dbac54\",\"userSettings\":\"7f526440\",\"chunk-b6cc5b62\":\"6ec4c757\",\"chunk-501b2632\":\"31d6cfe0\",\"chunk-f1ff24f4\":\"ff73b8a3\",\"communityCenter\":\"53ba5a83\",\"communityCenter.frequentlyAskedQuestions\":\"31d6cfe0\",\"communityCenter.hoaContacts\":\"31d6cfe0\",\"customerSupport\":\"31d6cfe0\",\"notifications\":\"ef42fc7c\",\"units\":\"98dff517\"}[chunkId] + \".css\";\n \t\t\t\tvar fullhref = __webpack_require__.p + href;\n \t\t\t\tvar existingLinkTags = document.getElementsByTagName(\"link\");\n \t\t\t\tfor(var i = 0; i < existingLinkTags.length; i++) {\n \t\t\t\t\tvar tag = existingLinkTags[i];\n \t\t\t\t\tvar dataHref = tag.getAttribute(\"data-href\") || tag.getAttribute(\"href\");\n \t\t\t\t\tif(tag.rel === \"stylesheet\" && (dataHref === href || dataHref === fullhref)) return resolve();\n \t\t\t\t}\n \t\t\t\tvar existingStyleTags = document.getElementsByTagName(\"style\");\n \t\t\t\tfor(var i = 0; i < existingStyleTags.length; i++) {\n \t\t\t\t\tvar tag = existingStyleTags[i];\n \t\t\t\t\tvar dataHref = tag.getAttribute(\"data-href\");\n \t\t\t\t\tif(dataHref === href || dataHref === fullhref) return resolve();\n \t\t\t\t}\n \t\t\t\tvar linkTag = document.createElement(\"link\");\n \t\t\t\tlinkTag.rel = \"stylesheet\";\n \t\t\t\tlinkTag.type = \"text/css\";\n \t\t\t\tlinkTag.onload = resolve;\n \t\t\t\tlinkTag.onerror = function(event) {\n \t\t\t\t\tvar request = event && event.target && event.target.src || fullhref;\n \t\t\t\t\tvar err = new Error(\"Loading CSS chunk \" + chunkId + \" failed.\\n(\" + request + \")\");\n \t\t\t\t\terr.code = \"CSS_CHUNK_LOAD_FAILED\";\n \t\t\t\t\terr.request = request;\n \t\t\t\t\tdelete installedCssChunks[chunkId]\n \t\t\t\t\tlinkTag.parentNode.removeChild(linkTag)\n \t\t\t\t\treject(err);\n \t\t\t\t};\n \t\t\t\tlinkTag.href = fullhref;\n\n \t\t\t\tvar head = document.getElementsByTagName(\"head\")[0];\n \t\t\t\thead.appendChild(linkTag);\n \t\t\t}).then(function() {\n \t\t\t\tinstalledCssChunks[chunkId] = 0;\n \t\t\t}));\n \t\t}\n\n \t\t// JSONP chunk loading for javascript\n\n \t\tvar installedChunkData = installedChunks[chunkId];\n \t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n \t\t\t// a Promise means \"currently loading\".\n \t\t\tif(installedChunkData) {\n \t\t\t\tpromises.push(installedChunkData[2]);\n \t\t\t} else {\n \t\t\t\t// setup Promise in chunk cache\n \t\t\t\tvar promise = new Promise(function(resolve, reject) {\n \t\t\t\t\tinstalledChunkData = installedChunks[chunkId] = [resolve, reject];\n \t\t\t\t});\n \t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n \t\t\t\t// start chunk loading\n \t\t\t\tvar script = document.createElement('script');\n \t\t\t\tvar onScriptComplete;\n\n \t\t\t\tscript.charset = 'utf-8';\n \t\t\t\tscript.timeout = 120;\n \t\t\t\tif (__webpack_require__.nc) {\n \t\t\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n \t\t\t\t}\n \t\t\t\tscript.src = jsonpScriptSrc(chunkId);\n\n \t\t\t\t// create error before stack unwound to get useful stacktrace later\n \t\t\t\tvar error = new Error();\n \t\t\t\tonScriptComplete = function (event) {\n \t\t\t\t\t// avoid mem leaks in IE.\n \t\t\t\t\tscript.onerror = script.onload = null;\n \t\t\t\t\tclearTimeout(timeout);\n \t\t\t\t\tvar chunk = installedChunks[chunkId];\n \t\t\t\t\tif(chunk !== 0) {\n \t\t\t\t\t\tif(chunk) {\n \t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n \t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n \t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n \t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n \t\t\t\t\t\t\terror.type = errorType;\n \t\t\t\t\t\t\terror.request = realSrc;\n \t\t\t\t\t\t\tchunk[1](error);\n \t\t\t\t\t\t}\n \t\t\t\t\t\tinstalledChunks[chunkId] = undefined;\n \t\t\t\t\t}\n \t\t\t\t};\n \t\t\t\tvar timeout = setTimeout(function(){\n \t\t\t\t\tonScriptComplete({ type: 'timeout', target: script });\n \t\t\t\t}, 120000);\n \t\t\t\tscript.onerror = script.onload = onScriptComplete;\n \t\t\t\tdocument.head.appendChild(script);\n \t\t\t}\n \t\t}\n \t\treturn Promise.all(promises);\n \t};\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/\";\n\n \t// on error function for async loading\n \t__webpack_require__.oe = function(err) { console.error(err); throw err; };\n\n \tvar jsonpArray = window[\"webpackJsonp\"] = window[\"webpackJsonp\"] || [];\n \tvar oldJsonpFunction = jsonpArray.push.bind(jsonpArray);\n \tjsonpArray.push = webpackJsonpCallback;\n \tjsonpArray = jsonpArray.slice();\n \tfor(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);\n \tvar parentJsonpFunction = oldJsonpFunction;\n\n\n \t// add entry module to deferred list\n \tdeferredModules.push([0,\"chunk-vendors\"]);\n \t// run deferred modules when ready\n \treturn checkDeferredModules();\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('transition',{attrs:{\"name\":\"fade\",\"appear\":\"\"}},[_c('div',{staticClass:\"app-container\",style:({ width: '100vw' })},[(_vm.$route.path !== '/promptmultifactor' && _vm.loggedIn)?_c('sidebar',{attrs:{\"menu-items\":_vm.sidebarMenuItems}}):_vm._e(),_c('div',[(!_vm.loggedIn)?_c('DesktopSideBar',{attrs:{\"menu-items\":[]}}):_vm._e()],1),_c('AppContent',[(_vm.loggedIn && _vm.$route.path !== '/promptmultifactor')?_c('top-nav',{attrs:{\"sidebar-items\":_vm.sidebarMenuItems}}):_vm._e(),_c('Page',[_c('transition',{staticClass:\"flex-grow-2\",attrs:{\"name\":\"fade\",\"mode\":\"out-in\",\"appear\":\"\"}},[_c('router-view')],1)],1)],1)],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{style:(_vm.styles.crate)},[_vm._t(\"default\")],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/*\r\n import { sidebarStore } from '@/components/Sidebar/store'\r\n\r\n this.unsubSidebarStore = sidebarStore.subscribe((mutation, state) => {\r\n const mType = mutation.type;\r\n\r\n })\r\n\r\n this.unsubSidebarStore();\r\n*/\r\n\r\nimport Vue from 'vue'\r\nimport Vuex from 'vuex'\r\n\r\nVue.use(Vuex)\r\nexport const sidebarStore = new Vuex.Store({\r\n state: {\r\n indexOpen: false,\r\n settingsOpen: false\r\n },\r\n mutations: {\r\n async showIndex(state) {\r\n state.indexOpen = true\r\n },\r\n async hideIndex(state) {\r\n state.indexOpen = false\r\n },\r\n //\r\n async showSettings(state) {\r\n state.settingsOpen = true\r\n },\r\n async hideSettings(state) {\r\n state.settingsOpen = false\r\n }\r\n },\r\n /* eslint-disable no-empty-pattern */\r\n actions: {\r\n /*\r\n await sidebarStore.dispatch ('toggleIndex');\r\n */\r\n async toggleIndex({ commit, state }) {\r\n if (!state.indexOpen) {\r\n commit('hideSettings')\r\n commit('showIndex')\r\n } else {\r\n commit('hideIndex')\r\n }\r\n },\r\n async showIndex({ commit }) {\r\n commit('hideSettings')\r\n commit('showIndex')\r\n },\r\n async hideIndex({ commit }) {\r\n commit('hideIndex')\r\n },\r\n //\r\n //\r\n //\r\n async toggleSettings({ state, commit }) {\r\n if (!state.settingsOpen) {\r\n commit('hideIndex')\r\n commit('showSettings')\r\n } else {\r\n commit('hideSettings')\r\n }\r\n },\r\n async showSettings({ commit }) {\r\n commit('hideIndex')\r\n commit('showSettings')\r\n },\r\n async hideSettings({ commit }) {\r\n commit('hideSettings')\r\n }\r\n },\r\n /* eslint-enable no-empty-pattern */\r\n getters: {}\r\n})\r\n","\r\n\r\n\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Page.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Page.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Page.vue?vue&type=template&id=fe767c66&\"\nimport script from \"./Page.vue?vue&type=script&lang=js&\"\nexport * from \"./Page.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"app-content\",style:(_vm.styles)},[_vm._t(\"default\")],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppContent.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppContent.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./AppContent.vue?vue&type=template&id=7832a66a&\"\nimport script from \"./AppContent.vue?vue&type=script&lang=js&\"\nexport * from \"./AppContent.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[(_vm.appId() !== 'onboarding')?_c('DesktopSideBar',{attrs:{\"menuItems\":_vm.menuItems}}):_vm._e(),(_vm.appId() !== 'onboarding')?_c('MobileSideBar',{attrs:{\"menuItems\":_vm.menuItems}}):_vm._e(),_c('SettingsMobileSideBar')],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('transition',{attrs:{\"name\":\"sidebarReveal\",\"mode\":\"out-in\",\"appear\":\"\"}},[_c('nav',{class:\"menu menu-sidebar reverse flex-column is-hidden-touch has-tooltip-rollovers\",style:({\n zIndex: 20,\n height: '100%'\n }),attrs:{\"role\":\"navigation\",\"aria-label\":\"dashboard selection navbar\"},on:{\"mouseover\":_vm.sidebarHover,\"mouseleave\":_vm.sidebarHover}},[(!['VendorUser'].includes(_vm.authUserType))?_c('div',{staticClass:\"sidebar-top flex-grow-1\"},[_c('router-link',{staticClass:\"menu-logo\",attrs:{\"to\":{ path: '/' },\"aria-label\":\"home dashboard\"}},[_c('img',{staticClass:\"logo-img\",attrs:{\"src\":require(\"@/assets/images/logo-icon.svg\"),\"alt\":\"HOA My Way\"}}),_c('img',{staticClass:\"logo-full-img\",attrs:{\"src\":require(\"@/assets/images/logo.svg\"),\"alt\":\"HOA My Way\"}})])],1):_vm._e(),_c('div',{staticClass:\"sidebar-middle flex-grow-2\",style:({\n height: 'calc(100% - 52px)',\n paddingRight: '2px'\n })},[_c('ul',{staticClass:\"menu-list sidebar-menu-list\",style:({\n overflowY: 'auto',\n overflowX: 'hidden',\n maxHeight: '90%',\n width: '100%',\n\n scrollbarColor: ((_vm.theme.color[2]) + \" \" + (_vm.theme.color[1])),\n scrollbarWidth: 'thin'\n })},_vm._l((_vm.menuItems),function(item,index){return _c('li',{key:index,style:({\n position: 'relative'\n })},[_c('router-link',{staticClass:\"menu-item\",attrs:{\"to\":item.to,\"active-class\":\"active\",\"aria-label\":item.label + ' dashboard'}},[_c('div',{staticClass:\"menu-tooltip\"},[_c('div',{staticClass:\"tooltip-background\"}),(item.icon)?_c('i',{class:(\"icon-\" + (item.icon))}):_vm._e(),_c(item.iconC,{tag:\"component\",style:({ display: 'inline-block' }),attrs:{\"stroke\":'#FFF'}}),_c('label',{staticClass:\"title is-7 tooltip-label\"},[_vm._v(_vm._s(item.label))])],1),(item.icon)?_c('i',{class:(\"icon-\" + (item.icon))}):_vm._e(),_c(item.iconC,{tag:\"component\",style:({ display: 'inline-block' }),attrs:{\"stroke\":'#FFF'}}),_c('label',{staticClass:\"title is-7 item-label\"},[_vm._v(_vm._s(item.label))])],1)],1)}),0)]),_c('div',{staticClass:\"sidebar-bottom flex-grow-1\"},[(false)?_c('ul',{staticClass:\"menu-list\"},[_c('li',[_c('b-switch',{staticClass:\"expand-switch\",style:({\n mixBlendMode: 'overlay',\n transform: 'scale(0.75)',\n margin: '0.5em 0.5em',\n display: 'none'\n }),attrs:{\"size\":\"is-small\",\"color\":\"is-primary\",\"outlined\":true,\"title\":_vm.expanded ? 'Collapse' : 'Expand'},model:{value:(_vm.expanded),callback:function ($$v) {_vm.expanded=$$v},expression:\"expanded\"}})],1)]):_vm._e()])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('svg',{attrs:{\"width\":\"32px\",\"height\":\"32px\",\"viewBox\":\"0 0 32 32\",\"version\":\"1.1\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"xmlns:xlink\":\"http://www.w3.org/1999/xlink\"}},[_c('g',{attrs:{\"stroke\":\"none\",\"stroke-width\":\"1\",\"fill\":\"none\",\"fill-rule\":\"evenodd\",\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\"}},[_c('g',{attrs:{\"transform\":\"translate(-9.000000, -109.000000)\",\"stroke\":_vm.stroke,\"stroke-width\":\"2\"}},[_c('g',{attrs:{\"transform\":\"translate(13.000000, 15.000000)\"}},[_c('g',{attrs:{\"transform\":\"translate(1.000000, 99.000000)\"}},[_c('rect',{attrs:{\"x\":\"9.12333333\",\"y\":\"13.2122222\",\"width\":\"4.75333333\",\"height\":\"6.41444444\"}}),_c('polyline',{attrs:{\"points\":\"0.0255555556 9.32777778 11.5 0.0511111111 22.9744444 9.32777778\"}}),_c('polyline',{attrs:{\"points\":\"20.3677778 12.19 20.3677778 19.6266667 2.63222222 19.6266667 2.63222222 1.53333333\"}})])])])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./House.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./House.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./House.vue?vue&type=template&id=13ad222a&\"\nimport script from \"./House.vue?vue&type=script&lang=js&\"\nexport * from \"./House.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./index.vue?vue&type=template&id=2a658841&scoped=true&\"\nimport script from \"./index.vue?vue&type=script&lang=js&\"\nexport * from \"./index.vue?vue&type=script&lang=js&\"\nimport style0 from \"./index.vue?vue&type=style&index=0&id=2a658841&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"2a658841\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{style:(_vm.styles.crate),attrs:{\"mobile-sidebar\":\"\"}},[_c('nav',{ref:\"homeLink\",class:\"menu menu-sidebar flex-column\",style:({\n zIndex: 20,\n height: '100%'\n }),attrs:{\"role\":\"navigation\",\"aria-label\":\"dashboard selection navbar\",\"tabindex\":\"0\"}},[_c('div',{staticClass:\"sidebar-middle flex-grow-2\",style:({ height: '100%' })},[_c('ul',{staticClass:\"menu-list sidebar-menu-list\",style:({\n height: '84%',\n overflowY: 'scroll'\n })},[(['management', 'homeowner', 'onboarding'].includes(_vm.appId()))?_c('li',[_c('router-link',{staticClass:\"menu-logo\",style:({\n display: 'flex',\n alignItems: 'center'\n }),attrs:{\"to\":{ path: '/' },\"aria-label\":\"home dashboard\"},nativeOn:{\"click\":function($event){return _vm.pageChange.apply(null, arguments)}}},[_c('Logo',{attrs:{\"palette\":{\n 1: _vm.currentPath === '/' ? _vm.activeColor : _vm.icon.stroke,\n 2: _vm.currentPath === '/' ? _vm.activeColor : _vm.icon.stroke\n }}}),_c('label',{style:(_vm.label.style)},[_vm._v(\"Home\")])],1)],1):_vm._e(),_vm._l((_vm.menuItems),function(item,index){return _c('li',{key:index},[_c('router-link',{staticClass:\"menu-item\",style:({\n display: 'flex',\n alignItems: 'center'\n }),attrs:{\"to\":item.to,\"active-class\":\"active\",\"aria-label\":item.label + ' dashboard'},nativeOn:{\"click\":function($event){return _vm.pageChange.apply(null, arguments)}}},[(item.iconC)?_c(item.iconC,{tag:\"component\",attrs:{\"stroke\":_vm.currentPath === item.to ? _vm.activeColor : _vm.icon.stroke}}):_vm._e(),_c('label',{style:(Object.assign({}, _vm.label.style, Object.assign({}, (_vm.currentPath === item.to ? { color: _vm.activeColor } : {}))))},[_vm._v(_vm._s(item.label))])],1)],1)})],2),_c('ul',{style:({ position: 'absolute', bottom: '20px', left: '20px' })},[_c('li',[_c('router-link',{staticClass:\"menu-logo\",style:({\n display: 'flex',\n alignItems: 'center'\n }),attrs:{\"to\":\"/signout\",\"aria-label\":\"signout\"},nativeOn:{\"click\":function($event){return _vm.pageChange.apply(null, arguments)}}},[_c('Leave'),_c('label',{style:(_vm.label.style)},[_vm._v(\"Log out\")])],1)],1)])])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('svg',{staticStyle:{\"transform\":\"scale(0.8)\"},attrs:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"xmlns:xlink\":\"http://www.w3.org/1999/xlink\",\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":'0 0 ' + _vm.size + ' ' + _vm.size}},[_c('defs',[_c('path',{attrs:{\"id\":\"scwwdv10pa\",\"d\":\"M0 0.553L31.394 0.553 31.394 30.365 0 30.365z\"}})]),_c('g',{attrs:{\"fill\":\"none\",\"fill-rule\":\"evenodd\"}},[_c('g',{attrs:{\"transform\":\"translate(-25 -24) translate(25 24) translate(0 .766)\"}},[_c('mask',{attrs:{\"id\":\"47gygq9bqb\",\"fill\":\"#fff\"}},[_c('use',{attrs:{\"xlink:href\":\"#scwwdv10pa\"}})]),_c('path',{attrs:{\"fill\":_vm.palette[1],\"d\":\"M24.436 12.25l-8.738-4.315-8.74 4.316V1.792c0-.684-.56-1.239-1.255-1.239H1.256C.562.553 0 1.108 0 1.793v27.333c0 .683.562 1.24 1.256 1.24h4.447c.694 0 1.255-.557 1.255-1.24V19.114l8.74-4.315 8.738 4.315v10.012c0 .683.562 1.24 1.256 1.24h4.446c.694 0 1.256-.557 1.256-1.24V1.792c0-.684-.562-1.239-1.256-1.239h-4.446c-.694 0-1.256.555-1.256 1.24V12.25z\",\"mask\":\"url(#47gygq9bqb)\"}})]),_c('path',{attrs:{\"fill\":_vm.palette[2],\"d\":\"M12.224 24.077L15.406 24.077 15.406 20.939 12.224 20.939zM15.962 24.077L19.144 24.077 19.144 20.939 15.962 20.939zM12.303 27.765L15.484 27.765 15.484 24.627 12.303 24.627zM16.042 27.765L19.223 27.765 19.223 24.627 16.042 24.627z\",\"transform\":\"translate(-25 -24) translate(25 24)\"}})])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Logo.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Logo.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Logo.vue?vue&type=template&id=31e6d6b2&\"\nimport script from \"./Logo.vue?vue&type=script&lang=js&\"\nexport * from \"./Logo.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('svg',{attrs:{\"width\":\"24px\",\"height\":\"24px\",\"viewBox\":\"0 0 24 24\",\"version\":\"1.1\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"xmlns:xlink\":\"http://www.w3.org/1999/xlink\"}},[_c('g',{attrs:{\"stroke\":\"none\",\"stroke-width\":\"1\",\"fill\":\"none\",\"fill-rule\":\"evenodd\"}},[_c('g',{attrs:{\"transform\":\"translate(-28.000000, -729.000000)\",\"fill\":\"#C1C0C8\"}},[_c('g',{attrs:{\"transform\":\"translate(28.000000, 729.000000)\"}},[_c('path',{attrs:{\"d\":\"M1.91666667,1 C2.27233333,1 3.00291667,1.57199992 3.123,1.65816657 L8.86683333,5.76666599 C9.10806311,5.93931258 9.2508331,6.21802142 9.25000363,6.51466588 L9.25000363,22.0833303 C9.25035989,22.4268924 9.05857719,22.7418122 8.75316667,22.8991635 C8.62301755,22.9651013 8.47923212,22.999635 8.33333333,23 C8.14216333,23.0004996 7.95573689,22.9404966 7.80075,22.8285802 L1.38408333,18.2452475 C1.14329722,18.0733641 1.0002674,17.7958385 1,17.5 L1,1.91666654 C1,1.41040559 1.41040565,1 1.91666667,1 Z M14.75,12.916665 L14.75,17.4999976 C14.75,18.0062586 14.3395944,18.416665 13.8333333,18.416665 L13.8333333,18.416665 L11.0833333,18.416665 L11.0833333,12.916665 L14.75,12.916665 Z M17.5,5.58333268 L23,10.1666654 L17.5,14.749998 L17.5,11.0833327 L11.0833333,11.0833327 L11.0833333,9.24999882 L17.5,9.24999882 L17.5,5.58333268 Z M13.8333333,1 C14.3395944,1 14.75,1.41040559 14.75,1.91666654 L14.75,1.91666654 L14.75,7.41666575 L11.0833333,7.41666575 L11.0833333,6.51466588 C11.0825578,5.6286225 10.6567319,4.796745 9.93841667,4.27799953 L9.93841667,4.27799953 L5.35508333,1 Z\"}})])])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Leave.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Leave.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Leave.vue?vue&type=template&id=09a95f06&\"\nimport script from \"./Leave.vue?vue&type=script&lang=js&\"\nexport * from \"./Leave.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import _get from 'lodash/get'\r\nimport { appId } from '@/config'\r\n\r\nexport function data() {\r\n const theme = _get(this, ['$store', 'state', 'theme'], {})\r\n\r\n const height = 85\r\n const width = 200\r\n const color = '#91909a'\r\n\r\n return {\r\n appId,\r\n\r\n expand: true,\r\n\r\n activeColor: '#2cabe1',\r\n\r\n width,\r\n\r\n theme,\r\n icon: {\r\n stroke: color\r\n },\r\n label: {\r\n style: {\r\n color,\r\n paddingLeft: '12px',\r\n cursor: 'pointer'\r\n }\r\n },\r\n currentPath: '',\r\n styles: {\r\n crate: {\r\n position: 'fixed',\r\n\r\n top: height + 'px',\r\n left: `-${width}px`,\r\n\r\n width: `${width}px`,\r\n height: `calc(100vh - ${height}px)`,\r\n minHeight: '-webkit-fill-available',\r\n\r\n transform: 'translateX(0px)',\r\n transition: 'transform .4s'\r\n }\r\n }\r\n }\r\n}\r\n","import { sidebarStore } from './../../../store'\r\n\r\nexport const methods = {\r\n async pageChange() {\r\n await sidebarStore.dispatch('hideIndex')\r\n },\r\n show() {\r\n const width = this.width\r\n this.styles.crate.transform = `translateX(${width}px)`\r\n\r\n this.$refs.homeLink.focus()\r\n },\r\n hide() {\r\n this.styles.crate.transform = 'translateX(0px)'\r\n }\r\n}\r\n","import { sidebarStore } from './../../../store'\r\n\r\nexport function mounted() {\r\n this.unsubSidebarStore = sidebarStore.subscribe(mutation => {\r\n const mType = mutation.type\r\n\r\n if (mType === 'showIndex') {\r\n this.show()\r\n } else if (mType === 'hideIndex') {\r\n this.hide()\r\n }\r\n })\r\n}\r\n","export const watch = {\r\n $route(to) {\r\n this.currentPath = to.path\r\n }\r\n}\r\n","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./index.vue?vue&type=template&id=f7617860&\"\nimport script from \"./index.vue?vue&type=script&lang=js&\"\nexport * from \"./index.vue?vue&type=script&lang=js&\"\nimport style0 from \"./index.vue?vue&type=style&index=0&lang=scss&scope=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{style:(_vm.styles.crate),attrs:{\"settings-mobile-sidebar\":\"\"}},[_c('nav',{ref:\"nav\",class:\"menu menu-sidebar flex-column\",style:({\n zIndex: 20,\n height: '100%'\n }),attrs:{\"role\":\"navigation\",\"aria-label\":\"dashboard selection navbar\",\"tabindex\":\"0\"}},[_c('div',{staticClass:\"sidebar-middle flex-grow-2\",style:({ height: '100%' })},[_c('ul',{staticClass:\"menu-list\",style:({\n height: '84%',\n overflowY: 'scroll'\n })},[_c('li',[_c('router-link',{staticClass:\"menu-logo\",style:({\n display: 'flex',\n alignItems: 'center'\n }),attrs:{\"to\":{ path: '/userSettings/profile#tab' },\"aria-label\":\"user settings, profile\"},nativeOn:{\"click\":function($event){return _vm.pageChange.apply(null, arguments)}}},[_c('UserIcon',{attrs:{\"palette\":{\n 1: _vm.icon.stroke\n }}}),_c('label',{style:(_vm.label.style)},[_vm._v(\"User Settings\")])],1)],1),(_vm.authUserType === 'HomeOwner')?_c('li',[_c('router-link',{staticClass:\"menu-logo\",style:({\n display: 'flex',\n alignItems: 'center'\n }),attrs:{\"to\":{ path: \"/property/contacts#tabs\" },\"aria-label\":\"property settings\"},nativeOn:{\"click\":function($event){return _vm.pageChange.apply(null, arguments)}}},[_c('UserIcon',{attrs:{\"palette\":{\n 1: _vm.icon.stroke\n }}}),_c('label',{style:(_vm.label.style)},[_vm._v(\"Property Settings\")])],1)],1):_vm._e(),(['management'].includes(_vm.appId()))?_c('li',[_c('router-link',{staticClass:\"menu-logo\",style:({\n display: 'flex',\n alignItems: 'center'\n }),attrs:{\"to\":{ path: '/accountSettings' },\"aria-label\":\"account settings\"},nativeOn:{\"click\":function($event){return _vm.pageChange.apply(null, arguments)}}},[_c('UserIcon',{attrs:{\"palette\":{\n 1: _vm.icon.stroke\n }}}),_c('label',{style:(_vm.label.style)},[_vm._v(\"Account Settings\")])],1)],1):_vm._e(),(['management', 'vendor'].includes(_vm.appId()))?_c('li',{style:({ padding: '14px 17px 14px' })},[_c('b-button',{style:({\n width: '100%',\n height: 'auto',\n whiteSpace: 'initial'\n }),on:{\"click\":_vm.openHOASelector}},[_vm._v(_vm._s(_vm.hoaName))])],1):_vm._e()]),_c('ul',{style:({\n position: 'absolute',\n bottom: '20px',\n left: '20px'\n })},[_c('li',[_c('router-link',{staticClass:\"menu-logo\",style:({\n display: 'flex',\n alignItems: 'center'\n }),attrs:{\"to\":\"/signout\",\"aria-label\":\"signout\"},nativeOn:{\"click\":function($event){return _vm.pageChange.apply(null, arguments)}}},[_c('Leave'),_c('label',{style:(_vm.label.style)},[_vm._v(\"Log out\")])],1)],1)])])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export function beforeDestroy() {\r\n this.unsubSidebarStore()\r\n}\r\n","import { mapGetters } from 'vuex'\r\n\r\nexport const computed = {\r\n ...mapGetters('user', ['authUser', 'hoaId', 'authUserType']),\r\n ownerID() {\r\n return this.authUser.ownerID\r\n }\r\n}\r\n","const width = 200\r\nconst color = '#91909a'\r\n\r\nimport _get from 'lodash/get'\r\nimport { appId } from '@/config'\r\n\r\nexport function data() {\r\n const theme = _get(this, ['$store', 'state', 'theme'], {})\r\n\r\n const height = 85\r\n\r\n return {\r\n appId,\r\n expand: true,\r\n\r\n activeColor: '#2cabe1',\r\n\r\n color,\r\n\r\n width,\r\n\r\n theme,\r\n icon: {\r\n stroke: color\r\n },\r\n label: {\r\n style: {\r\n color,\r\n paddingLeft: '12px',\r\n cursor: 'pointer'\r\n }\r\n },\r\n currentPath: '',\r\n styles: {\r\n crate: {\r\n position: 'fixed',\r\n\r\n top: height + 'px',\r\n right: `-3000px`,\r\n\r\n width: `${width}px`,\r\n height: `calc(100vh - ${height}px)`,\r\n\r\n transform: `translateX(${width}px)`,\r\n transition: 'transform .4s'\r\n }\r\n },\r\n hoaName: ''\r\n }\r\n}\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('Modal',{attrs:{\"toggle\":_vm.toggle,\"showHeader\":false,\"styles\":{\n modalContent: { minHeight: '100px', padding: '40px' },\n modal: { maxWidth: '400px' }\n }},on:{\"update:toggle\":function($event){_vm.toggle=$event}}},[_c('h4',{style:({ textAlign: 'center' })},[_vm._v(\"Select HOA\")]),_c('div',{style:({\n padding: '0 12px'\n })},_vm._l((_vm.associations),function(hoa){return _c('b-button',{key:hoa.hoaID,style:({\n width: '100%'\n }),attrs:{\"type\":_vm.currentHOA === hoa.hoaID ? 'is-primary' : '',\"value\":hoa.hoaID},on:{\"click\":function($event){_vm.toggle = false}}},[_vm._v(_vm._s(_vm._f(\"titleize\")(hoa.name || 'Untitled HOA')))])}),1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./HOASelectorModal.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./HOASelectorModal.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./HOASelectorModal.vue?vue&type=template&id=66ff7cbd&\"\nimport script from \"./HOASelectorModal.vue?vue&type=script&lang=js&\"\nexport * from \"./HOASelectorModal.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import { overlaysStore } from '@/components/Overlays/store'\r\nimport HOASelectorModal from './../components/HOASelectorModal'\r\nimport { sidebarStore } from './../../../store'\r\n\r\nimport _get from 'lodash/get'\r\n\r\nexport const methods = {\r\n async pageChange() {\r\n await sidebarStore.dispatch('hideSettings')\r\n },\r\n show() {\r\n this.styles.crate.transform = 'translateX(0px)'\r\n this.$refs.nav.focus()\r\n },\r\n hide() {\r\n const width = this.width\r\n this.styles.crate.transform = `translateX(${width}px)`\r\n },\r\n setHOAName() {\r\n const associations = _get(this, ['authUser', 'associations'], [])\r\n const hoaId = this.hoaId\r\n\r\n let _hoa = {}\r\n for (let a = 0; a < associations.length; a++) {\r\n const hoa = associations[a]\r\n\r\n if (hoa.hoaID === hoaId) {\r\n _hoa = hoa\r\n break\r\n }\r\n }\r\n\r\n this.hoaName = _hoa.name\r\n },\r\n async openHOASelector() {\r\n const associations = _get(this, ['authUser', 'associations'], [])\r\n\r\n this.setHOAName()\r\n\r\n await overlaysStore.dispatch('show', {\r\n component: HOASelectorModal,\r\n props: {\r\n toggle: true,\r\n associations,\r\n currentHOA: this.hoaId\r\n }\r\n })\r\n }\r\n}\r\n","import { sidebarStore } from './../../../store'\r\n\r\nexport function mounted() {\r\n this.unsubSidebarStore = sidebarStore.subscribe(mutation => {\r\n const mType = mutation.type\r\n\r\n if (mType === 'showSettings') {\r\n this.show()\r\n } else if (mType === 'hideSettings') {\r\n this.hide()\r\n }\r\n })\r\n\r\n this.setHOAName()\r\n\r\n setTimeout(() => {\r\n this.styles.crate.right = '0px'\r\n }, 1000)\r\n}\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('svg',{attrs:{\"width\":\"42px\",\"height\":\"42px\",\"viewBox\":\"0 0 35 32\",\"version\":\"1.1\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"xmlns:xlink\":\"http://www.w3.org/1999/xlink\"}},[_c('g',{attrs:{\"stroke\":\"none\",\"stroke-width\":\"1\",\"fill\":\"none\",\"fill-rule\":\"evenodd\",\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\"}},[_c('g',{attrs:{\"transform\":\"translate(-9.000000, -609.000000)\",\"stroke\":_vm.palette[1],\"stroke-width\":\"2\"}},[_c('g',{attrs:{\"transform\":\"translate(13.000000, 15.000000)\"}},[_c('g',{attrs:{\"transform\":\"translate(2.000000, 599.000000)\"}},[_c('path',{attrs:{\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"stroke-width\":\"2\",\"d\":\"M5.121 17.804A13.937 13.937 0 0112 16c2.5 0 4.847.655 6.879 1.804M15 10a3 3 0 11-6 0 3 3 0 016 0zm6 2a9 9 0 11-18 0 9 9 0 0118 0z\"}})])])])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./User.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./User.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./User.vue?vue&type=template&id=714f60a5&\"\nimport script from \"./User.vue?vue&type=script&lang=js&\"\nexport * from \"./User.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\r\n\r\n\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./index.vue?vue&type=template&id=551a21d6&\"\nimport script from \"./index.vue?vue&type=script&lang=js&\"\nexport * from \"./index.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\r\n\r\n\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./index.vue?vue&type=template&id=2eb7ab24&\"\nimport script from \"./index.vue?vue&type=script&lang=js&\"\nexport * from \"./index.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('nav',{staticClass:\"relative z-10 flex-shrink-0 flex border-b border-gray-200 lg:border-none top--nav\",style:({\n position: 'fixed',\n top: 0,\n zIndex: _vm.zIndex,\n display: _vm.show ? 'flex' : 'none',\n height: _vm.topNavHeight,\n background: _vm.theme.color[10]\n }),attrs:{\"role\":\"navigation\"}},[_c('div',{staticClass:\"flex-1-4 flex nav-container\",style:({ justifyContent: 'space-between', width: '100%' })},[(_vm.appId() !== 'onboarding')?_c('button',{staticClass:\"px-4 border-cool-gray-200 text-cool-gray-400 focus:outline-none focus:bg-cool-gray-100 focus:text-cool-gray-600 lg:hidden\",attrs:{\"aria-label\":\"Open sidebar\"},on:{\"click\":_vm.toggleSidebar}},[_c('svg',{staticClass:\"h-6 w-6 transition ease-in-out duration-150\",attrs:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"stroke\":\"currentColor\"}},[_c('path',{attrs:{\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"stroke-width\":\"2\",\"d\":\"M4 6h16M4 12h8m-8 6h16\"}})])]):_vm._e(),(_vm.scope === 'onboarding')?_c('div',{staticClass:\"flex-1 flex\"},[_c('figure',{staticClass:\"media-left p-3\"},[_c('p',{staticClass:\"image is-164x164\"},[_c('router-link',{attrs:{\"to\":\"/\"}},[_c('img',{staticStyle:{\"width\":\"164px\"},attrs:{\"src\":require('@/assets/images/onboardingmyway.png')}})])],1)])]):_vm._e(),_c('div',{staticClass:\"hidden flex-1 flex\",attrs:{\"top-nav-search-bar\":\"\"}},[_c('form',{staticClass:\"w-full flex md:ml-0\",attrs:{\"action\":\"#\",\"method\":\"GET\"}},[_c('label',{staticClass:\"sr-only\",attrs:{\"for\":\"search_field\"}},[_vm._v(\"Search\")]),_c('div',{staticClass:\"relative w-full text-cool-gray-400 focus-within:text-cool-gray-600\"},[_c('div',{staticClass:\"absolute inset-y-0 left-0 flex items-center pointer-events-none\"},[_c('svg',{staticClass:\"h-5 w-5\",attrs:{\"fill\":\"currentColor\",\"viewBox\":\"0 0 20 20\"}},[_c('path',{attrs:{\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"d\":\"M8 4a4 4 0 100 8 4 4 0 000-8zM2 8a6 6 0 1110.89 3.476l4.817 4.817a1 1 0 01-1.414 1.414l-4.816-4.816A6 6 0 012 8z\"}})])]),_c('input',{staticClass:\"block w-full h-full pl-8 pr-3 py-2 rounded-md bg-transparent text-cool-gray-900 placeholder-cool-gray-500 focus:outline-none focus:placeholder-cool-gray-400 sm:text-lg\",attrs:{\"id\":\"search_field\",\"placeholder\":\"What are you looking for?\",\"type\":\"search\"}})])])]),_c('section',{style:({\n flexGrow: 1,\n display: 'flex',\n justifyContent: 'right',\n paddingRight: '1rem'\n })},[_c('div',{staticClass:\"ml-4 flex items-center md:ml-6\"},[_c('div',{style:({\n display: 'flex',\n height: '100%',\n alignItems: 'center'\n })},[(_vm.scope && _vm.scope !== undefined && _vm.scope === 'onboarding')?_c('div',{style:({\n position: 'relative',\n display: 'inline-block',\n padding: '0 10px 6px'\n })},[_c('i',{class:\"icon-customersupport\",attrs:{\"title\":\"Customer Support\",\"role\":\"button\"},on:{\"click\":function($event){$event.preventDefault();return _vm.redirectToCustomerSupport.apply(null, arguments)}}})]):_vm._e(),_c('div',{style:({\n position: 'relative',\n display: 'inline-block',\n padding: '0 10px 6px'\n })},[_c('i',{class:\"icon-conversations\",attrs:{\"title\":\"Conversations\",\"role\":\"button\"},on:{\"click\":function($event){$event.preventDefault();return _vm.loadGlobalConversations.apply(null, arguments)}}})]),_c('div',{staticClass:\"alerts-button\",style:({\n position: 'relative',\n display: 'inline-block',\n padding: '0 10px'\n }),attrs:{\"title\":\"Alerts\",\"alerts-button\":\"\"},on:{\"click\":_vm.alertsIconClicked}},[(_vm.alerts.length > 0)?_c('div',{style:(_vm.styles.alertCount),attrs:{\"title\":\"Notifications\",\"id\":\"topNavNotifications\",\"alerts-count\":\"\"}},[_vm._v(\" \"+_vm._s(_vm.alerts.length)+\" \")]):_vm._e(),_c('b-dropdown',{attrs:{\"aria-role\":\"list\",\"position\":\"is-bottom-left\",\"triggers\":_vm.dropdownTriggers,\"trap-focus\":false,\"can-close\":\"\",\"close-on-click\":\"\"},on:{\"active-change\":_vm.dropdownChange},scopedSlots:_vm._u([{key:\"trigger\",fn:function(ref){\n var active = ref.active;\nreturn [_c('b-icon',{attrs:{\"role\":\"button\",\"tabindex\":\"0\",\"aria-label\":_vm.alerts.length + ' unread alerts',\"icon\":\"bell-outline\",\"icon-right\":active ? 'menu-up' : 'menu-down'}})]}}])},[_c('div',{staticClass:\"alerts-dropdown\",style:({\n maxHeight: '200px',\n overflowY: 'scroll'\n })},_vm._l((_vm.alerts),function(alert){return _c('b-dropdown-item',{key:alert.id,attrs:{\"aria-role\":\"listitem\",\"has-link\":\"\",\"alert-dropdown-item\":\"\"}},[_c('router-link',{attrs:{\"to\":'/alerts/' + alert.id,\"v-html\":alert.message ? alert.message : ''}},[_vm._v(_vm._s(alert.message))])],1)}),1),_c('b-dropdown-item',{style:({\n overflow: 'auto',\n padding: '6px 6px 0 0'\n }),attrs:{\"has-link\":\"\"}},[_c('b-button',{style:({\n float: 'right'\n }),attrs:{\"size\":\"is-small\",\"type\":\"is-primary\"},on:{\"click\":_vm.showAllAlerts}},[_vm._v(\"All Alerts\")])],1)],1)],1),(_vm.authUser && _vm.authUser.userType == 'HomeOwner')?_c('div',{style:({\n position: 'relative',\n display: 'inline-block',\n padding: '0 10px 6px'\n }),attrs:{\"title\":\"Make a Suggestion\"}},[_c('i',{class:\"icon-suggestion\",attrs:{\"role\":\"button\"},on:{\"click\":function($event){$event.preventDefault();return _vm.loadGlobalSuggestions.apply(null, arguments)}}})]):_vm._e()])]),(_vm.breakpoint === 'desktop')?_c('div',{staticClass:\"ml-3 flex items-center relative is-pulled-right\",attrs:{\"settings-chooser\":\"\"}},[(_vm.authUser)?_c('b-dropdown',{attrs:{\"aria-role\":\"menu\"},scopedSlots:_vm._u([{key:\"trigger\",fn:function(){return [_c('b-button',{attrs:{\"label\":_vm.authUser.name,\"icon-left\":\"account\",\"icon-right\":\"menu-down\"}})]},proxy:true}],null,false,1461292357)},[(_vm.authUser.userType == 'HomeOwner')?_c('b-dropdown-item',{staticClass:\"control\",attrs:{\"value\":\"userSettings\",\"aria-role\":\"menuitem\",\"has-link\":\"\"}},[_c('router-link',{attrs:{\"to\":\"/userSettings/profile#tab\"}},[_c('b-icon',{attrs:{\"icon\":\"account\"}}),_vm._v(\" \"+_vm._s(_vm.$t('auth.userSettings'))+\" \")],1)],1):_vm._e(),(_vm.authUser.userType != 'HomeOwner')?_c('b-dropdown-item',{staticClass:\"control\",attrs:{\"value\":\"userSettings\",\"aria-role\":\"menuitem\",\"has-link\":\"\"}},[_c('router-link',{attrs:{\"to\":\"/userSettings/profile#tab\"}},[_c('b-icon',{attrs:{\"icon\":\"account\"}}),_vm._v(\" \"+_vm._s(_vm.$t('auth.userSettings'))+\" \")],1)],1):_vm._e(),(\n _vm.authUser.userType != 'HomeOwner' &&\n _vm.authUser.userType != 'VendorUser' &&\n _vm.scope !== 'onboarding'\n )?_c('b-dropdown-item',{staticClass:\"control\",attrs:{\"value\":\"accountSettings\",\"aria-role\":\"menuitem\",\"has-link\":\"\"}},[_c('router-link',{attrs:{\"to\":\"/accountSettings\"}},[_c('b-icon',{attrs:{\"icon\":\"account\"}}),_vm._v(\" \"+_vm._s(_vm.$t('auth.accountSettings'))+\" \")],1)],1):_vm._e(),(\n _vm.authUser.userType == 'HomeOwner' &&\n this.authUser &&\n this.authUser != undefined &&\n this.authUser.ownerID &&\n this.authUser.ownerID != undefined\n )?_c('b-dropdown-item',{staticClass:\"control\",attrs:{\"value\":\"profileSettings\",\"aria-role\":\"menuitem\",\"has-link\":\"\"}},[_c('router-link',{attrs:{\"to\":\"/property/contacts#tab\"}},[_c('b-icon',{attrs:{\"icon\":\"home\"}}),_vm._v(\" \"+_vm._s(_vm.$t('auth.propertySettings'))+\" \")],1)],1):_vm._e(),_c('b-dropdown-item',{staticClass:\"control\",attrs:{\"value\":\"privacyLink\",\"aria-role\":\"menuitem\",\"has-link\":\"\"}},[_c('a',{attrs:{\"href\":_vm.platformUrl,\"target\":\"_blank\"}},[_c('b-icon',{attrs:{\"icon\":\"lock\"}}),_vm._v(\" \"+_vm._s(_vm.$t('auth.privacyLink'))+\" \")],1)]),_c('b-dropdown-item',{staticClass:\"control\",attrs:{\"value\":\"signOut2\",\"aria-role\":\"menuitem\",\"has-link\":\"\"}},[_c('router-link',{attrs:{\"to\":\"/signout\"}},[_c('b-icon',{attrs:{\"icon\":\"logout\"}}),_vm._v(\" \"+_vm._s(_vm.$t('auth.signOut'))+\" \")],1)],1)],1):_vm._e(),(_vm.$route.path !== '/signin' && !_vm.authUser)?_c('router-link',{staticClass:\"button is-primary is-small\",attrs:{\"top-nav-desktop-sign-in-button\":\"\",\"to\":\"/signin\"}},[_vm._v(\" \"+_vm._s(_vm.$t('auth.signIn'))+\" \")]):_vm._e()],1):_vm._e(),(\n _vm.breakpoint === 'desktop' &&\n _vm.authUser &&\n _vm.authUser.associations &&\n _vm.authUser.userType != 'HomeOwner'\n )?_c('div',{staticClass:\"ml-4 flex items-center\",attrs:{\"hoa-selector-container-desktop\":\"\"}},[_c('div',{staticClass:\"control select hoa-select\"},[_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.currentAssociation),expression:\"currentAssociation\"}],on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.currentAssociation=$event.target.multiple ? $$selectedVal : $$selectedVal[0]}}},_vm._l((_vm.authUser.associations),function(hoa){return _c('option',{key:hoa.hoaID,domProps:{\"value\":hoa.hoaID}},[_vm._v(_vm._s(_vm._f(\"titleize\")(hoa.name || 'Untitled HOA')))])}),0)])]):_vm._e(),(['mobile', 'tablet'].includes(_vm.breakpoint))?_c('div',{style:({ display: 'flex', alignItems: 'center', paddingLeft: '10px' })},[(!_vm.authUser && _vm.$route.path !== '/signin')?_c('router-link',{staticClass:\"button is-primary is-small\",attrs:{\"mobile-nav-sign-in-button\":\"\",\"to\":\"/signin\"}},[_vm._v(\" \"+_vm._s(_vm.$t('auth.signIn'))+\" \")]):_vm._e(),(_vm.authUser)?_c('MobileButton'):_vm._e()],1):_vm._e(),(\n _vm.breakpoint === 'desktop' &&\n _vm.authUser &&\n _vm.authUser.userType == 'HomeOwner' &&\n _vm.ownerUnitList &&\n _vm.ownerUnitList != undefined\n )?_c('div',{staticClass:\"select-item ml-4 flex items-center md:ml-6\",attrs:{\"homeowner-address-chooser\":\"\"}},[(_vm.uniqOwnerUnitList && _vm.uniqOwnerUnitList.length > 1)?[(_vm.uniqOwnerUnitList)?_c('b-dropdown',{staticClass:\"outline-none focus:border-none\",attrs:{\"aria-role\":\"menu\"},scopedSlots:_vm._u([{key:\"trigger\",fn:function(){return [_c('button',{staticClass:\"border border-gray-400 px-5 py-2 white\",attrs:{\"slot\":\"trigger\",\"label\":_vm.unitLabel,\"icon-right\":\"menu-down\"},slot:\"trigger\"},[_c('b-icon',{staticClass:\"pr-5 mdi-18px\",attrs:{\"icon\":\"home\"}}),_c('span',{staticClass:\"relative\",staticStyle:{\"top\":\"-4px\"}},[_vm._v(_vm._s(_vm.unitLabel))]),_c('b-icon',{attrs:{\"icon\":\"menu-down\"}})],1)]},proxy:true}],null,false,1753653529),model:{value:(_vm.currentUnit),callback:function ($$v) {_vm.currentUnit=$$v},expression:\"currentUnit\"}},_vm._l((_vm.uniqOwnerUnitList),function(unit){return _c('b-dropdown-item',{key:unit.value,attrs:{\"value\":unit,\"aria-role\":\"listitem\"}},[_vm._v(_vm._s(unit.label))])}),1):_vm._e()]:[_c('button',{staticClass:\"border border-gray-400 px-5 py-2 white\",style:({ borderRadius: '6px' }),attrs:{\"slot\":\"trigger\",\"label\":_vm.currentLabel || _vm._get(_vm.ownerUnitList, [0, 'label'], ''),\"icon-right\":\"menu-down\"},slot:\"trigger\"},[_c('b-icon',{staticClass:\"pr-5 mdi-18px\",attrs:{\"icon\":\"home\"}}),_c('span',{staticClass:\"relative\",style:({ top: '-4px' })},[_vm._v(_vm._s(_vm.currentLabel || _vm._get(_vm.ownerUnitList, [0, 'label'], '')))])],1)]],2):_vm._e()])])]),_c('div',{style:({\n height: '64px',\n width: '100%',\n display: _vm.show ? 'flex' : 'none'\n })}),_c('Modal',{attrs:{\"toggle\":_vm.toggleSuggestion},on:{\"update:toggle\":function($event){_vm.toggleSuggestion=$event}}},[_c('SuggestionModal',{attrs:{\"toggle\":_vm.toggleSuggestion}})],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export function beforeDestroy() {}\r\n","import { mapState, mapGetters } from 'vuex'\r\nimport _get from 'lodash/get'\r\n\r\nexport const computed = {\r\n ...mapGetters('user', ['authUser', 'hoaId', 'ownerUnitList', 'ownerUnit']),\r\n ...mapState({\r\n unitId: state => _get(state, ['user', 'homeownerSelectedUnit', 'unitId'], null),\r\n unitLabel: state => _get(state, ['user', 'homeownerSelectedUnit', 'label'], null),\r\n topNavHeight: state => _get(state, ['layout', 'topNav', 'height'], null),\r\n theme: state => _get(state, ['theme'], null)\r\n }),\r\n show() {\r\n const routeName = _get(this, ['$route', 'name'], '')\r\n\r\n if (['signin', null].includes(routeName)) {\r\n return false\r\n }\r\n\r\n return true\r\n }\r\n}\r\n","import { appId } from '@/config'\r\n\r\nexport async function created() {\r\n if (this.authUser && this.authUser != undefined) {\r\n this.scope = appId()\r\n\r\n await this.loadOwnerUnits()\r\n\r\n await this.updateAlerts()\r\n\r\n await this.loadPlatformUrl()\r\n }\r\n}\r\n","import _get from 'lodash/get'\r\nimport { zIndexes } from '@/utilities/zIndexes'\r\nimport { appId } from '@/config'\r\n\r\nexport const data = function() {\r\n var alertGradient = _get(this, '$store.state.theme.colors.mainGradient', '')\r\n\r\n return {\r\n appId,\r\n breakpoint: null,\r\n firstAuth: true,\r\n currentAssociation: 0,\r\n currentUnit: 0,\r\n currentLabel: '',\r\n search: null,\r\n toggleUserMenu: false,\r\n isScrollable: false,\r\n maxHeight: 100,\r\n isDebug: true,\r\n toggleSuggestion: false,\r\n scope: '',\r\n alerts: [],\r\n uniqOwnerUnitList: [],\r\n showAlertsDropdown: false,\r\n platformUrl: 'https://hoamyway.wpengine.com/privacy-policy/',\r\n\r\n dropdownTriggers: ['click'],\r\n\r\n styles: {\r\n alertCount: {\r\n position: 'absolute',\r\n top: '-9px',\r\n left: '14px',\r\n\r\n padding: '2px 8px',\r\n borderRadius: '20px',\r\n\r\n fontSize: '12px',\r\n background: alertGradient,\r\n color: '#fff'\r\n }\r\n },\r\n\r\n zIndex: zIndexes.topNav\r\n }\r\n}\r\n","/*\r\n import { Login } from '@/services/User/Login'\r\n\r\n const { status, authorization } = await Login ({\r\n email: EMAIL,\r\n password: PASSWORD,\r\n scope: 'management'\r\n });\r\n*/\r\n\r\n/*\r\n scope:\r\n management\r\n admin\r\n homeowner\r\n*/\r\n//\r\nimport axios from 'axios'\r\nimport _get from 'lodash/get'\r\n//\r\nimport { KMS_BACKEND } from '@/config'\r\n//\r\nexport async function Login({ email, password, scope, clientType }) {\r\n var exception = false\r\n\r\n var res = await axios\r\n .post(`${KMS_BACKEND}/User/Login`, {\r\n email,\r\n password,\r\n scope,\r\n clientType\r\n })\r\n .catch(ex => {\r\n exception = ex\r\n })\r\n\r\n if (exception) {\r\n res = exception.response\r\n }\r\n\r\n const status = _get(res, ['status'], null)\r\n const data = _get(res, ['data'], null)\r\n let token = _get(res, ['data', 'token'], null)\r\n if (typeof token !== 'string') {\r\n token = ''\r\n }\r\n\r\n return {\r\n status,\r\n data,\r\n token,\r\n authorization: `Bearer ${token}`,\r\n res\r\n }\r\n}\r\n\r\n///////\r\n","/*\r\n import { users } from '@/services/Users/store'\r\n*/\r\n\r\nimport Vue from 'vue'\r\nimport Vuex from 'vuex'\r\nimport kms from '@/services/kms'\r\nconst isDebug = true\r\nimport { Login } from './Login'\r\n\r\n/* eslint-disable no-empty-pattern */\r\nconst actions = {\r\n /*\r\n const { status, token } = await users.dispatch ('login', {\r\n email\r\n password\r\n scope\r\n })\r\n */\r\n async Login({}, params) {\r\n return await Login(params)\r\n },\r\n\r\n async getPlatformUrls({}) {\r\n try {\r\n console.debug('in getPlatformUrls...')\r\n const result = await kms.get(`/Utility/PlatformUrlUtility/RetrievePlatformUrls`)\r\n\r\n if (isDebug == true) console.debug('getPlatformUrls=' + JSON.stringify(result))\r\n\r\n return {\r\n result: result\r\n }\r\n } catch (exception) {\r\n console.debug(`There was a problem retrieving platform urls.`)\r\n console.debug(exception)\r\n }\r\n\r\n return {\r\n result: {}\r\n }\r\n }\r\n}\r\n/* eslint-enable no-empty-pattern */\r\n\r\nVue.use(Vuex)\r\nexport const users = new Vuex.Store({\r\n state: {},\r\n mutations: {},\r\n getters: {},\r\n actions\r\n})\r\n","import _get from 'lodash/get'\r\nimport { mapActions } from 'vuex'\r\nimport uniqBy from 'lodash/uniqBy'\r\nimport { notificationStore } from '@/services/Notifications/store'\r\nimport { users } from '@/services/User/store'\r\nimport { sidebarStore } from '@/components/Sidebar/store'\r\n\r\nexport const methods = {\r\n _get,\r\n\r\n ...mapActions('user', ['selectHoaId']),\r\n\r\n async toggleSidebar() {\r\n await sidebarStore.dispatch('toggleIndex')\r\n },\r\n\r\n async loadOwnerUnits() {\r\n this.$store\r\n .dispatch('user/getOwnerUnits', {\r\n setDefault: true\r\n })\r\n .then(() => {\r\n if (this.ownerUnitList) {\r\n this.uniqOwnerUnitList = uniqBy(this.ownerUnitList, 'value')\r\n }\r\n })\r\n },\r\n\r\n async loadPlatformUrl() {\r\n await users.dispatch('getPlatformUrls').then(({ result }) => {\r\n if (\r\n result !== undefined &&\r\n result &&\r\n result.privacyPolicyUrl !== undefined &&\r\n result.privacyPolicyUrl\r\n ) {\r\n this.platformUrl = result.privacyPolicyUrl\r\n }\r\n })\r\n },\r\n\r\n async loadGlobalConversations() {\r\n if (this.isDebug === true) console.debug('...in loadGlobalConversations')\r\n\r\n if (this.$route.path !== '/conversations') {\r\n this.$router.push({ path: '/conversations?isglobal=true' })\r\n }\r\n },\r\n\r\n async loadGlobalSuggestions() {\r\n if (this.isDebug === true) console.debug('...in loadGlobalSuggestions')\r\n\r\n this.toggleSuggestion = true\r\n },\r\n\r\n clearIconClick() {\r\n this.search = ''\r\n alert('Search cleared!')\r\n },\r\n\r\n async updateAlerts() {\r\n let delivery = null\r\n if (this.scope === 'management' || this.scope === 'onboarding') {\r\n delivery = 'management'\r\n } else if (this.scope === 'homeowner') {\r\n delivery = 'homeowner'\r\n } else if (this.scope === 'vendor') {\r\n delivery = 'vendor'\r\n }\r\n\r\n let alerts = null\r\n await notificationStore\r\n .dispatch('getNotificationList', {\r\n hoaId: this.hoaId,\r\n deliveryType: delivery\r\n })\r\n .then(({ list }) => {\r\n if (list) {\r\n alerts = list\r\n }\r\n })\r\n\r\n const navAlerts = []\r\n for (let a = 0; a < alerts.length; a++) {\r\n navAlerts[a] = alerts[a]\r\n }\r\n\r\n this.alerts = navAlerts.map(alert => {\r\n const content = JSON.parse(_get(alert, 'content', null))\r\n\r\n return {\r\n id: _get(alert, 'notificationID', ''),\r\n message: content.Message !== undefined && content.Message ? content.Message : ''\r\n }\r\n })\r\n\r\n if (alerts.length === 0) {\r\n this.dropdownTriggers = []\r\n }\r\n },\r\n\r\n alertsIconClicked() {\r\n if (this.alerts.length === 0 && this.$route.path !== '/alerts') {\r\n this.$router.push('/alerts')\r\n }\r\n },\r\n\r\n async dropdownChange(open) {\r\n if (open === false) {\r\n // waits 1 second so that the dropdown vanishes normally\r\n setTimeout(() => {\r\n this.updateAlerts()\r\n }, 1000)\r\n }\r\n },\r\n\r\n showAllAlerts() {\r\n if (this.$route.path !== '/alerts') {\r\n this.$router.push('/alerts')\r\n }\r\n },\r\n\r\n redirectToCustomerSupport() {\r\n this.$router.push('/customerSupport')\r\n },\r\n\r\n uniqeArray(a) {\r\n return Array.from(new Set(a))\r\n }\r\n}\r\n","import { windowStore } from '@/utilities/window/store'\r\n\r\nexport const mounted = function() {\r\n //this.updateAlerts()\r\n\r\n // hoaID probably isn't initialized until after\r\n // this component is mounted\r\n\r\n if (this.hoaId > 0) {\r\n this.currentAssociation = this.hoaId\r\n }\r\n\r\n this.breakpoint = windowStore.state.breakpoint\r\n}\r\n","import { KMS_AUTH_DOMAIN, KMS_AUTH_TOKEN } from '@/config'\r\nimport Cookies from 'js-cookie'\r\n\r\nexport const watch = {\r\n async authUser() {\r\n // reset association when user status changes\r\n await this.loadOwnerUnits()\r\n\r\n if (this.hoaId > 0) {\r\n this.currentAssociation = this.hoaId\r\n }\r\n },\r\n currentAssociation(hoaId) {\r\n if (this.firstAuth) {\r\n this.firstAuth = false\r\n return\r\n }\r\n\r\n // pass selected HOA ID to Vuex when user changes it here\r\n if (hoaId > 0) {\r\n localStorage.setItem('hoaID', hoaId)\r\n\r\n document.body.style.transition = 'opacity .2s'\r\n document.body.style.opacity = 0\r\n\r\n //redirect to accounting dashboard\r\n this.$router\r\n .push({\r\n path: '/mainDashboard'\r\n })\r\n .catch(() => {})\r\n\r\n setTimeout(() => {\r\n this.$router.go(0)\r\n }, 200)\r\n }\r\n },\r\n unitId(unit) {\r\n this.currentUnit = unit\r\n },\r\n currentUnit(unit) {\r\n if (unit && unit.value && unit != undefined && unit.value != undefined) {\r\n Cookies.set(\r\n btoa(KMS_AUTH_TOKEN + '_homeowner_selected'),\r\n btoa(JSON.stringify({ unitId: unit.value })),\r\n { path: '/', domain: KMS_AUTH_DOMAIN, expires: 1 }\r\n )\r\n\r\n this.$store.dispatch('user/setUnitFromCookie')\r\n\r\n //redirect to main\r\n this.$router\r\n .push({\r\n path: '/'\r\n })\r\n .catch(() => {})\r\n\r\n setTimeout(() => {\r\n this.$router.go(0)\r\n }, 200)\r\n }\r\n }\r\n}\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('PageContentLayoutOnly',{attrs:{\"role\":\"region\",\"new-suggestion\":\"\",\"id\":\"newsuggestion\"}},[_c('div',{staticClass:\"section\"},[_c('div',{staticClass:\"container\"},[_c('div',{staticClass:\"is-size-4\"},[_vm._v(\"Add Suggestion\")]),_c('div',{staticClass:\"box is-12\"},[_c('ValidationObserver',{ref:\"form\",scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar handleSubmit = ref.handleSubmit;\nreturn [_c('transition',{attrs:{\"name\":\"fade\",\"mode\":\"out-in\",\"appear\":\"\"}},[_c('form',{staticClass:\"form\",on:{\"submit\":function($event){$event.preventDefault();return handleSubmit(_vm.onFormSubmit)}}},[_c('fieldset',[_c('div',{staticClass:\"columns\"},[_c('div',{staticClass:\"column is-12\"},[_c('valid-input',{staticClass:\"is-small\",staticStyle:{\"width\":\"50px !important\"},attrs:{\"name\":\"Suggestion\",\"label\":\"Suggestion\",\"type\":\"textarea\",\"vid\":\"Suggestion\",\"placeholder\":\"Suggestion\",\"spellcheck\":\"true\",\"aria-label\":\"Suggestion\",\"rules\":\"required|max:8000\"},model:{value:(_vm.formData.suggestion),callback:function ($$v) {_vm.$set(_vm.formData, \"suggestion\", $$v)},expression:\"formData.suggestion\"}})],1)]),_c('div',[_c('button',{staticClass:\"button is-primary is-rounded\",attrs:{\"type\":\"submit\"}},[_vm._v(\" Save \")]),_c('span',{staticClass:\"pl-3\"},[_vm._v(\" \")]),_c('button',{staticClass:\"button is-primary is-rounded\",attrs:{\"type\":\"button\"},on:{\"click\":function($event){$event.preventDefault();return _vm.closeModal()}}},[_vm._v(\" Cancel \")])])]),_c('fieldset',[_c('ValidationProvider',{attrs:{\"vid\":\"providerErrors\"},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar errors = ref.errors;\nreturn [_c('div',{staticClass:\"field\"},[_c('span',[_vm._v(_vm._s(errors[0]))])])]}}],null,true)})],1)])])]}}])})],1)])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/*\r\n import { suggestionStore } from '@/services/Suggestion/store'\r\n*/\r\n\r\nimport Vue from 'vue'\r\nimport Vuex from 'vuex'\r\nimport _get from 'lodash/get'\r\nimport { notifyProblem, notifyError, notifyMessage } from '@/services/notify'\r\nimport kms from '@/services/kms'\r\n\r\nconst isDebug = true\r\n\r\n/* eslint-disable no-empty-pattern */\r\nconst actions = {\r\n async addSuggestion({ dispatch }, { hoaID, ownerID, suggestionText, done }) {\r\n if (isDebug == true) console.debug('...in addSuggestion')\r\n try {\r\n const results = await kms.post(`/Suggestions/Suggestion`, {\r\n aspNetUserID: 'temp',\r\n hoaID,\r\n ownerID,\r\n suggestionText\r\n })\r\n\r\n if (this.isDebug == true) console.debug('results=' + JSON.stringify(results))\r\n\r\n if (dispatch && dispatch != undefined) console.debug(dispatch)\r\n\r\n if (results.suggestionID > 0) {\r\n notifyMessage(`Successfully submitted your suggestion.`)\r\n done()\r\n } else {\r\n notifyError('There was a problem submitting this suggestion.')\r\n }\r\n } catch (exception) {\r\n notifyProblem(`There was a problem submitting this suggestion.`)\r\n console.error(exception)\r\n }\r\n },\r\n\r\n async getSuggestionById({}, { suggestionID }) {\r\n try {\r\n console.debug('in getSuggestionById...')\r\n const suggestion = await kms.get(`/Suggestions/Suggestion/${suggestionID}`)\r\n\r\n if (isDebug == true) console.debug('getSuggestionById=' + JSON.stringify(suggestion))\r\n\r\n return {\r\n result: suggestion\r\n }\r\n } catch (exception) {\r\n notifyProblem(`There was a problem retrieving the suggestion.`)\r\n console.error(exception)\r\n }\r\n\r\n return {\r\n result: {}\r\n }\r\n },\r\n\r\n async getSuggestionList({}, { hoaID, ellipsisCharacterCount }) {\r\n console.log('in getSuggestionList...')\r\n try {\r\n const results = await kms.get('/Suggestions/Suggestion/List', {\r\n params: {\r\n hoaID,\r\n ellipsisCharacterCount\r\n }\r\n })\r\n\r\n if (isDebug == true) console.debug('getSuggestionList log=' + JSON.stringify(results))\r\n\r\n return {\r\n list: results.results\r\n }\r\n } catch (exception) {\r\n notifyProblem(`The suggestion list could not be retrieved.`)\r\n console.error(exception)\r\n }\r\n\r\n return {\r\n list: []\r\n }\r\n },\r\n\r\n async deleteSuggestion({ dispatch }, { suggestionID, done }) {\r\n try {\r\n const path = `/Suggestions/Suggestion/${suggestionID}?forceDelete=false`\r\n\r\n const results = await kms.delete(path)\r\n\r\n if (isDebug == true) console.debug('results=' + JSON.stringify(results))\r\n\r\n if (dispatch && dispatch != undefined) console.debug(dispatch)\r\n\r\n const wasDeleted = _get(results, 'deleted', false)\r\n\r\n if (wasDeleted === true) {\r\n notifyMessage(`Successfully deleted this suggestion.`)\r\n done()\r\n } else {\r\n notifyError('There was a problem deleting this suggestion.')\r\n }\r\n } catch (exception) {\r\n notifyProblem(`There was a problem deleting this suggestion.`)\r\n console.error(exception)\r\n }\r\n }\r\n}\r\n/* eslint-enable no-empty-pattern */\r\n\r\nVue.use(Vuex)\r\nexport const suggestionStore = new Vuex.Store({\r\n state: {},\r\n mutations: {},\r\n getters: {},\r\n actions\r\n})\r\n","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./index.vue?vue&type=template&id=61f32549&scoped=true&\"\nimport script from \"./index.vue?vue&type=script&lang=js&\"\nexport * from \"./index.vue?vue&type=script&lang=js&\"\nimport style0 from \"./index.vue?vue&type=style&index=0&id=61f32549&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"61f32549\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{style:({ display: 'flex', alignItems: 'center', height: '100%' })},[_c('b-button',{style:({ width: '36px', height: '36px' }),attrs:{\"mobile-nav-profile-button\":\"\",\"type\":\"is-primary\"},on:{\"click\":_vm.toggle}},[_vm._v(_vm._s(_vm.firstLetter)+_vm._s(_vm.secondLetter))])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MobileButton.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MobileButton.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./MobileButton.vue?vue&type=template&id=2a4dc63f&\"\nimport script from \"./MobileButton.vue?vue&type=script&lang=js&\"\nexport * from \"./MobileButton.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\r\n\r\n\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./index.vue?vue&type=template&id=1571e8d8&scoped=true&\"\nimport script from \"./index.vue?vue&type=script&lang=js&\"\nexport * from \"./index.vue?vue&type=script&lang=js&\"\nimport style0 from \"./index.vue?vue&type=style&index=0&lang=scss&\"\nimport style1 from \"./index.vue?vue&type=style&index=1&id=1571e8d8&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"1571e8d8\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('svg',{attrs:{\"width\":\"32px\",\"height\":\"32px\",\"viewBox\":\"0 0 35 32\",\"version\":\"1.1\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"xmlns:xlink\":\"http://www.w3.org/1999/xlink\"}},[_c('g',{style:({ transform: 'translate(2px,0px) scale(1.3)' }),attrs:{\"stroke\":_vm.stroke,\"stroke-width\":\"2\",\"fill\":\"none\",\"fill-rule\":\"evenodd\",\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\"}},[_c('path',{attrs:{\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"stroke-width\":\"2\",\"d\":\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-3 7h3m-3 4h3m-6-4h.01M9 16h.01\"}})])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./WorkOrder.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./WorkOrder.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./WorkOrder.vue?vue&type=template&id=0db483ec&\"\nimport script from \"./WorkOrder.vue?vue&type=script&lang=js&\"\nexport * from \"./WorkOrder.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('svg',{attrs:{\"width\":\"32px\",\"height\":\"32px\",\"viewBox\":\"0 0 32 32\",\"version\":\"1.1\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"xmlns:xlink\":\"http://www.w3.org/1999/xlink\"}},[_c('g',{attrs:{\"stroke\":\"none\",\"stroke-width\":\"1\",\"fill\":\"none\",\"fill-rule\":\"evenodd\",\"stroke-linejoin\":\"round\"}},[_c('g',{attrs:{\"transform\":\"translate(-9.000000, -359.000000)\",\"fill\":\"#FFFFFF\",\"stroke\":_vm.stroke,\"stroke-width\":\"0.5\"}},[_c('g',{attrs:{\"transform\":\"translate(13.000000, 15.000000)\"}},[_c('g',{attrs:{\"transform\":\"translate(0.000000, 345.000000)\"}},[_c('path',{attrs:{\"d\":\"M22.239304,25.5804241 C22.2165151,25.6020008 22.1886351,25.618244 22.1568762,25.6388509 C22.1332388,25.6544879 22.1108136,25.6713371 22.0375984,25.7075811 C21.6730979,25.9189841 21.3067792,25.8829826 20.9076105,25.8027367 C20.4171653,25.7053992 19.9749645,25.4097502 19.6984678,24.9949445 L18.051367,22.4903524 C19.0026805,21.8388093 20.0032082,21.1522344 20.8419108,20.576331 L22.5104671,23.1141367 C23.0043064,23.852835 23.1229782,24.8926371 22.239304,25.5804241 L22.239304,25.5804241 Z M14.1492604,23.8327129 C13.7670622,24.0843601 13.0957607,24.1364835 12.4468845,24.1869099 C11.8508589,24.2333361 11.2401661,24.2806109 10.7350535,24.4869228 L8.28100902,20.8154927 L5.85557178,17.181034 L6.65924257,16.6647695 C6.82773464,16.5566436 6.92301145,16.3639081 6.9072532,16.1642632 C6.72215436,13.8616191 7.16556729,13.1589223 8.22924922,12.4539224 C8.86527647,12.0324498 9.30141637,11.7432253 9.58639827,11.5542475 L10.5898352,13.0794038 L9.99829471,13.484512 C9.75089017,13.6542163 9.68712986,13.9920489 9.8568341,14.2396959 C10.0259323,14.486858 10.3631588,14.5506183 10.6117755,14.3812777 L16.8071925,10.1443689 C17.1715717,9.90096456 17.6978973,10.0109087 17.93815,10.3733484 C18.1716146,10.7256059 18.1007024,11.1920502 17.7957197,11.4415154 L17.6875938,11.5213976 C17.4498867,11.6958293 17.3953389,12.0284496 17.5645582,12.270157 C17.7337776,12.5115006 18.064216,12.5739276 18.3104084,12.4112539 C18.6749088,12.1685769 19.2041436,12.2770664 19.440881,12.6380515 C19.8084119,13.1985604 19.2182048,13.761736 19.1527475,13.8213749 C18.9386777,14.01108 18.9083734,14.3337605 19.0823202,14.5600732 C19.2565095,14.7856587 19.5749474,14.8392367 19.8143516,14.6803208 C20.1788521,14.4386135 20.7052989,14.5463757 20.9453091,14.9102701 C21.0659204,15.0918536 21.1091949,15.3094387 21.0659204,15.5233872 C21.0228882,15.7369722 20.8985193,15.9213437 20.7168145,16.0417125 C20.4730465,16.2031739 20.4032253,16.5268242 20.5554743,16.7762894 C20.7077232,17.0261183 21.0325856,17.1091521 21.2868995,16.9663582 C21.2892027,16.9650248 21.5401225,16.8264734 21.8269227,16.8264734 C22.0859641,16.8264734 22.2862151,16.941145 22.4564042,17.1868524 C22.5748335,17.3565567 22.6177444,17.5651717 22.5777427,17.7742716 C22.5365288,17.9919778 22.4062202,18.187865 22.2133635,18.3151432 C22.1430574,18.3637513 15.1497881,23.1726846 14.1492604,23.8327129 L14.1492604,23.8327129 Z M7.6192837,28.2265981 L1.29416425,18.7515255 L4.25223036,16.7367726 L4.62521604,17.2957056 C4.63103447,17.3057666 4.63503464,17.3166762 4.64158038,17.3264948 L7.51103664,21.6197696 L10.5760164,26.21233 L7.6192837,28.2265981 Z M5.21287758,7.78463147 C4.37538715,6.53063836 4.25416984,4.98148108 4.88546961,3.60736161 L7.05089571,6.85210667 C7.13102036,6.97162695 7.2552681,7.05478202 7.39660749,7.08290444 C7.53794688,7.1127239 7.68474105,7.08205592 7.80474619,7.00217371 L10.6682628,5.09021301 C10.7882679,5.01069445 10.8715442,4.88584062 10.8991818,4.74474367 C10.9279103,4.60340428 10.8986969,4.45661011 10.8186935,4.3368474 L8.65072183,1.08979921 C10.147392,1.02700864 11.5475732,1.75904 12.3777906,3.00175991 C13.1703094,4.19102298 13.2147961,5.91194519 12.4893105,7.3864326 C12.4043372,7.55904605 12.4171862,7.76390331 12.5232514,7.9248799 L14.2616289,10.5686295 L11.4875706,12.4658017 L10.1940607,10.5009903 C10.1663019,10.4590491 10.131755,10.4235324 10.0945413,10.3911674 L9.71197941,9.80956671 C9.61124782,9.65598437 9.44021019,9.56482895 9.25777814,9.56482895 C9.24626249,9.56482895 9.23474685,9.56531382 9.22310998,9.56604112 C7.59613119,9.66640906 6.00188108,8.96565176 5.21287758,7.78463147 L5.21287758,7.78463147 Z M23.4164453,22.5135049 L21.7378279,19.9609107 C22.3448842,19.5438019 22.7569019,19.260517 22.8217532,19.2160303 C23.2491654,18.9326242 23.5492995,18.4814534 23.6459097,17.9777954 C23.7408228,17.479471 23.635485,16.9782374 23.3492909,16.5673108 C22.9763052,16.0293483 22.5159219,15.8254608 22.126087,15.7635187 L22.1308145,15.7381843 C22.2315461,15.2397387 22.1320266,14.7319594 21.8512873,14.3096383 C21.5585475,13.8668314 21.1004673,13.5721521 20.5875968,13.484512 C20.7034806,13.0478873 20.6791159,12.5450778 20.3491624,12.0421472 C20.0647866,11.6086741 19.6213736,11.3170252 19.1217159,11.2218696 C19.2243869,10.738455 19.1374741,10.2170993 18.844007,9.77344395 C18.2848315,8.92674101 17.0606579,8.66915421 16.1988028,9.2438455 L15.158637,9.95526992 L13.5965095,7.57965299 C14.3615119,5.80830438 14.2484162,3.84894772 13.2814657,2.39834012 C12.2777863,0.896578811 10.6051086,5.55555556e-05 8.80709216,5.55555556e-05 C8.69423884,5.55555556e-05 8.58077944,0.0038132923 8.48029028,0.00999537532 C8.19227794,0.0217534548 7.90050787,0.0649068186 7.58764598,0.141394944 C7.41539618,0.183699787 7.27466288,0.307099012 7.2104177,0.472075777 C7.1460513,0.637416194 7.16605216,0.823484771 7.26496549,0.970885025 L9.61306608,4.48836905 L7.65310333,5.79642508 L5.30573004,2.27833498 C5.20730158,2.13202568 5.04487038,2.04196121 4.86898406,2.0369913 C4.68885513,2.0215967 4.52521175,2.11275212 4.41902539,2.25324299 C4.23950255,2.4920411 4.08604143,2.7510825 3.95512673,3.03351884 C3.11278761,4.74838019 3.24867222,6.79998323 4.30932372,8.38817248 C5.26027355,9.81247592 6.97865019,10.6629366 8.90600549,10.6629366 C8.92552148,10.6629366 8.94515868,10.6625729 8.96467467,10.6624517 C8.68017763,10.8513083 8.25118956,11.1358053 7.62885987,11.547823 C6.14928133,12.5287135 5.66707885,13.6556709 5.80102399,15.9244953 L5.25215199,16.2768741 L4.85213485,15.6773332 C4.77140412,15.5568432 4.64570177,15.4732033 4.50327142,15.4455657 C4.36156838,15.4173221 4.21416813,15.4478689 4.09404177,15.5298118 L0.237149266,18.1563485 C-0.00904309921,18.3239921 -0.0738943623,18.6589155 0.0915672716,18.9070474 L7.01986408,29.2860374 C7.09998873,29.4065275 7.22569108,29.4901674 7.36800021,29.5174413 C7.40206227,29.5244719 7.43733651,29.5277448 7.47176223,29.5277448 C7.57964564,29.5277448 7.68643809,29.4953797 7.77735108,29.4333165 L11.6325465,26.807507 C11.8786177,26.6398635 11.9441963,26.30494 11.7787346,26.0570506 L11.3560498,25.4234477 C11.6856397,25.3362925 12.1128095,25.3027153 12.5311305,25.2699866 C13.3177096,25.209378 14.1309566,25.1459813 14.7471042,24.7399033 C15.0765729,24.5225606 16.0213406,23.8792604 17.1541164,23.1044393 L18.7924896,25.5958187 C19.2304478,26.2511195 19.9241745,26.7153819 20.6947529,26.8683581 C20.9300358,26.9159965 21.1847133,26.9590287 21.4530885,26.9590287 C21.8562572,26.9590287 22.2151817,26.8603578 22.5353166,26.6718648 C22.611926,26.6370755 22.6804138,26.5951343 22.765872,26.5394955 C22.8384811,26.4907662 22.9112115,26.4388852 22.941031,26.4088233 C24.135264,25.4833291 24.3290905,23.8801089 23.4164453,22.5135049 L23.4164453,22.5135049 Z\"}})])])])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Services.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Services.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Services.vue?vue&type=template&id=1ec47e40&\"\nimport script from \"./Services.vue?vue&type=script&lang=js&\"\nexport * from \"./Services.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('svg',{attrs:{\"width\":\"32px\",\"height\":\"32px\",\"viewBox\":\"0 0 32 32\",\"version\":\"1.1\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"xmlns:xlink\":\"http://www.w3.org/1999/xlink\"}},[_c('g',{attrs:{\"stroke\":\"none\",\"stroke-width\":\"1\",\"fill\":\"none\",\"fill-rule\":\"evenodd\",\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\"}},[_c('g',{attrs:{\"transform\":\"translate(-9.000000, -609.000000)\",\"stroke\":_vm.stroke,\"stroke-width\":\"2\"}},[_c('g',{attrs:{\"transform\":\"translate(13.000000, 15.000000)\"}},[_c('g',{attrs:{\"transform\":\"translate(2.000000, 599.000000)\"}},[_c('path',{attrs:{\"d\":\"M20.618 5.984A11.955 11.955 0 0112 2.944a11.955 11.955 0 01-8.618 3.04A12.02 12.02 0 003 9c0 5.591 3.824 10.29 9 11.622 5.176-1.332 9-6.03 9-11.622 0-1.042-.133-2.052-.382-3.016zM12 9v2m0 4h.01\"}})])])])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Violations.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Violations.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Violations.vue?vue&type=template&id=bceec080&\"\nimport script from \"./Violations.vue?vue&type=script&lang=js&\"\nexport * from \"./Violations.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('svg',{attrs:{\"width\":\"32px\",\"height\":\"32px\",\"viewBox\":\"0 0 32 32\",\"version\":\"1.1\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"xmlns:xlink\":\"http://www.w3.org/1999/xlink\"}},[_c('g',{attrs:{\"stroke\":\"none\",\"stroke-width\":\"1\",\"fill\":\"none\",\"fill-rule\":\"evenodd\"}},[_c('g',{attrs:{\"transform\":\"translate(-9.000000, -459.000000)\",\"fill\":_vm.stroke}},[_c('g',{attrs:{\"transform\":\"translate(13.000000, 15.000000)\"}},[_c('g',{attrs:{\"transform\":\"translate(2.000000, 446.000000)\"}},[_c('path',{attrs:{\"d\":\"M9.98722573,-3.37507799e-14 C11.2141932,-3.37507799e-14 12.2266863,0.913566732 12.3978788,2.10190059 L12.3978788,2.10190059 L13.776685,2.10190059 C14.1842862,2.10190059 14.5159387,2.43592195 14.5159387,2.84656618 L14.5159387,2.84656618 L14.5159387,3.50669258 L17.8263053,3.50669258 C19.0113984,3.50669258 19.975859,4.47815478 19.975859,5.67192372 L19.975859,5.67192372 L19.9745101,24.8592473 C19.9745101,26.0537842 19.0102254,27.0253055 17.8248391,27.0253055 L17.8248391,27.0253055 L2.14972964,27.0179799 C0.964401968,27.0179799 4.08562073e-14,26.0465177 4.08562073e-14,24.8522171 L4.08562073e-14,24.8522171 L4.08562073e-14,5.67192372 C4.08562073e-14,4.47815478 0.964401968,3.50669258 2.14972964,3.50669258 L2.14972964,3.50669258 L5.45675336,3.50669258 L5.45675336,2.84656618 C5.45675336,2.43592195 5.78834718,2.10190059 6.196007,2.10190059 L6.196007,2.10190059 L7.57674864,2.10190059 C7.74776519,0.913566732 8.76037552,-3.37507799e-14 9.98722573,-3.37507799e-14 Z M5.45675336,4.91065749 L2.14849803,4.91065749 C1.73157189,4.91065749 1.39241252,5.25235886 1.39241252,5.67192372 L1.39241252,5.67192372 L1.39241252,24.8522171 C1.39241252,25.2723136 1.78904658,25.6206907 2.20597273,25.6206907 L2.20597273,25.6206907 L17.8260707,25.6210452 C18.2430555,25.6210452 18.5821562,25.2793438 18.5821562,24.8592473 L18.5821562,24.8592473 L18.5809126,5.69837967 C18.5877464,5.78937554 18.6270021,4.91479288 17.8260707,4.91479288 L17.8260707,4.91479288 L14.5159387,4.91479288 L14.5159387,5.68911513 C14.5159387,6.0996412 14.1842862,6.43348533 13.776685,6.43348533 L13.776685,6.43348533 L6.196007,6.43348533 C5.78834718,6.43348533 5.45675336,6.0996412 5.45675336,5.68911513 L5.45675336,5.68911513 L5.45675336,4.91065749 Z M13.1114661,13.2823673 C13.6106035,12.783831 14.4197528,12.783831 14.9188902,13.2823673 C15.4180276,13.781024 15.4180276,14.5893931 14.9188902,15.0878091 L14.9188902,15.0878091 L10.0130331,19.9886892 C9.75107322,20.2503832 9.40394586,20.3709104 9.06065803,20.3580935 C8.72638725,20.3641108 8.39008036,20.2406351 8.13498509,19.9831533 L8.13498509,19.9831533 L5.47158111,17.6735189 C4.97314184,17.1710712 4.97314184,16.3561433 5.47158111,15.853455 C5.97002039,15.3509472 6.77812262,15.3509472 7.27650372,15.853455 L7.27650372,15.853455 L9.02208833,17.3674169 Z M9.98722573,1.40384676 C9.53827796,1.40384676 9.17431064,1.77047862 9.17431064,2.22277214 C9.17431064,2.67506565 9.53827796,3.04169751 9.98722573,3.04169751 C10.4362321,3.04169751 10.8003168,2.67506565 10.8003168,2.22277214 C10.8003168,1.77047862 10.4362321,1.40384676 9.98722573,1.40384676 Z\"}})])])])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Amenity2.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Amenity2.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Amenity2.vue?vue&type=template&id=0e3e49f0&\"\nimport script from \"./Amenity2.vue?vue&type=script&lang=js&\"\nexport * from \"./Amenity2.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('svg',{attrs:{\"width\":\"32px\",\"height\":\"32px\",\"viewBox\":\"0 0 35 32\",\"version\":\"1.1\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"xmlns:xlink\":\"http://www.w3.org/1999/xlink\"}},[_c('g',{attrs:{\"stroke\":\"none\",\"stroke-width\":\"0\",\"fill\":\"none\",\"fill-rule\":\"evenodd\",\"stroke-linecap\":\"none\",\"stroke-linejoin\":\"none\"}},[_c('g',{attrs:{\"transform\":\"translate(-9.000000, -609.000000)\",\"stroke\":_vm.stroke,\"stroke-width\":\"2\"}},[_c('g',{attrs:{\"transform\":\"translate(13.000000, 15.000000)\"}},[_c('g',{attrs:{\"transform\":\"translate(2.000000, 599.000000)\"}},[_c('path',{attrs:{\"d\":\"M12,5.5C13.93,5.5 15.5,7.07 15.5,9C15.5,10.93 13.93,12.5 12,12.5C10.07,12.5 8.5,10.93 8.5,9C8.5,7.07 10.07,5.5 12,5.5M5,8C5.56,8 6.08,8.15 6.53,8.42C6.38,9.85 6.8,11.27 7.66,12.38C7.16,13.34 6.16,14 5,14C3.34,14 2,12.66 2,11C2,9.34 3.34,8 5,8M19,8C20.66,8 22,9.34 22,11C22,12.66 20.66,14 19,14C17.84,14 16.84,13.34 16.34,12.38C17.2,11.27 17.62,9.85 17.47,8.42C17.92,8.15 18.44,8 19,8M5.5,18.25C5.5,16.18 8.41,14.5 12,14.5C15.59,14.5 18.5,16.18 18.5,18.25V20H5.5V18.25M0,20V18.5C0,17.11 1.89,15.94 4.45,15.6C3.86,16.28 3.5,17.22 3.5,18.25V20H0M24,20H20.5V18.25C20.5,17.22 20.14,16.28 19.55,15.6C22.11,15.94 24,17.11 24,18.5V20Z\"}})])])])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Survey.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Survey.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Survey.vue?vue&type=template&id=666384d2&\"\nimport script from \"./Survey.vue?vue&type=script&lang=js&\"\nexport * from \"./Survey.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('svg',{attrs:{\"width\":\"32px\",\"height\":\"34px\",\"viewBox\":\"0 0 35 32\",\"version\":\"1.1\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"xmlns:xlink\":\"http://www.w3.org/1999/xlink\"}},[_c('g',{attrs:{\"stroke\":\"none\",\"stroke-width\":\"1\",\"fill\":\"none\",\"fill-rule\":\"evenodd\",\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\"}},[_c('g',{attrs:{\"transform\":\"translate(-9.000000, -609.000000)\",\"stroke\":_vm.stroke,\"stroke-width\":\"2\"}},[_c('g',{attrs:{\"transform\":\"translate(13.000000, 15.000000)\"}},[_c('g',{attrs:{\"transform\":\"translate(2.000000, 599.000000)\"}},[_c('path',{attrs:{\"d\":\"M19 1L14 6V17L19 12.5V1M21 5V18.5C19.9 18.15 18.7 18 17.5 18C15.8 18 13.35 18.65 12 19.5V6C10.55 4.9 8.45 4.5 6.5 4.5C4.55 4.5 2.45 4.9 1 6V20.65C1 20.9 1.25 21.15 1.5 21.15C1.6 21.15 1.65 21.1 1.75 21.1C3.1 20.45 5.05 20 6.5 20C8.45 20 10.55 20.4 12 21.5C13.35 20.65 15.8 20 17.5 20C19.15 20 20.85 20.3 22.25 21.05C22.35 21.1 22.4 21.1 22.5 21.1C22.75 21.1 23 20.85 23 20.6V6C22.4 5.55 21.75 5.25 21 5M10 18.41C8.75 18.09 7.5 18 6.5 18C5.44 18 4.18 18.19 3 18.5V7.13C3.91 6.73 5.14 6.5 6.5 6.5C7.86 6.5 9.09 6.73 10 7.13V18.41Z\"}})])])])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OpenPage.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OpenPage.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./OpenPage.vue?vue&type=template&id=225c8fae&\"\nimport script from \"./OpenPage.vue?vue&type=script&lang=js&\"\nexport * from \"./OpenPage.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('svg',{staticStyle:{\"margin-right\":\"-4px\"},attrs:{\"width\":\"36px\",\"height\":\"36px\",\"viewBox\":\"0 0 39 36\",\"version\":\"1.1\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"xmlns:xlink\":\"http://www.w3.org/1999/xlink\"}},[_c('g',{attrs:{\"stroke\":\"none\",\"stroke-width\":\"1\",\"fill\":\"none\",\"fill-rule\":\"evenodd\",\"stroke-linecap\":\"none\",\"stroke-linejoin\":\"none\"}},[_c('g',{attrs:{\"transform\":\"translate(-9.000000, -609.000000)\",\"stroke\":_vm.stroke,\"stroke-width\":\"2.0\"}},[_c('g',{attrs:{\"transform\":\"translate(13.000000, 15.000000)\"}},[_c('g',{attrs:{\"transform\":\"translate(2.000000, 599.000000)\"}},[_c('path',{attrs:{\"d\":\"M20,8H4V6H20M20,18H4V12H20M20,4H4C2.89,4 2,4.89 2,6V18A2,2 0 0,0 4,20H20A2,2 0 0,0 22,18V6C22,4.89 21.1,4 20,4Z\"}})])])])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Billing.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Billing.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Billing.vue?vue&type=template&id=5b7003f8&\"\nimport script from \"./Billing.vue?vue&type=script&lang=js&\"\nexport * from \"./Billing.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('svg',{staticStyle:{\"margin-right\":\"2px\"},attrs:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"height\":\"30px\",\"viewBox\":\"0 0 22 20\",\"width\":\"30px\",\"fill\":\"#DAE0E9\"}},[_c('path',{attrs:{\"d\":\"M0 0h24v24H0V0z\",\"fill\":\"none\"}}),_c('path',{attrs:{\"d\":\"M18 13h-.68l-2 2h1.91L19 17H5l1.78-2h2.05l-2-2H6l-3 3v4c0 1.1.89 2 1.99 2H19c1.1 0 2-.89 2-2v-4l-3-3zm-1-5.05l-4.95 4.95-3.54-3.54 4.95-4.95L17 7.95zm-4.24-5.66L6.39 8.66c-.39.39-.39 1.02 0 1.41l4.95 4.95c.39.39 1.02.39 1.41 0l6.36-6.36c.39-.39.39-1.02 0-1.41L14.16 2.3c-.38-.4-1.01-.4-1.4-.01z\"}})])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Evoting.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Evoting.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Evoting.vue?vue&type=template&id=33553702&\"\nimport script from \"./Evoting.vue?vue&type=script&lang=js&\"\nexport * from \"./Evoting.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('svg',{staticStyle:{\"margin-right\":\"2px\"},attrs:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"height\":\"30px\",\"viewBox\":\"0 0 22 20\",\"width\":\"30px\",\"fill\":\"#DAE0E9\"}},[_c('path',{attrs:{\"d\":\"M0 0h24v24H0z\",\"fill\":\"none\"}}),_c('path',{attrs:{\"d\":\"M12 12c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm0 2c-2.67 0-8 1.34-8 4v2h16v-2c0-2.66-5.33-4-8-4z\"}})])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Account.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Account.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Account.vue?vue&type=template&id=bcdeefa8&\"\nimport script from \"./Account.vue?vue&type=script&lang=js&\"\nexport * from \"./Account.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('svg',{staticStyle:{\"margin-right\":\"2px\"},attrs:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"height\":\"30px\",\"viewBox\":\"0 0 22 20\",\"width\":\"30px\",\"fill\":\"#DAE0E9\"}},[_c('path',{attrs:{\"d\":\"M0 0h24v24H0z\",\"fill\":\"none\"}}),_c('path',{attrs:{\"d\":\"M10 20v-6h4v6h5v-8h3L12 3 2 12h3v8z\"}})])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Property.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Property.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Property.vue?vue&type=template&id=05ad3503&\"\nimport script from \"./Property.vue?vue&type=script&lang=js&\"\nexport * from \"./Property.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('svg',{staticStyle:{\"margin-right\":\"2px\"},attrs:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"height\":\"30px\",\"viewBox\":\"0 0 22 20\",\"width\":\"30px\",\"fill\":\"#DAE0E9\"}},[_c('path',{attrs:{\"d\":\"M0 0h24v24H0z\",\"fill\":\"none\"}}),_c('path',{attrs:{\"d\":\"M11.5 2C6.81 2 3 5.81 3 10.5S6.81 19 11.5 19h.5v3c4.86-2.34 8-7 8-11.5C20 5.81 16.19 2 11.5 2zm1 14.5h-2v-2h2v2zm0-3.5h-2c0-3.25 3-3 3-5 0-1.1-.9-2-2-2s-2 .9-2 2h-2c0-2.21 1.79-4 4-4s4 1.79 4 4c0 2.5-3 2.75-3 5z\"}})])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CustomerSupport.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CustomerSupport.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./CustomerSupport.vue?vue&type=template&id=38fb77c7&\"\nimport script from \"./CustomerSupport.vue?vue&type=script&lang=js&\"\nexport * from \"./CustomerSupport.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('svg',{attrs:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"height\":\"29px\",\"viewBox\":\"0 0 21 24\",\"width\":\"29px\",\"fill\":\"#DAE0E9\"}},[_c('path',{attrs:{\"d\":\"M0 0h24v24H0z\",\"fill\":\"none\"}}),_c('path',{attrs:{\"d\":\"M11 18h2v-2h-2v2zm1-16C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8zm0-14c-2.21 0-4 1.79-4 4h2c0-1.1.9-2 2-2s2 .9 2 2c0 2-3 1.75-3 5h2c0-2.25 3-2.5 3-5 0-2.21-1.79-4-4-4z\"}})])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./HelpCenter.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./HelpCenter.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./HelpCenter.vue?vue&type=template&id=687f7765&\"\nimport script from \"./HelpCenter.vue?vue&type=script&lang=js&\"\nexport * from \"./HelpCenter.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\r\n\r\n\r\n","import mod from \"-!../node_modules/cache-loader/dist/cjs.js??ref--12-0!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppHomeowner.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../node_modules/cache-loader/dist/cjs.js??ref--12-0!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppHomeowner.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./AppHomeowner.vue?vue&type=template&id=3f30011a&\"\nimport script from \"./AppHomeowner.vue?vue&type=script&lang=js&\"\nexport * from \"./AppHomeowner.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","// https://router.vuejs.org/guide/advanced/scroll-behavior.html\r\n\r\n// reset to top of screen on page change unless there is a saved position\r\nexport default (to, from, savedPosition) => {\r\n if (savedPosition) {\r\n return savedPosition\r\n } else {\r\n if (to.hash) {\r\n return { selector: to.hash }\r\n\r\n // return {\r\n // selector: to.hash,\r\n // behavior: 'smooth',\r\n // }\r\n }\r\n return { x: 0, y: 0 }\r\n }\r\n}\r\n","/*\r\n import { GoogleAnalytics } from '@/parties/GoogleAnalytics'\r\n \r\n import { gtag } from '@/parties/GoogleAnalytics'\r\n \r\n // Example:\r\n // gtag('event', 'route_open', {\r\n // path: to.fullPath\r\n // })\r\n*/\r\n\r\n/**\r\n https://developers.google.com/tag-platform/gtagjs/reference\r\n**/\r\n\r\n/*\r\n Alternatively, perhaps this is a better way\r\n of setting of the analytics... in 'public/index.html'\r\n\r\n \r\n \r\n \r\n*/\r\n\r\nexport function gtag() {\r\n if (window !== undefined && window.dataLayer !== undefined && window && window.dataLayer) {\r\n window.dataLayer.push(arguments)\r\n }\r\n}\r\n\r\nfunction configure({ id }) {\r\n var scriptHead = document.createElement('script')\r\n scriptHead.innerText = `(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':\r\n new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],\r\n j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=\r\n 'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);\r\n })(window,document,'script','dataLayer','${id}');`\r\n document.head.prepend(scriptHead)\r\n\r\n var noscriptBody = document.createElement('noscript')\r\n noscriptBody.innerText = ``\r\n document.body.prepend(noscriptBody)\r\n\r\n console.log('configured scripts with id ' + id)\r\n\r\n //window.dataLayer = window.dataLayer || []\r\n //gtag('js', new Date())\r\n //gtag('config', id)\r\n}\r\n\r\nfunction isLocal() {\r\n var VUE_APP_ENVIRONMENT = null\r\n try {\r\n VUE_APP_ENVIRONMENT = process.env.VUE_APP_ENVIRONMENT\r\n if (VUE_APP_ENVIRONMENT === 'local') {\r\n return true\r\n }\r\n } catch (x) {\r\n console.error(x)\r\n }\r\n\r\n return false\r\n}\r\n\r\nexport function GoogleAnalytics({ app_id }) {\r\n console.log('GoogleAnalytics called with app_id ' + app_id)\r\n const _isLocal = isLocal()\r\n if (!_isLocal) {\r\n console.log('not isLocal path')\r\n var VUE_APP_MEASUREMENT_ID = null\r\n try {\r\n VUE_APP_MEASUREMENT_ID = process.env.VUE_APP_MEASUREMENT_ID\r\n } catch (x) {\r\n console.error(x)\r\n\r\n //\r\n // TODO: Send an error message to the server that\r\n // Google Analytics could not be started.\r\n //\r\n return\r\n }\r\n\r\n if (typeof VUE_APP_MEASUREMENT_ID === 'string' && VUE_APP_MEASUREMENT_ID.length >= 5) {\r\n configure({ id: VUE_APP_MEASUREMENT_ID })\r\n }\r\n } else {\r\n console.log('isLocal path')\r\n let VUE_APP_MEASUREMENT_ID = null\r\n\r\n if (app_id === 'management') {\r\n VUE_APP_MEASUREMENT_ID = process.env.VUE_APP_MEASUREMENT_ID_MANAGEMENT\r\n } else if (app_id === 'vendor') {\r\n VUE_APP_MEASUREMENT_ID = process.env.VUE_APP_MEASUREMENT_ID_VENDOR\r\n } else if (app_id === 'homeowner') {\r\n VUE_APP_MEASUREMENT_ID = process.env.VUE_APP_MEASUREMENT_ID_HOMEOWNER\r\n } else if (app_id === 'onboarding') {\r\n VUE_APP_MEASUREMENT_ID = process.env.VUE_APP_MEASUREMENT_ID_ONBOARDING\r\n } else {\r\n console.error(`A VUE_APP_MEASUREMENT_ID could not determined.`)\r\n return\r\n }\r\n\r\n configure({ id: VUE_APP_MEASUREMENT_ID })\r\n }\r\n}\r\n","import { gtag } from '@/parties/GoogleAnalytics'\r\n\r\nexport function afterEach({ to }) {\r\n //\r\n // https://developers.google.com/analytics/devguides/collection/gtagjs/single-page-applications\r\n // https://developers.google.com/tag-platform/gtagjs/reference\r\n //\r\n gtag('event', 'route_open', {\r\n path: to.fullPath\r\n })\r\n}\r\n","import kms from '@/services/kms'\r\nimport _get from 'lodash/get'\r\nimport each from 'async/each'\r\n\r\nimport { notifyError } from '@/services/notify'\r\n\r\nconst isDebug = true\r\n\r\nconst state = {\r\n list: [],\r\n\r\n // list of alerts for the top nav\r\n unreadList: []\r\n}\r\n\r\nconst mutations = {\r\n listUpdate(state, payload) {\r\n state.list = payload\r\n },\r\n unreadListUpdate(state, payload) {\r\n state.unreadList = payload\r\n }\r\n}\r\n\r\nlet unreadRetrievalInterval\r\n\r\nconst actions = {\r\n retrieveUnreadListOnRepeat: async function({ dispatch }) {\r\n unreadRetrievalInterval = setInterval(() => {\r\n dispatch('retrieveUnreadList')\r\n }, 60000)\r\n },\r\n\r\n stopRetrievingUnreadListOnRepeat: async function() {\r\n clearInterval(unreadRetrievalInterval)\r\n },\r\n\r\n retrieveUnreadList: async function({ commit, rootState }) {\r\n try {\r\n const hoaID = _get(rootState, ['user', 'selectedHoaId'], null)\r\n let userType = _get(rootState.user.authUser, ['userType'], null)\r\n\r\n if (!userType) {\r\n userType = 'management-portal'\r\n }\r\n\r\n if (userType) {\r\n if (userType == 'HomeOwner') {\r\n userType = 'homeowner-portal'\r\n } else {\r\n userType = 'management-portal'\r\n }\r\n }\r\n\r\n if (typeof hoaID !== 'number' || hoaID <= 0) {\r\n return\r\n }\r\n\r\n let { results: list } = await kms.get('/Notifications/Notification/List', {\r\n params: {\r\n hoaID,\r\n deliveryTypeCodeName: userType,\r\n forCurrentUser: true,\r\n unreadOnly: true\r\n }\r\n })\r\n\r\n commit('unreadListUpdate', list)\r\n } catch (exception) {\r\n notifyError(exception)\r\n }\r\n },\r\n retrieveList: async function({ commit, rootState }) {\r\n try {\r\n const hoaID = _get(rootState, ['user', 'selectedHoaId'], null)\r\n let userType = _get(rootState.user.authUser, ['userType'], null)\r\n\r\n if (!userType) {\r\n userType = 'management-portal'\r\n }\r\n\r\n if (userType) {\r\n if (userType == 'HomeOwner') {\r\n userType = 'homeowner-portal'\r\n } else {\r\n userType = 'management-portal'\r\n }\r\n }\r\n\r\n if (typeof hoaID !== 'number' || hoaID <= 0) {\r\n return\r\n }\r\n\r\n var params = {\r\n hoaID,\r\n deliveryTypeCodeName: userType,\r\n forCurrentUser: true,\r\n unreadOnly: false\r\n }\r\n\r\n let { results: list } = await kms.get('/Notifications/Notification/List', {\r\n params\r\n })\r\n\r\n if (isDebug == true) console.debug('listUpdate=' + JSON.stringify(list))\r\n\r\n commit('listUpdate', list)\r\n } catch (exception) {\r\n notifyError(exception)\r\n }\r\n },\r\n markAsRead: async function({ commit, state }) {\r\n const unreadList = state.unreadList\r\n each(\r\n unreadList,\r\n function(alert, callback) {\r\n const alertID = _get(alert, 'notificationID', null)\r\n if (typeof alertID === 'number' || typeof alertID === 'string') {\r\n ;(async () => {\r\n await kms.post(`/Notifications/Notification/SetDelivered?notificationID=${alertID}`, {})\r\n callback()\r\n })().catch(exception => {\r\n console.error(exception)\r\n callback()\r\n })\r\n } else {\r\n console.error(`a notiification could not be marked as read`, alert)\r\n callback()\r\n }\r\n },\r\n function(exception) {\r\n if (exception) {\r\n console.error(exception)\r\n }\r\n\r\n commit('unreadListUpdate', [])\r\n }\r\n )\r\n }\r\n}\r\n\r\nconst getters = {\r\n list: () => state.list,\r\n unreadList: () => state.unreadList\r\n}\r\n\r\nexport const alerts = {\r\n namespaced: true,\r\n state,\r\n mutations,\r\n actions,\r\n getters\r\n}\r\n","import { notifyMessage, notifyError } from '@/services/notify'\r\nimport kms from '@/services/kms'\r\nimport _get from 'lodash/get'\r\n\r\nconst isDebug = true\r\nconst isDebug2 = true\r\n\r\n//--------------- Persist in Memory ---------------------------\r\nexport const actions = {\r\n pushPendingDetailListDto({ commit }, { accountID, amount, description }) {\r\n try {\r\n console.debug('in pushPendingDetailListDto...')\r\n let existingPendingDetails = [{ accountID: 0, amount: 0, description: '' }]\r\n\r\n if (isDebug2 == true)\r\n console.debug(\r\n 'existingPendingDetails payload=' +\r\n accountID +\r\n ', amount=' +\r\n amount +\r\n ', description=' +\r\n description\r\n )\r\n\r\n const lineItem = {\r\n accountID: accountID,\r\n amount: amount,\r\n description: description\r\n }\r\n\r\n if (isDebug2 == true) console.debug('lineItem=' + JSON.stringify(lineItem))\r\n\r\n existingPendingDetails.push(lineItem)\r\n\r\n if (isDebug2 == true)\r\n console.debug('pushPendingDetailListDto=' + JSON.stringify(existingPendingDetails))\r\n\r\n commit('pendingGlTransactionDetailListDto', existingPendingDetails)\r\n } catch (e) {\r\n notifyError(e)\r\n }\r\n },\r\n clearPendingDetailListDto({ commit }) {\r\n try {\r\n var existingPendingDetails = []\r\n commit('pendingGlTransactionDetailListDto', existingPendingDetails)\r\n } catch (e) {\r\n notifyError(e)\r\n }\r\n },\r\n //--------------- List ---------------------------\r\n async getAccountTypeList({ commit }) {\r\n try {\r\n let dropdownAccountTypes = [\r\n { value: 'Asset', label: 'Asset' },\r\n { value: 'Liability', label: 'Liability' },\r\n { value: 'Equity', label: 'Equity' },\r\n { value: 'Income', label: 'Income' },\r\n { value: 'Expense', label: 'Expense' }\r\n ]\r\n\r\n //dropdownAccountTypes.push({value: 'Asset', label: 'Asset'})\r\n\r\n if (isDebug == true)\r\n console.debug('dropdownAccountTypes=' + JSON.stringify(dropdownAccountTypes))\r\n\r\n commit('accountTypeList', dropdownAccountTypes)\r\n } catch (e) {\r\n notifyError(e)\r\n }\r\n },\r\n\r\n async getAccountTypeExpenseIncomeList({ commit }) {\r\n try {\r\n let dropdownAccountTypes = [\r\n { value: 'Income', label: 'Income' },\r\n { value: 'Expense', label: 'Expense' }\r\n ]\r\n\r\n if (isDebug == true)\r\n console.debug('dropdownAccountTypes=' + JSON.stringify(dropdownAccountTypes))\r\n\r\n commit('accountTypeIncomeExpenseList', dropdownAccountTypes)\r\n } catch (e) {\r\n notifyError(e)\r\n }\r\n },\r\n\r\n async getFundTypeList({ commit }) {\r\n try {\r\n let dropdownFundTypes = [\r\n { value: 'Operating', label: 'Operating' },\r\n { value: 'Reserves', label: 'Reserves' },\r\n { value: 'CC&R Compliance', label: 'CC&R Compliance' },\r\n { value: 'Working Capital', label: 'Working Capital' },\r\n { value: 'Other', label: 'Other' }\r\n ]\r\n\r\n if (isDebug == true) console.debug('dropdownFundTypes=' + JSON.stringify(dropdownFundTypes))\r\n\r\n commit('fundTypeList', dropdownFundTypes)\r\n } catch (e) {\r\n notifyError(e)\r\n }\r\n },\r\n\r\n async getExpenseCategoryList({ commit }) {\r\n try {\r\n let dropdownExpenseCategories = [\r\n { value: 'Maintenance', label: 'Maintenance' },\r\n { value: 'Administrative', label: 'Administrative' },\r\n { value: 'Fund Transfers', label: 'Fund Transfers' },\r\n { value: 'Supplies', label: 'Supplies' },\r\n { value: 'Utilities', label: 'Utilities' }\r\n ]\r\n\r\n if (isDebug == true)\r\n console.debug('dropdownExpenseCategories=' + JSON.stringify(dropdownExpenseCategories))\r\n\r\n commit('expenseCategoriesList', dropdownExpenseCategories)\r\n\r\n return dropdownExpenseCategories\r\n } catch (e) {\r\n notifyError(e)\r\n }\r\n\r\n return []\r\n },\r\n\r\n //Accounts Payable A/P Invoice List\r\n async getAccountsPayableApInvoiceList({ commit, rootState }, payload = {}) {\r\n try {\r\n const params = {\r\n hoaID:\r\n payload.hoaID !== undefined && payload.hoaID\r\n ? payload.hoaID\r\n : rootState.user.selectedHoaId,\r\n vendorGlobalID: payload.vendorGlobalID !== undefined ? payload.vendorGlobalID : null\r\n }\r\n\r\n if (payload && payload != undefined) {\r\n if (payload.filter && payload.filter != undefined) {\r\n if (isDebug == true)\r\n console.debug('getAccountsPayableApInvoiceList...' + JSON.stringify(payload))\r\n if (payload.filter == 'pending') {\r\n console.debug('pending...')\r\n params.filterName = 'pending'\r\n } else if (payload.filter == 'thirty') {\r\n params.filterName = 'thirty'\r\n } else if (payload.filter == 'cancelled') {\r\n params.filterName = 'cancelled'\r\n } else if (payload.filter == 'approval') {\r\n console.debug('approval...')\r\n params.filterName = 'approval'\r\n } else if (payload.filter == 'post') {\r\n console.debug('post...')\r\n params.filterName = 'post'\r\n } else if (payload.filter == 'payee') {\r\n console.debug('payee...')\r\n params.filterPayeeName = payload.filterPayeeName\r\n params.filterName = 'payee'\r\n } else if (payload.filter == 'invoiceNumber') {\r\n console.debug('invoiceNumber...')\r\n params.filterInvoiceNumber = payload.filterInvoiceNumber\r\n params.filterName = 'invoiceNumber'\r\n } else if (payload.filter == 'amount') {\r\n console.debug('amount...')\r\n params.filterAmountFrom = payload.amountFrom\r\n params.filterAmountTo = payload.amountTo\r\n params.filterName = 'amount'\r\n } else if (payload.filter == 'all') {\r\n params.filterName = 'all'\r\n params.filterStartDate = payload.startCreatedDate\r\n params.filterEndDate = payload.endCreatedDate\r\n } else if (payload.filter == 'paid') {\r\n params.filterName = 'paid'\r\n params.filterStartDate = payload.startCreatedDate\r\n params.filterEndDate = payload.endCreatedDate\r\n } else if (payload.filter == 'unpaid') {\r\n params.filterName = 'unpaid'\r\n params.filterStartDate = payload.startCreatedDate\r\n params.filterEndDate = payload.endCreatedDate\r\n } else if (payload.filter == 'cancelled') {\r\n params.filterName = 'cancelled'\r\n params.filterStartDate = payload.startCreatedDate\r\n params.filterEndDate = payload.endCreatedDate\r\n } else if (\r\n payload.filter == 'createdDate' &&\r\n payload.startCreatedDate &&\r\n payload.endCreatedDate\r\n ) {\r\n console.log(\r\n 'createdDate...' +\r\n payload.startCreatedDate.toString() +\r\n ' --- ' +\r\n payload.endCreatedDate.toString()\r\n )\r\n params.filterStartDate = payload.startCreatedDate\r\n params.filterEndDate = payload.endCreatedDate\r\n params.filterName = 'createdDate'\r\n } else if (\r\n payload.filter == 'billingDate' &&\r\n payload.startBillingDate &&\r\n payload.endBillingDate\r\n ) {\r\n console.log('billingDate...')\r\n params.filterStartDate = payload.startBillingDate\r\n params.filterEndDate = payload.endBillingDate\r\n params.filterName = 'billingDate'\r\n } else if (payload.filter == 'gl' && payload.glExpenseId) {\r\n console.log('gl...')\r\n params.filterGlExpenseID = payload.glExpenseId\r\n params.filterName = 'gl'\r\n }\r\n }\r\n }\r\n\r\n let { results: apInvoices } = await kms.get('/AccountsPayable/APInvoice/List', { params })\r\n\r\n if (isDebug == true)\r\n console.debug('getAccountsPayableApInvoiceList=' + JSON.stringify(apInvoices))\r\n\r\n commit('accountsPayableApInvoiceList', apInvoices)\r\n } catch (e) {\r\n notifyError(e)\r\n }\r\n },\r\n\r\n //Pending G/L Transactions Header List\r\n async getPendingGlTransactionsHeaderList({ commit, rootState }) {\r\n try {\r\n const params = {\r\n hoaID: rootState.user.selectedHoaId\r\n }\r\n\r\n let {\r\n results: pendingHeaders\r\n } = await kms.get('/PendingGlTransactionHeader/PendingGlTransactionHeader/List', { params })\r\n\r\n if (isDebug == true)\r\n console.debug('getPendingGlTransactionsHeaderList=' + JSON.stringify(pendingHeaders))\r\n\r\n commit('pendingGlTransactionHeaderList', pendingHeaders)\r\n } catch (e) {\r\n notifyError(e)\r\n }\r\n },\r\n\r\n //G/L A/P Invoice Attachments List\r\n async getApInvoiceAttachmentList({ commit, rootState }) {\r\n try {\r\n const params = {\r\n hoaID: rootState.user.selectedHoaId\r\n }\r\n\r\n let {\r\n results: invoiceAttachments\r\n } = await kms.get('/AccountsPayable/APInvoiceAttachments/List', { params })\r\n\r\n if (isDebug == true)\r\n console.debug('getApInvoiceAttachmentList=' + JSON.stringify(invoiceAttachments))\r\n\r\n commit('apInvoiceAttachmentList', invoiceAttachments)\r\n } catch (e) {\r\n notifyError(e)\r\n }\r\n },\r\n\r\n //G/L Chart of Accounts List\r\n async getGlChartOfAccountsList({ commit, rootState }) {\r\n try {\r\n const params = {\r\n hoaID: rootState.user.selectedHoaId\r\n }\r\n\r\n let { results: chartOfAccounts } = await kms.get('/GeneralLedger/Account/List', { params })\r\n\r\n if (isDebug == true)\r\n console.debug('getGlChartOfAccountsList=' + JSON.stringify(chartOfAccounts))\r\n\r\n commit('glChartOfAccountsList', chartOfAccounts)\r\n } catch (e) {\r\n notifyError(e)\r\n }\r\n },\r\n\r\n //Accounts Receivable Statistics\r\n async getAccountsReceivableStatistics({ commit, rootState }) {\r\n try {\r\n const params = {\r\n hoaID: rootState.user.selectedHoaId\r\n }\r\n\r\n let accountsReceivableStatistics = await kms.get(\r\n '/AccountsReceivable/ARStatistics/GetCurrent',\r\n { params }\r\n )\r\n\r\n if (isDebug == true)\r\n console.debug(\r\n 'getAccountsReceivableStatistics=' + JSON.stringify(accountsReceivableStatistics)\r\n )\r\n\r\n commit('accountsReceivableStatistics', accountsReceivableStatistics)\r\n } catch (e) {\r\n notifyError(e)\r\n }\r\n },\r\n\r\n //G/L Account Asset Account Balance List\r\n async getAssetAccountBalanceList({ commit, rootState }) {\r\n try {\r\n const params = {\r\n hoaID: rootState.user.selectedHoaId\r\n }\r\n\r\n let results = await kms.get('/GeneralLedger/Account/AssetAccountsWithBalanceList', { params })\r\n\r\n if (isDebug == true)\r\n console.debug('getAssetAccountBalanceList=' + JSON.stringify(results.results))\r\n\r\n commit('assetAccountBalances', results.results)\r\n } catch (e) {\r\n notifyError(e)\r\n }\r\n },\r\n\r\n async getPayeeList({ commit, rootState }) {\r\n try {\r\n const params = {\r\n hoaID: rootState.user.selectedHoaId\r\n }\r\n\r\n let { results: payees } = await kms.get('/AccountsPayable/APPayee/List', { params })\r\n\r\n if (isDebug == true) console.debug('getPayeeList=' + JSON.stringify(payees))\r\n\r\n const dropDownPayees = payees\r\n .map(a => ({\r\n value: a.apPayeeID != null ? a.apPayeeID : 0,\r\n label: a.ownerName != null ? a.ownerName : `${a.vendorName != null ? a.vendorName : ''}`\r\n }))\r\n .filter(f => f.label.length > 0 && f.value > 0)\r\n\r\n dropDownPayees.unshift({ value: '', label: '<-Select Payee->' })\r\n\r\n if (isDebug == true) console.debug('...dropDownPayees=' + JSON.stringify(dropDownPayees))\r\n\r\n commit('payeeDropDownList', dropDownPayees)\r\n } catch (e) {\r\n notifyError(e)\r\n }\r\n },\r\n\r\n async getGlExpenseList({ commit, rootState }, payload = {}) {\r\n try {\r\n const params = {\r\n hoaID: rootState.user.selectedHoaId,\r\n hasExpenseOnly: true\r\n }\r\n\r\n if (\r\n payload.hasExpenseOnly !== undefined &&\r\n payload.hasExpenseOnly === false &&\r\n payload.accountType !== undefined &&\r\n payload.accountType === 'Income'\r\n ) {\r\n params.hasExpenseOnly = false\r\n } else {\r\n params.hasExpenseOnly = true\r\n }\r\n\r\n console.debug('getGlExpenseList params=' + JSON.stringify(payload))\r\n\r\n let accountType = null\r\n if (\r\n payload &&\r\n payload !== undefined &&\r\n payload.accountType &&\r\n payload.accountType !== undefined\r\n ) {\r\n accountType = payload.accountType\r\n }\r\n\r\n let {\r\n results: glExpenses\r\n } = await kms.get(`/GeneralLedger/Account/List?hoaID=${params.hoaID}`, { params })\r\n\r\n if (isDebug == true) console.debug('getGlExpenseList=' + JSON.stringify(glExpenses))\r\n\r\n const dropDownGlExpenses = glExpenses\r\n .map(a => ({\r\n ...a,\r\n value: a.accountId != null ? a.accountId : 0,\r\n label:\r\n a.description != null && a.accountNumber != null && a.subAccountNumber != null\r\n ? a.accountNumber +\r\n '-' +\r\n a.subAccountNumber.toString().padStart(3, '0') +\r\n ' - ' +\r\n a.description\r\n : ''\r\n }))\r\n .filter(\r\n f =>\r\n f.label.length > 0 &&\r\n f.value > 0 &&\r\n f.accountType == (accountType && accountType != undefined ? accountType : f.accountType)\r\n )\r\n\r\n dropDownGlExpenses.unshift({ value: '', label: `<-Select G/L ${accountType}->` })\r\n\r\n if (isDebug == true)\r\n console.debug('...dropDownGlExpenses=' + JSON.stringify(dropDownGlExpenses))\r\n\r\n commit('glExpenseDropDownList', dropDownGlExpenses)\r\n } catch (e) {\r\n notifyError(e)\r\n }\r\n },\r\n\r\n //A/P Invoice Status List\r\n async getApInvoiceStatusList({ commit }) {\r\n try {\r\n let { results: apInvoiceStatuses } = await kms.get('/AccountsPayable/APInvoiceStatus/List')\r\n\r\n if (isDebug == true)\r\n console.debug('getApInvoiceStatusList=' + JSON.stringify(apInvoiceStatuses))\r\n\r\n commit('apInvoiceStatusList', apInvoiceStatuses)\r\n } catch (e) {\r\n notifyError(e)\r\n }\r\n },\r\n\r\n //A/P Invoice Line Item List\r\n async getApInvoiceLineItemList({ commit }, payload = {}) {\r\n try {\r\n let { results: apInvoiceLineItems } = await kms.get(\r\n `/AccountsPayable/APInvoiceLineItem/List?apInvoiceId=${payload.apInvoiceID}`\r\n )\r\n\r\n if (isDebug2 == true)\r\n console.debug('getApInvoiceLineItemList=' + JSON.stringify(apInvoiceLineItems))\r\n\r\n commit('apInvoiceLineItemList', apInvoiceLineItems)\r\n } catch (e) {\r\n notifyError(e)\r\n }\r\n },\r\n\r\n //G/L Chart of Accounts List\r\n async getAccountsList({ commit, rootState }) {\r\n try {\r\n let { results: accountsList } = await kms.get(\r\n `/GeneralLedger/Account/List?hoaID=${rootState.user.selectedHoaId}`\r\n )\r\n\r\n if (isDebug2 == true) console.debug('getAccountsList=' + JSON.stringify(accountsList))\r\n\r\n commit('chartOfAccountsList', accountsList)\r\n } catch (e) {\r\n notifyError(e)\r\n }\r\n },\r\n\r\n //G/L Expense Categories List\r\n async getExpenseCategoriesList({ commit, rootState }) {\r\n try {\r\n let { results: categoryList } = await kms.get(\r\n `/GeneralLedger/ExpenseCategory/List?hoaID=${rootState.user.selectedHoaId}`\r\n )\r\n\r\n var dropDownCategories = categoryList\r\n .map(a => ({\r\n value: a.expenseCategoryId != null ? a.expenseCategoryId : 0,\r\n label: a.name != null ? a.name : ''\r\n }))\r\n .filter(f => f.label.length > 0 && f.value > 0)\r\n\r\n if (isDebug2 == true)\r\n console.debug('getExpenseCategoriesList=' + JSON.stringify(dropDownCategories))\r\n\r\n commit('glExpenseCategoryList', dropDownCategories)\r\n } catch (e) {\r\n notifyError(e)\r\n }\r\n },\r\n\r\n //A/P Invoice Note List\r\n async getApInvoiceNoteList({ commit }, payload = {}) {\r\n try {\r\n let { results: apInvoiceNotes } = await kms.get(\r\n `/AccountsPayable/APInvoiceNote/List?apInvoiceId=${payload.apInvoiceID}`\r\n )\r\n\r\n if (isDebug2 == true) console.debug('getApInvoiceNoteList=' + JSON.stringify(apInvoiceNotes))\r\n\r\n commit('apInvoiceNoteList', apInvoiceNotes)\r\n } catch (e) {\r\n notifyError(e)\r\n }\r\n },\r\n\r\n //G/L Transaction List\r\n async getGlTransactionList({ commit, rootState }, payload = {}) {\r\n try {\r\n const params = {\r\n hoaID: rootState.user.selectedHoaId,\r\n accountID: payload.accountID\r\n }\r\n\r\n let { results: transactions } = await kms.get(`/GeneralLedger/Transaction/List`, {\r\n params\r\n })\r\n\r\n if (isDebug == true) console.debug('getGlTransactionList=' + JSON.stringify(transactions))\r\n\r\n commit('glTransactions', transactions)\r\n } catch (e) {\r\n notifyError(e)\r\n }\r\n },\r\n\r\n //-----------------------Get by ID--------------------\r\n async getAnnualIncomeExpenseByDates({ commit, rootState }, { payload = {} }) {\r\n try {\r\n if (payload && payload != undefined) {\r\n const params = {\r\n hoaID: rootState.user.selectedHoaId,\r\n year: payload.year\r\n }\r\n\r\n if (isDebug == true) console.debug('params=' + JSON.stringify(params))\r\n const result = await kms.get(`/GeneralLedger/Browser/GetAnnualBalance`, {\r\n params\r\n })\r\n\r\n if (isDebug == true)\r\n console.debug('getAnnualIncomeExpenseByDates=' + JSON.stringify(result))\r\n\r\n commit('annualBalances', result)\r\n }\r\n } catch (e) {\r\n if (isDebug == true) console.debug('error in module getAnnualIncomeExpenseByDates' + e)\r\n }\r\n },\r\n\r\n //A/P Get Invoice by Id\r\n async getApInvoiceById({ commit }, payload = {}) {\r\n try {\r\n if (\r\n payload &&\r\n payload != undefined &&\r\n payload.apInvoiceID &&\r\n payload.apInvoiceID != undefined\r\n ) {\r\n if (isDebug == true) console.debug('payload=' + JSON.stringify(payload))\r\n const invoice = await kms.get(`/AccountsPayable/APInvoice/${payload.apInvoiceID}`)\r\n\r\n if (isDebug == true) console.debug('getApInvoiceById=' + JSON.stringify(invoice))\r\n\r\n commit('apInvoice', invoice)\r\n }\r\n } catch (e) {\r\n if (isDebug == true) console.debug('error in module getApInvoiceById' + e)\r\n }\r\n },\r\n\r\n //A/P Get Setting by Id\r\n async getApSettingById({ commit, rootState }) {\r\n try {\r\n const params = {\r\n hoaID: rootState.user.selectedHoaId\r\n }\r\n\r\n const setting = await kms.get(`/AccountsPayable/APSetting/GetByHOAID?hoaID=${params.hoaID}`)\r\n\r\n if (isDebug == true) console.debug('getApSettingById=' + JSON.stringify(setting))\r\n\r\n if (setting && setting != undefined) {\r\n commit('apSetting', setting)\r\n }\r\n } catch (e) {\r\n if (isDebug == true) console.debug('error in module getApSettingById')\r\n }\r\n },\r\n\r\n //A/P Get Invoice Attachment by Id\r\n async getApInvoiceAttachmentById({ commit }, payload = {}) {\r\n try {\r\n if (isDebug == true) console.debug('payload=' + JSON.stringify(payload))\r\n const invoiceAttachment = await kms.get(\r\n `/AccountsPayable/APInvoiceAttachments/${payload.apInvoiceAttachmentID}`\r\n )\r\n\r\n if (isDebug == true)\r\n console.debug('getApInvoiceAttachmentById=' + JSON.stringify(invoiceAttachment))\r\n\r\n commit('apInvoiceAttachment', invoiceAttachment)\r\n } catch (e) {\r\n notifyError(e)\r\n }\r\n },\r\n\r\n //A/P Get Approval Invoice Status by code name\r\n async getApprovalApInvoiceStatusByCodeName({ commit }, payload = {}) {\r\n try {\r\n if (isDebug2 == true) console.debug('payload=' + JSON.stringify(payload))\r\n const invoiceStatus = await kms.get(\r\n `/AccountsPayable/APInvoiceStatus/GetByCodeName?codeName=${payload.codeName}`\r\n )\r\n\r\n if (isDebug2 == true)\r\n console.debug('getApprovalApInvoiceStatusByCodeName=' + JSON.stringify(invoiceStatus))\r\n\r\n commit('apInvoiceStatus', invoiceStatus)\r\n } catch (e) {\r\n notifyError(e)\r\n }\r\n },\r\n\r\n //A/P Get Invoice Approval by Id\r\n async getApInvoiceApproverApprovalById({ commit }, payload = {}) {\r\n try {\r\n if (isDebug == true) console.debug('payload=' + JSON.stringify(payload))\r\n const approvalApprover = await kms.get(\r\n `/AccountsPayable/APInvoiceAttachments/${payload.apInvoiceAttachmentID}`\r\n )\r\n\r\n if (isDebug == true)\r\n console.debug('getApInvoiceApproverApprovalById=' + JSON.stringify(approvalApprover))\r\n\r\n commit('apInvoiceApprovalApprover', approvalApprover)\r\n } catch (e) {\r\n notifyError(e)\r\n }\r\n },\r\n\r\n //------------Update------------------------------------------------------\r\n async uploadApInvoiceDocument({ commit, rootState }, payload = {}) {\r\n const formData = new FormData()\r\n formData.append('file', payload.file)\r\n\r\n // create container if not exists\r\n try {\r\n const path = `/AccountsPayable/APInvoice/StoreInvoiceDocument?hoaID=${rootState.user\r\n .selectedHoaId || payload.hoaID}&apInvoiceID=${payload.apInvoiceID}`\r\n const uploadedInvoiceFile = await kms.post(path, formData, {\r\n 'Content-Type': 'multipart/form-data'\r\n })\r\n\r\n if (isDebug == true)\r\n console.debug('uploadInvoiceDocument with payload=' + JSON.stringify(uploadedInvoiceFile))\r\n\r\n commit('save', { uploadedInvoiceFile })\r\n } catch (e) {\r\n notifyError(e)\r\n }\r\n },\r\n\r\n async uploadApInvoiceAttachmentDocument({ commit, rootState }, payload = {}) {\r\n const formData = new FormData()\r\n formData.append('file', payload.file)\r\n\r\n // create container if not exists\r\n try {\r\n const path = `/AccountsPayable/APInvoiceAttachments/StoreAttachment?hoaID=${rootState.user.selectedHoaId}&apInvoiceID=${payload.apInvoiceID}`\r\n const uploadedInvoiceAttachmentFile = await kms.post(path, formData, {\r\n 'Content-Type': 'multipart/form-data'\r\n })\r\n\r\n if (isDebug == true)\r\n console.debug(\r\n 'uploadApInvoiceAttachmentDocument with payload=' +\r\n JSON.stringify(uploadedInvoiceAttachmentFile)\r\n )\r\n\r\n commit('save', { uploadedInvoiceAttachmentFile })\r\n } catch (e) {\r\n notifyError(e)\r\n }\r\n },\r\n\r\n // Update Invoice Attachment\r\n async updateInvoiceAttachment({ commit }, payload = {}) {\r\n const formData = new FormData()\r\n formData.append('file', payload.file)\r\n\r\n try {\r\n const path = `/AccountsPayable/APInvoiceAttachments/UpdateAttachment?invoiceAttachmentId=${payload.apInvoiceAttachmentID}`\r\n\r\n const updateInvoiceAttachment = await kms.post(path, formData, {\r\n 'Content-Type': 'multipart/form-data'\r\n })\r\n\r\n if (this.isDebug == true) console.debug('results=' + JSON.stringify(updateInvoiceAttachment))\r\n\r\n commit('save', { updateInvoiceAttachment })\r\n } catch (e) {\r\n notifyError(e)\r\n }\r\n },\r\n\r\n // Update Invoice Line Item\r\n async updateInvoiceCharge(\r\n { dispatch },\r\n { apInvoiceLineItemID, apInvoiceID, glExpenseAccountId, amount, description, done }\r\n ) {\r\n try {\r\n const results = await kms.put(`/AccountsPayable/APInvoiceLineItem`, {\r\n apInvoiceLineItemID,\r\n apInvoiceID,\r\n glExpenseAccountId,\r\n amount,\r\n description\r\n })\r\n\r\n if (this.isDebug == true) console.debug('results=' + JSON.stringify(results))\r\n\r\n if (dispatch && dispatch != undefined) console.debug(dispatch)\r\n\r\n if (results.apInvoiceLineItemID > 0) {\r\n notifyMessage(`Successfully updated the invoice charge.`)\r\n done()\r\n } else {\r\n notifyError('There was a problem updating this invoice charge.')\r\n }\r\n } catch (e) {\r\n notifyError(e)\r\n }\r\n },\r\n\r\n // Update Invoice Note\r\n async updateInvoiceNote({ dispatch }, { apInvoiceNoteID, apInvoiceID, note, done }) {\r\n try {\r\n const results = await kms.put(`/AccountsPayable/APInvoiceNote`, {\r\n apInvoiceNoteID,\r\n apInvoiceID,\r\n note\r\n })\r\n\r\n if (this.isDebug == true) console.debug('results=' + JSON.stringify(results))\r\n\r\n if (dispatch && dispatch != undefined) console.debug(dispatch)\r\n\r\n if (results.apInvoiceNoteID > 0) {\r\n notifyMessage(`Successfully updated the invoice note.`)\r\n done()\r\n } else {\r\n notifyError('There was a problem updating this invoice note.')\r\n }\r\n } catch (e) {\r\n notifyError(e)\r\n }\r\n },\r\n\r\n // Update A/P Setting\r\n async updateApSetting({ dispatch }, { payload = {}, done }) {\r\n try {\r\n const results = await kms.put(`/AccountsPayable/APSetting`, payload)\r\n\r\n if (this.isDebug == true) console.debug('results=' + JSON.stringify(results))\r\n\r\n if (dispatch && dispatch != undefined) console.debug(dispatch)\r\n\r\n if (results.apSettingID > 0) {\r\n notifyMessage(`Successfully updated the A/P Setting.`)\r\n done()\r\n } else {\r\n notifyError('There was a problem updating this A/P Setting.')\r\n }\r\n } catch (e) {\r\n notifyError(e)\r\n }\r\n },\r\n\r\n // Update Invoice Approval\r\n async updateInvoiceApproval({ dispatch }, { payload = {}, done }) {\r\n try {\r\n const results = await kms.put(`/AccountsPayable/APInvoiceApprovalApprover`, payload)\r\n\r\n if (this.isDebug == true) console.debug('results=' + JSON.stringify(results))\r\n\r\n if (dispatch && dispatch != undefined) console.debug(dispatch)\r\n\r\n if (results.apInvoiceApprovalApproverID > 0) {\r\n notifyMessage(`Successfully updated the approver's approval.`)\r\n done()\r\n } else {\r\n notifyError(`There was a problem updating this approver's approval.`)\r\n }\r\n } catch (e) {\r\n notifyError(e)\r\n }\r\n },\r\n\r\n async approveInvoiceApproval({ dispatch }, { payload = {}, done }) {\r\n try {\r\n const results = await kms.post(\r\n `/AccountsPayable/APInvoiceApprovalApprover/SetApproved?apInvoiceID=${payload.apInvoiceID}`\r\n )\r\n\r\n if (this.isDebug == true) console.debug('results=' + JSON.stringify(results))\r\n\r\n if (dispatch && dispatch != undefined) console.debug(dispatch)\r\n\r\n if (results.apInvoiceApprovalApproverID > 0) {\r\n console.debug(`Successfully approved this invoice.`)\r\n done({ details: results })\r\n } else {\r\n notifyError(`There was a problem approving this invoice.`)\r\n }\r\n } catch (e) {\r\n notifyError(e)\r\n }\r\n },\r\n\r\n // Update G/L Account\r\n async updateAccount({ dispatch }, { payload = {}, done }) {\r\n try {\r\n const results = await kms.put(`/GeneralLedger/Account`, payload)\r\n\r\n if (this.isDebug == true) console.debug('results=' + JSON.stringify(results))\r\n\r\n if (dispatch && dispatch != undefined) console.debug(dispatch)\r\n\r\n if (results.accountId > 0) {\r\n notifyMessage(`Successfully updated the G/L Account.`)\r\n done()\r\n } else {\r\n notifyError(`There was a problem updating the G/L Account.`)\r\n }\r\n } catch (e) {\r\n notifyError(e)\r\n }\r\n },\r\n\r\n // ---------------------- Add -----------------------------------\r\n // Batch process pending header and details\r\n async addBatchProcessPendingPostToGl(\r\n { dispatch },\r\n { postReversingEntries, hoaId, description, postingDate, pendingGlTransactionDetails, done }\r\n ) {\r\n try {\r\n const results = await kms.post(\r\n `/PendingGlTransactionDetail/PendingGlTransactionDetail/BatchProcessPendingPostToGl`,\r\n {\r\n postReversingEntries: postReversingEntries,\r\n hoaId: hoaId,\r\n description: description,\r\n postingDate: postingDate,\r\n pendingGlTransactionDetails: pendingGlTransactionDetails\r\n }\r\n )\r\n\r\n if (this.isDebug == true) console.debug('results=' + JSON.stringify(results))\r\n\r\n if (dispatch && dispatch != undefined) console.debug(dispatch)\r\n\r\n if (results && results == true) {\r\n notifyMessage(`Successfully created the pending G/L transactions.`)\r\n done()\r\n } else {\r\n notifyError('There was a problem creating the pending G/L transactions.')\r\n }\r\n } catch (ex) {\r\n notifyError(ex)\r\n }\r\n },\r\n\r\n // Add Note\r\n async addNote({ dispatch }, { apInvoiceID, note, done }) {\r\n try {\r\n const results = await kms.post(`/AccountsPayable/APInvoiceNote`, {\r\n apInvoiceID,\r\n note\r\n })\r\n\r\n if (this.isDebug == true) console.debug('results=' + JSON.stringify(results))\r\n\r\n if (dispatch && dispatch != undefined) console.debug(dispatch)\r\n\r\n if (results.apInvoiceNoteID > 0) {\r\n notifyMessage(`Successfully added note.`)\r\n done()\r\n } else {\r\n notifyError('There was a problem adding the new note.')\r\n }\r\n } catch (ex) {\r\n notifyError(ex)\r\n }\r\n },\r\n\r\n // Add A/P Setting\r\n async addApSetting({ dispatch }, { payload = {}, done }) {\r\n try {\r\n const results = await kms.post(`/AccountsPayable/APSetting`, payload)\r\n\r\n if (this.isDebug == true) console.debug('add results=' + JSON.stringify(results))\r\n\r\n if (dispatch && dispatch != undefined) console.debug(dispatch)\r\n\r\n if (results.apSettingID > 0) {\r\n notifyMessage(`Successfully added A/P Setting.`)\r\n done()\r\n } else {\r\n notifyError('There was a problem adding the new A/P Setting.')\r\n }\r\n } catch (ex) {\r\n notifyError(ex)\r\n }\r\n },\r\n\r\n // Add Account\r\n async addAccount({ dispatch }, { payload = {}, done }) {\r\n try {\r\n if (this.isDebug == true) console.debug('addAccount payload=' + JSON.stringify(payload))\r\n\r\n const results = await kms.post(`/GeneralLedger/Account`, payload)\r\n\r\n if (this.isDebug == true) console.debug('add Account results=' + JSON.stringify(results))\r\n\r\n if (dispatch && dispatch != undefined) console.debug(dispatch)\r\n\r\n if (results) {\r\n notifyMessage(`Successfully added G/L Account.`)\r\n done()\r\n } else {\r\n notifyError('There was a problem adding the new G/L Account.')\r\n }\r\n } catch (ex) {\r\n notifyError(ex)\r\n }\r\n },\r\n\r\n //------------------------- Delete ---------------------------\r\n async deletePendingGlTransaction({ dispatch }, { pendingGlTransactionHeaderID, done }) {\r\n try {\r\n const path = `/PendingGlTransactionHeader/PendingGlTransactionHeader/${pendingGlTransactionHeaderID}?forceDelete=false`\r\n\r\n const results = await kms.delete(path)\r\n\r\n if (this.isDebug == true) console.debug('results=' + JSON.stringify(results))\r\n\r\n if (dispatch && dispatch != undefined) console.debug(dispatch)\r\n\r\n const wasDeleted = _get(results, 'deleted', false)\r\n\r\n if (wasDeleted === true) {\r\n notifyMessage(`Successfully deleted the G/L transaction pending posting.`)\r\n done()\r\n } else {\r\n notifyError('There was a problem deleting the G/L transaction pending posting.')\r\n }\r\n } catch (ex) {\r\n notifyError(ex)\r\n }\r\n },\r\n\r\n async deleteInvoiceCharge({ dispatch }, { apInvoiceLineItemID, done }) {\r\n try {\r\n const path = `/AccountsPayable/APInvoiceLineItem/${apInvoiceLineItemID}?forceDelete=false`\r\n\r\n const results = await kms.delete(path)\r\n\r\n if (this.isDebug == true) console.debug('results=' + JSON.stringify(results))\r\n\r\n if (dispatch && dispatch != undefined) console.debug(dispatch)\r\n\r\n const wasDeleted = _get(results, 'deleted', false)\r\n\r\n if (wasDeleted === true) {\r\n notifyMessage(`Successfully deleted the invoice charge.`)\r\n done()\r\n } else {\r\n notifyError('There was a problem deleting the invoice charge.')\r\n }\r\n } catch (ex) {\r\n notifyError(ex)\r\n }\r\n },\r\n\r\n async deleteInvoiceNote({ dispatch }, { apInvoiceNoteID, done }) {\r\n try {\r\n const path = `/AccountsPayable/APInvoiceNote/${apInvoiceNoteID}?forceDelete=false`\r\n\r\n const results = await kms.delete(path)\r\n\r\n if (this.isDebug == true) console.debug('results=' + JSON.stringify(results))\r\n\r\n if (dispatch && dispatch != undefined) console.debug(dispatch)\r\n\r\n const wasDeleted = _get(results, 'deleted', false)\r\n\r\n if (wasDeleted === true) {\r\n notifyMessage(`Successfully deleted the invoice note.`)\r\n done()\r\n } else {\r\n notifyError('There was a problem deleting the invoice note.')\r\n }\r\n } catch (ex) {\r\n notifyError(ex)\r\n }\r\n },\r\n\r\n async deleteGlAccount({ dispatch }, { accountID, done }) {\r\n try {\r\n const path = `/GeneralLedger/Account/${accountID}?forceDelete=false`\r\n\r\n const results = await kms.delete(path)\r\n\r\n if (this.isDebug == true) console.debug('results=' + JSON.stringify(results))\r\n\r\n if (dispatch && dispatch != undefined) console.debug(dispatch)\r\n\r\n const wasDeleted = _get(results, 'deleted', false)\r\n\r\n if (wasDeleted === true) {\r\n notifyMessage(`Successfully deleted the G/L account.`)\r\n done()\r\n } else {\r\n notifyError('There was a problem deleting the G/L account.')\r\n }\r\n } catch (ex) {\r\n notifyError(ex)\r\n }\r\n },\r\n\r\n async deleteInvoiceAttachment({ dispatch }, { apInvoiceAttachmentID, done }) {\r\n try {\r\n const path = `/AccountsPayable/APInvoiceAttachments/${apInvoiceAttachmentID}?forceDelete=false`\r\n\r\n const results = await kms.delete(path)\r\n\r\n if (this.isDebug == true) console.debug('results=' + JSON.stringify(results))\r\n\r\n if (dispatch && dispatch != undefined) console.debug(dispatch)\r\n\r\n const wasDeleted = _get(results, 'deleted', false)\r\n\r\n if (wasDeleted === true) {\r\n notifyMessage(`Successfully deleted the invoice attachment.`)\r\n done()\r\n } else {\r\n notifyError('There was a problem deleting the invoice attachment.')\r\n }\r\n } catch (ex) {\r\n notifyError(ex)\r\n }\r\n }\r\n}\r\n","export const getters = {\r\n accountsPayableApInvoiceList: state => state.accountsPayableApInvoiceList,\r\n glChartOfAccountsList: state => state.glChartOfAccountsList,\r\n apInvoiceStatusList: state => state.apInvoiceStatusList,\r\n payeeDropDownList: state => state.payeeDropDownList,\r\n glExpenseDropDownList: state => state.glExpenseDropDownList,\r\n pendingGlTransactionHeaderList: state => state.pendingGlTransactionHeaderList,\r\n\r\n apInvoice: state => state.apInvoice,\r\n apInvoiceAttachment: state => state.apInvoiceAttachment,\r\n apInvoiceStatus: state => state.apInvoiceStatus,\r\n apInvoiceLineItemList: state => state.apInvoiceLineItemList,\r\n apInvoiceNoteList: state => state.apInvoiceNoteList,\r\n apInvoiceAttachmentList: state => state.apInvoiceAttachmentList,\r\n glExpenseCategoryList: state => state.glExpenseCategoryList,\r\n apInvoiceApprovalApprover: state => state.apInvoiceApprovalApprover,\r\n apSetting: state => state.apSetting,\r\n glTransactions: state => state.glTransactions,\r\n accountTypeList: state => state.accountTypeList,\r\n accountTypeIncomeExpenseList: state => state.accountTypeIncomeExpenseList,\r\n fundTypeList: state => state.fundTypeList,\r\n expenseCategoriesList: state => state.expenseCategoriesList,\r\n pendingGlTransactionDetailListDto: state => state.pendingGlTransactionDetailListDto,\r\n accountsReceivableStatistics: state => state.accountsReceivableStatistics,\r\n assetAccountBalances: state => state.assetAccountBalances,\r\n annualBalances: state => state.annualBalances\r\n}\r\n","export const mutations = {\r\n save(state, payload) {\r\n for (let prop in payload) {\r\n state[prop] = payload[prop]\r\n }\r\n },\r\n accountsPayableApInvoiceList(state, payload) {\r\n state.accountsPayableApInvoiceList = payload\r\n },\r\n glChartOfAccountsList(state, payload) {\r\n state.glChartOfAccountsList = payload\r\n },\r\n apInvoiceStatusList(state, payload) {\r\n state.apInvoiceStatusList = payload\r\n },\r\n apInvoiceLineItemList(state, payload) {\r\n state.apInvoiceLineItemList = payload\r\n },\r\n apInvoiceNoteList(state, payload) {\r\n state.apInvoiceNoteList = payload\r\n },\r\n payeeDropDownList(state, payload) {\r\n state.payeeDropDownList = payload\r\n },\r\n glExpenseDropDownList(state, payload) {\r\n state.glExpenseDropDownList = payload\r\n },\r\n glTransactions(state, payload) {\r\n state.glTransactions = payload\r\n },\r\n apInvoiceAttachmentList(state, payload) {\r\n state.apInvoiceAttachmentList = payload\r\n },\r\n accountTypeList(state, payload) {\r\n state.accountTypeList = payload\r\n },\r\n accountTypeIncomeExpenseList(state, payload) {\r\n state.accountTypeIncomeExpenseList = payload\r\n },\r\n fundTypeList(state, payload) {\r\n state.fundTypeList = payload\r\n },\r\n expenseCategoriesList(state, payload) {\r\n state.expenseCategoriesList = payload\r\n },\r\n glExpenseCategoryList(state, payload) {\r\n state.glExpenseCategoryList = payload\r\n },\r\n pendingGlTransactionHeaderList(state, payload) {\r\n state.pendingGlTransactionHeaderList = payload\r\n },\r\n assetAccountBalances(state, payload) {\r\n state.assetAccountBalances = payload\r\n },\r\n pendingGlTransactionDetailListDto(state, payload) {\r\n state.pendingGlTransactionDetailListDto = payload\r\n },\r\n apInvoice(state, payload) {\r\n state.apInvoice = payload\r\n },\r\n annualBalances(state, payload) {\r\n state.annualBalances = payload\r\n },\r\n apInvoiceAttachment(state, payload) {\r\n state.apInvoiceAttachment = payload\r\n },\r\n apInvoiceStatus(state, payload) {\r\n state.apInvoiceStatus = payload\r\n },\r\n apInvoiceApprovalApprover(state, payload) {\r\n state.apInvoiceApprovalApprover = payload\r\n },\r\n accountsReceivableStatistics(state, payload) {\r\n state.accountsReceivableStatistics = payload\r\n },\r\n apSetting(state, payload) {\r\n state.apSetting = payload\r\n }\r\n}\r\n","export const state = {\r\n accountsPayableApInvoiceList: [{}],\r\n glChartOfAccountsList: [{}],\r\n apInvoiceStatusList: [{}],\r\n payeeDropDownList: [{}],\r\n glExpenseDropDownList: [{}],\r\n apInvoiceLineItemList: [{}],\r\n apInvoiceNoteList: [{}],\r\n apInvoiceAttachmentList: [{}],\r\n glTransactions: [],\r\n accountTypeList: [{}],\r\n accountTypeIncomeExpenseList: [],\r\n fundTypeList: [{}],\r\n expenseCategoriesList: [{}],\r\n glExpenseCategoryList: [{}],\r\n pendingGlTransactionHeaderList: [],\r\n assetAccountBalances: [],\r\n pendingGlTransactionDetailListDto: [{}],\r\n uploadedInvoiceFile: null,\r\n annualBalances: null,\r\n uploadedInvoiceAttachmentFile: null,\r\n updateInvoiceAttachment: null,\r\n apInvoice: null,\r\n apInvoiceAttachment: null,\r\n apInvoiceStatus: null,\r\n apInvoiceApprovalApprover: null,\r\n accountsReceivableStatistics: null,\r\n apSetting: null\r\n}\r\n","//\r\nimport { actions } from './keys/actions'\r\nimport { getters } from './keys/getters'\r\nimport { mutations } from './keys/mutations'\r\nimport { state } from './keys/state'\r\n//\r\n\r\nexport const accounting = {\r\n namespaced: true,\r\n state,\r\n mutations,\r\n actions,\r\n getters\r\n}\r\n","import kms from '@/services/kms'\r\nimport { ToastProgrammatic as Toast } from 'buefy'\r\n\r\nconst isDebug = true\r\n\r\nfunction notifyError(e) {\r\n Toast.open({\r\n duration: 7000,\r\n message: e.message || e,\r\n position: 'is-bottom',\r\n type: 'is-danger'\r\n })\r\n}\r\n\r\nfunction notifyMessage(e) {\r\n Toast.open({\r\n duration: 7000,\r\n message: e.message || e,\r\n position: 'is-bottom',\r\n type: 'is-success'\r\n })\r\n}\r\n\r\nconst state = {\r\n subscriptionNotificationList: [],\r\n notificationDeliveryTypeList: []\r\n}\r\n\r\nconst mutations = {\r\n save(state, payload) {\r\n for (let prop in payload) {\r\n state[prop] = payload[prop]\r\n }\r\n },\r\n subscriptionNotificationList(state, payload) {\r\n state.subscriptionNotificationList = payload\r\n },\r\n notificationDeliveryTypeList(state, payload) {\r\n state.notificationDeliveryTypeList = payload\r\n }\r\n}\r\n\r\nconst actions = {\r\n //Subscription Alert List\r\n async getSubscriptionNotificationList({ commit, rootState }, { payload }) {\r\n try {\r\n const params = {\r\n hoaID: rootState.user.selectedHoaId,\r\n recipientType: payload.recipientType\r\n }\r\n\r\n if (payload.ownerID && payload.ownerID != undefined) {\r\n params.ownerID = payload.ownerID\r\n }\r\n\r\n if (payload.vendorUserID && payload.vendorUserID != undefined) {\r\n params.vendorUserID = payload.vendorUserID\r\n }\r\n\r\n let { results: alertSubscriptions } = await kms.get(\r\n '/Notifications/NotificationSubscription/AllTypesWithSubscriptionList',\r\n {\r\n params\r\n }\r\n )\r\n\r\n commit('subscriptionNotificationList', alertSubscriptions)\r\n } catch (e) {\r\n notifyError(e)\r\n }\r\n },\r\n\r\n //Alert Delivery Type List\r\n async getNotificationDeliveryList({ commit }, { supportsManagementAlerts }) {\r\n try {\r\n if (isDebug == true)\r\n console.debug('supportsManagementAlerts' + JSON.stringify(supportsManagementAlerts))\r\n\r\n let alertDeliveryTypes = [\r\n { value: 'email', label: 'E-mail' },\r\n { value: 'text', label: 'Text Message' },\r\n { value: 'mail', label: 'Mail' },\r\n { value: 'management-portal', label: 'Management Portal' },\r\n { value: 'homeowner-portal', label: 'Homeowner Portal' },\r\n { value: 'vendor-portal', label: 'Vendor Portal' }\r\n ]\r\n\r\n if (isDebug == true)\r\n console.debug('notificationDeliveryTypeList=' + JSON.stringify(alertDeliveryTypes))\r\n\r\n commit('notificationDeliveryTypeList', alertDeliveryTypes)\r\n } catch (e) {\r\n notifyError(e)\r\n }\r\n },\r\n\r\n // Process and submit notification subscriptions\r\n async processNotificationSubscriptions({ dispatch }, { payload = {}, done }) {\r\n try {\r\n const results = await kms.post(\r\n `/Notifications/NotificationSubscription/ProcessNotificationSubscriptionDeliveryForUser`,\r\n payload\r\n )\r\n\r\n if (this.isDebug == true) console.debug('add results=' + JSON.stringify(results))\r\n\r\n if (dispatch && dispatch != undefined) console.debug(dispatch)\r\n\r\n if (results) {\r\n notifyMessage(`Your subscription alerts were successfully processed.`)\r\n done()\r\n } else {\r\n notifyError('There was a problem processing your subscription alerts.')\r\n }\r\n } catch (ex) {\r\n notifyError(ex)\r\n }\r\n }\r\n}\r\n\r\nconst getters = {\r\n subscriptionNotificationList: () => state.subscriptionNotificationList,\r\n notificationDeliveryTypeList: () => state.notificationDeliveryTypeList\r\n}\r\n\r\nexport const alertSubscription = {\r\n namespaced: true,\r\n state,\r\n mutations,\r\n actions,\r\n getters\r\n}\r\n","import kms from '@/services/kms'\r\nimport { notifyProblem } from '@/services/notify'\r\n\r\nconst isDebug = false\r\n\r\nconst state = {\r\n selectedArchitecturalSubmission: { name: null },\r\n architecturalSubmission: null,\r\n architecturalSubmissionNote: null,\r\n architecturalSubmissionAttachment: null,\r\n architecturalCategory: null,\r\n committeeSetting: null,\r\n validCommittee: null,\r\n architecturalSubmissionsList: [],\r\n architecturalSubmissionNoteList: [],\r\n architecturalSubmissionAttachmentList: [],\r\n architecturalCategoryList: [],\r\n pendingArchitecturalVotesForCommitteeMemberList: [],\r\n architecturalVoteList: [],\r\n architecturalStipulationList: [],\r\n requestImages: [],\r\n requestImagesPreview: [],\r\n requestAttachmentImages: [{}],\r\n requestAttachmentImagesPreview: [],\r\n uploadedRequestFile: null,\r\n uploadedRequestAttachmentFile: null\r\n}\r\n\r\nconst mutations = {\r\n save(state, payload) {\r\n for (let prop in payload) {\r\n state[prop] = payload[prop]\r\n }\r\n },\r\n selectedArchitecturalSubmission(state, payload) {\r\n state.selectedArchitecturalSubmission = payload\r\n },\r\n architecturalSubmission(state, payload) {\r\n state.architecturalSubmission = payload\r\n },\r\n architecturalSubmissionNote(state, payload) {\r\n state.architecturalSubmissionNote = payload\r\n },\r\n architecturalSubmissionAttachment(state, payload) {\r\n state.architecturalSubmissionAttachment = payload\r\n },\r\n architecturalCategory(state, payload) {\r\n state.architecturalCategory = payload\r\n },\r\n committeeSetting(state, payload) {\r\n state.committeeSetting = payload\r\n },\r\n validCommittee(state, payload) {\r\n state.validCommittee = payload\r\n },\r\n architecturalSubmissionsList(state, payload) {\r\n state.architecturalSubmissionsList = payload\r\n },\r\n architecturalSubmissionNoteList(state, payload) {\r\n state.architecturalSubmissionNoteList = payload\r\n },\r\n architecturalCategoryList(state, payload) {\r\n state.architecturalCategoryList = payload\r\n },\r\n pendingArchitecturalVotesForCommitteeMemberList(state, payload) {\r\n state.pendingArchitecturalVotesForCommitteeMemberList = payload\r\n },\r\n architecturalVoteList(state, payload) {\r\n state.architecturalVoteList = payload\r\n },\r\n architecturalStipulationList(state, payload) {\r\n state.architecturalStipulationList = payload\r\n },\r\n requestImages(state, payload) {\r\n state.requestImages = payload\r\n // console.log('state.requestImages: ', state.requestImages)\r\n },\r\n requestImagesPreview(state, payload) {\r\n state.requestImagesPreview = payload\r\n // console.log('state.requestImagesPreview: ', state.requestImagesPreview)\r\n },\r\n requestAttachmentImages(state, payload) {\r\n state.requestAttachmentImages = payload\r\n // console.log('state.requestAttachmentImages: ', state.requestAttachmentImages)\r\n },\r\n requestAttachmentImagesPreview(state, payload) {\r\n state.requestAttachmentImagesPreview = payload\r\n // console.log('state.requestAttachmentImagesPreview: ', state.requestAttachmentImagesPreview)\r\n }\r\n}\r\n\r\nconst actions = {\r\n // Get Committee Setting\r\n async loadCommitteeSetting({ commit, rootState }) {\r\n try {\r\n const params = {\r\n hoaID: rootState.user.selectedHoaId\r\n }\r\n\r\n if (isDebug == true) console.debug('loadCommitteeSetting payload=' + JSON.stringify(params))\r\n\r\n const committee = await kms.get('/Committees/CommitteeSetting/GetArchitecturalCommittee/', {\r\n params\r\n })\r\n\r\n if (isDebug == true)\r\n console.debug('loaded CommitteeSetting payload=' + JSON.stringify(committee))\r\n\r\n commit('committeeSetting', committee)\r\n } catch (e) {\r\n notifyProblem(e)\r\n }\r\n },\r\n\r\n // Valid Committee Check Get By Id\r\n async loadValidCommitteeCheck({ commit, rootState }, payload = {}) {\r\n try {\r\n const params = {\r\n hoaID: rootState.user.selectedHoaId,\r\n committeeID: payload.committeeID\r\n }\r\n\r\n if (isDebug == true) console.debug('loadCommittee payload=' + JSON.stringify(params))\r\n\r\n const isValidCommittee = await kms.get('/Committees/Committee/IsValidCommitteeMember/', {\r\n params\r\n })\r\n\r\n if (isDebug == true) console.debug('isValidCommittee=' + JSON.stringify(isValidCommittee))\r\n commit('validCommittee', { isValidCommittee })\r\n } catch (e) {\r\n notifyProblem(e)\r\n }\r\n },\r\n\r\n // Architectural Submission Details Get By Id\r\n /*\r\n this.$store.dispatch('architectural/loadArchitecturalSubmission', {\r\n architecturalSubmissionID:\r\n done: ({ details }) => {\r\n\r\n }\r\n })\r\n */\r\n async loadArchitecturalSubmission({ commit }, { architecturalSubmissionID, done = () => {} }) {\r\n try {\r\n const submission = await kms.get(\r\n `/Architectural/ArchitecturalSubmission/${architecturalSubmissionID}`\r\n )\r\n\r\n commit('architecturalSubmission', { submission })\r\n done({ details: submission })\r\n } catch (e) {\r\n notifyProblem(e)\r\n }\r\n },\r\n\r\n // Architectural Submission Note Details Get By Id\r\n async loadArchitecturalSubmissionNote({ commit }, id) {\r\n try {\r\n const submissionNote = await kms.get(`/Architectural/ArchitecturalSubmissionNote/${id}`)\r\n commit('architecturalSubmissionNote', { submissionNote })\r\n } catch (e) {\r\n notifyProblem(e)\r\n }\r\n },\r\n\r\n // Architectural Submission Attachment Details Get By Id\r\n async loadArchitecturalSubmissionAttachment({ commit }, id) {\r\n try {\r\n const submissionAttachment = await kms.get(\r\n `/Architectural/ArchitecturalSubmissionAttachment/${id}`\r\n )\r\n commit('architecturalSubmissionAttachment', { submissionAttachment })\r\n } catch (e) {\r\n notifyProblem(e)\r\n }\r\n },\r\n\r\n // Architectural Category Details Get By Id\r\n async loadArchitecturalCategory({ commit }, id) {\r\n try {\r\n const category = await kms.get(`/Architectural/ArchitecturalCategory/${id}`)\r\n commit('architecturalCategory', { category })\r\n } catch (e) {\r\n notifyProblem(e)\r\n }\r\n },\r\n\r\n //Architectural Votes For Committee Member List\r\n async getArchitecturalVotesForCommitteeMemberList({ commit, rootState }, payload = {}) {\r\n try {\r\n const params = {\r\n hoaID: rootState.user.selectedHoaId,\r\n committeeID: payload.committeeID\r\n }\r\n\r\n if (isDebug == true)\r\n console.debug(\r\n 'getArchitecturalVotesForCommitteeMemberList payload=' + JSON.stringify(params)\r\n )\r\n\r\n let {\r\n results: architecturalPendingVotes\r\n } = await kms.get(\r\n '/ArchitecturalVoting/ArchitecturalVote/PendingVotesForCommitteeMemberList',\r\n { params }\r\n )\r\n\r\n commit('pendingArchitecturalVotesForCommitteeMemberList', architecturalPendingVotes)\r\n } catch (e) {\r\n notifyProblem(e)\r\n }\r\n },\r\n\r\n //Architectural Submission List\r\n async getArchitecturalSubmissions({ commit, rootState }, payload = {}) {\r\n try {\r\n const params = {\r\n hoaID: rootState.user.selectedHoaId,\r\n ownerID: payload.ownerID,\r\n approvedStatus: payload.approvedStatus,\r\n pendingStatus: payload.pendingStatus,\r\n deniedStatus: payload.deniedStatus,\r\n pendingNotVotedStatus: payload.pendingNotVotedStatus\r\n }\r\n\r\n if (isDebug == true)\r\n console.debug('getArchitecturalSubmissions payload=' + JSON.stringify(params))\r\n\r\n let {\r\n results: architecturalSubmissions\r\n } = await kms.get('/Architectural/ArchitecturalSubmission/ListBasic', { params })\r\n\r\n commit('architecturalSubmissionsList', architecturalSubmissions)\r\n } catch (e) {\r\n notifyProblem(e)\r\n }\r\n },\r\n\r\n //Architectural Submission Note List\r\n async getArchitecturalSubmissionNotes({ commit, rootState }, payload = {}) {\r\n console.error('getArchitecturalSubmissionNotes')\r\n\r\n try {\r\n const params = {\r\n hoaID: rootState.user.selectedHoaId,\r\n architecturalSubmissionID: payload.architecturalSubmissionID\r\n }\r\n\r\n if (isDebug == true)\r\n console.debug('getArchitecturalSubmissionNotes payload=' + JSON.stringify(params))\r\n\r\n let {\r\n results: architecturalSubmissionNotes\r\n } = await kms.get('/Architectural/ArchitecturalSubmissionNote/List', { params })\r\n\r\n commit('architecturalSubmissionNoteList', architecturalSubmissionNotes)\r\n } catch (e) {\r\n notifyProblem(e)\r\n }\r\n },\r\n\r\n //Architectural Submission Attachment List\r\n async getArchitecturalSubmissionAttachments({ commit, rootState }, payload = {}) {\r\n try {\r\n const params = {\r\n hoaID: rootState.user.selectedHoaId,\r\n architecturalSubmissionID: payload.architecturalSubmissionID\r\n }\r\n\r\n if (isDebug == true)\r\n console.debug('getArchitecturalSubmissionAttachments payload=' + JSON.stringify(params))\r\n\r\n let {\r\n results: architecturalSubmissionAttachments\r\n } = await kms.get('/Architectural/ArchitecturalSubmissionAttachment/List', { params })\r\n\r\n commit('architecturalSubmissionAttachmentList', architecturalSubmissionAttachments)\r\n } catch (e) {\r\n notifyProblem(e)\r\n }\r\n },\r\n\r\n //Architectural Category List\r\n async getArchitecturalCategories({ commit, rootState }) {\r\n try {\r\n const params = {\r\n hoaID: rootState.user.selectedHoaId\r\n }\r\n\r\n if (isDebug == true)\r\n console.debug('getArchitecturalCategories payload=' + JSON.stringify(params))\r\n\r\n let {\r\n results: architecturalCategories\r\n } = await kms.get('/Architectural/ArchitecturalCategory/List', { params })\r\n\r\n //Convert to a drop-down for vee-validate select\r\n const dropdownCategories = architecturalCategories.map(\r\n ({ architecturalCategoryID: value, name: label }) => ({\r\n value,\r\n label\r\n })\r\n )\r\n dropdownCategories.unshift({ value: '', label: '<-Select Category->' })\r\n\r\n commit('architecturalCategoryList', dropdownCategories)\r\n } catch (e) {\r\n notifyProblem(e)\r\n }\r\n },\r\n\r\n async getArchitecturalCategoriesForInline({ commit, rootState }) {\r\n try {\r\n const params = {\r\n hoaID: rootState.user.selectedHoaId\r\n }\r\n\r\n if (isDebug == true)\r\n console.debug('getArchitecturalCategories payload=' + JSON.stringify(params))\r\n\r\n let {\r\n results: architecturalCategories\r\n } = await kms.get('/Architectural/ArchitecturalCategory/List', { params })\r\n\r\n //Convert to a drop-down for vee-validate select\r\n const dropdownCategories = architecturalCategories.map(\r\n ({ name: text, architecturalCategoryID: value }) => ({\r\n text,\r\n value\r\n })\r\n )\r\n dropdownCategories.unshift({ text: '<-Select Category->', value: '' })\r\n\r\n commit('architecturalCategoryList', dropdownCategories)\r\n } catch (e) {\r\n notifyProblem(e)\r\n }\r\n },\r\n\r\n //Architectural Vote List\r\n /*\r\n this.$store.dispatch('architectural/getArchitecturalVotes', {\r\n architecturalSubmissionID:\r\n done: ({ list }) => {\r\n\r\n }\r\n })\r\n */\r\n async getArchitecturalVotes(\r\n { commit, rootState },\r\n { architecturalSubmissionID, done = () => {} } = {}\r\n ) {\r\n try {\r\n let { results: architecturalVotes } = await kms.get(\r\n '/ArchitecturalVoting/ArchitecturalVote/List',\r\n {\r\n params: {\r\n hoaID: rootState.user.selectedHoaId,\r\n architecturalSubmissionID\r\n }\r\n }\r\n )\r\n\r\n commit('architecturalVoteList', architecturalVotes)\r\n\r\n done({\r\n list: architecturalVotes\r\n })\r\n } catch (e) {\r\n notifyProblem(e)\r\n }\r\n },\r\n\r\n async uploadRequestDocument({ commit, rootState }, payload = {}) {\r\n const formData = new FormData()\r\n formData.append('file', payload.file)\r\n\r\n // create container if not exists\r\n try {\r\n const hoaID = rootState.user.selectedHoaId\r\n\r\n const path = `/Architectural/ArchitecturalSubmission/StoreDocument?architecturalSubmissionID=${payload.architecturalSubmissionID}&hoaID=${hoaID}`\r\n const uploadedRequestFile = await kms.post(path, formData, {\r\n 'Content-Type': 'multipart/form-data'\r\n })\r\n\r\n if (isDebug == true)\r\n console.debug('uploadDocument with payload=' + JSON.stringify(uploadedRequestFile))\r\n\r\n commit('save', { uploadedRequestFile })\r\n } catch (e) {\r\n notifyProblem(e)\r\n }\r\n },\r\n\r\n async uploadRequestAttachmentDocument({ commit }, payload = {}) {\r\n const formData = new FormData()\r\n formData.append('file', payload.file)\r\n\r\n let path = ''\r\n\r\n if (isDebug == true)\r\n console.debug('uploadRequestAttachmentDocument payload=' + JSON.stringify(payload))\r\n\r\n // create container if not exists\r\n try {\r\n if (\r\n payload.architecturalSubmissionAttachmentID &&\r\n payload.architecturalSubmissionAttachmentID != undefined &&\r\n payload.architecturalSubmissionAttachmentID > 0\r\n ) {\r\n path = `/Architectural/ArchitecturalSubmissionAttachment/StoreAttachment?architecturalSubmissionAttachmentID=${payload.architecturalSubmissionAttachmentID}`\r\n }\r\n\r\n if (\r\n payload.existingArchitecturalSubmissionID &&\r\n payload.existingArchitecturalSubmissionID != undefined &&\r\n payload.existingArchitecturalSubmissionID > 0\r\n ) {\r\n path = `/Architectural/ArchitecturalSubmissionAttachment/StoreAttachment?existingArchitecturalSubmissionID=${payload.existingArchitecturalSubmissionID}&newFileName=${payload.newFileName}`\r\n }\r\n\r\n if (isDebug == true) console.debug('uploadRequestAttachmentDocument path=' + path)\r\n\r\n const uploadedRequestAttachmentFile = await kms.post(path, formData, {\r\n 'Content-Type': 'multipart/form-data'\r\n })\r\n\r\n if (isDebug == true)\r\n console.debug(\r\n 'uploadDocument with payload=' + JSON.stringify(uploadedRequestAttachmentFile)\r\n )\r\n\r\n commit('save', { uploadedRequestAttachmentFile })\r\n } catch (e) {\r\n notifyProblem(e)\r\n }\r\n }\r\n}\r\n\r\nconst getters = {\r\n architecturalSubmissionDto: () => state.architecturalSubmissionDto,\r\n selectedArchitecturalSubmission: () => state.selectedArchitecturalSubmission,\r\n architecturalSubmission: () => state.architecturalSubmission,\r\n architecturalSubmissionNote: () => state.architecturalSubmissionNote,\r\n architecturalSubmissionAttachment: () => state.architecturalSubmissionAttachment,\r\n architecturalCategory: () => state.architecturalCategory,\r\n committeeSetting: () => state.committeeSetting,\r\n validCommittee: () => state.validCommittee,\r\n architecturalSubmissionsList: () => state.architecturalSubmissionsList,\r\n architecturalSubmissionNoteList: () => state.architecturalSubmissionNoteList,\r\n architecturalSubmissionAttachmentList: () => state.architecturalSubmissionAttachmentList,\r\n architecturalCategoryList: () => state.architecturalCategoryList,\r\n pendingArchitecturalVotesForCommitteeMemberList: () =>\r\n state.pendingArchitecturalVotesForCommitteeMemberList,\r\n architecturalVoteList: () => state.architecturalVoteList,\r\n architecturalStipulationList: () => state.architecturalStipulationList,\r\n requestImages: () => state.requestImages,\r\n requestImagesPreview: () => state.requestImagesPreview,\r\n requestAttachmentImages: () => state.requestAttachmentImages,\r\n requestAttachmentImagesPreview: () => state.requestAttachmentImagesPreview\r\n}\r\n\r\nexport const architectural = {\r\n namespaced: true,\r\n state,\r\n mutations,\r\n actions,\r\n getters\r\n}\r\n","import kms from '@/services/kms'\r\n\r\nimport { notifyError } from '@/services/notify'\r\n\r\nexport const actions = {\r\n async reloadBankAccount({ dispatch }) {\r\n dispatch('loadBankAccounts')\r\n },\r\n\r\n // Bank Account Checking List\r\n async loadBankAccountCheckingList({ commit, rootState }) {\r\n try {\r\n const params = {\r\n hoaID: rootState.user.selectedHoaId,\r\n hasCheckingOnly: true\r\n }\r\n const { results: accounts } = await kms.get('/BankAccounts/BankAccount/List', {\r\n params\r\n })\r\n\r\n //Convert to a drop-down for vee-validate select\r\n const checkingBankAccounts = accounts.map(({ bankAccountID: value, name: label }) => ({\r\n value,\r\n label\r\n }))\r\n checkingBankAccounts.unshift({ value: '', label: '-Select Bank Account-' })\r\n\r\n commit('save', { checkingBankAccounts })\r\n } catch (e) {\r\n notifyError(e)\r\n }\r\n },\r\n\r\n // Bank Account Types List\r\n async loadBankAccountTypesList({ commit, rootState }) {\r\n try {\r\n const params = {\r\n hoaID: rootState.user.selectedHoaId\r\n }\r\n const { results: accountTypes } = await kms.get('/BankAccounts/BankAccountType/List', {\r\n params\r\n })\r\n\r\n //Convert to a drop-down for vee-validate select\r\n const bankAccountTypes = accountTypes.map(({ bankAccountTypeID: value, name: label }) => ({\r\n value,\r\n label\r\n }))\r\n bankAccountTypes.unshift({ value: '', label: 'Account Type' })\r\n\r\n commit('save', { bankAccountTypes })\r\n } catch (e) {\r\n notifyError(e)\r\n }\r\n },\r\n\r\n // Bank Accounts List\r\n async loadBankAccounts({ commit, rootState }, retrieveReconciliationSums) {\r\n try {\r\n const params = {\r\n hoaID: rootState.user.selectedHoaId,\r\n retrieveReconciliationSums: retrieveReconciliationSums\r\n }\r\n const { results: bankAccounts } = await kms.get('/BankAccounts/BankAccount/List', {\r\n params\r\n })\r\n commit('save', { bankAccounts })\r\n } catch (e) {\r\n notifyError(e)\r\n }\r\n },\r\n\r\n // Bank Accounts Listing List\r\n async loadBankAccountListings({ commit, rootState }, payload = {}) {\r\n console.log({ payload })\r\n\r\n try {\r\n const params = {\r\n hoaID: rootState.user.selectedHoaId,\r\n bankAccountID: payload.bankAccountID > 0 ? payload.bankAccountID : null,\r\n showUnreconciledOnly: payload.showUnreconciledOnly,\r\n targetDate: payload.targetDate\r\n }\r\n\r\n const {\r\n results: bankAccountListings,\r\n summedAmount: summedUnreconciledBankAccounts,\r\n summedDebitAmount: summedUnreconciledBankAccountListingDebits,\r\n summedCreditAmount: summedUnreconciledBankAccountListingCredits\r\n } = await kms.get('/CheckbookReconciliation/BankAccountListing/List', {\r\n params\r\n })\r\n commit('save', { bankAccountListings })\r\n commit('save', { summedUnreconciledBankAccounts })\r\n commit('save', { summedUnreconciledBankAccountListingDebits })\r\n commit('save', { summedUnreconciledBankAccountListingCredits })\r\n } catch (e) {\r\n notifyError(e)\r\n }\r\n },\r\n\r\n // Checkbook Entry List\r\n async loadCheckbookEntries({ commit, rootState }, payload = {}) {\r\n try {\r\n const params = {\r\n hoaID: rootState.user.selectedHoaId,\r\n bankAccountID: payload.bankAccountID > 0 ? payload.bankAccountID : null,\r\n showUnreconciledOnly: payload.showUnreconciledOnly,\r\n targetDate: payload.targetDate\r\n }\r\n\r\n const {\r\n results: checkbookEntries,\r\n summedAmount: summedUnreconciledCheckbookEntries,\r\n summedDebitAmount: summedUnreconciledCheckbookDebits,\r\n summedCreditAmount: summedUnreconciledCheckbookCredits\r\n } = await kms.get('/CheckbookReconciliation/CheckbookEntry/List', {\r\n params\r\n })\r\n\r\n console.debug('checkbookEntries' + JSON.stringify(checkbookEntries))\r\n console.debug('summedUnreconciledCheckbookEntries' + summedUnreconciledCheckbookEntries)\r\n\r\n commit('save', { checkbookEntries })\r\n commit('save', { summedUnreconciledCheckbookEntries })\r\n commit('save', { summedUnreconciledCheckbookDebits })\r\n commit('save', { summedUnreconciledCheckbookCredits })\r\n } catch (e) {\r\n notifyError(e)\r\n }\r\n },\r\n\r\n // Bank Account Balance List\r\n async loadBankAccountBalances({ commit, rootState }, payload = {}) {\r\n try {\r\n const params = {\r\n hoaID: rootState.user.selectedHoaId,\r\n bankAccountID: payload.bankAccountID > 0 ? payload.bankAccountID : null,\r\n startDate: payload.targetDate,\r\n endDate: payload.targetDate\r\n }\r\n const { results: bankAccountBalances } = await kms.get(\r\n '/CheckbookReconciliation/BankAccountBalance/List',\r\n {\r\n params\r\n }\r\n )\r\n commit('save', { bankAccountBalances })\r\n } catch (e) {\r\n notifyError(e)\r\n }\r\n },\r\n\r\n // Bank Account Balance\r\n async loadBankAccountBalanceUncleared({ commit, rootState }, payload = {}) {\r\n try {\r\n const params = {\r\n hoaID: rootState.user.selectedHoaId,\r\n bankAccountID: payload.bankAccountID > 0 ? payload.bankAccountID : null,\r\n startDate: payload.targetDate,\r\n endDate: payload.targetDate\r\n }\r\n const { results: bankAccountBalances } = await kms.get(\r\n '/CheckbookReconciliation/BankAccountBalance/List',\r\n {\r\n params\r\n }\r\n )\r\n\r\n // add debit/credit amounts\r\n const bankAccountUnclearedBalance = bankAccountBalances[0]\r\n\r\n commit('save', { bankAccountUnclearedBalance })\r\n } catch (e) {\r\n notifyError(e)\r\n }\r\n },\r\n\r\n // Bank Accounts Listing\r\n async loadBankAccountListing({ commit }, bankAccountListingId) {\r\n try {\r\n const path = `/CheckbookReconciliation/BankAccountListing/${bankAccountListingId}`\r\n const bankAccountListing = await kms.get(path)\r\n\r\n commit('save', { bankAccountListing })\r\n } catch (e) {\r\n notifyError(e)\r\n }\r\n },\r\n\r\n // Bank Account Details\r\n async loadBankAccount({ commit }, bankAccountId) {\r\n try {\r\n const bankAccount = await kms.get(`/BankAccounts/BankAccount/${bankAccountId}`)\r\n commit('save', { bankAccount })\r\n } catch (e) {\r\n notifyError(e)\r\n }\r\n },\r\n\r\n // G/L Balance\r\n async loadGlBalance({ commit, rootState }, payload = {}) {\r\n try {\r\n const glBalance = await kms.get(\r\n `/GeneralLedger/Browser/GetBalance?hoaID=${rootState.user.selectedHoaId}&accountID=${payload.accountID}&asOfDate=${payload.targetDate}`\r\n )\r\n commit('save', { glBalance })\r\n } catch (e) {\r\n notifyError(e)\r\n }\r\n },\r\n\r\n selectFinancialInstitutionId({ commit }, financialInstitutionId) {\r\n commit('setFinancialInstitutionId', financialInstitutionId)\r\n },\r\n\r\n selectPlaidInstitutionId({ commit }, plaidInstitutionId) {\r\n commit('setPlaidInstitutionId', plaidInstitutionId)\r\n },\r\n\r\n selectPlaidAccountIds({ commit }, plaidAccountIds) {\r\n console.log('selectPlaidAccountIds')\r\n\r\n commit('setPlaidAccountIds', plaidAccountIds)\r\n }\r\n}\r\n","export const getters = {\r\n financialInstitutionId: ({ selectedFinancialInstitutionId }) => selectedFinancialInstitutionId,\r\n plaidInstitutionId: ({ selectedPlaidInstitutionId }) => selectedPlaidInstitutionId,\r\n plaidAccountIds: ({ selectedPlaidAccountIds }) => selectedPlaidAccountIds,\r\n checkingBankAccounts: ({ checkingBankAccounts }) => checkingBankAccounts\r\n}\r\n","export const state = {\r\n bankAccounts: [],\r\n bankAccount: null,\r\n bankAccountListings: [],\r\n summedUnreconciledBankAccounts: 0,\r\n summedUnreconciledBankAccountListingDebits: 0,\r\n summedUnreconciledBankAccountListingCredits: 0,\r\n bankAccountListing: null,\r\n accountTypes: [],\r\n bankAccountTypes: [],\r\n checkingBankAccounts: [],\r\n checkbookEntries: [],\r\n bankAccountBalances: [],\r\n bankAccountUnclearedBalance: null,\r\n summedUnreconciledCheckbookEntries: 0,\r\n summedUnreconciledCheckbookDebits: 0,\r\n summedUnreconciledCheckbookCredits: 0,\r\n glBalance: null,\r\n selectedPlaidInstitutionId: null,\r\n selectedFinancialInstitutionId: null,\r\n selectedPlaidAccountIds: []\r\n}\r\n","/*\r\n\r\n\r\n\r\n*/\r\nexport const mutations = {\r\n /*\r\n Example:\r\n commit('save', { checkingBankAccounts })\r\n */\r\n save(state, payload) {\r\n for (let prop in payload) {\r\n state[prop] = payload[prop]\r\n }\r\n },\r\n setFinancialInstitutionId(state, id) {\r\n state.selectedFinancialInstitutionId = id\r\n },\r\n setPlaidInstitutionId(state, id) {\r\n state.selectedPlaidInstitutionId = id\r\n },\r\n setPlaidAccountIds(state, accounts) {\r\n console.log('setPlaidAccountIds', { accounts })\r\n\r\n const plaidAccounts = accounts.map(({ id: value, name: label }) => ({\r\n value,\r\n label\r\n }))\r\n plaidAccounts.unshift({ value: '', label: 'Linked Account' })\r\n state.selectedPlaidAccountIds = plaidAccounts\r\n }\r\n}\r\n","import { actions } from './parts/actions'\r\nimport { getters } from './parts/getters'\r\nimport { state } from './parts/state'\r\nimport { mutations } from './parts/mutations'\r\n\r\nexport const bankaccount = {\r\n namespaced: true,\r\n state,\r\n mutations,\r\n actions,\r\n getters\r\n}\r\n","import kms from '@/services/kms'\r\nimport { ToastProgrammatic as Toast } from 'buefy'\r\nimport _get from 'lodash/get'\r\n\r\nconst isDebug = true\r\n\r\nfunction notifyError(e) {\r\n Toast.open({\r\n duration: 7000,\r\n message: e.message || e,\r\n position: 'is-bottom',\r\n type: 'is-danger'\r\n })\r\n}\r\n\r\nfunction notifyMessage(e) {\r\n Toast.open({\r\n duration: 7000,\r\n message: e.message || e,\r\n position: 'is-bottom',\r\n type: 'is-success'\r\n })\r\n}\r\n\r\nconst state = {\r\n budgetList: [],\r\n budgetAccountsList: [],\r\n budgetAccountTotals: null,\r\n budgetAmountTotals: null,\r\n budgetAmountsList: [],\r\n fiscalYearPeriodList: []\r\n}\r\n\r\nconst mutations = {\r\n save(state, payload) {\r\n for (let prop in payload) {\r\n state[prop] = payload[prop]\r\n }\r\n },\r\n budgetList(state, payload) {\r\n state.budgetList = payload\r\n },\r\n budgetAccountsList(state, payload) {\r\n state.budgetAccountsList = payload\r\n },\r\n budgetAccountTotals(state, payload) {\r\n state.budgetAccountTotals = payload\r\n },\r\n budgetAmountTotals(state, payload) {\r\n state.budgetAmountTotals = payload\r\n },\r\n budgetAmountsList(state, payload) {\r\n state.budgetAmountsList = payload\r\n },\r\n fiscalYearPeriodList(state, payload) {\r\n state.fiscalYearPeriodList = payload\r\n }\r\n}\r\n\r\nconst actions = {\r\n //--------------- List ---------------------------\r\n\r\n //Budget List\r\n async getBudgetList({ commit, rootState }) {\r\n try {\r\n const params = {\r\n hoaID: rootState.user.selectedHoaId\r\n }\r\n\r\n let { results: budgets } = await kms.get('/Budgets/Budget/List', { params })\r\n\r\n if (isDebug == true) console.debug('getBudgetList=' + JSON.stringify(budgets))\r\n\r\n commit('budgetList', budgets)\r\n } catch (e) {\r\n notifyError(e)\r\n }\r\n },\r\n\r\n //Budget Account List\r\n async getBudgetAccountsList({ commit, rootState }, { budgetID }) {\r\n try {\r\n const params = {\r\n hoaID: rootState.user.selectedHoaId,\r\n budgetID: budgetID\r\n }\r\n\r\n const returned = await kms.get('/Budgets/BudgetAccount/ListWithTotals', { params })\r\n\r\n if (isDebug == true) console.debug('getBudgetAccountList=' + JSON.stringify(returned))\r\n\r\n const budgetAccountTotals = {\r\n currentYearTotalIncome: returned.currentYearTotalIncome,\r\n currentYearTotalIncomePerMonth: returned.currentYearTotalIncomePerMonth,\r\n currentYearTotalIncomePerUnitPerMonth: returned.currentYearTotalIncomePerUnitPerMonth,\r\n currentYearTotalExpense: returned.currentYearTotalExpense,\r\n currentYearTotalExpensePerMonth: returned.currentYearTotalExpensePerMonth,\r\n currentYearTotalExpensePerUnitPerMonth: returned.currentYearTotalExpensePerUnitPerMonth,\r\n currentYearTotalAssessedIncome: returned.currentYearTotalAssessedIncome,\r\n currentYearTotalAssessedIncomePerMonth: returned.currentYearTotalAssessedIncomePerMonth,\r\n currentYearTotalAssessedIncomePerUnitPerMonth:\r\n returned.currentYearTotalAssessedIncomePerUnitPerMonth\r\n }\r\n\r\n if (isDebug == true)\r\n console.debug('budgetAccountTotals=' + JSON.stringify(budgetAccountTotals))\r\n\r\n commit('budgetAccountsList', returned)\r\n commit('budgetAccountTotals', budgetAccountTotals)\r\n } catch (e) {\r\n notifyError(e)\r\n }\r\n },\r\n\r\n //Budget Amount List\r\n async getBudgetAmountsList({ commit, rootState }, { budgetAccountID }) {\r\n try {\r\n const params = {\r\n hoaID: rootState.user.selectedHoaId,\r\n budgetAccountID: budgetAccountID\r\n }\r\n\r\n const returned = await kms.get('/Budgets/BudgetAmount/ListWithTotals', { params })\r\n\r\n const budgetAmountTotals = {\r\n totalAmountBudgeted: returned.totalAmountBudgeted,\r\n totalLastActuals: returned.totalLastActuals,\r\n totalLastBudgeted: returned.totalLastBudgeted\r\n }\r\n\r\n if (isDebug == true) console.debug('getBudgetAmountsList=' + JSON.stringify(returned))\r\n\r\n commit('budgetAmountsList', returned)\r\n commit('budgetAmountTotals', budgetAmountTotals)\r\n } catch (e) {\r\n notifyError(e)\r\n }\r\n },\r\n\r\n //Fical year periods List\r\n async getPeriodsByFiscalYear({ commit, rootState }, { fiscalYear }) {\r\n try {\r\n const params = {\r\n hoaID: rootState.user.selectedHoaId,\r\n year: fiscalYear\r\n }\r\n\r\n const returned = await kms.get(\r\n '/GeneralAccounting/FiscalYear/AccountingPeriodsForFiscalYear',\r\n { params }\r\n )\r\n\r\n if (isDebug == true) console.debug('getPeriodsByFiscalYear=' + JSON.stringify(returned))\r\n\r\n commit('fiscalYearPeriodList', returned)\r\n } catch (e) {\r\n notifyError(e)\r\n }\r\n },\r\n\r\n //-----------------------Get by ID--------------------\r\n\r\n //------------Update------------------------------------------------------\r\n async updateBudget({ dispatch }, { payload = {}, done }) {\r\n try {\r\n const results = await kms.put(`/Budgets/Budget`, payload)\r\n\r\n if (this.isDebug == true) console.debug('results=' + JSON.stringify(results))\r\n\r\n if (dispatch && dispatch != undefined) console.debug(dispatch)\r\n\r\n if (results.budgetID > 0) {\r\n notifyMessage(`Successfully updated the Budget.`)\r\n done()\r\n } else {\r\n notifyError(`There was a problem updating the Budget.`)\r\n }\r\n } catch (e) {\r\n notifyError(e)\r\n }\r\n },\r\n\r\n async updateBudgetAccount({ dispatch }, { payload = {}, done }) {\r\n try {\r\n const results = await kms.put(`/Budgets/BudgetAccount`, payload)\r\n\r\n if (this.isDebug == true) console.debug('results=' + JSON.stringify(results))\r\n\r\n if (dispatch && dispatch != undefined) console.debug(dispatch)\r\n\r\n if (results.budgetAccountID > 0) {\r\n notifyMessage(`Successfully updated the Budget Account.`)\r\n done()\r\n } else {\r\n notifyError(`There was a problem updating the Budget Account.`)\r\n }\r\n } catch (e) {\r\n notifyError(e)\r\n }\r\n },\r\n\r\n async updateBudgetAmount({ dispatch }, { payload = {}, done }) {\r\n try {\r\n const results = await kms.put(`/Budgets/BudgetAmount`, payload)\r\n\r\n if (this.isDebug == true) console.debug('results=' + JSON.stringify(results))\r\n\r\n if (dispatch && dispatch != undefined) console.debug(dispatch)\r\n\r\n if (results.budgetAmountID > 0) {\r\n notifyMessage(`Successfully updated the Budget Amount.`)\r\n done()\r\n } else {\r\n notifyError(`There was a problem updating the Budget Amount.`)\r\n }\r\n } catch (e) {\r\n notifyError(e)\r\n }\r\n },\r\n\r\n async upsertBudgetAmount({ dispatch }, { payload = {}, done }) {\r\n try {\r\n const results = await kms.post(`/Budgets/BudgetAmount/UpsertBatchProcessAmounts`, payload)\r\n\r\n if (this.isDebug == true) console.debug('results=' + JSON.stringify(results))\r\n\r\n if (dispatch && dispatch != undefined) console.debug(dispatch)\r\n\r\n if (results == true) {\r\n notifyMessage(`Successfully updated the Budget Amount(s).`)\r\n done({ result: true })\r\n } else {\r\n notifyError(`There was a problem updating the Budget Amount(s).`)\r\n }\r\n } catch (e) {\r\n notifyError(e)\r\n }\r\n },\r\n\r\n async copyBudget({ dispatch }, { payload = {}, done }) {\r\n try {\r\n const results = await kms.post(`/Budgets/Budget/DuplicateExistingBudget`, payload)\r\n\r\n if (this.isDebug == true) console.debug('results=' + JSON.stringify(results))\r\n\r\n if (dispatch && dispatch != undefined) console.debug(dispatch)\r\n\r\n if (results.budgetID > 0) {\r\n notifyMessage(`Successfully duplicated the selected budget.`)\r\n done()\r\n } else {\r\n notifyError(`There was a problem duplicating the selected budget.`)\r\n }\r\n } catch (e) {\r\n notifyError(e)\r\n }\r\n },\r\n\r\n // ---------------------- Add -----------------------------------\r\n\r\n // Add Budget\r\n async addBudget(\r\n { dispatch },\r\n { fiscalYear, name, hoaID, numberOfPeriods, isAuthoritative, done }\r\n ) {\r\n try {\r\n const results = await kms.post(`/Budgets/Budget`, {\r\n fiscalYear,\r\n name,\r\n hoaID,\r\n numberOfPeriods,\r\n isAuthoritative\r\n })\r\n\r\n if (this.isDebug == true) console.debug('results=' + JSON.stringify(results))\r\n\r\n if (dispatch && dispatch != undefined) console.debug(dispatch)\r\n\r\n if (results.budgetID > 0) {\r\n notifyMessage(`Successfully added budget.`)\r\n done()\r\n } else {\r\n notifyError('There was a problem adding the new budget.')\r\n }\r\n } catch (ex) {\r\n notifyError(ex)\r\n }\r\n },\r\n\r\n // Add Budget Account\r\n async addBudgetAccount({ dispatch }, { budgetID, glAccountID, note, done }) {\r\n try {\r\n const results = await kms.post(`/Budgets/BudgetAccount`, {\r\n budgetID,\r\n glAccountID,\r\n note\r\n })\r\n\r\n if (this.isDebug == true) console.debug('addBudgetAccount=' + JSON.stringify(results))\r\n\r\n if (dispatch && dispatch != undefined) console.debug(dispatch)\r\n\r\n if (results.budgetID > 0) {\r\n notifyMessage(`Successfully added budget account.`)\r\n done()\r\n } else {\r\n notifyError('There was a problem adding the new budget account.')\r\n }\r\n } catch (ex) {\r\n notifyError(ex)\r\n }\r\n },\r\n\r\n // Add Budget Amount\r\n async addBudgetAmount({ dispatch }, { budgetAccountID, amount, periodNumber, done }) {\r\n try {\r\n const results = await kms.post(`/Budgets/BudgetAmount`, {\r\n budgetAccountID,\r\n amount,\r\n periodNumber\r\n })\r\n\r\n if (this.isDebug == true) console.debug('addBudgetAmount=' + JSON.stringify(results))\r\n\r\n if (dispatch && dispatch != undefined) console.debug(dispatch)\r\n\r\n if (results.budgetAmountID > 0) {\r\n notifyMessage(`Successfully added budget account.`)\r\n done()\r\n } else {\r\n notifyError('There was a problem adding the new budget account.')\r\n }\r\n } catch (ex) {\r\n notifyError(ex)\r\n }\r\n },\r\n\r\n //------------------------- Delete ---------------------------\r\n\r\n async deleteBudget({ dispatch }, { budgetID, done }) {\r\n try {\r\n const path = `/Budgets/Budget/${budgetID}?forceDelete=false&cascadeDelete=true`\r\n\r\n const results = await kms.delete(path)\r\n\r\n if (this.isDebug == true) console.debug('results=' + JSON.stringify(results))\r\n\r\n if (dispatch && dispatch != undefined) console.debug(dispatch)\r\n\r\n const wasDeleted = _get(results, 'deleted', false)\r\n\r\n if (wasDeleted === true) {\r\n notifyMessage(`Successfully deleted the budget.`)\r\n done()\r\n } else {\r\n notifyError('There was a problem deleting the budget.')\r\n }\r\n } catch (ex) {\r\n notifyError(ex)\r\n }\r\n },\r\n\r\n async deleteBudgetAccount({ dispatch }, { budgetAccountID, done }) {\r\n try {\r\n const path = `/Budgets/BudgetAccount/${budgetAccountID}?forceDelete=false&cascadeDelete=true`\r\n\r\n const results = await kms.delete(path)\r\n\r\n if (this.isDebug == true) console.debug('results=' + JSON.stringify(results))\r\n\r\n if (dispatch && dispatch != undefined) console.debug(dispatch)\r\n\r\n const wasDeleted = _get(results, 'deleted', false)\r\n\r\n if (wasDeleted === true) {\r\n notifyMessage(`Successfully deleted the budget account.`)\r\n done()\r\n } else {\r\n notifyError('There was a problem deleting the budget account.')\r\n }\r\n } catch (ex) {\r\n notifyError(ex)\r\n }\r\n }\r\n}\r\n\r\nconst getters = {\r\n budgetList: () => state.budgetList,\r\n budgetAccountsList: () => state.budgetAccountsList,\r\n budgetAccountTotals: () => state.budgetAccountTotals,\r\n budgetAmountTotals: () => state.budgetAmountTotals,\r\n budgetAmountsList: () => state.budgetAmountsList,\r\n fiscalYearPeriodList: () => state.fiscalYearPeriodList\r\n}\r\n\r\nexport const budgets = {\r\n namespaced: true,\r\n state,\r\n mutations,\r\n actions,\r\n getters\r\n}\r\n","import kms from '@/services/kms'\r\nimport _get from 'lodash/get'\r\n\r\nconst isDebug = true\r\n\r\nimport { notifyMessage, notifyProblem } from '@/services/notify'\r\n\r\nexport const state = {\r\n committeeList: [{}],\r\n committeeMemberList: [{}],\r\n committeeTitleList: [{}],\r\n committeeTypeList: [{}],\r\n committee: null,\r\n committeeMember: null\r\n}\r\n\r\nexport const mutations = {\r\n save(state, payload) {\r\n for (let prop in payload) {\r\n state[prop] = payload[prop]\r\n }\r\n },\r\n committeeList(state, payload) {\r\n state.committeeList = payload\r\n },\r\n committeeMemberList(state, payload) {\r\n state.committeeMemberList = payload\r\n },\r\n committee(state, payload) {\r\n state.committee = payload\r\n },\r\n committeeMember(state, payload) {\r\n state.committeeMember = payload\r\n },\r\n committeeTitleList(state, payload) {\r\n state.committeeTitleList = payload\r\n },\r\n committeeTypeList(state, payload) {\r\n state.committeeTypeList = payload\r\n }\r\n}\r\n\r\nexport const actions = {\r\n // List Committees\r\n // GET ​/Committees​/Committee​/List\r\n /*\r\n const { list } = await this.$store.dispatch('committees/getCommitteeList');\r\n */\r\n async getCommitteeList({ commit, rootState }) {\r\n let list = []\r\n\r\n try {\r\n let { results: committees } = await kms.get('/Committees/Committee/List', {\r\n params: {\r\n hoaID: rootState.user.selectedHoaId\r\n }\r\n })\r\n\r\n list = committees\r\n\r\n commit('committeeList', committees)\r\n } catch (e) {\r\n notifyProblem(e)\r\n return { list }\r\n }\r\n\r\n return {\r\n list\r\n }\r\n },\r\n\r\n // Load Committee By Id\r\n // GET /Committees/Committee/{committeeID}\r\n async loadCommittee({ commit }, committeeID) {\r\n let committeeLoaded = null\r\n\r\n try {\r\n committeeLoaded = await kms.get(`/Committees/Committee/${committeeID.committeeID}`)\r\n commit('committee', { committeeLoaded })\r\n } catch (e) {\r\n notifyProblem(e)\r\n }\r\n\r\n return {\r\n committeeDetails: committeeLoaded\r\n }\r\n },\r\n\r\n // Update Committee By Id\r\n async updateCommittee(\r\n { dispatch },\r\n { committeeID, committeeTypeID, hoaID, name, isActive, done }\r\n ) {\r\n try {\r\n const results = await kms.put(`/Committees/Committee`, {\r\n committeeID,\r\n committeeTypeID,\r\n hoaID,\r\n name,\r\n isActive\r\n })\r\n\r\n if (this.isDebug == true) console.debug('results=' + JSON.stringify(results))\r\n\r\n if (results.committeeID > 0) {\r\n notifyMessage(`Successfully updated committee.`)\r\n dispatch('getCommitteeList')\r\n done()\r\n } else {\r\n notifyProblem('There was a problem updating this committee.')\r\n }\r\n } catch (e) {\r\n notifyProblem(e)\r\n }\r\n },\r\n\r\n // Add Committee By Id\r\n async addCommittee({ dispatch }, { hoaID, committeeTypeID, name, isActive }) {\r\n try {\r\n const results = await kms.post(`/Committees/Committee`, {\r\n hoaID,\r\n committeeTypeID,\r\n name,\r\n isActive\r\n })\r\n\r\n console.log({ results })\r\n\r\n if (this.isDebug == true) console.debug('results=' + JSON.stringify(results))\r\n\r\n const committeeID = _get(results, 'committeeID', null)\r\n\r\n if (typeof committeeID === 'number' && committeeID > 0) {\r\n notifyMessage(`Successfully added committee.`)\r\n dispatch('getCommitteeList')\r\n\r\n return {\r\n committeeID: results.committeeID\r\n }\r\n } else {\r\n notifyProblem('There was a problem adding the new committee.')\r\n }\r\n } catch (ex) {\r\n notifyProblem(ex)\r\n }\r\n\r\n return {\r\n committeeID: null\r\n }\r\n },\r\n\r\n //\r\n async deleteCommittee({ dispatch }, { committeeID, done }) {\r\n try {\r\n const path = `/Committees/Committee/${committeeID}`\r\n\r\n const results = await kms.delete(path)\r\n\r\n if (this.isDebug == true) console.debug('results=' + JSON.stringify(results))\r\n\r\n const wasDeleted = _get(results, 'deleted', false)\r\n\r\n if (wasDeleted === true) {\r\n notifyMessage(`Successfully deleted committee.`)\r\n dispatch('getCommitteeList')\r\n done()\r\n } else {\r\n notifyProblem('There was a problem deleting the committee.')\r\n }\r\n } catch (ex) {\r\n notifyProblem(ex)\r\n }\r\n },\r\n\r\n //\r\n // Committee Members\r\n //\r\n // Load Committee Member By Id\r\n async loadCommitteeMember({ commit }, committeeMemberID) {\r\n try {\r\n const committeeMemberLoaded = await kms.get(\r\n `/Committees/CommitteeMember/${committeeMemberID.committeeMemberID}`\r\n )\r\n commit('committeeMember', { committeeMemberLoaded })\r\n } catch (e) {\r\n notifyProblem(e)\r\n }\r\n },\r\n\r\n // Delete Committee Member By Id\r\n async deleteCommitteeMember({ dispatch }, { committeeMemberID, committeeID, done }) {\r\n try {\r\n const data = {\r\n committeeMemberID,\r\n forceDelete: false\r\n }\r\n\r\n const path = `/Committees/CommitteeMember/${committeeMemberID}?forceDelete=false`\r\n const results = await kms.delete(path, data)\r\n\r\n if (this.isDebug == true) console.debug(JSON.stringify(results))\r\n\r\n if (results.recordID >= 0) {\r\n notifyMessage(`The selected committee member was successfully deleted.`)\r\n\r\n dispatch('getCommitteeMemberList', {\r\n committeeID\r\n })\r\n\r\n done()\r\n\r\n dispatch('getCommitteeList')\r\n } else {\r\n notifyProblem('There was a problem deleting this committee member.')\r\n }\r\n } catch (e) {\r\n notifyProblem(e)\r\n }\r\n },\r\n\r\n // Committee Member List\r\n async getCommitteeMemberList({ commit, rootState }, committeeID) {\r\n try {\r\n const params = {\r\n hoaID: rootState.user.selectedHoaId,\r\n committeeID: committeeID.committeeID\r\n }\r\n\r\n let { results: committeeMembers } = await kms.get('/Committees/CommitteeMember/List', {\r\n params\r\n })\r\n\r\n commit('committeeMemberList', committeeMembers)\r\n } catch (e) {\r\n notifyProblem(e)\r\n }\r\n },\r\n\r\n // Update Committee Member\r\n async updateCommitteeMember({ dispatch }, { payload, done, exception }) {\r\n try {\r\n const results = await kms.put(`/Committees/CommitteeMember`, payload)\r\n\r\n if (this.isDebug == true) console.debug('results=' + JSON.stringify(results))\r\n\r\n if (results.committeeID > 0) {\r\n notifyMessage(`Successfully updated committee member.`)\r\n\r\n const committeeID = payload.committeeID\r\n dispatch('getCommitteeMemberList', {\r\n committeeID\r\n })\r\n done()\r\n dispatch('getCommitteeList')\r\n } else {\r\n notifyProblem('There was a problem updating the new committee member.')\r\n exception({ ex: null })\r\n }\r\n } catch (ex) {\r\n console.error({ ex })\r\n\r\n exception({ ex })\r\n }\r\n },\r\n\r\n // Add Committee Member\r\n async addCommitteeMember({ dispatch }, { payload, done }) {\r\n try {\r\n const results = await kms.post(`/Committees/CommitteeMember`, payload)\r\n if (this.isDebug == true) console.debug('results=' + JSON.stringify(results))\r\n\r\n if (results.committeeID > 0) {\r\n notifyMessage(`Successfully added committee member.`)\r\n\r\n const committeeID = payload.committeeID\r\n dispatch('getCommitteeMemberList', {\r\n committeeID\r\n })\r\n\r\n done(false)\r\n\r\n dispatch('getCommitteeList')\r\n } else {\r\n done(new Error('There was a problem adding the new committee member.'))\r\n }\r\n } catch (ex) {\r\n done(ex)\r\n }\r\n },\r\n\r\n //\r\n // Committee Titles\r\n //\r\n // Committee Title List\r\n async getCommitteeTitleList({ commit }, committeeTypeID) {\r\n try {\r\n let path = '/Committees/CommitteeTitle/List'\r\n if (committeeTypeID && committeeTypeID != undefined) {\r\n path = `/Committees/CommitteeTitle/List?committeeTypeID=${committeeTypeID.committeeTypeID}`\r\n }\r\n\r\n if (isDebug == true) console.debug('..in getCommitteeTitleList')\r\n let { results: committeeTitles } = await kms.get(path, {})\r\n\r\n if (isDebug == true)\r\n console.debug('getCommitteeTitleList results=' + JSON.stringify(committeeTitles))\r\n\r\n const filtered = committeeTitles.map(({ committeeTitleID: value, title: label }) => ({\r\n value,\r\n label\r\n }))\r\n\r\n if (filtered && filtered != undefined) {\r\n filtered.unshift({ value: '', label: '< Committee Title >' })\r\n }\r\n\r\n if (isDebug == true) console.debug('getCommitteeTitleList=' + this.filtered)\r\n\r\n commit('committeeTitleList', filtered)\r\n } catch (e) {\r\n notifyProblem(e)\r\n }\r\n },\r\n\r\n //\r\n // Committee Types\r\n //\r\n // Committee Type List\r\n async getCommitteeTypeList({ commit }) {\r\n try {\r\n if (isDebug == true) {\r\n console.debug('..in getCommitteeTypeList')\r\n }\r\n\r\n let { results: committeeTypes } = await kms.get('/Committees/CommitteeType/List', {})\r\n\r\n if (isDebug == true) {\r\n console.debug('getCommitteeTypeList results=' + JSON.stringify(committeeTypes))\r\n }\r\n\r\n const filtered = committeeTypes.map(({ committeeTypeID: value, name: label }) => ({\r\n value,\r\n label\r\n }))\r\n\r\n if (filtered && filtered != undefined) {\r\n filtered.unshift({ value: '', label: '< Committee Type >' })\r\n }\r\n\r\n if (isDebug == true) {\r\n console.debug('filtered getCommitteeTypeList=' + this.filtered)\r\n }\r\n\r\n commit('committeeTypeList', filtered)\r\n\r\n return {\r\n list: filtered\r\n }\r\n } catch (e) {\r\n notifyProblem(e)\r\n }\r\n\r\n return {\r\n list: null\r\n }\r\n }\r\n}\r\n\r\nexport const getters = {\r\n committeeList: state_ => state_.committeeList,\r\n committeeMemberList: state_ => state_.committeeMemberList,\r\n committeeTitleList: state_ => state_.committeeTitleList,\r\n committeeTypeList: state_ => state_.committeeTypeList,\r\n committee: state_ => state_.committee,\r\n committeeMember: state_ => state_.committeeMember\r\n}\r\n\r\nexport const committees = {\r\n namespaced: true,\r\n state,\r\n mutations,\r\n actions,\r\n getters\r\n}\r\n","const state = {}\r\n\r\nconst mutations = {}\r\n\r\nconst actions = {}\r\n\r\nconst getters = {}\r\n\r\nexport const helpers = {\r\n namespaced: true,\r\n state,\r\n mutations,\r\n actions,\r\n getters\r\n}\r\n","import moment from 'moment'\r\nimport _get from 'lodash/get'\r\nimport _cloneDeep from 'lodash/cloneDeep'\r\n//\r\nimport { notifyProblem } from '@/services/notify'\r\nimport kms from '@/services/kms'\r\n\r\nconst isDebug = false\r\n\r\nexport const state = {\r\n units: [],\r\n unit: null,\r\n glAccounts: [],\r\n glAssetAccountsList: [],\r\n glInterestIncomeAccountsList: [],\r\n glAccountTransactions: [],\r\n glAccount: null,\r\n ownerAccountTransactions: [],\r\n ownerAccountChargeTypeBalances: [],\r\n ownerAccountBalance: 0,\r\n owners: [],\r\n vendors: [],\r\n ownerDropDownList: [{}],\r\n addressDropDownList: [{}],\r\n vendorDropDownList: [],\r\n hoaAccountManagingUserList: [{}]\r\n}\r\n\r\nexport const mutations = {\r\n save(state, payload) {\r\n // console.log('Save state', payload)\r\n for (let prop in payload) {\r\n state[prop] = payload[prop]\r\n }\r\n },\r\n setFinancialInstitutionId(state, id) {\r\n state.selectedFinancialInstitutionId = id\r\n },\r\n setPlaidInstitutionId(state, id) {\r\n state.selectedPlaidInstitutionId = id\r\n },\r\n ownerDropDownList(state, payload) {\r\n state.ownerDropDownList = payload\r\n },\r\n addressDropDownList(state, payload) {\r\n state.addressDropDownList = payload\r\n },\r\n vendorDropDownList(state, payload) {\r\n state.vendorDropDownList = payload\r\n },\r\n hoaAccountManagingUserList(state, payload) {\r\n state.hoaAccountManagingUserList = payload\r\n }\r\n}\r\n\r\nconst actions = {\r\n async reloadHOA({ dispatch }) {\r\n dispatch('loadUnits')\r\n dispatch('loadVendors')\r\n // dispatch('loadOwners')\r\n },\r\n\r\n // Vendors List\r\n async loadVendors({ commit, rootState }) {\r\n try {\r\n const params = {\r\n hoaID: rootState.user.selectedHoaId\r\n }\r\n const { results: vendors } = await kms.get('/Vendors/Vendor/List', { params })\r\n\r\n const vendorDropDownList = vendors\r\n .map(v => ({\r\n value: v.vendorID,\r\n label: v.name ? v.name : ''\r\n }))\r\n .filter(f => f.label.length > 0 && f.value > 0)\r\n .sort((a, b) => a.label - b.label)\r\n\r\n if (isDebug == true) console.debug('loadVendors=' + JSON.stringify(vendorDropDownList))\r\n\r\n commit('save', { vendors })\r\n commit('save', { vendorDropDownList })\r\n } catch (e) {\r\n notifyProblem(e)\r\n }\r\n },\r\n\r\n // Units List\r\n /*\r\n this.$store.dispatch ('hoa/loadUnits', () => {\r\n startRecord: 1,\r\n recordCount: 10000,\r\n includeOwnerContacts: true\r\n });\r\n\r\n this.$store.dispatch('RosterUnitPhoto/getList', {\r\n unitID,\r\n done: ({ photos }) => {\r\n\r\n }\r\n });\r\n */\r\n async loadUnits(\r\n { commit, rootState },\r\n { startRecord = 1, recordCount = 10000, includeOwnerContacts = false } = {}\r\n ) {\r\n try {\r\n const params = {\r\n hoaID: rootState.user.selectedHoaId,\r\n includeOwnerContacts,\r\n startRecord,\r\n recordCount\r\n }\r\n const { results: units } = await kms.get('/Roster/Unit/List', { params })\r\n commit('save', { units })\r\n } catch (e) {\r\n notifyProblem(e)\r\n }\r\n },\r\n\r\n // Address List\r\n async loadDropDownAddressList(\r\n { commit, rootState },\r\n { startRecord = 1, recordCount = 10000, includeOwnerContacts = false } = {}\r\n ) {\r\n try {\r\n const params = {\r\n hoaID: rootState.user.selectedHoaId,\r\n includeOwnerContacts,\r\n startRecord,\r\n recordCount\r\n }\r\n const { results: addresses } = await kms.get('/Roster/Unit/List', { params })\r\n\r\n let dropDownAddresses = addresses\r\n .map(a => ({\r\n value: a.address ? a.address.addressID : '',\r\n label: a.address\r\n ? a.address.addressOne +\r\n ', ' +\r\n a.address.city +\r\n ' ' +\r\n a.address.state +\r\n ' ' +\r\n a.address.postalCode\r\n : '',\r\n unitID: a.unitID ? a.unitID : 0\r\n }))\r\n .filter(f => f.label.length > 0 && f.value > 0)\r\n .sort((a, b) => a.label - b.label)\r\n\r\n dropDownAddresses.unshift({ value: '', label: '<-Select Address->' })\r\n\r\n if (isDebug == true)\r\n console.debug('address drop down list=' + JSON.stringify(dropDownAddresses))\r\n\r\n commit('addressDropDownList', { dropDownAddresses })\r\n } catch (e) {\r\n notifyProblem(e)\r\n }\r\n },\r\n\r\n // Owners List\r\n async loadDropDownOwnersList(\r\n { commit, rootState },\r\n { startRecord = 1, recordCount = 10000, includeOwnerContacts = false, done = () => {} } = {}\r\n ) {\r\n try {\r\n const { results: owners } = await kms.get('/Roster/Unit/List', {\r\n params: {\r\n hoaID: rootState.user.selectedHoaId,\r\n includeOwnerContacts,\r\n startRecord,\r\n recordCount\r\n }\r\n })\r\n\r\n const dropDownOwners = owners\r\n .map(a => ({\r\n // value: a.primaryOwner ? a.primaryOwner.ownerID : '',\r\n value: _get(a, ['primaryOwner', 'ownerID'], ''),\r\n\r\n label: a.primaryOwner\r\n ? `${a.primaryOwner.name} - ${\r\n a.address && a.address != undefined && a.address.addressOne\r\n ? a.address.addressOne\r\n : ''\r\n }`\r\n : ''\r\n }))\r\n .filter(f => f.label.length > 0 && f.value > 0)\r\n\r\n // dropDownOwners.unshift({\r\n // value: '',\r\n // label: '<-Select Owner->'\r\n // })\r\n\r\n //var endArray = orderIds.sort((a,b) => orderIds.indexOf(a) - orderIds.indexOf(b));\r\n\r\n if (isDebug == true) console.debug('owner drop down list=' + JSON.stringify(dropDownOwners))\r\n\r\n commit('ownerDropDownList', { dropDownOwners })\r\n\r\n done({\r\n list: dropDownOwners\r\n })\r\n } catch (e) {\r\n notifyProblem(e)\r\n }\r\n },\r\n\r\n // Unit Details\r\n async loadUnit({ commit }, unitId) {\r\n try {\r\n const unit = await kms.get(`/Roster/Unit/${unitId}`)\r\n commit('save', { unit })\r\n } catch (e) {\r\n notifyProblem(e)\r\n }\r\n },\r\n\r\n // General Ledger Account List\r\n async loadGLAccounts({ commit, rootState }) {\r\n try {\r\n const params = { hoaID: rootState.user.selectedHoaId }\r\n const { results } = await kms.get('/GeneralLedger/Account/List', { params })\r\n\r\n // add display label and full-text search field to accounts\r\n const glAccounts = results.map(a => ({\r\n ...a,\r\n label: `${a.accountNumber}-${a.subAccountNumber.toString().padStart(3, '0')} - ${\r\n a.description\r\n }`,\r\n _search: `${a.accountNumber}-${a.subAccountNumber.toString().padStart(3, '0')}_${\r\n a.description\r\n }_${a.accountType}`.toLowerCase()\r\n }))\r\n\r\n commit('save', { glAccounts })\r\n } catch (e) {\r\n notifyProblem(e)\r\n }\r\n },\r\n\r\n /*\r\n const { list } = await this.$store.dispatch ('hoa/loadHoaAccountManagingUserList');\r\n */\r\n // Hoa Account Managing User List\r\n async loadHoaAccountManagingUserList({ commit, rootState }) {\r\n try {\r\n const params = { hoaID: rootState.user.selectedHoaId }\r\n\r\n const { results } = await kms.get(\r\n `/AccountSettings/HoaAccountManagingUser/List?hoaID=${params.hoaID}`,\r\n {\r\n params\r\n }\r\n )\r\n\r\n const dropDown = _cloneDeep(results)\r\n .sort(a => a.accountManagingUser.identityInformation.name)\r\n .map(a => ({\r\n value: a.hoaAccountManagingUserID ? a.hoaAccountManagingUserID : 0,\r\n label: a.accountManagingUser.identityInformation.name\r\n ? `${a.accountManagingUser.identityInformation.name}`\r\n : ''\r\n }))\r\n .filter(f => f.label.length > 0 && f.value > 0)\r\n\r\n dropDown.unshift({ value: '', label: '< Account Managing Users >' })\r\n\r\n if (isDebug == true)\r\n console.debug('loadHoaAccountManagingUserList dropDown=' + JSON.stringify(dropDown))\r\n\r\n commit('hoaAccountManagingUserList', { dropDown })\r\n\r\n return {\r\n list: _cloneDeep(results)\r\n }\r\n } catch (e) {\r\n notifyProblem(e)\r\n }\r\n\r\n return {\r\n list: []\r\n }\r\n },\r\n // General Ledger Account List\r\n async loadAssetGLAccountsList({ commit, rootState }) {\r\n try {\r\n const params = { hoaID: rootState.user.selectedHoaId }\r\n const { results } = await kms.get('/GeneralLedger/Account/List', { params })\r\n\r\n //filter results\r\n var filteredResults = results.filter(asset => asset.accountType.includes('Asset'))\r\n\r\n // add display label and full-text search field to accounts\r\n const glAssetAccountsList = filteredResults.map(a => ({\r\n value: a.accountId,\r\n label: `${a.accountNumber} - ${a.description}`\r\n }))\r\n\r\n glAssetAccountsList.unshift({ value: '', label: 'Asset Account' })\r\n\r\n commit('save', { glAssetAccountsList })\r\n } catch (e) {\r\n notifyProblem(e)\r\n }\r\n },\r\n\r\n // General Ledger Account List\r\n async loadInterestIncomeGLAccountsList({ commit, rootState }) {\r\n try {\r\n const params = { hoaID: rootState.user.selectedHoaId }\r\n const { results } = await kms.get('/GeneralLedger/Account/List', { params })\r\n\r\n //filter results\r\n //\r\n var filteredResults = results.filter(income => income.accountType.includes('Income'))\r\n\r\n // add display label and full-text search field to accounts\r\n const glInterestIncomeAccountsList = filteredResults.map(a => ({\r\n value: a.accountId,\r\n label: `${a.accountNumber} - ${a.description}`\r\n }))\r\n\r\n glInterestIncomeAccountsList.unshift({ value: '', label: 'Interest Income' })\r\n\r\n commit('save', { glInterestIncomeAccountsList })\r\n } catch (e) {\r\n notifyProblem(e)\r\n }\r\n },\r\n\r\n // GL Account Transaction List (Browse by date range)\r\n async loadGLAccountTransactions({ commit, rootState }, payload = {}) {\r\n try {\r\n const { accountID = null, filterStartDate = null, filterEndDate = null } = payload\r\n const hoaID = rootState.user.selectedHoaId\r\n if (!accountID) {\r\n // clear transactions\r\n return commit('save', { glAccountTransactions: null })\r\n }\r\n const startDate = filterStartDate && moment(filterStartDate).format(moment.HTML5_FMT.DATE)\r\n const endDate = filterEndDate && moment(filterEndDate).format(moment.HTML5_FMT.DATE)\r\n const path = '/GeneralLedger/Browser/TransactionListByDateRange'\r\n const params = { hoaID, accountID, startDate, endDate }\r\n const {\r\n transactions,\r\n beginningBalance,\r\n endingBalance,\r\n totalDebits,\r\n totalCredits,\r\n netChange\r\n } = await kms.get(path, { params })\r\n\r\n // add debit/credit amounts\r\n const glAccountTransactions = transactions.map(t => ({\r\n ...t,\r\n debitAmount: t.amount > 0 ? t.amount : null,\r\n creditAmount: t.amount < 0 ? t.amount : null,\r\n beginningBalance: beginningBalance,\r\n endingBalance: endingBalance,\r\n totalDebits: totalDebits,\r\n totalCredits: totalCredits,\r\n netChange: netChange\r\n }))\r\n\r\n console.log('gl trans=' + JSON.stringify(glAccountTransactions))\r\n\r\n return commit('save', { glAccountTransactions })\r\n } catch (e) {\r\n notifyProblem(e)\r\n }\r\n },\r\n\r\n async loadOwnerAccountTransactions({ commit, rootState }, payload = {}) {\r\n try {\r\n const hoaID = rootState.user.selectedHoaId\r\n const ownerID = payload.ownerID\r\n\r\n if (!ownerID) {\r\n // clear transactions\r\n return commit('save', { ownerAccountTransactions: null })\r\n }\r\n\r\n let { startDate = null, endDate = null } = payload\r\n startDate = startDate && moment(startDate).format(moment.HTML5_FMT.DATE)\r\n endDate = endDate && moment(endDate).format(moment.HTML5_FMT.DATE)\r\n\r\n const showWaiverSummaries = payload.showWaiverSummaries\r\n const path = '/AccountsReceivable/LedgerQueries/ARTransactionListByDateRange'\r\n const params = { hoaID, ownerID, startDate, endDate, showWaiverSummaries }\r\n const {\r\n arQueryTransactions: ownerAccountTransactions,\r\n arQueryChargeTypeBalances: ownerAccountChargeTypeBalances,\r\n balance: ownerAccountBalance\r\n } = await kms.get(path, { params })\r\n\r\n return commit('save', {\r\n ownerAccountTransactions,\r\n ownerAccountChargeTypeBalances,\r\n ownerAccountBalance\r\n })\r\n } catch (e) {\r\n notifyProblem(e)\r\n }\r\n }\r\n}\r\n\r\nconst getters = {\r\n // Owners List with _search key for use in auto-complete drop-down controls\r\n ownersList: ({ units }) =>\r\n units\r\n .filter(u => u.primaryOwner)\r\n .map(u => u.primaryOwner)\r\n .map(o => ({ ...o, _type: 'owner', _search: `owner_${o.name.toLowerCase()}` })),\r\n\r\n // Vendors List with _search key for use in auto-complete drop-down controls\r\n vendorsList: ({ vendors }) =>\r\n vendors.map(o => ({ ...o, _type: 'vendor', _search: `vendor_${o.name.toLowerCase()}` })),\r\n\r\n // Combined vendor and owner list\r\n payeesList: (state, { ownersList, vendorsList }) => [...ownersList, ...vendorsList],\r\n ownerDropDownList: () => state.ownerDropDownList,\r\n addressDropDownList: () => state.addressDropDownList,\r\n vendorDropDownList: () => state.vendorDropDownList,\r\n hoaAccountManagingUserList: () => state.hoaAccountManagingUserList\r\n}\r\n\r\nexport const hoa = {\r\n namespaced: true,\r\n state,\r\n mutations,\r\n actions,\r\n getters\r\n}\r\n","import kms from '@/services/kms'\r\n// import moment from 'moment'\r\n\r\nimport { ToastProgrammatic as Toast } from 'buefy'\r\n\r\nfunction notifyError(e) {\r\n Toast.open({\r\n duration: 7000,\r\n message: e.message || e,\r\n position: 'is-bottom',\r\n type: 'is-danger'\r\n })\r\n}\r\n\r\nconst state = {\r\n newInvoice: null,\r\n editInvoice: null,\r\n uploadedFile: null\r\n}\r\n\r\nconst mutations = {\r\n save(state, payload) {\r\n // console.log('Save state', payload)\r\n for (let prop in payload) {\r\n state[prop] = payload[prop]\r\n }\r\n }\r\n}\r\n\r\nconst actions = {\r\n // uploadDocument\r\n async uploadDocument({ commit, rootState }, file) {\r\n const { selectedHoaId } = rootState.user\r\n\r\n const formData = new FormData()\r\n formData.append('file', file)\r\n\r\n // create container if not exists\r\n try {\r\n const path = `/AccountsPayable/APInvoice/StoreInvoiceAttachment?hoaID=${selectedHoaId}`\r\n const uploadedFile = await kms.post(path, formData, {\r\n 'Content-Type': 'multipart/form-data'\r\n })\r\n commit('save', { uploadedFile })\r\n } catch (e) {\r\n notifyError(e)\r\n }\r\n }\r\n // initInvoice\r\n // create invoice\r\n\r\n // update invoice\r\n // add line item\r\n // update line item\r\n // delete line item\r\n}\r\n\r\nconst getters = {}\r\n\r\nexport const invoices = {\r\n namespaced: true,\r\n state,\r\n mutations,\r\n actions,\r\n getters\r\n}\r\n\r\n// const SAMPLE_INVOICE_DTO = {\r\n// apInvoiceID: 0,\r\n// hoaID: 0,\r\n// ownerID: 0,\r\n// vendorID: 0,\r\n// apPayeeID: 0,\r\n// invoiceDocumentID: 0,\r\n// invoiceNumber: 'string',\r\n// payeeInformation: 'string',\r\n// financialPeriod: 'string',\r\n// startDate: '2020-08-04T23:14:04.786Z',\r\n// endDate: '2020-08-04T23:14:04.786Z',\r\n// codingCompletedDate: '2020-08-04T23:14:04.786Z',\r\n// createdDate: '2020-08-04T23:14:04.786Z',\r\n// modifiedDate: '2020-08-04T23:14:04.786Z',\r\n// deletedDate: '2020-08-04T23:14:04.786Z',\r\n// invoiceDocument: {\r\n// documentId: 0,\r\n// filename: 'string',\r\n// version: 0,\r\n// containerID: 0,\r\n// contentType: 'string',\r\n// fileSize: 0,\r\n// description: 'string',\r\n// createdDate: '2020-08-04T23:14:04.786Z',\r\n// modifiedDate: '2020-08-04T23:14:04.786Z',\r\n// deletedDate: '2020-08-04T23:14:04.786Z'\r\n// },\r\n// apInvoiceApproval: {\r\n// apInvoiceApprovalID: 0,\r\n// apInvoiceStatusID: 0,\r\n// apInvoiceID: 0,\r\n// approvalDate: '2020-08-04T23:14:04.786Z',\r\n// createdDate: '2020-08-04T23:14:04.786Z',\r\n// modifiedDate: '2020-08-04T23:14:04.786Z',\r\n// deletedDate: '2020-08-04T23:14:04.786Z'\r\n// },\r\n// apInvoiceLineItems: [\r\n// {\r\n// apInvoiceLineItemID: 0,\r\n// apInvoiceID: 0,\r\n// glExpenseAccountId: 0,\r\n// amount: 0,\r\n// description: 'string',\r\n// createdDate: '2020-08-04T23:14:04.786Z',\r\n// modifiedDate: '2020-08-04T23:14:04.786Z',\r\n// deletedDate: '2020-08-04T23:14:04.786Z',\r\n// isBilled: true\r\n// }\r\n// ]\r\n// }\r\n","/*\r\n\r\n ...mapState({\r\n\t\tlayout: state => _get(state, ['layout'], null),\r\n\t\ttopNavHeight: state => _get(state, ['layout', 'topNav', 'height'], null)\r\n }),\r\n*/\r\n\r\n/*\r\n const layout = _get (this, ['$store', 'state', 'layout' ], {});\r\n*/\r\n\r\n/*\r\n (for testing purposes)\r\n import { layout } from '@/store/modules/layout.module'\r\n*/\r\n\r\nimport Vue from 'vue'\r\nimport Vuex from 'vuex'\r\n\r\nconst state = Object.freeze({\r\n topNav: {\r\n height: '4rem'\r\n }\r\n})\r\n\r\nVue.use(Vuex)\r\nexport const layout = new Vuex.Store({\r\n namespaced: true,\r\n state,\r\n mutations: {},\r\n actions: {},\r\n getters: {}\r\n})\r\n","/*\r\n import { unitIDIsValid } from '@/utilities/validate/unitID';\r\n*/\r\n\r\nexport const unitIDIsValid = function({ unitID }) {\r\n try {\r\n if (parseInt(unitID) < 1) {\r\n return false\r\n }\r\n } catch (exception) {\r\n return false\r\n }\r\n\r\n return true\r\n}\r\n","import asyncEachOf from 'async/eachOf'\r\n//\r\nimport kms from '@/services/kms'\r\nimport { notifyProblem } from '@/services/notify'\r\nimport { unitIDIsValid } from '@/utilities/validate/unitID'\r\n\r\nexport const mutations = {\r\n /*\r\n this.unsubscribe = this.$store.subscribe(mutation => {\r\n if (mutation.type === 'RosterUnitPhoto/list') {\r\n const { unitID, photos } = mutation.payload;\r\n\r\n\r\n }\r\n });\r\n */\r\n list(state, { unitID, photos }) {\r\n if (state.properties[unitID] === undefined) {\r\n state.properties[unitID] = {}\r\n }\r\n\r\n state.properties[unitID].photos = photos\r\n }\r\n}\r\n\r\nexport const actions = {\r\n /*\r\n this.$store.dispatch('RosterUnitPhoto/getList', {\r\n unitID,\r\n done: ({ photos }) => {\r\n\r\n }\r\n });\r\n */\r\n async getList({ commit }, { unitID, done = () => {} }) {\r\n if (!unitIDIsValid(unitID)) {\r\n console.error(`unitID is not valid`, unitID)\r\n return\r\n }\r\n\r\n var photos = []\r\n\r\n try {\r\n const { results } = await kms.get(`/Roster/UnitPhoto/List`, {\r\n params: {\r\n unitID\r\n }\r\n })\r\n\r\n photos = results\r\n } catch (exception) {\r\n notifyProblem(`The property photos could not be retrieved.`)\r\n console.error(exception)\r\n return\r\n }\r\n\r\n var problems = []\r\n asyncEachOf(\r\n photos,\r\n function(photo, index, done) {\r\n const { unitPhotoID } = photo\r\n\r\n ;(async () => {\r\n let photoData\r\n try {\r\n photoData = await kms.get(`/Roster/UnitPhoto/GetUnitPhotoFile`, {\r\n params: {\r\n unitPhotoID,\r\n asBase64: true\r\n }\r\n })\r\n } catch (exception) {\r\n problems.push({\r\n index,\r\n exception\r\n })\r\n\r\n photos[index].src = null\r\n\r\n done()\r\n return\r\n }\r\n\r\n photos[index].src = photoData\r\n\r\n done()\r\n })()\r\n },\r\n function(ex) {\r\n if (ex) {\r\n console.error(ex)\r\n console.error(problems)\r\n }\r\n\r\n commit('list', { unitID, photos })\r\n\r\n done({\r\n photos\r\n })\r\n }\r\n )\r\n }\r\n}\r\nexport const getters = {}\r\n\r\nexport const RosterUnitPhoto = {\r\n namespaced: true,\r\n state: {\r\n /*\r\n for example:\r\n properties [ '11777' ] = {\r\n photos: []\r\n }\r\n\r\n // photos list ^\r\n\r\n access:\r\n let photos = [];\r\n try {\r\n photos = this.$store.state.RosterUnitPhoto.properties [ unitID ].photos;\r\n }\r\n catch (exception) {\r\n console.error (exception)\r\n }\r\n */\r\n properties: {}\r\n },\r\n mutations,\r\n actions,\r\n getters\r\n}\r\n","/*\r\n import { logJSON } from '@/utilities/log/JSON'\r\n \r\n logJSON (object)\r\n \r\n logJSON (\"json:\", object)\r\n*/\r\n\r\n/*\r\n Convert an object to a string so that the console\r\n won't show a modified version if it's modified\r\n after being logged.\r\n \r\n Then, it converts it back into an object so that\r\n it if minified in the console.\r\n*/\r\n\r\nexport function logJSON() {\r\n // presumably this is the invoker function\r\n // console.log (Error().stack.split (\"\\n\")[2])\r\n\r\n if (arguments.length === 1) {\r\n console.log(JSON.parse(JSON.stringify(arguments[0], null, 2)))\r\n return\r\n }\r\n\r\n if (arguments.length === 2) {\r\n console.log(arguments[0], JSON.parse(JSON.stringify(arguments[1], null, 2)))\r\n return\r\n }\r\n}\r\n","/*\r\n\timport { hasKey } from '@/utilities/Object/hasKey'\r\n hasKey ({}, '')\r\n*/\r\n\r\nexport function hasKey(obj, key) {\r\n try {\r\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\r\n return true\r\n }\r\n } catch (l) {\r\n console.error(l)\r\n }\r\n\r\n return false\r\n}\r\n","/*\r\n\r\n\r\n*/\r\n\r\nimport kms from '@/services/kms'\r\nimport { notifyError } from '@/services/notify'\r\nimport { logJSON } from '@/utilities/log/JSON'\r\n\r\nimport _get from 'lodash/get'\r\n\r\nconst isDebug = true\r\nimport { hasKey } from '@/utilities/Object/hasKey'\r\n\r\nexport async function getSubscriptionHoaFeatures({ commit, rootState }, payload = {}) {\r\n try {\r\n let response = await kms.get(`/Subscriptions/HoaFeature/List`, {\r\n params: {\r\n hoaID: rootState.user.selectedHoaId,\r\n //\r\n ...(hasKey(payload, 'subscriptionID')\r\n ? {\r\n subscriptionID: payload.subscriptionID\r\n }\r\n : {}),\r\n //\r\n ...(hasKey(payload, 'addOnsOnly')\r\n ? {\r\n addOnsOnly: payload.addOnsOnly\r\n }\r\n : {})\r\n }\r\n })\r\n\r\n const hoaFeatures = _get(response, 'results', [])\r\n\r\n if (isDebug == true) {\r\n logJSON('HOA Subscription Features', response)\r\n }\r\n\r\n if (response && payload.addOnsOnly && payload.addOnsOnly != undefined) {\r\n commit('hoaAddOnFeatures', hoaFeatures)\r\n }\r\n\r\n commit('hoaFeatures', hoaFeatures)\r\n } catch (e) {\r\n notifyError(e)\r\n }\r\n}\r\n","import { notifyError } from '@/services/notify'\r\nimport kms from '@/services/kms'\r\nimport { logJSON } from '@/utilities/log/JSON'\r\n\r\nconst isDebug = false\r\n\r\n/*\r\n await this.$store.dispatch('subscription/getHoaSubscription')\r\n*/\r\nexport async function getHoaSubscription({ commit, rootState }) {\r\n try {\r\n const subscription = await kms.get(`/Subscriptions/Subscription/GetByHoa`, {\r\n params: {\r\n hoaID: rootState.user.selectedHoaId\r\n }\r\n })\r\n\r\n if (isDebug == true) {\r\n logJSON('getHoaSubscription:', subscription)\r\n }\r\n\r\n commit('subscription', subscription)\r\n } catch (e) {\r\n console.error(e)\r\n notifyError(e)\r\n }\r\n}\r\n","//\r\n\r\nimport { notifyError } from '@/services/notify'\r\nimport kms from '@/services/kms'\r\n\r\nimport _get from 'lodash/get'\r\n\r\nimport { getSubscriptionHoaFeatures } from './routines/getSubscriptionHoaFeatures'\r\nimport { getHoaSubscription } from './routines/getHoaSubscription'\r\n\r\n//\r\n\r\nconst isDebug = false\r\n\r\nexport const actions = {\r\n getHoaSubscription,\r\n getSubscriptionHoaFeatures,\r\n\r\n // G/L Expense Account List\r\n async loadGlExpenseAccountList({ commit, rootState }) {\r\n try {\r\n const params = {\r\n hoaID: rootState.user.selectedHoaId,\r\n hasExpenseOnly: true\r\n }\r\n const { results: accounts } = await kms.get('/GeneralLedger/Account/List', {\r\n params\r\n })\r\n\r\n //Convert to a drop-down for vee-validate select\r\n const glExpenseAccounts = accounts.map(({ accountId: value, description: label }) => ({\r\n value,\r\n label\r\n }))\r\n glExpenseAccounts.unshift({ value: '', label: '-Select G/L Expense Account-' })\r\n\r\n if (isDebug == true) {\r\n console.debug('gl Expense accounts=' + JSON.stringify(glExpenseAccounts))\r\n }\r\n\r\n commit('save', { glExpenseAccounts })\r\n } catch (e) {\r\n notifyError(e)\r\n }\r\n },\r\n\r\n async getApSetting({ commit, rootState }) {\r\n try {\r\n const params = {\r\n hoaID: rootState.user.selectedHoaId\r\n }\r\n\r\n const path = `/AccountsPayable/APSetting/GetByHOAID?hoaID=${params.hoaID}`\r\n if (isDebug == true) console.debug('getApSetting path=' + path)\r\n\r\n const result = await kms.get(path)\r\n\r\n if (isDebug == true) console.debug('apSetting=' + JSON.stringify(result))\r\n\r\n commit('apSetting', result)\r\n } catch (e) {\r\n notifyError(e)\r\n }\r\n },\r\n\r\n async getCurrentMonthlyBillAmount({ commit, rootState }) {\r\n try {\r\n const params = {\r\n hoaID: rootState.user.selectedHoaId\r\n }\r\n\r\n const path = `/Subscriptions/SubscriptionReceipt/GetCurrentMonthlyBilling?hoaID=${params.hoaID}`\r\n if (isDebug == true) console.debug('getCurrentMonthlyBillAmount path=' + path)\r\n\r\n const currentBillAmount = await kms.get(path)\r\n\r\n if (isDebug == true) console.debug('getCurrentMonthlyBillAmount=' + currentBillAmount)\r\n\r\n commit('currentMonthlyBillAmount', currentBillAmount)\r\n } catch (e) {\r\n notifyError(e)\r\n }\r\n },\r\n\r\n /*\r\n Gets a list of possible subscriptions:\r\n \r\n parameters:\r\n isHidden: bool\r\n isArchived: bool\r\n */\r\n async getSubscriptionList({ commit, rootState }) {\r\n try {\r\n const params = {\r\n hoaID: rootState.user.selectedHoaId\r\n }\r\n\r\n const path = `/Subscriptions/Subscription/List?hoaID=${params.hoaID}`\r\n if (isDebug == true) console.debug('path=' + path)\r\n\r\n const results = await kms.get(path)\r\n\r\n if (isDebug == true) console.debug('getSubscriptionList=' + JSON.stringify(results))\r\n\r\n commit('subscriptionList', results)\r\n } catch (e) {\r\n notifyError(e)\r\n }\r\n },\r\n\r\n async getSubscriptionReceiptList({ commit, rootState }) {\r\n try {\r\n const params = {\r\n hoaID: rootState.user.selectedHoaId\r\n }\r\n\r\n const path = `/Subscriptions/SubscriptionReceipt/List?hoaID=${params.hoaID}`\r\n if (isDebug == true) console.debug('path=' + path)\r\n\r\n const response = await kms.get(path)\r\n const results = _get(response, 'results', [])\r\n\r\n if (isDebug == true) console.debug('getSubscriptionReceiptList=' + JSON.stringify(response))\r\n\r\n commit('subscriptionReceipts', results)\r\n } catch (e) {\r\n notifyError(e)\r\n }\r\n },\r\n\r\n async getSubscriptionAddOnHoaFeatures({ commit, rootState }, payload = {}) {\r\n try {\r\n let params = {\r\n hoaID: rootState.user.selectedHoaId,\r\n addOnsOnly: true\r\n }\r\n\r\n let path = `/Subscriptions/HoaFeature/List?hoaID=${params.hoaID}`\r\n if (payload && payload != undefined) {\r\n if (payload.subscriptionID && payload.subscriptionID != undefined) {\r\n params.subscriptionID = payload.subscriptionID\r\n path += `&subscriptionID=${params.subscriptionID}`\r\n }\r\n\r\n path += `&addOnsOnly=${params.addOnsOnly}`\r\n }\r\n\r\n if (isDebug == true) console.debug('getSubscriptionHoaFeatures path=' + path)\r\n\r\n let results = await kms.get(path)\r\n\r\n if (isDebug == true) console.debug('getSubscriptionHoaFeatures=' + JSON.stringify(results))\r\n\r\n commit('hoaAddOnFeatures', results)\r\n } catch (e) {\r\n notifyError(e)\r\n }\r\n },\r\n\r\n setDTO({ commit }, blob) {\r\n commit('DTO', blob)\r\n }\r\n}\r\n","/* \r\n const hoaAddOnFeatures = _get(this, ['$store', 'getters', 'subscription/hoaAddOnFeatures'], null);\r\n const hoaFeatures = _get(this, ['$store', 'getters', 'subscription/hoaFeatures'], null);\r\n*/\r\n\r\n/*\r\n localStorage.setItem (\"subscriptions\", \"filter\");\r\n localStorage.setItem (\"subscriptions\", \"\");\r\n*/\r\nlet filterFeatures = false\r\ntry {\r\n const subscriptions = localStorage.getItem('subscriptions')\r\n if (subscriptions === 'filter') {\r\n filterFeatures = true\r\n }\r\n} catch (problem) {\r\n console.warn(problem)\r\n}\r\n\r\nimport { hasKey } from '@/utilities/Object/hasKey'\r\n\r\nexport const getters = {\r\n DTO: _state => _state.DTO,\r\n //\r\n subscription: _state => _state.subscription,\r\n subscriptionList: _state => _state.subscriptionList,\r\n //\r\n hoaFeatures: _state => _state.hoaFeatures,\r\n parsedHOAFeatures: _state => _state.parsedHOAFeatures,\r\n //\r\n hoaAddOnFeatures: _state => _state.hoaAddOnFeatures,\r\n //\r\n /*\r\n this.$store.getters['subscription/hasHOAFeature'] (57)\r\n \r\n \r\n ???\r\n import store from '@/store'\r\n store.getters['subscription/hasHOAFeature'] (57)\r\n */\r\n hasHOAFeature: state => featureId => {\r\n if (filterFeatures === false) {\r\n return true\r\n }\r\n\r\n try {\r\n if (\r\n hasKey(state.parsedHOAFeatures, featureId) ||\r\n hasKey(state.parsedHOAFeatures, parseInt(featureId))\r\n ) {\r\n return true\r\n }\r\n } catch (p) {\r\n console.error(p)\r\n }\r\n\r\n return false\r\n },\r\n //\r\n subscriptionReceipts: _state => _state.subscriptionReceipts,\r\n currentMonthlyBillAmount: _state => _state.currentMonthlyBillAmount,\r\n apSetting: _state => _state.apSetting,\r\n glExpenseAccounts: _state => _state.glExpenseAccounts\r\n}\r\n","/*\r\n import { parseInteger } from '@/utilities/parse/Integer'\r\n\r\n const _integer = parseInteger (value)\r\n*/\r\n\r\n/*\r\n Description:\r\n \r\n An attempt is made to parse \"value\" into an integer.\r\n \r\n If an integer form of \"value\" cannot be determined,\r\n the unmodified input \"value\" is returned.\r\n*/\r\nexport const parseInteger = function(value) {\r\n var result = ''\r\n\r\n try {\r\n result = parseInt(value)\r\n } catch (x) {\r\n console.error(x)\r\n }\r\n\r\n if (Number.isInteger(result)) {\r\n return result\r\n }\r\n\r\n return value\r\n}\r\n","/*\r\n import { parseHOAFeatures } from '@/utilities/Subscriptions/hoaFeatures/parse'\r\n \r\n const parsedHOAFeatures = parseHOAFeatures ({\r\n hoaFeatures\r\n })\r\n*/\r\n\r\nimport _get from 'lodash/get'\r\nimport { parseInteger } from '@/utilities/parse/Integer'\r\n\r\nexport function parseHOAFeatures({ hoaFeatures }) {\r\n const features = {}\r\n\r\n console.log('parseHOAFeatures', { hoaFeatures })\r\n\r\n hoaFeatures.forEach(f => {\r\n const id = parseInteger(_get(f, 'featureID', ''))\r\n\r\n if (typeof id === 'number') {\r\n features[id] = f\r\n } else {\r\n console.error(`An hoa feature didn't have an id`)\r\n }\r\n })\r\n\r\n return features\r\n}\r\n","import { parseHOAFeatures } from '@/utilities/Subscriptions/hoaFeatures/parse'\r\n\r\nconst isDebug = false\r\n\r\nexport const mutations = {\r\n DTO(state, payload) {\r\n const merge = Object.assign({}, state.DTO, payload)\r\n state.DTO = merge\r\n\r\n if (isDebug == true) console.debug('subscription.state.DTO: ', state.DTO)\r\n },\r\n save(state, payload) {\r\n for (let prop in payload) {\r\n state[prop] = payload[prop]\r\n }\r\n },\r\n subscription(state, payload) {\r\n state.subscription = payload\r\n },\r\n apSetting(state, payload) {\r\n state.apSetting = payload\r\n },\r\n currentMonthlyBillAmount(state, payload) {\r\n state.currentMonthlyBillAmount = payload\r\n },\r\n subscriptionList(state, payload) {\r\n state.subscriptionList = payload\r\n },\r\n hoaFeatures(state, payload) {\r\n state.hoaFeatures = payload\r\n state.parsedHOAFeatures = parseHOAFeatures({\r\n hoaFeatures: payload\r\n })\r\n },\r\n hoaAddOnFeatures(state, payload) {\r\n state.hoaAddOnFeatures = payload\r\n },\r\n subscriptionReceipts(state, payload) {\r\n state.subscriptionReceipts = payload\r\n },\r\n glExpenseAccounts(state, payload) {\r\n state.glExpenseAccounts = payload\r\n }\r\n}\r\n","/*\r\n\r\n*/\r\n\r\nconst DTO = {\r\n createdDate: new Date(),\r\n deletedDate: null,\r\n modifiedDate: new Date(),\r\n //\r\n subscriptionID: 0,\r\n subscriptionGroupID: 0,\r\n //\r\n isHidden: false,\r\n isArchived: false,\r\n //\r\n type: '',\r\n name: '',\r\n description: '',\r\n subscriptionFeatures: [{}],\r\n //\r\n isMonthlySubscription: false,\r\n monthlyCost: 0,\r\n yearlyCost: 0,\r\n //\r\n expirationDate: null\r\n}\r\n\r\nexport const state = {\r\n DTO: DTO,\r\n subscriptionList: [],\r\n //\r\n subscription: null,\r\n //\r\n hoaFeatures: [],\r\n parsedHOAFeatures: {},\r\n //\r\n hoaAddOnFeatures: [],\r\n //\r\n subscriptionReceipts: [],\r\n //\r\n currentMonthlyBillAmount: 0,\r\n apSetting: null,\r\n //\r\n glExpenseAccounts: []\r\n}\r\n","/*\r\n this.$store.dispatch('subscription/getHoaSubscription')\r\n*/\r\n\r\nimport { actions } from './actions'\r\nimport { getters } from './keys/getters'\r\nimport { mutations } from './keys/mutations'\r\nimport { state } from './keys/state'\r\n\r\nexport const subscription = {\r\n namespaced: true,\r\n state,\r\n mutations,\r\n actions,\r\n getters\r\n}\r\n","/*\r\n import { mapState } from 'vuex'\r\n\r\n // computed\r\n ...mapState({\r\n theme: state => state.theme\r\n }),\r\n*/\r\n\r\n/*\r\n const theme = _get (this, ['$store', 'state', 'theme' ], {});\r\n*/\r\n\r\n/*\r\n (for testing purposes)\r\n import { theme } from '@/store/modules/theme.module'\r\n*/\r\n\r\n/*\r\n Relevant:\r\n src/assets/_variables.scss\r\n*/\r\n\r\n/*\r\n Possibilities:\r\n document.cookie.theme = \"beryllonite\"\r\n document.cookie.theme = \"obsidian\"\r\n*/\r\n\r\nimport Vue from 'vue'\r\nimport Vuex from 'vuex'\r\n\r\nconst beryllonite = Object.freeze({\r\n shadow: Object.freeze({\r\n regular: '0 1px 3px 0 rgba(0, 0, 0, 0.21), 0 1px 2px 0 rgba(0, 0, 0, 0.16)'\r\n }),\r\n\r\n colors: Object.freeze({\r\n mainGradient: `linear-gradient(to bottom, #123075, #092056)`\r\n }),\r\n\r\n // color palette\r\n // reflected in @/assets/styles/_variables.scss\r\n color: Object.freeze({\r\n // pupleish\r\n //\r\n //\r\n 1: `#123075`,\r\n\r\n //\r\n // white\r\n // cards\r\n //\r\n 2: `#fff`,\r\n\r\n // black\r\n //\r\n //\r\n 3: `#000`,\r\n\r\n // red\r\n //\r\n //\r\n 4: `#f14668`,\r\n\r\n // light grey\r\n 5: `#aaa`,\r\n\r\n 6: `#0f4b98`,\r\n\r\n //\r\n // blue\r\n 7: `#39f`,\r\n\r\n 8: `#838383`,\r\n\r\n 9: `#eeebeb`,\r\n\r\n // $body-background-color\r\n 10: `#fafafa`\r\n })\r\n})\r\n\r\n/*\r\nconst obsidian = Object.freeze({\r\n shadow: Object.freeze({\r\n regular: '0 1px 3px 0 rgba(0, 0, 0, 0.21), 0 1px 2px 0 rgba(0, 0, 0, 0.16)'\r\n }),\r\n\r\n colors: Object.freeze({\r\n mainGradient: `linear-gradient(to bottom, #123075, #092056)`\r\n }),\r\n\r\n // color palette\r\n // reflected in @/assets/styles/_variables.scss\r\n color: Object.freeze({\r\n // pupleish\r\n 1: `#123075`,\r\n\r\n 2: `#fff`,\r\n\r\n 3: `#000`,\r\n\r\n 4: `#f14668`,\r\n 5: `#aaa`,\r\n 6: `#0f4b98`,\r\n 7: `#39f`,\r\n 8: `#838383`,\r\n 9: `#eeebeb`,\r\n\r\n // $body-background-color\r\n 10: `#060606`\r\n })\r\n})\r\n*/\r\n\r\nVue.use(Vuex)\r\nexport const theme = new Vuex.Store({\r\n namespaced: true,\r\n state: beryllonite,\r\n mutations: {},\r\n actions: {},\r\n getters: {}\r\n})\r\n","import { ToastProgrammatic as Toast } from 'buefy'\r\nimport kms from '@/services/kms'\r\n\r\nconst isDebug = false\r\n\r\nfunction notifyError(e) {\r\n Toast.open({\r\n duration: 7000,\r\n message: e.message || e,\r\n position: 'is-bottom',\r\n type: 'is-danger'\r\n })\r\n}\r\n\r\nconst state = {\r\n statesList: [{}],\r\n ownerUnit: null,\r\n selectedUnitId: null,\r\n selectedOwnerId: null,\r\n selectedHoaId: null,\r\n unitImageBase64: ''\r\n}\r\n\r\nconst mutations = {\r\n save(state, payload) {\r\n for (let prop in payload) {\r\n state[prop] = payload[prop]\r\n }\r\n },\r\n statesList(state, payload) {\r\n state.statesList = payload\r\n },\r\n ownerUnit(state, payload) {\r\n state.ownerUnit = payload\r\n },\r\n setUnitId(state, id) {\r\n state.selectedUnitId = id\r\n },\r\n setUnitImageBase64(state, payload) {\r\n state.unitImageBase64 = payload\r\n }\r\n}\r\n\r\nconst actions = {\r\n async getStatesList({ commit }, payload) {\r\n try {\r\n let { results: states } = await kms.get('/States/State/List')\r\n\r\n if (isDebug == true) console.debug('payload=' + JSON.stringify(payload))\r\n\r\n let dropdownStates = [{}]\r\n\r\n if (\r\n payload &&\r\n payload.useAbbreviated &&\r\n payload.useAbbreviated != undefined &&\r\n payload.useAbbreviated == true\r\n ) {\r\n dropdownStates = states.map(({ abbreviation: value, name: label }) => ({\r\n value,\r\n label\r\n }))\r\n dropdownStates.unshift({ value: '', label: '<-Select State->' })\r\n } else {\r\n dropdownStates = states.map(({ stateID: value, name: label }) => ({\r\n value,\r\n label\r\n }))\r\n dropdownStates.unshift({ value: '', label: '<-Select State->' })\r\n }\r\n\r\n if (isDebug == true) console.debug('state=' + JSON.stringify(dropdownStates))\r\n\r\n commit('statesList', dropdownStates)\r\n } catch (e) {\r\n notifyError(e)\r\n }\r\n },\r\n\r\n async getDefaultUnitImage({ commit }, payload) {\r\n if (isDebug == true) console.debug('in getDefaultUnitImage...')\r\n try {\r\n if (payload && payload != undefined && payload.unitID !== undefined && payload.unitID) {\r\n if (isDebug == true) {\r\n console.debug('getDefaultUnitImage payload=' + JSON.stringify(payload))\r\n }\r\n\r\n const params = {\r\n unitID: payload.unitID,\r\n asBase64: true\r\n }\r\n\r\n const defaultImage = await kms.get(`/Roster/Unit/RetrieveUnitImage`, {\r\n params\r\n })\r\n\r\n if (isDebug == true) {\r\n console.debug('getDefaultUnitImage in unit.module=' + JSON.stringify(defaultImage))\r\n }\r\n\r\n commit('setUnitImageBase64', defaultImage)\r\n }\r\n } catch (e) {\r\n console.debug(e)\r\n }\r\n }\r\n}\r\n\r\nconst getters = {\r\n statesList: () => state.statesList,\r\n ownerUnit: () => state.ownerUnit,\r\n unitId: ({ selectedUnitId }) => selectedUnitId,\r\n unitImageBase64: ({ unitImageBase64 }) => unitImageBase64\r\n}\r\n\r\nexport const unit = {\r\n namespaced: true,\r\n state,\r\n mutations,\r\n actions,\r\n getters\r\n}\r\n","import Vue from 'vue'\r\nimport VueI18n from 'vue-i18n'\r\n\r\nVue.use(VueI18n)\r\n\r\nfunction loadLocaleMessages() {\r\n return {\r\n en: require('./locales/en.json'),\r\n es: require('./locales/es.json')\r\n }\r\n}\r\n\r\nexport default new VueI18n({\r\n locale: process.env.VUE_APP_I18N_LOCALE || 'en',\r\n fallbackLocale: process.env.VUE_APP_I18N_FALLBACK_LOCALE || 'en',\r\n messages: loadLocaleMessages()\r\n})\r\n","import i18n from '@/i18n'\r\n\r\nexport const startingState = Object.freeze({\r\n //\r\n // Currently logged-in user\r\n authUser: null,\r\n authUserV2: null,\r\n //\r\n // Has auth been initialized?\r\n authReady: false,\r\n //\r\n // feedback from auth service\r\n authError: null,\r\n\r\n //\r\n authLoading: false,\r\n\r\n //\r\n selectedLocale: i18n.locale,\r\n\r\n //\r\n selectedHoaId: 0,\r\n\r\n //\r\n homeownerSelectedUnit: {},\r\n\r\n //\r\n managementSelectedHoa: {},\r\n\r\n //\r\n ownerUnitList: [{}],\r\n\r\n //\r\n retrieveUser: null,\r\n\r\n //\r\n authUserType: '',\r\n\r\n //\r\n requiresTwoFactor: []\r\n})\r\n","import dataToInteger from '@/utilities/data/toInteger'\r\nimport { appId } from '@/config'\r\nimport _get from 'lodash/get'\r\n\r\nexport const getters = {\r\n /*\r\n ...mapGetters('user', [ 'authUserType' ]),\r\n\r\n const authUserType = _get(this, ['$store', 'getters', 'user/authUserType'], null);\r\n\r\n \"HomeOwner\" - Homeowner Portal\r\n\r\n \"Account\" - Board or Management Portal\r\n\r\n \"VendorUser\" - Vendor\r\n */\r\n authUserType: ({ authUserType }) => authUserType,\r\n\r\n /*\r\n Probably should use one of these to get the current ownerID:\r\n ...mapGetters('user', ['currentHoaId', 'currentUnitId', 'currentOwnerId'])\r\n \r\n const ownerID = _get(this, ['$store', 'state', 'user', 'homeownerSelectedUnit', 'ownerId' ], null)\r\n \r\n These might be deprecated, and not accurate?:\r\n const authUser = _get(this, ['$store', 'getters', 'user/authUser'], null);\r\n const ownerID = _get(this, ['$store', 'getters', 'user/authUser', 'ownerID' ], null);\r\n */\r\n authUser: ({ authUser }) => authUser,\r\n retrieveUser: ({ retrieveUser }) => retrieveUser,\r\n loggedIn: ({ authUser }) => authUser !== null,\r\n authReady: ({ authReady }) => authReady,\r\n authError: ({ authError }) => authError,\r\n authLoading: ({ authLoading }) => authLoading,\r\n\r\n /*\r\n const hoaId = _get(this, ['$store', 'getters', 'user/hoaId'], null);\r\n */\r\n hoaId: ({ selectedHoaId }) => selectedHoaId,\r\n\r\n requiresTwoFactor: ({ requiresTwoFactor }) => requiresTwoFactor,\r\n /*\r\n const hoaID = _get(this, ['$store', 'getters', 'user/hoaIDInteger'], null);\r\n */\r\n hoaIDInteger: ({ selectedHoaId }) => {\r\n return dataToInteger(selectedHoaId)\r\n },\r\n currentHoaId: ({ homeownerSelectedUnit, selectedHoaId }) => {\r\n let myHoaId = selectedHoaId\r\n if (appId() == 'homeowner') {\r\n myHoaId = homeownerSelectedUnit.hoaId\r\n\r\n console.debug('homeowner currentHoaId=' + homeownerSelectedUnit.hoaId)\r\n } else {\r\n myHoaId = dataToInteger(selectedHoaId)\r\n console.debug('else currentHoaId=' + dataToInteger(selectedHoaId))\r\n }\r\n\r\n if (myHoaId === undefined || !myHoaId || myHoaId <= 0) {\r\n myHoaId = selectedHoaId\r\n }\r\n\r\n return myHoaId\r\n },\r\n currentUnitId: ({ homeownerSelectedUnit }) => {\r\n console.log('getting currentUnitId', { homeownerSelectedUnit })\r\n\r\n return _get(homeownerSelectedUnit, 'unitId', '')\r\n },\r\n currentOwnerId: ({ homeownerSelectedUnit, authUser }) =>\r\n homeownerSelectedUnit.ownerId ? homeownerSelectedUnit.ownerId : authUser.ownerID,\r\n\r\n // ownerUnitList: () => state.ownerUnitList\r\n ownerUnitList: function(state) {\r\n return state.ownerUnitList\r\n }\r\n}\r\n","/*\r\n Parses the user & determines the selected HOA Id\r\n*/\r\n\r\nimport uniqBy from 'lodash/uniqBy'\r\n\r\nimport { logJSON } from '@/utilities/log/JSON'\r\nimport { notifyError } from '@/services/notify'\r\n\r\nconst isDebug = true\r\n\r\n/*\r\n Use the localStorage HOA Id if:\r\n there is one and\r\n that localStorage HOA Id is in the user's associations array\r\n \r\n otherwise:\r\n use the HOA at index 0 of the associations array.\r\n \r\n*/\r\nfunction selectHOA({ parsedUser, associations }) {\r\n let storedHOAId = null\r\n try {\r\n storedHOAId = parseInt(localStorage['hoaID'])\r\n } catch (x) {\r\n // error -> stays as null\r\n }\r\n\r\n if (Array.isArray(associations) && associations.length) {\r\n let useStoredId = false\r\n\r\n if (storedHOAId > 1) {\r\n for (let a = 0; a < associations.length; a++) {\r\n const association = associations[a]\r\n const hoaID = association.hoaID\r\n\r\n if (hoaID === storedHOAId) {\r\n useStoredId = true\r\n break\r\n }\r\n }\r\n\r\n if (!useStoredId) {\r\n localStorage.removeItem('hoaID')\r\n }\r\n }\r\n\r\n if (useStoredId) {\r\n return storedHOAId\r\n }\r\n\r\n return parsedUser.associations[0].hoaID\r\n } else {\r\n // TODO: ??\r\n // Maybe there should be an error page for this.. and similar errors..\r\n notifyError('vital error, no associations found linked to the user.')\r\n }\r\n\r\n return null\r\n}\r\n\r\nexport async function setUser(state, payload) {\r\n state.authReady = true\r\n state.authLoading = false\r\n\r\n /*\r\n ? For logout purposes ??\r\n */\r\n if (payload == null) {\r\n state.authUser = null\r\n return\r\n }\r\n\r\n const {\r\n email,\r\n accountManagingUser,\r\n associations,\r\n name,\r\n ownerUser,\r\n adminUser,\r\n vendorUser,\r\n userType,\r\n aspNetUserID\r\n } = payload\r\n if (isDebug == true) {\r\n logJSON('setUser:', payload)\r\n }\r\n\r\n // parse user data\r\n const parsedUser = {\r\n ...accountManagingUser,\r\n ...ownerUser,\r\n ...adminUser,\r\n ...vendorUser,\r\n name,\r\n email,\r\n userType,\r\n aspNetUserID,\r\n associations: uniqBy(associations, 'hoaID')\r\n }\r\n if (isDebug == true) {\r\n logJSON('parsed user:', parsedUser)\r\n }\r\n\r\n state.authUser = parsedUser\r\n state.authUserType = userType\r\n state.selectedHoaId = selectHOA({\r\n parsedUser,\r\n associations\r\n })\r\n\r\n console.log('selectedHoaId:', state.selectedHoaId)\r\n\r\n return {\r\n selectedHoaId: state.selectedHoaId\r\n }\r\n}\r\n","import i18n from '@/i18n'\r\n\r\nimport { setUser } from './routines/setUser'\r\n\r\nexport const mutations = {\r\n //\r\n setUser,\r\n\r\n retrieveUser(state, payload) {\r\n state.retrieveUser = payload\r\n },\r\n\r\n setError(state, payload) {\r\n state.authError = payload\r\n state.authUser = null\r\n state.authReady = true\r\n state.authLoading = false\r\n },\r\n\r\n startLoading(state) {\r\n state.authLoading = true\r\n },\r\n\r\n setLocale(state, payload) {\r\n state.selectedLocale = payload\r\n i18n.locale = payload\r\n },\r\n\r\n setHoaId(state, id) {\r\n state.selectedHoaId = id\r\n },\r\n setRequiresTwoFactor(state, payload) {\r\n state.requiresTwoFactor = payload\r\n },\r\n setHomeownerSelectedUnit(state, unit) {\r\n console.log('setHomeownerSelectedUnit', { unit })\r\n state.homeownerSelectedUnit = unit\r\n },\r\n ownerUnitList(state, payload) {\r\n state.ownerUnitList = payload\r\n }\r\n}\r\n","/*\r\n Parses the user & determines the selected HOA Id\r\n*/\r\n\r\nimport uniqBy from 'lodash/uniqBy'\r\nimport cloneDeep from 'lodash/cloneDeep'\r\nimport { logJSON } from '@/utilities/log/JSON'\r\n\r\nconst isDebug = false\r\n\r\n/*\r\n Use the localStorage HOA Id if:\r\n there is one and\r\n that localStorage HOA Id is in the user's associations array\r\n \r\n otherwise:\r\n use the HOA at index 0 of the associations array.\r\n*/\r\nfunction selectHOA({ associations }) {\r\n let storedHOAId = null\r\n try {\r\n storedHOAId = parseInt(localStorage['hoaID'])\r\n } catch (x) {\r\n // error -> stays as null\r\n }\r\n\r\n if (Array.isArray(associations) && associations.length) {\r\n let useStoredId = false\r\n\r\n if (storedHOAId > 1) {\r\n for (let a = 0; a < associations.length; a++) {\r\n const association = associations[a]\r\n const hoaID = association.hoaID\r\n\r\n if (hoaID === storedHOAId) {\r\n useStoredId = true\r\n break\r\n }\r\n }\r\n\r\n if (!useStoredId) {\r\n localStorage.removeItem('hoaID')\r\n }\r\n }\r\n\r\n if (useStoredId) {\r\n return storedHOAId\r\n }\r\n\r\n return associations[0].hoaID\r\n } else {\r\n // TODO: ??\r\n // Maybe there should be an error page for this.. and similar errors..\r\n console.debug('critical error, no associations found linked to the user.')\r\n }\r\n\r\n return null\r\n}\r\n\r\nexport async function setUser({ state }, payload) {\r\n state.authReady = true\r\n state.authLoading = false\r\n\r\n /*\r\n ? For logout purposes ??\r\n */\r\n if (payload == null) {\r\n state.authUser = null\r\n return\r\n }\r\n\r\n const {\r\n accountManagingUser,\r\n ownerUser,\r\n ownerUsers,\r\n adminUser,\r\n vendorUser,\r\n email,\r\n name,\r\n userType,\r\n aspNetUserID,\r\n associations\r\n } = payload\r\n if (isDebug == true) {\r\n logJSON('setUser:', payload)\r\n }\r\n\r\n //\r\n // filters out associations that have the\r\n // same hoaId\r\n const filteredAssociations = uniqBy(associations, 'hoaID')\r\n\r\n state.authUser = {\r\n ...accountManagingUser,\r\n ...ownerUser,\r\n ownerUsers,\r\n ...adminUser,\r\n ...vendorUser,\r\n name,\r\n email,\r\n userType,\r\n aspNetUserID,\r\n associations: filteredAssociations\r\n }\r\n\r\n state.authUserV2 = cloneDeep(payload)\r\n state.authUserV2.filteredAssociations = filteredAssociations\r\n state.authUserType = userType\r\n state.selectedHoaId = selectHOA({\r\n associations: filteredAssociations\r\n })\r\n\r\n return {\r\n selectedHoaId: state.selectedHoaId\r\n }\r\n}\r\n","import i18n from '@/i18n'\r\nimport isEmail from 'validator/es/lib/isEmail'\r\nimport auth from '@/services/_auth'\r\n\r\n/*\r\n await store.dispatch('user/login', {\r\n email: EMAIL,\r\n password: PASSWORD\r\n })\r\n*/\r\nexport async function login({ commit, dispatch }, payload) {\r\n const { email, password } = payload\r\n commit('setError', null)\r\n\r\n // Validate inputs\r\n if (!isEmail(email)) {\r\n return commit('setError', i18n.t('auth.validation.email'))\r\n } else if (!password) {\r\n return commit('setError', i18n.t('auth.validation.password'))\r\n }\r\n\r\n // Otherwise, reset error message and try to sign in\r\n commit('setError', null)\r\n commit('startLoading')\r\n\r\n try {\r\n const user = await auth.login(email, password)\r\n // console.log('>>>> [user.module] user: ', user)\r\n\r\n dispatch('setUser', user)\r\n } catch (e) {\r\n console.error(e)\r\n dispatch('setUser', null)\r\n commit('setError', e.message)\r\n }\r\n}\r\n","import loGet from 'lodash/get'\r\nimport Cookies from 'js-cookie'\r\nimport auth from '@/services/_auth'\r\nimport kms from '@/services/kms'\r\nimport { KMS_AUTH_TOKEN } from '@/config'\r\nimport { logJSON } from '@/utilities/log/JSON'\r\n\r\nconst isDebug = false\r\n\r\nimport { setUser } from './routines/setUser'\r\nimport { login } from './routines/login'\r\n\r\nexport const actions = {\r\n setUser,\r\n login,\r\n\r\n /*\r\n sequence might be:\r\n (a) user/initAuth\r\n _auth.initAuth\r\n _auth.initUser -> \r\n [get] /User\r\n [get] /Hoa/List\r\n \r\n (a) user/setUser\r\n // parses the user data\r\n // changes the user store state\r\n \r\n (a) subscription/getHoaSubscription\r\n // gets & saves the hoa subscription \r\n */\r\n async initAuth({ commit, dispatch, rootState }, payload) {\r\n commit('startLoading')\r\n\r\n const user = await auth.initAuth()\r\n logJSON({ user })\r\n\r\n const userSet = await dispatch('setUser', user)\r\n logJSON({ userSet })\r\n\r\n const selectedHoaId = loGet(userSet, 'selectedHoaId', null)\r\n logJSON({ selectedHoaId })\r\n\r\n if (typeof selectedHoaId === 'number' && selectedHoaId >= 1) {\r\n await Promise.all([\r\n dispatch('subscription/getHoaSubscription', {}, { root: true }),\r\n dispatch('subscription/getSubscriptionHoaFeatures', {}, { root: true })\r\n ])\r\n\r\n /*\r\n await dispatch(\"subscription/getHoaSubscription\", {}, { root: true });\r\n await dispatch(\"subscription/getSubscriptionHoaFeatures\", {}, { root: true });\r\n */\r\n }\r\n\r\n const hoaFeatures = rootState.subscription.hoaFeatures\r\n\r\n logJSON('after auth dispatches', { hoaFeatures })\r\n\r\n if (payload && payload.done) {\r\n payload.done()\r\n }\r\n\r\n return\r\n },\r\n\r\n async initAuthRefreshToken({ commit, dispatch }) {\r\n commit('startLoading')\r\n\r\n await dispatch('setUser', await auth.initAuthRefreshToken())\r\n },\r\n\r\n async userRetrieve({ commit }) {\r\n return commit('retrieveUser', await auth.initUser())\r\n },\r\n\r\n async loginCheckMultiFactor({ commit }, payload) {\r\n const { email, password } = payload\r\n\r\n try {\r\n const additionalAuthenticationTypes = await auth.loginCheckMultiFactor(email, password)\r\n\r\n if (additionalAuthenticationTypes && additionalAuthenticationTypes.length > 0) {\r\n if (isDebug === true)\r\n console.debug(\r\n 'loginCheckMultiFactor payload=' + JSON.stringify(additionalAuthenticationTypes)\r\n )\r\n commit('setRequiresTwoFactor', additionalAuthenticationTypes)\r\n } else {\r\n commit('setRequiresTwoFactor', null)\r\n }\r\n } catch (e) {\r\n commit('setRequiresTwoFactor', null)\r\n commit('setError', e.message)\r\n }\r\n },\r\n\r\n async twoFactorLogin({ commit, dispatch }, payload) {\r\n const { token, refreshToken, expiration } = payload\r\n commit('setError', null)\r\n\r\n // Reset error message and try to sign in\r\n commit('setError', null)\r\n commit('startLoading')\r\n try {\r\n const user = await auth.twoFactorLogin(token, refreshToken, expiration)\r\n // console.log('>>>> [user.module] user: ', user)\r\n dispatch('setUser', user)\r\n } catch (e) {\r\n dispatch('setUser', null)\r\n commit('setError', e.message)\r\n }\r\n },\r\n\r\n /*\r\n await store.dispatch('user/logout')\r\n */\r\n logout({ dispatch }) {\r\n auth.logout()\r\n dispatch('setUser', null)\r\n // setTimeout(() => {\r\n // if (window) window.location.href = '/'\r\n // }, 10)\r\n },\r\n\r\n toggleLocale({ commit, state }) {\r\n if (state.selectedLocale == 'en') {\r\n commit('setLocale', 'es')\r\n } else {\r\n commit('setLocale', 'en')\r\n }\r\n },\r\n\r\n /*\r\n await this.$store.dispatch ('user/selectHoaId', 999999999999999999999999999)\r\n */\r\n selectHoaId({ commit }, hoaId) {\r\n commit('setHoaId', hoaId)\r\n },\r\n\r\n async getOwnerUnits({ commit, state }, params) {\r\n if (isDebug == true) console.debug('getOwnerUnits params=' + JSON.stringify(params))\r\n\r\n if (await auth.hasValidToken()) {\r\n try {\r\n const { results: units } = await kms.get(`/Roster/Unit/UserUnitList`)\r\n\r\n if (this.isDebug == true)\r\n console.debug('loadOwnerUnits in unit.module=' + JSON.stringify(units))\r\n\r\n let dropDownUnits = units\r\n .map(a => ({\r\n value: a.unitID,\r\n label: a.address\r\n ? a.address.addressOne +\r\n ', ' +\r\n a.address.city +\r\n ' ' +\r\n a.address.state +\r\n ' ' +\r\n a.address.postalCode\r\n : '',\r\n ownerID: a.primaryOwnerID,\r\n hoaID: a.hoaid\r\n }))\r\n .filter(f => f.label.length > 0 && f.value > 0)\r\n\r\n //Default to first in the list if state is null\r\n if (dropDownUnits && dropDownUnits.length > 0 && !state.selectedUnitId) {\r\n //commit('setUnitId', dropDownUnits[0].value)\r\n //commit('setUnitLabel', dropDownUnits[0].label)\r\n if (isDebug == true) console.debug('state selectedUnitId=' + dropDownUnits[0].value)\r\n }\r\n\r\n commit('ownerUnitList', dropDownUnits)\r\n\r\n return dropDownUnits\r\n } catch (e) {\r\n console.debug(e)\r\n }\r\n }\r\n },\r\n async setUnitFromCookie({ commit, dispatch }) {\r\n const currentUnitJson = Cookies.get(btoa(KMS_AUTH_TOKEN + '_homeowner_selected'))\r\n const currentUnitData = currentUnitJson && JSON.parse(atob(currentUnitJson))\r\n var selectedUnitID\r\n\r\n if (currentUnitData) {\r\n selectedUnitID = currentUnitData.unitId\r\n }\r\n\r\n var ownerUnits = await dispatch('getOwnerUnits')\r\n if (ownerUnits !== undefined) {\r\n const selectedListItem = ownerUnits.find(i => i.value == selectedUnitID)\r\n\r\n if (selectedListItem) {\r\n commit('setHomeownerSelectedUnit', {\r\n unitId: selectedListItem.value,\r\n hoaId: selectedListItem.hoaID,\r\n ownerId: selectedListItem.ownerID,\r\n label: selectedListItem.label\r\n })\r\n } else {\r\n commit('setHomeownerSelectedUnit', {\r\n unitId: ownerUnits[0].value,\r\n hoaId: ownerUnits[0].hoaID,\r\n ownerId: ownerUnits[0].ownerID,\r\n label: ownerUnits[0].label\r\n })\r\n }\r\n }\r\n },\r\n async getOwnerUnitsWithDefault({ commit }) {\r\n try {\r\n const { results: units } = await kms.get(`/Roster/Unit/UserUnitList`)\r\n\r\n let dropDownUnits = units\r\n .map(a => ({\r\n value: a.unitID,\r\n label: a.address\r\n ? a.address.addressOne +\r\n ', ' +\r\n a.address.city +\r\n ' ' +\r\n a.address.state +\r\n ' ' +\r\n a.address.postalCode\r\n : ''\r\n }))\r\n .filter(f => f.label.length > 0 && f.value > 0)\r\n\r\n //Default to first in the list if state is null\r\n if (dropDownUnits && dropDownUnits.length > 0) {\r\n console.log('getOwnerUnitsWithDefault setUnitId')\r\n commit('setUnitId', dropDownUnits[0].value)\r\n commit('setUnitLabel', dropDownUnits[0].label)\r\n if (isDebug == true) console.debug('state default selectedUnitId=' + dropDownUnits[0].value)\r\n } else {\r\n commit('setUnitId', 0)\r\n commit('setUnitLabel', '')\r\n }\r\n\r\n commit('ownerUnitList', dropDownUnits)\r\n } catch (e) {\r\n console.debug(e)\r\n }\r\n }\r\n}\r\n","//\r\n/*\r\n import { user } from '@/store/modules/user.module' \r\n*/\r\n\r\nimport cloneDeep from 'lodash/cloneDeep'\r\n\r\nimport { startingState } from './keys/state'\r\nimport { getters } from './keys/getters'\r\nimport { mutations } from './keys/mutations'\r\nimport { actions } from './keys/actions'\r\n\r\nconst state = cloneDeep(startingState)\r\n\r\nexport const user = {\r\n namespaced: true,\r\n state,\r\n mutations,\r\n actions,\r\n getters\r\n}\r\n","import kms from '@/services/kms'\r\nimport { ToastProgrammatic as Toast } from 'buefy'\r\n\r\nconst isDebug = false\r\n\r\nconst DTO = {\r\n createdDate: new Date(),\r\n deletedDate: null,\r\n isClosed: false,\r\n modifiedDate: new Date(),\r\n observationDate: new Date(),\r\n observationDescription: null,\r\n observedBy: null,\r\n ownerID: 0,\r\n ownerAddress: null,\r\n containerID: 0,\r\n uploadedDocumentIds: [],\r\n violationActionID: 0,\r\n violationEscalationID: 0,\r\n violationFormLetterID: 0,\r\n violationTypeID: 0,\r\n isReportOccurrenceOnly: false,\r\n isFromDetail: false,\r\n showExisting: true,\r\n reportViolationOccurrenceID: 0,\r\n reportViolationType: null\r\n}\r\n\r\nfunction notifyError(e) {\r\n Toast.open({\r\n duration: 7000,\r\n message: e.message || e,\r\n position: 'is-bottom',\r\n type: 'is-danger'\r\n })\r\n}\r\n\r\nconst state = {\r\n DTO: DTO,\r\n escalationTypes: [{}],\r\n selectedViolation: { name: null },\r\n violation: {},\r\n violationOccurrence: null,\r\n violationImages: [{}],\r\n violationImagesPreview: [],\r\n violationImageDocument: null,\r\n violationDocumentIds: [{}],\r\n violationsList: [{}],\r\n violationsOccurrencesList: [{}],\r\n violationTypeList: [{}],\r\n violationOccurrencePhotosList: [{}],\r\n violationFormLetter: null,\r\n violationFile: null,\r\n selectedOwnerId: 0,\r\n toggleChangedAndReload: false\r\n}\r\n\r\nconst mutations = {\r\n DTO(state, payload) {\r\n const merge = Object.assign({}, state.DTO, payload)\r\n state.DTO = merge\r\n console.log('state.DTO: ', state.DTO)\r\n },\r\n escalationTypes(state, payload) {\r\n state.escalationTypes = payload\r\n console.log('[mutation] state.escalationTypes: ', state.escalationTypes)\r\n },\r\n violationFile(state, payload) {\r\n state.violationFile = payload\r\n },\r\n selectedViolation(state, payload) {\r\n state.selectedViolation = payload\r\n // console.log('state.selectedViolation: ', state.selectedViolation)\r\n },\r\n selectedViolationOccurrence(state, payload) {\r\n state.selectedViolationOccurrence = payload\r\n },\r\n selectedOwnerId(state, payload) {\r\n state.selectedOwnerId = payload\r\n console.log('state.selectedOwnerId: ', state.selectedOwnerId)\r\n },\r\n violation(state, payload) {\r\n state.violation = payload\r\n // console.log('[mutation] state.violation: ', state.violation)\r\n },\r\n violationOccurrence(state, payload) {\r\n state.violationOccurrence = payload\r\n console.log('[mutation] state.violationOccurrence: ', state.violationOccurrence)\r\n },\r\n violationFormLetter(state, payload) {\r\n state.violationFormLetter = payload\r\n },\r\n violationImages(state, payload) {\r\n state.violationImages = payload\r\n // console.log('state.violationImages: ', state.violationImages)\r\n },\r\n violationImageDocument(state, payload) {\r\n state.violationImageDocument = payload\r\n console.log('state.violationImageDocument: ', state.violationImageDocument)\r\n },\r\n violationDocumentIds(state, payload) {\r\n state.violationDocumentIds = payload\r\n },\r\n violationImagesPreview(state, payload) {\r\n state.violationImagesPreview = payload\r\n // console.log('state.violationImagesPreview: ', state.violationImagesPreview)\r\n },\r\n violationTypeList(state, payload) {\r\n state.violationTypeList = payload\r\n },\r\n violationsList(state, payload) {\r\n state.violationsList = payload\r\n },\r\n violationsOccurrencesList(state, payload) {\r\n state.violationsOccurrencesList = payload\r\n },\r\n violationOccurrencePhotosList(state, payload) {\r\n state.violationOccurrencePhotosList = payload\r\n },\r\n toggleChangedAndReload(state, payload) {\r\n state.toggleChangedAndReload = payload\r\n }\r\n}\r\n\r\nconst actions = {\r\n async getEscalationTypes({ commit, rootState }) {\r\n try {\r\n const params = {\r\n hoaID: rootState.user.selectedHoaId\r\n }\r\n let { results: escalation } = await kms.get('/Violation/ViolationEscalation/List', { params })\r\n\r\n commit('escalationTypes', escalation[0].violationActions)\r\n } catch (e) {\r\n notifyError(e)\r\n }\r\n },\r\n\r\n async getViolationGetFile({ commit }, { params = {} }) {\r\n try {\r\n await kms\r\n .get(`/ViolationIssue/ViolationOccurrencePhoto/GetFile`, { params })\r\n .then(response => {\r\n if (isDebug == true) console.debug('getViolationGetFile=' + JSON.stringify(response))\r\n commit('violationFile', response)\r\n })\r\n } catch (e) {\r\n notifyError(e)\r\n }\r\n },\r\n\r\n async getViolation({ commit, rootState }, id) {\r\n try {\r\n const params = {\r\n hoaID: rootState.user.selectedHoaId\r\n }\r\n await kms.get(`/ViolationIssue/Violation/${id.violationID}`, { params }).then(response => {\r\n if (isDebug == true) console.debug('getViolation=' + JSON.stringify(response))\r\n commit('violation', response)\r\n })\r\n } catch (e) {\r\n notifyError(e)\r\n }\r\n },\r\n\r\n async getViolationOccurrence({ commit, rootState }, id) {\r\n try {\r\n const params = {\r\n hoaID: rootState.user.selectedHoaId\r\n }\r\n await kms\r\n .get(`/ViolationIssue/ViolationOccurrence/${id.violationOccurrenceID}`, { params })\r\n .then(response => {\r\n if (isDebug == true) console.debug('getViolation=' + JSON.stringify(response))\r\n commit('violationOccurrence', response)\r\n })\r\n } catch (e) {\r\n notifyError(e)\r\n }\r\n },\r\n\r\n async getViolationsOccurrencesByOwner({ commit, rootState }, payload) {\r\n try {\r\n const params = {\r\n hoaID: rootState.user.selectedHoaId,\r\n ownerID: payload.ownerID\r\n }\r\n let { results: violationOccurrences } = await kms.get(\r\n '/ViolationIssue/ViolationOccurrence/List',\r\n {\r\n params\r\n }\r\n )\r\n\r\n if (isDebug == true)\r\n console.debug('violationsOccurrencesList...: ', JSON.stringify(violationOccurrences))\r\n\r\n commit('violationsOccurrencesList', violationOccurrences)\r\n } catch (e) {\r\n notifyError(e)\r\n }\r\n },\r\n\r\n async getViolations({ commit, rootState }, payload) {\r\n try {\r\n const params = {\r\n hoaID: rootState.user.selectedHoaId\r\n }\r\n\r\n if (isDebug == true) console.debug('payload=' + JSON.stringify(payload))\r\n\r\n if (payload && payload != undefined) {\r\n params.ownerID = payload.ownerID\r\n }\r\n\r\n let { results: violations } = await kms.get('/ViolationIssue/Violation/ListBasic', {\r\n params\r\n })\r\n\r\n commit('violationsList', violations)\r\n } catch (e) {\r\n notifyError(e)\r\n }\r\n },\r\n\r\n async getViolationOccurrences({ commit, rootState }, payload) {\r\n try {\r\n const params = {\r\n hoaID: rootState.user.selectedHoaId\r\n }\r\n\r\n if (payload && payload != undefined) {\r\n params.violationID = payload.violationID\r\n }\r\n\r\n let { results: violations } = await kms.get('/ViolationIssue/ViolationOccurrence/List', {\r\n params\r\n })\r\n\r\n console.log('violationsOccurrencesList: ', violations)\r\n\r\n commit('violationsOccurrencesList', violations)\r\n } catch (e) {\r\n notifyError(e)\r\n }\r\n },\r\n\r\n async getViolationOccurrencePhotos({ commit }, id) {\r\n try {\r\n const params = {\r\n violationOccurrenceID: id.violationOccurrenceID\r\n }\r\n let { results: violationOccurrencePhotos } = await kms.get(\r\n '/ViolationIssue/ViolationOccurrencePhoto/List',\r\n {\r\n params\r\n }\r\n )\r\n\r\n if (isDebug == true)\r\n console.debug('violationOccurrencePhotoList: ', violationOccurrencePhotos)\r\n\r\n commit('violationOccurrencePhotosList', violationOccurrencePhotos)\r\n } catch (e) {\r\n notifyError(e)\r\n }\r\n },\r\n\r\n async getViolationTypes({ commit, rootState }) {\r\n try {\r\n const params = {\r\n hoaID: rootState.user.selectedHoaId\r\n }\r\n const { results: types } = await kms.get('/Violation/ViolationType/List', { params })\r\n\r\n commit('violationTypeList', types)\r\n } catch (e) {\r\n notifyError(e)\r\n }\r\n },\r\n\r\n async getViolationFormLetterByActionId({ commit }, payload) {\r\n try {\r\n const results = await kms.get('/ViolationFormLetters/ViolationFormLetter/GetByAction', {\r\n params: {\r\n violationActionID: payload.violationActionID\r\n }\r\n })\r\n\r\n if (isDebug == true) {\r\n console.debug('getViolationFormLetterByActionId results=' + JSON.stringify(results))\r\n }\r\n\r\n commit('violationFormLetter', results)\r\n } catch (e) {\r\n notifyError(e)\r\n }\r\n },\r\n\r\n setToggleChangedAndReload({ commit }, payload) {\r\n const { reload } = payload.reload\r\n commit('toggleChangedAndReload', reload)\r\n },\r\n\r\n setDTO({ commit }, blob) {\r\n commit('DTO', blob)\r\n },\r\n\r\n setSelectedViolation({ commit }, blob) {\r\n commit('selectedViolation', blob)\r\n },\r\n\r\n setSelectedOwnerId({ commit }, payload) {\r\n commit('selectedOwnerId', payload.selectedOwnerId)\r\n },\r\n\r\n async setViolation({ commit }, blob) {\r\n try {\r\n const { result: violation } = await kms.post(\r\n '/ViolationIssue/Violation/CreateViolationActionStepOccurrence',\r\n blob\r\n )\r\n commit('', violation)\r\n } catch (e) {\r\n notifyError(e)\r\n }\r\n },\r\n\r\n // async uploadDocument({ commit, rootState }, file) {\r\n // const { selectedHoaId } = rootState.user\r\n\r\n // const formData = new FormData()\r\n // formData.append('file', file)\r\n\r\n // // create container if not exists\r\n // try {\r\n // const path = `/AccountsPayable/APInvoice/StoreInvoiceAttachment?hoaID=${selectedHoaId}`\r\n // const uploadedFile = await kms.post(path, formData, {\r\n // 'Content-Type': 'multipart/form-data'\r\n // })\r\n // commit('save', { uploadedFile })\r\n // } catch (e) {\r\n // notifyError(e)\r\n // }\r\n // }\r\n\r\n //Deprecated with Azure issues\r\n setViolationImages({ commit, rootState }, blob) {\r\n const path = `/ViolationIssue/ViolationOccurrencePhoto/StorePhoto?hoaID=${rootState.user.selectedHoaId}`\r\n\r\n const formData = new FormData()\r\n formData.append('file', blob)\r\n\r\n blob.forEach(photo => {\r\n kms.post(path, photo, { 'Content-Type': 'multipart/form-data' }).then(response => {\r\n console.log('blob image response: ', response)\r\n })\r\n })\r\n\r\n commit('violationImages', blob)\r\n },\r\n\r\n //This one works with a formData.file\r\n async setViolationImages2({ commit, rootState }, payload = {}) {\r\n const params = {\r\n hoaID: rootState.user.selectedHoaId\r\n }\r\n\r\n if (isDebug == true) console.debug('setViolationImages2 payload=' + JSON.stringify(params))\r\n\r\n const path = `/ViolationIssue/ViolationOccurrencePhoto/StorePhoto?hoaID=${rootState.user.selectedHoaId}`\r\n\r\n const formData = new FormData()\r\n formData.append('file', payload.file)\r\n\r\n const uploadedViolationImageFile = await kms.post(path, formData, {\r\n 'Content-Type': 'multipart/form-data'\r\n })\r\n\r\n if (isDebug == true) {\r\n console.debug('violation result=' + JSON.stringify(uploadedViolationImageFile))\r\n }\r\n\r\n let docs = getters.violationDocumentIds\r\n if (isDebug == true) {\r\n console.debug('docs=' + JSON.stringify(docs))\r\n }\r\n\r\n //this.violationDocumentIds.push(uploadedViolationImageFile)\r\n\r\n commit('violationImageDocument', uploadedViolationImageFile)\r\n //commit('violationDocumentIds', this.violationDocumentIds )\r\n },\r\n\r\n // setViolationImages({ commit, rootState }, blob) {\r\n // const path = `/ViolationIssue/ViolationOccurrencePhoto/StorePhoto?hoaID=${rootState.user.selectedHoaId}`\r\n\r\n // const formData = new FormData()\r\n // formData.append('file', blob)\r\n\r\n // kms.post(path, formData, { 'Content-Type': 'multipart/form-data' }).then(response => {\r\n // console.log('blob image response: ', response)\r\n // })\r\n\r\n // commit('violationImages', blob)\r\n // },\r\n\r\n setViolationImagesPreview({ commit }, blob) {\r\n commit('violationImagesPreview', blob)\r\n }\r\n}\r\n\r\nconst getters = {\r\n DTO: () => state.DTO,\r\n escalationTypes: () => state.escalationTypes,\r\n selectedViolation: () => state.selectedViolation,\r\n violation: () => state.violation,\r\n violationOccurrence: () => state.violationOccurrence,\r\n violationImages: () => state.violationImages,\r\n violationDocumentIds: () => state.violationDocumentIds,\r\n violationImagesPreview: () => state.violationImagesPreview,\r\n violationImageDocument: () => state.violationImageDocument,\r\n violationTypeList: () => state.violationTypeList,\r\n violationsList: () => state.violationsList,\r\n violationsOccurrencesList: () => state.violationsOccurrencesList,\r\n violationOccurrencePhotosList: () => state.violationOccurrencePhotosList,\r\n violationFormLetter: () => state.violationFormLetter,\r\n selectedOwnerId: () => state.selectedOwnerId,\r\n violationFile: () => state.violationFile,\r\n toggleChangedAndReload: () => state.toggleChangedAndReload\r\n}\r\n\r\nexport const violations = {\r\n namespaced: true,\r\n state,\r\n mutations,\r\n actions,\r\n getters\r\n}\r\n","import kms from '@/services/kms'\r\nimport { ToastProgrammatic as Toast } from 'buefy'\r\nimport _get from 'lodash/get'\r\n\r\nconst isDebug = true\r\n\r\nfunction notifyError(e) {\r\n Toast.open({\r\n duration: 7000,\r\n message: e.message || e,\r\n position: 'is-bottom',\r\n type: 'is-danger'\r\n })\r\n}\r\n\r\nfunction notifyMessage(e) {\r\n Toast.open({\r\n duration: 7000,\r\n message: e.message || e,\r\n position: 'is-bottom',\r\n type: 'is-success'\r\n })\r\n}\r\n\r\nconst state = {\r\n // increases by one for every request\r\n count: 0,\r\n\r\n workOrderList: [],\r\n workOrderTypeList: [],\r\n documentsList: [],\r\n workOrder: null,\r\n workOrderDocument: null,\r\n workOrderPhoto: null,\r\n uploadedWorkOrderDocumentFile: null,\r\n workOrderDocumentFile: null,\r\n workOrderPhotoFile: null\r\n}\r\n\r\nconst mutations = {\r\n save(state, payload) {\r\n for (let prop in payload) {\r\n state[prop] = payload[prop]\r\n }\r\n },\r\n workOrderList(state, payload) {\r\n state.workOrderList = payload\r\n state.count++\r\n },\r\n workOrderTypeList(state, payload) {\r\n state.workOrderTypeList = payload\r\n state.count++\r\n },\r\n documentsList(state, payload) {\r\n state.documentsList = payload\r\n state.count++\r\n },\r\n workOrder(state, payload) {\r\n state.workOrder = payload\r\n state.count++\r\n },\r\n workOrderDocument(state, payload) {\r\n state.workOrderDocument = payload\r\n state.count++\r\n },\r\n workOrderPhoto(state, payload) {\r\n state.workOrderPhoto = payload\r\n state.count++\r\n },\r\n workOrderDocumentFile(state, payload) {\r\n state.workOrderDocumentFile = payload\r\n state.count++\r\n },\r\n workOrderPhotoFile(state, payload) {\r\n state.workOrderPhotoFile = payload\r\n state.count++\r\n },\r\n uploadedWorkOrderDocumentFile(state, payload) {\r\n state.uploadedWorkOrderDocumentFile = payload\r\n state.count++\r\n }\r\n}\r\n\r\nconst actions = {\r\n //--------------- List ---------------------------\r\n //Work Order List\r\n async getWorkOrderList({ commit, rootState, state }, parameters) {\r\n var onDone = _get(parameters, 'onDone', () => {})\r\n\r\n try {\r\n const params = {\r\n hoaID: rootState.user.selectedHoaId\r\n }\r\n\r\n let { results: workOrders } = await kms.get('/WorkOrders/WorkOrder/ListBasic', { params })\r\n\r\n if (isDebug == true) console.debug('workOrders=' + JSON.stringify(workOrders))\r\n\r\n onDone({\r\n list: workOrders,\r\n count: state.count\r\n })\r\n\r\n commit('workOrderList', workOrders)\r\n } catch (e) {\r\n notifyError(e)\r\n }\r\n },\r\n\r\n //Work Order Type List\r\n async getWorkOrderTypeList({ commit, rootState, state }, parameters) {\r\n var onDone = _get(parameters, 'onDone', () => {})\r\n\r\n try {\r\n const params = {\r\n hoaID: rootState.user.selectedHoaId\r\n }\r\n\r\n let { results: workOrderTypes } = await kms.get('/WorkOrders/WorkOrderType/List', { params })\r\n\r\n if (isDebug == true) console.debug('workOrderTypes=' + JSON.stringify(workOrderTypes))\r\n\r\n const workOrderTypeDropDownList = workOrderTypes\r\n .map(v => ({\r\n value: v.workOrderTypeID,\r\n label: v.name ? v.name : ''\r\n }))\r\n .filter(f => f.label.length > 0 && f.value > 0)\r\n .sort((a, b) => a.label - b.label)\r\n\r\n onDone({\r\n list: workOrderTypes,\r\n count: state.count\r\n })\r\n\r\n commit('workOrderTypeList', workOrderTypeDropDownList)\r\n } catch (e) {\r\n notifyError(e)\r\n }\r\n },\r\n\r\n //Work Order Documents List\r\n async getWorkOrderDocumentsList({ commit, rootState, state }, parameters) {\r\n var onDone = _get(parameters, 'onDone', () => {})\r\n\r\n try {\r\n const params = {\r\n hoaID: rootState.user.selectedHoaId\r\n }\r\n\r\n let { results: workOrderDocuments } = await kms.get('/WorkOrders/WorkOrderDocument/List', {\r\n params\r\n })\r\n\r\n if (isDebug == true)\r\n console.debug('getWorkOrderDocumentsList=' + JSON.stringify(workOrderDocuments))\r\n\r\n onDone({\r\n list: workOrderDocuments,\r\n count: state.count\r\n })\r\n\r\n commit('documentsList', workOrderDocuments)\r\n } catch (e) {\r\n notifyError(e)\r\n }\r\n },\r\n\r\n //Work Order by Id\r\n async getWorkOrderById({ commit }, { workOrderID }) {\r\n try {\r\n const workorder = await kms.get(`/WorkOrders/WorkOrder/${workOrderID}`)\r\n\r\n if (isDebug == true) console.debug('getWorkOrderById=' + JSON.stringify(workorder))\r\n\r\n commit('workOrder', workorder)\r\n } catch (e) {\r\n if (isDebug == true) console.debug('error in module getWorkOrderById')\r\n }\r\n },\r\n\r\n //Work Order Document by Id\r\n async getWorkOrderDocumentById({ commit }, payload = {}) {\r\n try {\r\n if (isDebug == true) console.debug('payload=' + JSON.stringify(payload))\r\n const workOrderDocument = await kms.get(\r\n `/WorkOrders/WorkOrderDocuemt/${payload.workOrderDocumentID}`\r\n )\r\n\r\n if (isDebug == true)\r\n console.debug('getWorkOrderDocumentById=' + JSON.stringify(workOrderDocument))\r\n\r\n commit('workOrderDocument', workOrderDocument)\r\n } catch (e) {\r\n notifyError(e)\r\n }\r\n },\r\n\r\n //Get Work Order Document File by Id\r\n async getWorkOrderDocumentGetFile({ commit }, { params = {} }) {\r\n try {\r\n await kms\r\n .get(`/WorkOrders/WorkOrderDocument/GetWorkOrderDocumentFile`, { params })\r\n .then(response => {\r\n if (isDebug == true)\r\n console.debug('getWorkOrderDocumentGetFile=' + JSON.stringify(response))\r\n commit('workOrderDocumentFile', response)\r\n return response\r\n })\r\n } catch (e) {\r\n notifyError(e)\r\n }\r\n },\r\n\r\n //Get Work Order Photo File by Id\r\n async getWorkOrderPhotoGetFile({ commit }, { params = {} }) {\r\n try {\r\n await kms\r\n .get(`/WorkOrders/WorkOrderPhoto/GetWorkOrderPhotoFile`, { params })\r\n .then(response => {\r\n if (isDebug == true) console.debug('getWorkOrderPhotoGetFile=' + JSON.stringify(response))\r\n commit('workOrderPhotoFile', response)\r\n return response\r\n })\r\n } catch (e) {\r\n notifyError(e)\r\n }\r\n },\r\n\r\n // ---------------------- Add -----------------------------------\r\n async addWorkOrder(\r\n { dispatch },\r\n {\r\n workOrderTypeID,\r\n vendorID,\r\n hoaID,\r\n unitID,\r\n locationDescription,\r\n description,\r\n detailedDescription,\r\n specialInstructions,\r\n completeByDate,\r\n done\r\n }\r\n ) {\r\n try {\r\n const results = await kms.post(`/WorkOrders/WorkOrder`, {\r\n workOrderTypeID,\r\n vendorID,\r\n hoaID,\r\n unitID,\r\n locationDescription,\r\n description,\r\n detailedDescription,\r\n specialInstructions,\r\n completeByDate\r\n })\r\n\r\n if (this.isDebug == true) console.debug('results=' + JSON.stringify(results))\r\n\r\n if (dispatch && dispatch != undefined) console.debug(dispatch)\r\n\r\n if (results.workOrderID > 0) {\r\n notifyMessage(`Successfully added work order.`)\r\n done()\r\n } else {\r\n notifyError('There was a problem adding the new work order.')\r\n }\r\n } catch (ex) {\r\n notifyError(ex)\r\n }\r\n },\r\n\r\n async addWorkOrderDocument({ commit }, { workOrderID, description }) {\r\n try {\r\n const workOrderDocument = await kms.post(`/WorkOrders/WorkOrderDocument`, {\r\n workOrderID,\r\n description\r\n })\r\n\r\n if (isDebug == true) console.debug('workOrderDocument=' + JSON.stringify(workOrderDocument))\r\n\r\n commit('workOrderDocument', { workOrderDocument })\r\n return workOrderDocument\r\n } catch (ex) {\r\n notifyError(ex)\r\n }\r\n },\r\n\r\n async addWorkOrderPhoto({ commit }, { workOrderID, description }) {\r\n try {\r\n const workOrderPhoto = await kms.post(`/WorkOrders/WorkOrderPhoto`, {\r\n workOrderID,\r\n description\r\n })\r\n\r\n if (isDebug == true) console.debug('workOrderPhoto=' + JSON.stringify(workOrderPhoto))\r\n\r\n commit('workOrderPhoto', { workOrderPhoto })\r\n return workOrderPhoto\r\n } catch (ex) {\r\n notifyError(ex)\r\n }\r\n },\r\n\r\n // Add Work Order Note\r\n async addWorkOrderNote({ dispatch }, { workOrderID, note, aspNetUserID, done }) {\r\n try {\r\n console.log('...in addWorkOrderNote')\r\n const results = await kms.post(`/WorkOrders/WorkOrderNote`, {\r\n workOrderID,\r\n aspNetUserID,\r\n note\r\n })\r\n\r\n if (this.isDebug == true) console.debug('results=' + JSON.stringify(results))\r\n\r\n if (dispatch && dispatch != undefined) console.debug(dispatch)\r\n\r\n if (results.workOrderNoteID > 0) {\r\n notifyMessage(`Successfully updated the work order note.`)\r\n done()\r\n } else {\r\n notifyError('There was a problem updating this work order note.')\r\n }\r\n } catch (e) {\r\n notifyError(e)\r\n }\r\n },\r\n\r\n //------------------------- Update ---------------------------\r\n // Update Work Order\r\n async updateWorkOrder({ dispatch }, { payload = {}, done }) {\r\n try {\r\n const results = await kms.put(`/WorkOrders/WorkOrder`, payload)\r\n\r\n if (this.isDebug == true) console.debug('results=' + JSON.stringify(results))\r\n\r\n if (dispatch && dispatch != undefined) console.debug(dispatch)\r\n\r\n if (results.workOrderID > 0) {\r\n notifyMessage(`Successfully updated the work order.`)\r\n done()\r\n } else {\r\n notifyError('There was a problem updating this work order.')\r\n }\r\n } catch (e) {\r\n notifyError(e)\r\n }\r\n },\r\n\r\n // Update Work Order Document\r\n async updateWorkOrderDocument({ dispatch }, { payload = {}, done }) {\r\n try {\r\n const results = await kms.put(`/WorkOrders/WorkOrderDocument`, payload)\r\n\r\n if (this.isDebug == true) console.debug('results=' + JSON.stringify(results))\r\n\r\n if (dispatch && dispatch != undefined) console.debug(dispatch)\r\n\r\n if (results.workOrderDocumentID > 0) {\r\n if (payload.remove && payload.reomove != undefined && payload.remove == true) {\r\n notifyMessage(`Successfully removed the work order document.`)\r\n } else {\r\n notifyMessage(`Successfully updated the work order document description.`)\r\n }\r\n done()\r\n } else {\r\n notifyError('There was a problem updating this work order document description.')\r\n }\r\n } catch (e) {\r\n notifyError(e)\r\n }\r\n },\r\n\r\n // Update Work Order Photo\r\n async updateWorkOrderPhoto({ dispatch }, { payload = {}, done }) {\r\n try {\r\n const results = await kms.put(`/WorkOrders/WorkOrderPhoto`, payload)\r\n\r\n if (this.isDebug == true) console.debug('results=' + JSON.stringify(results))\r\n\r\n if (dispatch && dispatch != undefined) console.debug(dispatch)\r\n\r\n if (results.workOrderPhotoID > 0) {\r\n if (payload.remove && payload.reomove != undefined && payload.remove == true) {\r\n notifyMessage(`Successfully removed the work order photo description.`)\r\n } else {\r\n notifyMessage(`Successfully updated the work order photo description.`)\r\n }\r\n done()\r\n } else {\r\n notifyError('There was a problem updating this work order photo.')\r\n }\r\n } catch (e) {\r\n notifyError(e)\r\n }\r\n },\r\n\r\n // Update Work Order Note\r\n async updateWorkOrderNote({ dispatch }, { payload = {}, done }) {\r\n try {\r\n const results = await kms.put(`/WorkOrders/WorkOrderNote`, payload)\r\n\r\n if (this.isDebug == true) console.debug('results=' + JSON.stringify(results))\r\n\r\n if (dispatch && dispatch != undefined) console.debug(dispatch)\r\n\r\n if (results.workOrderID > 0) {\r\n notifyMessage(`Successfully updated the work order note.`)\r\n done()\r\n } else {\r\n notifyError('There was a problem updating this work order note.')\r\n }\r\n } catch (e) {\r\n notifyError(e)\r\n }\r\n },\r\n\r\n async uploadWorkOrderDocument({ commit }, payload = {}) {\r\n const formData = new FormData()\r\n formData.append('file', payload.file)\r\n\r\n try {\r\n const path = `/WorkOrders/WorkOrderDocument/StoreWorkOrderDocumentFile?workOrderID=${payload.workOrderID}&existingWorkOrderDocumentID=${payload.existingWorkOrderDocumentID}`\r\n const uploadedWorkOrderDocumentFile = await kms.post(path, formData, {\r\n 'Content-Type': 'multipart/form-data'\r\n })\r\n\r\n if (isDebug == true)\r\n console.debug(\r\n 'uploadedWorkOrderDocumentFile with payload=' +\r\n JSON.stringify(uploadedWorkOrderDocumentFile)\r\n )\r\n\r\n commit('uploadedWorkOrderDocumentFile', { uploadedWorkOrderDocumentFile })\r\n return uploadedWorkOrderDocumentFile\r\n } catch (e) {\r\n notifyError(e)\r\n }\r\n },\r\n\r\n async uploadWorkOrderPhoto({ commit }, payload = {}) {\r\n const formData = new FormData()\r\n formData.append('file', payload.file)\r\n\r\n try {\r\n const path = `/WorkOrders/WorkOrderPhoto/StoreWorkOrderPhotoFile?workOrderID=${payload.workOrderID}&existingWorkOrderPhotoID=${payload.existingWorkOrderPhotoID}`\r\n const uploadedWorkOrderPhotoFile = await kms.post(path, formData, {\r\n 'Content-Type': 'multipart/form-data'\r\n })\r\n\r\n if (isDebug == true)\r\n console.debug(\r\n 'uploadedWorkOrderPhotoFile with payload=' + JSON.stringify(uploadedWorkOrderPhotoFile)\r\n )\r\n\r\n commit('save', { uploadedWorkOrderPhotoFile })\r\n } catch (e) {\r\n notifyError(e)\r\n }\r\n },\r\n\r\n // Update Work Order Document Attachment\r\n async updateWorkOrderDocumentAttachment({ commit }, payload = {}) {\r\n const formData = new FormData()\r\n formData.append('file', payload.file)\r\n\r\n try {\r\n const path = `/WorkOrders/WorkOrderDocument/UpdateAttachment?workOrderDocumentID=${payload.workOrderDocumentID}`\r\n\r\n const updateWorkOrderDocument = await kms.put(path, formData, {\r\n 'Content-Type': 'multipart/form-data'\r\n })\r\n\r\n if (this.isDebug == true) console.debug('results=' + JSON.stringify(updateWorkOrderDocument))\r\n\r\n commit('workOrderDocument', { updateWorkOrderDocument })\r\n return updateWorkOrderDocument\r\n } catch (e) {\r\n notifyError(e)\r\n }\r\n },\r\n\r\n // Update Work Order Photo Attachment\r\n async updateWorkOrderPhotoAttachment({ commit }, payload = {}) {\r\n const formData = new FormData()\r\n formData.append('file', payload.file)\r\n\r\n try {\r\n const path = `/WorkOrders/WorkOrderPhoto/UpdateAttachment?workOrderPhotoID=${payload.workOrderPhotoID}`\r\n\r\n const updateWorkOrderPhoto = await kms.put(path, formData, {\r\n 'Content-Type': 'multipart/form-data'\r\n })\r\n\r\n if (this.isDebug == true) console.debug('results=' + JSON.stringify(updateWorkOrderPhoto))\r\n\r\n commit('workOrderPhoto', { updateWorkOrderPhoto })\r\n return updateWorkOrderPhoto\r\n } catch (e) {\r\n notifyError(e)\r\n }\r\n },\r\n\r\n //------------------------- Delete ---------------------------\r\n async deleteWorkOrder({ dispatch }, { workOrderID, done }) {\r\n try {\r\n const path = `/WorkOrders/WorkOrder/${workOrderID}?forceDelete=false`\r\n\r\n const results = await kms.delete(path)\r\n\r\n if (this.isDebug == true) console.debug('results=' + JSON.stringify(results))\r\n\r\n if (dispatch && dispatch != undefined) console.debug(dispatch)\r\n\r\n const wasDeleted = _get(results, 'deleted', false)\r\n\r\n if (wasDeleted === true) {\r\n notifyMessage(`Successfully deleted the work order.`)\r\n done()\r\n } else {\r\n notifyError('There was a problem deleting the work order.')\r\n }\r\n } catch (ex) {\r\n notifyError(ex)\r\n }\r\n },\r\n\r\n async deleteWorkOrderNote({ dispatch }, { workOrderNoteID, done }) {\r\n try {\r\n const path = `/WorkOrders/WorkOrderNote/${workOrderNoteID}?forceDelete=false`\r\n\r\n const results = await kms.delete(path)\r\n\r\n if (this.isDebug == true) console.debug('results=' + JSON.stringify(results))\r\n\r\n if (dispatch && dispatch != undefined) console.debug(dispatch)\r\n\r\n const wasDeleted = _get(results, 'deleted', false)\r\n\r\n if (wasDeleted === true) {\r\n notifyMessage(`Successfully deleted the work order note.`)\r\n done()\r\n } else {\r\n notifyError('There was a problem deleting the work order note.')\r\n }\r\n } catch (ex) {\r\n notifyError(ex)\r\n }\r\n },\r\n\r\n async deleteWorkOrderPhoto({ dispatch }, { workOrderPhotoID, done }) {\r\n try {\r\n const path = `/WorkOrders/WorkOrderPhoto/${workOrderPhotoID}?forceDelete=false`\r\n\r\n const results = await kms.delete(path)\r\n\r\n if (this.isDebug == true) console.debug('results=' + JSON.stringify(results))\r\n\r\n if (dispatch && dispatch != undefined) console.debug(dispatch)\r\n\r\n const wasDeleted = _get(results, 'deleted', false)\r\n\r\n if (wasDeleted === true) {\r\n notifyMessage(`Successfully deleted the work order photo.`)\r\n done()\r\n } else {\r\n notifyError('There was a problem deleting the work order photo.')\r\n }\r\n } catch (ex) {\r\n notifyError(ex)\r\n }\r\n },\r\n\r\n async deleteWorkOrderDocument({ dispatch }, { workOrderDocumentID, done }) {\r\n try {\r\n const path = `/WorkOrders/WorkOrderDocument/${workOrderDocumentID}?forceDelete=false`\r\n\r\n const results = await kms.delete(path)\r\n\r\n if (this.isDebug == true) console.debug('results=' + JSON.stringify(results))\r\n\r\n if (dispatch && dispatch != undefined) console.debug(dispatch)\r\n\r\n const wasDeleted = _get(results, 'deleted', false)\r\n\r\n if (wasDeleted === true) {\r\n notifyMessage(`Successfully deleted the work order document.`)\r\n done()\r\n } else {\r\n notifyError('There was a problem deleting the work order document.')\r\n }\r\n } catch (ex) {\r\n notifyError(ex)\r\n }\r\n }\r\n}\r\n\r\nconst getters = {\r\n workOrderList: () => state.workOrderList,\r\n workOrderTypeList: () => state.workOrderTypeList,\r\n documentsList: () => state.documentsList,\r\n workOrder: () => state.workOrder,\r\n workOrderDocument: () => state.workOrderDocument,\r\n workOrderPhoto: () => state.workOrderPhoto,\r\n workOrderDocumentFile: () => state.workOrderDocumentFile,\r\n workOrderPhotoFile: () => state.workOrderPhotoFile,\r\n uploadedWorkOrderDocumentFile: () => state.uploadedWorkOrderDocumentFile,\r\n count: () => state.count\r\n}\r\n\r\nexport const workorder = {\r\n namespaced: true,\r\n state,\r\n mutations,\r\n actions,\r\n getters\r\n}\r\n","/*\r\n import { mapState } from 'vuex'\r\n\r\n ...mapState({\r\n breakpoint: state => state.win.breakpoint\r\n }),\r\n \r\n const breakpoint = this.$store.state.win.breakpoint;\r\n*/\r\n\r\n/*\r\n for tests:\r\n import { win } from '@/store/modules/win.module'\r\n\r\n store: new Vuex.Store({\r\n modules: {\r\n win\r\n }\r\n })\r\n*/\r\n\r\nimport { windowStore } from '@/utilities/window/store'\r\n\r\nimport Vue from 'vue'\r\nimport Vuex from 'vuex'\r\n\r\nVue.use(Vuex)\r\nexport const win = new Vuex.Store({\r\n namespaced: true,\r\n state: {\r\n breakpoint: windowStore.state.breakpoint\r\n },\r\n mutations: {},\r\n actions: {\r\n change({ state }, breakpoint) {\r\n state.breakpoint = breakpoint\r\n }\r\n },\r\n getters: {}\r\n})\r\n\r\nwindowStore.subscribe((mutation, state) => {\r\n const mType = mutation.type\r\n\r\n if (mType === 'breakPointChange') {\r\n const breakpoint = state.breakpoint\r\n win.dispatch('change', breakpoint)\r\n }\r\n})\r\n","import { ToastProgrammatic as Toast } from 'buefy'\r\n\r\nconst isDebug = true\r\n\r\nfunction notifyError(e) {\r\n Toast.open({\r\n duration: 7000,\r\n message: e.message || e,\r\n position: 'is-bottom',\r\n type: 'is-danger'\r\n })\r\n}\r\n\r\nconst state = {\r\n selectedVendorID: 0,\r\n selectedBoardCommitteeID: 0,\r\n selectedOtherCommitteeID: 0,\r\n selectedOwnerIDs: [],\r\n selectedOwnerIDsJson: [],\r\n selectedVendorIDs: [],\r\n selectedVendorIDsJson: [],\r\n selectedAccountManagerIDS: [],\r\n selectedAccountManagerIDsJson: []\r\n}\r\n\r\nconst mutations = {\r\n save(state, payload) {\r\n for (let prop in payload) {\r\n state[prop] = payload[prop]\r\n }\r\n },\r\n modify(state, payload) {\r\n for (const key in payload) {\r\n state[key] = payload[key]\r\n }\r\n }\r\n}\r\n\r\nconst actions = {\r\n //for attachment previews\r\n async modify({ commit }, payload) {\r\n commit('modify', payload)\r\n },\r\n\r\n async saveVendorID({ commit }, { vendorID }) {\r\n try {\r\n if (isDebug === true) console.debug('saveVendorID=' + vendorID)\r\n\r\n const selectedVendorID = vendorID\r\n commit('save', { selectedVendorID })\r\n } catch (e) {\r\n notifyError(e)\r\n }\r\n },\r\n\r\n async saveVendorIDs({ commit }, { vendorIds, vendorIdsJson }) {\r\n try {\r\n if (isDebug === true)\r\n console.debug(\r\n 'saveVendorIDs=' +\r\n JSON.stringify(vendorIds) +\r\n ', vendorIdsJson=' +\r\n JSON.stringify(vendorIdsJson)\r\n )\r\n\r\n const selectedVendorIDs = vendorIds\r\n const selectedVendorIDsJson = vendorIdsJson\r\n\r\n commit('save', { selectedVendorIDs })\r\n commit('save', { selectedVendorIDsJson })\r\n } catch (e) {\r\n notifyError(e)\r\n }\r\n },\r\n\r\n async saveBoardCommitteeID({ commit }, { committeeID }) {\r\n try {\r\n if (isDebug === true) console.debug('saveBoardCommitteeID=' + committeeID)\r\n\r\n const selectedBoardCommitteeID = committeeID\r\n commit('save', { selectedBoardCommitteeID })\r\n } catch (e) {\r\n notifyError(e)\r\n }\r\n },\r\n async saveOtherCommitteeID({ commit }, { committeeID }) {\r\n try {\r\n if (isDebug === true) console.debug('saveOtherCommitteeID=' + committeeID)\r\n\r\n const selectedOtherCommitteeID = committeeID\r\n commit('save', { selectedOtherCommitteeID })\r\n } catch (e) {\r\n notifyError(e)\r\n }\r\n },\r\n async saveOwnerIDs({ commit }, { ownerIds, ownerIdsJson }) {\r\n try {\r\n if (isDebug === true)\r\n console.debug(\r\n 'saveOwnerIDs=' +\r\n JSON.stringify(ownerIds) +\r\n ', ownerIdsJson=' +\r\n JSON.stringify(ownerIdsJson)\r\n )\r\n\r\n const selectedOwnerIDs = ownerIds\r\n const selectedOwnerIDsJson = ownerIdsJson\r\n commit('save', { selectedOwnerIDs })\r\n commit('save', { selectedOwnerIDsJson })\r\n } catch (e) {\r\n notifyError(e)\r\n }\r\n },\r\n async saveAccountManagerIDs({ commit }, { accountManagerIds, accountManagerIdsJson }) {\r\n try {\r\n if (isDebug === true)\r\n console.debug('saveAccountManagerIDs=' + JSON.stringify(accountManagerIds) + ', ')\r\n\r\n const selectedAccountManagerIDS = accountManagerIds\r\n const selectedAccountManagerIDsJson = accountManagerIdsJson\r\n\r\n commit('save', { selectedAccountManagerIDS })\r\n commit('save', { selectedAccountManagerIDsJson })\r\n } catch (e) {\r\n notifyError(e)\r\n }\r\n }\r\n}\r\n\r\nconst getters = {\r\n selectedVendorID: () => state.selectedVendorID,\r\n selectedBoardCommitteeID: () => state.selectedBoardCommitteeID,\r\n selectedOtherCommitteeID: () => state.selectedOtherCommitteeID,\r\n selectedOwnerIDs: () => state.selectedOwnerIDs,\r\n selectedOwnerIDsJson: () => state.selectedOwnerIDsJson,\r\n selectedVendorIDs: () => state.selectedVendorIDs,\r\n selectedVendorIDsJson: () => state.selectedVendorIDsJson,\r\n selectedAccountManagerIDS: () => state.selectedAccountManagerIDS,\r\n selectedAccountManagerIDsJson: () => state.selectedAccountManagerIDsJson\r\n}\r\n\r\nexport const conversation = {\r\n namespaced: true,\r\n state,\r\n mutations,\r\n actions,\r\n getters\r\n}\r\n","import { notifyError } from '@/services/notify'\r\n\r\nconst state = {\r\n supportMailDelivery: false,\r\n emailSubject: '',\r\n smsSubject: '',\r\n supportSMSDelivery: false,\r\n supportPushDelivery: false,\r\n supportEmailDelivery: false,\r\n isLegalCommunication: false,\r\n isFullDuplex: false,\r\n isColor: false,\r\n uploadFile: null,\r\n mailingTypeID: 0,\r\n mailMessage: '',\r\n emailMessage: '',\r\n smsMessage: '',\r\n emailMessageSubject: '',\r\n mailingCommunicationID: 0,\r\n selectedDeliveryOwners: [],\r\n selectedDeliveryOwnerIDs: [],\r\n pdfFileName: '',\r\n deliveryDate: '',\r\n communicationDescription: '',\r\n timezone: ''\r\n}\r\n\r\nconst mutations = {\r\n save(state, payload) {\r\n for (let prop in payload) {\r\n state[prop] = payload[prop]\r\n }\r\n },\r\n modify(state, payload) {\r\n for (const key in payload) {\r\n state[key] = payload[key]\r\n }\r\n }\r\n}\r\n\r\nconst actions = {\r\n //for attachment previews\r\n async modify({ commit }, payload) {\r\n commit('modify', payload)\r\n },\r\n\r\n async initStates({ commit }) {\r\n try {\r\n console.debug('in initStates...')\r\n const mailingTypeID = 0\r\n const supportMailDelivery = false\r\n const supportSMSDelivery = false\r\n const supportPushDelivery = false\r\n const supportEmailDelivery = false\r\n const isFullDuplex = false\r\n const isColor = false\r\n const emailSubject = ''\r\n const smsSubject = ''\r\n const mailMessage = ''\r\n const smsMessage = ''\r\n const isLegalCommunication = false\r\n const uploadFile = null\r\n const emailMessage = ''\r\n const emailMessageSubject = ''\r\n const mailingCommunicationID = 0\r\n const deliveryDate = ''\r\n const selectedDeliveryOwners = []\r\n const selectedDeliveryOwnerIDs = []\r\n const pdfFileName = ''\r\n const communicationDescription = ''\r\n const timezone = ''\r\n\r\n commit('save', { mailingTypeID })\r\n commit('save', { supportMailDelivery })\r\n commit('save', { supportSMSDelivery })\r\n commit('save', { supportPushDelivery })\r\n commit('save', { supportEmailDelivery })\r\n commit('save', { emailSubject })\r\n commit('save', { smsSubject })\r\n commit('save', { isLegalCommunication })\r\n commit('save', { uploadFile })\r\n commit('save', { mailMessage })\r\n commit('save', { smsMessage })\r\n commit('save', { emailMessage })\r\n commit('save', { emailMessageSubject })\r\n commit('save', { mailingCommunicationID })\r\n commit('save', { deliveryDate })\r\n commit('save', { selectedDeliveryOwners })\r\n commit('save', { selectedDeliveryOwnerIDs })\r\n commit('save', { pdfFileName })\r\n commit('save', { communicationDescription })\r\n commit('save', { isFullDuplex })\r\n commit('save', { isColor })\r\n commit('save', { timezone })\r\n } catch (e) {\r\n notifyError(e)\r\n }\r\n },\r\n\r\n async saveMailingTypeID({ commit }, { mailingTypeID }) {\r\n try {\r\n commit('save', { mailingTypeID })\r\n } catch (e) {\r\n notifyError(e)\r\n }\r\n },\r\n\r\n async saveSupportMailDelivery({ commit }, { supportMailDelivery }) {\r\n try {\r\n commit('save', { supportMailDelivery })\r\n } catch (e) {\r\n notifyError(e)\r\n }\r\n },\r\n\r\n async saveSupportEmailDelivery({ commit }, { supportEmailDelivery }) {\r\n try {\r\n commit('save', { supportEmailDelivery })\r\n } catch (e) {\r\n notifyError(e)\r\n }\r\n },\r\n\r\n async saveSupportSMSDelivery({ commit }, { supportSMSDelivery }) {\r\n try {\r\n commit('save', { supportSMSDelivery })\r\n } catch (e) {\r\n notifyError(e)\r\n }\r\n },\r\n\r\n async saveSupportPushDelivery({ commit }, { supportPushDelivery }) {\r\n try {\r\n commit('save', { supportPushDelivery })\r\n } catch (e) {\r\n notifyError(e)\r\n }\r\n },\r\n\r\n async saveDeliveryDate({ commit }, { deliveryDate }) {\r\n try {\r\n commit('save', { deliveryDate })\r\n } catch (e) {\r\n notifyError(e)\r\n }\r\n },\r\n\r\n async saveDeliveryOwners({ commit }, { selectedDeliveryOwners }) {\r\n try {\r\n commit('save', { selectedDeliveryOwners })\r\n } catch (e) {\r\n notifyError(e)\r\n }\r\n },\r\n\r\n async saveDeliveryOwnerIDs({ commit }, { selectedDeliveryOwnerIDs }) {\r\n try {\r\n commit('save', { selectedDeliveryOwnerIDs })\r\n } catch (e) {\r\n notifyError(e)\r\n }\r\n },\r\n\r\n async saveEmailSubject({ commit }, { emailSubject }) {\r\n try {\r\n commit('save', { emailSubject })\r\n } catch (e) {\r\n notifyError(e)\r\n }\r\n },\r\n\r\n async savePdfFileName({ commit }, { pdfFileName }) {\r\n try {\r\n commit('save', { pdfFileName })\r\n } catch (e) {\r\n notifyError(e)\r\n }\r\n },\r\n\r\n async saveDescription({ commit }, { communicationDescription }) {\r\n try {\r\n commit('save', { communicationDescription })\r\n } catch (e) {\r\n notifyError(e)\r\n }\r\n },\r\n\r\n async saveSmsSubject({ commit }, { smsSubject }) {\r\n try {\r\n commit('save', { smsSubject })\r\n } catch (e) {\r\n notifyError(e)\r\n }\r\n },\r\n\r\n async saveIsLegalCommunication({ commit }, { isLegalCommunication }) {\r\n try {\r\n commit('save', { isLegalCommunication })\r\n } catch (e) {\r\n notifyError(e)\r\n }\r\n },\r\n\r\n async selectedUploadFile({ commit }, { uploadFile }) {\r\n try {\r\n commit('save', { uploadFile })\r\n } catch (e) {\r\n notifyError(e)\r\n }\r\n },\r\n\r\n async composedMailMessage({ commit }, { mailMessage }) {\r\n try {\r\n commit('save', { mailMessage })\r\n } catch (e) {\r\n notifyError(e)\r\n }\r\n },\r\n\r\n async composedEmailMessage({ commit }, { emailMessage }) {\r\n try {\r\n commit('save', { emailMessage })\r\n } catch (e) {\r\n notifyError(e)\r\n }\r\n },\r\n\r\n async composedSmsMessage({ commit }, { smsMessage }) {\r\n try {\r\n commit('save', { smsMessage })\r\n } catch (e) {\r\n notifyError(e)\r\n }\r\n },\r\n\r\n async composedEmailSubject({ commit }, { emailMessageSubject }) {\r\n try {\r\n commit('save', { emailMessageSubject })\r\n } catch (e) {\r\n notifyError(e)\r\n }\r\n },\r\n\r\n async saveSessionCommunicationID({ commit }, { mailingCommunicationID }) {\r\n try {\r\n commit('save', { mailingCommunicationID })\r\n } catch (e) {\r\n notifyError(e)\r\n }\r\n },\r\n\r\n async saveIsFullDuplex({ commit }, { isFullDuplex }) {\r\n try {\r\n commit('save', { isFullDuplex })\r\n } catch (e) {\r\n notifyError(e)\r\n }\r\n },\r\n\r\n async saveIsColor({ commit }, { isColor }) {\r\n try {\r\n commit('save', { isColor })\r\n } catch (e) {\r\n notifyError(e)\r\n }\r\n },\r\n\r\n async saveTimezone({ commit }, { timezone }) {\r\n try {\r\n commit('save', { timezone })\r\n } catch (e) {\r\n notifyError(e)\r\n }\r\n }\r\n}\r\n\r\nconst getters = {\r\n supportMailDelivery: () => state.supportMailDelivery,\r\n supportSMSDelivery: () => state.supportSMSDelivery,\r\n supportPushDelivery: () => state.supportPushDelivery,\r\n supportEmailDelivery: () => state.supportEmailDelivery,\r\n isFullDuplex: () => state.isFullDuplex,\r\n isColor: () => state.isColor,\r\n emailSubject: () => state.emailSubject,\r\n smsSubject: () => state.smsSubject,\r\n isLegalCommunication: () => state.isLegalCommunication,\r\n uploadFile: () => state.uploadFile,\r\n mailingTypeID: () => state.mailingTypeID,\r\n mailMessage: () => state.mailMessage,\r\n emailMessage: () => state.emailMessage,\r\n smsMessage: () => state.smsMessage,\r\n emailMessageSubject: () => state.emailMessageSubject,\r\n mailingCommunicationID: () => state.mailingCommunicationID,\r\n selectedDeliveryOwners: () => state.selectedDeliveryOwners,\r\n selectedDeliveryOwnerIDs: () => state.selectedDeliveryOwnerIDs,\r\n pdfFileName: () => state.pdfFileName,\r\n deliveryDate: () => state.deliveryDate,\r\n timezone: () => state.timezone,\r\n communicationDescription: () => state.communicationDescription\r\n}\r\n\r\nexport const communication = {\r\n namespaced: true,\r\n state,\r\n mutations,\r\n actions,\r\n getters\r\n}\r\n","import { notifyError } from '@/services/notify'\r\n\r\nconst state = {\r\n amenityID: 0,\r\n reservationOwnerID: 0,\r\n startDate: '',\r\n endDate: ''\r\n}\r\n\r\nconst mutations = {\r\n save(state, payload) {\r\n for (let prop in payload) {\r\n state[prop] = payload[prop]\r\n }\r\n },\r\n modify(state, payload) {\r\n for (const key in payload) {\r\n state[key] = payload[key]\r\n }\r\n }\r\n}\r\n\r\nconst actions = {\r\n //for attachment previews\r\n async modify({ commit }, payload) {\r\n commit('modify', payload)\r\n },\r\n\r\n async initStates({ commit }) {\r\n try {\r\n console.debug('in initStates...')\r\n const amenityID = 0\r\n const reservationOwnerID = 0\r\n const startDate = ''\r\n const endDate = ''\r\n\r\n commit('save', { amenityID })\r\n commit('save', { reservationOwnerID })\r\n commit('save', { startDate })\r\n commit('save', { endDate })\r\n } catch (e) {\r\n notifyError(e)\r\n }\r\n },\r\n\r\n async saveAmenityID({ commit }, { amenityID }) {\r\n try {\r\n commit('save', { amenityID })\r\n } catch (e) {\r\n notifyError(e)\r\n }\r\n },\r\n\r\n async saveReservationOwnerID({ commit }, { reservationOwnerID }) {\r\n try {\r\n commit('save', { reservationOwnerID })\r\n } catch (e) {\r\n notifyError(e)\r\n }\r\n },\r\n\r\n async saveStartDate({ commit }, { startDate }) {\r\n try {\r\n commit('save', { startDate })\r\n } catch (e) {\r\n notifyError(e)\r\n }\r\n },\r\n\r\n async saveEndDate({ commit }, { endDate }) {\r\n try {\r\n commit('save', { endDate })\r\n } catch (e) {\r\n notifyError(e)\r\n }\r\n }\r\n}\r\n\r\nconst getters = {\r\n amenityID: () => state.amenityID,\r\n reservationOwnerID: () => state.reservationOwnerID,\r\n startDate: () => state.startDate,\r\n endDate: () => state.endDate\r\n}\r\n\r\nexport const amenity = {\r\n namespaced: true,\r\n state,\r\n mutations,\r\n actions,\r\n getters\r\n}\r\n","/*\r\n import store from '@/store'\r\n*/\r\n\r\nimport Vue from 'vue'\r\nimport Vuex from 'vuex'\r\n\r\n// Store Modules\r\nimport * as modules from './modules/index'\r\n//\r\nimport { appId, VERSION } from '@/config'\r\n\r\nVue.use(Vuex)\r\nexport default new Vuex.Store({\r\n getters: {\r\n appId: () => appId(),\r\n appVersion: () => VERSION\r\n },\r\n modules\r\n})\r\n","/*\r\n\r\n\r\n\r\n*/\r\n\r\nimport store from '../store'\r\n\r\nexport default (to, from, next) => {\r\n const authUser = store.getters['user/authUser']\r\n\r\n // has feature??\r\n\r\n console.log({ authUser })\r\n\r\n if (authUser) {\r\n next()\r\n } else {\r\n next({\r\n path: '/signin',\r\n query: {\r\n nextUrl: to.fullPath\r\n }\r\n })\r\n }\r\n}\r\n","import authGuard from '@/router/auth-guard'\r\n\r\nexport default [\r\n {\r\n path: '/signin',\r\n name: 'signin',\r\n component: () => import('@/pages/SignIn/index.vue')\r\n },\r\n {\r\n path: '/multifactorsignin',\r\n name: 'multifactorsignin',\r\n component: () => import('@/pages/MultifactorSignin')\r\n },\r\n\r\n {\r\n path: '/vendorsignin',\r\n name: 'vendorsignin',\r\n component: () => import('@/pages/VendorSignIn')\r\n },\r\n\r\n {\r\n path: '/signout',\r\n name: 'signout',\r\n component: () => import('@/pages/SignOut')\r\n },\r\n\r\n {\r\n path: '/confirmemail',\r\n name: 'confirmemail',\r\n component: () => import('@/pages/landing/ConfirmEmail')\r\n },\r\n\r\n {\r\n path: '/routeToAction',\r\n name: 'routeToAction',\r\n component: () => import('@/pages/RouteToAction.vue')\r\n },\r\n\r\n // Protected Routes\r\n // User Login Required (w/authGuard)\r\n {\r\n beforeEnter: authGuard,\r\n path: '/overview',\r\n name: 'overview',\r\n component: () => import(/* webpackChunkName: \"protected\" */ '@/pages/Overview.vue')\r\n },\r\n\r\n {\r\n beforeEnter: authGuard,\r\n path: '/support',\r\n name: 'support',\r\n component: () => import(/* webpackChunkName: \"protected\" */ '@/pages/Support.vue')\r\n },\r\n\r\n {\r\n path: '/forgotpassword/:email',\r\n name: 'forgotpassword',\r\n component: () => import(/* webpackChunkName: \"protected\" */ '@/pages/ForgotPassword.vue')\r\n },\r\n\r\n {\r\n path: '/resetpassword',\r\n name: 'resetpassword',\r\n component: () => import(/* webpackChunkName: \"protected\" */ '@/pages/ResetPassword.vue')\r\n },\r\n\r\n {\r\n path: '/newinviteuser/:id',\r\n name: 'newinviteuser',\r\n component: () => import(/* webpackChunkName: \"protected\" */ '@/pages/NewRegistration.vue')\r\n },\r\n\r\n {\r\n path: '/confirmemailregistration',\r\n name: 'confirmemailregistration',\r\n component: () => import('@/pages/Homeowner/registration/ConfirmEmail.vue')\r\n },\r\n {\r\n path: '/confirmemailregistrationvendor',\r\n name: 'confirmemailregistration',\r\n component: () => import('@/pages/Vendor/registration/ConfirmEmail.vue')\r\n },\r\n {\r\n path: '/signupwithcode',\r\n name: 'signupWithCode',\r\n component: () => import('@/pages/Homeowner/registration/HomeownerSignUp.vue')\r\n },\r\n {\r\n path: '/signupwithcodetwo',\r\n name: 'signupwithcodetwo',\r\n component: () => import('@/pages/Homeowner/registration/HomeownerSignUp2.vue')\r\n },\r\n {\r\n path: '/signup/:code',\r\n name: 'registerHomeowner',\r\n component: () => import('@/pages/Homeowner/registration/HomeownerRegistration.vue')\r\n },\r\n {\r\n path: '/signupwithcodevendor',\r\n name: 'signupWithCodeVendor',\r\n component: () => import('@/pages/Vendor/registration/VendorSignUp.vue')\r\n },\r\n {\r\n path: '/signupvendor/:code',\r\n name: 'registerVendor',\r\n component: () => import('@/pages/Vendor/registration/VendorRegistration.vue')\r\n },\r\n {\r\n path: '/promptmultifactor',\r\n name: 'promptmultifactor',\r\n beforeEnter: authGuard,\r\n component: () => import('@/pages/PromptMultiFactor.vue')\r\n }\r\n]\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.unitReady)?_c('div',{staticClass:\"section about has-text-centered\",attrs:{\"tests-id\":\"homeowner-welcome\"}},[_c('div',{staticClass:\"container\"},[_c('h1',[_vm._v(_vm._s(_vm.$t('home.welcome')))]),_c('transition',{attrs:{\"name\":\"fade\",\"mode\":\"out-in\",\"appear\":\"\"}},[(_vm.authUser)?_c('p',[_vm._v(\" \"+_vm._s(_vm.$t('home.helloUser', { name: _vm.authUser.name }))+\" \")]):_c('p',[_vm._v(_vm._s(_vm.$t('home.notSignedIn')))])])],1),(_vm.marquees)?_c('div',{staticClass:\"pt-5\"},_vm._l((_vm.marquees),function(marquee,index){return _c('div',{key:index,staticClass:\"card container\",style:({\n padding: '12px',\n marginBottom: '12px',\n display: 'flex',\n justifyContent: 'space-between'\n })},[_c('div',[_c('div',{staticClass:\"container\",domProps:{\"innerHTML\":_vm._s(marquee.announcementHtml)}})])])}),0):_vm._e(),(_vm.authUser && _vm.authUser.name && _vm.authUser.name != undefined)?_c('div',{staticClass:\"section about has-text-centered\",attrs:{\"tests-id\":\"welcome-homeowner-dashboard\"}},[_c('div',{staticClass:\"container\"},[_c('div',{staticClass:\"flex flex-wrap -mx-2\",style:(_vm.styles.tilesContainer)},[_c('Card',{attrs:{\"data\":_vm.surveys}}),_c('Card',{attrs:{\"data\":_vm.balanceSummary}}),_c('Card',{attrs:{\"data\":_vm.governingDocuments}})],1)])]):_vm._e()]):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/*\r\n import { marqueeAnnouncementStore } from '@/services/MarqueeAnnouncements/store'\r\n*/\r\n\r\nimport Vue from 'vue'\r\nimport Vuex from 'vuex'\r\nimport _get from 'lodash/get'\r\nimport { notifyProblem, notifyError, notifyMessage } from '@/services/notify'\r\nimport kms from '@/services/kms'\r\n\r\nconst isDebug = true\r\n\r\n/* eslint-disable no-empty-pattern */\r\nconst actions = {\r\n /*\r\n const { list } = await marqueeAnnouncementStore.dispatch ('getHoaContactsList', {\r\n hoaId\r\n });\r\n */\r\n\r\n async getMarqueeAnnouncementList({}, { hoaID, filterByDates }) {\r\n console.log('in getMarqueeAnnouncementList...' + hoaID)\r\n\r\n if (hoaID !== undefined) {\r\n let path = `?hoaID=${hoaID}`\r\n if (filterByDates !== undefined && filterByDates) {\r\n path = path + `&filterByDates=${filterByDates}`\r\n }\r\n\r\n try {\r\n const results = await kms.get(`/MarqueeAnnouncements/MarqueeAnnouncement/List${path}`)\r\n\r\n if (isDebug == true)\r\n console.debug('getMarqueeAnnouncementList log=' + JSON.stringify(results))\r\n\r\n return {\r\n list: results.results\r\n }\r\n } catch (exception) {\r\n notifyProblem(`The marquee announcements list could not be retrieved.`)\r\n console.error(exception)\r\n }\r\n }\r\n\r\n return {\r\n list: []\r\n }\r\n },\r\n\r\n async deleteMarqueeAnnouncements({ dispatch }, { marqueeAnnouncementID, done }) {\r\n try {\r\n const path = `/MarqueeAnnouncements/MarqueeAnnouncement/${marqueeAnnouncementID}?forceDelete=false`\r\n\r\n const results = await kms.delete(path)\r\n\r\n if (this.isDebug == true) console.debug('results=' + JSON.stringify(results))\r\n\r\n if (dispatch && dispatch != undefined) console.debug(dispatch)\r\n\r\n const wasDeleted = _get(results, 'deleted', false)\r\n\r\n if (wasDeleted === true) {\r\n notifyMessage(`Successfully deleted the marquee announcement.`)\r\n done()\r\n } else {\r\n notifyError('There was a problem deleting the marquee announcement.')\r\n }\r\n } catch (exception) {\r\n notifyProblem(`There was a problem deleting the marquee announcement.`)\r\n console.error(exception)\r\n }\r\n },\r\n\r\n async addMarqueeAnnouncement({ dispatch }, { payload, done }) {\r\n if (isDebug == true) console.debug('...in addMarqueeAnnouncement')\r\n try {\r\n const results = await kms.post(`/MarqueeAnnouncements/MarqueeAnnouncement`, {\r\n hoaID: payload.hoaID,\r\n announcementHtml: payload.announcementHtml,\r\n publishDate: payload.publishDate,\r\n expirationDate: payload.expirationDate\r\n })\r\n\r\n if (this.isDebug == true) console.debug('results=' + JSON.stringify(results))\r\n\r\n if (dispatch && dispatch != undefined) console.debug(dispatch)\r\n\r\n if (results.marqueeAnnouncementID > 0) {\r\n notifyMessage(`Successfully added the marquee announcement.`)\r\n done()\r\n } else {\r\n notifyError('There was a problem adding this marquee announcement.')\r\n }\r\n } catch (exception) {\r\n notifyError(`There was a problem adding this marquee announcement.`)\r\n console.error(exception)\r\n }\r\n },\r\n\r\n async updateMarqueeAnnouncement({ dispatch }, { payload = {}, done }) {\r\n if (isDebug == true) console.debug('...in updateMarqueeAnnouncement')\r\n try {\r\n const results = await kms.put(`/MarqueeAnnouncements/MarqueeAnnouncement`, payload)\r\n\r\n if (this.isDebug == true) console.debug('results=' + JSON.stringify(results))\r\n\r\n if (dispatch && dispatch != undefined) console.debug(dispatch)\r\n\r\n if (results.marqueeAnnouncementID > 0) {\r\n notifyMessage(`Successfully updated this marquee announcement.`)\r\n done()\r\n } else {\r\n notifyError('There was a problem updating this marquee announcement.')\r\n }\r\n } catch (exception) {\r\n notifyError(`There was a problem processing the update for this marquee announcement.`)\r\n console.error(exception)\r\n }\r\n }\r\n}\r\n/* eslint-enable no-empty-pattern */\r\n\r\nVue.use(Vuex)\r\nexport const marqueeAnnouncementStore = new Vuex.Store({\r\n state: {},\r\n mutations: {},\r\n getters: {},\r\n actions\r\n})\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"w-full lg:w-1/3 p-2\",style:(_vm.styles_.tile)},[_c('div',{staticClass:\"bg-white p-10 rounded shadow\",style:(_vm.styles_.innerTile)},[_c('div',[_c('i',{class:(\"icon-\" + (_vm.data.icon)),staticStyle:{\"width\":\"60px\",\"height\":\"60px\"}})]),_c('h1',{staticClass:\"text-base text-xl text-blue-800 font-semibold\"},[_vm._v(_vm._s(_vm.data.title))]),_c('h2',{staticClass:\"text-base\"},[_vm._v(_vm._s(_vm.data.subtitle))]),(_vm.data.balanceSummaryData)?_c('div',{style:(_vm.styles_.balanceSummaryData)},[_c('div',{staticClass:\"mt-16 mb-10 flex flex-wrap\"},[(_vm.data.balanceSummaryData.currentBalance)?_c('div',{staticClass:\"w-full border-gray-200 mb-4\"},[_c('h5',{staticClass:\"text-base text-3xl text-blue-800 text-center mb-0\"},[_vm._v(\" \"+_vm._s(_vm._f(\"currency\")(_vm.data.balanceSummaryData.currentBalance))+\" \")]),_c('h5',{staticClass:\"text-base text-md text-gray-500 text-center font-normal\"},[_vm._v(\" Current Account Balance \")])]):_c('div',{staticClass:\"w-full border-gray-200 mb-4\"},[_c('h5',{staticClass:\"text-base text-3xl text-blue-800 text-center mb-0\"},[_vm._v(\" \"+_vm._s(_vm._f(\"currency\")(0))+\" \")]),_c('h5',{staticClass:\"text-base text-md text-gray-500 text-center font-normal\"},[_vm._v(\" Current Account Balance \")])]),(_vm.data.balanceSummaryData.lastPaymentReceived)?_c('div',{staticClass:\"w-full border-gray-200 mb-4\"},[_c('h5',{staticClass:\"text-base text-3xl text-blue-800 text-center mb-0\"},[_vm._v(\" \"+_vm._s(_vm._f(\"currency\")(_vm.data.balanceSummaryData.lastPaymentReceived))+\" \")]),_c('h5',{staticClass:\"text-base text-md text-gray-500 text-center font-normal\"},[_vm._v(\" Last Payment Received \")])]):_c('div',{staticClass:\"w-full border-gray-200 mb-4\"},[_c('h5',{staticClass:\"text-base text-3xl text-blue-800 text-center mb-0\"},[_vm._v(\" \"+_vm._s(_vm._f(\"currency\")(0))+\" \")]),_c('h5',{staticClass:\"text-base text-md text-gray-500 text-center font-normal\"},[_vm._v(\" Last Payment Received \")])]),(_vm.data.balanceSummaryData.nextAssessmentDue)?_c('div',{staticClass:\"w-full border-gray-200 mb-4\"},[_c('h5',{staticClass:\"text-base text-3xl text-blue-800 text-center mb-0\"},[_vm._v(\" \"+_vm._s(_vm._f(\"currency\")(_vm.data.balanceSummaryData.nextAssessmentDue))+\" \")]),_c('h5',{staticClass:\"text-base text-md text-gray-500 text-center font-normal\"},[_vm._v(\" Next Assessment Due \")])]):_c('div',{staticClass:\"w-full border-gray-200 mb-4\"},[_c('h5',{staticClass:\"text-base text-3xl text-blue-800 text-center mb-0\"},[_vm._v(\" \"+_vm._s(_vm._f(\"currency\")(0))+\" \")]),_c('h5',{staticClass:\"text-base text-md text-gray-500 text-center font-normal\"},[_vm._v(\" Next Assessment Due \")])]),(_vm.data.balanceSummaryData.pendingPayments)?_c('div',{staticClass:\"w-full border-gray-200 mb-4\"},[_c('h5',{staticClass:\"text-base text-3xl text-blue-800 text-center mb-0\"},[_vm._v(\" \"+_vm._s(_vm._f(\"currency\")(_vm.data.balanceSummaryData.pendingPayments))+\" \")]),_c('h5',{staticClass:\"text-base text-md text-gray-500 text-center font-normal\"},[_vm._v(\" Pending Payments \")])]):_c('div',{staticClass:\"w-full border-gray-200 mb-4\"},[_c('h5',{staticClass:\"text-base text-3xl text-blue-800 text-center mb-0\"},[_vm._v(\" \"+_vm._s(_vm._f(\"currency\")(0))+\" \")]),_c('h5',{staticClass:\"text-base text-md text-gray-500 text-center font-normal\"},[_vm._v(\" Pending Payments \")])])]),(_vm.data.balanceSummaryData.autoPayment == true)?_c('div',[_c('h6',{staticClass:\"text-base text-md text-gray-500 text-center font-normal\"},[_vm._v(\" \"+_vm._s((\"Your bank account with, \\\"\" + (_vm.data.balanceSummaryData.bankName || 'None') + \"\\\", will be\"))+\" \"),_c('br'),_vm._v(\" \"+_vm._s(\"automatically debited for your next assessment.\")+\" \")])]):_vm._e()]):_vm._e(),(_vm.data.assetSummary)?_c('div',{style:(_vm.styles_.assetSummary)},[_c('div',{staticClass:\"mt-16 mb-10 flex flex-wrap\"},[(_vm.data.assetSummary.operating)?_c('div',{staticClass:\"w-full border-gray-200 mb-4\"},[_c('h5',{staticClass:\"text-base text-3xl text-blue-800 text-center mb-0\"},[_vm._v(\" \"+_vm._s(_vm._f(\"currency\")(_vm.data.assetSummary.operating))+\" \")]),_c('h5',{staticClass:\"text-base text-md text-gray-500 text-center font-normal\"},[_vm._v(\" Operating Account \")])]):_c('div',{staticClass:\"w-full border-gray-200 mb-4\"},[_c('h5',{staticClass:\"text-base text-3xl text-blue-800 text-center mb-0\"},[_vm._v(\" \"+_vm._s(_vm._f(\"currency\")(0))+\" \")]),_c('h5',{staticClass:\"text-base text-md text-gray-500 text-center font-normal\"},[_vm._v(\" Operating Account \")])]),(_vm.data.assetSummary.reserve)?_c('div',{staticClass:\"w-full border-gray-200 mb-4\"},[_c('h5',{staticClass:\"text-base text-3xl text-blue-800 text-center mb-0\"},[_vm._v(\" \"+_vm._s(_vm._f(\"currency\")(_vm.data.assetSummary.reserve))+\" \")]),_c('h5',{staticClass:\"text-base text-md text-gray-500 text-center font-normal\"},[_vm._v(\" Reserve Accounts \")])]):_c('div',{staticClass:\"w-full border-gray-200 mb-4\"},[_c('h5',{staticClass:\"text-base text-3xl text-blue-800 text-center mb-0\"},[_vm._v(\" \"+_vm._s(_vm._f(\"currency\")(0))+\" \")]),_c('h5',{staticClass:\"text-base text-md text-gray-500 text-center font-normal\"},[_vm._v(\" Reserve Accounts \")])]),(_vm.data.assetSummary.workingCapital)?_c('div',{staticClass:\"w-full border-gray-200 mb-4\"},[_c('h5',{staticClass:\"text-base text-3xl text-blue-800 text-center mb-0\"},[_vm._v(\" \"+_vm._s(_vm._f(\"currency\")(_vm.data.assetSummary.workingCapital))+\" \")]),_c('h5',{staticClass:\"text-base text-md text-gray-500 text-center font-normal\"},[_vm._v(\" Working Capital Accounts \")])]):_c('div',{staticClass:\"w-full border-gray-200 mb-4\"},[_c('h5',{staticClass:\"text-base text-3xl text-blue-800 text-center mb-0\"},[_vm._v(\" \"+_vm._s(_vm._f(\"currency\")(0))+\" \")]),_c('h5',{staticClass:\"text-base text-md text-gray-500 text-center font-normal\"},[_vm._v(\" Working Capital Accounts \")])])])]):_vm._e(),(_vm.data.financialSummary)?_c('div',{style:(_vm.styles_.financialSummary)},[_c('div',{staticClass:\"mt-16 mb-0 flex flex-wrap\"},[(_vm.data.financialSummary.operating)?_c('div',{staticClass:\"w-full border-gray-200 mb-4\"},[_c('h5',{staticClass:\"text-base text-3xl text-blue-800 text-center mb-0\"},[_vm._v(\" \"+_vm._s(_vm._f(\"currency\")(_vm.data.financialSummary.operating))+\" \")]),_c('h5',{staticClass:\"text-base text-md text-gray-500 text-center font-normal\"},[_vm._v(\" Operating Account \")])]):_vm._e(),(_vm.data.financialSummary.reserve)?_c('div',{staticClass:\"w-full\"},[_c('h5',{staticClass:\"text-base text-3xl text-blue-200 text-center mb-0\"},[_vm._v(\" \"+_vm._s(_vm._f(\"currency\")(_vm.data.financialSummary.reserve))+\" \")]),_c('h5',{staticClass:\"text-base text-md text-gray-500 text-center font-normal\"},[_vm._v(\" Reserve Accounts \")])]):_vm._e(),(_vm.data.financialSummary.totalIncome)?_c('div',{staticClass:\"w-full border-gray-200 mb-0\"},[_c('h5',{staticClass:\"text-base text-3xl text-blue-800 text-center mb-0\"},[_vm._v(\" \"+_vm._s(_vm._f(\"currency\")(_vm.data.financialSummary.totalIncome))+\" \")]),_c('h5',{staticClass:\"text-base text-md text-gray-500 text-center font-normal\"},[_vm._v(\" Total Income this Year \")])]):_vm._e(),(_vm.data.financialSummary.totalExpense)?_c('div',{staticClass:\"w-full\"},[_c('h5',{staticClass:\"text-base text-3xl text-blue-200 text-center mb-0\"},[_vm._v(\" \"+_vm._s(_vm._f(\"currency\")(_vm.data.financialSummary.totalExpense))+\" \")]),_c('h5',{staticClass:\"text-base text-md text-gray-500 text-center font-normal\"},[_vm._v(\" Total Expenses this Year \")])]):_vm._e()]),(_vm.data.financialSummary.operating)?_c('div',{staticClass:\"bg-blue-900 rounded h-10\"},[_c('div',{staticClass:\"bg-blue-200 flex justify-flex-end align-items-flex-end h-full rounded\",style:((\"width: \" + _vm.difference_appearance + \"%;\"))},[_c('div',{staticClass:\"bg-blue-200 border-2 border-white rounded-sm h-4 w-4 inline-block -mr-2 -mb-2 relative\"},[_c('div',{staticClass:\"bg-blue-200 rounded-sm absolute p-2 w-40 text-sm z-10\",style:(_vm.styles.textBubble)},[_c('div',{style:(_vm.styles.upArrow)}),_vm._v(\" \"+_vm._s(_vm.difference)+\"% to target \")])])])]):_vm._e()]):_vm._e(),(Array.isArray(_vm.data.list))?_c('ul',{staticClass:\"mt-8\"},_vm._l((_vm.data.list),function(item,index){return _c('li',{key:index,staticClass:\"bg-white odd:bg-gray-200 rounded-sm p-2 flex\",style:(_vm.styles.listItem)},[_c('div',{staticClass:\"w-1/5 text-blue-200 font-bold\"},[_vm._v(_vm._s(item.col1))]),_c('div',{staticClass:\"text-left\",style:(_vm.styles.listItemRight)},[_vm._v(_vm._s(item.col2))])])}),0):_vm._e(),(_vm.data.button.dropdown)?_c('div',{style:(_vm.styles_.dropdown)},[_c('b-dropdown',{staticClass:\"outline-none focus:border-none mt-8\",attrs:{\"aria-role\":\"list\"},scopedSlots:_vm._u([{key:\"trigger\",fn:function(ref){\nvar active = ref.active;\nreturn _c('button',{staticClass:\"rounded-sm border border-gray-400 px-4 py-2\",style:(_vm.styles.dropdownButton)},[_c('span',{staticClass:\"relative\"}),_c('b-icon',{attrs:{\"icon\":active ? 'menu-up' : 'menu-down'}}),_c('router-link',{staticClass:\"button is-info is-light is-small is-outline is-rounded\",attrs:{\"to\":_vm.data.button.path}},[_vm._v(_vm._s(_vm.data.button.title))])],1)}}],null,false,4020191710)},[(_vm.data.button.dropdown && _vm.data.button.dropdown != undefined)?_c('span',_vm._l((_vm.data.button.dropdown),function(item,index){return _c('b-dropdown-item',{key:index,attrs:{\"aria-role\":\"listitem\"}},[_c('router-link',{attrs:{\"to\":item.path}},[_vm._v(\" \"+_vm._s(item.title)+\" \")])],1)}),1):_vm._e()])],1):_vm._e(),(_vm.data.hrefList && _vm.data.hrefList != undefined)?_c('div',{staticClass:\"pt-2\",style:({ marginLeft: '24px' })},[(_vm.data.isAlternatingRowColors && _vm.data.isAlternatingRowColors == true)?_c('ul',_vm._l((_vm.data.hrefList),function(item,index){return _c('li',{key:index,staticClass:\"bg-white odd:bg-gray-200 rounded-md p-2 flex\",staticStyle:{\"text-align\":\"left !important\"},attrs:{\"aria-role\":\"listitem\"}},[_c('div',{staticClass:\"w-1/6 text-blue-400 font-bold\",staticStyle:{\"text-align\":\"center\",\"vertical-align\":\"center\"}},[_vm._v(\" \"+_vm._s(item.prefix)+\" \")]),_c('div',{staticClass:\"text-left href-overflow-wrap\",style:(_vm.styles.listItemRight)},[_c('router-link',{attrs:{\"to\":item.path}},[_vm._v(\" \"+_vm._s(item.title)+\" \")])],1)])}),0):_c('span',_vm._l((_vm.data.hrefList),function(item,index){return _c('li',{key:index,staticStyle:{\"text-align\":\"left !important\"},attrs:{\"aria-role\":\"listitem\"}},[_c('router-link',{staticClass:\"font-bold href-overflow-wrap\",attrs:{\"to\":item.path}},[_vm._v(\" \"+_vm._s(item.title)+\" \")])],1)}),0)]):_vm._e()])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Card.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Card.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Card.vue?vue&type=template&id=ea22467e&\"\nimport script from \"./Card.vue?vue&type=script&lang=js&\"\nexport * from \"./Card.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\r\n\r\n\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Welcome.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Welcome.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Welcome.vue?vue&type=template&id=ccf35c70&\"\nimport script from \"./Welcome.vue?vue&type=script&lang=js&\"\nexport * from \"./Welcome.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import authGuard from '@/router/auth-guard'\r\n\r\nexport default [\r\n {\r\n path: '/architecturalRequests',\r\n name: 'architecturalRequests',\r\n component: () =>\r\n import(\r\n /* webpackChunkName: \"architecturalRequests\" */ '@/pages/Homeowner/architecturalRequests/List/index.vue'\r\n ),\r\n beforeEnter: authGuard\r\n },\r\n {\r\n path: '/architecturaltabs/:id',\r\n name: 'architecturaltabs',\r\n component: () =>\r\n import(\r\n /* webpackChunkName: \"architecturalRequests\" */ '@/pages/Shared/architecturalRequest/index.vue'\r\n ),\r\n beforeEnter: authGuard,\r\n children: [\r\n {\r\n path: 'architecturalRequestDetails',\r\n name: 'architectural.architecturalRequestDetails',\r\n component: () =>\r\n import(\r\n /* webpackChunkName: \"architecturalRequests\" */ '@/pages/Shared/architecturalRequest/Details/index.vue'\r\n )\r\n },\r\n {\r\n path: 'architecturalRequestVoteDetails',\r\n name: 'architectural.architecturalRequestVoteDetails',\r\n component: () =>\r\n import(\r\n /* webpackChunkName: \"architecturalRequests\" */ '@/pages/Shared/architecturalRequest/tabs/voteDetails/List.vue'\r\n )\r\n },\r\n {\r\n path: 'architecturalRequestDocuments',\r\n name: 'architectural.architecturalRequestDocuments',\r\n component: () =>\r\n import(\r\n /* webpackChunkName: \"architecturalRequests\" */ '@/pages/Shared/architecturalRequest/tabs/documents/List.vue'\r\n )\r\n },\r\n {\r\n path: 'architecturalRequestImages',\r\n name: 'architectural.architecturalRequestImages',\r\n component: () =>\r\n import(\r\n /* webpackChunkName: \"architecturalRequests\" */ '@/pages/Shared/architecturalRequest/tabs/photos/List.vue'\r\n )\r\n },\r\n {\r\n path: 'architecturalRequestConversations',\r\n name: 'architectural.architecturalRequestConversations',\r\n component: () =>\r\n import(\r\n /* webpackChunkName: \"architecturalRequests\" */ '@/pages/Shared/architecturalRequest/tabs/conversations/List.vue'\r\n )\r\n },\r\n {\r\n // If no tab is specifed, go to overview\r\n path: '',\r\n redirect: 'architecturalRequestDetails'\r\n },\r\n {\r\n // If path doesn't match, go to overview\r\n path: '*',\r\n redirect: 'architecturalRequestDetails'\r\n }\r\n ]\r\n }\r\n]\r\n","import authGuard from '@/router/auth-guard'\r\n\r\nexport default [\r\n {\r\n path: '/violations',\r\n name: 'violations',\r\n component: () => import('@/pages/Homeowner/violations/Main/index.vue'),\r\n beforeEnter: authGuard\r\n },\r\n {\r\n path: '/violationtabs/:id',\r\n name: 'violationTabs',\r\n component: () =>\r\n import(/* webpackChunkName: \"violations\" */ '@/pages/Shared/violations/Details/index.vue'),\r\n beforeEnter: authGuard,\r\n children: [\r\n {\r\n path: 'violationDetails',\r\n name: 'violation.violationDetails',\r\n component: () =>\r\n import(\r\n /* webpackChunkName: \"violations\" */ '@/pages/Shared/violations/Details/tabs/details/index.vue'\r\n )\r\n },\r\n {\r\n path: 'violationConversations',\r\n name: 'violation.violationConversations',\r\n component: () =>\r\n import(\r\n /* webpackChunkName: \"violations\" */ '@/pages/Shared/violations/Details/tabs/conversations/List.vue'\r\n )\r\n },\r\n {\r\n path: 'violationHistory',\r\n name: 'violation.violationHistory',\r\n component: () =>\r\n import(\r\n /* webpackChunkName: \"violations\" */ '@/pages/Shared/violations/Details/tabs/history/List.vue'\r\n )\r\n },\r\n {\r\n // If no tab is specifed, go to overview\r\n path: '',\r\n redirect: 'violationDetails'\r\n },\r\n {\r\n // If path doesn't match, go to overview\r\n path: '*',\r\n redirect: 'violationDetails'\r\n }\r\n ]\r\n }\r\n]\r\n","import authGuard from '@/router/auth-guard'\r\n\r\nexport default [\r\n {\r\n path: '/amenities',\r\n name: 'amenities',\r\n component: () => import('@/pages/Shared/amenities/Main/index.vue'),\r\n beforeEnter: authGuard\r\n },\r\n {\r\n path: '/amenity/:id',\r\n name: 'amenity',\r\n component: () => import('@/pages/Shared/amenities/Details/index.vue'),\r\n beforeEnter: authGuard\r\n },\r\n {\r\n path: '/amenityconversations/:id',\r\n name: 'amenityconversations',\r\n component: () => import('@/pages/Shared/amenities/Main/conversations/index.vue'),\r\n beforeEnter: authGuard\r\n }\r\n]\r\n","import authGuard from '@/router/auth-guard'\r\n\r\nexport default [\r\n {\r\n beforeEnter: authGuard,\r\n path: '/workOrderRequests',\r\n name: 'workOrderRequests',\r\n component: () =>\r\n import(/* webpackChunkName: \"protected\" */ '@/pages/Homeowner/workOrderRequest/List/Main.vue')\r\n },\r\n {\r\n path: '/workorderpromotetabs/:id',\r\n name: 'workorderpromotetabs',\r\n component: () =>\r\n import(\r\n /* webpackChunkName: \"workOrderHoRequest\" */ '@/pages/Homeowner/workOrderRequest/Details/index.vue'\r\n ),\r\n beforeEnter: authGuard,\r\n children: [\r\n {\r\n path: 'workorderRequestDetail',\r\n name: 'workorderrequest.workorderRequestDetail',\r\n component: () =>\r\n import(\r\n /* webpackChunkName: \"workOrderHoRequest\" */ '@/pages/Homeowner/workOrderRequest/Details/tabs/requestDetails/Main.vue'\r\n )\r\n },\r\n {\r\n path: 'workorderRequestConversation',\r\n name: 'workorderrequest.workorderRequestConversation',\r\n component: () =>\r\n import(\r\n /* webpackChunkName: \"workOrderHoRequest\" */ '@/pages/Homeowner/workOrderRequest/Details/tabs/conversations/List.vue'\r\n )\r\n },\r\n {\r\n // If no tab is specifed, go to overview\r\n path: '',\r\n redirect: 'workorderRequestDetail'\r\n },\r\n {\r\n // If path doesn't match, go to overview\r\n path: '*',\r\n redirect: 'workorderRequestDetail'\r\n }\r\n ]\r\n }\r\n]\r\n","import authGuard from '@/router/auth-guard'\r\n\r\nexport default [\r\n {\r\n path: '/communityCenter/',\r\n component: () =>\r\n import(\r\n /* webpackChunkName: \"communityCenter\" */ '@/pages/Homeowner/communityCenter/index.vue'\r\n ),\r\n beforeEnter: authGuard,\r\n children: [\r\n {\r\n path: 'calendar',\r\n name: 'communityCenter.calendar',\r\n component: () =>\r\n import(\r\n /* webpackChunkName: \"communityCenter.calendar\" */ '@/pages/Homeowner/communityCenter/tabs/calendar/index.vue'\r\n )\r\n },\r\n {\r\n path: 'documentCenter',\r\n name: 'communityCenter.documentCenter',\r\n component: () =>\r\n import(\r\n /* webpackChunkName: \"communityCenter.documentCenter\" */ '@/pages/Homeowner/communityCenter/tabs/documentCenter/List.vue'\r\n )\r\n },\r\n {\r\n path: '/frequentlyAskedQuestions',\r\n name: 'communityCenter.frequentlyAskedQuestions',\r\n component: () =>\r\n import(\r\n /* webpackChunkName: \"communityCenter.frequentlyAskedQuestions\" */\r\n\r\n '@/pages/Homeowner/communityCenter/tabs/frequentlyAskedQuestions/List.vue'\r\n ),\r\n beforeEnter: authGuard\r\n },\r\n {\r\n path: 'hoaContacts',\r\n name: 'communityCenter.hoaContacts',\r\n component: () =>\r\n import(\r\n /* webpackChunkName: \"communityCenter.hoaContacts\" */ '@/pages/Homeowner/communityCenter/tabs/hoaContacts/List.vue'\r\n )\r\n },\r\n {\r\n // If no tab is specifed, go to overview\r\n path: '',\r\n redirect: 'calendar'\r\n },\r\n {\r\n // If path doesn't match, go to overview\r\n path: '*',\r\n redirect: 'calendar'\r\n }\r\n ]\r\n }\r\n]\r\n","import authGuard from '@/router/auth-guard'\r\n\r\nexport default [\r\n {\r\n path: '/payOutstandingBalance',\r\n name: 'payOutstandingBalance',\r\n component: () =>\r\n import(\r\n /* webpackChunkName: \"billing\" */ '@/pages/Homeowner/billing/payment/PayOutstandingBalance.vue'\r\n ),\r\n beforeEnter: authGuard\r\n },\r\n {\r\n path: '/billingtabs',\r\n name: 'billingtabs',\r\n component: () => import(/* webpackChunkName: \"billing\" */ '@/pages/Homeowner/billing/Main.vue'),\r\n beforeEnter: authGuard,\r\n children: [\r\n {\r\n path: 'accountActivity',\r\n name: 'billing.accountActivity',\r\n component: () =>\r\n import(\r\n /* webpackChunkName: \"billing\" */ '@/pages/Homeowner/billing/tabs/accountActivity/List.vue'\r\n )\r\n },\r\n {\r\n path: 'statementsOfAccount',\r\n name: 'billing.statementsOfAccount',\r\n component: () =>\r\n import(\r\n /* webpackChunkName: \"billing\" */ '@/pages/Homeowner/billing/tabs/statementsOfAccount/List.vue'\r\n )\r\n },\r\n {\r\n path: 'ownerPaymentMethods',\r\n name: 'billing.ownerPaymentMethods',\r\n component: () =>\r\n import(\r\n /* webpackChunkName: \"billing\" */ '@/pages/Homeowner/billing/tabs/ownerPaymentMethodList/List.vue'\r\n )\r\n },\r\n {\r\n path: 'scheduledPayments',\r\n name: 'billing.scheduledPayments',\r\n component: () =>\r\n import(\r\n /* webpackChunkName: \"billing\" */ '@/pages/Homeowner/billing/tabs/scheduledPayments/index.vue'\r\n )\r\n },\r\n {\r\n // If no tab is specifed, go to overview\r\n path: '',\r\n redirect: 'accountActivity'\r\n },\r\n {\r\n // If path doesn't match, go to overview\r\n path: '*',\r\n redirect: 'accountActivity'\r\n }\r\n ]\r\n }\r\n]\r\n","import authGuard from '@/router/auth-guard'\r\n\r\nexport default [\r\n {\r\n path: '/evoting',\r\n name: 'evoting',\r\n component: () => import(/* webpackChunkName: \"evoting\" */ '@/pages/Homeowner/evoting/List.vue'),\r\n beforeEnter: authGuard\r\n }\r\n]\r\n","import authGuard from '@/router/auth-guard'\r\n\r\nexport default [\r\n {\r\n path: '/customerSupport',\r\n name: 'customerSupport',\r\n component: () =>\r\n import(/* webpackChunkName: \"customerSupport\" */ '@/pages/Shared/customerSupport/index.vue'),\r\n beforeEnter: authGuard\r\n }\r\n]\r\n","import authGuard from '@/router/auth-guard'\r\nimport commonRoutes from '@/router/common/routes'\r\nimport Welcome from '@/pages/Welcome.vue'\r\nimport ArchitecturalRequests from './architecturalRequests'\r\nimport Violations from './violations'\r\nimport Amenities from './amenities'\r\nimport WorkOrderRequests from './workOrderRequests'\r\nimport communityCenter from './communityCenter'\r\nimport billing from './billing'\r\nimport evoting from './evoting'\r\nimport customerSupport from './customerSupport'\r\n\r\nconst routes = [\r\n // Routes shared across apps\r\n\r\n ...communityCenter,\r\n ...commonRoutes,\r\n ...Amenities,\r\n ...Violations,\r\n ...ArchitecturalRequests,\r\n ...WorkOrderRequests,\r\n ...billing,\r\n ...evoting,\r\n ...customerSupport,\r\n\r\n // Public Routes\r\n {\r\n path: '/',\r\n name: 'home',\r\n component: Welcome,\r\n beforeEnter: authGuard\r\n },\r\n\r\n // Protected Routes\r\n // User Login Required (w/authGuard)\r\n {\r\n beforeEnter: authGuard,\r\n path: '/about',\r\n name: 'about',\r\n component: () => import(/* webpackChunkName: \"protected\" */ '@/pages/About.vue')\r\n },\r\n {\r\n beforeEnter: authGuard,\r\n path: '/propertysettings',\r\n name: 'propertysettings',\r\n component: () =>\r\n import(\r\n /* webpackChunkName: \"protected\" */ '@/pages/Homeowner/accounts/PropertySettings/index.vue'\r\n )\r\n },\r\n {\r\n path: '/userSettings',\r\n name: 'userSettings',\r\n component: () =>\r\n import(\r\n /* webpackChunkName: \"protected\" */ '@/pages/Homeowner/accounts/userSettings/Main.vue'\r\n ),\r\n beforeEnter: authGuard,\r\n children: [\r\n {\r\n path: 'profile',\r\n name: 'userSettings.profile',\r\n component: () =>\r\n import(\r\n /* webpackChunkName: \"userSettings\" */ '@/pages/Homeowner/accounts/userSettings/tabs/profile/Profile.vue'\r\n )\r\n },\r\n {\r\n path: 'accountSecurity',\r\n name: 'userSettings.accountSecurity',\r\n component: () =>\r\n import(\r\n /* webpackChunkName: \"userSettings\" */ '@/pages/Homeowner/accounts/userSettings/tabs/accountSecurity/AccountSecurity.vue'\r\n )\r\n },\r\n {\r\n path: 'notificationsubscriptions',\r\n name: 'userSettings.notificationsubscriptions',\r\n component: () =>\r\n import(\r\n /* webpackChunkName: \"userSettings\" */ '@/pages/Homeowner/accounts/userSettings/tabs/notificationSubscriptions/List.vue'\r\n )\r\n },\r\n {\r\n path: 'ho-twofactorauthentication',\r\n name: 'userSettings.ho-twofactorauthentication',\r\n component: () =>\r\n import(\r\n /* webpackChunkName: \"userSettings\" */ '@/pages/Homeowner/accounts/userSettings/tabs/twoFactorAuthentication/index.vue'\r\n )\r\n }\r\n ]\r\n },\r\n {\r\n beforeEnter: authGuard,\r\n path: '/takeSurvey/:id',\r\n name: 'takeSurvey',\r\n component: () =>\r\n import(\r\n /* webpackChunkName: \"protected\" */ '@/pages/Homeowner/surveys/UserTakeSurvey/Index.vue'\r\n )\r\n },\r\n {\r\n path: '/property',\r\n name: 'property',\r\n component: () =>\r\n import(\r\n /* webpackChunkName: \"units\" */ '@/pages/Homeowner/accounts/PropertySettings/index.vue'\r\n ),\r\n beforeEnter: authGuard,\r\n children: [\r\n {\r\n path: 'contacts',\r\n name: 'property.contacts',\r\n component: () =>\r\n import(\r\n /* webpackChunkName: \"property\" */ '@/pages/Homeowner/accounts/properties/tabs/Contacts.vue'\r\n )\r\n },\r\n {\r\n path: 'mailingAddress',\r\n name: 'property.mailingAddress',\r\n component: () =>\r\n import(\r\n /* webpackChunkName: \"property\" */ '@/pages/Homeowner/accounts/properties/tabs/MailingAddress/index.vue'\r\n )\r\n },\r\n {\r\n path: 'directoryContactAdmin',\r\n name: 'property.directoryContactAdmin',\r\n component: () =>\r\n import(\r\n /* webpackChunkName: \"property\" */ '@/pages/Homeowner/accounts/properties/tabs/directoryContactAdmin/Main.vue'\r\n )\r\n },\r\n {\r\n path: 'mailDelivery',\r\n name: 'property.mailDelivery',\r\n component: () =>\r\n import(\r\n /* webpackChunkName: \"property\" */ '@/pages/Homeowner/accounts/properties/tabs/MailDelivery.vue'\r\n )\r\n },\r\n {\r\n path: 'vehicles',\r\n name: 'property.vehicles',\r\n component: () =>\r\n import(\r\n /* webpackChunkName: \"property\" */ '@/pages/Homeowner/accounts/properties/tabs/Vehicles.vue'\r\n )\r\n }\r\n ]\r\n },\r\n {\r\n path: '/alerts',\r\n name: 'alerts',\r\n component: () =>\r\n import(/* webpackChunkName: \"notifications\" */ '@/pages/Shared/notifications/Dashboard.vue'),\r\n beforeEnter: authGuard\r\n },\r\n {\r\n path: '/alerts/:id',\r\n component: () =>\r\n import(/* webpackChunkName: \"notifications\" */ '@/pages/Shared/notifications/Dashboard.vue'),\r\n beforeEnter: authGuard\r\n },\r\n {\r\n path: '/directoryContacts',\r\n name: 'directoryContacts',\r\n component: () =>\r\n import(\r\n /* webpackChunkName: \"directoryContact\" */ '@/pages/Homeowner/directoryContact/List.vue'\r\n ),\r\n beforeEnter: authGuard\r\n },\r\n {\r\n path: '/helpCenter',\r\n name: 'helpCenter',\r\n component: () =>\r\n import(/* webpackChunkName: \"helpCenter\" */ '@/pages/Homeowner/helpCenter/index.vue'),\r\n beforeEnter: authGuard\r\n },\r\n {\r\n path: '*',\r\n name: 'notFound',\r\n beforeEnter: authGuard,\r\n component: () => import(/* webpackChunkName: \"protected\" */ '@/pages/Homeowner/NotFound')\r\n },\r\n {\r\n path: '/conversations',\r\n name: 'conversations',\r\n component: () =>\r\n import(\r\n /* webpackChunkName: \"conversations\" */ '@/pages/Shared/communications/Global/List.vue'\r\n ),\r\n beforeEnter: authGuard\r\n },\r\n {\r\n path: '/newconversation',\r\n name: 'newconversation',\r\n component: () =>\r\n import(\r\n /* webpackChunkName: \"conversations\" */ '@/pages/Shared/communications/Global/newConversation/index.vue'\r\n ),\r\n beforeEnter: authGuard\r\n },\r\n {\r\n path: '/conversationdetail/:id',\r\n name: 'conversationdetail',\r\n component: () =>\r\n import(\r\n /* webpackChunkName: \"conversations\" */ '@/pages/Shared/communications/Global/detail/index.vue'\r\n ),\r\n beforeEnter: authGuard\r\n }\r\n]\r\n\r\nexport default routes\r\n","import Vue from 'vue'\r\nimport VueRouter from 'vue-router'\r\nimport scrollBehavior from '../common/scrollBehavior'\r\nimport { afterEach } from '../common/afterEach'\r\nimport routes from './routes'\r\n\r\nVue.use(VueRouter)\r\n\r\nconst { NODE_ENV, BASE_URL } = process.env\r\n\r\n// In dev server, each app is proxied from a sub-folder path\r\nconst base = NODE_ENV === 'development' ? '/homeowner/' : BASE_URL\r\n\r\nconst router = new VueRouter({\r\n mode: 'history',\r\n base,\r\n routes,\r\n scrollBehavior\r\n})\r\n\r\nrouter.beforeEach((to, from, next) => {\r\n /*\r\n this adds #tab so that the active tab of DetailsMenu is highlighted \r\n */\r\n\r\n if (to.fullPath.indexOf('/userSettings/') === 0 && to.hash !== '#tab') {\r\n next({\r\n path: to.fullPath + '#tab'\r\n })\r\n return\r\n }\r\n if (to.fullPath.indexOf('/workorderrequest/') === 0 && to.hash !== '#tab') {\r\n next({\r\n path: to.fullPath + '#tab'\r\n })\r\n return\r\n }\r\n if (to.fullPath.indexOf('/billing/') === 0 && to.hash !== '#tab') {\r\n next({\r\n path: to.fullPath + '#tab'\r\n })\r\n return\r\n }\r\n if (to.fullPath.indexOf('/communityCenter/') === 0 && to.hash !== '#tab') {\r\n next({\r\n path: to.fullPath + '#tab'\r\n })\r\n return\r\n }\r\n\r\n next()\r\n})\r\n\r\nrouter.afterEach((to, from) => {\r\n afterEach({ to, from })\r\n})\r\n\r\nexport default router\r\n","export default {\r\n inserted: el => {\r\n function loadImage() {\r\n const imageElement = Array.from(el.children).find(el => el.nodeName === 'IMG')\r\n\r\n if (imageElement) {\r\n imageElement.addEventListener('load', () => {\r\n setTimeout(() => el.classList.add('loaded'), 100)\r\n })\r\n imageElement.addEventListener('error', () => console.log('error'))\r\n imageElement.src = imageElement.dataset.url\r\n }\r\n }\r\n\r\n function handleIntersect(entries, observer) {\r\n entries.forEach(entry => {\r\n if (!entry.isIntersecting) {\r\n return\r\n } else {\r\n loadImage()\r\n observer.unobserve(el)\r\n }\r\n })\r\n }\r\n\r\n function createObserver() {\r\n const options = {\r\n // circumstances under which the observer's callback is invoked\r\n root: null, // defaults to the browser viewport if not specified or if null\r\n threshold: '0' // the degree of intersection between the target element and its root (0 - 1)\r\n // threshold of 1.0 means that when 100% of the target is visible within\r\n //the element specified by the root option, the callback is invoked\r\n }\r\n\r\n // Whether you're using the viewport or some other element as the root,the API works the same way,\r\n // executing a callback function you provide whenever the visibility of the target element changes\r\n // so that it crosses desired amounts of intersection with the root\r\n\r\n const observer = new IntersectionObserver(handleIntersect, options)\r\n\r\n observer.observe(el) // target element to watch\r\n }\r\n\r\n if (!window['IntersectionObserver']) {\r\n loadImage()\r\n } else {\r\n createObserver()\r\n }\r\n }\r\n}\r\n","/*\r\n\t\timport { formatCurrency } from '@/filters'\r\n\t\tconst amount = formatCurrency (1); //-> $1.00\r\n*/\r\n\r\n/*\r\n\t\timport { formatDate } from '@/filters'\r\n\t\tformatDate (date)\r\n*/\r\n\r\nimport moment from 'moment'\r\n\r\nconst currencyFormatter = new Intl.NumberFormat('en-US', { style: 'currency', currency: 'USD' })\r\n\r\nexport function formatCurrency(value) {\r\n try {\r\n return currencyFormatter.format(value)\r\n } catch (x) {\r\n console.error(x)\r\n }\r\n\r\n return value\r\n}\r\n\r\nexport function formatDate(d) {\r\n if (d === null) {\r\n return ''\r\n }\r\n\r\n try {\r\n return moment(d).format('LL')\r\n } catch (x) {\r\n console.error(x)\r\n }\r\n\r\n return d\r\n}\r\n\r\nexport default {\r\n install(Vue) {\r\n // relative time\r\n Vue.filter('fromNow', d => moment(d).fromNow())\r\n\r\n Vue.filter('date', d => formatDate(d))\r\n\r\n Vue.filter('shortDate', d => moment(d).format('l'))\r\n\r\n /**\r\n * Formats a phone number.\r\n * Example: 123-456-7890 => (123) 456-7890\r\n *\r\n * @param {String} phone\r\n * @return {Void}\r\n */\r\n Vue.filter('phone', function(phone) {\r\n return phone.replace(/[^0-9]/g, '').replace(/(\\d{3})(\\d{3})(\\d{4})/, '($1) $2-$3')\r\n })\r\n\r\n // Title case\r\n Vue.filter('titleize', value => value.replace(/(?:^|\\s|-)\\S/g, x => x.toUpperCase()))\r\n\r\n //const accountingFormatter = new Intl.NumberFormat('en-US', { minimumFractionDigits: 2 })\r\n\r\n Vue.filter('currency', currencyFormatter.format)\r\n\r\n // use parentheses instead of minus sign\r\n Vue.filter('accounting', d => {\r\n let n = Number(d)\r\n\r\n if (n < 0) {\r\n const s = currencyFormatter.format(-n)\r\n return `(${s})`\r\n }\r\n\r\n return currencyFormatter.format(n)\r\n })\r\n }\r\n}\r\n","// buefy config\r\n// see https://buefy.org/documentation/constructor-options\r\nexport default {\r\n // defaultFieldLabelPosition: 'on-border',\r\n defaultIconPack: 'mdi'\r\n}\r\n","import { extend } from 'vee-validate'\r\n\r\n// if (process.client) {\r\nconst rules = require('vee-validate/dist/rules')\r\nconst { messages } = require('vee-validate/dist/locale/en.json')\r\n\r\nObject.keys(rules).forEach(rule => {\r\n extend(rule, {\r\n ...rules[rule], // copies rule configuration\r\n message: messages[rule] // assign message\r\n })\r\n})\r\n\r\nextend('required', {\r\n ...rules.required,\r\n message: 'This field is required'\r\n})\r\n\r\nextend('email', {\r\n ...rules.email,\r\n message: 'This field must be a valid email'\r\n})\r\n// }\r\n\r\n// extend('confirmed', {\r\n// ...confirmed,\r\n// message: 'This field confirmation does not match'\r\n// })\r\n\r\n// extend('length', {\r\n// ...length,\r\n// message: 'This field must have 2 options'\r\n// })\r\n","import Vue from 'vue'\r\nimport * as VueGoogleMaps from 'vue2-google-maps'\r\nimport Buefy from 'buefy'\r\nimport { sync } from 'vuex-router-sync'\r\nimport LazyLoadDirective from './directives/LazyLoadDirective'\r\nimport i18n from '@/i18n'\r\nimport filters from '@/filters'\r\nimport buefyConfig from '@/buefy.config'\r\nimport { appId } from '@/config'\r\nimport './validation'\r\n\r\nimport { GoogleAnalytics } from '@/parties/GoogleAnalytics'\r\n\r\n// common styles\r\nrequire('./assets/styles/tailwind.scss')\r\nrequire('./assets/styles/main.scss')\r\n\r\n// common app initialization script for portals\r\nexport default (app_id, App, router, store) => {\r\n // configure Buefy (bulma UI components)\r\n Vue.use(Buefy, buefyConfig)\r\n\r\n appId(app_id)\r\n\r\n // sync vue-router with vuex-store\r\n sync(store, router)\r\n\r\n // register our custom filters\r\n Vue.use(filters)\r\n\r\n // https://v2.vuejs.org/v2/api/#productionTip\r\n Vue.config.productionTip = false\r\n\r\n Vue.directive('lazyload', LazyLoadDirective)\r\n\r\n GoogleAnalytics({\r\n app_id\r\n })\r\n\r\n Vue.use(VueGoogleMaps, {\r\n load: {\r\n key: 'AIzaSyD9O4QrmE7xzVuFefoE0t4xZvQB3dzS7hI',\r\n libraries: 'places'\r\n }\r\n })\r\n\r\n //\r\n store.dispatch('user/initAuth', {\r\n done: function() {\r\n new Vue({\r\n router,\r\n store,\r\n render: h => h(App),\r\n i18n\r\n }).$mount('#app')\r\n }\r\n })\r\n}\r\n","import App from '@/AppHomeowner'\r\nimport router from '@/router/homeowner'\r\nimport store from '@/store'\r\nimport init from '@/init'\r\n\r\nconst APP_ID = 'homeowner'\r\n\r\ninit(APP_ID, App, router, store)\r\n","/*\r\n import { documentCenterStore } from '@/services/DocumentCenter/store'\r\n*/\r\n\r\nimport Vue from 'vue'\r\nimport Vuex from 'vuex'\r\nimport { notifyMessage, notifyProblem, notifyError } from '@/services/notify'\r\nimport _get from 'lodash/get'\r\nimport kms from '@/services/kms'\r\n\r\nconst isDebug = true\r\n\r\n/* eslint-disable no-empty-pattern */\r\nconst actions = {\r\n /*\r\n const { list } = await documentCenterStore.dispatch ('getDocumentCenterList', {\r\n hoaId\r\n });\r\n */\r\n\r\n async getDocumentCenterList({}, { hoaID, governingDocumentCategoryID }) {\r\n console.log('in getDocumentCenterList...')\r\n try {\r\n const results = await kms.get('/GoverningDocuments/GoverningDocument/List', {\r\n params: {\r\n hoaID,\r\n governingDocumentCategoryID\r\n }\r\n })\r\n\r\n if (isDebug == true) console.debug('getDocumentCenterList log=' + JSON.stringify(results))\r\n\r\n return {\r\n list: results.results\r\n }\r\n } catch (exception) {\r\n notifyProblem(`Published Documents list could not be retrieved.`)\r\n console.error(exception)\r\n }\r\n\r\n return {\r\n list: []\r\n }\r\n },\r\n\r\n async getDocumentCategoryList({}) {\r\n console.log('in getDocumentCategoryList...')\r\n try {\r\n const results = await kms.get('/GoverningDocuments/GoverningDocumentCategory/List')\r\n\r\n if (isDebug == true) console.debug('getDocumentCategoryList log=' + JSON.stringify(results))\r\n\r\n return {\r\n list: results.results\r\n }\r\n } catch (exception) {\r\n notifyProblem(`The Document Category list could not be retrieved.`)\r\n console.error(exception)\r\n }\r\n\r\n return {\r\n list: []\r\n }\r\n },\r\n\r\n async getDocumentFile({ dispatch }, { params, done }) {\r\n const path = `/GoverningDocuments/GoverningDocument/GetFile`\r\n const result = await kms.get(path, {\r\n params\r\n })\r\n\r\n if (this.isDebug == true) console.debug('getDocumentFile=' + JSON.stringify(result))\r\n\r\n if (dispatch && dispatch != undefined) console.debug(dispatch)\r\n\r\n if (result) {\r\n console.debug(`Successfully retrieved the published document.`)\r\n done({ details: result })\r\n } else {\r\n console.error('There was a problem retrieving the published document.')\r\n }\r\n },\r\n\r\n async deleteGoverningDocument({ dispatch }, { governingDocumentID, done }) {\r\n try {\r\n const path = `/GoverningDocuments/GoverningDocument/${governingDocumentID}?forceDelete=false`\r\n\r\n const results = await kms.delete(path)\r\n\r\n if (isDebug == true) console.debug('results=' + JSON.stringify(results))\r\n\r\n if (dispatch && dispatch != undefined) console.debug(dispatch)\r\n\r\n const wasDeleted = _get(results, 'deleted', false)\r\n\r\n if (wasDeleted === true) {\r\n notifyMessage(`Successfully deleted this published document.`)\r\n done()\r\n } else {\r\n notifyError('There was a problem deleting this published document.')\r\n }\r\n } catch (exception) {\r\n notifyProblem(`There was a problem deleting this published document.`)\r\n console.error(exception)\r\n }\r\n },\r\n\r\n async addGoverningDocument(\r\n { dispatch },\r\n { hoaID, documentID, governingDocumentCategoryID, description, done }\r\n ) {\r\n try {\r\n const result = await kms.post(`/GoverningDocuments/GoverningDocument`, {\r\n hoaID,\r\n documentID,\r\n governingDocumentCategoryID,\r\n description\r\n })\r\n\r\n console.debug('result=' + JSON.stringify(result))\r\n\r\n if (dispatch && dispatch != undefined) console.debug(dispatch)\r\n\r\n if (result.governingDocumentID > 0) {\r\n console.debug(`Successfully added the published document.`)\r\n done({ details: result })\r\n } else {\r\n console.debug('There was a problem adding the published document.')\r\n }\r\n } catch (exception) {\r\n notifyProblem(`There was a problem adding this published document.`)\r\n console.error(exception)\r\n }\r\n },\r\n\r\n async updateGoverningDocument({ dispatch }, { payload = {}, done }) {\r\n try {\r\n const results = await kms.put(`/GoverningDocuments/GoverningDocument`, payload)\r\n\r\n if (this.isDebug == true) console.debug('results=' + JSON.stringify(results))\r\n\r\n if (dispatch && dispatch != undefined) console.debug(dispatch)\r\n\r\n if (results.governingDocumentID > 0) {\r\n notifyMessage(`Successfully updated the published document.`)\r\n done()\r\n } else {\r\n notifyError('There was a problem updating this published document.')\r\n }\r\n } catch (exception) {\r\n notifyProblem(`There was a problem processing the update for this published document.`)\r\n console.error(exception)\r\n }\r\n },\r\n\r\n async uploadDocument({ dispatch }, { payload = {}, done }) {\r\n const formData = new FormData()\r\n formData.append('file', payload.file)\r\n\r\n try {\r\n const path = `/GoverningDocuments/GoverningDocument/StoreDocument?hoaID=${payload.hoaID}&governingDocumentID=${payload.governingDocumentID}&description=${payload.description}`\r\n const uploadedGoverningDocumentFile = await kms.post(path, formData, {\r\n 'Content-Type': 'multipart/form-data'\r\n })\r\n\r\n console.debug('uploadDocument path=' + path)\r\n\r\n if (dispatch && dispatch != undefined) console.debug(dispatch)\r\n\r\n if (isDebug == true)\r\n console.debug(\r\n 'uploadDocument with payload=' + JSON.stringify(uploadedGoverningDocumentFile)\r\n )\r\n\r\n done({ returnedFile: uploadedGoverningDocumentFile })\r\n } catch (e) {\r\n notifyError(e)\r\n }\r\n }\r\n}\r\n/* eslint-enable no-empty-pattern */\r\n\r\nVue.use(Vuex)\r\nexport const documentCenterStore = new Vuex.Store({\r\n state: {},\r\n mutations: {},\r\n getters: {},\r\n actions\r\n})\r\n","import mod from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=style&index=0&id=d2c43cb0&lang=scss&scoped=true&\"; export default mod; export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=style&index=0&id=d2c43cb0&lang=scss&scoped=true&\"","/*\r\n import isInteger from '@/utilities/Number/isInteger'\r\n\r\n isInteger (value)\r\n*/\r\nexport default value => {\r\n if (typeof value === 'number' && value % 1 === 0) {\r\n return true\r\n }\r\n\r\n return false\r\n}\r\n","/*\r\n import dataToInteger from '@/utilities/data/toInteger'\r\n\r\n const integer = dataToInteger('1001');\r\n*/\r\n\r\nimport isInteger from '@/utilities/Number/isInteger'\r\n\r\nconst characters = '-0123456789'\r\n\r\nexport default value => {\r\n if (isInteger(value)) {\r\n return value\r\n }\r\n\r\n if (typeof value !== 'string') {\r\n return null\r\n }\r\n\r\n // if one of the characters is not an arabic numeral\r\n // or a negative sign\r\n // return null\r\n for (let a = 0; a < value.length; a++) {\r\n if (characters.indexOf(value[a]) === -1) {\r\n return null\r\n }\r\n }\r\n\r\n const parsed = parseInt(value)\r\n\r\n if (isNaN(parsed)) {\r\n return null\r\n }\r\n\r\n return parsed\r\n}\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"page\",attrs:{\"page-content-layout-only\":\"\"}},[_c('div',{staticClass:\"container\"},[_c('div',{staticClass:\"section\",style:(Object.assign({}, (_vm.breakpoint === 'mobile' && { padding: '.25em' })))},[_vm._t(\"default\")],2)])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PageContentLayoutOnly.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PageContentLayoutOnly.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./PageContentLayoutOnly.vue?vue&type=template&id=137eb5f9&\"\nimport script from \"./PageContentLayoutOnly.vue?vue&type=script&lang=js&\"\nexport * from \"./PageContentLayoutOnly.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","module.exports = __webpack_public_path__ + \"img/onboardingmyway.bc76a7dd.png\";","/*\r\n import { notificationStore } from '@/services/Notifications/store'\r\n*/\r\n\r\nimport Vue from 'vue'\r\nimport Vuex from 'vuex'\r\nimport { notifyProblem, notifyError, notifyMessage } from '@/services/notify'\r\nimport kms from '@/services/kms'\r\n\r\nconst isDebug = true\r\n\r\n/* eslint-disable no-empty-pattern */\r\nconst actions = {\r\n /*\r\n const { list } = await notificationStore.dispatch ('getNotificationList', {\r\n hoaId\r\n });\r\n */\r\n\r\n async getNotificationList({}, { hoaID, deliveryType, filterStartDate, filterEndDate }) {\r\n console.log('in getNotificationList...' + filterStartDate)\r\n\r\n if (deliveryType) {\r\n if (deliveryType == 'homeowner') {\r\n deliveryType = 'homeowner-portal'\r\n } else if (deliveryType === 'vendor') {\r\n deliveryType = 'vendor-portal'\r\n } else {\r\n deliveryType = 'management-portal'\r\n }\r\n }\r\n\r\n try {\r\n const results = await kms.get('/Notifications/Notification/List', {\r\n params: {\r\n hoaID,\r\n deliveryTypeCodeName: deliveryType,\r\n forCurrentUser: true,\r\n unreadOnly: true,\r\n filterStartDate,\r\n filterEndDate\r\n }\r\n })\r\n\r\n if (isDebug == true) console.debug('getNotificationList log=' + JSON.stringify(results))\r\n\r\n return {\r\n list: results.results\r\n }\r\n } catch (exception) {\r\n notifyProblem(`The notifications list could not be retrieved.`)\r\n console.error(exception)\r\n }\r\n\r\n return {\r\n list: []\r\n }\r\n },\r\n\r\n async setDelivered({ dispatch }, { payload, done }) {\r\n if (isDebug == true) console.debug('...in setDelivered' + JSON.stringify(payload))\r\n try {\r\n const results = await kms.post(`/Notifications/Notification/SetDelivered`, {\r\n notificationIDs: payload.notificationIDs\r\n })\r\n\r\n if (this.isDebug == true) console.debug('results=' + JSON.stringify(results))\r\n\r\n if (dispatch && dispatch != undefined) console.debug(dispatch)\r\n\r\n if (results) {\r\n notifyMessage(`Successfully marked this notification as read.`)\r\n done()\r\n } else {\r\n notifyError(`There was a problem dismissing this notification.`)\r\n }\r\n } catch (exception) {\r\n notifyError(`There was a problem dismissing this notification.`)\r\n console.error(exception)\r\n }\r\n }\r\n}\r\n/* eslint-enable no-empty-pattern */\r\n\r\nVue.use(Vuex)\r\nexport const notificationStore = new Vuex.Store({\r\n state: {},\r\n mutations: {},\r\n getters: {},\r\n actions\r\n})\r\n","/*\r\n import { zIndexes } from '@/utilities/zIndexes'\r\n*/\r\n\r\nexport const zIndexes = {\r\n modals: 400,\r\n topNav: 200\r\n}\r\n","var map = {\n\t\"./af\": \"2bfb\",\n\t\"./af.js\": \"2bfb\",\n\t\"./ar\": \"8e73\",\n\t\"./ar-dz\": \"a356\",\n\t\"./ar-dz.js\": \"a356\",\n\t\"./ar-kw\": \"423e\",\n\t\"./ar-kw.js\": \"423e\",\n\t\"./ar-ly\": \"1cfd\",\n\t\"./ar-ly.js\": \"1cfd\",\n\t\"./ar-ma\": \"0a84\",\n\t\"./ar-ma.js\": \"0a84\",\n\t\"./ar-sa\": \"8230\",\n\t\"./ar-sa.js\": \"8230\",\n\t\"./ar-tn\": \"6d83\",\n\t\"./ar-tn.js\": \"6d83\",\n\t\"./ar.js\": \"8e73\",\n\t\"./az\": \"485c\",\n\t\"./az.js\": \"485c\",\n\t\"./be\": \"1fc1\",\n\t\"./be.js\": \"1fc1\",\n\t\"./bg\": \"84aa\",\n\t\"./bg.js\": \"84aa\",\n\t\"./bm\": \"a7fa\",\n\t\"./bm.js\": \"a7fa\",\n\t\"./bn\": \"9043\",\n\t\"./bn-bd\": \"9686\",\n\t\"./bn-bd.js\": \"9686\",\n\t\"./bn.js\": \"9043\",\n\t\"./bo\": \"d26a\",\n\t\"./bo.js\": \"d26a\",\n\t\"./br\": \"6887\",\n\t\"./br.js\": \"6887\",\n\t\"./bs\": \"2554\",\n\t\"./bs.js\": \"2554\",\n\t\"./ca\": \"d716\",\n\t\"./ca.js\": \"d716\",\n\t\"./cs\": \"3c0d\",\n\t\"./cs.js\": \"3c0d\",\n\t\"./cv\": \"03ec\",\n\t\"./cv.js\": \"03ec\",\n\t\"./cy\": \"9797\",\n\t\"./cy.js\": \"9797\",\n\t\"./da\": \"0f14\",\n\t\"./da.js\": \"0f14\",\n\t\"./de\": \"b469\",\n\t\"./de-at\": \"b3eb\",\n\t\"./de-at.js\": \"b3eb\",\n\t\"./de-ch\": \"bb71\",\n\t\"./de-ch.js\": \"bb71\",\n\t\"./de.js\": \"b469\",\n\t\"./dv\": \"598a\",\n\t\"./dv.js\": \"598a\",\n\t\"./el\": \"8d47\",\n\t\"./el.js\": \"8d47\",\n\t\"./en-au\": \"0e6b\",\n\t\"./en-au.js\": \"0e6b\",\n\t\"./en-ca\": \"3886\",\n\t\"./en-ca.js\": \"3886\",\n\t\"./en-gb\": \"39a6\",\n\t\"./en-gb.js\": \"39a6\",\n\t\"./en-ie\": \"e1d3\",\n\t\"./en-ie.js\": \"e1d3\",\n\t\"./en-il\": \"7333\",\n\t\"./en-il.js\": \"7333\",\n\t\"./en-in\": \"ec2e\",\n\t\"./en-in.js\": \"ec2e\",\n\t\"./en-nz\": \"6f50\",\n\t\"./en-nz.js\": \"6f50\",\n\t\"./en-sg\": \"b7e9\",\n\t\"./en-sg.js\": \"b7e9\",\n\t\"./eo\": \"65db\",\n\t\"./eo.js\": \"65db\",\n\t\"./es\": \"898b\",\n\t\"./es-do\": \"0a3c\",\n\t\"./es-do.js\": \"0a3c\",\n\t\"./es-mx\": \"b5b7\",\n\t\"./es-mx.js\": \"b5b7\",\n\t\"./es-us\": \"55c9\",\n\t\"./es-us.js\": \"55c9\",\n\t\"./es.js\": \"898b\",\n\t\"./et\": \"ec18\",\n\t\"./et.js\": \"ec18\",\n\t\"./eu\": \"0ff2\",\n\t\"./eu.js\": \"0ff2\",\n\t\"./fa\": \"8df4\",\n\t\"./fa.js\": \"8df4\",\n\t\"./fi\": \"81e9\",\n\t\"./fi.js\": \"81e9\",\n\t\"./fil\": \"d69a\",\n\t\"./fil.js\": \"d69a\",\n\t\"./fo\": \"0721\",\n\t\"./fo.js\": \"0721\",\n\t\"./fr\": \"9f26\",\n\t\"./fr-ca\": \"d9f8\",\n\t\"./fr-ca.js\": \"d9f8\",\n\t\"./fr-ch\": \"0e49\",\n\t\"./fr-ch.js\": \"0e49\",\n\t\"./fr.js\": \"9f26\",\n\t\"./fy\": \"7118\",\n\t\"./fy.js\": \"7118\",\n\t\"./ga\": \"5120\",\n\t\"./ga.js\": \"5120\",\n\t\"./gd\": \"f6b4\",\n\t\"./gd.js\": \"f6b4\",\n\t\"./gl\": \"8840\",\n\t\"./gl.js\": \"8840\",\n\t\"./gom-deva\": \"aaf2\",\n\t\"./gom-deva.js\": \"aaf2\",\n\t\"./gom-latn\": \"0caa\",\n\t\"./gom-latn.js\": \"0caa\",\n\t\"./gu\": \"e0c5\",\n\t\"./gu.js\": \"e0c5\",\n\t\"./he\": \"c7aa\",\n\t\"./he.js\": \"c7aa\",\n\t\"./hi\": \"dc4d\",\n\t\"./hi.js\": \"dc4d\",\n\t\"./hr\": \"4ba9\",\n\t\"./hr.js\": \"4ba9\",\n\t\"./hu\": \"5b14\",\n\t\"./hu.js\": \"5b14\",\n\t\"./hy-am\": \"d6b6\",\n\t\"./hy-am.js\": \"d6b6\",\n\t\"./id\": \"5038\",\n\t\"./id.js\": \"5038\",\n\t\"./is\": \"0558\",\n\t\"./is.js\": \"0558\",\n\t\"./it\": \"6e98\",\n\t\"./it-ch\": \"6f12\",\n\t\"./it-ch.js\": \"6f12\",\n\t\"./it.js\": \"6e98\",\n\t\"./ja\": \"079e\",\n\t\"./ja.js\": \"079e\",\n\t\"./jv\": \"b540\",\n\t\"./jv.js\": \"b540\",\n\t\"./ka\": \"201b\",\n\t\"./ka.js\": \"201b\",\n\t\"./kk\": \"6d79\",\n\t\"./kk.js\": \"6d79\",\n\t\"./km\": \"e81d\",\n\t\"./km.js\": \"e81d\",\n\t\"./kn\": \"3e92\",\n\t\"./kn.js\": \"3e92\",\n\t\"./ko\": \"22f8\",\n\t\"./ko.js\": \"22f8\",\n\t\"./ku\": \"2421\",\n\t\"./ku.js\": \"2421\",\n\t\"./ky\": \"9609\",\n\t\"./ky.js\": \"9609\",\n\t\"./lb\": \"440c\",\n\t\"./lb.js\": \"440c\",\n\t\"./lo\": \"b29d\",\n\t\"./lo.js\": \"b29d\",\n\t\"./lt\": \"26f9\",\n\t\"./lt.js\": \"26f9\",\n\t\"./lv\": \"b97c\",\n\t\"./lv.js\": \"b97c\",\n\t\"./me\": \"293c\",\n\t\"./me.js\": \"293c\",\n\t\"./mi\": \"688b\",\n\t\"./mi.js\": \"688b\",\n\t\"./mk\": \"6909\",\n\t\"./mk.js\": \"6909\",\n\t\"./ml\": \"02fb\",\n\t\"./ml.js\": \"02fb\",\n\t\"./mn\": \"958b\",\n\t\"./mn.js\": \"958b\",\n\t\"./mr\": \"39bd\",\n\t\"./mr.js\": \"39bd\",\n\t\"./ms\": \"ebe4\",\n\t\"./ms-my\": \"6403\",\n\t\"./ms-my.js\": \"6403\",\n\t\"./ms.js\": \"ebe4\",\n\t\"./mt\": \"1b45\",\n\t\"./mt.js\": \"1b45\",\n\t\"./my\": \"8689\",\n\t\"./my.js\": \"8689\",\n\t\"./nb\": \"6ce3\",\n\t\"./nb.js\": \"6ce3\",\n\t\"./ne\": \"3a39\",\n\t\"./ne.js\": \"3a39\",\n\t\"./nl\": \"facd\",\n\t\"./nl-be\": \"db29\",\n\t\"./nl-be.js\": \"db29\",\n\t\"./nl.js\": \"facd\",\n\t\"./nn\": \"b84c\",\n\t\"./nn.js\": \"b84c\",\n\t\"./oc-lnc\": \"167b\",\n\t\"./oc-lnc.js\": \"167b\",\n\t\"./pa-in\": \"f3ff\",\n\t\"./pa-in.js\": \"f3ff\",\n\t\"./pl\": \"8d57\",\n\t\"./pl.js\": \"8d57\",\n\t\"./pt\": \"f260\",\n\t\"./pt-br\": \"d2d4\",\n\t\"./pt-br.js\": \"d2d4\",\n\t\"./pt.js\": \"f260\",\n\t\"./ro\": \"972c\",\n\t\"./ro.js\": \"972c\",\n\t\"./ru\": \"957c\",\n\t\"./ru.js\": \"957c\",\n\t\"./sd\": \"6784\",\n\t\"./sd.js\": \"6784\",\n\t\"./se\": \"ffff\",\n\t\"./se.js\": \"ffff\",\n\t\"./si\": \"eda5\",\n\t\"./si.js\": \"eda5\",\n\t\"./sk\": \"7be6\",\n\t\"./sk.js\": \"7be6\",\n\t\"./sl\": \"8155\",\n\t\"./sl.js\": \"8155\",\n\t\"./sq\": \"c8f3\",\n\t\"./sq.js\": \"c8f3\",\n\t\"./sr\": \"cf1e\",\n\t\"./sr-cyrl\": \"13e9\",\n\t\"./sr-cyrl.js\": \"13e9\",\n\t\"./sr.js\": \"cf1e\",\n\t\"./ss\": \"52bd\",\n\t\"./ss.js\": \"52bd\",\n\t\"./sv\": \"5fbd\",\n\t\"./sv.js\": \"5fbd\",\n\t\"./sw\": \"74dc\",\n\t\"./sw.js\": \"74dc\",\n\t\"./ta\": \"3de5\",\n\t\"./ta.js\": \"3de5\",\n\t\"./te\": \"5cbb\",\n\t\"./te.js\": \"5cbb\",\n\t\"./tet\": \"576c\",\n\t\"./tet.js\": \"576c\",\n\t\"./tg\": \"3b1b\",\n\t\"./tg.js\": \"3b1b\",\n\t\"./th\": \"10e8\",\n\t\"./th.js\": \"10e8\",\n\t\"./tk\": \"5aff\",\n\t\"./tk.js\": \"5aff\",\n\t\"./tl-ph\": \"0f38\",\n\t\"./tl-ph.js\": \"0f38\",\n\t\"./tlh\": \"cf75\",\n\t\"./tlh.js\": \"cf75\",\n\t\"./tr\": \"0e81\",\n\t\"./tr.js\": \"0e81\",\n\t\"./tzl\": \"cf51\",\n\t\"./tzl.js\": \"cf51\",\n\t\"./tzm\": \"c109\",\n\t\"./tzm-latn\": \"b53d\",\n\t\"./tzm-latn.js\": \"b53d\",\n\t\"./tzm.js\": \"c109\",\n\t\"./ug-cn\": \"6117\",\n\t\"./ug-cn.js\": \"6117\",\n\t\"./uk\": \"ada2\",\n\t\"./uk.js\": \"ada2\",\n\t\"./ur\": \"5294\",\n\t\"./ur.js\": \"5294\",\n\t\"./uz\": \"2e8c\",\n\t\"./uz-latn\": \"010e\",\n\t\"./uz-latn.js\": \"010e\",\n\t\"./uz.js\": \"2e8c\",\n\t\"./vi\": \"2921\",\n\t\"./vi.js\": \"2921\",\n\t\"./x-pseudo\": \"fd7e\",\n\t\"./x-pseudo.js\": \"fd7e\",\n\t\"./yo\": \"7f33\",\n\t\"./yo.js\": \"7f33\",\n\t\"./zh-cn\": \"5c3a\",\n\t\"./zh-cn.js\": \"5c3a\",\n\t\"./zh-hk\": \"49ab\",\n\t\"./zh-hk.js\": \"49ab\",\n\t\"./zh-mo\": \"3a6c\",\n\t\"./zh-mo.js\": \"3a6c\",\n\t\"./zh-tw\": \"90ea\",\n\t\"./zh-tw.js\": \"90ea\"\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = \"4678\";","/*\r\n import { twoFactorAuthentication } from '@/services/TwoFactorAuthentication/store'\r\n*/\r\n\r\nimport Vue from 'vue'\r\nimport Vuex from 'vuex'\r\nimport { notifyProblem, notifyError } from '@/services/notify'\r\nimport kms from '@/services/kms'\r\nimport _get from 'lodash/get'\r\n\r\nconst isDebug = true\r\n\r\n/* eslint-disable no-empty-pattern */\r\nconst actions = {\r\n // 2FA Type List\r\n async loadTwoFactorTypes({}) {\r\n try {\r\n const myList = [\r\n {\r\n value: 'SMSCode',\r\n label: 'Send Code via Text Message'\r\n },\r\n {\r\n value: 'EmailCode',\r\n label: 'Send Code via E-mail'\r\n },\r\n {\r\n value: 'AuthenticatorCode',\r\n label: 'Code from Authenticator App'\r\n }\r\n ]\r\n\r\n if (myList) {\r\n myList.unshift({\r\n value: '',\r\n label: '<-Select an Authentication Method->'\r\n })\r\n }\r\n\r\n return {\r\n list: myList\r\n }\r\n } catch (exception) {\r\n notifyProblem(`The two factor authentication could not be retrieved.`)\r\n console.error(exception)\r\n }\r\n\r\n return {\r\n list: []\r\n }\r\n },\r\n\r\n async getAuthenticatorQrCode({}) {\r\n try {\r\n const qrCodeData = await kms.get(\r\n `/Users/UserAdditionalAuthenticationMethod/GetNewAuthenticatorSetupData`\r\n )\r\n\r\n //if (isDebug == true) console.debug('getAuthenticatorQrCode=' + JSON.stringify(qrCodeData))\r\n\r\n return {\r\n result: qrCodeData\r\n }\r\n } catch (exception) {\r\n notifyProblem(`There was a problem retrieving the authenticator code data.`)\r\n console.error(exception)\r\n }\r\n\r\n return {\r\n result: {}\r\n }\r\n },\r\n\r\n async getExistingAuthenticationList({}) {\r\n console.log('in getExistingAuthenticationList...')\r\n try {\r\n const result = await kms.get('/Users/UserAdditionalAuthenticationMethod/List')\r\n\r\n if (isDebug == true)\r\n console.debug('getExistingAuthenticationList log=' + JSON.stringify(result))\r\n\r\n return {\r\n list: result.results\r\n }\r\n } catch (exception) {\r\n notifyProblem(`The existing multi-factor authentication list could not be retrieved.`)\r\n console.error(exception)\r\n }\r\n\r\n return {\r\n list: []\r\n }\r\n },\r\n\r\n async checkAuthenticatorCode({}, { code }) {\r\n try {\r\n const params = {\r\n code: code\r\n }\r\n const checked = await kms.get(\r\n `/Users/UserAdditionalAuthenticationMethod/CheckNewAuthenticatorCode`,\r\n { params }\r\n )\r\n\r\n if (isDebug == true) console.debug('checkAuthenticatorCode=' + JSON.stringify(checked))\r\n\r\n return {\r\n result: true\r\n }\r\n } catch (exception) {\r\n notifyProblem(`The authenticator code does not seem to be valid. Please enter a valid code.`)\r\n console.error(exception)\r\n }\r\n\r\n return {\r\n result: false\r\n }\r\n },\r\n\r\n async checkFirstUseMultiFactor({}) {\r\n try {\r\n const firstLoginMultifactor = await kms.get(`/User/GetFirstLoginForMultiFactor`)\r\n\r\n if (isDebug == true)\r\n console.debug('checkFirstUseMultiFactor=' + JSON.stringify(firstLoginMultifactor))\r\n\r\n return {\r\n result: firstLoginMultifactor\r\n }\r\n } catch (exception) {\r\n if (isDebug === true)\r\n console.debug(`There was a problem retrieving the first login multi-factor flag.`)\r\n console.error(exception)\r\n }\r\n\r\n return {\r\n result: false\r\n }\r\n },\r\n\r\n async saveFirstLoginMultiFactor({ dispatch }, { firstLoginMultiFactor, done }) {\r\n if (isDebug == true) console.debug('...in saveFirstLoginMultiFactor=' + firstLoginMultiFactor)\r\n\r\n try {\r\n const results = await kms.put(\r\n `/User/SaveFirstLoginForMultiFactor?firstLoginMultiFactor=${firstLoginMultiFactor}`\r\n )\r\n\r\n if (this.isDebug == true) console.debug('results=' + JSON.stringify(results))\r\n\r\n if (dispatch && dispatch != undefined) console.debug(dispatch)\r\n\r\n done()\r\n } catch (exception) {\r\n notifyProblem(`There was a problem updating the first login multi-factor flag.`)\r\n console.error(exception)\r\n }\r\n },\r\n\r\n // Add Authentication\r\n async addAuthentication({ dispatch }, { methodType, authenticationData, priority, done }) {\r\n if (isDebug == true)\r\n console.debug(\r\n '...in addAuthentication, ' + methodType + ', ' + authenticationData + ', ' + priority\r\n )\r\n\r\n if (authenticationData) {\r\n try {\r\n const results = await kms.post(`/Users/UserAdditionalAuthenticationMethod`, {\r\n methodType,\r\n authenticationData,\r\n priority\r\n })\r\n\r\n if (this.isDebug == true) console.debug('results=' + JSON.stringify(results))\r\n\r\n if (dispatch && dispatch != undefined) console.debug(dispatch)\r\n\r\n if (results.userAdditionalAuthenticationMethodID > 0) {\r\n //notifyMessage(`Successfully saved your multi-factor authentication setup.`)\r\n done({ details: results })\r\n } else {\r\n notifyError('There was a problem saving your multi-factor authentication setup.')\r\n }\r\n } catch (exception) {\r\n notifyProblem(`There was a problem saving your multi-factor authentication setup.`)\r\n console.error(exception)\r\n }\r\n }\r\n },\r\n\r\n async sendCode({ dispatch }, { authenticationID, done }) {\r\n if (isDebug == true) console.debug('...in sendCode, ' + authenticationID)\r\n\r\n if (authenticationID) {\r\n try {\r\n const results = await kms.post(\r\n `/User/SendAuthenticationCode?authenticationID=${authenticationID}`\r\n )\r\n\r\n if (this.isDebug == true) console.debug('results=' + JSON.stringify(results))\r\n\r\n if (dispatch && dispatch != undefined) console.debug(dispatch)\r\n\r\n done()\r\n } catch (exception) {\r\n notifyProblem(`There was a problem sending your authentication code.`)\r\n console.error(exception)\r\n }\r\n }\r\n },\r\n\r\n async validateAuthenticationCode({ dispatch }, { authenticationID, code, done }) {\r\n if (isDebug == true)\r\n console.debug('...in validateAuthenticationCode, ' + authenticationID + ', ' + code)\r\n\r\n if (authenticationID && code) {\r\n try {\r\n const results = await kms.post(\r\n `/User/ValidateAuthenticationCode?authenticationID=${authenticationID}&code=${code}`\r\n )\r\n\r\n if (this.isDebug == true) console.debug('results=' + JSON.stringify(results))\r\n\r\n if (dispatch && dispatch != undefined) console.debug(dispatch)\r\n\r\n done({ details: results })\r\n } catch (exception) {\r\n notifyProblem(\r\n `There was a problem validating your authentication code. ${exception.message}`\r\n )\r\n console.error(exception)\r\n }\r\n }\r\n },\r\n\r\n async deleteExistingAuthentication({ dispatch }, { userAdditionalAuthenticationMethodID, done }) {\r\n try {\r\n const path = `/Users/UserAdditionalAuthenticationMethod/${userAdditionalAuthenticationMethodID}?forceDelete=false`\r\n\r\n const results = await kms.delete(path)\r\n\r\n if (this.isDebug == true) console.debug('results=' + JSON.stringify(results))\r\n\r\n if (dispatch && dispatch != undefined) console.debug(dispatch)\r\n\r\n const wasDeleted = _get(results, 'deleted', false)\r\n\r\n if (wasDeleted === true) {\r\n if (this.isDebug === true)\r\n console.debug(`Successfully removed your existing multi-factor authentication setup.`)\r\n done()\r\n } else {\r\n notifyError('There was a problem removing your existing multi-factor authentication setup.')\r\n }\r\n } catch (exception) {\r\n notifyProblem(`There was a problem removing your multi-factor authentication setup.`)\r\n console.error(exception)\r\n }\r\n }\r\n}\r\n/* eslint-enable no-empty-pattern */\r\n\r\nVue.use(Vuex)\r\nexport const twoFactorAuthentication = new Vuex.Store({\r\n state: {},\r\n mutations: {},\r\n getters: {},\r\n actions\r\n})\r\n","/*\r\n import { notifyMessage, notifyProblem } from '@/services/notify'\r\n\r\n import { notifyMessage, notifyError } from '@/services/notify'\r\n import { notifyError } from '@/services/notify'\r\n*/\r\n\r\n/*\r\n For jest tests:\r\n \r\n import Vue from 'vue'\r\n import { ToastProgrammatic as Toast } from 'buefy'\r\n Vue.use(Toast)\r\n*/\r\n\r\nimport { ToastProgrammatic as Toast } from 'buefy'\r\n\r\nexport const notifyMessage = e => {\r\n Toast.open({\r\n duration: 7000,\r\n message: e.message || e,\r\n position: 'is-bottom',\r\n type: 'is-success'\r\n })\r\n}\r\n\r\nexport const notifyInfo = message => {\r\n Toast.open({\r\n duration: 7000,\r\n message: message,\r\n position: 'is-bottom',\r\n type: 'is-info'\r\n })\r\n}\r\n\r\nexport const notifyWarning = e => {\r\n Toast.open({\r\n duration: 7000,\r\n message: e.message || e,\r\n position: 'is-bottom',\r\n type: 'is-warning'\r\n })\r\n}\r\n\r\nexport const notifyProblem = e => {\r\n Toast.open({\r\n duration: 7000,\r\n message: e.message || e,\r\n position: 'is-bottom',\r\n type: 'is-danger'\r\n })\r\n console.debug(e)\r\n}\r\n\r\nexport const notifyError = notifyProblem\r\n","import mod from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=style&index=0&lang=scss&\"; export default mod; export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=style&index=0&lang=scss&\"","/*\r\n import { bankSummary } from '@/services/Payments/HomeOwner/BankSummary/store'\r\n*/\r\n\r\nimport Vue from 'vue'\r\nimport Vuex from 'vuex'\r\nimport kms from '@/services/kms'\r\nimport { notifyProblem } from '@/services/notify'\r\n\r\n/* eslint-disable no-empty-pattern */\r\nconst actions = {\r\n /*\r\n const { list } = await bankSummary.dispatch ('getPaymentHistoryList', {\r\n ownerID\r\n });\r\n */\r\n async getPaymentHistoryList({}, { params }) {\r\n try {\r\n const result = await kms.get(\r\n '/AccountsReceivable/LedgerQueries/ARTransactionListByDateRange',\r\n {\r\n params\r\n }\r\n )\r\n\r\n return {\r\n list: result.arQueryTransactions\r\n }\r\n } catch (exception) {\r\n notifyProblem(`The past payments history list could not be retrieved.`)\r\n console.error(exception)\r\n }\r\n\r\n return {\r\n list: []\r\n }\r\n },\r\n\r\n async getPendingPaymentsMadeList({}, { params }) {\r\n try {\r\n const result = await kms.get('/Roster/OwnerElectronicPayment/List', {\r\n params\r\n })\r\n\r\n return {\r\n list: result.results\r\n }\r\n } catch (exception) {\r\n notifyProblem(`The pending payments made list could not be retrieved.`)\r\n console.error(exception)\r\n }\r\n\r\n return {\r\n list: []\r\n }\r\n },\r\n\r\n //Bank Balance Summaries\r\n async getBalanceSummaries({}, { params }) {\r\n try {\r\n const result = await kms.get(`/AccountsReceivable/LedgerQueries/GetBalanceSummaries`, {\r\n params\r\n })\r\n\r\n return {\r\n result: result\r\n }\r\n } catch (exception) {\r\n notifyProblem(`There was a problem retrieving the current balance summaries.`)\r\n console.error(exception)\r\n }\r\n\r\n return {\r\n survey: {}\r\n }\r\n }\r\n}\r\n/* eslint-enable no-empty-pattern */\r\n\r\nVue.use(Vuex)\r\nexport const bankSummary = new Vuex.Store({\r\n state: {},\r\n mutations: {},\r\n getters: {},\r\n actions\r\n})\r\n","/*\r\n resize sensor on the window,\r\n notifies if breakpoints crossed\r\n*/\r\n\r\n/***********************************\r\n\r\n import { windowStore } from '@/utilities/window/store'\r\n\r\n this.unsubWindowStore = windowStore.subscribe((mutation, state) => {\r\n const mType = mutation.type;\r\n\r\n if (mType === \"breakPointChange\") {\r\n this.breakpoint = state.breakpoint;\r\n }\r\n })\r\n\r\n this.breakpoint = windowStore.state.breakpoint;\r\n\r\n this.unsubWindowStore();\r\n\r\n if (breakpoint === 'desktop') {}\r\n if ([ 'mobile', 'tablet' ].includes (breakpoint)) {}\r\n\r\n******************************************/\r\n\r\n/*\r\n relevant: bulma/sass/utilities/initial-variables.sass\r\n*/\r\n\r\nimport Vue from 'vue'\r\nimport Vuex from 'vuex'\r\n\r\n//\r\n// desktop is >= 1024 pixels\r\n// tablet is 769 to 1023 pixels\r\n// mobile is 0 to 768 pixels\r\n//\r\nconst desktop = 1024\r\nconst tablet = 769\r\n\r\n/* eslint-disable no-empty-pattern */\r\nVue.use(Vuex)\r\nexport const windowStore = new Vuex.Store({\r\n state: {\r\n initialed: false,\r\n breakpoint: null\r\n },\r\n mutations: {\r\n async breakPointChange(state, { breakpoint }) {\r\n state.breakpoint = breakpoint\r\n }\r\n },\r\n getters: {},\r\n actions: {\r\n /*\r\n await windowStore.dispatch ('init');\r\n */\r\n async init({ state, commit }) {\r\n function setBreakPoint() {\r\n const width = window.innerWidth\r\n\r\n if (width < tablet) {\r\n if (state.breakpoint !== 'mobile') {\r\n commit('breakPointChange', { breakpoint: 'mobile' })\r\n }\r\n } else if (width >= tablet && width < desktop) {\r\n if (state.breakpoint !== 'tablet') {\r\n commit('breakPointChange', { breakpoint: 'tablet' })\r\n }\r\n } else if (width >= desktop) {\r\n if (state.breakpoint !== 'desktop') {\r\n commit('breakPointChange', { breakpoint: 'desktop' })\r\n }\r\n }\r\n }\r\n\r\n if (!state.initialed) {\r\n window.addEventListener('resize', () => {\r\n setBreakPoint()\r\n })\r\n setBreakPoint()\r\n }\r\n }\r\n }\r\n})\r\n/* eslint-enable no-empty-pattern */\r\n","/*\r\n example:\r\n import kms from '@/services/kms'\r\n import { url } from '@/services/kms'\r\n\r\n const results = await kms.put(\r\n // path\r\n ``,\r\n\r\n // json body\r\n {}\r\n )\r\n\r\n const fullURL = url (path);\r\n*/\r\n\r\nimport axios from 'axios'\r\nimport _get from 'lodash/get'\r\n//\r\nimport { KMS_BACKEND } from '@/config'\r\nimport auth from '@/services/_auth'\r\nimport { handleServiceErrors } from '@/services/errors'\r\n//\r\nexport const url = path => `${KMS_BACKEND}${path}`\r\nconst headers = extras => ({\r\n ...extras,\r\n ...auth.authHeaders()\r\n})\r\n\r\nconst isDebug = false\r\n\r\nexport default {\r\n /*\r\n Examples:\r\n const returned = await kms.get(`/AccountsPayable/APInvoice/GetInvoiceFile`, {\r\n params: {\r\n apInvoiceID: this.apInvoiceID,\r\n asBase64: true\r\n }\r\n })\r\n */\r\n get: async (path, opt = {}) => {\r\n if (isDebug === true) console.debug('GET headers=' + opt.headers)\r\n\r\n const options = { ...opt, headers: headers(opt.headers) }\r\n const resp = await axios.get(url(path), options).catch(handleServiceErrors)\r\n return resp.data !== undefined && resp.data ? resp.data : {}\r\n },\r\n\r\n getthirdparty: async path => {\r\n const resp = await axios.get(path).catch(handleServiceErrors)\r\n return resp.data !== undefined && resp.data ? resp.data : {}\r\n },\r\n\r\n getReturnPureUrlWithHeader: async path => {\r\n return `\"${url(path)}\" -H \"accept: */*\" -H \"${auth.authHeaders()}\"`\r\n },\r\n\r\n post: async (path, data, opt = {}) => {\r\n if (isDebug === true) console.debug('headers=' + opt.headers)\r\n\r\n if (isDebug == true) console.debug(`post data ${JSON.stringify(data)}`)\r\n if (isDebug == true) console.debug(`post path ${path}`)\r\n\r\n const options = {\r\n ...opt,\r\n headers: headers(opt.headers)\r\n }\r\n\r\n const resp = await axios.post(url(path), data, options).catch(handleServiceErrors)\r\n\r\n return resp.data !== undefined && resp.data ? resp.data : {}\r\n },\r\n\r\n postthirdpartyjwt: async (path, data, jwt, opt = {}) => {\r\n console.debug(`post data ${JSON.stringify(data)}`)\r\n console.debug(`post path ${path}`)\r\n\r\n const options = {\r\n ...opt,\r\n headers: { Authorization: `Bearer ${jwt}` }\r\n }\r\n\r\n if (isDebug === true) console.debug('Options=' + options)\r\n\r\n const resp = await axios.post(path, data, options).catch(handleServiceErrors)\r\n\r\n return resp.data !== undefined && resp.data ? resp.data : {}\r\n },\r\n\r\n /*\r\n const { resp, status, data, errorMessage } = await post2 (path, data)\r\n */\r\n post2: async (path, data, opt = {}) => {\r\n var resp = { data: {} }\r\n\r\n try {\r\n resp = await axios.post(url(path), data, {\r\n ...opt,\r\n headers: headers(opt.headers)\r\n })\r\n } catch (x) {\r\n resp = _get(x, 'response', {})\r\n }\r\n\r\n const status = _get(resp, ['status'], null)\r\n const respData = _get(resp, ['data'], {})\r\n\r\n var successful = false\r\n\r\n try {\r\n if (Number.isInteger(status) && status.toString()[0] === '2') {\r\n successful = true\r\n }\r\n } catch (x) {\r\n console.error(x)\r\n }\r\n\r\n return {\r\n successful,\r\n resp,\r\n status,\r\n data: respData\r\n }\r\n },\r\n\r\n put: async (path, data, opt = {}) => {\r\n // if (isDebug == true) console.debug(`put options ${JSON.stringify(options)}`)\r\n if (isDebug == true) console.debug(`put data ${JSON.stringify(data)}`)\r\n if (isDebug == true) console.debug(`put path ${path}`)\r\n const options = { ...opt, headers: headers(opt.headers) }\r\n const resp = await axios.put(url(path), data, options).catch(handleServiceErrors)\r\n return resp.data !== undefined && resp.data ? resp.data : {}\r\n },\r\n\r\n delete: async (path, data, opt = {}) => {\r\n const options = { ...opt, headers: headers(opt.headers) }\r\n if (isDebug == true) console.debug(`delete options ${JSON.stringify(options)}`)\r\n if (isDebug == true) console.debug(`delete data ${JSON.stringify(data)}`)\r\n if (isDebug == true) console.debug(`delete path ${path}`)\r\n const resp = await axios.delete(url(path), options).catch(handleServiceErrors)\r\n return resp.data !== undefined && resp.data ? resp.data : {}\r\n },\r\n\r\n url,\r\n\r\n headers\r\n}\r\n","// returns auth headers using stored auth token\r\nexport function authHeaders() {\r\n const { token } = this.getToken()\r\n\r\n if (!token) return {}\r\n\r\n return { Authorization: `Bearer ${token}` }\r\n}\r\n","// Check for valid token and refresh if possible\r\n\r\nexport async function forceTokenRefresh() {\r\n try {\r\n const { refreshToken } = this.getToken()\r\n // refresh token\r\n return await this.updateToken(refreshToken)\r\n } catch (e) {\r\n // console.log('Error', e)\r\n return false\r\n }\r\n}\r\n","/*\r\n Returns a list of HOAs associated with the current user\r\n so the client can let the user switch between HOAs\r\n*/\r\n\r\nimport axios from 'axios'\r\nimport { KMS_BACKEND } from '@/config'\r\nimport { handleServiceErrors } from '@/services/errors'\r\n\r\nexport async function getAssociations() {\r\n return axios\r\n .get(`${KMS_BACKEND}/Hoa/List`, {\r\n headers: { ...this.authHeaders() }\r\n })\r\n .then(res => res.data.hoas)\r\n .catch(handleServiceErrors)\r\n}\r\n","import { KMS_AUTH_TOKEN } from '@/config'\r\n\r\nexport function getStorageKey({ notes = 0 } = {}) {\r\n if (notes) {\r\n console.info('getStorageKey', {\r\n KMS_AUTH_TOKEN,\r\n scope: this.getAuthScope()\r\n })\r\n }\r\n\r\n return btoa(KMS_AUTH_TOKEN + this.getAuthScope())\r\n}\r\n","/*\r\n import { COOKIE_OPTS } from '@/services/_auth/constants/cookie'\r\n*/\r\n\r\nimport { KMS_AUTH_DOMAIN } from '@/config'\r\n\r\nexport const COOKIE_OPTS = Object.freeze({\r\n path: '/',\r\n domain: KMS_AUTH_DOMAIN,\r\n expires: 1\r\n})\r\n","// Pull token from cookies\r\n\r\nimport Cookies from 'js-cookie'\r\nimport { COOKIE_OPTS } from '@/services/_auth/constants/cookie'\r\n\r\nexport function getToken() {\r\n const data = Cookies.get(this.getStorageKey(), COOKIE_OPTS)\r\n const json = data && atob(data)\r\n\r\n // console.log ('getToken', { data, json, storageKey: this.getStorageKey(), COOKIE_OPTS })\r\n\r\n return (json && JSON.parse(json)) || {}\r\n}\r\n","// Returns a list of units associated with the current user\r\n// so the client can let the user switch between units\r\n\r\nimport axios from 'axios'\r\nimport { KMS_BACKEND } from '@/config'\r\nimport { handleServiceErrors } from '@/services/errors'\r\n\r\nexport async function getUnits() {\r\n return axios\r\n .get(`${KMS_BACKEND}/User/GetOwnerUserUnits`, {\r\n headers: { ...this.authHeaders() }\r\n })\r\n .then(res => res.data)\r\n .catch(handleServiceErrors)\r\n}\r\n","export async function hasPermission(hoaID, permissionName) {\r\n const { token } = this.getToken()\r\n if (token == null) return false\r\n\r\n //\r\n const decodedToken = JSON.parse(atob(token.split('.')[1]))\r\n //\r\n const permissions = decodedToken['khoala-claim:permissions']\r\n let permissionSet = false\r\n\r\n permissions.split(';').forEach(hoaPermissions => {\r\n let [currentHoaID, permissionList] = hoaPermissions.split(':')\r\n //\r\n if (currentHoaID == hoaID) {\r\n permissionSet = permissionList.split(',').includes(permissionName)\r\n }\r\n })\r\n\r\n console.log('checking ' + hoaID + ':' + permissionName + ' = ' + permissionSet)\r\n //\r\n return permissionSet\r\n}\r\n","// Check for valid token and refresh if possible\r\n\r\nexport async function hasValidToken() {\r\n try {\r\n const { token, expiration, refreshToken } = this.getToken()\r\n //\r\n const decodedToken = JSON.parse(atob(token.split('.')[1]))\r\n const expTime = +new Date(decodedToken.exp * 1000)\r\n const refreshTime = +new Date(expiration)\r\n const now = +new Date()\r\n\r\n // Token should still be good. Try it.\r\n if (expTime > now) {\r\n // console.log('Token should still be good.')\r\n return true\r\n }\r\n\r\n if (refreshTime > now) {\r\n // refresh token\r\n // console.log('Token needs a refresh.')\r\n return await this.updateToken(refreshToken)\r\n } else {\r\n // console.log('Refresh Token has expired. Will need to login again.', { refreshTime, now })\r\n return false\r\n }\r\n } catch (e) {\r\n // console.log('Error', e)\r\n return false\r\n }\r\n}\r\n","// Init User (and refresh token) if token is in cookies\r\n\r\nexport async function initAuth() {\r\n if (await this.hasValidToken()) {\r\n return this.initUser()\r\n }\r\n\r\n return null\r\n}\r\n","export async function initAuthRefreshToken() {\r\n if (await this.forceTokenRefresh()) {\r\n return this.initUser()\r\n } else {\r\n return null\r\n }\r\n}\r\n","// load info for current user\r\n\r\nimport { KMS_BACKEND, appId } from '@/config'\r\n\r\nimport axios from 'axios'\r\n\r\nexport async function initUser({ notes = 0 } = {}) {\r\n const isVendorApp = appId() != 'vendor'\r\n\r\n /*\r\n Relevant Example:\r\n \r\n var conclusions = await Promise.all ([\r\n new Promise ((w,l) => {\r\n l (\"???\")\r\n }).catch (l => {\r\n console.log (l)\r\n }),\r\n true && new Promise ((w,l) => {\r\n w (\"????\")\r\n }).catch (l => {\r\n console.log (l)\r\n })\r\n ])\r\n \r\n [ undefined, \"????\" ]\r\n */\r\n const headers = { ...this.authHeaders({ notes }) }\r\n const conclusions = await Promise.all([\r\n axios\r\n .get(`${KMS_BACKEND}/User`, {\r\n headers\r\n })\r\n .catch(() => {\r\n console.error(`Couldn't login`, {\r\n headers\r\n })\r\n\r\n this.logout()\r\n }),\r\n\r\n isVendorApp && this.getAssociations()\r\n ])\r\n\r\n console.log({ conclusions })\r\n\r\n return {\r\n ...conclusions[0].data,\r\n ...(isVendorApp ? { associations: conclusions[1] } : {})\r\n }\r\n\r\n /*\r\n return axios\r\n .get(`${KMS_BACKEND}/User`, {\r\n headers: { ...this.authHeaders() }\r\n })\r\n .then(async res => {\r\n logJSON('user:', res.data)\r\n\r\n if (appId() != 'vendor') {\r\n return {\r\n ...res.data,\r\n associations: await this.getAssociations()\r\n }\r\n } else {\r\n return {\r\n ...res.data\r\n }\r\n }\r\n })\r\n .catch(() => this.logout())\r\n */\r\n}\r\n","import { KMS_BACKEND, appId } from '@/config'\r\n\r\nimport axios from 'axios'\r\n\r\nlet isDebug = false\r\n\r\nexport async function loginCheckMultiFactor(email, password) {\r\n try {\r\n const resp = await axios.post(`${KMS_BACKEND}/User/Login`, {\r\n email,\r\n password,\r\n scope: appId() === 'onboarding' ? 'management' : appId(),\r\n clientType: 'webportal'\r\n })\r\n\r\n if (isDebug === true) console.debug('loginCheckMultiFactor=' + JSON.stringify(resp.data))\r\n\r\n const { additionalAuthenticationRequired, additionalAuthenticationTypes } = resp.data\r\n\r\n if (additionalAuthenticationRequired === true) {\r\n if (additionalAuthenticationTypes && additionalAuthenticationTypes.length > 0) {\r\n //Check for 2FA required\r\n if (isDebug === true)\r\n console.debug(\r\n 'Is 2FA required:' +\r\n additionalAuthenticationRequired +\r\n ', types=' +\r\n JSON.stringify(additionalAuthenticationTypes)\r\n )\r\n\r\n return additionalAuthenticationTypes\r\n }\r\n }\r\n } catch ({ message = 'Error', response = {} }) {\r\n this.logout()\r\n const { data = message } = response\r\n throw new Error(data.message || data)\r\n }\r\n\r\n return null\r\n}\r\n","/*\r\n Login user with email and password\r\n and save auth token in cookies\r\n*/\r\n\r\n/*\r\n await login (\r\n email,\r\n password,\r\n //\r\n // 0 //-> no console notes\r\n 1\r\n )\r\n*/\r\n\r\n/*\r\n procedure might be:\r\n \r\n auth.login\r\n \r\n auth.saveToken\r\n auth.getAuthScope\r\n auth.getStorageKey\r\n \r\n auth.initUser\r\n auth.authHeaders\r\n \r\n\r\n*/\r\n\r\nimport axios from 'axios'\r\nimport { KMS_BACKEND, appId } from '@/config'\r\n\r\nexport async function login(email, password, notes = 0) {\r\n try {\r\n const resp = await axios.post(`${KMS_BACKEND}/User/Login`, {\r\n email,\r\n password,\r\n scope: appId() === 'onboarding' ? 'management' : appId(),\r\n clientType: 'webportal'\r\n })\r\n\r\n const { token, refreshToken, expiration } = resp.data\r\n\r\n if (notes) {\r\n console.info('auth login', { token, refreshToken, expiration })\r\n }\r\n\r\n if (resp && token) {\r\n this.saveToken(token, refreshToken, expiration, notes)\r\n return this.initUser()\r\n } else {\r\n this.logout()\r\n throw new Error('Login failed: Missing Token in login response payload')\r\n }\r\n } catch ({ message = 'Error', response = {} }) {\r\n this.logout()\r\n const { data = message } = response\r\n throw new Error(data.message || data)\r\n }\r\n}\r\n","import { COOKIE_OPTS } from '@/services/_auth/constants/cookie'\r\nimport Cookies from 'js-cookie'\r\n\r\nexport function logout() {\r\n return Cookies.remove(this.getStorageKey(), COOKIE_OPTS)\r\n}\r\n","// Save JWT and refresh token to cookies\r\n\r\nimport Cookies from 'js-cookie'\r\nimport { COOKIE_OPTS } from '@/services/_auth/constants/cookie'\r\n\r\nexport async function saveToken(token, refreshToken, expiration, notes = 0) {\r\n const scope = this.getAuthScope()\r\n\r\n if (notes) {\r\n console.log('Saving cookie:', {\r\n COOKIE_OPTS: JSON.stringify(COOKIE_OPTS),\r\n storage_key: this.getStorageKey(),\r\n partials: { token, refreshToken, expiration, scope },\r\n\r\n token: btoa(JSON.stringify({ token, refreshToken, expiration, scope }))\r\n })\r\n }\r\n\r\n Cookies.set(\r\n this.getStorageKey(),\r\n btoa(JSON.stringify({ token, refreshToken, expiration, scope })),\r\n COOKIE_OPTS\r\n )\r\n}\r\n","export async function twoFactorLogin(token, refreshToken, expiration) {\r\n try {\r\n if ((token, refreshToken, expiration)) {\r\n this.saveToken(token, refreshToken, expiration)\r\n return this.initUser()\r\n } else {\r\n this.logout()\r\n throw new Error('Login failed: Missing Additional Token in login response payload')\r\n }\r\n } catch ({ message = 'Error', response = {} }) {\r\n this.logout()\r\n const { data = message } = response\r\n throw new Error(data.message || data)\r\n }\r\n}\r\n","// update token using a refresh token\r\n\r\nimport { KMS_BACKEND } from '@/config'\r\nimport axios from 'axios'\r\n\r\nexport async function updateToken(refresh) {\r\n try {\r\n const resp = await axios.post(`${KMS_BACKEND}/User/UpdateToken`, { refreshToken: refresh })\r\n const { token, refreshToken, expiration } = resp.data\r\n\r\n if (resp && token) {\r\n this.saveToken(token, refreshToken, expiration)\r\n return true\r\n } else {\r\n return false\r\n }\r\n } catch (e) {\r\n return false\r\n }\r\n}\r\n","/*\r\n import auth from '@/services/_auth'\r\n \r\n auth.logout ();\r\n*/\r\n\r\n/*\r\n login sequence:\r\n started with -> user/initAuth\r\n \r\n \r\n*/\r\n\r\n/*\r\n Relevant Imports:\r\n\r\n import Cookies from 'js-cookie'\r\n import axios from 'axios'\r\n\r\n // Pull settings from .env\r\n import { KMS_BACKEND, KMS_AUTH_DOMAIN, KMS_AUTH_TOKEN, appId } from '@/config'\r\n import { handleServiceErrors } from './../errors'\r\n\r\n import { COOKIE_OPTS } from '@/services/_auth/constants/cookie'\r\n*/\r\n\r\nimport { appId } from '@/config'\r\n\r\nimport { authHeaders } from './procedures/authHeaders'\r\nimport { forceTokenRefresh } from './procedures/forceTokenRefresh'\r\nimport { getAssociations } from './procedures/getAssociations'\r\nimport { getStorageKey } from './procedures/getStorageKey'\r\nimport { getToken } from './procedures/getToken'\r\nimport { getUnits } from './procedures/getUnits'\r\nimport { hasPermission } from './procedures/hasPermission'\r\nimport { hasValidToken } from './procedures/hasValidToken'\r\nimport { initAuth } from './procedures/initAuth'\r\nimport { initAuthRefreshToken } from './procedures/initAuthRefreshToken'\r\nimport { initUser } from './procedures/initUser'\r\nimport { loginCheckMultiFactor } from './procedures/loginCheckMultiFactor'\r\nimport { login } from './procedures/login'\r\nimport { logout } from './procedures/logout'\r\nimport { saveToken } from './procedures/saveToken'\r\nimport { twoFactorLogin } from './procedures/twoFactorLogin'\r\nimport { updateToken } from './procedures/updateToken'\r\n\r\n/*\r\n Authentication Methods <-> Khoala API\r\n*/\r\nconst auth = {\r\n authHeaders,\r\n forceTokenRefresh,\r\n getAssociations,\r\n getStorageKey,\r\n getToken,\r\n getUnits,\r\n hasPermission,\r\n hasValidToken,\r\n initAuth,\r\n initAuthRefreshToken,\r\n initUser,\r\n loginCheckMultiFactor,\r\n login,\r\n logout,\r\n saveToken,\r\n twoFactorLogin,\r\n updateToken,\r\n\r\n // For portals, using app ID as auth scope\r\n getAuthScope() {\r\n return appId()\r\n }\r\n}\r\n\r\nexport default auth\r\n","/*\r\n import { surveyHoList } from '@/services/Surveys/HomeOwner/Welcome/store'\r\n*/\r\n\r\nimport Vue from 'vue'\r\nimport Vuex from 'vuex'\r\nimport kms from '@/services/kms'\r\nimport { notifyProblem } from '@/services/notify'\r\n\r\n/* eslint-disable no-empty-pattern */\r\nconst actions = {\r\n /*\r\n const { list } = await surveyHoList.dispatch ('getSurveyNotCompletedList', {\r\n hoaId\r\n });\r\n */\r\n async getSurveyNotCompletedList({}, { hoaId, showOnlyNotComplete }) {\r\n try {\r\n const result = await kms.get('/Surveys/SurveyHeader/List', {\r\n params: {\r\n hoaId,\r\n showOnlyNotComplete\r\n }\r\n })\r\n\r\n return {\r\n list: result.results\r\n }\r\n } catch (exception) {\r\n notifyProblem(`The not completed surveys list could not be retrieved.`)\r\n console.error(exception)\r\n }\r\n\r\n return {\r\n list: []\r\n }\r\n },\r\n\r\n //Survey Header by Id\r\n async getSurveyHeaderById({}, { surveyHeaderID }) {\r\n try {\r\n const survey = await kms.get(`/Surveys/SurveyHeader/${surveyHeaderID}`)\r\n\r\n return {\r\n result: survey\r\n }\r\n } catch (exception) {\r\n notifyProblem(`There was a problem retrieving the survey.`)\r\n console.error(exception)\r\n }\r\n\r\n return {\r\n survey: {}\r\n }\r\n }\r\n}\r\n/* eslint-enable no-empty-pattern */\r\n\r\nVue.use(Vuex)\r\nexport const surveyHoList = new Vuex.Store({\r\n state: {},\r\n mutations: {},\r\n getters: {},\r\n actions\r\n})\r\n","import camelCase from 'lodash/camelCase'\r\nimport mapKeys from 'lodash/mapKeys'\r\n\r\nexport class AppError extends Error {\r\n constructor(message, status) {\r\n // Calling parent constructor of base Error class.\r\n super(message)\r\n\r\n //\r\n // https://stackoverflow.com/questions/31089801/extending-error-in-javascript-with-es6-syntax-babel\r\n if (typeof Error.captureStackTrace === 'function') {\r\n Error.captureStackTrace(this, this.constructor)\r\n } else {\r\n this.stack = new Error(message).stack\r\n }\r\n\r\n // Saving class name in the property of our custom error as a shortcut.\r\n this.name = this.constructor.name\r\n\r\n //\r\n // You can use any additional properties you want.\r\n // I'm going to use preferred HTTP status for this error types.\r\n // `500` is the default value if not specified.\r\n this.status = status || 500\r\n }\r\n}\r\n\r\nexport class ValidationError extends AppError {\r\n constructor(msg, fields = {}, status = 400) {\r\n super(String(msg), status)\r\n\r\n // convert fields to camelCase to match our property names\r\n this.fields = mapKeys(fields, (_v, k) => camelCase(k))\r\n }\r\n}\r\n\r\n// Method for handling a variety of known service errors\r\nexport const handleServiceErrors = e => {\r\n if (\r\n e.response !== undefined &&\r\n e.response.data !== undefined &&\r\n e.response.status !== undefined\r\n ) {\r\n const { status, data } = e.response\r\n //console.debug('response=' + JSON.stringify(e.response))\r\n if (status !== undefined && status && status === 401) {\r\n // unauthorized. not logged in, or session expired (reload)\r\n if (window) window.location.reload()\r\n } else if (\r\n status !== undefined &&\r\n status &&\r\n status === 400 &&\r\n data !== undefined &&\r\n data &&\r\n data.message\r\n ) {\r\n console.debug('1' + data.message)\r\n //throw new ValidationError(data.message, data.message, '')\r\n throw new Error(data.message)\r\n } else if (\r\n status !== undefined &&\r\n status &&\r\n status === 400 &&\r\n data !== undefined &&\r\n data &&\r\n data.title &&\r\n data.errors\r\n ) {\r\n console.debug('2' + data.title + ' - ' + JSON.stringify(data.errors.Name))\r\n if (data !== undefined && data && data.errors.Name !== undefined && data.errors.Name) {\r\n throw new Error(data.errors.Name)\r\n } else {\r\n if (\r\n data !== undefined &&\r\n data &&\r\n data.title !== undefined &&\r\n data.errors !== undefined &&\r\n status !== undefined &&\r\n status\r\n ) {\r\n throw new ValidationError(data.title, data.errors, status)\r\n }\r\n }\r\n } else if (data !== undefined && data && data.length) {\r\n // Authentication Errors are different (password rules)\r\n console.debug('3')\r\n throw new ValidationError(\r\n e.message,\r\n { password: data !== undefined && data ? data.map(e => e.description).join('
') : '' },\r\n status !== undefined && status ? status : ''\r\n )\r\n } else if (data !== undefined && data && data.errors) {\r\n console.debug('4' + JSON.stringify(data.errors))\r\n throw new Error(\r\n data !== undefined && data ? data.errors.map(e => e.message).join('
') : ''\r\n )\r\n } else {\r\n console.debug('else' + e)\r\n throw new Error(e)\r\n }\r\n }\r\n}\r\n","import mod from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=style&index=0&id=2a658841&lang=scss&scoped=true&\"; export default mod; export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=style&index=0&id=2a658841&lang=scss&scoped=true&\"","import mod from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=style&index=1&id=1571e8d8&lang=scss&scoped=true&\"; export default mod; export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=style&index=1&id=1571e8d8&lang=scss&scoped=true&\"","import mod from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=style&index=0&id=61f32549&lang=scss&scoped=true&\"; export default mod; export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=style&index=0&id=61f32549&lang=scss&scoped=true&\"","import mod from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=style&index=0&lang=scss&scope=true&\"; export default mod; export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=style&index=0&lang=scss&scope=true&\"","/*\r\n opens an overlay within a div that is appended close to the body \r\n so as to avoid z-index issues\r\n\r\n Search: {\r\n const mType = mutation.type;\r\n\r\n })\r\n\r\n this.unsubOverlaysStore();\r\n*/\r\n\r\nimport Vue from 'vue'\r\nimport Vuex from 'vuex'\r\n\r\nVue.use(Vuex)\r\nexport const overlaysStore = new Vuex.Store({\r\n state: {\r\n open: false,\r\n settings: {}\r\n },\r\n mutations: {\r\n /*\r\n\t\t\t\r\n\r\n \t*/\r\n async show() {},\r\n async hide() {},\r\n async toggle() {}\r\n },\r\n /* eslint-disable no-empty-pattern */\r\n actions: {\r\n /*\r\n await overlaysStore.dispatch ('show', {\r\n component: HOASelectorModal,\r\n props: {\r\n toggle: true\r\n }\r\n });\r\n \t*/\r\n async show({ state, commit }, settings) {\r\n state.open = true\r\n commit('show', settings)\r\n },\r\n\r\n // await overlaysStore.dispatch ('hide')\r\n async hide({ state, commit }) {\r\n state.open = false\r\n commit('hide')\r\n }\r\n },\r\n /* eslint-enable no-empty-pattern */\r\n getters: {}\r\n})\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.open)?_c('div',{class:'fixed z-10 inset-0 ' + _vm.classes,style:({\n overflow: 'visible',\n zIndex: _vm.zIndex\n }),on:{\"hide\":function($event){_vm.open = false}}},[_c('div',{staticClass:\"fixed inset-0\",style:(_vm.styles_.modalBackground),attrs:{\"modal-background\":\"\"}},[_c('div',{staticClass:\"absolute inset-0 bg-gray-500\",on:{\"click\":_vm.closeModal}})]),_c('div',{ref:\"panel\",staticClass:\"inline-block bg-white rounded text-left shadow-xl transform transition-all align-middle w-full\",style:(_vm.styles_.modal),attrs:{\"modal-panel\":\"\",\"tabindex\":\"0\",\"role\":\"dialog\"}},[(_vm.showHeader === true)?_c('div',{style:({\n position: 'relative',\n display: 'flex',\n justifyContent: 'space-between',\n alignItems: 'center',\n width: '100%',\n flex: '0 0 65px',\n borderBottom: '1px solid #eee',\n padding: '7px 8px 7px 26px'\n })},[_c('header',{style:(Object.assign({}, {fontSize: '20px'},\n (_vm.centerTitle\n ? {\n width: '80%',\n marginLeft: '10%'\n }\n : {}))),attrs:{\"modal-header\":\"\"}},[_vm._t(\"header\")],2),_c('button',{staticClass:\"modal-close-button text-gray-400 hover:text-gray-500 focus:outline-none focus:text-gray-500 transition ease-in-out duration-150\",style:({\n position: 'absolute',\n right: '18px'\n }),attrs:{\"id\":\"clickclose\",\"type\":\"button\",\"aria-label\":\"Close\"},on:{\"click\":_vm.closeModal}},[_c('svg',{style:({\n height: '2.5rem',\n width: '2.5rem'\n }),attrs:{\"fill\":\"none\",\"stroke\":\"currentColor\",\"viewBox\":\"0 0 24 24\",\"xmlns\":\"http://www.w3.org/2000/svg\"}},[_c('path',{attrs:{\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"stroke-width\":\"2\",\"d\":\"M10 14l2-2m0 0l2-2m-2 2l-2-2m2 2l2 2m7-2a9 9 0 11-18 0 9 9 0 0118 0z\"}})])])]):_vm._e(),(!!this.$slots.header2)?_c('section',{style:({\n position: 'relative',\n //\n width: '100%',\n borderBottom: '1px solid #eee',\n padding: '7px 8px'\n }),attrs:{\"modal-header2\":\"\"}},[_vm._t(\"header2\")],2):_vm._e(),_c('div',{style:(_vm.styles_.modalContent)},[_vm._t(\"default\")],2),(this.$slots.footer)?_c('footer',{style:(_vm.styles_.footer),attrs:{\"modal-footer\":\"\"}},[_vm._t(\"footer\")],2):_vm._e(),_c('b-loading',{attrs:{\"is-full-page\":false,\"can-cancel\":false,\"modal-loading-overlay\":\"\"},model:{value:(_vm.loading),callback:function ($$v) {_vm.loading=$$v},expression:\"loading\"}})],1)]):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export function beforeDestroy() {\r\n document.removeEventListener('focus', this.onFocus)\r\n document.removeEventListener('keydown', this.onKeyDown)\r\n\r\n console.debug('in beforeDestroy...')\r\n\r\n this.unsubWindowStore()\r\n}\r\n","var transitionDurationString = '.3s'\r\nvar transitionDuration = 300\r\n\r\nimport { zIndexes } from '@/utilities/zIndexes'\r\n\r\nexport function data() {\r\n return {\r\n zIndex: zIndexes.modals,\r\n breakpoint: null,\r\n transitionDuration,\r\n transitionDurationString,\r\n open: false,\r\n customWidth: false,\r\n uploadDescription: '',\r\n styles_: this.determineStyles()\r\n }\r\n}\r\n","export const props = {\r\n classes: {\r\n type: String,\r\n default: ''\r\n },\r\n ariaLabel: {\r\n type: String,\r\n default: 'Modal'\r\n },\r\n centerTitle: {\r\n type: Boolean,\r\n default: false\r\n },\r\n h_full: Boolean,\r\n h_width: String,\r\n loading: {\r\n type: Boolean,\r\n default: false\r\n },\r\n newID: Number,\r\n showHeader: {\r\n type: Boolean,\r\n default: true\r\n },\r\n styles: {\r\n type: Object,\r\n default() {\r\n return {}\r\n }\r\n },\r\n toggle: Boolean,\r\n checkBeforeClose: {\r\n type: Function,\r\n default() {}\r\n }\r\n}\r\n","import _merge from 'lodash/merge'\r\n\r\nexport const methods = {\r\n determineStyles() {\r\n const breakpoint = this.breakpoint\r\n const transitionDurationString = this.transitionDurationString\r\n\r\n return _merge(\r\n {},\r\n {\r\n modal: {\r\n opacity: 0,\r\n\r\n display: 'flex',\r\n flexDirection: 'column',\r\n\r\n position: 'absolute',\r\n\r\n ...(breakpoint === 'desktop'\r\n ? {\r\n top: '50%',\r\n left: '50%',\r\n transform: 'translateX(-50%) translateY(-50%)',\r\n maxHeight: '80vh',\r\n maxWidth: '900px',\r\n width: '80%'\r\n }\r\n : {\r\n top: '50%',\r\n left: '50%',\r\n transform: 'translateX(-50%) translateY(-50%)',\r\n maxHeight: '98vh',\r\n maxWidth: '98vw',\r\n width: '100%'\r\n }),\r\n\r\n transition: `opacity ${transitionDurationString}`,\r\n overflow: 'visible'\r\n },\r\n modalContent: {\r\n position: 'relative',\r\n overflow: 'auto',\r\n padding: '12px 26px'\r\n },\r\n modalBackground: {\r\n opacity: 0,\r\n transition: `opacity ${transitionDurationString}`\r\n },\r\n footer: {\r\n padding: '20px',\r\n borderTop: '1px solid rgb(238, 238, 238)'\r\n }\r\n },\r\n this.styles\r\n )\r\n },\r\n toggleChanged(value) {\r\n console.log('toggleChanged', value)\r\n\r\n // needs to wait til after the v-if toggle is rendered\r\n // otherwise transition won't happen\r\n setTimeout(() => {\r\n if (value) {\r\n this.styles_.modalBackground.opacity = 0.75\r\n this.styles_.modal.opacity = 1\r\n } else {\r\n this.styles_.modalBackground.opacity = 0\r\n this.styles_.modal.opacity = 0\r\n }\r\n }, 0)\r\n\r\n if (value === true) {\r\n this.open = value\r\n } else {\r\n // remove the modal after the transition out\r\n setTimeout(() => {\r\n this.open = value\r\n }, this.transitionDuration)\r\n }\r\n },\r\n closeModal() {\r\n this.styles_.modalBackground.opacity = 0\r\n this.styles_.modal.opacity = 0\r\n\r\n setTimeout(() => {\r\n this.$emit('update:toggle', false)\r\n }, 300)\r\n },\r\n onFocus(event) {\r\n if (!this.toggle) {\r\n return\r\n }\r\n\r\n try {\r\n const panel = this.$refs.panel\r\n\r\n if (panel && !panel.contains(event.target)) {\r\n event.stopPropagation()\r\n panel.focus()\r\n }\r\n } catch (ex) {\r\n // console.error('modal panel could not be focused');\r\n console.error(ex)\r\n }\r\n },\r\n onKeyDown(event) {\r\n // 27 is escape key\r\n if (this.toggle && event.keyCode == 27) {\r\n this.$emit('update:toggle', false)\r\n }\r\n }\r\n}\r\n","import { windowStore } from '@/utilities/window/store'\r\n\r\nexport function mounted() {\r\n document.addEventListener('focus', this.onFocus, true)\r\n document.addEventListener('keydown', this.onKeyDown, true)\r\n\r\n this.styles_.modal.width = this.h_width ? this.h_width : '80%'\r\n\r\n if (this.toggle) {\r\n this.toggleChanged(true)\r\n }\r\n\r\n this.unsubWindowStore = windowStore.subscribe((mutation, state) => {\r\n const mType = mutation.type\r\n\r\n if (mType === 'breakPointChange' && this.open === true) {\r\n this.breakpoint = state.breakpoint\r\n this.toggleChanged(true)\r\n }\r\n })\r\n\r\n this.breakpoint = windowStore.state.breakpoint\r\n}\r\n","import { overlaysStore } from '@/components/Overlays/store'\r\n\r\nexport const watch = {\r\n open(yes) {\r\n if (yes) {\r\n /*\r\n focus on the modal\r\n after a 1/2 second delay\r\n */\r\n setTimeout(() => {\r\n try {\r\n this.$refs.panel.focus()\r\n } catch (exception) {\r\n console.debug(exception)\r\n }\r\n }, 500)\r\n }\r\n },\r\n toggle(value) {\r\n this.toggleChanged(value)\r\n\r\n if (value === false) {\r\n overlaysStore.dispatch('hide')\r\n this.checkBeforeClose()\r\n }\r\n },\r\n breakpoint() {\r\n this.styles_ = this.determineStyles()\r\n }\r\n}\r\n","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./index.vue?vue&type=template&id=d2c43cb0&scoped=true&\"\nimport script from \"./index.vue?vue&type=script&lang=js&\"\nexport * from \"./index.vue?vue&type=script&lang=js&\"\nimport style0 from \"./index.vue?vue&type=style&index=0&id=d2c43cb0&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"d2c43cb0\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('ValidationProvider',{ref:\"Provider\",attrs:{\"vid\":_vm.vid,\"name\":_vm.$attrs.name || _vm.$attrs.label,\"rules\":_vm.rules},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar errors = ref.errors;\nvar valid = ref.valid;\nreturn [_c('b-field',_vm._b({attrs:{\"type\":{\n 'is-danger': errors.length > 0 || _vm.errorMessage.length > 0,\n 'is-success': valid && _vm.errorMessage.length === 0\n },\"message\":_vm.errorMessage || (errors.length > 0 ? errors[0] : '')},scopedSlots:_vm._u([(_vm.optional)?{key:\"label\",fn:function(){return [_vm._v(\" \"+_vm._s(_vm.$attrs.label)+\" \"),_c('b-tag',[_vm._v(\"optional\")])]},proxy:true}:null],null,true)},'b-field',_vm.$attrs,false),[_c('b-input',_vm._b({on:{\"change\":function($event){return _vm.validateField()}},model:{value:(_vm.innerValue),callback:function ($$v) {_vm.innerValue=$$v},expression:\"innerValue\"}},'b-input',_vm.$attrs,false))],1)]}}])})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./index.vue?vue&type=template&id=16994d4c&\"\nimport script from \"./index.vue?vue&type=script&lang=js&\"\nexport * from \"./index.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","module.exports = __webpack_public_path__ + \"img/logo-icon.4f2ad4f8.svg\";","// Config settings are pulled from ENV vars\r\n// Note that var names most be prefixed with 'VUE_APP_'\r\n//\r\n// We are using the Vue CLI built-in support for dotenv (.env) files\r\n// More info at https://cli.vuejs.org/guide/mode-and-env.html\r\n\r\nconst {\r\n VUE_APP_KMS_BACKEND: KMS_BACKEND,\r\n VUE_APP_VERSION: VERSION,\r\n VUE_APP_KMS_AUTH_DOMAIN: KMS_AUTH_DOMAIN,\r\n VUE_APP_KMS_AUTH_TOKEN: KMS_AUTH_TOKEN,\r\n VUE_APP_KMS_SITE_ROOT: KMS_SITE_ROOT,\r\n VUE_APP_FORTIS_JAVASCRIPT_PATH: FORTIS_JAVASCRIPT_PATH,\r\n VUE_APP_FORTIS_BASEURL: FORTIS_BASEURL\r\n} = process.env\r\n\r\n// getter/setter for app ID\r\nlet id = 'dev'\r\nfunction appId(setId) {\r\n if (setId) id = setId\r\n return id\r\n}\r\n\r\nexport {\r\n KMS_BACKEND,\r\n KMS_AUTH_DOMAIN,\r\n KMS_AUTH_TOKEN,\r\n KMS_SITE_ROOT,\r\n VERSION,\r\n FORTIS_JAVASCRIPT_PATH,\r\n FORTIS_BASEURL,\r\n appId\r\n}\r\n","module.exports = __webpack_public_path__ + \"img/logo.2d4ef4b4.svg\";"],"sourceRoot":""}