{"version":3,"sources":["utils/copyObject.ts","components/interact/NumberField.tsx","slices/serviceRequest.ts","slices/contact.ts","hooks/useAuth.ts","slices/request.ts","slices/procurement.ts","slices/apprising.ts","components/dialog/InviteDialog.tsx","i18n.ts","components/RTL.tsx","hooks/useScrollReset.ts","theme/shadows.ts","theme/index.ts","components/dashboard/OrgPopover.tsx","components/interact/NavMenuItem.tsx","components/interact/SearchInput.tsx","components/interact/NavItem.tsx","components/dashboard/DashboardNavbar.tsx","components/dashboard/DashboardLayout.tsx","components/layout/LoadingScreen.tsx","components/layout/GuestGuard.tsx","routes.tsx","App.tsx","index.tsx","utils/fileUpDownload.ts","components/dialog/BootstrapDialog.tsx","apis/wsApi.ts","components/CheckLabel.tsx","components/layout/Scrollbar.tsx","types/microservice.ts","utils/countries.ts","slices/network.ts","apis/chatApi.ts","constants.ts","components/interact/ActionButton.tsx","apis/httpCall.ts","apis/httpDispatch.ts","slices/taxonomy.ts","slices/payAccount.ts","slices/marketplace_template.ts","slices/marketplace_goods.ts","store/rootReducer.ts","store/favicon.ts","store/index.ts","slices/business.ts","utils/contactUtils.ts","utils/filterUrlsByRole.ts","utils/getInitials.ts","utils/procurement/scheduleUtils.tsx","slices/fileshare.ts","components/microservices/edit/ModificationInfo.tsx","slices/favorite.ts","slices/feedback.ts","worker/init.ts","utils/procurement/contractUtils.tsx","components/dialog/PopupTooltip.tsx","slices/share.ts","aws/lambdaCall.ts","aws/lambdaDispatch.ts","utils/cleanUp.ts","hooks/useSettings.ts","utils/requestUtils.ts","slices/msTemplate.ts","slices/asset.ts","slices/kanban.ts","components/layout/SpinnerScreen.tsx","slices/user.ts","utils/getServiceInfo.ts","utils/agentUtils.tsx","slices/template.ts","contexts/AmplifyContext.tsx","globals.ts","utils/getActiveOrgInfo.ts","utils/intervalJobs.ts","contexts/SettingsContext.tsx","icons/CryptoWallet.tsx","utils/merchantUtils.ts","components/wallet/GasLimit.tsx","components/wallet/MERcTransferDlg.tsx","components/wallet/senddlg.tsx","components/wallet/BuyMERcDialog.tsx","components/wallet/SatoshiFee.tsx","components/wallet/SellMERcDialog.tsx","components/wallet/MRCDepositDialog.tsx","components/wallet/MRCWithdrawDialog.tsx","pages/wallet/WalletSideBar.tsx","config.ts","apis/contactApi.ts","components/microservices/edit/utils.ts","components/microservices/edit/engagementLetterTemplate.ts","components/toast.tsx","icons/UserAdd.tsx","slices/organization.ts","slices/chat.ts","utils/getApprisingCount.ts","components/display/LoadingItem.tsx","components/dialog/DblButtonMessage.tsx","components/interact/PrettySelect.tsx","contexts/SearchContext.tsx","hooks/useSearch.ts","icons/Search.tsx","utils/getAddressUtils.ts","hooks/useMounted.ts","components/display/CurrencyItem.tsx","utils/wait.ts","components/ServiceRequest/Actions.tsx","pages/ClientDashboard/ConnectDialog.tsx","utils/getPeriodOffsetDays.ts","components/microservices/edit/PaymentPad.tsx","components/dialog/SingButtonPopup.tsx","icons/Organization.tsx","components/microservices/edit/acceptLetterTemplate.ts","utils/getUserDisplayName.ts","utils/dateFormatUtils.ts","slices/wallet.ts","components/dialog/AlertLoginDialog.tsx","icons/Microsoft.tsx","components/dialog/TooltipDlg.tsx","components/SmallUserInfo.tsx","utils/getUserMinInfo.ts","utils/priceUtils.ts","components/layout/AuthGuard.tsx"],"names":["deepCopy","obj","undefined","Date","getTime","Array","reduce","arr","item","i","Object","keys","newObj","key","objCopy","src","dest","forEach","objToArray","isArray","tmp","push","objFromArray","arguments","length","accumulator","current","objSub","id","title","value","cost","child","NumberField","props","onNumChange","onChange","others","_objectWithoutProperties","_excluded","_useState","useState","concat","_useState2","_slicedToArray","txt","setTxt","useEffect","_jsx","TextField","_objectSpread","e","Number","isNaN","target","initialState","service","bundledServices","step","SERVICE_REQUEST_STEP_INFOCOLLECT","agreedEngagement","request","postponeId","activeBannerUrl","referrals","selectedReferralId","defaultInvitees","convId","entityInfo","slice","createSlice","name","reducers","clearState","state","splice","window","URL","revokeObjectURL","clearServiceRequestState","setService","action","payload","setBundledServices","updateService","updateBundledService","_action$payload","sid","info","map","bs","setStep","setAgreeEngagement","setRequest","_action$payload$mater","_action$payload$mater2","material","setPostponeId","setActiveBannerUrl","setReferrals","setSelectedReferral","setDefaultInvitees","setConvIdForProposal","setEntityInfo","reducer","_ref","_asyncToGenerator","_regeneratorRuntime","mark","_callee","dispatch","wrap","_context","prev","next","actions","stop","_x","apply","_ref2","_callee2","_context2","_x2","_ref3","_callee3","_context3","_x3","services","_ref4","_callee4","_context4","_x4","_ref5","_callee5","_context5","_x5","_ref6","_callee6","_context6","_x6","_ref7","_callee7","_context7","_x7","val","_ref8","_callee8","_context8","_x8","_ref9","_callee9","_context9","_x9","_ref10","_callee10","_context10","_x10","_ref12","_callee12","_context12","_x12","_ref13","_callee13","_context13","_x13","invitees","_ref14","_callee14","_context14","_x14","_ref15","_callee15","_context15","_x15","_ref16","_callee16","_context16","_x16","contacts","contactsNeedReload","connectState","qbo","xero","contactAutoMapping","connectStateNeedReload","syncState","lodgeit","syncStateNeedReload","contactToUsers","curPage","totalCount","setContacts","setCurPage","setTotalCount","setContactsNeedReload","addContact","updateContact","contact","cont","deleteContact","contactId","filter","setConnectState","connectedQbo","connectedXero","setConnectStateNeedReload","setSyncState","_action$payload2","syncQbo","syncXero","setSyncStateNeedReload","addContactToUsers","_action$payload3","userInfos","data","cid","userData","clearContactState","cs","needReload","c","_connectedQbo","_connectedXero","_syncQbo","_syncXero","_ref11","_callee11","_context11","_x11","_cId","_userData","useAuth","useContext","AuthContext","requests","tags","signs","ratedRequests","setNeedReload","setRatedRequests","ids","addRatedRequest","_toConsumableArray","setRequests","addRequests","_state$requests","updateRequest","requestId","uid","removeChatIdFromRequests","requestIds","now","toISOString","includes","conversation","updatedAt","updateRawRequests","updated","find","removeRequest","index","findIndex","setTags","updateAutoDebitRequest","checked","payments","paymentMethod","PAY_DIRECT_DEBIT","PAY_CREDIT_CARD","addSignInfo","sign","clearRequestState","loadRatedRequests","loadRequests","rfqReload","RFQs","fromAssetIds","contractReload","contracts","fromRequest","fromProposal","poReload","POs","scheduleReload","schedules","invoiceReload","invoices","setRFQs","rfqs","addNewRFQ","rfq","updateRFQ","removeRFQ","setRFQReload","setFromAssetIds","setContracts","addNewContract","contract","updateContract","removeContract","setContractReload","updateAutoDebitContract","itemBriefs","payment","paymentContract","setFromRequest","setFromProposal","setPOs","pos","addNewPO","po","updatePO","removePO","setPOReload","setSchedules","addNewSchedules","updateSchedules","schedule","removeSchedules","setScheduleReload","updateAutoDebitSchedules","setInvoices","addNewInvoice","invoice","updateInvoice","updateInvoices","removeInvoice","setInvoiceReload","updateAutoDebitInvoices","clearProcurementState","_ref17","_callee17","_context17","_x17","updateds","_ref21","_callee21","_context21","_x21","_ref22","_callee22","_context22","_x22","_ref23","_callee23","_context23","_x23","_ref27","_callee27","_context27","_x27","_ref28","_callee28","_context28","_x28","_ref29","_callee29","_context29","_x29","_ref30","_callee30","_context30","_x30","apprisings","prevTeamId","isLoading","details","setApprisings","addApprisings","addTeamApprisings","activeTeamId","orgApprs","appr","receiverId","removeApprising","removeApprisings","setState","setDetails","assignApprisings","itemId","removedIds","newApprs","clearApprisingState","sawApprising","filterFunc","sawApprs","gstore","getState","apprising","sawApprIds","lambdaRemoveApprising","loadOrgApprising","curOrgId","set","apprs","hrefs","filteredApprs","_args9","lambdaGetApprising","sent","getPossibleHrefs","some","href","startsWith","loadTeamApprising","loadApprising","orgId","teamId","t0","console","log","JSON","stringify","finish","tabs","label","TAB_LABEL_ACCZIOM_USERS","TAB_VALUE_ACCZIOM_USERS","TAB_LABEL_MY_CONTACTS","TAB_VALUE_MY_CONTACTS","TAB_LABEL_PARTNERS","TAB_VALUE_PARTNERS","TAB_LABEL_ORG_CLIENTS","TAB_VALUE_ORG_CLIENTS","TAB_LABEL_ORG_SUPPLIERS","TAB_VALUE_ORG_SUPPLIERS","TAB_LABEL_ORG_MEMBERS","TAB_VALUE_ORG_MEMBERS","getRealInviteeInfo","invitee","_invitee$allIds","allIds","at","type","ACCZIOM_NONE","getRealInviteeId","getRealInviteeType","getStrInviteeType","retType","ACCZIOM_USER","ACCZIOM_ORG","ACCZIOM_TEAM","ACCZIOM_MEMBER","ACCZIOM_CLIENT","ACCZIOM_CLIENT_ORG","ACCZIOM_SUPPLIER","ChatScrollbar","forwardedRef","other","style","children","refSetter","useCallback","scrollbarsRef","view","Scrollbar","ref","overflow","options","suppressScrollX","ChatScrollbarVirtualList","forwardRef","RenderInviteeRow","handleRemoveRecipient","recipients","_jsxs","Box","sx","display","flexDirection","ListItem","button","py","px","ListItemAvatar","UserAvatar","userInfo","size","width","textOverflow","whiteSpace","ListItemText","primary","getUserDisplayName","primaryTypographyProps","color","noWrap","variant","secondary","secondaryTypographyProps","marginLeft","flexGrow","IconButton","onClick","height","HighlightOffIcon","fontSize","Divider","RenderSearchUserRow","_user$city","_user$country","_user$city2","_user$country2","_user$country3","_getCountry","_user$city3","handleAddRecipient","user","filteredSearchUsers","LocationOnIcon","mt","ml","mr","city","country","getCountry","text","RenderSearchContactRow","handleSendInvitation","filteredSearchContacts","userName","displayName","getContactDisplayName","address","getSimpleContactAddress","phone","getAnyPhoneNumber","email","getEmailAddress","setIsLoading","_useState3","_useState4","contactUsers","setContactUsers","_useState5","_useState6","editInvitation","setEditInvitation","_useState7","getInviteEmailBody","_useState8","msgBody","setMsgBody","mounted","useMounted","anchorRef","useRef","useDispatch","useSelector","getUsersFromContact","contactData","contactEmail","promises","contactInfo","lambdaSearchUserByField","then","users","userToMiniUser","catch","err","lambdaSearchOrganizationByField","organizations","org","orgToMiniUser","Promise","all","_user","disabled","Avatar","bgcolor","getInitialBackground","getInitials","theme","palette","fontWeight","PhoneIcon","EmailIcon","SendRoundedIcon","Popover","anchorEl","anchorOrigin","horizontal","vertical","open","PaperProps","minWidth","minHeight","transitionDuration","p","placeholder","defaultValue","fullWidth","multiline","rows","event","mb","Button","getInviteEmailSubject","RenderSearchMemberRow","_curMember$member","_memberRolesInCurOrg$","_curMember$teams","memberRolesInCurOrg","organization","activeOrgInfo","getActiveOrgInfo","curMember","curMemberType","isSupplier","member","organizationId","curRole","role","_curMember$member2","rid","tenary","AttributionIcon","alignItems","pl","getActiveMinInfo","tradingName","PeopleAltIcon","teams","team","join","createInviteeData","memoize","createSearchUserData","createSearchContactData","filterPartners","partners","searchText","partner","matches","containsQuery","property","_partner$property","toLowerCase","filterMembers","members","_member$property","_team$name","InviteDialog","dlgProps","isTitled","invitingTitle","setInvitingTitle","firstMsg","setFirstMsg","showTabs","showUser","showRange","maxInvitees","hideUserIds","loadingCompleted","addInvitee","removeInvitee","toSubmit","toClose","_excluded2","firstName","lastName","_useSelector5","activeOrgId","membersInCurOrg","teamsInCurOrg","gInvitations","network","invitations","navigate","useNavigate","_useState9","_useState10","availPartners","setAvailPartners","_useState11","_useState12","availMembers","setAvailMembers","_useState13","_useState14","query","setQuery","_useState15","_useState16","searchUsers","setSearchUsers","_useState17","_useState18","searchOrganizations","setSearchOrganizations","_useState19","_useState20","searchContacts","setSearchContacts","_useState21","_useState22","searchPartners","setSearchPartners","_useState23","_useState24","searchMembers","setSearchMembers","_useState25","_useState26","isSearching","setIsSearching","_useState27","_useState28","currentTab","setCurrentTab","_useState29","_useState30","isMsgboxIsOpen","setIsMsgboxIsOpen","_useState31","_useState32","_useState33","_useState34","notAvailableIds","hideIds","id1","id2","getHideIds","filtered","getFilteredSearchUsers","newInviteShow","newInviteShowWithEmail","isValidEmail","recipientEmails","acc","recipient","getFilteredSearchContacts","newContactShow","filteredSearchPartners","newPartnerShow","filteredSearchMembers","getFilteredSearchMembers","filteredSearchOrgClients","filteredSearchOrgSuppliers","filteredSearchOrgMembers","newMemberShow","closeInviteDlg","handleSearchChange","partnerData","memberData","res","filterContacts","lambdaSearchUserWithFriend","errorMessage","toast","error","handleTabsChange","onYesClick","msgboxCloseHandler","isOpen","handleMessageChange","emailTo","subject","body","emailParams","from","to","html","linkifyText","convertTextToHtml","lambdaSendRawFeedback","messageId","success","handleChangeTitle","handleChangeFirstMsg","handleSendClick","getTabLabel","retLabel","inviteeKey","inviteeData","searchUserKey","searchContactKey","searchContactData","orgPartners","invitation","status","STATUS_ACTIVATED","miniPartner","getUserMinInfoByID","inviter","orgMembers","mi","CHAT_MEMBER_MODE","editChat","roleItem","transaction","messaging","oid","miniMember","mid","tids","tid","Dialog","maxWidth","onClose","Formik","initialValues","submit","onSubmit","values","setErrors","setStatus","setSubmitting","message","errors","handleSubmit","isSubmitting","noValidate","padding","position","right","top","Close","pt","ONLY_TITLE","BOTH_TITLE_FIRSTMSG","borderTopRightRadius","Typography","autoFocus","ONLY_FIRSTMSG","_Fragment","mx","my","borderStyle","borderWidth","borderBottom","borderLeft","borderRight","NO_TITLE_FIRSTMSG","InputProps","startAdornment","InputAdornment","SearchIcon","AutoSizer","List","itemCount","itemSize","itemKey","itemData","outerElementType","orientation","flexItem","Tabs","indicatorColor","scrollButtons","textColor","tab","Tab","INVITE_ITEM_HEIGHT","justifyContent","Loader","textAlign","gutterBottom","UserAddIcon","marginTop","CircularProgress","marginRight","FormHelperText","DblButtonMessage","messageContent","LEAVE_WINDOW_CONTENT","messageTitle","LEAVE_WINDOW_TITLE","i18n","use","initReactI18next","init","resources","en","translation","fr","lng","fallbackLng","interpolation","escapeValue","RTL","direction","document","dir","CacheProvider","createCache","prepend","stylisPlugins","stylisRTLPlugin","useScrollReset","pathname","useLocation","scrollTo","lightShadows","darkShadows","baseOptions","components","MuiAvatar","styleOverrides","fallback","MuiButton","root","textTransform","MuiCssBaseline","boxSizing","MozOsxFontSmoothing","WebkitFontSmoothing","zIndex","MuiCardHeader","defaultProps","titleTypographyProps","MuiLinearProgress","borderRadius","MuiListItemIcon","MuiPaper","backgroundImage","typography","fontFamily","h1","h2","h3","h4","h5","h6","overline","themesOptions","_themesOptions","_defineProperty","THEMES","TOPBAR","MuiInputBase","input","opacity","WebkitBoxShadow","active","background","default","paper","contrastText","main","mode","warning","shadows","CUSTOM","paddingLeft","paddingRight","MuiCard","boxShadow","MuiTextField","borderColor","MuiListItem","backgroundColor","divider","LIGHT","DARK","MuiTableCell","NATURE","createCustomTheme","config","themeOptions","warn","Error","createTheme","merge","roundedCorners","shape","responsiveFontSizes","MeOrgs","orgs","onMeClicked","onOrgClicked","opened","isSwitchingOrg","activeUserMinInfo","getActiveUserMinInfo","MenuItem","showType","getActiveType","Collapse","in","orgMinInfo","pr","OrgTeams","onTeamClicked","_useSelector2","orgInfos","teamInfos","orgInfo","teamInfo","maxCount","getPopHeight","orgCount","teamCount","idx","OrgPopover","loading","onLogout","settings","useSettings","_useSelector3","memberInfos","clientSupplierInfos","clientSupplierIds","orgMenuOpen","setOrgMenuOpen","openedOrgId","setOpenedOrgId","popHeight","setPopHeight","handleClickOrg","handleClickSupplierOrg","handleClickTeam","cursor","textDecoration","transform","ThemeProvider","ArrowDropDownIcon","transition","transformOrigin","keepMounted","className","thm","LogoutIcon","NavMenuItem","path","isHorizontal","Icon","icon","items","setOpen","selected","matchPath","caseSensitive","end","handleClose","onMouseEnter","stopPropagation","onMouseLeave","onMouseDown","onMouseUp","content","left","Badge","badgeContent","maxHeight","SubIcon","_item$onClick","call","SearchInput","onSearch","hasButton","isFocused","setFocused","transitionDelay","onFocus","onBlur","onKeyDown","code","BACKGROUND_DEEP","BiSearch","NavItem","sourcePath","altName","pb","alt","DashboardItems","authRequired","REQUIRE_NONE_MODE","BalanceIcon","Adjustments","HomeRepairServiceOutlinedIcon","BusinessOutlinedIcon","REQUIRE_AUTH_MODE","SettingsSuggestOutlinedIcon","AccountTreeOutlinedIcon","GroupOutlinedIcon","SourceOutlinedIcon","AssignmentTurnedInOutlinedIcon","TextSnippetOutlinedIcon","MonetizationOnOutlinedIcon","SellOutlinedIcon","ShoppingBasketOutlinedIcon","AirlineStopsOutlinedIcon","AutoAwesomeOutlinedIcon","ChatOutlinedIcon","CampaignOutlinedIcon","TextsmsOutlinedIcon","MdOutlineForum","SettingsOutlinedIcon","REQUIRE_NOT_AUTH_MODE","AccountCircleOutlinedIcon","PersonAddAltOutlinedIcon","JoinUsItem","SensorOccupiedIcon","SignOutItem","HelpItem","QuestionMarkIcon","searchBarUrls","notAuthUrlsForSame","notAuthUrlsForStart","authUrlsForSame","authUrlsForStart","DashboardNavbarRoot","experimentalStyled","AppBar","drawer","LOGO_BACK_SIZE","NAVBAR_HEIGHT","DashboardNavbar","searchApi","useSearch","_useAuth","isAuthenticated","logout","orgDomainName","useParams","domain","_useSelector","inviteInfo","searchInfo","orgsNeedReload","convs","chat","setIsSwitchingOrg","setItems","setLoading","activeOrgMinInfo","getActiveOrgMinInfo","displayTitle","toUpperCase","enabledSearch","location","hostname","subHref","circleType","handleGotoCommunity","domainName","handleSearch","q","_searchApi$current","_searchApi$current$on","handleLogout","handleJoinWithDomain","lambdaJoinAsClient","setDashboardItems","STATUS_PENDING","mm","isFirst","joinUsMode","_onClick2","_onClick","setConnectDlgOpen","CONNECT_DLG_JOIN","h","subItems","subItem","split","chatApi","processBeforeChangeMode","setSelectedMode","switchOrg","_orgInfo","newBannerUrl","newLocalUrl","setActiveTeamId","wsTeamConnect","host","abrupt","initChatApi","loadWallet","loadContact","lambdaGetFeedback","loadFeedback","feedback","feedbackConnection","banner","lambdaGetOrgBannerUrl","fetchUrl","setBannerUrl","getExchangeRatesForOneUSD","allCurrencyUnits","rates","updateCurExRate","setSearchHistory","clearShareState","setActiveOrgId","initNeedReloads","wsDisconnect","wsTeamDisconnect","wsConnect","v","lambdaGetOrgActivatedMembersOfUser","categories","categoryInfos","strRoles","roleInfos","roles","level","department","parse","assignment","production","createdAt","orgData","categoryData","roleData","teamData","teamIds","departmentValues","assignmentValues","category","cat","anzicCategory","sort","member0","member1","setOrgStructures","finally","circularEle","getElementById","innerHTML","substring","CircleType","radius","LARGE_LOGO_SIZE","destroy","sm","md","lg","xl","SHADOW_SIZE","placeHolder","apprCount","_conv","unreadCount","getNavbarApprisingCount","INNERORG_CHAT_THREAD","DashboardLayoutRoot","AboutDashboardLayoutWrapper","flex","DashboardLayoutWrapper","paddingTop","DashboardLayoutContainer","DashboardLayoutContent","WebkitOverflowScrolling","DashboardLayout","auth","_useSearchParams","useSearchParams","searchParams","isMyAbout","get","Outlet","LoadingScreen","NProgress","start","done","GuestGuard","Navigate","Loadable","Component","Suspense","Login","lazy","PasswordRecovery","PasswordReset","Register","VerifyCode","Diagram","OrgCreatePad","Dashboard","OrgSearch","MicroserviceSearch","AssetSearch","Fillup","AcceptInvite","Chat","Ticket","ErrorPage","NetworkView","ServiceRequest","Wallet","MyFiles","BusinessSearch","MicroservicePage","Configuration","StructureBoard","Templates","TemplateEdit","AssetPage","AssetRequest","AboutUs","DirectOffer","AssignPad","PayOrgFee","AutoMappingSuggest","ExternalClientView","routes","element","AuthGuard","isFree","App","useRoutes","isInitialized","lframe","isMobile","origin","replace","script1st","createElement","appendChild","script2nd","async","defer","visibility","CssBaseline","Toaster","toastOptions","duration","SpinnerScreen","ReactDOM","render","StrictMode","HelmetProvider","ReduxProvider","store","StyledEngineProvider","injectFirst","LocalizationProvider","dateAdapter","AdapterDateFns","SettingsProvider","BrowserRouter","AuthProvider","CookiesProvider","url","buf","fetch","arrayBuffer","createObjectURL","Blob","uploadFile","file","method","headers","reponse","resolve","BootstrapDialog","spacing","BootstrapDialogTitle","DialogTitle","m","grey","RECEIVE_CODE","wsSocket","io","accsiomURIs","apprising_ws_url","autoConnect","connect","disconnect","onReceiveAppr","params","setInvitationNeedReload","setFileshareNeedReload","setTicketNeedReload","setReferralNeedReload","setCurOrgNeedReload","on","wsTeamSocket","CheckLabel","indeterminate","FormControlLabel","control","Checkbox","test","navigator","userAgent","overflowX","PerfectScrollbar","shortid","require","ControlType","ValueType","AlignType","shortId","generate","countries","dial","getCountryByDialCode","_countries$find","invitationNeedReload","referralNeedReload","setInvitations","addNewInvitation","updateInvitation","replaceInvitation","removeInvitation","addNewReferral","updateReferral","referral","replaceReferral","removeReferral","removeReferralFromReq","removed","STATUS_REMOVED","clearNetworkState","loadInvitations","loadReferrals","TwilioToAccsiomMsg","msg","attrib","attributes","dateCreated","senderId","author","contentType","TwilioToAccsiomThread","conv","friendlyName","participants","lastMessage","lastMessageTime","createdBy","isTyping","lastReadMsgIndex","lastReadMessageIndex","lastMsgIndex","messages","typer","ChatApi","_this","_classCallCheck","client","token","firstMsgForNewConv","lastMsgId","activeThreadId","msgId","isConnecting","isActive","findThreadById","_createClass","_this2","this","shutdown","_this2$messages$_conv","_dispatch","_this3","connectionState","addCallApiCount","reject","getToken","_token","Conversations","create","_conn","initListeners","uri","_this4","lambdaGetAttachmentFileDownloadUrl","setMessageImage","_this5","setMessageVideoThumbnail","_this6","initConnection","lambdaGetTwilioToken","updateToken","cleanUp","aMsg","_aMsg$attrib","loadImageThumbnail","loadVideoThumbnail","msgAdded","msgSent","updateLastMsgIndex","updateLastReadMsgIndex","getUnreadMessagesCount","setMsgUnreadCount","att","updateAttributes","hasFocus","Notification","permission","notifyMessage","_this6$dispatch","msgUpdated","_this6$dispatch2","removeMessage","_this6$dispatch3","identity","setTypingStarted","_this6$dispatch4","setTypingEnded","_this6$dispatch5","threadJoined","sendMessage","addConvDispatch","participant","lastMsgIds","updateLastReadMsgIds","accMsg","sender","_participant","senderIcon","sentUserInfo","getUserInfoByType","avatar","senderName","_accMsg$attrib","quotedMsg","isFile","isImage","n","onclick","focus","setTimeout","close","creatorId","_this7","newUsers","getUserIdByType","nonIndividuals","lambdaGetUserMinInfos","miniUsers","updateUserMinInfos","_this8","attrib0","thread","threadAdded","loadAvatar","getUser","u","updateUserOnlineStatus","isOnline","evt","updateReasons","ur","_this9","activeConversation","getParticipants","currentParticipants","merged","setActiveThread","getUsersLastMsgId","_this10","remove","sconv","axios","post","twilio_notification_url","part","msgIds","_this11","_this12","createConversation","joinedConv","activeInfo","getActiveInfo","lambdaAddServiceParticipants","isAdmin","newRecipients","addRecipientsToThread","uids","_this13","removeParticipant","_this13$dispatch","removeParticipants","convIdx","indexOf","setActiveThreadId","threadDeleted","_this14","delete","removeConversationFromApp","_this15","me","otherParticipantIds","getActiveIdByType","removeParticipantsFromConversation","leave","_threads","_this16","getSubscribedConversations","paginator","unshift","_this17","markThreadAsSeen","setAllMessagesRead","typing","_this18","ret","twilioMsgs","getMessages","PAGE_SIZE","_this18$messages$sid","_this18$messages$sid2","_aMsg$attrib2","video","canvas","setAttribute","addEventListener","getContext","drawImage","videoWidth","videoHeight","toBlob","thumb","currentTime","image","Image","_sendFile","attribute","sendMsg","newMsg","thumbUrl","thumbuploadUrl","uploadUrl","_thumb","_width","_height","_thumbUrl","_thumbuploadUrl","_uploadUrl","_uploadUrl2","retV","uuidv4","getVideoThumbnail","lambdaGetAttachmentFileUploadUrl","getImageThumbnail","_body","_this19","updateBody","setEditingMsg","_this20","_this21","_gstore$getState$chat","_createConversationFromTask","partnerAgent","myAgent","partnerAgentIds","resPartner","memberInfo","roleInfo","mines","myAgentIds","resMe","_memberInfo","_roleInfo","INDIVIDUAL_TYPES","getAgentIds","lambdaGetOrgTeamMembers","memberItem","ActionButton","iconSize","buttonSize","badge","realButtonSize","realIconSize","marginSize","Tooltip","SvgIcon","callHttpApi","fullUrl","querystring","httpGetAssetById","asset_uri","httpGetOtherAssetsOfSupplier","ownerId","curId","purpose","httpGetMicroserviceForRequest","microservice_uri","httpGetRequetById","request_uri","httpGetFileResourcesByItemId","httpGetPurchaseRatingStatistics","httpGetRatingStatisticsByStar","httpGetRatingsByItemId","offset","count","httpGetAssetThumbnail","httpGetInvitationDetails","orgaboutus_uri","httpCheckMemberStatus","_x18","httpCheckClientOrgStatus","_x19","httpGetOrgByDomainName","_x20","httpGetOrgStructure","httpGetOrgBannerUrl","httpSearchOrganizations","_ref18","_callee18","hideOrgIds","_context18","orgIds","_x24","_x25","_x26","httpFindAddress","_ref19","_callee19","_context19","httpGetExchangeRate","_ref20","_callee20","currencies","_context20","httpRegisterUserOnInvite","middleName","password","_x31","_x32","_x33","_x34","httpGetAssetsPublishedByOwner","_x35","httpGetMicroservicesPublishedByOwner","_x36","httpGetPartnerAssets","_ref24","_callee24","_context24","_x37","httpGetPartnerMicroservices","_ref25","_callee25","_context25","_x38","httpJoinAsClient","_ref26","_callee26","_context26","_x39","_x40","httpJoinAsClientOrg","_x41","_x42","httpGetAnzicTaxonomyInfoByType","_x43","ebsGetMicroservicesPublished","ownerIds","oids","_x44","_x45","_x46","_x47","_x48","_x49","ebsGetAssetsPublished","_x50","_x51","_x52","_x53","_x54","_x55","ebsGetBulkPublished","_ref31","_callee31","_context31","_x56","_x57","_x58","_x59","_x60","_x61","orgCategories","orgCategoryNeedReload","serviceCategories","serviceCategoryNeedReload","assetCategories","assetCategoryNeedReload","chatCategories","chatCategoryNeedReload","setOrgCategoryNeedReload","setServiceCategoryNeedReload","setAssetCategoryNeedReload","setChatCategoryNeedReload","setOrgCategories","setServiceCategories","setAssetCategories","setChatCategories","updateOrgCategory","newCategory","updateServiceCategory","updateAssetCategory","updateChatCategory","updateOrgCategoryByCode","updateServiceCategoryByCode","updateAssetCategoryByCode","updateChatCategoryByCode","clearTaxonomyState","stripeAccount","updateStripeAccount","setStripeAccount","removeStripeAccount","_state$stripeAccount","customerID","accountID","clearPayAccountState","isInitialised","needReloadProposal","needRefresh","activeTemplateId","templates","byId","maxId","selTaxonomy","selTemplate","selGoods","curQuery","initializeTemplateState","setTemplates","setActiveTemplate","addNewTemplate","template","updateTemplate","removeTemplate","setNeedReloadProposal","setNeedRefresh","clearAllTemplateSlice","setData","setMaxId","setSelTemplate","setSelTaxnomy","taxonomy","setSelGoods","goods","setCurQuery","setAgents","ownerAgent","activeGoodsId","goodss","dataTemplate","templateId","dataGoods","refresh","goodThumbs","buyingGoods","requestGood","offerGoodIds","initializeGoodsState","setGoodss","setActiveGoods","addNewGoods","updateGoods","removeGoods","clearAllGoodsSlice","setDataTemplate","setTemplateId","setDataGoods","setGoodThumbs","setBuyingGoods","addBuyingGoods","good","ag","setRequestGood","setOfferGoodIds","rootReducer","combineReducers","chatReducer","userReducer","msTemplate","msTemplateReducer","contactReducer","procurement","procurementReducer","apprisingReducer","wallet","walletReducer","payAccount","payAccountReducer","kanban","kanbanReducer","fileshare","fileshareReducer","organizationReducer","requestReducer","business","businessReducer","asset","assetReducer","templateReducer","goodsReducer","networkReducer","favorite","favoriteReducer","serviceRequest","serviceRequestReducer","share","shareReducer","feedbackReducer","taxonomyReducer","el_template","el_templateReducer","favIconMiddleware","_store","result","homeApprCount","activityTypes","typ","networkApprCount","ticketApprCount","msgApprCount","curHref","getAttribute","configureStore","devTools","process","REACT_APP_ENABLE_REDUX_DEV_TOOLS","middleware","getDefaultMiddleware","serializableCheck","ignoredActions","useReduxSelector","useReduxDispatch","purchaseItems","setPurchaseItems","exPurchaseItems","updatePurchaseItem","purchaseItem","removePurchaseItem","clearPurchaseItemState","applyFilters","formalName","getUserFormalName","_contact$property","addresses","_","trim","_contact$emails$0$ema","emails","emailAddress","phoneNumbers","e164Format","getPrimaryAddress","addressType","getPhoneFromContact","reason","filteredPhoneNumbers","getEmailFromContact","filteredEmails","contactWeights","compareAddress","a","b","region","postalCode","addressLine1","compareContact","_a$note","_b$note","_a$title","_b$title","_a$middleName","_b$middleName","_a$lastName","_b$lastName","_a$firstName","_b$firstName","_a$displayName","_b$displayName","score","abn","acn","taxNumber","note","j","_a$i","_a$i$emailAddress","_a$i2","_b$i","compareEmails","_a$i3","_a$i3$e164Format","_a$i4","_b$i2","_a$i5","_a$i5$freeForm","_a$i6","_b$i3","freeForm","comparePhoneNumbers","compareAddresses","getSimilarContacts","itemList","maxScore","maxItem","comp","curScore","activeRole","getActiveRole","excludeHrefs","getExculdeHrefsByType","roleInfoData","firstItem","_getActiveOrgInfo","_getActiveOrgInfo$bus","firstKey","businessInfo","activatedTeams","secondItem","secondKey","thirdItem","_activeRole$firstKey","_activeRole$firstKey$","thirdKey","thirdHref","getPossibleItems","_item$items","_subItem$items","subSubItems","subSubItem","colors","initials","sumInitials","charCodeAt","getMergedPaymentSchedule","paymentSchedulesDict","dueDate","toDisplayDateFormat","mat","prevMat","principal","interest","paidTax","paidInterestLate","removeTime","k","getMergedPrices","prices","pricesDict","amount","strDueDate","prevAmount","getMergedDates","dueDates","mergedDates","getOtherPaymentByType","otherPayment","unit","RATE_PERCENT","getSchedulesByGenerator","fromContract","fromPO","showEmptyError","matchIndices","delivery","deliveryContract","CONTRACT_MODE","requirePO","NOT_REQUIRED_PO","deliverySchedules","paymentSchedules","referralSchedules","initSchedule","contractId","poId","PURCHASE_ORDER_MODE","customer","customerAgent","convert2Array","supplier","supplierAgent","STATUS_TEXT_SUBMITTED","invoiceId","validFrom","validTo","period","costPrincipal","costInterest","costTax","costOther","paymentOption","paymentInitialAmount","paymentInitialOffset","paymentFinalPeriod","paymentFinalOffset","paymentInvoiceOffset","paymentInterestLate","paymentTool","paymentCurrency","bundlePeriodicalDates","REQUEST_ONE_OFF","startDate","endDate","bundleStartDates","getPeriodicalDatesByCount","per","getTimeMovedByDuration","deliveryDueDates","itemPeriod","deliveryDate","itemStartDate","offsetType","itemEndDate","newQuantity","quantity","volumes","DELIVERY_MODE","itemTitle","description","itemDescription","life","itemLife","itemStatus","itemType","collected","itemCollected","netPrice","netValue","dailyIR","rate","periodLengthList","lengthItem","days","referralRate","UPFRONT_PAYMENT","signedDate","supplierSignedAt","customerSignedAt","newDueDate","DAY_MILISECONDS","PAYMENT_MODE","tax","gstRate","interestLate","invoiceOffset","creator","creatorAgent","REFERRAL_MODE","COMPLETION_PAYMENT","finalDate","deliverySchedule","finishDate","newInterest","daysCount","Math","floor","SIMPLE_INTEREST_TYPE","COMPOUND_INTEREST_TYPE","pow","TWOTIME_PAYMENT","firstDueDate","firstPrincipal","firstOtherPayment","finalDueDate","finalPrincipal","finalInterest","finalOtherPayment","PERIOD_PAYMENT","periodicalDueDates","getPeriodOffsetDaysByCount","balance","periodicalPrincipal","periodicalOtherPayment","dateDifference","LENGTH_MONTH","LENGTH_YEAR","st","ed","periodicalInterest","newInstallment","totalInterest","DELIVERY_PAYMENT","ON_COMPLETION","principalPayment","deliverOtherPayment","getPriceList","total","first","last","serviceCost","priceList","firstPay","lastPay","totalPay","lastPrices","lastReferralPrices","totalPayment","totalOther","totalPrincipal","resPriceList","price","resTotal","modification","getDateList","getPeriodOffsetFromDate","fileThreads","chatThread","setThreads","threads","addFilethread","filethread","updateFilethread","addTags","setChatThread","initChatThread","clearFileShareState","loadThreads","getDisplayValue","PRICE_MODIFICATION_DISCOUNT","convertModificationsCurrency","modifications","currency","mod","convertCurrency","isValueError","ModificationInfo","update","setAnchorEl","Boolean","handleChangeInput","debounce","saveValue","minv","maxv","modificationList","PrettySelect","itemComponent","Delete","currentTarget","endIcon","ArrowRightIcon","Menu","disableRipple","favorites","searchHistory","paidProfiles","setFavorites","removeFavorite","addFavorite","fav","addPaidProfile","paidProfile","paid","setPaidProfiles","clearFavoriteState","hist","feedbacks","connections","addNewFeedback","connection","markAsRead","read","cleanUpChat","cleanUserMinInfos","getConversations","msgs","setMessages","_yield$contactApi$get","QBO","XERO","contactApi","loadAllContacts","getSyncStatus","walletId","w","lambdaFirstLoadWallet","setWalletInfo","loadTemplateList","_uid","ts","lambdaGetTemplateList","setTemplateList","setMemberNeedReload","setAssetNeedReload","setPurchaseNeedReload","setFavoriteNeedReload","setFileNeedReload","setKanbanNeedReload","setMSTemplateNeedReload","setPayAccountNeedReload","setRequestNeedReload","initialLoad","checkLive","intervalJobs","CHECK_INTERVAL_MINUTES","setLoadingStatus","LoadingStatus","LOADING","recoverUrl","requestedLocation","requestDraft","loginAsClientToOrg","_gstore$getState$serv","createDirectDraft","signerCount","TICKET_MODE_NORMAL","clearKanbanState","clearMsTemplateState","clearAssetState","clearWalletState","clearOrganizationState","clearUserState","initializeStates","lambdaInitialLoad","ui","vr","verificationResult","setUserInfo","COMPLETED","identityVerified","overallVerificationStatus","setVerificationStatus","VERIFY_COMPLETED","individualResult","setRegisteredVerificationInfo","firstOrg","firstMember","organizationInfo","_firstOrg","_firstOrg2","NONE","initWork","afterInit","_firstMember$tids$fin","firstTeamId","currentTeamId","curOrg","curMembers","curOrgRoles","curTeams","orgUserMinInfos","curRoles","t","feedRes","bannerUrl","localUrl","lambdaGetOrgStructure","userMinInfos","setCurOrgStructure","demander","demanderAgent","demanderSignCount","lambdaCreateRequest","createdReq","setRequestedLocation","reqType","MICROSERVICE_BUNDLE","emptyInterest","tt","emptyContract","generator","FROM_NONE","NONE_TYPE_ITEM","costDescription","STATUS_NORMAL","itemCategory","LENGTH_DAY","PAY_STRIPE","customer_sign","supplier_sign","TRADE_CONTRACT","publishStatus","chatId","scheduled","SCHEDULE_OFF","txHash","getInitializedContract","fiatCurrency","FROM_PROPOSAL","REQUIRED_PO","reqTitle","detail","priceDescription","deliveryContracts","paymentContracts","totalCost","gst","payType","initialAmount","initialOffset","finalPeriod","finalOffset","rateType","itemQuantity","itemCost","_getFormatedPeriodInf","getFormatedPeriodInfo","itemTitles","FROM_REQUEST","createPurchaseItemAfterContractSign","MdInfoOutline","MdLocalShipping","RiMoneyDollarBoxLine","signedBody","_signedBody$itemBrief","_signedBody$itemBrief2","_signedBody$itemBrief3","_signedBody$itemBrief4","_signedBody$itemBrief5","fill","parseFloat","miniInvoices","handleGenerateInvoicesWithHash","_getSchedulesByGenera2","metadataInvoice","scheduleId","invoiceDate","messageInvoice","STATUS_TEXT_POSTED","PopupTooltip","InfoIcon","shares","loadShares","old","deleteShares","updateShares","newShares","updateShare","callLambda","fn","req","Auth","currentCredentials","cred","lambda","Lambda","AWS_REGION","apiVersion","credentials","callParams","FunctionName","InvocationType","reqWithCred","_orgId","Payload","invoke","promise","lambdaRun","notAdd","errorType","lambdaPutUserInfo","LAMBDA_FN","lambdaGetUserInfo","_query","_fieldName","fieldName","lambdaGetLinkedIdentities","_sid","_identities","identities","lambdaCreateNewContact","lambdaUpdateContact","lambdaDeleteContact","lambdaLoadAllContacts","lambdaLoadContactsWithPagination","page","limit","isIndividual","lambdaSearchMicroservicesByQuery","userId","itemTypes","itemRange","idMode","lambdaGetMicroservicesOfPartner","lambdaGetServicesOfBundle","bundle","lambdaGetMicroservicesRelated","lambdaGetMicroserviceById","lambdaCreateMicroservice","lambdaCreateMultiServices","lambdaRemoveShares","lambdaMicroserviceToReady","lambdaUpdateMicroservice","lambdaPublishMicroservice","lambdaRemoveMicroservice","lambdaRemoveMicroserviceFromReq","lambdaShareMicroservices","fromAgent","lambdaContactSyncDisconnect","_platform","platform","lambdaGetAutoMappingInfo","lambdaSyncContact","mappings","lambdaSyncLodgeit","lambdaContactSyncDisable","lambdaContactSyncGetStatus","lambdaContactConnectGetStatus","lambdaCreateSimpleApprising","lambdaCreateCheckApprising","lambdaApprisingMarkAsRemoved","lambdaGetApprisingDetails","lambdaMakeAssignApprisings","addedIds","lambdaCreateOrgFeeTicket","lambdaSignContractMerged","walletAddress","isCreate","ticketId","lambdaSignTicket","signType","ticket","walletOwner","lambdaOrderAssetMerged","reqBody","customerWalletAddr","demanderSigner","lambdaRemoveContract","lambdaCreateMultiInvoices","lambdaSignInvoiceAfterPayMerged","customerWallet","supplierWallet","signedAt","lambdaPublishInvoice","lambdaUpdateInvoice","lambdaUpdateMultiInvoices","lambdaGetInvoiceMappingsByPublisher","lambdaMarkFeedbackAsRead","emailTransportAttachments","lambdaFindAddress","lambdaCreateFilethread","lambdaUploadFileByIPFS","buffer","filename","lambdaDownloadFileByIPFS","hash","lambdaUpdateFilethread","lambdaGetFileshareData","lambdaGetFilethreadById","lambdaSignFilethread","signer","lambdaShareFilethread","toUsers","lambdaMakeLinkContact","lambdaAcceptInvitationOnSingin","asMember","lambdaAcceptOrgInvitationOnSingin","lambdaCreateOrganization","adminRole","teamNames","_users","lambdaCheckRegisterInvite","lambdaGetOrganizationInfo","lambdaGetOrgMemberInfo","_mid","lambdaGetMembersFromOrgs","_oids","lambdaUpdateOrganizationInfo","lambdaCheckDomainNameAvailable","dn","lambdaCheckEmailAvailable","lambdaGetOrgMembersOfUser","lambdaGetOrgMember","_oid","lambdaAddOrgMember","lambdaAddAndDeleteMembers","newMembers","deleteIds","lambdaDeleteOrgMember","lambdaUpdateOrgMember","lambdaActivateOrgMember","_rid","lambdaUpdateOrgMemberWithEmail","lambdaAddOrgMemberRole","lambdaUpdateOrgMemberRole","lambdaDeleteOrgMemberRole","lambdaAddOrgTeam","_teamInfo","_memberIds","memberIds","lambdaUpdateOrgTeam","_tid","_addMemberIds","_deleteMemberIds","addMemberIds","deleteMemberIds","_tids","lambdaDeleteOrgTeam","lambdaGetOrgBannerUploadUrl","lambdaGetTemplateBody","lambdaDeleteTemplate","lambdaCreateTemplate","lambdaDuplicateTemplate","lambdaUpdateTemplate","walletID","lambdaRestoreWallet","walletKey","lambdaUpdateRecentClients","clients","lambdaGetWalletById","owner","tokenName","lambdaGetWalletAddress","lambdaGetWalletBalances","lambdaGetWalletHistory","layer2","lambdaGetWalletTransactions","lambdaMercWithdraw","gasFee","lambdaMercDeposit","lambdaMercTransfer","materialIds","lambdaMercSell","btcAddress","satoshiGasFee","lambdaGetGasPrice","lambdaSearchWallet","lambdaGetPrivateKey","lambdaGetSignature","lambdaSendERC20Token","lambdaSearchAssetsByQuery","lambdaAddNewAsset","lambdaUpdateAsset","lambdaUpdateMultiAssets","lambdaUpdateAssetRelations","add","lambdaRemoveAssetFromReq","lambdaGetAssetsByOwner","lambdaGetAssetsOfPartner","lambdaGetAssetById","lambdaGetAssetForDetail","lambdaGetAssetActionsById","lambdaAcceptSaleForAsset","actionBody","lambdaAcceptLeaseForAsset","lambdaPostponeLeaseForAsset","assetId","lambdaRegisterAssetFromTicket","lambdaReturnLoanedAsset","actionId","lambdaReturnLoanedAssetFromTicket","lambdaGetActionFromTicket","lambdaGetActionFromAsset","lambdaSendRequestMerged","oldRequestId","lambdaGetProcurementOfTicketMerged","lambdaArchiveRequest","lambdaChangeAutoDebitOfRequest","lambdaUpdateRequest","draftId","lambdaCreateMsOffer","customers","lambdaGetRequestsRelated","lambdaGetRequestById","lambdaGetRequestFromChat","lambdaAddConversationToRequst","lambdaRemoveChatFromRequest","lambdaRemoveRequest","lambdaDiscardRequest","lambdaRejectRequest","lambdaUpdatePurchaseItemFromInvoice","miniInvoice","lambdaCreateTodo","lambdaGetTodos","lambdaUpdateTodo","lambdaAddTodoComment","todoId","lambdaAddTodoAttachment","lambdaGetTodoAttachmentUploadUrl","lambdaGetTodoAttachmentUrl","lambdaDeleteTodo","lambdaCreateAnzicTaxonomyInfoByType","lambdaCreateOrUpdateTags","objectId","objectType","names","lambdaGetMultiObjectTags","lambdaCreateStripeAccount","refreshUrl","returnUrl","lambdaRemoveStripeAccount","accountId","lambdaEnableDirectDebitOnStripe","lambdaPendingDDSetupIntentOnStripe","lambdaDisableDirectDebitOnStripe","lambdaGetStripeClientSecret","intentId","lambdaGetStripeAccount","lambdaGetStripeVerifyLink","lambdaPayInvoiceByStripe","successUrl","cancelUrl","lambdaPayMultiInvoicesByStripe","lambdaGetInvitationUrl","lambdaGetInvitationRelated","lambdaUpdateInvitationsWithCommonBody","lambdaCreateInvitations","lambdaCreateInvitationWithEmail","lambdaUpdateInvitationWithEmail","lambdaRemoveInvitation","lambdaRemoveChatFromInvitation","lambdaAcceptInvitation","lambdaGetReferralRelated","lambdaRemoveReferral","lambdaRemoveReferralFromReq","lambdaRemoveChatFromReferral","lambdaCreateReferral","lambdaUpdateReferralsWithCommonBody","lambdaAcceptReferral","lambdaCreateReferralFollowUp","followUp","lambdaCreateReferralChat","lambdaAcceptReferralFollowUp","lambdaRejectReferral","lambdaRejectReferralFollowUp","lambdaGetReferralById","lambdaGetReferralMinById","lambdaGetReferralByUsersAndItem","creatorIds","partnerId","lambdaGetReferralItems","lambdaGetAnnouncements","lambdaGetFavoritesAndPaidProfiles","lambdaRemoveFavorite","lambdaCreateFavorite","lambdaGetBSSearchHistory","lambdaUpdateBSSearchHistory","lambdaPayAndGetProfile","fee","lambdaGetFilethreadUploadUrl","lambdaCreateRating","rating","lambdaCreateFileResources","lambdaGetFileResourcesByItemId","lambdaUpdateFileResources","lambdaRegisterVerification","json","lambdaVerificationSetField","lambdaUpdateShare","lambdaGetInvoices","isRevenue","lambdaGetOrgStatistics","clearJobs","SettingsContext","curTime","financialYearModel","getFullYear","financialMonthModel","getServiceLength","itm","durationType","minutes","getMaxCountInOnePeriod","periodType","serLength","reqLength","checkPeriodOver","_service$json","full","_itm$periodInfo","periodInfo","financialYearModelDefaultperiodInfo","REQUEST_FINANCIAL","year","onceOffModelDefaultPeriodInfo","getTodayDate","getDefaultValues","isOffer","selectedPaymentOption","paymentOptions","selectedPaymentPlatform","platforms","hiMsg","providerName","answers","completedQuestionnaire","getValuesFromRequest","bundleType","MICROSERVICE","getValuesFromRequestEx","getValuesFromMaterial","getServiceQuantity","serCount","REQUEST_CUSTOM","periodCount","periodMinute","perMinute","getBundledServiceQuantity","periodLength","bundleLength","estPriceOfSingleService","calcTotalPrice","baseFee","getPaymentOptionsOfService","getServiceMaterial","parentService","defaultCurrency","getInitialRequestFromService","totalPrice","sum","fullEstPrice","agent","fileName","attachment_uri","REQUESTED","ser","referralId","history","getInitialRequestFromAsset","assetRelations","childAssets","actionType","reqInfo","pricePerValue","rel","childId","childQty","selectedCount","selectedPeriodCount","ASSET","leasePeriodUnit","ASSET_PURPOSE_LEASE","subCategory","fromId","supplierSignCount","getProcurementOfTicket","_yield$lambdaGetProcu","OFFERREQUESTED","OFFERED","REOFFERED","PROGRESSING","ARCHIVED","SCHEDULE_ON","STATUS_TEXT_ACTIVATED","checkPaymentCapability","currencyUnit","currencyUnitToType","fiatCurrencies","setupIntents","CRYPTO_ETHER","eth","CRYPTO_TETHER","usdt","CRYPTO_MRC","mrc","initRequestInfo","serviceId","payAccountNeedReload","s","getBundledServicesPromises","getServiceInfo","getActiveId","getPriceFromService","paymentOptionFromStringToNumber","TICKET_MODE_PROPOSAL","isCompletedQuestionnaire","getPriceFromRequest","getDateFromRequest","getTicketPrice","round","getOrganizationTicket","prevScale","_orgInfo$businessInfo","_prevCard$extra_cost_","_orgInfo$businessInfo2","prevExtraMembers","curCard","scaleCardDetail","totalMembers","curPrice","extra_cost_per_one","extraClients","prevCard","prevPrice","ACCZIOM_ADMIN_ORG_ID","ACCZIOM_ADMIN_ORG_TEAM_ID","ORGANIZATION","toDateString","targetScale","extraScale","eventName","occuredAt","sharedServices","past","present","future","bChanged","loadRelatedServices","setServices","addNewService","addMultiServices","_state$services","svc","removeService","removeServiceByStat","stat","STATUS_TEXT_REMOVED","isInitial","setChanged","publishService","STATUS_TEXT_PUBLISHED","publishedAt","undo","redo","shift","setServiceToReady","_action$payload4","duplicated","oldId","newId","oldService","newService","STATUS_TEXT_READY","assets","leaseActions","addAsset","removeAsset","removeAssetByStat","ast","returnAsset","setAssets","updateAsset","updateMultiAssets","postponeLeaseForDemander","_action$payload5","leaseAction","toAssetId","ACTION_TYPE_LEASE","cards","todos","todo","comments","sour","TODO_RESOURCE_COMMENT","resource","attachments","TODO_RESOURCE_ATTACHMENT","r","createCard","updateCard","card","deleteCard","cardId","addComment","comment","addAttachment","attachment","setParticipants","useTheme","loadingStatus","registeredVerificationInfo","memberNeedReload","connectDlgOpen","CONNECT_DLG_CLOSED","signingOrgInfo","callApiInfo","lastCalledAt","mfaStatus","MFA_STATUS_NOTLOADED","updateUser","setUser","setAvatar","setInviteInfo","setDomainName","setMemberInfos","addMemberInfo","newMemberInfo","updateMemberInfo","oldMemberId","updateMemberStatus","deleteMemberInfo","memberId","setSigningOrgInfo","setSearchInfo","setMFAStatus","updateUserInfo","searchFunc","serviceInfos","organizationInfos","ratings","providerLogo","logo","showRating","statistics","getMyAgentIds","myteam","getMyAgentNames","agentIncludes","agentTeamIds","getChangedAgents","oldAgents","newAgents","oldAgentsArray","oa","na","list","setTemplateBody","createTemplate","l","Amplify","configure","amplifyConfig","handlers","INITIALIZE","LOGIN","LOGINSOCIAL","LOGOUT","REGISTER","VERIFY_CODE","RESEND_CODE","PASSWORD_RECOVERY","PASSWORD_RESET","createContext","login","mfalogin","loginSocial","register","verifyCode","resendCode","passwordRecovery","passwordReset","_useReducer","useReducer","_useReducer2","_user$attributes","_user$attributes2","userid","currentAuthenticatedUser","sub","username","initialize","signIn","challengeName","mfaCode","authedUser","confirmSignIn","IDLE_DURATION_MINUTES","signOut","currentSession","provider","param","_args5","federatedSignIn","customProvider","customState","pwd","fname","mname","lname","isToEmail","signUp","phone_number","autoSignIn","enabled","confirmSignUp","Hub","listen","resendSignUp","forgotPassword","newPassword","forgotPasswordSubmit","Provider","PRODUCT_PAGE_SIZE","ITEM_PAGE_SIZE","STRIPE_PUBLISHABLE_KEY","WALLET_HISTORY_PAGE_SIZE","MESSAGE_MAX_LENGTH","condition","otherwise","getStreetInfoFromAddr","addr","streetInfo","streetNumber","streetName","custom_str","TAB_LABEL_MICROSERVICES","TAB_LABEL_ASSETS","TAB_VALUE_MICROSERVICES","TAB_VALUE_ASSETS","DELETE_MESSAGES_TITLE","DELETE_MESSAGES_CONTENT","DELETE_ROLE_TITLE","DELETE_ROLE_CONTENT","DELETE_TEAM_TITLE","DELETE_TEAM_CONTENT","DELETE_MEMBER_TITLE","DELETE_MEMBER_CONTENT","DELETE_CONTACT_TITLE","DELETE_CONTACT_CONTENT","DELETE_THREAD_TITLE","DELETE_THREAD_CONTENT","LEAVE_THREAD_TITLE","LEAVE_THREAD_CONTENT","invitorName","getProposalSubject","receiver","receiverName","sentence1","sentence2","getConnectEmailBody","sentence4","srcText","previousWasASpace","destText","oneLetter","charAt","isNullForHtmlText","inputText","contactFields","needed","emptyAddress","addressLine2","initializedContact","legalName","casualName","physicalAddress","postalAddress","additionalAddresses","primaryPhone","mobilePhone","faxPhone","ddiPhone","additionalPhones","primaryEmail","alternativeEmail","additionalEmails","website","entityType","contactSubKeys","FIAT_AUD","FIAT_USD","tokenData","cryptoCurrencies","fiatData","currencyTypeToUnit","defaultRoleInfo","clientDefault","clientOrgDefault","memberEnabled","memberDefault","memberAdmin","getRoleInfo","checkItem","desc","REOFFERDRAFT","OFFERDRAFT","OFFERREQUESTDRAFT","DRAFT","REJECTED","NEGOTIATION","CUSTOMER_REMOVED","SUPPLIER_REMOVED","ASSET_BUNDLE","CHAT","CONTRACT","FILETHREAD","TICKET","INVOICE","PURCHASEORDER","FRIEND","REFERRAL","SCHEDULE","BS_FAVORITE","ORGJOIN","itemTypeInfo","rColor","null2empty","hasFilledChild","repeat","untitled","ACCZIOM_CATEGORY","ACCZIOM_ALL","ORG_TYPES","getUserTypeByType","USUAL_CHAT_THREAD","FRIEND_CHAT_THREAD","REFERRAL_CHAT_THREAD","ALL_MEMBER_MODE","ONLY_ORG_MODE","PRICE_PER_UNIT","DEFAULT_NOTIFICATION_TIME","NOTIFICATION_TIME_LIST","INTEREST","GST","interestTypeModel","paymentPointDelivery","MINUTE_MILISECONDS","PAY_BIZCORE","PAY_CRYPTOCURRENCY","fullTags","STRIPE_FEE","STRIPE_MAX_CHARGE","LENGTH_WEEK","LENGTH_FORTNIGHT","adverb","STATUS_TEXT_WAITING","STATUS_TEXT_PAID","STATUS_TEXT_CONFIRMED","STATUS_TEXT_EDIT","CUSTOMER_PARAM_TYPE_EMAIL","CUSTOMER_PARAM_TYPE_CONTACT","CUSTOMER_PARAM_TYPE_CLIENT","STATUS_DECLINED","STATUS_LOANED","STATUS_LEASED","STATUS_EXPIRED","STATUS_COMPLETED","STATUS_AVAILABLE","STATUS_RUNNING","STATUS_PENDING_TO_ORG","STATUS_ALL","TEAM_ITEM_MODE","ORG_ITEM_MODE","ONLY_ITEM_MODE","ONLY_BUNDLE_MODE","BOTH_ITEM_BUNDLE_MODE","serviceStatusList","subType","HPCALC_TOOL_DLG","SUPERANNUATION_TOOL_DLG","HPANAL_TOOL_DLG","UI_PADDING","SIDEBAR_WIDTH","CopyToClipboard","clipboard","writeText","IPFS_UPLOAD","AWS_UPLOAD","VERIFY_NONE","VERIFY_PROGRESSING","SERVICE_REQUEST_STEP_CONFIRMED","SERVICE_REQUEST_STEP_COMPLETED","SORT_OPTIONS","MSG_NONE","MSG_REMOVE","MSG_REMOVE_WITH_OTHER","MSG_REJECT","MSG_SUPPRESS","MSG_NOT_REMOVE","MSG_LEAVE","MSG_ARCHIVE","MSG_NAVIGATE","MSG_REJECT_FOLLOWUP","MSG_PAYWARNING","MSG_LEVEL_UP","MSG_NOT_INVITE","SUBMIT_NONE","SUBMIT_TO_READY","SUBMIT_PUBLISH","SUBMIT_DUPLICATE","SUBMIT_REMOVE","SUBMIT_SIGN","SUBMIT_PURCHASE","SUBMIT_REJECT","SUBMIT_DOWNLOAD","SUBMIT_CREATE","SUBMIT_AGAIN","SUBMIT_ARCHIVE","SUBMIT_REJECT_FOLLOWUP","SUBMIT_SUPPRESS","SUBMIT_REGISTER","SUBMIT_RETURN","SUBMIT_CHAT","SUBMIT_POSTPONE","SUBMIT_CHANGE","SUBMIT_ACCEPT","SUBMIT_ACCEPT_FOLLOWUP","SHOW_NONE","SHOW_DETAIL","SHOW_VERIFY","SHOW_SHARE","SHOW_INVITE_MSG","SHOW_ADD_ITEM","SHOW_INVITE_USER","BEFORE_RESULT","RESULT_FALSE","RESULT_TRUE","etherscanEndpoint","ASSET_PURPOSE_KEEP","ASSET_PURPOSE_SALE","assetPurposeList","assetStatusList","RESOURCE_FILE_TYPE_IMAGE","RESOURCE_FILE_TYPE_VIDEO","RESOURCE_FILE_TYPE_FILE","ACTION_TYPE_CREATE","ACTION_TYPE_REMOVE","ACTION_TYPE_INCREASE","ACTION_TYPE_DECREASE","ACTION_TYPE_SELL","ACTION_TYPE_POSTPONE","ACTION_TYPE_RESEND","BANNER_RATIO","_text","_text2","PLATFORM_QBO","PLATFORM_XERO","INVITATION_EXPIRE_DAY","SELECT_PARTNER_ORG_MODE","SELECT_PARTNER_CLIENT_MODE","SELECT_PARTNER_PARTNER_MODE","SELECT_PARTNER_MEMBER_MODE","SELECT_PARTNER_SUPPLIER_MODE","referralStatusList","memberStatusList","possibleIds","defaultTeamData","scheduleDiagramStyle","dayWidth","lineHeight","timeHeight","titleWidth","barPadding","barBorderRadius","barColor","weekLineColor","weekendColor","detailTextColor","payColor","paidColor","payWaitingColor","SIGNTYPE_SUPPLIER","SIGNTYPE_DEMANDER","NO_TEAMS_TEXT","ACCZIOM_TO_USER","ACTIVITY_APPRISING","ACTIVITY_CHAT","ACTIVITY_FEEDBACK","ACCZIOM_ORG_FEE_REFERRAL_ID","ORG_REFERRAL_FEE_RATE","ORG_SCALE_NULL","ORG_SCALE_TINY","ORG_SCALE_ENTERPRISE","partnerCount","MFA_STATUS_DISABLED","MFA_STATUS_SMS","MFA_STATUS_TOTP","CONNECT_DLG_SIGNIN","SHARE_TO_ALL","SHARE_TO_CATEGORY","SHARE_TO_USER","SERVICE_BUNDLE_SHOW_COUNT","_store$getState$organ","_store$getState$organ2","activeMember","initialized","isOwner","_store$getState$organ3","_store$getState$organ4","clientMode","memberMode","_store$getState$organ5","_store$getState$organ6","getActiveMemberItemsPinned","_store$getState$organ7","itemsPinned","_store$getState$organ8","_store$getState$organ9","activeOrg","enabledRole","clientOrgRole","memberRole","_activeOrg$suppliers","suppliers","getActiveCategory","_store$getState$organ10","getActiveSuppliers","_store$getState$organ11","candidates","miniUser","getActiveDisplayName","jobList","interval","initial","_len","args","_key","wait","job","initialSettings","compact","saveSettings","setSettings","restoredSettings","storedData","localStorage","getItem","restoreSettings","updatedSettings","setItem","storeSettings","Consumer","CryptoWallet","createSvgIcon","xmlns","viewBox","fillRule","d","clipRule","getGasFee","record","bs_uri","mrcPort","gasLimit","gasFeePayOption","GasLimit","onSetGasLimit","gasParams","estimateDisabled","minGas","isEstimatingGasFee","setEstimatingGasFEe","payOption","onEstimateGasFee","gf","select","opt","newValue","helperText","SyncIcon","MERcTransferDlg","_wallet$recentClients","setTo","showCancelButton","setShowCancelButton","setAmount","isAvailable","setAvailable","results","setResults","showResults","setShowResults","isSendTotal","setSendTotal","setSearching","isChecking","setChecking","setGasLimit","balances","transactions","amountError","updateRecentClients","recentClients","userMinInfo","x","y","handleToggleSendTotal","_document$getElementB","layer1","handleDone","setTransactions","toId","time","ledger","txn","handleChangeAmount","nv","totalValue","checkTo","searchTo","receivers","r0","r1","wallat","notLoadedInfos","_document$getElementB2","CheckCircle","Input","disableUnderline","SmallUserInfo","margin","Table","TableHead","TableRow","TableCell","TableBody","hover","userWallet","Grid","container","border","recent","cliInfo","defaultInfo","handleChooseRecent","align","SendDlg","curToken","isEstimateGas","setEstimateGas","isEstimating","setEstimating","estimatedFee","setEstimatedFee","estimate","re","nonEthBal","handleNext","_document$getElementB3","handleReject","_document$getElementB4","setInterval","clearInterval","startIcon","BuyMERcDialog","setAddress","setLayer2","isQRShowed","setQRShowed","setMsg","addressError","gasError","valueError","btcReserveAddress","btc","btc_address","mrc_address","DialogContent","endAdornment","btc_tx","QRCodeCanvas","fgColor","DialogActions","mrc_tx","SellMERcDialog","setSatoshiGasFee","SatoshiFee","MRCDepositDialog","setFee","isMRCL0","MRCWithdrawDialog","CryptoWalletIcon","FiatIcon","WalletSideBar","activeTokenName","isDlgOpened","setDlgOpened","loadBalance","setActiveTokenName","setMRCL0","setBalances","RefreshIcon","CurrencyBitcoinIcon","Skeleton","getFormatedPrice","AttachMoneyIcon","aws_project_region","aws_cognito_identity_pool_id","aws_cognito_region","aws_user_pools_id","aws_user_pools_web_client_id","oauth","scope","redirectSignIn","redirectSignOut","responseType","federationTarget","cookieStorage","secure","sameSite","hpcalc_api_domain","hpanal_api_domain","lifeexp_api_domain","superann_api_domain","websocket_url","map_image_domain","os_uri","validate_human_uri","channel_uri","sync_connect_uri","sync_material_uri","show_material_uri","import_sample_file_uri","notification_websocket_url","mrc_websocket_url","aws_filethread_url","ipfs_filethread_url","org_banner_uri","addresshelper_uri","googleMapApiKey","QBO_URL_PREFIX","PRODUCTION_APP","SANDBOX_APP","XERO_DOMAIN","bsPort","ContactApi","statusCode","getDefaultPaymentOptions","paymentTemplates","getDefaultEngagementLetter","getDefaultAcceptLetter","acceptLetterTemplate","getEmptyService","defaultCode","orgCode","entity","baseFeeDescription","engagementLetter","acceptLetter","showPrice","showSchedule","NOT_SUBMITTING","NEXT_SUBMITTING","PREV_SUBMITTING","SERVICE_INFO_STEP","SERVICE_TEMPLATE_STEP","SERVICE_COLLECTION_STEP","SERVICE_PAYMENT_STEP","SERVICE_ENGAGEMENT_STEP","SERVICE_ACCEPT_STEP","SINGLE_SERVICE_EDIT_STEPS","HiOutlineTemplate","IoNewspaperOutline","FiCheckCircle","BUNDLE_SERVICE_EDIT_STEPS","ImMakeGroup","getServiceCycleText","servicePeriod","infoToast","UserAdd","initialRate","AUD","USD","ETH","USDT","MERC","curOrgNeedReload","curExRate","cmpRoleFn","setOrgsNeedReload","updateOrganizationInfo","newOrgInfo","oldOrgId","createOrganizationInfo","_state$teamInfos","updateCategoryInfo","oldCategoryIndex","updateMemberRoleInCurOrg","newRole","oldRoleId","addMemberToCurOrg","newMember","updateMemberInCurOrg","updateOrgMembers","_state$membersInCurOr","mids","deleteMemberFromCurOrg","addMemberRoleToCurOrg","deleteMemberRoleFromCurOrg","addTeamToCurOrg","newTeam","deleteTeamFromCurOrg","updateTeamInCurOrg","oldTeam","oldMids","newMids","deleteMids","addMids","updateMemberPinnedItem","memberInCurOrg","setItemsPinned","setUserMinInfos","newInfo","oldInfo","_Object$keys","_members","_orgs","_categories","_roles","_teams","updateMemberRoleInfo","rateData","cmpConvFn","isNewChatOpen","isInviteOpen","msgEditingItem","msgQuotingItem","tagsLoaded","selectedMode","cleanAll","isJoined","minimizeMessages","_conv$messages","_conv$messages2","sortThread","setMsgEditingItem","setMsgQuotingItem","setNewChatDlgStatus","setInviteDlgStatus","_conv$participants","threadId","setTagsLoadState","num","_isOnline","_recipients","_uids","openNewChatDlg","show","openInviteDlg","_msg","_data","_msgId","setQuotingMsg","dat","getSidebarApprisingCount","LoadingItem","onNoClick","_props$noButtonTitle","noButtonTitle","_props$yesButtonTitle","yesButtonTitle","handleYesClick","handleNoClick","alpha","WarningIcon","keyValue","ItemComponent","hasBorder","inline","_items$","_items$2","FormControl","InputLabel","Select","labelId","SearchContext","Search","getAddress","country_name","postal","country_code","country_calling_code","getClientAddress","getAddressFromContact","foundAddr","getAddressFromUser","_u$city","_u$country","_u$country2","_getCountry2","foundEmail","isMounted","CurrencyItem","uploadAttachment","attachUri","createDirectRequest","files","attachmentUri","createRequestFromRequest","reqTemplate","createDraftFromRequest","newDraft","offerId","Actions","showSubmit","onGotoSubmit","goBackUrl","isSavingDraft","setSavingDraft","_useCookies","useCookies","_useCookies2","cookies","setCookie","isLoginOpened","setLoginOpened","activeAgentInfo","successDirectDebit","ticketNeedReload","showTooltip","setShowTooltip","handleSaveDraft","_reqBody","handleDraftNotify","handleSendRequest","offsetHeight","behavior","t1","offsetTop","uncompletedEleId","uncompletedBs","ms_draft_notify","TooltipDlg","lblOk","lblClose","onOk","SingButtonPopup","onOkClick","AlertLoginDialog","handleSign","ConnectDialog","showPassword","setShowPassword","socialLoginType","setSocialLoginType","penName","joinDetail","setJoinDetail","addressSuggestions","setAddressSuggestions","addressAnchorEl","setAddressAnchorEl","isSending","setSending","setIndividual","isGettingAddr","setGettingAddr","isLogin","orgName","setDefaultAddress","requireError","updateJoinDetail","_objectSpread2","countryCode","loginWithGoogle","loginWithFacebook","loginWithMicrosoft","joinAsClient","CloseIcon","validationSchema","Yup","max","required","handleBlur","handleChange","touched","autoComplete","xs","component","Microsoft","Visibility","VisibilityOff","Link","RouterLink","Switch","MailIcon","addrs","PlaceIcon","Autocomplete","getOptionLabel","option","renderInput","ClickAwayListener","onClickAway","Popper","placement","Paper","temp","fullAddress","locality","postcode","offsetMs","_periodLengthList$fin","periodMs","fromDate","getDay","getDate","getMonth","toOrdinal","ceil","setMonth","setFullYear","monthToNum","January","February","March","April","May","June","July","August","September","October","November","December","monthDays","startMonth","endMonth","crossIdx","InlineTypo","styled","PTypo","PText","setValue","min","nval","parseInt","PSelect","PInput","tip","PChildCont","isInput","mbDoubled","PItemCont","half","Radio","PTwoItem","item0","item1","CurrencyItemWithRate","CheckIcon","displayUnit","isEmpty","PaymentPad","isAutoDebit","setAutoDebit","spo","bspo","vals","currencySelected","cur","updateCurrency","newCurrencies","readOnly","abs","Portal","Backdrop","version","chatDateFormat","date","format","dateTimeFormat","getDateString","ausFormatToDate","_date$split","_date$split2","getTodayDateStr","updateWallet","setWallet","setActiveWallet","DialogContentText","isBatch","initialStr","orgIconSize","SiGroupon","bottom","UserAvatarWithOrg","orgSize","SmallUserInfoGrouped","ProfileInfo","MemberPopover","memberToMiniUser","BorderColorIcon","LinkIcon","SmallMemberInfoWithDetail","ProfilePopover","_loadedInfo$published","_loadedInfo$published2","_loadedInfo$published3","_loadedInfo$published4","_loadedInfo$published5","showMe","loadedInfo","setLoadedInfo","isLoadFailed","setLoadFailed","loadInfo","loadedOrgInfo","_loadedOrgInfo","loadedUserInfo","isOrgMember","WebkitFilter","publishedProfile","CakeIcon","dateOfBirth","OpenInNewIcon","myUrl","animation","SmallUserInfoWithDetail","published","accziom","hideUnit","strRet","numeral","getFormatedCurrencyUnit","setError","inviteParams","Buffer","toString","subdomain"],"mappings":"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,KAAM,WACNy2B,KAAM,QACN/0C,MAAO,MAET,CACEse,KAAM,aACNy2B,KAAM,OACN/0C,MAAO,MAET,CACEse,KAAM,sBACNy2B,KAAM,QACN/0C,MAAO,MAET,CACEse,KAAM,YACNy2B,KAAM,MACN/0C,MAAO,MAET,CACEse,KAAM,UACNy2B,KAAM,OACN/0C,MAAO,MAET,CACEse,KAAM,QACNy2B,KAAM,OACN/0C,MAAO,MAET,CACEse,KAAM,YACNy2B,KAAM,MACN/0C,MAAO,MAET,CACEse,KAAM,UACNy2B,KAAM,MACN/0C,MAAO,MAET,CACEse,KAAM,aACNy2B,KAAM,OACN/0C,MAAO,MAET,CACEse,KAAM,UACNy2B,KAAM,QACN/0C,MAAO,MAET,CACEse,KAAM,UACNy2B,KAAM,OACN/0C,MAAO,MAET,CACEse,KAAM,aACNy2B,KAAM,OACN/0C,MAAO,MAET,CACEse,KAAM,WACNy2B,KAAM,QACN/0C,MAAO,MAET,CACEse,KAAM,UACNy2B,KAAM,OACN/0C,MAAO,MAET,CACEse,KAAM,UACNy2B,KAAM,MACN/0C,MAAO,MAET,CACEse,KAAM,SACNy2B,KAAM,OACN/0C,MAAO,MAET,CACEse,KAAM,QACNy2B,KAAM,OACN/0C,MAAO,MAET,CACEse,KAAM,UACNy2B,KAAM,QACN/0C,MAAO,MAET,CACEse,KAAM,SACNy2B,KAAM,OACN/0C,MAAO,MAET,CACEse,KAAM,kCACNy2B,KAAM,OACN/0C,MAAO,MAET,CACEse,KAAM,yBACNy2B,KAAM,OACN/0C,MAAO,MAET,CACEse,KAAM,WACNy2B,KAAM,OACN/0C,MAAO,MAET,CACEse,KAAM,SACNy2B,KAAM,MACN/0C,MAAO,MAET,CACEse,KAAM,iCACNy2B,KAAM,OACN/0C,MAAO,MAET,CACEse,KAAM,oBACNy2B,KAAM,OACN/0C,MAAO,MAET,CACEse,KAAM,WACNy2B,KAAM,OACN/0C,MAAO,MAET,CACEse,KAAM,eACNy2B,KAAM,OACN/0C,MAAO,MAET,CACEse,KAAM,UACNy2B,KAAM,OACN/0C,MAAO,MAET,CACEse,KAAM,WACNy2B,KAAM,OACN/0C,MAAO,MAET,CACEse,KAAM,WACNy2B,KAAM,OACN/0C,MAAO,MAET,CACEse,KAAM,SACNy2B,KAAM,KACN/0C,MAAO,MAET,CACEse,KAAM,aACNy2B,KAAM,OACN/0C,MAAO,MAET,CACEse,KAAM,iBACNy2B,KAAM,QACN/0C,MAAO,MAET,CACEse,KAAM,2BACNy2B,KAAM,OACN/0C,MAAO,MAET,CACEse,KAAM,OACNy2B,KAAM,OACN/0C,MAAO,MAET,CACEse,KAAM,QACNy2B,KAAM,MACN/0C,MAAO,MAET,CACEse,KAAM,QACNy2B,KAAM,MACN/0C,MAAO,MAET,CACEse,KAAM,mBACNy2B,KAAM,MACN/0C,MAAO,MAET,CACEse,KAAM,0BACNy2B,KAAM,MACN/0C,MAAO,MAET,CACEse,KAAM,WACNy2B,KAAM,MACN/0C,MAAO,MAET,CACEse,KAAM,UACNy2B,KAAM,OACN/0C,MAAO,MAET,CACEse,KAAM,QACNy2B,KAAM,OACN/0C,MAAO,MAET,CACEse,KAAM,8CACNy2B,KAAM,OACN/0C,MAAO,MAET,CACEse,KAAM,eACNy2B,KAAM,OACN/0C,MAAO,MAET,CACEse,KAAM,aACNy2B,KAAM,OACN/0C,MAAO,MAET,CACEse,KAAM,gBACNy2B,KAAM,OACN/0C,MAAO,MAET,CACEse,KAAM,UACNy2B,KAAM,OACN/0C,MAAO,MAET,CACEse,KAAM,OACNy2B,KAAM,MACN/0C,MAAO,MAET,CACEse,KAAM,SACNy2B,KAAM,OACN/0C,MAAO,MAET,CACEse,KAAM,iBACNy2B,KAAM,OACN/0C,MAAO,MAET,CACEse,KAAM,UACNy2B,KAAM,MACN/0C,MAAO,MAET,CACEse,KAAM,WACNy2B,KAAM,OACN/0C,MAAO,MAET,CACEse,KAAM,WACNy2B,KAAM,QACN/0C,MAAO,MAET,CACEse,KAAM,qBACNy2B,KAAM,QACN/0C,MAAO,MAET,CACEse,KAAM,UACNy2B,KAAM,OACN/0C,MAAO,MAET,CACEse,KAAM,QACNy2B,KAAM,MACN/0C,MAAO,MAET,CACEse,KAAM,cACNy2B,KAAM,OACN/0C,MAAO,MAET,CACEse,KAAM,oBACNy2B,KAAM,OACN/0C,MAAO,MAET,CACEse,KAAM,UACNy2B,KAAM,OACN/0C,MAAO,MAET,CACEse,KAAM,UACNy2B,KAAM,OACN/0C,MAAO,MAET,CACEse,KAAM,WACNy2B,KAAM,OACN/0C,MAAO,MAET,CACEse,KAAM,8BACNy2B,KAAM,OACN/0C,MAAO,MAET,CACEse,KAAM,gBACNy2B,KAAM,OACN/0C,MAAO,MAET,CACEse,KAAM,OACNy2B,KAAM,OACN/0C,MAAO,MAET,CACEse,KAAM,UACNy2B,KAAM,OACN/0C,MAAO,MAET,CACEse,KAAM,SACNy2B,KAAM,MACN/0C,MAAO,MAET,CACEse,KAAM,gBACNy2B,KAAM,OACN/0C,MAAO,MAET,CACEse,KAAM,mBACNy2B,KAAM,OACN/0C,MAAO,MAET,CACEse,KAAM,QACNy2B,KAAM,OACN/0C,MAAO,MAET,CACEse,KAAM,SACNy2B,KAAM,OACN/0C,MAAO,MAET,CACEse,KAAM,UACNy2B,KAAM,OACN/0C,MAAO,MAET,CACEse,KAAM,UACNy2B,KAAM,MACN/0C,MAAO,MAET,CACEse,KAAM,QACNy2B,KAAM,OACN/0C,MAAO,MAET,CACEse,KAAM,YACNy2B,KAAM,OACN/0C,MAAO,MAET,CACEse,KAAM,SACNy2B,KAAM,MACN/0C,MAAO,MAET,CACEse,KAAM,YACNy2B,KAAM,OACN/0C,MAAO,MAET,CACEse,KAAM,UACNy2B,KAAM,QACN/0C,MAAO,MAET,CACEse,KAAM,aACNy2B,KAAM,OACN/0C,MAAO,MAET,CACEse,KAAM,OACNy2B,KAAM,QACN/0C,MAAO,MAET,CACEse,KAAM,YACNy2B,KAAM,OACN/0C,MAAO,MAET,CACEse,KAAM,WACNy2B,KAAM,MACN/0C,MAAO,MAET,CACEse,KAAM,SACNy2B,KAAM,OACN/0C,MAAO,MAET,CACEse,KAAM,gBACNy2B,KAAM,OACN/0C,MAAO,MAET,CACEse,KAAM,SACNy2B,KAAM,OACN/0C,MAAO,MAET,CACEse,KAAM,QACNy2B,KAAM,OACN/0C,MAAO,MAET,CACEse,KAAM,gCACNy2B,KAAM,OACN/0C,MAAO,MAET,CACEse,KAAM,WACNy2B,KAAM,OACN/0C,MAAO,MAET,CACEse,KAAM,YACNy2B,KAAM,OACN/0C,MAAO,MAET,CACEse,KAAM,UACNy2B,KAAM,MACN/0C,MAAO,MAET,CACEse,KAAM,UACNy2B,KAAM,OACN/0C,MAAO,MAET,CACEse,KAAM,QACNy2B,KAAM,MACN/0C,MAAO,MAET,CACEse,KAAM,YACNy2B,KAAM,MACN/0C,MAAO,MAET,CACEse,KAAM,yCACNy2B,KAAM,MACN/0C,MAAO,MAET,CACEse,KAAM,OACNy2B,KAAM,OACN/0C,MAAO,MAET,CACEse,KAAM,UACNy2B,KAAM,OACN/0C,MAAO,MAET,CACEse,KAAM,cACNy2B,KAAM,MACN/0C,MAAO,MAET,CACEse,KAAM,SACNy2B,KAAM,OACN/0C,MAAO,MAET,CACEse,KAAM,QACNy2B,KAAM,MACN/0C,MAAO,MAET,CACEse,KAAM,UACNy2B,KAAM,QACN/0C,MAAO,MAET,CACEse,KAAM,QACNy2B,KAAM,MACN/0C,MAAO,MAET,CACEse,KAAM,SACNy2B,KAAM,MACN/0C,MAAO,MAET,CACEse,KAAM,SACNy2B,KAAM,OACN/0C,MAAO,MAET,CACEse,KAAM,aACNy2B,KAAM,MACN/0C,MAAO,MAET,CACEse,KAAM,QACNy2B,KAAM,OACN/0C,MAAO,MAET,CACEse,KAAM,WACNy2B,KAAM,OACN/0C,MAAO,MAET,CACEse,KAAM,+CACNy2B,KAAM,OACN/0C,MAAO,MAET,CACEse,KAAM,iCACNy2B,KAAM,MACN/0C,MAAO,MAET,CACEse,KAAM,SACNy2B,KAAM,OACN/0C,MAAO,MAET,CACEse,KAAM,aACNy2B,KAAM,OACN/0C,MAAO,MAET,CACEse,KAAM,OACNy2B,KAAM,OACN/0C,MAAO,MAET,CACEse,KAAM,SACNy2B,KAAM,OACN/0C,MAAO,MAET,CACEse,KAAM,UACNy2B,KAAM,OACN/0C,MAAO,MAET,CACEse,KAAM,UACNy2B,KAAM,OACN/0C,MAAO,MAET,CACEse,KAAM,UACNy2B,KAAM,OACN/0C,MAAO,MAET,CACEse,KAAM,yBACNy2B,KAAM,OACN/0C,MAAO,MAET,CACEse,KAAM,gBACNy2B,KAAM,OACN/0C,MAAO,MAET,CACEse,KAAM,YACNy2B,KAAM,OACN/0C,MAAO,MAET,CACEse,KAAM,aACNy2B,KAAM,OACN/0C,MAAO,MAET,CACEse,KAAM,QACNy2B,KAAM,OACN/0C,MAAO,MAET,CACEse,KAAM,YACNy2B,KAAM,OACN/0C,MAAO,MAET,CACEse,KAAM,aACNy2B,KAAM,OACN/0C,MAAO,MAET,CACEse,KAAM,SACNy2B,KAAM,OACN/0C,MAAO,MAET,CACEse,KAAM,WACNy2B,KAAM,MACN/0C,MAAO,MAET,CACEse,KAAM,WACNy2B,KAAM,OACN/0C,MAAO,MAET,CACEse,KAAM,OACNy2B,KAAM,OACN/0C,MAAO,MAET,CACEse,KAAM,QACNy2B,KAAM,OACN/0C,MAAO,MAET,CACEse,KAAM,mBACNy2B,KAAM,OACN/0C,MAAO,MAET,CACEse,KAAM,aACNy2B,KAAM,OACN/0C,MAAO,MAET,CACEse,KAAM,aACNy2B,KAAM,OACN/0C,MAAO,MAET,CACEse,KAAM,YACNy2B,KAAM,OACN/0C,MAAO,MAET,CACEse,KAAM,UACNy2B,KAAM,OACN/0C,MAAO,MAET,CACEse,KAAM,SACNy2B,KAAM,MACN/0C,MAAO,MAET,CACEse,KAAM,6CACNy2B,KAAM,OACN/0C,MAAO,MAET,CACEse,KAAM,UACNy2B,KAAM,OACN/0C,MAAO,MAET,CACEse,KAAM,SACNy2B,KAAM,OACN/0C,MAAO,MAET,CACEse,KAAM,WACNy2B,KAAM,OACN/0C,MAAO,MAET,CACEse,KAAM,aACNy2B,KAAM,OACN/0C,MAAO,MAET,CACEse,KAAM,aACNy2B,KAAM,QACN/0C,MAAO,MAET,CACEse,KAAM,UACNy2B,KAAM,OACN/0C,MAAO,MAET,CACEse,KAAM,aACNy2B,KAAM,OACN/0C,MAAO,MAET,CACEse,KAAM,UACNy2B,KAAM,MACN/0C,MAAO,MAET,CACEse,KAAM,UACNy2B,KAAM,OACN/0C,MAAO,MAET,CACEse,KAAM,QACNy2B,KAAM,OACN/0C,MAAO,MAET,CACEse,KAAM,QACNy2B,KAAM,OACN/0C,MAAO,MAET,CACEse,KAAM,cACNy2B,KAAM,MACN/0C,MAAO,MAET,CACEse,KAAM,uBACNy2B,KAAM,OACN/0C,MAAO,MAET,CACEse,KAAM,gBACNy2B,KAAM,OACN/0C,MAAO,MAET,CACEse,KAAM,cACNy2B,KAAM,MACN/0C,MAAO,MAET,CACEse,KAAM,YACNy2B,KAAM,OACN/0C,MAAO,MAET,CACEse,KAAM,QACNy2B,KAAM,OACN/0C,MAAO,MAET,CACEse,KAAM,UACNy2B,KAAM,OACN/0C,MAAO,MAET,CACEse,KAAM,OACNy2B,KAAM,OACN/0C,MAAO,MAET,CACEse,KAAM,iBACNy2B,KAAM,OACN/0C,MAAO,MAET,CACEse,KAAM,2BACNy2B,KAAM,QACN/0C,MAAO,MAET,CACEse,KAAM,SACNy2B,KAAM,MACN/0C,MAAO,MAET,CACEse,KAAM,OACNy2B,KAAM,OACN/0C,MAAO,MAET,CACEse,KAAM,WACNy2B,KAAM,MACN/0C,MAAO,MAET,CACEse,KAAM,QACNy2B,KAAM,OACN/0C,MAAO,MAET,CACEse,KAAM,kCACNy2B,KAAM,OACN/0C,MAAO,MAET,CACEse,KAAM,SACNy2B,KAAM,OACN/0C,MAAO,MAET,CACEse,KAAM,mBACNy2B,KAAM,OACN/0C,MAAO,MAET,CACEse,KAAM,WACNy2B,KAAM,OACN/0C,MAAO,MAET,CACEse,KAAM,OACNy2B,KAAM,MACN/0C,MAAO,MAET,CACEse,KAAM,cACNy2B,KAAM,MACN/0C,MAAO,MAET,CACEse,KAAM,WACNy2B,KAAM,OACN/0C,MAAO,MAET,CACEse,KAAM,SACNy2B,KAAM,MACN/0C,MAAO,MAET,CACEse,KAAM,WACNy2B,KAAM,OACN/0C,MAAO,MAET,CACEse,KAAM,cACNy2B,KAAM,QACN/0C,MAAO,MAET,CACEse,KAAM,QACNy2B,KAAM,OACN/0C,MAAO,MAET,CACEse,KAAM,UACNy2B,KAAM,MACN/0C,MAAO,MAET,CACEse,KAAM,SACNy2B,KAAM,KACN/0C,MAAO,MAET,CACEse,KAAM,SACNy2B,KAAM,OACN/0C,MAAO,MAET,CACEse,KAAM,UACNy2B,KAAM,OACN/0C,MAAO,MAET,CACEse,KAAM,mBACNy2B,KAAM,OACN/0C,MAAO,MAET,CACEse,KAAM,+CACNy2B,KAAM,OACN/0C,MAAO,MAET,CACEse,KAAM,wBACNy2B,KAAM,QACN/0C,MAAO,MAET,CACEse,KAAM,cACNy2B,KAAM,QACN/0C,MAAO,MAET,CACEse,KAAM,eACNy2B,KAAM,OACN/0C,MAAO,MAET,CACEse,KAAM,4BACNy2B,KAAM,OACN/0C,MAAO,MAET,CACEse,KAAM,mCACNy2B,KAAM,QACN/0C,MAAO,MAET,CACEse,KAAM,QACNy2B,KAAM,OACN/0C,MAAO,MAET,CACEse,KAAM,aACNy2B,KAAM,OACN/0C,MAAO,MAET,CACEse,KAAM,wBACNy2B,KAAM,OACN/0C,MAAO,MAET,CACEse,KAAM,eACNy2B,KAAM,OACN/0C,MAAO,MAET,CACEse,KAAM,UACNy2B,KAAM,OACN/0C,MAAO,MAET,CACEse,KAAM,SACNy2B,KAAM,OACN/0C,MAAO,MAET,CACEse,KAAM,aACNy2B,KAAM,OACN/0C,MAAO,MAET,CACEse,KAAM,eACNy2B,KAAM,OACN/0C,MAAO,MAET,CACEse,KAAM,YACNy2B,KAAM,MACN/0C,MAAO,MAET,CACEse,KAAM,WACNy2B,KAAM,OACN/0C,MAAO,MAET,CACEse,KAAM,WACNy2B,KAAM,OACN/0C,MAAO,MAET,CACEse,KAAM,kBACNy2B,KAAM,OACN/0C,MAAO,MAET,CACEse,KAAM,UACNy2B,KAAM,OACN/0C,MAAO,MAET,CACEse,KAAM,eACNy2B,KAAM,MACN/0C,MAAO,MAET,CACEse,KAAM,cACNy2B,KAAM,OACN/0C,MAAO,MAET,CACEse,KAAM,+CACNy2B,KAAM,OACN/0C,MAAO,MAET,CACEse,KAAM,QACNy2B,KAAM,MACN/0C,MAAO,MAET,CACEse,KAAM,YACNy2B,KAAM,MACN/0C,MAAO,MAET,CACEse,KAAM,QACNy2B,KAAM,OACN/0C,MAAO,MAET,CACEse,KAAM,WACNy2B,KAAM,OACN/0C,MAAO,MAET,CACEse,KAAM,yBACNy2B,KAAM,MACN/0C,MAAO,MAET,CACEse,KAAM,YACNy2B,KAAM,OACN/0C,MAAO,MAET,CACEse,KAAM,SACNy2B,KAAM,MACN/0C,MAAO,MAET,CACEse,KAAM,cACNy2B,KAAM,MACN/0C,MAAO,MAET,CACEse,KAAM,uBACNy2B,KAAM,OACN/0C,MAAO,MAET,CACEse,KAAM,SACNy2B,KAAM,OACN/0C,MAAO,MAET,CACEse,KAAM,aACNy2B,KAAM,OACN/0C,MAAO,MAET,CACEse,KAAM,wCACNy2B,KAAM,OACN/0C,MAAO,MAET,CACEse,KAAM,WACNy2B,KAAM,MACN/0C,MAAO,MAET,CACEse,KAAM,cACNy2B,KAAM,OACN/0C,MAAO,MAET,CACEse,KAAM,OACNy2B,KAAM,OACN/0C,MAAO,MAET,CACEse,KAAM,UACNy2B,KAAM,OACN/0C,MAAO,MAET,CACEse,KAAM,QACNy2B,KAAM,OACN/0C,MAAO,MAET,CACEse,KAAM,sBACNy2B,KAAM,QACN/0C,MAAO,MAET,CACEse,KAAM,UACNy2B,KAAM,OACN/0C,MAAO,MAET,CACEse,KAAM,SACNy2B,KAAM,MACN/0C,MAAO,MAET,CACEse,KAAM,eACNy2B,KAAM,OACN/0C,MAAO,MAET,CACEse,KAAM,2BACNy2B,KAAM,QACN/0C,MAAO,MAET,CACEse,KAAM,SACNy2B,KAAM,OACN/0C,MAAO,MAET,CACEse,KAAM,SACNy2B,KAAM,OACN/0C,MAAO,MAET,CACEse,KAAM,UACNy2B,KAAM,OACN/0C,MAAO,MAET,CACEse,KAAM,uBACNy2B,KAAM,OACN/0C,MAAO,MAET,CACEse,KAAM,i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,MAAO,CACL,CACEjB,IAAK,QACLqiG,eAAe,EACfC,kBAAkB,EAClBC,eAAe,EACfC,eAAe,EACfC,aAAa,KAInB,CACEziG,IAAK,OACLiB,MAAO,CACL,CACEjB,IAAK,OACLqiG,eAAe,EACfC,kBAAkB,EAClBC,eAAe,EACfC,eAAe,EACfC,aAAa,KAInB,CACEziG,IAAK,UACLiB,MAAO,CACL,CACEjB,IAAK,aACLqiG,eAAe,EACfC,kBAAkB,EAClBC,eAAe,EACfC,eAAe,EACfC,aAAa,GAEf,CACEziG,IAAK,WACLqiG,eAAe,EACfC,kBAAkB,EAClBC,eAAe,EACfC,eAAe,EACfC,aAAa,OAMvB,CACEziG,IAAK,aACLgB,MAAO,aACPC,MAAO,CACL,CACEjB,IAAK,QACLiB,MAAO,CACL,CACEjB,IAAK,QACLqiG,eAAe,EACfC,kBAAkB,EAClBC,eAAe,EACfC,eAAe,EACfC,aAAa,KAInB,CACEziG,IAAK,eACLiB,MAAO,CACL,CACEjB,IAAK,eACLqiG,eAAe,EACfC,kBAAkB,EAClBC,eAAe,EACfC,eAAe,EACfC,aAAa,KAInB,CACEziG,IAAK,OACLiB,MAAO,CACL,CACEjB,IAAK,OACLqiG,eAAe,EACfC,kBAAkB,EAClBC,eAAe,EACfC,eAAe,EACfC,aAAa,OAMvB,CACEziG,IAAK,cACLiB,MAAO,CACL,CACEjB,IAAK,YACLiB,MAAO,CACL,CACEjB,IAAK,YACLqiG,eAAe,EACfC,kBAAkB,EAClBC,eAAe,EACfC,eAAe,EACfC,aAAa,KAInB,CACEziG,IAAK,cACLiB,MAAO,CACL,CACEjB,IAAK,eACLqiG,eAAe,EACfC,kBAAkB,EAClBC,eAAe,EACfC,eAAe,EACfC,aAAa,GAEf,CACEziG,IAAK,eACLqiG,eAAe,EACfC,kBAAkB,EAClBC,eAAe,EACfC,eAAe,EACfC,aAAa,GAEf,CACEziG,IAAK,QACLqiG,eAAe,EACfC,kBAAkB,EAClBC,eAAe,EACfC,eAAe,EACfC,aAAa,KAInB,CACEziG,IAAK,SACLiB,MAAO,CACL,CACEjB,IAAK,WACLqiG,eAAe,EACfC,kBAAkB,EAClBC,eAAe,EACfC,eAAe,EACfC,aAAa,GAEf,CACEziG,IAAK,WACLqiG,eAAe,EACfC,kBAAkB,EAClBC,eAAe,EACfC,eAAe,EACfC,aAAa,KAInB,CACEziG,IAAK,UACLiB,MAAO,CACL,CACEjB,IAAK,aACLqiG,eAAe,EACfC,kBAAkB,EAClBC,eAAe,EACfC,eAAe,EACfC,aAAa,GAEf,CACEziG,IAAK,WACLqiG,eAAe,EACfC,kBAAkB,EAClBC,eAAe,EACfC,eAAe,EACfC,aAAa,QAQZC,GAAc,SAACtoF,GAC1B,IAAI6hD,EAAY,GAahB,OAZAmmC,GAAgBhiG,SAAQ,SAAC2lD,GACvB,IAAIwW,EAAa,GACjBxW,EAAS9kD,MAAMb,SAAQ,SAACT,GACtB,IAAI88D,EAAY,GAChB98D,EAAKsB,MAAMb,SAAQ,SAACuiG,GAClBlmC,EAASp6D,wBAAA,GAAQo6D,GAAS,GAAAtjC,YAAA,GAAGwpE,EAAU3iG,IAAM2iG,EAAUvoF,QAEzDmiD,EAAUl6D,wBAAA,GAAQk6D,GAAU,GAAApjC,YAAA,GAAGx5B,EAAKK,IAAMy8D,OAE5CR,EAAS55D,wBAAA,GAAQ45D,GAAS,GAAA9iC,YAAA,GAAG4sB,EAAS/lD,IAAMu8D,OAE9CN,EAAS55D,wBAAA,GAAQ45D,GAAS,IAAEx2C,IAAK,GAAImL,IAAK,GAAIltB,KAAM,GAAIumC,MAAO,KAIpD+xB,GAAe,CAC1B,CACEh8D,IAAK,aACLgB,MAAO,aACPC,MAAO,CACL,CACEjB,IAAK,UACLgB,MAAO,UACPC,MAAO,CACL,CACEjB,IAAK,UACLgB,MAAO,eACPqX,KAAM,CACJ,6BACA,0BAEFuqF,KAAM,0EAER,CACE5iG,IAAK,UACLgB,MAAO,kBACPqX,KAAM,CACJ,+BAEFuqF,KAAM,uDAER,CACE5iG,IAAK,SACLgB,MAAO,4BACPqX,KAAM,CACJ,UACA,oCAEFuqF,KAAM,oHAIZ,CACE5iG,IAAK,YACLgB,MAAO,YACPC,MAAO,CACL,CACEjB,IAAK,SACLgB,MAAO,gBACPqX,KAAM,CACJ,gCAEFuqF,KAAM,uGAER,CACE5iG,IAAK,OACLgB,MAAO,eACPqX,KAAM,CACJ,kCAEFuqF,KAAM,sGAER,CACE5iG,IAAK,SACLgB,MAAO,iBACPqX,KAAM,CACJ,gCAEFuqF,KAAM,oGAER,CACE5iG,IAAK,OACLgB,MAAO,qBACPqX,KAAM,CACJ,8BAEFuqF,KAAM,oFAER,CACE5iG,IAAK,OACLgB,MAAO,YACPqX,KAAM,CACJ,8BAEFuqF,KAAM,8IAMhB,CACE5iG,IAAK,aACLgB,MAAO,aACPC,MAAO,CACL,CACEjB,IAAK,SACLgB,MAAO,SACPC,MAAO,CACL,CACEjB,IAAK,SACLgB,MAAO,sBACPqX,KAAM,CACJ,2BAEFuqF,KAAM,2EAIZ,CACE5iG,IAAK,eACLgB,MAAO,UACPC,MAAO,CACL,CACEjB,IAAK,eACLgB,MAAO,kCACPqX,KAAM,CACJ,8BAEFuqF,KAAM,gFAIZ,CACE5iG,IAAK,QACLgB,MAAO,QACPC,MAAO,CACL,CACEjB,IAAK,QACLgB,MAAO,gCACPqX,KAAM,CACJ,4BAEFuqF,KAAM,8EAIZ,CACE5iG,IAAK,OACLgB,MAAO,OACPC,MAAO,CACL,CACEjB,IAAK,OACLgB,MAAO,oCACPqX,KAAM,CACJ,2BAEFuqF,KAAM,uHAIZ,CACE5iG,IAAK,UACLgB,MAAO,UACPC,MAAO,CACL,CACEjB,IAAK,aACLgB,MAAO,0BACPqX,KAAM,CACJ,8BAEFuqF,KAAM,8GAER,CACE5iG,IAAK,WACLgB,MAAO,gCACPqX,KAAM,CACJ,+BAEFuqF,KAAM,qIAMhB,CACE5iG,IAAK,aACLgB,MAAO,aACPC,MAAO,CACL,CACEjB,IAAK,QACLgB,MAAO,QACPC,MAAO,CACL,CACEjB,IAAK,QACLgB,MAAO,gBACPqX,KAAM,CACJ,qBAEFuqF,KAAM,mJAIZ,CACE5iG,IAAK,eACLgB,MAAO,UACPC,MAAO,CACL,CACEjB,IAAK,eACLgB,MAAO,kBACPqX,KAAM,CACJ,2BACA,aAEFuqF,KAAM,0GAIZ,CACE5iG,IAAK,OACLgB,MAAO,OACPC,MAAO,CACL,CACEjB,IAAK,OACLgB,MAAO,+BACPqX,KAAM,CACJ,oBAEFuqF,KAAM,uHAMhB,CACE5iG,IAAK,cACLgB,MAAO,eACPC,MAAO,CACL,CACEjB,IAAK,YACLgB,MAAO,YACPC,MAAO,CACL,CACEjB,IAAK,YACLgB,MAAO,+CACPqX,KAAM,CACJ,0BACA,0BACA,iCAEFuqF,KAAM,oGAIZ,CACE5iG,IAAK,cACLgB,MAAO,UACPC,MAAO,CACL,CACEjB,IAAK,eACLgB,MAAO,mBACPqX,KAAM,CACJ,6BAEFuqF,KAAM,iEAER,CACE5iG,IAAK,eACLgB,MAAO,mBACPqX,KAAM,CACJ,6BAEFuqF,KAAM,sEAER,CACE5iG,IAAK,QACLgB,MAAO,aACPqX,KAAM,CACJ,sBAEFuqF,KAAM,uEAIZ,CACE5iG,IAAK,SACLgB,MAAO,SACPC,MAAO,CACL,CACEjB,IAAK,WACLgB,MAAO,mCACPqX,KAAM,CACJ,iBACA,kBACA,gCAEFuqF,KAAM,4FAER,CACE5iG,IAAK,WACLgB,MAAO,mCACPqX,KAAM,CACJ,aACA,kBAEFuqF,KAAM,yDAIZ,CACE5iG,IAAK,UACLgB,MAAO,UACPC,MAAO,CACL,CACEjB,IAAK,aACLgB,MAAO,mCACPqX,KAAM,CACJ,kCACA,+BAEFuqF,KAAM,uEAER,CACE5iG,IAAK,WACLgB,MAAO,qDACPqX,KAAM,CACJ,gCAEFuqF,KAAM,iJAQL5T,IAAkB,EAClB6T,IAAgB,EAChB3T,GAAY,EACZ4T,GAAa,EACb7T,GAAU,EACV8T,GAAoB,EACpBC,GAAQ,EACRvV,GAAY,EACZ0B,GAAc,EACd8T,GAAW,EACX7T,GAAW,EACX8T,GAAc,EACdC,GAAmB,GACnBC,GAAmB,GAEnB90B,GAAqB,EACrBqiB,GAAuB,EA6CvB5e,IAzCH,GAADlwE,OAAKihG,IAKJ,GAADjhG,OAAKotF,IAKJ,GAADptF,OAAKqtF,IAKJ,GAADrtF,OAAKmhG,IAKJ,GAADnhG,OAAK4rF,IAKJ,GAAD5rF,OAAKstF,IAKJ,GAADttF,OAAKohG,IAKJ,GAADphG,OAAKutF,IAMgB,GACjBrD,GAAe,EAEfta,GAAsB,EACtB+c,GAAQ,EAER6U,GAAe,EACfC,GAAO,EACPC,GAAW,EACXC,GAAa,EACbC,GAAS,GACTC,GAAU,GAEVC,GAAgB,GAChBC,GAAS,GACTC,GAAW,GACXC,GAAW,GAEXC,GAAc,GAGdC,GAAU,GACV/R,GAAe,GAMfgS,GAAe,CAC1B,CACEhjG,MAAM,GAADY,OAAKkwE,IACV74D,MAAO,OACPsE,MAAO,QACP0mF,OAAQ,WAEV,CACEjjG,MAAM,GAADY,OAAKkqF,IACV7yE,MAAO,UACPsE,MAAO,UACP0mF,OAAQ,WAEV,CACEjjG,MAAM,GAADY,OAxCW,GAyChBqX,MAAO,OACPsE,MAAO,UACP0mF,OAAQ,WAEV,CACEjjG,MAAM,GAADY,OAAK4vE,IACVv4D,MAAO,iBACPsE,MAAO,UACP0mF,OAAQ,WAEV,CACEjjG,MAAM,GAADY,OAAK2sF,IACVt1E,MAAO,QACPsE,MAAO,YACP0mF,OAAQ,WAEV,CACEjjG,MAAM,GAADY,OAvDkB,GAwDvBqX,MAAO,cACPsE,MAAO,UACP0mF,OAAQ,WAEV,CACEjjG,MAAM,GAADY,OAAKwhG,IACVnqF,MAAO,eACPsE,MAAO,YACP0mF,OAAQ,YAICC,GAAa,SAACljG,GACzB,OAAc,OAAVA,QAA4B5B,IAAV4B,EAA4B,GAC3CA,GAGImjG,GAAiB,SAAjBA,EAAkBnhC,GAAS,OACtCpjE,OAAOC,KAAKmjE,GAAW7qD,MAAK,SAACpY,GAC3B,OAAIR,MAAMc,QAAQ2iE,EAAUjjE,GAAK0uB,MAAcu0C,EAAUjjE,GAAKoY,MAAK,SAACisF,GAAM,OAAKD,EAAeC,EAAO31E,SACrE,OAAzBu0C,EAAUjjE,GAAKiB,QAA2C,IAAzBgiE,EAAUjjE,GAAKiB,UAI9C2rF,GAAiB,SAAjBA,EAAkB3pB,EAAgBlK,GAC7C,IAAIpW,EAAcoW,EAalB,OAZAl5D,OAAOC,KAAKmjE,GAAW7iE,SAAQ,SAACJ,GAC1BR,MAAMc,QAAQ2iE,EAAUjjE,GAAKiB,QAC/BgiE,EAAUjjE,GAAKiB,MAAMb,SAAQ,SAACikG,GAC5B1hD,GAAOiqC,EAAeyX,EAAO31E,KAAM,OAGlClvB,MAAMc,QAAQ2iE,EAAUjjE,GAAKiB,QAAUmjG,GAAenhC,EAAUjjE,GAAKiB,SAAazB,MAAMc,QAAQ2iE,EAAUjjE,GAAKiB,QAAmC,OAAzBgiE,EAAUjjE,GAAKiB,QAA2C,IAAzBgiE,EAAUjjE,GAAKiB,SACxKgiE,EAAUjjE,GAAKkB,OAAMyhD,GAAOoyB,WAAW,GAADlzE,OAAIohE,EAAUjjE,GAAKkB,QACzD+hE,EAAUjjE,GAAKmB,QAAOwhD,GAAOiqC,EAAe3pB,EAAUjjE,GAAKmB,MAAO,IAClE8hE,EAAUjjE,GAAKskG,WAAU3hD,GAAOiqC,EAAe3pB,EAAUjjE,GAAKskG,SAAU,QAGzE3hD,GAGI8e,GAAkB,EAClB2qB,GAAiB,EACjBrB,GAAoB,EAEpB1wE,GAAe,EACfK,GAAe,EACfC,GAAc,EACdC,GAAe,EACfC,GAAiB,EACjBC,GAAiB,EACjBC,GAAqB,EACrBC,GAAmB,EACnBupF,GAAmB,EACnBC,GAAc,EACdC,GAAY,CAAC9pF,GAAaI,GAAoBC,IAC9CqrC,GAAmB,CAAC3rC,GAAcG,GAAgBC,IAElDujC,GAAkB,SAAC3vB,GAC9B,GAAIA,EAAM,CACR,GAAI23B,GAAiBr3C,SAAS0f,EAAKtU,MAAO,OAAOsU,EAAK/f,IACtD,GAAI81F,GAAUz1F,SAAS0f,EAAKtU,MAAO,OAAOsU,EAAKkC,IAEjD,MAAO,IAGI8zE,GAAoB,SAACh2E,GAChC,OAAIA,EACE+1E,GAAUz1F,SAAS0f,EAAKtU,MAAcO,GACnC+T,EAAKtU,KAEPC,IAGIijC,GAAoB,SAAC5uB,GAAS,MAAW,CAAE3tB,GAAIs9C,GAAgB3vB,GAAOtU,KAAMsqF,GAAkBh2E,KAE9Fi2E,GAAoB,EACpBn4D,GAAuB,EACvBo4D,GAAqB,EACrBC,GAAuB,EA+BvBt0E,GAAmB,EACnBu0E,GAAkB,EAIlBC,GAAgB,EAGhB1xE,GAAoB,EACpBd,GAAa,EACbK,GAAgB,EAChBJ,GAAsB,EAEtBwyE,GAAiB,EAajBC,IATH,GAADpjG,OAAKmjG,IAIJ,GAADnjG,OAPkB,IAYe,GAE7BqjG,GAAyB,CACpC,CACEjkG,MAAO,KACPiY,MAAO,SAET,CACEjY,MAAO,KACPiY,MAAO,cAET,CACEjY,MAAO,KACPiY,MAAO,aAET,CACEjY,MAAO,KACPiY,MAAO,UAET,CACEjY,MAAO,OACPiY,MAAO,UAqCEw8E,IA1BH,GAAD7zF,OAPsB,GAYrB,GAADA,OAXsB,GAgBrB,GAADA,OAfoB,GAoBnB,GAADA,OAnBuB,GAwBtB,GAADA,OAvBoB,GA6BQ,GACxBg0F,GAA2B,EAE3BpzB,GAAgB,EAChBwB,GAAe,EACfO,GAAgB,EAOhB+N,GAAiB,EAajB5O,IATH,GAAD9hE,OAAK0wE,IAIJ,GAAD1wE,OAPuB,GAYD,GAClB4iE,GAAqB,EACrBW,GAAkB,EAClBQ,GAAiB,EACjBc,GAAmB,EACnBy+B,GAAW,EACXC,GAAM,EAENngC,GAAuB,EACvBC,GAAyB,EACzBmgC,GAAoB,CAC/B,CACEpkG,MAAM,GAADY,OAAKojE,IACV/rD,MAAO,mBAET,CACEjY,MAAM,GAADY,OAAKqjE,IACVhsD,MAAO,sBAKEytD,GAAgB,EAChB2+B,GAAuB,CAClC,CACErkG,MAAM,GAADY,OAJsB,GAK3BqX,MAAO,gBAET,CACEjY,MAAM,GAADY,OAAK8kE,IACVztD,MAAO,eAIEumD,GAAkB,EAClBuT,GAAc,EAEdzT,GAAgB,EAChBS,GAAsB,EAYtB8R,IATH,GAADjwE,OAAK09D,IAIJ,GAAD19D,OAAKm+D,IAKW,GACZ+S,GAAgB,EAChBoB,GAAe,EAQfnQ,GAAkB,MAClBuhC,GAAqB,IAErBx1F,GAAkB,EAClBD,GAAmB,EAEnBsiE,GAAa,EAEbozB,GAAc,EAEdC,GAAqB,EAGrBC,GAAW,CACtB,CACEtrF,KAAM,mBACNtM,KAAM,CACJ,qBACA,mBACA,cACA,oBACA,qBACA,kBACA,YACA,qBACA,YACA,mBACA,WACA,aACA,gBACA,sBACA,YACA,gBACA,oBAEF0P,MAAO,WAET,CACEpD,KAAM,WACNtM,KAAM,CACJ,uBACA,WACA,aACA,iBACA,wBACA,cACA,uBAEF0P,MAAO,WAET,CACEpD,KAAM,aACNtM,KAAM,CACJ,cACA,UACA,aACA,WACA,qBAEF0P,MAAO,WAET,CACEpD,KAAM,gBACNtM,KAAM,CACJ,oCACA,SACA,gBACA,6CACA,eACA,kBACA,eACA,kCACA,oCACA,2CACA,mCACA,0CACA,kDACA,sCACA,mCACA,yBACA,oCACA,gCAEF0P,MAAO,YAIEmoF,GAAa,GACbC,GAAoB,SAIpBzzB,GAAa,EACb0zB,GAAc,EACdC,GAAmB,EACnB3/B,GAAe,EACfC,GAAc,EAEd7C,GAAmB,CAC9B,CACEnpD,KAVyB,EAWzBmF,KAAM,SACNwmF,OAAQ,WACR3b,QAAS,EACT3mB,KAAM,GAER,CACErpD,KAhBuB,EAiBvBmF,KAAM,OACNwmF,OAAQ,SACR3b,QAAS,GACT3mB,KAAM,GAER,CACErpD,KAAM+3D,GACN5yD,KAAM,MACNwmF,OAAQ,QACR3b,QAAS,KACT3mB,KAAM,GAER,CACErpD,KAAMyrF,GACNtmF,KAAM,OACNwmF,OAAQ,SACR3b,QAAS,MACT3mB,KAAM,GAER,CACErpD,KAAM0rF,GACNvmF,KAAM,YACNwmF,OAAQ,cACR3b,QAAS,MACT3mB,KAAM,IAER,CACErpD,KAAM+rD,GACN5mD,KAAM,QACNwmF,OAAQ,UACR3b,QAAS,MACT3mB,KAAM,IAER,CACErpD,KAAMgsD,GACN7mD,KAAM,OACNwmF,OAAQ,WACR3b,QAAS,OACT3mB,KAAM,MAIGkP,GAAe,EACf0c,GAAc,EAkBd/uB,GAAwB,YAKxBgvB,GAAwB,YACxB/Z,GAAqB,SACrBywB,GAAsB,UACtBC,GAAmB,OACnBC,GAAwB,YACxBzS,GAAwB,YACxBY,GAAoB,QACpB8R,GAAmB,UACnB9S,GAAsB,UAEtB+S,GAA4B,EAC5BC,GAA8B,EAC9BC,GAA6B,EAE7Bz/D,GAAiB,EACjB5W,GAAmB,EACnBs2E,GAAkB,EAIlBt0B,GAAgB,EAChBu0B,GAAgB,EAChBC,GAAgB,EAEhBC,GAAiB,GACjBC,GAAmB,GACnB1vD,GAAiB,GACjB2vD,GAAmB,GACnBC,GAAiB,GACjBC,GAAwB,GACxBC,GAAa,GAsCbC,IA/BH,GAADnlG,OAAKowE,IAKJ,GAADpwE,OAAK2kG,IAKJ,GAAD3kG,OAAK4kG,IAKJ,GAAD5kG,OA7BoB,GAkCnB,GAADA,OAAK6kG,IAWgB,GACjBO,GAAgB,EAGhBC,GAAiB,EACjBC,GAAmB,EACnBC,GAAwB,EAmBxBC,IAbH,GAADxlG,OAJuB,GAQtB,GAADA,OAPsB,GAgBE,CAC/B,CACEd,GAAI0yF,GACJxyF,MAAO,WACPuc,MAAO,WAET,CACEzc,GAAIszF,GACJpzF,MAAO,QACPuc,MAAO,WAET,CACEzc,GAAIolG,GACJllG,MAAO,UACPuc,MAAO,WAET,CACEzc,GAAIsyF,GACJpyF,MAAO,eACPuc,MAAO,aAIEy4C,GAAgB,CAC3B,CACE59C,KAAM,4BACNivF,QAAS,UACTltF,KAAMopF,IAER,CACEnrF,KAAM,iBACNivF,QAAS,UACTltF,KAAMqpF,IAER,CACEprF,KAAM,aACNivF,QAAS,YACTltF,KAAMqpF,IAER,CACEprF,KAAM,+BACNivF,QAAS,UACTltF,KAAMspF,IAER,CACErrF,KAAM,8BACNivF,QAAS,WACTltF,KAAMwpF,IAER,CACEvrF,KAAM,+BACNivF,QAAS,GACTltF,KAAMypF,IAER,CACExrF,KAAM,+BACNivF,QAAS,SACTltF,KAAM4pF,IAER,CACE3rF,KAAM,iCACNivF,QAAS,SACTltF,KAAM4pF,IAER,CACE3rF,KAAM,+BACNivF,QAAS,SACTltF,KAAM4pF,KAIGuD,GAAkB,EAClBC,GAA0B,EAG1BC,GAAkB,EA6ClBC,GAAa,CACxB57D,GAAI,QACJC,GAAI,QACJC,GAAI,mBACJC,GAAI,oBAGO1H,GAAgB,GAGhBojE,GAAgB,GAEtB,SAASC,GAAgBroF,GAC9B61B,UAAUyyD,UAAUC,UAAUvoF,GAGzB,IAAMwoF,GAAc,EACdC,GAAa,EAEbC,GAAc,EACdC,GAAqB,EACrB34B,GAAmB,EAEnBzsE,GAAmC,EACnCqlG,GAAiC,EACjCC,GAAiC,EAKjCC,GAAe,CAC1B,CAAEnvF,MAAO,iBAAkBjY,MAAO,cAClC,CAAEiY,MAAO,mBAAoBjY,MAAO,WACpC,CAAEiY,MAAO,OAAQjY,MAAO,cAGbqnG,GAAW,EACXC,GAAa,EACbC,GAAwB,EACxBC,GAAa,EACbC,GAAe,EACfC,GAAiB,EACjBC,GAAY,EACZC,GAAc,EACdC,GAAe,EACfC,GAAsB,EACtBC,GAAiB,GACjBC,GAAe,GACfC,GAAiB,GAEjBC,GAAc,EACdC,GAAkB,EAClBC,GAAiB,EACjBC,GAAmB,EACnBC,GAAgB,EAChBC,GAAc,EACdC,GAAkB,EAClBC,GAAgB,EAChBC,GAAkB,EAClBC,GAAgB,EAEhBC,GAAe,GACfC,GAAiB,GACjBC,GAAyB,GACzBC,GAAkB,GAClBC,GAAkB,GAClBC,GAAgB,GAChBC,GAAc,GACdC,GAAkB,GAClBC,GAAgB,GAChBC,GAAgB,GAChBC,GAAyB,GAEzBC,GAAY,EACZC,GAAc,EACdC,GAAc,EACdC,GAAa,EACbC,GAAkB,EAClBC,GAAgB,EAChBC,GAAmB,EAEnBC,IAAiB,EACjBC,GAAe,EACfC,GAAc,EAEdC,GAAoB,8BAmBpBC,GAAqB,EACrBC,GAAqB,EACrB1c,GAAsB,EAEtB2c,GAAmB,CAC9B,CACEtqG,GAAIoqG,GACJlqG,MAAO,QAET,CACEF,GAAIqqG,GACJnqG,MAAO,QAET,CACEF,GAAI2tF,GACJztF,MAAO,UAIEqqG,GAAkB,CAC7B,CACEvqG,GAAI6lG,GACJ3lG,MAAO,YACPuc,MAAO,WAET,CACEzc,GAAI0lG,GACJxlG,MAAO,SACPuc,MAAO,WAET,CACEzc,GAAIylG,GACJvlG,MAAO,SACPuc,MAAO,YAIE+tF,GAA2B,EAC3BC,GAA2B,EAC3BC,GAA0B,EAE1BC,GAAqB,EACrBC,GAAqB,EACrBC,GAAuB,EACvBC,GAAuB,EACvBC,GAAmB,EAEnB1W,GAAoB,EAEpB2W,GAAuB,EACvBC,GAAqB,GAqBrBC,IAfLC,EAAA,GAAA/yE,YAAA+yE,EACD9W,GAAoB,YAAUj8D,YAAA+yE,EATL,EAUN,WAMlBC,EAAA,GAAAhzE,YAAAgzE,EACD/W,GAAoB,aAAWj8D,YAAAgzE,EAjBN,EAkBN,aAKE,SAEfC,GAAe,MACfC,GAAgB,OAEhBC,GAAwB,GAExBC,GAA0B,EAC1BC,GAA6B,EAC7BC,GAA8B,EAC9BC,GAA6B,EAC7BC,GAA+B,EAE/BC,GAAqB,CAChC,CACE7rG,GAAI8lC,GACJ5lC,MAAO,UACPuc,MAAO,WAET,CACEzc,GAAIkvB,GACJhvB,MAAO,YACPuc,MAAO,WAET,CACEzc,GAAI8lG,GACJ5lG,MAAO,UACPuc,MAAO,WAET,CACEzc,GAAI2lG,GACJzlG,MAAO,UACPuc,MAAO,WAET,CACEzc,GAAIwlG,GACJtlG,MAAO,WACPuc,MAAO,YAQEukB,GAAoB,EACpBsB,GAAwB,EACxBjB,GAAoB,EAEpByqE,GAAmB,CAC9B,CACE9rG,GAAI8lC,GACJimE,YAAa,CAACjmE,GAAgBigE,IAC9B7lG,MAAO,UACPuc,MAAO,WAET,CACEzc,GAAIwlG,GACJuG,YAAa,CAACvG,IACdtlG,MAAO,SACPuc,MAAO,WAET,CACEzc,GAAIkvB,GACJ68E,YAAa,CAAC78E,IACdhvB,MAAO,SACPuc,MAAO,YAIE8jB,GAAkB,UAElByrE,GAAkB,CAC7B,QACA,0BACA,aACA,qCACA,eACA,QACA,wBAGWC,GAAuB,CAClCC,SAAU,GACVC,WAAY,GACZC,WAAY,GACZC,WAAY,IACZC,WAAY,EACZC,gBAAiB,EACjB7yE,YAAa,UACb8yE,SAAU,YACVC,cAAe,UACfC,aAAc,UACdC,gBAAiB,UACjBC,SAAU,UACVC,UAAW,UACXC,gBAAiB,WAGNC,GAAoB,EACpBC,GAAoB,EAEpB9R,GAAwB,IACxBtuB,GAAyB,EAEzBqgC,GAAgB,WAGhBC,GAAkB,EAElBC,GAAqB,EACrBC,GAAgB,EAChBC,GAAoB,EAIpBrc,GAAuB,gCACvBsc,GAA8B,+BAC9Brc,GAA4B,qCAC5Bsc,GAAwB,GAExBC,GAAiB,EACjBC,GAAiB,EAIjBC,GAAuB,KAEvBjd,GAAkB,CAC7B,CACEp3E,KAAM,OACNnZ,MAAM,GAADY,OAAK2sG,IACV3mC,MAAO,EAGP7mE,MAAO,OACP0tG,aAAc,SAGhB,CACEt0F,KAAM,QACNnZ,MAAM,GAADY,OAlBsB,IAmB3BgmE,MAAO,GACP8pB,mBAAoB,EAGpB3wF,MAAO,QACP0tG,aAAc,UAGhB,CACEt0F,KAAM,WACNnZ,MAAM,GAADY,OA5BuB,KA6B5BgmE,MAAO,MACP8pB,mBAAoB,EAGpB3wF,MAAO,WACP0tG,aAAc,YAGhB,CACEt0F,KAAM,UACNnZ,MAAM,GAADY,OAtCsB,KAuC3BgmE,MAAO,OACP8pB,mBAAoB,GAGpB3wF,MAAO,UACP0tG,aAAc,eAKLvX,GAAuB,GACvBwX,GAAsB,QACtBC,GAAiB,UACjBC,GAAkB,qBAElB9lC,GAA8B,EAG9BgB,GAAmB,CAC9B,CACEhpE,GAAIgoE,GACJ/nE,MAAO,YAET,CACED,GARyC,EASzCC,MAAO,aAIE81F,GAAqB,EACrB1vD,GAAmB,EACnB0nE,GAAqB,EAErBC,GAAe,EACfC,GAAoB,EACpBC,GAAgB,EAEhBC,GAA4B,G,ylBC7rE5BlqF,EAAmB,WAC9B,IAAAmqF,EAAkCl9D,IAAM36B,WAAWwN,aAA3C4D,EAAWymF,EAAXzmF,YAAamU,EAAQsyE,EAARtyE,SACrB,OAAKnU,EACamU,EAASxtB,MAAK,SAACq6B,GAAC,OAAKA,EAAErkB,iBAAmBqD,KADnC,MAKdid,EAAsB,WACjC,IAAM5gB,EAAgBC,IACtB,OAAKD,EACEzC,YAAcyC,GADM,MAIhBmX,EAAuB,WAClC,IAAQnf,EAAak1B,IAAM36B,WAAWwH,KAA9B/B,SACRqyF,EAAqCn9D,IAAM36B,WAAWwN,aAA9C4D,EAAW0mF,EAAX1mF,YAAakV,EAAWwxE,EAAXxxE,YACrB,IAAK7gB,EAAU,OAAO,KACtB,IAAK2L,EAAa,OAAO,KACzB,IAAM2mF,EAAezxE,EAAYvuB,MAAK,SAACihB,GAAE,OAAKA,EAAGM,MAAQlI,KACnD4mF,EAActtF,YAAejF,GACnC,OAAA1a,wBAAA,GACKitG,GAAW,IACdp1F,OAAO,GAADrY,OAAAwM,YAAMihG,EAAYp1F,QAAM,CAAE,CAAEnZ,GAAIsuG,EAAav+E,IAAK1W,KAAMi1F,EAAaj1F,WAIlEm1F,EAAU,WACrB,IAAQxyF,EAAak1B,IAAM36B,WAAWwH,KAA9B/B,SACRyyF,EAAkCv9D,IAAM36B,WAAWwN,aAA3C4D,EAAW8mF,EAAX9mF,YAAamU,EAAQ2yE,EAAR3yE,SACrB,QAAK9f,MACA2L,GACamU,EAASxtB,MAAK,SAAC0tB,GAAO,OAAKA,EAAQ1X,iBAAmBqD,KACvD8+B,UAAYzqC,EAASpO,MAG3BmzC,EAAoB,SAAC1nC,GAChC,IAAAq1F,EAAqCx9D,IAAM36B,WAAWwN,aAA9C4D,EAAW+mF,EAAX/mF,YAAakV,EAAW6xE,EAAX7xE,YACrB,IAAKlV,EAAa,MAAO,GACzB,IAAM2mF,EAAezxE,EAAYvuB,MAAK,SAACihB,GAAE,OAAKA,EAAGM,MAAQlI,KACzD,OAAI29B,KAAiBr3C,SAASoL,GAA0B,OAAZi1F,QAAY,IAAZA,OAAY,EAAZA,EAAcv+E,IACtD2zE,KAAUz1F,SAASoL,GAAcsO,EAC9B,IAGI8nE,EAAc,SAACkf,EAAoBC,GAC9C,IAAQ5yF,EAAak1B,IAAM36B,WAAWwH,KAA9B/B,SACR6yF,EAAmD39D,IAAM36B,WAAWwN,aAA5D4D,EAAWknF,EAAXlnF,YAAarS,EAAYu5F,EAAZv5F,aAAcunB,EAAWgyE,EAAXhyE,YACnC,IAAK7gB,IAAa2L,EAAa,MAAO,GACtC,IAAM2mF,EAAezxE,EAAYvuB,MAAK,SAACihB,GAAE,OAAKA,EAAGM,MAAQlI,KACzD,IAAgB,OAAZ2mF,QAAY,IAAZA,OAAY,EAAZA,EAAcj1F,QAASU,IAAgB,CACzC,GAAI40F,IAAe50F,IAAgB,OAAOu0F,EAAav+E,IACvD,GAAI4+E,IAAeh1F,IAAc,OAAOqC,EAASpO,SAC5C,IAAgB,OAAZ0gG,QAAY,IAAZA,OAAY,EAAZA,EAAcj1F,QAASS,IAAgB,CAChD,GAAI80F,IAAeh1F,IAAa,OAAO+N,EACvC,GAAIinF,IAAe/0F,IAAc,OAAOvE,EACxC,GAAIs5F,IAAe90F,IAAgB,OAAOw0F,EAAav+E,IAEzD,MAAO,IAGIuL,EAAgB,SAACqzE,EAAoBC,GAChD,IAAAE,EAAqC59D,IAAM36B,WAAWwN,aAA9C4D,EAAWmnF,EAAXnnF,YAAakV,EAAWiyE,EAAXjyE,YACrB,IAAKlV,EAAa,OAAOrO,IACzB,IAAMg1F,EAAezxE,EAAYvuB,MAAK,SAACihB,GAAE,OAAKA,EAAGM,MAAQlI,KACzD,IAAgB,OAAZ2mF,QAAY,IAAZA,OAAY,EAAZA,EAAcj1F,QAASU,IAAgB,CACzC,GAAI40F,IAAe50F,IAAgB,OAAOA,IAC1C,GAAI40F,IAAeh1F,IAAc,OAAOA,SACnC,IAAgB,OAAZ20F,QAAY,IAAZA,OAAY,EAAZA,EAAcj1F,QAASS,IAAgB,CAChD,GAAI80F,IAAeh1F,IAAa,OAAOA,IACvC,GAAIg1F,IAAe/0F,IAAc,OAAOA,IACxC,GAAI+0F,IAAe90F,IAAgB,OAAOA,IAE5C,OAAOR,KAGIqmC,EAAgB,SAACgvD,EAAoBC,GAAkB,MAAoC,CACtG5uG,GAAIyvF,EAAYkf,EAAYC,GAC5Bv1F,KAAMiiB,EAAcqzE,EAAYC,KAGrBG,EAA6B,WACxC,IAAAC,EAAqC99D,IAAM36B,WAAWwN,aAA9C4D,EAAWqnF,EAAXrnF,YAAakV,EAAWmyE,EAAXnyE,YACrB,IAAKlV,EAAa,MAAO,GACzB,IAAM2mF,EAAezxE,EAAYvuB,MAAK,SAACihB,GAAE,OAAKA,EAAGM,MAAQlI,KACzD,OAAmB,OAAZ2mF,QAAY,IAAZA,OAAY,EAAZA,EAAcW,aAGVlqF,EAAmB,WAC9B,IAAAmqF,EAAqCh+D,IAAM36B,WAAWwN,aAA9C4D,EAAWunF,EAAXvnF,YAAakV,EAAWqyE,EAAXryE,YACrB,IAAKlV,EAAa,OAAO,KACzB,IAAM2mF,EAAezxE,EAAYvuB,MAAK,SAACihB,GAAE,OAAKA,EAAGM,MAAQlI,KACzD,OAAgB,OAAZ2mF,QAAY,IAAZA,OAAY,EAAZA,EAAcj1F,QAASU,IAAuBohB,IAC3CyJ,KAGIk2B,EAAgB,WAC3B,IAAAq0C,EAA0Dj+D,IAAM36B,WAAWwN,aAAnE4D,EAAWwnF,EAAXxnF,YAAakV,EAAWsyE,EAAXtyE,YAAaf,EAAQqzE,EAARrzE,SAAUkN,EAASmmE,EAATnmE,UACtCslE,EAAezxE,EAAYvuB,MAAK,SAACihB,GAAE,OAAKA,EAAGM,MAAQlI,KACzD,IAAgB,OAAZ2mF,QAAY,IAAZA,OAAY,EAAZA,EAAcj1F,QAASU,IAAgB,OAAO4nF,aAAY,iBAC9D,IAAM9mC,EAAa7xB,EAAU16B,MAAK,SAAC02C,GAAQ,OAAKA,EAAStgC,OAAoB,OAAZ4pF,QAAY,IAAZA,OAAY,EAAZA,EAAc5pF,QAC/E,IAAKm2C,EAAY,OAAO,KACxB,IAAMu0C,EAAYtzE,EAASxtB,MAAK,SAACq6B,GAAC,OAAKA,EAAErkB,iBAAmBqD,KACtD0nF,EAAc1N,aAAY,iBAC1B2N,EAAgB3N,aAAY,oBAC5B4N,EAAanxG,YAASy8D,GAc5B,OAbA/7D,OAAOC,KAAK87D,GAAYx7D,SAAQ,SAACg8D,GAC3B,CAAC,aAAc,aAAc,aAAc,eAAeptD,SAASotD,IACrEv8D,OAAOC,KAAK87D,EAAWQ,IAAWh8D,SAAQ,SAACo8D,GACzC38D,OAAOC,KAAK87D,EAAWQ,GAAUI,IAAYp8D,SAAQ,SAACw8D,GAAc,IAAD2zC,GACpD,OAATJ,QAAS,IAATA,GAAoB,QAAXI,EAATJ,EAAWK,iBAAS,IAAAD,OAAX,EAATA,EAAsB5vG,QAAS,EACjC2vG,EAAWl0C,GAAUI,GAAWI,GAAYhB,EAAWQ,GAAUI,GAAWI,IAAayzC,EAAcj0C,GAAUI,GAAWI,GAE5H0zC,EAAWl0C,GAAUI,GAAWI,GAAYhB,EAAWQ,GAAUI,GAAWI,IAAawzC,EAAYh0C,GAAUI,GAAWI,YAM7H0zC,GAGIG,EAAoB,WAC/B,IAAAC,EAA8Dz+D,IAAM36B,WAAWwN,aAAvE4D,EAAWgoF,EAAXhoF,YAAakV,EAAW8yE,EAAX9yE,YAAaf,EAAQ6zE,EAAR7zE,SAAUgN,EAAa6mE,EAAb7mE,cACtCsmE,EAAYtzE,EAASxtB,MAAK,SAACq6B,GAAC,OAAKA,EAAErkB,iBAAmBqD,KAC5D,GAAIynF,EAAW,CACb,IAAMd,EAAezxE,EAAYvuB,MAAK,SAACihB,GAAE,OAAKA,EAAGM,MAAQlI,KACzD,IAAgB,OAAZ2mF,QAAY,IAAZA,OAAY,EAAZA,EAAcj1F,QAASS,IAAgB,OAAOgvB,EAAcx6B,MAAK,SAAC07B,GAAG,MAAK,GAAAlpC,OAAGkpC,EAAI1J,QAAI,GAAAx/B,OAAUsuG,EAAUnlE,kBAE/G,OAAO,MAGI2lE,EAAqB,WAChC,IAAAC,EAA+C3+D,IAAM36B,WAAWwN,aAAxD4D,EAAWkoF,EAAXloF,YAAakV,EAAWgzE,EAAXhzE,YAAaf,EAAQ+zE,EAAR/zE,SAClC,IAAKnU,EAAa,MAAO,GACzB,IAAM2mF,EAAezxE,EAAYvuB,MAAK,SAACihB,GAAE,OAAKA,EAAGM,MAAQlI,KACnDynF,EAAYtzE,EAASxtB,MAAK,SAACq6B,GAAC,OAAKA,EAAErkB,iBAAmBqD,KAC5D,OAAK2mF,GAAiBc,EACfd,EAAaj1F,OAASS,IAAiBs1F,EAAUK,UAAY,CAACL,GAD7B,IAe7BhgF,EAAqB,SAACxrB,GACjC,IAAQqsE,EAAiB/+B,IAAM36B,WAAWwN,aAAlCksD,aACF6/B,EAAUxiG,YAAO2iE,GACvB,GAAI3qB,KAAiBr3C,SAASrK,EAAKyV,MAAO,CACxC,IAAM6hB,EAAoBC,IACtBD,GAAmB40E,EAAWrwG,KAAKy7B,QAClC,GAAIwoE,KAAUz1F,SAASrK,EAAKyV,MAAO,CACxC,IAAMsrB,EAAmBC,IACrBD,GAAkBmrE,EAAWrwG,KAAKklC,GAExC,OAAOmrE,EAAWxhG,MAAK,SAACyhG,GAAQ,OAAKA,EAAS52F,OAAO9B,MAAK,SAAA1R,GAAA,IAAG3F,EAAE2F,EAAF3F,GAAIqZ,EAAI1T,EAAJ0T,KAAI,OAAOrZ,IAAO4D,EAAK5D,IAAMqZ,IAASzV,EAAKyV,YAGjG22F,EAAuB,WAAH,OAAkBzzF,YAAmBwI,O,iCC7KtE,+CAGIkrF,EAAiB,GAERrnB,EAAY,WACvBqnB,EAAQltG,OAAO,EAAGktG,EAAQrwG,SAyBb+sE,IAtBM,SAAfA,EAAgBujC,EAAkBhrG,GAAiC,IAAqB,IAA5CirG,IAAgBxwG,UAAAC,OAAA,QAAAtB,IAAAqB,UAAA,KAAAA,UAAA,GAAOywG,EAAAzwG,UAAAC,OAAKywG,EAAI,IAAA5xG,MAAA2xG,EAAA,EAAAA,EAAA,KAAAE,EAAA,EAAAA,EAAAF,EAAAE,IAAJD,EAAIC,EAAA,GAAA3wG,UAAA2wG,GAChF,IAAgB,IAAZH,EAAkB,CACpB,IAAmC,IAA/BF,EAAQhiG,SAAS/I,GAAoB,OACzC+qG,EAAQxwG,KAAKyF,GAKfqrG,YAAKL,GACFnvF,MAAK,WAKJ7b,EAAQQ,WAAC,EAAG2qG,GACTtvF,MAAK,kBAAM4rD,EAAYjnE,WAAC,EAAD,CAACwqG,EAAUhrG,GAAU,GAAKpE,OAAKuvG,OACtDnvF,OAAM,WACL+uF,EAAUA,EAAQplG,QAAO,SAAC2lG,GAAG,OAAKA,IAAQtrG,a,sGCF9CurG,EAA4B,CAChCC,SAAS,EACTp7E,UAAW,MACXqF,qBAAqB,EACrBF,gBAAgB,EAChBzY,MAAOqW,IAAO4B,QAyBV4uD,EAAkB6Q,wBAAoC,CAC1Dh9D,SAAU+zE,EACVE,aAAc,eAGHn/D,EAA8C,SAAClxC,GAC1D,IAAQga,EAAaha,EAAbga,SACR1Z,EAAgCC,mBAAmB4vG,GAAgB1vG,EAAAC,YAAAJ,EAAA,GAA5D87B,EAAQ37B,EAAA,GAAE6vG,EAAW7vG,EAAA,GAE5BI,qBAAU,WACR,IAAM0vG,EAhCqB,WAC7B,IAAIn0E,EAAW,KAEf,IACE,IAAMo0E,EAA4B9tG,OAAO+tG,aAAaC,QAAQ,YAE1DF,IACFp0E,EAAW3kB,KAAKqxB,MAAM0nE,IAExB,MAAO3vF,GACPtJ,QAAQsV,MAAMhM,GAKhB,OAAOub,EAiBoBu0E,GAErBJ,GACFD,EAAYC,KAEb,IAOH,OACEzvG,cAACynF,EAAgB8T,SAAQ,CACvBz8F,MAAO,CACLw8B,WACAi0E,aATe,SAACO,GACpBN,EAAYM,GAtBa,SAACx0E,GAC5B15B,OAAO+tG,aAAaI,QAAQ,WAAYp5F,KAAKC,UAAU0kB,IAsBrD00E,CAAcF,KAQV52F,SAEDA,KASyBuuE,EAAgBwoB,SAEjCxoB,O,mcC7EAyoB,EAfMC,YACnBnwG,cAAA,OACEowG,MAAM,6BACNC,QAAQ,YACR19B,KAAK,eAAcz5D,SAEnBlZ,cAAA,QACEswG,SAAS,UACTC,EAAE,0OACFC,SAAS,cAGb,c,gGCXWC,GAAS,eAAAhtG,EAAAC,YAAAC,IAAAC,MAAG,SAAAC,EAAO6sG,GAAM,IAAAhlF,EAAA,OAAA/nB,IAAAI,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,cAAAF,EAAAE,KAAA,EAClB25C,IAAMzS,IAAI,GAAD1rC,OAAImyC,KAAY8+D,OAAM,KAAAjxG,OAAIkxG,KAAO,qBAAqB,CAC/Ez+D,OAAQu+D,IACP,KAAD,EAFO,OAAHhlF,EAAG1nB,EAAA+R,KAAA/R,EAAAgiC,OAAA,SAGFta,EAAIphB,KAAKA,KAAKumG,UAAQ,wBAAA7sG,EAAAI,UAAAP,OAC9B,gBALqBQ,GAAA,OAAAZ,EAAAa,MAAA,KAAA/F,YAAA,G,UCYhBuyG,GAAkB,CACtB,CACEhyG,MAAO2uF,IACP12E,MAAO,SAET,CACEjY,MAAO+uF,IACP92E,MAAO,SAqGIg6F,GA3FV,SAAHttG,GAA0E,IAApEotG,EAAQptG,EAARotG,SAAUG,EAAavtG,EAAbutG,cAAeC,EAASxtG,EAATwtG,UAAWC,EAAgBztG,EAAhBytG,iBAAkBC,EAAM1tG,EAAN0tG,OACtDpyF,EAAUC,cAChBxf,EAAkDC,oBAAkB,GAAME,EAAAC,YAAAJ,EAAA,GAAnE4xG,EAAkBzxG,EAAA,GAAE0xG,EAAmB1xG,EAAA,GAExC2xG,EAAyB,IAAbT,EAAiBpjB,IAAeI,IAE5C0jB,EAAgB,eAAAhtG,EAAAb,YAAAC,IAAAC,MAAG,SAAAC,IAAA,IAAA2tG,EAAA,OAAA7tG,IAAAI,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,OACG,OAA1BmtG,GAAoB,GAAMrtG,EAAAC,KAAA,EAAAD,EAAAE,KAAA,EAEPusG,GAAUQ,GAAW,KAAD,EAA/BO,EAAExtG,EAAA+R,KACRi7F,EAAcQ,GAAIxtG,EAAAE,KAAA,gBAAAF,EAAAC,KAAA,EAAAD,EAAAwS,GAAAxS,EAAA,SAElByS,QAAQC,IAAIC,KAAKC,UAAS5S,EAAAwS,KAC1BsV,IAAMC,MAAM,+BAA+B,QAEK,OAFL/nB,EAAAC,KAAA,GAEvC8a,EAAQrgB,SAAS2yG,GAAoB,GAAOrtG,EAAA6S,OAAA,6BAAA7S,EAAAI,UAAAP,EAAA,wBAEnD,kBAXqB,OAAAU,EAAAD,MAAA,KAAA/F,YAAA,GAetB,OACE0b,eAACC,IAAG,CACFE,QAAQ,OACRlB,SAAA,CAEAlZ,cAACC,IAAS,CACR4a,KAAK,QACL42F,QAAM,EACN16F,MAAM,uBACNjY,MAAOwyG,EACPlyG,SAAU,SAACe,GAAC,OAZaonC,EAYcpnC,EAAEG,OAAOxB,MAZjBkyG,EAAczpE,IAAMkmD,IAAe,EAAI0jB,GAA9C,IAAC5pE,GAazBptB,GAAI,CAAEW,MAAO,KAAM5B,SAElB43F,GAAgBruG,KAAI,SAACivG,GAAG,OACvB1xG,cAACg6B,IAAQ,CAEPl7B,MAAO4yG,EAAI5yG,MAAMoa,SAEhBw4F,EAAI36F,OAHA26F,EAAI5yG,YAOdwyG,IAAczjB,KACb5zE,eAAAyW,WAAA,CAAAxX,SAAA,CACElZ,cAACf,KAAW,CACV4b,KAAK,QACL9D,MAAM,cACNjY,MAAO+xG,EACP1xG,YAAa,SAACwyG,GACK,OAAbA,GAIAA,EAAW,IAAGA,EAAW,GAC7BX,EAAcW,IAJZX,EAAcW,IAMlBx3F,GAAI,CACF4C,GAAI,EACJjC,MAAO,KAETiR,MAAoB,OAAb8kF,GAAqBA,EAAWM,EACvCS,WAAYf,EAAWM,GAAM,gCAAAzxG,OAAoCyxG,EAAM,OAEzEnxG,cAACka,IAAG,CACFwJ,GAAI,EACJyM,GAAI,GAAIjX,SAERlZ,cAACskD,IAAY,CACXzlD,MAAM,mBACNu+B,KAAMy0E,IACNh2F,QAAS01F,EACT19F,UAAWu9F,EACX/1F,MAAM,SACNkF,SAAU2wF,a,4BCqkBTY,GA3oB2B,SAAC5yG,GAAW,IAAD6yG,EAC3CxwF,EAA0BriB,EAA1BqiB,KAAMyN,EAAoB9vB,EAApB8vB,QAAS+vD,EAAW7/E,EAAX6/E,OACjBhgE,EAAUC,cAEhBxf,EAAoBC,mBAA8B,IAAGE,EAAAC,YAAAJ,EAAA,GAA9CktB,EAAE/sB,EAAA,GAAEqyG,EAAKryG,EAAA,GAChBue,EAAgDze,oBAAS,GAAM0e,EAAAve,YAAAse,EAAA,GAAxD+zF,EAAgB9zF,EAAA,GAAE+zF,EAAmB/zF,EAAA,GAC5CG,EAAsC7e,oBAAS,GAAM8e,EAAA3e,YAAA0e,EAAA,GAA9CsR,EAAYrR,EAAA,GAAEiR,EAAajR,EAAA,GAClCG,EAA4Bjf,mBAAiB,GAAEmf,EAAAhf,YAAA8e,EAAA,GAAxCy9C,GAAMv9C,EAAA,GAAEuzF,GAASvzF,EAAA,GAChBmzC,GAAW3yC,aAAY,SAAC1d,GAAK,OAAKA,EAAMqwD,UAAxCA,OACRhrC,GAAoCtnB,oBAAS,GAAMunB,GAAApnB,YAAAmnB,GAAA,GAA5CqrF,GAAWprF,GAAA,GAAEqrF,GAAYrrF,GAAA,GAChCG,GAA8B1nB,mBAAuB,IAAG2nB,GAAAxnB,YAAAunB,GAAA,GAAjDmrF,GAAOlrF,GAAA,GAAEmrF,GAAUnrF,GAAA,GAC1BG,GAAsC9nB,oBAAS,GAAM+nB,GAAA5nB,YAAA2nB,GAAA,GAA9CirF,GAAWhrF,GAAA,GAAEirF,GAAcjrF,GAAA,GAClCG,GAAoCloB,oBAAS,GAAMmoB,GAAAhoB,YAAA+nB,GAAA,GAA5C+qF,GAAW9qF,GAAA,GAAE+qF,GAAY/qF,GAAA,GAChCG,GAAoCtoB,oBAAS,GAAMuoB,GAAApoB,YAAAmoB,GAAA,GAA5CkB,GAAWjB,GAAA,GAAE4qF,GAAY5qF,GAAA,GAChCG,GAAkC1oB,oBAAS,GAAM2oB,GAAAxoB,YAAAuoB,GAAA,GAA1C0qF,GAAUzqF,GAAA,GAAE0qF,GAAW1qF,GAAA,GAC9BG,GAAgC9oB,oBAAkB,GAAM+oB,GAAA5oB,YAAA2oB,GAAA,GAAjD1U,GAAS2U,GAAA,GAAE8a,GAAU9a,GAAA,GAC5BG,GAAgClpB,mBAAiB,GAAEmpB,GAAAhpB,YAAA+oB,GAAA,GAA5CkoF,GAAQjoF,GAAA,GAAEmqF,GAAWnqF,GAAA,GACpBimD,GAAiBzvD,aAAY,SAAC1d,GAAK,OAAKA,EAAMihB,gBAA9CksD,aACFvwB,GAAaC,aAAc5lC,IAAgBH,KACjDgjB,GAAmCpc,aAAY,SAAC1d,GAAK,OAAKA,EAAMqwD,UAAxDihD,GAAQx3E,GAARw3E,SAAUC,GAAYz3E,GAAZy3E,aACZnvG,GAAWqb,cAEX+zF,GAAyB,OAAX/2C,KAAqB4iB,GAAU8xB,GAAW,GAAK10C,IAAU00C,GAEvEsC,GAAmB,eAAA1vG,EAAAC,YAAAC,IAAAC,MAAG,SAAAC,IAAA,IAAA26E,EAAApU,EAAA,OAAAzmE,IAAAI,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,UACR,kBAAPwoB,EAAe,CAAA1oB,EAAAE,KAAA,eAAAF,EAAAgiC,OAAA,iBAUzB,OATGw4C,EAAOtyE,YAAO6lD,GAAOqhD,gBACb/lG,WAAU,SAACqpC,GAAM,OAAKA,EAAO93C,KAAOuZ,aAAiBuU,EAAG2mF,iBAAiB,EAEnF70B,EAAQ11C,MAAK,SAACwqE,EAAGC,GAAC,OAAMD,EAAE10G,KAAOuZ,aAAiBuU,EAAG2mF,cAAgB,EAAKE,EAAE30G,KAAOuZ,aAAiBuU,EAAG2mF,aAAe,EAAI,MAE1H70B,EAAU,CAAC5mE,aAAmB8U,EAAG2mF,cAAc3zG,OAAO8+E,IAC1ChgF,OAAS,GACnBggF,EAAQ78E,OAAO,GAElBqC,EAAAC,KAAA,EAAAD,EAAAE,KAAA,EAEmBq6E,aAA0BxsB,GAAOqsB,SAASx/E,GAAI4/E,GAAS,KAAD,EAA/Dx6E,EAAA+R,OAEDq0D,EAAClqE,wBAAA,GACF6xD,IAAM,IACTqhD,cAAe50B,IAEjB16E,GAASwmE,YAAcF,IACvBtmE,GAASw4C,YAAmB,CAAC5vB,EAAG2mF,gBACjCrvG,EAAAE,KAAA,iBAAAF,EAAAC,KAAA,GAAAD,EAAAwS,GAAAxS,EAAA,SAEDyS,QAAQC,IAAIC,KAAKC,UAAS5S,EAAAwS,KAAO,yBAAAxS,EAAAI,UAAAP,EAAA,mBAEpC,kBAzBwB,OAAAJ,EAAAa,MAAA,KAAA/F,YAAA,GA2BnBi1G,GAAqB,eAAAjvG,EAAAb,YAAAC,IAAAC,MAAG,SAAAY,IAAA,IAAAivG,EAAA,OAAA9vG,IAAAI,MAAA,SAAAU,GAAA,cAAAA,EAAAR,KAAAQ,EAAAP,MAAA,OAC5ByuG,IAAcD,IACTA,GAIEP,GAAU,GAHXa,GAASllB,KACXqkB,GAAUpzB,EAASi0B,GAASllB,IAAI/O,OAASi0B,GAASllB,IAAI4lB,QAGzB,QAAjCD,EAAAt/E,SAASiV,eAAe,iBAAS,IAAAqqE,GAAjCA,EAAmC73D,QAAQ,wBAAAn3C,EAAAL,UAAAI,OAC5C,kBAR0B,OAAAD,EAAAD,MAAA,KAAA/F,YAAA,GAUrBo1G,GAAU,eAAAhvG,EAAAjB,YAAAC,IAAAC,MAAG,SAAAgB,IAAA,IAAA8mB,EAAA,OAAA/nB,IAAAI,MAAA,SAAAc,GAAA,cAAAA,EAAAZ,KAAAY,EAAAX,MAAA,OACG,OAApBsrB,GAAc,GAAM3qB,EAAAZ,KAAA,EAAAY,EAAAX,KAAA,EAEAk7E,aAChB9gC,GACc,kBAAP5xB,EAAkBA,EAAK9U,aAAmB8U,EAAG2mF,aACpDl3C,GACA4iB,EACA8xB,IACA,KAAD,EANQ,KAAHnlF,EAAG7mB,EAAAkR,OAOG2V,EAAIG,aAAY,CAAAhnB,EAAAX,KAAA,SAciD,OAb3EJ,GAAS8vG,YAAgB,CAAC,CACxBpnG,IAAKm2C,eACL8pC,OAAQnuC,GACRu1D,KAAoB,kBAAPnnF,EAAkB,KAAO9U,aAAmB8U,EAAG2mF,aAC5D5mF,KAAMslC,GAAOp0C,QACb+O,GAAkB,kBAAPA,EAAkBA,EAAKA,EAAGqlC,OAAOp0C,QAC5C+oE,KAAMvqB,GACNj6C,MAAO,WACP4xF,MAAM,IAAI32G,MAAOyP,cACjBmnG,OAAQh1B,EAAS,IAAM,IACvBi1B,IAAK,GACLnmF,OAAQkxD,EAASx7D,aAAOmI,EAAImC,OAAQ,YAAa,UAAY,YAC9DnuB,OAAAwM,YAAK+mG,OACY,kBAAPvmF,GAAiB5oB,GAASw4C,YAAmB,CAAC5vB,EAAG2mF,eAAexuG,EAAAX,KAAA,GACrEivG,KAAsB,KAAD,GAC3BrnF,IAAMkB,QAAQ,iDACdgC,IAAUnqB,EAAAX,KAAA,iBAEV4nB,IAAMC,MAAM,uBAAuB,QAAAlnB,EAAAX,KAAA,iBAAAW,EAAAZ,KAAA,GAAAY,EAAA2R,GAAA3R,EAAA,SAGrC4R,QAAQC,IAAIC,KAAKC,UAAS/R,EAAA2R,KAC1BsV,IAAMC,MAAM,uBAAuB,QAIlC,OAJkClnB,EAAAZ,KAAA,GAE/B8a,EAAQrgB,SACV8wB,GAAc,GACf3qB,EAAAgS,OAAA,6BAAAhS,EAAAT,UAAAQ,EAAA,yBAEJ,kBAvCe,OAAAD,EAAAL,MAAA,KAAA/F,YAAA,GAyCV01G,GAAqB,SAAC9zG,GAC1B,GAAuB,KAAnBA,EAAEG,OAAOxB,MAGX,OAFAqzG,GAAU,WACVQ,IAAa,GAGf,IAAKvyG,OAAOC,MAAMD,OAAOD,EAAEG,OAAOxB,QAAS,CACzC,IAAIo1G,EAAK9zG,OAAOD,EAAEG,OAAOxB,QACrBsB,OAAOC,MAAM6zG,IAAOA,EAAK,KAAGA,EAAK,GACrC,IAAMC,EAAap1B,EAASi0B,GAASllB,IAAI/O,OAASi0B,GAASllB,IAAI4lB,OAC3DQ,EAAKC,IAAYD,EAAKC,GAC1BhC,GAA6B,KAAnBhyG,EAAEG,OAAOxB,MAAe,KAAOo1G,GACzCvB,GAAauB,IAAOC,KAIlBC,GAAO,eAAApvG,EAAAtB,YAAAC,IAAAC,MAAG,SAAAqB,EAAOouG,GAAwB,IAAA3nF,EAAA,OAAA/nB,IAAAI,MAAA,SAAAmB,GAAA,cAAAA,EAAAjB,KAAAiB,EAAAhB,MAAA,OAE3B,OADlBmuG,IAAa,GACbS,IAAY,GAAM5tG,EAAAhB,KAAA,EACAu6E,aAAoB,CAAE7/E,GAAIy0G,EAAY7mG,IAAKyL,KAAMo7F,EAAYp7F,MAAQ41E,KAAY,KAAD,EAA5FniE,EAAGxmB,EAAA6Q,KACLgJ,EAAQrgB,UACVo0G,IAAY,GACRpnF,GAEFsmF,EAAM,CACJqB,cACAthD,OAAQrmC,IAGV2mF,IAAa,KAEbA,IAAa,GACbL,EAAM,IACNlmF,IAAMC,MAAM,YAADrsB,OAAkC,IAArB2zG,EAAYp7F,KAAa,OAAS,eAAc,8BAE3E,wBAAA/S,EAAAd,UAAAa,OACF,gBApBYZ,GAAA,OAAAW,EAAAV,MAAA,KAAA/F,YAAA,GAsBP81G,GAAQ,eAAAjvG,EAAA1B,YAAAC,IAAAC,MAAG,SAAAyB,EAAOvG,GAAa,IAAA4sB,EAAA4oF,EAAA,OAAA3wG,IAAAI,MAAA,SAAAuB,GAAA,cAAAA,EAAArB,KAAAqB,EAAApB,MAAA,OACf,GAApBmuG,IAAa,GACRvzG,GAA0B,IAAjBA,EAAMN,OAAY,CAAA8G,EAAApB,KAAA,QAEf,OADfuuG,IAAe,GACfF,GAAW,IAAIjtG,EAAA0gC,OAAA,oBAGH,MAAVlnC,EAAa,CAAAwG,EAAApB,KAAA,eAAAoB,EAAA0gC,OAAA,oBACH,OAAVlnC,EAAc,CAAAwG,EAAApB,KAAA,eAAAoB,EAAA0gC,OAAA,oBACY,OAA1BlnC,EAAMwqC,UAAU,EAAG,GAAW,CAAAhkC,EAAApB,KAAA,SACV,GAAtBuuG,IAAe,GACM,KAAjB3zG,EAAMN,OAAa,CAAA8G,EAAApB,KAAA,SAED,OADpBquG,GAAW,IACXF,IAAa,GAAO/sG,EAAA0gC,OAAA,kBAIP,OADfqsE,IAAa,GACbE,GAAW,IAAIjtG,EAAA0gC,OAAA,kBAIE,OADnBysE,IAAe,GACfG,IAAa,GAAMttG,EAAApB,KAAA,GACDw7E,aAAmB5gF,GAAO,KAAD,GAAlC,GAAH4sB,EAAGpmB,EAAAyQ,KACJgJ,EAAQrgB,QAAQ,CAAD4G,EAAApB,KAAA,gBAAAoB,EAAA0gC,OAAA,kBACpB4sE,IAAa,GACTlnF,GAAOruB,MAAMc,QAAQutB,KACjB4oF,EAAY5oF,EAAIjiB,QAAO,SAACjM,GAAI,OAAKA,EAAK61G,YAAY7mG,MAAQ8xC,GAAW1/C,OACjEkqC,MAAK,SAACyrE,EAAIC,GAClB,OAAID,EAAGxiD,SAAWyiD,EAAGC,QAAgB,GAChCF,EAAGxiD,QAAUyiD,EAAGziD,OAAe,EAC7B,KAETwgD,GAAW+B,IAEX/B,GAAW,IACZ,yBAAAjtG,EAAAlB,UAAAiB,OACF,gBApCaX,GAAA,OAAAU,EAAAd,MAAA,KAAA/F,YAAA,GAgHd,OAnCAwB,qBAAU,WACR,GAAIwhB,EAAM,CACR,GAAIwwC,GAAOqhD,cAAc50G,OAAS,EAAG,CACnC,IAAMk2G,EAAiB3iD,GAAOqhD,cAAc3pG,QAAO,SAACjH,GAAI,OAAMqsE,GAAa54D,MAAK,SAAC04F,GAAQ,OAAKA,EAAS52F,OAAOtV,KAAI,SAAA+C,GAAK,OAAAA,EAAF5G,MAAaiO,SAASrK,EAAK5D,UAC5I81G,EAAel2G,OAAS,IAC1B8kC,IAAW,GACX8Y,aAAsBs4D,GACnB/0F,MAAK,SAACnd,GACLsB,GAASw4C,YAAmB95C,OAE7Bsd,OAAM,SAACC,GACNtJ,QAAQC,IAAIC,KAAKC,UAAUmJ,IAC3B+L,IAAMC,MAAM,gDAEbmd,SAAQ,WACHnqB,EAAQrgB,SAAS4kC,IAAW,OAIxC0uE,EAAM,IACNO,GAAW,IACXF,IAAa,GACbH,GAAoB,GACpBO,IAAe,GACfE,IAAa,GACbR,GAAU,MAEX,CAAC5wF,IAEJxhB,qBAAU,WACU,IAAD40G,EAAbvC,KAC+B,QAAjCuC,EAAAxgF,SAASiV,eAAe,iBAAS,IAAAurE,GAAjCA,EAAmC/4D,WAEpC,CAACw2D,KAGFn4F,eAACm3B,IAAe,CACd7vB,KAAMA,EACNyN,QAASA,EAAQ9V,SAAA,CAEjBlZ,cAACsxC,IAAoB,CACnBtiB,QAASA,EAAQ9V,SAEhB6lE,EAAS,iBAAmB,mBAE/B/+E,cAACuZ,IAAS,CACRG,QAAS,CAAEC,iBAAiB,GAAOT,SAEnCe,eAACC,IAAG,CACFC,GAAI,CACFwW,GAAI,EACJ7V,MAAO,SACP5B,SAAA,CAEFe,eAACC,IAAG,CACFC,GAAI,CACFsJ,WAAY,SACZ+U,gBAAiB,qBACjBvC,aAAc,GACd7b,QAAS,OACT0B,OAAQ,GACRrB,GAAI,GACJvB,SAAA,CAEDk5F,GACCpyG,cAAC40G,IAAW,CACVz6F,GAAI,CACFkB,MAAO,SAACuF,GAAK,OAAKA,EAAMC,QAAQmM,QAAQ4K,OAE1C5b,SAAS,UAGXhc,cAACkwG,EAAY,CACX70F,MAAM,SACNW,SAAS,UAGb/B,eAACC,IAAG,CACFC,GAAI,CACFwB,SAAU,EACV+H,GAAI,GACJxK,SAAA,CAEa,kBAAPwT,GACN1sB,cAAC60G,IAAK,CACJrkF,WAAS,EACTzO,WAAS,EACT+yF,kBAAgB,EAChB11G,SArHO,SAACe,GACtB6xG,EAAM7xG,EAAEG,OAAOxB,OACXqB,EAAEG,OAAOxB,MAAMN,OAAS,GAC1B0zG,GAAoB,GAEtBmC,GAASl0G,EAAEG,OAAOxB,QAiHJ+iB,YAAY,qDACZ/iB,MAAO4tB,IAGI,kBAAPA,GACN1sB,cAACka,IAAG,CACFC,GAAI,CACFC,QAAS,OACTqJ,WAAY,UACZvK,SAEFlZ,cAAC+0G,IAAa,CAACn6F,SAAU8R,EAAG2mF,mBAIjCpB,GACCjyG,cAAC4b,IAAU,CACTC,QAjJW,WACvBm2F,EAAM,IACNO,GAAW,IACXF,IAAa,GACbH,GAAoB,GACpBO,IAAe,GACfE,IAAa,GACbR,GAAU,IA2IEh4F,GAAI,CACFyH,EAAG,GACH1I,SAEFlZ,cAACkwB,IAAK,CACJ7U,MAAM,SACNW,SAAS,gBAKjBhc,cAACka,IAAG,CACFC,GAAI,CACF2B,OAAQ,IACRgB,GAAI,GACJ5D,SAEDk5F,GACCn4F,eAACC,IAAG,CACFE,QAAQ,OACRC,cAAc,SACdyB,OAAO,OAAM5C,SAAA,CAEbe,eAACC,IAAG,CACFE,QAAQ,OACRC,cAAc,SACdyB,OAAO,OAAM5C,SAAA,CAEblZ,cAACf,KAAW,CACV8iB,WAAS,EACTnjB,GAAG,SACHmY,MAAM,WACNi+F,OAAO,SACPzzG,KAAK,SACLy9B,OAAQi1E,GACR70G,SAAU60G,GACVl1E,QAAS,SAAC5+B,GAAC,OAAKA,EAAEG,OAAOmxG,UACzB3yG,MAAOq9D,GACP5gD,QAAQ,WACRwQ,MAAOmnF,GACPtB,WAAYsB,IAAe,4CAE7BlzG,cAAC2yC,IAAU,CACTnlC,QAASklG,GACTtzG,SAAU,kBAAMo0G,MAChBz8F,MAAM,qBAEJoD,GAAI,CACF4C,GAAI,MAIRgiE,GACA/+E,cAACka,IAAG,CACFE,QAAQ,OACRmY,eAAe,SACfzV,GAAI,EAAE5D,SAENlZ,cAAC+wG,GAAQ,CACPF,SAAUA,GACVG,cAAe,SAACzpE,GAAC,OAAKwrE,GAAYxrE,IAClC0pE,UAAW,CACTh5F,KAAM,YAERi5F,kBAAmB/0C,GACnBg1C,OAAQ,SAKhBl3F,eAACC,IAAG,CACFE,QAAQ,OACRmY,eAAe,SACf3B,GAAI,EAAE1X,SAAA,CAENlZ,cAACoiB,IAAM,CACL/G,MAAM,UACNR,KAAK,SACLV,GAAI,CACFW,MAAO,SAET7C,KAAK,SACLsD,QAAQ,OACRM,QAASmT,EAAQ9V,SAClB,WAGDe,eAACmI,IAAM,CACL/G,MAAM,UACNR,KAAK,SACLV,GAAI,CACF4C,GAAI,EACJjC,MAAO,SAET7C,KAAK,SACL4D,QAAS83F,GACTpzF,SAAUqP,GAAgBsjF,GAC1B33F,QAAQ,YAAWrC,SAAA,CAElB0W,GACC5vB,cAAC6yB,IAAgB,CACfxX,MAAM,UACNR,KAAM,GACNV,GAAI,CAAE2Y,YAAa,SAErB,gBAMR9yB,cAAA0wB,WAAA,CAAAxX,SACElZ,cAACka,IAAG,CACFC,GAAI,CACFC,QAAS,OACTuW,GAAI,GACJzX,SAEFe,eAACg7F,IAAK,CACJ96F,GAAI,CACF,OAAQ,CACNK,GAAI,IACJC,GAAI,EACJuB,SAAU,OACVhB,WAAY,SACZvB,SAAU,SACVsB,aAAc,WACd0F,QAAS0e,IACT9jB,MAAO,QACPyF,WAAY,WAEd5H,SAAA,CAEFlZ,cAACk1G,IAAS,CAAAh8F,SACRlZ,cAACm1G,IAAQ,CAAAj8F,SACPlZ,cAACo1G,IAAS,CACRj7F,GAAI,CACFK,GAAI,GACJtB,SAEDs5F,GAAc,iBAAmB,gBAIvCA,GACCv4F,eAACo7F,IAAS,CAAAn8F,SAAA,EACN+P,IAAeqpF,GAAQ9zG,OAAS,GAAK8zG,GAAQ7vG,KAAI,SAACmxD,GAAM,OACxD5zD,cAACm1G,IAAQ,CACPG,OAAK,EAELz5F,QAAS,WAtRR,IAAC05F,KAsRgC3hD,GArR1C7B,QAIhBigD,EAAMuD,GACNrD,GAAoB,GACpBG,IAAa,IALXvmF,IAAMC,MAAM,YAADrsB,OAA6C,IAAhC61G,EAAWlC,YAAYp7F,KAAa,OAAS,eAAc,6BAoRnBiB,SAE1ClZ,cAACo1G,IAAS,CACRj7F,GAAI,CACFK,GAAI,GACJtB,SAEFe,eAACu7F,IAAI,CACHC,WAAS,EACTvhF,UAAU,MACV3B,eAAe,gBACf9O,WAAW,SAAQvK,SAAA,CAEnBlZ,cAACka,IAAG,CACFC,GAAI,CACFC,QAAS,OACTqJ,WAAY,UACZvK,SAEFlZ,cAAC+0G,IAAa,CAACn6F,SAAUg5C,EAAOy/C,iBAEhCz/C,EAAO7B,QACP/xD,cAACuwB,IAAU,CACThV,QAAQ,QACRpB,GAAI,CACFkB,MAAO,OACPnC,SACH,oBA5BFw6B,mBAoCPzqB,IAAkC,IAAnBqpF,GAAQ9zG,QACvBwB,cAACm1G,IAAQ,CAAAj8F,SACPlZ,cAACo1G,IAAS,CACRj7F,GAAI,CACFK,GAAI,EACJk7F,OAAQ,GACRx8F,SAEFlZ,cAACuwB,IAAU,CACThV,QAAQ,QACRF,MAAM,gBACNlB,GAAI,CACF2C,GAAI,EACJ1C,QAAS,OACTmY,eAAgB,UAChBrZ,SACH,yBAMN+P,IACCjpB,cAACm1G,IAAQ,CAAAj8F,SACPlZ,cAACo1G,IAAS,CACRj7F,GAAI,CACFK,GAAI,EACJk7F,OAAQ,GACRx8F,SAEFlZ,cAACka,IAAG,CACFC,GAAI,CACFC,QAAS,OACTmY,eAAgB,SAChBzC,QAAS,EACTrO,SAAU,QACVvI,SAEFlZ,cAAC6yB,IAAgB,CACfxX,MAAM,UACNR,KAAM,cAQlBZ,eAACo7F,IAAS,CAAAn8F,SAAA,CACPrF,IACC7T,cAACm1G,IAAQ,CAAAj8F,SACPlZ,cAACo1G,IAAS,CAAAl8F,SACRlZ,cAAC6yB,IAAgB,CACf1Y,GAAI,CACF4C,GAAI,GAEN1B,MAAM,UACNR,KAAM,UAKZhH,KAAiC,QAAxBk+F,EAAIhgD,GAAOqhD,qBAAa,IAAArB,OAAA,EAApBA,EAAsBtvG,KAAI,SAACkzG,GAAM,OAC9C31G,cAACm1G,IAAQ,CACPG,OAAK,EAELz5F,QAAS,kBAjXR,SAAC+5F,GAC1B,IAAMC,EAAc7nF,aAAmB4nF,GACjCvC,EAAWnzG,wBAAA,GAAQ21G,GAAW,IAAE99F,OAAQ,CAAC,CAAEnZ,GAAIi3G,EAAYrpG,IAAKyL,KAAM49F,EAAY59F,SACxF+5F,EAAM,CACJqB,cACAthD,OAAQ,OAEVmgD,GAAoB,GACpBkC,GAAQf,GAyW+ByC,CAAmBH,IAAQz8F,SAE1B,kBAAPwT,GAAmBipF,EAAO/2G,KAAO8tB,EAAG2mF,YAAY7mG,IACvDxM,cAACo1G,IAAS,CAAAl8F,SACRe,eAACu7F,IAAI,CACHC,WAAS,EACTp7F,cAAc,MACdoJ,WAAW,SACX8O,eAAe,gBAAerZ,SAAA,CAE9BlZ,cAACka,IAAG,CACFC,GAAI,CACFC,QAAS,OACTqJ,WAAY,UACZvK,SAEFlZ,cAAC+0G,IAAa,CAACn6F,SAAUoT,aAAmB2nF,OAE7C9C,IACC54F,eAACC,IAAG,CACFE,QAAQ,OACRC,cAAc,MACdoJ,WAAW,SAAQvK,SAAA,CAEnBlZ,cAACuwB,IAAU,CACThV,QAAQ,YACRF,MAAM,gBACN0B,GAAI,EACJg5F,MAAM,QAAO78F,SACd,gBAGDlZ,cAAC6yB,IAAgB,CACf1Y,GAAI,CACF4C,GAAI,GAEN1B,MAAM,UACNR,KAAM,aAOhB7a,cAACo1G,IAAS,CAAAl8F,SACRlZ,cAACka,IAAG,CACFC,GAAI,CACFC,QAAS,OACTqJ,WAAY,UACZvK,SAEFlZ,cAAC+0G,IAAa,CAACn6F,SAAUoT,aAAmB2nF,UApD7CjiE,wCC6OlBsiE,GA7yBmB,SAAC92G,GAAW,IAAD6yG,EACnCxwF,EAA4BriB,EAA5BqiB,KAAMyN,EAAsB9vB,EAAtB8vB,QAASinF,EAAa/2G,EAAb+2G,SACjBl3F,EAAUC,cAEhBxf,EAAoBC,mBAA8B,IAAGE,EAAAC,YAAAJ,EAAA,GAA9CktB,EAAE/sB,EAAA,GAAEqyG,EAAKryG,EAAA,GAChBue,EAAgDze,oBAAS,GAAM0e,EAAAve,YAAAse,EAAA,GAAxD+zF,EAAgB9zF,EAAA,GAAE+zF,EAAmB/zF,EAAA,GAC5CG,EAAsC7e,oBAAS,GAAM8e,EAAA3e,YAAA0e,EAAA,GAA9CsR,EAAYrR,EAAA,GAAEiR,EAAajR,EAAA,GAClCG,EAA4Bjf,mBAAiB,GAAEmf,EAAAhf,YAAA8e,EAAA,GAAxCy9C,GAAMv9C,EAAA,GAAEuzF,GAASvzF,EAAA,GAChBmzC,GAAW3yC,aAAY,SAAC1d,GAAK,OAAKA,EAAMqwD,UAAxCA,OACRhrC,GAAoCtnB,oBAAS,GAAMunB,GAAApnB,YAAAmnB,GAAA,GAA5CqrF,GAAWprF,GAAA,GAAEqrF,GAAYrrF,GAAA,GAChCG,GAA8B1nB,mBAAuB,IAAG2nB,GAAAxnB,YAAAunB,GAAA,GAAjDmrF,GAAOlrF,GAAA,GAAEmrF,GAAUnrF,GAAA,GAC1BG,GAAsC9nB,oBAAS,GAAM+nB,GAAA5nB,YAAA2nB,GAAA,GAA9CirF,GAAWhrF,GAAA,GAAEirF,GAAcjrF,GAAA,GAClCG,GAAoCloB,oBAAS,GAAMmoB,GAAAhoB,YAAA+nB,GAAA,GAA5C+qF,GAAW9qF,GAAA,GAAE+qF,GAAY/qF,GAAA,GAChCG,GAAoCtoB,oBAAS,GAAMuoB,GAAApoB,YAAAmoB,GAAA,GAA5CkB,GAAWjB,GAAA,GAAE4qF,GAAY5qF,GAAA,GAChCG,GAAkC1oB,oBAAS,GAAM2oB,GAAAxoB,YAAAuoB,GAAA,GAA1C0qF,GAAUzqF,GAAA,GAAE0qF,GAAW1qF,GAAA,GAC9BG,GAAwC9oB,oBAAS,GAAM+oB,GAAA5oB,YAAA2oB,GAAA,GAAhD2tF,GAAa1tF,GAAA,GAAE2tF,GAAc3tF,GAAA,GACpCG,GAAsClpB,oBAAS,GAAMmpB,GAAAhpB,YAAA+oB,GAAA,GAA9CytF,GAAYxtF,GAAA,GAAEytF,GAAaztF,GAAA,GAClCG,GAAwCtpB,mBAAS,GAAEupB,GAAAppB,YAAAmpB,GAAA,GAA5CutF,GAAYttF,GAAA,GAAEutF,GAAevtF,GAAA,GACpCG,GAAgC1pB,oBAAkB,GAAM2pB,GAAAxpB,YAAAupB,GAAA,GAAjDtV,GAASuV,GAAA,GAAEka,GAAUla,GAAA,GACpBylD,GAAiBzvD,aAAY,SAAC1d,GAAK,OAAKA,EAAMihB,gBAA9CksD,aACAokC,GAAiB7zF,aAAY,SAAC1d,GAAK,OAAKA,EAAMqwD,UAA9CkhD,aACF30D,GAAaC,aAAc5lC,IAAgBH,KAC3C1U,GAAWqb,cAEXq3F,GAAQ,eAAA/yG,EAAAC,YAAAC,IAAAC,MAAG,SAAAC,IAAA,IAAA4yG,EAAAC,EAAA,OAAA/yG,IAAAI,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,OACK,OAApBmyG,IAAc,GAAMryG,EAAAC,KAAA,EAAAD,EAAAE,KAAA,EAEDu7E,aAAkB1tB,GAAOqsB,SAASx/E,GAAIq3G,GAAU,KAAD,EAC9C,GADZQ,EAAEzyG,EAAA+R,KACJ2gG,EAAY,EACC,UAAbT,EAAoB,CAAAjyG,EAAAE,KAAA,gBAAAF,EAAAE,KAAA,EAAqBu6E,aAAoBngC,GAAY23D,GAAS,OAA5DS,EAAS1yG,EAAA+R,KAAqD6tD,QAAQ,KAAD,MAC1F7kD,EAAQrgB,QAAQ,CAADsF,EAAAE,KAAA,gBAAAF,EAAAgiC,OAAA,SAAS,MAAI,QACZ,GAArBqwE,IAAc,IACVI,EAAG,CAADzyG,EAAAE,KAAA,SAaH,OAZDqyG,GAAgBE,EAAGH,cACf5D,KACE+D,EAAG7yC,QAAU6yC,EAAGH,aAEhBnE,GADe,UAAb8D,EACQQ,EAAG7yC,QAAU6yC,EAAGH,aAEhBI,IAGZ5qF,IAAMC,MAAM,gDACZomF,GAAU,KAEbnuG,EAAAgiC,OAAA,SACMywE,GAAE,QAEXF,GAAgB,GAAGvyG,EAAAE,KAAA,iBAAAF,EAAAC,KAAA,GAAAD,EAAAwS,GAAAxS,EAAA,SAEnByS,QAAQC,IAAIC,KAAKC,UAAS5S,EAAAwS,KAAO,eAAAxS,EAAAgiC,OAAA,SAE5B,MAAI,yBAAAhiC,EAAAI,UAAAP,EAAA,mBACZ,kBA7Ba,OAAAJ,EAAAa,MAAA,KAAA/F,YAAA,GA+BR40G,GAAmB,eAAA5uG,EAAAb,YAAAC,IAAAC,MAAG,SAAAY,IAAA,IAAAg6E,EAAApU,EAAA,OAAAzmE,IAAAI,MAAA,SAAAU,GAAA,cAAAA,EAAAR,KAAAQ,EAAAP,MAAA,UACR,kBAAPwoB,EAAe,CAAAjoB,EAAAP,KAAA,eAAAO,EAAAuhC,OAAA,iBAUzB,OATGw4C,EAAOtyE,YAAO6lD,GAAOqhD,gBACb/lG,WAAU,SAACqpC,GAAM,OAAKA,EAAO93C,KAAOuZ,aAAiBuU,EAAG2mF,iBAAiB,EAEnF70B,EAAQ11C,MAAK,SAACwqE,EAAGC,GAAC,OAAMD,EAAE10G,KAAOuZ,aAAiBuU,EAAG2mF,cAAgB,EAAKE,EAAE30G,KAAOuZ,aAAiBuU,EAAG2mF,aAAe,EAAI,MAE1H70B,EAAU,CAAC5mE,aAAmB8U,EAAG2mF,cAAc3zG,OAAO8+E,IAC1ChgF,OAAS,GACnBggF,EAAQ78E,OAAO,GAElB8C,EAAAR,KAAA,EAAAQ,EAAAP,KAAA,EAEmBq6E,aAA0BxsB,GAAOqsB,SAASx/E,GAAI4/E,GAAS,KAAD,EAA/D/5E,EAAAsR,OAEDq0D,EAAClqE,wBAAA,GACF6xD,IAAM,IACTqhD,cAAe50B,IAEjB16E,GAASwmE,YAAcF,IACvBtmE,GAASw4C,YAAmB,CAAC5vB,EAAG2mF,gBACjC5uG,EAAAP,KAAA,iBAAAO,EAAAR,KAAA,GAAAQ,EAAA+R,GAAA/R,EAAA,SAEDgS,QAAQC,IAAIC,KAAKC,UAASnS,EAAA+R,KAAO,yBAAA/R,EAAAL,UAAAI,EAAA,mBAEpC,kBAzBwB,OAAAD,EAAAD,MAAA,KAAA/F,YAAA,GA2BnBi1G,GAAqB,eAAA7uG,EAAAjB,YAAAC,IAAAC,MAAG,SAAAgB,IAAA,IAAA6uG,EAAAgD,EAAAC,EAAA/B,EAAA,OAAAhxG,IAAAI,MAAA,SAAAc,GAAA,cAAAA,EAAAZ,KAAAY,EAAAX,MAAA,OACD,GAA3ByuG,IAAcD,IACTA,GAAY,CAAD7tG,EAAAX,KAAA,SACM,OAApBmyG,IAAc,GAAMxxG,EAAAZ,KAAA,EAAAY,EAAAX,KAAA,EAEDu7E,aAAkB1tB,GAAOqsB,SAASx/E,GAAIq3G,GAAU,KAAD,EAC9C,GADZQ,EAAE5xG,EAAAkR,KACJ2gG,EAAY,EACC,UAAbT,EAAoB,CAAApxG,EAAAX,KAAA,gBAAAW,EAAAX,KAAA,GAAqBu6E,aAAoB1sB,GAAOqsB,SAAU63B,GAAS,QAAjES,EAAS7xG,EAAAkR,KAA0D6tD,QAAQ,KAAD,MAC/F7kD,EAAQrgB,QAAQ,CAADmG,EAAAX,KAAA,gBAAAW,EAAAmhC,OAAA,kBACpBqwE,IAAc,GACVI,GACFF,GAAgBE,EAAGH,cACfG,EAAG7yC,QAAU6yC,EAAGH,aAEhBnE,GADe,UAAb8D,EACQQ,EAAG7yC,QAAU6yC,EAAGH,aAEhBI,IAGZ5qF,IAAMC,MAAM,gDACZomF,GAAU,KAGZoE,GAAgB,GAEe,QAAjC9C,EAAAt/E,SAASiV,eAAe,iBAAS,IAAAqqE,GAAjCA,EAAmC73D,QAAQ/2C,EAAAX,KAAA,iBAAAW,EAAAZ,KAAA,GAAAY,EAAA2R,GAAA3R,EAAA,SAE3C4R,QAAQC,IAAIC,KAAKC,UAAS/R,EAAA2R,KAAO,QAAA3R,EAAAX,KAAA,iBAGnCiuG,GAAU,GACuB,QAAjCwC,EAAAxgF,SAASiV,eAAe,iBAAS,IAAAurE,GAAjCA,EAAmC/4D,QAAQ,yBAAA/2C,EAAAT,UAAAQ,EAAA,mBAE9C,kBAjC0B,OAAAD,EAAAL,MAAA,KAAA/F,YAAA,GAmCrBo4G,GAAU,eAAA3xG,EAAAtB,YAAAC,IAAAC,MAAG,SAAAqB,IAAA,IAAA2xG,EAAA,OAAAjzG,IAAAI,MAAA,SAAAmB,GAAA,cAAAA,EAAAjB,KAAAiB,EAAAhB,MAAA,YACbi4D,IAAU,GAAC,CAAAj3D,EAAAhB,KAAA,QAE8B,OAD3C4nB,IAAMC,MAAM,uCACqB,QAAjC6qF,EAAAziF,SAASiV,eAAe,iBAAS,IAAAwtE,GAAjCA,EAAmCh7D,QAAQ12C,EAAA8gC,OAAA,iBAG7CmwE,IAAe,GAAM,wBAAAjxG,EAAAd,UAAAa,OACtB,kBAPe,OAAAD,EAAAV,MAAA,KAAA/F,YAAA,GASVs4G,GAAY,eAAAzxG,EAAA1B,YAAAC,IAAAC,MAAG,SAAAyB,IAAA,OAAA1B,IAAAI,MAAA,SAAAuB,GAAA,cAAAA,EAAArB,KAAAqB,EAAApB,MAAA,OACnBiyG,IAAe,GAAO,wBAAA7wG,EAAAlB,UAAAiB,OACvB,kBAFiB,OAAAD,EAAAd,MAAA,KAAA/F,YAAA,GAIZo1G,GAAU,eAAAnuG,EAAA9B,YAAAC,IAAAC,MAAG,SAAA6B,IAAA,IAAAimB,EAAA,OAAA/nB,IAAAI,MAAA,SAAA2B,GAAA,cAAAA,EAAAzB,KAAAyB,EAAAxB,MAAA,OACG,OAApBsrB,GAAc,GAAM9pB,EAAAzB,KAAA,EAAAyB,EAAAxB,KAAA,EAEA27E,aAAqBvhC,GAA0B,kBAAP5xB,EAAkBA,EAAK9U,aAAmB8U,EAAG2mF,aAAcl3C,GAAQ85C,GAAU,KAAD,EAA7H,KAAHvqF,EAAGhmB,EAAAqQ,OACiB,YAAf2V,EAAIkoC,OAAoB,CAAAluD,EAAAxB,KAAA,SAE0C,OAD3EJ,GAAS8vG,YAAgB,CAACloF,EAAI6C,aAAW7uB,OAAAwM,YAAK+mG,OAC5B,kBAAPvmF,GAAiB5oB,GAASw4C,YAAmB,CAAC5vB,EAAG2mF,eAAe3tG,EAAAxB,KAAA,GACrEivG,KAAsB,KAAD,GAC3BrnF,IAAMkB,QAAQ,iDAAiDtnB,EAAAxB,KAAA,iBAE/D4nB,IAAMC,MAAML,EAAIG,cAAc,QAAAnmB,EAAAxB,KAAA,iBAAAwB,EAAAzB,KAAA,GAAAyB,EAAA8Q,GAAA9Q,EAAA,SAGhC+Q,QAAQsV,MAAMpV,KAAKC,UAASlR,EAAA8Q,KAC5BsV,IAAMkB,QAAQ,6BAA6B,QAED,OAFCtnB,EAAAzB,KAAA,GAEvC8a,EAAQrgB,SAAS8wB,GAAc,GAAO9pB,EAAAmR,OAAA,YAE5CmY,IAAU,yBAAAtpB,EAAAtB,UAAAqB,EAAA,yBACX,kBAnBe,OAAAD,EAAAlB,MAAA,KAAA/F,YAAA,GAqBV01G,GAAqB,SAAC9zG,GACH,KAAnBA,EAAEG,OAAOxB,MAAcqzG,GAAU,MAChCA,GAAU/xG,OAAOD,EAAEG,OAAOxB,QAC/B6zG,IAAa,IAGTyB,GAAO,eAAAxuG,EAAAlC,YAAAC,IAAAC,MAAG,SAAAiC,EAAOwtG,GAAwB,IAAA3nF,EAAA,OAAA/nB,IAAAI,MAAA,SAAA+B,GAAA,cAAAA,EAAA7B,KAAA6B,EAAA5B,MAAA,OAE3B,OADlBmuG,IAAa,GACbS,IAAY,GAAMhtG,EAAA7B,KAAA,EAAA6B,EAAA5B,KAAA,EAEEu6E,aAAoB,CAAE7/E,GAAIy0G,EAAY7mG,IAAKyL,KAAMo7F,EAAYp7F,MAAQg+F,GAAU,KAAD,EAA1FvqF,EAAG5lB,EAAAiQ,KACLgJ,EAAQrgB,UACNgtB,GAEFsmF,EAAM,CACJqB,cACAthD,OAAQrmC,IAGV2mF,IAAa,KAEbA,IAAa,GACbL,EAAM,IACNlmF,IAAMC,MAAM,YAADrsB,OAAkC,IAArB2zG,EAAYp7F,KAAa,OAAS,eAAc,8BAE3EnS,EAAA5B,KAAA,gBAAA4B,EAAA7B,KAAA,EAAA6B,EAAA0Q,GAAA1Q,EAAA,SAED2Q,QAAQC,IAAIC,KAAKC,UAAS9Q,EAAA0Q,KAAO,QAEO,OAFP1Q,EAAA7B,KAAA,GAE7B8a,EAAQrgB,SAASo0G,IAAY,GAAOhtG,EAAA+Q,OAAA,6BAAA/Q,EAAA1B,UAAAyB,EAAA,wBAE3C,gBAzBYxB,GAAA,OAAAuB,EAAAtB,MAAA,KAAA/F,YAAA,GA2BP81G,GAAQ,eAAApuG,EAAAvC,YAAAC,IAAAC,MAAG,SAAAsC,EAAOpH,GAAa,IAAA4sB,EAAA4oF,EAAA,OAAA3wG,IAAAI,MAAA,SAAAoC,GAAA,cAAAA,EAAAlC,KAAAkC,EAAAjC,MAAA,OACf,GAApBmuG,IAAa,GACRvzG,GAA0B,IAAjBA,EAAMN,OAAY,CAAA2H,EAAAjC,KAAA,QAEf,OADfuuG,IAAe,GACfF,GAAW,IAAIpsG,EAAA6/B,OAAA,oBAGH,MAAVlnC,EAAa,CAAAqH,EAAAjC,KAAA,eAAAiC,EAAA6/B,OAAA,oBACH,OAAVlnC,EAAc,CAAAqH,EAAAjC,KAAA,eAAAiC,EAAA6/B,OAAA,oBACY,OAA1BlnC,EAAMwqC,UAAU,EAAG,GAAW,CAAAnjC,EAAAjC,KAAA,SACV,GAAtBuuG,IAAe,GACM,KAAjB3zG,EAAMN,OAAa,CAAA2H,EAAAjC,KAAA,SAED,OADpBquG,GAAW,IACXF,IAAa,GAAOlsG,EAAA6/B,OAAA,kBAIP,OADfqsE,IAAa,GACbE,GAAW,IAAIpsG,EAAA6/B,OAAA,kBAIE,OADnBysE,IAAe,GACfG,IAAa,GAAMzsG,EAAAlC,KAAA,GAAAkC,EAAAjC,KAAA,GAECw7E,aAAmB5gF,GAAO,KAAD,GAArC4sB,EAAGvlB,EAAA4P,KACLgJ,EAAQrgB,UACNgtB,GAAOruB,MAAMc,QAAQutB,KACjB4oF,EAAY5oF,EAAIjiB,QAAO,SAACjM,GAAI,OAAKA,EAAK61G,YAAY7mG,MAAQ8xC,GAAW1/C,OACjEkqC,MAAK,SAACyrE,EAAIC,GAClB,OAAID,EAAGxiD,SAAWyiD,EAAGC,QAAgB,GAChCF,EAAGxiD,QAAUyiD,EAAGziD,OAAe,EAC7B,KAETwgD,GAAW+B,IAEX/B,GAAW,KAEdpsG,EAAAjC,KAAA,iBAAAiC,EAAAlC,KAAA,GAAAkC,EAAAqQ,GAAArQ,EAAA,UAEDsQ,QAAQC,IAAIC,KAAKC,UAASzQ,EAAAqQ,KAAO,QAEQ,OAFRrQ,EAAAlC,KAAA,GAE7B8a,EAAQrgB,SAASk0G,IAAa,GAAOzsG,EAAA0Q,OAAA,6BAAA1Q,EAAA/B,UAAA8B,EAAA,0BAE5C,gBA1CaxB,GAAA,OAAAuB,EAAA3B,MAAA,KAAA/F,YAAA,GAsId,OAlDAwB,qBAAU,WACR,GAAIwhB,EAAM,CACR,GAAIwwC,GAAOqhD,cAAc50G,OAAS,EAAG,CACnC,IAAMk2G,EAAiB3iD,GAAOqhD,cAAc3pG,QAAO,SAACjH,GAAI,OAAMqsE,GAAa54D,MAAK,SAAC04F,GAAQ,OAAKA,EAAS52F,OAAOtV,KAAI,SAAA4D,GAAK,OAAAA,EAAFzH,MAAaiO,SAASrK,EAAK5D,UAC5I81G,EAAel2G,OAAS,IAC1B8kC,IAAW,GACX8Y,aAAsBs4D,GACnB/0F,MAAK,SAACnd,GACLsB,GAASw4C,YAAmB95C,OAE7Bsd,OAAM,SAACC,GACNtJ,QAAQC,IAAIC,KAAKC,UAAUmJ,IAC3B+L,IAAMC,MAAM,gDAEbmd,SAAQ,WACHnqB,EAAQrgB,SAAS4kC,IAAW,OAIxC0uE,EAAM,IACNO,GAAW,IACXF,IAAa,GACbH,GAAoB,GACpBO,IAAe,GACfE,IAAa,GACbwD,IAAe,GACfhE,GAAU,MAEX,CAAC5wF,IAEJxhB,qBAAU,WACU,IAAD+2G,EAAb1E,KAC+B,QAAjC0E,EAAA3iF,SAASiV,eAAe,iBAAS,IAAA0tE,GAAjCA,EAAmCl7D,WAEpC,CAACw2D,KAEJryG,qBAAU,WACR,IAAI+uG,EACAoH,KACFM,KAIA1H,EAAWiI,YAHD,eAAAtwG,EAAA/C,YAAAC,IAAAC,MAAG,SAAA0C,IAAA,OAAA3C,IAAAI,MAAA,SAAAwC,GAAA,cAAAA,EAAAtC,KAAAsC,EAAArC,MAAA,cAAAqC,EAAArC,KAAA,EACLsyG,KAAW,KAAD,mBAAAjwG,EAAAnC,UAAAkC,OACjB,kBAFS,OAAAG,EAAAnC,MAAA,KAAA/F,YAAA,GAGmB,MAE/B,OAAO,WACLy4G,cAAclI,MAEf,CAACoH,KAGFj8F,eAACm3B,IAAe,CACd7vB,KAAMA,EACNyN,QAASA,EAAQ9V,SAAA,CAEjBlZ,cAACsxC,IAAoB,CACnBtiB,QAASA,EAAQ9V,SAClB,YAGDlZ,cAACuZ,IAAS,CACRG,QAAS,CAAEC,iBAAiB,GAAOT,SAEnCe,eAACC,IAAG,CACFC,GAAI,CACFwW,GAAI,EACJ7V,MAAO,SACP5B,SAAA,CAEFe,eAACC,IAAG,CACFC,GAAI,CACFsJ,WAAY,SACZ+U,gBAAiB,qBACjBvC,aAAc,GACd7b,QAAS,OACT0B,OAAQ,GACRrB,GAAI,GACJvB,SAAA,CAEDk5F,GACCpyG,cAAC40G,IAAW,CACVz6F,GAAI,CACFkB,MAAO,SAACuF,GAAK,OAAKA,EAAMC,QAAQmM,QAAQ4K,OAE1C5b,SAAS,UAGXhc,cAACkwG,EAAY,CACX70F,MAAM,SACNW,SAAS,UAGb/B,eAACC,IAAG,CACFC,GAAI,CACFwB,SAAU,EACV+H,GAAI,GACJxK,SAAA,CAEa,kBAAPwT,GACN1sB,cAAC60G,IAAK,CACJrkF,WAAS,EACTzO,WAAS,EACT+yF,kBAAgB,EAChB11G,SApIO,SAACe,GACtB6xG,EAAM7xG,EAAEG,OAAOxB,OACXqB,EAAEG,OAAOxB,MAAMN,OAAS,GAC1B0zG,GAAoB,GAEtBmC,GAASl0G,EAAEG,OAAOxB,QAgIJ+iB,YAAY,qDACZ/iB,MAAO4tB,IAGI,kBAAPA,GACN1sB,cAACka,IAAG,CACFC,GAAI,CACFC,QAAS,OACTqJ,WAAY,UACZvK,SAEFlZ,cAAC+0G,IAAa,CAACn6F,SAAU8R,EAAG2mF,mBAIjCpB,GACCjyG,cAAC4b,IAAU,CACTC,QAjKW,WACvBm2F,EAAM,IACNO,GAAW,IACXF,IAAa,GACbH,GAAoB,GACpBO,IAAe,GACfE,IAAa,GACbR,GAAU,GACVgE,IAAe,IA0JHh8F,GAAI,CACFyH,EAAG,GACH1I,SAEFlZ,cAACkwB,IAAK,CACJ7U,MAAM,SACNW,SAAS,gBAKjBhc,cAACka,IAAG,CACFC,GAAI,CACF2B,OAAQ,IACRgB,GAAI,GACJ5D,SAEDk5F,GACCn4F,eAACC,IAAG,CACFE,QAAQ,OACRC,cAAc,SACdyB,OAAO,OAAM5C,SAAA,CAEXg9F,GAmCAl2G,cAACka,IAAG,CACFE,QAAQ,OACRC,cAAc,SACdyB,OAAO,OAAM5C,SAEbe,eAACg7F,IAAK,CACJ96F,GAAI,CACF,OAAQ,CACNK,GAAI,IACJC,GAAI,EACJuB,SAAU,OACVhB,WAAY,SACZvB,SAAU,SACVsB,aAAc,WACd0F,QAAS0e,IACT9jB,MAAO,QACPyF,WAAY,UAEd,OAAQ,CACNgP,QAAS,MAEX5W,SAAA,CAEFlZ,cAACk1G,IAAS,CAAAh8F,SACRe,eAACk7F,IAAQ,CAAAj8F,SAAA,CACPlZ,cAACo1G,IAAS,CAAAl8F,SAAA,WAAAxZ,OACImgG,KAAU3yF,MAAK,SAACypC,GAAK,OAAKA,EAAMp1C,OAAS00G,KAAUt5C,QAEjE38D,cAACo1G,IAAS,SAGdn7F,eAACo7F,IAAS,CAAAn8F,SAAA,CACRe,eAACk7F,IAAQ,CAAAj8F,SAAA,CACPlZ,cAACo1G,IAAS,CAAAl8F,SAAC,mBAGXe,eAACm7F,IAAS,CACRW,MAAM,QAAO78F,SAAA,CAEZijD,GAAM,IAAAz8D,OACFmgG,KAAU3yF,MAAK,SAACypC,GAAK,OAAKA,EAAMp1C,OAAS00G,KAAUt5C,YAG5D1iD,eAACk7F,IAAQ,CAAAj8F,SAAA,CACPlZ,cAACo1G,IAAS,CAAAl8F,SAAC,sBAGXe,eAACm7F,IAAS,CAACW,MAAM,QAAO78F,SAAA,CACrBk9F,IACCp2G,cAAC6yB,IAAgB,CACfxX,MAAM,UACNR,KAAM,GACNV,GAAI,CACF6C,GAAI,SAITs5F,GACA,aAGLr8F,eAACk7F,IAAQ,CAAAj8F,SAAA,CACPlZ,cAACo1G,IAAS,CAAAl8F,SAAC,UAGXe,eAACm7F,IAAS,CAACW,MAAM,QAAO78F,SAAA,CACrBk9F,IACCp2G,cAAC6yB,IAAgB,CACfxX,MAAM,UACNR,KAAM,GACNV,GAAI,CACF6C,GAAI,SAII,UAAbi5F,EAAoB,GAAAv2G,OAAMy8D,GAASm6C,GAAY,WAAA52G,OAAYy8D,GAAM,KAAAz8D,OAAImgG,KAAU3yF,MAAK,SAACypC,GAAK,OAAKA,EAAMp1C,OAAS00G,KAAUt5C,KAAI,OAAAj9D,OAAM42G,GAAY,sBA7GzJr8F,eAACC,IAAG,CACFE,QAAQ,OACRC,cAAc,SACdyB,OAAO,OAAM5C,SAAA,CAEblZ,cAACf,KAAW,CACV8iB,WAAS,EACTnjB,GAAG,SACHmY,MAAM,SACNi+F,OAAO,SACPzzG,KAAK,SACLy9B,OAAQi1E,GACR70G,SAAU60G,GACVl1E,QAAS,SAAC5+B,GAAC,OAAKA,EAAEG,OAAOmxG,UACzB3yG,MAAOq9D,GACP5gD,QAAQ,WACRwQ,MAAkB,OAAXowC,KAETn8D,cAAC2yC,IAAU,CACTnlC,QAASklG,GACTtzG,SAAU,kBAAMo0G,MAChBz8F,MAAM,qBACNqkB,QAASg7E,GAEPj8F,GAAI,CACF4C,GAAI,KAIV/c,cAACka,IAAG,CACFyB,SAAU,OAsFhB1B,eAACC,IAAG,CACFE,QAAQ,OACRmY,eAAe,SACf3B,GAAI,EAAE1X,SAAA,CAEJg9F,GAcAl2G,cAACoiB,IAAM,CACL/G,MAAM,UACNR,KAAK,SACLV,GAAI,CACFW,MAAO,SAET7C,KAAK,SACLsD,QAAQ,OACRM,QAASg7F,GAAa39F,SACvB,WAtBDlZ,cAACoiB,IAAM,CACL/G,MAAM,UACNR,KAAK,SACLV,GAAI,CACFW,MAAO,SAET7C,KAAK,SACLsD,QAAQ,OACRM,QAASmT,EAAQ9V,SAClB,WAiBDg9F,GAiBAl2G,cAACoiB,IAAM,CACL/G,MAAM,UACNR,KAAK,SACLV,GAAI,CACF4C,GAAI,EACJjC,MAAO,SAET7C,KAAK,SACL4D,QAAS83F,GACTpzF,SAAUqP,EACVrU,QAAQ,YACR07F,UAAWrnF,EAAe5vB,cAAC6yB,IAAgB,CAAChY,KAAM,KAAS,KAAK3B,SACjE,SA5BDlZ,cAACoiB,IAAM,CACL/G,MAAM,UACNR,KAAK,SACLV,GAAI,CACF4C,GAAI,EACJjC,MAAO,SAET7C,KAAK,SACL4D,QAAS86F,GACTp2F,SAAUqP,GAA2B,OAAXusC,GAC1B86C,UAAWrnF,EAAe5vB,cAAC6yB,IAAgB,CAAChY,KAAM,KAAS,KAC3DU,QAAQ,YAAWrC,SACpB,eAuBPlZ,cAAA0wB,WAAA,CAAAxX,SACElZ,cAACka,IAAG,CACFC,GAAI,CACFC,QAAS,OACTuW,GAAI,GACJzX,SAEFe,eAACg7F,IAAK,CACJ96F,GAAI,CACF,OAAQ,CACNK,GAAI,IACJC,GAAI,EACJuB,SAAU,OACVhB,WAAY,SACZvB,SAAU,SACVsB,aAAc,WACd0F,QAAS0e,IACT9jB,MAAO,QACPyF,WAAY,WAEd5H,SAAA,CAEFlZ,cAACk1G,IAAS,CAAAh8F,SACRlZ,cAACm1G,IAAQ,CAAAj8F,SACPlZ,cAACo1G,IAAS,CACRj7F,GAAI,CACFK,GAAI,GACJtB,SAEDs5F,GAAc,iBAAmB,gBAIvCA,GACCv4F,eAACo7F,IAAS,CAAAn8F,SAAA,EACN+P,IAAeqpF,GAAQ9zG,OAAS,GAAK8zG,GAAQ7vG,KAAI,SAACmxD,GAAM,OACxD5zD,cAACm1G,IAAQ,CACPG,OAAK,EAELz5F,QAAS,WAtYR,IAAC05F,KAsYgC3hD,GArY1C7B,QAIhBigD,EAAMuD,GACNrD,GAAoB,GACpBG,IAAa,IALXvmF,IAAMC,MAAM,YAADrsB,OAA6C,IAAhC61G,EAAWlC,YAAYp7F,KAAa,OAAS,eAAc,6BAoYnBiB,SAE1ClZ,cAACo1G,IAAS,CACRj7F,GAAI,CACFK,GAAI,GACJtB,SAEFe,eAACu7F,IAAI,CACHC,WAAS,EACTvhF,UAAU,MACV3B,eAAe,gBACf9O,WAAW,SAAQvK,SAAA,CAEnBlZ,cAACka,IAAG,CACFC,GAAI,CACFC,QAAS,OACTqJ,WAAY,UACZvK,SAEFlZ,cAAC+0G,IAAa,CAACn6F,SAAUg5C,EAAOy/C,iBAEhCz/C,EAAO7B,QACP/xD,cAACuwB,IAAU,CACThV,QAAQ,QACRpB,GAAI,CACFkB,MAAO,OACPnC,SACH,oBA5BFw6B,mBAoCPzqB,IAAkC,IAAnBqpF,GAAQ9zG,QACvBwB,cAACm1G,IAAQ,CAAAj8F,SACPlZ,cAACo1G,IAAS,CACRj7F,GAAI,CACFK,GAAI,EACJk7F,OAAQ,GACRx8F,SAEFlZ,cAACuwB,IAAU,CACThV,QAAQ,QACRF,MAAM,gBACNlB,GAAI,CACF2C,GAAI,EACJ1C,QAAS,OACTmY,eAAgB,UAChBrZ,SACH,yBAMN+P,IACCjpB,cAACm1G,IAAQ,CAAAj8F,SACPlZ,cAACo1G,IAAS,CACRj7F,GAAI,CACFK,GAAI,EACJk7F,OAAQ,GACRx8F,SAEFlZ,cAACka,IAAG,CACFC,GAAI,CACFC,QAAS,OACTmY,eAAgB,SAChBzC,QAAS,EACTrO,SAAU,QACVvI,SAEFlZ,cAAC6yB,IAAgB,CACfxX,MAAM,UACNR,KAAM,cAQlBZ,eAACo7F,IAAS,CAAAn8F,SAAA,CACPrF,IACC7T,cAACm1G,IAAQ,CAAAj8F,SACPlZ,cAACo1G,IAAS,CAAAl8F,SACRlZ,cAAC6yB,IAAgB,CACf1Y,GAAI,CACF4C,GAAI,GAEN1B,MAAM,UACNR,KAAM,UAKZhH,KAAiC,QAAxBk+F,EAAIhgD,GAAOqhD,qBAAa,IAAArB,OAAA,EAApBA,EAAsBtvG,KAAI,SAACkzG,GAAM,OAC9C31G,cAACm1G,IAAQ,CACPG,OAAK,EAELz5F,QAAS,kBAjeR,SAAC+5F,GAC1B,IAAMC,EAAc7nF,aAAmB4nF,GACjCvC,EAAWnzG,wBAAA,GAAQ21G,GAAW,IAAE99F,OAAQ,CAAC,CAAEnZ,GAAIi3G,EAAYrpG,IAAKyL,KAAM49F,EAAY59F,SACxF+5F,EAAM,CACJqB,cACAthD,OAAQ,OAEVmgD,GAAoB,GACpBkC,GAAQf,GAyd+ByC,CAAmBH,IAAQz8F,SAE1B,kBAAPwT,GAAmBipF,EAAO/2G,KAAO8tB,EAAG2mF,YAAY7mG,IACvDxM,cAACo1G,IAAS,CAAAl8F,SACRe,eAACu7F,IAAI,CACHC,WAAS,EACTp7F,cAAc,MACdoJ,WAAW,SACX8O,eAAe,gBAAerZ,SAAA,CAE9BlZ,cAACka,IAAG,CACFC,GAAI,CACFC,QAAS,OACTqJ,WAAY,UACZvK,SAEFlZ,cAAC+0G,IAAa,CAACn6F,SAAUoT,aAAmB2nF,OAE7C9C,IACC54F,eAACC,IAAG,CACFE,QAAQ,OACRC,cAAc,MACdoJ,WAAW,SAAQvK,SAAA,CAEnBlZ,cAACuwB,IAAU,CACThV,QAAQ,YACRF,MAAM,gBACN0B,GAAI,EACJg5F,MAAM,QAAO78F,SACd,gBAGDlZ,cAAC6yB,IAAgB,CACf1Y,GAAI,CACF4C,GAAI,GAEN1B,MAAM,UACNR,KAAM,aAOhB7a,cAACo1G,IAAS,CAAAl8F,SACRlZ,cAACka,IAAG,CACFC,GAAI,CACFC,QAAS,OACTqJ,WAAY,UACZvK,SAEFlZ,cAAC+0G,IAAa,CAACn6F,SAAUoT,aAAmB2nF,UApD7CjiE,wC,6DCxgBlBwjE,GA/NV,SAAHzzG,GAGK,IAFL8d,EAAI9d,EAAJ8d,KACAoc,EAAWl6B,EAAXk6B,YAEM5e,EAAUC,cAChBxf,EAAsCC,oBAAS,GAAME,EAAAC,YAAAJ,EAAA,GAA9CowB,EAAYjwB,EAAA,GAAE6vB,EAAa7vB,EAAA,GAClCue,EAA8Bze,mBAAS,IAAG0e,EAAAve,YAAAse,EAAA,GAAnCP,EAAOQ,EAAA,GAAEg5F,EAAUh5F,EAAA,GAC1BG,EAA4B7e,mBAAiB,GAAE8e,EAAA3e,YAAA0e,EAAA,GAAxC69C,EAAM59C,EAAA,GAAE4zF,EAAS5zF,EAAA,GACxBG,EAA4Bjf,oBAAS,GAAKmf,EAAAhf,YAAA8e,EAAA,GAAnCqgE,EAAMngE,EAAA,GAAEw4F,EAASx4F,EAAA,GACxBmI,EAAkCtnB,oBAAS,GAAMunB,EAAApnB,YAAAmnB,EAAA,GAA1CswF,EAAUrwF,EAAA,GAAEswF,EAAWtwF,EAAA,GAC9BG,EAAsB1nB,mBAAS,IAAG2nB,EAAAxnB,YAAAunB,EAAA,GAA3BguB,EAAG/tB,EAAA,GAAEmwF,EAAMnwF,EAAA,GAElBG,EAAgC9nB,mBADjB,GACyC+nB,EAAA5nB,YAAA2nB,EAAA,GAAjDspF,EAAQrpF,EAAA,GAAEurF,EAAWvrF,EAAA,GAEtBgwF,GAAgB75F,EAChB85F,EAAW5G,EAJF,EAKT6G,EAAwB,OAAXv7C,GAAmBA,EAAS,EAEvCpK,EAAW3yC,aAAY,SAAC1d,GAAK,OAAKA,EAAMqwD,UAAxCA,OACFpiC,EAAY,eAAAprB,EAAAb,YAAAC,IAAAC,MAAG,SAAAC,IAAA,IAAA6nB,EAAAisF,EAAAC,EAAA,OAAAj0G,IAAAI,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,OACC,OAApBsrB,GAAc,GAAMxrB,EAAAC,KAAA,EAAAD,EAAAE,KAAA,EAEA25C,IAAMzS,IAAI,GAAD1rC,OAAImyC,KAAY8+D,OAAM,KAAAjxG,OAAIkxG,KAAO,+BAA+B,CACzFz+D,OAAQ,CAAEgqB,YACT,KAAD,EAC8C,GAH1CzwC,EAAG1nB,EAAA+R,KAGH4hG,EAAoBjsF,EAAIphB,KAAKA,KAAKqT,QACjB,CAAD3Z,EAAAE,KAAA,cAAQ,IAAIg1B,MAAM,iCAAiC,KAAD,SAAAl1B,EAAAE,KAAA,GAClE25C,IAAMzS,IAAI,GAAD1rC,OAAImyC,KAAY8+D,OAAM,KAAAjxG,OAAIkxG,KAAO,sBAAsB,CACpEz+D,OAAQ,CACN0lE,YAAal6F,EACbm6F,YAAa/lD,EAAOp0C,QACpBohE,SACA8xB,cAED,KAAD,GACW,WACP+G,EAAMz7C,EAAS,IACjBp9C,EAAQrgB,UACV64G,EAAO,WAAD73G,OAAYi4G,EAAiB,YAAAj4G,OAAWk4G,EAAG,aAAAl4G,OAHtC,aAIX43G,GAAY,IACbtzG,EAAAE,KAAA,iBAAAF,EAAAC,KAAA,GAAAD,EAAAwS,GAAAxS,EAAA,SAEDyS,QAAQC,IAAIC,KAAKC,UAAS5S,EAAAwS,KAC1BsV,IAAMC,MAAM,kBAAkB,QAEY,OAFZ/nB,EAAAC,KAAA,GAE1B8a,EAAQrgB,SAAS8wB,GAAc,GAAOxrB,EAAA6S,OAAA,6BAAA7S,EAAAI,UAAAP,EAAA,yBAE7C,kBA5BiB,OAAAU,EAAAD,MAAA,KAAA/F,YAAA,GA8BlB,OACE0b,eAAC6U,KAAM,CACLE,QAAS2O,EACTpc,KAAMA,EACNQ,WAAS,EACTgN,SAAS,KAAI7V,SAAA,CAEblZ,cAACuxC,KAAW,CAAAr4B,SAAC,aAGblZ,cAAC+3G,KAAa,CAAA7+F,SACZe,eAACC,IAAG,CACFC,GAAI,CACFC,QAAS,OACTC,cAAe,UACfnB,SAAA,CAEFlZ,cAACuwB,IAAU,CACTpW,GAAI,CACFgI,GAAI,EACJsQ,UAAW,UACXvZ,SACH,6CAGDlZ,cAACC,IAAS,CACRuwB,WAAS,EACTzZ,MAAM,YACNwE,QAAQ,WACRzc,MAAO6e,EACPve,SAAU,SAACe,GAAC,OAAKg3G,EAAWh3G,EAAEG,OAAOxB,QACrC+b,KAAK,QACLV,GAAI,CACFgI,GAAI,GAEN4J,MAAOyrF,EACP5F,WAAY4F,GAAgB,yBAE9Bx3G,cAACf,KAAW,CACV8X,MAAM,SACNwE,QAAQ,WACRzc,MAAOq9D,EACPh9D,YAAa,SAAC+0G,GACD,OAAPA,GAIAA,EAAK,IAAGA,EAAK,GACjB/B,EAAU+B,IAJR/B,EAAU+B,IAMdnoF,MAAO2rF,EACPvmF,WAAY,CACV6mF,aACEh4G,cAACqxB,KAAc,CACbtB,SAAS,MAAK7W,SACf,UAKL2B,KAAK,QACLV,GAAI,CACFgI,GAAI,KAGRlI,eAACC,IAAG,CACFC,GAAI,CACFC,QAAS,OACTqJ,WAAY,SACZpJ,cAAe,SACfS,MAAO,QACP5B,SAAA,CAEFlZ,cAACka,IAAG,CACFC,GAAI,CACFgI,GAAI,GACJjJ,SAEFlZ,cAAC2yC,IAAU,CACTnlC,QAASuxE,EACT3/E,SAAU,SAACe,GAAC,OAAKi3G,EAAUj3G,EAAEG,OAAOkN,UACpCuJ,MAAM,wBAGV/W,cAAC+wG,GAAQ,CACPF,SAAUA,EACVG,cAAe,SAACzpE,GAAC,OAAKwrE,EAAYxrE,IAClC0pE,UAAW,CACTh5F,KAAM,UACN0F,QAASo0C,EAAOp0C,QAChBo2F,OAAQh1B,EAAS,EAAI,EACrB5iB,SACA87C,OAAQ,iBAEV/G,kBAAmB/0C,EACnBg1C,OAAQ,OAGXkG,GACCp9F,eAAAyW,WAAA,CAAAxX,SAAA,CACElZ,cAACic,IAAO,CAAC9B,GAAI,CAAE2C,GAAI,KACnB7C,eAACC,IAAG,CACFC,GAAI,CACFC,QAAS,OACTqJ,WAAY,SACZpJ,cAAe,UACfnB,SAAA,CAEFlZ,cAACuwB,IAAU,CACTpW,GAAI,CAAEyW,GAAI,GAAI1X,SAAA,sCAAAxZ,OAEyBy8D,EAAS,IAAG,YAErDn8D,cAACk4G,KAAY,CACXp5G,MAAOq2C,EACPt6B,KAAM,IACNs9F,QAAQ,YAEVl+F,eAACC,IAAG,CACFC,GAAI,CACFW,MAAO,OACPgC,GAAI,GACJ5D,SAAA,CAEFlZ,cAACuwB,IAAU,CACTlV,MAAM,iBACNE,QAAQ,QAAOrC,SAChB,6BAGDlZ,cAACuwB,IAAU,CACTxT,GAAI,EAAE7D,SAELi8B,kBAQfl7B,eAACm+F,KAAa,CAAAl/F,SAAA,CACZlZ,cAACoiB,IAAM,CACL7G,QAAQ,OACRM,QAAS8hB,EACTxjB,GAAI,CACFwW,GAAI,EACJC,GAAI,GACJ1X,SACH,WAGDlZ,cAACoiB,IAAM,CACL7G,QAAQ,YACRM,QAAS8T,EACTsnF,UAAWrnF,EAAe5vB,cAAC6yB,IAAgB,CAAChY,KAAM,KAAS,KAC3D0F,SAAUqP,GAAgB4nF,GAAgBC,GAAYC,EACtDv9F,GAAI,CACFwW,GAAI,EACJC,GAAI,GACJ1X,SACH,eC7JM63F,GAlEV,SAAHttG,GAA2E,IAArEotG,EAAQptG,EAARotG,SAAUG,EAAavtG,EAAbutG,cAAeE,EAAgBztG,EAAhBytG,iBAAkB3xB,EAAU97E,EAAV87E,WAAYpjB,EAAM14D,EAAN04D,OAC7D38D,EAAkDC,oBAAkB,GAAME,EAAAC,YAAAJ,EAAA,GAAnE4xG,EAAkBzxG,EAAA,GAAE0xG,EAAmB1xG,EAAA,GAExC4xG,EAAgB,eAAAhtG,EAAAb,YAAAC,IAAAC,MAAG,SAAAC,IAAA,IAAA2tG,EAAA,OAAA7tG,IAAAI,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,OACG,OAA1BmtG,GAAoB,GAAMrtG,EAAAC,KAAA,EAAAD,EAAAE,KAAA,EAEPusG,GAAU,CACzBx4F,KAAM,UACN4/F,YAAat4B,EACbpjB,SACAk8C,OAAQ,kBACP,KAAD,EALI7G,EAAExtG,EAAA+R,KAMRi7F,EAAcQ,GAAIxtG,EAAAE,KAAA,gBAAAF,EAAAC,KAAA,EAAAD,EAAAwS,GAAAxS,EAAA,SAElByS,QAAQC,IAAIC,KAAKC,UAAS5S,EAAAwS,KAC1BsV,IAAMC,MAAM,+BAA+B,QAEhB,OAFgB/nB,EAAAC,KAAA,GAE3CotG,GAAoB,GAAOrtG,EAAA6S,OAAA,6BAAA7S,EAAAI,UAAAP,EAAA,wBAE9B,kBAhBqB,OAAAU,EAAAD,MAAA,KAAA/F,YAAA,GAkBtB,OACE0b,eAACC,IAAG,CACFE,QAAQ,OACRqJ,WAAW,SAAQvK,SAAA,CAEnBlZ,cAACf,KAAW,CACV4b,KAAK,QACL9D,MAAM,oBACNjY,MAAO+xG,EACP1xG,YAAa,SAACwyG,GACK,OAAbA,EAAmBX,EAAc,OAE/BW,EAAW,IAAGA,EAAW,GAC7BX,EAAcW,KAGlB5lF,OAAQ8kF,EACR12F,GAAI,CACFW,MAAO,OAGX9a,cAACka,IAAG,CACFwJ,GAAI,EAAExK,SAENlZ,cAACskD,IAAY,CACXzlD,MAAM,2BACNu+B,KAAMy0E,IACNh2F,QAAS01F,EACT19F,UAAWu9F,EACX/1F,MAAM,SACNkF,SAAU2wF,UCwILoH,GA/KV,SAAH70G,GAGK,IAFL8d,EAAI9d,EAAJ8d,KACAoc,EAAWl6B,EAAXk6B,YAEM5e,EAAUC,cACR+yC,EAAW3yC,aAAY,SAAC1d,GAAK,OAAKA,EAAMqwD,UAAxCA,OACFzT,EAAaC,aAAc5lC,IAAgBH,KAEjDhZ,EAAsCC,oBAAS,GAAME,EAAAC,YAAAJ,EAAA,GAA9CowB,EAAYjwB,EAAA,GAAE6vB,EAAa7vB,EAAA,GAClCue,EAA8Bze,mBAAS,IAAG0e,EAAAve,YAAAse,EAAA,GAAnCP,EAAOQ,EAAA,GAAEg5F,EAAUh5F,EAAA,GAC1BG,EAA4B7e,mBAAiB,MAAK8e,EAAA3e,YAAA0e,EAAA,GAA3C69C,EAAM59C,EAAA,GAAE4zF,EAAS5zF,EAAA,GACxBG,EAA4Bjf,oBAAS,GAAKmf,EAAAhf,YAAA8e,EAAA,GAAnCqgE,EAAMngE,EAAA,GAAEw4F,EAASx4F,EAAA,GAExBmI,EAAgCtnB,mBADjB,GACyCunB,EAAApnB,YAAAmnB,EAAA,GAAjD8pF,EAAQ7pF,EAAA,GAAE+rF,EAAW/rF,EAAA,GAC5BG,EAA0C1nB,mBAAiB,MAAK2nB,EAAAxnB,YAAAunB,EAAA,GAAzDq4D,EAAap4D,EAAA,GAAEmxF,EAAgBnxF,EAAA,GAEhCowF,GAAgB75F,EAChBu1F,EAAc/2C,EAASqjB,EAAgB,IACvCi4B,EAAW5G,EANF,EAQTlhF,EAAY,eAAAprB,EAAAb,YAAAC,IAAAC,MAAG,SAAAC,IAAA,IAAA6nB,EAAA,OAAA/nB,IAAAI,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,OACC,OAApBsrB,GAAc,GAAMxrB,EAAAC,KAAA,EAAAD,EAAAE,KAAA,EAEAo7E,aAAehhC,EAAY3gC,EAASw+C,EAAQ4iB,EAAQ8xB,EAAUrxB,GAAe,KAAD,GAAxF9zD,EAAG1nB,EAAA+R,QACG2V,EAAIG,aACdC,IAAMkB,QAAQ,0CAEdlB,IAAMC,MAAM,mBACb/nB,EAAAE,KAAA,gBAAAF,EAAAC,KAAA,EAAAD,EAAAwS,GAAAxS,EAAA,SAEDyS,QAAQC,IAAIC,KAAKC,UAAS5S,EAAAwS,KAC1BsV,IAAMC,MAAM,mBAAmB,QAEW,OAFX/nB,EAAAC,KAAA,GAE3B8a,EAAQrgB,SAAS8wB,GAAc,GAAOxrB,EAAA6S,OAAA,6BAAA7S,EAAAI,UAAAP,EAAA,wBAE7C,kBAfiB,OAAAU,EAAAD,MAAA,KAAA/F,YAAA,GAiBlB,OACE0b,eAAC6U,KAAM,CACLE,QAAS2O,EACTpc,KAAMA,EACNQ,WAAS,EACTgN,SAAS,KAAI7V,SAAA,CAEblZ,cAACuxC,KAAW,CAAAr4B,SAAC,cAGblZ,cAAC+3G,KAAa,CAAA7+F,SACZe,eAACC,IAAG,CACFC,GAAI,CACFC,QAAS,OACTC,cAAe,UACfnB,SAAA,CAEFlZ,cAACuwB,IAAU,CACTpW,GAAI,CACFgI,GAAI,EACJsQ,UAAW,UACXvZ,SACH,6CAGDlZ,cAACC,IAAS,CACRuwB,WAAS,EACTzZ,MAAM,OACNwE,QAAQ,WACRzc,MAAO6e,EACPve,SAAU,SAACe,GAAC,OAAKg3G,EAAWh3G,EAAEG,OAAOxB,QACrC+b,KAAK,QACLV,GAAI,CACFgI,GAAI,GAEN4J,MAAOyrF,EACP5F,WAAY4F,GAAgB,yBAE9Bx3G,cAACC,IAAS,CACR8W,MAAM,WACNwE,QAAQ,WACRzc,MAAOq9D,EACP/8D,SAAU,SAACe,GACT,IAAI+zG,EAAK9zG,OAAOD,EAAEG,OAAOxB,QACrBsB,OAAOC,MAAM6zG,IAAOA,EAAK,KAAGA,EAAK,GACrC/B,EAAU+B,IAEZ/iF,WAAY,CACV6mF,aACEh4G,cAACqxB,KAAc,CACbtB,SAAS,MAAK7W,SACf,UAKL2B,KAAK,QACLV,GAAI,CACFgI,GAAI,GAEN4J,MAAOmnF,EACPtB,WAAYsB,GAAW,6BAAAxzG,OAAiC8/E,EAAgB,IAAI,OAE9EvlE,eAACC,IAAG,CACFC,GAAI,CACFC,QAAS,OACTqJ,WAAY,SACZ3I,MAAO,OACPT,cAAe,UACfnB,SAAA,CAEFlZ,cAAC2yC,IAAU,CACTnlC,QAASuxE,EACT3/E,SAAU,SAACe,GAAC,OAAKi3G,EAAUj3G,EAAEG,OAAOkN,UACpCuJ,MAAM,yBAER/W,cAACka,IAAG,CACFC,GAAI,CACFyW,GAAI,GACJ1X,SAEFlZ,cAAC+wG,GAAQ,CACPF,SAAUA,EACVG,cAAe,SAACzpE,GAAC,OAAKwrE,EAAYxrE,IAClC0pE,UAAW,CACTh5F,KAAM,OACN0F,QAASo0C,EAAOp0C,QAChBo2F,OAAQh1B,EAAS,EAAI,EACrB5iB,UAEFg1C,OAnHC,MAsHLnxG,cAACw4G,GAAU,CACT3H,SAAUrxB,EACVwxB,cAAe,SAACzpE,GACdgxE,EAAiBhxE,GACb40B,EAAS50B,EAAI,KAAM4qE,EAAU5qE,EAAI,MAEvCg4C,WAAY5hE,EACZw+C,OAAQA,YAKhBliD,eAACm+F,KAAa,CAAAl/F,SAAA,CACZlZ,cAACoiB,IAAM,CACL7G,QAAQ,OACRM,QAAS8hB,EACTxjB,GAAI,CACFwW,GAAI,EACJC,GAAI,GACJ1X,SACH,WAGDlZ,cAACoiB,IAAM,CACL7G,QAAQ,YACRM,QAAS8T,EACTsnF,UAAWrnF,EAAe5vB,cAAC6yB,IAAgB,CAAChY,KAAM,KAAS,KAC3D0F,SAAUqP,GAAgB4nF,GAAgBtE,GAAeuE,EACzDt9F,GAAI,CACFwW,GAAI,EACJC,GAAI,GACJ1X,SACH,gBCCMu/F,GAzKmC,SAACv5G,GACjD,IAAQqiB,EAAsBriB,EAAtBqiB,KAAMoc,EAAgBz+B,EAAhBy+B,YACR5e,EAAUC,cACVlb,EAAWqb,cACjB3f,EAAsBC,mBAAiB,GAAEE,EAAAC,YAAAJ,EAAA,GAAlCknF,EAAG/mF,EAAA,GAAE+4G,EAAM/4G,EAAA,GAClBue,EAAsCze,oBAAS,GAAM0e,EAAAve,YAAAse,EAAA,GAA9C0R,EAAYzR,EAAA,GAAEqR,EAAarR,EAAA,GAElCG,EAAgC7e,mBADjB,GACyC8e,EAAA3e,YAAA0e,EAAA,GAAjDuyF,EAAQtyF,EAAA,GAAEw0F,EAAWx0F,EAAA,GACtBk5F,EAAW5G,EAAW,GAAKA,EAFlB,EAITqC,EAAsB,OAARxsB,GAAiBmqB,EAAW,GAAKnqB,GAAOmqB,EAE5D/tE,EAAoD1jB,aAAY,SAAC1d,GAAK,OAAKA,EAAMqwD,UAAzEihD,EAAQlwE,EAARkwE,SAAUjhD,EAAMjvB,EAANivB,OAAQ4mD,EAAO71E,EAAP61E,QAAS1F,EAAYnwE,EAAZmwE,aAC7B30D,EAAaC,aAAc5lC,IAAgBH,KAE3CmX,EAAY,eAAAlsB,EAAAC,YAAAC,IAAAC,MAAG,SAAAC,IAAA,IAAA6nB,EAAA,OAAA/nB,IAAAI,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,OACC,OAApBsrB,GAAc,GAAMxrB,EAAAC,KAAA,EAAAD,EAAAE,KAAA,EAEAi7E,aAAkB7gC,EAAYooC,EAAKmqB,GAAU,KAAD,GAAxDnlF,EAAG1nB,EAAA+R,QACG2V,EAAIG,cACd/nB,EAAS8vG,YAAgB,CAAC,CACxBpnG,IAAKm2C,eACL8pC,OAAQnuC,EACR7xB,KAAMslC,EAAOp0C,QACb+oE,IAAKiyB,GAAWjyB,EAAMA,EACtBxkE,MAAO,UACP4xF,MAAM,IAAI32G,MAAOyP,cACjBonG,IAAK,GACLnmF,OAAQ,YACTnuB,OAAAwM,YAAK+mG,MACNnnF,IAAMkB,QAAQ,iDACd2Q,KAEA7R,IAAMC,MAAM,sBACb/nB,EAAAE,KAAA,gBAAAF,EAAAC,KAAA,EAAAD,EAAAwS,GAAAxS,EAAA,SAED8nB,IAAMC,MAAM,sBAAsB,QAEQ,OAFR/nB,EAAAC,KAAA,GAE9B8a,EAAQrgB,SAAS8wB,GAAc,GAAOxrB,EAAA6S,OAAA,6BAAA7S,EAAAI,UAAAP,EAAA,wBAE7C,kBAzBiB,OAAAJ,EAAAa,MAAA,KAAA/F,YAAA,GA2BlB,OACE0b,eAACm3B,IAAe,CACd7vB,KAAMA,EACNyN,QAAS2O,EAAYzkB,SAAA,CAErBlZ,cAACsxC,IAAoB,CACnBtiB,QAAS2O,EAAYzkB,SACtB,YAGDlZ,cAACuZ,IAAS,CACRG,QAAS,CAAEC,iBAAiB,GAAOT,SAEnCe,eAACC,IAAG,CACFC,GAAI,CACFW,MAAO,QACP6V,GAAI,EACJxO,GAAI,GACJjJ,SAAA,CAEFlZ,cAACuwB,IAAU,CAAArX,SAAC,sMAKZe,eAACC,IAAG,CACFE,QAAQ,OACRqJ,WAAW,SACXpJ,cAAc,SACdF,GAAI,CACFyW,GAAI,GACJ1X,SAAA,CAEFlZ,cAACf,KAAW,CACVuxB,WAAS,EACT3V,KAAK,QACL/b,MAAO4nF,EACPvnF,YAAa,SAAC6G,GACA,OAARA,GAIAA,EAAM,IAAGA,EAAM,GACfgtG,GAAYA,EAASllB,KAAO9nF,EAAMgtG,EAASllB,IAAI4lB,SAAQ1tG,EAAMgtG,EAASllB,IAAI4lB,QAC9EgF,EAAO1yG,IALL0yG,EAAO1yG,IAOX+Q,MAAM,WACNoa,WAAY,CACV6mF,aACEh4G,cAACqxB,KAAc,CAACtB,SAAS,MAAK7W,SAC5BlZ,cAACuwB,IAAU,CACTlV,MAAM,gBACNE,QAAQ,QAAOrC,SAChB,YAMPiB,GAAI,CACFgI,GAAI,GAEN4J,MAAOmnF,EACPtB,WAAYsB,GAAe,4CAE7BlzG,cAAC+wG,GAAQ,CACPF,SAAUA,EACVG,cAAe,SAACzpE,GAAC,OAAKwrE,EAAYxrE,IAClC0pE,UAAW,CACTh5F,KAAM,WAERk5F,OAAQ,EACRD,iBAA0B,IAARxqB,OAGrB92D,GACC5vB,cAACuwB,IAAU,CACTpW,GAAI,CACFsY,UAAW,UACXvZ,SACH,0DAIHe,eAACC,IAAG,CACFE,QAAQ,OACRmY,eAAe,SACf3B,GAAI,EAAE1X,SAAA,CAENlZ,cAACoiB,IAAM,CACL/G,MAAM,UACNR,KAAK,SACLV,GAAI,CACFW,MAAO,SAET7C,KAAK,SACLsD,QAAQ,OACRM,QAAS8hB,EAAYzkB,SACtB,WAGDlZ,cAACoiB,IAAM,CACL/G,MAAM,UACNR,KAAK,SACLV,GAAI,CACF4C,GAAI,EACJjC,MAAO,SAET7C,KAAK,SACL4D,QAAS8T,EACTpP,SAAUqP,GAAwB,IAAR82D,GAAawsB,GAAeuE,EACtDl8F,QAAQ,YACR07F,UAAWrnF,EAAe5vB,cAAC6yB,IAAgB,CAAChY,KAAM,KAAS,KAAK3B,SACjE,wBCgBE0/F,GA3KoC,SAAC15G,GAClD,IAAQqiB,EAAsBriB,EAAtBqiB,KAAMoc,EAAgBz+B,EAAhBy+B,YACR5e,EAAUC,cACVlb,EAAWqb,cACjB3f,EAAsBC,mBAAiB,GAAEE,EAAAC,YAAAJ,EAAA,GAAlCknF,EAAG/mF,EAAA,GAAE+4G,EAAM/4G,EAAA,GAClBue,EAAsCze,oBAAS,GAAM0e,EAAAve,YAAAse,EAAA,GAA9C0R,EAAYzR,EAAA,GAAEqR,EAAarR,EAAA,GAElCG,EAAgC7e,mBAAiB,GAAE8e,EAAA3e,YAAA0e,EAAA,GAA5CuyF,EAAQtyF,EAAA,GAAEw0F,EAAWx0F,EAAA,GAEtB20F,EAAsB,OAARxsB,GAAiBmqB,EAAW,GAAKnqB,GAAOmqB,EACtD4G,EAAW5G,EAAW,GAAKA,EAJlB,EAMf/tE,EAAoD1jB,aAAY,SAAC1d,GAAK,OAAKA,EAAMqwD,UAAzEA,EAAMjvB,EAANivB,OAAQihD,EAAQlwE,EAARkwE,SAAU2F,EAAO71E,EAAP61E,QAAS1F,EAAYnwE,EAAZmwE,aAC7B30D,EAAaC,aAAc5lC,IAAgBH,KAE3CmX,EAAY,eAAAlsB,EAAAC,YAAAC,IAAAC,MAAG,SAAAC,IAAA,IAAA6nB,EAAA,OAAA/nB,IAAAI,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,OACC,OAApBsrB,GAAc,GAAMxrB,EAAAC,KAAA,EAAAD,EAAAE,KAAA,EAEA+6E,aAAmB3gC,EAAYooC,EAAKmqB,GAAU,KAAD,GAAzDnlF,EAAG1nB,EAAA+R,QACG2V,EAAIG,cACd/nB,EAAS8vG,YAAgB,CAAC,CACxBpnG,IAAKm2C,eACL8pC,OAAQnuC,EACR7xB,KAAMslC,EAAOp0C,QACb+oE,IAAKiyB,EAAUjyB,GAAOA,EACtBxkE,MAAO,WACP4xF,MAAM,IAAI32G,MAAOyP,cACjBonG,IAAK,GACLnmF,OAAQ,YACTnuB,OAAAwM,YAAK+mG,MACNnnF,IAAMkB,QAAQ,iDACd2Q,KAEA7R,IAAMC,MAAM,uBACb/nB,EAAAE,KAAA,gBAAAF,EAAAC,KAAA,EAAAD,EAAAwS,GAAAxS,EAAA,SAED8nB,IAAMC,MAAM,uBAAuB,QAEO,OAFP/nB,EAAAC,KAAA,GAE/B8a,EAAQrgB,SAAS8wB,GAAc,GAAOxrB,EAAA6S,OAAA,6BAAA7S,EAAAI,UAAAP,EAAA,wBAE7C,kBAzBiB,OAAAJ,EAAAa,MAAA,KAAA/F,YAAA,GA2BlB,OACE0b,eAACm3B,IAAe,CACd7vB,KAAMA,EACNyN,QAAS2O,EAAYzkB,SAAA,CAErBlZ,cAACsxC,IAAoB,CACnBtiB,QAAS2O,EAAYzkB,SACtB,aAGDlZ,cAACuZ,IAAS,CACRG,QAAS,CAAEC,iBAAiB,GAAOT,SAEnCe,eAACC,IAAG,CACFC,GAAI,CACFW,MAAO,QACP6V,GAAI,EACJxO,GAAI,GACJjJ,SAAA,CAEFlZ,cAACuwB,IAAU,CAAArX,SAAC,8IAKZe,eAACC,IAAG,CACFE,QAAQ,OACRqJ,WAAW,SACXpJ,cAAc,SACdF,GAAI,CACFyW,GAAI,GACJ1X,SAAA,CAEFlZ,cAACf,KAAW,CACVuxB,WAAS,EACT3V,KAAK,QACL/b,MAAO4nF,EACPvnF,YAAa,SAAC6G,GACA,OAARA,GAIAA,EAAM,IAAGA,EAAM,GACfgtG,GAAYA,EAASllB,KAAO9nF,EAAMgtG,EAASllB,IAAI/O,SAAQ/4E,EAAMgtG,EAASllB,IAAI/O,QAC9E25B,EAAO1yG,IALL0yG,EAAO1yG,IAOX+Q,MAAM,WACNoa,WAAY,CACV6mF,aACEh4G,cAACqxB,KAAc,CAACtB,SAAS,QAAO7W,SAC9BlZ,cAACuwB,IAAU,CACTlV,MAAM,gBACNE,QAAQ,QAAOrC,SAChB,YAMPiB,GAAI,CACFgI,GAAI,GAEN4J,MAAOmnF,EACPtB,WAAYsB,GAAe,4CAE7BlzG,cAAC+wG,GAAQ,CACPF,SAAUA,EACVG,cAAe,SAACzpE,GAAC,OAAKwrE,EAAYxrE,IAClC0pE,UAAW,CACTh5F,KAAM,WACN0F,QAASo0C,EAAOp0C,QAChBw+C,OAAQuqB,GAEVyqB,OAAQ,EACRD,iBAA0B,IAARxqB,OAGrB92D,GACC5vB,cAACuwB,IAAU,CACTpW,GAAI,CACFsY,UAAW,UACXvZ,SACH,0DAIHe,eAACC,IAAG,CACFE,QAAQ,OACRmY,eAAe,SACf3B,GAAI,EAAE1X,SAAA,CAENlZ,cAACoiB,IAAM,CACL/G,MAAM,UACNR,KAAK,SACLV,GAAI,CACFW,MAAO,SAET7C,KAAK,SACLsD,QAAQ,OACRM,QAAS8hB,EAAYzkB,SACtB,WAGDlZ,cAACoiB,IAAM,CACL/G,MAAM,UACNR,KAAK,SACLV,GAAI,CACF4C,GAAI,EACJjC,MAAO,SAET7C,KAAK,SACL4D,QAAS8T,EACTpP,SAAUqP,GAAwB,IAAR82D,GAAawsB,GAAeuE,EACtDl8F,QAAQ,YACR07F,UAAWrnF,EAAe5vB,cAAC6yB,IAAgB,CAAChY,KAAM,KAAS,KAAK3B,SACjE,yB,SC5JA2/F,GAGR,SAAHp1G,GAGK,IAFLwU,EAAIxU,EAAJwU,KACA4C,EAAIpX,EAAJoX,KAEMrY,EAAOq9F,KAAU3yF,MAAK,SAACq6B,GAAC,OAAKA,EAAEhmC,OAAS0W,KAC9C,OACEjY,cAAA,OACEjC,IAAKyE,EAAK46B,KACVnkB,MAAO,CACLgd,aAAc,MACdnb,MAAM,GAADpb,OAAMmb,GAAO,GAAS,MAC3BiB,OAAO,GAADpc,OAAMmb,GAAO,GAAS,OAE9B4kB,IAAKxnB,KAUE6gG,GAGR,SAAHv0G,GAGK,IAFL0T,EAAI1T,EAAJ0T,KACA4C,EAAItW,EAAJsW,KAEMrY,EAAOu9F,KAAS7yF,MAAK,SAACq6B,GAAC,OAAKA,EAAEhmC,OAAS0W,KAC7C,OACEjY,cAAA,OACEjC,IAAKyE,EAAK46B,KACVnkB,MAAO,CACLgd,aAAc,MACdnb,MAAM,GAADpb,OAAMmb,GAAO,GAAS,MAC3BiB,OAAO,GAADpc,OAAMmb,GAAO,GAAS,OAE9B4kB,IAAKxnB,KA6bI8gG,IA5aW,WACxB,IAAAj2E,EAA+C1jB,aAAY,SAAC1d,GAAK,OAAKA,EAAMqwD,UAApEihD,EAAQlwE,EAARkwE,SAAUgG,EAAel2E,EAAfk2E,gBAAiBL,EAAO71E,EAAP61E,QAC3BpyF,EAAgBnH,aAAY,SAAC1d,GAAK,OAAKA,EAAMihB,gBAA7C4D,YACFxH,EAAUC,cACVlb,EAAWqb,cACjB3f,EAAgCC,oBAAkB,GAAME,EAAAC,YAAAJ,EAAA,GAAjDqU,EAASlU,EAAA,GAAE2jC,EAAU3jC,EAAA,GAC5Bue,EAAoCze,mBAbrB,GAa+C0e,EAAAve,YAAAse,EAAA,GAAvD+6F,EAAW96F,EAAA,GAAE+6F,EAAY/6F,EAAA,GAE1Bg7F,EAAc//F,sBAAW1V,YAAAC,IAAAC,MAAC,SAAAC,IAAA,IAAArB,EAAA,OAAAmB,IAAAI,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,OACb,OAAjBo/B,GAAW,GAAMt/B,EAAAC,KAAA,EAAAD,EAAAE,KAAA,EAEI26E,aAAwBwP,aAAY91E,IAAcC,MAAc,KAAD,EAA5EhW,EAAIwB,EAAA+R,KACVjS,EAASs1G,YAAmBvrB,MAC5B/pF,EAASu1G,aAAS,IAClBv1G,EAASw1G,YAAY92G,IAAOwB,EAAAE,KAAA,iBAAAF,EAAAC,KAAA,GAAAD,EAAAwS,GAAAxS,EAAA,SAE5ByS,QAAQC,IAAIC,KAAKC,UAAS5S,EAAAwS,KAC1BsV,IAAMC,MAAM,iCAAiC,QAEN,OAFM/nB,EAAAC,KAAA,GAEzC8a,EAAQrgB,SAAS4kC,GAAW,GAAOt/B,EAAA6S,OAAA,6BAAA7S,EAAAI,UAAAP,EAAA,yBAExC,CAACkb,EAASwH,IAMb,OAJAxmB,qBAAU,WACRo5G,MACC,CAACA,IAGFl/F,eAACC,IAAG,CACFC,GAAI,CACFqe,gBAAiB,mBACjB5W,EAAG,GACH1I,SAAA,CAEFlZ,cAACuwB,IAAU,CACTpW,GAAI,CACFM,GAAI,EACJD,GAAI,KACJa,MAAO,gBACPnC,SACH,oBAGDe,eAACg7F,IAAK,CACJ96F,GAAI,CACF,OAAQ,CACNK,GAAI,IACJC,GAAI,EACJuB,SAAU,OACVyE,QAAS0e,IACT9jB,MAAO,QACPyF,WAAY,UAEd,OAAQ,CACNtG,GAAI,EACJC,GAAI,EACJuB,SAAU,OACV8E,WAAY,OAEd,6BAA8B,CAC5B0X,gBAAiB,qBACjB6D,OAAQ,WAEV,oCAAqC,CACnC7D,gBAAiB,uBAEnBtf,SAAA,CAEFlZ,cAACk1G,IAAS,CAAAh8F,SACRe,eAACk7F,IAAQ,CAAAj8F,SAAA,CACPlZ,cAACo1G,IAAS,CAAAl8F,SAAC,aAGXlZ,cAACo1G,IAAS,CAAAl8F,SACRe,eAACC,IAAG,CACFE,QAAQ,OACRqJ,WAAW,SACXtJ,GAAI,CACF,aAAc,CACZkB,MAAO,qBAETnC,SAAA,CACH,UAEClZ,cAACka,IAAG,CAACyB,SAAU,IACf3b,cAACskD,IAAY,CACXzlD,MAAM,UACNu+B,KAAMm8E,IACN19F,QAASs9F,EACT30D,WAAY,GACZD,SAAU,GACVlpC,MAAM,SACNxH,UAAWA,cAMrBoG,eAACo7F,IAAS,CACRl7F,GAAI,CACF,MAAO,CACLu7F,OAAQ,oBAEVx8F,SAAA,CAEFlZ,cAACm1G,IAAQ,CAAAj8F,SACPlZ,cAACo1G,IAAS,CACRj7F,GAAI,CACFC,QAAS,OACTqJ,WAAY,SACZpI,MAAO,iBACPW,SAAU,kBACVic,YAAa,kBACb/e,SAEFe,eAACC,IAAG,CACFC,GAAI,CACFC,QAAS,OACTC,cAAe,MACfoJ,WAAY,UACZvK,SAAA,CAEFlZ,cAACw5G,IAAmB,CAClBr/F,GAAI,CACFW,MAAO,OACPgB,OAAQ,UAGZ9b,cAACuwB,IAAU,CACTjV,QAAM,EACNQ,OAAO,OAAM5C,SACd,kBAMPe,eAACk7F,IAAQ,CACPG,OAAK,EACLz5F,QAAS,WACP/X,EAASs1G,YAAmBvrB,MAC5B/pF,EAASu1G,aAAS,KAEpB97E,SAAUy7E,IAAoBnrB,KAAc8qB,EAAQz/F,SAAA,CAEpDlZ,cAACo1G,IAAS,CAACj7F,GAAI,CAAEkB,MAAO,WAAYnC,SAClCe,eAACC,IAAG,CACFE,QAAQ,OACRqJ,WAAW,SAAQvK,SAAA,CAEnBlZ,cAAC64G,GAAgB,CAAC5gG,KAAM41E,MAAc,wBAI1C7tF,cAACo1G,IAAS,CAACj7F,GAAI,CAAEkB,MAAO,WAAYnC,UAChCrF,GAAam/F,EAAWA,EAASllB,IAAI4lB,OAAS1zG,cAACy5G,IAAQ,CAACl+F,QAAQ,cAGtEtB,eAACk7F,IAAQ,CACPG,OAAK,EACLz5F,QAAS,WACP/X,EAASs1G,YAAmBvrB,MAC5B/pF,EAASu1G,aAAS,KAEpB97E,SAAUy7E,IAAoBnrB,MAAe8qB,EAAQz/F,SAAA,CAErDlZ,cAACo1G,IAAS,CACRj7F,GAAI,CAAEkB,MAAO,WAAYnC,SAEzBe,eAACC,IAAG,CACFE,QAAQ,OACRqJ,WAAW,SAAQvK,SAAA,CAEnBlZ,cAAC64G,GAAgB,CAAC5gG,KAAM41E,MAAc,wBAI1C7tF,cAACo1G,IAAS,CAACj7F,GAAI,CAAEkB,MAAO,WAAYnC,UAChCrF,GAAam/F,EAAWA,EAASllB,IAAI/O,OAAS/+E,cAACy5G,IAAQ,CAACl+F,QAAQ,cAGtEtB,eAACk7F,IAAQ,CACPG,OAAK,EACLz5F,QAAS,kBAAM/X,EAASs1G,YAAmB3rB,OAC3ClwD,SAAUy7E,IAAoBvrB,IAAav0E,SAAA,CAE3ClZ,cAACo1G,IAAS,CAACj7F,GAAI,CAAEkB,MAAO,WAAYnC,SAClCe,eAACC,IAAG,CACFE,QAAQ,OACRqJ,WAAW,SAAQvK,SAAA,CAEnBlZ,cAAC64G,GAAgB,CAAC5gG,KAAMw1E,MAAgB,mBAI5CztF,cAACo1G,IAAS,CAACj7F,GAAI,CAAEkB,MAAO,WAAYnC,UAChCrF,GAAam/F,EAAW0G,aAAiB1G,EAAStlB,IAAKD,KAAc,GAAQztF,cAACy5G,IAAQ,CAACl+F,QAAQ,cAGrGtB,eAACk7F,IAAQ,CACPG,OAAK,EACLz5F,QAAS,kBAAM/X,EAASs1G,YAAmBzrB,OAC3CpwD,SAAUy7E,IAAoBrrB,IAAcz0E,SAAA,CAE5ClZ,cAACo1G,IAAS,CAACj7F,GAAI,CAAEkB,MAAO,WAAYnC,SAClCe,eAACC,IAAG,CACFE,QAAQ,OACRqJ,WAAW,SAAQvK,SAAA,CAEnBlZ,cAAC64G,GAAgB,CAAC5gG,KAAM01E,MAAiB,oBAI7C3tF,cAACo1G,IAAS,CAACj7F,GAAI,CAAEkB,MAAO,WAAYnC,UAChCrF,GAAam/F,EAAW0G,aAAiB1G,EAASplB,KAAMD,KAAe,GAAQ3tF,cAACy5G,IAAQ,CAACl+F,QAAQ,cAGvGvb,cAACm1G,IAAQ,CAAAj8F,SACPlZ,cAACo1G,IAAS,CACRj7F,GAAI,CACFC,QAAS,OACTqJ,WAAY,SACZpI,MAAO,iBACPW,SAAU,kBACVic,YAAa,kBACb/e,SAEFe,eAACC,IAAG,CACFC,GAAI,CACFC,QAAS,OACTC,cAAe,MACfoJ,WAAY,UACZvK,SAAA,CAEFlZ,cAAC25G,IAAe,CACdx/F,GAAI,CACFW,MAAO,OACPgB,OAAQ,UAGZ9b,cAACuwB,IAAU,CACTjV,QAAM,EACNQ,OAAO,OAAM5C,SACd,gBAMPe,eAACk7F,IAAQ,CACPG,OAAK,EACLz5F,QAAS,kBAAM/X,EAASs1G,YAAmBzZ,QAC3CpiE,SAAUy7E,IAAoBrZ,KAASzmF,SAAA,CAEvClZ,cAACo1G,IAAS,CAACj7F,GAAI,CAAEkB,MAAO,WAAYnC,SAClCe,eAACC,IAAG,CACFE,QAAQ,OACRqJ,WAAW,SAAQvK,SAAA,CAEnBlZ,cAAC84G,GAAQ,CAAC7gG,KAAM0nF,OAAY,mBAIhC3/F,cAACo1G,IAAS,CAACj7F,GAAI,CAAEkB,MAAO,gBAE1BpB,eAACk7F,IAAQ,CACPG,OAAK,EACLz5F,QAAS,kBAAM/X,EAASs1G,YAAmBxZ,QAC3CriE,SAAUy7E,IAAoBpZ,KAAS1mF,SAAA,CAEvClZ,cAACo1G,IAAS,CAACj7F,GAAI,CAAEkB,MAAO,WAAYnC,SAClCe,eAACC,IAAG,CACFE,QAAQ,OACRqJ,WAAW,SAAQvK,SAAA,CAEnBlZ,cAAC84G,GAAQ,CAAC7gG,KAAM2nF,OAAY,mBAIhC5/F,cAACo1G,IAAS,CAACj7F,GAAI,CAAEkB,MAAO,sBAI9Brb,cAACic,IAAO,CACN9B,GAAI,CACF2C,GAAI,EACJqF,GAAI,KAGRlI,eAACC,IAAG,CACFC,GAAI,CACFW,MAAO,OACPL,GAAI,EACJD,GAAI,GACJtB,SAAA,CA2BD,CAAC20E,IAAYJ,IAAcE,KAAe9gF,SAASmsG,IAClDh5G,cAACoiB,IAAM,CACL7G,QAAQ,WACRF,MAAM,YACNlB,GAAI,CACFW,MAAO,QAETe,QAAS,kBAAMq9F,EA9UH,IA8UiChgG,SAC9C,aAIF8/F,IAAoBnrB,KACnB5zE,eAAAyW,WAAA,CAAAxX,SAAA,CACElZ,cAACoiB,IAAM,CACL7G,QAAQ,WACRF,MAAM,UACNlB,GAAI,CACFW,MAAO,OACPgC,GAAI,GAENjB,QAAS,kBAAMq9F,EA3Vb,IA2VmChgG,SACtC,QAGDlZ,cAACoiB,IAAM,CACL7G,QAAQ,WACRF,MAAM,YACNlB,GAAI,CACFW,MAAO,OACPgC,GAAI,GAENjB,QAAS,kBAAMq9F,EArWZ,IAqWmChgG,SACvC,SAGAy/F,EACC34G,cAACoiB,IAAM,CACL7G,QAAQ,WACRF,MAAM,UACNlB,GAAI,CACFW,MAAO,OACPgC,GAAI,GAENjB,QAAS,kBAAMq9F,EAhXX,IAgXqChgG,SAC1C,YAIDlZ,cAACoiB,IAAM,CACL7G,QAAQ,WACRF,MAAM,YACNlB,GAAI,CACFW,MAAO,OACPgC,GAAI,GAENjB,QAAS,kBAAMq9F,EA3XV,IA4XLhgG,SACD,mBAOR8/F,IAAoBnrB,KAxYH,IAwYiBorB,GACjCj5G,cAACg2G,GAAO,CACNz0F,KA1Yc,IA0YR03F,EACNjqF,QAAS,kBAAMkqF,EA5YR,IA6YPjD,SAAU+C,IAGbA,IAAoBnrB,KA/YH,IA+YiBorB,GACjCj5G,cAAC8xG,GAAe,CACdvwF,KAjZc,IAiZR03F,EACNjqF,QAAS,kBAAMkqF,EAnZR,IAoZPn6B,QAAS45B,IAGZK,IAAoBnrB,KArZX,IAqZyBorB,GACjCj5G,cAACk3G,GAAa,CACZ31F,KAvZM,IAuZA03F,EACNt7E,YAAa,kBAAMu7E,EA1ZZ,MA6ZVF,IAAoBnrB,KA1ZV,IA0ZwBorB,GACjCj5G,cAACs4G,GAAc,CACb/2F,KA5ZO,IA4ZD03F,EACNt7E,YAAa,kBAAMu7E,EAhaZ,MAmaVF,IAAoBnrB,KA/ZP,IA+ZqBorB,GACjCj5G,cAACy4G,GAAgB,CACfl3F,KAjaU,IAiaJ03F,EACNt7E,YAAa,kBAAMu7E,EAtaZ,MAyaVF,IAAoBnrB,KApaN,IAoaoBorB,GACjCj5G,cAAC44G,GAAiB,CAChBr3F,KAtaW,IAsaL03F,EACNt7E,YAAa,kBAAMu7E,EA5aZ,W,gCC1EjB,gRAAO,IAAMvhB,EAAgB,CAC3BiiB,mBAAoB,iBACpBC,6BAA8B,sDAC9BC,mBAAoB,iBACpBC,kBAAmB,2BACnBC,6BAA8B,6BAC9BC,MAAO,CACLp3E,OAAQ,gDACRq3E,MAAO,CACL,QACA,SACA,WAEFC,eAAwD,8BACxDC,gBAAyD,yBACzDC,aAAc,QAEhBC,iBAAkB,qBAClBC,cAAe,CACbC,QAAQ,EACR33E,OAAgD,cAChD43E,SAAU,WAIDnmC,EAAa,iBAEbziC,EAAc,CACzB6oE,kBAAmB,wEACnBC,kBAAmB,wEACnBC,mBAAoB,gFACpBC,oBAAqB,wEACrBC,cAAe,mCACfC,iBAAkB,wEAClBC,OAAQ,sCACRrK,OAAQ,gCACRsK,mBAAoB,2CACpBx1D,iBAAkB,2CAClBE,YAAa,sCACbR,UAAW,oCACX+1D,YAAa,sCACbC,iBAAkB,uCAClBC,kBAAmB,6CACnBC,kBAAmB,6CACnBC,uBAAwB,8FACxBC,2BAA4B,qCAE5Bx9D,wBAAyB,2CACzBy9D,kBAAmB,mCACnBC,mBAAoB,6DACpBC,oBAAqB,+BACrB5pE,iBAAkB,gCAClB6pE,eAAgB,oCAChBv1D,eAAgB,wCAChBw1D,kBAAmB,8EAGRC,EAAkB,0CAElBC,EAAiB,CAC5BC,eAAgB,iCAChBC,YAAa,0CAEFC,EAAc,sBAEdrL,EAAU,KAEVsL,EAAS,M,+FCuCTlyC,EAAa,IA5FV,oBAAAmyC,IAAA1lE,YAAA,KAAA0lE,GAyFb,OAzFahlE,YAAAglE,EAAA,EAAAt+G,IAAA,gBAAAiB,MACd,SAAcuK,GACZ,OAAO,IAAI+W,SAAQ,SAAC+wB,EAASyG,GAC3Bk+B,YAAuBzsE,GACpBsW,MAAK,SAAC/gB,GACLuyC,EAAQvyC,MAETkhB,OAAM,SAACC,GACN63B,EAAO,IAAI1e,MAAM,sBAADx5B,OAAuBiX,KAAKC,UAAUmJ,cAG7D,CAAAliB,IAAA,gBAAAiB,MAED,SAAcuK,GACZ,OAAO,IAAI+W,SAAQ,SAAC+wB,EAASyG,GAC3Bm+B,aAAoB1sE,GACjBsW,MAAK,SAAC/gB,GAAE,OAAKuyC,EAAQvyC,MACrBkhB,OAAM,SAACC,GAAG,OAAK63B,EAAO,IAAI1e,MAAM,yBAADx5B,OAA0BiX,KAAKC,UAAUmJ,cAE9E,CAAAliB,IAAA,gBAAAiB,MAED,SAAc2gB,GACZ,OAAO,IAAIW,SAAQ,SAAC+wB,EAASyG,GAC3Bo+B,YAAoBv2D,GACjBE,MAAK,SAAC/gB,GAAE,OAAKuyC,EAAQvyC,MACrBkhB,OAAM,SAACC,GAAG,OAAK63B,EAAO,IAAI1e,MAAM,yBAADx5B,OAA0BiX,KAAKC,UAAUmJ,cAE9E,CAAAliB,IAAA,kBAAAiB,MAED,SAAgB0N,GACd,OAAO,IAAI4T,SAAQ,SAAC+wB,EAASyG,GAC3Bq+B,aAAsBzpE,GACnBmT,MAAK,SAACzX,GAAQ,OAAKipC,EAAQjpC,MAC3B4X,OAAM,SAACC,GAAG,OAAK63B,EAAO,IAAI1e,MAAM,0BAADx5B,OAA2BiX,KAAKC,UAAUmJ,cAE/E,CAAAliB,IAAA,6BAAAiB,MAED,SAA2B0N,EAAa2pE,EAAcC,EAAe3uD,EAAgB4uD,GACnF,OAAO,IAAIj2D,SAAQ,SAAC+wB,EAASyG,GAC3Bs+B,aAAiC1pE,EAAK2pE,EAAMC,EAAO3uD,EAAO4uD,GACvD12D,MAAK,SAACzX,GAAQ,OAAKipC,EAAQjpC,MAC3B4X,OAAM,SAACC,GAAG,OAAK63B,EAAO,IAAI1e,MAAM,0BAADx5B,OAA2BiX,KAAKC,UAAUmJ,cAE/E,CAAAliB,IAAA,cAAAiB,MAED,SAAY0N,GACV,OAAO,IAAI4T,SAAQ,SAAC+wB,GAClB6mC,aAAkBxrE,GACfmT,MAAK,SAACrV,GAAI,OAAK6mC,EAAQ7mC,MACvBwV,OAAM,kBAAMqxB,EAAQ,CAAEirE,WAAY,cAExC,CAAAv+G,IAAA,gBAAAiB,MAED,SAAc0N,GACZ,OAAO,IAAI4T,SAAQ,SAAC+wB,EAASyG,GAC3BsgC,YAA2B1rE,GACxBmT,MAAK,SAAC+L,GAAG,OAAKylB,EAAQzlB,MACtB5L,OAAM,SAACC,GAAG,OAAK63B,EAAO,IAAI1e,MAAM,kCAADx5B,OAAmCiX,KAAKC,UAAUmJ,cAEvF,CAAAliB,IAAA,mBAAAiB,MAED,SAAiB0N,GACf,OAAO,IAAI4T,SAAQ,SAAC+wB,EAASyG,GAC3BugC,YAA8B3rE,GAC3BmT,MAAK,SAAC+L,GAAG,OAAKylB,EAAQzlB,MACtB5L,OAAM,SAACC,GAAG,OAAK63B,EAAO,IAAI1e,MAAM,6CAADx5B,OAA8CiX,KAAKC,UAAUmJ,cAElG,CAAAliB,IAAA,qBAAAiB,MAED,SAAmB0N,EAAaorE,GAC9B,OAAO,IAAIx3D,SAAQ,SAAC+wB,GAClBumC,YAA4BlrE,EAAKorE,GAC9Bj4D,MAAK,kBAAMwxB,GAAQ,MACnBrxB,OAAM,SAAC3f,GACNsW,QAAQC,IAAI,6CAADhX,OAA8CiX,KAAKC,UAAUzW,KACxEgxC,GAAQ,WAGf,CAAAtzC,IAAA,sBAAAiB,MAED,SAAoB0N,EAAaorE,GAC/B,OAAO,IAAIx3D,SAAQ,SAAC+wB,GAClB8mC,YAAyBzrE,EAAKorE,GAC3Bj4D,MAAK,kBAAMwxB,GAAQ,MACnBrxB,OAAM,SAAC3f,GACNsW,QAAQC,IAAI,iDAADhX,OAAkDiX,KAAKC,UAAUzW,KAC5EgxC,GAAQ,aAGfgrE,EAzFa,K,mqBCUH5tB,EAAkC,SAACpF,GAAmB,OAAAjpF,wBAAA,GAC9DipF,GAAc,IACjBp5E,QAASo5E,EAAep5E,QAAQtN,KAAI,SAAC8kC,GACnC,OAAU,OAANA,EAAmB,KAChB,CACLtvB,KAAM7X,OAAOmnC,EAAEtvB,MACfq5D,cAAelxE,OAAOmnC,EAAE+pC,eACxBC,cAAenxE,OAAOmnC,EAAEgqC,eACxBC,YAAapxE,OAAOmnC,EAAEiqC,aACtBC,YAAarxE,OAAOmnC,EAAEkqC,iBAG1B9V,SAAsC,OAA5BwtB,EAAextB,SAAoB,KAAO,CAClD1jD,KAAM7X,OAAO+oF,EAAextB,SAAS1jD,MACrCy5D,SAAUtxE,OAAO+oF,EAAextB,SAAS+V,UACzCvQ,KAAM/gE,OAAO+oF,EAAextB,SAASwF,OAEvCiQ,IAA4B,OAAvB+X,EAAe/X,IAAe,KAAO,CACxCjQ,KAAM/gE,OAAO+oF,EAAe/X,IAAIjQ,OAElCe,cAAe9hE,OAAO+oF,EAAejnB,kBAG1Bm6C,EAA2B,SAACzhF,GAAqB,OAC3DA,EAAQ0hF,kBAAoB1hF,EAAQ0hF,iBAAiB1yB,MAAa1pF,wBAAA,GAE5D06B,EAAQ0hF,iBAAiB1yB,MAAc,IAAE,IAC5C9iB,cAAgBlsC,EAAQ0hF,iBAAiB1yB,MAAc,GAAG9iB,cAAqBlsC,EAAQ0hF,iBAAiB1yB,MAAc,GAAG9iB,cAA/C,KACxE,CACF/2D,QAAS,CAACmf,YAAcsyC,MAAkB,KAAM,KAAM,KAAM,MAC5D7F,SAAU,KACVyV,IAAK,KACLlP,cAAe,IACfmnB,UAAW,CAAC,CACVlqB,YAAa2gC,KAAiBjzF,SAASygF,aAAmB1yD,EAAQmsC,WAAau8B,KAAqBrzB,KACpGviE,cAAeE,KACfwxD,gBAAiBxkC,EAAQmsC,WAE3BD,cAAe,KAIRy1C,EAA6B,SAAC3hF,GAAqB,OAC9DA,EAAQ0hF,kBAAoB1hF,EAAQ0hF,iBAAiB1yB,OAAiBhvD,EAAQ0hF,iBAAiB1yB,MAAc,GACzGhvD,EAAQ0hF,iBAAiB1yB,MAAc,GCpEf,4IDwEjB4yB,EAAyB,SAAC5hF,GAAqB,OAC1DA,EAAQ0hF,kBAAoB1hF,EAAQ0hF,iBAAiB1yB,OAAiBhvD,EAAQ0hF,iBAAiB1yB,MAAc,GACzGhvD,EAAQ0hF,iBAAiB1yB,MAAc,GACvC6yB,KAGOC,EAAkB,SAAC9hF,EAAuBunC,EAAcgpB,EAAYlzE,EAAc0kG,GAC7F,IAAMC,EAAWD,GAAc/hF,EAAQiO,cAEvC,MAAO,CACLjqC,GAAI+jD,cACJphD,KAAM,GACNs7G,OAAQ,CACNle,UAAW,IAEb1mF,KAAM2kG,EACNp8C,YAAa,GACb2B,UACAgpB,MAAO,CAACA,GACRnD,aAAc,CACZ/vE,KAAMgsD,KACNzlE,OAAQ,GAEVmrF,WAAY1xE,EACZ4uE,OAAQ,EACRoK,KAAM,KACNvG,QAAS,EACToyB,mBAAoB,GACpBhyB,gBAAiBlwD,EAAQmsC,SACzBg2C,iBAAkB,GAClBC,aAAc,GACd7kE,IAAK,GACL+uC,KAAMjvE,IAAS2xE,KAAe,GAAK,CAAEpB,KAAM,IAC3CW,eAAgBkzB,EAAyBzhF,GACzC22D,YAAa,KACbryF,MAAO,CACL+9G,WAAW,EACXC,cAAc,KAKPC,EAAiB,EACjBC,EAAkB,EAClBC,EAAkB,EAElBC,EAAoB,EACpBC,EAAwB,EACxBC,EAA0B,EAC1BC,EAAuB,EACvBC,EAA0B,EAC1BC,EAAsB,EAEtBC,EAA4B,CACvC,CACEh/G,GAAI0+G,EACJvmG,MAAO,mBACPomB,KAAM+0C,KAER,CACEtzE,GAAI2+G,EACJxmG,MAAO,yBACPomB,KAAM0gF,KAER,CACEj/G,GAAI6+G,EACJ1mG,MAAO,eACPomB,KAAMi1C,KAER,CACExzE,GAAI8+G,EACJ3mG,MAAO,oBACPomB,KAAM2gF,KAER,CACEl/G,GAAI++G,EACJ5mG,MAAO,cACPomB,KAAM4gF,MAIGC,EAA4B,CACvC,CACEp/G,GAAI0+G,EACJvmG,MAAO,mBACPomB,KAAM+0C,KAER,CACEtzE,GAAI4+G,EACJzmG,MAAO,qBACPomB,KAAM8gF,KAER,CACEr/G,GAAI6+G,EACJ1mG,MAAO,eACPomB,KAAMi1C,KAER,CACExzE,GAAI8+G,EACJ3mG,MAAO,oBACPomB,KAAM2gF,KAER,CACEl/G,GAAI++G,EACJ5mG,MAAO,cACPomB,KAAM4gF,MAIGG,EAAsB,SAAC19G,GAClC,IAAM29G,EAAgB/8C,KAAiBl0D,MAAK,SAACq6B,GAAC,OAAKA,EAAEtvB,OAASzX,EAAQwnF,aAAa/vE,QACnF,MAAM,GAANvY,OAAUc,EAAQwnF,aAAaxpF,OAAM,KAAAkB,OAAIy+G,EAAc/gG,MAAI1d,OAAGc,EAAQwnF,aAAaxpF,OAAS,EAAI,IAAM,M,iCEvLxG,+EAIa4/G,EAAY,SAACv+G,GACxBisB,YACE7R,eAACC,IAAG,CACFE,QAAQ,OACRqJ,WAAW,SACXtJ,GAAI,CACF8b,aAAc,GACd/c,SAAA,CAEFlZ,cAACszE,IAAQ,CACPn5D,GAAI,CACF6B,SAAU,OACVgB,GAAI,GAEN3B,MAAM,cAEPxb,Q,iCCpBP,mBAEMw+G,EAAUlO,YACdnwG,cAAA,OACEowG,MAAM,6BACNC,QAAQ,YACR19B,KAAK,eAAcz5D,SAEnBlZ,cAAA,QAAMuwG,EAAE,8IAEV,WAGa8N,O,k4BCCTC,EAAc,CAAEC,IAAK,EAAGC,IAAK,EAAGC,IAAK,EAAGC,KAAM,EAAGC,KAAM,GAqBvDp+G,EAAkC,CACtCk7B,YAAa,GACbf,SAAU,GACVgN,cAAe,GACfE,UAAW,GACXjN,UAAW,GACXpU,YAAa,KACbrS,aAAc,KACdsS,gBAAiB,GACjB9D,oBAAqB,GACrB+D,cAAe,GACfioD,UAAW,KACXm/B,YAAa,GACbh/B,aAAc,GACd5rC,gBAAgB,EAChB27E,kBAAkB,EAClBC,UAAWP,GAGPQ,EAAY,SAACnoD,EAAkBC,GAAgB,OAAcD,EAAE7uB,MAAQ8uB,EAAE9uB,OAEzEzmC,EAAQC,YAAY,CACxBC,KAAM,eACNhB,eACAiB,SAAU,CACRC,WAAU,SAACC,GACTA,EAAM+5B,YAAY95B,OAAO,EAAGD,EAAM+5B,YAAYj9B,QAC9CkD,EAAMg5B,SAAS/4B,OAAO,EAAGD,EAAMg5B,SAASl8B,QACxCkD,EAAMgmC,cAAc/lC,OAAO,EAAGD,EAAMgmC,cAAclpC,QAClDkD,EAAMkmC,UAAUjmC,OAAO,EAAGD,EAAMkmC,UAAUppC,QAC1CkD,EAAMi5B,UAAUh5B,OAAO,EAAGD,EAAMi5B,UAAUn8B,QAC1CkD,EAAM6kB,YAAc,KACpB7kB,EAAMwS,aAAe,KACrBxS,EAAM8kB,gBAAgB7kB,OAAO,EAAGD,EAAM8kB,gBAAgBhoB,QACtDkD,EAAMghB,oBAAoB/gB,OAAO,EAAGD,EAAMghB,oBAAoBlkB,QAC9DkD,EAAM+kB,cAAc9kB,OAAO,EAAGD,EAAM+kB,cAAcjoB,QAClDkD,EAAMgtE,UAAY,KAClBhtE,EAAMmsG,YAAYlsG,OAAO,EAAGD,EAAMmsG,YAAYrvG,QAC9CkD,EAAMmtE,aAAaltE,OAAO,EAAGD,EAAMmtE,aAAarwE,QAChDkD,EAAMuhC,gBAAiB,EACvBvhC,EAAMk9G,kBAAmB,EACzBl9G,EAAMm9G,UAAYP,GAEpBS,kBAAiB,SAACr9G,EAA0BO,GAC1CP,EAAMuhC,eAAiBhhC,EAAOC,SAEhCykC,aAAY,SAACjlC,EAA0BO,GACjCP,EAAMgtE,WAAW9sE,OAAOC,IAAIC,gBAAgBJ,EAAMgtE,WACtDhtE,EAAMgtE,UAAYzsE,EAAOC,SAE3B+mC,iBAAgB,SAACvnC,EAA0BO,GACzC,IAAAK,EAA6DL,EAAOC,QAA5D6iB,EAAOziB,EAAPyiB,QAAS9E,EAAa3d,EAAb2d,cAAewnB,EAAUnlC,EAAVmlC,WAAYI,EAAKvlC,EAALulC,MAAO/jB,EAAKxhB,EAALwhB,MACnDpiB,EAAM+5B,YAAc1W,EACpBrjB,EAAMg5B,SAAWza,EACjBve,EAAMgmC,cAAgBD,EACtB/lC,EAAMkmC,UAAYC,EAClBnmC,EAAMi5B,UAAY7W,EAClBpiB,EAAMuhC,gBAAiB,GAEzB+7E,uBAAsB,SAACt9G,EAA0BO,GAC/C,IAAMg9G,EAAah9G,EAAOC,QACpBg9G,EAAWx9G,EAAMg5B,SAASrtB,WAAU,SAACutB,GAAO,OAAKA,EAAQ1X,iBAAmB+7F,EAAW/7F,kBACzFg8F,GAAY,GAAGx9G,EAAMg5B,SAAS/4B,OAAOu9G,EAAU,EAAGD,IAExDE,uBAAsB,SAACz9G,EAA0BO,GAAwI,IAADm9G,EACtLr1G,EAAqD9H,EAAOC,QAApDyhD,EAAU55C,EAAV45C,WAAY/oB,EAAO7wB,EAAP6wB,QAASgpB,EAAQ75C,EAAR65C,SAAUjpB,EAAS5wB,EAAT4wB,UACvCj5B,EAAM+5B,YAAYp9B,KAAKslD,GACvBjiD,EAAMg5B,SAASr8B,KAAKu8B,GACpBl5B,EAAMkmC,UAAUvpC,KAAKulD,IACrBw7D,EAAA19G,EAAMi5B,WAAUt8B,KAAIiG,MAAA86G,EAAAlzG,YAAIyuB,KAE1B0kF,mBAAkB,SAAC39G,EAA0BO,GAC3C,IAAMyqD,EAAczqD,EAAOC,QACrBo9G,EAAmB59G,EAAMgmC,cAAcr6B,WAAU,SAACu7B,GAAG,OAAKA,EAAIhqC,KAAO8tD,EAAY9tD,MACnF0gH,GAAoB,EAAG59G,EAAMgmC,cAAc/lC,OAAO29G,EAAkB,EAAG5yD,GACtEhrD,EAAMgmC,cAAcrpC,KAAKquD,IAEhCxlB,eAAc,SAACxlC,EAA0BO,GACvCP,EAAM6kB,YAActkB,EAAOC,SAE7B2jC,gBAAe,SAACnkC,EAA0BO,GACxCP,EAAMwS,aAAejS,EAAOC,SAE9Bq9G,yBAAwB,SAAC79G,EAA0BO,GACjD,IAAMu9G,EAAUv9G,EAAOC,QACnBu9G,EAAY/9G,EAAMkmC,UAAUv6B,WAAU,SAAC+V,GAAI,OAAKA,EAAKE,MAAQk8F,EAAQl8F,OACrEm8F,GAAa,GAAG/9G,EAAMkmC,UAAUjmC,OAAO89G,EAAW,EAAGD,IACzDC,EAAY/9G,EAAMghB,oBAAoBrV,WAAU,SAAC+V,GAAI,OAAKA,EAAKE,MAAQk8F,EAAQl8F,SAC9D,GAAG5hB,EAAMghB,oBAAoB/gB,OAAO89G,EAAW,EAAGD,GACnE99G,EAAMghB,oBAAoBomB,KAAKg2E,IAEjCtsE,oBAAmB,SAAC9wC,EAA0BO,GAC5CP,EAAMk9G,iBAAmB38G,EAAOC,SAElC4sE,mBAAkB,SAACptE,EAA0BO,GAC3C,IAAAmI,EAAkCnI,EAAOC,QAAjC6iB,EAAO3a,EAAP2a,QAAS8iB,EAAKz9B,EAALy9B,MAAO/jB,EAAK1Z,EAAL0Z,MACxBpiB,EAAM8kB,gBAAkBzB,EACxBrjB,EAAMghB,oBAAsBmlB,EAC5BnmC,EAAM+kB,cAAgB3C,EACtBpiB,EAAMghB,oBAAoBomB,KAAKg2E,GAC/Bp9G,EAAMk9G,kBAAmB,GAE3Bc,kBAAiB,SAACh+G,EAA0BO,GAC1C,IAAM09G,EAAY19G,EAAOC,QACzBR,EAAM8kB,gBAAgBnoB,KAAKshH,IAE7BC,qBAAoB,SAACl+G,EAA0BO,GAC7C,IAAMsqB,EAAOtqB,EAAOC,QACd4gB,EAAYphB,EAAM8kB,gBAAgBtZ,MAAK,SAAC+V,GAAM,OAAKA,EAAO0L,MAAQpC,EAAKoC,OACzE7L,GACFplB,OAAOC,KAAK4uB,GAAMtuB,SAAQ,SAACJ,GACb,QAARA,IAAeilB,EAAUjlB,GAAO0uB,EAAK1uB,QAI/CgiH,iBAAgB,SAACn+G,EAA0BO,GAAmC,IAAD69G,EAC3EluB,EAAkC3vF,EAAOC,QAAjCs6E,EAAUoV,EAAVpV,WAAYC,EAASmV,EAATnV,WACpBqjC,EAAAp+G,EAAM8kB,iBAAgBnoB,KAAIiG,MAAAw7G,EAAA5zG,YAAIswE,EAAW/5E,KAAI,SAACwgB,GAAM,OAAA/iB,wBAAA,GAAW+iB,GAAM,IAAE2L,KAAM,UAC7EltB,EAAM8kB,gBAAkB9kB,EAAM8kB,gBAAgB/c,QAAO,SAACwZ,GAAM,OAAMw5D,EAAU5vE,SAASoW,EAAO0L,QAC5FjtB,EAAM+kB,cAAcxoB,SAAQ,SAAC8lB,GAC3BA,EAAKg8F,KAAOh8F,EAAKg8F,KAAKt2G,QAAO,SAACosF,GAAQ,OAAMpZ,EAAU5vE,SAASgpF,UAGnEmqB,uBAAsB,SAACt+G,EAA0BO,GAC/C,IAAM0sB,EAAM1sB,EAAOC,QACnBR,EAAM8kB,gBAAkB9kB,EAAM8kB,gBAAgB/c,QAAO,SAACwZ,GAAM,OAAK0L,IAAQ1L,EAAO0L,OAChFjtB,EAAM+kB,cAAcxoB,SAAQ,SAAC8lB,GAC3BA,EAAKg8F,KAAOh8F,EAAKg8F,KAAKt2G,QAAO,SAACosF,GAAQ,OAAKA,IAAalnE,SAG5DsxF,sBAAqB,SAACv+G,EAA0BO,GAC9C,IAAMu9G,EAAUv9G,EAAOC,QACvBR,EAAMghB,oBAAoBrkB,KAAKmhH,GAC/B99G,EAAMghB,oBAAoBomB,KAAKg2E,IAEjCoB,2BAA0B,SAACx+G,EAA0BO,GACnD,IAAMqhB,EAAMrhB,EAAOC,QACnBR,EAAMkmC,UAAYlmC,EAAMkmC,UAAUn+B,QAAO,SAAC2Z,GAAI,OAAKA,EAAKE,MAAQA,KAChE5hB,EAAM8kB,gBAAgB/c,QAAO,SAACwZ,GAAM,OAAKA,EAAOK,MAAQA,KAAKrlB,SAAQ,SAACglB,GACpEvhB,EAAM+kB,cAAcxoB,SAAQ,SAAC8lB,GAC3BA,EAAKg8F,KAAOh8F,EAAKg8F,KAAKt2G,QAAO,SAACosF,GAAQ,OAAKA,IAAa5yE,EAAO0L,aAGnEjtB,EAAM8kB,gBAAkB9kB,EAAM8kB,gBAAgB/c,QAAO,SAACwZ,GAAM,OAAKA,EAAOK,MAAQA,KAChF5hB,EAAMghB,oBAAsBhhB,EAAMghB,oBAAoBjZ,QAAO,SAAC2Z,GAAI,OAAKA,EAAKE,MAAQA,MAEtF68F,gBAAe,SAACz+G,EAA0BO,GACxC,IAAMm+G,EAAUn+G,EAAOC,QACvBR,EAAM+kB,cAAcpoB,KAAK+hH,GACzB1+G,EAAM8kB,gBAAgBvoB,SAAQ,SAACglB,GACzBm9F,EAAQL,KAAKlzG,SAASoW,EAAO0L,MAC/B1L,EAAO2L,KAAKvwB,KAAK+hH,EAAQvxF,QAG7BntB,EAAM+5B,YAAYx9B,SAAQ,SAACglB,GACrBm9F,EAAQL,KAAKlzG,SAASoW,EAAO0L,MAC/B1L,EAAO2L,KAAKvwB,KAAK+hH,EAAQvxF,QAG7B,IAAMq+E,EAAexrG,EAAM+5B,YAAYvuB,MAAK,SAAC+V,GAAM,OAAKA,EAAOwL,MAAQ/sB,EAAM6kB,eACzE2mF,GAAgBkT,EAAQL,KAAKlzG,SAASqgG,EAAav+E,MAAMjtB,EAAMi5B,UAAUt8B,KAAK+hH,GAClF,IAAM9pG,EAAQ5U,EAAMg5B,SAASrtB,WAAU,SAACutB,GAAO,OAAKA,EAAQ1X,iBAAmBxhB,EAAM6kB,eACrF,IAAK7kB,EAAMg5B,SAASpkB,GAAO4jD,aAAaC,eAAgB,CACtD,IAAM8kD,EAAU/+G,wBAAA,GACXwB,EAAMg5B,SAASpkB,IAAM,IACxB4jD,aAAYh6D,wBAAA,GACPwB,EAAMg5B,SAASpkB,GAAO4jD,cAAY,IACrCC,gBAAgB,MAGpBz4D,EAAMg5B,SAAS/4B,OAAO2U,EAAO,EAAG2oG,KAGpCoB,qBAAoB,SAAC3+G,EAA0BO,GAC7C,IAAM4sB,EAAM5sB,EAAOC,QACnBR,EAAMi5B,UAAYj5B,EAAMi5B,UAAUlxB,QAAO,SAACsa,GAAI,OAAKA,EAAK8K,MAAQA,KAChEntB,EAAM+kB,cAAgB/kB,EAAM+kB,cAAchd,QAAO,SAACsa,GAAI,OAAKA,EAAK8K,MAAQA,KACxEntB,EAAM8kB,gBAAgBvoB,SAAQ,SAACglB,GAC7BA,EAAO2L,KAAO3L,EAAO2L,KAAKnlB,QAAO,SAAC8M,GAAM,OAAKA,IAAWsY,QAE1DntB,EAAM+5B,YAAYx9B,SAAQ,SAACglB,GACzBA,EAAO2L,KAAO3L,EAAO2L,KAAKnlB,QAAO,SAAC8M,GAAM,OAAKA,IAAWsY,SAG5DyxF,mBAAkB,SAAC5+G,EAA0BO,GAC3C,IAAMm+G,EAAUn+G,EAAOC,QACjBq+G,EAAU7+G,EAAM+kB,cAAcvZ,MAAK,SAAC6W,GAAI,OAAKA,EAAK8K,MAAQuxF,EAAQvxF,OACxE,GAAI0xF,EAAS,CACX,IAAMC,EAAUD,EAAQR,KAClBU,EAAUL,EAAQL,KAClBW,EAAaF,EAAQ/2G,QAAO,SAACosF,GAAQ,OAAM4qB,EAAQ5zG,SAASgpF,MAC5D8qB,EAAUF,EAAQh3G,QAAO,SAACosF,GAAQ,OAAM2qB,EAAQ3zG,SAASgpF,MAC/Dn0F,EAAM8kB,gBAAgBvoB,SAAQ,SAACglB,GACzBy9F,EAAW7zG,SAASoW,EAAO0L,OAC7B1L,EAAO2L,KAAO3L,EAAO2L,KAAKnlB,QAAO,SAAC8M,GAAM,OAAKA,IAAW6pG,EAAQvxF,QAE9D8xF,EAAQ9zG,SAASoW,EAAO0L,MAC1B1L,EAAO2L,KAAKvwB,KAAK+hH,EAAQvxF,QAG7BntB,EAAM+5B,YAAYx9B,SAAQ,SAACglB,GACrBy9F,EAAW7zG,SAASoW,EAAO0L,OAC7B1L,EAAO2L,KAAO3L,EAAO2L,KAAKnlB,QAAO,SAAC8M,GAAM,OAAKA,IAAW6pG,EAAQvxF,QAE9D8xF,EAAQ9zG,SAASoW,EAAO0L,MAC1B1L,EAAO2L,KAAKvwB,KAAK+hH,EAAQvxF,QAG7B,IAAMq+E,EAAexrG,EAAM+5B,YAAYvuB,MAAK,SAAC+V,GAAM,OAAKA,EAAOwL,MAAQ/sB,EAAM6kB,eACzE2mF,GAAgBwT,EAAW7zG,SAASqgG,EAAav+E,OAAMjtB,EAAMi5B,UAAYj5B,EAAMi5B,UAAUlxB,QAAO,SAACsa,GAAI,OAAKA,EAAK8K,MAAQuxF,EAAQvxF,QAC/Hq+E,GAAgByT,EAAQ9zG,SAASqgG,EAAav+E,MAAMjtB,EAAMi5B,UAAUt8B,KAAK+hH,GAC7E1+G,EAAM+kB,cAAgB/kB,EAAM+kB,cAAchkB,KAAI,SAACshB,GAAI,OAAMA,EAAK8K,MAAQuxF,EAAQvxF,IAAMuxF,EAAUr8F,OAGlG68F,uBAAsB,SAACl/G,EAA0BO,GAC/C,IAAA6wF,EAAkC7wF,EAAOC,QAAjC2zF,EAAQ/C,EAAR+C,SAAUgY,EAAW/a,EAAX+a,YAClBnsG,EAAMmsG,YAAcA,EACpB,IAAM5qF,EAASvhB,EAAM+5B,YAAYvuB,MAAK,SAACy2C,GAAU,OAAKA,EAAWh1B,MAAQknE,KACrE5yE,IAAQA,EAAO4qF,YAAcA,GACjC,IAAMgT,EAAiBn/G,EAAM8kB,gBAAgBtZ,MAAK,SAACy2C,GAAU,OAAKA,EAAWh1B,MAAQknE,KACjFgrB,IAAgBA,EAAehT,YAAcA,IAEnDiT,eAAc,SAACp/G,EAA0BO,GACvCP,EAAMmsG,YAAc5rG,EAAOC,SAE7B6+G,gBAAe,SAACr/G,EAA0BO,GACxC,IAAQ4sE,EAAiB5sE,EAAOC,QAAxB2sE,aACRntE,EAAMmtE,aAAeA,GAEvBvyB,mBAAkB,SAAC56C,EAA0BO,GAClBA,EAAOC,QAAxB2sE,aACK5wE,SAAQ,SAAC+iH,GACpB,IAAMC,EAAUv/G,EAAMmtE,aAAa3hE,MAAK,SAAC1P,GAAI,OAAKA,EAAKgP,MAAQw0G,EAAQx0G,OACnEy0G,EACFvjH,OAAOC,KAAKqjH,GAAS/iH,SAAQ,SAACJ,GAChB,OAARA,GAAwB,WAARA,IAAkBojH,EAAQpjH,GAAOmjH,EAAQnjH,IACjD,WAARA,GACFmjH,EAAQjpG,OAAO9Z,SAAQ,SAAC8zF,GACtB,GAAIA,EAAMnzF,GAAI,CACZ,IAAMwO,EAAQ6zG,EAAQlpG,OAAO1K,WAAU,SAACzO,GAAE,OAAKA,EAAGA,KAAOmzF,EAAMnzF,MAC/DqiH,EAAQlpG,OAAOpW,OAAOyL,EAAQ,EAAI6zG,EAAQlpG,OAAOvZ,OAAS4O,EAAOA,EAAQ,EAAI,EAAI,EAAG2kF,UAKvFrwF,EAAMmtE,aAAaxwE,KAAK2iH,OAGnCj6E,gBAAe,SAACrlC,EAA0BO,GAAmC,IAADi/G,EACpEj0G,EAAUhL,EAAOC,QACnB+K,IAA+B,QAApBi0G,EAAAxjH,OAAOC,KAAKsP,UAAQ,IAAAi0G,OAAA,EAApBA,EAAsB1iH,QAAS,GAC5Cd,OAAOC,KAAKsP,GAAShP,SAAQ,SAACJ,GAC5B6D,EAAMm9G,UAAUhhH,GAAOoP,EAAQpP,UAO1B2F,EAAYnC,EAAZmC,QAEFgpE,EAAyB,WAAH,OAAmB,SAAC1oE,GACrDA,EAASzC,EAAM8C,QAAQ1C,gBAKZklC,EAAe,SAAC6J,GAAW,sBAAAjsC,EAAAb,YAAAC,IAAAC,MAAe,SAAAY,EAAOV,GAAQ,OAAAH,IAAAI,MAAA,SAAAU,GAAA,cAAAA,EAAAR,KAAAQ,EAAAP,MAAA,OACpEJ,EAASzC,EAAM8C,QAAQwiC,aAAa6J,IAAM,wBAAA/rC,EAAAL,UAAAI,OAC3C,gBAAAE,GAAA,OAAAH,EAAAD,MAAA,KAAA/F,YAFuC,IAG3B0qC,EAAmB,SAACk4E,EAAiBC,EAAcC,EAAoBC,EAAeC,GAAa,sBAAA58G,EAAAjB,YAAAC,IAAAC,MAAgB,SAAAgB,EAAOd,GAAQ,OAAAH,IAAAI,MAAA,SAAAc,GAAA,cAAAA,EAAAZ,KAAAY,EAAAX,MAAA,OAC7IJ,EAASzC,EAAM8C,QAAQ8kC,iBAAiB,CACtClkB,QAASo8F,EACTlhG,cAAemhG,EACf35E,WAAY45E,EACZx5E,MAAOy5E,EACPx9F,MAAOy9F,KACL,wBAAA18G,EAAAT,UAAAQ,OACL,gBAAAE,GAAA,OAAAH,EAAAL,MAAA,KAAA/F,YAR+G,IASnGygH,EAAyB,SAAC9+F,GAAQ,sBAAAlb,EAAAtB,YAAAC,IAAAC,MAAe,SAAAqB,EAAOnB,GAAQ,OAAAH,IAAAI,MAAA,SAAAmB,GAAA,cAAAA,EAAAjB,KAAAiB,EAAAhB,MAAA,OAC3EJ,EAASzC,EAAM8C,QAAQ66G,uBAAuB9+F,IAAyB,wBAAAhb,EAAAd,UAAAa,OACxE,gBAAAE,GAAA,OAAAH,EAAAV,MAAA,KAAA/F,YAF8C,IAGlC4gH,EAAyB,SAACx7D,EAA6B/oB,EAA0BgpB,EAAyBjpB,GAAoB,sBAAAv1B,EAAA1B,YAAAC,IAAAC,MAAe,SAAAyB,EAAOvB,GAAQ,OAAAH,IAAAI,MAAA,SAAAuB,GAAA,cAAAA,EAAArB,KAAAqB,EAAApB,MAAA,OACvKJ,EAASzC,EAAM8C,QAAQg7G,uBAAuB,CAAEx7D,aAAY/oB,UAASgpB,WAAUjpB,eAAc,wBAAAr1B,EAAAlB,UAAAiB,OAC9F,gBAAAE,GAAA,OAAAH,EAAAd,MAAA,KAAA/F,YAF0I,IAG9H8gH,EAAqB,SAACz2E,GAAQ,sBAAApjC,EAAA9B,YAAAC,IAAAC,MAAe,SAAA6B,EAAO3B,GAAQ,OAAAH,IAAAI,MAAA,SAAA2B,GAAA,cAAAA,EAAAzB,KAAAyB,EAAAxB,MAAA,OACvEJ,EAASzC,EAAM8C,QAAQk7G,mBAAmBz2E,IAAuB,wBAAAljC,EAAAtB,UAAAqB,OAClE,gBAAAE,GAAA,OAAAH,EAAAlB,MAAA,KAAA/F,YAF0C,IAG9B2oC,EAAiB,SAACzY,GAAW,sBAAA7oB,EAAAlC,YAAAC,IAAAC,MAAe,SAAAiC,EAAO/B,GAAQ,OAAAH,IAAAI,MAAA,SAAA+B,GAAA,cAAAA,EAAA7B,KAAA6B,EAAA5B,MAAA,OACtEJ,EAASzC,EAAM8C,QAAQ+iC,eAAezY,IAAM,wBAAA3oB,EAAA1B,UAAAyB,OAC7C,gBAAAE,GAAA,OAAAH,EAAAtB,MAAA,KAAA/F,YAFyC,IAG7BsnC,EAAkB,SAAChX,GAAW,sBAAA5oB,EAAAvC,YAAAC,IAAAC,MAAe,SAAAsC,EAAOpC,GAAQ,OAAAH,IAAAI,MAAA,SAAAoC,GAAA,cAAAA,EAAAlC,KAAAkC,EAAAjC,MAAA,OACvEJ,EAASzC,EAAM8C,QAAQ0hC,gBAAgBhX,IAAM,wBAAA1oB,EAAA/B,UAAA8B,OAC9C,gBAAAE,GAAA,OAAAH,EAAA3B,MAAA,KAAA/F,YAF0C,IAG9Bi0C,EAAsB,SAAC7nC,GAAmB,sBAAAtE,EAAA3C,YAAAC,IAAAC,MAAgB,SAAA0C,EAAOxC,GAAQ,OAAAH,IAAAI,MAAA,SAAAwC,GAAA,cAAAA,EAAAtC,KAAAsC,EAAArC,MAAA,OACpFJ,EAASzC,EAAM8C,QAAQquC,oBAAoB7nC,IAAa,wBAAApE,EAAAnC,UAAAkC,OACzD,gBAAAE,GAAA,OAAAH,EAAA/B,MAAA,KAAA/F,YAFsD,IAG1CuwE,EAAqB,SAAC/pD,EAAgB8iB,EAAc/jB,EAAc+qD,GAAmB,sBAAApoE,EAAA/C,YAAAC,IAAAC,MAAe,SAAA8C,EAAO5C,GAAQ,OAAAH,IAAAI,MAAA,SAAA4C,GAAA,cAAAA,EAAA1C,KAAA0C,EAAAzC,MAAA,OAC9HJ,EAASzC,EAAM8C,QAAQm4C,mBAAmB,CAAEuyB,aAAcA,KAC1D/qE,EAASzC,EAAM8C,QAAQ2qE,mBAAmB,CACxC/pD,QAASA,EACT8iB,MAAOA,EACP/jB,MAAOA,KACL,wBAAAnd,EAAAvC,UAAAsC,OACL,gBAAAE,GAAA,OAAAH,EAAAnC,MAAA,KAAA/F,YAPiG,IAQrFmhH,EAAoB,SAACz8F,GAAW,sBAAAhY,EAAAvH,YAAAC,IAAAC,MAAgB,SAAAsH,EAAOpH,GAAQ,OAAAH,IAAAI,MAAA,SAAAoH,GAAA,cAAAA,EAAAlH,KAAAkH,EAAAjH,MAAA,OAC1EJ,EAASzC,EAAM8C,QAAQu7G,kBAAkBz8F,IAA4B,wBAAA9X,EAAA/G,UAAA8G,OACtE,gBAAAE,GAAA,OAAAH,EAAA3G,MAAA,KAAA/F,YAF4C,IAGhCqhH,EAAuB,SAACrzF,GAAS,sBAAA1lB,EAAAnD,YAAAC,IAAAC,MAAgB,SAAAkD,EAAOhD,GAAQ,OAAAH,IAAAI,MAAA,SAAAgD,GAAA,cAAAA,EAAA9C,KAAA8C,EAAA7C,MAAA,OAC3EJ,EAASzC,EAAM8C,QAAQy7G,qBAAqBrzF,IAAO,wBAAAxlB,EAAA3C,UAAA0C,OACpD,gBAAAE,GAAA,OAAAH,EAAAvC,MAAA,KAAA/F,YAF6C,IAGjCyhH,EAAyB,SAACrxF,GAAW,sBAAA1nB,EAAAvD,YAAAC,IAAAC,MAAe,SAAAsD,EAAOpD,GAAQ,OAAAH,IAAAI,MAAA,SAAAoD,GAAA,cAAAA,EAAAlD,KAAAkD,EAAAjD,MAAA,OAC9EJ,EAASzC,EAAM8C,QAAQ67G,uBAAuBrxF,IAAM,wBAAAxnB,EAAA/C,UAAA8C,OACrD,gBAAAE,GAAA,OAAAH,EAAA3C,MAAA,KAAA/F,YAFiD,IAGrC0hH,EAAwB,SAAC78F,GAAS,sBAAA9b,EAAA5D,YAAAC,IAAAC,MAAe,SAAA2D,EAAOzD,GAAQ,OAAAH,IAAAI,MAAA,SAAAyD,GAAA,cAAAA,EAAAvD,KAAAuD,EAAAtD,MAAA,OAC3EJ,EAASzC,EAAM8C,QAAQ87G,sBAAsB78F,IAAwB,wBAAA5b,EAAApD,UAAAmD,OACtE,gBAAAE,GAAA,OAAAH,EAAAhD,MAAA,KAAA/F,YAF8C,IAGlCijH,EAAuB,SAACp+F,GAAS,sBAAA1b,EAAAhE,YAAAC,IAAAC,MAAe,SAAA+D,EAAO7D,GAAQ,OAAAH,IAAAI,MAAA,SAAA6D,GAAA,cAAAA,EAAA3D,KAAA2D,EAAA1D,MAAA,OAC1EJ,EAASzC,EAAM8C,QAAQo7G,yBAAyBn8F,IAAwB,wBAAAxb,EAAAxD,UAAAuD,OACzE,gBAAAE,GAAA,OAAAH,EAAApD,MAAA,KAAA/F,YAF6C,IAMjC4hH,EAAkB,SAACp8F,GAAS,sBAAArS,EAAAhO,YAAAC,IAAAC,MAAgB,SAAA+N,EAAO7N,GAAQ,OAAAH,IAAAI,MAAA,SAAA6N,GAAA,cAAAA,EAAA3N,KAAA2N,EAAA1N,MAAA,OACtEJ,EAASzC,EAAM8C,QAAQg8G,gBAAgBp8F,IAA0B,wBAAAnS,EAAAxN,UAAAuN,OAClE,gBAAAE,GAAA,OAAAH,EAAApN,MAAA,KAAA/F,YAFwC,IAG5B8hH,EAAuB,SAACxxF,GAAW,sBAAAi4B,EAAApjD,YAAAC,IAAAC,MAAe,SAAAmjD,EAAOjjD,GAAQ,OAAAH,IAAAI,MAAA,SAAAkjD,GAAA,cAAAA,EAAAhjD,KAAAgjD,EAAA/iD,MAAA,OAC5EJ,EAASzC,EAAM8C,QAAQk8G,qBAAqBxxF,IAAM,wBAAAo4B,EAAA7iD,UAAA2iD,OACnD,gBAAAT,GAAA,OAAAQ,EAAAxiD,MAAA,KAAA/F,YAF+C,IAGnC+hH,EAAqB,SAACv8F,GAAS,sBAAAwjC,EAAA7jD,YAAAC,IAAAC,MAAe,SAAA4jD,EAAO1jD,GAAQ,OAAAH,IAAAI,MAAA,SAAA0jD,GAAA,cAAAA,EAAAxjD,KAAAwjD,EAAAvjD,MAAA,OACxEJ,EAASzC,EAAM8C,QAAQm8G,mBAAmBv8F,IAA0B,wBAAA0jC,EAAArjD,UAAAojD,OACrE,gBAAAhB,GAAA,OAAAe,EAAAjjD,MAAA,KAAA/F,YAF2C,IAG/BqiH,EAAyB,SAAC/qB,EAAkBgY,GAAgB,sBAAAlmD,EAAAjkD,YAAAC,IAAAC,MAAe,SAAAgkD,EAAO9jD,GAAQ,OAAAH,IAAAI,MAAA,SAAA+jD,GAAA,cAAAA,EAAA7jD,KAAA6jD,EAAA5jD,MAAA,OACrGJ,EAASzC,EAAM8C,QAAQy8G,uBAAuB,CAAE/qB,WAAUgY,iBAAgB,wBAAA/lD,EAAA1jD,UAAAwjD,OAC3E,gBAAAlB,GAAA,OAAAiB,EAAArjD,MAAA,KAAA/F,YAFwE,IAM5DshH,EAAmB,SAACrjC,EAAmBC,EAAqB5N,GAAmB,sBAAA18D,EAAAzO,YAAAC,IAAAC,MAAe,SAAAwO,EAAOtO,GAAQ,OAAAH,IAAAI,MAAA,SAAAsO,GAAA,cAAAA,EAAApO,KAAAoO,EAAAnO,MAAA,OACxHJ,EAASzC,EAAM8C,QAAQm4C,mBAAmB,CAAEuyB,aAAcA,KAC1D/qE,EAASzC,EAAM8C,QAAQ07G,iBAAiB,CAAErjC,aAAYC,eAAc,wBAAApqE,EAAAjO,UAAAgO,OACrE,gBAAAE,GAAA,OAAAH,EAAA7N,MAAA,KAAA/F,YAH2F,IAI/E+9C,EAAqB,SAACuyB,GAAmB,sBAAAt8D,EAAA7O,YAAAC,IAAAC,MAAe,SAAA4O,EAAO1O,GAAQ,OAAAH,IAAAI,MAAA,SAAA0O,GAAA,cAAAA,EAAAxO,KAAAwO,EAAAvO,MAAA,OAClFJ,EAASzC,EAAM8C,QAAQm4C,mBAAmB,CAAEuyB,aAAcA,KAAkC,wBAAAp8D,EAAArO,UAAAoO,OAC7F,gBAAAE,GAAA,OAAAH,EAAAjO,MAAA,KAAA/F,YAFqD,IAGzCkrE,EAAoB,WAAH,sBAAA9gB,EAAAjlD,YAAAC,IAAAC,MAAmB,SAAAglD,EAAO9kD,GAAQ,OAAAH,IAAAI,MAAA,SAAA8kD,GAAA,cAAAA,EAAA5kD,KAAA4kD,EAAA3kD,MAAA,OAC9DJ,EAASzC,EAAM8C,QAAQ48G,gBAAgB,CAAElyC,aAAc,MAAO,wBAAAhmB,EAAAzkD,UAAAwkD,OAC/D,gBAAAzB,GAAA,OAAAwB,EAAArkD,MAAA,KAAA/F,YAF6B,IAGjBwoC,EAAkB,SAAC06E,GAAa,sBAAAz4D,EAAAtlD,YAAAC,IAAAC,MAAe,SAAAqlD,EAAOnlD,GAAQ,OAAAH,IAAAI,MAAA,SAAAmlD,GAAA,cAAAA,EAAAjlD,KAAAilD,EAAAhlD,MAAA,OACzEJ,EAASzC,EAAM8C,QAAQ4iC,gBAAgB06E,IAAW,wBAAAv4D,EAAA9kD,UAAA6kD,OACnD,gBAAA7B,GAAA,OAAA4B,EAAA1kD,MAAA,KAAA/F,YAF4C,K,kpCC7VvCmjH,EAAY,SAAC/qD,EAAWC,GAC5B,GAA0B,IAAtBD,EAAEtgB,SAAS73C,OAAc,OAAO,EACpC,GAA0B,IAAtBo4D,EAAEvgB,SAAS73C,OAAc,OAAQ,EACrC,IAAMwZ,EAAa2+C,EAAE5gB,gBAGrB,OAFmB6gB,EAAE7gB,gBAET/9B,GAGR3W,EAAQC,YAAY,CACxBC,KAAM,OACNhB,aAxB8B,CAC9BohH,eAAe,EACfC,cAAc,EACdC,eAAgB,KAChBC,eAAgB,KAChB5+E,MAAO,GACP4T,eAAgB,KAChB8D,WAAY,GACZjvC,KAAM,GACNo2G,YAAY,EACZC,aAAc,YAedxgH,SAAU,CACRygH,SAAQ,SAACvgH,GACPA,EAAMwhC,MAAMvhC,OAAO,EAAGD,EAAMwhC,MAAM1kC,QAClCkD,EAAMiK,KAAKhK,OAAO,EAAGD,EAAMiK,KAAKnN,QAChCkD,EAAMigH,eAAgB,EACtBjgH,EAAMkgH,cAAe,EACrBlgH,EAAMmgH,eAAiB,KACvBngH,EAAMogH,eAAiB,KACvBpgH,EAAMo1C,eAAiB,KACvBp1C,EAAMk5C,WAAa,GACnBl5C,EAAMqgH,YAAa,EACnBrgH,EAAMsgH,aAAe,YAEvBtlE,YAAW,SAACh7C,EAAkBO,GAC5B,IAAMw6C,EAASx6C,EAAOC,QAClBzE,EAAI,EAER,IADUiE,EAAMwhC,MAAMh2B,MAAK,SAAC1P,GAAI,OAAKA,EAAK+E,MAAQk6C,EAAOl6C,OACzD,CACA,IAAK9E,EAAI,EAAGA,EAAIiE,EAAMwhC,MAAM1kC,UACtBkD,EAAMwhC,MAAMzlC,GAAGs4C,gBAAkB0G,EAAO1G,iBADVt4C,KAIpCiE,EAAMwhC,MAAMvhC,OAAOlE,EAAG,EAAGg/C,KAE3B2C,cAAa,SAAC19C,EAAkBO,GAC9B,IAAMM,EAAMN,EAAOC,QACb0I,EAAIlJ,EAAMwhC,MAAMh2B,MAAK,SAAC1P,GAAI,OAAKA,EAAK+E,MAAQA,KAC7CqI,GACLlJ,EAAMwhC,MAAMvhC,OAAOD,EAAMwhC,MAAMgc,QAAQt0C,GAAI,IAE7C4vC,aAAY,SAAC94C,EAAkBO,GAC7B,IAAMM,EAAMN,EAAOC,QACbyzC,EAAOj0C,EAAMwhC,MAAMh2B,MAAK,SAAC1P,GAAI,OAAKA,EAAK+E,MAAQA,KACjDozC,IAAMA,EAAKusE,UAAW,IAG5BC,iBAAgB,SAACzgH,EAAkBO,GACjC,IAAMsqB,EAAOtqB,EAAOC,QACdyzC,EAAOj0C,EAAMwhC,MAAMh2B,MAAK,SAAC1P,GAAI,OAAKA,EAAK+E,MAAQgqB,EAAKhqB,OAC7C,OAATozC,QAA0Bz4C,IAATy4C,GAAoBA,EAAKU,SAAS10C,OAAO,EAAGg0C,EAAKU,SAAS73C,OAASmiD,OAE1FipB,YAAW,SAACloE,EAAkBO,GAC5B,IAAMo0C,EAAWp0C,EAAOC,QACxB,KAAIm0C,EAAS73C,OAAS,GAAtB,CACA,IAAMm3C,EAAOj0C,EAAMwhC,MAAMh2B,MAAK,SAAC1P,GAAI,OAAKA,EAAK+E,MAAQ8zC,EAAS,GAAGl1C,UACjE,GAAKw0C,EAAL,CAC8F,IAADysE,EAEtFC,EAFP,GAAI1sE,EAAKU,SAAS73C,OAAS,GAAKm3C,EAAKU,SAASV,EAAKU,SAAS73C,OAAS,GAAGI,GAAKy3C,EAAS,GAAGz3C,IACvFwjH,EAAAzsE,EAAKU,UAASh4C,KAAIiG,MAAA89G,EAAAl2G,YAAImqC,SAEtBgsE,EAAA1sE,EAAKU,UAAS6J,QAAO57C,MAAA+9G,EAAAn2G,YAAImqC,IAEvBV,EAAKU,SAASV,EAAKU,SAAS73C,OAAS,GAAGI,KAAOy3C,EAASA,EAAS73C,OAAS,GAAGI,KAC/E+2C,EAAKG,YAAcO,EAASA,EAAS73C,OAAS,GAAG+tB,KACjDopB,EAAKI,gBAAkBM,EAASA,EAAS73C,OAAS,GAAG2pC,cAGzDm6E,WAAU,SAAC5gH,GACTA,EAAMwhC,MAAM4F,KAAK44E,IAEnBa,kBAAiB,SAAC7gH,EAAkBO,GAClCP,EAAMmgH,eAAiB5/G,EAAOC,SAEhCsgH,kBAAiB,SAAC9gH,EAAkBO,GAClCP,EAAMogH,eAAiB7/G,EAAOC,SAEhCq3C,kBAAiB,SAAC73C,EAAkBO,GAClC,IAAMsqB,EAAOtqB,EAAOC,QACdyzC,EAAOj0C,EAAMwhC,MAAMh2B,MAAK,SAAC1P,GAAI,OAAKA,EAAK+E,MAAQgqB,EAAKhqB,OACtDozC,IACFA,EAAKxL,YAAc5d,EAAK05B,QAG5BnJ,uBAAsB,SAACp7C,EAAkBO,GACvC,IAAMsqB,EAAOtqB,EAAOC,QACpBR,EAAMwhC,MAAMjlC,SAAQ,SAAC03C,GACnBA,EAAKE,aAAa53C,SAAQ,SAAC2jB,GACrBA,EAAEpV,MAAQ+f,EAAK/f,MAAKoV,EAAEm7B,SAAWxwB,EAAKwwB,iBAIhD0lE,oBAAmB,SAAC/gH,EAAkBO,GACpCP,EAAMigH,cAAgB1/G,EAAOC,SAE/BwgH,mBAAkB,SAAChhH,EAAkBO,GACnCP,EAAMkgH,aAAe3/G,EAAOC,SAE9Bg3C,SAAQ,SAACx3C,EAAkBO,GACzB,IAAMkzC,EAAMlzC,EAAOC,QACbyzC,EAAOj0C,EAAMwhC,MAAMh2B,MAAK,SAAC1P,GAAI,OAAKA,EAAK+E,MAAQ4yC,EAAIh0C,UACzDw0C,EAAKU,SAASh4C,KAAK82C,GACnBQ,EAAKG,YAAcX,EAAI5oB,KACvBopB,EAAKI,gBAAkBZ,EAAIhN,UAC3BzmC,EAAMwhC,MAAM4F,KAAK44E,IAEnBvoE,QAAO,SAACz3C,EAAkBO,GAGxB,IAFA,IAAMkzC,EAAMlzC,EAAOC,QACbyzC,EAAOj0C,EAAMwhC,MAAMh2B,MAAK,SAAC1P,GAAI,OAAKA,EAAK+E,MAAQ4yC,EAAIh0C,UAChD1D,EAAIk4C,EAAKU,SAAS73C,OAAS,EAAGf,GAAK,EAAGA,IAAK,CAClD,IAAMD,EAAOm4C,EAAKU,SAAS54C,GAC3B,GAAID,EAAKoB,GAAK,GAAKu2C,EAAI5oB,OAAS/uB,EAAK+uB,KAAM,CACzC/uB,EAAKuY,MAAO,EACZvY,EAAKoB,GAAKu2C,EAAIv2C,GACd,MAEEpB,EAAKoB,GAAK,GAAoB,OAAfu2C,EAAIC,aAAkCl4C,IAAfi4C,EAAIC,QAAwC,OAAhB53C,EAAK43C,aAAmCl4C,IAAhBM,EAAK43C,QAC7FD,EAAIC,OAAOv6B,OAASrd,EAAK43C,OAAOv6B,MAAQs6B,EAAIC,OAAO+C,MAAQ36C,EAAK43C,OAAO+C,MACzE36C,EAAKuY,MAAO,EACZvY,EAAKoB,GAAKu2C,EAAIv2C,MAKtB+/C,sBAAqB,SAACj9C,EAAkBO,GAAmC,IAAD0gH,EAClEr4G,EAAOrI,EAAOC,QACdyzC,EAAOj0C,EAAMwhC,MAAMh2B,MAAK,SAAC1P,GAAI,OAAKA,EAAK+E,MAAQ+H,EAAK/H,OACtDozC,IAAMgtE,EAAAhtE,EAAKE,cAAax3C,KAAIiG,MAAAq+G,EAAAz2G,YAAI5B,EAAK0P,cAE3Cs+B,gBAAe,SAAC52C,EAAkBO,GAChC,IAAQkzC,EAAQlzC,EAAOC,QAAfizC,IACFQ,EAAOj0C,EAAMwhC,MAAMh2B,MAAK,SAAC1P,GAAI,OAAKA,EAAK+E,MAAQ4yC,EAAIh0C,UACrDw0C,IACQA,EAAKU,SAASnpC,MAAK,SAAC1P,GAAI,OAAKA,EAAKoB,KAAOu2C,EAAIv2C,MACrD2tB,KAAOtqB,EAAOC,QAAQoI,OAG5BkuC,yBAAwB,SAAC92C,EAAkBO,GACzC,IAAQkzC,EAAQlzC,EAAOC,QAAfizC,IACFQ,EAAOj0C,EAAMwhC,MAAMh2B,MAAK,SAAC1P,GAAI,OAAKA,EAAK+E,MAAQ4yC,EAAIh0C,UACrDw0C,IACQA,EAAKU,SAASnpC,MAAK,SAAC1P,GAAI,OAAKA,EAAKoB,KAAOu2C,EAAIv2C,MACrD2tB,KAAOtqB,EAAOC,QAAQoI,OAG5ByvC,WAAU,SAACr4C,EAAkBO,GAC3B,IAAMkzC,EAAMlzC,EAAOC,QACbyzC,EAAOj0C,EAAMwhC,MAAMh2B,MAAK,SAAC1P,GAAI,OAAKA,EAAK+E,MAAQ4yC,EAAIh0C,UACzD,GAAIw0C,EAAM,CACR,IAAMnE,EAAImE,EAAKU,SAASnpC,MAAK,SAAC1P,GAAI,OAAKA,EAAKoB,KAAOu2C,EAAIv2C,MACvD4yC,EAAEjlB,KAAO4oB,EAAI5oB,KACbilB,EAAEvkC,SAAU,IAGhBmzC,iBAAgB,SAAC1+C,EAAkBO,GACjC,IAAM2gH,EAAW3gH,EAAOC,QAClByzC,EAAOj0C,EAAMwhC,MAAMh2B,MAAK,SAAC1P,GAAI,OAAKA,EAAK+E,MAAQqgH,KACjDjtE,IACFA,EAAKxL,YAAc,IAGvB8P,cAAa,SAACv4C,EAAkBO,GAC9B,IAAMsqB,EAAOtqB,EAAOC,QACdyzC,EAAOj0C,EAAMwhC,MAAMh2B,MAAK,SAAC1P,GAAI,OAAKA,EAAK+E,MAAQgqB,EAAKhqB,OAC1D,GAAIozC,EACF,IAAK,IAAIl4C,EAAI,EAAGA,EAAIk4C,EAAKU,SAAS73C,OAAQf,IACxC,GAAIk4C,EAAKU,SAAS54C,GAAGmB,KAAO2tB,EAAKwqB,MAAO,CACtCpB,EAAKU,SAAS10C,OAAOlE,EAAG,GACxB,QAKR47C,uBAAsB,SAAC33C,EAAkBO,GACvC,IAAMsqB,EAAOtqB,EAAOC,QACdyzC,EAAOj0C,EAAMwhC,MAAMh2B,MAAK,SAAC1P,GAAI,OAAKA,EAAK+E,MAAQgqB,EAAKhqB,OACtDozC,IACFA,EAAKO,iBAAmB3pB,EAAK05B,QAGjC7M,mBAAkB,SAAC13C,EAAkBO,GACnC,IAAMsqB,EAAOtqB,EAAOC,QACdyzC,EAAOj0C,EAAMwhC,MAAMh2B,MAAK,SAAC1P,GAAI,OAAKA,EAAK+E,MAAQgqB,EAAKhqB,OACtDozC,IACFA,EAAKS,aAAe7pB,EAAK05B,QAG7B7L,iBAAgB,SAAC14C,EAAkBO,GACjC,IAAMsqB,EAAOtqB,EAAOC,QACdyzC,EAAOj0C,EAAMwhC,MAAMh2B,MAAK,SAAC1P,GAAI,OAAKA,EAAK+E,MAAQgqB,EAAKhqB,OAC1D,GAAIozC,EAAM,CACR,IAAMgF,EAAchF,EAAKE,aAAa3oC,MAAK,SAAC1P,GAAI,OAAKA,EAAKgP,MAAQ+f,EAAK/f,OACtDmpC,EAAKW,MAAlBqE,GACc,CAAEnuC,IAAK,GAAIiiB,IAAK,GAAIxW,KAAMC,KAC5Cy9B,EAAKM,UAAW,IAGpBqE,eAAc,SAAC54C,EAAkBO,GAC/B,IAAMM,EAAMN,EAAOC,QACbyzC,EAAOj0C,EAAMwhC,MAAMh2B,MAAK,SAAC1P,GAAI,OAAKA,EAAK+E,MAAQA,KACjDozC,IACFA,EAAKW,MAAQ,CAAE9pC,IAAK,GAAIiiB,IAAK,GAAIxW,KAAMC,KACvCy9B,EAAKM,UAAW,IAGpBuH,gBAAe,SAAC97C,EAAkBO,GAChCP,EAAMo1C,eAAiB70C,EAAOC,SAEhC88C,mBAAkB,SAACt9C,EAAkBO,GACnC,IAAMsqB,EAAOtqB,EAAOC,QACdyzC,EAAOj0C,EAAMwhC,MAAMh2B,MAAK,SAAC1P,GAAI,OAAKA,EAAK+E,MAAQgqB,EAAKhqB,OACtDozC,IACFA,EAAKE,aAAeF,EAAKE,aAAapsC,QAAO,SAACkxC,GAAW,OAAOpuB,EAAKqyB,KAAK/xC,SAAS8tC,EAAYnuC,UAGnGquC,qBAAoB,SAACn5C,EAAkBO,GACrC,IAAMsqB,EAAOtqB,EAAOC,QACpBxE,OAAOC,KAAK4uB,GAAMtuB,SAAQ,SAACsE,GACnBA,KAAOb,EAAMk5C,aAAal5C,EAAMk5C,WAAWr4C,GAAO,IACxD7E,OAAOC,KAAK4uB,EAAKhqB,IAAMtE,SAAQ,SAACuO,GAC9B9K,EAAMk5C,WAAWr4C,GAAKiK,GAAO+f,EAAKhqB,GAAKiK,UAI7Cc,QAAO,SAAC5L,EAAkBO,GACxBP,EAAMiK,KAAO1J,EAAOC,SAEtB2gH,iBAAgB,SAACnhH,EAAkBO,GACjCP,EAAMqgH,WAAa9/G,EAAOC,SAE5BsjC,gBAAe,SAAC9jC,EAAkBO,GAChCP,EAAMsgH,aAAe//G,EAAOC,SAE9BqjC,wBAAuB,SAAC7jC,GACtBA,EAAMigH,eAAgB,EACtBjgH,EAAMkgH,cAAe,EACrBlgH,EAAMmgH,eAAiB,KACvBngH,EAAMogH,eAAiB,KACvBpgH,EAAMo1C,eAAiB,SAKdtzC,EAAYnC,EAAZmC,QAEFg3C,EAAe,SAACj4C,GAAW,sBAAAkB,EAAAC,YAAAC,IAAAC,MAAe,SAAAC,EAAOC,GAAQ,OAAAH,IAAAI,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,OACpEJ,EAASzC,EAAM8C,QAAQq2C,aAAaj4C,IAAM,wBAAAyB,EAAAI,UAAAP,OAC3C,gBAAAQ,GAAA,OAAAZ,EAAAa,MAAA,KAAA/F,YAFuC,IAG3Bm+C,EAAc,SAACD,GAAc,sBAAAl4C,EAAAb,YAAAC,IAAAC,MAAe,SAAAY,EAAOV,GAAQ,OAAAH,IAAAI,MAAA,SAAAU,GAAA,cAAAA,EAAAR,KAAAQ,EAAAP,MAAA,OACtEJ,EAASzC,EAAM8C,QAAQu4C,YAAYD,IAAS,wBAAAh4C,EAAAL,UAAAI,OAC7C,gBAAAE,GAAA,OAAAH,EAAAD,MAAA,KAAA/F,YAFyC,IAG7B6gD,EAAgB,SAAC78C,GAAW,sBAAAoC,EAAAjB,YAAAC,IAAAC,MAAe,SAAAgB,EAAOd,GAAQ,OAAAH,IAAAI,MAAA,SAAAc,GAAA,cAAAA,EAAAZ,KAAAY,EAAAX,MAAA,OACrEJ,EAASzC,EAAM8C,QAAQi7C,cAAc78C,IAAM,wBAAAsC,EAAAT,UAAAQ,OAC5C,gBAAAE,GAAA,OAAAH,EAAAL,MAAA,KAAA/F,YAFwC,IAG5B26C,EAAW,SAAC/D,GAAY,sBAAAnwC,EAAAtB,YAAAC,IAAAC,MAAe,SAAAqB,EAAOnB,GAAQ,OAAAH,IAAAI,MAAA,SAAAmB,GAAA,cAAAA,EAAAjB,KAAAiB,EAAAhB,MAAA,OACjEJ,EAASzC,EAAM8C,QAAQ+0C,SAAS/D,IAAM,wBAAAjwC,EAAAd,UAAAa,OACvC,gBAAAE,GAAA,OAAAH,EAAAV,MAAA,KAAA/F,YAFoC,IAIxB46C,EAAU,SAAChE,GAAY,sBAAA/vC,EAAA1B,YAAAC,IAAAC,MAAe,SAAAyB,EAAOvB,GAAQ,OAAAH,IAAAI,MAAA,SAAAuB,GAAA,cAAAA,EAAArB,KAAAqB,EAAApB,MAAA,OAChEJ,EAASzC,EAAM8C,QAAQg1C,QAAQhE,IAAM,wBAAA7vC,EAAAlB,UAAAiB,OACtC,gBAAAE,GAAA,OAAAH,EAAAd,MAAA,KAAA/F,YAFmC,IAIvBw7C,EAAa,SAAC5E,GAAY,sBAAA3vC,EAAA9B,YAAAC,IAAAC,MAAe,SAAA6B,EAAO3B,GAAQ,OAAAH,IAAAI,MAAA,SAAA2B,GAAA,cAAAA,EAAAzB,KAAAyB,EAAAxB,MAAA,OACnEJ,EAASzC,EAAM8C,QAAQ41C,WAAW5E,IAAM,wBAAAzvC,EAAAtB,UAAAqB,OACzC,gBAAAE,GAAA,OAAAH,EAAAlB,MAAA,KAAA/F,YAFsC,IAK1B4jH,EAAmB,SAACS,GAAgB,sBAAAh9G,EAAAlC,YAAAC,IAAAC,MAAe,SAAAiC,EAAO/B,GAAQ,OAAAH,IAAAI,MAAA,SAAA+B,GAAA,cAAAA,EAAA7B,KAAA6B,EAAA5B,MAAA,OAC7EJ,EAASzC,EAAM8C,QAAQg+G,iBAAiB,CAAE5/G,IAAKqgH,KAAa,wBAAA98G,EAAA1B,UAAAyB,OAC7D,gBAAAE,GAAA,OAAAH,EAAAtB,MAAA,KAAA/F,YAFgD,IAIpCqrE,EAAc,SAACvzB,GAAmB,sBAAApwC,EAAAvC,YAAAC,IAAAC,MAAe,SAAAsC,EAAOpC,GAAQ,OAAAH,IAAAI,MAAA,SAAAoC,GAAA,cAAAA,EAAAlC,KAAAkC,EAAAjC,MAAA,OAC3EJ,EAASzC,EAAM8C,QAAQylE,YAAYvzB,IAAW,wBAAAlwC,EAAA/B,UAAA8B,OAC/C,gBAAAE,GAAA,OAAAH,EAAA3B,MAAA,KAAA/F,YAF8C,IAIlCg7C,EAAoB,SAACqpE,EAAkBE,GAAW,sBAAAz8G,EAAA3C,YAAAC,IAAAC,MAAe,SAAA0C,EAAOxC,GAAQ,OAAAH,IAAAI,MAAA,SAAAwC,GAAA,cAAAA,EAAAtC,KAAAsC,EAAArC,MAAA,OAC3FJ,EAASzC,EAAM8C,QAAQo1C,kBAAkB,CAAEh3C,IAAKqgH,EAAU38D,MAAO68D,KAAQ,wBAAAv8G,EAAAnC,UAAAkC,OAC1E,gBAAAE,GAAA,OAAAH,EAAA/B,MAAA,KAAA/F,YAF8D,IAIlD66C,EAAqB,SAACwpE,EAAkBE,GAAW,sBAAAr8G,EAAA/C,YAAAC,IAAAC,MAAe,SAAA8C,EAAO5C,GAAQ,OAAAH,IAAAI,MAAA,SAAA4C,GAAA,cAAAA,EAAA1C,KAAA0C,EAAAzC,MAAA,OAC5FJ,EAASzC,EAAM8C,QAAQi1C,mBAAmB,CAAE72C,IAAKqgH,EAAU38D,MAAO68D,KAAQ,wBAAAn8G,EAAAvC,UAAAsC,OAC3E,gBAAAE,GAAA,OAAAH,EAAAnC,MAAA,KAAA/F,YAF+D,IAGnD86C,EAAyB,SAACupE,EAAkBE,GAAW,sBAAA73G,EAAAvH,YAAAC,IAAAC,MAAe,SAAAsH,EAAOpH,GAAQ,OAAAH,IAAAI,MAAA,SAAAoH,GAAA,cAAAA,EAAAlH,KAAAkH,EAAAjH,MAAA,OAChGJ,EAASzC,EAAM8C,QAAQk1C,uBAAuB,CAAE92C,IAAKqgH,EAAU38D,MAAO68D,KAAQ,wBAAA33G,EAAA/G,UAAA8G,OAC/E,gBAAAE,GAAA,OAAAH,EAAA3G,MAAA,KAAA/F,YAFmE,IAGvD6hD,EAAmB,SAACwiE,GAAgB,sBAAA/7G,EAAAnD,YAAAC,IAAAC,MAAe,SAAAkD,EAAOhD,GAAQ,OAAAH,IAAAI,MAAA,SAAAgD,GAAA,cAAAA,EAAA9C,KAAA8C,EAAA7C,MAAA,OAC7EJ,EAASzC,EAAM8C,QAAQi8C,iBAAiBwiE,IAAW,wBAAA77G,EAAA3C,UAAA0C,OACpD,gBAAAE,GAAA,OAAAH,EAAAvC,MAAA,KAAA/F,YAFgD,IAIpCi/C,EAAkB,SAACj7C,GAAW,OAAK,SAACuB,GAC/CA,EAASzC,EAAM8C,QAAQq5C,gBAAgBj7C,MAG5B63C,EAAmB,SAACu7B,EAAcnL,GAAY,OAAK,SAAC1mE,GAC/DA,EAASzC,EAAM8C,QAAQi2C,iBAAiB,CAAE73C,IAAKozE,EAAMnpE,IAAKg+D,OAG/ClwB,EAAiB,SAAC/3C,GAAW,OAAK,SAACuB,GAC9CA,EAASzC,EAAM8C,QAAQm2C,eAAe/3C,MAG3Bu6C,EAAyB,SAAC0tB,EAAcu4C,GAAkB,OAAK,SAACj/G,GAC3EA,EAASzC,EAAM8C,QAAQ24C,uBAAuB,CAAEtwC,IAAKg+D,EAAMztB,SAAUgmE,OAG1DpkE,EAAwB,SAACg3B,EAAcqtC,GAAsB,OAAe,SAACl/G,GACxFA,EAASzC,EAAM8C,QAAQw6C,sBAAsB,CAC3Cp8C,IAAKozE,EACL37D,WAAYgpG,OAIHhkE,EAAqB,SAAC22B,EAAcstC,GAAe,OAAe,SAACn/G,GAC9EA,EAASzC,EAAM8C,QAAQ66C,mBAAmB,CAAEz8C,IAAKozE,EAAM/2B,KAAMqkE,OAGlDz5C,EAAc,WAAH,OAAmB,SAAC1lE,GAC1CA,EAASzC,EAAM8C,QAAQ89G,cAGZiB,EAAiB,SAACC,GAAa,OAAe,SAACr/G,GAC1DA,EAASzC,EAAM8C,QAAQs+G,oBAAoBU,MAGhCC,EAAgB,SAACD,GAAa,OAAe,SAACr/G,GACzDA,EAASzC,EAAM8C,QAAQu+G,mBAAmBS,MAG/B7qE,EAAkB,SAAC+qE,EAAeC,GAAa,OAAe,SAACx/G,GAC1EA,EAASzC,EAAM8C,QAAQm0C,gBAAgB,CAAEnD,IAAKkuE,EAAM/4G,KAAMg5G,OAG/C9qE,EAA2B,SAAC6qE,EAAeC,GAAa,OAAe,SAACx/G,GACnFA,EAASzC,EAAM8C,QAAQq0C,yBAAyB,CAAErD,IAAKkuE,EAAM/4G,KAAMg5G,OAGxDrpE,EAAgB,SAAC07B,EAAc4tC,GAAc,OAAe,SAACz/G,GACxEA,EAASzC,EAAM8C,QAAQ81C,cAAc,CAAE13C,IAAKozE,EAAM5+B,MAAOwsE,OAG9CrgE,EAAgB,SAACyyB,EAAc4tC,GAAc,OAAe,SAACz/G,GAEtEA,EADW,KAAT6xE,EACOt0E,EAAM8C,QAAQo+G,kBAAkB,MAEhClhH,EAAM8C,QAAQo+G,kBAAkB,CAAEhgH,IAAKozE,EAAM5+B,MAAOwsE,OAIpDC,EAAgB,SAAC7tC,EAAc4tC,GAAc,OAAe,SAACz/G,GAC3D,KAAT6xE,EACF7xE,EAASzC,EAAM8C,QAAQq+G,kBAAkB,QAEzC1+G,EAASzC,EAAM8C,QAAQq+G,kBAAkB,CAAEjgH,IAAKozE,EAAM5+B,MAAOwsE,KAC7D1nE,YAAW,WACT1nB,SAASiV,eAAe,gBAAgBwS,UACvC,QAIMf,EAAuB,SAAC4oE,GAA2C,OAAe,SAAC3/G,GAC9FA,EAASzC,EAAM8C,QAAQ02C,qBAAqB4oE,MAGjCn2G,EAAU,SAAC3B,GAAW,OAAe,SAAC7H,GACjDA,EAASzC,EAAM8C,QAAQmJ,QAAQ3B,MAGpBk3G,EAAmB,SAACnhH,GAAc,OAAe,SAACoC,GAC7DA,EAASzC,EAAM8C,QAAQ0+G,iBAAiBnhH,MAG7B8jC,EAAkB,SAAC3N,GAAY,OAAe,SAAC/zB,GAC1DA,EAASzC,EAAM8C,QAAQqhC,gBAAgB3N,MAG5B0N,EAA0B,WAAH,OAAmB,SAACzhC,GACtDA,EAASzC,EAAM8C,QAAQohC,8B,qDCzZzB,+EAEam+E,EAA2B,SAAChuG,EAAoBQ,GAAY,OAAcR,EAAMjM,QAAO,SAAC2K,GAAI,OAAKA,EAAK8B,OAASA,KAAM1X,QAErH4rC,EAA0B,SAAC10B,EAAoBQ,GAC1D,MAAa,UAATA,EACKR,EAAMjM,QAAO,SAAC2K,GAAI,OACR,QAAdA,EAAK6D,MAAgC,aAAd7D,EAAK6D,OAC1B67C,KAAc79C,MAAK,SAAC89C,GAAG,OAAKA,EAAI79C,OAAS9B,EAAK8B,WAChD1X,OAEEkX,EAAMjM,QAAO,SAAC2K,GAAI,OAAKA,EAAK8B,KAAKC,WAAWD,MAAO1X,S,mGCwC7CmlH,IA3CV,SAAHlgH,GAAA,IACAme,EAACne,EAADme,EACA/G,EAAIpX,EAAJoX,KACAiB,EAAMrY,EAANqY,OAAM,OAEN7B,eAACC,IAAGha,wBAAA,CACFka,QAAQ,OACRqJ,WAAW,SACX8O,eAAe,SACf3Q,EAAIA,GAAI,EACR9G,MAAM,QACDgB,EAAS,CAAEA,UAAW,CAAEA,OAAQ,SAAQ,IAC7C3B,GAAI,CAAE4V,SAAU,YAAa7W,SAAA,CAE7BlZ,cAAC6yB,IAAgB,CAAChY,KAAOA,GAAO,KAChC7a,cAACka,IAAG,CACFC,GAAI,CACF4V,SAAU,WACVjV,MAAO,OACPgB,OAAQ,OACR1B,QAAS,OACTqJ,WAAY,SACZ8O,eAAgB,UAChBrZ,SAEFlZ,cAAA,OACEy/B,IAAI,OACJ1hC,IAAI,eACJkb,MAAO,CACL6B,MAAM,GAADpb,QAAOmb,GAAO,IAAa,EAAC,OAEnCgiB,UAAU,yB,uIC3BZ7J,EAA8C,SAAC9zB,GACnD,IAAQ+sB,EAA+G/sB,EAA/G+sB,WAAY23F,EAAmG1kH,EAAnG0kH,UAAWzwF,EAAwFj0B,EAAxFi0B,aAAcF,EAA0E/zB,EAA1E+zB,eAAgBjE,EAA0D9vB,EAA1D8vB,QAAO60F,EAAmD3kH,EAAjD4kH,qBAAa,IAAAD,EAAG,KAAIA,EAAAE,EAA6B7kH,EAA3B8kH,sBAAc,IAAAD,EAAG,MAAKA,EAE5GE,EAAc,eAAAxgH,EAAAC,YAAAC,IAAAC,MAAG,SAAAC,IAAA,OAAAF,IAAAI,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,WACjB+nB,EAAW,CAADjoB,EAAAE,KAAA,eAAAF,EAAAE,KAAA,EAAQ+nB,IAAa,KAAD,EAClC+C,GAAQ,GAAO,wBAAAhrB,EAAAI,UAAAP,OAChB,kBAHmB,OAAAJ,EAAAa,MAAA,KAAA/F,YAAA,GAId2lH,EAAa,eAAA3/G,EAAAb,YAAAC,IAAAC,MAAG,SAAAY,IAAA,OAAAb,IAAAI,MAAA,SAAAU,GAAA,cAAAA,EAAAR,KAAAQ,EAAAP,MAAA,WAChB0/G,EAAU,CAADn/G,EAAAP,KAAA,eAAAO,EAAAP,KAAA,EAAQ0/G,IAAY,KAAD,EAChC50F,GAAQ,GAAO,wBAAAvqB,EAAAL,UAAAI,OAChB,kBAHkB,OAAAD,EAAAD,MAAA,KAAA/F,YAAA,GAKnB,OACE0b,eAAC6U,IAAM,CACL/M,WAAS,EACTgN,SAAS,KACTxN,MAAI,EAAArI,SAAA,CAEJe,eAACC,IAAG,CACFC,GAAI,CACFC,QAAS,OACTolB,GAAI,EACJrP,GAAI,EACJ1V,GAAI,GACJvB,SAAA,CAEFlZ,cAACwgB,IAAM,CACLrG,GAAI,CACFqe,gBAAiB,SAAC5X,GAAK,OAAKujG,YAAMvjG,EAAMC,QAAQre,KAAKo1B,KAAM,MAC3Dvc,MAAO,YACP2B,GAAI,GACJ9D,SAEFlZ,cAACokH,IAAW,MAEdnqG,eAACC,IAAG,CAAAhB,SAAA,CACFlZ,cAACuwB,IAAU,CACTlV,MAAM,cACNE,QAAQ,KAAIrC,SAEXia,IAEHnzB,cAACuwB,IAAU,CACTlV,MAAM,gBACNlB,GAAI,CAAE2C,GAAI,GACVvB,QAAQ,QAAOrC,SAEd+Z,UAIPhZ,eAACC,IAAG,CACFC,GAAI,CACFC,QAAS,OACTmY,eAAgB,WAChB9X,GAAI,EACJD,GAAI,KACJtB,SAAA,CAEFlZ,cAACoiB,IAAM,CACL/G,MAAM,UACNlB,GAAI,CAAE6C,GAAI,GACVzB,QAAQ,WACRM,QAAOnY,YAAAC,IAAAC,MAAE,SAAAgB,IAAA,OAAAjB,IAAAI,MAAA,SAAAc,GAAA,cAAAA,EAAAZ,KAAAY,EAAAX,MAAA,cAAAW,EAAAX,KAAA,EACDggH,IAAgB,KAAD,mBAAAr/G,EAAAT,UAAAQ,OACrBsU,SAED4qG,IAEH9jH,cAACoiB,IAAM,CACLjI,GAAI,CACFqe,gBAAiB,aACjB,UAAW,CACTA,gBAAiB,eAGrBjd,QAAQ,YACRM,QAAOnY,YAAAC,IAAAC,MAAE,SAAAqB,IAAA,OAAAtB,IAAAI,MAAA,SAAAmB,GAAA,cAAAA,EAAAjB,KAAAiB,EAAAhB,MAAA,cAAAgB,EAAAhB,KAAA,EACD+/G,IAAiB,KAAD,mBAAA/+G,EAAAd,UAAAa,OACtBiU,SAED8qG,WAeXhxF,EAAiB8C,aAAe,CAC9B3C,aAAc,KACdF,eAAgB,MAGHD,O,uGCvCA60C,IA5D6B,SAAC3oE,GAC3C,IAAQE,EAA6FF,EAA7FE,SAAUN,EAAmFI,EAAnFJ,MAAOulH,EAA4EnlH,EAA5EmlH,SAAUxlH,EAAkEK,EAAlEL,MAAOw+B,EAA2Dn+B,EAA3Dm+B,MAAsBinF,EAAqCplH,EAApD4oE,cAA8By8C,EAAsBrlH,EAAtBqlH,UAAWC,EAAWtlH,EAAXslH,OACpF3mH,EAAMwmH,GAAY,KASxB,OARAtkH,qBAAU,WAAO,IAAD0kH,EAIOC,OAHPxnH,IAAV4B,SACiB5B,KAAT,QAARunH,EAAApnF,EAAM,UAAE,IAAAonF,OAAA,EAARA,EAAU7lH,UAEJ1B,IADAmgC,EAAMnwB,MAAK,SAAC1P,GAAI,OAAKA,EAAKoB,KAAOE,MAEzCM,EAAiB,QAATslH,EAACrnF,EAAM,UAAE,IAAAqnF,OAAA,EAARA,EAAU9lH,OAEpB,CAACy+B,IAEFpjB,eAAC0qG,IAAW,CACV5iG,WAAS,EACTlH,KAAK,QACLV,GAAEja,wBAAA,IACKqkH,GAAa,CAAE,aAAc,CAAEjsF,YAAa,4BAC7CksF,GAAU,CAAE1nG,IAAK,IACrB5D,SAAA,CAEDra,GACCmB,cAAC4kH,IAAU,CAAChmH,GAAE,GAAAc,OAAKb,EAAK,UAASqa,SAC9Bra,IAGLmB,cAAC6kH,IAAM3kH,wBAAA,GACArB,EAAQ,CAAEkY,MAAOlY,GAAU,IAAE,IAClCimH,QAAO,GAAAplH,OAAKb,EAAK,UACjBO,SAAU,SAACe,GACTf,EAASe,EAAEG,OAAOxB,QAEpBA,MAAOA,EACPqb,GAAI,CACFyb,OAAQ,MACR1c,SAEDmkB,EAAM56B,KAAI,SAACjF,GAAI,OACdwC,cAACg6B,IAAQ,CACPl7B,MAAOtB,EAAKK,GAAKqb,SAGjBlZ,cAACskH,EAAapkH,YAAA,GAAK1C,KAFdA,EAAKK,e,4CClDPknH,EAFOzsB,wBAAc,CAAE55F,QAAS,OCGhC6jC,IAFG,WAAH,OAAS/2B,qBAAWu5G,K,iCCHnC,mBAEMC,EAAS7U,YACbnwG,cAAA,OACEowG,MAAM,6BACNC,QAAQ,YACR19B,KAAK,eACL72D,OAAO,KACPhB,MAAM,KACN,qBAAmB,QAAO5B,SAE1BlZ,cAAA,QACEuwG,EAAE,kJAGN,UAGayU,O,sOCTFC,EAAU,eAAA1gH,EAAAb,YAAAC,IAAAC,MAAG,SAAAY,IAAA,IAAAknB,EAAA,OAAA/nB,IAAAI,MAAA,SAAAU,GAAA,cAAAA,EAAAR,KAAAQ,EAAAP,MAAA,cAAAO,EAAAP,KAAA,EACL25C,IAAMzS,IAAI,0BAAyB,OAAO,OAAvD1f,EAAGjnB,EAAAsR,KAA+CzL,KAAI7F,EAAAuhC,OAAA,SACrD,CACL+wB,aAAa,GAADr3D,OAAKgsB,EAAIzO,KAAI,KAAAvd,OAAIgsB,EAAImrC,OAAM,MAAAn3D,OAAKgsB,EAAIw5F,cAChDjoG,KAAM+kF,aAAWt2E,EAAIzO,MACrB45C,OAAQmrC,aAAWt2E,EAAImrC,QACvBC,WAAYkrC,aAAWt2E,EAAIy5F,QAC3BjoG,QAAS8kF,aAAWt2E,EAAI05F,cACxBvnG,MAAOmkF,aAAWt2E,EAAI25F,wBACvB,wBAAA5gH,EAAAL,UAAAI,OACF,kBAVsB,OAAAD,EAAAD,MAAA,KAAA/F,YAAA,GAYV+mH,EAAgB,eAAA3gH,EAAAjB,YAAAC,IAAAC,MAAG,SAAAgB,IAAA,IAAA+Y,EAAA,OAAAha,IAAAI,MAAA,SAAAc,GAAA,cAAAA,EAAAZ,KAAAY,EAAAX,MAAA,cAAAW,EAAAZ,KAAA,EAAAY,EAAAX,KAAA,EAEN+gH,IAAa,KAAD,EAArB,OAAPtnG,EAAO9Y,EAAAkR,KAAAlR,EAAAmhC,OAAA,SACNroB,GAAO,OAEmB,OAFnB9Y,EAAAZ,KAAA,EAAAY,EAAA2R,GAAA3R,EAAA,SAEd4R,QAAQC,IAAIC,KAAKC,UAAS/R,EAAA2R,KAAO3R,EAAAmhC,OAAA,SAC1B,MAAI,yBAAAnhC,EAAAT,UAAAQ,EAAA,kBAEd,kBAR4B,OAAAD,EAAAL,MAAA,KAAA/F,YAAA,GAsBhBgnH,EAAwB,SAACl8G,GACpC,IAAKA,EAAS,OAAO,KACrB,IAAIm8G,EAAY,KAWhB,OAVAn8G,EAAQqsD,UAAUz3D,SAAQ,SAAC+9F,GACpBA,EAAKjlC,gBACkB,aAAxB1tD,EAAQ8sD,aAAgCqvD,GAAuC,aAA1BA,EAAUrvD,eAEhC,UAAxB9sD,EAAQ8sD,aAA6BqvD,IAAwC,aAA1BA,EAAUrvD,aAAwD,UAA1BqvD,EAAUrvD,eAEpGqvD,IAHVA,EAAYxpB,OAOTwpB,GAGIC,EAAqB,SAAC5oE,GAAO,IAAD6oE,EAAAC,EAAAC,EAKjBppG,EAEbqpG,EANLrlE,EAAc,GAClB,IAAU,QAANklE,EAAA7oE,EAAE5/B,YAAI,IAAAyoG,OAAA,EAANA,EAAQlnH,SAAkB,QAAZmnH,EAAG9oE,EAAE3/B,eAAO,IAAAyoG,OAAA,EAATA,EAAWnnH,SAAU,EAAG,OAAO,MACpDgiD,EAAM3D,EAAE5/B,MACK,QAAT2oG,EAAA/oE,EAAE3/B,eAAO,IAAA0oG,OAAA,EAATA,EAAWpnH,QAAS,KAEpBgiD,EADEA,EAAIhiD,OAAS,EACZ,GAAAkB,OAAM8gD,EAAG,MAAA9gD,OAA0B,QAA1B8c,EAAKW,YAAW0/B,EAAE3/B,gBAAQ,IAAAV,OAAA,EAArBA,EAAuBY,MAEb,QAAxByoG,EAAG1oG,YAAW0/B,EAAE3/B,gBAAQ,IAAA2oG,OAAA,EAArBA,EAAuBzoG,MAGjC,OAAOojC,GAGI+V,EAAsB,SAACltD,GAClC,IAAKA,EAAS,OAAO,KACrB,IAAIy8G,EAAa,KAWjB,OAVAz8G,EAAQysD,OAAO73D,SAAQ,SAAC8f,GACjBA,EAAMg4C,gBACU,YAAjBh4C,EAAMs4C,QAA0ByvD,GAAoC,YAAtBA,EAAWzvD,UAEjC,gBAAjBt4C,EAAMs4C,QAA8ByvD,IAAqC,YAAtBA,EAAWzvD,QAA8C,gBAAtByvD,EAAWzvD,UAEhGyvD,IAHVA,EAAa/nG,OAOV+nG,I,gCCtFT,WAae9mG,IAVI,WACjB,IAAM+mG,EAAY7mG,kBAAO,GAMzB,OAJAnf,qBAAU,kBAAM,WACdgmH,EAAUrnH,SAAU,KACnB,IAEIqnH,I,iCCTT,2CA+EeC,IAhEiD,SAAHviH,GAA4B,IAAtBwU,EAAIxU,EAAJwU,KAAMslB,EAAQ95B,EAAR85B,SACvE,GAAItlB,IAASw1E,KAAgBx1E,IAAS01E,KAAiB11E,IAAS41E,IAAY,CAC1E,IAAMvjF,EAAOu1F,KAAU3yF,MAAK,SAACq6B,GAAC,OAAKA,EAAEhmC,OAAS0W,KAC9C,OACEgC,eAACC,IAAG,CACFE,QAAQ,OACRqJ,WAAW,SAAQvK,SAAA,CAEnBlZ,cAAC64G,IAAgB,CAAC5gG,KAAMA,IACxBjY,cAACuwB,IAAU,CACTpW,GAAI,CACF4C,GAAI,EACJ1B,MAAOkiB,EAAW,eAAiBjzB,EAAK+Q,OAE1CC,QAAM,EAAApC,SAELqkB,EAAWjzB,EAAKzL,MAAQyL,EAAKqyD,UAKtC,OAAI1kD,IAAS0nF,KAET1lF,eAACC,IAAG,CACFE,QAAQ,OACRqJ,WAAW,SAAQvK,SAAA,CAEnBlZ,cAAC84G,IAAQ,CAAC7gG,KAAMA,IAChBjY,cAACuwB,IAAU,CACTpW,GAAI,CACFkB,MAAOkiB,EAAW,eAAiB,UACnCxgB,GAAI,EACJ0V,UAAW,QACXvZ,SAEDqkB,EAAW,0BAA4BoiE,UAM9C1lF,eAACC,IAAG,CACFE,QAAQ,OACRqJ,WAAW,SAAQvK,SAAA,CAEnBlZ,cAAC84G,IAAQ,CAAC7gG,KAAMA,IAChBjY,cAACuwB,IAAU,CACTpW,GAAI,CACFsY,UAAW,OACX1V,GAAI,EACJ1B,MAAO,gBACPnC,SAEDqkB,EAAW,kBAAoBqiE,Y,iCCnEzBuP,IAFF,SAAC2E,GAAY,OAAoB,IAAI1zF,SAAQ,SAACsL,GAAG,OAAKmwB,WAAWnwB,EAAKooF,Q,kXCuD7EmS,EAAgB,eAAAxiH,EAAAC,YAAAC,IAAAC,MAAG,SAAAC,EAAOktC,GAAU,IAAAm1E,EAAAhkE,EAAA,OAAAv+C,IAAAI,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,OACd,OAApBgiH,EAAYvjE,cAAQ3+C,EAAAE,KAAA,EACF2+C,aAAiCqjE,GAAW,KAAD,EAApD,OAAThkE,EAASl+C,EAAA+R,KAAA/R,EAAAE,KAAA,EACT4sC,YAAWC,EAAMmR,GAAW,KAAD,SAAAl+C,EAAAgiC,OAAA,SAC1BkgF,GAAS,wBAAAliH,EAAAI,UAAAP,OACjB,gBALqBQ,GAAA,OAAAZ,EAAAa,MAAA,KAAA/F,YAAA,GAOT4nH,EAAmB,eAAA5hH,EAAAb,YAAAC,IAAAC,MAAG,SAAAY,EACjChE,EACAC,EACAsuE,EACAC,EACAC,EACAyd,EACA05B,EACAvuF,GAAY,IAAAwuF,EAAAj7B,EAAA+hB,EAAA,OAAAxpG,IAAAI,MAAA,SAAAU,GAAA,cAAAA,EAAAR,KAAAQ,EAAAP,MAAA,YAEUkiH,EAAM5nH,OAAS,GAAC,CAAAiG,EAAAP,KAAA,eAAAO,EAAAP,KAAA,EAAS+hH,EAAiBG,EAAM,IAAG,OAAA3hH,EAAA+R,GAAA/R,EAAAsR,KAAAtR,EAAAP,KAAA,eAAAO,EAAA+R,GAAG,GAAG,KAAD,EAE4B,OAFpG6vG,EAAa5hH,EAAA+R,GACb40E,EAAWg7B,EAAM5nH,OAAS,EAAI4nH,EAAM,GAAG7kH,KAAO,GAC9C4rG,EAAcpiB,YAA6BvqF,EAASC,EAAiBsuE,EAAUC,EAAen3C,GAAKpzB,EAAAuhC,OAAA,SAAA9lC,wBAAA,GAEpGitG,GAAW,IACdl+B,oBACAyd,oBACAtB,WACAC,eAAgBg7B,EAChB56B,QAAQ,GAAD/rF,OAAAwM,YAAMihG,EAAY1hB,SAAO,CAAE,CAAEyE,UAAW,cAAeC,WAAW,IAAIhzF,MAAOyP,oBAAgB,yBAAAnI,EAAAL,UAAAI,OAEvG,gBArB+BE,EAAAI,EAAAK,EAAAI,EAAAI,EAAAI,EAAAK,EAAAI,GAAA,OAAAjC,EAAAD,MAAA,KAAA/F,YAAA,GAuBnB+nH,EAAwB,eAAA3hH,EAAAjB,YAAAC,IAAAC,MAAG,SAAAgB,EACtCpE,EACAC,EACAsuE,EACAC,EACAC,EACAyd,EACA7rF,EACAulH,GAAa,IAAAC,EAAAj7B,EAAA+hB,EAAA,OAAAxpG,IAAAI,MAAA,SAAAc,GAAA,cAAAA,EAAAZ,KAAAY,EAAAX,MAAA,YAESkiH,EAAM5nH,OAAS,GAAC,CAAAqG,EAAAX,KAAA,eAAAW,EAAAX,KAAA,EAAS+hH,EAAiBG,EAAM,IAAG,OAAAvhH,EAAA2R,GAAA3R,EAAAkR,KAAAlR,EAAAX,KAAA,eAAAW,EAAA2R,GAAG,GAAG,KAAD,EAEoC,OAF5G6vG,EAAaxhH,EAAA2R,GACb40E,EAAWg7B,EAAM5nH,OAAS,EAAI4nH,EAAM,GAAG7kH,KAAO,GAC9C4rG,EAAcpiB,YAA6BvqF,EAASC,EAAiBsuE,EAAUC,EAAenuE,EAAQg3B,MAAKhzB,EAAAmhC,OAAA,SAAA9lC,wBAAA,GAE5GitG,GAAW,IACdl+B,kBAAoBpuE,EAAQouE,kBAAwCpuE,EAAQouE,kBAA5BA,EAChDyd,kBAAoB7rF,EAAQ6rF,kBAAwC7rF,EAAQ6rF,kBAA5BA,EAChD7+D,OAAQ,CAACi/D,KAAS8T,MAAmB/zF,SAAShM,EAAQgtB,QAAUg/D,KAAiBvB,KACjFF,WACAC,eAAgBg7B,EAChB56B,QAAQ,GAAD/rF,OAAAwM,YAAMrL,EAAQ4qF,SAAO,CAAE,CAAEyE,UAAW,CAACpD,KAAS8T,MAAmB/zF,SAAShM,EAAQgtB,QAAU,WAAa,cAAesiE,WAAW,IAAIhzF,MAAOyP,iBACrJJ,IAAK3L,EAAQ2L,IACb0xD,cAAeF,YAAcn9D,EAAQq9D,eACrCl7D,SAAQ9C,wBAAA,GACHW,EAAQmC,UACRmqG,EAAYnqG,aAChB,yBAAA6B,EAAAT,UAAAQ,OAEJ,gBA5BoCgC,EAAAwE,EAAApE,EAAAI,EAAAK,EAAAI,EAAAI,EAAA4J,GAAA,OAAAlN,EAAAL,MAAA,KAAA/F,YAAA,GA8BxB0tE,EAAoB,SAC/BzrE,EACAC,EACAsuE,EACAC,EACAC,EACAyd,EACA70D,GAEA,IAAM0uF,EAAcx7B,YAA6BvqF,EAASC,EAAiBsuE,EAAUC,EAAen3C,GACpG,OAAA33B,wBAAA,GACKqmH,GAAW,IACdt3C,oBACAyd,oBACA7+D,OAAQgzE,QAIN2lB,EAAyB,SAC7BhmH,EACAC,EACAI,GAEA,IAAM0lH,EAAcx7B,YAA6BvqF,EAASC,EAAiB,CAAE7B,GAAI,GAAIqZ,KAAMC,KAAgB,CAAEtZ,GAAI,GAAIqZ,KAAMC,KAAgBrX,EAAQg3B,MAC/I4uF,EAAQvmH,wBAAA,GACPW,GAAO,IACVhC,MAAO0nH,EAAY1nH,MACnByqF,MAAOi9B,EAAYj9B,MACnBvY,OAAQw1C,EAAYx1C,OACpBrL,MAAO6gD,EAAY7gD,MACnBsL,iBAAkBu1C,EAAYv1C,iBAC9BhuE,SAAQ9C,wBAAA,GACHW,EAAQmC,UACRujH,EAAYvjH,YAcnB,OAXInC,EAAQgtB,SAAWi/D,OACrB25B,EAAQvmH,wBAAA,GACHumH,GAAQ,IACXj6G,IAAKm2C,cACL3/C,SAAQ9C,wBAAA,GACHumH,EAASzjH,UAAQ,IACpB0jH,QAASD,EAASj6G,MAEpBqhB,OAAQ+yE,QAGL6lB,GA+TME,IAvTV,SAAH3hH,GAKK,IAAD+0D,EAJJ6sD,EAAU5hH,EAAV4hH,WACAC,EAAY7hH,EAAZ6hH,aACAC,EAAS9hH,EAAT8hH,UACAV,EAAKphH,EAALohH,MAEMtiH,EAAWqb,cACXJ,EAAUC,cACV6H,EAAWC,cACXikB,EAAOx/B,cAEb/L,EAAwCC,oBAAkB,GAAME,EAAAC,YAAAJ,EAAA,GAAzDunH,EAAapnH,EAAA,GAAEqnH,EAAcrnH,EAAA,GACpCue,EAAsCze,oBAAkB,GAAM0e,EAAAve,YAAAse,EAAA,GAAvD0R,EAAYzR,EAAA,GAAEqR,EAAarR,EAAA,GAClCG,EAAgC7e,mBAAc,MAAK8e,EAAA3e,YAAA0e,EAAA,GAA5C6C,EAAQ5C,EAAA,GAAE8oD,EAAW9oD,EAAA,GAC5B0oG,GAA6BC,YAAW,CAAC,oBAAmBC,GAAAvnH,YAAAqnH,GAAA,GAArDG,GAAOD,GAAA,GAAEE,GAASF,GAAA,GACzBzoG,GAAwCjf,oBAAkB,GAAMmf,GAAAhf,YAAA8e,GAAA,GAAzD4oG,GAAa1oG,GAAA,GAAE2oG,GAAc3oG,GAAA,GAE9B0/B,GAAaC,YAAc5lC,IAAgBH,KAC3CgvG,GAAkBjpE,YAAc5lC,IAAgBF,KAEtDqqB,GASI1jB,aAAY,SAAC1d,GAAK,OAAKA,EAAMwxD,kBAR/BxyD,GAAIoiC,GAAJpiC,KACAF,GAAOsiC,GAAPtiC,QACAC,GAAeqiC,GAAfriC,gBACAI,GAAOiiC,GAAPjiC,QACAC,GAAUgiC,GAAVhiC,WACAG,GAAkB6hC,GAAlB7hC,mBACAD,GAAS8hC,GAAT9hC,UACAI,GAAU0hC,GAAV1hC,WAEI6tE,GAAoB/0C,YAAcvhB,IAAgBH,OAAiBG,IAAiB,EAAsB,QAArBohD,EAAGl3C,qBAAkB,IAAAk3C,OAAA,EAAlBA,EAAoBmS,YAC5GwgB,GAAoB1+D,YAAmBxtB,GAAQ2hE,SAAS+J,YACtD/e,GAAkB/tC,aAAY,SAAC1d,GAAK,OAAKA,EAAMuwD,cAA/C9E,cACFs6D,KAAuBt6D,MAAmBA,GAAcK,cAAgBL,GAAc4jB,UAAY5jB,GAAc4jB,OAAOyc,gBAAkBrgC,GAAc4jB,OAAOyc,aAAatgF,MAAK,SAAC1P,GAAI,MAAoB,kBAAdA,EAAKya,MAA4C,cAAhBza,EAAKqwB,UACnN65F,GAAqBtoG,aAAY,SAAC1d,GAAK,OAAKA,EAAMb,WAA9D8J,WACA+pF,GAAmBt1E,aAAY,SAAC1d,GAAK,OAAKA,EAAMib,QAAhD+3E,eACR3tE,GAAsCtnB,oBAAkB,GAAMunB,GAAApnB,YAAAmnB,GAAA,GAAvD4gG,GAAW3gG,GAAA,GAAE4gG,GAAc5gG,GAAA,GAE5B6gG,GAAe,eAAAziH,EAAA1B,YAAAC,IAAAC,MAAG,SAAAqB,IAAA,IAAAm0E,EAAA0uC,EAAA,OAAAnkH,IAAAI,MAAA,SAAAmB,GAAA,cAAAA,EAAAjB,KAAAiB,EAAAhB,MAAA,OACD,GAArB8iH,GAAe,GAAM9hH,EAAAjB,KAAA,GAEfpD,GAAQ,CAADqE,EAAAhB,KAAA,SAOgD,GANnDk1E,EAAUotC,EACdhmH,GACAC,GACAI,IAEEC,KAAYs4E,EAAQp2E,SAASlC,WAAaA,IAC1CM,KAAYg4E,EAAQp2E,SAAS5B,WAAaA,IAC1CP,GAAQgtB,SAAWi/D,KAAO,CAAA5nF,EAAAhB,KAAA,gBAAAgB,EAAAhB,KAAA,EACtBgrE,YAAoBkK,GAAS,KAAD,EAClCt1E,EAASsI,YAAY,CAACgtE,KAAWl0E,EAAAhB,KAAA,wBAAAgB,EAAAhB,KAAA,GAE3Bw9E,aAAoB7gF,GAAQ2L,IAAK4sE,GAAS,KAAD,GAC/Ct1E,EAASjB,YAAWu2E,IACpBt1E,EAASwI,YAAczL,GAAQ2L,IAAK4sE,IAAU,QAAAl0E,EAAAhB,KAAA,iBAaS,OAVnDk1E,EAAUnN,EACdzrE,GACAC,GACA69C,GACAkpE,GACAv4C,GACAyd,GACAvgB,MAEErrE,KAAYs4E,EAAQp2E,SAASlC,WAAaA,IAC1CM,KAAYg4E,EAAQp2E,SAAS5B,WAAaA,IAAW8D,EAAAhB,KAAA,GACnDgrE,YAAoBkK,GAAS,KAAD,GAClCt1E,EAASsI,YAAY,CAACgtE,KACtBt1E,EAASjB,YAAWu2E,IAAU,QAEhCttD,IAAMkB,QAAQ,uBAAuB9nB,EAAAhB,KAAA,iBAAAgB,EAAAjB,KAAA,GAAAiB,EAAAsR,GAAAtR,EAAA,SAErCuR,QAAQC,IAAIC,KAAKC,UAAS1R,EAAAsR,KAC1BsV,IAAMC,MAAM,4BAA4B,QAEG,OAFH7mB,EAAAjB,KAAA,GAEpC8a,EAAQrgB,SAASsoH,GAAe,GAAO9hH,EAAA2R,OAAA,6BAAA3R,EAAAd,UAAAa,EAAA,yBAE9C,kBA1CoB,OAAAG,EAAAd,MAAA,KAAA/F,YAAA,GA4CfwpH,GAAiB,eAAAviH,EAAA9B,YAAAC,IAAAC,MAAG,SAAAyB,IAAA,OAAA1B,IAAAI,MAAA,SAAAuB,GAAA,cAAAA,EAAArB,KAAAqB,EAAApB,MAAA,OAC4B,OAApDmjH,GAAU,kBAAmB,OAAQ,CAAEpqF,KAAM,MAAO33B,EAAApB,KAAA,EAC9C2jH,KAAkB,KAAD,mBAAAviH,EAAAlB,UAAAiB,OACxB,kBAHsB,OAAAG,EAAAlB,MAAA,KAAA/F,YAAA,GAgDjBypH,GAAiB,eAAApiH,EAAAlC,YAAAC,IAAAC,MAAG,SAAA6B,IAAA,IAAA2zE,EAAA3pE,EAAAglC,EAAA/oB,EAAA,OAAA/nB,IAAAI,MAAA,SAAA2B,GAAA,cAAAA,EAAAzB,KAAAyB,EAAAxB,MAAA,UACnB6mC,EAAKtI,gBAAgB,CAAD/8B,EAAAxB,KAAA,QACF,OAArBqjH,IAAe,GAAM7hH,EAAAsgC,OAAA,iBAIH,GAApBxW,GAAc,GAAM9pB,EAAAzB,KAAA,GAEFpD,GAAO,CAAA6E,EAAAxB,KAAA,gBAAAwB,EAAAxB,KAAA,EACboiH,EACN9lH,GACAC,GACA69C,GACAkpE,GACAv4C,GACAyd,GACA7rF,GACAulH,GACD,OAAA1gH,EAAA8Q,GAAA9Q,EAAAqQ,KAAArQ,EAAAxB,KAAA,wBAAAwB,EAAAxB,KAAA,GACOiiH,EACN3lH,GACAC,GACA69C,GACAkpE,GACAv4C,GACAyd,GACA05B,EACAj6C,MACA,KAAD,GAAAzmE,EAAA8Q,GAAA9Q,EAAAqQ,KAAC,KAAD,GAiBF,OArCKqjE,EAAO1zE,EAAA8Q,GAqBT1V,KAAYs4E,EAAQp2E,SAASlC,WAAaA,IAC1CM,KAAYg4E,EAAQp2E,SAAS5B,WAAaA,IAC1CqO,EAAW,KACXxO,KACFwO,EAAQvP,wBAAA,GAAQwwE,YAAuB,KAAM0I,IAAQ,IAAEx6E,GAAI+jD,gBACrDlO,EAAWzzC,GAAUkM,MAAK,SAACsM,GAAG,OAAKA,EAAI5a,KAAOqC,MACpDm4E,EAAQoS,WAAa/2C,EAAS71C,GAC9B6Q,EAASglC,SAAW,CAClB71C,GAAI61C,EAAS71C,GACbu9D,OAAQ1nB,EAAS0nB,OACjBQ,KAAMloB,EAASkoB,KACfwF,QAAS1tB,EAAS0tB,QAClBC,aAAcpE,YAAcvpB,EAAS2tB,cACrC59C,QAASiwB,EAASjwB,QAClB++B,aAAcya,YAAcvpB,EAAS8O,gBAExC79C,EAAAxB,KAAA,GACiBm9E,aAAwBxgF,GAAUA,GAAQ2L,IAAM,KAAM4sE,EAAS3pE,GAAU,KAAD,IAApFic,EAAGhmB,EAAAqQ,QACG2V,EAAIG,eACT67F,KACE7mH,IAECA,GAAQmC,SAAS0jH,SAAS5iH,EAASqJ,YAActM,GAAQmC,SAAS0jH,UACtE5iH,EAASwI,YAAczL,GAAQ2L,IAAKkf,EAAI7qB,WAH5BiD,EAASsI,YAAY,CAACsf,EAAI7qB,YAM1CszB,SAASiV,eAAe,oBAAoBvU,SAAS,CACnD5E,IAAKkE,SAASiV,eAAe,8BAA8B6+E,aAC3DC,SAAU,WAEZpkH,EAASnB,YAAQsjG,QAClBvgG,EAAAxB,KAAA,iBAAAwB,EAAAzB,KAAA,GAAAyB,EAAAyiH,GAAAziH,EAAA,SAED+Q,QAAQC,IAAIC,KAAKC,UAASlR,EAAAyiH,KAC1Br8F,IAAMC,MAAM,2BAA2B,QAEG,OAFHrmB,EAAAzB,KAAA,GAEnC8a,EAAQrgB,SAAS8wB,GAAc,GAAO9pB,EAAAmR,OAAA,6BAAAnR,EAAAtB,UAAAqB,EAAA,yBAE7C,kBAnEsB,OAAAG,EAAAtB,MAAA,KAAA/F,YAAA,GAqEvB,OACE0b,eAAAyW,WAAA,CAAAxX,SAAA,CACG2tG,GACC7mH,cAACoiB,IAAM,CACL7G,QAAQ,YACRpB,GAAI,CAAEgI,GAAI,GACVtG,QAASgrG,EAAa3tG,SACvB,iBAIFxY,KAASC,MACRX,cAACoiB,IAAM,CACL7G,QAAQ,YACRpB,GAAI,CAAEgI,GAAI,GACVtG,QA/Hc,WACpB,GAAuC,OAAnCrb,GAAQkoF,WAAWwB,aAAqD,OAA7B1pF,GAAQkoF,WAAWziC,MAMhE,OALAm4D,YAAU,uCACVjqF,SAASiV,eAAe,oBAAoBvU,SAAS,CACnD5E,IAAKkE,SAASiV,eAAe,aAAag/E,UAC1CF,SAAU,WAId,IAiBqLzU,EAjBjL4U,EAAmB,GACvB,GAAI7nH,GAAQmpF,aAAeC,KACpBppF,GAAQipF,yBACX4+B,EAAmB,qBAEhB,CACL,IAAMC,EAAgB7nH,GAAgByM,MAAK,SAACxK,GAAE,OAAMA,EAAG+mF,0BACnD6+B,IAAeD,EAAgB,iBAAA3oH,OAAoB4oH,EAAc1pH,GAAE,KAAAc,OAAI4oH,EAAc/lH,MAE3F,OAAI8lH,GACFjK,YAAU,yCACVjqF,SAASiV,eAAe,oBAAoBvU,SAAS,CACnD5E,IAAKkE,SAASiV,eAAei/E,GAAkBD,UAAY,GAC3DF,SAAU,YAIVn9E,EAAKtI,iBAAmBjiC,GAAQ4oF,wBAAwBjqB,cAAgB8Q,MAAczvE,GAAQ4oF,wBAAwB17E,gBAAkBC,OAAqB85G,IAE/JG,IAAe,QACfzzF,SAASiV,eAAe,oBAAoBvU,SAAS,CACnD5E,KAAmD,QAA9CwjF,EAAAt/E,SAASiV,eAAe,8BAAsB,IAAAqqE,OAAA,EAA9CA,EAAgD2U,WAAY,IACjEF,SAAU,aAId/zF,SAASiV,eAAe,oBAAoBvU,SAAS,CAEnD5E,IAAK,EACLi4F,SAAU,gBAEZpkH,EAASnB,YAAQqjG,SAuFY9sF,SACxB,+BAIF0tG,GACC5mH,cAACoiB,IAAM,CACL7G,QAAQ,YACRM,QAASmsG,GACT/Q,UAAWrnF,EAAe5vB,cAAC6yB,IAAgB,CAAChY,KAAM,KAAS,KAC3D0F,SAAUqP,IAAkB4+E,cAAqBv4F,MAAK,SAAAhQ,GAAiB,OAAAA,EAAdid,iBAAwC1iB,GAAQ2hE,QAAQvjE,QAAQoC,IAAa+pC,EAAKtI,gBAC3ItoB,GAAI,CAAEgI,GAAI,GAAIjJ,SACf,iBAIFxY,KAASulG,MACRjmG,cAACoiB,IAAM,CACL7G,QAAQ,YACRM,QAAS,kBAAMgL,EAAS,mBACxB1M,GAAI,CAAEgI,GAAI,GAAIjJ,SACf,qBAIFxY,KAASulG,OAAmC4gB,GAAgB97E,EAAKtI,iBAChEziC,cAACoiB,IAAM,CACL7G,QAAQ,YACRM,QAAO,eAAAxV,EAAA3C,YAAAC,IAAAC,MAAE,SAAAiC,EAAOqc,GAAK,OAAAve,IAAAI,MAAA,SAAA+B,GAAA,cAAAA,EAAA7B,KAAA6B,EAAA5B,MAAA,UACa,SAA5BkjH,GAAQmB,gBAA0B,CAAAziH,EAAA5B,KAAA,eAAA4B,EAAA5B,KAAA,EAAQ2jH,KAAkB,KAAD,EAAA/hH,EAAA5B,KAAA,eAC1DmjE,EAAYnlD,EAAM8lD,eAAe,wBAAAliE,EAAA1B,UAAAyB,OACvC,gBAAAygD,GAAA,OAAAjgD,EAAA/B,MAAA,KAAA/F,YAHM,GAIP04G,UAAW8P,EAAgB/mH,cAAC6yB,IAAgB,CAAChY,KAAM,KAAS,KAC5D0F,SAAUwmG,EACV5sG,GAAI,CAAEgI,GAAI,GAAIjJ,SACf,oBAIYhc,IAAd4pH,GACC9mH,cAACoiB,IAAM,CACL7G,QAAQ,OACRF,MAAM,YACNQ,QAAS,kBAAMgL,EAASigG,IACxB3sG,GAAI,CAAEgI,GAAI,GAAIjJ,SACf,WAIHlZ,cAACwoH,IAAU,CACTjnG,KAAMomG,GACNc,MAAM,aACNC,SAAS,QACTzqF,QAAQ,qOACR0qF,KAAM,kBAAM9hG,EAAS,qCACrBmI,QAAS,kBAAM44F,IAAe,MAEhC5nH,cAAC4oH,IAAe,CACd31F,eAAe,6CACf41F,UAAWd,GACX/4F,QAAS,kBAAMq4C,EAAY,OAC3BlmD,SAAUA,IAEXmmG,IACCtnH,cAAC8oH,IAAgB,CACfvnG,KAAM+lG,GACN3pF,YAAa,kBAAM4pF,IAAe,IAClCwB,WAAY,WACVjlH,EAASkhC,YAAkB2nE,MAC3B4a,IAAe,MAIrBvnH,cAACgpH,IAAa,CACZznG,KAAMmzE,KAAmBiY,IACzB90E,KAAM68D,GACN1lE,QAAS,WACPlrB,EAASkhC,YAAkB2vD,OAE7Bz0E,IAAK,CACH0D,YAAapjB,GAAQ+oF,aACrBtlD,WAAYzjC,GAAQgwC,IACpB+lD,KAAM/1F,GAAQ81F,cAEhB1qB,WAAW,wB,+jBCoZJo9C,IA7yBV,SAAHvlH,GAMK,IALL8d,EAAI9d,EAAJ8d,KACAsW,EAAIp0B,EAAJo0B,KACA7I,EAAOvrB,EAAPurB,QACA9O,EAAGzc,EAAHyc,IACA0rD,EAAUnoE,EAAVmoE,WAEM7sD,EAAUC,cACVlb,EAAWqb,cACjB5a,GAA+BgH,cAAvBgtF,GAAKh0F,GAALg0F,MAAOE,GAAWl0F,GAAXk0F,YACfj5F,GAAwCC,oBAAkB,GAAME,GAAAC,YAAAJ,GAAA,GAAzDypH,GAAYtpH,GAAA,GAAEupH,GAAevpH,GAAA,GACpCue,GAA8Cze,mBAAiB,GAAE0e,GAAAve,YAAAse,GAAA,GAA1DirG,GAAehrG,GAAA,GAAEirG,GAAkBjrG,GAAA,GAC1CG,GAAoC7e,mBAAc,CAChD2mB,UAAW,GACX4hC,WAAY,GACZ3hC,SAAU,GACVgjG,QAAS,GACTnsG,QAAS,KACTxb,MAAO,GACPub,KAAM,GACN65C,WAAY,GACZC,aAAc,GACdyoC,QAAS,GACT3hF,MAAO,GACPE,MAAO,GACPurE,MAAO,KACP/qE,GAAA3e,YAAA0e,GAAA,GAdKgrG,GAAU/qG,GAAA,GAAEgrG,GAAahrG,GAAA,GAehCG,GAAoDjf,mBAAgB,IAAGmf,GAAAhf,YAAA8e,GAAA,GAAhE8qG,GAAkB5qG,GAAA,GAAE6qG,GAAqB7qG,GAAA,GAChDmI,GAA8CtnB,mBAAc,MAAKunB,GAAApnB,YAAAmnB,GAAA,GAA1D2iG,GAAe1iG,GAAA,GAAE2iG,GAAkB3iG,GAAA,GAC1CG,GAAgC1nB,oBAAkB,GAAM2nB,GAAAxnB,YAAAunB,GAAA,GAAjDyiG,GAASxiG,GAAA,GAAEyiG,GAAUziG,GAAA,GAC5BG,GAAsC9nB,oBAAkB,GAAK+nB,GAAA5nB,YAAA2nB,GAAA,GAAtD8uD,GAAY7uD,GAAA,GAAEsiG,GAAatiG,GAAA,GAClCG,GAAwCloB,oBAAkB,GAAMmoB,GAAAhoB,YAAA+nB,GAAA,GAAzDoiG,GAAaniG,GAAA,GAAEoiG,GAAcpiG,GAAA,GAC9BqiG,GAAUpyF,IAAS80E,IAEnBud,GAAU/uG,aAAmB+E,GAE7BiqG,GAAoB/wG,sBAAW1V,YAAAC,IAAAC,MAAC,SAAAC,IAAA,IAAA8Z,EAAA,OAAAha,IAAAI,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,UAC/B6a,EAAQrgB,QAAQ,CAADsF,EAAAE,KAAA,eAAAF,EAAAgiC,OAAA,iBACC,OAArBgkF,IAAe,GAAMhmH,EAAAC,KAAA,EAAAD,EAAAE,KAAA,EAEGohH,eAAmB,KAAD,GAAlC3nG,EAAO3Z,EAAA+R,OACEgJ,EAAQrgB,SACrB6qH,GAAarpH,wBAAC,GACTopH,IAAU,IACbvyD,aAAcp5C,EAAQo5C,aACtB95C,KAAMU,EAAQV,KACdvb,MAAOic,EAAQk5C,OACfC,WAAYn5C,EAAQm5C,WACpBj5C,MAAOF,EAAQE,MACfX,QAASS,EAAQT,WAEpBlZ,EAAAE,KAAA,iBAAAF,EAAAC,KAAA,GAAAD,EAAAwS,GAAAxS,EAAA,SAEDyS,QAAQC,IAAIC,KAAKC,UAAS5S,EAAAwS,KAAO,QAEU,OAFVxS,EAAAC,KAAA,GAE7B8a,EAAQrgB,SAASsrH,IAAe,GAAOhmH,EAAA6S,OAAA,6BAAA7S,EAAAI,UAAAP,EAAA,yBAE5C,CAACkb,IAEJhf,qBAAU,WACRoqH,OACC,CAACA,KAEJ,IAAMC,IAAgBd,GAAWvrG,QAC7BurG,GAAWhgC,OACXjT,MAAkBizC,GAAWljG,YAAckjG,GAAWjjG,YACrDgwD,KAAiBizC,GAAWD,QAE3BgB,GAAmB,SAACtuD,EAAGx0B,GAC3B,GAAU,UAANw0B,EAAe,CACjB,IACiBuuD,EADXC,EAAcz2E,YAAqBvM,GACzC,GAAIgjF,EAMF,YALAhB,GAAarpH,wBAAC,GACTopH,IAAU,IAAAgB,EAAA,GAAAtzF,YAAAszF,EACZvuD,EAAIx0B,GAACvQ,YAAAszF,EAAC,UACEC,GAAWD,KAK1Bf,GAAarpH,wBAAC,GAAKopH,IAAU,GAAAtyF,YAAA,GAAG+kC,EAAIx0B,MAGhCijF,GAAkB,WACtBpB,GAAmB,GACnB3wB,GAAY,WAGRgyB,GAAoB,WACxBrB,GAAmB,GACnB3wB,GAAY,aAGRiyB,GAAqB,WACzBtB,GAAmB,GACnB3wB,GAAY,iBAGRkyB,GAAY,eAAA3lH,EAAAtB,YAAAC,IAAAC,MAAG,SAAAY,IAAA,IAAAknB,EAAA,OAAA/nB,IAAAI,MAAA,SAAAU,GAAA,cAAAA,EAAAR,KAAAQ,EAAAP,MAAA,OAGF,GAFjB2lH,IAAW,GAAMplH,EAAAR,KAAA,EAEXynB,EAAM,MACN2qD,GAAa,CAAD5xE,EAAAP,KAAA,eAAAO,EAAAP,KAAA,EACFklD,YAAiBnE,aAAsBqkE,IAAappG,EAAI+jB,YAAY,KAAD,EAA/EvY,EAAGjnB,EAAAsR,KAAAtR,EAAAP,KAAA,uBAAAO,EAAAP,KAAA,GAESwlD,YAAoBzE,aAAsBqkE,IAAappG,EAAI+jB,YAAY,KAAD,GAAlFvY,EAAGjnB,EAAAsR,KAAA,WAEc,UAAf2V,EAAImC,OAAkB,CAAAppB,EAAAP,KAAA,eAClB,IAAIg1B,MAAM,iBAAiB,KAAD,GACR,UAAfxN,EAAImC,OACb/B,KAAMC,MAAM,wCACY,iBAAfL,EAAImC,OACb/B,KAAMC,MAAM,iDACY,gBAAfL,EAAImC,OACb/B,KAAMC,MAAM,kCACY,mBAAfL,EAAImC,OACb/B,KAAMC,MAAM,4CAEZD,KAAMkB,QAAQ,mCACf,QAAAvoB,EAAAP,KAAA,iBAAAO,EAAAR,KAAA,GAAAQ,EAAA+R,GAAA/R,EAAA,SAEDgS,QAAQC,IAAIC,KAAKC,UAASnS,EAAA+R,KAC1BsV,KAAMC,MAAM,mBAAmB,QAEQ,OAFRtnB,EAAAR,KAAA,GAE3B8a,EAAQrgB,SAASmrH,IAAW,GAAOplH,EAAAoS,OAAA,6BAAApS,EAAAL,UAAAI,EAAA,yBAE1C,kBA5BiB,OAAAQ,EAAAV,MAAA,KAAA/F,YAAA,GA8BlB,OACE0b,gBAAC6U,IAAM,CACL/M,WAAS,EACTgN,SAAS,KACTxN,KAAMA,EACNyN,QAASA,EAAQ9V,SAAA,CAEjBlZ,eAACuxC,IAAW,CAAAr4B,SACVe,gBAACC,IAAG,CACFE,QAAQ,OACRqJ,WAAW,SACXC,GAAI,EAAExK,SAAA,CAENlZ,eAAC2a,IAAU,CACTC,SAAUuF,YAAcD,GACxBrF,KAAM,GACNof,UAAU,IAEZj6B,eAACuwB,IAAU,CACThV,QAAQ,KACRpB,GAAI,CACF4C,GAAI,GACJ7D,SAEDgH,EAAI0D,cAEP5jB,eAACka,IAAG,CAACyB,SAAU,IACf3b,eAAC4b,IAAU,CACTC,QAASmT,EAAQ9V,SAEjBlZ,eAAC4qH,IAAS,WAIhB3wG,gBAAC89F,IAAa,CACZ59F,GAAI,CACFqlB,GAAI,EACJ1jB,OAAQ,QACRrC,SAAU,UACVP,SAAA,CAED+wG,IACChwG,gBAAAyW,YAAA,CAAAxX,SAAA,CACElZ,eAACka,IAAG,CACFO,GAAI,EAAEvB,SAENlZ,eAACivB,IAAM,CACLC,cAAe,CACbnR,MAAO,GACPkqC,SAAU,GACV94B,OAAQ,MAEV07F,iBACEC,MAEGxxF,MAAM,CACLvb,MAAO+sG,MAEJ/sG,MAAM,yBACNgtG,IAAI,KACJC,SAAS,uBAGlB57F,SAAQ,eAAA5pB,EAAA9B,YAAAC,IAAAC,MAAE,SAAAgB,EAAOyqB,EAAMjqB,GAAA,IAAAkqB,EAAAC,EAAAC,EAAA,OAAA7rB,IAAAI,MAAA,SAAAc,GAAA,cAAAA,EAAAZ,KAAAY,EAAAX,MAAA,OASwB,OAR7CorB,EAASlqB,EAATkqB,UACAC,EAASnqB,EAATmqB,UACAC,EAAapqB,EAAboqB,cAAa3qB,EAAAZ,KAAA,EAGX40C,eACA/0C,EAAS2nE,YAAiBC,IAAckC,OACxC9pE,EAASuxF,YAAcn1E,EAAI+jB,aAC3BngC,EAASsrE,YAAqBxD,IAAa/mE,EAAAX,KAAA,EACrCq0F,GAAMlpE,EAAOtR,MAAM8G,cAAewK,EAAO44B,UAAU,KAAD,EACpDlpC,EAAQrgB,UACV6wB,EAAU,CAAEvC,SAAS,IACrBwC,GAAc,IACf3qB,EAAAX,KAAA,iBAAAW,EAAAZ,KAAA,GAAAY,EAAA2R,GAAA3R,EAAA,SAED4R,QAAQC,IAAIC,KAAKC,UAAS/R,EAAA2R,KAC1BsV,KAAMC,MAAM,sBACRhN,EAAQrgB,UACV6wB,EAAU,CAAEvC,SAAS,IACrBsC,EAAU,CAAEH,OAAQtqB,EAAA2R,GAAIiZ,UACxBD,GAAc,IACf,yBAAA3qB,EAAAT,UAAAQ,EAAA,mBAEJ,gBAAAP,EAAAK,GAAA,OAAAc,EAAAlB,MAAA,KAAA/F,YAxBO,GAwBN2a,SAED,SAAAtT,GAAA,IACC8pB,EAAM9pB,EAAN8pB,OACAu7F,EAAUrlH,EAAVqlH,WACAC,EAAYtlH,EAAZslH,aACAv7F,EAAY/pB,EAAZ+pB,aACAC,EAAYhqB,EAAZgqB,aACAu7F,EAAOvlH,EAAPulH,QACA97F,EAAMzpB,EAANypB,OAAM,OAENpV,gBAAA,QACE4V,YAAU,EACVT,SAAUO,EACVy7F,aAAa,MAAKlyG,SAAA,CAElBe,gBAACu7F,IAAI,CACHC,WAAS,EACTpkE,QAAS,EACTl3B,GAAI,CAAEgW,GAAI,GAAIjX,SAAA,CAEdlZ,eAACw1G,IAAI,CACHh4G,MAAI,EACJ6tH,GAAI,GACJzhF,GAAI,GAAG1wB,SAEPlZ,eAACuwB,IAAU,CACTlV,MAAM,iBACNoX,UAAU,SACV+M,GAAI,EAAEtmB,SAAA,kCAAAxZ,OAE6BwqH,GAAO,wBAG9ClqH,eAACw1G,IAAI,CACHh4G,MAAI,EACJ6tH,GAAI,GACJzhF,GAAI,GAAG1wB,SAEPe,gBAACmI,IAAM,CACL/G,MAAM,UACNR,KAAK,QACL0F,SAA8B,IAApB4oG,IAAyBv5F,EACnCrU,QAAQ,WACRwG,WAAS,EACTlG,QAAS2uG,GAAgBtxG,SAAA,CAEJ,IAApBiwG,IACCnpH,eAACka,IAAG,CACFulB,IAAI,SACJ6rF,UAAU,MACVvtH,IAAI,2BACJoc,GAAI,CAAE6C,GAAI,KAGO,IAApBmsG,IACCnpH,eAAC6yB,IAAgB,CACfxX,MAAM,UACNR,KAAM,GACNV,GAAI,CAAE6C,GAAI,KAEb,WAAAtd,OACWwqH,GAAO,qBAGvBlqH,eAACw1G,IAAI,CACHh4G,MAAI,EACJ6tH,GAAI,GACJzhF,GAAI,GAAG1wB,SAEPe,gBAACmI,IAAM,CACL/G,MAAM,UACNR,KAAK,QACL0F,SAA8B,IAApB4oG,IAAyBv5F,EACnCrU,QAAQ,WACRwG,WAAS,EACTlG,QAAS6uG,GAAmBxxG,SAAA,CAEP,IAApBiwG,IACCnpH,eAACka,IAAG,CACFC,GAAI,CACF6C,GAAI,EACJ5C,QAAS,OACTqJ,WAAY,SACZ8O,eAAgB,UAChBrZ,SAEFlZ,eAACurH,IAAS,CACRpxG,GAAI,CACF6B,SAAU,YAKG,IAApBmtG,IACCnpH,eAAC6yB,IAAgB,CACfxX,MAAM,UACNR,KAAM,GACNV,GAAI,CAAE6C,GAAI,KAEb,WAAAtd,OACWwqH,GAAO,wBAGvBlqH,eAACw1G,IAAI,CACHh4G,MAAI,EACJ6tH,GAAI,GACJzhF,GAAI,GAAG1wB,SAEPe,gBAACmI,IAAM,CACL/G,MAAM,UACNR,KAAK,QACLU,QAAQ,WACRgF,SAA8B,IAApB4oG,IAAyBv5F,EACnC/T,QAAS4uG,GACT1oG,WAAS,EAAA7I,SAAA,CAEY,IAApBiwG,IACCnpH,eAACka,IAAG,CACFulB,IAAI,WACJ6rF,UAAU,MACVvtH,IAAI,6BACJoc,GAAI,CAAE6C,GAAI,KAGO,IAApBmsG,IACCnpH,eAAC6yB,IAAgB,CACfxX,MAAM,UACNR,KAAM,GACNV,GAAI,CAAE2Y,YAAa,SAEtB,WAAApzB,OACWwqH,GAAO,0BAIzBlqH,eAACic,IAAO,CACN9B,GAAI,CACF2C,GAAI,EACJqF,GAAI,EACJ9G,MAAO,iBACPZ,GAAI,GACJvB,SACH,OAGDlZ,eAACC,IAAS,CACRuwB,WAAS,EACTzE,MAAOu7C,QAAQ6jD,EAAQptG,OAAS2R,EAAO3R,OACvCgE,WAAS,EACT6vF,WAAYuZ,EAAQptG,OAAS2R,EAAO3R,MACpChH,MAAM,gBACNi+F,OAAO,SACPn6F,KAAK,QACLtZ,KAAK,QACLy9B,OAAQisF,EACR7rH,SAAU8rH,EACVjzG,KAAK,QACLnZ,MAAOuwB,EAAOtR,MACdxC,QAAQ,aAEVvb,eAACC,IAAS,CACR8rB,MAAOu7C,QAAQ6jD,EAAQljE,UAAYv4B,EAAOu4B,UAC1ClmC,WAAS,EACT6vF,WAAYuZ,EAAQljE,UAAYv4B,EAAOu4B,SACvClxC,MAAM,WACNi+F,OAAO,SACPzzG,KAAK,WACLsZ,KAAK,QACLmkB,OAAQisF,EACR7rH,SAAU8rH,EACVjzG,KAAMgxG,GAAe,OAAS,WAC9BnqH,MAAOuwB,EAAO44B,SACd1sC,QAAQ,WACR4V,WAAY,CACV6mF,aACEh4G,eAACqxB,IAAc,CAACtB,SAAS,MAAK7W,SAC5BlZ,eAAC4b,IAAU,CACT,aAAW,6BACXC,QAAS,WAAQqtG,IAAiBD,KAAiB/vG,SAElD+vG,GAAejpH,eAACwrH,IAAU,IAAMxrH,eAACyrH,IAAa,WAMxD/7F,EAAOP,QACNnvB,eAACka,IAAG,CAACC,GAAI,CAAE2C,GAAI,GAAI5D,SACjBlZ,eAAC+yB,IAAc,CAAChH,OAAK,EAAA7S,SAClBwW,EAAOP,WAIdnvB,eAACka,IAAG,CACFC,GAAI,CACF2C,GAAI,GACJ5D,SAEFlZ,eAACoiB,IAAM,CACL/G,MAAM,UACNkF,SAAUqP,GAAoC,IAApBu5F,GAC1BpnG,WAAS,EACTlH,KAAK,QACLgB,QAAS,WAAQ8T,KACjBpU,QAAQ,YACR07F,UAAWrnF,GAAoC,IAApBu5F,GAAwBnpH,eAAC6yB,IAAgB,CAAChY,KAAM,KAAS,KAAK3B,SAAA,WAAAxZ,OAE7EwqH,GAAO,2BAO/BlqH,eAACka,IAAG,CACFE,QAAQ,OACRmY,eAAe,SAAQrZ,SAEvBlZ,eAAC0rH,IAAI,CACHrwG,MAAM,gBACNiwG,UAAWK,KACXj/F,GAAG,oCACHnR,QAAQ,QACRuB,GAAI,EAAE5D,SACP,gCAML+wG,IACAjqH,eAAA0wB,YAAA,CAAAxX,SACG6wG,GACC/pH,eAAC2jH,KAAW,CACV9oG,KAAM,GACNiB,OAAQ,MAGV7B,gBAACC,IAAG,CACFO,GAAI,EAAEvB,SAAA,CAENlZ,eAACuwB,IAAU,CACTlV,MAAM,iBACNoX,UAAU,SACV+M,GAAI,EAAEtmB,SAAA,qCAAAxZ,OAEgCwqH,GAAO,mBAE/ClqH,eAAC6yC,IAAgB,CACfC,QACE9yC,eAAC4rH,IAAM,CACLp+G,QAAS6oE,GACTj3E,SAAU,SAACe,GACT2pH,GAAc3pH,EAAEG,OAAOkN,YAI7BuJ,MACEkD,gBAACC,IAAG,CACFE,QAAQ,OACRqJ,WAAW,SAAQvK,SAAA,CAEnBlZ,eAACuwB,IAAU,CACTpW,GAAI,CACF6C,GAAI,GACJ9D,SAEDm9D,GAAe,wBAA0B,uBAE5Cr2E,eAACqzE,KAAY,CAAAn6D,SACXlZ,eAACuwB,IAAU,CAAArX,SACRm9D,GAAY,+BAAA32E,OAAkCwqH,GAAO,0GAAAxqH,OAA2GwqH,GAAO,YAKhL/vG,GAAI,CACFgI,GAAI,KAGRniB,eAACw1G,IAAI,CACHC,WAAS,EACTpkE,QAAS,EAAEn4B,SAEVm9D,GACCp8D,gBAAAyW,YAAA,CAAAxX,SAAA,CACElZ,eAACw1G,IAAI,CACHh4G,MAAI,EACJ6tH,GAAI,EAAEnyG,SAENlZ,eAACC,IAAS,CACR8hB,WAAS,EACTjjB,MAAOwqH,GAAWljG,UAClBrP,MAAM,eACN3X,SAAU,SAACe,GAAC,OAAKkqH,GAAiB,YAAalqH,EAAEG,OAAOxB,QACxD+b,KAAK,QACLV,GAAI,CAAEgI,GAAImnG,GAAWljG,UAAY,EAAI,GACrC2F,OAAQu9F,GAAWljG,UACnBwrF,YAAa0X,GAAWljG,WAAa,6BAGzCpmB,eAACw1G,IAAI,CACHh4G,MAAI,EACJ6tH,GAAI,EAAEnyG,SAENlZ,eAACC,IAAS,CACR8hB,WAAS,EACTjjB,MAAOwqH,GAAWthE,WAClBjxC,MAAM,cACN3X,SAAU,SAACe,GAAC,OAAKkqH,GAAiB,aAAclqH,EAAEG,OAAOxB,QACzD+b,KAAK,YAGT7a,eAACw1G,IAAI,CACHh4G,MAAI,EACJ6tH,GAAI,EAAEnyG,SAENlZ,eAACC,IAAS,CACR8hB,WAAS,EACTjjB,MAAOwqH,GAAWjjG,SAClBtP,MAAM,cACN3X,SAAU,SAACe,GAAC,OAAKkqH,GAAiB,WAAYlqH,EAAEG,OAAOxB,QACvD+b,KAAK,QACLV,GAAI,CAAEgI,GAAImnG,GAAWjjG,SAAW,EAAI,GACpC0F,OAAQu9F,GAAWjjG,SACnBurF,YAAa0X,GAAWjjG,UAAY,+BAK1CrmB,eAACw1G,IAAI,CACHh4G,MAAI,EACJ6tH,GAAI,GAAGnyG,SAEPlZ,eAACC,IAAS,CACR8hB,WAAS,EACTjjB,MAAOwqH,GAAWD,QAClBtyG,MAAM,iBACN3X,SAAU,SAACe,GAAC,OAAKkqH,GAAiB,UAAWlqH,EAAEG,OAAOxB,QACtD+b,KAAK,QACLV,GAAI,CAAEgI,GAAImnG,GAAWljG,UAAY,EAAI,GACrC2F,OAAQu9F,GAAWD,QACnBzX,YAAa0X,GAAWD,SAAW,iCAK3CpvG,gBAACu7F,IAAI,CACHC,WAAS,EACTpkE,QAAS,EAAEn4B,SAAA,CAEXlZ,eAACw1G,IAAI,CACHh4G,MAAI,EACJ6tH,GAAI,EAAEnyG,SAENlZ,eAACC,IAAS,CACR4a,KAAK,QACL9D,MAAM,UACNgL,WAAS,EACTjjB,MAAOwqH,GAAWvrG,MAClB3e,SAAU,SAACe,GAAC,OAAKkqH,GAAiB,QAASlqH,EAAEG,OAAOxB,QACpDqyB,WAAY,CACVC,eACEpxB,eAACqxB,IAAc,CAACtB,SAAS,QAAO7W,SAC9BlZ,eAAC6rH,IAAQ,OAIf1xG,GAAI,CAAEgI,GAAImnG,GAAWvrG,MAAQ,EAAI,GACjCgO,OAAQu9F,GAAWvrG,MACnB6zF,YAAa0X,GAAWvrG,OAAS,wBAGrC/d,eAACw1G,IAAI,CACHh4G,MAAI,EACJ6tH,GAAI,EAAEnyG,SAENlZ,eAACC,IAAS,CACR4a,KAAK,QACL9D,MAAM,QACNgL,WAAS,EACTjjB,MAAOwqH,GAAWzrG,MAClBze,SAAU,SAACe,GAAC,OAAKkqH,GAAiB,QAASlqH,EAAEG,OAAOxB,QACpDqyB,WAAY,CACVC,eACEpxB,eAACqxB,IAAc,CAACtB,SAAS,QAAO7W,SAC9BlZ,eAAC+gB,IAAS,cAOtB/gB,eAACC,IAAS,CACR4a,KAAK,QACLkH,WAAS,EACThL,MAAM,UACNoD,GAAI,CACFgI,GAAI,GAENrjB,MAAOwqH,GAAWvyD,aAClB33D,SAAQ,eAAA6G,EAAAvC,YAAAC,IAAAC,MAAE,SAAAqB,EAAOid,GAAK,IAAApjB,EAAAgtH,EAAA,OAAAnoH,IAAAI,MAAA,SAAAmB,GAAA,cAAAA,EAAAjB,KAAAiB,EAAAhB,MAAA,OAGoB,GAFhCpF,EAAUojB,EAAM5hB,OAAhBxB,MACRurH,GAAiB,eAAgBvrH,GACjC6qH,GAAmBznG,EAAM8lD,kBAChB,OAALlpE,QAAK,IAALA,OAAK,EAALA,EAAON,QAAS,GAAC,CAAA0G,EAAAhB,KAAA,gBAAAgB,EAAAjB,KAAA,EAAAiB,EAAAhB,KAAA,EAEGojD,YAAgBxoD,GAAO,KAAD,EAApCgtH,EAAK5mH,EAAA6Q,KACX0zG,GAAsBqC,GAAO5mH,EAAAhB,KAAA,iBAAAgB,EAAAjB,KAAA,GAAAiB,EAAAsR,GAAAtR,EAAA,SAE7BuR,QAAQC,IAAIC,KAAKC,UAAS1R,EAAAsR,KAAO,QAAAtR,EAAAhB,KAAA,iBAGnCulH,GAAsB,IAAI,yBAAAvkH,EAAAd,UAAAa,EAAA,mBAE7B,gBAAAH,GAAA,OAAAmB,EAAA3B,MAAA,KAAA/F,YAdO,GAeR4yB,WAAY,CACVC,eACEpxB,eAACqxB,IAAc,CAACtB,SAAS,QAAO7W,SAC9BlZ,eAAC+rH,KAAS,SAKlB9xG,gBAACu7F,IAAI,CACHC,WAAS,EACTpkE,QAAS,EACTl3B,GAAI,CACFgI,GAAI,GACJjJ,SAAA,CAEFlZ,eAACw1G,IAAI,CACHh4G,MAAI,EACJ6tH,GAAI,EAAEnyG,SAENlZ,eAACC,IAAS,CACR4a,KAAK,QACL9D,MAAM,OACNgL,WAAS,EACTjjB,MAAOwqH,GAAWrsG,KAClB7d,SAAU,SAACe,GAAC,OAAKkqH,GAAiB,OAAQlqH,EAAEG,OAAOxB,YAGvDkB,eAACw1G,IAAI,CACHh4G,MAAI,EACJ6tH,GAAI,EAAEnyG,SAENlZ,eAACC,IAAS,CACR4a,KAAK,QACL9D,MAAM,eACNgL,WAAS,EACTjjB,MAAOwqH,GAAW5nH,MAClBtC,SAAU,SAACe,GAAC,OAAKkqH,GAAiB,QAASlqH,EAAEG,OAAOxB,eAI1Dmb,gBAACu7F,IAAI,CACHC,WAAS,EACTpkE,QAAS,EACTl3B,GAAI,CACFgI,GAAI,GACJjJ,SAAA,CAEFlZ,eAACw1G,IAAI,CACHh4G,MAAI,EACJ6tH,GAAI,EAAEnyG,SAENlZ,eAACC,IAAS,CACR4a,KAAK,QACL9D,MAAM,cACNgL,WAAS,EACTjjB,MAAOwqH,GAAWxyD,WAClB13D,SAAU,SAACe,GAAC,OAAKkqH,GAAiB,aAAclqH,EAAEG,OAAOxB,YAG7DkB,eAACw1G,IAAI,CACHh4G,MAAI,EACJ6tH,GAAI,EAAEnyG,SAENlZ,eAACgsH,IAAY,CACXC,eAAgB,SAACC,GAAM,OAAaA,EAAO9uG,MAC3C1D,QAASk6B,IACT90C,OAAiB,OAAVwqH,SAAU,IAAVA,QAAU,EAAVA,GAAYpsG,SAAUC,YAAWmsG,GAAWpsG,SAAWC,YAAW,MACzE/d,SAAU,SAACe,EAAGonC,GACRA,GAAG8iF,GAAiB,UAAW9iF,EAAEzoC,QAEvCijB,WAAS,EACToqG,YAAa,SAACh6E,GAAM,OAClBnyC,eAACC,IAASC,wBAAA,CACR6hB,WAAS,EACTxG,QAAQ,YACJ42B,GAAM,IACVt3B,KAAK,QACL9D,MAAM,qBAMhB/W,eAACC,IAAS,CACR4hB,YAAY,kBACZE,WAAS,EACTC,WAAS,EACTC,KAAM,EACNnjB,MAAOwqH,GAAWhgC,MAClBlqF,SAAU,SAACe,GAAC,OAAKkqH,GAAiB,QAASlqH,EAAEG,OAAOxB,QACpDqb,GAAI,CAAEgI,GAAImnG,GAAWhgC,MAAQ,EAAI,GACjCv9D,OAAQu9F,GAAWhgC,MACnBsoB,YAAa0X,GAAWhgC,OAAS,wBAEnCtpF,eAACoiB,IAAM,CACL/G,MAAM,UACN0G,WAAS,EACTlH,KAAK,QACLU,QAAQ,YACR07F,UAAW2S,GAAY5pH,eAAC6yB,IAAgB,CAAChY,KAAM,KAAS,KACxDgB,QAAOnY,YAAAC,IAAAC,MAAE,SAAAyB,IAAA,OAAA1B,IAAAI,MAAA,SAAAuB,GAAA,cAAAA,EAAArB,KAAAqB,EAAApB,MAAA,cAAAoB,EAAApB,KAAA,EACDymH,KAAe,KAAD,EACpB37F,IAAU,wBAAA1pB,EAAAlB,UAAAiB,OAEZkb,SAAUqpG,IAAaQ,GAAalxG,SAAA,QAAAxZ,OAE3BwqH,YAMA,OAAlBV,SAAkB,IAAlBA,QAAkB,EAAlBA,GAAoBhrH,QAAS,GAC5BwB,eAACosH,IAAiB,CAChBC,YAAa,WACX5C,GAAsB,KACtBvwG,SAEFlZ,eAACssH,IAAM,CACLnrG,SAAUuoG,GACVnoG,MAAwB,OAAlBioG,SAAkB,IAAlBA,QAAkB,EAAlBA,GAAoBhrH,QAAS,EACnC+tH,UAAU,eACVtzG,MAAO,CACL2c,OAAQ,MACR1c,SAEFe,gBAACuyG,IAAK,CACJryG,GAAI,CACF2C,GAAI,EACJiS,SAAU,OACVjU,MAAO,KACP5B,SAAA,CAEFlZ,eAACka,IAAG,CACFC,GAAI,CACFM,GAAI,EACJ0V,GAAI,GACJjX,SAEFlZ,eAACuwB,IAAU,CACTlV,MAAM,gBACNE,QAAQ,YAAWrC,SACpB,kBAIHlZ,eAACwxB,IAAI,CAAAtY,SACFswG,GAAmB/mH,KAAI,SAACu5F,GAAI,OAC3Bh8F,eAACsa,IAAQ,CACPC,QAAM,EAENsB,QAAS,WACP,IAAM4wG,EAAOnD,GACbmD,EAAK11D,aAAeirC,aAAWhG,EAAK0wB,aACpCD,EAAKxvG,KAAO+kF,aAAWhG,EAAK2wB,UAC5BF,EAAK/qH,MAAQsgG,aAAWhG,EAAKt6F,OAC7B+qH,EAAK31D,WAAakrC,aAAWhG,EAAK4wB,UAClCrD,GAAckD,GACdhD,GAAsB,KACtBvwG,SAEFlZ,eAACib,IAAY,CACXC,QAAS8gF,EAAK0wB,YACdtxG,uBAAwB,CACtBC,MAAO,cACPC,QAAQ,EACRC,QAAS,gBAhBRygF,EAAK0wB,iC,gCCz0BhC,8LAea/oD,EAA6B,SAACl3C,EAAqBC,EAAmB6xC,EAAgBvY,GACjG,IAAMzoD,EAAM,GACN2mE,EAAK,IAAI/mE,KAAKsvB,GAAMrvB,UACpB+mE,EAAK,IAAIhnE,KAAKuvB,GAAItvB,UAAYykE,KAC9BgrD,EAAW7mE,EAAS6b,KAC1B,GAAItD,IAAWyF,MAAgBzF,IAAW0F,KAGxC,IAHsD,IAAD6oD,EAC/CC,GAA4E,QAAjED,EAAA1rD,KAAiBl0D,MAAK,SAACm0D,GAAU,OAAKA,EAAWppD,OAASsmD,YAAO,IAAAuuD,OAAA,EAAjEA,EAAmExrD,MAAOO,KACrF/4D,EAAa85D,KAAKC,OAAOsB,EAAKD,EAAK,GAAK6oD,GACrCtvH,EAAI,EAAGA,EAAIqL,EAAYrL,IAC9BF,EAAIc,KAAK,IAAIlB,KAAK+mE,EAAK2oD,EAAWpvH,EAAIsvH,GAAUngH,oBAKlD,IAFA,IAAM9D,EAAa85D,KAAKisB,OAAO1qB,EAAKD,GAAMrC,MAAmBtD,IAAWyF,KAAe,IAAM,GAAK,MAC5F+oD,GAAY5oD,EAAKD,GAAMp7D,EACpBrL,EAAI,EAAGA,EAAIqL,EAAYrL,IAC9BF,EAAIc,KAAK,IAAIlB,KAAK+mE,EAAKtB,KAAKisB,MAAMpxF,EAAIsvH,IAAWngH,eAIrD,OADmB,IAAfrP,EAAIiB,QAAcjB,EAAIc,KAAK,IAAIlB,KAAKuvB,GAAI9f,eACrCrP,GAGIuoE,EAA0B,SAACr5C,EAAqB8xC,GAC3D,IAAMyuD,EAAW,IAAI7vH,KAAKsvB,GAC1B,GAAI8xC,IAAWmlC,KAAa,CAE1B,MADgB,CAAC,SAAU,SAAU,UAAW,YAAa,WAAY,SAAU,YACpEspB,EAASC,UAE1B,GAAI1uD,IAAWyF,KAAc,CAC3B,IAAMusC,EAAIyc,EAASE,UACnB,OAAI3c,IAAM,IAAIpzG,KAAK6vH,EAASplC,cAAeolC,EAASG,WAAa,EAAG,GAAGD,UAAkB,WAC/E,IAAN3c,EAAgB,YACV,KAANA,EAAiB,aACf,GAAN7wG,OAAU0tH,oBAAU7c,GAAE,QAExB,OAAO,MAGI7wC,EAA4B,SAACjzC,EAAqBC,EAAmB6xC,EAAgBtY,GAChG,IAAM1oD,EAAM,GACN2mE,EAAK,IAAI/mE,KAAKsvB,GAAMrvB,UACpB+mE,EAAK,IAAIhnE,KAAKuvB,GAAItvB,UAAYykE,KACpC,GAAItD,IAAWyF,MAAgBzF,IAAW0F,KAGxC,IAFA,IAAM8oD,EAAW3rD,KAAiBl0D,MAAK,SAACm0D,GAAU,OAAKA,EAAWppD,OAASsmD,KAAQ0pB,QAAUmb,KACvFt6F,EAAa85D,KAAKC,OAAOsB,EAAKD,EAAK,GAAK6oD,GAAY9mE,EACjDxoD,EAAI,EAAGA,EAAIqL,EAAYrL,IAC9BF,EAAIc,KAAK,IAAIlB,KAAK+mE,EAAKtB,KAAKisB,MAAOpxF,EAAIsvH,EAAY9mE,IAAQr5C,oBAK7D,IAFA,IAAM9D,EAAam9C,EAAQ2c,KAAKisB,OAAO1qB,EAAKD,GAAMrC,MAAmBtD,IAAWyF,KAAe,IAAM,GAAK,MACpG+oD,GAAY5oD,EAAKD,GAAMp7D,EACpBrL,EAAI,EAAGA,EAAIqL,EAAYrL,IAC9BF,EAAIc,KAAK,IAAIlB,KAAK+mE,EAAKtB,KAAKisB,MAAMpxF,EAAIsvH,IAAWngH,eAGrD,OAAOrP,GAGIqiE,EAAyB,SAACL,EAAiBhwB,GACtD,IAAIiwB,EAAU,IAAIriE,KAAKoiE,GAQvB,OAPIhwB,EAASt3B,OAAS+rD,MAAgBz0B,EAASt3B,OAASgsD,KACtDzE,EAAU,IAAIriE,KAAKqiE,EAAQpiE,UAAYwlE,KAAKyqD,KAAMjsD,KAAiBl0D,MAAK,SAACm0D,GAAU,OAAKA,EAAWppD,OAASs3B,EAASt3B,QAAMgwE,QAAU14C,EAAS/wC,OAAS4kG,KAAsBvhC,MAAmBA,MACvLtyB,EAASt3B,OAAS+rD,KAC3BxE,EAAQ8tD,SAAS9tD,EAAQ2tD,WAAa59E,EAAS/wC,QAE/CghE,EAAQ+tD,YAAY/tD,EAAQooB,cAAgBr4C,EAAS/wC,QAEhDghE,GAGIsS,EAAwB,SAACtvE,EAAW+sC,GAC/C,GAAI/sC,EAAKyV,OAASqnD,MAAmB98D,EAAKyV,OAASgyE,KAAgB,CACjE,IAAM1qB,EAAY,IAAIpiE,KAAKqF,EAAKgpC,OAC1Bg0B,EAAUI,EAAuBL,EAAW/8D,EAAKyV,OAASqnD,KAAkB/vB,EAAW,CAAEt3B,KAAMzV,EAAKm9D,IAAKnhE,OAAQgE,EAAK0nF,cAC5H,MAAO,CACL3qB,UAAWA,EAAU3yD,cACrB4yD,QAASA,EAAQ5yD,eAGrB,IAAM4gH,EAAa,CACjBC,QAAS,EACTC,SAAU,EACVC,MAAO,EACPC,MAAO,EACPC,IAAK,EACLC,KAAM,EACNC,KAAM,EACNC,OAAQ,EACRC,UAAW,EACXC,QAAS,GACTC,SAAU,GACVC,SAAU,IAENC,EAAY,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IACzDxlC,EAAOzoF,OAAOoC,EAAKqmF,KAAKv/C,UAAU,EAAG,MACtCu/C,EAAO,GAAK,MAAQ,IAAOA,EAAO,GAAK,MAAQ,IAAMA,EAAO,GAAK,IAAM,IAAIwlC,EAAU,KAC1F,IAAIC,EAAa,EACbC,EAAW,EACTC,EAAWhsH,EAAK+7D,OAAOrf,QAAQ,KAQrC,OAPIsvE,EAAW,GACbF,EAAad,EAAWhrH,EAAK+7D,OAAOj1B,UAAU,EAAGklF,GAAU54D,QAC3D24D,EAAWf,EAAWhrH,EAAK+7D,OAAOj1B,UAAUklF,EAAW,GAAG54D,SAG1D24D,EADAD,EAAad,EAAWhrH,EAAK+7D,OAAO3I,QAG/B,CACL2J,UAAW,IAAIpiE,KAAK,GAADuC,OAAI4uH,EAAU,QAAA5uH,OAAOmpF,GAAQylC,EAAa,EAAI,EAAI,KAAM1hH,cAC3E4yD,QAAS,IAAIriE,KAAK,GAADuC,OAAI6uH,EAAQ,KAAA7uH,OAAI2uH,EAAUE,EAAW,GAAE,KAAA7uH,OAAImpF,GAAQ0lC,EAAW,EAAI,EAAI,KAAM3hH,iB,wqBCtEpF6hH,EAAaC,YAAOn+F,IAAPm+F,EAAmB,iBAAO,CAClDt0G,QAAS,SACT2wF,WAAY,WAGD4jB,EAA8C,SAAHlrH,GAAwB,IAAlBwU,EAAIxU,EAAJwU,KAAMmF,EAAI3Z,EAAJ2Z,KAClE,OAAQnF,GACN,IAAK,OACH,OACEjY,cAACuwB,IAAU,CACThV,QAAQ,YACRF,MAAM,gBACNlB,GAAI,CACFgI,GAAI,IACJjJ,SAED8oF,aAAW5kF,KAGlB,IAAK,OACH,OACEpd,cAACuwB,IAAU,CACTlV,MAAM,cACNE,QAAQ,QACRpB,GAAI,CACF2C,GAAI,IACJ5D,SAED8oF,aAAW5kF,KAGlB,IAAK,MACH,OACEpd,cAACuwB,IAAU,CACThV,QAAQ,YACRF,MAAM,cACNlB,GAAI,CACF2G,WAAY,OACZhE,GAAI,IACJ5D,SAED8oF,aAAW5kF,KAGlB,IAAK,MACH,OACEpd,cAACuwB,IAAU,CACThV,QAAQ,KACRF,MAAM,cACNlB,GAAI,CACF2G,WAAY,OACZhE,GAAI,IACJ5D,SAED8oF,aAAW5kF,KAGlB,QACE,OAAOpd,cAAA0wB,WAAA,IAEX,OAAO1wB,cAAA0wB,WAAA,KAQIk+F,EAOR,SAAHrqH,GAAA,IAAMzF,EAAKyF,EAALzF,MAAO+vH,EAAQtqH,EAARsqH,SAAU3vH,EAAKqF,EAALrF,MAAO4vH,EAAGvqH,EAAHuqH,IAAK/D,EAAGxmH,EAAHwmH,IAAKhpG,EAASxd,EAATwd,UAAS,OACjD/hB,cAACf,IAAW,CACV8iB,YAAaA,EACb3iB,SAAU,SAAC8iB,GACT,IAAI6sG,EAAO7sG,EAAM5hB,OAAOxB,MACxB,GAAa,KAATiwH,GAKJ,GADa,KAATA,IAAaA,EAAI,GAAArvH,OAAMovH,KACtB1uH,OAAOC,MAAMD,OAAO2uH,IAAQ,CAC/B,IAAM7a,EAAK8a,SAASD,EAAM,IACd,OAARD,QAAwB5xH,IAAR4xH,GAAqB5a,EAAK4a,IAAKC,EAAI,GAAArvH,OAAMovH,IACjD,OAAR/D,QAAwB7tH,IAAR6tH,GAAqB7W,EAAK6W,IAAKgE,EAAI,GAAArvH,OAAMqrH,IACrD,OAAR8D,QAAQ,IAARA,KAAWE,SARH,OAARF,QAAQ,IAARA,KAAWE,IAWfjwH,MAAiB,OAAVA,QAA4B5B,IAAV4B,EAAsB,GAAKkjG,aAAW,GAADtiG,OAAIZ,IAClEyc,QAAQ,WACRV,KAAK,QACLsW,WAAUjxB,wBAAA,GACLhB,GAAK,IACRib,GAAI,CACF,UAAW,CACTsY,UAAW,YAIjBtY,GAAEja,wBAAA,CACA0wB,GAAI,OACA7O,EAAY,CAAEjH,MAAO,OAAU,CAAEA,MAAO,SAAU,GAAF,CACpD,4BAA6B,CAC3BL,GAAI,EACJD,GAAI,MAGRuR,MAAiB,KAAVjtB,KAaEmwH,EAKR,SAAHtqH,GAAA,IAAM7F,EAAK6F,EAAL7F,MAAO+vH,EAAQlqH,EAARkqH,SAAUxxF,EAAK14B,EAAL04B,MAAOtb,EAASpd,EAATod,UAAS,OACvC/hB,cAAC2kH,IAAW,CACV5iG,YAAaA,EACblH,KAAK,QACLV,GAAI,CACFyW,GAAI,KACJ1X,SAEFlZ,cAAC6kH,IAAM,CACL1qG,GAAI,CACF,sBAAuB,CACrBM,GAAI,EACJD,GAAI,KAGR1b,MAAOkjG,aAAWljG,GAClBM,SAAU,SAAC8iB,GAAK,OAAmB,OAAR2sG,QAAQ,IAARA,OAAQ,EAARA,EAAW3sG,EAAM5hB,OAAOxB,QAAOoa,SAGnD,OAALmkB,QAAK,IAALA,OAAK,EAALA,EAAO56B,KAAI,SAACjF,GAAI,OACdwC,cAACg6B,IAAQ,CACPl7B,MAAK,GAAAY,OAAKlC,EAAKsB,OAAQoa,SAGvBlZ,cAACuwB,IAAU,CACTlV,MAAM,cACNE,QAAQ,QAAOrC,SAEd1b,EAAKuZ,SACK,GAAArX,OAPLlC,EAAKsB,gBAsBZowH,EAA8D,SAAHlqH,GAAA,IAAMy7F,EAAIz7F,EAAJy7F,KAAMvnF,EAAQlU,EAARkU,SAAUi2G,EAAGnqH,EAAHmqH,IAAG,OAC/Fl1G,eAACC,IAAG,CACFC,GAAI,CACF2C,GAAI,EACJhC,MAAO,OACPT,cAAe,UACfnB,SAAA,CAEFe,eAACC,IAAG,CACFC,GAAI,CACFC,QAAS,OACTqJ,WAAY,UACZvK,SAAA,CAEFlZ,cAAC2uH,EAAK,CACJvxG,KAAMqjF,EACNxoF,KAAK,SAENk3G,GACCnvH,cAACka,IAAG,CACFC,GAAI,CACF4C,GAAI,GACJoF,GAAI,IACJjJ,SAEFlZ,cAACqzE,IAAY,CAAAn6D,SACVi2G,SAKRj2G,MAUQk2G,EAA4E,SAAHhqH,GAAA,IAAMiqH,EAAOjqH,EAAPiqH,QAASn2G,EAAQ9T,EAAR8T,SAAUo2G,EAASlqH,EAATkqH,UAAS,OACtHtvH,cAACka,IAAG,CACFC,GAAI,CACFC,QAAS,OACTC,cAAe,SACfyC,GAAIuyG,EAAU,EAAI,EAClB3rG,GAAI,EACJvB,GAAImtG,EAAY,EAAI,GACpBp2G,SAEDA,KAUQq2G,EAAoI,SAAH/pH,GAAmE,IAA7Di7F,EAAIj7F,EAAJi7F,KAAMxoF,EAAIzS,EAAJyS,KAAMnZ,EAAK0G,EAAL1G,MAAO0wH,EAAIhqH,EAAJgqH,KAAMX,EAAQrpH,EAARqpH,SAAU31G,EAAQ1T,EAAR0T,SAAUqH,EAAQ/a,EAAR+a,SAC/L,MAAa,UAATtI,EAEAgC,eAACC,IAAG,CAAAhB,SAAA,CACFlZ,cAACka,IAAG,CACFC,GAAI,CACFC,QAAS,OACTqJ,WAAY,SACZ3I,MAAO,QACP5B,SAEFlZ,cAAC6yC,IAAgB,CACf97B,MAAO0pF,EACP3tD,QACE9yC,cAAC+yC,IAAQ,CACPvlC,QAAS1O,EACT8zC,cAAe48E,EACfv2G,MAAO,CACLoC,MAAO,SAETkF,SAAUA,EACVnhB,SAAU,SAACe,GAAC,OAAa,OAAR0uH,QAAQ,IAARA,OAAQ,EAARA,EAAW1uH,EAAEG,OAAOkN,iBAW3C1O,GAAS0wH,IACTxvH,cAACka,IAAG,CACFC,GAAI,CACFW,MAAO,QACP5B,SAEDA,OAME,UAATjB,EAEAgC,eAACC,IAAG,CACFC,GAAI,CACFC,QAAS,OACTqJ,WAAY,cACZvK,SAAA,CAEFlZ,cAACyvH,IAAK,CACJjiH,QAAS1O,EACTM,SAAU,SAACe,GAAC,OAAa,OAAR0uH,QAAQ,IAARA,OAAQ,EAARA,EAAW1uH,EAAEG,OAAOkN,YAEvCxN,cAACka,IAAG,CAAAhB,SACDA,OAKFlZ,cAAA0wB,WAAA,KAaIg/F,EAA2C,SAAH9pH,GAAA,IAAM+pH,EAAK/pH,EAAL+pH,MAAOC,EAAKhqH,EAALgqH,MAAK,OACrE31G,eAACC,IAAG,CACFC,GAAI,CACFC,QAAS,OACTqJ,WAAY,UACZvK,SAAA,CAEFlZ,cAACka,IAAG,CACFC,GAAI,CACFW,MAAO,MACPwf,GAAI,GACJphB,SAEDy2G,IAEH3vH,cAACka,IAAG,CACFC,GAAI,CACFW,MAAO,MACP4I,GAAI,GACJxK,SAED02G,QAUMC,EAAmF,SAAH5pH,GAAyC,IAAnC8gE,EAAQ9gE,EAAR8gE,SAAUlrD,EAAO5V,EAAP4V,QAAS0hB,EAAQt3B,EAARs3B,SAC5GshF,EAAcz/F,aAAY,SAAC1d,GAAK,OAAKA,EAAMihB,gBAA3Ck8F,UACFliD,EAAOqjC,aAAmBj5B,GAChC,OACE/mE,cAACoiB,IAAM,CACLvG,QAASA,EACT1B,GAAI,CACF,UAAW,CACTsG,QAAS,WAEXhG,GAAI,EACJK,MAAO,KACP5B,SAEFe,eAACC,IAAG,CACFE,QAAQ,OACRqJ,WAAW,SACX3I,MAAM,OAAM5B,SAAA,CAEZlZ,cAAC8vH,IAAS,CACR31G,GAAI,CACFg1B,WAAY5R,EAAW,UAAY,SACnCvgB,GAAI,KAGRhd,cAACka,IAAG,CACFC,GAAI,CACF,MAAO,CACL6B,SAAU,KAEZ9C,SAEFlZ,cAACgmH,IAAY,CACX/tG,KAAM8uD,MAGTgpD,IAAYpzD,KAAUozD,IAAYvR,KACjCx+G,cAACuwB,IAAU,CACThV,QAAQ,YACRF,MAAM,WACN0B,GAAI,EAAE7D,SAAA,UAAAxZ,OAEAg6G,YAAiB,EAAImF,EAAUliD,GAAOoK,GAAU,GAAK,KAAArnE,OAAIqwH,IAAYvR,aAc1EtvF,EAAgB,SAACgM,GAC5B,OAAQA,GACN,KAAKsmC,KACH,MAAO,CACLvpD,KAAMupD,KACN+P,cAAe,IACfD,cAAe,MACfE,YAAa,IACbC,YAAa,KAEjB,KAAKnP,IACH,MAAO,CACLrqD,KAAMqqD,IACNmP,YAAa,IACbH,cAAe,IACfC,cAAe,IACfC,YAAa,KAEjB,KAAKvO,KACH,MAAO,CACLhrD,KAAMgrD,KACNqO,cAAe,KACfC,cAAe,IACfE,YAAa,IACbD,YAAa,KAEjB,KAAK/N,KACH,MAAO,CACLxrD,KAAMwrD,KACN6N,cAAe,KACfC,cAAe,IACfC,YAAa,IACbC,YAAa,KAEjB,KAAKlN,KACH,MAAO,CACLtsD,KAAMssD,KACNkN,YAAa,IACbH,cAAe,IACfC,cAAe,IACfC,YAAa,KAEjB,KAAKwxB,KACH,MAAO,CACL/qF,KAAK,GAADvY,OAAKqjE,KACT2O,SAAS,GAADhyE,OAAKukE,MACb9C,KAAM,MAEV,KAAK8hC,KACH,MAAO,CACL9hC,KAAM,MAEV,QACE,MAAO,KAIA6uD,EAAU,SAACxvH,GAAqB,OACyB,IAApEA,EAAQ2oF,eAAep5E,QAAQtG,QAAO,SAAC89B,GAAC,OAAW,OAANA,KAAY/oC,QACV,IAA5CgC,EAAQ2oF,eAAeE,UAAU7qF,QACjCgC,EAAQ2oF,eAAep5E,QAAQtG,QAAO,SAAC89B,GAAC,OAAW,OAANA,KAAYtxB,MAAK,SAACsxB,GAAC,MAAyB,KAApBA,EAAEgqC,eAA4C,KAApBhqC,EAAE+pC,eAA0C,KAAlB/pC,EAAEiqC,aAAwC,KAAlBjqC,EAAEkqC,gBACnJvK,YAAa1mE,EAAQ2oF,eAAeriB,gBA+xB1BmpD,IA5xBqD,SAAH5pH,GAAiC,IAA3B7F,EAAO6F,EAAP7F,QAASwB,EAAUqE,EAAVrE,WACxE+c,EAAUC,cAChBxf,EAAoCC,oBAAkB,GAAME,EAAAC,YAAAJ,EAAA,GAArD0wH,EAAWvwH,EAAA,GAAEwwH,EAAYxwH,EAAA,GAC1BywH,EAAqD,IAA/C1yH,OAAOC,KAAK6C,EAAQ2oF,gBAAgB3qF,OAAe,GAAKgC,EAAQ2oF,eAAep5E,QACrFsgH,EAAsD,IAA/C3yH,OAAOC,KAAK6C,EAAQ2oF,gBAAgB3qF,OAAe,GAAKgC,EAAQ2oF,eAAep5E,QAAQtN,KAAI,SAAC8kC,GAAC,OAAW,OAANA,KAE/GxnC,qBAAU,WACJgf,EAAQrgB,SAAW8B,EAAQ2oF,eAAeE,UAAU7qF,OAAS,GAC/D2xH,EAAa3vH,EAAQ2oF,eAAeE,UAAU,GAAG37E,gBAAkBC,QAEpE,CAACoR,IAEJ,IAAMkzE,EAAa,SAACq+B,GAClB,IAAMvgH,EAAUvP,EAAQ2oF,eAAep5E,QAAQtN,KAAI,SAAC8kC,EAAG9pC,GAAC,OAAOA,KAAK6yH,EAAQA,EAAK7yH,GAAK8pC,KACtF,OAAArnC,wBAAA,GACKM,GAAO,IACV2oF,eAAcjpF,wBAAA,GACTM,EAAQ2oF,gBAAc,IACzBp5E,YAEF7Q,MAAKgB,wBAAA,GACAM,EAAQtB,OAAK,IAChBg+G,eAAgBntG,EAAQ0zD,WAKxBrhE,EAAgB,SAAC84B,EAAK6gC,EAAGx0B,GAC7BvlC,EAAU9B,wBAAC,GACNM,GAAO,IACV2oF,eAAcjpF,wBAAA,GACTM,EAAQ2oF,gBAAc,IACzBp5E,QAASvP,EAAQ2oF,eAAep5E,QAAQtN,KAAI,SAACslF,EAAKtqF,GAAC,OAAMA,IAAMy9B,EAAGh7B,wBAAA,GAAQ6nF,GAAG,GAAA/wD,YAAA,GAAG+kC,EAAIx0B,IAAMwgD,WAK1FwoC,EAAmB,SAACC,GAAG,QACzBhwH,EAAQ2oF,eAAeE,WACtB7oF,EAAQ2oF,eAAeE,UAAUpzE,MAClC,SAAAxP,GAAkB,OAAAA,EAAf24D,kBAA0C4gC,aAAmBwwB,OAI9DC,EAAiB,SAACD,GACtB,IAAIE,EAAgB,GACOA,EAAvBH,EAAiBC,GAAsBhwH,EAAQ2oF,eAAeE,UAAU5/E,QAAO,SAAAwB,GAAkB,OAAAA,EAAfm0D,kBAA0C4gC,aAAmBwwB,MAEpI,GAAA9wH,OAAAwM,YAAO1L,EAAQ2oF,eAAeE,WAAS,CAAE,CACpDjqB,gBAAiB4gC,aAAmBwwB,GACpCrxD,YAAa2gC,KAAiBjzF,SAAS2jH,GAAOltB,KAAqBrzB,KACnEviE,cAAewiH,EAAcviH,KAAmBC,QAGpD5L,EAAU9B,wBAAC,GACNM,GAAO,IACV2oF,eAAcjpF,wBAAA,GACTM,EAAQ2oF,gBAAc,IACzBE,UAAWqnC,QAmBjB,OACE1wH,cAACka,IAAG,CACFC,GAAI,CACFM,GAAI,EACJ+kB,GAAI,EACJ/e,QAAS,oBACTvH,SAEFe,eAACC,IAAG,CACFC,GAAI,CACFgW,GAAI,EACJzM,GAAI,GACJxK,SAAA,CAEFe,eAACC,IAAG,CACFE,QAAQ,OACRqJ,WAAW,SACXtB,GAAI,GAAIjJ,SAAA,CAERlZ,cAACuwB,IAAU,CACThV,QAAQ,KACRF,MAAM,gBACNlB,GAAI,CACF4C,GAAI,EACJC,GAAI,IACJ9D,SACH,oBAGDlZ,cAACqzE,IAAY,CAAAn6D,SAAC,0JAIhBlZ,cAACic,IAAO,CAAC9B,GAAI,CAAEgI,GAAI,KACnBlI,eAACm1G,EAAU,CAAAl2G,SAAA,CACTlZ,cAACuvH,EAAS,CACRt3G,KAAK,QACLwoF,KACEzgG,cAAC2uH,EAAK,CACJ12G,KAAK,MACLmF,KAAM5c,EAAQmpF,aAAeC,KAAe,mDAAqD,2EAGrG9qF,MAAOuxH,EAAK7uD,OAAoB6uD,EAAK/tD,MAAuB+tD,EAAKptD,OAAoBotD,EAAK5sD,MAC1F+rD,OAAQa,EAAK7uD,OAAoB6uD,EAAK/tD,MAAuB+tD,EAAKptD,OAAoBotD,EAAK5sD,SAAqB4sD,EAAK7uD,OAAoB6uD,EAAK/tD,MAAuB+tD,EAAKptD,OAAoBotD,EAAK5sD,OACnMorD,SAAU,SAAC7oH,GAAS,IAADa,EAAAI,EACjBjF,EAAWiwF,EAAWjsF,GAAGa,EAAA,GAAAmwB,YAAAnwB,EACtB26D,KAAkBtyC,EAAcsyC,OAAgBxqC,YAAAnwB,EAChDy7D,IAAqBpzC,EAAcozC,MAAmBtrC,YAAAnwB,EACtDo8D,KAAkB/zC,EAAc+zC,OAAgBjsC,YAAAnwB,EAChD48D,KAAiBv0C,EAAcu0C,OAAe58D,IAAAI,EAAA,GAAA+vB,YAAA/vB,EAE9Cu6D,KAAkB,MAAIxqC,YAAA/vB,EACtBq7D,IAAqB,MAAItrC,YAAA/vB,EACzBg8D,KAAkB,MAAIjsC,YAAA/vB,EACtBw8D,KAAiB,MAAIx8D,MAExBiS,SAEFe,eAACm1G,EAAU,CAACE,WAAS,EAAAp2G,SAAA,CACnBe,eAACs1G,EAAS,CACRt3G,KAAK,QACLwoF,KACEzgG,cAAC2uH,EAAK,CACJ12G,KAAK,MACLmF,KAAK,6BAGTte,MAAOuxH,EAAK7uD,OAAoB6uD,EAAK/tD,KACrCktD,OAAQa,EAAK7uD,OAAoB6uD,EAAK/tD,QAAyB+tD,EAAK7uD,OAAoB6uD,EAAK/tD,MAC7FusD,SAAU,SAAC7oH,GAAS,IAADsB,EAAAI,EACjB1F,EAAWiwF,EAAWjsF,GAAGsB,EAAA,GAAA0vB,YAAA1vB,EACtBk6D,KAAkBtyC,EAAcsyC,OAAgBxqC,YAAA1vB,EAChDg7D,IAAqBpzC,EAAcozC,MAAmBh7D,IAAAI,EAAA,GAAAsvB,YAAAtvB,EAEtD85D,KAAkB,MAAIxqC,YAAAtvB,EACtB46D,IAAqB,MAAI56D,MAE5BwR,SAAA,CAEFlZ,cAACovH,EAAU,CAAAl2G,SACTlZ,cAACuvH,EAAS,CACRt3G,KAAK,QACLwoF,KACEzgG,cAAC2uH,EAAK,CACJ12G,KAAK,OACLmF,KAAK,4BAGTte,MAAOuxH,EAAK7uD,MACZqtD,SAAU,SAAC7oH,GAAG,OAAKhE,EAAWiwF,EAAUj7D,YAAC,GAAGwqC,KAAkBx7D,EAAMkpB,EAAcsyC,MAAmB,SAAStoD,SAE9GlZ,cAACovH,EAAU,CAACC,SAAO,EAAAn2G,SACjBe,eAACC,IAAG,CAAAhB,SAAA,CACFlZ,cAACyuH,EAAU,CAAAv1G,SAAC,6CACZlZ,cAAC4uH,EAAK,CACJ9vH,MAAOsxH,EAAI5uD,OAAoB4uD,EAAI5uD,MAAiB+P,cACpDs9C,SAAU,SAAC7oH,GAAG,OAAK5D,EAAco/D,KAAiB,gBAAiBx7D,IACnE8oH,IAAK,IAEP9uH,cAACyuH,EAAU,CAAAv1G,SAAC,mDAKpBlZ,cAACovH,EAAU,CAACE,WAAS,EAAAp2G,SACnBlZ,cAACuvH,EAAS,CACRt3G,KAAK,QACLwoF,KACEzgG,cAAC2uH,EAAK,CACJ12G,KAAK,OACLmF,KAAK,kCAGTte,MAAOuxH,EAAK/tD,KACZusD,SAAU,SAAC7oH,GAAG,OAAKhE,EAAWiwF,EAAUj7D,YAAC,GAAGsrC,IAAqBt8D,EAAMkpB,EAAcozC,KAAsB,SAASppD,SAEpHlZ,cAACovH,EAAU,CAACC,SAAO,EAAAn2G,SACjBe,eAACC,IAAG,CAAAhB,SAAA,CACFlZ,cAACyuH,EAAU,CAAAv1G,SAAC,6CACZlZ,cAAC4uH,EAAK,CACJ9vH,MAAOsxH,EAAI9tD,MAAuB8tD,EAAI9tD,KAAoBmP,YAC1Do9C,SAAU,SAAC7oH,GAAG,OAAK5D,EAAckgE,IAAoB,cAAet8D,IACpE8oH,IAAK,IAEP9uH,cAACyuH,EAAU,CAAAv1G,SAAC,yEAMtBe,eAACs1G,EAAS,CACRt3G,KAAK,QACLwoF,KACEzgG,cAAC2uH,EAAK,CACJ12G,KAAK,MACLmF,KAAK,8BAGTte,MAAOuxH,EAAKptD,MACZ4rD,SAAU,SAAC7oH,GAAG,OAAKhE,EAAWiwF,EAAUj7D,YAAC,GAAGisC,KAAkBj9D,EAAMkpB,EAAc+zC,MAAmB,SAAS/pD,SAAA,CAE9GlZ,cAACovH,EAAU,CAAAl2G,SACTe,eAACC,IAAG,CAAAhB,SAAA,CACFlZ,cAACyuH,EAAU,CAAAv1G,SAAC,wDACZlZ,cAAC4uH,EAAK,CACJ1vH,MAAO,CAAE84G,aAAc,KACvBl5G,MAAOsxH,EAAIntD,OAAoBmtD,EAAIntD,MAAiBqO,cACpDu9C,SAAU,SAAC7oH,GAAG,OAAK5D,EAAc6gE,KAAiB,gBAAiBj9D,IACnE8oH,IAAK,EACL/D,IAAK,KAEP/qH,cAACyuH,EAAU,CAAAv1G,SAAC,gEACZlZ,cAAC4uH,EAAK,CACJ9vH,MAAOsxH,EAAIntD,OAAoBmtD,EAAIntD,MAAiBsO,cACpDs9C,SAAU,SAAC7oH,GAAG,OAAK5D,EAAc6gE,KAAiB,gBAAiBj9D,IACnE8oH,IAAK,IAEP9uH,cAACyuH,EAAU,CAAAv1G,SAAC,+CAGhBlZ,cAACovH,EAAU,CAAAl2G,SACTe,eAACC,IAAG,CAAAhB,SAAA,CACFlZ,cAACyuH,EAAU,CAAAv1G,SAAC,gDACZlZ,cAAC4uH,EAAK,CACJ1vH,MAAO,CAAE84G,aAAc,IAAK2Y,UAAU,GACtC7xH,MAAOsxH,EAAIntD,OAA2D,KAAvCmtD,EAAIntD,MAAiBqO,cAAoB,GAAA5xE,OAAM,IAAMsvH,SAASoB,EAAIntD,MAAiBqO,cAAe,KAAQ,KAE3ItxE,cAACyuH,EAAU,CAAAv1G,SAAC,+DACZlZ,cAAC4uH,EAAK,CACJ9vH,MAAOsxH,EAAIntD,OAAoBmtD,EAAIntD,MAAiBwO,YACpDo9C,SAAU,SAAC7oH,GAAG,OAAK5D,EAAc6gE,KAAiB,cAAej9D,IACjE8oH,IAAK,IAEP9uH,cAACyuH,EAAU,CAAAv1G,SAAC,qEAIlBe,eAACs1G,EAAS,CACRt3G,KAAK,QACLwoF,KACEzgG,cAAC2uH,EAAK,CACJ12G,KAAK,MACLmF,KAAK,6CAGTte,MAAOuxH,EAAK5sD,MACZorD,SAAU,SAAC7oH,GAAG,OAAKhE,EAAWiwF,EAAUj7D,YAAC,GAAGysC,KAAiBz9D,EAAMkpB,EAAcu0C,MAAkB,SAASvqD,SAAA,CAE5GlZ,cAACovH,EAAU,CAAAl2G,SACTe,eAACC,IAAG,CAAAhB,SAAA,CACFlZ,cAACyuH,EAAU,CAAAv1G,SAAC,wDACZlZ,cAAC4uH,EAAK,CACJ1vH,MAAO,CAAE84G,aAAc,KACvBl5G,MAAOsxH,EAAI3sD,OAAmB2sD,EAAI3sD,MAAgB6N,cAClDu9C,SAAU,SAAC7oH,GAAG,OAAK5D,EAAcqhE,KAAgB,gBAAiBz9D,IAClE8oH,IAAK,EACL/D,IAAK,KAEP/qH,cAACyuH,EAAU,CAAAv1G,SAAC,+DACZlZ,cAAC4uH,EAAK,CACJ9vH,MAAOsxH,EAAI3sD,OAAmB2sD,EAAI3sD,MAAgB8N,cAClDs9C,SAAU,SAAC7oH,GAAG,OAAK5D,EAAcqhE,KAAgB,gBAAiBz9D,IAClE8oH,IAAK,IAEP9uH,cAACyuH,EAAU,CAAAv1G,SAAC,+CAGhBlZ,cAACovH,EAAU,CAACE,WAAS,EAAAp2G,SACnBe,eAACC,IAAG,CAAAhB,SAAA,CACFlZ,cAACyuH,EAAU,CAAAv1G,SAAC,8CACZlZ,cAAC4uH,EAAK,CACJ1vH,MAAO,CAAE84G,aAAc,KACvBl5G,MAAOsxH,EAAI3sD,OAAe,GAAA/jE,OAAO,IAAMU,OAAOgwH,EAAI3sD,MAAgB6N,gBAClEu9C,SAAU,SAAC7oH,GAAG,OAAK5D,EAAcqhE,KAAgB,gBAAgB,GAAD/jE,OAAK,IAAMU,OAAO4F,MAClF8oH,IAAK,EACL/D,IAAK,MAEP/qH,cAACyuH,EAAU,CAAAv1G,SAAC,8EACZlZ,cAACivH,EAAO,CACN5xF,MAAO+jC,KAAiB33D,QAAO,SAACs+E,GAAG,OAAKA,EAAI9vE,MAAQ+3D,QAAYvtE,KAAI,SAACslF,GAAG,MAAM,CAC5EjpF,MAAM,GAADY,OAAKqoF,EAAI9vE,MACdlB,MAAOgxE,EAAI3qE,KAAKyH,kBAElB/lB,MAAOsxH,EAAI3sD,OAAe,GAAA/jE,OAAO0wH,EAAI3sD,MAAgB+N,aACrDq9C,SAAU,SAAC7oH,GAAG,OAAK5D,EAAcqhE,KAAgB,cAAez9D,MAElEhG,cAACyuH,EAAU,CAAAv1G,SAAC,eAGhBlZ,cAACovH,EAAU,CAACE,WAAS,EAAAp2G,SACnBe,eAACC,IAAG,CAAAhB,SAAA,CACFlZ,cAACyuH,EAAU,CAAAv1G,SAAC,0EACZlZ,cAAC4uH,EAAK,CACJ9vH,MAAOsxH,EAAI3sD,OAAmB2sD,EAAI3sD,MAAgBgO,YAClDo9C,SAAU,SAAC7oH,GAAG,OAAK5D,EAAcqhE,KAAgB,cAAez9D,IAChE8oH,IAAK,IAGP9uH,cAACyuH,EAAU,CAAAv1G,SAAC,qEAMtBe,eAACs1G,EAAS,CACRt3G,KAAK,QACLwoF,KACEzgG,cAAC2uH,EAAK,CACJ12G,KAAK,MACLmF,KAAM5c,EAAQmpF,aAAeC,KAAe,+CAAiD,4EAGjG9qF,MAAOuxH,EAAK9rD,MACZsqD,SAAU,SAAC7oH,GAAG,OAAKhE,EAAWiwF,EAAUj7D,YAAC,GAAGutC,KAAmBv+D,EAAMkpB,EAAcq1C,MAAoB,SAASrrD,SAAA,CAEhHe,eAACm1G,EAAU,CAACC,SAAO,EAAAn2G,SAAA,CACjBe,eAACC,IAAG,CACFE,QAAQ,OACRqJ,WAAW,SACXtJ,GAAI,CAAE2B,OAAQ,QAAS5C,SAAA,CAEvBlZ,cAACyvH,IAAK,CACJjiH,QAAS4iH,EAAI7rD,OAAqBnkE,OAAOgwH,EAAI7rD,MAAkBkN,aAAe,EAC9EryE,SAAU,SAAC8iB,GACLA,EAAM5hB,OAAOkN,SAASpL,EAAcmiE,KAAkB,cAAe,MAE3EpqD,GAAI,CACFyH,EAAG,EACH4vB,EAAG,EACHx0B,GAAI,KAGR/C,eAACsW,IAAU,CAAArX,SAAA,CACR1Y,EAAQmpF,aAAeC,MAAgB,oDACvCppF,EAAQmpF,aAAera,MAAuB,gEAGlD8gD,EAAI7rD,OAAqBnkE,OAAOgwH,EAAI7rD,MAAkBkN,aAAe,GACpEx3D,eAACC,IAAG,CAACC,GAAI,CAAE4C,GAAI,GAAI7D,SAAA,CACjBlZ,cAACyuH,EAAU,CAAAv1G,SAAC,0CACZlZ,cAAC4uH,EAAK,CACJ9vH,MAAOsxH,EAAI7rD,OAAiB,GAAA7kE,OAAOkjE,KAAKguD,IAAIR,EAAI7rD,MAAkBkN,cAClEo9C,SAAU,SAAC7oH,GAAG,OAAK5D,EAAcmiE,KAAkB,cAAc,GAAD7kE,OAAKsG,KACrE8oH,IAAK,IAEP9uH,cAACyuH,EAAU,CAAAv1G,SAAC,kCACZlZ,cAACivH,EAAO,CACN5xF,MAAO8lE,KACPrkG,MAAOsxH,EAAI7rD,OAAiB,GAAA7kE,OAAO0wH,EAAI7rD,MAAkBgN,eACzDs9C,SAAU,SAAC7oH,GAAG,OAAK5D,EAAcmiE,KAAkB,gBAAiBv+D,MAEtEhG,cAACyuH,EAAU,CAAAv1G,SAAC,6CAIlBe,eAACm1G,EAAU,CAAAl2G,SAAA,CACTe,eAACC,IAAG,CACFE,QAAQ,OACRqJ,WAAW,SACXtJ,GAAI,CAAE2B,OAAQ,QAAS5C,SAAA,CAEvBlZ,cAACyvH,IAAK,CACJjiH,QAAS4iH,EAAI7rD,OAAqBnkE,OAAOgwH,EAAI7rD,MAAkBkN,cAAgB,EAC/EryE,SAAU,SAAC8iB,GACLA,EAAM5hB,OAAOkN,SAASpL,EAAcmiE,KAAkB,cAAe,MAE3EpqD,GAAI,CACFyH,EAAG,EACH4vB,EAAG,EACHx0B,GAAI,KAGR/C,eAACsW,IAAU,CAAArX,SAAA,CACR1Y,EAAQmpF,aAAeC,MAAgB,qDACvCppF,EAAQmpF,aAAera,MAAuB,iEAGlD8gD,EAAI7rD,OAAqBnkE,OAAOgwH,EAAI7rD,MAAkBkN,cAAgB,GACrEx3D,eAACC,IAAG,CAACC,GAAI,CAAE4C,GAAI,GAAI7D,SAAA,CACjBlZ,cAACyuH,EAAU,CAAAv1G,SAAC,mCACZlZ,cAAC4uH,EAAK,CACJ9vH,MAAOsxH,EAAI7rD,OAAiB,GAAA7kE,OAAOkjE,KAAKguD,IAAIR,EAAI7rD,MAAkBkN,cAClEo9C,SAAU,SAAC7oH,GAAG,OAAK5D,EAAcmiE,KAAkB,cAAc,GAAD7kE,QAAqB,EAAhBU,OAAO4F,MAC5E8oH,IAAK,IAEP9uH,cAACyuH,EAAU,CAAAv1G,SAAC,wCACZlZ,cAACivH,EAAO,CACN5xF,MAAO8lE,KACPrkG,MAAOsxH,EAAI7rD,OAAiB,GAAA7kE,OAAO0wH,EAAI7rD,MAAkBgN,eACzDs9C,SAAU,SAAC7oH,GAAG,OAAK5D,EAAcmiE,KAAkB,gBAAiBv+D,MAEtEhG,cAACyuH,EAAU,CAAAv1G,SAAC,mDAMtBlZ,cAACuwB,IAAU,CACThV,QAAQ,KACRF,MAAM,gBACNlB,GAAI,CACF2C,GAAI,EACJC,GAAI,GACJ7D,SACH,mBAGDlZ,cAACic,IAAO,CAAC9B,GAAI,CAAEgI,GAAI,KACnBniB,cAACovH,EAAU,CAAAl2G,SACTe,eAACC,IAAG,CACFE,QAAQ,OACRqJ,WAAW,SAAQvK,SAAA,CAEnBlZ,cAAC+yC,IAAQ,CACPvlC,SAAO,EACP+S,UAAQ,EACRpG,GAAI,CACFyH,EAAG,EACH4vB,EAAG,EACHx0B,GAAI,KAGR/C,eAACC,IAAG,CAAAhB,SAAA,CACFlZ,cAACyuH,EAAU,CAAAv1G,SAAC,4CACZlZ,cAAC4uH,EAAK,CACJ9vH,MAAO0B,EAAQ2oF,eAAejnB,cAC9B2sD,SAAU,SAAC7oH,GAAG,OAAKhE,EAAU9B,wBAAC,GACzBM,GAAO,IACV2oF,eAAcjpF,wBAAA,GACTM,EAAQ2oF,gBAAc,IACzBjnB,cAAel8D,QAGnB8oH,IAAK,IAEP9uH,cAACyuH,EAAU,CAAAv1G,SAAC,iDAIlBlZ,cAACuwB,IAAU,CACThV,QAAQ,KACRF,MAAM,gBACNlB,GAAI,CACF2C,GAAI,EACJC,GAAI,GACJ7D,SACH,oBAGDlZ,cAACic,IAAO,CAAC9B,GAAI,CAAEgI,GAAI,KACnBniB,cAACovH,EAAU,CAAAl2G,SACTlZ,cAACuvH,EAAS,CACRt3G,KAAK,QAELnZ,OAAO,EACP+vH,SAAU,SAAC7oH,GAAG,OAAKhE,EAAU9B,wBAAC,GACzBM,GAAO,IACV2oF,eAAcjpF,wBAAA,GACTM,EAAQ2oF,gBAAc,IACzBxtB,SAAU31D,EAAMkpB,EAAc8zE,MAAY,WAG9CziF,UAAQ,EACRkgF,KACEzgG,cAAC2uH,EAAK,CACJ12G,KAAK,MACLmF,KAAK,uCAEPlE,SAEFe,eAACm1G,EAAU,CAACC,SAAO,EAAAn2G,SAAA,CACjBlZ,cAAC0vH,EAAQ,CACPC,MACE3vH,cAACkvH,EAAM,CACLzuB,KAAK,gBACL0uB,IAAI,2PAA0Pj2G,SAE9PlZ,cAACivH,EAAO,CACNltG,WAAS,EACTsb,MAAO6lE,KAAkBzgG,KAAI,SAAAqF,GAAe,MAAQ,CAAEhJ,MAAjBgJ,EAALhJ,MAA6BiY,MAAjBjP,EAALiP,MAAmC2sB,kBAC1E5kC,MAAO0B,EAAQ2oF,eAAextB,UAAQ,GAAAj8D,OAAOc,EAAQ2oF,eAAextB,SAAS1jD,MAC7E42G,SAAU,SAAC7oH,GAAG,OAAKhE,EAAU9B,wBAAC,GACzBM,GAAO,IACV2oF,eAAcjpF,wBAAA,GACTM,EAAQ2oF,gBAAc,IACzBxtB,SAAQz7D,wBAAA,GACHM,EAAQ2oF,eAAextB,UAAQ,IAClC1jD,KAAMjS,cAOlB4pH,MACE5vH,cAACkvH,EAAM,CAACzuB,KAAK,qBAAoBvnF,SAC/BlZ,cAACivH,EAAO,CACNltG,WAAS,EACTsb,MAAO+jC,KAAiB33D,QAAO,SAACs+E,GAAG,OAAKA,EAAI9vE,MAAQ+3D,QAAYvtE,KAAI,SAACslF,GAAG,MAAM,CAC5EjpF,MAAM,GAADY,OAAKqoF,EAAI9vE,MACdlB,MAAM,GAADrX,OAAKqoF,EAAI6b,OAAOlgE,cAAa,sBAEpC5kC,MAAO0B,EAAQ2oF,eAAextB,UAAQ,GAAAj8D,OAAOc,EAAQ2oF,eAAextB,SAAS+V,UAC7Em9C,SAAU,SAAC7oH,GAAG,OAAKhE,EAAU9B,wBAAC,GACzBM,GAAO,IACV2oF,eAAcjpF,wBAAA,GACTM,EAAQ2oF,gBAAc,IACzBxtB,SAAQz7D,wBAAA,GACHM,EAAQ2oF,eAAextB,UAAQ,IAClC+V,SAAU1rE,gBAQxBhG,cAACkvH,EAAM,CAACzuB,KAAK,gBAAevnF,SAC1BlZ,cAAC4uH,EAAK,CACJ7sG,WAAS,EACT7iB,MAAO,CAAE84G,aAAc,KACvBl5G,MAAO0B,EAAQ2oF,eAAextB,UAAYn7D,EAAQ2oF,eAAextB,SAASwF,KAC1E0tD,SAAU,SAAC7oH,GAAG,OAAKhE,EAAU9B,wBAAC,GACzBM,GAAO,IACV2oF,eAAcjpF,wBAAA,GACTM,EAAQ2oF,gBAAc,IACzBxtB,SAAQz7D,wBAAA,GACHM,EAAQ2oF,eAAextB,UAAQ,IAClCwF,KAAMn7D,UAIZ8oH,IAAK,aAMf9uH,cAACuwB,IAAU,CACThV,QAAQ,KACRF,MAAM,gBACNlB,GAAI,CACF2C,GAAI,EACJC,GAAI,GACJ7D,SACH,eAGDlZ,cAACic,IAAO,CAAC9B,GAAI,CAAEgI,GAAI,KACnBniB,cAACovH,EAAU,CAAAl2G,SACTlZ,cAACuvH,EAAS,CACRt3G,KAAK,QACLnZ,MAAsC,OAA/B0B,EAAQ2oF,eAAe/X,IAC9By9C,SAAU,SAAC7oH,GAAG,OAAKhE,EAAU9B,wBAAC,GACzBM,GAAO,IACV2oF,eAAcjpF,wBAAA,GACTM,EAAQ2oF,gBAAc,IACzB/X,IAAKprE,EAAMkpB,EAAc+zE,MAAO,WAGpCxC,KACEzgG,cAAC2uH,EAAK,CACJ12G,KAAK,MACLmF,KAAK,0BAEPlE,SAEFlZ,cAACovH,EAAU,CAACC,SAAO,EAAAn2G,SACjBlZ,cAACkvH,EAAM,CAACzuB,KAAK,WAAUvnF,SACrBlZ,cAAC4uH,EAAK,CACJ7sG,WAAS,EACT7iB,MAAO,CAAE84G,aAAc,KACvBl5G,MAAO0B,EAAQ2oF,eAAe/X,KAAO5wE,EAAQ2oF,eAAe/X,IAAIjQ,KAChE0tD,SAAU,SAAC7oH,GAAG,OAAKhE,EAAU9B,wBAAC,GACzBM,GAAO,IACV2oF,eAAcjpF,wBAAA,GACTM,EAAQ2oF,gBAAc,IACzB/X,IAAK,CACHjQ,KAAMn7D,SAIZ8oH,IAAK,YAMdtuH,EAAQmpF,aAAeC,MACtB3vE,eAAAyW,WAAA,CAAAxX,SAAA,CACElZ,cAACuwB,IAAU,CACThV,QAAQ,KACRF,MAAM,gBACNlB,GAAI,CACF2C,GAAI,EACJC,GAAI,GACJ7D,SACH,kBAGDlZ,cAACic,IAAO,CAAC9B,GAAI,CAAEgI,GAAI,KACnBniB,cAACovH,EAAU,CAAAl2G,SACTlZ,cAACmnE,IAAgB,CACf93C,OAAS7uB,EAAQ2oF,eAAeriB,cAAqBtmE,EAAQ2oF,eAAeriB,cAA5B,GAChDM,OAAQ,SAAC7/B,GACPvlC,EAAU9B,wBAAC,GACNM,GAAO,IACV2oF,eAAcjpF,wBAAA,GACTM,EAAQ2oF,gBAAc,IACzBriB,cAAev/B,QAIrBw/B,SAAUvmE,EAAQsqF,uBAK1B7wE,eAACC,IAAG,CACFE,QAAQ,OACRqJ,WAAW,SAAQvK,SAAA,CAEnBlZ,cAACuwB,IAAU,CACThV,QAAQ,KACRF,MAAM,gBACNlB,GAAI,CACF4C,GAAI,EACJC,GAAI,IACJ9D,SACH,8BAGDlZ,cAACqzE,IAAY,CAAAn6D,SAAC,mFAIhBlZ,cAACic,IAAO,CAAC9B,GAAI,CAAEgI,GAAI,KACnBlI,eAACm1G,EAAU,CAAAl2G,SAAA,CACTe,eAACC,IAAG,CACFE,QAAQ,OACRqJ,WAAW,SACXtJ,GAAI,CACFqlB,GAAI,GACJtmB,SAAA,CAEFlZ,cAACw5G,IAAmB,CAClBr/F,GAAI,CACFW,MAAO,GACPgB,OAAQ,MAGZ9b,cAACuwB,IAAU,CACThV,QAAQ,YACRuF,WAAW,OAAM5H,SAClB,cAIHlZ,cAACka,IAAG,CACFC,GAAI,CACFuJ,GAAI,EACJtJ,QAAS,OACTC,cAAe,UACfnB,SAED4mF,KAAiBr9F,KAAI,SAAC+tH,GAAG,OACxBxwH,cAAC6vH,EAAoB,CAEnB9oD,SAAUypD,EACV30G,QAAS,kBAAM40G,EAAeD,IAC9BjzF,SAAUgzF,EAAiBC,IAHtBA,QAOXv2G,eAACC,IAAG,CACFE,QAAQ,OACRqJ,WAAW,SACXtJ,GAAI,CACFK,GAAI,GACJtB,SAAA,CAEFlZ,cAAC25G,IAAe,CACdx/F,GAAI,CACFW,MAAO,GACPgB,OAAQ,MAGZ9b,cAACuwB,IAAU,CACThV,QAAQ,YACRuF,WAAW,OAAM5H,SAClB,YAIHlZ,cAACka,IAAG,CACFC,GAAI,CACFuJ,GAAI,EACJtJ,QAAS,OACTC,cAAe,UACfnB,SAEDq0E,KAAe9qF,KAAI,SAAC+tH,GAAG,OACtBxwH,cAAC6vH,EAAoB,CAEnB9oD,SAAUypD,EACV30G,QAAS,kBAAM40G,EAAeD,IAC9BjzF,SAAUgzF,EAAiBC,IAHtBA,QAOXxwH,cAACka,IAAG,CAAAhB,SACFlZ,cAACuvH,EAAS,CACRt3G,KAAK,QACLnZ,MAAOoxH,EACPrB,SA7pBY,SAAC7oH,GACvBmqH,EAAanqH,GACbhE,EAAU9B,wBAAC,GACNM,GAAO,IACV2oF,eAAcjpF,wBAAA,GACTM,EAAQ2oF,gBAAc,IACzBE,UAAW7oF,EAAQ2oF,eAAeE,UAAU5mF,KAAI,SAACskE,GAAQ,OAAA7mE,wBAAA,GACpD6mE,GAAQ,IACXr5D,cAAe1H,EAAM2H,KAAmBC,gBAspBpC6yF,KACEzgG,cAAC2uH,EAAK,CACJ12G,KAAK,OACLmF,KAAK,4GAMfpd,cAACic,IAAO,CAAC9B,GAAI,CAAEgI,GAAI,KACnBlI,eAACm1G,EAAU,CAAAl2G,SAAA,CACTlZ,cAACka,IAAG,CACFE,QAAQ,OACRqJ,WAAW,SAAQvK,SAEnBlZ,cAAC2yC,IAAU,CACTnlC,QAAShN,EAAQtB,MAAM+9G,UACvB79G,SAAU,SAACe,GACT6B,EAAU9B,wBAAC,GACNM,GAAO,IACVtB,MAAKgB,wBAAA,GACAM,EAAQtB,OAAK,IAChB+9G,UAAW98G,EAAEG,OAAOkN,cAI1BuJ,MAAM,iCAGPvW,EAAQ2oF,eAAep5E,QAAQ0zD,OAChCzjE,cAACka,IAAG,CACFE,QAAQ,OACRqJ,WAAW,SACXtJ,GAAI,CACF2C,GAAI,GACJ5D,SAEFlZ,cAAC2yC,IAAU,CACTnlC,QAAShN,EAAQtB,MAAMg+G,aACvB99G,SAAU,SAACe,GACT6B,EAAU9B,wBAAC,GACNM,GAAO,IACVtB,MAAKgB,wBAAA,GACAM,EAAQtB,OAAK,IAChBg+G,aAAc/8G,EAAEG,OAAOkN,cAI7BuJ,MAAM,kD,iCC7wCtB,2FA8Ge6xG,IAzFmC,SAAC1pH,GACjD,IAAQ2pH,EAAgF3pH,EAAhF2pH,UAAW51F,EAAqE/zB,EAArE+zB,eAAgBjE,EAAqD9vB,EAArD8vB,QAAS7N,EAA4CjiB,EAA5CiiB,SAAUC,EAAkCliB,EAAlCkiB,aAAcub,EAAoBz9B,EAApBy9B,gBAC9Dpb,EAAO+lD,QAAQnmD,GAOrB,OACElH,eAAC42G,IAAM,CAAA33G,SAAA,CACLlZ,cAAC8wH,IAAQ,CAACvvG,KAAMA,IAChBtH,eAACiH,IAAO,CACNK,KAAMA,EACNJ,SAAUA,EACV6N,QAASA,EACT5N,aAAcA,GAAgB,CAC5BE,SAAU,SACVD,WAAY,SAEdsb,gBAAiBA,GAAmB,CAClCrb,SAAU,MACVD,WAAY,SAEdG,WAAY,CACVrH,GAAI,CACFW,MAAO,IACPgC,GAAI,IAGR6E,mBAAoB,IAAIzI,SAAA,CAExBe,eAACC,IAAG,CACFC,GAAI,CACFC,QAAS,OACT+V,GAAI,EACJ1V,GAAI,EACJgJ,WAAY,UACZvK,SAAA,CAEFlZ,cAAC8kD,IAAO,CACN3qC,GAAI,CACFW,MAAO,GACPgB,OAAQ,GACRkB,GAAI,GACJ9D,SAEFlZ,cAACszE,IAAQ,CACPj4D,MAAM,gBAGVrb,cAACuwB,IAAU,CACTlV,MAAM,cACNE,QAAQ,QACRuF,WAAW,SAAQ5H,SAElB+Z,OAGLjzB,cAACka,IAAG,CACFC,GAAI,CACFC,QAAS,OACTmY,eAAgB,WAChB9X,GAAI,EACJD,GAAI,GACJtB,SAEFlZ,cAACoiB,IAAM,CACL/G,MAAM,UACNE,QAAQ,OACRM,QAlEY,WACpBmT,IACI65F,GAAWA,KAgEgB3vG,SACxB,qB,iCC7FX,qDAEa4mB,EAAcqwE,YACzBnwG,cAAA,OACE+wH,QAAQ,MACR3gB,MAAM,6BACNC,QAAQ,oBAAmBn3F,SAE3Be,eAAA,KAAAf,SAAA,CACElZ,cAAA,QAAMuwG,EAAE,gKACRvwG,cAAA,QAAMuwG,EAAE,sYACRvwG,cAAA,QAAMuwG,EAAE,yJACRvwG,cAAA,QAAMuwG,EAAE,iYACRvwG,cAAA,QAAMuwG,EAAE,0JACRvwG,cAAA,QAAMuwG,EAAE,uYACRvwG,cAAA,QAAMuwG,EAAE,sLACRvwG,cAAA,QAAMuwG,EAAE,8QACRvwG,cAAA,QAAMuwG,EAAE,+QACRvwG,cAAA,QAAMuwG,EAAE,qRAGZ,gB,iCCTakM,IAZW,0V,gCCE1B,oEAAO,IAAMjnD,EAAoB,SAACjpC,GAChC,OAAIA,EACK,CAACA,EAAKnG,UAAWmG,EAAKy7B,WAAYz7B,EAAKlG,UAAU5c,QAAO,SAACksD,GAAC,QAAOA,KAAGlzD,KAAI,SAACkzD,GAAC,OAAKA,EAAEC,UAAQ5xC,KAAK,KAEhG,IAaItG,EAAwB,SAACrU,GACpC,IAAQgtE,EAAkEhtE,EAAlEgtE,aAAc54D,EAAoDpU,EAApDoU,YAAakhF,EAAuCt1F,EAAvCs1F,UAAW/6E,EAA4Bva,EAA5Bua,YAAag7E,EAAev1F,EAAfu1F,WACrDrpC,EAAaC,EAAkBnsD,GACrC,OAAIksD,IACA8gB,GAAgBuoB,EAAmBA,EACnCh7E,KACCyyD,GAAgBsoB,EAAkBA,EACnClhF,GACG,aAGMtC,IArBY,SAACoR,GAC1B,GAAIA,EAAM,CACR,GAAIA,EAAK88F,QAAS,OAAO98F,EAAK88F,QAC9B,GAAI98F,EAAK9O,YAAa,OAAO8O,EAAK9O,YAClC,IAAM83C,EAAaC,EAAkBjpC,GACrC,GAAIgpC,EAAY,OAAOA,EAEzB,MAAO,Y,qUCdIy7D,EAAiB,SAACC,GAC7B,IAAKA,EAAM,MAAO,GAClB,IAAMtkH,EAAM,IAAIxP,KACVwnC,EAAK,IAAIxnC,KAAK8zH,GACpB,OAAItsF,EAAGijD,gBAAkBj7E,EAAIi7E,cAAsBspC,YAAOvsF,EAAI,cAC1DA,EAAGwoF,aAAexgH,EAAIwgH,YAAcxoF,EAAGuoF,YAAcvgH,EAAIugH,UAAkBgE,YAAOvsF,EAAI,SAEnFusF,YAAOvsF,EAAI,YAGPwsF,EAAiB,SAACF,GAC7B,OAAKA,EACEC,YAAO,IAAI/zH,KAAK8zH,GAAO,yBADZ,IAIPG,EAAgB,SAACH,GAC5B,OAAKA,EACA7wH,OAAOC,MAAM4wH,EAAK7zH,WAChB8zH,YAAO/zH,KAAKwP,MAAO,cADgBukH,YAAOD,EAAM,cADrC,IAKPI,EAAkB,SAACJ,GAC9B,IAAKA,EAAM,MAAO,GAClB,IAAAK,EAAkBL,EAAK5rF,MAAM,KAAIksF,EAAA3xH,YAAA0xH,EAAA,GAA1B/gB,EAACghB,EAAA,GAAE//E,EAAC+/E,EAAA,GAAEhe,EAACge,EAAA,GACd,MAAM,GAAN7xH,OAAU8xC,EAAC,KAAA9xC,OAAI6wG,EAAC,KAAA7wG,OAAI6zG,IAGTie,EAAkB,WAAH,OAAiBN,YAAO,IAAI/zH,KAAQ,eAEnD4rF,EAAe,WAAH,OAAgB,IAAI5rF,MAAM,IAAIA,MAAQ4yF,iBAClDj0B,EAAa,SAACm1D,GAAS,OAAM,IAAI9zH,KAAM,IAAIA,KAAK8zH,GAAOlhC,iBAEvDx0B,EAAsB,SAAC01D,GAClC,IAAKA,EAAM,MAAO,GAClB,IAAM1gB,EAAI,IAAIpzG,KAAK8zH,GACnB,OAAOC,YAAO3gB,EAAG,gB,iUCXbhwG,EAA4B,CAChCwxD,OAAQ,KACRihD,SAAU,KACVgG,gBAAiBnZ,KAAU,GAAGt+F,KAC9Bo3G,SAAS,EACT1F,aAAc,IAGV5xG,EAAQC,YAAY,CACxBC,KAAM,SACNhB,eACAiB,SAAU,CACRC,WAAU,SAACC,GACTA,EAAMqwD,OAAS,KACfrwD,EAAMsxG,SAAW,KACjBtxG,EAAMs3G,gBAAkBnZ,KAAU,GAAGt+F,KACrCG,EAAMi3G,SAAU,GAElBS,mBAAkB,SAAC13G,EAAoBO,GACrCP,EAAMs3G,gBAAkB/2G,EAAOC,QAC/BR,EAAMuxG,aAAe,IAEvBoG,SAAQ,SAAC33G,EAAoBO,GAC3BP,EAAMi3G,QAAU12G,EAAOC,SAEzBuvH,aAAY,SAAC/vH,EAAoBO,GAC/B,IAAM8vD,EAAS9vD,EAAOC,QACtBpE,YAAQi0D,EAAQrwD,EAAMqwD,SAExB2/D,UAAS,SAAChwH,EAAoBO,GAC5B,IAAM8vD,EAAS9vD,EAAOC,QACtBR,EAAMqwD,OAASA,GAEjB4/D,gBAAe,SAACjwH,EAAoBO,GAClC,IAAAK,EAA4BL,EAAOC,QAA3BqqB,EAAIjqB,EAAJiqB,KAAejqB,EAATq8E,YACIj9E,EAAMs3G,kBACtBt3G,EAAMqwD,OAASxlC,IAGnB+sF,YAAW,SAAC53G,EAAoBO,GAC9BP,EAAMsxG,SAAW/wG,EAAOC,SAE1B0xG,gBAAe,SAAClyG,EAAoBO,GAClCP,EAAMuxG,aAAehxG,EAAOC,YAKnBsB,EAAYnC,EAAZmC,QAEF+oE,EAAmB,WAAH,OAAmB,SAACzoE,GAC/CA,EAASzC,EAAM8C,QAAQ1C,gBAGZ23G,EAAqB,SAACz6B,GAAiB,sBAAAl7E,EAAAC,YAAAC,IAAAC,MAAe,SAAAC,EAAOC,GAAQ,OAAAH,IAAAI,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,OAChFJ,EAASzC,EAAM8C,QAAQi1G,mBAAmBz6B,IAAY,wBAAA36E,EAAAI,UAAAP,OACvD,gBAAAQ,GAAA,OAAAZ,EAAAa,MAAA,KAAA/F,YAFmD,IAGvC86G,EAAW,SAACrzG,GAAY,sBAAAzB,EAAAb,YAAAC,IAAAC,MAAe,SAAAY,EAAOV,GAAQ,OAAAH,IAAAI,MAAA,SAAAU,GAAA,cAAAA,EAAAR,KAAAQ,EAAAP,MAAA,OACjEJ,EAASzC,EAAM8C,QAAQk1G,SAASrzG,IAAM,wBAAAvB,EAAAL,UAAAI,OACvC,gBAAAE,GAAA,OAAAH,EAAAD,MAAA,KAAA/F,YAFoC,IAGxB+rE,EAAgB,SAACvnB,GAAU,sBAAAp+C,EAAAjB,YAAAC,IAAAC,MAAgB,SAAAgB,EAAOd,GAAQ,OAAAH,IAAAI,MAAA,SAAAc,GAAA,cAAAA,EAAAZ,KAAAY,EAAAX,MAAA,OACrEJ,EAASzC,EAAM8C,QAAQutH,UAAU3uE,IAAQ,wBAAAl+C,EAAAT,UAAAQ,OAC1C,gBAAAE,GAAA,OAAAH,EAAAL,MAAA,KAAA/F,YAFuC,IAM3B+6G,EAAc,SAACtG,GAAkB,sBAAA5tG,EAAA1B,YAAAC,IAAAC,MAAe,SAAAyB,EAAOvB,GAAQ,OAAAH,IAAAI,MAAA,SAAAuB,GAAA,cAAAA,EAAArB,KAAAqB,EAAApB,MAAA,OAC1EJ,EAASzC,EAAM8C,QAAQm1G,YAAYtG,IAAW,wBAAA1tG,EAAAlB,UAAAiB,OAC/C,gBAAAE,GAAA,OAAAH,EAAAd,MAAA,KAAA/F,YAF6C,IAGjCq1G,EAAkB,SAACX,GAAmB,sBAAAztG,EAAA9B,YAAAC,IAAAC,MAAe,SAAA6B,EAAO3B,GAAQ,OAAAH,IAAAI,MAAA,SAAA2B,GAAA,cAAAA,EAAAzB,KAAAyB,EAAAxB,MAAA,OAC/EJ,EAASzC,EAAM8C,QAAQyvG,gBAAgBX,IAAe,wBAAAvtG,EAAAtB,UAAAqB,OACvD,gBAAAE,GAAA,OAAAH,EAAAlB,MAAA,KAAA/F,YAFkD,K,iCC9FnD,kEAsDeuqH,IAxCV,SAAHrlH,GAAA,IACA8d,EAAI9d,EAAJ8d,KACAoc,EAAWl6B,EAAXk6B,YACAorF,EAAUtlH,EAAVslH,WAAU,OAEV9uG,eAAC6U,IAAM,CACLvN,KAAMA,EACNyN,QAAS2O,EAAYzkB,SAAA,CAErBlZ,cAACuxC,IAAW,CAAAr4B,SAAC,0BAGblZ,cAAC+3G,IAAa,CAAA7+F,SACZlZ,cAAC4xH,IAAiB,CAAA14G,SAAC,oHAIrBe,eAACm+F,IAAa,CAAAl/F,SAAA,CACZlZ,cAACoiB,IAAM,CACLvG,QAAS8hB,EAAYzkB,SACtB,WAGDlZ,cAACoiB,IAAM,CACLvG,QAASktG,EACTv4F,WAAS,EACTjV,QAAQ,YAAWrC,SACpB,oB,iCC1CP,mBAEMqyG,EAAYpb,YAEhBl2F,eAAA,OACEm2F,MAAM,6BACNC,QAAQ,sBAAqBn3F,SAAA,CAE7BlZ,cAAA,QACEuwG,EAAE,wCACF59B,KAAK,YAEP3yE,cAAA,QACEuwG,EAAE,8CACF59B,KAAK,YAEP3yE,cAAA,QACEuwG,EAAE,8CACF59B,KAAK,YAEP3yE,cAAA,QACEuwG,EAAE,oDACF59B,KAAK,eAGT,aAGa44C,O,uDC3Bf,8DAkBM/C,EAAkC,SAACtpH,GACvC,IAAQqiB,EAAkDriB,EAAlDqiB,KAAMknG,EAA4CvpH,EAA5CupH,MAAOC,EAAqCxpH,EAArCwpH,SAAUC,EAA2BzpH,EAA3BypH,KAAM1qF,EAAqB/+B,EAArB++B,QAASjP,EAAY9vB,EAAZ8vB,QAU9C,OACE/U,eAAC6U,IAAM,CACL/M,WAAS,EACTgN,SAAS,KACTxN,KAAMA,EAAKrI,SAAA,CAEXe,eAACC,IAAG,CACFC,GAAI,CACFC,QAAS,OACT+V,GAAI,EACJqP,GAAI,EACJ/kB,GAAI,GAENL,QAAQ,OACRC,cAAc,MACdoJ,WAAW,SAAQvK,SAAA,CAEnBlZ,cAACszE,IAAQ,CACPn5D,GAAI,CACF6B,SAAU,OACVgB,GAAI,GAEN3B,MAAM,cAERrb,cAACka,IAAG,CAAAhB,SACFlZ,cAACuwB,IAAU,CACTlV,MAAM,gBACNE,QAAQ,QAAOrC,SAEd+kB,SAIPhkB,eAACC,IAAG,CACFC,GAAI,CACFC,QAAS,OACTmY,eAAgB,WAChB9X,GAAI,EACJD,GAAI,KACJtB,SAAA,CAEFlZ,cAACoiB,IAAM,CACL/G,MAAM,UACNlB,GAAI,CAAE6C,GAAI,GACVzB,QAAQ,OACRM,QAjDY,WAClBmT,KAgD2B9V,SAEpBwvG,IAEH1oH,cAACoiB,IAAM,CACL/G,MAAM,YACNE,QAAQ,OACRM,QA5DS,WACf8sG,IACA35F,KA0DwB9V,SAEjBuvG,WAgBXD,EAAW1yF,aAAe,CACxB2yF,MAAO,KACPC,SAAU,SAGGF,O,kjBC1EF7tG,EAAkC,SAACzb,GAC9C,IAAQ0b,EAAsC1b,EAAtC0b,SAAUC,EAA4B3b,EAA5B2b,KAAMof,EAAsB/6B,EAAtB+6B,SAAU43F,EAAY3yH,EAAZ2yH,QAC5Bp0G,EAActC,YAAmBP,GACjCk3G,EAAanxG,YAAYlD,GAAapc,MAAM,EAAGwwH,EAAU,EAAI,GAC7Dz2E,EACJp7C,cAACwgB,IAAM,CACLziB,IAAa,OAAR6c,QAAQ,IAARA,OAAQ,EAARA,EAAUwgC,OACfjhC,GAAI,CACFW,MAAOD,EACPiB,OAAQjB,EACRmB,SAAS,GAADtc,OAAKkjE,KAAKC,MAAMhoD,EAAO,KAAI,iBACnC4F,QAASC,YAAqBoxG,GAC9Bz2G,MAAO,SAACuF,GAAK,OAAKA,EAAMC,QAAQzD,KAAKlC,SACrC4F,WAAY,QACZ5H,SAED44G,IAGL,IAAiB,IAAb73F,IAAwBrf,GAAaA,EAAS3C,OAASO,KAAeoC,EAAS3C,OAASW,KAAsBgC,EAAS3C,OAASY,IAAoB,OAAOuiC,EAC/J,IAAM22E,EAAcl3G,EAAO,EAC3B,OACEZ,eAACC,IAAG,CACFC,GAAI,CACFC,QAAS,eACT2V,SAAU,YACV7W,SAAA,CAEDkiC,EACDp7C,cAACgyH,IAAS,CACR/4G,MAAO,CACL6B,MAAM,GAADpb,OAAKqyH,EAAW,MACrBj2G,OAAO,GAADpc,OAAKqyH,EAAW,MACtB12G,MAAO,OACP0U,SAAU,WACVC,MAAM,IAADtwB,OAAMqyH,EAAc,EAAC,MAC1BE,OAAO,IAADvyH,OAAMqyH,EAAc,EAAC,aAkBxBG,EAIR,SAAHzuH,GAIK,IAHLmX,EAAQnX,EAARmX,SACAggB,EAAOn3B,EAAPm3B,QACA/f,EAAIpX,EAAJoX,KAEMs3G,EAAUvvD,KAAKC,MAAMhoD,EAAO,KAClC,OACEZ,eAACC,IAAG,CACFC,GAAI,CACF4V,SAAU,WACVjV,MAAOD,EACPiB,OAAQjB,GACR3B,SAAA,CAEFlZ,cAAC2a,EAAU,CACTC,SAAUA,EACVC,KAAMA,EACNof,UAAU,IAEZj6B,cAACka,IAAG,CACFC,GAAI,CACF4V,SAAU,WACVC,MAAM,GAADtwB,QAAMyyH,EAAU,EAAC,MACtBF,OAAO,GAADvyH,QAAMyyH,EAAU,EAAC,MACvB1xG,QAAS,mBACT3F,MAAOq3G,EAAU,EACjBr2G,OAAQq2G,EAAU,EAClB/3G,QAAS,OACTqJ,WAAY,SACZ8O,eAAgB,SAChB0D,aAAc,OACd/c,SAEFlZ,cAAC2a,EAAU,CACTC,SAAUggB,EACV/f,KAAMs3G,EACNl4F,UAAU,EACV43F,SAAO,UAaJ9c,EAAwC,SAAC71G,GACpD,IAAQ0b,EAAa1b,EAAb0b,SAER,OACEX,eAAAyW,WAAA,CAAAxX,SAAA,CACElZ,cAAC2a,EAAU,CACTC,SAAUA,EACVC,KAAM,KAER7a,cAACuwB,IAAU,CACThV,QAAQ,QACRpB,GAAI,CACF4C,GAAI,EACJtD,SAAU,SACVsB,aAAc,WACdC,WAAY,SACZK,MAAO,SACPnC,SAEDiC,YAAmBP,SAUfw3G,EAA+C,SAAClzH,GAC3D,IAAQ0b,EAAa1b,EAAb0b,SAER,OACE5a,cAACsa,IAAQ,CACPC,QAAM,EACNJ,GAAI,CACF8b,aAAc,EACdzb,GAAI,GACJC,GAAI,GACJvB,SAEFlZ,cAAC+0G,EAAa,CAACn6F,SAAUA,OASzBy3G,EAAc,SAACl1F,EAAW/f,GAAY,OAC1Cpd,cAAA0wB,WAAA,CAAAxX,WACKkE,GACDnD,eAACC,IAAG,CACFC,GAAI,CACFC,QAAS,OACTqJ,WAAY,SACZ3I,MAAO,QACPiC,GAAI,OACJ6T,GAAI,EACJ,MAAO,CACLvV,MAAO,mBAETnC,SAAA,CAEFlZ,cAACm9B,EAAI,CACHlkB,MAAO,CACL6B,MAAO,OACPgB,OAAQ,OACRgX,YAAa,SAGjB9yB,cAACuwB,IAAU,CACThV,QAAQ,QACRpB,GAAI,CACFW,MAAO,SACP5B,SAEDkE,UAYEk1G,EAAwC,SAACpzH,GACpD,IAAQykD,EAAyBzkD,EAAzBykD,WAAYzqC,EAAaha,EAAbga,SACpB1Z,EAAgCC,mBAA6B,MAAKE,EAAAC,YAAAJ,EAAA,GAA3D2hB,EAAQxhB,EAAA,GAAE0nE,EAAW1nE,EAAA,GACtB4hB,EAAO+lD,QAAQnmD,GAEfo0C,EAAa,CAAC5R,EAAWv9B,UAAWu9B,EAAWqE,WAAYrE,EAAWt9B,UAAU5c,QAAO,SAACksD,GAAC,QAAOA,KAAGlzD,KAAI,SAACkzD,GAAC,OAAKA,EAAEC,UAAQ5xC,KAAK,KAcnI,OAAK2/B,EAGH1pC,eAACC,IAAG,CAAAhB,SAAA,CACFlZ,cAACka,IAAG,CACF2B,QAdc,SAACqG,GACnBmlD,EAAYnlD,EAAM8lD,eAClB9lD,EAAM2b,mBAaF1jB,GAAI,CACFC,QAAS,gBACTlB,SAEDA,IAEHlZ,cAACka,IAAG,CACF2B,QAAS,SAAC1b,GAAQA,EAAE09B,mBAAqB3kB,SAEzClZ,cAACkhB,IAAO,CACNC,SAAUA,EACVI,KAAMA,EACNyN,QAtBY,WAClBq4C,EAAY,OAsBNjmD,aAAc,CACZE,SAAU,MACVD,WAAY,SAEdsb,gBAAiB,CACfrb,SAAU,MACVD,WAAY,QACZnI,SAEFe,eAACC,IAAG,CACFC,GAAI,CACFW,MAAO,QACPiV,SAAU,WACV5N,GAAI,QACJjJ,SAAA,CAEFe,eAACC,IAAG,CACFC,GAAI,CACFW,MAAO,OACPgB,OAAQ,QACRiU,SAAU,WACVyI,gBAAiB,sBACjBtf,SAAA,CAEFlZ,cAACka,IAAG,CACFC,GAAI,CACFW,MAAO,OACPgB,OAAQ,OACRrC,SAAU,SACVsW,SAAU,YACV7W,SAEFlZ,cAACka,IAAG,CACFC,GAAI,CACFW,MAAO,OACPgB,OAAQ,OACR0c,gBAAiB,UACjBnB,QAAS,QAIfr3B,cAACka,IAAG,CACFC,GAAI,CACF4V,SAAU,WACVmO,KAAM,MACNjO,IAAK,OACLsM,UAAW,wBACXtG,aAAc,MACdy/E,OAAQ,mBACRx8F,SAEFlZ,cAAC2a,EAAU,CACTC,SAAU23G,YAAiB5uE,GAC3B9oC,KAAM,IACNof,UAAU,SAIhBj6B,cAACka,IAAG,CACFC,GAAI,CACF2C,GAAI,OACJ2V,UAAW,UACXvZ,SAEFlZ,cAACuwB,IAAU,CACThV,QAAQ,KACRF,MAAM,cAAanC,SAEjBq8C,GAAa5R,EAAW0lE,YAG9BpvG,eAACC,IAAG,CACFC,GAAI,CACFkkB,UAAW,SAEbxB,UAAU,aAAY3jB,SAAA,CAEtBe,eAACC,IAAG,CAAAhB,SAAA,CACDm5G,EAAYG,IAAiB7uE,EAAW0lE,SACxCgJ,EAAYxG,IAAUloE,EAAW5lC,OACjCs0G,EAAYtxG,IAAW4iC,EAAW9lC,OAClCw0G,EAAYI,IAAU9uE,EAAW67C,YAEpCx/F,cAACka,IAAG,CAAAhB,SACDm5G,EAAYtG,IAAWpoE,EAAWoT,gBA0BpCpT,EAAW2lC,OACVtpF,cAACka,IAAG,CACFO,GAAG,OACHqC,GAAI,EAAE5D,SAENlZ,cAACwsH,IAAK,CACJjxG,QAAQ,WACRpB,GAAI,CACFyH,EAAG,EACH4V,WAAY,cACZ1c,MAAO,QACP5B,SAEFlZ,cAACuwB,IAAU,CACThV,QAAQ,QAAOrC,SAEdyqC,EAAW2lC,yBAjJPtpF,cAAA0wB,WAAA,KAuKdgiG,EAAsD,SAACxzH,GAClE,IAAQykD,EAAezkD,EAAfykD,WACR,OAAKA,EAeH3jD,cAACsyH,EAAa,CAAC3uE,WAAYA,EAAWzqC,SACpClZ,cAACoyH,EAAoB,CACnBx3G,SAAU23G,YAAiB5uE,OAf7B3jD,cAACka,IAAG,CACFC,GAAI,CACFC,QAAS,OACTC,cAAe,MACfI,GAAI,EACJD,GAAI,IACJtB,SAEFlZ,cAAC+0G,EAAa,CAACn6F,SAAU23G,YAAiB5uE,QAuBrCgvE,EAA0C,SAACzzH,GAAW,IAAD0zH,EAAAC,EAAAC,EAAAC,EAAAC,EACxDp4G,EAA+B1b,EAA/B0b,SAAU1B,EAAqBha,EAArBga,SAAU+5G,EAAW/zH,EAAX+zH,OACtBl0G,EAAUC,cAERuH,EAAgBnH,aAAY,SAAC1d,GAAK,OAAKA,EAAMihB,gBAA7C4D,YACRrI,EAAgCze,mBAA6B,MAAK0e,EAAAve,YAAAse,EAAA,GAA3DiD,EAAQhD,EAAA,GAAEkpD,EAAWlpD,EAAA,GAC5BG,EAAoC7e,mBAAc,MAAK8e,EAAA3e,YAAA0e,EAAA,GAAhD40G,EAAU30G,EAAA,GAAE40G,EAAa50G,EAAA,GAChCG,EAAgCjf,oBAAS,GAAMmf,EAAAhf,YAAA8e,EAAA,GAAxC7K,EAAS+K,EAAA,GAAE0kB,EAAU1kB,EAAA,GAC5BmI,EAAsCtnB,oBAAS,GAAMunB,EAAApnB,YAAAmnB,EAAA,GAA9CqsG,EAAYpsG,EAAA,GAAEqsG,EAAarsG,EAAA,GAC5BzF,EAAO+lD,QAAQnmD,GAErBphB,qBAAU,WACRozH,EAAc,MACd7vF,GAAW,GACX+vF,GAAc,KACb,CAACz4G,IAEJ,IAAM04G,EAAQ,eAAA/uH,EAAAb,YAAAC,IAAAC,MAAG,SAAAC,IAAA,IAAA0vH,EAAAC,EAAAC,EAAA,OAAA9vH,IAAAI,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,OACE,GAAjBo/B,GAAW,GAAMt/B,EAAAC,KAAA,GAEX2W,EAAS84G,YAAY,CAAD1vH,EAAAE,KAAA,gBAAAF,EAAAE,KAAA,EACMy3E,aAAuB/gE,EAASpO,KAAK,KAAD,EACnC,OADvB+mH,EAAavvH,EAAA+R,MACD8X,OAChBslG,EAAcI,EAAcjpH,MAE5B6oH,EAAcv4G,GAEhB0oB,GAAW,GAAOt/B,EAAAE,KAAA,oBACT0W,EAAS3C,OAASO,IAAW,CAAAxU,EAAAE,KAAA,gBAAAF,EAAAE,KAAA,GACVw3E,aAA0B9gE,EAASpO,KAAK,KAAD,GAA7D+mH,EAAavvH,EAAA+R,KACfgJ,EAAQrgB,SACVy0H,EAAcI,GACfvvH,EAAAE,KAAA,wBAAAF,EAAAE,KAAA,GAE4BoxE,aAAkB16D,EAASpO,KAAK,KAAD,GAAtDinH,EAAczvH,EAAA+R,KAChBgJ,EAAQrgB,SACVy0H,EAAcM,GACf,QAAAzvH,EAAAE,KAAA,iBAAAF,EAAAC,KAAA,GAAAD,EAAAwS,GAAAxS,EAAA,SAGC+a,EAAQrgB,SAAS20H,GAAc,GAAM,QAEF,OAFErvH,EAAAC,KAAA,GAErC8a,EAAQrgB,SAAS4kC,GAAW,GAAOt/B,EAAA6S,OAAA,6BAAA7S,EAAAI,UAAAP,EAAA,yBAE1C,kBA3Ba,OAAAU,EAAAD,MAAA,KAAA/F,YAAA,GAgDd,OAAKqc,EAGHX,eAACC,IAAG,CAAAhB,SAAA,CACFlZ,cAACka,IAAG,CACF2B,QAxBc,SAACqG,IACd+wG,GAAUr4G,EAASpO,MAAQ+Z,KAChC8gD,EAAYnlD,EAAM8lD,eAClBsrD,IACApxG,EAAM2b,oBAqBF1jB,GAAI,CACFC,QAAS,gBACTlB,SAEDA,IAEHlZ,cAACka,IAAG,CACF2B,QAAS,SAAC1b,GAAQA,EAAE09B,mBAAqB3kB,SAEzClZ,cAACkhB,IAAO,CACNC,SAAUA,EACVI,KAAMA,EACNyN,QA9BY,WAClBq4C,EAAY,OA8BNjmD,aAAc,CACZE,SAAU,MACVD,WAAY,SAEdsb,gBAAiB,CACfrb,SAAU,MACVD,WAAY,QACZnI,SAEFe,eAACC,IAAG,CACFC,GAAI,CACFW,MAAO,QACPiV,SAAU,WACV5N,GAAG,GAADziB,OAAMkb,EAAS3C,OAASO,KAAe06G,EAAc,GAAK,GAAE,OAC9Dh6G,SAAA,CAEFe,eAACC,IAAG,CACFC,GAAI,CACFW,MAAO,OACPgB,OAAQ,QACRiU,SAAU,WACVyI,gBAAiB,sBACjBtf,SAAA,CAEFe,eAACC,IAAG,CACFC,GAAI,CACFW,MAAO,OACPgB,OAAQ,OACRrC,SAAU,SACVsW,SAAU,YACV7W,SAAA,CAEFlZ,cAAA,OACEy/B,IAAI,cACJxmB,MAAO,CACL8W,SAAU,WACVmO,KAAM,QACNjO,IAAK,SACLxmB,OAAQ,YACRkqH,aAAc,YACd74G,MAAO,QACPgB,OAAQ,QACRub,QAAS,MAEXt5B,IAAK6c,EAASwgC,SAEhBp7C,cAACka,IAAG,CACFC,GAAI,CACFW,MAAO,OACPgB,OAAQ,OACR0c,gBAAiB,UACjBnB,QAAS,SAIfr3B,cAACka,IAAG,CACFC,GAAI,CACF4V,SAAU,WACVmO,KAAM,MACNjO,IAAK,OACLsM,UAAW,wBACXtG,aAAc,MACdy/E,OAAQ,mBACRx8F,SAEFlZ,cAAC2a,EAAU,CACTC,SAAUA,EACVC,KAAM,IACNof,UAAU,SAIhBhgB,eAACC,IAAG,CACFC,GAAI,CACF2C,GAAI,QACJ5D,SAAA,EAEAk6G,GACApzH,cAACka,IAAG,CACFC,GAAI,CACFsY,UAAW,UACXvZ,SAEFlZ,cAACuwB,IAAU,CACThV,QAAQ,KACRF,MAAM,cAAanC,SAGlB0B,EAASyuG,aAIdx1G,GAAa+G,EAAS3C,OAASO,KAAe06G,GAC9Cj5G,eAACC,IAAG,CAAAhB,SAAA,CACDm5G,EAAYG,IAAiBU,EAAW7J,UACb,QAA3BuJ,EAAAM,EAAWU,wBAAgB,IAAAhB,OAAA,EAA3BA,EAA6B/lH,SAAS,WAAYwlH,EAAYxG,IAAUqH,EAAWn1G,QACxD,QAA3B80G,EAAAK,EAAWU,wBAAgB,IAAAf,OAAA,EAA3BA,EAA6BhmH,SAAS,WAAYwlH,EAAYtxG,IAAWmyG,EAAWr1G,SAClFq1G,EAAWU,mBAA+C,QAA/Bd,EAAII,EAAWU,wBAAgB,IAAAd,OAAA,EAA3BA,EAA6BjmH,SAAS,cAAewlH,EAAYI,IAAUS,EAAW1zB,WACrH0zB,EAAWU,mBAA+C,QAA/Bb,EAAIG,EAAWU,wBAAgB,IAAAb,OAAA,EAA3BA,EAA6BlmH,SAAS,kBAAmBwlH,EAAYwB,IAAUt4D,YAAoB23D,EAAWY,eACpH,QAA3Bd,EAAAE,EAAWU,wBAAgB,IAAAZ,OAAA,EAA3BA,EAA6BnmH,SAAS,cAAewlH,EAAYtG,IAAWmH,EAAWn8D,kBAG1FljD,IAAc+G,EAAS3C,OAASO,KAAiC,IAAlBoC,EAAS3C,MAAgC,IAAlB2C,EAAS3C,OAAei7G,GAC9Fj5G,eAACC,IAAG,CAAAhB,SAAA,CACDm5G,EAAYxG,IAAUqH,EAAWn1G,OACjCs0G,EAAYtxG,IAAWmyG,EAAWr1G,OAClCw0G,EAAYI,IAAUS,EAAW1zB,SACjC6yB,EAAYtG,IAAWmH,EAAWn8D,cAClCm8D,EAAWjvF,YACVjkC,cAACka,IAAG,CACFE,QAAQ,OACRmY,eAAe,WACf+H,GAAI,EAAEphB,SAENlZ,cAACoiB,IAAM,CACL7G,QAAQ,OACR0sD,QAASjoE,cAAC+zH,IAAa,IACvBl4G,QAhJJ,WAChB,GAAIjB,EAASpO,MAAQ+Z,IAAe0sG,EAApC,CACA,IAAMe,EAAQpyH,OAAOgiC,SAAS+K,OAC1BukF,GACFtxH,OAAO2f,KAAK,GAAD7hB,OAAIs0H,EAAK,WAAAt0H,OAAUwzH,EAAWjvF,eA4IJ/qB,SACpB,kBAORrF,GACCoG,eAACC,IAAG,CACFC,GAAI,CACFW,MAAO,QACPiC,GAAI,QACJ7D,SAAA,CAEFlZ,cAACy5G,IAAQ,CAACwa,UAAU,SACpBj0H,cAACy5G,IAAQ,CAACwa,UAAU,YAGvBb,GACCpzH,cAACuwB,IAAU,CACThV,QAAQ,QACRpB,GAAI,CACFsY,UAAW,SACXpX,MAAO,OACPnC,SACH,4CAlKQlZ,cAAA0wB,WAAA,KAoLZwjG,EAAkD,SAACh1H,GAC9D,IAAQ0b,EAAa1b,EAAb0b,SACR,OAAKA,EAeH5a,cAAC2yH,EAAc,CAAC/3G,SAAUA,EAAS1B,SACjClZ,cAACoyH,EAAoB,CAACx3G,SAAUA,MAdhC5a,cAACka,IAAG,CACFC,GAAI,CACFC,QAAS,OACTC,cAAe,MACfI,GAAI,EACJD,GAAI,IACJtB,SAEFlZ,cAAC+0G,EAAa,CAACn6F,SAAUA,OAkClBm6F,O,gCCluBf,iHAEa50F,EAAgB,SAACya,GAAqB,MAAmB,CACpEpuB,IAAKw1F,aAAWpnE,EAAQ1X,gBACxBnL,OAAQ,CAAC,CAAEnZ,GAAIojG,aAAWpnE,EAAQ1X,gBAAiBjL,KAAMO,MACzDP,KAAMO,IACN4N,UAAW47E,aAAWpnE,EAAQxU,WAC9B4hC,WAAYg6C,aAAWpnE,EAAQotB,YAC/B3hC,SAAU27E,aAAWpnE,EAAQvU,UAC7BgjG,QAASrnB,aAAWpnE,EAAQhX,aAC5Bw3B,OAAQ4mD,aAAWpnE,EAAQ27D,MAC3Bx/B,aAAcirC,aAAWpnE,EAAQm8B,cACjC75C,QAAS8kF,aAAWpnE,EAAQ1d,SAC5Bxb,MAAOsgG,aAAWpnE,EAAQi8B,QAC1B55C,KAAM+kF,aAAWpnE,EAAQ3d,MACzB65C,WAAYkrC,aAAWpnE,EAAQk8B,YAC/Bj5C,MAAOmkF,aAAWpnE,EAAQ/c,OAC1BE,MAAOikF,aAAWpnE,EAAQ7c,OAC1ByhF,QAASwC,aAAWpnE,EAAQ4kE,SAC5B20B,UAAWv5F,EAAQg5F,kBAAoBh5F,EAAQg5F,iBAAiBQ,QAChEt8D,IAAKkqC,aAAWpnE,EAAQk9B,KACxBC,IAAKiqC,aAAWpnE,EAAQm9B,KACxBmU,YAAoB,OAAPtxC,QAAO,IAAPA,OAAO,EAAPA,EAASsxC,cAGXrsD,EAAiB,SAACjF,GAAc,MAAmB,CAC9DpO,IAAKw1F,aAAWpnF,EAASpO,KACzBuL,OAAQ,CAAC,CAAEnZ,GAAIojG,aAAWpnF,EAASpO,KAAMyL,KAAMM,MAC/CN,KAAMM,IACN6N,UAAW47E,aAAWpnF,EAASwL,WAC/B4hC,WAAYg6C,aAAWpnF,EAASotC,YAChC3hC,SAAU27E,aAAWpnF,EAASyL,UAC9BgjG,QAASrnB,aAAWpnF,EAASyuG,SAC7BjuE,OAAQ4mD,aAAWpnF,EAASwgC,QAC5B2b,aAAcirC,aAAWpnF,EAASm8C,cAClC95C,KAAM+kF,aAAWpnF,EAASqC,MAC1Bvb,MAAOsgG,aAAWpnF,EAASlZ,OAC3Bwb,QAAS8kF,aAAWpnF,EAASsC,SAC7B45C,WAAYkrC,aAAWpnF,EAASk8C,YAChCj5C,MAAOmkF,aAAWpnF,EAASiD,OAC3BE,MAAOikF,aAAWpnF,EAASmD,OAC3ByhF,QAASwC,aAAWpnF,EAAS4kF,SAC7B20B,UAAWv5G,EAASg5G,kBAAoBh5G,EAASg5G,iBAAiBQ,QAClEt8D,IAAKkqC,aAAWpnF,EAASk9C,KACzBC,IAAKiqC,aAAWpnF,EAASm9C,OAGdw6D,EAAmB,SAAC5uE,GAAqB,MAAmB,CACvEn3C,IAAKw1F,aAAWr+C,EAAWh1B,KAC3B5W,OAAQ,CAAC,CAAEnZ,GAAIojG,aAAWr+C,EAAWh1B,KAAM1W,KAAM0rC,EAAW1rC,OAC5DA,KAAM0rC,EAAW1rC,KACjBmO,UAAW47E,aAAWr+C,EAAWv9B,WACjC4hC,WAAYg6C,aAAWr+C,EAAWqE,YAClC3hC,SAAU27E,aAAWr+C,EAAWt9B,UAChCgjG,QAASrnB,aAAWr+C,EAAW0lE,SAC/BjuE,OAAQ,GACR2b,aAAcirC,aAAWr+C,EAAWoT,cACpC95C,KAAM+kF,aAAWr+C,EAAW1mC,MAC5Bvb,MAAOsgG,aAAWr+C,EAAWjiD,OAC7Bwb,QAAS8kF,aAAWr+C,EAAWzmC,SAC/B45C,WAAYkrC,aAAWr+C,EAAWmT,YAClCj5C,MAAOmkF,aAAWr+C,EAAW9lC,OAC7BE,MAAOikF,aAAWr+C,EAAW5lC,OAC7ByhF,QAASwC,aAAWr+C,EAAW67C,SAC/B20B,UAAW,CAAC,eAAgB,OAAQ,QAAS,UAAW,aAAc,QAAS,QAAS,c,+QC9D7EvtF,EAAyB,eAAAnjC,EAAAC,YAAAC,IAAAC,MAAG,SAAAC,EAAOgkD,GAAoB,OAAAlkD,IAAAI,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,cAAAF,EAAAgiC,OAAA,SAAmB,IAAI5lB,SAAQ,SAAC+wB,EAASyG,GAC3G8P,YAAoBG,GACjBloC,MAAK,SAAC+L,GACLylB,EAAQzlB,MAET5L,OAAM,SAACC,GACN63B,EAAO,IAAI1e,MAAMviB,KAAKC,UAAUmJ,YAEpC,wBAAA/b,EAAAI,UAAAP,OAAA,gBARoCQ,GAAA,OAAAZ,EAAAa,MAAA,KAAA/F,YAAA,GAUzBwxH,EAAc,CACzBxR,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,KAAM,OACNC,KAAM,QAGKjF,EAAmB,SAACh0C,EAAYqB,EAAkBstD,GAC7D,IAAIC,EAAS,GACTx1H,EAAQsB,OAAOslE,GACnB,OAAQqB,GACN,KAAK0mB,IACL,KAAKuS,aAAmBvS,KACtB3uF,EAAQ8jE,KAAKisB,MAAc,IAAR/vF,GAAiB,IACpCw1H,EAAM,GAAA50H,OAAgB,IAAVZ,EAAW,GAAAY,OAAO20H,EAAoB,IAAT,QAAiB,GAAA30H,OAAI20H,EAAmC,GAA3B,GAAA30H,OAAMqwH,EAAYtR,IAAG,MAAQ/+G,OAAG60H,IAAQz1H,GAAOoyH,OAAO,aAActiF,QAAQ,QAAS,KAC3J,MACF,KAAK++C,IACL,KAAKqS,aAAmBrS,KACtB7uF,EAAQ8jE,KAAKisB,MAAc,IAAR/vF,GAAe,IAClCw1H,EAAM,GAAA50H,OAAgB,IAAVZ,EAAW,GAAAY,OAAO20H,EAAoB,IAAT,QAAiB,GAAA30H,OAAI20H,EAAoC,GAA5B,GAAA30H,OAAMqwH,EAAYrR,KAAI,MAAQh/G,OAAG60H,IAAQz1H,GAAOoyH,OAAO,WAAYtiF,QAAQ,MAAO,KACxJ,MACF,KAAKi/C,IACL,KAAKmS,aAAmBnS,KACtB/uF,EAAQ8jE,KAAKisB,MAAM/vF,GACnBw1H,EAAM,GAAA50H,OAAgB,IAAVZ,EAAW,GAAAY,OAAO20H,EAAoB,IAAT,QAAY,GAAA30H,OAAS20H,EAAoC,GAA5B,GAAA30H,OAAMqwH,EAAYpR,KAAI,MAAQj/G,OAAG60H,IAAQz1H,GAAOoyH,OAAO,SAC7H,MACF,KAAKvxB,KACL,KAAKK,aAAmBL,MACtB7gG,EAAQ8jE,KAAKisB,MAAc,IAAR/vF,GAAe,IAClCw1H,EAAM,GAAA50H,OAAgB,IAAVZ,EAAW,GAAAY,OAAO20H,EAAoB,IAAT,QAAiB,GAAA30H,OAAI20H,EAAmC,GAA3B,GAAA30H,OAAMqwH,EAAYxR,IAAG,MAAQ7+G,OAAG60H,IAAQz1H,GAAOoyH,OAAO,WAAYtiF,QAAQ,MAAO,KACvJ,MACF,KAAKgxD,KACL,KAAKI,aAAmBJ,MACtB9gG,EAAQ8jE,KAAKisB,MAAc,IAAR/vF,GAAe,IAClCw1H,EAAM,GAAA50H,OAAgB,IAAVZ,EAAW,GAAAY,OAAO20H,EAAoB,IAAT,QAAiB,GAAA30H,OAAI20H,EAAmC,GAA3B,GAAA30H,OAAMqwH,EAAYvR,IAAG,MAAQ9+G,OAAG60H,IAAQz1H,GAAOoyH,OAAO,WAAYtiF,QAAQ,MAAO,KAK3J,OAAO0lF,GAGIE,EAA0B,SAACztD,GACtC,IAAIutD,EAAS,GACb,OAAQvtD,GACN,KAAK0mB,IACL,KAAKuS,aAAmBvS,KACtB6mC,EAASvE,EAAYtR,IACrB,MACF,KAAK9wB,IACL,KAAKqS,aAAmBrS,KACtB2mC,EAASvE,EAAYrR,KACrB,MACF,KAAK7wB,IACL,KAAKmS,aAAmBnS,KACtBymC,EAASvE,EAAYpR,KACrB,MACF,KAAKhf,KACL,KAAKK,aAAmBL,MACtB20B,EAASvE,EAAYxR,IACrB,MACF,KAAK3e,KACL,KAAKI,aAAmBJ,MACtB00B,EAASvE,EAAYvR,IAKzB,OAAO8V,GAGIrtD,EAAkB,SAACvB,EAAej5C,EAAcC,GAC3D,IAAQmyF,EAAc3pG,IAAOC,WAAWwN,aAAhCk8F,UACR,OAAQn5C,EAAQm5C,EAAUnyF,GAAOmyF,EAAUpyF,K,0JCsC9B2hB,IA7GuB,SAAClvC,GACrC,IAAQga,EAAqBha,EAArBga,SAAUm1B,EAAWnvC,EAAXmvC,OACZtD,EAAOx/B,cACL+vB,EAAaC,cAAbD,SACA3G,EAAaC,cAAbD,SACRmO,EAA+E1jB,aAAY,SAAC1d,GAAK,OAAKA,EAAMib,QAApG/B,EAAQkoB,EAARloB,SAAUqpB,EAAUnB,EAAVmB,WAAYswD,EAAazxD,EAAbyxD,cAAe1oB,EAAiB/oC,EAAjB+oC,kBAAmB9oC,EAAUD,EAAVC,WAC1Dj/B,EAAWqb,cACjB6rB,EAAuBC,cAAhBC,EAAiCtrC,YAAAorC,EAAA,GAArB,GACnBxrC,EAA0BC,mBAAiB,MAAKE,EAAAC,YAAAJ,EAAA,GAAzCusB,EAAKpsB,EAAA,GAAE80H,EAAQ90H,EAAA,GAChBijB,EAAgBC,cAoCtB,GAlCA9iB,qBAAU,WACR,GAAImrC,EAAaE,IAAI,UAA4D,IAAhDF,EAAaE,IAAI,SAAS/F,MAAM,KAAK7mC,OAAc,CAClF,IAAMk2H,EAAe/9G,KAAKqxB,MAAM2sF,EAAOloG,KAAKye,EAAaE,IAAI,SAAS/F,MAAM,KAAK,GAAI,OAAOuvF,SAAS,SACjGF,EAAaviF,QACfruC,EAASsxF,YAAcs/B,OAG1B,CAACxpF,IAEJnrC,qBAAU,WACJ8rE,GAAmB/nE,EAASsrE,YAAqB,SACpD,CAACvD,IAEJ9rE,qBAAU,WACR,KAAI6a,IAAYA,EAASgqB,WACrB7B,KACAmI,EAAaE,IAAI,UAA4D,IAAhDF,EAAaE,IAAI,SAAS/F,MAAM,KAAK7mC,SACjEusC,EAAKtI,iBACN8xD,IAAkB7oB,IAAckC,KAAM,CACxC,IAAIinD,EAAY5wF,EAChB,IAAK4wF,EAAW,CAEZ,IAAMhyF,EAASjhC,OAAOgiC,SAASC,SAC/B,GAAe,mBAAXhB,EAA6B,CAC/B,IAAM3H,EAAM2H,EAAOqc,QAAQ,mBACvBhkB,EAAM,EAAG25F,EAAYhyF,EAAOyG,UAAU,EAAGpO,GACxCu5F,EAAS,wCAIpBppD,YAAYtgC,EAAKpuB,KAAK/d,GAAImsC,EAAKugC,UAAWxnE,EAAUinC,EAAKrI,OAAQmyF,EAAWv5F,EAAShlB,MAAOglB,EAAS/kB,WAEtG,CAACw0B,EAAMnwB,EAAU25E,EAAexxD,EAAYmI,EAAc5P,IAEzDvP,EAAO,OAAO/rB,cAAC2rC,IAAQ,CAACjf,GAAG,WAE/B,IAAKqe,EAAKtI,gBACR,OAAK4L,EAOEruC,cAAA0wB,WAAA,CAAAxX,SAAGA,KALNtX,OAAOgiC,SAAS1tB,KAAO,yBAChBlW,cAACwvC,IAAa,KAO3B,GAAItE,EAAaE,IAAI,UAA4D,IAAhDF,EAAaE,IAAI,SAAS/F,MAAM,KAAK7mC,QAC/CmY,KAAKqxB,MAAM2sF,EAAOloG,KAAKye,EAAaE,IAAI,SAAS/F,MAAM,KAAK,GAAI,OAAOuvF,SAAS,SACpFziF,OAAQ,OAAOnyC,cAAC2rC,IAAQ,CAACjf,GAAG,kBAG/C,GAAI9R,IAAaA,EAASgqB,SAAwB,YAAbjQ,EACnC,OAAO30B,cAAC2rC,IAAQ,CAACjf,GAAG,UAGtB,IAAKqW,GAA2B,kBAAbpO,EACjB,OAAO30B,cAAC2rC,IAAQ,CAACjf,GAAG,UAGtB,GAAIqW,EACF,MAAiB,kBAAbpO,EACK30B,cAAC2rC,IAAQ,CAACjf,GAAG,kBAEf1sB,cAAA0wB,WAAA,CAAAxX,SAAGA,IAGZ,GAAI0B,GAAYA,EAASgqB,SACvB,GAAiB,YAAbjQ,EACF,OAAO30B,cAAC2rC,IAAQ,CAACjf,GAAG,iBAEjB,GAAI6nE,IAAkB7oB,IAAcsB,UACzC,OAAOhtE,cAACwvC,IAAa,IAGvB,OAAIq8B,GACEl3C,IAAak3C,EAA0B7rE,cAAC2rC,IAAQ,CAACjf,GAAIm/C,IAGvDjpD,GAAiBA,EAAciL,SAAW6W,KAC3B,eAAb/P,GAA6BA,EAASxe,WAAW,0BAC5CnW,cAAA0wB,WAAA,CAAAxX,SAAGA,IAELlZ,cAAC2rC,IAAQ,CAACjf,GAAG,eAGlB9J,GAAiBA,EAAciL,SAAWC,MAAiC,eAAb6G,EACzD30B,cAAC2rC,IAAQ,CAACjf,GAAG,UAGf1sB,cAAA0wB,WAAA,CAAAxX,SAAGA,O","file":"static/js/main.5e9324e0.chunk.js","sourcesContent":["// eslint-disable-next-line consistent-return\r\nexport const deepCopy = (obj) => {\r\n if (typeof obj !== 'object' || obj === null || obj === undefined) {\r\n return obj;\r\n }\r\n\r\n if (obj instanceof Date) {\r\n return new Date(obj.getTime());\r\n }\r\n\r\n if (obj instanceof Array) {\r\n return obj.reduce((arr, item, i) => {\r\n arr[i] = deepCopy(item);\r\n return arr;\r\n }, []);\r\n }\r\n\r\n if (obj instanceof Object) {\r\n return Object.keys(obj).reduce((newObj, key) => {\r\n newObj[key] = deepCopy(obj[key]);\r\n return newObj;\r\n }, {});\r\n }\r\n};\r\n\r\nexport const objCopy = (src: Object, dest: Object) => {\r\n if (src === null || dest === null) return;\r\n Object.keys(src).forEach((key) => { dest[key] = src[key]; });\r\n};\r\n\r\nexport const objToArray = (obj: any): [] => {\r\n if (obj === undefined || obj === null) return [];\r\n\r\n if (!Array.isArray(obj)) {\r\n const tmp: any = {};\r\n objCopy(obj, tmp);\r\n obj = [];\r\n obj.push(tmp);\r\n }\r\n\r\n return obj;\r\n};\r\n\r\nexport const itemFromArray = (arr: any[], key: string, value: string): any => arr.find((item) => item[key] === value);\r\n\r\nexport const objFromArray = (arr: any[], key = 'id'): {} => arr.reduce((\r\n accumulator,\r\n current\r\n) => {\r\n accumulator[current[key]] = current;\r\n return accumulator;\r\n}, {});\r\n\r\nexport const objSub = (dest: any, src: any) => {\r\n const { id, title, value, arr, cost } = src;\r\n\r\n if (dest[id] === undefined) dest[id] = {};\r\n if (typeof value === 'number' || typeof value === 'string' || typeof value === 'boolean') {\r\n dest[id].value = value;\r\n dest[id].id = id;\r\n dest[id].title = title;\r\n if (cost !== undefined && cost >= 0) dest[id].cost = cost;\r\n return;\r\n }\r\n\r\n if (arr !== undefined) {\r\n dest[id].value = arr;\r\n dest[id].id = id;\r\n if (cost !== undefined && cost >= 0) dest[id].cost = cost;\r\n return;\r\n }\r\n\r\n if (dest[id].child === undefined) dest[id].child = {};\r\n if (cost !== undefined && cost >= 0) dest[id].cost = cost;\r\n objSub(dest[id].child, value);\r\n};\r\n","import { FC, useEffect, useState } from 'react';\r\nimport { TextField, TextFieldProps } from '@material-ui/core';\r\n\r\ntype NumberFieldProps = TextFieldProps & { onNumChange?: (number) => void; };\r\n\r\nconst NumberField: FC = (props) => {\r\n const { onNumChange, onChange, value, ...others } = props;\r\n const [txt, setTxt] = useState(value === null ? '' : `${value}`);\r\n\r\n useEffect(() => {\r\n setTxt(value === null ? '' : `${value}`);\r\n }, [value]);\r\n\r\n return (\r\n {\r\n if (!Number.isNaN(Number(e.target.value))) setTxt(e.target.value);\r\n if (onNumChange) {\r\n if (e.target.value === '') onNumChange(null);\r\n else if (!Number.isNaN(Number(e.target.value))) onNumChange(Number(e.target.value));\r\n }\r\n if (onChange && !Number.isNaN(Number(e.target.value))) onChange(e);\r\n }}\r\n // value={null2empty(value)}\r\n />\r\n );\r\n};\r\n\r\nexport default NumberField;\r\n","import { createSlice, PayloadAction } from '@reduxjs/toolkit';\r\nimport { AppThunk } from 'src/store';\r\nimport { MicroserviceInfo } from 'src/../../Common/Model/microservice';\r\nimport { SERVICE_REQUEST_STEP_INFOCOLLECT } from 'src/globals';\r\nimport { Request } from 'src/../../Common/Model/request';\r\nimport { Referral } from 'src/../../Common/Model/network';\r\nimport { UserMinInfoWithEntity } from 'src/components/interact/SelectPartners';\r\n\r\nexport interface MicroserviceForReq extends MicroserviceInfo {\r\n periodInfo?: any;\r\n selectedPaymentOption?: string;\r\n selectedPaymentPlatform?: any;\r\n modifications?: any;\r\n reqTitle?: string;\r\n hiMsg?: string;\r\n sid?: string;\r\n count?: number;\r\n answers?: any;\r\n completedQuestionnaire?: boolean;\r\n statistics?: any;\r\n}\r\n\r\ninterface ServiceRequestState {\r\n service: MicroserviceForReq;\r\n bundledServices: MicroserviceForReq[];\r\n step: number;\r\n agreedEngagement: boolean;\r\n request: Request;\r\n postponeId: string;\r\n activeBannerUrl: string;\r\n referrals: Referral[];\r\n selectedReferralId: string;\r\n defaultInvitees: any[];\r\n convId: string;\r\n entityInfo?: any;\r\n}\r\n\r\nconst initialState: ServiceRequestState = {\r\n service: null,\r\n bundledServices: [],\r\n step: SERVICE_REQUEST_STEP_INFOCOLLECT,\r\n agreedEngagement: false,\r\n request: null,\r\n postponeId: null,\r\n activeBannerUrl: null,\r\n referrals: null,\r\n selectedReferralId: null,\r\n defaultInvitees: [],\r\n convId: null,\r\n entityInfo: null\r\n};\r\n\r\nconst slice = createSlice({\r\n name: 'serviceRequest',\r\n initialState,\r\n reducers: {\r\n clearState(state: ServiceRequestState): void {\r\n state.service = null;\r\n state.bundledServices.splice(0, state.bundledServices.length);\r\n state.step = SERVICE_REQUEST_STEP_INFOCOLLECT;\r\n state.agreedEngagement = false;\r\n state.request = null;\r\n state.postponeId = null;\r\n if (state.activeBannerUrl) window.URL.revokeObjectURL(state.activeBannerUrl);\r\n state.activeBannerUrl = null;\r\n state.referrals = null;\r\n state.entityInfo = null;\r\n },\r\n clearServiceRequestState(state: ServiceRequestState): void {\r\n state.service = null;\r\n state.bundledServices.splice(0, state.bundledServices.length);\r\n state.step = SERVICE_REQUEST_STEP_INFOCOLLECT;\r\n state.agreedEngagement = false;\r\n state.request = null;\r\n state.postponeId = null;\r\n if (state.activeBannerUrl) window.URL.revokeObjectURL(state.activeBannerUrl);\r\n state.activeBannerUrl = null;\r\n state.referrals = null;\r\n state.defaultInvitees.splice(0, state.defaultInvitees.length);\r\n state.convId = null;\r\n state.entityInfo = null;\r\n },\r\n setService(state: ServiceRequestState, action: PayloadAction): void {\r\n state.service = action.payload;\r\n },\r\n setBundledServices(state: ServiceRequestState, action: PayloadAction): void {\r\n state.bundledServices = action.payload;\r\n },\r\n updateService(state: ServiceRequestState, action: PayloadAction): void {\r\n state.service = {\r\n ...state.service,\r\n ...action.payload\r\n };\r\n },\r\n updateBundledService(state: ServiceRequestState, action: PayloadAction<{ id: string; sid: string; info: any; }>): void {\r\n const { id, sid, info } = action.payload;\r\n state.bundledServices = state.bundledServices.map((bs) => {\r\n if (bs.id === id && bs.sid === sid) {\r\n return {\r\n ...bs,\r\n ...info\r\n };\r\n }\r\n return bs;\r\n });\r\n },\r\n setStep(state: ServiceRequestState, action: PayloadAction): void {\r\n state.step = action.payload;\r\n },\r\n setAgreeEngagement(state: ServiceRequestState, action: PayloadAction): void {\r\n state.agreedEngagement = action.payload;\r\n },\r\n setRequest(state: ServiceRequestState, action: PayloadAction): void {\r\n state.request = action.payload;\r\n if (action.payload.material?.entityInfo) {\r\n state.entityInfo = action.payload.material?.entityInfo;\r\n }\r\n },\r\n setPostponeId(state: ServiceRequestState, action: PayloadAction): void {\r\n state.postponeId = action.payload;\r\n },\r\n setActiveBannerUrl(state: ServiceRequestState, action: PayloadAction): void {\r\n if (state.activeBannerUrl) window.URL.revokeObjectURL(state.activeBannerUrl);\r\n state.activeBannerUrl = action.payload;\r\n },\r\n setReferrals(state: ServiceRequestState, action: PayloadAction): void {\r\n state.referrals = action.payload;\r\n },\r\n setSelectedReferral(state: ServiceRequestState, action: PayloadAction): void {\r\n state.selectedReferralId = action.payload;\r\n },\r\n setDefaultInvitees(state: ServiceRequestState, action: PayloadAction): void {\r\n state.defaultInvitees = action.payload;\r\n },\r\n setConvIdForProposal(state: ServiceRequestState, action: PayloadAction): void {\r\n state.convId = action.payload;\r\n },\r\n setEntityInfo(state: ServiceRequestState, action: PayloadAction): void {\r\n state.entityInfo = action.payload;\r\n }\r\n }\r\n});\r\n\r\nexport const { reducer } = slice;\r\n\r\nexport const clearServiceRequestState = () : AppThunk => async (dispatch): Promise => {\r\n dispatch(slice.actions.clearServiceRequestState());\r\n};\r\n\r\nexport const clearState = () : AppThunk => async (dispatch): Promise => {\r\n dispatch(slice.actions.clearState());\r\n};\r\n\r\nexport const setService = (service: MicroserviceForReq) : AppThunk => async (dispatch): Promise => {\r\n dispatch(slice.actions.setService(service));\r\n};\r\n\r\nexport const setBundledServices = (services: MicroserviceForReq[]) : AppThunk => async (dispatch): Promise => {\r\n dispatch(slice.actions.setBundledServices(services));\r\n};\r\n\r\nexport const updateService = (info: any) : AppThunk => async (dispatch): Promise => {\r\n dispatch(slice.actions.updateService(info));\r\n};\r\n\r\nexport const updateBundledService = (id: string, sid: string, info: any) : AppThunk => async (dispatch): Promise => {\r\n dispatch(slice.actions.updateBundledService({ id, sid, info }));\r\n};\r\n\r\nexport const setStep = (step: number) : AppThunk => async (dispatch): Promise => {\r\n dispatch(slice.actions.setStep(step));\r\n};\r\n\r\nexport const setAgreeEngagement = (val: boolean) : AppThunk => async (dispatch): Promise => {\r\n dispatch(slice.actions.setAgreeEngagement(val));\r\n};\r\n\r\nexport const setRequest = (request: Request) : AppThunk => async (dispatch): Promise => {\r\n dispatch(slice.actions.setRequest(request));\r\n};\r\n\r\nexport const setPostponeId = (postponeId: string) : AppThunk => async (dispatch): Promise => {\r\n dispatch(slice.actions.setPostponeId(postponeId));\r\n};\r\n\r\nexport const setActiveBannerUrl = (url: string): AppThunk => async (dispatch) => {\r\n dispatch(slice.actions.setActiveBannerUrl(url));\r\n};\r\n\r\nexport const setReferrals = (referrals: Referral[]) : AppThunk => async (dispatch): Promise => {\r\n dispatch(slice.actions.setReferrals(referrals));\r\n};\r\n\r\nexport const setSelectedReferral = (id: string) : AppThunk => async (dispatch): Promise => {\r\n dispatch(slice.actions.setSelectedReferral(id));\r\n};\r\n\r\nexport const setDefaultInvitees = (invitees: UserMinInfoWithEntity[]) : AppThunk => async (dispatch): Promise => {\r\n dispatch(slice.actions.setDefaultInvitees(invitees));\r\n};\r\n\r\nexport const setConvIdForProposal = (convId: string) : AppThunk => async (dispatch): Promise => {\r\n dispatch(slice.actions.setConvIdForProposal(convId));\r\n};\r\n\r\nexport const setEntityInfo = (entityInfo: any) : AppThunk => async (dispatch): Promise => {\r\n dispatch(slice.actions.setEntityInfo(entityInfo));\r\n};\r\n\r\nexport default slice;\r\n","import { createSlice, PayloadAction } from '@reduxjs/toolkit';\r\nimport { AppThunk } from 'src/store';\r\nimport { Contact } from 'src/../../Common/Model/contact';\r\n\r\ninterface ContactState {\r\n contacts: Contact[];\r\n contactsNeedReload: boolean;\r\n connectState: { qbo: string; xero: string; contactAutoMapping: boolean },\r\n connectStateNeedReload: boolean;\r\n syncState: { qbo: boolean; xero: boolean; lodgeit: boolean },\r\n syncStateNeedReload: boolean;\r\n contactToUsers: any[];\r\n curPage: number;\r\n totalCount: number;\r\n}\r\n\r\nconst initialState: ContactState = {\r\n contacts: [],\r\n contactsNeedReload: true,\r\n connectState: { qbo: null, xero: null, contactAutoMapping: false },\r\n connectStateNeedReload: true,\r\n syncState: { qbo: false, xero: false, lodgeit: false },\r\n syncStateNeedReload: true,\r\n contactToUsers: [],\r\n curPage: 1,\r\n totalCount: 0\r\n};\r\n\r\nconst slice = createSlice({\r\n name: 'contact',\r\n initialState,\r\n reducers: {\r\n clearState(state: ContactState) {\r\n state.contacts.splice(0, state.contacts.length);\r\n state.contactsNeedReload = true;\r\n state.connectState = { qbo: null, xero: null, contactAutoMapping: false };\r\n state.connectStateNeedReload = true;\r\n state.syncState = { qbo: false, xero: false, lodgeit: false };\r\n state.syncStateNeedReload = true;\r\n state.contactToUsers.splice(0, state.contactToUsers.length);\r\n },\r\n setContacts(state: ContactState, action: PayloadAction): void {\r\n state.contacts = action.payload as Contact[];\r\n state.contactsNeedReload = false;\r\n },\r\n setCurPage(state: ContactState, action: PayloadAction): void {\r\n state.curPage = action.payload as number;\r\n },\r\n setTotalCount(state: ContactState, action: PayloadAction): void {\r\n state.totalCount = action.payload as number;\r\n },\r\n\r\n setContactsNeedReload(state: ContactState, action: PayloadAction): void {\r\n state.contactsNeedReload = action.payload;\r\n },\r\n addContact(state: ContactState, action: PayloadAction): void {\r\n state.contacts.push(action.payload);\r\n },\r\n updateContact(state: ContactState, action: PayloadAction): void {\r\n const contact = action.payload;\r\n state.contacts = state.contacts.map((cont) => (cont.id === contact.id ? contact : cont));\r\n },\r\n deleteContact(state: ContactState, action: PayloadAction): void {\r\n const contactId = action.payload;\r\n state.contacts = state.contacts.filter((contact) => contact.id !== contactId);\r\n },\r\n setConnectState(state: ContactState, action: PayloadAction): void {\r\n const { connectedQbo, connectedXero, contactAutoMapping } = action.payload;\r\n state.connectState.qbo = connectedQbo;\r\n state.connectState.xero = connectedXero;\r\n state.connectState.contactAutoMapping = contactAutoMapping;\r\n state.connectStateNeedReload = false;\r\n },\r\n setConnectStateNeedReload(state: ContactState, action: PayloadAction): void {\r\n state.connectStateNeedReload = action.payload;\r\n },\r\n setSyncState(state: ContactState, action: PayloadAction): void {\r\n const { syncQbo, syncXero } = action.payload;\r\n state.syncState.qbo = syncQbo;\r\n state.syncState.xero = syncXero;\r\n state.syncStateNeedReload = false;\r\n },\r\n setSyncStateNeedReload(state: ContactState, action: PayloadAction): void {\r\n state.syncStateNeedReload = action.payload;\r\n },\r\n addContactToUsers(state: ContactState, action: PayloadAction): void {\r\n const { contactId, userInfos } = action.payload;\r\n if (state.contactToUsers.filter((data) => data.cid === contactId).length < 1) state.contactToUsers.push({ cid: contactId, userData: userInfos });\r\n }\r\n }\r\n});\r\n\r\nexport const { reducer } = slice;\r\n\r\nexport const clearContactState = (): AppThunk => (dispatch): void => {\r\n dispatch(slice.actions.clearState());\r\n};\r\n\r\nexport const setContacts = (cs: Contact[]) : AppThunk => async (dispatch): Promise => {\r\n dispatch(slice.actions.setContacts(cs));\r\n};\r\n\r\nexport const setCurPage = (cs: number) : AppThunk => async (dispatch): Promise => {\r\n dispatch(slice.actions.setCurPage(cs));\r\n};\r\n\r\nexport const setTotalCount = (cs: number) : AppThunk => async (dispatch): Promise => {\r\n dispatch(slice.actions.setTotalCount(cs));\r\n};\r\n\r\nexport const setContactsNeedReload = (needReload: boolean) : AppThunk => async (dispatch): Promise => {\r\n dispatch(slice.actions.setContactsNeedReload(needReload));\r\n};\r\n\r\nexport const addContact = (c: Contact) : AppThunk => async (dispatch): Promise => {\r\n dispatch(slice.actions.addContact(c));\r\n};\r\n\r\nexport const updateContact = (c: Contact) : AppThunk => async (dispatch): Promise => {\r\n dispatch(slice.actions.updateContact(c));\r\n};\r\n\r\nexport const deleteContact = (contactId: string) : AppThunk => async (dispatch): Promise => {\r\n dispatch(slice.actions.deleteContact(contactId));\r\n};\r\n\r\nexport const setConnectState = (_connectedQbo: string, _connectedXero: string, contactAutoMapping: boolean) : AppThunk => async (dispatch): Promise => {\r\n dispatch(slice.actions.setConnectState({ connectedQbo: _connectedQbo, connectedXero: _connectedXero, contactAutoMapping }));\r\n};\r\n\r\nexport const setSyncState = (_syncQbo: boolean, _syncXero: boolean) : AppThunk => async (dispatch): Promise => {\r\n dispatch(slice.actions.setSyncState({ syncQbo: _syncQbo, syncXero: _syncXero }));\r\n};\r\n\r\nexport const setConnectStateNeedReload = (needReload: boolean) : AppThunk => async (dispatch): Promise => {\r\n dispatch(slice.actions.setConnectStateNeedReload(needReload));\r\n};\r\n\r\nexport const setSyncStateNeedReload = (needReload: boolean) : AppThunk => async (dispatch): Promise => {\r\n dispatch(slice.actions.setSyncStateNeedReload(needReload));\r\n};\r\n\r\nexport const addContactToUsers = (_cId: string, _userData: any) : AppThunk => async (dispatch): Promise => {\r\n dispatch(slice.actions.addContactToUsers({ contactId: _cId, userInfos: _userData }));\r\n};\r\n\r\nexport default slice;\r\n","import { useContext } from 'react';\r\nimport AuthContext from 'src/contexts/AmplifyContext';\r\n\r\nconst useAuth = () => useContext(AuthContext);\r\n\r\nexport default useAuth;\r\n","import { createSlice } from '@reduxjs/toolkit';\r\nimport type { PayloadAction } from '@reduxjs/toolkit';\r\nimport type { AppThunk } from 'src/store';\r\nimport type { Request } from 'src/../../Common/Model/request';\r\nimport { PAY_CREDIT_CARD, PAY_DIRECT_DEBIT } from 'src/globals';\r\nimport { Tag } from 'src/../../Common/Model/tag';\r\nimport { Sign } from 'src/../../Common/Model/sign';\r\n\r\ninterface RequestState {\r\n requests: Request[];\r\n tags: Tag[];\r\n ratedRequests: string[];\r\n signs: Sign[];\r\n needReload: boolean;\r\n}\r\n\r\nconst initialState: RequestState = {\r\n requests: [],\r\n tags: [],\r\n signs: [],\r\n ratedRequests: [],\r\n needReload: true,\r\n};\r\n\r\nconst slice = createSlice({\r\n name: 'request',\r\n initialState,\r\n reducers: {\r\n clearState(state: RequestState) {\r\n state.requests.splice(0, state.requests.length);\r\n state.tags.splice(0, state.tags.length);\r\n state.ratedRequests.splice(0, state.ratedRequests.length);\r\n state.signs.splice(0, state.signs.length);\r\n state.needReload = true;\r\n },\r\n setNeedReload(state: RequestState, action: PayloadAction): void {\r\n state.needReload = action.payload;\r\n },\r\n setRatedRequests(state: RequestState, action: PayloadAction<{ ids: string[]; }>) {\r\n const { ids } = action.payload;\r\n state.ratedRequests = ids;\r\n },\r\n addRatedRequest(state: RequestState, action: PayloadAction<{ id: string; }>) {\r\n const { id } = action.payload;\r\n state.ratedRequests = [...state.ratedRequests, id];\r\n },\r\n setRequests(state: RequestState, action: PayloadAction<{ requests: Request[]; signs: Sign[]; }>) {\r\n const { requests, signs } = action.payload;\r\n state.requests = requests;\r\n state.signs = !signs ? [] : signs; // TODO\r\n state.needReload = false;\r\n },\r\n addRequests(state: RequestState, action: PayloadAction<{ requests: Request[]; }>) {\r\n const { requests } = action.payload;\r\n state.requests.push(...requests);\r\n },\r\n updateRequest(state: RequestState, action: PayloadAction): void {\r\n const { requestId, props } = action.payload;\r\n state.requests.forEach((request) => {\r\n if (request.uid === requestId) {\r\n Object.keys(props).forEach((key) => {\r\n request[key] = props[key];\r\n });\r\n }\r\n });\r\n },\r\n removeChatIdFromRequests(state: RequestState, action: PayloadAction): void {\r\n const requestIds = action.payload;\r\n const now = new Date().toISOString();\r\n state.requests.forEach((request) => {\r\n if (requestIds.includes(request.uid)) {\r\n request.conversation = '';\r\n request.updatedAt = now;\r\n }\r\n });\r\n },\r\n updateRawRequests(state: RequestState, action: PayloadAction): void {\r\n const updateds = action.payload;\r\n updateds.forEach((updated) => {\r\n const request = state.requests.find((item) => item.uid === updated.uid);\r\n if (request) {\r\n Object.keys(updated).forEach((key) => {\r\n if (key !== 'uid') request[key] = updated[key];\r\n });\r\n } else state.requests.push(updated);\r\n });\r\n },\r\n removeRequest(state: RequestState, action: PayloadAction<{ uid: string; }>) {\r\n const { uid } = action.payload;\r\n const index = state.requests.findIndex((item) => item.uid === uid);\r\n state.requests.splice(index, 1);\r\n },\r\n setTags(state: RequestState, action: PayloadAction) {\r\n state.tags = action.payload;\r\n },\r\n updateAutoDebitRequest(state: RequestState, action: PayloadAction): void {\r\n const { uid, checked } = action.payload;\r\n const request = state.requests.find((item) => item.uid === uid);\r\n if (request) {\r\n request.material = {\r\n ...request.material,\r\n payments: {\r\n ...request.material.payments,\r\n paymentMethod: checked ? PAY_DIRECT_DEBIT : PAY_CREDIT_CARD\r\n }\r\n };\r\n }\r\n },\r\n addSignInfo(state: RequestState, action: PayloadAction<{ sign: Sign }>): void {\r\n const { sign } = action.payload;\r\n state.signs.push(sign);\r\n }\r\n }\r\n});\r\n\r\nexport const { reducer } = slice;\r\n\r\nexport const clearRequestState = (): AppThunk => (dispatch): void => {\r\n dispatch(slice.actions.clearState());\r\n};\r\n\r\nexport const setNeedReload = (needReload: boolean) : AppThunk => async (dispatch): Promise => {\r\n dispatch(slice.actions.setNeedReload(needReload));\r\n};\r\n\r\nexport const loadRatedRequests = (ids: string[]): AppThunk => async (dispatch) => {\r\n dispatch(slice.actions.setRatedRequests({ ids }));\r\n};\r\nexport const addRatedRequest = (id: string): AppThunk => async (dispatch) => {\r\n dispatch(slice.actions.addRatedRequest({ id }));\r\n};\r\nexport const loadRequests = (requests: Request[], signs: Sign[]): AppThunk => async (dispatch) => {\r\n dispatch(slice.actions.setRequests({ requests, signs }));\r\n};\r\nexport const addRequests = (requests: Request[]): AppThunk => async (dispatch) => {\r\n dispatch(slice.actions.addRequests({ requests }));\r\n};\r\nexport const updateRequest = (requestId: string, props: any): AppThunk => async (dispatch) => {\r\n dispatch(slice.actions.updateRequest({ requestId, props }));\r\n};\r\nexport const removeChatIdFromRequests = (requestIds: string[]): AppThunk => async (dispatch) => {\r\n dispatch(slice.actions.removeChatIdFromRequests(requestIds));\r\n};\r\nexport const updateRawRequests = (requests: Request[]): AppThunk => async (dispatch) => {\r\n dispatch(slice.actions.updateRawRequests(requests));\r\n};\r\nexport const removeRequest = (uid : string): AppThunk => async (dispatch) => {\r\n dispatch(slice.actions.removeRequest({ uid }));\r\n};\r\nexport const setTags = (tags : Tag[]): AppThunk => async (dispatch) => {\r\n dispatch(slice.actions.setTags(tags));\r\n};\r\nexport const updateAutoDebitRequest = (uid: string, checked: boolean): AppThunk => async (dispatch) => {\r\n dispatch(slice.actions.updateAutoDebitRequest({ uid, checked }));\r\n};\r\nexport const addSignInfo = (sign: Sign): AppThunk => async (dispatch) => {\r\n dispatch(slice.actions.addSignInfo({ sign }));\r\n};\r\n\r\nexport default slice;\r\n","import { createSlice } from '@reduxjs/toolkit';\r\nimport type { PayloadAction } from '@reduxjs/toolkit';\r\nimport type { AppThunk } from 'src/store';\r\nimport type { RFQ, Contract, Proposal, PO, Schedule, Invoice } from 'src/../../Common/Model/procurement';\r\nimport type { Request } from 'src/../../Common/Model/request';\r\n\r\ninterface ProcurementState {\r\n rfqReload: boolean,\r\n RFQs: RFQ[],\r\n fromAssetIds: string[],\r\n contractReload: boolean,\r\n contracts: Contract[],\r\n fromRequest: Request,\r\n fromProposal: Proposal,\r\n poReload: boolean,\r\n POs: PO[],\r\n scheduleReload: boolean,\r\n schedules: Schedule[],\r\n invoiceReload: boolean,\r\n invoices: Invoice[]\r\n}\r\n\r\nconst initialState: ProcurementState = {\r\n rfqReload: true,\r\n RFQs: [],\r\n fromAssetIds: [],\r\n contractReload: true,\r\n contracts: [],\r\n fromRequest: null,\r\n fromProposal: null,\r\n poReload: true,\r\n POs: [],\r\n scheduleReload: true,\r\n schedules: [],\r\n invoiceReload: true,\r\n invoices: []\r\n};\r\n\r\nconst slice = createSlice({\r\n name: 'procurement',\r\n initialState,\r\n reducers: {\r\n clearState(state: ProcurementState) {\r\n state.RFQs.splice(0, state.RFQs.length);\r\n state.rfqReload = true;\r\n state.fromAssetIds.splice(0, state.fromAssetIds.length);\r\n state.contracts.splice(0, state.contracts.length);\r\n state.contractReload = true;\r\n state.fromRequest = null;\r\n state.fromProposal = null;\r\n state.POs.splice(0, state.POs.length);\r\n state.poReload = true;\r\n state.schedules.splice(0, state.schedules.length);\r\n state.scheduleReload = true;\r\n state.invoices.splice(0, state.invoices.length);\r\n state.invoiceReload = true;\r\n },\r\n setRFQs(state: ProcurementState, action: PayloadAction<{ rfqs: RFQ[]; }>) {\r\n const { rfqs } = action.payload;\r\n state.RFQs = [...rfqs];\r\n state.rfqReload = false;\r\n },\r\n addNewRFQ(state: ProcurementState, action: PayloadAction<{ rfq: RFQ }>) {\r\n const { rfq } = action.payload;\r\n state.RFQs = [rfq].concat(state.RFQs);\r\n },\r\n updateRFQ(state: ProcurementState, action: PayloadAction<{ rfq: RFQ; }>) {\r\n const { rfq } = action.payload;\r\n const index = state.RFQs.findIndex((item) => item.id === rfq.id);\r\n if (index > -1) state.RFQs[index] = rfq;\r\n else state.RFQs.push(rfq);\r\n },\r\n removeRFQ(state: ProcurementState, action: PayloadAction<{ id: string; }>) {\r\n const { id } = action.payload;\r\n const index = state.RFQs.findIndex((item) => item.id === id);\r\n state.RFQs.splice(index, 1);\r\n },\r\n setRFQReload(state: ProcurementState, action: PayloadAction<{ needReload: boolean; }>) {\r\n const { needReload } = action.payload;\r\n state.rfqReload = needReload;\r\n },\r\n setFromAssetIds(state: ProcurementState, action: PayloadAction): void {\r\n state.fromAssetIds = action.payload;\r\n },\r\n setContracts(state: ProcurementState, action: PayloadAction<{ contracts: Contract[]; }>) {\r\n const { contracts } = action.payload;\r\n state.contracts = [...contracts];\r\n state.contractReload = false;\r\n },\r\n addNewContract(state: ProcurementState, action: PayloadAction<{ contract: Contract; }>) {\r\n const { contract } = action.payload;\r\n state.contracts = [contract].concat(state.contracts);\r\n },\r\n updateContract(state: ProcurementState, action: PayloadAction<{ contract: Contract; }>) {\r\n const { contract } = action.payload;\r\n const index = state.contracts.findIndex((item) => item.id === contract.id);\r\n if (index > -1) state.contracts[index] = contract;\r\n else state.contracts.push(contract);\r\n },\r\n removeContract(state: ProcurementState, action: PayloadAction<{ id: string; }>) {\r\n const { id } = action.payload;\r\n const index = state.contracts.findIndex((item) => item.id === id);\r\n state.contracts.splice(index, 1);\r\n },\r\n setContractReload(state: ProcurementState, action: PayloadAction<{ needReload: boolean; }>) {\r\n const { needReload } = action.payload;\r\n state.contractReload = needReload;\r\n },\r\n updateAutoDebitContract(state: ProcurementState, action: PayloadAction): void {\r\n const { id, checked } = action.payload;\r\n const contract = state.contracts.find((item) => item.id === id);\r\n if (contract) {\r\n contract.itemBriefs = {\r\n ...contract.itemBriefs,\r\n payments: {\r\n ...contract.itemBriefs.payments,\r\n paymentMethod: checked ? 2 : 1\r\n }\r\n };\r\n contract.payment = contract.payment.map((paymentContract) => ({\r\n ...paymentContract,\r\n paymentMethod: checked ? 2 : 1\r\n }));\r\n }\r\n },\r\n setFromRequest(state: ProcurementState, action: PayloadAction): void {\r\n state.fromRequest = action.payload;\r\n },\r\n setFromProposal(state: ProcurementState, action: PayloadAction): void {\r\n state.fromProposal = action.payload;\r\n },\r\n setPOs(state: ProcurementState, action: PayloadAction<{ pos: PO[]; }>) {\r\n const { pos } = action.payload;\r\n state.POs = [...pos];\r\n state.poReload = false;\r\n },\r\n addNewPO(state: ProcurementState, action: PayloadAction<{ po: PO }>) {\r\n const { po } = action.payload;\r\n state.POs = [po].concat(state.POs);\r\n },\r\n updatePO(state: ProcurementState, action: PayloadAction<{ po: PO; }>) {\r\n const { po } = action.payload;\r\n const index = state.POs.findIndex((item) => item.id === po.id);\r\n if (index > -1) state.POs[index] = po;\r\n else state.POs.push(po);\r\n },\r\n removePO(state: ProcurementState, action: PayloadAction<{ id: string; }>) {\r\n const { id } = action.payload;\r\n const index = state.POs.findIndex((item) => item.id === id);\r\n state.POs.splice(index, 1);\r\n },\r\n setPOReload(state: ProcurementState, action: PayloadAction<{ needReload: boolean; }>) {\r\n const { needReload } = action.payload;\r\n state.poReload = needReload;\r\n },\r\n setSchedules(state: ProcurementState, action: PayloadAction<{ schedules: Schedule[]; }>) {\r\n const { schedules } = action.payload;\r\n state.schedules = [...schedules];\r\n state.scheduleReload = false;\r\n },\r\n addNewSchedules(state: ProcurementState, action: PayloadAction<{ schedules: Schedule[] }>) {\r\n const { schedules } = action.payload;\r\n state.schedules = schedules.concat(state.schedules);\r\n },\r\n updateSchedules(state: ProcurementState, action: PayloadAction) {\r\n const updateds = action.payload;\r\n updateds.forEach((updated) => {\r\n const schedule = state.schedules.find((item) => item.id === updated.id);\r\n if (schedule) {\r\n Object.keys(updated).forEach((key) => {\r\n if (key !== 'id') schedule[key] = updated[key];\r\n });\r\n } else state.schedules.push(updated);\r\n });\r\n },\r\n removeSchedules(state: ProcurementState, action: PayloadAction) {\r\n const ids = action.payload;\r\n state.schedules = state.schedules.filter((item) => !ids.includes(item.id));\r\n },\r\n setScheduleReload(state: ProcurementState, action: PayloadAction<{ needReload: boolean; }>) {\r\n const { needReload } = action.payload;\r\n state.scheduleReload = needReload;\r\n },\r\n updateAutoDebitSchedules(state: ProcurementState, action: PayloadAction): void {\r\n const { ids, checked } = action.payload;\r\n state.schedules.forEach((schedule) => {\r\n if (ids.includes(schedule.id)) {\r\n schedule.material = {\r\n ...schedule.material,\r\n paymentMethod: checked ? 2 : 1\r\n };\r\n }\r\n });\r\n },\r\n setInvoices(state: ProcurementState, action: PayloadAction<{ invoices: Invoice[]; }>) {\r\n const { invoices } = action.payload;\r\n state.invoices = [...invoices];\r\n state.invoiceReload = false;\r\n },\r\n addNewInvoice(state: ProcurementState, action: PayloadAction<{ invoice: Invoice }>) {\r\n const { invoice } = action.payload;\r\n state.invoices = [invoice].concat(state.invoices);\r\n },\r\n updateInvoice(state: ProcurementState, action: PayloadAction<{ invoice: Invoice }>) {\r\n const { invoice } = action.payload;\r\n const index = state.invoices.findIndex((item) => item.id === invoice.id);\r\n if (index > -1) state.invoices[index] = invoice;\r\n else state.invoices.push(invoice);\r\n },\r\n updateInvoices(state: ProcurementState, action: PayloadAction) {\r\n const updateds = action.payload;\r\n updateds.forEach((updated) => {\r\n const invoice = state.invoices.find((item) => item.id === updated.id);\r\n if (invoice) {\r\n Object.keys(updated).forEach((key) => {\r\n if (key !== 'id') invoice[key] = updated[key];\r\n });\r\n } else state.invoices.push(updated);\r\n });\r\n },\r\n removeInvoice(state: ProcurementState, action: PayloadAction<{ id: string; }>) {\r\n const { id } = action.payload;\r\n const index = state.invoices.findIndex((item) => item.id === id);\r\n state.invoices.splice(index, 1);\r\n },\r\n setInvoiceReload(state: ProcurementState, action: PayloadAction<{ needReload: boolean; }>) {\r\n const { needReload } = action.payload;\r\n state.invoiceReload = needReload;\r\n },\r\n updateAutoDebitInvoices(state: ProcurementState, action: PayloadAction): void {\r\n const { ids, checked } = action.payload;\r\n state.invoices.forEach((invoice) => {\r\n if (ids.includes(invoice.id)) {\r\n invoice.material = {\r\n ...invoice.material,\r\n paymentMethod: checked ? 2 : 1\r\n };\r\n }\r\n });\r\n }\r\n }\r\n});\r\n\r\nexport const { reducer } = slice;\r\n\r\nexport const clearProcurementState = (): AppThunk => async (dispatch) => {\r\n dispatch(slice.actions.clearState());\r\n};\r\n\r\nexport const setRFQReload = (value: boolean): AppThunk => async (dispatch) => {\r\n const needReload = value;\r\n dispatch(slice.actions.setRFQReload({ needReload }));\r\n};\r\nexport const loadRFQs = (rfqs: RFQ[]): AppThunk => async (dispatch) => {\r\n rfqs.sort((b, a) => a.createdAt && a.createdAt.localeCompare(b.createdAt));\r\n dispatch(slice.actions.setRFQs({ rfqs }));\r\n};\r\nexport const addNewRFQ = (rfq: RFQ): AppThunk => async (dispatch) => {\r\n dispatch(slice.actions.addNewRFQ({ rfq }));\r\n};\r\nexport const removeRFQ = (id : string): AppThunk => async (dispatch) => {\r\n dispatch(slice.actions.removeRFQ({ id }));\r\n};\r\nexport const updateRFQ = (rfq : RFQ): AppThunk => async (dispatch) => {\r\n dispatch(slice.actions.updateRFQ({ rfq }));\r\n};\r\nexport const setFromAssetIds = (assetIds: string[]): AppThunk => (dispatch): void => {\r\n dispatch(slice.actions.setFromAssetIds(assetIds));\r\n};\r\n\r\nexport const loadContracts = (contracts: Contract[]): AppThunk => async (dispatch) => {\r\n contracts.sort((b, a) => a.customerSignedAt && (a.customerSignedAt as string).localeCompare(b.customerSignedAt as string));\r\n contracts.sort((b, a) => a.supplierSignedAt && (a.supplierSignedAt as string).localeCompare(b.supplierSignedAt as string));\r\n contracts.sort((b, a) => a.createdAt && a.createdAt.localeCompare(b.createdAt));\r\n dispatch(slice.actions.setContracts({ contracts }));\r\n};\r\nexport const addNewContract = (contract: Contract): AppThunk => async (dispatch) => {\r\n dispatch(slice.actions.addNewContract({ contract }));\r\n};\r\nexport const removeContract = (id : string): AppThunk => async (dispatch) => {\r\n dispatch(slice.actions.removeContract({ id }));\r\n};\r\nexport const updateContract = (contract : Contract): AppThunk => async (dispatch) => {\r\n dispatch(slice.actions.updateContract({ contract }));\r\n};\r\nexport const setContractReload = (value:boolean): AppThunk => async (dispatch) => {\r\n const needReload = value;\r\n dispatch(slice.actions.setContractReload({ needReload }));\r\n};\r\nexport const updateAutoDebitContract = (id: string, checked: boolean): AppThunk => async (dispatch) => {\r\n dispatch(slice.actions.updateAutoDebitContract({ id, checked }));\r\n};\r\nexport const setFromRequest = (request: Request): AppThunk => (dispatch): void => {\r\n dispatch(slice.actions.setFromRequest(request));\r\n};\r\nexport const setFromProposal = (proposal: Proposal): AppThunk => (dispatch): void => {\r\n dispatch(slice.actions.setFromProposal(proposal));\r\n};\r\n\r\nexport const loadPOs = (pos: PO[]): AppThunk => async (dispatch) => {\r\n dispatch(slice.actions.setPOs({ pos }));\r\n};\r\nexport const addNewPO = (po: PO): AppThunk => async (dispatch) => {\r\n dispatch(slice.actions.addNewPO({ po }));\r\n};\r\nexport const removePO = (id : string): AppThunk => async (dispatch) => {\r\n dispatch(slice.actions.removePO({ id }));\r\n};\r\nexport const updatePO = (po : PO): AppThunk => async (dispatch) => {\r\n dispatch(slice.actions.updatePO({ po }));\r\n};\r\nexport const setPOReload = (value:boolean): AppThunk => async (dispatch) => {\r\n const needReload = value;\r\n dispatch(slice.actions.setPOReload({ needReload }));\r\n};\r\n\r\nexport const loadSchedules = (schedules: Schedule[]): AppThunk => async (dispatch) => {\r\n dispatch(slice.actions.setSchedules({ schedules }));\r\n};\r\nexport const addNewSchedules = (schedules: Schedule[]): AppThunk => async (dispatch) => {\r\n dispatch(slice.actions.addNewSchedules({ schedules }));\r\n};\r\nexport const removeSchedules = (ids : string[]): AppThunk => async (dispatch) => {\r\n dispatch(slice.actions.removeSchedules(ids));\r\n};\r\nexport const updateSchedules = (updateds: any[]): AppThunk => async (dispatch) => {\r\n dispatch(slice.actions.updateSchedules(updateds));\r\n};\r\nexport const setScheduleReload = (value: boolean): AppThunk => async (dispatch) => {\r\n const needReload = value;\r\n dispatch(slice.actions.setScheduleReload({ needReload }));\r\n};\r\nexport const updateAutoDebitSchedules = (ids: string[], checked: boolean): AppThunk => async (dispatch) => {\r\n dispatch(slice.actions.updateAutoDebitSchedules({ ids, checked }));\r\n};\r\n\r\nexport const loadInvoices = (invoices): AppThunk => async (dispatch) => {\r\n dispatch(slice.actions.setInvoices({ invoices }));\r\n};\r\nexport const addNewInvoice = (invoice: Invoice): AppThunk => async (dispatch) => {\r\n dispatch(slice.actions.addNewInvoice({ invoice }));\r\n};\r\nexport const removeInvoice = (id : string): AppThunk => async (dispatch) => {\r\n dispatch(slice.actions.removeInvoice({ id }));\r\n};\r\nexport const updateInvoice = (invoice : Invoice): AppThunk => async (dispatch) => {\r\n dispatch(slice.actions.updateInvoice({ invoice }));\r\n};\r\nexport const updateInvoices = (updateds: any[]): AppThunk => async (dispatch) => {\r\n dispatch(slice.actions.updateInvoices(updateds));\r\n};\r\nexport const setInvoiceReload = (value: boolean): AppThunk => async (dispatch) => {\r\n const needReload = value;\r\n dispatch(slice.actions.setInvoiceReload({ needReload }));\r\n};\r\nexport const updateAutoDebitInvoices = (ids: string[], checked: boolean): AppThunk => async (dispatch) => {\r\n dispatch(slice.actions.updateAutoDebitInvoices({ ids, checked }));\r\n};\r\n\r\nexport default slice;\r\n","import { createSlice } from '@reduxjs/toolkit';\r\nimport type { PayloadAction } from '@reduxjs/toolkit';\r\nimport type { AppThunk } from 'src/store';\r\nimport type { Apprising } from 'src/../../Common/Model/apprising';\r\nimport type { ApprisingDetail } from 'src/../../Common/Model/common';\r\nimport gstore from 'src/store';\r\nimport { lambdaRemoveApprising, lambdaGetApprising } from 'src/aws/lambdaDispatch';\r\nimport { getPossibleHrefs } from 'src/utils/filterUrlsByRole';\r\n\r\ninterface ApprisingsState {\r\n apprisings: Apprising[];\r\n prevTeamId: string;\r\n isLoading: boolean;\r\n details: ApprisingDetail[];\r\n}\r\n\r\nconst initialState: ApprisingsState = {\r\n apprisings: [],\r\n prevTeamId: '',\r\n isLoading: false,\r\n details: []\r\n};\r\n\r\nconst slice = createSlice({\r\n name: 'apprising',\r\n initialState,\r\n reducers: {\r\n clearState(state: ApprisingsState) {\r\n state.apprisings.splice(0, state.apprisings.length);\r\n state.prevTeamId = '';\r\n state.isLoading = false;\r\n state.details.splice(0, state.details.length);\r\n },\r\n setApprisings(state: ApprisingsState, action: PayloadAction<{ apprisings: Apprising[]; }>) {\r\n state.apprisings = action.payload.apprisings;\r\n state.prevTeamId = '';\r\n },\r\n addApprisings(state: ApprisingsState, action: PayloadAction<{ apprisings: Apprising[]; }>) {\r\n state.apprisings = action.payload.apprisings.concat(state.apprisings);\r\n },\r\n addTeamApprisings(state: ApprisingsState, action: PayloadAction<{ apprisings: Apprising[]; activeTeamId: string; }>) {\r\n const { activeTeamId, apprisings } = action.payload;\r\n const orgApprs = state.apprisings.filter((appr) => appr.receiverId !== state.prevTeamId);\r\n state.apprisings = apprisings.concat(orgApprs);\r\n state.prevTeamId = activeTeamId;\r\n },\r\n removeApprising(state: ApprisingsState, action: PayloadAction<{ id: string; }>) {\r\n const { id } = action.payload;\r\n const index = state.apprisings.findIndex((item) => item.id === id);\r\n state.apprisings.splice(index, 1);\r\n },\r\n removeApprisings(state: ApprisingsState, action: PayloadAction<{ ids: string[] }>) {\r\n const { ids } = action.payload;\r\n state.apprisings = state.apprisings.filter((appr) => !ids.includes(appr.id));\r\n },\r\n setState(state: ApprisingsState, action: PayloadAction) {\r\n state.isLoading = action.payload;\r\n },\r\n setDetails(state: ApprisingsState, action: PayloadAction) {\r\n state.details = action.payload;\r\n },\r\n assignApprisings(state: ApprisingsState, action: PayloadAction<{ itemId: string; removedIds: string[]; newApprs: Apprising[]; }>) {\r\n const { itemId, removedIds, newApprs } = action.payload;\r\n state.apprisings = [\r\n ...state.apprisings.filter((appr) => !(appr.itemId === itemId && removedIds.includes(appr.receiverId))),\r\n ...newApprs\r\n ];\r\n }\r\n }\r\n});\r\n\r\nexport const { reducer } = slice;\r\n\r\nexport const clearApprisingState = (): AppThunk => (dispatch): void => {\r\n dispatch(slice.actions.clearState());\r\n};\r\n\r\nexport const setApprisings = (apprisings: Apprising[]): AppThunk => async (dispatch) => {\r\n dispatch(slice.actions.setApprisings({ apprisings }));\r\n};\r\n\r\nexport const addApprisings = (apprisings: Apprising[]): AppThunk => async (dispatch) => {\r\n dispatch(slice.actions.addApprisings({ apprisings }));\r\n};\r\n\r\nexport const addTeamApprisings = (apprisings: Apprising[], activeTeamId: string): AppThunk => async (dispatch) => {\r\n dispatch(slice.actions.addTeamApprisings({ apprisings, activeTeamId }));\r\n};\r\n\r\nexport const removeApprising = (id: string): AppThunk => async (dispatch) => {\r\n dispatch(slice.actions.removeApprising({ id }));\r\n};\r\n\r\nexport const removeApprisings = (ids: string[]): AppThunk => async (dispatch) => {\r\n dispatch(slice.actions.removeApprisings({ ids }));\r\n};\r\n\r\nexport const setState = (state: boolean): AppThunk => async (dispatch) => {\r\n dispatch(slice.actions.setState(state));\r\n};\r\n\r\nexport const setDetails = (details: ApprisingDetail[]): AppThunk => async (dispatch) => {\r\n dispatch(slice.actions.setDetails(details));\r\n};\r\n\r\nexport const assignApprisings = (itemId: string, removedIds: string[], newApprs: Apprising[]): AppThunk => async (dispatch) => {\r\n dispatch(slice.actions.assignApprisings({ itemId, removedIds, newApprs }));\r\n};\r\n\r\nexport const sawApprising = (filterFunc: (appr: Apprising) => boolean): Apprising[] => {\r\n const { apprisings } = gstore.getState().apprising;\r\n const sawApprs = apprisings.filter(filterFunc);\r\n const sawApprIds = sawApprs.map((appr) => appr.id);\r\n if (sawApprIds.length > 0) {\r\n gstore.dispatch(removeApprisings(sawApprIds));\r\n lambdaRemoveApprising(sawApprIds);\r\n }\r\n return sawApprs;\r\n};\r\n\r\nconst loadOrgApprising = async (curOrgId: string, set: boolean = false) => {\r\n if (curOrgId) {\r\n const apprs = await lambdaGetApprising(curOrgId);\r\n const hrefs = getPossibleHrefs();\r\n const filteredApprs = apprs.filter((appr) => hrefs.some((href) => appr.href.startsWith(href)) || appr.href === '/management/file/share');\r\n if (set) gstore.dispatch(setApprisings(filteredApprs));\r\n else gstore.dispatch(addApprisings(filteredApprs));\r\n }\r\n};\r\n\r\nconst loadTeamApprising = async (activeTeamId: string) => {\r\n if (activeTeamId) {\r\n const apprs = await lambdaGetApprising(activeTeamId);\r\n const hrefs = getPossibleHrefs();\r\n gstore.dispatch(addTeamApprisings(apprs.filter((appr) => hrefs.some((href) => appr.href.startsWith(href))), activeTeamId));\r\n }\r\n};\r\n\r\nexport const loadApprising = async (orgId: string, teamId: string) => {\r\n try {\r\n gstore.dispatch(setState(true));\r\n await loadOrgApprising(orgId, true);\r\n await loadTeamApprising(teamId);\r\n } catch (err) {\r\n console.log(JSON.stringify(err));\r\n } finally {\r\n gstore.dispatch(setState(false));\r\n }\r\n};\r\n\r\nexport default slice;\r\n","import {\r\n Avatar,\r\n Box,\r\n Button,\r\n CircularProgress,\r\n Dialog,\r\n Divider,\r\n FormHelperText,\r\n IconButton,\r\n InputAdornment,\r\n ListItem,\r\n ListItemAvatar,\r\n ListItemText,\r\n Popover,\r\n Tab,\r\n Tabs,\r\n Typography,\r\n TextField\r\n} from '@material-ui/core';\r\nimport { Formik } from 'formik';\r\nimport PropTypes from 'prop-types';\r\nimport type { FC } from 'react';\r\nimport { ChangeEvent, forwardRef, useCallback, useEffect, useState, useRef } from 'react';\r\nimport toast from 'react-hot-toast';\r\nimport useMounted from 'src/hooks/useMounted';\r\nimport { useDispatch, useSelector } from 'src/store';\r\nimport SearchIcon from 'src/icons/Search';\r\nimport Loader from 'react-loader-spinner';\r\nimport 'react-loader-spinner/dist/loader/css/react-spinner-loader.css';\r\nimport { lambdaSearchUserWithFriend, lambdaSearchUserByField, lambdaSearchOrganizationByField, lambdaSendRawFeedback } from 'src/aws/lambdaDispatch';\r\nimport type { User } from 'src/../../Common/Model/user';\r\nimport type { Organization, OrgMemberForOrg, OrgTeam } from 'src/../../Common/Model/organization';\r\nimport type { Contact } from 'src/../../Common/Model/contact';\r\nimport type { UserMinInfo } from 'src/../../Common/Model/common';\r\nimport {\r\n applyFilters as filterContacts,\r\n getSimpleContactAddress,\r\n getEmailAddress,\r\n getAnyPhoneNumber\r\n} from 'src/utils/contactUtils';\r\nimport {\r\n ACCZIOM_USER,\r\n ACCZIOM_ORG,\r\n convertTextToHtml,\r\n getInviteEmailBody,\r\n getInviteEmailSubject,\r\n INVITE_ITEM_HEIGHT,\r\n isValidEmail,\r\n linkifyText,\r\n LEAVE_WINDOW_TITLE,\r\n LEAVE_WINDOW_CONTENT,\r\n TAB_LABEL_ACCZIOM_USERS,\r\n TAB_LABEL_MY_CONTACTS,\r\n TAB_LABEL_ORG_CLIENTS,\r\n TAB_LABEL_ORG_MEMBERS,\r\n TAB_VALUE_ACCZIOM_USERS,\r\n TAB_VALUE_MY_CONTACTS,\r\n TAB_VALUE_ORG_CLIENTS,\r\n TAB_VALUE_ORG_MEMBERS,\r\n ACCZIOM_CLIENT,\r\n ACCZIOM_MEMBER,\r\n NO_TITLE_FIRSTMSG,\r\n BOTH_TITLE_FIRSTMSG,\r\n STATUS_ACTIVATED,\r\n ACCZIOM_TEAM,\r\n ONLY_TITLE,\r\n ONLY_FIRSTMSG,\r\n ACCZIOM_CLIENT_ORG,\r\n TAB_VALUE_PARTNERS,\r\n TAB_LABEL_PARTNERS,\r\n TAB_LABEL_ORG_SUPPLIERS,\r\n TAB_VALUE_ORG_SUPPLIERS,\r\n CHAT_MEMBER_MODE,\r\n ACCZIOM_SUPPLIER,\r\n tenary,\r\n ACCZIOM_NONE\r\n} from 'src/globals';\r\nimport Scrollbar from 'src/components/layout/Scrollbar';\r\nimport { FixedSizeList as List } from 'react-window';\r\nimport AutoSizer from 'react-virtualized-auto-sizer';\r\nimport memoize from 'memoize-one';\r\nimport SendRoundedIcon from '@material-ui/icons/SendRounded';\r\nimport UserAddIcon from 'src/icons/UserAdd';\r\nimport HighlightOffIcon from '@material-ui/icons/HighlightOff';\r\nimport LocationOnIcon from '@mui/icons-material/LocationOn';\r\nimport PhoneIcon from '@mui/icons-material/Phone';\r\nimport EmailIcon from '@mui/icons-material/Email';\r\nimport Close from '@mui/icons-material/Close';\r\nimport { useNavigate } from 'react-router-dom';\r\nimport DblButtonMessage from 'src/components/dialog/DblButtonMessage';\r\nimport { getCountry } from 'src/utils/countries';\r\nimport { addContactToUsers } from 'src/slices/contact';\r\nimport getInitials, { getInitialBackground } from 'src/utils/getInitials';\r\nimport getUserDisplayName, { getContactDisplayName } from 'src/utils/getUserDisplayName';\r\nimport PeopleAltIcon from '@mui/icons-material/PeopleAlt';\r\nimport AttributionIcon from '@mui/icons-material/Attribution';\r\nimport { UserAvatar } from 'src/components/SmallUserInfo';\r\nimport { orgToMiniUser, userToMiniUser } from 'src/utils/getUserMinInfo';\r\nimport { getActiveMinInfo, getActiveOrgInfo, getUserMinInfoByID } from 'src/utils/getActiveOrgInfo';\r\n\r\ninterface OrgMemberInfo extends UserMinInfo {\r\n member: OrgMemberForOrg;\r\n teams: OrgTeam[];\r\n}\r\n\r\ninterface InviteDialogProps {\r\n open: boolean;\r\n isTitled: number;\r\n invitingTitle?: string;\r\n setInvitingTitle?: (title: string) => void;\r\n firstMsg?: string;\r\n setFirstMsg?: (msg: string) => void;\r\n showTabs: string[];\r\n showUser?: number;\r\n showRange?: number;\r\n maxInvitees?: number;\r\n invitees: UserMinInfo[];\r\n hideUserIds: string[];\r\n loadingCompleted?: boolean;\r\n addInvitee: (candidate: UserMinInfo) => void;\r\n removeInvitee: (candidateId: string) => void;\r\n toSubmit: () => void;\r\n toClose: () => void;\r\n}\r\n\r\ninterface RenderRowProps {\r\n index: number;\r\n data: any;\r\n}\r\n\r\nconst tabs = [\r\n { label: TAB_LABEL_ACCZIOM_USERS, value: TAB_VALUE_ACCZIOM_USERS },\r\n { label: TAB_LABEL_MY_CONTACTS, value: TAB_VALUE_MY_CONTACTS },\r\n { label: TAB_LABEL_PARTNERS, value: TAB_VALUE_PARTNERS },\r\n { label: TAB_LABEL_ORG_CLIENTS, value: TAB_VALUE_ORG_CLIENTS },\r\n { label: TAB_LABEL_ORG_SUPPLIERS, value: TAB_VALUE_ORG_SUPPLIERS },\r\n { label: TAB_LABEL_ORG_MEMBERS, value: TAB_VALUE_ORG_MEMBERS }\r\n];\r\n\r\nexport const getRealInviteeInfo = (invitee: UserMinInfo): any => {\r\n if (invitee.allIds?.length > 0) return invitee.allIds.at(invitee.allIds.length - 1);\r\n return { id: '', type: ACCZIOM_NONE };\r\n};\r\n\r\nexport const getRealInviteeId = (invitee: UserMinInfo): string => (getRealInviteeInfo(invitee).id);\r\nexport const getRealInviteeType = (invitee: UserMinInfo): number => (getRealInviteeInfo(invitee).type);\r\n\r\nconst getStrInviteeType = (type: number): string => {\r\n let retType = '';\r\n if (type === ACCZIOM_USER) retType = 'INDIVIDUAL';\r\n if (type === ACCZIOM_ORG) retType = 'BUSINESS';\r\n if (type === ACCZIOM_TEAM) retType = 'TEAM';\r\n if (type === ACCZIOM_MEMBER) retType = 'MEMBER';\r\n if (type === ACCZIOM_CLIENT || type === ACCZIOM_CLIENT_ORG) retType = 'CLIENT';\r\n if (type === ACCZIOM_SUPPLIER) retType = 'SUPPLIER';\r\n return retType;\r\n};\r\n\r\nconst ChatScrollbar = ({ forwardedRef, ...other }) => {\r\n const { style, children } = other;\r\n const refSetter = useCallback(\r\n (scrollbarsRef) => {\r\n if (scrollbarsRef) {\r\n forwardedRef(scrollbarsRef.view);\r\n } else {\r\n forwardedRef(null);\r\n }\r\n },\r\n [forwardedRef]\r\n );\r\n\r\n return (\r\n \r\n {children}\r\n \r\n );\r\n};\r\n\r\nChatScrollbar.propTypes = {\r\n forwardedRef: PropTypes.any\r\n};\r\n\r\nconst ChatScrollbarVirtualList = forwardRef((props, ref) => (\r\n \r\n));\r\n\r\nfunction RenderInviteeRow(props: RenderRowProps): JSX.Element {\r\n const { data, index } = props;\r\n const { handleRemoveRecipient, recipients } = data;\r\n const invitee = recipients[index];\r\n\r\n const handleRemoveClick = () => {\r\n handleRemoveRecipient(invitee.uid);\r\n };\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n}\r\n\r\nfunction RenderSearchUserRow(props: RenderRowProps): JSX.Element {\r\n const { data, index } = props;\r\n const { handleAddRecipient, filteredSearchUsers } = data;\r\n const user = filteredSearchUsers[index] as UserMinInfo;\r\n\r\n return (\r\n handleAddRecipient({ ...user, allIds: [{ id: user.uid, type: user.type }] })}\r\n sx={{\r\n px: 2\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {\r\n user.city?.length + user.country?.length > 0 ? (\r\n \r\n {\r\n user.city?.length > 0 && (\r\n 0 ? `${user.city},` : user.city}\r\n secondaryTypographyProps={{\r\n color: 'textSecondary',\r\n noWrap: true,\r\n variant: 'body2'\r\n }}\r\n />\r\n )\r\n }\r\n {\r\n user.country?.length > 0 && (\r\n 0 ? 0.5 : 0\r\n }}\r\n />\r\n )\r\n }\r\n \r\n ) : (\r\n \r\n )\r\n }\r\n \r\n \r\n \r\n );\r\n}\r\n\r\nfunction RenderSearchContactRow(props: RenderRowProps): JSX.Element {\r\n const { data, index } = props;\r\n const { handleAddRecipient, handleSendInvitation, filteredSearchContacts, userName } = data;\r\n const contact = filteredSearchContacts[index];\r\n const displayName = getContactDisplayName(contact);\r\n const address = getSimpleContactAddress(contact);\r\n const phone = getAnyPhoneNumber(contact);\r\n const email = getEmailAddress(contact);\r\n const [isLoading, setIsLoading] = useState(true);\r\n const [contactUsers, setContactUsers] = useState([]);\r\n const [editInvitation, setEditInvitation] = useState(false);\r\n const [msgBody, setMsgBody] = useState(getInviteEmailBody(displayName, userName));\r\n const mounted = useMounted();\r\n const anchorRef = useRef(null);\r\n const dispatch = useDispatch();\r\n const { contactToUsers } = useSelector((state) => state.contact);\r\n\r\n const getUsersFromContact = async () => {\r\n const contactData = contactToUsers.find((contactInfo) => contactInfo.cid === contact.id);\r\n if (contactData) {\r\n setContactUsers(contactData.userData as UserMinInfo[]);\r\n setIsLoading(false);\r\n } else {\r\n const contactEmail = getEmailAddress(contact);\r\n if (contactEmail.length > 0) {\r\n try {\r\n const promises = [];\r\n const userData = [];\r\n promises.push(lambdaSearchUserByField(contactEmail, 'email')\r\n .then((users: User[]) => {\r\n users.forEach((user) => userData.push(userToMiniUser(user)));\r\n })\r\n .catch((err) => {\r\n console.log(JSON.stringify(err));\r\n }));\r\n promises.push(lambdaSearchOrganizationByField(contactEmail, 'email')\r\n .then((organizations: Organization[]) => {\r\n organizations.forEach((org) => userData.push(orgToMiniUser(org)));\r\n })\r\n .catch((err) => {\r\n console.log(JSON.stringify(err));\r\n }));\r\n await Promise.all(promises);\r\n if (mounted.current) setContactUsers(userData);\r\n dispatch(addContactToUsers(contact.id, userData));\r\n } catch (err) {\r\n if (mounted.current) setContactUsers([]);\r\n console.log(JSON.stringify(err));\r\n } finally {\r\n if (mounted.current) setIsLoading(false);\r\n }\r\n } else {\r\n setContactUsers([]);\r\n setIsLoading(false);\r\n }\r\n }\r\n };\r\n\r\n useEffect(() => {\r\n getUsersFromContact();\r\n }, [mounted]);\r\n\r\n const handleClick = (): void => contactUsers.forEach((_user) => handleAddRecipient({ ..._user, allIds: [{ id: _user.uid, type: _user.type }] }));\r\n\r\n const handleMessageChange = (event: ChangeEvent): void => {\r\n setMsgBody(event.target.value);\r\n };\r\n\r\n const handleSendClick = (): void => {\r\n handleSendInvitation(email, getInviteEmailSubject(userName), msgBody);\r\n setMsgBody(getInviteEmailBody(displayName, userName));\r\n setEditInvitation(false);\r\n };\r\n\r\n return (\r\n \r\n \r\n theme.palette.text.primary,\r\n fontWeight: 'bold'\r\n }}\r\n >\r\n {getInitials(getContactDisplayName(contact))}\r\n \r\n \r\n \r\n \r\n \r\n 20 ? displayName.slice(0, 20) : displayName}\r\n primaryTypographyProps={{\r\n color: 'textPrimary',\r\n noWrap: true,\r\n variant: 'body1'\r\n }}\r\n />\r\n \r\n \r\n \r\n 0 ? phone : '[No phone numbers]'}\r\n secondaryTypographyProps={{\r\n color: 'textSecondary',\r\n noWrap: true,\r\n variant: 'body2'\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n 0 ? address : '[No locations]'}\r\n secondaryTypographyProps={{\r\n color: 'textSecondary',\r\n noWrap: true,\r\n variant: 'body2'\r\n }}\r\n />\r\n \r\n \r\n \r\n 0 ? email : '[No email addresses]'}\r\n secondaryTypographyProps={{\r\n color: 'textSecondary',\r\n noWrap: true,\r\n variant: 'body2'\r\n }}\r\n />\r\n \r\n \r\n \r\n {\r\n (contactUsers.length === 0) && (\r\n \r\n 0)}\r\n onClick={() => setEditInvitation(true)}\r\n >\r\n \r\n \r\n \r\n )\r\n }\r\n {\r\n editInvitation && (\r\n \r\n \r\n \r\n \r\n \r\n \r\n Send\r\n \r\n setEditInvitation(false)}\r\n >\r\n Cancel\r\n \r\n \r\n \r\n )\r\n }\r\n \r\n );\r\n}\r\n\r\nfunction RenderSearchMemberRow(props: RenderRowProps): JSX.Element {\r\n const { data, index } = props;\r\n const { handleAddRecipient, filteredSearchUsers } = data;\r\n const { memberRolesInCurOrg } = useSelector((state) => state.organization);\r\n const activeOrgInfo = getActiveOrgInfo();\r\n const curMember = filteredSearchUsers[index] as OrgMemberInfo;\r\n const curMemberType = getRealInviteeType(curMember as UserMinInfo);\r\n const isSupplier = curMemberType === ACCZIOM_CLIENT_ORG && curMember.member?.uid === activeOrgInfo.organizationId;\r\n const curRole = curMemberType === ACCZIOM_MEMBER ? memberRolesInCurOrg.find((role) => role.rid === curMember.member?.rid)?.name : tenary(isSupplier, 'SUPPLIER', 'CLIENT');\r\n\r\n return (\r\n {\r\n handleAddRecipient({\r\n ...curMember,\r\n allIds: [{ id: curMember.uid, type: curMember.type }, getRealInviteeInfo(curMember)]\r\n } as UserMinInfo);\r\n }}\r\n sx={{\r\n px: 2\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {\r\n curMember.teams?.length > 0 ? (\r\n team.name).join(', ')}\r\n secondaryTypographyProps={{\r\n color: 'textSecondary',\r\n noWrap: true,\r\n variant: 'body2'\r\n }}\r\n />\r\n ) : (\r\n \r\n )\r\n }\r\n \r\n \r\n \r\n \r\n );\r\n}\r\n\r\nconst createInviteeData = memoize((handleRemoveRecipient, recipients) => ({\r\n handleRemoveRecipient,\r\n recipients\r\n}));\r\n\r\nconst createSearchUserData = memoize((handleAddRecipient, filteredSearchUsers) => ({\r\n handleAddRecipient,\r\n filteredSearchUsers\r\n}));\r\n\r\nconst createSearchContactData = memoize((handleAddRecipient, handleSendInvitation, filteredSearchContacts, userName) => ({\r\n handleAddRecipient,\r\n handleSendInvitation,\r\n filteredSearchContacts,\r\n userName\r\n}));\r\n\r\nconst getFilteredSearchMembers = (\r\n searchMembers: OrgMemberInfo[],\r\n notAvailableIds: string[]\r\n): OrgMemberInfo[] => (searchMembers.filter((member) => !notAvailableIds.includes(member.uid)));\r\n\r\nconst getFilteredSearchContacts = (\r\n searchContacts: Contact[],\r\n recipients: UserMinInfo[]\r\n): any[] => {\r\n if (searchContacts === null) return [];\r\n const recipientEmails = recipients.reduce((acc, recipient) => [\r\n ...acc,\r\n recipient.email\r\n ], []);\r\n return searchContacts.filter((contact) => !recipientEmails.includes(getEmailAddress(contact)));\r\n};\r\n\r\nconst getFilteredSearchUsers = (\r\n searchUsers: User[],\r\n searchOrganizations: Organization[],\r\n notAvailableIds: string[]\r\n): UserMinInfo[] => {\r\n const filtered = [];\r\n if (searchUsers?.length > 0) filtered.push(...searchUsers.filter((user) => !notAvailableIds.includes(user.uid)).map((user) => userToMiniUser(user)));\r\n if (searchOrganizations?.length > 0) filtered.push(...searchOrganizations.filter((org) => !notAvailableIds.includes(org.organizationId)).map((org) => orgToMiniUser(org)));\r\n return filtered;\r\n};\r\n\r\nconst filterPartners = (partners: UserMinInfo[], searchText: string): UserMinInfo[] => (\r\n partners.filter((partner) => {\r\n let matches = true;\r\n if (searchText) {\r\n const properties = ['firstName', 'middleName', 'lastName', 'penName', 'email'];\r\n let containsQuery = false;\r\n properties.forEach((property) => {\r\n if (partner[property]?.toLowerCase().includes(searchText.toLowerCase())) {\r\n containsQuery = true;\r\n }\r\n });\r\n if (!containsQuery) {\r\n matches = false;\r\n }\r\n }\r\n return matches;\r\n })\r\n);\r\n\r\nconst filterMembers = (members: OrgMemberInfo[], searchText: string): OrgMemberInfo[] => (\r\n members.filter((member) => {\r\n let matches = true;\r\n if (searchText) {\r\n const properties = ['firstName', 'middleName', 'lastName', 'penName', 'email'];\r\n let containsQuery = false;\r\n properties.forEach((property) => {\r\n if (member[property]?.toLowerCase().includes(searchText.toLowerCase())) {\r\n containsQuery = true;\r\n }\r\n });\r\n if (!containsQuery) {\r\n member.teams.forEach((team) => {\r\n if (team.name?.toLowerCase().includes(searchText.toLowerCase())) {\r\n containsQuery = true;\r\n }\r\n });\r\n }\r\n if (!containsQuery) {\r\n matches = false;\r\n }\r\n }\r\n return matches;\r\n })\r\n);\r\n\r\nconst InviteDialog: FC = (dlgProps) => {\r\n const {\r\n open,\r\n isTitled,\r\n invitingTitle,\r\n setInvitingTitle,\r\n firstMsg,\r\n setFirstMsg,\r\n showTabs,\r\n showUser,\r\n showRange,\r\n maxInvitees,\r\n invitees,\r\n hideUserIds,\r\n loadingCompleted,\r\n addInvitee,\r\n removeInvitee,\r\n toSubmit,\r\n toClose,\r\n ...props\r\n } = dlgProps;\r\n const { contacts } = useSelector((state) => state.contact);\r\n const { userInfo } = useSelector((state) => state.user);\r\n const userName = userInfo.firstName + (userInfo.lastName.length > 0 ? ` ${userInfo.lastName}` : '');\r\n const { activeOrgId, membersInCurOrg, memberRolesInCurOrg, teamsInCurOrg } = useSelector((state) => state.organization);\r\n const { invitations: gInvitations } = useSelector((state) => state.network);\r\n const mounted = useMounted();\r\n const navigate = useNavigate();\r\n const anchorRef = useRef(null);\r\n const [availPartners, setAvailPartners] = useState([]);\r\n const [availMembers, setAvailMembers] = useState([]);\r\n const [query, setQuery] = useState('');\r\n const [searchUsers, setSearchUsers] = useState([]);\r\n const [searchOrganizations, setSearchOrganizations] = useState([]);\r\n const [searchContacts, setSearchContacts] = useState(contacts);\r\n const [searchPartners, setSearchPartners] = useState(availPartners);\r\n const [searchMembers, setSearchMembers] = useState(availMembers);\r\n const [isSearching, setIsSearching] = useState(false);\r\n const [currentTab, setCurrentTab] = useState(showTabs[0]);\r\n const [isMsgboxIsOpen, setIsMsgboxIsOpen] = useState(false);\r\n const [editInvitation, setEditInvitation] = useState(false);\r\n const [msgBody, setMsgBody] = useState(getInviteEmailBody('', userName));\r\n\r\n const getHideIds = (): string[] => {\r\n const hideIds = [...hideUserIds, ...invitees.map(({ uid }) => uid)];\r\n return hideIds.filter((id1, index) => index === hideIds.findIndex((id2) => id1 === id2));\r\n };\r\n const notAvailableIds = getHideIds();\r\n\r\n const filteredSearchUsers = getFilteredSearchUsers(\r\n searchUsers,\r\n searchOrganizations,\r\n notAvailableIds\r\n );\r\n const newInviteShow: boolean = filteredSearchUsers.length < 1 && currentTab === TAB_VALUE_ACCZIOM_USERS;\r\n const newInviteShowWithEmail: boolean = newInviteShow && isValidEmail(query) && query.toLowerCase() !== userInfo.email;\r\n\r\n const filteredSearchContacts = getFilteredSearchContacts(\r\n searchContacts,\r\n invitees\r\n );\r\n const newContactShow: boolean = filteredSearchContacts.length < 1 && currentTab === TAB_VALUE_MY_CONTACTS;\r\n\r\n const filteredSearchPartners = searchPartners.filter((partner) => !notAvailableIds.includes(partner.uid));\r\n const newPartnerShow: boolean = filteredSearchPartners.length < 1 && currentTab === TAB_VALUE_PARTNERS;\r\n\r\n const filteredSearchMembers = getFilteredSearchMembers(\r\n searchMembers,\r\n notAvailableIds\r\n );\r\n const filteredSearchOrgClients = filteredSearchMembers.filter((member) => [ACCZIOM_CLIENT, ACCZIOM_CLIENT_ORG].includes(getRealInviteeType(member)));\r\n const filteredSearchOrgSuppliers = filteredSearchMembers.filter((member) => getRealInviteeType(member) === ACCZIOM_SUPPLIER);\r\n const filteredSearchOrgMembers = filteredSearchMembers.filter((member) => getRealInviteeType(member) === ACCZIOM_MEMBER);\r\n const newMemberShow: boolean = ((filteredSearchOrgClients.length < 1) && (currentTab === TAB_VALUE_ORG_CLIENTS))\r\n || ((filteredSearchOrgSuppliers.length < 1) && (currentTab === TAB_VALUE_ORG_SUPPLIERS))\r\n || ((filteredSearchOrgMembers.length < 1) && (currentTab === TAB_VALUE_ORG_MEMBERS));\r\n\r\n const closeInviteDlg = () => {\r\n toClose();\r\n };\r\n\r\n const handleSearchChange = async (value: string): Promise => {\r\n setQuery(value);\r\n if (value.length > 0) {\r\n if (showTabs.includes(TAB_VALUE_MY_CONTACTS)) {\r\n const contactData: Contact[] = filterContacts(contacts, value);\r\n setSearchContacts(contactData);\r\n }\r\n if (showTabs.includes(TAB_VALUE_PARTNERS)) {\r\n const partnerData: UserMinInfo[] = filterPartners(availPartners, value);\r\n setSearchPartners(partnerData);\r\n }\r\n if (showTabs.includes(TAB_VALUE_ORG_CLIENTS) || showTabs.includes(TAB_VALUE_ORG_SUPPLIERS) || showTabs.includes(TAB_VALUE_ORG_MEMBERS)) {\r\n const memberData: OrgMemberInfo[] = filterMembers(availMembers, value);\r\n setSearchMembers(memberData);\r\n }\r\n } else {\r\n if (showTabs.includes(TAB_VALUE_MY_CONTACTS)) setSearchContacts(contacts);\r\n if (showTabs.includes(TAB_VALUE_PARTNERS)) setSearchPartners(availPartners);\r\n if (showTabs.includes(TAB_VALUE_ORG_CLIENTS) || showTabs.includes(TAB_VALUE_ORG_SUPPLIERS) || showTabs.includes(TAB_VALUE_ORG_MEMBERS)) setSearchMembers(availMembers);\r\n }\r\n if (showTabs.includes(TAB_VALUE_ACCZIOM_USERS)) {\r\n setIsSearching(true);\r\n try {\r\n const res = await lambdaSearchUserWithFriend(value, showUser);\r\n if (res && !res.errorMessage) {\r\n const { users, organizations } = res;\r\n if (mounted.current) {\r\n setSearchUsers(users as User[]);\r\n setSearchOrganizations(organizations as Organization[]);\r\n }\r\n }\r\n } catch (err) {\r\n toast.error('Searching failed!');\r\n console.log(JSON.stringify(err));\r\n } finally {\r\n if (mounted.current) setIsSearching(false);\r\n }\r\n }\r\n };\r\n\r\n const handleAddRecipient = (recipient: any): void => {\r\n if (maxInvitees && invitees.length >= maxInvitees) {\r\n toast.error(`You can only invite up to ${maxInvitees === 1 ? 'one user' : `${maxInvitees} users`}.`);\r\n return;\r\n }\r\n addInvitee(recipient as UserMinInfo);\r\n };\r\n\r\n const handleRemoveRecipient = (uid: string): void => {\r\n removeInvitee(uid);\r\n };\r\n\r\n const handleTabsChange = (event: ChangeEvent<{}>, value: string): void => {\r\n setCurrentTab(value);\r\n };\r\n\r\n const onYesClick = (): void => {\r\n closeInviteDlg();\r\n if (newContactShow) {\r\n navigate('/management/network/contact');\r\n } else if (newMemberShow) {\r\n navigate(`/management/structure/${currentTab}`);\r\n } else if (newPartnerShow) {\r\n navigate('/management/network/findpartner');\r\n }\r\n };\r\n\r\n const msgboxCloseHandler = (isOpen: boolean): void => setIsMsgboxIsOpen(isOpen);\r\n\r\n const handleMessageChange = (event: ChangeEvent): void => {\r\n setMsgBody(event.target.value);\r\n };\r\n\r\n const handleSendInvitation = async (emailTo: string, subject: string, body: string): Promise => {\r\n if (isValidEmail(emailTo)) {\r\n const emailParams = {\r\n from: 'andrew@nobleaccounting.com.au',\r\n to: emailTo,\r\n subject,\r\n html: linkifyText(convertTextToHtml(body)),\r\n };\r\n if (emailParams) {\r\n try {\r\n const res = await lambdaSendRawFeedback(emailParams, []);\r\n if (res && res.messageId) {\r\n toast.success('Message has been sent successfully.');\r\n }\r\n } catch (e) {\r\n toast.error('Error occured while sending message.');\r\n }\r\n }\r\n } else {\r\n toast.error('The invitation email cannot be sent because his/her email address is not valid.');\r\n }\r\n };\r\n\r\n const handleChangeTitle = (event: ChangeEvent): void => {\r\n setInvitingTitle(event.target.value as string);\r\n };\r\n\r\n const handleChangeFirstMsg = (event: ChangeEvent): void => {\r\n setFirstMsg(event.target.value as string);\r\n };\r\n\r\n const handleSendClick = (): void => {\r\n handleSendInvitation(query, getInviteEmailSubject(userName), msgBody);\r\n setMsgBody(getInviteEmailBody('', userName));\r\n setEditInvitation(false);\r\n };\r\n\r\n const getTabLabel = (value: string) => {\r\n let retLabel = '';\r\n switch (value) {\r\n case TAB_VALUE_MY_CONTACTS:\r\n retLabel = `${TAB_LABEL_MY_CONTACTS} (${filteredSearchContacts.length})`;\r\n break;\r\n case TAB_VALUE_PARTNERS:\r\n retLabel = `${TAB_VALUE_PARTNERS} (${filteredSearchPartners.length})`;\r\n break;\r\n case TAB_VALUE_ORG_CLIENTS:\r\n retLabel = `${TAB_VALUE_ORG_CLIENTS} (${filteredSearchOrgClients.length})`;\r\n break;\r\n case TAB_VALUE_ORG_SUPPLIERS:\r\n retLabel = `${TAB_VALUE_ORG_SUPPLIERS} (${filteredSearchOrgSuppliers.length})`;\r\n break;\r\n case TAB_VALUE_ORG_MEMBERS:\r\n retLabel = `${TAB_VALUE_ORG_MEMBERS} (${filteredSearchOrgMembers.length})`;\r\n break;\r\n default:\r\n retLabel = `${TAB_VALUE_ACCZIOM_USERS} (${filteredSearchUsers.length})`;\r\n break;\r\n }\r\n return retLabel;\r\n };\r\n\r\n const inviteeKey = (index, data) => data.recipients[index].uid;\r\n const inviteeData = createInviteeData(handleRemoveRecipient, invitees);\r\n\r\n const searchUserKey = (index, data) => data.filteredSearchUsers[index].uid;\r\n const searchContactKey = (index, data) => data.filteredSearchContacts[index].id;\r\n const searchContactData = createSearchContactData(handleAddRecipient, handleSendInvitation, filteredSearchContacts, userName);\r\n\r\n useEffect(() => {\r\n if (loadingCompleted) {\r\n if (showTabs.includes(TAB_VALUE_PARTNERS)) {\r\n const orgPartners = [];\r\n gInvitations.filter((invitation) => invitation.status === STATUS_ACTIVATED).forEach((invitation) => {\r\n const miniPartner = getUserMinInfoByID(invitation.invitee.id === activeOrgId ? invitation.inviter : invitation.invitee);\r\n if (miniPartner) orgPartners.push({ ...miniPartner, allIds: [{ id: miniPartner.uid, type: miniPartner.type }] } as UserMinInfo);\r\n });\r\n setAvailPartners(orgPartners);\r\n setSearchPartners(orgPartners);\r\n }\r\n if (showTabs.includes(TAB_VALUE_ORG_CLIENTS) || showTabs.includes(TAB_VALUE_ORG_SUPPLIERS) || showTabs.includes(TAB_VALUE_ORG_MEMBERS)) {\r\n const orgMembers = [];\r\n membersInCurOrg.forEach((mi) => {\r\n let matches = mi.status === STATUS_ACTIVATED && mi.uid !== userInfo.uid;\r\n if (matches) {\r\n if (mi.type === ACCZIOM_MEMBER) {\r\n matches = matches && showTabs.includes(TAB_VALUE_ORG_MEMBERS);\r\n if (matches && showRange === CHAT_MEMBER_MODE) {\r\n const role = memberRolesInCurOrg.find((roleItem) => roleItem.rid === mi.rid);\r\n const editChat = role.transaction.messaging.messaging;\r\n matches = matches && editChat;\r\n }\r\n } else if (mi.type === ACCZIOM_CLIENT) {\r\n matches = matches && showTabs.includes(TAB_VALUE_ORG_CLIENTS);\r\n } else if (mi.type === ACCZIOM_CLIENT_ORG) {\r\n if (mi.oid === activeOrgId) matches = matches && showTabs.includes(TAB_VALUE_ORG_CLIENTS);\r\n else if (mi.uid === activeOrgId) matches = matches && showTabs.includes(TAB_VALUE_ORG_SUPPLIERS);\r\n else matches = false;\r\n }\r\n }\r\n if (matches) {\r\n const miniMember = getUserMinInfoByID({ id: mi.mid, type: mi.type });\r\n if (miniMember) {\r\n orgMembers.push({\r\n ...miniMember,\r\n allIds: [\r\n { id: miniMember.uid, type: miniMember.type },\r\n { id: mi.mid, type: mi.type === ACCZIOM_CLIENT_ORG ? tenary(mi.oid === activeOrgId, ACCZIOM_CLIENT_ORG, ACCZIOM_SUPPLIER) : mi.type }\r\n ],\r\n member: mi,\r\n teams: teamsInCurOrg.filter((team) => mi.tids.includes(team.tid))\r\n } as OrgMemberInfo);\r\n }\r\n }\r\n });\r\n setAvailMembers(orgMembers);\r\n setSearchMembers(orgMembers);\r\n }\r\n }\r\n }, [loadingCompleted]);\r\n\r\n useEffect(() => {\r\n if (mounted.current && open) {\r\n handleSearchChange('');\r\n setCurrentTab(showTabs[0]);\r\n }\r\n }, [open]);\r\n\r\n return (\r\n \r\n => {\r\n try {\r\n await toSubmit();\r\n if (mounted.current) {\r\n setStatus({ success: true });\r\n setSubmitting(false);\r\n closeInviteDlg();\r\n }\r\n } catch (err) {\r\n toast.error('Internal Error, Please try again');\r\n if (mounted.current) {\r\n setStatus({ success: false });\r\n setErrors({ submit: err.message });\r\n setSubmitting(false);\r\n }\r\n }\r\n }}\r\n >\r\n {({\r\n errors,\r\n handleSubmit,\r\n isSubmitting\r\n }): JSX.Element => (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {\r\n (isTitled === ONLY_TITLE || isTitled === BOTH_TITLE_FIRSTMSG) && (\r\n \r\n \r\n Title :\r\n \r\n \r\n \r\n )\r\n }\r\n {\r\n (isTitled === ONLY_FIRSTMSG || isTitled === BOTH_TITLE_FIRSTMSG) && (\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n )\r\n }\r\n \r\n NO_TITLE_FIRSTMSG ? 0 : 1,\r\n mt: isTitled > NO_TITLE_FIRSTMSG ? 0 : -3\r\n }}\r\n >\r\n \r\n Invitees :\r\n \r\n \r\n \r\n \r\n )\r\n }}\r\n placeholder=\"From Accziom directory\"\r\n value={query}\r\n onChange={(event) => handleSearchChange(event.target.value)}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n {({ height, width }) => (\r\n \r\n {RenderInviteeRow}\r\n \r\n )}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {showTabs.includes(currentTab) && tabs.filter((tab) => showTabs.includes(tab.value)).map((tab) => (\r\n \r\n ))}\r\n \r\n \r\n \r\n {\r\n isSearching && (\r\n \r\n \r\n \r\n \r\n \r\n )\r\n }\r\n {\r\n !isSearching && (newInviteShow || newContactShow || newPartnerShow || newMemberShow) && (\r\n \r\n \r\n {`No ${currentTab}s have been found!`}\r\n \r\n \r\n {(newMemberShow || newPartnerShow) ? `You can invite a new ${currentTab} into your organization via Accziom website.` : 'You can invite a new friend via email address or phone number.'}\r\n \r\n \r\n )\r\n }\r\n {\r\n !isSearching && !(newInviteShow || newContactShow || newPartnerShow || newMemberShow) && (\r\n \r\n {\r\n currentTab === TAB_VALUE_ACCZIOM_USERS && (\r\n \r\n {({ height, width }) => (\r\n \r\n {RenderSearchUserRow}\r\n \r\n )}\r\n \r\n )\r\n }\r\n {\r\n currentTab === TAB_VALUE_MY_CONTACTS && (\r\n \r\n {({ height, width }) => (\r\n \r\n {RenderSearchContactRow}\r\n \r\n )}\r\n \r\n )\r\n }\r\n {\r\n currentTab === TAB_VALUE_PARTNERS && (\r\n \r\n {({ height, width }) => (\r\n \r\n {RenderSearchUserRow}\r\n \r\n )}\r\n \r\n )\r\n }\r\n {\r\n currentTab === TAB_VALUE_ORG_CLIENTS && (\r\n \r\n {({ height, width }) => (\r\n \r\n {RenderSearchMemberRow}\r\n \r\n )}\r\n \r\n )\r\n }\r\n {\r\n currentTab === TAB_VALUE_ORG_SUPPLIERS && (\r\n \r\n {({ height, width }) => (\r\n \r\n {RenderSearchMemberRow}\r\n \r\n )}\r\n \r\n )\r\n }\r\n {\r\n currentTab === TAB_VALUE_ORG_MEMBERS && (\r\n \r\n {({ height, width }) => (\r\n \r\n {RenderSearchMemberRow}\r\n \r\n )}\r\n \r\n )\r\n }\r\n \r\n )\r\n }\r\n \r\n {\r\n newInviteShowWithEmail && (\r\n setEditInvitation(true)}\r\n ref={anchorRef}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )\r\n }\r\n {\r\n (newContactShow || newMemberShow || newPartnerShow) && (\r\n setIsMsgboxIsOpen(true)}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )\r\n }\r\n {\r\n editInvitation && (\r\n \r\n \r\n \r\n \r\n \r\n \r\n Send\r\n \r\n setEditInvitation(false)}\r\n >\r\n Cancel\r\n \r\n \r\n \r\n )\r\n }\r\n \r\n \r\n \r\n \r\n \r\n {\r\n if ((isTitled === ONLY_TITLE || isTitled === BOTH_TITLE_FIRSTMSG) && !invitingTitle) toast.error('You should input a new title.');\r\n else if ((isTitled === ONLY_FIRSTMSG || isTitled === BOTH_TITLE_FIRSTMSG) && !firstMsg) toast.error('You should input a first message.');\r\n else handleSubmit();\r\n }}\r\n disabled={isSubmitting}\r\n variant=\"contained\"\r\n >\r\n {isSubmitting && (\r\n \r\n )}\r\n {isTitled > NO_TITLE_FIRSTMSG ? 'SUBMIT' : 'DONE'}\r\n \r\n \r\n {errors.submit && (\r\n \r\n \r\n {errors.submit}\r\n \r\n \r\n )}\r\n {\r\n isMsgboxIsOpen && (\r\n \r\n )\r\n }\r\n \r\n )}\r\n \r\n \r\n );\r\n};\r\n\r\nInviteDialog.propTypes = {\r\n open: PropTypes.bool.isRequired,\r\n isTitled: PropTypes.number.isRequired,\r\n invitingTitle: PropTypes.string,\r\n setInvitingTitle: PropTypes.func,\r\n firstMsg: PropTypes.string,\r\n setFirstMsg: PropTypes.func,\r\n showTabs: PropTypes.array.isRequired,\r\n showUser: PropTypes.number,\r\n showRange: PropTypes.number,\r\n maxInvitees: PropTypes.number,\r\n invitees: PropTypes.array.isRequired,\r\n hideUserIds: PropTypes.array,\r\n loadingCompleted: PropTypes.bool,\r\n addInvitee: PropTypes.func.isRequired,\r\n removeInvitee: PropTypes.func.isRequired,\r\n toSubmit: PropTypes.func.isRequired,\r\n toClose: PropTypes.func.isRequired\r\n};\r\n\r\nexport default InviteDialog;\r\n","import i18n from 'i18next';\r\nimport { initReactI18next } from 'react-i18next';\r\n\r\nconst resources = {\r\n en: {\r\n translation: {\r\n 'Welcome to React': 'Welcome to React and react-i18next'\r\n }\r\n },\r\n fr: {\r\n translation: {\r\n 'Welcome to React': 'Bienvenue à React et react-i18next'\r\n }\r\n }\r\n};\r\n\r\ni18n\r\n .use(initReactI18next)\r\n .init({\r\n resources,\r\n lng: 'en',\r\n fallbackLng: 'en',\r\n interpolation: {\r\n escapeValue: false\r\n }\r\n });\r\n","import { useEffect } from 'react';\r\nimport type { FC, ReactNode } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport createCache from '@emotion/cache';\r\nimport { CacheProvider } from '@emotion/react';\r\nimport stylisRTLPlugin from 'stylis-plugin-rtl';\r\n\r\ninterface RTLProps {\r\n children: ReactNode;\r\n direction: 'ltr' | 'rtl';\r\n}\r\n\r\nconst styleCache = () => createCache({\r\n key: 'rtl',\r\n prepend: true,\r\n // We have to temporary ignore this due to incorrect definitions\r\n // in the stylis-plugin-rtl module\r\n // @see https://github.com/styled-components/stylis-plugin-rtl/issues/23\r\n // @ts-ignore\r\n stylisPlugins: [stylisRTLPlugin]\r\n});\r\n\r\nconst RTL: FC = (props) => {\r\n const { children, direction } = props;\r\n\r\n useEffect(() => {\r\n document.dir = direction;\r\n }, [direction]);\r\n\r\n if (direction === 'rtl') {\r\n return (\r\n \r\n {children}\r\n \r\n );\r\n }\r\n\r\n return <>{children};\r\n};\r\n\r\nRTL.propTypes = {\r\n children: PropTypes.node.isRequired,\r\n direction: PropTypes.oneOf(['ltr', 'rtl'])\r\n};\r\n\r\nexport default RTL;\r\n","import { useEffect } from 'react';\r\nimport { useLocation } from 'react-router-dom';\r\n\r\nconst useScrollReset = (): null => {\r\n const { pathname } = useLocation();\r\n\r\n useEffect(() => {\r\n window.scrollTo(0, 0);\r\n }, [pathname]);\r\n\r\n return null;\r\n};\r\n\r\nexport default useScrollReset;\r\n","import type { Shadows } from '@material-ui/core/styles/shadows';\r\n\r\nexport const lightShadows: Shadows = [\r\n 'none',\r\n '0px 1px 2px rgba(0, 0, 0, 0.12), 0px 0px 0px 1px rgba(0, 0, 0, 0.05)',\r\n '0px 2px 4px rgba(0, 0, 0, 0.15), 0px 0px 0px 1px rgba(0, 0, 0, 0.05)',\r\n '0 0 1px 0 rgba(0,0,0,0.31), 0 3px 4px -2px rgba(0,0,0,0.25)',\r\n '0 0 1px 0 rgba(0,0,0,0.31), 0 3px 4px -2px rgba(0,0,0,0.25)',\r\n '0 0 1px 0 rgba(0,0,0,0.31), 0 4px 6px -2px rgba(0,0,0,0.25)',\r\n '0 0 1px 0 rgba(0,0,0,0.31), 0 4px 6px -2px rgba(0,0,0,0.25)',\r\n '0 0 1px 0 rgba(0,0,0,0.31), 0 4px 8px -2px rgba(0,0,0,0.25)',\r\n '0 0 1px 0 rgba(0,0,0,0.31), 0 5px 8px -2px rgba(0,0,0,0.25)',\r\n '0 0 1px 0 rgba(0,0,0,0.31), 0 6px 12px -4px rgba(0,0,0,0.25)',\r\n '0 0 1px 0 rgba(0,0,0,0.31), 0 7px 12px -4px rgba(0,0,0,0.25)',\r\n '0 0 1px 0 rgba(0,0,0,0.31), 0 6px 16px -4px rgba(0,0,0,0.25)',\r\n '0 0 1px 0 rgba(0,0,0,0.31), 0 7px 16px -4px rgba(0,0,0,0.25)',\r\n '0 0 1px 0 rgba(0,0,0,0.31), 0 8px 18px -8px rgba(0,0,0,0.25)',\r\n '0 0 1px 0 rgba(0,0,0,0.31), 0 9px 18px -8px rgba(0,0,0,0.25)',\r\n '0 0 1px 0 rgba(0,0,0,0.31), 0 10px 20px -8px rgba(0,0,0,0.25)',\r\n '0 0 1px 0 rgba(0,0,0,0.31), 0 11px 20px -8px rgba(0,0,0,0.25)',\r\n '0 0 1px 0 rgba(0,0,0,0.31), 0 12px 22px -8px rgba(0,0,0,0.25)',\r\n '0 0 1px 0 rgba(0,0,0,0.31), 0 13px 22px -8px rgba(0,0,0,0.25)',\r\n '0 0 1px 0 rgba(0,0,0,0.31), 0 14px 24px -8px rgba(0,0,0,0.25)',\r\n '0 0 1px 0 rgba(0,0,0,0.31), 0 16px 28px -8px rgba(0,0,0,0.25)',\r\n '0 0 1px 0 rgba(0,0,0,0.31), 0 18px 30px -8px rgba(0,0,0,0.25)',\r\n '0 0 1px 0 rgba(0,0,0,0.31), 0 20px 32px -8px rgba(0,0,0,0.25)',\r\n '0 0 1px 0 rgba(0,0,0,0.31), 0 22px 34px -8px rgba(0,0,0,0.25)',\r\n '0 0 1px 0 rgba(0,0,0,0.31), 0 24px 36px -8px rgba(0,0,0,0.25)'\r\n];\r\n\r\nexport const darkShadows: Shadows = [\r\n 'none',\r\n '0 0 1px 0 rgba(0,0,0,0.70), 0 3px 4px -2px rgba(0,0,0,0.50)',\r\n '0 0 1px 0 rgba(0,0,0,0.70), 0 2px 2px -2px rgba(0,0,0,0.50)',\r\n '0 0 1px 0 rgba(0,0,0,0.70), 0 3px 4px -2px rgba(0,0,0,0.50)',\r\n '0 0 1px 0 rgba(0,0,0,0.70), 0 3px 4px -2px rgba(0,0,0,0.50)',\r\n '0 0 1px 0 rgba(0,0,0,0.70), 0 4px 6px -2px rgba(0,0,0,0.50)',\r\n '0 0 1px 0 rgba(0,0,0,0.70), 0 4px 6px -2px rgba(0,0,0,0.50)',\r\n '0 0 1px 0 rgba(0,0,0,0.70), 0 4px 8px -2px rgba(0,0,0,0.50)',\r\n '0 0 1px 0 rgba(0,0,0,0.70), 0 5px 8px -2px rgba(0,0,0,0.50)',\r\n '0 0 1px 0 rgba(0,0,0,0.70), 0 6px 12px -4px rgba(0,0,0,0.50)',\r\n '0 0 1px 0 rgba(0,0,0,0.70), 0 7px 12px -4px rgba(0,0,0,0.50)',\r\n '0 0 1px 0 rgba(0,0,0,0.70), 0 6px 16px -4px rgba(0,0,0,0.50)',\r\n '0 0 1px 0 rgba(0,0,0,0.70), 0 7px 16px -4px rgba(0,0,0,0.50)',\r\n '0 0 1px 0 rgba(0,0,0,0.70), 0 8px 18px -8px rgba(0,0,0,0.50)',\r\n '0 0 1px 0 rgba(0,0,0,0.70), 0 9px 18px -8px rgba(0,0,0,0.50)',\r\n '0 0 1px 0 rgba(0,0,0,0.70), 0 10px 20px -8px rgba(0,0,0,0.50)',\r\n '0 0 1px 0 rgba(0,0,0,0.70), 0 11px 20px -8px rgba(0,0,0,0.50)',\r\n '0 0 1px 0 rgba(0,0,0,0.70), 0 12px 22px -8px rgba(0,0,0,0.50)',\r\n '0 0 1px 0 rgba(0,0,0,0.70), 0 13px 22px -8px rgba(0,0,0,0.50)',\r\n '0 0 1px 0 rgba(0,0,0,0.70), 0 14px 24px -8px rgba(0,0,0,0.50)',\r\n '0 0 1px 0 rgba(0,0,0,0.70), 0 16px 28px -8px rgba(0,0,0,0.50)',\r\n '0 0 1px 0 rgba(0,0,0,0.70), 0 18px 30px -8px rgba(0,0,0,0.50)',\r\n '0 0 1px 0 rgba(0,0,0,0.70), 0 20px 32px -8px rgba(0,0,0,0.50)',\r\n '0 0 1px 0 rgba(0,0,0,0.70), 0 22px 34px -8px rgba(0,0,0,0.50)',\r\n '0 0 1px 0 rgba(0,0,0,0.70), 0 24px 36px -8px rgba(0,0,0,0.50)'\r\n];\r\n\r\nexport const lightShadows2: Shadows = [\r\n 'none',\r\n '0px 2px 1px -1px rgba(145, 158, 171, 0.2),0px 1px 1px 0px rgba(145, 158, 171, 0.14),0px 1px 3px 0px rgba(145, 158, 171, 0.12)',\r\n '0px 3px 1px -2px rgba(145, 158, 171, 0.2),0px 2px 2px 0px rgba(145, 158, 171, 0.14),0px 1px 5px 0px rgba(145, 158, 171, 0.12)',\r\n '0px 3px 3px -2px rgba(145, 158, 171, 0.2),0px 3px 4px 0px rgba(145, 158, 171, 0.14),0px 1px 8px 0px rgba(145, 158, 171, 0.12)',\r\n '0px 2px 4px -1px rgba(145, 158, 171, 0.2),0px 4px 5px 0px rgba(145, 158, 171, 0.14),0px 1px 10px 0px rgba(145, 158, 171, 0.12)',\r\n '0px 3px 5px -1px rgba(145, 158, 171, 0.2),0px 5px 8px 0px rgba(145, 158, 171, 0.14),0px 1px 14px 0px rgba(145, 158, 171, 0.12)',\r\n '0px 3px 5px -1px rgba(145, 158, 171, 0.2),0px 6px 10px 0px rgba(145, 158, 171, 0.14),0px 1px 18px 0px rgba(145, 158, 171, 0.12)',\r\n '0px 4px 5px -2px rgba(145, 158, 171, 0.2),0px 7px 10px 1px rgba(145, 158, 171, 0.14),0px 2px 16px 1px rgba(145, 158, 171, 0.12)',\r\n '0px 5px 5px -3px rgba(145, 158, 171, 0.2),0px 8px 10px 1px rgba(145, 158, 171, 0.14),0px 3px 14px 2px rgba(145, 158, 171, 0.12)',\r\n '0px 5px 6px -3px rgba(145, 158, 171, 0.2),0px 9px 12px 1px rgba(145, 158, 171, 0.14),0px 3px 16px 2px rgba(145, 158, 171, 0.12)',\r\n '0px 6px 6px -3px rgba(145, 158, 171, 0.2),0px 10px 14px 1px rgba(145, 158, 171, 0.14),0px 4px 18px 3px rgba(145, 158, 171, 0.12)',\r\n '0px 6px 7px -4px rgba(145, 158, 171, 0.2),0px 11px 15px 1px rgba(145, 158, 171, 0.14),0px 4px 20px 3px rgba(145, 158, 171, 0.12)',\r\n '0px 7px 8px -4px rgba(145, 158, 171, 0.2),0px 12px 17px 2px rgba(145, 158, 171, 0.14),0px 5px 22px 4px rgba(145, 158, 171, 0.12)',\r\n '0px 7px 8px -4px rgba(145, 158, 171, 0.2),0px 13px 19px 2px rgba(145, 158, 171, 0.14),0px 5px 24px 4px rgba(145, 158, 171, 0.12)',\r\n '0px 7px 9px -4px rgba(145, 158, 171, 0.2),0px 14px 21px 2px rgba(145, 158, 171, 0.14),0px 5px 26px 4px rgba(145, 158, 171, 0.12)',\r\n '0px 8px 9px -5px rgba(145, 158, 171, 0.2),0px 15px 22px 2px rgba(145, 158, 171, 0.14),0px 6px 28px 5px rgba(145, 158, 171, 0.12)',\r\n '0px 8px 10px -5px rgba(145, 158, 171, 0.2),0px 16px 24px 2px rgba(145, 158, 171, 0.14),0px 6px 30px 5px rgba(145, 158, 171, 0.12)',\r\n '0px 8px 11px -5px rgba(145, 158, 171, 0.2),0px 17px 26px 2px rgba(145, 158, 171, 0.14),0px 6px 32px 5px rgba(145, 158, 171, 0.12)',\r\n '0px 9px 11px -5px rgba(145, 158, 171, 0.2),0px 18px 28px 2px rgba(145, 158, 171, 0.14),0px 7px 34px 6px rgba(145, 158, 171, 0.12)',\r\n '0px 9px 12px -6px rgba(145, 158, 171, 0.2),0px 19px 29px 2px rgba(145, 158, 171, 0.14),0px 7px 36px 6px rgba(145, 158, 171, 0.12)',\r\n '0px 10px 13px -6px rgba(145, 158, 171, 0.2),0px 20px 31px 3px rgba(145, 158, 171, 0.14),0px 8px 38px 7px rgba(145, 158, 171, 0.12)',\r\n '0px 10px 13px -6px rgba(145, 158, 171, 0.2),0px 21px 33px 3px rgba(145, 158, 171, 0.14),0px 8px 40px 7px rgba(145, 158, 171, 0.12)',\r\n '0px 10px 14px -6px rgba(145, 158, 171, 0.2),0px 22px 35px 3px rgba(145, 158, 171, 0.14),0px 8px 42px 7px rgba(145, 158, 171, 0.12)',\r\n '0px 11px 14px -7px rgba(145, 158, 171, 0.2),0px 23px 36px 3px rgba(145, 158, 171, 0.14),0px 9px 44px 8px rgba(145, 158, 171, 0.12)',\r\n '0px 11px 15px -7px rgba(145, 158, 171, 0.2),0px 24px 38px 3px rgba(145, 158, 171, 0.14),0px 9px 46px 8px rgba(145, 158, 171, 0.12)'\r\n];\r\n\r\nexport const darkShadows2: Shadows = [\r\n 'none',\r\n '0px 2px 1px -1px rgba(0, 0, 0, 0.2),0px 1px 1px 0px rgba(0, 0, 0, 0.14),0px 1px 3px 0px rgba(0, 0, 0, 0.12)',\r\n '0px 3px 1px -2px rgba(0, 0, 0, 0.2),0px 2px 2px 0px rgba(0, 0, 0, 0.14),0px 1px 5px 0px rgba(0, 0, 0, 0.12)',\r\n '0px 3px 3px -2px rgba(0, 0, 0, 0.2),0px 3px 4px 0px rgba(0, 0, 0, 0.14),0px 1px 8px 0px rgba(0, 0, 0, 0.12)',\r\n '0px 2px 4px -1px rgba(0, 0, 0, 0.2),0px 4px 5px 0px rgba(0, 0, 0, 0.14),0px 1px 10px 0px rgba(0, 0, 0, 0.12)',\r\n '0px 3px 5px -1px rgba(0, 0, 0, 0.2),0px 5px 8px 0px rgba(0, 0, 0, 0.14),0px 1px 14px 0px rgba(0, 0, 0, 0.12)',\r\n '0px 3px 5px -1px rgba(0, 0, 0, 0.2),0px 6px 10px 0px rgba(0, 0, 0, 0.14),0px 1px 18px 0px rgba(0, 0, 0, 0.12)',\r\n '0px 4px 5px -2px rgba(0, 0, 0, 0.2),0px 7px 10px 1px rgba(0, 0, 0, 0.14),0px 2px 16px 1px rgba(0, 0, 0, 0.12)',\r\n '0px 5px 5px -3px rgba(0, 0, 0, 0.2),0px 8px 10px 1px rgba(0, 0, 0, 0.14),0px 3px 14px 2px rgba(0, 0, 0, 0.12)',\r\n '0px 5px 6px -3px rgba(0, 0, 0, 0.2),0px 9px 12px 1px rgba(0, 0, 0, 0.14),0px 3px 16px 2px rgba(0, 0, 0, 0.12)',\r\n '0px 6px 6px -3px rgba(0, 0, 0, 0.2),0px 10px 14px 1px rgba(0, 0, 0, 0.14),0px 4px 18px 3px rgba(0, 0, 0, 0.12)',\r\n '0px 6px 7px -4px rgba(0, 0, 0, 0.2),0px 11px 15px 1px rgba(0, 0, 0, 0.14),0px 4px 20px 3px rgba(0, 0, 0, 0.12)',\r\n '0px 7px 8px -4px rgba(0, 0, 0, 0.2),0px 12px 17px 2px rgba(0, 0, 0, 0.14),0px 5px 22px 4px rgba(0, 0, 0, 0.12)',\r\n '0px 7px 8px -4px rgba(0, 0, 0, 0.2),0px 13px 19px 2px rgba(0, 0, 0, 0.14),0px 5px 24px 4px rgba(0, 0, 0, 0.12)',\r\n '0px 7px 9px -4px rgba(0, 0, 0, 0.2),0px 14px 21px 2px rgba(0, 0, 0, 0.14),0px 5px 26px 4px rgba(0, 0, 0, 0.12)',\r\n '0px 8px 9px -5px rgba(0, 0, 0, 0.2),0px 15px 22px 2px rgba(0, 0, 0, 0.14),0px 6px 28px 5px rgba(0, 0, 0, 0.12)',\r\n '0px 8px 10px -5px rgba(0, 0, 0, 0.2),0px 16px 24px 2px rgba(0, 0, 0, 0.14),0px 6px 30px 5px rgba(0, 0, 0, 0.12)',\r\n '0px 8px 11px -5px rgba(0, 0, 0, 0.2),0px 17px 26px 2px rgba(0, 0, 0, 0.14),0px 6px 32px 5px rgba(0, 0, 0, 0.12)',\r\n '0px 9px 11px -5px rgba(0, 0, 0, 0.2),0px 18px 28px 2px rgba(0, 0, 0, 0.14),0px 7px 34px 6px rgba(0, 0, 0, 0.12)',\r\n '0px 9px 12px -6px rgba(0, 0, 0, 0.2),0px 19px 29px 2px rgba(0, 0, 0, 0.14),0px 7px 36px 6px rgba(0, 0, 0, 0.12)',\r\n '0px 10px 13px -6px rgba(0, 0, 0, 0.2),0px 20px 31px 3px rgba(0, 0, 0, 0.14),0px 8px 38px 7px rgba(0, 0, 0, 0.12)',\r\n '0px 10px 13px -6px rgba(0, 0, 0, 0.2),0px 21px 33px 3px rgba(0, 0, 0, 0.14),0px 8px 40px 7px rgba(0, 0, 0, 0.12)',\r\n '0px 10px 14px -6px rgba(0, 0, 0, 0.2),0px 22px 35px 3px rgba(0, 0, 0, 0.14),0px 8px 42px 7px rgba(0, 0, 0, 0.12)',\r\n '0px 11px 14px -7px rgba(0, 0, 0, 0.2),0px 23px 36px 3px rgba(0, 0, 0, 0.14),0px 9px 44px 8px rgba(0, 0, 0, 0.12)',\r\n '0px 11px 15px -7px rgba(0, 0, 0, 0.2),0px 24px 38px 3px rgba(0, 0, 0, 0.14),0px 9px 46px 8px rgba(0, 0, 0, 0.12)'\r\n];\r\n","import merge from 'lodash/merge';\r\nimport { createTheme, responsiveFontSizes } from '@material-ui/core/styles';\r\nimport type { Direction, Theme, ThemeOptions } from '@material-ui/core';\r\nimport { THEMES } from '../constants';\r\nimport { lightShadows, darkShadows } from './shadows';\r\n\r\ninterface ThemeConfig {\r\n direction?: Direction;\r\n responsiveFontSizes?: boolean;\r\n roundedCorners?: boolean;\r\n theme?: string;\r\n}\r\n\r\nconst baseOptions: ThemeOptions = {\r\n direction: 'ltr',\r\n components: {\r\n MuiAvatar: {\r\n styleOverrides: {\r\n fallback: {\r\n height: '75%',\r\n width: '75%'\r\n }\r\n }\r\n },\r\n MuiButton: {\r\n styleOverrides: {\r\n root: {\r\n textTransform: 'none'\r\n }\r\n }\r\n },\r\n MuiCssBaseline: {\r\n styleOverrides: {\r\n '*': {\r\n boxSizing: 'border-box'\r\n },\r\n html: {\r\n MozOsxFontSmoothing: 'grayscale',\r\n WebkitFontSmoothing: 'antialiased',\r\n height: '100%',\r\n width: '100%'\r\n },\r\n body: {\r\n height: '100%'\r\n },\r\n '#root': {\r\n height: '100%'\r\n },\r\n '#nprogress .bar': {\r\n zIndex: '2000 !important'\r\n }\r\n }\r\n },\r\n MuiCardHeader: {\r\n defaultProps: {\r\n titleTypographyProps: {\r\n variant: 'h6'\r\n }\r\n }\r\n },\r\n MuiLinearProgress: {\r\n styleOverrides: {\r\n root: {\r\n // borderRadius: 1,\r\n borderRadius: 0,\r\n overflow: 'hidden'\r\n }\r\n }\r\n },\r\n MuiListItemIcon: {\r\n styleOverrides: {\r\n root: {\r\n minWidth: 'auto',\r\n marginRight: '16px'\r\n }\r\n }\r\n },\r\n MuiPaper: {\r\n styleOverrides: {\r\n root: {\r\n backgroundImage: 'none'\r\n }\r\n }\r\n }\r\n },\r\n typography: {\r\n button: {\r\n fontWeight: 300\r\n },\r\n fontFamily: '-apple-system, BlinkMacSystemFont, \"Segoe UI\", Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\"',\r\n h1: {\r\n fontWeight: 600,\r\n fontSize: '3.5rem'\r\n },\r\n h2: {\r\n fontWeight: 600,\r\n fontSize: '3rem'\r\n },\r\n h3: {\r\n fontWeight: 600,\r\n fontSize: '2.25rem'\r\n },\r\n h4: {\r\n fontWeight: 600,\r\n fontSize: '2rem'\r\n },\r\n h5: {\r\n fontWeight: 600,\r\n fontSize: '1.5rem'\r\n },\r\n h6: {\r\n fontWeight: 300,\r\n fontSize: '1.125rem'\r\n },\r\n overline: {\r\n fontWeight: 300\r\n }\r\n }\r\n};\r\n// export interface PaletteOptions {\r\n// primary?: PaletteColorOptions;\r\n// secondary?: PaletteColorOptions;\r\n// error?: PaletteColorOptions;\r\n// warning?: PaletteColorOptions;\r\n// info?: PaletteColorOptions;\r\n// success?: PaletteColorOptions;\r\n// mode?: PaletteMode;\r\n// tonalOffset?: PaletteTonalOffset;\r\n// contrastThreshold?: number;\r\n// common?: Partial;\r\n// grey?: ColorPartial;\r\n// text?: Partial;\r\n// divider?: string;\r\n// action?: Partial;\r\n// background?: Partial;\r\n// getContrastText?: (background: string) => string;\r\n// }\r\nconst themesOptions: Record = {\r\n [THEMES.TOPBAR]: {\r\n components: {\r\n MuiInputBase: {\r\n styleOverrides: {\r\n input: {\r\n '&::placeholder': {\r\n opacity: 0.86,\r\n color: '#42526e'\r\n },\r\n WebkitBoxShadow: '#fff'\r\n }\r\n }\r\n }\r\n },\r\n palette: {\r\n action: {\r\n active: '#6b778c'\r\n },\r\n background: {\r\n default: '#f4f5f7',\r\n paper: '#ffffff'\r\n },\r\n error: {\r\n contrastText: '#ffffff',\r\n main: '#f44336'\r\n },\r\n mode: 'light',\r\n primary: {\r\n contrastText: '#ffffff',\r\n main: '#fff'// '#008cff' // '#5664d2'\r\n },\r\n success: {\r\n contrastText: '#ffffff',\r\n main: '#4caf50'\r\n },\r\n text: {\r\n primary: '#172b4d',\r\n secondary: '#6b778c'\r\n },\r\n warning: {\r\n contrastText: '#ffffff',\r\n main: '#ff9800'\r\n }\r\n },\r\n shadows: lightShadows\r\n },\r\n [THEMES.CUSTOM]: {\r\n components: {\r\n MuiInputBase: {\r\n styleOverrides: {\r\n input: {\r\n '&::placeholder': {\r\n opacity: 0.86,\r\n color: '#42526e'\r\n },\r\n WebkitBoxShadow: '#000'\r\n }\r\n }\r\n },\r\n MuiButton: {\r\n styleOverrides: {\r\n label: {\r\n paddingLeft: 7,\r\n paddingRight: 7\r\n }\r\n }\r\n },\r\n MuiCard: {\r\n styleOverrides: {\r\n root: {\r\n boxShadow: 'none',\r\n },\r\n }\r\n },\r\n MuiTextField: {\r\n styleOverrides: {\r\n root: {\r\n '& .searchInput': {\r\n '& fieldset': {\r\n borderColor: '#fff',\r\n },\r\n '&:hover fieldset': {\r\n borderColor: '#01a65b'\r\n },\r\n '&.Mui-focused fieldset': {\r\n borderColor: '#01a65b',\r\n },\r\n }\r\n }\r\n }\r\n },\r\n MuiListItem: {\r\n styleOverrides: {\r\n root: {\r\n ':hover': {\r\n backgroundColor: '#e3f2fd'\r\n }\r\n },\r\n // selected: {\r\n // backgroundColor: '#addaf8'\r\n // }\r\n }\r\n }\r\n },\r\n palette: {\r\n action: {\r\n active: '#6b778c'\r\n },\r\n background: {\r\n default: '#ffffff', // '#f3f2ef',\r\n paper: '#ffffff'\r\n },\r\n divider: '#c4c4c4',\r\n error: {\r\n contrastText: '#ffffff',\r\n main: '#dc3535'\r\n },\r\n mode: 'light',\r\n secondary: {\r\n contrastText: '#ffffff',\r\n main: '#ffadbc' // '#F37878' // '#A2728D' // '#EAAFAD' // '#EACBC3' // '#5F5884' // '#A04C59' // '#798D97' // '#765f50' // '#f08585' // '#ffad98'\r\n },\r\n primary: {\r\n contrastText: '#ffffff',\r\n main: '#1695ea' // '#01a65b' // '#1B74E4'// '#008cff' // '#5664d2'\r\n },\r\n success: {\r\n contrastText: '#ffffff',\r\n main: '#4caf50'\r\n },\r\n text: {\r\n primary: '#172b4d',\r\n secondary: '#5b677c' // '#6b778c'\r\n },\r\n warning: {\r\n contrastText: '#ffffff',\r\n main: '#ffe9b1'\r\n }\r\n },\r\n shadows: lightShadows\r\n },\r\n [THEMES.LIGHT]: {\r\n components: {\r\n MuiInputBase: {\r\n styleOverrides: {\r\n input: {\r\n '&::placeholder': {\r\n opacity: 0.86,\r\n color: '#42526e'\r\n }\r\n }\r\n }\r\n }\r\n },\r\n palette: {\r\n action: {\r\n active: '#6b778c'\r\n },\r\n background: {\r\n default: '#f4f5f7',\r\n paper: '#ffffff'\r\n },\r\n error: {\r\n contrastText: '#ffffff',\r\n main: '#f44336'\r\n },\r\n mode: 'light',\r\n primary: {\r\n contrastText: '#ffffff',\r\n main: '#5664d2'\r\n },\r\n success: {\r\n contrastText: '#ffffff',\r\n main: '#4caf50'\r\n },\r\n text: {\r\n primary: '#172b4d',\r\n secondary: '#6b778c'\r\n },\r\n warning: {\r\n contrastText: '#ffffff',\r\n main: '#ff9800'\r\n }\r\n },\r\n shadows: lightShadows\r\n },\r\n [THEMES.DARK]: {\r\n components: {\r\n MuiTableCell: {\r\n styleOverrides: {\r\n root: {\r\n borderBottom: '1px solid rgba(145, 158, 171, 0.24)'\r\n }\r\n }\r\n }\r\n },\r\n palette: {\r\n background: {\r\n default: '#171c24',\r\n paper: '#222b36'\r\n },\r\n divider: 'rgba(145, 158, 171, 0.24)',\r\n error: {\r\n contrastText: '#ffffff',\r\n main: '#f44336'\r\n },\r\n mode: 'dark',\r\n primary: {\r\n contrastText: '#ffffff',\r\n main: '#688eff'\r\n },\r\n success: {\r\n contrastText: '#ffffff',\r\n main: '#4caf50'\r\n },\r\n text: {\r\n primary: '#ffffff',\r\n secondary: '#919eab'\r\n },\r\n warning: {\r\n contrastText: '#ffffff',\r\n main: '#ff9800'\r\n }\r\n },\r\n shadows: darkShadows\r\n },\r\n [THEMES.NATURE]: {\r\n components: {\r\n MuiTableCell: {\r\n styleOverrides: {\r\n root: {\r\n borderBottom: '1px solid rgba(145, 158, 171, 0.24)'\r\n }\r\n }\r\n }\r\n },\r\n palette: {\r\n background: {\r\n default: '#1c2531',\r\n paper: '#293142'\r\n },\r\n divider: 'rgba(145, 158, 171, 0.24)',\r\n error: {\r\n contrastText: '#ffffff',\r\n main: '#f44336'\r\n },\r\n mode: 'dark',\r\n primary: {\r\n contrastText: '#ffffff',\r\n main: '#01ab56'\r\n },\r\n success: {\r\n contrastText: '#ffffff',\r\n main: '#4caf50'\r\n },\r\n text: {\r\n primary: '#ffffff',\r\n secondary: '#919eab'\r\n },\r\n warning: {\r\n contrastText: '#ffffff',\r\n main: '#ff9800'\r\n }\r\n },\r\n shadows: darkShadows\r\n }\r\n};\r\n\r\nexport const createCustomTheme = (config: ThemeConfig = {}): Theme => {\r\n let themeOptions = themesOptions[config.theme];\r\n\r\n if (!themeOptions) {\r\n console.warn(new Error(`The theme ${config.theme} is not valid`));\r\n themeOptions = themesOptions[THEMES.LIGHT];\r\n }\r\n\r\n let theme = createTheme(\r\n merge(\r\n {},\r\n baseOptions,\r\n themeOptions,\r\n {\r\n ...(\r\n config.roundedCorners && {\r\n shape: {\r\n // borderRadius: 16\r\n borderRadius: 5\r\n }\r\n }\r\n )\r\n },\r\n {\r\n direction: config.direction\r\n }\r\n )\r\n );\r\n\r\n if (config.responsiveFontSizes) {\r\n theme = responsiveFontSizes(theme);\r\n }\r\n\r\n return theme as Theme;\r\n};\r\n\r\n// theme index #01a65b -> #1695ea\r\n// text light bg color #e7f7f0 -> #e3f2fd\r\n// bgcolor #e3e8e3 -> #f3f2ef\r\n","import { useEffect, useRef, useState } from 'react';\r\nimport type { FC } from 'react';\r\nimport {\r\n Box,\r\n CircularProgress,\r\n Divider,\r\n IconButton,\r\n MenuItem,\r\n Popover,\r\n ThemeProvider,\r\n Typography\r\n} from '@material-ui/core';\r\nimport PropTypes from 'prop-types';\r\nimport useSettings from 'src/hooks/useSettings';\r\nimport { createCustomTheme } from 'src/theme';\r\nimport { useSelector } from 'src/store';\r\nimport PeopleAltIcon from '@mui/icons-material/PeopleAlt';\r\nimport useMounted from 'src/hooks/useMounted';\r\nimport { UserAvatar } from 'src/components/SmallUserInfo';\r\nimport { OrgMemberForOrg, Organization } from 'src/../../Common/Model/organization';\r\nimport Collapse from '@material-ui/core/Collapse';\r\nimport { orgToMiniUser, userToMiniUser } from 'src/utils/getUserMinInfo';\r\nimport 'src/theme/scrollbar.css';\r\nimport ArrowDropDownIcon from '@mui/icons-material/ArrowDropDown';\r\nimport LogoutIcon from '@mui/icons-material/Logout';\r\nimport { getActiveType, getActiveUserMinInfo } from 'src/utils/getActiveOrgInfo';\r\nimport getUserDisplayName from 'src/utils/getUserDisplayName';\r\nimport { ACCZIOM_CLIENT, ACCZIOM_MEMBER, tenary } from 'src/globals';\r\n\r\ninterface MeOrgsProps {\r\n orgs: Organization[];\r\n onMeClicked: () => void;\r\n onOrgClicked: (id: string) => Promise;\r\n opened: boolean;\r\n isSwitchingOrg: boolean;\r\n}\r\n\r\nconst MeOrgs: FC = ({ orgs, onMeClicked, onOrgClicked, opened, isSwitchingOrg }) => {\r\n const { activeOrgId } = useSelector((state) => state.organization);\r\n const activeUserMinInfo = getActiveUserMinInfo();\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n {getUserDisplayName(activeUserMinInfo)}\r\n \r\n \r\n \r\n \r\n {orgs.map((org) => {\r\n const orgMinInfo = orgToMiniUser(org);\r\n return (\r\n { await onOrgClicked(org.organizationId); }}\r\n sx={{\r\n pl: 6,\r\n pr: 3,\r\n py: 1.5\r\n }}\r\n disabled={isSwitchingOrg}\r\n >\r\n \r\n \r\n \r\n {getUserDisplayName(orgMinInfo)}\r\n \r\n \r\n \r\n );\r\n })}\r\n \r\n \r\n );\r\n};\r\n\r\nMeOrgs.propTypes = {\r\n orgs: PropTypes.array.isRequired,\r\n onMeClicked: PropTypes.func.isRequired,\r\n onOrgClicked: PropTypes.func.isRequired,\r\n opened: PropTypes.bool.isRequired,\r\n isSwitchingOrg: PropTypes.bool.isRequired\r\n};\r\n\r\ninterface OrgTeamsProps {\r\n member: OrgMemberForOrg;\r\n onOrgClicked: (id: string) => Promise;\r\n onTeamClicked: (id: string) => Promise;\r\n opened: boolean;\r\n isSwitchingOrg: boolean;\r\n}\r\n\r\nconst OrgTeams: FC = ({ member, onOrgClicked, onTeamClicked, opened, isSwitchingOrg }) => {\r\n const { orgInfos, teamInfos, activeOrgId, activeTeamId } = useSelector((state) => state.organization);\r\n const orgInfo = orgInfos.find((org) => org.organizationId === member.oid);\r\n\r\n return (\r\n \r\n { await onOrgClicked(orgInfo.organizationId); }}\r\n disabled={isSwitchingOrg}\r\n >\r\n \r\n \r\n \r\n {orgInfo.tradingName}\r\n \r\n \r\n \r\n \r\n {member.tids.map((teamId) => {\r\n const team = teamInfos.find((teamInfo) => teamInfo.tid === teamId);\r\n return (\r\n { await onTeamClicked(teamId); }}\r\n sx={{\r\n pl: 6,\r\n pr: 3,\r\n py: 1.5\r\n }}\r\n disabled={isSwitchingOrg}\r\n >\r\n \r\n \r\n \r\n {team.name}\r\n \r\n \r\n \r\n );\r\n })}\r\n \r\n \r\n );\r\n};\r\n\r\nOrgTeams.propTypes = {\r\n member: PropTypes.any.isRequired,\r\n onOrgClicked: PropTypes.func.isRequired,\r\n onTeamClicked: PropTypes.func.isRequired,\r\n opened: PropTypes.bool.isRequired,\r\n isSwitchingOrg: PropTypes.bool.isRequired\r\n};\r\n\r\ninterface OrgPopoverProps {\r\n loading: boolean;\r\n onChange: (oid: string, tid: string) => Promise;\r\n isSwitchingOrg: boolean;\r\n onLogout: () => Promise;\r\n}\r\n\r\nconst maxCount = 10;\r\n\r\nconst getPopHeight = (orgCount: number, teamCount: number, idx: number): number => {\r\n if (orgCount + teamCount > maxCount) {\r\n if (idx >= maxCount) return maxCount * 52;\r\n if (idx + teamCount >= maxCount) return (idx + 1) * 52 + (maxCount - 1 - idx) * 48;\r\n return teamCount * 48 + (maxCount - teamCount) * 52 + 52 + 1;\r\n }\r\n return orgCount * 52 + teamCount * 48 + 52 + 1;\r\n};\r\n\r\nconst OrgPopover: FC = ({ loading, onChange, isSwitchingOrg, onLogout }) => {\r\n const { settings } = useSettings();\r\n const mounted = useMounted();\r\n const anchorRef = useRef(null);\r\n const { memberInfos, orgInfos, activeOrgId, activeTeamId } = useSelector((state) => state.organization);\r\n const clientSupplierInfos = orgInfos.filter((org) => memberInfos.filter((member) => member.type === ACCZIOM_CLIENT).map((member) => member.oid).includes(org.organizationId));\r\n const clientSupplierIds = clientSupplierInfos.map((org) => org.organizationId);\r\n const { userInfo } = useSelector((state) => state.user);\r\n const [orgMenuOpen, setOrgMenuOpen] = useState(false);\r\n const [openedOrgId, setOpenedOrgId] = useState(activeOrgId);\r\n const [popHeight, setPopHeight] = useState(getPopHeight(\r\n clientSupplierIds.length > 0 ? memberInfos.length - clientSupplierIds.length + 1 : memberInfos.length,\r\n clientSupplierIds.length > 0 && clientSupplierIds.includes(openedOrgId) ? clientSupplierIds.length : memberInfos.find((member) => member.oid === openedOrgId).tids.length,\r\n clientSupplierIds.length > 0 ? tenary(clientSupplierIds.includes(openedOrgId), 0, memberInfos.findIndex((member) => member.oid === openedOrgId) + 1) : memberInfos.findIndex((member) => member.oid === openedOrgId)\r\n ));\r\n\r\n const theme = createCustomTheme({\r\n direction: settings.direction,\r\n responsiveFontSizes: settings.responsiveFontSizes,\r\n roundedCorners: settings.roundedCorners,\r\n theme: 'CUSTOM'\r\n });\r\n\r\n const handleClickMe = (): void => {\r\n setOpenedOrgId(clientSupplierIds[0]);\r\n };\r\n\r\n const handleClickOrg = async (orgId: string): Promise => {\r\n setOpenedOrgId(orgId);\r\n if (memberInfos.find((member) => member.oid === orgId).tids.length < 1) {\r\n if (activeOrgId !== orgId) await onChange(orgId, null);\r\n if (mounted.current) setOrgMenuOpen(false);\r\n }\r\n };\r\n\r\n const handleClickSupplierOrg = async (orgId: string): Promise => {\r\n if (activeOrgId !== orgId) await onChange(orgId, null);\r\n if (mounted.current) setOrgMenuOpen(false);\r\n };\r\n\r\n const handleClickTeam = async (teamId: string): Promise => {\r\n if (activeTeamId !== teamId) await onChange(openedOrgId, teamId);\r\n if (mounted.current) setOrgMenuOpen(false);\r\n };\r\n\r\n useEffect(() => {\r\n if (mounted.current) {\r\n setPopHeight(getPopHeight(\r\n clientSupplierIds.length > 0 ? memberInfos.length - clientSupplierIds.length + 1 : memberInfos.length,\r\n clientSupplierIds.length > 0 && clientSupplierIds.includes(openedOrgId) ? clientSupplierIds.length : memberInfos.find((member) => member.oid === openedOrgId).tids.length,\r\n clientSupplierIds.length > 0 ? tenary(clientSupplierIds.includes(openedOrgId), 0, memberInfos.findIndex((member) => member.oid === openedOrgId) + 1) : memberInfos.findIndex((member) => member.oid === openedOrgId)\r\n ));\r\n }\r\n }, [mounted, memberInfos, openedOrgId]);\r\n\r\n useEffect(() => {\r\n if (mounted.current && orgMenuOpen) setOpenedOrgId(activeOrgId);\r\n }, [mounted, orgMenuOpen]);\r\n\r\n return (\r\n {\r\n if (!orgMenuOpen) setOrgMenuOpen(true);\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n {getUserDisplayName(userToMiniUser(userInfo))}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n { setOrgMenuOpen(false); }}\r\n open={orgMenuOpen}\r\n PaperProps={{\r\n sx: {\r\n minWidth: 200,\r\n overflow: 'hidden',\r\n mt: 1\r\n }\r\n }}\r\n >\r\n \r\n {\r\n loading ? (\r\n \r\n \r\n \r\n ) : (\r\n \r\n {clientSupplierInfos.length > 0 && (\r\n \r\n )}\r\n {memberInfos.filter((member) => member.type === ACCZIOM_MEMBER).map((member) => (\r\n \r\n ))}\r\n \r\n \r\n thm.palette.secondary.main\r\n }\r\n }}\r\n >\r\n \r\n \r\n Sign Out\r\n \r\n \r\n \r\n \r\n )\r\n }\r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nOrgPopover.propTypes = {\r\n loading: PropTypes.bool,\r\n onChange: PropTypes.func.isRequired,\r\n isSwitchingOrg: PropTypes.bool.isRequired,\r\n onLogout: PropTypes.func\r\n};\r\n\r\nexport default OrgPopover;\r\n","import { useRef, useState } from 'react';\r\nimport type { FC } from 'react';\r\nimport {\r\n Box,\r\n Popover,\r\n Badge,\r\n Typography,\r\n MenuItem\r\n} from '@material-ui/core';\r\nimport PropTypes from 'prop-types';\r\nimport { tenary } from 'src/globals';\r\nimport { matchPath, useLocation, useNavigate } from 'react-router-dom';\r\nimport useMounted from 'src/hooks/useMounted';\r\nimport ArrowDropDownIcon from '@mui/icons-material/ArrowDropDown';\r\n\r\ninterface SubItem {\r\n title: string;\r\n href?: string;\r\n onClick?: any;\r\n icon?: any;\r\n value?: number;\r\n}\r\nexport interface Item {\r\n title: string;\r\n href?: string;\r\n onClick?: any;\r\n icon?: any;\r\n authRequired?: number;\r\n items?: SubItem[];\r\n}\r\n\r\ninterface NavMenuItemProps {\r\n data: Item;\r\n isHorizontal: boolean;\r\n value?: number;\r\n}\r\n\r\nconst NavMenuItem: FC = (props) => {\r\n const navigate = useNavigate();\r\n const mounted = useMounted();\r\n const { pathname } = useLocation();\r\n const anchorRef = useRef(null);\r\n const { data, isHorizontal, value } = props;\r\n const { icon: Icon, title, href, onClick, items } = data;\r\n const [open, setOpen] = useState(false);\r\n const [status, setStatus] = useState('normal');\r\n\r\n const isSamePath = (path: string): boolean => {\r\n if (!path || ['/', '/home', '/login'].includes(path)) return false;\r\n return (!!matchPath({\r\n path,\r\n caseSensitive: false,\r\n end: false\r\n }, pathname));\r\n };\r\n const selected = !!href && isSamePath(href);\r\n\r\n const handleClose = (): void => {\r\n setOpen(false);\r\n };\r\n\r\n return (\r\n <>\r\n {\r\n event.stopPropagation();\r\n setStatus('hover');\r\n }}\r\n onMouseLeave={(event) => {\r\n event.stopPropagation();\r\n setStatus('normal');\r\n }}\r\n onMouseDown={(event) => {\r\n event.stopPropagation();\r\n setStatus('down');\r\n }}\r\n onMouseUp={(event) => {\r\n event.stopPropagation();\r\n if (status !== 'down') return;\r\n if (items?.length > 0) {\r\n setOpen(true);\r\n setStatus('normal');\r\n } else {\r\n setStatus('normal');\r\n onClick?.();\r\n if (href) navigate(href);\r\n }\r\n }}\r\n style={{\r\n cursor: 'pointer'\r\n }}\r\n sx={{\r\n py: isHorizontal ? 0.5 : 1,\r\n px: isHorizontal ? 1.5 : 1,\r\n borderRadius: 1,\r\n position: 'relative',\r\n transition: 'box-shadow 250ms cubic-bezier(0.4, 0, 0.2, 1) 0ms',\r\n '::after': {\r\n content: '\"\"',\r\n width: '100%',\r\n height: '100%',\r\n backgroundColor: selected ? '#00000020' : '#00000000',\r\n position: 'absolute',\r\n left: '0px',\r\n top: '0px',\r\n zIndex: '-1',\r\n transition: 'background-color 250ms cubic-bezier(0.4, 0, 0.2, 1) 0ms',\r\n borderRadius: 1\r\n },\r\n ...(selected && { boxShadow: '0px 1px 2px #0a164626' })\r\n }}\r\n >\r\n \r\n {value}\r\n \r\n ) : value\r\n }\r\n variant=\"dot\"\r\n color=\"error\"\r\n anchorOrigin={{\r\n vertical: 'top',\r\n horizontal: 'right'\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n {title}\r\n \r\n {items.length > 0 && (\r\n \r\n )}\r\n \r\n \r\n {items?.length > 0 && (\r\n \r\n {items.map((item) => {\r\n const SubIcon = item.icon as any;\r\n return (\r\n {\r\n event.stopPropagation();\r\n item.onClick?.();\r\n if (item.href) navigate(item.href);\r\n if (mounted.current) handleClose();\r\n }}\r\n sx={{\r\n px: 3,\r\n py: 1.5\r\n }}\r\n >\r\n \r\n \r\n {!item.value ? (\r\n \r\n {item.title}\r\n \r\n ) : (\r\n \r\n \r\n {item.title}\r\n \r\n \r\n )}\r\n \r\n \r\n );\r\n })}\r\n \r\n )}\r\n \r\n );\r\n};\r\n\r\nNavMenuItem.propTypes = {\r\n data: PropTypes.any,\r\n isHorizontal: PropTypes.bool,\r\n value: PropTypes.number\r\n};\r\n\r\nexport default NavMenuItem;\r\n","import {\r\n Box,\r\n CircularProgress,\r\n TextField\r\n} from '@material-ui/core';\r\nimport { FC, useEffect, useState } from 'react';\r\nimport { BiSearch } from 'react-icons/bi';\r\nimport PropTypes from 'prop-types';\r\nimport { useLocation } from 'react-router-dom';\r\nimport useMounted from 'src/hooks/useMounted';\r\nimport { BACKGROUND_DEEP } from 'src/globals';\r\nimport { useDispatch, useSelector } from 'src/store';\r\nimport { setQuery } from 'src/slices/user';\r\n\r\nconst SearchInput: FC<{\r\n placeholder?: string;\r\n onSearch: (query: string) => void;\r\n hasButton: boolean;\r\n isSearching?: boolean;\r\n disabled?: boolean;\r\n}> = ({\r\n placeholder,\r\n onSearch,\r\n hasButton,\r\n isSearching,\r\n disabled\r\n}) => {\r\n const mounted = useMounted();\r\n const dispatch = useDispatch();\r\n const { pathname } = useLocation();\r\n const [isFocused, setFocused] = useState(false);\r\n\r\n const { query } = useSelector((state) => state.user);\r\n\r\n useEffect(() => {\r\n if (mounted.current) dispatch(setQuery(''));\r\n }, [mounted, pathname]);\r\n\r\n return (\r\n \r\n \r\n setFocused(true)}\r\n onBlur={() => {\r\n setFocused(false);\r\n }}\r\n InputProps={{\r\n sx: {\r\n fontSize: 15,\r\n bgcolor: 'background.paper',\r\n ...(hasButton && { pr: 4 })\r\n }\r\n }}\r\n onChange={(e) => {\r\n dispatch(setQuery(e.target.value));\r\n if (!hasButton) onSearch(e.target.value);\r\n }}\r\n onKeyDown={async (e) => {\r\n if ((e.code === 'Enter' || e.code === 'NumpadEnter')) {\r\n onSearch(query);\r\n }\r\n }}\r\n placeholder={disabled ? '' : placeholder}\r\n value={query}\r\n size=\"small\"\r\n variant=\"outlined\"\r\n disabled={isSearching || disabled}\r\n />\r\n {!disabled && hasButton && (\r\n \r\n {\r\n if (!isSearching) onSearch(query);\r\n }}\r\n >\r\n {isSearching ? (\r\n \r\n ) : (\r\n \r\n )}\r\n \r\n \r\n )}\r\n \r\n \r\n );\r\n};\r\n\r\nSearchInput.propTypes = {\r\n placeholder: PropTypes.string,\r\n onSearch: PropTypes.func.isRequired,\r\n hasButton: PropTypes.bool.isRequired,\r\n isSearching: PropTypes.bool,\r\n disabled: PropTypes.bool\r\n};\r\n\r\nexport default SearchInput;\r\n","import type { FC } from 'react';\r\nimport { useState } from 'react';\r\nimport { Box } from '@material-ui/core';\r\nimport PropTypes from 'prop-types';\r\nimport { useNavigate } from 'react-router-dom';\r\n\r\ninterface NavItemProps {\r\n sourcePath: string;\r\n altName: string;\r\n height?: number;\r\n href?: string;\r\n}\r\n\r\nconst NavItem: FC = ({ sourcePath, altName, height, href }) => {\r\n const navigate = useNavigate();\r\n const [status, setStatus] = useState('normal');\r\n\r\n return (\r\n setStatus('hover')}\r\n onMouseLeave={() => setStatus('normal')}\r\n onMouseDown={() => setStatus('down')}\r\n onMouseUp={() => {\r\n if (status !== 'down') return;\r\n setStatus('normal');\r\n navigate(href);\r\n }}\r\n style={{\r\n cursor: 'pointer'\r\n }}\r\n sx={{\r\n pt: status === 'down' ? '9px' : '8px',\r\n pb: status === 'down' ? '7px' : '8px',\r\n pl: status === 'down' ? '9px' : '8px',\r\n pr: status === 'down' ? '7px' : '8px',\r\n borderRadius: 1,\r\n position: 'relative',\r\n transition: 'box-shadow 250ms cubic-bezier(0.4, 0, 0.2, 1) 0ms',\r\n '::after': {\r\n content: '\"\"',\r\n width: '100%',\r\n height: '100%',\r\n backgroundColor: status === 'down' || status === 'hover' ? '#00000020' : '#00000000',\r\n position: 'absolute',\r\n left: '0px',\r\n top: '0px',\r\n zIndex: '-1',\r\n transition: 'background-color 250ms cubic-bezier(0.4, 0, 0.2, 1) 0ms',\r\n borderRadius: 1\r\n },\r\n ...((status === 'down' || status === 'hover') && { boxShadow: '0px 1px 2px #0a164626' })\r\n }}\r\n >\r\n \r\n \r\n );\r\n};\r\n\r\nNavItem.propTypes = {\r\n sourcePath: PropTypes.string,\r\n href: PropTypes.string,\r\n height: PropTypes.number,\r\n altName: PropTypes.string\r\n};\r\n\r\nexport default NavItem;\r\n","import { useState, useEffect } from 'react';\r\nimport type { FC } from 'react';\r\nimport { AppBar, Box, Typography } from '@material-ui/core';\r\nimport { experimentalStyled } from '@material-ui/core/styles';\r\nimport { useDispatch, useSelector } from 'src/store';\r\nimport { useLocation, useParams, useNavigate } from 'react-router-dom';\r\nimport useMounted from 'src/hooks/useMounted';\r\nimport { setActiveOrgId, setActiveTeamId, setBannerUrl, setOrgStructures, updateCurExRate } from 'src/slices/organization';\r\nimport { initChatApi, initNeedReloads, loadContact, loadWallet } from 'src/worker/init';\r\nimport { getNavbarApprisingCount } from 'src/utils/getApprisingCount';\r\nimport { lambdaGetFeedback, lambdaGetOrgActivatedMembersOfUser, lambdaGetOrgBannerUrl, lambdaJoinAsClient } from 'src/aws/lambdaDispatch';\r\nimport toast from 'react-hot-toast';\r\nimport OrgPopover from './OrgPopover';\r\nimport { loadApprising } from 'src/slices/apprising';\r\nimport { getPossibleHrefs } from 'src/utils/filterUrlsByRole';\r\nimport SettingsOutlinedIcon from '@mui/icons-material/SettingsOutlined';\r\nimport { ACCZIOM_CLIENT, ACCZIOM_MEMBER, ACCZIOM_ORG, ACCZIOM_TEAM, ACCZIOM_USER, allCurrencyUnits, CONNECT_DLG_JOIN, INNERORG_CHAT_THREAD, NAVBAR_HEIGHT, REQUIRE_AUTH_MODE, REQUIRE_NONE_MODE, REQUIRE_NOT_AUTH_MODE, STATUS_ACTIVATED, STATUS_PENDING } from 'src/globals';\r\nimport { fetchUrl } from 'src/utils/fileUpDownload';\r\nimport { wsConnect, wsDisconnect, wsTeamConnect, wsTeamDisconnect } from 'src/apis/wsApi';\r\nimport useSearch from 'src/hooks/useSearch';\r\nimport getUserDisplayName from 'src/utils/getUserDisplayName';\r\nimport { setSearchHistory } from 'src/slices/favorite';\r\nimport AccountCircleOutlinedIcon from '@mui/icons-material/AccountCircleOutlined';\r\nimport NavMenuItem, { Item } from 'src/components/interact/NavMenuItem';\r\nimport { setConnectDlgOpen } from 'src/slices/user';\r\nimport BalanceIcon from '@mui/icons-material/Balance';\r\nimport { Adjustments } from 'src/icons/Organization';\r\nimport HomeRepairServiceOutlinedIcon from '@mui/icons-material/HomeRepairServiceOutlined';\r\nimport SettingsSuggestOutlinedIcon from '@mui/icons-material/SettingsSuggestOutlined';\r\nimport AccountTreeOutlinedIcon from '@mui/icons-material/AccountTreeOutlined';\r\nimport GroupOutlinedIcon from '@mui/icons-material/GroupOutlined';\r\nimport SourceOutlinedIcon from '@mui/icons-material/SourceOutlined';\r\nimport TextSnippetOutlinedIcon from '@mui/icons-material/TextSnippetOutlined';\r\nimport SellOutlinedIcon from '@mui/icons-material/SellOutlined';\r\nimport ShoppingBasketOutlinedIcon from '@mui/icons-material/ShoppingBasketOutlined';\r\nimport AirlineStopsOutlinedIcon from '@mui/icons-material/AirlineStopsOutlined';\r\nimport MonetizationOnOutlinedIcon from '@mui/icons-material/MonetizationOnOutlined';\r\nimport ChatOutlinedIcon from '@mui/icons-material/ChatOutlined';\r\nimport CampaignOutlinedIcon from '@mui/icons-material/CampaignOutlined';\r\nimport TextsmsOutlinedIcon from '@mui/icons-material/TextsmsOutlined';\r\nimport BusinessOutlinedIcon from '@mui/icons-material/BusinessOutlined';\r\nimport AutoAwesomeOutlinedIcon from '@mui/icons-material/AutoAwesomeOutlined';\r\nimport AssignmentTurnedInOutlinedIcon from '@mui/icons-material/AssignmentTurnedInOutlined';\r\nimport PersonAddAltOutlinedIcon from '@mui/icons-material/PersonAddAltOutlined';\r\nimport SearchInput from 'src/components/interact/SearchInput';\r\nimport { setSelectedMode } from 'src/slices/chat';\r\nimport { chatApi } from 'src/apis/chatApi';\r\nimport useAuth from 'src/hooks/useAuth';\r\nimport NavItem from '../interact/NavItem';\r\nimport SensorOccupiedIcon from '@mui/icons-material/SensorOccupied';\r\nimport { UserAvatar } from '../SmallUserInfo';\r\nimport { getActiveOrgInfo, getActiveOrgMinInfo, getActiveType } from 'src/utils/getActiveOrgInfo';\r\nimport CircleType from 'circletype';\r\nimport LogoutIcon from '@mui/icons-material/Logout';\r\nimport { getExchangeRatesForOneUSD } from 'src/utils/priceUtils';\r\nimport { MdOutlineForum } from 'react-icons/md';\r\nimport { clearShareState } from 'src/slices/share';\r\nimport { loadFeedback } from 'src/slices/feedback';\r\nimport QuestionMarkIcon from '@mui/icons-material/QuestionMark';\r\n// import useSettings from 'src/hooks/useSettings';\r\n\r\nconst DashboardItems: Item[] = [\r\n {\r\n title: 'Marketplace',\r\n href: '/marketplace',\r\n onClick: null,\r\n authRequired: REQUIRE_NONE_MODE,\r\n icon: BalanceIcon,\r\n items: [\r\n {\r\n title: 'Organizations',\r\n href: '/marketplace/organization',\r\n onClick: null,\r\n icon: Adjustments\r\n },\r\n {\r\n title: 'Services',\r\n href: '/marketplace/microservice',\r\n onClick: null,\r\n icon: HomeRepairServiceOutlinedIcon\r\n },\r\n {\r\n title: 'Assets',\r\n href: '/marketplace/asset',\r\n onClick: null,\r\n icon: BusinessOutlinedIcon\r\n }\r\n ]\r\n },\r\n {\r\n title: 'Management',\r\n href: '/management',\r\n onClick: null,\r\n authRequired: REQUIRE_AUTH_MODE,\r\n icon: SettingsSuggestOutlinedIcon,\r\n items: [\r\n {\r\n title: 'Services',\r\n href: '/management/microservice',\r\n onClick: null,\r\n icon: HomeRepairServiceOutlinedIcon\r\n },\r\n {\r\n title: 'Assets',\r\n href: '/management/asset',\r\n onClick: null,\r\n icon: BusinessOutlinedIcon\r\n },\r\n {\r\n title: 'Structure',\r\n href: '/management/structure',\r\n onClick: null,\r\n icon: AccountTreeOutlinedIcon\r\n },\r\n {\r\n title: 'Network',\r\n href: '/management/network',\r\n onClick: null,\r\n icon: GroupOutlinedIcon\r\n },\r\n {\r\n title: 'Files',\r\n href: '/management/file',\r\n onClick: null,\r\n icon: SourceOutlinedIcon\r\n },\r\n {\r\n title: 'Assign',\r\n href: '/management/assign',\r\n onClick: null,\r\n icon: AssignmentTurnedInOutlinedIcon\r\n },\r\n {\r\n title: 'Templates',\r\n href: '/management/templates',\r\n onClick: null,\r\n icon: TextSnippetOutlinedIcon\r\n }\r\n ]\r\n },\r\n {\r\n title: 'Deals',\r\n href: '/deal',\r\n onClick: null,\r\n authRequired: REQUIRE_AUTH_MODE,\r\n icon: MonetizationOnOutlinedIcon,\r\n items: [\r\n {\r\n title: 'Sales',\r\n href: '/deal/sale',\r\n onClick: null,\r\n icon: SellOutlinedIcon\r\n },\r\n {\r\n title: 'Purchases',\r\n href: '/deal/purchase',\r\n onClick: null,\r\n icon: ShoppingBasketOutlinedIcon\r\n },\r\n {\r\n title: 'Referrals',\r\n href: '/deal/referral',\r\n onClick: null,\r\n icon: AirlineStopsOutlinedIcon\r\n },\r\n {\r\n title: 'Auto Debits',\r\n href: '/deal/autodebit',\r\n onClick: null,\r\n icon: AutoAwesomeOutlinedIcon\r\n }\r\n ]\r\n },\r\n {\r\n title: 'Communication',\r\n href: '/communication',\r\n onClick: null,\r\n authRequired: REQUIRE_AUTH_MODE,\r\n icon: ChatOutlinedIcon,\r\n items: [\r\n {\r\n title: 'External Messages',\r\n href: '/communication/external',\r\n onClick: null,\r\n icon: CampaignOutlinedIcon\r\n },\r\n {\r\n title: 'Internal Messages',\r\n href: '/communication/internal',\r\n onClick: null,\r\n icon: TextsmsOutlinedIcon\r\n },\r\n {\r\n title: 'Community',\r\n href: 'https://community.accziom.com',\r\n onClick: null,\r\n icon: MdOutlineForum\r\n }\r\n ]\r\n },\r\n {\r\n title: 'Configuration',\r\n href: '/configuration',\r\n onClick: null,\r\n authRequired: REQUIRE_AUTH_MODE,\r\n icon: SettingsOutlinedIcon,\r\n items: []\r\n },\r\n {\r\n title: 'Sign In',\r\n href: '/login',\r\n onClick: null,\r\n authRequired: REQUIRE_NOT_AUTH_MODE,\r\n icon: AccountCircleOutlinedIcon,\r\n items: []\r\n },\r\n {\r\n title: 'Sign Up',\r\n href: '/register',\r\n onClick: null,\r\n authRequired: REQUIRE_NOT_AUTH_MODE,\r\n icon: PersonAddAltOutlinedIcon,\r\n items: []\r\n }\r\n];\r\n\r\nconst JoinUsItem: Item = {\r\n title: 'Join Us',\r\n href: null,\r\n onClick: null,\r\n authRequired: REQUIRE_NONE_MODE,\r\n icon: SensorOccupiedIcon,\r\n items: []\r\n};\r\n\r\nconst SignOutItem: Item = {\r\n title: 'Sign Out',\r\n href: null,\r\n onClick: null,\r\n authRequired: REQUIRE_AUTH_MODE,\r\n icon: LogoutIcon,\r\n items: []\r\n};\r\n\r\nconst HelpItem: Item = {\r\n title: 'Support',\r\n href: null,\r\n onClick: null,\r\n authRequired: REQUIRE_NONE_MODE,\r\n icon: QuestionMarkIcon,\r\n items: []\r\n};\r\n\r\nconst searchBarUrls = {\r\n notAuthUrlsForSame: [\r\n '/',\r\n '/marketplace/organization',\r\n '/marketplace/microservice',\r\n '/marketplace/asset'\r\n ],\r\n notAuthUrlsForStart: [],\r\n authUrlsForSame: [\r\n '/marketplace/organization',\r\n '/marketplace/microservice',\r\n '/marketplace/asset',\r\n '/management/microservice',\r\n '/management/asset',\r\n '/management/structure/client',\r\n '/management/structure/supplier',\r\n '/management/structure/member',\r\n '/management/structure/role',\r\n '/management/structure/team',\r\n '/management/network/findpartner',\r\n '/management/network/partner',\r\n '/management/network/referral',\r\n '/management/network/contact',\r\n '/management/file',\r\n '/management/assign/deal',\r\n '/management/assign/service',\r\n '/management/assign/asset',\r\n '/management/assign/file',\r\n '/management/assign/referral',\r\n '/management/assign/partner',\r\n '/management/templates/shared',\r\n '/management/templates/draft',\r\n '/deal/sale',\r\n '/deal/purchase',\r\n '/deal/referral',\r\n '/deal/autodebit',\r\n '/bs/search'\r\n ],\r\n authUrlsForStart: [\r\n '/communication/external',\r\n '/communication/internal'\r\n ],\r\n};\r\n\r\nconst DashboardNavbarRoot = experimentalStyled(AppBar)(\r\n ({ theme }) => ({\r\n backgroundColor: theme.palette.background.paper,\r\n zIndex: theme.zIndex.drawer + 100,\r\n boxShadow: '3px 0px 5px rgba(0, 0, 0, .5)',\r\n // borderColor: theme.palette.background.paper,\r\n // borderBottomWidth: '1px',\r\n // borderBottomStyle: 'solid'\r\n })\r\n);\r\n\r\nconst LARGE_LOGO_SIZE = 64;\r\nconst TITLE_TEXT_RADIUS = 20;\r\nconst LOGO_BACK_SIZE = NAVBAR_HEIGHT;\r\nconst SHADOW_SIZE = 10;\r\n\r\nconst DashboardNavbar: FC = () => {\r\n const mounted = useMounted();\r\n const dispatch = useDispatch();\r\n const searchApi = useSearch();\r\n const navigate = useNavigate();\r\n // const { saveSettings } = useSettings();\r\n const { pathname } = useLocation();\r\n const { isAuthenticated, logout } = useAuth();\r\n const { domain: orgDomainName } = useParams();\r\n const { userInfo, inviteInfo, searchInfo, isSearching } = useSelector((state) => state.user);\r\n const { apprisings } = useSelector((state) => state.apprising);\r\n const { memberInfos, orgInfos, activeOrgId, orgsNeedReload } = useSelector((state) => state.organization);\r\n const { convs } = useSelector((state) => state.chat);\r\n const [isSwitchingOrg, setIsSwitchingOrg] = useState(false);\r\n const [items, setItems] = useState([]);\r\n const [loading, setLoading] = useState(false);\r\n const activeOrgMinInfo = getActiveOrgMinInfo();\r\n const activeOrgInfo = getActiveOrgInfo();\r\n const displayTitle = getUserDisplayName(activeOrgMinInfo).toUpperCase();\r\n const enabledSearch = (!isAuthenticated && !window.location.hostname.includes('.go.accziom.com') && (searchBarUrls.notAuthUrlsForSame.includes(pathname) || searchBarUrls.notAuthUrlsForStart.some((subHref) => pathname.startsWith(subHref))))\r\n || (isAuthenticated && !pathname.startsWith('/about/') && (searchBarUrls.authUrlsForSame.includes(pathname) || searchBarUrls.authUrlsForStart.some((subHref) => pathname.startsWith(subHref))));\r\n let circleType = null;\r\n\r\n const handleNavigateChat = (mode: string) => {\r\n chatApi.processBeforeChangeMode();\r\n dispatch(setSelectedMode(mode));\r\n };\r\n\r\n const handleGotoCommunity = () => {\r\n if (process.env.NODE_ENV === 'production') {\r\n const orgInfo = orgInfos.find((org) => org.organizationId === activeOrgId);\r\n window.open(`https://${orgInfo.domainName}.community.accziom.com`, '_blank');\r\n } else {\r\n window.open('http://localhost:3000', '_blank');\r\n }\r\n };\r\n\r\n const handleSearch = async (q: string): Promise => {\r\n searchApi.current?.onSearch?.(q);\r\n };\r\n\r\n const handleLogout = async (): Promise => {\r\n try {\r\n await logout();\r\n if (pathname === '/' || pathname.startsWith('/marketplace')) {\r\n if (process.env.NODE_ENV === 'production') window.location.href = 'https://go.accziom.com';\r\n else navigate('/');\r\n }\r\n } catch (err) {\r\n console.log(err);\r\n toast.error('Unexpected error occured, Please try again!');\r\n }\r\n };\r\n\r\n const handleJoinWithDomain = async (domain: string): Promise => {\r\n try {\r\n const res = await lambdaJoinAsClient(activeOrgMinInfo, domain);\r\n if (res.status === 'error') {\r\n throw new Error('org not found');\r\n } else if (res.status === 'exist') {\r\n toast.error('You are already a client in accziom!');\r\n } else if (res.status === 'exist member') {\r\n toast.error('You have already tried to register as member!');\r\n } else if (res.status === 'exist joint') {\r\n toast.error('You already sent join request!');\r\n } else if (res.status === 'accepted') {\r\n toast.success('Successfully joint.');\r\n } else {\r\n toast.success('Successfully sent join request.');\r\n }\r\n } catch (err) {\r\n console.log(JSON.stringify(err));\r\n toast.error('Failed to join!');\r\n }\r\n };\r\n\r\n const handleJoinWithOutDomain = (): void => {\r\n dispatch(setConnectDlgOpen(CONNECT_DLG_JOIN));\r\n };\r\n\r\n const setDashboardItems = () => {\r\n if (!mounted.current) return;\r\n const hrefs = activeOrgInfo?.status === STATUS_PENDING ? ['/deal/purchase'] : getPossibleHrefs();\r\n const mm : Item[] = [];\r\n if (!inviteInfo && !userInfo?.isFirst) {\r\n let joinUsMode = false;\r\n if (!isAuthenticated) {\r\n if (window.location.hostname.includes('.go.accziom.com')) {\r\n joinUsMode = true;\r\n mm.push({\r\n ...JoinUsItem,\r\n onClick: async () => { await handleJoinWithOutDomain(); }\r\n } as Item);\r\n }\r\n } else if (pathname.startsWith('/about/')) {\r\n joinUsMode = true;\r\n mm.push({\r\n ...JoinUsItem,\r\n onClick: async () => { await handleJoinWithDomain(orgDomainName); }\r\n } as Item);\r\n }\r\n if (!joinUsMode) {\r\n DashboardItems.forEach((item) => {\r\n if (!isAuthenticated && [REQUIRE_NONE_MODE, REQUIRE_NOT_AUTH_MODE].includes(item.authRequired)) mm.push(item);\r\n if (isAuthenticated && [REQUIRE_NONE_MODE, REQUIRE_AUTH_MODE].includes(item.authRequired)) {\r\n if (item.items.length < 1) {\r\n if (item.href && (hrefs.filter((h) => h.startsWith(item.href)).length > 0 || (item.href === '/configuration' && activeOrgInfo.status === STATUS_ACTIVATED))) mm.push(item);\r\n } else {\r\n const subItems = [];\r\n item.items.forEach((subItem) => {\r\n if (subItem.href && hrefs.filter((h) => h.startsWith(subItem.href)).length > 0) {\r\n if (['/communication/external', '/communication/internal'].includes(subItem.href)) {\r\n subItems.push({\r\n ...subItem,\r\n onClick: () => { handleNavigateChat(subItem.href.split('/').at(2)); }\r\n });\r\n } else if (subItem.href === 'https://community.accziom.com') {\r\n subItems.push({\r\n ...subItem,\r\n href: null,\r\n onClick: handleGotoCommunity\r\n });\r\n } else if (getActiveType(ACCZIOM_CLIENT, ACCZIOM_ORG) === ACCZIOM_CLIENT && subItem.href === '/management/network') {\r\n subItems.push({\r\n ...subItem,\r\n href: '/management/network/contact'\r\n });\r\n } else subItems.push(subItem);\r\n }\r\n });\r\n if (subItems.length > 0) mm.push({ ...item, items: subItems });\r\n }\r\n }\r\n });\r\n }\r\n }\r\n setItems(mm);\r\n };\r\n\r\n useEffect(() => {\r\n setDashboardItems();\r\n }, [mounted, activeOrgId, pathname, isAuthenticated]);\r\n\r\n const getDataOnLoad = () => {\r\n if (!userInfo || loading || !orgsNeedReload) return;\r\n setLoading(true);\r\n lambdaGetOrgActivatedMembersOfUser(userInfo.uid)\r\n .then((res) => {\r\n const { memberInfos: members, orgInfos: organizations, categoryInfos: categories, roleInfos: strRoles, teamInfos: teams } = res;\r\n const roles = [];\r\n strRoles.forEach((item) => {\r\n roles.push({\r\n rid: item.rid,\r\n oid: item.oid,\r\n name: item.name,\r\n level: item.level,\r\n department: JSON.parse(item.department),\r\n assignment: JSON.parse(item.assignment),\r\n production: JSON.parse(item.production),\r\n transaction: JSON.parse(item.transaction),\r\n createdAt: item.createdAt,\r\n updatedAt: item.updatedAt\r\n });\r\n });\r\n const memberData = [];\r\n const orgData = [];\r\n const categoryData = [];\r\n const roleData = [];\r\n const teamData = [];\r\n const teamIds = [];\r\n members.forEach((member) => {\r\n if (member.rid) {\r\n const role = roles.find((item) => item.rid === member.rid);\r\n const departmentValues = Object.values(role.department).map((obj) => Object.values(obj).includes(true));\r\n const assignmentValues = Object.values(role.assignment).map((obj) => Object.values(obj).includes(true));\r\n const teamCount = member.tids.length;\r\n if (departmentValues.includes(true) || assignmentValues.includes(true) || teamCount > 0) {\r\n memberData.push(member);\r\n const organization = organizations.find((item) => item.organizationId === member.oid);\r\n if (organization) orgData.push(organization);\r\n const category = categories.find((cat) => `${cat.code}` === `${organization.anzicCategory}`);\r\n if (category) categoryData.push(category);\r\n if (role) roleData.push(role);\r\n member.tids.forEach((tid) => {\r\n if (!teamIds.includes(tid)) {\r\n teamIds.push(tid);\r\n const team = teams.find((item) => item.tid === tid);\r\n teamData.push(team);\r\n }\r\n });\r\n }\r\n } else {\r\n memberData.push(member);\r\n const organization = organizations.find((item) => item.organizationId === member.oid);\r\n if (organization) orgData.push(organization);\r\n const category = categories.find((cat) => `${cat.code}` === `${organization.anzicCategory}`);\r\n if (category) categoryData.push(category);\r\n }\r\n });\r\n memberData.sort((member0, member1) => { if (member0.type < member1.type) return 1; if (member0.type > member1.type) return -1; return 0; }); // sort by type, client first, member second\r\n dispatch(setOrgStructures(memberData, orgData, categoryData, roleData, teamData));\r\n })\r\n .catch((err) => {\r\n console.log(JSON.stringify(err));\r\n toast.error('Failed to get organization information!');\r\n })\r\n .finally(() => {\r\n if (mounted.current) setLoading(false);\r\n });\r\n };\r\n\r\n const switchOrg = async (orgId: string, teamId: string): Promise => {\r\n // saveSettings({ orgId, teamId });\r\n if (process.env.NODE_ENV === 'production') {\r\n if (orgId === activeOrgId) {\r\n dispatch(setActiveTeamId(teamId));\r\n loadApprising(null, teamId);\r\n wsTeamConnect({\r\n id: teamId,\r\n type: ACCZIOM_TEAM,\r\n name: teamId\r\n });\r\n } else {\r\n const orgInfo = orgInfos.find((item) => item.organizationId === orgId);\r\n if (orgInfo?.domainName) {\r\n const domain = `${orgInfo.domainName}.go.accziom.com`;\r\n if (domain !== window.location.host) window.location.href = `https://${domain}`;\r\n }\r\n }\r\n return;\r\n }\r\n if (orgId === activeOrgId) {\r\n dispatch(setActiveTeamId(teamId));\r\n loadApprising(null, teamId);\r\n wsTeamConnect({\r\n id: teamId,\r\n type: ACCZIOM_TEAM,\r\n name: teamId\r\n });\r\n return;\r\n }\r\n setIsSwitchingOrg(true);\r\n try {\r\n const curMember = memberInfos.find((member) => member.oid === orgId);\r\n const chatLoaded = await initChatApi(curMember.mid, dispatch);\r\n if (chatLoaded) {\r\n await loadWallet(curMember.type === ACCZIOM_MEMBER ? { id: orgId, type: ACCZIOM_ORG } : { id: userInfo.uid, type: ACCZIOM_USER }, dispatch);\r\n loadContact(curMember.type === ACCZIOM_MEMBER ? orgId : userInfo.uid, dispatch);\r\n dispatch(setActiveTeamId(teamId));\r\n loadApprising(curMember.type === ACCZIOM_MEMBER ? orgId : curMember.mid, teamId);\r\n lambdaGetFeedback(curMember.type === ACCZIOM_MEMBER ? orgId : curMember.mid).then((res) => {\r\n dispatch(loadFeedback(res.feedback, res.feedbackConnection));\r\n });\r\n const orgInfo = orgInfos.find((item) => item.organizationId === orgId);\r\n if (orgInfo.banner) {\r\n const newBannerUrl = await lambdaGetOrgBannerUrl(orgInfo.banner);\r\n const newLocalUrl = await fetchUrl(newBannerUrl);\r\n dispatch(setBannerUrl(newLocalUrl));\r\n } else dispatch(setBannerUrl(null));\r\n getExchangeRatesForOneUSD(allCurrencyUnits)\r\n .then((rates) => { dispatch(updateCurExRate(rates)); })\r\n .catch((err) => {\r\n toast.error('Failed to get exchange rate!');\r\n console.log(JSON.stringify(err));\r\n });\r\n dispatch(setSearchHistory([]));\r\n dispatch(clearShareState());\r\n dispatch(setActiveOrgId(orgId));\r\n initNeedReloads(dispatch);\r\n wsDisconnect();\r\n wsTeamDisconnect();\r\n wsConnect(curMember.type === ACCZIOM_MEMBER ? ({\r\n id: curMember.oid,\r\n type: ACCZIOM_ORG,\r\n name: orgInfos.find((v) => v.organizationId === orgId).tradingName\r\n }) : ({\r\n id: curMember.mid,\r\n type: ACCZIOM_CLIENT,\r\n name: getUserDisplayName(userInfo)\r\n }));\r\n } else toast.error('Chat has not been initialized.');\r\n } catch (err) {\r\n toast.error('Switching organization has been failed.');\r\n } finally {\r\n if (mounted.current) setIsSwitchingOrg(false);\r\n }\r\n };\r\n\r\n useEffect(() => {\r\n getDataOnLoad();\r\n }, [mounted, orgsNeedReload]);\r\n\r\n useEffect(() => {\r\n if (mounted.current) {\r\n getExchangeRatesForOneUSD(allCurrencyUnits)\r\n .then((rates) => { dispatch(updateCurExRate(rates)); })\r\n .catch((err) => {\r\n toast.error('Failed to get exchange rate!');\r\n console.log(err);\r\n });\r\n }\r\n }, [mounted]);\r\n\r\n useEffect(() => {\r\n const circularEle = document.getElementById('circular_title');\r\n if (mounted.current && isAuthenticated && circularEle) {\r\n document.getElementById('circular_title').innerHTML = displayTitle.length < 14 ? displayTitle : `${displayTitle.substring(0, 12)}...`;\r\n circleType = new CircleType(document.getElementById('circular_title'))\r\n .dir(1)\r\n .radius(LARGE_LOGO_SIZE / 2 + TITLE_TEXT_RADIUS);\r\n }\r\n return () => {\r\n if (mounted.current && isAuthenticated) {\r\n if (circleType) {\r\n circleType.destroy();\r\n circleType = null;\r\n }\r\n }\r\n };\r\n }, [mounted, isAuthenticated, displayTitle]);\r\n\r\n return (\r\n \r\n \r\n {isAuthenticated && !['/fillup', '/acceptinvite'].includes(pathname) ? (\r\n \r\n \r\n \r\n \r\n \r\n \r\n {\r\n navigate(activeOrgInfo.status === STATUS_PENDING ? '/payorgfee' : '/home');\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n ) : (\r\n \r\n )}\r\n {enabledSearch && (\r\n \r\n )}\r\n \r\n \r\n {\r\n items.map((item) => {\r\n let apprCount = 0;\r\n if (item.href === '/communication') apprCount = convs.filter((_conv) => _conv.unreadCount > 0).length;\r\n else if (item.href) apprCount = getNavbarApprisingCount(apprisings, item.href);\r\n return (\r\n {\r\n if (!subItem.href) return subItem;\r\n return {\r\n ...subItem,\r\n value: item.href.startsWith('/communication')\r\n ? convs.filter((_conv) => _conv.unreadCount > 0 && ((subItem.href === '/communication/external' && _conv.type !== INNERORG_CHAT_THREAD) || (subItem.href === '/communication/internal' && _conv.type === INNERORG_CHAT_THREAD))).length\r\n : getNavbarApprisingCount(apprisings, subItem.href)\r\n };\r\n })\r\n }}\r\n value={apprCount}\r\n />\r\n );\r\n })\r\n }\r\n \r\n {isAuthenticated && !['/fillup', '/acceptinvite'].includes(pathname) && (\r\n \r\n )}\r\n {isAuthenticated && ['/fillup', '/acceptinvite'].includes(pathname) && (\r\n \r\n )}\r\n { window.open('https://help.accziom.com/support/home', '_blank'); }\r\n }}\r\n value={0}\r\n />\r\n \r\n \r\n );\r\n};\r\n\r\nexport default DashboardNavbar;\r\n","import type { FC, ReactNode } from 'react';\r\nimport { Outlet, useSearchParams } from 'react-router-dom';\r\nimport { experimentalStyled } from '@material-ui/core/styles';\r\nimport DashboardNavbar from './DashboardNavbar';\r\nimport { NAVBAR_HEIGHT } from 'src/globals';\r\nimport useAuth from 'src/hooks/useAuth';\r\n\r\ninterface DashboardLayoutProps {\r\n children?: ReactNode;\r\n}\r\n\r\nconst DashboardLayoutRoot = experimentalStyled('div')(\r\n ({ theme }) => (\r\n {\r\n backgroundColor: theme.palette.background.default,\r\n display: 'flex',\r\n height: '100%',\r\n overflow: 'hidden',\r\n width: '100%'\r\n }\r\n )\r\n);\r\n\r\nconst AboutDashboardLayoutWrapper = experimentalStyled('div')({\r\n display: 'flex',\r\n flex: '1 1 auto',\r\n overflow: 'hidden',\r\n height: '100%',\r\n width: '100%'\r\n});\r\n\r\nconst DashboardLayoutWrapper = experimentalStyled('div')({\r\n display: 'flex',\r\n flex: '1 1 auto',\r\n overflow: 'hidden',\r\n paddingTop: NAVBAR_HEIGHT,\r\n height: '100%',\r\n width: '100%'\r\n});\r\n\r\nconst DashboardLayoutContainer = experimentalStyled('div')({\r\n display: 'flex',\r\n flex: '1 1 auto',\r\n overflow: 'hidden',\r\n width: '100%'\r\n});\r\n\r\nconst DashboardLayoutContent = experimentalStyled('div')({\r\n flex: '1 1 auto',\r\n height: '100%',\r\n width: '100%',\r\n overflow: 'auto',\r\n position: 'relative',\r\n WebkitOverflowScrolling: 'touch'\r\n});\r\n\r\nconst DashboardLayout: FC = () => {\r\n const auth = useAuth();\r\n const [searchParams] = useSearchParams();\r\n const isMyAbout = auth.isAuthenticated && !!searchParams.get('aboutus');\r\n\r\n return (\r\n \r\n {isMyAbout ? (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n ) : (\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )}\r\n \r\n );\r\n};\r\n\r\nexport default DashboardLayout;\r\n","import { useEffect } from 'react';\r\nimport type { FC } from 'react';\r\nimport NProgress from 'nprogress';\r\nimport { Box } from '@material-ui/core';\r\nimport 'src/theme/nprogress.css';\r\n\r\nconst LoadingScreen: FC = () => {\r\n useEffect(() => {\r\n NProgress.start();\r\n\r\n return (): void => {\r\n NProgress.done();\r\n };\r\n }, []);\r\n\r\n return (\r\n \r\n );\r\n};\r\n\r\nexport default LoadingScreen;\r\n","import type { FC, ReactNode } from 'react';\r\nimport { Navigate } from 'react-router-dom';\r\nimport PropTypes from 'prop-types';\r\nimport useAuth from 'src/hooks/useAuth';\r\n\r\ninterface GuestGuardProps {\r\n children: ReactNode;\r\n}\r\n\r\nconst GuestGuard: FC = ({ children }) => {\r\n const { isAuthenticated } = useAuth();\r\n if (isAuthenticated) {\r\n return ;\r\n }\r\n return <>{children};\r\n};\r\n\r\nGuestGuard.propTypes = {\r\n children: PropTypes.node\r\n};\r\n\r\nexport default GuestGuard;\r\n","import { Suspense, lazy } from 'react';\r\nimport type { RouteObject } from 'react-router-dom';\r\nimport DashboardLayout from 'src/components/dashboard/DashboardLayout';\r\nimport LoadingScreen from 'src/components/layout/LoadingScreen';\r\nimport AuthGuard from 'src/components/layout/AuthGuard';\r\nimport GuestGuard from 'src/components/layout/GuestGuard';\r\n\r\nconst Loadable = (Component) => (props) => (\r\n }>\r\n \r\n \r\n);\r\n\r\n// Authentication pages\r\n\r\nconst Login = Loadable(lazy(() => import('./pages/authentication/Login')));\r\nconst PasswordRecovery = Loadable(lazy(() => import('./pages/authentication/PasswordRecovery')));\r\nconst PasswordReset = Loadable(lazy(() => import('./pages/authentication/PasswordReset')));\r\nconst Register = Loadable(lazy(() => import('./pages/authentication/Register')));\r\nconst VerifyCode = Loadable(lazy(() => import('./pages/authentication/VerifyCode')));\r\n\r\n// Dashboard pages\r\n\r\nconst Diagram = Loadable(lazy(() => import('src/pages/Diagram')));\r\nconst OrgCreatePad = Loadable(lazy(() => import('src/components/Configuration/Organization/OrgCreatePad')));\r\nconst Dashboard = Loadable(lazy(() => import('src/pages/Dashboard')));\r\nconst OrgSearch = Loadable(lazy(() => import('src/pages/ClientDashboard/OrgSearch')));\r\nconst MicroserviceSearch = Loadable(lazy(() => import('src/pages/ClientDashboard/MicroserviceSearch')));\r\nconst AssetSearch = Loadable(lazy(() => import('src/pages/ClientDashboard/AssetSearch')));\r\nconst Fillup = Loadable(lazy(() => import('./pages/Fillup')));\r\nconst AcceptInvite = Loadable(lazy(() => import('./pages/AcceptInvite')));\r\nconst Chat = Loadable(lazy(() => import('src/pages/chat')));\r\nconst Ticket = Loadable(lazy(() => import('src/pages/ticket')));\r\nconst ErrorPage = Loadable(lazy(() => import('src/pages/NotFound')));\r\nconst NetworkView = Loadable(lazy(() => import('src/pages/mynetwork')));\r\nconst ServiceRequest = Loadable(lazy(() => import('src/pages/ServiceRequest/ServiceRequest')));\r\nconst Wallet = Loadable(lazy(() => import('src/pages/wallet')));\r\nconst MyFiles = Loadable(lazy(() => import('src/pages/MyFiles')));\r\nconst BusinessSearch = Loadable(lazy(() => import('src/components/tools/BusinessProfile')));\r\nconst MicroservicePage = Loadable(lazy(() => import('src/pages/microservices/MicroservicePage')));\r\nconst Configuration = Loadable(lazy(() => import('src/pages/Configuration')));\r\nconst StructureBoard = Loadable(lazy(() => import('src/pages/structure/StructureBoard')));\r\nconst Templates = Loadable(lazy(() => import('src/pages/templates')));\r\nconst TemplateEdit = Loadable(lazy(() => import('src/pages/templates/edit')));\r\nconst AssetPage = Loadable(lazy(() => import('src/pages/asset/AssetPage')));\r\nconst AssetRequest = Loadable(lazy(() => import('src/pages/AssetRequest')));\r\nconst AboutUs = Loadable(lazy(() => import('src/pages/aboutus/AboutUsWrap')));\r\nconst DirectOffer = Loadable(lazy(() => import('src/pages/directoffer')));\r\nconst AssignPad = Loadable(lazy(() => import('src/pages/assign')));\r\nconst PayOrgFee = Loadable(lazy(() => import('src/pages/PayOrgFee')));\r\nconst AutoMappingSuggest = Loadable(lazy(() => import('src/pages/mapping/AutoMappingSuggest')));\r\n\r\n// External Page to review the invited service\r\nconst ExternalClientView = Loadable(lazy(() => import('src/pages/clientView')));\r\n\r\nconst routes: RouteObject[] = [\r\n {\r\n path: '/authentication',\r\n children: [\r\n {\r\n path: '/authentication/password-recovery',\r\n element: \r\n },\r\n {\r\n path: '/authentication/password-reset',\r\n element: \r\n },\r\n {\r\n path: '/authentication/verify-code',\r\n element: \r\n }\r\n ]\r\n },\r\n {\r\n path: '/client-view/:encryptedCode',\r\n element: ,\r\n },\r\n {\r\n path: '/about',\r\n element: (\r\n \r\n \r\n \r\n ),\r\n children: [\r\n {\r\n path: '/about/:domain',\r\n element: \r\n }\r\n ]\r\n },\r\n {\r\n path: '/acceptinvite',\r\n element: (\r\n \r\n \r\n \r\n ),\r\n children: [\r\n {\r\n path: '/acceptinvite',\r\n element: \r\n }\r\n ]\r\n },\r\n {\r\n path: '/fillup',\r\n element: (\r\n \r\n \r\n \r\n ),\r\n children: [\r\n {\r\n path: '/fillup',\r\n element: \r\n }\r\n ]\r\n },\r\n {\r\n path: '/payorgfee',\r\n element: (\r\n \r\n \r\n \r\n ),\r\n children: [\r\n {\r\n path: '/payorgfee',\r\n element: \r\n }\r\n ]\r\n },\r\n {\r\n path: '/wallet',\r\n element: (\r\n \r\n \r\n \r\n ),\r\n children: [\r\n {\r\n path: '/wallet',\r\n element: \r\n }\r\n ]\r\n },\r\n {\r\n path: '/configuration',\r\n element: (\r\n \r\n \r\n \r\n ),\r\n children: [\r\n {\r\n path: '/configuration',\r\n element: \r\n },\r\n {\r\n path: '/configuration/information',\r\n element: \r\n },\r\n {\r\n path: '/configuration/upgrade',\r\n element: \r\n },\r\n {\r\n path: '/configuration/externalplatforms',\r\n element: \r\n },\r\n {\r\n path: '/configuration/profile',\r\n element: \r\n },\r\n {\r\n path: '/configuration/organization',\r\n element: \r\n },\r\n {\r\n path: '/configuration/id-verification',\r\n element: \r\n },\r\n {\r\n path: '/configuration/notification',\r\n element: \r\n },\r\n {\r\n path: '/configuration/security',\r\n element: \r\n },\r\n {\r\n path: '/configuration/org/new',\r\n element: \r\n },\r\n {\r\n path: '/configuration/org/:id',\r\n element: \r\n }\r\n ]\r\n },\r\n {\r\n path: '/marketplace',\r\n element: (\r\n \r\n \r\n \r\n ),\r\n children: [\r\n {\r\n path: '/marketplace/organization',\r\n element: \r\n },\r\n {\r\n path: '/marketplace/microservice',\r\n element: \r\n },\r\n {\r\n path: '/marketplace/microservice/service/:serviceId',\r\n element: \r\n },\r\n {\r\n path: '/marketplace/microservice/service-bundle/:serviceId',\r\n element: \r\n },\r\n {\r\n path: '/marketplace/asset',\r\n element: \r\n },\r\n {\r\n path: '/marketplace/asset/:assetId',\r\n element: \r\n }\r\n ]\r\n },\r\n {\r\n path: '/proposal',\r\n element: (\r\n \r\n \r\n \r\n ),\r\n children: [\r\n {\r\n path: '/proposal',\r\n element: \r\n },\r\n {\r\n path: '/proposal/new',\r\n element: \r\n },\r\n {\r\n path: '/proposal/:ticketId',\r\n element: \r\n }\r\n ]\r\n },\r\n {\r\n path: '/management',\r\n element: (\r\n \r\n \r\n \r\n ),\r\n children: [\r\n {\r\n path: '/management/microservice',\r\n element: \r\n },\r\n {\r\n path: '/management/microservice/service/new',\r\n element: \r\n },\r\n {\r\n path: '/management/microservice/service/edit/:serviceId',\r\n element: \r\n },\r\n {\r\n path: '/management/microservice/service/detail/:serviceId',\r\n element: \r\n },\r\n {\r\n path: '/management/microservice/service/offer/:serviceId',\r\n element: \r\n },\r\n {\r\n path: '/management/microservice/service-bundle/new',\r\n element: \r\n },\r\n {\r\n path: '/management/microservice/service-bundle/edit/:serviceId',\r\n element: \r\n },\r\n {\r\n path: '/management/microservice/service-bundle/detail/:serviceId',\r\n element: \r\n },\r\n {\r\n path: '/management/microservice/service-bundle/offer/:serviceId',\r\n element: \r\n },\r\n {\r\n path: '/management/asset',\r\n element: \r\n },\r\n {\r\n path: '/management/asset/new',\r\n element: \r\n },\r\n {\r\n path: '/management/asset/edit/:assetId',\r\n element: \r\n },\r\n {\r\n path: '/management/asset/detail/:assetId',\r\n element: \r\n },\r\n {\r\n path: '/management/structure',\r\n element: \r\n },\r\n {\r\n path: '/management/structure/client',\r\n element: \r\n },\r\n {\r\n path: '/management/structure/supplier',\r\n element: \r\n },\r\n {\r\n path: '/management/structure/member',\r\n element: \r\n },\r\n {\r\n path: '/management/structure/role',\r\n element: \r\n },\r\n {\r\n path: '/management/structure/team',\r\n element: \r\n },\r\n {\r\n path: '/management/templates',\r\n element: \r\n },\r\n {\r\n path: '/management/templates/:option',\r\n element: \r\n },\r\n {\r\n path: '/management/templates/new',\r\n element: \r\n },\r\n {\r\n path: '/management/templates/edit/:templateId',\r\n element: \r\n },\r\n {\r\n path: '/management/network',\r\n element: \r\n },\r\n {\r\n path: '/management/network/findpartner',\r\n element: \r\n },\r\n {\r\n path: '/management/network/partner',\r\n element: \r\n },\r\n {\r\n path: '/management/network/partner/:orgId',\r\n element: \r\n },\r\n {\r\n path: '/management/network/referral',\r\n element: \r\n },\r\n {\r\n path: '/management/network/referral/:referralId',\r\n element: \r\n },\r\n {\r\n path: '/management/network/contact',\r\n element: \r\n },\r\n {\r\n path: '/management/network/contact/import',\r\n element: \r\n },\r\n {\r\n path: '/management/file',\r\n element: \r\n },\r\n {\r\n path: '/management/assign',\r\n element: \r\n },\r\n {\r\n path: '/management/assign/deal',\r\n element: \r\n },\r\n {\r\n path: '/management/assign/service',\r\n element: \r\n },\r\n {\r\n path: '/management/assign/asset',\r\n element: \r\n },\r\n {\r\n path: '/management/assign/file',\r\n element: \r\n },\r\n {\r\n path: '/management/assign/referral',\r\n element: \r\n },\r\n {\r\n path: '/management/assign/partner',\r\n element: \r\n }\r\n ]\r\n },\r\n {\r\n path: '/deal',\r\n element: (\r\n \r\n \r\n \r\n ),\r\n children: [\r\n {\r\n path: '/deal/sale',\r\n element: \r\n },\r\n {\r\n path: '/deal/sale/detail/:ticketId',\r\n element: \r\n },\r\n {\r\n path: '/deal/sale/service-bundle/:ticketId',\r\n element: \r\n },\r\n {\r\n path: '/deal/sale/service/:ticketId',\r\n element: \r\n },\r\n {\r\n path: '/deal/purchase',\r\n element: \r\n },\r\n {\r\n path: '/deal/purchase/detail/:ticketId',\r\n element: \r\n },\r\n {\r\n path: '/deal/purchase/service-bundle/:ticketId',\r\n element: \r\n },\r\n {\r\n path: '/deal/purchase/service/:ticketId',\r\n element: \r\n },\r\n {\r\n path: '/deal/referral',\r\n element: \r\n },\r\n {\r\n path: '/deal/referral/detail/:ticketId',\r\n element: \r\n },\r\n {\r\n path: '/deal/referral/service-bundle/:ticketId',\r\n element: \r\n },\r\n {\r\n path: '/deal/referral/service/:ticketId',\r\n element: \r\n },\r\n {\r\n path: '/deal/autodebit',\r\n element: \r\n },\r\n {\r\n path: '/deal/autodebit/detail/:ticketId',\r\n element: \r\n }\r\n ]\r\n },\r\n {\r\n path: '/communication',\r\n element: (\r\n \r\n \r\n \r\n ),\r\n children: [\r\n {\r\n path: '/communication/external',\r\n element: \r\n },\r\n {\r\n path: '/communication/external/:threadKey',\r\n element: \r\n },\r\n {\r\n path: '/communication/internal',\r\n element: \r\n },\r\n {\r\n path: '/communication/internal/:threadKey',\r\n element: \r\n }\r\n ]\r\n },\r\n {\r\n path: '/bs',\r\n element: (\r\n \r\n \r\n \r\n ),\r\n children: [\r\n {\r\n path: '/bs',\r\n element: \r\n },\r\n {\r\n path: '/bs/search',\r\n element: \r\n },\r\n {\r\n path: '/bs/anzsicsuggestion',\r\n element: \r\n },\r\n {\r\n path: '/bs/favourites',\r\n element: \r\n }\r\n ]\r\n },\r\n {\r\n path: '/home',\r\n element: (\r\n \r\n \r\n \r\n ),\r\n children: [\r\n {\r\n path: '/home',\r\n element: \r\n }\r\n ]\r\n },\r\n {\r\n path: '/analysis',\r\n element: (\r\n \r\n \r\n \r\n ),\r\n children: [\r\n {\r\n path: '/analysis',\r\n element: \r\n }\r\n ]\r\n },\r\n {\r\n path: '/',\r\n children: [\r\n {\r\n path: '/temp',\r\n element: (\r\n \r\n \r\n \r\n ),\r\n children: [\r\n {\r\n path: '/temp',\r\n element: \r\n }\r\n ]\r\n },\r\n {\r\n path: '/',\r\n element: (\r\n \r\n \r\n \r\n ),\r\n children: [\r\n {\r\n path: '/',\r\n element: \r\n }\r\n ]\r\n },\r\n {\r\n path: '/login',\r\n element: (\r\n \r\n \r\n \r\n )\r\n },\r\n {\r\n path: '/register',\r\n element: (\r\n \r\n \r\n \r\n )\r\n },\r\n {\r\n path: '/register/:code',\r\n element: (\r\n \r\n \r\n \r\n )\r\n }\r\n ]\r\n },\r\n {\r\n path: '/mapping',\r\n element: (\r\n \r\n \r\n \r\n ),\r\n children: [{\r\n path: '/mapping/:platform',\r\n element: \r\n }]\r\n },\r\n {\r\n path: '/',\r\n element: (\r\n \r\n \r\n \r\n ),\r\n children: [{\r\n path: '/*',\r\n element: \r\n }]\r\n }\r\n];\r\n\r\nexport default routes;\r\n","import type { FC } from 'react';\r\nimport { useEffect } from 'react';\r\nimport { useRoutes } from 'react-router-dom';\r\nimport { Toaster } from 'react-hot-toast';\r\nimport { CssBaseline, ThemeProvider } from '@material-ui/core';\r\nimport './i18n';\r\nimport RTL from 'src/components/RTL';\r\nimport useAuth from 'src/hooks/useAuth';\r\nimport useScrollReset from 'src/hooks/useScrollReset';\r\nimport useSettings from 'src/hooks/useSettings';\r\nimport routes from './routes';\r\nimport { createCustomTheme } from 'src/theme';\r\nimport SpinnerScreen from 'src/components/layout/SpinnerScreen';\r\n// import Feedback from 'src/components/interact/Feedback';\r\nimport { isMobile } from 'react-device-detect';\r\nimport useMounted from 'src/hooks/useMounted';\r\n\r\nconst App: FC = () => {\r\n const content = useRoutes(routes);\r\n const { settings } = useSettings();\r\n const { isAuthenticated, isInitialized } = useAuth();\r\n const mounted = useMounted();\r\n const lframe = document.getElementById('launcher-frame');\r\n\r\n if (isMobile) {\r\n if (window.location.origin.includes('go.accziom.com')) {\r\n window.location.href = window.location.href.replace('go.accziom.com', 'go.m.accziom.com');\r\n return
;\r\n }\r\n }\r\n\r\n useScrollReset();\r\n\r\n const theme = createCustomTheme({\r\n direction: settings.direction,\r\n responsiveFontSizes: settings.responsiveFontSizes,\r\n roundedCorners: settings.roundedCorners,\r\n theme: 'CUSTOM'\r\n });\r\n\r\n useEffect(() => {\r\n if (mounted.current && isAuthenticated && !lframe) {\r\n const script1st = document.createElement('script');\r\n script1st.innerHTML = `\r\n window.fwSettings={\r\n 'widget_id':60000004192\r\n };\r\n !function(){if(\"function\"!=typeof window.FreshworksWidget){var n=function(){n.q.push(arguments)};n.q=[],window.FreshworksWidget=n}}()\r\n `;\r\n document.body.appendChild(script1st);\r\n const script2nd = document.createElement('script');\r\n script2nd.src = 'https://widget.freshworks.com/widgets/60000004192.js';\r\n script2nd.async = true;\r\n script2nd.defer = true;\r\n document.body.appendChild(script2nd);\r\n }\r\n }, [mounted, isAuthenticated]);\r\n\r\n useEffect(() => {\r\n if (lframe) {\r\n if (isAuthenticated) lframe.style.visibility = 'visible';\r\n else lframe.style.visibility = 'hidden';\r\n }\r\n }, [isAuthenticated]);\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n {/* */}\r\n {isInitialized ? content : }\r\n \r\n \r\n );\r\n};\r\n\r\nexport default App;\r\n","import 'react-perfect-scrollbar/dist/css/styles.css';\r\nimport 'react-draft-wysiwyg/dist/react-draft-wysiwyg.css';\r\nimport 'react-quill/dist/quill.snow.css';\r\nimport 'nprogress/nprogress.css';\r\nimport { StrictMode } from 'react';\r\nimport ReactDOM from 'react-dom';\r\nimport { HelmetProvider } from 'react-helmet-async';\r\nimport { BrowserRouter } from 'react-router-dom';\r\nimport { Provider as ReduxProvider } from 'react-redux';\r\nimport LocalizationProvider from '@material-ui/lab/LocalizationProvider';\r\nimport AdapterDateFns from '@material-ui/lab/AdapterDateFns';\r\nimport StyledEngineProvider from '@material-ui/core/StyledEngineProvider';\r\nimport App from './App';\r\nimport { AuthProvider } from 'src/contexts/AmplifyContext';\r\nimport { SettingsProvider } from 'src/contexts/SettingsContext';\r\nimport { CookiesProvider } from 'react-cookie';\r\nimport store from 'src/store';\r\n\r\nReactDOM.render(\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n ,\r\n document.getElementById('root')\r\n);\r\n","export const fetchUrl = async (url: string) => {\r\n try {\r\n const res = await fetch(url);\r\n const buf = await res.arrayBuffer();\r\n return URL.createObjectURL(new Blob([buf]));\r\n } catch (e) {\r\n return null;\r\n }\r\n};\r\n\r\nexport const uploadFile = async (file: File | Blob, url: string): Promise => fetch(url, {\r\n method: 'put',\r\n headers: {\r\n 'Access-Control-Allow-Methods': '*',\r\n 'Access-Control-Allow-Origin': '*',\r\n 'Content-Type': ''\r\n },\r\n body: file,\r\n})\r\n .then((reponse) => Promise.resolve(reponse));\r\n","import PropTypes from 'prop-types';\r\nimport { Dialog, DialogTitle, IconButton } from '@material-ui/core';\r\nimport { Close } from '@material-ui/icons';\r\nimport { experimentalStyled } from '@material-ui/core/styles';\r\n\r\nconst BootstrapDialog = experimentalStyled(Dialog)(({ theme }) => ({\r\n '& .MuDialogContent-root': {\r\n padding: theme.spacing(2),\r\n },\r\n '& .MuDialogActions-root': {\r\n padding: theme.spacing(1),\r\n },\r\n}));\r\n\r\nconst BootstrapDialogTitle = (props) => {\r\n const { children, onClose, ...other } = props;\r\n return (\r\n \r\n {children}\r\n {onClose ? (\r\n theme.palette.grey[500],\r\n }}\r\n >\r\n \r\n \r\n ) : null}\r\n \r\n );\r\n};\r\n\r\nBootstrapDialogTitle.propTypes = {\r\n children: PropTypes.node,\r\n onClose: PropTypes.func.isRequired,\r\n};\r\n\r\nexport {\r\n BootstrapDialog,\r\n BootstrapDialogTitle\r\n};\r\n","import { io } from 'socket.io-client';\r\nimport { accsiomURIs } from 'src/config';\r\nimport store from 'src/store';\r\nimport { addApprisings, removeApprising } from 'src/slices/apprising';\r\nimport { setInvitationNeedReload, setReferralNeedReload } from 'src/slices/network';\r\nimport type { Apprising } from 'src/../../Common/Model/apprising';\r\nimport { setNeedReload as setFileshareNeedReload } from 'src/slices/fileshare';\r\nimport { setNeedReload as setTicketNeedReload } from 'src/slices/request';\r\nimport { setCurOrgNeedReload } from 'src/slices/organization';\r\nimport { getPossibleHrefs } from 'src/utils/filterUrlsByRole';\r\nimport { lambdaRemoveApprising } from 'src/aws/lambdaDispatch';\r\nimport { setSyncState } from 'src/slices/contact';\r\n\r\nconst RECEIVE_CODE = 'receive';\r\nconst APPRISING_TYPE_ADD = 'add';\r\nconst APPRISING_TYPE_REMOVE = 'remove';\r\n\r\nexport const wsSocket = io(\r\n // process.env.NODE_ENV === 'production' ? accsiomURIs.filethread_url : 'http://localhost:8080',\r\n accsiomURIs.apprising_ws_url,\r\n { autoConnect: false }\r\n);\r\n\r\nexport const wsConnect = (info: { id: string; type: number; name: string }) => {\r\n wsSocket.auth = info;\r\n wsSocket.connect();\r\n};\r\n\r\nexport const wsDisconnect = () => {\r\n wsSocket.disconnect();\r\n};\r\n\r\nconst onReceiveAppr = (params) => {\r\n const { content } = params;\r\n const appr = content.apprising as Apprising;\r\n // added by chengyang\r\n if (appr.href === '/mapping') {\r\n if (appr.itemId === 'XERO') store.dispatch(setSyncState(false, true));\r\n if (appr.itemId === 'QBO') store.dispatch(setSyncState(true, false));\r\n lambdaRemoveApprising(appr.id);\r\n }\r\n // ////////////\r\n const hrefs = getPossibleHrefs();\r\n if (appr.href !== '/management/file/share' && !hrefs.some((href) => appr.href.startsWith(href))) return;\r\n if (content.type === APPRISING_TYPE_ADD) {\r\n store.dispatch(addApprisings([appr]));\r\n } else if (content.type === APPRISING_TYPE_REMOVE) {\r\n store.dispatch(removeApprising(appr.id));\r\n }\r\n if (appr.type !== 'assign') {\r\n if (appr.href === '/management/network/partner') {\r\n store.dispatch(setInvitationNeedReload(true));\r\n } else if (appr.href.startsWith('/management/file')) {\r\n store.dispatch(setFileshareNeedReload(true));\r\n } else if (appr.href.startsWith('/deal') || appr.href.startsWith('/procurement')) {\r\n store.dispatch(setTicketNeedReload(true));\r\n } else if (appr.href === '/management/network/referral') {\r\n store.dispatch(setReferralNeedReload(true));\r\n } else if (appr.href.startsWith('/management/structure')) {\r\n store.dispatch(setCurOrgNeedReload(true));\r\n }\r\n }\r\n};\r\n\r\nwsSocket.on(RECEIVE_CODE, onReceiveAppr);\r\n\r\nexport const wsTeamSocket = io(\r\n // process.env.NODE_ENV === 'production' ? accsiomURIs.filethread_url : 'http://localhost:8080',\r\n accsiomURIs.apprising_ws_url,\r\n { autoConnect: false }\r\n);\r\n\r\nexport const wsTeamConnect = (info: { id: string; type: number; name: string }) => {\r\n wsTeamSocket.disconnect();\r\n wsTeamSocket.auth = info;\r\n wsTeamSocket.connect();\r\n};\r\n\r\nexport const wsTeamDisconnect = () => {\r\n wsTeamSocket.disconnect();\r\n};\r\n\r\nwsTeamSocket.on(RECEIVE_CODE, onReceiveAppr);\r\n","import type { FC } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { Box, Checkbox, FormControlLabel, Typography } from '@material-ui/core';\r\nimport { CircularProgress } from '@mui/material';\r\n\r\ninterface CheckLabelProps {\r\n checked: boolean;\r\n onChange?: (event?: any) => void;\r\n label: string;\r\n indeterminate?: boolean;\r\n loading?: boolean;\r\n disabled?: boolean;\r\n}\r\n\r\nconst CheckLabel: FC = (props) => {\r\n const { checked, onChange, label, indeterminate, loading, disabled, ...others } = props;\r\n\r\n return (\r\n {\r\n if (onChange) onChange(e);\r\n }}\r\n />\r\n )}\r\n label={(\r\n \r\n \r\n {label}\r\n \r\n {!!loading && (\r\n \r\n )}\r\n \r\n )}\r\n disabled={!!loading || !!disabled}\r\n {...others}\r\n />\r\n );\r\n};\r\n\r\nCheckLabel.propTypes = {\r\n checked: PropTypes.bool,\r\n onChange: PropTypes.func,\r\n label: PropTypes.string,\r\n indeterminate: PropTypes.bool,\r\n loading: PropTypes.bool,\r\n disabled: PropTypes.bool\r\n};\r\n\r\nexport default CheckLabel;\r\n","import { forwardRef } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport PerfectScrollbar from 'react-perfect-scrollbar';\r\nimport type { ScrollBarProps as PerfectScrollbarProps } from 'react-perfect-scrollbar';\r\nimport { Box } from '@material-ui/core';\r\n\r\ninterface ScrollbarProps extends PerfectScrollbarProps {\r\n}\r\n\r\nconst Scrollbar = forwardRef((props, ref) => {\r\n const { children, ...other } = props;\r\n\r\n const isMobile = /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent);\r\n\r\n if (isMobile) {\r\n return (\r\n \r\n {children}\r\n \r\n );\r\n }\r\n\r\n return (\r\n \r\n {children}\r\n \r\n );\r\n});\r\n\r\nScrollbar.propTypes = {\r\n children: PropTypes.node\r\n};\r\n\r\nexport default Scrollbar;\r\n","const shortid = require('shortid');\r\n\r\nenum ControlType {\r\n SELECTOR = 'Selector',\r\n TICKBOX = 'TickBox',\r\n REPEATER = 'Repeater',\r\n TEXTBOX = 'TextBox'\r\n}\r\n\r\nenum ValueType {\r\n STRING = 'string',\r\n NUMBER = 'number',\r\n DATE = 'date',\r\n ADDRESS = 'address'\r\n}\r\n\r\nenum AlignType {\r\n HORIZON = 'horizon',\r\n VERTICAL = 'vertical'\r\n}\r\n\r\nexport type MicroserviceData = {\r\n type: ControlType;\r\n json: any;\r\n hasChild: boolean;\r\n};\r\n\r\nexport type SurveyItemType = {\r\n id: string | number;\r\n type: ControlType;\r\n title?: string;\r\n help?: string;\r\n eg?: string;\r\n valuetype?: ValueType;\r\n cpr?: number;\r\n exlink?: string;\r\n unit?: any;\r\n child?: any;\r\n align?: string;\r\n};\r\n\r\nconst serviceTypes = [\r\n 'Graphics and Web Design',\r\n 'Accounting and Taxation',\r\n 'Chemicals -> Solvents',\r\n 'Chemicals -> Cleaning Agents',\r\n 'Chemicals -> Engine Coolants',\r\n 'Chemicals -> Degrasing Agents'\r\n];\r\n\r\nconst shortId = () : any => shortid.generate();\r\n\r\nexport {\r\n ControlType,\r\n ValueType,\r\n AlignType,\r\n serviceTypes,\r\n shortId,\r\n};\r\n","export const countries = [\r\n {\r\n text: 'Afghanistan',\r\n dial: '+93',\r\n value: 'AF'\r\n },\r\n {\r\n text: 'Aland Islands',\r\n dial: '+358',\r\n value: 'AX'\r\n },\r\n {\r\n text: 'Albania',\r\n dial: '+355',\r\n value: 'AL'\r\n },\r\n {\r\n text: 'Algeria',\r\n dial: '+213',\r\n value: 'DZ'\r\n },\r\n {\r\n text: 'AmericanSamoa',\r\n dial: '+1684',\r\n value: 'AS'\r\n },\r\n {\r\n text: 'Andorra',\r\n dial: '+376',\r\n value: 'AD'\r\n },\r\n {\r\n text: 'Angola',\r\n dial: '+244',\r\n value: 'AO'\r\n },\r\n {\r\n text: 'Anguilla',\r\n dial: '+1264',\r\n value: 'AI'\r\n },\r\n {\r\n text: 'Antarctica',\r\n dial: '+672',\r\n value: 'AQ'\r\n },\r\n {\r\n text: 'Antigua and Barbuda',\r\n dial: '+1268',\r\n value: 'AG'\r\n },\r\n {\r\n text: 'Argentina',\r\n dial: '+54',\r\n value: 'AR'\r\n },\r\n {\r\n text: 'Armenia',\r\n dial: '+374',\r\n value: 'AM'\r\n },\r\n {\r\n text: 'Aruba',\r\n dial: '+297',\r\n value: 'AW'\r\n },\r\n {\r\n text: 'Australia',\r\n dial: '+61',\r\n value: 'AU'\r\n },\r\n {\r\n text: 'Austria',\r\n dial: '+43',\r\n value: 'AT'\r\n },\r\n {\r\n text: 'Azerbaijan',\r\n dial: '+994',\r\n value: 'AZ'\r\n },\r\n {\r\n text: 'Bahamas',\r\n dial: '+1242',\r\n value: 'BS'\r\n },\r\n {\r\n text: 'Bahrain',\r\n dial: '+973',\r\n value: 'BH'\r\n },\r\n {\r\n text: 'Bangladesh',\r\n dial: '+880',\r\n value: 'BD'\r\n },\r\n {\r\n text: 'Barbados',\r\n dial: '+1246',\r\n value: 'BB'\r\n },\r\n {\r\n text: 'Belarus',\r\n dial: '+375',\r\n value: 'BY'\r\n },\r\n {\r\n text: 'Belgium',\r\n dial: '+32',\r\n value: 'BE'\r\n },\r\n {\r\n text: 'Belize',\r\n dial: '+501',\r\n value: 'BZ'\r\n },\r\n {\r\n text: 'Benin',\r\n dial: '+229',\r\n value: 'BJ'\r\n },\r\n {\r\n text: 'Bermuda',\r\n dial: '+1441',\r\n value: 'BM'\r\n },\r\n {\r\n text: 'Bhutan',\r\n dial: '+975',\r\n value: 'BT'\r\n },\r\n {\r\n text: 'Bolivia, Plurinational State of',\r\n dial: '+591',\r\n value: 'BO'\r\n },\r\n {\r\n text: 'Bosnia and Herzegovina',\r\n dial: '+387',\r\n value: 'BA'\r\n },\r\n {\r\n text: 'Botswana',\r\n dial: '+267',\r\n value: 'BW'\r\n },\r\n {\r\n text: 'Brazil',\r\n dial: '+55',\r\n value: 'BR'\r\n },\r\n {\r\n text: 'British Indian Ocean Territory',\r\n dial: '+246',\r\n value: 'IO'\r\n },\r\n {\r\n text: 'Brunei Darussalam',\r\n dial: '+673',\r\n value: 'BN'\r\n },\r\n {\r\n text: 'Bulgaria',\r\n dial: '+359',\r\n value: 'BG'\r\n },\r\n {\r\n text: 'Burkina Faso',\r\n dial: '+226',\r\n value: 'BF'\r\n },\r\n {\r\n text: 'Burundi',\r\n dial: '+257',\r\n value: 'BI'\r\n },\r\n {\r\n text: 'Cambodia',\r\n dial: '+855',\r\n value: 'KH'\r\n },\r\n {\r\n text: 'Cameroon',\r\n dial: '+237',\r\n value: 'CM'\r\n },\r\n {\r\n text: 'Canada',\r\n dial: '+1',\r\n value: 'CA'\r\n },\r\n {\r\n text: 'Cape Verde',\r\n dial: '+238',\r\n value: 'CV'\r\n },\r\n {\r\n text: 'Cayman Islands',\r\n dial: '+ 345',\r\n value: 'KY'\r\n },\r\n {\r\n text: 'Central African Republic',\r\n dial: '+236',\r\n value: 'CF'\r\n },\r\n {\r\n text: 'Chad',\r\n dial: '+235',\r\n value: 'TD'\r\n },\r\n {\r\n text: 'Chile',\r\n dial: '+56',\r\n value: 'CL'\r\n },\r\n {\r\n text: 'China',\r\n dial: '+86',\r\n value: 'CN'\r\n },\r\n {\r\n text: 'Christmas Island',\r\n dial: '+61',\r\n value: 'CX'\r\n },\r\n {\r\n text: 'Cocos (Keeling) Islands',\r\n dial: '+61',\r\n value: 'CC'\r\n },\r\n {\r\n text: 'Colombia',\r\n dial: '+57',\r\n value: 'CO'\r\n },\r\n {\r\n text: 'Comoros',\r\n dial: '+269',\r\n value: 'KM'\r\n },\r\n {\r\n text: 'Congo',\r\n dial: '+242',\r\n value: 'CG'\r\n },\r\n {\r\n text: 'Congo, The Democratic Republic of the Congo',\r\n dial: '+243',\r\n value: 'CD'\r\n },\r\n {\r\n text: 'Cook Islands',\r\n dial: '+682',\r\n value: 'CK'\r\n },\r\n {\r\n text: 'Costa Rica',\r\n dial: '+506',\r\n value: 'CR'\r\n },\r\n {\r\n text: 'Cote d\\'Ivoire',\r\n dial: '+225',\r\n value: 'CI'\r\n },\r\n {\r\n text: 'Croatia',\r\n dial: '+385',\r\n value: 'HR'\r\n },\r\n {\r\n text: 'Cuba',\r\n dial: '+53',\r\n value: 'CU'\r\n },\r\n {\r\n text: 'Cyprus',\r\n dial: '+357',\r\n value: 'CY'\r\n },\r\n {\r\n text: 'Czech Republic',\r\n dial: '+420',\r\n value: 'CZ'\r\n },\r\n {\r\n text: 'Denmark',\r\n dial: '+45',\r\n value: 'DK'\r\n },\r\n {\r\n text: 'Djibouti',\r\n dial: '+253',\r\n value: 'DJ'\r\n },\r\n {\r\n text: 'Dominica',\r\n dial: '+1767',\r\n value: 'DM'\r\n },\r\n {\r\n text: 'Dominican Republic',\r\n dial: '+1849',\r\n value: 'DO'\r\n },\r\n {\r\n text: 'Ecuador',\r\n dial: '+593',\r\n value: 'EC'\r\n },\r\n {\r\n text: 'Egypt',\r\n dial: '+20',\r\n value: 'EG'\r\n },\r\n {\r\n text: 'El Salvador',\r\n dial: '+503',\r\n value: 'SV'\r\n },\r\n {\r\n text: 'Equatorial Guinea',\r\n dial: '+240',\r\n value: 'GQ'\r\n },\r\n {\r\n text: 'Eritrea',\r\n dial: '+291',\r\n value: 'ER'\r\n },\r\n {\r\n text: 'Estonia',\r\n dial: '+372',\r\n value: 'EE'\r\n },\r\n {\r\n text: 'Ethiopia',\r\n dial: '+251',\r\n value: 'ET'\r\n },\r\n {\r\n text: 'Falkland Islands (Malvinas)',\r\n dial: '+500',\r\n value: 'FK'\r\n },\r\n {\r\n text: 'Faroe Islands',\r\n dial: '+298',\r\n value: 'FO'\r\n },\r\n {\r\n text: 'Fiji',\r\n dial: '+679',\r\n value: 'FJ'\r\n },\r\n {\r\n text: 'Finland',\r\n dial: '+358',\r\n value: 'FI'\r\n },\r\n {\r\n text: 'France',\r\n dial: '+33',\r\n value: 'FR'\r\n },\r\n {\r\n text: 'French Guiana',\r\n dial: '+594',\r\n value: 'GF'\r\n },\r\n {\r\n text: 'French Polynesia',\r\n dial: '+689',\r\n value: 'PF'\r\n },\r\n {\r\n text: 'Gabon',\r\n dial: '+241',\r\n value: 'GA'\r\n },\r\n {\r\n text: 'Gambia',\r\n dial: '+220',\r\n value: 'GM'\r\n },\r\n {\r\n text: 'Georgia',\r\n dial: '+995',\r\n value: 'GE'\r\n },\r\n {\r\n text: 'Germany',\r\n dial: '+49',\r\n value: 'DE'\r\n },\r\n {\r\n text: 'Ghana',\r\n dial: '+233',\r\n value: 'GH'\r\n },\r\n {\r\n text: 'Gibraltar',\r\n dial: '+350',\r\n value: 'GI'\r\n },\r\n {\r\n text: 'Greece',\r\n dial: '+30',\r\n value: 'GR'\r\n },\r\n {\r\n text: 'Greenland',\r\n dial: '+299',\r\n value: 'GL'\r\n },\r\n {\r\n text: 'Grenada',\r\n dial: '+1473',\r\n value: 'GD'\r\n },\r\n {\r\n text: 'Guadeloupe',\r\n dial: '+590',\r\n value: 'GP'\r\n },\r\n {\r\n text: 'Guam',\r\n dial: '+1671',\r\n value: 'GU'\r\n },\r\n {\r\n text: 'Guatemala',\r\n dial: '+502',\r\n value: 'GT'\r\n },\r\n {\r\n text: 'Guernsey',\r\n dial: '+44',\r\n value: 'GG'\r\n },\r\n {\r\n text: 'Guinea',\r\n dial: '+224',\r\n value: 'GN'\r\n },\r\n {\r\n text: 'Guinea-Bissau',\r\n dial: '+245',\r\n value: 'GW'\r\n },\r\n {\r\n text: 'Guyana',\r\n dial: '+595',\r\n value: 'GY'\r\n },\r\n {\r\n text: 'Haiti',\r\n dial: '+509',\r\n value: 'HT'\r\n },\r\n {\r\n text: 'Holy See (Vatican City State)',\r\n dial: '+379',\r\n value: 'VA'\r\n },\r\n {\r\n text: 'Honduras',\r\n dial: '+504',\r\n value: 'HN'\r\n },\r\n {\r\n text: 'Hong Kong',\r\n dial: '+852',\r\n value: 'HK'\r\n },\r\n {\r\n text: 'Hungary',\r\n dial: '+36',\r\n value: 'HU'\r\n },\r\n {\r\n text: 'Iceland',\r\n dial: '+354',\r\n value: 'IS'\r\n },\r\n {\r\n text: 'India',\r\n dial: '+91',\r\n value: 'IN'\r\n },\r\n {\r\n text: 'Indonesia',\r\n dial: '+62',\r\n value: 'ID'\r\n },\r\n {\r\n text: 'Iran, Islamic Republic of Persian Gulf',\r\n dial: '+98',\r\n value: 'IR'\r\n },\r\n {\r\n text: 'Iraq',\r\n dial: '+964',\r\n value: 'IQ'\r\n },\r\n {\r\n text: 'Ireland',\r\n dial: '+353',\r\n value: 'IE'\r\n },\r\n {\r\n text: 'Isle of Man',\r\n dial: '+44',\r\n value: 'IM'\r\n },\r\n {\r\n text: 'Israel',\r\n dial: '+972',\r\n value: 'IL'\r\n },\r\n {\r\n text: 'Italy',\r\n dial: '+39',\r\n value: 'IT'\r\n },\r\n {\r\n text: 'Jamaica',\r\n dial: '+1876',\r\n value: 'JM'\r\n },\r\n {\r\n text: 'Japan',\r\n dial: '+81',\r\n value: 'JP'\r\n },\r\n {\r\n text: 'Jersey',\r\n dial: '+44',\r\n value: 'JE'\r\n },\r\n {\r\n text: 'Jordan',\r\n dial: '+962',\r\n value: 'JO'\r\n },\r\n {\r\n text: 'Kazakhstan',\r\n dial: '+77',\r\n value: 'KZ'\r\n },\r\n {\r\n text: 'Kenya',\r\n dial: '+254',\r\n value: 'KE'\r\n },\r\n {\r\n text: 'Kiribati',\r\n dial: '+686',\r\n value: 'KI'\r\n },\r\n {\r\n text: 'Korea, Democratic People\\'s Republic of Korea',\r\n dial: '+850',\r\n value: 'KP'\r\n },\r\n {\r\n text: 'Korea, Republic of South Korea',\r\n dial: '+82',\r\n value: 'KR'\r\n },\r\n {\r\n text: 'Kuwait',\r\n dial: '+965',\r\n value: 'KW'\r\n },\r\n {\r\n text: 'Kyrgyzstan',\r\n dial: '+996',\r\n value: 'KG'\r\n },\r\n {\r\n text: 'Laos',\r\n dial: '+856',\r\n value: 'LA'\r\n },\r\n {\r\n text: 'Latvia',\r\n dial: '+371',\r\n value: 'LV'\r\n },\r\n {\r\n text: 'Lebanon',\r\n dial: '+961',\r\n value: 'LB'\r\n },\r\n {\r\n text: 'Lesotho',\r\n dial: '+266',\r\n value: 'LS'\r\n },\r\n {\r\n text: 'Liberia',\r\n dial: '+231',\r\n value: 'LR'\r\n },\r\n {\r\n text: 'Libyan Arab Jamahiriya',\r\n dial: '+218',\r\n value: 'LY'\r\n },\r\n {\r\n text: 'Liechtenstein',\r\n dial: '+423',\r\n value: 'LI'\r\n },\r\n {\r\n text: 'Lithuania',\r\n dial: '+370',\r\n value: 'LT'\r\n },\r\n {\r\n text: 'Luxembourg',\r\n dial: '+352',\r\n value: 'LU'\r\n },\r\n {\r\n text: 'Macao',\r\n dial: '+853',\r\n value: 'MO'\r\n },\r\n {\r\n text: 'Macedonia',\r\n dial: '+389',\r\n value: 'MK'\r\n },\r\n {\r\n text: 'Madagascar',\r\n dial: '+261',\r\n value: 'MG'\r\n },\r\n {\r\n text: 'Malawi',\r\n dial: '+265',\r\n value: 'MW'\r\n },\r\n {\r\n text: 'Malaysia',\r\n dial: '+60',\r\n value: 'MY'\r\n },\r\n {\r\n text: 'Maldives',\r\n dial: '+960',\r\n value: 'MV'\r\n },\r\n {\r\n text: 'Mali',\r\n dial: '+223',\r\n value: 'ML'\r\n },\r\n {\r\n text: 'Malta',\r\n dial: '+356',\r\n value: 'MT'\r\n },\r\n {\r\n text: 'Marshall Islands',\r\n dial: '+692',\r\n value: 'MH'\r\n },\r\n {\r\n text: 'Martinique',\r\n dial: '+596',\r\n value: 'MQ'\r\n },\r\n {\r\n text: 'Mauritania',\r\n dial: '+222',\r\n value: 'MR'\r\n },\r\n {\r\n text: 'Mauritius',\r\n dial: '+230',\r\n value: 'MU'\r\n },\r\n {\r\n text: 'Mayotte',\r\n dial: '+262',\r\n value: 'YT'\r\n },\r\n {\r\n text: 'Mexico',\r\n dial: '+52',\r\n value: 'MX'\r\n },\r\n {\r\n text: 'Micronesia, Federated States of Micronesia',\r\n dial: '+691',\r\n value: 'FM'\r\n },\r\n {\r\n text: 'Moldova',\r\n dial: '+373',\r\n value: 'MD'\r\n },\r\n {\r\n text: 'Monaco',\r\n dial: '+377',\r\n value: 'MC'\r\n },\r\n {\r\n text: 'Mongolia',\r\n dial: '+976',\r\n value: 'MN'\r\n },\r\n {\r\n text: 'Montenegro',\r\n dial: '+382',\r\n value: 'ME'\r\n },\r\n {\r\n text: 'Montserrat',\r\n dial: '+1664',\r\n value: 'MS'\r\n },\r\n {\r\n text: 'Morocco',\r\n dial: '+212',\r\n value: 'MA'\r\n },\r\n {\r\n text: 'Mozambique',\r\n dial: '+258',\r\n value: 'MZ'\r\n },\r\n {\r\n text: 'Myanmar',\r\n dial: '+95',\r\n value: 'MM'\r\n },\r\n {\r\n text: 'Namibia',\r\n dial: '+264',\r\n value: 'NA'\r\n },\r\n {\r\n text: 'Nauru',\r\n dial: '+674',\r\n value: 'NR'\r\n },\r\n {\r\n text: 'Nepal',\r\n dial: '+977',\r\n value: 'NP'\r\n },\r\n {\r\n text: 'Netherlands',\r\n dial: '+31',\r\n value: 'NL'\r\n },\r\n {\r\n text: 'Netherlands Antilles',\r\n dial: '+599',\r\n value: 'AN'\r\n },\r\n {\r\n text: 'New Caledonia',\r\n dial: '+687',\r\n value: 'NC'\r\n },\r\n {\r\n text: 'New Zealand',\r\n dial: '+64',\r\n value: 'NZ'\r\n },\r\n {\r\n text: 'Nicaragua',\r\n dial: '+505',\r\n value: 'NI'\r\n },\r\n {\r\n text: 'Niger',\r\n dial: '+227',\r\n value: 'NE'\r\n },\r\n {\r\n text: 'Nigeria',\r\n dial: '+234',\r\n value: 'NG'\r\n },\r\n {\r\n text: 'Niue',\r\n dial: '+683',\r\n value: 'NU'\r\n },\r\n {\r\n text: 'Norfolk Island',\r\n dial: '+672',\r\n value: 'NF'\r\n },\r\n {\r\n text: 'Northern Mariana Islands',\r\n dial: '+1670',\r\n value: 'MP'\r\n },\r\n {\r\n text: 'Norway',\r\n dial: '+47',\r\n value: 'NO'\r\n },\r\n {\r\n text: 'Oman',\r\n dial: '+968',\r\n value: 'OM'\r\n },\r\n {\r\n text: 'Pakistan',\r\n dial: '+92',\r\n value: 'PK'\r\n },\r\n {\r\n text: 'Palau',\r\n dial: '+680',\r\n value: 'PW'\r\n },\r\n {\r\n text: 'Palestinian Territory, Occupied',\r\n dial: '+970',\r\n value: 'PS'\r\n },\r\n {\r\n text: 'Panama',\r\n dial: '+507',\r\n value: 'PA'\r\n },\r\n {\r\n text: 'Papua New Guinea',\r\n dial: '+675',\r\n value: 'PG'\r\n },\r\n {\r\n text: 'Paraguay',\r\n dial: '+595',\r\n value: 'PY'\r\n },\r\n {\r\n text: 'Peru',\r\n dial: '+51',\r\n value: 'PE'\r\n },\r\n {\r\n text: 'Philippines',\r\n dial: '+63',\r\n value: 'PH'\r\n },\r\n {\r\n text: 'Pitcairn',\r\n dial: '+872',\r\n value: 'PN'\r\n },\r\n {\r\n text: 'Poland',\r\n dial: '+48',\r\n value: 'PL'\r\n },\r\n {\r\n text: 'Portugal',\r\n dial: '+351',\r\n value: 'PT'\r\n },\r\n {\r\n text: 'Puerto Rico',\r\n dial: '+1939',\r\n value: 'PR'\r\n },\r\n {\r\n text: 'Qatar',\r\n dial: '+974',\r\n value: 'QA'\r\n },\r\n {\r\n text: 'Romania',\r\n dial: '+40',\r\n value: 'RO'\r\n },\r\n {\r\n text: 'Russia',\r\n dial: '+7',\r\n value: 'RU'\r\n },\r\n {\r\n text: 'Rwanda',\r\n dial: '+250',\r\n value: 'RW'\r\n },\r\n {\r\n text: 'Reunion',\r\n dial: '+262',\r\n value: 'RE'\r\n },\r\n {\r\n text: 'Saint Barthelemy',\r\n dial: '+590',\r\n value: 'BL'\r\n },\r\n {\r\n text: 'Saint Helena, Ascension and Tristan Da Cunha',\r\n dial: '+290',\r\n value: 'SH'\r\n },\r\n {\r\n text: 'Saint Kitts and Nevis',\r\n dial: '+1869',\r\n value: 'KN'\r\n },\r\n {\r\n text: 'Saint Lucia',\r\n dial: '+1758',\r\n value: 'LC'\r\n },\r\n {\r\n text: 'Saint Martin',\r\n dial: '+590',\r\n value: 'MF'\r\n },\r\n {\r\n text: 'Saint Pierre and Miquelon',\r\n dial: '+508',\r\n value: 'PM'\r\n },\r\n {\r\n text: 'Saint Vincent and the Grenadines',\r\n dial: '+1784',\r\n value: 'VC'\r\n },\r\n {\r\n text: 'Samoa',\r\n dial: '+685',\r\n value: 'WS'\r\n },\r\n {\r\n text: 'San Marino',\r\n dial: '+378',\r\n value: 'SM'\r\n },\r\n {\r\n text: 'Sao Tome and Principe',\r\n dial: '+239',\r\n value: 'ST'\r\n },\r\n {\r\n text: 'Saudi Arabia',\r\n dial: '+966',\r\n value: 'SA'\r\n },\r\n {\r\n text: 'Senegal',\r\n dial: '+221',\r\n value: 'SN'\r\n },\r\n {\r\n text: 'Serbia',\r\n dial: '+381',\r\n value: 'RS'\r\n },\r\n {\r\n text: 'Seychelles',\r\n dial: '+248',\r\n value: 'SC'\r\n },\r\n {\r\n text: 'Sierra Leone',\r\n dial: '+232',\r\n value: 'SL'\r\n },\r\n {\r\n text: 'Singapore',\r\n dial: '+65',\r\n value: 'SG'\r\n },\r\n {\r\n text: 'Slovakia',\r\n dial: '+421',\r\n value: 'SK'\r\n },\r\n {\r\n text: 'Slovenia',\r\n dial: '+386',\r\n value: 'SI'\r\n },\r\n {\r\n text: 'Solomon Islands',\r\n dial: '+677',\r\n value: 'SB'\r\n },\r\n {\r\n text: 'Somalia',\r\n dial: '+252',\r\n value: 'SO'\r\n },\r\n {\r\n text: 'South Africa',\r\n dial: '+27',\r\n value: 'ZA'\r\n },\r\n {\r\n text: 'South Sudan',\r\n dial: '+211',\r\n value: 'SS'\r\n },\r\n {\r\n text: 'South Georgia and the South Sandwich Islands',\r\n dial: '+500',\r\n value: 'GS'\r\n },\r\n {\r\n text: 'Spain',\r\n dial: '+34',\r\n value: 'ES'\r\n },\r\n {\r\n text: 'Sri Lanka',\r\n dial: '+94',\r\n value: 'LK'\r\n },\r\n {\r\n text: 'Sudan',\r\n dial: '+249',\r\n value: 'SD'\r\n },\r\n {\r\n text: 'Suriname',\r\n dial: '+597',\r\n value: 'SR'\r\n },\r\n {\r\n text: 'Svalbard and Jan Mayen',\r\n dial: '+47',\r\n value: 'SJ'\r\n },\r\n {\r\n text: 'Swaziland',\r\n dial: '+268',\r\n value: 'SZ'\r\n },\r\n {\r\n text: 'Sweden',\r\n dial: '+46',\r\n value: 'SE'\r\n },\r\n {\r\n text: 'Switzerland',\r\n dial: '+41',\r\n value: 'CH'\r\n },\r\n {\r\n text: 'Syrian Arab Republic',\r\n dial: '+963',\r\n value: 'SY'\r\n },\r\n {\r\n text: 'Taiwan',\r\n dial: '+886',\r\n value: 'TW'\r\n },\r\n {\r\n text: 'Tajikistan',\r\n dial: '+992',\r\n value: 'TJ'\r\n },\r\n {\r\n text: 'Tanzania, United Republic of Tanzania',\r\n dial: '+255',\r\n value: 'TZ'\r\n },\r\n {\r\n text: 'Thailand',\r\n dial: '+66',\r\n value: 'TH'\r\n },\r\n {\r\n text: 'Timor-Leste',\r\n dial: '+670',\r\n value: 'TL'\r\n },\r\n {\r\n text: 'Togo',\r\n dial: '+228',\r\n value: 'TG'\r\n },\r\n {\r\n text: 'Tokelau',\r\n dial: '+690',\r\n value: 'TK'\r\n },\r\n {\r\n text: 'Tonga',\r\n dial: '+676',\r\n value: 'TO'\r\n },\r\n {\r\n text: 'Trinidad and Tobago',\r\n dial: '+1868',\r\n value: 'TT'\r\n },\r\n {\r\n text: 'Tunisia',\r\n dial: '+216',\r\n value: 'TN'\r\n },\r\n {\r\n text: 'Turkey',\r\n dial: '+90',\r\n value: 'TR'\r\n },\r\n {\r\n text: 'Turkmenistan',\r\n dial: '+993',\r\n value: 'TM'\r\n },\r\n {\r\n text: 'Turks and Caicos Islands',\r\n dial: '+1649',\r\n value: 'TC'\r\n },\r\n {\r\n text: 'Tuvalu',\r\n dial: '+688',\r\n value: 'TV'\r\n },\r\n {\r\n text: 'Uganda',\r\n dial: '+256',\r\n value: 'UG'\r\n },\r\n {\r\n text: 'Ukraine',\r\n dial: '+380',\r\n value: 'UA'\r\n },\r\n {\r\n text: 'United Arab Emirates',\r\n dial: '+971',\r\n value: 'AE'\r\n },\r\n {\r\n text: 'United Kingdom',\r\n dial: '+44',\r\n value: 'GB'\r\n },\r\n {\r\n text: 'United States',\r\n dial: '+1',\r\n value: 'US'\r\n },\r\n {\r\n text: 'Uruguay',\r\n dial: '+598',\r\n value: 'UY'\r\n },\r\n {\r\n text: 'Uzbekistan',\r\n dial: '+998',\r\n value: 'UZ'\r\n },\r\n {\r\n text: 'Vanuatu',\r\n dial: '+678',\r\n value: 'VU'\r\n },\r\n {\r\n text: 'Venezuela, Bolivarian Republic of Venezuela',\r\n dial: '+58',\r\n value: 'VE'\r\n },\r\n {\r\n text: 'Vietnam',\r\n dial: '+84',\r\n value: 'VN'\r\n },\r\n {\r\n text: 'Virgin Islands, British',\r\n dial: '+1284',\r\n value: 'VG'\r\n },\r\n {\r\n text: 'Virgin Islands, U.S.',\r\n dial: '+1340',\r\n value: 'VI'\r\n },\r\n {\r\n text: 'Wallis and Futuna',\r\n dial: '+681',\r\n value: 'WF'\r\n },\r\n {\r\n text: 'Yemen',\r\n dial: '+967',\r\n value: 'YE'\r\n },\r\n {\r\n text: 'Zambia',\r\n dial: '+260',\r\n value: 'ZM'\r\n },\r\n {\r\n text: 'Zimbabwe',\r\n dial: '+263',\r\n value: 'ZW'\r\n }\r\n];\r\n\r\nexport const getCountry = (value: string): any => countries.find((item) => item.value === value);\r\n\r\nexport const getCountryByDialCode = (phone: string): any => countries.find((item) => `${phone.startsWith('+') ? '' : '+'}${phone}`.startsWith(item.dial))?.value;\r\n","import { createSlice, PayloadAction } from '@reduxjs/toolkit';\r\nimport { AppThunk } from 'src/store';\r\nimport { Invitation, Referral } from 'src/../../Common/Model/network';\r\nimport { STATUS_REMOVED } from 'src/globals';\r\n\r\ninterface NetworkState {\r\n invitations: Invitation[],\r\n invitationNeedReload: boolean,\r\n referrals: Referral[],\r\n referralNeedReload: boolean\r\n}\r\n\r\nconst initialState: NetworkState = {\r\n invitations: [],\r\n invitationNeedReload: true,\r\n referrals: [],\r\n referralNeedReload: true\r\n};\r\n\r\nconst slice = createSlice({\r\n name: 'network',\r\n initialState,\r\n reducers: {\r\n clearState(state: NetworkState): void {\r\n state.invitationNeedReload = true;\r\n state.invitations.splice(0, state.invitations.length);\r\n state.referralNeedReload = true;\r\n state.referrals.splice(0, state.referrals.length);\r\n },\r\n setInvitations(state: NetworkState, action: PayloadAction) {\r\n const invitations = action.payload;\r\n state.invitations = [...invitations];\r\n state.invitationNeedReload = false;\r\n },\r\n addNewInvitation(state: NetworkState, action: PayloadAction<{ invitations: Invitation[] }>) {\r\n const { invitations } = action.payload;\r\n state.invitations = invitations.concat(state.invitations);\r\n },\r\n updateInvitation(state: NetworkState, action: PayloadAction) {\r\n const invitation = action.payload;\r\n const index = state.invitations.findIndex((item) => item.id === invitation.id);\r\n if (index > -1) state.invitations[index] = invitation;\r\n else state.invitations.push(invitation);\r\n },\r\n replaceInvitation(state: NetworkState, action: PayloadAction) {\r\n const body = action.payload;\r\n const invitation = state.invitations.find((item) => item.id === body.id);\r\n if (invitation) {\r\n Object.keys(body).forEach((key) => {\r\n if (key !== 'id') invitation[key] = body[key];\r\n });\r\n }\r\n },\r\n removeInvitation(state: NetworkState, action: PayloadAction) {\r\n const id = action.payload;\r\n state.invitations = state.invitations.filter((item) => item.id !== id);\r\n },\r\n setInvitationNeedReload(state: NetworkState, action: PayloadAction) {\r\n state.invitationNeedReload = action.payload;\r\n },\r\n setReferrals(state: NetworkState, action: PayloadAction) {\r\n const referrals = action.payload;\r\n state.referrals = [...referrals];\r\n state.referralNeedReload = false;\r\n },\r\n addNewReferral(state: NetworkState, action: PayloadAction<{ referrals: Referral[] }>) {\r\n const { referrals } = action.payload;\r\n state.referrals = referrals.concat(state.referrals);\r\n },\r\n updateReferral(state: NetworkState, action: PayloadAction) {\r\n const referral = action.payload;\r\n const index = state.referrals.findIndex((item) => item.id === referral.id);\r\n if (index > -1) state.referrals[index] = referral;\r\n else state.referrals.push(referral);\r\n },\r\n replaceReferral(state: NetworkState, action: PayloadAction) {\r\n const body = action.payload;\r\n const referral = state.referrals.find((item) => item.id === body.id);\r\n if (referral) {\r\n Object.keys(body).forEach((key) => {\r\n if (key !== 'id') referral[key] = body[key];\r\n });\r\n }\r\n },\r\n removeReferral(state: NetworkState, action: PayloadAction) {\r\n const id = action.payload;\r\n state.referrals = state.referrals.filter((item) => item.id !== id);\r\n },\r\n removeReferralFromReq(state: NetworkState, action: PayloadAction<{ removed: number; id : string; updatedAt: Date | string; }>) {\r\n const { removed, id, updatedAt } = action.payload;\r\n if (removed > 0) {\r\n const index = state.referrals.findIndex((item) => item.id === id);\r\n state.referrals.splice(index, 1);\r\n } else {\r\n const referral = state.referrals.find((item) => item.id === id);\r\n referral.status = STATUS_REMOVED;\r\n referral.updatedAt = updatedAt;\r\n }\r\n },\r\n setReferralNeedReload(state: NetworkState, action: PayloadAction) {\r\n state.referralNeedReload = action.payload;\r\n },\r\n }\r\n});\r\n\r\nexport const { reducer } = slice;\r\n\r\nexport const clearNetworkState = (): AppThunk => (dispatch): void => {\r\n dispatch(slice.actions.clearState());\r\n};\r\nexport const loadInvitations = (invitations: Invitation[]): AppThunk => async (dispatch) => {\r\n dispatch(slice.actions.setInvitations(invitations));\r\n};\r\nexport const addNewInvitation = (invitations: Invitation[]): AppThunk => async (dispatch) => {\r\n dispatch(slice.actions.addNewInvitation({ invitations }));\r\n};\r\nexport const updateInvitation = (invitation: Invitation): AppThunk => async (dispatch) => {\r\n dispatch(slice.actions.updateInvitation(invitation));\r\n};\r\nexport const replaceInvitation = (body: any): AppThunk => async (dispatch) => {\r\n dispatch(slice.actions.replaceInvitation(body));\r\n};\r\nexport const removeInvitation = (id: string): AppThunk => async (dispatch) => {\r\n dispatch(slice.actions.removeInvitation(id));\r\n};\r\nexport const setInvitationNeedReload = (needReload: boolean): AppThunk => async (dispatch) => {\r\n dispatch(slice.actions.setInvitationNeedReload(needReload));\r\n};\r\nexport const loadReferrals = (referrals: Referral[]): AppThunk => async (dispatch) => {\r\n dispatch(slice.actions.setReferrals(referrals));\r\n};\r\nexport const addNewReferral = (referrals: Referral[]): AppThunk => async (dispatch) => {\r\n dispatch(slice.actions.addNewReferral({ referrals }));\r\n};\r\nexport const updateReferral = (referral: Referral): AppThunk => async (dispatch) => {\r\n dispatch(slice.actions.updateReferral(referral));\r\n};\r\nexport const replaceReferral = (body: any): AppThunk => async (dispatch) => {\r\n dispatch(slice.actions.replaceReferral(body));\r\n};\r\nexport const removeReferral = (id: string): AppThunk => async (dispatch) => {\r\n dispatch(slice.actions.removeReferral(id));\r\n};\r\nexport const removeReferralFromReq = (removed: number, id : string, updatedAt: Date | string): AppThunk => async (dispatch) => {\r\n dispatch(slice.actions.removeReferralFromReq({ removed, id, updatedAt }));\r\n};\r\nexport const setReferralNeedReload = (needReload: boolean): AppThunk => async (dispatch) => {\r\n dispatch(slice.actions.setReferralNeedReload(needReload));\r\n};\r\n\r\nexport default slice;\r\n","import Conversations, { User } from '@twilio/conversations';\r\nimport { lambdaGetTwilioToken, lambdaGetAttachmentFileDownloadUrl, lambdaGetAttachmentFileUploadUrl, lambdaGetOrgTeamMembers, lambdaGetUserMinInfos, lambdaAddServiceParticipants } from 'src/aws/lambdaDispatch';\r\nimport { uploadFile } from 'src/utils/fileUpDownload';\r\nimport { Conversation } from '@twilio/conversations/lib/data/conversations';\r\nimport { Thread, Message as AccsiomMsg, MessageAttribue, Contact } from 'src/types/chat';\r\nimport { Message as TwilioMsg } from '@twilio/conversations/lib/message';\r\nimport {\r\n markThreadAsSeen,\r\n msgAdded,\r\n msgSent,\r\n msgUpdated,\r\n addRecipientsToThread,\r\n removeMessage,\r\n removeParticipants,\r\n setActiveThread,\r\n setEditingMsg,\r\n setMessageImage,\r\n setMessageVideoThumbnail,\r\n setMsgUnreadCount,\r\n setTypingEnded,\r\n setTypingStarted,\r\n threadAdded,\r\n threadDeleted,\r\n threadJoined,\r\n updateLastMsgIndex,\r\n updateLastReadMsgIndex,\r\n updateUserOnlineStatus,\r\n updateLastReadMsgIds,\r\n processBeforeChangeMode\r\n} from 'src/slices/chat';\r\nimport { updateUserMinInfos } from 'src/slices/organization';\r\nimport { Participant } from '@twilio/conversations/lib/participant';\r\nimport toast from 'react-hot-toast';\r\nimport { v4 as uuidv4 } from 'uuid';\r\n// modified by Makarov --2021/11/01\r\nimport { PAGE_SIZE, tenary, ACCZIOM_ORG, getUserIdByType, ACCZIOM_CLIENT_ORG, ACCZIOM_SUPPLIER, ACCZIOM_CLIENT, ACCZIOM_MEMBER, ACCZIOM_NONE, INDIVIDUAL_TYPES, getUserInfoByType } from 'src/globals';\r\nimport getUserDisplayName from 'src/utils/getUserDisplayName';\r\nimport axios from 'axios';\r\nimport gstore from 'src/store';\r\nimport { accsiomURIs } from 'src/config';\r\nimport { getActiveIdByType, getActiveInfo, getUserMinInfoByID } from 'src/utils/getActiveOrgInfo';\r\nimport { addCallApiCount } from 'src/slices/user';\r\nimport { getAgentIds } from 'src/utils/agentUtils';\r\n\r\nconst TwilioToAccsiomMsg = (msg: TwilioMsg) : AccsiomMsg => ({\r\n id: msg.index,\r\n body: msg.body,\r\n convId: msg.conversation.sid,\r\n attrib: msg.attributes,\r\n createdAt: msg.dateCreated.getTime(),\r\n senderId: msg.author,\r\n contentType: 'text',\r\n sent: true\r\n} as AccsiomMsg);\r\n\r\nconst TwilioToAccsiomThread = (conv: Conversation) : Thread => {\r\n const attrib = conv.attributes as any;\r\n return {\r\n sid: conv.sid,\r\n title: conv.friendlyName,\r\n participants: attrib.recipients,\r\n lastMessage: attrib.lastMessage,\r\n lastMessageTime: attrib.lastMessageTime,\r\n type: attrib.type,\r\n createdBy: conv.createdBy,\r\n unreadCount: 0,\r\n isTyping: false,\r\n lastReadMsgIndex: conv.lastReadMessageIndex === null ? 0 : conv.lastReadMessageIndex,\r\n lastMsgIndex: (conv.lastMessage === null || conv.lastMessage === undefined) ? 0 : conv.lastMessage.index,\r\n messages: [],\r\n typer: { uid: '', oid: '', type: ACCZIOM_NONE }\r\n } as Thread;\r\n};\r\n\r\nclass ChatApi {\r\n private client: Conversations = null;\r\n\r\n private uid: string = '';\r\n\r\n private token: string = '';\r\n\r\n private firstMsgForNewConv = '';\r\n\r\n private convs: Conversation[] = [];\r\n\r\n private users: Record = {};\r\n\r\n private messages: Record = {};\r\n\r\n private lastMsgId: Record = {};\r\n\r\n private dispatch = null;\r\n\r\n private activeThreadId: string = null;\r\n\r\n private msgId: number = -1;\r\n\r\n private isConnecting: boolean = false;\r\n\r\n public isActive: boolean = false;\r\n\r\n cleanUp(): void {\r\n if (!(this.client)) return;\r\n this.isActive = false;\r\n this.client.shutdown();\r\n this.dispatch = null;\r\n this.isConnecting = false;\r\n this.convs.forEach((_conv) => {\r\n this.messages[_conv.sid]?.splice(0, this.messages[_conv.sid].length);\r\n });\r\n this.messages = {};\r\n this.lastMsgId = {};\r\n this.convs.splice(0, this.convs.length);\r\n this.uid = '';\r\n this.users = {};\r\n this.token = '';\r\n this.activeThreadId = null;\r\n this.msgId = -1;\r\n this.client = null;\r\n }\r\n\r\n initConnection(uid: string, _dispatch): Promise {\r\n if (this.client) {\r\n if (this.client.connectionState === 'connected' || this.client.connectionState === 'connecting') {\r\n return Promise.resolve(true);\r\n }\r\n }\r\n\r\n if (this.isConnecting) return Promise.resolve(true);\r\n\r\n gstore.dispatch(addCallApiCount());\r\n\r\n this.isConnecting = true;\r\n\r\n return new Promise((resolve, reject) => {\r\n this.getToken(uid)\r\n .then((_token) => {\r\n this.token = _token;\r\n Conversations.create(this.token)\r\n .then((_conn) => {\r\n this.client = _conn;\r\n this.uid = uid;\r\n this.dispatch = _dispatch;\r\n this.initListeners();\r\n this.isActive = true;\r\n this.isConnecting = false;\r\n resolve(true);\r\n })\r\n .catch(() => {\r\n reject(new Error('Failed with twilio conversation initialization'));\r\n });\r\n })\r\n .catch(() => {\r\n reject(new Error('Failed with twilio token request'));\r\n });\r\n });\r\n }\r\n\r\n loadImageThumbnail(uri: string, msg: AccsiomMsg): void {\r\n lambdaGetAttachmentFileDownloadUrl(`${uri}-thumb`).then((url) => {\r\n this.dispatch(setMessageImage(msg, url));\r\n });\r\n }\r\n\r\n loadVideoThumbnail(uri: string, msg: AccsiomMsg): void {\r\n lambdaGetAttachmentFileDownloadUrl(`${uri}.png`).then((url) => {\r\n this.dispatch(setMessageVideoThumbnail(msg, url));\r\n });\r\n }\r\n\r\n initListeners(): void {\r\n if (this.client) {\r\n this.client.on('connectionError', () => {\r\n this.initConnection(this.uid, this.dispatch);\r\n });\r\n\r\n this.client.on('tokenAboutToExpire', () => {\r\n lambdaGetTwilioToken(this.uid, true)\r\n .then((token) => {\r\n if (token !== null) {\r\n this.client.updateToken(token);\r\n } else {\r\n this.cleanUp();\r\n }\r\n })\r\n .catch(() => {\r\n console.log('updateToken Failed.');\r\n });\r\n });\r\n\r\n this.client.on('messageAdded', (msg: TwilioMsg) => {\r\n const aMsg = TwilioToAccsiomMsg(msg);\r\n\r\n if (!(this.messages[aMsg.convId])) this.messages[aMsg.convId] = [];\r\n this.messages[aMsg.convId].push(msg);\r\n\r\n if (aMsg.senderId !== this.uid) {\r\n if (aMsg.attrib) {\r\n const { type, uri } = aMsg.attrib;\r\n\r\n if (type !== undefined) {\r\n if (type.includes('image/')) {\r\n this.loadImageThumbnail(uri, aMsg);\r\n }\r\n if (type.includes('video/mp4')) {\r\n this.loadVideoThumbnail(uri, aMsg);\r\n }\r\n }\r\n }\r\n\r\n this.dispatch(msgAdded(aMsg));\r\n } else {\r\n this.dispatch(msgSent(aMsg));\r\n }\r\n\r\n this.dispatch(updateLastMsgIndex(aMsg.convId, aMsg.id));\r\n this.lastMsgId[aMsg.convId] = aMsg.id;\r\n\r\n const conv = this.findThreadById(aMsg.convId);\r\n if (conv) {\r\n if (this.activeThreadId === aMsg.convId) {\r\n this.updateLastReadMsgIndex(aMsg.convId);\r\n } else {\r\n conv.getUnreadMessagesCount()\r\n .then((val) => this.dispatch(setMsgUnreadCount(conv.sid, !val ? 0 : val)))\r\n .catch(() => {});\r\n }\r\n }\r\n\r\n if (this.uid === conv.createdBy) {\r\n const att: any = conv.attributes;\r\n att.lastMessage = aMsg.body;\r\n att.lastMessageTime = aMsg.createdAt;\r\n conv.updateAttributes(att);\r\n }\r\n\r\n if (aMsg && aMsg.convId) {\r\n if (document.hasFocus() === false && window.Notification !== null && Notification.permission === 'granted') this.notifyMessage(aMsg);\r\n }\r\n });\r\n\r\n this.client.on('messageUpdated', (msg: any) => {\r\n const aMsg = TwilioToAccsiomMsg(msg.message);\r\n this.dispatch?.(msgUpdated(aMsg));\r\n });\r\n\r\n this.client.on('messageRemoved', (msg: TwilioMsg) => {\r\n this.dispatch?.(removeMessage(msg.conversation.sid, msg.index));\r\n });\r\n\r\n this.client.on('typingStarted', (p: Participant) => {\r\n const { sid } = p.conversation;\r\n const { identity } = p;\r\n\r\n if (identity === this.uid) return;\r\n this.dispatch?.(setTypingStarted(sid, identity));\r\n });\r\n\r\n this.client.on('typingEnded', (p: Participant) => {\r\n const { sid } = p.conversation;\r\n this.dispatch?.(setTypingEnded(sid));\r\n });\r\n\r\n this.client.on('conversationJoined', (_conv: Conversation) => {\r\n this.dispatch?.(threadJoined(_conv.sid));\r\n if (this.firstMsgForNewConv) {\r\n this.sendMessage(_conv.sid, this.firstMsgForNewConv);\r\n this.firstMsgForNewConv = '';\r\n }\r\n });\r\n\r\n this.client.on('conversationAdded', (_conv: Conversation) => {\r\n const conv = this.findThreadById(_conv.sid);\r\n if (conv) return;\r\n this.addConvDispatch(_conv);\r\n });\r\n\r\n this.client.on('participantUpdated', ({ participant }) => {\r\n const { sid } = participant.conversation;\r\n const { identity, lastReadMessageIndex } = participant;\r\n const lastMsgIds = {};\r\n lastMsgIds[sid] = {};\r\n lastMsgIds[sid][identity] = lastReadMessageIndex;\r\n this.dispatch(updateLastReadMsgIds(lastMsgIds));\r\n });\r\n }\r\n }\r\n\r\n notifyMessage(accMsg: AccsiomMsg): void {\r\n const conv = this.findThreadById(accMsg.convId);\r\n if (conv) {\r\n const attrib = conv.attributes as any;\r\n const participants = attrib.recipients;\r\n const sender = participants.find((_participant) => _participant.uid === accMsg.senderId);\r\n let senderIcon = '/static/unknown-person.png';\r\n const sentUserInfo = sender ? getUserMinInfoByID(getUserInfoByType(sender)) : null;\r\n if (sentUserInfo) senderIcon = sentUserInfo.avatar;\r\n const senderName = sentUserInfo ? getUserDisplayName(sentUserInfo) : 'Unknown';\r\n const { type, quotedMsg } = accMsg.attrib;\r\n const isFile = type !== undefined && quotedMsg === undefined;\r\n const isImage = isFile && type.includes('image/');\r\n const n = new Notification(conv.friendlyName, {\r\n body: `${senderName}: ${isFile ? tenary(isImage, 'Sent a photo.', 'Sent a file.') : accMsg.body}`,\r\n icon: senderIcon\r\n });\r\n n.onclick = () => {\r\n window.focus();\r\n };\r\n setTimeout(() => { n.close(); }, 5000);\r\n }\r\n }\r\n\r\n loadAvatar(participants: Contact[], creatorId: string): void {\r\n const newParticipants = participants.filter((participant) => !getUserMinInfoByID(getUserInfoByType(participant)));\r\n const newUsers = newParticipants.map((participant) => {\r\n if ([ACCZIOM_CLIENT_ORG, ACCZIOM_SUPPLIER].includes(participant.type)) return { id: getUserIdByType(participant), oid: creatorId, type: participant.type };\r\n return { id: getUserIdByType(participant), type: participant.type };\r\n });\r\n const nonIndividuals = participants.filter((participant) => [ACCZIOM_ORG, ACCZIOM_CLIENT_ORG, ACCZIOM_SUPPLIER].includes(participant.type)).map((participant) => ({ id: participant.uid, type: ACCZIOM_MEMBER }));\r\n newUsers.push(...nonIndividuals.filter((participant) => !getUserMinInfoByID(participant)));\r\n if (newUsers.length > 0) {\r\n lambdaGetUserMinInfos(newUsers)\r\n .then((miniUsers) => {\r\n this.dispatch(updateUserMinInfos(miniUsers));\r\n })\r\n .catch((err) => {\r\n console.log(`Failed to load avatar with ${JSON.stringify(err)}`);\r\n });\r\n }\r\n }\r\n\r\n addConvDispatch(_conv: Conversation): void {\r\n let i = 0;\r\n const attrib0 = _conv.attributes as any;\r\n for (i = 0; i < this.convs.length; i++) {\r\n const attrib1 = this.convs[i].attributes as any;\r\n if (attrib1.lastMessageTime < attrib0.lastMessageTime) break;\r\n }\r\n this.convs.splice(i, 0, _conv);\r\n\r\n const thread: Thread = TwilioToAccsiomThread(_conv);\r\n this.dispatch(threadAdded(thread));\r\n this.loadAvatar(thread.participants, getUserIdByType(thread.participants.find((participant) => participant.uid === thread.createdBy)));\r\n\r\n // if (this.convs.length === 1) this.setActiveThreadId(thread.sid);\r\n\r\n this.lastMsgId[thread.sid] = thread.lastMsgIndex;\r\n _conv.getUnreadMessagesCount()\r\n .then((val) => this.dispatch(setMsgUnreadCount(_conv.sid, val === null ? 0 : val)))\r\n .catch(() => {});\r\n\r\n thread.participants.forEach((item) => {\r\n if (this.users[item.uid] === undefined) {\r\n this.users[item.uid] = null;\r\n this.client.getUser(item.uid)\r\n .then((u) => {\r\n this.users[item.uid] = u;\r\n this.dispatch(updateUserOnlineStatus(u.identity, u.isOnline));\r\n this.users[item.uid].on('updated', (evt) => {\r\n evt.updateReasons.forEach((ur) => {\r\n if (ur === 'reachabilityOnline') this.dispatch(updateUserOnlineStatus(evt.user.identity, evt.user.isOnline));\r\n });\r\n });\r\n })\r\n .catch(() => {});\r\n }\r\n });\r\n }\r\n\r\n getUsersLastMsgId(sid: string = ''): void {\r\n if (!sid) sid = this.activeThreadId;\r\n const activeConversation = this.findThreadById(sid);\r\n if (!activeConversation) return;\r\n const participants = activeConversation.getParticipants();\r\n participants.then((currentParticipants) => {\r\n const lastMsgIds = {};\r\n lastMsgIds[sid] = currentParticipants.reduce((merged, participant) => {\r\n merged[participant.identity] = participant.lastReadMessageIndex;\r\n return merged;\r\n }, {});\r\n this.dispatch(updateLastReadMsgIds(lastMsgIds));\r\n this.dispatch(setActiveThread(sid));\r\n });\r\n }\r\n\r\n setActiveThreadId(sid: string): void {\r\n this.activeThreadId = sid;\r\n this.getUsersLastMsgId();\r\n }\r\n\r\n processBeforeChangeMode(): void {\r\n this.activeThreadId = null;\r\n this.dispatch(processBeforeChangeMode());\r\n }\r\n\r\n getToken(uid: string): Promise {\r\n return new Promise((resolve, reject) => {\r\n lambdaGetTwilioToken(uid)\r\n .then((token) => {\r\n resolve(token);\r\n })\r\n .catch(() => {\r\n reject(new Error('Failed with twilio token request'));\r\n });\r\n });\r\n }\r\n\r\n deleteMessage(sid: string, msgId: number): Promise {\r\n gstore.dispatch(addCallApiCount());\r\n for (let i = 0; i < this.messages[sid].length; i++) {\r\n if (this.messages[sid][i].index === msgId) {\r\n this.dispatch(removeMessage(sid, msgId));\r\n this.messages[sid][i].remove().then(() => {\r\n const { convs } = gstore.getState().chat;\r\n const sconv = convs.find((conv) => conv.sid === sid);\r\n axios.post(accsiomURIs.twilio_notification_url, {\r\n type: 'remove',\r\n participants: sconv.participants.filter((part) => part.uid !== this.uid).map((part) => ({\r\n uid: part.uid,\r\n type: part.type,\r\n oid: part.oid\r\n })),\r\n sid,\r\n id: msgId\r\n }).catch(() => {});\r\n });\r\n this.messages[sid].splice(i, 1);\r\n break;\r\n }\r\n }\r\n\r\n return Promise.resolve(true);\r\n }\r\n\r\n deleteMessages(sid: string, msgIds: number[]): Promise {\r\n gstore.dispatch(addCallApiCount());\r\n this.messages[sid].forEach((message) => {\r\n if (msgIds.includes(message.index)) {\r\n this.dispatch(removeMessage(sid, message.index));\r\n message.remove().then(() => {\r\n const { convs } = gstore.getState().chat;\r\n const sconv = convs.find((conv) => conv.sid === sid);\r\n axios.post(accsiomURIs.twilio_notification_url, {\r\n type: 'remove',\r\n participants: sconv.participants.filter((part) => part.uid !== this.uid).map((part) => ({\r\n uid: part.uid,\r\n type: part.type,\r\n oid: part.oid\r\n })),\r\n sid,\r\n id: message.index\r\n }).catch(() => {});\r\n });\r\n }\r\n });\r\n this.messages[sid] = this.messages[sid].filter((message) => !msgIds.includes(message.index));\r\n\r\n return Promise.resolve(true);\r\n }\r\n\r\n createConversation(attrib: any, title: string, type: number, firstMsg?: string): Promise {\r\n if (!(this.client)) {\r\n return Promise.reject(new Error('Twilio client is not initiated'));\r\n }\r\n gstore.dispatch(addCallApiCount());\r\n return new Promise((resolve, reject) => {\r\n this.client.createConversation({\r\n friendlyName: title,\r\n attributes: {\r\n ...(!firstMsg ? {} : {\r\n lastMessage: firstMsg,\r\n lastMessageTime: (new Date()).getTime()\r\n }),\r\n recipients: attrib,\r\n type\r\n }\r\n })\r\n .then((conv) => {\r\n conv.join()\r\n .then((joinedConv) => {\r\n const activeInfo = getActiveInfo(ACCZIOM_CLIENT, ACCZIOM_ORG);\r\n lambdaAddServiceParticipants(joinedConv.sid, attrib.filter((recipient) => recipient.uid !== this.uid).map((recipient) => ({\r\n uid: recipient.uid,\r\n isAdmin: activeInfo.type !== ACCZIOM_CLIENT && recipient.oid === activeInfo.id && recipient.type !== ACCZIOM_MEMBER\r\n })));\r\n resolve(joinedConv.sid);\r\n })\r\n .catch((err) => Promise.reject(new Error(`Invitation error: ${err}`)));\r\n })\r\n .catch((err) => {\r\n reject(new Error(`Creating conversation failed with error: ${JSON.stringify(err)}`));\r\n });\r\n });\r\n }\r\n\r\n addParticipantsToConversation(sid:string, newRecipients: Contact[]): Promise {\r\n const conv = this.findThreadById(sid);\r\n if (!conv) return Promise.reject();\r\n gstore.dispatch(addCallApiCount());\r\n const activeInfo = getActiveInfo(ACCZIOM_CLIENT, ACCZIOM_ORG);\r\n lambdaAddServiceParticipants(sid, newRecipients.map((recipient) => ({\r\n uid: recipient.uid,\r\n isAdmin: activeInfo.type !== ACCZIOM_CLIENT && recipient.oid === activeInfo.id && recipient.type !== ACCZIOM_MEMBER\r\n })));\r\n const att: any = conv.attributes;\r\n const { recipients } = att;\r\n att.recipients = [...recipients, ...newRecipients];\r\n conv.updateAttributes(att);\r\n this.dispatch(addRecipientsToThread(sid, newRecipients));\r\n return Promise.resolve();\r\n }\r\n\r\n removeParticipantsFromConversation(sid: string, uids: string[]): Promise {\r\n const conv = this.findThreadById(sid);\r\n if (!conv) return Promise.reject(new Error('Conversation not exists'));\r\n gstore.dispatch(addCallApiCount());\r\n const promises = [];\r\n uids.forEach((uid) => {\r\n promises.push(conv.removeParticipant(uid));\r\n });\r\n return new Promise((resolve) => {\r\n Promise.all(promises).then(() => {\r\n const att: any = conv.attributes;\r\n att.recipients = att.recipients.filter((recipient) => !uids.includes(recipient.uid));\r\n conv.updateAttributes(att)\r\n .then(() => {\r\n this.dispatch?.(removeParticipants(sid, uids));\r\n resolve();\r\n });\r\n });\r\n });\r\n }\r\n\r\n removeConversationFromApp(_conv: Conversation): void {\r\n const convIdx = this.convs.indexOf(_conv);\r\n if (convIdx < 0) {\r\n this.setActiveThreadId(null);\r\n } else if (convIdx < this.convs.length - 1) {\r\n this.setActiveThreadId(this.convs[convIdx + 1].sid);\r\n this.updateLastReadMsgIndex(this.convs[convIdx + 1].sid);\r\n } else {\r\n this.setActiveThreadId(this.convs[0].sid);\r\n this.updateLastReadMsgIndex(this.convs[0].sid);\r\n }\r\n if (this.messages[_conv.sid]) {\r\n this.messages[_conv.sid].splice(0, this.messages[_conv.sid].length);\r\n }\r\n this.messages[_conv.sid] = undefined;\r\n this.lastMsgId[_conv.sid] = undefined;\r\n this.convs.splice(convIdx, 1);\r\n this.dispatch(threadDeleted(_conv.sid));\r\n }\r\n\r\n deleteConversation(sid: string): Promise {\r\n const conv = this.findThreadById(sid);\r\n if (!conv) return Promise.reject(new Error('The conversation does not exist.'));\r\n gstore.dispatch(addCallApiCount());\r\n if (!(this.messages[conv.sid])) {\r\n conv.delete();\r\n this.removeConversationFromApp(conv);\r\n return Promise.resolve(conv.sid);\r\n }\r\n return new Promise((resolve, reject) => {\r\n conv.delete()\r\n .then((_conv) => {\r\n this.removeConversationFromApp(_conv);\r\n resolve(_conv.sid);\r\n })\r\n .catch((err) => {\r\n reject(new Error(`The conversation was failed to delete with Error: ${JSON.stringify(err)}`));\r\n });\r\n });\r\n }\r\n\r\n leaveConversation(sid: string): Promise {\r\n const conv = this.findThreadById(sid);\r\n if (!conv) return Promise.resolve('');\r\n gstore.dispatch(addCallApiCount());\r\n return new Promise((resolve, reject) => {\r\n const participants = (conv.attributes as any).recipients;\r\n const me = participants.find((participant) => participant.uid === this.uid);\r\n const otherParticipants = participants.filter((participant) => getUserIdByType(participant) === getActiveIdByType(me.type));\r\n const otherParticipantIds = otherParticipants.map((participant) => participant.uid);\r\n if (otherParticipantIds.length > 0) {\r\n this.removeParticipantsFromConversation(sid, otherParticipantIds)\r\n .then(() => {\r\n conv.leave()\r\n .then((_conv) => {\r\n this.removeConversationFromApp(_conv);\r\n resolve(_conv.sid);\r\n })\r\n .catch((err) => {\r\n reject(new Error(`The conversation was failed to leave with Error: ${JSON.stringify(err)}`));\r\n });\r\n })\r\n .catch((err) => {\r\n reject(new Error(`The conversation was failed to remove other participants with Error: ${JSON.stringify(err)}`));\r\n });\r\n } else {\r\n conv.leave()\r\n .then((_conv) => {\r\n this.removeConversationFromApp(_conv);\r\n resolve(_conv.sid);\r\n })\r\n .catch((err) => {\r\n reject(new Error(`The conversation was failed to leave with Error: ${JSON.stringify(err)}`));\r\n });\r\n }\r\n });\r\n }\r\n\r\n getConversations(_threads: Thread[]): Promise {\r\n if (!(this.client)) {\r\n return Promise.reject(new Error('Twilio client is not initiated.'));\r\n }\r\n gstore.dispatch(addCallApiCount());\r\n return new Promise((resolve, reject) => {\r\n this.client.getSubscribedConversations()\r\n .then((paginator) => {\r\n paginator.items.forEach((item) => {\r\n // item.delete();\r\n const conv = this.findThreadById(item.sid);\r\n if (!conv) this.addConvDispatch(item);\r\n _threads.unshift(TwilioToAccsiomThread(item));\r\n });\r\n resolve(_threads);\r\n })\r\n .catch((err) => {\r\n reject(new Error(`Get conversations failed with Error: ${JSON.stringify(err)}`));\r\n });\r\n });\r\n }\r\n\r\n findThreadById = (sid: string): Conversation | null => {\r\n const conv = this.convs.find((item) => item.sid === sid);\r\n return conv || null;\r\n };\r\n\r\n updateLastReadMsgIndex(sid: string): Promise {\r\n const conv = this.findThreadById(sid);\r\n if (conv) {\r\n gstore.dispatch(addCallApiCount());\r\n this.dispatch(markThreadAsSeen(conv.sid));\r\n this.dispatch(updateLastReadMsgIndex(conv.sid, this.lastMsgId[conv.sid]));\r\n conv.setAllMessagesRead().then(() => {\r\n axios.post(accsiomURIs.twilio_notification_url, {\r\n type: 'saw',\r\n uid: this.uid,\r\n sid\r\n }).catch(() => {});\r\n }).catch(() => {});\r\n // conv.updateLastReadMessageIndex(this.lastMsgId[conv.sid]).catch(() => {});\r\n }\r\n\r\n return Promise.resolve();\r\n }\r\n\r\n onTyping(sid: string): void {\r\n const conv = this.findThreadById(sid);\r\n if (conv) {\r\n conv.typing()\r\n .then(() => {})\r\n .catch(() => {});\r\n }\r\n }\r\n\r\n getMessages(sid: string, from?: number, direction?: 'backwards' | 'forward'): Promise {\r\n const ret: AccsiomMsg[] = [];\r\n const conv = this.findThreadById(sid);\r\n if (!conv) return Promise.reject(new Error('The conversation does not exist.'));\r\n gstore.dispatch(addCallApiCount());\r\n const twilioMsgs : TwilioMsg[] = [];\r\n return new Promise((resolve, reject) => {\r\n conv.getMessages(PAGE_SIZE, from, direction)\r\n .then((paginator) => {\r\n paginator.items.forEach((item) => {\r\n const aMsg = TwilioToAccsiomMsg(item);\r\n if (!(this.messages[aMsg.convId])) this.messages[aMsg.convId] = [];\r\n twilioMsgs.push(item);\r\n if (aMsg.attrib) {\r\n const { type, uri } = aMsg.attrib;\r\n if (type !== undefined) {\r\n if (type.includes('image/')) {\r\n aMsg.body = '/static/blank.png';\r\n this.loadImageThumbnail(uri, aMsg);\r\n }\r\n if (type.includes('video/mp4')) {\r\n aMsg.body = '/static/blank.png';\r\n this.loadVideoThumbnail(uri, aMsg);\r\n }\r\n }\r\n }\r\n ret.push(aMsg);\r\n });\r\n if (direction === 'forward') {\r\n this.messages[sid].push(...twilioMsgs);\r\n } else {\r\n this.messages[sid].unshift(...twilioMsgs);\r\n }\r\n resolve(ret);\r\n })\r\n .catch((err) => {\r\n reject(new Error(`Get messages failed with Error: ${JSON.stringify(err)}`));\r\n });\r\n });\r\n }\r\n\r\n // created by Markov --2021/11/17\r\n minimizeConversation(sid: string): void {\r\n if (this.messages[sid] === undefined || this.messages[sid].length < 1) return;\r\n this.messages[sid].splice(0, this.messages[sid].length - PAGE_SIZE);\r\n }\r\n\r\n getVideoThumbnail(file: File) {\r\n return new Promise((resolve) => {\r\n const video = document.createElement('video');\r\n const canvas = document.createElement('canvas');\r\n video.setAttribute('src', URL.createObjectURL(file));\r\n video.addEventListener('timeupdate', () => {\r\n const canvasCtx = canvas.getContext('2d');\r\n canvasCtx.drawImage(video, 0, 0, video.videoWidth, video.videoHeight);\r\n canvas.toBlob((thumb) => {\r\n resolve({\r\n thumb,\r\n width: video.videoWidth,\r\n height: video.videoHeight\r\n });\r\n });\r\n });\r\n video.addEventListener('loadedmetadata', () => {\r\n canvas.width = video.videoWidth;\r\n canvas.height = video.videoHeight;\r\n video.currentTime = 0;\r\n });\r\n });\r\n }\r\n\r\n getImageThumbnail(file: File) {\r\n return new Promise((resolve) => {\r\n const image = new Image();\r\n const canvas = document.createElement('canvas');\r\n image.setAttribute('src', URL.createObjectURL(file));\r\n image.addEventListener('load', () => {\r\n const w = 240;\r\n const h = 240 * (image.height / image.width);\r\n canvas.width = w;\r\n canvas.height = h;\r\n const canvasCtx = canvas.getContext('2d');\r\n canvasCtx.drawImage(image, 0, 0, w, h);\r\n canvas.toBlob((thumb) => {\r\n resolve({\r\n thumb,\r\n width: image.width,\r\n height: image.height\r\n });\r\n });\r\n });\r\n });\r\n }\r\n\r\n async sendFile(sid: string, file: File) {\r\n const conv = this.findThreadById(sid);\r\n if (!conv) return -1;\r\n if (file === undefined || file === null) return 1;\r\n if (file.size > 20971520) {\r\n toast.error('File you attached is large, Please send the file which is less than 20MB in size.');\r\n return 1;\r\n }\r\n gstore.dispatch(addCallApiCount());\r\n const uid = uuidv4();\r\n const attribute = {\r\n type: file.type,\r\n size: file.size,\r\n name: file.name,\r\n uri: uid\r\n } as MessageAttribue;\r\n let sendMsg = 'Sent a file.';\r\n const newMsg = {\r\n id: this.msgId,\r\n convId: sid,\r\n body: '',\r\n attrib: attribute,\r\n createdAt: (new Date()).getTime(),\r\n sent: false,\r\n senderId: this.uid,\r\n contentType: ''\r\n };\r\n this.msgId--;\r\n if (attribute.type === 'video/mp4') {\r\n sendMsg = 'Sent a video.';\r\n const { thumb, width, height } = (await this.getVideoThumbnail(file)) as { thumb: Blob; width: number; height: number };\r\n attribute.size = width * 10000 + height;\r\n const thumbUrl = URL.createObjectURL(thumb);\r\n this.dispatch(msgAdded({\r\n ...newMsg,\r\n body: thumbUrl\r\n }));\r\n const thumbuploadUrl = await lambdaGetAttachmentFileUploadUrl(`${uid}.png`);\r\n await uploadFile(thumb, thumbuploadUrl);\r\n const uploadUrl = await lambdaGetAttachmentFileUploadUrl(uid);\r\n await uploadFile(file, uploadUrl);\r\n } else if (attribute.type.includes('image/')) {\r\n sendMsg = 'Sent a image';\r\n const { thumb, width, height } = (await this.getImageThumbnail(file)) as { thumb: Blob; width: number; height: number };\r\n const thumbUrl = URL.createObjectURL(thumb);\r\n attribute.size = width * 10000 + height;\r\n this.dispatch(msgAdded({\r\n ...newMsg,\r\n body: thumbUrl\r\n }));\r\n const thumbuploadUrl = await lambdaGetAttachmentFileUploadUrl(`${uid}-thumb`);\r\n await uploadFile(thumb, thumbuploadUrl);\r\n const uploadUrl = await lambdaGetAttachmentFileUploadUrl(`${uid}.${attribute.type.replace('image/', '')}`);\r\n await uploadFile(file, uploadUrl);\r\n } else {\r\n this.dispatch(msgAdded(newMsg));\r\n const uploadUrl = await lambdaGetAttachmentFileUploadUrl(uid);\r\n await uploadFile(file, uploadUrl);\r\n }\r\n const retV = await conv.sendMessage(sendMsg, attribute);\r\n if (this.uid === conv.createdBy) {\r\n const att: any = conv.attributes;\r\n att.lastMessage = sendMsg;\r\n att.lastMessageTime = (new Date()).getTime();\r\n conv.updateAttributes(att);\r\n }\r\n return retV;\r\n }\r\n\r\n updateMessage(sid: string, msgId: number, _body: string): Promise {\r\n if (!(this.messages[sid])) return Promise.resolve(true);\r\n gstore.dispatch(addCallApiCount());\r\n const msg = this.messages[sid].find((item) => item.index === msgId);\r\n if (!msg) return Promise.resolve(true);\r\n return new Promise((resolve) => {\r\n msg.updateBody(_body)\r\n .then(() => {\r\n this.dispatch(setEditingMsg('', 0));\r\n resolve(true);\r\n })\r\n .catch(() => {\r\n this.dispatch(setEditingMsg('', 0));\r\n resolve(true);\r\n });\r\n });\r\n }\r\n\r\n sendQuote(sid: string, _body: string, attrib?: any): Promise {\r\n const conv = this.findThreadById(sid);\r\n if (!conv) return Promise.resolve(-1);\r\n gstore.dispatch(addCallApiCount());\r\n this.dispatch(msgAdded({\r\n id: this.msgId,\r\n body: _body,\r\n convId: sid,\r\n attrib,\r\n createdAt: (new Date()).getTime(),\r\n sent: false,\r\n senderId: this.uid,\r\n contentType: 'quote'\r\n }));\r\n this.msgId--;\r\n return new Promise((resolve, reject) => {\r\n conv.sendMessage(_body, attrib)\r\n .then((val) => {\r\n if (this.uid === conv.createdBy) {\r\n const att: any = conv.attributes;\r\n att.lastMessage = _body;\r\n att.lastMessageTime = (new Date()).getTime();\r\n conv.updateAttributes(att);\r\n }\r\n resolve(val);\r\n })\r\n .catch((err) => {\r\n reject(new Error(`Send message failed with error : ${err}`));\r\n });\r\n });\r\n }\r\n\r\n sendMessage(sid: string, _body: string, attrib?: any): Promise {\r\n const conv = this.findThreadById(sid);\r\n if (!conv) return Promise.resolve(-1);\r\n gstore.dispatch(addCallApiCount());\r\n this.dispatch(msgAdded({\r\n id: this.msgId,\r\n body: _body,\r\n convId: sid,\r\n attrib: null,\r\n createdAt: (new Date()).getTime(),\r\n sent: false,\r\n senderId: this.uid,\r\n contentType: 'text'\r\n }));\r\n this.msgId--;\r\n return new Promise((resolve, reject) => {\r\n conv.sendMessage(_body, attrib)\r\n .then((val) => {\r\n const { convs, activeThreadId } = gstore.getState().chat;\r\n const sconv = convs.find((item) => item.sid === activeThreadId);\r\n axios.post(accsiomURIs.twilio_notification_url, {\r\n type: 'add',\r\n participants: sconv.participants.filter((part) => part.uid !== this.uid).map((part) => ({\r\n uid: part.uid,\r\n type: part.type,\r\n oid: part.oid,\r\n })),\r\n sid,\r\n id: val\r\n }).catch(() => {});\r\n if (this.uid === conv.createdBy) {\r\n const att: any = conv.attributes;\r\n att.lastMessage = _body;\r\n att.lastMessageTime = (new Date()).getTime();\r\n conv.updateAttributes(att);\r\n }\r\n resolve(val);\r\n })\r\n .catch((err) => {\r\n reject(new Error(`Send message failed with error : ${err}`));\r\n });\r\n });\r\n }\r\n\r\n async createConversationFromTask(partner: any, partnerAgent: any, me: any, myAgent: any, title: string, type: number): Promise {\r\n let firstMsg = 'Hello';\r\n const partners = [];\r\n if (INDIVIDUAL_TYPES.includes(partner.type)) {\r\n partners.push(partner as Contact);\r\n firstMsg = `${firstMsg}, ${getUserDisplayName(partner)}!`;\r\n } else {\r\n const partnerAgentIds = getAgentIds(partnerAgent);\r\n if (partnerAgentIds.length < 1) {\r\n toast.error('No teams are ready for chat in partner side.');\r\n return '';\r\n }\r\n const resPartner = await lambdaGetOrgTeamMembers(partnerAgentIds, partner.uid);\r\n if (resPartner && !resPartner.errorMessage) {\r\n const { memberInfo, roleInfo, orgInfo } = resPartner;\r\n memberInfo.forEach((memberItem) => {\r\n const role = roleInfo.find((roleItem) => roleItem.rid === memberItem.rid);\r\n const transactionRole = JSON.parse(role.transaction);\r\n const editChat = transactionRole.messaging.messaging;\r\n if (editChat) {\r\n partners.push({\r\n uid: memberItem.mid,\r\n oid: orgInfo.organizationId,\r\n type: ACCZIOM_ORG\r\n } as Contact);\r\n }\r\n });\r\n firstMsg = `${firstMsg}, ${orgInfo.tradingName}!`;\r\n }\r\n }\r\n if (partners.length < 1) {\r\n toast.error('No users are ready for chat in partner side.');\r\n return '';\r\n }\r\n const mines = [];\r\n if (INDIVIDUAL_TYPES.includes(me.type)) {\r\n mines.push(me as Contact);\r\n firstMsg = `${firstMsg} I am ${getUserDisplayName(me)}.`;\r\n } else {\r\n const myAgentIds = getAgentIds(myAgent);\r\n if (myAgentIds.length < 1) {\r\n toast.error('No teams are ready for chat in my side.');\r\n return '';\r\n }\r\n const resMe = await lambdaGetOrgTeamMembers(myAgentIds, me.uid);\r\n if (resMe && !resMe.errorMessage) {\r\n const { memberInfo, roleInfo, orgInfo } = resMe;\r\n memberInfo.forEach((memberItem) => {\r\n const role = roleInfo.find((roleItem) => roleItem.rid === memberItem.rid);\r\n const transactionRole = JSON.parse(role.transaction);\r\n const editChat = transactionRole.messaging.messaging;\r\n if (editChat) {\r\n mines.push({\r\n uid: memberItem.mid,\r\n oid: orgInfo.organizationId,\r\n type: ACCZIOM_ORG\r\n });\r\n }\r\n });\r\n firstMsg = `${firstMsg} I am from ${orgInfo.tradingName}.`;\r\n }\r\n }\r\n if (mines.length < 1) {\r\n toast.error('No users are ready for chat in my side.');\r\n return '';\r\n }\r\n if (firstMsg) this.firstMsgForNewConv = firstMsg;\r\n const sid = await this.createConversation([...partners, ...mines], title, type, firstMsg);\r\n return sid;\r\n }\r\n}\r\n\r\nexport const chatApi = new ChatApi();\r\n","export const THEMES = {\r\n LIGHT: 'LIGHT',\r\n DARK: 'DARK',\r\n NATURE: 'NATURE',\r\n TOPBAR: 'TOPBAR',\r\n CUSTOM: 'CUSTOM'\r\n};\r\n","import { FC } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { Badge, Box, CircularProgress, IconButton, SvgIcon, Tooltip } from '@material-ui/core';\r\n\r\ninterface ActionButtonProps {\r\n title: string;\r\n icon: any;\r\n onClick: any;\r\n isLoading?: boolean;\r\n disabled?: boolean;\r\n buttonSize?: number;\r\n iconSize?: number;\r\n badge?: boolean;\r\n color?: 'inherit' | 'primary' | 'secondary' | 'action' | 'disabled' | 'error';\r\n}\r\n\r\nconst ActionButton: FC = (props) => {\r\n const { title, icon: Icon, onClick, isLoading, disabled, iconSize, buttonSize, badge, color, ...others } = props;\r\n const realButtonSize = buttonSize || 32;\r\n const realIconSize = iconSize || 24;\r\n const marginSize = (realButtonSize - realIconSize) / 2;\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n {!isLoading && badge && (\r\n \r\n \r\n \r\n \r\n \r\n )}\r\n {!isLoading && !badge && (\r\n \r\n \r\n \r\n )}\r\n {!!isLoading && (\r\n \r\n )}\r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nActionButton.propTypes = {\r\n title: PropTypes.string,\r\n icon: PropTypes.any,\r\n onClick: PropTypes.func,\r\n isLoading: PropTypes.bool,\r\n disabled: PropTypes.bool,\r\n buttonSize: PropTypes.number,\r\n iconSize: PropTypes.number,\r\n badge: PropTypes.bool,\r\n color: PropTypes.any,\r\n};\r\n\r\nexport default ActionButton;\r\n","import axios from 'axios';\r\nimport * as querystring from 'querystring';\r\nimport { addCallApiCount } from 'src/slices/user';\r\nimport gstore from 'src/store';\r\n\r\nconst callHttpApi = async (url: string, mode: string, params: any) => {\r\n gstore.dispatch(addCallApiCount());\r\n const fullUrl = `${url}?${querystring.stringify({ mode, ...params })}`;\r\n const res = await axios.get(fullUrl);\r\n return res.data;\r\n};\r\n\r\nexport default callHttpApi;\r\n","import callHttpApi from './httpCall';\r\nimport { accsiomURIs } from 'src/config';\r\n\r\nexport const httpGetAssetById = async (id: string) => {\r\n const res = await callHttpApi(\r\n accsiomURIs.asset_uri,\r\n 'GET_BY_ID',\r\n { id }\r\n );\r\n return res;\r\n};\r\n\r\nexport const httpGetOtherAssetsOfSupplier = async (ownerId: string, curId: string, purpose: number) => {\r\n const res = await callHttpApi(\r\n accsiomURIs.asset_uri,\r\n 'GET_OTHER_ASSETS',\r\n { ownerId, curId, purpose }\r\n );\r\n return res;\r\n};\r\n\r\nexport const httpGetMicroserviceForRequest = async (id: string) => {\r\n const res = await callHttpApi(\r\n accsiomURIs.microservice_uri,\r\n 'GET_MICROSERVICE_FOR_REQUEST',\r\n { id }\r\n );\r\n return res;\r\n};\r\n\r\nexport const httpGetRequetById = async (id: string) => {\r\n const res = await callHttpApi(\r\n accsiomURIs.request_uri,\r\n 'GET_REQUEST_BY_ID',\r\n { id }\r\n );\r\n return res;\r\n};\r\n\r\nexport const httpGetFileResourcesByItemId = async (itemId: string) => {\r\n const res = await callHttpApi(\r\n accsiomURIs.microservice_uri,\r\n 'GET_FILERESOURCE',\r\n { itemId }\r\n );\r\n return res;\r\n};\r\n\r\nexport const httpGetPurchaseRatingStatistics = async (itemId: string) => {\r\n const res = await callHttpApi(\r\n accsiomURIs.microservice_uri,\r\n 'GET_PURCHASE_RATING_STATISTICS',\r\n { itemId }\r\n );\r\n return res;\r\n};\r\n\r\nexport const httpGetRatingStatistics = async (itemId: string) => {\r\n const res = await callHttpApi(\r\n accsiomURIs.microservice_uri,\r\n 'GET_RATING_STATISTICS',\r\n { itemId }\r\n );\r\n return res;\r\n};\r\n\r\nexport const httpGetRatingStatisticsByStar = async (itemId: string) => {\r\n const res = await callHttpApi(\r\n accsiomURIs.microservice_uri,\r\n 'GET_RATING_STATISTICS_BY_STAR',\r\n { itemId }\r\n );\r\n return res;\r\n};\r\n\r\nexport const httpGetRatingsByItemId = async (itemId: string, offset: number, count: number) => {\r\n const res = await callHttpApi(\r\n accsiomURIs.microservice_uri,\r\n 'GET_RATINGS',\r\n { itemId, offset, count }\r\n );\r\n return res;\r\n};\r\n\r\nexport const httpGetAssetThumbnail = async (id: string) => {\r\n const res = await callHttpApi(\r\n accsiomURIs.asset_uri,\r\n 'GET_THUMBNAIL',\r\n { id }\r\n );\r\n return res;\r\n};\r\n\r\nexport const httpGetInvitationUrl = async (params: any) => {\r\n const res = await callHttpApi(\r\n accsiomURIs.orgaboutus_uri,\r\n 'ENCRYPT_PARAMS',\r\n { params }\r\n );\r\n return res;\r\n};\r\n\r\nexport const httpGetInvitationDetails = async (text: string) => {\r\n const res = await callHttpApi(\r\n accsiomURIs.orgaboutus_uri,\r\n 'DECRYPT_PARAMS',\r\n { text }\r\n );\r\n return res;\r\n};\r\n\r\nexport const httpCheckMemberStatus = async (email: string, orgId: string) => {\r\n const res = await callHttpApi(\r\n accsiomURIs.orgaboutus_uri,\r\n 'CHECK_MEMBER_STATUS',\r\n { email, orgId }\r\n );\r\n return res;\r\n};\r\n\r\nexport const httpCheckClientOrgStatus = async (email: string) => {\r\n const res = await callHttpApi(\r\n accsiomURIs.orgaboutus_uri,\r\n 'CHECK_CLIENT_ORG_STATUS',\r\n { email }\r\n );\r\n return res;\r\n};\r\n\r\nexport const httpGetOrgByDomainName = async (domain: string) => {\r\n const res = await callHttpApi(\r\n accsiomURIs.orgaboutus_uri,\r\n 'GET_ORG_INFO_FROM_DOMAIN',\r\n { domain }\r\n );\r\n return res;\r\n};\r\n\r\nexport const httpGetOrgStructure = async (id: string) => {\r\n const res = await callHttpApi(\r\n accsiomURIs.orgaboutus_uri,\r\n 'GET_ORG_STRUCTURE',\r\n { id }\r\n );\r\n return res;\r\n};\r\n\r\nexport const httpGetOrgBannerUrl = async (id: string) => {\r\n const res = await callHttpApi(\r\n accsiomURIs.orgaboutus_uri,\r\n 'GET_BANNER_URL',\r\n { id }\r\n );\r\n return res;\r\n};\r\n\r\nexport const httpSearchOrganizations = async (offset: number, query: string, categories: any, hideOrgIds: string[]) => {\r\n const res = await callHttpApi(\r\n accsiomURIs.orgaboutus_uri,\r\n 'SEARCH',\r\n { offset, query, categories: JSON.stringify(categories), orgIds: JSON.stringify(hideOrgIds) }\r\n );\r\n return res;\r\n};\r\n\r\nexport const httpFindAddress = async (query: string) => {\r\n const res = await callHttpApi(\r\n accsiomURIs.orgaboutus_uri,\r\n 'SEARCH_ADDRESS',\r\n { query }\r\n );\r\n return res;\r\n};\r\n\r\nexport const httpGetExchangeRate = async (currencies: string[]) => {\r\n const res = await callHttpApi(\r\n accsiomURIs.orgaboutus_uri,\r\n 'GET_EXCHANGE_RATE',\r\n { currencies: JSON.stringify(currencies) }\r\n );\r\n return res;\r\n};\r\n\r\nexport const httpRegisterUserOnInvite = async (text: string, firstName: string, middleName: string, lastName: string, phone: string, password: string) => {\r\n const res = await callHttpApi(\r\n accsiomURIs.orgaboutus_uri,\r\n 'REGISTER_USER_ON_INVITE',\r\n { text, firstName, middleName, lastName, phone, password }\r\n );\r\n return res;\r\n};\r\n\r\nexport const httpGetAssetsPublishedByOwner = async (ownerId: string) => {\r\n const res = await callHttpApi(\r\n accsiomURIs.asset_uri,\r\n 'GET_PUBLISHED',\r\n { ownerId }\r\n );\r\n return res;\r\n};\r\n\r\nexport const httpGetMicroservicesPublishedByOwner = async (ownerId: string) => {\r\n const res = await callHttpApi(\r\n accsiomURIs.microservice_uri,\r\n 'GET_PUBLISHED',\r\n { ownerId }\r\n );\r\n return res;\r\n};\r\n\r\nexport const httpGetPartnerAssets = async (ownerId: string) => {\r\n const res = await callHttpApi(\r\n accsiomURIs.asset_uri,\r\n 'GET_PARTNER_ASSETS',\r\n { ownerId }\r\n );\r\n return res;\r\n};\r\n\r\nexport const httpGetPartnerMicroservices = async (ownerId: string) => {\r\n const res = await callHttpApi(\r\n accsiomURIs.microservice_uri,\r\n 'GET_PARTNER_MICROSERVICES',\r\n { ownerId }\r\n );\r\n return res;\r\n};\r\n\r\nexport const httpJoinAsClient = async (userInfo: any, domain: string) => {\r\n const res = await callHttpApi(\r\n accsiomURIs.orgaboutus_uri,\r\n 'JOIN_AS_CLIENT',\r\n { userInfo, domain }\r\n );\r\n return res;\r\n};\r\n\r\nexport const httpJoinAsClientOrg = async (orgInfo: any, domain: string) => {\r\n const res = await callHttpApi(\r\n accsiomURIs.orgaboutus_uri,\r\n 'JOIN_AS_CLIENT_ORG',\r\n { orgInfo, domain }\r\n );\r\n return res;\r\n};\r\n\r\nexport const httpGetAnzicTaxonomyInfoByType = async (type: number) => {\r\n const res = await callHttpApi(\r\n accsiomURIs.orgaboutus_uri,\r\n 'GET_ANZIC_BY_TYPE',\r\n { type }\r\n );\r\n return res;\r\n};\r\n\r\nexport const ebsGetMicroservicesPublished = async (ownerIds: string[], offset: number, oids: string[], query: string, categories: any, activeOrgId) => {\r\n const res = await callHttpApi(\r\n 'https://wsserver.accziom.com/mssearch',\r\n 'SEARCH',\r\n { ownerIds: ownerIds.join(','), offset, oids: oids.join(','), query, categories: JSON.stringify(categories), activeOrgId }\r\n );\r\n return res;\r\n};\r\n\r\nexport const ebsGetAssetsPublished = async (ownerIds: string[], offset: number, oids: string[], query: string, categories: any, activeOrgId) => {\r\n const res = await callHttpApi(\r\n 'https://wsserver.accziom.com/assetsearch',\r\n 'SEARCH',\r\n { ownerIds: ownerIds.join(','), offset, oids: oids.join(','), query, categories: JSON.stringify(categories), activeOrgId }\r\n );\r\n return res;\r\n};\r\n\r\nexport const ebsGetBulkPublished = async (ownerIds: string[], offset: number, oids: string[], query: string, categories: any, activeOrgId) => {\r\n const res = await callHttpApi(\r\n 'https://wsserver.accziom.com/bulksearch',\r\n 'SEARCH',\r\n { ownerIds: ownerIds.join(','), offset, oids: oids.join(','), query, categories: JSON.stringify(categories), activeOrgId }\r\n );\r\n return res;\r\n};\r\n","import { createSlice } from '@reduxjs/toolkit';\r\nimport type { PayloadAction } from '@reduxjs/toolkit';\r\nimport type { AppThunk } from 'src/store';\r\nimport { AnzicCategory } from 'src/../../Common/Model/taxonomy';\r\n\r\ninterface TaxonomyState {\r\n orgCategories: AnzicCategory[];\r\n orgCategoryNeedReload: boolean;\r\n serviceCategories: AnzicCategory[];\r\n serviceCategoryNeedReload: boolean;\r\n assetCategories: AnzicCategory[];\r\n assetCategoryNeedReload: boolean;\r\n chatCategories: AnzicCategory[];\r\n chatCategoryNeedReload: boolean;\r\n}\r\n\r\nconst initialState: TaxonomyState = {\r\n orgCategories: [],\r\n orgCategoryNeedReload: true,\r\n serviceCategories: [],\r\n serviceCategoryNeedReload: true,\r\n assetCategories: [],\r\n assetCategoryNeedReload: true,\r\n chatCategories: [],\r\n chatCategoryNeedReload: true\r\n};\r\n\r\nconst slice = createSlice({\r\n name: 'taxonomy',\r\n initialState,\r\n reducers: {\r\n clearState(state: TaxonomyState) {\r\n state.orgCategories.splice(0, state.orgCategories.length);\r\n state.serviceCategories.splice(0, state.serviceCategories.length);\r\n state.assetCategories.splice(0, state.assetCategories.length);\r\n state.chatCategories.splice(0, state.chatCategories.length);\r\n state.orgCategoryNeedReload = true;\r\n state.serviceCategoryNeedReload = true;\r\n state.assetCategoryNeedReload = true;\r\n state.chatCategoryNeedReload = true;\r\n },\r\n setOrgCategoryNeedReload(state: TaxonomyState, action: PayloadAction): void {\r\n state.orgCategoryNeedReload = action.payload;\r\n },\r\n setServiceCategoryNeedReload(state: TaxonomyState, action: PayloadAction): void {\r\n state.serviceCategoryNeedReload = action.payload;\r\n },\r\n setAssetCategoryNeedReload(state: TaxonomyState, action: PayloadAction): void {\r\n state.assetCategoryNeedReload = action.payload;\r\n },\r\n setChatCategoryNeedReload(state: TaxonomyState, action: PayloadAction): void {\r\n state.chatCategoryNeedReload = action.payload;\r\n },\r\n setOrgCategories(state: TaxonomyState, action: PayloadAction) {\r\n state.orgCategories = action.payload;\r\n state.orgCategoryNeedReload = false;\r\n },\r\n setServiceCategories(state: TaxonomyState, action: PayloadAction) {\r\n state.serviceCategories = action.payload;\r\n state.serviceCategoryNeedReload = false;\r\n },\r\n setAssetCategories(state: TaxonomyState, action: PayloadAction) {\r\n state.assetCategories = action.payload;\r\n state.assetCategoryNeedReload = false;\r\n },\r\n setChatCategories(state: TaxonomyState, action: PayloadAction) {\r\n state.chatCategories = action.payload;\r\n state.chatCategoryNeedReload = false;\r\n },\r\n updateOrgCategory(state: TaxonomyState, action: PayloadAction): void {\r\n const newCategory = action.payload;\r\n const index = state.orgCategories.findIndex((item) => item.id === newCategory.id);\r\n if (index >= 0) state.orgCategories.splice(index, 1, newCategory);\r\n else state.orgCategories.push(newCategory);\r\n },\r\n updateServiceCategory(state: TaxonomyState, action: PayloadAction): void {\r\n const newCategory = action.payload;\r\n const index = state.serviceCategories.findIndex((item) => item.id === newCategory.id);\r\n if (index >= 0) state.serviceCategories.splice(index, 1, newCategory);\r\n else state.serviceCategories.push(newCategory);\r\n },\r\n updateAssetCategory(state: TaxonomyState, action: PayloadAction): void {\r\n const newCategory = action.payload;\r\n const index = state.assetCategories.findIndex((item) => item.id === newCategory.id);\r\n if (index >= 0) state.assetCategories.splice(index, 1, newCategory);\r\n else state.assetCategories.push(newCategory);\r\n },\r\n updateChatCategory(state: TaxonomyState, action: PayloadAction): void {\r\n const newCategory = action.payload;\r\n const index = state.chatCategories.findIndex((item) => item.id === newCategory.id);\r\n if (index >= 0) state.chatCategories.splice(index, 1, newCategory);\r\n else state.chatCategories.push(newCategory);\r\n },\r\n updateOrgCategoryByCode(state: TaxonomyState, action: PayloadAction): void {\r\n const newCategory = action.payload;\r\n const index = state.orgCategories.findIndex((item) => `${item.code}` === `${newCategory.code}`);\r\n if (index >= 0) state.orgCategories.splice(index, 1, newCategory);\r\n else state.orgCategories.push(newCategory);\r\n },\r\n updateServiceCategoryByCode(state: TaxonomyState, action: PayloadAction): void {\r\n const newCategory = action.payload;\r\n const index = state.serviceCategories.findIndex((item) => `${item.code}` === `${newCategory.code}`);\r\n if (index >= 0) state.serviceCategories.splice(index, 1, newCategory);\r\n else state.serviceCategories.push(newCategory);\r\n },\r\n updateAssetCategoryByCode(state: TaxonomyState, action: PayloadAction): void {\r\n const newCategory = action.payload;\r\n const index = state.assetCategories.findIndex((item) => `${item.code}` === `${newCategory.code}`);\r\n if (index >= 0) state.assetCategories.splice(index, 1, newCategory);\r\n else state.assetCategories.push(newCategory);\r\n },\r\n updateChatCategoryByCode(state: TaxonomyState, action: PayloadAction): void {\r\n const newCategory = action.payload;\r\n const index = state.chatCategories.findIndex((item) => `${item.code}` === `${newCategory.code}`);\r\n if (index >= 0) state.chatCategories.splice(index, 1, newCategory);\r\n else state.chatCategories.push(newCategory);\r\n }\r\n }\r\n});\r\n\r\nexport const { reducer } = slice;\r\n\r\nexport const clearTaxonomyState = (): AppThunk => (dispatch): void => {\r\n dispatch(slice.actions.clearState());\r\n};\r\n\r\nexport const setOrgCategoryNeedReload = (needReload: boolean) : AppThunk => async (dispatch): Promise => {\r\n dispatch(slice.actions.setOrgCategoryNeedReload(needReload));\r\n};\r\n\r\nexport const setServiceCategoryNeedReload = (needReload: boolean) : AppThunk => async (dispatch): Promise => {\r\n dispatch(slice.actions.setServiceCategoryNeedReload(needReload));\r\n};\r\n\r\nexport const setAssetCategoryNeedReload = (needReload: boolean) : AppThunk => async (dispatch): Promise => {\r\n dispatch(slice.actions.setAssetCategoryNeedReload(needReload));\r\n};\r\n\r\nexport const setChatCategoryNeedReload = (needReload: boolean) : AppThunk => async (dispatch): Promise => {\r\n dispatch(slice.actions.setChatCategoryNeedReload(needReload));\r\n};\r\n\r\nexport const setOrgCategories = (categories: AnzicCategory[]) : AppThunk => async (dispatch): Promise => {\r\n dispatch(slice.actions.setOrgCategories(categories));\r\n};\r\n\r\nexport const setServiceCategories = (categories: AnzicCategory[]) : AppThunk => async (dispatch): Promise => {\r\n dispatch(slice.actions.setServiceCategories(categories));\r\n};\r\n\r\nexport const setAssetCategories = (categories: AnzicCategory[]) : AppThunk => async (dispatch): Promise => {\r\n dispatch(slice.actions.setAssetCategories(categories));\r\n};\r\n\r\nexport const setChatCategories = (categories: AnzicCategory[]) : AppThunk => async (dispatch): Promise => {\r\n dispatch(slice.actions.setChatCategories(categories));\r\n};\r\n\r\nexport const updateOrgCategory = (category: AnzicCategory) : AppThunk => async (dispatch): Promise => {\r\n dispatch(slice.actions.updateOrgCategory(category));\r\n};\r\n\r\nexport const updateServiceCategory = (category: AnzicCategory) : AppThunk => async (dispatch): Promise => {\r\n dispatch(slice.actions.updateServiceCategory(category));\r\n};\r\n\r\nexport const updateAssetCategory = (category: AnzicCategory) : AppThunk => async (dispatch): Promise => {\r\n dispatch(slice.actions.updateAssetCategory(category));\r\n};\r\n\r\nexport const updateChatCategory = (category: AnzicCategory) : AppThunk => async (dispatch): Promise => {\r\n dispatch(slice.actions.updateChatCategory(category));\r\n};\r\n\r\nexport const updateOrgCategoryByCode = (category: AnzicCategory) : AppThunk => async (dispatch): Promise => {\r\n dispatch(slice.actions.updateOrgCategoryByCode(category));\r\n};\r\n\r\nexport const updateServiceCategoryByCode = (category: AnzicCategory) : AppThunk => async (dispatch): Promise => {\r\n dispatch(slice.actions.updateServiceCategoryByCode(category));\r\n};\r\n\r\nexport const updateAssetCategoryByCode = (category: AnzicCategory) : AppThunk => async (dispatch): Promise => {\r\n dispatch(slice.actions.updateAssetCategoryByCode(category));\r\n};\r\n\r\nexport const updateChatCategoryByCode = (category: AnzicCategory) : AppThunk => async (dispatch): Promise => {\r\n dispatch(slice.actions.updateChatCategoryByCode(category));\r\n};\r\n\r\nexport default slice;\r\n","import { createSlice, PayloadAction } from '@reduxjs/toolkit';\r\nimport { AppThunk } from 'src/store';\r\nimport { PayAccount } from 'src/../../Common/Model/payAccount';\r\n\r\ninterface PayAccountState {\r\n stripeAccount: PayAccount | null;\r\n needReload: boolean;\r\n}\r\n\r\nconst initialState: PayAccountState = {\r\n stripeAccount: null,\r\n needReload: true\r\n};\r\n\r\nconst slice = createSlice({\r\n name: 'payAccount',\r\n initialState,\r\n reducers: {\r\n clearState(state: PayAccountState) {\r\n state.stripeAccount = null;\r\n state.needReload = true;\r\n },\r\n setNeedReload(state: PayAccountState, action: PayloadAction): void {\r\n state.needReload = action.payload;\r\n },\r\n updateStripeAccount(state: PayAccountState, action: PayloadAction): void {\r\n const updated = action.payload;\r\n Object.keys(updated).forEach((key) => {\r\n (state.stripeAccount)[key] = updated[key];\r\n });\r\n },\r\n setStripeAccount(state: PayAccountState, action: PayloadAction): void {\r\n state.stripeAccount = action.payload;\r\n },\r\n removeStripeAccount(state: PayAccountState): void {\r\n if (state.stripeAccount?.customerID) {\r\n state.stripeAccount.accountID = '';\r\n state.stripeAccount.status = '';\r\n } else state.stripeAccount = null;\r\n }\r\n }\r\n});\r\n\r\nexport const { reducer } = slice;\r\n\r\nexport const clearPayAccountState = (): AppThunk => (dispatch): void => {\r\n dispatch(slice.actions.clearState());\r\n};\r\n\r\nexport const setNeedReload = (needReload: boolean) : AppThunk => async (dispatch): Promise => {\r\n dispatch(slice.actions.setNeedReload(needReload));\r\n};\r\n\r\nexport const updateStripeAccount = (body: any) : AppThunk => async (dispatch): Promise => {\r\n dispatch(slice.actions.updateStripeAccount(body));\r\n};\r\nexport const setStripeAccount = (body: PayAccount) : AppThunk => async (dispatch): Promise => {\r\n dispatch(slice.actions.setStripeAccount(body));\r\n};\r\n\r\nexport const removeStripeAccount = () : AppThunk => async (dispatch): Promise => {\r\n dispatch(slice.actions.removeStripeAccount());\r\n};\r\n\r\nexport default slice;\r\n","import { createSlice } from '@reduxjs/toolkit';\r\nimport type { PayloadAction } from '@reduxjs/toolkit';\r\nimport type { AppThunk } from 'src/store';\r\nimport { objFromArray } from 'src/utils/copyObject';\r\nimport type {\r\n Template\r\n} from 'src/../../Common/Model/marketplace';\r\nimport { NodeModel } from '@minoru/react-dnd-treeview';\r\nimport { ACCZIOM_TEAM } from 'src/globals';\r\n\r\ninterface TemplateState {\r\n isInitialised: boolean,\r\n needReload: boolean,\r\n needReloadProposal: boolean,\r\n needRefresh: boolean,\r\n activeTemplateId?: string,\r\n templates: {\r\n byId: Record;\r\n allIds: string[];\r\n },\r\n data: NodeModel[],\r\n maxId: number,\r\n selTaxonomy: string,\r\n selTemplate: any,\r\n selGoods: any,\r\n curQuery: string\r\n}\r\n\r\nconst initialState: TemplateState = {\r\n isInitialised: false,\r\n needReload: true,\r\n needReloadProposal: true,\r\n needRefresh: true,\r\n activeTemplateId: null,\r\n templates: {\r\n byId: {},\r\n allIds: [],\r\n },\r\n data: [],\r\n maxId: 0,\r\n selTaxonomy: null,\r\n selTemplate: null,\r\n selGoods: null,\r\n curQuery: null\r\n};\r\n\r\nconst slice = createSlice({\r\n name: 'template',\r\n initialState,\r\n reducers: {\r\n initializeTemplateState(state: TemplateState, action: PayloadAction<{ isInitialised: boolean; }>) {\r\n const { isInitialised } = action.payload;\r\n state.isInitialised = isInitialised;\r\n },\r\n setTemplates(state: TemplateState, action: PayloadAction<{ templates: Template[]; }>) {\r\n const { templates } = action.payload;\r\n state.templates.byId = objFromArray(templates);\r\n state.templates.allIds = Object.keys(state.templates.byId);\r\n state.isInitialised = true;\r\n state.needRefresh = !state.needRefresh;\r\n state.needReloadProposal = false;\r\n state.needReload = false;\r\n },\r\n setActiveTemplate(state: TemplateState, action: PayloadAction<{ id: string }>) {\r\n const { id } = action.payload;\r\n state.activeTemplateId = id;\r\n },\r\n addNewTemplate(state: TemplateState, action: PayloadAction<{ template: Template; }>) {\r\n state.isInitialised = false;\r\n const { template } = action.payload;\r\n state.templates.byId[template.id] = template;\r\n state.templates.allIds = Object.keys(state.templates.byId);\r\n state.activeTemplateId = template.id;\r\n state.isInitialised = true;\r\n state.needRefresh = !state.needRefresh;\r\n },\r\n updateTemplate(state: TemplateState, action: PayloadAction<{ template: Template; }>) {\r\n state.isInitialised = false;\r\n const { template } = action.payload;\r\n state.templates.byId[template.id] = template;\r\n state.templates.allIds = Object.keys(state.templates.byId);\r\n state.activeTemplateId = template.id;\r\n state.isInitialised = true;\r\n state.needRefresh = !state.needRefresh;\r\n },\r\n removeTemplate(state: TemplateState, action: PayloadAction<{ id: string; }>) {\r\n state.isInitialised = false;\r\n const { id } = action.payload;\r\n delete state.templates.byId[id];\r\n state.templates.allIds = Object.keys(state.templates.byId);\r\n state.needRefresh = !state.needRefresh;\r\n state.isInitialised = true;\r\n state.activeTemplateId = null;\r\n },\r\n setNeedReload(state: TemplateState, action: PayloadAction<{ needReload: boolean; }>) {\r\n const { needReload } = action.payload;\r\n state.needReload = needReload;\r\n },\r\n setNeedReloadProposal(state: TemplateState) {\r\n state.needReloadProposal = !state.needReloadProposal;\r\n },\r\n setNeedRefresh(state: TemplateState) {\r\n state.needRefresh = !state.needRefresh;\r\n },\r\n clearAllTemplateSlice(state: TemplateState) {\r\n state.isInitialised = false;\r\n state.templates.allIds = [];\r\n state.templates.byId = null;\r\n state.needReload = true;\r\n state.needReloadProposal = true;\r\n state.needRefresh = true;\r\n state.activeTemplateId = null;\r\n state.data = [];\r\n state.maxId = 0;\r\n state.selGoods = null;\r\n state.selTemplate = null;\r\n state.selTaxonomy = null;\r\n state.curQuery = null;\r\n },\r\n setData(state: TemplateState, action: PayloadAction<{ data: NodeModel[]; }>) {\r\n const { data } = action.payload;\r\n state.data = data;\r\n },\r\n setMaxId(state: TemplateState, action: PayloadAction<{ maxId: number; }>) {\r\n const { maxId } = action.payload;\r\n state.maxId = maxId;\r\n },\r\n setSelTemplate(state: TemplateState, action: PayloadAction<{ template: any; }>) {\r\n const { template } = action.payload;\r\n state.selTemplate = template;\r\n },\r\n setSelTaxnomy(state: TemplateState, action: PayloadAction<{ taxonomy: string; }>) {\r\n const { taxonomy } = action.payload;\r\n state.selTaxonomy = taxonomy;\r\n },\r\n setSelGoods(state: TemplateState, action: PayloadAction<{ goods: any; }>) {\r\n const { goods } = action.payload;\r\n state.selGoods = goods;\r\n },\r\n setCurQuery(state: TemplateState, action: PayloadAction<{ query: string; }>) {\r\n const { query } = action.payload;\r\n state.curQuery = query;\r\n },\r\n setAgents(state: TemplateState, action: PayloadAction): void {\r\n const assignedTeams = action.payload;\r\n assignedTeams.forEach(({ id, teamId }) => {\r\n state.templates.byId[id] = {\r\n ...state.templates.byId[id],\r\n ownerAgent: { id: teamId, type: ACCZIOM_TEAM }\r\n };\r\n });\r\n }\r\n }\r\n});\r\n\r\nexport const { reducer } = slice;\r\n\r\nexport const initializeTemplateState = (value: boolean): AppThunk => async (dispatch) => {\r\n const isInitialised = value;\r\n dispatch(slice.actions.initializeTemplateState({ isInitialised }));\r\n};\r\nexport const loadTemplates = (templates: Template[]): AppThunk => async (dispatch) => {\r\n templates.sort((b, a) => new Date(a.createdAt).getTime() - new Date(b.createdAt).getTime());\r\n dispatch(slice.actions.setTemplates({ templates }));\r\n};\r\nexport const setActiveTemplate = (value : string): AppThunk => async (dispatch) => {\r\n const id = value;\r\n dispatch(slice.actions.setActiveTemplate({ id }));\r\n};\r\nexport const addNewTemplate = (template : Template): AppThunk => async (dispatch) => {\r\n dispatch(slice.actions.addNewTemplate({ template }));\r\n};\r\nexport const removeTemplate = (id : string): AppThunk => async (dispatch) => {\r\n dispatch(slice.actions.removeTemplate({ id }));\r\n};\r\nexport const updateTemplate = (template : Template): AppThunk => async (dispatch) => {\r\n dispatch(slice.actions.updateTemplate({ template }));\r\n};\r\nexport const resetActiveTemplate = (): AppThunk => async (dispatch) => {\r\n const id = null;\r\n dispatch(slice.actions.setActiveTemplate({ id }));\r\n};\r\nexport const clearAllTemplateSlice = (): AppThunk => async (dispatch) => {\r\n dispatch(slice.actions.clearAllTemplateSlice());\r\n};\r\nexport const setNeedReload = (value:boolean): AppThunk => async (dispatch) => {\r\n const needReload = value;\r\n dispatch(slice.actions.setNeedReload({ needReload }));\r\n};\r\nexport const setNeedReloadProposal = (): AppThunk => async (dispatch) => {\r\n dispatch(slice.actions.setNeedReloadProposal());\r\n};\r\nexport const setNeedRefresh = (): AppThunk => async (dispatch) => {\r\n dispatch(slice.actions.setNeedRefresh());\r\n};\r\nexport const setData = (data:NodeModel[]): AppThunk => async (dispatch) => {\r\n dispatch(slice.actions.setData({ data }));\r\n};\r\nexport const setMaxId = (maxId:number): AppThunk => async (dispatch) => {\r\n dispatch(slice.actions.setMaxId({ maxId }));\r\n};\r\nexport const setSelTaxnomy = (taxonomy:string): AppThunk => async (dispatch) => {\r\n dispatch(slice.actions.setSelTaxnomy({ taxonomy }));\r\n};\r\nexport const setSelTemplate = (template:any): AppThunk => async (dispatch) => {\r\n dispatch(slice.actions.setSelTemplate({ template }));\r\n};\r\nexport const setSelGoods = (goods:any): AppThunk => async (dispatch) => {\r\n dispatch(slice.actions.setSelGoods({ goods }));\r\n};\r\nexport const setCurQuery = (query:string): AppThunk => async (dispatch) => {\r\n dispatch(slice.actions.setCurQuery({ query }));\r\n};\r\nexport const setAgents = (assignedTeams: any): AppThunk => async (dispatch) => {\r\n dispatch(slice.actions.setAgents(assignedTeams));\r\n};\r\nexport default slice;\r\n","import { createSlice } from '@reduxjs/toolkit';\r\nimport type { PayloadAction } from '@reduxjs/toolkit';\r\nimport type { AppThunk } from 'src/store';\r\nimport { objFromArray } from 'src/utils/copyObject';\r\nimport type {\r\n Goods,\r\n} from 'src/../../Common/Model/marketplace';\r\nimport { NodeModel } from '@minoru/react-dnd-treeview';\r\nimport { ACCZIOM_TEAM } from 'src/globals';\r\n\r\ninterface GoodsState {\r\n isInitialised: boolean,\r\n needReload: boolean,\r\n needReloadProposal: boolean,\r\n needRefresh: boolean,\r\n activeGoodsId?: string,\r\n goodss: {\r\n byId: Record;\r\n allIds: string[];\r\n },\r\n dataTemplate: NodeModel[],\r\n templateId: string,\r\n dataGoods: any[],\r\n data: NodeModel[],\r\n refresh: boolean,\r\n goodThumbs: Record;\r\n buyingGoods: Goods[];\r\n requestGood: Goods;\r\n offerGoodIds: string[];\r\n}\r\n\r\nconst initialState: GoodsState = {\r\n isInitialised: false,\r\n needReload: true,\r\n needReloadProposal: true,\r\n needRefresh: true,\r\n activeGoodsId: null,\r\n goodss: {\r\n byId: {},\r\n allIds: [],\r\n },\r\n dataTemplate: [],\r\n templateId: null,\r\n dataGoods: [],\r\n data: [],\r\n refresh: false,\r\n goodThumbs: {},\r\n buyingGoods: [],\r\n requestGood: null,\r\n offerGoodIds: []\r\n};\r\n\r\nconst slice = createSlice({\r\n name: 'goods',\r\n initialState,\r\n reducers: {\r\n initializeGoodsState(state: GoodsState, action: PayloadAction<{ isInitialised: boolean; }>) {\r\n const { isInitialised } = action.payload;\r\n state.isInitialised = isInitialised;\r\n },\r\n setGoodss(state: GoodsState, action: PayloadAction<{ goodss: Goods[]; }>) {\r\n const { goodss } = action.payload;\r\n state.goodss.byId = objFromArray(goodss);\r\n state.goodss.allIds = Object.keys(state.goodss.byId);\r\n state.isInitialised = true;\r\n state.needRefresh = !state.needRefresh;\r\n state.needReloadProposal = false;\r\n state.needReload = false;\r\n },\r\n setActiveGoods(state: GoodsState, action: PayloadAction<{ id: string }>) {\r\n const { id } = action.payload;\r\n if (id !== null) state.templateId = state.goodss.byId[id].templateId;\r\n state.activeGoodsId = id;\r\n state.refresh = !state.refresh;\r\n },\r\n addNewGoods(state: GoodsState, action: PayloadAction<{ goods: Goods; }>) {\r\n state.isInitialised = false;\r\n const { goods } = action.payload;\r\n state.goodss.byId[goods.id] = goods;\r\n state.goodss.allIds = Object.keys(state.goodss.byId);\r\n state.activeGoodsId = goods.id;\r\n state.isInitialised = true;\r\n state.needRefresh = !state.needRefresh;\r\n },\r\n updateGoods(state: GoodsState, action: PayloadAction<{ goods: Goods; }>) {\r\n state.isInitialised = false;\r\n const { goods } = action.payload;\r\n state.goodss.byId[goods.id] = goods;\r\n state.goodss.allIds = Object.keys(state.goodss.byId);\r\n state.activeGoodsId = goods.id;\r\n state.isInitialised = true;\r\n state.needRefresh = !state.needRefresh;\r\n // state.needReloadProposal = true;\r\n },\r\n removeGoods(state: GoodsState, action: PayloadAction<{ id: string; }>) {\r\n state.isInitialised = false;\r\n const { id } = action.payload;\r\n delete state.goodss.byId[id];\r\n state.goodss.allIds = Object.keys(state.goodss.byId);\r\n state.needRefresh = !state.needRefresh;\r\n state.isInitialised = true;\r\n state.activeGoodsId = null;\r\n // state.needReloadProposal = true;\r\n },\r\n setNeedReload(state: GoodsState, action: PayloadAction<{ needReload: boolean; }>) {\r\n const { needReload } = action.payload;\r\n state.needReload = needReload;\r\n },\r\n setNeedReloadProposal(state: GoodsState) {\r\n state.needReloadProposal = !state.needReloadProposal;\r\n },\r\n setNeedRefresh(state: GoodsState) {\r\n state.needRefresh = !state.needRefresh;\r\n },\r\n clearAllGoodsSlice(state: GoodsState) {\r\n state.isInitialised = false;\r\n state.goodss.allIds = [];\r\n state.goodss.byId = null;\r\n state.needReload = true;\r\n state.needReloadProposal = true;\r\n state.needRefresh = true;\r\n state.activeGoodsId = null;\r\n state.dataTemplate = [];\r\n state.templateId = null;\r\n },\r\n setDataTemplate(state: GoodsState, action: PayloadAction<{ dataTemplate: NodeModel[]; }>) {\r\n const { dataTemplate } = action.payload;\r\n state.dataTemplate = dataTemplate;\r\n },\r\n setTemplateId(state: GoodsState, action: PayloadAction<{ templateId: string; }>) {\r\n const { templateId } = action.payload;\r\n state.templateId = templateId;\r\n },\r\n setDataGoods(state: GoodsState, action: PayloadAction<{ dataGoods: NodeModel[]; }>) {\r\n const { dataGoods } = action.payload;\r\n state.dataGoods = dataGoods;\r\n },\r\n setData(state: GoodsState, action: PayloadAction<{ data: any[]; }>) {\r\n const { data } = action.payload;\r\n state.data = data;\r\n },\r\n setGoodThumbs(state: GoodsState, action: PayloadAction<{ id: string; url: string }[]>) {\r\n const info = action.payload;\r\n info.forEach(({ id, url }) => {\r\n state.goodThumbs[id] = url;\r\n });\r\n },\r\n setBuyingGoods(state: GoodsState, action: PayloadAction<{ goods: Goods[] }>) {\r\n const { goods } = action.payload;\r\n state.buyingGoods = goods;\r\n },\r\n addBuyingGoods(state: GoodsState, action: PayloadAction<{ goods: Goods[] }>) {\r\n const { goods } = action.payload;\r\n state.buyingGoods = [\r\n ...state.buyingGoods,\r\n ...goods.filter(\r\n (good) => !state.buyingGoods.find((ag) => ag.id === good.id)\r\n )\r\n ];\r\n },\r\n setRequestGood(state: GoodsState, action: PayloadAction<{ good: Goods }>) {\r\n const { good } = action.payload;\r\n state.requestGood = good;\r\n },\r\n setOfferGoodIds(state: GoodsState, action: PayloadAction) {\r\n state.offerGoodIds = action.payload;\r\n },\r\n setAgents(state: GoodsState, action: PayloadAction): void {\r\n const assignedTeams = action.payload;\r\n assignedTeams.forEach(({ id, teamId }) => {\r\n state.goodss.byId[id] = {\r\n ...state.goodss.byId[id],\r\n ownerAgent: { id: teamId, type: ACCZIOM_TEAM }\r\n };\r\n });\r\n }\r\n }\r\n});\r\n\r\nexport const { reducer } = slice;\r\n\r\nexport const initializeGoodsState = (value: boolean): AppThunk => async (dispatch) => {\r\n const isInitialised = value;\r\n console.log(isInitialised);\r\n dispatch(slice.actions.initializeGoodsState({ isInitialised }));\r\n};\r\n\r\nexport const loadGoodss = (goodss: Goods[]): AppThunk => async (dispatch) => {\r\n goodss.sort((b, a) => new Date(a.createdAt).getTime() - new Date(b.createdAt).getTime());\r\n dispatch(slice.actions.setGoodss({ goodss }));\r\n};\r\n\r\nexport const setActiveGoods = (value : string): AppThunk => async (dispatch) => {\r\n const id = value;\r\n dispatch(slice.actions.setActiveGoods({ id }));\r\n};\r\n\r\nexport const addNewGoods = (goods : Goods): AppThunk => async (dispatch) => {\r\n dispatch(slice.actions.addNewGoods({ goods }));\r\n};\r\nexport const removeGoods = (id : string): AppThunk => async (dispatch) => {\r\n dispatch(slice.actions.removeGoods({ id }));\r\n};\r\n\r\nexport const updateGoods = (goods : Goods): AppThunk => async (dispatch) => {\r\n dispatch(slice.actions.updateGoods({ goods }));\r\n};\r\n\r\nexport const resetActiveGoods = (): AppThunk => async (dispatch) => {\r\n const id = null;\r\n dispatch(slice.actions.setActiveGoods({ id }));\r\n};\r\nexport const clearAllGoodsSlice = (): AppThunk => async (dispatch) => {\r\n dispatch(slice.actions.clearAllGoodsSlice());\r\n};\r\nexport const setNeedReload = (value:boolean): AppThunk => async (dispatch) => {\r\n const needReload = value;\r\n dispatch(slice.actions.setNeedReload({ needReload }));\r\n};\r\nexport const setNeedReloadProposal = (): AppThunk => async (dispatch) => {\r\n dispatch(slice.actions.setNeedReloadProposal());\r\n};\r\nexport const setNeedRefresh = (): AppThunk => async (dispatch) => {\r\n dispatch(slice.actions.setNeedRefresh());\r\n};\r\nexport const setDataTemplate = (dataTemplate:NodeModel[]): AppThunk => async (dispatch) => {\r\n dispatch(slice.actions.setDataTemplate({ dataTemplate }));\r\n};\r\nexport const setTemplateId = (templateId:string): AppThunk => async (dispatch) => {\r\n dispatch(slice.actions.setTemplateId({ templateId }));\r\n};\r\nexport const setDataGoods = (dataGoods:NodeModel[]): AppThunk => async (dispatch) => {\r\n dispatch(slice.actions.setDataGoods({ dataGoods }));\r\n};\r\nexport const setData = (data:any[]): AppThunk => async (dispatch) => {\r\n dispatch(slice.actions.setData({ data }));\r\n};\r\nexport const setGoodThumbs = (data: { id: string; url: string }[]): AppThunk => async (dispatch) => {\r\n dispatch(slice.actions.setGoodThumbs(data));\r\n};\r\nexport const setBuyingGoods = (goods: Goods[]): AppThunk => async (dispatch) => {\r\n dispatch(slice.actions.setBuyingGoods({ goods }));\r\n};\r\nexport const addBuyingGoods = (goods: Goods[]): AppThunk => async (dispatch) => {\r\n dispatch(slice.actions.addBuyingGoods({ goods }));\r\n};\r\nexport const setRequestGood = (good: Goods): AppThunk => async (dispatch) => {\r\n dispatch(slice.actions.setRequestGood({ good }));\r\n};\r\nexport const setOfferGoodIds = (goodIds: string[]): AppThunk => async (dispatch) => {\r\n dispatch(slice.actions.setOfferGoodIds(goodIds));\r\n};\r\nexport const setAgents = (assignedTeams: any): AppThunk => async (dispatch) => {\r\n dispatch(slice.actions.setAgents(assignedTeams));\r\n};\r\nexport default slice;\r\n","import { combineReducers } from '@reduxjs/toolkit';\r\nimport { reducer as chatReducer } from 'src/slices/chat';\r\nimport { reducer as userReducer } from 'src/slices/user';\r\nimport { reducer as msTemplateReducer } from 'src/slices/msTemplate';\r\nimport { reducer as contactReducer } from 'src/slices/contact';\r\nimport { reducer as procurementReducer } from 'src/slices/procurement';\r\nimport { reducer as apprisingReducer } from 'src/slices/apprising';\r\nimport { reducer as walletReducer } from 'src/slices/wallet';\r\nimport { reducer as payAccountReducer } from 'src/slices/payAccount';\r\nimport { reducer as kanbanReducer } from 'src/slices/kanban';\r\nimport { reducer as fileshareReducer } from 'src/slices/fileshare';\r\nimport { reducer as organizationReducer } from 'src/slices/organization';\r\nimport { reducer as requestReducer } from 'src/slices/request';\r\nimport { reducer as businessReducer } from 'src/slices/business';\r\nimport { reducer as assetReducer } from 'src/slices/asset';\r\nimport { reducer as templateReducer } from 'src/slices/marketplace_template';\r\nimport { reducer as goodsReducer } from 'src/slices/marketplace_goods';\r\nimport { reducer as networkReducer } from 'src/slices/network';\r\nimport { reducer as favoriteReducer } from 'src/slices/favorite';\r\nimport { reducer as serviceRequestReducer } from 'src/slices/serviceRequest';\r\nimport { reducer as shareReducer } from 'src/slices/share';\r\nimport { reducer as feedbackReducer } from 'src/slices/feedback';\r\nimport { reducer as taxonomyReducer } from 'src/slices/taxonomy';\r\nimport { reducer as el_templateReducer } from 'src/slices/template';\r\n\r\nconst rootReducer = combineReducers({\r\n chat: chatReducer,\r\n user: userReducer,\r\n msTemplate: msTemplateReducer,\r\n contact: contactReducer,\r\n procurement: procurementReducer,\r\n apprising: apprisingReducer,\r\n wallet: walletReducer,\r\n payAccount: payAccountReducer,\r\n kanban: kanbanReducer,\r\n fileshare: fileshareReducer,\r\n organization: organizationReducer,\r\n request: requestReducer,\r\n business: businessReducer,\r\n asset: assetReducer,\r\n template: templateReducer,\r\n goods: goodsReducer,\r\n network: networkReducer,\r\n favorite: favoriteReducer,\r\n serviceRequest: serviceRequestReducer,\r\n share: shareReducer,\r\n feedback: feedbackReducer,\r\n taxonomy: taxonomyReducer,\r\n el_template: el_templateReducer\r\n});\r\n\r\nexport default rootReducer;\r\n","import { activityTypes } from 'src/globals';\r\n\r\nconst favIconMiddleware = (_store) => (next) => (action) => {\r\n const result = next(action);\r\n\r\n if (action.type.startsWith('apprising/') || action.type.startsWith('chat/')) {\r\n const state = _store.getState();\r\n const apprs = state.apprising.apprisings;\r\n const homeApprCount = apprs.filter((appr) => (\r\n (appr.type === 'add' || appr.type === 'followup')\r\n && activityTypes.some((typ) => typ.href === appr.href)\r\n )).length;\r\n const networkApprCount = apprs.filter((appr) => appr.href.startsWith('/management/network')).length;\r\n const ticketApprCount = apprs.filter((appr) => appr.href.startsWith('/deal')).length;\r\n const { convs } = state.chat;\r\n const msgApprCount = convs.filter((_conv) => _conv.unreadCount > 0).length;\r\n const icon = document.getElementById('favicon');\r\n const curHref = icon.getAttribute('href');\r\n if (homeApprCount + networkApprCount + ticketApprCount + msgApprCount > 0) {\r\n icon.setAttribute('href', curHref.replace('favicon.svg', 'favicon_notification.svg'));\r\n } else {\r\n icon.setAttribute('href', curHref.replace('favicon_notification.svg', 'favicon.svg'));\r\n }\r\n }\r\n\r\n return result;\r\n};\r\n\r\nexport default favIconMiddleware;\r\n","import { useDispatch as useReduxDispatch, useSelector as useReduxSelector } from 'react-redux';\r\nimport type { TypedUseSelectorHook } from 'react-redux';\r\nimport type { ThunkAction } from 'redux-thunk';\r\nimport { configureStore } from '@reduxjs/toolkit';\r\nimport type { Action } from '@reduxjs/toolkit';\r\nimport rootReducer from './rootReducer';\r\nimport favIconMiddleware from './favicon';\r\n\r\nconst store = configureStore({\r\n reducer: rootReducer,\r\n devTools: process.env.REACT_APP_ENABLE_REDUX_DEV_TOOLS === 'true',\r\n middleware: (getDefaultMiddleware) => getDefaultMiddleware({\r\n serializableCheck: {\r\n ignoredActions: ['user/setAvatar']\r\n }\r\n }).concat([favIconMiddleware])\r\n});\r\n\r\nexport type RootState = ReturnType;\r\n\r\nexport type AppDispatch = typeof store.dispatch;\r\n\r\nexport type AppThunk = ThunkAction>;\r\n\r\nexport const useSelector: TypedUseSelectorHook = useReduxSelector;\r\n\r\nexport const useDispatch = () => useReduxDispatch();\r\n\r\nexport default store;\r\n","import { createSlice } from '@reduxjs/toolkit';\r\nimport type { PayloadAction } from '@reduxjs/toolkit';\r\nimport type { AppThunk } from 'src/store';\r\nimport type { PurchaseItem } from 'src/../../Common/Model/purchaseItem';\r\n\r\nexport interface ExPurchaseItem extends PurchaseItem {\r\n chatId: string;\r\n}\r\n\r\ninterface PurchaseItemState {\r\n purchaseItems: ExPurchaseItem[];\r\n needReload: boolean;\r\n}\r\n\r\nconst initialState: PurchaseItemState = {\r\n purchaseItems: [],\r\n needReload: true\r\n};\r\n\r\nconst slice = createSlice({\r\n name: 'business',\r\n initialState,\r\n reducers: {\r\n clearState(state: PurchaseItemState) {\r\n state.purchaseItems.splice(0, state.purchaseItems.length);\r\n state.needReload = true;\r\n },\r\n setNeedReload(state: PurchaseItemState, action: PayloadAction): void {\r\n state.needReload = action.payload;\r\n },\r\n setPurchaseItems(state: PurchaseItemState, action: PayloadAction<{ exPurchaseItems: ExPurchaseItem[]; }>) {\r\n const { exPurchaseItems } = action.payload;\r\n state.purchaseItems = [...exPurchaseItems];\r\n state.needReload = false;\r\n },\r\n updatePurchaseItem(state: PurchaseItemState, action: PayloadAction<{ purchaseItem: ExPurchaseItem; }>) {\r\n const { purchaseItem } = action.payload;\r\n const index = state.purchaseItems.findIndex((item) => item.id === purchaseItem.id);\r\n if (index > -1) state.purchaseItems[index] = purchaseItem;\r\n else state.purchaseItems.push(purchaseItem);\r\n },\r\n removePurchaseItem(state: PurchaseItemState, action: PayloadAction<{ id: string; }>) {\r\n const { id } = action.payload;\r\n const index = state.purchaseItems.findIndex((item) => item.id === id);\r\n state.purchaseItems.splice(index, 1);\r\n }\r\n }\r\n});\r\n\r\nexport const { reducer } = slice;\r\n\r\nexport const clearPurchaseItemState = (): AppThunk => (dispatch): void => {\r\n dispatch(slice.actions.clearState());\r\n};\r\n\r\nexport const setNeedReload = (needReload: boolean) : AppThunk => async (dispatch): Promise => {\r\n dispatch(slice.actions.setNeedReload(needReload));\r\n};\r\n\r\nexport const loadPurchaseItems = (exPurchaseItems): AppThunk => async (dispatch) => {\r\n dispatch(slice.actions.setPurchaseItems({ exPurchaseItems }));\r\n};\r\n\r\nexport const removePurchaseItem = (id : string): AppThunk => async (dispatch) => {\r\n dispatch(slice.actions.removePurchaseItem({ id }));\r\n};\r\n\r\nexport const updatePurchaseItem = (purchaseItem : ExPurchaseItem): AppThunk => async (dispatch) => {\r\n dispatch(slice.actions.updatePurchaseItem({ purchaseItem }));\r\n};\r\n\r\nexport default slice;\r\n","import type { Address, Contact, EmailAddress, Phone } from 'src/../../Common/Model/contact';\r\nimport { getUserFormalName } from './getUserDisplayName';\r\n\r\nexport const applyFilters = (\r\n contacts: Contact[],\r\n query: string\r\n): Contact[] => contacts.filter((contact) => {\r\n let matches = true;\r\n\r\n if (query) {\r\n const properties = ['displayName', 'legalName', 'tradingName', 'casualName', 'firstName', 'lastName', 'middleName', 'title'];\r\n let containsQuery = false;\r\n const formalName = getUserFormalName(contact);\r\n\r\n properties.forEach((property) => {\r\n if (contact[property]?.toLowerCase().includes(query.toLowerCase())) {\r\n containsQuery = true;\r\n }\r\n if (formalName.toLowerCase().includes(query.toLowerCase())) containsQuery = true;\r\n });\r\n\r\n if (!containsQuery) {\r\n matches = false;\r\n }\r\n }\r\n\r\n return matches;\r\n});\r\n\r\nexport const getContactAddress = (contact: Contact, addressType?: 'PHYSICAL' | 'POBOX' | string) => {\r\n if (addressType && contact.addresses && contact.addresses.find((_) => _.addressType === addressType)) {\r\n return contact.addresses.find((_) => _.addressType = addressType);\r\n }\r\n if (contact.addresses && contact.addresses[0]) {\r\n return [\r\n contact.addresses[0].addressLine1,\r\n contact.addresses[0].addressLine2,\r\n contact.addresses[0].city,\r\n contact.addresses[0].region,\r\n contact.addresses[0].postalCode,\r\n contact.addresses[0].country,\r\n ].filter((_) => !!_).map((_) => _.toString().trim()).join(', ');\r\n }\r\n return '';\r\n};\r\n\r\nexport const getSimpleContactAddress = (contact: Contact) => {\r\n if (contact.addresses && contact.addresses[0]) {\r\n return [\r\n contact.addresses[0].city,\r\n contact.addresses[0].country\r\n ].filter((_) => !!_).map((_) => _.trim()).join(', ');\r\n }\r\n return '';\r\n};\r\n\r\nexport const getEmailAddress = (contact: Contact): string => {\r\n if (contact.emails && contact.emails[0]) {\r\n return contact.emails[0].emailAddress?.toLowerCase();\r\n }\r\n\r\n return '';\r\n};\r\n\r\nexport const getAnyPhoneNumber = (contact: Contact): string => {\r\n if (contact.phoneNumbers && contact.phoneNumbers[0]) {\r\n return contact.phoneNumbers[0].e164Format;\r\n }\r\n\r\n return '';\r\n};\r\n\r\nexport const getPrimaryAddress = (addresses): Address => addresses.find((data) => data.addressType === 'PHYSICAL');\r\n\r\nexport const getPhoneFromContact = (phoneNumbers, reason): string => {\r\n const filteredPhoneNumbers = [];\r\n phoneNumbers.forEach((data) => {\r\n if (reason === 'DEFAULT' || reason === 'MOBILE' || reason === 'FAX' || reason === 'DDI') {\r\n if (data.reason === reason) filteredPhoneNumbers.push(data.e164Format);\r\n } else if (data.reason !== 'DEFAULT' && data.reason !== 'MOBILE' && data.reason !== 'FAX' && data.reason !== 'DDI') {\r\n filteredPhoneNumbers.push(data.e164Format);\r\n }\r\n });\r\n return filteredPhoneNumbers.join(';');\r\n};\r\n\r\nexport const getEmailFromContact = (emails, reason): string => {\r\n const filteredEmails = [];\r\n emails.forEach((data) => {\r\n if (reason === 'DEFAULT' || reason === 'ALTERNATIVE') {\r\n if (data.reason === reason) filteredEmails.push(data.emailAddress);\r\n } else if (data.reason !== 'DEFAULT' && data.reason !== 'ALTERNATIVE') {\r\n filteredEmails.push(data.emailAddress);\r\n }\r\n });\r\n return filteredEmails.join(';');\r\n};\r\n\r\nconst contactWeights = {\r\n emails: 20,\r\n phoneNumbers: 11,\r\n addresses: 10,\r\n displayName: 13,\r\n firstName: 11,\r\n lastName: 11,\r\n middleName: 5,\r\n title: 8,\r\n note: 8,\r\n primaryEmailAddress: 15,\r\n primaryPhoneNumber: 15,\r\n taxNumber: 100,\r\n abn: 100,\r\n acn: 100,\r\n};\r\n\r\nconst compareEmails = (a: EmailAddress[], b: EmailAddress[]): boolean => {\r\n if (!a || !b) return false;\r\n\r\n for (let i = 0; i < a.length; i++) {\r\n for (let j = 0; j < b.length; j++) {\r\n if (a[i]?.emailAddress?.length > 0 && a[i]?.emailAddress === b[i]?.emailAddress) return true;\r\n }\r\n }\r\n\r\n return false;\r\n};\r\n\r\nconst comparePhoneNumbers = (a: Phone[], b: Phone[]): boolean => {\r\n if (!a || !b) return false;\r\n\r\n for (let i = 0; i < a.length; i++) {\r\n for (let j = 0; j < b.length; j++) {\r\n if (a[i]?.e164Format?.length > 0 && a[i]?.e164Format === b[i]?.e164Format) return true;\r\n if (a[i]?.freeForm?.length > 0 && a[i]?.freeForm === b[i]?.freeForm) return true;\r\n }\r\n }\r\n\r\n return false;\r\n};\r\n\r\nconst compareAddress = (a: Address, b: Address): boolean => {\r\n if (!a || !b) return false;\r\n if (a.country && a.country !== b.country) return false;\r\n if (a.city && a.city !== b.city) return false;\r\n if (a.region && a.region !== b.region) return false;\r\n if (a.postalCode && a.postalCode !== b.postalCode) return false;\r\n if (a.addressLine1 && a.addressLine1 !== b.addressLine1) return false;\r\n\r\n return true;\r\n};\r\n\r\nconst compareAddresses = (a: Address[], b: Address[]): boolean => {\r\n if (!a || !b) return false;\r\n\r\n for (let i = 0; i < a.length; i++) {\r\n for (let j = 0; j < b.length; j++) {\r\n if (compareAddress(a[i], b[i])) return true;\r\n }\r\n }\r\n\r\n return false;\r\n};\r\n\r\nexport const compareContact = (a: Contact, b: Contact): number => {\r\n let score = 0;\r\n\r\n if (a.abn && a.abn === b.abn) score += contactWeights.abn;\r\n if (a.acn && a.acn === b.acn) score += contactWeights.acn;\r\n if (a.taxNumber && a.taxNumber === b.taxNumber) score += contactWeights.taxNumber;\r\n if (a.note && a.note?.toLowerCase() === b.note?.toLowerCase()) score += contactWeights.note;\r\n if (a.title && a.title?.toLowerCase() === b.title?.toLowerCase()) score += contactWeights.title;\r\n if (a.middleName && a.middleName?.toLowerCase() === b.middleName?.toLowerCase()) score += contactWeights.middleName;\r\n if (a.lastName && a.lastName?.toLowerCase() === b.lastName?.toLowerCase()) score += contactWeights.lastName;\r\n if (a.firstName && a.firstName?.toLowerCase() === b.firstName?.toLowerCase()) score += contactWeights.firstName;\r\n if (a.displayName && a.displayName?.toLowerCase() === b.displayName?.toLowerCase()) score += contactWeights.displayName;\r\n if (compareEmails(a.emails, b.emails)) score += contactWeights.primaryEmailAddress;\r\n if (comparePhoneNumbers(a.phoneNumbers, b.phoneNumbers)) score += contactWeights.primaryPhoneNumber;\r\n if (compareAddresses(a.addresses, b.addresses)) score += contactWeights.addresses;\r\n\r\n return score;\r\n};\r\n\r\nexport const getSimilarContacts = (item: Contact, itemList: Contact[]) => {\r\n let maxScore = 49;\r\n let maxItem = null;\r\n itemList.forEach((comp) => {\r\n const curScore = compareContact(item, comp);\r\n if (curScore > maxScore) {\r\n maxScore = curScore;\r\n maxItem = comp;\r\n }\r\n });\r\n return maxItem;\r\n};\r\n","import store from 'src/store';\r\nimport { ACCZIOM_CLIENT, ACCZIOM_ORG, roleInfoData } from 'src/globals';\r\nimport { getActiveOrgInfo, getActiveRole, getActiveType } from './getActiveOrgInfo';\r\n\r\nexport const getExculdeHrefsByType = (): string[] => {\r\n const excludeHrefs = [];\r\n switch (getActiveType(ACCZIOM_CLIENT, ACCZIOM_ORG)) {\r\n case ACCZIOM_CLIENT:\r\n excludeHrefs.push('/communication/internal');\r\n break;\r\n default:\r\n break;\r\n }\r\n return excludeHrefs;\r\n};\r\n\r\nexport const getPossibleHrefs = (): string[] => {\r\n const hrefs: string[] = [];\r\n const { activeTeamId } = store.getState().organization;\r\n const activeRole = getActiveRole();\r\n const excludeHrefs = getExculdeHrefsByType();\r\n roleInfoData.forEach((firstItem) => {\r\n const firstKey = firstItem.key;\r\n if (firstKey === 'department' || firstKey === 'assignment' || ((firstKey === 'production' || firstKey === 'transaction') && (getActiveType(ACCZIOM_CLIENT, ACCZIOM_ORG) === ACCZIOM_CLIENT || !getActiveOrgInfo()?.businessInfo?.activatedTeams || !!activeTeamId))) {\r\n firstItem.value.forEach((secondItem) => {\r\n const secondKey = secondItem.key;\r\n secondItem.value.forEach((thirdItem) => {\r\n const thirdKey = thirdItem.key;\r\n const thirdHref = thirdItem.href;\r\n if (activeRole?.[firstKey]?.[secondKey]?.[thirdKey]) {\r\n thirdHref.forEach((href) => {\r\n if (!hrefs.includes(href) && !excludeHrefs.includes(href)) hrefs.push(href);\r\n });\r\n }\r\n });\r\n });\r\n }\r\n });\r\n\r\n if (getActiveType(ACCZIOM_CLIENT, ACCZIOM_ORG) === ACCZIOM_ORG) hrefs.push('/management/templates');\r\n\r\n // return hrefs;\r\n return [...hrefs, '/deal/purchase'];\r\n};\r\n\r\nexport const getPossibleItems = (items: any[], hrefs: string[] = null): any[] => {\r\n if (hrefs === null) hrefs = getPossibleHrefs();\r\n const mm = [];\r\n\r\n items.forEach((item) => {\r\n if (hrefs.filter((href) => item.href.startsWith(href)).length > 0) mm.push(item);\r\n else if (item.items?.length > 0) {\r\n const subItems = [];\r\n item.items.forEach((subItem) => {\r\n if (hrefs.filter((href) => subItem.href.startsWith(href)).length > 0) subItems.push(subItem);\r\n else if (subItem.items?.length > 0) {\r\n const subSubItems = [];\r\n subItem.items.forEach((subSubItem) => {\r\n if (hrefs.filter((href) => subSubItem.href.startsWith(href)).length > 0) subSubItems.push(subSubItem);\r\n });\r\n if (subSubItems.length > 0) {\r\n subItems.push({\r\n ...subItem,\r\n items: subSubItems\r\n });\r\n }\r\n }\r\n });\r\n if (subItems.length > 0) {\r\n mm.push({\r\n ...item,\r\n items: subItems\r\n });\r\n }\r\n }\r\n });\r\n\r\n return mm;\r\n};\r\n","const getInitials = (name = ''): string => name\r\n .replace(/\\s+/, ' ')\r\n .split(' ')\r\n .slice(0, 2)\r\n .map((v) => v && v[0].toUpperCase())\r\n .join('');\r\n\r\nconst colors = ['#FFCDD2', '#F8BBD0', '#E1BEE7', '#D1C4E9', '#C5CAE9', '#BBDEFB', '#B3E5FC', '#B2DFDB'];\r\n\r\n// const numberFromText = (text: string): number => {\r\n// const charCodes = text\r\n// .split('')\r\n// .map((char) => char.charCodeAt(0) - 65)\r\n// .join('');\r\n// return Math.trunc(parseInt(charCodes, 10));\r\n// };\r\n\r\n// export const getInitialBackground = (text: string): string => colors[numberFromText(text) % colors.length];\r\nexport const getInitialBackground = (initials: string): string => {\r\n let sumInitials = 0;\r\n for (let i = 0; i < initials.length; i++) {\r\n sumInitials += (initials.charCodeAt(i) - 65);\r\n }\r\n return colors[sumInitials % colors.length];\r\n};\r\n\r\nexport default getInitials;\r\n","import toast from 'react-hot-toast';\r\nimport {\r\n UPFRONT_PAYMENT,\r\n COMPLETION_PAYMENT,\r\n TWOTIME_PAYMENT,\r\n PERIOD_PAYMENT,\r\n DELIVERY_PAYMENT,\r\n NOT_REQUIRED_PO,\r\n SIMPLE_INTEREST_TYPE,\r\n DELIVERY_MODE,\r\n PAYMENT_MODE,\r\n CONTRACT_MODE,\r\n PURCHASE_ORDER_MODE,\r\n COMPOUND_INTEREST_TYPE,\r\n DAY_MILISECONDS,\r\n REQUEST_ONE_OFF,\r\n ON_COMPLETION,\r\n periodLengthList,\r\n LENGTH_MONTH,\r\n LENGTH_YEAR,\r\n STATUS_TEXT_SUBMITTED,\r\n REFERRAL_MODE,\r\n RATE_PERCENT\r\n} from 'src/globals';\r\nimport { Schedule, Contract, PO, DeliveryItem, PaymentItem } from 'src/../../Common/Model/procurement';\r\nimport { v4 as uuidv4 } from 'uuid';\r\nimport { getPeriodOffsetDaysByCount, getPeriodOffsetFromDate, getPeriodicalDatesByCount, getTimeMovedByDuration } from 'src/utils/getPeriodOffsetDays';\r\nimport { removeTime, toDisplayDateFormat } from 'src/utils/dateFormatUtils';\r\nimport { PurchaseItem, DeliveredItem } from 'src/../../Common/Model/purchaseItem';\r\nimport { convert2Array } from '../agentUtils';\r\n\r\nconst getMergedPaymentSchedule = (schedules: Schedule[]): Schedule[] => {\r\n const paymentSchedulesDict = {};\r\n schedules.forEach((schedule) => {\r\n const dueDate = toDisplayDateFormat(schedule.dueDate);\r\n if (!paymentSchedulesDict[dueDate]) {\r\n paymentSchedulesDict[dueDate] = {\r\n ...schedule,\r\n dueDate: removeTime(schedule.dueDate).toISOString()\r\n };\r\n } else {\r\n const mat = schedule.material as PaymentItem;\r\n const prevMat = paymentSchedulesDict[dueDate].material as PaymentItem;\r\n paymentSchedulesDict[dueDate] = {\r\n ...paymentSchedulesDict[dueDate],\r\n material: {\r\n ...prevMat,\r\n principal: mat.principal + prevMat.principal,\r\n interest: mat.interest + prevMat.interest,\r\n other: mat.other + prevMat.other,\r\n paidTax: mat.paidTax + prevMat.paidTax,\r\n paidInterestLate: mat.paidInterestLate + prevMat.paidInterestLate\r\n }\r\n };\r\n }\r\n });\r\n return Object.keys(paymentSchedulesDict).map((k) => paymentSchedulesDict[k]);\r\n};\r\n\r\nconst getMergedPrices = (prices: { dueDate: Date | string, amount: number }[]): { dueDate: Date | string, amount: number }[] => {\r\n const pricesDict = {};\r\n prices.forEach(({ dueDate, amount }) => {\r\n const strDueDate = toDisplayDateFormat(dueDate);\r\n if (!pricesDict[strDueDate]) {\r\n pricesDict[strDueDate] = {\r\n amount,\r\n dueDate: removeTime(dueDate).toISOString()\r\n };\r\n } else {\r\n const prevAmount = pricesDict[strDueDate].amount;\r\n pricesDict[strDueDate] = {\r\n ...pricesDict[strDueDate],\r\n amount: prevAmount + amount\r\n };\r\n }\r\n });\r\n return Object.keys(pricesDict).map((k) => pricesDict[k]);\r\n};\r\n\r\nconst getMergedDates = (dueDates: (Date | string)[]): (Date | string)[] => {\r\n const mergedDates = [];\r\n dueDates.forEach((dueDate) => {\r\n const strDueDate = removeTime(dueDate).toISOString();\r\n if (!mergedDates.includes(strDueDate)) mergedDates.push(strDueDate);\r\n });\r\n return mergedDates;\r\n};\r\n\r\nexport const getOtherPaymentByType = (principal: number, others: any): number => {\r\n let otherPayment = 0;\r\n if (others?.length > 0) {\r\n others.forEach(({ amount, unit }) => {\r\n if (unit === RATE_PERCENT) otherPayment += (principal * amount) / 100;\r\n else otherPayment += amount;\r\n });\r\n }\r\n return otherPayment;\r\n};\r\n\r\nexport const getSchedulesByGenerator = (mode: number, fromContract: Contract, fromPO: PO = null, showEmptyError = true): { deliverySchedules: Schedule[]; paymentSchedules: Schedule[]; referralSchedules: Schedule[]; } => {\r\n const matchIndices = fromContract.delivery.filter((deliveryContract) => {\r\n if (mode === CONTRACT_MODE) return (deliveryContract.requirePO === NOT_REQUIRED_PO);\r\n return (deliveryContract.itemId === fromPO.material.id);\r\n }).map((deliveryContract, index) => (index));\r\n if (matchIndices.length < 1) {\r\n if (showEmptyError) toast.error('The material does not exist.');\r\n return { deliverySchedules: [], paymentSchedules: [], referralSchedules: [] };\r\n }\r\n const initSchedule = {\r\n contractId: fromContract.id,\r\n poId: mode === PURCHASE_ORDER_MODE ? fromPO.id : '',\r\n customer: mode === PURCHASE_ORDER_MODE ? fromPO.customer : fromContract.customer,\r\n customerAgent: mode === PURCHASE_ORDER_MODE ? convert2Array(fromPO.customerAgent) : convert2Array(fromContract.customerAgent),\r\n supplier: mode === PURCHASE_ORDER_MODE ? fromPO.supplier : fromContract.supplier,\r\n supplierAgent: mode === PURCHASE_ORDER_MODE ? convert2Array(fromPO.supplierAgent) : convert2Array(fromContract.supplierAgent),\r\n status: STATUS_TEXT_SUBMITTED,\r\n invoiceId: ''\r\n };\r\n const deliverySchedules: Schedule[] = [];\r\n const paymentSchedules: Schedule[] = [];\r\n const referralSchedules: Schedule[] = [];\r\n const { itemBriefs, validFrom, validTo } = fromContract;\r\n const { period, duration } = itemBriefs;\r\n const payment = fromContract.payment[0];\r\n const { costPrincipal, costInterest, costTax, costOther, paymentOption, paymentInitialAmount, paymentInitialOffset, paymentFinalPeriod, paymentFinalOffset, paymentInvoiceOffset, paymentInterestLate, paymentMethod, paymentTool, paymentCurrency } = payment;\r\n const bundlePeriodicalDates: { startDate: Date | string, endDate: Date | string }[] = [];\r\n if (period.type === REQUEST_ONE_OFF) {\r\n bundlePeriodicalDates.push({\r\n startDate: validFrom,\r\n endDate: validTo\r\n });\r\n } else {\r\n const bundleStartDates = getPeriodicalDatesByCount(validFrom, validTo, period.per, period.count);\r\n bundleStartDates.forEach((startDate) => {\r\n bundlePeriodicalDates.push({\r\n startDate,\r\n endDate: getTimeMovedByDuration(new Date(startDate), duration).toISOString()\r\n });\r\n });\r\n }\r\n bundlePeriodicalDates.forEach(({ startDate, endDate }) => {\r\n matchIndices.forEach((index) => {\r\n const delivery = fromContract.delivery[index];\r\n const deliveryDueDates = [];\r\n const { itemPeriod } = delivery;\r\n if (mode === PURCHASE_ORDER_MODE) {\r\n deliveryDueDates.push(fromPO.deliveryDate);\r\n } else if (itemPeriod.type === REQUEST_ONE_OFF) {\r\n const itemStartDate = getTimeMovedByDuration(new Date(startDate), { length: itemPeriod.offset, type: itemPeriod.offsetType }).toISOString();\r\n deliveryDueDates.push(itemStartDate);\r\n } else {\r\n const itemStartDate = getTimeMovedByDuration(new Date(startDate), { length: itemPeriod.offset, type: itemPeriod.offsetType }).toISOString();\r\n const itemEndDate = getTimeMovedByDuration(new Date(endDate), { length: itemPeriod.offset, type: itemPeriod.offsetType }).toISOString();\r\n deliveryDueDates.push(...getPeriodicalDatesByCount(itemStartDate, itemEndDate, itemPeriod.per, itemPeriod.count));\r\n }\r\n const totalQuantity = mode === PURCHASE_ORDER_MODE ? fromPO.material.quantity : delivery.volumes[0];\r\n const newQuantity = totalQuantity / deliveryDueDates.length;\r\n deliveryDueDates.forEach((dueDate) => {\r\n deliverySchedules.push({\r\n ...initSchedule,\r\n id: uuidv4(),\r\n dueDate,\r\n type: DELIVERY_MODE,\r\n material: {\r\n id: mode === PURCHASE_ORDER_MODE ? fromPO.material.id : delivery.itemId,\r\n title: mode === PURCHASE_ORDER_MODE ? fromPO.material.title : delivery.itemTitle,\r\n description: mode === PURCHASE_ORDER_MODE ? fromPO.material.description : delivery.itemDescription,\r\n life: mode === PURCHASE_ORDER_MODE ? fromPO.material.life : delivery.itemLife,\r\n status: mode === PURCHASE_ORDER_MODE ? fromPO.material.status : delivery.itemStatus,\r\n type: mode === PURCHASE_ORDER_MODE ? fromPO.material.type : delivery.itemType,\r\n collected: mode === PURCHASE_ORDER_MODE ? fromPO.material.collected : delivery.itemCollected,\r\n quantity: newQuantity,\r\n netPrice: mode === PURCHASE_ORDER_MODE ? fromPO.material.netPrice : delivery.prices[0],\r\n netValue: mode === PURCHASE_ORDER_MODE ? fromPO.material.netPrice * newQuantity : delivery.prices[0] * newQuantity\r\n } as DeliveryItem\r\n } as Schedule);\r\n });\r\n });\r\n });\r\n const dailyIR = (costInterest.rate / periodLengthList.find((lengthItem) => lengthItem.type === costInterest.period).days) / 100;\r\n const referralRate = fromContract.referral ? fromContract.referral.amount / 100 : 0;\r\n const otherPayment = getOtherPaymentByType(costPrincipal, costOther);\r\n if (paymentOption === UPFRONT_PAYMENT) {\r\n let signedDate = validFrom;\r\n if (mode === PURCHASE_ORDER_MODE) {\r\n signedDate = removeTime(fromPO.supplierSignedAt);\r\n } else {\r\n signedDate = new Date(fromContract.supplierSignedAt).getTime() >= new Date(fromContract.customerSignedAt).getTime() ? removeTime(fromContract.supplierSignedAt) : removeTime(fromContract.customerSignedAt);\r\n }\r\n const newDueDate = new Date(new Date(signedDate).getTime() + paymentInitialOffset * DAY_MILISECONDS).toISOString();\r\n paymentSchedules.push({\r\n ...initSchedule,\r\n id: uuidv4(),\r\n dueDate: newDueDate,\r\n type: PAYMENT_MODE,\r\n material: {\r\n principal: costPrincipal,\r\n interest: 0,\r\n tax: costTax,\r\n paidTax: ((costPrincipal + otherPayment) * costTax.gstRate) / 100,\r\n other: otherPayment,\r\n interestLate: paymentInterestLate,\r\n paidInterestLate: 0,\r\n invoiceOffset: paymentInvoiceOffset,\r\n paymentMethod,\r\n paymentTool,\r\n paymentCurrency\r\n } as PaymentItem\r\n } as Schedule);\r\n if (fromContract.referral) {\r\n referralSchedules.push({\r\n ...initSchedule,\r\n customer: fromContract.supplier,\r\n customerAgent: convert2Array(fromContract.supplierAgent),\r\n supplier: fromContract.referral.creator,\r\n supplierAgent: convert2Array(fromContract.referral.creatorAgent),\r\n id: uuidv4(),\r\n dueDate: newDueDate,\r\n type: REFERRAL_MODE,\r\n material: {\r\n principal: costPrincipal * referralRate,\r\n interest: 0,\r\n tax: costTax,\r\n paidTax: (costPrincipal * referralRate * costTax.gstRate) / 100,\r\n other: 0,\r\n interestLate: { ...paymentInterestLate, rate: 0 },\r\n paidInterestLate: 0,\r\n invoiceOffset: paymentInvoiceOffset,\r\n paymentMethod,\r\n paymentTool,\r\n paymentCurrency\r\n } as PaymentItem\r\n } as Schedule);\r\n }\r\n } else if (paymentOption === COMPLETION_PAYMENT) {\r\n let finalDate = validFrom;\r\n deliverySchedules.forEach((deliverySchedule) => {\r\n const finishDate = getTimeMovedByDuration(new Date(deliverySchedule.dueDate), (deliverySchedule.material as DeliveryItem).life).toISOString();\r\n if (new Date(finalDate).getTime() < new Date(finishDate).getTime()) finalDate = finishDate;\r\n });\r\n finalDate = new Date(new Date(finalDate).getTime() + paymentFinalOffset * DAY_MILISECONDS).toISOString();\r\n let newInterest = 0;\r\n if (mode === CONTRACT_MODE && dailyIR > 0) {\r\n const daysCount = Math.floor(((new Date(finalDate)).getTime() - (new Date(validFrom)).getTime() + 1) / DAY_MILISECONDS);\r\n if (costInterest.type === SIMPLE_INTEREST_TYPE) newInterest = costPrincipal * (dailyIR * daysCount);\r\n if (costInterest.type === COMPOUND_INTEREST_TYPE) newInterest = costPrincipal * ((1 + dailyIR) ** daysCount - 1);\r\n }\r\n paymentSchedules.push({\r\n ...initSchedule,\r\n id: uuidv4(),\r\n dueDate: finalDate,\r\n type: PAYMENT_MODE,\r\n material: {\r\n principal: costPrincipal,\r\n interest: newInterest,\r\n tax: costTax,\r\n paidTax: ((costPrincipal + newInterest + otherPayment) * costTax.gstRate) / 100,\r\n other: otherPayment,\r\n interestLate: paymentInterestLate,\r\n paidInterestLate: 0,\r\n invoiceOffset: paymentInvoiceOffset,\r\n paymentMethod,\r\n paymentTool,\r\n paymentCurrency\r\n } as PaymentItem\r\n } as Schedule);\r\n if (fromContract.referral) {\r\n referralSchedules.push({\r\n ...initSchedule,\r\n customer: fromContract.supplier,\r\n customerAgent: convert2Array(fromContract.supplierAgent),\r\n supplier: fromContract.referral.creator,\r\n supplierAgent: convert2Array(fromContract.referral.creatorAgent),\r\n id: uuidv4(),\r\n dueDate: finalDate,\r\n type: REFERRAL_MODE,\r\n material: {\r\n principal: costPrincipal * referralRate,\r\n interest: 0,\r\n tax: costTax,\r\n paidTax: ((costPrincipal + otherPayment) * referralRate * costTax.gstRate) / 100,\r\n other: otherPayment * referralRate,\r\n interestLate: { ...paymentInterestLate, rate: 0 },\r\n paidInterestLate: 0,\r\n invoiceOffset: paymentInvoiceOffset,\r\n paymentMethod,\r\n paymentTool,\r\n paymentCurrency\r\n } as PaymentItem\r\n } as Schedule);\r\n }\r\n } else if (paymentOption === TWOTIME_PAYMENT) {\r\n if (paymentInitialAmount > 0) {\r\n let signedDate = validFrom;\r\n if (mode === PURCHASE_ORDER_MODE) {\r\n signedDate = removeTime(fromPO.supplierSignedAt);\r\n } else {\r\n signedDate = new Date(fromContract.supplierSignedAt).getTime() >= new Date(fromContract.customerSignedAt).getTime() ? removeTime(fromContract.supplierSignedAt) : removeTime(fromContract.customerSignedAt);\r\n }\r\n const firstDueDate = new Date(new Date(signedDate).getTime() + paymentInitialOffset * DAY_MILISECONDS).toISOString();\r\n const firstPrincipal = (costPrincipal * paymentInitialAmount) / 100;\r\n const firstOtherPayment = (otherPayment * paymentInitialAmount) / 100;\r\n paymentSchedules.push({\r\n ...initSchedule,\r\n id: uuidv4(),\r\n dueDate: firstDueDate,\r\n type: PAYMENT_MODE,\r\n material: {\r\n principal: firstPrincipal,\r\n interest: 0,\r\n tax: costTax,\r\n paidTax: ((firstPrincipal + firstOtherPayment) * costTax.gstRate) / 100,\r\n other: firstOtherPayment,\r\n interestLate: paymentInterestLate,\r\n paidInterestLate: 0,\r\n invoiceOffset: paymentInvoiceOffset,\r\n paymentMethod,\r\n paymentTool,\r\n paymentCurrency\r\n } as PaymentItem\r\n } as Schedule);\r\n if (fromContract.referral) {\r\n referralSchedules.push({\r\n ...initSchedule,\r\n customer: fromContract.supplier,\r\n customerAgent: convert2Array(fromContract.supplierAgent),\r\n supplier: fromContract.referral.creator,\r\n supplierAgent: convert2Array(fromContract.referral.creatorAgent),\r\n id: uuidv4(),\r\n dueDate: firstDueDate,\r\n type: REFERRAL_MODE,\r\n material: {\r\n principal: firstPrincipal * referralRate,\r\n interest: 0,\r\n tax: costTax,\r\n paidTax: ((firstPrincipal + firstOtherPayment) * referralRate * costTax.gstRate) / 100,\r\n other: firstOtherPayment * referralRate,\r\n interestLate: { ...paymentInterestLate, rate: 0 },\r\n paidInterestLate: 0,\r\n invoiceOffset: paymentInvoiceOffset,\r\n paymentMethod,\r\n paymentTool,\r\n paymentCurrency\r\n } as PaymentItem\r\n } as Schedule);\r\n }\r\n }\r\n if (paymentInitialAmount < 100) {\r\n let finalDueDate = validFrom;\r\n deliverySchedules.forEach((deliverySchedule) => {\r\n const finishDate = getTimeMovedByDuration(new Date(deliverySchedule.dueDate), (deliverySchedule.material as DeliveryItem).life).toISOString();\r\n if (new Date(finalDueDate).getTime() < new Date(finishDate).getTime()) finalDueDate = finishDate;\r\n });\r\n finalDueDate = new Date(new Date(finalDueDate).getTime() + paymentFinalOffset * DAY_MILISECONDS).toISOString();\r\n const finalPrincipal = (costPrincipal * (100 - paymentInitialAmount)) / 100;\r\n let finalInterest = 0;\r\n if (mode === CONTRACT_MODE && dailyIR > 0) {\r\n const daysCount = Math.floor(((new Date(finalDueDate)).getTime() - (new Date(validFrom)).getTime() + 1) / DAY_MILISECONDS);\r\n if (costInterest.type === SIMPLE_INTEREST_TYPE) finalInterest = finalPrincipal * (dailyIR * daysCount);\r\n if (costInterest.type === COMPOUND_INTEREST_TYPE) finalInterest = finalPrincipal * ((1 + dailyIR) ** daysCount - 1);\r\n }\r\n const finalOtherPayment = (otherPayment * (100 - paymentInitialAmount)) / 100;\r\n paymentSchedules.push({\r\n ...initSchedule,\r\n id: uuidv4(),\r\n dueDate: finalDueDate,\r\n type: PAYMENT_MODE,\r\n material: {\r\n principal: finalPrincipal,\r\n interest: finalInterest,\r\n tax: costTax,\r\n paidTax: ((finalPrincipal + finalInterest + finalOtherPayment) * costTax.gstRate) / 100,\r\n other: finalOtherPayment,\r\n interestLate: paymentInterestLate,\r\n paidInterestLate: 0,\r\n invoiceOffset: paymentInvoiceOffset,\r\n paymentMethod,\r\n paymentTool,\r\n paymentCurrency\r\n } as PaymentItem\r\n } as Schedule);\r\n if (fromContract.referral) {\r\n referralSchedules.push({\r\n ...initSchedule,\r\n customer: fromContract.supplier,\r\n customerAgent: convert2Array(fromContract.supplierAgent),\r\n supplier: fromContract.referral.creator,\r\n supplierAgent: convert2Array(fromContract.referral.creatorAgent),\r\n id: uuidv4(),\r\n dueDate: finalDueDate,\r\n type: REFERRAL_MODE,\r\n material: {\r\n principal: finalPrincipal * referralRate,\r\n interest: 0,\r\n tax: costTax,\r\n paidTax: ((finalPrincipal + finalOtherPayment) * referralRate * costTax.gstRate) / 100,\r\n other: finalOtherPayment * referralRate,\r\n interestLate: { ...paymentInterestLate, rate: 0 },\r\n paidInterestLate: 0,\r\n invoiceOffset: paymentInvoiceOffset,\r\n paymentMethod,\r\n paymentTool,\r\n paymentCurrency\r\n } as PaymentItem\r\n } as Schedule);\r\n }\r\n }\r\n } else if (paymentOption === PERIOD_PAYMENT) {\r\n if (paymentInitialAmount > 0) {\r\n let signedDate = validFrom;\r\n if (mode === PURCHASE_ORDER_MODE) {\r\n signedDate = removeTime(fromPO.supplierSignedAt);\r\n } else {\r\n signedDate = new Date(fromContract.supplierSignedAt).getTime() >= new Date(fromContract.customerSignedAt).getTime() ? removeTime(fromContract.supplierSignedAt) : removeTime(fromContract.customerSignedAt);\r\n }\r\n const firstDueDate = new Date(new Date(signedDate).getTime() + paymentInitialOffset * DAY_MILISECONDS).toISOString();\r\n const firstPrincipal = (costPrincipal * paymentInitialAmount) / 100;\r\n const firstOtherPayment = (otherPayment * paymentInitialAmount) / 100;\r\n paymentSchedules.push({\r\n ...initSchedule,\r\n id: uuidv4(),\r\n dueDate: firstDueDate,\r\n type: PAYMENT_MODE,\r\n material: {\r\n principal: firstPrincipal,\r\n interest: 0,\r\n tax: costTax,\r\n paidTax: ((firstPrincipal + firstOtherPayment) * costTax.gstRate) / 100,\r\n other: firstOtherPayment,\r\n interestLate: paymentInterestLate,\r\n paidInterestLate: 0,\r\n invoiceOffset: paymentInvoiceOffset,\r\n paymentMethod,\r\n paymentTool,\r\n paymentCurrency\r\n } as PaymentItem\r\n } as Schedule);\r\n if (fromContract.referral) {\r\n referralSchedules.push({\r\n ...initSchedule,\r\n customer: fromContract.supplier,\r\n customerAgent: convert2Array(fromContract.supplierAgent),\r\n supplier: fromContract.referral.creator,\r\n supplierAgent: convert2Array(fromContract.referral.creatorAgent),\r\n id: uuidv4(),\r\n dueDate: firstDueDate,\r\n type: REFERRAL_MODE,\r\n material: {\r\n principal: firstPrincipal * referralRate,\r\n interest: 0,\r\n tax: costTax,\r\n paidTax: ((firstPrincipal + firstOtherPayment) * referralRate * costTax.gstRate) / 100,\r\n other: firstOtherPayment * referralRate,\r\n interestLate: { ...paymentInterestLate, rate: 0 },\r\n paidInterestLate: 0,\r\n invoiceOffset: paymentInvoiceOffset,\r\n paymentMethod,\r\n paymentTool,\r\n paymentCurrency\r\n } as PaymentItem\r\n } as Schedule);\r\n }\r\n }\r\n const periodicalDueDates = getPeriodOffsetDaysByCount(validFrom, validTo, paymentFinalPeriod, paymentFinalOffset);\r\n const balance = (costPrincipal * (100 - paymentInitialAmount)) / 100;\r\n const periodicalPrincipal = balance / periodicalDueDates.length;\r\n const periodicalOtherPayment = (otherPayment * (100 - paymentInitialAmount)) / 100 / periodicalDueDates.length;\r\n let dateDifference = periodLengthList.find((lengthItem) => lengthItem.type === paymentFinalPeriod).days;\r\n if (paymentFinalPeriod === LENGTH_MONTH || paymentFinalPeriod === LENGTH_YEAR) {\r\n const st = new Date(validFrom).getTime();\r\n const ed = new Date(validTo).getTime() + DAY_MILISECONDS;\r\n dateDifference = (ed - st) / periodicalDueDates.length / DAY_MILISECONDS;\r\n }\r\n let periodicalInterest = 0;\r\n if (dailyIR > 0) {\r\n if (costInterest.type === COMPOUND_INTEREST_TYPE) {\r\n let newInstallment = balance;\r\n newInstallment *= ((1 + dailyIR) ** (paymentFinalOffset + dateDifference * (periodicalDueDates.length - 1)));\r\n newInstallment *= ((1 + dailyIR) ** dateDifference - 1);\r\n newInstallment /= ((1 + dailyIR) ** (dateDifference * periodicalDueDates.length) - 1);\r\n periodicalInterest = newInstallment - periodicalPrincipal;\r\n } else {\r\n const totalInterest = balance * dailyIR * (((periodicalDueDates.length - 1) * dateDifference) / 2 + paymentFinalOffset);\r\n periodicalInterest = totalInterest / periodicalDueDates.length;\r\n }\r\n }\r\n for (let i = 0; i < periodicalDueDates.length; i++) {\r\n paymentSchedules.push({\r\n ...initSchedule,\r\n id: uuidv4(),\r\n dueDate: periodicalDueDates[i],\r\n type: PAYMENT_MODE,\r\n material: {\r\n principal: periodicalPrincipal,\r\n interest: periodicalInterest,\r\n tax: costTax,\r\n paidTax: ((periodicalPrincipal + periodicalInterest + periodicalOtherPayment) * costTax.gstRate) / 100,\r\n other: periodicalOtherPayment,\r\n interestLate: paymentInterestLate,\r\n paidInterestLate: 0,\r\n invoiceOffset: paymentInvoiceOffset,\r\n paymentMethod,\r\n paymentTool,\r\n paymentCurrency\r\n } as PaymentItem\r\n } as Schedule);\r\n if (fromContract.referral) {\r\n referralSchedules.push({\r\n ...initSchedule,\r\n customer: fromContract.supplier,\r\n customerAgent: convert2Array(fromContract.supplierAgent),\r\n supplier: fromContract.referral.creator,\r\n supplierAgent: convert2Array(fromContract.referral.creatorAgent),\r\n id: uuidv4(),\r\n dueDate: periodicalDueDates[i],\r\n type: REFERRAL_MODE,\r\n material: {\r\n principal: periodicalPrincipal * referralRate,\r\n interest: 0,\r\n tax: costTax,\r\n paidTax: ((periodicalPrincipal + periodicalOtherPayment) * referralRate * costTax.gstRate) / 100,\r\n other: periodicalOtherPayment * referralRate,\r\n interestLate: { ...paymentInterestLate, rate: 0 },\r\n paidInterestLate: 0,\r\n invoiceOffset: paymentInvoiceOffset,\r\n paymentMethod,\r\n paymentTool,\r\n paymentCurrency\r\n } as PaymentItem\r\n } as Schedule);\r\n }\r\n }\r\n } else if (paymentOption === DELIVERY_PAYMENT) {\r\n deliverySchedules.forEach((deliverySchedule) => {\r\n let newDueDate = deliverySchedule.dueDate;\r\n if (paymentInitialOffset === ON_COMPLETION) newDueDate = getTimeMovedByDuration(new Date(newDueDate), (deliverySchedule.material as DeliveryItem).life).toISOString();\r\n newDueDate = new Date(new Date(newDueDate).getTime() + paymentFinalOffset * DAY_MILISECONDS).toISOString();\r\n const principalPayment = (deliverySchedule.material as DeliveryItem).netValue;\r\n const deliverOtherPayment = (principalPayment / costPrincipal) * otherPayment;\r\n paymentSchedules.push({\r\n ...initSchedule,\r\n id: uuidv4(),\r\n dueDate: newDueDate,\r\n type: PAYMENT_MODE,\r\n material: {\r\n principal: principalPayment,\r\n interest: 0,\r\n tax: costTax,\r\n paidTax: ((principalPayment + deliverOtherPayment) * costTax.gstRate) / 100,\r\n other: deliverOtherPayment,\r\n interestLate: paymentInterestLate,\r\n paidInterestLate: 0,\r\n invoiceOffset: paymentInvoiceOffset,\r\n paymentMethod,\r\n paymentTool,\r\n paymentCurrency\r\n } as PaymentItem\r\n } as Schedule);\r\n if (fromContract.referral) {\r\n referralSchedules.push({\r\n ...initSchedule,\r\n customer: fromContract.supplier,\r\n customerAgent: convert2Array(fromContract.supplierAgent),\r\n supplier: fromContract.referral.creator,\r\n supplierAgent: convert2Array(fromContract.referral.creatorAgent),\r\n id: uuidv4(),\r\n dueDate: newDueDate,\r\n type: REFERRAL_MODE,\r\n material: {\r\n principal: principalPayment * referralRate,\r\n interest: 0,\r\n tax: costTax,\r\n paidTax: ((principalPayment + deliverOtherPayment) * referralRate * costTax.gstRate) / 100,\r\n other: deliverOtherPayment * referralRate,\r\n interestLate: { ...paymentInterestLate, rate: 0 },\r\n paidInterestLate: 0,\r\n invoiceOffset: paymentInvoiceOffset,\r\n paymentMethod,\r\n paymentTool,\r\n paymentCurrency\r\n } as PaymentItem\r\n } as Schedule);\r\n }\r\n });\r\n }\r\n return { deliverySchedules, paymentSchedules: getMergedPaymentSchedule(paymentSchedules), referralSchedules: getMergedPaymentSchedule(referralSchedules) };\r\n};\r\n\r\nexport const getPriceList = (mode: number, fromContract: Contract, fromPO: PO = null): {\r\n total: number; first: number; last: any; serviceCost: any;\r\n}[] => {\r\n const matchIndices = fromContract.delivery.filter((deliveryContract) => {\r\n if (mode === CONTRACT_MODE) return (deliveryContract.requirePO === NOT_REQUIRED_PO);\r\n return (deliveryContract.itemId === fromPO.material.id);\r\n }).map((deliveryContract, index) => (index));\r\n if (matchIndices.length < 1) {\r\n return [{ total: 0, first: 0, last: 0, serviceCost: 0 }];\r\n }\r\n const initSchedule = {\r\n contractId: fromContract.id,\r\n poId: mode === PURCHASE_ORDER_MODE ? fromPO.id : '',\r\n customer: mode === PURCHASE_ORDER_MODE ? fromPO.customer : fromContract.customer,\r\n customerAgent: mode === PURCHASE_ORDER_MODE ? convert2Array(fromPO.customerAgent) : convert2Array(fromContract.customerAgent),\r\n supplier: mode === PURCHASE_ORDER_MODE ? fromPO.supplier : fromContract.supplier,\r\n supplierAgent: mode === PURCHASE_ORDER_MODE ? convert2Array(fromPO.supplierAgent) : convert2Array(fromContract.supplierAgent),\r\n status: STATUS_TEXT_SUBMITTED,\r\n invoiceId: ''\r\n };\r\n const deliverySchedules: Schedule[] = [];\r\n const { itemBriefs, validFrom, validTo } = fromContract;\r\n const { period, duration } = itemBriefs;\r\n const payment = fromContract.payment[0];\r\n // const { costPrincipal, costTax, costOther } = payment;\r\n const { costPrincipal, costInterest, costTax, costOther, paymentOption, paymentInitialAmount, paymentFinalPeriod, paymentFinalOffset, paymentInitialOffset } = payment;\r\n const bundlePeriodicalDates: { startDate: Date | string, endDate: Date | string }[] = [];\r\n if (period.type === REQUEST_ONE_OFF) {\r\n bundlePeriodicalDates.push({\r\n startDate: validFrom,\r\n endDate: validTo\r\n });\r\n } else {\r\n const bundleStartDates = getPeriodicalDatesByCount(validFrom, validTo, period.per, period.count);\r\n bundleStartDates.forEach((startDate) => {\r\n bundlePeriodicalDates.push({\r\n startDate,\r\n endDate: getTimeMovedByDuration(new Date(startDate), duration).toISOString()\r\n });\r\n });\r\n }\r\n bundlePeriodicalDates.forEach(({ startDate, endDate }) => {\r\n matchIndices.forEach((index) => {\r\n const delivery = fromContract.delivery[index];\r\n const deliveryDueDates = [];\r\n const { itemPeriod } = delivery;\r\n if (mode === PURCHASE_ORDER_MODE) {\r\n deliveryDueDates.push(fromPO.deliveryDate);\r\n } else if (itemPeriod.type === REQUEST_ONE_OFF) {\r\n const itemStartDate = getTimeMovedByDuration(new Date(startDate), { length: itemPeriod.offset, type: itemPeriod.offsetType }).toISOString();\r\n deliveryDueDates.push(itemStartDate);\r\n } else {\r\n const itemStartDate = getTimeMovedByDuration(new Date(startDate), { length: itemPeriod.offset, type: itemPeriod.offsetType }).toISOString();\r\n const itemEndDate = getTimeMovedByDuration(new Date(endDate), { length: itemPeriod.offset, type: itemPeriod.offsetType }).toISOString();\r\n deliveryDueDates.push(...getPeriodicalDatesByCount(itemStartDate, itemEndDate, itemPeriod.per, itemPeriod.count));\r\n }\r\n const totalQuantity = mode === PURCHASE_ORDER_MODE ? fromPO.material.quantity : delivery.volumes[0];\r\n const newQuantity = totalQuantity / deliveryDueDates.length;\r\n deliveryDueDates.forEach((dueDate) => {\r\n deliverySchedules.push({\r\n ...initSchedule,\r\n id: uuidv4(),\r\n dueDate,\r\n type: DELIVERY_MODE,\r\n material: {\r\n id: mode === PURCHASE_ORDER_MODE ? fromPO.material.id : delivery.itemId,\r\n title: mode === PURCHASE_ORDER_MODE ? fromPO.material.title : delivery.itemTitle,\r\n description: mode === PURCHASE_ORDER_MODE ? fromPO.material.description : delivery.itemDescription,\r\n life: mode === PURCHASE_ORDER_MODE ? fromPO.material.life : delivery.itemLife,\r\n status: mode === PURCHASE_ORDER_MODE ? fromPO.material.status : delivery.itemStatus,\r\n type: mode === PURCHASE_ORDER_MODE ? fromPO.material.type : delivery.itemType,\r\n collected: mode === PURCHASE_ORDER_MODE ? fromPO.material.collected : delivery.itemCollected,\r\n quantity: newQuantity,\r\n netPrice: mode === PURCHASE_ORDER_MODE ? fromPO.material.netPrice : delivery.prices[0],\r\n netValue: mode === PURCHASE_ORDER_MODE ? fromPO.material.netPrice * newQuantity : delivery.prices[0] * newQuantity\r\n } as DeliveryItem\r\n } as Schedule);\r\n });\r\n });\r\n });\r\n // const dailyIR = (costInterest.rate / periodLengthList.find((lengthItem) => lengthItem.type === costInterest.period).days) / 100;\r\n const dailyIR = 0;\r\n const referralRate = fromContract.referral ? fromContract.referral.amount / 100 : 0;\r\n const otherPayment = 0;\r\n const priceList = [];\r\n\r\n // new\r\n\r\n // const total = (costPrincipal + otherPayment) * (1 + costTax.gstRate / 100);\r\n\r\n // const total = (costPrincipal + otherPayment) * (1 + costTax.gstRate / 100);\r\n // const serviceCost = (costPrincipal + otherPayment);\r\n // priceList.push({ total, first: total, last: 0, serviceCost });\r\n // if (fromContract.referral) {\r\n // priceList.push({ total: total * referralRate, first: total * referralRate, last: 0 });\r\n // }\r\n if (paymentOption === UPFRONT_PAYMENT) {\r\n const total = costPrincipal * (1 + costTax.gstRate / 100);\r\n priceList.push({ total, first: total, last: 0 });\r\n if (fromContract.referral) {\r\n priceList.push({ total: total * referralRate, first: total * referralRate, last: 0 });\r\n }\r\n } else if (paymentOption === COMPLETION_PAYMENT) {\r\n let finalDate = validFrom;\r\n deliverySchedules.forEach((deliverySchedule) => {\r\n const finishDate = getTimeMovedByDuration(new Date(deliverySchedule.dueDate), (deliverySchedule.material as DeliveryItem).life).toISOString();\r\n if (new Date(finalDate).getTime() < new Date(finishDate).getTime()) finalDate = finishDate;\r\n });\r\n finalDate = new Date(new Date(finalDate).getTime() + paymentFinalOffset * DAY_MILISECONDS).toISOString();\r\n let newInterest = 0;\r\n if (mode === CONTRACT_MODE && dailyIR > 0) {\r\n const daysCount = Math.floor(((new Date(finalDate)).getTime() - (new Date(validFrom)).getTime() + 1) / DAY_MILISECONDS);\r\n if (costInterest.type === SIMPLE_INTEREST_TYPE) newInterest = costPrincipal * (dailyIR * daysCount);\r\n if (costInterest.type === COMPOUND_INTEREST_TYPE) newInterest = costPrincipal * ((1 + dailyIR) ** daysCount - 1);\r\n }\r\n const total = (costPrincipal + newInterest) * (1 + costTax.gstRate / 100);\r\n priceList.push({ total, first: 0, last: total });\r\n if (fromContract.referral) {\r\n priceList.push({ total: total * referralRate, first: 0, last: total * referralRate });\r\n }\r\n } else if (paymentOption === TWOTIME_PAYMENT) {\r\n let firstPay = 0;\r\n let lastPay = 0;\r\n if (paymentInitialAmount > 0) {\r\n const firstPrincipal = (costPrincipal * paymentInitialAmount) / 100;\r\n firstPay = firstPrincipal * (1 + costTax.gstRate / 100);\r\n }\r\n if (paymentInitialAmount < 100) {\r\n let finalDueDate = validFrom;\r\n deliverySchedules.forEach((deliverySchedule) => {\r\n const finishDate = getTimeMovedByDuration(new Date(deliverySchedule.dueDate), (deliverySchedule.material as DeliveryItem).life).toISOString();\r\n if (new Date(finalDueDate).getTime() < new Date(finishDate).getTime()) finalDueDate = finishDate;\r\n });\r\n finalDueDate = new Date(new Date(finalDueDate).getTime() + paymentFinalOffset * DAY_MILISECONDS).toISOString();\r\n const finalPrincipal = (costPrincipal * (100 - paymentInitialAmount)) / 100;\r\n let finalInterest = 0;\r\n if (mode === CONTRACT_MODE && dailyIR > 0) {\r\n const daysCount = Math.floor(((new Date(finalDueDate)).getTime() - (new Date(validFrom)).getTime() + 1) / DAY_MILISECONDS);\r\n if (costInterest.type === SIMPLE_INTEREST_TYPE) finalInterest = finalPrincipal * (dailyIR * daysCount);\r\n if (costInterest.type === COMPOUND_INTEREST_TYPE) finalInterest = finalPrincipal * ((1 + dailyIR) ** daysCount - 1);\r\n }\r\n lastPay = (finalPrincipal + finalInterest) * (1 + costTax.gstRate / 100);\r\n }\r\n priceList.push({ total: firstPay + lastPay, first: firstPay, last: lastPay });\r\n if (fromContract.referral) {\r\n priceList.push({ total: (firstPay + lastPay) * referralRate, first: firstPay * referralRate, last: lastPay * referralRate });\r\n }\r\n } else if (paymentOption === PERIOD_PAYMENT) {\r\n let totalPay = 0;\r\n let firstPay = 0;\r\n let lastPay = 0;\r\n if (paymentInitialAmount > 0) {\r\n const firstPrincipal = (costPrincipal * paymentInitialAmount) / 100;\r\n firstPay = firstPrincipal * (1 + costTax.gstRate / 100);\r\n totalPay += firstPay;\r\n }\r\n const periodicalDueDates = getPeriodOffsetDaysByCount(validFrom, validTo, paymentFinalPeriod, paymentFinalOffset);\r\n const balance = (costPrincipal * (100 - paymentInitialAmount)) / 100;\r\n const periodicalOtherPayment = (otherPayment * (100 - paymentInitialAmount)) / 100 / periodicalDueDates.length;\r\n if (dailyIR > 0) {\r\n let dateDifference = periodLengthList.find((lengthItem) => lengthItem.type === paymentFinalPeriod).days;\r\n if (paymentFinalPeriod === LENGTH_MONTH || paymentFinalPeriod === LENGTH_YEAR) {\r\n const st = new Date(validFrom).getTime();\r\n const ed = new Date(validTo).getTime() + DAY_MILISECONDS;\r\n dateDifference = (ed - st) / periodicalDueDates.length / DAY_MILISECONDS;\r\n }\r\n if (costInterest.type === COMPOUND_INTEREST_TYPE) {\r\n let newInstallment = balance;\r\n newInstallment *= ((1 + dailyIR) ** (paymentFinalOffset + dateDifference * (periodicalDueDates.length - 1)));\r\n newInstallment *= ((1 + dailyIR) ** dateDifference - 1);\r\n newInstallment /= ((1 + dailyIR) ** (dateDifference * periodicalDueDates.length) - 1);\r\n lastPay = newInstallment;\r\n lastPay += periodicalOtherPayment;\r\n lastPay *= (1 + costTax.gstRate / 100);\r\n totalPay += (lastPay * periodicalDueDates.length);\r\n } else {\r\n const totalInterest = balance * dailyIR * (((periodicalDueDates.length - 1) * dateDifference) / 2 + paymentFinalOffset);\r\n lastPay = (balance + totalInterest) / periodicalDueDates.length;\r\n lastPay += periodicalOtherPayment;\r\n lastPay *= (1 + costTax.gstRate / 100);\r\n totalPay += lastPay;\r\n totalPay += (lastPay * periodicalDueDates.length);\r\n }\r\n } else {\r\n lastPay += balance;\r\n lastPay += periodicalOtherPayment;\r\n lastPay *= (1 + costTax.gstRate / 100);\r\n totalPay += lastPay;\r\n lastPay /= periodicalDueDates.length;\r\n }\r\n priceList.push({ total: totalPay, first: firstPay, last: lastPay });\r\n if (fromContract.referral) {\r\n priceList.push({ total: totalPay * referralRate, first: firstPay * referralRate, last: lastPay * referralRate });\r\n }\r\n } else if (paymentOption === DELIVERY_PAYMENT) {\r\n const lastPrices: { dueDate: Date | string, amount: number }[] = [];\r\n const lastReferralPrices: { dueDate: Date | string, amount: number }[] = [];\r\n deliverySchedules.forEach((deliverySchedule) => {\r\n const principalPayment = (deliverySchedule.material as DeliveryItem).netValue;\r\n const totalPayment = principalPayment * (1 + costTax.gstRate / 100);\r\n let newDueDate = deliverySchedule.dueDate;\r\n if (paymentInitialOffset === ON_COMPLETION) newDueDate = getTimeMovedByDuration(new Date(newDueDate), (deliverySchedule.material as DeliveryItem).life).toISOString();\r\n newDueDate = new Date(new Date(newDueDate).getTime() + paymentFinalOffset * DAY_MILISECONDS).toISOString();\r\n lastPrices.push({ dueDate: newDueDate, amount: totalPayment });\r\n if (fromContract.referral) {\r\n lastReferralPrices.push({ dueDate: newDueDate, amount: totalPayment * referralRate });\r\n }\r\n });\r\n const totalOther = getOtherPaymentByType(costPrincipal, costOther);\r\n const totalPrincipal = (costPrincipal + totalOther) * (1 + costTax.gstRate / 100);\r\n priceList.push({ total: totalPrincipal, first: 0, last: getMergedPrices(lastPrices) });\r\n if (fromContract.referral) {\r\n priceList.push({ total: totalPrincipal * referralRate, first: 0, last: getMergedPrices(lastReferralPrices) });\r\n }\r\n }\r\n const resPriceList = priceList.map((price) => {\r\n const resTotal = price.total + getOtherPaymentByType(price.total, costOther);\r\n const modification = price.total ? resTotal / price.total : 1;\r\n return {\r\n total: price.total * modification,\r\n first: price.first * modification,\r\n last: price.last * modification,\r\n serviceCost: price.serviceCost ? price.serviceCost * modification : 0\r\n };\r\n });\r\n return resPriceList;\r\n};\r\n\r\nexport const getDateList = (mode: number, fromContract: Contract, fromPO: PO = null): { first: string; last: any; } => {\r\n const matchIndices = fromContract.delivery.filter((deliveryContract) => {\r\n if (mode === CONTRACT_MODE) return (deliveryContract.requirePO === NOT_REQUIRED_PO);\r\n return (deliveryContract.itemId === fromPO.material.id);\r\n }).map((deliveryContract, index) => (index));\r\n if (matchIndices.length < 1) {\r\n return { first: null, last: null };\r\n }\r\n const initSchedule = {\r\n contractId: fromContract.id,\r\n poId: mode === PURCHASE_ORDER_MODE ? fromPO.id : '',\r\n customer: mode === PURCHASE_ORDER_MODE ? fromPO.customer : fromContract.customer,\r\n customerAgent: mode === PURCHASE_ORDER_MODE ? convert2Array(fromPO.customerAgent) : convert2Array(fromContract.customerAgent),\r\n supplier: mode === PURCHASE_ORDER_MODE ? fromPO.supplier : fromContract.supplier,\r\n supplierAgent: mode === PURCHASE_ORDER_MODE ? convert2Array(fromPO.supplierAgent) : convert2Array(fromContract.supplierAgent),\r\n status: STATUS_TEXT_SUBMITTED,\r\n invoiceId: ''\r\n };\r\n const deliverySchedules: Schedule[] = [];\r\n const { itemBriefs, validFrom, validTo } = fromContract;\r\n const { period, duration } = itemBriefs;\r\n const payment = fromContract.payment[0];\r\n const { paymentOption, paymentInitialAmount, paymentInitialOffset, paymentFinalPeriod, paymentFinalOffset } = payment;\r\n const bundlePeriodicalDates: { startDate: Date | string, endDate: Date | string }[] = [];\r\n if (period.type === REQUEST_ONE_OFF) {\r\n bundlePeriodicalDates.push({\r\n startDate: validFrom,\r\n endDate: validTo\r\n });\r\n } else {\r\n const bundleStartDates = getPeriodicalDatesByCount(validFrom, validTo, period.per, period.count);\r\n bundleStartDates.forEach((startDate) => {\r\n bundlePeriodicalDates.push({\r\n startDate,\r\n endDate: getTimeMovedByDuration(new Date(startDate), duration).toISOString()\r\n });\r\n });\r\n }\r\n bundlePeriodicalDates.forEach(({ startDate, endDate }) => {\r\n matchIndices.forEach((index) => {\r\n const delivery = fromContract.delivery[index];\r\n const deliveryDueDates = [];\r\n const { itemPeriod } = delivery;\r\n if (mode === PURCHASE_ORDER_MODE) deliveryDueDates.push(fromPO.deliveryDate);\r\n else if (itemPeriod.type === REQUEST_ONE_OFF) {\r\n const itemStartDate = getTimeMovedByDuration(new Date(startDate), { length: itemPeriod.offset, type: itemPeriod.offsetType }).toISOString();\r\n deliveryDueDates.push(itemStartDate);\r\n } else {\r\n const itemStartDate = getTimeMovedByDuration(new Date(startDate), { length: itemPeriod.offset, type: itemPeriod.offsetType }).toISOString();\r\n const itemEndDate = getTimeMovedByDuration(new Date(endDate), { length: itemPeriod.offset, type: itemPeriod.offsetType }).toISOString();\r\n deliveryDueDates.push(...getPeriodicalDatesByCount(itemStartDate, itemEndDate, itemPeriod.per, itemPeriod.count));\r\n }\r\n const totalQuantity = mode === PURCHASE_ORDER_MODE ? fromPO.material.quantity : delivery.volumes[0];\r\n const newQuantity = totalQuantity / deliveryDueDates.length;\r\n deliveryDueDates.forEach((dueDate) => {\r\n deliverySchedules.push({\r\n ...initSchedule,\r\n id: uuidv4(),\r\n dueDate,\r\n type: DELIVERY_MODE,\r\n material: {\r\n id: mode === PURCHASE_ORDER_MODE ? fromPO.material.id : delivery.itemId,\r\n title: mode === PURCHASE_ORDER_MODE ? fromPO.material.title : delivery.itemTitle,\r\n description: mode === PURCHASE_ORDER_MODE ? fromPO.material.description : delivery.itemDescription,\r\n life: mode === PURCHASE_ORDER_MODE ? fromPO.material.life : delivery.itemLife,\r\n status: mode === PURCHASE_ORDER_MODE ? fromPO.material.status : delivery.itemStatus,\r\n type: mode === PURCHASE_ORDER_MODE ? fromPO.material.type : delivery.itemType,\r\n collected: mode === PURCHASE_ORDER_MODE ? fromPO.material.collected : delivery.itemCollected,\r\n quantity: newQuantity,\r\n netPrice: mode === PURCHASE_ORDER_MODE ? fromPO.material.netPrice : delivery.prices[0],\r\n netValue: mode === PURCHASE_ORDER_MODE ? fromPO.material.netPrice * newQuantity : delivery.prices[0] * newQuantity\r\n } as DeliveryItem\r\n } as Schedule);\r\n });\r\n });\r\n });\r\n if (paymentOption === UPFRONT_PAYMENT) {\r\n let signedDate = validFrom;\r\n if (mode === PURCHASE_ORDER_MODE) signedDate = removeTime(fromPO.supplierSignedAt);\r\n else signedDate = new Date(fromContract.supplierSignedAt).getTime() >= new Date(fromContract.customerSignedAt).getTime() ? removeTime(fromContract.supplierSignedAt) : removeTime(fromContract.customerSignedAt);\r\n const newDueDate = new Date(new Date(signedDate).getTime() + paymentInitialOffset * DAY_MILISECONDS).toISOString();\r\n return { first: newDueDate, last: null };\r\n }\r\n if (paymentOption === COMPLETION_PAYMENT) {\r\n let finalDate = validFrom;\r\n deliverySchedules.forEach((deliverySchedule) => {\r\n const finishDate = getTimeMovedByDuration(new Date(deliverySchedule.dueDate), (deliverySchedule.material as DeliveryItem).life).toISOString();\r\n if (new Date(finalDate).getTime() < new Date(finishDate).getTime()) finalDate = finishDate;\r\n });\r\n finalDate = new Date(new Date(finalDate).getTime() + paymentFinalOffset * DAY_MILISECONDS).toISOString();\r\n return { first: null, last: finalDate };\r\n }\r\n if (paymentOption === TWOTIME_PAYMENT) {\r\n let signedDate = validFrom;\r\n if (mode === PURCHASE_ORDER_MODE) signedDate = removeTime(fromPO.supplierSignedAt);\r\n else signedDate = new Date(fromContract.supplierSignedAt).getTime() >= new Date(fromContract.customerSignedAt).getTime() ? removeTime(fromContract.supplierSignedAt) : removeTime(fromContract.customerSignedAt);\r\n const firstDueDate = new Date(new Date(signedDate).getTime() + paymentInitialOffset * DAY_MILISECONDS).toISOString();\r\n let finalDueDate = validFrom;\r\n deliverySchedules.forEach((deliverySchedule) => {\r\n const finishDate = getTimeMovedByDuration(new Date(deliverySchedule.dueDate), (deliverySchedule.material as DeliveryItem).life).toISOString();\r\n if (new Date(finalDueDate).getTime() < new Date(finishDate).getTime()) finalDueDate = finishDate;\r\n });\r\n finalDueDate = new Date(new Date(finalDueDate).getTime() + paymentFinalOffset * DAY_MILISECONDS).toISOString();\r\n return { first: firstDueDate, last: finalDueDate };\r\n }\r\n if (paymentOption === PERIOD_PAYMENT) {\r\n let firstDueDate = null;\r\n if (paymentInitialAmount > 0) {\r\n let signedDate = validFrom;\r\n if (mode === PURCHASE_ORDER_MODE) signedDate = removeTime(fromPO.supplierSignedAt);\r\n else signedDate = new Date(fromContract.supplierSignedAt).getTime() >= new Date(fromContract.customerSignedAt).getTime() ? removeTime(fromContract.supplierSignedAt) : removeTime(fromContract.customerSignedAt);\r\n firstDueDate = new Date(new Date(signedDate).getTime() + paymentInitialOffset * DAY_MILISECONDS).toISOString();\r\n }\r\n const periodicalDueDates = getPeriodOffsetDaysByCount(validFrom, validTo, paymentFinalPeriod, paymentFinalOffset);\r\n return { first: firstDueDate, last: { from: periodicalDueDates[0], period: paymentFinalPeriod, offset: getPeriodOffsetFromDate(periodicalDueDates[0], paymentFinalPeriod) } };\r\n }\r\n // paymentOption === DELIVERY_PAYMENT\r\n const dueDates = deliverySchedules.map((deliverySchedule) => deliverySchedule.dueDate);\r\n return { first: null, last: getMergedDates(dueDates) };\r\n};\r\n\r\nexport const createPurchasesAfterConfirmFromContract = (fromContract: Contract, schedules: Schedule[]): PurchaseItem => {\r\n const purchaseItem: PurchaseItem = {\r\n id: uuidv4(),\r\n contractId: fromContract.id,\r\n itemId: fromContract.itemBriefs?.id,\r\n itemType: fromContract.itemBriefs?.type,\r\n itemTitle: fromContract.itemBriefs?.title,\r\n itemDescription: fromContract.itemBriefs?.description,\r\n itemCategory: fromContract.itemBriefs?.category,\r\n delivery: fromContract.delivery.filter((deliveryContract) => deliveryContract.requirePO === NOT_REQUIRED_PO).map((deliveryContract) => {\r\n const subSchedules = schedules.filter((schedule) => deliveryContract.itemId === (schedule.material as DeliveryItem).id);\r\n return ({\r\n id: deliveryContract.itemId,\r\n title: deliveryContract.itemTitle,\r\n description: deliveryContract.itemDescription,\r\n life: deliveryContract.itemLife,\r\n status: deliveryContract.itemStatus,\r\n type: deliveryContract.itemType,\r\n collected: deliveryContract.itemCollected,\r\n quantity: subSchedules.map((schedule) => (schedule.material as DeliveryItem).quantity),\r\n miniInvoices: [],\r\n dueDates: subSchedules.map((schedule) => schedule.dueDate)\r\n } as DeliveredItem);\r\n }),\r\n supplier: fromContract.supplier,\r\n supplierAgent: convert2Array(fromContract.supplierAgent),\r\n customer: fromContract.customer,\r\n customerAgent: convert2Array(fromContract.customerAgent),\r\n validFrom: fromContract.validFrom,\r\n validTo: fromContract.validTo\r\n };\r\n return purchaseItem;\r\n};\r\n","import { createSlice } from '@reduxjs/toolkit';\r\nimport type { PayloadAction } from '@reduxjs/toolkit';\r\nimport type { AppThunk } from 'src/store';\r\nimport type { FileThread } from 'src/../../Common/Model/fileshare';\r\nimport { Tag } from 'src/../../Common/Model/tag';\r\nimport type { Message, Contact } from 'src/types/chat';\r\nimport { deepCopy } from 'src/utils/copyObject';\r\n\r\nexport interface MiniChatThread {\r\n sid: string;\r\n title: string;\r\n messages: Message[];\r\n createdBy: string;\r\n participants: Contact[];\r\n type: number;\r\n}\r\n\r\ninterface FileshareState {\r\n needReload: boolean,\r\n fileThreads: FileThread[],\r\n tags: Tag[],\r\n chatThread: MiniChatThread | null\r\n}\r\n\r\nconst initialState: FileshareState = {\r\n needReload: true,\r\n fileThreads: [],\r\n tags: [],\r\n chatThread: null\r\n};\r\n\r\nconst slice = createSlice({\r\n name: 'fileshare',\r\n initialState,\r\n reducers: {\r\n clearState(state: FileshareState) {\r\n state.needReload = true;\r\n state.fileThreads.splice(0, state.fileThreads.length);\r\n state.tags.splice(0, state.tags.length);\r\n state.chatThread = null;\r\n },\r\n setThreads(state: FileshareState, action: PayloadAction<{ threads: FileThread[]; }>) {\r\n const { threads } = action.payload;\r\n state.fileThreads = [...threads];\r\n state.needReload = false;\r\n },\r\n addFilethread(state: FileshareState, action: PayloadAction<{ filethread: FileThread; }>) {\r\n const { filethread } = action.payload;\r\n state.fileThreads = [filethread].concat(state.fileThreads);\r\n // state.needRefresh = !state.needRefresh;\r\n },\r\n updateFilethread(state: FileshareState, action: PayloadAction<{ thread: FileThread; }>) {\r\n const { thread } = action.payload;\r\n const index = state.fileThreads.findIndex((item) => item.id === thread.id);\r\n if (index > -1) state.fileThreads[index] = thread;\r\n // state.needRefresh = !state.needRefresh;\r\n },\r\n setNeedReload(state: FileshareState, action: PayloadAction<{ needReload: boolean; }>) {\r\n const { needReload } = action.payload;\r\n state.needReload = needReload;\r\n },\r\n setTags(state: FileshareState, action: PayloadAction): void {\r\n state.tags = action.payload;\r\n },\r\n addTags(state: FileshareState, action: PayloadAction): void {\r\n state.tags = [...state.tags, ...action.payload];\r\n },\r\n setChatThread(state: FileshareState, action: PayloadAction) {\r\n state.chatThread = deepCopy(action.payload);\r\n },\r\n initChatThread(state: FileshareState): void {\r\n state.chatThread = null;\r\n }\r\n }\r\n});\r\n\r\nexport const { reducer } = slice;\r\n\r\nexport const clearFileShareState = (): AppThunk => (dispatch): void => {\r\n dispatch(slice.actions.clearState());\r\n};\r\nexport const loadThreads = (threads: FileThread[]): AppThunk => async (dispatch) => {\r\n dispatch(slice.actions.setThreads({ threads }));\r\n};\r\nexport const setNeedReload = (value: boolean): AppThunk => async (dispatch) => {\r\n const needReload = value;\r\n dispatch(slice.actions.setNeedReload({ needReload }));\r\n};\r\nexport const addFilethread = (filethread: FileThread): AppThunk => async (dispatch) => {\r\n dispatch(slice.actions.addFilethread({ filethread }));\r\n};\r\nexport const updateFilethread = (thread: FileThread): AppThunk => async (dispatch) => {\r\n dispatch(slice.actions.updateFilethread({ thread }));\r\n};\r\nexport const setTags = (tags: Tag[]): AppThunk => async (dispatch) => {\r\n dispatch(slice.actions.setTags(tags));\r\n};\r\nexport const addTags = (tags: Tag[]): AppThunk => async (dispatch) => {\r\n dispatch(slice.actions.addTags(tags));\r\n};\r\nexport const setChatThread = (conv: MiniChatThread): AppThunk => async (dispatch) => {\r\n dispatch(slice.actions.setChatThread(conv));\r\n};\r\nexport const initChatThread = (): AppThunk => async (dispatch) => {\r\n dispatch(slice.actions.initChatThread());\r\n};\r\n\r\nexport default slice;\r\n","import { FC, useState } from 'react';\r\nimport {\r\n Box,\r\n Button,\r\n Menu,\r\n MenuItem,\r\n TextField,\r\n Typography\r\n} from '@material-ui/core';\r\nimport { PRICE_MODIFICATION_DISCOUNT, RATE_PERCENT, modificationList } from 'src/globals';\r\nimport PrettySelect from 'src/components/interact/PrettySelect';\r\nimport Delete from '@mui/icons-material/Delete';\r\nimport ActionButton from 'src/components/interact/ActionButton';\r\nimport ArrowRightIcon from '@mui/icons-material/ArrowRight';\r\nimport { convertCurrency } from 'src/utils/priceUtils';\r\nimport { debounce } from 'lodash';\r\n\r\nconst getDisplayValue = (info) => {\r\n if (info.type === PRICE_MODIFICATION_DISCOUNT && typeof info.amount === 'number') return -info.amount;\r\n return info.amount;\r\n};\r\n\r\nconst getSaveValue = (type, amount) => {\r\n if (type === PRICE_MODIFICATION_DISCOUNT && typeof amount === 'number') return -amount;\r\n return amount;\r\n};\r\n\r\nexport const convertModificationsCurrency = (modifications, currency) => (!modifications ? [] : modifications.map((mod) => ({\r\n type: mod.type,\r\n amount: mod.unit === RATE_PERCENT ? mod.amount : Math.floor(convertCurrency(mod.amount, mod.unit, currency) * 10000 + 0.001) / 10000,\r\n unit: mod.unit === RATE_PERCENT ? mod.unit : currency\r\n})));\r\n\r\nexport const isValueError = (values) => values.some((info) => typeof info.amount !== 'number');\r\n\r\nconst ModificationInfo: FC<{\r\n values: any[];\r\n update: any;\r\n currency: string;\r\n}> = ({\r\n values,\r\n update,\r\n currency\r\n}) => {\r\n const [anchorEl, setAnchorEl] = useState(null);\r\n const open = Boolean(anchorEl);\r\n\r\n const onOpen = (e) => {\r\n setAnchorEl(e.currentTarget);\r\n };\r\n\r\n const handleClose = () => {\r\n setAnchorEl(null);\r\n };\r\n\r\n const handleChangeInput = debounce((e, info) => {\r\n let val = Number(e.target.value);\r\n let saveValue: any = e.target.value;\r\n if (!Number.isNaN(val) && e.target.value !== '') {\r\n if (info.unit === RATE_PERCENT) {\r\n const minv = info.type === PRICE_MODIFICATION_DISCOUNT ? 0 : -100;\r\n const maxv = info.type === PRICE_MODIFICATION_DISCOUNT ? 100 : null;\r\n if (val < minv) val = minv;\r\n if (maxv && val > maxv) val = maxv;\r\n }\r\n saveValue = val;\r\n }\r\n update(values.map((value) => {\r\n if (value.type === info.type) {\r\n return {\r\n ...value,\r\n amount: getSaveValue(info.type, saveValue)\r\n };\r\n }\r\n return value;\r\n }));\r\n }, 500);\r\n\r\n return (\r\n \r\n {values.map((info) => {\r\n const item = modificationList.find((v) => v.id === info.type);\r\n return (\r\n \r\n \r\n {item.title}\r\n \r\n {\r\n handleChangeInput(e, info);\r\n }}\r\n error={typeof info.amount !== 'number'}\r\n />\r\n \r\n {\r\n update(values.map((value) => {\r\n if (value.type === info.type) {\r\n return {\r\n ...value,\r\n unit: v,\r\n // amount: 0\r\n };\r\n }\r\n return value;\r\n }));\r\n }}\r\n items={[{\r\n id: RATE_PERCENT,\r\n title: '%'\r\n }, {\r\n id: currency,\r\n title: currency\r\n }]}\r\n itemComponent={({ title }) => (\r\n \r\n {title}\r\n \r\n )}\r\n />\r\n \r\n {\r\n update(values.filter((v) => v.type !== info.type));\r\n }}\r\n color=\"secondary\"\r\n />\r\n \r\n );\r\n })}\r\n {values.length === 0 && (\r\n \r\n \r\n You can apply modifications to service price.\r\n \r\n }\r\n >\r\n Add\r\n \r\n \r\n )}\r\n \r\n {modificationList.filter((v) => !values.some((info) => v.id === info.type)).map((mod) => (\r\n {\r\n update([\r\n ...values,\r\n {\r\n type: mod.id,\r\n // amount: 0,\r\n unit: RATE_PERCENT\r\n }\r\n ]);\r\n handleClose();\r\n }}\r\n >\r\n {mod.title}\r\n \r\n ))}\r\n \r\n \r\n );\r\n};\r\n\r\nexport default ModificationInfo;\r\n","import { createSlice } from '@reduxjs/toolkit';\r\nimport type { PayloadAction } from '@reduxjs/toolkit';\r\nimport type { AppThunk } from 'src/store';\r\nimport type { Favorite } from 'src/../../Common/Model/favorite';\r\nimport type { PaidProfile } from 'src/../../Common/Model/paidProfile';\r\n\r\ninterface FavoriteState {\r\n favorites: Favorite[];\r\n needReload: boolean;\r\n searchHistory: string[];\r\n paidProfiles: PaidProfile[];\r\n}\r\n\r\nconst initialState: FavoriteState = {\r\n favorites: [],\r\n needReload: true,\r\n searchHistory: [],\r\n paidProfiles: []\r\n};\r\n\r\nconst slice = createSlice({\r\n name: 'favorite',\r\n initialState,\r\n reducers: {\r\n clearState(state: FavoriteState) {\r\n state.favorites.splice(0, state.favorites.length);\r\n state.searchHistory.splice(0, state.searchHistory.length);\r\n state.paidProfiles.splice(0, state.paidProfiles.length);\r\n state.needReload = true;\r\n },\r\n setFavorites(state: FavoriteState, action: PayloadAction<{ favorites: Favorite[]; }>) {\r\n const { favorites } = action.payload;\r\n state.favorites = favorites;\r\n },\r\n removeFavorite(state: FavoriteState, action: PayloadAction<{ id: string; }>) {\r\n const { id } = action.payload;\r\n const index = state.favorites.findIndex((item) => item.id === id);\r\n state.favorites.splice(index, 1);\r\n },\r\n addFavorite(state: FavoriteState, action: PayloadAction<{ favorite: Favorite }>) {\r\n const { favorite } = action.payload;\r\n if (!state.favorites.some((fav) => fav.data.abn === favorite.data.abn)) {\r\n state.favorites = [...state.favorites, favorite];\r\n }\r\n },\r\n addPaidProfile(state: FavoriteState, action: PayloadAction<{ paidProfile: PaidProfile }>) {\r\n const { paidProfile } = action.payload;\r\n if (!state.paidProfiles.some((paid) => paid.abn === paidProfile.abn)) {\r\n state.paidProfiles = [...state.paidProfiles, paidProfile];\r\n }\r\n },\r\n setNeedReload(state: FavoriteState, action: PayloadAction) {\r\n state.needReload = action.payload;\r\n },\r\n setSearchHistory(state: FavoriteState, action: PayloadAction) {\r\n state.searchHistory = action.payload;\r\n },\r\n setPaidProfiles(state: FavoriteState, action: PayloadAction<{ paidProfiles: PaidProfile[]; }>) {\r\n const { paidProfiles } = action.payload;\r\n state.paidProfiles = paidProfiles;\r\n },\r\n }\r\n});\r\n\r\nexport const { reducer } = slice;\r\n\r\nexport const clearFavoriteState = (): AppThunk => (dispatch): void => {\r\n dispatch(slice.actions.clearState());\r\n};\r\n\r\nexport const setFavorites = (favorites: Favorite[]): AppThunk => async (dispatch) => {\r\n dispatch(slice.actions.setFavorites({ favorites }));\r\n};\r\n\r\nexport const removeFavorite = (id: string): AppThunk => async (dispatch) => {\r\n dispatch(slice.actions.removeFavorite({ id }));\r\n};\r\n\r\nexport const addFavorite = (favorite: Favorite): AppThunk => async (dispatch) => {\r\n dispatch(slice.actions.addFavorite({ favorite }));\r\n};\r\n\r\nexport const addPaidProfile = (paidProfile: PaidProfile): AppThunk => async (dispatch) => {\r\n dispatch(slice.actions.addPaidProfile({ paidProfile }));\r\n};\r\n\r\nexport const setNeedReload = (state: boolean): AppThunk => async (dispatch) => {\r\n dispatch(slice.actions.setNeedReload(state));\r\n};\r\n\r\nexport const setSearchHistory = (hist: string[]): AppThunk => async (dispatch) => {\r\n dispatch(slice.actions.setSearchHistory(hist));\r\n};\r\n\r\nexport const setPaidProfiles = (paidProfiles: PaidProfile[]): AppThunk => async (dispatch) => {\r\n dispatch(slice.actions.setPaidProfiles({ paidProfiles }));\r\n};\r\n\r\nexport default slice;\r\n","import { createSlice } from '@reduxjs/toolkit';\r\nimport type { PayloadAction } from '@reduxjs/toolkit';\r\nimport type { AppThunk } from 'src/store';\r\nimport type { Feedback, FeedbackConnection } from 'src/../../Common/Model/feedback';\r\n\r\ninterface FeedbackState {\r\n feedbacks: Feedback[];\r\n connections: FeedbackConnection[];\r\n}\r\n\r\nconst initialState: FeedbackState = {\r\n feedbacks: [],\r\n connections: []\r\n};\r\n\r\nconst slice = createSlice({\r\n name: 'apprising',\r\n initialState,\r\n reducers: {\r\n clearState(state: FeedbackState) {\r\n state.feedbacks = [];\r\n state.connections = [];\r\n },\r\n loadFeedback(state: FeedbackState, action: PayloadAction<{ feedbacks: Feedback[], connections: FeedbackConnection[] }>) {\r\n state.feedbacks = action.payload.feedbacks;\r\n state.connections = action.payload.connections;\r\n },\r\n addNewFeedback(state: FeedbackState, action: PayloadAction<{ feedback: Feedback, connection: FeedbackConnection }>) {\r\n state.feedbacks = [...state.feedbacks, action.payload.feedback];\r\n state.connections = [...state.connections, action.payload.connection];\r\n },\r\n markAsRead(state: FeedbackState, action: PayloadAction<{ id: string }>) {\r\n const idx = state.feedbacks.findIndex((feedback) => feedback.id === action.payload.id);\r\n if (idx >= 0) {\r\n state.feedbacks[idx] = {\r\n ...state.feedbacks[idx],\r\n read: true\r\n };\r\n }\r\n }\r\n }\r\n});\r\n\r\nexport const { reducer } = slice;\r\n\r\nexport const clearState = (): AppThunk => (dispatch): void => {\r\n dispatch(slice.actions.clearState());\r\n};\r\n\r\nexport const loadFeedback = (feedbacks: Feedback[], connections: FeedbackConnection[]): AppThunk => async (dispatch) => {\r\n dispatch(slice.actions.loadFeedback({ feedbacks, connections }));\r\n};\r\n\r\nexport const addNewFeedback = (feedback: Feedback, connection: FeedbackConnection): AppThunk => async (dispatch) => {\r\n dispatch(slice.actions.addNewFeedback({ feedback, connection }));\r\n};\r\n\r\nexport const markAsRead = (id: string): AppThunk => async (dispatch) => {\r\n dispatch(slice.actions.markAsRead({ id }));\r\n};\r\n\r\nexport default slice;\r\n","import { chatApi } from 'src/apis/chatApi';\r\nimport { contactApi } from 'src/apis/contactApi';\r\nimport { lambdaFirstLoadWallet, lambdaGetOrgBannerUrl, lambdaCreateRequest, lambdaGetFeedback, lambdaInitialLoad, lambdaGetTemplateList, lambdaGetOrgStructure } from 'src/aws/lambdaDispatch';\r\nimport { cleanUpChat, setMessages } from 'src/slices/chat';\r\nimport { clearContactState, setConnectStateNeedReload, setContacts, setTotalCount, setContactsNeedReload, setSyncState, setSyncStateNeedReload } from 'src/slices/contact';\r\nimport { clearUserState, LoadingStatus, setLoadingStatus, setMemberNeedReload, setRegisteredVerificationInfo, setRequestedLocation, setUserInfo, setVerificationStatus } from 'src/slices/user';\r\nimport { Thread } from 'src/types/chat';\r\nimport { clearWalletState, setWalletInfo } from 'src/slices/wallet';\r\nimport { setCurOrgNeedReload, setOrgStructures, setActiveOrgId, setActiveTeamId, cleanUserMinInfos, setBannerUrl, clearOrganizationState, setCurOrgStructure } from 'src/slices/organization';\r\nimport intervalJobs from 'src/utils/intervalJobs';\r\nimport { clearApprisingState, loadApprising } from 'src/slices/apprising';\r\nimport { ACCZIOM_CLIENT, ACCZIOM_MEMBER, ACCZIOM_NONE, ACCZIOM_ORG, ACCZIOM_TEAM, ACCZIOM_USER, CHECK_INTERVAL_MINUTES, MICROSERVICE_BUNDLE, TICKET_MODE_NORMAL, VERIFY_COMPLETED } from 'src/globals';\r\nimport { fetchUrl } from 'src/utils/fileUpDownload';\r\nimport { setNeedReload as setAssetNeedReload, clearAssetState } from 'src/slices/asset';\r\nimport { setNeedReload as setPurchaseNeedReload, clearPurchaseItemState } from 'src/slices/business';\r\nimport { setNeedReload as setFavoriteNeedReload, clearFavoriteState } from 'src/slices/favorite';\r\nimport { setNeedReload as setFileNeedReload, clearFileShareState } from 'src/slices/fileshare';\r\nimport { setNeedReload as setKanbanNeedReload, clearKanbanState } from 'src/slices/kanban';\r\nimport { setNeedReload as setMSTemplateNeedReload, clearMsTemplateState } from 'src/slices/msTemplate';\r\nimport { setInvitationNeedReload, setReferralNeedReload, clearNetworkState } from 'src/slices/network';\r\nimport { setNeedReload as setPayAccountNeedReload, clearPayAccountState } from 'src/slices/payAccount';\r\nimport { setNeedReload as setRequestNeedReload, clearRequestState } from 'src/slices/request';\r\nimport { clearShareState } from 'src/slices/share';\r\nimport { wsConnect, wsTeamConnect } from 'src/apis/wsApi';\r\nimport { clearServiceRequestState } from 'src/slices/serviceRequest';\r\nimport { clearProcurementState, setContractReload, setInvoiceReload, setPOReload, setRFQReload, setScheduleReload } from 'src/slices/procurement';\r\nimport { objToArray } from 'src/utils/copyObject';\r\nimport getUserDisplayName from 'src/utils/getUserDisplayName';\r\nimport gstore from 'src/store';\r\nimport { createDirectDraft } from 'src/components/ServiceRequest/Actions';\r\nimport toast from 'react-hot-toast';\r\nimport { getUserMinInfoByID } from 'src/utils/getActiveOrgInfo';\r\nimport { loadFeedback } from 'src/slices/feedback';\r\nimport { clearTaxonomyState, setAssetCategoryNeedReload, setChatCategoryNeedReload, setOrgCategoryNeedReload, setServiceCategoryNeedReload } from 'src/slices/taxonomy';\r\nimport { setTemplateList } from 'src/slices/template';\r\n\r\nlet isLoading: boolean = false;\r\n\r\nexport const initChatApi = (uid: string, dispatch): Promise => {\r\n dispatch(cleanUpChat());\r\n chatApi.cleanUp();\r\n dispatch(cleanUserMinInfos());\r\n return new Promise((resolve) => {\r\n chatApi.initConnection(uid, dispatch)\r\n .then(() => {\r\n const threads: Thread[] = [];\r\n chatApi.getConversations(threads)\r\n .then((_threads) => {\r\n _threads.forEach((item) => {\r\n chatApi.getMessages(item.sid)\r\n .then((msgs) => {\r\n if (msgs.length > 0) dispatch(setMessages(msgs));\r\n })\r\n .catch(() => {});\r\n });\r\n resolve(true);\r\n });\r\n })\r\n .catch(() => {\r\n resolve(false);\r\n });\r\n });\r\n};\r\n\r\nexport const loadContact = async (uid: string, dispatch): Promise => {\r\n try {\r\n const cs = await contactApi.loadAllContacts(uid);\r\n const { QBO, XERO } = await contactApi.getSyncStatus(uid);\r\n dispatch(setContacts(cs));\r\n setTotalCount(cs.length);\r\n dispatch(setSyncState(QBO, XERO));\r\n } catch (e) {\r\n console.log('Loading contact : ', e);\r\n }\r\n return Promise.resolve();\r\n};\r\n\r\nexport const loadWallet = async (walletId: any, dispatch): Promise => {\r\n try {\r\n const w = await lambdaFirstLoadWallet(walletId);\r\n dispatch(setWalletInfo(w));\r\n } catch (e) {\r\n console.log('Loading wallet : ', JSON.stringify(e));\r\n }\r\n return Promise.resolve();\r\n};\r\n\r\nexport const loadTemplateList = async (_uid: string, dispatch): Promise => {\r\n try {\r\n const ts = await lambdaGetTemplateList(_uid);\r\n dispatch(setTemplateList(ts));\r\n } catch (e) {\r\n console.log('Loading Template list : ', e);\r\n }\r\n return Promise.resolve();\r\n};\r\n\r\n// export const loadApprising = async (email: string, dispatch): Promise => {\r\n// try {\r\n// const apprisings = await lambdaGetApprising(email);\r\n// dispatch(getApprisings(apprisings));\r\n// } catch (e) {\r\n// console.log('Loading apprisings : ', JSON.stringify(e));\r\n// }\r\n// return Promise.resolve();\r\n// };\r\n\r\nexport const initNeedReloads = (dispatch) => {\r\n dispatch(setCurOrgNeedReload(true));\r\n dispatch(setMemberNeedReload(true));\r\n dispatch(setOrgCategoryNeedReload(true));\r\n dispatch(setServiceCategoryNeedReload(true));\r\n dispatch(setAssetCategoryNeedReload(true));\r\n dispatch(setChatCategoryNeedReload(true));\r\n dispatch(setAssetNeedReload(true));\r\n dispatch(setPurchaseNeedReload(true));\r\n dispatch(setFavoriteNeedReload(true));\r\n dispatch(setFileNeedReload(true));\r\n dispatch(setContactsNeedReload(true));\r\n dispatch(setConnectStateNeedReload(true));\r\n dispatch(setSyncStateNeedReload(true));\r\n dispatch(setKanbanNeedReload(true));\r\n dispatch(setMSTemplateNeedReload(true));\r\n dispatch(setInvitationNeedReload(true));\r\n dispatch(setReferralNeedReload(true));\r\n dispatch(setPayAccountNeedReload(true));\r\n dispatch(setRequestNeedReload(true));\r\n dispatch(setRFQReload(true));\r\n dispatch(setContractReload(true));\r\n dispatch(setPOReload(true));\r\n dispatch(setScheduleReload(true));\r\n dispatch(setInvoiceReload(true));\r\n};\r\n\r\nexport const initializeStates = (dispatch) => {\r\n dispatch(clearKanbanState());\r\n dispatch(clearContactState());\r\n dispatch(clearFavoriteState());\r\n dispatch(clearFileShareState());\r\n dispatch(clearNetworkState());\r\n dispatch(clearPayAccountState());\r\n dispatch(clearServiceRequestState());\r\n dispatch(clearMsTemplateState());\r\n dispatch(clearAssetState());\r\n dispatch(clearProcurementState());\r\n dispatch(clearPurchaseItemState());\r\n dispatch(clearShareState());\r\n dispatch(clearRequestState());\r\n dispatch(clearWalletState());\r\n dispatch(clearApprisingState());\r\n dispatch(clearTaxonomyState());\r\n dispatch(clearOrganizationState());\r\n dispatch(clearUserState());\r\n};\r\n\r\nconst initialLoad = (id: string, checkLive, dispatch, logout, domainName: string, orgId?: string, teamId?: string): void => {\r\n if (isLoading) return;\r\n\r\n intervalJobs(CHECK_INTERVAL_MINUTES * 60 * 1000, checkLive, true);\r\n\r\n isLoading = true;\r\n dispatch(setLoadingStatus(LoadingStatus.LOADING));\r\n const orgDomainName = gstore.getState().user.domainName;\r\n const recoverUrl = gstore.getState().user.requestedLocation;\r\n let requestDraft = null;\r\n const loginAsClientToOrg = !!orgDomainName && !!recoverUrl;\r\n if (loginAsClientToOrg) {\r\n if (recoverUrl === '/deal/purchase') {\r\n const { service, bundledServices } = gstore.getState().serviceRequest;\r\n requestDraft = createDirectDraft(\r\n service,\r\n bundledServices,\r\n { id: '', type: ACCZIOM_NONE }, // set after org load\r\n { id: '', type: ACCZIOM_NONE }, // set after org load\r\n 0, // set after org load\r\n getUserMinInfoByID(service.creator).signerCount,\r\n TICKET_MODE_NORMAL\r\n );\r\n }\r\n }\r\n initializeStates(dispatch);\r\n // console.log(id);\r\n lambdaInitialLoad(id)\r\n // lambdaInitialLoad('fcb2bd19-79da-49ab-97b8-098d8e6abfcb') // for Noble & Associates\r\n // lambdaInitialLoad('6397e811-b5d4-4e8e-93b1-7c6d0703a6e6') // nguthanh505@gmail.com\r\n // lambdaInitialLoad('28322ca1-f94f-48b2-8268-a78149521218') // for James\r\n // lambdaGetUserInfo('469d19ff-2c34-4409-81b3-2feea660b7e7') // for LodgeiT\r\n // lambdaGetUserInfo('a2f14af2-0868-413f-a64d-001d45d68163') // for ac-accounting\r\n // lambdaGetUserInfo('0ea9e202-5490-44b3-a54e-e3a4cf6f2ca1')\r\n // lambdaGetUserInfo('080341aa-e7fc-4007-ab56-c51c9e665404')\r\n .then((res) => {\r\n const { userInfo: ui, verificationResult: vr, memberInfos: members, orgInfos: organizations, categoryInfos: categories, roleInfos: strRoles, teamInfos: teams } = res;\r\n if (ui) {\r\n dispatch(setUserInfo(ui));\r\n if (ui.isFirst) {\r\n dispatch(setLoadingStatus(LoadingStatus.COMPLETED));\r\n isLoading = false;\r\n return;\r\n }\r\n if (ui.identityVerified === 1 && vr) {\r\n if (vr.verificationResult.overallVerificationStatus.startsWith('VERIFIED')) {\r\n dispatch(setVerificationStatus(VERIFY_COMPLETED));\r\n } else {\r\n vr.verificationResult.individualResult = objToArray(vr.verificationResult.individualResult);\r\n dispatch(setRegisteredVerificationInfo(vr));\r\n }\r\n }\r\n const roles = [];\r\n strRoles.forEach((item) => {\r\n roles.push({\r\n rid: item.rid,\r\n oid: item.oid,\r\n name: item.name,\r\n level: item.level,\r\n department: JSON.parse(item.department),\r\n assignment: JSON.parse(item.assignment),\r\n production: JSON.parse(item.production),\r\n transaction: JSON.parse(item.transaction),\r\n createdAt: item.createdAt,\r\n updatedAt: item.updatedAt\r\n });\r\n });\r\n const memberInfos = [];\r\n const orgInfos = [];\r\n const categoryInfos = [];\r\n const roleInfos = [];\r\n const teamInfos = [];\r\n const teamIds = [];\r\n members.forEach((member) => {\r\n if (member.rid) {\r\n const role = roles.find((item) => item.rid === member.rid);\r\n const departmentValues = Object.values(role.department).map((obj) => Object.values(obj).includes(true));\r\n const assignmentValues = Object.values(role.assignment).map((obj) => Object.values(obj).includes(true));\r\n const teamCount = member.tids.length;\r\n if (departmentValues.includes(true) || assignmentValues.includes(true) || teamCount > 0) {\r\n memberInfos.push(member);\r\n const organization = organizations.find((item) => item.organizationId === member.oid);\r\n if (organization) orgInfos.push(organization);\r\n const category = categories.find((cat) => `${cat.code}` === `${organization.anzicCategory}`);\r\n if (category) categoryInfos.push(category);\r\n if (role) roleInfos.push(role);\r\n member.tids.forEach((tid) => {\r\n if (!teamIds.includes(tid)) {\r\n teamIds.push(tid);\r\n const team = teams.find((item) => item.tid === tid);\r\n teamInfos.push(team);\r\n }\r\n });\r\n }\r\n } else {\r\n memberInfos.push(member);\r\n const organization = organizations.find((item) => item.organizationId === member.oid);\r\n if (organization) orgInfos.push(organization);\r\n const category = categories.find((cat) => `${cat.code}` === `${organization.anzicCategory}`);\r\n if (category) categoryInfos.push(category);\r\n }\r\n });\r\n memberInfos.sort((member0, member1) => { if (member0.type < member1.type) return 1; if (member0.type > member1.type) return -1; return 0; }); // sort by type, client first, member second\r\n dispatch(setOrgStructures(memberInfos, orgInfos, categoryInfos, roleInfos, teamInfos));\r\n let firstOrg = null;\r\n let firstMember = null;\r\n if (orgInfos.length > 0) {\r\n if (domainName) {\r\n firstOrg = orgInfos.find((organizationInfo) => organizationInfo.domainName === domainName);\r\n if (firstOrg) firstMember = memberInfos.find((member) => member.oid === firstOrg?.organizationId);\r\n } else {\r\n if (orgId) {\r\n firstOrg = orgInfos.find((organizationInfo) => organizationInfo.organizationId === orgId);\r\n } else {\r\n firstOrg = orgInfos.at(0);\r\n }\r\n firstMember = memberInfos.find((member) => member.oid === firstOrg?.organizationId);\r\n }\r\n }\r\n if (firstOrg && firstMember) {\r\n if (firstMember.type === ACCZIOM_MEMBER && loginAsClientToOrg) {\r\n console.log('User not client.');\r\n dispatch(setActiveOrgId(null));\r\n dispatch(setLoadingStatus(LoadingStatus.NONE));\r\n logout();\r\n toast.error('You are not a client of this organization.');\r\n isLoading = false;\r\n } else {\r\n // eslint-disable-next-line\r\n if (process.env.NODE_ENV === 'production' && (!domainName || domainName === orgDomainName)) {\r\n if (requestDraft) {\r\n requestDraft = {\r\n ...requestDraft,\r\n demander: {\r\n id: firstMember.type === ACCZIOM_CLIENT ? firstMember.mid : firstOrg.organizationId,\r\n type: firstMember.type === ACCZIOM_CLIENT ? ACCZIOM_CLIENT : ACCZIOM_ORG\r\n },\r\n demanderAgent: [{\r\n id: firstMember.type === ACCZIOM_CLIENT ? firstMember.mid : '',\r\n type: firstMember.type === ACCZIOM_CLIENT ? ACCZIOM_CLIENT : ACCZIOM_NONE\r\n }],\r\n demanderSignCount: firstMember.type === ACCZIOM_CLIENT ? 1 : firstOrg.signerCount\r\n };\r\n lambdaCreateRequest(requestDraft).then((createdReq) => {\r\n window.location.href = `https://${firstOrg.domainName}.go.accziom.com/deal/purchase/${requestDraft.reqType === MICROSERVICE_BUNDLE ? 'service-bundle' : 'service'}/${createdReq.uid}`;\r\n });\r\n } else if (recoverUrl?.startsWith('/marketplace/asset')) {\r\n window.location.href = `https://${firstOrg.domainName}.go.accziom.com${recoverUrl}`;\r\n } else {\r\n window.location.href = `https://${firstOrg.domainName}.go.accziom.com`;\r\n }\r\n } else {\r\n wsConnect(firstMember.type === ACCZIOM_MEMBER ? ({\r\n id: firstOrg.organizationId,\r\n type: ACCZIOM_ORG,\r\n name: firstOrg.tradingName\r\n }) : ({\r\n id: firstMember.mid,\r\n type: ACCZIOM_CLIENT,\r\n name: getUserDisplayName(ui)\r\n }));\r\n const initWork = async (afterInit) => {\r\n initChatApi(firstMember.mid, dispatch);\r\n if (firstMember.type === ACCZIOM_MEMBER) loadTemplateList(firstOrg.organizationId, dispatch);\r\n loadWallet(firstMember.type === ACCZIOM_MEMBER ? { id: firstOrg.organizationId, type: ACCZIOM_ORG } : { id: ui.uid, type: ACCZIOM_USER }, dispatch);\r\n loadContact(firstMember.type === ACCZIOM_MEMBER ? firstOrg.organizationId : ui.uid, dispatch);\r\n if (firstMember.tids.length > 0) {\r\n const firstTeamId = (firstMember.tids)[0];\r\n const currentTeamId = firstMember.tids.find((t) => t === teamId) ?? firstTeamId;\r\n dispatch(setActiveTeamId(currentTeamId));\r\n loadApprising(firstOrg.organizationId, currentTeamId);\r\n lambdaGetFeedback(firstOrg.organizationId).then((feedRes) => {\r\n dispatch(loadFeedback(feedRes.feedback, feedRes.feedbackConnection));\r\n });\r\n wsTeamConnect({\r\n id: currentTeamId,\r\n type: ACCZIOM_TEAM,\r\n name: currentTeamId\r\n });\r\n } else {\r\n dispatch(setActiveTeamId(null));\r\n loadApprising(firstMember.type === ACCZIOM_MEMBER ? firstOrg.organizationId : firstMember.mid, null);\r\n lambdaGetFeedback(firstMember.type === ACCZIOM_MEMBER ? firstOrg.organizationId : firstMember.mid).then((feedRes) => {\r\n dispatch(loadFeedback(feedRes.feedback, feedRes.feedbackConnection));\r\n });\r\n }\r\n if (firstOrg.banner) {\r\n lambdaGetOrgBannerUrl(firstOrg.banner)\r\n .then((bannerUrl) => {\r\n fetchUrl(bannerUrl)\r\n .then((localUrl) => {\r\n dispatch(setBannerUrl(localUrl));\r\n })\r\n .catch((err) => { console.log(JSON.stringify(err)); });\r\n })\r\n .catch((err) => { console.log(JSON.stringify(err)); });\r\n }\r\n const curOrg = await lambdaGetOrgStructure(firstOrg.organizationId);\r\n const { members: curMembers, roles: curOrgRoles, teams: curTeams, userMinInfos: orgUserMinInfos } = curOrg;\r\n const curRoles = [];\r\n curOrgRoles.forEach((item) => {\r\n curRoles.push({\r\n rid: item.rid,\r\n oid: item.oid,\r\n name: item.name,\r\n level: item.level,\r\n department: JSON.parse(item.department),\r\n assignment: JSON.parse(item.assignment),\r\n production: JSON.parse(item.production),\r\n transaction: JSON.parse(item.transaction),\r\n createdAt: item.createdAt,\r\n updatedAt: item.updatedAt\r\n });\r\n });\r\n dispatch(setCurOrgStructure(curMembers, curRoles, curTeams, orgUserMinInfos));\r\n dispatch(setActiveOrgId(firstOrg.organizationId));\r\n dispatch(setLoadingStatus(LoadingStatus.COMPLETED));\r\n isLoading = false;\r\n afterInit();\r\n };\r\n if (requestDraft) {\r\n requestDraft = {\r\n ...requestDraft,\r\n demander: {\r\n id: firstMember.type === ACCZIOM_CLIENT ? firstMember.mid : firstOrg.organizationId,\r\n type: firstMember.type === ACCZIOM_CLIENT ? ACCZIOM_CLIENT : ACCZIOM_ORG\r\n },\r\n demanderAgent: [{\r\n id: firstMember.type === ACCZIOM_CLIENT ? firstMember.mid : '',\r\n type: firstMember.type === ACCZIOM_CLIENT ? ACCZIOM_CLIENT : ACCZIOM_NONE\r\n }],\r\n demanderSignCount: firstMember.type === ACCZIOM_CLIENT ? 1 : firstOrg.signerCount\r\n };\r\n lambdaCreateRequest(requestDraft)\r\n .then((createdReq) => {\r\n initWork(() => {\r\n dispatch(setRequestedLocation(`/deal/purchase/${requestDraft.reqType === MICROSERVICE_BUNDLE ? 'service-bundle' : 'service'}/${createdReq.uid}`));\r\n });\r\n })\r\n .catch((e) => {\r\n console.log('Create ticket error : ', JSON.stringify(e));\r\n dispatch(setActiveOrgId(null));\r\n dispatch(setLoadingStatus(LoadingStatus.NONE));\r\n logout();\r\n toast.error('Failed to create ticket!');\r\n isLoading = false;\r\n });\r\n } else {\r\n initWork(() => {});\r\n }\r\n }\r\n }\r\n } else {\r\n console.log('No organizations found.');\r\n dispatch(setActiveOrgId(null));\r\n dispatch(setLoadingStatus(LoadingStatus.NONE));\r\n logout();\r\n toast.error('You should join in at least one Organization, Please try join in Organization first.');\r\n isLoading = false;\r\n }\r\n } else {\r\n console.log('User not exists.');\r\n dispatch(setActiveOrgId(null));\r\n dispatch(setLoadingStatus(LoadingStatus.NONE));\r\n logout();\r\n toast.error('Error occurred while initializing. Please try login again.');\r\n isLoading = false;\r\n }\r\n })\r\n .catch((e) => {\r\n console.log('User not exists.', e);\r\n dispatch(setActiveOrgId(null));\r\n dispatch(setLoadingStatus(LoadingStatus.NONE));\r\n logout();\r\n toast.error('Failed to get user information!');\r\n isLoading = false;\r\n });\r\n};\r\n\r\nexport default initialLoad;\r\n","import {\r\n ACCZIOM_NONE,\r\n TRADE_CONTRACT,\r\n NONE_TYPE_ITEM,\r\n STATUS_NORMAL,\r\n NOT_REQUIRED_PO,\r\n REQUIRED_PO,\r\n COMPOUND_INTEREST_TYPE,\r\n FROM_NONE,\r\n FROM_PROPOSAL,\r\n FROM_REQUEST,\r\n UPFRONT_PAYMENT,\r\n REQUEST_ONE_OFF,\r\n LENGTH_YEAR,\r\n LENGTH_MONTH,\r\n SCHEDULE_OFF,\r\n CONTRACT_MODE,\r\n DELIVERY_MODE,\r\n DAY_MILISECONDS,\r\n PAY_CREDIT_CARD,\r\n PAY_STRIPE,\r\n STATUS_TEXT_SUBMITTED,\r\n LENGTH_DAY,\r\n STATUS_TEXT_POSTED,\r\n MICROSERVICE_BUNDLE\r\n} from 'src/globals';\r\nimport { Contract, Proposal, DeliveryContract, DeliveryItem, PaymentContract, PaymentItem, InterestOption, TaxOption, Invoice } from 'src/../../Common/Model/procurement';\r\nimport { Request } from 'src/../../Common/Model/request';\r\nimport { v4 as uuidv4 } from 'uuid';\r\nimport { MdInfoOutline, MdLocalShipping } from 'react-icons/md';\r\nimport { RiMoneyDollarBoxLine } from 'react-icons/ri';\r\nimport { getFormatedPeriodInfo, getPeriodicalDatesByCount, getTimeMovedByDuration } from 'src/utils/getPeriodOffsetDays';\r\nimport { PurchaseItem, DeliveredItem } from 'src/../../Common/Model/purchaseItem';\r\nimport { getSchedulesByGenerator } from './scheduleUtils';\r\nimport { lambdaGetSignature, lambdaGetWalletAddress } from 'src/aws/lambdaDispatch';\r\nimport { convert2Array } from '../agentUtils';\r\n\r\nconst emptyInterest = {\r\n rate: 0,\r\n period: LENGTH_YEAR,\r\n type: COMPOUND_INTEREST_TYPE\r\n} as InterestOption;\r\n\r\nconst tt = new Date();\r\nconst emptyContract: Contract = {\r\n id: '',\r\n generator: FROM_NONE,\r\n material: '',\r\n description: '',\r\n validFrom: new Date(Math.floor(tt.getTime() / 1000) * 1000).toISOString(),\r\n validTo: new Date(Math.floor(tt.getTime() / 1000) * 1000).toISOString(),\r\n itemBriefs: {\r\n id: '',\r\n type: NONE_TYPE_ITEM,\r\n title: '',\r\n description: '',\r\n category: '',\r\n costDescription: '',\r\n payments: {}\r\n },\r\n delivery: [{\r\n itemId: '',\r\n itemTitle: '',\r\n itemDescription: '',\r\n itemLife: { length: 1, type: LENGTH_MONTH },\r\n itemStatus: STATUS_NORMAL,\r\n itemType: NONE_TYPE_ITEM,\r\n itemCollected: {},\r\n itemCategory: '',\r\n itemPeriod: { type: REQUEST_ONE_OFF, offset: 0, offsetType: LENGTH_DAY },\r\n requirePO: NOT_REQUIRED_PO,\r\n volumes: ['1'],\r\n prices: ['1']\r\n } as DeliveryContract],\r\n payment: [{\r\n costPrincipal: 1,\r\n costInterest: emptyInterest,\r\n costTax: {\r\n gstRate: 10\r\n } as TaxOption,\r\n costOther: [],\r\n paymentOption: UPFRONT_PAYMENT,\r\n paymentInitialAmount: 100,\r\n paymentInitialOffset: 0,\r\n paymentFinalPeriod: 1,\r\n paymentFinalOffset: 0,\r\n paymentInvoiceOffset: 1,\r\n paymentInterestLate: emptyInterest,\r\n paymentMethod: PAY_CREDIT_CARD,\r\n paymentTool: PAY_STRIPE,\r\n paymentCurrency: 'AUD'\r\n } as PaymentContract],\r\n customer: { id: '', type: ACCZIOM_NONE },\r\n customerAgent: [{ id: '', type: ACCZIOM_NONE }],\r\n customer_sign: '',\r\n customerSignedAt: '',\r\n supplier: { id: '', type: ACCZIOM_NONE },\r\n supplierAgent: [{ id: '', type: ACCZIOM_NONE }],\r\n supplier_sign: '',\r\n supplierSignedAt: '',\r\n status: STATUS_TEXT_SUBMITTED,\r\n type: TRADE_CONTRACT,\r\n publishStatus: '',\r\n chatId: '',\r\n scheduled: SCHEDULE_OFF,\r\n txHash: ''\r\n};\r\n\r\nexport const getInitializedContract = (fromProposal: Proposal, fromRequest: Request, fiatCurrency?: string): Contract => {\r\n if (fromProposal) {\r\n const initializedContract: Contract = {\r\n ...emptyContract,\r\n generator: FROM_PROPOSAL,\r\n material: fromProposal.material,\r\n description: fromProposal.description,\r\n delivery: [{\r\n ...emptyContract.delivery[0],\r\n itemTitle: fromProposal.material,\r\n itemDescription: fromProposal.description,\r\n requirePO: REQUIRED_PO,\r\n volumes: fromProposal.volumes,\r\n prices: fromProposal.prices\r\n } as DeliveryContract],\r\n customer: fromProposal.customer,\r\n customerAgent: convert2Array(fromProposal.customerAgent),\r\n supplier: fromProposal.supplier,\r\n supplierAgent: convert2Array(fromProposal.supplierAgent),\r\n chatId: fromProposal.chatId\r\n };\r\n return initializedContract;\r\n }\r\n if (fromRequest) {\r\n const { title: reqTitle, detail, demander, demanderAgent, supplier, supplierAgent, conversation, reqType, material, priceDescription } = fromRequest;\r\n const deliveryContracts: DeliveryContract[] = [];\r\n const paymentContracts: PaymentContract[] = [];\r\n const { cost: totalCost, payments, period, duration } = material;\r\n const { paymentOption, interest, gst, invoiceOffset, paymentMethod, paymentTool, paymentCurrency, modifications } = payments;\r\n const { type: payType, initialAmount, initialOffset, finalPeriod, finalOffset } = paymentOption;\r\n let gstRate = 0;\r\n if (gst) gstRate = gst.rate;\r\n paymentContracts.push({\r\n ...emptyContract.payment[0],\r\n costPrincipal: totalCost,\r\n costInterest: emptyInterest,\r\n costTax: {\r\n gstRate\r\n } as TaxOption,\r\n costOther: modifications,\r\n paymentOption: payType,\r\n paymentInitialAmount: initialAmount,\r\n paymentInitialOffset: initialOffset,\r\n paymentFinalPeriod: finalPeriod,\r\n paymentFinalOffset: finalOffset,\r\n paymentInvoiceOffset: !invoiceOffset ? 0 : invoiceOffset,\r\n paymentInterestLate: interest ? ({\r\n rate: interest.rate,\r\n period: interest.rateType,\r\n type: interest.type\r\n } as InterestOption) : emptyInterest,\r\n paymentMethod,\r\n paymentTool,\r\n paymentCurrency\r\n } as PaymentContract);\r\n detail.forEach((item) => {\r\n const {\r\n id: itemId,\r\n title: itemTitle,\r\n description: itemDescription,\r\n duration: itemLife,\r\n type: itemType,\r\n collected: itemCollected,\r\n quantity: itemQuantity,\r\n cost: itemCost,\r\n period: itemPeriod,\r\n category: itemCategory\r\n } = item;\r\n deliveryContracts.push({\r\n ...emptyContract.delivery[0],\r\n itemId,\r\n itemTitle,\r\n itemDescription,\r\n itemLife,\r\n itemType,\r\n itemCollected,\r\n itemCategory,\r\n itemPeriod,\r\n requirePO: NOT_REQUIRED_PO,\r\n volumes: [`${itemQuantity}`],\r\n prices: [`${itemCost}`]\r\n } as DeliveryContract);\r\n });\r\n const { startDate: validFrom, endDate: validTo } = getFormatedPeriodInfo(period, duration);\r\n let itemTitles = '';\r\n if (reqType === MICROSERVICE_BUNDLE) {\r\n itemTitles = `
${itemTitles}The bundle consists of the following services:
`;\r\n itemTitles = `${itemTitles}
  • ${detail.map((item) => item.title).join('
  • ')}
`;\r\n }\r\n const initializedContract = {\r\n ...emptyContract,\r\n generator: FROM_REQUEST,\r\n material: reqTitle,\r\n description: `${material.description}${itemTitles}`,\r\n validFrom,\r\n validTo,\r\n itemBriefs: {\r\n id: material.id,\r\n cost: material.cost,\r\n title: material.title,\r\n period: material.period,\r\n category: material.category,\r\n duration: material.duration,\r\n payments: material.payments,\r\n quantity: material.quantity,\r\n description: material.description,\r\n costDescription: priceDescription,\r\n type: reqType\r\n },\r\n delivery: deliveryContracts,\r\n payment: paymentContracts,\r\n customer: demander,\r\n customerAgent: convert2Array(demanderAgent),\r\n supplier,\r\n supplierAgent: convert2Array(supplierAgent),\r\n chatId: conversation\r\n };\r\n return initializedContract;\r\n }\r\n return {\r\n ...emptyContract,\r\n payment: [{\r\n ...emptyContract.payment[0],\r\n paymentCurrency: fiatCurrency\r\n } as PaymentContract]\r\n };\r\n};\r\n\r\nexport const CREATE_CONTRACT_STEPS = [\r\n {\r\n label: 'Main Information',\r\n Icon: MdInfoOutline\r\n },\r\n {\r\n label: 'Delivery Contract',\r\n Icon: MdLocalShipping\r\n },\r\n {\r\n label: 'Payment Contract',\r\n Icon: RiMoneyDollarBoxLine\r\n }\r\n];\r\n\r\nexport const CONTRACT_INFO_STEP = 0;\r\nexport const DELIVERY_CONTRACT_STEP = 1;\r\nexport const PAYMENT_CONTRACT_STEP = 2;\r\n\r\nexport const createPurchaseItemAfterContractSign = (signedBody: Contract): PurchaseItem => {\r\n const { itemBriefs, validFrom, validTo } = signedBody;\r\n const { period, duration } = itemBriefs;\r\n const bundlePeriodicalDates: { startDate: Date | string, endDate: Date | string }[] = [];\r\n if (period.type === REQUEST_ONE_OFF) {\r\n bundlePeriodicalDates.push({\r\n startDate: validFrom,\r\n endDate: validTo\r\n });\r\n } else {\r\n const bundleStartDates = getPeriodicalDatesByCount(validFrom, validTo, period.per, period.count);\r\n bundleStartDates.forEach((startDate) => {\r\n bundlePeriodicalDates.push({\r\n startDate,\r\n endDate: getTimeMovedByDuration(new Date(startDate), duration).toISOString()\r\n });\r\n });\r\n }\r\n const purchaseItem: PurchaseItem = {\r\n id: uuidv4(),\r\n contractId: signedBody.id,\r\n itemId: signedBody.itemBriefs?.id,\r\n itemType: signedBody.itemBriefs?.type,\r\n itemTitle: signedBody.itemBriefs?.title,\r\n itemDescription: signedBody.itemBriefs?.description,\r\n itemCategory: signedBody.itemBriefs?.category,\r\n delivery: signedBody.delivery.filter((deliveryContract) => deliveryContract.requirePO !== REQUIRED_PO).map((deliveryContract) => {\r\n const deliveryDueDates = [];\r\n const { itemPeriod } = deliveryContract;\r\n bundlePeriodicalDates.forEach(({ startDate, endDate }) => {\r\n const itemStartDate = getTimeMovedByDuration(new Date(startDate), { length: itemPeriod.offset, type: itemPeriod.offsetType }).toISOString();\r\n if (itemPeriod.type === REQUEST_ONE_OFF) {\r\n deliveryDueDates.push(itemStartDate);\r\n } else {\r\n deliveryDueDates.push(...getPeriodicalDatesByCount(itemStartDate, endDate, itemPeriod.per, itemPeriod.count));\r\n }\r\n });\r\n return ({\r\n id: deliveryContract.itemId,\r\n title: deliveryContract.itemTitle,\r\n description: deliveryContract.itemDescription,\r\n life: deliveryContract.itemLife,\r\n status: deliveryContract.itemStatus,\r\n type: deliveryContract.itemType,\r\n collected: deliveryContract.itemCollected,\r\n quantity: Array(deliveryDueDates.length).fill((parseFloat(deliveryContract.volumes[0]) * bundlePeriodicalDates.length) / deliveryDueDates.length),\r\n miniInvoices: [],\r\n dueDates: deliveryDueDates\r\n } as DeliveredItem);\r\n }),\r\n supplier: signedBody.supplier,\r\n supplierAgent: convert2Array(signedBody.supplierAgent),\r\n customer: signedBody.customer,\r\n customerAgent: convert2Array(signedBody.customerAgent),\r\n validFrom: signedBody.validFrom,\r\n validTo: signedBody.validTo\r\n };\r\n return purchaseItem;\r\n};\r\n\r\nexport const handleGenerateInvoices = async (fromContract: Contract): Promise => {\r\n const supplierWalletAddr = await lambdaGetWalletAddress(fromContract.supplier);\r\n const { deliverySchedules, paymentSchedules } = getSchedulesByGenerator(CONTRACT_MODE, fromContract);\r\n const schedules = [...deliverySchedules, ...paymentSchedules];\r\n const invoices = [];\r\n const promises = [];\r\n const now = new Date().toISOString();\r\n schedules.forEach((schedule) => {\r\n const metadataInvoice = {\r\n contractId: fromContract.id,\r\n poId: '',\r\n scheduleId: '',\r\n title: schedule.type === DELIVERY_MODE ? (schedule.material as DeliveryItem).title : fromContract.material,\r\n description: schedule.type === DELIVERY_MODE ? (schedule.material as DeliveryItem).description : fromContract.description,\r\n dueDate: schedule.type === DELIVERY_MODE ? schedule.dueDate : new Date(new Date(schedule.dueDate).getTime() + (schedule.material as PaymentItem).invoiceOffset * DAY_MILISECONDS).toISOString(),\r\n invoiceDate: schedule.dueDate,\r\n material: schedule.material,\r\n customer: schedule.customer,\r\n supplier: schedule.supplier,\r\n type: schedule.type\r\n };\r\n if (schedule.type === DELIVERY_MODE) {\r\n const messageInvoice = JSON.stringify(metadataInvoice);\r\n promises.push(lambdaGetSignature(messageInvoice, supplierWalletAddr)\r\n .then((invoiceSupplierSignature) => {\r\n invoices.push({\r\n ...metadataInvoice,\r\n id: uuidv4(),\r\n customerAgent: convert2Array(schedule.customerAgent),\r\n customer_sign: '',\r\n customerSignedAt: null,\r\n supplierAgent: convert2Array(schedule.supplierAgent),\r\n supplier_sign: invoiceSupplierSignature,\r\n supplierSignedAt: now,\r\n status: STATUS_TEXT_POSTED,\r\n scheduled: fromContract.scheduled\r\n } as Invoice);\r\n }));\r\n } else {\r\n invoices.push({\r\n ...metadataInvoice,\r\n id: uuidv4(),\r\n customerAgent: convert2Array(schedule.customerAgent),\r\n customer_sign: '',\r\n customerSignedAt: null,\r\n supplierAgent: convert2Array(schedule.supplierAgent),\r\n supplier_sign: '',\r\n supplierSignedAt: null,\r\n status: STATUS_TEXT_POSTED,\r\n scheduled: fromContract.scheduled\r\n } as Invoice);\r\n }\r\n });\r\n await Promise.all(promises);\r\n return invoices;\r\n};\r\n\r\nexport const handleGenerateInvoicesWithHash = (fromContract: Contract): Invoice[] => {\r\n const { deliverySchedules, paymentSchedules, referralSchedules } = getSchedulesByGenerator(CONTRACT_MODE, fromContract);\r\n const schedules = [...deliverySchedules, ...paymentSchedules, ...referralSchedules];\r\n const invoices = [];\r\n const now = new Date().toISOString();\r\n schedules.forEach((schedule) => {\r\n const metadataInvoice = {\r\n contractId: fromContract.id,\r\n poId: '',\r\n scheduleId: '',\r\n title: schedule.type === DELIVERY_MODE ? (schedule.material as DeliveryItem).title : fromContract.material,\r\n description: schedule.type === DELIVERY_MODE ? (schedule.material as DeliveryItem).description : fromContract.description,\r\n dueDate: schedule.type === DELIVERY_MODE ? schedule.dueDate : new Date(new Date(schedule.dueDate).getTime() + (schedule.material as PaymentItem).invoiceOffset * DAY_MILISECONDS).toISOString(),\r\n invoiceDate: schedule.dueDate,\r\n material: schedule.material,\r\n customer: schedule.customer,\r\n supplier: schedule.supplier,\r\n type: schedule.type\r\n };\r\n if (schedule.type === DELIVERY_MODE) {\r\n const messageInvoice = JSON.stringify(metadataInvoice);\r\n invoices.push({\r\n ...metadataInvoice,\r\n id: uuidv4(),\r\n customerAgent: convert2Array(schedule.customerAgent),\r\n customer_sign: '',\r\n customerSignedAt: null,\r\n supplierAgent: convert2Array(schedule.supplierAgent),\r\n supplier_sign: messageInvoice,\r\n supplierSignedAt: now,\r\n status: STATUS_TEXT_POSTED,\r\n scheduled: fromContract.scheduled\r\n } as Invoice);\r\n } else {\r\n invoices.push({\r\n ...metadataInvoice,\r\n id: uuidv4(),\r\n customerAgent: convert2Array(schedule.customerAgent),\r\n customer_sign: '',\r\n customerSignedAt: null,\r\n supplierAgent: convert2Array(schedule.supplierAgent),\r\n supplier_sign: '',\r\n supplierSignedAt: null,\r\n status: STATUS_TEXT_POSTED,\r\n scheduled: fromContract.scheduled\r\n } as Invoice);\r\n }\r\n });\r\n return invoices;\r\n};\r\n","import { FC, useState } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport InfoIcon from '@mui/icons-material/Info';\r\nimport Popover from '@mui/material/Popover';\r\nimport { Box, IconButton, SvgIcon } from '@material-ui/core';\r\n\r\nconst PopupTooltip: FC<{ children: any; size?: number; icon?: any }> = ({ children, size, icon: Icon, ...others }) => {\r\n const [anchorEl, setAnchorEl] = useState(null);\r\n\r\n const handleClick = (event: React.MouseEvent) => {\r\n event.stopPropagation();\r\n setAnchorEl(event.currentTarget);\r\n };\r\n\r\n const handleClose = (event: React.MouseEvent) => {\r\n event.stopPropagation();\r\n setAnchorEl(null);\r\n };\r\n\r\n const open = Boolean(anchorEl);\r\n\r\n return (\r\n \r\n \r\n {!Icon ? (\r\n \r\n ) : (\r\n \r\n \r\n \r\n )}\r\n \r\n \r\n \r\n {children}\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nPopupTooltip.propTypes = {\r\n children: PropTypes.any,\r\n size: PropTypes.number,\r\n icon: PropTypes.any\r\n};\r\n\r\nexport default PopupTooltip;\r\n","import { createSlice } from '@reduxjs/toolkit';\r\nimport type { PayloadAction } from '@reduxjs/toolkit';\r\nimport type { AppThunk } from 'src/store';\r\nimport type { Share } from 'src/../../Common/Model/share';\r\n\r\ninterface ShareState {\r\n shares: Share[];\r\n}\r\n\r\nconst initialState: ShareState = {\r\n shares: []\r\n};\r\n\r\nconst slice = createSlice({\r\n name: 'share',\r\n initialState,\r\n reducers: {\r\n clearState(state: ShareState) {\r\n state.shares = [];\r\n },\r\n loadShares(state: ShareState, action: PayloadAction<{ shares: Share[]; }>) {\r\n const { shares } = action.payload;\r\n shares.forEach((share) => {\r\n if (!state.shares.some((old) => old.id === share.id)) {\r\n state.shares.push(share);\r\n }\r\n });\r\n },\r\n deleteShares(state: ShareState, action: PayloadAction<{ ids: string[]; }>) {\r\n const { ids } = action.payload;\r\n state.shares = state.shares.filter((share) => !ids.includes(share.id));\r\n },\r\n updateShares(state: ShareState, action: PayloadAction<{ shares: Share[]; removedIds: string[]; }>) {\r\n const { shares, removedIds } = action.payload;\r\n const newShares = state.shares.filter((share) => !removedIds.includes(share.id));\r\n shares.forEach((share) => {\r\n if (!newShares.some((old) => old.id === share.id)) {\r\n newShares.push(share);\r\n }\r\n });\r\n state.shares = newShares;\r\n },\r\n updateShare(state: ShareState, action: PayloadAction<{ id: string, body: any; }>) {\r\n const { id, body } = action.payload;\r\n state.shares.forEach((share) => {\r\n if (share.id === id) {\r\n Object.keys(body).forEach((key) => {\r\n share[key] = body[key];\r\n });\r\n }\r\n });\r\n }\r\n }\r\n});\r\n\r\nexport const { reducer } = slice;\r\n\r\nexport const clearShareState = (): AppThunk => async (dispatch) => {\r\n dispatch(slice.actions.clearState());\r\n};\r\n\r\nexport const loadShares = (shares: Share[]): AppThunk => async (dispatch) => {\r\n dispatch(slice.actions.loadShares({ shares }));\r\n};\r\n\r\nexport const deleteShares = (ids: string[]): AppThunk => async (dispatch) => {\r\n dispatch(slice.actions.deleteShares({ ids }));\r\n};\r\n\r\nexport const updateShares = (shares: Share[], removedIds: string[]): AppThunk => async (dispatch) => {\r\n dispatch(slice.actions.updateShares({ shares, removedIds }));\r\n};\r\n\r\nexport const updateShare = (id: string, body: any): AppThunk => async (dispatch) => {\r\n dispatch(slice.actions.updateShare({ id, body }));\r\n};\r\n\r\nexport default slice;\r\n","import { Auth } from 'aws-amplify';\r\nimport Lambda from 'aws-sdk/clients/lambda';\r\nimport { AWS_REGION } from 'src/config';\r\nimport { addCallApiCount } from 'src/slices/user';\r\nimport gstore from 'src/store';\r\n\r\ninterface AWSLambdaCallParameters {\r\n FunctionName: string,\r\n InvocationType: string,\r\n Payload?: string\r\n}\r\n\r\nexport const callLambda = async (fn: string, req?: any): Promise => Auth.currentCredentials()\r\n .then((cred) => new Promise((resolve, reject) => {\r\n const lambda = new Lambda({\r\n region: AWS_REGION,\r\n apiVersion: '2015-03-31',\r\n credentials: cred\r\n });\r\n const callParams: AWSLambdaCallParameters = {\r\n FunctionName: fn,\r\n InvocationType: 'RequestResponse'\r\n };\r\n const reqWithCred = {\r\n ...(!req ? {} : req),\r\n _orgId: gstore.getState().organization.activeOrgId\r\n };\r\n callParams.Payload = JSON.stringify(reqWithCred);\r\n lambda.invoke(callParams).promise()\r\n .then((res) => {\r\n const payload = JSON.parse(res.Payload as string);\r\n resolve(payload);\r\n })\r\n .catch((err) => reject(err));\r\n }))\r\n .catch(() => null);\r\n\r\nexport const lambdaRun = (fn: string, req?: any, notAdd?: boolean): Promise => new Promise((resolve, reject) => {\r\n if (!notAdd) gstore.dispatch(addCallApiCount());\r\n callLambda(fn, req)\r\n .then((data) => {\r\n if (!data || data.errorType === undefined) {\r\n resolve(data);\r\n } else {\r\n reject(new Error(`Failed with reject error: ${JSON.stringify(data.errorMessage)} for ${fn} by ${JSON.stringify(req)}`));\r\n }\r\n })\r\n .catch((err) => {\r\n console.error('lambda catch error:', fn, req.method);\r\n reject(new Error(`Failed with catch error: ${JSON.stringify(err)} for ${fn} by ${JSON.stringify(req)}`));\r\n });\r\n});\r\n","import * as LAMBDA_FN from 'src/../../Backend/constants.json';\r\nimport { lambdaRun } from './lambdaCall';\r\nimport { Microservice } from 'src/../../Common/Model/microservice';\r\n\r\nexport const lambdaPutUserInfo = (_uid: string, _body: any) : Promise => (\r\n lambdaRun(LAMBDA_FN.FN_USER_DISPATCH, { method: 'PUT', uid: _uid, body: _body })\r\n);\r\n\r\nexport const lambdaPutUserInfoForFillup = (_uid: string, _body: any, email: string) : Promise => (\r\n lambdaRun(LAMBDA_FN.FN_USER_DISPATCH, { method: 'PUT_FOR_FILLUP', uid: _uid, body: _body, email })\r\n);\r\n\r\nexport const lambdaPutAvatar = (_uid: string, image: string): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_USER_DISPATCH, { method: 'PUT_AVATAR', uid: _uid, body: image })\r\n);\r\n\r\nexport const lambdaGetUserInfo = (_uid: string) : Promise => (\r\n lambdaRun(LAMBDA_FN.FN_USER_DISPATCH, { method: 'GET', uid: _uid })\r\n);\r\n\r\nexport const lambdaInitialLoad = (_uid: string) : Promise => (\r\n lambdaRun(LAMBDA_FN.FN_USER_DISPATCH, { method: 'INITIAL_LOAD', uid: _uid })\r\n);\r\n\r\nexport const lambdaGetUserInfoByEmail = (_email: string) : Promise => (\r\n lambdaRun(LAMBDA_FN.FN_USER_DISPATCH, { method: 'GET_BY_EMAIL', email: _email })\r\n);\r\n\r\nexport const lambdaGetUserInfoByMemberId = (mid: string) : Promise => (\r\n lambdaRun(LAMBDA_FN.FN_USER_DISPATCH, { method: 'GET_BY_MEMBER_ID', mid })\r\n);\r\n\r\nexport const lambdaSearchUserByField = (_query: string, _fieldName: string) : Promise => (\r\n lambdaRun(LAMBDA_FN.FN_USER_DISPATCH, { method: 'SEARCH_BY_FIELD', query: _query, fieldName: _fieldName })\r\n);\r\n\r\nexport const lambdaGetLinkedIdentities = (email: string) : Promise => (\r\n lambdaRun(LAMBDA_FN.FN_USER_DISPATCH, { method: 'GET_LINKED_IDENTITIES', email })\r\n);\r\n\r\nexport const lambdaGetTwilioToken = (_uid: string, notAdd?: boolean): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_TWILIO_REQUEST_TOKEN, { method: 'GET_TOKEN', uid: _uid }, notAdd)\r\n);\r\n\r\nexport const lambdaAddServiceParticipants = (_sid: string, _identities: any[]): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_TWILIO_REQUEST_TOKEN, { method: 'ADD_SERVICE_PARTICIPANTS', sid: _sid, identities: _identities })\r\n);\r\n\r\nexport const lambdaGetAttachmentFileUploadUrl = (uid: string): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_ATTACHMENT_DISPATCH, { method: 'GET_UP_URL', uid })\r\n);\r\n\r\nexport const lambdaGetAttachmentFileDownloadUrl = (_uid: string): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_ATTACHMENT_DISPATCH, { method: 'GET_URL', uid: _uid })\r\n);\r\n\r\nexport const lambdaCreateNewContact = (contact: any): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_CONTACT_DISPATCH, { method: 'CREATE', body: contact })\r\n);\r\n\r\nexport const lambdaUpdateContact = (contact: any): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_CONTACT_DISPATCH, { method: 'UPDATE', body: contact })\r\n);\r\n\r\nexport const lambdaDeleteContact = (contactInfo: any): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_CONTACT_DISPATCH, { method: 'DELETE', body: contactInfo })\r\n);\r\n\r\nexport const lambdaLoadAllContacts = (_uid: string): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_CONTACT_DISPATCH, { method: 'LOAD_ALL', uid: _uid })\r\n);\r\n\r\nexport const lambdaLoadContactsWithPagination = (_uid: string, page: number, limit: number, query: string, isIndividual: string): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_CONTACT_DISPATCH, { method: 'LOAD_WITH_PAGINATION', uid: _uid, page, limit, query, isIndividual })\r\n);\r\n\r\nexport const lambdaSearchMicroservicesByQuery = (query: string, userId: string, itemTypes: number[], itemRange: number, idMode: boolean): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_MICROSERVICE_DISPATCH, { method: 'SEARCH_BY_QUERY', query, userId, itemTypes, itemRange, idMode })\r\n);\r\n\r\nexport const lambdaGetMicroservicesPublished = (ownerId: string, offset: number, oids: string[], query: string, categories: string[]): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_MICROSERVICE_DISPATCH, { method: 'GET', ownerId, offset, oids, query, categories })\r\n);\r\n\r\nexport const lambdaGetMicroservicesOfPartner = (creatorId: string): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_MICROSERVICE_DISPATCH, { method: 'GET_FROM_PARTNER', creatorId })\r\n);\r\n\r\nexport const lambdaGetServicesOfBundle = (bundle: any): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_MICROSERVICE_DISPATCH, { method: 'GET_SERVICES_OF_BUNDLE', bundle })\r\n);\r\n\r\nexport const lambdaGetMicroservicesByCreator = (creatorId: string): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_MICROSERVICE_DISPATCH, { method: 'GET_BY_CREATOR', creatorId })\r\n);\r\n\r\nexport const lambdaGetMicroservicesRelated = (ownerId: string): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_MICROSERVICE_DISPATCH, { method: 'GET_BY_RELATED', ownerId })\r\n);\r\n\r\nexport const lambdaGetMicroserviceById = (id: string, orgId: string): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_MICROSERVICE_DISPATCH, { method: 'GET_BY_ID', id, orgId })\r\n);\r\n\r\nexport const lambdaCreateMicroservice = (body: any): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_MICROSERVICE_DISPATCH, { method: 'CREATE', body })\r\n);\r\n\r\nexport const lambdaCreateMultiServices = (services: Microservice[]): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_MICROSERVICE_DISPATCH, { method: 'CREATE_MULTI', services })\r\n);\r\n\r\nexport const lambdaRemoveShares = (ids: string[]): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_MICROSERVICE_DISPATCH, { method: 'REMOVE_SHARE', ids })\r\n);\r\n\r\nexport const lambdaMicroserviceToReady = (id: string): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_MICROSERVICE_DISPATCH, { method: 'TO_READY', id })\r\n);\r\n\r\nexport const lambdaUpdateMicroservice = (body: any): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_MICROSERVICE_DISPATCH, { method: 'UPDATE', id: body.id, body })\r\n);\r\n\r\nexport const lambdaPublishMicroservice = (id: string): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_MICROSERVICE_DISPATCH, { method: 'PUBLISH', id })\r\n);\r\n\r\nexport const lambdaRemoveMicroservice = (id: string): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_MICROSERVICE_DISPATCH, { method: 'REMOVE', id })\r\n);\r\n\r\nexport const lambdaRemoveMicroserviceFromReq = (id: string): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_MICROSERVICE_DISPATCH, { method: 'REMOVE_FROM_REQ', id })\r\n);\r\n\r\nexport const lambdaGetMicroserviceForRequest = (id: string): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_MICROSERVICE_DISPATCH, { method: 'GET_MICROSERVICE_FOR_REQUEST', id })\r\n);\r\n\r\nexport const lambdaShareMicroservices = (ids: { id: string; type: number; }[], recipients: { id: string; type: number; }[], removedIds: string[], from: { id: string; type: number; }, fromAgent: { id: string; type: number; }[]): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_MICROSERVICE_DISPATCH, { method: 'SHARE', ids, recipients, removedIds, from, fromAgent })\r\n);\r\n\r\nexport const lambdaContactSyncDisconnect = (_uid: string, _platform: string): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_CONTACT_DISPATCH, { method: 'SYNC_DISCONNECT', uid: _uid, platform: _platform })\r\n);\r\n\r\nexport const lambdaGetAutoMappingInfo = (_uid: string, _platform: string): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_CONTACT_DISPATCH, { method: 'SYNC_PLATFORM', uid: _uid, platform: _platform })\r\n);\r\n\r\nexport const lambdaSyncContact = (mappings: any[], platform, userId): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_CONTACT_DISPATCH, { method: 'SYNC_SYNC', mappings, platform, userId })\r\n);\r\n\r\nexport const lambdaGetMappingInfoDetail = (rows: any[], _platform: string, query: string): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_CONTACT_DISPATCH, { method: 'SYNC_GET_MAPPINGINFO', rows, platform: _platform, query })\r\n);\r\n\r\nexport const lambdaSyncLodgeit = (_uid: string): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_CONTACT_DISPATCH, { method: 'SYNC_LODGEIT', uid: _uid })\r\n);\r\n\r\nexport const lambdaContactSyncDisable = (_uid: string, _platform: string): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_CONTACT_DISPATCH, { method: 'SYNC_DISABLE', uid: _uid, platform: _platform })\r\n);\r\n\r\nexport const lambdaContactSyncGetStatus = (_uid: string): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_CONTACT_DISPATCH, { method: 'SYNC_STATUS', uid: _uid })\r\n);\r\n\r\nexport const lambdaContactConnectGetStatus = (_uid: string): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_CONTACT_DISPATCH, { method: 'CONNECT_STATUS', uid: _uid })\r\n);\r\n\r\nexport const lambdaGetRFQRelated = (userId: string): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_RFQ_DISPATCH, { method: 'GET_BY_RELATED', userId })\r\n);\r\n\r\nexport const lambdaRemoveRFQ = (id: string): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_RFQ_DISPATCH, { method: 'REMOVE', id })\r\n);\r\n\r\nexport const lambdaUpdateRFQ = (id: string, rfq: any): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_RFQ_DISPATCH, { method: 'UPDATE', rfq, id })\r\n);\r\nexport const lambdaCreateRFQ = (rfq: any): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_RFQ_DISPATCH, { method: 'CREATE', rfq })\r\n);\r\n\r\nexport const lambdaGetApprising = (id: string): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_APPRISING_DISPATCH, { method: 'GET', id })\r\n);\r\n\r\nexport const lambdaCreateSimpleApprising = (info: any): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_APPRISING_DISPATCH, { method: 'CREATE_SIMPLE', info })\r\n);\r\n\r\nexport const lambdaCreateCheckApprising = (info: any): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_APPRISING_DISPATCH, { method: 'CREATE_CHECK', info })\r\n);\r\n\r\nexport const lambdaRemoveApprising = (id: any): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_APPRISING_DISPATCH, { method: 'REMOVE', id })\r\n);\r\n\r\nexport const lambdaApprisingMarkAsRemoved = (id: any): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_APPRISING_DISPATCH, { method: 'MARK_AS_REMOVED', id })\r\n);\r\n\r\nexport const lambdaGetApprisingDetails = (apprisings: any[]): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_APPRISING_DISPATCH, { method: 'DETAIL', apprisings })\r\n);\r\n\r\nexport const lambdaMakeAssignApprisings = (itemId: string, href: string, addedIds: string[], removedIds: string[]): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_APPRISING_DISPATCH, { method: 'ASSIGN', itemId, href, addedIds, removedIds })\r\n);\r\n\r\nexport const lambdaCreateProposal = (proposal: any): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_PROPOSAL_DISPATCH, { method: 'CREATE', proposal })\r\n);\r\n\r\nexport const lambdaUpdateProposal = (id: string, body: any): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_PROPOSAL_DISPATCH, { method: 'UPDATE', id, body })\r\n);\r\n\r\nexport const lambdaCloseRFQAndProposal = (contractId: string): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_PROPOSAL_DISPATCH, { method: 'CLOSE_FROM_CONTRACT', contractId })\r\n);\r\n\r\nexport const lambdaGetProposalbyRFQAndCustomer = (rfqId: string, customer: string): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_PROPOSAL_DISPATCH, { method: 'GET_BY_RFQ_AND_CUSTOMER', rfqId, customer })\r\n);\r\n\r\nexport const lambdaGetProposalbyRFQAndSupplier = (rfqId: string, supplier: string): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_PROPOSAL_DISPATCH, { method: 'GET_BY_RFQ_AND_SUPPLIER', rfqId, supplier })\r\n);\r\n\r\nexport const lambdaGetProposalFromChat = (convId: string): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_PROPOSAL_DISPATCH, { method: 'GET_FROM_CHAT', convId })\r\n);\r\n\r\nexport const lambdaRemoveChatFromProposal = (convId: string): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_PROPOSAL_DISPATCH, { method: 'REMOVE_CHAT', convId })\r\n);\r\n\r\nexport const lambdaRemoveContractFromProposal = (contractId: string): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_PROPOSAL_DISPATCH, { method: 'REMOVE_CONTRACT', contractId })\r\n);\r\n\r\nexport const lambdaCreateContract = (contract: any): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_CONTRACT_DISPATCH, { method: 'CREATE', contract })\r\n);\r\n\r\nexport const lambdaUpdateContract = (id: string, body: any): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_CONTRACT_DISPATCH, { method: 'UPDATE', id, body })\r\n);\r\n\r\nexport const lambdaCreateOrgFeeTicket = (request: any, contract: any): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_CONTRACT_DISPATCH, { method: 'CREATE_ORG_TICKET', request, contract })\r\n);\r\n\r\nexport const lambdaSignContractMerged = (contract: any, walletAddress: string, isCreate: boolean, isSupplier: boolean, ticketId: string, purchaseItem: any, invoices: any[]): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_CONTRACT_DISPATCH, { method: 'SIGN_CONTRACT_MERGED', contract, walletAddress, isCreate, isSupplier, ticketId, purchaseItem, invoices })\r\n);\r\n\r\nexport const lambdaSignTicket = (mid: string, oid: string, signType: number, ticket: any, walletOwner: any): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_CONTRACT_DISPATCH, { method: 'MEMBER_SIGN', mid, oid, signType, ticket, walletOwner })\r\n);\r\n\r\nexport const lambdaOrderAssetMerged = (reqBody, contract, customerWalletAddr, now, purchaseItem, invoices, demanderSigner): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_CONTRACT_DISPATCH, { method: 'ASSET_ORDER_MERGED', reqBody, contract, customerWalletAddr, now, purchaseItem, invoices, demanderSigner })\r\n);\r\n\r\nexport const lambdaRemoveContract = (id: string): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_CONTRACT_DISPATCH, { method: 'REMOVE', id })\r\n);\r\n\r\nexport const lambdaGetContractRelated = (userId: string): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_CONTRACT_DISPATCH, { method: 'GET_BY_RELATED', userId })\r\n);\r\n\r\nexport const lambdaGetContractbyId = (id: string): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_CONTRACT_DISPATCH, { method: 'GET_BY_ID', id })\r\n);\r\n\r\nexport const lambdaGetOnlyContractbyId = (id: string): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_CONTRACT_DISPATCH, { method: 'GET_CONTRACT_BY_ID', id })\r\n);\r\n\r\nexport const lambdaPublishContract = (contract: any): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_CONTRACT_DISPATCH, { method: 'PUBLISH_CONTRACT', contract })\r\n);\r\n\r\nexport const lambdaRemoveChatFromContract = (convId: string): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_CONTRACT_DISPATCH, { method: 'REMOVE_CHAT', convId })\r\n);\r\n\r\nexport const lambdaGetContractFromChat = (convId: string): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_CONTRACT_DISPATCH, { method: 'GET_FROM_CHAT', convId })\r\n);\r\n\r\nexport const lambdaGetSchedulesRelated = (userId: string): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_SCHEDULE_DISPATCH, { method: 'GET_BY_RELATED', userId })\r\n);\r\n\r\nexport const lambdaCreateSchedules = (schedules: any[]): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_SCHEDULE_DISPATCH, { method: 'CREATE', schedules })\r\n);\r\n\r\nexport const lambdaUpdateSchedules = (schedules: any[]): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_SCHEDULE_DISPATCH, { method: 'UPDATE', schedules })\r\n);\r\n\r\nexport const lambdaUpdateSchedulesWithCommonBody = (ids: string[], body: any): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_SCHEDULE_DISPATCH, { method: 'UPDATE_COMMON_BODY', ids, body })\r\n);\r\n\r\nexport const lambdaRemoveSchedule = (ids: string[]): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_SCHEDULE_DISPATCH, { method: 'REMOVE', ids })\r\n);\r\n\r\nexport const lambdaGetSchedulesFromContract = (contractId: string): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_SCHEDULE_DISPATCH, { method: 'GET_FROM_CONTRACT', contractId })\r\n);\r\n\r\nexport const lambdaCreateInvoice = (scheduleId: string, invoice: any): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_INVOICE_DISPATCH, { method: 'CREATE', scheduleId, invoice })\r\n);\r\n\r\nexport const lambdaCreateMultiInvoices = (invoices: any[]): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_INVOICE_DISPATCH, { method: 'CREATE_MULTI', invoices })\r\n);\r\n\r\nexport const lambdaSignInvoiceAfterPayMerged = (invoice: any, customerWallet: string, supplierWallet: string, signedAt: any): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_INVOICE_DISPATCH, { method: 'SIGN_INVOICE_MERGED', invoice, customerWallet, supplierWallet, signedAt })\r\n);\r\n\r\nexport const lambdaRemoveInvoice = (scheduleId: string, id: string): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_INVOICE_DISPATCH, { method: 'REMOVE', scheduleId, id })\r\n);\r\n\r\nexport const lambdaGetInvoiceRelated = (userId: string): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_INVOICE_DISPATCH, { method: 'GET_BY_RELATED', userId })\r\n);\r\n\r\nexport const lambdaGetInvoicebyId = (id: string): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_INVOICE_DISPATCH, { method: 'GET_BY_ID', id })\r\n);\r\n\r\nexport const lambdaPublishInvoice = (invoice: any): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_INVOICE_DISPATCH, { method: 'PUBLISH_INVOICE', invoice })\r\n);\r\n\r\nexport const lambdaUpdateInvoice = (id: string, body: any): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_INVOICE_DISPATCH, { method: 'UPDATE', id, body })\r\n);\r\n\r\nexport const lambdaUpdateMultiInvoices = (invoices: any[]): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_INVOICE_DISPATCH, { method: 'UPDATE_MULTI', invoices })\r\n);\r\n\r\nexport const lambdaGetInvoicesFromContract = (contractId: string): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_INVOICE_DISPATCH, { method: 'GET_FROM_CONTRACT', contractId })\r\n);\r\n\r\nexport const lambdaGetInvoiceMappingsByPublisher = (userId: string): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_INVOICE_DISPATCH, { method: 'GET_MAPPING_BY_PUBLISHER', userId })\r\n);\r\n\r\nexport const lambdaCreatePO = (po: any): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_PO_DISPATCH, { method: 'CREATE', po })\r\n);\r\n\r\nexport const lambdaRemovePO = (id: string): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_PO_DISPATCH, { method: 'REMOVE', id })\r\n);\r\n\r\nexport const lambdaGetPORelated = (userId: string): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_PO_DISPATCH, { method: 'GET_BY_RELATED', userId })\r\n);\r\n\r\nexport const lambdaUpdatePO = (id: string, body: any): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_PO_DISPATCH, { method: 'UPDATE', id, body })\r\n);\r\n\r\nexport const lambdaSupplierSignPO = (po: any): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_PO_DISPATCH, { method: 'SUPPLIER_SIGN', po })\r\n);\r\n\r\nexport const lambdaPublishReceiptFromPO = (po: any): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_PO_DISPATCH, { method: 'PUBLISH_RECEIPT', po })\r\n);\r\n\r\nexport const lambdaPublishPO = (po: any): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_PO_DISPATCH, { method: 'PUBLISH_PO', po })\r\n);\r\n\r\nexport const lambdaAddFeedback = (body: any, connectId: string): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_FEEDBACK_DISPATCH, { method: 'ADD', body, connectId })\r\n);\r\n\r\nexport const lambdaCreateFeedback = (body: any): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_FEEDBACK_DISPATCH, { method: 'CREATE', body })\r\n);\r\n\r\nexport const lambdaGetFeedback = (senderId: string): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_FEEDBACK_DISPATCH, { method: 'GET_BY_SENDER', senderId })\r\n);\r\n\r\nexport const lambdaMarkFeedbackAsRead = (id: string): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_FEEDBACK_DISPATCH, { method: 'MARK_AS_READ', id })\r\n);\r\n\r\nexport const lambdaSendRawFeedback = (emailParams: any, emailTransportAttachments: any[]): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_FEEDBACK_DISPATCH, { method: 'SEND_RAW', emailParams, emailTransportAttachments })\r\n);\r\n\r\nexport const lambdaFindAddress = (_query: string) : Promise => (\r\n lambdaRun(LAMBDA_FN.FN_ADDRESS_HELPER, { query: _query })\r\n);\r\n\r\nexport const lambdaCreateFilethread = (filethread: any): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_FILESHARE_DISPATCH, { method: 'THREAD_CREATE', filethread })\r\n);\r\n\r\nexport const lambdaUploadFileByIPFS = (buffer: any, filename: string): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_FILESHARE_DISPATCH, { method: 'IPFS_UPLOAD', buffer, filename })\r\n);\r\n\r\nexport const lambdaDownloadFileByIPFS = (hash: string): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_FILESHARE_DISPATCH, { method: 'IPFS_DOWNLOAD', hash })\r\n);\r\n\r\nexport const lambdaUpdateFilethread = (id: string, filethread: any): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_FILESHARE_DISPATCH, { method: 'THREAD_UPDATE', id, filethread })\r\n);\r\n\r\nexport const lambdaGetFileshareData = (id: string): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_FILESHARE_DISPATCH, { method: 'GET_DATA', id })\r\n);\r\n\r\nexport const lambdaGetFilethreadById = (id: string, userId: string): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_FILESHARE_DISPATCH, { method: 'THREAD_GET_BY_ID', id, userId })\r\n);\r\n\r\nexport const lambdaSignFilethread = (id: string, filethread: any, signer: string): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_FILESHARE_DISPATCH, { method: 'SIGN', id, filethread, signer })\r\n);\r\n\r\nexport const lambdaShareFilethread = (from: any, fromAgent: any, toUsers: any[], itemId: string): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_FILESHARE_DISPATCH, { method: 'SHARE', from, fromAgent, toUsers, itemId })\r\n);\r\n\r\nexport const lambdaAcceptInvitations = (mids: string[], uid: string = null, isCreateOrg: boolean): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_ORGANIZATION_DISPATCH, { method: 'ACCEPT_INVITATIONS', mids, uid, isCreateOrg })\r\n);\r\n\r\nexport const lambdaJoinAsClient = (userInfo: any, domain: string): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_ORGANIZATION_DISPATCH, { method: 'JOIN_AS_CLIENT', userInfo, domain })\r\n);\r\n\r\nexport const lambdaMakeLinkContact = (mid: string, contactId: string): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_ORGANIZATION_DISPATCH, { method: 'MAKE_LINK_CONTACT', mid, contactId })\r\n);\r\nexport const lambdaAcceptInvitationOnSingin = (organizationId: string, email: string, asMember: boolean): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_ORGANIZATION_DISPATCH, { method: 'ACCEPT_INVITATION_ON_SIGN_IN', organizationId, email, asMember })\r\n);\r\n\r\nexport const lambdaAcceptOrgInvitationOnSingin = (organizationId: string, email: string): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_ORGANIZATION_DISPATCH, { method: 'ACCEPT_ORG_INVITATION_ON_SIGN_IN', organizationId, email })\r\n);\r\n\r\nexport const lambdaGetPendingInvitations = (email: string): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_ORGANIZATION_DISPATCH, { method: 'GET_PENDING_INVITATIONS', email })\r\n);\r\n\r\nexport const lambdaCreateOrganization = (org: any, adminRole: any, userInfo: any, isFirst: boolean, teamNames: string[]): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_ORGANIZATION_DISPATCH, { method: 'CREATE_ORGANIZATION', org, adminRole, userInfo, isFirst, teamNames })\r\n);\r\n\r\nexport const lambdaSetOrganizationInfo = (_body: any): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_ORGANIZATION_DISPATCH, { method: 'PUT', body: _body })\r\n);\r\n\r\nexport const lambdaGetUserMinInfos = (_users: any): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_ORGANIZATION_DISPATCH, { method: 'GET_USERS_MIN', users: _users })\r\n);\r\n\r\nexport const lambdaSearchOrganizationByField = (_query: string, _fieldName: string): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_ORGANIZATION_DISPATCH, { method: 'SEARCH_BY_FIELD', query: _query, fieldName: _fieldName })\r\n);\r\n\r\nexport const lambdaGetOrgActivatedMembersOfUser = (_uid: string): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_ORGANIZATION_DISPATCH, { method: 'GET_ACTIVATED', uid: _uid })\r\n);\r\n\r\nexport const lambdaCheckRegisterInvite = (_uid: string): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_ORGANIZATION_DISPATCH, { method: 'CHECK_REGISTER_INVITE', uid: _uid })\r\n);\r\n\r\nexport const lambdaGetOrganizationInfo = (_orgId: string): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_ORGANIZATION_DISPATCH, { method: 'GET_ORG_INFO', orgId: _orgId })\r\n);\r\n\r\nexport const lambdaGetOrgMemberInfo = (_mid: string): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_ORGANIZATION_DISPATCH, { method: 'GET_ORG_BY_MID', mid: _mid })\r\n);\r\n\r\nexport const lambdaGetMembersFromOrgs = (_oids: string[]) : Promise => (\r\n lambdaRun(LAMBDA_FN.FN_ORGANIZATION_DISPATCH, { method: 'GET_MEMBERS', oids: _oids })\r\n);\r\n\r\nexport const lambdaUpdateOrganizationInfo = (_orgId: string, _body: any): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_ORGANIZATION_DISPATCH, { method: 'UPDATE', orgId: _orgId, body: _body })\r\n);\r\n\r\nexport const lambdaCheckDomainNameAvailable = (dn: string): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_ORGANIZATION_DISPATCH, { method: 'CHECK_AVAILABILITY', domainName: dn })\r\n);\r\n\r\nexport const lambdaCheckEmailAvailable = (email: string): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_ORGANIZATION_DISPATCH, { method: 'CHECK_EMAIL_AVAILABILITY', email })\r\n);\r\n\r\nexport const lambdaGetOrgMembersOfUser = (_uid: string): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_ORGANIZATION_DISPATCH, { method: 'GET', uid: _uid })\r\n);\r\n\r\nexport const lambdaGetOrgMember = (_mid: string, _oid: string): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_ORGANIZATION_DISPATCH, { method: 'GET_ORG_MEMBER', mid: _mid, oid: _oid })\r\n);\r\n\r\nexport const lambdaAddOrgMember = (_body: any): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_ORGANIZATION_DISPATCH, { method: 'ADD_MEMBER', body: _body })\r\n);\r\n\r\nexport const lambdaAddAndDeleteMembers = (newMembers: any[], deleteIds: string[], orgId: string): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_ORGANIZATION_DISPATCH, { method: 'ADD_DELETE_MEMBERS', newMembers, deleteIds, orgId })\r\n);\r\n\r\nexport const lambdaDeleteOrgMember = (_mid: string): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_ORGANIZATION_DISPATCH, { method: 'DELETE_MEMBER', mid: _mid })\r\n);\r\n\r\nexport const lambdaUpdateOrgMember = (_mid: string, _body: any): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_ORGANIZATION_DISPATCH, { method: 'UPDATE_MEMBER', mid: _mid, body: _body })\r\n);\r\n\r\nexport const lambdaActivateOrgMember = (_mid: string, _rid: string): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_ORGANIZATION_DISPATCH, { method: 'ACTIVATE_MEMBER', mid: _mid, rid: _rid })\r\n);\r\n\r\nexport const lambdaUpdateOrgMemberWithEmail = (_body: any): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_ORGANIZATION_DISPATCH, { method: 'UPDATE_MEMBER_WITH_EMAIL', body: _body })\r\n);\r\n\r\nexport const lambdaAddOrgMemberRole = (_body: any): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_ORGANIZATION_DISPATCH, { method: 'ADD_MEMBER_ROLE', body: _body })\r\n);\r\n\r\nexport const lambdaUpdateOrgMemberRole = (_rid: string, _body: any): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_ORGANIZATION_DISPATCH, { method: 'UPDATE_MEMBER_ROLE', rid: _rid, body: _body })\r\n);\r\n\r\nexport const lambdaDeleteOrgMemberRole = (_rid: string): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_ORGANIZATION_DISPATCH, { method: 'DELETE_MEMBER_ROLE', rid: _rid })\r\n);\r\n\r\nexport const lambdaAddOrgTeam = (_teamInfo: any, _memberIds: string[]): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_ORGANIZATION_DISPATCH, { method: 'ADD_TEAM', teamInfo: _teamInfo, memberIds: _memberIds })\r\n);\r\n\r\nexport const lambdaUpdateOrgTeam = (_tid: string, _teamInfo: any, _addMemberIds: string[], _deleteMemberIds: string[]): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_ORGANIZATION_DISPATCH, { method: 'UPDATE_TEAM', tid: _tid, teamInfo: _teamInfo, addMemberIds: _addMemberIds, deleteMemberIds: _deleteMemberIds })\r\n);\r\n\r\nexport const lambdaGetOrgStructure = (_oid: string): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_ORGANIZATION_DISPATCH, { method: 'GET_ORG', oid: _oid })\r\n);\r\n\r\nexport const lambdaGetOrgTeamMembers = (_tids: string[], _oid: string): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_ORGANIZATION_DISPATCH, { method: 'GET_TEAM_MEMBER', tids: _tids, oid: _oid })\r\n);\r\n\r\nexport const lambdaDeleteOrgTeam = (_tid: string): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_ORGANIZATION_DISPATCH, { method: 'DELETE_TEAM', tid: _tid })\r\n);\r\n\r\nexport const lambdaGetOrgBannerUploadUrl = (id: string): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_ORGANIZATION_DISPATCH, { method: 'GET_UP_BANNER_URL', id })\r\n);\r\n\r\nexport const lambdaGetOrgBannerUrl = (id: string): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_ORGANIZATION_DISPATCH, { method: 'GET_BANNER_URL', id })\r\n);\r\n\r\nexport const lambdaGetTemplateList = (uid: string): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_TEMPLATES_DISPATCH, { method: 'GET_LIST', uid })\r\n);\r\n\r\nexport const lambdaGetTemplateBody = (id: string): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_TEMPLATES_DISPATCH, { method: 'GET_BODY', id })\r\n);\r\n\r\nexport const lambdaDeleteTemplate = (id: string): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_TEMPLATES_DISPATCH, { method: 'DELETE', id })\r\n);\r\n\r\nexport const lambdaCreateTemplate = (uid: string, body: any): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_TEMPLATES_DISPATCH, { method: 'CREATE', uid, body })\r\n);\r\n\r\nexport const lambdaDuplicateTemplate = (uid: string, id: string): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_TEMPLATES_DISPATCH, { method: 'DUPLICATE', uid, id })\r\n);\r\n\r\nexport const lambdaUpdateTemplate = (id: string, body: any): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_TEMPLATES_DISPATCH, { method: 'UPDATE', id, body })\r\n);\r\n\r\nexport const lambdaFirstLoadWallet = (walletID: any): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_WALLET_DISPATCH, { method: 'FIRST_LOAD', walletID })\r\n);\r\n\r\nexport const lambdaRestoreWallet = (walletKey: string, walletID: any): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_WALLET_DISPATCH, { method: 'RESTORE', walletKey, walletID })\r\n);\r\n\r\nexport const lambdaUpdateRecentClients = (userId: string, clients: any[]): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_WALLET_DISPATCH, { method: 'UPDATE_RECENTS', userId, clients })\r\n);\r\n\r\nexport const lambdaGetWalletById = (owner: any, tokenName: string = 'Ether'): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_WALLET_DISPATCH, { method: 'GET_BY_ID', owner, tokenName })\r\n);\r\n\r\nexport const lambdaGetWalletAddress = (owner: any): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_WALLET_DISPATCH, { method: 'GET_ADDRESS', owner })\r\n);\r\n\r\nexport const lambdaGetWalletBalances = (userId: string): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_WALLET_DISPATCH, { method: 'GET_BALANCE', userId })\r\n);\r\n\r\nexport const lambdaGetWalletHistory = (ownerId: string, token: string, offset: number, layer2: boolean = false): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_WALLET_DISPATCH, { method: 'GET_HISTORY', ownerId, token, offset, layer2 })\r\n);\r\n\r\nexport const lambdaGetWalletTransactions = (address: string, token: string, page: number, offset: number, layer2: boolean = false): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_WALLET_DISPATCH, { method: 'GET_TRANSACTION', address, token, page, offset, layer2 })\r\n);\r\n\r\nexport const lambdaMercWithdraw = (owner: any, amount: number, gasFee: number = null): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_MERCHANT_DISPATCH, { method: 'WITHDRAW', owner, amount, gasFee })\r\n);\r\n\r\nexport const lambdaMercDeposit = (owner: any, amount: number, gasFee: number = null): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_MERCHANT_DISPATCH, { method: 'DEPOSIT', owner, amount, gasFee })\r\n);\r\n\r\nexport const lambdaMercTransfer = (from: any, to: any, amount: number, layer2: boolean, gasFee: number = null, materialIds: any = null): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_MERCHANT_DISPATCH, { method: 'TRANSFER', from, to, amount, layer2, gasFee, materialIds })\r\n);\r\n\r\nexport const lambdaMercSell = (owner: any, btcAddress: string, amount: number, layer2: boolean, gasFee: number, satoshiGasFee: number): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_MERCHANT_DISPATCH, { method: 'SELL', owner, btcAddress, amount, layer2, gasFee, satoshiGasFee })\r\n);\r\n\r\nexport const lambdaGetGasPrice = (userId: string, tokenName: string = 'Ether'): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_WALLET_DISPATCH, { method: 'GET_GAS_PRICE', userId, tokenName })\r\n);\r\n\r\nexport const lambdaSearchWallet = (query: string, tokenName: string = ''): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_WALLET_DISPATCH, { method: 'SEARCH', query, tokenName })\r\n);\r\n\r\nexport const lambdaGetPrivateKey = (userId: string): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_WALLET_DISPATCH, { method: 'PRIVKEY', userId })\r\n);\r\n\r\nexport const lambdaGetSignature = (message: string, address: string): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_WALLET_DISPATCH, { method: 'GET_SIGNATURE', message, address })\r\n);\r\n\r\nexport const lambdaSendERC20Token = (from: any, to: any, amount: number, tokenName: string = 'Ether', materialIds: any = null): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_WALLET_DISPATCH, { method: 'SEND', from, to, amount, tokenName, materialIds })\r\n);\r\n\r\nexport const lambdaSearchAssetsByQuery = (query: string, userId: string, itemTypes: number[], itemRange: number, idMode: boolean): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_ASSET_DISPATCH, { method: 'SEARCH_BY_QUERY', query, userId, itemTypes, itemRange, idMode })\r\n);\r\n\r\nexport const lambdaAddNewAsset = (body: any): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_ASSET_DISPATCH, { method: 'CREATE', body })\r\n);\r\n\r\nexport const lambdaUpdateAsset = (id: string, body: any): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_ASSET_DISPATCH, { method: 'UPDATE', id, body })\r\n);\r\n\r\nexport const lambdaUpdateMultiAssets = (ids: string[], body: any): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_ASSET_DISPATCH, { method: 'UPDATE_MULTI', ids, body })\r\n);\r\n\r\nexport const lambdaUpdateAssetRelations = (add: any[], remove: any[]): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_ASSET_DISPATCH, { method: 'UPDATE_RELATIONS', add, remove })\r\n);\r\n\r\nexport const lambdaRemoveAsset = (id: string): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_ASSET_DISPATCH, { method: 'DELETE', id })\r\n);\r\n\r\nexport const lambdaRemoveAssetFromReq = (id: string): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_ASSET_DISPATCH, { method: 'DELETE_FROM_REQ', id })\r\n);\r\n\r\nexport const lambdaGetAssetsByOwner = (ownerId: string): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_ASSET_DISPATCH, { method: 'GET_BY_OWNER', ownerId })\r\n);\r\n\r\nexport const lambdaGetAssetsOfPartner = (ownerId: string): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_ASSET_DISPATCH, { method: 'GET_FROM_PARTNER', ownerId })\r\n);\r\n\r\nexport const lambdaGetAssetById = (id: string): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_ASSET_DISPATCH, { method: 'GET_BY_ID', id })\r\n);\r\n\r\nexport const lambdaGetAssetForDetail = (id: string): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_ASSET_DISPATCH, { method: 'GET_FOR_DETAIL', id })\r\n);\r\n\r\nexport const lambdaGetOtherAssetsOfSupplier = (ownerId: string, curId: string, purpose: number): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_ASSET_DISPATCH, { method: 'GET_OTHER_ASSETS', ownerId, curId, purpose })\r\n);\r\n\r\nexport const lambdaGetAssetsPublished = (ownerId: string, offset: number, oids: string[], query: string, categories: string[]): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_ASSET_DISPATCH, { method: 'SEARCH', ownerId, offset, oids, query, categories })\r\n);\r\n\r\nexport const lambdaGetAssetThumbnail = (id: string): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_ASSET_DISPATCH, { method: 'GET_THUMBNAIL', id })\r\n);\r\n\r\nexport const lambdaGetAssetActionsById = (id: string): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_ASSET_DISPATCH, { method: 'GET_ACTIONS_BY_ID', id })\r\n);\r\n\r\nexport const lambdaAcceptSaleForAsset = (actionBody: any): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_ASSET_DISPATCH, { method: 'ACCEPT_SALE', actionBody })\r\n);\r\n\r\nexport const lambdaAcceptLeaseForAsset = (actionBody: any): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_ASSET_DISPATCH, { method: 'ACCEPT_LEASE', actionBody })\r\n);\r\n\r\nexport const lambdaPostponeLeaseForAsset = (assetId: string, ticketId: string, endDate: Date | string): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_ASSET_DISPATCH, { method: 'POSTPONE_LEASE', assetId, ticketId, endDate })\r\n);\r\n\r\nexport const lambdaRegisterAssetFromTicket = (ticketId: string): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_ASSET_DISPATCH, { method: 'REGISTER_FROM_TICKET', ticketId })\r\n);\r\n\r\nexport const lambdaReturnLoanedAsset = (actionId: string): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_ASSET_DISPATCH, { method: 'RETURN_LEASE', actionId })\r\n);\r\n\r\nexport const lambdaReturnLoanedAssetFromTicket = (ticketId: string): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_ASSET_DISPATCH, { method: 'RETURN_LEASE_FROM_TICKET', ticketId })\r\n);\r\n\r\nexport const lambdaGetActionFromTicket = (ticketId: string): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_ASSET_DISPATCH, { method: 'GET_ACTION_FROM_TICKET', ticketId })\r\n);\r\n\r\nexport const lambdaGetActionFromAsset = (assetId: string): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_ASSET_DISPATCH, { method: 'GET_ACTION_FROM_ASSET', assetId })\r\n);\r\n\r\nexport const lambdaCreateRequest = (body: any): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_REQUEST_DISPATCH, { method: 'CREATE', body })\r\n);\r\n\r\nexport const lambdaSendRequestMerged = (oldRequestId: string, request: any, contract: any): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_REQUEST_DISPATCH, { method: 'SEND_REQUEST_MERGED', oldRequestId, request, contract })\r\n);\r\n\r\nexport const lambdaGetProcurementOfTicketMerged = (ticket: any): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_REQUEST_DISPATCH, { method: 'GET_PROCUREMENT_OF_TICKET_MERGED', ticket })\r\n);\r\n\r\nexport const lambdaArchiveRequest = (requestId: string): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_REQUEST_DISPATCH, { method: 'ARCHIVE', requestId })\r\n);\r\n\r\nexport const lambdaChangeAutoDebitOfRequest = (requestId: string, checked: boolean): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_REQUEST_DISPATCH, { method: 'AUTO_DEBIT_CHANGE', requestId, checked })\r\n);\r\n\r\nexport const lambdaUpdateRequest = (uid: string, body: any, draftId: string = null): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_REQUEST_DISPATCH, { method: 'UPDATE', uid, body, draftId })\r\n);\r\n\r\nexport const lambdaCloseRequestFromContract = (contractId: string): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_REQUEST_DISPATCH, { method: 'CLOSE_FROM_CONTRACT', contractId })\r\n);\r\n\r\nexport const lambdaCreateMsOffer = (customers: any[], body: any, draftId: string = null): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_REQUEST_DISPATCH, { method: 'CREATE_OFFER', customers, body, draftId })\r\n);\r\n\r\nexport const lambdaGetRequestsRelated = (userId: string): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_REQUEST_DISPATCH, { method: 'GET_BY_RELATED', userId })\r\n);\r\n\r\nexport const lambdaGetRequestById = (id: string): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_REQUEST_DISPATCH, { method: 'GET_BY_ID', id })\r\n);\r\n\r\nexport const lambdaGetRequestFromChat = (convId: string): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_REQUEST_DISPATCH, { method: 'GET_FROM_CHAT', convId })\r\n);\r\n\r\nexport const lambdaAddConversationToRequst = (uid: string, convId: string): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_REQUEST_DISPATCH, { method: 'ADD_CHAT_THREAD', uid, convId })\r\n);\r\n\r\nexport const lambdaRemoveChatFromRequest = (convId: string): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_REQUEST_DISPATCH, { method: 'REMOVE_CHAT', convId })\r\n);\r\n\r\nexport const lambdaRemoveContractFromRequest = (contractId: string): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_REQUEST_DISPATCH, { method: 'REMOVE_CONTRACT', contractId })\r\n);\r\n\r\nexport const lambdaRemoveRequest = (uid: string): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_REQUEST_DISPATCH, { method: 'REMOVE', uid })\r\n);\r\n\r\nexport const lambdaDiscardRequest = (uid: string): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_REQUEST_DISPATCH, { method: 'DISCARD_REQUEST', uid })\r\n);\r\n\r\nexport const lambdaRejectRequest = (uid: string, reason: string): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_REQUEST_DISPATCH, { method: 'REJECT_REQUEST', uid, reason })\r\n);\r\n\r\nexport const lambdaCreatePurchaseItem = (purchaseItem: any): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_PURCHASE_DISPATCH, { method: 'CREATE', purchaseItem })\r\n);\r\n\r\nexport const lambdaUpdatePurchaseItemFromPO = (contractId: string, material: any, deliveryDate: Date | string): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_PURCHASE_DISPATCH, { method: 'UPDATE_FROM_PO', contractId, material, deliveryDate })\r\n);\r\n\r\nexport const lambdaUpdatePurchaseItemFromInvoice = (contractId: string, itemId: string, miniInvoice: any): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_PURCHASE_DISPATCH, { method: 'UPDATE_FROM_INVOICE', contractId, itemId, miniInvoice })\r\n);\r\n\r\nexport const lambdaRemovePurchaseItem = (id: string): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_PURCHASE_DISPATCH, { method: 'REMOVE', id })\r\n);\r\n\r\nexport const lambdaGetPurchaseItemsRelated = (userId: string, types: number[]): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_PURCHASE_DISPATCH, { method: 'GET_BY_RELATED', userId, types })\r\n);\r\n\r\nexport const lambdaGetPurchaseItemsFromContract = (contractId: string): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_PURCHASE_DISPATCH, { method: 'GET_FROM_CONTRACT', contractId })\r\n);\r\n\r\nexport const lambdaCreateTodo = (body: any): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_TODO_DISPATCH, { method: 'CREATE', body })\r\n);\r\n\r\nexport const lambdaGetTodos = (id: String): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_TODO_DISPATCH, { method: 'GET_ORG', id })\r\n);\r\n\r\nexport const lambdaUpdateTodo = (id: string, content: any): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_TODO_DISPATCH, { method: 'UPDATE', id, ...content })\r\n);\r\n\r\nexport const lambdaAddTodoComment = (todoId: string, owner: any, orgId: string, message: string): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_TODO_DISPATCH, { method: 'ADD_COMMENT', todoId, owner, orgId, message })\r\n);\r\n\r\nexport const lambdaAddTodoAttachment = (todoId: string, owner: any, orgId: string, id: string, name: string, size: number): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_TODO_DISPATCH, { method: 'ADD_ATTACHMENT', id, todoId, owner, orgId, name, size })\r\n);\r\n\r\nexport const lambdaGetTodoAttachmentUploadUrl = (id: string): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_TODO_DISPATCH, { method: 'GET_UP_URL', id })\r\n);\r\n\r\nexport const lambdaGetTodoAttachmentUrl = (id: string): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_TODO_DISPATCH, { method: 'GET_URL', id })\r\n);\r\n\r\nexport const lambdaDeleteTodo = (id: string): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_TODO_DISPATCH, { method: 'REMOVE', id })\r\n);\r\n\r\nexport const lambdaMarketplacePostRequest = (path:string, query?: any, update?: any): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_MARKETPLACE_DISPATCH, { method: 'POST', path, query, update })\r\n);\r\n\r\nexport const lambdaMarketplacePutImage = (uid: string, imgs: any): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_MARKETPLACE_DISPATCH, { method: 'PUT_IMAGE', uid, imgs })\r\n);\r\n\r\nexport const lambdaMarketplaceGetImages = (uid: string, imgs: any): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_MARKETPLACE_DISPATCH, { method: 'GET_IMAGES', uid, imgs })\r\n);\r\n\r\nexport const lambdaMarketplaceGetGoodCardThumb = (goodId: string, idx: number, ext: string): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_MARKETPLACE_DISPATCH, { method: 'GET_CARD_THUMB', goodId, idx, ext })\r\n);\r\n\r\nexport const lambdaMarketplaceGetSignedDownloadUrl = (_uid: string): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_MARKETPLACE_DISPATCH, { method: 'GET_DOWN_URL', uid: _uid })\r\n);\r\n\r\nexport const lambdaMarketplaceGetSignedUploadUrl = (_uid: string): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_MARKETPLACE_DISPATCH, { method: 'GET_UP_URL', uid: _uid })\r\n);\r\n\r\nexport const lambdaCreateAnzicTaxonomyInfoByType = (category: any, type: number): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_TAXONOMY_DISPATCH, { method: 'CREATE_ANZIC_BY_TYPE', category, type })\r\n);\r\n\r\nexport const lambdaGetAnzicTaxonomyInfo = (): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_TAXONOMY_DISPATCH, { method: 'GET_ANZIC' })\r\n);\r\n\r\nexport const lambdaGetAnzicTaxonomyInfoByType = (type: number): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_TAXONOMY_DISPATCH, { method: 'GET_ANZIC_BY_TYPE', type })\r\n);\r\n\r\nexport const lambdaGetAnzicTaxonomyInfoByCodeAndType = (code: string, type: number): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_TAXONOMY_DISPATCH, { method: 'GET_ANZIC_BY_CODE_TYPE', code, type })\r\n);\r\n\r\nexport const lambdaCreateOrUpdateTags = (objectId: string, objectType: number, names: string[], removedIds: string[]): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_TAG_DISPATCH, { method: 'CREATE_OR_UPDATE', objectId, objectType, names, removedIds })\r\n);\r\n\r\nexport const lambdaDuplicateTags = (objectId: string): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_TAG_DISPATCH, { method: 'DUPLICATE', objectId })\r\n);\r\n\r\nexport const lambdaGetTags = (objectId: string): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_TAG_DISPATCH, { method: 'GET', objectId })\r\n);\r\n\r\nexport const lambdaGetMultiObjectTags = (ids: string[]): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_TAG_DISPATCH, { method: 'GET_MULTI', ids })\r\n);\r\n\r\nexport const lambdaCreateStripeAccount = (user: any, refreshUrl: string, returnUrl: string): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_PAYACCOUNT_DISPATCH, { method: 'CREATE_STRIPE_ACCOUNT', user, refreshUrl, returnUrl })\r\n);\r\n\r\nexport const lambdaRemoveStripeAccount = (accountId: string): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_PAYACCOUNT_DISPATCH, { method: 'REMOVE_STRIPE_ACCOUNT', accountId })\r\n);\r\n\r\nexport const lambdaEnableDirectDebitOnStripe = (user: any): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_PAYACCOUNT_DISPATCH, { method: 'ENABLE_STRIPE_DIRECT_DEBIT', user })\r\n);\r\n\r\nexport const lambdaPendingDDSetupIntentOnStripe = (accountId: string): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_PAYACCOUNT_DISPATCH, { method: 'PENDING_STRIPE_DDSETUPINTENT', accountId })\r\n);\r\n\r\nexport const lambdaDisableDirectDebitOnStripe = (accountId: string): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_PAYACCOUNT_DISPATCH, { method: 'DISABLE_STRIPE_DIRECT_DEBIT', accountId })\r\n);\r\n\r\nexport const lambdaGetStripeClientSecret = (intentId: string): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_PAYACCOUNT_DISPATCH, { method: 'GET_STRIPE_CLIENT_SECRET', intentId })\r\n);\r\n\r\nexport const lambdaGetStripeAccount = (userId: string): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_PAYACCOUNT_DISPATCH, { method: 'GET_STRIPE_BY_ID', userId })\r\n);\r\n\r\nexport const lambdaGetStripeDetailAccount = (userId: string): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_PAYACCOUNT_DISPATCH, { method: 'GET_STRIPE_DETAIL_BY_ID', userId })\r\n);\r\n\r\nexport const lambdaGetStripeVerifyLink = (userId: string, refreshUrl: string, returnUrl: string): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_PAYACCOUNT_DISPATCH, { method: 'GET_STRIPE_VERIFY_LINK', userId, refreshUrl, returnUrl })\r\n);\r\n\r\nexport const lambdaPayInvoiceByStripe = (invoice: any, successUrl: string, cancelUrl: string): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_PAYACCOUNT_DISPATCH, { method: 'PAY_INVOICE_BY_STRIPE', invoice, successUrl, cancelUrl })\r\n);\r\n\r\nexport const lambdaPayMultiInvoicesByStripe = (invoices: any[], data: any): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_PAYACCOUNT_DISPATCH, { method: 'PAY_MULTI_INVOICES_BY_STRIPE', invoices, data })\r\n);\r\n\r\nexport const lambdaGetInvitationUrl = (params: any): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_INVITATION_DISPATCH, { method: 'ENCRYPT_PARAMS', params })\r\n);\r\n\r\nexport const lambdaGetInvitationDetails = (text: string): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_INVITATION_DISPATCH, { method: 'DECRYPT_PARAMS', text })\r\n);\r\n\r\nexport const lambdaGetInvitationRelated = (userId: string): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_INVITATION_DISPATCH, { method: 'GET_BY_RELATED', userId })\r\n);\r\n\r\nexport const lambdaUpdateInvitationsWithCommonBody = (ids: string[], body: any): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_INVITATION_DISPATCH, { method: 'UPDATE_COMMON_BODY', ids, body })\r\n);\r\n\r\nexport const lambdaCreateInvitations = (body: any, invitees: any[]): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_INVITATION_DISPATCH, { method: 'CREATE', body, invitees })\r\n);\r\n\r\nexport const lambdaCreateInvitationWithEmail = (body: any, email: string): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_INVITATION_DISPATCH, { method: 'CREATE_WITH_EMAIL', body, email })\r\n);\r\n\r\nexport const lambdaUpdateInvitationWithEmail = (body: any, email: string): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_INVITATION_DISPATCH, { method: 'UPDATE_WITH_EMAIL', body, email })\r\n);\r\n\r\nexport const lambdaRemoveInvitation = (ids: string[]): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_INVITATION_DISPATCH, { method: 'REMOVE', ids })\r\n);\r\n\r\nexport const lambdaRemoveChatFromInvitation = (convId: string): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_INVITATION_DISPATCH, { method: 'REMOVE_CHAT', convId })\r\n);\r\n\r\nexport const lambdaAcceptInvitation = (id: string): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_INVITATION_DISPATCH, { method: 'ACCEPT_INVITATION', id })\r\n);\r\n\r\nexport const lambdaSearchUserWithFriend = (query: string, showUser: number): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_INVITATION_DISPATCH, { method: 'SEARCH_USERS_BY_QUERY', query, showUser })\r\n);\r\n\r\nexport const lambdaGetReferralRelated = (userId: string): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_REFERRAL_DISPATCH, { method: 'GET_BY_RELATED', userId })\r\n);\r\n\r\nexport const lambdaRemoveReferral = (id: string): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_REFERRAL_DISPATCH, { method: 'REMOVE_REFER', id })\r\n);\r\n\r\nexport const lambdaRemoveReferralFromReq = (id: string): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_REFERRAL_DISPATCH, { method: 'REMOVE_FROM_REQ', id })\r\n);\r\n\r\nexport const lambdaRemoveChatFromReferral = (convId: string): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_REFERRAL_DISPATCH, { method: 'REMOVE_CHAT', convId })\r\n);\r\n\r\nexport const lambdaCreateReferral = (body: any, items: any[]): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_REFERRAL_DISPATCH, { method: 'CREATE', body, items })\r\n);\r\n\r\nexport const lambdaUpdateReferralsWithCommonBody = (ids: string[], body: any): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_REFERRAL_DISPATCH, { method: 'UPDATE_COMMON_BODY', ids, body })\r\n);\r\n\r\nexport const lambdaAcceptReferral = (id: string): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_REFERRAL_DISPATCH, { method: 'ACCEPT_REFER', id })\r\n);\r\n\r\nexport const lambdaCreateReferralFollowUp = (id: string, followUp: any): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_REFERRAL_DISPATCH, { method: 'CREATE_FOLLOWUP', id, followUp })\r\n);\r\n\r\nexport const lambdaCreateReferralChat = (id: string, chatId: string): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_REFERRAL_DISPATCH, { method: 'CREATE_CHAT', id, chatId })\r\n);\r\n\r\nexport const lambdaAcceptReferralFollowUp = (id: string): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_REFERRAL_DISPATCH, { method: 'ACCEPT_FOLLOWUP', id })\r\n);\r\n\r\nexport const lambdaRejectReferral = (id: string): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_REFERRAL_DISPATCH, { method: 'REJECT_REFER', id })\r\n);\r\n\r\nexport const lambdaRejectReferralFollowUp = (id: string): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_REFERRAL_DISPATCH, { method: 'REJECT_FOLLOWUP', id })\r\n);\r\n\r\nexport const lambdaGetReferralById = (id: string): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_REFERRAL_DISPATCH, { method: 'GET_BY_ID', id })\r\n);\r\n\r\nexport const lambdaGetReferralMinById = (id: string, inviter: any): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_REFERRAL_DISPATCH, { method: 'GET_MIN_BY_ID', id, inviter })\r\n);\r\n\r\nexport const lambdaGetReferralByItem = (item: any): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_REFERRAL_DISPATCH, { method: 'GET_BY_ITEM', item })\r\n);\r\n\r\nexport const lambdaGetReferralByUsersAndItem = (item: any, creatorIds: string[], partnerId: string): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_REFERRAL_DISPATCH, { method: 'GET_BY_USERS_AND_ITEM', item, creatorIds, partnerId })\r\n);\r\n\r\nexport const lambdaGetReferralItems = (creatorId: string, partnerId: string): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_REFERRAL_DISPATCH, { method: 'GET_REFERRAL_ITEMS', creatorId, partnerId })\r\n);\r\n\r\nexport const lambdaGetAnnouncements = (): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_ANNOUNCEMENT_DISPATCH, { method: 'GET' })\r\n);\r\n\r\nexport const lambdaGetFavoritesAndPaidProfiles = (ownerId: string): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_BSEARCH_DISPATCH, { method: 'GET', ownerId })\r\n);\r\n\r\nexport const lambdaRemoveFavorite = (id: string): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_BSEARCH_DISPATCH, { method: 'DELETE', id })\r\n);\r\n\r\nexport const lambdaCreateFavorite = (body: any): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_BSEARCH_DISPATCH, { method: 'CREATE', body })\r\n);\r\n\r\nexport const lambdaGetBSSearchHistory = (ownerId: string): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_BSEARCH_DISPATCH, { method: 'GET_HISTORY', ownerId })\r\n);\r\n\r\nexport const lambdaUpdateBSSearchHistory = (owner: any, data: string[]): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_BSEARCH_DISPATCH, { method: 'UPDATE_HISTORY', owner, data })\r\n);\r\n\r\nexport const lambdaGetPaidProfiles = (ownerId: string): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_BSEARCH_DISPATCH, { method: 'GET_PAID_PROFILE', ownerId })\r\n);\r\n\r\nexport const lambdaPutPaidProfile = (body: any): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_BSEARCH_DISPATCH, { method: 'PUT_PAID_PROFILE', body })\r\n);\r\n\r\nexport const lambdaPayAndGetProfile = (address: string, fee: string | number, data: any, owner: any, query: string): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_BSEARCH_DISPATCH, { method: 'GET_PAID_RESULT', address, fee, data, owner, query })\r\n);\r\n\r\nexport const lambdaGetFilethreadUploadUrl = (id: string): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_FILESHARE_DISPATCH, { method: 'GET_UP_URL', id })\r\n);\r\n\r\nexport const lambdaCreateRating = (rating: any): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_RATING_DISPATCH, { method: 'CREATE', rating })\r\n);\r\n\r\nexport const lambdaGetRatingsByItemId = (itemId: string, offset: number, count: number): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_RATING_DISPATCH, { method: 'GET', itemId, offset, count })\r\n);\r\n\r\nexport const lambdaGetPurchaseRatingStatistics = (itemId: string): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_RATING_DISPATCH, { method: 'GET_PURCHASE_RATING_STATISTICS', itemId })\r\n);\r\n\r\nexport const lambdaCreateFileResources = (resources: any[]): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_FILERESOURCE_DISPATCH, { method: 'PUT', resources })\r\n);\r\n\r\nexport const lambdaGetFileResourcesByItemId = (itemId: string): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_FILERESOURCE_DISPATCH, { method: 'GET', itemId })\r\n);\r\n\r\nexport const lambdaUpdateFileResources = (add: any[], remove: string[]): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_FILERESOURCE_DISPATCH, { method: 'UPDATE', add, remove })\r\n);\r\n\r\nexport const lambdaCreatePurchaseHistory = (body: any): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_PURCHASEHISTORY_DISPATCH, { method: 'CREATE', body })\r\n);\r\n\r\nexport const lambdaSendMsgToPhone = (phoneNumber: string, msg: string): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_SNS_DISPATCH, { method: 'SNS_SEND', phoneNumber, msg })\r\n);\r\n\r\nexport const lambdaRegisterVerification = (_uid: string, json: any): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_VERIFICATION_DISPATCH, { method: 'REGISTER', uid: _uid, body: json })\r\n);\r\n\r\nexport const lambdaVerificationGetStatus = (_uid: string): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_VERIFICATION_DISPATCH, { method: 'GET_STATUS', uid: _uid })\r\n);\r\n\r\nexport const lambdaVerificationSetField = (_uid: string, _sid: string, json: any): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_VERIFICATION_DISPATCH, { method: 'SET_FIELD', sid: _sid, uid: _uid, body: json })\r\n);\r\n\r\nexport const lambdaUpdateShare = (id: string, body: any): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_SHARE_DISPATCH, { method: 'UPDATE', id, body })\r\n);\r\n\r\nexport const lambdaGetInvoices = (startDate: any, endDate: any, ownerId: string, isRevenue: boolean): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_DIAGRAM_DISPATCH, { method: 'GET_INVOICES', startDate, endDate, ownerId, isRevenue })\r\n);\r\n\r\nexport const lambdaGetOrgStatistics = (ownerId: string): Promise => (\r\n lambdaRun(LAMBDA_FN.FN_DIAGRAM_DISPATCH, { method: 'GET_STATISTICS', ownerId })\r\n);\r\n","import { chatApi } from 'src/apis/chatApi';\r\nimport { clearJobs } from './intervalJobs';\r\nimport { wsDisconnect, wsTeamDisconnect } from 'src/apis/wsApi';\r\n\r\nconst cleanUp = (): void => {\r\n chatApi.cleanUp();\r\n clearJobs();\r\n wsDisconnect();\r\n wsTeamDisconnect();\r\n};\r\n\r\nexport default cleanUp;\r\n","import { useContext } from 'react';\r\nimport SettingsContext from 'src/contexts/SettingsContext';\r\nimport type { SettingsContextValue } from 'src/contexts/SettingsContext';\r\n\r\nconst useSettings = (): SettingsContextValue => useContext(SettingsContext);\r\n\r\nexport default useSettings;\r\n","import {\r\n REQUEST_ONE_OFF,\r\n REQUEST_CUSTOM,\r\n LENGTH_MONTH,\r\n LENGTH_YEAR,\r\n periodLengthList,\r\n REQUEST_FINANCIAL,\r\n MICROSERVICE,\r\n ACCZIOM_NONE,\r\n REQUESTED,\r\n PAY_DIRECT_DEBIT,\r\n ASSET,\r\n ASSET_PURPOSE_LEASE,\r\n OFFERED,\r\n REOFFERED,\r\n PROGRESSING,\r\n ARCHIVED,\r\n SCHEDULE_ON,\r\n STATUS_TEXT_ACTIVATED,\r\n LENGTH_DAY,\r\n CRYPTO_ETHER,\r\n CRYPTO_TETHER,\r\n CRYPTO_MRC,\r\n fiatCurrencies,\r\n currencyUnitToType,\r\n ACCZIOM_USER,\r\n ACCZIOM_ORG,\r\n TICKET_MODE_NORMAL,\r\n calcTotalPrice,\r\n OFFERREQUESTED,\r\n TICKET_MODE_PROPOSAL,\r\n CONTRACT_MODE,\r\n ACCZIOM_ADMIN_ORG_ID,\r\n ORGANIZATION,\r\n PAY_CREDIT_CARD,\r\n PAY_STRIPE,\r\n COMPOUND_INTEREST_TYPE,\r\n scaleCardDetail,\r\n UPFRONT_PAYMENT,\r\n ACCZIOM_TEAM,\r\n ACCZIOM_ADMIN_ORG_TEAM_ID\r\n} from 'src/globals';\r\nimport { Microservice, MicroserviceInfo, MicroserviceInfoEx } from 'src/../../Common/Model/microservice';\r\nimport { MicroserviceForReq, setBundledServices, setService } from 'src/slices/serviceRequest';\r\nimport { sum } from 'lodash';\r\nimport { v4 as uuidv4 } from 'uuid';\r\nimport { Request } from 'src/../../Common/Model/request';\r\nimport { convertCurrency } from './priceUtils';\r\nimport { Asset } from 'src/../../Common/Model/asset';\r\nimport { ItemRelation } from 'src/../../Common/Model/itemRelation';\r\nimport { getTodayDate } from './dateFormatUtils';\r\nimport { lambdaGetProcurementOfTicketMerged, lambdaGetStripeAccount, lambdaGetWalletBalances } from 'src/aws/lambdaDispatch';\r\nimport { updateContract, updateInvoices, updateSchedules } from 'src/slices/procurement';\r\nimport { ExPurchaseItem, updatePurchaseItem } from 'src/slices/business';\r\nimport { shortId } from 'src/types/microservice';\r\nimport getServiceInfo from './getServiceInfo';\r\nimport { getActiveId } from './getActiveOrgInfo';\r\nimport { setStripeAccount, setNeedReload as setPayAccountNeedReload } from 'src/slices/payAccount';\r\n// import { httpGetOrgBannerUrl } from 'src/apis/httpDispatch';\r\n// import { fetchUrl } from './fileUpDownload';\r\nimport { paymentOptionFromStringToNumber } from 'src/components/microservices/edit/utils';\r\nimport { getInitializedContract } from './procurement/contractUtils';\r\nimport { getDateList, getPriceList } from './procurement/scheduleUtils';\r\nimport type { Referral } from 'src/../../Common/Model/network';\r\nimport { convert2Array } from './agentUtils';\r\nimport { Organization } from '../../../Common/Model/organization';\r\nimport { convertModificationsCurrency } from 'src/components/microservices/edit/ModificationInfo';\r\n\r\nconst curTime = (new Date()).getTime();\r\n\r\nexport const financialYearModel = Array.from(Array(12).keys()).map((i) => (\r\n `${(new Date(curTime)).getFullYear() + i} - ${(new Date(curTime)).getFullYear() + i + 1}`\r\n));\r\n\r\nexport const financialMonthModel = [\r\n // 'January',\r\n // 'February',\r\n // 'January - March',\r\n // 'April',\r\n // 'May',\r\n // 'April - June',\r\n // 'July',\r\n // 'August',\r\n // 'July - September',\r\n // 'October',\r\n // 'November',\r\n // 'October - December'\r\n 'July - June'\r\n];\r\n\r\nexport const getServiceLength = (service: Microservice): number => (\r\n periodLengthList.find((itm) => `${itm.type}` === `${service.durationType.type}`).minutes * service.durationType.length\r\n);\r\n\r\nexport const getMaxCountInOnePeriod = (service: Microservice, periodType: number) => {\r\n const serLength = getServiceLength(service);\r\n const reqLength = periodLengthList.find((itm) => `${itm.type}` === `${periodType}`).minutes;\r\n return Math.floor(reqLength / serLength);\r\n};\r\n\r\nexport const checkPeriodOver = (service: Microservice, periodType: number) => {\r\n const ret = service.json?.full.filter((itm) => itm.periodInfo?.offsetType <= periodType);\r\n return ret.length;\r\n};\r\n\r\nexport const financialYearModelDefaultperiodInfo = (service: Microservice) => ({\r\n type: REQUEST_FINANCIAL,\r\n year: financialYearModel[0],\r\n period: financialMonthModel[0],\r\n count: 1,\r\n per: getMaxCountInOnePeriod(service, LENGTH_MONTH) > 0 ? LENGTH_MONTH : LENGTH_YEAR\r\n});\r\n\r\nexport const onceOffModelDefaultPeriodInfo = () => ({\r\n type: REQUEST_ONE_OFF,\r\n start: getTodayDate().toISOString()\r\n});\r\n\r\nexport const getDefaultValues = (\r\n service: MicroserviceInfo,\r\n periodInfo: any,\r\n isOffer: boolean,\r\n count: number,\r\n sid: string\r\n): MicroserviceForReq => ({\r\n ...service,\r\n selectedPaymentOption: `${service.paymentOptions.payment.find((v) => v !== null).type}`,\r\n selectedPaymentPlatform: service.paymentOptions.platforms[0],\r\n modifications: !service.paymentOptions.modifications ? [] : convertModificationsCurrency(service.paymentOptions.modifications, service.paymentOptions.platforms[0].paymentCurrency),\r\n periodInfo,\r\n reqTitle: service.name,\r\n hiMsg: isOffer\r\n ? 'Hello , I\\'ve enclosed my service offer for your attention. This is based on the discussions we had.'\r\n : `Hello ${service.providerName},\\r\\nI've attached the information about my ${service.name} and look forward to working with you to complete the form and have it lodged.\\r\\nThe proposed fee is acceptable to me and I'll sign the contract when you share it with me.`,\r\n count,\r\n sid,\r\n answers: {},\r\n completedQuestionnaire: !service.json.length\r\n});\r\n\r\nexport const getValuesFromRequest = (service: MicroserviceInfo, request: Request): MicroserviceForReq => ({\r\n ...service,\r\n selectedPaymentOption: `${request.material.payments.paymentOption.type}`,\r\n selectedPaymentPlatform: {\r\n paymentMethod: request.material.payments.paymentMethod,\r\n paymentTool: request.material.payments.paymentTool,\r\n paymentCurrency: request.material.payments.paymentCurrency,\r\n },\r\n modifications: convertModificationsCurrency(request.material.payments.modifications, request.material.payments.paymentCurrency),\r\n periodInfo: request.material.period,\r\n reqTitle: request.title,\r\n hiMsg: request.hiMsg,\r\n count: 1,\r\n sid: '',\r\n answers: service.bundleType === MICROSERVICE ? request.detail[0].collected : {},\r\n completedQuestionnaire: service.bundleType === MICROSERVICE ? request.detail[0].completedQuestionnaire : false\r\n});\r\n\r\nexport const getValuesFromRequestEx = (service: MicroserviceInfoEx, request: Request): MicroserviceForReq => ({\r\n ...service,\r\n selectedPaymentOption: `${request.material.payments.paymentOption.type}`,\r\n selectedPaymentPlatform: {\r\n paymentMethod: request.material.payments.paymentMethod,\r\n paymentTool: request.material.payments.paymentTool,\r\n paymentCurrency: request.material.payments.paymentCurrency,\r\n },\r\n modifications: convertModificationsCurrency(request.material.payments.modifications, request.material.payments.paymentCurrency),\r\n periodInfo: request.material.period,\r\n reqTitle: request.title,\r\n hiMsg: request.hiMsg,\r\n count: 1,\r\n sid: '',\r\n answers: service.bundleType === MICROSERVICE ? request.detail[0].collected : {},\r\n completedQuestionnaire: service.bundleType === MICROSERVICE ? request.detail[0].completedQuestionnaire : false\r\n});\r\n\r\nexport const getValuesFromMaterial = (service: MicroserviceInfo, material: any): MicroserviceForReq => ({\r\n ...service,\r\n sid: material.sid,\r\n periodInfo: material.period,\r\n selectedPaymentOption: `${material.payments.paymentOption.type}`,\r\n selectedPaymentPlatform: {\r\n paymentMethod: material.payments.paymentMethod,\r\n paymentTool: material.payments.paymentTool,\r\n paymentCurrency: material.payments.paymentCurrency\r\n },\r\n answers: material.collected,\r\n completedQuestionnaire: material.completedQuestionnaire\r\n});\r\n\r\nexport const getServiceQuantity = (service: MicroserviceForReq): number => {\r\n const serCount = service.count ? service.count : 1;\r\n if (service.periodInfo.type === REQUEST_ONE_OFF) return 1 * serCount;\r\n if (service.periodInfo.type === REQUEST_CUSTOM) return Number(service.periodInfo.periodCount) * Number(service.periodInfo.count) * serCount;\r\n if (`${service.periodInfo.per}` === `${LENGTH_MONTH}`) return 12 * Number(service.periodInfo.count) * serCount;\r\n if (`${service.periodInfo.per}` === `${LENGTH_YEAR}`) return Number(service.periodInfo.count) * serCount;\r\n const year = Number(service.periodInfo.year.substring(0, 4)) + 1;\r\n const periodDay = 365 + ((year % 400 === 0 || (year % 100 !== 0 && year % 4 === 0)) ? 1 : 0);\r\n const periodMinute = periodDay * 24 * 60;\r\n const perMinute = periodLengthList.find((itm) => `${itm.type}` === `${service.periodInfo.per}`).minutes;\r\n return Math.floor(periodMinute / perMinute) * Number(service.periodInfo.count) * serCount;\r\n};\r\n\r\nexport const getBundledServiceQuantity = (periodInfo: any, bundle: Microservice): number => {\r\n if (periodInfo.type === REQUEST_ONE_OFF) return 1;\r\n const periodLength = periodLengthList.find((v) => v.type === periodInfo.per).minutes;\r\n const bundleLength = getServiceLength(bundle);\r\n return Math.floor(bundleLength / periodLength) * periodInfo.count;\r\n};\r\n\r\nexport const estPriceOfSingleService = (service: MicroserviceForReq): number => (\r\n calcTotalPrice(service.answers, service.baseFee)\r\n);\r\n\r\nexport const fullEstPrice = (service: MicroserviceForReq, bundledServices: MicroserviceForReq[]): number => (\r\n service.bundleType === MICROSERVICE\r\n ? getServiceQuantity(service) * estPriceOfSingleService(service)\r\n : sum(bundledServices.map(\r\n (bs) => (\r\n getServiceQuantity(service) * (!bs.count ? 1 : bs.count) * estPriceOfSingleService(bs) * getBundledServiceQuantity(bs.periodInfo, service)\r\n )\r\n ))\r\n);\r\n\r\nexport const getPaymentOptionsOfService = (service: MicroserviceForReq): any => ({\r\n paymentOption: service.paymentOptions.payment[service.selectedPaymentOption] ? service.paymentOptions.payment[service.selectedPaymentOption] : service.paymentOptions.payment.find((value) => value !== null),\r\n interest: service.paymentOptions.interest,\r\n gst: service.paymentOptions.gst,\r\n invoiceOffset: service.paymentOptions.invoiceOffset,\r\n modifications: service.modifications,\r\n ...service.selectedPaymentPlatform\r\n});\r\n\r\nexport const getServiceMaterial = (service: MicroserviceForReq, parentService: MicroserviceForReq) => {\r\n const payments = getPaymentOptionsOfService(parentService);\r\n return ({\r\n id: service.id,\r\n sid: service.sid,\r\n title: service.name,\r\n description: service.description,\r\n duration: service.durationType,\r\n category: service.type,\r\n cost: convertCurrency(estPriceOfSingleService(service), service.defaultCurrency, payments.paymentCurrency),\r\n type: MICROSERVICE,\r\n quantity: getBundledServiceQuantity(service.periodInfo, parentService),\r\n collected: service.answers,\r\n period: service.periodInfo,\r\n payments,\r\n completedQuestionnaire: service.completedQuestionnaire\r\n });\r\n};\r\n\r\nexport const getInitialRequestFromService = (service: MicroserviceForReq, bundledServices: MicroserviceForReq[], demander: any, demanderAgent: any, mode: number): Request => {\r\n const payments = getPaymentOptionsOfService(service);\r\n const totalPrice = convertCurrency(fullEstPrice(service, bundledServices), service.defaultCurrency, payments.paymentCurrency);\r\n const now = new Date().toISOString();\r\n return {\r\n uid: uuidv4(),\r\n title: service.reqTitle,\r\n hiMsg: service.hiMsg,\r\n demander,\r\n demanderAgent: [demanderAgent],\r\n supplier: service.creator,\r\n supplierAgent: convert2Array(service.agent),\r\n reqType: service.bundleType,\r\n fileName: '',\r\n attachment_uri: '',\r\n status: REQUESTED,\r\n detail: (\r\n service.bundleType === MICROSERVICE\r\n ? [\r\n getServiceMaterial({\r\n ...service,\r\n periodInfo: {\r\n type: REQUEST_ONE_OFF,\r\n offset: 0,\r\n offsetType: LENGTH_DAY\r\n }\r\n }, service)\r\n ]\r\n : bundledServices.map((ser) => getServiceMaterial(ser, service))\r\n ),\r\n material: {\r\n id: service.id,\r\n title: service.name,\r\n description: service.description,\r\n duration: service.durationType,\r\n category: service.type,\r\n cost: totalPrice,\r\n quantity: getServiceQuantity(service),\r\n period: service.periodInfo,\r\n payments\r\n },\r\n price: totalPrice,\r\n priceDescription: '',\r\n referralId: '',\r\n history: [],\r\n mode,\r\n createdAt: now,\r\n updatedAt: now\r\n } as Request;\r\n};\r\n\r\nexport const getInitialRequestFromAsset = (asset: Asset, assetRelations: ItemRelation[], childAssets: Asset[], actionType: number, reqInfo: any, demander: any, demanderAgent: any): Request => {\r\n const payments = {\r\n paymentOption: asset.paymentOptions.payment[0],\r\n interest: asset.paymentOptions.interest,\r\n gst: asset.paymentOptions.gst,\r\n invoiceOffset: asset.paymentOptions.invoiceOffset,\r\n modifications: [],\r\n ...reqInfo.selectedPaymentPlatform\r\n };\r\n const pricePerValue = convertCurrency(asset.price, asset.defaultCurrency, reqInfo.selectedPaymentPlatform.paymentCurrency);\r\n const totalPrice = (pricePerValue + sum(childAssets.map((item) => (convertCurrency(item.price, item.defaultCurrency, reqInfo.selectedPaymentPlatform.paymentCurrency) * assetRelations.find((rel) => (rel.childId === item.id)).childQty)))) * reqInfo.selectedCount * reqInfo.selectedPeriodCount;\r\n\r\n return {\r\n uid: uuidv4(),\r\n title: asset.title,\r\n hiMsg: '',\r\n demander,\r\n demanderAgent: [demanderAgent],\r\n supplier: asset.owner,\r\n supplierAgent: convert2Array(asset.ownerAgent),\r\n reqType: ASSET,\r\n fileName: '',\r\n attachment_uri: '',\r\n status: REQUESTED,\r\n detail: [\r\n {\r\n id: asset.id,\r\n sid: shortId(),\r\n title: asset.title,\r\n description: asset.description,\r\n duration: { type: asset.leasePeriodUnit, length: asset.purpose === ASSET_PURPOSE_LEASE ? reqInfo.selectedPeriodCount : 0 },\r\n category: asset.subCategory,\r\n cost: pricePerValue,\r\n type: ASSET,\r\n quantity: reqInfo.selectedCount,\r\n period: {\r\n type: REQUEST_ONE_OFF,\r\n offset: 0,\r\n offsetType: LENGTH_DAY\r\n },\r\n payments,\r\n collected: {\r\n actionType,\r\n fromId: ''\r\n }\r\n },\r\n ...childAssets.map((item) => ({\r\n id: item.id,\r\n sid: shortId(),\r\n title: item.title,\r\n description: item.description,\r\n duration: { type: asset.leasePeriodUnit, length: asset.purpose === ASSET_PURPOSE_LEASE ? reqInfo.selectedPeriodCount : 0 },\r\n category: item.subCategory,\r\n cost: convertCurrency(item.price, item.defaultCurrency, reqInfo.selectedPaymentPlatform.paymentCurrency),\r\n type: ASSET,\r\n quantity: reqInfo.selectedCount * assetRelations.find((rel) => (rel.childId === item.id)).childQty,\r\n period: {\r\n type: REQUEST_ONE_OFF,\r\n offset: 0,\r\n offsetType: LENGTH_DAY\r\n },\r\n payments,\r\n collected: {\r\n actionType,\r\n fromId: ''\r\n }\r\n }))\r\n ],\r\n material: {\r\n id: asset.id,\r\n title: asset.title,\r\n description: asset.description,\r\n duration: { type: asset.leasePeriodUnit, length: asset.purpose === ASSET_PURPOSE_LEASE ? reqInfo.selectedPeriodCount : 0 },\r\n category: asset.subCategory,\r\n cost: totalPrice,\r\n quantity: 1,\r\n period: { type: REQUEST_ONE_OFF, start: getTodayDate().toISOString() },\r\n payments\r\n },\r\n price: totalPrice,\r\n priceDescription: '',\r\n referralId: '',\r\n history: [],\r\n mode: TICKET_MODE_NORMAL,\r\n demanderSignCount: 1,\r\n supplierSignCount: 1\r\n } as Request;\r\n};\r\n\r\nexport const getProcurementOfTicket = async (ticket: Request, dispatch: any): Promise => {\r\n const { contract, schedules, purchaseItem, invoices } = await lambdaGetProcurementOfTicketMerged(ticket);\r\n if ([REQUESTED, OFFERREQUESTED, OFFERED, REOFFERED].includes(ticket.status) && !!ticket.contract) {\r\n if (contract) dispatch(updateContract(contract));\r\n }\r\n if (ticket.status === PROGRESSING || ticket.status === ARCHIVED) {\r\n if (contract) {\r\n dispatch(updateContract(contract));\r\n if (contract.scheduled === SCHEDULE_ON) {\r\n if (schedules && schedules.length > 0) {\r\n dispatch(updateSchedules(schedules));\r\n const schedule = schedules[0];\r\n if (schedule.status === STATUS_TEXT_ACTIVATED && purchaseItem) {\r\n dispatch(updatePurchaseItem({ ...purchaseItem, chatId: ticket.conversation } as ExPurchaseItem));\r\n }\r\n }\r\n } else if (purchaseItem) dispatch(updatePurchaseItem({ ...purchaseItem, chatId: ticket.conversation } as ExPurchaseItem));\r\n if (invoices && invoices.length > 0) dispatch(updateInvoices(invoices));\r\n }\r\n }\r\n return contract;\r\n};\r\n\r\nexport const checkPaymentCapability = async (price: number, currency: string, paymentMethod: number, user: any) => {\r\n const currencyUnit = currencyUnitToType(currency);\r\n if (fiatCurrencies.includes(currencyUnit)) {\r\n if (paymentMethod !== PAY_DIRECT_DEBIT) return false;\r\n const stripeAccount = await lambdaGetStripeAccount(user);\r\n return !!stripeAccount && !!stripeAccount.customerID && !!stripeAccount.detail && !!stripeAccount.detail.setupIntents && !!stripeAccount.detail.setupIntents.find((item) => (item.type === 'au_becs_debit' && item.status === 'succeeded'));\r\n }\r\n const res = await lambdaGetWalletBalances(user);\r\n if (currencyUnit === CRYPTO_ETHER) return price <= res.eth;\r\n if (currencyUnit === CRYPTO_TETHER) return price <= res.usdt;\r\n if (currencyUnit === CRYPTO_MRC) return price <= res.mrc.layer2;\r\n return true;\r\n};\r\n\r\nexport const initRequestInfo = async (isAuthenticated: boolean, serviceId: string, request: Request, payAccountNeedReload: boolean, dispatch: any) => {\r\n const s: MicroserviceInfoEx = await getServiceInfo(serviceId);\r\n if (s.bundleType === MICROSERVICE) {\r\n if (request) dispatch(setService(getValuesFromRequestEx(s, request)));\r\n else dispatch(setService(getDefaultValues(s, onceOffModelDefaultPeriodInfo(), false, 1, '')));\r\n } else {\r\n const bundledServices = [];\r\n const getBundledServicesPromises = [];\r\n if (request) {\r\n getBundledServicesPromises.push(...request.detail.map((material) => getServiceInfo(material.id).then((ser) => {\r\n bundledServices.push(getValuesFromMaterial(ser, material));\r\n })));\r\n dispatch(setService(getValuesFromRequestEx(s, request)));\r\n } else {\r\n getBundledServicesPromises.push(...s.json.full.map(({ id, count, sid, periodInfo }) => getServiceInfo(id).then((ser) => {\r\n bundledServices.push(getDefaultValues(ser, periodInfo, false, count, sid));\r\n })));\r\n dispatch(setService(getDefaultValues(s, onceOffModelDefaultPeriodInfo(), false, 1, '')));\r\n }\r\n await Promise.all(getBundledServicesPromises);\r\n dispatch(setBundledServices(bundledServices));\r\n }\r\n if (isAuthenticated) {\r\n if (payAccountNeedReload) {\r\n const res = await lambdaGetStripeAccount(getActiveId(ACCZIOM_USER, ACCZIOM_ORG));\r\n if (res && !res.errorMessage) {\r\n dispatch(setStripeAccount(res));\r\n dispatch(setPayAccountNeedReload(false));\r\n }\r\n }\r\n }\r\n // if (s.banner) {\r\n // const { url: newBannerUrl } = await httpGetOrgBannerUrl(s.banner);\r\n // const newLocalUrl = await fetchUrl(newBannerUrl);\r\n // dispatch(setActiveBannerUrl(newLocalUrl));\r\n // }\r\n};\r\n\r\nexport const getPriceFromService = (service: MicroserviceForReq, bundledServices: MicroserviceForReq[]) => {\r\n const request = getInitialRequestFromService({\r\n ...service,\r\n paymentOptions: paymentOptionFromStringToNumber(service.paymentOptions)\r\n }, bundledServices.map((bs) => ({\r\n ...bs,\r\n paymentOptions: paymentOptionFromStringToNumber(bs.paymentOptions)\r\n })), { id: '', type: ACCZIOM_NONE }, { id: '', type: ACCZIOM_NONE }, TICKET_MODE_PROPOSAL);\r\n const contract = {\r\n ...getInitializedContract(null, request),\r\n supplierSignedAt: new Date(),\r\n customerSignedAt: new Date()\r\n };\r\n return getPriceList(CONTRACT_MODE, contract, null);\r\n};\r\n\r\nexport const isCompletedQuestionnaire = (service: MicroserviceForReq, bundledServices: MicroserviceForReq[]) => (service.completedQuestionnaire && bundledServices.filter((s) => !s.completedQuestionnaire).length === 0);\r\n\r\nexport const getPriceFromRequest = (request: Request, referral: Referral) => {\r\n const contract = {\r\n ...getInitializedContract(null, request),\r\n supplierSignedAt: new Date(),\r\n customerSignedAt: new Date()\r\n };\r\n if (referral) {\r\n contract.referral = {\r\n id: referral.id,\r\n amount: referral.amount,\r\n unit: referral.unit,\r\n creator: referral.creator,\r\n creatorAgent: convert2Array(referral.creatorAgent),\r\n partner: referral.partner,\r\n partnerAgent: convert2Array(referral.partnerAgent)\r\n };\r\n }\r\n return getPriceList(CONTRACT_MODE, contract, null);\r\n};\r\n\r\nexport const getDateFromRequest = (request: Request, referral: Referral) => {\r\n const contract = {\r\n ...getInitializedContract(null, request),\r\n supplierSignedAt: new Date(),\r\n customerSignedAt: new Date()\r\n };\r\n if (referral) {\r\n contract.referral = {\r\n id: referral.id,\r\n amount: referral.amount,\r\n unit: referral.unit,\r\n creator: referral.creator,\r\n creatorAgent: convert2Array(referral.creatorAgent),\r\n partner: referral.partner,\r\n partnerAgent: convert2Array(referral.partnerAgent)\r\n };\r\n }\r\n return getDateList(CONTRACT_MODE, contract, null);\r\n};\r\n\r\nexport const getTicketPrice = (ticket: Request): number => {\r\n const { material, price } = ticket;\r\n const { payments } = material;\r\n const { gst } = payments;\r\n let gstRate = 0;\r\n if (gst) gstRate = gst.rate;\r\n return Math.round(price * (100 + gstRate)) / 100;\r\n};\r\n\r\nexport const getOrganizationTicket = (orgInfo: Organization, prevScale: number, prevExtraMembers = 0): Request => {\r\n const now = new Date().toISOString();\r\n // const curPrice = scaleCardDetail.find((v) => v.value === `${orgInfo.totalMembers}`).price;\r\n // const prevPrice = scaleCardDetail.find((v) => v.value === `${prevScale}`).price;\r\n const curCard = scaleCardDetail.find((v) => v.value === `${orgInfo.totalMembers}`);\r\n const curPrice = curCard.price + curCard.extra_cost_per_one * (orgInfo.businessInfo.extraClients ?? 0);\r\n const prevCard = scaleCardDetail.find((v) => v.value === `${prevScale}`);\r\n const prevPrice = prevCard.price + (prevCard.extra_cost_per_one ?? 0) * (prevExtraMembers ?? 0);\r\n const price = curPrice - prevPrice;\r\n return {\r\n uid: uuidv4(),\r\n title: 'Organization Usage Fee',\r\n hiMsg: '',\r\n demander: { id: orgInfo.organizationId, type: ACCZIOM_ORG },\r\n demanderAgent: [],\r\n supplier: { id: ACCZIOM_ADMIN_ORG_ID, type: ACCZIOM_ORG },\r\n supplierAgent: [{ id: ACCZIOM_ADMIN_ORG_TEAM_ID, type: ACCZIOM_TEAM }],\r\n reqType: ORGANIZATION,\r\n fileName: '',\r\n attachment_uri: '',\r\n status: REQUESTED,\r\n detail: [{\r\n id: orgInfo.organizationId,\r\n sid: shortId(),\r\n title: orgInfo.tradingName,\r\n description: '',\r\n duration: { length: 1, type: LENGTH_YEAR },\r\n category: ORGANIZATION,\r\n cost: price,\r\n type: ORGANIZATION,\r\n quantity: 1,\r\n collected: {},\r\n period: {\r\n type: REQUEST_ONE_OFF,\r\n offset: 0,\r\n offsetType: LENGTH_DAY\r\n },\r\n payments: {\r\n gst: {\r\n rate: 0\r\n },\r\n interest: {\r\n rate: 0,\r\n type: COMPOUND_INTEREST_TYPE,\r\n rateType: LENGTH_YEAR\r\n },\r\n paymentTool: PAY_STRIPE,\r\n invoiceOffset: 0,\r\n paymentMethod: PAY_CREDIT_CARD,\r\n // paymentOption: {\r\n // type: PERIOD_PAYMENT,\r\n // finalOffset: 1,\r\n // finalPeriod: LENGTH_MONTH,\r\n // initialAmount: 0,\r\n // initialOffset: 1\r\n // }\r\n paymentOption: {\r\n type: UPFRONT_PAYMENT,\r\n initialOffset: 1,\r\n initialAmount: '100',\r\n finalPeriod: 1,\r\n finalOffset: 0\r\n },\r\n paymentCurrency: 'AUD',\r\n modifications: []\r\n }\r\n }],\r\n material: {\r\n id: orgInfo.organizationId,\r\n title: orgInfo.tradingName,\r\n description: '',\r\n duration: { length: 1, type: LENGTH_YEAR },\r\n category: ORGANIZATION,\r\n cost: price,\r\n quantity: 1,\r\n period: {\r\n type: REQUEST_ONE_OFF,\r\n // start: new Date(new Date(orgInfo.createdAt).toDateString()).toISOString,\r\n start: new Date(new Date().toDateString()).toISOString()\r\n },\r\n payments: {\r\n gst: {\r\n rate: 0\r\n },\r\n interest: {\r\n rate: 10,\r\n type: COMPOUND_INTEREST_TYPE,\r\n rateType: LENGTH_YEAR\r\n },\r\n paymentTool: PAY_STRIPE,\r\n invoiceOffset: 0,\r\n paymentMethod: PAY_CREDIT_CARD,\r\n // paymentOption: {\r\n // type: PERIOD_PAYMENT,\r\n // finalOffset: 1,\r\n // finalPeriod: LENGTH_MONTH,\r\n // initialAmount: 0,\r\n // initialOffset: 1\r\n // }\r\n paymentOption: {\r\n type: UPFRONT_PAYMENT,\r\n initialOffset: 1,\r\n initialAmount: '100',\r\n finalPeriod: 1,\r\n finalOffset: 0\r\n },\r\n paymentCurrency: 'AUD',\r\n modifications: []\r\n },\r\n targetScale: orgInfo.totalMembers,\r\n extraScale: orgInfo.businessInfo.extraClients ?? 0,\r\n },\r\n price,\r\n priceDescription: '',\r\n referralId: '',\r\n history: [{ eventName: 'requestedAt', occuredAt: new Date().toISOString() }],\r\n mode: TICKET_MODE_NORMAL,\r\n demanderSignCount: 1,\r\n supplierSignCount: 1,\r\n createdAt: now,\r\n updatedAt: now\r\n } as Request;\r\n};\r\n","import { createSlice } from '@reduxjs/toolkit';\r\nimport type { PayloadAction } from '@reduxjs/toolkit';\r\nimport type { AppThunk } from 'src/store';\r\nimport type {\r\n Microservice,\r\n} from 'src/../../Common/Model/microservice';\r\nimport { NodeModel } from '@minoru/react-dnd-treeview';\r\nimport { MicroserviceData } from 'src/types/microservice';\r\nimport { STATUS_TEXT_PUBLISHED, STATUS_TEXT_READY, STATUS_TEXT_REMOVED } from 'src/globals';\r\nimport { deepCopy } from 'src/utils/copyObject';\r\n\r\ninterface ServiceState {\r\n services: Microservice[];\r\n sharedServices: Microservice[];\r\n data: {\r\n past: NodeModel[][],\r\n present: NodeModel[],\r\n future: NodeModel[][]\r\n };\r\n bChanged: boolean;\r\n needReload: boolean;\r\n}\r\n\r\nconst initialState: ServiceState = {\r\n services: [],\r\n sharedServices: [],\r\n data: {\r\n past: [],\r\n present: [],\r\n future: []\r\n },\r\n bChanged: false,\r\n needReload: true\r\n};\r\n\r\nconst slice = createSlice({\r\n name: 'service',\r\n initialState,\r\n reducers: {\r\n clearState(state: ServiceState) {\r\n state.services.splice(0, state.services.length);\r\n state.data = {\r\n past: [],\r\n present: [],\r\n future: []\r\n };\r\n state.bChanged = false;\r\n state.needReload = true;\r\n },\r\n loadRelatedServices(state: ServiceState, action: PayloadAction<{ services: Microservice[]; sharedServices: Microservice[]; }>) {\r\n const { services, sharedServices } = action.payload;\r\n state.services = services;\r\n state.sharedServices = sharedServices;\r\n state.needReload = false;\r\n },\r\n setServices(state: ServiceState, action: PayloadAction<{ services: Microservice[]; }>) {\r\n const { services } = action.payload;\r\n state.services = [...services];\r\n state.needReload = false;\r\n },\r\n setNeedReload(state: ServiceState, action: PayloadAction): void {\r\n state.needReload = action.payload;\r\n },\r\n addNewService(state: ServiceState, action: PayloadAction<{ service: Microservice; }>) {\r\n const { service } = action.payload;\r\n state.services.push(service);\r\n },\r\n addMultiServices(state: ServiceState, action: PayloadAction<{ services: Microservice[]; }>) {\r\n const { services } = action.payload;\r\n state.services.push(...services);\r\n },\r\n updateService(state: ServiceState, action: PayloadAction<{ service: Microservice; }>) {\r\n const { service } = action.payload;\r\n const index = state.services.findIndex((svc) => svc.id === service.id);\r\n if (index > -1) state.services[index] = service;\r\n state.bChanged = false;\r\n },\r\n removeService(state: ServiceState, action: PayloadAction<{ id: string; }>) {\r\n const { id } = action.payload;\r\n const index = state.services.findIndex((svc) => svc.id === id);\r\n state.services.splice(index, 1);\r\n },\r\n removeServiceByStat(state: ServiceState, action: PayloadAction<{ removed: number; id : string; updatedAt: Date | string; }>) {\r\n const { removed, id, updatedAt } = action.payload;\r\n if (removed > 0) {\r\n const index = state.services.findIndex((svc) => svc.id === id);\r\n state.services.splice(index, 1);\r\n } else {\r\n const service = state.services.find((svc) => svc.id === id);\r\n service.stat = STATUS_TEXT_REMOVED;\r\n service.updatedAt = updatedAt;\r\n }\r\n },\r\n setData(state: ServiceState, action: PayloadAction<{ data: NodeModel[]; isInitial: boolean; }>) {\r\n const { data, isInitial } = action.payload;\r\n if (!isInitial) state.data.past.push(state.data.present);\r\n state.data.present = data;\r\n state.data.future = [];\r\n },\r\n setChanged(state: ServiceState) {\r\n state.bChanged = true;\r\n },\r\n publishService(state: ServiceState, action: PayloadAction<{ id: string; }>) {\r\n const { id } = action.payload;\r\n const index = state.services.findIndex((svc) => svc.id === id);\r\n if (index === -1) return;\r\n state.services[index].stat = STATUS_TEXT_PUBLISHED;\r\n state.services[index].publishedAt = new Date().toISOString();\r\n },\r\n undo(state: ServiceState) {\r\n if (state.data.past.length > 0) {\r\n state.data.future = [\r\n state.data.present,\r\n ...state.data.future\r\n ];\r\n state.data.present = [\r\n ...state.data.past[state.data.past.length - 1]\r\n ];\r\n state.data.past.splice(-1);\r\n state.bChanged = true;\r\n }\r\n },\r\n redo(state: ServiceState) {\r\n if (state.data.future.length > 0) {\r\n state.data.past = [\r\n ...state.data.past,\r\n state.data.present,\r\n ];\r\n state.data.present = [\r\n ...state.data.future[0]\r\n ];\r\n state.data.future.shift();\r\n state.bChanged = true;\r\n }\r\n },\r\n setServiceToReady(state: ServiceState, action: PayloadAction<{ duplicated: number; oldId: string; newId: string; updatedAt: Date | string; }>): void {\r\n const { duplicated, oldId, newId, updatedAt } = action.payload;\r\n const oldService = state.services.find((service) => service.id === oldId);\r\n if (duplicated > 0) {\r\n const newService = deepCopy(oldService);\r\n newService.id = newId;\r\n newService.stat = STATUS_TEXT_READY;\r\n newService.updatedAt = updatedAt;\r\n state.services.push(newService);\r\n oldService.stat = STATUS_TEXT_REMOVED;\r\n oldService.updatedAt = updatedAt;\r\n } else if (oldService.stat === STATUS_TEXT_PUBLISHED) {\r\n oldService.stat = STATUS_TEXT_READY;\r\n oldService.updatedAt = updatedAt;\r\n }\r\n }\r\n }\r\n});\r\n\r\nexport const { reducer } = slice;\r\n\r\nexport const clearMsTemplateState = (): AppThunk => async (dispatch) => {\r\n dispatch(slice.actions.clearState());\r\n};\r\n\r\nexport const loadRelatedServices = (services: Microservice[], sharedServices: Microservice[]): AppThunk => async (dispatch) => {\r\n dispatch(slice.actions.loadRelatedServices({ services, sharedServices }));\r\n};\r\n\r\nexport const loadServices = (services: Microservice[]): AppThunk => async (dispatch) => {\r\n dispatch(slice.actions.setServices({ services }));\r\n};\r\n\r\nexport const setNeedReload = (needReload: boolean) : AppThunk => async (dispatch): Promise => {\r\n dispatch(slice.actions.setNeedReload(needReload));\r\n};\r\n\r\nexport const addNewService = (service : Microservice): AppThunk => async (dispatch) => {\r\n dispatch(slice.actions.addNewService({ service }));\r\n};\r\n\r\nexport const addMultiServices = (services : Microservice[]): AppThunk => async (dispatch) => {\r\n dispatch(slice.actions.addMultiServices({ services }));\r\n};\r\n\r\nexport const removeService = (id : string): AppThunk => async (dispatch) => {\r\n dispatch(slice.actions.removeService({ id }));\r\n};\r\n\r\nexport const removeServiceByStat = (removed: number, id : string, updatedAt: Date | string): AppThunk => async (dispatch) => {\r\n dispatch(slice.actions.removeServiceByStat({ removed, id, updatedAt }));\r\n};\r\n\r\nexport const updateService = (service : Microservice): AppThunk => async (dispatch) => {\r\n dispatch(slice.actions.updateService({ service }));\r\n};\r\n\r\nexport const setData = (data:NodeModel[], isInitial = false): AppThunk => async (dispatch) => {\r\n dispatch(slice.actions.setData({ data, isInitial }));\r\n};\r\nexport const setChanged = (): AppThunk => async (dispatch) => {\r\n dispatch(slice.actions.setChanged());\r\n};\r\nexport const undo = (): AppThunk => async (dispatch) => {\r\n dispatch(slice.actions.undo());\r\n};\r\nexport const redo = (): AppThunk => async (dispatch) => {\r\n dispatch(slice.actions.redo());\r\n};\r\nexport const publishService = (id:string): AppThunk => async (dispatch) => {\r\n dispatch(slice.actions.publishService({ id }));\r\n};\r\nexport const setServiceToReady = (duplicated: number, oldId: string, newId: string, updatedAt: Date | string): AppThunk => async (dispatch) => {\r\n dispatch(slice.actions.setServiceToReady({ duplicated, oldId, newId, updatedAt }));\r\n};\r\nexport default slice;\r\n","import { createSlice } from '@reduxjs/toolkit';\r\nimport type { PayloadAction } from '@reduxjs/toolkit';\r\nimport type { AppThunk } from 'src/store';\r\nimport type { Asset } from 'src/../../Common/Model/asset';\r\nimport { STATUS_PENDING, ACTION_TYPE_LEASE, STATUS_REMOVED } from 'src/globals';\r\nimport { AssetAction } from 'src/../../Common/Model/assetAction';\r\n\r\ninterface AssetState {\r\n assets: Asset[];\r\n leaseActions: AssetAction[];\r\n needReload: boolean;\r\n recoverUrl: string;\r\n}\r\n\r\nconst initialState: AssetState = {\r\n assets: [],\r\n leaseActions: [],\r\n needReload: true,\r\n recoverUrl: ''\r\n};\r\n\r\nconst slice = createSlice({\r\n name: 'asset',\r\n initialState,\r\n reducers: {\r\n clearState(state: AssetState) {\r\n state.assets.splice(0, state.assets.length);\r\n state.leaseActions.splice(0, state.leaseActions.length);\r\n state.needReload = true;\r\n state.recoverUrl = '';\r\n },\r\n setNeedReload(state: AssetState, action: PayloadAction): void {\r\n state.needReload = action.payload;\r\n },\r\n addAsset(state: AssetState, action: PayloadAction): void {\r\n const asset = action.payload;\r\n state.assets.push(asset);\r\n },\r\n removeAsset(state: AssetState, action: PayloadAction): void {\r\n const assetId = action.payload as string;\r\n state.assets = state.assets.filter((asset) => asset.id !== assetId);\r\n },\r\n removeAssetByStat(state: AssetState, action: PayloadAction<{ removed: number; id : string; updatedAt: Date | string; }>) {\r\n const { removed, id, updatedAt } = action.payload;\r\n if (removed > 0) {\r\n const index = state.assets.findIndex((ast) => ast.id === id);\r\n state.assets.splice(index, 1);\r\n } else {\r\n const asset = state.assets.find((ast) => ast.id === id);\r\n asset.status = STATUS_REMOVED;\r\n asset.updatedAt = updatedAt;\r\n }\r\n },\r\n returnAsset(state: AssetState, action: PayloadAction<{ assetId: string[], actionId: string }>) {\r\n const { assetId, actionId } = action.payload;\r\n state.assets = state.assets.filter((asset) => !assetId.includes(asset.id));\r\n state.leaseActions = state.leaseActions.filter((item) => item.id !== actionId);\r\n },\r\n setAssets(state: AssetState, action: PayloadAction<{ assets: Asset[]; leaseActions: AssetAction[] }>) {\r\n const { assets, leaseActions } = action.payload;\r\n state.assets = assets;\r\n state.leaseActions = leaseActions;\r\n state.needReload = false;\r\n },\r\n updateAsset(state: AssetState, action: PayloadAction): void {\r\n const { assetId, asset } = action.payload;\r\n const index = state.assets.findIndex((item) => item.id === assetId);\r\n if (index >= 0) state.assets.splice(index, 1, asset);\r\n },\r\n updateMultiAssets(state: AssetState, action: PayloadAction): void {\r\n const updateds = action.payload;\r\n updateds.forEach((updated) => {\r\n const asset = state.assets.find((item) => item.id === updated.id);\r\n Object.keys(updated).forEach((key) => {\r\n if (key !== 'id') asset[key] = updated[key];\r\n });\r\n });\r\n },\r\n postponeLeaseForDemander(state: AssetState, action: PayloadAction<{ assetId: string, ticketId: string, endDate: Date | string, updatedAt: Date | string }>) {\r\n const { assetId, ticketId, endDate, updatedAt } = action.payload;\r\n const leaseAction = state.leaseActions.find((item) => (item.toAssetId.includes(assetId) && item.type === ACTION_TYPE_LEASE));\r\n if (leaseAction) {\r\n leaseAction.ticketId = [...leaseAction.ticketId, ticketId];\r\n leaseAction.endDate = endDate;\r\n leaseAction.status = STATUS_PENDING;\r\n leaseAction.updatedAt = updatedAt;\r\n }\r\n }\r\n }\r\n});\r\n\r\nexport const { reducer } = slice;\r\n\r\nexport const clearAssetState = (): AppThunk => (dispatch): void => {\r\n dispatch(slice.actions.clearState());\r\n};\r\n\r\nexport const setNeedReload = (needReload: boolean) : AppThunk => async (dispatch): Promise => {\r\n dispatch(slice.actions.setNeedReload(needReload));\r\n};\r\nexport const setAssets = (assets: Asset[], leaseActions: AssetAction[]): AppThunk => async (dispatch) => {\r\n dispatch(slice.actions.setAssets({ assets, leaseActions }));\r\n};\r\nexport const addAsset = (asset: Asset): AppThunk => async (dispatch) => {\r\n dispatch(slice.actions.addAsset(asset));\r\n};\r\nexport const updateAsset = (assetId: string, asset: Asset): AppThunk => async (dispatch) => {\r\n dispatch(slice.actions.updateAsset({ assetId, asset }));\r\n};\r\nexport const removeAsset = (assetId: string): AppThunk => async (dispatch) => {\r\n dispatch(slice.actions.removeAsset(assetId));\r\n};\r\nexport const removeAssetByStat = (removed: number, id : string, updatedAt: Date | string): AppThunk => async (dispatch) => {\r\n dispatch(slice.actions.removeAssetByStat({ removed, id, updatedAt }));\r\n};\r\nexport const returnAsset = (assetId: string[], actionId: string): AppThunk => async (dispatch) => {\r\n dispatch(slice.actions.returnAsset({ assetId, actionId }));\r\n};\r\nexport const updateMultiAssets = (updateds: any[]): AppThunk => async (dispatch) => {\r\n dispatch(slice.actions.updateMultiAssets(updateds));\r\n};\r\nexport const postponeLeaseForDemander = (assetId: string, ticketId: string, endDate: Date | string, updatedAt: Date | string): AppThunk => async (dispatch) => {\r\n dispatch(slice.actions.postponeLeaseForDemander({ assetId, ticketId, endDate, updatedAt }));\r\n};\r\n\r\nexport default slice;\r\n","import { createSlice } from '@reduxjs/toolkit';\r\nimport type { PayloadAction } from '@reduxjs/toolkit';\r\nimport type { AppThunk } from 'src/store';\r\nimport type { Card, Comment, Attachment, Contact } from 'src/types/kanban';\r\nimport { Todo, TodoResource } from 'src/../../Common/Model/todo';\r\nimport { TODO_RESOURCE_COMMENT, TODO_RESOURCE_ATTACHMENT } from 'src/globals';\r\n\r\ninterface KanbanState {\r\n cards: Card[];\r\n participants: Contact[];\r\n needReload: boolean;\r\n}\r\n\r\nconst initialState: KanbanState = {\r\n cards: [],\r\n participants: [],\r\n needReload: true\r\n};\r\n\r\nconst slice = createSlice({\r\n name: 'kanban',\r\n initialState,\r\n reducers: {\r\n clearState(state: KanbanState) {\r\n state.cards.splice(0, state.cards.length);\r\n state.participants.splice(0, state.participants.length);\r\n state.needReload = true;\r\n },\r\n setNeedReload(\r\n state: KanbanState,\r\n action: PayloadAction\r\n ): void {\r\n state.needReload = action.payload;\r\n },\r\n setData(\r\n state: KanbanState,\r\n action: PayloadAction<{\r\n todos: Todo[],\r\n resources: TodoResource[]\r\n }>\r\n ): void {\r\n const { todos, resources } = action.payload;\r\n state.cards = todos.map((todo) => ({\r\n ...todo,\r\n comments: resources.filter((sour) => sour.type === TODO_RESOURCE_COMMENT && sour.todoId === todo.id).map((sour) => ({\r\n id: sour.id,\r\n owner: sour.owner,\r\n createdAt: sour.createdAt,\r\n message: sour.resource,\r\n orgId: sour.orgId\r\n })),\r\n attachments: resources.filter((sour) => sour.type === TODO_RESOURCE_ATTACHMENT && sour.todoId === todo.id).map((sour) => {\r\n const r = JSON.parse(sour.resource);\r\n return {\r\n id: sour.id,\r\n owner: sour.owner,\r\n createdAt: sour.createdAt,\r\n orgId: sour.orgId,\r\n name: r.name,\r\n type: r.type,\r\n size: r.size,\r\n uri: r.uri\r\n };\r\n })\r\n }));\r\n },\r\n createCard(\r\n state: KanbanState,\r\n action: PayloadAction\r\n ): void {\r\n const todo = action.payload;\r\n state.cards = [...state.cards, {\r\n ...todo,\r\n comments: [],\r\n attachments: []\r\n }];\r\n },\r\n updateCard(\r\n state: KanbanState,\r\n action: PayloadAction<{ id: string; content: any }>\r\n ): void {\r\n const { id, content } = action.payload;\r\n state.cards = state.cards.map((card) => (card.id === id ? { ...card, ...content } : card));\r\n },\r\n deleteCard(\r\n state: KanbanState,\r\n action: PayloadAction\r\n ): void {\r\n const cardId = action.payload;\r\n state.cards = state.cards.filter((card) => card.id !== cardId);\r\n },\r\n addComment(\r\n state: KanbanState,\r\n action: PayloadAction<{ cardId: string, comment: Comment }>\r\n ): void {\r\n const { cardId, comment } = action.payload;\r\n state.cards = state.cards.map((card) => (card.id === cardId ? {\r\n ...card,\r\n comments: [...card.comments, comment]\r\n } : card));\r\n },\r\n addAttachment(\r\n state: KanbanState,\r\n action: PayloadAction<{ cardId: string, attachment: Attachment }>\r\n ): void {\r\n const { cardId, attachment } = action.payload;\r\n state.cards = state.cards.map((card) => (card.id === cardId ? {\r\n ...card,\r\n attachments: [...card.attachments, attachment]\r\n } : card));\r\n },\r\n setParticipants(\r\n state: KanbanState,\r\n action: PayloadAction\r\n ): void {\r\n state.participants = action.payload;\r\n }\r\n }\r\n});\r\n\r\nexport const { reducer } = slice;\r\n\r\nexport const clearKanbanState = (): AppThunk => (dispatch): void => {\r\n dispatch(slice.actions.clearState());\r\n};\r\n\r\nexport const setNeedReload = (\r\n needReload: boolean\r\n) : AppThunk => async (dispatch): Promise => {\r\n dispatch(slice.actions.setNeedReload(needReload));\r\n};\r\n\r\nexport const setData = (\r\n res: {\r\n todos: Todo[],\r\n resources: TodoResource[]\r\n }\r\n): AppThunk => async (dispatch): Promise => {\r\n dispatch(slice.actions.setData(res));\r\n};\r\n\r\nexport const createCard = (\r\n todo: Todo\r\n): AppThunk => async (dispatch): Promise => {\r\n dispatch(slice.actions.createCard(todo));\r\n};\r\n\r\nexport const updateCard = (\r\n id: string,\r\n content: any\r\n): AppThunk => async (dispatch): Promise => {\r\n dispatch(slice.actions.updateCard({ id, content }));\r\n};\r\n\r\nexport const deleteCard = (cardId: string): AppThunk => async (dispatch): Promise => {\r\n dispatch(slice.actions.deleteCard(cardId));\r\n};\r\n\r\nexport const addComment = (\r\n cardId: string,\r\n comment: Comment\r\n): AppThunk => async (dispatch): Promise => {\r\n dispatch(slice.actions.addComment({ cardId, comment }));\r\n};\r\n\r\nexport const addAttachment = (\r\n cardId: string,\r\n attachment: Attachment\r\n): AppThunk => async (dispatch): Promise => {\r\n dispatch(slice.actions.addAttachment({ cardId, attachment }));\r\n};\r\n\r\nexport const setParticipants = (\r\n participants: Contact[]\r\n): AppThunk => async (dispatch): Promise => {\r\n dispatch(slice.actions.setParticipants(participants));\r\n};\r\n\r\nexport default slice;\r\n","import { Box } from '@material-ui/core';\r\nimport type { FC } from 'react';\r\nimport 'react-loader-spinner/dist/loader/css/react-spinner-loader.css';\r\nimport Loader from 'react-loader-spinner';\r\nimport { useTheme } from '@material-ui/core/styles';\r\nimport 'src/components/display/loading.css';\r\n\r\nconst SpinnerScreen: FC = () => {\r\n const color = useTheme().palette.primary.main;\r\n return (\r\n theme.palette.background.default, // '#1c2531',\r\n display: 'flex',\r\n flexDirection: 'column',\r\n height: '100%',\r\n justifyContent: 'center',\r\n left: 0,\r\n position: 'fixed',\r\n top: 0,\r\n width: '100%',\r\n zIndex: 2000\r\n }}\r\n >\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default SpinnerScreen;\r\n","import { createSlice, PayloadAction } from '@reduxjs/toolkit';\r\nimport { AppThunk } from 'src/store';\r\nimport { User } from 'src/../../Common/Model/user';\r\nimport { objCopy } from 'src/utils/copyObject';\r\nimport { Organization, OrgMemberForClient } from 'src/../../Common/Model/organization';\r\nimport { CONNECT_DLG_CLOSED, MFA_STATUS_NOTLOADED } from 'src/globals';\r\n// import { lambdaPutUserInfo } from 'src/aws/lambdaDispatch';\r\n\r\nexport enum LoadingStatus {\r\n NONE = 1,\r\n LOADING = 2,\r\n COMPLETED = 3\r\n}\r\n\r\ninterface SearchInputProps {\r\n hasButton?: boolean;\r\n placeHolder?: string;\r\n}\r\n\r\ninterface UserState {\r\n userInfo: User | null;\r\n domainName: string;\r\n loadingStatus: LoadingStatus;\r\n requestedLocation: string;\r\n registeredVerificationInfo: any;\r\n inviteInfo: any;\r\n memberInfos: OrgMemberForClient[];\r\n memberNeedReload: boolean;\r\n connectDlgOpen: number;\r\n signingOrgInfo: Organization;\r\n isSearching: boolean;\r\n query: string;\r\n searchInfo: SearchInputProps;\r\n callApiInfo: { count: number; lastCalledAt: number; };\r\n mfaStatus: string;\r\n}\r\n\r\nconst initialState: UserState = {\r\n userInfo: null,\r\n domainName: '',\r\n loadingStatus: LoadingStatus.NONE,\r\n requestedLocation: null,\r\n registeredVerificationInfo: null,\r\n inviteInfo: null,\r\n memberInfos: [],\r\n memberNeedReload: true,\r\n connectDlgOpen: CONNECT_DLG_CLOSED,\r\n signingOrgInfo: null,\r\n isSearching: false,\r\n query: '',\r\n searchInfo: null,\r\n callApiInfo: { count: 0, lastCalledAt: 0 },\r\n mfaStatus: MFA_STATUS_NOTLOADED\r\n};\r\n\r\nconst slice = createSlice({\r\n name: 'user',\r\n initialState,\r\n reducers: {\r\n clearState(state: UserState) {\r\n state.userInfo = null;\r\n state.domainName = '';\r\n state.loadingStatus = LoadingStatus.NONE;\r\n state.requestedLocation = null;\r\n state.registeredVerificationInfo = null;\r\n state.inviteInfo = null;\r\n state.memberInfos.splice(0, state.memberInfos.length);\r\n state.memberNeedReload = true;\r\n state.connectDlgOpen = CONNECT_DLG_CLOSED;\r\n state.signingOrgInfo = null;\r\n state.isSearching = false;\r\n state.searchInfo = null;\r\n state.callApiInfo = { count: 0, lastCalledAt: 0 };\r\n state.mfaStatus = MFA_STATUS_NOTLOADED;\r\n },\r\n addCallApiCount(state: UserState): void {\r\n state.callApiInfo.count += 1;\r\n state.callApiInfo.lastCalledAt = Math.round(new Date().getTime() / 1000);\r\n },\r\n setMemberNeedReload(state: UserState, action: PayloadAction): void {\r\n state.memberNeedReload = action.payload;\r\n },\r\n updateUser(state: UserState, action: PayloadAction): void {\r\n const user = action.payload;\r\n objCopy(user, state.userInfo);\r\n },\r\n setUser(state: UserState, action: PayloadAction): void {\r\n const user = action.payload as User;\r\n state.userInfo = user;\r\n },\r\n setAvatar(state:UserState, action: PayloadAction): void {\r\n const avatar = action.payload as string;\r\n state.userInfo.avatar = avatar;\r\n },\r\n setLoadingStatus(state: UserState, action: PayloadAction): void {\r\n state.loadingStatus = action.payload;\r\n },\r\n setRequestedLocation(state: UserState, action: PayloadAction): void {\r\n state.requestedLocation = action.payload;\r\n },\r\n setVerificationStatus(state: UserState, action: PayloadAction): void {\r\n state.userInfo.identityVerified = action.payload;\r\n },\r\n setRegisteredVerificationInfo(state: UserState, action: PayloadAction): void {\r\n state.registeredVerificationInfo = action.payload;\r\n },\r\n setInviteInfo(state: UserState, action: PayloadAction): void {\r\n state.inviteInfo = action.payload;\r\n },\r\n setDomainName(state: UserState, action: PayloadAction): void {\r\n state.domainName = action.payload;\r\n },\r\n setMemberInfos(state: UserState, action: PayloadAction): void {\r\n state.memberInfos = action.payload as OrgMemberForClient[];\r\n state.memberNeedReload = false;\r\n },\r\n addMemberInfo(state: UserState, action: PayloadAction): void {\r\n const newMemberInfo = action.payload as OrgMemberForClient;\r\n state.memberInfos.push(newMemberInfo);\r\n },\r\n updateMemberInfo(state: UserState, action: PayloadAction): void {\r\n const newMemberInfo = action.payload as OrgMemberForClient;\r\n const oldMemberId = state.memberInfos.findIndex((memberInfo) => memberInfo.mid === newMemberInfo.mid);\r\n if (oldMemberId >= 0) state.memberInfos.splice(oldMemberId, 1, newMemberInfo);\r\n },\r\n updateMemberStatus(state: UserState, action: PayloadAction<{ mid: string; status: number; updatedAt: Date }>): void {\r\n const { mid, status, updatedAt } = action.payload;\r\n const curMember = state.memberInfos.find((member) => member.mid === mid);\r\n if (curMember) {\r\n curMember.status = status;\r\n curMember.updatedAt = updatedAt;\r\n }\r\n },\r\n deleteMemberInfo(state: UserState, action: PayloadAction): void {\r\n const memberId = action.payload as string;\r\n state.memberInfos = state.memberInfos.filter((memberInfo) => memberInfo.mid !== memberId);\r\n },\r\n setConnectDlgOpen(state: UserState, action: PayloadAction): void {\r\n state.connectDlgOpen = action.payload;\r\n },\r\n setSigningOrgInfo(state: UserState, action: PayloadAction): void {\r\n state.signingOrgInfo = action.payload;\r\n },\r\n setQuery(state: UserState, action: PayloadAction): void {\r\n state.query = action.payload;\r\n },\r\n setSearchInfo(state: UserState, action: PayloadAction): void {\r\n state.searchInfo = action.payload;\r\n },\r\n setIsSearching(state: UserState, action: PayloadAction): void {\r\n state.isSearching = action.payload;\r\n },\r\n setMFAStatus(state: UserState, action: PayloadAction): void {\r\n state.mfaStatus = action.payload;\r\n }\r\n }\r\n});\r\n\r\nexport const { reducer } = slice;\r\n\r\nexport const clearUserState = (): AppThunk => (dispatch): void => {\r\n dispatch(slice.actions.clearState());\r\n};\r\n\r\nexport const addCallApiCount = () : AppThunk => async (dispatch): Promise => {\r\n dispatch(slice.actions.addCallApiCount());\r\n};\r\n\r\nexport const setMemberNeedReload = (needReload: boolean) : AppThunk => async (dispatch): Promise => {\r\n dispatch(slice.actions.setMemberNeedReload(needReload));\r\n};\r\n\r\nexport const setUserInfo = (_body: any) : AppThunk => async (dispatch): Promise => {\r\n dispatch(slice.actions.setUser(_body));\r\n};\r\n\r\nexport const setVerificationStatus = (status: number) : AppThunk => async (dispatch): Promise => {\r\n dispatch(slice.actions.setVerificationStatus(status));\r\n};\r\n\r\nexport const setRegisteredVerificationInfo = (body: any) : AppThunk => async (dispatch): Promise => {\r\n dispatch(slice.actions.setRegisteredVerificationInfo(body));\r\n};\r\n\r\nexport const updateUserInfo = (_uid: string, _body: any) : AppThunk => async (dispatch): Promise => {\r\n // await lambdaPutUserInfo(_uid, _body);\r\n dispatch(slice.actions.updateUser(_body));\r\n};\r\n\r\nexport const setUserAvatar = (image: string) : AppThunk => async (dispatch): Promise => {\r\n dispatch(slice.actions.setAvatar(image));\r\n};\r\n\r\nexport const updateUserAvatar = (image: string) : AppThunk => async (dispatch): Promise => {\r\n dispatch(slice.actions.setAvatar(image));\r\n};\r\n\r\nexport const setLoadingStatus = (status: LoadingStatus) : AppThunk => async (dispatch): Promise => {\r\n dispatch(slice.actions.setLoadingStatus(status));\r\n};\r\n\r\nexport const setRequestedLocation = (path: string) : AppThunk => async (dispatch): Promise => {\r\n dispatch(slice.actions.setRequestedLocation(path));\r\n};\r\n\r\nexport const setInviteInfo = (info: any) : AppThunk => async (dispatch): Promise => {\r\n dispatch(slice.actions.setInviteInfo(info));\r\n};\r\n\r\nexport const setDomainName = (domainName: string) : AppThunk => async (dispatch): Promise => {\r\n dispatch(slice.actions.setDomainName(domainName));\r\n};\r\n\r\nexport const setMemberInfos = (members: OrgMemberForClient[]): AppThunk => async (dispatch) => {\r\n dispatch(slice.actions.setMemberInfos(members as OrgMemberForClient[]));\r\n};\r\n\r\nexport const addMemberInfo = (member: OrgMemberForClient): AppThunk => async (dispatch) => {\r\n dispatch(slice.actions.addMemberInfo(member as OrgMemberForClient));\r\n};\r\n\r\nexport const updateMemberInfo = (member: OrgMemberForClient): AppThunk => async (dispatch) => {\r\n dispatch(slice.actions.updateMemberInfo(member as OrgMemberForClient));\r\n};\r\n\r\nexport const updateMemberStatus = (mid: string, status: number, updatedAt: Date) : AppThunk => async (dispatch): Promise => {\r\n dispatch(slice.actions.updateMemberStatus({ mid, status, updatedAt }));\r\n};\r\n\r\nexport const deleteMemberInfo = (mid: string): AppThunk => async (dispatch) => {\r\n dispatch(slice.actions.deleteMemberInfo(mid));\r\n};\r\n\r\nexport const setConnectDlgOpen = (open: number) : AppThunk => async (dispatch): Promise => {\r\n dispatch(slice.actions.setConnectDlgOpen(open));\r\n};\r\n\r\nexport const setSigningOrgInfo = (info: Organization) : AppThunk => async (dispatch): Promise => {\r\n dispatch(slice.actions.setSigningOrgInfo(info));\r\n};\r\n\r\nexport const setQuery = (query: string) : AppThunk => async (dispatch): Promise => {\r\n dispatch(slice.actions.setQuery(query));\r\n};\r\n\r\nexport const setSearchInfo = (searchFunc: any) : AppThunk => async (dispatch): Promise => {\r\n dispatch(slice.actions.setSearchInfo(searchFunc));\r\n};\r\n\r\nexport const setIsSearching = (loading: boolean) : AppThunk => async (dispatch): Promise => {\r\n dispatch(slice.actions.setIsSearching(loading));\r\n};\r\n\r\nexport const setMFAStatus = (status: string) : AppThunk => async (dispatch): Promise => {\r\n dispatch(slice.actions.setMFAStatus(status));\r\n};\r\n\r\nexport default slice;\r\n","// import { MicroserviceInfo } from 'src/../../Common/Model/microservice';\r\nimport { httpGetMicroserviceForRequest } from 'src/apis/httpDispatch';\r\nimport { updateUserMinInfos } from 'src/slices/organization';\r\nimport gstore from 'src/store';\r\nimport { orgToMiniUser } from './getUserMinInfo';\r\n\r\nconst getServiceInfo = async (serviceId: string) => {\r\n const res = await httpGetMicroserviceForRequest(serviceId);\r\n const { serviceInfos, organizationInfos, tags, ratings } = res;\r\n gstore.dispatch(updateUserMinInfos([orgToMiniUser(organizationInfos)]));\r\n return {\r\n ...serviceInfos,\r\n providerName: organizationInfos.tradingName,\r\n providerLogo: organizationInfos.logo,\r\n tags,\r\n banner: organizationInfos.banner,\r\n url: organizationInfos.domainName,\r\n showRating: organizationInfos.showRating,\r\n statistics: ratings\r\n };\r\n};\r\n\r\nexport default getServiceInfo;\r\n","import { ACCZIOM_TEAM } from 'src/globals';\r\n\r\nexport const convert2Array = (agent): any[] => (Array.isArray(agent) ? agent : [agent]);\r\n\r\nexport const getAgentIds = (agent): string[] => (\r\n convert2Array(agent)\r\n .filter((team) => !!team?.id && team?.type === ACCZIOM_TEAM)\r\n .map((team) => team.id)\r\n);\r\n\r\nexport const getMyAgentIds = (agent, teamsInCurOrg): string[] => (\r\n convert2Array(agent)\r\n .filter((team) => (!!team?.id && team?.type === ACCZIOM_TEAM && teamsInCurOrg.some((myteam) => myteam.tid === team.id)))\r\n .map((team) => team.id)\r\n);\r\n\r\nexport const getMyAgentNames = (agent: any, teamsInCurOrg: any[]): string => {\r\n const teamIds = getMyAgentIds(agent, teamsInCurOrg);\r\n if (teamIds.length === 0) return '---';\r\n return teamIds.map((id) => teamsInCurOrg.find((team) => team.tid === id).name).join(', ');\r\n};\r\n\r\nexport const agentIncludes = (agent: any, teamIds: string[]): boolean => {\r\n const agentTeamIds = convert2Array(agent).filter((team) => !!team?.id && team?.type === ACCZIOM_TEAM).map(({ id }) => id);\r\n return teamIds.some((id) => agentTeamIds.includes(id));\r\n};\r\n\r\nexport const getChangedAgents = (oldAgents: any, newAgents: any) => {\r\n const oldAgentsArray = convert2Array(oldAgents);\r\n const removedIds = oldAgentsArray.filter((oa) => !newAgents.some((na) => na.id === oa.id));\r\n const addedIds = newAgents.filter((na) => !oldAgentsArray.some((oa) => oa.id === na.id));\r\n return {\r\n addedIds: addedIds.map((agent) => agent.id),\r\n removedIds: removedIds.map((agent) => agent.id)\r\n };\r\n};\r\n","import { createSlice, PayloadAction } from '@reduxjs/toolkit';\r\nimport { AppThunk } from 'src/store';\r\nimport { Template } from 'src/../../Common/Model/template';\r\n\r\ninterface TemplateState {\r\n list: Template[];\r\n}\r\n\r\nconst initialState: TemplateState = {\r\n list: []\r\n};\r\n\r\nconst slice = createSlice({\r\n name: 'templates',\r\n initialState,\r\n reducers: {\r\n clearState(state: TemplateState) {\r\n state.list = [];\r\n },\r\n setTemplateList(state: TemplateState, action: PayloadAction): void {\r\n state.list = action.payload as Template[];\r\n },\r\n setTemplateBody(state: TemplateState, action: PayloadAction