{"version":3,"sources":["css/_export.module.scss","reportWebVitals.ts","assets/Lockstep_Icon_With_Text_Color_RGB.svg","components/library/Loading/LoadingDots.tsx","components/library/Button/Button.tsx","components/library/Icons/Icons.tsx","types/enums.ts","contexts/OnboardContext.tsx","auth/authConfig.ts","db/APIClient.ts","db/clients/StatusClient.tsx","db/clients/CompaniesClient.tsx","db/clients/InvoicesClient.tsx","db/clients/ReportsClient.tsx","db/clients/ActivitiesClient.tsx","db/clients/LeadsClient.ts","db/clients/ProvisioningClient.ts","db/clients/EnrollmentsClient.tsx","db/clients/PaymentsClient.ts","db/clients/PaymentApplicationsClient.ts","db/clients/SyncClient.ts","db/clients/UserAccountsClient.tsx","db/clients/ContactsClient.tsx","db/clients/ApplicationsClient.tsx","db/clients/UserRolesClient.tsx","db/clients/NotesClient.tsx","db/clients/DocumentsClient.ts","db/accessor.ts","db/clients/DefinitionsClient.ts","db/clients/CodeDefinitionsClient.tsx","AppInsights.tsx","contexts/AppContext.tsx","utils/utils.ts","assets/qb-logo.svg","assets/XeroLogo.svg","components/Onboard/ERPSelect/ERPSelect.tsx","components/library/Input/Input.tsx","components/library/Autocomplete/Autocomplete.tsx","components/Onboard/PersonalInfo/EditPersonalInfo.tsx","components/Onboard/PersonalInfo/ViewPersonalInfo.tsx","components/Onboard/PersonalInfo/PersonalInfo.tsx","Countries.ts","components/Onboard/CompanyInfo/EditCompanyInfo.tsx","components/Onboard/CompanyInfo/ViewCompanyInfo.tsx","components/Onboard/CompanyInfo/CompanyInfo.tsx","components/Onboard/OnboardError/OnboardError.tsx","components/Onboard/CreateAccount/CreateAccount.tsx","components/Onboard/ExistingAccount/ExistingAccount.tsx","components/Onboard/OtherERP/OtherERP.tsx","assets/ConnectOutlookLogo.svg","assets/ConnectGmailLogo.svg","components/Onboard/ConnectEmail/ConnectEmail.tsx","components/Onboard/CreateInvitedAccount/CreateInvitedAccount.tsx","routes/Onboard/Onboard.tsx","components/library/NavLink/index.tsx","assets/Loading.svg","components/library/Loading/Loading.tsx","components/library/Error/Error.tsx","contexts/DashboardContext.tsx","components/library/NoData/NoData.tsx","db/utils/currency.tsx","components/Dashboard/Widgets/TopCustomers/TopCustomers.tsx","components/library/Table/Checkbox/Checkbox.tsx","assets/Close.svg","components/library/Dropdown/Dropdown.tsx","contexts/InvoiceContext.tsx","components/library/Table/FilterButton/FilterButton.tsx","components/library/Table/SortButton/SortButton.tsx","components/library/Table/ExportButton/ExportButton.tsx","components/library/SoftAlert/SoftAlert.tsx","components/Activities/Mine/HoverBar/Hoverbar.tsx","components/library/Table/getConditionalAllRowsSelectedProps.ts","utils/APIClientUtils/APIClientUtils.ts","components/library/Table/Table.tsx","components/library/Chip/Chip.tsx","db/utils/date.tsx","utils/TableUtils/TableUtils.tsx","components/Dashboard/Drilldowns/TopCustomers/PastDueBalance/PastDueBalance.tsx","components/Dashboard/Drilldowns/TopCustomers/PastDueInvoices/PastDueInvoices.tsx","components/Dashboard/Drilldowns/TopCustomers/TotalBalance/TotalBalance.tsx","components/Dashboard/Drilldowns/TopCustomers/OpenInvoices/OpenInvoices.tsx","components/library/ContentNavLink/ContentNavLink.tsx","components/library/Navbar/Navbar.tsx","components/library/ARHeader/ARHeader.tsx","components/Dashboard/Drilldowns/TopCustomers/TopCustomers.tsx","components/library/Charts/DonutChart.tsx","components/library/Charts/Legend/Legend.tsx","components/Dashboard/Widgets/Aging/Aging.tsx","components/Dashboard/Drilldowns/Aging/AgingTable/AgingTable.tsx","components/Dashboard/Drilldowns/Aging/AgingHeader/AgingHeader.tsx","components/Dashboard/Drilldowns/Aging/Aging.tsx","components/library/Charts/BarChart.tsx","components/Dashboard/Widgets/ReceivablesRisk/ReceivablesRisk.tsx","components/Dashboard/Drilldowns/ReceivablesRisk/ReceivablesRiskTable/ReceivablesRiskTable.tsx","components/Dashboard/Drilldowns/ReceivablesRisk/ReceivablesRisk.tsx","components/library/Arrow/Arrow.tsx","components/Dashboard/Widgets/DaysSalesOutstanding/DaysSalesOutstanding.tsx","components/Dashboard/Drilldowns/DaysSalesOutstanding/DaysSalesOutstandingTable/DaysSalesOutstandingTable.tsx","components/Dashboard/Drilldowns/DaysSalesOutstanding/DaysSalesOutstanding.tsx","components/Dashboard/Widgets/ReceivablesSummary/ReceivablesSummary.tsx","components/Dashboard/Drilldowns/ReceivablesSummary/Collected/Collected.tsx","components/Dashboard/Drilldowns/ReceivablesSummary/Invoiced/Invoiced.tsx","components/Dashboard/Drilldowns/ReceivablesSummary/ReceivablesSummary.tsx","components/Dashboard/Dashboard.tsx","components/library/TextArea/TextArea.tsx","components/Activities/ActivitiesTable/NewActivity/ActivityTo/ActivityTo.tsx","components/Activities/ActivitiesTable/NewActivity/ActivityTitle/ActivityTitle.tsx","assets/Undo.svg","assets/Redo.svg","assets/Bold.svg","assets/Italic.svg","assets/Underline.svg","assets/Strikethrough.svg","components/Activities/ActivitiesTable/NewActivity/ActivityBody/CustomButtons/Attachment.tsx","components/library/FileAttachment/FileAttachment.tsx","components/Activities/ActivitiesTable/NewActivity/ActivityBody/ActivityBody.tsx","components/Activities/ActivitiesTable/NewActivity/NewActivity.tsx","components/Activities/ActivitiesTable/ActivitiesTable.tsx","components/Activities/Mine/Mine.tsx","components/Activities/Unassigned/Unassigned.tsx","components/Activities/AllActivities/AllActivities.tsx","components/Activities/ActivityDetail/Header/Header.tsx","components/Activities/ActivityDetail/ActivityFeed/ActivityFeedActions/ActivityAddNote.tsx","components/Activities/ActivityDetail/ActivityFeed/ActivityFeedActions/ActivityAddPhone.tsx","components/Activities/ActivityDetail/ActivityFeed/ActivityFeedActions/ActivityReassign.tsx","components/Activities/ActivityDetail/ActivityFeed/ActivityFeedActions/ActivityMove.tsx","components/Activities/ActivityDetail/ActivityFeed/ActivityFeedActions/ActivityClose.tsx","components/Activities/ActivityDetail/ActivityFeed/ActivityFeedActions/ActivityArchive.tsx","components/Activities/ActivityDetail/ActivityFeed/ActivityFeed.tsx","components/library/Detail/Detail.tsx","components/Activities/ActivityDetail/ActivityTab/ActivityProfileTab/ActivityProfileTab.tsx","components/Activities/ActivityDetail/ActivityTab/ActivityAttachmentTab/ActivityAttachmentTab.tsx","components/Activities/ActivityDetail/ActivityTab/ActivityTab.tsx","contexts/CustomerContext.tsx","components/Activities/ActivityDetail/ActivityDetail.tsx","components/Activities/Activities.tsx","components/Customers/CustomerDetail/ClosedInvoices/ClosedInvoices.tsx","components/library/NoteStream/AddNote/AddNote.tsx","components/library/NoteStream/NoteStream.tsx","contexts/NoteContext.tsx","db/utils/address.tsx","components/Customers/CustomerDetail/Profile/Profile.tsx","components/Customers/CustomerDetail/Activities/Activities.tsx","components/Customers/CustomerDetail/Header/Header.tsx","components/Customers/CustomerDetail/OpenInvoices/OpenInvoices.tsx","components/Customers/CustomerDetail/Payments/Payments.tsx","components/Customers/CustomerDetail/Contacts/ContactsView.tsx","components/Customers/CustomerDetail/Contacts/ContactsEdit.tsx","components/Customers/CustomerDetail/Contacts/Contacts.tsx","components/Customers/CustomerDetail/Documents/Documents.tsx","components/library/Sidebar/Userpic/Userpic.tsx","components/Customers/CustomerDetail/Contacts/ContactDetail/ViewContactProfile.tsx","components/Customers/CustomerDetail/Contacts/ContactDetail/EditContactProfile.tsx","components/Customers/CustomerDetail/Contacts/ContactDetail/ContactDetail.tsx","components/Customers/CustomerDetail/CustomerDetail.tsx","components/Customers/CustomerTable/CustomerTable.tsx","components/Customers/Customers.tsx","components/Invoices/InvoiceDetail/Details/Details.tsx","components/Invoices/InvoiceDetail/InvoiceDetail.tsx","components/Invoices/InvoiceTable/InvoiceTable.tsx","components/Invoices/Invoices.tsx","components/Settings/Flyout/Flyout.tsx","components/Settings/FlyoutButton/FlyoutButton.tsx","components/Settings/MySettings/MySettings.tsx","components/Settings/TeamSettings/TeamSettings.tsx","components/library/CenterPopup/CenterPopup.tsx","contexts/SettingsContext.tsx","components/Settings/UserPermissions/InviteMemberFlyoutButton/InviteMemberFlyoutButton.tsx","components/Settings/UserPermissions/ActiveMembers/ActiveMembers.tsx","components/Settings/UserPermissions/Invitations/Invitations.tsx","components/Settings/UserPermissions/RemovedMembers/RemovedMembers.tsx","components/Settings/UserPermissions/UserPermissions.tsx","assets/NoConnection.svg","components/Settings/AccountingSoftware/EditAccountingSoftware/EditAccountingSoftware.tsx","components/Settings/AccountingSoftware/AccountingSoftwareModal/AccountingSoftwareModal.tsx","components/Settings/AccountingSoftware/AccountingSoftware.tsx","components/Dashboard/Profiles/MyProfile/ViewMyProfile.tsx","components/Dashboard/Profiles/MyProfile/EditMyProfile.tsx","components/Dashboard/Profiles/MyProfile/MyProfile.tsx","assets/GmailLogo.svg","assets/OutlookLogo.svg","utils/IconUtils/IconUtils.tsx","assets/NoEmailConnected.svg","components/Settings/EmailSettings/EditEmailSettings.tsx","components/Settings/EmailSettings/ViewEmailSettings.tsx","components/Settings/EmailSettings/EmailSettings.tsx","components/Settings/Settings.tsx","auth/PrivateRoute.tsx","contexts/PaymentContext.tsx","components/Payments/PaymentDetail/Detail/Details.tsx","components/Payments/PaymentDetail/PaymentDetail.tsx","components/Payments/UnappliedPayments/UnappliedPayments.tsx","components/Payments/AllPayments/AllPayments.tsx","components/Payments/Payments.tsx","components/library/Sidebar/CompanyProfile/CompanyProfile.tsx","components/Tracking/Tracking.tsx","components/UserContent/UserContentHead/UserContentHead.tsx","components/library/Sidebar/Activity/Activity.tsx","components/library/AccordionNav/AccordionNav.tsx","components/UserContent/UserContentSidebar/UserContentSidebar.tsx","components/Dashboard/Profiles/CompanyProfile/EditCompanyProfile.tsx","components/Dashboard/Profiles/CompanyProfile/ViewCompanyProfile.tsx","components/Dashboard/Profiles/CompanyProfile/CompanyProfile.tsx","components/Dashboard/Profiles/Profiles.tsx","components/UserContent/UserContent.tsx","assets/404.svg","routes/FourOFourError/FourOFourError.tsx","components/Onboard/WaitScreen/WaitScreen.tsx","routes/Home/Home.tsx","auth/NavigationClient.tsx","App.tsx","css/MUITheme.tsx","index.tsx"],"names":["module","exports","reportWebVitals","onPerfEntry","Function","then","getCLS","getFID","getFCP","getLCP","getTTFB","LoadingDots","props","className","Button","Tooltip","title","tooltip","followCursor","icon","alignIcon","variant","size","loading","onClick","disabled","type","form","children","CircularProgress","OnboardStep","DataMode","InvoiceStatusType","EntityClassification","UserRoles","UserActions","ActivityStatus","NoteType","Caution","width","height","viewBox","fill","xmlns","d","Export","Download","Dashboard","Invoices","fillRule","clipRule","x","y","Settings","Lock","Attachment","UserPic","Filter","isFilter","Ascending","Descending","TooltipIcon","RightArrow","RightArrowWhite","LeftArrow","BackArrow","BackArrowNav","LargeLoading","cx","cy","r","transform","Edit","DropdownArrow","PlusSign","CaretUp","Payments","AllCustomers","stroke","strokeWidth","Briefcase","Company","Ellipses","User","Email","Phone","Fax","Location","QuestionMark","Currency","Date","Copy","Globe","Union","Notes","SortUp","SortDown","LinkedIn","Position","Search","Save","Unassigned","Snoozed","Closed","Upload","Spam","Reply","ReplyFilled","Note","Forward","AssignTo","MoveTo","Archive","MarkAsUnread","Close","RequestApproval","EmailAttachment","Delete","LockstepLogo","version","id","points","Sync","Remind","EmailSettings","PrimaryContact","AllActivities","Check","OnboardContext","React","createContext","OnboardProvider","useState","SelectERP","onboardStep","setOnboardStep","dataMode","setDataMode","bearerToken","setBearerToken","isInvited","setIsInvited","Provider","value","msalConfig","auth","clientId","process","authority","knownAuthorities","redirectUri","window","location","origin","system","iframeHashTimeout","loginRequest","scopes","nonce","prompt","silentRequest","silentRequestForgotPassword","forgotPasswordRedirectRequest","redirectStartPage","buildAuthRedirectURL","connector","appId","localStorageKey","UUID","replace","state","encodeURIComponent","localStorage","setItem","redirectURL","url","join","singletonEnforcer","Symbol","APIClient","enforcer","session","get","makeGetRequest","post","makePostRequest","put","makePutRequest","patch","makePatchRequest","delete","makeDeleteRequest","Error","this","axios","create","baseURL","headers","Pragma","Expires","account","msalInstance","getActiveAccount","acquireTokenSilent","idTokenClaims","acr","undefined","res","accessToken","catch","error","console","log","InteractionRequiredAuthError","acquireTokenRedirect","acquireTokenError","config","overrideMSAL","requestConfig","Accept","getToken","getConfig","data","clientInstance","StatusClient","response","CompaniesClient","include","options","params","filter","order","pageSize","pageNumber","body","InvoicesClient","ReportsClient","timeframe","reportDate","companyId","a","ActivitiesClient","LeadsClient","ProvisioningClient","token","onboardData","fullName","erp","Authorization","timeZone","defaultCurrency","company","EnrollmentsClient","PaymentsClient","records","PaymentApplicationsClient","SyncClient","syncRequestId","includeDetails","UserAccountsClient","code","targetUserId","ContactsClient","ApplicationsClient","UserRolesClient","NotesClient","DocumentsClient","statusClient","companiesClient","invoicesClient","reportsClient","activitiesClient","leadsClient","definitionsClient","getUnsupportedERPs","getCurrencies","provisioningClient","enrollmentsClient","paymentsClient","paymentsApplicationsClient","syncClient","userAccountsClient","contactsClient","applicationsClient","codeDefinitionsClient","getCodeDefinition","queryCodeDefinitions","userRolesClient","notesClient","documentsClient","reactPlugin","ReactPlugin","appInsights","instrumentationKey","browserHistory","createBrowserHistory","basename","ApplicationInsights","extensions","extensionConfig","identifier","history","loadAppInsights","AppContext","AppProvider","selectedERP","setSelectedERP","syncError","setSyncError","erpConnectionError","setERPConnectionError","initialSyncInProgress","setInitialSyncInProgress","userName","accountName","accountCompanyId","userId","groupKey","loggedIn","errorMessage","roles","lastLoggedIn","dependencies","userStatus","setUserStatus","initialLoad","setInitialLoad","userAccountName","setUserAccountName","userRoles","setUserRoles","name","authCode","realmId","defaultCurrencyCode","country","setOnboardData","permissionMap","Map","getARHeader","getAttachmentsHeader","getAging","sort","left","right","reportBucket","getStatus","query","b","userRoleId","leadData","createLead","getSyncStatus","set","AddNote","GroupOwner","GroupAdmin","Member","InvitationsCheckbox","InvitationsRemind","InvitationsRemove","InviteMembers","InvitationsChangeRole","RemovedMembersInvite","RemovedMembersCheckbox","ActiveMembersCheckbox","ActiveMembersRemove","ChangeRoles","EditMyProfile","EditMyCompany","AddEmailClient","EditAccountingSoftware","RunSync","logout","currentAccount","logoutRedirect","postLogoutRedirectUri","clearAuthenticatedUserContext","getTokenFromQueryString","urlParams","URLSearchParams","search","has","String","getDocumentsHeader","getArAgingHeader","hasPermission","action","some","role","includes","CookiesProvider","Utils","fullStoryId","forceEnableFullStory","isSandbox","isProduction","number","match","intlCode","amount","label","lastChar","length","charAt","substring","ms","Promise","resolve","setTimeout","validEmail","email","mailformat","RegExp","openPopup","windowName","top","outerHeight","screenY","outerWidth","screenX","open","downloadItem","uri","downloadLink","link","document","createElement","href","setAttribute","appendChild","delay","click","removeChild","erpList","iconUrl","QuickbooksLogo","XeroLogo","ERPSelect","useContext","showBackButton","setShowBackButton","handleOpenPopup","e","preventDefault","prev","useEffect","handleMessage","event","CreateAccount","addEventListener","removeEventListener","rel","map","option","isOther","OtherERP","src","style","alt","Input","inputId","regularText","htmlFor","extraText","placeholder","onChange","target","onKeyDown","defaultValue","ref","inputRef","autoComplete","autocomplete","required","maxLength","border","InputWithIcon","Autocomplete","staticIcon","rest","defaultProps","forcePopupIcon","popupIcon","EditPersonalInfo","nameRef","useRef","setName","supportedCurrencies","find","val","currency","setCurrency","current","focus","onSubmit","disableClearable","renderInput","TextField","InputProps","disableUnderline","isOptionEqualToValue","View","showCancel","ViewPersonalInfo","useHistory","isLoading","setLoading","handleSubmit","finalize","push","CompanyInfo","setShowCancel","filteredValues","XBA","XBB","XBC","XBD","XTS","XXX","PersonalInfo","setSupportedCurrencies","alphaCode","currencyName","symbol","lVal","rVal","localeCompare","countries","EditCompanyInfo","countryList","companyNameRef","companyName","phoneNumber","faxNumber","address1","address2","postalCode","city","stateRegion","setCompany","_event","ViewCompanyInfo","handleEdit","formatPhoneNumber","ConnectEmail","OnboardError","show","useIntercom","onTryAgain","apiError","setAPIError","apiRetry","setAPIRetry","provisionUser","provision","appEnrollmentId","toString","onmessage","ExistingAccount","handleTryAgain","frameBorder","instance","useMsal","loginRedirect","setEmail","emailError","setEmailError","otherERP","setOtherERP","waitList","setWaitlist","unsupportedERPs","setUnsupportedERPs","emailRef","handleCreateLead","erpSystem","handleGoBack","item","erpSystemId","isSupported","assign","freeSolo","autoSelect","onInputChange","emailList","OutlookLogo","GmailLogo","handleSync","getItem","startSync","removeItem","handleSkip","info","handleConnect","CreateInvitedAccount","Onboard","boot","shutdown","update","setIsLoading","showToast","setShowToast","toastSeverity","setToastSeverity","toastMsg","setToastMsg","hideDefaultLauncher","inviteCode","getInvite","Snackbar","anchorOrigin","vertical","horizontal","onClose","autoHideDuration","Alert","severity","sx","withRouter","path","to","pathname","exact","strict","isActive","activeClassName","i","Loading","isTableCell","isRelative","LoadingImg","imgHeight","imgWidth","DashboardContext","barColors","DashboardProvider","totalOutstandingAmount","color","getCashflow","invoicesBilled","paymentsCollected","getDSO","getMonth","index","arr","Intl","DateTimeFormat","month","format","toUpperCase","Math","ceil","dailySalesOutstanding","getCustomerSummaries","getRiskRate","getAgingData","getCashflowData","getDSOData","getTopRisksData","getRiskRateData","NoData","shortenCurrency","decimal","stringifiedAmount","abs","floor","toPrecision","round","getCurrencySuffix","stringifiedAmountLength","TopCustomers","useRouteMatch","setErrorMessage","setData","fetchData","message","handleOnClick","placement","arrow","disableInteractive","IconButton","slice","idx","lastIndexOf","totalInvoicesPastDue","amountPastDue","parseInt","IndeterminateCheckbox","forwardRef","indeterminate","combinedRef","refs","targetRef","forEach","useCombinedRefs","Fragment","stopPropagation","Dropdown","dropdownRef","showTooltip","setShowTooltip","isMenuOpen","setMenuOpen","setValue","handleClickOutside","contains","header","onMouseEnter","onMouseLeave","showEllipses","iconOnly","iconAlign","displayValue","obj","onClickValue","onSelect","altDisplay","InvoiceContext","InvoiceProvider","customerName","setCustomerName","invoiceData","setInvoiceData","lastFilterItem","setLastFilterItem","getInvoiceSummaries","invoice_number","invoiceNumber","customer_name","status","due_date","paymentDueDate","outstanding_amount","outstandingBalance","getInvoice","getInvoiceSummaryExportData","FilterButton","popupRef","isHover","setIsHover","isPopup","setIsPopup","setIsFilter","altDisplayText","setAltDisplayText","headerProps","input","setInput","handleSetFilter","append","showFilter","anchor","CloseImg","Header","dropdownOptions","onSelectValue","popupPlaceholder","key","handleKeyDown","handleClearFilter","SortButton","showSort","sortField","sortFieldDesc","split","field","searchlightField","setIsActive","isDescending","setDescending","isDefault","handleChangeDefault","handleChange","ExportButton","exportData","setExportData","csvInstance","getExportData","filename","exportFileName","toLocaleDateString","display","SoftAlert","alertMessage","buttonText","HoverBar","handleClick","barriers","APIClientUtils","msg","Array","isArray","FieldValue","ErrorName","DROPDOWNOPTIONS","Table","setPageSize","dataSetIndexQueryString","isNaN","dataSets","dataSetIndex","useMemo","tableData","columns","pagination","totalCount","columnDeps","currentSelectedRows","setCurrentSelectedRows","allRowsSelected","setAllRowsSelected","showSelectAll","setShowSelectAll","getSortFromURL","getFilterFromURL","ret","filters","column","accessor","replaceAll","searchlightToken","upperBoundToken","valueInt","today","DateTime","utc","year","day","minus","days","addInvoiceDaysPastDueFilters","predefinedFilters","childPath","route","searchlightFilter","fetch","additionalFilters","fetchCall","includeOption","fetchResult","fetchParser","fetchTableData","disableLoad","states","setError","setTableData","setPageCount","setTotalCount","buildErrorMessage","fetchAllRowIds","useTable","initialState","pageIndex","hiddenColumns","selectedRowIds","autoResetSelectedRows","stateReducer","newState","prevState","payload","Object","keys","manualPagination","pageCount","getRowId","row","usePagination","useRowSelect","hooks","toggles","showRowSelect","visibleColumns","checkboxProps","isRowSelectable","shouldSelectPage","checkAllRowsSelected","rows","every","isSelected","isSelectPage","page","selectedCount","getToggleAllPageRowsSelectedProps","getToggleAllRowsSelectedProps","checked","toggleRowSelected","getConditionalAllRowsSelectedProps","original","disableCheckbox","Cell","getToggleRowSelectedProps","dispatch","getTableBodyProps","headerGroups","prepareRow","handleRowRead","isUnread","useImperativeHandle","hardRefresh","softRefresh","getCurrentSelectedRows","selectedRows","handleExport","idList","elem","promises","idListBatch","rowSelectToken","all","values","reduce","curr","defaultSort","parsedDefaultSort","defaultSortToken","onRowSelect","gridTemplateRows","showCaption","showNavigation","showExportBtn","export","isError","headerBtns","headerBtn","hideOnRowSelect","component","rowSelectBtns","callback","displayName","dataSet","_","showSearchbar","paddingAbsolute","autoUpdate","sizeAutoCapable","headerGroup","getHeaderGroupProps","getHeaderProps","alignment","render","HeaderTooltip","HeaderTooltipDirection","selectAllFilter","dataFormatted","position","removeBadFilter","badParam","getRowProps","handleRowClick","cells","cell","sortIsActive","getCellProps","hoverBar","setPageNumber","handleDropdownSelect","min","currPage","Chip","text","calcDaysBetween","date","parsedDate","fromFormat","isValid","diffNow","formatDate","toFormat","formatTimeElapsed","fromSQL","zone","timeElapsed","minutes","TableUtils","child","isLight","wrapperRef","disableHover","setDisableHover","handleResize","offsetWidth","scrollWidth","disableHoverListener","str","withFormattedCellString","num","tooltipText","subject","NumberFormat","maximumFractionDigits","minimumFractionDigits","hasAttachment","withFormattedCellElement","content","diffDays","formatActivitySimple","toLocaleString","TIME_SIMPLE","lastActivity","daysLate","dueDate","trim","paymentType","list","invoiceText","invoiceTooltip","CUSTOMERSCOLUMNS","formatString","formatNumber","formatCurrency","formatLastActivity","PastDueBalance","record","primary_contact","primaryContact","past_due_invoices","past_due_amount","percent_of_total","percentOfTotalAr","last_activity","newestActivity","sessionStorage","PastDueInvoices","TotalBalance","open_invoices","outstandingInvoices","total_balance","outstandingAmount","ContentNavLink","margin","noMargin","Navbar","useLocation","tabWrapperRef","tabs","tabBreakpoint","setTabBreakpoint","tabWidth","setTabWidth","tabWrapperWidth","tabChildren","runningWidth","tab","NavLink","persistQueryParams","routeName","startsWith","rootPath","hideDropdown","dropdown","dropdownDefault","dropdownRootPath","backRoute","backDisplayName","Skeleton","animation","ARHeader","setARHeader","customLabel","reportPeriod","totalCustomers","totalInvoices","totalInvoicedAmount","totalUnappliedPayments","totalCollected","totalArAmount","totalInvoicesPaid","totalInvoices90DaysPastDue","totalPastDueAmount","totalPastDueAmount90Days","percentageOfTotalAr","percentageOfTotalAr90DaysPastDue","dso","now","totalInvoiceAmountCurrentYear","years","totalInvoiceAmountPreviousYear","routes","DonutChart","animations","graphData","clearTimeout","marginTop","marginRight","bottom","marginBottom","marginLeft","sortByValue","innerRadius","borderColor","from","modifiers","colors","graphColors","motionConfig","enableArcLinkLabels","activeOuterRadiusOffset","arcLinkLabelsSkipAngle","arcLinkLabelsTextColor","arcLinkLabelsColor","enableArcLabels","arcLabelsSkipAngle","arcLabelsTextColor","ev","hoverSquare","backgroundColor","datum","Legend","Aging","totalAmount","setTotalAmount","INVOICESCOLUMNS","formatStatus","formatDaysLate","AgingTable","invoiceId","days_late","daysPastDue","AgingHeader","ArAgingHeader","setArAgingHeader","locationMap","currentBucket","findIndex","element","totalInvoicesOutstanding","marginCalc","JAN","FEB","MAR","APR","MAY","JUN","JUL","AUG","SEP","OCT","NOV","DEC","COLLECTED","INVOICED","calculateLeftMargin","max","BarChart","borderRadius","setBorderRadius","isZero","setZero","innerHeight","Number","MAX_SAFE_INTEGER","theme","fontSize","fontFamily","groupMode","padding","layout","axisLeft","tickSize","tickPadding","axisBottom","enableLabel","enableGridY","enableGridX","indexValue","maxValue","hoverFormat","toFixed","ReceivableRisk","setGraphData","riskAmount","setRiskAmount","invoiceMonthName","substr","atRiskPercentage","atRiskAmount","toLowerCase","visibility","ReceivablesRiskTable","queryAtRiskSummaries","lastOfMonth","months","endOf","ReceivablesRisk","dateArr","Arrow","borderWidth","direction","isFlipped","DaysSalesOutstanding","getFullYear","DaysSalesOutstandingTable","ReceivablesSummary","PAYMENTSCOLUMNS","formatPaymentType","formatList","Collected","amount_collected","amountCollected","unapplied_amount","unappliedPayments","invoices_paid","closedInvoices","querySummaries","paymentId","payment_number","referenceCode","payment_date","paymentDate","payment_amount","paymentAmount","invoices","invoiceList","invoice_amount","invoiceAmount","payments","paymentNumbers","Invoiced","total_amount_due","TextArea","OverlayScrollbars","querySelectorAll","textarea","dynWidth","dynHeight","ActivityTo","multiple","disablePortal","setTo","getOptionLabel","renderTags","getTagProps","deleteIcon","inputProps","ActivityTitle","TextFieldTitle","styled","onBlur","handleTitleSelect","inputFile","fileSelected","accept","handleFileSelect","files","FileList","FileAttachment","ActivityBody","editorState","onEditorStateChange","setEditorState","wrapperClassName","toolbarClassName","editorClassName","toolbar","inline","bold","Bold","italic","Italic","underline","Underline","strikethrough","Strikethrough","undo","Undo","redo","Redo","toolbarCustomButtons","filesSelected","handleFileRemove","NewActivity","newActivityTypings","replyOptions","reply","replyAll","replyButtonStateMappings","defaultTo","showSendClose","setShowSendClose","start","toOption","setToOption","defaultTitle","setTitle","defaultBody","EditorState","createWithContent","ContentState","createFromText","createEmpty","defaultFiles","setFiles","setFilesSelected","contactOptions","replyButton","newFiles","splice","handleSend","getCurrentContent","getPlainText","handleSendMarkClosed","ActivitiesTable","tableRef","toggleUnread","setToggleUnread","toastError","setToastError","toastText","setToastText","newActivity","setNewActivity","reassignOpen","setReassignOpen","noteValue","setNoteValue","reassignIds","setReassignIds","reassignTo","setReassignTo","reassignOptions","setReassignOptions","moveOpen","setMoveOpen","moveIds","setMoveIds","moveActivityTo","setMoveActivityTo","moveOptions","setMoveOptions","updateActivities","ids","updates","err","handleGroupClose","isOpen","isArchived","activityStatus","handleGroupReassign","queryUserAccounts","reassignActivity","userAssignedTo","objectKey","tableKey","noteText","noteType","handleGroupToggleRead","handleGroupArchive","handleGroupMove","getCompanies","moveActivity","results","activityTypeCode","activityName","activityDescription","priority","activityId","createdUserId","activity","has_attachment","attachments","assigned_to","date_received","dateAssigned","created","predefinedFilter","handleGroupReply","Drawer","selection","blurOnSelect","fullWidth","COLUMNS","formatActivity","formatAttachmentIcon","formatActivitySentDate","Mine","DUMMYNAME","ActivityAddNote","setOpen","handleAddNote","ActivityAddPhone","handleAddPhone","recipientValue","PhoneCall","setRecipientValue","ActivityReassign","memberListOpen","setMemberListOpen","teamMemberList","setTeamMemberList","selectedUser","setSelectedUser","fetchUserList","user","unassignedUser","handleReassign","onOpen","fontWeight","ActivityMove","setIsOpen","companyListOpen","setCompanyListOpen","companyList","setCompanyList","selectedCompany","setSelectedCompany","fetchCompanyList","handleMove","ActivityClose","handleClose","reason","setReason","Archived","updatedActivity","Feed","isNew","ActivityFeed","addNoteValue","setAddNoteValue","addPhoneRecipient","setAddPhoneRecipent","addPhoneNoteValue","setAddPhoneNoteValue","reassignNoteValue","setReassignNoteValue","closeNoteValue","setCloseNoteValue","closeReason","setCloseReason","archiveNoteValue","setArchiveNoteValue","archiveReason","setArchiveReason","useParams","customerId","showReply","setShowReply","showForward","setShowForward","handleUnread","Active","Detail","textFade","setTextFade","onCopyToClipBoard","navigator","clipboard","writeText","gap","toolTip","copyToClipboard","ProfileTab","Accordion","defaultExpanded","disableGutters","AccordionSummary","expandIcon","AccordionDetails","DUMMYDATA","createdBy","createdDate","AttachmentTab","setSort","Tabs","ActivityTab","Profile","setTab","Attachments","CustomerContext","CustomerProvider","getCustomerDetails","ActivityDetail","Activities","ClosedInvoices","invoice_date","invoiceDate","noteRef","refreshNotes","textAreaRef","NoteRow","substringIndex","lastSpace","indexOf","getSubstringIndex","note","longText","showAll","setShowAll","createdUserName","noteId","NoteStream","isAddOpen","setAddOpen","mounted","NotesContext","NotesProvider","formatAddress","address3","address","contactName","contactEmail","formatActivityStatus","formatCustomerInfo","displayLabel","formatLabelPluralization","documentsHeader","setDocumentsHeader","totalPaymentAmountCurrentYear","totalActive","totalArchived","totalAttachments","OpenInvoices","payment_id","formatStringWithIcon","formatIcon","formatContactString","ContactsView","addContactFlyout","setAddContactFlyout","newContactName","setNewContactName","newContactRole","setNewContactRole","newContactEmail","setNewContactEmail","newContactPhone","setNewContactPhone","newContactPrimary","setNewContactPrimary","addContactNameError","setAddContactNameError","addContactEmailError","setAddContactEmailError","showDeleteModal","setShowDeleteModal","deleteIds","setDeleteIds","toast","setToast","addToast","setAddToast","addToastError","setAddToastError","handleCloseFlyout","handleDeleteContacts","patchContact","handleChangePrimary","patchCompany","primaryContactId","createContact","roleCode","emailAddress","phone","contactId","handleAddContact","valid","postNewContact","queryContacts","setDeleteContacts","Modal","changedContacts","setChangedContacts","showCancelModal","setShowCancelModal","dropOptions","setDropOptions","codeDefinitionId","codeDescription","fetchRoles","currentRole","setCurrentRole","handlePatchContacts","entries","setEditError","setShowEditToast","saveContactEdits","Contacts","showEditToast","editError","phone_number","last_updated","modified","formatDocumentStatus","documentNames","Documents","showArchiveModal","setShowArchiveModal","archiveIds","setArchiveIds","handleDownloadDocument","download","ele","handleArchiveDocument","archive","document_name","owner","file_type","setArchiveDocument","Userpic","ViewContactProfile","handleDeleteContact","erpContact","companyData","fax","countryCode","webpageUrl","EditContactProfile","defaultData","contactProfileInfo","setContactProfileInfo","editContactNameError","setEditContactNameError","editContactEmailError","setEditContactEmailError","setContactData","handleSave","contacts","handleUpdateContact","setShowEditSuccess","ContactProfile","showEditSuccess","contactData","setCompanyData","getContact","contactRes","getCompany","companyRes","CustomerDetail","CustomerTable","outstanding_invoices","amount_overdue","Customers","useFlags","inboxContacts","inboxDocuments","InvoiceDetail","tooltipRef","calculatedPaymentsApplied","paymentAppliedAmount","hasPayments","hasCreditMemos","creditMemos","paymentsApplied","appliedAmount","applyToInvoiceDate","handlePaymentClick","creditMemoInvoiceId","creditMemoAppliedAmount","first","second","customer","outstandingBalanceAmount","invoiceStatusCode","customerPrimaryContact","arEmailAddress","invoiceClosedDate","InvoiceTable","overflowBehavior","Flyout","FlyoutButton","subHeader","MySettings","passwordFlyout","setPasswordFlyout","showPasswordSuccess","setPasswordSuccess","changePasswordInstructions","username","TeamSettings","CenterPopup","count","headerText","mainDisplay","onClickCancel","leftBtnText","onClickRightBtn","rightBtnText","middleRightBtnText","onClickMiddleRightBtn","SettingsContext","SettingsProvider","syncHasUpdated","setSyncHasUpdated","statusCode","processResultMessage","modifiedUserId","details","lastSync","setLastSync","InviteMembersFlyoutButton","inviteFlyout","setInviteFlyout","inviteEmails","setInviteEmails","inviteErrorMessage","setInviteErrorMessage","handleInvite","emails","postInvite","invite","success","refreshTable","ActiveMembers","toRemoveMember","setToRemoveMember","showRemoveMember","setShowRemoveMember","showChangeOwner","setShowChangeOwner","toNewOwnerId","setToNewOwnerId","toNewOwnerName","setToNewOwnerName","setSelectedRows","transferOwnership","handleChangePermission","currentPermission","targetPermission","patchUserAccount","userRole","permissions","userRoleName","ownerOptions","adminOptions","fromISO","toRelative","handleRemoveClick","handleRemoveMember","deleteUserAccount","b2CLastLoggedIn","filtered","handleChangeOwnerShip","Invitations","invitePermission","checkboxPermission","handleRemindClick","handleDeleteClick","remindInvitations","reminder","finally","removeInvitations","date_sent","inviteSent","RemovedMembers","handleInviteClick","postReenable","UserPermissions","showOtherModal","setShowOtherModal","accounts","handleError","setToastMessage","cb","syncScheduleIsActive","connectorInfo","createEnrollment","refreshData","erpName","handlePopup","NoConnectionSVG","AccountingSoftwareModal","setShow","changeEnrollment","refresh","AccountingSoftware","toastMessage","showModal","setShowModal","modalAppId","setModalAppId","modalIsActive","setModalIsActive","modalErpName","setModalErpName","erpImage","is_active","handleRunSync","app_Id","accounting_software","getEnrollments","company_name","nightly_sync","last_sync","result_message","app","ViewMyProfile","hasEditPermission","isSelf","modifiedUserName","accountingRoleCodeDefinition","description","myProfileInfo","setMyProfileInfo","saveLoad","setSaveLoad","submitBtnRef","b2CUserId","notes","customFieldDefinitions","customFieldValues","imageURL","editableProfileFields","setDefaultData","codeDefinitions","codeDef","accountingRoleCodeDefId","MyProfile","profileData","setProfileData","setCodeDefinitions","getUserAccount","iconMap","Gmail","Outlook","getIconURL","EditEmailSettings","emailApplications","setEmailApplications","getApplications","emailConnection","iconURL","createEmailEnrollment","getEmailConnections","onResponseSuccess","emailApp","NoEmailConnected","ViewEmailSettings","showRemoveModal","setShowRemoveModal","showRemoveDataButton","setShowRemoveDataButton","removeAuthCallback","setRemoveAuthCallback","connectionToRemove","setConnectionToRemove","onResponseSuccessCallback","connectEmail","rowData","rowOnClick","setActiveEnrollment","cellProps","emailName","renderProps","handleReconnectClick","onSuccess","onFailure","authCallback","outlookAuthHandler","onLogoutSuccess","handleRemoveKeepDataClick","handleRemoveDataClick","deleteEnrollment","parseEmailFromRecord","emailDef","customFieldLabel","emailVal","customFieldDefinitionId","stringValue","removeButton","setResponseSucessCallback","mainRoutes","userPermissionsRoutes","accountingSoftwareRoutes","emailRoutes","isCurrentUser","ErrorComponent","alignItems","justifyContent","errorCode","LoadingComponent","PrivateRoute","routeProps","authRequest","interactionType","InteractionType","Redirect","authenticationRequest","errorComponent","loadingComponent","PaymentContext","PaymentProvider","paymentDetailViewData","setPaymentDetailViewData","paymentDetailViewInvoices","setPaymentDetailViewInvoices","getDetailView","getDetailViewInvoices","Details","fetchPaymentsDetailViewData","fetchInvoices","mappedResponse","invoice","handleMouseEvent","innerHTML","currentTarget","clientX","unappliedAmount","postDate","PaymentDetail","UnappliedPayments","AllPayments","CompanyProfile","accountType","FullStoryHandler","getFullStoryConfig","FullStoryAPI","identity","custom","isDeveloper","isLocal","LaunchDarklyHandler","ldClient","useLDClient","identify","Tracking","LastSync","handleSyncClick","appType","checkSyncStatus","querySync","clearInterval","pollSync","setInterval","UserContentHead","setAccountName","userInfo","setUserInfo","Activity","AccordionNav","navUrl","setExpanded","expanded","navTitle","maxHeight","bodyMaxHeight","navList","Sidebar","customerList","setCustomerList","filteredCustomerList","setFilteredCustomerList","accountingExpanded","setAccountingExpanded","activitiesExpanded","setActivitiesExpanded","networkExpanded","setNetworkExpanded","windowHeight","setWindowHeight","sortDisplay","setSortDisplay","sortIcon","setSortIcon","searchString","setSearchString","getCustomerList","custList","useLayoutEffect","searchList","cust","sortClass","sortAction","sortBehavior","numeric","getSortedList","endsWith","setDrop","EditCompanyProfile","companyInfo","setCompanyInfo","editableFields","taxId","companyClassificationCodeDefId","website","companyClassificationCodeDefinition","ViewCompanyProfile","Profiles","UserContent","FourOFourError","errorImg","protocol","host","WaitScreen","Home","syncRequestKey","interval","CustomNavigationClient","relativePath","noHistory","NavigationClient","withAITracking","pca","navigationClient","setNavigationClient","queryParams","storageItem","messageBody","opener","postMessage","close","getIntercomAppId","shouldInitialize","shouldEnableIntercom","sendToken","primaryTheme","createTheme","components","MuiDrawer","styleOverrides","paperAnchorRight","styles","large","boxShadow","modal","MuiAutocomplete","root","grey70","inputRoot","grey98","primary","primaryFontFamily","fontSizeSM","grey96","grey93","button","svg","grey60","textIndent","paddingRight","listbox","white100","grey90","paper","noOptions","MuiTextField","MuiButtonBase","disableRipple","MuiAlert","variants","connectedGreen","flexDirection","cursor","red","MuiTooltip","fontSizeXS","lineHeight","lineHeightSM","fontStyle","MuiIconButton","PublicClientApplication","getAllAccounts","ReactDOM","org","getElementById","setActiveAccount","addEventCallback","eventType","EventType","LOGIN_SUCCESS","asyncWithLDProvider","clientSideID","LDProvider","StrictMode","ThemeProvider"],"mappings":"sIACAA,EAAOC,QAAU,CAAC,QAAU,UAAU,aAAe,UAAU,oBAAsB,UAAU,aAAe,UAAU,oBAAsB,UAAU,KAAO,UAAU,OAAS,UAAU,UAAY,UAAU,OAAS,UAAU,MAAQ,UAAU,SAAW,OAAO,OAAS,UAAU,OAAS,UAAU,OAAS,UAAU,OAAS,UAAU,OAAS,UAAU,OAAS,UAAU,OAAS,UAAU,OAAS,UAAU,OAAS,UAAU,OAAS,UAAU,OAAS,UAAU,OAAS,UAAU,OAAS,UAAU,OAAS,UAAU,OAAS,UAAU,MAAQ,OAAO,IAAM,UAAU,SAAW,UAAU,KAAO,sBAAsB,kBAAoB,UAAU,cAAgB,UAAU,SAAW,UAAU,eAAiB,UAAU,OAAS,UAAU,WAAa,UAAU,OAAS,UAAU,WAAa,UAAU,OAAS,UAAU,WAAa,UAAU,MAAQ,UAAU,UAAY,UAAU,UAAY,UAAU,cAAgB,UAAU,MAAQ,QAAQ,OAAS,SAAS,KAAO,OAAO,MAAQ,SAAS,OAAS,OAAO,OAAS,SAAS,aAAe,QAAQ,YAAc,OAAO,aAAe,SAAS,cAAgB,SAAS,YAAc,QAAQ,WAAa,OAAO,YAAc,SAAS,aAAe,SAAS,SAAW,QAAQ,SAAW,QAAQ,SAAW,QAAQ,SAAW,QAAQ,UAAY,SAAS,WAAa,SAAS,kBAAoB,sJAAwK,YAAc,UAAU,WAAa,SAAS,WAAa,UAAU,WAAa,OAAO,UAAY,WAAW,WAAa,SAAS,YAAc,SAAS,aAAe,SAAS,aAAe,OAAO,aAAe,UAAU,YAAc,SAAS,aAAe,OAAO,cAAgB,SAAS,GAAK,oBAAoB,GAAK,oBAAoB,GAAK,oBAAoB,GAAK,oBAAoB,MAAQ,uBAAuB,MAAQ,uBAAuB,MAAQ,uBAAuB,MAAQ,uBAAuB,QAAU,yBAAyB,cAAc,6BAA6B,aAAa,8B,g5DCavlEC,EAZS,SAACC,GACnBA,GAAeA,aAAuBC,UACxC,8BAAqBC,MAAK,YAAkD,IAA/CC,EAA8C,EAA9CA,OAAQC,EAAsC,EAAtCA,OAAQC,EAA8B,EAA9BA,OAAQC,EAAsB,EAAtBA,OAAQC,EAAc,EAAdA,QAC3DJ,EAAOH,GACPI,EAAOJ,GACPK,EAAOL,GACPM,EAAON,GACPO,EAAQP,O,yDCTC,MAA0B,8D,OCiB1BQ,EAXK,SAACC,GAAyC,IAAD,EAC3D,OACE,sBAAKC,UAAS,kCAAmBD,EAAMC,iBAAzB,QAAsC,IAApD,UACE,qBAAKA,UAAU,YACf,qBAAKA,UAAU,YACf,qBAAKA,UAAU,YACf,qBAAKA,UAAU,gB,kBCKN,SAASC,EAAOF,GAAyC,IAAD,MACrE,OACE,cAACG,EAAA,EAAD,CAASC,MAAK,UAAEJ,EAAMK,eAAR,QAAmB,GAAIC,cAAY,EAAjD,SACE,yBACEL,UAAS,wBACHD,EAAMO,KAAO,WAAa,GADvB,YAC6BP,EAAMO,MAAQP,EAAMQ,UAApB,mBAA4CR,EAAMQ,WAAc,GAD7F,mCAEHR,EAAMS,eAFH,QAEc,UAFd,yBAGY,OAAfT,EAAMU,KAAgB,KAAO,KAH1B,qBAIPV,EAAMW,QAAU,cAAgB,GAJzB,qBAKPX,EAAMC,UAAYD,EAAMC,UAAY,GAL7B,YAOTW,QAASZ,EAAMY,QACfC,SAAUb,EAAMa,UAAYb,EAAMW,QAClCG,KAAMd,EAAMc,KACZC,KAAMf,EAAMe,KAXd,UAaGf,EAAMO,MAA4B,SAApBP,EAAMQ,UAAuBR,EAAMO,KAAO,KACxDP,EAAMgB,UAAa,mBAAGf,UAAS,kBAA4B,OAAfD,EAAMU,KAAgB,MAAQ,IAAvD,SAA8DV,EAAMgB,WACvFhB,EAAMO,MAA4B,UAApBP,EAAMQ,UAAwBR,EAAMO,KAAO,KAC1D,qBAAKN,UAAS,sDAAuCD,EAAMS,eAA7C,QAAwD,WAAtE,SACE,cAACQ,EAAA,EAAD,CAAkBP,KAAM,YC9B3B,ICPKQ,EAWAC,EAKAC,EASAC,EASAC,EAUAC,EAsBAC,EAUAC,ED7DCC,EAAU,WACrB,OACE,qBAAKC,MAAM,KAAKC,OAAO,KAAKC,QAAQ,YAAYC,KAAK,OAAOC,MAAM,6BAAlE,SACE,sBAAMC,EAAE,8qBAKDC,EAAS,WACpB,OACE,qBAAKN,MAAM,KAAKC,OAAO,KAAKC,QAAQ,YAAYC,KAAK,OAAOC,MAAM,6BAAlE,SACE,sBAAMC,EAAE,oUAKDE,EAAW,WACtB,OACE,sBAAKP,MAAM,KAAKC,OAAO,KAAKC,QAAQ,YAAYC,KAAK,OAAOC,MAAM,6BAAlE,UACE,sBAAMC,EAAE,kGACR,sBAAMA,EAAE,8CAKDG,EAAY,SAACnC,GACxB,OACE,qBAAKC,UAAWD,EAAMC,UAAW0B,MAAM,KAAKC,OAAO,KAAKC,QAAQ,YAAYC,KAAK,OAAOC,MAAM,6BAA9F,SACE,sBAAMC,EAAE,w7BAaDI,EAAW,WACtB,OACE,sBAAKT,MAAM,KAAKC,OAAO,KAAKC,QAAQ,YAAYC,KAAK,OAAOC,MAAM,6BAAlE,UACE,sBACEM,SAAS,UACTC,SAAS,UACTN,EAAE,4KACFF,KAAK,YAEP,sBACEE,EAAE,irBACFF,KAAK,YAEP,sBAAMS,EAAE,IAAIC,EAAE,IAAIb,MAAM,IAAIC,OAAO,IAAIE,KAAK,YAC5C,sBAAMS,EAAE,IAAIC,EAAE,IAAIb,MAAM,IAAIC,OAAO,IAAIE,KAAK,gBAMrCW,EAAW,WACtB,OACE,qBAAKd,MAAM,KAAKC,OAAO,KAAKC,QAAQ,YAAYC,KAAK,OAAOC,MAAM,6BAAlE,SACE,sBAAMC,EAAE,u9FAKDU,EAAO,WAClB,OACE,qBAAKf,MAAM,KAAKC,OAAO,KAAKC,QAAQ,YAAYC,KAAK,OAAOC,MAAM,6BAAlE,SACE,sBAAMC,EAAE,8rBAaDW,EAAa,WACxB,OACE,qBAAKhB,MAAM,KAAKC,OAAO,KAAKC,QAAQ,YAAYC,KAAK,OAAOC,MAAM,6BAAlE,SACE,sBAAMC,EAAE,85DAKDY,EAAU,WACrB,OACE,qBAAKjB,MAAM,KAAKC,OAAO,KAAKC,QAAQ,YAAYC,KAAK,OAAOC,MAAM,6BAAlE,SACE,sBAAMC,EAAE,2nCASDa,EAAS,SAAC7C,GACrB,OAAOA,EAAM8C,SACX,qBAAK7C,UAAWD,EAAMC,UAAW0B,MAAM,KAAKC,OAAO,KAAKC,QAAQ,YAAYC,KAAK,OAAOC,MAAM,6BAA9F,SACE,sBAAMC,EAAE,uGAAuGF,KAAK,cAGtH,qBAAK7B,UAAWD,EAAMC,UAAW0B,MAAM,KAAKC,OAAO,KAAKC,QAAQ,YAAYC,KAAK,OAAOC,MAAM,6BAA9F,SACE,sBAAMC,EAAE,iLAKDe,EAAY,SAAC/C,GACxB,OACE,qBAAKC,UAAWD,EAAMC,UAAW0B,MAAM,KAAKC,OAAO,IAAIC,QAAQ,UAAUC,KAAK,OAAOC,MAAM,6BAA3F,SACE,sBAAMC,EAAE,uBAKDgB,EAAa,SAAChD,GACzB,OACE,qBAAKC,UAAWD,EAAMC,UAAW0B,MAAM,KAAKC,OAAO,IAAIC,QAAQ,UAAUC,KAAK,OAAOC,MAAM,6BAA3F,SACE,sBAAMC,EAAE,uBAKDiB,EAAc,WACzB,OACE,qBAAKtB,MAAM,KAAKC,OAAO,KAAKC,QAAQ,YAAYC,KAAK,OAAOC,MAAM,6BAAlE,SACE,sBAAMC,EAAE,8qBAKDkB,EAAa,WACxB,OACE,qBAAKvB,MAAM,IAAIC,OAAO,KAAKC,QAAQ,WAAWC,KAAK,OAAOC,MAAM,6BAAhE,SACE,sBAAMC,EAAE,2HAKDmB,EAAkB,WAC7B,OACE,qBAAKxB,MAAM,KAAKC,OAAO,KAAKC,QAAQ,YAAYC,KAAK,OAAOC,MAAM,6BAAlE,SACE,sBAAMC,EAAE,qHAAqHF,KAAK,aAK3HsB,EAAY,WACvB,OACE,qBAAKzB,MAAM,IAAIC,OAAO,KAAKC,QAAQ,WAAWC,KAAK,OAAOC,MAAM,6BAAhE,SACE,sBAAMC,EAAE,uHAKDqB,GAAY,WACvB,OACE,qBAAK1B,MAAM,KAAKC,OAAO,KAAKC,QAAQ,YAAYC,KAAK,OAAOC,MAAM,6BAAlE,SACE,sBAAMC,EAAE,oHAAoHF,KAAK,eAK1HwB,GAAe,WAC1B,OACE,qBAAK3B,MAAM,IAAIC,OAAO,IAAIC,QAAQ,UAAUC,KAAK,OAAOC,MAAM,6BAA9D,SACE,sBAAMC,EAAE,yHAKDuB,GAAe,WAC1B,OACE,sBAAK5B,MAAM,MAAMC,OAAO,MAAMC,QAAQ,cAAcC,KAAK,OAAOC,MAAM,6BAAtE,UACE,sBACEC,EAAE,iPACFF,KAAK,YAEP,sBACEE,EAAE,mJACFF,KAAK,YAEP,sBACEE,EAAE,oJACFF,KAAK,YAEP,sBACEE,EAAE,oJACFF,KAAK,YAEP,wBAAQ0B,GAAG,UAAUC,GAAG,UAAUC,EAAE,KAAKC,UAAU,mCAAmC7B,KAAK,cAKpF8B,GAAO,WAClB,OACE,qBAAKjC,MAAM,KAAKC,OAAO,KAAKC,QAAQ,YAAYC,KAAK,OAAOC,MAAM,6BAAlE,SACE,sBACEC,EAAE,4YACFF,KAAK,aAMA+B,GAAgB,WAC3B,OACE,qBAAKlC,MAAM,KAAKC,OAAO,IAAIC,QAAQ,WAAWC,KAAK,OAAOC,MAAM,6BAAhE,SACE,sBAAMC,EAAE,yHAKD8B,GAAW,WACtB,OACE,qBAAKnC,MAAM,KAAKC,OAAO,KAAKC,QAAQ,YAAYC,KAAK,OAAOC,MAAM,6BAAlE,SACE,sBAAMC,EAAE,uCAkDD+B,GAAU,WACrB,OACE,qBAAKpC,MAAM,KAAKC,OAAO,KAAKC,QAAQ,WAAWC,KAAK,OAAOC,MAAM,6BAAjE,SACE,sBAAMC,EAAE,mGAAmGF,KAAK,eAKzGkC,GAAW,SAAChE,GACvB,OACE,qBAAKC,UAAWD,EAAMC,UAAW0B,MAAM,KAAKC,OAAO,KAAKC,QAAQ,YAAYC,KAAK,OAAOC,MAAM,6BAA9F,SACE,sBACEC,EAAE,wXACFF,KAAK,eAMAmC,GAAe,SAACjE,GAC3B,OACE,sBAAKC,UAAWD,EAAMC,UAAW0B,MAAM,KAAKC,OAAO,KAAKC,QAAQ,YAAYC,KAAK,OAAOC,MAAM,6BAA9F,UACE,wBAAQyB,GAAG,KAAKC,GAAG,IAAIC,EAAE,IAAIQ,OAAO,UAAUC,YAAY,MAC1D,sBACEnC,EAAE,uHACFkC,OAAO,UACPC,YAAY,MAEd,wBAAQX,GAAG,KAAKC,GAAG,KAAKC,EAAE,IAAIQ,OAAO,UAAUC,YAAY,MAC3D,sBACEnC,EAAE,8GACFkC,OAAO,UACPC,YAAY,MAEd,sBACEnC,EAAE,6XACFkC,OAAO,UACPC,YAAY,UAMPC,GAAY,WACvB,OACE,qBAAKzC,MAAM,KAAKC,OAAO,KAAKC,QAAQ,YAAYC,KAAK,OAAOC,MAAM,6BAAlE,SACE,sBACEC,EAAE,iiBACFF,KAAK,eAMAuC,GAAU,WACrB,OACE,qBAAK1C,MAAM,KAAKC,OAAO,KAAKC,QAAQ,YAAYC,KAAK,OAAOC,MAAM,6BAAlE,SACE,sBACEC,EAAE,yRACFF,KAAK,eAiBAwC,GAAW,WACtB,OACE,qBAAK3C,MAAM,KAAKC,OAAO,IAAIC,QAAQ,WAAWC,KAAK,OAAOC,MAAM,6BAAhE,SACE,sBACEC,EAAE,oOACFF,KAAK,eAQAyC,GAAO,WAClB,OACE,qBAAK5C,MAAM,KAAKC,OAAO,KAAKC,QAAQ,YAAYC,KAAK,OAAOC,MAAM,6BAAlE,SACE,sBACEC,EAAE,2gDACFF,KAAK,eAMA0C,GAAQ,WACnB,OACE,qBAAK7C,MAAM,KAAKC,OAAO,KAAKC,QAAQ,YAAYC,KAAK,OAAOC,MAAM,6BAAlE,SACE,sBACEC,EAAE,uZACFF,KAAK,eAMA2C,GAAQ,WACnB,OACE,qBAAK9C,MAAM,KAAKC,OAAO,KAAKC,QAAQ,YAAYC,KAAK,OAAOC,MAAM,6BAAlE,SACE,sBACEC,EAAE,mtCACFF,KAAK,eAMA4C,GAAM,WACjB,OACE,qBAAK/C,MAAM,KAAKC,OAAO,KAAKC,QAAQ,YAAYC,KAAK,OAAOC,MAAM,6BAAlE,SACE,sBACEC,EAAE,k/DACFF,KAAK,eAMA6C,GAAW,WACtB,OACE,qBAAKhD,MAAM,KAAKC,OAAO,KAAKC,QAAQ,YAAYC,KAAK,OAAOC,MAAM,6BAAlE,SACE,sBACEC,EAAE,w8CACFF,KAAK,eAMA8C,GAAe,WAC1B,OACE,qBAAKjD,MAAM,KAAKC,OAAO,KAAKC,QAAQ,YAAYC,KAAK,OAAOC,MAAM,6BAAlE,SACE,sBACEC,EAAE,0/CACFF,KAAK,eAMA+C,GAAW,WACtB,OACE,qBAAKlD,MAAM,KAAKC,OAAO,KAAKC,QAAQ,YAAYC,KAAK,OAAOC,MAAM,6BAAlE,SACE,sBACEC,EAAE,yjCACFF,KAAK,eAMAgD,GAAO,WAClB,OACE,qBAAKnD,MAAM,KAAKC,OAAO,KAAKC,QAAQ,YAAYC,KAAK,OAAOC,MAAM,6BAAlE,SACE,sBACEC,EAAE,sYACFF,KAAK,eAMAiD,GAAO,SAAC/E,GACnB,OACE,qBAAK2B,MAAM,KAAKC,OAAO,KAAKC,QAAQ,YAAYC,KAAK,OAAOC,MAAM,6BAA6BnB,QAASZ,EAAMY,QAA9G,SACE,sBACEoB,EAAE,8jBACFF,KAAK,aAMAkD,GAAQ,WACnB,OACE,qBAAKrD,MAAM,KAAKC,OAAO,KAAKC,QAAQ,YAAYC,KAAK,OAAOC,MAAM,6BAAlE,SACE,sBACEC,EAAE,43BACFF,KAAK,eAMAmD,GAAQ,WACnB,OACE,sBAAKtD,MAAM,KAAKC,OAAO,KAAKC,QAAQ,YAAYC,KAAK,OAAOC,MAAM,6BAAlE,UACE,sBACEC,EAAE,4HACFF,KAAK,SAEP,sBAAME,EAAE,uFAAuFF,KAAK,YACpG,sBAAME,EAAE,uFAAuFF,KAAK,gBAK7FoD,GAAQ,WACnB,OACE,qBAAKvD,MAAM,KAAKC,OAAO,KAAKC,QAAQ,YAAYC,KAAK,OAAOC,MAAM,6BAAlE,SACE,sBACEC,EAAE,4VACFF,KAAK,eAiBAqD,GAAS,WACpB,OACE,sBAAKxD,MAAM,KAAKC,OAAO,KAAKC,QAAQ,YAAYC,KAAK,OAAOC,MAAM,6BAAlE,UACE,sBACEC,EAAE,4HACFF,KAAK,YAEP,sBAAME,EAAE,mCAAmCF,KAAK,cAKzCsD,GAAW,WACtB,OACE,sBAAKzD,MAAM,KAAKC,OAAO,KAAKC,QAAQ,YAAYC,KAAK,OAAOC,MAAM,6BAAlE,UACE,sBACEC,EAAE,4HACFF,KAAK,YAEP,sBAAME,EAAE,kCAAkCF,KAAK,cAKxCuD,GAAW,WACtB,OACE,qBAAK1D,MAAM,KAAKC,OAAO,KAAKC,QAAQ,YAAYC,KAAK,OAAOC,MAAM,6BAAlE,SACE,sBACEC,EAAE,q6BACFF,KAAK,eAMAwD,GAAW,WACtB,OACE,qBAAK3D,MAAM,KAAKC,OAAO,KAAKC,QAAQ,YAAYC,KAAK,OAAOC,MAAM,6BAAlE,SACE,sBACEC,EAAE,uhBACFF,KAAK,eAMAyD,GAAS,SAACvF,GACrB,OACE,qBAAKC,UAAWD,EAAMC,UAAW0B,MAAM,KAAKC,OAAO,KAAKC,QAAQ,YAAYC,KAAK,OAAOC,MAAM,6BAA9F,SACE,sBACEC,EAAE,+XACFF,KAAK,eAMA0D,GAAO,WAClB,OACE,qBAAK7D,MAAM,KAAKC,OAAO,KAAKC,QAAQ,YAAYC,KAAK,OAAOC,MAAM,6BAAlE,SACE,sBAAMC,EAAE,qGAAqGF,KAAK,aAK3G2D,GAAa,WACxB,OACE,qBAAK9D,MAAM,KAAKC,OAAO,KAAKC,QAAQ,YAAYC,KAAK,OAAOC,MAAM,6BAAlE,SACE,sBACEC,EAAE,4TACFF,KAAK,eA2BA4D,GAAU,WACrB,OACE,sBAAK/D,MAAM,KAAKC,OAAO,KAAKC,QAAQ,YAAYC,KAAK,OAAOC,MAAM,6BAAlE,UACE,sBACEC,EAAE,86BACFF,KAAK,YAEP,sBAAME,EAAE,qDAAqDF,KAAK,gBAK3D6D,GAAS,WACpB,OACE,qBAAKhE,MAAM,KAAKC,OAAO,KAAKC,QAAQ,YAAYC,KAAK,OAAOC,MAAM,6BAAlE,SACE,sBACEC,EAAE,8rBACFF,KAAK,eAMA8D,GAAS,WACpB,OACE,qBAAKjE,MAAM,KAAKC,OAAO,KAAKC,QAAQ,YAAYC,KAAK,OAAOC,MAAM,6BAAlE,SACE,sBACEC,EAAE,gIACFF,KAAK,eAMA+D,GAAO,WAClB,OACE,qBAAKlE,MAAM,KAAKC,OAAO,KAAKC,QAAQ,YAAYC,KAAK,OAAOC,MAAM,6BAAlE,SACE,sBACEC,EAAE,yJACFF,KAAK,eAOAgE,GAAQ,WACnB,OACE,qBAAKnE,MAAM,KAAKC,OAAO,KAAKC,QAAQ,YAAYC,KAAK,OAAOC,MAAM,6BAAlE,SACE,sBAAMC,EAAE,0aAKD+D,GAAc,WACzB,OACE,qBAAKpE,MAAM,KAAKC,OAAO,KAAKC,QAAQ,YAAYC,KAAK,OAAOC,MAAM,6BAAlE,SACE,sBAAMC,EAAE,wHAKDgE,GAAO,WAClB,OACE,qBAAKrE,MAAM,KAAKC,OAAO,KAAKC,QAAQ,YAAYC,KAAK,OAAOC,MAAM,6BAAlE,SACE,sBAAMC,EAAE,6ZAKDiE,GAAU,WACrB,OACE,qBAAKtE,MAAM,KAAKC,OAAO,KAAKC,QAAQ,YAAYC,KAAK,OAAOC,MAAM,6BAAlE,SACE,sBAAMC,EAAE,qYAKDkE,GAAW,WACtB,OACE,qBAAKvE,MAAM,KAAKC,OAAO,KAAKC,QAAQ,YAAYC,KAAK,OAAOC,MAAM,6BAAlE,SACE,sBAAMC,EAAE,orBAKDmE,GAAS,WACpB,OACE,qBAAKxE,MAAM,KAAKC,OAAO,KAAKC,QAAQ,YAAYC,KAAK,OAAOC,MAAM,6BAAlE,SACE,sBAAMC,EAAE,kZAKDoE,GAAU,WACrB,OACE,qBAAKzE,MAAM,KAAKC,OAAO,KAAKC,QAAQ,YAAYC,KAAK,OAAOC,MAAM,6BAAlE,SACE,sBAAMC,EAAE,msBAIDqE,GAAe,WAC1B,OACE,qBAAK1E,MAAM,KAAKC,OAAO,KAAKC,QAAQ,YAAYC,KAAK,OAAOC,MAAM,6BAAlE,SACE,sBAAMC,EAAE,q5BAKDsE,GAAQ,WACnB,OACE,qBAAK3E,MAAM,KAAKC,OAAO,KAAKC,QAAQ,YAAYC,KAAK,OAAOC,MAAM,6BAAlE,SACE,sBAAMC,EAAE,+KAKDuE,GAAkB,WAC7B,OACE,qBAAK5E,MAAM,KAAKC,OAAO,KAAKC,QAAQ,YAAYC,KAAK,OAAOC,MAAM,6BAAlE,SACE,sBACEC,EAAE,krBACFF,KAAK,eAMA0E,GAAkB,WAC7B,OACE,qBAAK7E,MAAM,KAAKC,OAAO,KAAKC,QAAQ,YAAYC,KAAK,OAAOC,MAAM,6BAAlE,SACE,sBACEC,EAAE,mgEACFF,KAAK,eAMA2E,GAAS,WACpB,OACE,qBAAK9E,MAAM,KAAKC,OAAO,KAAKC,QAAQ,YAAYC,KAAK,OAAOC,MAAM,6BAAlE,SACE,sBACEC,EAAE,+YACFF,KAAK,aAMA4E,GAAe,SAAC1G,GAC3B,OACE,sBACEC,UAAWD,EAAMC,UACjB0G,QAAQ,MACR5E,MAAM,6BACNQ,EAAE,MACFC,EAAE,MACFX,QAAQ,oBACRjB,QAASZ,EAAMY,QAPjB,UASE,uBAAOE,KAAK,aACZ,mBAAG8F,GAAG,WAAN,SACE,mBAAGA,GAAG,YAAN,SACE,mBAAGA,GAAG,YAAN,SACE,mBAAGA,GAAG,YAAN,SACE,oBAAGA,GAAG,YAAN,UACE,yBACEA,GAAG,YACHC,OAAO,gFAEP/E,KAAK,YAEP,yBACE8E,GAAG,YACHC,OAAO,iFAEP/E,KAAK,YAEP,yBACE8E,GAAG,YACHC,OAAO,+FAEP/E,KAAK,YAEP,yBACE8E,GAAG,YACHC,OAAO,iFAEP/E,KAAK,2BAWVgF,GAAO,WAClB,OACE,qBAAKnF,MAAM,KAAKC,OAAO,KAAKC,QAAQ,YAAYC,KAAK,OAAOC,MAAM,6BAAlE,SACE,sBACEC,EAAE,2pBACFF,KAAK,eAMAiF,GAAS,WACpB,OACE,qBAAKpF,MAAM,KAAKC,OAAO,KAAKC,QAAQ,YAAYC,KAAK,OAAOC,MAAM,6BAAlE,SACE,sBACEC,EAAE,2TACFF,KAAK,aAiBAkF,GAAgB,WAC3B,OACE,sBAAKrF,MAAM,KAAKC,OAAO,KAAKC,QAAQ,YAAYC,KAAK,OAAOC,MAAM,6BAAlE,UACE,sBACEC,EAAE,8HACFF,KAAK,YAEP,sBACEE,EAAE,qlCACFF,KAAK,gBAMAmF,GAAiB,WAC5B,OACE,qBAAKtF,MAAM,KAAKC,OAAO,KAAKC,QAAQ,YAAYC,KAAK,OAAOC,MAAM,6BAAlE,SACE,sBACEC,EAAE,2dACFF,KAAK,eAiBAoF,GAAgB,WAC3B,OACE,qBAAKvF,MAAM,KAAKC,OAAO,KAAKC,QAAQ,YAAYC,KAAK,OAAOC,MAAM,6BAAlE,SACE,sBACEC,EAAE,qwFACFF,KAAK,eAMAqF,GAAQ,WACnB,OACE,qBAAKxF,MAAM,KAAKC,OAAO,KAAKC,QAAQ,YAAYC,KAAK,OAAOC,MAAM,6BAAlE,SACE,sBAAMC,EAAE,uGAAuGF,KAAK,c,SC34B9GZ,O,yBAAAA,I,uBAAAA,I,iCAAAA,I,+CAAAA,I,qCAAAA,I,+BAAAA,I,6BAAAA,I,gCAAAA,M,cAWAC,O,eAAAA,I,gBAAAA,M,cAKAC,O,kBAAAA,I,oCAAAA,I,uCAAAA,I,uCAAAA,I,mCAAAA,I,qBAAAA,M,cASAC,K,0BAAAA,E,0BAAAA,E,sCAAAA,M,cASAC,K,yBAAAA,E,yBAAAA,E,gBAAAA,E,sBAAAA,M,cAUAC,K,sBAAAA,E,8BAAAA,E,8BAAAA,E,kCAAAA,E,uCAAAA,E,qCAAAA,E,2BAAAA,E,uCAAAA,E,qCAAAA,E,iCAAAA,E,0BAAAA,E,8BAAAA,E,8BAAAA,E,gCAAAA,E,kBAAAA,E,iDAAAA,M,cAsBAC,K,yBAAAA,E,gBAAAA,E,gBAAAA,E,qBAAAA,M,cAUAC,K,YAAAA,E,wBAAAA,M,KCzEL,I,SAAM2F,GAAiBC,IAAMC,cAAkC,MA8BvDC,GAxB0B,SAAC,GAAyB,IAAvBvG,EAAsB,EAAtBA,SAC1C,EAAsCwG,mBAAsBtG,EAAYuG,WAAxE,mBAAOC,EAAP,KAAoBC,EAApB,KACA,EAAgCH,mBAAmBrG,EAASyC,MAA5D,mBAAOgE,EAAP,KAAiBC,EAAjB,KACA,EAAsCL,mBAAiB,IAAvD,mBAAOM,EAAP,KAAoBC,EAApB,KACA,EAAkCP,oBAAkB,GAApD,mBAAOQ,EAAP,KAAkBC,EAAlB,KAEA,OACE,cAACb,GAAec,SAAhB,CACEC,MAAO,CACLR,iBACAE,cACAH,cACAE,WACAE,cACAC,iBACAC,YACAC,gBATJ,SAYGjH,K,qECxBMoH,GAA4B,CACvCC,KAAM,CACJC,SAAQ,WAAEC,wCAAF,GAA2C,GACnDC,UAAWD,+EACXE,iBAAkB,CAAC,GAAD,OAAIF,4BACtBG,YAAaC,OAAOC,SAASC,QAE/BC,OAAQ,CACNC,kBAAmB,MAKVC,GAAgC,CAC3CC,OAAQ,CAAC,UACTC,MAAO,eACPC,OAAQ,QACRT,YAAaC,OAAOC,SAASC,QAGlBO,GAA+B,CAC1CH,OAAQ,CAAC,GAAD,kBAAIV,wCAAJ,GAA6C,WACrDG,YAAaC,OAAOC,SAASC,OAAS,SACtCL,UAAWD,gFAGAc,GAA6C,CACxDJ,OAAQ,CAAC,GAAD,kBAAIV,wCAAJ,GAA6C,WACrDG,YAAaC,OAAOC,SAASC,OAAS,SACtCL,UAAWD,gFAWAe,IAJEX,OAAOC,SAASC,OAI+B,CAC5DI,OAAQ,CAAC,UACTC,MAAO,eACPC,OAAQ,QACRT,YAAaC,OAAOC,SAASC,OAC7BU,kBAAmBZ,OAAOC,SAASC,OACnCL,UAAWD,iFAGAiB,GAAuB,SAACC,EAAmBC,EAAeC,GAAsC,IAAD,EACpG/C,EAAKgD,OAAUC,QAAQ,KAAM,IAC7BC,EAAQC,mBAAmB,UAAGN,EAAH,YAAgBC,EAAhB,KAA2B9C,GAG5DoD,aAAaC,QAAb,OAAqBN,QAArB,IAAqBA,IAAmB,eAAgB/C,GAExD,IACIqC,EADEiB,EAAW,UAAG3B,sCAAH,EAAyC,GAEtD4B,EAAM,GAEV,OAAQV,GACN,IAAK,oBACHR,EAAS,CAAC,SAAU,UAAW,QAAS,UAAW,QAAS,oCAE5DkB,EACE,4IAKAJ,mBAAmBG,GACnB,UACAjB,EAAOmB,KAAK,OACZ,UACAN,EAEF,MACF,IAAK,OACHb,EAAS,CACP,SACA,UACA,QACA,iBACA,+BACA,2BACA,4BAGFkB,EACE,gIAKAJ,mBAAmBG,GACnB,UACAjB,EAAOmB,KAAK,OACZ,UACAN,EAEF,MACF,IAAK,oBACHb,EAAS,CAAC,YAAa,SAAU,UAAW,iBAAkB,YAAa,YAAa,kBAExFkB,EACE,iJAIAJ,mBAAmBG,GACnB,UACAjB,EAAOmB,KAAK,OACZ,UACAN,EAKN,OAAOK,GCpHHE,GAAoBC,OAAO,8BAO3BC,G,WAKJ,WAAYC,GAAmB,IAAD,OAC5B,GAD4B,0BAFbC,aAEa,OAiG9BC,IAAM,kBAAiC,EAAKC,eAAL,QAAI,YAjGb,KAkG9BC,KAAO,kBAA+B,EAAKC,gBAAL,QAAI,YAlGZ,KAmG9BC,IAAM,kBAA+B,EAAKC,eAAL,QAAI,YAnGX,KAoG9BC,MAAQ,kBAA+B,EAAKC,iBAAL,QAAI,YApGb,KAqG9BC,OAAS,kBAAiC,EAAKC,kBAAL,QAAI,YApGxCX,IAAaH,GACf,MAAM,IAAIe,MAAM,8BAalBC,KAAKZ,QAAUa,KAAMC,OAVD,CAClBC,QAASjD,iCACTkD,QAAS,CACP,mBAAoB,iBACpB,gBAAiB,WACjBC,OAAQ,WACRC,QAAS,Q,oFAef,6FACQC,EAAUC,GAAaC,mBAD/B,SAGeD,GAAaE,mBAAb,2BAGoC,0BAAzC,OAACH,QAAD,IAACA,GAAD,UAACA,EAASI,qBAAV,eAAiCC,KAAiC5C,GAA8BD,IAH3F,IAG2GwC,QAAO,OAAEA,QAAF,IAAEA,SAAWM,KAEzIzM,MAAK,SAAC0M,GAA+B,IAAD,EACnC,wBAAOA,QAAP,IAAOA,OAAP,EAAOA,EAAKC,mBAAZ,QAA2B,MAG5BC,OAAM,SAACC,GACNC,QAAQC,IAAIF,GAERA,aAAiBG,MACnBZ,GAAaa,qBAAqB1D,IAAcqD,OAAM,SAACM,GACrDJ,QAAQC,IAAIG,SAjBtB,mF,oHAuBA,WAAwBC,EAA6BC,GAArD,0EAEMC,EAAoC,CACtCrB,QAAS,CACPsB,OAAQ,aACR,eAAgB,qBAIhBH,IACFE,EAAa,2BAAQA,GAAkBF,SAGpBV,IAAjBW,GAA+BA,EAbrC,+CAc6DxB,KAAK2B,WAdlE,mBAcIF,EAAcrB,QAAd,cAdJ,4DAiBSqB,GAjBT,gD,4HAoBA,WAA6B3C,EAAayC,EAA6BC,GAAvE,uFAC8BxB,KAAK4B,UAAUL,EAAQC,GADrD,cACQC,EADR,yBAESzB,KAAKZ,QAAQC,IAAIP,EAAK2C,IAF/B,gD,+HAMA,WAA8B3C,EAAa+C,EAAWN,EAA6BC,GAAnF,uFAC8BxB,KAAK4B,UAAUL,EAAQC,GADrD,cACQC,EADR,yBAESzB,KAAKZ,QAAQG,KAAKT,EAAK+C,EAAMJ,IAFtC,gD,gIAMA,WAA6B3C,EAAa+C,EAAWN,EAA6BC,GAAlF,uFAC8BxB,KAAK4B,UAAUL,EAAQC,GADrD,cACQC,EADR,yBAESzB,KAAKZ,QAAQK,IAAIX,EAAK+C,EAAMJ,IAFrC,gD,kIAMA,WAA+B3C,EAAa+C,EAAWN,EAA6BC,GAApF,uFAC8BxB,KAAK4B,UAAUL,EAAQC,GADrD,cACQC,EADR,yBAESzB,KAAKZ,QAAQO,MAAMb,EAAK+C,EAAMJ,IAFvC,gD,mIAKA,WAAgC3C,EAAayC,EAA6BC,GAA1E,uFAC8BxB,KAAK4B,UAAUL,EAAQC,GADrD,cACQC,EADR,yBAESzB,KAAKZ,QAAQS,OAAOf,EAAK2C,IAFlC,gD,iFA1EA,WAKE,OAJKzB,KAAK8B,iBACR9B,KAAK8B,eAAiB,IAAI5C,EAAUF,KAG/BgB,KAAK8B,mB,KA5BV5C,GACW4C,oB,EA4GF5C,UAAf,SCxHa6C,GAAb,2FAKE,WAGE,OAAO7C,GAAUG,IAFL,iBAEcjL,MAAK,SAAC4N,GAC9B,OAAOA,EAASH,YATtB,KCAaI,GAAb,4FAOE,SAAW1G,EAAY2G,GACrB,IAAMpD,EAAG,2BAAuBvD,GAC1B4G,EAAU,CACdC,OAAQ,CACNF,YAGJ,OAAOhD,GAAUG,IAAIP,EAAKqD,GAAS/N,MAAK,SAAC0M,GAAD,OAASA,EAAIe,UAdzD,0BA0BE,SAAaQ,EAAiBH,EAAkBI,EAAgBC,EAAmBC,GACjF,IACML,EAAU,CACdC,OAAQ,CACNC,SACAH,UACAI,QACAC,WACAC,eAGJ,OAAOtD,GAAUG,IAVL,yBAUc8C,GAAS/N,MAAK,SAAC4N,GACvC,OAAOA,EAASH,UAtCtB,0BAgDE,SAAatG,EAAYkH,GACvB,IAAM3D,EAAG,2BAAuBvD,GAChC,OAAO2D,GAAUS,MAAMb,EAAK2D,GAAMrO,MAAK,SAAC0M,GAAD,OAASA,EAAIe,UAlDxD,gCA0DE,SAAmBtG,GACjB,IAAIuD,EAAM,+CAEV,QAAW+B,IAAPtF,GAA2B,OAAPA,EACtB,MAAM,IAAIwE,MAAM,uCAOlB,OAHAjB,GADAA,EAAMA,EAAIN,QAAQ,OAAQE,mBAAmB,GAAKnD,KACxCiD,QAAQ,QAAS,IAGpBU,GAAUG,IAAIP,GAAK1K,MAAK,SAAC4N,GAC9B,OAAOA,EAASH,UAtEtB,kCAkFE,SAAqBQ,EAAiBH,EAAkBI,EAAgBC,EAAmBC,GACzF,IAEML,EAAU,CACdC,OAAQ,CACNC,SACAH,UACAI,QACAC,WACAC,eAIJ,OAAOtD,GAAUG,IAZL,0CAYc8C,GAAS/N,MAAK,SAAC4N,GACvC,OAAOA,EAASH,YAhGtB,KCAaa,GAAb,4FAOE,SAAWnH,EAAY2G,GACrB,IAAIpD,EAAM,wBAEV,QAAW+B,IAAPtF,GAA2B,OAAPA,EACtB,MAAM,IAAIwE,MAAM,uCAKlB,GAFAjB,EAAMA,EAAIN,QAAQ,OAAQE,mBAAmB,GAAKnD,IAElC,OAAZ2G,EACF,MAAM,IAAInC,MAAM,2CASlB,YANgBc,IAAZqB,IACFpD,GAAO,WAAaJ,mBAAmB,GAAKwD,GAAW,KAGzDpD,EAAMA,EAAIN,QAAQ,QAAS,IAEpBU,GAAUG,IAAIP,GAAK1K,MAAK,SAAA4N,GAC7B,OAAOA,EAASH,UA3BtB,yBAwCE,SAAYQ,EAAiBH,EAAkBI,EAAgBC,EAAmBC,GAChF,IAEMjB,EAAS,CACba,OAAQ,CACNC,SACAH,UACAI,QACAC,WACAC,eAIJ,OAAOtD,GAAUG,IAZL,wBAYckC,GAAQnN,MAAK,SAAA4N,GACrC,OAAOA,EAASH,UAtDtB,iCAkEE,SAAoBQ,EAAiBH,EAAkBI,EAAgBC,EAAmBC,GACxF,IAEMjB,EAAS,CACba,OAAQ,CACNC,SACAH,UACAI,QACAC,WACAC,eAIJ,OAAOtD,GAAUG,IAZL,gCAYckC,GAAQnN,MAAK,SAAA4N,GACrC,OAAOA,EAASH,UAhFtB,kCA6FG,SACCQ,EACAH,EACAI,EACAC,EACAC,GAEA,IAEML,EAAU,CACdC,OAAQ,CACNC,SACAH,UACAI,QACAC,WACAC,eAIJ,OAAOtD,GAAUG,IAZL,wCAYc8C,GAAS/N,MAAK,SAAA4N,GACtC,OAAOA,EAASH,YAjHtB,KCAac,GAAb,6FAME,SAAYC,GACV,IAEMT,EAAU,CACdC,OAAQ,CACNQ,cAIJ,OAAO1D,GAAUG,IARL,0BAQc8C,GAAS/N,MAAK,SAAC4N,GACvC,OAAOA,EAASH,UAhBtB,oBAwBE,WAGE,OAAO3C,GAAUG,IAFL,wCAEcjL,MAAK,SAAC4N,GAC9B,OAAOA,EAASH,UA5BtB,yBAoCE,WAGE,OAAO3C,GAAUG,IAFL,4BAEcjL,MAAK,SAAC4N,GAC9B,OAAOA,EAASH,UAxCtB,gEAkDE,WAAkBgB,EAAoBC,GAAtC,iBAAAC,EAAA,4DACc,2BAENZ,EAAU,CACdC,OAAQ,CACNS,aACAC,cANN,SAUyB5D,GAAUG,IATrB,2BAS8B8C,GAV5C,cAUQH,EAVR,yBAWSA,EAASH,MAXlB,2CAlDF,sHAyEE,4BAAAkB,EAAA,4DACc,iCAENZ,EAAU,CACdC,OAAQ,IAJZ,kBAOSlD,GAAUG,IANL,iCAMc8C,GAAS/N,MAAK,SAAC4N,GACvC,OAAOA,EAASH,SARpB,2CAzEF,+HA0FE,WAA2BiB,GAA3B,iBAAAC,EAAA,4DACc,oCAENZ,EAAU,CACdC,OAAQ,CACNU,cALN,SASyB5D,GAAUG,IARrB,oCAQ8B8C,GAT5C,cASQH,EATR,yBAUSA,EAASH,MAVlB,2CA1FF,8DCAamB,GAAb,qFAOE,SAAIzH,EAAY2G,GACd,IAAMpD,EAAG,4BAAwBvD,GAC3B4G,EAAU,CACdC,OAAQ,CACNF,YAGJ,OAAOhD,GAAUG,IAAIP,EAAKqD,GAAS/N,MAAK,SAAC0M,GAAD,OAASA,EAAIe,UAdzD,mBAsBE,SAAMtG,EAAYkH,GAChB,IAAM3D,EAAG,4BAAwBvD,GACjC,OAAO2D,GAAUS,MAAMb,EAAK2D,GAAMrO,MAAK,SAAC0M,GAAD,OAASA,EAAIe,UAxBxD,oBAgCE,SAAOtG,GACL,IAAMuD,EAAG,4BAAwBvD,GACjC,OAAO2D,GAAUW,OAAOf,GAAK1K,MAAK,SAAC0M,GAAD,OAASA,EAAIe,UAlCnD,kBA0CE,SAAKY,GAEH,OAAOvD,GAAUK,KADL,oBACekD,GAAMrO,MAAK,SAAC0M,GAAD,OAASA,EAAIe,UA5CvD,mBAwDE,SAAMQ,EAAiBH,EAAkBI,EAAgBC,EAAmBC,GAC1E,IACML,EAAU,CACdC,OAAQ,CACNC,SACAH,UACAI,QACAC,WACAC,eAGJ,OAAOtD,GAAUG,IAVL,0BAUc8C,GAAS/N,MAAK,SAAC0M,GAAD,OAASA,EAAIe,YAnEzD,KCAaoB,GAAb,4FAME,SAAWR,GAGT,OAAOvD,GAAUK,KAFL,eAEekD,OAAM5B,GAAW,GAAMzM,MAAK,SAAA4N,GACrD,OAAOA,EAASH,YAVtB,KCAaqB,GAAb,2FAOE,SAAUC,EAAeC,GACvB,IAGMX,EAAO,CAAEY,SAAUD,EAAYC,SAAUC,IAAKF,EAAYE,KAG1DnB,EAAU,CACd/B,QAAS,CACPmD,cAAc,UAAD,OAAYJ,KAI7B,OAAOjE,GAAUK,KAZL,sBAYekD,EAAMN,GAAS,GAAM/N,MAAK,SAAC0M,GAAD,OAASA,EAAIe,UApBtE,sBA6BE,SAASsB,EAAeC,GACtB,IAGMX,EAAO,CACXY,SAAUD,EAAYC,SACtBG,SAAUJ,EAAYI,SACtBC,gBAAiBL,EAAYK,gBAC7BC,QAASN,EAAYM,SAIjBvB,EAAU,CACd/B,QAAS,CACPmD,cAAc,UAAD,OAAYJ,KAI7B,OAAOjE,GAAUK,KAjBL,+BAiBekD,EAAMN,GAAS,GAAM/N,MAAK,SAAC0M,GAAD,OAASA,EAAIe,YA/CtE,KCAa8B,GAAb,gGACE,SAAetB,EAAiBH,EAAkBI,EAAgBC,EAAmBC,GACnF,IAEML,EAAU,CACdC,OAAQ,CACNC,SACAH,QAAO,OAAEA,QAAF,IAAEA,IAAW,eACpBI,QACAC,WACAC,eAIJ,OAAOtD,GAAUG,IAZL,8BAYc8C,GAAS/N,MAAK,SAAC4N,GACvC,OAAOA,EAASH,UAftB,8BAmBE,SAAiBtG,EAAYkH,GAC3B,IAAM3D,EAAG,gCAA4BvD,GAErC,OAAO2D,GAAUS,MAAMb,EAAK2D,GAAMrO,MAAK,SAAC4N,GACtC,OAAOA,EAASH,UAvBtB,8BA2BE,SAAiBY,GAGf,OAAOvD,GAAUK,KAFL,wBAEekD,GAAMrO,MAAK,SAAC4N,GACrC,OAAOA,EAASH,UA/BtB,8BAmCE,SAAiBtG,GACf,IAAMuD,EAAG,gCAA4BvD,GACrC,OAAO2D,GAAUW,OAAOf,GAAK1K,MAAK,SAAC0M,GAAD,OAASA,EAAIe,YArCnD,KCAa+B,GAAb,+FAME,SAAcvB,GACZ,IAAIvD,EAAM,+BAQV,YANe+B,IAAXwB,IACFvD,GAAO,WAAaJ,mBAAmB,GAAK2D,GAAU,KAGxDvD,EAAMA,EAAIN,QAAQ,OAAQ,IAEnBU,GAAUG,IAAIP,GAAK1K,MAAK,SAAA4N,GAC7B,OAAOA,EAASH,KAAKgC,QAAQ,QAhBnC,4BA6BE,SAAexB,EAAiBH,EAAkBI,EAAgBC,EAAmBC,GACnF,IAEML,EAAU,CACdC,OAAQ,CACNC,SACAH,UACAI,QACAC,WACAC,eAIJ,OAAOtD,GAAUG,IAZL,gCAYc8C,GAAS/N,MAAK,SAAA4N,GACtC,OAAOA,EAASH,YA3CtB,KCAaiC,GAAb,uGAUE,SAAsBzB,EAAiBH,EAAkBI,EAAgBC,EACnDC,GACpB,IAEML,EAAU,CACdC,OAAQ,CACNC,SACAH,UACAI,QACAC,WACAC,eAIJ,OAAOtD,GAAUG,IAZL,mCAYc8C,GAAS/N,MAAK,SAAA4N,GACtC,OAAOA,EAASH,KAAKgC,eAzB3B,KCAaE,GAAb,2FACE,SAAUtB,EAAiBU,GACzB,IAEMhB,EAAU,CACd/B,QAAS,CACPmD,cAAc,UAAD,OAAYJ,KAI7B,OAAOjE,GAAUK,KARL,cAQekD,OAAgB5B,IAAVsC,EAAsBhB,OAAUtB,OAAqBA,IAAVsC,GAAoC/O,MAAK,SAAC4N,GACpH,OAAOA,EAASH,UAXtB,2BAeE,SAAcmC,EAAuBC,GACnC,IAAMnF,EAAG,sBAAkBkF,GAErB7B,EAAU,CACdC,OAAQ,CACN6B,iBAAkBA,IAItB,OAAO/E,GAAUG,IAAIP,EAAKqD,GAAS/N,MAAK,SAAC4N,GACvC,OAAOA,EAASH,UAzBtB,uBA8BE,SAAUU,EAAmBF,EAAiBH,EAAkBI,EAAgBE,GAC9E,IACML,EAAU,CACdC,OAAQ,CACNC,SACAE,WACAD,QACAJ,UACAM,eAGJ,OAAOtD,GAAUG,IAVL,oBAUc8C,GAAS/N,MAAK,SAAC4N,GACvC,OAAOA,EAASH,YA1CtB,KCAaqC,GAAb,gGAOE,SAAe3I,EAAY2G,GACzB,IAAMpD,EAAG,8BAA0BvD,GAE7B4G,EAAU,CACdC,OAAQ,CACNF,YAIJ,OAAOhD,GAAUG,IAAIP,EAAKqD,GAAS/N,MAAK,SAAC4N,GACvC,OAAOA,EAASH,UAjBtB,8BA2BE,SAAiBtG,EAAYkH,GAC3B,IAAM3D,EAAG,8BAA0BvD,GACnC,OAAO2D,GAAUS,MAAMb,EAAK2D,GAAMrO,MAAK,SAAC0M,GAAD,OAASA,EAAIe,UA7BxD,+BAqCE,SAAkBtG,GAChB,IAAMuD,EAAG,8BAA0BvD,GACnC,OAAO2D,GAAUW,OAAOf,GAAK1K,MAAK,SAAC0M,GAAD,OAASA,EAAIe,UAvCnD,0BA+CE,SAAatG,GACX,IACM4G,EAAU,CACdC,OAAQ,CACN7G,OAGJ,OAAO2D,GAAUK,KANL,oCAMesB,EAAWsB,GAAS/N,MAAK,SAAC0M,GAAD,OAASA,EAAIe,UAtDrE,wBA8DE,SAAWY,GAET,OAAOvD,GAAUK,KADL,6BACekD,GAAMrO,MAAK,SAAC0M,GAAD,OAASA,EAAIe,UAhEvD,uBAwEE,SAAUsC,GACR,IACMhC,EAAU,CACdC,OAAQ,CACN+B,SAGJ,OAAOjF,GAAUG,IANL,6BAMc8C,GAAS,GAAM/N,MAAK,SAAC0M,GAAD,OAASA,EAAIe,UA/E/D,+BAwFE,SAAkBtG,GAEhB,GAAIA,EACF,OAAO2D,GAAUK,KAFV,qCAEoB,CAAE6E,aAAc7I,IAAMnH,MAAK,SAAC0M,GAAD,OAASA,EAAIe,QAEnE,MAAM,IAAI9B,MAAM,yCA7FtB,+BA0GE,SAAkBsC,EAAiBH,EAAkBI,EAAgBC,EAAmBC,GACtF,IAEMjB,EAAS,CACba,OAAQ,CACNC,SACAH,UACAI,QACAC,WACAC,eAIJ,OAAOtD,GAAUG,IAZL,4BAYckC,GAAQnN,MAAK,SAAC4N,GACtC,OAAOA,EAASH,YAxHtB,KCAawC,GAAb,+FAME,SACE5B,GASA,OAAOvD,GAAUK,KADR,kBACkBkD,GAAMrO,MAAK,SAAC0M,GACrC,OAAOA,EAAIe,KAAK,QAjBtB,2BA8BE,SAAcQ,EAAiBH,EAAkBI,EAAgBC,EAAmBC,GAClF,IAEMjB,EAAS,CACba,OAAQ,CACNC,SACAH,UACAI,QACAC,WACAC,eAIJ,OAAOtD,GAAUG,IAZL,wBAYckC,GAAQnN,MAAK,SAAC4N,GACtC,OAAOA,EAASH,UA5CtB,4BAqDE,SAAetG,GACb,IAAMuD,EAAG,0BAAsBvD,GAC/B,OAAO2D,GAAUW,OAAOf,GAAK1K,MAAK,SAAC4N,GACjC,OAAOA,EAASH,UAxDtB,wBAkEE,SAAWtG,EAAY2G,GACrB,IAAMpD,EAAG,0BAAsBvD,GACzBgG,EAAS,CAAEa,OAAQ,CAAEF,YAC3B,OAAOhD,GAAUG,IAAIP,EAAKyC,GAAQnN,MAAK,SAAC4N,GACtC,OAAOA,EAASH,UAtEtB,0BAgFE,SAAatG,EAAYkH,GACvB,IAAM3D,EAAG,0BAAsBvD,GAC/B,OAAO2D,GAAUS,MAAMb,EAAK2D,GAAMrO,MAAK,SAAC0M,GAAD,OAASA,EAAIe,YAlFxD,KCAayC,GAAb,iGAUE,SAAgBjC,EAAiBH,EAAkBI,EAAgBC,EAC7CC,GACpB,IAEML,EAAU,CACdC,OAAQ,CACNC,SACAH,UACAI,QACAC,WACAC,eAIJ,OAAOtD,GAAUG,IAZL,4BAYc8C,GAAS/N,MAAK,SAAA4N,GACtC,OAAOA,EAASH,YAzBtB,KCAa0C,GAAb,qFAOE,SAAIhJ,EAAY2G,GACd,IAAMpD,EAAG,2BAAuBvD,GAE1B4G,EAAU,CACdC,OAAQ,CACNF,YAIJ,OAAOhD,GAAUG,IAAIP,EAAKqD,GAAS/N,MAAK,SAAC0M,GAAD,OAASA,EAAIe,UAhBzD,mBA4BE,SAAMQ,EAAiBH,EAAkBI,EAAgBC,EAAmBC,GAC1E,IAEMjB,EAAS,CACba,OAAQ,CACNC,SACAH,UACAI,QACAC,WACAC,eAIJ,OAAOtD,GAAUG,IAZL,yBAYckC,GAAQnN,MAAK,SAAC0M,GAAD,OAASA,EAAIe,YAzCxD,KCAa2C,GAAb,qFAOE,SAAIjJ,EAAY2G,GACd,IAAMpD,EAAG,uBAAmBvD,GACtB4G,EAAU,CACdC,OAAQ,CACNF,YAGJ,OAAOhD,GAAUG,IAAIP,EAAKqD,GAAS/N,MAAK,SAAC0M,GAAD,OAASA,EAAIe,UAdzD,oBAsBE,SAAOtG,GACL,IAAMuD,EAAG,uBAAmBvD,GAC5B,OAAO2D,GAAUW,OAAOf,GAAK1K,MAAK,SAAC0M,GAAD,OAASA,EAAIe,UAxBnD,kBAgCE,SAAKY,GAEH,OAAOvD,GAAUK,KADL,eACekD,GAAMrO,MAAK,SAAC0M,GAAD,OAASA,EAAIe,UAlCvD,mBA8CE,SAAMQ,EAAiBH,EAAkBI,EAAgBC,EAAmBC,GAC1E,IACML,EAAU,CACdC,OAAQ,CACNC,SACAH,UACAI,QACAC,WACAC,eAGJ,OAAOtD,GAAUG,IAVL,qBAUc8C,GAAS/N,MAAK,SAAC0M,GAAD,OAASA,EAAIe,YAzDzD,KCAa4C,GAAb,0FAME,SAASlJ,GACP,IAAMuD,EAAG,6BAAyBvD,EAAzB,aACT,OAAO2D,GAAUG,IAAIP,GAAK1K,MAAK,SAAC0M,GAAD,OAASA,EAAIe,UARhD,qBAeE,SAAQtG,GACN,IAAMuD,EAAG,6BAAyBvD,GAClC,OAAO2D,GAAUW,OAAOf,GAAK1K,MAAK,SAAC0M,GAAD,OAASA,EAAIe,YAjBnD,KCkBa6C,GAAe,IAAI3C,GACnB4C,GAAkB,IAAI1C,GACtB2C,GAAiB,IAAIlC,GACrBmC,GAAgB,IAAIlC,GACpBmC,GAAmB,IAAI9B,GACvB+B,GAAc,IAAI9B,GAClB+B,GAAoB,ICxBjC,uCACSC,mBAAqB,WAG1B,OAAO/F,GAAUG,IAFL,uEAEcwB,GAAW,GAAMzM,MAAK,SAAA4N,GAC9C,OAAOA,EAASH,KAAKgC,YAL3B,KASSqB,cAAgB,WAGrB,OAAOhG,GAAUG,IAFL,qCAEcwB,GAAW,GAAMzM,MAAK,SAAA4N,GAC9C,OAAOA,EAASH,KAAKgC,aDYdsB,GAAqB,IAAIjC,GACzBkC,GAAoB,IAAIzB,GACxB0B,GAAiB,IAAIzB,GACrB0B,GAA6B,IAAIxB,GACjCyB,GAAa,IAAIxB,GACjByB,GAAqB,IAAItB,GACzBuB,GAAiB,IAAIpB,GACrBqB,GAAqB,IAAIpB,GACzBqB,GAAwB,IEjCrC,uCACSC,kBAAoB,SAACrK,EAAY2G,GACtC,IAAMpD,EAAG,iCAA6BvD,GAEhC4G,EAAU,CACdC,OAAQ,CACNF,YAIJ,OAAOhD,GAAUG,IAAIP,EAAKqD,GAAS/N,MAAK,SAAC0M,GAAD,OAASA,EAAIe,SAVzD,KAaSgE,qBAAuB,SAC5BxD,EACAH,EACAI,EACAC,EACAC,GAEA,IAEML,EAAU,CACdC,OAAQ,CACNC,SACAH,UACAI,QACAC,WACAC,eAIJ,OAAOtD,GAAUG,IAZL,+BAYc8C,GAAS/N,MAAK,SAAC4N,GACvC,OAAOA,EAASH,UFCTiE,GAAkB,IAAIvB,GACtBwB,GAAc,IAAIvB,GAClBwB,GAAkB,IAAIvB,G,sCGhC7BwB,GAAc,IAAIC,KAEpBC,GAA0C,KACxCC,GAAqBlJ,uCAEnBmJ,GAAiBC,aAAqB,CAAEC,SAAU,MACxDJ,GAAc,IAAIK,KAAoB,CACpCjF,OAAQ,CACN6E,mBAAoBA,GACpBK,WAAY,CAACR,IACbS,gBAAgB,gBACbT,GAAYU,WAAa,CAAEC,QAASP,SAI/BQ,kBCbP,IAAMC,GAAa9K,IAAMC,cAA8B,MA6K/C8K,GAvKsB,SAAC,GAAyB,IAAvBpR,EAAsB,EAAtBA,SACtC,EAAsCwG,mBAA0B,MAAhE,mBAAO6K,EAAP,KAAoBC,EAApB,KACA,EAAkC9K,oBAAkB,GAApD,mBAAO+K,EAAP,KAAkBC,EAAlB,KACA,EAAoDhL,oBAAkB,GAAtE,mBAAOiL,EAAP,KAA2BC,EAA3B,KACA,EAA0DlL,oBAAkB,GAA5E,mBAAOmL,EAAP,KAA8BC,EAA9B,KACA,EAAoCpL,mBAAsB,CACxDqL,SAAU,GACVC,YAAa,GACbC,iBAAkB,GAClBC,OAAQ,GACRC,SAAU,GACVC,UAAU,EACVC,aAAc,GACdC,MAAO,GACPC,aAAc,KACdC,aAAc,OAVhB,mBAAOC,EAAP,KAAmBC,EAAnB,KAYA,EAAsChM,oBAAkB,GAAxD,mBAAOiM,EAAP,KAAoBC,EAApB,KACA,EAA8ClM,mBAAiB,IAA/D,mBAAOmM,EAAP,KAAwBC,EAAxB,KACA,EAAkCpM,mBAA0B,IAA5D,mBAAOqM,EAAP,KAAkBC,EAAlB,KAEA,EAAsCtM,mBAA2B,CAC/DkH,SAAU,GACVG,SAAU,GACVC,gBAAiB,MACjBH,IAAK,CACHoF,KAAM,GACNrK,MAAO,GACPwD,KAAM,CACJ8G,SAAU,GACVC,QAAS,KAGblF,QAAS,CACPmF,oBAAqB,MACrBC,QAAS,mBAdb,mBAAO1F,EAAP,KAAoB2F,EAApB,KAkBMC,EAAgB,IAAIC,IAvCkC,4CAyD5D,WAA2BpG,EAAoBC,GAA/C,SAAAC,EAAA,+EACS8B,GAAcqE,YAAYrG,EAAYC,GAAW1O,MAAK,SAACyN,GAC5D,OAAOA,MAFX,4CAzD4D,kEA+D5D,WAAkCiB,GAAlC,SAAAC,EAAA,+EACS8B,GAAcsE,qBAAqBrG,GAAW1O,MAAK,SAACyN,GACzD,OAAOA,MAFX,4CA/D4D,kEAsE5D,sBAAAkB,EAAA,+EACS8B,GAAcuE,WAAWhV,MAAK,SAACyN,GAGpC,OADAA,EAAKwH,MAAK,SAACC,EAA8BC,GAA/B,eAAkE,iBAACD,QAAD,IAACA,OAAD,EAACA,EAAME,oBAAP,QAAuB,KAAvB,iBAA8BD,QAA9B,IAA8BA,OAA9B,EAA8BA,EAAOC,oBAArC,QAAqD,IAAM,GAAK,KACrI3H,MAJX,4CAtE4D,kEAoG5D,4BAAAkB,EAAA,sEACyB2B,GAAa+E,YAAYrV,MAAK,SAACyN,GAAuB,IAAD,EAG1E,OAFAsG,EAActG,GACd0G,EAAkB,iBAAC1G,QAAD,IAACA,OAAD,EAACA,EAAM4F,mBAAP,QAAsB,IACjC5F,KAJX,cACQG,EADR,gBAMQ8D,GACH4D,QACAtV,MAAK,SAACyN,GAAoC,IAAD,IACxC4G,EAAY,iBAAC5G,QAAD,IAACA,GAAD,UAACA,EAAMgC,eAAP,aAAC,EAAewF,MAAK,SAACtG,EAAkB4G,GAAnB,OAAyC5G,EAAE6G,WAAaD,EAAEC,YAAc,EAAI,YAAjG,QAAwG,OAErH5I,OAAM,WACLyH,EAAa,OAZnB,cAcEJ,GAAe,GAdjB,kBAeSrG,GAfT,4CApG4D,kEA8H5D,WAA0B6H,GAA1B,SAAA9G,EAAA,+EACSgC,GAAY+E,WAAWD,IADhC,4CA9H4D,kEAkI5D,WAA6B7F,EAAuBC,GAApD,SAAAlB,EAAA,+EACSwC,GAAWwE,cAAc/F,EAAeC,IADjD,4CAlI4D,sBAsI5D,OA9FA+E,EAAcgB,IAAI9T,EAAY+T,QAAS,CAAChU,EAAUiU,WAAYjU,EAAUkU,WAAYlU,EAAUmU,SAC9FpB,EAAcgB,IAAI9T,EAAYmU,oBAAqB,CAACpU,EAAUiU,WAAYjU,EAAUkU,aACpFnB,EAAcgB,IAAI9T,EAAYoU,kBAAmB,CAACrU,EAAUiU,WAAYjU,EAAUkU,aAClFnB,EAAcgB,IAAI9T,EAAYqU,kBAAmB,CAACtU,EAAUiU,WAAYjU,EAAUkU,aAClFnB,EAAcgB,IAAI9T,EAAYsU,cAAe,CAACvU,EAAUiU,WAAYjU,EAAUkU,aAC9EnB,EAAcgB,IAAI9T,EAAYuU,sBAAuB,CAACxU,EAAUiU,WAAYjU,EAAUkU,aACtFnB,EAAcgB,IAAI9T,EAAYwU,qBAAsB,CAACzU,EAAUiU,WAAYjU,EAAUkU,aACrFnB,EAAcgB,IAAI9T,EAAYyU,uBAAwB,CAAC1U,EAAUiU,WAAYjU,EAAUkU,aACvFnB,EAAcgB,IAAI9T,EAAY0U,sBAAuB,CAAC3U,EAAUiU,WAAYjU,EAAUkU,aACtFnB,EAAcgB,IAAI9T,EAAY2U,oBAAqB,CAAC5U,EAAUiU,WAAYjU,EAAUkU,aACpFnB,EAAcgB,IAAI9T,EAAY4U,YAAa,CAAC7U,EAAUiU,WAAYjU,EAAUkU,aAC5EnB,EAAcgB,IAAI9T,EAAY6U,cAAe,CAAC9U,EAAUiU,WAAYjU,EAAUkU,WAAYlU,EAAUmU,SACpGpB,EAAcgB,IAAI9T,EAAY8U,cAAe,CAAC/U,EAAUiU,WAAYjU,EAAUkU,WAAYlU,EAAUmU,SACpGpB,EAAcgB,IAAI9T,EAAY+U,eAAgB,CAAChV,EAAUiU,WAAYjU,EAAUkU,aAC/EnB,EAAcgB,IAAI9T,EAAYgV,uBAAwB,CAACjV,EAAUiU,WAAYjU,EAAUkU,aACvFnB,EAAcgB,IAAI9T,EAAYiV,QAAS,CAAClV,EAAUmU,OAAQnU,EAAUiU,WAAYjU,EAAUkU,aAgFxF,cAACrD,GAAWjK,SAAZ,CACEC,MAAO,CACLsO,OA1DN,WACE,IAAMC,EAAiB7K,GAAaC,mBAEpCD,GAAa8K,eAAe,CAC1B/K,QAAS8K,EACTE,sBAAuBjO,OAAOC,SAASC,SAG9B,OAAX2I,SAAW,IAAXA,OAAaqF,iCAmDTC,wBAhDN,WACE,IAAMC,EAAY,IAAIC,gBAAgBrO,OAAOC,SAASqO,QAEtD,OAAKF,EAAUG,IAAI,YAGVC,OAAOJ,EAAUrM,IAAI,aAFrB,MA6CLoK,UA3IsD,2CA4ItDK,WA5IsD,4CA6ItDC,cA7IsD,8CA8ItD9C,iBACAM,2BACAP,cACA5D,cACA2F,iBACAzB,wBACA4B,YApJsD,8CAqJtD6C,mBArJsD,4CAsJtDC,iBAtJsD,2CAuJtD5E,qBACAC,wBACAH,YACAC,eACAe,aACAI,kBACA2D,cAvCN,SAAuBC,GACrB,QAAIA,GACKlD,EAAc3J,IAAI6M,GAAQC,MAAK,SAACC,GAAD,uBAAkBlE,EAAWH,aAA7B,aAAkB,EAAkBsE,SAASD,OAsCjFhE,cACAI,aAxBJ,SA2BE,cAAC8D,GAAA,EAAD,UAAkB3W,OChLlB4W,G,yGAoBJ,WACE,MAAO,CACLC,YAAa,QACbC,sBAAsB,K,8BAI1B,WACE,MAAO,a,kCAGT,WACE,OAAOzM,KAAK0M,aAAe1M,KAAK2M,iB,qBAGlC,WACE,OAAOzP,I,mBAGT,WACE,OAAOA,I,qBAGT,WACE,OAAOA,I,kBAGT,WACE,OAAOA,I,uBAGT,WACE,OAAOA,I,0BAGT,WACE,OAAOA,I,+BAGT,SAAgC0P,GAC9B,IACMC,GADW,GAAKD,GAAQpO,QAAQ,MAAO,IACvBqO,MAAM,gCAE5B,GAAIA,EAAO,CACT,IAAMC,EAAWD,EAAM,GAAK,MAAQ,GAEpC,MAAM,GAAN,OAAUC,EAAV,YAAsBD,EAAM,GAA5B,aAAmCA,EAAM,GAAzC,YAA+CA,EAAM,IAGvD,OAAOD,I,sCAWT,SAAuCG,EAAgBC,GAErD,GAAe,IAAXD,EACF,OAAOC,EAIT,IAAMC,EAAWD,EAAME,OAAS,EAEhC,MAA+B,MAA3BF,EAAMG,OAAOF,GACT,GAAN,OAAUD,EAAV,KAEM,GAAN,OAAUA,EAAMI,UAAU,EAAGH,GAA7B,S,6BAIJ,WACE,OAAO,I,mBAGT,SAAoBI,GAClB,OAAO,IAAIC,SAAQ,SAACC,GAClBC,WAAWD,EAASF,U,KAtGpBd,GACUkB,WAAa,SAACC,GAE1B,IAAMC,EAAa,IAAIC,OAAO,0JAE9B,QAASF,EAAMb,MAAMc,IALnBpB,GASUsB,UAAY,SAAC/O,EAAagP,EAAoBxQ,EAAahH,EAAeC,GACtF,IAAMwX,EAAMzQ,EAAOyQ,IAAIC,YAAc,EAAI1Q,EAAOyQ,IAAIE,QAAU1X,EAAS,EACjE+S,EAAOhM,EAAOyQ,IAAIG,WAAa,EAAI5Q,EAAOyQ,IAAII,QAAU7X,EAAQ,EAEtEgH,EAAO8Q,KACLtP,EACAgP,EAFF,6HAGwHxX,EAHxH,oBAGyIC,EAHzI,iBAGwJwX,EAHxJ,kBAGqKzE,KAhBnKiD,GA8GU8B,a,uCAAe,WAAOC,GAAP,iBAAAvL,EAAA,6DACrBjE,EAAMwP,EAAIC,cACVC,EAAOC,SAASC,cAAc,MAC/BC,KAAO7P,EACZ0P,EAAKI,aAAa,WAAY,YAC9BH,SAAShM,KAAKoM,YAAYL,GALC,SAMrBjC,GAAMuC,MAAM,KANS,OAO3BN,EAAKO,QACLN,SAAShM,KAAKuM,YAAYR,GARC,2C,sDAYhBjC,UC1HA,OAA0B,oCCA1B,OAA0B,qCCanC0C,I,OAAsB,CAC1B,CACEvG,KAAM,oBACNrK,MAAO,uCACP6Q,QAASC,GACT7Y,MAAO,SAET,CACEoS,KAAM,OACNrK,MAAO,uCACP6Q,QAASE,GACT9Y,MAAO,SAET,CACEoS,KAAM,QACNrK,MAAO,GACP6Q,QAAS,GACT5Y,MAAO,MA0HI+Y,OAtHf,WACE,IAAQ/S,EAAmBN,IAAMsT,WAAWvT,IAApCO,eACR,EAAwDN,IAAMsT,WAAWxI,IAAjEE,EAAR,EAAQA,YAAaC,EAArB,EAAqBA,eAAgB8B,EAArC,EAAqCA,eACrC,EAA4C5M,oBAAS,GAArD,mBAAOoT,EAAP,KAAuBC,EAAvB,KAEMC,EAAkB,SAACC,EAAepM,GACtCoM,EAAEC,iBAEF5G,GAAe,SAAC6G,GACd,OAAO,2BAAKA,GAAZ,IAAkBtM,IAAK,CAAEoF,KAAMpF,EAAIoF,KAAMrK,MAAOiF,EAAIjF,MAAOwD,KAAM,CAAE8G,SAAU,GAAIC,QAAS,UAE5F3B,EAAe3D,GACfkM,GAAkB,GAElB,IAAM1Q,EAAMX,GAAqBmF,EAAIoF,KAAMpF,EAAIjF,OAC/CkO,GAAMsB,UAAU/O,EAAK,GAAIxB,OAAQ,IAAK,MA8BxC,OAlBAuS,qBAAU,WACR,IAAMC,EAAgB,SAACC,GACjBA,EAAMvS,SAAWF,OAAOC,SAASC,QAA8B,cAApBuS,EAAMlO,KAAKpM,OACxDsT,GAAe,SAAC6G,GACd,OAAO,2BACFA,GADL,IAEEtM,IAAK,CAAEoF,KAAMqH,EAAMlO,KAAKyB,IAAKjF,MAAO0R,EAAMlO,KAAKxD,MAAOwD,KAAM,CAAE8G,SAAUoH,EAAMlO,KAAKsC,KAAMyE,QAASmH,EAAMlO,KAAK+G,eAGjHtM,EAAezG,EAAYma,iBAI/B,OADA1S,OAAO2S,iBAAiB,UAAWH,GAC5B,WACLxS,OAAO4S,oBAAoB,UAAWJ,MAEvC,IAGD,sBAAKlb,UAAU,qBAAf,UACG2a,GACC,cAAC1a,EAAD,CACED,UAAU,oBACVQ,QAAQ,cACRF,KAAM,cAAC,GAAD,IACNC,UAAU,OACVI,QAAS,kBAlCfwT,GAAe,SAAC6G,GACd,OAAO,2BAAKA,GAAZ,IAAkBtM,IAAK,CAAEoF,KAAM,GAAIrK,MAAO,GAAIwD,KAAM,CAAE8G,SAAU,GAAIC,QAAS,UAE/E3B,EAAe,WACfuI,GAAkB,IA+BZ,cAAY,kBANd,2CAYAxI,EA+BA,qCACE,+CACA,oBAAGpS,UAAU,cAAb,8DACmD,iCAASoS,EAAY0B,OADxE,qFAEgC1B,EAAY0B,KAF5C,gHAKA,oBAAG9T,UAAU,cAAb,UACE,mBACE,cAAY,mCACZ+Z,KAAK,IACLwB,IAAI,aACJ5a,QAAS,SAACma,GACRD,EAAgBC,EAAG1I,IALvB,wBASK,IAVP,+FAaA,cAAC,EAAD,CAAapS,UAAU,oBAlDzB,qCACE,oDACA,mBAAGA,UAAU,cAAb,0MAIA,qBAAKA,UAAU,oBAAf,SACGqa,GAAQmB,KAAI,SAACC,GAAY,IAAD,EACjBC,EAA0B,UAAhBD,EAAO3H,KACvB,OACE,qBAEE9T,UAAS,qBAAgB0b,EAAU,mBAAqB,IACxD/a,QAAS,SAACma,GACJY,GACFhU,EAAezG,EAAY0a,UAC3BtJ,EAAe,OAEfwI,EAAgBC,EAAGW,IAGvB,iCAAyBA,EAAO3H,KAAhC,UAXF,SAaG4H,EAAU,mCAAGD,EAAO3H,OAAW,qBAAK8H,IAAG,OAAEH,QAAF,IAAEA,OAAF,EAAEA,EAAQnB,QAASuB,MAAO,CAAEna,MAAK,UAAE+Z,EAAO/Z,aAAT,QAAkB,QAAUoa,IAAKL,EAAO3H,QAZ5G2H,EAAO3H,kB,iBC9EvB,SAASiI,GAAMhc,GAA4C,IAAD,wBAEzDic,EAAkC,kBAAxB,OAAOjc,QAAP,IAAOA,OAAP,EAAOA,EAAOqY,OAAd,OAAmCrY,QAAnC,IAAmCA,OAAnC,EAAmCA,EAAOqY,MAA1C,OAAkDrY,QAAlD,IAAkDA,GAAlD,UAAkDA,EAAOqY,aAAzD,aAAkD,EAAc6D,YAEhF,OACE,sBAAKjc,UAAS,+BAAgBD,EAAMC,iBAAtB,QAAmC,IAAjD,WACQ,OAALD,QAAK,IAALA,OAAA,EAAAA,EAAOqY,SACmB,kBAAxB,OAAOrY,QAAP,IAAOA,OAAP,EAAOA,EAAOqY,OACb,sBAAMpY,UAAU,qBAAhB,SACE,uBAAOkc,QAASF,EAAShc,UAAU,WAAnC,UACQ,OAALD,QAAK,IAALA,OAAA,EAAAA,EAAOqY,OAAQrY,EAAMqY,MAAQ,QAGnB,OAACrY,QAAD,IAACA,KAAOqY,MACvB,sBAAMpY,UAAU,qBAAhB,SACE,wBAAOkc,QAASF,EAAShc,UAAU,WAAnC,oBACGD,EAAMqY,aADT,aACG,EAAa6D,YAEd,sBAAMjc,UAAU,oBAAhB,gBAAqCD,QAArC,IAAqCA,GAArC,UAAqCA,EAAOqY,aAA5C,aAAqC,EAAc+D,mBAO3D,uBACExV,GAAIqV,EACJhc,UAAS,6BAAcD,EAAMC,iBAApB,QAAiC,IAC1Coc,YAAW,UAAErc,EAAMqc,mBAAR,QAAuB,SAClCC,SAAU,SAACvB,GAAD,OAAuC/a,EAAMsc,SAAWtc,EAAMsc,SAASvB,EAAEwB,OAAOpU,OAAS,MACnGqU,UAAWxc,EAAMwc,UACjBC,aAAY,UAAEzc,EAAMyc,oBAAR,aAAwBvQ,EACpCwQ,IAAG,UAAE1c,EAAM2c,gBAAR,aAAoBzQ,EACvB0Q,aAAY,UAAE5c,EAAM6c,oBAAR,aAAwB3Q,EACpCpL,KAAI,UAAEd,EAAMc,YAAR,aAAgBoL,EACpB4Q,SAAU9c,EAAM8c,SAChBjc,SAAUb,EAAMa,SAChBsH,MAAK,UAAEnI,EAAMmI,aAAR,aAAiB+D,EACtB6Q,UAAW/c,EAAM+c,UACjBjB,MAAO9b,EAAMmT,aAAe,CAAE6J,OAAQ,qBAAwB,MAE1D,OAALhd,QAAK,IAALA,OAAA,EAAAA,EAAOmT,eACN,sBAAMlT,UAAU,qBAAhB,SACE,uBAAOkc,QAASF,EAAShc,UAAU,WAAnC,0BACGD,QADH,IACGA,OADH,EACGA,EAAOmT,oBADV,QAC0B,UAQ7B,SAAS8J,GAAcjd,GAA4C,IAAD,UACjEic,EAAkC,kBAAxB,OAAOjc,QAAP,IAAOA,OAAP,EAAOA,EAAOqY,OAAd,OAAmCrY,QAAnC,IAAmCA,OAAnC,EAAmCA,EAAOqY,MAA1C,OAAkDrY,QAAlD,IAAkDA,GAAlD,UAAkDA,EAAOqY,aAAzD,aAAkD,EAAc6D,YAEhF,OACE,sBAAKjc,UAAS,mCAAoBD,EAAMC,iBAA1B,QAAuC,IAArD,WACQ,OAALD,QAAK,IAALA,OAAA,EAAAA,EAAOqY,OACN,uBAAO8D,QAASF,EAAShc,UAAU,eAAnC,UACQ,OAALD,QAAK,IAALA,OAAA,EAAAA,EAAOqY,OAAQrY,EAAMqY,MAAQ,KAGhC,6BAGF,sBAAKpY,UAAW,uBAAhB,UACE,uBACE2G,GAAIqV,EACJhc,UAAS,eACToc,YAAW,UAAErc,EAAMqc,mBAAR,QAAuB,SAClCC,SAAU,SAACvB,GAAD,OAAuC/a,EAAMsc,SAAWtc,EAAMsc,SAASvB,EAAEwB,OAAOpU,OAAS,MACnGqU,UAAWxc,EAAMwc,UACjBC,aAAY,UAAEzc,EAAMyc,oBAAR,aAAwBvQ,EACpC4Q,SAAU9c,EAAM8c,SAChB3U,MAAK,UAAEnI,EAAMmI,aAAR,aAAiB+D,EACtB6Q,UAAW/c,EAAM+c,YAElB/c,EAAMO,MAAQ,cAAC,GAAD,U,+DC5FR,SAAS2c,GAAT,GAAuG,IAA/Ejd,EAA8E,EAA9EA,UAAWkd,EAAmE,EAAnEA,WAAeC,EAAoD,mBACnH,OAAO,cAAC,KAAD,aAAiBnd,UAAS,iBAAKA,QAAL,IAAKA,IAAa,GAAlB,YAAwBkd,EAAa,2BAA6B,KAAUC,IAG/GF,GAAaG,aAAe,CAC1BC,gBAAgB,EAChBC,UAAW,cAAC,GAAD,KC+FEC,OApGf,SAA0Bxd,GAAmD,IAAD,EAClE6H,EAAgBR,IAAMsT,WAAWvT,IAAjCS,YACR,EAAwCR,IAAMsT,WAAWxI,IAAjDiC,EAAR,EAAQA,eAAgB3F,EAAxB,EAAwBA,YAClBgP,EAAUC,mBAChB,EAAwBlW,mBAAiBiH,EAAYC,UAAY,IAAjE,mBAAOqF,EAAP,KAAa4J,EAAb,KACA,EAAgCnW,mBAAQ,UACtCxH,EAAM4d,oBAAoBC,MAAK,SAACC,GAAD,OAASA,EAAIlX,KAAO6H,EAAYK,0BADzB,QAC6C9O,EAAM4d,oBAAoB,IAD/G,mBAAOG,EAAP,KAAiBC,EAAjB,KA0BA,OANA9C,qBAAU,WACJuC,EAAQQ,SACVR,EAAQQ,QAAQC,UAEjB,IAGD,qCACE,kEACA,uBAAMC,SAAU,SAACpD,GAAD,OAAOA,EAAEC,kBAAzB,UACE,sBAAK/a,UAAU,WAAf,UACE,cAAC,GAAD,CACE0c,SAAUc,EACVpF,MAAM,YACNlQ,MAAO4L,EACPuI,SAAU,SAACwB,GAAD,OAAiBH,EAAQG,IACnCzB,YAAY,kBACZpc,UAAU,aACV4c,aAAa,OACb,cAAY,yBAEd,+BACE,cAAC,GAAD,CACExE,MAAM,gBACNoE,aAAchO,EAAYsK,OAAS,GACnCsD,YAAY,mBACZpc,UAAU,aACV4c,aAAa,QACb,cAAY,wBACZhc,UAAQ,SAId,uBACA,qBAAKZ,UAAU,WAAf,SACE,gCACE,uBAAOkc,QAAQ,uBAAf,8BACA,cAAC,GAAD,CACEvV,GAAG,uBACH,cAAY,uBACZ4G,QAASxN,EAAM4d,oBACf3d,UAAU,aACVkI,MAAO4V,EACPzB,SAAU,SAAClB,EAAOjT,GAChB6V,EAAY7V,IAEdiW,kBAAgB,EAChBC,YAAa,SAAC5Q,GAAD,OACX,cAAC6Q,GAAA,EAAD,2BACM7Q,GADN,IAEE8Q,WAAU,2BACL9Q,EAAO8Q,YADF,IAERC,kBAAkB,QAIxBC,qBAAsB,SAAC/C,EAAQvT,GAAT,OAAmBuT,EAAO9U,KAAOuB,EAAMvB,WAInE,sBAAK3G,UAAU,aAAf,UACE,cAACC,EAAD,CAAQ,cAAY,gCAAgCW,UAAWkT,EAAMnT,QAAS,kBA5EpFwT,GAAe,SAAC6G,GACd,OAAO,2BACFA,GADL,IAEEvM,SAAUqF,EACVjF,gBAAiBiP,EAASnX,GAC1BmI,QAAQ,2BAAMkM,EAAKlM,SAAZ,IAAqBmF,oBAAqB6J,EAASnX,eAG9DiB,EAAY1G,EAASud,OAoEf,0BAGC1e,EAAM2e,YACL,cAACze,EAAD,CAAQ,cAAY,kCAAkCO,QAAQ,YAAYG,QAAS,WApE3FiH,EAAY1G,EAASud,OAoEb,8BCXGE,OA/Ef,SAA0B5e,GAAmD,IAAD,IACpEiS,EAAU4M,cAChB,EAAgExX,IAAMsT,WAAWvT,IAAzEO,EAAR,EAAQA,eAAgBE,EAAxB,EAAwBA,YAAaG,EAArC,EAAqCA,UAAWF,EAAhD,EAAgDA,YACxC2G,EAAgBpH,IAAMsT,WAAWxI,IAAjC1D,YACR,EAAgCjH,oBAAkB,GAAlD,mBAAOsX,EAAP,KAAkBC,EAAlB,KAEMC,EAAY,uCAAG,4BAAA5Q,EAAA,0DAEfpG,EAFe,uBAGjB+W,GAAW,GACLjR,EAAO,CACXY,SAAUD,EAAYC,SACtBI,gBAAiBL,EAAYK,gBAC7BD,SAAUJ,EAAYI,UAPP,SASX2B,GAAmByO,SAASnX,EAAagG,GAAMrO,MAAK,WACxDwS,EAAQiN,KAAK,QAVE,OAYjBH,GAAW,GAZM,uBAgBjBpX,EAAezG,EAAYie,aAC3BtX,EAAY1G,EAASyC,MAjBJ,4CAAH,qDAyBlB,OACE,qCACE,+CAEA,mBAAG3D,UAAU,SAAb,8EAEA,uBAEA,sBAAKA,UAAU,iBAAf,UACE,sBAAKA,UAAU,WAAf,UACE,sBAAKA,UAAU,WAAf,UACE,qBAAKA,UAAU,kBAAf,uBACA,qBAAKA,UAAU,QAAQ,cAAY,2BAAnC,SACGwO,EAAYC,cAIjB,sBAAKzO,UAAU,WAAf,UACE,qBAAKA,UAAU,kBAAf,2BACA,qBAAKA,UAAU,QAAQ,cAAY,4BAAnC,SACGwO,EAAYsK,cAKnB,qBAAK9Y,UAAU,WAAf,SACE,sBAAKA,UAAU,WAAf,UACE,qBAAKA,UAAU,kBAAf,8BACA,qBAAKA,UAAU,QAAQ,cAAY,+BAAnC,6BACGD,EAAM4d,oBAAoBC,MAAK,SAACC,GAAD,OAAwCA,EAAIlX,KAAO6H,EAAYK,0BADjG,aACG,EAAgHuJ,aADnH,QAC4H,aAMlI,sBAAKpY,UAAU,aAAf,UACE,cAACC,EAAD,CAAQ,cAAY,+BAA+BU,QAASoe,EAAcre,QAASme,EAAnF,0BAIA,cAAC5e,EAAD,CAAQ,cAAY,yBAAyBK,KAAM,cAAC,GAAD,IAAUE,QAAQ,YAAYG,QA5CpE,WACjBiH,EAAY1G,EAASyC,MACrB5D,EAAMof,eAAc,IA0CsF5e,UAAU,QAAQG,QAASme,EAAjI,4CC3EFO,I,OAA4C,CAChDC,IAAK,oDACLC,IAAK,sDACLC,IAAK,0DACLC,IAAK,4DACLC,IAAK,mDACLC,IAAK,sEAwCQC,OArCf,WACE,IAAQhY,EAAaP,IAAMsT,WAAWvT,IAA9BQ,SACR,EAAsDJ,mBAA0C,IAAhG,mBAAOoW,EAAP,KAA4BiC,EAA5B,KACA,EAAoCrY,oBAAkB,GAAtD,mBAAOmX,EAAP,KAAmBS,EAAnB,KAsBA,OApBAlE,qBAAU,YACR,uCAAC,sBAAA9M,EAAA,kEACCyR,EADD,SAEUxP,GAAkBE,gBAF5B,mBAGM7C,QAAO,SAACqQ,GACP,OAAQsB,GAAetB,EAAS+B,cAEjCrE,KAAI,SAACsC,GACJ,MAAO,CACLnX,GAAImX,EAAS+B,UACbzH,MAAM,GAAD,OAAK0F,EAASgC,cAAd,OAA6BhC,EAASiC,OAAT,YAAuBjC,EAASiC,OAAhC,KAA4C,QAGjFtL,MAAK,SAACuL,EAAMC,GACX,OAAOD,EAAK5H,MAAM8H,cAAcD,EAAK7H,WAb5C,yDAAD,yDAiBC,IAGD,qBAAKpY,UAAU,wBAAf,SACG2d,EAAoBrF,OACnB,qCACG3Q,IAAazG,EAASyC,MAAQ,cAAC,GAAD,CAAMga,oBAAqBA,EAAqBe,WAAYA,IAC1F/W,IAAazG,EAASud,MAAQ,cAAC,GAAD,CAAMd,oBAAqBA,EAAqBwB,cAAeA,OAE9F,gCClDGgB,GAAY,CACvB,CAAC/H,MAAO,cAAezR,GAAI,MAC3B,CAACyR,MAAO,mBAAiBzR,GAAI,MAC7B,CAACyR,MAAO,UAAWzR,GAAI,MACvB,CAACyR,MAAO,UAAWzR,GAAI,MACvB,CAACyR,MAAO,iBAAkBzR,GAAI,MAC9B,CAACyR,MAAO,UAAWzR,GAAI,MACvB,CAACyR,MAAO,SAAUzR,GAAI,MACtB,CAACyR,MAAO,WAAYzR,GAAI,MACxB,CAACyR,MAAO,aAAczR,GAAI,MAC1B,CAACyR,MAAO,sBAAuBzR,GAAI,MACnC,CAACyR,MAAO,YAAazR,GAAI,MACzB,CAACyR,MAAO,UAAWzR,GAAI,MACvB,CAACyR,MAAO,QAASzR,GAAI,MACrB,CAACyR,MAAO,YAAazR,GAAI,MACzB,CAACyR,MAAO,UAAWzR,GAAI,MACvB,CAACyR,MAAO,aAAczR,GAAI,MAC1B,CAACyR,MAAO,UAAWzR,GAAI,MACvB,CAACyR,MAAO,UAAWzR,GAAI,MACvB,CAACyR,MAAO,aAAczR,GAAI,MAC1B,CAACyR,MAAO,WAAYzR,GAAI,MACxB,CAACyR,MAAO,UAAWzR,GAAI,MACvB,CAACyR,MAAO,UAAWzR,GAAI,MACvB,CAACyR,MAAO,SAAUzR,GAAI,MACtB,CAACyR,MAAO,QAASzR,GAAI,MACrB,CAACyR,MAAO,UAAWzR,GAAI,MACvB,CAACyR,MAAO,SAAUzR,GAAI,MACtB,CAACyR,MAAO,UAAWzR,GAAI,MACvB,CAACyR,MAAO,yBAA0BzR,GAAI,MACtC,CAACyR,MAAO,WAAYzR,GAAI,MACxB,CAACyR,MAAO,gBAAiBzR,GAAI,MAC7B,CAACyR,MAAO,SAAUzR,GAAI,MACtB,CAACyR,MAAO,iCAAkCzR,GAAI,MAC9C,CAACyR,MAAO,oBAAqBzR,GAAI,MACjC,CAACyR,MAAO,WAAYzR,GAAI,MACxB,CAACyR,MAAO,eAAgBzR,GAAI,MAC5B,CAACyR,MAAO,UAAWzR,GAAI,MACvB,CAACyR,MAAO,WAAYzR,GAAI,MACxB,CAACyR,MAAO,WAAYzR,GAAI,MACxB,CAACyR,MAAO,SAAUzR,GAAI,MACtB,CAACyR,MAAO,aAAczR,GAAI,MAC1B,CAACyR,MAAO,iBAAkBzR,GAAI,MAC9B,CAACyR,MAAO,2BAA4BzR,GAAI,MACxC,CAACyR,MAAO,OAAQzR,GAAI,MACpB,CAACyR,MAAO,QAASzR,GAAI,MACrB,CAACyR,MAAO,QAASzR,GAAI,MACrB,CAACyR,MAAO,mBAAoBzR,GAAI,MAChC,CAACyR,MAAO,0BAA2BzR,GAAI,MACvC,CAACyR,MAAO,WAAYzR,GAAI,MACxB,CAACyR,MAAO,UAAWzR,GAAI,MACvB,CAACyR,MAAO,QAASzR,GAAI,MACrB,CAACyR,MAAO,wCAAyCzR,GAAI,MACrD,CAACyR,MAAO,eAAgBzR,GAAI,MAC5B,CAACyR,MAAO,aAAczR,GAAI,MAC1B,CAACyR,MAAO,gBAAiBzR,GAAI,MAC7B,CAACyR,MAAO,UAAWzR,GAAI,MACvB,CAACyR,MAAO,OAAQzR,GAAI,MACpB,CAACyR,MAAO,SAAUzR,GAAI,MACtB,CAACyR,MAAO,iBAAkBzR,GAAI,MAC9B,CAACyR,MAAO,UAAWzR,GAAI,MACvB,CAACyR,MAAO,WAAYzR,GAAI,MACxB,CAACyR,MAAO,WAAYzR,GAAI,MACxB,CAACyR,MAAO,qBAAsBzR,GAAI,MAClC,CAACyR,MAAO,UAAWzR,GAAI,MACvB,CAACyR,MAAO,QAASzR,GAAI,MACrB,CAACyR,MAAO,cAAezR,GAAI,MAC3B,CAACyR,MAAO,oBAAqBzR,GAAI,MACjC,CAACyR,MAAO,UAAWzR,GAAI,MACvB,CAACyR,MAAO,UAAWzR,GAAI,MACvB,CAACyR,MAAO,WAAYzR,GAAI,MACxB,CAACyR,MAAO,8BAA+BzR,GAAI,MAC3C,CAACyR,MAAO,gBAAiBzR,GAAI,MAC7B,CAACyR,MAAO,OAAQzR,GAAI,MACpB,CAACyR,MAAO,UAAWzR,GAAI,MACvB,CAACyR,MAAO,SAAUzR,GAAI,MACtB,CAACyR,MAAO,gBAAiBzR,GAAI,MAC7B,CAACyR,MAAO,mBAAoBzR,GAAI,MAChC,CAACyR,MAAO,8BAA+BzR,GAAI,MAC3C,CAACyR,MAAO,QAASzR,GAAI,MACrB,CAACyR,MAAO,SAAUzR,GAAI,MACtB,CAACyR,MAAO,UAAWzR,GAAI,MACvB,CAACyR,MAAO,UAAWzR,GAAI,MACvB,CAACyR,MAAO,QAASzR,GAAI,MACrB,CAACyR,MAAO,YAAazR,GAAI,MACzB,CAACyR,MAAO,SAAUzR,GAAI,MACtB,CAACyR,MAAO,YAAazR,GAAI,MACzB,CAACyR,MAAO,UAAWzR,GAAI,MACvB,CAACyR,MAAO,aAAczR,GAAI,MAC1B,CAACyR,MAAO,OAAQzR,GAAI,MACpB,CAACyR,MAAO,YAAazR,GAAI,MACzB,CAACyR,MAAO,WAAYzR,GAAI,MACxB,CAACyR,MAAO,SAAUzR,GAAI,MACtB,CAACyR,MAAO,gBAAiBzR,GAAI,MAC7B,CAACyR,MAAO,SAAUzR,GAAI,MACtB,CAACyR,MAAO,QAASzR,GAAI,MACrB,CAACyR,MAAO,oCAAqCzR,GAAI,MACjD,CAACyR,MAAO,gCAAiCzR,GAAI,MAC7C,CAACyR,MAAO,WAAYzR,GAAI,MACxB,CAACyR,MAAO,YAAazR,GAAI,MACzB,CAACyR,MAAO,UAAWzR,GAAI,MACvB,CAACyR,MAAO,UAAWzR,GAAI,MACvB,CAACyR,MAAO,QAASzR,GAAI,MACrB,CAACyR,MAAO,YAAazR,GAAI,MACzB,CAACyR,MAAO,4BAA6BzR,GAAI,MACzC,CAACyR,MAAO,OAAQzR,GAAI,MACpB,CAACyR,MAAO,UAAWzR,GAAI,MACvB,CAACyR,MAAO,cAAezR,GAAI,MAC3B,CAACyR,MAAO,SAAUzR,GAAI,MACtB,CAACyR,MAAO,QAASzR,GAAI,MACrB,CAACyR,MAAO,UAAWzR,GAAI,MACvB,CAACyR,MAAO,QAASzR,GAAI,MACrB,CAACyR,MAAO,SAAUzR,GAAI,MACtB,CAACyR,MAAO,SAAUzR,GAAI,MACtB,CAACyR,MAAO,aAAczR,GAAI,MAC1B,CAACyR,MAAO,QAASzR,GAAI,MACrB,CAACyR,MAAO,WAAYzR,GAAI,MACxB,CAACyR,MAAO,yCAA0CzR,GAAI,MACtD,CAACyR,MAAO,qBAAsBzR,GAAI,MAClC,CAACyR,MAAO,SAAUzR,GAAI,MACtB,CAACyR,MAAO,aAAczR,GAAI,MAC1B,CAACyR,MAAO,mCAAoCzR,GAAI,MAChD,CAACyR,MAAO,SAAUzR,GAAI,MACtB,CAACyR,MAAO,UAAWzR,GAAI,MACvB,CAACyR,MAAO,UAAWzR,GAAI,MACvB,CAACyR,MAAO,UAAWzR,GAAI,MACvB,CAACyR,MAAO,yBAA0BzR,GAAI,MACtC,CAACyR,MAAO,gBAAiBzR,GAAI,MAC7B,CAACyR,MAAO,YAAazR,GAAI,MACzB,CAACyR,MAAO,aAAczR,GAAI,MAC1B,CAACyR,MAAO,QAASzR,GAAI,MACrB,CAACyR,MAAO,6CAA8CzR,GAAI,MAC1D,CAACyR,MAAO,aAAczR,GAAI,MAC1B,CAACyR,MAAO,SAAUzR,GAAI,MACtB,CAACyR,MAAO,WAAYzR,GAAI,MACxB,CAACyR,MAAO,WAAYzR,GAAI,MACxB,CAACyR,MAAO,OAAQzR,GAAI,MACpB,CAACyR,MAAO,QAASzR,GAAI,MACrB,CAACyR,MAAO,mBAAoBzR,GAAI,MAChC,CAACyR,MAAO,aAAczR,GAAI,MAC1B,CAACyR,MAAO,aAAczR,GAAI,MAC1B,CAACyR,MAAO,YAAazR,GAAI,MACzB,CAACyR,MAAO,UAAWzR,GAAI,MACvB,CAACyR,MAAO,SAAUzR,GAAI,MACtB,CAACyR,MAAO,kCAAmCzR,GAAI,MAC/C,CAACyR,MAAO,uBAAwBzR,GAAI,MACpC,CAACyR,MAAO,SAAUzR,GAAI,MACtB,CAACyR,MAAO,WAAYzR,GAAI,MACxB,CAACyR,MAAO,aAAczR,GAAI,MAC1B,CAACyR,MAAO,UAAWzR,GAAI,MACvB,CAACyR,MAAO,aAAczR,GAAI,MAC1B,CAACyR,MAAO,UAAWzR,GAAI,MACvB,CAACyR,MAAO,UAAWzR,GAAI,MACvB,CAACyR,MAAO,QAASzR,GAAI,MACrB,CAACyR,MAAO,QAASzR,GAAI,MACrB,CAACyR,MAAO,cAAezR,GAAI,MAC3B,CAACyR,MAAO,uBAAwBzR,GAAI,MACpC,CAACyR,MAAO,gBAAiBzR,GAAI,MAC7B,CAACyR,MAAO,cAAezR,GAAI,MAC3B,CAACyR,MAAO,YAAazR,GAAI,MACzB,CAACyR,MAAO,QAASzR,GAAI,MACrB,CAACyR,MAAO,UAAWzR,GAAI,MACvB,CAACyR,MAAO,OAAQzR,GAAI,MACpB,CAACyR,MAAO,iBAAkBzR,GAAI,MAC9B,CAACyR,MAAO,2BAA4BzR,GAAI,MACxC,CAACyR,MAAO,SAAUzR,GAAI,MACtB,CAACyR,MAAO,OAAQzR,GAAI,MACpB,CAACyR,MAAO,WAAYzR,GAAI,MACxB,CAACyR,MAAO,QAASzR,GAAI,MACrB,CAACyR,MAAO,kCAAmCzR,GAAI,MAC/C,CAACyR,MAAO,SAAUzR,GAAI,MACtB,CAACyR,MAAO,mBAAoBzR,GAAI,MAChC,CAACyR,MAAO,WAAYzR,GAAI,MACxB,CAACyR,MAAO,OAAQzR,GAAI,MACpB,CAACyR,MAAO,cAAezR,GAAI,MAC3B,CAACyR,MAAO,WAAYzR,GAAI,MACxB,CAACyR,MAAO,SAAUzR,GAAI,MACtB,CAACyR,MAAO,WAAYzR,GAAI,MACxB,CAACyR,MAAO,cAAezR,GAAI,MAC3B,CAACyR,MAAO,QAASzR,GAAI,MACrB,CAACyR,MAAO,UAAWzR,GAAI,MACvB,CAACyR,MAAO,UAAWzR,GAAI,MACvB,CAACyR,MAAO,qBAAsBzR,GAAI,MAClC,CAACyR,MAAO,SAAUzR,GAAI,MACtB,CAACyR,MAAO,eAAgBzR,GAAI,MAC5B,CAACyR,MAAO,wBAAyBzR,GAAI,MACrC,CAACyR,MAAO,cAAezR,GAAI,MAC3B,CAACyR,MAAO,4BAA6BzR,GAAI,MACzC,CAACyR,MAAO,mCAAoCzR,GAAI,MAChD,CAACyR,MAAO,QAASzR,GAAI,MACrB,CAACyR,MAAO,aAAczR,GAAI,MAC1B,CAACyR,MAAO,wBAAyBzR,GAAI,MACrC,CAACyR,MAAO,eAAgBzR,GAAI,MAC5B,CAACyR,MAAO,UAAWzR,GAAI,MACvB,CAACyR,MAAO,wBAAyBzR,GAAI,MACrC,CAACyR,MAAO,aAAczR,GAAI,MAC1B,CAACyR,MAAO,eAAgBzR,GAAI,MAC5B,CAACyR,MAAO,YAAazR,GAAI,MACzB,CAACyR,MAAO,WAAYzR,GAAI,MACxB,CAACyR,MAAO,WAAYzR,GAAI,MACxB,CAACyR,MAAO,kBAAmBzR,GAAI,MAC/B,CAACyR,MAAO,UAAWzR,GAAI,MACvB,CAACyR,MAAO,eAAgBzR,GAAI,MAC5B,CAACyR,MAAO,+CAAgDzR,GAAI,MAC5D,CAACyR,MAAO,QAASzR,GAAI,MACrB,CAACyR,MAAO,YAAazR,GAAI,MACzB,CAACyR,MAAO,QAASzR,GAAI,MACrB,CAACyR,MAAO,WAAYzR,GAAI,MACxB,CAACyR,MAAO,yBAA0BzR,GAAI,MACtC,CAACyR,MAAO,YAAazR,GAAI,MACzB,CAACyR,MAAO,SAAUzR,GAAI,MACtB,CAACyR,MAAO,cAAezR,GAAI,MAC3B,CAACyR,MAAO,uBAAwBzR,GAAI,MACpC,CAACyR,MAAO,4BAA6BzR,GAAI,MACzC,CAACyR,MAAO,aAAczR,GAAI,MAC1B,CAACyR,MAAO,+BAAgCzR,GAAI,MAC5C,CAACyR,MAAO,WAAYzR,GAAI,MACxB,CAACyR,MAAO,cAAezR,GAAI,MAC3B,CAACyR,MAAO,OAAQzR,GAAI,MACpB,CAACyR,MAAO,UAAWzR,GAAI,MACvB,CAACyR,MAAO,QAASzR,GAAI,MACrB,CAACyR,MAAO,sBAAuBzR,GAAI,MACnC,CAACyR,MAAO,UAAWzR,GAAI,MACvB,CAACyR,MAAO,SAAUzR,GAAI,MACtB,CAACyR,MAAO,eAAgBzR,GAAI,MAC5B,CAACyR,MAAO,2BAA4BzR,GAAI,MACxC,CAACyR,MAAO,SAAUzR,GAAI,MACtB,CAACyR,MAAO,SAAUzR,GAAI,MACtB,CAACyR,MAAO,UAAWzR,GAAI,MACvB,CAACyR,MAAO,uBAAwBzR,GAAI,MACpC,CAACyR,MAAO,iBAAkBzR,GAAI,MAC9B,CAACyR,MAAO,gBAAiBzR,GAAI,MAC7B,CAACyR,MAAO,uCAAwCzR,GAAI,MACpD,CAACyR,MAAO,UAAWzR,GAAI,MACvB,CAACyR,MAAO,aAAczR,GAAI,MAC1B,CAACyR,MAAO,UAAWzR,GAAI,MACvB,CAACyR,MAAO,YAAazR,GAAI,MACzB,CAACyR,MAAO,UAAWzR,GAAI,MACvB,CAACyR,MAAO,0BAA2BzR,GAAI,MACvC,CAACyR,MAAO,uBAAwBzR,GAAI,MACpC,CAACyR,MAAO,oBAAqBzR,GAAI,MACjC,CAACyR,MAAO,iBAAkBzR,GAAI,MAC9B,CAACyR,MAAO,QAASzR,GAAI,MACrB,CAACyR,MAAO,SAAUzR,GAAI,MACtB,CAACyR,MAAO,WAAYzR,GAAI,OCgBXyZ,OApPf,SAAyBrgB,GAAkD,IAAD,gBACxE,EAAwCqH,IAAMsT,WAAWvT,IAAjDO,EAAR,EAAQA,eAAgBE,EAAxB,EAAwBA,YACxB,EAAwCR,IAAMsT,WAAWxI,IAAjDiC,EAAR,EAAQA,eAAgB3F,EAAxB,EAAwBA,YACxB,EAAsBjH,mBAAmB4Y,GAAU3E,KAAI,SAACtH,GAAD,OAAaA,EAAQkE,UAArEiI,EAAP,oBACMC,EAAiB7C,mBAEvB,EAA8BlW,mBAAgC,CAC5DgZ,YAAa/R,EAAYM,QAAQyR,aAAe,GAChDC,YAAahS,EAAYM,QAAQ0R,aAAe,GAChDC,UAAWjS,EAAYM,QAAQ2R,WAAa,GAC5CC,SAAUlS,EAAYM,QAAQ4R,UAAY,GAC1CC,SAAUnS,EAAYM,QAAQ6R,UAAY,GAC1CC,WAAYpS,EAAYM,QAAQ8R,YAAc,GAC9CC,KAAMrS,EAAYM,QAAQ+R,MAAQ,GAClCC,YAAatS,EAAYM,QAAQgS,aAAe,GAChD5M,QAAS1F,EAAYM,QAAQoF,SAAW,KAT1C,mBAAOpF,EAAP,KAAgBiS,EAAhB,KAiDA,OArCA9F,qBAAU,WACJqF,EAAetC,SACjBsC,EAAetC,QAAQC,UAExB,IAkCD,qCACE,cAAChe,EAAD,CACED,UAAU,oBACVQ,QAAQ,cACRF,KAAM,cAAC,GAAD,IACNC,UAAU,OACVI,QAZa,WACjBiH,EAAY1G,EAASud,MACrB/W,EAAezG,EAAY0e,eAWvB,cAAY,iCANd,gCAUA,mEAEA,uBAAMzB,SAAU,SAACpD,GAAD,OAAOA,EAAEC,kBAAkB/a,UAAU,iBAAiB2G,GAAG,sBAAzE,UACE,sBAAK3G,UAAU,WAAf,UACE,cAAC,GAAD,CACEoY,MAAO,eACPlQ,MAAK,UAAE4G,EAAQyR,mBAAV,aAAyBtU,EAC9BoQ,SAAU,SAACnU,GAAD,OACR6Y,GAAW,SAAC/F,GACV,OAAO,2BAAKA,GAAZ,IAAkBuF,YAAarY,QAGnClI,UAAU,+BACVoc,YAAY,cACZ,cAAY,sBACZM,SAAU4D,EACVxD,UAAW,IACXD,UAAQ,IAEV,cAAC,GAAD,CACEzE,MAAO,uBACPlQ,MAAK,UAAE4G,EAAQ0R,mBAAV,aAAyBvU,EAC9BoQ,SAAU,SAACnU,GAAD,OACR6Y,GAAW,SAAC/F,GACV,OAAO,2BAAKA,GAAZ,IAAkBwF,YAAatY,QAGnCkU,YAAY,kBACZpc,UAAU,yBACV4c,aAAa,MACb,cAAY,uBACZ/b,KAAK,MACLic,UAAW,GACXD,UAAQ,IAEV,cAAC,GAAD,CACEzE,MAAO,CAAE6D,YAAa,eAAgBE,UAAW,cACjDjU,MAAK,UAAE4G,EAAQ2R,iBAAV,aAAuBxU,EAC5BoQ,SAAU,SAACnU,GAAD,OACR6Y,GAAW,SAAC/F,GACV,OAAO,2BAAKA,GAAZ,IAAkByF,UAAWvY,QAGjCkU,YAAY,kBACZpc,UAAU,uBACV4c,aAAa,MACb,cAAY,qBACZ/b,KAAK,MACLic,UAAW,QAIf,uBAEA,sBAAK9c,UAAU,WAAf,UACE,cAAC,GAAD,CACEoY,MAAO,yBACPlQ,MAAK,UAAE4G,EAAQ4R,gBAAV,aAAsBzU,EAC3BoQ,SAAU,SAACnU,GAAD,OACR6Y,GAAW,SAAC/F,GACV,OAAO,2BAAKA,GAAZ,IAAkB0F,SAAUxY,QAGhCkU,YAAY,kBACZpc,UAAU,0BACV4c,aAAa,iBACb,cAAY,8BACZE,UAAW,GACXD,UAAQ,IAEV,cAAC,GAAD,CACEzE,MAAO,CAAE6D,YAAa,iBAAkBE,UAAW,cACnDjU,MAAK,UAAE4G,EAAQ6R,gBAAV,aAAsB1U,EAC3BoQ,SAAU,SAACnU,GAAD,OACR6Y,GAAW,SAAC/F,GACV,OAAO,2BAAKA,GAAZ,IAAkB2F,SAAUzY,QAGhCkU,YAAY,YACZpc,UAAU,wBACV,cAAY,8BACZ8c,UAAW,QAGf,sBAAK9c,UAAU,WAAf,UACE,cAAC,GAAD,CACEoY,MAAO,cACPlQ,MAAK,UAAE4G,EAAQ8R,kBAAV,aAAwB3U,EAC7BoQ,SAAU,SAACnU,GAAD,OACR6Y,GAAW,SAAC/F,GACV,OAAO,2BAAKA,GAAZ,IAAkB4F,WAAY1Y,QAGlCkU,YAAY,QACZpc,UAAW,2BACX4c,aAAa,cACb,cAAY,4BACZE,UAAW,GACXD,UAAQ,IAEV,cAAC,GAAD,CACEzE,MAAO,OACPlQ,MAAK,UAAE4G,EAAQ+R,YAAV,aAAkB5U,EACvBoQ,SAAU,SAACnU,GAAD,OACR6Y,GAAW,SAAC/F,GACV,OAAO,2BAAKA,GAAZ,IAAkB6F,KAAM3Y,QAG5BkU,YAAY,gBACZpc,UAAW,wBACX4c,aAAa,iBACb,cAAY,sBACZE,UAAW,IACXD,UAAQ,IAEV,cAAC,GAAD,CACEzE,MAAO,eACPlQ,MAAK,UAAE4G,EAAQgS,mBAAV,aAAyB7U,EAC9BoQ,SAAU,SAACnU,GAAD,OACR6Y,GAAW,SAAC/F,GACV,OAAO,2BAAKA,GAAZ,IAAkB8F,YAAa5Y,QAGnCkU,YAAY,KACZpc,UAAW,yBACX4c,aAAa,iBACb,cAAY,uBACZE,UAAW,GACXD,UAAQ,OAGZ,qBAAK7c,UAAU,WAAf,SACE,gCACE,uBAAOkc,QAAQ,sBAAf,qBACA,cAAC,GAAD,CACEvV,GAAG,sBACH,cAAY,yBACZ4G,QAAS8S,EACTrgB,UAAU,2BACVqc,SAAU,SAAC2E,EAAQ9Y,GACjB6Y,GAAW,SAAC/F,GACV,OAAO,2BAAKA,GAAZ,IAAkB9G,QAAShM,QAG/BA,MAAO4G,EAAQoF,QACfiK,kBAAgB,EAChBC,YAAa,SAAC5Q,GAAD,OACX,cAAC6Q,GAAA,EAAD,2BACM7Q,GADN,IAEE8Q,WAAU,2BACL9Q,EAAO8Q,YADF,IAERC,kBAAkB,EAClB5B,aAAc,gBAIpB6B,qBAAsB,SAAC/C,EAAgBvT,GAAjB,OAAmCuT,IAAWvT,UAK1E,sBAAKlI,UAAU,aAAf,UACE,cAACC,EAAD,CAAQ,cAAY,4BAA4BW,WA3MpDkO,EAAQyR,aACRzR,EAAQ0R,aACR1R,EAAQ4R,UACR5R,EAAQ+R,MACR/R,EAAQgS,aACRhS,EAAQ8R,YACR9R,EAAQoF,SAqMqEvT,QAAS,kBAhMxFwT,GAAe,SAAC6G,GACd,OAAO,2BACFA,GADL,IAEElM,QAASA,YAGblH,EAAY1G,EAASud,OA0Lf,0BAIC1e,EAAM2e,YACL,cAACze,EAAD,CAAQO,QAAS,YAAa,cAAY,8BAA8BG,QAAS,WA3LzFiH,EAAY1G,EAASud,OA2Lb,8BCvIGwC,OAvGf,SAAyBlhB,GAAkD,IAAD,gBACxE,EAAwCqH,IAAMsT,WAAWvT,IAAjDO,EAAR,EAAQA,eAAgBE,EAAxB,EAAwBA,YAChB4G,EAAgBpH,IAAMsT,WAAWxI,IAAjC1D,YAOF0S,EAAa,WACjBtZ,EAAY1G,EAASyC,MACrB5D,EAAMof,eAAc,IAGtB,OACE,qCACE,cAAClf,EAAD,CACED,UAAU,oBACVQ,QAAQ,cACRF,KAAM,cAAC,GAAD,IACNC,UAAU,OACVI,QAASugB,EACT,cAAY,gCANd,+BAUA,8CACA,mBAAGlhB,UAAU,cAAb,mEAEA,sBAAKA,UAAU,iBAAf,UACE,sBAAKA,UAAU,WAAf,UACE,qBAAKA,UAAU,WAAf,SACE,sBAAMA,UAAU,OAAhB,SACE,cAAC,GAAD,QAIJ,sBAAKA,UAAU,WAAf,UACE,qBAAKA,UAAU,kBAAf,0BACA,qBAAKA,UAAU,QAAQ,cAAY,iCAAnC,gBACGwO,QADH,IACGA,GADH,UACGA,EAAaM,eADhB,aACG,EAAsByR,iBAI3B,sBAAKvgB,UAAU,WAAf,UACE,qBAAKA,UAAU,kBAAf,kCACA,qBAAKA,UAAU,QAAQ,cAAY,2BAAnC,UACc,OAAXwO,QAAW,IAAXA,GAAA,UAAAA,EAAaM,eAAb,eAAsB0R,aAAc7I,GAAMwJ,kBAAkB3S,EAAYM,QAAQ0R,aAAe,WAKtG,sBAAKxgB,UAAU,WAAf,UACE,qBAAKA,UAAU,aAEf,sBAAKA,UAAU,WAAf,UACE,qBAAKA,UAAU,kBAAf,6BAEA,gCACE,qBAAKA,UAAU,QAAQ,cAAY,kCAAnC,SACGwO,EAAYM,QAAQ4R,WAEvB,qBAAK1gB,UAAU,QAAQ,cAAY,kCAAnC,SACGwO,EAAYM,QAAQ6R,WAEvB,sBAAK3gB,UAAU,QAAQ,cAAY,0BAAnC,iBACGwO,QADH,IACGA,GADH,UACGA,EAAaM,eADhB,aACG,EAAsB+R,KADzB,YACiCrS,QADjC,IACiCA,GADjC,UACiCA,EAAaM,eAD9C,aACiC,EAAsBgS,eAEvD,qBAAK9gB,UAAU,QAAQ,cAAY,gCAAnC,gBACGwO,QADH,IACGA,GADH,UACGA,EAAaM,eADhB,aACG,EAAsB8R,aAEzB,qBAAK5gB,UAAU,QAAQ,cAAY,6BAAnC,gBACGwO,QADH,IACGA,GADH,UACGA,EAAaM,eADhB,aACG,EAAsBoF,gBAK7B,qBAAKlU,UAAU,WAAf,UACc,OAAXwO,QAAW,IAAXA,GAAA,UAAAA,EAAaM,eAAb,eAAsB2R,YACrB,qCACE,qBAAKzgB,UAAU,kBAAf,gCACA,qBAAKA,UAAU,QAAQ,cAAY,yBAAnC,SACG2X,GAAMwJ,kBAAN,OAAwB3S,QAAxB,IAAwBA,GAAxB,UAAwBA,EAAaM,eAArC,aAAwB,EAAsB2R,wBAQ3D,sBAAKzgB,UAAU,aAAf,UACE,cAACC,EAAD,CAAQK,KAAM,cAAC,EAAD,IAAqB,cAAY,sCAAsCK,QAvFtE,WACnBiH,EAAY1G,EAASyC,MACrB+D,EAAezG,EAAYmgB,eAqFvB,yBAIA,cAACnhB,EAAD,CAAQK,KAAM,cAAC,GAAD,IAAU,cAAY,oCAAoCE,QAAQ,YAAYG,QAASugB,EAAY3gB,UAAW,QAA5H,2C,OCxFO2e,OAZf,WACE,IAAQvX,EAAaP,IAAMsT,WAAWvT,IAA9BQ,SACR,EAAoCJ,oBAAkB,GAAtD,mBAAOmX,EAAP,KAAmBS,EAAnB,KAEA,OACE,sBAAKnf,UAAU,uBAAf,UACG2H,IAAazG,EAASyC,MAAQ,cAAC,GAAD,CAAM+a,WAAYA,IAChD/W,IAAazG,EAASud,MAAQ,cAAC,GAAD,CAAMU,cAAeA,Q,OCJ3C,SAASkC,GAAathB,GACnC,IAAQuhB,EAASC,cAATD,KAER,OACE,sBAAKthB,UAAU,wBAAf,UACE,uDACA,mBAAGA,UAAU,oBAAb,SACG,8GAGH,oBAAGA,UAAU,mBAAb,UACG,mEACD,mBACE,cAAY,2BACZA,UAAU,iBACV+Z,KAAK,IACLwB,IAAI,aACJ5a,QAAS,SAACwa,GACRA,EAAMJ,iBACNhb,EAAMyhB,cAPV,uBAFF,OAiBA,sBAAKxhB,UAAU,mBAAf,UACE,cAACC,EAAD,CAAQO,QAAQ,UAAUC,KAAK,KAAK,cAAY,wBAAwBE,QAAS,kBAAM2gB,KAAvF,+BAGA,cAACrhB,EAAD,CACED,UAAU,QACVQ,QAAQ,YACRC,KAAK,KACL,cAAY,6BACZE,QAAS,WACPZ,EAAMyhB,cANV,6B,OCsCOpG,OAtEf,WACE,MAAwDhU,IAAMsT,WAAWvT,IAAjEO,EAAR,EAAQA,eAAgBG,EAAxB,EAAwBA,YAAaC,EAArC,EAAqCA,eACrC,EAAwCV,IAAMsT,WAAWxI,IAAjD1D,EAAR,EAAQA,YAAa2F,EAArB,EAAqBA,eAErB,EAAgC5M,oBAAkB,GAAlD,mBAAOka,EAAP,KAAiBC,EAAjB,KACA,EAAgCna,oBAAkB,GAAlD,mBAAOoa,EAAP,KAAiBC,EAAjB,KAEMC,EAAa,uCAAG,WAAOtS,GAAP,SAAApB,EAAA,+EAEZoC,GAAmBuR,UAAUvS,EAAMf,GAAahP,MAAK,SAAC0M,GAAoC,IAAD,EAE7FnC,aAAaC,QAAb,qCAAmDwE,EAAYsK,OAA/D,iBAAwE5M,QAAxE,IAAwEA,OAAxE,EAAwEA,EAAK6V,uBAA7E,QAAgG,IAChGra,EAAezG,EAAY0e,iBALX,sDAQlBpT,cAAI,OAAD,2DAA6D,KAAIyV,aACpEN,GAAY,GATM,wDAAH,sDAcnBhZ,OAAOuZ,UAAP,uCAAmB,WAAgB9G,GAAhB,uBAAAhN,EAAA,yDAES,cAAjB,OAALgN,QAAK,IAALA,GAAA,UAAAA,EAAOlO,YAAP,eAAapM,MAFA,uBAGfiH,EAAc,OAACqT,QAAD,IAACA,GAAD,UAACA,EAAOlO,YAAR,aAAC,EAAasC,MAHb,SAITsS,EAAa,OAAC1G,QAAD,IAACA,GAAD,UAACA,EAAOlO,YAAR,aAAC,EAAasC,MAJlB,6BAOc,sBAAjB,OAAL4L,QAAK,IAALA,GAAA,UAAAA,EAAOlO,YAAP,eAAapM,MACpB6G,EAAezG,EAAYihB,iBAGE,eAAjB,OAAL/G,QAAK,IAALA,GAAA,UAAAA,EAAOlO,YAAP,eAAapM,OACpBsT,GAAe,SAAC6G,GAA4B,IAAD,EACzC,OAAO,2BAAKA,GAAZ,IAAkBlC,MAAK,OAAEqC,QAAF,IAAEA,GAAF,UAAEA,EAAOlO,YAAT,aAAE,EAAasC,UAbzB,2CAAnB,sDAkBA,IAAM4S,EAAc,uCAAG,sBAAAhU,EAAA,6DACrByT,GAAY,GADS,SAEfC,EAAcha,GAFC,OAGrB+Z,GAAY,GAHS,2CAAH,qDAMpB,OACE,sBAAK5hB,UAAU,yBAAf,WACIyhB,GACA,wBACEW,YAAY,IACZ1gB,MAAM,OACNC,OAAO,OACPia,IAAG,kBAAatT,0BAAb,YACDA,0BADC,qEAGDA,uCAHC,4CAIiCwB,mBAClCpB,OAAOC,SAASC,OAAS,kBALxB,2EASN6Y,IAAaE,GACZ,qBAAK3hB,UAAU,wBAAf,SACE,cAAC,GAAD,CAAcwhB,WAAY,kBAAMW,a,OC7C3BD,OAnBf,WACE,IAAMlQ,EAAU4M,cACRyD,EAAaC,cAAbD,SAER,OACE,sBAAKriB,UAAU,2BAAf,UACE,wDACA,mBAAGA,UAAU,cAAb,8HAEA,sBAAKA,UAAU,aAAf,UACE,cAACC,EAAD,CAAQU,QAAS,kBAAMqR,EAAQiN,KAAK,MAApC,sBACA,eAAChf,EAAD,CAAQU,QAAS,kBAAM0hB,EAASE,cAAclZ,KAAgC7I,QAAQ,YAAtF,2BACiB,c,OC+JVmb,OArKf,WACE,IAAQjU,EAAmBN,IAAMsT,WAAWvT,IAApCO,eACR,EAAuDN,IAAMsT,WAAWxI,IAAhEG,EAAR,EAAQA,eAAgB8B,EAAxB,EAAwBA,eAAgBe,EAAxC,EAAwCA,WACxC,EAA0B3N,mBAAS,IAAnC,mBAAOuR,EAAP,KAAc0J,EAAd,KACA,EAAoCjb,oBAAkB,GAAtD,mBAAOkb,EAAP,KAAmBC,EAAnB,KACA,EAAgCnb,mBAAiB,IAAjD,mBAAOob,EAAP,KAAiBC,EAAjB,KACA,EAAgCrb,oBAAS,GAAzC,mBAAOsb,EAAP,KAAiBC,EAAjB,KACA,EAA8Cvb,mBAAgC,IAA9E,mBAAOwb,EAAP,KAAwBC,EAAxB,KACA,EAA4Czb,oBAAS,GAArD,mBAAOoT,EAAP,KAAuBC,EAAvB,KACMqI,EAAWxF,mBAEXyF,EAAgB,uCAAG,4BAAA/U,EAAA,sDACvB,GAAKwJ,GAAMkB,WAAWC,GAIpB,IACE5D,EAAW,CAAC,CAAE4D,QAAOqK,UAAWR,KAChC,MAAOtW,GACPE,cAAI,OAAQF,EAAM2V,YAHpB,QAKEc,GAAY,GACZlI,GAAkB,QATpB8H,GAAc,GACN,OAARO,QAAQ,IAARA,GAAA,UAAAA,EAAUjF,eAAV,SAAmBC,QAHE,2CAAH,qDAgBhBmF,EAAe,WACnBjP,GAAe,SAAC6G,GACd,OAAO,2BAAKA,GAAZ,IAAkBtM,IAAK,CAAEoF,KAAM,GAAIrK,MAAO,GAAIwD,KAAM,CAAE8G,SAAU,GAAIC,QAAS,UAE/E3B,EAAe,MACf3K,EAAezG,EAAYuG,YAyB7B,OArBAyT,qBAAU,WACR,IAAM5K,EAAkB,uCAAG,sBAAAlC,EAAA,kEACzB6U,EADyB,SAEhB5S,GAAkBC,qBAFF,mBAEwBmL,KAAI,SAAC6H,GAClD,MAAO,CACLC,YAAaD,EAAKC,YAClBxP,KAAMuP,EAAKvP,KACXyP,aAAa,OANM,yDAAH,qDAWO,IAA3BR,EAAgBzK,QAClBjI,MAED,IAEH4K,qBAAU,WAAO,IAAD,EACN,OAARgI,QAAQ,IAARA,GAAA,UAAAA,EAAUjF,eAAV,SAAmBC,UAClB,IAGD,sBAAKje,UAAU,oBAAf,UACG2a,GACC,cAAC1a,EAAD,CACED,UAAU,oBACVQ,QAAQ,cACRF,KAAM,cAAC,GAAD,IACNC,UAAU,OACVI,QAAS,kBAAMyiB,KACf,cAAY,kBANd,2CAYAP,EAsEA,qCACE,8DACA,mBAAG7iB,UAAU,SAAb,8GACA,oBAAGA,UAAU,cAAb,oJAC0I,IACxI,iCAAS2iB,IAFX,OAIA,qBAAK3iB,UAAU,aAAf,SACE,cAACC,EAAD,CACEO,QAAQ,UACRC,KAAK,KACLE,QAAS,kBAAM+H,OAAOC,SAAS6a,OAAO,gCACtC,cAAY,8BAJd,yCA7EJ,qCACE,2FACA,mBAAGxjB,UAAU,SAAb,mIAIA,uBAAMke,SAAU,SAACpD,GAAD,OAAOA,EAAEC,kBAAkBpU,GAAG,eAA9C,UACE,qBAAK3G,UAAU,WAAf,SACE,cAAC,GAAD,CACEoY,MAAM,gBACNgE,YAAY,mBACZI,aAAa,GACbI,aAAa,QACb5c,UAAU,aACVqc,SAAU,SAACnU,GACTsa,EAASta,GACTwa,GAAc,IAEhB,cAAY,wBACZhG,SAAUuG,EACV/P,aAAcuP,EAAa,6BAA0BxW,MAIzD,qBAAKjM,UAAU,WAAf,SACE,gCACE,uBAAOkc,QAAQ,sBAAf,+BACA,cAAC,GAAD,CACEvV,GAAG,sBACH4G,QAASwV,EAAgBvH,KAAI,SAACC,GAAD,OAAYA,EAAO3H,QAChD2P,UAAQ,EACRC,YAAU,EACVxG,YAAU,EACVI,UAAW,cAAC,GAAD,IACXtd,UAAU,aACV2jB,cAAe,SAACxI,EAAOjT,GAAR,OAA0B0a,EAAY1a,IACrDkW,YAAa,SAAC5Q,GAAD,OACX,cAAC6Q,GAAA,EAAD,2BACM7Q,GADN,IAEE4O,YAAY,WACZkC,WAAU,2BACL9Q,EAAO8Q,YADF,IAERC,kBAAkB,QAIxB,cAAY,6BAKlB,sBAAKve,UAAU,aAAf,UACE,cAACC,EAAD,CACED,UAAU,GACVQ,QAAQ,UACRC,KAAK,KACLE,QAAS,kBAAMuiB,KACftiB,WAAYkY,GAAS6J,GACrB,cAAY,4BANd,oCAUA,cAAC1iB,EAAD,CAAQD,UAAU,QAAQQ,QAAQ,YAAYC,KAAK,KAAKE,QAAS,kBAAMyiB,KAAgB,cAAY,2BAAnG,8DCrJC,OAA0B,+CCA1B,OAA0B,6CCanCQ,I,OAAwB,CAC5B,CACE9P,KAAM,cACNrK,MAAO,uCACP6Q,QAASuJ,GACTniB,MAAO,SAET,CACEoS,KAAM,QACNrK,MAAO,uCACP6Q,QAASwJ,GACTpiB,MAAO,WAwFI0f,OApFf,WACE,IAAMpP,EAAU4M,cACR/W,EAAgBT,IAAMsT,WAAWvT,IAAjCU,YACA2G,EAAgBpH,IAAMsT,WAAWxI,IAAjC1D,YACR,EAA8BjH,oBAAkB,GAAhD,mBAAO7G,EAAP,KAAgBoe,EAAhB,KAEA,EAAgCvX,oBAAkB,GAAlD,mBAAOka,EAAP,KAAiBC,EAAjB,KACA,EAAgCna,oBAAkB,GAAlD,mBAAOoa,EAAP,KAAiBC,EAAjB,KASMmC,EAAU,uCAAG,4BAAA5V,EAAA,2DAEX4T,EAAkBhY,aAAaia,QAAb,qCAAmDxV,EAAYsK,SAFtE,gCAITnI,GAAWsT,UAAU,CAAElC,gBAAiBA,GAAmBla,GAAarI,MAAK,SAAC0M,GAClFnC,aAAama,WAAb,qCAAsD1V,EAAYsK,QAClE/O,aAAaC,QAAb,sBAAoCwE,EAAYsK,OAAS5M,EAAIkD,eAC7D4C,EAAQiN,KAAK,QAPA,2CAAH,qDAYVkF,EAAU,uCAAG,sBAAAhW,EAAA,sEAEf2Q,GAAW,GAFI,SAGTvO,GAAmByO,SAASnX,EAAa2G,GAHhC,uBAITuV,IAJS,uDAMfzX,QAAQ8X,KAAR,MACA7X,cAAI,OAAD,4DAA8D,KAAIyV,aACrEN,GAAY,GARG,yBAUf5C,GAAW,GAVI,4EAAH,qDAcVqD,EAAc,uCAAG,sBAAAhU,EAAA,6DACrByT,GAAY,GADS,SAEfmC,IAFe,OAGrBnC,GAAY,GAHS,2CAAH,qDAMpB,OAAQH,EA2BHE,EAKH,6BAJA,qBAAK3hB,UAAU,wBAAf,SACE,cAAC,GAAD,CAAcwhB,WAAY,kBAAMW,SA5BlC,sBAAKniB,UAAU,wBAAf,UACE,oDACA,mBAAGA,UAAU,cAAb,8LAIA,qBAAKA,UAAU,mBAAf,SACG4jB,GAAUpI,KAAI,SAACC,GAAY,IAAD,EACzB,OACE,qBAEEzb,UAAU,eACVW,QAAS,SAACma,GAAD,OAnDC,SAACA,EAAehC,GAChCpY,IACJoa,EAAEC,iBACFzO,QAAQ8X,KAAKtL,IAgDyCuL,CAAcvJ,EAAGW,IAC7D,iCAAyBA,EAAO3H,KAAhC,UAJF,SAME,qBAAK8H,IAAG,OAAEH,QAAF,IAAEA,OAAF,EAAEA,EAAQnB,QAASuB,MAAO,CAAEna,MAAK,UAAE+Z,EAAO/Z,aAAT,QAAkB,QAAUoa,IAAKL,EAAO3H,QAL5E2H,EAAO3H,WAUpB,qBAAK9T,UAAU,aAAf,SACE,cAACC,EAAD,CAAQO,QAAQ,YAAYG,QAAS,kBAAMwjB,KAAczjB,QAASA,EAAlE,0DC9DO4jB,OA/Bf,WACE,IAAQ9V,EAAgBpH,IAAMsT,WAAWxI,IAAjC1D,YACR,EAA2CpH,IAAMsT,WAAWvT,IAApDO,EAAR,EAAQA,eAAgBI,EAAxB,EAAwBA,eAWxB,OARAY,OAAOuZ,UAAP,uCAAmB,WAAgB9G,GAAhB,iBAAAhN,EAAA,sDAES,cAAjB,OAALgN,QAAK,IAALA,GAAA,UAAAA,EAAOlO,YAAP,eAAapM,QACfiH,EAAc,OAACqT,QAAD,IAACA,GAAD,UAACA,EAAOlO,YAAR,aAAC,EAAasC,MAC5B7H,EAAezG,EAAY0e,eAJZ,2CAAnB,sDASE,qBAAK3f,UAAU,yBAAf,SACE,wBACEoiB,YAAY,IACZ1gB,MAAM,OACNC,OAAO,OACPia,IAAG,kBAAatT,0BAAb,YACDA,0BADC,uEAGDA,uCAHC,4CAIiCwB,mBAClCpB,OAAOC,SAASC,OAAS,kBALxB,4FAMkF4F,EAAYsK,Y,6BC4G1FyL,GAxHW,WACxB,IAAQpQ,EAAmB/M,IAAMsT,WAAWxI,IAApCiC,eACR,EAAiE/M,IAAMsT,WAAWvT,IAA1EO,EAAR,EAAQA,eAAgBD,EAAxB,EAAwBA,YAAaM,EAArC,EAAqCA,UAAWC,EAAhD,EAAgDA,aAChD,EAAmCuZ,cAA3BiD,EAAR,EAAQA,KAAMC,EAAd,EAAcA,SAAUC,EAAxB,EAAwBA,OACxB,EAAkCnd,oBAAkB,GAApD,mBAAOsX,EAAP,KAAkB8F,EAAlB,KAEA,EAAkCpd,oBAAkB,GAApD,mBAAOqd,EAAP,KAAkBC,EAAlB,KACA,EAA0Ctd,mBAAiB,WAA3D,mBAAOud,EAAP,KAAsBC,EAAtB,KACA,EAAgCxd,mBAAiB,IAAjD,mBAAOyd,EAAP,KAAiBC,EAAjB,KAgCA,OA9BAR,IACAD,IACAE,EAAO,CAAEQ,qBAAqB,IAE9BjK,qBAAU,YACR,uCAAC,4BAAA9M,EAAA,2DACOgX,EAAa,IAAIpO,gBAAgBrO,OAAOC,SAASqO,QAAQvM,IAAI,SADpE,uBAGGka,GAAa,GAHhB,SAIS/T,GACHwU,UAAUD,GACV3lB,MAAK,SAAC0I,GACqB,aAAjB,OAALA,QAAK,IAALA,OAAA,EAAAA,EAAOoL,cACTtL,GAAa,GACbmM,GAAe,SAAC6G,GACd,OAAO,2BAAKA,GAAZ,IAAkBlC,OAAY,OAAL5Q,QAAK,IAALA,OAAA,EAAAA,EAAO4Q,QAAS,QAE3CpR,EAAezG,EAAYqjB,0BAG9BlY,OAAM,WACL2Y,EAAiB,SACjBE,EAAY,2BACZJ,GAAa,MAlBpB,OAqBCF,GAAa,GArBd,2CAAD,yDAuBC,IAGD,sBAAK3kB,UAAU,kBAAf,UACE,sBAAKA,UAAU,kBAAf,UACE,sBAAKA,UAAU,cAAf,UACE,qBAAKA,UAAU,WAAW4b,IAAKnV,EAAcqV,IAAI,kBAChD+C,EACC,6BACE9W,EACF,+BACE,oBAAI,cAAY,mBAAmB/H,UAAWyH,IAAgBxG,EAAYqjB,qBAAuB,WAAa,GAA9G,iCAGA,oBAAI,cAAY,wBAAwBtkB,UAAWyH,IAAgBxG,EAAY0e,aAAe,WAAa,GAA3G,0CAKF,+BACE,oBACE,cAAY,eACZ3f,UAAWyH,IAAgBxG,EAAYuG,WAAaC,IAAgBxG,EAAY0a,SAAW,WAAa,GAF1G,2CAMA,oBACE,cAAY,mBACZ3b,UAAWyH,IAAgBxG,EAAYma,eAAiB3T,IAAgBxG,EAAYihB,gBAAkB,WAAa,GAFrH,iCAMA,oBAAI,cAAY,wBAAwBliB,UAAWyH,IAAgBxG,EAAY0e,aAAe,WAAa,GAA3G,uCAGA,oBAAI,cAAY,uBAAuB3f,UAAWyH,IAAgBxG,EAAYie,YAAc,WAAa,GAAzG,sCAGA,oBAAI,cAAY,kBAAkBlf,UAAWyH,IAAgBxG,EAAYmgB,aAAe,WAAa,GAArG,sCAMN,qBACEphB,UAAS,0BACPyH,IAAgBxG,EAAYma,eAAiB3T,IAAgBxG,EAAYqjB,qBAAuB,aAAe,IAFnH,UAKIzF,GACA,qCACGpX,IAAgBxG,EAAYuG,UAAY,cAAC,GAAD,IAAgB,KACxDC,IAAgBxG,EAAY0a,SAAW,cAAC,GAAD,IAAe,KACtDlU,IAAgBxG,EAAYma,cAAgB,cAAC,GAAD,IAAoB,KAChE3T,IAAgBxG,EAAYqjB,qBAAuB,cAAC,GAAD,IAA2B,KAC9E7c,IAAgBxG,EAAYihB,gBAAkB,cAAC,GAAD,IAAsB,KACpEza,IAAgBxG,EAAY0e,aAAe,cAAC,GAAD,IAAmB,KAC9DlY,IAAgBxG,EAAYie,YAAc,cAAC,GAAD,IAAkB,KAC5DzX,IAAgBxG,EAAYmgB,aAAe,cAAC,GAAD,IAAmB,aAMvE,cAACiE,GAAA,EAAD,CAAUC,aAAc,CAAEC,SAAU,MAAOC,WAAY,SAAWhM,KAAMoL,EAAWa,QAAS,kBAAMZ,GAAa,IAAQa,iBAAkB,IAAzI,SACE,cAACC,GAAA,EAAD,CACEF,QAAS,kBAAMZ,GAAa,IAC5Be,SAAUd,EACVe,GAAI,CAAEnkB,MAAO,QACb4V,OACE,mBAAGtX,UAAU,QAAQW,QAAS,kBAAMkkB,GAAa,IAAjD,mBALJ,SAUGG,UC9FIc,gBAlBqC,SAAC/lB,GACnD,OACE,cAAC,IAAD,CACEgmB,KAA0B,kBAAbhmB,EAAMimB,GAAkBjmB,EAAMimB,GAAGC,SAAWlmB,EAAMimB,GAAGpc,QAAQ,QAAS,IACnFsc,MAAOnmB,EAAMmmB,MACbC,OAAQpmB,EAAMomB,OACdplB,SAAU,YAAgB,IAClBqlB,IADiB,EAAZnO,MAEX,OACE,cAAC,IAAD,CAASjY,UAAWomB,EAAW,CAACrmB,EAAMC,UAAWD,EAAMsmB,iBAAiB5Y,QAAO,SAAC6Y,GAAD,OAAOA,KAAGnc,KAAK,KAAOpK,EAAMC,UAAWgmB,GAAwB,kBAAbjmB,EAAMimB,GAAkB,CAACC,SAAUlmB,EAAMimB,GAAGC,SAAUjP,OAAQjX,EAAMimB,GAAGhP,QAAUjX,EAAMimB,GAAxN,SAC6B,oBAAnBjmB,EAAMgB,SAA0BhB,EAAMgB,SAASqlB,GAAYrmB,EAAMgB,iB,SC7BtE,OAA0B,oC,OCa1B,SAASwlB,GAAQxmB,GAAmC,IAAD,IAChE,OAAOA,EAAMymB,YACX,6BACE,oBAAIxmB,UAAS,eAAb,SACE,qBACEA,UAAS,yCACPD,EAAM0mB,WAAa,YAAc,IAFrC,SAKE,qBAAK7K,IAAK8K,GAAY5K,IAAI,kBAKhC,qBACE9b,UAAS,yCACPD,EAAM0mB,WAAa,YAAc,IAFrC,SAKE,qBACE7K,IAAK8K,GACL5K,IAAI,UACJna,OAAM,UAAE5B,EAAM4mB,iBAAR,QAAqB,OAC3BjlB,MAAK,UAAE3B,EAAM6mB,gBAAR,QAAoB,W,OCxBlB,SAASzb,GAAMpL,GAO5B,OANI4X,GAAMI,gBACsB,kBAAnBhY,EAAMgB,UACfwL,cAAI,OAAQxM,EAAMgB,UAIfhB,EAAMymB,YACX,6BACE,oBAAIxmB,UAAS,aAAb,SACE,qBACEA,UAAS,qCACPD,EAAM0mB,WAAa,YAAc,IAFrC,SAKE,8BAAM1mB,EAAMgB,iBAKlB,qBACEf,UAAS,qCACPD,EAAM0mB,WAAa,YAAc,IAFrC,SAKE,8BAAM1mB,EAAMgB,aCjCX,IAAM8lB,GAAmBzf,IAAMC,cAAoC,MAMpEyf,GAAoB,UAApBA,GAAsC,UA8G7BC,GA5G6C,SAAC,GAA0C,IAAxChmB,EAAuC,EAAvCA,SAAuC,4CAEpG,sBAAAoN,EAAA,+EACS8B,GAAcuE,WAAWhV,MAAK,SAACyN,GAAoC,IAAD,UACvE,OAAoB,IAAhBA,EAAKqL,OACA,IAGTrL,EAAKwH,MAAK,SAACC,EAA8BC,GAA/B,eAAkE,iBAACD,QAAD,IAACA,OAAD,EAACA,EAAME,oBAAP,QAAuB,KAAvB,iBAA8BD,QAA9B,IAA8BA,OAA9B,EAA8BA,EAAOC,oBAArC,QAAqD,KAAO,EAAI,KACrI,CACL,CACEjO,GAAI,gBACJuB,MAAK,UAAE+E,EAAK,GAAG+Z,8BAAV,QAAoC,EACzCC,MAAO,WAET,CACEtgB,GAAI,kBACJuB,MAAK,UAAE+E,EAAK,GAAG+Z,8BAAV,QAAoC,EACzCC,MAAO,WAET,CACEtgB,GAAI,kBACJuB,MAAK,UAAE+E,EAAK,GAAG+Z,8BAAV,QAAoC,EACzCC,MAAO,WAET,CACEtgB,GAAI,iBACJuB,MAAK,UAAE+E,EAAK,GAAG+Z,8BAAV,QAAoC,EACzCC,MAAO,WAET,CACEtgB,GAAI,aACJuB,MAAK,UAAE+E,EAAK,GAAG+Z,8BAAV,QAAoC,EACzCC,MAAO,iBA/Bf,4CAFoG,kEAwCpG,sBAAA9Y,EAAA,+EACS8B,GAAciX,iBAAYjb,GAAWzM,MAAK,SAACyN,GAChD,MAAO,CACL,CACEtG,GAAI,WACJsgB,MAAOH,GACP5e,MAAO+E,EAAKka,gBAEd,CACExgB,GAAI,YACJsgB,MAAOH,GACP5e,MAAO+E,EAAKma,wBAXpB,4CAxCoG,kEA0DpG,sBAAAjZ,EAAA,+EACS8B,GAAcoX,SAAS7nB,MAAK,SAACyN,GAClC,OACEA,EAEGwH,MAAK,SAACtG,EAA0B4G,GAA3B,OAAwD,IAAIlQ,KAAKsJ,EAAEH,WAAWsZ,WAAa,IAAIziB,KAAKkQ,EAAE/G,WAAWsZ,cAEtH9L,KAAI,SAACqC,EAAuC0J,EAAeC,GAG1D,MAAO,CACL7gB,GAAI,IAAI8gB,KAAKC,eAAe,QAAS,CAAEC,MAAO,SAAUC,OAAO,IAAI/iB,KAAKgZ,EAAI7P,YAAY6Z,cAExFZ,MAAOM,IAAUC,EAAIlP,OAAS,EAAIwO,GAAiBA,GACnD5e,MAAO4f,KAAKC,KAAKlK,EAAImK,+BAdjC,4CA1DoG,kEAgFpG,sBAAA7Z,EAAA,+EACS4B,GAAgBkY,0BAAqBhc,OAAWA,EAAW,gDAAiD,EAAG,GAAGzM,MAAK,SAACyN,GAC7H,OAAOA,EAAKgC,YAFhB,4CAhFoG,kEAuFpG,sBAAAd,EAAA,+EACS8B,GAAciY,cAAc1oB,MAAK,SAACyN,GACvC,OAAOA,MAFX,4CAvFoG,sBA6FpG,OACE,cAAC4Z,GAAiB5e,SAAlB,CACEC,MAAO,CACLigB,aAhG8F,2CAiG9FC,gBAjG8F,2CAkG9FC,WAlG8F,2CAmG9FC,gBAnG8F,2CAoG9FC,gBApG8F,4CA8FlG,SASGxnB,K,cCxGQ,SAASynB,GAAOzoB,GAC7B,OAAOA,EAAMymB,YACX,6BACE,oBAAIxmB,UAAS,cAAb,SACE,qBAAKA,UAAS,uCAAkCD,EAAM0mB,WAAa,YAAc,IAAjF,UACQ,OAAL1mB,QAAK,IAALA,OAAA,EAAAA,EAAOgB,UACN,4BAAIhB,EAAMgB,WASV,oDAMR,qBAAKf,UAAS,uCAAkCD,EAAM0mB,WAAa,YAAc,IAAjF,UACQ,OAAL1mB,QAAK,IAALA,OAAA,EAAAA,EAAOgB,UACN,4BAAIhB,EAAMgB,WAQV,gDC1CD,IAAM0nB,GAAkB,SAACtQ,EAAgBuQ,GAC9C,IAAMC,EAAoBzR,OAAO4Q,KAAKc,IAAId,KAAKe,MAAM1Q,KACrD,OAAIuQ,EACEC,EAAkBrQ,QAAU,GACtBH,EAAS,KAAM2Q,YAAY,GAC1BH,EAAkBrQ,QAAU,GAC7BH,EAAS,KAAS2Q,YAAY,GAC7BH,EAAkBrQ,QAAU,IAC7BH,EAAS,KAAY2Q,YAAY,IAEjC3Q,EAAS,MAAe2Q,YAAY,GAG1CH,EAAkBrQ,QAAU,EACvBpB,OAAO4Q,KAAKiB,MAAM5Q,IAChBwQ,EAAkBrQ,QAAU,EAC9BpB,OAAO4Q,KAAKiB,MAAM5Q,EAAS,MACzBwQ,EAAkBrQ,QAAU,EAC9BpB,OAAO4Q,KAAKiB,MAAM5Q,EAAS,MACzBwQ,EAAkBrQ,QAAU,GAC9BpB,OAAO4Q,KAAKiB,MAAM5Q,EAAS,MAE3BjB,OAAO4Q,KAAKiB,MAAM5Q,EAAS,QAK3B6Q,GAAoB,SAAC7Q,GAChC,IAAM8Q,EAA0B/R,OAAO4Q,KAAKc,IAAId,KAAKe,MAAM1Q,KAAUG,OACrE,OAAI2Q,GAA2B,EACtB,GACEA,GAA2B,EAC7B,IACEA,GAA2B,EAC7B,IACEA,GAA2B,GAC7B,IAEA,K,UCrBI,SAASC,KACtB,IAAQZ,EAAoBlhB,IAAMsT,WAAWmM,IAArCyB,gBACAvC,EAASoD,cAATpD,KACF/T,EAAU4M,cAChB,EAAgCrX,oBAAkB,GAAlD,mBAAOsX,EAAP,KAAkBC,EAAlB,KACA,EAAwCvX,mBAAiB,IAAzD,mBAAO2L,EAAP,KAAqBkW,EAArB,KACA,EAAwB7hB,mBAAwC,MAAhE,mBAAO0F,EAAP,KAAaoc,EAAb,KAGMC,EAAS,uCAAG,4BAAAnb,EAAA,6DAChBib,EAAgB,IAChBtK,GAAW,GAFK,kBAIIwJ,IAJJ,OAIRpc,EAJQ,OAKdmd,EAAQnd,GALM,gDAQdkd,EAAgB,KAAMG,SARR,QAUhBzK,GAAW,GAVK,yDAAH,qDAaf7D,qBAAU,WACRqO,MACC,IAWH,OAAOzK,EACL,qBAAK7e,UAAS,aAAd,SACE,cAAC,GAAD,MAEAkT,EACF,qBAAKlT,UAAS,aAAd,SACE,cAAC,GAAD,UAAQkT,MAGV,sBAAKlT,UAAS,aAAd,UACE,sBAAKA,UAAS,UAAd,UACE,sBAAMA,UAAS,QAAWW,QAAS,SAACma,GAAD,OAhBnB,SAACA,GACrBA,EAAEC,iBACF/I,EAAQiN,KAAR,UAAgB8G,EAAhB,wEAcgFyD,CAAc1O,IAA1F,oDAGA,cAAC5a,EAAA,EAAD,CAASC,MAAM,yDAAyDspB,UAAU,QAAQC,OAAK,EAACC,oBAAkB,EAAlH,SACE,cAACC,GAAA,EAAD,CAAYnpB,KAAK,QAAjB,SACE,cAAC,EAAD,WAILwM,GAAwB,IAAhBA,EAAKqL,OAEZrL,EAAK4c,MAAM,EAAG,GAAGrO,KAAI,SAACqC,EAA2BiM,GAAiB,IAAD,QAC/D,OACE,sBAAK9pB,UAAS,SAA8CW,QAAS,SAACma,GAAD,OAjCxBnU,EAiC6EkX,EAAI3P,eAhCtI8D,EAAQiN,KAAR,UAAgB8G,EAAKvN,UAAU,EAAGuN,EAAKgE,YAAY,MAAnD,sBAAsEpjB,EAAtE,kEADqB,IAAgCA,GAiC7C,UACE,qBAAK3G,UAAS,mBAAd,SACE,mBAAGA,UAAS,WAAZ,0BAA2B6d,QAA3B,IAA2BA,OAA3B,EAA2BA,EAAK0C,mBAAhC,QAA+C,UAEjD,mBAAGvgB,UAAU,QAAb,gBAAsB6d,QAAtB,IAAsBA,OAAtB,EAAsBA,EAAKmM,uBAC3B,mBAAGhqB,UAAU,OAAb,+BACA,oBAAGA,UAAU,QAAb,WACG,iBAAC6d,QAAD,IAACA,OAAD,EAACA,EAAKoM,qBAAN,QAAuB,GAAK,EAAI,IAAM,GADzC,IAC8CnC,KAAKc,IAAIsB,SAASzB,GAAe,iBAAC5K,QAAD,IAACA,OAAD,EAACA,EAAKoM,qBAAN,QAAuB,GAAG,GAAQ,KAC/G,+BAAOjB,GAAiB,iBAACnL,QAAD,IAACA,OAAD,EAACA,EAAKoM,qBAAN,QAAuB,QAEjD,mBAAGjqB,UAAU,OAAb,gCAVF,UAAkC6d,EAAI0C,YAAtC,YAAqDuJ,OAezD,cAAC,GAAD,O,qDC/DFK,GAAwBC,sBAAoC,WAAoC3N,GAAsC,IAAvE4N,EAAsE,EAAtEA,cAAkBlN,EAAoD,mBAEnImN,EArBgB,WAAkD,IAAD,uBAA7CC,EAA6C,yBAA7CA,EAA6C,gBACvE,IAAMC,EAAYpjB,IAAMqW,SAcxB,OAZArW,IAAM6T,WAAU,WACdsP,EAAKE,SAAQ,SAAChO,GACPA,IAEc,oBAARA,EACTA,EAAI+N,EAAUxM,SAEdvB,EAAIuB,QAAUwM,EAAUxM,cAG3B,CAACuM,IAEGC,EAMaE,CAAgBjO,EADjBrV,IAAMqW,OAAO,OAShC,OANAxC,qBAAU,YACR,OAAIqP,QAAJ,IAAIA,OAAJ,EAAIA,EAAatM,WACfsM,EAAYtM,QAAQqM,cAApB,OAAoCA,QAApC,IAAoCA,QAErC,CAACC,EAAaD,IAGf,cAAC,IAAMM,SAAP,UACE,+CACE3qB,UAAS,mBAAcqqB,EAAgB,yBAA2B,IAClExpB,KAAK,WACL4b,IAAK6N,GACDnN,GAJN,IAKExc,QAAS,SAACma,GACRA,EAAE8P,2BAOGT,MCrDA,OAA0B,kC,cCsB1B,SAASU,GAAS9qB,GAA2C,IAAD,IACnE+qB,EAAcrN,iBAAuB,MAC3C,EAAsClW,oBAAkB,GAAxD,mBAAOwjB,EAAP,KAAoBC,EAApB,KACA,EAAkCzjB,oBAAkB,GAApD,mBAAO0jB,EAAP,KAAmBC,EAAnB,KACA,EAA0B3jB,mBAAiBxH,EAAMyc,aAAezc,EAAMyc,aAAezc,EAAMwN,QAAQ+K,OAAS,EAAIvY,EAAMwN,QAAQ,GAAGrF,MAAQ,IAAzI,mBAAOA,EAAP,KAAcijB,EAAd,KAgBA,OAdAlQ,qBAAU,WACR,SAASmQ,EAAmBtQ,GACtBgQ,EAAY9M,UAAY8M,EAAY9M,QAAQqN,SAASvQ,EAAEwB,SACzD4O,GAAY,GAMhB,OAFArR,SAASwB,iBAAiB,YAAa+P,GAEhC,WACLvR,SAASyB,oBAAoB,YAAa8P,MAE3C,CAACN,IAGF,sBAAK9qB,UAAS,qCAAsBD,EAAMC,iBAA5B,QAAyC,IAAvD,WACQ,OAALD,QAAK,IAALA,OAAA,EAAAA,EAAOurB,SAAU,mBAAGtrB,UAAW,SAAd,SAAyBD,EAAMurB,SAEjD,sBAAK7O,IAAKqO,EAAV,UACE,cAAC5qB,EAAA,EAAD,CACEC,MAAK,UAAEJ,EAAMK,eAAR,QAAmB,GACxBqpB,UAAU,eACVjQ,KAAMuR,IAAgBE,EACtBM,aAAc,kBAAMP,GAAe,IACnCQ,aAAc,kBAAMR,GAAe,IALrC,SAOE,qBACEhrB,UAAS,mBAAcD,EAAMmT,aAAe,iBAAmB,GAAtD,YAA4D+X,EAAa,gBAAkB,IACpGtqB,QAAS,SAACma,GAAyB,IAAD,EAChCA,EAAE8P,mBACE,UAAC7qB,EAAMC,iBAAP,aAAC,EAAiByX,SAAS,cAC7ByT,GAAY,SAAClQ,GAAD,OAAoBA,MALtC,SASGjb,EAAM0rB,aACL,cAAC,GAAD,IACE1rB,EAAM2rB,SACR,mCAAG3rB,EAAMO,OAET,qCACuB,SAApBP,EAAM4rB,WAAwB5rB,EAAMO,KACpCP,EAAM6rB,aAAe7rB,EAAM6rB,aAAe1jB,EACtB,UAApBnI,EAAM4rB,WAAyB5rB,EAAMO,YAK7C2qB,GACC,qBAAKjrB,UAAW,mBAAhB,SACGD,EAAMwN,QAAQiO,KAAI,SAACqQ,GAClB,OACE,qBAEElrB,QAAS,WACPuqB,GAAY,GACZC,EAASU,EAAI3jB,OACTnI,EAAMY,SACRZ,EAAMY,QAAQkrB,EAAIC,cAEhB/rB,EAAMgsB,UACRhsB,EAAMgsB,SAASF,EAAI3jB,QATzB,SAaG2jB,EAAIG,WAAaH,EAAIG,WAAaH,EAAI3jB,OAZlC2jB,EAAIllB,aAoBf,OAAL5G,QAAK,IAALA,OAAA,EAAAA,EAAOmT,eAAgB,mBAAGlT,UAAW,gBAAd,SAAgCD,EAAMmT,kBAKpE2X,GAASzN,aAAe,CACtBuO,UAAW,SCvGN,IAAMM,GAAiB7kB,IAAMC,cAAkC,MAqDvD6kB,GA/CyC,SAAC,GAAwC,IAAtCnrB,EAAqC,EAArCA,SAEzD,EAAwCwG,mBAAwB,MAAhE,mBAAO4kB,EAAP,KAAqBC,EAArB,KACA,EAAsC7kB,mBAAuB,IAA7D,mBAAO8kB,EAAP,KAAoBC,EAApB,KACA,EAA4C/kB,mBAAiB,IAA7D,mBAAOglB,EAAP,KAAuBC,EAAvB,KAJ8F,4CAM9F,sBAAAre,EAAA,sEACe6B,GAAeyc,sBAAsBjtB,MAAK,SAACyN,GAAU,IAAD,IAC/D,2BACEA,EAAKgC,eADP,aACE,EAAcuM,KAAI,SAACqC,GACjB,MAAO,CACL6O,eAAgB7O,EAAI8O,cACpBC,cAAe/O,EAAIsO,aACnBU,OAAQhP,EAAIgP,OACZC,SAAUjP,EAAIkP,eACdC,mBAAoBnP,EAAIoP,8BAP9B,QASQ,MAXZ,oFAN8F,kEAuB9F,WAAmBtmB,GAAnB,SAAAwH,EAAA,+EACS6B,GAAekd,WAAWvmB,EAAI,yCAAyCnH,MAAK,SAACyN,GAAU,IAAD,IAE3F,OADAmf,EAAe,iBAACnf,QAAD,IAACA,GAAD,UAACA,EAAM6B,eAAP,aAAC,EAAeyR,mBAAhB,QAA+B,OACvCtT,MAHX,4CAvB8F,sBA8B9F,OACE,cAACgf,GAAehkB,SAAhB,CACEC,MAAO,CACLuC,IAjCwF,4CAkCxF0iB,4BAlCwF,2CAmCxFhB,eACAG,iBACAD,cACAE,iBACAC,qBARJ,SAWGzrB,KC1BA,SAASqsB,GAAartB,GAE3B,IAAMstB,EAAW5P,iBAAuB,MAExC,EAA8BlW,oBAAkB,GAAhD,mBAAO+lB,EAAP,KAAgBC,EAAhB,KAEA,EAA8BhmB,oBAAkB,GAAhD,mBAAOimB,EAAP,KAAgBC,EAAhB,KAEA,EAAgClmB,oBAAkB,GAAlD,mBAAO1E,EAAP,KAAiB6qB,EAAjB,KACA,EAA4CnmB,mBAAiB,UAA7D,mBAAOomB,EAAP,KAAuBC,EAAvB,KAEA,EAA0BrmB,oBAAwB,WAChD,IACMW,EADS,IAAI6O,gBAAgBrO,OAAOC,SAASqO,QAC9BvM,IAAI1K,EAAM8tB,YAAYlnB,IAE3C,OADIuB,GAAOwlB,GAAY,GAChBxlB,KAJT,mBAAO4lB,EAAP,KAAcC,EAAd,KAMQvB,EAAsBplB,IAAMsT,WAAWuR,IAAvCO,kBAGFxa,EAAU4M,cAGhB,SAASoP,EAAgB9lB,GAEvBwlB,GAAY,GACZD,GAAW,GACXF,GAAW,GACXf,EAAkBzsB,EAAM8tB,YAAYlnB,IAGpC,IAAM6G,EAAS,IAAIuJ,gBAAgBrO,OAAOC,SAASqO,QACnDxJ,EAAOvC,OAAOlL,EAAM8tB,YAAYlnB,IAC5BuB,GAAOsF,EAAOygB,OAAOluB,EAAM8tB,YAAYlnB,GAAIuB,GAC/C8J,EAAQiN,KAAK,CAAEjI,OAAQxJ,EAAOwU,WAAWpY,QAAQ,QAAS,MAqD5D,OAfAqR,qBAAU,WAER,SAASmQ,EAAmBtQ,GACtBuS,EAASrP,UAAYqP,EAASrP,QAAQqN,SAASvQ,EAAEwB,SACnDmR,GAAW,GAMf,OAFA5T,SAASwB,iBAAiB,YAAa+P,GAEhC,WACLvR,SAASyB,oBAAoB,YAAa8P,MAE3C,CAACiC,IAEGttB,EAAM8tB,YAAYK,WACvB,sBAAKluB,UAAS,iBAAd,UACE,qBACEA,UAAS,qBACTW,QAAS,kBAAM8sB,GAAW,SAACzS,GAAD,OAAWA,MACrCuQ,aAAc,kBAAMgC,GAAW,IAC/B/B,aAAc,kBAAM+B,GAAW,IAJjC,SAME,cAAC,EAAD,CACEvtB,UAAS,sBAAiBwtB,GAAWF,EAAU,oBAAsB,GAA5D,YAAkEzqB,EAAW,qBAAuB,GAApG,KACTA,SAAUA,MAGb2qB,GACC,sBAAKxtB,UAAS,2BAAsBD,EAAMouB,OAAN,2BAAmCpuB,EAAMouB,QAAW,IAAM1R,IAAK4Q,EAAnG,UACE,wBACErtB,UAAS,yBACTW,QAAS,WACP8sB,GAAW,GACXF,GAAW,IAJf,SAOE,qBAAK3R,IAAKwS,GAAUtS,IAAI,kBAE1B,oBAAG9b,UAAS,yBAAZ,uBAAmDD,EAAM8tB,YAAYQ,UACnEtuB,EAAM8tB,YAAYS,gBAQlB,cAAC,GAAD,CACE/gB,QAASxN,EAAM8tB,YAAYS,gBAC3BtuB,UAAS,gCACTW,QAASotB,EACThC,SAAU,SAACwC,GAAD,OAvFKrmB,EAuF+CqmB,GAjFpErmB,GACF0lB,EAAkBzsB,EAAkB+oB,SAAShiB,UAC7C6lB,EAAS7lB,SAFX,GAJE6lB,EAAS,WACTH,EAAkB,WAHI,IAAC1lB,GAwFfsU,aAAcsR,EACdlC,aAAc+B,EACdhC,UAAU,QACVrrB,KAAM,cAAC,GAAD,MAfR,cAAC,GAAD,CACE8b,YAAarc,EAAM8tB,YAAYW,iBAC/BhS,aAAcsR,EACdzR,SAAU0R,EACVxR,UAAW,SAACzB,GAAD,OAtDvB,SAAuBA,GACP,UAAVA,EAAE2T,KAAmBX,EAAOE,EAAgBF,GAC7B,WAAVhT,EAAE2T,MACThB,GAAW,GACXF,GAAW,IAkDgDmB,CAAc5T,MAcrE,sBAAK9a,UAAS,uBAAd,UACE,cAACC,EAAD,CACED,UAAS,wBACTS,KAAK,KACLD,QAAQ,OACRI,UAAWiC,GAAY9C,EAAMa,SAC7BD,QAAS,kBAtFrB,WAEE+sB,GAAY,GACZD,GAAW,GACXF,GAAW,GAGX,IAAM/f,EAAS,IAAIuJ,gBAAgBrO,OAAOC,SAASqO,QACnDxJ,EAAOvC,OAAOlL,EAAM8tB,YAAYlnB,IAChCqL,EAAQiN,KAAK,CAAEjI,OAAQxJ,EAAOwU,WAAWpY,QAAQ,QAAS,MA6EjC+kB,IALjB,2BASA,cAAC1uB,EAAD,CAAQQ,KAAK,KAAKT,UAAS,wBAA2BY,UAAWktB,GAAS/tB,EAAMa,SAAUD,QAAS,kBAAMqtB,EAAgBF,IAAzH,6BAQR,6B,OC3JG,SAASc,GAAW7uB,GAA6C,IAAD,IAE/DiS,EAAU4M,cAEhB,EAAgCrX,oBAAkB,WAAO,IAAD,IAEtD,KAAI,UAACxH,EAAM8tB,mBAAP,aAAC,EAAmBgB,UAAU,OAAO,EACzC,IASO,MARD3mB,EADS,IAAI6O,gBAAgBrO,OAAOC,SAASqO,QAC9BvM,IAAI,QAEzB,aAAI1K,EAAM8tB,mBAAV,aAAI,EAAmBiB,UAAW,CAAC,IAAD,IAC1BC,EAAgBhvB,EAAM8tB,YAAYiB,UACrCE,MAAM,MACNxT,KAAI,SAACyT,GAAD,OAAmBA,EAAQ,WAC/B9kB,KAAK,MACR,iBAAQjC,KAAK,UAAKnI,EAAM8tB,mBAAX,aAAK,EAAmBiB,YAAa5mB,GAAS6mB,SAA3D,SAEA,iBAAQ7mB,KAAK,UAAKnI,EAAM8tB,mBAAX,aAAK,EAAmBqB,mBAAoBhnB,KAAU,UAAAnI,EAAM8tB,mBAAN,eAAmBqB,kBAAmB,eAAzG,YAbJ,mBAAO9I,EAAP,KAAiB+I,EAAjB,KAiBA,EAAsC5nB,oBAAS,WAAO,IAAD,QAEnD,KAAI,UAACxH,EAAM8tB,mBAAP,aAAC,EAAmBgB,UAAU,OAAO,EACzC,IACM3mB,EADS,IAAI6O,gBAAgBrO,OAAOC,SAASqO,QAC9BvM,IAAI,QACzB,SACE2b,KAAQ,OACRle,QADQ,IACRA,OADQ,EACRA,EAAOuP,UACL,UAAA1X,EAAM8tB,mBAAN,eAAmBiB,WAAnB,UACI/uB,EAAM8tB,mBADV,aACI,EAAmBiB,UAChBE,MAAM,MACNxT,KAAI,SAACyT,GAAD,OAAmBA,EAAQ,WAC/B9kB,KAAK,OACR,UAAApK,EAAM8tB,mBAAN,eAAmBqB,kBAAmB,cAbhD,mBAAOE,EAAP,KAAqBC,EAArB,KAuFA,OACE,sBAEErvB,UAAS,4BAAsB,UAAAD,EAAM8tB,mBAAN,eAAmBgB,UAAW,GAAK,6BAClEluB,QAAS,kBAAQZ,EAAMa,SAAwE,KAA5Db,EAAMuvB,UAjC7C,WAAgC,IAAD,EAE7B,GAAI,UAACvvB,EAAM8tB,mBAAP,aAAC,EAAmBgB,SAAxB,CAGA,IAgBO,MAdY,MAFbrhB,EAAS,IAAIuJ,gBAAgBrO,OAAOC,SAASqO,QACnDxJ,EAAOvC,OAAO,QACTmkB,GAgBH5hB,EAAOygB,OAAO,OAAd,8BAAyBluB,EAAM8tB,mBAA/B,aAAyB,EAAmBiB,iBAA5C,kBAAyD/uB,EAAM8tB,mBAA/D,aAAyD,EAAmBqB,mBAC5EG,GAAc,KAfd7hB,EAAOygB,OACL,OADF,WAGI,UAAAluB,EAAM8tB,mBAAN,eAAmBiB,WAAnB,UACI/uB,EAAM8tB,mBADV,aACI,EAAmBiB,UAChBE,MAAM,MACNxT,KAAI,SAACyT,GAAD,OAAmBA,EAAQ,WAC/B9kB,KAAK,OACR,UAAApK,EAAM8tB,mBAAN,eAAmBqB,kBAAmB,UAG9CG,GAAc,IAMhBrd,EAAQiN,KAAK,CAAEjI,OAAQxJ,EAAOwU,WAAWpY,QAAQ,QAAS,OAOH2lB,GApEzD,WAAyB,IAAD,EAEtB,GAAI,UAACxvB,EAAM8tB,mBAAP,aAAC,EAAmBgB,SAAxB,CAGA,IAOqB,MALN,MAFTrhB,EAAS,IAAIuJ,gBAAgBrO,OAAOC,SAASqO,QACnDxJ,EAAOvC,OAAO,QACTmb,EAKEgJ,GAeH5hB,EAAOvC,OAAO,QACdokB,GAAc,GACdF,GAAY,KAfZ3hB,EAAOygB,OACL,OADF,WAGI,UAAAluB,EAAM8tB,mBAAN,eAAmBiB,WAAnB,UACI/uB,EAAM8tB,mBADV,aACI,EAAmBiB,UAChBE,MAAM,MACNxT,KAAI,SAACyT,GAAD,OAAmBA,EAAQ,WAC/B9kB,KAAK,OACR,UAAApK,EAAM8tB,mBAAN,eAAmBqB,kBAAmB,UAG9CG,GAAc,KAhBhB7hB,EAAOygB,OAAO,OAAd,oBAAsBluB,EAAM8tB,mBAA5B,aAAsB,EAAmBiB,iBAAzC,kBAAsD/uB,EAAM8tB,mBAA5D,aAAsD,EAAmBqB,kBACzEC,GAAY,IAsBdnd,EAAQiN,KAAK,CAAEjI,OAAQxJ,EAAOwU,WAAWpY,QAAQ,QAAS,OAoCqB4lB,IAH/E,UAKE,mBAAGxvB,UAAS,iBAAZ,SAAiCD,EAAMqY,SAItC,UAAArY,EAAM8tB,mBAAN,eAAmBgB,YACjBO,EACC,cAAC,EAAD,CAAYpvB,UAAS,wBAAmBomB,EAAW,uBAAyB,MACzEA,EAOH,cAAC,EAAD,CAAWpmB,UAAS,wBAAmBomB,EAAW,uBAAyB,MAN3ErmB,EAAMuvB,UACJ,cAAC,EAAD,CAAYtvB,UAAS,wBAAmBomB,EAAW,uBAAyB,MAE5E,cAAC,EAAD,CAAWpmB,UAAS,wBAAmBomB,EAAW,uBAAyB,U,cCtIhF,SAASqJ,GAAa1vB,GAA+C,IAAD,EACzE,EAAgCwH,oBAAkB,GAAlD,mBAAOsX,EAAP,KAAkBC,EAAlB,KACA,EAA2CvX,mBAAS,IAApD,mBAAOmoB,EAAP,KAAmBC,EAAnB,KACMC,EAAcnS,iBAAmB,MAHkC,4CAKzE,4BAAAtP,EAAA,6DACE2Q,GAAW,GADb,kBAIuB/e,EAAM8vB,gBAJ7B,OAIU5iB,EAJV,OAKI0iB,EAAc1iB,GALlB,gDAOIX,QAAQC,IAAR,MAPJ,QAUEuS,GAAW,GAVb,0DALyE,sBA2BzE,OATA7D,qBAAU,WAAO,IAAD,GACV,iBAACyU,QAAD,IAACA,OAAD,EAACA,EAAYpX,cAAb,QAAuB,GAAK,GAAKsX,GAAeA,EAAY5R,SAAW4R,EAAY5R,QAAQpE,MAC7FhB,YAAW,WACTgX,EAAY5R,QAAQpE,KAAKO,QACzBwV,EAAc,SAGjB,CAACD,IAGF,qCACE,cAACzvB,EAAD,CAAQK,KAAM,cAAC,EAAD,IAAYC,UAAWR,EAAMQ,UAAWI,QAAS,kBA7BM,0CA6BA6oB,IAAiB5oB,SAAUb,EAAMa,SAAUF,QAASme,EAAzH,qBAIC,iBAAC6Q,QAAD,IAACA,OAAD,EAACA,EAAYpX,cAAb,QAAuB,GAAK,EAC3B,cAAC,WAAD,CACErL,KAAMyiB,EACNI,SAAQ,UAAK/vB,EAAMgwB,eAAX,aAA6B,IAAIlrB,MAAOmrB,qBAAxC,eACRvT,IAAKmT,EACL/T,MAAO,CAAEoU,QAAS,eAElBhkB,K,OCxCK,SAASikB,GAAUnwB,GAC9B,OACI,sBAAKC,UAAU,eAAf,UACI,oBAAIA,UAAU,gBAAd,SAA+BD,EAAMowB,eACrC,qBAAKnwB,UAAU,aAAf,SACI,cAACC,EAAD,CACID,UAAU,eACVQ,QAAQ,UACRC,KAAK,KACLE,QAAS,WACLZ,EAAMY,WALd,SAQKZ,EAAMqwB,kB,oBCbZ,SAASC,GAAStwB,GAC/B,IAAMuwB,EAAc,SAACzvB,GACnB,OAAOA,GACL,IAAK,mBAEL,IAAK,YAEL,IAAK,iBAEL,IAAK,UAEL,IAAK,UAEL,IAAK,SAEL,IAAK,OACH,OAAOyL,QAAQ8X,KAAKvjB,GACtB,QACEyL,QAAQC,IAAI,6BAIlB,OACE,sBAAKvM,UAAWD,EAAMwwB,SAAW,qBAAuB,8BAAgC1U,MAAO,CAAEna,OAAY,OAAL3B,QAAK,IAALA,OAAA,EAAAA,EAAOwwB,UAAW,QAAU,SAApI,UACE,cAACtwB,EAAD,CAAQK,KAAM,cAAC,GAAD,IAAqBE,QAAQ,cAAcD,UAAU,OAAOI,QAAU,kBAAM2vB,EAAY,qBAAqBtwB,UAAU,kBACrI,cAACC,EAAD,CAAQK,KAAM,cAAC,GAAD,IAAcE,QAAQ,cAAcD,UAAU,OAAOI,QAAU,kBAAM2vB,EAAY,cAActwB,UAAU,kBACtHD,EAAMwwB,SAAW,qBAAKvwB,UAAU,UAAf,eAAmC,KACrD,cAACC,EAAD,CAAQK,KAAM,cAAC,GAAD,IAAkBE,QAAQ,cAAcD,UAAU,OAAOI,QAAU,kBAAM2vB,EAAY,mBAAmBtwB,UAAU,kBAChI,cAACC,EAAD,CAAQK,KAAM,cAAC,GAAD,IAAYE,QAAQ,cAAcD,UAAU,OAAOI,QAAU,kBAAM2vB,EAAY,YAAYtwB,UAAU,kBACnH,cAACC,EAAD,CAAQK,KAAM,cAAC,GAAD,IAAaE,QAAQ,cAAcD,UAAU,OAAOI,QAAU,kBAAM2vB,EAAY,YAAYtwB,UAAU,kBACnHD,EAAMwwB,SAAW,qBAAKvwB,UAAU,UAAf,eAAmC,KACrD,cAACC,EAAD,CAAQK,KAAM,cAAC,GAAD,IAAYE,QAAQ,cAAcD,UAAU,OAAOI,QAAU,kBAAM2vB,EAAY,WAAWtwB,UAAU,kBAClH,cAACC,EAAD,CAAQK,KAAM,cAAC,GAAD,IAAUE,QAAQ,cAAcD,UAAU,OAAOI,QAAU,kBAAM2vB,EAAY,SAAStwB,UAAU,qBCtB7G,ICrBcwwB,G,wGAEnB,SAAgCnkB,GAC9B,IAAIokB,EAAM,sCAEV,GAAIpkB,EACF,GAAIA,EAAMe,SACR,GAAIf,EAAMe,SAASH,MAAQyjB,MAAMC,QAAQtkB,EAAMe,SAASH,OAASZ,EAAMe,SAASH,KAAKqL,OAAS,EACxFjM,EAAMe,SAASH,KAAK,GAAG2jB,WACzBH,EAAG,iDAA6CpkB,EAAMe,SAASH,KAAK,GAAG2jB,WAApE,KACMvkB,EAAMe,SAASH,KAAK,GAAG4jB,YAChCJ,EAAG,gDAA4CpkB,EAAMe,SAASH,KAAK,GAAG4jB,iBAGxE,OAAQxkB,EAAMe,SAASyf,QACrB,KAAK,IACH4D,EAAM,yBACN,MACF,KAAK,IACHA,EAAM,2BACN,MACF,KAAK,IACHA,EAAM,+CACN,MACF,KAAK,IACHA,EAAM,gCACN,MACF,KAAK,IACHA,EAAM,sCACN,MACF,KAAK,IACHA,EAAM,0CAIHpkB,EAAMkd,UACfkH,EAAG,iBAAapkB,EAAMkd,UAI1B,OAAOkH,M,KCRLK,I,OAAkB,CACtB,CAAEhF,aAAc,GAAI5jB,MAAO,oBAAqBvB,GAAI,MACpD,CAAEmlB,aAAc,GAAI5jB,MAAO,oBAAqBvB,GAAI,MACpD,CAAEmlB,aAAc,IAAK5jB,MAAO,qBAAsBvB,GAAI,OACtD,CAAEmlB,aAAc,IAAK5jB,MAAO,qBAAsBvB,GAAI,SA8FlDoqB,GAAQ3G,sBAAuB,SAACrqB,EAAc0c,GAAS,IAAD,kCACpDjP,EAAS,IAAIuJ,gBAAgBrO,OAAOC,SAASqO,QAC3C9M,EAAQif,cAARjf,IACF8H,EAAU4M,cAChB,EAAgCrX,mBAAiB,IAAjD,mBAAOoG,EAAP,KAAiBqjB,EAAjB,KACA,EAA8CtW,qBAAWuR,IAAjDM,EAAR,EAAQA,eAAgBC,EAAxB,EAAwBA,kBACxB,EAAwCjlB,oBAAiB,WAAO,IAAD,EACvD0pB,EAA0B/G,SAAQ,UAAC1c,EAAO/C,IAAI,uBAAZ,QAA+B,IAAK,IAC5E,OAAIymB,MAAMD,IAGDA,GAA2B,EAF3B,EAIHA,GAA2BlxB,EAAMoxB,SAAS7Y,OAAS,EACnDvY,EAAMoxB,SAAS7Y,OAAS,EACxB2Y,KATR,mBAAOG,EAAP,KAYMnkB,GAZN,KAYaokB,mBAAqB,kBAAMtxB,EAAMoxB,SAASC,GAAcnkB,KAAKqkB,YAAW,CAACvxB,EAAMoxB,SAASC,GAAcnkB,KAAKqkB,aAClHC,EAAUF,mBACd,kBAAMtxB,EAAMoxB,SAASC,GAAcG,UADd,CAEpBH,EAAcrxB,EAAMyxB,WAAWC,YAFX,qBAEgC,OAAL1xB,QAAK,IAALA,GAAA,UAAAA,EAAOoxB,SAASC,UAAhB,eAA+BM,YAA/B,OAA4C3xB,QAA5C,IAA4CA,GAA5C,UAA4CA,EAAOoxB,SAASC,UAA5D,aAA4C,EAA+BM,WAAa,MAG1I,EAAsDnqB,mBAAS,IAA/D,mBAAOoqB,EAAP,KAA4BC,EAA5B,KACA,EAA8CrqB,oBAAkB,GAAhE,mBAAOsqB,EAAP,KAAwBC,GAAxB,KACA,GAA0CvqB,oBAAkB,GAA5D,qBAAOwqB,GAAP,MAAsBC,GAAtB,MAwCA,SAASC,KAAsC,IAAD,EAC5C,iBAAOzkB,EAAO/C,IAAI,eAAlB,aAA6BwB,EAI/B,SAASimB,KACP,IAAMC,EAAgB,GAEhBC,EAAiB,GAmBvB,GAjBAb,EAAQ/V,KAAI,SAAC6W,GAA8B,IAAD,IAIS,IAE1C,IALDnqB,EAAK,oBAAGsF,EAAO/C,IAAI4nB,EAAOC,iBAArB,aAAG,EAA6BC,WAAW,KAAM,aAAjD,QAA0D,KAC/DrD,EAAmBmD,EAAOnD,iBAE5BhnB,GAA8B,gBAArBgnB,EApDoB,SACnChnB,EACAgnB,EACAsD,EACAJ,EACAK,GAEA,IAAMC,EAAWxI,SAAQ,OAAChiB,QAAD,IAACA,IAAS,KAC7B2kB,EAAS1rB,EAAkBuxB,GAC3BC,EAAQC,YAASC,IAAID,YAASC,MAAMC,KAAMF,YAASC,MAAMlL,MAAOiL,YAASC,MAAME,KAEhF7qB,GAAUgnB,GAAqBsD,IAIrB,WAAX3F,EACFuF,EAAQnT,KAAK,CAAEgQ,MAAO,SAAU1gB,MAAO,KAAMrG,MAAO,WAChC,SAAX2kB,EACTuF,EAAQnT,KAAK,CAAEgQ,MAAO,SAAU1gB,MAAO,KAAMrG,MAAO,UAEpDkqB,EAAQnT,KAAK,CAAEgQ,MAAO,SAAU1gB,MAAO,KAAMrG,MAAO,WACpDkqB,EAAQnT,KAAK,CACXgQ,MAAO,iBACP1gB,MAAOikB,EACPtqB,MAAOyqB,EAAMK,MAAM,CAAEC,KAAMP,OAI3BD,GAAmBC,GAAY,GAAKA,EAAW,IACjDN,EAAQnT,KAAK,CACXgQ,MAAO,iBACP1gB,MAAOkkB,EACPvqB,MAAOyqB,EAAMK,MAAM,CAAEC,KAAMP,EAAW,QAqBtCQ,CAA6BhrB,EAAOgnB,EAAR,UAA0BmD,EAAOG,wBAAjC,QAAqD,KAAMJ,EAA3D,UAAoEC,EAAOI,uBAA3E,QAA8F,MAE1HL,EAAQnT,KAAK,CAAEgQ,MAAK,UAAEoD,EAAOnD,wBAAT,QAA6B,KAAM3gB,MAAK,UAAE8jB,EAAOG,wBAAT,QAA6B,KAAMtqB,MAAK,OAAEA,QAAF,IAAEA,IAAS,UAGnHkqB,EAAQ3H,SAAQ,SAAChd,GACM,OAAjBA,EAAOvF,OACTiqB,EAAIlT,KAAJ,WAAaxR,EAAOwhB,MAApB,YAA6BxhB,EAAOc,MAApC,aAA8Cd,EAAOvF,MAArD,UAKJ,OAAInI,QAAJ,IAAIA,OAAJ,EAAIA,EAAOoxB,SAASC,GAAc+B,kBAAmB,CAAC,IAAD,EAC7CC,EAAYlpB,EAAI2f,MAAM3f,EAAI6f,YAAY,KAAO,GAC9C,OAALhqB,QAAK,IAALA,GAAA,UAAAA,EAAOoxB,SAASC,GAAc+B,yBAA9B,SAAiD1I,SAAQ,SAAChd,GACpDA,EAAO4lB,QAAUD,GACnBjB,EAAIlT,KAAKxR,EAAO6lB,sBAItB,OAAOnB,EAAIhoB,KAAK,SAQlB,IAAMopB,GAAK,uCAAG,WAAO/yB,EAAwBgzB,GAA/B,SAAArlB,EAAA,sEACCpO,EAAMoxB,SAASC,GAAcnkB,KACvCwmB,UACC,CAACvB,KAAoBsB,GAAmB/lB,QAAO,SAACnL,GAAD,QAASA,KAAG6H,KAAK,SACpD,OAAZ3J,OAAmByL,EAAYlM,EAAMoxB,SAASC,GAAcnkB,KAAKymB,cACjEzB,KACY,OAAZzxB,GAAgC,WAAZA,EAAuB,IAAQmN,EACvC,OAAZnN,GAAgC,WAAZA,EAAuB,EAAIT,EAAMyxB,WAAW5jB,YAEjEpO,MAAK,SAACm0B,GACL,OAAO,2BAAKA,GAAZ,IAAyB1kB,QAASlP,EAAMoxB,SAASC,GAAcnkB,KAAK2mB,YAAYD,EAAanzB,QAVrF,mFAAH,wDAkBLqzB,GAAc,uCAAG,WAAOC,GAAP,uBAAA3lB,EAAA,6DACrBpO,EAAMg0B,OAAOC,UAAS,GACtBj0B,EAAMg0B,OAAO3K,gBAAgB,IAC7BrpB,EAAMg0B,OAAOjV,YAAYgV,GAHJ,kBAKOP,GAAM,OALb,OAKbI,EALa,OAMnB5zB,EAAMoxB,SAASC,GAAcnkB,KAAKgnB,aAAlC,iBAA+CN,QAA/C,IAA+CA,OAA/C,EAA+CA,EAAa1kB,eAA5D,QAAuE,IACvElP,EAAMyxB,WAAW0C,aAAapM,KAAKC,MAAK,UAAC4L,EAAYlC,kBAAb,QAA2B,IAA3B,UAAiCkC,EAAYhmB,gBAA7C,QAAyD,MACjG5N,EAAMyxB,WAAW2C,cAAjB,UAA+BR,EAAYlC,kBAA3C,QAAyD,GARtC,kDAUnB1xB,EAAMg0B,OAAOC,UAAS,GACtBj0B,EAAMg0B,OAAO3K,gBAAgBoH,GAAe4D,kBAAf,OAXV,yBAanBr0B,EAAMg0B,OAAOjV,YAAW,GAbL,6EAAH,sDAqBduV,GAAc,uCAAG,WAAOb,GAAP,iBAAArlB,EAAA,+EAELolB,GAAM,KAAMC,GAFP,wJAEZ,EAAwCvkB,QAF5B,qJAEuC,GAFvC,gFAInBlP,EAAMg0B,OAAOC,UAAS,GACtBj0B,EAAMg0B,OAAO3K,gBAAgBoH,GAAe4D,kBAAf,OALV,kBAMZ,IANY,0DAAH,sDAUpB,GAA+FE,oBAC7F,CACE/C,UACAtkB,OACAsnB,aAAc,CACZC,UAAS,UAAEz0B,EAAMyxB,WAAW5jB,kBAAnB,QAAiC,EAC1CD,SAAUA,EACV8mB,cAAa,UAAE10B,EAAMoxB,SAASC,GAAcqD,qBAA/B,QAAgD,GAC7DC,eAAgB/C,GAElBgD,uBAAuB,EACvBC,aAAc,SAACC,EAAUvd,EAAQwd,GAE/B,OADAD,EAAQ,2BAAQA,GAAR,IAAkBpD,WAAY1xB,EAAMyxB,WAAWC,aACnC,kCAAhBna,EAAOzW,MACT+wB,EAAuBta,EAAOyd,QAAQpD,qBACtCG,GAAmBxa,EAAOyd,QAAQlD,iBAC3B,2BACFgD,GADL,IAEEH,eAAgBpd,EAAOyd,QAAQpD,uBAER,sBAAhBra,EAAOzW,MAChB+wB,EAAuB,IACvBI,IAAiB,GACjBF,IAAmB,GACZ,2BAAK+C,GAAZ,IAAsBH,eAAgB,OACb,sBAAhBpd,EAAOzW,OAChB+wB,EAAuBiD,EAASH,gBAChC5C,GAAmBkD,OAAOC,KAAKJ,EAASH,gBAAgBpc,SAAWvY,EAAMyxB,WAAWC,aAE/EoD,IAETK,kBAAkB,EAClBC,UAAWp1B,EAAMyxB,WAAW2D,UAC5BC,SAAU,SAACC,GAAD,OAASA,EAAI1uB,KAEzB2uB,iBACAC,iBACA,SAACC,GAAW,IAAD,GACT,UAAAz1B,EAAM01B,eAAN,eAAeC,gBACXF,EAAMG,eAAe1W,MAAK,SAACsS,GAAD,OACxB,CACE5qB,GAAI,YAEJ0nB,OAAQ,SAACR,GACP,IAAM+H,EFvT4B,SAAC,GAIO,IAHxD/H,EAGuD,EAHvDA,YACAgI,EAEuD,EAFvDA,gBAEuD,IADvDC,iBAEMC,EAAuB,SAACC,GAAD,OAAsBA,EAAKvoB,OAAOooB,GAAiBI,OAAM,SAACZ,GAAD,OAASA,EAAIa,eAC7FC,QAFiD,WAEdtI,EAAYuI,KAAK3oB,OAAOooB,GAAiBte,MAAK,SAAC8d,GAAD,OAAUA,EAAIa,cAG/FG,EAAgBrB,OAAOC,KAAKpH,EAAYhkB,MAAM6qB,gBAAgBpc,OAE9DmZ,EAAc5D,EAAYhkB,MAAc4nB,WAExCmE,EAAgBO,EAAetI,EAAYyI,oCAAsCzI,EAAY0I,gCAE7F31B,EAA+D,IAApDitB,EAAYmI,KAAKvoB,OAAOooB,GAAiBvd,OACpDke,GAAW51B,GAAYm1B,EAAqBlI,EAAYmI,OAASK,IAAkB5E,EACnFpH,GAAiBmM,GAAWH,EAAgB,EAoBlD,OAAO,2BACFT,GADL,IAEEvZ,SApBe,YAEV8Z,GAAgBJ,EAAqBlI,EAAYmI,MACpDnI,EAAYmI,KAAKvL,SAAQ,SAAC4K,GACxBxH,EAAY4I,kBAAkBpB,EAAI1uB,IAAI,OAK3BwvB,EAAetI,EAAYuI,KAAOvI,EAAYmI,MAEtDvL,SAAQ,SAAC4K,GACZ,IAAMmB,EAAUX,EAAgBR,GAChCxH,EAAY4I,kBAAkBpB,EAAI1uB,GAAI6vB,OAQ1CA,UACAnM,gBACAzpB,aE6QkC81B,CAAmC,CACvD7I,YAAY,2BAAMA,GAAP,IAAoB4D,WAAY1xB,EAAMyxB,WAAWC,aAC5DoE,gBAAiB,SAACR,GAAD,OAAUA,EAAIsB,SAASC,mBAW1C,OARA3b,qBAAU,WAAO,IAAD,IACd,UAAI2a,EAAcvL,qBAAlB,SACE2H,IAAiB,IACmC,KAA3C,UAAC4D,EAAcvL,qBAAf,YAA8E,IAA1BuL,EAAcY,SAC3ExE,IAAiB,KAElB,CAAC4D,EAAcvL,cAAeuL,EAAcY,UAG7C,qBAAKx2B,UAAS,oBAAd,SACE,cAAC,GAAD,eAA2B41B,OAKjCiB,KAAM,SAAC92B,GACL,OACE,qBAAKC,UAAS,oBAAd,SAIE,cAAC,GAAD,2BAA2BD,EAAMs1B,IAAIyB,6BAArC,IAAkEl2B,SAAUb,EAAMs1B,IAAIsB,SAASC,wBA/B/E,oBAoCrBrF,UA3ELwF,GAAR,GAAQA,SAAUC,GAAlB,GAAkBA,kBAAmBC,GAArC,GAAqCA,aAAcC,GAAnD,GAAmDA,WAAYd,GAA/D,GAA+DA,KAAMT,GAArE,GAAqEA,eAAgB9rB,GAArF,GAAqFA,MA2FrF,IAQMstB,GAAgB,SAAC9B,GACrB,OAAOA,EAAI+B,SAAW,GAAK,SAM7BC,8BAAoB5a,GAAK,iBAAO,CAC9B6a,YAD8B,WAE5BzD,KACAkD,GAAS,CAAEl2B,KAAM,uBAEnB02B,YAL8B,WAM5B1D,IAAe,GACfkD,GAAS,CAAEl2B,KAAM,uBAEnB22B,uBAT8B,WAU5B,IAAMC,EAAezC,OAAOC,KAAKtD,GACjC,OAAO5xB,EAAMoxB,SAASC,GAAcnkB,KAAKqkB,UAAU7jB,QAAO,SAACoQ,GAAD,OAAS4Z,EAAahgB,SAASoG,EAAIlX,YAIjG,IAsBM+wB,GAAY,uCAAG,kCAAAvpB,EAAA,yDACfwpB,EAAmB,GAEyB,IAA5C3C,OAAOC,KAAKtD,GAAqBrZ,OAHlB,gCAIX+b,KAAiB70B,MAAK,SAACyN,GAC3B0qB,EAAS1qB,EAAKuO,KAAI,SAACoc,GAAD,OAAqBA,EAAKjxB,SAL7B,6BAUjBgxB,EAAS3C,OAAOC,KAAKprB,GAAM6qB,gBAVV,OAcnB,IADMmD,EAAmC,GAChCvR,EAAI,EAAGA,EAAIwB,KAAKC,KAAK4P,EAAOrf,OA9ZnB,IA8Z4CgO,IACtDwR,EAAcH,EAAO9N,MA/ZX,GA+ZiBvD,EA/ZjB,GA+ZoCA,EA/ZpC,IAgahBuR,EAAS5Y,KAAKsU,GAAM,SAAD,UAAcxzB,EAAMoxB,SAASC,GAAc2G,eAA3C,gBAAiED,EAAY3tB,KAAK,MAAlF,OAhBF,iBAmBNuO,QAAQsf,IAAIH,GAAUr4B,MAAK,SAACy4B,GAAD,OACtCA,EAAOC,QAAO,SAACld,EAAgCmd,GAAuB,IAAD,EACnE,MAAM,GAAN,oBAAWnd,GAAX,8BAAqBmd,QAArB,IAAqBA,OAArB,EAAqBA,EAAMlpB,eAA3B,QAAsC,OACrC,OAtBc,qFAAH,qDA+DlB,OA1BAgM,qBAAU,WAAO,IAAD,EAEd,IAAS,OAALlb,QAAK,IAALA,GAAA,UAAAA,EAAOoxB,SAASC,UAAhB,eAA+BgH,cAAsC,OAAvB5qB,EAAO/C,IAAI,QAAkB,CAAC,IAAD,MAC7E+C,EAAOvC,OAAO,QACd,IAAMotB,EAAiB,iBACrBt4B,QADqB,IACrBA,GADqB,UACrBA,EAAOoxB,SAASC,UADK,iBACrB,EAA+BgH,mBADV,aACrB,EACIpJ,MAAM,MACPxT,KACC,SAACyT,GAAD,eAAmBA,IAAc,OAALlvB,QAAK,IAALA,GAAA,UAAAA,EAAOoxB,SAASC,UAAhB,eAA+BkH,kBAA/B,kBAAsDv4B,QAAtD,IAAsDA,GAAtD,UAAsDA,EAAOoxB,SAASC,UAAtE,aAAsD,EAA+BkH,kBAAqB,OAEvInuB,KAAK,aANa,QAMJ,GACnBqD,EAAOygB,OAAO,OAAQoK,GACtBrmB,EAAQiN,KAAK,CAAEjI,OAAQxJ,EAAOwU,WAAWpY,QAAQ,QAAS,MAG5DiqB,OACC,CAAC9zB,EAAMyxB,WAAW5jB,WAAYD,EAAUyjB,IAG3CnW,qBAAU,WACR,GAAIlb,EAAMw4B,YAAa,CACrB,IAAM7D,EAAiBM,OAAOC,KAAKtD,GACnC5xB,EAAMw4B,YAAYx4B,EAAMoxB,SAASC,GAAcnkB,KAAKqkB,UAAU7jB,QAAO,SAACoQ,GAAD,OAAS6W,EAAejd,SAASoG,EAAIlX,WAE3G,CAACgrB,IAGF,sBACE3xB,UAAS,qBACTyc,IAAKA,EACLZ,MAAO,CACL2c,kBACE,UAAAz4B,EAAM01B,eAAN,eAAegD,eAAf,UAA8B14B,EAAM01B,eAApC,aAA8B,EAAeiD,gBACzC,sBACA,UAAA34B,EAAM01B,eAAN,eAAegD,aACf,iBACA,UAAA14B,EAAM01B,eAAN,eAAeiD,gBACf,YACA,QAXV,WAeG,UAAA34B,EAAM01B,eAAN,eAAegD,cACd,sBAAKz4B,UAAS,wBAAoBD,EAAMI,MAAmC,GAA3B,0BAAhD,UACGJ,EAAMI,OAAS,mBAAGH,UAAS,QAAZ,SAAwBD,EAAMI,SAC7C,UAAAJ,EAAM01B,eAAN,eAAekD,gBACd,cAAClJ,GAAD,CACEI,cAAe,kBAAM6H,MACrB3H,eAAc,oBAAEhwB,EAAMoxB,SAASC,GAAcwH,cAA/B,aAAE,EAAqC7I,sBAAvC,QAAyD,GACvExvB,UAAU,OACVK,SAAUb,EAAMg0B,OAAOlV,WAAa9e,EAAMg0B,OAAO8E,SAAW94B,EAAMoxB,SAASC,GAAcnkB,KAAKqkB,UAAUhZ,QAAU,IAGrHvY,EAAM+4B,YACL/4B,EAAM+4B,WAAWtd,KAAI,SAACud,GACpB,OAAO,oCAAgD,IAA5C/D,OAAOC,KAAKtD,GAAqBrZ,SAAiBygB,EAAUC,kBAAoBD,EAAUE,eAExGl5B,EAAMm5B,eACuC,IAA5ClE,OAAOC,KAAKtD,GAAqBrZ,QACjCvY,EAAMm5B,cAAc1d,KAAI,SAACoc,EAAMrQ,GAC7B,MAAa,YAATqQ,EACK,qBAAK53B,UAAU,uBAAf,eAGL,cAACC,EAAD,2BAEM23B,GAFN,IAGEj3B,QAAS,kBAAMi3B,EAAKuB,SAASnE,OAAOC,KAAKtD,OAH3C,0BAC0BpK,OAOlC,sBAAKvnB,UAAU,yBAAf,UACGD,EAAMoxB,SAAS7Y,OAAS,GACvB,cAAC,GAAD,CACEhY,KAAM,cAAC,GAAD,IACNkc,aAAczc,EAAMoxB,SAASC,GAAcgI,YAC3C7rB,QAAO,UACLxN,EAAMoxB,SAAS3V,KAAI,SAAC6d,EAAkB9R,GACpC,MAAO,CACL5gB,GAAI0yB,EAAQ1yB,GACZuB,MAAOmxB,EAAQD,YACftN,aAAcvE,aALb,QAOC,GAER5mB,QAzLd,SAAoC4mB,GAClC/Z,EAAOid,SAAQ,SAAC6O,EAAG7K,GACL,iBAARA,GACFjhB,EAAOvC,OAAOwjB,MAGlBjhB,EAAO4H,IAAI,eAAgB8B,OAAOqQ,IAClCvV,EAAQiN,KAAK,CAAEjI,OAAQxJ,EAAOwU,WAAWpY,QAAQ,QAAS,UAsLjD,UAAA7J,EAAM01B,eAAN,eAAe8D,eAAgB,cAACvc,GAAD,CAAeX,SAAU,SAACwB,GAAD,OAAiB,QAAW,WAI3F,cAAC,KAAD,CACE7d,UAAS,kBAAa+xB,GAAgB,qBAAuB,IAC7DxkB,QAAS,CAAEisB,iBAAiB,EAAMC,YAAY,EAAMC,iBAAiB,GAFvE,SAIE,sBACE15B,UAAS,gCAA2B+xB,GAAgB,aAAe,UAA1D,YACPhyB,EAAMg0B,OAAOlV,WAAa9e,EAAMg0B,OAAO8E,WAAW,OAACzC,SAAD,IAACA,QAAD,EAACA,GAAM9d,QAAS,yBAA2B,IAFjG,UAME,sBAAKtY,UAAU,aAAf,UACGi3B,GAAazb,KAAI,SAACme,EAAapS,GAAd,OAChB,uDAAKvnB,UAAS,OAAa25B,EAAYC,uBAAvC,IAA8DnL,IAAG,sBAAiBlH,KAC/EoS,EAAYnuB,QAAQgQ,KAAI,SAAC6W,EAAQ9K,GAAW,IAAD,UAC1C,OACE,uDACEvnB,UAAS,mBACG,IAAVunB,IAAA,UAAexnB,EAAM01B,eAArB,aAAe,EAAeC,eAC1B,iBACAnO,IAAUoS,EAAYnuB,QAAQ8M,OAAS,EACvC,gBACU,IAAViP,EACA,6BACA,KAEF8K,EAAOwH,eAAe,CACxBhe,MAAO,CAAEna,MAAO2wB,EAAO3wB,UAX3B,IAaE+sB,IAAG,iBAAYlH,KAEf,qBAAKvnB,UAAS,8CAAsB25B,EAAYnuB,QAAQ+b,UAA1C,aAAqB,EAAqCuS,iBAA1D,QAAuE,UAArF,SAEY,GAATvS,IAAA,UAAcxnB,EAAM01B,eAApB,aAAc,EAAeC,eAC5BrD,EAAO0H,OAAO,UAEd,qCACE,cAAC,GAAD,CACElM,YAAa8L,EAAYnuB,QAAQ+b,GACjCnP,MAAOia,EAAO0H,OAAO,UACrBn5B,SAAUb,EAAMg0B,OAAOlV,WAAgC,WAAlBwT,EAAOhE,QAAuBnkB,EAAIuN,SAAS,UAChF6X,UACGqK,EAAYnuB,QAAQ+b,GAAeuH,YAAc/uB,EAAMoxB,SAASC,GAAcgH,aAC9EuB,EAAYnuB,QAAQ+b,GAAe2H,mBAAqBnvB,EAAMoxB,SAASC,GAAcgH,eAGxFluB,EAAIuN,SAAS,WAAcvN,EAAIuN,SAAS,WAA+B,WAAlB4a,EAAOhE,OAC5D,cAAC,GAAD,CACE7tB,QAAQ,cACRC,KAAK,KACL0tB,OAAQ5G,IAAUoS,EAAYnuB,QAAQ8M,OAAS,EAAI,SAAW,OAC9D1X,SAAUb,EAAMg0B,OAAOlV,UACvBgP,YAAa8L,EAAYnuB,QAAQ+b,KAGnC,6BAEAoS,EAAYnuB,QAAQ+b,GAAeyS,eACnC,cAAC95B,EAAA,EAAD,CACEC,MAAQw5B,EAAYnuB,QAAQ+b,GAAeyS,cAC3CvQ,UAAS,UAAGkQ,EAAYnuB,QAAQ+b,GAAe0S,8BAAtC,QAAgE,YAF3E,SAIE,cAACrQ,GAAA,EAAD,CAAYnpB,KAAK,QAAjB,SACE,cAAC,EAAD,qBAYrBsxB,GACC,qBAAK/xB,UAAS,mBAAd,SACE,sBAAKA,UAAW,mBAAhB,UACG6xB,EACC,qCACM,+BAAOmD,OAAOC,KAAKtD,GAAqBrZ,SAD9C,gCAIA,qCACM,+BAAO0c,OAAOC,KAAKtD,GAAqBrZ,SAD9C,6CAIF,mBAAGtY,UAAW,oBAAqBW,QAASkxB,EA/O/B,WAC3BkF,GAAS,CAAEl2B,KAAM,uBAGU,WAC3BwzB,GAAet0B,EAAMoxB,SAASC,GAAcnkB,KAAKitB,iBAAiB16B,MAAK,SAACyN,GACtE,IAAMktB,EAAgBltB,EAAKirB,QAAO,SAACrM,EAAUxI,GAAX,OAAyB2R,OAAOxR,OAAOqI,EAAdmJ,OAAA,KAAAA,CAAA,GAAsB3R,EAAK1c,IAAe,MAAS,IAC9GqrB,IAAiB,GACjB+E,GAAS,CACPl2B,KAAM,gCACNk0B,QAAS,CACPpD,oBAAqBwI,EACrBtI,iBAAiB,SAmOT,SACGA,EAAkB,kBAAH,qBAAqC9xB,EAAMyxB,WAAWC,WAAtD,gBAZtB,0BAiBA,gCAKJ,6CAAKzxB,UAAU,cAAiBg3B,MAAhC,IAAqDnb,MAAO,CAAEue,SAAU,YAAxE,SACGr6B,EAAMg0B,OAAOlV,UACZ,cAAC,GAAD,CAAS4H,YAAU,IACjB1mB,EAAMg0B,OAAO8E,QACf,cAAC,GAAD,CACE1I,aAAcpwB,EAAMg0B,OAAO7gB,aAC3BvS,QAAS,kBA7MC,WACtB,IAAM6M,EAAS,IAAIuJ,gBAAgBrO,OAAOC,SAASqO,QACnDxJ,EAAOvC,OAAOshB,GACdva,EAAQiN,KAAK,CAAEjI,OAAQxJ,EAAOwU,WAAWpY,QAAQ,QAAS,MAC1D4iB,EAAkB,IAyMS6N,IACfjK,WAAY,eACZkK,SAAU/N,KAEN,OAAJ6J,SAAI,IAAJA,QAAA,EAAAA,GAAM9d,QACR8d,GAAK5a,KAAI,SAAC6Z,EAAK9N,GAGb,OAFA2P,GAAW7B,GAGT,uDACEr1B,UAAS,aAAQm3B,GAAcp3B,EAAMoxB,SAASC,GAAcnkB,KAAKqkB,UAAU/J,MACvE8N,EAAIkF,eAFV,IAGE9L,IAAG,cAASlH,GACZ5mB,QAAS,SAACma,GAAD,OAAwC/a,EAAMoxB,SAASC,GAAcoJ,eAAe1f,EAAGua,MAE/FA,EAAIoF,MAAMjf,KAAI,SAACkf,EAAMnT,GAAW,IAAD,sBACxBoT,GAAe,UAAChF,GAAepO,UAAhB,eAAgCuH,WACjDthB,EAAO/C,IAAI,WAAX,UAAwBkrB,GAAepO,UAAvC,aAAuB,EAAgCuH,YACvDthB,EAAO/C,IAAI,WAAX,UACGkrB,GAAepO,UADlB,aACE,EAAgCuH,UAC7BE,MAAM,MACNxT,KAAI,SAACyT,GAAD,OAAmBA,EAAQ,WAC/B9kB,KAAK,OANO,UAOjBqD,EAAO/C,IAAI,eAPM,aAOjB,EAAoBgN,SAApB,UAA8Bke,GAAepO,UAA7C,aAA6B,EAAgC2H,kBACjE,OACE,uDACErT,MAAO,CACLna,OAAO,UAAA3B,EAAM01B,eAAN,eAAeC,gBAA0B,GAATnO,EAAa,OAA7C,UAAsDoO,GAAepO,UAArE,aAAsD,EAAuB7lB,OAEtF1B,UAAS,4CAAoB21B,GAAepO,UAAnC,aAAmB,EAAgCuS,iBAAnD,QAAgE,SAAhE,YACPvS,IAAU8N,EAAIoF,MAAMniB,OAAS,EACzB,YACU,IAAViP,IAAA,UAAexnB,EAAM01B,eAArB,aAAe,EAAeC,eAC9B,YACU,IAAVnO,EACA,wBACA,KAEFmT,EAAKE,gBAbX,IAcEnM,IAAG,eAAUlH,KAEZmT,EAAKX,OAAO,QACF,IAAVxS,GAAeoT,GAAgB,qBAAK36B,UAAU,qBACpC,IAAVunB,IAAA,UAAgBoO,GAAepO,UAA/B,aAAe,EAAgC2G,aAAc,qBAAKluB,UAAU,2BAIlFD,EAAM86B,UAAY,cAACxK,GAAD,CAAUE,UAAU,QAK7C,cAAC,GAAD,YAKyB,IAAhCxwB,EAAMyxB,WAAWC,aAAjB,UAAqC1xB,EAAM01B,eAA3C,aAAqC,EAAeiD,iBACnD,sBAAK14B,UAAS,mBAAd,UACE,cAAC,GAAD,CACE2rB,UAAW,OACX3rB,UAAS,yBAAoBD,EAAMg0B,OAAOlV,WAAa9e,EAAMyxB,WAAWC,YAAc,GAAK,WAAa,IACxGjV,aAAc,oBACd7b,QAAS,SAACmrB,GAAD,OA7VU,SAAC5jB,GAAmB,IAAD,EACxCzH,EAAOypB,SAAShiB,GAClBnI,EAAMyxB,WAAWC,WAAahxB,IAAQ,UAACV,EAAMyxB,WAAW5jB,kBAAlB,QAAgC,GAAK,IAAMnN,EAAO,IAAMV,EAAMyxB,WAAWsJ,eACjH/6B,EAAMyxB,WAAWsJ,cAAc,GAEjC9J,EAAYvwB,GAwV+Bs6B,CAAqBjP,IACxDve,QAASujB,GACTlF,aAAY,UAAKje,GAAQ,UAAI5N,EAAMyxB,WAAW5jB,kBAArB,QAAmC,GAAK,EAArD,YAA0Dka,KAAKkT,IACzErtB,IAAY,UAAC5N,EAAMyxB,WAAW5jB,kBAAlB,QAAgC,GAAK,GACjD7N,EAAMyxB,WAAWC,eAGrB,oCAAO1xB,EAAMyxB,WAAWC,cACxB,sBAAKzxB,UAAS,qBAAd,UACE,wBACEA,UAAS,iBACTW,QAAS,kBACPZ,EAAMyxB,WAAWsJ,eAAiB/6B,EAAMyxB,WAAWsJ,eAAc,SAACG,GAAD,OAAoC,IAAbA,EAAiB,EAAIA,EAAW,MAE1Hr6B,SAAUb,EAAMg0B,OAAOlV,WAAa9e,EAAMyxB,WAAWC,YAAc,GALrE,SAOE,cAAC,EAAD,MAEF,wBACEzxB,UAAS,iBACTW,QAAS,kBACPZ,EAAMyxB,WAAWsJ,eACjB/6B,EAAMyxB,WAAWsJ,eAAc,SAACG,GAAD,OAC5BA,EAAW,GAAKttB,GAAY5N,EAAMyxB,WAAWC,WAAawJ,EAAWA,EAAW,MAGrFr6B,SAAUb,EAAMg0B,OAAOlV,WAAa9e,EAAMyxB,WAAWC,YAAc,GARrE,SAUE,cAAC,EAAD,kBAWdV,GAAM3T,aA7qBe,CACnBqY,QAAS,CACPgD,aAAa,EACb/C,eAAe,EACfgD,gBAAgB,EAChBC,eAAe,EACfY,eAAe,IAyqBJxI,U,OC1tBA,SAASmK,GAAKn7B,GAC3B,OACE,sBAAKC,UAAS,eAAU,QAAUD,EAAMS,QAA1B,YAAoD,OAAfT,EAAMU,KAAgB,UAAY,UAAvE,YAAoFV,EAAMC,UAAYD,EAAMC,UAAY,IAAtI,UACE,qBAAKA,UAAS,YACd,mBAAGA,UAAS,YAAZ,SAA4BD,EAAMo7B,UClCjC,IAAMC,GAAkB,SAACC,GAC9B,IAAKA,EACH,OAAO,KAET,IAAMC,EAAa1I,YAAS2I,WAAWF,EAAM,cAC7C,OAAKC,EAAWE,QAGP1T,KAAKe,OAAOyS,EAAWG,QAAQ,QAAQxI,MAFvC,MAWEyI,GAAa,SAACxzB,GACzB,OAAKA,EAGE0qB,YAAS2I,WAAWrzB,EAAM8mB,MAAM,KAAK,GAAI,cAAc2M,SAAS,gBAF9D,OA4BEC,GAAoB,SAACP,GAChC,IAAKA,EACH,OAAO,KAGT,IAAMC,EAAa1I,YAASiJ,QAAQR,EAAKzxB,QAAQ,IAAK,KAAKA,QAAQ,IAAK,IAAK,CAAEkyB,KAAM,QACrF,GAAKR,EAAWE,QAET,CACL,IAAMO,EAAcjU,KAAKe,OAAOyS,EAAWG,QAAQ,WAAWO,SAC9D,OAAID,EAAc,GACV,GAAN,OAAUjU,KAAKC,KAAKgU,GAApB,YAEEA,EAAc,KACV,GAAN,OAAUjU,KAAKC,KAAKgU,EAAc,IAAlC,UAEEA,EAAc,MACV,GAAN,OAAUjU,KAAKC,KAAKgU,EAAW,MAA/B,SAEI,GAAN,OAAUjU,KAAKC,KAAKgU,EAAW,OAA/B,UAZA,OAAO,MCtDUE,I,qHACnB,SAAsCC,EAAeC,EAAmBtgB,GACtE,IAAMugB,EAAa3e,iBAAuB,MAC1C,EAAwClW,oBAAS,GAAjD,mBAAO80B,EAAP,KAAqBC,EAArB,KAEA,SAASC,IACU,IAAD,QAAZH,KACE,oBAACA,EAAWpe,eAAZ,aAAC,EAAoBwe,mBAArB,QAAoC,IAApC,oBAA0CJ,EAAWpe,eAArD,aAA0C,EAAoBye,mBAA9D,QAA6E,GAC/EH,GAAgB,GAEhBA,GAAgB,IAWtB,OANArhB,qBAAU,WAGR,OAFAshB,IACA7zB,OAAO2S,iBAAiB,SAAUkhB,GAC3B,kBAAM7zB,OAAO4S,oBAAoB,SAAUihB,OAIlD,cAACr8B,EAAA,EAAD,CAASC,MAAO+7B,EAAO77B,cAAY,EAACq8B,qBAAsBL,EAA1D,SACE,qBAAK5f,IAAK2f,EAAYp8B,UAAS,+BAA0B6b,EAA1B,YAAmCsgB,EAAU,QAAU,IAAtF,SACGD,Q,sCAMT,SAAuCA,EAA2BC,GAChE,OAAO,qBAAKn8B,UAAS,+BAA0Bm8B,EAAU,QAAU,IAA5D,SAAmED,M,0BAG5E,SAA2BS,EAAoBR,EAAmBtgB,GAChE,OAAOzQ,KAAKwxB,wBAAwBD,GAAO,MAAOR,EAAStgB,K,iCAG7D,SAAkC3T,GAChC,OAAO,qBAAKlI,UAAW,oCAAhB,SAAsDkI,M,0BAG/D,SAA2B20B,EAAoBV,GAC7C,OAAO/wB,KAAKwxB,wBAAgC,OAARC,EAAeA,EAAI7a,WAAa,MAAOma,K,sBAG7E,SAAuBx1B,EAAmBw1B,GACxC,OAAO/wB,KAAKwxB,wBAAwBj2B,EAAE,WAAOA,GAAO,MAAOw1B,K,+BAG7D,SAAgCj0B,EAAsB2T,GACpD,OAAO,qBAAK7b,UAAS,+BAA0B6b,GAAxC,SAAkDlE,GAAMwJ,kBAAN,OAAwBjZ,QAAxB,IAAwBA,IAAS,W,kCAG5F,SAAmCA,GACjC,OACE,sBAAKlI,UAAW,iDAAhB,UACE,qBAAKA,UAAU,kBAAf,SACE,cAAC,EAAD,MAEF,qBAAKA,UAAU,YAAf,SAA4BkI,S,wBAKlC,SAAyBA,GAA2C,IAAD,EAC7D40B,EAIJ,MAHc,YAAV50B,IACF40B,EAAc,WAGd,qBAAK98B,UAAS,uBAAd,SACE,cAACE,EAAA,EAAD,CAASC,MAAK,UAAE28B,SAAF,QAAiB,GAAIz8B,cAAY,EAACq8B,sBAAsBI,EAAtE,SACE,qBAAK98B,UAAW,eAAhB,SAA2C,YAAVkI,EAAsB,cAAC,GAAD,IAAqB,W,4BAMpF,SAA6BA,EAAwEkvB,GACnG,OAAIlvB,EACEA,aAAiB8sB,OAEjB,qBAAKh1B,UAAS,+BAA0Bo3B,EAAW,SAAW,QAA9D,SACGlvB,EAAM60B,SAAW70B,EAAM2F,KACtB,oBAAG7N,UAAU,UAAb,UACGkI,EAAM60B,QACP,uBAAM/8B,UAAU,OAAhB,gBAA2BkI,EAAM2F,WAEjC3F,EAAM60B,QACR,mBAAG/8B,UAAU,UAAb,SAAwBkI,EAAM60B,UAC5B70B,EAAM2F,KACR,mBAAG7N,UAAU,OAAb,SAAqBkI,EAAM2F,OAE3BzC,KAAKwxB,wBAAwB,OAAO,KAMxC,qBAAK58B,UAAS,+BAA0Bo3B,EAAW,SAAW,QAA9D,SACE,mBAAGp3B,UAAU,UAAb,SAAwBkI,MAKvBkD,KAAKwxB,wBAAwB,OAAO,K,4BAI/C,SAA6BC,EAAoBV,GAC/C,IAAMre,EACI,OAAR+e,EACI,IAAIpV,KAAKuV,aAAa,QAAS,CAC7BC,sBAAuB,EACvBC,sBAAuB,EACvBrhB,MAAO,WACPiC,SAAU,QACT8J,OAAOiV,GACV,MACN,OAAOzxB,KAAKwxB,wBAAwB9e,EAAUqe,K,kCAGhD,SAAmCgB,GACjC,OAAKA,EACE/xB,KAAKgyB,yBAAyB,cAAC,GAAD,KADV,+B,gCAI7B,SAAiCC,EAA0BjG,GACzD,OAAIiG,EACEjG,EAEA,mCACE,sBAAKp3B,UAAS,4BAAd,UACE,+BAAOq9B,EAAQ,KADjB,IAC4B,uBAAMr9B,UAAU,gBAAhB,eAAmCq9B,EAAQ,WAMzE,mCACE,sBAAKr9B,UAAS,iCAAd,UACE,+BAAOq9B,EAAQ,KADjB,IAC4B,uBAAMr9B,UAAU,gBAAhB,eAAmCq9B,EAAQ,WAMtEjyB,KAAKwxB,wBAAwB,OAAO,K,kCAI/C,SAAmC10B,EAAsBkvB,GACvD,OAAKlvB,EAEH,qBAAKlI,UAAS,+BAA0Bo3B,EAAW,SAAW,QAA9D,SACE,mBAAGp3B,UAAU,UAAb,SAAwBkI,MAHTkD,KAAKwxB,wBAAwB,OAAO,K,oCAQzD,SAAqCvB,EAAqBjE,GACxD,GAAIiE,EAAM,CACR,IAAMiC,EAAWlC,GAAgBC,EAAKrM,MAAM,KAAK,IACjD,OAAgB,GAAZsO,EACKlyB,KAAKmyB,sBDxIOr1B,ECwIyBmzB,GDpI3CzI,YAASiJ,SAAS3zB,EAAQ,OAAO0B,QAAQ,IAAK,KAAKA,QAAQ,IAAK,KACpE4zB,eAAe5K,YAAS6K,aACxB7zB,QAAQ,IAAK,IAJP,MCsIgDwtB,GAErC,GAAZkG,EACKlyB,KAAKmyB,qBAAqB,YAAanG,GAEzChsB,KAAKmyB,qBAAqB7B,GAAWL,GAAOjE,GAEnD,OAAOhsB,KAAKwxB,wBAAwB,OD/IhB,IAAC10B,I,wBCmJzB,SAAyBmzB,EAAqBc,EAAmBtgB,GAC/D,OAAOzQ,KAAKwxB,wBAAwBlB,GAAWL,GAAOc,EAAStgB,K,gCAGjE,SAAiCwf,EAAqBc,GACpD,IAAMmB,EAAWlC,GAAgBC,GAC3BqC,EACS,OAAbJ,EACI,MACa,IAAbA,EACA,QACa,IAAbA,EACA,YACAA,GAAY,GAAKA,GAAY,EAA7B,UACGA,EADH,aAEA5B,GAAWL,GACjB,OAAOjwB,KAAKwxB,wBAAwBc,EAAcvB,K,4BAGpD,SAA6BU,EAAoBV,GAC/C,IAAMwB,EAAmB,OAARd,EAAgBA,GAAO,EAAI,MAAgB,IAARA,EAAY,QAAZ,UAAyBA,EAAzB,SAAuC,MAC3F,OAAOzxB,KAAKwxB,wBAAwBe,EAAUxB,K,kCAGhD,SAAmCtP,GACjC,GAAIA,EAAQ,CACV,GAAe,WAAXA,EACF,OAAOzhB,KAAKgyB,yBAAyB,cAAC,GAAD,CAAM58B,QAAQ,SAAS26B,KAAK,SAAS16B,KAAK,QAEjF,GAAe,WAAXosB,EACF,OAAOzhB,KAAKgyB,yBAAyB,cAAC,GAAD,CAAM58B,QAAQ,kBAAkB26B,KAAK,SAAS16B,KAAK,QAG5F,OAAO2K,KAAKgyB,yBAAyB,cAAC,GAAD,CAAM58B,QAAQ,cAAc26B,KAAK,cAAc16B,KAAK,U,kCAG3F,SAAmCosB,GACjC,OAAIA,GAAqB,WAAXA,EACLzhB,KAAKgyB,yBAAyB,cAAC,GAAD,CAAM58B,QAAQ,SAAS26B,KAAK,SAAS16B,KAAK,QAE1E2K,KAAKgyB,yBAAyB,cAAC,GAAD,CAAM58B,QAAQ,kBAAkB26B,KAAK,WAAW16B,KAAK,U,0BAG5F,SAA2Bm9B,EAAwB/Q,EAAwBsP,GAEzE,GAAItP,GAAqB,WAAXA,EACZ,OAAOzhB,KAAKgyB,yBAAyB,cAAC,GAAD,CAAM58B,QAAQ,SAAS26B,KAAK,SAAS16B,KAAK,OAAS07B,GAE1F,IAAKyB,IAAYA,EAAQC,OACvB,OAAOzyB,KAAKgyB,yBAAyB,cAAC,GAAD,CAAM58B,QAAQ,OAAO26B,KAAK,OAAO16B,KAAK,OAAS07B,GAEtF,IAAMmB,EAAWlC,GAAgBwC,GACjC,OAAiB,OAAbN,EACKlyB,KAAKgyB,yBAAyB,cAAC,GAAD,CAAM58B,QAAQ,OAAO26B,KAAK,MAAM16B,KAAK,OAAS07B,GAEjFmB,GAAY,EACPlyB,KAAKgyB,yBAAyB,cAAC,GAAD,CAAM58B,QAAQ,OAAO26B,KAAK,OAAO16B,KAAK,OAAS07B,GAC3EmB,GAAY,GACdlyB,KAAKgyB,yBAAyB,cAAC,GAAD,CAAM58B,QAAQ,QAAQ26B,KAAK,gBAAgB16B,KAAK,OAAS07B,GACrFmB,GAAY,IAAMA,GAAY,GAChClyB,KAAKgyB,yBAAyB,cAAC,GAAD,CAAM58B,QAAQ,SAAS26B,KAAK,iBAAiB16B,KAAK,OAAS07B,GACvFmB,GAAY,IAAMA,GAAY,GAChClyB,KAAKgyB,yBAAyB,cAAC,GAAD,CAAM58B,QAAQ,SAAS26B,KAAK,iBAAiB16B,KAAK,OAAS07B,GAEzF/wB,KAAKgyB,yBAAyB,cAAC,GAAD,CAAM58B,QAAQ,SAAS26B,KAAK,eAAe16B,KAAK,OAAS07B,K,+BAIlG,SAAgCt7B,EAAqBs7B,GACnD,IAAI2B,EAAc,MAclB,MAba,UAATj9B,EACFi9B,EAAc,QACI,SAATj9B,EACTi9B,EAAc,OACI,SAATj9B,EACTi9B,EAAc,OACI,eAATj9B,EACTi9B,EAAc,cACI,OAATj9B,EACTi9B,EAAc,eACI,OAATj9B,IACTi9B,EAAc,YAET1yB,KAAKwxB,wBAAwBkB,EAAa3B,K,wBAGnD,SAAyB4B,EAAuB5B,GAC9C,IAAI6B,EAAc,GACdC,EAA8C,GAE9CvN,MAAMC,QAAQoN,IAASA,EAAKzlB,OAAS,EACnB,IAAhBylB,EAAKzlB,OACP0lB,EAAcC,EAAiBF,EAAK,IAEpCC,EAAW,UAAMD,EAAKzlB,OAAX,iBACX2lB,EACE,8BACGF,EAAKviB,KAAI,SAACoc,EAAcrQ,GACvB,OACE,qCACGqQ,EACArQ,IAAUwW,EAAKzlB,OAAS,GAAK,gCAQ1C0lB,EAAcC,EAAiB,MAGjC,IAAM7B,EAAa3e,iBAAuB,MAC1C,EAAwClW,oBAAS,GAAjD,mBAAO80B,EAAP,KAAqBC,EAArB,KAEA,SAASC,IACU,IAAD,UAAZH,KACE,oBAACA,EAAWpe,eAAZ,aAAC,EAAoBwe,mBAArB,QAAoC,IAApC,oBAA0CJ,EAAWpe,eAArD,aAA0C,EAAoBye,mBAA9D,QAA6E,KAAM,iBAACsB,QAAD,IAACA,OAAD,EAACA,EAAMzlB,cAAP,QAAiB,GAAK,EAC3GgkB,GAAgB,GAEhBA,GAAgB,IAWtB,OANArhB,qBAAU,WAGR,OAFAshB,IACA7zB,OAAO2S,iBAAiB,SAAUkhB,GAC3B,kBAAM7zB,OAAO4S,oBAAoB,SAAUihB,OAIlD,cAACr8B,EAAA,EAAD,CAASC,MAAO89B,EAAgB59B,cAAY,EAACq8B,qBAAsBL,EAAnE,SACE,qBAAK5f,IAAK2f,EAAYp8B,UAAS,+BAA0Bm8B,EAAU,QAAU,IAA7E,SACG6B,U,MCzTLE,GAAmB,CACvB,CACE7P,OAAQ,gBACRiE,SAAU,gBACV5wB,MAAO,SACPwsB,YAAY,EACZM,iBAAkB,sBAClBK,UAAU,EACVK,iBAAkB,cAClBsD,iBAAkB,WAClBsH,UAAW,OACXjD,KAAM,SAAC92B,GAAD,OAAqCk8B,GAAWkC,aAAap+B,EAAMmI,OAAO,KAElF,CACEmmB,OAAQ,kBACRiE,SAAU,kBACV5wB,MAAO,QACPwsB,YAAY,EACZM,iBAAkB,eAClBK,UAAU,EACVK,iBAAkB,iBAClBJ,UAAW,8BACX0D,iBAAkB,WAClBsH,UAAW,OACXjD,KAAM,SAAC92B,GAAD,OAAqCk8B,GAAWkC,aAAap+B,EAAMmI,OAAO,KAElF,CACEmmB,OAAQ,oBACRiE,SAAU,oBACV5wB,MAAO,MACPwsB,YAAY,EACZM,iBAAkB,UAClBK,UAAU,EACVK,iBAAkB,uBAClBJ,UAAW,sCACX0D,iBAAkB,KAClBsH,UAAW,QACXjD,KAAM,SAAC92B,GAAD,OAAqCk8B,GAAWmC,aAAar+B,EAAMmI,OAAO,KAElF,CACEmmB,OAAQ,kBACRiE,SAAU,kBACV5wB,MAAO,QACPwsB,YAAY,EACZM,iBAAkB,UAClBK,UAAU,EACVK,iBAAkB,gBAClBJ,UAAW,sCACX0D,iBAAkB,KAClBsH,UAAW,QACXjD,KAAM,SAAC92B,GAAD,OAAqCk8B,GAAWoC,eAAet+B,EAAMmI,OAAO,KAEpF,CACEmmB,OAAQ,qBACRiE,SAAU,mBACV5wB,MAAO,SACPwsB,YAAY,EACZM,iBAAkB,UAClBK,UAAU,EACVK,iBAAkB,mBAClBJ,UAAW,gCACX0D,iBAAkB,KAClBsH,UAAW,QACXjD,KAAM,SAAC92B,GAAD,OAAqCk8B,GAAWmC,aAAar+B,EAAMmI,OAAO,KAElF,CACEmmB,OAAQ,gBACRiE,SAAU,gBACV5wB,MAAO,MACPwsB,YAAY,EACZM,iBAAkB,UAClBK,UAAU,EACVK,iBAAkB,iBAClBJ,UAAW,8BACX0D,iBAAkB,WAClBsH,UAAW,OACXjD,KAAM,SAAC92B,GAAD,OAAqCk8B,GAAWqC,mBAAmBv+B,EAAMmI,OAAO,MAI3E,SAASq2B,KACtB,IAAMvsB,EAAU4M,cACRmH,EAASoD,cAATpD,KACR,EAAgCxe,oBAAkB,GAAlD,mBAAOsX,EAAP,KAAkBC,EAAlB,KACA,EAA4BvX,oBAAkB,GAA9C,mBAAOsxB,EAAP,KAAgB7E,EAAhB,KACA,EAAwCzsB,mBAAiB,IAAzD,mBAAO2L,EAAP,KAAqBkW,EAArB,KACA,EAAkC7hB,mBAAsB,IAAxD,mBAAO+pB,EAAP,KAAkB2C,EAAlB,KACA,EAAkC1sB,mBAAiB,GAAnD,mBAAO4tB,EAAP,KAAkBjB,EAAlB,KACA,EAAoC3sB,mBAAiB,GAArD,mBAAOqG,EAAP,KAAmBktB,EAAnB,KACA,EAAoCvzB,mBAAiB,GAArD,mBAAOkqB,EAAP,KAAmB0C,EAAnB,KAwCA,OACE,cAAC,GAAD,CACEhD,SAAU,CACR,CACExqB,GAAI,eACJyyB,YAAa,eACbrB,eAAgB,YAChB9qB,KAAM,CACJqkB,UAAWA,EACX2C,aAAcA,EACdR,UAAW1jB,GAAgBkY,qBAC3B2L,YAjDU,SAACD,EAA8CnzB,GAAkD,IAAD,IAClH,wBACEmzB,QADF,IACEA,GADF,UACEA,EAAa1kB,eADf,aACE,EAAsBuM,KAAI,SAACgjB,GACzB,OAAO,wCACY,OAAZh+B,GAAgC,QAAZA,IAAsB,CAC7CmG,GAAE,OAAE63B,QAAF,IAAEA,OAAF,EAAEA,EAAQtwB,aAEG,WAAZ1N,GAAoC,QAAZA,IAAsB,CACjDosB,eAAqB,OAAN4R,QAAM,IAANA,OAAA,EAAAA,EAAQje,cAAe,MACtCke,iBAAuB,OAAND,QAAM,IAANA,OAAA,EAAAA,EAAQE,iBAAkB,MAC3CC,kBAAiB,OAAEH,QAAF,IAAEA,OAAF,EAAEA,EAAQxU,qBAC3B4U,gBAAe,OAAEJ,QAAF,IAAEA,OAAF,EAAEA,EAAQvU,cACzB4U,iBAAgB,OAAEL,QAAF,IAAEA,OAAF,EAAEA,EAAQM,iBAC1BC,cAAa,OAAEP,QAAF,IAAEA,OAAF,EAAEA,EAAQQ,iBAET,QAAZx+B,GAAqB,CACvBo2B,qBAAiB3qB,EACjBmrB,cAAUnrB,cAhBlB,QAmBQ,KA+BFslB,QAAS2M,GACTtF,OAAQ,CACN7I,eAAgB,8CAElBqI,YAAa,sCACbE,iBAAkB,OAClBkC,eAjCR,SACE1f,EACAua,GAGC,IAAD,EACA4J,eAAej1B,QAAQ,WAAYgI,EAAQrJ,SAASsd,UACpDjU,EAAQiN,KAAR,UACK8G,EAAKvN,UAAU,EAAGuN,EAAKgE,YAAY,6BADxC,gCAEIsL,EAAIsB,SAAShwB,UAFjB,QAEuB,GAFvB,mEA2BMwsB,kBAAmB,CACjB,CACEE,MAAO,gBACPC,kBAAmB,0BAK3BS,OAAQ,CACNlV,UAAWA,EACXC,WAAYA,EACZ+Z,QAASA,EACT7E,SAAUA,EACV9gB,aAAcA,EACdkW,gBAAiBA,GAEnBoI,WAAY,CACV2D,UAAWA,EACXjB,aAAcA,EACdtmB,WAAYA,EACZktB,cAAeA,EACfrJ,WAAYA,EACZ0C,cAAeA,GAEjBsB,QAAS,CACPC,eAAe,EACfiD,eAAe,EACfF,aAAa,EACbC,gBAAgB,EAChBa,eAAe,KClLvB,IAAM2E,GAAmB,CACvB,CACE7P,OAAQ,gBACRiE,SAAU,gBACV5wB,MAAO,SACPwsB,YAAY,EACZM,iBAAkB,sBAClBK,UAAU,EACVK,iBAAkB,cAClBsD,iBAAkB,WAClBsH,UAAW,OACXjD,KAAM,SAAC92B,GAAD,OAAqCk8B,GAAWkC,aAAap+B,EAAMmI,OAAO,KAElF,CACEmmB,OAAQ,kBACRiE,SAAU,kBACV5wB,MAAO,QACPwsB,YAAY,EACZM,iBAAkB,eAClBK,UAAU,EACVK,iBAAkB,iBAClBJ,UAAW,8BACX0D,iBAAkB,WAClBsH,UAAW,OACXjD,KAAM,SAAC92B,GAAD,OAAqCk8B,GAAWkC,aAAap+B,EAAMmI,OAAO,KAElF,CACEmmB,OAAQ,oBACRiE,SAAU,oBACV5wB,MAAO,MACPwsB,YAAY,EACZM,iBAAkB,UAClBK,UAAU,EACVK,iBAAkB,uBAClBJ,UAAW,oCACX0D,iBAAkB,KAClBsH,UAAW,QACXjD,KAAM,SAAC92B,GAAD,OAAqCk8B,GAAWmC,aAAar+B,EAAMmI,OAAO,KAElF,CACEmmB,OAAQ,kBACRiE,SAAU,kBACV5wB,MAAO,QACPwsB,YAAY,EACZM,iBAAkB,UAClBK,UAAU,EACVK,iBAAkB,gBAClBJ,UAAW,6BACX0D,iBAAkB,KAClBsH,UAAW,QACXjD,KAAM,SAAC92B,GAAD,OAAqCk8B,GAAWoC,eAAet+B,EAAMmI,OAAO,KAEpF,CACEmmB,OAAQ,qBACRiE,SAAU,mBACV5wB,MAAO,SACPwsB,YAAY,EACZM,iBAAkB,UAClBK,UAAU,EACVK,iBAAkB,mBAClBJ,UAAW,gCACX0D,iBAAkB,KAClBsH,UAAW,QACXjD,KAAM,SAAC92B,GAAD,OAAqCk8B,GAAWmC,aAAar+B,EAAMmI,OAAO,KAElF,CACEmmB,OAAQ,gBACRiE,SAAU,gBACV5wB,MAAO,MACPwsB,YAAY,EACZM,iBAAkB,UAClBK,UAAU,EACVK,iBAAkB,iBAClBJ,UAAW,8BACX0D,iBAAkB,WAClBsH,UAAW,OACXjD,KAAM,SAAC92B,GAAD,OAAqCk8B,GAAWqC,mBAAmBv+B,EAAMmI,OAAO,MAI3E,SAASg3B,KACtB,IAAMltB,EAAU4M,cACRmH,EAASoD,cAATpD,KACR,EAAgCxe,oBAAkB,GAAlD,mBAAOsX,EAAP,KAAkBC,EAAlB,KACA,EAA4BvX,oBAAkB,GAA9C,mBAAOsxB,EAAP,KAAgB7E,EAAhB,KACA,EAAwCzsB,mBAAiB,IAAzD,mBAAO2L,EAAP,KAAqBkW,EAArB,KACA,EAAkC7hB,mBAAsB,IAAxD,mBAAO+pB,EAAP,KAAkB2C,EAAlB,KACA,EAAkC1sB,mBAAiB,GAAnD,mBAAO4tB,EAAP,KAAkBjB,EAAlB,KACA,EAAoC3sB,mBAAiB,GAArD,mBAAOqG,EAAP,KAAmBktB,EAAnB,KACA,EAAoCvzB,mBAAiB,GAArD,mBAAOkqB,EAAP,KAAmB0C,EAAnB,KAwCA,OACE,cAAC,GAAD,CACEhD,SAAU,CACR,CACExqB,GAAI,eACJyyB,YAAa,eACbrB,eAAgB,YAChB9qB,KAAM,CACJqkB,UAAWA,EACX2C,aAAcA,EACdR,UAAW1jB,GAAgBkY,qBAC3B2L,YAjDU,SAACD,EAA8CnzB,GAAkD,IAAD,IAClH,wBACEmzB,QADF,IACEA,GADF,UACEA,EAAa1kB,eADf,aACE,EAAsBuM,KAAI,SAACgjB,GACzB,OAAO,wCACY,OAAZh+B,GAAgC,QAAZA,IAAsB,CAC7CmG,GAAE,OAAE63B,QAAF,IAAEA,OAAF,EAAEA,EAAQtwB,aAEG,WAAZ1N,GAAoC,QAAZA,IAAsB,CACjDosB,eAAqB,OAAN4R,QAAM,IAANA,OAAA,EAAAA,EAAQje,cAAe,MACtCke,iBAAuB,OAAND,QAAM,IAANA,OAAA,EAAAA,EAAQE,iBAAkB,MAC3CC,kBAAiB,OAAEH,QAAF,IAAEA,OAAF,EAAEA,EAAQxU,qBAC3B4U,gBAAe,OAAEJ,QAAF,IAAEA,OAAF,EAAEA,EAAQvU,cACzB4U,iBAAgB,OAAEL,QAAF,IAAEA,OAAF,EAAEA,EAAQM,iBAC1BC,cAAa,OAAEP,QAAF,IAAEA,OAAF,EAAEA,EAAQQ,iBAET,QAAZx+B,GAAqB,CACvBo2B,qBAAiB3qB,EACjBmrB,cAAUnrB,cAhBlB,QAmBQ,KA+BFslB,QAAS2M,GACTtF,OAAQ,CACN7I,eAAgB,+CAElBqI,YAAa,oCACbE,iBAAkB,OAClBkC,eAjCR,SACE1f,EACAua,GAGC,IAAD,EACA4J,eAAej1B,QAAQ,WAAYgI,EAAQrJ,SAASsd,UACpDjU,EAAQiN,KAAR,UACK8G,EAAKvN,UAAU,EAAGuN,EAAKgE,YAAY,6BADxC,gCAEIsL,EAAIsB,SAAShwB,UAFjB,QAEuB,GAFvB,mEA2BMwsB,kBAAmB,CACjB,CACEE,MAAO,oBACPC,kBAAmB,iCAK3BS,OAAQ,CACNlV,UAAWA,EACXC,WAAYA,EACZ+Z,QAASA,EACT7E,SAAUA,EACV9gB,aAAcA,EACdkW,gBAAiBA,GAEnBoI,WAAY,CACV2D,UAAWA,EACXjB,aAAcA,EACdtmB,WAAYA,EACZktB,cAAeA,EACfrJ,WAAYA,EACZ0C,cAAeA,GAEjBsB,QAAS,CACPC,eAAe,EACfiD,eAAe,EACfF,aAAa,EACbC,gBAAgB,EAChBa,eAAe,KClLvB,IAAM2E,GAAmB,CACvB,CACE7P,OAAQ,gBACRiE,SAAU,gBACV5wB,MAAO,QACPwsB,YAAY,EACZM,iBAAkB,sBAClBK,UAAU,EACVK,iBAAkB,cAClBsD,iBAAkB,WAClBsH,UAAW,OACXjD,KAAM,SAAC92B,GAAD,OAAqCk8B,GAAWkC,aAAap+B,EAAMmI,OAAO,KAElF,CACEmmB,OAAQ,kBACRiE,SAAU,kBACV5wB,MAAO,QACPwsB,YAAY,EACZM,iBAAkB,eAClBK,UAAU,EACVK,iBAAkB,iBAClBJ,UAAW,8BACX0D,iBAAkB,WAClBsH,UAAW,OACXjD,KAAM,SAAC92B,GAAD,OAAqCk8B,GAAWkC,aAAap+B,EAAMmI,OAAO,KAElF,CACEmmB,OAAQ,gBACRiE,SAAU,gBACV5wB,MAAO,MACPwsB,YAAY,EACZM,iBAAkB,UAClBK,UAAU,EACVK,iBAAkB,sBAClBJ,UAAW,mCACX0D,iBAAkB,KAClBsH,UAAW,QACXjD,KAAM,SAAC92B,GAAD,OAAqCk8B,GAAWmC,aAAar+B,EAAMmI,OAAO,KAElF,CACEmmB,OAAQ,gBACRiE,SAAU,gBACV5wB,MAAO,MACPwsB,YAAY,EACZM,iBAAkB,UAClBK,UAAU,EACVK,iBAAkB,oBAClBJ,UAAW,iCACX0D,iBAAkB,KAClBsH,UAAW,QACXjD,KAAM,SAAC92B,GAAD,OAAqCk8B,GAAWoC,eAAet+B,EAAMmI,OAAO,KAEpF,CACEmmB,OAAQ,gBACRiE,SAAU,gBACV5wB,MAAO,MACPwsB,YAAY,EACZM,iBAAkB,UAClBK,UAAU,EACVK,iBAAkB,iBAClBJ,UAAW,8BACX0D,iBAAkB,WAClBsH,UAAW,OACXjD,KAAM,SAAC92B,GAAD,OAAqCk8B,GAAWqC,mBAAmBv+B,EAAMmI,OAAO,MAI3E,SAASi3B,KACtB,IAAMntB,EAAU4M,cACRmH,EAASoD,cAATpD,KACR,EAAgCxe,oBAAkB,GAAlD,mBAAOsX,EAAP,KAAkBC,EAAlB,KACA,EAA4BvX,oBAAkB,GAA9C,mBAAOsxB,EAAP,KAAgB7E,EAAhB,KACA,EAAwCzsB,mBAAiB,IAAzD,mBAAO2L,EAAP,KAAqBkW,EAArB,KAEA,EAAkC7hB,mBAAsB,IAAxD,mBAAO+pB,EAAP,KAAkB2C,EAAlB,KACA,EAAkC1sB,mBAAiB,GAAnD,mBAAO4tB,EAAP,KAAkBjB,EAAlB,KACA,EAAoC3sB,mBAAiB,GAArD,mBAAOqG,EAAP,KAAmBktB,EAAnB,KACA,EAAoCvzB,mBAAiB,GAArD,mBAAOkqB,EAAP,KAAmB0C,EAAnB,KAuCA,OACE,cAAC,GAAD,CACEhD,SAAU,CACR,CACExqB,GAAI,eACJyyB,YAAa,eACbrB,eAAgB,YAChB9qB,KAAM,CACJqkB,UAAWA,EACX2C,aAAcA,EACdR,UAAW1jB,GAAgBkY,qBAC3B2L,YAhDU,SAACD,EAA8CnzB,GAAkD,IAAD,IAClH,wBACEmzB,QADF,IACEA,GADF,UACEA,EAAa1kB,eADf,aACE,EAAsBuM,KAAI,SAACgjB,GACzB,OAAO,wCACY,OAAZh+B,GAAgC,QAAZA,IAAsB,CAC7CmG,GAAE,OAAE63B,QAAF,IAAEA,OAAF,EAAEA,EAAQtwB,aAEG,WAAZ1N,GAAoC,QAAZA,IAAsB,CACjDosB,eAAqB,OAAN4R,QAAM,IAANA,OAAA,EAAAA,EAAQje,cAAe,MACtCke,iBAAuB,OAAND,QAAM,IAANA,OAAA,EAAAA,EAAQE,iBAAkB,MAC3CU,cAAa,OAAEZ,QAAF,IAAEA,OAAF,EAAEA,EAAQa,oBACvBC,cAAa,OAAEd,QAAF,IAAEA,OAAF,EAAEA,EAAQe,kBACvBR,cAAa,OAAEP,QAAF,IAAEA,OAAF,EAAEA,EAAQQ,iBAET,QAAZx+B,GAAqB,CACvBo2B,qBAAiB3qB,EACjBmrB,cAAUnrB,cAflB,QAkBQ,KA+BFslB,QAAS2M,GACTtF,OAAQ,CACN7I,eAAgB,2CAElBqI,YAAa,iCACbE,iBAAkB,OAClBkC,eAjCR,SACE1f,EACAua,GAGC,IAAD,EACA4J,eAAej1B,QAAQ,WAAYgI,EAAQrJ,SAASsd,UACpDjU,EAAQiN,KAAR,UACK8G,EAAKvN,UAAU,EAAGuN,EAAKgE,YAAY,6BADxC,gCAEIsL,EAAIsB,SAAShwB,UAFjB,QAEuB,GAFvB,mEA2BMwsB,kBAAmB,CACjB,CACEE,MAAO,gBACPC,kBAAmB,8BAK3BS,OAAQ,CACNlV,UAAWA,EACXC,WAAYA,EACZ+Z,QAASA,EACT7E,SAAUA,EACV9gB,aAAcA,EACdkW,gBAAiBA,GAEnBoI,WAAY,CACV2D,UAAWA,EACXjB,aAAcA,EACdtmB,WAAYA,EACZktB,cAAeA,EACfrJ,WAAYA,EACZ0C,cAAeA,GAEjBsB,QAAS,CACPC,eAAe,EACfiD,eAAe,EACfF,aAAa,EACbC,gBAAgB,EAChBa,eAAe,KCrKvB,IAAM2E,GAAmB,CACvB,CACE7P,OAAQ,gBACRiE,SAAU,gBACV5wB,MAAO,QACPwsB,YAAY,EACZM,iBAAkB,sBAClBK,UAAU,EACVK,iBAAkB,cAClBsD,iBAAkB,WAClBsH,UAAW,OACXjD,KAAM,SAAC92B,GAAD,OAAqCk8B,GAAWkC,aAAap+B,EAAMmI,OAAO,KAElF,CACEmmB,OAAQ,kBACRiE,SAAU,kBACV5wB,MAAO,QACPwsB,YAAY,EACZM,iBAAkB,eAClBK,UAAU,EACVK,iBAAkB,iBAClBJ,UAAW,8BACX0D,iBAAkB,WAClBsH,UAAW,OACXjD,KAAM,SAAC92B,GAAD,OAAqCk8B,GAAWkC,aAAap+B,EAAMmI,OAAO,KAElF,CACEmmB,OAAQ,gBACRiE,SAAU,gBACV5wB,MAAO,MACPwsB,YAAY,EACZM,iBAAkB,UAClBK,UAAU,EACVK,iBAAkB,sBAClBJ,UAAW,mCACX0D,iBAAkB,KAClBsH,UAAW,QACXjD,KAAM,SAAC92B,GAAD,OAAqCk8B,GAAWmC,aAAar+B,EAAMmI,OAAO,KAElF,CACEmmB,OAAQ,gBACRiE,SAAU,gBACV5wB,MAAO,MACPwsB,YAAY,EACZM,iBAAkB,UAClBK,UAAU,EACVK,iBAAkB,oBAClBJ,UAAW,iCACX0D,iBAAkB,KAClBsH,UAAW,QACXjD,KAAM,SAAC92B,GAAD,OAAqCk8B,GAAWoC,eAAet+B,EAAMmI,OAAO,KAEpF,CACEmmB,OAAQ,gBACRiE,SAAU,gBACV5wB,MAAO,MACPwsB,YAAY,EACZM,iBAAkB,UAClBK,UAAU,EACVK,iBAAkB,iBAClBJ,UAAW,8BACX0D,iBAAkB,WAClBsH,UAAW,OACXjD,KAAM,SAAC92B,GAAD,OAAqCk8B,GAAWqC,mBAAmBv+B,EAAMmI,OAAO,MAI3E,SAASi3B,KACtB,IAAMntB,EAAU4M,cACRmH,EAASoD,cAATpD,KACR,EAAgCxe,oBAAkB,GAAlD,mBAAOsX,EAAP,KAAkBC,EAAlB,KACA,EAA4BvX,oBAAkB,GAA9C,mBAAOsxB,EAAP,KAAgB7E,EAAhB,KACA,EAAwCzsB,mBAAiB,IAAzD,mBAAO2L,EAAP,KAAqBkW,EAArB,KACA,EAAkC7hB,mBAAsB,IAAxD,mBAAO+pB,EAAP,KAAkB2C,EAAlB,KACA,EAAkC1sB,mBAAiB,GAAnD,mBAAO4tB,EAAP,KAAkBjB,EAAlB,KACA,EAAoC3sB,mBAAiB,GAArD,mBAAOqG,EAAP,KAAmBktB,EAAnB,KACA,EAAoCvzB,mBAAiB,GAArD,mBAAOkqB,EAAP,KAAmB0C,EAAnB,KAuCA,OACE,cAAC,GAAD,CACEhD,SAAU,CACR,CACExqB,GAAI,eACJyyB,YAAa,eACbrB,eAAgB,YAChB9qB,KAAM,CACJqkB,UAAWA,EACX2C,aAAcA,EACdR,UAAW1jB,GAAgBkY,qBAC3B2L,YAhDU,SAACD,EAA8CnzB,GAAkD,IAAD,IAClH,wBACEmzB,QADF,IACEA,GADF,UACEA,EAAa1kB,eADf,aACE,EAAsBuM,KAAI,SAACgjB,GACzB,OAAO,wCACY,OAAZh+B,GAAgC,QAAZA,IAAsB,CAC7CmG,GAAE,OAAE63B,QAAF,IAAEA,OAAF,EAAEA,EAAQtwB,aAEG,WAAZ1N,GAAoC,QAAZA,IAAsB,CACjDosB,eAAqB,OAAN4R,QAAM,IAANA,OAAA,EAAAA,EAAQje,cAAe,MACtCke,iBAAuB,OAAND,QAAM,IAANA,OAAA,EAAAA,EAAQE,iBAAkB,MAC3CU,cAAa,OAAEZ,QAAF,IAAEA,OAAF,EAAEA,EAAQa,oBACvBC,cAAa,OAAEd,QAAF,IAAEA,OAAF,EAAEA,EAAQe,kBACvBR,cAAa,OAAEP,QAAF,IAAEA,OAAF,EAAEA,EAAQQ,iBAET,QAAZx+B,GAAqB,CACvBo2B,qBAAiB3qB,EACjBmrB,cAAUnrB,cAflB,QAkBQ,KA+BFslB,QAAS2M,GACTtF,OAAQ,CACN7I,eAAgB,2CAElBqI,YAAa,mCACbE,iBAAkB,OAClBkC,eAjCR,SACE1f,EACAua,GAGC,IAAD,EACA4J,eAAej1B,QAAQ,WAAYgI,EAAQrJ,SAASsd,UACpDjU,EAAQiN,KAAR,UACK8G,EAAKvN,UAAU,EAAGuN,EAAKgE,YAAY,6BADxC,gCAEIsL,EAAIsB,SAAShwB,UAFjB,QAEuB,GAFvB,mEA2BMwsB,kBAAmB,CACjB,CACEE,MAAO,gBACPC,kBAAmB,gCAK3BS,OAAQ,CACNlV,UAAWA,EACXC,WAAYA,EACZ+Z,QAASA,EACT7E,SAAUA,EACV9gB,aAAcA,EACdkW,gBAAiBA,GAEnBoI,WAAY,CACV2D,UAAWA,EACXjB,aAAcA,EACdtmB,WAAYA,EACZktB,cAAeA,EACfrJ,WAAYA,EACZ0C,cAAeA,GAEjBsB,QAAS,CACPC,eAAe,EACfiD,eAAe,EACfF,aAAa,EACbC,gBAAgB,EAChBa,eAAe,K,OC7JR,SAASiG,GAAez/B,GAAmC,IAAD,EACvE,OACE,qBACE8b,MAAO,CAAE4jB,OAAQ1/B,EAAM2/B,SAAW,MAAQ,oBAC1C1/B,UAAS,sBAAiBD,EAAMqmB,SAAW,qBAAuB,GAAzD,sBACPrmB,EAAMC,iBADC,QACY,IAHvB,SAME,mBAAGA,UAAS,mBAAZ,SAAmCD,EAAMgB,a,qBCOhC,SAAS4+B,GAAO5/B,GAC7B,IAAM4I,EAAWi3B,cACXC,EAAgBpiB,iBAAuB,MAC7C,EAA0ClW,mBAAiBxH,EAAM+/B,KAAKxnB,QAAtE,mBAAOynB,EAAP,KAAsBC,EAAtB,KACA,EAAgCz4B,mBAAiB,GAAjD,mBAAO04B,EAAP,KAAiBC,EAAjB,KACMluB,EAAU4M,cAEhB,SAAS2d,IAAgB,IAAD,MAChB4D,EAAe,oBAAGN,EAAc7hB,eAAjB,aAAG,EAAuBwe,mBAA1B,QAAyC,EACxD4D,EAAW,UAAGP,EAAc7hB,eAAjB,aAAG,EAAuBjd,SACvCs/B,EAAe,EACnB,GAAID,EACF,IAAK,IAAI9Z,EAAI,EAAGA,EAAI8Z,EAAY9nB,OAAQgO,IAEtC,IADA+Z,GAAiBD,EAAY9Z,GAAmBkW,aAAelW,IAAM8Z,EAAY9nB,OAAS,EAAI,GAAK,IAChF6nB,EAAkB,EAGnC,OAFAH,EAAiB1Z,QACjB4Z,EAAYG,EAAgBD,EAAY9Z,GAAmBkW,aAAelW,IAAM8Z,EAAY9nB,OAAS,EAAI,GAAK,IAKpH0nB,EAAiBjgC,EAAM+/B,KAAKxnB,QAS9B,OANA2C,qBAAU,WAGR,OAFAshB,IACA7zB,OAAO2S,iBAAiB,SAAUkhB,GAC3B,kBAAM7zB,OAAO4S,oBAAoB,SAAUihB,MACjD,IAGD,sBAAKv8B,UAAU,iBAAf,UACE,sBAAKA,UAAU,cAAf,UACE,qBAAKA,UAAU,sBAAsByc,IAAKojB,EAA1C,SACG9/B,EAAM+/B,MACL//B,EAAM+/B,KAAKtkB,KAAI,SAAC8kB,EAAU/Y,GACxB,OACE,cAACgZ,GAAD,CACEvgC,UAAS,yBAAoBunB,GAASwY,EAAgB,wBAA0B,IAChF7Z,OAAK,EAELF,GACEjmB,EAAMygC,mBACFF,EAAIG,YAAcH,EAAIG,UAAUC,WAAW,KACzC,CAAEza,SAAS,GAAD,OAAKlmB,EAAM4gC,SAAX,YAAuBL,EAAIG,UAAU72B,QAAQ,QAAS,KAAOoN,OAAQrO,EAASqO,QACxF,CAAEiP,SAAS,GAAD,OAAKlmB,EAAM4gC,UAAY3pB,OAAQrO,EAASqO,QAHxD,UAIOjX,EAAM4gC,UAJb,OAIwBL,EAAIG,YAAcH,EAAIG,UAAUC,WAAW,KAA3C,WAAsDJ,EAAIG,WAAcH,EAAIG,WATxG,SAYG,SAACra,GAAD,OACC,cAAC,GAAD,CAAgBA,SAAUA,EAAUsZ,UAAQ,EAA5C,SACE,mCAAGY,EAAIlH,YAAY7gB,OAAO,GAAGsP,cAAgByY,EAAIlH,YAAYvP,MAAM,SAXlEyW,EAAIlH,kBAkBlBr5B,EAAM+/B,MAAQC,IAAkBhgC,EAAM+/B,KAAKxnB,QAC1C,qBAAKtY,UAAU,oBAAoB6b,MAAO,CAAEnH,KAAMurB,GAAlD,SACE,cAAC,GAAD,CACExU,cAAY,EACZ9qB,QAAS,SAACmrB,GAAD,OAA0B9Z,EAAQiN,KAAR,UAAgBlf,EAAM4gC,SAAtB,YAAkC7U,KACrEve,QAASxN,EAAM+/B,KAAKjW,MAAMkW,GAAevkB,KAAI,SAAC8kB,EAAU/Y,EAAeC,GAAgB,IAAD,YACpF,MAAO,CACLtf,MAAK,iBAAEsf,QAAF,IAAEA,GAAF,UAAEA,EAAMD,UAAR,aAAE,EAAc6R,mBAAhB,QAA+B,GACpCtN,aAAY,iBAAEtE,QAAF,IAAEA,GAAF,UAAEA,EAAMD,UAAR,aAAE,EAAckZ,iBAAhB,QAA6B,GACzC95B,GAAE,iBAAE6gB,QAAF,IAAEA,GAAF,UAAEA,EAAMD,UAAR,aAAE,EAAc6R,mBAAhB,QAA+B,cAO7C,sBAAKp5B,UAAU,cAAf,WACID,EAAM6gC,cAAgB7gC,EAAM8gC,UAC5B,cAAC,GAAD,CACEvgC,KAAM,cAAC,GAAD,IACNqrB,UAAU,OACVnP,aAAczc,EAAM+gC,gBACpBngC,QAAS,SAACmrB,GAAD,aAA0B9Z,EAAQiN,KAAR,oBAAgBlf,EAAMghC,wBAAtB,QAA0ChhC,EAAM4gC,SAAhD,YAA4D7U,KAC/F1rB,QAASL,EAAMK,QACfmN,QAASxN,EAAM8gC,SAASrlB,KAAI,SAAC8kB,GAC3B,MAAO,CACLp4B,MAAOo4B,EAAIlH,YACXtN,aAAcwU,EAAIG,UAClB95B,GAAI25B,EAAIlH,kBAKfr5B,EAAM8gC,UAAY9gC,EAAMihC,YAAcjhC,EAAM6gC,cAAgB,qBAAK5gC,UAAU,YAC3ED,EAAMihC,WACL,cAACT,GAAD,CAAgBvgC,UAAU,sBAAyCgmB,GAAIjmB,EAAMihC,UAA7E,SACG,WACC,OACE,qBAAKhhC,UAAS,WAAd,SACGD,EAAMkhC,gBACL,qCACE,cAAC,GAAD,IACA,4BAAIlhC,EAAMkhC,qBAGZ,cAACC,GAAA,EAAD,CAAU1gC,QAAQ,OAAOkB,MAAO,GAAIC,OAAQ,GAAIw/B,UAAU,aAVhB,sB,OCzG/C,SAASC,GAASrhC,GAC/B,MAAgCwH,oBAAkB,GAAlD,mBAAOsX,EAAP,KAAkBC,EAAlB,KACA,EAA4BvX,oBAAkB,GAA9C,mBAAOsxB,EAAP,KAAgB7E,EAAhB,KACA,EAAgCzsB,mBAA4B,IAA5D,mBAAO65B,EAAP,KAAiBC,EAAjB,KACQ/sB,EAAgBlN,IAAMsT,WAAWxI,IAAjCoC,YAkBR,OAhBA2G,qBAAU,WACR,sBAAC,sBAAA9M,EAAA,6DACC2Q,GAAW,GACXkV,GAAS,GAFV,kBAIS1f,EAAYvU,EAAMkO,YAAYzO,MAAK,SAACyN,GACxCo0B,EAAYp0B,MALjB,uDAQG+mB,GAAS,GACT1nB,QAAQC,IAAR,MATH,QAWCuS,GAAW,GAXZ,wDAAD,KAaC,CAACnW,SAASsd,WAGX,qBAAKjmB,UAAU,mBAAf,SACG6e,EACC9e,EAAMg+B,KAAKviB,KAAI,SAAC8d,EAAG/R,GACjB,OAAO,cAAC2Z,GAAA,EAAD,CAAoC1gC,QAAQ,OAAOkB,MAAO,GAAIC,OAAQ,GAAIw/B,UAAU,QAApF,mBAA2B5Z,OAElCsR,EACF,sBAAM74B,UAAU,YAAhB,SACE,sBAAMA,UAAU,aAAhB,8CAGFD,EAAMg+B,KAAKviB,KAAI,SAAC6H,EAAkBkE,GAAmB,IAAD,sEAC9CnP,EAAQ,GACRlQ,EAAyB,GAC7B,OAAQmb,EAAKxiB,MACX,IAAK,eACHuX,EAAK,UAAGiL,EAAKie,mBAAR,QAAuB,gBAC5Bp5B,EAAK,UAAGk5B,EAASG,oBAAZ,QAA4B,MACjC,MACF,IAAK,iBACHnpB,EAAK,UAAGiL,EAAKie,mBAAR,QAAuB,YAC5Bp5B,EAAK,iBAAGk5B,QAAH,IAAGA,OAAH,EAAGA,EAAUI,sBAAb,QAA+B,EACpC,MACF,IAAK,gBACHppB,EAAK,UAAGiL,EAAKie,mBAAR,QAAuB,WAC5Bp5B,EAAK,iBAAGk5B,QAAH,IAAGA,OAAH,EAAGA,EAAUK,qBAAb,QAA8B,EACnC,MACF,IAAK,sBACHrpB,EAAK,UAAGiL,EAAKie,mBAAR,QAAuB,kBAC5Bp5B,EAAQ,IAAIuf,KAAKuV,aAAa,QAAS,CACrCC,sBAAuB,EACvBC,sBAAuB,EACvBrhB,MAAO,WACPiC,SAAU,QACT8J,OALK,UAKEwZ,EAASM,2BALX,QAKkC,GAC1C,MACF,IAAK,yBACHtpB,EAAK,UAAGiL,EAAKie,mBAAR,QAAuB,iCAC5Bp5B,EAAQ,IAAIuf,KAAKuV,aAAa,QAAS,CACrCC,sBAAuB,EACvBC,sBAAuB,EACvBrhB,MAAO,WACPiC,SAAU,QACT8J,OALK,UAKEwZ,EAASO,8BALX,QAKqC,GAC7C,MACF,IAAK,iBACHvpB,EAAK,UAAGiL,EAAKie,mBAAR,QAAuB,mBAC5Bp5B,EAAQ,IAAIuf,KAAKuV,aAAa,QAAS,CACrCC,sBAAuB,EACvBC,sBAAuB,EACvBrhB,MAAO,WACPiC,SAAU,QACT8J,OALK,UAKEwZ,EAASQ,sBALX,QAK6B,GACrC,MACF,IAAK,gBACHxpB,EAAK,UAAGiL,EAAKie,mBAAR,QAAuB,gBAC5Bp5B,EAAQ,IAAIuf,KAAKuV,aAAa,QAAS,CACrCC,sBAAuB,EACvBC,sBAAuB,EACvBrhB,MAAO,WACPiC,SAAU,QACT8J,OALK,UAKEwZ,EAASS,qBALX,QAK4B,GACpC,MACF,IAAK,oBACHzpB,EAAK,UAAGiL,EAAKie,mBAAR,QAAuB,gBAC5Bp5B,EAAQgpB,MAAMkQ,EAASK,cAAgBL,EAASU,mBAAqB,EAAIV,EAASK,cAAgBL,EAASU,kBAC3G,MACF,IAAK,oBACH1pB,EAAK,UAAGiL,EAAKie,mBAAR,QAAuB,gBAC5Bp5B,EAAK,iBAAGk5B,QAAH,IAAGA,OAAH,EAAGA,EAAUU,yBAAb,QAAkC,EACvC,MACF,IAAK,uBACH1pB,EAAK,UAAGiL,EAAKie,mBAAR,QAAuB,oBAC5Bp5B,EAAK,iBAAGk5B,QAAH,IAAGA,OAAH,EAAGA,EAAUpX,4BAAb,QAAqC,EAC1C,MACF,IAAK,6BACH5R,EAAK,UAAGiL,EAAKie,mBAAR,QAAuB,oBAC5Bp5B,EAAK,iBAAGk5B,QAAH,IAAGA,OAAH,EAAGA,EAAUW,kCAAb,QAA2C,EAChD,MACF,IAAK,qBACH3pB,EAAK,UAAGiL,EAAKie,mBAAR,QAAuB,kBAC5Bp5B,EAAQ,IAAIuf,KAAKuV,aAAa,QAAS,CACrCC,sBAAuB,EACvBC,sBAAuB,EACvBrhB,MAAO,WACPiC,SAAU,QACT8J,OALK,UAKEwZ,EAASY,0BALX,QAKiC,GACzC,MACF,IAAK,2BACH5pB,EAAK,UAAGiL,EAAKie,mBAAR,QAAuB,kBAC5Bp5B,EAAQ,IAAIuf,KAAKuV,aAAa,QAAS,CACrCC,sBAAuB,EACvBC,sBAAuB,EACvBrhB,MAAO,WACPiC,SAAU,QACT8J,OALK,UAKEwZ,EAASa,gCALX,QAKuC,GAC/C,MACF,IAAK,sBACH7pB,EAAK,UAAGiL,EAAKie,mBAAR,QAAuB,yBAC5Bp5B,EAAK,oBAAMk5B,EAASc,2BAAf,QAAsC,EAAtC,KACL,MACF,IAAK,mCACH9pB,EAAK,UAAGiL,EAAKie,mBAAR,QAAuB,yBAC5Bp5B,EAAK,oBAAMk5B,EAASe,wCAAf,QAAmD,EAAnD,KACL,MACF,IAAK,MACH/pB,EAAK,UAAGiL,EAAKie,mBAAR,QAAuB,yBAC5Bp5B,EAAK,iBAAGk5B,QAAH,IAAGA,OAAH,EAAGA,EAAUgB,WAAb,QAAoB,EACzB,MACF,IAAK,gCACHhqB,EAAK,UAAGiL,EAAKie,mBAAR,oCAA4C1O,YAASyP,MAAM1G,SAAS,SACzEzzB,EAAQ,IAAIuf,KAAKuV,aAAa,QAAS,CACrCC,sBAAuB,EACvBC,sBAAuB,EACvBrhB,MAAO,WACPiC,SAAU,QACT8J,OALK,UAKEwZ,EAASkB,qCALX,QAK4C,GACpD,MACF,IAAK,iCACHlqB,EAAK,UAAGiL,EAAKie,mBAAR,oCAA4C1O,YAASyP,MAAMrP,MAAM,CAAEuP,MAAO,IAAK5G,SAAS,SAC7FzzB,EAAQ,IAAIuf,KAAKuV,aAAa,QAAS,CACrCC,sBAAuB,EACvBC,sBAAuB,EACvBrhB,MAAO,WACPiC,SAAU,QACT8J,OALK,UAKEwZ,EAASoB,sCALX,QAK6C,GACrD,MACF,QACEpqB,EAAQ,eAGZ,OACE,uBAAMpY,UAAU,YAAhB,UACGkI,EADH,IACU,sBAAMlI,UAAU,aAAhB,SAA8BoY,MADxC,mBAA6CmP,S,WC/JnDkb,GAAS,CACb,CACErJ,YAAa,mBACbqH,UAAW,wDACXxH,UAAW,cAACsF,GAAD,KAEb,CACEnF,YAAa,oBACbqH,UAAW,uEACXxH,UAAW,cAACiG,GAAD,KAEb,CACE9F,YAAa,gBACbqH,UAAW,gEACXxH,UAAW,cAACkG,GAAD,KAEb,CACE/F,YAAa,gBACbqH,UAAW,kEACXxH,UAAW,cAAC,GAAD,MAIA,SAAS/P,KACtB,IAAQnD,EAASoD,cAATpD,KAER,OACE,sBAAK/lB,UAAU,oBAAf,UACE,qBAAKA,UAAU,OAAf,SACE,cAAC,GAAD,CACE8/B,KAAM2C,GACN9B,SAAU5a,EACVgb,iBAAkBhb,EAAKvN,UAAU,EAAGuN,EAAKgE,YAAY,MACrD8W,SAAU,CACR,CAAEzH,YAAa,mBAAoBqH,UAAW,wDAC9C,CAAErH,YAAa,MAAOqH,UAAW,4DACjC,CAAErH,YAAa,mBAAoBqH,UAAW,uEAC9C,CAAErH,YAAa,sBAAuBqH,UAAW,qEACjD,CAAErH,YAAa,gBAAiBqH,UAAW,uEAE7CK,gBAAiB,gBACjBG,gBAAgB,YAChBD,UAAS,UAAKjb,EAAK8D,MAAM,EAAG9D,EAAKgE,YAAY,OAC7C3pB,QAAQ,gHAGZ,qBAAKJ,UAAU,OAAf,SACE,sBAAKA,UAAU,UAAf,UACE,eAAC,IAAD,WACE,cAAC,IAAD,CACEkmB,OAAK,EACLH,KAAM,CAAC,GAAD,OAAIA,GAAJ,UAAeA,EAAf,uBACNgU,OAAQ,WACN,OACE,cAAC,GAAD,CAEEgE,KAAM,CACJ,CAAEl9B,KAAM,kBACR,CAAEA,KAAM,wBACR,CAAEA,KAAM,sBACR,CAAEA,KAAM,wBAEVoN,WAAY2kB,YAASyP,MAAM1G,SAAS,eAP/B5V,MAYb,cAAC,IAAD,CACEG,OAAK,EACLH,KAAM,CAAC,GAAD,OAAIA,EAAJ,4BAA6BA,EAA7B,mBACNgU,OAAQ,WACN,OACE,cAAC,GAAD,CAEEgE,KAAM,CAAC,CAAEl9B,KAAM,kBAAoB,CAAEA,KAAM,qBAAuB,CAAEA,KAAM,kBAC1EoN,WAAY2kB,YAASyP,MAAM1G,SAAS,eAF/B5V,SAQf,qBAAK/lB,UAAU,gBAAf,SACE,cAAC,IAAD,UACGyiC,IACCA,GAAOjnB,KAAI,SAACqC,GACV,OACE,cAAC,IAAD,CACEqI,OAAK,EACLH,KAAI,UAAKA,EAAL,YAAalI,EAAI4iB,UAAU72B,QAAQ,QAAS,KAEhDqvB,UAAW,WACT,OAAOpb,EAAIob,YALf,UAGUpb,EAAIub,6B,cC7BnBsJ,GAxDI,SAAC3iC,GAClB,MAAwBwH,mBAAsB,IAA9C,mBAAO0F,EAAP,KAAaoc,EAAb,KAOA,OALApO,qBAAU,WACR,IAAM0nB,EAAa/pB,YAAW,kBAAMyQ,EAAQtpB,EAAM6iC,aAAY,IAC9D,OAAO,kBAAMC,aAAaF,MACzB,IAGD,cAAC,KAAD,CACE11B,KAAMA,EACNwyB,OAAQ,CACNtmB,IAAKpZ,EAAM+iC,UACXnuB,MAAO5U,EAAMgjC,YACbC,OAAQjjC,EAAMkjC,aACdvuB,KAAM3U,EAAMmjC,YAEdC,aAAa,EACbC,YAAa,GACbC,YAAa,CAAEC,KAAM,QAASC,UAAW,CAAC,CAAC,SAAU,MACrDC,OAAQzjC,EAAM0jC,YACdC,aAAa,OACbC,qBAAqB,EACrBC,wBAAyB,EACzBC,uBAAwB,GACxBC,uBAAuB,UACvBC,mBAAoB,CAAET,KAAM,QAASC,UAAW,IAChDS,iBAAiB,EACjBC,mBAAoB,GACpBC,mBAAoB,CAAEZ,KAAM,QAASC,UAAW,CAAC,CAAC,SAAU,KAE5D5iC,QAAW,SAACwjC,GAAD,OAAapkC,EAAMuwB,YAAY6T,EAAGx9B,KAE7CvG,QAAS,SAAC0tB,GAAgB,IAAD,EACvB,OACE,sBAAK9tB,UAAS,gBAAd,UACID,EAAMqkC,aAAe,qBAAKpkC,UAAS,eAAkB6b,MAAO,CAAEwoB,gBAAe,UAAEvW,EAAMwW,MAAMrd,aAAd,QAAuB,WACtG,oBAAGjnB,UAAS,aAAZ,UACG8tB,EAAMwW,MAAM39B,GADf,IACoB,IAEf,IAAI8gB,KAAKuV,aAAa,QAAS,CAC9BC,sBAAuB,EACvBC,sBAAuB,EACvBrhB,MAAM,WACNiC,SAAS,QAAQ8J,OACfkG,EAAMwW,MAAMp8B,iB,OC7CjB,SAASq8B,GAAOxkC,GAAyC,IAAD,EACrE,OACE,qBAAKC,UAAS,oBAAKD,EAAMC,iBAAX,QAAwB,GAAxB,WAAd,SACGD,EAAMkN,KAAKuO,KAAI,SAACqC,GACf,OACE,eAAC,IAAM8M,SAAP,WACE,qBAAK3qB,UAAS,aAAgB6b,MAAO,CAAEwoB,gBAAiBxmB,EAAIoJ,OAAStmB,QAAS,kBAAMkd,EAAIld,QAAQkd,EAAIlX,OAEpG,mBAAG3G,UAAS,eAAkBW,QAAS,kBAAMkd,EAAIld,QAAQkd,EAAIlX,KAA7D,SACG,IAAI8gB,KAAKuV,aAAa,QAAS,CAC9BE,sBAAuB,EACvBD,sBAAuB,EACvBphB,MAAO,WACPiC,SAAU,QACT8J,OAAO/J,EAAI3V,SAGhB,mBAAGlI,UAAS,eAAkBW,QAAS,kBAAMkd,EAAIld,QAAQkd,EAAIlX,KAA7D,SACGkX,EAAIlX,OAbYkX,EAAIlX,S,OCCpB,SAAS69B,KAEtB,IAAQrc,EAAiB/gB,IAAMsT,WAAWmM,IAAlCsB,aAER,EAAgC5gB,oBAAkB,GAAlD,mBAAOsX,EAAP,KAAkBC,EAAlB,KAEA,EAAwCvX,mBAAiB,IAAzD,mBAAO2L,EAAP,KAAqBkW,EAArB,KAEA,EAAwB7hB,mBAAsB,IAA9C,mBAAO0F,EAAP,KAAaoc,EAAb,KAEA,EAAsC9hB,mBAAiB,GAAvD,mBAAOk9B,EAAP,KAAoBC,EAApB,KACM1yB,EAAU4M,cACRmH,EAASoD,cAATpD,KAGFuD,EAAS,uCAAG,4BAAAnb,EAAA,6DAEhBib,EAAgB,IAEhBtK,GAAW,GAJK,kBAOIqJ,IAPJ,OAORjc,EAPQ,OAQdmd,EAAQnd,GACRw4B,EAAex4B,EAAMA,EAAIgsB,QAAO,SAAC/pB,EAAW4G,GAAZ,OAA6B5G,EAAI4G,EAAE7M,QAAO,GAAK,GATjE,kDAYdkhB,EAAgB,KAAMG,SAZR,QAgBhBzK,GAAW,GAhBK,0DAAH,qDAmBT0K,EAAgB,SAAC7iB,GACrB,IAAI0sB,EACJ,OAAQ1sB,GACN,IAAK,aACH0sB,EAAQ,cACR,MACF,IAAK,iBACHA,EAAQ,aACR,MACF,IAAK,kBACHA,EAAQ,cACR,MACF,IAAK,kBACHA,EAAQ,cACR,MACF,QACEA,EAAQ,GAGZrhB,EAAQiN,KAAR,UAAgB8G,EAAhB,iBAA6BsN,EAA7B,qDAQF,OAJApY,qBAAU,WACRqO,MACC,IAEIzK,EACL,qBAAK7e,UAAS,gBAAd,SACE,cAAC,GAAD,MAEAkT,EACF,qBAAKlT,UAAS,gBAAd,SACE,cAAC,GAAD,UAAQkT,MAGV,sBAAKlT,UAAS,gBAAd,UACE,sBAAKA,UAAS,aAAd,UACE,mBAAGA,UAAS,cAAiBW,QAAS,kBAAM6oB,EAAc,KAA1D,8BAGA,cAACtpB,EAAA,EAAD,CACEC,MAAM,6FACNspB,UAAU,QACVC,OAAK,EACLC,oBAAkB,EAJpB,SAME,cAACC,GAAA,EAAD,CAAYnpB,KAAK,QAAjB,SACE,cAAC,EAAD,WAIW,IAAhBwM,EAAKqL,OACJ,cAAC,GAAD,IAEA,sBAAKtY,UAAS,aAAd,UACE,sBAAKA,UAAS,oBAAd,UACE,cAAC,GAAD,CACEokC,aAAa,EACbxB,UAAW31B,EACXw2B,YAAax2B,EAAKuO,KAAI,SAACzZ,GAAD,OAAOA,EAAEklB,SAC/B6b,UAvGI,GAwGJC,YAvGM,EAwGNE,aAvGO,GAwGPC,WAvGK,EAwGL5S,YAAa,SAAC3pB,GACZ6iB,EAAc7iB,MAGlB,qBACE3G,UAAS,oBACT6b,MAAO,CACLknB,YAjHI,EAkHJG,WAhHG,EAiHHvuB,MAnHI,EAoHJD,KAlHG,GA4GP,SASE,uBAAM1U,UAAS,iBAAf,UACE,sBAAMA,UAAS,YAAf,SAA+ByoB,GAAgBgc,GAAa,KAD9D,MAEGzb,GAAkByb,GAFrB,YAMJ,cAAC,GAAD,CACEzkC,UAAU,eACViN,KAAMA,EAAKuO,KAAI,SAACqC,GACd,MAAO,CACLoJ,MAAOpJ,EAAIoJ,MACXtgB,GAAIkX,EAAIlX,GACRuB,MAAO2V,EAAI3V,MACXvH,QAAS6oB,cC5IzB,IAAMmb,GAAkB,CACtB,CACEtW,OAAQ,iBACRiE,SAAU,iBACV5wB,MAAO,MACPwsB,YAAY,EACZM,iBAAkB,sBAClBK,UAAU,EACVK,iBAAkB,gBAClBsD,iBAAkB,WAClBsH,UAAW,OACXjD,KAAM,SAAC92B,GAAD,OAAqCk8B,GAAWkC,aAAap+B,EAAMmI,OAAO,KAElF,CACEmmB,OAAQ,gBACRiE,SAAU,gBACV5wB,MAAO,MACPwsB,YAAY,EACZM,iBAAkB,UAClBK,UAAU,EACVK,iBAAkB,eAClBJ,UAAW,8BACX0D,iBAAkB,WAClBsH,UAAW,OACXjD,KAAM,SAAC92B,GAAD,OAAqCk8B,GAAWkC,aAAap+B,EAAMmI,OAAO,KAElF,CACEmmB,OAAQ,SACRiE,SAAU,SACV5wB,MAAO,MACPwsB,YAAY,EACZM,iBAAkB,6BAClBK,UAAU,EACVK,iBAAkB,SAClBJ,UAAW,qCACX0D,iBAAkB,WAClBsH,UAAW,OACXjD,KAAM,SAAC92B,GAAD,OACJk8B,GAAW2I,aAAa7kC,EAAMs1B,IAAIsB,SAAS7J,SAAU/sB,EAAMmI,OAAO,KAEtE,CACEmmB,OAAQ,WACRiE,SAAU,WACV5wB,MAAO,MACPwsB,YAAY,EACZM,iBAAkB,UAClBK,UAAU,EACVK,iBAAkB,iBAClBJ,UAAW,gCACX0D,iBAAkB,WAClBsH,UAAW,OACXjD,KAAM,SAAC92B,GAAD,OAAqCk8B,GAAWP,WAAW37B,EAAMmI,OAAO,KAEhF,CACEmmB,OAAQ,YACRiE,SAAU,YACV5wB,MAAO,MACPwsB,YAAY,EACZM,iBAAkB,UAClBK,UAAU,EACVK,iBAAkB,cAClBJ,UAAW,6BACX0D,iBAAkB,KAClBsH,UAAW,QACXjD,KAAM,SAAC92B,GAAD,OAAqCk8B,GAAW4I,eAAe9kC,EAAMmI,OAAO,KAEpF,CACEmmB,OAAQ,qBACRiE,SAAU,qBACV5wB,MAAO,MACPwsB,YAAY,EACZM,iBAAkB,UAClBK,UAAU,EACVK,iBAAkB,qBAClBJ,UAAW,oCACX0D,iBAAkB,KAClBsH,UAAW,QACXjD,KAAM,SAAC92B,GAAD,OAAqCk8B,GAAWoC,eAAet+B,EAAMmI,OAAO,KAEpF,CACEmmB,OAAQ,gBACRiE,SAAU,gBACV5wB,MAAO,MACPwsB,YAAY,EACZM,iBAAkB,UAClBK,UAAU,EACVK,iBAAkB,iBAClBJ,UAAW,gCACX0D,iBAAkB,WAClBsH,UAAW,OACXjD,KAAM,SAAC92B,GAAD,OAAqCk8B,GAAWqC,mBAAmBv+B,EAAMmI,OAAO,MAI3E,SAAS48B,KACtB,IAAM9yB,EAAU4M,cACRmH,EAASoD,cAATpD,KACR,EAAgCxe,oBAAkB,GAAlD,mBAAOsX,EAAP,KAAkBC,EAAlB,KACA,EAA4BvX,oBAAkB,GAA9C,mBAAOsxB,EAAP,KAAgB7E,EAAhB,KACA,EAAwCzsB,mBAAiB,IAAzD,mBAAO2L,EAAP,KAAqBkW,EAArB,KACA,EAAkC7hB,mBAAsB,IAAxD,mBAAO+pB,EAAP,KAAkB2C,EAAlB,KACA,EAAkC1sB,mBAAiB,GAAnD,mBAAO4tB,EAAP,KAAkBjB,EAAlB,KACA,EAAoC3sB,mBAAiB,GAArD,mBAAOqG,EAAP,KAAmBktB,EAAnB,KACA,EAAoCvzB,mBAAiB,GAArD,mBAAOkqB,EAAP,KAAmB0C,EAAnB,KAqCA,OACE,cAAC,GAAD,CACEhD,SAAU,CACR,CACExqB,GAAI,cACJyyB,YAAa,cACbrB,eAAgB,YAChBxG,QAASoT,GACT13B,KAAM,CACJqkB,UAAWA,EACX2C,aAAcA,EACdR,UAAWzjB,GAAeyc,oBAC1BmH,YA/CiB,SAACD,EAA6CnzB,GAAkD,IAAD,IACxH,wBACEmzB,QADF,IACEA,GADF,UACEA,EAAa1kB,eADf,aACE,EAAsBuM,KAAI,SAACgjB,GACzB,OAAO,wCACY,OAAZh+B,GAAgC,QAAZA,IAAsB,CAC7CmG,GAAE,OAAE63B,QAAF,IAAEA,OAAF,EAAEA,EAAQuG,aAEG,WAAZvkC,GAAoC,QAAZA,IAAsB,CACjDksB,eAAc,OAAE8R,QAAF,IAAEA,OAAF,EAAEA,EAAQ7R,cACxBC,eAAqB,OAAN4R,QAAM,IAANA,OAAA,EAAAA,EAAQrS,eAAgB,MACvCU,OAAM,OAAE2R,QAAF,IAAEA,OAAF,EAAEA,EAAQ3R,OAChBC,SAAQ,OAAE0R,QAAF,IAAEA,OAAF,EAAEA,EAAQzR,eAClBiY,UAAS,OAAExG,QAAF,IAAEA,OAAF,EAAEA,EAAQyG,YACnBjY,mBAAkB,OAAEwR,QAAF,IAAEA,OAAF,EAAEA,EAAQvR,mBAC5B8R,cAAa,OAAEP,QAAF,IAAEA,OAAF,EAAEA,EAAQQ,iBAET,QAAZx+B,GAAqB,CACvBo2B,qBAAiB3qB,EACjBmrB,cAAUnrB,cAjBlB,QAoBQ,KA4BF2sB,OAAQ,CACN7I,eAAgB,iCAElBqI,YAAa,gCACbE,iBAAkB,OAClBkC,eA7BR,SACE1f,EACAua,GAGC,IAAD,EACA4J,eAAej1B,QAAQ,WAAYgI,EAAQrJ,SAASsd,UACpDjU,EAAQiN,KAAR,UAAgB8G,EAAKvN,UAAU,EAAGuN,EAAKgE,YAAY,qBAAnD,+BAAoFsL,EAAIsB,SAAShwB,UAAjG,QAAuG,MAuBjGwsB,kBAAmB,CACjB,CACEE,MAAO,QACPC,kBAAkB,iDAEpB,CACED,MAAO,aACPC,kBAAmB,0EAErB,CACED,MAAO,aACPC,kBAAmB,0EAErB,CACED,MAAO,YACPC,kBAAmB,yEAErB,CACED,MAAO,aACPC,kBAAmB,yBAK3BS,OAAQ,CACNlV,UAAWA,EACXC,WAAYA,EACZ+Z,QAASA,EACT7E,SAAUA,EACV9gB,aAAcA,EACdkW,gBAAiBA,GAEnBoI,WAAY,CACV2D,UAAWA,EACXjB,aAAcA,EACdtmB,WAAYA,EACZktB,cAAeA,EACfrJ,WAAYA,EACZ0C,cAAeA,GAEjBsB,QAAS,CACPC,eAAe,EACfiD,eAAe,EACfF,aAAa,EACbC,gBAAgB,EAChBa,eAAe,KC/MR,SAAS2L,KAAmC,IAAD,QAClDv8B,EAAWi3B,cACjB,EAA0Cr4B,mBAAiC,IAA3E,mBAAO49B,EAAP,KAAsBC,EAAtB,KACQhuB,EAAqBhQ,IAAMsT,WAAWxI,IAAtCkF,iBACFiuB,EAAc,IAAIhxB,IAAI,CAC1B,CAAC,QAAS,gBACV,CAAC,aAAc,kBACf,CAAC,aAAc,kBACf,CAAC,YAAa,iBACd,CAAC,aAAc,gBAcjB,OAXA4G,qBAAU,WAAO,IAAD,EACRqqB,EAAa,UAAG38B,EAASsd,SAASzN,UAAU7P,EAASsd,SAAS8D,YAAY,KAAO,UAApE,QAA0E,GAC7F,IACE3S,IAAmB5X,MAAK,SAACyN,GACvBm4B,EAAiBn4B,EAAKA,EAAKs4B,WAAU,SAACC,GAAD,OAAqCA,EAAQ5wB,eAAiBywB,EAAY56B,IAAI66B,WAErH,MAAOj5B,GACPC,QAAQC,IAAIF,MAEb,CAAC1D,EAASsd,WAGX,qCACE,uBAAMjmB,UAAU,YAAhB,oBACGmlC,EAAc3D,sBADjB,QACmC,EADnC,IACsC,sBAAMxhC,UAAU,aAAhB,0BAEtC,uBAAMA,UAAU,YAAhB,oBACGmlC,EAAcM,gCADjB,QAC6C,EAD7C,IACgD,sBAAMzlC,UAAU,aAAhB,8BAEhD,uBAAMA,UAAU,YAAhB,UACG,IAAIynB,KAAKuV,aAAa,QAAS,CAAEC,sBAAuB,EAAGC,sBAAuB,EAAGrhB,MAAO,WAAYiC,SAAU,QAAS8J,OAA3H,UACCud,EAAcne,8BADf,QACyC,GACvC,IACH,sBAAMhnB,UAAU,aAAhB,mCAEF,uBAAMA,UAAU,YAAhB,oBACM,IAAIynB,KAAKuV,aAAa,QAAS,CAAEC,sBAAuB,EAAGC,sBAAuB,EAAGrhB,MAAO,YAAa+L,OAAzG,UACFud,EAAcjD,2BADZ,QACmC,GAFzC,KAGQ,IACN,sBAAMliC,UAAU,aAAhB,0CCrCR,IAAMyiC,GAAS,CACb,CACErJ,YAAa,gBACbqH,UAAW,mDAEb,CACErH,YAAa,kBACbqH,UAAW,6DAEb,CACErH,YAAa,kBACbqH,UAAW,6DAEb,CACErH,YAAa,iBACbqH,UAAW,4DAEb,CACErH,YAAa,aACbqH,UAAW,8DAIA,SAAS+D,KACtB,IAAQze,EAASoD,cAATpD,KAER,OACE,sBAAK/lB,UAAU,oBAAf,UACE,qBAAKA,UAAU,OAAf,SACE,cAAC,GAAD,CACE8/B,KAAM2C,GACN9B,SAAU5a,EACVgb,iBAAkBhb,EAAKvN,UAAU,EAAGuN,EAAKgE,YAAY,MACrD8W,SAAU,CACR,CAAEzH,YAAa,mBAAoBqH,UAAW,wDAC9C,CAAErH,YAAa,MAAOqH,UAAW,4DACjC,CAAErH,YAAa,mBAAoBqH,UAAW,uEAC9C,CAAErH,YAAa,sBAAuBqH,UAAW,qEACjD,CAAErH,YAAa,gBAAiBqH,UAAW,uEAE7CK,gBAAiB,mBACjBG,gBAAgB,YAChBD,UAAS,UAAKjb,EAAK8D,MAAM,EAAG9D,EAAKgE,YAAY,OAC7CyW,oBAAkB,EAClBpgC,QAAQ,iGAGZ,qBAAKJ,UAAU,OAAf,SACE,sBAAKA,UAAU,UAAf,UAEE,qBAAKA,UAAU,eAAf,SACE,cAACklC,GAAD,MAEF,qBAAKllC,UAAU,gBAAf,SACE,cAAC,IAAD,UACE,cAAC,IAAD,CACEkmB,OAAK,EACLH,KAAM0c,GAAOjnB,KAAI,SAAC6X,GAChB,MAAM,GAAN,OAAUtN,EAAV,YAAkBsN,EAAMoN,UAAU72B,QAAQ,QAAS,QAErDqvB,UAAW,WACT,OAAO,cAAC6L,GAAD,mB,cCpDnBY,GAAwB,CAC5BC,IAAK,GACLC,IAAK,KACLC,IAAK,KACLC,IAAK,KACLC,IAAK,KACLC,IAAK,KACLC,IAAK,KACLC,IAAK,KACLC,IAAK,KACLC,IAAK,KACLC,IAAK,KACLC,IAAK,KACLC,UAAW,KACXC,SAAU,MAWL,SAASC,GAAoBx5B,GAClC,IAAIy5B,EAAM,EAOV,OANAz5B,EAAKwd,SAAQ,SAAC5M,GACZ6oB,EAAM5e,KAAK4e,IAAIA,EAAKhB,GAAW7nB,EAAIlX,QAK9B,GAAU+/B,EAIJ,SAASC,GAAS5mC,GAAmC,IAAD,IACjE,EAAwCwH,mBAAS,IAAjD,mBAAOq/B,EAAP,KAAqBC,EAArB,KACA,EAAwBt/B,mBAAsB,IAA9C,mBAAO0F,EAAP,KAAaoc,EAAb,KAEA,EAA0B9hB,mBAAoB,IAAImpB,MAAM3wB,EAAMkN,KAAKqL,QAAQzW,MAAK,IAAhF,mBAAOilC,EAAP,KAAeC,EAAf,KAEA,SAASxK,IACH7zB,OAAOs+B,aAAe,IAAMH,EAAgB,IAC3CA,EAAgB,IA8BvB,OA3BA5rB,qBAAU,WAERvS,OAAO2S,iBAAiB,SAAUkhB,GAElC,IAAMvB,EAAMj7B,EAAMkN,KAAKgpB,OAAM,SAACpY,GAAD,OAAkC,IAAdA,EAAI3V,SACjD,IACAnI,EAAMkN,KAAKirB,QAAO,SAAC/pB,EAAW4G,GAC5B,OAAgB,IAAZA,EAAE7M,MAAoBiG,EACd2Z,KAAKkT,IAAI7sB,EAAG4G,EAAE7M,SACzB++B,OAAOC,kBAed,OAdA7d,EACEtpB,EAAMkN,KAAKuO,KAAI,SAACqC,EAAK0J,GAOnB,OANkB,IAAd1J,EAAI3V,OACN6+B,GAAQ,SAAC/rB,GAEP,OADAA,EAAKuM,IAAS,EACPvM,KAGJ,2BACF6C,GADL,IAEE3V,MAAqB,IAAd2V,EAAI3V,MAAc8yB,EAAM,GAAKnd,EAAI3V,YAIvC,kBAAMQ,OAAO4S,oBAAoB,SAAUihB,MACjD,IAGD,cAAC,KAAD,CACEtvB,KAAMA,EACNk6B,MAAO,CAAEC,SAAU,GAAIC,WAAY,aACnCpS,KAAM,CAAC,SACPqS,UAAU,UACV7H,OAAM,UAAE1/B,EAAM0/B,cAAR,QAAkB,CAAEtmB,IAAK,EAAGxE,MAAO,GAAIquB,OAAQ,GAAItuB,KAAM,IAC/D6yB,QAAS,GACTX,aAAcA,EACdY,OAAO,aACPhE,OAAQ,CAAEc,MAAO,cACjBmD,SAAU,CACRC,SAAU,EACVC,YAAW,iBAAE5nC,QAAF,IAAEA,OAAF,EAAEA,EAAOwnC,eAAT,QAAoB,IAEjCK,WAAY,KACZC,aAAa,EACbC,aAAa,EACbC,aAAa,EAEbpnC,QAAS,SAACwjC,GAAD,OAAiBpkC,EAAMY,QAAQwjC,EAAG6D,aAC3CtE,aAAa,OACbuE,SAAUnB,EAAO7Q,OAAM,SAACpY,GAAD,OAA0B,IAARA,KAAgB,GAAK,OAC9Dzd,QAAS,SAAC0tB,GAAW,IAAD,EAClB,OACE,sBAAK9tB,UAAS,gBAAd,UACGD,EAAMqkC,aAAe,qBAAKpkC,UAAS,eAAkB6b,MAAO,CAAEwoB,gBAAe,UAAEvW,EAAM7G,aAAR,QAAiB,WAC/F,oBAAGjnB,UAAS,aAAZ,UACG8tB,EAAMka,WADT,IACsB,IACG,aAAtBjoC,EAAMmoC,YACL,+BACG,IAAIzgB,KAAKuV,aAAa,QAAS,CAC9BC,sBAAuB,EACvBC,sBAAuB,EACvBrhB,MAAO,WACPiC,SAAU,QACT8J,OAAOkf,EAAOhZ,EAAMvG,OAAS,EAAIuG,EAAM5lB,SAEpB,SAAtBnI,EAAMmoC,YACR,iCAAOpB,EAAOhZ,EAAMvG,OAAS,IAAMuG,EAAM5lB,MAAzC,WACwB,YAAtBnI,EAAMmoC,YACR,iCAAOpB,EAAOhZ,EAAMvG,OAAS,IAAMuG,EAAM5lB,MAAMigC,QAAQ,GAAvD,OAEA,+BAAOrB,EAAOhZ,EAAMvG,OAAS,IAAMuG,EAAM5lB,iB,OCvH1C,SAASkgC,KAAsC,IAAD,UAEnD7f,EAAoBnhB,IAAMsT,WAAWmM,IAArC0B,gBAER,EAAgChhB,oBAAkB,GAAlD,mBAAOsX,EAAP,KAAkBC,EAAlB,KAEA,EAAwCvX,mBAAiB,IAAzD,mBAAO2L,EAAP,KAAqBkW,EAArB,KAEA,EAAwB7hB,mBAA0B,IAAlD,mBAAO0F,EAAP,KAAaoc,EAAb,KAEA,EAAkC9hB,mBAAsB,IAAxD,mBAAOq7B,EAAP,KAAkByF,EAAlB,KAEA,EAAoC9gC,mBAAiB,GAArD,mBAAO+gC,EAAP,KAAmBC,EAAnB,KACMv2B,EAAU4M,cACRmH,EAASoD,cAATpD,KAGFuD,EAAS,uCAAG,4BAAAnb,EAAA,6DAEhBib,EAAgB,IAEhBtK,GAAW,GAJK,kBAOIyJ,IAPJ,OAORrc,EAPQ,OASdmd,EAAQnd,GAERm8B,GAAa,WACX,OAAOn8B,EAAIsP,KAAI,SAACqC,EAAoB0J,GAAmB,IAAD,MACpD,MAAO,CACL5gB,GAAE,iBAAEkX,QAAF,IAAEA,GAAF,UAAEA,EAAK2qB,wBAAP,aAAE,EAAuB3gB,cAAc4gB,OAAO,EAAG,UAAjD,QAAuD,MACzDxhB,MAAOM,IAAUrb,EAAIoM,OAAS,EAAI,UAAY,UAC9CpQ,MAAK,UAAE2V,EAAI6qB,wBAAN,QAA0B,SAIrCH,EAAcr8B,GAAOA,EAAIoM,QAAU,EAAIpM,EAAIA,EAAIoM,OAAS,GAAGqwB,aAAe,GApB5D,kDAuBdvf,EAAgB,KAAMG,SAvBR,QAyBhBzK,GAAW,GAzBK,0DAAH,qDA4BT0K,EAAgB,SAAC7iB,GACrB,IAAM0sB,EACG,KAAP1sB,GAEIA,IAAOisB,YAASyP,MAAM1G,SAAS,OAAO9T,cADtC,GACA,WAEIlhB,EAAG4R,OAAO,GAAK5R,EAAGkjB,MAAM,GAAG+e,cAF/B,YAEgDhW,YAASyP,MAAM1G,SAAS,OAC9E3pB,EAAQiN,KAAR,UAAgB8G,EAAhB,4BAAwCsN,EAAxC,yDAQF,OAJApY,qBAAU,WACRqO,MACC,IAEIzK,EACL,qBAAK7e,UAAS,aAAd,SACE,cAAC,GAAD,MAEAkT,EACF,qBAAKlT,UAAS,aAAd,SACE,cAAC,GAAD,UAAQkT,MAEQ,IAAhBjG,EAAKqL,OACP,sBAAKtY,UAAS,aAAd,UACE,sBAAKA,UAAS,SAAd,UACE,mBAAGA,UAAS,QAAZ,8BACA,cAACE,EAAA,EAAD,CAASC,MAAM,gEAAgEspB,UAAU,QAAQC,OAAK,EAACC,oBAAkB,EAAzH,SACE,cAACC,GAAA,EAAD,CAAYnpB,KAAK,QAAjB,SACE,cAAC,EAAD,WAIN,cAAC,GAAD,OAGF,sBAAKT,UAAS,aAAd,UACE,sBAAKA,UAAS,SAAd,UACE,mBAAGA,UAAS,QAAWW,QAAS,kBAAM6oB,EAAc,KAApD,8BAGA,cAACtpB,EAAA,EAAD,CAASC,MAAM,gEAAgEspB,UAAU,QAAQC,OAAK,EAACC,oBAAkB,EAAzH,SACE,cAACC,GAAA,EAAD,CAAYnpB,KAAK,QAAjB,SACE,cAAC,EAAD,WAIN,sBAAKT,UAAS,SAAd,UACE,mBAAGA,UAAS,aAAgB6b,MAAO,CAAEgtB,WAAY,UAAjD,yBAGA,sBAAK7oC,UAAS,mBAAd,UACE,mBAAGW,QAAS,kBAAM6oB,EAAc,KAAKxpB,UAAS,WAA9C,SACGiN,GAAQA,EAAKqL,QAAU,IAAvB,UAA4BrL,EAAKA,EAAKqL,OAAS,UAA/C,iBAA4B,EAAuBowB,wBAAnD,aAA4B,EAAyC5f,YAAY,MAEpF,mBAAG9oB,UAAS,mBAAZ,kBAEF,sBAAKA,UAAS,sBAAd,UACE,sBAAKA,UAAS,6BAAd,UACE,mBAAGA,UAAS,qBAAZ,SAAqCyoB,GAAgB6f,GAAY,KACjE,oBAAGtoC,UAAS,uBAAZ,eAEGgpB,GAAkBsf,GAFrB,UAKF,oBAAGtoC,UAAS,yBAAZ,UACGiN,GAAQA,EAAKqL,QAAU,GAAvB,oBAA4BrL,EAAKA,EAAKqL,OAAS,GAAGowB,kBAAtB,UAAyCz7B,EAAKA,EAAKqL,OAAS,UAA5D,aAAyC,EAAuBowB,yBAA5F,aAA2B,EAAoFP,QAAQ,UAAvH,QAAiI,EADpI,iCAMJ,qBAAKnoC,UAAS,SAAd,SACE,cAAC2mC,GAAD,CACEvC,aAAa,EACbn3B,KAAM21B,EACNsF,YAAY,UACZvnC,QAAS,SAACgG,GAAD,OAAQ6iB,EAAc7iB,IAC/B4gC,QAAS,GACT9H,OACuB,IAArBmD,EAAUtqB,OACN,CACEa,IAAK,EACLxE,MAAO,GACPquB,OAAQ,GACRtuB,KAAM+xB,GAAoB7D,IAEP,IAArBA,EAAUtqB,OACV,CACEa,IAAK,EACLxE,MAAO,GACPquB,OAAQ,GACRtuB,KAAM+xB,GAAoB7D,IAEP,IAArBA,EAAUtqB,OACV,CACEa,IAAK,EACLxE,MAAO,GACPquB,OAAQ,GACRtuB,KAAM+xB,GAAoB7D,SAE5B32B,SCzJhB,IAAM04B,GAAkB,CACtB,CACEtW,OAAQ,iBACRiE,SAAU,iBACV5wB,MAAO,MACPwsB,YAAY,EACZM,iBAAkB,UAClBK,UAAU,EACVK,iBAAkB,gBAClBsD,iBAAkB,WAClBsH,UAAW,OACXjD,KAAM,SAAC92B,GAAD,OAAqCk8B,GAAWkC,aAAap+B,EAAMmI,OAAO,KAElF,CACEmmB,OAAQ,gBACRiE,SAAU,gBACV5wB,MAAO,MACPwsB,YAAY,EACZM,iBAAkB,sBAClBK,UAAU,EACVK,iBAAkB,eAClBJ,UAAW,8BACX0D,iBAAkB,WAClBsH,UAAW,OACXjD,KAAM,SAAC92B,GAAD,OAAqCk8B,GAAWkC,aAAap+B,EAAMmI,OAAO,KAElF,CACEmmB,OAAQ,SACRiE,SAAU,SACV5wB,MAAO,MACPwsB,YAAY,EACZM,iBAAkB,6BAClBK,UAAU,EACVK,iBAAkB,cAClBJ,UAAW,sCACX0D,iBAAkB,KAClBC,gBAAiB,KACjBnE,gBAAiB,CACf,CAAEtC,WAAY,OAAQ9jB,MAAO/G,EAAiB,KAAUwF,GAAI,QAC5D,CAAEqlB,WAAY,gBAAiB9jB,MAAO,IAAKvB,GAAI,SAC/C,CAAEqlB,WAAY,iBAAkB9jB,MAAO/G,EAAkB,kBAAmBwF,GAAI,UAChF,CAAEqlB,WAAY,iBAAkB9jB,MAAO/G,EAAkB,kBAAmBwF,GAAI,UAChF,CAAEqlB,WAAY,eAAgB9jB,MAAO/G,EAAkB,gBAAiBwF,GAAI,UAC5E,CAAEqlB,WAAY,SAAU9jB,MAAO/G,EAAiB,OAAYwF,GAAI,WAElEmzB,UAAW,OACXjD,KAAM,SAAC92B,GAAD,OACJk8B,GAAW2I,aAAa7kC,EAAMs1B,IAAIsB,SAAS7J,SAAU/sB,EAAMmI,OAAO,KAEtE,CACEmmB,OAAQ,WACRiE,SAAU,WACV5wB,MAAO,QACPwsB,YAAY,EACZM,iBAAkB,iBAClBK,UAAU,EACVK,iBAAkB,iBAClBJ,UAAW,gCACX0D,iBAAkB,WAClBsH,UAAW,OACXjD,KAAM,SAAC92B,GAAD,OAAqCk8B,GAAWP,WAAW37B,EAAMmI,OAAO,KAEhF,CACEmmB,OAAQ,YACRiE,SAAU,YACV5wB,MAAO,QACPwsB,YAAY,EACZM,iBAAkB,SAClBK,UAAU,EACVK,iBAAkB,cAClBJ,UAAW,6BACX0D,iBAAkB,KAClBsH,UAAW,QACXjD,KAAM,SAAC92B,GAAD,OAAqCk8B,GAAW4I,eAAe9kC,EAAMmI,OAAO,KAEpF,CACEmmB,OAAQ,kBACRiE,SAAU,kBACV5wB,MAAO,MACPwsB,YAAY,EACZM,iBAAkB,UAClBK,UAAU,EACVK,iBAAkB,qBAClBJ,UAAW,oCACX0D,iBAAkB,KAClBsH,UAAW,QACXjD,KAAM,SAAC92B,GAAD,OAAqCk8B,GAAWoC,eAAet+B,EAAMmI,OAAO,KAEpF,CACEmmB,OAAQ,gBACRiE,SAAU,gBACV5wB,MAAO,MACPwsB,YAAY,EACZM,iBAAkB,iBAClBK,UAAU,EACVK,iBAAkB,iBAClBJ,UAAW,gCACX0D,iBAAkB,WAClBsH,UAAW,OACXjD,KAAM,SAAC92B,GAAD,OAAqCk8B,GAAWqC,mBAAmBv+B,EAAMmI,OAAO,MAG3E,SAAS4gC,KACtB,IAAM92B,EAAU4M,cACRmH,EAASoD,cAATpD,KACR,EAAgCxe,oBAAkB,GAAlD,mBAAOsX,EAAP,KAAkBC,EAAlB,KACA,EAA4BvX,oBAAkB,GAA9C,mBAAOsxB,EAAP,KAAgB7E,EAAhB,KACA,EAAwCzsB,mBAAiB,IAAzD,mBAAO2L,EAAP,KAAqBkW,EAArB,KACA,EAAkC7hB,mBAAsB,IAAxD,mBAAO+pB,EAAP,KAAkB2C,EAAlB,KACA,EAAkC1sB,mBAAiB,GAAnD,mBAAO4tB,EAAP,KAAkBjB,EAAlB,KACA,EAAoC3sB,mBAAiB,GAArD,mBAAOqG,EAAP,KAAmBktB,EAAnB,KACA,EAAoCvzB,mBAAiB,GAArD,mBAAOkqB,EAAP,KAAmB0C,EAAnB,KAqCA,OACE,cAAC,GAAD,CACEhD,SAAU,CACR,CACExqB,GAAI,cACJyyB,YAAa,cACbrB,eAAgB,YAChB9qB,KAAM,CACJqkB,UAAWA,EACX2C,aAAcA,EACdR,UAAWzjB,GAAe+4B,qBAC1BnV,YA9CU,SAACD,EAAmDnzB,GAAkD,IAAD,IACvH,wBACEmzB,QADF,IACEA,GADF,UACEA,EAAa1kB,eADf,aACE,EAAsBuM,KAAI,SAACgjB,GACzB,OAAO,wCACY,OAAZh+B,GAAgC,QAAZA,IAAsB,CAC7CmG,GAAE,OAAE63B,QAAF,IAAEA,OAAF,EAAEA,EAAQuG,aAEG,WAAZvkC,GAAoC,QAAZA,IAAsB,CACjDksB,eAAc,OAAE8R,QAAF,IAAEA,OAAF,EAAEA,EAAQ7R,cACxBC,eAAqB,OAAN4R,QAAM,IAANA,OAAA,EAAAA,EAAQrS,eAAgB,MACvCU,OAAM,OAAE2R,QAAF,IAAEA,OAAF,EAAEA,EAAQ3R,OAChBC,SAAQ,OAAE0R,QAAF,IAAEA,OAAF,EAAEA,EAAQzR,eAClBiY,UAAS,OAAExG,QAAF,IAAEA,OAAF,EAAEA,EAAQyG,YACnBrG,gBAAe,OAAEJ,QAAF,IAAEA,OAAF,EAAEA,EAAQvR,mBACzB8R,cAAa,OAAEP,QAAF,IAAEA,OAAF,EAAEA,EAAQQ,iBAET,QAAZx+B,GAAqB,CACvBo2B,qBAAiB3qB,EACjBmrB,cAAUnrB,cAjBlB,QAoBQ,KA2BFslB,QAASoT,GACT/L,OAAQ,CACN7I,eAAgB,uBAElBqI,YAAa,oCACbE,iBAAkB,OAClBkC,eA7BR,SACE1f,EACAua,GAGC,IAAD,EACA4J,eAAej1B,QAAQ,WAAYgI,EAAQrJ,SAASsd,UACpDjU,EAAQiN,KAAR,UAAgB8G,EAAKvN,UAAU,EAAGuN,EAAKgE,YAAY,gCAAnD,+BAA+FsL,EAAIsB,SAAShwB,UAA5G,QAAkH,MAuB5GwsB,kBAAmBzC,MAAM4S,KAAK5S,MAAM,GAAGuE,QAAQzZ,KAAI,SAAC+L,GAClD,IAAMyhB,EAAcpW,YAASyP,MAAMrP,MAAM,CAAEiW,OAAQ1hB,IAAS2hB,MAAM,SAClE,MAAO,CACL7V,MAAiB,IAAV9L,EAAc,mBAAd,UAAsCyhB,EAAYrN,SAAS,OAA3D,YAAqEqN,EAAYrN,SAAS,OACjGrI,kBAAkB,kBAAD,OACL,IAAV/L,EAAcqL,YAASyP,MAAM1G,SAAS,cAAgB/I,YAASyP,MAAMrP,MAAM,CAAEiW,OAAQ1hB,IAAS2hB,MAAM,SAASvN,SAAS,cADvG,WAOzB5H,OAAQ,CACNlV,UAAWA,EACXC,WAAYA,EACZ+Z,QAASA,EACT7E,SAAUA,EACV9gB,aAAcA,EACdkW,gBAAiBA,GAEnBoI,WAAY,CACV2D,UAAWA,EACXjB,aAAcA,EACdtmB,WAAYA,EACZktB,cAAeA,EACfrJ,WAAYA,EACZ0C,cAAeA,GAEjBsB,QAAS,CACPC,eAAe,EACfiD,eAAe,EACfF,aAAa,EACbC,gBAAgB,EAChBa,eAAe,KCxMvB,IAAMkJ,GAAS/R,MAAM4S,KAAK5S,MAAM,GAAGuE,QAAQzZ,KAAI,SAAC+L,GAC9C,IAAMyhB,EAAcpW,YAASyP,MAAMrP,MAAM,CAAEiW,OAAQ1hB,IAAS2hB,MAAM,SAClE,MAAO,CACL9P,YAAY,GAAD,OAAK4P,EAAYrN,SAAS,OAA1B,YAAoCqN,EAAYrN,SAAS,OACpE8E,UAAqB,IAAVlZ,EAAc,GAAd,UAAsByhB,EAAYrN,SAAS,OAA3C,YAAqDqN,EAAYrN,SAAS,MAA1E,2DAIA,SAASwN,KACtB,IAAQpjB,EAASoD,cAATpD,KACF9X,EAAaojB,mBAAQ,WACzB,IAAM+B,EAAYzqB,SAASsd,SAAS4D,MAAMlhB,SAASsd,SAAS8D,YAAY,KAAO,GAC3E9b,EAAa2kB,YAASyP,MAAM1G,SAAS,cACzC,GAAkB,qBAAdvI,EAAkC,CACpC,IAAMgW,EAAUhW,EAAUpE,MAAM,KAChC/gB,EAAa2kB,YAAS2I,WAAT,UAAuB6N,EAAQ,GAA/B,YAAqCA,EAAQ,GAA7C,OAAsD,aAAaF,MAAM,SAASvN,SAAS,cAE1G,OAAO1tB,IACN,CAACtF,SAASsd,WAEb,OACE,sBAAKjmB,UAAU,oBAAf,UACE,qBAAKA,UAAU,OAAf,SACE,cAAC,GAAD,CACE8/B,KAAM2C,GACN9B,SAAU5a,EACVgb,iBAAkBhb,EAAKvN,UAAU,EAAGuN,EAAKgE,YAAY,MACrD8W,SAAU,CACR,CAAEzH,YAAa,mBAAoBqH,UAAW,wDAC9C,CAAErH,YAAa,MAAOqH,UAAW,4DACjC,CAAErH,YAAa,mBAAoBqH,UAAW,uEAC9C,CAAErH,YAAa,sBAAuBqH,UAAW,qEACjD,CAAErH,YAAa,gBAAiBqH,UAAW,uEAE7CK,gBAAiB,mBACjBG,gBAAgB,YAChBD,UAAS,UAAKjb,EAAK8D,MAAM,EAAG9D,EAAKgE,YAAY,OAC7C3pB,QAAQ,oEAGZ,qBAAKJ,UAAU,OAAf,SACE,sBAAKA,UAAU,UAAf,UACE,cAAC,GAAD,CACE+9B,KAAM,CACJ,CAAEl9B,KAAM,kBACR,CAAEA,KAAM,8BACR,CAAEA,KAAM,4BACR,CAAEA,KAAM,qCAEVoN,WAAYA,IAEd,qBAAKjO,UAAU,gBAAf,SACE,cAAC,IAAD,UACE,cAAC,IAAD,CACEkmB,OAAK,EACLH,KAAM0c,GAAOjnB,KAAI,SAAC6X,GAChB,MAAM,GAAN,OAAUtN,EAAV,YAAkBsN,EAAMoN,UAAU72B,QAAQ,QAAS,QAErDqvB,UAAW,WACT,OAAO,cAAC6P,GAAD,mB,OCvDV,SAASO,GAAMtpC,GAAmC,IAAD,IAC9D,OACE,qBACE8b,MAAO,CAAEytB,YAAW,oBAAKvpC,EAAMupC,YAAX,qBAA8B,OAClDtpC,UAAS,gBAAWD,EAAMwpC,WAAjB,OACPxpC,EAAMypC,UAAY,WAAa,GADxB,sBAELzpC,EAAMC,iBAFD,QAEc,M,OCHd,SAASypC,KAA4C,IAAD,cACzDphB,EAAejhB,IAAMsT,WAAWmM,IAAhCwB,WACR,EAAgC9gB,oBAAkB,GAAlD,mBAAOsX,EAAP,KAAkBC,EAAlB,KACA,EAAwCvX,mBAAiB,IAAzD,mBAAO2L,EAAP,KAAqBkW,EAArB,KACA,EAAwB7hB,mBAAsB,IAA9C,mBAAO0F,EAAP,KAAaoc,EAAb,KACMrX,EAAU4M,cACRmH,EAASoD,cAATpD,KAGFuD,EAAS,uCAAG,4BAAAnb,EAAA,6DAEhBib,EAAgB,IAEhBtK,GAAW,GAJK,kBAOIuJ,IAPJ,QAORnc,EAPQ,QAQVue,SAAQ,SAACviB,GACXA,EAAMvB,GAAKuB,EAAMvB,GAAG8hC,OAAO,EAAG,MAE5Bv8B,GAAOA,EAAIqL,MAAK,SAACqgB,GAAD,OAAyB,IAAfA,EAAK1vB,SACjCmhB,EAAQnd,GAERmd,EAAQ,IAdI,kDAkBdD,EAAgB,KAAMG,SAlBR,QAsBhBzK,GAAW,GAtBK,0DAAH,qDAyBT0K,EAAgB,SAAC7iB,GACrB,IACMmsB,GADI,IAAIjuB,MACC6kC,cACTrW,EAAe,KAAP1sB,EAAY,GAAZ,WAAqBA,EAAGiiC,cAAxB,YAAyC9V,GACvD9gB,EAAQiN,KAAR,UAAgB8G,EAAhB,kCAA8CsN,EAA9C,wCAQF,OAJApY,qBAAU,WACRqO,MACC,IAEIzK,EACL,qBAAK7e,UAAS,cAAd,SACE,cAAC,GAAD,MAEAkT,EACF,qBAAKlT,UAAS,cAAd,SACE,cAAC,GAAD,UAAQkT,MAEQ,IAAhBjG,EAAKqL,OACP,sBAAKtY,UAAS,cAAd,UACE,sBAAKA,UAAS,UAAd,UACE,mBAAGA,UAAS,QAAZ,0CACA,cAACE,EAAA,EAAD,CAASC,MAAM,4EAA4EspB,UAAU,QAAQC,OAAK,EAACC,oBAAkB,EAArI,SACE,cAACC,GAAA,EAAD,CAAYnpB,KAAK,QAAjB,SACE,cAAC,EAAD,WAIN,cAAC,GAAD,OAGF,sBAAKT,UAAS,cAAd,UACE,sBAAKA,UAAS,UAAd,UACE,mBAAGA,UAAS,QAAWW,QAAS,kBAAM6oB,EAAc,KAApD,0CAGA,cAACtpB,EAAA,EAAD,CAASC,MAAM,4EAA4EspB,UAAU,QAAQC,OAAK,EAACC,oBAAkB,EAArI,SACE,cAACC,GAAA,EAAD,CAAYnpB,KAAK,QAAjB,SACE,cAAC,EAAD,WAIN,sBAAKT,UAAS,UAAd,UACE,mBAAGA,UAAS,aAAgB6b,MAAO,CAAEgtB,WAAY,UAAjD,yBAGA,8BACE,oBAAGloC,QAAS,kBAAM6oB,EAAc,KAAKxpB,UAAS,SAA9C,UACGiN,GAAwB,IAAhBA,EAAKqL,OAAb,WAA+B,IAAImP,KAAKuV,cAAepV,OAAxB,UAA+B3a,EAAKA,EAAKqL,OAAS,GAAGpQ,aAArD,QAA8D,GAA7F,SAAyG,EAAG,SAGjH,sBAAKlI,UAAS,UAAd,UACE,mBAAGA,UAAS,aAAZ,+BACA,sBAAKA,UAAS,gBAAd,UACE,cAAC,GAAD,CACEupC,UACEt8B,GAAQA,EAAKqL,QAAU,GACnB,UAACrL,EAAKA,EAAKqL,OAAS,GAAGpQ,aAAvB,QAAgC,IAAhC,UAAsC+E,EAAKA,EAAKqL,OAAS,GAAGpQ,aAA5D,QAAqE,GAAK,EACxE,QACA,UAAC+E,EAAKA,EAAKqL,OAAS,GAAGpQ,aAAvB,QAAgC,IAAhC,UAAsC+E,EAAKA,EAAKqL,OAAS,GAAGpQ,aAA5D,QAAqE,GAAK,EAC1E,KACA,SACF,OAGR,oBAAGlI,UAAS,aAAZ,UACGiN,GAAQA,EAAKqL,QAAU,GAAI,UAACrL,EAAKA,EAAKqL,OAAS,GAAGpQ,aAAvB,QAAgC,IAAhC,UAAsC+E,EAAKA,EAAKqL,OAAS,GAAGpQ,aAA5D,QAAqE,GAAK,EADxG,oBAMN,qBAAKlI,UAAS,UAAd,SACE,cAAC2mC,GAAD,CACEvC,aAAa,EACbn3B,KAAMA,EAGNtM,QAAS,kBAAM6oB,EAAc,KAC7B+d,QAAS,GACT9H,OACkB,IAAhBxyB,EAAKqL,OACD,CACEa,IAAK,EACLxE,MAAO,GACPquB,OAAQ,GACRtuB,KAAM+xB,GAAoBx5B,IAEZ,IAAhBA,EAAKqL,OACL,CACEa,IAAK,EACLxE,MAAO,GACPquB,OAAQ,GACRtuB,KAAM+xB,GAAoBx5B,IAEZ,IAAhBA,EAAKqL,OACL,CACEa,IAAK,EACLxE,MAAO,GACPquB,OAAQ,GACRtuB,KAAM+xB,GAAoBx5B,SAE5BhB,EAENi8B,YAAY,cCpJtB,IAAMhK,GAAmB,CACvB,CACE7P,OAAQ,gBACRiE,SAAU,gBACV5wB,MAAO,SACPwsB,YAAY,EACZM,iBAAkB,sBAClBK,UAAU,EACVK,iBAAkB,cAClBsD,iBAAkB,WAClBsH,UAAW,OACXjD,KAAM,SAAC92B,GAAD,OAAqCk8B,GAAWkC,aAAap+B,EAAMmI,OAAO,KAElF,CACEmmB,OAAQ,kBACRiE,SAAU,kBACV5wB,MAAO,QACPwsB,YAAY,EACZM,iBAAkB,eAClBK,UAAU,EACVK,iBAAkB,iBAClBJ,UAAW,8BACX0D,iBAAkB,WAClBsH,UAAW,OACXjD,KAAM,SAAC92B,GAAD,OAAqCk8B,GAAWkC,aAAap+B,EAAMmI,OAAO,KAElF,CACEmmB,OAAQ,oBACRiE,SAAU,oBACV5wB,MAAO,SACPwsB,YAAY,EACZM,iBAAkB,UAClBK,UAAU,EACVK,iBAAkB,uBAClBJ,UAAW,oCACX0D,iBAAkB,KAClBsH,UAAW,QACXjD,KAAM,SAAC92B,GAAD,OAAqCk8B,GAAWmC,aAAar+B,EAAMmI,OAAO,KAElF,CACEmmB,OAAQ,kBACRiE,SAAU,kBACV5wB,MAAO,QACPwsB,YAAY,EACZM,iBAAkB,UAClBK,UAAU,EACVK,iBAAkB,sBAClBJ,UAAW,mCACX0D,iBAAkB,KAClBsH,UAAW,QACXjD,KAAM,SAAC92B,GAAD,OAAqCk8B,GAAWoC,eAAet+B,EAAMmI,OAAO,KAEpF,CACEmmB,OAAQ,MACRiE,SAAU,MACV5wB,MAAO,QACPwsB,YAAY,EACZM,iBAAkB,UAClBK,UAAU,EACVK,iBAAkB,MAClBJ,UAAW,mBACX0D,iBAAkB,KAClBsH,UAAW,QACXjD,KAAM,SAAC92B,GAAD,OAAqCk8B,GAAWmC,aAA6B,OAAhBr+B,EAAMmI,MAAiB4f,KAAKiB,MAAMhpB,EAAMmI,OAAS,GAAG,KAEzH,CACEmmB,OAAQ,gBACRiE,SAAU,gBACV5wB,MAAO,MACPwsB,YAAY,EACZM,iBAAkB,iBAClBK,UAAU,EACVK,iBAAkB,iBAClBJ,UAAW,8BACX0D,iBAAkB,KAClBsH,UAAW,OACXjD,KAAM,SAAC92B,GAAD,OAAqCk8B,GAAWqC,mBAAmBv+B,EAAMmI,OAAO,MAI3E,SAASyhC,KACtB,IAAM33B,EAAU4M,cACRmH,EAASoD,cAATpD,KACR,EAAgCxe,oBAAkB,GAAlD,mBAAOsX,EAAP,KAAkBC,EAAlB,KACA,EAA4BvX,oBAAkB,GAA9C,mBAAOsxB,EAAP,KAAgB7E,EAAhB,KACA,EAAwCzsB,mBAAiB,IAAzD,mBAAO2L,EAAP,KAAqBkW,EAArB,KACA,EAAkC7hB,mBAAsB,IAAxD,mBAAO+pB,EAAP,KAAkB2C,EAAlB,KACA,EAAkC1sB,mBAAiB,GAAnD,mBAAO4tB,EAAP,KAAkBjB,EAAlB,KACA,EAAoC3sB,mBAAiB,GAArD,mBAAOqG,EAAP,KAAmBktB,EAAnB,KACA,EAAoCvzB,mBAAiB,GAArD,mBAAOkqB,EAAP,KAAmB0C,EAAnB,KAoCA,OACE,cAAC,GAAD,CACEhD,SAAU,CACR,CACExqB,GAAI,eACJyyB,YAAa,eACbrB,eAAgB,YAChB9qB,KAAM,CACJqkB,UAAWA,EACX2C,aAAcA,EACdR,UAAW1jB,GAAgBkY,qBAC3B2L,YA7CU,SAACD,EAA8CnzB,GAAkD,IAAD,IAClH,wBACEmzB,QADF,IACEA,GADF,UACEA,EAAa1kB,eADf,aACE,EAAsBuM,KAAI,SAACgjB,GACzB,OAAO,wCACY,OAAZh+B,GAAgC,QAAZA,IAAsB,CAC7CmG,GAAE,OAAE63B,QAAF,IAAEA,OAAF,EAAEA,EAAQtwB,aAEG,WAAZ1N,GAAoC,QAAZA,IAAsB,CACjDosB,eAAqB,OAAN4R,QAAM,IAANA,OAAA,EAAAA,EAAQje,cAAe,MACtCke,iBAAuB,OAAND,QAAM,IAANA,OAAA,EAAAA,EAAQE,iBAAkB,MAC3CC,kBAAiB,OAAEH,QAAF,IAAEA,OAAF,EAAEA,EAAQxU,qBAC3B4U,gBAAe,OAAEJ,QAAF,IAAEA,OAAF,EAAEA,EAAQvU,cACzBmY,IAAG,OAAE5D,QAAF,IAAEA,OAAF,EAAEA,EAAQ4D,IACbrD,cAAa,OAAEP,QAAF,IAAEA,OAAF,EAAEA,EAAQQ,iBAET,QAAZx+B,GAAqB,CACvBo2B,qBAAiB3qB,EACjBmrB,cAAUnrB,cAhBlB,QAmBQ,KA2BFslB,QAAS2M,GACTtF,OAAQ,CACN7I,eAAgB,mDAElBqI,YAAa,mBACbE,iBAAkB,OAClBkC,eA7BR,SACE1f,EACAua,GAGC,IAAD,EACA4J,eAAej1B,QAAQ,WAAYgI,EAAQrJ,SAASsd,UACpDjU,EAAQiN,KAAR,UAAgB8G,EAAKvN,UAAU,EAAGuN,EAAKgE,YAAY,sCAAnD,gCAAsGsL,EAAIsB,SAAShwB,UAAnH,QAAyH,MAuBnHwsB,kBAAmB,CACjB,CACEE,MAAO,yBACPC,kBAAmB,yDAK3BS,OAAQ,CACNlV,UAAWA,EACXC,WAAYA,EACZ+Z,QAASA,EACT7E,SAAUA,EACV9gB,aAAcA,EACdkW,gBAAiBA,GAEnBoI,WAAY,CACV2D,UAAWA,EACXjB,aAAcA,EACdtmB,WAAYA,EACZktB,cAAeA,EACfrJ,WAAYA,EACZ0C,cAAeA,GAEjBsB,QAAS,CACPC,eAAe,EACfiD,eAAe,EACfF,aAAa,EACbC,gBAAgB,EAChBa,eAAe,KC3KvB,IAAMkJ,GAAS/R,MAAM4S,KAAK5S,MAAM,GAAGuE,QAAQzZ,KAAI,SAAC+L,GAC9C,IAAMyhB,EAAcpW,YAASyP,MAAMrP,MAAM,CAAEiW,OAAQ1hB,IAAS2hB,MAAM,SAClE,MAAO,CACL9P,YAAY,GAAD,OAAK4P,EAAYrN,SAAS,OAA1B,YAAoCqN,EAAYrN,SAAS,OACpE8E,UAAqB,IAAVlZ,EAAc,GAAd,UAAsByhB,EAAYrN,SAAS,OAA3C,YAAqDqN,EAAYrN,SAAS,MAA1E,0CAIA,SAAS8N,KACtB,IAAM9gC,EAAWi3B,cACT7Z,EAASoD,cAATpD,KACF9X,EAAaojB,mBAAQ,WACzB,IAAM+B,EAAYzqB,EAASsd,SAAS4D,MAAMlhB,EAASsd,SAAS8D,YAAY,KAAO,GAC3E9b,EAAa2kB,YAASyP,MAAM1G,SAAS,cACzC,GAAkB,2BAAdvI,EAAwC,CAC1C,IAAMgW,EAAUhW,EAAUpE,MAAM,KAChC/gB,EAAa2kB,YAAS2I,WAAT,UAAuB6N,EAAQ,GAA/B,YAAqCA,EAAQ,GAA7C,OAAsD,aAAaF,MAAM,SAASvN,SAAS,cAE1G,OAAO1tB,IACN,CAACtF,EAASsd,WAEb,OACE,sBAAKjmB,UAAU,oBAAf,UACE,qBAAKA,UAAU,OAAf,SACE,cAAC,GAAD,CACE8/B,KAAM2C,GACN9B,SAAU5a,EACVgb,iBAAkBhb,EAAKvN,UAAU,EAAGuN,EAAKgE,YAAY,MACrD8W,SAAU,CACR,CAAEzH,YAAa,mBAAoBqH,UAAW,wDAC9C,CAAErH,YAAa,MAAOqH,UAAW,4DACjC,CAAErH,YAAa,mBAAoBqH,UAAW,uEAC9C,CAAErH,YAAa,sBAAuBqH,UAAW,qEACjD,CAAErH,YAAa,gBAAiBqH,UAAW,uEAE7CK,gBAAiB,MACjBG,gBAAgB,YAChBD,UAAS,UAAKjb,EAAK8D,MAAM,EAAG9D,EAAKgE,YAAY,OAC7C3pB,QAAQ,gFAGZ,qBAAKJ,UAAU,OAAf,SACE,sBAAKA,UAAU,UAAf,UACE,cAAC,GAAD,CACE+9B,KAAM,CAAC,CAAEl9B,KAAM,kBAAoB,CAAEA,KAAM,wBAA0B,CAAEA,KAAM,sBAAwB,CAAEA,KAAM,QAC7GoN,WAAYA,IAEd,qBAAKjO,UAAU,gBAAf,SACE,cAAC,IAAD,UACE,cAAC,IAAD,CACEkmB,OAAK,EACLH,KAAM0c,GAAOjnB,KAAI,SAAC6X,GAChB,MAAM,GAAN,OAAUtN,EAAV,YAAkBsN,EAAMoN,UAAU72B,QAAQ,QAAS,QAErDqvB,UAAW,WACT,OAAO,cAAC0Q,GAAD,mB,OChDV,SAASC,KAA0C,IAAD,EAEvDxhB,EAAoBhhB,IAAMsT,WAAWmM,IAArCuB,gBAER,EAAgC7gB,oBAAkB,GAAlD,mBAAOsX,EAAP,KAAkBC,EAAlB,KAEA,EAAwCvX,mBAAiB,IAAzD,mBAAO2L,EAAP,KAAqBkW,EAArB,KAEA,EAAwB7hB,mBAAsB,IAA9C,mBAAO0F,EAAP,KAAaoc,EAAb,KACMrX,EAAU4M,cACRmH,EAASoD,cAATpD,KAGFuD,EAAS,uCAAG,4BAAAnb,EAAA,6DAEhBib,EAAgB,IAEhBtK,GAAW,GAJK,kBAOIsJ,IAPJ,OAORlc,EAPQ,OAQdmd,EAAQnd,GARM,gDAWO,MAAjB,KAAM2gB,OACRxD,EAAQ,IAERD,EAAgB,KAAMG,SAdV,QAmBhBzK,GAAW,GAnBK,yDAAH,qDAsBT0K,EAAgB,SAACthB,GACrB,IAAImrB,EAAQ,iDACE,aAAVnrB,IACFmrB,EAAQ,6DAEVrhB,EAAQiN,KAAR,UAAgB8G,EAAhB,+BAA2CsN,KAQ7C,OAJApY,qBAAU,WACRqO,MACC,IAEIzK,EACL,qBAAK7e,UAAS,aAAd,SACE,cAAC,GAAD,MAEAkT,EACF,qBAAKlT,UAAS,aAAd,SACE,cAAC,GAAD,UAAQkT,MAEQ,IAAhBjG,EAAKqL,OACP,sBAAKtY,UAAS,aAAd,UACE,sBAAKA,UAAS,SAAd,UACE,mBAAGA,UAAS,QAAZ,iCACA,cAACE,EAAA,EAAD,CAASC,MAAM,0DAA0DspB,UAAU,QAAQC,OAAK,EAACC,oBAAkB,EAAnH,SACE,cAACC,GAAA,EAAD,CAAYnpB,KAAK,QAAjB,SACE,cAAC,EAAD,WAIN,cAAC,GAAD,OAGF,sBAAKT,UAAS,aAAd,UACE,sBAAKA,UAAS,SAAd,UACE,mBAAGA,UAAS,QAAWW,QAAS,kBAAM6oB,EAAc,KAApD,iCAGA,cAACtpB,EAAA,EAAD,CAASC,MAAM,0DAA0DspB,UAAU,QAAQC,OAAK,EAACC,oBAAkB,EAAnH,SACE,cAACC,GAAA,EAAD,CAAYnpB,KAAK,QAAjB,SACE,cAAC,EAAD,WAIN,sBAAKT,UAAS,SAAd,UACE,mBAAGA,UAAS,aAAZ,SAA6B,cAC7B,mBAAGW,QAAS,kBAAM6oB,EAAc,KAAKxpB,UAAS,eAA9C,UACG,UAAAiN,EAAK,UAAL,eAAS/E,QACR,IAAIuf,KAAKuV,aAAa,QAAS,CAC7BC,sBAAuB,EACvBC,sBAAuB,EACvBrhB,MAAO,WACPiC,SAAU,QACT8J,OAAO3a,EAAK,GAAG/E,SAEtB,mBAAGlI,UAAS,aAAZ,SAA6B,yBAE/B,qBAAKA,UAAS,SAAd,SACE,cAAC2mC,GAAD,CACEvC,aAAa,EACbn3B,KAAMA,EACNi7B,YAAY,WACZzI,OACkB,IAAhBxyB,EAAKqL,OACD,CACEa,IAAK,EACLxE,MAAO,GACPquB,OAAQ,GACRtuB,KAAM+xB,GAAoBx5B,IAEZ,IAAhBA,EAAKqL,OACL,CACEa,IAAK,EACLxE,MAAO,GACPquB,OAAQ,GACRtuB,KAAM+xB,GAAoBx5B,IAEZ,IAAhBA,EAAKqL,OACL,CACEa,IAAK,EACLxE,MAAO,GACPquB,OAAQ,GACRtuB,KAAM+xB,GAAoBx5B,SAE5BhB,EAENtL,QAAS,SAACgG,GAAD,OAAQ6iB,EAAc7iB,WCnIzC,IAAMu3B,GAAmB,CACvB,CACE7P,OAAQ,gBACRiE,SAAU,gBACV5wB,MAAO,QACPwsB,YAAY,EACZM,iBAAkB,sBAClBK,UAAU,EACVK,iBAAkB,cAClBsD,iBAAkB,WAClBsH,UAAW,OACXjD,KAAM,SAAC92B,GAAD,OAAqCk8B,GAAWkC,aAAap+B,EAAMmI,OAAO,KAElF,CACEmmB,OAAQ,kBACRiE,SAAU,kBACV5wB,MAAO,SACPwsB,YAAY,EACZM,iBAAkB,eAClBK,UAAU,EACVK,iBAAkB,iBAClBJ,UAAW,8BACX0D,iBAAkB,WAClBsH,UAAW,OACXjD,KAAM,SAAC92B,GAAD,OAAqCk8B,GAAWkC,aAAap+B,EAAMmI,OAAO,KAElF,CACEmmB,OAAQ,mBACRiE,SAAU,mBACV5wB,MAAO,MACPwsB,YAAY,EACZM,iBAAkB,UAClBK,UAAU,EACVK,iBAAkB,kBAClBJ,UAAW,+BACX0D,iBAAkB,KAClBsH,UAAW,QACXjD,KAAM,SAAC92B,GAAD,OAAqCk8B,GAAWoC,eAAet+B,EAAMmI,OAAO,KAEpF,CACEmmB,OAAQ,mBACRiE,SAAU,mBACV5wB,MAAO,SACPwsB,YAAY,EACZM,iBAAkB,UAClBK,UAAU,EACVK,iBAAkB,oBAClBJ,UAAW,iCACX0D,iBAAkB,KAClBsH,UAAW,QACXjD,KAAM,SAAC92B,GAAD,OAAqCk8B,GAAWoC,eAAet+B,EAAMmI,OAAO,KAEpF,CACEmmB,OAAQ,gBACRiE,SAAU,gBACV5wB,MAAO,MACPwsB,YAAY,EACZM,iBAAkB,UAClBK,UAAU,EACVK,iBAAkB,iBAClBJ,UAAW,8BACX0D,iBAAkB,KAClBsH,UAAW,QACXjD,KAAM,SAAC92B,GAAD,OAAqCk8B,GAAWkC,aAAap+B,EAAMmI,OAAO,KAElF,CACEmmB,OAAQ,gBACRiE,SAAU,gBACV5wB,MAAO,MACPwsB,YAAY,EACZM,iBAAkB,iBAClBK,UAAU,EACVK,iBAAkB,iBAClBJ,UAAW,8BACX0D,iBAAkB,WAClBsH,UAAW,OACXjD,KAAM,SAAC92B,GAAD,OAAqCk8B,GAAWqC,mBAAmBv+B,EAAMmI,OAAO,MAIpF2hC,GAAkB,CACtB,CACExb,OAAQ,iBACRiE,SAAU,iBACV5wB,MAAO,QACPwsB,YAAY,EACZM,iBAAkB,UAClBK,UAAU,EACVK,iBAAkB,gBAClBsD,iBAAkB,WAClBsH,UAAW,OACXjD,KAAM,SAAC92B,GAAD,OAAqCk8B,GAAWkC,aAAap+B,EAAMmI,OAAO,KAElF,CACEmmB,OAAQ,gBACRiE,SAAU,gBACV5wB,MAAO,QACPwsB,YAAY,EACZM,iBAAkB,eAClBK,UAAU,EACVK,iBAAkB,eAClBJ,UAAW,8BACX0D,iBAAkB,WAClBsH,UAAW,OACXjD,KAAM,SAAC92B,GAAD,OAAqCk8B,GAAWkC,aAAap+B,EAAMmI,OAAO,KAElF,CACEmmB,OAAQ,OACRiE,SAAU,OACV5wB,MAAO,QACPwsB,YAAY,EACZM,iBAAkB,0BAClBK,UAAU,EACVK,iBAAkB,cAClBJ,UAAW,6BACX0D,iBAAkB,WAClBsH,UAAW,OACXjD,KAAM,SAAC92B,GAAD,OAAqCk8B,GAAW6N,kBAAkB/pC,EAAMmI,OAAO,KAEvF,CACEmmB,OAAQ,eACRiE,SAAU,eACV5wB,MAAO,MACPwsB,YAAY,EACZM,iBAAkB,iBAClBK,UAAU,EACVK,iBAAkB,cAClBJ,UAAW,6BACX0D,iBAAkB,WAClBsH,UAAW,OACXjD,KAAM,SAAC92B,GAAD,OAAqCk8B,GAAWP,WAAW37B,EAAMmI,OAAO,KAEhF,CACEmmB,OAAQ,iBACRiE,SAAU,iBACV5wB,MAAO,QACPwsB,YAAY,EACZM,iBAAkB,UAClBK,UAAU,EACVK,iBAAkB,gBAClBJ,UAAW,+BACX0D,iBAAkB,KAClBsH,UAAW,QACXjD,KAAM,SAAC92B,GAAD,OAAqCk8B,GAAWoC,eAAet+B,EAAMmI,OAAO,KAEpF,CACEmmB,OAAQ,WACRiE,SAAU,WACV5wB,MAAO,MACPwsB,YAAY,EACZM,iBAAkB,UAClBK,UAAU,EAEVK,iBAAkB,eAClBJ,UAAW,8BACX0D,iBAAkB,KAClBsH,UAAW,OACXjD,KAAM,SAAC92B,GAAD,OAAuCk8B,GAAW8N,WAAWhqC,EAAMmI,OAAO,MAI9Ey8B,GAAkB,CACtB,CACEtW,OAAQ,iBACRiE,SAAU,iBACV5wB,MAAO,MACPwsB,YAAY,EACZM,iBAAkB,UAClBK,UAAU,EACVK,iBAAkB,gBAClBsD,iBAAkB,WAClBsH,UAAW,OACXjD,KAAM,SAAC92B,GAAD,OAAqCk8B,GAAWkC,aAAap+B,EAAMmI,OAAO,KAElF,CACEmmB,OAAQ,gBACRiE,SAAU,gBACV5wB,MAAO,QACPwsB,YAAY,EACZM,iBAAkB,eAClBK,UAAU,EACVK,iBAAkB,eAClBJ,UAAW,8BACX0D,iBAAkB,WAClBsH,UAAW,OACXjD,KAAM,SAAC92B,GAAD,OAAqCk8B,GAAWkC,aAAap+B,EAAMmI,OAAO,KAElF,CACEmmB,OAAQ,SACRiE,SAAU,SACV5wB,MAAO,QACPwsB,YAAY,EACZM,iBAAkB,6BAClBK,UAAU,EACVK,iBAAkB,cAClBJ,UAAW,qCACX0D,iBAAkB,KAClBC,gBAAiB,KACjBnE,gBAAiB,CACf,CAAEtC,WAAY,OAAQ9jB,MAAO/G,EAAiB,KAAUwF,GAAI,QAC5D,CAAEqlB,WAAY,gBAAiB9jB,MAAO,IAAKvB,GAAI,SAC/C,CAAEqlB,WAAY,iBAAkB9jB,MAAO/G,EAAkB,kBAAmBwF,GAAI,UAChF,CAAEqlB,WAAY,iBAAkB9jB,MAAO/G,EAAkB,kBAAmBwF,GAAI,UAChF,CAAEqlB,WAAY,eAAgB9jB,MAAO/G,EAAkB,gBAAiBwF,GAAI,UAC5E,CAAEqlB,WAAY,SAAU9jB,MAAO/G,EAAiB,OAAYwF,GAAI,WAElEmzB,UAAW,OACXjD,KAAM,SAAC92B,GAAD,OACJk8B,GAAW2I,aAAa7kC,EAAMs1B,IAAIsB,SAAS7J,SAAU/sB,EAAMmI,OAAO,KAEtE,CACEmmB,OAAQ,WACRiE,SAAU,WACV5wB,MAAO,MACPwsB,YAAY,EACZM,iBAAkB,iBAClBK,UAAU,EACVK,iBAAkB,iBAClBJ,UAAW,gCACX0D,iBAAkB,WAClBsH,UAAW,OACXjD,KAAM,SAAC92B,GAAD,OAAqCk8B,GAAWP,WAAW37B,EAAMmI,OAAO,KAEhF,CACEmmB,OAAQ,iBACRiE,SAAU,iBACV5wB,MAAO,QACPwsB,YAAY,EACZM,iBAAkB,UAClBK,UAAU,EACVK,iBAAkB,gBAClBJ,UAAW,+BACX0D,iBAAkB,KAClBsH,UAAW,QACXjD,KAAM,SAAC92B,GAAD,OAAqCk8B,GAAWoC,eAAet+B,EAAMmI,OAAO,KAEpF,CACEmmB,OAAQ,WACRiE,SAAU,WACV5wB,MAAO,MACPwsB,YAAY,EACZM,iBAAkB,UAClBK,UAAU,EAEVK,iBAAkB,cAClBJ,UAAW,6BACX0D,iBAAkB,KAClBsH,UAAW,OACXjD,KAAM,SAAC92B,GAAD,OAAuCk8B,GAAW8N,WAAWhqC,EAAMmI,OAAO,MAIrE,SAAS8hC,KACtB,IAAMh4B,EAAU4M,cACRmH,EAASoD,cAATpD,KACR,EAAgCxe,oBAAkB,GAAlD,mBAAOsX,EAAP,KAAkBC,EAAlB,KACA,EAA4BvX,oBAAkB,GAA9C,mBAAOsxB,EAAP,KAAgB7E,EAAhB,KACA,EAAwCzsB,mBAAiB,IAAzD,mBAAO2L,EAAP,KAAqBkW,EAArB,KACA,EAAkC7hB,mBAAsB,IAAxD,mBAAO+pB,EAAP,KAAkB2C,EAAlB,KACA,EAAkC1sB,mBAAiB,GAAnD,mBAAO4tB,EAAP,KAAkBjB,EAAlB,KACA,EAAoC3sB,mBAAiB,GAArD,mBAAOqG,EAAP,KAAmBktB,EAAnB,KACA,EAAoCvzB,mBAAiB,GAArD,mBAAOkqB,EAAP,KAAmB0C,EAAnB,KAwGA,OACE,cAAC,GAAD,CACEhD,SAAU,CACR,CACExqB,GAAI,eACJyyB,YAAa,eACbrB,eAAgB,YAChB9qB,KAAM,CACJqkB,UAAWA,EACX2C,aAAcA,EACdR,UAAW1jB,GAAgBkY,qBAC3B2L,YAjHkB,SAACD,EAA8CnzB,GAAkD,IAAD,IAC1H,wBACEmzB,QADF,IACEA,GADF,UACEA,EAAa1kB,eADf,aACE,EAAsBuM,KAAI,SAACgjB,GACzB,OAAO,wCACY,OAAZh+B,GAAgC,QAAZA,IAAsB,CAC7CmG,GAAE,OAAE63B,QAAF,IAAEA,OAAF,EAAEA,EAAQtwB,aAEG,WAAZ1N,GAAoC,QAAZA,IAAsB,CACjDosB,eAAqB,OAAN4R,QAAM,IAANA,OAAA,EAAAA,EAAQje,cAAe,MACtCke,iBAAuB,OAAND,QAAM,IAANA,OAAA,EAAAA,EAAQE,iBAAkB,MAC3CuL,iBAAgB,OAAEzL,QAAF,IAAEA,OAAF,EAAEA,EAAQ0L,gBAC1BC,iBAAgB,OAAE3L,QAAF,IAAEA,OAAF,EAAEA,EAAQ4L,kBAC1BC,cAAa,OAAE7L,QAAF,IAAEA,OAAF,EAAEA,EAAQ8L,eACvBvL,cAAa,OAAEP,QAAF,IAAEA,OAAF,EAAEA,EAAQQ,iBAET,QAAZx+B,GAAqB,CACvBo2B,qBAAiB3qB,EACjBmrB,cAAUnrB,cAhBlB,QAmBQ,KA+FFslB,QAAS2M,GACTtF,OAAQ,CACN7I,eAAgB,4DAElBqI,YAAa,+BACbE,iBAAkB,OAClBkC,eAjGR,SACE1f,EACAua,GAGC,IAAD,EACA4J,eAAej1B,QAAQ,WAAYgI,EAAQrJ,SAASsd,UACpDjU,EAAQiN,KAAR,UAAgB8G,EAAKvN,UAAU,EAAGuN,EAAKgE,YAAY,mCAAnD,gCAAmGsL,EAAIsB,SAAShwB,UAAhH,QAAsH,MA2FhHwsB,kBAAmB,CACjB,CACEE,MAAO,sBACPC,kBAAmB,4BAIzB,CACE3sB,GAAI,cACJyyB,YAAa,cACbrB,eAAgB,YAChB9qB,KAAM,CACJqkB,UAAWA,EACX2C,aAAcA,EACdR,UAAWhjB,GAAe85B,eAC1B3W,YArEiB,SAACD,EAA6CnzB,GAAkD,IAAD,IACxH,wBACEmzB,QADF,IACEA,GADF,UACEA,EAAa1kB,eADf,aACE,EAAsBuM,KAAI,SAACgjB,GACzB,OAAO,wCACY,OAAZh+B,GAAgC,QAAZA,IAAsB,CAC7CmG,GAAE,OAAE63B,QAAF,IAAEA,OAAF,EAAEA,EAAQgM,aAEG,WAAZhqC,GAAoC,QAAZA,IAAsB,CACjDiqC,eAAc,OAAEjM,QAAF,IAAEA,OAAF,EAAEA,EAAQkM,cACxB9d,eAAqB,OAAN4R,QAAM,IAANA,OAAA,EAAAA,EAAQrS,eAAgB,MACvCtrB,MAAY,OAAN29B,QAAM,IAANA,OAAA,EAAAA,EAAQV,cAAe,MAC7B6M,aAAY,OAAEnM,QAAF,IAAEA,OAAF,EAAEA,EAAQoM,YACtBC,eAAc,OAAErM,QAAF,IAAEA,OAAF,EAAEA,EAAQsM,cACxBC,SAAQ,OAAEvM,QAAF,IAAEA,OAAF,EAAEA,EAAQwM,cAEJ,QAAZxqC,GAAqB,CACvBo2B,qBAAiB3qB,EACjBmrB,cAAUnrB,cAhBlB,QAmBQ,KAmDFslB,QAASsY,GACTjR,OAAQ,CACN7I,eAAgB,2DAElBqI,YAAa,6BACbE,iBAAkB,OAClBkC,eArDR,SACE1f,EACAua,GAGC,IAAD,EACA4J,eAAej1B,QAAQ,WAAYgI,EAAQrJ,SAASsd,UACpDjU,EAAQiN,KAAR,UAAgB8G,EAAKvN,UAAU,EAAGuN,EAAKgE,YAAY,mCAAnD,+BAAkGsL,EAAIsB,SAAShwB,UAA/G,QAAqH,OAgDjH,CACEA,GAAI,cACJyyB,YAAa,cACbrB,eAAgB,YAChB9qB,KAAM,CACJqkB,UAAWA,EACX2C,aAAcA,EACdR,UAAWzjB,GAAeyc,oBAC1BmH,YAzHiB,SAACD,EAA6CnzB,GAAkD,IAAD,IACxH,wBACEmzB,QADF,IACEA,GADF,UACEA,EAAa1kB,eADf,aACE,EAAsBuM,KAAI,SAACgjB,GACzB,OAAO,wCACY,OAAZh+B,GAAgC,QAAZA,IAAsB,CAC7CmG,GAAE,OAAE63B,QAAF,IAAEA,OAAF,EAAEA,EAAQuG,aAEG,WAAZvkC,GAAoC,QAAZA,IAAsB,CACjDksB,eAAc,OAAE8R,QAAF,IAAEA,OAAF,EAAEA,EAAQ7R,cACxBC,eAAqB,OAAN4R,QAAM,IAANA,OAAA,EAAAA,EAAQrS,eAAgB,MACvCU,OAAM,OAAE2R,QAAF,IAAEA,OAAF,EAAEA,EAAQ3R,OAChBC,SAAQ,OAAE0R,QAAF,IAAEA,OAAF,EAAEA,EAAQzR,eAClBke,eAAc,OAAEzM,QAAF,IAAEA,OAAF,EAAEA,EAAQ0M,cACxBC,SAAQ,OAAE3M,QAAF,IAAEA,OAAF,EAAEA,EAAQ4M,iBAEJ,QAAZ5qC,GAAqB,CACvBo2B,qBAAiB3qB,EACjBmrB,cAAUnrB,cAhBlB,QAmBQ,KAuGFslB,QAASoT,GACT/L,OAAQ,CACN7I,eAAgB,2DAElBqI,YAAa,gCACbE,iBAAkB,OAClBkC,eAzGR,SACE1f,EACAua,GAGC,IAAD,EACA4J,eAAej1B,QAAQ,WAAYgI,EAAQrJ,SAASsd,UACpDjU,EAAQiN,KAAR,UAAgB8G,EAAKvN,UAAU,EAAGuN,EAAKgE,YAAY,mCAAnD,+BAAkGsL,EAAIsB,SAAShwB,UAA/G,QAAqH,QAqGnHotB,OAAQ,CACNlV,UAAWA,EACXC,WAAYA,EACZ+Z,QAASA,EACT7E,SAAUA,EACV9gB,aAAcA,EACdkW,gBAAiBA,GAEnBoI,WAAY,CACV2D,UAAWA,EACXjB,aAAcA,EACdtmB,WAAYA,EACZktB,cAAeA,EACfrJ,WAAYA,EACZ0C,cAAeA,GAEjBsB,QAAS,CACPC,eAAe,EACfiD,eAAe,EACfF,aAAa,EACbC,gBAAgB,EAChBa,eAAe,KClcvB,IAAM2E,GAAmB,CACvB,CACE7P,OAAQ,gBACRiE,SAAU,gBACV5wB,MAAO,QACPwsB,YAAY,EACZM,iBAAkB,sBAClBK,UAAU,EACVK,iBAAkB,cAClBsD,iBAAkB,WAClBsH,UAAW,OACXjD,KAAM,SAAC92B,GAAD,OAAqCk8B,GAAWkC,aAAap+B,EAAMmI,OAAO,KAElF,CACEmmB,OAAQ,kBACRiE,SAAU,kBACV5wB,MAAO,QACPwsB,YAAY,EACZM,iBAAkB,eAClBK,UAAU,EACVK,iBAAkB,iBAClBJ,UAAW,8BACX0D,iBAAkB,WAClBsH,UAAW,OACXjD,KAAM,SAAC92B,GAAD,OAAqCk8B,GAAWkC,aAAap+B,EAAMmI,OAAO,KAElF,CACEmmB,OAAQ,mBACRiE,SAAU,mBACV5wB,MAAO,MACPwsB,YAAY,EACZM,iBAAkB,UAClBK,UAAU,EACVK,iBAAkB,oBAClBJ,UAAW,iCACX0D,iBAAkB,KAClBsH,UAAW,QACXjD,KAAM,SAAC92B,GAAD,OAAqCk8B,GAAWoC,eAAet+B,EAAMmI,OAAO,KAEpF,CACEmmB,OAAQ,gBACRiE,SAAU,gBACV5wB,MAAO,MACPwsB,YAAY,EACZM,iBAAkB,UAClBK,UAAU,EACVK,iBAAkB,sBAClBJ,UAAW,mCACX0D,iBAAkB,KAClBsH,UAAW,QACXjD,KAAM,SAAC92B,GAAD,OAAqCk8B,GAAWmC,aAAar+B,EAAMmI,OAAO,KAElF,CACEmmB,OAAQ,gBACRiE,SAAU,gBACV5wB,MAAO,MACPwsB,YAAY,EACZM,iBAAkB,iBAClBK,UAAU,EACVK,iBAAkB,iBAClBJ,UAAW,8BACX0D,iBAAkB,WAClBsH,UAAW,OACXjD,KAAM,SAAC92B,GAAD,OAAqCk8B,GAAWqC,mBAAmBv+B,EAAMmI,OAAO,MAIpFy8B,GAAkB,CACtB,CACEtW,OAAQ,iBACRiE,SAAU,iBACV5wB,MAAO,MACPwsB,YAAY,EACZM,iBAAkB,UAClBK,UAAU,EACVK,iBAAkB,gBAClBsD,iBAAkB,WAClBsH,UAAW,OACXjD,KAAM,SAAC92B,GAAD,OAAqCk8B,GAAWkC,aAAap+B,EAAMmI,OAAO,KAElF,CACEmmB,OAAQ,gBACRiE,SAAU,gBACV5wB,MAAO,QACPwsB,YAAY,EACZM,iBAAkB,eAClBK,UAAU,EACVK,iBAAkB,eAClBJ,UAAW,8BACX0D,iBAAkB,WAClBsH,UAAW,OACXjD,KAAM,SAAC92B,GAAD,OAAqCk8B,GAAWkC,aAAap+B,EAAMmI,OAAO,KAElF,CACEmmB,OAAQ,SACRiE,SAAU,SACV5wB,MAAO,MACPwsB,YAAY,EACZM,iBAAkB,6BAClBK,UAAU,EACVK,iBAAkB,cAClBJ,UAAW,qCACX0D,iBAAkB,KAClBC,gBAAiB,KACjBnE,gBAAiB,CACf,CAAEtC,WAAY,OAAQ9jB,MAAO/G,EAAiB,KAAUwF,GAAI,QAC5D,CAAEqlB,WAAY,gBAAiB9jB,MAAO,IAAKvB,GAAI,SAC/C,CAAEqlB,WAAY,iBAAkB9jB,MAAO/G,EAAkB,kBAAmBwF,GAAI,UAChF,CAAEqlB,WAAY,iBAAkB9jB,MAAO/G,EAAkB,kBAAmBwF,GAAI,UAChF,CAAEqlB,WAAY,eAAgB9jB,MAAO/G,EAAkB,gBAAiBwF,GAAI,UAC5E,CAAEqlB,WAAY,SAAU9jB,MAAO/G,EAAiB,OAAYwF,GAAI,WAElEmzB,UAAW,OACXjD,KAAM,SAAC92B,GAAD,OACJk8B,GAAW2I,aAAa7kC,EAAMs1B,IAAIsB,SAAS7J,SAAU/sB,EAAMmI,OAAO,KAEtE,CACEmmB,OAAQ,WACRiE,SAAU,WACV5wB,MAAO,QACPwsB,YAAY,EACZM,iBAAkB,iBAClBK,UAAU,EACVK,iBAAkB,iBAClBJ,UAAW,gCACX0D,iBAAkB,WAClBsH,UAAW,OACXjD,KAAM,SAAC92B,GAAD,OAAqCk8B,GAAWP,WAAW37B,EAAMmI,OAAO,KAEhF,CACEmmB,OAAQ,iBACRiE,SAAU,iBACV5wB,MAAO,QACPwsB,YAAY,EACZM,iBAAkB,UAClBK,UAAU,EACVK,iBAAkB,gBAClBJ,UAAW,+BACX0D,iBAAkB,KAClBsH,UAAW,QACXjD,KAAM,SAAC92B,GAAD,OAAqCk8B,GAAWoC,eAAet+B,EAAMmI,OAAO,KAEpF,CACEmmB,OAAQ,gBACRiE,SAAU,gBACV5wB,MAAO,QACPwsB,YAAY,EACZM,iBAAkB,iBAClBK,UAAU,EACVK,iBAAkB,iBAClBJ,UAAW,gCACX0D,iBAAkB,WAClBsH,UAAW,OACXjD,KAAM,SAAC92B,GAAD,OAAqCk8B,GAAWqC,mBAAmBv+B,EAAMmI,OAAO,MAI3E,SAASmjC,KACtB,IAAMr5B,EAAU4M,cACRmH,EAASoD,cAATpD,KACR,EAAgCxe,oBAAkB,GAAlD,mBAAOsX,EAAP,KAAkBC,EAAlB,KACA,EAA4BvX,oBAAkB,GAA9C,mBAAOsxB,EAAP,KAAgB7E,EAAhB,KACA,EAAwCzsB,mBAAiB,IAAzD,mBAAO2L,EAAP,KAAqBkW,EAArB,KACA,EAAkC7hB,mBAAsB,IAAxD,mBAAO+pB,EAAP,KAAkB2C,EAAlB,KACA,EAAkC1sB,mBAAiB,GAAnD,mBAAO4tB,EAAP,KAAkBjB,EAAlB,KACA,EAAoC3sB,mBAAiB,GAArD,mBAAOqG,EAAP,KAAmBktB,EAAnB,KACA,EAAoCvzB,mBAAiB,GAArD,mBAAOkqB,EAAP,KAAmB0C,EAAnB,KAqEA,OACE,cAAC,GAAD,CACEhD,SAAU,CACR,CACExqB,GAAI,eACJyyB,YAAa,eACbrB,eAAgB,YAChB9qB,KAAM,CACJqkB,UAAWA,EACX2C,aAAcA,EACdR,UAAW1jB,GAAgBkY,qBAC3B2L,YA9EkB,SAACD,EAA8CnzB,GAAkD,IAAD,IAC1H,wBACEmzB,QADF,IACEA,GADF,UACEA,EAAa1kB,eADf,aACE,EAAsBuM,KAAI,SAACgjB,GACzB,OAAO,wCACY,OAAZh+B,GAAgC,QAAZA,IAAsB,CAC7CmG,GAAE,OAAE63B,QAAF,IAAEA,OAAF,EAAEA,EAAQtwB,aAEG,WAAZ1N,GAAoC,QAAZA,IAAsB,CACjDosB,eAAqB,OAAN4R,QAAM,IAANA,OAAA,EAAAA,EAAQje,cAAe,MACtCke,iBAAuB,OAAND,QAAM,IAANA,OAAA,EAAAA,EAAQE,iBAAkB,MAC3C4M,iBAAgB,OAAE9M,QAAF,IAAEA,OAAF,EAAEA,EAAQe,kBAC1BH,cAAa,OAAEZ,QAAF,IAAEA,OAAF,EAAEA,EAAQa,oBACvBN,cAAa,OAAEP,QAAF,IAAEA,OAAF,EAAEA,EAAQQ,iBAET,QAAZx+B,GAAqB,CACvBo2B,qBAAiB3qB,EACjBmrB,cAAUnrB,cAflB,QAkBQ,KA6DFslB,QAAS2M,GACTtF,OAAQ,CACN7I,eAAgB,2DAElBqI,YAAa,iCACbE,iBAAkB,OAClBkC,eA/DR,SACE1f,EACAua,GAGC,IAAD,EACA4J,eAAej1B,QAAQ,WAAYgI,EAAQrJ,SAASsd,UACpDjU,EAAQiN,KAAR,UAAgB8G,EAAKvN,UAAU,EAAGuN,EAAKgE,YAAY,mCAAnD,gCAAmGsL,EAAIsB,SAAShwB,UAAhH,QAAsH,MAyDhHwsB,kBAAmB,CACjB,CACEE,MAAO,WACPC,kBAAmB,8BAIzB,CACE3sB,GAAI,cACJyyB,YAAa,cACbrB,eAAgB,YAChB9qB,KAAM,CACJqkB,UAAWA,EACX2C,aAAcA,EACdR,UAAWzjB,GAAeyc,oBAC1BmH,YArEiB,SAACD,EAA6CnzB,GAAkD,IAAD,IACxH,wBACEmzB,QADF,IACEA,GADF,UACEA,EAAa1kB,eADf,aACE,EAAsBuM,KAAI,SAACgjB,GACzB,OAAO,wCACY,OAAZh+B,GAAgC,QAAZA,IAAsB,CAC7CmG,GAAE,OAAE63B,QAAF,IAAEA,OAAF,EAAEA,EAAQuG,aAEG,WAAZvkC,GAAoC,QAAZA,IAAsB,CACjDksB,eAAc,OAAE8R,QAAF,IAAEA,OAAF,EAAEA,EAAQ7R,cACxBC,eAAqB,OAAN4R,QAAM,IAANA,OAAA,EAAAA,EAAQrS,eAAgB,MACvCU,OAAM,OAAE2R,QAAF,IAAEA,OAAF,EAAEA,EAAQ3R,OAChBC,SAAQ,OAAE0R,QAAF,IAAEA,OAAF,EAAEA,EAAQzR,eAClBke,eAAc,OAAEzM,QAAF,IAAEA,OAAF,EAAEA,EAAQ0M,cACxBnM,cAAa,OAAEP,QAAF,IAAEA,OAAF,EAAEA,EAAQQ,iBAET,QAAZx+B,GAAqB,CACvBo2B,qBAAiB3qB,EACjBmrB,cAAUnrB,cAhBlB,QAmBQ,KAmDFslB,QAASoT,GACT/L,OAAQ,CACN7I,eAAgB,0DAElBqI,YAAa,gCACbE,iBAAkB,OAClBkC,eArDR,SACE1f,EACAua,GAGC,IAAD,EACA4J,eAAej1B,QAAQ,WAAYgI,EAAQrJ,SAASsd,UACpDjU,EAAQiN,KAAR,UAAgB8G,EAAKvN,UAAU,EAAGuN,EAAKgE,YAAY,mCAAnD,+BAAkGsL,EAAIsB,SAAShwB,UAA/G,QAAqH,QAiDnHotB,OAAQ,CACNlV,UAAWA,EACXC,WAAYA,EACZ+Z,QAASA,EACT7E,SAAUA,EACV9gB,aAAcA,EACdkW,gBAAiBA,GAEnBoI,WAAY,CACV2D,UAAWA,EACXjB,aAAcA,EACdtmB,WAAYA,EACZktB,cAAeA,EACfrJ,WAAYA,EACZ0C,cAAeA,GAEjBsB,QAAS,CACPC,eAAe,EACfiD,eAAe,EACfF,aAAa,EACbC,gBAAgB,EAChBa,eAAe,KC5SvB,IAAMkJ,GAAS,CACb,CACErJ,YAAa,YACbqH,UAAW,iDACXxH,UAAW,cAAC+Q,GAAD,KAEb,CACE5Q,YAAa,WACbqH,UAAW,2DACXxH,UAAW,cAACoS,GAAD,MAIA,SAASzB,KACtB,IAAQ7jB,EAASoD,cAATpD,KACR,OACE,sBAAK/lB,UAAU,oBAAf,UACE,qBAAKA,UAAU,OAAf,SACE,cAAC,GAAD,CACE8/B,KAAM2C,GACN9B,SAAU5a,EACVgb,iBAAkBhb,EAAKvN,UAAU,EAAGuN,EAAKgE,YAAY,MACrD8W,SAAU,CACR,CAAEzH,YAAa,mBAAoBqH,UAAW,wDAC9C,CAAErH,YAAa,MAAOqH,UAAW,4DACjC,CAAErH,YAAa,mBAAoBqH,UAAW,uEAC9C,CAAErH,YAAa,sBAAuBqH,UAAW,qEACjD,CAAErH,YAAa,gBAAiBqH,UAAW,uEAE7CK,gBAAiB,sBACjBG,gBAAgB,YAChBD,UAAS,UAAKjb,EAAK8D,MAAM,EAAG9D,EAAKgE,YAAY,OAC7C3pB,QAAQ,uDAGZ,qBAAKJ,UAAU,OAAf,SACE,sBAAKA,UAAU,UAAf,UACE,eAAC,IAAD,WACE,cAAC,IAAD,CACEkmB,OAAK,EACLH,KAAI,UAAKA,GACTgU,OAAQ,WACN,OACE,cAAC,GAAD,CAEEgE,KAAM,CACJ,CAAEl9B,KAAM,kBACR,CAAEA,KAAM,kBACR,CAAEA,KAAM,yBAA0BygC,YAAa,oBAC/C,CAAEzgC,KAAM,sBAEVoN,WAAY2kB,YAASyP,MAAM1G,SAAS,eAP/B5V,MAYb,cAAC,IAAD,CACEG,OAAK,EACLH,KAAI,UAAKA,EAAL,aACJgU,OAAQ,WACN,OACE,cAAC,GAAD,CAEEgE,KAAM,CACJ,CAAEl9B,KAAM,kBACR,CAAEA,KAAM,uBACR,CAAEA,KAAM,sBACR,CAAEA,KAAM,sBAEVoN,WAAY2kB,YAASyP,MAAM1G,SAAS,eAP/B5V,SAcf,qBAAK/lB,UAAU,gBAAf,SACE,cAAC,IAAD,UACGyiC,IACCA,GAAOjnB,KAAI,SAACqC,GACV,OACE,cAAC,IAAD,CACEqI,OAAK,EACLH,KAAI,UAAKA,EAAL,YAAalI,EAAI4iB,UAAU72B,QAAQ,QAAS,KAEhDqvB,UAAW,WACT,OAAOpb,EAAIob,YALf,UAGUpb,EAAIub,6B,WC1E5BqJ,GAAS,CACb,CACErJ,YAAa,YACbqH,UAAW,IAEb,CACErH,YAAa,sBACbqH,UAAW,sBACXxH,UAAW,cAAC,GAAD,KAEb,CACEG,YAAa,mBACbqH,UAAW,mBACXxH,UAAW,cAAC,GAAD,KAEb,CACEG,YAAa,yBACbqH,UAAW,yBACXxH,UAAW,cAAC,GAAD,KAEb,CACEG,YAAa,mBACbqH,UAAW,QACXxH,UAAW,cAAC,GAAD,KAEb,CACEG,YAAa,yCACbqH,UAAW,gBACXxH,UAAW,cAAC,GAAD,MAkBA,SAAS/2B,KACtB,IAAQ6jB,EAASoD,cAATpD,KAER,OACE,eAAC,IAAD,WACE,cAAC,IAAD,CACEG,OAAK,EACLH,KAAMA,EACNgU,OAAQ,WACN,OACE,cAAC,KAAD,CAA4BxsB,QAAS,CAAEisB,iBAAiB,EAAMC,YAAY,GAA1E,SACE,sBAAKz5B,UAAU,aAAf,UAEE,sBAAKA,UAAU,OAAf,UACE,mBAAGA,UAAU,eAAb,0CACA,mBAAGA,UAAU,cAAb,sEAGF,qBAAKA,UAAU,UAAf,SACE,sBAAKA,UAAU,OAAf,UACE,sBAAKA,UAAU,OAAf,UACE,cAAC,GAAD,IACA,cAAC,GAAD,OAEF,sBAAKA,UAAU,OAAf,UACE,cAAC,GAAD,IACA,cAAC,GAAD,IACA,cAAC,GAAD,oBAWdyiC,IAAUA,GAAO5Y,MAAM,GAAGrO,KAAI,SAACqC,GAC7B,OACE,cAAC,IAAD,CACEkI,KAAI,UAAKA,EAAL,YAAalI,EAAI4iB,WAErB1G,OAAQ,WACN,OAAIlc,EAAIob,UACCpb,EAAIob,UAEJ,+BAPb,UAEUpb,EAAI4iB,kB,0CCxFnB,SAAS8K,GAASxrC,GAA2C,IAAD,cAE3Dic,EAAkC,kBAAxB,OAAOjc,QAAP,IAAOA,OAAP,EAAOA,EAAOqY,OAAd,OAAmCrY,QAAnC,IAAmCA,OAAnC,EAAmCA,EAAOqY,MAA1C,OAAkDrY,QAAlD,IAAkDA,GAAlD,UAAkDA,EAAOqY,aAAzD,aAAkD,EAAc6D,YAQhF,OAPAhB,qBAAU,WACRuwB,KAAkB3xB,SAAS4xB,iBAAiB,YAAa,CACvDzrC,UAAW,iCACX0rC,SAAU,CAAEC,UAAU,EAAOC,WAAW,OAEzC,IAGD,sBAAK5rC,UAAS,+BAAgBD,EAAMC,iBAAtB,QAAmC,IAAjD,WACQ,OAALD,QAAK,IAALA,OAAA,EAAAA,EAAOqY,SACmB,kBAAxB,OAAOrY,QAAP,IAAOA,OAAP,EAAOA,EAAOqY,OACb,uBAAO8D,QAASF,EAAShc,UAAU,WAAnC,UACQ,OAALD,QAAK,IAALA,OAAA,EAAAA,EAAOqY,OAAQrY,EAAMqY,MAAQ,MAEjB,OAACrY,QAAD,IAACA,KAAOqY,MACvB,sBAAMpY,UAAU,qBAAhB,SACE,wBAAOkc,QAASF,EAAShc,UAAU,WAAnC,oBACGD,EAAMqY,aADT,aACG,EAAa6D,YAEd,sBAAMjc,UAAU,oBAAhB,gBAAqCD,QAArC,IAAqCA,GAArC,UAAqCA,EAAOqY,aAA5C,aAAqC,EAAc+D,mBAM3D,0BACEnc,UAAS,6BAAcD,EAAMC,iBAApB,QAAiC,IAC1Coc,YAAW,UAAErc,EAAMqc,mBAAR,QAAuB,aAClCI,aAAczc,EAAMyc,aACpBH,SAAU,SAACvB,GACT/a,EAAMsc,SAASvB,EAAEwB,OAAOpU,QAE1BqU,UAAWxc,EAAMwc,UACjBE,IAAG,UAAE1c,EAAM2c,gBAAR,aAAoBzQ,O,mCC5ChB,SAAS4/B,GAAW9rC,GAC/B,OACI,cAAC,GAAD,CACI+rC,UAAQ,EACRnlC,GAAG,cACH4G,QAASxN,EAAMwN,QACfkW,UAAQ,EACRvb,MAAOnI,EAAMimB,GACb+lB,eAAa,EACb1vB,SAAUtc,EAAMisC,MAChBC,eAAgB,SAACpuB,GAAD,OAAaA,EAAIzF,OACjCyD,MAAO,CAAE,OAAU,QACnBqwB,WAAY,SAAChkC,EAAaikC,GACtB,OAAOjkC,EAAMsT,KAAI,SAACC,EAAa8L,GAAd,OACb,8BACI,cAAC,KAAD,aACI/mB,QAAQ,WACR4X,MAAOqD,EAAOrD,MACdg0B,WAAY,cAAC,KAAD,IACZpsC,UAAW,mBACPmsC,EAAY,CAAE5kB,aANhBA,OAWlBnJ,YAAa,SAAC5Q,GAAD,OACT,cAAC6Q,GAAA,EAAD,2BACQ7Q,GADR,IAEI6+B,WAAU,2BACH7+B,EAAO6+B,YADJ,IAENxwB,MAAM,2BACCrO,EAAO6+B,WAAWxwB,OADpB,IAED,QAAW,MAGnByC,WAAU,2BACH9Q,EAAO8Q,YADJ,IAENC,kBAAkB,IAEtB/d,QAAQ,SACRmc,cAAY,MAGpBU,gBAAgB,I,0BC7Cb,SAASivB,GAAcvsC,GAClC,IAAMwsC,EAAiBC,aAAOnuB,KAAPmuB,CAAH,+4BAiCpB,OACI,cAACD,EAAD,CACIE,OAAQ1sC,EAAM2sC,kBACdlwB,aAAczc,EAAMI,MACpB0b,MAAO,CACH4jB,OAAQ,EACR/9B,MAAO,SAEX4c,WAAY,CACRC,kBAAkB,GAEtBkhB,OAAO,SACPrjB,YAAa,QACb5b,QAAQ,W,cCxDL,OAA0B,iCCA1B,OAA0B,iCCA1B,OAA0B,iCCA1B,OAA0B,mCCA1B,OAA0B,sCCA1B,OAA0B,0CCS1B,SAASkC,GAAW3C,GAC/B,IAAM4sC,EAAYlvB,iBAAgC,MAYlD,OACI,qBAAqBzd,UAAW,qBAAhC,SACI,sBAAKA,UAAW,+CAAgD6b,MAAO,CAAEwoB,gBAAiBtkC,EAAM6sC,aAAe,UAAY,QAA3H,UACI,uBACI5sC,UAAW,mCACXa,KAAK,OACL4b,IAAKkwB,EACLE,OAAO,6CACPxwB,SAZO,SAACvB,GAA4C,IAAD,EAC/D/a,EAAM+sC,iBAAN,UAAuBhyB,EAAEwB,OAAOywB,aAAhC,QAAyC,IAAIC,WAYjClB,UAAQ,IAEZ,qBAAKnrC,QArBE,WACXgsC,GAAaA,EAAU3uB,SACvB2uB,EAAU3uB,QAAQ7D,SAmBYna,UAAS,UAAKD,EAAM6sC,aAAe,kCAAoC,0BAAjG,SACI,cAAC,GAAD,UAXF7sC,EAAM0uB,K,OCbT,SAASwe,GAAeltC,GACnC,OACI,sBAAKC,UAAW,aAAhB,UACI,sBAAKA,UAAW,UAAhB,UACI,mBAAGA,UAAW,gBAAd,SAAgCD,EAAMqY,QACtC,mBAAGpY,UAAW,eAAd,oBAAmCD,EAAMU,KAAzC,UAEJ,qBAAKT,UAAW,WAAYW,QAASZ,EAAMuwB,YAA3C,SACI,cAAC,KAAD,S,OCKD,SAAS4c,GAAantC,GACjC,OACI,sBAAKC,UAAW,kBAAhB,UACI,cAAC,UAAD,CACImtC,YAAaptC,EAAMotC,YACnBC,oBAAqBrtC,EAAMstC,eAC3BC,iBAAkB,yBAClBC,iBAAkB,yBAClBC,gBAAiB,iBACjBC,QAAS,CACLlgC,QAAS,CAAC,UAAW,OAAQ,UAC7BmgC,OAAQ,CACJngC,QAAS,CAAC,OAAQ,SAAU,YAAa,iBACzCogC,KAAM,CAAErtC,KAAMstC,GAAM5tC,eAAWiM,GAC/B4hC,OAAQ,CAAEvtC,KAAMwtC,GAAQ9tC,eAAWiM,GACnC8hC,UAAW,CAAEztC,KAAM0tC,GAAWhuC,eAAWiM,GACzCgiC,cAAe,CAAE3tC,KAAM4tC,GAAeluC,eAAWiM,IAErD8xB,KAAM,CACFxwB,QAAS,IAEbyE,QAAS,CACLzE,QAAS,CAAC,OAAQ,QAClB4gC,KAAM,CAAE7tC,KAAM8tC,GAAMpuC,eAAWiM,GAC/BoiC,KAAM,CAAE/tC,KAAMguC,GAAMtuC,eAAWiM,KAGvCsiC,qBACI,CACI,cAAC,GAAD,CAAqBzB,iBAAkB/sC,EAAM+sC,iBAAkBF,aAAc7sC,EAAMyuC,eAAlE,MAI7B,qBAAKxuC,UAAW,sBAAhB,SACKD,EAAMgtC,MAAMvxB,KAAI,SAACtT,EAAOqf,GAAR,OACb,cAAC,GAAD,CAEInP,MAAOlQ,EAAM4L,KACbrT,KAAMyH,EAAMzH,KACZ6vB,YAAa,kBAAMvwB,EAAM0uC,iBAAiBlnB,KAHrCA,W,qBCnCd,SAASmnB,GAAY3uC,GAA8C,IAAD,gBACvE4uC,EAAqB,IAAIt6B,IAC/Bs6B,EAAmBv5B,IAAI,QAAvB,OAAgCrV,QAAhC,IAAgCA,GAAhC,UAAgCA,EAAO6uC,oBAAvC,aAAgC,EAAqBC,OACrDF,EAAmBv5B,IAAI,YAAvB,OAAoCrV,QAApC,IAAoCA,GAApC,UAAoCA,EAAO6uC,oBAA3C,aAAoC,EAAqBE,UAEzD,IAAMC,EAA2B,IAAI16B,IACrC06B,EAAyB35B,IAAI,QAAS,aACtC25B,EAAyB35B,IAAI,YAAa,SAE1C,MAAoB7N,mBAAQ,UAAOxH,EAAMivC,iBAAb,QAA0B,IAAtD,mBAAOhpB,EAAP,KAAWgmB,EAAX,KACA,EAA0CzkC,oBAAkB,GAA5D,mBAAO0nC,EAAP,KAAsBC,EAAtB,KACA,EAAgC3nC,mBAAQ,UAASwnC,EAAyBtkC,IAAzB,OAA6B1K,QAA7B,IAA6BA,GAA7B,UAA6BA,EAAO6uC,oBAApC,aAA6B,EAAqBO,cAA3D,QAAqE,IAA7G,mBAAOC,EAAP,KAAiBC,EAAjB,KACA,EAA0B9nC,mBAAQ,UAASxH,EAAMuvC,oBAAf,QAA+B,IAAjE,mBAAOnvC,EAAP,KAAcovC,EAAd,KACA,EAAsChoC,oBAAsB,WACxD,OAAIxH,EAAMyvC,YACCC,eAAYC,kBAAkBC,gBAAaC,eAAe7vC,EAAMyvC,cAEpEC,eAAYI,iBAJvB,mBAAO1C,EAAP,KAAoBE,EAApB,KAMA,EAA0B9lC,mBAAQ,UAASxH,EAAM+vC,oBAAf,QAA+B,IAAjE,mBAAO/C,EAAP,KAAcgD,EAAd,KACA,EAA0CxoC,oBAAkB,GAA5D,mBAAOinC,EAAP,KAAsBwB,EAAtB,KA+BA,OACI,sBAAKhwC,UAAS,oBAAeD,EAAMyZ,KAAO,GAAK,WAA/C,UACI,sBAAKxZ,UAAW,YAAhB,UACI,mBAAGA,UAAW,uBAAd,SACKD,EAAMI,QAEX,qBAAKH,UAAW,0BAA2BW,QAASZ,EAAM0lB,QAA1D,SACI,cAAC,KAAD,SAGR,sBAAKzlB,UAAW,UAAhB,UACI,sBAAKA,UAAW,2BAAhB,UACI,sBAAKA,UAAW,iBAAhB,UACI,qBAAKA,UAAW,gBAAhB,SACI,qCAEA,cAAC6rC,GAAD,CACIt+B,QAASxN,EAAMkwC,eACfjqB,GAAIA,EACJgmB,MAhDR,SAAClxB,EAAQ5S,GACzBA,EAAMuiB,SAAQ,SAAC5M,EAAkB0J,EAAOrf,GACjB,kBAAR2V,IACP3V,EAAMqf,GAAS,CAAE5gB,GAAI,GAAIyR,MAAOyF,OAGxCmuB,EAAM9jC,MA4CU,qBAAKlI,UAAW,oBAAhB,SACI,cAAC,GAAD,UAGF,OAALD,QAAK,IAALA,GAAA,UAAAA,EAAO6uC,oBAAP,eAAqBsB,cAAgB,qBAAKlwC,UAAW,uBAAhB,SAClC,cAACC,EAAD,CACIK,KAAM,cAAC,GAAD,IACNK,QAjCO,WAAO,IAAD,IACjCqrC,EAAK,UAAC2C,EAAmBlkC,IAAI2kC,UAAxB,QAAqC,IAC1CC,EAAW,UAACN,EAAyBtkC,IAAI2kC,UAA9B,QAA2C,KAgClC7uC,UAAW,QACXC,QAAS,YAJb,SAMK4uC,SAKb,qBAAKpvC,UAAW,8BAAhB,SACI,cAACssC,GAAD,CACInsC,MAAK,OAAEA,QAAF,IAAEA,IAAS,GAChBusC,kBA5DM,SAAC5xB,GACvBy0B,EAAUz0B,EAAEwB,OAA4BpU,YA8DhC,sBAAKlI,UAAW,gCAAhB,UACI,cAAC,GAAD,CACImtC,YAAaA,EACbE,eAAgBA,EAChBN,MAAOA,EACPD,iBAhEK,SAACqD,GACtBJ,EAASrf,MAAM4S,KAAK6M,IACpBH,EAAiBG,EAAS73B,OAAS,IA+DnBk2B,cAAeA,EACfC,iBA7DK,SAAClnB,GACtB,IAAM4oB,EAAWpD,EACjBoD,EAASC,OAAO7oB,EAAO,GACvBwoB,EAASI,MA4DG,sBAAKnwC,UAAW,uBAAhB,UACI,qBAAKA,UAAW,8BAAhB,SACI,cAACC,EAAD,CACIO,QAAS,UACTI,UAAU,EACVD,QAAS,WACLZ,EAAMswC,WAAWrqB,EAAI7lB,EAAOgtC,EAAYmD,oBAAoBC,gBAC5DvE,EAAM,IACNuD,EAAS,IACTlC,EAAeoC,eAAYI,eAC3B9vC,EAAM0lB,WARd,oBAcH1lB,EAAMywC,sBACH,sBAAKxwC,UAAW,8BAAhB,UACI,cAACC,EAAD,CACIO,QAAS,UACTF,KAAM,cAAC,GAAD,IACNC,UAAW,QACXI,QAAS,kBAAMuuC,GAAkBD,IACjCruC,UAAU,IAEZquC,GACE,qBAAKjvC,UAAW,oBAAqBW,QAASZ,EAAMywC,qBAApD,SACI,yECrIzB,SAASC,GAAgB1wC,GACtC,IAAQgmB,EAASoD,cAATpD,KACAzS,EAAelM,IAAMsT,WAAWxI,IAAhCoB,WACFtB,EAAU4M,cAChB,EAAgCrX,oBAAkB,GAAlD,mBAAOsX,EAAP,KAAkBC,EAAlB,KACA,EAA4BvX,oBAAkB,GAA9C,mBAAOsxB,EAAP,KAAgB7E,EAAhB,KACA,EAAwCzsB,mBAAiB,IAAzD,mBAAO2L,EAAP,KAAqBkW,EAArB,KACA,EAAkC7hB,mBAAiB,GAAnD,mBAAO4tB,EAAP,KAAkBjB,EAAlB,KACA,EAAoC3sB,mBAAiB,GAArD,mBAAOqG,EAAP,KAAmBktB,EAAnB,KACA,EAAoCvzB,mBAAiB,GAArD,mBAAOkqB,EAAP,KAAmB0C,EAAnB,KACMuc,EAAWjzB,iBAAO,MACxB,EAAkClW,mBAAsB,IAAxD,mBAAO+pB,EAAP,KAAkB2C,EAAlB,KACA,EAAwC1sB,oBAAkB,GAA1D,mBAAOopC,EAAP,KAAqBC,EAArB,KACA,EAAkCrpC,oBAAkB,GAApD,mBAAOqd,EAAP,KAAkBC,EAAlB,KACA,EAAoCtd,oBAAkB,GAAtD,mBAAOspC,GAAP,KAAmBC,GAAnB,KACA,GAAkCvpC,mBAAiB,IAAnD,qBAAOwpC,GAAP,MAAkBC,GAAlB,MACA,GAAsCzpC,oBAAkB,GAAxD,qBAAO0pC,GAAP,MAAoBC,GAApB,MAEA,GAAwC3pC,oBAAkB,GAA1D,qBAAO4pC,GAAP,MAAqBC,GAArB,MACA,GAAkC7pC,mBAAiB,IAAnD,qBAAO8pC,GAAP,MAAkBC,GAAlB,MACA,GAAsC/pC,mBAAmB,IAAzD,qBAAOgqC,GAAP,MAAoBC,GAApB,MACA,GAAoCjqC,mBAAsD,MAA1F,qBAAOkqC,GAAP,MAAmBC,GAAnB,MACA,GAA8CnqC,mBAAiD,IAA/F,qBAAOoqC,GAAP,MAAwBC,GAAxB,MAEA,GAAgCrqC,oBAAkB,GAAlD,qBAAOsqC,GAAP,MAAiBC,GAAjB,MACA,GAA8BvqC,mBAAmB,IAAjD,qBAAOwqC,GAAP,MAAgBC,GAAhB,MACA,GAA4CzqC,mBAA+C,MAA3F,qBAAO0qC,GAAP,MAAuBC,GAAvB,MACA,GAAsC3qC,mBAA0C,IAAhF,qBAAO4qC,GAAP,MAAoBC,GAApB,MA3B6E,8CA0D7E,WAA8Bt3B,EAAoCua,GAAlE,eAAAlnB,EAAA,yDACM4X,EAAKtO,SAAS,OAChBzF,EAAQiN,KAAR,6BAAmCoW,EAAIsB,SAAShwB,KACvCof,EAAKtO,SAAS,QACvBzF,EAAQiN,KAAR,8BAAoCoW,EAAIsB,SAAShwB,KACxCof,EAAKtO,SAAS,eACvBzF,EAAQiN,KAAR,oCAA0CoW,EAAIsB,SAAShwB,MAGrD0uB,EAAIsB,SAASS,SATnB,0CAWYlnB,GAAiBnF,MAAjB,UAAuBsqB,EAAIsB,SAAShwB,UAApC,QAA0C,GAAI,CAClDywB,UAAU,IAZlB,uDAeM9qB,QAAQC,IAAR,MAfN,0DA1D6E,+BA8E9D8lC,GA9E8D,qFA8E7E,WAAgCC,EAAeC,EAAiCj7B,GAAhF,SAAAnJ,EAAA,sEACQuK,QAAQsf,IACZsa,EAAI92B,KAAI,SAAC7U,GACP,OAAOuJ,GAAiBnF,MAAMpE,EAAI4rC,GAASnmC,OAAM,SAAComC,GAAD,OAASA,SAE5DhzC,MAAK,SAACy4B,GAAY,IAAD,EAWqE,EAVlFA,EAAOhC,OAAM,SAAC/tB,GAAD,QAAkBA,aAAiBiD,WAClD2lC,IAAc,GACV7Y,EAAO3f,OAAS,EAClB04B,GAAa,GAAD,OAAIsB,EAAIh6B,OAAR,uBAA6BhB,IAEzC05B,GAAa,YAAD,OAAa15B,MAG3Bw5B,IAAc,GACV7Y,EAAO3f,OAAS,EACd2f,EAAOC,QAAO,SAACld,EAAMmd,GAAP,OAAgBnd,GAAQmd,aAAgBhtB,MAAQ,EAAI,KAAI,GAAK,EAC7E6lC,GAAa,GAAD,iBAAI/Y,EAAOxqB,QAAO,SAACvF,GAAD,OAAgBA,aAAiBiD,SAAOmN,cAA1D,QAAoEg6B,EAAIh6B,OAAxE,gCAAsGhB,EAAOsxB,gBAEzHoI,GAAa,sBAAD,OAAuB15B,EAAOsxB,gBAG5CoI,GAAa,oBAAD,OAAqB15B,EAAOsxB,iBAG5C,OAAC8H,QAAD,IAACA,GAAD,UAACA,EAAU1yB,eAAX,SAA4BuZ,cAC5B1S,GAAa,MA1BjB,4CA9E6E,sBA4G7E,IASM4tB,GAAgB,uCAAG,WAAOH,GAAP,SAAAnkC,EAAA,sEACjBkkC,GAAiBC,EAAK,CAAEI,QAAQ,EAAOC,YAAY,EAAOC,eAAgB,UAAY,UADrE,2CAAH,sDAOhBC,GAAmB,uCAAG,WAAOP,GAAP,SAAAnkC,EAAA,6DAC1BqjC,GAAec,GACflB,IAAgB,GAFU,yCAKlBxgC,GAAmBkiC,kBALD,wBAKqCtzC,MAAK,SAACyN,GAAU,IAAD,IAC1E2kC,GAAkB,oBAChB3kC,EAAKgC,eADW,aAChB,EAAcuM,KAAI,SAAC6Z,GAKjB,MAJa,CACX1uB,GAAI0uB,EAAItiB,OACRqF,MAAOid,EAAItiB,SAAWO,EAAWP,OAA1B,UAAsCsiB,EAAIziB,SAA1C,UAA6DyiB,EAAIziB,SAAWyiB,EAAIziB,SAAW,iBAJtF,QAOV,OAbc,OAgBxBg/B,IAAmB,SAAC52B,GAClB,MAAM,GAAN,oBAAWA,GAAX,CAAiB,CAAErU,GAAI,KAAMyR,MAAO,mBAjBd,gDAoBxB4b,GAAS,GACT5K,GAAgB,WACd,OAAOoH,GAAe4D,kBAAf,SAtBe,yDAAH,sDA2BnB2e,GAAgB,uCAAG,sBAAA5kC,EAAA,0DACnBsjC,GADmB,gCAEfY,GAAiBd,GAAa,CAAEyB,eAAgBvB,GAAW9qC,IAAM,cAFlD,uBAGf+R,QAAQsf,IACZuZ,GAAY/1B,KAAI,SAAC7U,GACf,IACEwK,GAAYxG,KAAK,CACf,CACEsoC,UAAWtsC,EACXusC,SAAU,WACVC,SAAS,yBAAD,cAA2B1B,SAA3B,IAA2BA,QAA3B,EAA2BA,GAAYr5B,MAAvC,eAAmD9E,EAAWV,SAA9D,kBAAgFy+B,IACxF+B,SAAU5xC,EAASuE,QAGvB,MAAOsG,GACP2nB,GAAS,GACT5K,GAAgB,WACd,OAAOoH,GAAe4D,kBAAkB/nB,WAjB3B,OAsBrB+kC,IAAgB,GAChBE,GAAa,IACbzsB,GAAa,GACb6sB,GAAc,MAzBO,2CAAH,qDA6BhB2B,GAAqB,uCAAG,WAAOf,GAAP,SAAAnkC,EAAA,sDAC5BkkC,GAAiBC,EAAK,CAAElb,SAAUuZ,GAAlB,UAAqCA,EAAe,SAAW,SADnD,2CAAH,sDAIrB2C,GAAkB,uCAAG,WAAOhB,GAAP,SAAAnkC,EAAA,+EAClBkkC,GAAiBC,EAAK,CAAEK,YAAY,EAAMC,eAAgB,YAAc,aADtD,2CAAH,sDAGlBW,GAAe,uCAAG,WAAOjB,GAAP,SAAAnkC,EAAA,6DACtB6jC,GAAWM,GACXR,IAAY,GAFU,SAIK,qDAJL,SAKd/hC,GAAgByjC,aADG,sDAC4Bh0C,MAAK,SAACyN,GAAU,IAAD,IAClEmlC,GAAc,oBACZnlC,EAAKgC,eADO,aACZ,EAAcuM,KAAI,SAAC6Z,GAAuB,IAAD,EAKvC,MAJa,CACX1uB,GAAI0uB,EAAInnB,UACRkK,MAAK,UAAEid,EAAI9U,mBAAN,QAAqB,iBAJlB,QAON,OAbU,uDAiBpByT,GAAS,GACT5K,GAAgB,WACd,OAAOoH,GAAe4D,kBAAf,SAnBW,yDAAH,sDAwBfqf,GAAY,uCAAG,sBAAAtlC,EAAA,kEACf8jC,SADe,IACfA,QADe,EACfA,GAAgBtrC,IADD,gCAEX0rC,GAAiBN,GAAS,CAAE7jC,UAAW+jC,GAAetrC,IAAM,SAFjD,uBAGX+R,QAAQsf,IACZ+Z,GAAQv2B,KAAI,SAAC7U,GACX,IACEwK,GAAYxG,KAAK,CACf,CACEsoC,UAAWtsC,EACXusC,SAAU,WACVC,SAAS,0BAAD,cAA4BlB,SAA5B,IAA4BA,QAA5B,EAA4BA,GAAgB75B,MAA5C,eAAwD9E,EAAWV,SAAnE,kBAAqFy+B,IAC7F+B,SAAU5xC,EAASuE,QAGvB,MAAOsG,GACP2nB,GAAS,GACT5K,GAAgB,WACd,OAAOoH,GAAe4D,kBAAkB/nB,WAjB/B,OAsBjBylC,IAAY,GACZR,GAAa,IACbY,GAAkB,MAxBD,2CAAH,qDA6BZ7B,GAAU,uCAAG,WAAOrqB,EAAU7lB,EAAe0N,GAAhC,SAAAM,EAAA,sEACX2B,GAAa+E,YAAYrV,KAAzB,uCAA8B,WAAOk0C,GAAP,SAAAvlC,EAAA,sEAG5B+B,GAAiBvF,KAAK,CAAC,CAC3BqoC,eAAc,OAAEU,QAAF,IAAEA,OAAF,EAAEA,EAAS3gC,OACzB4gC,iBAAkB,SAClBC,aAAczzC,EACd0zC,oBAAqBhmC,EACrB+kC,eAAgB,SAChBkB,SAAU,SACVpB,QAAQ,EACRtb,UAAU,EACVub,YAAY,KACVnzC,MAAK,WAAO,IAAD,EACb,OAACkxC,QAAD,IAACA,GAAD,UAACA,EAAU1yB,eAAX,SAA4BsZ,cAC5B0Z,GAAa,iBACbnsB,GAAa,MAhBmB,2CAA9B,uDADW,2CAAH,0DA8BhB,OARA5J,qBAAU,WACR,OAAO,WACL6f,EAAc,GACd5G,EAAa,GACbC,EAAc,MAEf,IAGD,qCACE,cAAC,GAAD,CACE1X,IAAKi0B,EACLvf,SAAU,CACR,CACExqB,GAAI,aACJyyB,YAAa,aACbrB,eAAgB,aAChB9qB,KAAM,CACJqkB,UAAWA,EACX2C,aAAcA,EACdR,UAAWvjB,GAAiB4E,MAC5B8e,YA9PQ,SAACD,EAAuCnzB,GAAkD,IAAD,IAC3G,wBACEmzB,QADF,IACEA,GADF,UACEA,EAAa1kB,eADf,aACE,EAAsBuM,KAAI,SAACgjB,GAA2B,IAAD,QACnD,OAAO,wCACY,OAAZh+B,GAAgC,QAAZA,IAAsB,CAC7CmG,GAAI63B,EAAOuV,cAEI,WAAZvzC,GAAoC,QAAZA,IAAsB,CAEjD8iC,KAAM9E,EAAOwV,cACbC,SAAU,CACRlX,QAASyB,EAAOoV,aAChB/lC,KAAM2wB,EAAOqV,qBAEfK,eAAc,iBAAE1V,QAAF,IAAEA,GAAF,UAAEA,EAAQ2V,mBAAV,aAAE,EAAqB77B,cAAvB,SACduU,OAAQ2R,EAAOoU,eACfwB,YAAW,UAAE5V,EAAOwU,sBAAT,QAA2B,aAEtCqB,cAAa,UAAE7V,EAAO8V,oBAAT,QAAyB9V,EAAO+V,UAE/B,QAAZ/zC,GAAqB,CACvBo2B,iBAAiB,EACjBQ,SAAUoH,EAAOpH,qBArBzB,QAwBQ,IAsOE8C,gBAAgB,eAAD,OAAiB5mB,EAAWP,OAA5B,MACf2gB,cAAe,eAEjBnC,QAASxxB,EAAMwxB,QACf6G,YAAarS,EAAKtO,SAAS,cAAgB,UAAY,eACvD6gB,iBAAkB,OAClBkC,eAlSmE,+CAmSnErH,kBAAmBpzB,EAAMy0C,mBAG7BzgB,OAAQ,CACNlV,UAAWA,EACXC,WAAYA,EACZ+Z,QAASA,EACT7E,SAAUA,EACV9gB,aAAcA,EACdkW,gBAAiBA,GAEnBoI,WAAY,CACV2D,UAAWA,EACXjB,aAAcA,EACdtmB,WAAYA,EACZktB,cAAeA,EACfrJ,WAAYA,EACZ0C,cAAeA,GAEjBsB,QAAS,CACP8D,eAAe,EACfZ,eAAe,EACfF,aAAa,EACb/C,eAAe,EACfgD,gBAAgB,GAElB5f,OAAO,EACP+hB,UAAU,EACVtC,YAnNc,SAAC1a,GACnB+yB,GAAgB,GAChB/yB,EAAI4M,SAAQ,SAAC4K,GACPA,EAAI+B,UACNwZ,GAAgB,OAgNhB9X,WAAY,CACV,CACEG,UACE,cAACh5B,EAAD,CAAQK,KAAM,cAAC,GAAD,IAAWK,QAAS,kBAAMuwC,IAAe,IAAO3wC,UAAU,OAAxE,4BAMN24B,cAAe,CACb,CACE14B,QAAS,YACTO,SAAU,QACVo4B,SAAU,SAACmZ,GAAD,OAASG,GAAiBH,KAEtC,UACA,CACEhyC,KAAM,cAAC,GAAD,IACNE,QAAS,YACTD,UAAW,OACXH,QAAS,UACT+4B,SAAU,SAACmZ,GAAD,OA5NK,SAACA,GACxBhmC,QAAQC,IAAI+lC,GA2NemC,CAAiBnC,KAEtC,CACEhyC,KAAM,cAAC,GAAD,IACNE,QAAS,YACTD,UAAW,OACXH,QAAS,WACT+4B,SAAU,SAACmZ,GAAD,OAASO,GAAoBP,KAEzC,CACEhyC,KAAM,cAAC,GAAD,IACNE,QAAS,YACTD,UAAW,OACXH,QAAS,OACT+4B,SAAU,SAACmZ,GAAD,OAASiB,GAAgBjB,KAErC,CACEhyC,KAAM,cAAC,GAAD,IACNE,QAAS,YACTD,UAAW,OACXH,QAAS,UACT+4B,SAAU,SAACmZ,GAAD,OAASgB,GAAmBhB,KAGxC,CACEhyC,KAAM,cAAC,GAAD,IACNE,QAAS,YACTD,UAAW,OACXH,QAAQ,WAAD,OAAauwC,EAAe,SAAW,QAC9CxX,SAAU,SAACmZ,GAAD,OAASe,GAAsBf,QAI/C,cAACoC,GAAA,EAAD,CACEvmB,OAAO,QACP3U,KAAM23B,GACN1rB,QAAS,WACP2rB,IAAgB,GAChBE,GAAa,IACbI,GAAc,OAEhB3F,eAAa,EARf,SAUE,sBAAK/rC,UAAU,kBAAf,UACE,oBAAIA,UAAU,SAAd,qCACA,mBAAGA,UAAU,kBAAb,8EACA,uBAAOkc,QAAS,SAAhB,SAA2B,gBAC3B,cAAC,GAAD,CACE3O,QAASokC,GACTt1B,SAAU,SAAC2E,EAAQ2zB,GAAT,OAA6DjD,GAAc,CAAE/qC,GAAIguC,EAAUhuC,GAAIyR,MAAOu8B,EAAUv8B,SAC1HlQ,MAAOupC,GACPmD,cAAY,EACZz2B,kBAAgB,EAChB4tB,eAAa,EACb8I,WAAW,EACXv3B,UAAW,cAAC,EAAD,IACXJ,YAAY,EACZkB,YAAa,SAAC5Q,GAAD,OACX,cAAC6Q,GAAA,EAAD,2BACM7Q,GADN,IAEE8Q,WAAU,2BACL9Q,EAAO8Q,YADF,IAERC,kBAAkB,QAIxBC,qBAAsB,SAAC/C,EAAQvT,GAC7B,OAAOuT,EAAOrD,QAAUlQ,EAAMkQ,SAGlC,cAAC,GAAD,CAAUA,MAAO,CAAE6D,YAAa,OAAQE,UAAW,eAAiBC,YAAa,GAAIC,SAAUi1B,GAAc90B,aAAc60B,KAC3H,sBAAKrxC,UAAU,UAAf,UACE,cAACC,EAAD,CACEO,QAAQ,YACRC,KAAK,KACLE,QAAS,WACPywC,IAAgB,GAChBM,GAAc,MACdJ,GAAa,KANjB,oBAWA,cAACrxC,EAAD,CAAQQ,KAAK,KAAKE,QAAS,kBAAMoyC,MAAjC,8BAMN,cAAC2B,GAAA,EAAD,CACEvmB,OAAO,QACP3U,KAAMq4B,GACNpsB,QAAS,WACPqsB,IAAY,GACZR,GAAa,IACbY,GAAkB,OAEpBnG,eAAa,EARf,SAUE,sBAAK/rC,UAAU,kBAAf,UACE,oBAAIA,UAAU,SAAd,6BACA,mBAAGA,UAAU,kBAAb,wDACA,uBAAOkc,QAAS,SAAhB,SAA2B,eAC3B,cAAC,GAAD,CACE3O,QAAS4kC,GACT91B,SAAU,SAAC2E,EAAQ2zB,GAAT,OAAsDzC,GAAkB,CAAEvrC,GAAIguC,EAAUhuC,GAAIyR,MAAOu8B,EAAUv8B,SACvHlQ,MAAO+pC,GACP2C,cAAY,EACZz2B,kBAAgB,EAChB4tB,eAAa,EACb8I,WAAW,EACXz2B,YAAa,SAAC5Q,GAAD,OACX,cAAC6Q,GAAA,EAAD,2BACM7Q,GADN,IAEE8Q,WAAU,2BACL9Q,EAAO8Q,YADF,IAERC,kBAAkB,QAIxBC,qBAAsB,SAAC/C,EAAQvT,GAC7B,OAAOuT,EAAOrD,QAAUlQ,EAAMkQ,SAGlC,cAAC,GAAD,CAAUA,MAAO,CAAE6D,YAAa,OAAQE,UAAW,eAAiBC,YAAa,GAAIC,SAAUi1B,GAAc90B,aAAc60B,KAC3H,sBAAKrxC,UAAU,UAAf,UACE,cAACC,EAAD,CACEO,QAAQ,YACRC,KAAK,KACLE,QAAS,WACPmxC,IAAY,GACZI,GAAkB,MAClBZ,GAAa,KANjB,oBAWA,cAACrxC,EAAD,CAAQQ,KAAK,KAAKE,QAAS,kBAAM8yC,MAAjC,0BAMN,cAACpuB,GAAA,EAAD,CAAUC,aAAc,CAAEC,SAAU,MAAOC,WAAY,SAAWhM,KAAMoL,EAAWa,QAAS,kBAAMZ,GAAa,IAAQa,iBAAkB,IAAzI,SACE,cAACC,GAAA,EAAD,CACEF,QAAS,kBAAMZ,GAAa,IAC5Be,SAAUirB,GAAa,QAAU,UACjChrB,GAAI,CAAEnkB,MAAO,QACb4V,OACE,mBAAGtX,UAAU,QAAQW,QAAS,kBAAMkkB,GAAa,IAAjD,mBALJ,SAUGgsB,GAAa,4BAA8BE,OAIhD,cAAC,GAAD,CACEv3B,KAAMy3B,GACNxrB,QAAS,kBAAMyrB,IAAe,IAC9B/wC,MAAO,eACP8vC,eAAgB,CAAC,CAAEtpC,GAAI,IAAKyR,MAAO,kBACnCi4B,WAAYA,QCxgBpB,IAAMyE,GAAU,CACd,CACEzmB,OAAQ,OACRiE,SAAU,OACV5wB,MAAO,MACPwsB,YAAY,EACZW,UAAU,EAEVK,iBAAkB,gBAClBsD,iBAAkB,WAClBsH,UAAW,OACXjD,KAAM,SAAC92B,GAAD,OACJk8B,GAAW8Y,eAAeh1C,EAAMmI,MAAOnI,EAAMs1B,IAAIsB,SAASS,YAE9D,CACE/I,OAAQ,WACRiE,SAAU,WACV5wB,MAAO,MACPwsB,YAAY,EACZW,UAAU,EACVK,iBAAkB,eAClBJ,UAAW,6BACX0D,iBAAkB,WAClBsH,UAAW,OACXjD,KAAM,SAAC92B,GAAD,OACJk8B,GAAW8Y,eAAeh1C,EAAMmI,MAAOnI,EAAMs1B,IAAIsB,SAASS,YAE9D,CACE/I,OAAQ,GACRiE,SAAU,iBACV5wB,MAAO,KACPwsB,YAAY,EACZW,UAAU,EACViL,UAAW,OACXjD,KAAM,SAAC92B,GAAD,OAA+Bk8B,GAAW+Y,qBAAqBj1C,EAAMmI,SAE7E,CACEmmB,OAAQ,gBACRiE,SAAU,gBACV5wB,MAAO,MACPmtB,UAAU,EACVK,iBAAkB,eAClBJ,UAAW,eACX0D,iBAAkB,WAClBsH,UAAW,OACXjD,KAAM,SAAC92B,GAAD,OACJk8B,GAAWgZ,uBAAuBl1C,EAAMmI,MAAOnI,EAAMs1B,IAAIsB,SAASS,aAIzD,SAAS8d,KACtB,IAAQ5hC,EAAelM,IAAMsT,WAAWxI,IAAhCoB,WAER,OACE,qBAAKtT,UAAU,yBAAf,SACE,qBAAKA,UAAU,aAAf,SACE,cAACywC,GAAD,CAEE+D,iBAAkB,CAChB,CACEnhB,MAAO,OACPC,kBAAkB,2CAAD,OAA6ChgB,EAAWP,OAAxD,gCAEnB,CACEsgB,MAAO,aACPC,kBAAkB,mDAAD,OAAqDhgB,EAAWP,OAAhE,qDAEnB,CAAEsgB,MAAO,SAAUC,kBAAkB,4CAAD,OAA8ChgB,EAAWP,OAAzD,gCACpC,CAAEsgB,MAAO,WAAYC,kBAAkB,+CAAD,OAAiDhgB,EAAWP,OAA5D,OAExCwe,QAASujB,SCvEnB,IAAMA,GAAU,CACd,CACEzmB,OAAQ,OACRiE,SAAU,OACV5wB,MAAO,MACPwsB,YAAY,EACZW,UAAU,EAEVK,iBAAkB,gBAClBsD,iBAAkB,WAClBsH,UAAW,OACXjD,KAAM,SAAC92B,GAAD,OACJk8B,GAAW8Y,eAAeh1C,EAAMmI,MAAOnI,EAAMs1B,IAAIsB,SAASS,YAE9D,CACE/I,OAAQ,WACRiE,SAAU,WACV5wB,MAAO,MACPwsB,YAAY,EACZW,UAAU,EACVK,iBAAkB,eAClBJ,UAAW,wBACX0D,iBAAkB,WAClBsH,UAAW,OACXjD,KAAM,SAAC92B,GAAD,OACJk8B,GAAW8Y,eAAeh1C,EAAMmI,MAAOnI,EAAMs1B,IAAIsB,SAASS,YAE9D,CACE/I,OAAQ,GACRiE,SAAU,iBACV5wB,MAAO,KACPwsB,YAAY,EACZW,UAAU,EACViL,UAAW,OACXjD,KAAM,SAAC92B,GAAD,OAA+Bk8B,GAAW+Y,qBAAqBj1C,EAAMmI,SAE7E,CACEmmB,OAAQ,gBACRiE,SAAU,gBACV5wB,MAAO,MACPmtB,UAAU,EACVK,iBAAkB,UAClBJ,UAAW,UACX0D,iBAAkB,WAClBsH,UAAW,OACXjD,KAAM,SAAC92B,GAAD,OACJk8B,GAAWgZ,uBAAuBl1C,EAAMmI,MAAOnI,EAAMs1B,IAAIsB,SAASS,aAIzD,SAAS5xB,KACtB,OACE,qBAAKxF,UAAU,yBAAf,SACE,qBAAKA,UAAU,aAAf,SACE,cAACywC,GAAD,CAEE+D,iBAAkB,CAChB,CAAEnhB,MAAO,aAAcC,kBAAmB,2EAC1C,CAAED,MAAO,SAAUC,kBAAmB,+CACtC,CAAED,MAAO,WAAYC,kBAAmB,yBAE1C/B,QAASujB,SC7DnB,IAAMA,GAAU,CACd,CACEzmB,OAAQ,OACRiE,SAAU,OACV5wB,MAAO,MACPwsB,YAAY,EACZW,UAAU,EAEVK,iBAAkB,gBAClBsD,iBAAkB,WAClBsH,UAAW,OACXjD,KAAM,SAAC92B,GAAD,OACJk8B,GAAW8Y,eAAeh1C,EAAMmI,MAAOnI,EAAMs1B,IAAIsB,SAASS,YAE9D,CACE/I,OAAQ,WACRiE,SAAU,WACV5wB,MAAO,MACPwsB,YAAY,EACZW,UAAU,EACVK,iBAAkB,eAClBJ,UAAW,6BACX0D,iBAAkB,WAClBsH,UAAW,OACXjD,KAAM,SAAC92B,GAAD,OACJk8B,GAAW8Y,eAAeh1C,EAAMmI,MAAOnI,EAAMs1B,IAAIsB,SAASS,YAE9D,CACE/I,OAAQ,GACRiE,SAAU,iBACV5wB,MAAO,KACPwsB,YAAY,EACZW,UAAU,EACViL,UAAW,OACXjD,KAAM,SAAC92B,GAAD,OAA+Bk8B,GAAW+Y,qBAAqBj1C,EAAMmI,SAE7E,CACEmmB,OAAQ,cACRiE,SAAU,cACV5wB,MAAO,MACPwsB,YAAY,EACZW,UAAU,EAEVK,iBAAkB,iBAClBJ,UAAW,iBACX0D,iBAAkB,WAClBsH,UAAW,OACXjD,KAAM,SAAC92B,GAAD,OACJk8B,GAAW8Y,eAAeh1C,EAAMmI,MAAOnI,EAAMs1B,IAAIsB,SAASS,YAE9D,CACE/I,OAAQ,gBACRiE,SAAU,gBACV5wB,MAAO,MACPmtB,UAAU,EACVK,iBAAkB,eAClBJ,UAAW,eACX0D,iBAAkB,WAClBsH,UAAW,OACXjD,KAAM,SAAC92B,GAAD,OACJk8B,GAAWgZ,uBAAuBl1C,EAAMmI,MAAOnI,EAAMs1B,IAAIsB,SAASS,aAIzD,SAASnwB,KACtB,OACE,qBAAKjH,UAAU,yBAAf,SACE,qBAAKA,UAAU,aAAf,SACE,cAACywC,GAAD,CAEE+D,iBAAkB,CAChB,CAAEnhB,MAAO,MAAOC,kBAAmB,8CACnC,CAAED,MAAO,aAAcC,kBAAmB,2EAC1C,CAAED,MAAO,SAAUC,kBAAmB,+CACtC,CAAED,MAAO,WAAYC,kBAAmB,yBAE1C/B,QAASujB,S,WC5EbK,GAAY,aAEH,SAAS9mB,KAA8B,IAAD,EACnD,OACE,sBAAKruB,UAAU,uBAAf,UACE,qBAAKA,UAAS,MAAd,mBAAwBm1C,GAAW58B,OAAO,UAA1C,QAAgD,KAChD,mBAAGvY,UAAS,eAAZ,SAA+Bm1C,KAC/B,sBAAKn1C,UAAS,kBAAd,UACE,gCACE,sBAAMA,UAAU,OAAhB,2CACA,sBAAMA,UAAU,QAAhB,wBAEF,gCACE,sBAAMA,UAAU,OAAhB,4BACA,sBAAMA,UAAU,QAAhB,iCAEF,8BACE,cAAC,GAAD,CAAMm7B,KAAK,SAAS36B,QAAQ,iBCNvB,SAAS40C,GAAgBr1C,GACtC,MAA0BwH,oBAAkB,GAA5C,mBAAOmrC,EAAP,KAAe2C,EAAf,KACA,EAAkC9tC,oBAAkB,GAApD,mBAAOqd,EAAP,KAAkBC,EAAlB,KACA,EAAoCtd,oBAAkB,GAAtD,mBAAOspC,EAAP,KAAmBC,EAAnB,KAEMwE,EAAa,uCAAG,sBAAAnnC,EAAA,+EAEZgD,GAAYxG,KAAK,CACrB,CACEuoC,SAAU,WACVD,UAAWlzC,EAAMg0C,WACjBZ,SAAUpzC,EAAMsxC,UAChB+B,SAAU5xC,EAASuE,QAPL,sDAWlB+qC,GAAc,GAXI,uBAalB/wC,EAAMuxC,aAAa,IACnBzsB,GAAa,GACbwwB,GAAQ,GAfU,0EAAH,qDAmBnB,OACE,sBAAKr1C,UAAU,oBAAf,UACE,cAACC,EAAD,CAAQQ,KAAK,KAAKD,QAAQ,YAAYG,QAAS,kBAAM00C,GAAQ,IAA7D,sBAIA,cAACX,GAAA,EAAD,CAAQvmB,OAAO,QAAQ3U,KAAMk5B,EAAQjtB,QAAS,kBAAM4vB,GAAQ,IAAQtJ,eAAa,EAAjF,SACE,sBAAK/rC,UAAU,kBAAf,UACE,oBAAIA,UAAU,SAAd,wBACA,mBAAGA,UAAU,kBAAb,6EACA,cAAC,GAAD,CAAUoY,MAAO,OAAQgE,YAAa,GAAIC,SAAUtc,EAAMuxC,aAAc90B,aAAczc,EAAMsxC,YAC5F,sBAAKrxC,UAAU,UAAf,UACE,cAACC,EAAD,CAAQO,QAAQ,YAAYC,KAAK,KAAKE,QAAS,kBAAM00C,GAAQ,IAA7D,oBAGA,cAACp1C,EAAD,CAAQQ,KAAK,KAAKE,QAAS,kBAAM20C,KAAjC,oBAIF,mBAAGt1C,UAAU,uBAAb,0BACA,oBAAIA,UAAU,aAAd,SACE,qBAAIA,UAAU,aAAd,UACE,sBAAKA,UAAU,OAAf,UACE,mBAAGA,UAAU,QAAb,yBACA,mBAAGA,UAAU,UAAb,4BAEF,mBAAGA,UAAU,QAAb,kDAMR,cAACqlB,GAAA,EAAD,CAAUC,aAAc,CAAEC,SAAU,MAAOC,WAAY,SAAWhM,KAAMoL,EAAWa,QAAS,kBAAMZ,GAAa,IAAQa,iBAAkB,IAAzI,SACE,cAACC,GAAA,EAAD,CACEF,QAAS,kBAAMZ,GAAa,IAC5Be,SAAUirB,EAAa,QAAU,UACjChrB,GAAI,CAAEnkB,MAAO,QACb4V,OACE,mBAAGtX,UAAU,QAAQW,QAAS,kBAAMkkB,GAAa,IAAjD,mBALJ,SAUGgsB,EAAa,4BAA8B,iCC/DvC,SAAS0E,GAAiBx1C,GACvC,MAA0BwH,oBAAkB,GAA5C,mBAAOmrC,EAAP,KAAe2C,EAAf,KACA,EAAkC9tC,oBAAkB,GAApD,mBAAOqd,EAAP,KAAkBC,EAAlB,KACA,EAAoCtd,oBAAkB,GAAtD,mBAAOspC,EAAP,KAAmBC,EAAnB,KAEM0E,EAAc,uCAAG,sBAAArnC,EAAA,+EAEbgD,GAAYxG,KAAK,CACrB,CACEuoC,SAAU,WACVD,UAAWlzC,EAAMg0C,WACjBZ,SAAS,oBAAD,OAAsBpzC,EAAM01C,eAA5B,kBAAoD11C,EAAMsxC,WAClE+B,SAAU5xC,EAASk0C,aAPJ,sDAWnB5E,GAAc,GAXK,uBAanB/wC,EAAMuxC,aAAa,IACnBvxC,EAAM41C,kBAAkB,IACxB9wB,GAAa,GACbwwB,GAAQ,GAhBW,0EAAH,qDAoBpB,OACE,sBAAKr1C,UAAU,qBAAf,UACE,cAACC,EAAD,CAAQQ,KAAK,KAAKD,QAAQ,YAAYG,QAAS,kBAAM00C,GAAQ,IAA7D,uBAIA,cAACX,GAAA,EAAD,CAAQvmB,OAAO,QAAQ3U,KAAMk5B,EAAQjtB,QAAS,kBAAM4vB,GAAQ,IAAQtJ,eAAa,EAAjF,SACE,sBAAK/rC,UAAU,kBAAf,UACE,oBAAIA,UAAU,SAAd,8BACA,mBAAGA,UAAU,kBAAb,mFACA,cAACgd,GAAD,CACEZ,YAAY,uBACZ9b,KAAM,cAAC,EAAD,IACN+b,SAAUtc,EAAM41C,kBAChBn5B,aAAczc,EAAM01C,iBAEtB,cAAC,GAAD,CACEr9B,MAAO,CAAE6D,YAAa,OAAQE,UAAW,eACzCC,YAAa,GACbC,SAAUtc,EAAMuxC,aAChB90B,aAAczc,EAAMsxC,YAEtB,sBAAKrxC,UAAU,UAAf,UACE,cAACC,EAAD,CAAQO,QAAQ,YAAYC,KAAK,KAAKE,QAAS,kBAAM00C,GAAQ,IAA7D,oBAGA,cAACp1C,EAAD,CAAQQ,KAAK,KAAKE,QAAS,kBAAM60C,KAAjC,oBAIF,mBAAGx1C,UAAU,uBAAb,gCACA,qBAAIA,UAAU,aAAd,UACE,qBAAIA,UAAU,aAAd,UACE,sBAAKA,UAAU,OAAf,UACE,mBAAGA,UAAU,QAAb,oBACA,mBAAGA,UAAU,UAAb,4BAEF,mBAAGA,UAAU,QAAb,+CAEF,qBAAIA,UAAU,aAAd,UACE,sBAAKA,UAAU,OAAf,UACE,mBAAGA,UAAU,QAAb,yBACA,mBAAGA,UAAU,UAAb,4BAEF,mBAAGA,UAAU,QAAb,yCAMR,cAACqlB,GAAA,EAAD,CAAUC,aAAc,CAAEC,SAAU,MAAOC,WAAY,SAAWhM,KAAMoL,EAAWa,QAAS,kBAAMZ,GAAa,IAAQa,iBAAkB,IAAzI,SACE,cAACC,GAAA,EAAD,CACEF,QAAS,kBAAMZ,GAAa,IAC5Be,SAAUirB,EAAa,QAAU,UACjChrB,GAAI,CAAEnkB,MAAO,QACb4V,OACE,mBAAGtX,UAAU,QAAQW,QAAS,kBAAMkkB,GAAa,IAAjD,mBALJ,SAUGgsB,EAAa,4BAA8B,uC,OCvFvC,SAAS+E,GAAiB71C,GACvC,MAA0BwH,oBAAkB,GAA5C,mBAAOmrC,EAAP,KAAe2C,EAAf,KACA,EAAgC9tC,oBAAkB,GAAlD,mBAAOsX,EAAP,KAAkBC,EAAlB,KACA,EAA4CvX,oBAAkB,GAA9D,mBAAOsuC,EAAP,KAAuBC,EAAvB,KACA,EAAkCvuC,oBAAkB,GAApD,mBAAOqd,EAAP,KAAkBC,EAAlB,KACA,EAAoCtd,oBAAkB,GAAtD,mBAAOspC,EAAP,KAAmBC,EAAnB,KACA,EAAgCvpC,mBAAiB,IAAjD,mBAAOyd,EAAP,KAAiBC,EAAjB,KACQ3R,EAAelM,IAAMsT,WAAWxI,IAAhCoB,WACR,EAA4C/L,mBAAsC,IAAlF,mBAAOwuC,EAAP,KAAuBC,EAAvB,KACA,EAAwCzuC,mBAA2C,MAAnF,mBAAO0uC,EAAP,KAAqBC,EAArB,KAEMC,EAAa,uCAAG,4BAAAhoC,EAAA,2FAGJ,eAHI,SAIZyC,GAAmBkiC,kBAJP,qBAGJ,gBACsDtzC,MAAK,SAACyN,GAAU,IAAD,IACjF+oC,EAAiB,oBACf/oC,EAAKgC,eADU,aACf,EAAcuM,KAAI,SAAC46B,GACjB,MAAO,CACLrjC,OAAQqjC,EAAKrjC,OACbH,SAAUwjC,EAAKxjC,oBAJJ,QAMT,OAXQ,OAcZyjC,EAAiB,CAAEtjC,OAAQ,GAAIH,SAAU,cAC/CojC,GAAkB,SAACh7B,GACjB,MAAM,GAAN,oBAAWA,GAAX,CAAiBq7B,OAEnBv3B,GAAW,GAlBO,kDAoBlBxS,QAAQC,IAAR,MApBkB,0DAAH,qDAyBnB0O,qBAAU,WACH4D,GAGLs3B,MACC,CAACt3B,IAEJ,IAAMy3B,EAAc,uCAAG,4BAAAnoC,EAAA,+EAEb+B,GAAiBnF,MAAMhL,EAAMg0C,WAAY,CAC7Cf,eAAc,iBAAEiD,QAAF,IAAEA,OAAF,EAAEA,EAAcljC,cAAhB,QAA0B,OAHvB,uBAMb5B,GAAYxG,KAAK,CACrB,CACEuoC,SAAU,WACVD,UAAWlzC,EAAMg0C,WACjBZ,SAAS,yBAAD,cAA2B8C,QAA3B,IAA2BA,OAA3B,EAA2BA,EAAcrjC,SAAzC,eAAwDU,EAAWV,SAAnE,kBAAqF7S,EAAMsxC,WACnG+B,SAAU5xC,EAASuE,QAXJ,uDAenBkf,EAAY,+BACZ6rB,GAAc,GAhBK,yBAkBnB/wC,EAAMuxC,aAAavxC,EAAMsxC,WACzBxsB,GAAa,GACbwwB,GAAQ,GApBW,4EAAH,qDAwBpB,OACE,sBAAKr1C,UAAU,oBAAf,UACE,cAACC,EAAD,CACEK,KAAM,cAAC,GAAD,IACNK,QAAS,kBAAM00C,GAAQ,IACvB70C,QAAS,YACTD,UAAW,OACXH,QAAS,WACTJ,UAAW,oBAGb,cAAC00C,GAAA,EAAD,CAAQvmB,OAAO,QAAQ3U,KAAMk5B,EAAQjtB,QAAS,kBAAM4vB,GAAQ,IAAQtJ,eAAa,EAAjF,SACE,sBAAK/rC,UAAU,kBAAf,UACE,oBAAIA,UAAU,SAAd,qCACA,mBAAGA,UAAU,kBAAb,8EACA,uBAAOkc,QAAS,SAAhB,SAA2B,gBAC3B,cAAC,GAAD,CACE+vB,eAAgB,SAACxwB,GAAD,uBAAuCA,EAAO7I,gBAA9C,QAA0D,OAC1ErF,QAASwoC,EACTr1C,QAASme,EACTrF,KAAMq8B,EACNU,OAAQ,WACNT,GAAkB,IAEpBrwB,QAAS,WACP1lB,EAAMuxC,aAAa,IACnBwE,GAAkB,IAEpBz5B,SAAQ,uCAAE,WAAO2E,EAAQ9Y,GAAf,eAAAiG,EAAA,sDACR+nC,EAAgBhuC,GAChB+c,EAAW,UAAC/c,EAAM0K,gBAAP,QAAmB,IAFtB,2CAAF,wDAIRgiC,cAAY,EACZz2B,kBAAgB,EAChB4tB,eAAa,EACb8I,WAAS,EACTv3B,UAAW,cAAC,EAAD,IACXJ,YAAY,EACZkB,YAAa,SAAC5Q,GAAD,OACX,cAAC6Q,GAAA,EAAD,2BACM7Q,GADN,IAEE8Q,WAAU,2BACL9Q,EAAO8Q,YADF,IAERlC,YAAa,uBACbmC,kBAAkB,QAIxBC,qBAAsB,SAAC/C,EAAmCvT,GACxD,OAAOuT,EAAO1I,SAAW7K,KAG7B,cAAC,GAAD,CACEkQ,MAAO,CAAE6D,YAAa,OAAQE,UAAW,eACzCC,YAAa,GACbC,SAAUtc,EAAMuxC,aAChB90B,aAAczc,EAAMsxC,YAEtB,sBAAKrxC,UAAU,UAAf,UACE,cAACC,EAAD,CACEO,QAAQ,YACRC,KAAK,KACLE,QAAS,WACP00C,GAAQ,GACRt1C,EAAMuxC,aAAa,KALvB,oBAUA,cAACrxC,EAAD,CACEQ,KAAK,KACLE,QAAS,WACP21C,IACAv2C,EAAMuxC,aAAa,KAJvB,yBAUF,mBAAGtxC,UAAU,uBAAb,2BACA,oBAAIA,UAAU,aAAd,SACE,qBAAIA,UAAU,aAAd,UACE,sBAAKA,UAAU,OAAf,UACE,mBAAGA,UAAU,QAAb,yBACA,mBAAGA,UAAU,UAAb,4BAEF,mBAAGA,UAAU,QAAb,sEAKR,cAACqlB,GAAA,EAAD,CAAUC,aAAc,CAAEC,SAAU,MAAOC,WAAY,SAAWhM,KAAMoL,EAAWa,QAAS,kBAAMZ,GAAa,IAAQa,iBAAkB,IAAzI,SACE,cAACC,GAAA,EAAD,CACEF,QAAS,kBAAMZ,GAAa,IAC5Be,SAAUirB,EAAa,QAAU,UACjChrB,GAAI,CAAEnkB,MAAO,QACb4V,OACE,mBAAGtX,UAAU,QAAQW,QAAS,kBAAMkkB,GAAa,IAAjD,mBALJ,SAUGgsB,EACC7rB,EAEA,+DACgC,sBAAMnJ,MAAO,CAAE26B,WAAY,KAA3B,SAAmCxxB,cC7KhE,SAASyxB,GAAa12C,GACnC,MAA4BwH,oBAAkB,GAA9C,mBAAOmrC,EAAP,KAAegE,EAAf,KACA,EAAkCnvC,oBAAkB,GAApD,mBAAOsX,EAAP,KAAkB8F,EAAlB,KACA,EAA8Cpd,oBAAkB,GAAhE,mBAAOovC,EAAP,KAAwBC,EAAxB,KACA,EAAkCrvC,oBAAkB,GAApD,mBAAOqd,EAAP,KAAkBC,EAAlB,KACA,EAAoCtd,oBAAkB,GAAtD,mBAAOspC,EAAP,KAAmBC,EAAnB,KACA,EAAgCvpC,mBAAiB,IAAjD,mBAAOyd,EAAP,KAAiBC,EAAjB,KACQ3R,EAAelM,IAAMsT,WAAWxI,IAAhCoB,WACR,EAAsC/L,mBAAkC,IAAxE,mBAAOsvC,EAAP,KAAoBC,EAApB,KACA,EAA8CvvC,mBAAuC,MAArF,mBAAOwvC,EAAP,KAAwBC,EAAxB,KAEMC,EAAgB,uCAAG,sBAAA9oC,EAAA,sEAEI,qDAFJ,SAGf4B,GAAgByjC,aADG,sDAC4Bh0C,MAAK,SAACyN,GAAU,IAAD,IAClE6pC,EAAc,oBACZ7pC,EAAKgC,eADO,aACZ,EAAcuM,KAAI,SAAC1M,GACjB,MAAO,CACLZ,UAAWY,EAAQZ,UACnBqS,YAAazR,EAAQyR,uBAJb,QAMN,OAVW,OAarBoE,GAAa,GAbQ,gDAerBrY,QAAQC,IAAR,MAfqB,yDAAH,qDAoBtB0O,qBAAU,WACH4D,GAGLo4B,MACC,CAACp4B,IAEJ,IAAMq4B,EAAU,uCAAG,sBAAA/oC,EAAA,+EAET+B,GAAiBnF,MAAMhL,EAAMg0C,WAAY,CAC7C7lC,UAAS,OAAE6oC,QAAF,IAAEA,OAAF,EAAEA,EAAiB7oC,YAHf,uBAMTiD,GAAYxG,KAAK,CACrB,CACEuoC,SAAU,WACVD,UAAWlzC,EAAMg0C,WACjBZ,SAAS,0BAAD,cAA4B4D,QAA5B,IAA4BA,OAA5B,EAA4BA,EAAiBx2B,YAA7C,eAA+DjN,EAAWV,SAA1E,kBAA4F7S,EAAMsxC,WAC1G+B,SAAU5xC,EAASuE,QAXR,uDAefkf,EAAY,0BACZ6rB,GAAc,GAhBC,yBAkBf/wC,EAAMuxC,aAAavxC,EAAMsxC,WACzBxsB,GAAa,GACb6xB,GAAU,GApBK,4EAAH,qDAwBhB,OACE,sBAAK12C,UAAU,gBAAf,UACE,cAACC,EAAD,CACEK,KAAM,cAAC,GAAD,IACNK,QAAS,kBAAM+1C,GAAU,IACzBl2C,QAAS,YACTD,UAAW,OACXH,QAAS,OACTJ,UAAW,oBAGb,cAAC00C,GAAA,EAAD,CAAQvmB,OAAO,QAAQ3U,KAAMk5B,EAAQjtB,QAAS,kBAAMixB,GAAU,IAAQ3K,eAAa,EAAnF,SACE,sBAAK/rC,UAAU,kBAAf,UACE,oBAAIA,UAAU,SAAd,6BACA,mBAAGA,UAAU,kBAAb,yDACA,uBAAOkc,QAAS,SAAhB,SAA2B,eAC3B,cAAC,GAAD,CACE+vB,eAAgB,SAACxwB,GAAD,uBAAmCA,EAAO8E,mBAA1C,QAAyD,OACzEhT,QAASspC,EACTn2C,QAASme,EACTrF,KAAMm9B,EACNJ,OAAQ,WACNK,GAAmB,IAErBnxB,QAAS,WACPmxB,GAAmB,IAErBv6B,SAAQ,uCAAE,WAAO2E,EAAQ9Y,GAAf,eAAAiG,EAAA,sDACR6oC,EAAmB9uC,GACnB+c,EAAW,UAAC/c,EAAMqY,mBAAP,QAAsB,IAFzB,2CAAF,wDAIRq0B,cAAY,EACZz2B,kBAAgB,EAChB4tB,eAAa,EACb8I,WAAS,EACTz2B,YAAa,SAAC5Q,GAAD,OACX,cAAC6Q,GAAA,EAAD,2BACM7Q,GADN,IAEE8Q,WAAU,2BACL9Q,EAAO8Q,YADF,IAERlC,YAAa,sBACbmC,kBAAkB,QAIxBC,qBAAsB,SAAC/C,EAA+BvT,GACpD,OAAOuT,EAAOvN,YAAchG,KAGhC,cAAC,GAAD,CACEkQ,MAAO,CAAE6D,YAAa,OAAQE,UAAW,eACzCC,YAAa,GACbC,SAAUtc,EAAMuxC,aAChB90B,aAAczc,EAAMsxC,YAEtB,sBAAKrxC,UAAU,UAAf,UACE,cAACC,EAAD,CAAQO,QAAQ,YAAYC,KAAK,KAAKE,QAAS,kBAAM+1C,GAAU,IAA/D,oBAGA,cAACz2C,EAAD,CAAQQ,KAAK,KAAKE,QAAS,kBAAMu2C,KAAjC,0BAMN,cAAC7xB,GAAA,EAAD,CAAUC,aAAc,CAAEC,SAAU,MAAOC,WAAY,SAAWhM,KAAMoL,EAAWa,QAAS,kBAAMZ,GAAa,IAAQa,iBAAkB,IAAzI,SACE,cAACC,GAAA,EAAD,CACEF,QAAS,kBAAMZ,GAAa,IAC5Be,SAAUirB,EAAa,QAAU,UACjChrB,GAAI,CAAEnkB,MAAO,QACb4V,OACE,mBAAGtX,UAAU,QAAQW,QAAS,kBAAMkkB,GAAa,IAAjD,mBALJ,SAUGgsB,EACC7rB,EAEA,oEACqC,sBAAMnJ,MAAO,CAAE26B,WAAY,KAA3B,SAAmCxxB,cC7IrE,SAASmyB,GAAcp3C,GACpC,MAA0BwH,oBAAkB,GAA5C,mBAAOmrC,EAAP,KAAe2C,EAAf,KACA,EAAkC9tC,oBAAkB,GAApD,mBAAOqd,EAAP,KAAkBC,EAAlB,KACA,EAAoCtd,oBAAkB,GAAtD,mBAAOspC,EAAP,KAAmBC,EAAnB,KAEMsG,EAAW,uCAAG,sBAAAjpC,EAAA,+EAEV+B,GAAiBnF,MAAMhL,EAAMg0C,WAAY,CAC7CnB,eAAgBrxC,EAAemE,OAC/BgtC,QAAQ,IAJM,uBAOVvhC,GAAYxG,KAAK,CACrB,CACEuoC,SAAU,WACVD,UAAWlzC,EAAMg0C,WACjBZ,SAAS,kBAAD,OAAoBpzC,EAAMsxC,UAA1B,oBAA+CtxC,EAAMs3C,QAC7DjE,SAAU5xC,EAASuE,QAZP,uDAgBhB+qC,GAAc,GAhBE,yBAkBhB/wC,EAAMuxC,aAAa,IACnBzsB,GAAa,GACbwwB,GAAQ,GApBQ,4EAAH,qDAwBjB,OACE,sBAAKr1C,UAAU,iBAAf,UACE,cAACC,EAAD,CACEK,KAAM,cAAC,GAAD,IACNK,QAAS,kBAAM00C,GAAQ,IACvB70C,QAAS,YACTD,UAAW,OACXH,QAAS,QACTJ,UAAW,oBAEb,cAAC00C,GAAA,EAAD,CAAQvmB,OAAO,QAAQ3U,KAAMk5B,EAAQjtB,QAAS,kBAAM4vB,GAAQ,IAAQtJ,eAAa,EAAjF,SACE,sBAAK/rC,UAAU,kBAAf,UACE,oBAAIA,UAAU,SAAd,mCACA,mBAAGA,UAAU,kBAAb,sFACA,cAAC,GAAD,CAAUoY,MAAO,aAAcgE,YAAa,GAAIC,SAAUtc,EAAMuxC,aAAc90B,aAAczc,EAAMsxC,YAClG,8DACA,cAAC,GAAD,CACE9jC,QAAS,CAAC,WAAY,WAAY,YAClC8O,SAAQ,uCAAE,WAAO2E,EAAQ9Y,GAAf,SAAAiG,EAAA,sDACRpO,EAAMu3C,UAAUpvC,GADR,2CAAF,wDAGRA,MAAOnI,EAAMs3C,OACbzC,cAAY,EACZz2B,kBAAgB,EAChB4tB,eAAa,EACb8I,WAAS,EACTpxB,UAAQ,EACRrF,YAAa,SAAC5Q,GAAD,OACX,cAAC6Q,GAAA,EAAD,2BACM7Q,GADN,IAEE8Q,WAAU,2BACL9Q,EAAO8Q,YADF,IAERC,kBAAkB,EAClBnC,YAAa,wBAInBoC,qBAAsB,SAAC/C,EAAQvT,GAC7B,OAAOuT,IAAWvT,KAGtB,sBAAKlI,UAAU,UAAf,UACE,cAACC,EAAD,CAAQO,QAAQ,YAAYC,KAAK,KAAKE,QAAS,kBAAM00C,GAAQ,IAA7D,oBAGA,cAACp1C,EAAD,CAAQQ,KAAK,KAAKE,QAAS,kBAAMy2C,KAAjC,2BAMN,cAAC/xB,GAAA,EAAD,CAAUC,aAAc,CAAEC,SAAU,MAAOC,WAAY,SAAWhM,KAAMoL,EAAWa,QAAS,kBAAMZ,GAAa,IAAQa,iBAAkB,IAAzI,SACE,cAACC,GAAA,EAAD,CACEF,QAAS,kBAAMZ,GAAa,IAC5Be,SAAUirB,EAAa,QAAU,UACjChrB,GAAI,CAAEnkB,MAAO,QACb4V,OACE,mBAAGtX,UAAU,QAAQW,QAAS,kBAAMkkB,GAAa,IAAjD,mBALJ,SAUGgsB,EAAa,0BAA4B,yBC3FrC,SAASsG,GAAcp3C,GACpC,MAA0BwH,oBAAkB,GAA5C,mBAAOmrC,EAAP,KAAe2C,EAAf,KACA,EAAkC9tC,oBAAkB,GAApD,mBAAOqd,EAAP,KAAkBC,EAAlB,KACA,EAAoCtd,oBAAkB,GAAtD,mBAAOspC,EAAP,KAAmBC,EAAnB,KAEMsG,EAAW,uCAAG,4BAAAjpC,EAAA,+EAEc+B,GAAiBnF,MAAMhL,EAAMg0C,WAAY,CACrEnB,eAAgBrxC,EAAeg2C,SAC/B7E,QAAQ,EACRC,YAAY,IALE,cAEV6E,EAFU,gBAQVrmC,GAAYxG,KAAK,CACrB,CACEuoC,SAAU,WACVD,UAAWuE,EAAgBzD,WAC3BZ,SAAS,oBAAD,OAAsBpzC,EAAMsxC,UAA5B,oBAAiDtxC,EAAMs3C,QAC/DjE,SAAU5xC,EAASuE,QAbP,uDAiBhB+qC,GAAc,GAjBE,yBAmBhB/wC,EAAMuxC,aAAa,IACnBzsB,GAAa,GACbwwB,GAAQ,GArBQ,4EAAH,qDAyBjB,OACE,sBAAKr1C,UAAU,mBAAf,UACE,cAACC,EAAD,CACEK,KAAM,cAAC,GAAD,IACNK,QAAS,kBAAM00C,GAAQ,IACvB70C,QAAS,YACTD,UAAW,OACXH,QAAS,UACTJ,UAAW,oBAGb,cAAC00C,GAAA,EAAD,CAAQvmB,OAAO,QAAQ3U,KAAMk5B,EAAQjtB,QAAS,kBAAM4vB,GAAQ,IAAQtJ,eAAa,EAAjF,SACE,sBAAK/rC,UAAU,kBAAf,UACE,oBAAIA,UAAU,SAAd,qCACA,mBAAGA,UAAU,kBAAb,wFACA,cAAC,GAAD,CAAUoY,MAAO,aAAcgE,YAAa,GAAIC,SAAUtc,EAAMuxC,aAAc90B,aAAczc,EAAMsxC,YAClG,gEACA,cAAC,GAAD,CACE9jC,QAAS,CAAC,WAAY,WAAY,YAClC8O,SAAQ,uCAAE,WAAO2E,EAAQ9Y,GAAf,SAAAiG,EAAA,sDACRpO,EAAMu3C,UAAUpvC,GADR,2CAAF,wDAGRA,MAAOnI,EAAMs3C,OACbzC,cAAY,EACZz2B,kBAAgB,EAChB4tB,eAAa,EACb8I,WAAS,EACTpxB,UAAQ,EACRrF,YAAa,SAAC5Q,GAAD,OACX,cAAC6Q,GAAA,EAAD,2BACM7Q,GADN,IAEE8Q,WAAU,2BACL9Q,EAAO8Q,YADF,IAERC,kBAAkB,EAClBnC,YAAa,wBAInBoC,qBAAsB,SAAC/C,EAAQvT,GAC7B,OAAOuT,IAAWvT,KAGtB,sBAAKlI,UAAU,UAAf,UACE,cAACC,EAAD,CAAQO,QAAQ,YAAYC,KAAK,KAAKE,QAAS,kBAAM00C,GAAQ,IAA7D,oBAGA,cAACp1C,EAAD,CAAQQ,KAAK,KAAKE,QAAS,kBAAMy2C,KAAjC,6BAMN,cAAC/xB,GAAA,EAAD,CAAUC,aAAc,CAAEC,SAAU,MAAOC,WAAY,SAAWhM,KAAMoL,EAAWa,QAAS,kBAAMZ,GAAa,IAAQa,iBAAkB,IAAzI,SACE,cAACC,GAAA,EAAD,CACEF,QAAS,kBAAMZ,GAAa,IAC5Be,SAAUirB,EAAa,QAAU,UACjChrB,GAAI,CAAEnkB,MAAO,QACb4V,OACE,mBAAGtX,UAAU,QAAQW,QAAS,kBAAMkkB,GAAa,IAAjD,qBALJ,SAUGgsB,EAAa,4BAA8B,2BClFtD,SAAS4G,GAAK13C,GAAuC,IAAD,EAClD,OACE,sBAAKC,UAAU,eAAf,UACE,qBAAKA,UAAU,OAAf,SACE,qBAAKA,UAAU,OAAf,mBACGD,EAAMO,YADT,QAEuB,UAAlBP,EAAMS,QACL,cAAC,GAAD,IACoB,SAAlBT,EAAMS,QACR,cAAC,GAAD,IACoB,UAAlBT,EAAMS,QACR,cAAC,GAAD,IACoB,YAAlBT,EAAMS,QACR,cAAC,EAAD,IAEA,OAIR,sBAAKR,UAAU,OAAf,UACE,sBAAKA,UAAU,SAAf,UACE,mBAAGA,UAAU,QAAb,SAAsBD,EAAMurB,SAC3BvrB,EAAM23C,OAAS,cAAC,GAAD,CAAMvc,KAAK,MAAM36B,QAAQ,aAE3C,mBAAGR,UAAU,oBAAb,sBAAwCD,EAAMimB,IAA9C,OAAmDjmB,EAAMs7B,KAAN,kBAAmBK,GAAW37B,EAAMs7B,OAAU,MACjG,qBAAKr7B,UAAU,gBAAf,SAAgCD,EAAMs9B,gBAU/B,SAASsa,GAAa53C,GACnC,MAAwCwH,mBAAiB,IAAzD,mBAAOqwC,EAAP,KAAqBC,EAArB,KAEA,EAAiDtwC,mBAAiB,IAAlE,mBAAOuwC,EAAP,KAA0BC,EAA1B,KACA,EAAkDxwC,mBAAiB,IAAnE,mBAAOywC,EAAP,KAA0BC,EAA1B,KAEA,EAAkD1wC,mBAAiB,IAAnE,mBAAO2wC,EAAP,KAA0BC,EAA1B,KAEA,EAA4C5wC,mBAAiB,IAA7D,mBAAO6wC,EAAP,KAAuBC,EAAvB,KACA,EAAsC9wC,mBAAiB,IAAvD,mBAAO+wC,EAAP,KAAoBC,EAApB,KAEA,EAAgDhxC,mBAAiB,IAAjE,mBAAOixC,EAAP,KAAyBC,EAAzB,KACA,EAA0ClxC,mBAAiB,IAA3D,mBAAOmxC,EAAP,KAAsBC,EAAtB,KAEA,EAAmCC,cAA3BC,EAAR,EAAQA,WAAY9E,EAApB,EAAoBA,WACd/hC,EAAU4M,cAEhB,EAAkCrX,oBAAkB,GAApD,mBAAOuxC,EAAP,KAAkBC,EAAlB,KACA,EAAsCxxC,oBAAkB,GAAxD,mBAAOyxC,EAAP,KAAoBC,EAApB,KAeMC,EAAY,uCAAG,sBAAA/qC,EAAA,+EAEX+B,GAAiBnF,MAAMgpC,EAAY,CACvCnB,eAAgBrxC,EAAe43C,OAC/BzG,QAAQ,EACRC,YAAY,EACZvb,UAAU,IANK,OASbyhB,EAEF7mC,EAAQiN,KAAR,wBAA8B45B,IAG9B7mC,EAAQiN,KAAKjN,EAAQrJ,SAASsd,SAASzN,UAAU,EAAGxG,EAAQrJ,SAASsd,SAAS8D,YAAY,OAd3E,+CAiBjBzd,QAAQC,IAAR,MAjBiB,wDAAH,qDAqBlB,OACE,sBAAKvM,UAAU,wBAAf,UACE,sBAAKA,UAAU,OAAf,UACE,sBAAKA,UAAU,WAAf,UACE,cAACC,EAAD,CAAQQ,KAAK,KAAKH,KAAM,cAAC,GAAD,IAAWC,UAAU,QAAQI,QAAS,kBArChEq4C,GACFC,GAAe,QAEjBF,GAAa,IAkCP,mBAGA,cAAC,GAAD,CAAShF,WAAYA,EAAY1C,UAAWuG,EAActG,aAAcuG,IACxE,cAAC,GAAD,CACE9D,WAAYA,EACZ1C,UAAW2G,EACX1G,aAAc2G,EACdxC,eAAgBqC,EAChBnC,kBAAmBoC,OAGvB,sBAAK/3C,UAAU,WAAf,UACE,cAACC,EAAD,CACEK,KAAM,cAAC,GAAD,IACNK,QAAS,kBA9Cbm4C,GACFC,GAAa,QAEfE,GAAe,IA4CPz4C,QAAS,YACTD,UAAW,OACXH,QAAS,UACTJ,UAAW,oBAGb,cAAC,GAAD,CAAU+zC,WAAYA,EAAY1C,UAAW6G,EAAmB5G,aAAc6G,IAC9E,cAAC,GAAD,CAAMpE,WAAYA,EAAY1C,UAAW6G,EAAmB5G,aAAc6G,IAE1E,cAAC,GAAD,CACEpE,WAAYA,EACZ1C,UAAWmH,EACXlH,aAAcmH,EACdpB,OAAQqB,EACRpB,UAAWqB,IAEb,cAAC14C,EAAD,CACEK,KAAM,cAAC,GAAD,IACNK,QAAS,kBAAMu4C,KACf14C,QAAS,YACTD,UAAW,OACXH,QAAS,iBACTJ,UAAW,oBAEb,cAACm3C,GAAD,CACEpD,WAAYA,EACZ1C,UAAW+G,EACX9G,aAAc+G,EACdhB,OAAQiB,EACRhB,UAAWiB,UAIjB,qBAAKv4C,UAAU,OAAf,SACE,cAAC,KAAD,CAA4BuN,QAAS,CAAEisB,iBAAiB,EAAMC,YAAY,EAAMC,iBAAiB,GAAjG,SACE,gCACE,cAAC+d,GAAD,CAAMnsB,OAAO,aAAatF,GAAG,gBAAgBqV,KAAK,aAAagC,QAAQ,gCAAgCqa,OAAO,EAAMl3C,QAAQ,UAC5H,cAACi3C,GAAD,CAAMnsB,OAAO,WAAWtF,GAAG,KAAKqV,KAAK,aAAagC,QAAQ,6BAA6Bqa,OAAO,EAAMl3C,QAAQ,SAC5G,cAACi3C,GAAD,CAAMnsB,OAAO,wBAAwBtF,GAAG,gBAAgBqV,KAAK,aAAagC,QAAQ,iBAAiB78B,QAAQ,UAAUk3C,OAAO,IAC5H,cAACD,GAAD,CACEnsB,OAAO,yBACPtF,GAAG,KACHqV,KAAK,aACLgC,QAAQ,yCACR78B,QAAQ,QACRk3C,OAAO,IAET,cAACD,GAAD,CACEnsB,OAAO,wBACPtF,GAAG,gBACHqV,KAAK,aACLgC,QAAQ,wKACR78B,QAAQ,UACRk3C,OAAO,IAET,cAACD,GAAD,CAAMnsB,OAAO,aAAatF,GAAG,gBAAgBqV,KAAK,aAAagC,QAAQ,gCAAgCqa,OAAO,EAAOl3C,QAAQ,UAC7H,cAACi3C,GAAD,CAAMnsB,OAAO,WAAWtF,GAAG,KAAKqV,KAAK,aAAagC,QAAQ,6BAA6Bqa,OAAO,EAAMl3C,QAAQ,SAC5G,cAACi3C,GAAD,CAAMnsB,OAAO,wBAAwBtF,GAAG,gBAAgBqV,KAAK,aAAagC,QAAQ,iBAAiB78B,QAAQ,UAAUk3C,OAAO,IAC5H,cAACD,GAAD,CACEnsB,OAAO,yBACPtF,GAAG,KACHqV,KAAK,aACLgC,QAAQ,yCACR78B,QAAQ,QACRk3C,OAAO,IAET,cAACD,GAAD,CACEnsB,OAAO,wBACPtF,GAAG,gBACHqV,KAAK,aACLgC,QAAQ,wKACR78B,QAAQ,UACRk3C,OAAO,WAKb,cAAC,GAAD,CAEEv3C,MAAO,+BACPqZ,KAAMs/B,EAEN7I,eAAgB,CACd,CAAEtpC,GAAI,IAAKyR,MAAO,iBAClB,CAAEzR,GAAI,IAAKyR,MAAO,gBAClB,CAAEzR,GAAI,IAAKyR,MAAO,cAClB,CAAEzR,GAAI,IAAKyR,MAAO,sBAClB,CAAEzR,GAAI,IAAKyR,MAAO,gBAEpB42B,UAAW,CAAC,CAAEroC,GAAI,IAAKyR,MAAO,kBAC9Bw2B,aAAc,CACZsB,aAAa,EACbf,MAAO,QAEPN,MAAO,CAAC,CAAEloC,GAAI,IAAKyR,MAAO,kBAC1B02B,SAAU,CACR,CAAEnoC,GAAI,IAAKyR,MAAO,iBAClB,CAAEzR,GAAI,IAAKyR,MAAO,gBAClB,CAAEzR,GAAI,IAAKyR,MAAO,cAClB,CAAEzR,GAAI,IAAKyR,MAAO,sBAClB,CAAEzR,GAAI,IAAKyR,MAAO,iBAItBi4B,WAAY,kBAAM,GAClBG,qBAAsB,kBAAM,GAC5B/qB,QAAS,kBAAMszB,GAAa,MAE9B,cAAC,GAAD,CAEE54C,MAAO,wCACPqZ,KAAMw/B,EAENhK,UAAW,CAAC,CAAEroC,GAAI,IAAKyR,MAAO,kBAC9Bk3B,aAAc,iBACdE,YAAW,oFAKXM,aAAc,GAEdG,eAAgB,CACd,CAAEtpC,GAAI,IAAKyR,MAAO,iBAClB,CAAEzR,GAAI,IAAKyR,MAAO,gBAClB,CAAEzR,GAAI,IAAKyR,MAAO,cAClB,CAAEzR,GAAI,IAAKyR,MAAO,sBAClB,CAAEzR,GAAI,IAAKyR,MAAO,gBAGpBi4B,WAAY,kBAAM,GAClBG,qBAAsB,kBAAM,GAC5B/qB,QAAS,kBAAMwzB,GAAe,S,yCC1PzB,SAASG,GAAOr5C,GAC7B,IAeqB,EAqB8B,EAyDC,gBA7FpD,EAAgCwH,mBAAS,YAAzC,mBAAO8xC,EAAP,KAAiBC,EAAjB,KAGA,SAASC,EAAkBzgC,GAGjB,IAAD,EAFHA,EACF0gC,UAAUC,UAAUC,UAApB,OAA8B5gC,QAA9B,IAA8BA,IAAS,OAEvC0gC,UAAUC,UAAUC,UAApB,UAA+B35C,EAAMwxB,QAAmBrpB,aAAxD,QAAiE,OAEnEoxC,GAAY,iBAAM,aAClB1gC,YAAW,WACT0gC,GAAY,iBAAM,gBACjB,MAGL,OAAIv5C,EAAM8e,UAEN,sBAAK7e,UAAS,mCAAoBD,EAAMC,iBAA1B,QAAuC,IAArD,UACE,qBAAKA,UAAU,MAAf,SACE,cAACkhC,GAAA,EAAD,CAAU1gC,QAAQ,cAAckB,MAAO,GAAIC,OAAQ,GAAIw/B,UAAU,WAEnE,qBAAKnhC,UAAU,UAAf,SACE,sBAAKA,UAAU,MAAf,UACE,mBAAGA,UAAU,QAAb,SACE,cAACkhC,GAAA,EAAD,CAAU1gC,QAAQ,OAAOkB,MAAO,GAAIC,OAAQ,GAAIw/B,UAAU,WAE5D,qBAAKnhC,UAAU,eAAf,SACE,cAACkhC,GAAA,EAAD,CAAU1gC,QAAQ,OAAOkB,MAAO,IAAKC,OAAQ,GAAIw/B,UAAU,aALtC,cAc7BphC,EAAMwxB,SAAWb,MAAMC,QAAQ5wB,EAAMwxB,SAEnCxxB,EAAMwxB,QAAQ0E,OAAM,SAAC5D,GAAD,OAAqC,OAAjBA,EAAOnqB,SAC1C,6BAIP,sBAAKlI,UAAS,mCAAoBD,EAAMC,iBAA1B,QAAuC,IAArD,UACE,qBAAKA,UAAU,MAAf,SAAsBD,EAAMO,OAC5B,qBAAKN,UAAU,UAAf,SACGD,EAAMwxB,QAAQ/V,KAAI,SAAC6W,EAAgB9K,GAAmB,IAAD,EACpD,OAAO8K,EAAOnqB,MACZ,sBAAKlI,UAAU,MAAkB6b,MAAO,CAAE89B,IAAKtnB,EAAOlyB,MAAQ,MAAQ,OAAtE,UACGkyB,EAAOlyB,OACN,oBAAGH,UAAU,QAAb,UACGqyB,EAAOlyB,MACPkyB,EAAOunB,SACN,cAAC15C,EAAA,EAAD,CAASC,MAAOkyB,EAAOunB,QAASnwB,UAAU,QAAQC,OAAK,EAAvD,SACE,cAACE,GAAA,EAAD,CAAYnpB,KAAK,QAAjB,SACE,cAAC,GAAD,WAMV,sBAAKT,UAAU,eAAf,UACqB,UAAlBqyB,EAAOzK,OACN,mBAAG5nB,UAAU,OAAO+Z,KAAI,wBAAYsY,QAAZ,IAAYA,OAAZ,EAAYA,EAAQnqB,OAA5C,gBACGmqB,QADH,IACGA,OADH,EACGA,EAAQnqB,QAEQ,QAAjBmqB,EAAOzK,OACT,mBAAG5nB,UAAU,OAAO+Z,KAAI,yBAAasY,QAAb,IAAaA,OAAb,EAAaA,EAAQnqB,OAA7C,gBACGmqB,QADH,IACGA,OADH,EACGA,EAAQnqB,QAES,QAAlBmqB,EAAOzK,OACT,mBAAG5nB,UAAU,OAAb,SAAqB2X,GAAMwJ,kBAAN,iBAAwBkR,QAAxB,IAAwBA,OAAxB,EAAwBA,EAAQnqB,aAAhC,QAAyC,SAE9D,mBAAGlI,UAAU,OAAb,gBAAqBqyB,QAArB,IAAqBA,OAArB,EAAqBA,EAAQnqB,QAE9BmqB,EAAOwnB,iBACN,qCACE,cAAC,GAAD,CAASl5C,QAAS,wBAAM44C,EAAiB,iBAAClnB,QAAD,IAACA,OAAD,EAACA,EAAQnqB,aAAT,QAAkB,UAC3D,qBAAKlI,UAAWq5C,EAAhB,4BA9BkB9xB,GAoC1B,WASRxnB,EAAMwxB,UAAYb,MAAMC,QAAQ5wB,EAAMwxB,WACjC,UAAAxxB,EAAMwxB,eAAN,eAAerpB,OACpB,sBAAKlI,UAAS,mCAAoBD,EAAMC,iBAA1B,QAAuC,IAArD,UACGD,EAAMO,KAAO,qBAAKN,UAAU,MAAf,SAAsBD,EAAMO,OAAc,qBAAKN,UAAU,WACvE,qBAAKA,UAAU,UAAf,SACE,sBAAKA,UAAU,MAAkB6b,MAAO,CAAE89B,IAAK55C,EAAMwxB,QAAQpxB,MAAQ,MAAQ,OAA7E,UACGJ,EAAMwxB,QAAQpxB,OACb,oBAAGH,UAAU,QAAb,UACGD,EAAMwxB,QAAQpxB,MACdJ,EAAMwxB,QAAQqoB,SACb,cAAC15C,EAAA,EAAD,CAASC,MAAOJ,EAAMwxB,QAAQqoB,QAASnwB,UAAU,QAAQC,OAAK,EAA9D,SACE,cAACE,GAAA,EAAD,CAAYnpB,KAAK,QAAjB,SACE,cAAC,GAAD,WAMV,sBAAKT,UAAU,eAAf,UAC4B,UAAzBD,EAAMwxB,QAAQ3J,OACb,mBAAG5nB,UAAU,OAAO+Z,KAAI,2BAAYha,EAAMwxB,eAAlB,aAAY,EAAerpB,OAAnD,mBACGnI,EAAMwxB,eADT,aACG,EAAerpB,QAEQ,QAAxBnI,EAAMwxB,QAAQ3J,OAChB,mBAAG5nB,UAAU,OAAO+Z,KAAI,4BAAaha,EAAMwxB,eAAnB,aAAa,EAAerpB,OAApD,mBACGnI,EAAMwxB,eADT,aACG,EAAerpB,QAES,QAAzBnI,EAAMwxB,QAAQ3J,OAChB,mBAAG5nB,UAAU,OAAb,SAAqB2X,GAAMwJ,kBAAN,UAAwBphB,EAAMwxB,eAA9B,aAAwB,EAAerpB,SAE5D,mBAAGlI,UAAU,OAAb,mBAAqBD,EAAMwxB,eAA3B,aAAqB,EAAerpB,QAErCnI,EAAMwxB,QAAQsoB,iBACb,qCACE,cAAC,GAAD,CAASl5C,QAAS,kBAAM44C,OACxB,qBAAKv5C,UAAWq5C,EAAhB,4BA9BiB,cA2C1B,6B,OC5JM,SAASS,KAItB,OACE,sBAAK95C,UAAU,uBAAf,UACE,eAAC+5C,GAAA,EAAD,CAAWC,iBAAe,EAACC,gBAAc,EAAzC,UACE,cAACC,GAAA,EAAD,CAAkBC,WAAY,cAAC,GAAD,IAA9B,SACE,mBAAGn6C,UAAU,cAAb,4BAEF,eAACo6C,GAAA,EAAD,WACE,cAAC,GAAD,CAAQ95C,KAAM,cAAC,GAAD,IAAWixB,QAAS,CAAErpB,MAAO,iBAAkB0f,OAAQ,SACrE,cAAC,GAAD,CAAQtnB,KAAM,cAAC,GAAD,IAAWixB,QAAS,CAAErpB,MAAO,wBAAyB0f,OAAQ,iBAGhF,eAACmyB,GAAA,EAAD,CAAWC,iBAAe,EAACC,gBAAc,EAAzC,UACE,cAACC,GAAA,EAAD,CAAkBC,WAAY,cAAC,GAAD,IAA9B,SACE,mBAAGn6C,UAAU,cAAb,wBAEF,eAACo6C,GAAA,EAAD,WACE,cAAC,GAAD,CAAQ95C,KAAM,cAAC,EAAD,IAAaixB,QAAS,CAAEpxB,MAAO,gBAAiB+H,MAAO,mBACrE,cAAC,GAAD,CAAQ5H,KAAM,cAAC,EAAD,IAAaixB,QAAS,CAAEpxB,MAAO,gBAAiB+H,MAAO,SACrE,cAACjI,EAAD,CAAQQ,KAAK,KAAKD,QAAQ,YAAYG,QAAS,WApBrD2L,QAAQ8X,KAAK,mBAoBP,2C,WCtBJi2B,GAAY,CAChB,CACE1zC,GAAI,IACJmN,KAAM,gBACNwmC,UAAW,gBACXz5C,KAAM,gBACN05C,YAAa,cAEf,CACE5zC,GAAI,IACJmN,KAAM,cACNwmC,UAAW,gBACXz5C,KAAM,mBACN05C,YAAa,cAEf,CACE5zC,GAAI,IACJmN,KAAM,iBACNwmC,UAAW,gBACXz5C,KAAM,mBACN05C,YAAa,cAEf,CACE5zC,GAAI,IACJmN,KAAM,OACNwmC,UAAW,gBACXz5C,KAAM,qBACN05C,YAAa,cAEf,CACE5zC,GAAI,IACJmN,KAAM,gBACNwmC,UAAW,gBACXz5C,KAAM,KACN05C,YAAa,cAEf,CACE5zC,GAAI,IACJmN,KAAM,gBACNwmC,UAAW,gBACXz5C,KAAM,QACN05C,YAAa,eAYjB,SAAS73C,GAAW3C,GAIlB,OACE,sBAAKC,UAAU,2BAA2BW,QAAS,WAHnD2L,QAAQ8X,KAAR,8BAAoCrkB,EAAM4G,MAG1C,UACE,sBAAK3G,UAAU,OAAf,UACE,mBAAGA,UAAU,QAAb,SAAsBD,EAAM+T,OAC5B,mBAAG9T,UAAU,QAAb,SAAsBD,EAAMu6C,eAE9B,sBAAKt6C,UAAU,OAAf,UACE,mBAAGA,UAAU,UAAb,SAAwBD,EAAMc,OAC9B,mBAAGb,UAAU,UAAb,SAAwB07B,GAAW37B,EAAMw6C,qBAMlC,SAASC,KACtB,MAAwBjzC,mBAAiB,QAAzC,mBAAOkN,EAAP,KAAagmC,EAAb,KAEA,OACE,sBAAKz6C,UAAU,0BAAf,UACE,qBAAKA,UAAU,OAAf,SACE,cAAC,GAAD,CACEM,KAAM,cAAC,GAAD,IACNqrB,UAAU,QACVnP,aAAc,eACd7b,QAAS,SAACmrB,GACR2uB,EAAQ3uB,IAEVve,QAAS,CACP,CACErF,MAAO,eACPvB,GAAI,eACJmlB,aAAc,QAEhB,CACE5jB,MAAO,eACPvB,GAAI,eACJmlB,aAAc,QAEhB,CACE5jB,MAAO,eACPvB,GAAI,eACJmlB,aAAc,aAKtB,qBAAK9rB,UAAU,OAAf,SACE,cAAC,KAAD,CAA4BuN,QAAS,CAAEisB,iBAAiB,EAAMC,YAAY,EAAMC,iBAAiB,GAAjG,SACE,8BACG2gB,GAAU5lC,MAAK,SAACtG,EAAG4G,GAClB,OAAQN,GAON,QACE,OAAOtG,EAAE2F,OAASiB,EAAEjB,KAAQ3F,EAAEtN,KAAOkU,EAAElU,MAAQ,EAAI,EAAKsN,EAAE2F,KAAOiB,EAAEjB,MAAQ,EAAI,EALjF,IAAK,OACH,OAAO3F,EAAEtN,OAASkU,EAAElU,KAAQsN,EAAE2F,KAAOiB,EAAEjB,MAAQ,EAAI,EAAK3F,EAAEtN,KAAOkU,EAAElU,MAAQ,EAAI,EACjF,IAAK,OACH,OAAOsN,EAAEosC,cAAgBxlC,EAAEwlC,YAAepsC,EAAE2F,KAAOiB,EAAEjB,MAAQ,EAAI,EAAK3F,EAAEosC,YAAcxlC,EAAEwlC,aAAe,EAAI,MAI9G/+B,KAAI,SAAC3B,EAA8F0N,GACpG,OACE,cAAC,GAAD,CAEE5gB,GAAIkT,EAASlT,GACbmN,KAAM+F,EAAS/F,KACfwmC,UAAWzgC,EAASygC,UACpBz5C,KAAMgZ,EAAShZ,KACf05C,YAAa1gC,EAAS0gC,aANxB,qBACqBhzB,gB,ICtHhCmzB,G,OASU,SAASC,GAAY56C,GAClC,MAAsBwH,mBAAemzC,GAAKE,SAA1C,mBAAOta,EAAP,KAAYua,EAAZ,KAEA,OACE,sBAAK76C,UAAU,uBAAf,UACE,sBAAKA,UAAU,OAAf,UACE,sBAAKA,UAAU,eAAf,UACE,mBAAGA,UAAS,cAASsgC,IAAQoa,GAAKE,QAAU,aAAe,GAA/C,UAA2Dj6C,QAAS,kBAAMk6C,EAAOH,GAAKE,UAAlG,qBAGA,mBAAG56C,UAAS,cAASsgC,IAAQoa,GAAKI,YAAc,aAAe,GAAnD,UAA+Dn6C,QAAS,kBAAMk6C,EAAOH,GAAKI,cAAtG,4BAIF,qBAAK96C,UAAU,eAAf,SACE,cAAC,GAAD,CACEM,KAAM,cAAC,GAAD,IACNqrB,UAAU,OACVnP,aAAc,UACd7b,QAAS,SAACmrB,GAAD,OAA0Bxf,QAAQ8X,KAAK0H,IAChDve,QAAS,CACP,CACErF,MAAO,WACPvB,GAAI,WACJmlB,aAAc,YAEhB,CACE5jB,MAAO,WACPvB,GAAI,WACJmlB,aAAc,oBAMxB,sBAAK9rB,UAAU,OAAf,UACGsgC,IAAQoa,GAAKE,SAAW,cAACd,GAAD,IACxBxZ,IAAQoa,GAAKI,aAAe,cAACN,GAAD,W,SA9ChCE,O,qBAAAA,I,8BAAAA,Q,gBCLQK,GAAkB3zC,IAAMC,cAAmC,MA6BzD2zC,GAvB2C,SAAC,GAAyC,IAAvCj6C,EAAsC,EAAtCA,SAC3D,EAA8BwG,mBAA+B,IAA7D,mBAAOuH,EAAP,KAAgBiS,EAAhB,KADiG,4CAIjG,WAAkCpa,GAAlC,SAAAwH,EAAA,+EACS4B,GAAgBkrC,mBAAmBt0C,GAAInH,MAAK,SAACyN,GAElD,OADA8T,EAAW9T,GACJA,MAHX,4CAJiG,sBAWjG,OACE,cAAC8tC,GAAgB9yC,SAAjB,CACEC,MAAO,CACL+yC,mBAd2F,4CAe3FnsC,WAHJ,SAMG/N,KCnBQ,SAASm6C,KACtB,IAAQrC,EAAeD,cAAfC,WACAoC,EAAuB7zC,IAAMsT,WAAWqgC,IAAxCE,mBAUR,OARAhgC,qBAAU,YACR,uCAAC,sBAAA9M,EAAA,0DACK0qC,EADL,gCAESoC,EAAmBpC,GAF5B,2CAAD,yDAKC,IAGD,sBAAK74C,UAAU,0BAAf,UACE,cAAC,GAAD,IACA,sBAAKA,UAAU,OAAf,UACE,qBAAKA,UAAU,OAAf,SACE,cAAC,GAAD,MAEF,qBAAKA,UAAU,QAAf,SACE,cAAC,GAAD,Y,OCnBK,SAASm7C,KACtB,IAAQp1B,EAASoD,cAATpD,KAER,OACE,sBAAK/lB,UAAW,qBAAhB,UACE,qBAAKA,UAAW,OAAhB,SACE,eAAC,IAAD,WACE,cAAC,IAAD,CACEkmB,OAAK,EACLH,KAAM,CAAC,GAAD,OAAIA,EAAJ,mBAAoBA,EAApB,8BAA+CA,EAA/C,0BAAsEA,EAAtE,mBACNkT,UAAW,WACT,OACE,cAAC,GAAD,CACE6G,KAAM,CACJ,CAAE1G,YAAa,SAAUqH,UAAW,2BACpC,CAAErH,YAAa,cAAeqH,UAAW,qCACzC,CAAErH,YAAa,SAAUqH,UAAW,iCACpC,CAAErH,YAAa,WAAYqH,UAAW,oCAExCE,SAAQ,UAAK5a,EAAL,cAKhB,cAAC,IAAD,CACEG,OAAK,EACLH,KAAI,UAAKA,EAAL,qBACJkT,UAAW,WACT,OACE,cAAC,GAAD,CACE6G,KAAM,CACJ,CAAE1G,YAAa,SAAUqH,UAAW,2BACpC,CAAErH,YAAa,cAAeqH,UAAW,qCACzC,CAAErH,YAAa,SAAUqH,UAAW,iCACpC,CAAErH,YAAa,WAAYqH,UAAW,oCAExCQ,gBAAgB,kBAChBD,UAAS,UAAKjb,EAAL,SACT4a,SAAQ,UAAK5a,EAAL,cAKhB,cAAC,IAAD,CACEG,OAAK,EACLH,KAAM,CAAC,GAAD,OAAIA,EAAJ,yBAA0BA,EAA1B,gCAAuDA,EAAvD,yBACNkT,UAAW,WACT,OACE,cAAC,GAAD,CACE6G,KAAM,CACJ,CAAE1G,YAAa,cAAeqH,UAAW,sBACzC,CAAErH,YAAa,SAAUqH,UAAW,4BACpC,CAAErH,YAAa,WAAYqH,UAAW,+BAExCE,SAAQ,UAAK5a,EAAL,oBAKhB,cAAC,IAAD,CACEG,OAAK,EACLH,KAAM,CAAC,GAAD,OAAIA,EAAJ,4BACNkT,UAAW,WACT,OACE,cAAC,GAAD,CACE6G,KAAM,CACJ,CAAE1G,YAAa,cAAeqH,UAAW,sBACzC,CAAErH,YAAa,SAAUqH,UAAW,4BACpC,CAAErH,YAAa,WAAYqH,UAAW,+BAExCQ,gBAAgB,wBAChBD,UAAS,UAAKjb,EAAL,eACT4a,SAAQ,UAAK5a,EAAL,oBAKhB,cAAC,IAAD,CACEG,OAAK,EACLH,KAAM,CAAC,GAAD,OAAIA,EAAJ,kBAAmBA,EAAnB,6BAA6CA,EAA7C,yBAAmEA,EAAnE,kBACNkT,UAAW,WACT,OACE,cAAC,GAAD,CACE6G,KAAM,CACJ,CAAE1G,YAAa,SAAUqH,UAAW,2BACpC,CAAErH,YAAa,cAAeqH,UAAW,qCACzC,CAAErH,YAAa,SAAUqH,UAAW,iCACpC,CAAErH,YAAa,WAAYqH,UAAW,oCAExCE,SAAQ,UAAK5a,EAAL,aAKhB,cAAC,IAAD,CACEG,OAAK,EACLH,KAAM,CAAC,GAAD,OAAIA,EAAJ,qBACNkT,UAAW,WACT,OACE,cAAC,GAAD,CACE6G,KAAM,CACJ,CAAE1G,YAAa,SAAUqH,UAAW,2BACpC,CAAErH,YAAa,cAAeqH,UAAW,qCACzC,CAAErH,YAAa,SAAUqH,UAAW,iCACpC,CAAErH,YAAa,WAAYqH,UAAW,oCAExCQ,gBAAgB,iBAChBD,UAAS,UAAKjb,EAAL,QACT4a,SAAQ,UAAK5a,EAAL,kBAOpB,qBAAK/lB,UAAW,OAAhB,SACE,eAAC,IAAD,WACE,cAAC,IAAD,CACEkmB,OAAK,EACLH,KAAM,CAAC,GAAD,OAAIA,EAAJ,mBAAoBA,EAApB,8BAA+CA,EAA/C,0BAAsEA,EAAtE,mBACNkT,UAAW,WACT,OAAO,cAACic,GAAD,OAGX,cAAC,IAAD,CACEhvB,OAAK,EACLH,KAAM,CAAC,GAAD,OAAIA,EAAJ,sBACNkT,UAAW,WACT,OAAO,cAAC,GAAD,OAGX,cAAC,IAAD,CACE/S,OAAK,EACLH,KAAM,CAAC,GAAD,OAAIA,EAAJ,yBAA0BA,EAA1B,gCAAuDA,EAAvD,yBACNkT,UAAW,WACT,OAAO,cAAC,GAAD,OAGX,cAAC,IAAD,CACE/S,OAAK,EACLH,KAAM,CAAC,GAAD,OAAIA,EAAJ,4BACNkT,UAAW,WACT,OAAO,cAAC,GAAD,OAGX,cAAC,IAAD,CACE/S,OAAK,EACLH,KAAM,CAAC,GAAD,OAAIA,EAAJ,kBAAmBA,EAAnB,6BAA6CA,EAA7C,yBAAmEA,EAAnE,kBACNkT,UAAW,WACT,OAAO,cAAC,GAAD,OAGX,cAAC,IAAD,CACE/S,OAAK,EACLH,KAAM,CAAC,GAAD,OAAIA,EAAJ,qBACNkT,UAAW,WACT,OAAO,cAAC,GAAD,eC/JrB,IAAM6b,GAAU,CACd,CACEzmB,OAAQ,iBACRiE,SAAU,iBACV5wB,MAAO,MACPwsB,YAAY,EACZM,iBAAkB,UAClBK,UAAU,EACVK,iBAAkB,gBAClBsD,iBAAkB,WAClBsH,UAAW,OACXjD,KAAM,SAAC92B,GAAD,OAAqCk8B,GAAWkC,aAAap+B,EAAMmI,OAAO,KAElF,CACEmmB,OAAQ,SACRiE,SAAU,SACV5wB,MAAO,SACPwsB,YAAY,EACZM,iBAAkB,6BAClBK,UAAU,EACVK,iBAAkB,SAClBJ,UAAW,qCACX0D,iBAAkB,WAClBsH,UAAW,OACXjD,KAAM,SAAC92B,GAAD,OACJk8B,GAAW2I,aAAa7kC,EAAMs1B,IAAIsB,SAAS7J,SAAU/sB,EAAMmI,OAAO,KAEtE,CACEmmB,OAAQ,eACRiE,SAAU,eACV5wB,MAAO,MACPwsB,YAAY,EACZM,iBAAkB,iBAClBK,UAAU,EACVK,iBAAkB,cAClBJ,UAAW,6BACX0D,iBAAkB,WAClBsH,UAAW,OACXjD,KAAM,SAAC92B,GAAD,OAAqCk8B,GAAWP,WAAW37B,EAAMmI,OAAO,KAEhF,CACEmmB,OAAQ,WACRiE,SAAU,WACV5wB,MAAO,MACPwsB,YAAY,EACZM,iBAAkB,iBAClBK,UAAU,EACVK,iBAAkB,iBAClBJ,UAAW,gCACX0D,iBAAkB,WAClBsH,UAAW,OACXjD,KAAM,SAAC92B,GAAD,OAAqCk8B,GAAWP,WAAW37B,EAAMmI,OAAO,KAEhF,CACEmmB,OAAQ,iBACRiE,SAAU,iBACV5wB,MAAO,SACPwsB,YAAY,EACZM,iBAAkB,UAClBK,UAAU,EACVK,iBAAkB,gBAClBJ,UAAW,+BACX0D,iBAAkB,KAClBsH,UAAW,QACXjD,KAAM,SAAC92B,GAAD,OAAqCk8B,GAAWoC,eAAet+B,EAAMmI,OAAO,KAEpF,CACEmmB,OAAQ,qBACRiE,SAAU,qBACV5wB,MAAO,QACPwsB,YAAY,EACZM,iBAAkB,UAClBK,UAAU,EACVK,iBAAkB,qBAClBJ,UAAW,oCACX0D,iBAAkB,KAClBsH,UAAW,QACXjD,KAAM,SAAC92B,GAAD,OAAqCk8B,GAAWmC,aAAar+B,EAAMmI,OAAO,MAOrE,SAASkzC,KAAsC,IAAD,EACrDppC,EAAU4M,cACRi6B,EAAeD,cAAfC,WACA/pC,EAAY1H,IAAMsT,WAAWqgC,IAA7BjsC,QACR,EAAgCvH,oBAAkB,GAAlD,mBAAOsX,EAAP,KAAkBC,EAAlB,KACA,EAA4BvX,oBAAkB,GAA9C,mBAAOsxB,EAAP,KAAgB7E,EAAhB,KACA,EAAwCzsB,mBAAiB,IAAzD,mBAAO2L,EAAP,KAAqBkW,EAArB,KACA,EAAkC7hB,mBAAsB,IAAxD,mBAAO+pB,EAAP,KAAkB2C,EAAlB,KACA,EAAkC1sB,mBAAiB,GAAnD,mBAAO4tB,EAAP,KAAkBjB,EAAlB,KACA,EAAoC3sB,mBAAiB,GAArD,mBAAOqG,EAAP,KAAmBktB,EAAnB,KACA,EAAoCvzB,mBAAiB,GAArD,mBAAOkqB,EAAP,KAAmB0C,EAAnB,KAgCA,OACE,cAAC,GAAD,CACEhD,SAAU,CACR,CACExqB,GAAI,WACJyyB,YAAa,WACbrB,eAAgB,YAChB9qB,KAAM,CACJqkB,UAAWA,EACX2C,aAAcA,EACdR,UAAWzjB,GAAeyc,oBAC1BmH,YAzCU,SAACD,EAA6CnzB,GAAkD,IAAD,IACjH,wBACEmzB,QADF,IACEA,GADF,UACEA,EAAa1kB,eADf,aACE,EAAsBuM,KAAI,SAACgjB,GACzB,OAAO,wCACY,OAAZh+B,GAAgC,QAAZA,IAAsB,CAC7CmG,GAAI63B,EAAOuG,aAEI,WAAZvkC,GAAoC,QAAZA,IAAsB,CACjDksB,eAAgB8R,EAAO7R,cACvBE,OAAQ2R,EAAO3R,OACfwuB,aAAc7c,EAAO8c,YACrBxuB,SAAU0R,EAAOzR,eACjBke,eAAgBzM,EAAO0M,cACvBle,mBAAoBwR,EAAOvR,qBAEb,QAAZzsB,GAAqB,CACvBo2B,qBAAiB3qB,EACjBmrB,cAAUnrB,cAhBlB,QAmBQ,KAuBFslB,QAASujB,GACTlc,OAAQ,CACN7I,eAAe,GAAD,wBAAKjhB,QAAL,IAAKA,OAAL,EAAKA,EAASgF,YAAd,QAAsB,MAAtB,uBAEhB0mB,eAtBR,SAAwB1f,EAAoCua,GAAqC,IAAD,EAC9F4J,eAAej1B,QAAQ,WAAYgI,EAAQrJ,SAASsd,UACpDjU,EAAQiN,KAAR,iCAA6BoW,EAAIsB,SAAShwB,UAA1C,QAAgD,MAqB1CyxB,YAAa,gCACbE,iBAAkB,OAClBnF,kBAAmB,CACjB,CACEE,MAAO,kBACPC,kBAAkB,mBAAD,OAAqBulB,EAArB,mCAKzB9kB,OAAQ,CACNlV,UAAWA,EACXC,WAAYA,EACZ+Z,QAASA,EACT7E,SAAUA,EACV9gB,aAAcA,EACdkW,gBAAiBA,GAEnBoI,WAAY,CACV2D,UAAWA,EACXjB,aAAcA,EACdtmB,WAAYA,EACZktB,cAAeA,EACfrJ,WAAYA,EACZ0C,cAAeA,GAEjBsB,QAAS,CACP8D,eAAe,EACfZ,eAAe,EACfF,aAAa,EACb/C,eAAe,EACfgD,gBAAgB,K,OCtKT,SAASrjB,GAAQtV,GAC9B,MAA0BwH,mBAAiB,IAA3C,mBAAOumB,EAAP,KAAcC,EAAd,KACMwtB,EAAU99B,iBAAuB,MAFgC,4CAIvE,sBAAAtP,EAAA,6DACEpO,EAAM+e,YAAW,GADnB,SAGI/e,EAAMq3C,cAHV,SAIUjmC,GAAYxG,KAAK,CACrB,CACEuoC,SAAUnzC,EAAMmzC,SAChBD,UAAWlzC,EAAMkzC,UACjBE,SAAUrlB,EACVslB,SAAU,UATlB,uBAYUrzC,EAAMy7C,eAZhB,uDAcIlvC,QAAQ8X,KAAR,MAdJ,QAgBErkB,EAAM+e,YAAW,GAhBnB,0DAJuE,sBAuBvE,OACE,qBAAK9e,UAAS,UAAd,SACGD,EAAM2yC,QACL,sBAAK1yC,UAAS,cAAiByc,IAAK8+B,EAApC,UACE,cAAC,GAAD,CAAUn/B,YAAa,GAAIC,SAAU0R,EAAUrR,SAAU3c,EAAM07C,cAC/D,sBAAKz7C,UAAS,cAAd,UACE,cAACC,EAAD,CACEO,QAAQ,YACRC,KAAK,KACLE,QAAS,WACPZ,EAAMq3C,cACNrpB,EAAS,KALb,oBAUA,cAAC9tB,EAAD,CAAQO,QAAQ,UAAUC,KAAK,KAAKG,UAAWktB,EAAOntB,QAAS,kBAvCF,0CAuCQ6oB,IAArE,0B,OClCZ,SAASkyB,GAAQ37C,GAAiD,IAAD,kBAEzD47C,EAdR,SAA2BxgB,GACzB,GAAIA,EAAK7iB,OAAS,IAChB,OAAO6iB,EAAK7iB,OAEZ,IAAMsjC,EAAYzgB,EAAK0gB,QAAQ,IAAK,KACpC,OAAsB,IAAfD,EAAmBzgB,EAAK7iB,OAASsjC,EASnBE,CAAiB,iBAAC/7C,QAAD,IAACA,GAAD,UAACA,EAAOg8C,YAAR,aAAC,EAAa5I,gBAAd,QAA0B,IAC5D6I,GAAoB,iBAACj8C,QAAD,IAACA,GAAD,UAACA,EAAOg8C,YAAR,iBAAC,EAAa5I,gBAAd,aAAC,EAAuB76B,cAAxB,QAAkC,GAAKqjC,EACjE,EAA8Bp0C,oBAAmBy0C,GAAjD,mBAAOC,EAAP,KAAgBC,EAAhB,KAEA,OACE,sBAAKl8C,UAAS,WAAd,UACE,qBAAKA,UAAS,OAAd,SACE,oBAAGA,UAAS,OAAZ,UACGD,EAAMg8C,KAAKI,gBADd,QACwC,OAALp8C,QAAK,IAALA,GAAA,UAAAA,EAAOg8C,YAAP,eAAaxH,SAAU7Y,GAAW37B,EAAMg8C,KAAKxH,SAAW,WAG7F,qBAAKv0C,UAAS,OAAd,SACE,mBAAGA,UAAS,cAAZ,SACGg8C,EACGC,EAAO,iBACLl8C,QADK,IACLA,GADK,UACLA,EAAOg8C,YADF,aACL,EAAa5I,gBADR,QACoB,IACpB,OAALpzC,QAAK,IAALA,GAAA,UAAAA,EAAOg8C,YAAP,eAAa5I,UACbpzC,EAAMg8C,KAAK5I,SAAS36B,UAAU,EAAGmjC,GAAkB,OACnD,GACF57C,EAAMg8C,KAAK5I,aAGlB6I,EACC,qBAAKh8C,UAAS,OAAd,SACGi8C,EACC,mBAAGj8C,UAAS,OAAUW,QAAS,kBAAMu7C,GAAYD,IAAjD,uBAIA,mBAAGj8C,UAAS,OAAUW,QAAS,kBAAMu7C,GAAYD,IAAjD,wBAMJ,+BA9B6Bl8C,EAAMg8C,KAAKK,QA6CjC,SAASC,GAAWt8C,GACjC,MAAgCwH,oBAAkB,GAAlD,mBAAOsX,EAAP,KAAkBC,EAAlB,KACA,EAA4BvX,oBAAkB,GAA9C,mBAAOsxB,EAAP,KAAgB7E,EAAhB,KACA,EAAwCzsB,mBAAiB,IAAzD,mBAAO2L,EAAP,KAAqBkW,EAArB,KACA,EAAwB7hB,wBAAkC0E,GAA1D,mBAAOgB,EAAP,KAAaoc,EAAb,KACA,EAAgC9hB,oBAAkB,GAAlD,mBAAO+0C,EAAP,KAAkBC,EAAlB,KACMd,EAAch+B,iBAA4B,MACxCpG,EAAkBjQ,IAAMsT,WAAWxI,IAAnCmF,cAGFiS,EAAS,uCAAG,sBAAAnb,EAAA,6DAChB6lB,GAAS,GACT5K,EAAgB,IAFA,kBAKRjY,GACH2D,MADG,uBACmB/U,EAAMmzC,SADzB,+BACwDnzC,EAAMkzC,UAD9D,gCAEHzzC,MAAK,SAACyN,GAAgC,IAAD,EACpCoc,EAAO,UAACpc,EAAKgC,eAAN,QAAiB,OARd,uDAYd+kB,GAAS,GACT5K,EAAgB,KAAMG,SAbR,yDAAH,qDA+Bf,OAdAtO,qBAAU,WACR,IAAIuhC,GAAU,EAEd,OADIA,GAASlzB,IACN,WACLkzB,GAAU,KAEX,IAEHvhC,qBAAU,WACQ,IAAD,EAAXqhC,IACS,OAAXb,QAAW,IAAXA,GAAA,UAAAA,EAAaz9B,eAAb,SAAsBC,WAEvB,CAACq+B,IAGF,sBAAKt8C,UAAS,sBAAd,UACE,sBAAKA,UAAS,SAAd,UACE,sBAAKA,UAAU,YAAf,UACE,mBAAGA,UAAS,QAAZ,SAAwBD,EAAMI,QAC7BkX,EAAc/V,EAAY+T,UACzB,cAACpV,EAAD,CACED,UAAS,UAAKs8C,EAAY,gBAAkB,IAC5C77C,KAAK,KACLE,QAAS,WACP47C,GAAW,IAEb77C,QAASme,EANX,yBAYJ,cAAC,GAAD,CACEpe,KAAK,KACLyyC,SAAUnzC,EAAMmzC,SAChBD,UAAWlzC,EAAMkzC,UACjBP,OAAQ4J,EACRd,aAAclyB,EACd8tB,YAAa,kBAAMmF,GAAW,IAC9Bd,YAAaA,EACb38B,WAAYA,OAGhB,qBAAK9e,UAAU,OAAf,SACG64B,EAAU3lB,EAAH,OAAkBjG,QAAlB,IAAkBA,OAAlB,EAAkBA,EAAMuO,KAAI,SAACugC,EAAMx0B,EAAOC,GAAd,OAAsB,cAACk0B,GAAD,CAASK,KAAMv0B,EAAIA,EAAIlP,OAAS,EAAIiP,IAApC,UAAoDw0B,EAAKK,OAAzD,YAAmE70B,YC7I9H,IAAMk1B,GAAer1C,IAAMC,cAAgC,MAWnDq1C,GAJwB,SAAC,GAAyB,IAAvB37C,EAAsB,EAAtBA,SACxC,OAAO,cAAC07C,GAAax0C,SAAd,CAAuBC,MAAO,GAA9B,SAAmCnH,KCA/B47C,GAAgB,SAC3Bj8B,EACAC,EACAi8B,EACA/7B,EACAhX,EACA+W,EACA1M,GAEA,IAAM2oC,EAAU,UAAGn8B,EAAH,YAAeC,EAAf,YAA2Bi8B,GAAW/e,OAChDrW,EAAM,GAgBZ,MAfgB,KAAZq1B,GACFr1B,EAAIvI,KAAK49B,GAEE,KAATh8B,GACF2G,EAAIvI,KAAK4B,GAEG,KAAVhX,GACF2d,EAAIvI,KAAKpV,GAEQ,KAAf+W,GACF4G,EAAIvI,KAAK2B,GAEK,KAAZ1M,GACFsT,EAAIvI,KAAK/K,GAEJsT,EAAIrd,KAAK,OC1BH,SAASywC,KAA+B,IAAD,gBAC5C/B,EAAeD,cAAfC,WACR,EAAgCtxC,oBAAkB,GAAlD,mBAAOsX,EAAP,KAAkBC,EAAlB,KACA,EAAwCvX,mBAAiB,IAAzD,mBAAO2L,EAAP,KAAqBkW,EAArB,KACA,EAAwChiB,IAAMsT,WAAWqgC,IAAjDjsC,EAAR,EAAQA,QAASmsC,EAAjB,EAAiBA,mBAEX3xB,EAAS,uCAAG,sBAAAnb,EAAA,6DAChBib,EAAgB,IAChBtK,GAAW,GAFK,kBAIRm8B,EAAmBpC,GAJX,uDAMdzvB,EAAgB,KAAMG,SANR,QAQhBzK,GAAW,GARK,yDAAH,qDAoBf,OATA7D,qBAAU,WAC4B,IAAhC+Z,OAAOC,KAAKnmB,GAASwJ,OACvBgR,KAEAxK,GAAW,GACXsK,EAAgB,OAEjB,IAEIlW,EACL,cAAC,GAAD,UAAQA,IACN2L,EACF,cAAC,GAAD,IAEA,qCAEE,sBAAK7e,UAAS,OAAd,UACE,cAAC,GAAD,CAAQM,KAAM,cAAC,GAAD,IAAaixB,QAAS,CAAEpxB,MAAO,kBAAmB+H,MAAK,OAAE4G,QAAF,IAAEA,OAAF,EAAEA,EAASguC,eAChF,cAAC,GAAD,CACEx8C,KAAM,cAAC,GAAD,IACNixB,QAAS,CAAEpxB,MAAO,QAAS+H,MAAK,iBAAE4G,QAAF,IAAEA,OAAF,EAAEA,EAASiuC,oBAAX,eAA2BjuC,QAA3B,IAA2BA,OAA3B,EAA2BA,EAASgK,MAAO8O,OAAQ,QAASiyB,iBAAiB,KAE/G,cAAC,GAAD,CAAQv5C,KAAM,cAAC,GAAD,IAAcixB,QAAS,CAAEpxB,MAAO,QAAS+H,MAAK,OAAE4G,QAAF,IAAEA,OAAF,EAAEA,EAAS0R,YAAaoH,OAAQ,SAC5F,cAAC,GAAD,CAAQtnB,KAAM,cAAC,GAAD,IAAYixB,QAAS,CAAEpxB,MAAO,MAAO+H,MAAK,OAAE4G,QAAF,IAAEA,OAAF,EAAEA,EAAS2R,UAAWmH,OAAQ,SACtF,cAAC,GAAD,CACEtnB,KAAM,cAAC,GAAD,IACNixB,QAAS,CACPpxB,MAAO,kBACP+H,OAAc,OAAP4G,QAAO,IAAPA,OAAA,EAAAA,EAAS4R,UACZi8B,GAAa,iBACX7tC,QADW,IACXA,OADW,EACXA,EAAS4R,gBADE,QACU,GADV,iBAEX5R,QAFW,IAEXA,OAFW,EAEXA,EAAS6R,gBAFE,QAEU,GAFV,iBAGX7R,QAHW,IAGXA,OAHW,EAGXA,EAAS8tC,gBAHE,QAGU,GAHV,iBAIX9tC,QAJW,IAIXA,OAJW,EAIXA,EAAS+R,YAJE,QAIM,GAJN,iBAKX/R,QALW,IAKXA,OALW,EAKXA,EAASjF,aALE,QAKO,GALP,iBAMXiF,QANW,IAMXA,OANW,EAMXA,EAAS8R,kBANE,QAMY,GANZ,iBAOX9R,QAPW,IAOXA,OAPW,EAOXA,EAASoF,eAPE,QAOS,IAEtB,WAKV,cAAC,GAAD,UACE,cAAC,GAAD,CAAY/T,MAAM,QAAQ+yC,SAAS,UAAUD,UAAW4F,SCnEhE,IAAM/D,GAAU,CACd,CACEzmB,OAAQ,OACRiE,SAAU,OACV5wB,MAAO,MACPwsB,YAAY,EACZW,UAAU,EAEVK,iBAAkB,gBAClBsD,iBAAkB,WAClBsH,UAAW,OACXjD,KAAM,SAAC92B,GAAD,OACJk8B,GAAW8Y,eAAeh1C,EAAMmI,MAAOnI,EAAMs1B,IAAIsB,SAASS,YAE9D,CACE/I,OAAQ,WACRiE,SAAU,WACV5wB,MAAO,MACPwsB,YAAY,EACZW,UAAU,EACVK,iBAAkB,eAClBJ,UAAW,6BACX0D,iBAAkB,WAClBsH,UAAW,OACXjD,KAAM,SAAC92B,GAAD,OACJk8B,GAAW8Y,eAAeh1C,EAAMmI,MAAOnI,EAAMs1B,IAAIsB,SAASS,YAE9D,CACE/I,OAAQ,GACRiE,SAAU,iBACV5wB,MAAO,KACPwsB,YAAY,EACZW,UAAU,EACViL,UAAW,OACXjD,KAAM,SAAC92B,GAAD,OAA+Bk8B,GAAW+Y,qBAAqBj1C,EAAMmI,SAE7E,CACEmmB,OAAQ,SACRiE,SAAU,SACV5wB,MAAO,MACPwsB,YAAY,EACZM,iBAAkB,6BAClBK,UAAU,EACVK,iBAAkB,iBAClBJ,UAAW,+BACX0D,iBAAkB,WAClBsH,UAAW,OACXjD,KAAM,SAAC92B,GAAD,OAAqCk8B,GAAW+gB,qBAAqBj9C,EAAMmI,SAGnF,CACEmmB,OAAQ,cACRiE,SAAU,cACV5wB,MAAO,MACPwsB,YAAY,EACZW,UAAU,EAEVK,iBAAkB,iBAClBJ,UAAW,iBACX0D,iBAAkB,WAClBsH,UAAW,OACXjD,KAAM,SAAC92B,GAAD,OACJk8B,GAAW8Y,eAAeh1C,EAAMmI,MAAOnI,EAAMs1B,IAAIsB,SAASS,YAE9D,CACE/I,OAAQ,gBACRiE,SAAU,gBACV5wB,MAAO,MACPmtB,UAAU,EACVK,iBAAkB,eAClBJ,UAAW,eACX0D,iBAAkB,WAClBsH,UAAW,OACXjD,KAAM,SAAC92B,GAAD,OACJk8B,GAAWgZ,uBAAuBl1C,EAAMmI,MAAOnI,EAAMs1B,IAAIsB,SAASS,aAOzD,SAAS+jB,KACtB,IAAQtC,EAAeD,cAAfC,WAER,OACE,cAACpI,GAAD,CACE+D,iBAAkB,CAChB,CAAEnhB,MAAM,GAAD,OAAKwlB,GAAcvlB,kBAAkB,iBAAD,OAAmBulB,EAAnB,sDAE7CtnB,QAASujB,K,OCtFf,SAASzW,GAAen2B,EAAekQ,GACrC,OACE,gCACE,sBAAMpY,UAAS,sBAAf,SACG,IAAIynB,KAAKuV,aAAa,QAAS,CAC9BC,sBAAuB,EACvBC,sBAAuB,EACvBrhB,MAAO,WACPiC,SAAU,QACT8J,OAAO1f,KAEZ,uBAAMlI,UAAS,uBAAf,cAA2CoY,QAKjD,SAAS6kC,GAAmB/0C,EAAekQ,GACzC,IAAM8kC,EAAevlC,GAAMwlC,yBAAyBj1C,EAAOkQ,GAE3D,OACE,gCACE,uBAAMpY,UAAS,sBAAf,UAAyCkI,EAAzC,OACA,sBAAMlI,UAAS,uBAAf,SAA0Ck9C,OAKjC,SAAS7uB,KAA8B,IAAD,MAC3CtI,EAASoD,cAATpD,KACR,EAAgCxe,mBAA4B,IAA5D,mBAAO65B,EAAP,KAAiBC,EAAjB,KACA,EAA8C95B,mBAAoC,IAAlF,mBAAO61C,EAAP,KAAwBC,EAAxB,KACQvuC,EAAY1H,IAAMsT,WAAWqgC,IAA7BjsC,QACR,EAA4C1H,IAAMsT,WAAWxI,IAArDoC,EAAR,EAAQA,YAAa6C,EAArB,EAAqBA,mBACb0hC,EAAeD,cAAfC,WAoBR,OAlBA59B,qBAAU,WACR,IACE3G,EAAYse,YAASyP,MAAM1G,SAAS,cAAekd,GAAYr5C,MAAK,SAACyN,GACnEo0B,EAAYp0B,MAEd,MAAOZ,GACPC,QAAQC,IAAIF,MAEb,IAEH4O,qBAAU,WACR9D,EAAmB0hC,GAChBr5C,MAAK,SAACyN,GACLowC,EAAmBpwC,MAEpBb,OAAM,SAAC0O,GAAD,OAAOxO,QAAQD,MAAM,4CAA6CyO,QAC1E,IAGD,qCACE,qBAAK9a,UAAS,MAAd,0BAAwB8O,QAAxB,IAAwBA,GAAxB,UAAwBA,EAASgF,YAAjC,aAAwB,EAAeyE,OAAO,UAA9C,QAAoD,KACpD,mBAAGvY,UAAS,eAAZ,0BAA+B8O,QAA/B,IAA+BA,OAA/B,EAA+BA,EAASgF,YAAxC,QAAgD,KAChD,qBAAK9T,UAAS,kBAAd,SACE,eAAC,IAAD,WAgBE,cAAC,IAAD,CACEkmB,OAAK,EACLH,KAAI,UAAKA,EAAL,kBACJgU,OAAQ,WAAO,IAAD,QACZ,OACE,qCACGkjB,IAAmB,iBAAC7b,QAAD,IAACA,OAAD,EAACA,EAAUK,qBAAX,QAA4B,IAA5B,iBAAkCL,QAAlC,IAAkCA,OAAlC,EAAkCA,EAAUU,yBAA5C,QAAiE,GAAI,gBACxFmb,GAAkB,iBAAC7b,QAAD,IAACA,OAAD,EAACA,EAAUpX,4BAAX,QAAmC,EAAG,oBACxDqU,GAAc,iBAAC+C,QAAD,IAACA,OAAD,EAACA,EAAUS,qBAAX,QAA4B,EAAG,mCAKtD,cAAC,IAAD,CACE3b,OAAK,EACLH,KAAI,UAAKA,EAAL,oBACJgU,OAAQ,WAAO,IAAD,MACZ,OACE,qCACGkjB,GAAkB,iBAAC7b,QAAD,IAACA,OAAD,EAACA,EAAUU,yBAAX,QAAgC,EAAG,kBACrDzD,GAAc,iBAAC+C,QAAD,IAACA,OAAD,EAACA,EAAUoB,sCAAX,QAA6C,EAAG,0BAC9DnE,GAAc,iBAAC+C,QAAD,IAACA,OAAD,EAACA,EAAUkB,qCAAX,QAA4C,EAAG,gCAKtE,cAAC,IAAD,CACEpc,OAAK,EACLH,KAAI,UAAKA,EAAL,aACJgU,OAAQ,WAAO,IAAD,IACZ,OACE,qCACGsE,GAAc,UAAC+C,EAASkc,qCAAV,QAA2C,EAA3C,yBAA+D,IAAIz4C,MAAO6kC,gBACxFrL,GAAc,UAAC+C,EAASO,8BAAV,QAAoC,EAAG,wCAK9D,cAAC,IAAD,CACEzb,OAAK,EACLH,KAAI,UAAKA,EAAL,aACJgU,OAAQ,WACN,OACE,mCAEGkjB,GAAmB,EAAD,sBAK3B,cAAC,IAAD,CACE/2B,OAAK,EACLH,KAAI,UAAKA,EAAL,cACJgU,OAAQ,WAAO,IAAD,MACZ,OACE,qCACGkjB,GAAkB,UAACG,EAAgBG,mBAAjB,QAAgC,EAAhC,mBAClBN,GAAkB,UAACG,EAAgBI,qBAAjB,QAAkC,EAAlC,qBAClBP,GAAkB,UAACG,EAAgBK,wBAAjB,QAAqC,EAArC,gCCpIrC,IAAM3I,GAAU,CACd,CACEzmB,OAAQ,iBACRiE,SAAU,iBACV5wB,MAAO,QACPwsB,YAAY,EACZM,iBAAkB,UAClBK,UAAU,EACVK,iBAAkB,gBAClBsD,iBAAkB,WAClBsH,UAAW,OACXjD,KAAM,SAAC92B,GAAD,OAAqCk8B,GAAWkC,aAAap+B,EAAMmI,OAAO,KAElF,CACEmmB,OAAQ,SACRiE,SAAU,SACV5wB,MAAO,MACPwsB,YAAY,EACZM,iBAAkB,6BAClBK,UAAU,EACVK,iBAAkB,cAClBJ,UAAW,sCACX0D,iBAAkB,KAClBC,gBAAiB,KACjBnE,gBAAiB,CACf,CAAEtC,WAAY,OAAQ9jB,MAAO/G,EAAiB,KAAUwF,GAAI,QAC5D,CAAEqlB,WAAY,gBAAiB9jB,MAAO,IAAKvB,GAAI,SAC/C,CAAEqlB,WAAY,iBAAkB9jB,MAAO/G,EAAkB,kBAAmBwF,GAAI,UAChF,CAAEqlB,WAAY,iBAAkB9jB,MAAO/G,EAAkB,kBAAmBwF,GAAI,UAChF,CAAEqlB,WAAY,eAAgB9jB,MAAO/G,EAAkB,gBAAiBwF,GAAI,UAC5E,CAAEqlB,WAAY,SAAU9jB,MAAO/G,EAAiB,OAAYwF,GAAI,WAElEmzB,UAAW,OACXjD,KAAM,SAAC92B,GAAD,OACJk8B,GAAW2I,aAAa7kC,EAAMs1B,IAAIsB,SAAS7J,SAAU/sB,EAAMmI,OAAO,KAEtE,CACEmmB,OAAQ,eACRiE,SAAU,eACV5wB,MAAO,MACPwsB,YAAY,EACZM,iBAAkB,iBAClBK,UAAU,EACVK,iBAAkB,cAClBJ,UAAW,6BACX0D,iBAAkB,WAClBsH,UAAW,OACXjD,KAAM,SAAC92B,GAAD,OAAqCk8B,GAAWP,WAAW37B,EAAMmI,OAAO,KAEhF,CACEmmB,OAAQ,WACRiE,SAAU,WACV5wB,MAAO,MACPwsB,YAAY,EACZM,iBAAkB,iBAClBK,UAAU,EACVK,iBAAkB,iBAClBJ,UAAW,gCACX0D,iBAAkB,WAClBsH,UAAW,OACXjD,KAAM,SAAC92B,GAAD,OAAqCk8B,GAAWP,WAAW37B,EAAMmI,OAAO,KAEhF,CACEmmB,OAAQ,iBACRiE,SAAU,iBACV5wB,MAAO,SACPwsB,YAAY,EACZM,iBAAkB,UAClBK,UAAU,EACVK,iBAAkB,gBAClBJ,UAAW,+BACX0D,iBAAkB,KAClBsH,UAAW,QACXjD,KAAM,SAAC92B,GAAD,OAAqCk8B,GAAWoC,eAAet+B,EAAMmI,OAAO,KAEpF,CACEmmB,OAAQ,qBACRiE,SAAU,qBACV5wB,MAAO,QACPwsB,YAAY,EACZM,iBAAkB,UAClBK,UAAU,EACVK,iBAAkB,qBAClBJ,UAAW,oCACX0D,iBAAkB,KAClBsH,UAAW,QACXjD,KAAM,SAAC92B,GAAD,OAAqCk8B,GAAWoC,eAAet+B,EAAMmI,OAAO,MAOvE,SAASw1C,KAAoC,IAAD,EACnD1rC,EAAU4M,cACRi6B,EAAeD,cAAfC,WACA/pC,EAAY1H,IAAMsT,WAAWqgC,IAA7BjsC,QAER,EAAgCvH,oBAAkB,GAAlD,mBAAOsX,EAAP,KAAkBC,EAAlB,KACA,EAA4BvX,oBAAkB,GAA9C,mBAAOsxB,EAAP,KAAgB7E,EAAhB,KACA,EAAwCzsB,mBAAiB,IAAzD,mBAAO2L,EAAP,KAAqBkW,EAArB,KACA,EAAkC7hB,mBAAsB,IAAxD,mBAAO+pB,EAAP,KAAkB2C,EAAlB,KACA,EAAkC1sB,mBAAiB,GAAnD,mBAAO4tB,EAAP,KAAkBjB,EAAlB,KACA,EAAoC3sB,mBAAiB,GAArD,mBAAOqG,EAAP,KAAmBktB,EAAnB,KACA,EAAoCvzB,mBAAiB,GAArD,mBAAOkqB,EAAP,KAAmB0C,EAAnB,KA+BA,OACE,cAAC,GAAD,CACEhD,SAAU,CACR,CACExqB,GAAI,WACJyyB,YAAa,WACbrB,eAAgB,YAChB9qB,KAAM,CACJqkB,UAAWA,EACX2C,aAAcA,EACdR,UAAWzjB,GAAeyc,oBAC1BmH,YAxCU,SAACD,EAA6CnzB,GAAkD,IAAD,IACjH,wBACEmzB,QADF,IACEA,GADF,UACEA,EAAa1kB,eADf,aACE,EAAsBuM,KAAI,SAACgjB,GACzB,OAAO,wCACY,OAAZh+B,GAAgC,QAAZA,IAAsB,CAC7CmG,GAAI63B,EAAOuG,aAEI,WAAZvkC,GAAoC,QAAZA,IAAsB,CACjDksB,eAAgB8R,EAAO7R,cACvBE,OAAQ2R,EAAO3R,OACfwuB,aAAc7c,EAAO8c,YACrBxuB,SAAU0R,EAAOzR,eACjBke,eAAgBzM,EAAO0M,cACvBle,mBAAoBwR,EAAOvR,qBAEb,QAAZzsB,GAAqB,CACvBo2B,qBAAiB3qB,EACjBmrB,cAAUnrB,cAhBlB,QAmBQ,KAsBFslB,QAASujB,GACTlc,OAAQ,CACN7I,eAAe,GAAD,wBAAKjhB,QAAL,IAAKA,OAAL,EAAKA,EAASgF,YAAd,QAAsB,MAAtB,qBAEhB0mB,eAtBR,SAAwB1f,EAAoCua,GAAqC,IAAD,EAC9F4J,eAAej1B,QAAQ,WAAYgI,EAAQrJ,SAASsd,UACpDjU,EAAQiN,KAAR,iCAA6BoW,EAAIsB,SAAShwB,UAA1C,QAAgD,MAqB1CyxB,YAAa,gCACbE,iBAAkB,OAClBnF,kBAAmB,CACjB,CACEE,MAAO,gBACPC,kBAAkB,mBAAD,OAAqBulB,EAArB,mCAKzB9kB,OAAQ,CACNlV,UAAWA,EACXC,WAAYA,EACZ+Z,QAASA,EACT7E,SAAUA,EACV9gB,aAAcA,EACdkW,gBAAiBA,GAEnBoI,WAAY,CACV2D,UAAWA,EACXjB,aAAcA,EACdtmB,WAAYA,EACZktB,cAAeA,EACfrJ,WAAYA,EACZ0C,cAAeA,GAEjBsB,QAAS,CACP8D,eAAe,EACfZ,eAAe,EACfF,aAAa,EACb/C,eAAe,EACfgD,gBAAgB,KC1LxB,IAAMoc,GAAU,CACd,CACEzmB,OAAQ,iBACRiE,SAAU,iBACV5wB,MAAO,MACPwsB,YAAY,EACZM,iBAAkB,UAClBK,UAAU,EACVK,iBAAkB,gBAClBsD,iBAAkB,WAClBsH,UAAW,OACXjD,KAAM,SAAC92B,GAAD,OAAqCk8B,GAAWkC,aAAap+B,EAAMmI,OAAO,KAElF,CACEmmB,OAAQ,OACRiE,SAAU,OACV5wB,MAAO,MACPwsB,YAAY,EACZM,iBAAkB,0BAClBK,UAAU,EACVK,iBAAkB,cAClBJ,UAAW,6BACX0D,iBAAkB,WAClBsH,UAAW,OACXjD,KAAM,SAAC92B,GAAD,OAAqCk8B,GAAW6N,kBAAkB/pC,EAAMmI,OAAO,KAEvF,CACEmmB,OAAQ,eACRiE,SAAU,eACV5wB,MAAO,MACPwsB,YAAY,EACZM,iBAAkB,iBAClBK,UAAU,EACVK,iBAAkB,cAClBJ,UAAW,6BACX0D,iBAAkB,WAClBsH,UAAW,OACXjD,KAAM,SAAC92B,GAAD,OAAqCk8B,GAAWP,WAAW37B,EAAMmI,OAAO,KAEhF,CACEmmB,OAAQ,iBACRiE,SAAU,iBACV5wB,MAAO,MACPwsB,YAAY,EACZM,iBAAkB,UAClBK,UAAU,EACVK,iBAAkB,gBAClBJ,UAAW,+BACX0D,iBAAkB,KAClBsH,UAAW,QACXjD,KAAM,SAAC92B,GAAD,OAAqCk8B,GAAWoC,eAAet+B,EAAMmI,OAAO,KAEpF,CACEmmB,OAAQ,WACRiE,SAAU,WACV5wB,MAAO,MACPwsB,YAAY,EACZM,iBAAkB,UAClBK,UAAU,EAEVK,iBAAkB,eAClBJ,UAAW,8BACX0D,iBAAkB,KAClBsH,UAAW,OACXjD,KAAM,SAAC92B,GAAD,OAAuCk8B,GAAW8N,WAAWhqC,EAAMmI,OAAO,MAQrE,SAASnE,KACtB,IAAMiO,EAAU4M,cACRi6B,EAAeD,cAAfC,WAER,EAAgCtxC,oBAAkB,GAAlD,mBAAOsX,EAAP,KAAkBC,EAAlB,KACA,EAA4BvX,oBAAkB,GAA9C,mBAAOsxB,EAAP,KAAgB7E,EAAhB,KACA,EAAwCzsB,mBAAiB,IAAzD,mBAAO2L,EAAP,KAAqBkW,EAArB,KACA,EAAkC7hB,mBAAsB,IAAxD,mBAAO+pB,EAAP,KAAkB2C,EAAlB,KACA,EAAkC1sB,mBAAiB,GAAnD,mBAAO4tB,EAAP,KAAkBjB,EAAlB,KACA,EAAoC3sB,mBAAiB,GAArD,mBAAOqG,EAAP,KAAmBktB,EAAnB,KACA,EAAoCvzB,mBAAiB,GAArD,mBAAOkqB,EAAP,KAAmB0C,EAAnB,KAoCA,OACE,cAAC,GAAD,CACEhD,SAAU,CACR,CACExqB,GAAI,WACJyyB,YAAa,WACbrB,eAAgB,YAChB9qB,KAAM,CACJqkB,UAAWA,EACX2C,aAAcA,EACdR,UAAWhjB,GAAe85B,eAC1B3W,YA7CU,SAACD,EAA6CnzB,GAAkD,IAAD,IACjH,wBACEmzB,QADF,IACEA,GADF,UACEA,EAAa1kB,eADf,aACE,EAAsBuM,KAAI,SAACgjB,GACzB,OAAO,wCACY,OAAZh+B,GAAgC,QAAZA,IAAsB,CAC7CmG,GAAI63B,EAAOgM,aAEI,WAAZhqC,GAAoC,QAAZA,IAAsB,CACjDm9C,WAAYnf,EAAOgM,UACnBC,eAAgBjM,EAAOkM,cACvB7pC,KAAM29B,EAAOV,YACb6M,aAAcnM,EAAOoM,YACrBC,eAAgBrM,EAAOsM,cACvBC,SAAUvM,EAAOwM,cAEH,QAAZxqC,GAAqB,CACvBo2B,qBAAiB3qB,EACjBmrB,cAAUnrB,cAhBlB,QAmBQ,KA2BFslB,QAASujB,GACTta,eAxBR,SACE1f,EACAua,GAGC,IAAD,EACA4J,eAAej1B,QAAQ,WAAYgI,EAAQrJ,SAASsd,UACpDjU,EAAQiN,KAAR,iCAA6BoW,EAAIsB,SAASgnB,kBAA1C,QAAwD,MAkBlD/kB,OAAQ,CACN7I,eAAgB,+BAElBqI,YAAa,6BACbE,iBAAkB,OAClBnF,kBAAmB,CACjB,CACEE,MAAO,WACPC,kBAAkB,mBAAD,OAAqBulB,EAArB,UAKzB9kB,OAAQ,CACNlV,UAAWA,EACXC,WAAYA,EACZ+Z,QAASA,EACT7E,SAAUA,EACV9gB,aAAcA,EACdkW,gBAAiBA,GAEnBoI,WAAY,CACV2D,UAAWA,EACXjB,aAAcA,EACdtmB,WAAYA,EACZktB,cAAeA,EACfrJ,WAAYA,EACZ0C,cAAeA,GAEjBsB,QAAS,CACP8D,eAAe,EACfZ,eAAe,EACfF,aAAa,EACb/C,eAAe,EACfgD,gBAAgB,K,qBC/JlBoc,GAAU,CACd,CACEzmB,OAAQ,OACRiE,SAAU,OACV5wB,MAAO,MACPwsB,YAAY,EACZW,UAAU,EACVC,UAAW,cACXI,iBAAkB,cAClBsD,iBAAkB,WAClBsH,UAAW,OACXjD,KAAM,SAAC92B,GAAD,OAAqCk8B,GAAW2hB,qBAAqB79C,EAAMmI,SAEnF,CACEmmB,OAAQ,GACRiE,SAAU,OACV5wB,MAAO,KACPwsB,YAAY,EACZW,UAAU,EACViL,UAAW,OACXjD,KAAM,SAAC92B,GAAD,OAA8Bk8B,GAAW4hB,WAAW99C,EAAMmI,SAElE,CACEmmB,OAAQ,OACRiE,SAAU,OACV5wB,MAAO,MACPwsB,YAAY,EACZW,UAAU,EACVK,iBAAkB,WAClBJ,UAAW,wBACX0D,iBAAkB,WAClBsH,UAAW,OACXjD,KAAM,SAAC92B,GAAD,OAAqCk8B,GAAW6hB,oBAAoB/9C,EAAMmI,SAElF,CACEmmB,OAAQ,QACRiE,SAAU,QACV5wB,MAAO,QACPwsB,YAAY,EACZW,UAAU,EACVK,iBAAkB,eAClBJ,UAAW,4BACX0D,iBAAkB,WAClBsH,UAAW,OACXjD,KAAM,SAAC92B,GAAD,OAAqCk8B,GAAWkC,aAAap+B,EAAMmI,OAAO,EAAO,kBAEzF,CACEmmB,OAAQ,eACRiE,SAAU,eACV5wB,MAAO,SACPwsB,YAAY,EACZW,UAAU,EACVK,iBAAkB,QAClBJ,UAAW,qBACX0D,iBAAkB,WAClBsH,UAAW,OACXjD,KAAM,SAAC92B,GAAD,OAAqCk8B,GAAW9a,kBAAkBphB,EAAMmI,MAAO,kBAEvF,CACEmmB,OAAQ,eACRiE,SAAU,eACV5wB,MAAO,SACPmtB,UAAU,EACVX,YAAY,EACZgB,iBAAkB,WAClBJ,UAAW,WACX0D,iBAAkB,WAClBsH,UAAW,OACXjD,KAAM,SAAC92B,GAAD,OAAqCk8B,GAAWP,WAAW37B,EAAMmI,OAAO,EAAO,mBA0B1E,SAAS61C,GAAah+C,GACnC,IAAQ84C,EAAeD,cAAfC,WACF7mC,EAAU4M,cAEhB,EAAgDrX,oBAAkB,GAAlE,mBAAOy2C,EAAP,KAAyBC,EAAzB,KACA,EAA4C12C,mBAAiB,IAA7D,mBAAO22C,EAAP,KAAuBC,EAAvB,KACA,EAA4C52C,mBAAiB,WAA7D,mBAAO62C,EAAP,KAAuBC,EAAvB,KACA,EAA8C92C,mBAAiB,IAA/D,mBAAO+2C,EAAP,KAAwBC,EAAxB,KACA,EAA8Ch3C,mBAAiB,IAA/D,mBAAOi3C,EAAP,KAAwBC,EAAxB,KACA,EAAkDl3C,oBAAkB,GAApE,mBAAOm3C,EAAP,KAA0BC,EAA1B,KACA,EAAsDp3C,mBAAiB,IAAvE,mBAAOq3C,EAAP,KAA4BC,EAA5B,KACA,EAAwDt3C,mBAAiB,IAAzE,mBAAOu3C,EAAP,KAA6BC,EAA7B,KACA,EAA8Cx3C,oBAAkB,GAAhE,mBAAOy3C,EAAP,KAAwBC,EAAxB,KACA,EAAkC13C,mBAAmB,IAArD,mBAAO23C,EAAP,KAAkBC,EAAlB,KACA,EAA0B53C,oBAAkB,GAA5C,mBAAO63C,GAAP,KAAcC,GAAd,KACA,GAAoC93C,oBAAkB,GAAtD,qBAAOspC,GAAP,MAAmBC,GAAnB,MACA,GAAgCvpC,oBAAkB,GAAlD,qBAAO+3C,GAAP,MAAiBC,GAAjB,MACA,GAA0Ch4C,oBAAkB,GAA5D,qBAAOi4C,GAAP,MAAsBC,GAAtB,MACM/O,GAAWjzB,iBAAO,MAElBiiC,GAAoB,WACxBX,EAAwB,IACxBF,EAAuB,IACvBV,EAAkB,IAClBI,EAAmB,IACnBE,EAAmB,IACnBJ,EAAkB,WAClBM,GAAqB,GACrBV,GAAoB,IAWhB0B,GAAoB,uCAAG,sBAAAxxC,EAAA,+EAEZuK,QAAQsf,IACnBknB,EAAU1jC,KAAI,SAAC7U,GACb,OAAOkK,GAAe+uC,aAAaj5C,EAAI,CAAEyf,UAAU,QAErD5mB,MAAK,WAAO,IAAD,EACXsxC,IAAc,GACd,OAACJ,SAAD,IAACA,IAAD,UAACA,GAAU1yB,eAAX,SAA4BuZ,iBARL,wEAWzBuZ,IAAc,GAXW,uBAazBmO,GAAmB,GACnBI,IAAS,GAdgB,0EAAH,qDAvCmD,SAyD9DQ,GAzD8D,iFAyD7E,WAAmCl5C,GAAnC,SAAAwH,EAAA,sEACQ4B,GAAgB+vC,aAAajH,EAAY,CAAEkH,iBAAkBp5C,IADrE,4CAzD6E,oEA6D7E,sBAAAwH,EAAA,+EAEU0C,GACHmvC,cAAc,CACb,CACE9xC,UAAW2qC,EACXiE,YAAaoB,EACb+B,SAAU7B,EACV8B,aAAc5B,EACd6B,MAAO3B,KAGVh/C,MAAK,SAACyN,GACDyxC,GACFmB,GAAoB5yC,EAAKmzC,cAdnC,sDAkBIX,IAAiB,GACjBnzC,QAAQC,IAAR,MAnBJ,yDA7D6E,sBAoF7E,IAAM8zC,GAAmB,WAEvB,IAmBW,EAnBPC,GAAQ,GACPpC,EAIHW,EAAuB,KAHvByB,GAAQ,EACRzB,EAAuB,kBAIpBP,EAGO3mC,GAAMkB,WAAWylC,GAGlBv+C,EAAMuxB,UAAU/Z,MAAK,SAACqgB,GAAD,OAAUA,EAAK9e,QAAUwlC,MACvDgC,GAAQ,EACRvB,EAAwB,+CAExBA,EAAwB,KANxBuB,GAAQ,EACRvB,EAAwB,yBAJxBuB,GAAQ,EACRvB,EAAwB,mBAUtBuB,KAEFZ,KA3GyE,oCA4GzEa,GACAd,IAAiB,GACjBF,IAAY,GACZ,OAAC7O,SAAD,IAACA,IAAD,UAACA,GAAU1yB,eAAX,SAA4BuZ,gBAUhC,OACE,qCACE,cAAC,GAAD,CACE9a,IAAKi0B,GACLvf,SAAU,CACR,CACExqB,GAAI,WACJyyB,YAAa,WACbnsB,KAAM,CACJqkB,UAAWvxB,EAAMuxB,UACjB2C,aAAcl0B,EAAMk0B,aACpBR,UAAW5iB,GAAe2vC,cAC1B5sB,YAAa7zB,EAAM6zB,aAErBrC,QAASujB,GACTta,eArBV,SAAwB1f,EAAoCua,GAAqC,IAAD,EAC9F4J,eAAej1B,QAAQ,WAAYgI,EAAQrJ,SAASsd,UACpD,IAAMF,EAAO/T,EAAQrJ,SAASsd,SAC9BjU,EAAQiN,KAAR,UAAgB8G,EAAK0iB,OAAO,EAAG1iB,EAAKgE,YAAY,cAAhD,qCAAgFsL,EAAIsB,SAAShwB,UAA7F,QAAmG,MAmB3FyxB,YAAa,cACbE,iBAAkB,GAClBnF,kBAAmB,CACjB,CACEE,MAAO,WACPC,kBAAkB,kBAAD,OAAoBulB,EAApB,iCAKzB9kB,OAAQ,CACNlV,UAAW9e,EAAM8e,UACjBC,WAAY/e,EAAM+e,WAClB+Z,QAAS94B,EAAM84B,QACf7E,SAAUj0B,EAAMi0B,SAChB9gB,aAAcnT,EAAMmT,aACpBkW,gBAAiBrpB,EAAMqpB,iBAEzBoI,WAAY,CACV2D,UAAWp1B,EAAMo1B,UACjBjB,aAAcn0B,EAAMm0B,aACpBtmB,WAAY7N,EAAM6N,WAClBktB,cAAe/6B,EAAM+6B,cACrBrJ,WAAY1xB,EAAM0xB,WAClB0C,cAAep0B,EAAMo0B,eAEvBsB,QAAS,CACP8D,eAAe,EACfZ,eAAe,EACfF,aAAa,EACb/C,eAAe,EACfgD,gBAAgB,GAElBI,WAAY,CACV,CACEG,UACE,cAACh5B,EAAD,CAAQK,KAAM,cAAC,GAAD,IAAcC,UAAU,OAAOI,QAAS,kBAAMs9C,GAAoB,SAACjjC,GAAD,OAAoBA,MAApG,yBAIFge,iBAAiB,GAEnB,CACEC,UACE,cAACh5B,EAAD,CAAQK,KAAM,cAAC,GAAD,IAAWE,QAAQ,YAAYD,UAAU,OAAOI,QAAS,WArJjFZ,EAAM6H,YAAY1G,EAASyC,OAqJjB,kBAIFq1B,iBAAiB,IAGrBE,cAAe,CACb,CACE54B,KAAM,cAAC,GAAD,IACNE,QAAS,YACTD,UAAW,OACXQ,SAAU,SACVo4B,SAAU,SAACmZ,GAAD,OAhKM,SAACA,GACzB6M,EAAa7M,GACb2M,GAAmB,GA8JQwB,CAAkBnO,QAI3C,cAACoC,GAAA,EAAD,CAAQvmB,OAAQ,QAAS3U,KAAMwkC,EAAkBv4B,QAASi6B,GAA1D,SACE,sBAAK1/C,UAAW,wBAAhB,UACE,qBAAKA,UAAW,SAAhB,SAA2B,gBAC3B,cAAC,GAAD,CACEA,UAAU,oBACVkI,MAAOg2C,EACP9lC,MAAO,CAAE6D,YAAa,OAAQE,UAAW,IACzCC,YAAY,GACZC,SAAU,SAACwB,GAAD,OAAiBsgC,EAAkBtgC,IAC7C3K,aAAc0rC,IAEhB,cAAC,GAAD,CACEtzB,OAAQ,OACR/d,QAAS,CACP,CAAErF,MAAO,gBAAiB4jB,aAAc,gBAAiBnlB,GAAI,KAC7D,CAAEuB,MAAO,aAAc4jB,aAAc,aAAcnlB,GAAI,KACvD,CAAEuB,MAAO,0BAA2B4jB,aAAc,0BAA2BnlB,GAAI,KACjF,CAAEuB,MAAO,gBAAiB4jB,aAAc,gBAAiBnlB,GAAI,KAC7D,CAAEuB,MAAO,aAAc4jB,aAAc,aAAcnlB,GAAI,KACvD,CAAEuB,MAAO,MAAO4jB,aAAc,MAAOnlB,GAAI,KACzC,CAAEuB,MAAO,MAAO4jB,aAAc,MAAOnlB,GAAI,KACzC,CAAEuB,MAAO,QAAS4jB,aAAc,QAASnlB,GAAI,KAC7C,CAAEuB,MAAO,UAAW4jB,aAAc,UAAWnlB,GAAI,MAEnDilB,aAAcwyB,EACd99C,KAAM,cAAC,GAAD,IACNK,QAAS,SAACmrB,GAAD,OAA0BuyB,EAAkBvyB,MAEvD,cAAC,GAAD,CACE9rB,UAAU,oBACVoY,MAAO,CAAE6D,YAAa,QAASE,UAAW,IAC1CC,YAAY,GACZlU,MAAOo2C,EACPjiC,SAAU,SAACwB,GAAD,OAAiB0gC,EAAmB1gC,EAAIggB,SAClD3qB,aAAc4rC,IAEhB,cAAC,GAAD,CACE9+C,UAAU,oBACVoY,MAAO,CAAE6D,YAAa,gBAAiBE,UAAW,cAClDC,YAAY,GACZlU,MAAOs2C,EACPniC,SAAU,SAACwB,GAAD,OAAiB4gC,EAAmB5gC,EAAIggB,WAEpD,sBAAK79B,UAAU,mBAAf,UACE,cAAC,IAAM2qB,SAAP,UACE,uBACE9pB,KAAK,WACLb,UAAU,sBACVw2B,QAASkoB,EACTriC,SAAU,kBAAMsiC,GAAsBD,QAG1C,sBAAM1+C,UAAU,eAAhB,qCAEF,sBAAKA,UAAW,sBAAhB,UACE,cAACC,EAAD,CAAQD,UAAW,aAAcQ,QAAQ,YAAYG,QAAS,kBAAM++C,MAApE,oBAGA,cAACz/C,EAAD,CAAQD,UAAW,aAAcW,QAAS,kBAAM0/C,MAAhD,iCAMN,cAACh7B,GAAA,EAAD,CAAUC,aAAc,CAAEC,SAAU,MAAOC,WAAY,SAAWhM,KAAM8lC,GAAU75B,QAAS,kBAAM85B,IAAY,IAAQ75B,iBAAkB,IAAvI,SACE,cAACC,GAAA,EAAD,CACEF,QAAS,kBAAM85B,IAAY,IAC3B35B,SAAU45B,GAAgB,QAAU,UACpC35B,GAAI,CAAEnkB,MAAO,QACb4V,OACE,mBAAGtX,UAAU,QAAQW,QAAS,kBAAM4+C,IAAY,IAAhD,mBALJ,SAUGC,GAAgB,SAAW,oBAG/BR,GACC,cAAC0B,GAAA,EAAD,CAAOlnC,KAAMwlC,EAAiBv5B,QAAS,kBAAMw5B,GAAmB,IAAhE,SACE,sBAAKj/C,UAAU,WAAf,UACE,iDACA,iEACmCk/C,EAAU5mC,OAD7C,WACkF,IAArB4mC,EAAU5mC,OAAe,GAAK,OAE3F,sBAAKtY,UAAU,UAAf,UACE,cAACC,EAAD,CAAQO,QAAQ,YAAYG,QAAS,kBAAMs+C,GAAmB,IAA9D,oBAGA,cAACh/C,EAAD,CAAQO,QAAQ,QAAQG,QAAS,kBAAMg/C,MAAvC,4BAOR,cAACt6B,GAAA,EAAD,CAAUC,aAAc,CAAEC,SAAU,MAAOC,WAAY,SAAWhM,KAAM4lC,GAAO35B,QAAS,kBAAM45B,IAAS,IAAQ35B,iBAAkB,IAAjI,SACE,cAACC,GAAA,EAAD,CACEF,QAAS,kBAAM45B,IAAS,IACxBz5B,SAAUirB,GAAa,QAAU,UACjChrB,GAAI,CAAEnkB,MAAO,QACb4V,OACE,mBAAGtX,UAAU,QAAQW,QAAS,kBAAM0+C,IAAS,IAA7C,mBALJ,SAUGxO,GAAa,kBAAoBqO,EAAU5mC,OAAS,EAAI,mBAAqB,yBCvXzE,SAASylC,GAAah+C,GACnC,IAAQ84C,EAAeD,cAAfC,WACR,EAA8CtxC,mBAAgD,IAA9F,mBAAOo5C,EAAP,KAAwBC,EAAxB,KACA,EAA8Cr5C,oBAAkB,GAAhE,mBAAOs5C,EAAP,KAAwBC,EAAxB,KACA,EAAsCv5C,mBAA0C,IAAhF,mBAAOw5C,EAAP,KAAoBC,EAApB,KACMtQ,EAAWjzB,iBAAO,MALqD,4CAO7E,sBAAAtP,EAAA,sEACQ4C,GACHE,qBAAqB,oCAAgChF,EAAW,oBAChEzM,MAAK,SAACyN,GAA0C,IAAD,IAC9C+zC,EAAc,oBACZ/zC,EAAKgC,eADO,aACZ,EAAcuM,KAAI,SAAChE,GAA+B,IAAD,EAC/C,MAAO,CACL7Q,GAAI6Q,EAAKypC,iBACT7oC,MAAK,UAAEZ,EAAK0pC,uBAAP,QAA0B,cAJvB,QAMN,OAVd,4CAP6E,sBAsB7EjmC,qBAAU,YAtBmE,mCAuB3EkmC,KACC,IAEH,IAAMrM,EAAU,CACd,CAAEzmB,OAAQ,GAAIiE,SAAU,QAAS5wB,MAAO,KAAMo4B,UAAW,QACzD,CACEzL,OAAQ,OACRiE,SAAU,OACV5wB,MAAO,MACPwsB,YAAY,EACZW,UAAU,EACVC,UAAW,cACXI,iBAAkB,cAClBsD,iBAAkB,WAClBsH,UAAW,OACXjD,KAAM,SAAgB92B,GACpB,OAAKA,EAAMs1B,IAAIsB,SAASC,gBAiBfqF,GAAW6hB,oBAAoB/9C,EAAMmI,OAf1C,qBAAKlI,UAAU,uBAAf,SACE,cAAC,GAAD,CACEwc,aAAczc,EAAMmI,MACpBmU,SAAU,SAACnU,GAAD,OACR04C,GAAmB,SAAC5lC,GAElB,OADAA,EAAKjb,EAAMs1B,IAAIsB,SAAShwB,IAAxB,2BAAmCqU,EAAKjb,EAAMs1B,IAAIsB,SAAShwB,KAA3D,IAAgEm2C,YAAa50C,IACtE8S,MAGXhb,UAAW,mBACXoc,YAAY,SASxB,CACEiS,OAAQ,OACRiE,SAAU,OACV5wB,MAAO,MACPwsB,YAAY,EACZW,UAAU,EACVK,iBAAkB,WAClBJ,UAAW,wBACX0D,iBAAkB,WAClBsH,UAAW,OACXjD,KAAM,SAAgB92B,GAA+F,IAAD,EAClH,EAAsCwH,mBAAQ,UAASxH,EAAMmI,aAAf,QAAwB,IAAtE,mBAAOk5C,EAAP,KAAoBC,EAApB,KACA,OAAKthD,EAAMs1B,IAAIsB,SAASC,gBAiCfqF,GAAW6hB,oBAAoB/9C,EAAMmI,OA/B1C,qBAAKlI,UAAU,sCAAf,SACE,cAAC,GAAD,CACEuN,QAASwzC,EACT1kC,SAAU,SAAC2E,EAAQ9Y,GAAT,OACR04C,GAAmB,SAAC5lC,GAGlB,OAFAqmC,EAAen5C,EAAMkQ,OACrB4C,EAAKjb,EAAMs1B,IAAIsB,SAAShwB,IAAxB,2BAAmCqU,EAAKjb,EAAMs1B,IAAIsB,SAAShwB,KAA3D,IAAgEs5C,SAAU/3C,EAAMkQ,QACzE4C,MAGX9S,MAAOk5C,EACPxM,cAAY,EACZz2B,kBAAgB,EAChB4tB,eAAa,EACb8I,WAAW,EACXz2B,YAAa,SAAC5Q,GAAD,OACX,cAAC6Q,GAAA,EAAD,2BACM7Q,GADN,IAEE8Q,WAAU,2BACL9Q,EAAO8Q,YADF,IAERC,kBAAkB,QAIxBC,qBAAsB,SAAC/C,EAAQvT,GAC7B,OAAOuT,EAAOrD,QAAUlQ,SAUtC,CACEmmB,OAAQ,QACRiE,SAAU,QACV5wB,MAAO,MACPwsB,YAAY,EACZW,UAAU,EACVK,iBAAkB,eAClBJ,UAAW,4BACX0D,iBAAkB,WAClBsH,UAAW,OACXjD,KAAM,SAAgB92B,GACpB,OAAKA,EAAMs1B,IAAIsB,SAASC,gBAiBfqF,GAAWkC,aAAap+B,EAAMmI,OAAO,EAAO,gBAfjD,qBAAKlI,UAAU,uBAAf,SACE,cAAC,GAAD,CACEwc,aAAczc,EAAMmI,MACpBmU,SAAU,SAACnU,GAAD,OACR04C,GAAmB,SAAC5lC,GAElB,OADAA,EAAKjb,EAAMs1B,IAAIsB,SAAShwB,IAAxB,2BAAmCqU,EAAKjb,EAAMs1B,IAAIsB,SAAShwB,KAA3D,IAAgEu5C,aAAch4C,IACvE8S,MAGXhb,UAAW,oBACXoc,YAAY,SASxB,CACEiS,OAAQ,eACRiE,SAAU,eACV5wB,MAAO,SACPwsB,YAAY,EACZW,UAAU,EACVK,iBAAkB,QAClBJ,UAAW,qBACX0D,iBAAkB,WAClBsH,UAAW,OACXjD,KAAM,SAAgB92B,GACpB,OAAKA,EAAMs1B,IAAIsB,SAASC,gBAiBfqF,GAAW9a,kBAAkBphB,EAAMmI,MAAO,gBAf/C,qBAAKlI,UAAU,uBAAf,SACE,cAAC,GAAD,CACEwc,aAAczc,EAAMmI,MACpBmU,SAAU,SAACnU,GAAD,OACR04C,GAAmB,SAAC5lC,GAElB,OADAA,EAAKjb,EAAMs1B,IAAIsB,SAAShwB,IAAxB,2BAAmCqU,EAAKjb,EAAMs1B,IAAIsB,SAAShwB,KAA3D,IAAgEw5C,MAAOj4C,IAChE8S,MAGXhb,UAAW,oBACXoc,YAAY,SASxB,CACEiS,OAAQ,eACRiE,SAAU,eACV5wB,MAAO,SACPmtB,UAAU,EACVX,YAAY,EACZgB,iBAAkB,WAClBJ,UAAW,WACX0D,iBAAkB,WAClBsH,UAAW,OACXjD,KAAM,SAAC92B,GAAD,OAAqCk8B,GAAWP,WAAW37B,EAAMmI,OAAO,EAAO,mBAvLZ,SA2L9Do5C,IA3L8D,2EA2L7E,oCAAAnzC,EAAA,4DAC6B6mB,OAAOusB,QAAQZ,GAD5C,sEACclyB,EADd,KACmBvmB,EADnB,uBAGY2I,GAAe+uC,aAAanxB,EAAKvmB,GAH7C,uDAKMnI,EAAMyhD,cAAa,GACnBl1C,QAAQC,IAAR,MANN,yBAQMxM,EAAMyhD,cAAa,GARzB,wGA3L6E,kEAwM7E,sBAAArzC,EAAA,sEACQmzC,IADR,OAEEvhD,EAAM0hD,kBAAiB,GACvB1hD,EAAM6H,YAAY1G,EAASud,MAH7B,4CAxM6E,sBAuN7E,OACE,qCACE,cAAC,GAAD,CACEhC,IAAKi0B,EACLvf,SAAU,CACR,CACExqB,GAAI,WACJyyB,YAAa,WACbnsB,KAAM,CACJqkB,UAAWvxB,EAAMuxB,UACjB2C,aAAcl0B,EAAMk0B,aACpBR,UAAW5iB,GAAe2vC,cAC1B5sB,YAAa7zB,EAAM6zB,aAErBrC,QAASujB,EACTta,eAnBV,WACEluB,QAAQC,IAAI,UAmBJ6rB,YAAa,cACbE,iBAAkB,GAClB5G,WAAY,CAACqvB,GACb5tB,kBAAmB,CACjB,CACEE,MAAO,WACPC,kBAAkB,kBAAD,OAAoBulB,EAApB,iCAKzB9kB,OAAQ,CACNlV,UAAW9e,EAAM8e,UACjBC,WAAY/e,EAAM+e,WAClB+Z,QAAS94B,EAAM84B,QACf7E,SAAUj0B,EAAMi0B,SAChB9gB,aAAcnT,EAAMmT,aACpBkW,gBAAiBrpB,EAAMqpB,iBAEzBoI,WAAY,CACV2D,UAAWp1B,EAAMo1B,UACjBjB,aAAcn0B,EAAMm0B,aACpBtmB,WAAY7N,EAAM6N,WAClBktB,cAAe/6B,EAAM+6B,cACrBrJ,WAAY1xB,EAAM0xB,WAClB0C,cAAep0B,EAAMo0B,eAEvBsB,QAAS,CACP8D,eAAe,EACfZ,eAAe,EACfF,aAAa,EACb/C,eAAe,EACfgD,gBAAgB,GAElBI,WAAY,CACV,CACEG,UACE,cAACh5B,EAAD,CAAQK,KAAM,cAAC,GAAD,IAAWC,UAAU,OAAOK,SAAUb,EAAM8e,UAAWle,QAAS,kBA5Qb,0CA4QmB+gD,IAApF,kBAIF1oB,iBAAiB,GAEnB,CACEC,UACE,cAACh5B,EAAD,CAAQO,QAAQ,YAAYD,UAAU,OAAOK,SAAUb,EAAM8e,UAAWle,QAAS,kBAAMmgD,GAAmB,IAA1G,oBAIF9nB,iBAAiB,MAItB6nB,GACC,cAACH,GAAA,EAAD,CAAOlnC,KAAMqnC,EAAiBp7B,QAAS,kBAAMq7B,GAAmB,IAAhE,SACE,sBAAK9gD,UAAU,WAAf,UACE,6CACA,8EACA,sBAAKA,UAAU,UAAf,UACE,cAACC,EAAD,CAAQO,QAAQ,YAAYG,QAAS,kBAAMmgD,GAAmB,IAA9D,gBAGA,cAAC7gD,EAAD,CAAQO,QAAQ,QAAQG,QAAS,kBAtF3CmgD,GAAmB,QACnB/gD,EAAM6H,YAAY1G,EAASud,OAqFjB,oCCrUC,SAASkjC,KACtB,MAAgCv6C,IAAMG,SAAmBrG,EAASud,MAAlE,mBAAO9W,EAAP,KAAiBC,EAAjB,KACA,EAA0CL,oBAAkB,GAA5D,mBAAOq6C,EAAP,KAAsBH,EAAtB,KACA,EAAkCl6C,oBAAkB,GAApD,mBAAOs6C,EAAP,KAAkBL,EAAlB,KAEA,EAAgCj6C,oBAAkB,GAAlD,mBAAOsX,EAAP,KAAkBC,EAAlB,KACA,EAA4BvX,oBAAkB,GAA9C,mBAAOsxB,EAAP,KAAgB7E,EAAhB,KACA,EAAwCzsB,mBAAiB,IAAzD,mBAAO2L,EAAP,KAAqBkW,EAArB,KACA,EAAkC7hB,mBAAsB,IAAxD,mBAAO+pB,EAAP,KAAkB2C,EAAlB,KACA,EAAkC1sB,mBAAiB,GAAnD,mBAAO4tB,EAAP,KAAkBjB,EAAlB,KACA,EAAoC3sB,mBAAiB,GAArD,mBAAOqG,EAAP,KAAmBktB,EAAnB,KACA,EAAoCvzB,mBAAiB,GAArD,mBAAOkqB,EAAP,KAAmB0C,EAAnB,KAEMP,EAAc,SAACD,EAAsCnzB,GAAkD,IAAD,IAC1G,wBACEmzB,QADF,IACEA,GADF,UACEA,EAAa1kB,eADf,aACE,EAAsBuM,KAAI,SAACgjB,GACzB,OAAO,wCACY,OAAZh+B,GAAgC,QAAZA,IAAsB,CAC7CmG,GAAI63B,EAAO4hB,aAEI,WAAZ5/C,GAAoC,QAAZA,IAAsB,CACjDsT,KAAI,OAAE0qB,QAAF,IAAEA,OAAF,EAAEA,EAAQse,YACdtlC,KAAI,OAAEgnB,QAAF,IAAEA,OAAF,EAAEA,EAAQyhB,SACdnnC,MAAK,OAAE0lB,QAAF,IAAEA,OAAF,EAAEA,EAAQ0hB,aACf4B,aAAY,OAAEtjB,QAAF,IAAEA,OAAF,EAAEA,EAAQ2hB,MACtB4B,aAAY,OAAEvjB,QAAF,IAAEA,OAAF,EAAEA,EAAQwjB,SAEtB1hD,KAA8B,aAAlB,OAANk+B,QAAM,IAANA,OAAA,EAAAA,EAAQse,aAA4B,UAAY,KAExC,QAAZt8C,GAAqB,CACvBo2B,mBAAuB,OAAN4H,QAAM,IAANA,OAAA,EAAAA,EAAQzc,iBACzBqV,cAAUnrB,cAjBlB,QAoBQ,IAIV,OACE,qCACGtE,IAAazG,EAASud,MACrB,cAAC,GAAD,CACE7W,YAAaA,EACb0pB,UAAWA,EACX2C,aAAcA,EACdL,YAAaA,EACb/U,UAAWA,EACXC,WAAYA,EACZ+Z,QAASA,EACT7E,SAAUA,EACV9gB,aAAcA,EACdkW,gBAAiBA,EACjBxb,WAAYA,EACZktB,cAAeA,EACf3F,UAAWA,EACXjB,aAAcA,EACdzC,WAAYA,EACZ0C,cAAeA,IAGlBxsB,IAAazG,EAASyC,MACrB,cAAC,GAAD,CACEiE,YAAaA,EACb0pB,UAAWA,EACX2C,aAAcA,EACdL,YAAaA,EACb/U,UAAWA,EACXC,WAAYA,EACZ+Z,QAASA,EACT7E,SAAUA,EACV9gB,aAAcA,EACdkW,gBAAiBA,EACjBxb,WAAYA,EACZktB,cAAeA,EACf3F,UAAWA,EACXjB,aAAcA,EACdzC,WAAYA,EACZ0C,cAAeA,EACfstB,iBAAkBA,EAClBD,aAAcA,IAGlB,cAACn8B,GAAA,EAAD,CACEC,aAAc,CAAEC,SAAU,MAAOC,WAAY,SAC7ChM,KAAMooC,EACNn8B,QAAS,kBAAMg8B,GAAiB,IAChC/7B,iBAAkB,IAJpB,SAME,cAACC,GAAA,EAAD,CACEF,QAAS,kBAAMg8B,GAAiB,IAChC77B,SAAUi8B,EAAY,QAAU,UAChCh8B,GAAI,CAAEnkB,MAAO,QACb4V,OACE,mBAAGtX,UAAU,QAAQW,QAAS,kBAAM8gD,GAAiB,IAArD,mBALJ,SAUGI,EAAY,gBAAkB,yB,cC/FnC/M,GAAU,CACd,CACEzmB,OAAQ,gBACRiE,SAAU,gBACV5wB,MAAO,MACPwsB,YAAY,EACZW,UAAU,EACVC,UAAW,eACXI,iBAAkB,eAClBsD,iBAAkB,WAClBsH,UAAW,OACXjD,KAAM,SAAC92B,GAAD,OAAqCk8B,GAAWkC,aAAap+B,EAAMmI,OAAO,EAAO,kBAEzF,CACEmmB,OAAQ,QACRiE,SAAU,QACV5wB,MAAO,MACPwsB,YAAY,EACZW,UAAU,EACVK,iBAAkB,QAClBJ,UAAW,sBACX0D,iBAAkB,WAClBsH,UAAW,OACXjD,KAAM,SAAC92B,GAAD,OAAqCk8B,GAAWkC,aAAap+B,EAAMmI,OAAO,EAAO,kBAEzF,CACEmmB,OAAQ,YACRiE,SAAU,YACV5wB,MAAO,QACPwsB,YAAY,EACZW,UAAU,EACVK,iBAAkB,WAClBJ,UAAW,WACX0D,iBAAkB,WAClBsH,UAAW,OACXjD,KAAM,SAAC92B,GAAD,OAAqCk8B,GAAWkC,aAAap+B,EAAMmI,OAAO,EAAO,kBAEzF,CACEmmB,OAAQ,SACRiE,SAAU,SACV5wB,MAAO,QACPwsB,YAAY,EACZW,UAAU,EACVK,iBAAkB,SAClBJ,UAAW,SACX0D,iBAAkB,WAClBsH,UAAW,OACXjD,KAAM,SAAC92B,GAAD,OAAqCk8B,GAAWgmB,qBAAqBliD,EAAMmI,SAEnF,CACEmmB,OAAQ,gBACRiE,SAAU,gBACV5wB,MAAO,MACPmtB,UAAU,EACVX,YAAY,EACZgB,iBAAkB,eAClBJ,UAAW,eACX0D,iBAAkB,WAClBsH,UAAW,OACXjD,KAAM,SAAC92B,GAAD,OAAqCk8B,GAAWP,WAAW37B,EAAMmI,OAAO,EAAO,mBAInFg6C,GAAgB,CAAC,mDAAoD,iBAK5D,SAASC,KACtB,MAAgC56C,oBAAkB,GAAlD,mBAAOsX,EAAP,KAAkBC,EAAlB,KACA,EAA4BvX,oBAAkB,GAA9C,mBAAOsxB,EAAP,KAAgB7E,EAAhB,KACA,EAAwCzsB,mBAAiB,IAAzD,mBAAO2L,EAAP,KAAqBkW,EAArB,KACA,EAAkC7hB,mBAAiB,GAAnD,mBAAO4tB,EAAP,KAAkBjB,EAAlB,KACA,EAAoC3sB,mBAAiB,GAArD,mBAAOqG,EAAP,KAAmBktB,EAAnB,KACA,EAAoCvzB,mBAAiB,GAArD,mBAAOkqB,EAAP,KAAmB0C,EAAnB,KACA,EAAkC5sB,mBAAsB,IAAxD,mBAAO+pB,EAAP,KAAkB2C,EAAlB,KACA,EAAgD1sB,oBAAkB,GAAlE,mBAAO66C,EAAP,KAAyBC,EAAzB,KACA,EAAoC96C,mBAAmB,IAAvD,mBAAO+6C,EAAP,KAAmBC,EAAnB,KACA,EAA0Bh7C,oBAAkB,GAA5C,mBAAO63C,EAAP,KAAcC,EAAd,KACA,EAAoC93C,oBAAkB,GAAtD,mBAAOspC,EAAP,KAAmBC,EAAnB,KAwDM0R,EAAsB,uCAAG,WAAOlQ,GAAP,SAAAnkC,EAAA,sEAChBuK,QAAQsf,IACnBsa,EAAI92B,KAAI,SAAC7U,GACP,OAAOyK,GAAgBqxC,SAAS97C,OAElCnH,KAJW,uCAIN,WAAOyN,GAAP,mBAAAkB,EAAA,qEACalB,GADb,+DACMy1C,EADN,iBAEG/qC,GAAM8B,aAAaipC,GAFtB,qMAJM,uDADgB,mFAAH,sDAgB5B,IAKMC,EAAqB,uCAAG,sBAAAx0C,EAAA,sEACfuK,QAAQsf,IACnBsqB,EAAW9mC,KAAI,SAAC7U,GACd,OAAOyK,GAAgBwxC,QAAQj8C,OAEjCnH,MAAK,WACL6iD,GAAoB,GACpBhD,GAAS,GACTvO,GAAc,MARY,mFAAH,qDAY3B,OACE,sBAAK9wC,UAAU,oBAAf,UACE,cAAC,GAAD,CACEmxB,SAAU,CACR,CACExqB,GAAI,YACJyyB,YAAa,YACbnsB,KAAM,CACJqkB,UAAWA,EACX2C,aAAcA,EACdR,UAhGa,SAAChmB,EAAiBH,EAAkBI,EAAgBC,EAAmBC,GAC9F,OAAO,IAAI8K,SAAQ,SAACC,GAClBC,YAAW,WACTD,EAAQ,CACN8Y,WAAY,EACZ9jB,SAAU,GACVC,WAAY,EACZqB,QAAS,CACP,CACEtI,GAAI,uCACJk8C,cAAeX,GAAc,GAAG5pC,OAAS,GAA1B,UAAkC4pC,GAAc,GAAGzZ,OAAO,EAAG,IAA7D,OAAwEyZ,GAAc,GACrGY,MAAO,iBACPC,UAAW,MACXl2B,OAAQ,SACRwnB,cAAe,4BAEjB,CACE1tC,GAAI,uCACJk8C,cAAeX,GAAc,GAAG5pC,OAAS,GAA1B,UAAkC4pC,GAAc,GAAGzZ,OAAO,EAAG,IAA7D,OAAwEyZ,GAAc,GACrGY,MAAO,cACPC,UAAW,MACXl2B,OAAQ,WACRwnB,cAAe,iCAIpB,SAuEKzgB,YAnEQ,SAACD,EAAkBnzB,GAAkD,IAAD,IACtF,wBACEmzB,QADF,IACEA,GADF,UACEA,EAAa1kB,eADf,aACE,EAAsBuM,KAAI,SAACgjB,GACzB,OAAO,wCACY,OAAZh+B,GAAgC,QAAZA,IAAsB,CAC7CmG,GAAI63B,EAAO73B,MAEI,WAAZnG,GAAoC,QAAZA,IAAsB,CACjDqiD,cAAerkB,EAAOqkB,cACtBC,MAAOtkB,EAAOskB,MACdC,UAAWvkB,EAAOukB,UAClBl2B,OAAQ2R,EAAO3R,OACfwnB,cAAe7V,EAAO6V,gBAER,QAAZ7zC,GAAqB,CACvBo2B,qBAAiB3qB,EACjBmrB,cAAUnrB,cAflB,QAkBQ,KAkDAslB,QAASujB,GACTta,eAnCV,SAAwB1f,EAAoCua,GAAqC,IAAD,EAC9FmtB,EAAuB,WAACntB,EAAIsB,SAAShwB,UAAd,QAAoB,MAmCnCyxB,YAAa,eACbE,iBAAkB,SAGtBvE,OAAQ,CACNlV,UAAWA,EACXC,WAAYA,EACZ+Z,QAASA,EACT7E,SAAUA,EACV9gB,aAAcA,EACdkW,gBAAiBA,GAEnBoI,WAAY,CACV2D,UAAWA,EACXjB,aAAcA,EACdtmB,WAAYA,EACZktB,cAAeA,EACfrJ,WAAYA,EACZ0C,cAAeA,GAEjBsB,QAAS,CACP8D,eAAe,EACfZ,eAAe,EACfF,aAAa,EACb/C,eAAe,EACfgD,gBAAgB,GAElBQ,cAAe,CACb,CACE54B,KAAM,cAAC,EAAD,IACNE,QAAS,YACTD,UAAW,OACXQ,SAAU,WACVo4B,SAAU,SAACmZ,GAAD,OAASkQ,EAAuBlQ,KAE5C,CACEhyC,KAAM,cAAC,GAAD,IACNE,QAAS,YACTD,UAAW,OACXQ,SAAU,UACVo4B,SAAU,SAACmZ,IAxEM,SAACA,GAC1BiQ,EAAcjQ,GACd+P,GAAoB,GAuEVW,CAAmB1Q,QAM1B8P,GACC,cAAC1B,GAAA,EAAD,CAAOlnC,KAAM4oC,EAAkB38B,QAAS,kBAAM48B,GAAoB,IAAlE,SACE,sBAAKriD,UAAU,WAAf,UACE,mDACA,kEACoCsiD,EAAWhqC,OAD/C,YACsF,IAAtBgqC,EAAWhqC,OAAe,GAAK,OAE/F,sBAAKtY,UAAU,UAAf,UACE,cAACC,EAAD,CAAQO,QAAQ,YAAYG,QAAS,kBAAM0hD,GAAoB,IAA/D,oBAGA,cAACpiD,EAAD,CAAQU,QAAS,kBAAMgiD,KAAvB,6BAMR,cAACt9B,GAAA,EAAD,CAAUC,aAAc,CAAEC,SAAU,MAAOC,WAAY,SAAWhM,KAAM4lC,EAAO35B,QAAS,kBAAM45B,GAAS,IAAQ35B,iBAAkB,IAAjI,SACE,cAACC,GAAA,EAAD,CACEF,QAAS,kBAAM45B,GAAS,IACxBz5B,SAAUirB,EAAa,QAAU,UACjChrB,GAAI,CAAEnkB,MAAO,QACb4V,OACE,mBAAGtX,UAAU,QAAQW,QAAS,kBAAM0+C,GAAS,IAA7C,mBALJ,SAUGxO,EAAa,gBAAkByR,EAAWhqC,OAAS,EAAI,qBAAuB,2B,OC5P1E,SAAS2qC,GAAQljD,GAA6B,IAAD,IAC1D,OACE,wBAAQ4G,GAAI5G,EAAM4G,GAAI3G,UAAS,sBAAiBD,EAAMY,QAAU,wBAA0B,GAA3D,sBAAiEZ,EAAMC,iBAAvE,QAAoF,IAAMW,QAASZ,EAAMY,QAASE,KAAK,SAAtJ,mBACGd,EAAMO,YADT,QACiB,cAAC,EAAD,MCKN,SAAS4iD,GAAmBnjD,GAAgD,IAAD,4DACxF,EAAkC64C,cAA1BwH,EAAR,EAAQA,UAAWvH,EAAnB,EAAmBA,WACnB,EAA8CtxC,oBAAkB,GAAhE,mBAAOy3C,EAAP,KAAwBC,EAAxB,KACA,EAA0B13C,oBAAkB,GAA5C,mBAAO63C,EAAP,KAAcC,EAAd,KACA,EAAoC93C,oBAAkB,GAAtD,mBAAOspC,EAAP,KAAmBC,EAAnB,KACM9+B,GAAU4M,cACRmH,GAASoD,cAATpD,KAEFo9B,GAAmB,uCAAG,sBAAAh1C,EAAA,+EAElB0C,GAAe+uC,aAAaQ,EAAW,CAAEh6B,UAAU,IAFjC,OAGxB0qB,GAAc,GAHU,+CAKxBA,GAAc,GALU,uBAOxBmO,GAAmB,GACnBI,GAAS,GARe,0EAAH,qDAYzB,OACE,sBAAKr/C,UAAU,iBAAf,UACE,qBAAKA,UAAU,mBAAf,SACGD,EAAMqjD,WACL,qCACE,qBAAKpjD,UAAW,qBAAhB,uIAGA,sBAAKA,UAAW,eAAhB,UACE,yCAAY07B,GAAU,oBAAC37B,EAAMkN,YAAP,aAAC,EAAY+0C,gBAAb,QAAyB,UAC/C,kEAIJ,qCACE,sBAAKhiD,UAAU,UAAf,UACE,cAACC,EAAD,CAAQK,KAAM,cAAC,GAAD,IAAUE,QAAQ,UAAUC,KAAK,KAAKF,UAAW,OAAQI,QAAS,kBAAMZ,EAAM6H,YAAY1G,EAASyC,OAAjH,kBAGA,cAAC1D,EAAD,CAAQK,KAAM,cAAC,GAAD,IAAYE,QAAQ,YAAYC,KAAK,KAAKF,UAAW,OAAQI,QAAS,kBAAMs+C,GAAmB,IAA7G,uBAIF,sBAAKj/C,UAAW,eAAhB,UACE,yCAAY07B,GAAU,oBAAC37B,EAAMkN,YAAP,aAAC,EAAY+0C,gBAAb,QAAyB,UAG/C,+CAKR,cAAC,KAAD,CAA4Bz0C,QAAS,CAAEisB,iBAAiB,EAAMC,YAAY,GAA1E,SACE,sBAAKz5B,UAAU,iBAAf,UACE,gCACE,sBAAKA,UAAU,WAAf,UACE,cAAC,GAAD,CAAS2G,GAAG,aACZ,oBAAI3G,UAAU,eAAd,mBAA8BD,EAAMkN,YAApC,aAA8B,EAAY6vC,iBAG5C,cAAC,GAAD,CACEx8C,KAAM,cAAC,GAAD,IACNixB,QAAS,CACPpxB,MAAO,WACP+H,MAAM,GAAD,QACH,UAAAnI,EAAMkN,YAAN,eAAY9M,QAASJ,EAAMkN,KAAKgzC,SAAhC,oBACOlgD,EAAMkN,YADb,aACO,EAAY9M,MADnB,uBAC6BJ,EAAMkN,YADnC,aAC6B,EAAYgzC,SADzC,cACuDlgD,EAAMsjD,YAAY9iC,cACrE,UAAAxgB,EAAMkN,YAAN,eAAY9M,OAAZ,UACGJ,EAAMkN,KAAK9M,MADd,aACwBJ,EAAMsjD,YAAY9iC,cAC1C,UAAAxgB,EAAMkN,YAAN,eAAYgzC,UAAZ,UACGlgD,EAAMkN,KAAKgzC,SADd,aAC2BlgD,EAAMsjD,YAAY9iC,aAD7C,oBAEaxgB,EAAMsjD,YAAY9iC,iBAIzC,cAAC,GAAD,CAAQjgB,KAAM,cAAC,GAAD,IAAWixB,QAAS,CAAEpxB,MAAO,QAAS+H,MAAK,oBAAEnI,EAAMkN,YAAR,aAAE,EAAYizC,oBAAd,QAA8B,GAAIt4B,OAAQ,WACnG,cAAC,GAAD,CAAQtnB,KAAM,cAAC,GAAD,IAAWixB,QAAS,CAAEpxB,MAAO,QAAS+H,MAAK,oBAAEnI,EAAMkN,YAAR,aAAE,EAAYkzC,aAAd,QAAuB,GAAIv4B,OAAQ,SAC5F,cAAC,GAAD,CAAQtnB,KAAM,cAAC,GAAD,IAASixB,QAAS,CAAEpxB,MAAO,MAAO+H,MAAK,oBAAEnI,EAAMkN,YAAR,aAAE,EAAYq2C,WAAd,QAAqB,GAAI17B,OAAQ,SACtF,cAAC,GAAD,CACEtnB,KAAM,cAAC,GAAD,IACNixB,QAAS,CACPpxB,MAAO,UACP+H,MAAOy0C,GAAa,oBAClB58C,EAAMkN,YADY,aAClB,EAAYyT,gBADM,QACM,GADN,oBAElB3gB,EAAMkN,YAFY,aAElB,EAAY0T,gBAFM,QAEM,GACxB,GAHkB,oBAIlB5gB,EAAMkN,YAJY,aAIlB,EAAY4T,YAJM,QAIE,GAJF,oBAKlB9gB,EAAMkN,YALY,aAKlB,EAAY6T,mBALM,QAKS,GALT,oBAMlB/gB,EAAMkN,YANY,aAMlB,EAAY2T,kBANM,QAMQ,GANR,oBAOlBT,GAAU1S,QAAO,SAACyG,GAAa,IAAD,EAC5B,OAAOA,EAAQvN,MAAR,UAAe5G,EAAMkN,YAArB,aAAe,EAAYs2C,gBACjC,UATe,aAOlB,EAEOnrC,aATW,QASF,OAItB,cAAC,GAAD,CAAQ9X,KAAM,cAAC,GAAD,IAAcixB,QAAS,CAAEpxB,MAAO,WAAY+H,MAAK,oBAAEnI,EAAMkN,YAAR,aAAE,EAAYu2C,kBAAd,QAA4B,GAAI57B,OAAQ,aAGzG,qBAAK5nB,UAAU,QAAf,SACE,cAAC,GAAD,UACE,cAAC,GAAD,CAAYG,MAAM,QAAQ+yC,SAAS,iBAAiBD,UAAWmN,aAKtEpB,GACC,cAAC0B,GAAA,EAAD,CAAOlnC,KAAMwlC,EAAiBv5B,QAAS,kBAAMw5B,GAAmB,IAAhE,SACE,sBAAKj/C,UAAU,WAAf,UACE,gDACA,6EACA,sBAAKA,UAAU,UAAf,UACE,cAACC,EAAD,CAAQO,QAAQ,YAAYG,QAAS,kBAAMs+C,GAAmB,IAA9D,oBAGA,cAACh/C,EAAD,CAAQO,QAAQ,QAAQG,QAAS,kBAAMwiD,MAAvC,4BAOR,cAAC99B,GAAA,EAAD,CACEC,aAAc,CAAEC,SAAU,MAAOC,WAAY,SAC7ChM,KAAM4lC,EACN35B,QAAS,WACP45B,GAAS,IACRxO,GAAc7+B,GAAQiN,KAAK,UAAG8G,GAAK0iB,OAAO,EAAG1iB,GAAKgE,YAAL,gBAAlB,oBAAmE8uB,EAAnE,iCAE9BnzB,iBAAkB,IAPpB,SASE,cAACC,GAAA,EAAD,CACEF,QAAS,kBAAM45B,GAAS,IACxBz5B,SAAUirB,EAAa,QAAU,UACjChrB,GAAI,CAAEnkB,MAAO,QACb4V,OACE,mBAAGtX,UAAU,QAAQW,QAAS,kBAAM0+C,GAAS,IAA7C,mBALJ,SAUGxO,EAAa,kBAAoB,yBCxI7B,SAAS4S,GAAmB1jD,GAAqD,IAAD,IAC7F,EAAoDwH,mBAAgCxH,EAAM2jD,aAA1F,mBAAOC,EAAP,KAA2BC,EAA3B,KACA,EAA8Cr8C,oBAAkB,GAAhE,mBAAOs5C,EAAP,KAAwBC,EAAxB,KACQV,EAAcxH,cAAdwH,UACR,EAAsC74C,mBAAgE,IAAtG,mBAAOw5C,EAAP,KAAoBC,EAApB,KACA,EAAwDz5C,mBAAiB,IAAzE,mBAAOs8C,EAAP,KAA6BC,EAA7B,KACA,EAA0Dv8C,mBAAiB,IAA3E,mBAAOw8C,EAAP,KAA8BC,EAA9B,KAN6F,4CAQ7F,sBAAA71C,EAAA,sEACQ4C,GACHE,qBAAqB,oCAAgChF,EAAW,oBAChEzM,MAAK,SAACyN,GAA0C,IAAD,IAC9C+zC,EAAc,oBACZ/zC,EAAKgC,eADO,aACZ,EAAcuM,KAAI,SAAChE,GAA+B,IAAD,IAC/C,MAAO,CACL7Q,GAAI6Q,EAAKypC,iBACT/4C,MAAK,UAAEsP,EAAK0pC,uBAAP,QAA0B,GAC/Bp1B,aAAY,UAAEtU,EAAK0pC,uBAAP,QAA0B,cAL9B,QAON,OAXd,4CAR6F,kEA4B7F,sBAAA/yC,EAAA,2EAEIpO,EAFJ,SAE+B8Q,GAAe+uC,aAAaQ,EAAWuD,GAFtE,wBAEUM,eAFV,gEAIIlkD,EAAM+wC,eAAc,GACpBxkC,QAAQC,IAAR,MALJ,0DA5B6F,sBAwB7F0O,qBAAU,YAxBmF,mCAyB3FkmC,KACC,IAWH,IAAM+C,EAAa,WACjB,IAAI5D,GAAQ,EACPqD,EAAmB7G,YAItBgH,EAAwB,KAHxBxD,GAAQ,EACRwD,EAAwB,kBAIrBH,EAAmBzD,aAGZvoC,GAAMkB,WAAW8qC,EAAmBzD,cAI9CngD,EAAMsjD,YAAYc,UAClBpkD,EAAMsjD,YAAYc,SAAS5sC,MAAK,SAACqgB,GAAD,OAAUA,EAAKwoB,YAAcA,GAAaxoB,EAAKsoB,eAAiByD,EAAmBzD,iBAEnHI,GAAQ,EACR0D,EAAyB,+CAEzBA,EAAyB,KATzB1D,GAAQ,EACR0D,EAAyB,yBAJzB1D,GAAQ,EACR0D,EAAyB,mBAavB1D,KA5DuF,mCA6DzF8D,GACArkD,EAAM6H,YAAY1G,EAASud,MAC3B1e,EAAMskD,oBAAmB,KAQ7B,OACE,sBAAKrkD,UAAU,eAAf,UACE,sBAAKA,UAAU,mBAAf,UACE,sBAAKA,UAAU,UAAf,UACE,cAACC,EAAD,CAAQK,KAAM,cAAC,GAAD,IAAUE,QAAQ,UAAUC,KAAK,KAAKF,UAAW,OAAQI,QAAS,kBAAMujD,KAAtF,kBAGA,cAACjkD,EAAD,CAAQO,QAAQ,YAAYC,KAAK,KAAKE,QAAS,kBAAMmgD,GAAmB,IAAxE,uBAIF,sBAAK9gD,UAAU,eAAf,UACE,yCAAY07B,GAAU,UAACioB,EAAmB3B,gBAApB,QAAgC,UAGtD,6CAGJ,cAAC,KAAD,CAA4Bz0C,QAAS,CAAEisB,iBAAiB,EAAMC,YAAY,GAA1E,SACE,uBAAMvb,SAAU,SAACpD,GAAD,OAAOA,EAAEC,kBAAkB/a,UAAU,YAAY2G,GAAG,oBAApE,UACE,sBAAK3G,UAAU,WAAf,UACE,cAAC,GAAD,CAAS2G,GAAG,aACZ,cAAC1G,EAAD,CAAQK,KAAM,cAAC,GAAD,IAAYE,QAAQ,YAAYC,KAAK,KAAKF,UAAW,OAAQP,UAAU,aAAaW,QAAS,WAzBnH2L,QAAQC,IAAI,iBAyBJ,6BAIF,sBAAKvM,UAAU,WAAf,UACE,qBAAKA,UAAU,MAAf,SACE,cAAC,GAAD,MAEF,cAAC,GAAD,CACEoY,MAAO,kBACPoE,aAAcmnC,EAAmB7G,YACjCzgC,SAAU,SAACnU,GAAD,OACR07C,GAAsB,SAAC5oC,GACrB,OAAO,2BAAKA,GAAZ,IAAkB8hC,YAAa50C,QAGnClI,UAAW,WACXoc,YAAY,iBACZ,cAAY,aACZS,UAAQ,EACR3J,aAAc2wC,OAGlB,sBAAK7jD,UAAU,WAAf,UACE,qBAAKA,UAAU,MAAf,SACE,cAAC,GAAD,MAEF,sBAAKA,UAAU,aAAf,UACE,sBAAMA,UAAU,qBAAhB,SACE,uBAAOA,UAAU,WAAjB,oBAEF,cAAC,GAAD,CACEM,KAAM,cAAC,GAAD,IACNN,UAAW,yBACXwc,aAAcmnC,EAAmB1D,SACjCt/C,QAAS,SAACmrB,GAAD,OACP83B,GAAsB,SAAC5oC,GACrB,OAAO,2BACFA,GADL,IAEEilC,SAAUn0B,QAIhBve,QAASwzC,EACTn1B,aAAc,QAGlB,cAAC,GAAD,CACExT,MAAO,QACPoE,aAAcmnC,EAAmBxjD,MACjCkc,SAAU,SAACnU,GAAD,OACR07C,GAAsB,SAAC5oC,GACrB,OAAO,2BAAKA,GAAZ,IAAkB7a,MAAO+H,QAG7BlI,UAAW,cACXoc,YAAY,eACZ,cAAY,qBAGhB,sBAAKpc,UAAU,WAAf,UACE,qBAAKA,UAAU,MAAf,SACE,cAAC,GAAD,MAEF,cAAC,GAAD,CACEoY,MAAO,mBACPoE,aAAcmnC,EAAmBzD,aACjC7jC,SAAU,SAACnU,GAAD,OACR07C,GAAsB,SAAC5oC,GACrB,OAAO,2BAAKA,GAAZ,IAAkBklC,aAAch4C,QAGpClI,UAAW,WACXoc,YAAY,eACZ,cAAY,YACZS,UAAQ,EACR3J,aAAc6wC,OAGlB,sBAAK/jD,UAAU,WAAf,UACE,qBAAKA,UAAU,MAAf,SACE,cAAC,GAAD,MAEF,cAAC,GAAD,CACEoY,MAAO,QACPoE,aAAcmnC,EAAmBxD,MACjC9jC,SAAU,SAACnU,GAAD,OACR07C,GAAsB,SAAC5oC,GACrB,OAAO,2BAAKA,GAAZ,IAAkBmlC,MAAOj4C,QAG7BlI,UAAW,WACXoc,YAAY,iBACZ,cAAY,iBAGhB,sBAAKpc,UAAU,WAAf,UACE,qBAAKA,UAAU,MAAf,SACE,cAAC,GAAD,MAEF,cAAC,GAAD,CACEoY,MAAO,MACPoE,aAAcmnC,EAAmBL,IACjCjnC,SAAU,SAACnU,GAAD,OACR07C,GAAsB,SAAC5oC,GACrB,OAAO,2BAAKA,GAAZ,IAAkBsoC,IAAKp7C,QAG3BlI,UAAW,WACXoc,YAAY,iBACZ,cAAY,eAGhB,sBAAKpc,UAAU,WAAf,UACE,qBAAKA,UAAU,MAAf,SACE,cAAC,GAAD,MAEF,cAAC,GAAD,CACEoY,MAAO,iBACPoE,aAAcmnC,EAAmBjjC,SACjCrE,SAAU,SAACnU,GAAD,OACR07C,GAAsB,SAAC5oC,GACrB,OAAO,2BAAKA,GAAZ,IAAkB0F,SAAUxY,QAGhClI,UAAW,eACXoc,YAAY,kBACZ,cAAY,mBAEd,cAAC,GAAD,CACEhE,MAAO,gBACPoE,aAAcmnC,EAAmBhjC,SACjCtE,SAAU,SAACnU,GAAD,OACR07C,GAAsB,SAAC5oC,GACrB,OAAO,2BAAKA,GAAZ,IAAkB2F,SAAUzY,QAGhClI,UAAW,sBACXoc,YAAY,IACZ,cAAY,sBAGhB,sBAAKpc,UAAU,uBAAf,UACE,cAAC,GAAD,CACEoY,MAAO,cACPoE,aAAcmnC,EAAmB/iC,WACjCvE,SAAU,SAACnU,GAAD,OACR07C,GAAsB,SAAC5oC,GACrB,OAAO,2BAAKA,GAAZ,IAAkB4F,WAAY1Y,QAGlClI,UAAW,yBACXoc,YAAY,QACZ,cAAY,gBAEd,cAAC,GAAD,CACEhE,MAAO,OACPoE,aAAcmnC,EAAmB9iC,KACjCxE,SAAU,SAACnU,GAAD,OACR07C,GAAsB,SAAC5oC,GACrB,OAAO,2BAAKA,GAAZ,IAAkB6F,KAAM3Y,QAG5BlI,UAAW,wBACXoc,YAAY,gBACZ,cAAY,aAEd,cAAC,GAAD,CACEhE,MAAO,eACPoE,aAAcmnC,EAAmB7iC,YACjCzE,SAAU,SAACnU,GAAD,OACR07C,GAAsB,SAAC5oC,GACrB,OAAO,2BAAKA,GAAZ,IAAkB8F,YAAa5Y,QAGnClI,UAAW,sBACXoc,YAAY,KACZ,cAAY,iBAGhB,qBAAKpc,UAAU,uBAAf,SACE,sBAAKA,UAAU,2BAAf,UACE,qBAAKA,UAAU,qBAAf,SACE,uBAAOA,UAAU,WAAWkc,QAAQ,sBAApC,uBAIF,cAAC,GAAD,CACEvV,GAAG,sBACH,cAAY,uBACZ4G,QAAS4S,GACTngB,UAAU,gBACVqc,SAAU,SAACid,EAAQpxB,GACjB07C,GAAsB,SAAC5oC,GAAiC,IAAD,EACrD,OAAO,2BAAKA,GAAZ,IAAkBuoC,YAAW,iBAAEr7C,QAAF,IAAEA,OAAF,EAAEA,EAAOvB,UAAT,QAAe,WAGhDuB,MAAK,UACHiY,GAAU1S,QAAO,SAACyG,GAChB,OAAOA,EAAQvN,KAAOg9C,EAAmBJ,eACxC,UAHA,aACH,EAEOnrC,MAET+F,kBAAgB,EAChBK,qBAAsB,SAAC/C,EAAavT,GAAd,OAA6BuT,EAAOrD,QAAUlQ,EAAMkQ,OAC1EgG,YAAa,SAAC5Q,GAAD,OACX,cAAC6Q,GAAA,EAAD,2BACM7Q,GADN,IAEE8Q,WAAU,2BACL9Q,EAAO8Q,YADF,IAERC,kBAAkB,EAClB5B,aAAc,uBAO1B,sBAAK3c,UAAU,WAAf,UACE,qBAAKA,UAAU,MAAf,SACE,cAAC,GAAD,MAEF,cAAC,GAAD,CACEoY,MAAO,WACPoE,aAAcmnC,EAAmBH,WACjCnnC,SAAU,SAACnU,GAAD,OACR07C,GAAsB,SAAC5oC,GACrB,OAAO,2BAAKA,GAAZ,IAAkBwoC,WAAYt7C,QAGlClI,UAAW,iBACXoc,YAAY,8CACZ,cAAY,yBAKnBykC,GACC,cAACH,GAAA,EAAD,CAAOlnC,KAAMqnC,EAAiBp7B,QAAS,kBAAMq7B,GAAmB,IAAhE,SACE,sBAAK9gD,UAAU,WAAf,UACE,6CACA,8EACA,sBAAKA,UAAU,UAAf,UACE,cAACC,EAAD,CAAQO,QAAQ,YAAYG,QAAS,kBAAMmgD,GAAmB,IAA9D,gBAGA,cAAC7gD,EAAD,CAAQO,QAAQ,QAAQG,QAAS,kBAAMZ,EAAM6H,YAAY1G,EAASud,OAAlE,oCCrWC,SAAS6lC,KACtB,MAAgCl9C,IAAMG,SAAmBrG,EAASud,MAAlE,mBAAO9W,EAAP,KAAiBC,EAAjB,KACA,EAA8CL,oBAAkB,GAAhE,mBAAOg9C,EAAP,KAAwBF,EAAxB,KACA,EAAoC98C,oBAAkB,GAAtD,mBAAOspC,EAAP,KAAmBC,EAAnB,KACA,EAAsCvpC,mBAAgC,IAAtE,mBAAOi9C,EAAP,KAAoBP,EAApB,KACA,EAAsC18C,mBAAuB,IAA7D,mBAAO87C,EAAP,KAAoBoB,EAApB,KACQrE,EAAcxH,cAAdwH,UACF92B,EAAS,uCAAG,8BAAAnb,EAAA,+EAEW0C,GAAe6zC,WAAWtE,GAFrC,cAERuE,EAFQ,OAGdV,EAAeU,GAHD,SAIW50C,GAAgB60C,WAAWD,EAAWz2C,UAAW,YAJ5D,OAIR22C,EAJQ,OAKdJ,EAAeI,GALD,kDAQdv4C,QAAQC,IAAR,MARc,0DAAH,qDAgBf,OAJA0O,qBAAU,WACRqO,MACC,IAGD,qCACG3hB,IAAazG,EAASud,MACrB,cAAC,GAAD,CAAM7W,YAAaA,EAAaqF,KAAMu3C,EAAanB,YAAaA,EAAaD,aAAYoB,EAAYziC,kBAEtGpa,IAAazG,EAASyC,MACrB,cAAC,GAAD,CACEiE,YAAaA,EACb87C,YAAac,EACbnB,YAAaA,EACbvS,cAAeA,EACfuT,mBAAoBA,EACpBJ,eAAgBA,IAIpB,cAAC5+B,GAAA,EAAD,CACEC,aAAc,CAAEC,SAAU,MAAOC,WAAY,SAC7ChM,KAAM+qC,EACN9+B,QAAS,kBAAM4+B,GAAmB,IAClC3+B,iBAAkB,IAJpB,SAME,cAACC,GAAA,EAAD,CACEF,QAAS,kBAAM4+B,GAAmB,IAClCz+B,SAAUirB,EAAa,QAAU,UACjChrB,GAAI,CAAEnkB,MAAO,QACb4V,OACE,mBAAGtX,UAAU,QAAQW,QAAS,kBAAM0jD,GAAmB,IAAvD,mBALJ,SAUGxT,EAAa,SAAW,uBC9CpB,SAASiU,KACtB,IAAQ/+B,EAASoD,cAATpD,KACA8yB,EAAeD,cAAfC,WACR,EAAgCtxC,oBAAkB,GAAlD,mBAAOsX,EAAP,KAAkBC,EAAlB,KACA,EAAwCvX,mBAAiB,IAAzD,mBAAO2L,EAAP,KAAqBkW,EAArB,KACQ6xB,EAAuB7zC,IAAMsT,WAAWqgC,IAAxCE,mBAEF3xB,EAAS,uCAAG,sBAAAnb,EAAA,6DAChBib,EAAgB,IAChBtK,GAAW,GAFK,kBAIRm8B,EAAmBpC,GAJX,uDAMdzvB,EAAgB,KAAMG,SANR,QAQhBzK,GAAW,GARK,yDAAH,qDAef,OAJA7D,qBAAU,WACRqO,MACC,IAEIpW,EACL,qBAAKlT,UAAU,0BAAf,SACE,cAAC,GAAD,CAAOymB,YAAU,EAAjB,SAAmBvT,MAEnB2L,EACF,qBAAK7e,UAAU,0BAAf,SACE,cAAC,GAAD,CAASymB,YAAU,MAGrB,eAAC,IAAD,WACE,cAAC,IAAD,CACEP,OAAK,EACLH,KAAI,UAAKA,EAAL,8BACJkT,UAAW,WACT,OACE,8BACE,cAAC,GAAD,SAKR,sBAAKj5B,UAAU,0BAAf,UACE,qBAAKA,UAAU,OAAf,SACE,cAAC,GAAD,MAEF,cAAC,IAAD,CACEkmB,OAAK,EACLH,KAAI,UAAKA,GACTgU,OAAQ,WACN,OACE,qBAAK/5B,UAAU,aAAf,SACE,cAAC,GAAD,SAMR,cAAC,IAAD,CACEkmB,OAAK,EACLH,KAAI,UAAKA,EAAL,YACJkT,UAAW,WACT,OACE,qBAAKj5B,UAAU,OAAf,SACE,cAAC46C,GAAD,SAKR,cAAC,IAAD,CACE10B,OAAK,EACLH,KAAI,UAAKA,EAAL,kBACJkT,UAAW,WACT,OACE,qBAAKj5B,UAAU,aAAf,SACE,cAAC09C,GAAD,SAKR,cAAC,IAAD,CACEx3B,OAAK,EACLH,KAAI,UAAKA,EAAL,oBACJkT,UAAW,WACT,OACE,qBAAKj5B,UAAU,aAAf,SACE,cAACo7C,GAAD,SAKR,cAAC,IAAD,CACEl1B,OAAK,EACLH,KAAI,UAAKA,EAAL,aACJkT,UAAW,WACT,OACE,qBAAKj5B,UAAU,aAAf,SACE,cAAC,GAAD,SAKR,cAAC,IAAD,CACEkmB,OAAK,EACLH,KAAI,UAAKA,EAAL,aACJkT,UAAW,WACT,OACE,qBAAKj5B,UAAU,aAAf,SACE,cAAC,GAAD,SAMR,cAAC,IAAD,CACEkmB,OAAK,EACLH,KAAI,UAAKA,EAAL,cACJkT,UAAW,WACT,OACE,qBAAKj5B,UAAU,aAAf,SACE,cAACmiD,GAAD,eCpIhB,IAAMrN,GAAU,CACd,CACEzmB,OAAQ,gBACRiE,SAAU,gBACV5wB,MAAO,MACPwsB,YAAY,EACZM,iBAAkB,sBAClBK,UAAU,EACVK,iBAAkB,cAClBsD,iBAAkB,WAClBsH,UAAW,OACXjD,KAAM,SAAC92B,GAAD,OAA8Bk8B,GAAWkC,aAAap+B,EAAMmI,OAAO,KAE3E,CACEmmB,OAAQ,kBACRiE,SAAU,kBACV5wB,MAAO,MACPwsB,YAAY,EACZM,iBAAkB,eAClBK,UAAU,EACVK,iBAAkB,iBAClBJ,UAAW,8BACX0D,iBAAkB,WAClBsH,UAAW,OACXjD,KAAM,SAAC92B,GAAD,OAA8Bk8B,GAAWkC,aAAap+B,EAAMmI,OAAO,KAE3E,CACEmmB,OAAQ,uBACRiE,SAAU,uBACV5wB,MAAO,MACPwsB,YAAY,EACZM,iBAAkB,UAClBK,UAAU,EACVK,iBAAkB,sBAClBJ,UAAW,mCACX0D,iBAAkB,KAClBsH,UAAW,QACXjD,KAAM,SAAC92B,GAAD,OAAqCk8B,GAAWmC,aAAar+B,EAAMmI,OAAO,KAElF,CACEmmB,OAAQ,qBACRiE,SAAU,qBACV5wB,MAAO,MACPwsB,YAAY,EACZM,iBAAkB,UAClBK,UAAU,EACVK,iBAAkB,oBAClBJ,UAAW,iCACX0D,iBAAkB,KAClBsH,UAAW,QACXjD,KAAM,SAAC92B,GAAD,OAAqCk8B,GAAWoC,eAAet+B,EAAMmI,OAAO,KAEpF,CACEmmB,OAAQ,iBACRiE,SAAU,iBACV5wB,MAAO,MACPwsB,YAAY,EACZM,iBAAkB,UAClBK,UAAU,EACVK,iBAAkB,gBAClBJ,UAAW,6BACX0D,iBAAkB,KAClBsH,UAAW,QACXjD,KAAM,SAAC92B,GAAD,OAAqCk8B,GAAWoC,eAAet+B,EAAMmI,OAAO,MAIvE,SAAS68C,KACtB,IAAQh/B,EAASoD,cAATpD,KACF/T,EAAU4M,cAChB,EAAgCrX,oBAAkB,GAAlD,mBAAOsX,EAAP,KAAkBC,EAAlB,KACA,EAA4BvX,oBAAkB,GAA9C,mBAAOsxB,EAAP,KAAgB7E,EAAhB,KACA,EAAwCzsB,mBAAiB,IAAzD,mBAAO2L,EAAP,KAAqBkW,EAArB,KACA,EAAkC7hB,mBAAiB,GAAnD,mBAAO4tB,EAAP,KAAkBjB,EAAlB,KACA,EAAoC3sB,mBAAiB,GAArD,mBAAOqG,EAAP,KAAmBktB,EAAnB,KACA,EAAoCvzB,mBAAiB,GAArD,mBAAOkqB,EAAP,KAAmB0C,EAAnB,KACA,EAAkC5sB,mBAAsB,IAAxD,mBAAO+pB,EAAP,KAAkB2C,EAAlB,KA2CA,OARAhZ,qBAAU,WACR,OAAO,WACL6f,EAAc,GACd5G,EAAa,GACbC,EAAc,MAEf,IAGD,cAAC,GAAD,CACEhD,SAAU,CACR,CACExqB,GAAI,YACJyyB,YAAa,YACbrB,eAAgB,YAChB9qB,KAAM,CACJqkB,UAAWA,EACX2C,aAAcA,EACdR,UAAW1jB,GAAgBkY,qBAC3B2L,YApDU,SAACD,EAA8CnzB,GAAkD,IAAD,IAClH,wBACEmzB,QADF,IACEA,GADF,UACEA,EAAa1kB,eADf,aACE,EAAsBuM,KAAI,SAACgjB,GACzB,OAAO,wCACY,OAAZh+B,GAAgC,QAAZA,IAAsB,CAC7CmG,GAAE,OAAE63B,QAAF,IAAEA,OAAF,EAAEA,EAAQtwB,aAEG,WAAZ1N,GAAoC,QAAZA,IAAsB,CACjDosB,cAAa,OAAE4R,QAAF,IAAEA,OAAF,EAAEA,EAAQje,YACvBke,gBAAe,OAAED,QAAF,IAAEA,OAAF,EAAEA,EAAQE,eACzBsmB,qBAAoB,OAAExmB,QAAF,IAAEA,OAAF,EAAEA,EAAQa,oBAC9BrS,mBAAkB,OAAEwR,QAAF,IAAEA,OAAF,EAAEA,EAAQe,kBAC5B0lB,eAAc,OAAEzmB,QAAF,IAAEA,OAAF,EAAEA,EAAQvU,gBAEV,QAAZzpB,GAAqB,CACvBo2B,qBAAiB3qB,EACjBmrB,cAAUnrB,cAflB,QAkBQ,KAmCFslB,QAASujB,GACTlc,OAAQ,CACN7I,eAAgB,iBAElBqI,YAAa,6BACbE,iBAAkB,OAClBkC,eArCe,SACrB1f,EACAua,GAGI,IAAD,EACH4J,eAAej1B,QAAQ,WAAYgI,EAAQrJ,SAASsd,UACpDjU,EAAQiN,KAAR,UAAgB8G,EAAhB,sBAAwBsP,EAAIsB,SAAShwB,UAArC,QAA2C,QAiCzCotB,OAAQ,CACNlV,UAAWA,EACXC,WAAYA,EACZ+Z,QAASA,EACT7E,SAAUA,EACV9gB,aAAcA,EACdkW,gBAAiBA,GAEnBoI,WAAY,CACV2D,UAAWA,EACXjB,aAAcA,EACdtmB,WAAYA,EACZktB,cAAeA,EACfrJ,WAAYA,EACZ0C,cAAeA,GAEjBsB,QAAS,CACP8D,eAAe,EACfZ,eAAe,EACfF,aAAa,EACb/C,eAAe,EACfgD,gBAAgB,K,OC7JT,SAASwsB,KACtB,IAAMv8C,EAAWi3B,cACT7Z,EAASoD,cAATpD,KACAjX,EAAY1H,IAAMsT,WAAWqgC,IAA7BjsC,QACR,EAA0Cq2C,qBAAlCC,EAAR,EAAQA,cAAeC,EAAvB,EAAuBA,eAEvB,OACE,sBAAKrlD,UAAS,oBAAd,UACE,qBAAKA,UAAS,OAAd,SACE,eAAC,IAAD,WACE,cAAC,IAAD,CACEkmB,OAAK,EACLH,KAAM,CAAC,GAAD,OAAIA,IACVgU,OAAQ,WACN,OACE,cAAC,GAAD,CACE+F,KAAM,CACJ,CACE1G,YAAa,gBACbqH,UAAW,iDAGfE,SAAU5a,OAKlB,cAAC,IAAD,CACEA,KAAI,UAAKA,EAAL,0CACJkT,UAAW,WAAO,IAAD,EACf,EAAkC2f,cAA1BC,EAAR,EAAQA,WAAYuH,EAApB,EAAoBA,UACpB,OACE,cAAC,GAAD,CACEtgB,KAAM,CAAC,CAAE1G,YAAa,UAAWqH,UAAW,KAC5CE,SAAQ,UAAK5a,EAAL,YAAa8yB,EAAb,2BAA0CuH,GAClDnf,gBAAgB,WAChBD,UAAS,UAAEjb,EAAI,WAAO8yB,EAAP,sCAAN,QAAwD9yB,OAKzE,cAAC,IAAD,CACEG,OAAK,EACLH,KAAI,UAAKA,EAAL,uCACJkT,UAAW,WAAO,IAAD,MACP4f,EAAeD,cAAfC,WACR,OACE,cAAC,GAAD,CACE/Y,KAAM,CACJ,CAAE1G,YAAa,aAAcqH,UAAW,IACxC,CAAErH,YAAa,mBAAoBqH,UAAW,WAC9C,CACErH,YAAa,gBACbqH,UAAW,gEAEb,CACErH,YAAa,kBACbqH,UAAW,kEAEb,CACErH,YAAa,WACbqH,UAAW,wDAEb,CACErH,YAAagsB,EAAgB,WAAa,GAC1C3kB,UAAW,YAEb,CACErH,YAAaisB,EAAiB,YAAc,GAC5C5kB,UAAW,cAGfE,SAAQ,UAAK5a,EAAL,YAAa8yB,GACrBhY,SAAU,CAAC,CAAEzH,YAAW,iBAAEtqB,QAAF,IAAEA,OAAF,EAAEA,EAASgF,YAAX,QAAmB,MAAO2sB,UAAW,KAC7DK,gBAAe,iBAAEhyB,QAAF,IAAEA,OAAF,EAAEA,EAASgF,YAAX,QAAmB,MAClC8sB,cAAc,EACdK,gBAAe,iBAAEnyB,QAAF,IAAEA,OAAF,EAAEA,EAASgF,YAAX,aAAmB7H,EAClC+0B,UAAS,UAAKjb,EAAL,YAAa8yB,EAAb,gCAKjB,cAAC,IAAD,CACE9yB,KAAI,UAAKA,EAAL,gBACJkT,UAAW,WAAO,IAAD,MACP4f,EAAeD,cAAfC,WACR,OACE,cAAC,GAAD,CACE/Y,KAAM,CACJ,CAAE1G,YAAa,aAAcqH,UAAW,IACxC,CAAErH,YAAa,mBAAoBqH,UAAW,WAC9C,CACErH,YAAa,gBACbqH,UAAW,gEAEb,CACErH,YAAa,kBACbqH,UAAW,kEAEb,CACErH,YAAa,WACbqH,UAAW,wDAEb,CACErH,YAAagsB,EAAgB,WAAa,GAC1C3kB,UAAW,YAEb,CACErH,YAAaisB,EAAiB,YAAc,GAC5C5kB,UAAW,cAGfE,SAAQ,UAAK5a,EAAL,YAAa8yB,GACrBhY,SAAU,CAAC,CAAEzH,YAAW,iBAAEtqB,QAAF,IAAEA,OAAF,EAAEA,EAASgF,YAAX,QAAmB,MAAO2sB,UAAW,KAC7DK,gBAAe,iBAAEhyB,QAAF,IAAEA,OAAF,EAAEA,EAASgF,YAAX,QAAmB,MAClC8sB,cAAc,EACdK,gBAAgB,YAChBD,UAAS,UAAEjb,EAAK0iB,OAAO,EAAG,GAAK,gEAAtB,QAAkF1iB,YAOvG,cAAC,KAAD,CAA4BxY,QAAS,CAAEisB,iBAAiB,GAAxD,SACE,qBAAKx5B,UAAS,OAAd,SACE,eAAC,IAAD,WACE,cAAC,IAAD,CACEkmB,OAAK,EACLH,KAAI,UAAKA,GACTkT,UAAW,WACT,OAAO,cAAC8rB,GAAD,OAGX,cAAC,IAAD,CACE7+B,OAAK,EACLH,KAAI,UAAKA,EAAL,uCACJgU,OAAQ,WACN,OAAO,cAAC,GAAD,OAGX,cAAC,IAAD,CACEhU,KAAI,UAAKA,EAAL,gBACJgU,OAAQ,WACN,OAAO,cAAC+qB,GAAD,GAAqBn8C,EAASsd,SAAS+I,MAAM,KAAK,iB,OCnI1D,SAASs2B,KAAqC,IAAD,kCAC1D,EAAgC/9C,oBAAkB,GAAlD,mBAAOsX,EAAP,KAAkBC,EAAlB,KACA,EAAwCvX,mBAAiB,IAAzD,mBAAO2L,EAAP,KAAqBkW,EAArB,KACQ2b,EAAc6T,cAAd7T,UACR,EAA6C39B,IAAMsT,WAAWuR,IAAtDxhB,EAAR,EAAQA,IAAK6hB,EAAb,EAAaA,eAAgBD,EAA7B,EAA6BA,YACrBtG,EAASoD,cAATpD,KACF/T,EAAU4M,cACV2mC,EAAa9nC,iBAAuB,MAGpC+nC,EAA4Bn0B,mBAChC,kBAAkB,OAAXhF,QAAW,IAAXA,OAAA,EAAAA,EAAa8e,UAAb,OAAwB9e,QAAxB,IAAwBA,OAAxB,EAAwBA,EAAa8e,SAASjT,QAAO,SAAC/pB,EAAG4G,GAAJ,OAAU5G,EAAI4G,EAAE0wC,uBAAsB,GAAK,IACvG,CAACp5B,IAGG/C,EAAS,uCAAG,4BAAAnb,EAAA,6DAChBib,EAAgB,IAChBtK,GAAW,GAFK,kBAIIrU,EAAIs6B,GAJR,OAIR74B,EAJQ,OAKdogB,EAAepgB,GALD,gDAQdkd,EAAgB,KAAMG,SARR,QAUhBzK,GAAW,GAVK,yDAAH,qDAaf7D,qBAAU,WACgC,IAApC+Z,OAAOC,KAAK5I,GAAa/T,QAC3BgR,MAED,IAEH,IASMo8B,IAAwC,MAAxBr5B,EAAY8e,UAAoB9e,EAAY8e,SAAS7yB,OAAS,GAC9EqtC,IAA8C,MAA3Bt5B,EAAYu5B,aAAuBv5B,EAAYu5B,YAAYttC,OAAS,GACvFutC,EAAyC,wBACzCH,EAAer5B,EAAY8e,SAA2C,IAAI3vB,KAAI,SAACgqB,GACjF,MAAO,CACL7+B,GAAI6+B,EAAQgF,UACZE,cAAelF,EAAQkF,cACvBob,cAAetgB,EAAQigB,qBACvBM,mBAAoBvgB,EAAQugB,mBAC5BllD,KAAM,UACNyvB,YAAa,SAAC3pB,GAAD,OAfQ,SAACA,GAC1Bs4B,eAAej1B,QAAQ,WAAYgI,EAAQrJ,SAASsd,UACpDjU,EAAQiN,KAAR,UAAgB8G,EAAK0iB,OAAO,EAAG1iB,EAAKgE,YAAY,cAAhD,4BAA0EpjB,QAA1E,IAA0EA,IAAM,KAa/Cq/C,CAAmBr/C,SARP,cAWzCg/C,EAAkBt5B,EAAYu5B,YAA2C,IAAIpqC,KAAI,SAACgqB,GACpF,MAAO,CACL7+B,GAAI6+B,EAAQygB,oBACZvb,cAAelF,EAAQkF,cACvBob,cAAetgB,EAAQ0gB,wBACvBH,mBAAoBvgB,EAAQugB,mBAC5BllD,KAAM,cAENyvB,YAAa,kBAAM,YAGvB7b,MAAK,SAAC0xC,EAAOC,GAAR,eAAoB,iBAACD,QAAD,IAACA,OAAD,EAACA,EAAOJ,0BAAR,QAA8B,KAA9B,iBAAqCK,QAArC,IAAqCA,OAArC,EAAqCA,EAAQL,0BAA7C,QAAmE,IAAM,GAAK,KAEzG,OAAOlnC,EACL,qBAAK7e,UAAS,aAAd,SACE,cAAC,GAAD,CAASymB,YAAU,MAEnBvT,EACF,qBAAKlT,UAAS,aAAd,SACE,cAAC,GAAD,CAAOymB,YAAU,EAAjB,SAAmBvT,MAGrB,sBAAKlT,UAAS,aAAd,UACE,sBAAKA,UAAS,SAAd,UACE,qBAAKA,UAAS,MAAd,SAAwBqsB,IAAe,iBAACA,QAAD,IAACA,GAAD,UAACA,EAAag6B,gBAAd,aAAC,EAAuB9lC,mBAAxB,QAAuC,OAAOhI,OAAO,KAC5F,mBAAGvY,UAAS,OAAUW,QAAS,kBA/CZgG,EA+CkC0lB,EAAYwsB,WA9CrE5Z,eAAej1B,QAAQ,WAAYgI,EAAQrJ,SAASsd,eACpDjU,EAAQiN,KAAR,UAAgB8G,EAAK0iB,OAAO,EAAG1iB,EAAKgE,YAAY,cAAhD,6BAA2EpjB,QAA3E,IAA2EA,IAAM,KAF3D,IAACA,GA+CnB,SACG0lB,IAAW,iBAAKA,QAAL,IAAKA,GAAL,UAAKA,EAAag6B,gBAAlB,aAAK,EAAuB9lC,mBAA5B,QAA2C,SAEzD,sBAAKvgB,UAAS,cAAd,UACE,mBAAGA,UAAS,aAAZ,SACG,IAAIynB,KAAKuV,aAAa,QAAS,CAC9BC,sBAAuB,EACvBC,sBAAuB,EACvBrhB,MAAO,WACPiC,SAAU,QACT8J,OALF,iBAKSyE,QALT,IAKSA,OALT,EAKSA,EAAai6B,gCALtB,QAKkD,KAErD,mBAAGtmD,UAAS,WAAZ,2BAEDi8B,GAAW2I,aAAavY,EAAYU,eAAgBV,EAAYk6B,mBAAmB,MAGtF,sBAAKvmD,UAAS,OAAd,UAEE,sBAAKA,UAAS,UAAd,UACE,sBAAKA,UAAS,0BAAd,UACE,sBAAKA,UAAS,OAAd,UACE,mBAAGA,UAAS,QAAZ,4CAAmCqsB,QAAnC,IAAmCA,OAAnC,EAAmCA,EAAaqe,qBAAhD,QAAiE,UACrD,OAAXre,QAAW,IAAXA,OAAA,EAAAA,EAAa8nB,eAA0B,OAAX9nB,QAAW,IAAXA,OAAA,EAAAA,EAAa8nB,YAAY77B,QAAS,EAC7D,cAACrY,EAAD,CAAQD,UAAS,eAAkBM,KAAM,cAAC,EAAD,IAAcE,QAAQ,YAA/D,8BAGE,QAEN,sBAAKR,UAAU,OAAf,UACE,cAAC,GAAD,CACEM,KAAM,cAAC,GAAD,IACNixB,QAAS,CACP,CACEpxB,MAAO,kBACP+H,MAAK,2BAAEmkB,QAAF,IAAEA,GAAF,UAAEA,EAAam6B,8BAAf,aAAE,EAAqC1J,mBAAvC,eAAsDzwB,QAAtD,IAAsDA,GAAtD,UAAsDA,EAAag6B,gBAAnE,aAAsD,EAAuB9lC,mBAA7E,QAA4F,MAEnG,CACEpgB,MAAO,QACP+H,MAAK,2BAAEmkB,QAAF,IAAEA,GAAF,UAAEA,EAAam6B,8BAAf,aAAE,EAAqCtG,oBAAvC,eAAuD7zB,QAAvD,IAAuDA,GAAvD,UAAuDA,EAAag6B,gBAApE,aAAuD,EAAuBI,sBAA9E,QAAgG,KACrG7+B,OAAQ,QACRiyB,iBAAiB,MAIvB,cAAC,GAAD,CACEv5C,KAAM,cAAC,GAAD,IACNixB,QAAS,CACP,CACEpxB,MAAO,uBACP+H,MAC8B,OAA5BmkB,EAAYoY,YACR,IAAIhd,KAAKuV,aAAa,QAAS,CAC7BC,sBAAuB,EACvBC,sBAAuB,EACvBrhB,MAAO,WACPiC,SAAU,QACT8J,OAAOyE,EAAYoY,aACtB,MAER,CACEtkC,MAAO,mBACP+H,MAAO,IAAIuf,KAAKuV,aAAa,QAAS,CACpCC,sBAAuB,EACvBC,sBAAuB,EACvBrhB,MAAO,WACPiC,SAAU,QACT8J,OAAO49B,IAEZ,CACErlD,MAAO,0BACP+H,MAC4C,QAA/B,OAAXmkB,QAAW,IAAXA,OAAA,EAAAA,EAAai6B,0BACT,IAAI7+B,KAAKuV,aAAa,QAAS,CAC7BC,sBAAuB,EACvBC,sBAAuB,EACvBrhB,MAAO,WACPiC,SAAU,QACT8J,OAAOyE,EAAYi6B,0BACtB,SAMZ,cAAC,GAAD,CACEhmD,KAAM,cAAC,GAAD,IACNixB,QAAS,CACP,CACEpxB,MAAO,eACP+H,MAAOwzB,GAAU,iBAACrP,QAAD,IAACA,OAAD,EAACA,EAAaivB,mBAAd,QAA6B,OAEhD,CACEn7C,MAAO,WACP+H,MAAOwzB,GAAU,iBAACrP,QAAD,IAACA,OAAD,EAACA,EAAaU,sBAAd,QAAgC,OAEnD,CACE5sB,MAAO,wBACP+H,OAAkB,OAAXmkB,QAAW,IAAXA,OAAA,EAAAA,EAAaq6B,mBAAoB,KAAO,MAC/C9M,QAAS,uDAEX,CACEz5C,MAAO,cACP+H,OAAkB,OAAXmkB,QAAW,IAAXA,OAAA,EAAAA,EAAaq6B,mBAAoBhrB,GAAU,iBAACrP,QAAD,IAACA,OAAD,EAACA,EAAaq6B,yBAAd,QAAmC,MAAQ,gBAOrGhB,GAAeC,IACf,sBAAK3lD,UAAS,kBAAd,UACE,qBAAKA,UAAS,QAAd,8BACA,sBAAKA,UAAU,iBAAf,UACE,mBAAGA,UAAU,qBAAb,4BACA,mBAAGA,UAAU,qBAAb,kBACA,mBAAGA,UAAU,sBAAb,0BACA,mBAAGA,UAAU,sBAAb,+BAED6lD,IAAe,OACdA,QADc,IACdA,OADc,EACdA,EAAiBrqC,KAAI,SAACqC,GACpB,OACE,sBAAK7d,UAAU,MAAMW,QAAS,kBAAMkd,EAAIyS,YAAYzS,EAAIlX,KAAxD,UACE,mBAAG3G,UAAU,KAAb,oBAAyB,OAAH6d,QAAG,IAAHA,OAAA,EAAAA,EAAK6sB,gBAAiB,UAC5C,mBAAG1qC,UAAS,OAAZ,SACG6d,EAAIioC,eAAiBz5B,EAAYoY,YAAjC,eAAuD5mB,EAAIhd,KAA3D,8BAAuFgd,EAAIhd,KAA3F,cAEH,mBAAGb,UAAS,OAAZ,SAAuB07B,GAAW7d,EAAIkoC,sBACtC,mBAAG/lD,UAAS,SAAZ,cACyBiM,IAAtB4R,EAAIioC,eACH,IAAIr+B,KAAKuV,aAAa,QAAS,CAC7BC,sBAAuB,EACvBC,sBAAuB,EACvBrhB,MAAO,WACPiC,SAAU,QACT8J,OAAO/J,EAAIioC,mBAb8CjoC,EAAIlX,cAsBlF,cAAC,GAAD,UACE,cAAC,GAAD,CAAYxG,MAAM,QAAQ+yC,SAAS,UAAUD,UAAWlO,SAG5D,qBAAKp+B,GAAG,oBAAoBkV,MAAO,CAAEoU,QAAS,QAAUxT,IAAK8oC,OCjPpD,SAASD,KACtB,IAAQvgB,EAAc6T,cAAd7T,UACAhf,EAASoD,cAATpD,KACR,EAAgC3e,IAAMsT,WAAWuR,IAAzCxhB,EAAR,EAAQA,IAAK6hB,EAAb,EAAaA,eACL2uB,EAAuB7zC,IAAMsT,WAAWqgC,IAAxCE,mBAEF3xB,EAAS,uCAAG,4BAAAnb,EAAA,+EAEI1D,EAAIs6B,GAFR,OAER74B,EAFQ,OAGd+uC,EAAmB/uC,EAAI2sC,YACvBvsB,EAAepgB,GAJD,gDAOdI,QAAQC,IAAR,MAPc,yDAAH,qDAef,OAJA0O,qBAAU,WACRqO,MACC,IAGD,eAAC,IAAD,WACE,cAAC,IAAD,CACEpD,OAAK,EACLH,KAAI,UAAKA,GACTgU,OAAQ,WACN,OAAO,cAAC,GAAD,OAGX,cAAC,IAAD,CACE7T,OAAK,EACLH,KAAI,UAAKA,EAAL,iCACJgU,OAAQ,WACN,OACE,sBAAK/5B,UAAU,0BAAf,UACE,qBAAKA,UAAU,OAAf,SACE,cAAC,GAAD,MAEF,qBAAKA,UAAU,OAAf,SACE,cAAC,GAAD,eC5ChB,IAAM80C,GAAU,CACd,CACEzmB,OAAQ,iBACRiE,SAAU,iBACV5wB,MAAO,QACPwsB,YAAY,EACZM,iBAAkB,UAClBK,UAAU,EACVK,iBAAkB,gBAClBsD,iBAAkB,WAClBsH,UAAW,OACXjD,KAAM,SAAC92B,GAAD,OAAqCk8B,GAAWkC,aAAap+B,EAAMmI,OAAO,KAElF,CACEmmB,OAAQ,gBACRiE,SAAU,gBACV5wB,MAAO,MACPwsB,YAAY,EACZM,iBAAkB,cAClBK,UAAU,EACVK,iBAAkB,eAClBJ,UAAW,8BACX0D,iBAAkB,WAClBsH,UAAW,OACXjD,KAAM,SAAC92B,GAAD,OAAqCk8B,GAAWkC,aAAap+B,EAAMmI,OAAO,KAElF,CACEmmB,OAAQ,SACRiE,SAAU,SACV5wB,MAAO,MACPwsB,YAAY,EACZM,iBAAkB,6BAClBK,UAAU,EACVK,iBAAkB,cAClBJ,UAAW,sCACX0D,iBAAkB,KAClBC,gBAAiB,KACjBnE,gBAAiB,CACf,CAAEtC,WAAY,OAAQ9jB,MAAO/G,EAAiB,KAAUwF,GAAI,QAC5D,CAAEqlB,WAAY,gBAAiB9jB,MAAO,IAAKvB,GAAI,SAC/C,CAAEqlB,WAAY,iBAAkB9jB,MAAO/G,EAAkB,kBAAmBwF,GAAI,UAChF,CAAEqlB,WAAY,iBAAkB9jB,MAAO/G,EAAkB,kBAAmBwF,GAAI,UAChF,CAAEqlB,WAAY,eAAgB9jB,MAAO/G,EAAkB,gBAAiBwF,GAAI,UAC5E,CAAEqlB,WAAY,SAAU9jB,MAAO/G,EAAiB,OAAYwF,GAAI,WAElEmzB,UAAW,OACXjD,KAAM,SAAC92B,GAAD,OACJk8B,GAAW2I,aAAa7kC,EAAMs1B,IAAIsB,SAAS7J,SAAU/sB,EAAMmI,OAAO,KAEtE,CACEmmB,OAAQ,WACRiE,SAAU,WACV5wB,MAAO,MACPwsB,YAAY,EACZM,iBAAkB,iBAClBK,UAAU,EACVK,iBAAkB,iBAClBJ,UAAW,gCACX0D,iBAAkB,WAClBsH,UAAW,OACXjD,KAAM,SAAC92B,GAAD,OAAqCk8B,GAAWP,WAAW37B,EAAMmI,OAAO,KAEhF,CACEmmB,OAAQ,iBACRiE,SAAU,iBACV5wB,MAAO,MACPwsB,YAAY,EACZM,iBAAkB,UAClBK,UAAU,EACVK,iBAAkB,gBAClBJ,UAAW,+BACX0D,iBAAkB,KAClBsH,UAAW,QACXjD,KAAM,SAAC92B,GAAD,OAAqCk8B,GAAWoC,eAAet+B,EAAMmI,OAAO,KAEpF,CACEmmB,OAAQ,qBACRiE,SAAU,qBACV5wB,MAAO,QACPwsB,YAAY,EACZM,iBAAkB,UAClBK,UAAU,EACVK,iBAAkB,qBAClBJ,UAAW,oCACX0D,iBAAkB,KAClBsH,UAAW,QACXjD,KAAM,SAAC92B,GAAD,OAAqCk8B,GAAWoC,eAAet+B,EAAMmI,OAAO,MAIvE,SAASy+C,KACtB,IAAM30C,EAAU4M,cAGhB,EAAgCrX,oBAAkB,GAAlD,mBAAOsX,EAAP,KAAkBC,EAAlB,KACA,EAA4BvX,oBAAkB,GAA9C,mBAAOsxB,EAAP,KAAgB7E,EAAhB,KACA,EAAwCzsB,mBAAiB,IAAzD,mBAAO2L,EAAP,KAAqBkW,EAArB,KACA,EAAkC7hB,mBAAiB,GAAnD,mBAAO4tB,EAAP,KAAkBjB,EAAlB,KACA,EAAoC3sB,mBAAiB,GAArD,mBAAOqG,EAAP,KAAmBktB,EAAnB,KACA,EAAoCvzB,mBAAiB,GAArD,mBAAOkqB,EAAP,KAAmB0C,EAAnB,KACA,EAAkC5sB,mBAAsB,IAAxD,mBAAO+pB,EAAP,KAAkB2C,EAAlB,KA6CA,OARAhZ,qBAAU,WACR,OAAO,WACL6f,EAAc,GACd5G,EAAa,GACbC,EAAc,MAEf,IAGD,cAAC,GAAD,CACEhD,SAAU,CACR,CACExqB,GAAI,WACJyyB,YAAa,WACbrB,eAAgB,YAChB9qB,KAAM,CACJqkB,UAAWA,EACX2C,aAAcA,EACdR,UAAWzjB,GAAeyc,oBAC1BmH,YAtDU,SAACD,EAA6CnzB,GAAkD,IAAD,IACjH,wBACEmzB,QADF,IACEA,GADF,UACEA,EAAa1kB,eADf,aACE,EAAsBuM,KAAI,SAACgjB,GACzB,OAAO,wCACY,OAAZh+B,GAAgC,QAAZA,IAAsB,CAC7CmG,GAAI63B,EAAOuG,aAEI,WAAZvkC,GAAoC,QAAZA,IAAsB,CACjDksB,eAAgB8R,EAAO7R,cACvBC,cAAe4R,EAAOrS,aACtBU,OAAQ2R,EAAO3R,OACfC,SAAU0R,EAAOzR,eACjBke,eAAgBzM,EAAO0M,cACvBle,mBAAoBwR,EAAOvR,qBAEb,QAAZzsB,GAAqB,CACvBo2B,iBAAiB,EACjBQ,cAAUnrB,cAhBlB,QAmBQ,KAoCFslB,QAASujB,GACTlc,OAAQ,CACN7I,eAAgB,gBAElBqI,YAAa,gCACbE,iBAAkB,GAClBkC,eArCe,SACrB1f,EACAua,GAGI,IAAD,EACH4J,eAAej1B,QAAQ,WAAYgI,EAAQrJ,SAASsd,UACpDjU,EAAQiN,KAAR,iCAA6BoW,EAAIsB,SAAShwB,UAA1C,QAAgD,MA+B1CwsB,kBAAmB,CACjB,CACEE,MAAO,GACPC,kBAAmB,IAErB,CACED,MAAO,UACPC,kBAAmB,0BAErB,CACED,MAAO,OACPC,kBAAmB,wBAErB,CACED,MAAO,SACPC,kBAAmB,2BAK3BS,OAAQ,CACNlV,UAAWA,EACXC,WAAYA,EACZ+Z,QAASA,EACT7E,SAAUA,EACV9gB,aAAcA,EACdkW,gBAAiBA,GAEnBoI,WAAY,CACV2D,UAAWA,EACXjB,aAAcA,EACdtmB,WAAYA,EACZktB,cAAeA,EACfrJ,WAAYA,EACZ0C,cAAeA,GAEjBsB,QAAS,CACP8D,eAAe,EACfZ,eAAe,EACfF,aAAa,EACb/C,eAAe,EACfgD,gBAAgB,K,WC5MlB+J,GAAS,CACb,CACErJ,YAAa,WACbqH,UAAW,mDAEb,CACErH,YAAa,WACbqH,UAAW,gDAEb,CACErH,YAAa,OACbqH,UAAW,uDAEb,CACErH,YAAa,SACbqH,UAAW,0DAOA,SAASt+B,KACtB,IAAQ4jB,EAASoD,cAATpD,KACAsG,EAAgBjlB,IAAMsT,WAAWuR,IAAjCI,YAER,OACE,sBAAKrsB,UAAS,mBAAd,UACE,qBAAKA,UAAS,OAAd,SACE,eAAC,IAAD,WACE,cAAC,IAAD,CACEkmB,OAAK,EACLH,KAAM,CAAC,GAAD,OAAIA,GAAJ,UAAeA,EAAf,sBAAkCA,EAAlC,mBAAkDA,EAAlD,YACNkT,UAAW,WACT,OAAO,cAAC,GAAD,CAAQ6G,KAAM2C,GAAQ9B,SAAU5a,OAG3C,cAAC,IAAD,CACEA,KAAI,UAAKA,EAAL,eACJkT,UAAW,WAAO,IAAD,MACP8L,EAAc6T,cAAd7T,UACFxkB,EAAW,OAAG8L,QAAH,IAAGA,GAAH,UAAGA,EAAag6B,gBAAhB,aAAG,EAAuB9lC,YACrC6Y,EAAc7Y,EAAeA,EAAYjI,QAAU,GAAKiI,EAAYsJ,MAAM,EAAG,IAAM,MAAQtJ,EAAe,GAChH,OACE,cAAC,GAAD,CACEuf,KAAM,CACJ,CAAE1G,YAAa,kBAAmBqH,UAAWsE,GAC7C,CAAE3L,YAAa,mBAAoBqH,UAAU,GAAD,OAAKsE,EAAL,oCAAmC1Y,QAAnC,IAAmCA,OAAnC,EAAmCA,EAAawsB,cAE9FhY,SAAU,CACR,CACEzH,YAAY,GAAD,OAAKA,GAA4B,MAAjC,aACXqH,UAAWlgB,EAAW,gFACuDA,GACzE,2DAEN,CACE6Y,YAAY,GAAD,OAAKA,GAA4B,MAAjC,aACXqH,UAAWlgB,EAAW,6EACoDA,GACtE,yDAGRwgB,iBAAkBhb,EAAK0iB,OAAO,EAAG1iB,EAAKgE,YAAY,MAClD+W,gBAAe,mCAAazU,QAAb,IAAaA,OAAb,EAAaA,EAAaqe,qBAA1B,QAA2C,OAC1D/J,SAAU5a,EACVib,UAAS,UAAEjb,EAAK0iB,OAAO,EAAG,GAAK,oBAAtB,QAAsC1iB,EAC/Ckb,gBAAgB,yBAO5B,cAAC,KAAD,CAA4B1zB,QAAS,CAAEisB,iBAAiB,EAAMC,YAAY,EAAMmtB,iBAAkB,CAAEtkD,EAAG,WAAvG,SACE,qBAAKtC,UAAS,OAAd,SACE,eAAC,IAAD,WACE,cAAC,IAAD,CACEkmB,OAAK,EACLH,KAAM,CAAC,GAAD,OAAIA,GAAJ,UAAeA,EAAf,sBAAkCA,EAAlC,mBAAkDA,EAAlD,YACNgU,OAAQ,WACN,OAAO,cAAC4sB,GAAD,OAGX,cAAC,IAAD,CACE5gC,KAAI,UAAKA,EAAL,eACJgU,OAAQ,WACN,OAAO,cAAC,GAAD,iB,cCvFR,SAAS8sB,GAAO9mD,GAC7B,IAAMstB,EAAW5P,iBAAuB,MAqBxC,OAlBAxC,qBAAU,WAER,SAASmQ,EAAmBtQ,GAExBuS,EAASrP,UACRqP,EAASrP,QAAQqN,SAASvQ,EAAEwB,SAE7Bvc,EAAM0lB,UAMV,OAFA5L,SAASwB,iBAAiB,YAAa+P,GAEhC,WACLvR,SAASyB,oBAAoB,YAAa8P,MAE3C,CAACiC,IAGF,qBAAKrtB,UAAS,yBAAoBD,EAAM2yC,OAAS,gBAAkB,IAAMj2B,IAAK4Q,EAA9E,SACE,sBAAKrtB,UAAW,iBAAhB,UACE,wBAAQA,UAAW,eAAgBW,QAASZ,EAAM0lB,QAAlD,SACE,qBAAK7J,IAAKwS,GAAUtS,IAAI,kBAEzB/b,EAAMgB,c,OC5BA,SAAS+lD,GACtB/mD,GAEA,OACE,yBAAQC,UAAW,aAAcW,QAASZ,EAAMY,QAAhD,UACE,qBAAKX,UAAW,eAAhB,SACE,qBAAKA,UAAW,OAAhB,UAA8B,OAALD,QAAK,IAALA,OAAA,EAAAA,EAAOO,MAAOP,EAAMO,KAAO,SAEtD,sBAAKN,UAAW,eAAhB,UACE,oBAAIA,UAAW,SAAf,SAA0BD,EAAMurB,SAChC,mBAAGtrB,UAAW,YAAd,SAA4BD,EAAMgnD,kB,OCP3B,SAASC,KAAkC,IAAD,IACvD,EAA4Cz/C,oBAAkB,GAA9D,mBAAO0/C,EAAP,KAAuBC,EAAvB,KACA,EAAkD3/C,oBAAkB,GAApE,mBAAO4/C,EAAP,KAA4BC,EAA5B,KAKA1+C,OAAOuZ,UAAY,SAAU9G,GAAQ,IAAD,IACR,2BAAjB,OAALA,QAAK,IAALA,GAAA,UAAAA,EAAOlO,YAAP,eAAapM,MACfqmD,GAAkB,GACa,oBAAjB,OAAL/rC,QAAK,IAALA,GAAA,UAAAA,EAAOlO,YAAP,eAAapM,QACtBqmD,GAAkB,GAClBE,GAAmB,KAIvB,IAAMC,EAA0B,uEAAyDz7C,GAAaC,0BAAtE,aAAyD,EAAiCy7C,SAA1F,KAIhC,OACE,sBAAKtnD,UAAW,qBAAhB,UACE,cAAC,GAAD,CACEsrB,OAAO,uBACPy7B,UAAU,uBACVzmD,KAAM,cAAC,EAAD,IACNK,QAAS,kBAAMumD,GAAkB,SAAClsC,GAAD,OAAoBA,QAEvD,cAACqK,GAAA,EAAD,CACEC,aAAc,CAAEC,SAAU,MAAOC,WAAY,SAC7ChM,KAAM2tC,EACN1hC,QAAS,kBAAM2hC,GAAmB,IAClC1hC,iBAAkB,IAJpB,SAME,cAACC,GAAA,EAAD,CACEF,QAAS,kBAAM2hC,GAAmB,IAClCxhC,SAAS,UACTC,GAAI,CAAEnkB,MAAO,QACb4V,OACE,mBAAGtX,UAAU,QAAQW,QAAS,kBAAMymD,GAAmB,IAAvD,mBALJ,gCAaF,cAAC,GAAD,CAAQ1U,OAAQuU,EAAgBxhC,QAAS,kBAAMyhC,GAAkB,IAAjE,SACE,sBAAKlnD,UAAW,0BAAhB,UACE,oBAAIA,UAAW,SAAf,kCAEA,qBAAKA,UAAW,cAAhB,SACGqnD,IAGH,wBACEjlC,YAAY,IACZ1gB,MAAM,OACNC,OAAO,OACPia,IAAG,kBAAatT,0BAAb,YACDA,0BADC,2EAGDA,uCAHC,4CAIiCwB,mBAClCpB,OAAOC,SAASC,OAAS,kBALxB,sGAMkFgD,GAAaC,0BAN/F,aAMkF,EAAiCy7C,oB,OCxEnH,SAASC,KACtB,IAAQxhC,EAASoD,cAATpD,KACF/T,EAAU4M,cAChB,OACE,sBAAK5e,UAAW,uBAAhB,UAEE,cAAC,GAAD,CACEM,KAAM,cAAC,EAAD,IACNgrB,OAAO,+BACPy7B,UAAU,kDACVpmD,QAAS,kBAAMqR,EAAQiN,KAAR,UAAgB8G,EAAK0iB,OAAO,EAAG1iB,EAAKgE,YAAY,MAAhD,2BAGjB,cAAC,GAAD,CACEzpB,KAAM,cAAC,GAAD,IACNgrB,OAAO,iBACPy7B,UAAU,uDACVpmD,QAAS,kBAAMqR,EAAQiN,KAAR,UAAgB8G,EAAK0iB,OAAO,EAAG1iB,EAAKgE,YAAY,MAAhD,sBAGjB,cAAC,GAAD,CACEzpB,KAAM,cAAC,EAAD,IACNgrB,OAAO,wBACPy7B,UAAU,wEACVpmD,QAAS,kBAAMqR,EAAQiN,KAAR,UAAgB8G,EAAK0iB,OAAO,EAAG1iB,EAAKgE,YAAY,MAAhD,2B,WCsBRy9B,GA5BK,SAACznD,GAAiD,IAAD,MAR7C0nD,EAStB,OACE,qBAAKznD,UAAU,yBAAf,SACE,qBAAKA,UAAU,sBAAf,SACE,sBAAKA,UAAU,wBAAf,UACE,mBAAGA,UAAU,qBAAb,SAAmCD,EAAM2nD,WAAa3nD,EAAM2nD,YAb9CD,EAayE,iBAAC1nD,QAAD,IAACA,OAAD,EAACA,EAAO0nD,aAAR,QAAiB,EAZlG,IAAVA,EACK,qBAED,UAAN,OAAiBA,EAAjB,oBAUM,mBAAGznD,UAAU,mBAAb,mBAAiCD,EAAM4nD,mBAAvC,aAAiC,EAAmB9wB,SACpD,sBAAK72B,UAAU,sBAAf,UACE,qBAAKA,UAAU,uBAAf,SACE,cAACC,EAAD,CAAQO,QAAQ,OAAOG,QAASZ,EAAM6nD,cAAtC,SACG7nD,EAAM8nD,YAAc9nD,EAAM8nD,YAA1B,aAGL,qBAAK7nD,UAAU,wBAAf,SACE,cAACC,EAAD,CAAQU,QAASZ,EAAM+nD,gBAAvB,SAAyC/nD,EAAMgoD,aAAehoD,EAAMgoD,aAA3B,cAEpC,OAALhoD,QAAK,IAALA,OAAA,EAAAA,EAAOioD,qBACP,qBAAKhoD,UAAU,+BAAf,SACE,cAACC,EAAD,CAAQU,QAASZ,EAAMkoD,sBAAvB,mBAA+CloD,EAAMioD,0BAArD,gCCxCHE,GAAkB9gD,IAAMC,cAAmC,MAsCzD8gD,GAhC2C,SAAC,GAAyC,IAAvCpnD,EAAsC,EAAtCA,SAE3D,EAAkCwG,mBAAsB,IAAxD,mBAAO+pB,EAAP,KAAkB2C,EAAlB,KACA,EAA4C1sB,mBAAiB,GAA7D,mBAAO6gD,EAAP,KAAuBC,EAAvB,KACA,EAAgC9gD,mBAA2B,CACzD6H,cAAe,GACf4D,SAAU,GACVs1C,WAAY,GACZC,qBAAsB,GACtBxmC,gBAAiB,GACjBwyB,QAAS,GACTyN,SAAU,GACVwG,eAAgB,GAChBC,QAAS,OATX,mBAAOC,EAAP,KAAiBC,EAAjB,KAYA,OACE,cAACT,GAAgBjgD,SAAjB,CACEC,MAAO,CACLopB,YACA2C,eACAo0B,oBACAD,iBACAO,cACAD,YAPJ,SAUG3nD,KCpBA,SAAS6nD,GAA0B7oD,GACxC,MAAwCwH,oBAAkB,GAA1D,mBAAOshD,EAAP,KAAqBC,EAArB,KACA,EAAwCvhD,mBAAiB,IAAzD,mBAAOwhD,EAAP,KAAqBC,EAArB,KACA,EAAoDzhD,mBAAiB,IAArE,mBAAO0hD,EAAP,KAA2BC,EAA3B,KACA,EAAgC3hD,oBAAkB,GAAlD,mBAAOsX,EAAP,KAAkBC,EAAlB,KAEMqqC,EAAY,uCAAG,4BAAAh7C,EAAA,yDACd46C,EADc,uBAEjBG,EAAsB,oBAFL,6BAMbE,EAASL,EAAa/5B,MAAM,KAAKxT,KAAI,SAAC1C,GAAD,OAAWA,EAAM+kB,UAC5CurB,EAAOnzB,OAAM,SAACnd,GAAD,OAAmBnB,GAAMkB,WAAWC,MAP9C,uBAUjBowC,EAAsB,4BAVL,0CAejBpqC,GAAW,GAfM,UAiBXlO,GACHy4C,WACCD,EAAO5tC,KAAI,SAAC1C,GACV,MAAO,CACLA,MAAOA,OAIZtZ,MAAK,SAACyN,GAKK,IAAD,EAJLA,EAAKqL,OAAS,EACZrL,EAAKgpB,OAAM,SAACqzB,GAAD,OAA4C,IAAnBA,EAAOC,YAC7CxpD,EAAMglB,iBAAiB,WACvBhlB,EAAMklB,YAAN,UAAqBhY,EAAKqL,OAA1B,wBAEAvY,EAAMglB,iBAAiB,SACvBhlB,EAAMklB,YAAN,oBAAqBhY,EAAKQ,QAAO,SAAC67C,GAAD,OAAaA,EAAOC,WAASjxC,cAA9D,QAAwErL,EAAKqL,OAA7E,gCAGErL,EAAK,GAAGs8C,SACVxpD,EAAMglB,iBAAiB,WACvBhlB,EAAMklB,YAAY,qBAElBllB,EAAMglB,iBAAiB,SACvBhlB,EAAMklB,YAAY,4BAGtBllB,EAAMypD,kBA3CO,0DA8CjBzpD,EAAMglB,iBAAiB,SACpBqkC,EAAO9wC,OAAS,EACjBvY,EAAMklB,YAAN,UAAqBmkC,EAAO9wC,OAA5B,+BAGAvY,EAAMklB,YAAY,2BAnDH,QAuDnBikC,EAAsB,IACtBJ,GAAgB,GAChB/oD,EAAM8kB,cAAa,GACnB/F,GAAW,GA1DQ,0DAAH,qDA6DlB,OACE,qCACE,cAAC7e,EAAD,CAAQK,KAAM,cAAC,GAAD,IAAcC,UAAU,OAAOI,QAAS,kBAAMmoD,GAAgB,SAAC9tC,GAAD,OAAoBA,MAAhG,4BAIA,cAAC05B,GAAA,EAAD,CAAQvmB,OAAO,QAAQ3U,KAAMqvC,EAAcpjC,QAAS,kBAAMqjC,GAAgB,IAA1E,SACE,sBAAK9oD,UAAW,wBAAhB,UACE,qBAAKA,UAAW,SAAhB,SAA2B,gCAC3B,cAAC,GAAD,CACEoY,MAAO,CAAE6D,YAAa,kBAAmBE,UAAW,sBACpDC,YAAY,oBACZC,SAAU,SAACwB,GACTmrC,EAAgBnrC,EAAIggB,QACpBqrB,EAAsB,KAExBh2C,aAAc+1C,IAEhB,sBAAKjpD,UAAW,iBAAhB,UACE,cAACC,EAAD,CAAQD,UAAW,aAAcQ,QAAQ,YAAYG,QAAS,kBAAMmoD,GAAgB,IAApF,oBAGA,cAAC7oD,EAAD,CAAQD,UAAW,aAAcW,QAAS,kBAAMwoD,KAAgBzoD,QAASme,EAAzE,oC,OCvFG,SAAS4qC,KACtB,IAAMz3C,EAAU4M,cACRmH,EAASoD,cAATpD,KACR,EAAoC3e,IAAMsT,WAAWwtC,IAA7C52B,EAAR,EAAQA,UAAW2C,EAAnB,EAAmBA,aACnB,EAAgC1sB,oBAAkB,GAAlD,mBAAOsX,EAAP,KAAkBC,EAAlB,KACA,EAA4BvX,oBAAkB,GAA9C,mBAAOsxB,EAAP,KAAgB7E,EAAhB,KACA,EAAwCzsB,mBAAiB,IAAzD,mBAAO2L,EAAP,KAAqBkW,EAArB,KACA,EAAkC7hB,mBAAiB,GAAnD,mBAAO4tB,EAAP,KAAkBjB,EAAlB,KACA,EAAoC3sB,mBAAiB,GAArD,mBAAOqG,EAAP,KAAmBktB,EAAnB,KACA,EAAoCvzB,mBAAiB,GAArD,mBAAOkqB,EAAP,KAAmB0C,EAAnB,KACA,EAA4D/sB,IAAMsT,WAAWxI,IAArEoB,EAAR,EAAQA,WAAY+D,EAApB,EAAoBA,cAAexC,EAAnC,EAAmCA,UAAWjB,EAA9C,EAA8CA,UAC9C,EAA4CrM,mBAAyC,IAArF,mBAAOmiD,EAAP,KAAuBC,EAAvB,KACA,EAAgDpiD,oBAAkB,GAAlE,mBAAOqiD,EAAP,KAAyBC,EAAzB,KACA,EAA8CtiD,oBAAkB,GAAhE,oBAAOuiD,GAAP,MAAwBC,GAAxB,MACA,GAAwCxiD,qBAAxC,qBAAOyiD,GAAP,MAAqBC,GAArB,MACA,GAA4C1iD,qBAA5C,qBAAO2iD,GAAP,MAAuBC,GAAvB,MAEA,GAAkC5iD,oBAAkB,GAApD,qBAAOqd,GAAP,MAAkBC,GAAlB,MACA,GAA0Ctd,mBAAiB,WAA3D,qBAAOud,GAAP,MAAsBC,GAAtB,MACA,GAAgCxd,mBAAiB,IAAjD,qBAAOyd,GAAP,MAAiBC,GAAjB,MAEA,GAAwC1d,mBAAgC,IAAxE,qBAAOkwB,GAAP,MAAqB2yB,GAArB,MAEM1Z,GAAWjzB,iBAAO,MAvBkC,8CA+B1D,WAAqC9W,GAArC,eAAAwH,EAAA,6DACE47C,IAAmB,GADrB,SAEQn5C,GAAmBy5C,kBAAkB1jD,GAF7C,OAGEkO,IACA,OAAC67B,SAAD,IAACA,IAAD,UAACA,GAAU1yB,eAAX,SAA4BuZ,cAJ9B,4CA/B0D,+BAsC3C+yB,GAtC2C,uFAsC1D,WAAsCC,EAA2BC,EAA0Bz3C,EAAgBH,GAA3G,SAAAzE,EAAA,yDACMo8C,IAAsBC,EAD5B,oDAI2B,yCAArBA,EAJN,gBAKIT,IAAmB,GACnBE,GAAgBl3C,GAChBo3C,GAAkBv3C,GAPtB,wCAWiBhC,GAAmB65C,iBAAiB13C,EAAQ,CAAE23C,SAAUF,IAAoBhrD,MAAK,WAAO,IAAD,EAClG,OAACkxC,SAAD,IAACA,IAAD,UAACA,GAAU1yB,eAAX,SAA4BuZ,iBAZlC,sFAtC0D,sBAuD1D,IAAMud,GAAU,CACd,CACEzmB,OAAQ,OACRiE,SAAU,OACV5wB,MAAO,MACPmtB,UAAU,EACVX,YAAY,EACZM,iBAAkB,aAClBU,iBAAkB,WAClBsD,iBAAkB,WAClBsH,UAAW,OACXjD,KAAM,SAAgB92B,GACpB,OAAOk8B,GAAWmB,yBAChB,sBAAKp9B,UAAU,wDAAf,UACE,qBAAKA,UAAU,eAAf,SACE,cAAC,EAAD,MAEF,mBAAGA,UAAU,QAAb,SAAsBD,EAAMmI,cAKpC,CACEmmB,OAAQ,QACRiE,SAAU,QACV5wB,MAAO,MACPmtB,UAAU,EACVX,YAAY,EACZM,iBAAkB,wBAClBU,iBAAkB,QAClBsD,iBAAkB,WAClB1D,UAAW,kBACXgL,UAAW,OACXjD,KAAM,SAAgB92B,GACpB,OAAOk8B,GAAWmB,yBAChB,qBAAKp9B,UAAU,gCAAf,SACE,mBAAGA,UAAU,QAAb,SAAsBD,EAAMmI,aAKpC,CACEmmB,OAAQ,cACRiE,SAAU,cACV5wB,MAAO,MACPmtB,UAAU,EACVX,YAAY,EACZgB,iBAAkB,0BAClBsD,iBAAkB,WAClB1D,UAAW,oCACXgL,UAAW,OACXjD,KAAM,SAAgB92B,GAAkF,IAAD,EACrG,EAAgCwH,oBAAkB,GAAlD,mBAAOsX,EAAP,KAAkBC,EAAlB,KACMtH,EAAI,UAAG5D,EAAUgK,MAAK,SAAC8sC,GAAD,OAA6BA,EAAS11C,aAAejV,EAAMs1B,IAAIsB,SAASg0B,sBAA1F,aAAG,EAAqGC,aAC5GC,EAAex5B,mBAAQ,WAC3B,OAAOzd,EAAU4H,KAAI,SAAChE,GACpB,MAAO,CACLY,MAAOZ,EAAKozC,aACZjkD,GAAI6Q,EAAKxC,iBAGZ,CAACpB,IACEk3C,EAAez5B,mBAAQ,WAC3B,OAAOw5B,EAAap9C,QAAO,SAACgO,GAAD,MAAyD,yCAAdA,EAAO9U,QAC5E,CAACkkD,IACJ,OACE,qBAAK7qD,UAAW,+DAAgEW,QAAS,SAACma,GAAD,OAAOA,EAAE8P,mBAAlG,SACGvT,EAAc/V,EAAY4U,cAAmD,yCAAnCnW,EAAMs1B,IAAIsB,SAASg0B,YAC5D,cAAC,GAAD,CACEp9C,QAAS+F,EAAWH,MAAMsE,SAAS,eAAiBozC,EAAeC,EACnEzuC,SAAQ,uCAAE,WAAO2E,EAAQ9Y,GAAf,SAAAiG,EAAA,6DACR2Q,GAAW,GADH,SAEFwrC,GAAuBvqD,EAAMs1B,IAAIsB,SAASg0B,YAAaziD,EAAMvB,GAAI5G,EAAMs1B,IAAIsB,SAAShwB,GAAI5G,EAAMs1B,IAAIsB,SAAS7iB,MAFzG,OAGRgL,GAAW,GAHH,2CAAF,wDAKR5W,MAAOsP,EACPo9B,cAAY,EACZz2B,kBAAgB,EAChB4tB,eAAa,EACbnrC,SAAUie,EACVg2B,WAAS,EACTz2B,YAAa,SAAC5Q,GAAD,OACX,cAAC6Q,GAAA,EAAD,2BACM7Q,GADN,IAEE8Q,WAAU,2BACL9Q,EAAO8Q,YADF,IAERC,kBAAkB,QAIxBC,qBAAsB,SAAC/C,EAAQvT,GAC7B,OAAOuT,EAAOrD,QAAUlQ,KAI5B,mBAAGlI,UAAU,QAAb,SAAsBwX,QAMhC,CACE6W,OAAQ,YACRiE,SAAU,kBACV5wB,MAAO,MACPmtB,UAAU,EACVX,YAAY,EACZgB,iBAAkB,kBAClB4K,UAAW,OACXjD,KAAM,SAAgB92B,GACpB,IAAM6rB,EAAe7rB,EAAMmI,MAAQ0qB,YAASm4B,QAAQhrD,EAAMmI,MAAO,CAAE4zB,KAAM,QAASkvB,aAAe,UACjG,OAAO/uB,GAAWmB,yBAChB,qBAAKp9B,UAAU,gCAAf,SACE,mBAAGA,UAAU,QAAb,SAAsB4rB,SAK9B,CACEyC,OAAQ,GACRiE,SAAU,gBACV5wB,MAAO,MACPmtB,UAAU,EACVX,YAAY,EACZ4L,UAAW,OACXjD,KAAM,SAAgB92B,GACpB,OAAOk8B,GAAWmB,yBAChB,qBAAKp9B,UAAU,gCAAf,UACID,EAAMs1B,IAAIsB,SAAS7iB,KAAK2D,SAAS,UACjCJ,EAAc/V,EAAY2U,sBACQ,wCAAlClW,EAAMs1B,IAAIsB,SAASg0B,aACjB,cAAC1qD,EAAD,CACED,UAAU,aACVQ,QAAQ,YACRC,KAAK,KACLE,QAAS,SAACma,GAAD,OArKC,SAACA,EAAqBnU,EAAYmN,GAC1DgH,EAAE8P,kBACF++B,EAAkB,CAAC,CAAE71C,OAAMnN,QAC3BkjD,GAAoB,GAkK4BoB,CAAkBnwC,EAAG/a,EAAMs1B,IAAIsB,SAAShwB,GAAI5G,EAAMs1B,IAAIsB,SAAS7iB,OAJnG,0BAyDRo3C,GAAkB,uCAAG,sBAAA/8C,EAAA,sEACZuK,QAAQsf,IACnB0xB,EAAeluC,KAAI,SAACqC,GAClB,OAAOjN,GAAmBu6C,kBAAkBttC,EAAIlX,IAAIyF,OAAM,SAAComC,GAAD,OAASA,SAErEhzC,MAAK,SAACy4B,GAAY,IAAD,EAUQ,EATrBA,EAAOhC,OAAM,SAAC/tB,GAAD,QAAaA,aAAiBiD,WAC7C4Z,GAAiB,WACbkT,EAAO3f,OAAS,EAClB2M,GAAY,GAAD,OAAIykC,EAAepxC,OAAnB,mBAEX2M,GAAY,kBAGdF,GAAiB,SACbkT,EAAO3f,OAAS,EAClB2M,GAAY,GAAD,iBAAIgT,EAAOxqB,QAAO,SAACvF,GAAD,OAAWA,aAAiBiD,SAAOmN,cAArD,QAA+DoxC,EAAepxC,OAA9E,4BAEX2M,GAAY,yBAGhB,OAACyrB,SAAD,IAACA,IAAD,UAACA,GAAU1yB,eAAX,SAA4BuZ,cAC5B1S,IAAa,GACbglC,GAAoB,MAvBG,mFAAH,qDA+CxB,OARA5uC,qBAAU,WACR,OAAO,WACL6f,EAAc,GACd5G,EAAa,GACbC,EAAc,MAEf,IAGD,sBAAKn0B,UAAU,wBAAf,UACE,cAAC,GAAD,CACEyc,IAAKi0B,GACLvf,SAAU,CACR,CACExqB,GAAI,iBACJyyB,YAAa,iBACbrB,eAAgB,QAChB9qB,KAAM,CACJqkB,UAAWA,EACX2C,aAAcA,EACdR,UAAW7iB,GAAmBkiC,kBAC9Blf,YAtGQ,SAACD,EAA0CnzB,GAAkD,IAAD,IAC9G,wBACEmzB,QADF,IACEA,GADF,UACEA,EAAa1kB,eADf,aACE,EAAsBuM,KAAI,SAACgjB,GACzB,OAAO,wCACY,OAAZh+B,GAAgC,QAAZA,IAAsB,CAC7CmG,GAAI63B,EAAOzrB,UAEI,WAAZvS,GAAoC,QAAZA,IAAsB,CACjDsT,KAAM0qB,EAAOzrB,SAAWO,EAAWP,OAA7B,UAAyCyrB,EAAO5rB,SAAhD,UAAmE4rB,EAAO5rB,SAAW4rB,EAAO5rB,SAAW,MAC7GkG,MAAO0lB,EAAO1lB,MACd6xC,YAAansB,EAAOksB,SACpBU,gBAAiB5sB,EAAO4sB,kBAEV,QAAZ5qD,GAAqB,CACvBo2B,gBAAiB4H,EAAOzrB,SAAWO,EAAWP,OAC9CqkB,cAAUnrB,cAdlB,QAiBQ,IAqFEiuB,gBAAgB,eAAD,OAAiB5mB,EAAWP,OAA5B,OAEjBwe,QAASujB,GACT1c,YAAa,WACbE,iBAAkB,OAClBkC,eAtFa,SACrB1f,EACAua,GAIA4J,eAAej1B,QAAQ,WAAYgI,EAAQrJ,SAASsd,UACpDjU,EAAQiN,KAAR,UACK8G,EAAK0iB,OAAO,EAAG1iB,EAAKgE,YAAY,qBADrC,mBACoEsL,EAAIsB,SAAShwB,KAAO2M,EAAWP,OAA/B,WAA4CsiB,EAAIsB,SAAShwB,IAAO,MA+E5HwsB,kBAAmB,CACjB,CACEE,MAAO,kBACPC,kBAAmB,2BAK3BS,OAAQ,CACNlV,UAAWA,EACXC,WAAYA,EACZ+Z,QAASA,EACT7E,SAAUA,EACV9gB,aAAcA,EACdkW,gBAAiBA,GAEnBoI,WAAY,CACV2D,UAAWA,EACXjB,aAAcA,EACdtmB,WAAYA,EACZktB,cAAeA,EACfrJ,WAAYA,EACZ0C,cAAeA,GAEjBsB,QAAS,CACPgD,YAAaphB,EAAc/V,EAAYsU,eACvC8f,cAAere,EAAc/V,EAAY0U,uBACzC0iB,gBAAgB,EAChBC,eAAe,EACfY,eAAe,GAEjBhB,YAAa,SAAC1a,GAAD,OAAcusC,GAAgBvsC,IAC3Cib,WAAY,CACV,CACEG,UACE,cAAC2vB,GAAD,CACEY,aAAc,+BAAO9Y,SAAP,IAAOA,IAAP,UAAOA,GAAU1yB,eAAjB,aAAM,EAA4BuZ,eAChD1S,aAAcA,GACdE,iBAAkBA,GAClBE,YAAaA,KAGjB+T,iBAAiB,IAGrBE,cAAe,CACb,CACE54B,KAAM,cAAC,GAAD,IACNC,UAAW,OACXC,QAAS,YACTO,SAAU,SACVo4B,SAAU,kBA1FlBwwB,EACElyB,GAAaS,QAAO,SAACmzB,EAA0CxtC,GAI7D,OAHIA,EAAIlX,KAAO2M,EAAWP,QACxBs4C,EAASpsC,KAAK,CAAEtY,GAAIkX,EAAIlX,GAAImN,KAAM+J,EAAI/J,OAEjCu3C,IACN,UAELxB,GAAoB,QAsFjBD,GACC,cAAC,GAAD,CACEnC,MAAOiC,EAAepxC,OACtBsvC,cArImB,WACzBiC,GAAoB,IAqId/B,gBAAiBoD,GACjBvD,YAAa,CACX9wB,KAAM,WACJ,OACE,qDAEE,uBAAM72B,UAAW,eAAjB,cAAmC0pD,EAAeluC,KAAI,SAACqC,GAAD,OAASA,EAAI/J,QAAM3J,KAAK,MAA9E,OAFF,4FAUT2/C,IACC,cAAC,GAAD,CACErC,MAAO,EACPG,cAnJuB,WAC7BmC,IAAmB,IAmJbjC,gBAAiB,kBAnYiC,4CAmY3BwD,CAAsBtB,KAC7CjC,aAAc,eACdL,WAAY,mBACZC,YAAa,CACX9wB,KAAM,WACJ,OACE,8GAEE,uBAAM72B,UAAU,eAAhB,cAAiCkqD,MAFnC,qDAUV,cAAC7kC,GAAA,EAAD,CAAUC,aAAc,CAAEC,SAAU,MAAOC,WAAY,SAAWhM,KAAMoL,GAAWa,QAAS,kBAAMZ,IAAa,IAAQa,iBAAkB,IAAzI,SACE,cAACC,GAAA,EAAD,CACEF,QAAS,kBAAMZ,IAAa,IAC5Be,SAAUd,GACVe,GAAI,CAAEnkB,MAAO,QACb4V,OACE,mBAAGtX,UAAU,QAAQW,QAAS,kBAAMkkB,IAAa,IAAjD,mBALJ,SAUGG,U,OC9ZI,SAASumC,KACtB,MAAqCnkD,IAAMsT,WAAWxI,IAA9CmF,EAAR,EAAQA,cAAezD,EAAvB,EAAuBA,UAEvB,EAAkCrM,mBAAsB,IAAxD,mBAAO+pB,EAAP,KAAkB2C,EAAlB,KACA,EAAgC1sB,oBAAkB,GAAlD,mBAAOsX,EAAP,KAAkBC,EAAlB,KACA,EAA4BvX,oBAAkB,GAA9C,mBAAOsxB,EAAP,KAAgB7E,EAAhB,KACA,EAAwCzsB,mBAAiB,IAAzD,mBAAO2L,EAAP,KAAqBkW,EAArB,KACA,EAAkC7hB,mBAAiB,GAAnD,mBAAO4tB,EAAP,KAAkBjB,EAAlB,KACA,EAAoC3sB,mBAAiB,GAArD,mBAAOqG,EAAP,KAAmBktB,EAAnB,KACA,EAAoCvzB,mBAAiB,GAArD,mBAAOkqB,EAAP,KAAmB0C,EAAnB,KAEA,EAAkC5sB,oBAAkB,GAApD,mBAAOqd,EAAP,KAAkBC,EAAlB,KACA,EAA0Ctd,mBAAiB,WAA3D,mBAAOud,EAAP,KAAsBC,EAAtB,KACA,EAAgCxd,mBAAiB,IAAjD,mBAAOyd,EAAP,KAAiBC,EAAjB,KAEMumC,EAAmBn0C,EAAc/V,EAAYsU,eAC7C61C,EAAqBp0C,EAAc/V,EAAYmU,qBAE/Ci7B,GAAWjzB,iBAAO,MAElBiuC,GAAiB,uCAAG,WAAO5wC,EAAqBhC,GAA5B,SAAA3K,EAAA,6DACxB2M,EAAE8P,kBADsB,SAElBha,GACHy4C,WAAW,CAAC,CAAEvwC,MAAOA,KACrBtZ,MAAK,SAACyN,GACDA,EAAK,GAAGs8C,SACVxkC,EAAiB,WACjBE,EAAY,mBAEZF,EAAiB,SACjBE,EAAY,0BAEdJ,GAAa,MAEdzY,OAAM,WACL2Y,EAAiB,SACjBE,EAAY,yBACZJ,GAAa,MAjBO,2CAAH,wDAqBjB8mC,GAAiB,uCAAG,WAAO7wC,EAAqBnU,GAA5B,SAAAwH,EAAA,sEAClByC,GACHu6C,kBAAkBxkD,GAClBnH,MAAK,WAAO,IAAD,EACV,OAACkxC,SAAD,IAACA,IAAD,UAACA,GAAU1yB,eAAX,SAA4BuZ,cAC5BxS,EAAiB,WACjBE,EAAY,sBACZJ,GAAa,MAEdzY,OAAM,WACL2Y,EAAiB,SACjBE,EAAY,8BACZJ,GAAa,MAZO,2CAAH,wDAzCiC,SAyDzCylC,GAzDyC,qFAyDxD,WAAsCC,EAA2BC,EAA0Bz3C,GAA3F,SAAA5E,EAAA,yDACMo8C,IAAsBC,EAD5B,iEAEe55C,GAAmB65C,iBAAiB13C,EAAQ,CAAE23C,SAAUF,IAAoBhrD,MAAK,WAAO,IAAD,EAClG,OAACkxC,SAAD,IAACA,IAAD,UAACA,GAAU1yB,eAAX,SAA4BuZ,iBAHhC,oFAzDwD,sBAgExD,IAAMud,GAAU,CACd,CACEzmB,OAAQ,QACRiE,SAAU,QACV5wB,MAAO,SACPwsB,YAAY,EACZM,iBAAkB,wBAClBK,UAAU,EACVK,iBAAkB,QAClBsD,iBAAkB,WAClBsH,UAAW,OACXjD,KAAM,SAAgB92B,GACpB,OAAOk8B,GAAWmB,yBAChB,qBAAKp9B,UAAU,gCAAf,SACE,mBAAGA,UAAU,QAAb,SAAsBD,EAAMmI,aAKpC,CACEmmB,OAAQ,cACRiE,SAAU,cACV5wB,MAAO,SACPmtB,UAAU,EACVX,YAAY,EACZgB,iBAAkB,0BAClBsD,iBAAkB,WAClB1D,UAAW,iCACXgL,UAAW,OACXjD,KAAM,SAAgB92B,GAAoE,IAAD,EACvF,EAAgCwH,oBAAkB,GAAlD,mBAAOsX,EAAP,KAAkBC,EAAlB,KACMtH,EAAI,UAAG5D,EAAUgK,MAAK,SAAC8sC,GAAD,OAA6BA,EAAS11C,aAAejV,EAAMs1B,IAAIsB,SAASg0B,sBAA1F,aAAG,EAAqGC,aAC5Gr9C,EAAU8jB,mBAAQ,WACtB,OAAOzd,EACJnG,QAAO,SAACgO,GAAD,MAAiD,yCAAtBA,EAAOzG,cACzCwG,KAAI,SAAChE,GACJ,MAAO,CACLY,MAAOZ,EAAKozC,aACZjkD,GAAI6Q,EAAKxC,iBAGd,CAACpB,IACJ,OACE,qBAAK5T,UAAW,+DAAgEW,QAAS,SAACma,GAAD,OAAOA,EAAE8P,mBAAlG,SACGvT,EAAc/V,EAAY4U,aACzB,cAAC,GAAD,CACE3I,QAASA,EACT8O,SAAQ,uCAAE,WAAO2E,EAAQ9Y,GAAf,SAAAiG,EAAA,6DACR2Q,GAAW,GADH,SAEFwrC,GAAuBvqD,EAAMs1B,IAAIsB,SAASg0B,YAAaziD,EAAMvB,GAAI5G,EAAMs1B,IAAIsB,SAAShwB,IAFlF,OAGRmY,GAAW,GAHH,2CAAF,wDAKR5W,MAAOsP,EACPo9B,cAAY,EACZz2B,kBAAgB,EAChB4tB,eAAa,EACbnrC,SAAUie,EACVg2B,WAAS,EACTz2B,YAAa,SAAC5Q,GAAD,OACX,cAAC6Q,GAAA,EAAD,2BACM7Q,GADN,IAEE8Q,WAAU,2BACL9Q,EAAO8Q,YADF,IAERC,kBAAkB,QAIxBC,qBAAsB,SAAC/C,EAAQvT,GAC7B,OAAOuT,EAAOrD,QAAUlQ,KAI5B,mBAAGlI,UAAU,QAAb,SAAsBwX,QAMhC,CACE6W,OAAQ,YACRiE,SAAU,YACV5wB,MAAO,SACPmtB,UAAU,EACVX,YAAY,EACZM,iBAAkB,aAClBU,iBAAkB,aAClBsD,iBAAkB,WAClB1D,UAAW,oBACXgL,UAAW,OACXjD,KAAM,SAAgB92B,GACpB,OAAOk8B,GAAWmB,yBAChB,qBAAKp9B,UAAU,gCAAf,SACE,mBAAGA,UAAU,QAAb,SAAsB07B,GAAW37B,EAAMmI,cAK/C,CACEmmB,OAAQ,GACRiE,SAAU,UACV5wB,MAAO,MACPmtB,UAAU,EACVX,YAAY,EACZ4L,UAAW,QACXjD,KAAM,SAAgB92B,GACpB,OACE,qBAAKC,UAAS,gCAAd,SACE,sBAAKA,UAAU,UAAf,UACE,cAACC,EAAD,CACED,UAAU,aACVQ,QAAQ,YACRC,KAAK,KACLE,QAAS,SAACma,GAAD,OAAyB4wC,GAAkB5wC,EAAG/a,EAAMs1B,IAAIsB,SAAS7d,QAJ5E,oBAQA,cAAC7Y,EAAD,CACED,UAAU,aACVQ,QAAQ,YACRC,KAAK,KACLE,QAAS,SAACma,GAAD,OAAyB6wC,GAAkB7wC,EAAG/a,EAAMs1B,IAAIsB,SAAShwB,KAJ5E,4BAwCNilD,GAAiB,uCAAG,WAAOtZ,GAAP,eAAAnkC,EAAA,sEACHyC,GAClBkiC,kBADkB,sBACeR,EAAI92B,KAAI,SAAC7U,GAAD,iBAAYA,EAAZ,QAAmBwD,KAAK,MAD/C,OAElB3K,MAAK,SAACyN,GAAuC,IAAD,IAC3C,2BACEA,EAAKgC,eADP,aACE,EAAcuM,KAAI,SAAC46B,GACjB,MAAO,CAAEt9B,MAAOs9B,EAAKt9B,iBAFzB,QAGQ,MAPY,cAClBswC,EADkB,gBAUXx4C,GACVy4C,WAAWD,GACX5pD,MAAK,SAACyN,GAKK,IAAD,EAJLA,EAAKqL,OAAS,EACZrL,EAAKgpB,OAAM,SAAC41B,GAAD,OAAcA,EAAStC,YACpCxkC,EAAiB,WACjBE,EAAY,GAAD,OAAIhY,EAAKqL,OAAT,sBAEXyM,EAAiB,SACjBE,EAAY,GAAD,iBAAIhY,EAAKQ,QAAO,SAACo+C,GAAD,OAAeA,EAAStC,WAASjxC,cAAjD,QAA2DrL,EAAKqL,OAAhE,8BAGTrL,EAAK,GAAGs8C,SACVxkC,EAAiB,WACjBE,EAAY,mBAEZF,EAAiB,SACjBE,EAAY,6BAIjB7Y,OAAM,WACL2Y,EAAiB,SACjBE,EAAY,GAAD,OAAImkC,EAAO9wC,OAAX,gCAEZwzC,SAAQ,WACPjnC,GAAa,MApCO,mFAAH,sDAwCjBknC,GAAiB,uCAAG,WAAOzZ,GAAP,SAAAnkC,EAAA,sEACXuK,QAAQsf,IACnBsa,EAAI92B,KAAI,SAAC7U,GACP,OAAOiK,GAAmBu6C,kBAAkBxkD,GAAIyF,OAAM,SAAComC,GAAD,OAASA,SAEjEhzC,MAAK,SAACy4B,GAAY,IAAD,EAIV,EAHHA,EAAOhC,OAAM,SAAC/tB,GAAD,QAAaA,aAAiBiD,WAC7C4Z,EAAiB,WACjBE,EAAY,GAAD,OAAIqtB,EAAIh6B,OAAR,2BAEXyM,EAAiB,SACjBE,EAAY,GAAD,iBAAIgT,EAAOxqB,QAAO,SAACvF,GAAD,OAAWA,aAAiBiD,SAAOmN,cAArD,QAA+Dg6B,EAAIh6B,OAAnE,gCAEb,OAACo4B,SAAD,IAACA,IAAD,UAACA,GAAU1yB,eAAX,SAA4BuZ,cAC5B1S,GAAa,MAdS,mFAAH,sDAkBvB,OACE,sBAAK7kB,UAAS,sBAAd,UACE,cAAC,GAAD,CACEyc,IAAKi0B,GACLvf,SAAU,CACR,CACExqB,GAAI,cACJyyB,YAAa,cACbrB,eAAgB,QAChB9qB,KAAM,CACJqkB,UAAWA,EACX2C,aAAcA,EACdR,UAAW7iB,GAAmBkiC,kBAC9Blf,YAhGQ,SAACD,EAA0CnzB,GAAkD,IAAD,IAC9G,wBACEmzB,QADF,IACEA,GADF,UACEA,EAAa1kB,eADf,aACE,EAAsBuM,KAAI,SAACgjB,GAA8B,IAAD,EACtD,OAAO,wCACY,OAAZh+B,GAAgC,QAAZA,IAAsB,CAC7CmG,GAAE,OAAE63B,QAAF,IAAEA,OAAF,EAAEA,EAAQzrB,UAEG,WAAZvS,GAAoC,QAAZA,IAAsB,CACjDsY,MAAK,OAAE0lB,QAAF,IAAEA,OAAF,EAAEA,EAAQ1lB,MACfkzC,UAAS,iBAAExtB,QAAF,IAAEA,OAAF,EAAEA,EAAQytB,kBAAV,QAAwB,GACjCtB,YAAW,OAAEnsB,QAAF,IAAEA,OAAF,EAAEA,EAAQksB,WAEP,QAAZlqD,GAAqB,CACvBo2B,qBAAiB3qB,EACjBmrB,cAAUnrB,cAblB,QAgBQ,KAiFAslB,QAASujB,GACTrgB,cAAepd,EAAc/V,EAAYmU,0BAAuBxJ,EAAY,CAAC,WAC7EmsB,YAAa,QACbE,iBAAkB,OAClBkC,eAjFa,WACrB,OAAO,MAiFCrH,kBAAmB,CACjB,CACEE,MAAO,cACPC,kBAAmB,4BAK3BS,OAAQ,CACNlV,UAAWA,EACXC,WAAYA,EACZ+Z,QAASA,EACT7E,SAAUA,EACV9gB,aAAcA,EACdkW,gBAAiBA,GAEnBoI,WAAY,CACV2D,UAAWA,EACXjB,aAAcA,EACdtmB,WAAYA,EACZktB,cAAeA,EACfrJ,WAAYA,EACZ0C,cAAeA,GAEjBsB,QAAS,CACPgD,YAAa+yB,EACb91B,cAAe+1B,EACf/yB,gBAAgB,EAChBC,eAAe,EACfY,eAAe,GAEjBT,WAAY,CACV,CACEG,UACE,cAAC2vB,GAAD,CACEY,aAAc,+BAAO9Y,SAAP,IAAOA,IAAP,UAAOA,GAAU1yB,eAAjB,aAAM,EAA4BuZ,eAChD1S,aAAcA,EACdE,iBAAkBA,EAClBE,YAAaA,IAGjB+T,iBAAiB,IAGrBE,cAAe,CACb,CACE54B,KAAM,cAAC,GAAD,IACNE,QAAS,YACTD,UAAW,OACXQ,SAAU,SACVo4B,SAAU,SAACmZ,GAAD,OAASsZ,GAAkBtZ,KAEvC,CACEhyC,KAAM,cAAC,GAAD,IACNE,QAAS,YACTD,UAAW,OACXQ,SAAU,gBACVo4B,SAAU,SAACmZ,GAAD,OAASyZ,GAAkBzZ,QAK3C,cAACjtB,GAAA,EAAD,CAAUC,aAAc,CAAEC,SAAU,MAAOC,WAAY,SAAWhM,KAAMoL,EAAWa,QAAS,kBAAMZ,GAAa,IAAQa,iBAAkB,IAAzI,SACE,cAACC,GAAA,EAAD,CACEF,QAAS,kBAAMZ,GAAa,IAC5Be,SAAUd,EACVe,GAAI,CAAEnkB,MAAO,QACb4V,OACE,mBAAGtX,UAAU,QAAQW,QAAS,kBAAMkkB,GAAa,IAAjD,mBALJ,SAUGG,S,OCzXI,SAASknC,KACtB,MAAkC3kD,mBAAsB,IAAxD,mBAAO+pB,EAAP,KAAkB2C,EAAlB,KACA,EAAgC1sB,oBAAkB,GAAlD,mBAAOsX,EAAP,KAAkBC,EAAlB,KACA,EAA4BvX,oBAAkB,GAA9C,mBAAOsxB,EAAP,KAAgB7E,EAAhB,KACA,EAAwCzsB,mBAAiB,IAAzD,mBAAO2L,EAAP,KAAqBkW,EAArB,KACA,EAAkC7hB,mBAAiB,GAAnD,mBAAO4tB,EAAP,KAAkBjB,EAAlB,KACA,EAAoC3sB,mBAAiB,GAArD,mBAAOqG,EAAP,KAAmBktB,EAAnB,KACA,EAAoCvzB,mBAAiB,GAArD,mBAAOkqB,EAAP,KAAmB0C,EAAnB,KACA,EAAqC/sB,IAAMsT,WAAWxI,IAA9CmF,EAAR,EAAQA,cAAezD,EAAvB,EAAuBA,UAEvB,EAAkCrM,oBAAkB,GAApD,mBAAOqd,EAAP,KAAkBC,EAAlB,KACA,EAA0Ctd,mBAAiB,WAA3D,mBAAOud,EAAP,KAAsBC,EAAtB,KACA,EAAgCxd,mBAAiB,IAAjD,mBAAOyd,EAAP,KAAiBC,EAAjB,KAEMyrB,EAAWjzB,iBAAO,MAElB0uC,GAAiB,uCAAG,WAAOxlD,GAAP,SAAAwH,EAAA,sEACXyC,GACVw7C,aAAazlD,GACbnH,MAAK,WAAO,IAAD,EACV,OAACkxC,QAAD,IAACA,GAAD,UAACA,EAAU1yB,eAAX,SAA4BuZ,cAC5BtS,EAAY,mBACZF,EAAiB,cAElB3Y,OAAM,WACL6Y,EAAY,2BACZF,EAAiB,YAElB+mC,SAAQ,WACPjnC,GAAa,MAbO,mFAAH,sDAiBjBiwB,GAAU,CACd,CACEzmB,OAAQ,OACRiE,SAAU,OACV5wB,MAAO,MACPmtB,UAAU,EACVX,YAAY,EACZM,iBAAkB,aAClBU,iBAAkB,WAClBsD,iBAAkB,WAClBsH,UAAW,OACXjD,KAAM,SAAgB92B,GACpB,OAAOk8B,GAAWmB,yBAChB,sBAAKp9B,UAAU,wDAAf,UACE,qBAAKA,UAAU,eAAf,SACE,cAAC,EAAD,MAEF,mBAAGA,UAAU,QAAb,SAAsBD,EAAMmI,cAKpC,CACEmmB,OAAQ,QACRiE,SAAU,QACV5wB,MAAO,MACPmtB,UAAU,EACVX,YAAY,EACZM,iBAAkB,wBAClBU,iBAAkB,QAClBsD,iBAAkB,WAClB1D,UAAW,kBACXgL,UAAW,OACXjD,KAAM,SAAgB92B,GACpB,OAAOk8B,GAAWmB,yBAChB,qBAAKp9B,UAAU,gCAAf,SACE,mBAAGA,UAAU,QAAb,SAAsBD,EAAMmI,aAKpC,CACEmmB,OAAQ,cACRiE,SAAU,cACV5wB,MAAO,MACPmtB,UAAU,EACVX,YAAY,EACZgB,iBAAkB,0BAClBsD,iBAAkB,WAClB1D,UAAW,oCACXgL,UAAW,OACXjD,KAAM,SAAgB92B,GAA2B,IAAD,EACxCyX,EAAI,UAAG5D,EAAUgK,MAAK,SAAC8sC,GAAD,OAA6BA,EAAS11C,aAAejV,EAAMmI,gBAA7E,aAAG,EAAkF0iD,aAC/F,OAAO3uB,GAAWmB,yBAChB,qBAAKp9B,UAAU,gCAAf,SACE,mBAAGA,UAAU,QAAb,SAAsBwX,SAK9B,CACE6W,OAAQ,GACRiE,SAAU,gBACV5wB,MAAO,MACPmtB,UAAU,EACVX,YAAY,EACZ4L,UAAW,OACXjD,KAAM,SAAgB92B,GACpB,OAAOk8B,GAAWmB,yBAChB,cAACn9B,EAAD,CAAQO,QAAQ,YAAYC,KAAK,KAAKE,QAAS,kBAAMwrD,GAAkBpsD,EAAMs1B,IAAIsB,SAAShwB,KAA1F,wBAyCR,OARAsU,qBAAU,WACR,OAAO,WACL6f,EAAc,GACd5G,EAAa,GACbC,EAAc,MAEf,IAGD,sBAAKn0B,UAAS,kBAAd,UACE,cAAC,GAAD,CACEyc,IAAKi0B,EACLvf,SAAU,CACR,CACExqB,GAAI,kBACJyyB,YAAa,kBACbrB,eAAgB,QAChB9qB,KAAM,CACJqkB,UAAWA,EACX2C,aAAcA,EACdR,UAAW7iB,GAAmBkiC,kBAC9Blf,YA9CQ,SAACD,EAA0CnzB,GAAkD,IAAD,IAC9G,wBACEmzB,QADF,IACEA,GADF,UACEA,EAAa1kB,eADf,aACE,EAAsBuM,KAAI,SAACgjB,GACzB,OAAO,wCACY,OAAZh+B,GAAgC,QAAZA,IAAsB,CAC7CmG,GAAE,OAAE63B,QAAF,IAAEA,OAAF,EAAEA,EAAQzrB,UAEG,WAAZvS,GAAoC,QAAZA,IAAsB,CACjDsT,KAAI,OAAE0qB,QAAF,IAAEA,OAAF,EAAEA,EAAQ5rB,SACdkG,MAAK,OAAE0lB,QAAF,IAAEA,OAAF,EAAEA,EAAQ1lB,MACf6xC,YAAW,OAAEnsB,QAAF,IAAEA,OAAF,EAAEA,EAAQksB,WAEP,QAAZlqD,GAAqB,CACvBo2B,qBAAiB3qB,EACjBmrB,cAAUnrB,cAblB,QAgBQ,KA+BAslB,QAASujB,GACTrgB,cAAepd,EAAc/V,EAAYwU,2BAAwB7J,EAAY,CAAC,iBAC9EuuB,eA7Ba,WACrB,OAAO,MA6BCpC,YAAa,WACbE,iBAAkB,OAClBnF,kBAAmB,CACjB,CACEE,MAAO,UACPC,kBAAmB,6BAK3BS,OAAQ,CACNlV,UAAWA,EACXC,WAAYA,EACZ+Z,QAASA,EACT7E,SAAUA,EACV9gB,aAAcA,EACdkW,gBAAiBA,GAEnBoI,WAAY,CACV2D,UAAWA,EACXjB,aAAcA,EACdtmB,WAAYA,EACZktB,cAAeA,EACfrJ,WAAYA,EACZ0C,cAAeA,GAEjBsB,QAAS,CACPgD,aAAa,EACb/C,cAAere,EAAc/V,EAAYyU,wBACzC2iB,gBAAgB,EAChBC,eAAe,EACfY,eAAe,KAGnB,cAAClU,GAAA,EAAD,CAAUC,aAAc,CAAEC,SAAU,MAAOC,WAAY,SAAWhM,KAAMoL,EAAWa,QAAS,kBAAMZ,GAAa,IAAQa,iBAAkB,IAAzI,SACE,cAACC,GAAA,EAAD,CACEF,QAAS,kBAAMZ,GAAa,IAC5Be,SAAUd,EACVe,GAAI,CAAEnkB,MAAO,QACb4V,OACE,mBAAGtX,UAAU,QAAQW,QAAS,kBAAMkkB,GAAa,IAAjD,mBALJ,SAUGG,S,OClNI,SAASqnC,KACtB,IAAQtmC,EAASoD,cAATpD,KAER,OACE,eAAC,IAAD,WACE,cAAC,IAAD,CACEG,OAAK,EACLH,KAAI,UAAKA,GACTgU,OAAQ,WACN,OAAO,cAAC,GAAD,OAGX,cAAC,IAAD,CACEhU,KAAI,UAAKA,EAAL,gBACJgU,OAAQ,WACN,OAAO,cAAC,GAAD,OAGX,cAAC,IAAD,CACEhU,KAAI,UAAKA,EAAL,YACJgU,OAAQ,WACN,OAAO,cAAC,GAAD,UC5BF,WAA0B,yCCiBnC1f,I,OAAsB,CAC1B,CACEvG,KAAM,oBACNrK,MAAO,uCACP6Q,QAASC,GACT7Y,MAAO,MAkBI,SAAS4U,GAAuBvW,GAC7C,MAAkD2a,qBAAWxI,IAArDmF,EAAR,EAAQA,cAAe/D,EAAvB,EAAuBA,WAAY4B,EAAnC,EAAmCA,WACnC,EAA4C3N,oBAAkB,GAA9D,mBAAO+kD,EAAP,KAAuBC,EAAvB,KACA,EAA8ChlD,mBAAgC,IAA9E,mBAAOwb,EAAP,KAAwBC,EAAxB,KACA,EAAgCzb,mBAAiB,IAAjD,mBAAOob,EAAP,KAAiBC,EAAjB,KACQ4pC,EAAalqC,cAAbkqC,SAeR,SAASC,IACP1sD,EAAM8kB,cAAa,GACnB9kB,EAAM2sD,gBAAgB,+CACtB3sD,EAAMglB,iBAAiB,SA4DzB,OAzDA9J,qBAAU,WACR,IAAM0xC,EAAE,uCAAG,WAAOxxC,GAAP,iBAAAhN,EAAA,sDACT,GAAIgN,EAAMvS,SAAWF,OAAOC,SAASC,OACnC,GAAwB,cAApBuS,EAAMlO,KAAKpM,KAAsB,CAC7BgN,EAAsC,CAC1C,CACEpE,MAAO0R,EAAMlO,KAAKxD,MAClB2c,UAAU,EACVwmC,sBAAsB,EACtBC,cAAe,CACb94C,SAAUoH,EAAMlO,KAAKsC,KACrByE,QAASmH,EAAMlO,KAAK+G,QACpBvL,YAAW,UAAEH,sCAAF,EAAwC,KACnDwQ,MAAO,QAIb,IACEtI,GAAkBs8C,iBAAiBj/C,GAAMrO,MAAK,WAC5CO,EAAM8kB,cAAa,GACnB9kB,EAAM2sD,gBAAgB,iCACtB3sD,EAAMglB,iBAAiB,WACvBhlB,EAAMgtD,iBAGR,MAAO1gD,GACPogD,SAE2B,cAApBtxC,EAAMlO,KAAKpM,MACpB4rD,IA5BK,2CAAH,sDAiCR,OADA/jD,OAAO2S,iBAAiB,UAAWsxC,GAC5B,WACLjkD,OAAO4S,oBAAoB,UAAWqxC,MAEvC,IAGH1xC,qBAAU,WACR,IAAM5K,EAAkB,uCAAG,sBAAAlC,EAAA,kEACzB6U,EADyB,SAEhB5S,GAAkBC,qBAFF,mBAEwBmL,KAAI,SAAC6H,GAClD,MAAO,CACLC,YAAaD,EAAKC,YAClBxP,KAAMuP,EAAKvP,KACXyP,aAAa,OANM,yDAAH,qDAWO,IAA3BR,EAAgBzK,QAClBjI,MAED,IAEEgH,EAAc/V,EAAYgV,wBAiB7B,sBAAKtW,UAAU,wBAAf,UACE,0KAGA,sBAAKA,UAAU,WAAf,UACGqa,GAAQmB,KAAI,SAAC9M,GACZ,OACE,qBAAK1O,UAAU,UAA0BW,QAAS,kBApGxC,SAACqsD,EAAiBvjD,GACpC,IAAMS,EAAMX,GAAqByjD,EAASvjD,GAC1CkO,GAAMsB,UAAU/O,EAAK,GAAIxB,OAAQ,IAAK,KAkG0BukD,CAAYv+C,EAAIoF,KAAMpF,EAAIjF,QAAlF,SACE,qBAAKmS,IAAKlN,EAAI4L,QAASwB,IAAKpN,EAAIoF,QADJpF,EAAIjF,UAKtC,qBAAKzJ,UAAU,UAAUW,QAAS,kBAAM4rD,GAAkB,IAA1D,SACE,4CAGJ,cAAC7L,GAAA,EAAD,CAAOlnC,KAAM8yC,EAAgB7mC,QAAS,kBAAM8mC,GAAkB,IAA9D,SACE,sBAAKvsD,UAAU,WAAf,UACE,mDACA,kHACA,mJACA,sBAAKA,UAAU,WAAf,UACE,uBAAOkc,QAAQ,sBAAf,oCACA,cAAC,GAAD,CACEvV,GAAG,sBACH4G,QAASwV,EAAgBvH,KAAI,SAACC,GAAD,OAAYA,EAAO3H,QAChD2P,UAAQ,EACRC,YAAU,EACVxG,YAAU,EACVI,UAAW,cAAC,GAAD,IACXqG,cAAe,SAACxI,EAAOjT,GAAR,OAA0B0a,EAAY1a,IACrDkW,YAAa,SAAC5Q,GAAD,OACX,cAAC6Q,GAAA,EAAD,2BACM7Q,GADN,IAEE4O,YAAY,WACZkC,WAAU,2BACL9Q,EAAO8Q,YADF,IAERC,kBAAkB,QAIxB,cAAY,2BAGhB,sBAAKve,UAAU,UAAf,UACE,cAACC,EAAD,CAAQO,QAAQ,YAAYG,QAAS,kBAAM4rD,GAAkB,IAA7D,oBAGA,cAACtsD,EAAD,CAAQU,QAAS,kBAxI3B,WAAuB,IAAD,EACpBuU,EAAW,CAAC,CAAE4D,MAAK,UAAE0zC,EAAS,UAAX,aAAE,EAAalF,SAAUnkC,UAAWR,KACvD4pC,GAAkB,GAClBxsD,EAAM2sD,gBAAgB,gBACtB3sD,EAAM8kB,cAAa,GACnB9kB,EAAMglB,iBAAiB,WAmIQsrB,IAAvB,6BA/DN,qBAAKrwC,UAAU,wBAAf,SACgC,KAAnB,OAAVsT,QAAU,IAAVA,OAAA,EAAAA,EAAYH,MAAMmF,QACjB,cAAC,GAAD,IAEA,sBAAKtY,UAAU,qBAAf,UACE,qBAAK4b,IAAKsxC,GAAiBpxC,IAAI,oBAC/B,gHACA,8H,OClHG,SAASqxC,GAAwBptD,GAW9C,OACE,cAAC2gD,GAAA,EAAD,CAAOlnC,KAAMzZ,EAAMuhB,KAAMmE,QAAS,kBAAM1lB,EAAMqtD,SAAQ,IAAQvnC,GAAI,CAAEwe,gBAAiB,uBAArF,SACE,sBAAKrkC,UAAU,WAAf,UACE,uCAAQD,EAAMqmB,SAAW,aAAe,YAAxC,YAAuDrmB,EAAMitD,WAC7D,4BACGjtD,EAAMqmB,SAAN,oIACgIrmB,EAAMitD,SADtI,6CAEyCjtD,EAAMitD,WAElD,sBAAKhtD,UAAU,UAAf,UACE,cAACC,EAAD,CAAQO,QAAQ,YAAYG,QAAS,kBAAMZ,EAAMqtD,SAAQ,IAAzD,oBAGA,cAACntD,EAAD,CAAQD,UAAWD,EAAMqmB,SAAW,aAAe,GAAIzlB,QAAS,kBAtBtE6P,GAAkB68C,iBAAiBttD,EAAM0J,MAAO,CAAE2c,UAAWrmB,EAAMqmB,WAAY5mB,MAAK,WAClFO,EAAMutD,aAERvtD,EAAMqtD,SAAQ,GACdrtD,EAAM8kB,cAAa,GACnB9kB,EAAM2sD,gBAAN,UAAyB3sD,EAAMitD,QAA/B,YAA0CjtD,EAAMqmB,SAAW,eAAiB,mBAC5ErmB,EAAMglB,iBAAiB,YAgBjB,SACGhlB,EAAMqmB,SAAW,aAAe,sB,OC1B9B,SAASmnC,KACtB,MAAkChmD,oBAAkB,GAApD,mBAAOqd,EAAP,KAAkBC,EAAlB,KACA,EAAwCtd,mBAAiB,IAAzD,mBAAOimD,EAAP,KAAqBd,EAArB,KACA,EAA0CnlD,mBAAiB,WAA3D,mBAAOud,EAAP,KAAsBC,EAAtB,KACA,EAAkCxd,mBAAsB,IAAxD,mBAAO+pB,EAAP,KAAkB2C,EAAlB,KACA,EAAgC1sB,oBAAkB,GAAlD,mBAAOsX,EAAP,KAAkBC,EAAlB,KACA,EAA4BvX,oBAAkB,GAA9C,mBAAOsxB,EAAP,KAAgB7E,EAAhB,KACA,EAAwCzsB,mBAAiB,IAAzD,mBAAO2L,EAAP,KAAqBkW,EAArB,KACA,EAAkC7hB,mBAAiB,GAAnD,mBAAO4tB,EAAP,KAAkBjB,EAAlB,KACA,EAAoC3sB,mBAAiB,GAArD,mBAAOqG,EAAP,KAAmBktB,EAAnB,KACA,EAAoCvzB,mBAAiB,GAArD,mBAAOkqB,EAAP,KAAmB0C,EAAnB,KACMuc,EAAWjzB,iBAAO,MAExB,EAA2C/C,qBAAWxI,IAA9CmF,EAAR,EAAQA,cAAe3D,EAAvB,EAAuBA,gBACvB,EAAwCgH,qBAAWwtC,IAA3CG,EAAR,EAAQA,kBAAmBK,EAA3B,EAA2BA,SAC3B,EAAkCnhD,oBAAkB,GAApD,oBAAOkmD,GAAP,MAAkBC,GAAlB,MAEA,GAAoCnmD,mBAAiB,IAArD,qBAAOomD,GAAP,MAAmBC,GAAnB,MACA,GAA0CrmD,oBAAkB,GAA5D,qBAAOsmD,GAAP,MAAsBC,GAAtB,MACA,GAAwCvmD,mBAAiB,IAAzD,qBAAOwmD,GAAP,MAAqBC,GAArB,MAuBMlZ,GAAU,CACd,CACEzmB,OAAQ,eACRiE,SAAU,eACV5wB,MAAO,MACPmtB,UAAU,EACVK,iBAAkB,OAClB4K,UAAW,OACXjD,KAAM,SAAgB92B,GACpB,OAAOk8B,GAAWmB,yBAAyB,qBAAKp9B,UAAU,aAAf,SAA6BD,EAAMmI,WAGlF,CACEmmB,OAAQ,sBACRiE,SAAU,sBACV5wB,MAAO,MACPmtB,UAAU,EACVK,iBAAkB,WAClB4K,UAAW,SACXjD,KAAM,SAAgB92B,GACpB,IAAIkuD,EAEJ,OAAQluD,EAAMmI,OACZ,IAAK,oBACH+lD,EAAW,qBAAKryC,IAAKrB,GAAgBsB,MAAO,CAAEna,MAAO,QAASC,OAAQ,QAAU3B,UAAU,WAAW8b,IAAK/b,EAAMmI,QAChH,MACF,IAAK,OACH+lD,EAAW,qBAAKryC,IAAKpB,GAAUqB,MAAO,CAAEna,MAAO,OAAQC,OAAQ,QAAU3B,UAAU,WAAW8b,IAAK/b,EAAMmI,QACzG,MACF,QACE+lD,EAAW,6BAGf,OAAOhyB,GAAWmB,yBAAyB6wB,KAG/C,CACE5/B,OAAQ,SACRiE,SAAU,YACV5wB,MAAO,MACPmtB,UAAU,EACVK,iBAAkB,WAClB4K,UAAW,OACXjD,KAAM,SAAgB92B,GACpB,OAAOk8B,GAAWmB,yBAChBr9B,EAAMmI,MACJ,cAAC,GAAD,CAAMizB,KAAK,YAAY36B,QAAQ,OAAOR,UAAU,mBAEhD,cAAC,GAAD,CAAMm7B,KAAK,eAAe36B,QAAQ,SAASR,UAAU,yBAK7D,CACEquB,OAAQ,YACRiE,SAAU,YACV5wB,MAAO,MACPmtB,UAAU,EACVK,iBAAkB,WAClB4K,UAAW,OACXE,cAAe,oFACfnD,KAAM,SAAgB92B,GACpB,OAAKA,EAAMmI,MAGJ+zB,GAAWkC,aAAavC,GAAkB77B,EAAMmI,OAAS,QAFvD+zB,GAAWkC,aAAa,SAKrC,CACE9P,OAAQ,GACRiE,SAAU,SACV5wB,MAAO,MACPmtB,UAAU,EACViL,UAAW,OAEXjD,KAAM,SAAgB92B,GACpB,OACE,sBAAKC,UAAU,8BAAf,WACKD,EAAMs1B,IAAIsB,SAASu3B,WAAa72C,EAAc/V,EAAYiV,WACzDxW,EAAMs1B,IAAIsB,SAASu3B,WAAa72C,EAAc/V,EAAYgV,0BAC5D,cAACrW,EAAD,CACEO,QAAQ,YACRC,KAAK,KACLC,QAAiC,cAAxBgoD,EAASJ,YAAsD,UAAxBI,EAASJ,YAAkD,gBAAxBI,EAASJ,WAC5F3nD,QAAS,WAxGA,IAACohB,EAAyBqE,EAAmB4mC,EAyG/CjtD,EAAMs1B,IAAIsB,SAASu3B,UAlGlB,SAACnsC,GACrB,IACEpR,GAAWsT,UAAU,CAAElC,gBAAiBA,IAAmBviB,MAAK,WAAO,IAAD,EACpE6oD,GAAkB,SAACrtC,GACjB,OAAOA,EAAO,KAEhB,OAAC01B,QAAD,IAACA,GAAD,UAACA,EAAU1yB,eAAX,SAA4BuZ,iBAE9B,MAAOzc,GACPxO,QAAQC,IAAIuO,IA4FEqzC,CAAcpuD,EAAMs1B,IAAIsB,SAASy3B,SA5G3BrsC,EA0GShiB,EAAMs1B,IAAIsB,SAASy3B,OA1GHhoC,EA0GWrmB,EAAMs1B,IAAIsB,SAASu3B,UA1GXlB,EA0GsBjtD,EAAMs1B,IAAIsB,SAAS03B,oBAzG3GX,IAAa,GACbI,GAAiB1nC,GACjB4nC,GAAgBhB,GAChBY,GAAc7rC,KAgGJ,SAYGhiB,EAAMs1B,IAAIsB,SAASu3B,UAAY,WAAa,cAGhD72C,EAAc/V,EAAYgV,yBACzB,cAACrW,EAAD,CACEO,QAAQ,YACRC,KAAK,KACLT,UAAU,oBAEVW,QAAS,kBAAM2L,QAAQ8X,KAAK,yBAL9B,8BA0CZ,OACE,sBAAKpkB,UAAU,8BAAf,UACE,sBAAKA,UAAS,wBAAkC,IAAfyxB,EAAmB,SAAW,IAA/D,UACE,oHACA,cAAC,GAAD,CACEhV,IAAKi0B,EACLvf,SAAU,CACR,CACExqB,GAAI,sBACJyyB,YAAa,sBACbrB,eAAgB,QAChB9qB,KAAM,CACJqkB,UAAWA,EACX2C,aAAcA,EACdR,UAAWjjB,GAAkB89C,eAC7B16B,YAzCM,SAACD,EAA4CnzB,GAAkD,IAAD,IAChH,wBACEmzB,QADF,IACEA,GADF,UACEA,EAAa1kB,eADf,aACE,EAAsBuM,KAAI,SAACgjB,GAAgC,IAAD,YACxD,OAAO,wCACY,OAAZh+B,GAAgC,QAAZA,IAAsB,CAC7CmG,GAAE,OAAE63B,QAAF,IAAEA,OAAF,EAAEA,EAAQ/0B,SAEG,WAAZjJ,GAAoC,QAAZA,IAAsB,CACjD+tD,aAAc76C,EACd86C,aAAY,OAAEhwB,QAAF,IAAEA,OAAF,EAAEA,EAAQouB,qBACtBsB,UAAS,OAAE1vB,QAAF,IAAEA,OAAF,EAAEA,EAAQpY,SACnBqoC,UAAS,iBAAEjwB,QAAF,IAAEA,GAAF,UAAEA,EAAQkqB,gBAAV,aAAE,EAAkB1G,gBAApB,QAAgC,KACzCn1B,OAAM,iBAAE2R,QAAF,IAAEA,GAAF,UAAEA,EAAQkqB,gBAAV,aAAE,EAAkBJ,kBAApB,QAAkC,MACxCoG,eAAc,iBAAElwB,QAAF,IAAEA,GAAF,UAAEA,EAAQkqB,gBAAV,aAAE,EAAkBH,4BAApB,QAA4C,MAC1D8F,oBAAmB,OAAE7vB,QAAF,IAAEA,OAAF,EAAEA,EAAQmwB,IAAI76C,KACjCs6C,OAAM,OAAE5vB,QAAF,IAAEA,OAAF,EAAEA,EAAQzc,kBAEF,QAAZvhB,GAAqB,CACvBo2B,qBAAiB3qB,EACjBmrB,cAAUnrB,cAlBlB,QAqBQ,IAoBIynB,cAAe,iBAEjBnC,QAASujB,GACTpjB,WAAY,CAACg3B,EAAS1G,UACtBvtB,cAAepd,EAAc/V,EAAYiV,cAAWtK,EAAY,CAAC,UACjEuuB,eAAgB,WACd,OAAO,MAGTrH,kBAAmB,CACjB,CACEE,MAAO,qBACPC,kBAAmB,kGAK3BS,OAAQ,CACNlV,UAAWA,EACXC,WAAYA,EACZ+Z,QAASA,EACT7E,SAAUA,EACV9gB,aAAcA,EACdkW,gBAAiBA,GAEnBoI,WAAY,CACV2D,UAAWA,EACXjB,aAAcA,EACdtmB,WAAYA,EACZktB,cAAeA,EACfrJ,WAAYA,EACZ0C,cAAeA,GAEjBsB,QAAS,CACPgD,aAAa,EACb/C,eAAe,EACfgD,gBAAgB,EAChBa,eAAe,EACfZ,eAAe,KAGnB,cAAC,GAAD,CACErX,KAAMmsC,GACNL,QAASM,GACTtnC,SAAUynC,GACVb,QAASe,GACTtkD,MAAOkkD,GACPL,QAAS,+BAAO5c,QAAP,IAAOA,GAAP,UAAOA,EAAU1yB,eAAjB,aAAM,EAA4BuZ,eAC3C1S,aAAcA,EACd6nC,gBAAiBA,EACjB3nC,iBAAkBA,QAGpBlG,GAA4B,IAAf4S,GACb,cAAC,GAAD,CACE5M,aAAcA,EACd6nC,gBAAiBA,EACjBK,YAAa,+BAAOrc,QAAP,IAAOA,GAAP,UAAOA,EAAU1yB,eAAjB,aAAM,EAA4BuZ,eAC/CxS,iBAAkBA,IAGtB,cAACM,GAAA,EAAD,CAAUC,aAAc,CAAEC,SAAU,MAAOC,WAAY,SAAWhM,KAAMoL,EAAWa,QAAS,kBAAMZ,GAAa,IAAQa,iBAAkB,IAAzI,SACE,cAACC,GAAA,EAAD,CACEF,QAAS,kBAAMZ,GAAa,IAC5Be,SAAUd,EACVe,GAAI,CAAEnkB,MAAO,QACb4V,OACE,mBAAGtX,UAAU,QAAQW,QAAS,kBAAMkkB,GAAa,IAAjD,mBALJ,SAUG2oC,SCtQI,SAASoB,GAAc7uD,GAAgD,IAAD,sDAC3E84C,EAAeD,cAAfC,WACR,EAAoCzxC,IAAMsT,WAAWxI,IAA7CoB,EAAR,EAAQA,WAAYE,EAApB,EAAoBA,YAEpB,OACE,sBAAKxT,UAAU,iBAAf,UACE,sBAAKA,UAAU,mBAAf,UACGD,EAAM8uD,oBACJ9uD,EAAM8e,YACL9e,EAAM+uD,OAKN,cAAC7uD,EAAD,CAAQK,KAAM,cAAC,GAAD,IAAUE,QAAQ,UAAUC,KAAK,KAAKF,UAAW,OAAQI,QAAS,kBAAMZ,EAAM6H,YAAY1G,EAASyC,OAAjH,0BAJA,cAAC1D,EAAD,CAAQK,KAAM,cAAC,GAAD,IAAYE,QAAQ,YAAYC,KAAK,KAAKF,UAAW,OAAQI,QAAS,kBAAM2L,QAAQC,IAAI,QAAtG,4BAQJ,qBAAKvM,UAAWD,EAAM8uD,oBAAsB9uD,EAAM8e,UAAY,eAAiB,yBAA/E,SACGrL,GAAezT,EAAM8e,UACpB,qCACE,cAACqiB,GAAA,EAAD,CAAU1gC,QAAQ,OAAOkB,MAAO,GAAIC,OAAQ,GAAIw/B,UAAU,SAC1D,cAACD,GAAA,EAAD,CAAU1gC,QAAQ,OAAOkB,MAAO,GAAIC,OAAQ,GAAIw/B,UAAU,YAG5D,qCACE,yCAAYzF,GAAU,OAAC37B,QAAD,IAACA,GAAD,UAACA,EAAOkN,YAAR,aAAC,EAAa+0C,aACpC,qCAAO,UAAAjiD,EAAMkN,YAAN,eAAYu7C,kBAAmBl1C,EAAWP,OAAS,MAAnD,UAA2DhT,EAAMkN,YAAjE,aAA2D,EAAY8hD,4BAKtF,cAAC,KAAD,CAA4BxhD,QAAS,CAAEisB,iBAAiB,EAAMC,YAAY,GAA1E,SACE,sBAAKz5B,UAAS,oBAAgBD,EAAM+uD,OAA6B,GAApB,mBAA7C,UACE,gCACE,qBAAK9uD,UAAU,WAAf,SACGwT,GAAezT,EAAM8e,UACpB,qCACE,cAACqiB,GAAA,EAAD,CAAU1gC,QAAQ,WAAWkB,MAAO,GAAIC,OAAQ,GAAIw/B,UAAU,SAC9D,cAACD,GAAA,EAAD,CAAU1gC,QAAQ,OAAOkB,MAAO,GAAIC,OAAQ,GAAIw/B,UAAU,YAG5D,qCACE,cAAC,GAAD,IACA,oBAAInhC,UAAU,eAAd,mBAA8BD,EAAMkN,YAApC,aAA8B,EAAY2F,gBAIhD,cAAC,GAAD,CACEtS,KAAM,cAAC,GAAD,IACNixB,QAAS,CACPpxB,MAAO,WACP+H,OACE,UAAAnI,EAAMkN,YAAN,eAAY9M,SAAZ,UAAqBJ,EAAMkN,YAA3B,aAAqB,EAAY+hD,8BAAjC,oBACOjvD,EAAMkN,YADb,aACO,EAAY9M,MADnB,uBAC6BJ,EAAMkN,YADnC,aAC6B,EAAY+hD,6BAA6B9N,gBADtE,cAC2F5tC,EAAWT,aADtG,WAEO,UAAA9S,EAAMkN,YAAN,eAAY9M,SAAZ,UAAqBJ,EAAMkN,YAA3B,iBAAqB,EAAY+hD,oCAAjC,aAAqB,EAA0C9N,kBAAmB,WAFzF,aAEwG5tC,EAAWT,cAEvHgM,UAAWrL,GAAezT,EAAM8e,YAElC,cAAC,GAAD,CACEve,KAAM,cAAC,GAAD,IACNixB,QAAS,CAAEpxB,MAAO,QAAS+H,MAAK,UAAEnI,EAAMkN,YAAR,aAAE,EAAY6L,MAAO8O,OAAQ,SAC7D/I,UAAWrL,GAAezT,EAAM8e,YAElC,cAAC,GAAD,CACEve,KAAM,cAAC,GAAD,IACNixB,QAAS,CAAEpxB,MAAO,QAAS+H,MAAK,UAAEnI,EAAMkN,YAAR,aAAE,EAAYuT,YAAaoH,OAAQ,OACnE/I,UAAWrL,GAAezT,EAAM8e,YAElC,cAAC,GAAD,CACEve,KAAM,cAAC,GAAD,IACNixB,QAAS,CAAEpxB,MAAO,MAAO+H,MAAK,UAAEnI,EAAMkN,YAAR,aAAE,EAAYwT,UAAWmH,OAAQ,OAC/D/I,UAAWrL,GAAezT,EAAM8e,YAElC,cAAC,GAAD,CACEve,KAAM,cAAC,GAAD,IACNixB,QAAS,CACPpxB,MAAO,UACP+H,MAAOy0C,GAAa,oBAClB58C,EAAMkN,YADY,aAClB,EAAYyT,gBADM,QACM,GADN,oBAElB3gB,EAAMkN,YAFY,aAElB,EAAY0T,gBAFM,QAEM,GACxB,GAHkB,oBAIlB5gB,EAAMkN,YAJY,aAIlB,EAAY4T,YAJM,QAIE,GAJF,oBAKlB9gB,EAAMkN,YALY,aAKlB,EAAY6T,mBALM,QAKS,GALT,oBAMlB/gB,EAAMkN,YANY,aAMlB,EAAY2T,kBANM,QAMQ,GANR,oBAOlB7gB,EAAMkN,YAPY,aAOlB,EAAYiH,eAPM,QAOK,KAG3B2K,UAAWrL,GAAezT,EAAM8e,YAElC,cAAC,GAAD,CAAQve,KAAM,cAAC,GAAD,IAAWixB,QAAS,CAAEpxB,MAAO,cAAe+H,MAAK,UAAEnI,EAAMkN,YAAR,aAAE,EAAYgiD,aAAepwC,UAAWrL,GAAezT,EAAM8e,gBAE5H9e,EAAM+uD,QACN,qBAAK9uD,UAAU,QAAf,SACE,cAAC,GAAD,UACE,cAAC,GAAD,CAAYG,MAAM,QAAQ+yC,SAAS,iBAAiBD,UAAW4F,gB,gQC9FhE,SAAS1iC,GAAcpW,GAAgD,IAAD,IAC3EuT,EAAelM,IAAMsT,WAAWxI,IAAhCoB,WACR,EAA0C/L,mBAA2BxH,EAAM2jD,aAA3E,mBAAOwL,EAAP,KAAsBC,EAAtB,KACA,EAAoC5nD,oBAAkB,GAAtD,mBAAOmX,EAAP,KAAmBS,EAAnB,KACA,EAAgC5X,oBAAkB,GAAlD,mBAAO6nD,EAAP,KAAiBC,EAAjB,KACMC,EAAe7xC,iBAA0B,MAEzCymC,EAAU,uCAAG,8BAAA/1C,EAAA,6DAEf4E,EAmBEm8C,EAnBFn8C,OAmBEm8C,EAlBFl8C,SAkBEk8C,EAjBFriC,OAiBEqiC,EAhBF3a,QAgBE2a,EAfFlb,cAeEkb,EAdFlN,SAcEkN,EAbF1G,eAaE0G,EAZFH,iBAYEG,EAXFK,UAWEL,EAVFxE,SAUEwE,EATFjD,WASEiD,EARFM,MAQEN,EAPF/a,YAOE+a,EANFO,uBAMEP,EALFQ,kBAKER,EAJFF,6BAIEE,EAFFS,SACGC,EApBY,aAqBbV,EArBa,aAuBfG,GAAY,GAvBG,SAwBTz+C,GAAmB65C,iBAAiB13C,EAAQ68C,GAxBnC,OAyBf7vD,EAAM8vD,eAAeX,GACrBnvD,EAAM+wC,eAAc,GA1BL,gDA4Bf/wC,EAAM+wC,eAAc,GA5BL,eA8BjB/wC,EAAM6H,YAAY1G,EAASud,MAC3B1e,EAAM8kB,cAAa,GACnBwqC,GAAY,GAhCK,mBAiCV,GAjCU,yDAAH,qDAwChB,OACE,sBAAKrvD,UAAU,eAAf,UACE,sBAAKA,UAAU,mBAAf,UACE,sBAAKA,UAAU,UAAf,UACE,cAACC,EAAD,CAAQK,KAAM,cAAC,GAAD,IAAUE,QAAQ,UAAUC,KAAK,KAAKF,UAAW,OAAQI,QAAS,kCAAM2uD,EAAatxC,eAAnB,aAAM,EAAsB7D,SAASzZ,QAAS0uD,EAA9H,kBAGA,cAACnvD,EAAD,CAAQO,QAAQ,YAAYC,KAAK,KAAKE,QAAS,kBAAMwe,GAAc,IAAOve,SAAUwuD,EAApF,oBAIA,cAAC1O,GAAA,EAAD,CAAOlnC,KAAMkF,EAAY+G,QAAS,kBAAMtG,GAAc,IAAtD,SACE,sBAAKnf,UAAU,WAAf,UACE,iDACA,8EACA,sBAAKA,UAAU,UAAf,UACE,cAACC,EAAD,CAAQO,QAAQ,YAAYG,QAAS,kBAAMwe,GAAc,IAAzD,mBAGA,cAAClf,EAAD,CACEO,QAAQ,QACRG,QAAS,WACPwuD,EAAiBpvD,EAAM2jD,aACvB3jD,EAAM6H,YAAY1G,EAASud,OAJ/B,oCAaR,sBAAKze,UAAU,eAAf,UACE,yCAAY07B,GAAU,OAACwzB,QAAD,IAACA,OAAD,EAACA,EAAelN,aACtC,qCAAoB,OAAbkN,QAAa,IAAbA,OAAA,EAAAA,EAAe1G,kBAAmBl1C,EAAWP,OAAS,MAAtD,OAA8Dm8C,QAA9D,IAA8DA,OAA9D,EAA8DA,EAAeH,0BAGxF,cAAC,KAAD,CAA4BxhD,QAAS,CAAEisB,iBAAiB,EAAMC,YAAY,EAAMC,iBAAiB,GAAjG,SACE,uBACExb,SAAU,SAACpD,GAGT,OAFAA,EAAEC,iBACFmpC,KACO,GAETlkD,UAAU,YACV2G,GAAG,oBAPL,UASE,sBAAK3G,UAAU,WAAf,UACE,cAAC,GAAD,CAAS2G,GAAG,aACZ,cAAC1G,EAAD,CACEK,KAAM,cAAC,GAAD,IACNE,QAAQ,YACRC,KAAK,KACLF,UAAW,OACXP,UAAU,aACVW,QAAS,WA1DnB2L,QAAQC,IAAI,iBA2DF1L,KAAK,SAPP,6BAYF,sBAAKb,UAAU,WAAf,UACE,qBAAKA,UAAU,MAAf,SACE,cAAC,GAAD,MAEF,cAAC,GAAD,CACEoY,MAAO,kBACPoE,aAAc0yC,EAAct8C,SAC5ByJ,SAAU,SAACnU,GAAD,OACRinD,GAAiB,SAACn0C,GAChB,OAAO,2BAAKA,GAAZ,IAAkBpI,SAAU1K,QAGhClI,UAAW,WACXoc,YAAY,iBACZ,cAAY,aACZS,UAAQ,OAGZ,sBAAK7c,UAAU,WAAf,UACE,qBAAKA,UAAU,MAAf,SACE,cAAC,GAAD,MAEF,sBAAKA,UAAU,aAAf,UACE,sBAAMA,UAAU,qBAAhB,SACE,uBAAOA,UAAU,WAAjB,oBAEF,cAAC,GAAD,CACEA,UAAU,WACVuN,QAASxN,EAAM+vD,gBAAgBt0C,KAAI,SAACu0C,GAClC,MAAO,CACLppD,GAAIopD,EAAQ9O,iBACZ7oC,MAAO23C,EAAQ7O,oBAGnB7kC,SAAU,SAACid,EAAQpxB,GACjBinD,GAAiB,SAACn0C,GAA4B,IAAD,EAC3C,OAAO,2BACFA,GADL,IAEEg1C,wBAAyB9nD,EAAMvB,GAC/BqoD,6BAA4B,UAAEjvD,EAAM+vD,gBAAgBlyC,MAAK,SAACga,GAAD,OAAUA,EAAKqpB,mBAAqB/4C,EAAMvB,aAAvE,QAA8E,WAIhHuB,OAAO,UAAAgnD,EAAcF,oCAAd,eAA4C9N,kBAAmB,KACtE/iC,kBAAgB,EAChBK,qBAAsB,SAAC/C,EAAavT,GAClC,OAAOuT,EAAOrD,SAAWlQ,EAAMkQ,OAASlQ,IAE1CkW,YAAa,SAAC5Q,GAAD,OACX,cAAC6Q,GAAA,EAAD,2BACM7Q,GADN,IAEE8Q,WAAU,2BACL9Q,EAAO8Q,YADF,IAERC,kBAAkB,aAM5B,cAAC,GAAD,CACEnG,MAAO,QACPoE,aAAc0yC,EAAc/uD,MAC5Bkc,SAAU,SAACnU,GAAD,OACRinD,GAAiB,SAACn0C,GAChB,OAAO,2BAAKA,GAAZ,IAAkB7a,MAAO+H,QAG7BlI,UAAW,cACXoc,YAAY,eACZ,cAAY,qBAGhB,sBAAKpc,UAAU,WAAf,UACE,qBAAKA,UAAU,MAAf,SACE,cAAC,GAAD,MAEF,cAAC,GAAD,CACEoY,MAAO,QACPoE,aAAc0yC,EAAcp2C,MAC5BuD,SAAU,kBAAM,MAChBrc,UAAW,WACXoc,YAAY,eACZ,cAAY,YACZxb,UAAQ,OAGZ,sBAAKZ,UAAU,WAAf,UACE,qBAAKA,UAAU,MAAf,SACE,cAAC,GAAD,MAEF,cAAC,GAAD,CACEoY,MAAO,QACPoE,aAAc0yC,EAAc1uC,YAC5BnE,SAAU,SAACnU,GAAD,OACRinD,GAAiB,SAACn0C,GAChB,OAAO,2BAAKA,GAAZ,IAAkBwF,YAAatY,QAGnClI,UAAW,WACXoc,YAAY,iBACZ,cAAY,YACZU,UAAW,QAGf,sBAAK9c,UAAU,WAAf,UACE,qBAAKA,UAAU,MAAf,SACE,cAAC,GAAD,MAEF,cAAC,GAAD,CACEoY,MAAO,MACPoE,aAAc0yC,EAAczuC,UAC5BpE,SAAU,SAACnU,GAAD,OACRinD,GAAiB,SAACn0C,GAChB,OAAO,2BAAKA,GAAZ,IAAkByF,UAAWvY,QAGjClI,UAAW,WACXoc,YAAY,iBACZ,cAAY,UACZU,UAAW,QAGf,sBAAK9c,UAAU,WAAf,UACE,qBAAKA,UAAU,MAAf,SACE,cAAC,GAAD,MAEF,cAAC,GAAD,CACEoY,MAAO,iBACPoE,aAAc0yC,EAAcxuC,SAC5BrE,SAAU,SAACnU,GAAD,OACRinD,GAAiB,SAACn0C,GAChB,OAAO,2BAAKA,GAAZ,IAAkB0F,SAAUxY,QAGhClI,UAAW,eACXoc,YAAY,kBACZ,cAAY,mBAEd,cAAC,GAAD,CACEhE,MAAO,gBACPoE,aAAc0yC,EAAcvuC,SAC5BtE,SAAU,SAACnU,GAAD,OACRinD,GAAiB,SAACn0C,GAChB,OAAO,2BAAKA,GAAZ,IAAkB2F,SAAUzY,QAGhClI,UAAW,sBACXoc,YAAY,IACZ,cAAY,sBAGhB,sBAAKpc,UAAU,uBAAf,UACE,cAAC,GAAD,CACEoY,MAAO,cACPoE,aAAc0yC,EAActuC,WAC5BvE,SAAU,SAACnU,GAAD,OACRinD,GAAiB,SAACn0C,GAChB,OAAO,2BAAKA,GAAZ,IAAkB4F,WAAY1Y,QAGlClI,UAAW,yBACXoc,YAAY,QACZ,cAAY,cACZU,UAAW,KAEb,cAAC,GAAD,CACE1E,MAAO,OACPoE,aAAc0yC,EAAcruC,KAC5BxE,SAAU,SAACnU,GAAD,OACRinD,GAAiB,SAACn0C,GAChB,OAAO,2BAAKA,GAAZ,IAAkB6F,KAAM3Y,QAG5BlI,UAAW,wBACXoc,YAAY,gBACZ,cAAY,aAEd,cAAC,GAAD,CACEhE,MAAO,eACPoE,aAAc0yC,EAAcpuC,YAC5BzE,SAAU,SAACnU,GAAD,OACRinD,GAAiB,SAACn0C,GAChB,OAAO,2BAAKA,GAAZ,IAAkB8F,YAAa5Y,QAGnClI,UAAW,sBACXoc,YAAY,KACZ,cAAY,iBAGhB,qBAAKpc,UAAU,uBAAf,SACE,sBAAKA,UAAU,2BAAf,UACE,qBAAKA,UAAU,qBAAf,SACE,uBAAOA,UAAU,WAAWkc,QAAQ,sBAApC,uBAIF,cAAC,GAAD,CACE3O,QAAS4S,GACTngB,UAAU,gBACVqc,SAAU,SAACid,EAAQpxB,GAEfinD,EADEjnD,EACe,SAAC8S,GAChB,OAAO,2BAAKA,GAAZ,IAAkB9G,QAAShM,EAAMkQ,SAGlB,SAAC4C,GAChB,OAAO,2BAAKA,GAAZ,IAAkB9G,QAAS,qBAKjChM,MAAOgnD,EAAch7C,QACrBiK,kBAAgB,EAChBK,qBAAsB,SAAC/C,EAAavT,GAAd,OAA6BuT,EAAOrD,QAAUlQ,GACpEkW,YAAa,SAAC5Q,GAAD,OACX,cAAC6Q,GAAA,EAAD,2BACM7Q,GADN,IAEE8Q,WAAU,2BACL9Q,EAAO8Q,YADF,IAERC,kBAAkB,EAClB5B,aAAc,uBAO1B,sBAAK3c,UAAU,WAAf,UACE,qBAAKA,UAAU,MAAf,SACE,cAAC,GAAD,MAEF,sBAAKA,UAAU,yBAAf,UACE,sBAAMA,UAAU,qBAAhB,SACE,uBAAOA,UAAU,WAAjB,2BAEF,0BACEA,UAAU,uBACVoc,YAAa,cACbI,aAAY,UAAE0yC,EAAcD,mBAAhB,QAA+B,GAC3C5yC,SAAU,SAACvB,GACTq0C,GAAiB,SAACn0C,GAChB,OAAO,2BAAKA,GAAZ,IAAkBi0C,YAAan0C,EAAEwB,OAAOpU,oBAMlD,wBAAQuU,IAAK6yC,EAAczuD,KAAK,SAASgb,MAAO,CAAEoU,QAAS,QAA3D,4B,OCjXK,SAASggC,KACtB,MAAsC7oD,IAAMsT,WAAWxI,IAA/CoB,EAAR,EAAQA,WAAY+D,EAApB,EAAoBA,cACpB,EAAgCjQ,IAAMG,SAAmBrG,EAASud,MAAlE,mBAAO9W,EAAP,KAAiBC,EAAjB,KACA,EAAkCL,oBAAkB,GAApD,mBAAOqd,EAAP,KAAkBC,EAAlB,KACA,EAAoCtd,oBAAkB,GAAtD,mBAAOspC,EAAP,KAAmBC,EAAnB,KACQ+H,EAAeD,cAAfC,WACR,EAAsCtxC,mBAA2B,IAAjE,mBAAO2oD,EAAP,KAAoBC,EAApB,KACA,EAA8C5oD,mBAAgC,IAA9E,mBAAOuoD,EAAP,KAAwBM,EAAxB,KACA,EAAgC7oD,oBAAkB,GAAlD,mBAAOsX,EAAP,KAAkBC,EAAlB,KAiBA,OAfA7D,qBAAU,YACR,uCAAC,sBAAA9M,EAAA,6DACC2Q,GAAW,GADZ,SAEOlO,GAAmBy/C,eAAnB,OAAkCxX,QAAlC,IAAkCA,IAAcvlC,EAAWP,OAAQ,kBAAkBvT,MAAK,SAACyN,GAC/FkjD,EAAeljD,MAHlB,uBAKO8D,GACHE,qBAAqB,oCAAgChF,EAAW,oBAChEzM,MAAK,SAACyN,GAA0C,IAAD,EAC9CmjD,EAAkB,iBAACnjD,QAAD,IAACA,OAAD,EAACA,EAAMgC,eAAP,QAAkB,OARzC,OAUC6P,GAAW,GAVZ,2CAAD,yDAYC,IAGD,qCACGnX,IAAazG,EAASud,MACrB,cAAC,GAAD,CACE7W,YAAaA,EACbqF,KAAMijD,EACNrB,kBAAmBx3C,EAAc/V,EAAY6U,eAC7C24C,QAASjW,GAAcvlC,EAAWP,SAAW8lC,EAC7Ch6B,UAAWA,IAGdlX,IAAazG,EAASyC,MACrB,cAAC,GAAD,CACEiE,YAAaA,EACb87C,YAAawM,EACbL,eAAgBM,EAChBtrC,aAAcA,EACdisB,cAAeA,EACfgf,gBAAiBA,IAIrB,cAACzqC,GAAA,EAAD,CAAUC,aAAc,CAAEC,SAAU,MAAOC,WAAY,SAAWhM,KAAMoL,EAAWa,QAAS,kBAAMZ,GAAa,IAAQa,iBAAkB,IAAzI,SACE,cAACC,GAAA,EAAD,CACEF,QAAS,kBAAMZ,GAAa,IAC5Be,SAAUirB,EAAa,QAAU,UACjChrB,GAAI,CAAEnkB,MAAO,QACb4V,OACE,mBAAGtX,UAAU,QAAQW,QAAS,kBAAMkkB,GAAa,IAAjD,mBALJ,SAUGgsB,EAAa,4BAA8B,uBCrEvC,WAA0B,sCCA1B,OAA0B,wCCGnCyf,GAAU,IAAIj8C,IACpBi8C,GAAQl7C,IAAI,YAAam7C,IACzBD,GAAQl7C,IAAI,cAAeo7C,IAEpB,IAAMC,GAAa,SAACnwD,GAA0B,IAAD,EAChD,iBAAOgwD,GAAQ7lD,IAAInK,UAAnB,QAA4B,ICRjB,OAA0B,6CCmB1B,SAASowD,GAAkB3wD,GACxC,IAAQsX,EAAkBjQ,IAAMsT,WAAWxI,IAAnCmF,cACR,EAAkD9P,mBAAsC,IAAxF,mBAAOopD,EAAP,KAA0BC,EAA1B,KAFqF,4CAIrF,sBAAAziD,EAAA,4DACsB,yBADtB,kBAGiB2C,GAAmB+/C,gBAFd,0BAE2CrxD,MAAK,SAACyN,GAA+B,IAAD,IAC/F2jD,EAAoB,oBAClB3jD,EAAKgC,eADa,aAClB,EAAcuM,KAAI,SAACs1C,GAA+B,IAAD,MAC/C,MAAO,CACLnqD,GAAE,iBAAEmqD,QAAF,IAAEA,OAAF,EAAEA,EAAiBrnD,aAAnB,QAA4B,GAC9BqK,KAAI,iBAAEg9C,QAAF,IAAEA,OAAF,EAAEA,EAAiBh9C,YAAnB,QAA2B,GAC/Bi9C,QAAO,UAAEN,GAAU,OAACK,QAAD,IAACA,OAAD,EAACA,EAAiBx2C,gBAA9B,QAA0C,cALnC,QAOZ,OAXd,wEAeIhO,QAAQC,IAAR,MAfJ,0DAJqF,+BAuBtEykD,EAvBsE,kFAuBrF,WAAqCrqD,EAAY4I,EAAc9G,GAA/D,eAAA0F,EAAA,6DACQN,EAAsC,CAC1C,CACEpE,MAAO9C,EACPyf,UAAU,EACVwmC,sBAAsB,EACtBC,cAAe,CACb94C,SAAUxE,EACVuJ,MAAO,KACPrQ,YAAaA,EACbuL,QAAS,QAVjB,kBAgBiBxD,GAAkBs8C,iBAAiBj/C,GAhBpD,wEAkBIvB,QAAQC,IAAR,MAlBJ,0DAvBqF,sBAmFrF,OArBA0O,qBAAU,YA9D2E,mCA+DnFg2C,GAEA,IAAM/1C,EAAgB,SAACC,GACrB,GAAIA,EAAMvS,SAAWF,OAAOC,SAASC,QAA8B,cAApBuS,EAAMlO,KAAKpM,KAAsB,CAC9E,IAAMoJ,EAAcvB,OAAOC,SAASC,OAIpCooD,EAHW71C,EAAMlO,KAAN,MACEkO,EAAMlO,KAAN,KAEmBhD,GAAazK,MAAK,WAChDO,EAAMmxD,yBAMZ,OADAxoD,OAAO2S,iBAAiB,UAAWH,GAC5B,WACLxS,OAAO4S,oBAAoB,UAAWJ,MAEvC,IAEE7D,EAAc/V,EAAY+U,gBAgB7B,qCACE,qBAAKrW,UAAU,uBAAf,SACE,mBAAGA,UAAU,4BAAb,kNAKF,sBAAKA,UAAU,wBAAf,UACE,qBAAKA,UAAU,6BAAf,SACE,cAAC,EAAD,MAEF,mBAAGA,UAAU,4BAAb,iHAEF,qBAAKA,UAAU,2BAAf,UACG,OAAC2wD,QAAD,IAACA,IAAqB,IAAIn1C,KAAI,SAACgqB,GAC9B,GAAqB,sBAAjBA,EAAQ1xB,KACV,OACE,qBAAK9T,UAAU,0BAA6CW,QAAS,kBA3D7D,SAACwwD,GACnB,IAAMjnD,EAAMX,GAAqB4nD,EAASr9C,KAAMq9C,EAASxqD,GAAI,kBAC7DgR,GAAMsB,UAAU/O,EAAK,GAAIxB,OAAQ,IAAK,KAyD+CukD,CAAYznB,IAAvF,SACE,qBAAKxlC,UAAU,uCAAf,SACE,qBAAK4b,IAAK4pB,EAAQurB,QAAS/wD,UAAU,+BAA+B8b,IAAK0pB,EAAQ1xB,UAFvC0xB,EAAQ1xB,cA/B9D,sBAAK9T,UAAU,sCAAf,UACE,qBAAKA,UAAU,mCAAf,SACE,qBAAK4b,IAAKw1C,OAEZ,qBAAKpxD,UAAU,2CAAf,SACE,mBAAGA,UAAU,mCAAb,4I,+BCpFK,SAASqxD,GAAkBtxD,GACxC,IAAQsX,EAAkBjQ,IAAMsT,WAAWxI,IAAnCmF,cAER,EAA8C9P,oBAAkB,GAAhE,mBAAO+pD,EAAP,KAAwBC,EAAxB,KACA,EAAwDhqD,oBAAkB,GAA1E,mBAAOiqD,EAAP,KAA6BC,EAA7B,KAEA,EAAoDlqD,oBAAqB,eAAzE,mBAAOmqD,EAAP,KAA2BC,EAA3B,KACA,EAAoDpqD,mBAAiB,IAArE,mBAAOqqD,EAAP,KAA2BC,EAA3B,KAEA,EAAkCtqD,mBAAsB,IAAxD,mBAAO+pB,EAAP,KAAkB2C,EAAlB,KAEA,EAA4B1sB,oBAAkB,GAA9C,mBAAOsxB,EAAP,KAAgB7E,EAAhB,KACA,EAAwCzsB,mBAAiB,IAAzD,mBAAO2L,EAAP,KAAqBkW,EAArB,KACA,EAAkC7hB,mBAAiB,GAAnD,mBAAO4tB,EAAP,KAAkBjB,EAAlB,KACA,EAAoC3sB,mBAAiB,GAArD,mBAAOqG,EAAP,KAAmBktB,EAAnB,KAEM4V,EAAWjzB,iBAAO,MAGxBxC,qBAAU,WASJlb,EAAM+xD,2BARW,WAAO,IAAD,EACzB,OAACphB,QAAD,IAACA,GAAD,UAACA,EAAU1yB,eAAX,SAA4BuZ,cAC5Bx3B,EAAMs/C,SAAS,CACb/9B,MAAM,EACNsE,SAAU,UACVuV,KAAM,oBAIR42B,KAED,CAAChyD,EAAM+xD,4BAEV,IAAM7G,EAAoB,SAACnwC,EAAqBk3C,EAA+BC,GAC7En3C,EAAE8P,kBACFinC,EAAsBG,EAAQrrD,IAC9B4qD,GAAmB,GACnBE,EAA2C,cAAnBO,EAAQnlC,QAChC8kC,GAAsB,kBAAMM,MAcxBC,EAAmB,uCAAG,WAAOvrD,GAAP,SAAAwH,EAAA,sEACpBqC,GAAkB68C,iBAAiB1mD,EAAI,CAAEyf,UAAU,IAAQ5mB,MAAK,WAAO,IAAD,EAE1E,OAACkxC,QAAD,IAACA,GAAD,UAACA,EAAU1yB,eAAX,SAA4BuZ,iBAHJ,2CAAH,sDAuBnBud,EAAU,CACd,CACEzmB,OAAQ,gBACRiE,SAAU,eACV5wB,MAAO,MACPmtB,UAAU,EACVK,iBAAkB,QAClB4K,UAAW,OACXjD,KAAM,SAAgB92B,GACpB,OAAOk8B,GAAWmB,yBAAyB,qBAAKp9B,UAAU,aAAf,SAA6BD,EAAMmI,WAGlF,CACEmmB,OAAQ,mBACRiE,SAAU,kBACV5wB,MAAO,MACPmtB,UAAU,EACVK,iBAAkB,kBAClB4K,UAAW,OACXjD,KAAM,SAAgB92B,GAOpB,OACE,qBAAKC,UAAU,+BAAf,SACE,qBAAK4b,IAAK7b,EAAMs1B,IAAIsB,SAASm6B,gBAAiB9wD,UAAU,gCAAgC8b,IAAK,mBAKrG,CACEuS,OAAQ,SACRiE,SAAU,SACV5wB,MAAO,MACPmtB,UAAU,EACVK,iBAAkB,SAClB4K,UAAW,OACXjD,KAAM,SAAgB92B,GAKpB,OAAOk8B,GAAWmB,yBACc,cAA9Br9B,EAAMs1B,IAAIsB,SAAS9J,OACjB,cAAC,GAAD,CAAMsO,KAAK,YAAY36B,QAAQ,OAAOR,UAAU,mBAEhD,cAAC,GAAD,CAAMm7B,KAAK,eAAe36B,QAAQ,SAASR,UAAU,yBAK7D,CACEquB,OAAQ,YACRiE,SAAU,WACV5wB,MAAO,MACPmtB,UAAU,EACVK,iBAAkB,WAClB4K,UAAW,OACXjD,KAAM,SAAgB92B,GACpB,OAAKA,EAAMmI,MAGJ+zB,GAAWkC,aAAavC,GAAkB77B,EAAMmI,OAAS,QAFvD+zB,GAAWkC,aAAa,SAKrC,CACE9P,OAAQ,GACRiE,SAAU,eACV5wB,MAAO,MACPo4B,UAAW,QACXjD,KAAM,SAAgBs7B,GAMlB,IAAD,MACD,OACE,qBAAKnyD,UAAS,+BAAd,SACE,qBAAKA,UAAU,4BAAf,SACE,sBAAKA,UAAU,2BAAf,UACqC,iBAAlCmyD,EAAU98B,IAAIsB,SAAS9J,SACgB,UAArCslC,EAAU98B,IAAIsB,SAASy7B,UACtB,cAAC,eAAD,CAEE/pD,SAAQ,UAAEC,4EAAF,EAA4C,GACpDyxB,OAAQ,SAACs4B,GAAD,OACN,cAACpyD,EAAD,CACED,UAAU,gBACVQ,QAAQ,YACRG,QAAS,SAACma,GAAD,OA9HJ,SAACA,EAAqBk3C,EAA+BrxD,GAEhFma,EAAE8P,kBACFjqB,IA2HwD2xD,CAAqBx3C,EAAGq3C,EAAU98B,IAAIsB,SAAU07B,EAAY1xD,UAHhG,wBAQF4xD,UAAW,kBAAML,EAAoBC,EAAU98B,IAAIsB,SAAShwB,KAC5D6rD,UAAW,kBAAMzyD,EAAMs/C,SAAS,CAAE/9B,MAAM,EAAMsE,SAAU,QAASuV,KAAM,oCAZlEg3B,EAAU98B,IAAIsB,SAASy7B,WAcS,sBAArCD,EAAU98B,IAAIsB,SAASy7B,UACzB,qBAAKpyD,UAAW,wBAAhB,SACE,cAAC,kBAAD,CACEqI,SAAQ,UAAEC,wCAAF,EAA+C,GACvDmqD,aAAc,SAACpmD,EAAYY,GAAb,OAnHT,SAACZ,EAAYY,EAAWooB,IAC5ChpB,GAASY,GACZgyB,eAAe/a,WAAW,gBAC1BguC,EAAoB78B,EAAI1uB,IACxB5G,EAAMs/C,SAAS,CAAE/9B,MAAM,EAAMsE,SAAU,UAAWuV,KAAM,qBAExDp7B,EAAMs/C,SAAS,CAAE/9B,MAAM,EAAMsE,SAAU,QAASuV,KAAM,kCA6GKu3B,CAAmBrmD,EAAOY,EAAMklD,EAAU98B,IAAIsB,WAFzF,SAIE,cAAC12B,EAAD,CAAQD,UAAU,gBAAgBS,KAAK,KAAKD,QAAQ,YAApD,2BAMJ,8BAEH2xD,EAAU98B,IAAIsB,SAASm6B,kBAAoBP,GAC1C,cAAC,gBAAD,CACEloD,SAAQ,UAAEC,4EAAF,EAA4C,GACpDyxB,OAAQ,SAACs4B,GAAD,OACN,cAACpyD,EAAD,CACED,UAAU,aACVQ,QAAQ,YACRG,QAAS,SAACma,GAAD,OAAyBmwC,EAAkBnwC,EAAGq3C,EAAU98B,IAAIsB,SAAU07B,EAAY1xD,UAH7F,qBAQFgyD,gBAAiB,eAGnB,cAAC1yD,EAAD,CACED,UAAU,aACVQ,QAAQ,YACRC,KAAK,KACLE,QAAS,SAACma,GAAD,OAAyBmwC,EAAkBnwC,EAAGq3C,EAAU98B,IAAIsB,UAAU,gBAJjF,8BAkBVi8B,EAAyB,uCAAG,sBAAAzkD,EAAA,sEAC1BqC,GAAkB68C,iBAAiBuE,EAAoB,CAAExrC,UAAU,IAAS5mB,MAAK,WAAO,IAAD,EAC3FkyD,IACAC,GAAsB,eACtBJ,GAAmB,GACnBM,EAAsB,IACtB9xD,EAAMs/C,SAAS,CAAE/9B,MAAM,EAAMsE,SAAU,UAAWuV,KAAM,uBACxD,OAACuV,QAAD,IAACA,GAAD,UAACA,EAAU1yB,eAAX,SAA4BuZ,iBAPE,2CAAH,qDAYzBs7B,EAAqB,uCAAG,sBAAA1kD,EAAA,sEACtBqC,GAAkBsiD,iBAAiBlB,GAAoBpyD,MAAK,WAAO,IAAD,EACtEkyD,IACAC,GAAsB,eACtBJ,GAAmB,GACnBM,EAAsB,IACtB9xD,EAAMs/C,SAAS,CAAE/9B,MAAM,EAAMsE,SAAU,UAAWuV,KAAM,uBACxD,OAACuV,QAAD,IAACA,GAAD,UAACA,EAAU1yB,eAAX,SAA4BuZ,iBAPF,2CAAH,qDAWrBw7B,EAAuB,SAACv0B,GAAgC,IAAD,EACrDw0B,EAAWx0B,EAAOixB,uBAAuB7xC,MAAK,SAAC9C,GAAD,MAA8B,UAAvBA,EAAEm4C,oBACvDC,EAAW10B,EAAOkxB,kBAAkB9xC,MAAK,SAAC9C,GAAD,OAAOA,EAAEq4C,2BAAF,OAA8BH,QAA9B,IAA8BA,OAA9B,EAA8BA,EAAUG,4BAC9F,wBAAOD,QAAP,IAAOA,OAAP,EAAOA,EAAUE,mBAAjB,QAAgC,OA2BlC,OACE,qCACE,qBAAKpzD,UAAU,uBAAf,SACE,mBAAGA,UAAU,4BAAb,yGAEF,cAAC,GAAD,CACEyc,IAAKi0B,EACLvf,SAAU,CACR,CACExqB,GAAI,QACJyyB,YAAa,QACbrB,eAAgB,GAChB9qB,KAAM,CACJqkB,UAAWA,EACX2C,aAAcA,EACdR,UAAWjjB,GAAkB89C,eAC7B16B,YAxCQ,SAACD,EAA4CnzB,GAAkD,IAAD,IAChH,wBACEmzB,QADF,IACEA,GADF,UACEA,EAAa1kB,eADf,aACE,EAAsBuM,KAAI,SAACgjB,GAAgC,IAAD,IACxD,OAAO,wCACY,OAAZh+B,GAAgC,QAAZA,IAAsB,CAC7CmG,GAAE,OAAE63B,QAAF,IAAEA,OAAF,EAAEA,EAAQzc,mBAEG,WAAZvhB,GAAoC,QAAZA,IAAsB,CACjD0/C,aAAc6S,EAAqBv0B,GACnCsyB,gBAAiBL,GAAU,OAACjyB,QAAD,IAACA,OAAD,EAACA,EAAQmwB,IAAIr0C,SACxCuS,QAAc,OAAN2R,QAAM,IAANA,OAAA,EAAAA,EAAQpY,UAAW,YAAc,eACzCsiC,SAAQ,iBAAElqB,QAAF,IAAEA,GAAF,UAAEA,EAAQkqB,gBAAV,aAAE,EAAkB1G,gBAApB,QAAgC,MACxCqR,aAAch8C,EAAc/V,EAAY+U,gBACxC+7C,UAAS,OAAE5zB,QAAF,IAAEA,OAAF,EAAEA,EAAQmwB,IAAI76C,OAET,QAAZtT,GAAqB,CACvBo2B,qBAAiB3qB,EACjBmrB,cAAUnrB,cAhBlB,QAmBQ,IAqBEynB,cAAe,+BAEjBnC,QAASujB,EACTrgB,cAAepd,EAAc/V,EAAY+U,qBAAkBpK,EAAY,CAAC,gBACxEuuB,eAAgB,WACd,OAAO,MAGTrH,kBAAmB,CACjB,CACEE,MAAO,gBACPC,kBAAmB,0DAK3BS,OAAQ,CACNlV,UAAW9e,EAAM8e,UACjBC,WAAY/e,EAAM+e,WAClB+Z,QAASA,EACT7E,SAAUA,EACV9gB,aAAcA,EACdkW,gBAAiBA,GAEnBoI,WAAY,CACV2D,UAAWA,EACXjB,aAAcA,EACdtmB,WAAYA,EACZktB,cAAeA,EACfrJ,WAAY1xB,EAAM0xB,WAClB0C,cAAep0B,EAAMo0B,eAEvBsB,QAAS,CACPgD,aAAa,EACb/C,eAAe,EACfgD,gBAAgB,EAChBC,eAAe,EACfY,eAAe,KAGlB+3B,GACC,cAAC,GAAD,CACE5J,WAAW,2BACXE,cAAe,kBAAM2J,GAAmB,IACxCxJ,aAAa,yBACbD,gBAAiB+K,EACjB7K,mBAAoBwJ,EAAuB,cAAWvlD,EACtDg8C,sBAAuBuJ,EAAuBoB,OAA4B3mD,EAC1E07C,YAAa,CACX9wB,KAAM,WACJ,OACE,8PC1WD,SAAS9vB,KACtB,MAAoCK,IAAMsT,WAAWxI,IAA7CsB,EAAR,EAAQA,YAAaF,EAArB,EAAqBA,WACrB,EAA0B/L,mBAAoB,IAA9C,mBAAO63C,EAAP,KAAcC,EAAd,KACA,EAAgC93C,oBAAkB,GAAlD,mBAAOsX,EAAP,KAAkBC,EAAlB,KACA,EAAoCvX,mBAAiB,GAArD,mBAAOkqB,EAAP,KAAmB0C,EAAnB,KAGA,EAA+D5sB,mBAAiB,GAAhF,mBAAOuqD,EAAP,KAAkCwB,EAAlC,KAKA,OACE,sBAAKtzD,UAAS,gCAA2BwT,GAA2C,IAA5BF,EAAWH,MAAMmF,OAAe,SAAW,IAAnG,UACE,qBAAKtY,UAAS,kCAA4C,IAAfyxB,EAAmB,SAAW,IAAzE,SACE,cAAC,GAAD,CACE4tB,SAAUA,EACVxgC,UAAWA,EACXC,WAAYA,EACZ2S,WAAYA,EACZ0C,cAAeA,EACf29B,0BAA2BA,OAI7BjzC,GAA4B,IAAf4S,GAAoB,cAAC,GAAD,CAAMy/B,kBAjBnB,WACxBoC,GAA0B,SAACt4C,GAAD,OAAUA,EAAO,MAgBsCqkC,SAAUA,IAEzF,cAACh6B,GAAA,EAAD,CACEC,aAAc,CAAEC,SAAU,MAAOC,WAAY,SAC7ChM,KAAM4lC,EAAM99B,KACZmE,QAAS,kBAAM45B,EAAS,KACxB35B,iBAAkB,IAJpB,SAME,cAACC,GAAA,EAAD,CACEF,QAAS,kBAAM45B,EAAS,KACxBz5B,SAAUw5B,EAAMx5B,SAChBC,GAAI,CAAEnkB,MAAO,QACb4V,OACE,mBAAGtX,UAAU,QAAQW,QAAS,kBAAM0+C,EAAS,KAA7C,mBALJ,SAUGD,EAAMjkB,YCpCjB,IAAMo4B,GAAa,CACjB,CACEn6B,YAAa,cACbqH,UAAW,IAEb,CACErH,YAAa,gBACbqH,UAAW,iBAIT+yB,GAAwB,CAC5B,CACEp6B,YAAa,iBACbqH,UAAW,sCAEb,CACErH,YAAa,cACbqH,UAAW,+CAEb,CACErH,YAAa,kBACbqH,UAAW,+CAITgzB,GAA2B,CAC/B,CACEr6B,YAAa,+BACbqH,UAAW,uBAITizB,GAAc,CAClB,CACEt6B,YAAa,iBACbqH,UAAW,kBAIA,SAASj+B,KACtB,IAAQujB,EAASoD,cAATpD,KACR,OACE,sBAAK/lB,UAAW,mBAAhB,UACE,sBAAKA,UAAW,OAAhB,UACE,cAAC,IAAD,CACEkmB,OAAK,EACLH,KAAMwtC,GAAW/3C,KAAI,SAACqC,GAAD,gBAAYkI,EAAZ,YAAoBlI,EAAI4iB,cAC7CxH,UAAW,WACT,OAAO,cAAC,GAAD,CAAQ6G,KAAMyzB,GAAY5yB,SAAU5a,OAG/C,cAAC,IAAD,CACEG,OAAK,EACLH,KAAMytC,GAAsBh4C,KAAI,SAACqC,GAAD,gBAAYkI,EAAZ,YAAoBlI,EAAI4iB,UAAUzR,MAAM,KAAK,OAC7EiK,UAAW,WACT,OACE,cAAC,GAAD,CACE6G,KAAM0zB,GACN7yB,SAAQ,UAAK5a,GACb8a,SAAU,CACR,CACEzH,YAAa,wBACbqH,UAAW,sCAEb,CACErH,YAAa,+BACbqH,UAAW,sBAEb,CACErH,YAAa,iBACbqH,UAAW,kBAGfM,iBAAkBhb,EAClBkb,gBAAgB,gBAChBD,UAAS,UAAKjb,EAAL,iBACT3lB,QAAQ,iDAKhB,cAAC,IAAD,CACE8lB,OAAK,EACLH,KAAM0tC,GAAyBj4C,KAAI,SAACqC,GAAD,gBAAYkI,EAAZ,YAAoBlI,EAAI4iB,cAC3DxH,UAAW,WACT,OACE,cAAC,GAAD,CACE6G,KAAM2zB,GACN9yB,SAAQ,UAAK5a,GAabkb,gBAAgB,gBAChBD,UAAS,UAAKjb,EAAL,sBAKjB,cAAC,IAAD,CACEG,OAAK,EACLH,KAAM2tC,GAAYl4C,KAAI,SAACqC,GAAD,gBAAYkI,EAAZ,YAAoBlI,EAAI4iB,cAC9CxH,UAAW,WACT,OACE,cAAC,GAAD,CACE6G,KAAM4zB,GACN/yB,SAAQ,UAAK5a,GACb8a,SAAU,CACR,CACEzH,YAAa,+BACbqH,UAAW,sBAEb,CACErH,YAAa,wBACbqH,UAAW,uCAGfK,gBAAgB,iBAChBG,gBAAgB,gBAChBD,UAAS,UAAKjb,EAAL,sBAKjB,cAAC,IAAD,CACEG,OAAK,EACLH,KAAM,CAAC,GAAD,OAAIA,EAAJ,sBAAuBA,EAAvB,yBACNkT,UAAW,WAAO,IAAD,IACP4f,EAAeD,cAAfC,WACAvlC,EAAelM,IAAMsT,WAAWxI,IAAhCoB,WAGFutB,EAFgBz5B,IAAMsT,WAAWwtC,IAA/B52B,UAEmB9V,KAAI,SAACknC,GAC9B,MAAO,CACLtpB,YAAaspB,EAAI5uC,KACjB2sB,UAAWiiB,EAAI/7C,KAAO2M,EAAWP,OAAS2vC,EAAI/7C,GAAK,GACnDA,GAAI+7C,EAAI/7C,OAGNgtD,GAAiB9a,GAAcvlC,EAAWP,SAAW8lC,EAC3D,OACE,cAAC,GAAD,CACE/Y,KAAM,CAAC,CAAE1G,YAAau6B,EAAgB,aAAe,UAAWlzB,UAAWkzB,EAAgB,GAAK9a,IAChGhY,SAAUA,EACVC,gBAAe,oBAAED,EAASpzB,QAAO,SAACi1C,GAAD,OAASA,EAAI/7C,KAAOkyC,KAAY,UAAlD,aAAE,EAAoDzf,mBAAtD,QAAqE9lB,EAAWV,SAC/F+tB,SAAQ,UAAK5a,EAAL,YACRkb,gBAAgB,iBAChBD,UAAS,UAAKjb,EAAL,+CAMnB,qBAAK/lB,UAAW,OAAhB,SACE,eAAC,IAAD,WACE,cAAC,IAAD,CACEkmB,OAAK,EACLH,KAAI,UAAKA,GACTgU,OAAQ,WACN,OAAO,cAAC,GAAD,OAGX,cAAC,IAAD,CACE7T,OAAK,EACLH,KAAI,UAAKA,EAAL,iBACJgU,OAAQ,WACN,OAAO,cAAC,GAAD,OAGX,cAAC,IAAD,CACEhU,KAAI,UAAKA,EAAL,oBACJgU,OAAQ,WACN,OAAO,cAAC,GAAD,OAGX,cAAC,IAAD,CACEhU,KAAI,UAAKA,EAAL,uBACJgU,OAAQ,WACN,OAAO,cAAC,GAAD,OAGX,cAAC,IAAD,CACEhU,KAAI,UAAKA,EAAL,kBACJgU,OAAQ,WACN,OAAO,cAAC,GAAD,OAGX,cAAC,IAAD,CACE7T,OAAK,EACLH,KAAM,CAAC,GAAD,OAAIA,EAAJ,sBAAuBA,EAAvB,yBACNgU,OAAQ,WACN,OAAO,cAACk2B,GAAD,e,aC9MrB,SAAS2D,GAAT,GAA8D,IAApCvnD,EAAmC,EAAnCA,MAChBgW,EAAaC,cAAbD,SAMR,OAJIhW,IAAK,OAAIA,QAAJ,IAAIA,OAAJ,EAAIA,EAAO6G,aAAauE,SAAS,iBACxC4K,EAASE,cAAcxZ,IAIvB,qBACE8S,MAAO,CACLna,MAAO,QACPC,OAAQ,QACRsuB,QAAS,OACT4jC,WAAY,SACZC,eAAgB,UANpB,SASE,eAAC,GAAD,CAAOrtC,YAAU,EAAjB,2BACiB,IACdpa,IAAK,OAAIA,QAAJ,IAAIA,OAAJ,EAAIA,EAAO0nD,WAAY1nD,EAAM0nD,UAAY,qBAMvD,SAASC,KACP,OACE,qBACEn4C,MAAO,CACLna,MAAO,QACPC,OAAQ,QACRsuB,QAAS,OACT4jC,WAAY,SACZC,eAAgB,UANpB,SASE,cAAC,GAAD,CAASrtC,YAAU,MAKV,SAASwtC,GAAT,GAA0E,IAA/CC,EAA8C,oBAChFC,EAAW,eAAQprD,IAEzB,OACE,cAAC,IAAD,CACEqrD,gBAAiBC,KAAgBC,SACjCC,sBAAuBJ,EACvBK,eAAgBZ,GAChBa,iBAAkBT,GAJpB,SAME,cAAC,IAAD,eAAWE,MCvDV,IAAMQ,GAAiBttD,IAAMC,cAAkC,MAyCvDstD,GAlC0B,SAAC,GAAyB,IAAvB5zD,EAAsB,EAAtBA,SAC1C,EAA0DwG,mBAA6B,IAAvF,mBAAOqtD,EAAP,KAA8BC,EAA9B,KACA,EAAkEttD,mBAAqC,IAAvG,mBAAOutD,EAAP,KAAkCC,EAAlC,KAFgE,4CAIhE,WAA6BtnD,GAA7B,SAAAU,EAAA,sEACesC,GAAeukD,cAAcvnD,GAD5C,oFAJgE,kEAQhE,WACEA,EACAH,EACAI,EACAC,EACAC,GALF,SAAAO,EAAA,sEAOeuC,GAA2BukD,sBAAsBxnD,EAAQH,EAASI,EAAOC,EAAUC,GAPlG,oFARgE,sBAkBhE,OACE,cAAC8mD,GAAezsD,SAAhB,CACEC,MAAO,CACL8sD,cArB0D,4CAsB1DH,2BACAD,wBACAK,sBAxB0D,oDAyB1DF,+BACAD,6BAPJ,SAUG/zD,K,OC5BQ,SAASm0D,KAA+B,IAAD,gBACpD,EAAgC3tD,oBAAkB,GAAlD,mBAAOsX,EAAP,KAAkBC,EAAlB,KACA,EAAwCvX,mBAAiB,IAAzD,mBAAO2L,EAAP,KAAqBkW,EAArB,KACA,EAOIhiB,IAAMsT,WAAWg6C,IANnBE,EADF,EACEA,sBACAC,EAFF,EAEEA,yBACAG,EAHF,EAGEA,cACAC,EAJF,EAIEA,sBACAF,EALF,EAKEA,6BACAD,EANF,EAMEA,0BAEMtqB,EAAcoO,cAAdpO,UACAzkB,EAASoD,cAATpD,KACF/T,EAAU4M,cACV2mC,EAAa9nC,iBAAuB,MAGpC03C,EAA2B,uCAAG,4BAAAhnD,EAAA,6DAClCib,EAAgB,IAChBtK,GAAW,GAFuB,kBAITk2C,EAAc,gBAAD,OAAiBxqB,IAJrB,OAI1Bp9B,EAJ0B,OAKhCynD,EAAyBznD,GALO,gDAQhCgc,EAAgB,KAAMG,SARU,QAUlCzK,GAAW,GAVuB,yDAAH,qDAc3Bs2C,EAAa,uCAAG,8BAAAjnD,EAAA,+EAEK8mD,EAAsB,gBAAD,OAAiBzqB,GAAa,WAFxD,OAEZp9B,EAFY,OAGZioD,EAAiBjoD,EAASoO,KAAI,SAACgqB,GACnC,MAAO,CACLT,UAAWS,EAAQT,UACnB2F,cAAelF,EAAQ8vB,QAAQ5qB,cAC/B+a,qBAAsBjgB,EAAQigB,qBAC9Ba,yBAA0B9gB,EAAQ8vB,QAAQhP,yBAC1CC,kBAAmB/gB,EAAQ8vB,QAAQ/O,sBAGvCwO,EAA6BM,GAZX,gDAclBjsC,EAAgB,KAAMG,SAdJ,yDAAH,qDAkBnBtO,qBAAU,WAC0C,IAA9C+Z,OAAOC,KAAK2/B,GAAuBt8C,OACrC68C,KAEAr2C,GAAW,GACXsK,EAAgB,KAElBgsC,MACC,IAEH,IAUMG,EAAmB,SAACz6C,EAAeiqB,GAOvC,GANe,eAAXjqB,EAAEja,MACA0kD,EAAWvnC,UACbunC,EAAWvnC,QAAQw3C,UAAY,GAC/BjQ,EAAWvnC,QAAQnC,MAAMoU,QAAU,QAGxB,eAAXnV,EAAEja,MAAyB0kD,EAAWvnC,UACxCunC,EAAWvnC,QAAQw3C,UAAYzwB,EAE1BjqB,EAAE26C,cAA8Bj5B,YAAe1hB,EAAE26C,cAA8Bh5B,aAAa,CAC/F8oB,EAAWvnC,QAAQnC,MAAMoU,QAAU,SACnC,IACMvb,EAAOoG,EAAE46C,QAAU,IACzBnQ,EAAWvnC,QAAQnC,MAAM1C,IAAzB,UAFY,IAEZ,MACAosC,EAAWvnC,QAAQnC,MAAMnH,KAAzB,UAAmCA,EAAnC,QAKN,OAAOmK,EACL,qBAAK7e,UAAW,aAAhB,SACE,cAAC,GAAD,CAASymB,YAAU,MAEnBvT,EACF,qBAAKlT,UAAW,aAAhB,SACE,cAAC,GAAD,CAAOymB,YAAU,EAAjB,SAAmBvT,MAGrB,sBAAKlT,UAAU,aAAf,UACE,sBAAKA,UAAW,SAAhB,UACE,qBAAKA,UAAW,MAAhB,SAAwB40D,IAAyB,iBAACA,QAAD,IAACA,OAAD,EAACA,EAAuBzoC,oBAAxB,QAAwC,OAAO5T,OAAO,KACvG,mBAAGvY,UAAW,OAAQW,QAAS,kBA1CZgG,EA0CkCiuD,EAAsB/b,WAzC/E5Z,eAAej1B,QAAQ,WAAYgI,EAAQrJ,SAASsd,eACpDjU,EAAQiN,KAAR,UAAgB8G,EAAK0iB,OAAO,EAAG,GAA/B,6BAA+C9hC,QAA/C,IAA+CA,IAAM,KAF/B,IAACA,GA0CnB,SACGiuD,IAAqB,iBAAKA,QAAL,IAAKA,OAAL,EAAKA,EAAuBzoC,oBAA5B,QAA4C,SAEpE,sBAAKnsB,UAAW,cAAhB,UACE,mBAAGA,UAAW,aAAd,SACG,IAAIynB,KAAKuV,aAAa,QAAS,CAC9BC,sBAAuB,EACvBC,sBAAuB,EACvBrhB,MAAO,WACPiC,SAAU,QACT8J,OALF,iBAKSgtC,QALT,IAKSA,OALT,EAKSA,EAAuB9pB,qBALhC,QAKiD,KAEpD,mBAAG9qC,UAAW,WAAd,yCAKJ,sBAAKA,UAAW,OAAhB,UAEE,sBAAKA,UAAW,UAAhB,UACE,sBAAKA,UAAW,0BAAhB,UACE,qBAAKA,UAAW,OAAhB,SACE,mBAAGA,UAAW,QAAd,4CAAmC40D,QAAnC,IAAmCA,OAAnC,EAAmCA,EAAuBlqB,qBAA1D,QAA2E,WAE7E,sBAAK1qC,UAAU,OAAf,UACE,cAAC,GAAD,CACEM,KAAM,cAAC,GAAD,IACNixB,QAAS,CACP,CACEpxB,MAAO,kBACP+H,MAAK,iBAAE0sD,QAAF,IAAEA,OAAF,EAAEA,EAAuBl2B,sBAAzB,QAA2C,MAElD,CACEv+B,MAAO,QACP+H,MAAK,iBAAE0sD,QAAF,IAAEA,OAAF,EAAEA,EAAuB97C,aAAzB,QAAkC,KACvC8O,OAAQ,QACRiyB,iBAAiB,MAIvB,cAAC,GAAD,CACEv5C,KAAM,cAAC,GAAD,IACNixB,QAAS,CACP,CACEpxB,MAAO,uBACP+H,OAA4B,OAArB0sD,QAAqB,IAArBA,OAAA,EAAAA,EAAuB9pB,eAC1B,IAAIrjB,KAAKuV,aAAa,QAAS,CAC7BC,sBAAuB,EACvBC,sBAAuB,EACvBrhB,MAAO,WACPiC,SAAU,QACT8J,OAAOgtC,EAAsB9pB,eAChC,MAEN,CACE3qC,MAAO,yBACP+H,MAAO,IAAIuf,KAAKuV,aAAa,QAAS,CACpCC,sBAAuB,EACvBC,sBAAuB,EACvBrhB,MAAO,WACPiC,SAAU,QACT8J,OAAOgtC,EAAsBe,kBAElC,CACEx1D,MAAO,eACP+H,MAAK,iBAAE0sD,QAAF,IAAEA,OAAF,EAAEA,EAAuB92B,mBAAzB,QAAwC,SAInD,cAAC,GAAD,CACEx9B,KAAM,cAAC,GAAD,IACNixB,QAAS,CACP,CACEpxB,MAAO,eACP+H,MAAOwzB,GAAU,iBAACk5B,QAAD,IAACA,OAAD,EAACA,EAAuBhqB,mBAAxB,QAAuC,OAE1D,CACEzqC,MAAO,YACP+H,MAAOwzB,GAAU,OAACk5B,QAAD,IAACA,OAAD,EAACA,EAAuBgB,oBAOlDd,EAA0Bx8C,OAAS,EAClC,sBAAKtY,UAAW,kBAAhB,UACE,qBAAKA,UAAW,QAAhB,8BACA,sBAAKA,UAAU,iBAAf,UACE,mBAAGA,UAAU,qBAAb,4BACA,mBAAGA,UAAU,qBAAb,oBACA,mBAAGA,UAAU,sBAAb,4BACA,mBAAGA,UAAU,sBAAb,mCAED80D,GACCA,EAA0Bt5C,KAAI,SAAC85C,GAAa,IAAD,EACzC,OACE,sBAAK30D,QAAS,kBAtIJgG,EAsI6B2uD,EAAQvwB,UArI/D9F,eAAej1B,QAAQ,WAAYgI,EAAQrJ,SAASsd,eACpDjU,EAAQiN,KAAR,UAAgB8G,EAAK0iB,OAAO,EAAG1iB,EAAKgE,YAAY,cAAhD,4BAA0EpjB,QAA1E,IAA0EA,IAAM,KAFvD,IAACA,GAsIiD3G,UAAU,MAArE,UACE,qBACEurB,aAAc,SAACpQ,GAAD,OAAWo6C,EAAiBp6C,EAAOm6C,EAAQvwB,YACzDvZ,aAAc,SAACrQ,GAAD,OAAWo6C,EAAiBp6C,EAAOm6C,EAAQvwB,YACzD/kC,UAAW,gBAHb,mBAIKs1D,EAAQ5qB,iBACb,qBAAK1qC,UAAW,SAAhB,mBAA2Bs1D,EAAQ/O,yBAAnC,QAAwD,QACxD,qBAAKvmD,UAAW,gBAAhB,SACqC,QAA3B,OAAPs1D,QAAO,IAAPA,OAAA,EAAAA,EAAS7P,uBACR,IAAIh+B,KAAKuV,aAAa,QAAS,CAC7BC,sBAAuB,EACvBC,sBAAuB,EACvBrhB,MAAO,WACPiC,SAAU,QACT8J,OAAO0tC,EAAQ7P,wBAEtB,qBAAKzlD,UAAW,oBAAhB,SACyC,QAA/B,OAAPs1D,QAAO,IAAPA,OAAA,EAAAA,EAAShP,2BACR,IAAI7+B,KAAKuV,aAAa,QAAS,CAC7BC,sBAAuB,EACvBC,sBAAuB,EACvBrhB,MAAO,WACPiC,SAAU,QACT8J,OAAO0tC,EAAQhP,8BAvBwDgP,EAAQvwB,iBA8BhG,MAKJ,cAAC,GAAD,UACE,cAAC,GAAD,CAAY5kC,MAAM,QAAQ+yC,SAAS,UAAUD,UAAWzI,SAG5D,qBAAK7jC,GAAG,oBAAoBkV,MAAO,CAAEoU,QAAS,QAAUxT,IAAK8oC,OCjPpD,SAASsQ,KACtB,IAAQrrB,EAAcoO,cAAdpO,UACAzkB,EAASoD,cAATpD,KACR,EAAoD3e,IAAMsT,WAAWg6C,IAA7DG,EAAR,EAAQA,yBAA0BG,EAAlC,EAAkCA,cAC1B/Z,EAAuB7zC,IAAMsT,WAAWqgC,IAAxCE,mBAEFka,EAA2B,uCAAG,4BAAAhnD,EAAA,+EAET6mD,EAAc,gBAAD,OAAiBxqB,IAFrB,OAE1Bp9B,EAF0B,OAGhC6tC,EAAmB7tC,EAASyrC,YAC5Bgc,EAAyBznD,GAJO,gDAOhCd,QAAQC,IAAR,MAPgC,yDAAH,qDAejC,OAJA0O,qBAAU,WACRk6C,MACC,IAGD,eAAC,IAAD,WACE,cAAC,IAAD,CACEjvC,OAAK,EACLH,KAAI,UAAKA,GACTgU,OAAQ,WACN,OAAO,cAAC,GAAD,OAGX,cAAC,IAAD,CACEhU,KAAI,UAAKA,EAAL,iCACJgU,OAAQ,WACN,OACE,sBAAK/5B,UAAU,0BAAf,UACE,qBAAKA,UAAU,OAAf,SACE,cAAC,GAAD,MAEF,qBAAKA,UAAU,OAAf,SACE,cAAC,GAAD,eCzChB,IAAM80C,GAAU,CACd,CACEzmB,OAAQ,iBACRiE,SAAU,iBACV5wB,MAAO,QACPwsB,YAAY,EACZM,iBAAkB,UAClBK,UAAU,EACVK,iBAAkB,gBAClBsD,iBAAkB,WAClBsH,UAAW,OACXjD,KAAM,SAAC92B,GAAD,OAAqCk8B,GAAWkC,aAAap+B,EAAMmI,OAAO,KAElF,CACEmmB,OAAQ,gBACRiE,SAAU,gBACV5wB,MAAO,QACPwsB,YAAY,EACZM,iBAAkB,kBAClBK,UAAU,EACVK,iBAAkB,eAClBJ,UAAW,8BACX0D,iBAAkB,WAClBsH,UAAW,OACXjD,KAAM,SAAC92B,GAAD,OAAqCk8B,GAAWkC,aAAap+B,EAAMmI,OAAO,KAElF,CACEmmB,OAAQ,OACRiE,SAAU,OACV5wB,MAAO,MACPwsB,YAAY,EACZM,iBAAkB,0BAClBK,UAAU,EACVK,iBAAkB,cAClBJ,UAAW,6BACX0D,iBAAkB,WAClBsH,UAAW,OACXjD,KAAM,SAAC92B,GAAD,OAAqCk8B,GAAW6N,kBAAkB/pC,EAAMmI,OAAO,KAEvF,CACEmmB,OAAQ,eACRiE,SAAU,eACV5wB,MAAO,QACPwsB,YAAY,EACZM,iBAAkB,iBAClBK,UAAU,EACVK,iBAAkB,cAClBJ,UAAW,6BACX0D,iBAAkB,WAClBsH,UAAW,OACXjD,KAAM,SAAC92B,GAAD,OAAqCk8B,GAAWP,WAAW37B,EAAMmI,OAAO,KAEhF,CACEmmB,OAAQ,iBACRiE,SAAU,iBACV5wB,MAAO,QACPwsB,YAAY,EACZM,iBAAkB,UAClBK,UAAU,EACVK,iBAAkB,gBAClBJ,UAAW,+BACX0D,iBAAkB,KAClBsH,UAAW,QACXjD,KAAM,SAAC92B,GAAD,OAAqCk8B,GAAWoC,eAAet+B,EAAMmI,OAAO,KAEpF,CACEmmB,OAAQ,mBACRiE,SAAU,mBACV5wB,MAAO,QACPwsB,YAAY,EACZM,iBAAkB,UAClBK,UAAU,EACVK,iBAAkB,kBAClBJ,UAAW,iCACX0D,iBAAkB,KAClBsH,UAAW,QACXjD,KAAM,SAAC92B,GAAD,OAAqCk8B,GAAWoC,eAAet+B,EAAMmI,OAAO,MAIvE,SAAS4tD,KACtB,IAAM9jD,EAAU4M,cAChB,EAAgCrX,oBAAkB,GAAlD,mBAAOsX,EAAP,KAAkBC,EAAlB,KACA,EAA4BvX,oBAAkB,GAA9C,mBAAOsxB,EAAP,KAAgB7E,EAAhB,KACA,EAAwCzsB,mBAAiB,IAAzD,mBAAO2L,EAAP,KAAqBkW,EAArB,KACA,EAAkC7hB,mBAAiB,GAAnD,mBAAO4tB,EAAP,KAAkBjB,EAAlB,KACA,EAAoC3sB,mBAAiB,GAArD,mBAAOqG,EAAP,KAAmBktB,EAAnB,KACA,EAAoCvzB,mBAAiB,GAArD,mBAAOkqB,EAAP,KAAmB0C,EAAnB,KACA,EAAkC5sB,mBAAsB,IAAxD,mBAAO+pB,EAAP,KAAkB2C,EAAlB,KAqCA,OACE,cAAC,GAAD,CAEE9C,SAAU,CACR,CACExqB,GAAI,qBACJyyB,YAAa,qBACbrB,eAAgB,YAChBxG,QAASujB,GACT7nC,KAAM,CACJqkB,UAAWA,EACX2C,aAAcA,EACdR,UAAWhjB,GAAe85B,eAC1B3W,YAhDU,SAACD,EAA6CnzB,GAAkD,IAAD,IACjH,wBACEmzB,QADF,IACEA,GADF,UACEA,EAAa1kB,eADf,aACE,EAAsBuM,KAAI,SAACgjB,GACzB,OAAO,wCACY,OAAZh+B,GAAgC,QAAZA,IAAsB,CAC7CmG,GAAI63B,EAAOgM,aAEI,WAAZhqC,GAAoC,QAAZA,IAAsB,CACjDiqC,eAAc,OAAEjM,QAAF,IAAEA,OAAF,EAAEA,EAAQkM,cACxB9d,cAAa,OAAE4R,QAAF,IAAEA,OAAF,EAAEA,EAAQrS,aACvBtrB,KAAI,OAAE29B,QAAF,IAAEA,OAAF,EAAEA,EAAQV,YACd6M,aAAY,OAAEnM,QAAF,IAAEA,OAAF,EAAEA,EAAQoM,YACtBC,eAAc,OAAErM,QAAF,IAAEA,OAAF,EAAEA,EAAQsM,cACxBX,iBAAgB,OAAE3L,QAAF,IAAEA,OAAF,EAAEA,EAAQm3B,kBAEZ,QAAZn1D,GAAqB,CACvBo2B,qBAAiB3qB,EACjBmrB,cAAUnrB,cAhBlB,QAmBQ,KA8BF2sB,OAAQ,CACN7I,eAAgB,0BAElBqI,YAAa,6BACbE,iBAAkB,OAClBkC,eA9Be,SACrB1f,EACAua,GAGI,IAAD,EACH4J,eAAej1B,QAAQ,WAAYgI,EAAQrJ,SAASsd,UACpDjU,EAAQiN,KAAR,iCAA6BoW,EAAIsB,SAAShwB,UAA1C,QAAgD,MAwB1CwsB,kBAAmB,CACjB,CACEE,MAAO,oBACPC,kBAAmB,0BAK3BS,OAAQ,CACNlV,UAAWA,EACXC,WAAYA,EACZ+Z,QAASA,EACT7E,SAAUA,EACV9gB,aAAcA,EACdkW,gBAAiBA,GAEnBoI,WAAY,CACV2D,UAAWA,EACXjB,aAAcA,EACdtmB,WAAYA,EACZktB,cAAeA,EACfrJ,WAAYA,EACZ0C,cAAeA,GAEjBsB,QAAS,CACP8D,eAAe,EACfZ,eAAe,EACfF,aAAa,EACb/C,eAAe,EACfgD,gBAAgB,IAhDd,sBC/HV,IAAMoc,GAAU,CACd,CACEzmB,OAAQ,iBACRiE,SAAU,iBACV5wB,MAAO,MACPwsB,YAAY,EACZM,iBAAkB,UAClBK,UAAU,EACVK,iBAAkB,gBAClBsD,iBAAkB,WAClBsH,UAAW,OACXjD,KAAM,SAAC92B,GAAD,OAAqCk8B,GAAWkC,aAAap+B,EAAMmI,OAAO,KAElF,CACEmmB,OAAQ,gBACRiE,SAAU,gBACV5wB,MAAO,MACPwsB,YAAY,EACZM,iBAAkB,kBAClBK,UAAU,EACVK,iBAAkB,eAClBJ,UAAW,8BACX0D,iBAAkB,WAClBsH,UAAW,OACXjD,KAAM,SAAC92B,GAAD,OAAqCk8B,GAAWkC,aAAap+B,EAAMmI,OAAO,KAElF,CACEmmB,OAAQ,OACRiE,SAAU,OACV5wB,MAAO,QACPwsB,YAAY,EACZM,iBAAkB,0BAClBK,UAAU,EACVK,iBAAkB,cAClBJ,UAAW,6BACX0D,iBAAkB,WAClBsH,UAAW,OACXjD,KAAM,SAAC92B,GAAD,OAAqCk8B,GAAW6N,kBAAkB/pC,EAAMmI,OAAO,KAEvF,CACEmmB,OAAQ,eACRiE,SAAU,eACV5wB,MAAO,MACPwsB,YAAY,EACZM,iBAAkB,iBAClBK,UAAU,EACVK,iBAAkB,cAClBJ,UAAW,6BACX0D,iBAAkB,WAClBsH,UAAW,OACXjD,KAAM,SAAC92B,GAAD,OAAqCk8B,GAAWP,WAAW37B,EAAMmI,OAAO,KAEhF,CACEmmB,OAAQ,iBACRiE,SAAU,iBACV5wB,MAAO,QACPwsB,YAAY,EACZM,iBAAkB,UAClBK,UAAU,EACVK,iBAAkB,gBAClBJ,UAAW,+BACX0D,iBAAkB,KAClBsH,UAAW,QACXjD,KAAM,SAAC92B,GAAD,OAAqCk8B,GAAWoC,eAAet+B,EAAMmI,OAAO,KAEpF,CACEmmB,OAAQ,WACRiE,SAAU,WACV5wB,MAAO,MACPwsB,YAAY,EACZM,iBAAkB,SAClBK,UAAU,EAEVK,iBAAkB,eAClBJ,UAAW,8BACX0D,iBAAkB,KAClBsH,UAAW,OACXjD,KAAM,SAAC92B,GAAD,OAAuCk8B,GAAW8N,WAAWhqC,EAAMmI,OAAO,MAIrE,SAAS6tD,KACtB,IAAM/jD,EAAU4M,cAChB,EAAgCrX,oBAAkB,GAAlD,mBAAOsX,EAAP,KAAkBC,EAAlB,KACA,EAA4BvX,oBAAkB,GAA9C,mBAAOsxB,EAAP,KAAgB7E,EAAhB,KACA,EAAwCzsB,mBAAiB,IAAzD,mBAAO2L,EAAP,KAAqBkW,EAArB,KACA,EAAkC7hB,mBAAiB,GAAnD,mBAAO4tB,EAAP,KAAkBjB,EAAlB,KACA,EAAoC3sB,mBAAiB,GAArD,mBAAOqG,EAAP,KAAmBktB,EAAnB,KACA,EAAoCvzB,mBAAiB,GAArD,mBAAOkqB,EAAP,KAAmB0C,EAAnB,KACA,EAAkC5sB,mBAAsB,IAAxD,mBAAO+pB,EAAP,KAAkB2C,EAAlB,KAqCA,OACE,cAAC,GAAD,CAEE9C,SAAU,CACR,CACExqB,GAAI,WACJyyB,YAAa,WACbrB,eAAgB,YAChBxG,QAASujB,GACT7nC,KAAM,CACJqkB,UAAWA,EACX2C,aAAcA,EACdR,UAAWhjB,GAAe85B,eAC1B3W,YAhDU,SAACD,EAA6CnzB,GAAkD,IAAD,IACjH,wBACEmzB,QADF,IACEA,GADF,UACEA,EAAa1kB,eADf,aACE,EAAsBuM,KAAI,SAACgjB,GACzB,OAAO,wCACY,OAAZh+B,GAAgC,QAAZA,IAAsB,CAC7CmG,GAAI63B,EAAOgM,aAEI,WAAZhqC,GAAoC,QAAZA,IAAsB,CACjDiqC,eAAgBjM,EAAOkM,cACvB9d,cAAe4R,EAAOrS,aACtBtrB,KAAM29B,EAAOV,YACb6M,aAAcnM,EAAOoM,YACrBC,eAAgBrM,EAAOsM,cACvBC,SAAUvM,EAAOwM,cAEH,QAAZxqC,GAAqB,CACvBo2B,qBAAiB3qB,EACjBmrB,cAAUnrB,cAhBlB,QAmBQ,KA8BF2sB,OAAQ,CACN7I,eAAgB,gBAElBqI,YAAa,6BACbE,iBAAkB,OAClBkC,eA9Be,SACrB1f,EACAua,GAGI,IAAD,EACH4J,eAAej1B,QAAQ,WAAYgI,EAAQrJ,SAASsd,UACpDjU,EAAQiN,KAAR,iCAA6BoW,EAAIsB,SAAShwB,UAA1C,QAAgD,QA0B9CotB,OAAQ,CACNlV,UAAWA,EACXC,WAAYA,EACZ+Z,QAASA,EACT7E,SAAUA,EACV9gB,aAAcA,EACdkW,gBAAiBA,GAEnBoI,WAAY,CACV2D,UAAWA,EACXjB,aAAcA,EACdtmB,WAAYA,EACZktB,cAAeA,EACfrJ,WAAYA,EACZ0C,cAAeA,GAEjBsB,QAAS,CACP8D,eAAe,EACfZ,eAAe,EACfF,aAAa,EACb/C,eAAe,EACfgD,gBAAgB,IA1Cd,gB,WC3HJ+J,GAAS,CACb,CACErJ,YAAa,eACbqH,UAAW,gDAEb,CACErH,YAAa,qBACbqH,UAAW,kEAOA,SAAS18B,KACtB,IAAQ6wD,EAA0BxtD,IAAMsT,WAAWg6C,IAA3CE,sBACA7uC,EAASoD,cAATpD,KAER,OACE,sBAAK/lB,UAAU,mBAAf,UACE,qBAAKA,UAAU,OAAf,SACE,eAAC,IAAD,WACE,cAAC,IAAD,CACEkmB,OAAK,EACLH,KAAM,CAAC,GAAD,OAAIA,GAAJ,UAAeA,EAAf,uBACNkT,UAAW,WACT,OAAO,cAAC,GAAD,CAAQ6G,KAAM2C,GAAQ9B,SAAU5a,OAG3C,cAAC,IAAD,CACEA,KAAI,UAAKA,EAAL,eACJkT,UAAW,WAAO,IAAD,IACPuR,EAAcoO,cAAdpO,UACFre,EAAY,OAAGyoC,QAAH,IAAGA,OAAH,EAAGA,EAAuBzoC,aACtCiN,EAAcjN,EAAgBA,EAAa7T,QAAU,GAAK6T,EAAatC,MAAM,EAAG,IAAM,MAAQsC,EAAgB,GACpH,OACE,cAAC,GAAD,CACE2T,KAAM,CACJ,CAAE1G,YAAa,kBAAmBqH,UAAW+J,GAC7C,CAAEpR,YAAa,mBAAoBqH,UAAU,GAAD,OAAK+J,EAAL,oCAAmCoqB,QAAnC,IAAmCA,OAAnC,EAAmCA,EAAuB/b,cAExGhY,SAAU,CACR,CACEzH,YAAY,GAAD,OAAKA,GAA4B,MAAjC,aACXqH,UAAWtU,EAAY,6EACmDA,GACtE,wDAEN,CACEiN,YAAY,GAAD,OAAKA,GAA4B,MAAjC,aACXqH,UAAWtU,EAAY,gFACsDA,GACzE,4DAGR4U,iBAAkBhb,EAAK0iB,OAAO,EAAG1iB,EAAKgE,YAAY,MAClD+W,gBAAe,mCAAa8zB,QAAb,IAAaA,OAAb,EAAaA,EAAuBlqB,qBAApC,QAAqD,OACpE/J,SAAU5a,EACVib,UAAS,UAAEjb,EAAK0iB,OAAO,EAAG,GAAK,oBAAtB,QAAsC1iB,EAC/Ckb,gBAAgB,yBAO5B,cAAC,KAAD,CAA4B1zB,QAAS,CAAEisB,iBAAiB,EAAMC,YAAY,EAAMmtB,iBAAkB,CAAEtkD,EAAG,WAAvG,SACE,qBAAKtC,UAAS,OAAd,SACE,eAAC,IAAD,WACE,cAAC,IAAD,CACEkmB,OAAK,EACLH,KAAI,UAAKA,GACTkT,UAAW,WACT,OAAO,cAAC88B,GAAD,OAGX,cAAC,IAAD,CACE7vC,OAAK,EACLH,KAAI,UAAKA,EAAL,sBACJkT,UAAW,WACT,OAAO,cAAC68B,GAAD,OAGX,cAAC,IAAD,CACE/vC,KAAI,UAAKA,EAAL,eACJgU,OAAQ,WACN,OAAO,cAAC87B,GAAD,iB,OCnFR,SAASG,GAAej2D,GACrC,OACE,sBAAKC,UAAS,yBAAd,UACE,8BACE,cAAC,GAAD,CAASM,KAAM,cAAC,GAAD,QAEjB,gCACE,mBAAGN,UAAS,cAAZ,SAA8BD,EAAMwgB,cACpC,mBAAGvgB,UAAS,cAAZ,SAA8BD,EAAMk2D,oBCJ5C,IAAMC,GAAmB,SAACn2D,GAQxB,OAPI4X,GAAMw+C,qBAAqBt+C,sBAAwBF,GAAMI,iBAC3Dq+C,uBAAa,WAAYr2D,EAAMs2D,SAAS1vD,GAA5B,YAAC,aACX2gD,SAAUvnD,EAAMs2D,SAAS/O,UACtBvnD,EAAMs2D,SAASC,QAFR,IAGVC,YAAa5+C,GAAM6+C,aAGhB,MAGHC,GAAsB,SAAC12D,GAC3B,IAAM22D,EAAWC,wBAQjB,OAPID,GAAY32D,EAAMs2D,SAAS1vD,IAAM5G,EAAMs2D,SAASC,OAAOtjD,UACzD0jD,EAASE,SAAS,CAChBnoC,IAAK1uB,EAAMs2D,SAAS1vD,GACpBmN,KAAM/T,EAAMs2D,SAAS/O,SACrBgP,OAAQv2D,EAAMs2D,SAASC,SAGpB,MAaMO,GATE,SAAC92D,GAChB,OACE,eAAC,IAAM4qB,SAAP,WACE,cAAC,GAAD,CAAkB0rC,SAAUt2D,EAAMs2D,WAClC,cAAC,GAAD,CAAqBA,SAAUt2D,EAAMs2D,eCpB3C,SAASS,KACP,IAAQz/C,EAAkBjQ,IAAMsT,WAAWxI,IAAnCmF,cACR,EAAqEjQ,IAAMsT,WAAWwtC,IAA9EE,EAAR,EAAQA,eAAgBO,EAAxB,EAAwBA,YAAaD,EAArC,EAAqCA,SAAUL,EAA/C,EAA+CA,kBACzCr2C,EAAU4M,cACRmH,EAASoD,cAATpD,KAEFgxC,EAAkB,WAEtB,GAA+B,YAAjB,OAARrO,QAAQ,IAARA,OAAA,EAAAA,EAAUJ,aAAoD,aAAjB,OAARI,QAAQ,IAARA,OAAA,EAAAA,EAAUJ,aAAqD,eAAjB,OAARI,QAAQ,IAARA,OAAA,EAAAA,EAAUJ,YAA3F,CAIKjxC,EAAc/V,EAAYiV,UAC7BvE,EAAQiN,KAAR,UAAgB8G,EAAhB,iCAGF,IACEvV,GACG89C,eAAe,wBACf9uD,MAAK,SAACyN,GAAyC,IAAD,IAC7C,wBAAOA,QAAP,IAAOA,GAAP,UAAOA,EAAMgC,eAAb,aAAO,EAAexB,QAAO,SAAC+wB,GAAD,MAAuD,kBAAvBA,EAAOmwB,IAAIqI,kBAAxE,QAAwG,MAEzGx3D,MAAK,SAACyN,GAEDA,EAAK,GACP0D,GAAWsT,UAAU,CAAElC,gBAAiB9U,EAAK,GAAG8U,kBAAmBviB,MAAK,WACtE6oD,GAAkB,SAACrtC,GAAD,OAA0BA,EAAO,QAKrDhJ,EAAQiN,KAAR,UAAgB8G,EAAhB,oCAGN,MAAOjL,GACPxO,QAAQC,IAAIuO,MA6BhB,OAzBAG,qBAAU,WACR,IAAMg8C,EAAe,uCAAG,8BAAA9oD,EAAA,+EAEGwC,GAAWumD,UAAU,GAAG13D,MAAK,SAAC0M,GAAD,OAASA,EAAI+C,WAF7C,OAEd7B,EAFc,QAGds7C,EAAWt7C,GAAYA,EAAS,MAEpCu7C,EAAYD,GACiB,YAAjB,OAARA,QAAQ,IAARA,OAAA,EAAAA,EAAUJ,aAAoD,aAAjB,OAARI,QAAQ,IAARA,OAAA,EAAAA,EAAUJ,aAAqD,eAAjB,OAARI,QAAQ,IAARA,OAAA,EAAAA,EAAUJ,aAEvF6O,cAAcC,IARE,gDAYpB9qD,QAAQ8X,KAAR,MAZoB,yDAAH,qDAerB6yC,IACA,IAAMG,EAAWC,aAAY,WAC3BJ,MACC,KACH,OAAO,WACLE,cAAcC,MAEf,CAAChP,IAGF,qBAAKpoD,UAAU,oBAAf,UACG,OAAC0oD,QAAD,IAACA,OAAD,EAACA,EAAUJ,YAEiB,YAAjB,OAARI,QAAQ,IAARA,OAAA,EAAAA,EAAUJ,aAAoD,aAAjB,OAARI,QAAQ,IAARA,OAAA,EAAAA,EAAUJ,aAAqD,eAAjB,OAARI,QAAQ,IAARA,OAAA,EAAAA,EAAUJ,YACvF,qCACE,sBAAMtoD,UAAU,QAAhB,wBACA,sBAAMA,UAAU,OAAhB,UAAgC,OAAR0oD,QAAQ,IAARA,OAAA,EAAAA,EAAUnU,SAAV,UAAuB3Y,GAAkB8sB,EAASnU,SAAlD,QAAmE,QAC3F,cAAC3qB,GAAA,EAAD,CAAYnpB,KAAK,QAAQE,QAAS,kBAAMo2D,KAAxC,SACE,cAAC,GAAD,SAIJ,qCACE,sBAAM/2D,UAAU,QAAhB,2BACA,cAAC4pB,GAAA,EAAD,CAAYnpB,KAAK,QAAQE,QAAS,kBAAMo2D,KAAxC,SACE,cAAC,GAAD,SAbJ,+BAwBO,SAASO,KACtB,MAA8BlwD,IAAMsT,WAAWxI,IAAvCsE,EAAR,EAAQA,OAAQ3B,EAAhB,EAAgBA,UAChB,EAAsCtN,mBAAS,cAA/C,mBAAOsL,EAAP,KAAoB0kD,EAApB,KACA,EAAgChwD,mBAAiB,CAC/CZ,GAAI,GACJ2gD,SAAU,UACVgP,OAAQ,CACNtjD,SAAU,GACVH,YAAa,MALjB,mBAAO2kD,EAAP,KAAiBC,EAAjB,KASMzlD,EAAU4M,cAChB,EAAmC2C,cAA3BiD,EAAR,EAAQA,KAAMC,EAAd,EAAcA,SAAUC,EAAxB,EAAwBA,OAChBrC,EAAaC,cAAbD,SACA0D,EAASoD,cAATpD,KAoDR,OAlCA9K,qBAAU,WACRpG,IACGrV,MAAK,SAACyN,GACe,IAAD,UAAfA,EAAKgG,UACPskD,GAAmB,OAAJtqD,QAAI,IAAJA,OAAA,EAAAA,EAAMgG,WAAN,iBAAiBhG,QAAjB,IAAiBA,OAAjB,EAAiBA,EAAM4F,mBAAvB,QAA8C,OAC7D4kD,EAAY,CACV9wD,GAAIsG,EAAK8F,OAAS9F,EAAK8F,OAAS,GAChCu0C,SAAUr6C,EAAK2F,SAAW3F,EAAK2F,SAAW,GAC1C0jD,OAAQ,CACNtjD,SAAU/F,EAAK+F,SAAW/F,EAAK+F,SAAW,GAC1CH,YAAa5F,EAAK4F,YAAc5F,EAAK4F,YAAc,MAIvD4R,IAEAD,EAAK,CACHzR,OAAM,iBAAE9F,QAAF,IAAEA,OAAF,EAAEA,EAAM8F,cAAR,QAAkB,GACxBe,KAAI,iBAAE7G,QAAF,IAAEA,OAAF,EAAEA,EAAM2F,gBAAR,QAAoB,aACxBkG,MAAK,oBAAEuJ,EAASxW,0BAAX,aAAE,EAA6By7C,gBAA/B,QAA2C,KAGlD5iC,EAAO,CAAEQ,qBAAqB,KAG9BlT,EAAQiN,KAAK,eAGhB7S,OAAM,SAACC,GACNC,QAAQC,IAAIF,GACZkrD,EAAe,YAElB,IAGD,qCACE,cAAC,GAAD,CAAUlB,SAAUmB,IACpB,cAAC,GAAD,CAAgBvB,YAAY,sBAAsB11C,YAAa1N,GAAe,KAC9E,sBAAK7S,UAAU,mBAAf,UACE,cAAC82D,GAAD,IAEA,qBAAKj7C,MAAO,CAAEue,SAAU,YAAxB,SACE,cAAC,GAAD,CACE1O,UAAU,EACVprB,KAAM,cAAC,GAAD,CAASqG,GAAG,aAAahG,QAAS,kBAAM,QAC9CX,UAAU,mBACVwc,aAAa,GACb7b,QAAS,SAACmrB,GAzDQ,IAAC5jB,EACb,eADaA,EAyDoC4jB,GAvD7D9Z,EAAQiN,KAAR,UAAgB8G,EAAhB,cACmB,mBAAV7d,EACT8J,EAAQiN,KAAR,UAAgB8G,EAAhB,sBACmB,YAAV7d,GACTsO,KAoDMjJ,QAhEU,CAClB,CAAEue,aAAc,YAAa5jB,MAAO,aAAcvB,GAAI,aACtD,CAAEmlB,aAAc,iBAAkB5jB,MAAO,kBAAmBvB,GAAI,kBAChE,CAAEmlB,aAAc,UAAW5jB,MAAO,WAAYvB,GAAI,YA8D1CilB,aAAa,a,OCrLV,SAAS8rC,GAAS33D,GAAmC,IAAD,IACjE,OACE,sBAAKC,UAAS,qCAAsBD,EAAMC,iBAA5B,QAAyC,IAAvD,UACE,wBAAQA,UAAS,2BAAsBD,EAAMqmB,SAAW,sBAAwB,IAAhF,SACqB,cAAlBrmB,EAAMS,QACL,cAAC,EAAD,IACoB,aAAlBT,EAAMS,QACR,cAAC,EAAD,IACoB,aAAlBT,EAAMS,QACR,cAAC,EAAD,IACoB,aAAlBT,EAAMS,QACR,cAAC,GAAD,IACoB,SAAlBT,EAAMS,QACR,cAAC,GAAD,IACoB,eAAlBT,EAAMS,QACR,cAAC,GAAD,IACoB,QAAlBT,EAAMS,QACR,cAAC,GAAD,IACoB,cAAlBT,EAAMS,QACR,cAAC,GAAD,CAAcR,UAAU,kBAExB,qBAAKA,UAAW,kBAAhB,mBAAoCD,EAAMgB,gBAA1C,aAAoC,EAAgBihB,WAAWzJ,OAAO,GAAGsP,kBAG5E9nB,EAAMgB,UACL,oBAAGf,UAAS,wBAAmBD,EAAMqmB,SAAW,uBAAyB,IAAzE,UACsB,cAAnBrmB,EAAMgB,SAA2B,2BAA6BhB,EAAMgB,SACpEhB,EAAM0nD,OAAS,sBAAMznD,UAAU,iBAAhB,SAAkCD,EAAM0nD,c,OC7BnD,SAASkQ,GAAa53D,GAA4C,IAAD,EACtEmK,EAAQif,cAARjf,IACF0tD,EAA6B,qBAApB73D,EAAMC,UAAN,0BAA8DkK,GAE7E,OACE,sBAAKlK,UAAU,oBAAf,UACE,sBAAKA,UAAW,oBAAqBW,QAAS,kBAAMZ,EAAM83D,aAAY,SAAC/iC,GAAD,OAAyBA,MAA/F,UACE,qBAAK90B,UAAS,oBAAeD,EAAM+3D,SAAW,WAAa,UAA3D,SACE,cAAC,GAAD,MAEF,qBAAK93D,UAAW,YAAhB,SAA8BD,EAAMg4D,SAASlwC,mBAE/C,sBAAK7nB,UAAW,WAAY6b,MAAO,CAAEm8C,UAAS,UAAEj4D,EAAMk4D,qBAAR,QAAyB,QAAvE,UACGl4D,EAAM+3D,UAAgC,qBAApB/3D,EAAMC,WAAoCD,EAAMm4D,QAAQ5/C,OAAS,GAClF,cAACioB,GAAD,CACEvgC,UAAWD,EAAMC,UACjBkmB,OAAO,EACPC,QAAQ,EAERH,GAAE,UAAK9b,EAAL,0DALJ,SAOG,SAACkc,GAAD,OACC,cAAC,GAAD,CAAUpmB,UAAW,gBAAiBQ,QAAO,YAAmC4lB,SAAUA,EAA1F,wCAJG,aAURrmB,EAAM+3D,UACL/3D,EAAMm4D,QAAQ18C,KAAI,SAAC6H,GAAU,IAAD,EAC1B,OAAOA,EAAKvP,KACV,cAACysB,GAAD,CAAgBvgC,UAAWD,EAAMC,UAAWkmB,OAAO,EAAOC,QAAQ,EAAqBH,GAAE,UAAK4xC,EAAL,6BAAev0C,QAAf,IAAeA,OAAf,EAAeA,EAAMgQ,aAArB,QAA8BhQ,EAAK1c,IAA5H,SACG,SAACyf,GAAD,OACC,cAAC,GAAD,CACEpmB,UAAuB,cAAZqjB,EAAK1c,GAAqB,gBAAkB,GACvDnG,QAAO,UAAK6iB,EAAK1c,IACjByf,SAAUA,EACVqhC,MAAOpkC,EAAKokC,MAJd,SAMGpkC,EAAKvP,KAAKyE,OAAO,GAAGsP,cAAgBxE,EAAKvP,KAAK+V,MAAM,OARmBxG,EAAK1c,IAanF,YC7Cd,IAAM87B,GAAS,CAAC,aAOD,SAAS01B,KACtB,IAAQjuD,EAAQif,cAARjf,IACAoI,EAAclL,IAAMsT,WAAWxI,IAA/BI,UACR,EAAwC/K,mBAAqB,IAA7D,mBAAO6wD,EAAP,KAAqBC,EAArB,KACA,EAAwD9wD,mBAAqB,IAA7E,mBAAO+wD,EAAP,KAA6BC,EAA7B,KACA,EAAoDhxD,oBAAkB,GAAtE,mBAAOixD,EAAP,KAA2BC,EAA3B,KACA,EAAoDlxD,oBAAkB,GAAtE,mBAAOmxD,EAAP,KAA2BC,EAA3B,KACA,EAA8CpxD,oBAAkB,GAAhE,mBAAOqxD,EAAP,KAAwBC,EAAxB,KACA,EAAwCtxD,mBAAiBmB,OAAOs+B,aAAhE,mBAAO8xB,EAAP,KAAqBC,EAArB,KACA,EAAsCxxD,mBAAiB,QAAvD,mBAAOyxD,EAAP,KAAoBC,EAApB,KACA,EAAgC1xD,mBAA6BvC,IAA7D,mBAAOk0D,EAAP,KAAiBC,EAAjB,KACA,EAAwC5xD,mBAAiB,IAAzD,mBAAO6xD,EAAP,KAAqBC,EAArB,KAeMC,EAAe,uCAAG,WAAO5rD,GAAP,SAAAS,EAAA,+EAEd4B,GACHyjC,aAAa,0DAAsDvnC,EAAWyB,EAAO,IAAM,GAC3FlO,MAAK,SAACyN,GACL,GAAIA,EAAKgC,QAAS,CAChB,IAAMsqD,EAAWtsD,EAAKgC,QAAQuM,KAAI,SAACgjB,GACjC,MAAO,CACL1qB,KAAM0qB,EAAOje,YAAcie,EAAOje,YAAc,GAChD5Z,GAAI63B,EAAOtwB,cAIfmqD,EAAgBkB,GAChBhB,EAAwBgB,OAdV,sDAmBpBjtD,QAAQC,IAAR,MAnBoB,wDAAH,sDAuBrB,SAASgwB,IACPw8B,EAAgBrwD,OAAOs+B,aAGzB/rB,qBAAU,WACRq+C,EAAgB,iBACf,IAEHE,2BAAgB,WAId,OAHA9wD,OAAO2S,iBAAiB,SAAUkhB,GAClCA,IAEO,WACL7zB,OAAO4S,oBAAoB,SAAUihB,MAEtC,IAEH,IAcMk9B,EAAa,SAACvxD,GAClBmxD,EAAgBnxD,GAGdqwD,EADErwD,EA5DGkwD,EAAa3qD,QAAO,SAACisD,GAAD,OAAUA,EAAK5lD,KAAK80B,cAAcnxB,SAAS2hD,EAAaxwB,kBA+DzDwvB,IAsD5Bn9C,qBAAU,WACRw+C,EAAWL,KACV,CAACA,EAAchB,IAElB,IAAMuB,EAA4B,SAAhBX,EAAyB,SAAW,GAEtD,OACE,qCACGv2B,GAAOjnB,KAAI,SAACqC,GACX,OACE,cAAC0iB,GAAD,CAAgBvgC,UAAS,UAAakmB,OAAO,EAAOC,QAAQ,EAAiBH,GAAE,UAAK9b,EAAL,YAAY2T,GAA3F,SACG,SAACuI,GAAD,OACC,cAAC,GAAD,CAAU5lB,QAAO,UAAKqd,GAA2BuI,SAAUA,EAA3D,SACGvI,EAAItF,OAAO,GAAGsP,cAAgBhK,EAAIgM,MAAM,OAHyBhM,OAU1EvL,GACA,qCACE,qBAAKtS,UAAU,iBAAf,SACE,eAAC,KAAD,CAA4BuN,QAAS,CAAEksB,YAAY,EAAMD,iBAAiB,GAA1E,UACE,cAAC,GAAD,CACEx5B,UAAU,oBACV+3D,SAAS,aACTG,QAAS,CAEP,CAAEpkD,KAAM,OAAQnN,GAAI,OAAQ0sB,MAAO,yCAA0Co0B,MAAO,GACpF,CAAE3zC,KAAM,aAAcnN,GAAI,aAAc0sB,MAAO,0CAA2Co0B,MAAO,GACjG,CAAE3zC,KAAM,MAAOnN,GAAI,MAAO0sB,MAAO,wCAAyCo0B,MAAO,IAEnFqQ,SAAUY,EACVb,YAAac,IAGf,cAAC,GAAD,CACE34D,UAAU,sBACV+3D,SAAS,aACTG,QAAS,CACP,CAAEpkD,KAAM,WAAYnN,GAAI,WAAY0sB,MAAO,2DAC3C,CAAEvf,KAAM,WAAYnN,GAAI,WAAY0sB,MAAO,yDAE7CykC,SAAUU,EACVX,YAAaY,IAGf,cAAC,GAAD,CACEz4D,UAAU,mBACV+3D,SAAS,aACTE,cA3FRW,GAAmBJ,GAAsBE,EACrC,QAAN,OAAeI,EAAf,eAEEF,GAAmBJ,EACf,QAAN,OAAeM,EAAf,eAEEF,GAAmBF,EACf,QAAN,OAAeI,EAAf,eAEEF,EACI,QAAN,OAAeE,EAAf,eAEK,OAgFKZ,QAASI,EACTR,SAAUc,EACVf,YAAagB,SAKnB,sBAAK74D,UAAU,cAAf,UACE,qBAAKA,UAAU,cAAf,SACE,cAACgd,GAAD,CACEX,SAAU,SAACnU,GACJ0wD,GACHC,GAAmB,GAGrBQ,EAAgBnxD,QAKtB,qBAAKlI,UAAU,YAAf,SACE,cAAC,GAAD,CACE2rB,UAAU,QACVrrB,KAAM44D,EACNl5D,UAAS,wBAAmB25D,GAC5Bn9C,aAAa,GACb7b,QAAS,SAACmrB,GAAD,OAA0BysC,EAvG3B,SAACqB,GACrB,IAAIC,EAOAA,EADG,aAJCD,EAKW,SAACzrD,EAAG4G,GAAJ,OAAUA,EAAEjB,KAAKoM,cAAc/R,EAAE2F,KAAM,KAAM,CAAEgmD,SAAS,KASxD,SAAC3rD,EAAG4G,GAAJ,OAAU5G,EAAE2F,KAAKoM,cAAcnL,EAAEjB,KAAM,KAAM,CAAEgmD,SAAS,KAK3E,OADA1B,EAAa3jD,KAAKolD,GACXvB,EAAqB7jD,KAAKolD,GAiFsCE,CAAcjuC,KACzEC,SAAU,SAACwC,GAAD,OAzJR,SAAC9Z,GACf,IAAInU,EAAO6E,IACPsP,EAAKisB,WAAW,MAAQjsB,EAAKisB,WAAW,cAC1CpgC,EAAO4E,IAET+zD,EAAexkD,GAEXA,EAAKulD,SAAS,YAChBf,EAAe,WAGjBE,EAAY74D,GA8IqC25D,CAAQ1rC,IAC7ChhB,QA/MM,CAClB,CAAEue,aAAc,UAAW5jB,MAAO,SAAUvB,GAAI,WAChD,CAAEmlB,aAAc,WAAY5jB,MAAO,SAAUvB,GAAI,aA8MrCilB,aAAcotC,e,OC3Nf,SAASkB,GAAmBn6D,GAAqD,IAAD,MACrFuT,EAAelM,IAAMsT,WAAWxI,IAAhCoB,WACR,EAAsC/L,mBAAuBxH,EAAM2jD,aAAnE,mBAAOyW,EAAP,KAAoBC,EAApB,KACA,EAAoC7yD,oBAAkB,GAAtD,mBAAOmX,EAAP,KAAmBS,EAAnB,KACA,EAAgC5X,oBAAkB,GAAlD,mBAAO6nD,EAAP,KAAiBC,EAAjB,KACMC,EAAe7xC,iBAA0B,MAEzCymC,EAAU,uCAAG,4BAAA/1C,EAAA,6DACXksD,EAAwC,CAC5C95C,YAAa45C,EAAY55C,YACzBkmC,eAAgB0T,EAAY1T,eAC5BjmC,YAAa25C,EAAY35C,YACzBC,UAAW05C,EAAY15C,UACvBC,SAAUy5C,EAAYz5C,SACtBC,SAAUw5C,EAAYx5C,SACtBE,KAAMs5C,EAAYt5C,KAClBC,YAAaq5C,EAAYr5C,YACzBF,WAAYu5C,EAAYv5C,WACxB1M,QAASimD,EAAYjmD,QACrBomD,MAAOH,EAAYG,MACnBC,+BAAgCJ,EAAYI,+BAC5CC,QAASL,EAAYK,QACrBvL,YAAakL,EAAYlL,aAfV,SAkBfI,GAAY,GAlBG,SAmBTt/C,GAAgB+vC,aAAaqa,EAAYjsD,UAAzC,eAAyDmsD,IAnBhD,OAoBft6D,EAAM8vD,eAAesK,GACrBp6D,EAAM+wC,eAAc,GArBL,gDAuBf/wC,EAAM+wC,eAAc,GAvBL,eA0BjB/wC,EAAM6H,YAAY1G,EAASud,MAC3B1e,EAAM8kB,cAAa,GACnBwqC,GAAY,GA5BK,mBA6BV,GA7BU,yDAAH,qDAoChB,OACE,sBAAKrvD,UAAU,iBAAf,UACE,sBAAKA,UAAU,mBAAf,UACE,sBAAKA,UAAU,UAAf,UACE,cAACC,EAAD,CACEK,KAAM,cAAC,GAAD,IACN,cAAY,2BACZE,QAAQ,UACRG,QAAS,kCAAM2uD,EAAatxC,eAAnB,aAAM,EAAsB7D,SACrC5Z,UAAU,OACVG,QAAS0uD,EANX,kBAUA,cAACnvD,EAAD,CAAQ,cAAY,6BAA6BO,QAAQ,YAAYG,QAAS,kBAAMwe,GAAc,IAAOve,SAAUwuD,EAAnH,oBAIA,cAAC1O,GAAA,EAAD,CAAOlnC,KAAMkF,EAAY+G,QAAS,kBAAMtG,GAAc,IAAtD,SACE,sBAAKnf,UAAU,WAAf,UACE,iDACA,8EACA,sBAAKA,UAAU,UAAf,UACE,cAACC,EAAD,CAAQO,QAAQ,YAAYG,QAAS,kBAAMwe,GAAc,IAAzD,mBAGA,cAAClf,EAAD,CACEO,QAAQ,QACRG,QAAS,WACPy5D,EAAer6D,EAAM2jD,aACrB3jD,EAAM6H,YAAY1G,EAASud,OAJ/B,oCAaR,sBAAKze,UAAU,eAAf,UACE,yCAAY07B,GAAU,OAACy+B,QAAD,IAACA,OAAD,EAACA,EAAanY,aACpC,qCAAkB,OAAXmY,QAAW,IAAXA,OAAA,EAAAA,EAAa3R,kBAAmBl1C,EAAWP,OAAS,MAApD,OAA4DonD,QAA5D,IAA4DA,OAA5D,EAA4DA,EAAapL,0BAGpF,cAAC,KAAD,CAA4BxhD,QAAS,CAAEisB,iBAAiB,EAAMC,YAAY,EAAMC,iBAAiB,GAAjG,SACE,qBAAK15B,UAAU,YAAf,SACE,uBACEke,SAAU,SAACpD,GAGT,OAFAA,EAAEC,iBACFmpC,KACO,GAETlkD,UAAU,iBACV2G,GAAG,sBAPL,UASE,sBAAK3G,UAAU,WAAf,UACE,cAAC,GAAD,CAAS2G,GAAG,aACZ,cAAC1G,EAAD,CACEK,KAAM,cAAC,GAAD,IACNC,UAAU,OACV,cAAY,6BACZC,QAAQ,YACRG,QAlEO,WACnB2L,QAAQC,IAAI,kBAkEAvM,UAAU,aANZ,yBAUA,mBAAGA,UAAU,qBAAb,sCAEF,sBAAKA,UAAU,WAAf,UACE,qBAAKA,UAAU,MAAf,SACE,cAAC,GAAD,MAEF,cAAC,GAAD,CACEoY,MAAO,0BACPoE,aAAc29C,EAAY55C,YAC1BlE,SAAU,SAACnU,GAAD,OACRkyD,GAAe,SAACp/C,GACd,OAAO,2BAAKA,GAAZ,IAAkBuF,YAAarY,QAGnClI,UAAW,WACXoc,YAAY,kBACZ,cAAY,sBACZS,UAAQ,OAGZ,sBAAK7c,UAAU,WAAf,UACE,qBAAKA,UAAU,MAAf,SACE,cAAC,GAAD,MAEF,cAAC,GAAD,CACEoY,MAAO,QACPoE,aAAc29C,EAAY1T,eAC1BpqC,SAAU,SAACnU,GAAD,OACRkyD,GAAe,SAACp/C,GACd,OAAO,2BAAKA,GAAZ,IAAkByrC,eAAgBv+C,QAGtCkU,YAAY,kBACZpc,UAAW,WACX4c,aAAa,QACb,cAAY,uBACZ/b,KAAK,aAGT,sBAAKb,UAAU,WAAf,UACE,qBAAKA,UAAU,MAAf,SACE,cAAC,GAAD,MAEF,cAAC,GAAD,CACEoY,MAAO,QACPoE,aAAc29C,EAAY35C,YAC1BnE,SAAU,SAACnU,GAAD,OACRkyD,GAAe,SAACp/C,GACd,OAAO,2BAAKA,GAAZ,IAAkBwF,YAAatY,QAGnCkU,YAAY,kBACZpc,UAAW,WACX4c,aAAa,MACb,cAAY,uBACZ/b,KAAK,MACLic,UAAW,QAGf,sBAAK9c,UAAU,WAAf,UACE,qBAAKA,UAAU,MAAf,SACE,cAAC,GAAD,MAEF,cAAC,GAAD,CACEoY,MAAO,MACPoE,aAAc29C,EAAY15C,UAC1BpE,SAAU,SAACnU,GAAD,OACRkyD,GAAe,SAACp/C,GACd,OAAO,2BAAKA,GAAZ,IAAkByF,UAAWvY,QAGjCkU,YAAY,kBACZpc,UAAW,WACX4c,aAAa,MACb,cAAY,qBACZ/b,KAAK,MACLic,UAAW,QAGf,sBAAK9c,UAAU,WAAf,UACE,qBAAKA,UAAU,MAAf,SACE,cAAC,GAAD,MAEF,cAAC,GAAD,CACEoY,MAAO,yBACPoE,aAAc29C,EAAYz5C,SAC1BrE,SAAU,SAACnU,GAAD,OACRkyD,GAAe,SAACp/C,GACd,OAAO,2BAAKA,GAAZ,IAAkB0F,SAAUxY,QAGhCkU,YAAY,kBACZpc,UAAW,eACX4c,aAAa,iBACb,cAAY,gCAEd,cAAC,GAAD,CACExE,MAAO,CAAE6D,YAAa,iBAAkBE,UAAW,cACnDK,aAAc29C,EAAYx5C,SAC1BtE,SAAU,SAACnU,GAAD,OACRkyD,GAAe,SAACp/C,GACd,OAAO,2BAAKA,GAAZ,IAAkB2F,SAAUzY,QAGhCkU,YAAY,YACZpc,UAAW,sBACX,cAAY,mCAGhB,sBAAKA,UAAU,uBAAf,UACE,cAAC,GAAD,CACEoY,MAAO,cACPoE,aAAc29C,EAAYv5C,WAC1BvE,SAAU,SAACnU,GAAD,OACRkyD,GAAe,SAACp/C,GACd,OAAO,2BAAKA,GAAZ,IAAkB4F,WAAY1Y,QAGlCkU,YAAY,QACZpc,UAAW,yBACX4c,aAAa,cACb,cAAY,4BACZE,UAAW,KAEb,cAAC,GAAD,CACE1E,MAAO,OACPoE,aAAc29C,EAAYt5C,KAC1BxE,SAAU,SAACnU,GAAD,OACRkyD,GAAe,SAACp/C,GACd,OAAO,2BAAKA,GAAZ,IAAkB6F,KAAM3Y,QAG5BkU,YAAY,gBACZpc,UAAW,wBACX4c,aAAa,iBACb,cAAY,wBAEd,cAAC,GAAD,CACExE,MAAO,eACPoE,aAAc29C,EAAYr5C,YAC1BzE,SAAU,SAACnU,GAAD,OACRkyD,GAAe,SAACp/C,GACd,OAAO,2BAAKA,GAAZ,IAAkB8F,YAAa5Y,QAGnCkU,YAAY,KACZpc,UAAW,sBACX4c,aAAa,iBACb,cAAY,4BAGhB,qBAAK5c,UAAU,uBAAf,SACE,sBAAKA,UAAU,2BAAf,UACE,qBAAKA,UAAU,qBAAf,SACE,uBAAOA,UAAU,WAAWkc,QAAQ,sBAApC,uBAIF,cAAC,GAAD,CACE3O,QAAS4S,GACTngB,UAAU,gBACVqc,SAAU,SAACid,EAAQpxB,GAEfkyD,EADElyD,EACa,SAAC8S,GACd,OAAO,2BAAKA,GAAZ,IAAkB9G,QAAShM,EAAMkQ,SAGpB,SAAC4C,GACd,OAAO,2BAAKA,GAAZ,IAAkB9G,QAAS,qBAIjChM,MAAOiyD,EAAYjmD,QACnBiK,kBAAgB,EAChBK,qBAAsB,SAAC/C,EAAavT,GAAd,OAA6BuT,EAAOrD,QAAUlQ,GACpEkW,YAAa,SAAC5Q,GAAD,OACX,cAAC6Q,GAAA,EAAD,2BACM7Q,GADN,IAEE8Q,WAAU,2BACL9Q,EAAO8Q,YADF,IAERC,kBAAkB,EAClB5B,aAAc,uBAO1B,sBAAK3c,UAAU,WAAf,UACE,qBAAKA,UAAU,MAAf,SACE,cAAC,GAAD,MAEF,cAAC,GAAD,CACEoY,MAAO,MACPlQ,MAAK,UAAEiyD,EAAYG,aAAd,aAAuBruD,EAC5BoQ,SAAU,SAACnU,GAAD,OACRkyD,GAAe,SAACp/C,GACd,OAAO,2BAAKA,GAAZ,IAAkBs/C,MAAOpyD,QAG7BkU,YAAY,aACZpc,UAAW,WACX,cAAY,uBACZ8c,UAAW,QAGf,sBAAK9c,UAAU,WAAf,UACE,qBAAKA,UAAU,WACf,sBAAKA,UAAU,aAAf,UACE,sBAAMA,UAAU,qBAAhB,SACE,uBAAOA,UAAU,WAAjB,qCAEF,cAAC,GAAD,CACEA,UAAU,WACVuN,QAASxN,EAAM+vD,gBAAgBt0C,KAAI,SAACu0C,GAClC,MAAO,CACLppD,GAAIopD,EAAQ9O,iBACZ7oC,MAAO23C,EAAQ7O,oBAGnB7kC,SAAU,SAACid,EAAQpxB,GACjBkyD,GAAe,SAACp/C,GAAwB,IAAD,EACrC,OAAO,2BACFA,GADL,IAEEu/C,+BAAgCryD,EAAMvB,GACtC8zD,oCAAmC,UACjC16D,EAAM+vD,gBAAgBlyC,MAAK,SAACga,GAAD,OAAUA,EAAKqpB,mBAAqB/4C,EAAMvB,aADpC,QAC4C,SAIrFuB,OAAO,UAAAiyD,EAAYM,2CAAZ,eAAiDvZ,kBAAmB,KAC3E/iC,kBAAgB,EAChBK,qBAAsB,SAAC/C,EAAavT,GAClC,OAAOuT,EAAOrD,SAAWlQ,EAAMkQ,OAASlQ,IAE1CkW,YAAa,SAAC5Q,GAAD,OACX,cAAC6Q,GAAA,EAAD,2BACM7Q,GADN,IAEE8Q,WAAU,2BACL9Q,EAAO8Q,YADF,IAERC,kBAAkB,gBAO9B,sBAAKve,UAAU,WAAf,UACE,qBAAKA,UAAU,MAAf,SACE,cAAC,GAAD,MAEF,cAAC,GAAD,CACEoY,MAAO,kBACPoE,aAAc29C,EAAYK,QAC1Bn+C,SAAU,SAACnU,GAAD,OACRkyD,GAAe,SAACp/C,GACd,OAAO,2BAAKA,GAAZ,IAAkBw/C,QAAStyD,QAG/BkU,YAAY,qBACZpc,UAAW,WACX,cAAY,8BAGhB,sBAAKA,UAAU,WAAf,UACE,qBAAKA,UAAU,MAAf,SACE,cAAC,GAAD,MAEF,sBAAKA,UAAU,yBAAf,UACE,sBAAMA,UAAU,qBAAhB,SACE,uBAAOA,UAAU,WAAjB,2BAEF,0BACEA,UAAU,uBACVoc,YAAa,oBACbI,aAAY,iBAAE29C,QAAF,IAAEA,OAAF,EAAEA,EAAalL,mBAAf,QAA8B,GAC1C5yC,SAAU,SAACvB,GACTs/C,GAAe,SAACp/C,GACd,OAAO,2BAAKA,GAAZ,IAAkBi0C,YAAan0C,EAAEwB,OAAOpU,oBAMlD,wBAAQuU,IAAK6yC,EAAczuD,KAAK,SAASgb,MAAO,CAAEoU,QAAS,QAA3D,8BC/YG,SAASyqC,GAAmB36D,GAAqD,IAAD,gCAC7F,EAAoCqH,IAAMsT,WAAWxI,IAA7CoB,EAAR,EAAQA,WAAYE,EAApB,EAAoBA,YACpB,OACE,sBAAKxT,UAAU,iBAAf,UACE,sBAAKA,UAAU,mBAAf,UACGD,EAAM8uD,oBAAsB9uD,EAAM8e,WACjC,cAAC5e,EAAD,CAAQK,KAAM,cAAC,GAAD,IAAUE,QAAQ,UAAUC,KAAK,KAAKF,UAAW,OAAQI,QAAS,kBAAMZ,EAAM6H,YAAY1G,EAASyC,OAAjH,0BAIF,qBAAK3D,UAAWD,EAAM8uD,oBAAsB9uD,EAAM8e,UAAY,eAAiB,yBAA/E,SACGrL,GAAezT,EAAM8e,UACpB,qCACE,cAACqiB,GAAA,EAAD,CAAU1gC,QAAQ,OAAOkB,MAAO,GAAIC,OAAQ,GAAIw/B,UAAU,SAC1D,cAACD,GAAA,EAAD,CAAU1gC,QAAQ,OAAOkB,MAAO,GAAIC,OAAQ,GAAIw/B,UAAU,YAG5D,qCACE,yCAAYzF,GAAU,OAAC37B,QAAD,IAACA,GAAD,UAACA,EAAOkN,YAAR,aAAC,EAAa+0C,aACpC,qCAAO,UAAAjiD,EAAMkN,YAAN,eAAYu7C,kBAAmBl1C,EAAWP,OAAS,MAAnD,UAA2DhT,EAAMkN,YAAjE,aAA2D,EAAY8hD,4BAKtF,cAAC,KAAD,CAA4BxhD,QAAS,CAAEisB,iBAAiB,EAAMC,YAAY,GAA1E,SACE,qBAAKz5B,UAAU,YAAf,SACE,gCACE,qBAAKA,UAAU,WAAf,SACGwT,GAAezT,EAAM8e,UACpB,qCACE,cAACqiB,GAAA,EAAD,CAAU1gC,QAAQ,WAAWkB,MAAO,GAAIC,OAAQ,GAAIw/B,UAAU,SAC9D,cAACD,GAAA,EAAD,CAAU1gC,QAAQ,OAAOkB,MAAO,GAAIC,OAAQ,GAAIw/B,UAAU,YAG5D,qCACE,cAAC,GAAD,IACA,oBAAInhC,UAAU,eAAd,SAA8BD,EAAMkN,KAAKsT,mBAI/C,cAAC,GAAD,CACEjgB,KAAM,cAAC,GAAD,IACNixB,QAAS,CAAEpxB,MAAO,QAAS+H,MAAOnI,EAAMkN,KAAKw5C,eAAgB7+B,OAAQ,SACrE/I,UAAWrL,GAAezT,EAAM8e,YAElC,cAAC,GAAD,CACEve,KAAM,cAAC,GAAD,IACNixB,QAAS,CAAEpxB,MAAO,QAAS+H,MAAOnI,EAAMkN,KAAKuT,YAAaoH,OAAQ,OAClE/I,UAAWrL,GAAezT,EAAM8e,YAElC,cAAC,GAAD,CACEve,KAAM,cAAC,GAAD,IACNixB,QAAS,CAAEpxB,MAAO,MAAO+H,MAAOnI,EAAMkN,KAAKwT,UAAWmH,OAAQ,OAC9D/I,UAAWrL,GAAezT,EAAM8e,YAElC,cAAC,GAAD,CACEve,KAAM,cAAC,GAAD,IACNixB,QAAS,CACPpxB,MAAO,kBACP+H,MAAOy0C,GAAa,oBAClB58C,EAAMkN,YADY,aAClB,EAAYyT,gBADM,QACM,GADN,oBAElB3gB,EAAMkN,YAFY,aAElB,EAAY0T,gBAFM,QAEM,GACxB,GAHkB,oBAIlB5gB,EAAMkN,YAJY,aAIlB,EAAY4T,YAJM,QAIE,GAJF,oBAKlB9gB,EAAMkN,YALY,aAKlB,EAAY6T,mBALM,QAKS,GALT,oBAMlB/gB,EAAMkN,YANY,aAMlB,EAAY2T,kBANM,QAMQ,GANR,oBAOlB7gB,EAAMkN,YAPY,aAOlB,EAAYiH,eAPM,QAOK,KAG3B2K,UAAWrL,GAAezT,EAAM8e,YAElC,cAAC,GAAD,CAAQve,KAAM,cAAC,GAAD,IAAeixB,QAAS,CAAEpxB,MAAO,MAAO+H,MAAOnI,EAAMkN,KAAKqtD,OAASz7C,UAAWrL,GAAezT,EAAM8e,YACjH,cAAC,GAAD,CACE0S,QAAS,CAAEpxB,MAAO,wBAAyB+H,MAAK,UAAEnI,EAAMkN,KAAKwtD,2CAAb,aAAE,EAAgDvZ,iBAClGriC,UAAWrL,GAAezT,EAAM8e,YAElC,cAAC,GAAD,CAAQve,KAAM,cAAC,GAAD,IAAWixB,QAAS,CAAEpxB,MAAO,kBAAmB+H,MAAOnI,EAAMkN,KAAKutD,SAAW37C,UAAWrL,GAAezT,EAAM8e,YAC3H,cAAC,GAAD,CAAQve,KAAM,cAAC,GAAD,IAAWixB,QAAS,CAAEpxB,MAAO,cAAe+H,MAAOnI,EAAMkN,KAAKgiD,aAAepwC,UAAWrL,GAAezT,EAAM8e,sBCvFxH,SAASm3C,KACtB,MAAsC5uD,IAAMsT,WAAWxI,IAA/CoB,EAAR,EAAQA,WAAY+D,EAApB,EAAoBA,cACpB,EAAgC9P,mBAAmBrG,EAASud,MAA5D,mBAAO9W,EAAP,KAAiBC,EAAjB,KACA,EAAkCL,oBAAkB,GAApD,mBAAOqd,EAAP,KAAkBC,EAAlB,KACA,EAAoCtd,oBAAkB,GAAtD,mBAAOspC,EAAP,KAAmBC,EAAnB,KACA,EAAgCvpC,oBAAkB,GAAlD,mBAAOsX,EAAP,KAAkBC,EAAlB,KACA,EAAsCvX,mBAAuB,IAA7D,mBAAO87C,EAAP,KAAoBoB,EAApB,KACA,EAA8Cl9C,mBAAgC,IAA9E,mBAAOuoD,EAAP,KAAwBM,EAAxB,KAyBA,OAvBAn1C,qBAAU,YACR,uCAAC,sBAAA9M,EAAA,yDACC2Q,GAAW,GADZ,UAGOxL,EAAWR,iBAHlB,gCAIW/C,GAAgB60C,WAAWtxC,EAAWR,iBAAkB,kBAAkBtT,MAAK,SAACyN,GACpFw3C,EAAex3C,MALtB,uBASS8D,GACHE,qBAAqB,2CAAuChF,EAAW,oBACvEzM,MAAK,SAACyN,GAA0C,IAAD,EAC9CmjD,EAAkB,iBAACnjD,QAAD,IAACA,OAAD,EAACA,EAAMgC,eAAP,QAAkB,OAZ3C,uDAeG4V,GAAa,GACbisB,GAAc,GAhBjB,QAkBChyB,GAAW,GAlBZ,yDAAD,yDAoBC,IAGD,qCACGnX,IAAazG,EAASud,MACrB,cAAC,GAAD,CAAM7W,YAAaA,EAAaqF,KAAMo2C,EAAawL,kBAAmBx3C,EAAc/V,EAAY8U,eAAgByI,UAAWA,IAE5HlX,IAAazG,EAASyC,MACrB,cAAC,GAAD,CACEiE,YAAaA,EACb87C,YAAaL,EACbwM,eAAgBpL,EAChB5/B,aAAcA,EACdisB,cAAeA,EACfgf,gBAAiBA,IAIrB,cAACzqC,GAAA,EAAD,CAAUC,aAAc,CAAEC,SAAU,MAAOC,WAAY,SAAWhM,KAAMoL,EAAWa,QAAS,kBAAMZ,GAAa,IAAQa,iBAAkB,IAAzI,SACE,cAACC,GAAA,EAAD,CACEF,QAAS,kBAAMZ,GAAa,IAC5Be,SAAUirB,EAAa,QAAU,UACjChrB,GAAI,CAAEnkB,MAAO,QACb4V,OACE,mBAAGtX,UAAU,QAAQW,QAAS,kBAAMkkB,GAAa,IAAjD,mBALJ,SAUGgsB,EAAa,4BAA8B,uBC9DvC,SAAS8pB,KACtB,IAAQ50C,EAASoD,cAATpD,KAER,OACE,sBAAK/lB,UAAU,kBAAf,UACE,qBAAKA,UAAU,eAAf,SACE,eAAC,IAAD,WACE,cAAC,IAAD,CACEkmB,OAAK,EACLH,KAAI,UAAKA,GACTgU,OAAQ,WACN,OACE,cAAC,GAAD,CACE+F,KAAM,CACJ,CAAE1G,YAAa,aAAcqH,UAAW,IACxC,CAAErH,YAAa,kBAAmBqH,UAAW,YAE/CE,SAAU5a,EACV8a,SAAU,CACR,CAAEzH,YAAa,aAAcqH,UAAW,IACxC,CAAErH,YAAa,kBAAmBqH,UAAW,YAE/CK,gBAAiB,aACjBG,gBAAgB,YAChBD,UAAWjb,EAAK0iB,OAAO,EAAG,GAAK,kBAKvC,cAAC,IAAD,CACEviB,OAAK,EACLH,KAAI,UAAKA,EAAL,YACJgU,OAAQ,WACN,OACE,cAAC,GAAD,CACE+F,KAAM,CACJ,CAAE1G,YAAa,aAAcqH,UAAW,IACxC,CAAErH,YAAa,kBAAmBqH,UAAW,YAE/CE,SAAU5a,EACV8a,SAAU,CACR,CAAEzH,YAAa,aAAcqH,UAAW,IACxC,CAAErH,YAAa,kBAAmBqH,UAAW,YAE/CK,gBAAiB,kBACjBG,gBAAgB,YAChBD,UAAWjb,EAAK0iB,OAAO,EAAG,GAAK,uBAO3C,eAAC,IAAD,WACE,cAAC,IAAD,CACEviB,OAAK,EACLH,KAAI,UAAKA,GACTgU,OAAQ,WACN,OAAO,cAACk2B,GAAD,OAGX,cAAC,IAAD,CACE/pC,OAAK,EACLH,KAAI,UAAKA,EAAL,YACJgU,OAAQ,WACN,OAAO,cAAC,GAAD,aC5CnB,IA8He6gC,GA9HK,WAClB,IAAQtoD,EAAclL,IAAMsT,WAAWxI,IAA/BI,UACAyT,EAASoD,cAATpD,KACAzE,EAASC,cAATD,KAER,OACE,cAAC,GAAD,UACE,sBAAKthB,UAAU,aAAf,UACE,qBAAKA,UAAU,OAAf,SACE,cAACs3D,GAAD,MAEF,sBAAKt3D,UAAU,OAAf,UACE,qBAAKA,UAAU,OAAf,SACE,cAAC,GAAD,MAEF,qBAAKA,UAAU,QAAf,SACE,qBAAKA,UAAU,UAAf,SACE,cAAC,GAAD,UACE,cAAC,GAAD,UACE,cAAC,GAAD,UACE,cAAC,GAAD,UACE,eAAC,IAAD,WACE,cAAC,IAAD,CAAUif,MAAI,EAACiH,OAAK,EAACod,KAAMvd,EAAMC,GAAE,UAAKD,EAAL,gBAEjCzT,EA8CA,qCACE,cAAC2hD,GAAD,CACE/tC,OAAK,EACLH,KAAI,UAAKA,EAAL,cACJgU,OAAQ,WACN,OACE,qBAAK/5B,UAAU,qBAAf,SACE,gCACE,sKAKA,oGAEE,mBACE,cAAY,gCACZ+Z,KAAK,IACLwB,IAAI,aACJ5a,QAAS,SAACwa,GACRA,EAAMJ,iBACNuG,KANJ,kBAFF,eAoBV,cAAC2yC,GAAD,CACEluC,KAAI,UAAKA,EAAL,aACJkT,UAAW,WACT,OAAO,cAAC,GAAD,UAjFb,qCACE,cAACg7B,GAAD,CACEluC,KAAI,UAAKA,EAAL,cACJgU,OAAQ,WACN,OAAO,cAAC,GAAD,OAGX,cAACk6B,GAAD,CACEluC,KAAI,UAAKA,EAAL,cACJgU,OAAQ,WACN,OAAO,cAAC,GAAD,OAGX,cAACk6B,GAAD,CACEluC,KAAI,UAAKA,EAAL,eACJgU,OAAQ,WACN,OAAO,cAAC,GAAD,OAGX,cAACk6B,GAAD,CACEluC,KAAI,UAAKA,EAAL,aACJkT,UAAW,WACT,OAAO,cAAC,GAAD,OAGX,cAACg7B,GAAD,CACEluC,KAAI,UAAKA,EAAL,aACJkT,UAAW,WACT,OAAO,cAAC,GAAD,OAGX,cAACg7B,GAAD,CACEluC,KAAI,UAAKA,EAAL,aACJkT,UAAW,WACT,OAAO,cAAC,GAAD,OAGX,cAACg7B,GAAD,CACEluC,KAAI,UAAKA,EAAL,aACJkT,UAAW,WACT,OAAO,cAAC,GAAD,UA+Cf,cAAC,IAAD,CAAUha,MAAI,EAACqkB,KAAMvd,EAAMC,GAAE,UAAKD,EAAL,wCC3ItC,OAA0B,gCC0B1B80C,I,OArBkB,WAC/B,OACE,qBAAK76D,UAAS,eAAd,SACE,sBAAKA,UAAS,iBAAd,UACE,qBAAK4b,IAAKk/C,GAAUh/C,IAAI,QACxB,mBAAG9b,UAAS,wBAAZ,mBAEA,mBAAGA,UAAS,sBAAZ,wDAIA,uBAAMA,UAAS,sBAAf,mBACS,IACP,mBAAGA,UAAS,sBAAyB+Z,KAAMrR,OAAOC,SAASoyD,SAAW,KAAOryD,OAAOC,SAASqyD,KAA7F,qBAA+G,IAFjH,yC,OCXO,SAASC,KACtB,OACE,qBAAKj7D,UAAW,aAAhB,SACE,sBAAKA,UAAW,UAAhB,UACE,qBAAK,cAAY,mBAAmBA,UAAW,qBAA/C,SACE,cAAC,GAAD,MAGF,mBAAGA,UAAW,OAAd,yD,WCsFOk7D,GArFQ,WACrB,MAAyF9zD,IAAMsT,WAAWxI,IAAlGiD,EAAR,EAAQA,cAAexC,EAAvB,EAAuBA,yBAA0BD,EAAjD,EAAiDA,sBAAuBH,EAAxE,EAAwEA,aAClEP,EAAU4M,cACRyD,EAAaC,cAAbD,SAEF40C,EAAe,uCAAG,kCAAA9oD,EAAA,yDAChBgtD,EADgB,gCACgB94C,EAASxW,0BADzB,aACgB,EAA6By7C,UAC7Dl4C,EAAgBrF,aAAaia,QAAQm3C,IAAmB,GAFxC,UAKhB/rD,EALgB,iCAMK+F,EAAc/F,GANnB,OAMZhC,EANY,YAQVA,EAASk7C,WARC,OASX,cATW,MAUX,UAVW,MAWX,gBAXW,QAcX,YAdW,MAeX,cAfW,MAgBX,WAhBW,gCAYd31C,GAAyB,GAZX,oCAiBdA,GAAyB,GACzB5I,aAAama,WAAWi3C,GAEI,WAAxB/tD,EAASk7C,WACX/1C,GAAa,GAEbA,GAAa,GAvBD,yFA+BlBI,GAAyB,GA/BP,0DAmCpBrG,QAAQC,IAAR,MAnCoB,0DAAH,qDAuDrB,OAhBA0O,qBAAU,WACRg8C,MACC,IAIHh8C,qBAAU,WACR,IAAMmgD,EAAW/D,aAAY,WAC3BJ,MACC,KAEH,OAAO,WACLE,cAAciE,OAKhB,qBAAKp7D,UAAW,eAAhB,SACG0S,EACC,cAAC,GAAD,IAEA,qCACE,sBAAK1S,UAAW,UAAhB,UACE,cAAC,GAAD,CAAcA,UAAU,eAAeW,QAAS,kBAAMqR,EAAQiN,KAAK,QACnE,cAACshB,GAAD,CAAgBvgC,UAAW,UAAWkmB,OAAO,EAAOC,QAAQ,EAA4BH,GAAI,eAA5F,SACG,SAACI,GAAD,OAAuB,cAAC,GAAD,CAAUpmB,UAAW,eAAgBQ,QAAS,WAAgC4lB,SAAUA,MAD1C,mBAI1E,eAAC,IAAD,WACE,cAAC,IAAD,CAAUF,OAAK,EAACod,KAAM,IAAKtd,GAAI,QAC/B,cAAC,GAAD,UACE,cAAC,IAAD,CAAOD,KAAM,MAAOkT,UAAW2hC,OAEjC,cAAC,IAAD,CAAO3hC,UAAW4hC,c,kBCrFjBQ,GAAb,oDAGE,WAAYrpD,GAAmB,IAAD,+BAC5B,gBAHMA,aAEsB,EAE5B,EAAKA,QAAUA,EAFa,EAHhC,4FAeE,WAAuB9H,EAAaqD,GAApC,eAAAY,EAAA,6DACQmtD,EAAepxD,EAAIN,QAAQlB,OAAOC,SAASC,OAAQ,IACrD2E,EAAQguD,UACVnwD,KAAK4G,QAAQpI,QAAQ0xD,GAErBlwD,KAAK4G,QAAQiN,KAAKq8C,GALtB,mBAQS,GART,gDAfF,8D,OAA4CE,GC0H7BC,mBAAepqD,IA3G9B,YAAkD,IAAnCqqD,EAAkC,EAAlCA,IACP1pD,EAAU4M,cACVjW,EAAWi3B,cACX+7B,EAAmB,IAAIN,GAAuBrpD,GAEpD0pD,EAAIE,oBAAoBD,GAExB,IAAME,EAAc,IAAI9kD,gBAAgBpO,EAASqO,QAIjD,GAAI6kD,EAAY5kD,IAAI,SAAW4kD,EAAY5kD,IAAI,SAAU,CAMvD,IANwD,IAAD,EAKnDvN,EAJEG,GAAQ,UAAAgyD,EAAYpxD,IAAI,gBAAhB,eAA0BukB,MAAM,OAAQ,GAKtD,MAFoB,CAAE,eAAgB,kBAEtC,eAA8B,CAA1B,IAAMP,EAAG,KACLqtC,EAAc/xD,aAAaia,QAAQyK,GACzC,GAAG5kB,EAAMA,EAAMyO,OAAS,KAAOwjD,EAC/B,CACEpyD,EAAkB+kB,EAClB,OAKJ,QAAwBxiB,IAApBvC,EAA+B,CACjCK,aAAama,WAAWxa,GAExB,IAAIsK,EAAU,GAEV6nD,EAAY5kD,IAAI,YAGF,UAFhBjD,EAAU6nD,EAAYpxD,IAAI,YAAc,MAGtCuJ,EAAU,IAId,IAAM+nD,EAAc,CAClBl7D,KAAM,YACN0O,KAAMssD,EAAYpxD,IAAI,QACtBiE,IAAK7E,EAAM,GACXJ,MAAOI,EAAM,GACbmK,WAGEtL,OAAOszD,SACTtzD,OAAOszD,OAAOC,YAAYF,EAAarzD,OAAOC,SAASC,QACvDF,OAAOwzD,eAMFL,EAAY5kD,IAAI,UAAY4kD,EAAY5kD,IAAI,sBAAwB4kD,EAAY5kD,IAAI,UAAYvO,OAAOszD,SAChHtzD,OAAOszD,OAAOC,YAAY,CAAEp7D,KAAM,YAAaouD,YAAa4M,EAAYpxD,IAAI,sBAAwB/B,OAAOC,SAASC,QACpHF,OAAOwzD,SAYT,OACE,cAAC,IAAD,CAAc75C,SAAUq5C,EAAxB,SACE,cAAC,IAAD,CAAkBjyD,MAAOkO,GAAMwkD,mBAAoBC,iBAAkBzkD,GAAM0kD,uBAA3E,SACE,cAAC,GAAD,UACE,eAAC,IAAD,WACE,cAAC,IAAD,CACEn2C,OAAK,EACLH,KAAK,iBACLkT,UAAW,WAGT,OApBI,SAAC4iC,GACiB,IAAD,IAA7BA,EAAY5kD,IAAI,cACZ,QAAN,EAAAvO,cAAA,mBAAQyQ,WAAR,SAAa8iD,YAAY,CAAEp7D,KAAM,WAAY0O,KAAMssD,EAAYpxD,IAAI,aAAe/B,OAAOC,SAASC,QAGlGizD,EAAY5wD,OAAO,aAaTqxD,CAAUT,GAEH,2BAGX,cAAC,IAAD,CACE31C,OAAK,EACLH,KAAK,WACLkT,UAAW,WACT,OACE,cAAC,GAAD,UACE,cAAC,GAAD,SAOR,cAAC,IAAD,CAAO/S,OAAK,EAACH,KAAK,SAASkT,UAAW4hC,KACtC,cAAC5G,GAAD,CAAcluC,KAAK,IAAIkT,UAAWiiC,KAClC,cAAC,IAAD,CAAOjiC,UAAW4hC,iB,8CCrHjB0B,GAAeC,aAAY,CACtCC,WAAY,CACVC,UAAW,CACTC,eAAgB,CACdC,iBAAkB,CAChBr1B,QAASs1B,KAAOC,MAChBp7D,MAAO,UACPq7D,UAAW,gEAEbC,MAAO,CAAE34B,gBAAiB,sBAG9B44B,gBAAiB,CACfN,eAAgB,CACdO,KAAM,CACJngD,OAAQ,wBACRwqB,QAAS,MACTX,aAAc,MACd,gBAAiB,CACf7pB,OAAO,aAAD,OAAe8/C,KAAOM,UAGhCC,UAAW,CACT/4B,gBAAiBw4B,KAAOQ,OACxBp2C,MAAO41C,KAAOS,QACdj2B,WAAYw1B,KAAOU,kBACnBn2B,SAAUy1B,KAAOW,WACjB77D,OAAQ,OACRD,MAAO,OACP6lC,QAAS,iBACTX,aAAc,MACd,UAAW,CACTvC,gBAAiBw4B,KAAOY,QAE1B,gBAAiB,CACfp5B,gBAAiBw4B,KAAOa,QAE1B,sBAAuB,CACrBz2C,MAAO41C,KAAOS,SAEhB,yCAA0C,CACxCr2C,MAAO,eAET,gCAAiC,CAC/B8b,YAAa,OACb46B,OAAQ,CACN,UAAW,CACTt5B,gBAAiB,gBAGrBu5B,IAAK,CACH/7D,KAAMg7D,KAAOgB,QAEf1kD,IAAK,SAEP,kBAAmB,CACjBouB,QAAS,OAEX,kCAAmC,CACjCtX,QAAS,SAGbnC,MAAO,CACLgwC,WAAY,UACZn8D,OAAQ,OACRylC,SAAUy1B,KAAOW,WACjBO,aAAc,kBACd,uBAAwB,CACtB9tC,QAAS,SAGb+tC,QAAS,CACPhG,UAAW,QACX3wB,WAAYw1B,KAAOU,kBACnBn2B,SAAUy1B,KAAOW,WACjBhnB,WAAY,SACZumB,UAAW,OACX,6BAA8B,CAC5B14B,gBAAiBw4B,KAAOoB,UAG1B,uBAAwB,CACtBv8D,MAAO,MACP2iC,gBAAiBw4B,KAAOoB,UAG1B,6BAA8B,CAC5Br3B,aAAc,MACdvC,gBAAiBw4B,KAAOY,OACxB97D,OAAQ,QAEV,mCAAoC,CAClC0iC,gBAAiBw4B,KAAOqB,SAG5BC,MAAO,CACLv3B,aAAc,kBACdm2B,UAAW,oEAEbqB,UAAW,CACT/2B,WAAYw1B,KAAOU,kBACnBn2B,SAAUy1B,KAAOW,WACjBhnB,WAAY,YAIlB6nB,aAAc,CACZjhD,aAAc,CACZ5c,QAAS,aAGb89D,cAAe,CACblhD,aAAc,CACZmhD,eAAe,IAGnBC,SAAU,CACRC,SAAU,CACR,CACE1+D,MAAO,CAAE6lB,SAAU,WACnB/J,MAAO,CACLla,OAAQ,OACRilC,aAAc,MACdvC,gBAAiBw4B,KAAO6B,eACxB3B,UAAW,mEACX9sC,QAAS,OACT0uC,cAAe,MACf9K,WAAY,SACZla,IAAK,OACLpS,QAAS,oBACT,mBAAoB,CAClBtgB,MAAO41C,KAAOoB,SACdhuC,QAAS,OACT4jC,WAAY,SACZp0B,OAAQ,MACR8H,QAAS,MACT7lC,MAAO,OACPC,OAAQ,OACR,qBAAsB,CACpBD,MAAO,OACPC,OAAQ,SAGZ,sBAAuB,CACrBslB,MAAO41C,KAAOoB,SACd52B,WAAYw1B,KAAOU,kBACnB/mB,WAAY,MACZjP,QAAS,MACTtX,QAAS,OACT4jC,WAAY,UAEd,qBAAsB,CACpB5jC,QAAS,OACT4jC,WAAY,SACZtsB,QAAS,MACT9H,OAAQ,MACRm/B,OAAQ,UACR33C,MAAO41C,KAAOoB,YAIpB,CACEl+D,MAAO,CAAE6lB,SAAU,SACnB/J,MAAO,CACLla,OAAQ,OACRilC,aAAc,MACdvC,gBAAiBw4B,KAAOgC,IACxB9B,UAAW,mEACX9sC,QAAS,OACT0uC,cAAe,MACf9K,WAAY,SACZla,IAAK,OACLpS,QAAS,oBACT,mBAAoB,CAClBtgB,MAAO41C,KAAOoB,SACdhuC,QAAS,OACT4jC,WAAY,SACZp0B,OAAQ,MACR8H,QAAS,MACT7lC,MAAO,OACPC,OAAQ,OACR,qBAAsB,CACpBD,MAAO,OACPC,OAAQ,SAGZ,sBAAuB,CACrBslB,MAAO41C,KAAOoB,SACd52B,WAAYw1B,KAAOU,kBACnB/mB,WAAY,MACZjP,QAAS,MACTtX,QAAS,OACT4jC,WAAY,UAEd,qBAAsB,CACpB5jC,QAAS,OACT4jC,WAAY,SACZtsB,QAAS,MACT9H,OAAQ,MACRm/B,OAAQ,UACR33C,MAAO41C,KAAOoB,cAMxBa,WAAY,CACVnC,eAAgB,CACdv8D,QAAS,CACPikC,gBAAiBw4B,KAAOS,QACxBj2B,WAAYw1B,KAAOU,kBACnB/mB,WAAY,IACZpP,SAAUy1B,KAAOkC,WACjBC,WAAYnC,KAAOoC,aACnBh4C,MAAO41C,KAAOoB,SACdiB,UAAW,SACX33B,QAAS,MACTX,aAAc,MAEd,8BAA+B,CAC7B3f,MAAO41C,KAAOS,YAKtB6B,cAAe,CACbxC,eAAgB,CACdO,KAAM,CACJ,UAAW,CACTr7D,KAAMg7D,KAAOgB,QAEf,gBAAiB,CACfh8D,KAAMg7D,KAAOS,eC5NZ1xD,GAAe,IAAIwzD,IAAwBj3D,IAGlDqkD,GAAW5gD,GAAayzD,iBAE9BC,IAASvlC,OAAO,cAAC,IAAD,CAAWwlC,IAAK5nD,GAAMw+C,qBAAqBv+C,cAAiBiC,SAAS2lD,eAAe,mBAEhGhT,GAASl0C,OAAS,GACpB1M,GAAa6zD,iBAAiBjT,GAAS,IAGzC5gD,GAAa8zD,iBAAb,uCAA8B,WAAOvkD,GAAP,iBAAAhN,EAAA,sDACxBgN,EAAMwkD,YAAcC,IAAUC,eAAiB1kD,EAAM4Z,UACjDA,EAAU5Z,EAAM4Z,QAChBppB,EAAUopB,EAAQppB,QACxBC,GAAa6zD,iBAAiB9zD,IAJJ,2CAA9B,uDAQA,sBAAC,4BAAAwC,EAAA,sEAC0B2xD,8BAAoB,CAC3CC,aAAcz3D,6BAFjB,OACO03D,EADP,OAMDV,IAASvlC,OACP,cAAC,IAAMkmC,WAAP,UACG,cAACD,EAAD,UACC,cAACE,EAAA,EAAD,CAAe/4B,MAAOo1B,GAAtB,SACE,cAAC,IAAD,UACE,cAAC,GAAD,CAAKb,IAAK9vD,aAKlBiO,SAAS2lD,eAAe,SAhBzB,0CAAD,GAuBAngE,M","file":"static/js/main.158f3dcf.chunk.js","sourcesContent":["// extracted by mini-css-extract-plugin\nmodule.exports = {\"primary\":\"#143b52\",\"backgroundar\":\"#e1f0fa\",\"backgroundarcontent\":\"#eff7fc\",\"backgroundap\":\"#e8e3f2\",\"backgroundlightblue\":\"#f3f8fb\",\"pink\":\"#ef3c6b\",\"purple\":\"#7d4ed8\",\"turquoise\":\"#1fb6c1\",\"orange\":\"#f38923\",\"green\":\"#25b14b\",\"white100\":\"#fff\",\"grey98\":\"#f7f7fb\",\"grey96\":\"#f2f3f8\",\"grey95\":\"#eef0f6\",\"grey94\":\"#f0f0f0\",\"grey93\":\"#e8eaf2\",\"grey90\":\"#dee1ed\",\"grey85\":\"#c4c4c4\",\"grey80\":\"#bdc3db\",\"grey70\":\"#a1adc4\",\"grey60\":\"#8592ad\",\"grey50\":\"#707a8f\",\"grey40\":\"#576375\",\"grey35\":\"#6b6b6b\",\"grey30\":\"#4c4c4c\",\"grey10\":\"#1a1a1a\",\"black\":\"#000\",\"red\":\"#e54646\",\"redlight\":\"#fceded\",\"link\":\"_export_link__n9lHE\",\"onboardbackground\":\"#f3f8fb\",\"onboardborder\":\"#e8eaf2\",\"darkblue\":\"#124564\",\"connectedGreen\":\"#24b14b\",\"late91\":\"#ef476f\",\"late91fill\":\"#fff8f9\",\"late61\":\"#e97e00\",\"late61fill\":\"#fffdf9\",\"late31\":\"#046180\",\"late31fill\":\"#effbff\",\"late1\":\"#118ab2\",\"late1fill\":\"#f0fbff\",\"futuredue\":\"#06d6a0\",\"futureduefill\":\"#edfffa\",\"small\":\".5rem\",\"medium\":\".75rem\",\"base\":\"1rem\",\"large\":\"1.5rem\",\"larger\":\"2rem\",\"xlarge\":\"2.5rem\",\"desktopSmall\":\".5rem\",\"desktopBase\":\"1rem\",\"desktopLarge\":\"1.5rem\",\"desktopXlarge\":\"2.5rem\",\"laptopSmall\":\".5rem\",\"laptopBase\":\"1rem\",\"laptopLarge\":\"1.5rem\",\"laptopXlarge\":\"2.5rem\",\"screenSM\":\"375px\",\"screenMD\":\"425px\",\"screenLG\":\"768px\",\"screenXL\":\"968px\",\"screenXXL\":\"1280px\",\"screenFull\":\"1440px\",\"primaryFontFamily\":\"\\\"Work Sans\\\",-apple-system,BlinkMacSystemFont,\\\"Segoe UI\\\",\\\"Roboto\\\",\\\"Oxygen\\\",\\\"Ubuntu\\\",\\\"Cantarell\\\",\\\"Fira Sans\\\",\\\"Droid Sans\\\",\\\"Helvetica Neue\\\",sans-serif\",\"fontSizeXXS\":\".625rem\",\"fontSizeXS\":\".75rem\",\"fontSizeSM\":\".875rem\",\"fontSizeMD\":\"1rem\",\"fontSizeL\":\"1.125rem\",\"fontSizeXL\":\"1.5rem\",\"fontSizeXXL\":\"2.5rem\",\"lineHeightXS\":\".75rem\",\"lineHeightSM\":\"1rem\",\"lineHeightMD\":\"1.25rem\",\"lineHeightL\":\"1.5rem\",\"lineHeightXL\":\"2rem\",\"lineHeightXXL\":\"3.5rem\",\"h1\":\"_export_h1__1R9jR\",\"h2\":\"_export_h2__1gAd9\",\"h3\":\"_export_h3__onlNN\",\"h4\":\"_export_h4__IUsij\",\"body1\":\"_export_body1__1NYLr\",\"body2\":\"_export_body2__3CX4f\",\"body3\":\"_export_body3__382Nu\",\"body4\":\"_export_body4__13tGi\",\"caption\":\"_export_caption__5SjTe\",\"caption-med\":\"_export_caption-med__1gikZ\",\"caption-sm\":\"_export_caption-sm__si93U\"};","import { ReportHandler } from 'web-vitals';\n\nconst reportWebVitals = (onPerfEntry?: ReportHandler) : void=> {\n if (onPerfEntry && onPerfEntry instanceof Function) {\n import('web-vitals').then(({ getCLS, getFID, getFCP, getLCP, getTTFB }) => {\n getCLS(onPerfEntry);\n getFID(onPerfEntry);\n getFCP(onPerfEntry);\n getLCP(onPerfEntry);\n getTTFB(onPerfEntry);\n });\n }\n};\n\nexport default reportWebVitals;\n","export default __webpack_public_path__ + \"static/media/Lockstep_Icon_With_Text_Color_RGB.075b644b.svg\";","import React from 'react';\n\ninterface LoadingDotsProps {\n className?: string;\n}\n\nconst LoadingDots = (props: LoadingDotsProps):JSX.Element => {\n return (\n
\n
\n
\n
\n
\n
\n )\n}\n\nexport default LoadingDots;","import React, { ReactNode } from \"react\";\nimport { CircularProgress, Tooltip } from \"@mui/material\";\nexport interface ButtonProps {\n className?: string;\n variant?: \"primary\" | \"secondary\" | \"transparent\" | \"grey\" | \"error\" | \"solo-icon\";\n size?: \"sm\" | \"lg\";\n onClick?: React.MouseEventHandler;\n disabled?: boolean;\n children?: React.ReactNode;\n icon?: ReactNode;\n alignIcon?: \"left\" | \"right\";\n type?: \"submit\" | \"reset\" | \"button\";\n form?: string;\n loading?: boolean;\n tooltip?: string;\n}\n\nexport default function Button(props: ButtonProps): React.ReactElement {\n return (\n \n \n {props.icon && props.alignIcon === \"left\" ? props.icon : null}\n {props.children && (

{props.children}

)}\n {props.icon && props.alignIcon === \"right\" ? props.icon : null}\n
\n \n
\n \n
\n );\n}\n","import React from \"react\";\n\ninterface SVGProps {\n className?: string;\n onClick?: () => void;\n}\n\nexport const Danger = (): React.ReactElement => {\n return (\n \n \n \n );\n};\n\nexport const Caution = (): React.ReactElement => {\n return (\n \n \n \n );\n};\n\nexport const Export = (): React.ReactElement => {\n return (\n \n \n \n );\n};\n\nexport const Download = (): React.ReactElement => {\n return (\n \n \n \n \n );\n};\n\nexport const Dashboard = (props: { className?: string }): React.ReactElement => {\n return (\n \n \n \n );\n};\n\nexport const Customers = (): React.ReactElement => {\n return (\n \n \n \n );\n};\n\nexport const Invoices = (): React.ReactElement => {\n return (\n \n \n \n \n \n \n );\n};\n\n// Defines Settings SVG Image\nexport const Settings = (): React.ReactElement => {\n return (\n \n \n \n );\n};\n\nexport const Lock = (): React.ReactElement => {\n return (\n \n \n \n );\n};\n\nexport const Clock = (): React.ReactElement => {\n return (\n \n \n \n );\n};\n\nexport const Attachment = (): React.ReactElement => {\n return (\n \n \n \n );\n};\n\nexport const UserPic = (): React.ReactElement => {\n return (\n \n \n \n );\n};\n\ninterface FilterProps extends SVGProps {\n isFilter?: boolean;\n}\n\nexport const Filter = (props: FilterProps): React.ReactElement => {\n return props.isFilter ? (\n \n \n \n ) : (\n \n \n \n );\n};\n\nexport const Ascending = (props: SVGProps): React.ReactElement => {\n return (\n \n \n \n );\n};\n\nexport const Descending = (props: SVGProps): React.ReactElement => {\n return (\n \n \n \n );\n};\n\nexport const TooltipIcon = (): React.ReactElement => {\n return (\n \n \n \n );\n};\n\nexport const RightArrow = (): React.ReactElement => {\n return (\n \n \n \n );\n};\n\nexport const RightArrowWhite = (): React.ReactElement => {\n return (\n \n \n \n );\n};\n\nexport const LeftArrow = (): React.ReactElement => {\n return (\n \n \n \n );\n};\n\nexport const BackArrow = (): React.ReactElement => {\n return (\n \n \n \n );\n};\n\nexport const BackArrowNav = (): React.ReactElement => {\n return (\n \n \n \n );\n};\n\nexport const LargeLoading = (): React.ReactElement => {\n return (\n \n \n \n \n \n \n \n );\n};\n\nexport const Edit = (): React.ReactElement => {\n return (\n \n \n \n );\n};\n\nexport const DropdownArrow = (): React.ReactElement => {\n return (\n \n \n \n );\n};\n\nexport const PlusSign = (): React.ReactElement => {\n return (\n \n \n \n );\n};\n\nexport const LockstepVerified = (): React.ReactElement => {\n return (\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n );\n};\n\nexport const AddIcon = (): React.ReactElement => {\n return (\n \n \n \n \n );\n};\n\nexport const CaretUp = (): React.ReactElement => {\n return (\n \n \n \n );\n};\n\nexport const Payments = (props: { className?: string }): React.ReactElement => {\n return (\n \n \n \n );\n};\n\nexport const AllCustomers = (props: { className?: string }): React.ReactElement => {\n return (\n \n \n \n \n \n \n \n );\n};\n\nexport const Briefcase = (): React.ReactElement => {\n return (\n \n \n \n );\n};\n\nexport const Company = (): React.ReactElement => {\n return (\n \n \n \n );\n};\n\nexport const Checkmark = (): React.ReactElement => {\n return (\n \n \n \n );\n};\n\nexport const Ellipses = (): React.ReactElement => {\n return (\n \n \n \n );\n};\n\n// ! Details Pages\n\nexport const User = (): React.ReactElement => {\n return (\n \n \n \n );\n};\n\nexport const Email = (): React.ReactElement => {\n return (\n \n \n \n );\n};\n\nexport const Phone = (): React.ReactElement => {\n return (\n \n \n \n );\n};\n\nexport const Fax = (): React.ReactElement => {\n return (\n \n \n \n );\n};\n\nexport const Location = (): React.ReactElement => {\n return (\n \n \n \n );\n};\n\nexport const QuestionMark = (): React.ReactElement => {\n return (\n \n \n \n );\n};\n\nexport const Currency = (): React.ReactElement => {\n return (\n \n \n \n );\n};\n\nexport const Date = (): React.ReactElement => {\n return (\n \n \n \n );\n};\n\nexport const Copy = (props: { onClick?: React.MouseEventHandler }): React.ReactElement => {\n return (\n \n \n \n );\n};\n\nexport const Globe = (): React.ReactElement => {\n return (\n \n \n \n );\n};\n\nexport const Union = (): React.ReactElement => {\n return (\n \n \n \n \n \n );\n};\n\nexport const Notes = (): React.ReactElement => {\n return (\n \n \n \n );\n};\n\nexport const Folder = (): React.ReactElement => {\n return (\n \n \n \n );\n};\n\nexport const SortUp = (): React.ReactElement => {\n return (\n \n \n \n \n );\n};\n\nexport const SortDown = (): React.ReactElement => {\n return (\n \n \n \n \n );\n};\n\nexport const LinkedIn = (): React.ReactElement => {\n return (\n \n \n \n );\n};\n\nexport const Position = (): React.ReactElement => {\n return (\n \n \n \n );\n};\n\nexport const Search = (props: SVGProps): React.ReactElement => {\n return (\n \n \n \n );\n};\n\nexport const Save = (): React.ReactElement => {\n return (\n \n \n \n );\n};\n\nexport const Unassigned = (): React.ReactElement => {\n return (\n \n \n \n );\n};\nexport const TeamAssigned = (): React.ReactElement => {\n return (\n \n \n \n );\n};\n\nexport const CustomerAssigned = (): React.ReactElement => {\n return (\n \n \n \n );\n};\n\nexport const Snoozed = (): React.ReactElement => {\n return (\n \n \n \n \n );\n};\n\nexport const Closed = (): React.ReactElement => {\n return (\n \n \n \n );\n};\n\nexport const Upload = (): React.ReactElement => {\n return (\n \n \n \n );\n};\n\nexport const Spam = (): React.ReactElement => {\n return (\n \n \n \n );\n};\n\n// Email and Activities Icons\nexport const Reply = (): React.ReactElement => {\n return (\n \n \n \n );\n};\n\nexport const ReplyFilled = (): React.ReactElement => {\n return (\n \n \n \n );\n};\n\nexport const Note = (): React.ReactElement => {\n return (\n \n \n \n );\n};\n\nexport const Forward = (): React.ReactElement => {\n return (\n \n \n \n );\n};\n\nexport const AssignTo = (): React.ReactElement => {\n return (\n \n \n \n );\n};\n\nexport const MoveTo = (): React.ReactElement => {\n return (\n \n \n \n );\n};\n\nexport const Archive = (): React.ReactElement => {\n return (\n \n \n \n );\n};\nexport const MarkAsUnread = (): React.ReactElement => {\n return (\n \n \n \n );\n};\n\nexport const Close = (): React.ReactElement => {\n return (\n \n \n \n );\n};\n\nexport const RequestApproval = (): React.ReactElement => {\n return (\n \n \n \n );\n};\n\nexport const EmailAttachment = (): React.ReactElement => {\n return (\n \n \n \n );\n};\n\nexport const Delete = (): React.ReactElement => {\n return (\n \n \n \n );\n};\n\nexport const LockstepLogo = (props: SVGProps): React.ReactElement => {\n return (\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n );\n};\n\nexport const Sync = (): React.ReactElement => {\n return (\n \n \n \n );\n};\n\nexport const Remind = (): React.ReactElement => {\n return (\n \n \n \n );\n};\n\nexport const Error = (): React.ReactElement => {\n return (\n \n \n \n );\n};\n\nexport const EmailSettings = (): React.ReactElement => {\n return (\n \n \n \n \n );\n};\n\nexport const PrimaryContact = (): React.ReactElement => {\n return (\n \n \n \n );\n};\n\nexport const FromAccountingSoftware = (): React.ReactElement => {\n return (\n \n \n \n );\n};\n\nexport const AllActivities = (): React.ReactElement => {\n return (\n \n \n \n );\n};\n\nexport const Check = (): React.ReactElement => {\n return (\n \n \n \n );\n};\n\nexport const ToggleRead = (): React.ReactElement => {\n return (\n \n \n \n );\n};\n","export enum OnboardStep {\n SelectERP,\n OtherERP,\n CreateAccount,\n CreateInvitedAccount,\n ExistingAccount,\n PersonalInfo,\n CompanyInfo,\n ConnectEmail,\n}\n\nexport enum DataMode {\n View,\n Edit,\n}\n\nexport enum InvoiceStatusType {\n \"OPEN\" = -180,\n \"PAST DUE 1-30\" = 0,\n \"PAST DUE 31-60\" = 30,\n \"PAST DUE 61-90\" = 60,\n \"PAST DUE 91+\" = 90,\n \"CLOSED\" = -1,\n}\n\nexport enum EntityClassification {\n corporation = \"Corporation\",\n partnership = \"Partnership\",\n \"sole-proprietor\" = \"Sole-proprietor\",\n}\n\n/**\n * Contains the possible roles that a user can have.\n */\nexport enum UserRoles {\n GroupOwner = \"Group Owner\",\n GroupAdmin = \"Group Admin\",\n Member = \"Member\",\n ReadOnly = \"Read-Only\",\n}\n\n/**\n * Holds all actions that will be only allowed for some users\n */\nexport enum UserActions {\n AddNote = \"addActivity\",\n InvitationsRemind = \"invRemind\",\n InvitationsRemove = \"invRemove\",\n InvitationsCheckbox = \"invCheckbox\",\n RemovedMembersInvite = \"rmvedMembersInv\",\n RemovedMembersCheckbox = \"rmvCheckbox\",\n InviteMembers = \"invMembers\",\n InvitationsChangeRole = \"invChangeRoles\",\n ActiveMembersCheckbox = \"actvCheckbox\",\n ActiveMembersRemove = \"actvRemove\",\n ChangeRoles = \"changeRoles\",\n EditMyProfile = \"editMyProfile\",\n EditMyCompany = \"editMyCompany\",\n AddEmailClient = \"addEmailClient\",\n RunSync = \"runSync\",\n EditAccountingSoftware = \"editAccountingSoftware\",\n}\n\n/**\n * The possible statuses an activity can have.\n */\nexport enum ActivityStatus {\n NotStarted = \"Not Started\",\n Active = \"Active\",\n Closed = \"Closed\",\n Archived = \"Archived\",\n}\n\n/**\n * Types of notes that can be created.\n */\nexport enum NoteType {\n Note = \"Note\",\n PhoneCall = \"Phone Call\",\n}\n","import React, { useState } from \"react\";\nimport { DataMode, OnboardStep } from \"../types/enums\";\n\nexport const OnboardContext = React.createContext(null);\n\nexport interface Props {\n children: (React.ReactNode & { type: string })[] | (React.ReactNode & { type: string });\n}\n\nconst OnboardProvider: React.FC = ({ children }: Props) => {\n const [onboardStep, setOnboardStep] = useState(OnboardStep.SelectERP);\n const [dataMode, setDataMode] = useState(DataMode.Edit);\n const [bearerToken, setBearerToken] = useState(\"\");\n const [isInvited, setIsInvited] = useState(false);\n\n return (\n \n {children}\n \n );\n};\n\nexport default OnboardProvider;\n","import { Configuration, PopupRequest, RedirectRequest, SilentRequest } from \"@azure/msal-browser\";\nimport * as UUID from \"uuid\";\n\n// Config object to be passed to MSAL on creation\nexport const msalConfig: Configuration = {\n auth: {\n clientId: process.env.REACT_APP_AZURE_CLIENT_ID ?? \"\",\n authority: process.env.REACT_APP_AZURE_B2C_AUTHORITY,\n knownAuthorities: [`${process.env.REACT_APP_AZURE_B2C_KNOWN_AUTHORITY}`],\n redirectUri: window.location.origin,\n },\n system: {\n iframeHashTimeout: 10000,\n },\n};\n\n// The scopes used for acquiring an access token from various MS Identity Platform endpoints are specified in the following configuration objects\nexport const loginRequest: RedirectRequest = {\n scopes: [\"openid\"],\n nonce: \"defaultNonce\",\n prompt: \"login\",\n redirectUri: window.location.origin,\n};\n\nexport const silentRequest: SilentRequest = {\n scopes: [`${process.env.REACT_APP_AZURE_CLIENT_ID ?? \"openid\"}`],\n redirectUri: window.location.origin + \"/start\",\n authority: process.env.REACT_APP_AZURE_B2C_AUTHORITY,\n};\n\nexport const silentRequestForgotPassword: SilentRequest = {\n scopes: [`${process.env.REACT_APP_AZURE_CLIENT_ID ?? \"openid\"}`],\n redirectUri: window.location.origin + \"/start\",\n authority: process.env.REACT_APP_AZURE_B2C_FORGOT_PASSWORD_AUTHORITY,\n};\n\nexport const forgotPasswordRequest: PopupRequest = {\n scopes: [\"openid\"],\n nonce: \"defaultNonce\",\n prompt: \"login\",\n redirectUri: window.location.origin,\n authority: process.env.REACT_APP_AZURE_B2C_FORGOT_PASSWORD_AUTHORITY,\n};\n\nexport const forgotPasswordRedirectRequest: RedirectRequest = {\n scopes: [\"openid\"],\n nonce: \"defaultNonce\",\n prompt: \"login\",\n redirectUri: window.location.origin,\n redirectStartPage: window.location.origin,\n authority: process.env.REACT_APP_AZURE_B2C_FORGOT_PASSWORD_AUTHORITY,\n};\n\nexport const buildAuthRedirectURL = (connector: string, appId: string, localStorageKey?: string): string => {\n const id = UUID.v4().replace(/-/g, \"\");\n const state = encodeURIComponent(`${connector}|${appId}|` + id);\n\n // We save the state value so we can compare it to what the given ERP returns in its redirect, as a security measure\n localStorage.setItem(localStorageKey ?? \"ERPAuthState\", id);\n\n const redirectURL = process.env.REACT_APP_REDIRECT_URL ?? \"\";\n let scopes: Array;\n let url = \"\";\n\n switch (connector) {\n case \"Quickbooks Online\":\n scopes = [\"openid\", \"profile\", \"email\", \"address\", \"phone\", \"com.intuit.quickbooks.accounting\"];\n\n url =\n \"https://appcenter.intuit.com/connect/oauth2?\" +\n \"response_type=code\" +\n \"&client_id=\" +\n process.env.REACT_APP_QUICKBOOKS_CLIENT_ID +\n \"&redirect_uri=\" +\n encodeURIComponent(redirectURL) +\n \"&scope=\" +\n scopes.join(\"%20\") +\n \"&state=\" +\n state;\n\n break;\n case \"Xero\":\n scopes = [\n \"openid\",\n \"profile\",\n \"email\",\n \"offline_access\",\n \"accounting.transactions.read\",\n \"accounting.contacts.read\",\n \"accounting.settings.read\",\n ];\n\n url =\n \"https://login.xero.com/identity/connect/authorize?\" +\n \"response_type=code\" +\n \"&client_id=\" +\n process.env.REACT_APP_XERO_CLIENT_ID +\n \"&redirect_uri=\" +\n encodeURIComponent(redirectURL) +\n \"&scope=\" +\n scopes.join(\"%20\") +\n \"&state=\" +\n state;\n\n break;\n case \"Microsoft Outlook\":\n scopes = [\"user.read\", \"openid\", \"profile\", \"offline_access\", \"mail.read\", \"mail.send\", \"mail.readwrite\"];\n\n url =\n \"https://login.microsoftonline.com/common/oauth2/v2.0/authorize?response_type=code\" +\n \"&client_id=\" +\n process.env.REACT_APP_MICROSOFT_CLIENT_ID +\n \"&redirect_uri=\" +\n encodeURIComponent(redirectURL) +\n \"&scope=\" +\n scopes.join(\"%20\") +\n \"&state=\" +\n state;\n\n break;\n }\n\n return url;\n};\n","import axios, { AxiosInstance, AxiosRequestConfig } from \"axios\";\nimport {AuthenticationResult, InteractionRequiredAuthError} from \"@azure/msal-common\";\n\nimport {msalInstance} from \"../index\";\nimport {loginRequest, silentRequest, silentRequestForgotPassword} from \"../auth/authConfig\";\n\nconst singletonEnforcer = Symbol(\"APIClientSingletonEnforcer\");\n\ntype ParamsWithNoData = [url: string, config?: AxiosRequestConfig, overrideMSAL?: boolean];\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\ntype ParamsWithData = [url: string, data?: any, config?: AxiosRequestConfig, overrideMSAL?: boolean];\n\nclass APIClient {\n private static clientInstance: APIClient;\n\n private readonly session: AxiosInstance;\n\n constructor(enforcer: symbol) {\n if (enforcer !== singletonEnforcer) {\n throw new Error('Cannot construct singleton');\n }\n\n const axiosConfig = {\n baseURL: process.env.REACT_APP_API_ENDPOINT + \"/\",\n headers: {\n \"X-Requested-With\": \"XMLHttpRequest\",\n \"Cache-Control\": \"no-cache\",\n Pragma: \"no-cache\",\n Expires: \"-1\",\n }\n }\n\n this.session = axios.create(axiosConfig);\n }\n\n static get instance() {\n if (!this.clientInstance) {\n this.clientInstance = new APIClient(singletonEnforcer);\n }\n\n return this.clientInstance;\n }\n\n private async getToken() {\n const account = msalInstance.getActiveAccount();\n\n return await msalInstance.acquireTokenSilent({\n // Change silent request depending on the account's policy\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n ...((account?.idTokenClaims as any)?.acr === \"b2c_1a_passwordreset\" ? silentRequestForgotPassword : silentRequest), account: account ?? undefined\n })\n .then((res: AuthenticationResult) => {\n return res?.accessToken ?? \"\";\n })\n // Silent request fails, default to interactive login\n .catch((error) => {\n console.log(error);\n\n if (error instanceof InteractionRequiredAuthError) {\n msalInstance.acquireTokenRedirect(loginRequest).catch((acquireTokenError) => {\n console.log(acquireTokenError);\n });\n }\n });\n }\n\n private async getConfig(config?: AxiosRequestConfig, overrideMSAL?: boolean) {\n // We set some config defaults and then let the caller provide additional ones or override those defaults\n let requestConfig: AxiosRequestConfig = {\n headers: {\n Accept: \"text/plain\",\n \"Content-Type\": \"application/json\"\n }\n };\n\n if (config) {\n requestConfig = { ...requestConfig, ...config };\n }\n\n if (overrideMSAL === undefined || !overrideMSAL) {\n requestConfig.headers[\"Authorization\"] = `Bearer ${await this.getToken()}`;\n }\n\n return requestConfig;\n }\n\n private async makeGetRequest(url: string, config?: AxiosRequestConfig, overrideMSAL?: boolean) {\n const requestConfig = await this.getConfig(config, overrideMSAL);\n return this.session.get(url, requestConfig);\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private async makePostRequest(url: string, data: any, config?: AxiosRequestConfig, overrideMSAL?: boolean) {\n const requestConfig = await this.getConfig(config, overrideMSAL);\n return this.session.post(url, data, requestConfig);\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private async makePutRequest(url: string, data: any, config?: AxiosRequestConfig, overrideMSAL?: boolean) {\n const requestConfig = await this.getConfig(config, overrideMSAL);\n return this.session.put(url, data, requestConfig);\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private async makePatchRequest(url: string, data: any, config?: AxiosRequestConfig, overrideMSAL?: boolean) {\n const requestConfig = await this.getConfig(config, overrideMSAL);\n return this.session.patch(url, data, requestConfig);\n }\n\n private async makeDeleteRequest(url: string, config?: AxiosRequestConfig, overrideMSAL?: boolean) {\n const requestConfig = await this.getConfig(config, overrideMSAL);\n return this.session.delete(url, requestConfig);\n }\n\n get = (...params: ParamsWithNoData) => this.makeGetRequest(...params);\n post = (...params: ParamsWithData) => this.makePostRequest(...params);\n put = (...params: ParamsWithData) => this.makePutRequest(...params);\n patch = (...params: ParamsWithData) => this.makePatchRequest(...params);\n delete = (...params: ParamsWithNoData) => this.makeDeleteRequest(...params);\n}\n\nexport default APIClient.instance;\n","import APIClient from \"../APIClient\";\n\nexport class StatusClient {\n /**\n * * GET on /api/v1/Status\n * @returns Promise of type StatusModel or Exception\n */\n getStatus(): Promise {\n const url = \"api/v1/Status\";\n\n return APIClient.get(url).then((response) => {\n return response.data;\n });\n }\n}\n","import APIClient from \"../APIClient\";\n\nexport class CompaniesClient {\n /**\n * * GET on /api/v1/Companies/{id}\n * @param id - Database ID associated with a company\n * @param include: To fetch additional data on this object, specify the list of elements to retrieve.\n * @returns Promise of type CompanyModel or Exception\n */\n getCompany(id: string, include?: string): Promise {\n const url = `api/v1/Companies/${id}`;\n const options = {\n params: {\n include,\n },\n };\n return APIClient.get(url, options).then((res) => res.data);\n }\n\n /**\n * * GET on /api/v1/Companies/query\n * @param filter - The filter to use to select from the list of available apps (Searchlight query syntax)\n * @param include - To fetch additional data on this object, specify the list of elements to retrieve.\n * @param order - The sort order for the results (Searchlight query syntax)\n * @param pageSize - The page size for results (Defaults to 200, maximum of 1,000)\n * @param pageNumber - The page number for results (Defaults to 0)\n * @returns Promise of type CompanyModelFetchResult or Exception\n */\n getCompanies(filter?: string, include?: string, order?: string, pageSize?: number, pageNumber?: number): Promise {\n const url = \"api/v1/Companies/query\";\n const options = {\n params: {\n filter,\n include,\n order,\n pageSize,\n pageNumber,\n },\n };\n return APIClient.get(url, options).then((response) => {\n return response.data;\n });\n }\n\n /**\n * * PATCH on /api/v1/Companies/{id}\n * @param id - Database ID associated with a company\n * @param body: The fields to change\n * @returns Promise of type CompanyModel or Exception\n */\n patchCompany(id: string, body: Partial): Promise {\n const url = `api/v1/Companies/${id}`;\n return APIClient.patch(url, body).then((res) => res.data);\n }\n\n /**\n * * GET on api/v1/Companies/views/customer-details/{id}\n * @param id - Database id associated with a company\n * @returns Promise of type CustomerDetailsModel\n */\n getCustomerDetails(id: string): Promise {\n let url = \"api/v1/Companies/views/customer-details/{id}\";\n\n if (id === undefined || id === null) {\n throw new Error(\"The parameter 'id' must be defined.\");\n }\n\n url = url.replace(\"{id}\", encodeURIComponent(\"\" + id));\n url = url.replace(/[?&]$/, \"\");\n\n // Process response\n return APIClient.get(url).then((response) => {\n return response.data;\n });\n }\n\n /**\n * * GET on /api/v1/Companies/customer-summary\n * @param filter - The filter to use to select from the list of available apps (Searchlight query syntax)\n * @param order - The sort order for the results (Searchlight query syntax)\n * @param pageSize - The page size for results (Defaults to 200, maximum of 1,000)\n * @param pageNumber - The page number for results (Defaults to 0)\n * @returns Promise of type CustomerSummaryModelFetchResult or Exception\n */\n getCustomerSummaries(filter?: string, include?: string, order?: string, pageSize?: number, pageNumber?: number): Promise {\n const url = \"api/v1/Companies/views/customer-summary\";\n\n const options = {\n params: {\n filter,\n include,\n order,\n pageSize,\n pageNumber,\n },\n };\n\n return APIClient.get(url, options).then((response) => {\n return response.data;\n });\n }\n}\n","import APIClient from \"../APIClient\";\n\nexport class InvoicesClient {\n /**\n * * GET on /api/v1/Invoices/{id}\n * @param id - Database ID associated with an invoice\n * @param include\n * @returns Promise of type InvoiceModel or Exception\n */\n getInvoice(id: string, include?: string): Promise {\n let url = \"api/v1/Invoices/{id}?\";\n\n if (id === undefined || id === null) {\n throw new Error(\"The parameter 'id' must be defined.\");\n }\n\n url = url.replace(\"{id}\", encodeURIComponent(\"\" + id));\n\n if (include === null) {\n throw new Error(\"The parameter 'include' cannot be null.\");\n }\n\n if (include !== undefined) {\n url += \"include=\" + encodeURIComponent(\"\" + include) + \"&\";\n }\n\n url = url.replace(/[?&]$/, \"\");\n\n return APIClient.get(url).then(response => {\n return response.data;\n })\n }\n\n /**\n * * GET on /api/v1/Invoices/query\n * @param filter - The filter to use to select from the list of available apps (Searchlight query syntax)\n * @param include - Specify options\n * @param order - The sort order for the results (Searchlight query syntax)\n * @param pageSize - The page size for results (Defaults to 200, maximum of 1,000)\n * @param pageNumber - The page number for results (Defaults to 0)\n * @returns Promise of type InvoiceModelFetchResult or Exception\n */\n getInvoices(filter?: string, include?: string, order?: string, pageSize?: number, pageNumber?: number): Promise {\n const url = \"api/v1/Invoices/query\";\n\n const config = {\n params: {\n filter,\n include,\n order,\n pageSize,\n pageNumber,\n },\n };\n\n return APIClient.get(url, config).then(response => {\n return response.data;\n })\n }\n\n /**\n * * GET on /api/v1/Invoices/views/summary\n * @param filter - The filter to use to select from the list of available apps (Searchlight query syntax)\n * @param order - The sort order for the results (Searchlight query syntax)\n * @param pageSize - The page size for results (Defaults to 200, maximum of 1,000)\n * @param pageNumber - The page number for results (Defaults to 0)\n * @returns Promise of type InvoiceSummaryModelFetchResult or Exception\n */\n getInvoiceSummaries(filter?: string, include?: string, order?: string, pageSize?: number, pageNumber?: number): Promise {\n const url = \"api/v1/Invoices/views/summary\";\n\n const config = {\n params: {\n filter,\n include,\n order,\n pageSize,\n pageNumber,\n },\n };\n\n return APIClient.get(url, config).then(response => {\n return response.data;\n })\n }\n\n /**\n * * GET on /api/v1/Invoices/views/summary\n * @param filter - The filter to use to select from the list of available apps (Searchlight query syntax)\n * @param include\n * @param order - The sort order for the results (Searchlight query syntax)\n * @param pageSize - The page size for results (Defaults to 200, maximum of 1,000)\n * @param pageNumber - The page number for results (Defaults to 0)\n * @returns Promise of type InvoiceSummaryModelFetchResult or Exception\n */\n queryAtRiskSummaries(\n filter?: string,\n include?: string,\n order?: string,\n pageSize?: number,\n pageNumber?: number\n ): Promise {\n const url = \"api/v1/invoices/views/at-risk-summary\";\n\n const options = {\n params: {\n filter,\n include,\n order,\n pageSize,\n pageNumber,\n },\n };\n\n return APIClient.get(url, options).then(response => {\n return response.data;\n });\n }\n}\n","import APIClient from \"../APIClient\";\n\nexport class ReportsClient {\n /**\n * * GET on /api/v1/Reports/cashflow\n * @param timeframe - Timeframe from today cashflow should be processed within (Defaults 30)\n * @returns Promise of type CashflowReportModel\n */\n getCashflow(timeframe?: number): Promise {\n const url = \"api/v1/Reports/cashflow\";\n\n const options = {\n params: {\n timeframe,\n },\n };\n\n return APIClient.get(url, options).then((response) => {\n return response.data;\n });\n }\n\n /**\n * * GET on /api/v1/Reports/dailysalesoutstanding\n * @returns Promise of type DSOReport\n */\n getDSO(): Promise {\n const url = \"api/v1/Reports/dailysalesoutstanding\";\n\n return APIClient.get(url).then((response) => {\n return response.data;\n });\n }\n\n /**\n * * GET on /api/v1/Reports/riskrates\n * @returns Promise of type RiskRateModel[]\n */\n getRiskRate(): Promise {\n const url = \"api/v1/Reports/riskrates\";\n\n return APIClient.get(url).then((response) => {\n return response.data;\n });\n }\n\n /**\n * * GET on /api/v1/Reports/ar-header\n * @param reportDate - The date of the report.\n * @param companyId - Include a company to get AR data for a specific company, leave as null to include all Companies.\n * @returns Promise of type ArHeaderInfoModel\n */\n async getARHeader(reportDate: string, companyId?: string): Promise {\n const url = \"api/v1/Reports/ar-header\";\n\n const options = {\n params: {\n reportDate,\n companyId,\n },\n };\n\n const response = await APIClient.get(url, options);\n return response.data;\n }\n\n /**\n * * GET on /api/v1/Reports/aging\n * @param CompanyId - Company aging buckets are filtered by (If undefined, all company aging returned)\n * @param Recalculate - Force api to recalculate aging data, cached data may be returned when set to false\n * @param CurrencyCode - Currency aging buckets are converted to (If undefined, no conversion)\n * @param CurrencyProvider - Currency provider currency rates (If undefined, defaults to Lockstep currency provider)\n * @param Buckets - Customized buckets used for aging calculations (Defaults to [0, 30, 60, 90, 120, 180])\n * @returns Promise of type ArAgingHeaderInfoModel[] or Exception\n */\n async getAging(): Promise {\n const url = \"api/v1/Reports/ar-aging-header\";\n\n const options = {\n params: {},\n };\n\n return APIClient.get(url, options).then((response) => {\n return response.data;\n });\n }\n\n /**\n * * GET on /api/v1/Reports/attachments-header\n * @param companyId - Include a company to get Attachment data for a specific company, leave as null to include all Companies.\n * @returns Promise of type AttachmentHeaderInfoModel\n */\n async getAttachmentsHeader(companyId?: string): Promise {\n const url = \"api/v1/Reports/attachments-header\";\n\n const options = {\n params: {\n companyId,\n },\n };\n\n const response = await APIClient.get(url, options);\n return response.data;\n }\n}\n","import APIClient from \"../APIClient\";\n\nexport class ActivitiesClient {\n /**\n * * GET on /api/v1/Activities/{id}\n * @param id - The unique Lockstep Platform ID number of this Activity\n * @param include - To fetch additional data on this object, specify the list of elements to retrieve.\n * @returns Promise of type ActivityModel or Exception\n */\n get(id: string, include?: string): Promise {\n const url = `api/v1/Activities/${id}`;\n const options = {\n params: {\n include,\n },\n };\n return APIClient.get(url, options).then((res) => res.data);\n }\n\n /**\n * * PATCH on /api/v1/Activities/{id}\n * @param id - The unique Lockstep Platform ID number of this Activity\n * @returns Promise of type ActivityModel or Exception\n */\n patch(id: string, body: Partial): Promise {\n const url = `api/v1/Activities/${id}`;\n return APIClient.patch(url, body).then((res) => res.data);\n }\n\n /**\n * * DELETE on /api/v1/Activities/{id}\n * @param id - The unique Lockstep Platform ID number of this Activity\n * @returns Promise of type ActivityModel or Exception\n */\n delete(id: string): Promise {\n const url = `api/v1/Activities/${id}`;\n return APIClient.delete(url).then((res) => res.data);\n }\n\n /**\n * * POST on /api/v1/Activities\n * @param body - Array of ActivityModels to be posted\n * @returns Promise of type ActivityModel[] or Exception\n */\n post(body: Partial[]): Promise {\n const url = \"api/v1/Activities\";\n return APIClient.post(url, body).then((res) => res.data);\n }\n\n /**\n * * GET on /api/v1/Activities/query\n * @param filter - The filter to use to select from the list of available apps (Searchlight query syntax)\n * @param include - Specify options\n * @param order - The sort order for the results (Searchlight query syntax)\n * @param pageSize - The page size for results (Defaults to 200, maximum of 1,000)\n * @param pageNumber - The page number for results (Defaults to 0)\n * @returns Promise of type ActivityModelFetchResult or Exception\n */\n query(filter?: string, include?: string, order?: string, pageSize?: number, pageNumber?: number): Promise {\n const url = \"api/v1/Activities/query\";\n const options = {\n params: {\n filter,\n include,\n order,\n pageSize,\n pageNumber,\n },\n };\n return APIClient.get(url, options).then((res) => res.data);\n }\n}\n","import APIClient from \"../APIClient\";\n\nexport class LeadsClient {\n /**\n * * POST on /api/v1/Leads\n * @param body - LeadsModel that contains the email and ERP system which the user has requested.\n * @returns Promise of type LeadsModel\n */\n createLead(body: LeadsModel[]): Promise {\n const url = \"api/v1/Leads\";\n\n return APIClient.post(url, body, undefined, true).then(response => {\n return response.data;\n });\n }\n}\n","import APIClient from \"../APIClient\";\n\nexport class ProvisioningClient {\n /**\n * * POST on /api/v1/Provisioning\n * @param token - Bearer token\n * @param onboardData - Onboard data object\n * @returns Promise of type ProvisioningResponseModel or Exception\n */\n provision(token: string, onboardData: OnboardDataModel): Promise {\n const url = \"api/v1/Provisioning\";\n\n // Parse for required values\n const body = { fullName: onboardData.fullName, erp: onboardData.erp };\n\n // We manually add the access token and bypass MSAL since we received it from the embedded Azure B2C account creation page\n const options = {\n headers: {\n Authorization: `Bearer ${token}`,\n },\n };\n\n return APIClient.post(url, body, options, true).then((res) => res.data);\n }\n\n /**\n * * POST on /api/v1/Provisioning/finalize\n * @param token - Bearer token\n * @param onboardData - Onboard data object\n * @returns Promise of type ProvisioningResponseModel or Exception\n */\n finalize(token: string, onboardData: OnboardDataModel): Promise {\n const url = \"api/v1/Provisioning/finalize\";\n\n // Parse for required values\n const body = {\n fullName: onboardData.fullName,\n timeZone: onboardData.timeZone,\n defaultCurrency: onboardData.defaultCurrency,\n company: onboardData.company,\n };\n\n // We manually add the access token and bypass MSAL since we received it from the embedded Azure B2C account creation page\n const options = {\n headers: {\n Authorization: `Bearer ${token}`,\n },\n };\n\n return APIClient.post(url, body, options, true).then((res) => res.data);\n }\n}\n","import APIClient from \"../APIClient\";\n\nexport class EnrollmentsClient {\n getEnrollments(filter?: string, include?: string, order?: string, pageSize?: number, pageNumber?: number): Promise {\n const url = \"api/v1/AppEnrollments/query\";\n\n const options = {\n params: {\n filter,\n include: include ?? \"App,LastSync\",\n order,\n pageSize,\n pageNumber,\n },\n };\n\n return APIClient.get(url, options).then((response) => {\n return response.data;\n });\n }\n\n changeEnrollment(id: string, body: { isActive: boolean }): Promise {\n const url = `api/v1/AppEnrollments/${id}`;\n\n return APIClient.patch(url, body).then((response) => {\n return response.data;\n });\n }\n\n createEnrollment(body: Partial[]): Promise {\n const url = \"api/v1/AppEnrollments\";\n\n return APIClient.post(url, body).then((response) => {\n return response.data;\n });\n }\n\n deleteEnrollment(id: string): Promise {\n const url = `api/v1/AppEnrollments/${id}`;\n return APIClient.delete(url).then((res) => res.data);\n } \n}\n","import APIClient from \"../APIClient\";\n\nexport class PaymentsClient {\n /**\n * * GET on /api/v1/Payments/views/detail\n * @param filter - The filter to use to select from the list of available apps (Searchlight query syntax)\n * @returns Promise of type PaymentDetailModel or Exception\n */\n getDetailView(filter?: string): Promise {\n let url = \"api/v1/Payments/views/detail\";\n\n if (filter !== undefined) {\n url += \"?filter=\" + encodeURIComponent(\"\" + filter) + \"&\";\n }\n\n url = url.replace(/[&]$/, \"\");\n\n return APIClient.get(url).then(response => {\n return response.data.records[0];\n });\n }\n\n /**\n * * GET on /api/v1/Payments/views/summary\n * @param filter - The filter to use to select from the list of available apps (Searchlight query syntax)\n * @param include - Specify options\n * @param order - The sort order for the results (Searchlight query syntax)\n * @param pageSize - The page size for results (Defaults to 200, maximum of 1,000)\n * @param pageNumber - The page number for results (Defaults to 0)\n * @returns Promise of type PaymentSummaryModelFetchResult or Exception\n */\n querySummaries(filter?: string, include?: string, order?: string, pageSize?: number, pageNumber?: number): Promise {\n const url = \"api/v1/Payments/views/summary\";\n\n const options = {\n params: {\n filter,\n include,\n order,\n pageSize,\n pageNumber,\n },\n };\n\n return APIClient.get(url, options).then(response => {\n return response.data;\n });\n }\n}\n","import APIClient from \"../APIClient\";\n\nexport class PaymentApplicationsClient {\n /**\n * * GET on /api/v1/PaymentApplications/query\n * @param filter - The filter to use to select from the list of available apps (Searchlight query syntax)\n * @param include - Specify options\n * @param order - The sort order for the results (Searchlight query syntax)\n * @param pageSize - The page size for results (Defaults to 200, maximum of 1,000)\n * @param pageNumber - The page number for results (Defaults to 0)\n * @returns Promise of type PaymentDetailViewInvoices or Exception\n */\n getDetailViewInvoices(filter?: string, include?: string, order?: string, pageSize?: number,\n pageNumber?: number): Promise {\n const url = \"api/v1/PaymentApplications/query\";\n\n const options = {\n params: {\n filter,\n include,\n order,\n pageSize,\n pageNumber,\n },\n };\n\n return APIClient.get(url, options).then(response => {\n return response.data.records;\n });\n }\n}\n","import APIClient from \"../APIClient\";\n\nexport class SyncClient {\n startSync(body: SyncModel, token?: string): Promise {\n const url = \"api/v1/Sync\";\n\n const options = {\n headers: {\n Authorization: `Bearer ${token}`,\n },\n };\n\n return APIClient.post(url, body, token !== undefined ? options : undefined, token !== undefined ? true : false).then((response) => {\n return response.data;\n });\n }\n\n getSyncStatus(syncRequestId: string, includeDetails?: boolean): Promise {\n const url = `api/v1/Sync/${syncRequestId}`;\n\n const options = {\n params: {\n includeDetails: !!includeDetails,\n },\n };\n\n return APIClient.get(url, options).then((response) => {\n return response.data;\n });\n }\n\n // eslint-disable-next-line\n querySync(pageSize?: number, filter?: string, include?: string, order?: string, pageNumber?: number): Promise {\n const url = \"api/v1/Sync/query\";\n const options = {\n params: {\n filter,\n pageSize,\n order,\n include,\n pageNumber,\n },\n };\n return APIClient.get(url, options).then((response) => {\n return response.data;\n });\n }\n}\n","import APIClient from \"../APIClient\";\n\nexport class UserAccountsClient {\n /**\n * * GET on /api/v1/UserAccounts/{id}\n * @param id - Database ID associated with a user\n * @param include\n * @returns Promise of type UserAccountModel or Exception\n */\n getUserAccount(id: string, include?: string): Promise {\n const url = `api/v1/UserAccounts/${id}`;\n\n const options = {\n params: {\n include,\n },\n };\n\n return APIClient.get(url, options).then((response) => {\n return response.data;\n });\n }\n\n /**\n * * PATCH on /api/v1/UserAccounts/{id}\n * @param id - Database ID associated with a user\n * @param body: The fields to change\n * @returns Promise of type UserAccountModel or Exception\n */\n patchUserAccount(id: string, body: Partial): Promise {\n const url = `api/v1/UserAccounts/${id}`;\n return APIClient.patch(url, body).then((res) => res.data);\n }\n\n /**\n * * DELETE on /api/v1/UserAccounts/{id}\n * @param id - Database ID associated with a user\n * @returns Promise of type ActionResultModel or Exception\n */\n deleteUserAccount(id: string): Promise {\n const url = `api/v1/UserAccounts/${id}`;\n return APIClient.delete(url).then((res) => res.data);\n }\n\n /**\n * * POST on /api/v1/UserAccounts/reenable\n * @param id: The unique Lockstep Platform ID number of this User\n * @returns Promise of type InviteModel[] or Exception\n */\n postReenable(id: string): Promise {\n const url = \"api/v1/UserAccounts/reenable\";\n const options = {\n params: {\n id,\n },\n };\n return APIClient.post(url, undefined, options).then((res) => res.data);\n }\n\n /**\n * * POST on /api/v1/UserAccounts/invite\n * @param body: List of emails to send invites to\n * @returns Promise of type InviteModel[] or Exception\n */\n postInvite(body: { email: string }[]): Promise {\n const url = \"api/v1/UserAccounts/invite\";\n return APIClient.post(url, body).then((res) => res.data);\n }\n\n /**\n * * GET on /api/v1/UserAccounts/invite\n * @param code: The code of the invite\n * @returns Promise of type InviteDataModel or Exception\n */\n getInvite(code: string): Promise {\n const url = \"api/v1/UserAccounts/invite\";\n const options = {\n params: {\n code,\n },\n };\n return APIClient.get(url, options, true).then((res) => res.data);\n }\n\n /**\n * * Post on /api/v1/UserAccounts/transfer-ownership\n * @param id - Database ID associated the target user\n * @param\n * @returns Promise of type UserAccountModel or Exception\n */\n transferOwnership(id?: string): Promise {\n const url = `api/v1/UserAccounts/transfer-owner`;\n if (id) {\n return APIClient.post(url, { targetUserId: id }).then((res) => res.data);\n } else {\n throw new Error(\"The parameter 'id' must be defined.\");\n }\n }\n\n /**\n * * GET on /api/v1/UserAccounts\n * @param filter - The filter to use to select from the list of available apps (Searchlight query syntax)\n * @param include - Specify options\n * @param order - The sort order for the results (Searchlight query syntax)\n * @param pageSize - The page size for results (Defaults to 200, maximum of 1,000)\n * @param pageNumber - The page number for results (Defaults to 0)\n * @returns Promise of type UserAccountModelFetchResult or Exception\n */\n queryUserAccounts(filter?: string, include?: string, order?: string, pageSize?: number, pageNumber?: number): Promise {\n const url = \"api/v1/UserAccounts/query\";\n\n const config = {\n params: {\n filter,\n include,\n order,\n pageSize,\n pageNumber,\n },\n };\n\n return APIClient.get(url, config).then((response) => {\n return response.data;\n });\n }\n}\n","import APIClient from \"../APIClient\";\n\nexport class ContactsClient {\n /**\n * * POST on /api/v1/Contacts\n * @param body: The fields to create the contact with\n * @returns Promise of type ContactModel or Exception\n */\n createContact(\n body: {\n companyId: string;\n contactName: string;\n roleCode: string;\n emailAddress: string;\n phone: string;\n }[]\n ): Promise {\n const url = `api/v1/Contacts`;\n return APIClient.post(url, body).then((res) => {\n return res.data[0];\n });\n }\n\n /**\n * * GET on /api/v1/Contacts/query\n * @param filter - The filter to use to select from the list of available apps (Searchlight query syntax)\n * @param include - Specify options\n * @param order - The sort order for the results (Searchlight query syntax)\n * @param pageSize - The page size for results (Defaults to 200, maximum of 1,000)\n * @param pageNumber - The page number for results (Defaults to 0)\n * @returns Promise of type ContactModelFetchResult or Exception\n */\n queryContacts(filter?: string, include?: string, order?: string, pageSize?: number, pageNumber?: number): Promise {\n const url = \"api/v1/Contacts/query\";\n\n const config = {\n params: {\n filter,\n include,\n order,\n pageSize,\n pageNumber,\n },\n };\n\n return APIClient.get(url, config).then((response) => {\n return response.data;\n });\n }\n\n /**\n * * DELETE on /api/v1/Contacts/{id}\n * @param id - Database ID associated the target contact\n * @returns Promise of type ActionResultModel or Exception\n */\n disableContact(id: string): Promise {\n const url = `api/v1/Contacts/${id}`;\n return APIClient.delete(url).then((response) => {\n return response.data;\n });\n }\n\n /**\n * * GET on /api/v1/Contacts/\n * @param id The id of the contact retrieving\n * @param include Specify options\n * @returns Promis of type Contact Model or Exception\n */\n getContact(id: string, include?: string): Promise {\n const url = `api/v1/Contacts/${id}`;\n const config = { params: { include } };\n return APIClient.get(url, config).then((response) => {\n return response.data;\n });\n }\n\n /**\n * * PATCH on /api/v1/Contacts/{id}\n * @param id - Database ID associated with a contact\n * @param body: The fields to change\n * @returns Promise of type ContactModel or Exception\n */\n patchContact(id: string, body: Partial): Promise {\n const url = `api/v1/Contacts/${id}`;\n return APIClient.patch(url, body).then((res) => res.data);\n }\n}\n","import APIClient from \"../APIClient\";\n\nexport class ApplicationsClient {\n /**\n * * GET on /api/v1/Applications/query\n * @param filter - The filter to use to select from the list of available apps (Searchlight query syntax)\n * @param include - Specify options\n * @param order - The sort order for the results (Searchlight query syntax)\n * @param pageSize - The page size for results (Defaults to 200, maximum of 1,000)\n * @param pageNumber - The page number for results (Defaults to 0)\n * @returns Promise of type AppModel or Exception\n */\n getApplications(filter?: string, include?: string, order?: string, pageSize?: number,\n pageNumber?: number): Promise {\n const url = \"api/v1/Applications/query\";\n\n const options = {\n params: {\n filter,\n include,\n order,\n pageSize,\n pageNumber,\n },\n };\n\n return APIClient.get(url, options).then(response => {\n return response.data;\n });\n }\n}\n","import APIClient from \"../APIClient\";\n\nexport class UserRolesClient {\n /**\n * * GET on /api/v1/UserRoles/{id}\n * @param id - Database ID associated with a user\n * @param include\n * @returns Promise of type UserRoleModel or Exception\n */\n get(id: string, include?: string): Promise {\n const url = `api/v1/UserRoles/${id}`;\n\n const options = {\n params: {\n include,\n },\n };\n\n return APIClient.get(url, options).then((res) => res.data);\n }\n\n /**\n * * GET on /api/v1/UserRoles/query\n * @param filter - The filter to use to select from the list of available apps (Searchlight query syntax)\n * @param include - Specify options\n * @param order - The sort order for the results (Searchlight query syntax)\n * @param pageSize - The page size for results (Defaults to 200, maximum of 1,000)\n * @param pageNumber - The page number for results (Defaults to 0)\n * @returns Promise of type UserRoleModelFetchResult or Exception\n */\n query(filter?: string, include?: string, order?: string, pageSize?: number, pageNumber?: number): Promise {\n const url = \"api/v1/UserRoles/query\";\n\n const config = {\n params: {\n filter,\n include,\n order,\n pageSize,\n pageNumber,\n },\n };\n\n return APIClient.get(url, config).then((res) => res.data);\n }\n}\n","import APIClient from \"../APIClient\";\n\nexport class NotesClient {\n /**\n * * GET on /api/v1/Notes/{id}\n * @param id - The unique ID number of the Note to retrieve\n * @param include - To fetch additional data on this object, specify the list of elements to retrieve.\n * @returns Promise of type NoteModel or Exception\n */\n get(id: string, include?: string): Promise {\n const url = `api/v1/Notes/${id}`;\n const options = {\n params: {\n include,\n },\n };\n return APIClient.get(url, options).then((res) => res.data);\n }\n\n /**\n * * DELETE on /api/v1/Notes/{id}\n * @param id - The unique ID number of the Note to retrieve\n * @returns Promise of type ActionResultModel or Exception\n */\n delete(id: string): Promise {\n const url = `api/v1/Notes/${id}`;\n return APIClient.delete(url).then((res) => res.data);\n }\n\n /**\n * * POST on /api/v1/Notes\n * @param body - Array of NoteModels to be posted\n * @returns Promise of type NoteModel[] or Exception\n */\n post(body: Partial[]): Promise {\n const url = \"api/v1/Notes\";\n return APIClient.post(url, body).then((res) => res.data);\n }\n\n /**\n * * GET on /api/v1/Notes/query\n * @param filter - The filter to use to select from the list of available apps (Searchlight query syntax)\n * @param include - Specify options\n * @param order - The sort order for the results (Searchlight query syntax)\n * @param pageSize - The page size for results (Defaults to 200, maximum of 1,000)\n * @param pageNumber - The page number for results (Defaults to 0)\n * @returns Promise of type NoteModelFetchResult or Exception\n */\n query(filter?: string, include?: string, order?: string, pageSize?: number, pageNumber?: number): Promise {\n const url = \"api/v1/Notes/query\";\n const options = {\n params: {\n filter,\n include,\n order,\n pageSize,\n pageNumber,\n },\n };\n return APIClient.get(url, options).then((res) => res.data);\n }\n}\n","import APIClient from \"../APIClient\";\n\nexport class DocumentsClient {\n /**\n * GET on /api/v1/Attachments/{id}/download\n * @param id - The unique ID number of the Attachment whose URI will be returned\n * @returns - a download link\n */\n download(id: string): Promise {\n const url = `api/v1/Attachments/${id}/download`;\n return APIClient.get(url).then((res) => res.data);\n }\n /**\n * DELETE on /api/v1/Attachments/{id}\n * @param id - The unique ID number of the Attachment being marked as archived.\n * @returns - a download link\n */\n archive(id: string): Promise {\n const url = `api/v1/Attachments/${id}`;\n return APIClient.delete(url).then((res) => res.data);\n }\n}\n","import { StatusClient } from \"./clients/StatusClient\";\nimport { CompaniesClient } from \"./clients/CompaniesClient\";\nimport { InvoicesClient } from \"./clients/InvoicesClient\";\nimport { ReportsClient } from \"./clients/ReportsClient\";\nimport { ActivitiesClient } from \"./clients/ActivitiesClient\";\nimport { LeadsClient } from \"./clients/LeadsClient\";\nimport { DefinitionsClient } from \"./clients/DefinitionsClient\";\nimport { ProvisioningClient } from \"./clients/ProvisioningClient\";\nimport { EnrollmentsClient } from \"./clients/EnrollmentsClient\";\nimport { PaymentsClient } from \"./clients/PaymentsClient\";\nimport { PaymentApplicationsClient } from \"./clients/PaymentApplicationsClient\";\nimport { SyncClient } from \"./clients/SyncClient\";\nimport { UserAccountsClient } from \"./clients/UserAccountsClient\";\nimport { ContactsClient } from \"./clients/ContactsClient\";\nimport { ApplicationsClient } from \"./clients/ApplicationsClient\";\nimport { CodeDefinitionsClient } from \"./clients/CodeDefinitionsClient\";\nimport { UserRolesClient } from \"./clients/UserRolesClient\";\nimport { NotesClient } from \"./clients/NotesClient\";\nimport { DocumentsClient } from \"./clients/DocumentsClient\";\n\nexport const statusClient = new StatusClient();\nexport const companiesClient = new CompaniesClient();\nexport const invoicesClient = new InvoicesClient();\nexport const reportsClient = new ReportsClient();\nexport const activitiesClient = new ActivitiesClient();\nexport const leadsClient = new LeadsClient();\nexport const definitionsClient = new DefinitionsClient();\nexport const provisioningClient = new ProvisioningClient();\nexport const enrollmentsClient = new EnrollmentsClient();\nexport const paymentsClient = new PaymentsClient();\nexport const paymentsApplicationsClient = new PaymentApplicationsClient();\nexport const syncClient = new SyncClient();\nexport const userAccountsClient = new UserAccountsClient();\nexport const contactsClient = new ContactsClient();\nexport const applicationsClient = new ApplicationsClient();\nexport const codeDefinitionsClient = new CodeDefinitionsClient();\nexport const userRolesClient = new UserRolesClient();\nexport const notesClient = new NotesClient();\nexport const documentsClient = new DocumentsClient();\n","import APIClient from \"../APIClient\";\n\nexport class DefinitionsClient {\n public getUnsupportedERPs = (): Promise => {\n const url = \"api/v1/Definitions/financialsystems?filter=IsSupported eq false\";\n\n return APIClient.get(url, undefined, true).then(response => {\n return response.data.records;\n });\n }\n\n public getCurrencies = (): Promise => {\n const url = \"api/v1/Definitions/currencies\";\n\n return APIClient.get(url, undefined, true).then(response => {\n return response.data.records;\n });\n };\n}\n","import APIClient from \"../APIClient\";\n\nexport class CodeDefinitionsClient {\n public getCodeDefinition = (id: string, include?: string): Promise => {\n const url = `api/v1/CodeDefinitions/${id}`;\n\n const options = {\n params: {\n include,\n },\n };\n\n return APIClient.get(url, options).then((res) => res.data);\n };\n\n public queryCodeDefinitions = (\n filter?: string,\n include?: string,\n order?: string,\n pageSize?: number,\n pageNumber?: number\n ): Promise => {\n const url = \"api/v1/CodeDefinitions/query\";\n\n const options = {\n params: {\n filter,\n include,\n order,\n pageSize,\n pageNumber,\n },\n };\n\n return APIClient.get(url, options).then((response) => {\n return response.data;\n });\n };\n}\n","// Docs: https://docs.microsoft.com/en-us/azure/azure-monitor/app/javascript-react-plugin\n// https://docs.microsoft.com/en-us/azure/azure-monitor/app/javascript\nimport { ApplicationInsights } from \"@microsoft/applicationinsights-web\";\nimport { ReactPlugin } from \"@microsoft/applicationinsights-react-js\";\nimport { createBrowserHistory } from \"history\";\n\nconst reactPlugin = new ReactPlugin();\n\nlet appInsights: ApplicationInsights | null = null;\nconst instrumentationKey = process.env.REACT_APP_APP_INSIGHTS_KEY;\nif (instrumentationKey) {\n const browserHistory = createBrowserHistory({ basename: \"\" });\n appInsights = new ApplicationInsights({\n config: {\n instrumentationKey: instrumentationKey,\n extensions: [reactPlugin],\n extensionConfig: {\n [reactPlugin.identifier]: { history: browserHistory },\n },\n },\n });\n appInsights.loadAppInsights();\n}\n\nexport { reactPlugin, appInsights };\n","import React, { useState } from \"react\";\nimport { CookiesProvider } from \"react-cookie\";\n\nimport { msalInstance } from \"..\";\nimport { statusClient, leadsClient, reportsClient, syncClient, userRolesClient } from \"../db/accessor\";\nimport { appInsights } from \"../AppInsights\";\nimport { UserRoles, UserActions } from \"../types/enums\";\n\nexport const AppContext = React.createContext(null);\n\nexport interface Props {\n children: (React.ReactNode & { type: string })[] | (React.ReactNode & { type: string });\n}\n\nconst AppProvider: React.FC = ({ children }: Props) => {\n const [selectedERP, setSelectedERP] = useState(null);\n const [syncError, setSyncError] = useState(false);\n const [erpConnectionError, setERPConnectionError] = useState(false);\n const [initialSyncInProgress, setInitialSyncInProgress] = useState(true);\n const [userStatus, setUserStatus] = useState({\n userName: \"\",\n accountName: \"\",\n accountCompanyId: \"\",\n userId: \"\",\n groupKey: \"\",\n loggedIn: false,\n errorMessage: \"\",\n roles: [],\n lastLoggedIn: null,\n dependencies: null,\n });\n const [initialLoad, setInitialLoad] = useState(true);\n const [userAccountName, setUserAccountName] = useState(\"\");\n const [userRoles, setUserRoles] = useState([]);\n\n const [onboardData, setOnboardData] = useState({\n fullName: \"\",\n timeZone: \"\",\n defaultCurrency: \"USD\",\n erp: {\n name: \"\",\n appId: \"\",\n data: {\n authCode: \"\",\n realmId: \"\",\n },\n },\n company: {\n defaultCurrencyCode: \"USD\",\n country: \"United States\",\n },\n });\n\n const permissionMap = new Map();\n permissionMap.set(UserActions.AddNote, [UserRoles.GroupOwner, UserRoles.GroupAdmin, UserRoles.Member]);\n permissionMap.set(UserActions.InvitationsCheckbox, [UserRoles.GroupOwner, UserRoles.GroupAdmin]);\n permissionMap.set(UserActions.InvitationsRemind, [UserRoles.GroupOwner, UserRoles.GroupAdmin]);\n permissionMap.set(UserActions.InvitationsRemove, [UserRoles.GroupOwner, UserRoles.GroupAdmin]);\n permissionMap.set(UserActions.InviteMembers, [UserRoles.GroupOwner, UserRoles.GroupAdmin]);\n permissionMap.set(UserActions.InvitationsChangeRole, [UserRoles.GroupOwner, UserRoles.GroupAdmin]);\n permissionMap.set(UserActions.RemovedMembersInvite, [UserRoles.GroupOwner, UserRoles.GroupAdmin]);\n permissionMap.set(UserActions.RemovedMembersCheckbox, [UserRoles.GroupOwner, UserRoles.GroupAdmin]);\n permissionMap.set(UserActions.ActiveMembersCheckbox, [UserRoles.GroupOwner, UserRoles.GroupAdmin]);\n permissionMap.set(UserActions.ActiveMembersRemove, [UserRoles.GroupOwner, UserRoles.GroupAdmin]);\n permissionMap.set(UserActions.ChangeRoles, [UserRoles.GroupOwner, UserRoles.GroupAdmin]);\n permissionMap.set(UserActions.EditMyProfile, [UserRoles.GroupOwner, UserRoles.GroupAdmin, UserRoles.Member]);\n permissionMap.set(UserActions.EditMyCompany, [UserRoles.GroupOwner, UserRoles.GroupAdmin, UserRoles.Member]);\n permissionMap.set(UserActions.AddEmailClient, [UserRoles.GroupOwner, UserRoles.GroupAdmin]);\n permissionMap.set(UserActions.EditAccountingSoftware, [UserRoles.GroupOwner, UserRoles.GroupAdmin]);\n permissionMap.set(UserActions.RunSync, [UserRoles.Member, UserRoles.GroupOwner, UserRoles.GroupAdmin]);\n\n async function getARHeader(reportDate: string, companyId?: string): Promise {\n return reportsClient.getARHeader(reportDate, companyId).then((data: ArHeaderInfoModel) => {\n return data;\n });\n }\n\n async function getDocumentsHeader(companyId?: string): Promise {\n return reportsClient.getAttachmentsHeader(companyId).then((data: AttachmentHeaderInfoModel) => {\n return data;\n });\n }\n\n // GET on /api/v1/Reports/ar-aging-header\n async function getArAgingHeader(): Promise {\n return reportsClient.getAging().then((data: ArAgingHeaderInfoModel[]) => {\n // 91+ -> ... -> Future Due\n data.sort((left: ArAgingHeaderInfoModel, right: ArAgingHeaderInfoModel) => ((left?.reportBucket ?? \"\") < (right?.reportBucket ?? \"\") ? 1 : -1));\n return data;\n });\n }\n\n // Clears the user's session and redirects back to login\n function logout(): void {\n const currentAccount = msalInstance.getActiveAccount();\n\n msalInstance.logoutRedirect({\n account: currentAccount,\n postLogoutRedirectUri: window.location.origin,\n });\n\n appInsights?.clearAuthenticatedUserContext();\n }\n\n function getTokenFromQueryString(): string | null {\n const urlParams = new URLSearchParams(window.location.search);\n\n if (!urlParams.has(\"id_token\")) {\n return null;\n } else {\n return String(urlParams.get(\"id_token\"));\n }\n }\n\n async function getStatus(): Promise {\n const response = await statusClient.getStatus().then((data: StatusModel) => {\n setUserStatus(data);\n setUserAccountName(data?.accountName ?? \"\");\n return data;\n });\n await userRolesClient\n .query()\n .then((data: UserRoleModelFetchResult) => {\n setUserRoles(data?.records?.sort((a: UserRoleModel, b: UserRoleModel) => (a.userRoleId < b.userRoleId ? -1 : 1)) ?? []);\n })\n .catch(() => {\n setUserRoles([]);\n });\n setInitialLoad(false);\n return response;\n }\n\n function hasPermission(action: string) {\n if (action) {\n return permissionMap.get(action).some((role: string) => userStatus.roles?.includes(role));\n } else {\n return false;\n }\n }\n\n async function createLead(leadData: LeadsModel[]): Promise {\n return leadsClient.createLead(leadData);\n }\n\n async function getSyncStatus(syncRequestId: string, includeDetails?: boolean): Promise {\n return syncClient.getSyncStatus(syncRequestId, includeDetails);\n }\n\n return (\n \n {children}\n \n );\n};\n\nexport default AppProvider;\n","class Utils {\n public static validEmail = (email: string): boolean => {\n // eslint-disable-next-line no-useless-escape\n const mailformat = new RegExp(/^(([^<>()\\[\\]\\\\.,;:\\s@\"]+(\\.[^<>()\\[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/);\n\n return !!email.match(mailformat);\n };\n\n /* eslint-disable @typescript-eslint/explicit-module-boundary-types, @typescript-eslint/no-explicit-any */\n public static openPopup = (url: string, windowName: string, window: any, width: number, height: number): void => {\n const top = window.top.outerHeight / 2 + window.top.screenY - height / 2;\n const left = window.top.outerWidth / 2 + window.top.screenX - width / 2;\n\n window.open(\n url,\n windowName,\n `toolbar=no, location=no, directories=no, status=no, menubar=no, scrollbars=no, resizable=no, copyhistory=no, width=${width}, height=${height}, top=${top}, left=${left}`\n );\n };\n\n public static getFullStoryConfig(): { fullStoryId: string; forceEnableFullStory: boolean } {\n return {\n fullStoryId: \"G2QXT\",\n forceEnableFullStory: false,\n };\n }\n\n public static getIntercomAppId(): string {\n return \"a6npq4d0\";\n }\n\n public static shouldEnableIntercom(): boolean {\n return this.isSandbox() || this.isProduction();\n }\n\n public static isLocal(): boolean {\n return process.env.REACT_APP_ENV === \"local\";\n }\n\n public static isDev(): boolean {\n return process.env.REACT_APP_ENV === \"dev\";\n }\n\n public static isDevQA(): boolean {\n return process.env.REACT_APP_ENV === \"devqa\";\n }\n\n public static isQA(): boolean {\n return process.env.REACT_APP_ENV === \"qa\";\n }\n\n public static isSandbox(): boolean {\n return process.env.REACT_APP_ENV === \"sbx\";\n }\n\n public static isProduction(): boolean {\n return process.env.REACT_APP_ENV === \"prod\";\n }\n\n public static formatPhoneNumber(number: string): string {\n const cleaned = (\"\" + number).replace(/\\D/g, \"\");\n const match = cleaned.match(/^(1|)?(\\d{3})(\\d{3})(\\d{4})$/);\n\n if (match) {\n const intlCode = match[1] ? \"+1 \" : \"\";\n\n return `${intlCode}(${match[2]}) ${match[3]}-${match[4]}`;\n }\n\n return number;\n }\n\n /**\n * Returns proper pluralization for the supplied label based on the amount.\n *\n * @param amount Number of items being counted\n * @param label The label for a single unit of the supplied list.\n *\n * e.x. - formatLabelPluralization(2, Company) should return Companies\n */\n public static formatLabelPluralization(amount: number, label: string): string {\n // Singular\n if (amount === 1) {\n return label;\n }\n\n // Pluralize\n const lastChar = label.length - 1;\n\n if (label.charAt(lastChar) !== \"y\") {\n return `${label}s`;\n } else {\n return `${label.substring(0, lastChar)}ies`;\n }\n }\n\n public static testSanityCheck() {\n return true;\n }\n\n public static delay(ms: number) {\n return new Promise((resolve) => {\n setTimeout(resolve, ms);\n });\n }\n\n /**\n * This function is used to consume a direct download link and trigger this in the browser.\n * @param uri direct download link object from api\n */\n public static downloadItem = async (uri: any) => {\n const url = uri.downloadLink;\n const link = document.createElement(\"a\");\n link.href = url;\n link.setAttribute(\"download\", \"file.txt\");\n document.body.appendChild(link);\n await Utils.delay(500);\n link.click();\n document.body.removeChild(link);\n };\n}\n\nexport default Utils;\n","export default __webpack_public_path__ + \"static/media/qb-logo.33caf6f7.svg\";","export default __webpack_public_path__ + \"static/media/XeroLogo.e31ce732.svg\";","import React, { useEffect, useState, MouseEvent } from \"react\";\nimport LoadingDots from \"../../library/Loading/LoadingDots\";\nimport Button from \"../../library/Button/Button\";\nimport { BackArrow } from \"../../library/Icons/Icons\";\nimport { OnboardContext } from \"../../../contexts/OnboardContext\";\nimport { AppContext } from \"../../../contexts/AppContext\";\nimport { buildAuthRedirectURL } from \"../../../auth/authConfig\";\nimport Utils from \"../../../utils/utils\";\nimport { OnboardStep } from \"../../../types/enums\";\nimport QuickbooksLogo from \"../../../assets/qb-logo.svg\";\nimport XeroLogo from \"../../../assets/XeroLogo.svg\";\nimport \"./ERPSelect.scss\";\n\nconst erpList: ERPModel[] = [\n {\n name: \"Quickbooks Online\",\n appId: \"00000000-0000-0000-0000-000000000001\",\n iconUrl: QuickbooksLogo,\n width: \"171px\",\n },\n {\n name: \"Xero\",\n appId: \"00000000-0000-0000-0000-000000000002\",\n iconUrl: XeroLogo,\n width: \"100px\",\n },\n {\n name: \"Other\",\n appId: \"\",\n iconUrl: \"\",\n width: \"\",\n },\n];\n\nfunction ERPSelect(): React.ReactElement {\n const { setOnboardStep } = React.useContext(OnboardContext) as OnboardType;\n const { selectedERP, setSelectedERP, setOnboardData } = React.useContext(AppContext) as AppType;\n const [showBackButton, setShowBackButton] = useState(false);\n\n const handleOpenPopup = (e: MouseEvent, erp: ERPModel) => {\n e.preventDefault();\n\n setOnboardData((prev: OnboardDataModel) => {\n return { ...prev, erp: { name: erp.name, appId: erp.appId, data: { authCode: \"\", realmId: \"\" } } };\n });\n setSelectedERP(erp);\n setShowBackButton(true);\n\n const url = buildAuthRedirectURL(erp.name, erp.appId);\n Utils.openPopup(url, \"\", window, 900, 800);\n };\n\n const handleGoBack = () => {\n setOnboardData((prev: OnboardDataModel) => {\n return { ...prev, erp: { name: \"\", appId: \"\", data: { authCode: \"\", realmId: \"\" } } };\n });\n setSelectedERP(null);\n setShowBackButton(false);\n };\n\n // Handle Authorization Code message from ERP Connector\n useEffect(() => {\n const handleMessage = (event: MessageEvent) => {\n if (event.origin === window.location.origin && event.data.type === \"auth_code\") {\n setOnboardData((prev: OnboardDataModel) => {\n return {\n ...prev,\n erp: { name: event.data.erp, appId: event.data.appId, data: { authCode: event.data.code, realmId: event.data.realmId } },\n };\n });\n setOnboardStep(OnboardStep.CreateAccount);\n }\n };\n window.addEventListener(\"message\", handleMessage);\n return () => {\n window.removeEventListener(\"message\", handleMessage);\n };\n }, []);\n\n return (\n
\n {showBackButton && (\n }\n alignIcon=\"left\"\n onClick={() => handleGoBack()}\n data-testid=\"SelectERPGoBack\"\n >\n Select Your Accounting System\n \n )}\n\n {!selectedERP ? (\n <>\n

Let's get started.

\n

\n In order to show you the best insights about your accounts receivable team, we will need to connect to your team's accounting system.\n Please select one of the options below to get started.\n

\n
\n {erpList.map((option) => {\n const isOther = option.name === \"Other\";\n return (\n ) => {\n if (isOther) {\n setOnboardStep(OnboardStep.OtherERP);\n setSelectedERP(null);\n } else {\n handleOpenPopup(e, option);\n }\n }}\n data-testid={`SelectERP${option.name}Button`}\n >\n {isOther ? <>{option.name} : {option.name}}\n
\n );\n })}\n
\n \n ) : (\n <>\n

Connecting...

\n

\n Please wait while we establish a connection with {selectedERP.name}. In a few moments you will see a pop-up window open\n requesting you to enter your {selectedERP.name} information. This process is totally secure and will link your accounts with Lockstep\n quickly and easily.\n

\n

\n ) => {\n handleOpenPopup(e, selectedERP);\n }}\n >\n Click here\n {\" \"}\n if your window does not open in 5 seconds. Make sure you have pop-up blockers turned off.\n

\n \n \n )}\n
\n );\n}\n\nexport default ERPSelect;\n","import React, { ChangeEvent, KeyboardEvent } from \"react\";\nimport { Search } from \"../Icons/Icons\";\nimport \"./Input.scss\";\n\ntype LabelObject = {\n regularText: string;\n extraText: string;\n};\n\ninterface SearchBarProps {\n placeholder?: string;\n defaultValue?: string | null;\n label?: string | LabelObject;\n onChange?: (val: string) => void;\n onKeyDown?: (e: KeyboardEvent) => void;\n className?: string;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n inputRef?: any;\n type?: string;\n autocomplete?: string;\n required?: boolean;\n value?: string;\n disabled?: boolean;\n errorMessage?: string;\n icon?: React.ReactNode;\n maxLength?: number;\n}\n\nexport function Input(props: SearchBarProps): React.ReactElement {\n const isLabelObject = (x: string | LabelObject): x is LabelObject => true;\n const inputId = typeof props?.label === \"string\" ? props?.label : props?.label?.regularText;\n\n return (\n
\n {props?.label &&\n (typeof props?.label === \"string\" ? (\n \n \n \n ) : isLabelObject(props?.label) ? (\n \n \n \n ) : (\n <>\n ))}\n\n ) => (props.onChange ? props.onChange(e.target.value) : null)}\n onKeyDown={props.onKeyDown}\n defaultValue={props.defaultValue ?? undefined}\n ref={props.inputRef ?? undefined}\n autoComplete={props.autocomplete ?? undefined}\n type={props.type ?? undefined}\n required={props.required}\n disabled={props.disabled}\n value={props.value ?? undefined}\n maxLength={props.maxLength}\n style={props.errorMessage ? { border: \"1px solid #e54646\" } : {}}\n />\n {props?.errorMessage && (\n \n \n \n )}\n
\n );\n}\n\nexport function InputWithIcon(props: SearchBarProps): React.ReactElement {\n const inputId = typeof props?.label === \"string\" ? props?.label : props?.label?.regularText;\n\n return (\n
\n {props?.label ? (\n \n ) : (\n <>\n )}\n\n
\n ) => (props.onChange ? props.onChange(e.target.value) : null)}\n onKeyDown={props.onKeyDown}\n defaultValue={props.defaultValue ?? undefined}\n required={props.required}\n value={props.value ?? undefined}\n maxLength={props.maxLength}\n />\n {props.icon || }\n
\n
\n );\n}\n","import React from \"react\";\nimport { AutocompleteProps as MuiAutocompleteProps } from \"@mui/material\";\nimport { UseAutocompleteProps as MuiUseAutocompleteProps } from \"@mui/core\";\nimport { Autocomplete as MUIAutocomplete } from \"@mui/material\";\nimport { DropdownArrow } from \"../Icons/Icons\";\nimport \"./Autocomplete.scss\";\n\ntype AutocompleteProps = MuiAutocompleteProps &\n MuiUseAutocompleteProps & {\n className?: string;\n staticIcon?: boolean; // Disable icon flip\n };\n\nexport default function Autocomplete({ className, staticIcon, ...rest }: AutocompleteProps): React.ReactElement {\n return ;\n}\n\nAutocomplete.defaultProps = {\n forcePopupIcon: true,\n popupIcon: ,\n};\n","import React, { useState, useEffect, useRef } from \"react\";\nimport { TextField } from \"@mui/material\";\nimport Button from \"../../library/Button/Button\";\nimport { Input } from \"../../library/Input/Input\";\nimport Autocomplete from \"../../library/Autocomplete/Autocomplete\";\nimport { OnboardContext } from \"../../../contexts/OnboardContext\";\nimport { AppContext } from \"../../../contexts/AppContext\";\nimport { DataMode } from \"../../../types/enums\";\n\ntype EditPersonalInfoProps = {\n supportedCurrencies: { id: string; label: string }[];\n showCancel: boolean;\n};\n\nfunction EditPersonalInfo(props: EditPersonalInfoProps): React.ReactElement {\n const { setDataMode } = React.useContext(OnboardContext) as OnboardType;\n const { setOnboardData, onboardData } = React.useContext(AppContext) as AppType;\n const nameRef = useRef();\n const [name, setName] = useState(onboardData.fullName || \"\");\n const [currency, setCurrency] = useState<{ id: string; label: string }>(\n props.supportedCurrencies.find((val) => val.id === onboardData.defaultCurrency) ?? props.supportedCurrencies[0]\n );\n\n const handleSave = () => {\n setOnboardData((prev: OnboardDataModel) => {\n return {\n ...prev,\n fullName: name,\n defaultCurrency: currency.id,\n company: { ...prev.company, defaultCurrencyCode: currency.id },\n };\n });\n setDataMode(DataMode.View);\n };\n\n const handleCancel = () => {\n setDataMode(DataMode.View);\n };\n\n useEffect(() => {\n if (nameRef.current) {\n nameRef.current.focus();\n }\n }, []);\n\n return (\n <>\n

Enter your personal information.

\n
e.preventDefault()}>\n
\n setName(val)}\n placeholder=\"Salvatore Boone\"\n className=\"form-field\"\n autocomplete=\"name\"\n data-testid=\"EditPersonalInfoName\"\n />\n \n \n \n
\n
\n
\n
\n \n {\n setCurrency(value);\n }}\n disableClearable\n renderInput={(params) => (\n \n )}\n isOptionEqualToValue={(option, value) => option.id === value.id}\n />\n
\n
\n
\n \n {props.showCancel && (\n \n )}\n
\n
\n \n );\n}\n\nexport default EditPersonalInfo;\n","import React, { useState } from \"react\";\nimport Button from \"../../library/Button/Button\";\nimport { Edit } from \"../../library/Icons/Icons\";\nimport { OnboardContext } from \"../../../contexts/OnboardContext\";\nimport { AppContext } from \"../../../contexts/AppContext\";\nimport { DataMode, OnboardStep } from \"../../../types/enums\";\nimport { provisioningClient } from \"../../../db/accessor\";\nimport { useHistory } from \"react-router-dom\";\n\ntype ViewPersonalInfoProps = {\n setShowCancel: (prev: boolean) => void;\n supportedCurrencies: { id: string; label: string }[];\n};\n\nfunction ViewPersonalInfo(props: ViewPersonalInfoProps): React.ReactElement {\n const history = useHistory();\n const { setOnboardStep, setDataMode, isInvited, bearerToken } = React.useContext(OnboardContext) as OnboardType;\n const { onboardData } = React.useContext(AppContext) as AppType;\n const [isLoading, setLoading] = useState(false);\n\n const handleSubmit = async () => {\n // Invite flow (Early Exit)\n if (isInvited) {\n setLoading(true);\n const body = {\n fullName: onboardData.fullName,\n defaultCurrency: onboardData.defaultCurrency,\n timeZone: onboardData.timeZone,\n } as OnboardDataModel;\n await provisioningClient.finalize(bearerToken, body).then(() => {\n history.push(\"/\");\n });\n setLoading(false);\n }\n // Default flow\n else {\n setOnboardStep(OnboardStep.CompanyInfo);\n setDataMode(DataMode.Edit);\n }\n };\n\n const handleEdit = () => {\n setDataMode(DataMode.Edit);\n props.setShowCancel(true);\n };\n return (\n <>\n

Looking good!

\n\n

Take a moment to make sure your personal information is correct.

\n\n
\n\n
\n
\n
\n
Your Name
\n
\n {onboardData.fullName}\n
\n
\n\n
\n
Email Address
\n
\n {onboardData.email}\n
\n
\n
\n\n
\n
\n
Primary Currency
\n
\n {props.supportedCurrencies.find((val: { id: string; label: string }) => val.id === onboardData.defaultCurrency)?.label ?? \"\"}\n
\n
\n
\n
\n\n
\n \n\n \n
\n \n );\n}\n\nexport default ViewPersonalInfo;\n","import React, { useState, useEffect } from \"react\";\nimport { OnboardContext } from \"../../../contexts/OnboardContext\";\nimport { DataMode } from \"../../../types/enums\";\nimport { default as Edit } from \"./EditPersonalInfo\";\nimport { default as View } from \"./ViewPersonalInfo\";\nimport { definitionsClient } from \"../../../db/accessor\";\nimport \"./PersonalInfo.scss\";\n\n// TODO: The currency API currently includes certain values that aren't likely to be selected as a default currency, so we won't show them. See\n// TODO: work item 8199 for modifying the API to exclude these values if possible.\nconst filteredValues: { [key: string]: string } = {\n XBA: \"Bond Markets Unit European Composite Unit (EURCO)\",\n XBB: \"Bond Markets Unit European Monetary Unit (E.M.U.-6)\",\n XBC: \"Bond Markets Unit European Unit of Account 9 (E.U.A.-9)\",\n XBD: \"Bond Markets Unit European Unit of Account 17 (E.U.A.-17)\",\n XTS: \"Codes specifically reserved for testing purposes\",\n XXX: \"The codes assigned for transactions where no currency is involved\",\n};\n\nfunction PersonalInfo(): React.ReactElement {\n const { dataMode } = React.useContext(OnboardContext) as OnboardType;\n const [supportedCurrencies, setSupportedCurrencies] = useState<{ id: string; label: string }[]>([]);\n const [showCancel, setShowCancel] = useState(false);\n\n useEffect(() => {\n (async function getCurrencies() {\n setSupportedCurrencies(\n (await definitionsClient.getCurrencies())\n .filter((currency: CurrencyModel) => {\n return !filteredValues[currency.alphaCode];\n })\n .map((currency: CurrencyModel) => {\n return {\n id: currency.alphaCode,\n label: `${currency.currencyName}${currency.symbol ? ` (${currency.symbol})` : \"\"}`,\n };\n })\n .sort((lVal, rVal) => {\n return lVal.label.localeCompare(rVal.label);\n })\n );\n })();\n }, []);\n\n return (\n
\n {supportedCurrencies.length ? (\n <>\n {dataMode === DataMode.Edit && }\n {dataMode === DataMode.View && }\n \n ) : <>}\n
\n );\n}\n\nexport default PersonalInfo;\n","//TODO: Remove this file when the country/state APIs are hooked up\nexport const countries = [\n {label: \"Afghanistan\", id: \"AF\"},\n {label: \"Ã…land Islands\", id: \"AX\"},\n {label: \"Albania\", id: \"AL\"},\n {label: \"Algeria\", id: \"DZ\"},\n {label: \"American Samoa\", id: \"AS\"},\n {label: \"Andorra\", id: \"AD\"},\n {label: \"Angola\", id: \"AO\"},\n {label: \"Anguilla\", id: \"AI\"},\n {label: \"Antarctica\", id: \"AQ\"},\n {label: \"Antigua and Barbuda\", id: \"AG\"},\n {label: \"Argentina\", id: \"AR\"},\n {label: \"Armenia\", id: \"AM\"},\n {label: \"Aruba\", id: \"AW\"},\n {label: \"Australia\", id: \"AU\"},\n {label: \"Austria\", id: \"AT\"},\n {label: \"Azerbaijan\", id: \"AZ\"},\n {label: \"Bahamas\", id: \"BS\"},\n {label: \"Bahrain\", id: \"BH\"},\n {label: \"Bangladesh\", id: \"BD\"},\n {label: \"Barbados\", id: \"BB\"},\n {label: \"Belarus\", id: \"BY\"},\n {label: \"Belgium\", id: \"BE\"},\n {label: \"Belize\", id: \"BZ\"},\n {label: \"Benin\", id: \"BJ\"},\n {label: \"Bermuda\", id: \"BM\"},\n {label: \"Bhutan\", id: \"BT\"},\n {label: \"Bolivia\", id: \"BO\"},\n {label: \"Bosnia and Herzegovina\", id: \"BA\"},\n {label: \"Botswana\", id: \"BW\"},\n {label: \"Bouvet Island\", id: \"BV\"},\n {label: \"Brazil\", id: \"BR\"},\n {label: \"British Indian Ocean Territory\", id: \"IO\"},\n {label: \"Brunei Darussalam\", id: \"BN\"},\n {label: \"Bulgaria\", id: \"BG\"},\n {label: \"Burkina Faso\", id: \"BF\"},\n {label: \"Burundi\", id: \"BI\"},\n {label: \"Cambodia\", id: \"KH\"},\n {label: \"Cameroon\", id: \"CM\"},\n {label: \"Canada\", id: \"CA\"},\n {label: \"Cape Verde\", id: \"CV\"},\n {label: \"Cayman Islands\", id: \"KY\"},\n {label: \"Central African Republic\", id: \"CF\"},\n {label: \"Chad\", id: \"TD\"},\n {label: \"Chile\", id: \"CL\"},\n {label: \"China\", id: \"CN\"},\n {label: \"Christmas Island\", id: \"CX\"},\n {label: \"Cocos (Keeling) Islands\", id: \"CC\"},\n {label: \"Colombia\", id: \"CO\"},\n {label: \"Comoros\", id: \"KM\"},\n {label: \"Congo\", id: \"CG\"},\n {label: \"Congo, The Democratic Republic of the\", id: \"CD\"},\n {label: \"Cook Islands\", id: \"CK\"},\n {label: \"Costa Rica\", id: \"CR\"},\n {label: \"Cote D'Ivoire\", id: \"CI\"},\n {label: \"Croatia\", id: \"HR\"},\n {label: \"Cuba\", id: \"CU\"},\n {label: \"Cyprus\", id: \"CY\"},\n {label: \"Czech Republic\", id: \"CZ\"},\n {label: \"Denmark\", id: \"DK\"},\n {label: \"Djibouti\", id: \"DJ\"},\n {label: \"Dominica\", id: \"DM\"},\n {label: \"Dominican Republic\", id: \"DO\"},\n {label: \"Ecuador\", id: \"EC\"},\n {label: \"Egypt\", id: \"EG\"},\n {label: \"El Salvador\", id: \"SV\"},\n {label: \"Equatorial Guinea\", id: \"GQ\"},\n {label: \"Eritrea\", id: \"ER\"},\n {label: \"Estonia\", id: \"EE\"},\n {label: \"Ethiopia\", id: \"ET\"},\n {label: \"Falkland Islands (Malvinas)\", id: \"FK\"},\n {label: \"Faroe Islands\", id: \"FO\"},\n {label: \"Fiji\", id: \"FJ\"},\n {label: \"Finland\", id: \"FI\"},\n {label: \"France\", id: \"FR\"},\n {label: \"French Guiana\", id: \"GF\"},\n {label: \"French Polynesia\", id: \"PF\"},\n {label: \"French Southern Territories\", id: \"TF\"},\n {label: \"Gabon\", id: \"GA\"},\n {label: \"Gambia\", id: \"GM\"},\n {label: \"Georgia\", id: \"GE\"},\n {label: \"Germany\", id: \"DE\"},\n {label: \"Ghana\", id: \"GH\"},\n {label: \"Gibraltar\", id: \"GI\"},\n {label: \"Greece\", id: \"GR\"},\n {label: \"Greenland\", id: \"GL\"},\n {label: \"Grenada\", id: \"GD\"},\n {label: \"Guadeloupe\", id: \"GP\"},\n {label: \"Guam\", id: \"GU\"},\n {label: \"Guatemala\", id: \"GT\"},\n {label: \"Guernsey\", id: \"GG\"},\n {label: \"Guinea\", id: \"GN\"},\n {label: \"Guinea-Bissau\", id: \"GW\"},\n {label: \"Guyana\", id: \"GY\"},\n {label: \"Haiti\", id: \"HT\"},\n {label: \"Heard Island and Mcdonald Islands\", id: \"HM\"},\n {label: \"Holy See (Vatican City State)\", id: \"VA\"},\n {label: \"Honduras\", id: \"HN\"},\n {label: \"Hong Kong\", id: \"HK\"},\n {label: \"Hungary\", id: \"HU\"},\n {label: \"Iceland\", id: \"IS\"},\n {label: \"India\", id: \"IN\"},\n {label: \"Indonesia\", id: \"ID\"},\n {label: \"Iran, Islamic Republic Of\", id: \"IR\"},\n {label: \"Iraq\", id: \"IQ\"},\n {label: \"Ireland\", id: \"IE\"},\n {label: \"Isle of Man\", id: \"IM\"},\n {label: \"Israel\", id: \"IL\"},\n {label: \"Italy\", id: \"IT\"},\n {label: \"Jamaica\", id: \"JM\"},\n {label: \"Japan\", id: \"JP\"},\n {label: \"Jersey\", id: \"JE\"},\n {label: \"Jordan\", id: \"JO\"},\n {label: \"Kazakhstan\", id: \"KZ\"},\n {label: \"Kenya\", id: \"KE\"},\n {label: \"Kiribati\", id: \"KI\"},\n {label: \"Korea, Democratic People's Republic of\", id: \"KP\"},\n {label: \"Korea, Republic of\", id: \"KR\"},\n {label: \"Kuwait\", id: \"KW\"},\n {label: \"Kyrgyzstan\", id: \"KG\"},\n {label: \"Lao People's Democratic Republic\", id: \"LA\"},\n {label: \"Latvia\", id: \"LV\"},\n {label: \"Lebanon\", id: \"LB\"},\n {label: \"Lesotho\", id: \"LS\"},\n {label: \"Liberia\", id: \"LR\"},\n {label: \"Libyan Arab Jamahiriya\", id: \"LY\"},\n {label: \"Liechtenstein\", id: \"LI\"},\n {label: \"Lithuania\", id: \"LT\"},\n {label: \"Luxembourg\", id: \"LU\"},\n {label: \"Macao\", id: \"MO\"},\n {label: \"Macedonia, The Former Yugoslav Republic of\", id: \"MK\"},\n {label: \"Madagascar\", id: \"MG\"},\n {label: \"Malawi\", id: \"MW\"},\n {label: \"Malaysia\", id: \"MY\"},\n {label: \"Maldives\", id: \"MV\"},\n {label: \"Mali\", id: \"ML\"},\n {label: \"Malta\", id: \"MT\"},\n {label: \"Marshall Islands\", id: \"MH\"},\n {label: \"Martinique\", id: \"MQ\"},\n {label: \"Mauritania\", id: \"MR\"},\n {label: \"Mauritius\", id: \"MU\"},\n {label: \"Mayotte\", id: \"YT\"},\n {label: \"Mexico\", id: \"MX\"},\n {label: \"Micronesia, Federated States of\", id: \"FM\"},\n {label: \"Moldova, Republic of\", id: \"MD\"},\n {label: \"Monaco\", id: \"MC\"},\n {label: \"Mongolia\", id: \"MN\"},\n {label: \"Montserrat\", id: \"MS\"},\n {label: \"Morocco\", id: \"MA\"},\n {label: \"Mozambique\", id: \"MZ\"},\n {label: \"Myanmar\", id: \"MM\"},\n {label: \"Namibia\", id: \"NA\"},\n {label: \"Nauru\", id: \"NR\"},\n {label: \"Nepal\", id: \"NP\"},\n {label: \"Netherlands\", id: \"NL\"},\n {label: \"Netherlands Antilles\", id: \"AN\"},\n {label: \"New Caledonia\", id: \"NC\"},\n {label: \"New Zealand\", id: \"NZ\"},\n {label: \"Nicaragua\", id: \"NI\"},\n {label: \"Niger\", id: \"NE\"},\n {label: \"Nigeria\", id: \"NG\"},\n {label: \"Niue\", id: \"NU\"},\n {label: \"Norfolk Island\", id: \"NF\"},\n {label: \"Northern Mariana Islands\", id: \"MP\"},\n {label: \"Norway\", id: \"NO\"},\n {label: \"Oman\", id: \"OM\"},\n {label: \"Pakistan\", id: \"PK\"},\n {label: \"Palau\", id: \"PW\"},\n {label: \"Palestinian Territory, Occupied\", id: \"PS\"},\n {label: \"Panama\", id: \"PA\"},\n {label: \"Papua New Guinea\", id: \"PG\"},\n {label: \"Paraguay\", id: \"PY\"},\n {label: \"Peru\", id: \"PE\"},\n {label: \"Philippines\", id: \"PH\"},\n {label: \"Pitcairn\", id: \"PN\"},\n {label: \"Poland\", id: \"PL\"},\n {label: \"Portugal\", id: \"PT\"},\n {label: \"Puerto Rico\", id: \"PR\"},\n {label: \"Qatar\", id: \"QA\"},\n {label: \"Reunion\", id: \"RE\"},\n {label: \"Romania\", id: \"RO\"},\n {label: \"Russian Federation\", id: \"RU\"},\n {label: \"RWANDA\", id: \"RW\"},\n {label: \"Saint Helena\", id: \"SH\"},\n {label: \"Saint Kitts and Nevis\", id: \"KN\"},\n {label: \"Saint Lucia\", id: \"LC\"},\n {label: \"Saint Pierre and Miquelon\", id: \"PM\"},\n {label: \"Saint Vincent and the Grenadines\", id: \"VC\"},\n {label: \"Samoa\", id: \"WS\"},\n {label: \"San Marino\", id: \"SM\"},\n {label: \"Sao Tome and Principe\", id: \"ST\"},\n {label: \"Saudi Arabia\", id: \"SA\"},\n {label: \"Senegal\", id: \"SN\"},\n {label: \"Serbia and Montenegro\", id: \"CS\"},\n {label: \"Seychelles\", id: \"SC\"},\n {label: \"Sierra Leone\", id: \"SL\"},\n {label: \"Singapore\", id: \"SG\"},\n {label: \"Slovakia\", id: \"SK\"},\n {label: \"Slovenia\", id: \"SI\"},\n {label: \"Solomon Islands\", id: \"SB\"},\n {label: \"Somalia\", id: \"SO\"},\n {label: \"South Africa\", id: \"ZA\"},\n {label: \"South Georgia and the South Sandwich Islands\", id: \"GS\"},\n {label: \"Spain\", id: \"ES\"},\n {label: \"Sri Lanka\", id: \"LK\"},\n {label: \"Sudan\", id: \"SD\"},\n {label: \"Suriname\", id: \"SR\"},\n {label: \"Svalbard and Jan Mayen\", id: \"SJ\"},\n {label: \"Swaziland\", id: \"SZ\"},\n {label: \"Sweden\", id: \"SE\"},\n {label: \"Switzerland\", id: \"CH\"},\n {label: \"Syrian Arab Republic\", id: \"SY\"},\n {label: \"Taiwan, Province of China\", id: \"TW\"},\n {label: \"Tajikistan\", id: \"TJ\"},\n {label: \"Tanzania, United Republic of\", id: \"TZ\"},\n {label: \"Thailand\", id: \"TH\"},\n {label: \"Timor-Leste\", id: \"TL\"},\n {label: \"Togo\", id: \"TG\"},\n {label: \"Tokelau\", id: \"TK\"},\n {label: \"Tonga\", id: \"TO\"},\n {label: \"Trinidad and Tobago\", id: \"TT\"},\n {label: \"Tunisia\", id: \"TN\"},\n {label: \"Turkey\", id: \"TR\"},\n {label: \"Turkmenistan\", id: \"TM\"},\n {label: \"Turks and Caicos Islands\", id: \"TC\"},\n {label: \"Tuvalu\", id: \"TV\"},\n {label: \"Uganda\", id: \"UG\"},\n {label: \"Ukraine\", id: \"UA\"},\n {label: \"United Arab Emirates\", id: \"AE\"},\n {label: \"United Kingdom\", id: \"GB\"},\n {label: \"United States\", id: \"US\"},\n {label: \"United States Minor Outlying Islands\", id: \"UM\"},\n {label: \"Uruguay\", id: \"UY\"},\n {label: \"Uzbekistan\", id: \"UZ\"},\n {label: \"Vanuatu\", id: \"VU\"},\n {label: \"Venezuela\", id: \"VE\"},\n {label: \"Vietnam\", id: \"VN\"},\n {label: \"Virgin Islands, British\", id: \"VG\"},\n {label: \"Virgin Islands, U.S.\", id: \"VI\"},\n {label: \"Wallis and Futuna\", id: \"WF\"},\n {label: \"Western Sahara\", id: \"EH\"},\n {label: \"Yemen\", id: \"YE\"},\n {label: \"Zambia\", id: \"ZM\"},\n {label: \"Zimbabwe\", id: \"ZW\"}\n] ","import React, { useEffect, useRef, useState } from \"react\";\nimport { TextField } from \"@mui/material\";\n\nimport Button from \"../../library/Button/Button\";\nimport { Input } from \"../../library/Input/Input\";\nimport { BackArrow } from \"../../library/Icons/Icons\";\nimport { OnboardContext } from \"../../../contexts/OnboardContext\";\nimport { AppContext } from \"../../../contexts/AppContext\";\nimport { DataMode, OnboardStep } from \"../../../types/enums\";\nimport { countries } from \"../../../Countries\";\nimport Autocomplete from \"../../library/Autocomplete/Autocomplete\";\n\ntype EditCompanyInfoProps = {\n showCancel: boolean;\n};\n\nfunction EditCompanyInfo(props: EditCompanyInfoProps): React.ReactElement {\n const { setOnboardStep, setDataMode } = React.useContext(OnboardContext) as OnboardType;\n const { setOnboardData, onboardData } = React.useContext(AppContext) as AppType;\n const [countryList] = useState(countries.map((country) => country.label));\n const companyNameRef = useRef();\n\n const [company, setCompany] = useState>({\n companyName: onboardData.company.companyName || \"\",\n phoneNumber: onboardData.company.phoneNumber || \"\",\n faxNumber: onboardData.company.faxNumber || \"\",\n address1: onboardData.company.address1 || \"\",\n address2: onboardData.company.address2 || \"\",\n postalCode: onboardData.company.postalCode || \"\",\n city: onboardData.company.city || \"\",\n stateRegion: onboardData.company.stateRegion || \"\",\n country: onboardData.company.country || \"\",\n });\n\n useEffect(() => {\n if (companyNameRef.current) {\n companyNameRef.current.focus();\n }\n }, []);\n\n const disableSave = () => {\n return !(\n company.companyName &&\n company.phoneNumber &&\n company.address1 &&\n company.city &&\n company.stateRegion &&\n company.postalCode &&\n company.country\n );\n };\n\n const handleSave = () => {\n setOnboardData((prev: OnboardDataModel) => {\n return {\n ...prev,\n company: company,\n };\n });\n setDataMode(DataMode.View);\n };\n\n const handleCancel = () => {\n setDataMode(DataMode.View);\n };\n\n const handleBack = () => {\n setDataMode(DataMode.View);\n setOnboardStep(OnboardStep.PersonalInfo);\n };\n\n return (\n <>\n }\n alignIcon=\"left\"\n onClick={handleBack}\n data-testid=\"EditYourPersonalInfoBackButton\"\n >\n Your Personal Info\n \n

Enter your company's information.

\n\n
e.preventDefault()} className=\"data-container\" id=\"EditCompanyInfoForm\">\n
\n \n setCompany((prev: Partial) => {\n return { ...prev, companyName: value };\n })\n }\n className=\"form-field companyName-field\"\n placeholder=\"Boone Times\"\n data-testid=\"EditCompanyInfoName\"\n inputRef={companyNameRef}\n maxLength={100}\n required\n />\n \n setCompany((prev: Partial) => {\n return { ...prev, phoneNumber: value };\n })\n }\n placeholder=\"+1 123.456.7890\"\n className=\"form-field phone-field\"\n autocomplete=\"tel\"\n data-testid=\"EditCompanyInfoPhone\"\n type=\"tel\"\n maxLength={20}\n required\n />\n \n setCompany((prev: Partial) => {\n return { ...prev, faxNumber: value };\n })\n }\n placeholder=\"+1 456.789.0123\"\n className=\"form-field fax-field\"\n autocomplete=\"tel\"\n data-testid=\"EditCompanyInfoFax\"\n type=\"tel\"\n maxLength={20}\n />\n
\n\n
\n\n
\n \n setCompany((prev: Partial) => {\n return { ...prev, address1: value };\n })\n }\n placeholder=\"122 Main Street\"\n className=\"form-field street-field\"\n autocomplete=\"street-address\"\n data-testid=\"EditCompanyInfoAddressLine1\"\n maxLength={80}\n required\n />\n \n setCompany((prev: Partial) => {\n return { ...prev, address2: value };\n })\n }\n placeholder=\"Suite 100\"\n className=\"form-field unit-field\"\n data-testid=\"EditCompanyInfoAddressLine2\"\n maxLength={80}\n />\n
\n
\n \n setCompany((prev: Partial) => {\n return { ...prev, postalCode: value };\n })\n }\n placeholder=\"94016\"\n className={\"form-field zipcode-field\"}\n autocomplete=\"postal-code\"\n data-testid=\"EditCompanyInfoPostalCode\"\n maxLength={10}\n required\n />\n \n setCompany((prev: Partial) => {\n return { ...prev, city: value };\n })\n }\n placeholder=\"San Francisco\"\n className={\"form-field city-field\"}\n autocomplete=\"address-level2\"\n data-testid=\"EditCompanyInfoCity\"\n maxLength={100}\n required\n />\n \n setCompany((prev: Partial) => {\n return { ...prev, stateRegion: value };\n })\n }\n placeholder=\"CA\"\n className={\"form-field state-field\"}\n autocomplete=\"address-level1\"\n data-testid=\"EditCompanyInfoState\"\n maxLength={20}\n required\n />\n
\n
\n
\n \n {\n setCompany((prev: Partial) => {\n return { ...prev, country: value };\n });\n }}\n value={company.country}\n disableClearable\n renderInput={(params) => (\n \n )}\n isOptionEqualToValue={(option: string, value: string) => option === value}\n />\n
\n
\n\n
\n \n\n {props.showCancel && (\n \n )}\n
\n
\n \n );\n}\n\nexport default EditCompanyInfo;\n","import React from \"react\";\nimport Button from \"../../library/Button/Button\";\nimport { RightArrowWhite, Edit, BackArrow, Company } from \"../../library/Icons/Icons\";\nimport { OnboardContext } from \"../../../contexts/OnboardContext\";\nimport { AppContext } from \"../../../contexts/AppContext\";\nimport Utils from \"../../../utils/utils\";\nimport { DataMode, OnboardStep } from \"../../../types/enums\";\n\ntype ViewCompanyInfoProps = {\n setShowCancel: (prev: boolean) => void;\n};\n\nfunction ViewCompanyInfo(props: ViewCompanyInfoProps): React.ReactElement {\n const { setOnboardStep, setDataMode } = React.useContext(OnboardContext) as OnboardType;\n const { onboardData } = React.useContext(AppContext) as AppType;\n\n const handleSubmit = () => {\n setDataMode(DataMode.Edit);\n setOnboardStep(OnboardStep.ConnectEmail);\n };\n\n const handleEdit = () => {\n setDataMode(DataMode.Edit);\n props.setShowCancel(true);\n };\n\n return (\n <>\n }\n alignIcon=\"left\"\n onClick={handleEdit}\n data-testid=\"EditYourCompanyInfoBackButton\"\n >\n Your Company Info\n \n

Almost Done.

\n

Please confirm your company's information is correct.

\n\n
\n
\n
\n \n \n \n
\n\n
\n
Company Name
\n
\n {onboardData?.company?.companyName}\n
\n
\n\n
\n
Company Phone Number
\n
\n {onboardData?.company?.phoneNumber ? Utils.formatPhoneNumber(onboardData.company.phoneNumber) : \"\"}\n
\n
\n
\n\n
\n
\n\n
\n
Company Address
\n\n
\n
\n {onboardData.company.address1}\n
\n
\n {onboardData.company.address2}\n
\n
\n {onboardData?.company?.city}, {onboardData?.company?.stateRegion}\n
\n
\n {onboardData?.company?.postalCode}\n
\n
\n {onboardData?.company?.country}\n
\n
\n
\n\n
\n {onboardData?.company?.faxNumber && (\n <>\n
Company Fax Number
\n
\n {Utils.formatPhoneNumber(onboardData?.company?.faxNumber)}\n
\n \n )}\n
\n
\n
\n\n
\n \n\n \n
\n \n );\n}\n\nexport default ViewCompanyInfo;\n","import React, { useState } from \"react\";\nimport { DataMode } from \"../../../types/enums\";\nimport { default as Edit } from \"./EditCompanyInfo\";\nimport { default as View } from \"./ViewCompanyInfo\";\nimport { OnboardContext } from \"../../../contexts/OnboardContext\";\nimport \"./CompanyInfo.scss\";\n\nfunction CompanyInfo(): React.ReactElement {\n const { dataMode } = React.useContext(OnboardContext) as OnboardType;\n const [showCancel, setShowCancel] = useState(false);\n\n return (\n
\n {dataMode === DataMode.Edit && }\n {dataMode === DataMode.View && }\n
\n );\n}\n\nexport default CompanyInfo;\n","import React from \"react\";\nimport { useIntercom } from \"react-use-intercom\";\n\nimport Button from \"../../library/Button/Button\";\nimport \"./OnboardError.scss\";\n\ninterface OnboardErrorProps {\n onTryAgain: () => void;\n}\n\nexport default function OnboardError(props: OnboardErrorProps): React.ReactElement {\n const { show } = useIntercom();\n\n return (\n
\n

Something Went Wrong.

\n

\n {\"We had a problem finalizing your account. This issue has been recorded and our engineering team is on it.\"}\n

\n\n

\n {\"In the meantime, you can chat with our support team, or you can \"}\n {\n event.preventDefault();\n props.onTryAgain();\n }}\n >\n try again\n \n .\n

\n\n
\n \n {\n props.onTryAgain();\n }}\n >\n Try Again\n \n
\n
\n );\n}\n","import React, { useState } from \"react\";\nimport { log } from \"react-fullstory\";\nimport { OnboardContext } from \"../../../contexts/OnboardContext\";\nimport { AppContext } from \"../../../contexts/AppContext\";\nimport { OnboardStep } from \"../../../types/enums\";\nimport OnboardError from \"../OnboardError/OnboardError\";\nimport { provisioningClient } from \"../../../db/accessor\";\nimport \"./CreateAccount.scss\";\n\nfunction CreateAccount(): React.ReactElement {\n const { setOnboardStep, bearerToken, setBearerToken } = React.useContext(OnboardContext) as OnboardType;\n const { onboardData, setOnboardData } = React.useContext(AppContext) as AppType;\n\n const [apiError, setAPIError] = useState(false);\n const [apiRetry, setAPIRetry] = useState(false);\n\n const provisionUser = async (code: string) => {\n try {\n await provisioningClient.provision(code, onboardData).then((res: ProvisioningResponseModel) => {\n // TODO: Remove localStorage hack for AppEnrollmentId once Finalize calls Sync automatically\n localStorage.setItem(`SyncRequestAppEnrollmentId-${onboardData.email}`, res?.appEnrollmentId ?? \"\");\n setOnboardStep(OnboardStep.PersonalInfo);\n });\n } catch (err: any) {\n log(\"warn\", `Error calling the initial Provisioning endpoint: ${err.toString()}`);\n setAPIError(true);\n }\n };\n\n // Callbacks from B2C IFrame\n window.onmessage = async function (event) {\n // B2C Account Creation callback\n if (event?.data?.type === \"id_token\") {\n setBearerToken(event?.data?.code);\n await provisionUser(event?.data?.code);\n }\n // B2C Account Already Exists callback\n else if (event?.data?.type === \"existing_account\") {\n setOnboardStep(OnboardStep.ExistingAccount);\n }\n // B2C Verfication Code Email callback\n else if (event?.data?.type === \"b2c_email\") {\n setOnboardData((prev: OnboardDataModel) => {\n return { ...prev, email: event?.data?.code };\n });\n }\n };\n\n const handleTryAgain = async () => {\n setAPIRetry(true);\n await provisionUser(bearerToken);\n setAPIRetry(false);\n };\n\n return (\n
\n {!apiError && (\n \n )}\n {apiError && !apiRetry && (\n
\n handleTryAgain()} />\n
\n )}\n
\n );\n}\n\nexport default CreateAccount;\n","import React from \"react\";\nimport { useHistory } from \"react-router-dom\";\nimport { useMsal } from \"@azure/msal-react\";\n\nimport Button from \"../../library/Button/Button\";\nimport { forgotPasswordRedirectRequest } from \"../../../auth/authConfig\";\nimport \"./ExisitingAccount.scss\";\n\nfunction ExistingAccount(): React.ReactElement {\n const history = useHistory();\n const { instance } = useMsal();\n\n return (\n
\n

We found your account!

\n

Great news, you’re already a member of Lockstep. All you need to do is sign in and you’re ready to go.

\n\n
\n \n \n
\n
\n );\n}\n\nexport default ExistingAccount;\n","import React, { useEffect, useRef, useState } from \"react\";\nimport { TextField } from \"@mui/material\";\nimport { log } from \"react-fullstory\";\nimport { Input } from \"../../library/Input/Input\";\nimport Button from \"../../library/Button/Button\";\nimport Autocomplete from \"../../library/Autocomplete/Autocomplete\";\nimport { BackArrow, Search } from \"../../library/Icons/Icons\";\nimport { AppContext } from \"../../../contexts/AppContext\";\nimport { definitionsClient } from \"../../../db/accessor\";\nimport Utils from \"../../../utils/utils\";\nimport { OnboardStep } from \"../../../types/enums\";\nimport { OnboardContext } from \"../../../contexts/OnboardContext\";\nimport \"./OtherERP.scss\";\n\nfunction OtherERP(): React.ReactElement {\n const { setOnboardStep } = React.useContext(OnboardContext) as OnboardType;\n const { setSelectedERP, setOnboardData, createLead } = React.useContext(AppContext) as AppType;\n const [email, setEmail] = useState(\"\");\n const [emailError, setEmailError] = useState(false);\n const [otherERP, setOtherERP] = useState(\"\");\n const [waitList, setWaitlist] = useState(false);\n const [unsupportedERPs, setUnsupportedERPs] = useState([]);\n const [showBackButton, setShowBackButton] = useState(true);\n const emailRef = useRef();\n\n const handleCreateLead = async () => {\n if (!Utils.validEmail(email)) {\n setEmailError(true);\n emailRef?.current?.focus();\n } else {\n try {\n createLead([{ email, erpSystem: otherERP }]);\n } catch (error: any) {\n log(\"warn\", error.toString());\n } finally {\n setWaitlist(true);\n setShowBackButton(false);\n }\n }\n };\n\n const handleGoBack = () => {\n setOnboardData((prev: OnboardDataModel) => {\n return { ...prev, erp: { name: \"\", appId: \"\", data: { authCode: \"\", realmId: \"\" } } };\n });\n setSelectedERP(null);\n setOnboardStep(OnboardStep.SelectERP);\n };\n\n // On mount, get list of Unsupported ERPs\n useEffect(() => {\n const getUnsupportedERPs = async () => {\n setUnsupportedERPs(\n (await definitionsClient.getUnsupportedERPs()).map((item: UnsupportedERPModel) => {\n return {\n erpSystemId: item.erpSystemId,\n name: item.name,\n isSupported: false,\n };\n })\n );\n };\n if (unsupportedERPs.length === 0) {\n getUnsupportedERPs();\n }\n }, []);\n\n useEffect(() => {\n emailRef?.current?.focus();\n }, []);\n\n return (\n
\n {showBackButton && (\n }\n alignIcon=\"left\"\n onClick={() => handleGoBack()}\n data-testid=\"SelectERPGoBack\"\n >\n Select Your Accounting System\n \n )}\n\n {!waitList ? (\n <>\n

We're still working on supporting your accounting system.

\n

\n In the meantime, let us know which accounting system your team uses and we'll let you know as soon as it's available.\n

\n\n
e.preventDefault()} id=\"WaitlistForm\">\n
\n {\n setEmail(value);\n setEmailError(false);\n }}\n data-testid=\"SelectERPEmailAddress\"\n inputRef={emailRef}\n errorMessage={emailError ? \"Invalid email address\" : undefined}\n />\n
\n\n
\n
\n \n option.name)}\n freeSolo\n autoSelect\n staticIcon\n popupIcon={}\n className=\"form-field\"\n onInputChange={(event, value: string) => setOtherERP(value)}\n renderInput={(params) => (\n \n )}\n data-testid=\"UnsupportedERPInput\"\n />\n
\n
\n\n
\n handleCreateLead()}\n disabled={!(email && otherERP)}\n data-testid=\"SelectERPCreateLeadButton\"\n >\n Add Me To The Waitlist\n \n \n
\n
\n \n ) : (\n <>\n

Thank you for your interest!

\n

We've added you to our waitlist and will email you as soon as we support your accounting system.

\n

\n While you wait, take a look around at some of our other product offerings, or get in touch with us about when we might have support for{\" \"}\n {otherERP}.\n

\n
\n window.location.assign(\"https://lockstep.io/product\")}\n data-testid=\"WaitlistOtherProductsButton\"\n >\n Show Me Other Products\n \n
\n \n )}\n
\n );\n}\n\nexport default OtherERP;\n","export default __webpack_public_path__ + \"static/media/ConnectOutlookLogo.55ab867b.svg\";","export default __webpack_public_path__ + \"static/media/ConnectGmailLogo.abbd9522.svg\";","/* eslint-disable @typescript-eslint/no-unused-vars */\nimport React, { MouseEvent, useEffect, useState } from \"react\";\nimport OutlookLogo from \"../../../assets/ConnectOutlookLogo.svg\";\nimport GmailLogo from \"../../../assets/ConnectGmailLogo.svg\";\nimport Button from \"../../library/Button/Button\";\nimport { provisioningClient, syncClient } from \"../../../db/accessor\";\nimport { OnboardContext } from \"../../../contexts/OnboardContext\";\nimport { AppContext } from \"../../../contexts/AppContext\";\nimport { useHistory } from \"react-router-dom\";\nimport \"./ConnectEmail.scss\";\nimport { log } from \"react-fullstory\";\nimport OnboardError from \"../OnboardError/OnboardError\";\n\nconst emailList: ERPModel[] = [\n {\n name: \"Outlook 365\",\n appId: \"00000000-0000-0000-0000-000000000001\",\n iconUrl: OutlookLogo,\n width: \"150px\",\n },\n {\n name: \"Gmail\",\n appId: \"00000000-0000-0000-0000-000000000002\",\n iconUrl: GmailLogo,\n width: \"150px\",\n },\n];\n\nfunction ConnectEmail(): React.ReactElement {\n const history = useHistory();\n const { bearerToken } = React.useContext(OnboardContext) as OnboardType;\n const { onboardData } = React.useContext(AppContext) as AppType;\n const [loading, setLoading] = useState(false);\n\n const [apiError, setAPIError] = useState(false);\n const [apiRetry, setAPIRetry] = useState(false);\n\n // TODO: Wire-up to API. Requirements: Open Popup, retrieve authCode, save to onboardData, go to OnboardStep.Finalize\n const handleConnect = (e: MouseEvent, email: ERPModel) => {\n if (loading) return;\n e.preventDefault();\n console.info(email);\n };\n\n const handleSync = async () => {\n // TODO: Remove localStorage hack for AppEnrollmentId once Finalize calls Sync automatically\n const appEnrollmentId = localStorage.getItem(`SyncRequestAppEnrollmentId-${onboardData.email}`);\n if (appEnrollmentId) {\n await syncClient.startSync({ appEnrollmentId: appEnrollmentId }, bearerToken).then((res: SyncRequestModel) => {\n localStorage.removeItem(`SyncRequestAppEnrollmentId-${onboardData.email}`);\n localStorage.setItem(`SyncRequest-${onboardData.email}`, res.syncRequestId);\n history.push(\"/\");\n });\n }\n };\n\n const handleSkip = async () => {\n try {\n setLoading(true);\n await provisioningClient.finalize(bearerToken, onboardData);\n await handleSync();\n } catch (err: any) {\n console.info(err);\n log(\"warn\", `Error calling the Finalize Provisioning endpoint: ${err.toString()}`);\n setAPIError(true);\n } finally {\n setLoading(false);\n }\n };\n\n const handleTryAgain = async () => {\n setAPIRetry(true);\n await handleSync();\n setAPIRetry(false);\n };\n\n return !apiError ? (\n
\n

Connect Your Email

\n

\n To get all of the Lockstep Inbox features, including automatic activity management, team communication, and customer communication we will\n need to connect to your email system.\n

\n
\n {emailList.map((option) => {\n return (\n ) => handleConnect(e, option)}\n data-testid={`SelectERP${option.name}Button`}\n >\n {option.name}\n
\n );\n })}\n
\n
\n \n
\n
\n ) : !apiRetry ? (\n
\n handleTryAgain()} />\n
\n ) : (\n <>\n );\n}\n\nexport default ConnectEmail;\n","import React from \"react\";\nimport { AppContext } from \"../../../contexts/AppContext\";\nimport { OnboardContext } from \"../../../contexts/OnboardContext\";\nimport { OnboardStep } from \"../../../types/enums\";\n\nfunction CreateInvitedAccount(): React.ReactElement {\n const { onboardData } = React.useContext(AppContext) as AppType;\n const { setOnboardStep, setBearerToken } = React.useContext(OnboardContext) as OnboardType;\n\n // Callbacks from B2C IFrame\n window.onmessage = async function (event) {\n // B2C Account Creation callback\n if (event?.data?.type === \"id_token\") {\n setBearerToken(event?.data?.code);\n setOnboardStep(OnboardStep.PersonalInfo);\n }\n };\n\n return (\n
\n \n
\n );\n}\n\nexport default CreateInvitedAccount;\n","import React, { useEffect, useState } from \"react\";\nimport { useIntercom } from \"react-use-intercom\";\nimport LockstepLogo from \"../../assets/Lockstep_Icon_With_Text_Color_RGB.svg\";\nimport ERPSelect from \"../../components/Onboard/ERPSelect/ERPSelect\";\nimport PersonalInfo from \"../../components/Onboard/PersonalInfo/PersonalInfo\";\nimport CompanyInfo from \"../../components/Onboard/CompanyInfo/CompanyInfo\";\nimport CreateAccount from \"../../components/Onboard/CreateAccount/CreateAccount\";\nimport ExistingAccount from \"../../components/Onboard/ExistingAccount/ExistingAccount\";\nimport { OnboardContext } from \"../../contexts/OnboardContext\";\nimport { OnboardStep } from \"../../types/enums\";\nimport OtherERP from \"../../components/Onboard/OtherERP/OtherERP\";\nimport ConnectEmail from \"../../components/Onboard/ConnectEmail/ConnectEmail\";\nimport { userAccountsClient } from \"../../db/accessor\";\nimport { AppContext } from \"../../contexts/AppContext\";\nimport CreateInvitedAccount from \"../../components/Onboard/CreateInvitedAccount/CreateInvitedAccount\";\nimport \"./Onboard.scss\";\nimport { Snackbar, Alert, AlertColor } from \"@mui/material\";\n\nconst Onboard: React.FC = () => {\n const { setOnboardData } = React.useContext(AppContext) as AppType;\n const { setOnboardStep, onboardStep, isInvited, setIsInvited } = React.useContext(OnboardContext) as OnboardType;\n const { boot, shutdown, update } = useIntercom();\n const [isLoading, setIsLoading] = useState(true);\n\n const [showToast, setShowToast] = useState(false);\n const [toastSeverity, setToastSeverity] = useState(\"success\");\n const [toastMsg, setToastMsg] = useState(\"\");\n\n shutdown();\n boot();\n update({ hideDefaultLauncher: false });\n\n useEffect(() => {\n (async function getInviteStatus() {\n const inviteCode = new URLSearchParams(window.location.search).get(\"code\");\n if (inviteCode) {\n setIsLoading(true);\n await userAccountsClient\n .getInvite(inviteCode)\n .then((value: InviteDataModel) => {\n if (value?.userStatus === \"Invited\") {\n setIsInvited(true);\n setOnboardData((prev: OnboardDataModel) => {\n return { ...prev, email: value?.email || \"\" };\n });\n setOnboardStep(OnboardStep.CreateInvitedAccount);\n }\n })\n .catch(() => {\n setToastSeverity(\"error\");\n setToastMsg(\"Invalid Invitation Code\");\n setShowToast(true);\n });\n }\n setIsLoading(false);\n })();\n }, []);\n\n return (\n
\n
\n
\n \"Lockstep\n {isLoading ? (\n <>\n ) : isInvited ? (\n
    \n
  1. \n Create Your Account\n
  2. \n
  3. \n Update Your Personal Info\n
  4. \n
\n ) : (\n
    \n \n Select Your Accounting System\n \n \n Create Your Account\n \n
  1. \n Update Your Personal Info\n
  2. \n
  3. \n Update Your Company Info\n
  4. \n
  5. \n Connect Your Email\n
  6. \n
\n )}\n
\n \n {!isLoading && (\n <>\n {onboardStep === OnboardStep.SelectERP ? : null}\n {onboardStep === OnboardStep.OtherERP ? : null}\n {onboardStep === OnboardStep.CreateAccount ? : null}\n {onboardStep === OnboardStep.CreateInvitedAccount ? : null}\n {onboardStep === OnboardStep.ExistingAccount ? : null}\n {onboardStep === OnboardStep.PersonalInfo ? : null}\n {onboardStep === OnboardStep.CompanyInfo ? : null}\n {onboardStep === OnboardStep.ConnectEmail ? : null}\n \n )}\n
\n
\n\n setShowToast(false)} autoHideDuration={3000}>\n setShowToast(false)}\n severity={toastSeverity as AlertColor}\n sx={{ width: \"100%\" }}\n action={\n

setShowToast(false)}>\n CLOSE\n

\n }\n >\n {toastMsg}\n \n
\n
\n );\n};\n\nexport default Onboard;\n","/* eslint-disable react/no-children-prop */\nimport React from \"react\";\nimport { NavLink, Route, RouteComponentProps, withRouter } from \"react-router-dom\";\n\n// Defines Nav Link with Router Props\ninterface PropsInterface extends RouteComponentProps {\n exact?: boolean | undefined;\n strict?: boolean | undefined;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n to?: any;\n children?: string | undefined | React.ReactNode;\n className?: string | undefined;\n activeClassName?: string | undefined;\n}\n\n/**\n * * Defines a custom NavLink deriving from react-router-dom\n * * Used to handle NavLink active states\n */\nconst NavLinkWithRouter: React.FC = (props: PropsInterface) => {\n return (\n {\n const isActive = !!match;\n return (\n i).join(\" \") : props.className} to={typeof props.to === \"object\" ? {pathname: props.to.pathname, search: props.to.search} : props.to}>\n {typeof props.children === \"function\" ? props.children(isActive) : props.children}\n \n );\n }}\n />\n );\n};\n\nexport default withRouter(NavLinkWithRouter);\n","export default __webpack_public_path__ + \"static/media/Loading.ca9cfc9c.svg\";","import React from \"react\";\nimport LoadingImg from \"../../../assets/Loading.svg\";\nimport \"./Loading.scss\";\n\n// Define Loading Props\ninterface Props {\n isTableCell?: boolean;\n isRelative?: boolean;\n imgHeight?: string;\n imgWidth?: string;\n}\n\n// Defines a wrapper for Loading animations\nexport default function Loading(props: Props): React.ReactElement {\n return props.isTableCell ? (\n \n \n \n \"loading\"\n
\n \n \n ) : (\n \n \n
\n );\n}\n","import React from \"react\";\nimport { log } from \"react-fullstory\";\n\nimport Utils from \"../../../utils/utils\";\nimport \"./Error.scss\";\n\ninterface ErrorProps {\n children: React.ReactNode;\n isTableCell?: boolean;\n isRelative?: boolean;\n}\n\nexport default function Error(props: ErrorProps): React.ReactElement {\n if (Utils.isProduction()) {\n if (typeof props.children === 'string'){\n log(\"warn\", props.children);\n }\n }\n\n return props.isTableCell ? (\n \n \n \n
{props.children}
\n \n \n \n ) : (\n \n
{props.children}
\n \n );\n}\n","import React from \"react\";\n\nimport { reportsClient, companiesClient } from \"../db/accessor\";\n\nexport const DashboardContext = React.createContext(null);\n\nexport interface DashboardProviderProps {\n children: (React.ReactNode & { type: string })[] | (React.ReactNode & { type: string });\n}\n\nconst barColors = { dark: \"#4B5DF8\", light: \"#C1CEFF\" };\n\nconst DashboardProvider: React.FC = ({ children }: DashboardProviderProps) => {\n // GET on /api/v1/ar-aging-header\n async function getAgingData(): Promise {\n return reportsClient.getAging().then((data: ArAgingHeaderInfoModel[]) => {\n if (data.length === 0) {\n return [];\n }\n // future due -> 1-30 -> ... -> 91+\n data.sort((left: ArAgingHeaderInfoModel, right: ArAgingHeaderInfoModel) => ((left?.reportBucket ?? \"\") < (right?.reportBucket ?? \"\") ? -1 : 1));\n return [\n {\n id: \"LATE 91+ DAYS\",\n value: data[4].totalOutstandingAmount ?? 0,\n color: \"#EF476F\",\n },\n {\n id: \"LATE 61-90 DAYS\",\n value: data[3].totalOutstandingAmount ?? 0,\n color: \"#FFD166\",\n },\n {\n id: \"LATE 31-60 DAYS\",\n value: data[2].totalOutstandingAmount ?? 0,\n color: \"#046180\",\n },\n {\n id: \"LATE 1-30 DAYS\",\n value: data[1].totalOutstandingAmount ?? 0,\n color: \"#118AB2\",\n },\n {\n id: \"FUTURE DUE\",\n value: data[0].totalOutstandingAmount ?? 0,\n color: \"#06D6A0\",\n },\n ];\n });\n }\n\n // GET on /api/v1/Reports/cashflow\n async function getCashflowData(): Promise {\n return reportsClient.getCashflow(undefined).then((data) => {\n return [\n {\n id: \"INVOICED\",\n color: barColors.light,\n value: data.invoicesBilled,\n },\n {\n id: \"COLLECTED\",\n color: barColors.dark,\n value: data.paymentsCollected,\n },\n ];\n });\n }\n\n // GET on /api/v1/Reports/dailysalesoutstanding\n async function getDSOData(): Promise {\n return reportsClient.getDSO().then((data) => {\n return (\n data\n // Sort data points in ascending order\n .sort((a: { timeframe: string }, b: { timeframe: string }) => new Date(a.timeframe).getMonth() - new Date(b.timeframe).getMonth())\n // Map data points to readable barChart data\n .map((val: DailySalesOutstandingReportModel, index: number, arr: DailySalesOutstandingReportModel[]) => {\n // Change in DSO from last month to this month\n\n return {\n id: new Intl.DateTimeFormat(\"en-US\", { month: \"long\" }).format(new Date(val.timeframe)).toUpperCase(),\n // Set top bar to dark color\n color: index === arr.length - 1 ? barColors.dark : barColors.light,\n value: Math.ceil(val.dailySalesOutstanding),\n };\n })\n );\n });\n }\n\n // GET on /api/v1/Companies/views/customer-summary\n async function getTopRisksData(): Promise {\n return companiesClient.getCustomerSummaries(undefined, undefined, \"AMOUNTPASTDUE DESC, TOTALINVOICESPASTDUE DESC\", 5, 0).then((data) => {\n return data.records;\n });\n }\n\n // GET on /api/v1/Reports/riskrates\n async function getRiskRateData(): Promise {\n return reportsClient.getRiskRate().then((data) => {\n return data;\n });\n }\n\n return (\n \n {children}\n \n );\n};\n\nexport default DashboardProvider;\n","import React from \"react\";\nimport \"./NoData.scss\";\n\n// Defines Error Props\ninterface Props {\n children?: React.ReactNode;\n isTableCell?: boolean;\n isRelative?: boolean;\n}\n\n// Defines a wrapper for Errors\nexport default function NoData(props: Props): React.ReactElement {\n return props.isTableCell ? (\n \n \n
\n {props?.children ? (\n

{props.children}

\n ) : (\n // TODO: Add this back once you've confirmed with Gibby the text\n //

\n // Sorry, we could not find your data. We've notified our team about\n // the issue, but if you'd like to speak with us please contact our\n // support team at{\" \"}\n // support@lockstep.io\n //

\n

No Data Found

\n )}\n
\n \n \n ) : (\n
\n {props?.children ? (\n

{props.children}

\n ) : (\n // TODO: Add this back once you've confirmed with Gibby the text\n //

\n // Sorry, we could not find your data. We've notified our team about the\n // issue, but if you'd like to speak with us please contact our support\n // team at support@lockstep.io\n //

\n

No Data Found

\n )}\n
\n );\n}\n","export const shortenCurrency = (amount: number, decimal?: boolean): string => {\n const stringifiedAmount = String(Math.abs(Math.floor(amount)));\n if (decimal) {\n if (stringifiedAmount.length <= 6) {\n return (amount / 1000).toPrecision(4);\n } else if (stringifiedAmount.length <= 9) {\n return (amount / 1000000).toPrecision(4);\n } else if (stringifiedAmount.length <= 12) {\n return (amount / 1000000000).toPrecision(4);\n } else {\n return (amount / 1000000000000).toPrecision(4);\n }\n } else {\n if (stringifiedAmount.length <= 3) {\n return String(Math.round(amount));\n } else if (stringifiedAmount.length <= 6) {\n return String(Math.round(amount / 1000));\n } else if (stringifiedAmount.length <= 9) {\n return String(Math.round(amount / 1000000));\n } else if (stringifiedAmount.length <= 12) {\n return String(Math.round(amount / 1000000000));\n } else {\n return String(Math.round(amount / 1000000000000));\n }\n }\n};\n\nexport const getCurrencySuffix = (amount: number): string => {\n const stringifiedAmountLength = String(Math.abs(Math.floor(amount))).length;\n if (stringifiedAmountLength <= 3) {\n return \"\";\n } else if (stringifiedAmountLength <= 6) {\n return \"k\";\n } else if (stringifiedAmountLength <= 9) {\n return \"m\";\n } else if (stringifiedAmountLength <= 12) {\n return \"b\";\n } else {\n return \"t\";\n }\n};\n","import React, { useState, useEffect, MouseEvent } from \"react\";\nimport Loading from \"../../../library/Loading/Loading\";\nimport Error from \"../../../library/Error/Error\";\n// Imports from react-router-dom\nimport { useHistory, useRouteMatch } from \"react-router-dom\";\n// Import contxt\nimport { DashboardContext } from \"../../../../contexts/DashboardContext\";\n// Import assets\nimport \"./TopCustomers.scss\";\nimport NoData from \"../../../library/NoData/NoData\";\nimport { getCurrencySuffix, shortenCurrency } from \"../../../../db/utils/currency\";\nimport { Tooltip, IconButton } from \"@mui/material\";\nimport { TooltipIcon } from \"../../../library/Icons/Icons\";\n\n/**\n * * Defines the Top 5 Customers with Invoices Past Due Widget\n */\nexport default function TopCustomers(): React.ReactElement {\n const { getTopRisksData } = React.useContext(DashboardContext) as DashboardType;\n const { path } = useRouteMatch();\n const history = useHistory();\n const [isLoading, setLoading] = useState(false);\n const [errorMessage, setErrorMessage] = useState(\"\");\n const [data, setData] = useState(null);\n\n // GET on /api/v1/Companies/views/customer-summary\n const fetchData = async () => {\n setErrorMessage(\"\");\n setLoading(true);\n try {\n const res = await getTopRisksData();\n setData(res);\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n } catch (error: any) {\n setErrorMessage(error.message);\n }\n setLoading(false);\n };\n\n useEffect(() => {\n fetchData();\n }, []);\n\n const handleRowClick = (e: MouseEvent, id: string) => {\n history.push(`${path.substring(0, path.lastIndexOf(\"/\"))}/customers/${id}/open_invoices?sort=PAYMENTDUEDATE+DESC%2C+INVOICENUMBER+DESC`);\n };\n\n const handleOnClick = (e: MouseEvent) => {\n e.preventDefault();\n history.push(`${path}/top_customers?sort=AMOUNTPASTDUE+DESC%2C+TOTALINVOICESPASTDUE+DESC`);\n };\n\n return isLoading ? (\n
\n \n
\n ) : errorMessage ? (\n
\n {errorMessage}\n
\n ) : (\n
\n
\n ) => handleOnClick(e)}>\n Top 5 Customers with Invoices Past Due\n \n \n \n \n \n \n
\n {data && data.length !== 0 ? (\n // TODO: Talk with API team about why pageSize doesn't where here. This is a hot-fix until the issue with the endpoint is resolved\n data.slice(0, 5).map((val: CustomerSummaryModel, idx: number) => {\n return (\n
) => handleRowClick(e, val.companyId)}>\n
\n

{val?.companyName ?? \"N/A\"}

\n
\n

{val?.totalInvoicesPastDue}

\n

Past Due Invoices

\n

\n {(val?.amountPastDue ?? 0) < 0 ? \"-\" : \"\"}${Math.abs(parseInt(shortenCurrency(val?.amountPastDue ?? 0, false), 10))}\n {getCurrencySuffix(val?.amountPastDue ?? 0)}\n

\n

Past Due Balance

\n
\n );\n })\n ) : (\n \n )}\n
\n );\n}\n","import React, { useEffect, forwardRef } from \"react\";\nimport \"./Checkbox.scss\";\n\n// Define Checkbox's Table Props\ninterface Props {\n indeterminate?: boolean;\n}\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nconst useCombinedRefs = (...refs: any[]): React.MutableRefObject => {\n const targetRef = React.useRef();\n\n React.useEffect(() => {\n refs.forEach((ref) => {\n if (!ref) return;\n\n if (typeof ref === \"function\") {\n ref(targetRef.current);\n } else {\n ref.current = targetRef.current;\n }\n });\n }, [refs]);\n\n return targetRef;\n};\n\n// eslint-disable-next-line react/display-name\nconst IndeterminateCheckbox = forwardRef(({ indeterminate, ...rest }: Props, ref: React.Ref) => {\n const defaultRef = React.useRef(null);\n const combinedRef = useCombinedRefs(ref, defaultRef);\n\n useEffect(() => {\n if (combinedRef?.current) {\n combinedRef.current.indeterminate = indeterminate ?? false;\n }\n }, [combinedRef, indeterminate]);\n\n return (\n \n {\n e.stopPropagation();\n }}\n />\n \n );\n});\n\nexport default IndeterminateCheckbox;\n","export default __webpack_public_path__ + \"static/media/Close.9a618223.svg\";","import { Tooltip } from \"@mui/material\";\nimport React, { useState, useRef, useEffect } from \"react\";\nimport { Ellipses } from \"../Icons/Icons\";\nimport \"./Dropdown.scss\";\n\ninterface DropdownProps {\n className?: string;\n options: { value: string; onClickValue?: string | number; id: string; altDisplay?: string }[];\n defaultValue?: string | null;\n errorMessage?: string;\n header?: string;\n onSelect?: (value: string) => void;\n iconAlign?: \"left\" | \"right\" | \"none\";\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n onClick?: any;\n showEllipses?: boolean;\n displayValue?: string;\n icon?: React.ReactElement;\n iconOnly?: boolean;\n tooltip?: string;\n}\n\nexport default function Dropdown(props: DropdownProps): React.ReactElement {\n const dropdownRef = useRef(null);\n const [showTooltip, setShowTooltip] = useState(false);\n const [isMenuOpen, setMenuOpen] = useState(false);\n const [value, setValue] = useState(props.defaultValue ? props.defaultValue : props.options.length > 0 ? props.options[0].value : \"\");\n\n useEffect(() => {\n function handleClickOutside(e: Event) {\n if (dropdownRef.current && !dropdownRef.current.contains(e.target as unknown as Node)) {\n setMenuOpen(false);\n }\n }\n\n document.addEventListener(\"mousedown\", handleClickOutside);\n\n return () => {\n document.removeEventListener(\"mousedown\", handleClickOutside);\n };\n }, [dropdownRef]);\n \n return (\n
\n {props?.header &&

{props.header}

}\n\n
\n setShowTooltip(true)}\n onMouseLeave={() => setShowTooltip(false)}\n >\n {\n e.stopPropagation();\n if (!props.className?.includes(\"disabled\")) {\n setMenuOpen((prev: boolean) => !prev);\n }\n }}\n >\n {props.showEllipses ? (\n \n ) : props.iconOnly ? (\n <>{props.icon}\n ) : (\n <>\n {props.iconAlign === \"left\" && props.icon}\n {props.displayValue ? props.displayValue : value}\n {props.iconAlign === \"right\" && props.icon}\n \n )}\n
\n \n {isMenuOpen && (\n
\n {props.options.map((obj) => {\n return (\n {\n setMenuOpen(false);\n setValue(obj.value);\n if (props.onClick) {\n props.onClick(obj.onClickValue);\n }\n if (props.onSelect) {\n props.onSelect(obj.value);\n }\n }}\n >\n {obj.altDisplay ? obj.altDisplay : obj.value}\n
\n );\n })}\n
\n )}\n \n\n {props?.errorMessage &&

{props.errorMessage}

}\n \n );\n}\n\nDropdown.defaultProps = {\n iconAlign: \"right\",\n};\n","import React, { useState } from \"react\";\n\nimport { invoicesClient } from \"../db/accessor\";\n\nexport const InvoiceContext = React.createContext(null);\n\nexport interface InvoiceProviderProps {\n children: (React.ReactNode & { type: string })[] | (React.ReactNode & { type: string });\n}\n\nconst InvoiceProvider: React.FC = ({ children }: InvoiceProviderProps) => {\n // Current Invoice customer name (Shown on invoice navbar)\n const [customerName, setCustomerName] = useState(null);\n const [invoiceData, setInvoiceData] = useState({} as InvoiceModel);\n const [lastFilterItem, setLastFilterItem] = useState(\"\");\n\n async function getInvoiceSummaryExportData(): Promise[]> {\n return await invoicesClient.getInvoiceSummaries().then((data) => {\n return (\n data.records?.map((val: InvoiceSummaryModel) => {\n return {\n invoice_number: val.invoiceNumber,\n customer_name: val.customerName,\n status: val.status,\n due_date: val.paymentDueDate,\n outstanding_amount: val.outstandingBalance,\n };\n }) ?? []\n );\n });\n }\n\n // GET on /api/v1/Invoices/{id}\n async function get(id: string): Promise {\n return invoicesClient.getInvoice(id, \"Company,Customer,Payments,CreditMemos\").then((data) => {\n setCustomerName(data?.company?.companyName ?? \"N/A\");\n return data;\n });\n }\n\n return (\n \n {children}\n \n );\n};\n\nexport default InvoiceProvider;\n","// Imports from react\nimport React, { useState, useRef, useEffect, KeyboardEvent } from \"react\";\n// Import assets\nimport CloseImg from \"../../../../assets/Close.svg\";\n// Import reusable styled-components\nimport Button, { ButtonProps } from \"../../Button/Button\";\nimport { Input } from \"../../Input/Input\";\n// Imports from react-router-dom\nimport { useHistory } from \"react-router-dom\";\nimport { DropdownArrow, Filter } from \"../../Icons/Icons\";\nimport \"./FilterButton.scss\";\nimport Dropdown from \"../../Dropdown/Dropdown\";\nimport { InvoiceStatusType } from \"../../../../types/enums\";\nimport { InvoiceContext } from \"../../../../contexts/InvoiceContext\";\n\n// Defines Filter Button Props\ninterface FilterButtonProps extends ButtonProps {\n // TODO: Find type for headerProps\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n headerProps: any;\n anchor: \"left\" | \"right\" | \"center\";\n}\n\n/**\n * * Defines the Filter Button on a Table\n */\nexport function FilterButton(props: FilterButtonProps): React.ReactElement {\n // References the Filter Button's Popup\n const popupRef = useRef(null);\n // Indicates hover state\n const [isHover, setIsHover] = useState(false);\n // Indicates whether popup is shown\n const [isPopup, setIsPopup] = useState(false);\n // Indicates whether a filter has been set\n const [isFilter, setIsFilter] = useState(false);\n const [altDisplayText, setAltDisplayText] = useState(\"Select\");\n // Holds the input value from the input bar, defaults to query string\n const [input, setInput] = useState(() => {\n const params = new URLSearchParams(window.location.search);\n const value = params.get(props.headerProps.id);\n if (value) setIsFilter(true);\n return value;\n });\n const { setLastFilterItem } = React.useContext(InvoiceContext) as InvoiceType;\n\n // Get History handler from react-router-dom\n const history = useHistory();\n\n // Trigger reload data with new filter (Add current filter)\n function handleSetFilter(value: string | null) {\n // Set filter on and close popup\n setIsFilter(true);\n setIsPopup(false);\n setIsHover(false);\n setLastFilterItem(props.headerProps.id);\n\n // Add filter to query string\n const params = new URLSearchParams(window.location.search);\n params.delete(props.headerProps.id);\n if (value) params.append(props.headerProps.id, value);\n history.push({ search: params.toString().replace(/[?&]$/, \"\") });\n }\n\n const setDropStatusText = (value: string | null) => {\n if (!value) {\n setInput(null);\n setAltDisplayText(\"Select\");\n return;\n }\n if (value) {\n setAltDisplayText(InvoiceStatusType[parseInt(value)]);\n setInput(value);\n return;\n }\n };\n\n // Trigger reload data with new filter (Delete current filter)\n function handleClearFilter() {\n // Set filter off and close popup\n setIsFilter(false);\n setIsPopup(false);\n setIsHover(false);\n\n // Delete filter from query string\n const params = new URLSearchParams(window.location.search);\n params.delete(props.headerProps.id);\n history.push({ search: params.toString().replace(/[?&]$/, \"\") });\n }\n\n function handleKeyDown(e: KeyboardEvent) {\n if (e.key === \"Enter\" && input) handleSetFilter(input);\n else if (e.key === \"Escape\") {\n setIsPopup(false);\n setIsHover(false);\n }\n }\n\n // Handles closing popup when clicking outside\n useEffect(() => {\n // Toggle off popup if clicking outside of the wrapper (TODO: remove any)\n function handleClickOutside(e: Event) {\n if (popupRef.current && !popupRef.current.contains(e.target as unknown as Node)) {\n setIsPopup(false);\n }\n }\n // Add event listener\n document.addEventListener(\"mousedown\", handleClickOutside);\n // Clean up\n return () => {\n document.removeEventListener(\"mousedown\", handleClickOutside);\n };\n }, [popupRef]);\n\n return props.headerProps.showFilter ? (\n
\n setIsPopup((prev) => !prev)}\n onMouseEnter={() => setIsHover(true)}\n onMouseLeave={() => setIsHover(false)}\n >\n \n
\n {isPopup && (\n
\n {\n setIsPopup(false);\n setIsHover(false);\n }}\n >\n \"close\n \n

Filter By {props.headerProps.Header}

\n {!props.headerProps.dropdownOptions ? (\n ) => handleKeyDown(e)}\n />\n ) : (\n setDropStatusText(onSelectValue)}\n defaultValue={input}\n displayValue={altDisplayText}\n iconAlign=\"right\"\n icon={}\n />\n )}\n
\n handleClearFilter()}\n >\n Clear Filters\n \n \n
\n
\n )}\n \n ) : (\n <>\n );\n}\n","import React, { useState } from \"react\";\nimport { ButtonProps } from \"../../Button/Button\";\nimport { useHistory } from \"react-router-dom\";\nimport { Ascending, Descending } from \"../../Icons/Icons\";\nimport \"./SortButton.scss\";\n\n// Defines Sort Button Props\ninterface SortButtonProps extends ButtonProps {\n // TODO: Find type for headerProps\n\n //@typescript-eslint/ban-ts-comment\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n headerProps: any;\n label: React.ReactNode;\n isDefault?: boolean;\n}\n\n/**\n * * Defines the Sort Button on a Table\n */\nexport function SortButton(props: SortButtonProps): React.ReactElement {\n // Get History handler from react-router-dom\n const history = useHistory();\n // Represents whether the Sort is Active on a column of the Table\n const [isActive, setIsActive] = useState(() => {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n if (!props.headerProps?.showSort) return false;\n const params = new URLSearchParams(window.location.search);\n const value = params.get(\"sort\");\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n if (props.headerProps?.sortField) {\n const sortFieldDesc = props.headerProps.sortField\n .split(\", \")\n .map((field: string) => field + \" DESC\")\n .join(\", \");\n return (value === props.headerProps?.sortField || value == sortFieldDesc) ?? false;\n } else {\n return (value === props.headerProps?.searchlightField || value === props.headerProps?.searchlightField + \" DESC\") ?? false;\n }\n });\n // Represents whether the Sort is descending on a column of the Table\n const [isDescending, setDescending] = useState(() => {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n if (!props.headerProps?.showSort) return false;\n const params = new URLSearchParams(window.location.search);\n const value = params.get(\"sort\");\n if (\n isActive &&\n value?.includes(\n props.headerProps?.sortField\n ? props.headerProps?.sortField\n .split(\", \")\n .map((field: string) => field + \" DESC\")\n .join(\", \")\n : props.headerProps?.searchlightField + \" DESC\"\n )\n ) {\n return true;\n } else {\n return false;\n }\n });\n\n // Handles on click events for the Sort Button\n function handleChange() {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n if (!props.headerProps?.showSort) {\n return;\n }\n const params = new URLSearchParams(window.location.search);\n params.delete(\"sort\");\n if (!isActive) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n params.append(\"sort\", props.headerProps?.sortField ?? props.headerProps?.searchlightField);\n setIsActive(true);\n } else {\n if (!isDescending) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n params.append(\n \"sort\",\n `${\n props.headerProps?.sortField\n ? props.headerProps?.sortField\n .split(\", \")\n .map((field: string) => field + \" DESC\")\n .join(\", \")\n : props.headerProps?.searchlightField + \" DESC\"\n }`\n );\n setDescending(true);\n } else {\n params.delete(\"sort\");\n setDescending(false);\n setIsActive(false);\n }\n }\n history.push({ search: params.toString().replace(/[?&]$/, \"\") });\n }\n\n function handleChangeDefault() {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n if (!props.headerProps?.showSort) {\n return;\n }\n const params = new URLSearchParams(window.location.search);\n params.delete(\"sort\");\n if (!isDescending) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n params.append(\n \"sort\",\n `${\n props.headerProps?.sortField\n ? props.headerProps?.sortField\n .split(\", \")\n .map((field: string) => field + \" DESC\")\n .join(\", \")\n : props.headerProps?.searchlightField + \" DESC\"\n }`\n );\n setDescending(true);\n } else {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n params.append(\"sort\", `${props.headerProps?.sortField ?? props.headerProps?.searchlightField}`);\n setDescending(false);\n }\n history.push({ search: params.toString().replace(/[?&]$/, \"\") });\n }\n\n return (\n (!props.disabled ? (props.isDefault ? handleChangeDefault() : handleChange()) : null)}\n >\n

{props.label}

\n {/*// eslint-disable-next-line @typescript-eslint/no-explicit-unknown\n */}\n\n {props.headerProps?.showSort &&\n (isDescending ? (\n \n ) : !isActive ? (\n props.isDefault ? (\n \n ) : (\n \n )\n ) : (\n \n ))}\n \n );\n}\n","import React, { useState, useRef, useEffect } from \"react\";\nimport { CSVLink } from \"react-csv\";\n\nimport Button, { ButtonProps } from \"../../Button/Button\";\nimport { Export } from \"../../Icons/Icons\";\n\ninterface ExportButtonProps extends ButtonProps {\n exportFileName: string;\n getExportData?: any;\n}\n\nexport function ExportButton(props: ExportButtonProps): React.ReactElement {\n const [isLoading, setLoading] = useState(false);\n const [exportData, setExportData]: any[] = useState([]);\n const csvInstance = useRef(null);\n\n async function handleOnClick() {\n setLoading(true);\n\n try {\n const data = await props.getExportData();\n setExportData(data);\n } catch (error) {\n console.log(error);\n }\n\n setLoading(false);\n }\n\n useEffect(() => {\n if ((exportData?.length ?? 0) > 0 && csvInstance && csvInstance.current && csvInstance.current.link) {\n setTimeout(() => {\n csvInstance.current.link.click();\n setExportData([]);\n });\n }\n }, [exportData]);\n\n return (\n <>\n \n\n {(exportData?.length ?? 0) > 0 ? (\n \n ) : undefined}\n \n );\n}\n","import React from 'react';\nimport Button from \"../Button/Button\";\nimport './SoftAlert.scss';\n\ninterface SoftAlertProps {\n alertMessage: string;\n buttonText: string;\n onClick: () => void;\n badParam: string;\n}\n\nexport default function SoftAlert(props: SoftAlertProps): React.ReactElement {\n return (\n
\n

{props.alertMessage}

\n
\n \n
\n
\n )\n}","import React from \"react\";\nimport { RequestApproval, AssignTo, MarkAsUnread, MoveTo, Snoozed, Closed, Spam } from \"../../../library/Icons/Icons\";\nimport Button from \"../../../library/Button/Button\";\n// import Tooltip from \"../../../library/Tooltip/Tooltip\";\nimport \"./Hoverbar.scss\"\n// import { Tooltip } from \"@mui/material\";\n\ntype hoverBarProps = {\n barriers?: boolean\n}\n\nexport default function HoverBar(props: hoverBarProps): React.ReactElement {\n const handleClick = (type: string) => {\n switch(type) {\n case \"Request Approval\":\n return console.info(type);\n case \"Assign To\":\n return console.info(type);\n case \"Mark as Unread\": \n return console.info(type);\n case \"Move To\": \n return console.info(type);\n case \"Snoozed\": \n return console.info(type);\n case \"Closed\": \n return console.info(type);\n case \"Spam\": \n return console.info(type);\n default:\n console.log(\"Handle default behavior\") \n }\n }\n\n return (\n
\n
\n )\n}","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { HeaderProps, Row, TableToggleAllRowsSelectedProps } from \"react-table\";\n\ninterface GetConditionalAllRowsSelectedProps {\n headerProps: React.PropsWithChildren>;\n isRowSelectable: (row: Row) => boolean;\n shouldSelectPage?: boolean;\n}\n\ninterface CheckboxProps extends TableToggleAllRowsSelectedProps {\n disabled: boolean;\n}\n\n/**\n * A convenience method for react-table headers for allowing conditional select\n * @param headerProps react-table's header props\n * @param isRowSelectable A predicate - based on your business logic - to determine whether a given row should be selectable\n * @param setShowSelectAll React setter for showing select all menu\n * @param shouldSelectPage Whether to allow page selection. Default: true\n * @returns Modified `checkboxProps` to enforce the conditional select\n */\nexport const getConditionalAllRowsSelectedProps = ({\n headerProps,\n isRowSelectable,\n shouldSelectPage = true,\n}: GetConditionalAllRowsSelectedProps): CheckboxProps => {\n const checkAllRowsSelected = (rows: Row[]) => rows.filter(isRowSelectable).every((row) => row.isSelected);\n const isSelectPage = shouldSelectPage && headerProps.page.filter(isRowSelectable).some((row) => !row.isSelected);\n\n // Number of rows selected\n const selectedCount = Object.keys(headerProps.state.selectedRowIds).length;\n // Nuber of total rows\n const totalCount = (headerProps.state as any).totalCount;\n\n const checkboxProps = isSelectPage ? headerProps.getToggleAllPageRowsSelectedProps() : headerProps.getToggleAllRowsSelectedProps();\n\n const disabled = headerProps.rows.filter(isRowSelectable).length === 0;\n const checked = !disabled && checkAllRowsSelected(headerProps.rows) && selectedCount === totalCount;\n const indeterminate = !checked && selectedCount > 0;\n\n const onChange = () => {\n // If we're in Select All and all selectable rows are already selected: deselect all rows\n if (!isSelectPage && checkAllRowsSelected(headerProps.rows)) {\n headerProps.rows.forEach((row) => {\n headerProps.toggleRowSelected(row.id, false);\n });\n } else {\n // Otherwise:\n // First, define the rows to work with: if we're in Select Page, use `headerProps.page`, otherwise (Select All) use headerProps.rows\n const rows = isSelectPage ? headerProps.page : headerProps.rows;\n // Then select every selectable row\n rows.forEach((row) => {\n const checked = isRowSelectable(row);\n headerProps.toggleRowSelected(row.id, checked);\n });\n }\n };\n\n return {\n ...checkboxProps,\n onChange,\n checked,\n indeterminate,\n disabled,\n };\n};\n","export default class APIClientUtils {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n public static buildErrorMessage(error: any):string {\n let msg = \"An error has occurred, please retry\";\n\n if (error) {\n if (error.response) {\n if (error.response.data && Array.isArray(error.response.data) && error.response.data.length > 0) {\n if (error.response.data[0].FieldValue) {\n msg = `Sorry, we could not find results for\\n\"${error.response.data[0].FieldValue}\"`;\n } else if (error.response.data[0].ErrorName) {\n msg = `Sorry, the following error occurred:\\n${error.response.data[0].ErrorName}`;\n }\n } else {\n switch (error.response.status) {\n case 400:\n msg = \"A bad request was made\";\n break;\n case 401:\n msg = \"You are not unauthorized\";\n break;\n case 403:\n msg = \"You are not allowed to perform the operation\";\n break;\n case 404:\n msg = \"A resource could not be found\";\n break;\n case 500:\n msg = \"An unexpected server error occurred\";\n break;\n case 503:\n msg = \"A service is currently unavailable\";\n break;\n }\n }\n } else if (error.message) {\n msg = `Error: ${error.message}`;\n }\n }\n\n return msg;\n }\n}\n","/* eslint-disable @typescript-eslint/no-unused-vars */\n/* eslint-disable @typescript-eslint/no-explicit-any */\n// Imports from react\nimport React, { useMemo, useEffect, MouseEvent, useState, useRef, forwardRef, useImperativeHandle, SetStateAction, Dispatch } from \"react\";\n// Imports from react-table\nimport { useTable, usePagination, useRowSelect, TableInstance, HeaderProps, TableState } from \"react-table\";\n// Import reusable styled-components\nimport { InputWithIcon } from \"../Input/Input\";\nimport IndeterminateCheckbox from \"./Checkbox/Checkbox\";\nimport { FilterButton } from \"./FilterButton/FilterButton\";\nimport { SortButton } from \"./SortButton/SortButton\";\nimport { ExportButton } from \"./ExportButton/ExportButton\";\nimport Loading from \"../Loading/Loading\";\nimport { DropdownArrow, TooltipIcon, LeftArrow, RightArrow } from \"../Icons/Icons\";\n// Imports from react-router-dom\nimport { useHistory, useRouteMatch } from \"react-router-dom\";\nimport Dropdown from \"../Dropdown/Dropdown\";\nimport { OverlayScrollbarsComponent } from \"overlayscrollbars-react\";\nimport NoData from \"../NoData/NoData\";\nimport Button, { ButtonProps } from \"../Button/Button\";\nimport SoftAlert from \"../SoftAlert/SoftAlert\";\nimport { useContext } from \"react\";\nimport { InvoiceContext } from \"../../../contexts/InvoiceContext\";\nimport { InvoiceStatusType } from \"../../../types/enums\";\nimport { Tooltip, IconButton } from \"@mui/material\";\nimport { DateTime } from \"luxon\";\nimport HoverBar from \"../../Activities/Mine/HoverBar/Hoverbar\";\nimport { getConditionalAllRowsSelectedProps } from \"./getConditionalAllRowsSelectedProps\";\nimport APIClientUtils from \"../../../utils/APIClientUtils/APIClientUtils\";\nimport \"./Table.scss\";\n\nconst INTERVAL_SIZE = 40;\nconst DROPDOWNOPTIONS = [\n { onClickValue: 25, value: \"25 items per page\", id: \"25\" },\n { onClickValue: 50, value: \"50 items per page\", id: \"50\" },\n { onClickValue: 100, value: \"100 items per page\", id: \"100\" },\n { onClickValue: 150, value: \"150 items per page\", id: \"150\" },\n];\n\n// Defines a Type for Column Headers\ninterface ColumnHeaderType {\n Header: string;\n accessor: string;\n searchlightField?: string;\n searchlightToken?: string;\n sortField?: string;\n upperBoundToken?: string;\n}\n\ninterface HeaderButton {\n component: React.ReactElement;\n hideOnRowSelect?: boolean;\n}\n\ninterface RowSelectButton extends Omit {\n callback: (ids: string[]) => void;\n}\n\ntype dataSet = {\n id: string;\n displayName: string;\n rowSelectToken?: string;\n data: {\n tableData: TableData[];\n setTableData: Dispatch>;\n fetchCall: (filter?: string, include?: string, order?: string, pageSize?: number, pageNumber?: number) => Promise;\n fetchParser: (response: FetchResult, variant?: FetchVariant) => Partial[];\n includeOption?: string;\n selectAllFilter?: string;\n };\n columns: ColumnHeaderType[] | null;\n columnDeps?: any;\n hiddenColumns?: string[];\n export?: {\n exportFileName: string;\n };\n defaultSort?: string;\n defaultSortToken?: string;\n handleRowClick: (e: MouseEvent, row: { original: { [key: string]: unknown } }) => void;\n predefinedFilters?: tabFilter[];\n};\n\nconst defaultProps = {\n toggles: {\n showCaption: true as boolean,\n showRowSelect: true as boolean,\n showNavigation: true as boolean,\n showExportBtn: true as boolean,\n showSearchbar: true as boolean,\n },\n};\n\n// Defines the Table Props\ntype Props = {\n title?: string;\n dataSets: dataSet[];\n states: {\n isLoading: boolean;\n setLoading: Dispatch>;\n isError: boolean;\n setError: Dispatch>;\n errorMessage: string;\n setErrorMessage: Dispatch>;\n };\n pagination: {\n pageCount: number;\n setPageCount: Dispatch>;\n pageNumber: number;\n setPageNumber: Dispatch>;\n totalCount: number;\n setTotalCount: Dispatch>;\n };\n toggles?: {\n showCaption?: boolean;\n showNavigation?: boolean;\n showRowSelect?: boolean;\n showExportBtn?: boolean;\n showSearchbar?: boolean;\n };\n hoverBar?: boolean;\n email?: boolean;\n headerBtns?: HeaderButton[];\n rowSelectBtns?: (RowSelectButton | \"divider\")[];\n onRowSelect?: (val: any) => void;\n} & Partial;\n\n/**\n * * Defines a reusable Table from react-table\n */\n// eslint-disable-next-line react/display-name\nconst Table = forwardRef((props: Props, ref) => {\n const params = new URLSearchParams(window.location.search);\n const { url } = useRouteMatch();\n const history = useHistory();\n const [pageSize, setPageSize] = useState(25);\n const { lastFilterItem, setLastFilterItem } = useContext(InvoiceContext) as InvoiceType;\n const [dataSetIndex, setDataSetIndex] = useState(() => {\n const dataSetIndexQueryString = parseInt(params.get(\"dataSetIndex\") ?? \"0\", 10);\n if (isNaN(dataSetIndexQueryString)) {\n return 0;\n } else {\n return dataSetIndexQueryString <= 0\n ? 0\n : dataSetIndexQueryString >= props.dataSets.length - 1\n ? props.dataSets.length - 1\n : dataSetIndexQueryString;\n }\n });\n const data = useMemo(() => props.dataSets[dataSetIndex].data.tableData, [props.dataSets[dataSetIndex].data.tableData]);\n const columns = useMemo(\n () => props.dataSets[dataSetIndex].columns,\n [dataSetIndex, props.pagination.totalCount, ...(props?.dataSets[dataSetIndex]?.columnDeps ? props?.dataSets[dataSetIndex]?.columnDeps : [])]\n );\n // Row-select states\n const [currentSelectedRows, setCurrentSelectedRows] = useState({});\n const [allRowsSelected, setAllRowsSelected] = useState(false);\n const [showSelectAll, setShowSelectAll] = useState(false);\n\n const addInvoiceDaysPastDueFilters = (\n value: string | null,\n searchlightField: string | null,\n searchlightToken: string | null,\n filters: any[],\n upperBoundToken?: string | null\n ) => {\n const valueInt = parseInt(value ?? \"0\");\n const status = InvoiceStatusType[valueInt];\n const today = DateTime.utc(DateTime.utc().year, DateTime.utc().month, DateTime.utc().day);\n\n if (!value || !searchlightField || !searchlightToken) {\n return;\n }\n\n if (status === \"CLOSED\") {\n filters.push({ field: \"STATUS\", token: \"eq\", value: \"CLOSED\" });\n } else if (status === \"OPEN\") {\n filters.push({ field: \"STATUS\", token: \"eq\", value: \"OPEN\" });\n } else {\n filters.push({ field: \"STATUS\", token: \"ne\", value: \"CLOSED\" });\n filters.push({\n field: \"PAYMENTDUEDATE\",\n token: searchlightToken,\n value: today.minus({ days: valueInt }),\n });\n }\n\n if (upperBoundToken && valueInt >= 0 && valueInt < 90) {\n filters.push({\n field: \"PAYMENTDUEDATE\",\n token: upperBoundToken,\n value: today.minus({ days: valueInt + 30 }),\n });\n }\n };\n\n // * Get Searchlight formatted order from URL Query param 'sort'\n function getSortFromURL(): string | undefined {\n return params.get(\"sort\") ?? undefined;\n }\n\n // * Get Searchlight formatted filters from URL Query params (Defined in Columns)\n function getFilterFromURL(): string {\n const ret: string[] = [];\n // Handle user-defined filters\n const filters: any[] = [];\n\n columns.map((column: ColumnHeaderType) => {\n const value = params.get(column.accessor)?.replaceAll(/'/g, \"''\") ?? null;\n const searchlightField = column.searchlightField;\n\n if (value && searchlightField === \"DAYSPASTDUE\") {\n addInvoiceDaysPastDueFilters(value, searchlightField, column.searchlightToken ?? null, filters, column.upperBoundToken ?? null);\n } else {\n filters.push({ field: column.searchlightField ?? null, token: column.searchlightToken ?? null, value: value ?? null });\n }\n });\n filters.forEach((filter: { field: string; token: string; value: string | null }) => {\n if (filter.value !== null) {\n ret.push(`(${filter.field} ${filter.token} '${filter.value}')`);\n }\n });\n\n // Handle pre-defined\n if (props?.dataSets[dataSetIndex].predefinedFilters) {\n const childPath = url.slice(url.lastIndexOf(\"/\") + 1);\n props?.dataSets[dataSetIndex].predefinedFilters?.forEach((filter: tabFilter) => {\n if (filter.route === childPath) {\n ret.push(filter.searchlightFilter);\n }\n });\n }\n return ret.join(\" AND \");\n }\n\n /**\n * * Helper function for current data set's fetch call. Calls to fetchParser (on onlyIds = true).\n * @param onlyIds - If true, return only ids. Otherwise, returns parsed Table Data Array.\n * @returns Generic Fetch result with records replaced by parsed Table Data Array\n */\n const fetch = async (variant?: FetchVariant, additionalFilters?: string): Promise => {\n return await props.dataSets[dataSetIndex].data\n .fetchCall(\n [getFilterFromURL(), additionalFilters].filter((x) => !!x).join(\" AND \"),\n variant === \"id\" ? undefined : props.dataSets[dataSetIndex].data.includeOption,\n getSortFromURL(),\n variant === \"id\" || variant === \"export\" ? 10000 : pageSize,\n variant === \"id\" || variant === \"export\" ? 0 : props.pagination.pageNumber\n )\n .then((fetchResult: FetchResult) => {\n return { ...fetchResult, records: props.dataSets[dataSetIndex].data.fetchParser(fetchResult, variant) };\n });\n };\n\n /**\n * * Fetches parsed Table Data and sets loading, error, and pagintion states\n * @param disableLoad - If true, disables loading animation. Otherwise, show loading animation.\n */\n const fetchTableData = async (disableLoad?: boolean) => {\n props.states.setError(false);\n props.states.setErrorMessage(\"\");\n props.states.setLoading(!disableLoad);\n try {\n const fetchResult = await fetch(\"all\");\n props.dataSets[dataSetIndex].data.setTableData(fetchResult?.records ?? []);\n props.pagination.setPageCount(Math.ceil((fetchResult.totalCount ?? 0) / (fetchResult.pageSize ?? 12)));\n props.pagination.setTotalCount(fetchResult.totalCount ?? 0);\n } catch (err: any) {\n props.states.setError(true);\n props.states.setErrorMessage(APIClientUtils.buildErrorMessage(err));\n } finally {\n props.states.setLoading(false);\n }\n };\n\n /**\n * * Fetches all ids of rows, excluding those which are disabled\n * @returns Array of Table Data consisting only of ids\n */\n const fetchAllRowIds = async (additionalFilters?: string): Promise => {\n try {\n return (await fetch(\"id\", additionalFilters))?.records ?? [];\n } catch (err: any) {\n props.states.setError(true);\n props.states.setErrorMessage(APIClientUtils.buildErrorMessage(err));\n return [];\n }\n };\n\n const { dispatch, getTableBodyProps, headerGroups, prepareRow, page, visibleColumns, state } = useTable(\n {\n columns,\n data,\n initialState: {\n pageIndex: props.pagination.pageNumber ?? 0,\n pageSize: pageSize,\n hiddenColumns: props.dataSets[dataSetIndex].hiddenColumns ?? [],\n selectedRowIds: currentSelectedRows,\n },\n autoResetSelectedRows: false,\n stateReducer: (newState, action, prevState) => {\n newState = { ...newState, totalCount: props.pagination.totalCount } as TableState;\n if (action.type === \"toggleAllRowsAllPagesSelected\") {\n setCurrentSelectedRows(action.payload.currentSelectedRows);\n setAllRowsSelected(action.payload.allRowsSelected);\n return {\n ...newState,\n selectedRowIds: action.payload.currentSelectedRows,\n };\n } else if (action.type === \"clearRowSelection\") {\n setCurrentSelectedRows({});\n setShowSelectAll(false);\n setAllRowsSelected(false);\n return { ...newState, selectedRowIds: {} };\n } else if (action.type === \"toggleRowSelected\") {\n setCurrentSelectedRows(newState.selectedRowIds);\n setAllRowsSelected(Object.keys(newState.selectedRowIds).length === props.pagination.totalCount);\n }\n return newState;\n },\n manualPagination: true,\n pageCount: props.pagination.pageCount,\n getRowId: (row) => row.id,\n },\n usePagination,\n useRowSelect,\n (hooks) => {\n props.toggles?.showRowSelect\n ? hooks.visibleColumns.push((columns) => [\n {\n id: \"selection\",\n // eslint-disable-next-line react/display-name\n Header: (headerProps: HeaderProps<{ totalCount: number }>) => {\n const checkboxProps = getConditionalAllRowsSelectedProps({\n headerProps: { ...headerProps, totalCount: props.pagination.totalCount },\n isRowSelectable: (row) => !row.original.disableCheckbox,\n });\n\n useEffect(() => {\n if (checkboxProps.indeterminate ?? false) {\n setShowSelectAll(true);\n } else if ((checkboxProps.indeterminate ?? false) === false && checkboxProps.checked === false) {\n setShowSelectAll(false);\n }\n }, [checkboxProps.indeterminate, checkboxProps.checked]);\n\n return (\n
\n \n
\n );\n },\n // eslint-disable-next-line react/display-name\n Cell: (props: TableInstance) => {\n return (\n
\n {/*\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore */}\n \n
\n );\n },\n },\n ...columns,\n ])\n : null;\n }\n );\n\n function handleOnChangeDataSetIndex(index: number) {\n params.forEach((_, key: string) => {\n if (key !== \"dataSetIndex\") {\n params.delete(key);\n }\n });\n params.set(\"dataSetIndex\", String(index));\n history.push({ search: params.toString().replace(/[?&]$/, \"\") });\n }\n\n const handleDropdownSelect = (value: string) => {\n const size = parseInt(value);\n if (props.pagination.totalCount < size * ((props.pagination.pageNumber ?? 0) + 1) - (size - 1) && props.pagination.setPageNumber) {\n props.pagination.setPageNumber(0);\n }\n setPageSize(size);\n };\n\n const handleRowRead = (row: any) => {\n return row.isUnread ? \"\" : \" read\";\n };\n\n /**\n * * Exposes useful functions to parent components via refs\n */\n useImperativeHandle(ref, () => ({\n hardRefresh() {\n fetchTableData();\n dispatch({ type: \"clearRowSelection\" });\n },\n softRefresh() {\n fetchTableData(true);\n dispatch({ type: \"clearRowSelection\" });\n },\n getCurrentSelectedRows() {\n const selectedRows = Object.keys(currentSelectedRows) as Array;\n return props.dataSets[dataSetIndex].data.tableData.filter((val) => selectedRows.includes(val.id));\n },\n }));\n\n const handleClearSelection = () => {\n dispatch({ type: \"clearRowSelection\" });\n };\n\n const handleSelectAllPages = () => {\n fetchAllRowIds(props.dataSets[dataSetIndex].data.selectAllFilter).then((data: any) => {\n const dataFormatted = data.reduce((obj: any, item: any) => Object.assign(obj, { [item.id as string]: true }), {});\n setShowSelectAll(true);\n dispatch({\n type: \"toggleAllRowsAllPagesSelected\",\n payload: {\n currentSelectedRows: dataFormatted,\n allRowsSelected: true,\n },\n });\n });\n };\n\n /**\n * * Handles exporting selected row data in batches, returning an array of Table Data elements\n * @returns Table Data Array\n */\n const handleExport = async (): Promise<{ [key: string]: any }[]> => {\n let idList: string[] = [];\n // If no rows selected, then export all rows\n if (Object.keys(currentSelectedRows).length === 0) {\n await fetchAllRowIds().then((data: TableData[]) => {\n idList = data.map((elem: TableData) => elem.id);\n });\n }\n // Otherwise, export selected rows\n else {\n idList = Object.keys(state.selectedRowIds) as Array;\n } \n // Handle fetching row data for idList in batches\n const promises: Promise[] = [];\n for (let i = 0; i < Math.ceil(idList.length / INTERVAL_SIZE); i++) {\n const idListBatch = idList.slice(i * INTERVAL_SIZE, i * INTERVAL_SIZE + INTERVAL_SIZE);\n promises.push(fetch(\"export\", `${props.dataSets[dataSetIndex].rowSelectToken} in (${idListBatch.join(\", \")})`));\n }\n // Flatten FetchResult[] to string[] of ids\n return await Promise.all(promises).then((values) =>\n values.reduce((prev: { [key: string]: any }[], curr: FetchResult) => {\n return [...prev, ...(curr?.records ?? [])];\n }, [])\n );\n };\n\n /**\n * * Removes filter causing Searchlight Error\n */\n const removeBadFilter = () => {\n const params = new URLSearchParams(window.location.search);\n params.delete(lastFilterItem);\n history.push({ search: params.toString().replace(/[?&]$/, \"\") });\n setLastFilterItem(\"\");\n };\n\n // * On mount, handle default sort and fetching table data\n useEffect(() => {\n // Handle default sort\n if (props?.dataSets[dataSetIndex]?.defaultSort && params.get(\"sort\") === null) {\n params.delete(\"sort\");\n const parsedDefaultSort =\n props?.dataSets[dataSetIndex]?.defaultSort\n ?.split(\", \")\n .map(\n (field: string) => field + (props?.dataSets[dataSetIndex]?.defaultSortToken ? ` ${props?.dataSets[dataSetIndex]?.defaultSortToken}` : \"\")\n )\n .join(\", \") ?? \"\";\n params.append(\"sort\", parsedDefaultSort);\n history.push({ search: params.toString().replace(/[?&]$/, \"\") });\n }\n // Handle fetch table data\n fetchTableData();\n }, [props.pagination.pageNumber, pageSize, dataSetIndex]);\n\n // * Handle onRowSelect callback\n useEffect(() => {\n if (props.onRowSelect) {\n const selectedRowIds = Object.keys(currentSelectedRows) as Array;\n props.onRowSelect(props.dataSets[dataSetIndex].data.tableData.filter((val) => selectedRowIds.includes(val.id)));\n }\n }, [currentSelectedRows]);\n\n return (\n \n {/* Table Caption */}\n {props.toggles?.showCaption && (\n
\n {props.title &&

{props.title}

}\n {props.toggles?.showExportBtn && (\n handleExport()}\n exportFileName={props.dataSets[dataSetIndex].export?.exportFileName ?? \"\"}\n alignIcon=\"left\"\n disabled={props.states.isLoading || props.states.isError || props.dataSets[dataSetIndex].data.tableData.length <= 0}\n />\n )}\n {props.headerBtns &&\n props.headerBtns.map((headerBtn: HeaderButton) => {\n return <>{(Object.keys(currentSelectedRows).length === 0 || !headerBtn.hideOnRowSelect) && headerBtn.component};\n })}\n {props.rowSelectBtns &&\n Object.keys(currentSelectedRows).length !== 0 &&\n props.rowSelectBtns.map((elem, index: number) => {\n if (elem === \"divider\") {\n return
|
;\n } else {\n return (\n elem.callback(Object.keys(currentSelectedRows) as Array)}\n />\n );\n }\n })}\n
\n {props.dataSets.length > 1 && (\n }\n defaultValue={props.dataSets[dataSetIndex].displayName}\n options={\n props.dataSets.map((dataSet: dataSet, index: number) => {\n return {\n id: dataSet.id,\n value: dataSet.displayName,\n onClickValue: index,\n };\n }) ?? []\n }\n onClick={handleOnChangeDataSetIndex}\n />\n )}\n {/* TODO: Add onChange handler for Filtering by Input */}\n {props.toggles?.showSearchbar ? null} /> : null}\n
\n
\n )}\n \n \n {/* Table Head */}\n
\n {headerGroups.map((headerGroup, index) => (\n
\n {headerGroup.headers.map((column, index) => {\n return (\n \n
\n {/* Column Content */}\n {index == 0 && props.toggles?.showRowSelect ? (\n column.render(\"Header\")\n ) : (\n <>\n \n {!url.includes(\"closed\") || (url.includes(\"closed\") && column.Header !== \"Status\") ? (\n \n ) : (\n <>\n )}\n {(headerGroup.headers[index] as any).HeaderTooltip && (\n \n \n \n \n \n )}\n \n )}\n
\n
\n );\n })}\n
\n ))}\n {showSelectAll ? (\n
\n
\n {allRowsSelected ? (\n

\n All {Object.keys(currentSelectedRows).length} items have been selected.\n

\n ) : (\n

\n All {Object.keys(currentSelectedRows).length} items on this page have been selected.\n

\n )}\n

\n {allRowsSelected ? \"Clear Selection\" : `Select all ${props.pagination.totalCount} items`}\n

\n
\n
\n ) : (\n <>\n )}\n \n\n {/* Table Body */}\n
\n {props.states.isLoading ? (\n \n ) : props.states.isError ? (\n removeBadFilter()}\n buttonText={\"Clear Filter\"}\n badParam={lastFilterItem}\n >\n ) : page?.length ? (\n page.map((row, index) => {\n prepareRow(row);\n\n return (\n ) => props.dataSets[dataSetIndex].handleRowClick(e, row)}\n >\n {row.cells.map((cell, index) => {\n const sortIsActive = (visibleColumns[index] as any)?.sortField\n ? params.get(\"sort\") === (visibleColumns[index] as any)?.sortField ||\n params.get(\"sort\") ===\n (visibleColumns[index] as any)?.sortField\n .split(\", \")\n .map((field: string) => field + \" DESC\")\n .join(\", \")\n : params.get(\"sort\")?.includes((visibleColumns[index] as any)?.searchlightField);\n return (\n \n {cell.render(\"Cell\")}\n {index !== 0 && sortIsActive &&
}\n {index !== 0 && (visibleColumns[index] as any)?.showFilter &&
}\n
\n );\n })}\n {props.hoverBar && }\n \n );\n })\n ) : (\n \n )}\n \n \n \n {props.pagination.totalCount !== 0 && props.toggles?.showNavigation && (\n
\n handleDropdownSelect(onClickValue)}\n options={DROPDOWNOPTIONS}\n displayValue={`${pageSize * (props.pagination.pageNumber ?? 0) + 1}-${Math.min(\n pageSize * ((props.pagination.pageNumber ?? 0) + 1),\n props.pagination.totalCount\n )}`}\n />\n

of {props.pagination.totalCount}

\n
\n \n props.pagination.setPageNumber && props.pagination.setPageNumber((currPage: number) => (currPage === 0 ? 0 : currPage - 1))\n }\n disabled={props.states.isLoading || props.pagination.totalCount <= 25}\n >\n \n \n \n props.pagination.setPageNumber &&\n props.pagination.setPageNumber((currPage: number) =>\n (currPage + 1) * pageSize >= props.pagination.totalCount ? currPage : currPage + 1\n )\n }\n disabled={props.states.isLoading || props.pagination.totalCount <= 25}\n >\n \n \n
\n
\n )}\n \n );\n});\n\n// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n// @ts-ignore\nTable.defaultProps = defaultProps;\n\nexport default Table;\n","import React from \"react\";\nimport \"./Chip.scss\";\n\n// Chip variant colors\nexport type ChipVariant =\n | \"open\"\n | \"late1\"\n | \"late31\"\n | \"late61\"\n | \"late91\"\n | \"closed\"\n | \"grey\"\n | \"connected\"\n | \"disconnected\"\n | \"active\"\n | \"not-started\"\n | \"activity-closed\";\n\n// Define Chip Props\ninterface ChipProps {\n variant: ChipVariant;\n iconVariant?: \"caution\" | \"danger\";\n text: string;\n size?: \"sm\" | \"lg\";\n className?: string;\n}\n\n// Define Chip ReactElement\n\n/**\n * Chip icon element for displaying invoice status indicators.\n *\n * @param { ChipVariant } variant Type of status indicator, added to chip css class.\n * @param { ChipProps.size } size Options \"sm\", \"lg\". Default is \"lg\"\n * @param { ChipProps.text } text Custom text parameter for \"grey\" indicators. Will not\n * be applied to other variants.\n *\n * @returns Chip ReactElement in div with styles applied.\n */\nexport default function Chip(props: ChipProps): React.ReactElement {\n return (\n
\n
\n

{props.text}

\n
\n );\n}\n","import { DateTime } from \"luxon\";\n\n/**\n * * Returns the number of days between @param date and current date. If @param date is before\n * * current date, return a positive integer. If @param date is after current date, return a\n * * negative integer. Otherwise, return 0.\n * @param date - YYYY-MM-DD date string\n * @returns number or null\n */\nexport const calcDaysBetween = (date: string | null): number | null => {\n if (!date) {\n return null;\n }\n const parsedDate = DateTime.fromFormat(date, \"yyyy-MM-dd\");\n if (!parsedDate.isValid) {\n return null;\n } else {\n return Math.floor(-parsedDate.diffNow(\"days\").days);\n }\n};\n\n/**\n * * Converts Javascript Date Object to , string\n * @param value - Javascript Date Object\n * @returns , \n */\nexport const formatDate = (value: string | null): string => {\n if (!value) {\n return \"N/A\";\n }\n return DateTime.fromFormat(value.split(\"T\")[0], \"yyyy-MM-dd\").toFormat(\"MMM dd, yyyy\");\n};\n\n/**\n * Converts Javascript Date Object to : string\n * @param value Javascript Date Object\n * @returns : \n */\nexport const formatTime = (value: string | null): string => {\n if (!value) {\n return \"N/A\";\n }\n return DateTime.fromSQL((value + \"UTC\").replace(\"T\", \" \").replace(\"Z\", \"\"))\n .toLocaleString(DateTime.TIME_SIMPLE)\n .replace(\" \", \"\");\n};\n\nexport const formatTimeZone = () => {\n return new Date().toLocaleTimeString(\"en-us\", { timeZoneName: \"short\" }).split(\" \")[2];\n};\n\n/**\n * Conversts javascript date object to time elapsed\n * @param date Javascript Date object\n * @returns ** minutes/hours/days/weeks\n */\nexport const formatTimeElapsed = (date: string | null): string | null => {\n if (!date) {\n return null;\n }\n\n const parsedDate = DateTime.fromSQL(date.replace(\"T\", \" \").replace(\"Z\", \"\"), { zone: \"UTC\" });\n if (!parsedDate.isValid) {\n return null;\n } else {\n const timeElapsed = Math.floor(-parsedDate.diffNow(\"minutes\").minutes);\n if (timeElapsed < 60) {\n return `${Math.ceil(timeElapsed)} minutes`;\n }\n if (timeElapsed < 60 * 24) {\n return `${Math.ceil(timeElapsed / 60)} hours`;\n }\n if (timeElapsed < 60 * 24 * 7) {\n return `${Math.ceil(timeElapsed / (60 * 24))} days`;\n }\n return `${Math.ceil(timeElapsed / (60 * 24 * 7))} weeks`;\n }\n};\n","import React, { useRef, useState, useEffect } from \"react\";\n\nimport Chip from \"../../components/library/Chip/Chip\";\nimport { calcDaysBetween, formatDate, formatTime } from \"../../db/utils/date\";\nimport Utils from \"../utils\";\nimport { EmailAttachment, PrimaryContact, UserPic } from \"../../components/library/Icons/Icons\";\nimport \"./TableUtils.scss\";\nimport { Tooltip } from \"@mui/material\";\n\nexport default class TableUtils {\n public static withFormattedCellString(child: string, isLight?: boolean, style?: string): React.ReactElement {\n const wrapperRef = useRef(null);\n const [disableHover, setDisableHover] = useState(false);\n\n function handleResize() {\n if (wrapperRef) {\n if ((wrapperRef.current?.offsetWidth ?? 0) < (wrapperRef.current?.scrollWidth ?? 0)) {\n setDisableHover(false);\n } else {\n setDisableHover(true);\n }\n }\n }\n\n useEffect(() => {\n handleResize();\n window.addEventListener(\"resize\", handleResize);\n return () => window.removeEventListener(\"resize\", handleResize);\n });\n\n return (\n \n
\n {child}\n
\n
\n );\n }\n\n public static withFormattedCellElement(child: React.ReactElement, isLight?: boolean): React.ReactElement {\n return
{child}
;\n }\n\n public static formatString(str: string | null, isLight?: boolean, style?: string): React.ReactElement {\n return this.withFormattedCellString(str || \"N/A\", isLight, style);\n }\n\n public static formatContactString(value: string | null) {\n return
{value}
;\n }\n\n public static formatNumber(num: number | null, isLight?: boolean): React.ReactElement {\n return this.withFormattedCellString(num !== null ? num.toString() : \"N/A\", isLight);\n }\n\n public static formatId(id: string | null, isLight?: boolean): React.ReactElement {\n return this.withFormattedCellString(id ? `#${id}` : \"N/A\", isLight);\n }\n\n public static formatPhoneNumber(value: string | null, style?: string): React.ReactElement {\n return
{Utils.formatPhoneNumber(value ?? \"N/A\")}
;\n }\n\n public static formatStringWithIcon(value: string | null): React.ReactElement {\n return (\n
\n
\n \n
\n
{value}
\n
\n );\n }\n\n public static formatIcon(value: string | null): React.ReactElement {\n let tooltipText;\n if (value === \"primary\") {\n tooltipText = \"Primary\";\n }\n return (\n
\n \n
{value === \"primary\" ? : \"\"}
\n
\n
\n );\n }\n\n public static formatActivity(value: string | { subject: string | null; body: string | null } | null, isUnread: boolean): React.ReactElement {\n if (value) {\n if (value instanceof Object) {\n return (\n
\n {value.subject && value.body ? (\n

\n {value.subject}\n - {value.body}\n

\n ) : value.subject ? (\n

{value.subject}

\n ) : value.body ? (\n

{value.body}

\n ) : (\n this.withFormattedCellString(\"N/A\", false)\n )}\n
\n );\n } else {\n return (\n
\n

{value}

\n
\n );\n }\n } else {\n return this.withFormattedCellString(\"N/A\", false);\n }\n }\n\n public static formatCurrency(num: number | null, isLight?: boolean): React.ReactElement {\n const currency =\n num !== null\n ? new Intl.NumberFormat(\"en-US\", {\n maximumFractionDigits: 2,\n minimumFractionDigits: 2,\n style: \"currency\",\n currency: \"USD\",\n }).format(num)\n : \"N/A\";\n return this.withFormattedCellString(currency, isLight);\n }\n\n public static formatAttachmentIcon(hasAttachment?: boolean): React.ReactElement {\n if (!hasAttachment) return <>;\n return this.withFormattedCellElement();\n }\n\n public static formatActivityBody(content: string[] | null, isUnread?: boolean): React.ReactElement {\n if (content) {\n if (isUnread) {\n return (\n <>\n
\n {content[0]} - {content[1]}\n
\n \n );\n } else {\n return (\n <>\n
\n {content[0]} - {content[1]}\n
\n \n );\n }\n } else {\n return this.withFormattedCellString(\"N/A\", false);\n }\n }\n\n public static formatActivitySimple(value: string | null, isUnread?: boolean): React.ReactElement {\n if (!value) return this.withFormattedCellString(\"N/A\", false);\n return (\n
\n

{value}

\n
\n );\n }\n\n public static formatActivitySentDate(date: string | null, isUnread?: boolean): React.ReactElement {\n if (date) {\n const diffDays = calcDaysBetween(date.split(\"T\")[0]);\n if (diffDays == 0) {\n return this.formatActivitySimple(formatTime(date), isUnread);\n }\n if (diffDays == 1) {\n return this.formatActivitySimple(\"Yesterday\", isUnread);\n }\n return this.formatActivitySimple(formatDate(date), isUnread);\n } else {\n return this.withFormattedCellString(\"N/A\");\n }\n }\n\n public static formatDate(date: string | null, isLight?: boolean, style?: string): React.ReactElement {\n return this.withFormattedCellString(formatDate(date), isLight, style);\n }\n\n public static formatLastActivity(date: string | null, isLight?: boolean): React.ReactElement {\n const diffDays = calcDaysBetween(date);\n const lastActivity =\n diffDays === null\n ? \"N/A\"\n : diffDays === 0\n ? \"Today\"\n : diffDays === 1\n ? \"Yesterday\"\n : diffDays >= 2 && diffDays <= 7\n ? `${diffDays} days ago`\n : formatDate(date);\n return this.withFormattedCellString(lastActivity, isLight);\n }\n\n public static formatDaysLate(num: number | null, isLight?: boolean): React.ReactElement {\n const daysLate = num !== null ? (num <= 0 ? \"N/A\" : num === 1 ? \"1 day\" : `${num} days`) : \"N/A\";\n return this.withFormattedCellString(daysLate, isLight);\n }\n\n public static formatActivityStatus(status: string | null): React.ReactElement {\n if (status) {\n if (status === \"active\") {\n return this.withFormattedCellElement();\n }\n if (status === \"closed\") {\n return this.withFormattedCellElement();\n }\n }\n return this.withFormattedCellElement();\n }\n\n public static formatDocumentStatus(status: string | null): React.ReactElement {\n if (status && status === \"active\") {\n return this.withFormattedCellElement();\n }\n return this.withFormattedCellElement();\n }\n\n public static formatStatus(dueDate: string | null, status?: string | null, isLight?: boolean): React.ReactElement {\n // Check for an empty date\n if (status && status === \"Closed\") {\n return this.withFormattedCellElement(, isLight);\n }\n if (!dueDate || !dueDate.trim()) {\n return this.withFormattedCellElement(, isLight);\n }\n const diffDays = calcDaysBetween(dueDate);\n if (diffDays === null) {\n return this.withFormattedCellElement(, isLight);\n }\n if (diffDays <= 0) {\n return this.withFormattedCellElement(, isLight);\n } else if (diffDays <= 30) {\n return this.withFormattedCellElement(, isLight);\n } else if (diffDays >= 31 && diffDays <= 60) {\n return this.withFormattedCellElement(, isLight);\n } else if (diffDays >= 61 && diffDays <= 90) {\n return this.withFormattedCellElement(, isLight);\n } else {\n return this.withFormattedCellElement(, isLight);\n }\n }\n\n public static formatPaymentType(type: string | null, isLight?: boolean): React.ReactElement {\n let paymentType = \"N/A\";\n if (type === \"Check\") {\n paymentType = \"Check\";\n } else if (type === \"Wire\") {\n paymentType = \"Wire\";\n } else if (type === \"Cash\") {\n paymentType = \"Cash\";\n } else if (type === \"CreditCard\") {\n paymentType = \"Credit Card\";\n } else if (type === \"CR\") {\n paymentType = \"Cash Receipt\";\n } else if (type === \"RV\") {\n paymentType = \"Reversal\";\n }\n return this.withFormattedCellString(paymentType, isLight);\n }\n\n public static formatList(list: string[] | null, isLight?: boolean): React.ReactElement {\n let invoiceText = \"\";\n let invoiceTooltip: string | React.ReactElement = \"\";\n\n if (Array.isArray(list) && list.length > 0) {\n if (list.length === 1) {\n invoiceText = invoiceTooltip = list[0];\n } else {\n invoiceText = `${list.length} Applications`;\n invoiceTooltip = (\n
\n {list.map((elem: string, index: number) => {\n return (\n <>\n {elem}\n {index !== list.length - 1 &&
}\n \n );\n })}\n
\n );\n }\n } else {\n invoiceText = invoiceTooltip = \"N/A\";\n }\n\n const wrapperRef = useRef(null);\n const [disableHover, setDisableHover] = useState(false);\n\n function handleResize() {\n if (wrapperRef) {\n if ((wrapperRef.current?.offsetWidth ?? 0) < (wrapperRef.current?.scrollWidth ?? 0) || (list?.length ?? 0) > 1) {\n setDisableHover(false);\n } else {\n setDisableHover(true);\n }\n }\n }\n\n useEffect(() => {\n handleResize();\n window.addEventListener(\"resize\", handleResize);\n return () => window.removeEventListener(\"resize\", handleResize);\n });\n\n return (\n \n
\n {invoiceText}\n
\n
\n );\n }\n}\n","import React, { useState, MouseEvent } from \"react\";\nimport { useHistory, useRouteMatch } from \"react-router\";\nimport Table from \"../../../../library/Table/Table\";\nimport TableUtils from \"../../../../../utils/TableUtils/TableUtils\";\nimport { companiesClient } from \"../../../../../db/accessor\";\n\nconst CUSTOMERSCOLUMNS = [\n {\n Header: \"Customer Name\",\n accessor: \"customer_name\",\n width: \"18.75%\",\n showFilter: true,\n popupPlaceholder: \"ex. Blushing Blooms\",\n showSort: true,\n searchlightField: \"COMPANYNAME\",\n searchlightToken: \"CONTAINS\",\n alignment: \"left\",\n Cell: (props: { value: string | null }) => TableUtils.formatString(props.value, false),\n },\n {\n Header: \"Primary Contact\",\n accessor: \"primary_contact\",\n width: \"17.5%\",\n showFilter: true,\n popupPlaceholder: \"ex. John Doe\",\n showSort: true,\n searchlightField: \"PRIMARYCONTACT\",\n sortField: \"PRIMARYCONTACT, COMPANYNAME\",\n searchlightToken: \"CONTAINS\",\n alignment: \"left\",\n Cell: (props: { value: string | null }) => TableUtils.formatString(props.value, false),\n },\n {\n Header: \"Past Due Invoices\",\n accessor: \"past_due_invoices\",\n width: \"15%\",\n showFilter: true,\n popupPlaceholder: \"ex. 100\",\n showSort: true,\n searchlightField: \"TOTALINVOICESPASTDUE\",\n sortField: \"TOTALINVOICESPASTDUE, AMOUNTPASTDUE\",\n searchlightToken: \"EQ\",\n alignment: \"right\",\n Cell: (props: { value: number | null }) => TableUtils.formatNumber(props.value, true),\n },\n {\n Header: \"Past Due Amount\",\n accessor: \"past_due_amount\",\n width: \"17.5%\",\n showFilter: true,\n popupPlaceholder: \"ex. 100\",\n showSort: true,\n searchlightField: \"AMOUNTPASTDUE\",\n sortField: \"AMOUNTPASTDUE, TOTALINVOICESPASTDUE\",\n searchlightToken: \"EQ\",\n alignment: \"right\",\n Cell: (props: { value: number | null }) => TableUtils.formatCurrency(props.value, true),\n },\n {\n Header: \"% of Total Balance\",\n accessor: \"percent_of_total\",\n width: \"16.25%\",\n showFilter: true,\n popupPlaceholder: \"ex. 100\",\n showSort: true,\n searchlightField: \"PERCENTOFTOTALAR\",\n sortField: \"PERCENTOFTOTALAR, COMPANYNAME\",\n searchlightToken: \"EQ\",\n alignment: \"right\",\n Cell: (props: { value: number | null }) => TableUtils.formatNumber(props.value, true),\n },\n {\n Header: \"Last Activity\",\n accessor: \"last_activity\",\n width: \"15%\",\n showFilter: true,\n popupPlaceholder: \"ex. 100\",\n showSort: true,\n searchlightField: \"NEWESTACTIVITY\",\n sortField: \"NEWESTACTIVITY, COMPANYNAME\",\n searchlightToken: \"CONTAINS\",\n alignment: \"left\",\n Cell: (props: { value: string | null }) => TableUtils.formatLastActivity(props.value, false),\n },\n];\n\nexport default function PastDueBalance(): React.ReactElement {\n const history = useHistory();\n const { path } = useRouteMatch();\n const [isLoading, setLoading] = useState(true);\n const [isError, setError] = useState(false);\n const [errorMessage, setErrorMessage] = useState(\"\");\n const [tableData, setTableData] = useState([]);\n const [pageCount, setPageCount] = useState(0);\n const [pageNumber, setPageNumber] = useState(0);\n const [totalCount, setTotalCount] = useState(0);\n\n const fetchParser = (fetchResult: CustomerSummaryModelFetchResult, variant?: FetchVariant): Partial[] => {\n return (\n fetchResult?.records?.map((record: CustomerSummaryModel) => {\n return {\n ...((variant === \"id\" || variant === \"all\") && {\n id: record?.companyId,\n }),\n ...((variant === \"export\" || variant === \"all\") && {\n customer_name: record?.companyName || \"N/A\",\n primary_contact: record?.primaryContact || \"N/A\",\n past_due_invoices: record?.totalInvoicesPastDue,\n past_due_amount: record?.amountPastDue,\n percent_of_total: record?.percentOfTotalAr,\n last_activity: record?.newestActivity,\n }),\n ...(variant === \"all\" && {\n disableCheckbox: undefined,\n isUnread: undefined,\n }),\n };\n }) ?? []\n );\n };\n\n function handleCustomerRowClick(\n e: MouseEvent,\n row: {\n original: { id?: string };\n }\n ) {\n sessionStorage.setItem(\"lastPath\", history.location.pathname);\n history.push(\n `${path.substring(0, path.lastIndexOf(\"/dashboard/top_customers\"))}/customers/${\n row.original.id ?? \"\"\n }/open_invoices?sort=PAYMENTDUEDATE+DESC%2C+INVOICENUMBER+DESC`\n );\n }\n\n return (\n 0)\",\n },\n ],\n },\n ]}\n states={{\n isLoading: isLoading,\n setLoading: setLoading,\n isError: isError,\n setError: setError,\n errorMessage: errorMessage,\n setErrorMessage: setErrorMessage,\n }}\n pagination={{\n pageCount: pageCount,\n setPageCount: setPageCount,\n pageNumber: pageNumber,\n setPageNumber: setPageNumber,\n totalCount: totalCount,\n setTotalCount: setTotalCount,\n }}\n toggles={{\n showRowSelect: true,\n showExportBtn: true,\n showCaption: true,\n showNavigation: true,\n showSearchbar: false,\n }}\n />\n );\n}\n","import React, { useState, MouseEvent } from \"react\";\nimport { useHistory, useRouteMatch } from \"react-router\";\nimport Table from \"../../../../library/Table/Table\";\nimport TableUtils from \"../../../../../utils/TableUtils/TableUtils\";\nimport { companiesClient } from \"../../../../../db/accessor\";\n\nconst CUSTOMERSCOLUMNS = [\n {\n Header: \"Customer Name\",\n accessor: \"customer_name\",\n width: \"18.75%\",\n showFilter: true,\n popupPlaceholder: \"ex. Blushing Blooms\",\n showSort: true,\n searchlightField: \"COMPANYNAME\",\n searchlightToken: \"CONTAINS\",\n alignment: \"left\",\n Cell: (props: { value: string | null }) => TableUtils.formatString(props.value, false),\n },\n {\n Header: \"Primary Contact\",\n accessor: \"primary_contact\",\n width: \"17.5%\",\n showFilter: true,\n popupPlaceholder: \"ex. John Doe\",\n showSort: true,\n searchlightField: \"PRIMARYCONTACT\",\n sortField: \"PRIMARYCONTACT, COMPANYNAME\",\n searchlightToken: \"CONTAINS\",\n alignment: \"left\",\n Cell: (props: { value: string | null }) => TableUtils.formatString(props.value, false),\n },\n {\n Header: \"Past Due Invoices\",\n accessor: \"past_due_invoices\",\n width: \"15%\",\n showFilter: true,\n popupPlaceholder: \"ex. 100\",\n showSort: true,\n searchlightField: \"TOTALINVOICESPASTDUE\",\n sortField: \"TOTALINVOICESPASTDUE, COMPANYNAME\",\n searchlightToken: \"EQ\",\n alignment: \"right\",\n Cell: (props: { value: number | null }) => TableUtils.formatNumber(props.value, true),\n },\n {\n Header: \"Past Due Amount\",\n accessor: \"past_due_amount\",\n width: \"17.5%\",\n showFilter: true,\n popupPlaceholder: \"ex. 100\",\n showSort: true,\n searchlightField: \"AMOUNTPASTDUE\",\n sortField: \"AMOUNTPASTDUE, COMPANYNAME\",\n searchlightToken: \"EQ\",\n alignment: \"right\",\n Cell: (props: { value: number | null }) => TableUtils.formatCurrency(props.value, true),\n },\n {\n Header: \"% of Total Balance\",\n accessor: \"percent_of_total\",\n width: \"16.25%\",\n showFilter: true,\n popupPlaceholder: \"ex. 100\",\n showSort: true,\n searchlightField: \"PERCENTOFTOTALAR\",\n sortField: \"PERCENTOFTOTALAR, COMPANYNAME\",\n searchlightToken: \"EQ\",\n alignment: \"right\",\n Cell: (props: { value: number | null }) => TableUtils.formatNumber(props.value, true),\n },\n {\n Header: \"Last Activity\",\n accessor: \"last_activity\",\n width: \"15%\",\n showFilter: true,\n popupPlaceholder: \"ex. 100\",\n showSort: true,\n searchlightField: \"NEWESTACTIVITY\",\n sortField: \"NEWESTACTIVITY, COMPANYNAME\",\n searchlightToken: \"CONTAINS\",\n alignment: \"left\",\n Cell: (props: { value: string | null }) => TableUtils.formatLastActivity(props.value, false),\n },\n];\n\nexport default function PastDueInvoices(): React.ReactElement {\n const history = useHistory();\n const { path } = useRouteMatch();\n const [isLoading, setLoading] = useState(true);\n const [isError, setError] = useState(false);\n const [errorMessage, setErrorMessage] = useState(\"\");\n const [tableData, setTableData] = useState([]);\n const [pageCount, setPageCount] = useState(0);\n const [pageNumber, setPageNumber] = useState(0);\n const [totalCount, setTotalCount] = useState(0);\n\n const fetchParser = (fetchResult: CustomerSummaryModelFetchResult, variant?: FetchVariant): Partial[] => {\n return (\n fetchResult?.records?.map((record: CustomerSummaryModel) => {\n return {\n ...((variant === \"id\" || variant === \"all\") && {\n id: record?.companyId,\n }),\n ...((variant === \"export\" || variant === \"all\") && {\n customer_name: record?.companyName || \"N/A\",\n primary_contact: record?.primaryContact || \"N/A\",\n past_due_invoices: record?.totalInvoicesPastDue,\n past_due_amount: record?.amountPastDue,\n percent_of_total: record?.percentOfTotalAr,\n last_activity: record?.newestActivity,\n }),\n ...(variant === \"all\" && {\n disableCheckbox: undefined,\n isUnread: undefined,\n }),\n };\n }) ?? []\n );\n };\n\n function handleCustomerRowClick(\n e: MouseEvent,\n row: {\n original: { id?: string };\n }\n ) {\n sessionStorage.setItem(\"lastPath\", history.location.pathname);\n history.push(\n `${path.substring(0, path.lastIndexOf(\"/dashboard/top_customers\"))}/customers/${\n row.original.id ?? \"\"\n }/open_invoices?sort=PAYMENTDUEDATE+DESC%2C+INVOICENUMBER+DESC`\n );\n }\n\n return (\n 0)\",\n },\n ],\n },\n ]}\n states={{\n isLoading: isLoading,\n setLoading: setLoading,\n isError: isError,\n setError: setError,\n errorMessage: errorMessage,\n setErrorMessage: setErrorMessage,\n }}\n pagination={{\n pageCount: pageCount,\n setPageCount: setPageCount,\n pageNumber: pageNumber,\n setPageNumber: setPageNumber,\n totalCount: totalCount,\n setTotalCount: setTotalCount,\n }}\n toggles={{\n showRowSelect: true,\n showExportBtn: true,\n showCaption: true,\n showNavigation: true,\n showSearchbar: false,\n }}\n />\n );\n}\n","import React, { useState, MouseEvent } from \"react\";\nimport { useHistory, useRouteMatch } from \"react-router\";\nimport Table from \"../../../../library/Table/Table\";\nimport TableUtils from \"../../../../../utils/TableUtils/TableUtils\";\nimport { companiesClient } from \"../../../../../db/accessor\";\n\nconst CUSTOMERSCOLUMNS = [\n {\n Header: \"Customer Name\",\n accessor: \"customer_name\",\n width: \"22.5%\",\n showFilter: true,\n popupPlaceholder: \"ex. Blushing Blooms\",\n showSort: true,\n searchlightField: \"COMPANYNAME\",\n searchlightToken: \"CONTAINS\",\n alignment: \"left\",\n Cell: (props: { value: string | null }) => TableUtils.formatString(props.value, false),\n },\n {\n Header: \"Primary Contact\",\n accessor: \"primary_contact\",\n width: \"17.5%\",\n showFilter: true,\n popupPlaceholder: \"ex. John Doe\",\n showSort: true,\n searchlightField: \"PRIMARYCONTACT\",\n sortField: \"PRIMARYCONTACT, COMPANYNAME\",\n searchlightToken: \"CONTAINS\",\n alignment: \"left\",\n Cell: (props: { value: string | null }) => TableUtils.formatString(props.value, false),\n },\n {\n Header: \"Open Invoices\",\n accessor: \"open_invoices\",\n width: \"20%\",\n showFilter: true,\n popupPlaceholder: \"ex. 100\",\n showSort: true,\n searchlightField: \"OUTSTANDINGINVOICES\",\n sortField: \"OUTSTANDINGINVOICES, COMPANYNAME\",\n searchlightToken: \"EQ\",\n alignment: \"right\",\n Cell: (props: { value: number | null }) => TableUtils.formatNumber(props.value, true),\n },\n {\n Header: \"Total Balance\",\n accessor: \"total_balance\",\n width: \"20%\",\n showFilter: true,\n popupPlaceholder: \"ex. 100\",\n showSort: true,\n searchlightField: \"OUTSTANDINGAMOUNT\",\n sortField: \"OUTSTANDINGAMOUNT, COMPANYNAME\",\n searchlightToken: \"EQ\",\n alignment: \"right\",\n Cell: (props: { value: number | null }) => TableUtils.formatCurrency(props.value, true),\n },\n {\n Header: \"Last Activity\",\n accessor: \"last_activity\",\n width: \"20%\",\n showFilter: true,\n popupPlaceholder: \"ex. 100\",\n showSort: true,\n searchlightField: \"NEWESTACTIVITY\",\n sortField: \"NEWESTACTIVITY, COMPANYNAME\",\n searchlightToken: \"CONTAINS\",\n alignment: \"left\",\n Cell: (props: { value: string | null }) => TableUtils.formatLastActivity(props.value, false),\n },\n];\n\nexport default function TotalBalance(): React.ReactElement {\n const history = useHistory();\n const { path } = useRouteMatch();\n const [isLoading, setLoading] = useState(true);\n const [isError, setError] = useState(false);\n const [errorMessage, setErrorMessage] = useState(\"\");\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const [tableData, setTableData] = useState([]);\n const [pageCount, setPageCount] = useState(0);\n const [pageNumber, setPageNumber] = useState(0);\n const [totalCount, setTotalCount] = useState(0);\n\n const fetchParser = (fetchResult: CustomerSummaryModelFetchResult, variant?: FetchVariant): Partial[] => {\n return (\n fetchResult?.records?.map((record: CustomerSummaryModel) => {\n return {\n ...((variant === \"id\" || variant === \"all\") && {\n id: record?.companyId,\n }),\n ...((variant === \"export\" || variant === \"all\") && {\n customer_name: record?.companyName || \"N/A\",\n primary_contact: record?.primaryContact || \"N/A\",\n open_invoices: record?.outstandingInvoices,\n total_balance: record?.outstandingAmount,\n last_activity: record?.newestActivity,\n }),\n ...(variant === \"all\" && {\n disableCheckbox: undefined,\n isUnread: undefined,\n }),\n };\n }) ?? []\n );\n };\n\n function handleCustomerRowClick(\n e: MouseEvent,\n row: {\n original: { id?: string };\n }\n ) {\n sessionStorage.setItem(\"lastPath\", history.location.pathname);\n history.push(\n `${path.substring(0, path.lastIndexOf(\"/dashboard/top_customers\"))}/customers/${\n row.original.id ?? \"\"\n }/open_invoices?sort=PAYMENTDUEDATE+DESC%2C+INVOICENUMBER+DESC`\n );\n }\n\n return (\n 0)\",\n },\n ],\n },\n ]}\n states={{\n isLoading: isLoading,\n setLoading: setLoading,\n isError: isError,\n setError: setError,\n errorMessage: errorMessage,\n setErrorMessage: setErrorMessage,\n }}\n pagination={{\n pageCount: pageCount,\n setPageCount: setPageCount,\n pageNumber: pageNumber,\n setPageNumber: setPageNumber,\n totalCount: totalCount,\n setTotalCount: setTotalCount,\n }}\n toggles={{\n showRowSelect: true,\n showExportBtn: true,\n showCaption: true,\n showNavigation: true,\n showSearchbar: false,\n }}\n />\n );\n}\n","import React, { useState, MouseEvent } from \"react\";\nimport { useHistory, useRouteMatch } from \"react-router\";\nimport Table from \"../../../../library/Table/Table\";\nimport TableUtils from \"../../../../../utils/TableUtils/TableUtils\";\nimport { companiesClient } from \"../../../../../db/accessor\";\n\nconst CUSTOMERSCOLUMNS = [\n {\n Header: \"Customer Name\",\n accessor: \"customer_name\",\n width: \"22.5%\",\n showFilter: true,\n popupPlaceholder: \"ex. Blushing Blooms\",\n showSort: true,\n searchlightField: \"COMPANYNAME\",\n searchlightToken: \"CONTAINS\",\n alignment: \"left\",\n Cell: (props: { value: string | null }) => TableUtils.formatString(props.value, false),\n },\n {\n Header: \"Primary Contact\",\n accessor: \"primary_contact\",\n width: \"17.5%\",\n showFilter: true,\n popupPlaceholder: \"ex. John Doe\",\n showSort: true,\n searchlightField: \"PRIMARYCONTACT\",\n sortField: \"PRIMARYCONTACT, COMPANYNAME\",\n searchlightToken: \"CONTAINS\",\n alignment: \"left\",\n Cell: (props: { value: string | null }) => TableUtils.formatString(props.value, false),\n },\n {\n Header: \"Open Invoices\",\n accessor: \"open_invoices\",\n width: \"20%\",\n showFilter: true,\n popupPlaceholder: \"ex. 100\",\n showSort: true,\n searchlightField: \"OUTSTANDINGINVOICES\",\n sortField: \"OUTSTANDINGINVOICES, COMPANYNAME\",\n searchlightToken: \"EQ\",\n alignment: \"right\",\n Cell: (props: { value: number | null }) => TableUtils.formatNumber(props.value, true),\n },\n {\n Header: \"Total Balance\",\n accessor: \"total_balance\",\n width: \"20%\",\n showFilter: true,\n popupPlaceholder: \"ex. 100\",\n showSort: true,\n searchlightField: \"OUTSTANDINGAMOUNT\",\n sortField: \"OUTSTANDINGAMOUNT, COMPANYNAME\",\n searchlightToken: \"EQ\",\n alignment: \"right\",\n Cell: (props: { value: number | null }) => TableUtils.formatCurrency(props.value, true),\n },\n {\n Header: \"Last Activity\",\n accessor: \"last_activity\",\n width: \"20%\",\n showFilter: true,\n popupPlaceholder: \"ex. 100\",\n showSort: true,\n searchlightField: \"NEWESTACTIVITY\",\n sortField: \"NEWESTACTIVITY, COMPANYNAME\",\n searchlightToken: \"CONTAINS\",\n alignment: \"left\",\n Cell: (props: { value: string | null }) => TableUtils.formatLastActivity(props.value, false),\n },\n];\n\nexport default function TotalBalance(): React.ReactElement {\n const history = useHistory();\n const { path } = useRouteMatch();\n const [isLoading, setLoading] = useState(true);\n const [isError, setError] = useState(false);\n const [errorMessage, setErrorMessage] = useState(\"\");\n const [tableData, setTableData] = useState([]);\n const [pageCount, setPageCount] = useState(0);\n const [pageNumber, setPageNumber] = useState(0);\n const [totalCount, setTotalCount] = useState(0);\n\n const fetchParser = (fetchResult: CustomerSummaryModelFetchResult, variant?: FetchVariant): Partial[] => {\n return (\n fetchResult?.records?.map((record: CustomerSummaryModel) => {\n return {\n ...((variant === \"id\" || variant === \"all\") && {\n id: record?.companyId,\n }),\n ...((variant === \"export\" || variant === \"all\") && {\n customer_name: record?.companyName || \"N/A\",\n primary_contact: record?.primaryContact || \"N/A\",\n open_invoices: record?.outstandingInvoices,\n total_balance: record?.outstandingAmount,\n last_activity: record?.newestActivity,\n }),\n ...(variant === \"all\" && {\n disableCheckbox: undefined,\n isUnread: undefined,\n }),\n };\n }) ?? []\n );\n };\n\n function handleCustomerRowClick(\n e: MouseEvent,\n row: {\n original: { id?: string };\n }\n ) {\n sessionStorage.setItem(\"lastPath\", history.location.pathname);\n history.push(\n `${path.substring(0, path.lastIndexOf(\"/dashboard/top_customers\"))}/customers/${\n row.original.id ?? \"\"\n }/open_invoices?sort=PAYMENTDUEDATE+DESC%2C+INVOICENUMBER+DESC`\n );\n }\n\n return (\n 0)\",\n },\n ],\n },\n ]}\n states={{\n isLoading: isLoading,\n setLoading: setLoading,\n isError: isError,\n setError: setError,\n errorMessage: errorMessage,\n setErrorMessage: setErrorMessage,\n }}\n pagination={{\n pageCount: pageCount,\n setPageCount: setPageCount,\n pageNumber: pageNumber,\n setPageNumber: setPageNumber,\n totalCount: totalCount,\n setTotalCount: setTotalCount,\n }}\n toggles={{\n showRowSelect: true,\n showExportBtn: true,\n showCaption: true,\n showNavigation: true,\n showSearchbar: false,\n }}\n />\n );\n}\n","import React from \"react\";\nimport \"./ContentNavLink.scss\";\n\n// Define Content Nav Link's Props\ninterface Props {\n className?: string;\n isActive?: boolean;\n disabled?: boolean;\n children?: React.ReactElement;\n noMargin?: boolean;\n}\n\n// * Wrapper for the contents of a Nav Link in order to customize active state\nexport default function ContentNavLink(props: Props): React.ReactElement {\n return (\n \n

{props.children}

\n \n );\n}\n","import React, { useRef, useEffect, useState } from \"react\";\nimport NavLinkWrapper from \"../NavLink/index\";\nimport ContentNavLink from \"../ContentNavLink/ContentNavLink\";\nimport { BackArrowNav } from \"../Icons/Icons\";\nimport Dropdown from \"../Dropdown/Dropdown\";\nimport { useHistory, useLocation } from \"react-router-dom\";\nimport { DropdownArrow } from \"../Icons/Icons\";\nimport \"./Navbar.scss\";\nimport { Skeleton } from \"@mui/material\";\n\ntype Tab = {\n displayName: string;\n routeName: string;\n};\n\ninterface NavbarProps {\n tabs: Tab[];\n dropdown?: Tab[];\n dropdownDefault?: string;\n backDisplayName?: string;\n backRoute?: string;\n rootPath: string;\n dropdownRootPath?: string;\n hideDropdown?: boolean;\n persistQueryParams?: boolean;\n tooltip?: string;\n}\n\nexport default function Navbar(props: NavbarProps): React.ReactElement {\n const location = useLocation();\n const tabWrapperRef = useRef(null);\n const [tabBreakpoint, setTabBreakpoint] = useState(props.tabs.length);\n const [tabWidth, setTabWidth] = useState(0);\n const history = useHistory();\n\n function handleResize() {\n const tabWrapperWidth = tabWrapperRef.current?.offsetWidth ?? 0;\n const tabChildren = tabWrapperRef.current?.children;\n let runningWidth = 0;\n if (tabChildren) {\n for (let i = 0; i < tabChildren.length; i++) {\n runningWidth += (tabChildren[i] as HTMLElement).offsetWidth + (i !== tabChildren.length - 1 ? 24 : 0);\n if (runningWidth > tabWrapperWidth + 1) {\n setTabBreakpoint(i);\n setTabWidth(runningWidth - (tabChildren[i] as HTMLElement).offsetWidth - (i !== tabChildren.length - 1 ? 24 : 0));\n return;\n }\n }\n }\n setTabBreakpoint(props.tabs.length);\n }\n\n useEffect(() => {\n handleResize();\n window.addEventListener(\"resize\", handleResize);\n return () => window.removeEventListener(\"resize\", handleResize);\n }, []);\n\n return (\n
\n
\n
\n {props.tabs &&\n props.tabs.map((tab: Tab, index: number) => {\n return (\n = tabBreakpoint ? \"navbar-navlink-hidden\" : \"\"}`}\n exact\n key={tab.displayName}\n to={\n props.persistQueryParams\n ? tab.routeName && !tab.routeName.startsWith(\"?\")\n ? { pathname: `${props.rootPath}/${tab.routeName.replace(/\\?.+$/, \"\")}`, search: location.search }\n : { pathname: `${props.rootPath}`, search: location.search }\n : `${props.rootPath}${tab.routeName && !tab.routeName.startsWith(\"?\") ? `/${tab.routeName}` : tab.routeName}`\n }\n >\n {(isActive: boolean) => (\n \n <>{tab.displayName.charAt(0).toUpperCase() + tab.displayName.slice(1)}\n \n )}\n \n );\n })}\n
\n {props.tabs && tabBreakpoint !== props.tabs.length && (\n
\n history.push(`${props.rootPath}/${onClickValue}`)}\n options={props.tabs.slice(tabBreakpoint).map((tab: Tab, index: number, arr: Tab[]) => {\n return {\n value: arr?.[index]?.displayName ?? \"\",\n onClickValue: arr?.[index]?.routeName ?? \"\",\n id: arr?.[index]?.displayName ?? \"\",\n };\n })}\n />\n
\n )}\n
\n
\n {!props.hideDropdown && props.dropdown && (\n }\n iconAlign=\"left\"\n defaultValue={props.dropdownDefault}\n onClick={(onClickValue: string) => history.push(`${props.dropdownRootPath ?? props.rootPath}/${onClickValue}`)}\n tooltip={props.tooltip}\n options={props.dropdown.map((tab: Tab) => {\n return {\n value: tab.displayName,\n onClickValue: tab.routeName,\n id: tab.displayName,\n };\n })}\n />\n )}\n {props.dropdown && props.backRoute && !props.hideDropdown &&
}\n {props.backRoute && (\n \n {() => {\n return (\n
\n {props.backDisplayName ? (\n <>\n \n

{props.backDisplayName}

\n \n ) : (\n \n )}\n
\n );\n }}\n
\n )}\n
\n
\n );\n}\n","import { Skeleton } from \"@mui/material\";\nimport { DateTime } from \"luxon\";\nimport React, { useEffect, useState } from \"react\";\nimport { AppContext } from \"../../../contexts/AppContext\";\nimport \"./ARHeader.scss\";\n\ntype HeaderType = {\n type: string;\n customLabel?: string;\n};\n\nexport interface Props {\n list: HeaderType[];\n reportDate: string;\n}\n\nexport default function ARHeader(props: Props): React.ReactElement {\n const [isLoading, setLoading] = useState(true);\n const [isError, setError] = useState(false);\n const [ARHeader, setARHeader] = useState({} as ArHeaderInfoModel);\n const { getARHeader } = React.useContext(AppContext) as AppType;\n\n useEffect(() => {\n (async () => {\n setLoading(true);\n setError(false);\n try {\n await getARHeader(props.reportDate).then((data) => {\n setARHeader(data);\n });\n } catch (error: any) {\n setError(true);\n console.log(error);\n }\n setLoading(false);\n })();\n }, [location.pathname]);\n\n return (\n
\n {isLoading ? (\n props.list.map((_, index: number) => {\n return ;\n })\n ) : isError ? (\n \n Oops! Something Went Wrong... \n \n ) : (\n props.list.map((item: HeaderType, index: number) => {\n let label = \"\";\n let value: string | number = \"\";\n switch (item.type) {\n case \"reportPeriod\":\n label = item.customLabel ?? \"Report Period\";\n value = ARHeader.reportPeriod ?? \"N/A\";\n break;\n case \"totalCustomers\":\n label = item.customLabel ?? \"Customers\";\n value = ARHeader?.totalCustomers ?? 0;\n break;\n case \"totalInvoices\":\n label = item.customLabel ?? \"Invoices\";\n value = ARHeader?.totalInvoices ?? 0;\n break;\n case \"totalInvoicedAmount\":\n label = item.customLabel ?? \"Amount Invoiced\";\n value = new Intl.NumberFormat(\"en-US\", {\n maximumFractionDigits: 2,\n minimumFractionDigits: 2,\n style: \"currency\",\n currency: \"USD\",\n }).format(ARHeader.totalInvoicedAmount ?? 0);\n break;\n case \"totalUnappliedPayments\":\n label = item.customLabel ?? \"Total Unapplied Payment Amount\";\n value = new Intl.NumberFormat(\"en-US\", {\n maximumFractionDigits: 2,\n minimumFractionDigits: 2,\n style: \"currency\",\n currency: \"USD\",\n }).format(ARHeader.totalUnappliedPayments ?? 0);\n break;\n case \"totalCollected\":\n label = item.customLabel ?? \"Amount Collected\";\n value = new Intl.NumberFormat(\"en-US\", {\n maximumFractionDigits: 2,\n minimumFractionDigits: 2,\n style: \"currency\",\n currency: \"USD\",\n }).format(ARHeader.totalCollected ?? 0);\n break;\n case \"totalArAmount\":\n label = item.customLabel ?? \"Total Balance\";\n value = new Intl.NumberFormat(\"en-US\", {\n maximumFractionDigits: 2,\n minimumFractionDigits: 2,\n style: \"currency\",\n currency: \"USD\",\n }).format(ARHeader.totalArAmount ?? 0);\n break;\n case \"totalInvoicesOpen\":\n label = item.customLabel ?? \"Open Invoices\";\n value = isNaN(ARHeader.totalInvoices - ARHeader.totalInvoicesPaid) ? 0 : ARHeader.totalInvoices - ARHeader.totalInvoicesPaid;\n break;\n case \"totalInvoicesPaid\":\n label = item.customLabel ?? \"Invoices Paid\";\n value = ARHeader?.totalInvoicesPaid ?? 0;\n break;\n case \"totalInvoicesPastDue\":\n label = item.customLabel ?? \"Past Due Invoices\";\n value = ARHeader?.totalInvoicesPastDue ?? 0;\n break;\n case \"totalInvoices90DaysPastDue\":\n label = item.customLabel ?? \"Past Due Invoices\";\n value = ARHeader?.totalInvoices90DaysPastDue ?? 0;\n break;\n case \"totalPastDueAmount\":\n label = item.customLabel ?? \"Past Due Amount\";\n value = new Intl.NumberFormat(\"en-US\", {\n maximumFractionDigits: 2,\n minimumFractionDigits: 2,\n style: \"currency\",\n currency: \"USD\",\n }).format(ARHeader.totalPastDueAmount ?? 0);\n break;\n case \"totalPastDueAmount90Days\":\n label = item.customLabel ?? \"Past Due Amount\";\n value = new Intl.NumberFormat(\"en-US\", {\n maximumFractionDigits: 2,\n minimumFractionDigits: 2,\n style: \"currency\",\n currency: \"USD\",\n }).format(ARHeader.totalPastDueAmount90Days ?? 0);\n break;\n case \"percentageOfTotalAr\":\n label = item.customLabel ?? \"Percentage of Total AR\";\n value = `${ARHeader.percentageOfTotalAr ?? 0}%`;\n break;\n case \"percentageOfTotalAr90DaysPastDue\":\n label = item.customLabel ?? \"Percentage of Total AR\";\n value = `${ARHeader.percentageOfTotalAr90DaysPastDue ?? 0}%`;\n break;\n case \"dso\":\n label = item.customLabel ?? \"Days Sales Outstanding\";\n value = ARHeader?.dso ?? 0;\n break;\n case \"totalInvoiceAmountCurrentYear\":\n label = item.customLabel ?? `Total Invoiced in ${DateTime.now().toFormat(\"yyyy\")}`;\n value = new Intl.NumberFormat(\"en-US\", {\n maximumFractionDigits: 2,\n minimumFractionDigits: 2,\n style: \"currency\",\n currency: \"USD\",\n }).format(ARHeader.totalInvoiceAmountCurrentYear ?? 0);\n break;\n case \"totalInvoiceAmountPreviousYear\":\n label = item.customLabel ?? `Total Invoiced in ${DateTime.now().minus({ years: 1 }).toFormat(\"yyyy\")}`;\n value = new Intl.NumberFormat(\"en-US\", {\n maximumFractionDigits: 2,\n minimumFractionDigits: 2,\n style: \"currency\",\n currency: \"USD\",\n }).format(ARHeader.totalInvoiceAmountPreviousYear ?? 0);\n break;\n default:\n label = \"INVALID TYPE\";\n break;\n }\n return (\n \n {value} {label}\n \n );\n })\n )}\n
\n );\n}\n","import React from \"react\";\nimport { Route, Switch, useRouteMatch } from \"react-router-dom\";\nimport PastDueBalance from \"./PastDueBalance/PastDueBalance\";\nimport PastDueInvoices from \"./PastDueInvoices/PastDueInvoices\";\nimport TotalBalance from \"./TotalBalance/TotalBalance\";\nimport OpenInvoices from \"./OpenInvoices/OpenInvoices\";\nimport Navbar from \"../../../library/Navbar/Navbar\";\nimport { DateTime } from \"luxon\";\nimport ARHeader from \"../../../library/ARHeader/ARHeader\";\nimport \"../Drilldowns.scss\";\n\nconst routes = [\n {\n displayName: \"Past Due Balance\",\n routeName: \"?sort=AMOUNTPASTDUE+DESC%2C+TOTALINVOICESPASTDUE+DESC\",\n component: ,\n },\n {\n displayName: \"Past Due Invoices\",\n routeName: \"past_due_invoices?sort=TOTALINVOICESPASTDUE+DESC%2C+COMPANYNAME+DESC\",\n component: ,\n },\n {\n displayName: \"Total Balance\",\n routeName: \"total_balance?sort=OUTSTANDINGAMOUNT+DESC%2C+COMPANYNAME+DESC\",\n component: ,\n },\n {\n displayName: \"Open Invoices\",\n routeName: \"open_invoices?sort=OUTSTANDINGINVOICES+DESC%2C+COMPANYNAME+DESC\",\n component: ,\n },\n];\n\nexport default function TopCustomers(): React.ReactElement {\n const { path } = useRouteMatch();\n\n return (\n
\n
\n \n
\n
\n
\n \n {\n return (\n \n );\n }}\n />\n {\n return (\n \n );\n }}\n />\n \n
\n \n {routes &&\n routes.map((val) => {\n return (\n {\n return val.component;\n }}\n />\n );\n })}\n \n
\n
\n
\n
\n );\n}\n","import React, { useState, useEffect } from \"react\";\nimport { ResponsivePie } from \"@nivo/pie\";\n\n// Defines the Pie Props\ninterface Props {\n hoverSquare: boolean;\n graphData: GraphData[];\n graphColors: string[];\n marginTop?: number;\n marginRight?: number;\n marginBottom?: number;\n marginLeft?: number;\n handleClick: (id: string) => void;\n}\n\nconst DonutChart = (props: Props): React.ReactElement => {\n const [data, setData] = useState([]);\n\n useEffect(() => {\n const animations = setTimeout(() => setData(props.graphData), 25);\n return () => clearTimeout(animations);\n }, []);\n\n return (\n props.handleClick(ev.id)}\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n tooltip={(input: any) => {\n return (\n
\n { props.hoverSquare &&
}\n

\n {input.datum.id}:{\" \"}\n \n {new Intl.NumberFormat('en-US', { \n maximumFractionDigits: 2, \n minimumFractionDigits: 2, \n style:'currency', \n currency:'USD'}).format(\n input.datum.value)\n }\n \n

\n
\n );\n }}\n />\n );\n};\n\nexport default DonutChart;\n","import React from \"react\";\nimport \"./Legend.scss\";\n\ntype LegendData = {\n color: string;\n id: string;\n value: number;\n onClick: (id: string) => void;\n};\n\ntype LegendProps = {\n className?: string;\n data: LegendData[];\n};\n\nexport default function Legend(props: LegendProps): React.ReactElement {\n return (\n
\n {props.data.map((val: LegendData) => {\n return (\n \n
val.onClick(val.id)} />\n\n

val.onClick(val.id)}>\n {new Intl.NumberFormat(\"en-US\", {\n minimumFractionDigits: 2,\n maximumFractionDigits: 2,\n style: \"currency\",\n currency: \"USD\",\n }).format(val.value)}\n

\n\n

val.onClick(val.id)}>\n {val.id}\n

\n \n );\n })}\n
\n );\n}\n","import React, { useState, useEffect } from \"react\";\nimport Loading from \"../../../library/Loading/Loading\";\nimport Error from \"../../../library/Error/Error\";\nimport { IconButton, Tooltip } from \"@mui/material\";\nimport { TooltipIcon } from \"../../../library/Icons/Icons\";\nimport { DashboardContext } from \"../../../../contexts/DashboardContext\";\nimport DonutChart from \"../../../library/Charts/DonutChart\";\nimport NoData from \"../../../library/NoData/NoData\";\nimport { getCurrencySuffix, shortenCurrency } from \"../../../../db/utils/currency\";\nimport { useRouteMatch, useHistory } from \"react-router-dom\";\nimport Legend from \"../../../library/Charts/Legend/Legend\";\nimport \"./Aging.scss\";\n\nconst marginTop = 16;\nconst marginRight = 0;\nconst marginBottom = 16;\nconst marginLeft = 0;\n\n/**\n * * Defines the Aging Widget\n */\nexport default function Aging(): React.ReactElement {\n // Get GET method of Aging Report from Dashboard Context\n const { getAgingData } = React.useContext(DashboardContext) as DashboardType;\n // Loading State of API Call to GET Aging Data\n const [isLoading, setLoading] = useState(false);\n // Error Message of API Call to GET Aging Data\n const [errorMessage, setErrorMessage] = useState(\"\");\n // Aging Data from API Call to GET Aging Data\n const [data, setData] = useState([]);\n // Total amount outstanding from Aging Data\n const [totalAmount, setTotalAmount] = useState(0);\n const history = useHistory();\n const { path } = useRouteMatch();\n\n // GET on /api/v1/Aging\n const fetchData = async () => {\n // Default error message\n setErrorMessage(\"\");\n // API call loading...\n setLoading(true);\n try {\n // On success, set data\n const res = await getAgingData();\n setData(res);\n setTotalAmount(res ? res.reduce((a: number, b: GraphData) => a + b.value, 0) : 0);\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n } catch (error: any) {\n setErrorMessage(error.message);\n }\n\n // API call finalized\n setLoading(false);\n };\n\n const handleOnClick = (id: string) => {\n let route;\n switch (id) {\n case \"FUTURE DUE\":\n route = \"/future_due\";\n break;\n case \"LATE 1-30 DAYS\":\n route = \"/late_1_30\";\n break;\n case \"LATE 31-60 DAYS\":\n route = \"/late_31_60\";\n break;\n case \"LATE 61-90 DAYS\":\n route = \"/late_61_90\";\n break;\n default:\n route = \"\";\n break;\n }\n history.push(`${path}/aging${route}?sort=PAYMENTDUEDATE+DESC%2C+INVOICENUMBER+DESC`);\n };\n\n // On mount, fetch Aging data\n useEffect(() => {\n fetchData();\n }, []);\n\n return isLoading ? (\n
\n \n
\n ) : errorMessage ? (\n
\n {errorMessage}\n
\n ) : (\n
\n
\n

handleOnClick(\"\")}>\n Current AR Aging\n

\n \n \n \n \n \n
\n {data.length === 0 ? (\n \n ) : (\n
\n
\n d.color)}\n marginTop={marginTop}\n marginRight={marginRight}\n marginBottom={marginBottom}\n marginLeft={marginLeft}\n handleClick={(id) => {\n handleOnClick(id);\n }}\n />\n \n \n {shortenCurrency(totalAmount, true)} ($\n {getCurrencySuffix(totalAmount)})\n \n
\n
\n {\n return {\n color: val.color,\n id: val.id,\n value: val.value,\n onClick: handleOnClick,\n };\n })}\n />\n
\n )}\n
\n );\n}\n","import React, { useState, MouseEvent } from \"react\";\nimport { useHistory, useRouteMatch } from \"react-router\";\nimport Table from \"../../../../library/Table/Table\";\nimport TableUtils from \"../../../../../utils/TableUtils/TableUtils\";\nimport { invoicesClient } from \"../../../../../db/accessor\";\n\nconst INVOICESCOLUMNS = [\n {\n Header: \"Invoice Number\",\n accessor: \"invoice_number\",\n width: \"15%\",\n showFilter: true,\n popupPlaceholder: \"ex. Blushing Blooms\",\n showSort: true,\n searchlightField: \"INVOICENUMBER\",\n searchlightToken: \"CONTAINS\",\n alignment: \"left\",\n Cell: (props: { value: string | null }) => TableUtils.formatString(props.value, false),\n },\n {\n Header: \"Customer Name\",\n accessor: \"customer_name\",\n width: \"15%\",\n showFilter: true,\n popupPlaceholder: \"ex. 100\",\n showSort: true,\n searchlightField: \"CUSTOMERNAME\",\n sortField: \"CUSTOMERNAME, INVOICENUMBER\",\n searchlightToken: \"CONTAINS\",\n alignment: \"left\",\n Cell: (props: { value: string | null }) => TableUtils.formatString(props.value, false),\n },\n {\n Header: \"Status\",\n accessor: \"status\",\n width: \"15%\",\n showFilter: true,\n popupPlaceholder: \"ex. Open, Closed, Past Due\",\n showSort: true,\n searchlightField: \"STATUS\",\n sortField: \"STATUS, DAYSPASTDUE, INVOICENUMBER\",\n searchlightToken: \"CONTAINS\",\n alignment: \"left\",\n Cell: (props: { value: string | null; row: { original: { due_date: string | null } } }) =>\n TableUtils.formatStatus(props.row.original.due_date, props.value, false),\n },\n {\n Header: \"Due Date\",\n accessor: \"due_date\",\n width: \"15%\",\n showFilter: true,\n popupPlaceholder: \"ex. 100\",\n showSort: true,\n searchlightField: \"PAYMENTDUEDATE\",\n sortField: \"PAYMENTDUEDATE, INVOICENUMBER\",\n searchlightToken: \"CONTAINS\",\n alignment: \"left\",\n Cell: (props: { value: string | null }) => TableUtils.formatDate(props.value, true),\n },\n {\n Header: \"Days Late\",\n accessor: \"days_late\",\n width: \"10%\",\n showFilter: true,\n popupPlaceholder: \"ex. 100\",\n showSort: true,\n searchlightField: \"DAYSPASTDUE\",\n sortField: \"DAYSPASTDUE, INVOICENUMBER\",\n searchlightToken: \"EQ\",\n alignment: \"right\",\n Cell: (props: { value: number | null }) => TableUtils.formatDaysLate(props.value, true),\n },\n {\n Header: \"Outstanding Amount\",\n accessor: \"outstanding_amount\",\n width: \"15%\",\n showFilter: true,\n popupPlaceholder: \"ex. 100\",\n showSort: true,\n searchlightField: \"OUTSTANDINGBALANCE\",\n sortField: \"OUTSTANDINGBALANCE, INVOICENUMBER\",\n searchlightToken: \"EQ\",\n alignment: \"right\",\n Cell: (props: { value: number | null }) => TableUtils.formatCurrency(props.value, false),\n },\n {\n Header: \"Last Activity\",\n accessor: \"last_activity\",\n width: \"15%\",\n showFilter: true,\n popupPlaceholder: \"ex. 100\",\n showSort: true,\n searchlightField: \"NEWESTACTIVITY\",\n sortField: \"NEWESTACTIVITY, INVOICENUMBER\",\n searchlightToken: \"CONTAINS\",\n alignment: \"left\",\n Cell: (props: { value: string | null }) => TableUtils.formatLastActivity(props.value, false),\n },\n];\n\nexport default function AgingTable(): React.ReactElement {\n const history = useHistory();\n const { path } = useRouteMatch();\n const [isLoading, setLoading] = useState(true);\n const [isError, setError] = useState(false);\n const [errorMessage, setErrorMessage] = useState(\"\");\n const [tableData, setTableData] = useState([]);\n const [pageCount, setPageCount] = useState(0);\n const [pageNumber, setPageNumber] = useState(0);\n const [totalCount, setTotalCount] = useState(0);\n\n const invoiceFetchParser = (fetchResult: InvoiceSummaryModelFetchResult, variant?: FetchVariant): Partial[] => {\n return (\n fetchResult?.records?.map((record: InvoiceSummaryModel) => {\n return {\n ...((variant === \"id\" || variant === \"all\") && {\n id: record?.invoiceId,\n }),\n ...((variant === \"export\" || variant === \"all\") && {\n invoice_number: record?.invoiceNumber,\n customer_name: record?.customerName || \"N/A\",\n status: record?.status,\n due_date: record?.paymentDueDate,\n days_late: record?.daysPastDue,\n outstanding_amount: record?.outstandingBalance,\n last_activity: record?.newestActivity,\n }),\n ...(variant === \"all\" && {\n disableCheckbox: undefined,\n isUnread: undefined,\n }),\n };\n }) ?? []\n );\n };\n\n function handleInvoiceRowClick(\n e: MouseEvent,\n row: {\n original: { id?: string };\n }\n ) {\n sessionStorage.setItem(\"lastPath\", history.location.pathname);\n history.push(`${path.substring(0, path.lastIndexOf(\"/dashboard/aging\"))}/invoices/${row.original.id ?? \"\"}`);\n }\n\n return (\n 90) AND (STATUS eq 'Past Due')`,\n },\n {\n route: \"late_61_90\",\n searchlightFilter: \"(DAYSPASTDUE >= 61) AND (DAYSPASTDUE <= 90) AND (STATUS eq 'Past Due')\",\n },\n {\n route: \"late_31_60\",\n searchlightFilter: \"(DAYSPASTDUE >= 31) AND (DAYSPASTDUE <= 60) AND (STATUS eq 'Past Due')\",\n },\n {\n route: \"late_1_30\",\n searchlightFilter: \"(DAYSPASTDUE >= 1) AND (DAYSPASTDUE <= 30) AND (STATUS eq 'Past Due')\",\n },\n {\n route: \"future_due\",\n searchlightFilter: \"(STATUS eq 'Open')\",\n },\n ],\n },\n ]}\n states={{\n isLoading: isLoading,\n setLoading: setLoading,\n isError: isError,\n setError: setError,\n errorMessage: errorMessage,\n setErrorMessage: setErrorMessage,\n }}\n pagination={{\n pageCount: pageCount,\n setPageCount: setPageCount,\n pageNumber: pageNumber,\n setPageNumber: setPageNumber,\n totalCount: totalCount,\n setTotalCount: setTotalCount,\n }}\n toggles={{\n showRowSelect: true,\n showExportBtn: true,\n showCaption: true,\n showNavigation: true,\n showSearchbar: false,\n }}\n />\n );\n}\n","import React, { useState, useEffect } from \"react\";\nimport { useLocation } from \"react-router-dom\";\nimport { AppContext } from \"../../../../../contexts/AppContext\";\n\nexport default function AgingHeader(): React.ReactElement {\n const location = useLocation();\n const [ArAgingHeader, setArAgingHeader] = useState({} as ArAgingHeaderInfoModel);\n const { getArAgingHeader } = React.useContext(AppContext) as AppType;\n const locationMap = new Map([\n [\"aging\", \"Past Due 91+\"],\n [\"late_61_90\", \"Past Due 61-90\"],\n [\"late_31_60\", \"Past Due 31-60\"],\n [\"late_1_30\", \"Past Due 1-30\"],\n [\"future_due\", \"Future Due\"],\n ]);\n\n useEffect(() => {\n const currentBucket = location.pathname.substring(location.pathname.lastIndexOf(\"/\") + 1) ?? \"\";\n try {\n getArAgingHeader().then((data) => {\n setArAgingHeader(data[data.findIndex((element: ArAgingHeaderInfoModel) => element.reportBucket === locationMap.get(currentBucket))]);\n });\n } catch (error: any) {\n console.log(error);\n }\n }, [location.pathname]);\n\n return (\n <>\n \n {ArAgingHeader.totalCustomers ?? 0} Customers\n \n \n {ArAgingHeader.totalInvoicesOutstanding ?? 0} Open Invoices\n \n \n {new Intl.NumberFormat(\"en-US\", { maximumFractionDigits: 2, minimumFractionDigits: 2, style: \"currency\", currency: \"USD\" }).format(\n ArAgingHeader.totalOutstandingAmount ?? 0\n )}{\" \"}\n Outstanding Amount\n \n \n {`${new Intl.NumberFormat(\"en-US\", { maximumFractionDigits: 2, minimumFractionDigits: 2, style: \"decimal\" }).format(\n ArAgingHeader.percentageOfTotalAr ?? 0\n )}%`}{\" \"}\n Percentage of Total AR\n \n \n );\n}\n","import React from \"react\";\nimport { Route, Switch, useRouteMatch } from \"react-router\";\nimport Navbar from \"../../../library/Navbar/Navbar\";\nimport AgingTable from \"./AgingTable/AgingTable\";\n// TODO: Add back AgingHeader once API work has finalized\nimport AgingHeader from \"./AgingHeader/AgingHeader\";\nimport \"../Drilldowns.scss\";\n\nconst routes = [\n {\n displayName: \"Late 91+ Days\",\n routeName: \"?sort=PAYMENTDUEDATE+DESC%2C+INVOICENUMBER+DESC\",\n },\n {\n displayName: \"Late 61-90 Days\",\n routeName: \"late_61_90?sort=PAYMENTDUEDATE+DESC%2C+INVOICENUMBER+DESC\",\n },\n {\n displayName: \"Late 31-60 Days\",\n routeName: \"late_31_60?sort=PAYMENTDUEDATE+DESC%2C+INVOICENUMBER+DESC\",\n },\n {\n displayName: \"Late 1-30 Days\",\n routeName: \"late_1_30?sort=PAYMENTDUEDATE+DESC%2C+INVOICENUMBER+DESC\",\n },\n {\n displayName: \"Future Due\",\n routeName: \"future_due?sort=PAYMENTDUEDATE+DESC%2C+INVOICENUMBER+DESC\",\n },\n];\n\nexport default function Aging(): React.ReactElement {\n const { path } = useRouteMatch();\n\n return (\n
\n
\n \n
\n
\n
\n {/* TODO: Add back AgingHeader after API work has been done */}\n
\n \n
\n
\n \n {\n return `${path}/${route.routeName.replace(/\\?.+$/, \"\")}`;\n })}\n component={() => {\n return ;\n }}\n />\n \n
\n
\n
\n
\n );\n}\n","import React, { useState, useEffect } from \"react\";\nimport { ResponsiveBar } from \"@nivo/bar\";\n\n// Define BarChart Props\ninterface Props {\n hoverSquare: boolean;\n data: GraphData[];\n margin?: { top: number; right: number; bottom: number; left: number };\n hoverFormat?: \"currency\" | \"days\" | \"percent\";\n padding?: number;\n onClick: (id: string) => void;\n}\n\ninterface monthHash {\n [month: string]: number;\n}\n\nconst marginCalc: monthHash = {\n JAN: 53,\n FEB: 52.5,\n MAR: 55.5,\n APR: 53.5,\n MAY: 54.5,\n JUN: 55.5,\n JUL: 52.5,\n AUG: 54.5,\n SEP: 55.5,\n OCT: 54.5,\n NOV: 55.5,\n DEC: 53.5,\n COLLECTED: 60.5,\n INVOICED: 49.5,\n};\n\n/**\n * * Calculate left margin of Bar Graph based on @param id month values\n * @param data - Bar Graph Data object array\n * @param id - Represents id for a specific bar of the bar graph\n * @param color - Represents the color for the specific bar @param id\n * @param value - Represents the value for the specific bar @param id\n * @returns Numeric value representing the left margin of the Bar Graph\n */\nexport function calculateLeftMargin(data: GraphData[]): number {\n let max = 0;\n data.forEach((val) => {\n max = Math.max(max, marginCalc[val.id]);\n });\n // 16 represents left-padding of cards to account for\n // 12 represents spacing between legend text and progress bar to account for\n // max represents the suggested spacing for a given month id\n return 16 + 12 + max;\n}\n\n// Define Wrapper for Nivo's Responsive Bar\nexport default function BarChart(props: Props): React.ReactElement {\n const [borderRadius, setBorderRadius] = useState(10);\n const [data, setData] = useState([]);\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const [isZero, setZero] = useState(new Array(props.data.length).fill(false));\n\n function handleResize() {\n if (window.innerHeight <= 1000) setBorderRadius(10);\n else setBorderRadius(15);\n }\n\n useEffect(() => {\n // Set Border Radius on resize\n window.addEventListener(\"resize\", handleResize);\n // Set Graph Data\n const min = props.data.every((val: GraphData) => val.value === 0)\n ? 100\n : props.data.reduce((a: number, b: GraphData) => {\n if (b.value === 0) return a;\n else return Math.min(a, b.value);\n }, Number.MAX_SAFE_INTEGER);\n setData(\n props.data.map((val, index: number) => {\n if (val.value === 0) {\n setZero((prev) => {\n prev[index] = true;\n return prev;\n });\n }\n return {\n ...val,\n value: val.value === 0 ? min / 50 : val.value,\n };\n })\n );\n return () => window.removeEventListener(\"resize\", handleResize);\n }, []);\n\n return (\n props.onClick(ev.indexValue)}\n motionConfig=\"slow\"\n maxValue={isZero.every((val: boolean) => val === true) ? 30 : \"auto\"}\n tooltip={(input) => {\n return (\n
\n {props.hoverSquare &&
}\n

\n {input.indexValue}:{\" \"}\n {props.hoverFormat === \"currency\" ? (\n \n {new Intl.NumberFormat(\"en-US\", {\n maximumFractionDigits: 2,\n minimumFractionDigits: 2,\n style: \"currency\",\n currency: \"USD\",\n }).format(isZero[input.index] ? 0 : input.value)}\n \n ) : props.hoverFormat === \"days\" ? (\n {isZero[input.index] ? \"0\" : input.value} Days\n ) : props.hoverFormat === \"percent\" ? (\n {isZero[input.index] ? \"0\" : input.value.toFixed(2)}%\n ) : (\n {isZero[input.index] ? \"0\" : input.value}\n )}\n

\n
\n );\n }}\n />\n );\n}\n","import React, { useState, useEffect } from \"react\";\nimport Loading from \"../../../library/Loading/Loading\";\nimport Error from \"../../../library/Error/Error\";\nimport NoData from \"../../../library/NoData/NoData\";\nimport BarChart, { calculateLeftMargin } from \"../../../library/Charts/BarChart\";\nimport { DashboardContext } from \"../../../../contexts/DashboardContext\";\nimport { getCurrencySuffix, shortenCurrency } from \"../../../../db/utils/currency\";\nimport { useHistory, useRouteMatch } from \"react-router-dom\";\nimport \"./ReceivablesRisk.scss\";\nimport { DateTime } from \"luxon\";\nimport { Tooltip, IconButton } from \"@mui/material\";\nimport { TooltipIcon } from \"../../../library/Icons/Icons\";\n\n/**\n * * Defines the Risk Rate Widget\n */\nexport default function ReceivableRisk(): React.ReactElement {\n // Get GET Method for DSO Report from Dashboard Context\n const { getRiskRateData } = React.useContext(DashboardContext) as DashboardType;\n // Loading state from GET API Call for RiskRate Report\n const [isLoading, setLoading] = useState(false);\n // Error Message from GET API Call for RiskRate Report\n const [errorMessage, setErrorMessage] = useState(\"\");\n // Data from GET API Call for RiskRate Report\n const [data, setData] = useState([]);\n // Data parsed into Graph Data from API Call\n const [graphData, setGraphData] = useState([]);\n // The latest month's atRiskAmount\n const [riskAmount, setRiskAmount] = useState(0);\n const history = useHistory();\n const { path } = useRouteMatch();\n\n // GET on /api/v1/Reports/riskrates\n const fetchData = async () => {\n // Default error message\n setErrorMessage(\"\");\n // API call loading...\n setLoading(true);\n try {\n // On success, set data\n const res = await getRiskRateData();\n // Set data from API\n setData(res);\n // Parse and set data from API into Graph Data\n setGraphData(() => {\n return res.map((val: RiskRateModel, index: number) => {\n return {\n id: val?.invoiceMonthName?.toUpperCase().substr(0, 3) ?? \"N/A\",\n color: index === res.length - 1 ? \"#4B5DF8\" : \"#C1CEFF\",\n value: val.atRiskPercentage ?? 0,\n };\n });\n });\n setRiskAmount(res && res.length >= 1 ? res[res.length - 1].atRiskAmount : 0);\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n } catch (error: any) {\n setErrorMessage(error.message);\n }\n setLoading(false);\n };\n\n const handleOnClick = (id: string) => {\n const route =\n id === \"\"\n ? \"\"\n : id === DateTime.now().toFormat(\"MMM\").toUpperCase()\n ? \"\"\n : `/${id.charAt(0) + id.slice(1).toLowerCase()}_${DateTime.now().toFormat(\"yy\")}`;\n history.push(`${path}/receivables_risk${route}?sort=OUTSTANDINGBALANCE+DESC%2C+INVOICENUMBER+DESC`);\n };\n\n // On mount, call API to get data for widget\n useEffect(() => {\n fetchData();\n }, []);\n\n return isLoading ? (\n
\n \n
\n ) : errorMessage ? (\n
\n {errorMessage}\n
\n ) : data.length === 0 ? (\n
\n
\n

Receivables Risk

\n \n \n \n \n \n
\n \n
\n ) : (\n
\n
\n

handleOnClick(\"\")}>\n Receivables Risk\n

\n \n \n \n \n \n
\n
\n

\n Placeholder\n

\n
\n

handleOnClick(\"\")} className={`riskrate`}>\n {data && data.length >= 1 && data[data.length - 1]?.atRiskPercentage?.toPrecision(3)}\n

\n

%

\n
\n
\n
\n

{shortenCurrency(riskAmount, true)}

\n

\n ($\n {getCurrencySuffix(riskAmount)})\n

\n
\n

\n {data && data.length >= 2 ? (data[data.length - 1].atRiskPercentage - data[data.length - 2]?.atRiskPercentage)?.toFixed(2) ?? 0 : 0}%\n MONTHLY IMPROVEMENT\n

\n
\n
\n
\n handleOnClick(id)}\n padding={45}\n margin={\n graphData.length === 1\n ? {\n top: 0,\n right: 16,\n bottom: 85,\n left: calculateLeftMargin(graphData),\n }\n : graphData.length === 2\n ? {\n top: 0,\n right: 16,\n bottom: 50,\n left: calculateLeftMargin(graphData),\n }\n : graphData.length === 3\n ? {\n top: 0,\n right: 16,\n bottom: 16,\n left: calculateLeftMargin(graphData),\n }\n : undefined\n }\n />\n
\n
\n );\n}\n","import { DateTime } from \"luxon\";\nimport React, { MouseEvent, useState } from \"react\";\nimport { useHistory, useRouteMatch } from \"react-router\";\nimport { invoicesClient } from \"../../../../../db/accessor\";\nimport { InvoiceStatusType } from \"../../../../../types/enums\";\nimport TableUtils from \"../../../../../utils/TableUtils/TableUtils\";\nimport Table from \"../../../../library/Table/Table\";\n\nconst INVOICESCOLUMNS = [\n {\n Header: \"Invoice Number\",\n accessor: \"invoice_number\",\n width: \"15%\",\n showFilter: true,\n popupPlaceholder: \"ex. 100\",\n showSort: true,\n searchlightField: \"INVOICENUMBER\",\n searchlightToken: \"CONTAINS\",\n alignment: \"left\",\n Cell: (props: { value: string | null }) => TableUtils.formatString(props.value, false),\n },\n {\n Header: \"Customer Name\",\n accessor: \"customer_name\",\n width: \"15%\",\n showFilter: true,\n popupPlaceholder: \"ex. Blushing Blooms\",\n showSort: true,\n searchlightField: \"CUSTOMERNAME\",\n sortField: \"CUSTOMERNAME, INVOICENUMBER\",\n searchlightToken: \"CONTAINS\",\n alignment: \"left\",\n Cell: (props: { value: string | null }) => TableUtils.formatString(props.value, false),\n },\n {\n Header: \"Status\",\n accessor: \"status\",\n width: \"15%\",\n showFilter: true,\n popupPlaceholder: \"ex. Open, Closed, Past Due\",\n showSort: true,\n searchlightField: \"DAYSPASTDUE\",\n sortField: \"STATUS, DAYSPASTDUE , INVOICENUMBER\",\n searchlightToken: \"lt\",\n upperBoundToken: \"ge\",\n dropdownOptions: [\n { altDisplay: \"OPEN\", value: InvoiceStatusType[\"OPEN\"], id: \"open\" },\n { altDisplay: \"PAST DUE 1-30\", value: \"0\", id: \"late1\" },\n { altDisplay: \"PAST DUE 31-60\", value: InvoiceStatusType[\"PAST DUE 31-60\"], id: \"late31\" },\n { altDisplay: \"PAST DUE 61-90\", value: InvoiceStatusType[\"PAST DUE 61-90\"], id: \"late61\" },\n { altDisplay: \"PAST DUE 91+\", value: InvoiceStatusType[\"PAST DUE 91+\"], id: \"late91\" },\n { altDisplay: \"CLOSED\", value: InvoiceStatusType[\"CLOSED\"], id: \"closed\" },\n ],\n alignment: \"left\",\n Cell: (props: { value: string | null; row: { original: { due_date: string | null } } }) =>\n TableUtils.formatStatus(props.row.original.due_date, props.value, false),\n },\n {\n Header: \"Due Date\",\n accessor: \"due_date\",\n width: \"12.5%\",\n showFilter: true,\n popupPlaceholder: \"ex. yyyy-mm-dd\",\n showSort: true,\n searchlightField: \"PAYMENTDUEDATE\",\n sortField: \"PAYMENTDUEDATE, INVOICENUMBER\",\n searchlightToken: \"CONTAINS\",\n alignment: \"left\",\n Cell: (props: { value: string | null }) => TableUtils.formatDate(props.value, true),\n },\n {\n Header: \"Days Late\",\n accessor: \"days_late\",\n width: \"12.5%\",\n showFilter: true,\n popupPlaceholder: \"ex. 90\",\n showSort: true,\n searchlightField: \"DAYSPASTDUE\",\n sortField: \"DAYSPASTDUE, INVOICENUMBER\",\n searchlightToken: \"EQ\",\n alignment: \"right\",\n Cell: (props: { value: number | null }) => TableUtils.formatDaysLate(props.value, true),\n },\n {\n Header: \"Past Due Amount\",\n accessor: \"past_due_amount\",\n width: \"15%\",\n showFilter: true,\n popupPlaceholder: \"ex. 100\",\n showSort: true,\n searchlightField: \"OUTSTANDINGBALANCE\",\n sortField: \"OUTSTANDINGBALANCE, INVOICENUMBER\",\n searchlightToken: \"EQ\",\n alignment: \"right\",\n Cell: (props: { value: number | null }) => TableUtils.formatCurrency(props.value, false),\n },\n {\n Header: \"Last Activity\",\n accessor: \"last_activity\",\n width: \"15%\",\n showFilter: true,\n popupPlaceholder: \"ex. yyyy-mm-dd\",\n showSort: true,\n searchlightField: \"NEWESTACTIVITY\",\n sortField: \"NEWESTACTIVITY, INVOICENUMBER\",\n searchlightToken: \"CONTAINS\",\n alignment: \"left\",\n Cell: (props: { value: string | null }) => TableUtils.formatLastActivity(props.value, false),\n },\n];\nexport default function ReceivablesRiskTable(): React.ReactElement {\n const history = useHistory();\n const { path } = useRouteMatch();\n const [isLoading, setLoading] = useState(true);\n const [isError, setError] = useState(false);\n const [errorMessage, setErrorMessage] = useState(\"\");\n const [tableData, setTableData] = useState([]);\n const [pageCount, setPageCount] = useState(0);\n const [pageNumber, setPageNumber] = useState(0);\n const [totalCount, setTotalCount] = useState(0);\n\n const fetchParser = (fetchResult: AtRiskInvoiceSummaryModelFetchResult, variant?: FetchVariant): Partial[] => {\n return (\n fetchResult?.records?.map((record: AtRiskInvoiceSummaryModel) => {\n return {\n ...((variant === \"id\" || variant === \"all\") && {\n id: record?.invoiceId,\n }),\n ...((variant === \"export\" || variant === \"all\") && {\n invoice_number: record?.invoiceNumber,\n customer_name: record?.customerName || \"N/A\",\n status: record?.status,\n due_date: record?.paymentDueDate,\n days_late: record?.daysPastDue,\n past_due_amount: record?.outstandingBalance,\n last_activity: record?.newestActivity,\n }),\n ...(variant === \"all\" && {\n disableCheckbox: undefined,\n isUnread: undefined,\n }),\n };\n }) ?? []\n );\n };\n\n function handleInvoiceRowClick(\n e: MouseEvent,\n row: {\n original: { id?: string };\n }\n ) {\n sessionStorage.setItem(\"lastPath\", history.location.pathname);\n history.push(`${path.substring(0, path.lastIndexOf(\"/dashboard/receivables_risk\"))}/invoices/${row.original.id ?? \"\"}`);\n }\n\n return (\n {\n const lastOfMonth = DateTime.now().minus({ months: index }).endOf(\"month\");\n return {\n route: index === 0 ? \"receivables_risk\" : `${lastOfMonth.toFormat(\"MMM\")}_${lastOfMonth.toFormat(\"yy\")}`,\n searchlightFilter: `(REPORTDATE eq ${\n index === 0 ? DateTime.now().toFormat(\"yyyy-MM-dd\") : DateTime.now().minus({ months: index }).endOf(\"month\").toFormat(\"yyyy-MM-dd\")\n })`,\n };\n }),\n },\n ]}\n states={{\n isLoading: isLoading,\n setLoading: setLoading,\n isError: isError,\n setError: setError,\n errorMessage: errorMessage,\n setErrorMessage: setErrorMessage,\n }}\n pagination={{\n pageCount: pageCount,\n setPageCount: setPageCount,\n pageNumber: pageNumber,\n setPageNumber: setPageNumber,\n totalCount: totalCount,\n setTotalCount: setTotalCount,\n }}\n toggles={{\n showRowSelect: true,\n showExportBtn: true,\n showCaption: true,\n showNavigation: true,\n showSearchbar: false,\n }}\n />\n );\n}\n","import React, { useMemo } from \"react\";\nimport { Route, Switch, useRouteMatch } from \"react-router-dom\";\nimport Navbar from \"../../../library/Navbar/Navbar\";\nimport ReceivablesRiskTable from \"./ReceivablesRiskTable/ReceivablesRiskTable\";\nimport { DateTime } from \"luxon\";\nimport \"../Drilldowns.scss\";\nimport ARHeader from \"../../../library/ARHeader/ARHeader\";\n\nconst routes = Array.from(Array(3).keys()).map((index: number) => {\n const lastOfMonth = DateTime.now().minus({ months: index }).endOf(\"month\");\n return {\n displayName: `${lastOfMonth.toFormat(\"MMM\")} ${lastOfMonth.toFormat(\"yy\")}`,\n routeName: index === 0 ? \"\" : `${lastOfMonth.toFormat(\"MMM\")}_${lastOfMonth.toFormat(\"yy\")}?sort=OUTSTANDINGBALANCE+DESC%2C+INVOICENUMBER+DESC`,\n };\n});\n\nexport default function ReceivablesRisk(): React.ReactElement {\n const { path } = useRouteMatch();\n const reportDate = useMemo(() => {\n const childPath = location.pathname.slice(location.pathname.lastIndexOf(\"/\") + 1);\n let reportDate = DateTime.now().toFormat(\"yyyy-MM-dd\");\n if (childPath !== \"receivables_risk\") {\n const dateArr = childPath.split(\"_\");\n reportDate = DateTime.fromFormat(`${dateArr[1]} ${dateArr[0]} 01`, \"yy MMM dd\").endOf(\"month\").toFormat(\"yyyy-MM-dd\");\n }\n return reportDate;\n }, [location.pathname]);\n\n return (\n
\n
\n \n
\n
\n
\n \n
\n \n {\n return `${path}/${route.routeName.replace(/\\?.+$/, \"\")}`;\n })}\n component={() => {\n return ;\n }}\n />\n \n
\n
\n
\n
\n );\n}\n","import React from \"react\";\nimport \"./Arrow.scss\";\n\n// Define default Button Props\nexport interface Props {\n className?: string;\n isFlipped?: boolean;\n borderWidth?: number;\n direction: \"right\" | \"left\" | \"center\" | \"up\" | \"down\";\n}\n\n// Define Button with icon React Element\nexport default function Arrow(props: Props): React.ReactElement {\n return (\n
\n );\n}\n","import React, { useState, useEffect } from \"react\";\nimport Arrow from \"../../../library/Arrow/Arrow\";\nimport Loading from \"../../../library/Loading/Loading\";\nimport Error from \"../../../library/Error/Error\";\nimport BarChart, { calculateLeftMargin } from \"../../../library/Charts/BarChart\";\nimport { DashboardContext } from \"../../../../contexts/DashboardContext\";\nimport \"./DaysSalesOutstanding.scss\";\nimport NoData from \"../../../library/NoData/NoData\";\nimport { useHistory, useRouteMatch } from \"react-router-dom\";\nimport { Tooltip, IconButton } from \"@mui/material\";\nimport { TooltipIcon } from \"../../../library/Icons/Icons\";\n\n/**\n * * Defines the Days Sales Outstanding Widget\n */\nexport default function DaysSalesOutstanding(): React.ReactElement {\n const { getDSOData } = React.useContext(DashboardContext) as DashboardType;\n const [isLoading, setLoading] = useState(false);\n const [errorMessage, setErrorMessage] = useState(\"\");\n const [data, setData] = useState([]);\n const history = useHistory();\n const { path } = useRouteMatch();\n\n // GET on /api/v1/Reports/dailysalesoutstanding\n const fetchData = async () => {\n // Default error message\n setErrorMessage(\"\");\n // API call loading...\n setLoading(true);\n try {\n // On success, set data\n const res = await getDSOData();\n res.forEach((value) => {\n value.id = value.id.substr(0, 3);\n });\n if (res && res.some((elem) => elem.value !== 0)) {\n setData(res);\n } else {\n setData([]);\n }\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n } catch (error: any) {\n setErrorMessage(error.message);\n }\n\n // API call finalized\n setLoading(false);\n };\n\n const handleOnClick = (id: string) => {\n const d = new Date();\n const year = d.getFullYear();\n const route = id === \"\" ? \"\" : `/${id.toLowerCase()}_${year}`;\n history.push(`${path}/days_sales_outstanding${route}?sort=DSO+DESC%2C+COMPANYNAME+DESC`);\n };\n\n // On mount, fetch DSO Data\n useEffect(() => {\n fetchData();\n }, []);\n\n return isLoading ? (\n
\n \n
\n ) : errorMessage ? (\n
\n {errorMessage}\n
\n ) : data.length === 0 ? (\n
\n
\n

Days Sales Outstanding (DSO)

\n \n \n \n \n \n
\n \n
\n ) : (\n
\n
\n

handleOnClick(\"\")}>\n Days Sales Outstanding (DSO)\n

\n \n \n \n \n \n
\n
\n

\n Placeholder\n

\n
\n

handleOnClick(\"\")} className={`amount`}>\n {data && data.length !== 0 ? `${new Intl.NumberFormat().format(data[data.length - 1].value ?? 0)} Days` : 0}{\" \"}\n

\n
\n
\n

30 DAY HISTORICAL

\n
\n = 2\n ? (data[data.length - 1].value ?? 0) - (data[data.length - 2].value ?? 0) < 0\n ? \"down\"\n : (data[data.length - 1].value ?? 0) - (data[data.length - 2].value ?? 0) > 0\n ? \"up\"\n : \"center\"\n : \"up\"\n }\n />\n

\n {data && data.length >= 2 ? (data[data.length - 1].value ?? 0) - (data[data.length - 2].value ?? 0) : 0} DAYS\n

\n
\n
\n
\n
\n handleOnClick(id)}\n onClick={() => handleOnClick(\"\")}\n padding={45}\n margin={\n data.length === 1\n ? {\n top: 0,\n right: 16,\n bottom: 85,\n left: calculateLeftMargin(data),\n }\n : data.length === 2\n ? {\n top: 0,\n right: 16,\n bottom: 50,\n left: calculateLeftMargin(data),\n }\n : data.length === 3\n ? {\n top: 0,\n right: 16,\n bottom: 16,\n left: calculateLeftMargin(data),\n }\n : undefined\n }\n hoverFormat=\"days\"\n />\n
\n
\n );\n}\n","import React, { MouseEvent, useState } from \"react\";\nimport { useHistory, useRouteMatch } from \"react-router\";\nimport { companiesClient } from \"../../../../../db/accessor\";\nimport TableUtils from \"../../../../../utils/TableUtils/TableUtils\";\nimport Table from \"../../../../library/Table/Table\";\n\nconst CUSTOMERSCOLUMNS = [\n {\n Header: \"Customer Name\",\n accessor: \"customer_name\",\n width: \"21.25%\",\n showFilter: true,\n popupPlaceholder: \"ex. Blushing Blooms\",\n showSort: true,\n searchlightField: \"COMPANYNAME\",\n searchlightToken: \"CONTAINS\",\n alignment: \"left\",\n Cell: (props: { value: string | null }) => TableUtils.formatString(props.value, false),\n },\n {\n Header: \"Primary Contact\",\n accessor: \"primary_contact\",\n width: \"17.5%\",\n showFilter: true,\n popupPlaceholder: \"ex. John Doe\",\n showSort: true,\n searchlightField: \"PRIMARYCONTACT\",\n sortField: \"PRIMARYCONTACT, COMPANYNAME\",\n searchlightToken: \"CONTAINS\",\n alignment: \"left\",\n Cell: (props: { value: string | null }) => TableUtils.formatString(props.value, false),\n },\n {\n Header: \"Past Due Invoices\",\n accessor: \"past_due_invoices\",\n width: \"16.25%\",\n showFilter: true,\n popupPlaceholder: \"ex. 100\",\n showSort: true,\n searchlightField: \"TOTALINVOICESPASTDUE\",\n sortField: \"TOTALINVOICESPASTDUE, COMPANYNAME\",\n searchlightToken: \"EQ\",\n alignment: \"right\",\n Cell: (props: { value: number | null }) => TableUtils.formatNumber(props.value, true),\n },\n {\n Header: \"Past Due Amount\",\n accessor: \"past_due_amount\",\n width: \"17.5%\",\n showFilter: true,\n popupPlaceholder: \"ex. 100\",\n showSort: true,\n searchlightField: \"OUTSTANDINGINVOICES\",\n sortField: \"OUTSTANDINGINVOICES, COMPANYNAME\",\n searchlightToken: \"EQ\",\n alignment: \"right\",\n Cell: (props: { value: number | null }) => TableUtils.formatCurrency(props.value, true),\n },\n {\n Header: \"DSO\",\n accessor: \"dso\",\n width: \"12.5%\",\n showFilter: true,\n popupPlaceholder: \"ex. 100\",\n showSort: true,\n searchlightField: \"DSO\",\n sortField: \"DSO, COMPANYNAME\",\n searchlightToken: \"EQ\",\n alignment: \"right\",\n Cell: (props: { value: number | null }) => TableUtils.formatNumber(props.value !== null ? Math.round(props.value) : 0, true),\n },\n {\n Header: \"Last Activity\",\n accessor: \"last_activity\",\n width: \"15%\",\n showFilter: true,\n popupPlaceholder: \"ex. yyyy-mm-dd\",\n showSort: true,\n searchlightField: \"NEWESTACTIVITY\",\n sortField: \"NEWESTACTIVITY, COMPANYNAME\",\n searchlightToken: \"EQ\",\n alignment: \"left\",\n Cell: (props: { value: string | null }) => TableUtils.formatLastActivity(props.value, false),\n },\n];\n\nexport default function DaysSalesOutstandingTable(): React.ReactElement {\n const history = useHistory();\n const { path } = useRouteMatch();\n const [isLoading, setLoading] = useState(true);\n const [isError, setError] = useState(false);\n const [errorMessage, setErrorMessage] = useState(\"\");\n const [tableData, setTableData] = useState([]);\n const [pageCount, setPageCount] = useState(0);\n const [pageNumber, setPageNumber] = useState(0);\n const [totalCount, setTotalCount] = useState(0);\n\n const fetchParser = (fetchResult: CustomerSummaryModelFetchResult, variant?: FetchVariant): Partial[] => {\n return (\n fetchResult?.records?.map((record: CustomerSummaryModel) => {\n return {\n ...((variant === \"id\" || variant === \"all\") && {\n id: record?.companyId,\n }),\n ...((variant === \"export\" || variant === \"all\") && {\n customer_name: record?.companyName || \"N/A\",\n primary_contact: record?.primaryContact || \"N/A\",\n past_due_invoices: record?.totalInvoicesPastDue,\n past_due_amount: record?.amountPastDue,\n dso: record?.dso,\n last_activity: record?.newestActivity,\n }),\n ...(variant === \"all\" && {\n disableCheckbox: undefined,\n isUnread: undefined,\n }),\n };\n }) ?? []\n );\n };\n\n function handleCustomerRowClick(\n e: MouseEvent,\n row: {\n original: { id?: string };\n }\n ) {\n sessionStorage.setItem(\"lastPath\", history.location.pathname);\n history.push(`${path.substring(0, path.lastIndexOf(\"/dashboard/days_sales_outstanding\"))}/customers/${row.original.id ?? \"\"}`);\n }\n\n return (\n 0) AND (CLOSEDINVOICES > 0)\",\n },\n ],\n },\n ]}\n states={{\n isLoading: isLoading,\n setLoading: setLoading,\n isError: isError,\n setError: setError,\n errorMessage: errorMessage,\n setErrorMessage: setErrorMessage,\n }}\n pagination={{\n pageCount: pageCount,\n setPageCount: setPageCount,\n pageNumber: pageNumber,\n setPageNumber: setPageNumber,\n totalCount: totalCount,\n setTotalCount: setTotalCount,\n }}\n toggles={{\n showRowSelect: true,\n showExportBtn: true,\n showCaption: true,\n showNavigation: true,\n showSearchbar: false,\n }}\n />\n );\n}\n","import React, { useMemo } from \"react\";\nimport { Route, Switch, useLocation, useRouteMatch } from \"react-router-dom\";\nimport DaysSalesOutstandingTable from \"./DaysSalesOutstandingTable/DaysSalesOutstandingTable\";\nimport Navbar from \"../../../library/Navbar/Navbar\";\nimport { DateTime } from \"luxon\";\nimport \"../Drilldowns.scss\";\nimport ARHeader from \"../../../library/ARHeader/ARHeader\";\n\n// TODO: Post-EA cleanup, change Array(1) to Array(12) after historical DSO logic is figured out by Shane and team.\nconst routes = Array.from(Array(1).keys()).map((index: number) => {\n const lastOfMonth = DateTime.now().minus({ months: index }).endOf(\"month\");\n return {\n displayName: `${lastOfMonth.toFormat(\"MMM\")} ${lastOfMonth.toFormat(\"yy\")}`,\n routeName: index === 0 ? \"\" : `${lastOfMonth.toFormat(\"MMM\")}_${lastOfMonth.toFormat(\"yy\")}?sort=DSO+DESC%2C+COMPANYNAME+DESC`,\n };\n});\n\nexport default function DaysSalesOutstanding(): React.ReactElement {\n const location = useLocation();\n const { path } = useRouteMatch();\n const reportDate = useMemo(() => {\n const childPath = location.pathname.slice(location.pathname.lastIndexOf(\"/\") + 1);\n let reportDate = DateTime.now().toFormat(\"yyyy-MM-dd\");\n if (childPath !== \"days_sales_outstanding\") {\n const dateArr = childPath.split(\"_\");\n reportDate = DateTime.fromFormat(`${dateArr[1]} ${dateArr[0]} 01`, \"yy MMM dd\").endOf(\"month\").toFormat(\"yyyy-MM-dd\");\n }\n return reportDate;\n }, [location.pathname]);\n\n return (\n
\n
\n \n
\n
\n
\n \n
\n \n {\n return `${path}/${route.routeName.replace(/\\?.+$/, \"\")}`;\n })}\n component={() => {\n return ;\n }}\n />\n \n
\n
\n
\n
\n );\n}\n","// Imports from react\nimport React, { useState, useEffect } from \"react\";\nimport BarChart, { calculateLeftMargin } from \"../../../library/Charts/BarChart\";\nimport Loading from \"../../../library/Loading/Loading\";\nimport Error from \"../../../library/Error/Error\";\n// Import Context\nimport { DashboardContext } from \"../../../../contexts/DashboardContext\";\nimport \"./ReceivablesSummary.scss\";\nimport NoData from \"../../../library/NoData/NoData\";\nimport { useHistory, useRouteMatch } from \"react-router-dom\";\nimport { Tooltip, IconButton } from \"@mui/material\";\nimport { TooltipIcon } from \"../../../library/Icons/Icons\";\n\n/**\n * * Defines the Collection Summary Widget\n */\nexport default function ReceivablesSummary(): React.ReactElement {\n // Get GET method for Cashflow Report from Dashboard Context\n const { getCashflowData } = React.useContext(DashboardContext) as DashboardType;\n // Loading state from GET API Call for Cashflow Report\n const [isLoading, setLoading] = useState(false);\n // Error message from GET API Call for Cashflow Report\n const [errorMessage, setErrorMessage] = useState(\"\");\n // Data from GET API Call for Cashflow Report\n const [data, setData] = useState([]);\n const history = useHistory();\n const { path } = useRouteMatch();\n\n // GET on /api/v1/Reports/cashflow\n const fetchData = async () => {\n // Default error message\n setErrorMessage(\"\");\n // API call loading...\n setLoading(true);\n try {\n // On success, set data\n const res = await getCashflowData();\n setData(res);\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n } catch (error: any) {\n if (error.status === 404) {\n setData([]);\n } else {\n setErrorMessage(error.message);\n }\n }\n\n // API call finalized\n setLoading(false);\n };\n\n const handleOnClick = (value: string) => {\n let route = \"?sort=AMOUNTCOLLECTED+DESC%2C+COMPANYNAME+DESC\";\n if (value === \"INVOICED\") {\n route = \"/invoiced?sort=OUTSTANDINGAMOUNT+DESC%2C+COMPANYNAME+DESC\";\n }\n history.push(`${path}/receivables_summary${route}`);\n };\n\n // On mount, fetch Collection Summary data\n useEffect(() => {\n fetchData();\n }, []);\n\n return isLoading ? (\n
\n \n
\n ) : errorMessage ? (\n
\n {errorMessage}\n
\n ) : data.length === 0 ? (\n
\n
\n

Receivables Summary

\n \n \n \n \n \n
\n \n
\n ) : (\n
\n
\n

handleOnClick(\"\")}>\n Receivables Summary\n

\n \n \n \n \n \n
\n
\n

{\"COLLECTED\"}

\n

handleOnClick(\"\")} className={`large-number`}>\n {data[1]?.value &&\n new Intl.NumberFormat(\"en-US\", {\n maximumFractionDigits: 2,\n minimumFractionDigits: 2,\n style: \"currency\",\n currency: \"USD\",\n }).format(data[1].value)}\n

\n

{\"30 DAY HISTORICAL\"}

\n
\n
\n handleOnClick(id)}\n />\n
\n
\n );\n}\n","import React, { useState, MouseEvent } from \"react\";\nimport { useHistory, useRouteMatch } from \"react-router\";\nimport Table from \"../../../../library/Table/Table\";\nimport TableUtils from \"../../../../../utils/TableUtils/TableUtils\";\nimport { InvoiceStatusType } from \"../../../../../types/enums\";\nimport { companiesClient, invoicesClient, paymentsClient } from \"../../../../../db/accessor\";\n\nconst CUSTOMERSCOLUMNS = [\n {\n Header: \"Customer Name\",\n accessor: \"customer_name\",\n width: \"19.5%\",\n showFilter: true,\n popupPlaceholder: \"ex. Blushing Blooms\",\n showSort: true,\n searchlightField: \"COMPANYNAME\",\n searchlightToken: \"CONTAINS\",\n alignment: \"left\",\n Cell: (props: { value: string | null }) => TableUtils.formatString(props.value, false),\n },\n {\n Header: \"Primary Contact\",\n accessor: \"primary_contact\",\n width: \"18.75%\",\n showFilter: true,\n popupPlaceholder: \"ex. John Doe\",\n showSort: true,\n searchlightField: \"PRIMARYCONTACT\",\n sortField: \"PRIMARYCONTACT, COMPANYNAME\",\n searchlightToken: \"CONTAINS\",\n alignment: \"left\",\n Cell: (props: { value: string | null }) => TableUtils.formatString(props.value, false),\n },\n {\n Header: \"Amount Collected\",\n accessor: \"amount_collected\",\n width: \"15%\",\n showFilter: true,\n popupPlaceholder: \"ex. 100\",\n showSort: true,\n searchlightField: \"AMOUNTCOLLECTED\",\n sortField: \"AMOUNTCOLLECTED, COMPANYNAME\",\n searchlightToken: \"EQ\",\n alignment: \"right\",\n Cell: (props: { value: number | null }) => TableUtils.formatCurrency(props.value, true),\n },\n {\n Header: \"Unapplied Amount\",\n accessor: \"unapplied_amount\",\n width: \"18.75%\",\n showFilter: true,\n popupPlaceholder: \"ex. 100\",\n showSort: true,\n searchlightField: \"UNAPPLIEDPAYMENTS\",\n sortField: \"UNAPPLIEDPAYMENTS, COMPANYNAME\",\n searchlightToken: \"EQ\",\n alignment: \"right\",\n Cell: (props: { value: number | null }) => TableUtils.formatCurrency(props.value, true),\n },\n {\n Header: \"Invoices Paid\",\n accessor: \"invoices_paid\",\n width: \"15%\",\n showFilter: true,\n popupPlaceholder: \"ex. 100\",\n showSort: true,\n searchlightField: \"CLOSEDINVOICES\",\n sortField: \"CLOSEDINVOICES, COMPANYNAME\",\n searchlightToken: \"EQ\",\n alignment: \"right\",\n Cell: (props: { value: string | null }) => TableUtils.formatString(props.value, true),\n },\n {\n Header: \"Last Activity\",\n accessor: \"last_activity\",\n width: \"15%\",\n showFilter: true,\n popupPlaceholder: \"ex. yyyy-mm-dd\",\n showSort: true,\n searchlightField: \"NEWESTACTIVITY\",\n sortField: \"NEWESTACTIVITY, COMPANYNAME\",\n searchlightToken: \"CONTAINS\",\n alignment: \"left\",\n Cell: (props: { value: string | null }) => TableUtils.formatLastActivity(props.value, false),\n },\n];\n\nconst PAYMENTSCOLUMNS = [\n {\n Header: \"Payment Number\",\n accessor: \"payment_number\",\n width: \"22.5%\",\n showFilter: true,\n popupPlaceholder: \"ex. 100\",\n showSort: true,\n searchlightField: \"REFERENCECODE\",\n searchlightToken: \"CONTAINS\",\n alignment: \"left\",\n Cell: (props: { value: string | null }) => TableUtils.formatString(props.value, false),\n },\n {\n Header: \"Customer Name\",\n accessor: \"customer_name\",\n width: \"17.5%\",\n showFilter: true,\n popupPlaceholder: \"ex. John Doe\",\n showSort: true,\n searchlightField: \"CUSTOMERNAME\",\n sortField: \"CUSTOMERNAME, REFERENCECODE\",\n searchlightToken: \"CONTAINS\",\n alignment: \"left\",\n Cell: (props: { value: string | null }) => TableUtils.formatString(props.value, false),\n },\n {\n Header: \"Type\",\n accessor: \"type\",\n width: \"12.5%\",\n showFilter: true,\n popupPlaceholder: \"ex. Check, Cash, Credit\",\n showSort: true,\n searchlightField: \"PAYMENTTYPE\",\n sortField: \"PAYMENTTYPE, REFERENCECODE\",\n searchlightToken: \"CONTAINS\",\n alignment: \"left\",\n Cell: (props: { value: string | null }) => TableUtils.formatPaymentType(props.value, true),\n },\n {\n Header: \"Payment Date\",\n accessor: \"payment_date\",\n width: \"15%\",\n showFilter: true,\n popupPlaceholder: \"ex. yyyy-mm-dd\",\n showSort: true,\n searchlightField: \"PAYMENTDATE\",\n sortField: \"PAYMENTDATE, REFERENCECODE\",\n searchlightToken: \"CONTAINS\",\n alignment: \"left\",\n Cell: (props: { value: string | null }) => TableUtils.formatDate(props.value, true),\n },\n {\n Header: \"Payment Amount\",\n accessor: \"payment_amount\",\n width: \"17.5%\",\n showFilter: true,\n popupPlaceholder: \"ex. 100\",\n showSort: true,\n searchlightField: \"PAYMENTAMOUNT\",\n sortField: \"PAYMENTAMOUNT, REFERENCECODE\",\n searchlightToken: \"EQ\",\n alignment: \"right\",\n Cell: (props: { value: number | null }) => TableUtils.formatCurrency(props.value, false),\n },\n {\n Header: \"Invoices\",\n accessor: \"invoices\",\n width: \"15%\",\n showFilter: true,\n popupPlaceholder: \"ex. 100\",\n showSort: true,\n // TODO: Change this to the appropriate field, Link up with API team\n searchlightField: \"INVOICECOUNT\",\n sortField: \"INVOICECOUNT, REFERENCECODE\",\n searchlightToken: \"EQ\",\n alignment: \"left\",\n Cell: (props: { value: string[] | null }) => TableUtils.formatList(props.value, false),\n },\n];\n\nconst INVOICESCOLUMNS = [\n {\n Header: \"Invoice Number\",\n accessor: \"invoice_number\",\n width: \"20%\",\n showFilter: true,\n popupPlaceholder: \"ex. 100\",\n showSort: true,\n searchlightField: \"INVOICENUMBER\",\n searchlightToken: \"CONTAINS\",\n alignment: \"left\",\n Cell: (props: { value: string | null }) => TableUtils.formatString(props.value, false),\n },\n {\n Header: \"Customer Name\",\n accessor: \"customer_name\",\n width: \"17.5%\",\n showFilter: true,\n popupPlaceholder: \"ex. John Doe\",\n showSort: true,\n searchlightField: \"CUSTOMERNAME\",\n sortField: \"CUSTOMERNAME, INVOICENUMBER\",\n searchlightToken: \"CONTAINS\",\n alignment: \"left\",\n Cell: (props: { value: string | null }) => TableUtils.formatString(props.value, false),\n },\n {\n Header: \"Status\",\n accessor: \"status\",\n width: \"17.5%\",\n showFilter: true,\n popupPlaceholder: \"ex. Open, Closed, Past Due\",\n showSort: true,\n searchlightField: \"DAYSPASTDUE\",\n sortField: \"STATUS, DAYSPASTDUE, INVOICENUMBER\",\n searchlightToken: \"lt\",\n upperBoundToken: \"ge\",\n dropdownOptions: [\n { altDisplay: \"OPEN\", value: InvoiceStatusType[\"OPEN\"], id: \"open\" },\n { altDisplay: \"PAST DUE 1-30\", value: \"0\", id: \"late1\" },\n { altDisplay: \"PAST DUE 31-60\", value: InvoiceStatusType[\"PAST DUE 31-60\"], id: \"late31\" },\n { altDisplay: \"PAST DUE 61-90\", value: InvoiceStatusType[\"PAST DUE 61-90\"], id: \"late61\" },\n { altDisplay: \"PAST DUE 91+\", value: InvoiceStatusType[\"PAST DUE 91+\"], id: \"late91\" },\n { altDisplay: \"CLOSED\", value: InvoiceStatusType[\"CLOSED\"], id: \"closed\" },\n ],\n alignment: \"left\",\n Cell: (props: { value: string | null; row: { original: { due_date: string | null } } }) =>\n TableUtils.formatStatus(props.row.original.due_date, props.value, false),\n },\n {\n Header: \"Due Date\",\n accessor: \"due_date\",\n width: \"15%\",\n showFilter: true,\n popupPlaceholder: \"ex. yyyy-mm-dd\",\n showSort: true,\n searchlightField: \"PAYMENTDUEDATE\",\n sortField: \"PAYMENTDUEDATE, INVOICENUMBER\",\n searchlightToken: \"CONTAINS\",\n alignment: \"left\",\n Cell: (props: { value: string | null }) => TableUtils.formatDate(props.value, true),\n },\n {\n Header: \"Invoice Amount\",\n accessor: \"invoice_amount\",\n width: \"17.5%\",\n showFilter: true,\n popupPlaceholder: \"ex. 100\",\n showSort: true,\n searchlightField: \"INVOICEAMOUNT\",\n sortField: \"INVOICEAMOUNT, INVOICENUMBER\",\n searchlightToken: \"EQ\",\n alignment: \"right\",\n Cell: (props: { value: number | null }) => TableUtils.formatCurrency(props.value, false),\n },\n {\n Header: \"Payments\",\n accessor: \"payments\",\n width: \"15%\",\n showFilter: true,\n popupPlaceholder: \"ex. 100\",\n showSort: true,\n // TODO: Ask API team for an appropriate sort Field, placeholder\n searchlightField: \"DAYSPASTDUE\",\n sortField: \"DAYSPASTDUE, INVOICENUMBER\",\n searchlightToken: \"EQ\",\n alignment: \"left\",\n Cell: (props: { value: string[] | null }) => TableUtils.formatList(props.value, false),\n },\n];\n\nexport default function Collected(): React.ReactElement {\n const history = useHistory();\n const { path } = useRouteMatch();\n const [isLoading, setLoading] = useState(true);\n const [isError, setError] = useState(false);\n const [errorMessage, setErrorMessage] = useState(\"\");\n const [tableData, setTableData] = useState([]);\n const [pageCount, setPageCount] = useState(0);\n const [pageNumber, setPageNumber] = useState(0);\n const [totalCount, setTotalCount] = useState(0);\n\n const customerFetchParser = (fetchResult: CustomerSummaryModelFetchResult, variant?: FetchVariant): Partial[] => {\n return (\n fetchResult?.records?.map((record: CustomerSummaryModel) => {\n return {\n ...((variant === \"id\" || variant === \"all\") && {\n id: record?.companyId,\n }),\n ...((variant === \"export\" || variant === \"all\") && {\n customer_name: record?.companyName || \"N/A\",\n primary_contact: record?.primaryContact || \"N/A\",\n amount_collected: record?.amountCollected,\n unapplied_amount: record?.unappliedPayments,\n invoices_paid: record?.closedInvoices,\n last_activity: record?.newestActivity,\n }),\n ...(variant === \"all\" && {\n disableCheckbox: undefined,\n isUnread: undefined,\n }),\n };\n }) ?? []\n );\n };\n\n function handleCustomerRowClick(\n e: MouseEvent,\n row: {\n original: { id?: string };\n }\n ) {\n sessionStorage.setItem(\"lastPath\", history.location.pathname);\n history.push(`${path.substring(0, path.lastIndexOf(\"/dashboard/receivables_summary\"))}/customers/${row.original.id ?? \"\"}`);\n }\n\n const invoiceFetchParser = (fetchResult: InvoiceSummaryModelFetchResult, variant?: FetchVariant): Partial[] => {\n return (\n fetchResult?.records?.map((record: InvoiceSummaryModel) => {\n return {\n ...((variant === \"id\" || variant === \"all\") && {\n id: record?.invoiceId,\n }),\n ...((variant === \"export\" || variant === \"all\") && {\n invoice_number: record?.invoiceNumber,\n customer_name: record?.customerName || \"N/A\",\n status: record?.status,\n due_date: record?.paymentDueDate,\n invoice_amount: record?.invoiceAmount,\n payments: record?.paymentNumbers,\n }),\n ...(variant === \"all\" && {\n disableCheckbox: undefined,\n isUnread: undefined,\n }),\n };\n }) ?? []\n );\n };\n\n function handleInvoiceRowClick(\n e: MouseEvent,\n row: {\n original: { id?: string };\n }\n ) {\n sessionStorage.setItem(\"lastPath\", history.location.pathname);\n history.push(`${path.substring(0, path.lastIndexOf(\"/dashboard/receivables_summary\"))}/invoices/${row.original.id ?? \"\"}`);\n }\n\n const paymentFetchParser = (fetchResult: PaymentSummaryModelFetchResult, variant?: FetchVariant): Partial[] => {\n return (\n fetchResult?.records?.map((record: PaymentSummaryModel) => {\n return {\n ...((variant === \"id\" || variant === \"all\") && {\n id: record?.paymentId,\n }),\n ...((variant === \"export\" || variant === \"all\") && {\n payment_number: record?.referenceCode,\n customer_name: record?.customerName || \"N/A\",\n type: record?.paymentType || \"N/A\",\n payment_date: record?.paymentDate,\n payment_amount: record?.paymentAmount,\n invoices: record?.invoiceList,\n }),\n ...(variant === \"all\" && {\n disableCheckbox: undefined,\n isUnread: undefined,\n }),\n };\n }) ?? []\n );\n };\n\n function handlePaymentRowClick(\n e: MouseEvent,\n row: {\n original: { id?: string };\n }\n ) {\n sessionStorage.setItem(\"lastPath\", history.location.pathname);\n history.push(`${path.substring(0, path.lastIndexOf(\"/dashboard/receivables_summary\"))}/payments/${row.original.id ?? \"\"}`);\n }\n\n return (\n \n );\n}\n","import React, { useState, MouseEvent } from \"react\";\nimport { useHistory, useRouteMatch } from \"react-router\";\nimport Table from \"../../../../library/Table/Table\";\nimport TableUtils from \"../../../../../utils/TableUtils/TableUtils\";\nimport { InvoiceStatusType } from \"../../../../../types/enums\";\nimport { companiesClient, invoicesClient } from \"../../../../../db/accessor\";\n\nconst CUSTOMERSCOLUMNS = [\n {\n Header: \"Customer Name\",\n accessor: \"customer_name\",\n width: \"22.5%\",\n showFilter: true,\n popupPlaceholder: \"ex. Blushing Blooms\",\n showSort: true,\n searchlightField: \"COMPANYNAME\",\n searchlightToken: \"CONTAINS\",\n alignment: \"left\",\n Cell: (props: { value: string | null }) => TableUtils.formatString(props.value, false),\n },\n {\n Header: \"Primary Contact\",\n accessor: \"primary_contact\",\n width: \"17.5%\",\n showFilter: true,\n popupPlaceholder: \"ex. John Doe\",\n showSort: true,\n searchlightField: \"PRIMARYCONTACT\",\n sortField: \"PRIMARYCONTACT, COMPANYNAME\",\n searchlightToken: \"CONTAINS\",\n alignment: \"left\",\n Cell: (props: { value: string | null }) => TableUtils.formatString(props.value, false),\n },\n {\n Header: \"Total Amount Due\",\n accessor: \"total_amount_due\",\n width: \"20%\",\n showFilter: true,\n popupPlaceholder: \"ex. 100\",\n showSort: true,\n searchlightField: \"OUTSTANDINGAMOUNT\",\n sortField: \"OUTSTANDINGAMOUNT, COMPANYNAME\",\n searchlightToken: \"EQ\",\n alignment: \"right\",\n Cell: (props: { value: number | null }) => TableUtils.formatCurrency(props.value, true),\n },\n {\n Header: \"Open Invoices\",\n accessor: \"open_invoices\",\n width: \"20%\",\n showFilter: true,\n popupPlaceholder: \"ex. 100\",\n showSort: true,\n searchlightField: \"OUTSTANDINGINVOICES\",\n sortField: \"OUTSTANDINGINVOICES, COMPANYNAME\",\n searchlightToken: \"EQ\",\n alignment: \"right\",\n Cell: (props: { value: number | null }) => TableUtils.formatNumber(props.value, true),\n },\n {\n Header: \"Last Activity\",\n accessor: \"last_activity\",\n width: \"20%\",\n showFilter: true,\n popupPlaceholder: \"ex. yyyy-mm-dd\",\n showSort: true,\n searchlightField: \"NEWESTACTIVITY\",\n sortField: \"NEWESTACTIVITY, COMPANYNAME\",\n searchlightToken: \"CONTAINS\",\n alignment: \"left\",\n Cell: (props: { value: string | null }) => TableUtils.formatLastActivity(props.value, false),\n },\n];\n\nconst INVOICESCOLUMNS = [\n {\n Header: \"Invoice Number\",\n accessor: \"invoice_number\",\n width: \"20%\",\n showFilter: true,\n popupPlaceholder: \"ex. 100\",\n showSort: true,\n searchlightField: \"INVOICENUMBER\",\n searchlightToken: \"CONTAINS\",\n alignment: \"left\",\n Cell: (props: { value: string | null }) => TableUtils.formatString(props.value, false),\n },\n {\n Header: \"Customer Name\",\n accessor: \"customer_name\",\n width: \"17.5%\",\n showFilter: true,\n popupPlaceholder: \"ex. John Doe\",\n showSort: true,\n searchlightField: \"CUSTOMERNAME\",\n sortField: \"CUSTOMERNAME, INVOICENUMBER\",\n searchlightToken: \"CONTAINS\",\n alignment: \"left\",\n Cell: (props: { value: string | null }) => TableUtils.formatString(props.value, false),\n },\n {\n Header: \"Status\",\n accessor: \"status\",\n width: \"15%\",\n showFilter: true,\n popupPlaceholder: \"ex. Open, Closed, Past Due\",\n showSort: true,\n searchlightField: \"DAYSPASTDUE\",\n sortField: \"STATUS, DAYSPASTDUE, INVOICENUMBER\",\n searchlightToken: \"lt\",\n upperBoundToken: \"ge\",\n dropdownOptions: [\n { altDisplay: \"OPEN\", value: InvoiceStatusType[\"OPEN\"], id: \"open\" },\n { altDisplay: \"PAST DUE 1-30\", value: \"0\", id: \"late1\" },\n { altDisplay: \"PAST DUE 31-60\", value: InvoiceStatusType[\"PAST DUE 31-60\"], id: \"late31\" },\n { altDisplay: \"PAST DUE 61-90\", value: InvoiceStatusType[\"PAST DUE 61-90\"], id: \"late61\" },\n { altDisplay: \"PAST DUE 91+\", value: InvoiceStatusType[\"PAST DUE 91+\"], id: \"late91\" },\n { altDisplay: \"CLOSED\", value: InvoiceStatusType[\"CLOSED\"], id: \"closed\" },\n ],\n alignment: \"left\",\n Cell: (props: { value: string | null; row: { original: { due_date: string | null } } }) =>\n TableUtils.formatStatus(props.row.original.due_date, props.value, false),\n },\n {\n Header: \"Due Date\",\n accessor: \"due_date\",\n width: \"12.5%\",\n showFilter: true,\n popupPlaceholder: \"ex. yyyy-mm-dd\",\n showSort: true,\n searchlightField: \"PAYMENTDUEDATE\",\n sortField: \"PAYMENTDUEDATE, INVOICENUMBER\",\n searchlightToken: \"CONTAINS\",\n alignment: \"left\",\n Cell: (props: { value: string | null }) => TableUtils.formatDate(props.value, true),\n },\n {\n Header: \"Invoice Amount\",\n accessor: \"invoice_amount\",\n width: \"17.5%\",\n showFilter: true,\n popupPlaceholder: \"ex. 100\",\n showSort: true,\n searchlightField: \"INVOICEAMOUNT\",\n sortField: \"INVOICEAMOUNT, INVOICENUMBER\",\n searchlightToken: \"EQ\",\n alignment: \"right\",\n Cell: (props: { value: number | null }) => TableUtils.formatCurrency(props.value, false),\n },\n {\n Header: \"Last Activity\",\n accessor: \"last_activity\",\n width: \"17.5%\",\n showFilter: true,\n popupPlaceholder: \"ex. yyyy-mm-dd\",\n showSort: true,\n searchlightField: \"NEWESTACTIVITY\",\n sortField: \"NEWESTACTIVITY, INVOICENUMBER\",\n searchlightToken: \"CONTAINS\",\n alignment: \"left\",\n Cell: (props: { value: string | null }) => TableUtils.formatLastActivity(props.value, false),\n },\n];\n\nexport default function Invoiced(): React.ReactElement {\n const history = useHistory();\n const { path } = useRouteMatch();\n const [isLoading, setLoading] = useState(true);\n const [isError, setError] = useState(false);\n const [errorMessage, setErrorMessage] = useState(\"\");\n const [tableData, setTableData] = useState([]);\n const [pageCount, setPageCount] = useState(0);\n const [pageNumber, setPageNumber] = useState(0);\n const [totalCount, setTotalCount] = useState(0);\n\n const customerFetchParser = (fetchResult: CustomerSummaryModelFetchResult, variant?: FetchVariant): Partial[] => {\n return (\n fetchResult?.records?.map((record: CustomerSummaryModel) => {\n return {\n ...((variant === \"id\" || variant === \"all\") && {\n id: record?.companyId,\n }),\n ...((variant === \"export\" || variant === \"all\") && {\n customer_name: record?.companyName || \"N/A\",\n primary_contact: record?.primaryContact || \"N/A\",\n total_amount_due: record?.outstandingAmount,\n open_invoices: record?.outstandingInvoices,\n last_activity: record?.newestActivity,\n }),\n ...(variant === \"all\" && {\n disableCheckbox: undefined,\n isUnread: undefined,\n }),\n };\n }) ?? []\n );\n };\n\n function handleCustomerRowClick(\n e: MouseEvent,\n row: {\n original: { id?: string };\n }\n ) {\n sessionStorage.setItem(\"lastPath\", history.location.pathname);\n history.push(`${path.substring(0, path.lastIndexOf(\"/dashboard/receivables_summary\"))}/customers/${row.original.id ?? \"\"}`);\n }\n\n const invoiceFetchParser = (fetchResult: InvoiceSummaryModelFetchResult, variant?: FetchVariant): Partial[] => {\n return (\n fetchResult?.records?.map((record: InvoiceSummaryModel) => {\n return {\n ...((variant === \"id\" || variant === \"all\") && {\n id: record?.invoiceId,\n }),\n ...((variant === \"export\" || variant === \"all\") && {\n invoice_number: record?.invoiceNumber,\n customer_name: record?.customerName || \"N/A\",\n status: record?.status,\n due_date: record?.paymentDueDate,\n invoice_amount: record?.invoiceAmount,\n last_activity: record?.newestActivity,\n }),\n ...(variant === \"all\" && {\n disableCheckbox: undefined,\n isUnread: undefined,\n }),\n };\n }) ?? []\n );\n };\n\n function handleInvoiceRowClick(\n e: MouseEvent,\n row: {\n original: { id?: string };\n }\n ) {\n sessionStorage.setItem(\"lastPath\", history.location.pathname);\n history.push(`${path.substring(0, path.lastIndexOf(\"/dashboard/receivables_summary\"))}/invoices/${row.original.id ?? \"\"}`);\n }\n\n return (\n \n );\n}\n","import React from \"react\";\nimport { Route, Switch, useRouteMatch } from \"react-router\";\nimport \"../Drilldowns.scss\";\nimport Collected from \"./Collected/Collected\";\nimport Invoiced from \"./Invoiced/Invoiced\";\nimport Navbar from \"../../../library/Navbar/Navbar\";\nimport ARHeader from \"../../../library/ARHeader/ARHeader\";\nimport { DateTime } from \"luxon\";\n\nconst routes = [\n {\n displayName: \"Collected\",\n routeName: \"?sort=AMOUNTCOLLECTED+DESC%2C+COMPANYNAME+DESC\",\n component: ,\n },\n {\n displayName: \"Invoiced\",\n routeName: \"invoiced?sort=OUTSTANDINGAMOUNT+DESC%2C+COMPANYNAME+DESC\",\n component: ,\n },\n];\n\nexport default function ReceivablesSummary(): React.ReactElement {\n const { path } = useRouteMatch();\n return (\n
\n
\n \n
\n
\n
\n \n {\n return (\n \n );\n }}\n />\n {\n return (\n \n );\n }}\n />\n \n\n
\n \n {routes &&\n routes.map((val) => {\n return (\n {\n return val.component;\n }}\n />\n );\n })}\n \n
\n
\n
\n
\n );\n}\n","/* eslint-disable @typescript-eslint/no-unused-vars */\nimport React from \"react\";\nimport { Switch, useRouteMatch, Route } from \"react-router-dom\";\nimport { OverlayScrollbarsComponent } from \"overlayscrollbars-react\";\n\nimport { default as TopRisksWidget } from \"./Widgets/TopCustomers/TopCustomers\";\nimport { default as TopRisksDrilldown } from \"./Drilldowns/TopCustomers/TopCustomers\";\nimport { default as AgingWidget } from \"./Widgets/Aging/Aging\";\nimport { default as AgingDrilldown } from \"./Drilldowns/Aging/Aging\";\nimport { default as ReceivablesRiskWidget } from \"./Widgets/ReceivablesRisk/ReceivablesRisk\";\nimport { default as ReceivablesRiskDrilldown } from \"./Drilldowns/ReceivablesRisk/ReceivablesRisk\";\nimport { default as DaysSalesOutstandingWidget } from \"./Widgets/DaysSalesOutstanding/DaysSalesOutstanding\";\nimport { default as DaysSalesOutstandingDrilldown } from \"./Drilldowns/DaysSalesOutstanding/DaysSalesOutstanding\";\nimport { default as ReceivablesSummaryWidget } from \"./Widgets/ReceivablesSummary/ReceivablesSummary\";\nimport { default as ReceivablesSummaryDrilldown } from \"./Drilldowns/ReceivablesSummary/ReceivablesSummary\";\nimport CompanyProfile from \"./Profiles/CompanyProfile/CompanyProfile\";\nimport MyProfile from \"./Profiles/MyProfile/MyProfile\";\nimport \"./Dashboard.scss\";\n\nconst routes = [\n {\n displayName: \"Dashboard\",\n routeName: \"\",\n },\n {\n displayName: \"Receivables Summary\",\n routeName: \"receivables_summary\",\n component: ,\n },\n {\n displayName: \"Receivables Risk\",\n routeName: \"receivables_risk\",\n component: ,\n },\n {\n displayName: \"Days Sales Outstanding\",\n routeName: \"days_sales_outstanding\",\n component: ,\n },\n {\n displayName: \"Current AR Aging\",\n routeName: \"aging\",\n component: ,\n },\n {\n displayName: \"Top 5 Customers with Invoices Past Due\",\n routeName: \"top_customers\",\n component: ,\n },\n // TODO: Enable when the profile APIs are ready\n // {\n // displayName: \"My Profile\",\n // routeName: \"my_profile\",\n // component: ,\n // },\n // {\n // displayName: \"Company Profile\",\n // routeName: \"company_profile\",\n // component: ,\n // },\n];\n\n/**\n * * Defines the Dashboard Page\n */\nexport default function Dashboard(): React.ReactElement {\n const { path } = useRouteMatch();\n\n return (\n \n {\n return (\n \n
\n {/* Header of Dashboard (Welcome) */}\n
\n

Welcome to Lockstep Insights

\n

See the health of your accounts receivable instantly.

\n
\n {/* Body of Dashboard (Widget Wrapper) */}\n
\n
\n
\n \n \n
\n
\n \n \n \n
\n
\n
\n
\n
\n );\n }}\n />\n\n {\n routes && routes.slice(1).map((val) => {\n return (\n {\n if (val.component) {\n return val.component;\n } else {\n return <>;\n }\n }}\n />\n );\n })\n }\n
\n );\n}\n","import React, { useEffect, ChangeEvent, KeyboardEvent } from \"react\";\nimport OverlayScrollbars from \"overlayscrollbars\";\nimport \"./TextArea.scss\";\n\ntype LabelObject = {\n regularText: string;\n extraText: string;\n};\n\ninterface TextAreaProps {\n placeholder?: string;\n label?: string | LabelObject;\n defaultValue?: string;\n onChange: (val: string) => void;\n onKeyDown?: (e: KeyboardEvent) => void;\n className?: string;\n inputRef?: React.RefObject | undefined;\n}\n\nexport function TextArea(props: TextAreaProps): React.ReactElement {\n const isLabelObject = (x: string | LabelObject): x is LabelObject => true;\n const inputId = typeof props?.label === \"string\" ? props?.label : props?.label?.regularText;\n useEffect(() => {\n OverlayScrollbars(document.querySelectorAll(\"textarea\"), {\n className: \"os-theme-dark textarea_wrapper\",\n textarea: { dynWidth: false, dynHeight: true },\n });\n }, []);\n\n return (\n
\n {props?.label &&\n (typeof props?.label === \"string\" ? (\n \n ) : isLabelObject(props?.label) ? (\n \n \n \n ) : (\n <>\n ))}\n ) => {\n props.onChange(e.target.value);\n }}\n onKeyDown={props.onKeyDown}\n ref={props.inputRef ?? undefined}\n />\n
\n );\n}\n","import React from \"react\";\nimport Autocomplete from \"../../../../library/Autocomplete/Autocomplete\";\nimport { Chip, TextField } from \"@mui/material\";\nimport CloseIcon from \"@mui/icons-material/Close\";\n\ninterface ActivityToProps {\n options: To[];\n to: To[];\n setTo: (e: any, value: any) => void;\n}\n\nexport default function ActivityTo(props: ActivityToProps): React.ReactElement {\n return (\n val.label}\n style={{ \"border\": \"none\" }}\n renderTags={(value: To[], getTagProps: any) => {\n return value.map((option: any, index: any) => (\n
\n }\n className={\"na-body-to-chip\"}\n {...getTagProps({ index })}\n />\n
\n ))}\n }\n renderInput={(params: any) => (\n \n )}\n forcePopupIcon={false}\n />\n );\n}","import React from \"react\";\nimport { styled } from \"@mui/system\";\nimport { TextField } from \"@mui/material\";\n\ninterface ActivityTitleProps {\n title: string;\n handleTitleSelect: (e: any) => void;\n}\n\nexport default function ActivityTitle(props: ActivityTitleProps): React.ReactElement {\n const TextFieldTitle = styled(TextField)`\n & .MuiFormControl-root {\n height: 40px;\n margin: 0 !important;\n width: 504px;\n }\n\n & .MuiFilledInput-root {\n height: 40px;\n background-color: #F7F7FB;\n border-radius: 2px;\n font-weight: 400;\n font-family: Work Sans;\n color: #143B52;\n font-size: 14px;\n line-height: 20px;\n input {\n border: 1px solid transparent;\n border-radius: 2px;\n padding: 10px 12px;\n &::placeholder {\n color: #8592AD;\n }\n &:hover {\n background-color: #f2f3f8;\n }\n &:focus {\n border: 1px solid #A1ADC4;\n }\n }\n }\n `\n\n return (\n \n );\n}","export default __webpack_public_path__ + \"static/media/Undo.584292cf.svg\";","export default __webpack_public_path__ + \"static/media/Redo.512c9614.svg\";","export default __webpack_public_path__ + \"static/media/Bold.8649c4a7.svg\";","export default __webpack_public_path__ + \"static/media/Italic.193bdc58.svg\";","export default __webpack_public_path__ + \"static/media/Underline.e2bece91.svg\";","export default __webpack_public_path__ + \"static/media/Strikethrough.d61b8c9c.svg\";","import React, { useRef } from \"react\";\nimport { EmailAttachment } from \"../../../../../library/Icons/Icons\";\n\ninterface AttachmentProps {\n key: number;\n handleFileSelect: (files: FileList) => void;\n fileSelected: boolean;\n}\n\nexport default function Attachment(props: AttachmentProps): React.ReactElement {\n const inputFile = useRef(null);\n\n const imageClick = () => {\n if (inputFile && inputFile.current) {\n inputFile.current.click();\n }\n }\n\n const handleOnChange = (e: React.ChangeEvent) => {\n props.handleFileSelect(e.target.files ?? new FileList());\n }\n\n return (\n
\n
\n \n
\n \n
\n
\n
\n )\n}","import React from \"react\";\nimport CloseIcon from \"@mui/icons-material/Close\";\nimport \"./FileAttachment.scss\"\n\ninterface FileAttachmentProps {\n label: string;\n size: number;\n handleClick: () => void;\n}\n\nexport default function FileAttachment(props: FileAttachmentProps): React.ReactElement {\n return (\n
\n
\n

{props.label}

\n

{`(${props.size})`}

\n
\n
\n \n
\n
\n )\n}","import React, { Dispatch, SetStateAction } from \"react\";\nimport { Editor } from \"react-draft-wysiwyg\";\nimport Undo from \"../../../../../assets/Undo.svg\";\nimport Redo from \"../../../../../assets/Redo.svg\";\nimport Bold from \"../../../../../assets/Bold.svg\";\nimport Italic from \"../../../../../assets/Italic.svg\";\nimport Underline from \"../../../../../assets/Underline.svg\";\nimport Strikethrough from \"../../../../../assets/Strikethrough.svg\";\nimport Attachment from \"./CustomButtons/Attachment\";\nimport FileAttachment from \"../../../../library/FileAttachment/FileAttachment\";\n\nimport \"./ActivityBody.scss\"\nimport { EditorState } from \"draft-js\";\n\ninterface ActivityBodyProps {\n editorState: EditorState;\n setEditorState: Dispatch>;\n files: File[];\n handleFileSelect: (newFiles: FileList) => void;\n filesSelected: boolean;\n handleFileRemove: (key: number) => void;\n}\n\nexport default function ActivityBody(props: ActivityBodyProps): React.ReactElement {\n return (\n
\n \n ]\n }\n /> \n
\n {props.files.map((value, index) => (\n props.handleFileRemove(index)}\n />\n ))}\n
\n
\n );\n}","import React, { useState } from \"react\";\nimport { Search, Reply, DropdownArrow } from \"../../../library/Icons/Icons\";\nimport Button from \"../../../library/Button/Button\";\nimport ActivityTo from \"./ActivityTo/ActivityTo\";\nimport ActivityTitle from \"./ActivityTitle/ActivityTitle\";\nimport ActivityBody from \"./ActivityBody/ActivityBody\";\nimport CloseIcon from \"@mui/icons-material/Close\";\nimport \"./NewActivity.scss\";\nimport { ContentState, EditorState } from \"draft-js\";\n\ninterface NewActivityProps {\n title: string;\n open: boolean;\n defaultTo?: To[];\n defaultTitle?: string;\n defaultBody?: string;\n defaultFiles?: File[];\n replyOptions?: { replyButton: boolean, start: string, reply: To[], replyAll: To[] };\n handleSend: (to: To[], title: string, body: string) => void;\n handleSendMarkClosed?: () => void;\n onClose: () => void;\n contactOptions: To[];\n}\n\nexport default function NewActivity(props: NewActivityProps): React.ReactElement {\n const newActivityTypings = new Map();\n newActivityTypings.set(\"Reply\", props?.replyOptions?.reply);\n newActivityTypings.set(\"Reply All\", props?.replyOptions?.replyAll);\n\n const replyButtonStateMappings = new Map();\n replyButtonStateMappings.set(\"Reply\", \"Reply All\");\n replyButtonStateMappings.set(\"Reply All\", \"Reply\");\n\n const [to, setTo] = useState(props.defaultTo ?? [])\n const [showSendClose, setShowSendClose] = useState(false);\n const [toOption, setToOption] = useState(replyButtonStateMappings.get(props?.replyOptions?.start) ?? \"\");\n const [title, setTitle] = useState(props.defaultTitle ?? \"\");\n const [editorState, setEditorState] = useState(() => {\n if (props.defaultBody) {\n return EditorState.createWithContent(ContentState.createFromText(props.defaultBody));\n }\n return EditorState.createEmpty()\n });\n const [files, setFiles] = useState(props.defaultFiles ?? []);\n const [filesSelected, setFilesSelected] = useState(false);\n\n const handleSetTo = (e: any, value: To[]) => {\n value.forEach((val: string | To, index, value) => {\n if (typeof val === \"string\") {\n value[index] = { id: \"\", label: val }\n }\n });\n setTo(value)\n }\n\n const handleTitleSelect = (e: any) => {\n setTitle((e.target as HTMLInputElement).value);\n }\n\n const handleFileSelect = (newFiles: FileList) => {\n setFiles(Array.from(newFiles));\n setFilesSelected(newFiles.length > 0);\n }\n\n const handleFileRemove = (index: number) => {\n const newFiles = files;\n newFiles.splice(index, 1);\n setFiles(newFiles);\n }\n\n const handleReplyButtonClick = () => {\n setTo(newActivityTypings.get(toOption) ?? []);\n setToOption(replyButtonStateMappings.get(toOption) ?? \"\");\n }\n\n return (\n
\n
\n

\n {props.title}\n

\n
\n \n
\n
\n
\n
\n
\n
\n

To

\n
\n \n
\n \n
\n
\n {props?.replyOptions?.replyButton && (
\n }\n onClick={handleReplyButtonClick}\n alignIcon={\"right\"}\n variant={\"secondary\"}\n >\n {toOption}\n \n
\n )}\n
\n
\n \n
\n
\n \n
\n
\n \n
\n {props.handleSendMarkClosed && (\n
\n
\n )}\n
\n
\n
\n
\n )\n}","import React, { useState, useRef, MouseEvent } from \"react\";\nimport Table from \"../../library/Table/Table\";\nimport { useEffect } from \"react\";\nimport APIClientUtils from \"../../../utils/APIClientUtils/APIClientUtils\";\nimport { activitiesClient, notesClient, userAccountsClient, companiesClient, statusClient } from \"../../../db/accessor\";\nimport Button from \"../../library/Button/Button\";\nimport { Email, MarkAsUnread, MoveTo, AssignTo, Archive, Forward, UserPic } from \"../../library/Icons/Icons\";\nimport { useHistory, useRouteMatch } from \"react-router-dom\";\nimport { Drawer, TextField, Snackbar, Alert } from \"@mui/material\";\nimport { TextArea } from \"../../library/TextArea/TextArea\";\nimport { AppContext } from \"../../../contexts/AppContext\";\nimport NewActivity from \"./NewActivity/NewActivity\";\nimport Autocomplete from \"../../library/Autocomplete/Autocomplete\";\nimport { NoteType } from \"../../../types/enums\";\n\ntype TableProps = {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n columns: any[];\n predefinedFilter: { route: string; searchlightFilter: string }[];\n};\n\nexport default function ActivitiesTable(props: TableProps): React.ReactElement {\n const { path } = useRouteMatch();\n const { userStatus } = React.useContext(AppContext) as AppType;\n const history = useHistory();\n const [isLoading, setLoading] = useState(true);\n const [isError, setError] = useState(false);\n const [errorMessage, setErrorMessage] = useState(\"\");\n const [pageCount, setPageCount] = useState(0);\n const [pageNumber, setPageNumber] = useState(0);\n const [totalCount, setTotalCount] = useState(0);\n const tableRef = useRef(null);\n const [tableData, setTableData] = useState([]);\n const [toggleUnread, setToggleUnread] = useState(true);\n const [showToast, setShowToast] = useState(false);\n const [toastError, setToastError] = useState(false);\n const [toastText, setToastText] = useState(\"\");\n const [newActivity, setNewActivity] = useState(false);\n\n const [reassignOpen, setReassignOpen] = useState(false);\n const [noteValue, setNoteValue] = useState(\"\");\n const [reassignIds, setReassignIds] = useState([]);\n const [reassignTo, setReassignTo] = useState<{ id: string | null; label: string } | null>(null);\n const [reassignOptions, setReassignOptions] = useState<{ id: string | null; label: string }[]>([]);\n\n const [moveOpen, setMoveOpen] = useState(false);\n const [moveIds, setMoveIds] = useState([]);\n const [moveActivityTo, setMoveActivityTo] = useState<{ id: string; label: string } | null>(null);\n const [moveOptions, setMoveOptions] = useState<{ id: string; label: string }[]>([]);\n\n const fetchParser = (fetchResult: ActivityModelFetchResult, variant?: FetchVariant): Partial[] => {\n return (\n fetchResult?.records?.map((record: ActivityModel) => {\n return {\n ...((variant === \"id\" || variant === \"all\") && {\n id: record.activityId,\n }),\n ...((variant === \"export\" || variant === \"all\") && {\n // TODO: Link up with Shane to figure out if createdUserId == from\n from: record.createdUserId,\n activity: {\n subject: record.activityName,\n body: record.activityDescription,\n },\n has_attachment: record?.attachments?.length ?? false,\n status: record.activityStatus,\n assigned_to: record.userAssignedTo ?? \"Unassigned\",\n // TODO: Link up with Shane to figure out if dateAssigned == date_received\n date_received: record.dateAssigned ?? record.created,\n }),\n ...(variant === \"all\" && {\n disableCheckbox: false,\n isUnread: record.isUnread,\n }),\n };\n }) ?? []\n );\n };\n\n async function handleRowClick(e: MouseEvent, row: { original: { id?: string; isUnread?: boolean } }) {\n if (path.includes(\"all\")) {\n history.push(`/AR/activities/all/${row.original.id}`);\n } else if (path.includes(\"mine\")) {\n history.push(`/AR/activities/mine/${row.original.id}`);\n } else if (path.includes(\"unassigned\")) {\n history.push(`/AR/activities/unassigned/${row.original.id}`);\n }\n\n if (row.original.isUnread) {\n try {\n await activitiesClient.patch(row.original.id ?? \"\", {\n isUnread: false,\n });\n } catch (error: unknown) {\n console.log(error);\n }\n }\n }\n\n async function updateActivities(ids: string[], updates: Partial, action: string) {\n await Promise.all(\n ids.map((id) => {\n return activitiesClient.patch(id, updates).catch((err) => err);\n })\n ).then((values) => {\n if (values.every((value: any) => !(value instanceof Error))) {\n setToastError(false);\n if (values.length > 1) {\n setToastText(`${ids.length} Activities ${action}`);\n } else {\n setToastText(`Activity ${action}`);\n }\n } else {\n setToastError(true);\n if (values.length > 1) {\n if (values.reduce((prev, curr) => prev + (curr instanceof Error ? 1 : 0), 0) > 1) {\n setToastText(`${values.filter((value: any) => value instanceof Error).length ?? ids.length} Activities were not ${action.toLowerCase()}`);\n } else {\n setToastText(`1 Activity was not ${action.toLowerCase()}`);\n }\n } else {\n setToastText(`Activity was not ${action.toLowerCase()}`);\n }\n }\n (tableRef?.current as any)?.softRefresh();\n setShowToast(true);\n });\n }\n\n const onRowSelect = (val: ActivitiesGridData[]) => {\n setToggleUnread(true);\n val.forEach((row: ActivitiesGridData) => {\n if (row.isUnread) {\n setToggleUnread(false);\n }\n });\n };\n\n const handleGroupClose = async (ids: string[]) => {\n await updateActivities(ids, { isOpen: false, isArchived: false, activityStatus: \"Closed\" }, \"Closed\");\n };\n\n const handleGroupReply = (ids: string[]) => {\n console.log(ids);\n };\n const handleGroupReassign = async (ids: string[]) => {\n setReassignIds(ids);\n setReassignOpen(true);\n try {\n const predefinedFilter = `(STATUS EQ 'Active')`;\n await userAccountsClient.queryUserAccounts(predefinedFilter).then((data) => {\n setReassignOptions(\n data.records?.map((row: UserAccountModel) => {\n const user = {\n id: row.userId,\n label: row.userId === userStatus.userId ? `${row.userName} (You)` : row.userName ? row.userName : \"N/A\",\n };\n return user;\n }) ?? []\n );\n });\n setReassignOptions((prev: { id: string | null; label: string }[]) => {\n return [...prev, { id: null, label: \"Unassigned\" }];\n });\n } catch (error: any) {\n setError(true);\n setErrorMessage(() => {\n return APIClientUtils.buildErrorMessage(error);\n });\n }\n };\n\n const reassignActivity = async () => {\n if (reassignTo) {\n await updateActivities(reassignIds, { userAssignedTo: reassignTo.id }, \"Reassigned\");\n await Promise.all(\n reassignIds.map((id) => {\n try {\n notesClient.post([\n {\n objectKey: id,\n tableKey: \"Activity\",\n noteText: `(Reassigned) To User: ${reassignTo?.label} by ${userStatus.userName} Note: ${noteValue}`,\n noteType: NoteType.Note,\n },\n ]);\n } catch (error: any) {\n setError(true);\n setErrorMessage(() => {\n return APIClientUtils.buildErrorMessage(error);\n });\n }\n })\n );\n setReassignOpen(false);\n setNoteValue(\"\");\n setShowToast(true);\n setReassignTo(null);\n }\n };\n\n const handleGroupToggleRead = async (ids: string[]) => {\n updateActivities(ids, { isUnread: toggleUnread }, `${toggleUnread ? \"Unread\" : \"Read\"}`);\n };\n\n const handleGroupArchive = async (ids: string[]) => {\n return updateActivities(ids, { isArchived: true, activityStatus: \"Archived\" }, \"Archived\");\n };\n const handleGroupMove = async (ids: string[]) => {\n setMoveIds(ids);\n setMoveOpen(true);\n try {\n const predefinedFilter = \"(ISACTIVE EQ true) AND (COMPANYTYPE EQ 'Customer')\";\n await companiesClient.getCompanies(predefinedFilter).then((data) => {\n setMoveOptions(\n data.records?.map((row: CompanyModel) => {\n const user = {\n id: row.companyId,\n label: row.companyName ?? \"N/A\",\n };\n return user;\n }) ?? []\n );\n });\n } catch (error: any) {\n setError(true);\n setErrorMessage(() => {\n return APIClientUtils.buildErrorMessage(error);\n });\n }\n };\n\n const moveActivity = async () => {\n if (moveActivityTo?.id) {\n await updateActivities(moveIds, { companyId: moveActivityTo.id }, \"Moved\");\n await Promise.all(\n moveIds.map((id) => {\n try {\n notesClient.post([\n {\n objectKey: id,\n tableKey: \"Activity\",\n noteText: `(Moved) To Connection: ${moveActivityTo?.label} by ${userStatus.userName} Note: ${noteValue}`,\n noteType: NoteType.Note,\n },\n ]);\n } catch (error: any) {\n setError(true);\n setErrorMessage(() => {\n return APIClientUtils.buildErrorMessage(error);\n });\n }\n })\n );\n setMoveOpen(false);\n setNoteValue(\"\");\n setMoveActivityTo(null);\n }\n };\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const handleSend = async (to: To[], title: string, body: string) => {\n await statusClient.getStatus().then(async (results: StatusModel) => {\n // TODO: wireup sending message to toList\n // TODO: wireup adding attachments to activity\n await activitiesClient.post([{\n userAssignedTo: results?.userId,\n activityTypeCode: \"string\",\n activityName: title,\n activityDescription: body,\n activityStatus: \"Active\",\n priority: \"string\",\n isOpen: true,\n isUnread: false,\n isArchived: false\n }]).then(() => {\n (tableRef?.current as any)?.hardRefresh();\n setToastText(\"Messages Sent\");\n setShowToast(true);\n });\n });\n }\n\n useEffect(() => {\n return () => {\n setPageNumber(0);\n setPageCount(0);\n setTotalCount(0);\n };\n }, []);\n\n return (\n <>\n } onClick={() => setNewActivity(true)} alignIcon=\"left\">\n New Activity\n \n ),\n },\n ]}\n rowSelectBtns={[\n {\n variant: \"secondary\",\n children: \"Close\",\n callback: (ids) => handleGroupClose(ids),\n },\n \"divider\",\n {\n icon: ,\n variant: \"solo-icon\",\n alignIcon: \"left\",\n tooltip: \"Forward\",\n callback: (ids) => handleGroupReply(ids),\n },\n {\n icon: ,\n variant: \"solo-icon\",\n alignIcon: \"left\",\n tooltip: \"Reassign\",\n callback: (ids) => handleGroupReassign(ids),\n },\n {\n icon: ,\n variant: \"solo-icon\",\n alignIcon: \"left\",\n tooltip: \"Move\",\n callback: (ids) => handleGroupMove(ids),\n },\n {\n icon: ,\n variant: \"solo-icon\",\n alignIcon: \"left\",\n tooltip: \"Archive\",\n callback: (ids) => handleGroupArchive(ids),\n },\n\n {\n icon: ,\n variant: \"solo-icon\",\n alignIcon: \"left\",\n tooltip: `Mark as ${toggleUnread ? \"unread\" : \"read\"}`,\n callback: (ids) => handleGroupToggleRead(ids),\n },\n ]}\n />\n {\n setReassignOpen(false);\n setNoteValue(\"\");\n setReassignTo(null);\n }}\n disablePortal\n >\n
\n

Change Assignment Owner

\n

Reassign this assignment to another team member within Lockstep.

\n \n setReassignTo({ id: selection.id, label: selection.label })}\n value={reassignTo}\n blurOnSelect\n disableClearable\n disablePortal\n fullWidth={true}\n popupIcon={}\n staticIcon={true}\n renderInput={(params) => (\n \n )}\n isOptionEqualToValue={(option, value) => {\n return option.label === value.label;\n }}\n />\n \n
\n
\n \n \n \n \n );\n}\n","import React, { useEffect, useState } from \"react\";\nimport { useParams } from \"react-router-dom\";\nimport { default as View } from \"./ViewMyProfile\";\nimport { default as Edit } from \"./EditMyProfile\";\nimport { DataMode } from \"../../../../types/enums\";\nimport { Snackbar, Alert } from \"@mui/material\";\nimport { AppContext } from \"../../../../contexts/AppContext\";\nimport { UserActions } from \"../../../../types/enums\";\nimport { codeDefinitionsClient, userAccountsClient } from \"../../../../db/accessor\";\nimport \"../Profiles.scss\";\n\nexport default function MyProfile(): React.ReactElement {\n const { userStatus, hasPermission } = React.useContext(AppContext) as AppType;\n const [dataMode, setDataMode] = React.useState(DataMode.View);\n const [showToast, setShowToast] = useState(false);\n const [toastError, setToastError] = useState(false);\n const { customerId } = useParams<{ customerId: string }>();\n const [profileData, setProfileData] = useState({} as UserAccountModel);\n const [codeDefinitions, setCodeDefinitions] = useState([]);\n const [isLoading, setLoading] = useState(true);\n\n useEffect(() => {\n (async function fetchData() {\n setLoading(true);\n await userAccountsClient.getUserAccount(customerId ?? userStatus.userId, \"AccountingRole\").then((data: UserAccountModel) => {\n setProfileData(data);\n });\n await codeDefinitionsClient\n .queryCodeDefinitions(\"CODETYPE EQ 'AccountingRole'\", undefined, \"codeDefinitionId\")\n .then((data: CodeDefinitionModelFetchResult) => {\n setCodeDefinitions(data?.records ?? []);\n });\n setLoading(false);\n })();\n }, []);\n\n return (\n <>\n {dataMode === DataMode.View && (\n \n )}\n {dataMode === DataMode.Edit && (\n \n )}\n\n setShowToast(false)} autoHideDuration={3000}>\n setShowToast(false)}\n severity={toastError ? \"error\" : \"success\"}\n sx={{ width: \"100%\" }}\n action={\n

setShowToast(false)}>\n CLOSE\n

\n }\n >\n {toastError ? \"An unknown error occurred\" : \"Profile Saved\"}\n \n
\n \n );\n}\n","export default __webpack_public_path__ + \"static/media/GmailLogo.c44c7884.svg\";","export default __webpack_public_path__ + \"static/media/OutlookLogo.92693943.svg\";","import Gmail from \"../../assets/GmailLogo.svg\"\nimport Outlook from \"../../assets/OutlookLogo.svg\"\n\nconst iconMap = new Map();\niconMap.set(\"GmailLogo\", Gmail);\niconMap.set(\"OutlookLogo\", Outlook);\n\nexport const getIconURL = (icon: string): string => {\n return iconMap.get(icon) ?? \"\";\n}\n","export default __webpack_public_path__ + \"static/media/NoEmailConnected.939f5f01.svg\";","import React, { ReactElement, useState, useEffect } from \"react\";\nimport { Caution } from \"../../library/Icons/Icons\";\nimport { applicationsClient } from \"../../../db/accessor\";\nimport { enrollmentsClient } from \"../../../db/accessor\";\nimport { getIconURL } from \"../../../utils/IconUtils/IconUtils\";\nimport { buildAuthRedirectURL } from \"../../../auth/authConfig\";\nimport Utils from \"../../../utils/utils\";\nimport { AppContext } from \"../../../contexts/AppContext\";\nimport { UserActions } from \"../../../types/enums\";\nimport NoEmailConnected from \"../../../assets/NoEmailConnected.svg\";\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nimport { GoogleLogin } from \"react-google-login\";\n\ninterface EditEmailSettingsProps {\n onResponseSuccess: () => void;\n setToast: (change: ToastData) => void;\n}\n\nexport default function EditEmailSettings(props: EditEmailSettingsProps): ReactElement {\n const { hasPermission } = React.useContext(AppContext) as AppType;\n const [emailApplications, setEmailApplications] = useState([]);\n\n async function getEmailConnections() {\n const emailFilter = \"appType contains email\";\n try {\n return await applicationsClient.getApplications(emailFilter).then((data: AppModelFetchResult) => {\n setEmailApplications(\n data.records?.map((emailConnection: AppModel) => {\n return {\n id: emailConnection?.appId ?? \"\",\n name: emailConnection?.name ?? \"\",\n iconURL: getIconURL(emailConnection?.iconUrl) ?? \"\",\n } as EmailApplicationsGridData;\n }) ?? []\n );\n });\n } catch (error: any) {\n console.log(error);\n }\n }\n\n async function createEmailEnrollment(id: string, code: string, redirectUri: string) {\n const body: Partial[] = [\n {\n appId: id,\n isActive: true,\n syncScheduleIsActive: true,\n connectorInfo: {\n authCode: code,\n email: null,\n redirectUri: redirectUri,\n realmId: null,\n },\n },\n ];\n\n try {\n return await enrollmentsClient.createEnrollment(body);\n } catch (error: any) {\n console.log(error);\n }\n }\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const gmailResponseSuccess = (id: string) => {\n createEmailEnrollment(id, \"\", \"\").then(() => {\n props.onResponseSuccess();\n });\n };\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const gmailResponseFailure = () => {\n props.setToast({ show: true, severity: \"error\", text: \"Email Connection Unsuccessful\" });\n };\n\n const handlePopup = (emailApp: EmailApplicationsGridData) => {\n const url = buildAuthRedirectURL(emailApp.name, emailApp.id, \"EmailAuthState\");\n Utils.openPopup(url, \"\", window, 900, 800);\n };\n\n useEffect(() => {\n getEmailConnections();\n\n const handleMessage = (event: MessageEvent) => {\n if (event.origin === window.location.origin && event.data.type === \"auth_code\") {\n const redirectURL = window.location.origin;\n const id = event.data[\"appId\"];\n const code = event.data[\"code\"];\n\n createEmailEnrollment(id, code, redirectURL).then(() => {\n props.onResponseSuccess();\n });\n }\n };\n\n window.addEventListener(\"message\", handleMessage);\n return () => {\n window.removeEventListener(\"message\", handleMessage);\n };\n }, []);\n\n if (!hasPermission(UserActions.AddEmailClient)) {\n return (\n
\n
\n \n
\n
\n

\n Your team doesn't have an email connected to Lockstep. Contact your team's Owner or an Admin to get your email connected.\n

\n
\n
\n );\n }\n\n return (\n <>\n
\n

\n Connect your team's shared email client to manage your workflow with Lockstep Activities. Once you connect an email account, your whole team\n will see the emails appear in their Lockstep inboxes.\n

\n
\n
\n
\n \n
\n

We recommend using your team's shared email alias during your setup. For example: ar@company.com

\n
\n
\n {(emailApplications ?? []).map((element: EmailApplicationsGridData) => {\n if (element.name === \"Microsoft Outlook\") {\n return (\n
handlePopup(element)}>\n
\n {element.name}\n
\n
\n );\n }\n // else if (element.name === \"Gmail\") {\n // return (\n // (\n //
\n //
\n // {element.name}\n //
\n //
\n // )}\n // onSuccess={() => gmailResponseSuccess(element.id)}\n // onFailure={() => gmailResponseFailure()}\n // />\n // );\n // }\n })}\n
\n \n );\n}\n","/* eslint-disable react/prop-types */\nimport React, { useState, Dispatch, useRef, SetStateAction, useEffect } from \"react\";\nimport { AppContext } from \"../../../contexts/AppContext\";\nimport { UserActions } from \"../../../types/enums\";\nimport { enrollmentsClient } from \"../../../db/accessor\";\nimport { getIconURL } from \"../../../utils/IconUtils/IconUtils\";\nimport Gmail from \"../../../assets/GmailLogo.svg\";\nimport CenterPopup from \"../../library/CenterPopup/CenterPopup\";\nimport { GoogleLogin, GoogleLogout } from \"react-google-login\";\nimport { MicrosoftLogin } from \"react-microsoft-login\";\nimport TableUtils from \"../../../utils/TableUtils/TableUtils\";\nimport Chip from \"../../library/Chip/Chip\";\nimport Button from \"../../library/Button/Button\";\nimport { formatTimeElapsed } from \"../../../db/utils/date\";\nimport Table from \"../../library/Table/Table\";\nimport \"./EmailSettings.scss\";\n\ntype ViewEmailSettingsProps = {\n setToast: Dispatch>;\n totalCount: number;\n setTotalCount: Dispatch>;\n isLoading: boolean;\n setLoading: Dispatch>;\n onResponseSuccessCallback: number;\n};\nexport default function ViewEmailSettings(props: ViewEmailSettingsProps): React.ReactElement {\n const { hasPermission } = React.useContext(AppContext) as AppType;\n\n const [showRemoveModal, setShowRemoveModal] = useState(false);\n const [showRemoveDataButton, setShowRemoveDataButton] = useState(false);\n\n const [removeAuthCallback, setRemoveAuthCallback] = useState<() => void>(() => void 0);\n const [connectionToRemove, setConnectionToRemove] = useState(\"\");\n\n const [tableData, setTableData] = useState([]);\n\n const [isError, setError] = useState(false);\n const [errorMessage, setErrorMessage] = useState(\"\");\n const [pageCount, setPageCount] = useState(0);\n const [pageNumber, setPageNumber] = useState(0);\n\n const tableRef = useRef(null);\n\n // Hack to call connectEmail from parent\n useEffect(() => {\n const connectEmail = () => {\n (tableRef?.current as any)?.softRefresh();\n props.setToast({\n show: true,\n severity: \"success\",\n text: \"Email Connected\",\n });\n };\n if (props.onResponseSuccessCallback) {\n connectEmail();\n }\n }, [props.onResponseSuccessCallback]);\n\n const handleRemoveClick = (e: React.MouseEvent, rowData: EmailSettingGridData, rowOnClick: () => void) => {\n e.stopPropagation();\n setConnectionToRemove(rowData.id);\n setShowRemoveModal(true);\n setShowRemoveDataButton(rowData.status === \"CONNECTED\");\n setRemoveAuthCallback(() => rowOnClick);\n };\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const handleReconnectClick = (e: React.MouseEvent, rowData: EmailSettingGridData, onClick: () => void) => {\n // TODO: To be implmented in another story\n e.stopPropagation();\n onClick();\n };\n\n /**\n * * Helper method to set App Enrollment to Active\n * @param id - Database ID of App Enrollment\n */\n const setActiveEnrollment = async (id: string) => {\n await enrollmentsClient.changeEnrollment(id, { isActive: true }).then(() => {\n // TODO: Add toast\n (tableRef?.current as any)?.softRefresh();\n });\n };\n\n /**\n * * Outlook Auth handler function\n * @param error - Error state of Outlook auth\n * @param data - Data state of Outlook auth\n * @param row - Current row data for App Enrollment in Table\n */\n const outlookAuthHandler = (error: any, data: any, row: EmailSettingGridData) => {\n if (!error && data) {\n sessionStorage.removeItem(\"msal.idtoken\");\n setActiveEnrollment(row.id);\n props.setToast({ show: true, severity: \"success\", text: \"Email Connected\" });\n } else {\n props.setToast({ show: true, severity: \"error\", text: \"Email Connection Unsuccessful\" });\n }\n };\n\n const COLUMNS = [\n {\n Header: \"Email Address\",\n accessor: \"emailAddress\",\n width: \"20%\",\n showSort: true,\n searchlightField: \"EMAIL\",\n alignment: \"left\",\n Cell: function format(props: { value: string }) {\n return TableUtils.withFormattedCellElement(
{props.value}
);\n },\n },\n {\n Header: \"Email Connection\",\n accessor: \"emailConnection\",\n width: \"20%\",\n showSort: true,\n searchlightField: \"EMAILCONNECTION\",\n alignment: \"left\",\n Cell: function format(props: {\n value: boolean;\n row: {\n index: number;\n original: EmailSettingGridData;\n };\n }) {\n return (\n
\n {\"Email\n
\n );\n },\n },\n {\n Header: \"Status\",\n accessor: \"status\",\n width: \"20%\",\n showSort: true,\n searchlightField: \"STATUS\",\n alignment: \"left\",\n Cell: function format(props: {\n row: {\n original: EmailSettingGridData;\n };\n }) {\n return TableUtils.withFormattedCellElement(\n props.row.original.status === \"CONNECTED\" ? (\n \n ) : (\n \n )\n );\n },\n },\n {\n Header: \"Last Sync\",\n accessor: \"lastSync\",\n width: \"20%\",\n showSort: true,\n searchlightField: \"MODIFIED\",\n alignment: \"left\",\n Cell: function format(props: { value: string | null }) {\n if (!props.value) {\n return TableUtils.formatString(\"N/A\");\n }\n return TableUtils.formatString(formatTimeElapsed(props.value) + \" ago\");\n },\n },\n {\n Header: \"\",\n accessor: \"removeButton\",\n width: \"20%\",\n alignment: \"right\",\n Cell: function format(cellProps: {\n value: boolean;\n row: {\n index: number;\n original: EmailSettingGridData;\n };\n }) {\n return (\n
\n
\n
\n {cellProps.row.original.status === \"DISCONNECTED\" &&\n (cellProps.row.original.emailName === \"Gmail\" ? (\n (\n handleReconnectClick(e, cellProps.row.original, renderProps.onClick)}\n >\n Reconnect\n \n )}\n onSuccess={() => setActiveEnrollment(cellProps.row.original.id)}\n onFailure={() => props.setToast({ show: true, severity: \"error\", text: \"Email Connection Unsuccessful\" })}\n />\n ) : cellProps.row.original.emailName === \"Microsoft Outlook\" ? (\n
\n outlookAuthHandler(error, data, cellProps.row.original)}\n >\n \n \n
\n ) : (\n <>\n ))}\n {cellProps.row.original.emailConnection === Gmail ? (\n (\n handleRemoveClick(e, cellProps.row.original, renderProps.onClick)}\n >\n Remove\n \n )}\n onLogoutSuccess={() => void 0}\n />\n ) : (\n handleRemoveClick(e, cellProps.row.original, () => void 0)}\n >\n Remove\n \n )}\n
\n
\n
\n );\n },\n },\n ];\n\n // Sets isActive on AppEnrollment to false\n const handleRemoveKeepDataClick = async () => {\n await enrollmentsClient.changeEnrollment(connectionToRemove, { isActive: false }).then(() => {\n removeAuthCallback();\n setRemoveAuthCallback(() => void 0);\n setShowRemoveModal(false);\n setConnectionToRemove(\"\");\n props.setToast({ show: true, severity: \"success\", text: \"Connection Removed\" });\n (tableRef?.current as any)?.softRefresh();\n });\n };\n\n // Deletes AppEnrollment\n const handleRemoveDataClick = async () => {\n await enrollmentsClient.deleteEnrollment(connectionToRemove).then(() => {\n removeAuthCallback();\n setRemoveAuthCallback(() => void 0);\n setShowRemoveModal(false);\n setConnectionToRemove(\"\");\n props.setToast({ show: true, severity: \"success\", text: \"Connection Removed\" });\n (tableRef?.current as any)?.softRefresh();\n });\n };\n\n const parseEmailFromRecord = (record: AppEnrollmentModel) => {\n const emailDef = record.customFieldDefinitions.find((e) => e.customFieldLabel === \"Email\");\n const emailVal = record.customFieldValues.find((e) => e.customFieldDefinitionId === emailDef?.customFieldDefinitionId);\n return emailVal?.stringValue ?? \"N/A\";\n };\n\n const fetchParser = (fetchResult: AppEnrollmentModelFetchResult, variant?: FetchVariant): Partial[] => {\n return (\n fetchResult?.records?.map((record: AppEnrollmentModel) => {\n return {\n ...((variant === \"id\" || variant === \"all\") && {\n id: record?.appEnrollmentId,\n }),\n ...((variant === \"export\" || variant === \"all\") && {\n emailAddress: parseEmailFromRecord(record),\n emailConnection: getIconURL(record?.app.iconUrl),\n status: record?.isActive ? \"CONNECTED\" : \"DISCONNECTED\",\n lastSync: record?.lastSync?.modified ?? \"N/A\",\n removeButton: hasPermission(UserActions.AddEmailClient),\n emailName: record?.app.name,\n }),\n ...(variant === \"all\" && {\n disableCheckbox: undefined,\n isUnread: undefined,\n }),\n };\n }) ?? []\n );\n };\n\n return (\n <>\n
\n

Connect your team's shared email client to manage your workflow with Lockstep Activities.

\n
\n {\n return null;\n },\n // TODO: Replace this with a filter using AppType! Pending API Work\n predefinedFilters: [\n {\n route: \"emailSettings\",\n searchlightFilter: \"(APPID in ('00000000-0000-0000-0001-000000000003'))\",\n },\n ],\n },\n ]}\n states={{\n isLoading: props.isLoading,\n setLoading: props.setLoading,\n isError: isError,\n setError: setError,\n errorMessage: errorMessage,\n setErrorMessage: setErrorMessage,\n }}\n pagination={{\n pageCount: pageCount,\n setPageCount: setPageCount,\n pageNumber: pageNumber,\n setPageNumber: setPageNumber,\n totalCount: props.totalCount,\n setTotalCount: props.setTotalCount,\n }}\n toggles={{\n showCaption: false,\n showRowSelect: false,\n showNavigation: false,\n showExportBtn: false,\n showSearchbar: false,\n }}\n />\n {showRemoveModal && (\n setShowRemoveModal(false)}\n rightBtnText=\"Remove and Delete Data\"\n onClickRightBtn={handleRemoveDataClick}\n middleRightBtnText={showRemoveDataButton ? \"Remove\" : undefined}\n onClickMiddleRightBtn={showRemoveDataButton ? handleRemoveKeepDataClick : undefined}\n mainDisplay={{\n Cell: function format() {\n return (\n <>\n Removing your email impact your team's Lockstep experience. You can simply remove the connection, or remove the connection and\n delete the existing data. Are you sure you want to remove your email connection?\n \n );\n },\n }}\n />\n )}\n \n );\n}\n","import React, { useState, ReactElement } from \"react\";\nimport { Snackbar, Alert, AlertColor } from \"@mui/material\";\nimport { default as Edit } from \"./EditEmailSettings\";\nimport { default as View } from \"./ViewEmailSettings\";\nimport { AppContext } from \"../../../contexts/AppContext\";\nimport \"./EmailSettings.scss\";\n\nexport default function EmailSettings(): ReactElement {\n const { initialLoad, userStatus } = React.useContext(AppContext) as AppType;\n const [toast, setToast] = useState({} as ToastData);\n const [isLoading, setLoading] = useState(true);\n const [totalCount, setTotalCount] = useState(0);\n\n // Hack to call child method from ViewEmailSettings to softRefresh table\n const [onResponseSuccessCallback, setResponseSucessCallback] = useState(0);\n const onResponseSuccess = () => {\n setResponseSucessCallback((prev) => prev + 1);\n };\n\n return (\n
\n
\n \n
\n\n {!isLoading && totalCount === 0 && }\n\n setToast({} as ToastData)}\n autoHideDuration={3000}\n >\n setToast({} as ToastData)}\n severity={toast.severity as AlertColor}\n sx={{ width: \"100%\" }}\n action={\n

setToast({} as ToastData)}>\n CLOSE\n

\n }\n >\n {toast.text}\n \n \n
\n );\n}\n","import React from \"react\";\nimport { Route, Switch, useRouteMatch, useParams } from \"react-router-dom\";\n\nimport \"./Settings.scss\";\nimport MySettings from \"./MySettings/MySettings\";\nimport TeamSettings from \"./TeamSettings/TeamSettings\";\nimport UserPermissions from \"./UserPermissions/UserPermissions\";\nimport AccountingSoftware from \"./AccountingSoftware/AccountingSoftware\";\nimport Navbar from \"../library/Navbar/Navbar\";\nimport MyProfile from \"../Dashboard/Profiles/MyProfile/MyProfile\";\nimport { AppContext } from \"../../contexts/AppContext\";\nimport EmailSettings from \"./EmailSettings/EmailSettings\";\nimport { SettingsContext } from \"../../contexts/SettingsContext\";\n\nconst mainRoutes = [\n {\n displayName: \"My Settings\",\n routeName: \"\",\n },\n {\n displayName: \"Team Settings\",\n routeName: \"teamSettings\",\n },\n];\n\nconst userPermissionsRoutes = [\n {\n displayName: \"Active Members\",\n routeName: \"userPermissions?sort=USERNAME+DESC\",\n },\n {\n displayName: \"Invitations\",\n routeName: \"userPermissions/invitations?sort=EMAIL+DESC\",\n },\n {\n displayName: \"Removed Members\",\n routeName: \"userPermissions/removed?sort=USERNAME+DESC\",\n },\n];\n\nconst accountingSoftwareRoutes = [\n {\n displayName: \"Accounting Software Settings\",\n routeName: \"accountingSoftware\",\n },\n];\n\nconst emailRoutes = [\n {\n displayName: \"Email Settings\",\n routeName: \"emailSettings\",\n },\n];\n\nexport default function Settings(): React.ReactElement {\n const { path } = useRouteMatch();\n return (\n
\n
\n `${path}/${val.routeName}`)}\n component={() => {\n return ;\n }}\n />\n `${path}/${val.routeName.split(\"?\")[0]}`)}\n component={() => {\n return (\n \n );\n }}\n />\n `${path}/${val.routeName}`)}\n component={() => {\n return (\n \n );\n }}\n />\n `${path}/${val.routeName}`)}\n component={() => {\n return (\n \n );\n }}\n />\n {\n const { customerId } = useParams<{ customerId: string }>();\n const { userStatus } = React.useContext(AppContext) as AppType;\n const { tableData } = React.useContext(SettingsContext) as SettingsType;\n // @typescript-eslint/no-explicit-any\n const dropdown = tableData.map((ele: any) => {\n return {\n displayName: ele.name,\n routeName: ele.id !== userStatus.userId ? ele.id : \"\",\n id: ele.id,\n };\n });\n const isCurrentUser = !customerId || userStatus.userId === customerId;\n return (\n ele.id === customerId)[0]?.displayName ?? userStatus.userName}\n rootPath={`${path}/profile`}\n backDisplayName=\"Active Members\"\n backRoute={`${path}/userPermissions?sort=USERNAME+DESC`}\n />\n );\n }}\n />\n
\n
\n \n {\n return ;\n }}\n />\n {\n return ;\n }}\n />\n {\n return ;\n }}\n />\n {\n return ;\n }}\n />\n {\n return ;\n }}\n />\n {\n return ;\n }}\n />\n \n
\n
\n );\n}\n","import React from \"react\";\nimport { Route, RouteProps } from \"react-router-dom\";\nimport { InteractionType } from \"@azure/msal-browser\";\nimport { useMsal, MsalAuthenticationResult, MsalAuthenticationTemplate } from \"@azure/msal-react\";\nimport Loading from \"../components/library/Loading/Loading\";\nimport Error from \"../components/library/Error/Error\";\nimport { loginRequest } from \"./authConfig\";\n\nfunction ErrorComponent({ error }: MsalAuthenticationResult) {\n const { instance } = useMsal();\n // When a user backs out of the Forgot Password screen, a specific error is thrown that we should simply intercept and redirect to login\n if (error && error?.errorMessage.includes(\"AADB2C90091\")){\n instance.loginRedirect(loginRequest);\n }\n\n return (\n \n \n Error Message:{\" \"}\n {error && error?.errorCode ? error.errorCode : \"Unknown Error\"}\n \n \n );\n}\n\nfunction LoadingComponent() {\n return (\n \n \n \n );\n}\n\nexport default function PrivateRoute({ ...routeProps }: RouteProps): React.ReactElement {\n const authRequest = { ...loginRequest };\n\n return (\n \n \n \n );\n}\n","import React, { useState } from \"react\";\nimport { paymentsApplicationsClient, paymentsClient } from \"../db/accessor\";\n\n// Create Context\nexport const PaymentContext = React.createContext(null);\n\n// Define PaymentProvider Props\nexport interface Props {\n children: (React.ReactNode & { type: string })[] | (React.ReactNode & { type: string });\n}\n\nconst PaymentProvider: React.FC = ({ children }: Props) => {\n const [paymentDetailViewData, setPaymentDetailViewData] = useState({} as PaymentDetailModel);\n const [paymentDetailViewInvoices, setPaymentDetailViewInvoices] = useState({} as PaymentDetailViewInvoice[]);\n\n async function getDetailView(filter?: string): Promise {\n return await paymentsClient.getDetailView(filter);\n }\n\n async function getDetailViewInvoices(\n filter?: string,\n include?: string,\n order?: string,\n pageSize?: number,\n pageNumber?: number\n ): Promise {\n return await paymentsApplicationsClient.getDetailViewInvoices(filter, include, order, pageSize, pageNumber);\n }\n\n return (\n \n {children}\n \n );\n};\n\nexport default PaymentProvider;\n","import React, { useState, useEffect, useRef, MouseEvent } from \"react\";\nimport { useParams, useHistory, useRouteMatch } from \"react-router-dom\";\nimport { formatDate } from \"../../../../db/utils/date\";\nimport NoteStream from \"../../../library/NoteStream/NoteStream\";\nimport Loading from \"../../../library/Loading/Loading\";\nimport Error from \"../../../library/Error/Error\";\nimport { PaymentContext } from \"../../../../contexts/PaymentContext\";\nimport NotesProvider from \"../../../../contexts/NoteContext\";\nimport { User as UserSVG, Payments as PaymentsSVG, Date as DateSVG } from \"../../../library/Icons/Icons\";\nimport Detail from \"../../../library/Detail/Detail\";\nimport \"./Details.scss\";\n\nexport default function Details(): React.ReactElement {\n const [isLoading, setLoading] = useState(false);\n const [errorMessage, setErrorMessage] = useState(\"\");\n const {\n paymentDetailViewData,\n setPaymentDetailViewData,\n getDetailView,\n getDetailViewInvoices,\n setPaymentDetailViewInvoices,\n paymentDetailViewInvoices,\n } = React.useContext(PaymentContext) as PaymentType;\n const { paymentId } = useParams<{ paymentId: string }>();\n const { path } = useRouteMatch();\n const history = useHistory();\n const tooltipRef = useRef(null);\n\n // GET on /api/v1/Payments/views/detail\n const fetchPaymentsDetailViewData = async () => {\n setErrorMessage(\"\");\n setLoading(true);\n try {\n const response = await getDetailView(`PaymentId eq ${paymentId}`);\n setPaymentDetailViewData(response);\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n } catch (error: any) {\n setErrorMessage(error.message);\n }\n setLoading(false);\n };\n\n // GET on /api/v1/PaymentApplications/query\n const fetchInvoices = async () => {\n try {\n const response = await getDetailViewInvoices(`PaymentId eq ${paymentId}`, \"Invoice\");\n const mappedResponse = response.map((element) => {\n return {\n invoiceId: element.invoiceId,\n referenceCode: element.invoice.referenceCode,\n paymentAppliedAmount: element.paymentAppliedAmount,\n outstandingBalanceAmount: element.invoice.outstandingBalanceAmount,\n invoiceStatusCode: element.invoice.invoiceStatusCode,\n };\n });\n setPaymentDetailViewInvoices(mappedResponse);\n } catch (error: any) {\n setErrorMessage(error.message);\n }\n };\n\n useEffect(() => {\n if (Object.keys(paymentDetailViewData).length === 0) {\n fetchPaymentsDetailViewData();\n } else {\n setLoading(false);\n setErrorMessage(\"\");\n }\n fetchInvoices();\n }, []);\n\n const handleNameClick = (id: string) => {\n sessionStorage.setItem(\"lastPath\", history.location.pathname);\n history.push(`${path.substr(0, 3)}/customers/${id ?? \"\"}`);\n };\n\n const handleInvoiceClick = (id: string) => {\n sessionStorage.setItem(\"lastPath\", history.location.pathname);\n history.push(`${path.substr(0, path.lastIndexOf(\"/payments\"))}/invoices/${id ?? \"\"}`);\n };\n\n const handleMouseEvent = (e: MouseEvent, invoiceId: string) => {\n if (e.type === \"mouseleave\") {\n if (tooltipRef.current) {\n tooltipRef.current.innerHTML = \"\";\n tooltipRef.current.style.display = \"none\";\n }\n }\n if (e.type === \"mouseenter\" && tooltipRef.current) {\n tooltipRef.current.innerHTML = invoiceId;\n //checks for ellipsis to decide if hover state should be displayed\n if ((e.currentTarget as HTMLElement).offsetWidth < (e.currentTarget as HTMLElement).scrollWidth) {\n tooltipRef.current.style.display = \"inline\";\n const top = 540;\n const left = e.clientX - 340;\n tooltipRef.current.style.top = `${top}px`;\n tooltipRef.current.style.left = `${left}px`;\n }\n }\n };\n\n return isLoading ? (\n
\n \n
\n ) : errorMessage ? (\n
\n {errorMessage}\n
\n ) : (\n
\n
\n
{paymentDetailViewData && (paymentDetailViewData?.customerName ?? \"N/A\").charAt(0)}
\n

handleNameClick(paymentDetailViewData.customerId)}>\n {paymentDetailViewData && (paymentDetailViewData?.customerName ?? \"N/A\")}\n

\n
\n

\n {new Intl.NumberFormat(\"en-US\", {\n maximumFractionDigits: 2,\n minimumFractionDigits: 2,\n style: \"currency\",\n currency: \"USD\",\n }).format(paymentDetailViewData?.paymentAmount ?? 0)}\n

\n

Total Payment Amount

\n
\n
\n\n {/* Body of Details*/}\n
\n {/* Payment Details */}\n
\n
\n
\n

{`Payment ${paymentDetailViewData?.referenceCode ?? \"N/A\"}`}

\n
\n
\n }\n columns={[\n {\n title: \"Primary Contact\",\n value: paymentDetailViewData?.primaryContact ?? null,\n },\n {\n title: \"Email\",\n value: paymentDetailViewData?.email ?? null,\n format: \"email\",\n copyToClipboard: true,\n },\n ]}\n />\n }\n columns={[\n {\n title: \"Total Payment Amount\",\n value: paymentDetailViewData?.paymentAmount\n ? new Intl.NumberFormat(\"en-US\", {\n maximumFractionDigits: 2,\n minimumFractionDigits: 2,\n style: \"currency\",\n currency: \"USD\",\n }).format(paymentDetailViewData.paymentAmount)\n : null,\n },\n {\n title: \"Total Unapplied Amount\",\n value: new Intl.NumberFormat(\"en-US\", {\n maximumFractionDigits: 2,\n minimumFractionDigits: 2,\n style: \"currency\",\n currency: \"USD\",\n }).format(paymentDetailViewData.unappliedAmount),\n },\n {\n title: \"Payment Type\",\n value: paymentDetailViewData?.paymentType ?? null,\n },\n ]}\n />\n }\n columns={[\n {\n title: \"Payment Date\",\n value: formatDate(paymentDetailViewData?.paymentDate ?? null),\n },\n {\n title: \"Post Date\",\n value: formatDate(paymentDetailViewData?.postDate),\n },\n ]}\n />\n
\n
\n\n {paymentDetailViewInvoices.length > 0 ? (\n
\n
Invoices Applied
\n
\n

Invoice Number

\n

Status

\n

Payment Amount

\n

Outstanding Amount

\n
\n {paymentDetailViewInvoices &&\n paymentDetailViewInvoices.map((invoice) => {\n return (\n
handleInvoiceClick(invoice.invoiceId)} className=\"row\" key={invoice.invoiceId}>\n handleMouseEvent(event, invoice.invoiceId)}\n onMouseLeave={(event) => handleMouseEvent(event, invoice.invoiceId)}\n className={\"invoiceNumber\"}\n >{`${invoice.referenceCode}`}
\n
{invoice.invoiceStatusCode ?? \"N/A\"}
\n
\n {invoice?.paymentAppliedAmount !== null &&\n new Intl.NumberFormat(\"en-US\", {\n maximumFractionDigits: 2,\n minimumFractionDigits: 2,\n style: \"currency\",\n currency: \"USD\",\n }).format(invoice.paymentAppliedAmount)}\n
\n
\n {invoice?.outstandingBalanceAmount !== null &&\n new Intl.NumberFormat(\"en-US\", {\n maximumFractionDigits: 2,\n minimumFractionDigits: 2,\n style: \"currency\",\n currency: \"USD\",\n }).format(invoice.outstandingBalanceAmount)}\n
\n
\n );\n })}\n
\n ) : (\n \"\"\n )}\n
\n\n {/* Note Stream */}\n \n \n \n
\n
\n
\n );\n}\n","import React, { useEffect } from \"react\";\nimport { Switch, useRouteMatch, Route, useParams } from \"react-router-dom\";\nimport { default as CustomerProfile } from \"../../Customers/CustomerDetail/Profile/Profile\";\nimport { default as CustomerHeader } from \"../../Customers/CustomerDetail/Header/Header\";\nimport Details from \"./Detail/Details\";\nimport { PaymentContext } from \"../../../contexts/PaymentContext\";\nimport { CustomerContext } from \"../../../contexts/CustomerContext\";\n\nexport default function PaymentDetail(): React.ReactElement {\n const { paymentId } = useParams<{ paymentId: string }>();\n const { path } = useRouteMatch();\n const { setPaymentDetailViewData, getDetailView } = React.useContext(PaymentContext) as PaymentType;\n const { getCustomerDetails } = React.useContext(CustomerContext) as CustomerType;\n\n const fetchPaymentsDetailViewData = async () => {\n try {\n const response = await getDetailView(`PaymentId eq ${paymentId}`);\n getCustomerDetails(response.customerId);\n setPaymentDetailViewData(response);\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n } catch (error: any) {\n console.log(error);\n }\n };\n\n useEffect(() => {\n fetchPaymentsDetailViewData();\n }, []);\n\n return (\n \n {\n return
;\n }}\n />\n {\n return (\n
\n
\n \n
\n
\n \n
\n
\n );\n }}\n />\n \n );\n}\n","import React, { MouseEvent, useState } from \"react\";\nimport { useHistory } from \"react-router-dom\";\nimport Table from \"../../library/Table/Table\";\nimport TableUtils from \"../../../utils/TableUtils/TableUtils\";\nimport { paymentsClient } from \"../../../db/accessor\";\n\nconst COLUMNS = [\n {\n Header: \"Payment Number\",\n accessor: \"payment_number\",\n width: \"22.5%\",\n showFilter: true,\n popupPlaceholder: \"ex. 100\",\n showSort: true,\n searchlightField: \"REFERENCECODE\",\n searchlightToken: \"CONTAINS\",\n alignment: \"left\",\n Cell: (props: { value: string | null }) => TableUtils.formatString(props.value, false),\n },\n {\n Header: \"Customer Name\",\n accessor: \"customer_name\",\n width: \"17.5%\",\n showFilter: true,\n popupPlaceholder: \"ex. Joe Doe Co.\",\n showSort: true,\n searchlightField: \"CUSTOMERNAME\",\n sortField: \"CUSTOMERNAME, REFERENCECODE\",\n searchlightToken: \"CONTAINS\",\n alignment: \"left\",\n Cell: (props: { value: string | null }) => TableUtils.formatString(props.value, false),\n },\n {\n Header: \"Type\",\n accessor: \"type\",\n width: \"10%\",\n showFilter: true,\n popupPlaceholder: \"ex. Check, Cash, Credit\",\n showSort: true,\n searchlightField: \"PAYMENTTYPE\",\n sortField: \"PAYMENTTYPE, REFERENCECODE\",\n searchlightToken: \"CONTAINS\",\n alignment: \"left\",\n Cell: (props: { value: string | null }) => TableUtils.formatPaymentType(props.value, false),\n },\n {\n Header: \"Payment Date\",\n accessor: \"payment_date\",\n width: \"17.5%\",\n showFilter: true,\n popupPlaceholder: \"ex. yyyy-mm-dd\",\n showSort: true,\n searchlightField: \"PAYMENTDATE\",\n sortField: \"PAYMENTDATE, REFERENCECODE\",\n searchlightToken: \"CONTAINS\",\n alignment: \"left\",\n Cell: (props: { value: string | null }) => TableUtils.formatDate(props.value, true),\n },\n {\n Header: \"Payment Amount\",\n accessor: \"payment_amount\",\n width: \"17.5%\",\n showFilter: true,\n popupPlaceholder: \"ex. 100\",\n showSort: true,\n searchlightField: \"PAYMENTAMOUNT\",\n sortField: \"PAYMENTAMOUNT, REFERENCECODE\",\n searchlightToken: \"EQ\",\n alignment: \"right\",\n Cell: (props: { value: number | null }) => TableUtils.formatCurrency(props.value, false),\n },\n {\n Header: \"Unapplied Amount\",\n accessor: \"unapplied_amount\",\n width: \"22.5%\",\n showFilter: true,\n popupPlaceholder: \"ex. 100\",\n showSort: true,\n searchlightField: \"UNAPPLIEDAMOUNT\",\n sortField: \"UNAPPLIEDAMOUNT, REFERENCECODE\",\n searchlightToken: \"EQ\",\n alignment: \"right\",\n Cell: (props: { value: number | null }) => TableUtils.formatCurrency(props.value, false),\n },\n];\n\nexport default function UnappliedPayments(): React.ReactElement {\n const history = useHistory();\n const [isLoading, setLoading] = useState(true);\n const [isError, setError] = useState(false);\n const [errorMessage, setErrorMessage] = useState(\"\");\n const [pageCount, setPageCount] = useState(0);\n const [pageNumber, setPageNumber] = useState(0);\n const [totalCount, setTotalCount] = useState(0);\n const [tableData, setTableData] = useState([]);\n\n const fetchParser = (fetchResult: PaymentSummaryModelFetchResult, variant?: FetchVariant): Partial[] => {\n return (\n fetchResult?.records?.map((record: PaymentSummaryModel) => {\n return {\n ...((variant === \"id\" || variant === \"all\") && {\n id: record.paymentId,\n }),\n ...((variant === \"export\" || variant === \"all\") && {\n payment_number: record?.referenceCode,\n customer_name: record?.customerName,\n type: record?.paymentType,\n payment_date: record?.paymentDate,\n payment_amount: record?.paymentAmount,\n unapplied_amount: record?.unappliedAmount,\n }),\n ...(variant === \"all\" && {\n disableCheckbox: undefined,\n isUnread: undefined,\n }),\n };\n }) ?? []\n );\n };\n\n // Handles redirect to Payment Details page on row click of the Data Grid\n const handleRowClick = (\n e: MouseEvent,\n row: {\n original: { id?: string };\n }\n ) => {\n sessionStorage.setItem(\"lastPath\", history.location.pathname);\n history.push(`/AR/payments/${row.original.id ?? \"\"}`);\n };\n\n return (\n 0\",\n },\n ],\n },\n ]}\n states={{\n isLoading: isLoading,\n setLoading: setLoading,\n isError: isError,\n setError: setError,\n errorMessage: errorMessage,\n setErrorMessage: setErrorMessage,\n }}\n pagination={{\n pageCount: pageCount,\n setPageCount: setPageCount,\n pageNumber: pageNumber,\n setPageNumber: setPageNumber,\n totalCount: totalCount,\n setTotalCount: setTotalCount,\n }}\n toggles={{\n showSearchbar: false,\n showExportBtn: true,\n showCaption: true,\n showRowSelect: true,\n showNavigation: true,\n }}\n />\n );\n}\n","import React, { MouseEvent, useState } from \"react\";\nimport { useHistory } from \"react-router-dom\";\nimport Table from \"../../library/Table/Table\";\nimport TableUtils from \"../../../utils/TableUtils/TableUtils\";\nimport { paymentsClient } from \"../../../db/accessor\";\n\nconst COLUMNS = [\n {\n Header: \"Payment Number\",\n accessor: \"payment_number\",\n width: \"20%\",\n showFilter: true,\n popupPlaceholder: \"ex. 100\",\n showSort: true,\n searchlightField: \"REFERENCECODE\",\n searchlightToken: \"CONTAINS\",\n alignment: \"left\",\n Cell: (props: { value: string | null }) => TableUtils.formatString(props.value, false),\n },\n {\n Header: \"Customer Name\",\n accessor: \"customer_name\",\n width: \"20%\",\n showFilter: true,\n popupPlaceholder: \"ex. Joe Doe Co.\",\n showSort: true,\n searchlightField: \"CUSTOMERNAME\",\n sortField: \"CUSTOMERNAME, REFERENCECODE\",\n searchlightToken: \"CONTAINS\",\n alignment: \"left\",\n Cell: (props: { value: string | null }) => TableUtils.formatString(props.value, false),\n },\n {\n Header: \"Type\",\n accessor: \"type\",\n width: \"12.5%\",\n showFilter: true,\n popupPlaceholder: \"ex. Check, Cash, Credit\",\n showSort: true,\n searchlightField: \"PAYMENTTYPE\",\n sortField: \"PAYMENTTYPE, REFERENCECODE\",\n searchlightToken: \"CONTAINS\",\n alignment: \"left\",\n Cell: (props: { value: string | null }) => TableUtils.formatPaymentType(props.value, false),\n },\n {\n Header: \"Payment Date\",\n accessor: \"payment_date\",\n width: \"15%\",\n showFilter: true,\n popupPlaceholder: \"ex. yyyy-mm-dd\",\n showSort: true,\n searchlightField: \"PAYMENTDATE\",\n sortField: \"PAYMENTDATE, REFERENCECODE\",\n searchlightToken: \"CONTAINS\",\n alignment: \"left\",\n Cell: (props: { value: string | null }) => TableUtils.formatDate(props.value, true),\n },\n {\n Header: \"Payment Amount\",\n accessor: \"payment_amount\",\n width: \"17.5%\",\n showFilter: true,\n popupPlaceholder: \"ex. 100\",\n showSort: true,\n searchlightField: \"PAYMENTAMOUNT\",\n sortField: \"PAYMENTAMOUNT, REFERENCECODE\",\n searchlightToken: \"EQ\",\n alignment: \"right\",\n Cell: (props: { value: number | null }) => TableUtils.formatCurrency(props.value, false),\n },\n {\n Header: \"Invoices\",\n accessor: \"invoices\",\n width: \"15%\",\n showFilter: true,\n popupPlaceholder: \"ex. 10\",\n showSort: true,\n // TODO: Change this to the appropriate field, Link up with API team\n searchlightField: \"INVOICECOUNT\",\n sortField: \"INVOICECOUNT, REFERENCECODE\",\n searchlightToken: \"EQ\",\n alignment: \"left\",\n Cell: (props: { value: string[] | null }) => TableUtils.formatList(props.value, false),\n },\n];\n\nexport default function AllPayments(): React.ReactElement {\n const history = useHistory();\n const [isLoading, setLoading] = useState(true);\n const [isError, setError] = useState(false);\n const [errorMessage, setErrorMessage] = useState(\"\");\n const [pageCount, setPageCount] = useState(0);\n const [pageNumber, setPageNumber] = useState(0);\n const [totalCount, setTotalCount] = useState(0);\n const [tableData, setTableData] = useState([]);\n\n const fetchParser = (fetchResult: PaymentSummaryModelFetchResult, variant?: FetchVariant): Partial[] => {\n return (\n fetchResult?.records?.map((record: PaymentSummaryModel) => {\n return {\n ...((variant === \"id\" || variant === \"all\") && {\n id: record.paymentId,\n }),\n ...((variant === \"export\" || variant === \"all\") && {\n payment_number: record.referenceCode,\n customer_name: record.customerName,\n type: record.paymentType,\n payment_date: record.paymentDate,\n payment_amount: record.paymentAmount,\n invoices: record.invoiceList,\n }),\n ...(variant === \"all\" && {\n disableCheckbox: undefined,\n isUnread: undefined,\n }),\n };\n }) ?? []\n );\n };\n\n // Handles redirect to Payment Details page on row click of the Data Grid\n const handleRowClick = (\n e: MouseEvent,\n row: {\n original: { id?: string };\n }\n ) => {\n sessionStorage.setItem(\"lastPath\", history.location.pathname);\n history.push(`/AR/payments/${row.original.id ?? \"\"}`);\n };\n\n return (\n \n );\n}\n","import React from \"react\";\nimport { Switch, useRouteMatch, Route, useParams } from \"react-router-dom\";\nimport PaymentDetail from \"./PaymentDetail/PaymentDetail\";\nimport { PaymentContext } from \"../../contexts/PaymentContext\";\nimport Navbar from \"../library/Navbar/Navbar\";\nimport { OverlayScrollbarsComponent } from \"overlayscrollbars-react\";\nimport UnappliedPayments from \"./UnappliedPayments/UnappliedPayments\";\nimport AllPayments from \"./AllPayments/AllPayments\";\nimport \"./Payments.scss\";\n\n// Define PredefinedFilter routes for the Payments Page\nconst routes = [\n {\n displayName: \"All Payments\",\n routeName: \"?sort=PAYMENTDATE+DESC%2C+REFERENCECODE+DESC\",\n },\n {\n displayName: \"Unapplied Payments\",\n routeName: \"unappliedPayments?sort=PAYMENTDATE+DESC%2C+REFERENCECODE+DESC\",\n },\n];\n\n/**\n * * Defines the Payments Tab (Top-level route)\n */\nexport default function Payments(): React.ReactElement {\n const { paymentDetailViewData } = React.useContext(PaymentContext) as PaymentType;\n const { path } = useRouteMatch();\n\n return (\n
\n
\n \n {\n return ;\n }}\n />\n {\n const { paymentId } = useParams<{ paymentId: string }>();\n const customerName = paymentDetailViewData?.customerName;\n const displayName = customerName ? (customerName.length >= 15 ? customerName.slice(0, 15) + \"...\" : customerName) : \"\";\n return (\n \n );\n }}\n />\n \n
\n \n
\n \n {\n return ;\n }}\n />\n {\n return ;\n }}\n />\n {\n return ;\n }}\n />\n \n
\n
\n
\n );\n}\n","import React from \"react\";\nimport Userpic from \"../Userpic/Userpic\";\nimport { Company } from \"../../Icons/Icons\";\nimport \"./CompanyProfile.scss\";\n\n// Defines Company Profile Props\ninterface Props {\n accountType: string;\n companyName: string;\n}\n\n/**\n * * Defines Company Profile for Navigation Side Bar\n */\nexport default function CompanyProfile(props: Props): React.ReactElement {\n return (\n
\n
\n }>\n
\n
\n

{props.companyName}

\n

{props.accountType}

\n
\n
\n );\n}\n","import React from \"react\";\nimport { FullStoryAPI } from \"react-fullstory\";\nimport {useLDClient} from \"launchdarkly-react-client-sdk\";\nimport Utils from \"../../utils/utils\";\n\ntype UserInfo = {\n id: string;\n username: string;\n custom: {\n groupKey: string;\n accountName: string;\n };\n};\n\ninterface TrackingProps {\n identity: UserInfo;\n}\n\nconst FullStoryHandler = (props: TrackingProps) => {\n if (Utils.getFullStoryConfig().forceEnableFullStory || Utils.isProduction()) {\n FullStoryAPI(\"identify\", props.identity.id, {\n username: props.identity.username,\n ...props.identity.custom,\n isDeveloper: Utils.isLocal(),\n });\n }\n return null;\n};\n\nconst LaunchDarklyHandler = (props: TrackingProps) => {\n const ldClient = useLDClient();\n if (ldClient && props.identity.id && props.identity.custom.groupKey) {\n ldClient.identify({\n key: props.identity.id,\n name: props.identity.username,\n custom: props.identity.custom\n });\n }\n return null;\n};\n\n\nconst Tracking = (props: TrackingProps): React.ReactElement => {\n return (\n \n \n \n \n );\n};\n\nexport default Tracking;\n","/* eslint-disable @typescript-eslint/no-unused-vars */\nimport React, { useState, useEffect } from \"react\";\nimport { useRouteMatch, useHistory } from \"react-router-dom\";\nimport { useMsal } from \"@azure/msal-react\";\nimport { useIntercom } from \"react-use-intercom\";\nimport CompanyProfile from \"../../library/Sidebar/CompanyProfile/CompanyProfile\";\nimport Userpic from \"../../library/Sidebar/Userpic/Userpic\";\nimport Dropdown from \"../../library/Dropdown/Dropdown\";\nimport Tracking from \"../../Tracking/Tracking\";\nimport { AppContext } from \"../../../contexts/AppContext\";\nimport { formatDate, formatTime, formatTimeElapsed, formatTimeZone } from \"../../../db/utils/date\";\nimport { enrollmentsClient, syncClient } from \"../../../db/accessor\";\nimport { Sync } from \"../../library/Icons/Icons\";\nimport { SettingsContext } from \"../../../contexts/SettingsContext\";\nimport { IconButton } from \"@mui/material\";\nimport { UserActions } from \"../../../types/enums\";\n\ntype UserId = {\n id: string;\n username: string;\n custom: {\n groupKey: string;\n accountName: string;\n };\n};\n\nfunction LastSync(): React.ReactElement {\n const { hasPermission } = React.useContext(AppContext) as AppType;\n const { syncHasUpdated, setLastSync, lastSync, setSyncHasUpdated } = React.useContext(SettingsContext) as SettingsType;\n const history = useHistory();\n const { path } = useRouteMatch();\n\n const handleSyncClick = () => {\n // Sync is running, do nothing\n if (!(lastSync?.statusCode === \"Failed\" || lastSync?.statusCode === \"Success\" || lastSync?.statusCode === \"Cancelled\")) {\n return;\n }\n\n if (!hasPermission(UserActions.RunSync)) {\n history.push(`${path}/settings/accountingSoftware`);\n }\n\n try {\n enrollmentsClient\n .getEnrollments(\"(isActive eq 'true')\")\n .then((data: AppEnrollmentModelFetchResult) => {\n return data?.records?.filter((record: AppEnrollmentModel) => record.app.appType === \"ERP Connector\") ?? [];\n })\n .then((data: AppEnrollmentModel[]) => {\n // Active ERP exists, then run sync\n if (data[0]) {\n syncClient.startSync({ appEnrollmentId: data[0].appEnrollmentId }).then(() => {\n setSyncHasUpdated((prev: number): number => prev + 1);\n });\n }\n // Otherwise, route to AS settings\n else {\n history.push(`${path}/settings/accountingSoftware`);\n }\n });\n } catch (e) {\n console.log(e);\n }\n };\n\n useEffect(() => {\n const checkSyncStatus = async () => {\n try {\n const response = await syncClient.querySync(2).then((res) => res.records);\n const lastSync = response && response[0];\n if (lastSync) {\n setLastSync(lastSync);\n if (lastSync?.statusCode === \"Failed\" || lastSync?.statusCode === \"Success\" || lastSync?.statusCode === \"Cancelled\") {\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n clearInterval(pollSync);\n }\n }\n } catch (e) {\n console.info(e);\n }\n };\n checkSyncStatus();\n const pollSync = setInterval(() => {\n checkSyncStatus();\n }, 5000);\n return () => {\n clearInterval(pollSync);\n };\n }, [syncHasUpdated]);\n\n return (\n
\n {!lastSync?.statusCode ? (\n <>\n ) : lastSync?.statusCode === \"Failed\" || lastSync?.statusCode === \"Success\" || lastSync?.statusCode === \"Cancelled\" ? (\n <>\n LAST SYNC \n {lastSync?.created ? `${formatTimeElapsed(lastSync.created)} ago` : \"N/A\"}\n handleSyncClick()}>\n \n \n \n ) : (\n <>\n RUNNING SYNC \n handleSyncClick()}>\n \n \n \n )}\n
\n );\n}\n\n/**\n * * Defines the Head of the Main Content being displayed to the user for a given Route\n */\nexport default function UserContentHead(): React.ReactElement {\n const { logout, getStatus } = React.useContext(AppContext) as AppType;\n const [accountName, setAccountName] = useState(\"Pending...\");\n const [userInfo, setUserInfo] = useState({\n id: \"\",\n username: \"unknown\",\n custom: {\n groupKey: \"\",\n accountName: \"\",\n },\n });\n\n const history = useHistory();\n const { boot, shutdown, update } = useIntercom();\n const { instance } = useMsal();\n const { path } = useRouteMatch();\n\n const dropOptions = [\n { onClickValue: \"myProfile\", value: \"My Profile\", id: \"myProfile\" },\n { onClickValue: \"companyProfile\", value: \"Company Profile\", id: \"companyProfile\" },\n { onClickValue: \"signOut\", value: \"Sign Out\", id: \"signOut\" },\n ];\n\n const handleDropdownClick = (value: string) => {\n if (value === \"myProfile\") {\n history.push(`${path}/profiles`);\n } else if (value === \"companyProfile\") {\n history.push(`${path}/profiles/company`);\n } else if (value === \"signOut\") {\n logout();\n }\n };\n\n useEffect(() => {\n getStatus()\n .then((data) => {\n if (data.loggedIn) {\n setAccountName(data?.loggedIn ? data?.accountName ?? \"N/A\" : \"N/A\");\n setUserInfo({\n id: data.userId ? data.userId : \"\",\n username: data.userName ? data.userName : \"\",\n custom: {\n groupKey: data.groupKey ? data.groupKey : \"\",\n accountName: data.accountName ? data.accountName : \"\",\n },\n });\n\n shutdown();\n\n boot({\n userId: data?.userId ?? \"\",\n name: data?.userName ?? \"Guest User\",\n email: instance.getActiveAccount()?.username ?? \"\",\n });\n\n update({ hideDefaultLauncher: false });\n } else {\n // The user has an Azure B2C account but is not recognized as being set up in Insights, so we need to send them through onboarding\n history.push(\"/onboard\");\n }\n })\n .catch((error: unknown) => {\n console.log(error);\n setAccountName(\"N/A\");\n });\n }, []);\n\n return (\n <>\n \n \n
\n \n {/* TODO: Add this icon back once the sync button is useable */}\n
\n null} />}\n className=\"profile-dropdown\"\n defaultValue=\"\"\n onClick={(onClickValue: string) => handleDropdownClick(onClickValue)}\n options={dropOptions}\n displayValue=\"\"\n />\n
\n
\n \n );\n}\n","import React from \"react\";\nimport { Dashboard, Invoices, Settings, Payments, AllCustomers, User, Unassigned, AllActivities } from \"../../Icons/Icons\";\nimport \"./Activity.scss\";\n\nexport type ActivityVariants = \"dashboard\" | \"customers\" | \"invoices\" | \"settings\" | \"payments\" | \"mine\" | \"unassigned\" | \"all\";\n\ninterface Props {\n className?: string;\n variant?: ActivityVariants;\n children?: React.ReactNode;\n isActive?: boolean;\n disabled?: boolean;\n count?: number;\n}\n\n/**\n * * Defines the Activity Button\n */\nexport default function Activity(props: Props): React.ReactElement {\n return (\n
\n \n {props.children && (\n

\n {props.children === \"Customers\" ? \"All Customer Connections\" : props.children}\n {props.count && {props.count}}\n

\n )}\n
\n );\n}\n","import React from \"react\";\nimport { CaretUp } from \"../Icons/Icons\";\nimport \"./AccordionNav.scss\";\nimport NavLinkWrapper from \"../NavLink\";\nimport Activity, { ActivityVariants } from \"../Sidebar/Activity/Activity\";\nimport { useRouteMatch } from \"react-router-dom\";\n\ninterface AccordionProps {\n className: string;\n navTitle: string;\n navList: { name: string; id: string; route?: string; count?: number }[];\n expanded?: boolean; // Escape hatch for expanded state\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n setExpanded?: any;\n bodyMaxHeight?: string;\n}\nexport default function AccordionNav(props: AccordionProps): React.ReactElement {\n const { url } = useRouteMatch();\n const navUrl = props.className === \"network-nav-item\" ? `/AR/customers` : `${url}`;\n\n return (\n
\n
props.setExpanded((prevState: boolean) => !prevState)}>\n
\n \n
\n
{props.navTitle.toUpperCase()}
\n
\n
\n {props.expanded && props.className === \"network-nav-item\" && props.navList.length > 1 && (\n \n {(isActive: boolean) => (\n \n All Customer Connections\n \n )}\n \n )}\n {props.expanded &&\n props.navList.map((item) => {\n return item.name ? (\n \n {(isActive: boolean) => (\n \n {item.name.charAt(0).toUpperCase() + item.name.slice(1)}\n \n )}\n \n ) : (\n \"\"\n );\n })}\n
\n
\n );\n}\n","/* eslint-disable @typescript-eslint/no-unused-vars */\nimport React, { useState, useEffect, useLayoutEffect } from \"react\";\nimport { useRouteMatch } from \"react-router-dom\";\nimport { OverlayScrollbarsComponent } from \"overlayscrollbars-react\";\n\nimport Activity, { ActivityVariants } from \"../../library/Sidebar/Activity/Activity\";\nimport NavLinkWrapper from \"../../library/NavLink\";\nimport AccordionNav from \"../../library/AccordionNav/AccordionNav\";\nimport { CustomerContext } from \"../../../contexts/CustomerContext\";\nimport { AppContext } from \"../../../contexts/AppContext\";\nimport { Union, SortDown, SortUp } from \"../../library/Icons/Icons\";\nimport Dropdown from \"../../library/Dropdown/Dropdown\";\nimport { InputWithIcon } from \"../../library/Input/Input\";\nimport { companiesClient } from \"../../../db/accessor\";\n\nconst routes = [\"dashboard\"];\n\ntype Customer = {\n name: string;\n id: string;\n};\n\nexport default function Sidebar(): React.ReactElement {\n const { url } = useRouteMatch();\n const { syncError } = React.useContext(AppContext) as AppType;\n const [customerList, setCustomerList] = useState([]);\n const [filteredCustomerList, setFilteredCustomerList] = useState([]);\n const [accountingExpanded, setAccountingExpanded] = useState(true);\n const [activitiesExpanded, setActivitiesExpanded] = useState(true);\n const [networkExpanded, setNetworkExpanded] = useState(true);\n const [windowHeight, setWindowHeight] = useState(window.innerHeight);\n const [sortDisplay, setSortDisplay] = useState(\"Sort\");\n const [sortIcon, setSortIcon] = useState(Union);\n const [searchString, setSearchString] = useState(\"\");\n\n const dropOptions = [\n { onClickValue: \"nameAsc\", value: \"A to Z\", id: \"nameAsc\" },\n { onClickValue: \"nameDesc\", value: \"Z to A\", id: \"nameDesc\" },\n // { onClickValue: \"outstandingDesc\", value: \"Largest Balance\", id: \"outstandingDesc\" },\n // { onClickValue: \"outstandingAsc\", value: \"Smallest Balance\", id: \"outstandingAsc\" },\n // { onClickValue: \"LargestActivityCount\", value: \"Largest Activity Count\", id: \"LargestActivityCount\" },\n // { onClickValue: \"SmallestActivityCount\", value: \"Smallest Activity Count\", id: \"SmallestActivityCount\" },\n ];\n\n const filterList = () => {\n return customerList.filter((cust) => cust.name.toLowerCase().includes(searchString.toLowerCase()));\n };\n\n const getCustomerList = async (order: string) => {\n try {\n await companiesClient\n .getCompanies(\"(ISACTIVE EQ true) AND (COMPANYTYPE EQ 'Customer')\", undefined, order, 1000, 0)\n .then((data: CompanyModelFetchResult) => {\n if (data.records) {\n const custList = data.records.map((record: CompanyModel) => {\n return {\n name: record.companyName ? record.companyName : \"\",\n id: record.companyId,\n };\n });\n\n setCustomerList(custList);\n setFilteredCustomerList(custList);\n }\n });\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n } catch (error: any) {\n console.log(error);\n }\n };\n\n function handleResize() {\n setWindowHeight(window.innerHeight);\n }\n\n useEffect(() => {\n getCustomerList(\"COMPANYNAME\");\n }, []);\n\n useLayoutEffect(() => {\n window.addEventListener(\"resize\", handleResize);\n handleResize();\n\n return () => {\n window.removeEventListener(\"resize\", handleResize);\n };\n }, []);\n\n const setDrop = (sort: string) => {\n let icon = SortDown;\n if (sort.startsWith(\"Z\") || sort.startsWith(\"Largest\")) {\n icon = SortUp;\n }\n setSortDisplay(sort);\n\n if (sort.endsWith(\"Balance\")) {\n setSortDisplay(\"Balance\");\n }\n\n setSortIcon(icon);\n };\n\n const searchList = (value: string) => {\n setSearchString(value);\n\n if (value) {\n setFilteredCustomerList(filterList());\n } else {\n setFilteredCustomerList(customerList);\n }\n };\n\n function calculateMaxHeight() {\n // TODO Remove this block when activities is shown!\n // if (networkExpanded && accountingExpanded) {\n // return `calc(${windowHeight}px - 339px)`;\n // } else if (networkExpanded) {\n // return `calc(${windowHeight}px - 259px)`;\n // } else {\n // return \"none\";\n // }\n\n if (networkExpanded && accountingExpanded && activitiesExpanded) {\n return `calc(${windowHeight}px - 509px)`;\n }\n if (networkExpanded && accountingExpanded) {\n return `calc(${windowHeight}px - 389px)`;\n }\n if (networkExpanded && activitiesExpanded) {\n return `calc(${windowHeight}px - 429px)`;\n }\n if (networkExpanded) {\n return `calc(${windowHeight}px - 309px)`;\n }\n return \"none\";\n }\n\n const getSortedList = (sortAction: string) => {\n let sortBehavior: (a: Customer, b: Customer) => number;\n\n switch (sortAction) {\n case \"nameAsc\":\n sortBehavior = (a, b) => a.name.localeCompare(b.name, \"en\", { numeric: true });\n break;\n case \"nameDesc\":\n sortBehavior = (a, b) => b.name.localeCompare(a.name, \"en\", { numeric: true });\n break;\n // case \"outstandingAsc\":\n // sortBehavior = (a, b) => a.outstandingAmount - b.outstandingAmount;\n // break;\n // case \"outstandingDesc\":\n // sortBehavior = (a, b) => b.outstandingAmount - a.outstandingAmount;\n // break;\n default:\n sortBehavior = (a, b) => a.name.localeCompare(b.name, \"en\", { numeric: true });\n break;\n }\n\n customerList.sort(sortBehavior);\n return filteredCustomerList.sort(sortBehavior);\n };\n\n useEffect(() => {\n searchList(searchString);\n }, [searchString, customerList]);\n\n const sortClass = sortDisplay !== \"Sort\" ? \"sorted\" : \"\";\n\n return (\n <>\n {routes.map((val) => {\n return (\n \n {(isActive: boolean) => (\n \n {val.charAt(0).toUpperCase() + val.slice(1)}\n \n )}\n \n );\n })}\n\n {!syncError && (\n <>\n
\n \n \n\n \n\n \n \n
\n\n
\n
\n {\n if (!networkExpanded) {\n setNetworkExpanded(true);\n }\n\n setSearchString(value);\n }}\n />\n
\n\n
\n setFilteredCustomerList(getSortedList(onClickValue))}\n onSelect={(onSelectValue: string) => setDrop(onSelectValue)}\n options={dropOptions}\n displayValue={sortDisplay}\n />\n
\n
\n \n )}\n \n );\n}\n","/* eslint-disable @typescript-eslint/no-unused-vars */\nimport React, { ChangeEvent, Dispatch, FormEvent, useRef, useState } from \"react\";\nimport { OverlayScrollbarsComponent } from \"overlayscrollbars-react\";\nimport { Modal, TextField } from \"@mui/material\";\nimport { Briefcase, Save, Company, Email, Fax, Globe, Notes, Location, Phone, Upload } from \"../../../library/Icons/Icons\";\nimport Userpic from \"../../../library/Sidebar/Userpic/Userpic\";\nimport Button from \"../../../library/Button/Button\";\nimport { Input } from \"../../../library/Input/Input\";\nimport Autocomplete from \"../../../library/Autocomplete/Autocomplete\";\nimport { DataMode } from \"../../../../types/enums\";\nimport { countries } from \"../../../../Countries\";\nimport { formatDate } from \"../../../../db/utils/date\";\nimport { AppContext } from \"../../../../contexts/AppContext\";\nimport { companiesClient } from \"../../../../db/accessor\";\n\ntype EditCompanyProfileProps = {\n setDataMode: Dispatch;\n setShowToast: Dispatch;\n setToastError: Dispatch;\n defaultData: CompanyModel;\n setDefaultData: Dispatch;\n codeDefinitions: CodeDefinitionModel[];\n};\n\nexport default function EditCompanyProfile(props: EditCompanyProfileProps): React.ReactElement {\n const { userStatus } = React.useContext(AppContext) as AppType;\n const [companyInfo, setCompanyInfo] = useState(props.defaultData);\n const [showCancel, setShowCancel] = useState(false);\n const [saveLoad, setSaveLoad] = useState(false);\n const submitBtnRef = useRef(null);\n\n const handleSave = async () => {\n const editableFields: Partial = {\n companyName: companyInfo.companyName,\n arEmailAddress: companyInfo.arEmailAddress,\n phoneNumber: companyInfo.phoneNumber,\n faxNumber: companyInfo.faxNumber,\n address1: companyInfo.address1,\n address2: companyInfo.address2,\n city: companyInfo.city,\n stateRegion: companyInfo.stateRegion,\n postalCode: companyInfo.postalCode,\n country: companyInfo.country,\n taxId: companyInfo.taxId,\n companyClassificationCodeDefId: companyInfo.companyClassificationCodeDefId,\n website: companyInfo.website,\n description: companyInfo.description,\n };\n try {\n setSaveLoad(true);\n await companiesClient.patchCompany(companyInfo.companyId, { ...editableFields });\n props.setDefaultData(companyInfo);\n props.setToastError(false);\n } catch (e) {\n props.setToastError(true);\n }\n\n props.setDataMode(DataMode.View);\n props.setShowToast(true);\n setSaveLoad(false);\n return false;\n };\n\n const handleUpload = () => {\n console.log(\"uploading pic\");\n };\n\n return (\n
\n
\n
\n }\n data-testid=\"CompanyProfileSaveButton\"\n variant=\"primary\"\n onClick={() => submitBtnRef.current?.click()}\n alignIcon=\"left\"\n loading={saveLoad}\n >\n Save\n \n \n {/* TODO: Move to reusable component */}\n setShowCancel(false)}>\n
\n

Cancel Changes?

\n

Are you sure you want to cancel your changes?

\n
\n \n {\n setCompanyInfo(props.defaultData);\n props.setDataMode(DataMode.View);\n }}\n >\n Yes, Cancel\n \n
\n
\n
\n
\n
\n

Updated {formatDate(companyInfo?.modified)}

\n

by {companyInfo?.modifiedUserId === userStatus.userId ? \"You\" : companyInfo?.modifiedUserName}

\n
\n
\n \n
\n {\n e.preventDefault();\n handleSave();\n return false;\n }}\n className=\"data-container\"\n id=\"EditCompanyInfoForm\"\n >\n
\n \n }\n alignIcon=\"left\"\n data-testid=\"CompanyProfileCancelButton\"\n variant=\"secondary\"\n onClick={handleUpload}\n className=\"upload-btn\"\n >\n Upload Logo\n \n

Maximum 2MB file size

\n
\n
\n
\n \n
\n \n setCompanyInfo((prev: CompanyModel) => {\n return { ...prev, companyName: value };\n })\n }\n className={\"field-md\"}\n placeholder=\"Blushing Blooms\"\n data-testid=\"EditCompanyInfoName\"\n required\n />\n
\n
\n
\n \n
\n \n setCompanyInfo((prev: CompanyModel) => {\n return { ...prev, arEmailAddress: value };\n })\n }\n placeholder=\"ar@blushing.com\"\n className={\"field-md\"}\n autocomplete=\"email\"\n data-testid=\"EditCompanyInfoEmail\"\n type=\"email\"\n />\n
\n
\n
\n \n
\n \n setCompanyInfo((prev: CompanyModel) => {\n return { ...prev, phoneNumber: value };\n })\n }\n placeholder=\"+1 123.456.7890\"\n className={\"field-md\"}\n autocomplete=\"tel\"\n data-testid=\"EditCompanyInfoPhone\"\n type=\"tel\"\n maxLength={20}\n />\n
\n
\n
\n \n
\n \n setCompanyInfo((prev: CompanyModel) => {\n return { ...prev, faxNumber: value };\n })\n }\n placeholder=\"+1 456.789.0123\"\n className={\"field-md\"}\n autocomplete=\"tel\"\n data-testid=\"EditCompanyInfoFax\"\n type=\"tel\"\n maxLength={20}\n />\n
\n
\n
\n \n
\n \n setCompanyInfo((prev: CompanyModel) => {\n return { ...prev, address1: value };\n })\n }\n placeholder=\"122 Main Street\"\n className={\"street-field\"}\n autocomplete=\"street-address\"\n data-testid=\"EditCompanyInfoAddressLine1\"\n />\n \n setCompanyInfo((prev: CompanyModel) => {\n return { ...prev, address2: value };\n })\n }\n placeholder=\"Suite 100\"\n className={\"field-sm addr-field\"}\n data-testid=\"EditCompanyInfoAddressLine2\"\n />\n
\n
\n \n setCompanyInfo((prev: CompanyModel) => {\n return { ...prev, postalCode: value };\n })\n }\n placeholder=\"94016\"\n className={\"field-sm no-icon-field\"}\n autocomplete=\"postal-code\"\n data-testid=\"EditCompanyInfoPostalCode\"\n maxLength={10}\n />\n \n setCompanyInfo((prev: CompanyModel) => {\n return { ...prev, city: value };\n })\n }\n placeholder=\"San Francisco\"\n className={\"city-field addr-field\"}\n autocomplete=\"address-level2\"\n data-testid=\"EditCompanyInfoCity\"\n />\n \n setCompanyInfo((prev: CompanyModel) => {\n return { ...prev, stateRegion: value };\n })\n }\n placeholder=\"CA\"\n className={\"field-sm addr-field\"}\n autocomplete=\"address-level1\"\n data-testid=\"EditCompanyInfoState\"\n />\n
\n
\n
\n
\n \n
\n {\n if (value) {\n setCompanyInfo((prev: CompanyModel) => {\n return { ...prev, country: value.label };\n });\n } else {\n setCompanyInfo((prev: CompanyModel) => {\n return { ...prev, country: \"United States\" };\n });\n }\n }}\n value={companyInfo.country}\n disableClearable\n isOptionEqualToValue={(option: any, value: any) => option.label === value}\n renderInput={(params: any) => (\n \n )}\n />\n
\n
\n
\n
\n \n
\n \n setCompanyInfo((prev: CompanyModel) => {\n return { ...prev, taxId: value };\n })\n }\n placeholder=\"12-3456789\"\n className={\"field-md\"}\n data-testid=\"EditCompanyInfoPhone\"\n maxLength={20}\n />\n
\n
\n
\n
\n \n \n \n {\n return {\n id: codeDef.codeDefinitionId,\n label: codeDef.codeDescription,\n };\n })}\n onChange={(_: any, value: { id: string; label: string }) => {\n setCompanyInfo((prev: CompanyModel) => {\n return {\n ...prev,\n companyClassificationCodeDefId: value.id,\n companyClassificationCodeDefinition:\n props.codeDefinitions.find((elem) => elem.codeDefinitionId === value.id) ?? ({} as CodeDefinitionModel),\n };\n });\n }}\n value={companyInfo.companyClassificationCodeDefinition?.codeDescription || null}\n disableClearable\n isOptionEqualToValue={(option: any, value: any) => {\n return option.label === (value.label || value);\n }}\n renderInput={(params: any) => (\n \n )}\n />\n
\n
\n
\n
\n \n
\n \n setCompanyInfo((prev: CompanyModel) => {\n return { ...prev, website: value };\n })\n }\n placeholder=\"www.bluebottle.com\"\n className={\"field-md\"}\n data-testid=\"EditCompanyInfoWebsite\"\n />\n
\n
\n
\n \n
\n
\n \n \n \n ) => {\n setCompanyInfo((prev: CompanyModel) => {\n return { ...prev, description: e.target.value };\n });\n }}\n >\n
\n
\n \n \n
\n
\n
\n );\n}\n","import React from \"react\";\nimport { OverlayScrollbarsComponent } from \"overlayscrollbars-react\";\nimport Detail from \"../../../library/Detail/Detail\";\nimport { Briefcase, Edit, Email, Fax, Globe, Notes, Location, Phone } from \"../../../library/Icons/Icons\";\nimport Userpic from \"../../../library/Sidebar/Userpic/Userpic\";\nimport Button from \"../../../library/Button/Button\";\nimport { DataMode } from \"../../../../types/enums\";\nimport { formatAddress } from \"../../../../db/utils/address\";\nimport { AppContext } from \"../../../../contexts/AppContext\";\nimport { Skeleton } from \"@mui/material\";\nimport { formatDate } from \"../../../../db/utils/date\";\n\ntype ViewCompanyProfileProps = {\n setDataMode: (prev: DataMode) => void;\n data: CompanyModel;\n hasEditPermission: boolean;\n isLoading: boolean;\n};\n\nexport default function ViewCompanyProfile(props: ViewCompanyProfileProps): React.ReactElement {\n const { userStatus, initialLoad } = React.useContext(AppContext) as AppType;\n return (\n
\n
\n {props.hasEditPermission && !props.isLoading && (\n \n )}\n
\n {initialLoad || props.isLoading ? (\n <>\n \n \n \n ) : (\n <>\n

Updated {formatDate(props?.data?.modified)}

\n

by {props.data?.modifiedUserId === userStatus.userId ? \"You\" : props.data?.modifiedUserName}

\n \n )}\n
\n
\n \n
\n
\n
\n {initialLoad || props.isLoading ? (\n <>\n \n \n \n ) : (\n <>\n \n

{props.data.companyName}

\n \n )}\n
\n }\n columns={{ title: \"Email\", value: props.data.arEmailAddress, format: \"email\" }}\n isLoading={initialLoad || props.isLoading}\n />\n }\n columns={{ title: \"Phone\", value: props.data.phoneNumber, format: \"tel\" }}\n isLoading={initialLoad || props.isLoading}\n />\n }\n columns={{ title: \"Fax\", value: props.data.faxNumber, format: \"tel\" }}\n isLoading={initialLoad || props.isLoading}\n />\n }\n columns={{\n title: \"Company Address\",\n value: formatAddress(\n props.data?.address1 ?? \"\",\n props.data?.address2 ?? \"\",\n \"\",\n props.data?.city ?? \"\",\n props.data?.stateRegion ?? \"\",\n props.data?.postalCode ?? \"\",\n props.data?.country ?? \"\"\n ),\n }}\n isLoading={initialLoad || props.isLoading}\n />\n } columns={{ title: \"EIN\", value: props.data.taxId }} isLoading={initialLoad || props.isLoading} />\n \n } columns={{ title: \"Company Website\", value: props.data.website }} isLoading={initialLoad || props.isLoading} />\n } columns={{ title: \"Description\", value: props.data.description }} isLoading={initialLoad || props.isLoading} />\n
\n
\n
\n
\n );\n}\n","import React, { useEffect, useState } from \"react\";\nimport { DataMode, UserActions } from \"../../../../types/enums\";\nimport { default as Edit } from \"./EditCompanyProfile\";\nimport { default as View } from \"./ViewCompanyProfile\";\nimport { Snackbar, Alert } from \"@mui/material\";\nimport { AppContext } from \"../../../../contexts/AppContext\";\nimport { codeDefinitionsClient, companiesClient } from \"../../../../db/accessor\";\nimport \"../Profiles.scss\";\n\nexport default function CompanyProfile(): React.ReactElement {\n const { userStatus, hasPermission } = React.useContext(AppContext) as AppType;\n const [dataMode, setDataMode] = useState(DataMode.View);\n const [showToast, setShowToast] = useState(false);\n const [toastError, setToastError] = useState(false);\n const [isLoading, setLoading] = useState(true);\n const [companyData, setCompanyData] = useState({} as CompanyModel);\n const [codeDefinitions, setCodeDefinitions] = useState([]);\n\n useEffect(() => {\n (async function fetchData() {\n setLoading(true);\n try {\n if (userStatus.accountCompanyId) {\n await companiesClient.getCompany(userStatus.accountCompanyId, \"Classification\").then((data: CompanyModel) => {\n setCompanyData(data);\n });\n }\n\n await codeDefinitionsClient\n .queryCodeDefinitions(\"CODETYPE EQ 'CompanyClassification'\", undefined, \"codeDefinitionId\")\n .then((data: CodeDefinitionModelFetchResult) => {\n setCodeDefinitions(data?.records ?? []);\n });\n } catch (e: unknown) {\n setShowToast(true);\n setToastError(true);\n }\n setLoading(false);\n })();\n }, []);\n\n return (\n <>\n {dataMode === DataMode.View && (\n \n )}\n {dataMode === DataMode.Edit && (\n \n )}\n\n setShowToast(false)} autoHideDuration={3000}>\n setShowToast(false)}\n severity={toastError ? \"error\" : \"success\"}\n sx={{ width: \"100%\" }}\n action={\n

setShowToast(false)}>\n CLOSE\n

\n }\n >\n {toastError ? \"An unknown error occurred\" : \"Profile Saved\"}\n \n
\n \n );\n}\n","import React from \"react\";\nimport { Switch, Route, useRouteMatch } from \"react-router-dom\";\nimport Navbar from \"../../library/Navbar/Navbar\";\nimport CompanyProfile from \"./CompanyProfile/CompanyProfile\";\nimport MyProfile from \"./MyProfile/MyProfile\";\n\nexport default function Profiles(): React.ReactElement {\n const { path } = useRouteMatch();\n \n return (\n
\n
\n \n {\n return (\n \n );\n }}\n />\n {\n return (\n \n );\n }}\n />\n \n
\n \n {\n return ;\n }}\n />\n {\n return ;\n }}\n />\n \n
\n );\n}\n","/* eslint-disable @typescript-eslint/no-unused-vars */\nimport React from \"react\";\nimport { Switch, Redirect, useRouteMatch } from \"react-router-dom\";\nimport { useIntercom } from \"react-use-intercom\";\n\nimport Dashboard from \"../Dashboard/Dashboard\";\nimport Activities from \"../Activities/Activities\";\nimport Customers from \"../Customers/Customers\";\nimport Invoices from \"../Invoices/Invoices\";\nimport Settings from \"../Settings/Settings\";\nimport PrivateRoute from \"../../auth/PrivateRoute\";\nimport InvoiceProvider from \"../../contexts/InvoiceContext\";\nimport CustomerProvider from \"../../contexts/CustomerContext\";\nimport DashboardProvider from \"../../contexts/DashboardContext\";\nimport PaymentProvider from \"../../contexts/PaymentContext\";\nimport { AppContext } from \"../../contexts/AppContext\";\nimport Payments from \"../Payments/Payments\";\nimport UserContentHead from \"./UserContentHead/UserContentHead\";\nimport UserContentSidebar from \"./UserContentSidebar/UserContentSidebar\";\nimport MyProfile from \"../Dashboard/Profiles/MyProfile/MyProfile\";\nimport CompanyProfile from \"../Dashboard/Profiles/CompanyProfile/CompanyProfile\";\nimport \"./UserContent.scss\";\nimport Profiles from \"../Dashboard/Profiles/Profiles\";\nimport SettingsProvider from \"../../contexts/SettingsContext\";\n/**\n * * Defines the Main Content being displayed to the user for a given Route\n */\nconst UserContent = (): React.ReactElement => {\n const { syncError } = React.useContext(AppContext) as AppType;\n const { path } = useRouteMatch();\n const { show } = useIntercom();\n\n return (\n \n
\n
\n \n
\n
\n
\n \n
\n
\n
\n \n \n \n \n \n \n\n {!syncError ? (\n <>\n {\n return ;\n }}\n />\n {\n return ;\n }}\n />\n {\n return ;\n }}\n />\n {\n return ;\n }}\n />\n {\n return ;\n }}\n />\n {\n return ;\n }}\n />\n {\n return ;\n }}\n />\n \n ) : (\n <>\n {\n return (\n
\n
\n

\n We encountered a problem retrieving data from your accounting system. This issue has been recorded and our\n engineering team is on it.\n

\n\n

\n In the meantime, you can chat with our support team by clicking \n {\n event.preventDefault();\n show();\n }}\n >\n here\n \n .\n

\n
\n
\n );\n }}\n />\n {\n return ;\n }}\n />\n \n )}\n\n \n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n );\n};\n\nexport default UserContent;\n","export default __webpack_public_path__ + \"static/media/404.6a826ba0.svg\";","import React from \"react\";\n\nimport errorImg from \"../../assets/404.svg\";\nimport \"./FourOFourError.scss\";\n\nconst FourOFourError: React.FC = () => {\n return (\n
\n
\n \"404\"\n

Oops!

\n\n

\n The page you requested could not be found.\n

\n\n \n Please{\" \"}\n sign in{\" \"}\n to access Lockstep Insights.\n \n
\n
\n );\n};\n\nexport default FourOFourError;\n","import React from \"react\";\n\nimport { LargeLoading } from \"../../library/Icons/Icons\";\nimport \"./WaitScreen.scss\";\n\nexport default function WaitScreen(): React.ReactElement {\n return (\n
\n
\n
\n \n
\n\n

Hold tight, your dashboard is loading.

\n
\n
\n );\n}\n","import React, { useEffect } from \"react\";\nimport { Switch, Route, Redirect, useHistory } from \"react-router-dom\";\nimport { useMsal } from \"@azure/msal-react\";\n\nimport NavLinkWrapper from \"../../components/library/NavLink\";\nimport UserContent from \"../../components/UserContent/UserContent\";\nimport Activity, { ActivityVariants } from \"../../components/library/Sidebar/Activity/Activity\";\nimport FourOFourError from \"../FourOFourError/FourOFourError\";\nimport WaitScreen from \"../../components/Onboard/WaitScreen/WaitScreen\";\nimport CustomerProvider from \"../../contexts/CustomerContext\";\nimport { AppContext } from \"../../contexts/AppContext\";\nimport { LockstepLogo } from \"../../components/library/Icons/Icons\";\nimport \"./Home.scss\";\n\nconst Home: React.FC = () => {\n const { getSyncStatus, setInitialSyncInProgress, initialSyncInProgress, setSyncError } = React.useContext(AppContext) as AppType;\n const history = useHistory();\n const { instance } = useMsal();\n\n const checkSyncStatus = async () => {\n const syncRequestKey = `SyncRequest-${instance.getActiveAccount()?.username}`;\n const syncRequestId = localStorage.getItem(syncRequestKey) || \"\";\n\n try {\n if (syncRequestId) {\n const response = await getSyncStatus(syncRequestId);\n\n switch (response.statusCode) {\n case \"Connector\":\n case \"Ready\":\n case \"In Progress\":\n setInitialSyncInProgress(true);\n break;\n case \"Success\":\n case \"Cancelled\":\n case \"Failed\":\n setInitialSyncInProgress(false);\n localStorage.removeItem(syncRequestKey);\n\n if (response.statusCode === \"Failed\") {\n setSyncError(true);\n } else {\n setSyncError(false);\n }\n\n break;\n default:\n break;\n }\n } else {\n setInitialSyncInProgress(false);\n }\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n } catch (error: any) {\n console.log(error);\n }\n };\n\n useEffect(() => {\n checkSyncStatus();\n }, []);\n\n // We periodically check the sync status so we can show the dashboard when it's completed. We should eventually replace this polling with a\n // push mechanism of some kind.\n useEffect(() => {\n const interval = setInterval(() => {\n checkSyncStatus();\n }, 5000);\n\n return () => {\n clearInterval(interval);\n };\n });\n\n return (\n
\n {initialSyncInProgress ? (\n \n ) : (\n <>\n
\n history.push(\"/\")} />\n \n {(isActive: boolean) => }\n \n
\n \n \n \n \n \n \n \n \n )}\n
\n );\n};\n\nexport default Home;\n","import { NavigationClient, NavigationOptions } from \"@azure/msal-browser\";\nimport { History } from \"history\";\n\n/**\n * This client overrides the default function MSAL uses to navigate to other URLs in the app\n */\nexport class CustomNavigationClient extends NavigationClient {\n private history: History;\n\n constructor(history: History) {\n super();\n this.history = history;\n }\n\n /**\n * Navigates to other pages within the same web application. You can use the useHistory hook provided by react-router-dom to take advantage of\n * client-side routing.\n * @param url\n * @param options\n */\n // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types\n async navigateInternal(url: string, options: NavigationOptions) {\n const relativePath = url.replace(window.location.origin, \"\");\n if (options.noHistory) {\n this.history.replace(relativePath);\n } else {\n this.history.push(relativePath);\n }\n\n return false;\n }\n}\n","import React from \"react\";\nimport { Switch, Route, useHistory, useLocation } from \"react-router-dom\";\nimport { withAITracking } from \"@microsoft/applicationinsights-react-js\";\nimport { MsalProvider } from \"@azure/msal-react\";\nimport { IPublicClientApplication } from \"@azure/msal-browser\";\nimport { IntercomProvider } from \"react-use-intercom\";\n\nimport Onboard from \"./routes/Onboard/Onboard\";\nimport Home from \"./routes/Home/Home\";\nimport FourOFourError from \"./routes/FourOFourError/FourOFourError\";\nimport AppProvider from \"./contexts/AppContext\";\nimport OnboardProvider from \"./contexts/OnboardContext\";\nimport { CustomNavigationClient } from \"./auth/NavigationClient\";\nimport PrivateRoute from \"./auth/PrivateRoute\";\nimport { reactPlugin } from \"./AppInsights\";\nimport Utils from \"./utils/utils\";\n\ninterface Props {\n pca: IPublicClientApplication;\n}\n\nfunction App({ pca }: Props): React.ReactElement {\n const history = useHistory();\n const location = useLocation();\n const navigationClient = new CustomNavigationClient(history);\n\n pca.setNavigationClient(navigationClient);\n\n const queryParams = new URLSearchParams(location.search);\n\n // Here we handle an in-progress OAuth flow where a given ERP redirects back to us with an auth code. If a new window was opened, We need to\n // signal the main window with the code then close this one.\n if (queryParams.has(\"code\") && queryParams.has(\"state\")) {\n const state = queryParams.get(\"state\")?.split(\"|\") || [];\n\n // Are we dealing with an erp or email connector?\n const storageKeys = [ \"ERPAuthState\", \"EmailAuthState\" ];\n let localStorageKey;\n for(const key of storageKeys) {\n const storageItem = localStorage.getItem(key);\n if(state[state.length - 1] === storageItem) \n {\n localStorageKey = key;\n break;\n }\n }\n\n // Only proceed if the redirect URL includes a state value and the ID from it matches the one we originally sent\n if (localStorageKey !== undefined) {\n localStorage.removeItem(localStorageKey);\n\n let realmId = \"\";\n\n if (queryParams.has(\"realmId\")) {\n realmId = queryParams.get(\"realmId\") || \"\";\n\n if (realmId === \"null\") {\n realmId = \"\";\n }\n }\n\n const messageBody = {\n type: \"auth_code\",\n code: queryParams.get(\"code\"),\n erp: state[0],\n appId: state[1],\n realmId,\n };\n\n if (window.opener) {\n window.opener.postMessage(messageBody, window.location.origin);\n window.close();\n } else {\n // TODO: Add code to handle the case where the redirect is happening in the same browser window\n }\n }\n // Handle OAuth Error flow\n } else if (queryParams.has(\"error\") && queryParams.has(\"error_description\") && queryParams.has(\"state\") && window.opener) {\n window.opener.postMessage({ type: \"erp_error\", description: queryParams.get(\"error_description\") }, window.location.origin);\n window.close();\n }\n\n const sendToken = (queryParams: URLSearchParams) => {\n if (queryParams.has(\"id_token\")) {\n window?.top?.postMessage({ type: \"id_token\", code: queryParams.get(\"id_token\") }, window.location.origin);\n\n // We remove the token parameter to prevent a duplicate call to the provisioning API\n queryParams.delete(\"id_token\");\n }\n };\n\n return (\n \n \n \n \n {\n sendToken(queryParams);\n\n return
;\n }}\n />\n {\n return (\n \n \n \n );\n }}\n />\n {/* This route exists solely for Azure B2C to have a stable redirect location, meaning one that doesn't itself redirect or modify the\n browser URL. The path is defined in our B2C policies. */}\n \n \n \n \n \n \n \n );\n}\n\nexport default withAITracking(reactPlugin, App);\n","import { createTheme } from \"@mui/material\";\nimport styles from \"../css/_export.module.scss\";\n\nexport const primaryTheme = createTheme({\n components: {\n MuiDrawer: {\n styleOverrides: {\n paperAnchorRight: {\n padding: styles.large,\n width: \"19.5rem\",\n boxShadow: \"0 8px 12px rgba(0, 0, 0, 0.1), 0 4px 20px rgba(0, 0, 0, 0.1)\",\n },\n modal: { backgroundColor: \"rgba(0, 0, 0, 0)\" },\n },\n },\n MuiAutocomplete: {\n styleOverrides: {\n root: {\n border: \"1px solid transparent\",\n padding: \"0px\",\n borderRadius: \"2px\",\n \"&.Mui-focused\": {\n border: `1px solid ${styles.grey70}`,\n },\n },\n inputRoot: {\n backgroundColor: styles.grey98,\n color: styles.primary,\n fontFamily: styles.primaryFontFamily,\n fontSize: styles.fontSizeSM,\n height: \"40px\",\n width: \"100%\",\n padding: \"0px !important\",\n borderRadius: \"2px\",\n \"&:hover\": {\n backgroundColor: styles.grey96,\n },\n \"&.Mui-focused\": {\n backgroundColor: styles.grey93,\n },\n \"&.Mui-focused input\": {\n color: styles.primary,\n },\n \"&.Mui-focused input:focus::placeholder\": {\n color: \"transparent\",\n },\n \".MuiAutocomplete-endAdornment\": {\n marginRight: \"12px\",\n button: {\n \"&:hover\": {\n backgroundColor: \"transparent\",\n },\n },\n svg: {\n fill: styles.grey60,\n },\n top: \"unset\",\n },\n \".MuiInput-input\": {\n padding: \"0px\",\n },\n \".MuiAutocomplete-clearIndicator\": {\n display: \"none\",\n },\n },\n input: {\n textIndent: \"0.75rem\",\n height: \"100%\",\n fontSize: styles.fontSizeSM,\n paddingRight: \"47px !important\",\n \"&::-webkit-scrollbar\": {\n display: \"none\",\n },\n },\n listbox: {\n maxHeight: \"205px\",\n fontFamily: styles.primaryFontFamily,\n fontSize: styles.fontSizeSM,\n fontWeight: \"normal\",\n boxShadow: \"none\",\n \"&::-webkit-scrollbar-track\": {\n backgroundColor: styles.white100,\n },\n\n \"&::-webkit-scrollbar\": {\n width: \"8px\",\n backgroundColor: styles.white100,\n },\n\n \"&::-webkit-scrollbar-thumb\": {\n borderRadius: \"2px\",\n backgroundColor: styles.grey96,\n height: \"80px\",\n },\n \"&::-webkit-scrollbar-thumb:hover\": {\n backgroundColor: styles.grey90,\n },\n },\n paper: {\n borderRadius: \"0px 0px 2px 2px\",\n boxShadow: \"0px 8px 12px rgba(0, 0, 0, 0.1), 0px 4px 20px rgba(0, 0, 0, 0.1)\",\n },\n noOptions: {\n fontFamily: styles.primaryFontFamily,\n fontSize: styles.fontSizeSM,\n fontWeight: \"normal\",\n },\n },\n },\n MuiTextField: {\n defaultProps: {\n variant: \"standard\",\n },\n },\n MuiButtonBase: {\n defaultProps: {\n disableRipple: true,\n },\n },\n MuiAlert: {\n variants: [\n {\n props: { severity: \"success\" },\n style: {\n height: \"56px\",\n borderRadius: \"2px\",\n backgroundColor: styles.connectedGreen,\n boxShadow: \"0px 8px 12px rgba(0, 0, 0, 0.1), 0px 4px 20px rgba(0, 0, 0, 0.1)\",\n display: \"flex\",\n flexDirection: \"row\",\n alignItems: \"center\",\n gap: \"22px\",\n padding: \"0px 24px 0px 22px\",\n \"& .MuiAlert-icon\": {\n color: styles.white100,\n display: \"flex\",\n alignItems: \"center\",\n margin: \"0px\",\n padding: \"0px\",\n width: \"20px\",\n height: \"20px\",\n \"& .MuiSvgIcon-root\": {\n width: \"20px\",\n height: \"20px\",\n },\n },\n \"& .MuiAlert-message\": {\n color: styles.white100,\n fontFamily: styles.primaryFontFamily,\n fontWeight: \"500\",\n padding: \"0px\",\n display: \"flex\",\n alignItems: \"center\",\n },\n \"& .MuiAlert-action\": {\n display: \"flex\",\n alignItems: \"center\",\n padding: \"0px\",\n margin: \"0px\",\n cursor: \"pointer\",\n color: styles.white100,\n },\n },\n },\n {\n props: { severity: \"error\" },\n style: {\n height: \"56px\",\n borderRadius: \"2px\",\n backgroundColor: styles.red,\n boxShadow: \"0px 8px 12px rgba(0, 0, 0, 0.1), 0px 4px 20px rgba(0, 0, 0, 0.1)\",\n display: \"flex\",\n flexDirection: \"row\",\n alignItems: \"center\",\n gap: \"22px\",\n padding: \"0px 24px 0px 22px\",\n \"& .MuiAlert-icon\": {\n color: styles.white100,\n display: \"flex\",\n alignItems: \"center\",\n margin: \"0px\",\n padding: \"0px\",\n width: \"20px\",\n height: \"20px\",\n \"& .MuiSvgIcon-root\": {\n width: \"20px\",\n height: \"20px\",\n },\n },\n \"& .MuiAlert-message\": {\n color: styles.white100,\n fontFamily: styles.primaryFontFamily,\n fontWeight: \"500\",\n padding: \"0px\",\n display: \"flex\",\n alignItems: \"center\",\n },\n \"& .MuiAlert-action\": {\n display: \"flex\",\n alignItems: \"center\",\n padding: \"0px\",\n margin: \"0px\",\n cursor: \"pointer\",\n color: styles.white100,\n },\n },\n },\n ],\n },\n MuiTooltip: {\n styleOverrides: {\n tooltip: {\n backgroundColor: styles.primary,\n fontFamily: styles.primaryFontFamily,\n fontWeight: 500,\n fontSize: styles.fontSizeXS,\n lineHeight: styles.lineHeightSM,\n color: styles.white100,\n fontStyle: \"normal\",\n padding: \"8px\",\n borderRadius: \"2px\",\n\n \"& .MuiTooltip-arrow::before\": {\n color: styles.primary,\n },\n },\n },\n },\n MuiIconButton: {\n styleOverrides: {\n root: {\n \"& > svg\": {\n fill: styles.grey60,\n },\n \"&:hover > svg\": {\n fill: styles.primary,\n },\n },\n },\n },\n },\n});\n","import React from \"react\";\nimport ReactDOM from \"react-dom\";\nimport { BrowserRouter as Router } from \"react-router-dom\";\nimport { PublicClientApplication, EventType, EventMessage, AuthenticationResult } from \"@azure/msal-browser\";\nimport FullStory from \"react-fullstory\";\nimport {asyncWithLDProvider} from \"launchdarkly-react-client-sdk\";\nimport reportWebVitals from \"./reportWebVitals\";\nimport { ThemeProvider } from \"@mui/material\";\nimport App from \"./App\";\nimport { msalConfig } from \"./auth/authConfig\";\nimport Utils from \"./utils/utils\";\nimport \"./css/index.scss\";\nimport \"overlayscrollbars/css/OverlayScrollbars.css\";\nimport { primaryTheme } from \"./css/MUITheme\";\n\nexport const msalInstance = new PublicClientApplication(msalConfig);\n\n// Account selection logic is app dependent. Adjust as needed for different use cases.\nconst accounts = msalInstance.getAllAccounts();\n\nReactDOM.render(, document.getElementById(\"fullstory-node\"));\n\nif (accounts.length > 0) {\n msalInstance.setActiveAccount(accounts[0]);\n}\n\nmsalInstance.addEventCallback(async (event: EventMessage) => {\n if (event.eventType === EventType.LOGIN_SUCCESS && event.payload) {\n const payload = event.payload as AuthenticationResult;\n const account = payload.account;\n msalInstance.setActiveAccount(account);\n }\n});\n\n(async () => {\n const LDProvider = await asyncWithLDProvider({\n clientSideID: process.env.REACT_APP_LAUNCHDARKLY_CLIENT_SIDE_ID || \"\"\n\n });\n\nReactDOM.render(\n \n \n \n \n \n \n \n \n ,\n document.getElementById(\"root\")\n);\n})();\n\n// If you want to start measuring performance in your app, pass a function\n// to log results (for example: reportWebVitals(console.log))\n// or send to an analytics endpoint. Learn more: https://bit.ly/CRA-vitals\nreportWebVitals();\n"],"sourceRoot":""}