{"version":3,"sources":["components/api-authorization/ApiAuthorizationConstants.js","components/api-authorization/AuthorizeService.js","components/api-authorization/LoginMenu.js","components/NavMenu.js","components/AppBody.js","components/_fetch.js","components/toast.js","components/TextInput.js","components/Home.js","components/FetchData.js","components/Counter.js","components/api-authorization/AuthorizeRoute.js","components/api-authorization/Login.js","components/api-authorization/Logout.js","components/api-authorization/ApiAuthorizationRoutes.js","components/admin/AdminFunctions.js","components/admin/Roles.js","components/admin/CreateRole.js","components/util/AccessDenied.js","components/util/utilities.js","components/admin/Users.js","components/admin/Clients.js","components/layout/RowItem.js","components/admin/RoleDetails.js","components/admin/UserDetails.js","components/admin/CreateClient.js","components/admin/ClientDetails.js","components/admin/Admin.js","components/navbox.js","components/CreditApplicationStep1.js","components/CustomFunctions.js","components/modal.js","components/CreditApplicationStep2.js","components/CreditApplicationStep3.js","components/LoanApplicationStep1.js","components/LoanApplicationStep2.js","components/LoanApplicationStep3.js","components/FileHelper.js","components/Reporting.js","http-common.js","services/upload-files.service.js","components/upload-files.component.js","components/CreditApplicationReceived.js","components/PersonalFinancialStatement.js","components/SellerInformation.js","components/ApplicantPersonalFinancialStatement.js","services/upload-files-public.service.js","components/upload-files-public.component.js","components/LoanApplicationReceived.js","services/upload-files-vault.service.js","components/upload-files-vault.js","components/DocumentVault.js","components/Vessel.js","components/Lender.js","services/upload.applicant.service.js","components/upload.applicant.component.js","components/ApplicantUpload.js","App.js","index.js"],"names":["QueryParameterNames","LogoutActions","LoginActions","prefix","ApplicationPaths","DefaultLoginRedirectPath","ApiAuthorizationClientConfigurationUrl","ApiAuthorizationPrefix","Login","LoginFailed","LoginCallback","Register","Profile","LogOut","LoggedOut","LogOutCallback","IdentityRegisterPath","IdentityManagePath","authService","_callbacks","_nextSubscriptionId","_user","_isAuthenticated","_popUpDisabled","this","getUser","user","profile","ensureUserManagerInitialized","userManager","sub","access_token","state","signinSilent","createArguments","silentUser","updateState","success","console","log","Error","signinPopup","popUpUser","message","error","signinRedirect","redirect","url","signinCallback","signoutPopup","undefined","signoutRedirect","signoutCallback","response","data","notifySubscribers","callback","push","subscription","subscriptionId","subscriptionIndex","map","element","index","found","filter","length","splice","i","useReplaceToNavigate","status","AuthenticationResultStatus","Fail","Success","Redirect","fetch","ok","json","settings","automaticSilentRenew","includeIdTokenInSilentRenew","userStore","WebStorageStateStore","UserManager","events","addUserSignedOut","a","removeUser","LoginMenu","props","isAuthenticated","userName","_subscription","subscribe","populateState","unsubscribe","Promise","all","setState","name","profilePath","logoutPath","pathname","local","authenticatedView","registerPath","loginPath","anonymousView","NavItem","NavLink","tag","Link","className","to","Component","NavMenu","toggleNavbar","bind","collapsed","Navbar","light","Container","NavbarBrand","src","NavbarToggler","onClick","Collapse","isOpen","navbar","displayName","AppBody","children","_fetch","get","request","post","postBlob","put","delete","fetchValue","postValue","downloadFile","filename","fileType","window","URL","createObjectURL","Blob","type","document","createElement","style","body","appendChild","href","download","click","revokeObjectURL","method","contentType","isBlob","getAccessToken","token","headers","JSON","stringify","includes","statusText","reject","text","err","Toast","toastText","showToast","listItems","onToastClose","autoHideToastDelay","isSuccessToast","setTimeout","display","item","idx","key","TextInput","Label","TextChanged","Value","Style","Type","MaxTextLength","MaxNumericValue","Disabled","DefaultValue","AutoFocus","Decimals","useState","isActive","setIsActive","setValue","setClassName","classNameText","setClassNameText","handleTextChange","useEffect","id","width","value","maxLength","disabled","max","step","onInput","e","target","onKeyPress","event","test","preventDefault","onKeyDown","val","onPaste","pasteData","clipboardData","getData","replace","onBlur","startsWith","spl","split","onFocus","autoFocus","htmlFor","fontFamily","fontSize","Home","loading","sessionStorage","removeItem","getUserId","then","setItem","search","f","l","LastName","v","VesselManufacturer","h","HullIdentificationNumber","c","ClientId","dateFrom","DateFrom","dateTo","DateTo","userid","getItem","SearchResults","InteralNewLoanApplication","location","toastMessage","toastItems","Spinner","color","position","top","left","flexDirection","justifyContent","alignItems","marginTop","marginBottom","marginRight","minHeight","verticalAlign","onChange","placeholder","whiteSpace","marginLeft","createLoanApplication","maxWidth","maxHeight","overflow","cursor","lastName","clientNumber","loanAmount","vesselManufacturer","salesRep","dateSubmitted","colSpan","align","height","valign","FetchData","forecasts","populateWeatherData","contents","renderForecastsTable","aria-labelledby","forecast","date","temperatureC","temperatureF","summary","Counter","currentCount","incrementCounter","aria-live","AuthorizeRoute","ready","authenticated","authenticationChanged","populateAuthenticationState","link","path","returnUrl","protocol","host","hash","redirectUrl","encodeURIComponent","component","rest","render","action","login","getReturnUrl","processLoginCallback","URLSearchParams","redirectToProfile","redirectToRegister","signIn","result","navigateToReturnUrl","completeSignIn","fromQuery","origin","redirectToApiAuthorizationPath","encodeURI","apiAuthorizationPath","Logout","isReady","history","logout","processLogoutCallback","signOut","completeSignOut","ApiAuthorizationRoutes","loginAction","logoutAction","AdminFunctions","isAdminAsync","handleAdminUser","isAdmin","adminFunction","nonAdminFunction","getRoleIdByName","Roles","roles","sort","column","direction","getRoles","Row","Col","xl","lg","md","sm","xs","Button","Table","bordered","hover","handleSort","role","handleRowClick","roleId","existingRole","b","localeCompare","reverse","CreateRole","roleName","Input","createRole","Alert","AccessDenied","textAlign","padding","utilities","dimensions","XL","LG","MD","SM","getScreenWidth","innerWidth","Users","setWindowDimensions","innerHeight","users","clientOptions","client","addEventListener","getClientDropdown","getUsers","selected","options","searchUsers","existingUser","firstName","officePhone","email","userId","Clients","clients","getClients","searchClients","clientId","existingClient","toString","RowItem","Card","CardBody","RoleDetails","adminRoleId","addPool","removePool","addUser","showAddSection","showRemoveSection","getRoleDetails","AdminRoleId","renameRole","close","labelKey","addUserToRole","removeUserFromRole","ra","fade","UserDetails","active","ext","homePhone","mobilePhone","getUserDetails","checked","handleSave","dto","editUser","CreateClient","clientName","createClient","ClientDetails","getClientDetails","editClient","Admin","NavBox","ShowNavBox","ClientNumber","SaveOnClick","prevClientNumber","useRef","current","setClientNumber","loadNavBoxDropdowns","setClientLastName","CreditApplicationStatuses","setCreditApplicationStatuses","Locations","setLocations","SalesReps","setSalesReps","showPrintModal","setShowPrintModal","_ShowNavBox","setShowNavBox","CreditApplicationStatusId","setCreditApplicationStatusId","LocationId","setLocationId","SalesRepId","setSalesRepId","PrintLoanApplication","setPrintLoanApplication","PrintPFS","setPrintPFS","_LastName","ClientNo","PFSAvailable","setPFSAvailable","getCreditApplicationStatuses","getLocations","getSalesReps","loadApplicantData","creditApplicationStatusId","locationId","salesRepId","hasPFS","OnClickOrChange","sender","Id1","parseInt","Id2","updateCreditApplicationStatus","updateLocation","updateSalesRep","print","res","parts","blob","catch","opacity","fontWeight","letterSpacing","onRequestClose","contentLabel","overlayClassName","CreditApplicationStep1","termOtherRef","React","createRef","loanAmountRef","loadPage","Id","CreditApplicationId","searchParams","has","SalesRep","PurchaseOrRefinance","s","total","zeroOrValue","PurchasePrice","SalesTax","TradeBoatEquity","CashDownPayment","loanRaw","formatCurrency","totalRaw","TotalCost","LoanAmount","_value","isNaN","parseFloat","_values","dec","elements","substring","Intl","NumberFormat","currency","maximumFractionDigits","minimumFractionDigits","format","TakingTitle","Ownership","NewOrUsed","DealerPrivate","DealerName","Term","TermOther","_state","_key","charAt","toUpperCase","slice","calculateTotals","localStorage","save","cellSpacing","cellPadding","HearAboutUs","ResidentPrimaryDwelling","borderBottom","paddingTop","focus","formattedCurrency","ref","VesselYear","VesselModel","VesselLength","VesselType","VesselEngineManufacturer","VesselHP","VesselEngineType","VesselEngineFuel","TrailerYear","TrailerMake","TrailerModel","TradeYear","TradeManufacturer","TradeModel","TradeBoatingExperience","keyCode","allowedKeys","customFunctions","phoneNumber","dateTime","dateOrTime","Date","day","getDate","month","getMonth","year","getFullYear","hour","getHours","min","getMinutes","emailAddress","match","Popup","headerText","bodyText","showModal","button1Text","button1ClickHandler","showButton2","button2Text","button2ClickHandler","backgroundColor","border","borderRadius","CreditApplicationStep2","handleButton2Click","toastMessageSuccess","showToastSuccess","countries","states","emailValid","calculateTotal","BorrowerEmail","BorrowerDOB","sqlToJsDate","BorrowerSignatureDate","borrowerIncomeTotal","BorrowerIncomeWages","BorrowerIncomeDistributions","BorrowerIncomeRentalIncome","BorrowerIncomePension","BorrowerIncomeOther","BorrowerIncomeTotal","back","BorrowerFirstName","BorrowerLastName","BorrowerSSN","BorrowerUSCitizen","BorrowerUSCitizenCountry","BorrowerCellPhone","BorrowerOtherPhone","BorrowerSignature","ApplicationReceivedOffline","getElementById","scrollTo","behavior","sqlDate","sig","BorrowerMiddleInitial","lastNameOnBlur","formattedSSN","formattedPhone","paddingRight","BorrowerCurrentAddress","BorrowerCurrentCity","BorrowerCurrentStateId","BorrowerCurrentZip","BorrowerCurrentYears","BorrowerPreviousAddress","BorrowerPreviousCity","BorrowerPreviousStateId","BorrowerPreviousZip","BorrowerPreviousYears","BorrowerCurrentOwnOrRent","BorrowerCurrentMortgageRent","BorrowerCurrentEmployerName","BorrowerCurrentEmployerType","BorrowerCurrentEmployerPosition","BorrowerCurrentEmployerYears","BorrowerCurrentEmployerAddress","BorrowerCurrentEmployerCity","BorrowerCurrentEmployerStateId","BorrowerCurrentEmployerZip","BorrowerPreviousEmployerName","BorrowerPreviousEmployerType","BorrowerPreviousEmployerPosition","BorrowerPreviousEmployerYears","AcknowledgeDisclosuresAndDigitalSignature","toLocaleDateString","handleButton1Click","CreditApplicationStep3","ButtonText","CoBorrowerEmail","CoBorrowerDOB","CoBorrowerSignatureDate","coBorrowerIncomeTotal","CoBorrowerIncomeWages","CoBorrowerIncomeDistributions","CoBorrowerIncomeRentalIncome","CoBorrowerIncomePension","CoBorrowerIncomeOther","CoBorrowerIncomeTotal","CoBorrowerFirstName","CoBorrowerLastName","CoBorrowerSSN","CoBorrowerUSCitizen","CoBorrowerUSCitizenCountry","CoBorrowerCellPhone","CoBorrowerOtherPhone","CoBorrowerSignature","CoBorrowerMiddleInitial","CoBorrowerCurrentAddress","borrowerCurrentAddress","CoBorrowerCurrentCity","borrowerCurrentCity","CoBorrowerCurrentStateId","borrowerCurrentStateId","CoBorrowerCurrentZip","borrowerCurrentZip","CoBorrowerCurrentYears","borrowerCurrentYears","RelationshipToApplicant","loadBorrowerAddress","CoBorrowerPreviousAddress","CoBorrowerPreviousCity","CoBorrowerPreviousStateId","CoBorrowerPreviousZip","CoBorrowerPreviousYears","CoBorrowerCurrentOwnOrRent","CoBorrowerCurrentMortgageRent","CoBorrowerCurrentEmployerName","CoBorrowerCurrentEmployerType","CoBorrowerCurrentEmployerPosition","CoBorrowerCurrentEmployerYears","CoBorrowerCurrentEmployerAddress","CoBorrowerCurrentEmployerCity","CoBorrowerCurrentEmployerStateId","CoBorrowerCurrentEmployerZip","CoBorrowerPreviousEmployerName","CoBorrowerPreviousEmployerType","CoBorrowerPreviousEmployerPosition","CoBorrowerPreviousEmployerYears","LoanApplicationStep1","ContinueToken","purchasePriceRef","LastStep","continueToken","LoanApplicationStep2","LoanApplicationStep3","FileHelper","DownloadFile","Reporting","reps","repsCheckedAll","isSalesRep","From","To","Status","UserId","_reps","findIndex","_selectAll","_status","statusChecked","repsSelectAll","repChecked","alignSelf","paddingLeft","exportReport","appSubmissionDate","invoiceDate","borrowerLastName","lender","feePercent","feeAmount","loanProcessingAmount","dealerReferralName","dealerReferralAmount","axios","create","baseURL","file","creditApplicationId","documentTypeId","onUploadProgress","formData","FormData","append","http","UploadFiles","selectedFiles","progressInfos","fileInfos","trashColor","documentTypes","DocumentTypeId","selectFile","uploadFiles","fileInputRef","UploadService","getDocumentTypes","loadUploadFiles","getFiles","prevProps","files","_progressInfos","percentage","fileName","upload","Math","round","loaded","prev","nextMessage","finally","uploadId","progressInfo","aria-valuenow","aria-valuemin","aria-valuemax","accept","iconUrl","dtName","dateUploaded","size","deleteUpload","deleteUploadedDocument","CreditApplicationReceived","showUploadModal","autoRedirect","tempfilename","clear","printSave","showUploadScreen","PersonalFinancialStatement","borrowerSig","coBorrowerSig","BorrowerSignatureName","CoBorrowerSignatureName","assets","BoatDepositsPaidToDateValue","CheckingValue","SavingsValue","Ira401KValue","StockBondsValue","MutualFundValue","OtherValue","TrustFundValue","LifeInsuranceCashValue","PrimaryResidenceValue","SecondaryResidenceValue","OtherResidenceValue","RentalValue1","RentalValue2","RentalValue3","RealEstateOtherValue1","RealEstateOtherValue2","BusinessAssetPercentValue1","BusinessAssetPercentValue2","BusinessAssetPercentValue3","BusinessAssetPercentValue4","OtherAssetCurrentBoatValue","OtherAsset2ndBoatValue","OtherAssetRVAircraftValue","OtherAssetAutomobilesValue","OtherAssetArtJeweleryValue","OtherAssetOtherValue","liabilities","AutoLoanCurrentBalance1","AutoLoanCurrentBalance2","AutoLoanCurrentBalance3","StudentLoanCurrentBalance","UnsecuredLoanCurrentBalance","CreditCardsCurrentBalance","LineOfCreditCurrentBalance","OtherCurrentBalance1","OtherCurrentBalance2","OtherCurrentBalance3","PrimaryResidenceCurrentBalance","SecondaryResidenceCurrentBalance","OtherResidenceCurrentBalance","RentalBalance1","RentalBalance2","RentalBalance3","RealEstateOtherBalance1","RealEstateOtherBalance2","BusinessAssetBusinessCurrentBalance1","BusinessAssetBusinessCurrentBalance2","BusinessAssetBusinessCurrentBalance3","BusinessAssetBusinessCurrentBalance4","OtherSecuredLoansBoatCurrentBalance1","OtherSecuredLoansBoatCurrentBalance2","OtherSecuredLoansRVAircraftCurrentBalance","OtherSecuredLoansOtherCurrentBalance1","OtherSecuredLoansOtherCurrentBalance2","OtherSecuredLoansOtherCurrentBalance3","OtherSecuredLoansOtherCurrentBalance4","netWorth","assetsRaw","liabilitiesRaw","netWorthRaw","TotalAssets","TotalLiabilities","NetWorth","_url","calculateNetWorth","paddingBottom","BoatDepositsPaidToDateInstitution","AutoLoanInstitution1","AutoLoanMonthlyPayment1","CheckingInstitution","AutoLoanInstitution2","AutoLoanMonthlyPayment2","SavingsInstitution","AutoLoanInstitution3","AutoLoanMonthlyPayment3","Ira401KInstitution","StudentLoanInstitution","StudentLoanMonthlyPayment","StockBondsInstitution","UnsecuredLoanInstitution","UnsecuredLoanMonthlyPayment","OtherInstitution","CreditCardsInstitution","CreditCardsMonthlyPayment","TrustFundInstitution","LineOfCreditInstitution","LineOfCreditMonthlyPayment","LifeInsuranceCashInstitution","OtherInstitution1","OtherMonthlyPayment1","PrimaryResidenceLocation","PrimaryResidencePercentOwned","PrimaryResidenceMortgageHolder","PrimaryResidenceMonthlyRentalIncome","PrimaryResidenceMonthlyPayment","OtherResidenceLocation","OtherResidencePercentOwned","OtherResidenceMortgageHolder","OtherResidenceMonthlyRentalIncome","OtherResidenceMonthlyPayment","RentalLocation1","RentalPercentOwned1","RentalMortgageHolder1","RentalMonthlyRentalIncome1","RentalMonthlyPayment1","RentalLocation2","RentalPercentOwned2","RentalMortgageHolder2","RentalMonthlyRentalIncome2","RentalMonthlyPayment2","RentalLocation3","RentalPercentOwned3","RentalMortgageHolder3","RentalMonthlyRentalIncome3","RentalMonthlyPayment3","RealEstateOtherLocation1","RealEstateOtherPercentOwned1","RealEstateOtherMortgageHolder1","RealEstateOtherMonthlyRentalIncome1","RealEstateOtherMonthlyPayment1","BusinessAssetBusinessName1","BusinessAssetPercentOwned1","BusinessAssetBusinessDebts1","BusinessAssetBusinessInstitution1","BusinessAssetBusinessMonthlyPayment1","BusinessAssetBusinessName2","BusinessAssetPercentOwned2","BusinessAssetBusinessDebts2","BusinessAssetBusinessInstitution2","BusinessAssetBusinessMonthlyPayment2","BusinessAssetBusinessName3","BusinessAssetPercentOwned3","BusinessAssetBusinessDebts3","BusinessAssetBusinessInstitution3","BusinessAssetBusinessMonthlyPayment3","BusinessAssetBusinessName4","BusinessAssetPercentOwned4","BusinessAssetBusinessDebts4","BusinessAssetBusinessInstitution4","BusinessAssetBusinessMonthlyPayment4","OtherAssetsCurrentBoatInstitution","OtherSecuredLoansBoatInstitution1","OtherSecuredLoansBoatMonthlyPayment1","OtherAssets2ndBoatInstitution","OtherSecuredLoansRVAircraftInstitution","OtherSecuredLoansRVAircraftMonthlyPayment","OtherSecuredLoansOtherInstitution1","OtherSecuredLoansOtherMonthlyPayment1","OtherSecuredLoansOtherInstitution2","OtherSecuredLoansOtherMonthlyPayment2","OtherSecuredLoansOtherInstitution3","OtherSecuredLoansOtherMonthlyPayment3","HadBoatLoanBefore","HadBoatLoanBeforeLendingBanks","BankruptcyLast7Years","AlimonyChildSupport","AlimonyChildSupportObligation","AssetsJointlyOwned","AssetsJointlyOwnedMajorAssetHolder","DefendantInLawsuit","DefendantInLawsuitExplain","PrimaryBusinessBankRelationship","DiscloserAcknowledgement","SellerInformation","TradePayoff","SellerPayoff","_perc","DealerReferralAmount","DealerReferralPercent","toFixed","Number","EPSILON","decimals","Seller1Name","Seller2Name","SellerAddress","SellerEmail","SellerPhone","defaultChecked","LoanPayoffBankName","LoanPayoffPhone","LoanPayoffContact","LoanPayoffAccountNumber","PayoffAmount","PayoffThroughDate","LoanPayoffPerDiem","LoanPayoffAdditionalFundsNeeded","DealerBrokerName","DealerBrokerPrimaryContact","DealerBrokerEmail","DealerBrokerPhone","DealerReferralName","calculateReferralPercent","DocTitleServiceName","DocTitleServiceEmail","DocTitleServicePhone","DocumentationFee","TitleFee","OtherFee","LlcTrustName","LlcTrustAddress","LlcTrustEIN","LlcTrustNameTitle","ApplicantPersonalFinancialStatement","UploadFilesPublic","LoanApplicationReceived","sendSalesRep","Subject","Body","notes","Notes","FileName","showRecycleBinModal","disableRecycleBin","deletedFiles","restoreUploadId","showRestoreModal","recycleCount","deletedCount","_fileName","resize","loadRecycleBin","pages","restoreUpload","dateDeleted","showRestoreUploadModal","DocumentVault","Vessel","fuel","materials","getVessel","skipToast","CreditApplicationData","purchaseOrRefinance","creditApp","newOrUsed","vesselYear","YearBuilt","vesselModel","vesselLength","Beam","Draft","hullIdentificationNumber","textTransform","OfficialNumber","Material","GrossTons","NetTons","Engine1Year","vesselEngineManufacturer","Engine1SerialNumber","vesselHP","vesselEngineFuel","Engine1Type","Engine2Year","Engine2Make","Engine2SerialNumber","Engine2HP","Engine2Fuel","Engine2Type","Engine3Year","Engine3Make","Engine3SerialNumber","Engine3HP","Engine3Fuel","Engine3Type","Engine4Year","Engine4Make","Engine4SerialNumber","Engine4HP","Engine4Fuel","Engine4Type","VesselName","OldVesselName","HailingPort","CurrentLocation","SummerMooring","SummerMooringAddress","WinterMooring","WinterMooringAddress","trailerYear","TenderYear","trailerMake","TenderMake","trailerModel","TenderModel","TrailerVIN","TenderVIN","TrailerValue","TenderValue","Lender","getBanks","banks","calcFeeAmount","_fee","_feeString","FeePercent","fee","ceil","FeeAmount","responsive","BankId","BankApprovalNumber","BankRepName","InvoiceDate","InterestRate","MonthlyPayment","DateOfTheNote","FirstPaymentDueDate","MaturityDate","LoanProcessingFee","FlDocStampFee","SellerPayableTo","SellerAmount","SellerCheck","SellerWire","LoanPayoff1PayableTo","LoanPayoff1Amount","LoanPayoff1Check","LoanPayoff1Wire","LoanPayoff2PayableTo","LoanPayoff2Amount","LoanPayoff2Check","LoanPayoff2Wire","SalesTaxPayableTo","SalesTaxAmount","SalesTaxCheck","SalesTaxWire","DealerBrokerPayableTo","DealerBrokerAmount","DealerBrokerCheck","DealerBrokerWire","EscrowPayableTo","EscrowAmount","EscrowCheck","EscrowWire","Other1PayableTo","Other1Amount","Other1Check","Other1Wire","UploadApplicantFiles","ApplicantUpload","FirstName","errors","Last4SSN","ZipCode","identifyApplicant","App","exact","baseUrl","getElementsByTagName","getAttribute","rootElement","ReactDOM","basename"],"mappings":"4ZAEaA,EACA,YADAA,EAEF,UAGEC,EACK,kBADLA,EAEH,SAFGA,EAGA,aAGAC,EACJ,QADIA,EAEI,iBAFJA,EAGE,eAHFA,EAIF,UAJEA,EAKD,WAGNC,EAAS,kBAEFC,EAAmB,CAC9BC,yBAA0B,IAC1BC,uCAAuC,kBAAD,OAzBT,qBA0B7BC,uBAAwBJ,EACxBK,MAAM,GAAD,OAAKL,EAAL,YAAeD,GACpBO,YAAY,GAAD,OAAKN,EAAL,YAAeD,GAC1BQ,cAAc,GAAD,OAAKP,EAAL,YAAeD,GAC5BS,SAAS,GAAD,OAAKR,EAAL,YAAeD,GACvBU,QAAQ,GAAD,OAAKT,EAAL,YAAeD,GACtBW,OAAO,GAAD,OAAKV,EAAL,YAAeF,GACrBa,UAAU,GAAD,OAAKX,EAAL,YAAeF,GACxBc,eAAe,GAAD,OAAKZ,EAAL,YAAeF,GAC7Be,qBAAsB,4BACtBC,mBAAoB,2BCmLhBC,EAAc,IApNpB,iDACIC,WAAa,GADjB,KAEIC,oBAAsB,EAF1B,KAGIC,MAAQ,KAHZ,KAIIC,kBAAmB,EAJvB,KAQIC,gBAAiB,EARrB,8LAW2BC,KAAKC,UAXhC,cAWcC,EAXd,2BAYiBA,GAZjB,0PAgBYF,KAAKH,QAASG,KAAKH,MAAMM,QAhBrC,yCAiBmBH,KAAKH,MAAMM,SAjB9B,uBAoBcH,KAAKI,+BApBnB,uBAqB2BJ,KAAKK,YAAYJ,UArB5C,cAqBcC,EArBd,yBAsBeA,GAAQA,EAAKC,SAtB5B,8PA0BYH,KAAKH,QAASG,KAAKH,MAAMM,QA1BrC,yCA2BmBH,KAAKH,MAAMM,SA3B9B,uBA8BcH,KAAKI,+BA9BnB,uBA+B2BJ,KAAKK,YAAYJ,UA/B5C,cA+BcC,EA/Bd,gCAiCeA,QAjCf,IAiCeA,GAjCf,UAiCeA,EAAMC,eAjCrB,aAiCe,EAAeG,KAjC9B,6QAqCcN,KAAKI,+BArCnB,uBAsC2BJ,KAAKK,YAAYJ,UAtC5C,cAsCcC,EAtCd,yBAuCeA,GAAQA,EAAKK,cAvC5B,4KAkDiBC,GAlDjB,yFAmDcR,KAAKI,+BAnDnB,gCAqDqCJ,KAAKK,YAAYI,aAAaT,KAAKU,mBArDxE,cAqDkBC,EArDlB,OAsDYX,KAAKY,YAAYD,GAtD7B,kBAuDmBX,KAAKa,QAAQL,IAvDhC,qCA0DYM,QAAQC,IAAI,gCAAZ,MA1DZ,WA6DoBf,KAAKD,eA7DzB,uBA8D0B,IAAIiB,MAAM,uGA9DpC,yBAiEwChB,KAAKK,YAAYY,YAAYjB,KAAKU,mBAjE1E,eAiEsBQ,EAjEtB,OAkEgBlB,KAAKY,YAAYM,GAlEjC,kBAmEuBlB,KAAKa,QAAQL,IAnEpC,sCAqE2C,wBAAvB,KAAWW,QArE/B,0CAuE2BnB,KAAKoB,MAAM,gCAvEtC,QAwE4BpB,KAAKD,gBACbe,QAAQC,IAAI,+BAAZ,MAzEpB,mCA8E0Bf,KAAKK,YAAYgB,eAAerB,KAAKU,gBAAgBF,IA9E/E,iCA+E2BR,KAAKsB,YA/EhC,0CAiFoBR,QAAQC,IAAI,kCAAZ,MAjFpB,kBAkF2Bf,KAAKoB,MAAL,OAlF3B,+MAwFyBG,GAxFzB,gGA0FkBvB,KAAKI,+BA1FvB,uBA2F+BJ,KAAKK,YAAYmB,eAAeD,GA3F/D,cA2FkBrB,EA3FlB,OA4FYF,KAAKY,YAAYV,GA5F7B,kBA6FmBF,KAAKa,QAAQX,GAAQA,EAAKM,QA7F7C,yCA+FYM,QAAQC,IAAI,kCAAZ,MA/FZ,kBAgGmBf,KAAKoB,MAAM,mCAhG9B,wLAyGkBZ,GAzGlB,iFA0GcR,KAAKI,+BA1GnB,oBA4GgBJ,KAAKD,eA5GrB,sBA6GsB,IAAIiB,MAAM,uGA7GhC,uBAgHkBhB,KAAKK,YAAYoB,aAAazB,KAAKU,mBAhHrD,cAiHYV,KAAKY,iBAAYc,GAjH7B,kBAkHmB1B,KAAKa,QAAQL,IAlHhC,yCAoHYM,QAAQC,IAAI,wBAAZ,MApHZ,oBAsHsBf,KAAKK,YAAYsB,gBAAgB3B,KAAKU,gBAAgBF,IAtH5E,iCAuHuBR,KAAKsB,YAvH5B,0CAyHgBR,QAAQC,IAAI,2BAAZ,MAzHhB,kBA0HuBf,KAAKoB,MAAL,OA1HvB,wMA+H0BG,GA/H1B,uFAgIcvB,KAAKI,+BAhInB,gCAkImCJ,KAAKK,YAAYuB,gBAAgBL,GAlIpE,cAkIkBM,EAlIlB,OAmIY7B,KAAKY,YAAY,MAnI7B,kBAoImBZ,KAAKa,QAAQgB,GAAYA,EAASC,OApIrD,yCAsIYhB,QAAQC,IAAR,4DAtIZ,kBAuImBf,KAAKoB,MAAL,OAvInB,mJA2IgBlB,GACRF,KAAKH,MAAQK,EACbF,KAAKF,mBAAqBE,KAAKH,MAC/BG,KAAK+B,sBA9Ib,gCAiJcC,GAEN,OADAhC,KAAKL,WAAWsC,KAAK,CAAED,WAAUE,aAAclC,KAAKJ,wBAC7CI,KAAKJ,oBAAsB,IAnJ1C,kCAsJgBuC,GACR,IAAMC,EAAoBpC,KAAKL,WAC1B0C,KAAI,SAACC,EAASC,GAAV,OAAoBD,EAAQJ,eAAiBC,EAAiB,CAAEK,OAAO,EAAMD,SAAU,CAAEC,OAAO,MACpGC,QAAO,SAAAH,GAAO,OAAsB,IAAlBA,EAAQE,SAC/B,GAAiC,IAA7BJ,EAAkBM,OAClB,MAAM,IAAI1B,MAAJ,mDAAsDoB,EAAkBM,SAGlF1C,KAAKL,WAAWgD,OAAOP,EAAkB,GAAGG,MAAO,KA9J3D,0CAkKQ,IAAK,IAAIK,EAAI,EAAGA,EAAI5C,KAAKL,WAAW+C,OAAQE,IAAK,EAE7CZ,EADiBhC,KAAKL,WAAWiD,GAAGZ,eAnKhD,sCAwKoBxB,GACZ,MAAO,CAAEqC,sBAAsB,EAAMf,KAAMtB,KAzKnD,4BA4KUW,GACF,MAAO,CAAE2B,OAAQC,EAA2BC,KAAM7B,aA7K1D,8BAgLYX,GACJ,MAAO,CAAEsC,OAAQC,EAA2BE,QAASzC,WAjL7D,iCAqLQ,MAAO,CAAEsC,OAAQC,EAA2BG,YArLpD,sLAyLiCxB,IAArB1B,KAAKK,YAzLjB,iEA6L6B8C,MAAMvE,EAAiBE,wCA7LpD,WA6LY+C,EA7LZ,QA8LsBuB,GA9LtB,sBA+LkB,IAAIpC,MAAJ,uCDlMa,oBCkMb,MA/LlB,uBAkM6Ba,EAASwB,OAlMtC,QAkMYC,EAlMZ,QAmMiBC,sBAAuB,EAChCD,EAASE,6BAA8B,EACvCF,EAASG,UAAY,IAAIC,uBAAqB,CAC1C/E,ODzMmB,sBC4MvBqB,KAAKK,YAAc,IAAIsD,cAAYL,GAEnCtD,KAAKK,YAAYuD,OAAOC,iBAAxB,sBAAyC,sBAAAC,EAAA,sEAC/B,EAAKzD,YAAY0D,aADc,OAErC,EAAKnD,iBAAYc,GAFoB,4CA3MjD,wIAiN4B,OAAOhC,MAjNnC,MAsNeA,IAEFqD,EAA6B,CACtCG,SAAU,WACVD,QAAS,UACTD,KAAM,QCxNGgB,EAAb,kDACI,WAAYC,GAAQ,IAAD,8BACf,cAAMA,IAEDzD,MAAQ,CACT0D,iBAAiB,EACjBC,SAAU,MALC,EADvB,gEAUyB,IAAD,OAChBnE,KAAKoE,cAAgB1E,EAAY2E,WAAU,kBAAM,EAAKC,mBACtDtE,KAAKsE,kBAZb,6CAgBQ5E,EAAY6E,YAAYvE,KAAKoE,iBAhBrC,4KAoB8CI,QAAQC,IAAI,CAAC/E,EAAYwE,kBAAmBxE,EAAYO,YApBtG,mCAoBeiE,EApBf,KAoBgChE,EApBhC,KAqBQF,KAAK0E,SAAS,CACVR,kBACAC,SAAUjE,GAAQA,EAAKyE,OAvBnC,qIA2Bc,IAAD,EACiC3E,KAAKQ,MAAnC0D,EADH,EACGA,gBAAiBC,EADpB,EACoBA,SACzB,GAAKD,EAIE,CACH,IAAMU,EAAW,UAAMhG,EAAiBQ,SAClCyF,EAAa,CAAEC,SAAS,GAAD,OAAKlG,EAAiBS,QAAUmB,MAAO,CAAEuE,OAAO,IAC7E,OAAO/E,KAAKgF,kBAAkBb,EAAUS,EAAaC,GANrD,IAAMI,EAAY,UAAMrG,EAAiBO,UACnC+F,EAAS,UAAMtG,EAAiBI,OACtC,OAAOgB,KAAKmF,cAAcF,EAAcC,KAhCpD,wCAwCsBf,EAAUS,EAAaC,GACrC,OAAQ,kBAAC,WAAD,KACJ,kBAACO,EAAA,EAAD,KACI,kBAACC,EAAA,EAAD,CAASC,IAAKC,IAAMC,UAAU,YAAYC,GAAIb,GAA9C,SAAkET,IAEtE,kBAACiB,EAAA,EAAD,KACI,kBAACC,EAAA,EAAD,CAASC,IAAKC,IAAMC,UAAU,YAAYC,GAAIZ,GAA9C,cA9ChB,oCAoDkBI,EAAcC,GACxB,OAAQ,kBAAC,WAAD,UArDhB,GAA+BQ,aCAlBC,G,OAAb,kDAGI,WAAY1B,GAAQ,IAAD,8BACf,cAAMA,IAED2B,aAAe,EAAKA,aAAaC,KAAlB,gBACpB,EAAKrF,MAAQ,CACTsF,WAAW,GALA,EAHvB,2DAaQ9F,KAAK0E,SAAS,CACVoB,WAAY9F,KAAKQ,MAAMsF,cAdnC,+BAmBQ,OACI,gCACI,kBAACC,EAAA,EAAD,CAAQP,UAAU,qFAAqFQ,OAAK,GACxG,kBAACC,EAAA,EAAD,KACI,kBAACC,EAAA,EAAD,CAAaZ,IAAKC,IAAME,GAAG,KAAI,yBAAKU,IAAI,gBAAgBX,UAAU,gBAClE,kBAACY,EAAA,EAAD,CAAeC,QAASrG,KAAK4F,aAAcJ,UAAU,SACrD,kBAACc,EAAA,EAAD,CAAUd,UAAU,uCAAuCe,QAASvG,KAAKQ,MAAMsF,UAAWU,QAAM,GAC5F,wBAAIhB,UAAU,wBACV,kBAAC,EAAD,eA3BhC,GAA6BE,cAAhBC,EACFc,YAAcd,EAAQhB,KCH1B,IAAM+B,EAAb,uKAII,OACE,6BACE,kBAAC,EAAD,MACI,kBAACT,EAAA,EAAD,KAEDjG,KAAKiE,MAAM0C,eATtB,GAA6BjB,aCA7B,SAASkB,IACL,MAAO,CACHC,IAAKC,EAAQ,OACbC,KAAMD,EAAQ,QACdE,SAAUF,EAAQ,YAAQpF,GAAW,GACrCuF,IAAKH,EAAQ,OACbI,OAAQJ,EAAQ,UAChBK,WAAYL,EAAQ,MAAO,cAC3BM,UAAWN,EAAQ,OAAQ,cAC3BO,aARG,SAQUvF,EAAMwF,EAAUC,GACzB,IAAMhG,EAAMiG,OAAOC,IAAIC,gBAAgB,IAAIC,KAAK,CAAC7F,GAAO,CAAE8F,KAAML,KAC1DzD,EAAI+D,SAASC,cAAc,KACjChE,EAAEiE,MAAQ,gBACVF,SAASG,KAAKC,YAAYnE,GAC1BA,EAAEoE,KAAO3G,EACTuC,EAAEqE,SAAWb,EACbxD,EAAEsE,QACFZ,OAAOC,IAAIY,gBAAgB9G,KAInC,SAASuF,EAAQwB,EAAQC,EAAaC,GAClC,IACI,8CAAO,WAAOjH,EAAKyG,GAAZ,qBAAAlE,EAAA,sEACiBpE,EAAY+I,iBAD7B,cACGC,EADH,gBAEoBvF,MAAM5B,EAAK,CAC9B+G,OAAQA,EACRK,QAAUD,EAIN,CACI,oBAA+BhH,GAAf6G,EAA2B,mBAAqBA,EAChE,OAAU,oCACV,cAAgB,UAAhB,OAA2BG,IAPjB,CACd,oBAA+BhH,GAAf6G,EAA2B,mBAAqBA,EAChE,OAAU,qCAOdP,UAActG,GAARsG,EAAoB,KAAOY,KAAKC,UAAUb,KAbjD,WAEGnG,EAFH,QAeWuB,GAfX,uBAgBK,CAAC,IAAK,KAAK0F,SAASjH,EAASiB,QAM3B1B,EAAQS,EAASkH,WAtBxB,kBAuBQvE,QAAQwE,OAAO5H,IAvBvB,gBA0B6BM,GAAf6G,QAAsC7G,GAAV8G,EA1B1C,kCA0BsE3G,EAASwB,OA1B/E,oDA0BkG3B,GAAV8G,EA1BxF,kCA0BoH3G,EAASoH,OA1B7H,6DA0B4IpH,EA1B5I,qDA0BOC,EA1BP,uBA2BQA,GA3BR,4CAAP,wDA+BJ,MAAOoH,GACHpI,QAAQC,IAAI,6BAA+BmI,KDvD1CxC,EACJD,YAAcC,EAAQ/B,K,oBE+BhBwE,MAjCf,YAAuG,IAAtFC,EAAqF,EAArFA,UAAWC,EAA0E,EAA1EA,UAAWC,EAA+D,EAA/DA,UAAWC,EAAoD,EAApDA,aAAcC,EAAsC,EAAtCA,mBAAoBC,EAAkB,EAAlBA,eAOhF,OANID,GAAsBA,EAAqB,GAAkB,GAAbH,GAChDK,YAAW,WACPH,MACDC,GAIH,yBAAKhE,UAAU,gCAAgCuC,MAAOsB,EAAY,GAAK,CAAEM,QAAS,SAC9E,yBAAKnE,UAAWiE,EAAiB,sBAAwB,qBACrD,yBAAKjE,UAAWiE,EAAiB,6BAA+B,wBAC5D,yBACIjE,UAAWiE,EAAiB,oBAAsB,aAClDpD,QAAS,WACLkD,QAIZ,yBAAK/D,UAAU,aACX,+BAAQ4D,IAEXE,IAAsB,OAATA,QAAS,IAATA,OAAA,EAAAA,EAAW5G,QAAS,EAC9B,yBAAK8C,UAAU,aACX,mCACK8D,QADL,IACKA,OADL,EACKA,EAAWjH,KAAI,SAACuH,EAAMC,GAAP,OAAe,wBAAIC,IAAKD,GAAMD,QAGpD,Q,eCgHPG,MA1If,YAA6I,IAAD,EAAvHC,EAAuH,EAAvHA,MAAOC,EAAgH,EAAhHA,YAAaC,EAAmG,EAAnGA,MAAOC,EAA4F,EAA5FA,MAAOC,EAAqF,EAArFA,KAAMC,EAA+E,EAA/EA,cAAeC,EAAgE,EAAhEA,gBAAiBC,EAA+C,EAA/CA,SAAUC,EAAqC,EAArCA,aAAcC,EAAuB,EAAvBA,UAAWC,EAAY,EAAZA,SAAY,EACxGC,oBAAS,GAD+F,mBACjIC,EADiI,KACvHC,EADuH,OAG9GF,mBAAS,IAHqG,mBAG1HG,GAH0H,aAItGH,mBAAS,IAJ6F,mBAIjInF,EAJiI,KAItHuF,EAJsH,OAK9FJ,mBAAS,IALqF,mBAKjIK,EALiI,KAKlHC,EALkH,KAWxI,SAASC,EAAiBjC,GACtB6B,EAAS7B,GAEL4B,EADS,KAAT5B,QAAuBvH,GAARuH,GAOvB,OAbAkC,qBAAU,WACND,EAAiBhB,KAClB,CAAC,CAAEF,QAAOC,cAAaC,QAAOC,QAAOC,OAAMC,gBAAeC,kBAAiBC,WAAUC,eAAcE,cAYlG,yBAAKU,GAAG,cAAcrD,MAAO,CAAEsD,MAAO,gBAClC,2BACIzD,KAAgB,WAATwC,GAA8B,QAATA,GAA2B,UAATA,EAAoB,OAAkB,UAATA,EAAmB,OAASA,EACvGrC,MAAOoC,EACP3E,UAAWA,EACX8F,MAAK,iBAAEpB,QAAF,IAAEA,IAASM,SAAX,QAA2B,GAChCe,UAAS,OAAElB,QAAF,IAAEA,IAAiB,KAC5BmB,SAAQ,OAAEjB,QAAF,IAAEA,KACVkB,IAAa,QAARrB,EAAiB,aAAuB,UAARA,EAAmBE,EAAkB,GAC1EoB,UAAkBhK,GAAZgJ,EAAwB,OAASA,EAEvCiB,QAAS,SAACC,GACe,IAAD,IAWE,IAXT,QAATxB,SACuB1I,IAAnBkK,EAAEC,OAAOP,OAAkD,MAA3B,UAAAM,EAAEC,OAAOP,aAAT,eAAgB5I,SAA4C,KAA3B,UAAAkJ,EAAEC,OAAOP,aAAT,eAAgB5I,SACjFqI,EAAa,OACbE,EAAiB,cAGjBF,EAAa,IACbE,EAAiB,MAIZ,UAATb,SACuB1I,IAAnBkK,EAAEC,OAAOP,OAAkD,MAA3B,UAAAM,EAAEC,OAAOP,aAAT,eAAgB5I,SAA4C,KAA3B,UAAAkJ,EAAEC,OAAOP,aAAT,eAAgB5I,SACjFqI,EAAa,OACbE,EAAiB,cAGjBF,EAAa,IACbE,EAAiB,MAIzBC,EAAiBU,EAAEC,OAAOP,OAC1BrB,EAAY2B,EAAEC,OAAOP,QAGzBQ,WAAY,SAACC,GACT,GAAY,UAAR3B,GAA4B,UAARA,EAAkB,CAEtC,GADY,cACD4B,KAAKD,EAAMjC,KAIlB,OAAO,EAHPiC,EAAME,mBAOlBC,UAAW,SAACN,GACR,IAAIO,EAAMP,EAAEC,OAAOP,WACR5J,GAAPyK,IAAkBA,EAAM,IAC5B,IAAIV,EAAMpB,OACC3I,GAAP+J,IAAkBA,EAAM,UAEhB,UAARrB,GAAoB+B,EAAIzJ,QAAU+I,GAAgB,aAATG,EAAE9B,KAA+B,OAAT8B,EAAE9B,KAAc8B,EAAEK,iBAE3E,OAAR7B,GAA0B,aAATwB,EAAE9B,MACD,GAAdqC,EAAIzJ,SAAayJ,GAAY,KACf,GAAdA,EAAIzJ,SAAayJ,GAAY,KACjClC,EAAYkC,KAWpBC,QAAS,SAACL,GACN,GAAY,UAAR3B,GAA4B,UAARA,EAAkB,CACtC,IAAIiC,EAAYN,EAAMO,cAAcC,QAAQ,QACxCF,GACAA,EAAUG,QAAQ,WAAY,MAI1CC,OAAQ,SAACb,GACL,GAAY,UAARxB,EACA,GAAIwB,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,OAASd,EAAEC,OAAOP,MAAMxC,SAAS,KAE7EmB,EADUC,EAAQ,YAGjB,GAAI0B,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,MAAQd,EAAEC,OAAOP,MAAMxC,SAAS,KAAM,CACvF,IAAI6D,EAAMf,EAAEC,OAAOP,MAAMsB,MAAM,KAC/B,GAAqB,GAAjBD,EAAI,GAAGjK,OAEPuH,EADUC,EAAQ,MAItB,GAAqB,GAAjByC,EAAI,GAAGjK,OAEPuH,EADUC,EAAQ,KAKjB,UAATE,GACAa,EAAiB,KAGzB4B,QAAS,WACQ,UAATzC,GACAa,EAAiB,cAGzB6B,YAAWrC,IAGf,2BAAOjF,UAAWoF,EAAoB,UAATR,EAAmB,mBAAqB,UAAYY,EAAgB,GAAKA,EAAe+B,QAAS3C,EAAMrC,MAAK,2BAAOoC,GAAP,IAAc6C,WAAY,UAAWC,SAAU,UAAxL,OACKjD,QADL,IACKA,IAAS,MCjIbkD,EAAb,kDACI,WAAYjJ,GAAQ,IAAD,8BACf,cAAMA,IAEDzD,MAAQ,CACT2M,SAAS,GAJE,EADvB,4LAUQC,eAAeC,WAAW,oBAC1BD,eAAeC,WAAW,WAC1BD,eAAeC,WAAW,MAZlC,SAcc3N,EAAY4N,YACbC,MAAK,SAACnC,GACHgC,eAAeI,QAAQ,UAAWpC,GAClC,EAAKqC,YAjBrB,iSAuBYzN,KAAK0E,SAAS,CAAEyI,SAAS,IAEnBO,EAAI,IAAI9G,EAzB1B,SA2BkBlH,EAAYO,UACbsN,MAAK,SAACrN,GACCA,GAAQA,EAAKyE,MACb+I,EAAEvG,WAAW,uCAAyCjH,EAAKyE,MACtD4I,MAAK,SAACzL,GACHsL,eAAeI,QAAQ,eAAgB1L,SAhCvE,OAqCgB6L,EArChB,UAqCoB3N,KAAKQ,MAAMoN,gBArC/B,QAqC2C,GAC3BC,EAtChB,UAsCoB7N,KAAKQ,MAAMsN,0BAtC/B,QAsCqD,GACrCC,EAvChB,UAuCoB/N,KAAKQ,MAAMwN,gCAvC/B,QAuC2D,GAC3CC,EAxChB,UAwCoBjO,KAAKQ,MAAM0N,gBAxC/B,QAwC2C,GAC3BC,EAzChB,UAyC2BnO,KAAKQ,MAAM4N,gBAzCtC,QAyCkD,GAClCC,EA1ChB,UA0CyBrO,KAAKQ,MAAM8N,cA1CpC,QA0C8C,GAC9BC,EAASnB,eAAeoB,QAAQ,WAEpCd,EAAE7G,IAAI,+CAAiD8G,EAAI,MAAQE,EAAI,MAAQE,EAAI,MAAQE,EAAI,aAAeE,EAAW,WAAaE,EAAS,WAAaE,GACvJhB,MAAK,SAACzL,GACH,EAAK4C,SAAS,CAAE+J,cAAe3M,EAAMqL,SAAS,OA/ClE,kDAoDYnN,KAAK0E,SAAS,CAAEyI,SAAS,IACzBrM,QAAQC,IAAI,kBArDxB,4JAyD0BQ,GAAM,IAAD,OACvBvB,KAAK0E,SAAS,CAAEyI,SAAS,IACbvG,IAMNG,KAAK,gDAJA,CACP2H,2BAA2B,IAI1BnB,MAAK,SAACnC,GACO,GAANA,GACA,EAAK1G,SAAS,CAAEyI,SAAS,IACzBC,eAAeI,QAAQ,KAAMpC,GAC7B5D,OAAOmH,SAASzG,KAAO3G,GAGvB,EAAKmD,SAAS,CACV2E,WAAW,EACXuF,aAAc,uEACdzB,SAAS,SA5EjC,+BAkFc,IAAD,WACL,OACI,yBAAK3H,UAAU,iBACX,kBAAC,EAAD,CACI4D,UAAWpJ,KAAKQ,MAAMoO,aACtBtF,UAAWtJ,KAAKQ,MAAMqO,WACtBxF,UAAWrJ,KAAKQ,MAAM6I,UACtBE,aAAc,kBAAM,EAAK7E,SAAS,CAAE2E,WAAW,KAC/CG,mBAAoB,MAExB,yBAAKhE,UAAU,+BACa,IAAvBxF,KAAKQ,MAAM2M,QACR,6BACI,kBAAC2B,EAAA,EAAD,CAASC,MAAM,OAAOpI,SAAS,GAAGoB,MAAO,CAAEiH,SAAU,QAASC,IAAK,MAAOC,KAAM,UAElF,KAEN,yBAAKnH,MAAO,CAAEsD,MAAO,OAAQ1B,QAAS,OAAQwF,cAAe,MAAOC,eAAgB,aAAcC,WAAY,SAAUC,UAAW,QAC/H,yBAAKvH,MAAO,CAAE4B,QAAS,OAAQwF,cAAe,MAAOC,eAAgB,aAAcC,WAAY,SAAUE,aAAc,QACnH,2BACI3H,KAAK,SACLG,MAAO,CAAEsD,MAAO,MAAOmE,YAAa,MAAOvC,SAAU,OAAQwC,UAAW,OAAQC,cAAe,UAC/FC,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAEwJ,SAAUtC,EAAEC,OAAOP,SAEvCA,MAAOtL,KAAKQ,MAAM0N,SAClBzC,IAAK,OACLmE,YAAY,WACZ9D,WAAY,SAACF,GACK,UAAVA,EAAE9B,KACF,EAAK2D,YAIjB,2BACI7F,KAAK,OACLG,MAAO,CAAEsD,MAAO,MAAOmE,YAAa,MAAOvC,SAAU,OAAQwC,UAAW,OAAQC,cAAe,UAC/FC,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAEkJ,SAAUhC,EAAEC,OAAOP,SAEvCA,MAAOtL,KAAKQ,MAAMoN,SAClBrC,UAAW,GACXqE,YAAY,YACZ9D,WAAY,SAACF,GACK,UAAVA,EAAE9B,KACF,EAAK2D,YAIjB,2BACI7F,KAAK,OACL2D,UAAW,GACXxD,MAAO,CAAEsD,MAAO,MAAOmE,YAAa,MAAOvC,SAAU,OAAQwC,UAAW,OAAQC,cAAe,UAC/FC,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAEoJ,mBAAoBlC,EAAEC,OAAOP,SAEjDA,MAAOtL,KAAKQ,MAAMsN,mBAClB8B,YAAY,sBACZ9D,WAAY,SAACF,GACK,UAAVA,EAAE9B,KACF,EAAK2D,YAIjB,2BACI7F,KAAK,OACL2D,UAAW,GACXxD,MAAO,CAAEsD,MAAO,MAAOmE,YAAa,MAAOvC,SAAU,OAAQwC,UAAW,OAAQC,cAAe,UAC/FC,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAEsJ,yBAA0BpC,EAAEC,OAAOP,SAEvDA,MAAOtL,KAAKQ,MAAMwN,yBAClB4B,YAAY,MACZ9D,WAAY,SAACF,GACK,UAAVA,EAAE9B,KACF,EAAK2D,YAIjB,4BACIjI,UAAU,sBACVuC,MAAO,CAAE8H,WAAY,UACrBrE,WAAUxL,KAAKQ,MAAM2M,QACrB9G,QAAS,WACL,EAAKoH,WALb,UASA,4BACIjI,UAAU,sBACVuC,MAAO,CAAE8H,WAAY,SAAUC,WAAY,OAC3CtE,WAAUxL,KAAKQ,MAAM2M,QACrB9G,QAAS,WACL,EAAK3B,SAAS,CACVwJ,SAAU,GACVN,SAAU,GACVE,mBAAoB,GACpBE,yBAA0B,GAC1BI,cAAU1M,EACV4M,YAAQ5M,IAEZ,EAAK+L,WAbb,YAkBJ,yBAAK1F,MAAO,CAAEsD,MAAO,OAAQ1B,QAAS,OAAQwF,cAAe,SAAUC,eAAgB,WAAYC,WAAY,SAAUE,aAAc,MAAOO,WAAY,QACtJ,4BACItK,UAAU,sBACVuC,MAAO,CAAE8H,WAAY,UACrBrE,WAAUxL,KAAKQ,MAAM2M,QACrB9G,QAAS,WACL+G,eAAeI,QAAQ,UAAW,QAClC,EAAKuC,sBAAsB,6BANnC,wBAUA,4BACIvK,UAAU,uBACVuC,MAAO,CAAE8H,WAAY,SAAUP,UAAU,OACzC9D,WAAUxL,KAAKQ,MAAM2M,QACrB9G,QAAS,WACLmB,OAAOmH,SAASzG,KAAO,eAL/B,eAWR,yBAAKH,MAAO,CAAE4B,QAAS,OAAQwF,cAAe,MAAOC,eAAgB,aAAcC,WAAY,SAAUE,aAAc,QACnH,2BAAO/J,UAAU,kBACb,+BACI,4BACI,4BACI,kBAAC,EAAD,CACI4E,KAAK,QACLJ,MAAM,YACNC,YAAa,SAAC2B,GACV,EAAKlH,SAAS,CAAE0J,SAAUxC,KAE9B1B,MAAOlK,KAAKQ,MAAM4N,SAClBjE,MAAO,CAAEkB,MAAO,UAGxB,4BACI,kBAAC,EAAD,CACIjB,KAAK,QACLJ,MAAM,UACNC,YAAa,SAAC2B,GACV,EAAKlH,SAAS,CAAE4J,OAAQ1C,KAE5B1B,MAAOlK,KAAKQ,MAAM8N,OAClBnE,MAAO,CAAEkB,MAAO,cAOxC,yBAAKtD,MAAO,CAAEiI,SAAU,OAAQC,UAAW,SAAUC,SAAU,SAC3D,2BAAO1K,UAAU,YAAYuC,MAAO,CAAEiI,SAAU,SAC5C,+BACI,4BACI,kDACA,wCACA,sCACA,qCACA,2CACA,mDACA,yCACA,gDAGR,+BACKhQ,KAAKQ,MAAMiO,gBAAiB,UAAAzO,KAAKQ,MAAMiO,qBAAX,eAA0B/L,QAAS,EAA/D,UACG1C,KAAKQ,MAAMiO,qBADd,aACG,EAA0BpM,KAAI,SAACuH,EAAMC,GAAP,OAC1B,wBAAIC,IAAKD,EACL9B,MAAO,CAAEoI,OAAQ,WACjB9J,QAAS,WACL+G,eAAeI,QAAQ,KAAM5D,EAAKwB,IAClCgC,eAAeI,QAAQ,mBAAoB,KAC3ChG,OAAOmH,SAASzG,KAAO,4BAG3B,4BAAK0B,EAAKwG,UACV,4BAAKxG,EAAKyG,cACV,4BAAKzG,EAAK9G,QACV,4BAAK8G,EAAKpJ,OACV,4BAAKoJ,EAAK0G,YACV,4BAAK1G,EAAK2G,oBACV,4BAAK3G,EAAK4G,UACV,4BAAK5G,EAAK6G,mBAIlB,4BACI,wBAAIC,QAAS,EAAGC,MAAM,UAAtB,gCAOxB,yBAAKnL,UAAU,UACX,2BAAOuC,MAAO,CAAEsD,MAAO,OAAQuF,OAAQ,SACnC,+BACI,4BACI,wBAAID,MAAM,SAASE,OAAO,oBAhS1D,GAA0BnL,aCJboL,EAAb,kDAGE,WAAY7M,GAAQ,IAAD,8BACjB,cAAMA,IACDzD,MAAQ,CAAEuQ,UAAW,GAAI5D,SAAS,GAFtB,EAHrB,gEASInN,KAAKgR,wBATT,+BAsCI,IAAIC,EAAWjR,KAAKQ,MAAM2M,QACtB,2BAAG,2CACH2D,EAAUI,qBAAqBlR,KAAKQ,MAAMuQ,WAE9C,OACE,6BACE,wBAAI3F,GAAG,cAAP,oBACA,yFACC6F,KA9CT,gLAoDwBvR,EAAY+I,iBApDpC,cAoDUC,EApDV,gBAqD2BvF,MAAM,kBAAmB,CAC9CwF,QAAUD,EAAa,CAAE,cAAgB,UAAhB,OAA2BA,IAAlC,KAtDxB,cAqDU7G,EArDV,gBAwDuBA,EAASwB,OAxDhC,OAwDUvB,EAxDV,OAyDI9B,KAAK0E,SAAS,CAAEqM,UAAWjP,EAAMqL,SAAS,IAzD9C,oJAY8B4D,GAC1B,OACE,2BAAOvL,UAAU,sBAAsB2L,kBAAgB,cACrD,+BACE,4BACE,oCACA,yCACA,yCACA,yCAGJ,+BACGJ,EAAU1O,KAAI,SAAA+O,GAAQ,OACrB,wBAAItH,IAAKsH,EAASC,MAChB,4BAAKD,EAASC,MACd,4BAAKD,EAASE,cACd,4BAAKF,EAASG,cACd,4BAAKH,EAASI,mBA7B5B,GAA+B9L,aAAlBoL,EACJrK,YAAcqK,EAAUnM,KCF1B,IAAM8M,EAAb,kDAGE,WAAYxN,GAAQ,IAAD,8BACjB,cAAMA,IACDzD,MAAQ,CAAEkR,aAAc,GAC7B,EAAKC,iBAAmB,EAAKA,iBAAiB9L,KAAtB,gBAHP,EAHrB,+DAUI7F,KAAK0E,SAAS,CACZgN,aAAc1R,KAAKQ,MAAMkR,aAAe,MAX9C,+BAgBI,OACE,6BACE,uCAEA,6EAEA,uBAAGE,YAAU,UAAb,kBAAqC,gCAAS5R,KAAKQ,MAAMkR,eAEzD,4BAAQlM,UAAU,kBAAkBa,QAASrG,KAAK2R,kBAAlD,kBAxBR,GAA6BjM,aAAhB+L,EACJhL,YAAcgL,EAAQ9M,K,YCGVkN,E,kDACjB,WAAY5N,GAAQ,IAAD,8BACf,cAAMA,IAEDzD,MAAQ,CACTsR,OAAO,EACPC,eAAe,GALJ,E,gEASE,IAAD,OAChB/R,KAAKoE,cAAgB1E,EAAY2E,WAAU,kBAAM,EAAK2N,2BACtDhS,KAAKiS,gC,6CAILvS,EAAY6E,YAAYvE,KAAKoE,iB,+BAGvB,IAAD,EAC4BpE,KAAKQ,MAA9BsR,EADH,EACGA,MAAOC,EADV,EACUA,cACXG,EAAOrK,SAASC,cAAc,KAClCoK,EAAKhK,KAAOlI,KAAKiE,MAAMkO,KACvB,IAAMC,EAAS,UAAMF,EAAKG,SAAX,aAAwBH,EAAKI,MAA7B,OAAoCJ,EAAKpN,UAAzC,OAAoDoN,EAAKzE,QAAzD,OAAkEyE,EAAKK,MAChFC,EAAW,UAAM5T,EAAiBI,MAAvB,YAAgCR,EAAhC,YAAiEiU,mBAAmBL,IACrG,GAAKN,EAEE,CAAC,IAAD,EACuC9R,KAAKiE,MAA5ByB,EADhB,EACKgN,UAAyBC,EAD9B,6BAEH,OAAO,kBAAC,IAAD,iBAAWA,EAAX,CACHC,OAAQ,SAAC3O,GACL,OAAI8N,EACO,kBAAC,EAAc9N,GAEf,kBAAC,IAAD,CAAUwB,GAAI+M,QARjC,OAAO,gC,oLAeiB9S,EAAYwE,kB,OAAlC6N,E,OACN/R,KAAK0E,SAAS,CAAEoN,OAAO,EAAMC,kB,qQAI7B/R,KAAK0E,SAAS,CAAEoN,OAAO,EAAOC,eAAe,I,SACvC/R,KAAKiS,8B,2GA/CyBvM,aCI/B1G,GAAb,kDACI,WAAYiF,GAAQ,IAAD,8BACf,cAAMA,IAEDzD,MAAQ,CACTW,aAASO,GAJE,EADvB,gEAUQ,IAAMmR,EAAS7S,KAAKiE,MAAM4O,OAC1B,OAAQA,GACJ,KAAKnU,EACDsB,KAAK8S,MAAM9S,KAAK+S,gBAChB,MACJ,KAAKrU,EACDsB,KAAKgT,uBACL,MACJ,KAAKtU,EACD,IACM0C,EADS,IAAI6R,gBAAgBzL,OAAOmH,SAASlB,QAC9B5G,IAAIrI,GACzBwB,KAAK0E,SAAS,CAAEvD,QAASC,IACzB,MACJ,KAAK1C,EACDsB,KAAKkT,oBACL,MACJ,KAAKxU,EACDsB,KAAKmT,qBACL,MACJ,QACI,MAAM,IAAInS,MAAJ,0BAA6B6R,EAA7B,SA9BtB,+BAmCQ,IAAMA,EAAS7S,KAAKiE,MAAM4O,OAClB1R,EAAYnB,KAAKQ,MAAjBW,QAER,GAAMA,EACF,OAAO,6BAAMA,GAEb,OAAQ0R,GACJ,KAAKnU,EACD,OAAQ,iDACZ,KAAKA,EACD,OAAQ,0DACZ,KAAKA,EACL,KAAKA,EACD,OAAQ,8BACZ,QACI,MAAM,IAAIsC,MAAJ,0BAA6B6R,EAA7B,SAlD1B,qEAuDgBT,GAvDhB,gFAwDc5R,EAAQ,CAAE4R,aAxDxB,SAyD6B1S,EAAY0T,OAAO5S,GAzDhD,OAyDc6S,EAzDd,YA0DgBA,EAAOvQ,OA1DvB,cA2DiBC,EAA2BG,SA3D5C,SA6DiBH,EAA2BE,QA7D5C,SAgEiBF,EAA2BC,KAhE5C,uEA8DsBhD,KAAKsT,oBAAoBlB,GA9D/C,mDAiEgBpS,KAAK0E,SAAS,CAAEvD,QAASkS,EAAOlS,UAjEhD,mCAoEsB,IAAIH,MAAJ,gCAAmCqS,EAAOvQ,OAA1C,MApEtB,8QAyEcvB,EAAMiG,OAAOmH,SAASzG,KAzEpC,SA0E6BxI,EAAY6T,eAAehS,GA1ExD,OA0Ec8R,EA1Ed,YA2EgBA,EAAOvQ,OA3EvB,cA4EiBC,EAA2BG,SA5E5C,SAgFiBH,EAA2BE,QAhF5C,SAmFiBF,EAA2BC,KAnF5C,yBA+EsB,IAAIhC,MAAM,wBA/EhC,wBAiFsBhB,KAAKsT,oBAAoBtT,KAAK+S,aAAaM,EAAO7S,QAjFxE,mDAoFgBR,KAAK0E,SAAS,CAAEvD,QAASkS,EAAOlS,UApFhD,mCAuFsB,IAAIH,MAAJ,gDAAmDqS,EAAOvQ,OAA1D,OAvFtB,0IA2FiBtC,GACT,IACMgT,EADS,IAAIP,gBAAgBzL,OAAOmH,SAASlB,QAC1B5G,IAAIrI,GAC7B,GAAIgV,IAAcA,EAAU9G,WAAV,UAAwBlF,OAAOmH,SAAS8E,OAAxC,MAEd,MAAM,IAAIzS,MAAM,yFAEpB,OAAQR,GAASA,EAAM4R,WAAcoB,GAA9B,UAA8ChM,OAAOmH,SAAS8E,OAA9D,OAlGf,2CAsGQzT,KAAK0T,+BAAL,UAAuC9U,EAAiBY,qBAAxD,YAAgFhB,EAAhF,YAAiHmV,UAAU/U,EAAiBI,WAtGpJ,0CA0GQgB,KAAK0T,+BAA+B9U,EAAiBa,sBA1G7D,qDA6GmCmU,GAC3B,IAAMpB,EAAW,UAAMhL,OAAOmH,SAAS8E,OAAtB,YAAgCG,GAIjDpM,OAAOmH,SAASnC,QAAQgG,KAlHhC,0CAqHwBJ,GAGhB5K,OAAOmH,SAASnC,QAAQ4F,OAxHhC,GAA2B1M,aCDdmO,GAAb,kDACI,WAAY5P,GAAQ,IAAD,8BACf,cAAMA,IAEDzD,MAAQ,CACTW,aAASO,EACToS,SAAS,EACT/B,eAAe,GANJ,EADvB,gEAYQ,IAAMc,EAAS7S,KAAKiE,MAAM4O,OAC1B,OAAQA,GACJ,KAAKpU,EACK+I,OAAOuM,QAAQvT,MAAMA,MAAMuE,MAC7B/E,KAAKgU,OAAOhU,KAAK+S,gBAGjB/S,KAAK0E,SAAS,CAAEoP,SAAS,EAAM3S,QAAS,uDAE5C,MACJ,KAAK1C,EACDuB,KAAKiU,wBACL,MACJ,KAAKxV,EACDuB,KAAK0E,SAAS,CAAEoP,SAAS,EAAM3S,QAAS,iCACxC,MACJ,QACI,MAAM,IAAIH,MAAJ,0BAA6B6R,EAA7B,MAGd7S,KAAKiS,8BAEDY,GAAUpU,IAAyB+I,OAAOmH,SAASzG,KAAO,2BAlCtE,+BAqCc,IAAD,EACwBlI,KAAKQ,MAA1BsT,EADH,EACGA,QAAS3S,EADZ,EACYA,QACjB,IAAK2S,EACD,OAAO,8BAEX,GAAM3S,EACF,OAAQ,6BAAMA,GAEd,IAAM0R,EAAS7S,KAAKiE,MAAM4O,OAC1B,OAAQA,GACJ,KAAKpU,EACD,OAAQ,kDACZ,KAAKA,EACD,OAAQ,2DACZ,KAAKA,EACD,OAAQ,6BAAM0C,GAClB,QACI,MAAM,IAAIH,MAAJ,0BAA6B6R,EAA7B,SAtD1B,sEA2DiBT,GA3DjB,gFA4Dc5R,EAAQ,CAAE4R,aA5DxB,SA6DsC1S,EAAYwE,kBA7DlD,mDA+DiCxE,EAAYwU,QAAQ1T,GA/DrD,OA+DkB6S,EA/DlB,YAgEoBA,EAAOvQ,OAhE3B,cAiEqBC,EAA2BG,SAjEhD,UAmEqBH,EAA2BE,QAnEhD,UAsEqBF,EAA2BC,KAtEhD,yEAoE0BhD,KAAKsT,oBAAoBlB,GApEnD,mDAuEoBpS,KAAK0E,SAAS,CAAEvD,QAASkS,EAAOlS,UAvEpD,mCA0E0B,IAAIH,MAAM,yCA1EpC,gCA6EYhB,KAAK0E,SAAS,CAAEvD,QAAS,iCA7ErC,+QAkFcI,EAAMiG,OAAOmH,SAASzG,KAlFpC,SAmF6BxI,EAAYyU,gBAAgB5S,GAnFzD,OAmFc8R,EAnFd,YAoFgBA,EAAOvQ,OApFvB,cAqFiBC,EAA2BG,SArF5C,SAyFiBH,EAA2BE,QAzF5C,SA4FiBF,EAA2BC,KA5F5C,yBAwFsB,IAAIhC,MAAM,wBAxFhC,wBA0FsBhB,KAAKsT,oBAAoBtT,KAAK+S,aAAaM,EAAO7S,QA1FxE,mDA6FgBR,KAAK0E,SAAS,CAAEvD,QAASkS,EAAOlS,UA7FhD,mCAgGsB,IAAIH,MAAM,yCAhGhC,2RAqGoCtB,EAAYwE,kBArGhD,OAqGc6N,EArGd,OAsGQ/R,KAAK0E,SAAS,CAAEoP,SAAS,EAAM/B,kBAtGvC,yIAyGiBvR,GACT,IACMgT,EADS,IAAIP,gBAAgBzL,OAAOmH,SAASlB,QAC1B5G,IAAIrI,GAC7B,GAAIgV,IAAcA,EAAU9G,WAAV,UAAwBlF,OAAOmH,SAAS8E,OAAxC,MAEd,MAAM,IAAIzS,MAAM,yFAEpB,OAAQR,GAASA,EAAM4R,WACnBoB,GADG,UAEAhM,OAAOmH,SAAS8E,QAFhB,OAEyB7U,EAAiBU,aAlHzD,0CAqHwB8S,GAChB,OAAO5K,OAAOmH,SAASnC,QAAQ4F,OAtHvC,GAA4B1M,aCHP0O,G,uKAGjB,OACE,kBAAC,WAAD,KACI,kBAAC,IAAD,CAAOjC,KAAMvT,EAAiBI,MAAO4T,OAAQ,kBAAMyB,GAAY3V,MAC/D,kBAAC,IAAD,CAAOyT,KAAMvT,EAAiBK,YAAa2T,OAAQ,kBAAMyB,GAAY3V,MACrE,kBAAC,IAAD,CAAOyT,KAAMvT,EAAiBM,cAAe0T,OAAQ,kBAAMyB,GAAY3V,MACvE,kBAAC,IAAD,CAAOyT,KAAMvT,EAAiBQ,QAASwT,OAAQ,kBAAMyB,GAAY3V,MACjE,kBAAC,IAAD,CAAOyT,KAAMvT,EAAiBO,SAAUyT,OAAQ,kBAAMyB,GAAY3V,MAClE,kBAAC,IAAD,CAAOyT,KAAMvT,EAAiBS,OAAQuT,OAAQ,kBAAM0B,GAAa7V,MACjE,kBAAC,IAAD,CAAO0T,KAAMvT,EAAiBW,eAAgBqT,OAAQ,kBAAM0B,GAAa7V,MACzE,kBAAC,IAAD,CAAO0T,KAAMvT,EAAiBU,UAAWsT,OAAQ,kBAAM0B,GAAa7V,W,GAZ1BiH,aAiBpD,SAAS2O,GAAY1P,GACjB,OAAQ,kBAAC,GAAD,CAAOkO,OAAQlO,IAG3B,SAAS2P,GAAa3P,GAClB,OAAQ,kBAAC,GAAD,CAAQkO,OAAQlO,I,4CCAb4P,GA1BQ,CACnBC,aAAa,WAAD,4BAAE,gCAAA1Q,EAAA,sEACUpE,EAAY+I,iBADtB,cACJC,EADI,gBAEavF,MAAM,yBAA0B,CACnDwF,QAAUD,EAAa,CAAE,cAAgB,UAAhB,OAA2BA,IAAlC,KAHZ,cAEJ7G,EAFI,gBAKSA,EAASwB,OALlB,cAKJvB,EALI,yBAMHA,GANG,4CAAF,kDAAC,GAQb2S,gBAAgB,WAAD,4BAAE,WAAeC,EAASC,EAAeC,GAAvC,SAAA9Q,EAAA,sDACV4Q,EACIC,GAAgBA,IAEhBC,GAAmBA,IAJb,2CAAF,uDAAC,GAOhBC,gBAAgB,WAAD,4BAAE,WAAelQ,GAAf,mBAAAb,EAAA,sEACOpE,EAAY+I,iBADnB,cACPC,EADO,gBAEUvF,MAAM,2CAAD,OAA4CwB,GAAQ,CAC5EgE,QAAUD,EAAa,CAAE,cAAgB,UAAhB,OAA2BA,IAAlC,KAHT,cAEP7G,EAFO,gBAKMA,EAASwB,OALf,cAKPvB,EALO,yBAMNA,EAAKsJ,IANC,4CAAF,mDAAC,I,SCXP0J,I,MAAb,kDAGI,WAAY7Q,GAAQ,IAAD,8BACf,cAAMA,IAEDzD,MAAQ,CACTuU,MAAO,GACPC,KAAM,CACFC,OAAQ,KACRC,UAAW,SAPJ,EAHvB,0LAiB8BX,GAAeC,eAjB7C,eAmBYxU,KAAKiE,MAAM8P,QAAQ9R,KAAK,iBAE5BjC,KAAKmV,WArBb,qIAwBc,IAAD,OACL,OACI,6BACI,kBAAClP,EAAA,EAAD,CAAWT,UAAU,kBACjB,kBAAC4P,GAAA,EAAD,KACI,kBAACC,GAAA,EAAD,CAAKC,GAAG,KAAKC,GAAG,KAAKC,GAAG,KAAKC,GAAG,KAAKC,GAAG,MACpC,sCAEJ,kBAACL,GAAA,EAAD,CAAKC,GAAG,IAAIC,GAAG,IAAIC,GAAG,IAAIC,GAAG,IAAIC,GAAG,KAChC,kBAACC,GAAA,EAAD,CACI5G,MAAM,UACN1I,QAAS,kBAAM,EAAKpC,MAAM8P,QAAQ9R,KAAK,wBACvC8F,MAAO,CAAE8H,WAAY,WAHzB,WASR,kBAACuF,GAAA,EAAD,CAAK5P,UAAU,UACX,kBAAC6P,GAAA,EAAD,KACI,kBAACO,GAAA,EAAD,CAAOC,UAAQ,EAACC,OAAK,GACjB,+BACI,4BACI,iCAEI,kBAAC,KAAD,CACI/G,MAAkC,OAA3B/O,KAAKQ,MAAMwU,KAAKC,OAAkB,UAAY,QACrD5O,QAAS,kBAAM,EAAK0P,WAAW,OAC/BvQ,UAAU,iBAGlB,mCAEI,kBAAC,KAAD,CACIuJ,MAAkC,SAA3B/O,KAAKQ,MAAMwU,KAAKC,OAAoB,UAAY,QACvD5O,QAAS,kBAAM,EAAK0P,WAAW,SAC/BvQ,UAAU,mBAK1B,+BACKxF,KAAKQ,MAAMuU,MAAM1S,KAAI,SAAC2T,EAAMpT,GACzB,OACI,wBACIkH,IAAKkM,EAAK5K,GACV/E,QAAS,kBAAM,EAAK4P,eAAeD,EAAK5K,MAExC,4BAAK4K,EAAK5K,IACV,4BAAK4K,EAAKrR,kBAzE1D,qKAuF4BjF,EAAY+I,iBAvFxC,cAuFcC,EAvFd,gBAwF+BvF,MAAM,0BAA2B,CACpDwF,QAAUD,EAAa,CAAE,cAAgB,UAAhB,OAA2BA,IAAlC,KAzF9B,cAwFc7G,EAxFd,gBA2F2BA,EAASwB,OA3FpC,OA2FcvB,EA3Fd,OA4FQ9B,KAAK0E,SAAS,CAAEqQ,MAAOjT,IA5F/B,4IA+FmBoU,GACXlW,KAAKiE,MAAM8P,QAAQ9R,KAAK,CACpB6C,SAAU,uBACVtE,MAAO,CAAE0V,OAAQA,EAAQC,cAAc,OAlGnD,iCAwGelB,GACP,IAAMC,EAAYlV,KAAKQ,MAAMwU,KAAKC,OAAwC,QAA9BjV,KAAKQ,MAAMwU,KAAKE,UAAsB,OAAS,MAAS,OAC9FpT,EAAO9B,KAAKQ,MAAMuU,MACxBjT,EAAKkT,MAAK,SAAClR,EAAGsS,GAAJ,OAAUtS,EAAEmR,GAAQoB,cAAcD,EAAEnB,OAC7B,SAAdC,GACCpT,EAAKwU,UAETtW,KAAK0E,SAAS,CACVqQ,MAAQjT,EACRkT,KAAM,CACFC,SACAC,mBAnHhB,GAA2BxP,cAAdoP,GACFrO,YAAcqO,GAAMnQ,K,wBCFlB4R,GAAb,kDAGI,WAAYtS,GAAQ,IAAD,8BACf,cAAMA,IAEDzD,MAAQ,CACTgW,SAAU,GACV3V,aAASa,GALE,EAHvB,0KAcwB6S,GAAeC,gBAE3BxU,KAAKiE,MAAM8P,QAAQ9R,KAAK,iBAhBpC,qIAoBc,IAAD,OACL,OACI,6BACI,kBAACgE,EAAA,EAAD,CAAWT,UAAU,kBACjB,kBAAC4P,GAAA,EAAD,KACI,kBAACC,GAAA,EAAD,KACI,6CAGR,kBAACD,GAAA,EAAD,CAAK5P,UAAU,UACX,kBAAC6P,GAAA,EAAD,CAAKC,GAAG,MACJ,kBAACmB,GAAA,EAAD,CACI7O,KAAK,OACL+H,SAAU,SAAC/D,GAAD,OAAO,EAAKlH,SAAS,CAAE8R,SAAU5K,EAAEC,OAAOP,SACpD3G,KAAK,WACLyG,GAAG,WACHwE,YAAY,eAGpB,kBAACyF,GAAA,EAAD,CAAKC,GAAG,KACJ,kBAACK,GAAA,EAAD,CACI5G,MAAM,UACN1I,QAAS,kBAAM,EAAKqQ,eAFxB,YAQR,kBAACtB,GAAA,EAAD,CAAK5P,UAAU,UACX,kBAAC6P,GAAA,EAAD,MAC4B,IAAvBrV,KAAKQ,MAAMK,SACR,kBAAC8V,GAAA,EAAD,CAAO5H,MAAM,WAAb,6BAIoB,IAAvB/O,KAAKQ,MAAMK,SACR,kBAAC8V,GAAA,EAAD,CAAO5H,MAAM,UAAb,4BAxDhC,uKAqE4BrP,EAAY+I,iBArExC,cAqEcC,EArEd,gBAsE+BvF,MAAM,sCAAD,OAAuCnD,KAAKQ,MAAMgW,UAAY,CACtF7N,QAAUD,EAAa,CAAE,cAAgB,UAAhB,OAA2BA,IAAlC,KAvE9B,cAsEc7G,EAtEd,gBAyE2BA,EAASwB,OAzEpC,OAyEcvB,EAzEd,OA0EQ9B,KAAK0E,SAAS,CAAE7D,QAASiB,IA1EjC,4GAAgC4D,aAAnB6Q,GACF9P,YAAc8P,GAAW5R,KCJ7B,IAAMiS,GAAb,kDAGI,WAAY3S,GAAQ,IAAD,8BACf,cAAMA,IAEDzD,MAAQ,GAHE,EAHvB,qDAYc,IAAD,OACL,OACI,6BACI,kBAACyF,EAAA,EAAD,CAAW8B,MAAO,CAAEuH,UAAW,QAC3B,kBAAC8F,GAAA,EAAD,KACI,kBAACC,GAAA,EAAD,CAAKtN,MAAO,CAAE8O,UAAW,WACrB,oDAGR,kBAACzB,GAAA,EAAD,CAAKrN,MAAO,CAAE+O,QAAS,QACnB,kBAACzB,GAAA,EAAD,CAAKtN,MAAO,CAAE8O,UAAW,WACrB,+EAAoD,6BAApD,mEAGR,kBAACzB,GAAA,EAAD,CAAKrN,MAAO,CAAE+O,QAAS,QACnB,kBAACzB,GAAA,EAAD,CAAKtN,MAAO,CAAEsH,WAAY,SAAUD,eAAgB,SAAUzF,QAAS,SACnE,kBAACgM,GAAA,EAAD,CACI5G,MAAM,UACN1I,QAAS,kBAAM,EAAKpC,MAAM8P,QAAQ9R,KAAK,OAF3C,mBA5B5B,GAAkCyD,aAArBkR,GACFnQ,YAAcmQ,GAAajS,K,mBCoBvBoS,GAvBG,CACdC,WAAY,CACRC,GAAI,KACJC,GAAI,IACJC,GAAI,IACJC,GAAI,KAERC,eAAgB,WACZ,IAAMhM,EAAQ7D,OAAO8P,WACrB,OAAIjM,EAAQrL,KAAKgX,WAAWI,GACjB,KACA/L,GAASrL,KAAKgX,WAAWI,IAAM/L,EAAQrL,KAAKgX,WAAWG,GACvD,KACA9L,GAASrL,KAAKgX,WAAWG,IAAO9L,EAAQrL,KAAKgX,WAAWE,GACxD,KACA7L,GAASrL,KAAKgX,WAAWE,IAAM7L,EAAQrL,KAAKgX,WAAWC,GACvD,KAEA,OCVNM,GAAb,kDAGI,WAAYtT,GAAQ,IAAD,8BACf,cAAMA,IAsLVuT,oBAAsB,WAClB,EAAK9S,SAAS,CACVkM,OAAQpJ,OAAOiQ,YACfpM,MAAO7D,OAAO8P,cAvLlB,EAAK9W,MAAQ,CACTkX,MAAO,GACPjK,OAAQ,KACRkK,cAAe,GACfC,OAAQ,KACRhH,OAAQ,EACRvF,MAAO,EACP2J,KAAM,CACFC,OAAQ,KACRC,UAAW,SAInB1N,OAAOqQ,iBAAiB,SAAU,EAAKL,qBAhBxB,EAHvB,0KAwBwBjD,GAAeC,gBAE3BxU,KAAKiE,MAAM8P,QAAQ9R,KAAK,iBAE5BjC,KAAKwX,sBACLxX,KAAK8X,oBACL9X,KAAK+X,WA9Bb,qIAiCc,IAAD,OACL,OACI,6BACI,kBAAC9R,EAAA,EAAD,CAAWT,UAAU,kBACjB,kBAAC4P,GAAA,EAAD,KACI,kBAACC,GAAA,EAAD,KACI,uCAGR,kBAACD,GAAA,EAAD,CAAK5P,UAAU,UACX,kBAAC6P,GAAA,EAAD,CAAKC,GAAG,IAAIC,GAAG,IAAIC,GAAG,IAAIC,GAAG,KAAKC,GAAG,MACjC,kBAACe,GAAA,EAAD,CACI7O,KAAK,OACL+H,SAAU,SAAC/D,GAAD,OAAO,EAAKlH,SAAS,CAAE+I,OAAQ7B,EAAEC,OAAOP,SAClD3G,KAAK,SACLyG,GAAG,SACHwE,YAAY,SACZ7H,MAAQ/H,KAAKQ,MAAM6K,MAAQ0L,GAAUC,WAAWE,GAAK,CAAE3H,aAAc,QAAW,MAGxF,kBAAC8F,GAAA,EAAD,CAAKC,GAAG,IAAIC,GAAG,IAAIC,GAAG,IAAIC,GAAG,KAAKC,GAAG,MACjC,kBAAC,KAAD,CACItK,GAAG,SACHuE,SAAU,SAACqI,GAAD,OAAc,EAAKtT,SAAS,CAAEkT,OAAQI,KAChDA,SAAUhY,KAAKQ,MAAMoX,OACrBK,QAASjY,KAAKQ,MAAMmX,cACpB/H,YAAY,SACZ7H,MAAQ/H,KAAKQ,MAAM6K,MAAQ0L,GAAUC,WAAWG,GAAK,CAAE5H,aAAc,QAAW,MAGxF,kBAAC8F,GAAA,EAAD,CAAKC,GAAG,IAAIC,GAAG,IAAIC,GAAG,IAAIC,GAAG,IAAIC,GAAG,KAChC,kBAACC,GAAA,EAAD,CACI5G,MAAM,UACN1I,QAAS,kBAAM,EAAK6R,gBAFxB,WAOJ,kBAAC7C,GAAA,EAAD,CAAKC,GAAG,IAAIC,GAAG,IAAIC,GAAG,IAAIC,GAAG,IAAIC,GAAG,KAChC,kBAACC,GAAA,EAAD,CACI5G,MAAM,UACN1I,QAAS,kBAAM,EAAKpC,MAAM8P,QAAQ9R,KAAK,CAAE6C,SAAU,uBAAwBtE,MAAO,CAAE2X,cAAc,MAClGpQ,MAAO,CAAE8H,WAAY,WAHzB,WASR,kBAACuF,GAAA,EAAD,CAAK5P,UAAU,UACX,kBAAC6P,GAAA,EAAD,KACI,kBAACO,GAAA,EAAD,CAAOC,UAAQ,EAACC,OAAK,GACjB,+BACI,4BACI,wCAEI,kBAAC,KAAD,CACI/G,MAAkC,aAA3B/O,KAAKQ,MAAMwU,KAAKC,OAAwB,UAAY,QAC3D5O,QAAS,kBAAM,EAAK0P,WAAW,aAC/BvQ,UAAU,iBAGlB,yCAEI,kBAAC,KAAD,CACIuJ,MAAkC,cAA3B/O,KAAKQ,MAAMwU,KAAKC,OAAyB,UAAY,QAC5D5O,QAAS,kBAAM,EAAK0P,WAAW,cAC/BvQ,UAAU,iBAGlB,qCAEI,kBAAC,KAAD,CACIuJ,MAAkC,WAA3B/O,KAAKQ,MAAMwU,KAAKC,OAAsB,UAAY,QAEzDzP,UAAU,iBAGlB,2CAEI,kBAAC,KAAD,CACIuJ,MAAkC,gBAA3B/O,KAAKQ,MAAMwU,KAAKC,OAA2B,UAAY,QAC9D5O,QAAS,kBAAM,EAAK0P,WAAW,gBAC/BvQ,UAAU,iBAGlB,oCAEI,kBAAC,KAAD,CACIuJ,MAAkC,UAA3B/O,KAAKQ,MAAMwU,KAAKC,OAAqB,UAAY,QACxD5O,QAAS,kBAAM,EAAK0P,WAAW,UAC/BvQ,UAAU,mBAK1B,+BACKxF,KAAKQ,MAAMkX,MAAMrV,KAAI,SAACnC,EAAM0C,GACzB,OACI,wBACIkH,IAAK5J,EAAKkL,GACV/E,QAAS,kBAAM,EAAK4P,eAAe/V,EAAKkL,MAExC,4BAAKlL,EAAKkQ,UACV,4BAAKlQ,EAAKkY,WACV,6BACA,4BAAKlY,EAAKmY,aACV,4BAAKnY,EAAKoY,mBA3I1D,8KAyJ4B5Y,EAAY+I,iBAzJxC,cAyJcC,EAzJd,gBA0J+BvF,MAAM,0BAA2B,CACpDwF,QAAUD,EAAa,CAAE,cAAgB,UAAhB,OAA2BA,IAAlC,KA3J9B,cA0Jc7G,EA1Jd,gBA6J2BA,EAASwB,OA7JpC,OA6JcvB,EA7Jd,OA8JQ9B,KAAK0E,SAAS,CAAEiT,cAAe7V,IA9JvC,4QAkK4BpC,EAAY+I,iBAlKxC,cAkKcC,EAlKd,gBAmK+BvF,MAAM,0BAA2B,CACpDwF,QAAUD,EAAa,CAAE,cAAgB,UAAhB,OAA2BA,IAAlC,KApK9B,cAmKc7G,EAnKd,gBAsK2BA,EAASwB,OAtKpC,OAsKcvB,EAtKd,OAuKQ9B,KAAK0E,SAAS,CAAEgT,MAAO5V,IAvK/B,+QA2K4BpC,EAAY+I,iBA3KxC,cA2KcC,EA3Kd,gBA4K+BvF,MAAM,oCAAD,OAAqCnD,KAAKQ,MAAMiN,QAAU,CAClF9E,QAAUD,EAAa,CAAE,cAAgB,UAAhB,OAA2BA,IAAlC,KA7K9B,cA4Kc7G,EA5Kd,gBA+K2BA,EAASwB,OA/KpC,OA+KcvB,EA/Kd,OAgLQ9B,KAAK0E,SAAS,CAAEgT,MAAO5V,IAhL/B,4IAmLmByW,GACXvY,KAAKiE,MAAM8P,QAAQ9R,KAAK,CACpB6C,SAAU,uBACVtE,MAAO,CAAE+X,OAAQA,EAAQJ,cAAc,OAtLnD,iCAmMelD,GACP,IAAMC,EAAYlV,KAAKQ,MAAMwU,KAAKC,OAAwC,QAA9BjV,KAAKQ,MAAMwU,KAAKE,UAAsB,OAAS,MAAS,OAC9FpT,EAAO9B,KAAKQ,MAAMkX,MACxB5V,EAAKkT,MAAK,SAAClR,EAAGsS,GAAJ,OAAUtS,EAAEmR,GAAQoB,cAAcD,EAAEnB,OAC7B,SAAdC,GACCpT,EAAKwU,UAETtW,KAAK0E,SAAS,CACVgT,MAAQ5V,EACRkT,KAAM,CACFC,SACAC,mBA9MhB,GAA2BxP,aAAd6R,GACF9Q,YAAc8Q,GAAM5S,KCDxB,IAAM6T,GAAb,kDAGI,WAAYvU,GAAQ,IAAD,8BACf,cAAMA,IAmIVuT,oBAAsB,WAClB,EAAK9S,SAAS,CACVkM,OAAQpJ,OAAOiQ,YACfpM,MAAO7D,OAAO8P,cApIlB,EAAK9W,MAAQ,CACTiN,OAAQ,KACRgL,QAAS,GACT7H,OAAQ,EACRvF,MAAO,EACP2J,KAAM,CACFC,OAAQ,KACRC,UAAW,SAInB1N,OAAOqQ,iBAAiB,SAAU,EAAKL,qBAdxB,EAHvB,0KAqBwBjD,GAAeC,gBAE3BxU,KAAKiE,MAAM8P,QAAQ9R,KAAK,iBAE5BjC,KAAKwX,sBACLxX,KAAK0Y,aA1Bb,qIA6Bc,IAAD,OACL,OACI,6BACI,kBAACzS,EAAA,EAAD,CAAWT,UAAU,kBACjB,kBAAC4P,GAAA,EAAD,KACI,kBAACC,GAAA,EAAD,KACI,yCAGR,kBAACD,GAAA,EAAD,CAAK5P,UAAU,UACX,kBAAC6P,GAAA,EAAD,CAAKC,GAAG,KAAKC,GAAG,KAAKC,GAAG,KAAKC,GAAG,KAAKC,GAAG,MACpC,kBAACe,GAAA,EAAD,CACI7O,KAAK,OACL+H,SAAU,SAAC/D,GAAD,OAAO,EAAKlH,SAAS,CAAE+I,OAAQ7B,EAAEC,OAAOP,SAClD3G,KAAK,SACLyG,GAAG,SACHwE,YAAY,SACZ7H,MAAQ/H,KAAKQ,MAAM6K,MAAQ0L,GAAUC,WAAWE,GAAK,CAAE3H,aAAc,QAAW,MAGxF,kBAAC8F,GAAA,EAAD,CAAKC,GAAG,IAAIC,GAAG,IAAIC,GAAG,IAAIC,GAAG,IAAIC,GAAG,KAChC,kBAACC,GAAA,EAAD,CACI5G,MAAM,UACN1I,QAAS,kBAAM,EAAKsS,kBAFxB,WAOJ,kBAACtD,GAAA,EAAD,CAAKC,GAAG,IAAIC,GAAG,IAAIC,GAAG,IAAIC,GAAG,IAAIC,GAAG,KAChC,kBAACC,GAAA,EAAD,CACI5G,MAAM,UACN1I,QAAS,kBAAM,EAAKpC,MAAM8P,QAAQ9R,KAAK,2BAF3C,WAQR,kBAACmT,GAAA,EAAD,CAAK5P,UAAU,UACX,kBAAC6P,GAAA,EAAD,KACI,kBAACO,GAAA,EAAD,CAAOC,UAAQ,EAACC,OAAK,GACjB,+BACI,4BACI,iCAEI,kBAAC,KAAD,CACI/G,MAAkC,OAA3B/O,KAAKQ,MAAMwU,KAAKC,OAAkB,UAAY,QACrD5O,QAAS,kBAAM,EAAK0P,WAAW,OAC/BvQ,UAAU,iBAGlB,mCAEI,kBAAC,KAAD,CACIuJ,MAAkC,SAA3B/O,KAAKQ,MAAMwU,KAAKC,OAAoB,UAAY,QACvD5O,QAAS,kBAAM,EAAK0P,WAAW,SAC/BvQ,UAAU,mBAK1B,+BACKxF,KAAKQ,MAAMiY,QAAQpW,KAAI,SAACuV,EAAShV,GAC9B,OACI,wBACIkH,IAAK8N,EAAOxM,GACZ/E,QAAS,kBAAM,EAAK4P,eAAe2B,EAAOxM,MAE1C,4BAAKwM,EAAOxM,IACZ,4BAAKwM,EAAOjT,kBAjG5D,uKA+G4BjF,EAAY+I,iBA/GxC,cA+GcC,EA/Gd,gBAgH+BvF,MAAM,yBAA0B,CACnDwF,QAAUD,EAAa,CAAE,cAAgB,UAAhB,OAA2BA,IAAlC,KAjH9B,cAgHc7G,EAhHd,gBAmH2BA,EAASwB,OAnHpC,OAmHcvB,EAnHd,OAoHQ9B,KAAK0E,SAAS,CAAE+T,QAAS3W,IApHjC,iRAwH4BpC,EAAY+I,iBAxHxC,cAwHcC,EAxHd,gBAyH+BvF,MAAM,mCAAD,OAAoCnD,KAAKQ,MAAMiN,QAAU,CACjF9E,QAAUD,EAAa,CAAE,cAAgB,UAAhB,OAA2BA,IAAlC,KA1H9B,cAyHc7G,EAzHd,gBA4H2BA,EAASwB,OA5HpC,OA4HcvB,EA5Hd,OA6HQ9B,KAAK0E,SAAS,CAAE+T,QAAS3W,IA7HjC,4IAgImB8W,GACX5Y,KAAKiE,MAAM8P,QAAQ9R,KAAK,CACpB6C,SAAU,yBACVtE,MAAO,CAAEoY,SAAUA,EAAUC,gBAAgB,OAnIzD,iCAgJe5D,GACP,IAAMC,EAAYlV,KAAKQ,MAAMwU,KAAKC,OAAwC,QAA9BjV,KAAKQ,MAAMwU,KAAKE,UAAsB,OAAS,MAAS,OAC9FpT,EAAO9B,KAAKQ,MAAMiY,QACxB3W,EAAKkT,MAAK,SAAClR,EAAGsS,GAAJ,OAAUtS,EAAEmR,GAAQ6D,WAAWzC,cAAcD,EAAEnB,GAAQ6D,eAChD,SAAd5D,GACCpT,EAAKwU,UAETtW,KAAK0E,SAAS,CACV+T,QAAU3W,EACVkT,KAAM,CACFC,SACAC,mBA3JhB,GAA6BxP,aAAhB8S,GACF/R,YAAc+R,GAAQ7T,K,wBCNpBoU,GAAb,kDAGI,WAAY9U,GAAQ,IAAD,8BACf,cAAMA,IAEDzD,MAAQ,GAHE,EAHvB,qDAaQ,OACI,kBAACyF,EAAA,EAAD,CAAWT,UAAU,YACjB,kBAACwT,GAAA,EAAD,CAAMxT,UAAU,aACZ,kBAACyT,GAAA,EAAD,KACI,kBAAC7D,GAAA,EAAD,KACKpV,KAAKiE,MAAM0C,iBAlBxC,GAA6BjB,aAAhBqT,GACFtS,YAAcsS,GAAQpU,KCG1B,IAAMuU,GAAb,kDAGI,WAAYjV,GAAQ,IAAD,8BACf,cAAMA,IAEDzD,MAAQ,CACT2Y,YAAa,GACbjD,OAAQ,GACRM,SAAS,GACT4C,QAAS,GACTC,WAAY,GACZC,QAAS,KACTvV,WAAY,KACZwV,gBAAgB,EAChBC,mBAAmB,EACnB3Y,aAASa,GAbE,EAHvB,oMAsB8B6S,GAAeC,eAtB7C,cAsBcE,EAtBd,gBAuBkCH,GAAeM,gBAAgB,SAvBjE,OAuBcsE,EAvBd,OAwBQnZ,KAAK0E,SAAS,CAAEyU,YAAaA,IACzBzE,OAIiChT,IAA9B1B,KAAKiE,MAAM0K,SAASnO,MAChBR,KAAKiE,MAAM0K,SAASnO,MAAM2V,eACnBD,EAASlW,KAAKiE,MAAM0K,SAASnO,MAAM0V,OACzClW,KAAK0E,SAAS,CAAEwR,OAAQA,IACxBlW,KAAKyZ,eAAevD,IAIxBlW,KAAKiE,MAAM8P,QAAQ9R,KAAK,uBAX5BjC,KAAKiE,MAAM8P,QAAQ9R,KAAK,iBA1BpC,qIA0Cc,IAAD,OACL,OACI,6BACI,kBAACgE,EAAA,EAAD,CAAWT,UAAU,kBACjB,kBAAC,GAAD,KACI,kBAAC6P,GAAA,EAAD,CAAKC,GAAG,MACJ,6CAEJ,kBAACD,GAAA,EAAD,CAAKC,GAAG,KACJ,wCAActV,KAAKQ,MAAM0V,SAE7B,kBAACb,GAAA,EAAD,CAAKC,GAAG,KACJ,kBAACK,GAAA,EAAD,CACI5G,MAAM,UACN1I,QAAS,kBAAM,EAAK3B,SAAS,CAAE6U,gBAAiB,EAAK/Y,MAAM+Y,kBAC3D/N,UAAWxL,KAAKQ,MAAM4Y,QAAQ1W,OAAS,EACvC8C,UAAU,gBAERxF,KAAKQ,MAAM+Y,eAA+B,OAAd,aAGlC,kBAAC5D,GAAA,EAAD,CACI5G,MAAM,SACN1I,QAAS,kBAAM,EAAK3B,SAAS,CAAE8U,mBAAoB,EAAKhZ,MAAMgZ,qBAC9DhO,UAAWxL,KAAKQ,MAAM6Y,WAAW3W,OAAS,GAExC1C,KAAKQ,MAAMgZ,kBAAqC,OAAjB,kBAI7C,kBAAC,GAAD,KACI,kBAACnE,GAAA,EAAD,CAAKC,GAAG,MACJ,+CAEJ,kBAACD,GAAA,EAAD,CAAKC,GAAG,MACJ,kBAACmB,GAAA,EAAD,CACI7O,KAAK,OACLjD,KAAK,WACLyG,GAAG,WACHE,MAAOtL,KAAKQ,MAAMgW,SAClB7G,SAAU,SAAC/D,GAAD,OAAO,EAAKlH,SAAS,CAAE8R,SAAU5K,EAAEC,OAAOP,SACpDE,SAAUxL,KAAKQ,MAAM0V,SAAWlW,KAAKQ,MAAMkZ,eAGnD,kBAACrE,GAAA,EAAD,CAAKC,GAAG,KACJ,kBAACK,GAAA,EAAD,CACI5G,MAAM,UACN1I,QAAS,kBAAM,EAAKsT,cACpBnO,SAAUxL,KAAKQ,MAAM0V,SAAWlW,KAAKQ,MAAMkZ,aAH/C,UASR,kBAACpT,EAAA,EAAD,CAAUC,OAAQvG,KAAKQ,MAAM+Y,gBACzB,kBAAC,GAAD,KACI,kBAAClE,GAAA,EAAD,CAAKC,GAAG,MACJ,kBAACK,GAAA,EAAD,CACIiE,OAAK,EACLvT,QAAS,kBAAM,EAAK3B,SAAS,CAAE6U,gBAAiB,EAAK/Y,MAAM+Y,kBAC3D/T,UAAU,qBAGlB,kBAAC6P,GAAA,EAAD,CAAKC,GAAG,MACJ,kDAEJ,kBAACD,GAAA,EAAD,CAAKC,GAAG,MACJ,kBAAC,KAAD,CACIlK,GAAG,UACHuE,SAAU,SAACqI,GAAD,OAAc,EAAKtT,SAAS,CAAE4U,QAAStB,KACjDA,SAAUhY,KAAKQ,MAAM8Y,QACrBO,SAAS,OACT5B,QAASjY,KAAKQ,MAAM4Y,QACpBxJ,YAAY,YAGpB,kBAACyF,GAAA,EAAD,CAAKC,GAAG,KACJ,kBAACK,GAAA,EAAD,CACI5G,MAAM,UACN1I,QAAS,kBAAM,EAAKyT,iBACpBtO,UAAWxL,KAAKQ,MAAM8Y,SAH1B,UAUZ,kBAAChT,EAAA,EAAD,CAAUC,OAAQvG,KAAKQ,MAAMgZ,mBACzB,kBAAC,GAAD,KACI,kBAACnE,GAAA,EAAD,CAAKC,GAAG,MACJ,kBAACK,GAAA,EAAD,CACIiE,OAAK,EACLvT,QAAS,kBAAM,EAAK3B,SAAS,CAAE8U,mBAAoB,EAAKhZ,MAAMgZ,qBAC9DhU,UAAU,qBAGlB,kBAAC6P,GAAA,EAAD,CAAKC,GAAG,MACJ,uDAEJ,kBAACD,GAAA,EAAD,CAAKC,GAAG,MACJ,kBAAC,KAAD,CACIlK,GAAG,aACHuE,SAAU,SAACqI,GAAD,OAAc,EAAKtT,SAAS,CAAEX,WAAYiU,KACpDA,SAAUhY,KAAKQ,MAAMuD,WACrB8V,SAAS,OACT5B,QAASjY,KAAKQ,MAAM6Y,WACpBzJ,YAAY,YAGpB,kBAACyF,GAAA,EAAD,CAAKC,GAAG,KACJ,kBAACK,GAAA,EAAD,CACI5G,MAAM,SACN1I,QAAS,kBAAM,EAAK0T,sBACpBvO,UAAWxL,KAAKQ,MAAMuD,YAH1B,aAUX/D,KAAKQ,MAAM6Y,WAAW3W,OAAS,GAC5B,kBAAC,GAAD,KACI,kBAAC2S,GAAA,EAAD,CAAKC,GAAG,KAAK9P,UAAU,UACnB,8CAEJ,kBAAC6P,GAAA,EAAD,CAAKC,GAAG,MACJ,kBAACM,GAAA,EAAD,CAAOC,UAAQ,EAACC,OAAK,GACjB,+BACI,4BACI,kCACA,sCAGR,+BACK9V,KAAKQ,MAAM6Y,WAAWhX,KAAI,SAAC2X,EAAIpX,GAC5B,OACI,wBAAIkH,IAAKkQ,EAAG5O,IACR,4BAAK4O,EAAG5O,IACR,4BAAK4O,EAAGrV,cASxC,kBAACyQ,GAAA,EAAD,CAAK5P,UAAU,UACX,kBAAC6P,GAAA,EAAD,CAAKC,GAAG,OACoB,IAAvBtV,KAAKQ,MAAMK,SACR,kBAAC8V,GAAA,EAAD,CAAO5H,MAAM,UAAUkL,MAAI,GAA3B,aAIoB,IAAvBja,KAAKQ,MAAMK,SACR,kBAAC8V,GAAA,EAAD,CAAO5H,MAAM,SAASkL,MAAI,GAA1B,gBArMhC,8EAgNyB/D,GAhNzB,2FAiN4BxW,EAAY+I,iBAjNxC,cAiNcC,EAjNd,gBAkN+BvF,MAAM,wCAAD,OAAyC+S,GAAU,CAC3EvN,QAAUD,EAAa,CAAE,cAAgB,UAAhB,OAA2BA,IAAlC,KAnN9B,cAkNc7G,EAlNd,gBAqN2BA,EAASwB,OArNpC,OAqNcvB,EArNd,OAsNQ9B,KAAK0E,SAAS,CACV8R,SAAU1U,EAAK6C,KACfyU,QAAStX,EAAKsX,QACdC,WAAYvX,EAAKuX,aAzN7B,+QA8N4B3Z,EAAY+I,iBA9NxC,cA8NcC,EA9Nd,gBA+N+BvF,MAAM,oCAAD,OAAqCnD,KAAKQ,MAAM0V,OAAhD,qBAAmElW,KAAKQ,MAAMgW,UAAY,CAClH7N,QAAUD,EAAa,CAAE,cAAgB,UAAhB,OAA2BA,IAAlC,KAhO9B,cA+Nc7G,EA/Nd,gBAkO2BA,EAASwB,OAlOpC,cAkOcvB,EAlOd,OAmOQ9B,KAAK0E,SAAS,CAAE7D,QAASiB,IAnOjC,UAoOc9B,KAAKyZ,eAAezZ,KAAKQ,MAAM0V,QApO7C,mRAwO4BxW,EAAY+I,iBAxOxC,cAwOcC,EAxOd,OAyOc6P,EAASvY,KAAKQ,MAAM8Y,QAAQ,GAAGlO,GAzO7C,SA0O+BjI,MAAM,uCAAD,OAAwCoV,EAAxC,mBAAyDvY,KAAKQ,MAAM0V,QAAU,CACtGvN,QAAUD,EAAa,CAAE,cAAgB,UAAhB,OAA2BA,IAAlC,KA3O9B,cA0Oc7G,EA1Od,gBA6O2BA,EAASwB,OA7OpC,cA6OcvB,EA7Od,OA8OQ9B,KAAK0E,SAAS,CAAE4U,QAAS,KAAMzY,QAASiB,IA9OhD,UA+Oc9B,KAAKyZ,eAAezZ,KAAKQ,MAAM0V,QA/O7C,wRAmP4BxW,EAAY+I,iBAnPxC,cAmPcC,EAnPd,OAoPc6P,EAASvY,KAAKQ,MAAMuD,WAAW,GAAGqH,GApPhD,SAqP+BjI,MAAM,4CAAD,OAA6CoV,EAA7C,mBAA8DvY,KAAKQ,MAAM0V,QAAU,CAC3GvN,QAAUD,EAAa,CAAE,cAAgB,UAAhB,OAA2BA,IAAlC,KAtP9B,cAqPc7G,EArPd,gBAwP2BA,EAASwB,OAxPpC,cAwPcvB,EAxPd,OAyPQ9B,KAAK0E,SAAS,CAAEX,WAAY,KAAMlD,QAASiB,IAzPnD,UA0Pc9B,KAAKyZ,eAAezZ,KAAKQ,MAAM0V,QA1P7C,4GAAiCxQ,aAApBwT,GACFzS,YAAcyS,GAAYvU,KCF9B,IAAMuV,GAAb,kDAGI,WAAYjW,GAAQ,IAAD,8BACf,cAAMA,IAEDzD,MAAQ,CACTN,KAAM,GACNqY,OAAQ,KACRX,OAAQ,KACRuC,OAAQ,KACR/B,UAAW,KACXhI,SAAU,KACViI,YAAa,KACb+B,IAAK,KACLC,UAAW,KACXC,YAAa,KACbhC,MAAO,KACPX,cAAe,GACf9W,aAASa,GAhBE,EAHvB,gLAyBwB6S,GAAeC,oBAKM9S,IAA9B1B,KAAKiE,MAAM0K,SAASnO,MAChBR,KAAKiE,MAAM0K,SAASnO,MAAM2X,eACnBI,EAASvY,KAAKiE,MAAM0K,SAASnO,MAAM+X,OACzCvY,KAAK0E,SAAS,CAAE6T,OAAQA,IACxBvY,KAAKua,eAAehC,IAIxBvY,KAAKiE,MAAM8P,QAAQ9R,KAAK,uBAX5BjC,KAAKiE,MAAM8P,QAAQ9R,KAAK,iBAc5BjC,KAAK8X,oBAzCb,qIA4Cc,IAAD,OACL,OACI,6BACI,kBAAC7R,EAAA,EAAD,CAAWT,UAAU,kBACjB,kBAAC4P,GAAA,EAAD,KACI,kBAACC,GAAA,EAAD,KACI,8CAGR,kBAACD,GAAA,EAAD,CAAK5P,UAAU,UACX,kBAAC6P,GAAA,EAAD,CAAKK,GAAG,KACJ,kBAAC,KAAD,CACItK,GAAG,SACHuE,SAAU,SAACqI,GAAD,OAAc,EAAKtT,SAAS,CAAEkT,OAAQI,KAChDA,SAAUhY,KAAKQ,MAAMoX,OACrBK,QAASjY,KAAKQ,MAAMmX,cACpB/H,YAAY,YAGpB,kBAACyF,GAAA,EAAD,CAAKK,GAAG,IAAIlQ,UAAU,eAClB,kBAACiR,GAAA,EAAD,CACI7O,KAAK,WACL+H,SAAU,SAAC/D,GAAD,OAAO,EAAKlH,SAAS,CAAEyV,OAAQvO,EAAEC,OAAO2O,WAClDA,UAAWxa,KAAKQ,MAAM2Z,OACtBxV,KAAK,WAET,2BAAOa,UAAU,cAAjB,YAGR,kBAAC4P,GAAA,EAAD,CAAK5P,UAAU,UACX,kBAAC6P,GAAA,EAAD,CAAKK,GAAG,KACJ,kBAACe,GAAA,EAAD,CACI7O,KAAK,OACL0D,MAAOtL,KAAKQ,MAAM4X,UAClBzI,SAAU,SAAC/D,GAAD,OAAO,EAAKlH,SAAS,CAAE0T,UAAWxM,EAAEC,OAAOP,SACrD3G,KAAK,YACLyG,GAAG,YACHwE,YAAY,iBAIxB,kBAACwF,GAAA,EAAD,CAAK5P,UAAU,UACX,kBAAC6P,GAAA,EAAD,CAAKK,GAAG,KACJ,kBAACe,GAAA,EAAD,CACI7O,KAAK,OACL0D,MAAOtL,KAAKQ,MAAM4P,SAClBT,SAAU,SAAC/D,GAAD,OAAO,EAAKlH,SAAS,CAAE0L,SAAUxE,EAAEC,OAAOP,SACpD3G,KAAK,WACLyG,GAAG,WACHwE,YAAY,gBAIxB,kBAACwF,GAAA,EAAD,CAAK5P,UAAU,UACX,kBAAC6P,GAAA,EAAD,CAAKK,GAAG,KACJ,kBAACe,GAAA,EAAD,CACI7O,KAAK,MACL0D,MAAOtL,KAAKQ,MAAM6X,YAClB1I,SAAU,SAAC/D,GAAD,OAAO,EAAKlH,SAAS,CAAE2T,YAAazM,EAAEC,OAAOP,SACvD3G,KAAK,cACLyG,GAAG,cACHwE,YAAY,kBAGpB,kBAACyF,GAAA,EAAD,CAAKK,GAAG,KACJ,kBAACe,GAAA,EAAD,CACI7O,KAAK,OACL0D,MAAOtL,KAAKQ,MAAM4Z,IAClBzK,SAAU,SAAC/D,GAAD,OAAO,EAAKlH,SAAS,CAAE0V,IAAKxO,EAAEC,OAAOP,SAC/C3G,KAAK,MACLyG,GAAG,MACHwE,YAAY,WAIxB,kBAACwF,GAAA,EAAD,CAAK5P,UAAU,UACX,kBAAC6P,GAAA,EAAD,CAAKK,GAAG,KACJ,kBAACe,GAAA,EAAD,CACI7O,KAAK,MACL0D,MAAOtL,KAAKQ,MAAM6Z,UAClB1K,SAAU,SAAC/D,GAAD,OAAO,EAAKlH,SAAS,CAAE2V,UAAWzO,EAAEC,OAAOP,SACrD3G,KAAK,YACLyG,GAAG,YACHwE,YAAY,iBAIxB,kBAACwF,GAAA,EAAD,CAAK5P,UAAU,UACX,kBAAC6P,GAAA,EAAD,CAAKK,GAAG,KACJ,kBAACe,GAAA,EAAD,CACI7O,KAAK,MACL0D,MAAOtL,KAAKQ,MAAM8Z,YAClB3K,SAAU,SAAC/D,GAAD,OAAO,EAAKlH,SAAS,CAAE4V,YAAa1O,EAAEC,OAAOP,SACvD3G,KAAK,cACLyG,GAAG,cACHwE,YAAY,mBAIxB,kBAACwF,GAAA,EAAD,CAAK5P,UAAU,UACX,kBAAC6P,GAAA,EAAD,CAAKK,GAAG,KACJ,kBAACe,GAAA,EAAD,CACI7O,KAAK,QACL0D,MAAOtL,KAAKQ,MAAM8X,MAClB3I,SAAU,SAAC/D,GAAD,OAAO,EAAKlH,SAAS,CAAE4T,MAAO1M,EAAEC,OAAOP,SACjD3G,KAAK,QACLyG,GAAG,QACHwE,YAAY,YAIxB,kBAACwF,GAAA,EAAD,CAAK5P,UAAU,UACX,kBAAC6P,GAAA,EAAD,CAAKK,GAAG,KACJ,kBAACC,GAAA,EAAD,CACI5G,MAAM,UACN1I,QAAS,kBAAM,EAAKpC,MAAM8P,QAAQ9R,KAAK,kBAF3C,kBAOJ,kBAACoT,GAAA,EAAD,CAAKK,GAAG,KACJ,kBAACC,GAAA,EAAD,CACI5G,MAAM,UACNhH,MAAO,CAAE+H,WAAY,MAAON,YAAa,OACzCnJ,QAAS,kBAAM,EAAKoU,eAHxB,UASR,kBAACrF,GAAA,EAAD,CAAK5P,UAAU,UACX,kBAAC6P,GAAA,EAAD,MAC4B,IAAvBrV,KAAKQ,MAAMK,SACR,kBAAC8V,GAAA,EAAD,CAAO5H,MAAM,WACR/O,KAAKQ,MAAM+X,OAAS,6BAA+B,6BAGpC,IAAvBvY,KAAKQ,MAAMK,SACR,kBAAC8V,GAAA,EAAD,CAAO5H,MAAM,UACR/O,KAAKQ,MAAM+X,OAAS,uBAAyB,4BAvLlF,8KAkM4B7Y,EAAY+I,iBAlMxC,cAkMcC,EAlMd,gBAmM+BvF,MAAM,0BAA2B,CACpDwF,QAAUD,EAAa,CAAE,cAAgB,UAAhB,OAA2BA,IAAlC,KApM9B,cAmMc7G,EAnMd,gBAsM2BA,EAASwB,OAtMpC,OAsMcvB,EAtMd,OAuMQ9B,KAAK0E,SAAS,CAAEiT,cAAe7V,IAvMvC,qLA0MyByW,GA1MzB,2FA2M4B7Y,EAAY+I,iBA3MxC,cA2McC,EA3Md,gBA4M+BvF,MAAM,oCAAD,OAAqCoV,GAAU,CACvE5P,QAAUD,EAAa,CAAE,cAAgB,UAAhB,OAA2BA,IAAlC,KA7M9B,cA4Mc7G,EA5Md,gBA+M2BA,EAASwB,OA/MpC,OA+McvB,EA/Md,OAgNQ9B,KAAK0E,SAAS,CACV0T,UAAWtW,EAAKsW,UAChBhI,SAAUtO,EAAKsO,SACfkI,MAAOxW,EAAKwW,MACZD,YAAavW,EAAKuW,YAClB+B,IAAKtY,EAAKsY,IACVC,UAAWvY,EAAKuY,UAChBC,YAAaxY,EAAKwY,YAClBH,OAAQrY,EAAKqY,SAxNzB,6QA6N4Bza,EAAY+I,iBA7NxC,UA6NcC,EA7Nd,OA8NcgS,EAAM,CACRtP,GAAIpL,KAAKQ,MAAM+X,OACfH,UAAWpY,KAAKQ,MAAM4X,UACtBhI,SAAUpQ,KAAKQ,MAAM4P,SACrBkI,MAAOtY,KAAKQ,MAAM8X,MAClBD,YAAarY,KAAKQ,MAAM6X,YACxB+B,IAAKpa,KAAKQ,MAAM4Z,IAChBC,UAAWra,KAAKQ,MAAM6Z,UACtBC,YAAata,KAAKQ,MAAM8Z,YACxBH,OAAQna,KAAKQ,MAAM2Z,SAEpBna,KAAKQ,MAAM+X,OAzOtB,gCA0OkBvY,KAAK2a,SAASD,EAAKhS,GA1OrC,oMAiPmBgS,EAAKhS,GAjPxB,yFAkP+BvF,MAAM,0BAA2B,CACpDmF,OAAQ,OACRN,KAAMY,KAAKC,UAAU6R,GACrB/R,QAAUD,EAAa,CAAE,cAAgB,UAAhB,OAA2BA,GAAS,eAAgB,oBAA3D,KArP9B,cAkPc7G,EAlPd,gBAuP2BA,EAASwB,OAvPpC,OAuPcvB,EAvPd,OAwPQ9B,KAAK0E,SAAS,CAAE7D,QAASiB,IAxPjC,mLA2PqB4Y,EAAKhS,GA3P1B,yFA4P+BvF,MAAM,uBAAwB,CACjDmF,OAAQ,OACRN,KAAMY,KAAKC,UAAU6R,GACrB/R,QAAUD,EAAa,CAAE,cAAgB,UAAhB,OAA2BA,GAAS,eAAgB,oBAA3D,KA/P9B,cA4Pc7G,EA5Pd,gBAiQ2BA,EAASwB,OAjQpC,OAiQcvB,EAjQd,OAkQQ9B,KAAK0E,SAAS,CAAE7D,QAASiB,IAlQjC,8GAAiC4D,aAApBwU,GACFzT,YAAcyT,GAAYvV,KCF9B,IAAMiW,GAAb,kDAGI,WAAY3W,GAAQ,IAAD,8BACf,cAAMA,IAEDzD,MAAQ,CACTqa,WAAY,GACZha,aAASa,GALE,EAHvB,0KAcwB6S,GAAeC,gBAE3BxU,KAAKiE,MAAM8P,QAAQ9R,KAAK,iBAhBpC,qIAoBc,IAAD,OACL,OACI,6BACI,kBAACgE,EAAA,EAAD,CAAWT,UAAU,kBACjB,kBAAC4P,GAAA,EAAD,KACI,kBAACC,GAAA,EAAD,KACI,+CAGR,kBAACD,GAAA,EAAD,CAAK5P,UAAU,UACX,kBAAC6P,GAAA,EAAD,CAAKC,GAAG,KAAKC,GAAG,KAAKC,GAAG,KAAKC,GAAG,KAAKC,GAAG,MACpC,kBAACe,GAAA,EAAD,CACI7O,KAAK,OACL+H,SAAU,SAAC/D,GAAD,OAAO,EAAKlH,SAAS,CAAEmW,WAAYjP,EAAEC,OAAOP,SACtD3G,KAAK,aACLyG,GAAG,aACHwE,YAAY,UAGpB,kBAACyF,GAAA,EAAD,CAAKC,GAAG,IAAIC,GAAG,IAAIC,GAAG,IAAIC,GAAG,IAAIC,GAAG,KAChC,kBAACC,GAAA,EAAD,CACI5G,MAAM,UACN1I,QAAS,kBAAM,EAAKyU,iBAFxB,YAQR,kBAAC1F,GAAA,EAAD,CAAK5P,UAAU,UACX,kBAAC6P,GAAA,EAAD,MAC4B,IAAvBrV,KAAKQ,MAAMK,SACR,kBAAC8V,GAAA,EAAD,CAAO5H,MAAM,WAAb,+BAIoB,IAAvB/O,KAAKQ,MAAMK,SACR,kBAAC8V,GAAA,EAAD,CAAO5H,MAAM,UAAb,8BAxDhC,6KAqE4BrP,EAAY+I,iBArExC,UAqEcC,EArEd,SAsEc/D,EAAO3E,KAAKQ,MAAMqa,YAtEhC,wBAwEkBH,EAAM,CACRtP,GAAI,EACJzG,KAAMA,GA1EtB,SA4EmCxB,MAAM,2BAA4B,CACrDmF,OAAQ,OACRN,KAAMY,KAAKC,UAAU6R,GACrB/R,QAAUD,EAAa,CAAE,cAAgB,UAAhB,OAA2BA,GAAS,eAAgB,oBAA3D,KA/ElC,cA4EkB7G,EA5ElB,iBAiF+BA,EAASwB,OAjFxC,QAiFkBvB,EAjFlB,OAkFY9B,KAAK0E,SAAS,CAAE7D,QAASiB,IAlFrC,4GAAkC4D,aAArBkV,GACFnU,YAAcmU,GAAajW,KCA/B,IAAMoW,GAAb,kDAGI,WAAY9W,GAAQ,IAAD,8BACf,cAAMA,IAEDzD,MAAQ,CACToY,SAAU,EACViC,WAAY,GACZha,aAASa,GANE,EAHvB,gLAewB6S,GAAeC,oBAKM9S,IAA9B1B,KAAKiE,MAAM0K,SAASnO,MAChBR,KAAKiE,MAAM0K,SAASnO,MAAMqY,iBACnBD,EAAW5Y,KAAKiE,MAAM0K,SAASnO,MAAMoY,SAC3C5Y,KAAK0E,SAAS,CAAEkU,SAAUA,IAC1B5Y,KAAKgb,iBAAiBpC,IAI1B5Y,KAAKiE,MAAM8P,QAAQ9R,KAAK,yBAX5BjC,KAAKiE,MAAM8P,QAAQ9R,KAAK,iBAjBpC,qIAiCc,IAAD,OACL,OACI,6BACI,kBAACgE,EAAA,EAAD,CAAWT,UAAU,kBACjB,kBAAC,GAAD,KACI,kBAAC6P,GAAA,EAAD,CAAKC,GAAG,MACJ,+CAEJ,kBAACD,GAAA,EAAD,CAAKC,GAAG,MACJ,0CAAgBtV,KAAKQ,MAAMoY,YAGnC,kBAAC,GAAD,KACI,kBAACvD,GAAA,EAAD,CAAKC,GAAG,MACJ,iDAEJ,kBAACD,GAAA,EAAD,CAAKC,GAAG,KAAKC,GAAG,KAAKC,GAAG,KAAKC,GAAG,KAAKC,GAAG,MACpC,kBAACe,GAAA,EAAD,CACI7O,KAAK,OACL0D,MAAOtL,KAAKQ,MAAMqa,WAClBlL,SAAU,SAAC/D,GAAD,OAAO,EAAKlH,SAAS,CAAEmW,WAAYjP,EAAEC,OAAOP,SACtD3G,KAAK,aACLyG,GAAG,aACHwE,YAAY,UAGpB,kBAACyF,GAAA,EAAD,CAAKC,GAAG,IAAIC,GAAG,IAAIC,GAAG,IAAIC,GAAG,IAAIC,GAAG,KAChC,kBAACC,GAAA,EAAD,CACI5G,MAAM,UACN1I,QAAS,kBAAM,EAAK4U,eAFxB,UAQR,kBAAC7F,GAAA,EAAD,CAAK5P,UAAU,UACX,kBAAC6P,GAAA,EAAD,MAC4B,IAAvBrV,KAAKQ,MAAMK,SACR,kBAAC8V,GAAA,EAAD,CAAO5H,MAAM,WAAb,+BAIoB,IAAvB/O,KAAKQ,MAAMK,SACR,kBAAC8V,GAAA,EAAD,CAAO5H,MAAM,UAAb,8BA5EhC,gFAuF2B6J,GAvF3B,2FAwF4BlZ,EAAY+I,iBAxFxC,cAwFcC,EAxFd,gBAyF+BvF,MAAM,sCAAD,OAAuCyV,GAAY,CAC3EjQ,QAAUD,EAAa,CAAE,cAAgB,UAAhB,OAA2BA,IAAlC,KA1F9B,cAyFc7G,EAzFd,gBA4F2BA,EAASwB,OA5FpC,OA4FcvB,EA5Fd,OA6FQ9B,KAAK0E,SAAS,CACVmW,WAAY/Y,EAAK6C,OA9F7B,mRAmG4BjF,EAAY+I,iBAnGxC,UAmGcC,EAnGd,SAoGc/D,EAAO3E,KAAKQ,MAAMqa,YApGhC,wBAsGkBH,EAAM,CACRtP,GAAIpL,KAAKQ,MAAMoY,SACfjU,KAAMA,GAxGtB,SA0GmCxB,MAAM,4BAA6B,CACtDmF,OAAQ,OACRN,KAAMY,KAAKC,UAAU6R,GACrB/R,QAAUD,EAAa,CAAE,cAAgB,UAAhB,OAA2BA,GAAS,eAAgB,oBAA3D,KA7GlC,cA0GkB7G,EA1GlB,iBA+G+BA,EAASwB,OA/GxC,QA+GkBvB,EA/GlB,OAgHY9B,KAAK0E,SAAS,CAAE7D,QAASiB,IAhHrC,4GAAmC4D,aAAtBqV,GACFtU,YAAcsU,GAAcpW,KCDhC,IAAMuW,GAAb,kDAGI,WAAYjX,GAAQ,IAAD,8BACf,cAAMA,IAEDzD,MAAQ,GAHE,EAHvB,0KAawB+T,GAAeC,gBAE3BxU,KAAKiE,MAAM8P,QAAQ9R,KAAK,iBAfpC,qIAoBQ,OACI,6BACI,kBAACgE,EAAA,EAAD,CAAWT,UAAU,kBACjB,kBAAC,GAAD,KACI,kBAAC6P,GAAA,EAAD,KACI,uCAGR,kBAAC,GAAD,KACI,wBAAI7P,UAAU,WACV,kBAACH,EAAA,EAAD,CAASC,IAAKC,IAAME,GAAG,kBAAvB,WACA,kBAACJ,EAAA,EAAD,CAASC,IAAKC,IAAME,GAAG,gBAAvB,SACA,kBAACJ,EAAA,EAAD,CAASC,IAAKC,IAAME,GAAG,gBAAvB,iBAhC5B,GAA2BC,aAAdwV,GACFzU,YAAcyU,GAAMvW,K,+BCmgBhBwW,OArgBf,YAIoB,IAHhBC,EAGe,EAHfA,WACAC,EAEe,EAFfA,aACAzN,EACe,EADfA,SACA0N,EAAe,EAAfA,YAEMC,EAAmBC,mBAEzBrQ,qBAAU,gBACezJ,IAAjB2Z,GAA8BE,EAAiBE,UAAYJ,IAC3DK,GAAgBL,GAChBE,EAAiBE,QAAUJ,EAPpB,oCASPM,IAEJC,GAAkBhO,KACnB,CAACwN,EAAYxN,IAZD,MAcmDjD,mBAAS,IAd5D,mBAcRkR,EAdQ,KAcmBC,EAdnB,OAemBnR,mBAAS,IAf5B,mBAeRoR,EAfQ,KAeGC,EAfH,OAgBmBrR,mBAAS,IAhB5B,mBAgBRsR,EAhBQ,KAgBGC,EAhBH,OAiB6BvR,oBAAS,GAjBtC,mBAiBRwR,EAjBQ,KAiBQC,EAjBR,OAkBsBzR,oBAAS,GAlB/B,mBAkBR0R,EAlBQ,KAkBKC,EAlBL,OAmBmD3R,wBAASjJ,GAnB5D,mBAmBR6a,EAnBQ,KAmBmBC,EAnBnB,OAoBqB7R,wBAASjJ,GApB9B,mBAoBR+a,EApBQ,KAoBIC,EApBJ,OAqBqB/R,wBAASjJ,GArB9B,mBAqBRib,EArBQ,KAqBIC,EArBJ,OAsByCjS,oBAAS,GAtBlD,mBAsBRkS,EAtBQ,KAsBcC,EAtBd,OAuBiBnS,oBAAS,GAvB1B,mBAuBRoS,EAvBQ,KAuBEC,EAvBF,OAwBwBrS,mBAAS,IAxBjC,oBAwBRsS,GAxBQ,MAwBGrB,GAxBH,SAyBqBjR,mBAAS,GAzB9B,qBAyBRuS,GAzBQ,MAyBExB,GAzBF,SA0ByB/Q,oBAAS,GA1BlC,qBA0BRwS,GA1BQ,MA0BMC,GA1BN,oDA4Bf,sBAAAtZ,EAAA,6DACIuZ,KACAC,KACAC,KAHJ,SAIUC,KAJV,4CA5Be,+BAmCAA,KAnCA,8EAmCf,sBAAA1Z,EAAA,sDACgB8C,IACNC,IAAI,uCAAyCwU,GAC9C9N,MAAK,SAACzL,GACCA,IACA4Z,GAAgB5Z,EAAKuO,cACrBuL,GAAmC,MAAjB9Z,EAAKsO,SAAmB6M,GAAYnb,EAAKsO,UAC3DoM,EAA6B1a,EAAK2b,2BAClCf,EAAc5a,EAAK4b,YACnBd,EAAc9a,EAAK6b,YACnBrB,EAAclB,GACdwC,GAAOvC,GACPuC,GAAOvC,OAZvB,4CAnCe,sBAoDf,SAASgC,KACOzW,IACNC,IAAI,mDACL0G,MAAK,SAACzL,GACHga,EAA6Bha,MAIzC,SAASwb,KACO1W,IACNC,IAAI,mCACL0G,MAAK,SAACzL,GACHka,EAAala,MAIzB,SAASyb,KACO3W,IACNC,IAAI,mCACL0G,MAAK,SAACzL,GACHoa,EAAapa,MAIzB,SAAS8b,GAAOxS,GACAxE,IACNC,IAAI,gCAAkCuE,GACvCmC,MAAK,SAACzL,GACHsb,GAAgBtb,MAI5B,SAAS+b,GAAgBC,EAAQxS,GAC7B,OAAQwS,GACJ,IAAK,OACDtW,OAAOmH,SAASzG,KAAO,IACvB,MACJ,IAAK,iBACDkU,GAAkB,GAClB,MACJ,IAAK,kBACa1a,IAAV4J,GA8BhB,SAAuCA,GACnC,IAAInI,EAAQyD,IAER9E,EAAO,CACPic,IAAKC,SAAS1S,GACd2S,IAAKD,SAASd,KAGlB/Z,EAAM4D,KAAK,mDAAoDjF,GAC1DyL,MAAK,SAAC8F,GACHmJ,EAA6BlR,MAxCJ4S,CAA8B5S,GACvD,MACJ,IAAK,gBACa5J,IAAV4J,GAyChB,SAAwBA,GACpB,IAAInI,EAAQyD,IAER9E,EAAO,CACPic,IAAKC,SAAS1S,GACd2S,IAAKD,SAASd,KAGlB/Z,EAAM4D,KAAK,oCAAqCjF,GAC3CyL,MAAK,SAAC8F,GACHqJ,EAAcpR,MAnDW6S,CAAe7S,GACxC,MACJ,IAAK,gBACa5J,IAAV4J,GAoDhB,SAAwBA,GACpB,IAAInI,EAAQyD,IAER9E,EAAO,CACPic,IAAKC,SAAS1S,GACd2S,IAAKD,SAASd,KAGlB/Z,EAAM4D,KAAK,oCAAqCjF,GAC3CyL,MAAK,SAAC8F,GACHuJ,EAActR,MA9DW8S,CAAe9S,GACxC,MACJ,IAAK,gBACD9D,OAAOmH,SAASzG,KAAO,iBACvB,MACJ,IAAK,sBACDV,OAAOmH,SAASzG,KAAO,0BACvB,MACJ,IAAK,oBACDV,OAAOmH,SAASzG,KAAO,UACvB,MACJ,IAAK,oBACDV,OAAOmH,SAASzG,KAAO,UACvB,MACJ,IAAK,oBACDV,OAAOmH,SAASzG,KAAO,qBACvB,MACJ,IAAK,SACDV,OAAOmH,SAASzG,KAAO,cArHpB,SAqKAmW,KArKA,8EAqKf,gCAAAva,EAAA,sEACwBpE,EAAY+I,iBADpC,UACUC,EADV,QAEQmU,EAFR,sBAG2B,sBACfvV,EAAW,GAEXoG,EAAI9G,IANhB,SAOczD,MAAM,sCAAwC+Z,GAAU,CAC1D5U,OAAQ,MACRN,KAAM,KACNW,QAAS,CACL,eAAgB,mBAChB,cAAiB,UAAYD,KAGhC6E,MAAK,SAAC+Q,GACH,IACMC,EADSD,EAAI3V,QAAQ9B,IAAI,uBACV+F,MAAM,KAO3B,OALItF,EADAiX,EAAM,GACKA,EAAM,GAAG3R,MAAM,KAAK,GAhBxB,sBAqBJ0R,EAAIE,UAEdjR,MAAK,SAAAzL,GACF4L,EAAErG,aAAavF,EAAMwF,EAAU,sBAGlCmX,OAAM,SAACrd,GACJN,QAAQC,IAAI,uCAAyCK,EAAMD,YA/B3E,WAoCQ4b,EApCR,wBAqCYzV,EAAW,sBArCvB,UAuCcnE,MAAM,iDAAmD+Z,GAAU,CACrE5U,OAAQ,MACRN,KAAM,KACNW,QAAS,CACL,eAAgB,mBAChB,cAAiB,UAAYD,KAGhC6E,MAAK,SAAC+Q,GACH,IACMC,EADSD,EAAI3V,QAAQ9B,IAAI,uBACV+F,MAAM,KAK3B,OAJI2R,EAAM,KACNjX,EAAWiX,EAAM,GAAG3R,MAAM,KAAK,IAG5B0R,EAAIE,UAEdjR,MAAK,SAAAzL,GACM8E,IACNS,aAAavF,EAAMwF,EAAU,sBAGlCmX,OAAM,SAACrd,GACJN,QAAQC,IAAI,uCAAyCK,EAAMD,YA9D3E,QAkEIib,GAAkB,GAClBU,GAAwB,GACxBE,GAAY,GApEhB,6CArKe,sBA4Of,OACI,yBAAKxX,UAAU,SAASuC,OAAuB,IAAhBsU,EAAuB,CAAEqC,QAAS,KAAQ,CAAEA,QAAS,MAChF,2BAAOlZ,UAAU,eACb,+BACI,4BACI,wCAGA,wBAAIuC,MAAO,CAAE4W,WAAY,OAAQ1R,SAAU,MAAO2R,cAAe,YAC/C,IAAb1B,GAAiB,GAAKA,KAG/B,4BACI,yCAGA,wBAAInV,MAAO,CAAE4W,WAAY,OAAQ1R,SAAU,MAAO2R,cAAe,YAC5D3B,KAGT,4BACI,2CAGA,4BACI,4BACIzR,cAAuB9J,IAAbwb,IAAuC,IAAbA,GACpC5R,MAAOiR,EACP5M,SAAU,SAAC/D,QACgBlK,IAAnBkK,EAAEC,OAAOP,OAAqBuS,GAAgB,aAAcjS,EAAEC,OAAOP,SAG7E,4BAAQxB,IAAK,EAAGwB,MAAO,GAAvB,OAPJ,OAQKuQ,QARL,IAQKA,OARL,EAQKA,EAA2BxZ,KAAI,SAACuH,EAAMC,GAAP,OAC5B,4BAAQC,IAAKD,EAAKyB,MAAO1B,EAAKwB,IAAKxB,EAAKjF,YAKxD,4BACI,yCAGA,4BACI,4BACI6G,cAAuB9J,IAAbwb,IAAuC,IAAbA,GACpC5R,MAAOqR,EACPhN,SAAU,SAAC/D,QACgBlK,IAAnBkK,EAAEC,OAAOP,OAAqBuS,GAAgB,WAAYjS,EAAEC,OAAOP,SAG3E,4BAAQxB,IAAK,EAAGwB,MAAO,GAAvB,OAPJ,OAQK2Q,QARL,IAQKA,OARL,EAQKA,EAAW5Z,KAAI,SAACuH,EAAMC,GAAP,OACZ,4BAAQC,IAAKD,EAAKyB,MAAO1B,EAAKwB,IAAKxB,EAAKjF,YAKxD,4BACI,wCAGA,4BACI,4BACI6G,cAAuB9J,IAAbwb,IAAuC,IAAbA,GACpC5R,MAAOmR,EACP9M,SAAU,SAAC/D,QACgBlK,IAAnBkK,EAAEC,OAAOP,OAAqBuS,GAAgB,WAAYjS,EAAEC,OAAOP,SAG3E,4BAAQxB,IAAK,EAAGwB,MAAO,GAAvB,OAPJ,OAQKyQ,QARL,IAQKA,OARL,EAQKA,EAAW1Z,KAAI,SAACuH,EAAMC,GAAP,OACZ,4BAAQC,IAAKD,EAAKyB,MAAO1B,EAAKwB,IAAKxB,EAAKjF,YAKxD,4BACI,6BAEA,4BACI,yBAAKa,UAAU,OACXa,QAAS,SAACuF,GACNiS,GAAgB,OAAQ,MACxBvC,EAAY,OAHpB,UASR,4BACI,6BAEA,4BACI,yBAAK9V,eAAwB9D,IAAbwb,IAAuC,IAAbA,GAAiB,gBAAkB,OACzE7W,QAAS,SAACuF,GACNiS,GAAgB,sBAAuB,MACvCvC,EAAY,6BAHpB,0BASR,4BACI,6BAEA,4BACI,yBAAK9V,eAAwB9D,IAAbwb,IAAuC,IAAbA,GAAiB,gBAAkB,OACzE7W,QAAS,SAACuF,GACNiS,GAAgB,oBAAqB,MACrCvC,EAAY,aAHpB,wBASR,4BACI,6BAEA,4BACI,yBAAK9V,eAAwB9D,IAAbwb,IAAuC,IAAbA,GAAiB,gBAAkB,OACzE7W,QAAS,SAACuF,GACNiS,GAAgB,oBAAqB,MACrCvC,EAAY,aAHpB,wBASR,4BACI,6BAEA,4BACI,yBAAK9V,eAAwB9D,IAAbwb,IAAuC,IAAbA,GAAiB,gBAAkB,OACzE7W,QAAS,SAACuF,GACNiS,GAAgB,oBAAqB,MACrCvC,EAAY,wBAHpB,wBASR,4BACI,6BAEA,4BACI,yBAAK9V,eAAwB9D,IAAbwb,IAAuC,IAAbA,GAAiB,gBAAkB,OACzE7W,QAAS,SAACuF,GACNiS,GAAgB,gBAAiB,MACjCvC,EAAY,oBAHpB,oBASR,4BACI,6BAEA,4BACI,yBAAK9V,eAAwB9D,IAAbwb,IAAuC,IAAbA,GAAiB,gBAAkB,OACzE7W,QAAS,SAACuF,GACNiS,GAAgB,UAAW,MAC3BvC,EAAY,gBAHpB,aASR,4BACI,6BAEA,4BACI,4BACI9P,cAAuB9J,IAAbwb,IAAuC,IAAbA,GACpC1X,UAAU,sBACVuC,MAAO,CAAE8H,WAAY,UACrBxJ,QAAS,WACLwX,GAAgB,iBAAkB,QAL1C,qBAWR,4BACI,6BAEA,4BACI,4BACIrS,cAAuB9J,IAAbwb,IAAuC,IAAbA,GACpC1X,UAAU,sBACVuC,MAAO,CAAE8H,WAAY,UACrBxJ,QAAS,WACLwX,GAAgB,2BAA4B,QALpD,kCAahB,kBAAC,KAAD,CACItX,OAAQ4V,EAER0C,eAAgB,kBAAMzC,GAAkB,IACxC5W,UAAU,QACVsZ,aAAc,GACdC,iBAAiB,WAEjB,yBAAKhX,MAAO,CAAE4B,QAAS,OAAQyF,eAAgB,SAAU0H,QAAS,QAC9D,2BAAOtR,UAAU,cACb,+BACI,4BACI,4BACI,2BAAOoC,KAAK,WAAW+H,SAAU,SAAC/D,GAAD,OAAOkR,EAAwBlR,EAAEC,OAAO2O,aAE7E,iDAIJ,4BACI,4BACI,2BAAO5S,KAAK,WAAW4D,UAAW2R,GAAcxN,SAAU,SAAC/D,GAAD,OAAOoR,EAAYpR,EAAEC,OAAO2O,aAE1F,4BACI,2BAAOzS,MAAO,CAAEkF,SAAU,SAAUyR,QAASvB,GAAe,EAAI,KAAhE,kCAGR,4BACI,4BACI,2BAAOvV,KAAK,WAAW+H,SAAU,SAAC/D,QAEtC,gDAIJ,4BACI,4BACI,2BAAOhE,KAAK,WAAW+H,SAAU,SAAC/D,QAEtC,8CAIJ,4BACI,4BACI,2BAAOhE,KAAK,WAAW+H,SAAU,SAAC/D,QAEtC,oDAIJ,4BACI,4BACI,2BAAOhE,KAAK,WAAW+H,SAAU,SAAC/D,QAEtC,uDAIJ,4BACI,wBAAI8E,QAAS,GACT,4BACIlL,UAAU,cACVa,QAAO,sBAAE,sBAAAvC,EAAA,sEAAoBua,KAApB,4CAFb,iBCpfvBW,GAAb,kDAEI,WAAY/a,GAAQ,IAAD,8BACf,cAAMA,IAEDzD,MAAQ,CACT2M,SAAS,EACT9D,WAAW,EACXuF,aAAc,GACdC,WAAY,GACZuM,YAAY,EACZe,gBAAgB,GAGpB,EAAK8C,aAAeC,IAAMC,YAC1B,EAAKC,cAAgBF,IAAMC,YAbZ,EAFvB,gEAoBQ,IAAI/T,EAAKgC,eAAeoB,QAAQ,MACrB,IAAPpD,GAAmB,OAAPA,GACZpL,KAAKqf,SAASjU,GACdpL,KAAK0E,SAAS,CAAE4a,GAAIlU,EAAImU,oBAAqBnU,EAAIgQ,YAAY,KAG7Dpb,KAAK0E,SAAS,CAAE4a,GAAI,EAAGC,oBAAqB,EAAGnE,YAAY,IAG/D,IAAIoE,EAAe,IAAIvM,gBAAgBzL,OAAOmH,SAASlB,QACvD,GAAI+R,EAAaC,IAAI,MAAO,CACxB,IAAIjP,EAAWgP,EAAa3Y,IAAI,MAChB,MAAZ2J,GACAxQ,KAAK0E,SAAS,CAAEgb,SAAUlP,OAjC1C,wCAuCQ,GAAuC,cAAnCxQ,KAAKQ,MAAMmf,oBAAqC,CAChD,IAAIC,EAAI5f,KAAKQ,MAGTqf,EAFgB7f,KAAK8f,YAAYF,EAAEG,eACxB/f,KAAK8f,YAAYF,EAAEI,UAI9B1P,EAAauP,GAFL7f,KAAK8f,YAAYF,EAAEK,iBACbjgB,KAAK8f,YAAYF,EAAEM,kBAGjCC,EAAUngB,KAAKogB,eAAe9P,GAElC,GAAI6P,GAAWA,EAAQzT,WAAW,OAASyT,EAAQrX,SAAS,KACxDqX,GAAoB,WAEnB,GAAIA,EAAQzT,WAAW,MAAQyT,EAAQrX,SAAS,KAAM,CAElC,IADjB6D,EAAMwT,EAAQvT,MAAM,MAChB,GAAGlK,SACPyd,GAAoB,MAGH,GAAjBxT,EAAI,GAAGjK,SACPyd,GAAoB,KAI5B,IAAIE,EAAWrgB,KAAKogB,eAAeP,GAEnC,GAAIQ,GAAYA,EAAS3T,WAAW,OAAS2T,EAASvX,SAAS,KAC3DuX,GAAsB,WAErB,GAAIA,EAAS3T,WAAW,MAAQ2T,EAASvX,SAAS,KAAM,CACzD,IAAI6D,EACiB,IADjBA,EAAM0T,EAASzT,MAAM,MACjB,GAAGlK,SACP2d,GAAsB,MAGL,GAAjB1T,EAAI,GAAGjK,SACP2d,GAAsB,KAI9BrgB,KAAK0E,SAAS,CAAE4b,UAAWD,EAAUE,WAAYJ,OAhF7D,kCAoFgB7U,GACR,QAAa5J,GAAT4J,GAA+B,GAATA,GAAuB,MAATA,EAAe,OAAO,EAE9D,IAAIkV,EAAM,OAAGlV,QAAH,IAAGA,OAAH,EAAGA,EAAOwN,WAAWtM,QAAQ,KAAM,IAAIA,QAAQ,IAAK,IAE9D,OAAIgU,EAAO9d,OAAS,EACF+d,MAAMD,SAAqB9e,GAAV8e,EAAuB,EAAIE,WAAWF,GAI9D,IA9FnB,qCAkGmBlV,GACX,QAAa5J,GAAT4J,EAAoB,MAAO,GAC/B,IAAIqV,EAAUrV,EAAMwN,WAAWtM,QAAQ,KAAM,IAAIA,QAAQ,IAAK,IAE1DoU,EAAM,GACNJ,EAAS,GAETK,EAAWF,EAAQ/T,MAAM,KAW7B,OAVwB,IAAZ,OAARiU,QAAQ,IAARA,OAAA,EAAAA,EAAUne,QACV8d,EAASG,EAAQ/T,MAAM,KAAK,IAEf,OAARiU,QAAQ,IAARA,OAAA,EAAAA,EAAUne,QAAS,GACxB8d,EAASG,EAAQ/T,MAAM,KAAK,GAC5BgU,EAAM,IAAMD,EAAQ/T,MAAM,KAAK,GAAGkU,UAAU,EAAG,IAG/CN,EAASG,EAETH,EAAO9d,OAAS,EACT,IAAIqe,KAAKC,kBAAatf,EAAW,CACpCqG,MAAO,WACPkZ,SAAU,MACVC,sBAAuB,EACvBC,sBAAuB,IACxBC,OAAOZ,GAAUI,OANxB,IApHR,2BA8HSrf,GAAM,IAAD,OACN,IAAK,IAAD,oBACIqI,EAAO,GAiCX,QA/B+BlI,IAA3B1B,KAAKQ,MAAM6gB,aAAgE,KAAnC,UAAArhB,KAAKQ,MAAM6gB,mBAAX,eAAwB3e,SAChEkH,EAAK3H,KAAK,0CAEeP,IAAzB1B,KAAKQ,MAAM8gB,WAA4D,KAAjC,UAAAthB,KAAKQ,MAAM8gB,iBAAX,eAAsB5e,SAC5DkH,EAAK3H,KAAK,2CAEyBP,IAAnC1B,KAAKQ,MAAMmf,qBAAgF,KAA3C,UAAA3f,KAAKQ,MAAMmf,2BAAX,eAAgCjd,SAChFkH,EAAK3H,KAAK,yBAEyB,cAAnCjC,KAAKQ,MAAMmf,0BAAiEje,IAAzB1B,KAAKQ,MAAM+gB,WAA4D,KAAjC,UAAAvhB,KAAKQ,MAAM+gB,iBAAX,eAAsB7e,SAC/GkH,EAAK3H,KAAK,gBAEyB,aAAnCjC,KAAKQ,MAAMmf,0BAAmEje,IAA7B1B,KAAKQ,MAAMghB,eAAoE,KAArC,UAAAxhB,KAAKQ,MAAMghB,qBAAX,eAA0B9e,UACrHkH,EAAK3H,KAAK,kCAEmB,WAA7BjC,KAAKQ,MAAMghB,oBAAyD9f,IAA1B1B,KAAKQ,MAAMihB,YAA8D,KAAlC,UAAAzhB,KAAKQ,MAAMihB,kBAAX,eAAuB/e,SACxGkH,EAAK3H,KAAK,sBAEyB,aAAnCjC,KAAKQ,MAAMmf,0BAAoEje,IAA7B1B,KAAKQ,MAAMuf,eAAoE,KAArC,UAAA/f,KAAKQ,MAAMuf,qBAAX,eAA0Brd,SACtHkH,EAAK3H,KAAK,kBAEyB,cAAnCjC,KAAKQ,MAAMmf,0BAAkEje,IAA1B1B,KAAKQ,MAAM+f,YAA8D,KAAlC,UAAAvgB,KAAKQ,MAAM+f,kBAAX,eAAuB7d,SACjHkH,EAAK3H,KAAK,eAEkB,KAA5B,UAAAjC,KAAKQ,MAAMkhB,YAAX,eAAiBhf,cAAoChB,IAApB1B,KAAKQ,MAAMkhB,MAC5C9X,EAAK3H,KAAK,QAEU,IAApBjC,KAAKQ,MAAMkhB,WAAwChgB,IAAzB1B,KAAKQ,MAAMmhB,WAA4D,KAAjC,UAAA3hB,KAAKQ,MAAMmhB,iBAAX,eAAsBjf,SACtFkH,EAAK3H,KAAK,oBAGK,GAAf2H,EAAKlH,OACL1C,KAAK0E,SAAS,CAAEyI,SAAS,IACbvG,IAENG,KAAK,gDAAiD/G,KAAKQ,OAC5D+M,MAAK,SAACnC,GACO,GAANA,GACA,EAAK1G,SAAS,CAAEyI,SAAS,IACzBC,eAAeI,QAAQ,KAAMpC,GAEzB5D,OAAOmH,SAASzG,UADRxG,IAARH,EACuBA,EAGA,2BAI3B,EAAKmD,SAAS,CACV2E,WAAW,EACXuF,aAAc,+DACdzB,SAAS,YAMzBnN,KAAK0E,SAAS,CACV2E,WAAW,EACXuF,aAAc,qCACdC,WAAYjF,IAIxB,MAAOV,GACHlJ,KAAK0E,SAAS,CAAEyI,SAAS,IACzBrM,QAAQC,IAAI,UAAYmI,MApMpC,+BAwMakC,GAAK,IAAD,OACT,IACIpL,KAAK0E,SAAS,CAAEyI,SAAS,IACbvG,IACNC,IAAI,mDAAqDuE,GAC1DmC,MAAK,SAACzL,GACH,IAAI8f,EAAS,EAAKphB,MAClB,IAAK,IAAMsJ,KAAOhI,EACd,GAAiB,MAAbA,EAAKgI,GAAc,CACnB,IAAI+X,EAAO/X,EAAIgY,OAAO,GAAGC,cAAgBjY,EAAIkY,MAAM,GAC/CxB,EAAS1e,EAAKgI,GAClB8X,EAAOC,GAAP,OAAerB,QAAf,IAAeA,OAAf,EAAeA,EAAQ1H,WAG/B,EAAKpU,SAASkd,GAAQ,WAClB5hB,KAAKiiB,kBACLjiB,KAAK0E,SAAS,CAAEyI,SAAS,EAAOmS,GAAIlU,IACpC8W,aAAa1U,QAAQ,WAAYxN,KAAKQ,MAAM6gB,mBAI5D,MAAOnY,GACHlJ,KAAK0E,SAAS,CAAEyI,SAAS,IACzBrM,QAAQC,IAAI,cAAgBmI,MA/NxC,+BAmOc,IAAD,qBACL,OACI,yBAAK1D,UAAU,iBACX,kBAAC,GAAD,CACI4V,WAAYpb,KAAKQ,MAAM4a,WACvBC,aAAcrb,KAAKQ,MAAM+e,oBACzBjE,YAAa,SAAC1P,GAAD,OAAO,EAAKuW,KAAKvW,MAElC,kBAAC,EAAD,CACIxC,UAAWpJ,KAAKQ,MAAMoO,aACtBtF,UAAWtJ,KAAKQ,MAAMqO,WACtBxF,UAAWrJ,KAAKQ,MAAM6I,UACtBE,aAAc,kBAAM,EAAK7E,SAAS,CAAE2E,WAAW,KAC/CG,mBAAoB,MAExB,yBAAKhE,UAAU,+BACa,IAAvBxF,KAAKQ,MAAM2M,QACR,6BACI,kBAAC2B,EAAA,EAAD,CAASC,MAAM,OAAOpI,SAAS,GAAGoB,MAAO,CAAEiH,SAAU,QAASC,IAAK,MAAOC,KAAM,UAElF,KAEN,2BAAOkT,YAAa,EAAGC,YAAa,GAChC,+BACI,4BACI,wBAAI1R,MAAM,OAAOD,QAAS,GACtB,2BAAO3I,MAAO,CAAEkF,SAAU,OAAQ0R,WAAY,MAAO5P,MAAO,YAA5D,wBAGR,4BACI,wBAAI4B,MAAM,QAAV,8BAGA,wBAAIA,MAAM,QACN,2BAAO/I,KAAK,OAAO+H,SAAU,SAAC/D,GAAD,OAAO,EAAKlH,SAAS,CAAE4d,YAAa1W,EAAEC,OAAOP,SAAUA,MAAK,UAAEtL,KAAKQ,MAAM8hB,mBAAb,QAA4B,OAG7H,4BACI,wBAAI3R,MAAM,QAAV,qCAGA,wBAAIA,MAAM,QACN,yBAAKnL,UAAU,cACX,2BAAOoC,KAAK,QACRjD,KAAK,UACLoD,MAAO,CAAEyH,YAAa,OACtBgL,QAAoC,eAA3Bxa,KAAKQ,MAAM6gB,YACpB1R,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAE2c,YAAazV,EAAEC,OAAO2O,QAAU,aAAe,EAAKha,MAAM6gB,cAC1Ea,aAAa1U,QAAQ,WAAY,eAErClC,MAAK,UAAEtL,KAAKQ,MAAM6gB,mBAAb,WAET,2BAAOtZ,MAAO,CAAEyH,YAAa,OAAQD,aAAc,IAAKG,cAAe,WAAvE,cACA,2BAAO9H,KAAK,QACRjD,KAAK,UACLoD,MAAO,CAAEyH,YAAa,OACtBgL,QAAoC,YAA3Bxa,KAAKQ,MAAM6gB,YACpB1R,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAE2c,YAAazV,EAAEC,OAAO2O,QAAU,UAAY,EAAKha,MAAM6gB,cACvEa,aAAa1U,QAAQ,WAAY,YAErClC,MAAK,UAAEtL,KAAKQ,MAAM6gB,mBAAb,WAET,2BAAOtZ,MAAO,CAAEwH,aAAc,IAAKG,cAAe,WAAlD,YAIZ,4BACI,wBAAIiB,MAAM,QAAV,sCAGA,wBAAIA,MAAM,QACN,yBAAKnL,UAAU,cACX,2BAAOoC,KAAK,QACRjD,KAAK,YACLoD,MAAO,CAAEyH,YAAa,OACtBgL,QAAkC,eAAzBxa,KAAKQ,MAAM8gB,UACpB3R,SAAU,SAAC/D,GAAD,OAAO,EAAKlH,SAAS,CAAE4c,UAAW1V,EAAEC,OAAO2O,QAAU,aAAe,EAAKha,MAAM8gB,aACzFhW,MAAK,UAAEtL,KAAKQ,MAAM8gB,iBAAb,WAET,6CACA,2BAAO1Z,KAAK,QACRjD,KAAK,YACLoD,MAAO,CAAEyH,YAAa,OACtBgL,QAAkC,QAAzBxa,KAAKQ,MAAM8gB,UACpB3R,SAAU,SAAC/D,GAAD,OAAO,EAAKlH,SAAS,CAAE4c,UAAW1V,EAAEC,OAAO2O,QAAU,MAAQ,EAAKha,MAAM8gB,aAClFhW,MAAK,UAAEtL,KAAKQ,MAAM8gB,iBAAb,WAET,sCACA,2BAAO1Z,KAAK,QACRjD,KAAK,YACLoD,MAAO,CAAEyH,YAAa,OACtBgL,QAAkC,UAAzBxa,KAAKQ,MAAM8gB,UACpB3R,SAAU,SAAC/D,GAAD,OAAO,EAAKlH,SAAS,CAAE4c,UAAW1V,EAAEC,OAAO2O,QAAU,QAAU,EAAKha,MAAM8gB,aACpFhW,MAAK,UAAEtL,KAAKQ,MAAM8gB,iBAAb,WAET,2CAIZ,4BACI,wBAAI3Q,MAAM,QAAV,gCACiC,6BADjC,iCAGA,wBAAIA,MAAM,QACN,yBAAKnL,UAAU,cACX,2BAAOoC,KAAK,QACRjD,KAAK,WACLoD,MAAO,CAAEyH,YAAa,OACtBgL,QAAgD,QAAvCxa,KAAKQ,MAAM+hB,wBACpB5S,SAAU,SAAC/D,GAAD,OAAO,EAAKlH,SAAS,CAAE6d,wBAAyB,WAG9D,sCACA,2BAAO3a,KAAK,QACRjD,KAAK,WACLoD,MAAO,CAAEyH,YAAa,OACtBgL,QAAgD,OAAvCxa,KAAKQ,MAAM+hB,wBACpB5S,SAAU,SAAC/D,GAAD,OAAO,EAAKlH,SAAS,CAAE6d,wBAAyB,UAG9D,wCAIZ,4BACI,wBAAI7R,QAAS,EAAG3I,MAAO,CAAEya,aAAc,iBAAkBC,WAAY,OAAQlT,aAAc,WAG/F,4BACI,wBAAIoB,MAAM,OAAO5I,MAAO,CAAE0a,WAAY,SAAtC,0BAGA,wBAAI9R,MAAM,OAAO5I,MAAO,CAAE0a,WAAY,SAClC,yBAAKjd,UAAU,cACX,2BAAOoC,KAAK,QACRjD,KAAK,WACLoD,MAAO,CAAEyH,YAAa,OACtBgL,QAA4C,aAAnCxa,KAAKQ,MAAMmf,oBACpBhQ,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CACVib,oBAAqB,WACrBY,gBAAY7e,OAKxB,2CACA,2BAAOkG,KAAK,QACRjD,KAAK,WACLoD,MAAO,CAAEyH,YAAa,OACtBgL,QAA4C,cAAnCxa,KAAKQ,MAAMmf,oBACpBhQ,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAEib,oBAAqB,cACjC,WAC2C,cAAnC3f,KAAKQ,MAAMmf,sBACX3f,KAAK0E,SAAS,CACVib,oBAAqB,YACrB4B,eAAW7f,EACX8f,mBAAe9f,EACf+f,gBAAY/f,EACZqe,mBAAere,EACfse,cAAUte,EACV4e,eAAW5e,EACXue,qBAAiBve,EACjBwe,qBAAiBxe,EACjB6e,gBAAY7e,IAEhB1B,KAAKof,cAAc3D,QAAQiH,eAM/C,+CAKZ,4BACI,wBAAI/R,MAAM,QAAV,gBAGA,wBAAIA,MAAM,QACN,yBAAKnL,UAAU,cACX,2BAAOoC,KAAK,QACRjD,KAAK,MACLoD,MAAO,CAAEyH,YAAa,OACtBgL,QAA4C,cAAnCxa,KAAKQ,MAAMmf,yBAAsCje,EAAqC,QAAzB1B,KAAKQ,MAAM+gB,UACjF5R,SAAU,SAAC/D,GAAD,OAAO,EAAKlH,SAAS,CAAE6c,UAAW,SAC5C/V,SAA6C,cAAnCxL,KAAKQ,MAAMmf,sBAGzB,sCACA,2BAAO/X,KAAK,QACRjD,KAAK,MACLoD,MAAO,CAAEyH,YAAa,OACtBgL,QAA4C,cAAnCxa,KAAKQ,MAAMmf,yBAAsCje,EAAqC,SAAzB1B,KAAKQ,MAAM+gB,UACjF5R,SAAU,SAAC/D,GAAD,OAAO,EAAKlH,SAAS,CAAE6c,UAAW,UAC5C/V,SAA6C,cAAnCxL,KAAKQ,MAAMmf,sBAGzB,0CAIZ,4BACI,wBAAIhP,MAAM,QAAV,mCAGA,wBAAIA,MAAM,QACN,yBAAKnL,UAAU,cACX,2BAAOoC,KAAK,QACRjD,KAAK,SACLoD,MAAO,CAAEyH,YAAa,OACtBgL,QAA4C,cAAnCxa,KAAKQ,MAAMmf,yBAAsCje,EAAyC,WAA7B1B,KAAKQ,MAAMghB,cACjF7R,SAAU,SAAC/D,GAAD,OAAO,EAAKlH,SAAS,CAAE8c,cAAe,YAChDhW,SAA6C,cAAnCxL,KAAKQ,MAAMmf,sBAGzB,gDAC8B,WAA7B3f,KAAKQ,MAAMghB,eAAiE,cAAnCxhB,KAAKQ,MAAMmf,oBACjD,2BAAO/X,KAAK,OACR+H,SAAU,SAAC/D,GAAD,OAAO,EAAKlH,SAAS,CAAE+c,WAAY7V,EAAEC,OAAOP,SACtDA,MAAK,UAAEtL,KAAKQ,MAAMihB,kBAAb,QAA2B,GAChC7R,YAAY,mBACZ7H,MAAO,CAAEyH,YAAa,MAAOD,aAAc,KAC3C/D,SAA6C,cAAnCxL,KAAKQ,MAAMmf,sBAEvB,KACN,2BAAO/X,KAAK,QACRjD,KAAK,SACLoD,MAAO,CAAEyH,YAAa,OACtBgL,QAA4C,cAAnCxa,KAAKQ,MAAMmf,yBAAsCje,EAAyC,YAA7B1B,KAAKQ,MAAMghB,cACjF7R,SAAU,SAAC/D,GAAD,OAAO,EAAKlH,SAAS,CAAE8c,cAAe,aAChDhW,SAA6C,cAAnCxL,KAAKQ,MAAMmf,sBAGzB,mDAIZ,4BACI,wBAAIhP,MAAM,QAAV,kBAGA,wBAAIA,MAAM,QACN,2BAAO/I,KAAK,OACR+H,SAAU,SAAC/D,GACP,IAAI+W,EAAoB/W,EAAEC,OAAOP,MACjC,EAAK5G,SAAS,CAAEqb,cAAa,OAAE4C,QAAF,IAAEA,OAAF,EAAEA,EAAmB7J,aAC9C,WACI9Y,KAAKiiB,sBAGjB3W,MAAOtL,KAAKogB,eAAepgB,KAAKQ,MAAMuf,eACtCjU,WAAY,SAACC,GAET,GADY,cACDC,KAAKD,EAAMjC,KAIlB,OAAO,EAHPiC,EAAME,kBAMdG,QAAS,SAACL,GACN,IAAIM,EAAYN,EAAMO,cAAcC,QAAQ,QACxCF,GACAA,EAAUG,QAAQ,eAAgB,KAG1CC,OAAQ,SAACb,GACL,IAAIO,EAAM,EAAK3L,MAAMuf,cACrB,GAAInU,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,OAASd,EAAEC,OAAOP,MAAMxC,SAAS,KAC7EqD,GAAY,WAEX,GAAIP,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,MAAQd,EAAEC,OAAOP,MAAMxC,SAAS,KAAM,CACvF,IAAI6D,EAAMf,EAAEC,OAAOP,MAAMsB,MAAM,KACV,GAAjBD,EAAI,GAAGjK,SACPyJ,GAAY,MAGK,GAAjBQ,EAAI,GAAGjK,SACPyJ,GAAY,KAGpB,EAAKzH,SAAS,CACVqb,cAAe5T,KAGvBX,SAA6C,cAAnCxL,KAAKQ,MAAMmf,wBAIjC,4BACI,wBAAIhP,MAAM,QAAV,aAGA,wBAAIA,MAAM,QACN,2BAAO/I,KAAK,OACR+H,SAAU,SAAC/D,GACP,IAAI+W,EAAoB/W,EAAEC,OAAOP,MACjC,EAAK5G,SAAS,CAAEsb,SAAQ,OAAE2C,QAAF,IAAEA,OAAF,EAAEA,EAAmB7J,aACzC,WACI9Y,KAAKiiB,sBAGjB3W,MAAOtL,KAAKogB,eAAepgB,KAAKQ,MAAMwf,UACtClU,WAAY,SAACC,GAET,GADY,cACDC,KAAKD,EAAMjC,KAIlB,OAAO,EAHPiC,EAAME,kBAMdG,QAAS,SAACL,GAEN,IAAIM,EAAYN,EAAMO,cAAcC,QAAQ,QACxCF,GACAA,EAAUG,QAAQ,eAAgB,KAI1CC,OAAQ,SAACb,GACL,IAAIO,EAAM,EAAK3L,MAAMwf,SACrB,GAAIpU,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,OAASd,EAAEC,OAAOP,MAAMxC,SAAS,KAC7EqD,GAAY,WAEX,GAAIP,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,MAAQd,EAAEC,OAAOP,MAAMxC,SAAS,KAAM,CACvF,IAAI6D,EAAMf,EAAEC,OAAOP,MAAMsB,MAAM,KACV,GAAjBD,EAAI,GAAGjK,SACPyJ,GAAY,MAGK,GAAjBQ,EAAI,GAAGjK,SACPyJ,GAAY,KAGpB,EAAKzH,SAAS,CACVsb,SAAU7T,KAGlBX,SAA6C,cAAnCxL,KAAKQ,MAAMmf,wBAIjC,4BACI,wBAAIhP,MAAM,QAAV,cAGA,wBAAIA,MAAM,QACN,2BAAO/I,KAAK,OACR+H,SAAU,SAAC/D,GACP,IAAI+W,EAAoB/W,EAAEC,OAAOP,MACjC,EAAK5G,SAAS,CAAE4b,UAAS,OAAEqC,QAAF,IAAEA,OAAF,EAAEA,EAAmB7J,aAC1C,WACI9Y,KAAKiiB,sBAGjB3W,MAAOtL,KAAKogB,eAAepgB,KAAKQ,MAAM8f,WACtCxU,WAAY,SAACC,GAET,GADY,cACDC,KAAKD,EAAMjC,KAIlB,OAAO,EAHPiC,EAAME,kBAMdG,QAAS,SAACL,GACN,IAAIM,EAAYN,EAAMO,cAAcC,QAAQ,QACxCF,GACAA,EAAUG,QAAQ,eAAgB,KAI1CC,OAAQ,SAACb,GACL,IAAIO,EAAM,EAAK3L,MAAM8f,UACrB,GAAI1U,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,OAASd,EAAEC,OAAOP,MAAMxC,SAAS,KAC7EqD,GAAY,WAEX,GAAIP,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,MAAQd,EAAEC,OAAOP,MAAMxC,SAAS,KAAM,CACvF,IAAI6D,EAAMf,EAAEC,OAAOP,MAAMsB,MAAM,KACV,GAAjBD,EAAI,GAAGjK,SACPyJ,GAAY,MAGK,GAAjBQ,EAAI,GAAGjK,SACPyJ,GAAY,KAGpB,EAAKzH,SAAS,CACV4b,UAAWnU,KAGnBX,SAA6C,cAAnCxL,KAAKQ,MAAMmf,wBAIjC,4BACI,wBAAIhP,MAAM,QAAV,qBAGA,wBAAIA,MAAM,QACN,2BAAO/I,KAAK,OACR+H,SAAU,SAAC/D,GACP,IAAI+W,EAAoB/W,EAAEC,OAAOP,MACjC,EAAK5G,SAAS,CAAEub,gBAAe,OAAE0C,QAAF,IAAEA,OAAF,EAAEA,EAAmB7J,aAChD,WACI9Y,KAAKiiB,sBAGjB3W,MAAOtL,KAAKogB,eAAepgB,KAAKQ,MAAMyf,iBACtCnU,WAAY,SAACC,GAET,GADY,cACDC,KAAKD,EAAMjC,KAIlB,OAAO,EAHPiC,EAAME,kBAMdG,QAAS,SAACL,GACN,IAAIM,EAAYN,EAAMO,cAAcC,QAAQ,QACxCF,GACAA,EAAUG,QAAQ,eAAgB,KAG1CC,OAAQ,SAACb,GACL,IAAIO,EAAM,EAAK3L,MAAMyf,gBACrB,GAAIrU,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,OAASd,EAAEC,OAAOP,MAAMxC,SAAS,KAC7EqD,GAAY,WAEX,GAAIP,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,MAAQd,EAAEC,OAAOP,MAAMxC,SAAS,KAAM,CACvF,IAAI6D,EAAMf,EAAEC,OAAOP,MAAMsB,MAAM,KACV,GAAjBD,EAAI,GAAGjK,SACPyJ,GAAY,MAGK,GAAjBQ,EAAI,GAAGjK,SACPyJ,GAAY,KAGpB,EAAKzH,SAAS,CACVub,gBAAiB9T,KAGzBX,SAA6C,cAAnCxL,KAAKQ,MAAMmf,wBAIjC,4BACI,wBAAIhP,MAAM,QAAV,qBAGA,wBAAIA,MAAM,QACN,2BAAO/I,KAAK,OACR+H,SAAU,SAAC/D,GACP,IAAI+W,EAAoB/W,EAAEC,OAAOP,MACjC,EAAK5G,SAAS,CAAEwb,gBAAe,OAAEyC,QAAF,IAAEA,OAAF,EAAEA,EAAmB7J,aAChD,WACI9Y,KAAKiiB,sBAGjB3W,MAAOtL,KAAKogB,eAAepgB,KAAKQ,MAAM0f,iBACtCpU,WAAY,SAACC,GAET,GADY,cACDC,KAAKD,EAAMjC,KAIlB,OAAO,EAHPiC,EAAME,kBAMdG,QAAS,SAACL,GAEN,IAAIM,EAAYN,EAAMO,cAAcC,QAAQ,QACxCF,GACAA,EAAUG,QAAQ,eAAgB,KAI1CC,OAAQ,SAACb,GACL,IAAIO,EAAM,EAAK3L,MAAM0f,gBACrB,GAAItU,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,OAASd,EAAEC,OAAOP,MAAMxC,SAAS,KAC7EqD,GAAY,WAEX,GAAIP,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,MAAQd,EAAEC,OAAOP,MAAMxC,SAAS,KAAM,CACvF,IAAI6D,EAAMf,EAAEC,OAAOP,MAAMsB,MAAM,KACV,GAAjBD,EAAI,GAAGjK,SACPyJ,GAAY,MAGK,GAAjBQ,EAAI,GAAGjK,SACPyJ,GAAY,KAGpB,EAAKzH,SAAS,CACVwb,gBAAiB/T,KAGzBX,SAA6C,cAAnCxL,KAAKQ,MAAMmf,wBAIjC,4BACI,wBAAIhP,MAAM,QAAV,eAGA,wBAAIA,MAAM,QACN,2BACIiS,IAAK5iB,KAAKof,cACVxX,KAAK,OACL+H,SAAU,SAAC/D,GACP,IAAI+W,EAAoB/W,EAAEC,OAAOP,MACjC,EAAK5G,SAAS,CAAE6b,WAAU,OAAEoC,QAAF,IAAEA,OAAF,EAAEA,EAAmB7J,cAEnDxN,MAAOtL,KAAKogB,eAAepgB,KAAKQ,MAAM+f,YACtC9T,OAAQ,SAACb,GACL,IAAIO,EAAM,EAAK3L,MAAM+f,WACrB,GAAI3U,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,OAASd,EAAEC,OAAOP,MAAMxC,SAAS,KAC7EqD,GAAY,WAEX,GAAIP,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,MAAQd,EAAEC,OAAOP,MAAMxC,SAAS,KAAM,CACvF,IAAI6D,EAAMf,EAAEC,OAAOP,MAAMsB,MAAM,KACV,GAAjBD,EAAI,GAAGjK,SACPyJ,GAAY,MAGK,GAAjBQ,EAAI,GAAGjK,SACPyJ,GAAY,KAGpB,EAAKzH,SAAS,CACV6b,WAAYpU,SAMhC,4BACI,wBAAIwE,MAAM,QAAV,QAGA,wBAAIA,MAAM,QACN,yBAAKnL,UAAU,cACX,2BAAOoC,KAAK,QACRjD,KAAK,OACLoD,MAAO,CAAEyH,YAAa,OACtBgL,QAA6B,OAApBxa,KAAKQ,MAAMkhB,KACpB/R,SAAU,SAAC/D,GAAD,OAAO,EAAKlH,SAAS,CAAEgd,KAAM9V,EAAEC,OAAO2O,QAAU,UAAO9Y,EAAWigB,UAAW,QAE3F,2CACA,2BAAO/Z,KAAK,QACRjD,KAAK,OACLoD,MAAO,CAAEyH,YAAa,OACtBgL,QAA6B,OAApBxa,KAAKQ,MAAMkhB,KACpB/R,SAAU,SAAC/D,GAAD,OAAO,EAAKlH,SAAS,CAAEgd,KAAM9V,EAAEC,OAAO2O,QAAU,UAAO9Y,EAAWigB,UAAW,QAE3F,2CACA,2BAAO/Z,KAAK,QACRjD,KAAK,OACLoD,MAAO,CAAEyH,YAAa,OACtBgL,QAA6B,OAApBxa,KAAKQ,MAAMkhB,KACpB/R,SAAU,SAAC/D,GAAD,OAAO,EAAKlH,SAAS,CAAEgd,KAAM9V,EAAEC,OAAO2O,QAAU,UAAO9Y,EAAWigB,UAAW,QAE3F,2CACA,2BAAO/Z,KAAK,QACRjD,KAAK,OACLoD,MAAO,CAAEyH,YAAa,OACtBgL,QAA6B,MAApBxa,KAAKQ,MAAMkhB,KACpB/R,SAAU,SAAC/D,GACHA,EAAEC,OAAO2O,SACT,EAAKyE,aAAaxD,QAAQiH,QAE9B,EAAKhe,SAAS,CAAEgd,KAAM,SAG9B,wCACA,2BAAO9Z,KAAK,OACRgb,IAAK5iB,KAAKif,aACVlX,MAAO,CAAEsD,MAAO,OAAQkE,aAAc,KACtChE,UAAW,EACXoE,SAAU,SAAC/D,GAAD,OAAO,EAAKlH,SAAS,CAAEid,UAAW/V,EAAEC,OAAOP,SACrDA,MAAOtL,KAAKQ,MAAMmhB,iBAO1C,2BAAOU,YAAa,EAAGD,YAAa,GAChC,+BACI,4BACI,wBAAI1R,QAAS,GACT,2BAAO2R,YAAa,EAAGD,YAAa,GAChC,+BACI,4BACI,wBAAIra,MAAO,CAAEkF,SAAU,OAAQ0R,WAAY,MAAO8D,WAAY,QAAU9R,MAAM,QAA9E,mBAIJ,4BACI,4BACI,kBAAC,EAAD,CACIvG,KAAK,SACLJ,MAAM,aACNM,gBAAiB,KACjBD,cAAe,EACfJ,YAAa,SAAC2B,GACV,EAAKlH,SAAS,CAAEme,WAAiB,IAALjX,EAAU,KAAOA,KAEjD1B,MAAOlK,KAAKQ,MAAMqiB,WAClB1Y,MAAO,CAAEkB,MAAO,UAGxB,4BACI,kBAAC,EAAD,CAAWzD,KAAK,OACZwC,KAAK,OACLH,YAAa,SAAC2B,GAAD,OAAO,EAAKlH,SAAS,CAAEoJ,mBAAoBlC,KACxD1B,MAAOlK,KAAKQ,MAAMsN,mBAClB9D,MAAM,yBACNG,MAAO,CAAEkB,MAAO,WAGxB,4BACI,kBAAC,EAAD,CAAWzD,KAAK,OACZwC,KAAK,OACLH,YAAa,SAAC2B,GAAD,OAAO,EAAKlH,SAAS,CAAEoe,YAAalX,KACjD1B,MAAOlK,KAAKQ,MAAMsiB,YAClB9Y,MAAM,QACNG,MAAO,CAAEkB,MAAO,gBAQ5C,4BACI,wBAAIqF,QAAS,GACT,2BAAO2R,YAAa,EAAGD,YAAa,GAChC,+BACI,4BACI,4BACI,kBAAC,EAAD,CACIhY,KAAK,SACLH,YAAa,SAAC2B,GAAD,OAAO,EAAKlH,SAAS,CAAEqe,aAAmB,IAALnX,EAAU,KAAOA,KACnE1B,MAAOlK,KAAKQ,MAAMuiB,aAClB/Y,MAAM,SACNG,MAAO,CAAEkB,MAAO,UAGxB,4BACI,kBAAC,EAAD,CACIjB,KAAK,OACLH,YAAa,SAAC2B,GAAD,OAAO,EAAKlH,SAAS,CAAEse,WAAYpX,KAChD1B,MAAOlK,KAAKQ,MAAMwiB,WAClBhZ,MAAM,yCACNG,MAAO,CAAEkB,MAAO,gBAQ5C,4BACI,wBAAIqF,QAAS,GACT,2BAAO2R,YAAa,EAAGD,YAAa,GAChC,+BACI,4BACI,4BACI,kBAAC,EAAD,CACIhY,KAAK,OACLH,YAAa,SAAC2B,GAAD,OAAO,EAAKlH,SAAS,CAAEue,yBAA0BrX,KAC9D1B,MAAOlK,KAAKQ,MAAMyiB,yBAClBjZ,MAAM,yBACNG,MAAO,CAAEkB,MAAO,WAGxB,4BACI,kBAAC,EAAD,CACIjB,KAAK,SACLH,YAAa,SAAC2B,GAAD,OAAO,EAAKlH,SAAS,CAAEwe,SAAUtX,KAC9C1B,MAAOlK,KAAKQ,MAAM0iB,SAClBlZ,MAAM,aACNG,MAAO,CAAEkB,MAAO,eAQ5C,4BACI,wBAAIqF,QAAS,GACT,2BAAO2R,YAAa,EAAGD,YAAa,GAChC,+BACI,4BACI,wBAAIzR,MAAM,OAAO5I,MAAO,CAAEkF,SAAU,OAAQ0R,WAAY,QAAxD,QAGA,wBAAIhO,MAAM,QACN,yBAAKnL,UAAU,cACX,2BAAOoC,KAAK,QACRjD,KAAK,OACLoD,MAAO,CAAEyH,YAAa,OACtBgL,QAAyC,WAAhCxa,KAAKQ,MAAM2iB,iBACpBxT,SAAU,SAAC/D,GAAD,OAAO,EAAKlH,SAAS,CAAEye,iBAAkBvX,EAAEC,OAAO2O,QAAU,cAAW9Y,OAErF,yCACA,2BAAOkG,KAAK,QACRjD,KAAK,OACLoD,MAAO,CAAEyH,YAAa,OACtBgL,QAAyC,SAAhCxa,KAAKQ,MAAM2iB,iBACpBxT,SAAU,SAAC/D,GAAD,OAAO,EAAKlH,SAAS,CAAEye,iBAAkBvX,EAAEC,OAAO2O,QAAU,YAAS9Y,OAEnF,2BAAOqG,MAAO,CAAEyH,YAAa,SAA7B,QACA,2BAAO5H,KAAK,QACRjD,KAAK,OACLoD,MAAO,CAAEyH,YAAa,OACtBgL,QAAyC,WAAhCxa,KAAKQ,MAAM2iB,iBACpBxT,SAAU,SAAC/D,GAAD,OAAO,EAAKlH,SAAS,CAAEye,iBAAkBvX,EAAEC,OAAO2O,QAAU,cAAW9Y,OAErF,2BAAOqG,MAAO,CAAEyH,YAAa,SAA7B,UACA,2BAAO5H,KAAK,QACRjD,KAAK,OACLoD,MAAO,CAAEyH,YAAa,OACtBgL,QAAyC,SAAhCxa,KAAKQ,MAAM2iB,iBACpBxT,SAAU,SAAC/D,GAAD,OAAO,EAAKlH,SAAS,CAAEye,iBAAkBvX,EAAEC,OAAO2O,QAAU,YAAS9Y,OAEnF,0CAIZ,4BACI,wBAAIiP,MAAM,OAAO5I,MAAO,CAAEkF,SAAU,OAAQ0R,WAAY,QAAxD,QAGA,wBAAIhO,MAAM,QACN,yBAAKnL,UAAU,cACX,2BAAOoC,KAAK,QACRjD,KAAK,OACLoD,MAAO,CAAEyH,YAAa,OACtBgL,QAAyC,QAAhCxa,KAAKQ,MAAM4iB,iBACpBzT,SAAU,SAAC/D,GAAD,OAAO,EAAKlH,SAAS,CAAE0e,iBAAkBxX,EAAEC,OAAO2O,QAAU,WAAQ9Y,OAElF,2BAAOqG,MAAO,CAAEyH,YAAa,SAA7B,OACA,2BAAO5H,KAAK,QACRjD,KAAK,OACLoD,MAAO,CAAEyH,YAAa,OACtBgL,QAAyC,WAAhCxa,KAAKQ,MAAM4iB,iBACpBzT,SAAU,SAAC/D,GAAD,OAAO,EAAKlH,SAAS,CAAE0e,iBAAkBxX,EAAEC,OAAO2O,QAAU,cAAW9Y,OAErF,yCACA,2BAAOkG,KAAK,QACRjD,KAAK,OACLoD,MAAO,CAAEyH,YAAa,OACtBgL,QAAyC,aAAhCxa,KAAKQ,MAAM4iB,iBACpBzT,SAAU,SAAC/D,GAAD,OAAO,EAAKlH,SAAS,CAAE0e,iBAAkBxX,EAAEC,OAAO2O,QAAU,gBAAa9Y,OAEvF,kDAQ5B,4BACI,wBAAIgP,QAAS,GACT,2BAAO2R,YAAa,EAAGD,YAAa,GAChC,+BACI,4BACI,wBAAI1R,QAAS,EAAG3I,MAAO,CAAEkF,SAAU,OAAQ0R,WAAY,MAAO8D,WAAY,QAAU9R,MAAM,QAA1F,wBAIJ,4BACI,4BACI,kBAAC,EAAD,CACIvG,KAAK,SACLH,YAAa,SAAC2B,GAAD,OAAO,EAAKlH,SAAS,CAAE2e,YAAkB,IAALzX,EAAU,KAAOA,KAClE1B,MAAOlK,KAAKQ,MAAM6iB,YAClBrZ,MAAM,eACNG,MAAO,CAAEkB,MAAO,OAChBhB,cAAe,KAGvB,4BACI,kBAAC,EAAD,CACID,KAAK,OACLH,YAAa,SAAC2B,GAAD,OAAO,EAAKlH,SAAS,CAAE4e,YAAa1X,KACjD1B,MAAOlK,KAAKQ,MAAM8iB,YAClBtZ,MAAM,uBACNG,MAAO,CAAEkB,MAAO,WAGxB,4BACI,kBAAC,EAAD,CACIjB,KAAK,OACLH,YAAa,SAAC2B,GAAD,OAAO,EAAKlH,SAAS,CAAE6e,aAAc3X,KAClD1B,MAAOlK,KAAKQ,MAAM+iB,aAClBvZ,MAAM,gBACNG,MAAO,CAAEkB,MAAO,gBAQ5C,4BACI,wBAAIqF,QAAS,GACT,2BAAO2R,YAAa,EAAGD,YAAa,GAChC,+BACI,4BACI,wBAAI1R,QAAS,EAAG3I,MAAO,CAAEkF,SAAU,OAAQ0R,WAAY,MAAO8D,WAAY,QAAU9R,MAAM,QAA1F,2BAIJ,4BACI,4BACI,kBAAC,EAAD,CACIvG,KAAK,SACLH,YAAa,SAAC2B,GAAD,OAAO,EAAKlH,SAAS,CAAE8e,UAAgB,IAAL5X,EAAU,KAAOA,KAChE1B,MAAOlK,KAAKQ,MAAMgjB,UAClBxZ,MAAM,aACNG,MAAO,CAAEkB,MAAO,OAChBhB,cAAe,KAGvB,4BACI,kBAAC,EAAD,CACID,KAAK,OACLH,YAAa,SAAC2B,GAAD,OAAO,EAAKlH,SAAS,CAAE+e,kBAAmB7X,KACvD1B,MAAOlK,KAAKQ,MAAMijB,kBAClBzZ,MAAM,qBACNG,MAAO,CAAEkB,MAAO,WAGxB,4BACI,kBAAC,EAAD,CACIjB,KAAK,OACLH,YAAa,SAAC2B,GAAD,OAAO,EAAKlH,SAAS,CAAEgf,WAAY9X,KAChD1B,MAAOlK,KAAKQ,MAAMkjB,WAClB1Z,MAAM,cACNG,MAAO,CAAEkB,MAAO,YAI5B,4BACI,wBAAIqF,QAAS,GACT,6BACA,kBAAC,EAAD,CACItG,KAAK,OACLH,YAAa,SAAC2B,GAAD,OAAO,EAAKlH,SAAS,CAAEif,uBAAwB/X,KAC5D1B,MAAOlK,KAAKQ,MAAMmjB,uBAClB3Z,MAAM,4CACNG,MAAO,CAAEkB,MAAO,qBAWxD,yBAAK7F,UAAU,UACX,2BAAOuC,MAAO,CAAEsD,MAAO,OAAQuF,OAAQ,SACnC,+BACI,4BACI,wBAAID,MAAM,SAASE,OAAO,UACtB,4BACIrL,UAAU,gBACVuC,MAAO,CAAE8H,WAAY,UACrBrE,WAAUxL,KAAKQ,MAAM2M,QACrB9G,QAAS,WACL,EAAK8b,SALb,kBAllCpC,GAA4Czc,aAA/BsZ,GACFvY,YAAcuY,GAAuBra,MCPjC,WAAD,4BAAE,WAAgBif,GAAhB,eAAA9f,EAAA,6DACJ+f,EAAc,CAAC,EAAG,GAAI,GAAI,EAAG,IADzB,kBAEDA,EAAY/a,SAAS8a,IAFpB,2CAAD,GADf,IAAME,GAMiB,SAAUC,GACzB,YAAmBriB,GAAfqiB,EAAiC,GAKjC1Q,EADiB,KADrBA,EAAS0Q,EAAYvX,QAAQ,UAAW,KAC7B9J,OACE2Q,EAAO7G,QAAQ,wBAAyB,cAGxC6G,EAAO7G,QAAQ,MAAO,IANnC,IAAI6G,GATNyQ,GAoBoB,SAAU3X,GAC5B,YAAWzK,GAAPyK,EAAyB,GAK7BA,GADAA,GADAA,GADAA,EAAMA,EAAIK,QAAQ,MAAO,KACfA,QAAQ,WAAY,QACpBA,QAAQ,WAAY,SACpBA,QAAQ,iBAAkB,UA1BtCsX,GA6BwB,SAAUE,EAAUC,GAE1C,IAAI5S,EAAO,IAAI6S,KAAKF,GAEhBG,EAAM9S,EAAK+S,UACXC,EAAQhT,EAAKiT,WAAa,EAC1BC,EAAOlT,EAAKmT,cACZC,EAAOpT,EAAKqT,WACZC,EAAMtT,EAAKuT,aAEfP,GAASA,EAAQ,GAAK,IAAM,IAAMA,EAClCF,GAAOA,EAAM,GAAK,IAAM,IAAMA,EAC9BM,GAAQA,EAAO,GAAK,IAAM,IAAMA,EAChCE,GAAOA,EAAM,GAAK,IAAM,IAAMA,EAK9B,MAAkB,QAAdV,EACKxD,MAAM8D,IAAU9D,MAAM4D,IAAW5D,MAAM0D,GAKjCH,EAJSO,EAAO,IAAMF,EAAQ,IAAMF,EAQ1C1D,MAAMgE,IAAUhE,MAAMkE,GAKhBX,EAJSS,EAAO,IAAME,GA1DvCb,GA+Fa,SAAUe,GAGrB,QAAIA,EAAaC,MAFA,8JC5CVC,OAhDf,YAAsI,IAArHC,EAAoH,EAApHA,WAAYC,EAAwG,EAAxGA,SAAUC,EAA8F,EAA9FA,UAAWC,EAAmF,EAAnFA,YAAaC,EAAsE,EAAtEA,oBAAqBC,EAAiD,EAAjDA,YAAaC,EAAoC,EAApCA,YAAaC,EAAuB,EAAvBA,oBAC1G,OACI,kBAAC,KAAD,CACIhf,OAAQ2e,EAERrG,eAAgB,aAChBrZ,UAAU,QACVsZ,aAAckG,EACdjG,iBAAiB,WAEhBiG,IAAU,OAAIA,QAAJ,IAAIA,OAAJ,EAAIA,EAAYtiB,QACvB,yBAAKqF,MAAO,CACR4B,QAAS,OACTyF,eAAgB,SAChBC,WAAY,SACZuB,OAAQ,MACR4U,gBAAiB,YACjB1O,QAAS,MACT2O,OAAQ,iBACRC,aAAc,MACdnW,aAAc,QAEd,2BAAOxH,MAAO,CAAEgH,MAAO,OAAQ9B,SAAU,OAAQ0R,WAAY,SAAWqG,IAE1E,KACN,yBAAKjd,MAAO,CAAE4B,QAAS,OAAQyF,eAAgB,SAAU0H,QAAS,QAC9D,2BAAO/O,MAAO,CAAEgH,MAAO,OAAQ9B,SAAU,OAAQ0R,WAAY,QAAUsG,IAE3E,yBAAKld,MAAO,CAAE4B,QAAS,OAAQyF,eAAgB,gBAAiBE,UAAW,SACvE,4BACI9J,UAAU,sBACVa,QAAS,kBAAM+e,WAEC1jB,GAAfyjB,EAA2B,QAAUA,GAEzCE,EACG,4BACI7f,UAAU,sBACVa,QAAS,kBAAMkf,WAEC7jB,GAAf4jB,EAA2B,KAAOA,GAErC,Q,UCpCTK,GAAb,kDAEI,WAAY1hB,GAAQ,IAAD,8BACf,cAAMA,IAuoCV2hB,mBAAqB,WACjB,IAAIxa,EAAK,EAAK5K,MAAM8e,GAEpB,EAAK5a,SAAS,CACVwgB,WAAW,EACXW,oBAAqB,qBACrBC,kBAAkB,EAClBxG,GAAI,IACL,WACCtf,KAAK0E,SAAS,CAAE4a,GAAIlU,QA9oCxB,EAAK5K,MAAQ,CACT2M,SAAS,EACT4Y,UAAW,GACXC,OAAQ,GACRd,WAAW,EACX7b,WAAW,EACXuF,aAAc,GACdC,WAAY,GACZ+O,QAAQ,EACRqI,YAAY,EACZ7K,YAAY,GAbD,EAFvB,gEAmByB,IAAD,OAChB,IACIpb,KAAK0E,SAAS,CAAEyI,SAAS,IAEzB,IAAI/B,EAAKgC,eAAeoB,QAAQ,MAGtB,MAANpD,IACApL,KAAK0E,SAAS,CAAE4a,GAAIlU,EAAIgQ,YAAY,IACpCpb,KAAK4d,OAAOxS,IAGhB,IAAIjI,EAAQyD,IACZzD,EAAM0D,IAAI,mCACL0G,MAAK,SAACzL,GACH,EAAK4C,SAAS,CAAEqhB,UAAWjkB,OAGnCqB,EAAM0D,IAAI,gCACL0G,MAAK,SAACzL,GACH,EAAK4C,SAAS,CAAEshB,OAAQlkB,EAAMqL,SAAS,IAC7B,MAAN/B,GAAY,EAAKiU,SAASjU,MAG1C,MAAOlC,GACHlJ,KAAK0E,SAAS,CAAEyI,SAAS,IACzBrM,QAAQC,IAAI,uBAAyBmI,MA7CjD,6BAiDWkC,GAAK,IAAD,OACKxE,IACNC,IAAI,gCAAkCuE,GACvCmC,MAAK,SAACzL,GACH,EAAK4C,SAAS,CAAEkZ,OAAQ9b,SArDxC,+BAyDasJ,GAAK,IAAD,OACT,IACIpL,KAAK0E,SAAS,CAAEyI,SAAS,IACbvG,IACNC,IAAI,mDAAqDuE,GAC1DmC,MAAK,SAACzL,GACH,IAAI8f,EAAS,EAAKphB,MAClB,IAAK,IAAMsJ,KAAOhI,EACd,GAAiB,MAAbA,EAAKgI,GAAc,CACnB,IAAI+X,EAAO/X,EAAIgY,OAAO,GAAGC,cAAgBjY,EAAIkY,MAAM,GAC/CxB,EAAS1e,EAAKgI,GAClB8X,EAAOC,GAAQrB,EAGvB,EAAK9b,SAASkd,GAAQ,WAAa,IAAD,EAC9B5hB,KAAKkmB,iBACLlmB,KAAK0E,SAAS,CAAEyI,SAAS,EAAOmS,GAAIlU,IACpCpL,KAAK0E,SAAS,CAAEuhB,WAAYnC,GAAA,UAA8B9jB,KAAKQ,MAAM2lB,qBAAzC,QAA0D,MACtFnmB,KAAK0E,SAAS,CACV0hB,YAAapmB,KAAKqmB,YAAYrmB,KAAKQ,MAAM4lB,aACzCE,sBAAuBtmB,KAAKqmB,YAAYrmB,KAAKQ,MAAM8lB,+BAKvE,MAAOpd,GACHlJ,KAAK0E,SAAS,CAAEyI,SAAS,IACzBrM,QAAQC,IAAI,cAAgBmI,MApFxC,uCAyFQ,IAAI0W,EAAI5f,KAAKQ,MAOT+lB,EANsBvmB,KAAK8f,YAAYF,EAAE4G,qBACXxmB,KAAK8f,YAAYF,EAAE6G,6BACpBzmB,KAAK8f,YAAYF,EAAE8G,4BACxB1mB,KAAK8f,YAAYF,EAAE+G,uBACrB3mB,KAAK8f,YAAYF,EAAEgH,qBAIzCvG,EAAWrgB,KAAKogB,eAAemG,GAEnC,GAAIlG,GAAYA,EAAS3T,WAAW,OAAS2T,EAASvX,SAAS,KAC3DuX,GAAsB,WAErB,GAAIA,EAAS3T,WAAW,MAAQ2T,EAASvX,SAAS,KAAM,CACzD,IAAI6D,EAAM0T,EAASzT,MAAM,KACJ,GAAjBD,EAAI,GAAGjK,SACP2d,GAAsB,MAGL,GAAjB1T,EAAI,GAAGjK,SACP2d,GAAsB,KAI9BrgB,KAAK0E,SAAS,CAAEmiB,oBAAqBxG,MAlH7C,kCAqHgB/U,GACR,QAAa5J,GAAT4J,GAA+B,GAATA,GAAuB,MAATA,EAAe,OAAO,EAI9D,IAAIkV,EAAM,OAAGlV,QAAH,IAAGA,OAAH,EAAGA,EAAOwN,WAAWtM,QAAQ,KAAM,IAAIA,QAAQ,IAAK,IAE9D,OAAIgU,EAAO9d,OAAS,EAEF+d,MAAMD,SAAqB9e,GAAV8e,EAAuB,EAAIE,WAAWF,GAI9D,IAlInB,qCAsImBlV,GACX,QAAa5J,GAAT4J,EAAoB,MAAO,GAC/B,IAAIqV,EAAUrV,EAAMwN,WAAWtM,QAAQ,KAAM,IAAIA,QAAQ,IAAK,IAE1DoU,EAAM,GACNJ,EAAS,GAETK,EAAWF,EAAQ/T,MAAM,KAW7B,OAVwB,IAAZ,OAARiU,QAAQ,IAARA,OAAA,EAAAA,EAAUne,QACV8d,EAASG,EAAQ/T,MAAM,KAAK,IAEf,OAARiU,QAAQ,IAARA,OAAA,EAAAA,EAAUne,QAAS,GACxB8d,EAASG,EAAQ/T,MAAM,KAAK,GAC5BgU,EAAM,IAAMD,EAAQ/T,MAAM,KAAK,GAAGkU,UAAU,EAAG,IAG/CN,EAASG,EAETH,EAAO9d,OAAS,EACT,IAAIqe,KAAKC,kBAAatf,EAAW,CACpCqG,MAAO,WACPkZ,SAAU,MACVC,sBAAuB,EACvBC,sBAAuB,IACxBC,OAAOZ,GAAUI,OANxB,IAxJR,2BAkKSkG,EAAMvlB,GACP,IACI,IAEwB,wBAFpBqI,EAAO,GAEX,QAAalI,IAATolB,OACoCplB,GAAhC1B,KAAKQ,MAAMumB,mBAA0E,IAAxC,UAAA/mB,KAAKQ,MAAMumB,yBAAX,eAA8BrkB,SAC3EkH,EAAK3H,KAAK,mBAEqBP,GAA/B1B,KAAKQ,MAAMwmB,kBAAwE,IAAvC,UAAAhnB,KAAKQ,MAAMwmB,wBAAX,eAA6BtkB,SACzEkH,EAAK3H,KAAK,mBAEgBP,GAA1B1B,KAAKQ,MAAMymB,aAA8D,IAAlC,UAAAjnB,KAAKQ,MAAMymB,mBAAX,eAAwBvkB,UAAe,UAAA1C,KAAKQ,MAAMymB,mBAAX,eAAwBvkB,QAAS,KAC/GkH,EAAK3H,KAAK,YAEuBP,IAAjC1B,KAAKQ,MAAM0mB,mBACXtd,EAAK3H,KAAK,mBAEuBP,IAAjC1B,KAAKQ,MAAM0mB,mBACsB,OAAjClnB,KAAKQ,MAAM0mB,wBAC8BxlB,IAAxC1B,KAAKQ,MAAM2mB,0BAAkF,IAAxCnnB,KAAKQ,MAAM2mB,0BACjEvd,EAAK3H,KAAK,+BAEgBP,GAA1B1B,KAAKQ,MAAM4lB,aAA8D,IAAlC,UAAApmB,KAAKQ,MAAM4lB,mBAAX,eAAwB1jB,SAC/DkH,EAAK3H,KAAK,sBAEwBP,IAAjC1B,KAAKQ,MAAM4mB,mBAA4E,KAAzC,UAAApnB,KAAKQ,MAAM4mB,yBAAX,eAA8B1kB,cAC1ChB,IAAlC1B,KAAKQ,MAAM6mB,oBAA8E,KAA1C,UAAArnB,KAAKQ,MAAM6mB,0BAAX,eAA+B3kB,SAC/EkH,EAAK3H,KAAK,+BAET,UAAAjC,KAAKQ,MAAM4mB,yBAAX,eAA8B1kB,QAAS,KAAM,UAAA1C,KAAKQ,MAAM4mB,yBAAX,eAA8B1kB,QAAS,IACpF,UAAA1C,KAAKQ,MAAM6mB,0BAAX,eAA+B3kB,QAAS,KAAM,UAAA1C,KAAKQ,MAAM6mB,0BAAX,eAA+B3kB,QAAS,IACvFkH,EAAK3H,KAAK,kCAEkBP,GAA5B1B,KAAKQ,MAAM2lB,eAAkE,IAApC,UAAAnmB,KAAKQ,MAAM2lB,qBAAX,eAA0BzjB,SAAgB1C,KAAKQ,MAAMylB,YAC9Frc,EAAK3H,KAAK,SAE0B,MAApCigB,aAAa1T,QAAQ,aACe,cAApC0T,aAAa1T,QAAQ,kBACY9M,GAAhC1B,KAAKQ,MAAM8mB,mBAAyE,GAAvCtnB,KAAKQ,MAAM8mB,kBAAkB5kB,QAC1E1C,KAAKQ,MAAM+mB,4BACZ3d,EAAK3H,KAAK,aAE0B,MAApCigB,aAAa1T,QAAQ,aACe,cAApC0T,aAAa1T,QAAQ,kBACgB9M,GAApC1B,KAAKQ,MAAM8lB,uBAAiF,GAA3CtmB,KAAKQ,MAAM8lB,sBAAsB5jB,QAClF1C,KAAKQ,MAAM+mB,4BACZ3d,EAAK3H,KAAK,kBAGlB,GAAmB,GAAf2H,EAAKlH,OAAa,CAClB1C,KAAK0E,SAAS,CAAEyI,SAAS,IACzB,IAAIhK,EAAQyD,IAEZ5G,KAAK0E,SAAS,CACV0hB,iBAAwC1kB,IAA3B1B,KAAKQ,MAAM4lB,aAAuD,IAA1BpmB,KAAKQ,MAAM4lB,YAAoB,KAAOhF,aAAO,IAAI8C,KAAKlkB,KAAKQ,MAAM4lB,YAAY5Z,QAAQ,KAAM,MAAO,cACvJ8Z,2BAA4D5kB,IAArC1B,KAAKQ,MAAM8lB,uBAA2E,IAApCtmB,KAAKQ,MAAM8lB,sBAA8B,KAAOlF,aAAO,IAAI8C,KAAKlkB,KAAKQ,MAAM8lB,sBAAsB9Z,QAAQ,KAAM,MAAO,gBAChM,WAAa,IAAD,OACXrJ,EAAM4D,KAAK,gDAAiD/G,KAAKQ,OAC5D+M,MAAK,SAACnC,GACO,GAANA,GACA,EAAK1G,SAAS,CAAEyI,SAAS,IACzBC,eAAeI,QAAQ,KAAMpC,GAEhB,IAAT0b,EAEItf,OAAOmH,SAASzG,UADRxG,IAARH,EACuBA,EAGA,0BAIuB,MAA9C6L,eAAeoB,QAAQ,qBAA6E,KAA9CpB,eAAeoB,QAAQ,oBACrC,MAApC0T,aAAa1T,QAAQ,aAA2D,cAApC0T,aAAa1T,QAAQ,YAC7D,EAAKhO,MAAMod,OACXpW,OAAOmH,SAASzG,KAAO,8BAIvB,EAAKxD,SAAS,CAAEmhB,oBAAqB,qBAAsBC,kBAAkB,IAIjFte,OAAOmH,SAASzG,KAAO,0BAIa,MAApCga,aAAa1T,QAAQ,aAA2D,cAApC0T,aAAa1T,QAAQ,YACjE,EAAK9J,SAAS,CAAEwgB,WAAW,IAG3B1d,OAAOmH,SAASzG,KAAO,2BAMnC,EAAKxD,SAAS,CACV2E,WAAW,EACXuF,aAAc,+DACdzB,SAAS,eAO7BnN,KAAK0E,SAAS,CACV2E,WAAW,EACXuF,aAAc,qCACdC,WAAYjF,IAEhBF,YAAW,WAAc7B,SAAS2f,eAAe,iBAAiBC,SAAS,CAAExY,IAAK,EAAGyY,SAAU,aAAgB,KAGvH,MAAOxe,GACHlJ,KAAK0E,SAAS,CAAEyI,SAAS,IACzBrM,QAAQC,IAAI,UAAYmI,MAvRpC,kCA2RgBye,GACR,MAAe,IAAXA,QAA6BjmB,IAAZimB,EAA8BA,EAEnCA,EAAQ/a,MAAM,KACb,KA/RzB,uCAkSsB,IAAD,EACTgT,EAAI5f,KAAKQ,MAITonB,QAH2BlmB,GAAvBke,EAAEmH,kBAAiC,GAAKnH,EAAEmH,kBAAkBjO,WAAa,WAC9CpX,GAA3Bke,EAAEiI,sBAAqC,GAAKjI,EAAEiI,sBAAsB/O,WAAa,WAC3DpX,GAAtBke,EAAEoH,iBAAgC,GAAlC,UAAuCpH,EAAEoH,wBAAzC,aAAuC,EAAoBlO,YAGnE1L,eAAeI,QAAQ,oBAAqBoa,KAzSpD,+BA4Sc,IAAD,6EACL,OACI,yBAAKpiB,UAAU,iBACX,kBAAC,GAAD,CACI4V,WAAYpb,KAAKQ,MAAM4a,WACvBC,aAAcrb,KAAKQ,MAAM8e,GACzB1R,SAAU5N,KAAKQ,MAAMwmB,iBACrB1L,YAAa,SAAC1P,GAAD,OAAO,EAAKuW,KAAK,EAAGvW,MAErC,kBAAC,EAAD,CACIxC,UAAWpJ,KAAKQ,MAAMoO,aACtBtF,UAAWtJ,KAAKQ,MAAMqO,WACtBxF,UAAWrJ,KAAKQ,MAAM6I,UACtBE,aAAc,kBAAM,EAAK7E,SAAS,CAAE2E,WAAW,KAC/CG,mBAAoB,MAExB,kBAAC,EAAD,CACIJ,UAAWpJ,KAAKQ,MAAMqlB,oBACtBxc,UAAWrJ,KAAKQ,MAAMslB,iBACtBvc,aAAc,kBAAM,EAAK7E,SAAS,CAAEohB,kBAAkB,KACtDtc,mBAAoB,IACpBC,gBAAgB,IAEpB,yBAAK2B,GAAG,gBAAgB5F,UAAU,+BACN,IAAvBxF,KAAKQ,MAAM2M,QACR,6BACI,kBAAC2B,EAAA,EAAD,CAASC,MAAM,OAAOpI,SAAS,GAAGoB,MAAO,CAAEiH,SAAU,QAASC,IAAK,MAAOC,KAAM,UAElF,KAEN,2BAAOkT,YAAa,EAAGC,YAAa,GAChC,+BACI,4BACI,wBAAI1R,MAAM,OAAOD,QAAS,GACtB,2BAAO3I,MAAO,CAAEkF,SAAU,OAAQ0R,WAAY,MAAO5P,MAAO,YAA5D,0BAGR,4BACI,4BACI,2BAAOsT,YAAa,EAAGD,YAAa,GAChC,+BACI,4BACI,wBAAIzR,MAAM,OAAOE,OAAO,UACpB,kBAAC,EAAD,CACIzG,KAAK,OACLJ,MAAM,aACNC,YAAa,SAAC2B,GACV,EAAKlH,SAAS,CAAEqiB,kBAAmBnb,IAAK,WACpC5L,KAAK8nB,qBAGb5d,MAAK,UAAElK,KAAKQ,MAAMumB,yBAAb,QAAkC,GACvC5c,MAAO,CAAEkB,MAAO,WAGxB,wBAAIsF,MAAM,OAAOE,OAAO,UACpB,kBAAC,EAAD,CACIzG,KAAK,OACLJ,MAAM,MACNK,cAAe,EACfJ,YAAa,SAAC2B,GACV,EAAKlH,SAAS,CAAEmjB,sBAAuBjc,IAAK,WACxC5L,KAAK8nB,qBAGb5d,MAAK,UAAElK,KAAKQ,MAAMqnB,6BAAb,QAAsC,GAC3C1d,MAAO,CAAEkB,MAAO,UAGxB,wBAAIsF,MAAM,OAAOE,OAAO,UACpB,kBAAC,EAAD,CACIzG,KAAK,OACLJ,MAAM,YACNC,YAAa,SAAC2B,GACV,EAAKlH,SAAS,CAAEsiB,iBAAkBpb,IAAK,WACnC5L,KAAK8nB,qBAGb5d,MAAK,UAAElK,KAAKQ,MAAMwmB,wBAAb,QAAiC,GACtC7c,MAAO,CAAEkB,MAAO,kBAUpD,+BACI,+BACI,4BACI,4BACI,2BAAOgX,YAAa,EAAGD,YAAa,GAChC,+BACI,4BACI,wBAAIzR,MAAM,OAAOE,OAAO,UACpB,kBAAC,EAAD,CACIzG,KAAK,MACLJ,MAAM,MACNK,cAAe,GACfJ,YAAa,SAAC2B,GACV,IAAImc,EAAenc,EACnB,EAAKlH,SAAS,CAAEuiB,YAAac,KAEjC7d,MAAK,UAAElK,KAAKQ,MAAMymB,mBAAb,QAA4B,GACjC9c,MAAO,CAAEkB,MAAO,WAGxB,wBAAIsF,MAAM,OAAOE,OAAO,UACpB,kBAAC,EAAD,CACIzG,KAAK,OACLJ,MAAM,gBACNC,YAAa,SAAC2B,GACV,EAAKlH,SAAS,CAAE0hB,YAAaxa,KAEjC1B,WAAiCxI,GAA1B1B,KAAKQ,MAAM4lB,YAA2BpmB,KAAKqmB,YAAYrmB,KAAKQ,MAAM4lB,aAAe,GACxFjc,MAAO,CAAEkB,MAAO,UAGxB,oCAS5B,+BACI,+BACI,4BACI,4BACI,2BAAOgX,YAAa,EAAGD,YAAa,GAChC,+BACI,4BACI,wBAAIzR,MAAM,OAAOE,OAAO,UAAxB,eAGA,wBAAIF,MAAM,OAAOE,OAAO,UACpB,yBAAKrL,UAAU,cACX,2BAAOoC,KAAK,QACRjD,KAAK,UACLoD,MAAO,CAAEyH,YAAa,OACtBG,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAEwiB,kBAAmBtb,EAAEC,OAAO2O,QAAU,MAAQ,QAElEA,QAA0C,QAAjCxa,KAAKQ,MAAM0mB,oBAExB,sCACA,2BAAOtf,KAAK,QACRjD,KAAK,UACLoD,MAAO,CAAEyH,YAAa,OACtBG,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAEwiB,kBAAmBtb,EAAEC,OAAO2O,QAAU,KAAO,SAEjEA,QAA0C,OAAjCxa,KAAKQ,MAAM0mB,oBAExB,qCACkC,OAAjClnB,KAAKQ,MAAM0mB,kBACR,4BACI5b,MAAOtL,KAAKQ,MAAM2mB,yBAClBxX,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAEyiB,yBAA0Bvb,EAAEC,OAAOP,UAGvD,4BAAQxB,IAAK,EAAGwB,MAAO,GAAvB,oBACCtL,KAAKQ,MAAMulB,UAAU1jB,KAAI,SAACuH,EAAMC,GAAP,OACtB,4BAAQC,IAAKD,EAAKyB,MAAO1B,EAAKjF,MAAOiF,EAAKjF,UAGhD,OAGd,kCAOpB,4BACI,4BACI,2BAAO0d,YAAa,EAAGD,YAAa,GAChC,+BACI,4BACI,wBAAIzR,MAAM,OAAOE,OAAO,UACpB,kBAAC,EAAD,CACIzG,KAAK,QACLJ,MAAM,aACNK,cAAe,GACfJ,YAAa,SAAC2B,GACV,IAAIoc,EAAiBlE,GAAkClY,GACvD,EAAKlH,SAAS,CAAE0iB,kBAAmBY,KAEvC9d,MAAK,UAAE4Z,GAAkC9jB,KAAKQ,MAAM4mB,0BAA/C,QAAqE,GAC1Ejd,MAAO,CAAEkB,MAAO,WAGxB,wBAAIsF,MAAM,OAAOE,OAAO,UACpB,kBAAC,EAAD,CACIzG,KAAK,QACLJ,MAAM,cACNK,cAAe,GACfJ,YAAa,SAAC2B,GACV,IAAIoc,EAAiBlE,GAAkClY,GACvD,EAAKlH,SAAS,CAAE2iB,mBAAoBW,KAExC9d,MAAK,UAAE4Z,GAAkC9jB,KAAKQ,MAAM6mB,2BAA/C,QAAsE,GAC3Eld,MAAO,CAAEkB,MAAO,WAGxB,kCAOpB,4BACI,4BACI,2BAAOgX,YAAa,EAAGD,YAAa,GAChC,+BACI,4BACI,wBAAI1R,QAAS,EAAGC,MAAM,OAAOE,OAAO,UAChC,kBAAC,EAAD,CACIzG,KAAK,QACLJ,MAAM,QACNC,YAAa,SAAC2B,GACV,EAAKlH,SAAS,CAAEuhB,WAAYnC,GAA8BlY,KAC1D,EAAKlH,SAAS,CAAEyhB,cAAeva,KAEnC1B,MAAK,UAAElK,KAAKQ,MAAM2lB,qBAAb,QAA8B,GACnChc,MAAO,CAAEkB,MAAO,aAGxB,oCAS5B,+BACI,+BACI,4BACI,wBAAIsF,MAAM,OAAO5I,MAAO,CAAEkgB,aAAc,QACpC,+BACI,+BACI,4BACI,wBAAIlgB,MAAO,CAAEkF,SAAU,OAAQ0R,WAAY,MAAO8D,WAAY,QAAU9R,MAAM,QAA9E,sBAIJ,4BACI,4BACI,2BAAO0R,YAAa,EAAGD,YAAa,GAChC,+BACI,4BACI,wBAAI1R,QAAS,EAAGC,MAAM,OAAOE,OAAO,UAChC,kBAAC,EAAD,CACIzG,KAAK,OACLJ,MAAM,eACNC,YAAa,SAAC2B,GACV,EAAKlH,SAAS,CAAEwjB,uBAAwBtc,KAE5C1B,MAAK,UAAElK,KAAKQ,MAAM0nB,8BAAb,QAAuC,GAC5C/d,MAAO,CAAEkB,MAAO,YAI5B,4BACI,wBAAIsF,MAAM,OAAOE,OAAO,UACpB,kBAAC,EAAD,CACIzG,KAAK,OACLJ,MAAM,OACNC,YAAa,SAAC2B,GACV,EAAKlH,SAAS,CAAEyjB,oBAAqBvc,KAEzC1B,MAAK,UAAElK,KAAKQ,MAAM2nB,2BAAb,QAAoC,GACzChe,MAAO,CAAEkB,MAAO,UAGxB,wBAAIsF,MAAM,OAAOE,OAAO,UACpB,4BACIvF,MAAOtL,KAAKQ,MAAM4nB,uBAClBzY,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAE0jB,uBAAwBxc,EAAEC,OAAOP,UAGrD,4BAAQxB,IAAK,EAAGwB,MAAO,GAAvB,MACCtL,KAAKQ,MAAMwlB,OAAO3jB,KAAI,SAACuH,EAAMC,GAAP,OACnB,4BAAQC,IAAKD,EAAKyB,MAAO1B,EAAKwB,IAAKxB,EAAKjF,WAIpD,wBAAIgM,MAAM,OAAOE,OAAO,UACpB,kBAAC,EAAD,CACIzG,KAAK,SACLC,cAAe,EACfL,MAAM,MACNC,YAAa,SAAC2B,GACV,EAAKlH,SAAS,CAAE2jB,mBAAoBzc,KAExC1B,MAAK,UAAElK,KAAKQ,MAAM6nB,0BAAb,QAAmC,GACxCle,MAAO,CAAEkB,MAAO,WAI5B,4BACI,wBAAIsF,MAAM,OAAOE,OAAO,UACpB,kBAAC,EAAD,CACIzG,KAAK,SACLJ,MAAM,UACNC,YAAa,SAAC2B,GACV,EAAKlH,SAAS,CAAE4jB,qBAAsB1c,KAE1C1B,MAAK,UAAElK,KAAKQ,MAAM8nB,4BAAb,QAAqC,GAC1Cne,MAAO,CAAEkB,MAAO,UAGxB,6BAEA,qCAUhC,wBAAIsF,MAAM,QACN,+BACI,+BACI,4BACI,wBAAID,QAAS,EAAG3I,MAAO,CAAEkF,SAAU,OAAQ0R,WAAY,MAAO8D,WAAY,QAAU9R,MAAM,QAA1F,uBAIJ,4BACI,4BACI,2BAAO0R,YAAa,EAAGD,YAAa,GAChC,+BACI,4BACI,wBAAI1R,QAAS,EAAGC,MAAM,OAAOE,OAAO,UAChC,kBAAC,EAAD,CACIzG,KAAK,OACLJ,MAAM,eACNC,YAAa,SAAC2B,GACV,EAAKlH,SAAS,CAAE6jB,wBAAyB3c,KAE7C1B,MAAK,UAAElK,KAAKQ,MAAM+nB,+BAAb,QAAwC,GAC7Cpe,MAAO,CAAEkB,MAAO,YAI5B,4BACI,wBAAIsF,MAAM,OAAOE,OAAO,UACpB,kBAAC,EAAD,CACIzG,KAAK,OACLJ,MAAM,OACNC,YAAa,SAAC2B,GACV,EAAKlH,SAAS,CAAE8jB,qBAAsB5c,KAE1C1B,MAAK,UAAElK,KAAKQ,MAAMgoB,4BAAb,QAAqC,GAC1Cre,MAAO,CAAEkB,MAAO,UAGxB,wBAAIsF,MAAM,OAAOE,OAAO,UACpB,4BACIvF,MAAOtL,KAAKQ,MAAMioB,wBAClB9Y,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAE+jB,wBAAyB7c,EAAEC,OAAOP,UAGtD,4BAAQxB,IAAK,EAAGwB,MAAO,GAAvB,MACCtL,KAAKQ,MAAMwlB,OAAO3jB,KAAI,SAACuH,EAAMC,GAAP,OACnB,4BAAQC,IAAKD,EAAKyB,MAAO1B,EAAKwB,IAAKxB,EAAKjF,WAIpD,wBAAIgM,MAAM,OAAOE,OAAO,UACpB,kBAAC,EAAD,CACIzG,KAAK,SACLC,cAAe,EACfL,MAAM,MACNC,YAAa,SAAC2B,GACV,EAAKlH,SAAS,CAAEgkB,oBAAqB9c,KAEzC1B,MAAK,UAAElK,KAAKQ,MAAMkoB,2BAAb,QAAoC,GACzCve,MAAO,CAAEkB,MAAO,WAI5B,4BACI,wBAAIsF,MAAM,OAAOE,OAAO,UACpB,kBAAC,EAAD,CACIzG,KAAK,SACLJ,MAAM,UACNC,YAAa,SAAC2B,GACV,EAAKlH,SAAS,CAAEikB,sBAAuB/c,KAE3C1B,MAAK,UAAElK,KAAKQ,MAAMmoB,6BAAb,QAAsC,GAC3Cxe,MAAO,CAAEkB,MAAO,UAGxB,6BAEA,wCAa5C,+BACI,+BACI,4BACI,wBAAIsF,MAAM,QACN,2BAAO0R,YAAa,EAAGD,YAAa,GAChC,+BACI,4BACI,wBAAIzR,MAAM,OAAOE,OAAO,UAAxB,gBAGA,wBAAIF,MAAM,OAAOE,OAAO,UACpB,yBAAKrL,UAAU,cACX,2BAAOoC,KAAK,QACRjD,KAAK,UACLoD,MAAO,CAAEyH,YAAa,OACtBG,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAEkkB,yBAA0Bhd,EAAEC,OAAO2O,QAAU,MAAQ,UAEzEA,QAAiD,QAAxCxa,KAAKQ,MAAMooB,2BAExB,sCACA,2BAAOhhB,KAAK,QACRjD,KAAK,UACLoD,MAAO,CAAEyH,YAAa,OACtBG,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAEkkB,yBAA0Bhd,EAAEC,OAAO2O,QAAU,OAAS,SAE1EA,QAAiD,SAAxCxa,KAAKQ,MAAMooB,2BAExB,yCAGR,kCAOpB,4BACI,wBAAIjY,MAAM,OAAOE,OAAO,UACpB,kBAAC,EAAD,CACIzG,KAAK,SACLJ,MAAM,0BACNC,YAAa,SAAC2B,GACV,EAAKlH,SAAS,CAAEmkB,4BAA6Bjd,KAEjD1B,MAAK,UAAElK,KAAKogB,eAAepgB,KAAKQ,MAAMqoB,oCAAjC,QAAiE,GACtE1e,MAAO,CAAEkB,MAAO,WAGxB,wBAAIsF,MAAM,OAAOE,OAAO,WAExB,wBAAIF,MAAM,OAAOE,OAAO,YAG5B,4BACI,wBAAIF,MAAM,OAAO5I,MAAO,CAAEkgB,aAAc,QACpC,2BAAO5F,YAAa,EAAGD,YAAa,GAChC,+BACI,4BACI,wBAAIra,MAAO,CAAEkF,SAAU,OAAQ0R,WAAY,MAAO8D,WAAY,QAAU9R,MAAM,QAA9E,eAIJ,4BACI,wBAAID,QAAS,EAAGC,MAAM,OAAOE,OAAO,UAChC,kBAAC,EAAD,CACIzG,KAAK,OACLJ,MAAM,2BACNC,YAAa,SAAC2B,GACV,EAAKlH,SAAS,CAAEokB,4BAA6Bld,KAEjD1B,MAAK,UAAElK,KAAKQ,MAAMsoB,mCAAb,QAA4C,GACjD3e,MAAO,CAAEkB,MAAO,YAI5B,4BACI,wBAAIqF,QAAS,EAAGC,MAAM,OAAOE,OAAO,UAChC,kBAAC,EAAD,CACIzG,KAAK,OACLJ,MAAM,mBACNC,YAAa,SAAC2B,GACV,EAAKlH,SAAS,CAAEqkB,4BAA6Bnd,KAEjD1B,MAAK,UAAElK,KAAKQ,MAAMuoB,mCAAb,QAA4C,GACjD5e,MAAO,CAAEkB,MAAO,YAI5B,4BACI,wBAAIqF,QAAS,EAAGC,MAAM,OAAOE,OAAO,UAChC,kBAAC,EAAD,CACIzG,KAAK,OACLJ,MAAM,WACNC,YAAa,SAAC2B,GACV,EAAKlH,SAAS,CAAEskB,gCAAiCpd,KAErD1B,MAAK,UAAElK,KAAKQ,MAAMwoB,uCAAb,QAAgD,GACrD7e,MAAO,CAAEkB,MAAO,YAI5B,4BACI,wBAAIqF,QAAS,EAAGC,MAAM,OAAOE,OAAO,UAChC,kBAAC,EAAD,CACIzG,KAAK,SACLJ,MAAM,UACNC,YAAa,SAAC2B,GACV,EAAKlH,SAAS,CAAEukB,6BAA8Brd,KAElD1B,MAAK,UAAElK,KAAKQ,MAAMyoB,oCAAb,QAA6C,GAClD9e,MAAO,CAAEkB,MAAO,WAI5B,4BACI,wBAAIqF,QAAS,EAAGC,MAAM,OAAOE,OAAO,UAChC,kBAAC,EAAD,CACIzG,KAAK,OACLJ,MAAM,UACNC,YAAa,SAAC2B,GACV,EAAKlH,SAAS,CAAEwkB,+BAAgCtd,KAEpD1B,MAAK,UAAElK,KAAKQ,MAAM0oB,sCAAb,QAA+C,GACpD/e,MAAO,CAAEkB,MAAO,YAI5B,4BACI,wBAAIsF,MAAM,OAAOE,OAAO,UACpB,kBAAC,EAAD,CACIzG,KAAK,OACLJ,MAAM,OACNC,YAAa,SAAC2B,GACV,EAAKlH,SAAS,CAAEykB,4BAA6Bvd,KAEjD1B,MAAK,UAAElK,KAAKQ,MAAM2oB,mCAAb,QAA4C,GACjDhf,MAAO,CAAEkB,MAAO,UAGxB,wBAAIsF,MAAM,OAAOE,OAAO,UACpB,4BACIvF,MAAOtL,KAAKQ,MAAM4oB,+BAClBzZ,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAE0kB,+BAAgCxd,EAAEC,OAAOP,UAG7D,4BAAQxB,IAAK,EAAGwB,MAAO,GAAvB,MACCtL,KAAKQ,MAAMwlB,OAAO3jB,KAAI,SAACuH,EAAMC,GAAP,OACnB,4BAAQC,IAAKD,EAAKyB,MAAO1B,EAAKwB,IAAKxB,EAAKjF,WAIpD,wBAAIgM,MAAM,OAAOE,OAAO,UACpB,kBAAC,EAAD,CACIzG,KAAK,SACLC,cAAe,EACfL,MAAM,MACNC,YAAa,SAAC2B,GACV,EAAKlH,SAAS,CAAE2kB,2BAA4Bzd,KAEhD1B,MAAK,UAAElK,KAAKQ,MAAM6oB,kCAAb,QAA2C,GAChDlf,MAAO,CAAEkB,MAAO,cAOxC,wBAAIsF,MAAM,QAAQE,OAAO,OACrB,2BAAOwR,YAAa,EAAGD,YAAa,GAChC,+BACI,4BACI,wBAAIra,MAAO,CAAEkF,SAAU,OAAQ0R,WAAY,MAAO8D,WAAY,QAAU9R,MAAM,QAA9E,wBAIJ,4BACI,wBAAID,QAAS,EAAGC,MAAM,OAAOE,OAAO,UAChC,kBAAC,EAAD,CACIzG,KAAK,OACLJ,MAAM,2BACNC,YAAa,SAAC2B,GACV,EAAKlH,SAAS,CAAE4kB,6BAA8B1d,KAElD1B,MAAK,UAAElK,KAAKQ,MAAM8oB,oCAAb,QAA6C,GAClDnf,MAAO,CAAEkB,MAAO,YAI5B,4BACI,wBAAIqF,QAAS,EAAGC,MAAM,OAAOE,OAAO,UAChC,kBAAC,EAAD,CACIzG,KAAK,OACLJ,MAAM,mBACNC,YAAa,SAAC2B,GACV,EAAKlH,SAAS,CAAE6kB,6BAA8B3d,KAElD1B,MAAK,UAAElK,KAAKQ,MAAM+oB,oCAAb,QAA6C,GAClDpf,MAAO,CAAEkB,MAAO,YAI5B,4BACI,wBAAIqF,QAAS,EAAGC,MAAM,OAAOE,OAAO,UAChC,kBAAC,EAAD,CACIzG,KAAK,OACLJ,MAAM,WACNC,YAAa,SAAC2B,GACV,EAAKlH,SAAS,CAAE8kB,iCAAkC5d,KAEtD1B,MAAK,UAAElK,KAAKQ,MAAMgpB,wCAAb,QAAiD,GACtDrf,MAAO,CAAEkB,MAAO,YAI5B,4BACI,wBAAIqF,QAAS,EAAGC,MAAM,OAAOE,OAAO,UAChC,kBAAC,EAAD,CACIzG,KAAK,SACLJ,MAAM,UACNC,YAAa,SAAC2B,GACV,EAAKlH,SAAS,CAAE+kB,8BAA+B7d,KAEnD1B,MAAK,UAAElK,KAAKQ,MAAMipB,qCAAb,QAA8C,GACnDtf,MAAO,CAAEkB,MAAO,iBAUpD,+BACI,+BACI,4BACI,wBAAIqF,QAAS,EAAG3I,MAAO,CAAEkF,SAAU,OAAQ0R,WAAY,MAAO8D,WAAY,QAAU9R,MAAM,QAA1F,kBAIJ,4BACI,4BACI,kBAAC,EAAD,CACIvG,KAAK,SACLJ,MAAM,QACNC,YAAa,SAAC2B,GACV,EAAKlH,SAAS,CAAE8hB,oBAAqB5a,IAAK,WAAc5L,KAAKkmB,qBAEjEhc,MAAOlK,KAAKogB,eAAL,UAAoBpgB,KAAKQ,MAAMgmB,2BAA/B,QAAsD,IAC7Drc,MAAO,CAAEkB,MAAO,UAGxB,4BACI,kBAAC,EAAD,CACIjB,KAAK,SACLJ,MAAM,gBACNC,YAAa,SAAC2B,GACV,EAAKlH,SAAS,CAAE+hB,4BAA6B7a,IAAK,WAAc5L,KAAKkmB,qBAEzEhc,MAAOlK,KAAKogB,eAAL,UAAoBpgB,KAAKQ,MAAMimB,mCAA/B,QAA8D,IACrEtc,MAAO,CAAEkB,MAAO,UAGxB,4BACI,kBAAC,EAAD,CACIjB,KAAK,SACLJ,MAAM,gBACNC,YAAa,SAAC2B,GACV,EAAKlH,SAAS,CAAEgiB,2BAA4B9a,IAAK,WAAc5L,KAAKkmB,qBAExEhc,MAAOlK,KAAKogB,eAAL,UAAoBpgB,KAAKQ,MAAMkmB,kCAA/B,QAA6D,IACpEvc,MAAO,CAAEkB,MAAO,UAGxB,4BACI,kBAAC,EAAD,CACIjB,KAAK,SACLJ,MAAM,UACNC,YAAa,SAAC2B,GACV,EAAKlH,SAAS,CAAEiiB,sBAAuB/a,IAAK,WAAc5L,KAAKkmB,qBAEnEhc,MAAOlK,KAAKogB,eAAL,UAAoBpgB,KAAKQ,MAAMmmB,6BAA/B,QAAwD,IAC/Dxc,MAAO,CAAEkB,MAAO,UAGxB,4BACI,kBAAC,EAAD,CACIjB,KAAK,SACLJ,MAAM,QACNC,YAAa,SAAC2B,GACV,EAAKlH,SAAS,CAAEkiB,oBAAqBhb,IAAK,WAAc5L,KAAKkmB,qBAEjEhc,MAAOlK,KAAKogB,eAAL,UAAoBpgB,KAAKQ,MAAMomB,2BAA/B,QAAsD,IAC7Dzc,MAAO,CAAEkB,MAAO,UAGxB,4BACI,kBAAC,EAAD,CACIjB,KAAK,SACLJ,MAAM,QACNC,YAAa,SAAC2B,GACV,EAAKlH,SAAS,CAAEmiB,oBAAqBjb,IAAK,WAAc5L,KAAKkmB,qBAEjEhc,MAAOlK,KAAKogB,eAAL,UAAoBpgB,KAAKQ,MAAMqmB,2BAA/B,QAAsD,IAC7D1c,MAAO,CAAEkB,MAAO,OAChBd,UAAU,QAMO,MAApC2X,aAAa1T,QAAQ,aAA2D,cAApC0T,aAAa1T,QAAQ,YAC9D,+BACI,+BACI,4BACI,4BACI,+BACI,+BACI,4BACI,wBAAIkC,QAAS,EAAGC,MAAM,OAAO5I,MAAO,CAAE0a,WAAY,SAC9C,yBAAK1a,MAAO,CAAEkF,SAAU,OAAQ0R,WAAY,MAAO8D,WAAY,MAAOpX,MAAO,OAAQuF,OAAQ,OAAQV,SAAU,OAAQuV,OAAQ,iBAAkB3O,QAAS,MAAO0O,gBAAiB,cAAlL,knBACmnB,6BAAM,6BADznB,2HAE4H,6BAAM,6BAFlI,wKAGyK,6BAAM,6BAH/K,4UAI6U,6BAAM,6BAJnV,0fAK2f,6BAAM,6BALjgB,oOAMqO,6BAAM,6BAN3O,ufAOwf,uBAAGtd,KAAK,qCAAR,8BAA0E,6BAAM,gCAIhlB,4BACI,4BACI,yBAAKH,MAAO,CAAE4B,QAAS,OAAQwF,cAAe,MAAO9D,MAAO,cAAegE,WAAY,SAAUD,eAAgB,eAC7G,2BACIxH,KAAK,WACL4S,QAAO,UAAExa,KAAKQ,MAAMkpB,iDAAb,SACP/Z,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAEglB,2CAA4C,EAAKlpB,MAAMkpB,6CAE3E3hB,MAAO,CAAEyH,YAAa,SAE1B,2BAAOzH,MAAO,CAAEwH,aAAc,IAAKtC,SAAU,SAA7C,wIAMpB,2BAAOlF,MAAO,CAAEuH,UAAW,OAAQC,aAAc,SAC7C,+BACI,4BACI,4BACI,kBAAC,EAAD,CACInF,KAAK,OACLJ,MAAM,qBACNC,YAAa,SAAC2B,GACV,EAAKlH,SAAS,CAAE4iB,kBAAmB1b,KAEvC1B,MAAK,UAAElK,KAAKQ,MAAM8mB,yBAAb,QAAkC,GACvCnd,MAAO,CAAEkB,MAAO,OAAQ2B,WAAY,kBAAmBC,SAAU,WAGzE,4BACI,kBAAC,EAAD,CACI7C,KAAK,OACLJ,MAAM,OACNC,YAAa,SAAC2B,GACV,EAAKlH,SAAS,CAAE4hB,sBAAuB1a,KAE3C1B,WAA2CxI,GAApC1B,KAAKQ,MAAM8lB,sBAAqCtmB,KAAKqmB,YAAYrmB,KAAKQ,MAAM8lB,uBAAyBtmB,KAAK0E,SAAS,CAAE4hB,sBAAuBxC,IAAyC,IAAII,MAAOyF,mBAAmB,SAAU,UACpOxf,MAAO,CAAEkB,MAAO,iBAUlD,MAEV,yBAAK7F,UAAU,yBACX,2BAAOuC,MAAO,CAAE6I,OAAQ,SACpB,+BACI,4BACI,wBAAID,MAAM,SAASE,OAAO,UACtB,4BACIrL,UAAU,gBACVuC,MAAO,CAAE8H,WAAY,UACrBrE,SAAUxL,KAAKQ,MAAM2M,QACrB9G,QAAS,WACL,EAAK8b,KAAK,KALlB,SAUJ,wBAAIxR,MAAM,SAASE,OAAO,UACtB,4BACIrL,UAAU,gBACVuC,MAAO,CAAE8H,WAAY,UACrBrE,YAAUxL,KAAKQ,MAAM2M,SAA+C,MAApC+U,aAAa1T,QAAQ,aAA2D,cAApC0T,aAAa1T,QAAQ,gBAA+BxO,KAAKQ,MAAMkpB,4CAA8C1pB,KAAKQ,MAAM+mB,4BACpMlhB,QAAS,WACL,EAAK8b,SAEX/U,eAAeoB,QAAQ,qBAAqE,KAA9CpB,eAAeoB,QAAQ,qBAC/B,MAApC0T,aAAa1T,QAAQ,aAA2D,cAApC0T,aAAa1T,QAAQ,YAC7DxO,KAAKQ,MAAMod,OAAS,OAAS,OAAkB,aAQ3E,kBAAC,GAAD,CACIoH,WAAY,mBACZC,SAAU,4MACVE,YAAa,+CACbE,aAAa,EACbC,YAAa,2DACbF,oBAAqBplB,KAAK4pB,mBAC1BrE,oBAAqBvlB,KAAK4lB,mBAC1BV,UAAWllB,KAAKQ,MAAM0kB,eAhoC1C,2CAuoCQ1d,OAAOmH,SAASzG,KAAO,kCAvoC/B,GAA4CxC,aAA/BigB,GACFlf,YAAckf,GAAuBhhB,K,aCDnCklB,GAAb,kDAEI,WAAY5lB,GAAQ,IAAD,8BACf,cAAMA,IAitCV2hB,mBAAqB,WAEjB,EAAKlhB,SAAS,CAAEwgB,WAAW,EAAOW,oBAAqB,qBAAsBC,kBAAkB,KAjtC/F,EAAKtlB,MAAQ,CACT2M,SAAS,EACT4Y,UAAW,GACXC,OAAQ,GACRd,WAAW,EACX4E,WAAY,OACZlM,QAAQ,EACRqI,YAAY,EACZ7K,YAAY,GAXD,EAFvB,gEAiByB,IAAD,OAChB,IACIpb,KAAK0E,SAAS,CAAEyI,SAAS,IAEzB,IAAI/B,EAAKgC,eAAeoB,QAAQ,MAC5B+J,EAASnL,eAAeoB,QAAQ,WAE1B,MAANpD,IACApL,KAAK0E,SAAS,CAAE4a,GAAIlU,EAAIgQ,YAAY,IAChC,WACIpb,KAAKqf,SAASjU,MAEtBpL,KAAK4d,OAAOxS,IAGhB,IAAIjI,EAAQyD,IACZzD,EAAM0D,IAAI,gCAAkCuE,GACvCmC,MAAK,SAACzL,GACCA,EACA,EAAK4C,SAAS,CAAEolB,WAAY,OAAQ3c,SAAS,IAG7C,EAAKzI,SAAS,CAAEolB,WAAY,OAAQ3c,SAAS,OAIzDhK,EAAM0D,IAAI,mCACL0G,MAAK,SAACzL,GACH,EAAK4C,SAAS,CAAEqhB,UAAWjkB,OAGnCqB,EAAM0D,IAAI,gCACL0G,MAAK,SAACzL,GACH,EAAK4C,SAAS,CAAEshB,OAAQlkB,EAAMqL,SAAS,IACzB,MAAVoL,GAAgB,EAAK8G,SAASjU,MAG9C,MAAOlC,GACHlJ,KAAK0E,SAAS,CAAEyI,SAAS,IACzBrM,QAAQC,IAAI,uBAAyBmI,MAxDjD,+BA4DakC,GAAK,IAAD,OACT,IACIpL,KAAK0E,SAAS,CAAEyI,SAAS,IACbvG,IACNC,IAAI,mDAAqDuE,GAC1DmC,MAAK,SAACzL,GACH,IAAI8f,EAAS,EAAKphB,MAClB,IAAK,IAAMsJ,KAAOhI,EACd,GAAiB,MAAbA,EAAKgI,GAAc,CACnB,IAAI+X,EAAO/X,EAAIgY,OAAO,GAAGC,cAAgBjY,EAAIkY,MAAM,GAC/CxB,EAAS1e,EAAKgI,GAClB8X,EAAOC,GAAQrB,EAGvB,EAAK9b,SAASkd,GACV,WAAa,IAAD,EACR5hB,KAAK0E,SAAS,CAAEyI,SAAS,EAAOmS,GAAIlU,IACpCpL,KAAKkmB,iBACLlmB,KAAK0E,SAAS,CAAEuhB,WAAYnC,GAAA,UAA8B9jB,KAAKQ,MAAMupB,uBAAzC,QAA4D,MACxF/pB,KAAK0E,SAAS,CACVslB,cAAehqB,KAAKqmB,YAAYrmB,KAAKQ,MAAMwpB,eAC3C1D,sBAAuBtmB,KAAKqmB,YAAYrmB,KAAKQ,MAAM8lB,uBACnD2D,wBAAyBjqB,KAAKqmB,YAAYrmB,KAAKQ,MAAMypB,iCAK7E,MAAO/gB,GACHlJ,KAAK0E,SAAS,CAAEyI,SAAS,IACzBrM,QAAQC,IAAI,cAAgBmI,MAzFxC,uCA8FQ,IAAI0W,EAAI5f,KAAKQ,MAOT0pB,EANwBlqB,KAAK8f,YAAYF,EAAEuK,uBACXnqB,KAAK8f,YAAYF,EAAEwK,+BACpBpqB,KAAK8f,YAAYF,EAAEyK,8BACxBrqB,KAAK8f,YAAYF,EAAE0K,yBACrBtqB,KAAK8f,YAAYF,EAAE2K,uBAI3ClK,EAAWrgB,KAAKogB,eAAe8J,GAEnC,GAAI7J,GAAYA,EAAS3T,WAAW,OAAS2T,EAASvX,SAAS,KAC3DuX,GAAsB,WAErB,GAAIA,EAAS3T,WAAW,MAAQ2T,EAASvX,SAAS,KAAM,CACzD,IAAI6D,EAAM0T,EAASzT,MAAM,KACJ,GAAjBD,EAAI,GAAGjK,SACP2d,GAAsB,MAGL,GAAjB1T,EAAI,GAAGjK,SACP2d,GAAsB,KAG9BrgB,KAAK0E,SAAS,CAAE8lB,sBAAuBnK,MAtH/C,kCAyHgB/U,GACR,QAAa5J,GAAT4J,GAA+B,GAATA,GAAuB,MAATA,EAAe,OAAO,EAI9D,IAAIkV,EAAM,OAAGlV,QAAH,IAAGA,OAAH,EAAGA,EAAOwN,WAAWtM,QAAQ,KAAM,IAAIA,QAAQ,IAAK,IAE9D,OAAIgU,EAAO9d,OAAS,EAEF+d,MAAMD,SAAqB9e,GAAV8e,EAAuB,EAAIE,WAAWF,GAI9D,IAtInB,qCA0ImBlV,GACX,QAAa5J,GAAT4J,EAAoB,MAAO,GAC/B,IAAIqV,EAAUrV,EAAMwN,WAAWtM,QAAQ,KAAM,IAAIA,QAAQ,IAAK,IAE1DoU,EAAM,GACNJ,EAAS,GAETK,EAAWF,EAAQ/T,MAAM,KAW7B,OAVwB,IAAZ,OAARiU,QAAQ,IAARA,OAAA,EAAAA,EAAUne,QACV8d,EAASG,EAAQ/T,MAAM,KAAK,IAEf,OAARiU,QAAQ,IAARA,OAAA,EAAAA,EAAUne,QAAS,GACxB8d,EAASG,EAAQ/T,MAAM,KAAK,GAC5BgU,EAAM,IAAMD,EAAQ/T,MAAM,KAAK,GAAGkU,UAAU,EAAG,IAG/CN,EAASG,EAETH,EAAO9d,OAAS,EACT,IAAIqe,KAAKC,kBAAatf,EAAW,CACpCqG,MAAO,WACPkZ,SAAU,MACVC,sBAAuB,EACvBC,sBAAuB,IACxBC,OAAOZ,GAAUI,OANxB,IA5JR,2BAsKSkG,EAAMvlB,GACP,IACI,IAEuB,gCAFnBqI,EAAO,GAEX,QAAYlI,GAARolB,OACsCplB,GAAlC1B,KAAKQ,MAAMiqB,qBAA8E,IAA1C,UAAAzqB,KAAKQ,MAAMiqB,2BAAX,eAAgC/nB,SAC/EkH,EAAK3H,KAAK,mBAEuBP,GAAjC1B,KAAKQ,MAAMkqB,oBAA4E,IAAzC,UAAA1qB,KAAKQ,MAAMkqB,0BAAX,eAA+BhoB,SAC7EkH,EAAK3H,KAAK,kBAEkBP,GAA5B1B,KAAKQ,MAAMmqB,eAAkE,IAApC,UAAA3qB,KAAKQ,MAAMmqB,qBAAX,eAA0BjoB,SACnEkH,EAAK3H,KAAK,QAEV,UAAAjC,KAAKQ,MAAMmqB,qBAAX,eAA0BjoB,QAAS,IACnCkH,EAAK3H,KAAK,YAEyBP,IAAnC1B,KAAKQ,MAAMoqB,qBACXhhB,EAAK3H,KAAK,mBAEyBP,IAAnC1B,KAAKQ,MAAMoqB,qBAAwE,OAAnC5qB,KAAKQ,MAAMoqB,qBAA0E,IAA1C5qB,KAAKQ,MAAMqqB,4BACtGjhB,EAAK3H,KAAK,+BAEkBP,GAA5B1B,KAAKQ,MAAMwpB,eAAkE,IAApC,UAAAhqB,KAAKQ,MAAMwpB,qBAAX,eAA0BtnB,SACnEkH,EAAK3H,KAAK,sBAE0BP,IAAnC1B,KAAKQ,MAAMsqB,qBAAgF,KAA3C,UAAA9qB,KAAKQ,MAAMsqB,2BAAX,eAAgCpoB,cAC5ChB,IAApC1B,KAAKQ,MAAMuqB,sBAAkF,KAA5C,UAAA/qB,KAAKQ,MAAMuqB,4BAAX,eAAiCroB,SACnFkH,EAAK3H,KAAK,+BAET,UAAAjC,KAAKQ,MAAMsqB,2BAAX,eAAgCpoB,QAAS,KAAM,UAAA1C,KAAKQ,MAAMsqB,2BAAX,eAAgCpoB,QAAS,IACxF,UAAA1C,KAAKQ,MAAMuqB,4BAAX,eAAiCroB,QAAS,KAAM,UAAA1C,KAAKQ,MAAMuqB,4BAAX,eAAiCroB,QAAS,IAC3FkH,EAAK3H,KAAK,kCAEoBP,GAA9B1B,KAAKQ,MAAMupB,iBAAsE,IAAtC,UAAA/pB,KAAKQ,MAAMupB,uBAAX,eAA4BrnB,SACvEkH,EAAK3H,KAAK,SAETjC,KAAKQ,MAAMylB,YACZrc,EAAK3H,KAAK,cAEuBP,GAAhC1B,KAAKQ,MAAM8mB,mBAA0E,IAAxC,UAAAtnB,KAAKQ,MAAM8mB,yBAAX,eAA8B5kB,SAC3E1C,KAAKQ,MAAM+mB,4BACZ3d,EAAK3H,KAAK,2BAE2BP,GAApC1B,KAAKQ,MAAM8lB,uBAAkF,IAA5C,UAAAtmB,KAAKQ,MAAM8lB,6BAAX,eAAkC5jB,SACnF1C,KAAKQ,MAAM+mB,4BACZ3d,EAAK3H,KAAK,gCAEyBP,GAAlC1B,KAAKQ,MAAMwqB,qBAA8E,IAA1C,UAAAhrB,KAAKQ,MAAMwqB,2BAAX,eAAgCtoB,SAC/E1C,KAAKQ,MAAM+mB,4BACZ3d,EAAK3H,KAAK,6BAE6BP,GAAtC1B,KAAKQ,MAAMypB,yBAAsF,IAA9C,UAAAjqB,KAAKQ,MAAMypB,+BAAX,eAAoCvnB,SACvF1C,KAAKQ,MAAM+mB,4BACZ3d,EAAK3H,KAAK,6BAIlB,GAAmB,GAAf2H,EAAKlH,OAAa,CAClB1C,KAAK0E,SAAS,CAAEyI,SAAS,IACzB,IAAIhK,EAAQyD,IAEZ5G,KAAK0E,SAAS,CACVslB,mBAA4CtoB,IAA7B1B,KAAKQ,MAAMwpB,eAA2D,IAA5BhqB,KAAKQ,MAAMwpB,cAAsB,KAAO5I,aAAO,IAAI8C,KAAKlkB,KAAKQ,MAAMwpB,cAAcxd,QAAQ,KAAM,MAAO,cAC/J8Z,2BAA4D5kB,IAArC1B,KAAKQ,MAAM8lB,uBAA2E,IAApCtmB,KAAKQ,MAAM8lB,sBAA8B,KAAOlF,aAAO,IAAI8C,KAAKlkB,KAAKQ,MAAM8lB,sBAAsB9Z,QAAQ,KAAM,MAAO,cAC/Lyd,6BAAgEvoB,IAAvC1B,KAAKQ,MAAMypB,yBAA+E,IAAtCjqB,KAAKQ,MAAMypB,wBAAgC,KAAO7I,aAAO,IAAI8C,KAAKlkB,KAAKQ,MAAMypB,wBAAwBzd,QAAQ,KAAM,MAAO,gBACxM,WAAa,IAAD,OACXrJ,EAAM4D,KAAK,gDAAiD/G,KAAKQ,OAC5D+M,MAAK,SAACnC,GACH,EAAK1G,SAAS,CAAEyI,SAAS,IACZ,IAAT2Z,EAEItf,OAAOmH,SAASzG,UADRxG,IAARH,EACuBA,EAGA,0BAIwB,OAA/C6L,eAAeoB,QAAQ,qBAA+E,MAA/CpB,eAAeoB,QAAQ,oBAC1E,EAAKhO,MAAMod,OACXpW,OAAOmH,SAASzG,KAAO,8BAKvB,EAAKxD,SAAS,CAAEmhB,oBAAqB,qBAAsBC,kBAAkB,IAIjF,EAAKphB,SAAS,CAAEwgB,WAAW,eAO/CllB,KAAK0E,SAAS,CACV2E,WAAW,EACXuF,aAAc,qCACdC,WAAYjF,IAEhBF,YAAW,WAAc7B,SAAS2f,eAAe,iBAAiBC,SAAS,CAAExY,IAAK,EAAGyY,SAAU,aAAgB,KAGvH,MAAOxe,GACHlJ,KAAK0E,SAAS,CAAEyI,SAAS,IACzBrM,QAAQC,IAAI,UAAYmI,MAjRpC,kCAqRgBye,GACR,MAAe,IAAXA,QAA6BjmB,IAAZimB,EAA8BA,EAEnCA,EAAQ/a,MAAM,KACb,KAzRzB,6BA4RWxB,GAAK,IAAD,OACKxE,IACNC,IAAI,gCAAkCuE,GACvCmC,MAAK,SAACzL,GACH,EAAK4C,SAAS,CAAEkZ,OAAQ9b,SAhSxC,uCAoSsB,IAAD,EACT8d,EAAI5f,KAAKQ,MAITonB,QAH6BlmB,GAAzBke,EAAE6K,oBAAmC,GAAK7K,EAAE6K,oBAAoB3R,WAAa,WAChDpX,GAA7Bke,EAAEqL,wBAAuC,GAAKrL,EAAEqL,wBAAwBnS,WAAa,WAC7DpX,GAAxBke,EAAE8K,mBAAkC,GAApC,UAAyC9K,EAAE8K,0BAA3C,aAAyC,EAAsB5R,YAIvE1L,eAAeI,QAAQ,sBAAuBoa,KA5StD,4CA+S2B,IAAD,OACdxc,EAAKgC,eAAeoB,QAAQ,MAEpB5H,IACNC,IAAI,mDAAqDuE,GAC1DmC,MAAK,SAACzL,GACH,EAAK4C,SAAS,CACVwmB,yBAA0BppB,EAAKqpB,uBAC/BC,sBAAuBtpB,EAAKupB,oBAC5BC,yBAA0BxpB,EAAKypB,uBAC/BC,qBAAsB1pB,EAAK2pB,mBAC3BC,uBAAwB5pB,EAAK6pB,4BA1TjD,+BAgUc,IAAD,qEACL,OACI,yBAAKnmB,UAAU,iBACX,kBAAC,GAAD,CACI4V,WAAYpb,KAAKQ,MAAM4a,WACvBC,aAAcrb,KAAKQ,MAAM8e,GACzBhE,YAAa,SAAC1P,GAAD,OAAO,EAAKuW,KAAK,EAAGvW,MAErC,kBAAC,EAAD,CACIxC,UAAWpJ,KAAKQ,MAAMoO,aACtBtF,UAAWtJ,KAAKQ,MAAMqO,WACtBxF,UAAWrJ,KAAKQ,MAAM6I,UACtBE,aAAc,kBAAM,EAAK7E,SAAS,CAAE2E,WAAW,KAC/CG,mBAAoB,MAExB,kBAAC,EAAD,CACIJ,UAAWpJ,KAAKQ,MAAMqlB,oBACtBxc,UAAWrJ,KAAKQ,MAAMslB,iBACtBvc,aAAc,kBAAM,EAAK7E,SAAS,CAAEohB,kBAAkB,KACtDtc,mBAAoB,IACpBC,gBAAgB,IAEpB,yBAAK2B,GAAG,gBAAgB5F,UAAU,+BACN,IAAvBxF,KAAKQ,MAAM2M,QACR,6BACI,kBAAC2B,EAAA,EAAD,CAASC,MAAM,OAAOpI,SAAS,GAAGoB,MAAO,CAAEiH,SAAU,QAASC,IAAK,MAAOC,KAAM,UAElF,KAEN,2BAAOkT,YAAa,EAAGC,YAAa,GAChC,+BACI,4BACI,wBAAI1R,MAAM,OAAOD,QAAS,GACtB,2BAAO3I,MAAO,CAAEkF,SAAU,OAAQ0R,WAAY,MAAO5P,MAAO,YAA5D,6BAGR,4BACI,4BACI,2BAAOsT,YAAa,EAAGD,YAAa,GAChC,+BACI,4BACI,wBAAIzR,MAAM,OAAOE,OAAO,UACpB,kBAAC,EAAD,CACIzG,KAAK,OACLJ,MAAM,aACNC,YAAa,SAAC2B,GACV,EAAKlH,SAAS,CAAE+lB,oBAAqB7e,IACjC,WACI5L,KAAK8nB,qBAGjB5d,MAAK,UAAElK,KAAKQ,MAAMiqB,2BAAb,QAAoC,GACzCtgB,MAAO,CAAEkB,MAAO,WAGxB,wBAAIsF,MAAM,OAAOE,OAAO,UACpB,kBAAC,EAAD,CACIzG,KAAK,OACLJ,MAAM,MACNK,cAAe,EACfJ,YAAa,SAAC2B,GACV,EAAKlH,SAAS,CAAEumB,wBAAyBrf,IACrC,WACI5L,KAAK8nB,qBAGjB5d,MAAK,UAAElK,KAAKQ,MAAMyqB,+BAAb,QAAwC,GAC7C9gB,MAAO,CAAEkB,MAAO,YAGxB,wBAAIsF,MAAM,OAAOE,OAAO,UACpB,kBAAC,EAAD,CACIzG,KAAK,OACLJ,MAAM,YACNC,YAAa,SAAC2B,GACV,EAAKlH,SAAS,CAAEgmB,mBAAoB9e,IAChC,WACI5L,KAAK8nB,qBAGjB5d,MAAK,UAAElK,KAAKQ,MAAMkqB,0BAAb,QAAmC,GACxCvgB,MAAO,CAAEkB,MAAO,kBAUpD,+BACI,+BACI,4BACI,4BACI,2BAAOgX,YAAa,EAAGD,YAAa,GAChC,+BACI,4BACI,wBAAIzR,MAAM,OAAOE,OAAO,UACpB,kBAAC,EAAD,CACIzG,KAAK,MACLJ,MAAM,MACNK,cAAe,GACfJ,YAAa,SAAC2B,GACV,IAAImc,EAAenc,EACnB,EAAKlH,SAAS,CAAEimB,cAAe5C,KAEnC7d,MAAK,UAAElK,KAAKQ,MAAMmqB,qBAAb,QAA8B,GACnCxgB,MAAO,CAAEkB,MAAO,WAGxB,wBAAIsF,MAAM,OAAOE,OAAO,UACpB,kBAAC,EAAD,CACIzG,KAAK,OACLJ,MAAM,gBACNC,YAAa,SAAC2B,GACV,EAAKlH,SAAS,CAAEslB,cAAepe,KAEnC1B,WAAmCxI,GAA5B1B,KAAKQ,MAAMwpB,cAA6BhqB,KAAKqmB,YAAYrmB,KAAKQ,MAAMwpB,eAAiB,GAC5F7f,MAAO,CAAEkB,MAAO,UAGxB,wBAAIsF,MAAM,OAAOE,OAAO,UACpB,kBAAC,EAAD,CACIzG,KAAK,OACLJ,MAAM,4BACNK,cAAe,GACfJ,YAAa,SAAC2B,GACV,EAAKlH,SAAS,CAAEknB,wBAAyBhgB,KAE7C1B,MAAK,UAAElK,KAAKQ,MAAMorB,+BAAb,QAAwC,GAC7CzhB,MAAO,CAAEkB,MAAO,kBAUpD,+BACI,+BACI,4BACI,4BACI,2BAAOgX,YAAa,EAAGD,YAAa,GAChC,+BACI,4BACI,wBAAIzR,MAAM,OAAOE,OAAO,UAAxB,eAGA,wBAAIF,MAAM,OAAOE,OAAO,UACpB,yBAAKrL,UAAU,cACX,2BAAOoC,KAAK,QACRjD,KAAK,UACLoD,MAAO,CAAEyH,YAAa,OACtBG,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAEkmB,oBAAqBhf,EAAEC,OAAO2O,QAAU,MAAQ,QAEpEA,QAA4C,QAAnCxa,KAAKQ,MAAMoqB,sBAExB,sCACA,2BAAOhjB,KAAK,QACRjD,KAAK,UACLoD,MAAO,CAAEyH,YAAa,OACtBG,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAEkmB,oBAAqBhf,EAAEC,OAAO2O,QAAU,KAAO,SAEnEA,QAA4C,OAAnCxa,KAAKQ,MAAMoqB,sBAExB,qCACoC,OAAnC5qB,KAAKQ,MAAMoqB,oBACR,4BACItf,MAAOtL,KAAKQ,MAAMqqB,2BAClBlb,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAEmmB,2BAA4Bjf,EAAEC,OAAOP,UAGzD,4BAAQxB,IAAK,EAAGwB,MAAO,GAAvB,oBACCtL,KAAKQ,MAAMulB,UAAU1jB,KAAI,SAACuH,EAAMC,GAAP,OACtB,4BAAQC,IAAKD,EAAKyB,MAAO1B,EAAKjF,MAAOiF,EAAKjF,UAGhD,OAGd,kCAOpB,4BACI,4BACI,2BAAO0d,YAAa,EAAGD,YAAa,GAChC,+BACI,4BACI,wBAAIzR,MAAM,OAAOE,OAAO,UACpB,kBAAC,EAAD,CACIzG,KAAK,QACLJ,MAAM,aACNK,cAAe,GACfJ,YAAa,SAAC2B,GACV,IAAIoc,EAAiBlE,GAAkClY,GACvD,EAAKlH,SAAS,CAAEomB,oBAAqB9C,KAEzC9d,MAAK,UAAE4Z,GAAkC9jB,KAAKQ,MAAMsqB,4BAA/C,QAAuE,GAC5E3gB,MAAO,CAAEkB,MAAO,WAGxB,wBAAIsF,MAAM,OAAOE,OAAO,UACpB,kBAAC,EAAD,CACIzG,KAAK,QACLJ,MAAM,cACNK,cAAe,GACfJ,YAAa,SAAC2B,GACV,IAAIoc,EAAiBlE,GAAkClY,GACvD,EAAKlH,SAAS,CAAEqmB,qBAAsB/C,KAE1C9d,MAAK,UAAE4Z,GAAkC9jB,KAAKQ,MAAMuqB,6BAA/C,QAAwE,GAC7E5gB,MAAO,CAAEkB,MAAO,WAGxB,kCAOpB,4BACI,4BACI,2BAAOgX,YAAa,EAAGD,YAAa,GAChC,+BACI,4BACI,wBAAI1R,QAAS,EAAGC,MAAM,OAAOE,OAAO,UAChC,kBAAC,EAAD,CACIzG,KAAK,QACLJ,MAAM,QACNC,YAAa,SAAC2B,GACV,EAAKlH,SAAS,CAAEuhB,WAAYnC,GAA8BlY,KAC1D,EAAKlH,SAAS,CAAEqlB,gBAAiBne,KAErC1B,MAAK,UAAElK,KAAKQ,MAAMupB,uBAAb,QAAgC,GACrC5f,MAAO,CAAEkB,MAAO,aAGxB,oCAS5B,+BACI,+BACI,4BACI,wBAAIsF,MAAM,OAAO5I,MAAO,CAAEkgB,aAAc,QACpC,+BACI,+BACI,4BACI,wBAAIlgB,MAAO,CAAEkF,SAAU,OAAQ0R,WAAY,MAAO8D,WAAY,OAAQ9Y,QAAS,OAAQwF,cAAe,MAAOE,WAAY,UAAYsB,MAAM,QACvI,2BAAO5I,MAAO,CAAEkF,SAAU,SAA1B,qBACA,yCACIzH,UAAU,gBACVuC,MAAO,CAAE8H,WAAY,SAAUC,WAAY,MAAO7C,SAAU,OAAQ2D,OAAQ,QAC5EpF,WAAUxL,KAAKQ,MAAM2M,QACrB9G,QAAS,WACL,EAAKwlB,wBALb,WAOc7rB,KAAKQ,MAAM2M,SAPzB,6BAaR,4BACI,4BACI,2BAAOkV,YAAa,EAAGD,YAAa,GAChC,+BACI,4BACI,wBAAI1R,QAAS,EAAGC,MAAM,OAAOE,OAAO,UAChC,kBAAC,EAAD,CACIzG,KAAK,OACLJ,MAAM,eACNC,YAAa,SAAC2B,GACV,EAAKlH,SAAS,CAAEwmB,yBAA0Btf,KAE9C1B,MAAK,UAAElK,KAAKQ,MAAM0qB,gCAAb,QAAyC,GAC9C/gB,MAAO,CAAEkB,MAAO,YAI5B,4BACI,wBAAIsF,MAAM,OAAOE,OAAO,UACpB,kBAAC,EAAD,CACIzG,KAAK,OACLJ,MAAM,OACNC,YAAa,SAAC2B,GACV,EAAKlH,SAAS,CAAE0mB,sBAAuBxf,KAE3C1B,MAAK,UAAElK,KAAKQ,MAAM4qB,6BAAb,QAAsC,GAC3CjhB,MAAO,CAAEkB,MAAO,UAGxB,wBAAIsF,MAAM,OAAOE,OAAO,UACpB,4BACIvF,MAAOtL,KAAKQ,MAAM8qB,yBAClB3b,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAE4mB,yBAA0B1f,EAAEC,OAAOP,UAGvD,4BAAQxB,IAAK,EAAGwB,MAAO,GAAvB,MACCtL,KAAKQ,MAAMwlB,OAAO3jB,KAAI,SAACuH,EAAMC,GAAP,OACnB,4BAAQC,IAAKD,EAAKyB,MAAO1B,EAAKwB,IAAKxB,EAAKjF,WAIpD,wBAAIgM,MAAM,OAAOE,OAAO,UACpB,kBAAC,EAAD,CACIzG,KAAK,SACLC,cAAe,EACfL,MAAM,MACNC,YAAa,SAAC2B,GACV,EAAKlH,SAAS,CAAE8mB,qBAAsB5f,KAE1C1B,MAAK,UAAElK,KAAKQ,MAAMgrB,4BAAb,QAAqC,GAC1CrhB,MAAO,CAAEkB,MAAO,WAI5B,4BACI,wBAAIsF,MAAM,OAAOE,OAAO,UACpB,kBAAC,EAAD,CACIzG,KAAK,SACLJ,MAAM,UACNC,YAAa,SAAC2B,GACV,EAAKlH,SAAS,CAAEgnB,uBAAwB9f,KAE5C1B,MAAK,UAAElK,KAAKQ,MAAMkrB,8BAAb,QAAuC,GAC5CvhB,MAAO,CAAEkB,MAAO,UAGxB,6BAEA,qCAUhC,wBAAIsF,MAAM,QACN,+BACI,+BACI,4BACI,wBAAID,QAAS,EAAG3I,MAAO,CAAEkF,SAAU,OAAQ0R,WAAY,MAAO8D,WAAY,QAAU9R,MAAM,QAA1F,uBAIJ,4BACI,4BACI,2BAAO0R,YAAa,EAAGD,YAAa,GAChC,+BACI,4BACI,wBAAI1R,QAAS,EAAGC,MAAM,OAAOE,OAAO,UAChC,kBAAC,EAAD,CACIzG,KAAK,OACLJ,MAAM,eACNC,YAAa,SAAC2B,GACV,EAAKlH,SAAS,CAAEonB,0BAA2BlgB,KAE/C1B,MAAK,UAAElK,KAAKQ,MAAMsrB,iCAAb,QAA0C,GAC/C3hB,MAAO,CAAEkB,MAAO,YAI5B,4BACI,wBAAIsF,MAAM,OAAOE,OAAO,UACpB,kBAAC,EAAD,CACIzG,KAAK,OACLJ,MAAM,OACNC,YAAa,SAAC2B,GACV,EAAKlH,SAAS,CAAEqnB,uBAAwBngB,KAE5C1B,MAAK,UAAElK,KAAKQ,MAAMurB,8BAAb,QAAuC,GAC5C5hB,MAAO,CAAEkB,MAAO,UAGxB,wBAAIsF,MAAM,OAAOE,OAAO,UACpB,4BACIvF,MAAOtL,KAAKQ,MAAMwrB,0BAClBrc,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAEsnB,0BAA2BpgB,EAAEC,OAAOP,UAGxD,4BAAQxB,IAAK,EAAGwB,MAAO,GAAvB,MACCtL,KAAKQ,MAAMwlB,OAAO3jB,KAAI,SAACuH,EAAMC,GAAP,OACnB,4BAAQC,IAAKD,EAAKyB,MAAO1B,EAAKwB,IAAKxB,EAAKjF,WAIpD,wBAAIgM,MAAM,OAAOE,OAAO,UACpB,kBAAC,EAAD,CACIzG,KAAK,SACLC,cAAe,EACfL,MAAM,MACNC,YAAa,SAAC2B,GACV,EAAKlH,SAAS,CAAEunB,sBAAuBrgB,KAE3C1B,MAAK,UAAElK,KAAKQ,MAAMyrB,6BAAb,QAAsC,GAC3C9hB,MAAO,CAAEkB,MAAO,WAI5B,4BACI,wBAAIsF,MAAM,OAAOE,OAAO,UACpB,kBAAC,EAAD,CACIzG,KAAK,SACLJ,MAAM,UACNC,YAAa,SAAC2B,GACV,EAAKlH,SAAS,CAAEwnB,wBAAyBtgB,KAE7C1B,MAAK,UAAElK,KAAKQ,MAAM0rB,+BAAb,QAAwC,GAC7C/hB,MAAO,CAAEkB,MAAO,UAGxB,6BAEA,wCAa5C,+BACI,+BACI,4BACI,wBAAIsF,MAAM,QACN,2BAAO0R,YAAa,EAAGD,YAAa,GAChC,+BACI,4BACI,wBAAIzR,MAAM,OAAOE,OAAO,UAAxB,gBAGA,wBAAIF,MAAM,OAAOE,OAAO,UACpB,yBAAKrL,UAAU,cACX,2BAAOoC,KAAK,QACRjD,KAAK,UACLoD,MAAO,CAAEyH,YAAa,OACtBG,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAEynB,2BAA4BvgB,EAAEC,OAAO2O,QAAU,MAAQ,UAE3EA,QAAmD,QAA1Cxa,KAAKQ,MAAM2rB,6BAExB,sCACA,2BAAOvkB,KAAK,QACRjD,KAAK,UACLoD,MAAO,CAAEyH,YAAa,OACtBG,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAEynB,2BAA4BvgB,EAAEC,OAAO2O,QAAU,OAAS,SAE5EA,QAAmD,SAA1Cxa,KAAKQ,MAAM2rB,6BAExB,yCAGR,kCAOpB,4BACI,wBAAIxb,MAAM,OAAOE,OAAO,UACpB,kBAAC,EAAD,CACIzG,KAAK,SACLJ,MAAM,0BACNC,YAAa,SAAC2B,GACV,EAAKlH,SAAS,CAAE0nB,8BAA+BxgB,KAEnD1B,MAAK,UAAElK,KAAKogB,eAAepgB,KAAKQ,MAAM4rB,sCAAjC,QAAmE,GACxEjiB,MAAO,CAAEkB,MAAO,WAGxB,wBAAIsF,MAAM,OAAOE,OAAO,WAExB,wBAAIF,MAAM,OAAOE,OAAO,YAG5B,4BACI,wBAAIF,MAAM,OAAO5I,MAAO,CAAEkgB,aAAc,QACpC,2BAAO5F,YAAa,EAAGD,YAAa,GAChC,+BACI,4BACI,wBAAIra,MAAO,CAAEkF,SAAU,OAAQ0R,WAAY,MAAO8D,WAAY,QAAU9R,MAAM,QAA9E,eAIJ,4BACI,wBAAID,QAAS,EAAGC,MAAM,OAAOE,OAAO,UAChC,kBAAC,EAAD,CACIzG,KAAK,OACLJ,MAAM,2BACNC,YAAa,SAAC2B,GACV,EAAKlH,SAAS,CAAE2nB,8BAA+BzgB,KAEnD1B,MAAK,UAAElK,KAAKQ,MAAM6rB,qCAAb,QAA8C,GACnDliB,MAAO,CAAEkB,MAAO,YAI5B,4BACI,wBAAIqF,QAAS,EAAGC,MAAM,OAAOE,OAAO,UAChC,kBAAC,EAAD,CACIzG,KAAK,OACLJ,MAAM,mBACNC,YAAa,SAAC2B,GACV,EAAKlH,SAAS,CAAE4nB,8BAA+B1gB,KAEnD1B,MAAK,UAAElK,KAAKQ,MAAM8rB,qCAAb,QAA8C,GACnDniB,MAAO,CAAEkB,MAAO,YAI5B,4BACI,wBAAIqF,QAAS,EAAGC,MAAM,OAAOE,OAAO,UAChC,kBAAC,EAAD,CACIzG,KAAK,OACLJ,MAAM,WACNC,YAAa,SAAC2B,GACV,EAAKlH,SAAS,CAAE6nB,kCAAmC3gB,KAEvD1B,MAAK,UAAElK,KAAKQ,MAAM+rB,yCAAb,QAAkD,GACvDpiB,MAAO,CAAEkB,MAAO,YAI5B,4BACI,wBAAIqF,QAAS,EAAGC,MAAM,OAAOE,OAAO,UAChC,kBAAC,EAAD,CACIzG,KAAK,SACLJ,MAAM,UACNC,YAAa,SAAC2B,GACV,EAAKlH,SAAS,CAAE8nB,+BAAgC5gB,KAEpD1B,MAAK,UAAElK,KAAKQ,MAAMgsB,sCAAb,QAA+C,GACpDriB,MAAO,CAAEkB,MAAO,WAI5B,4BACI,wBAAIqF,QAAS,EAAGC,MAAM,OAAOE,OAAO,UAChC,kBAAC,EAAD,CACIzG,KAAK,OACLJ,MAAM,UACNC,YAAa,SAAC2B,GACV,EAAKlH,SAAS,CAAE+nB,iCAAkC7gB,KAEtD1B,MAAK,UAAElK,KAAKQ,MAAMisB,wCAAb,QAAiD,GACtDtiB,MAAO,CAAEkB,MAAO,YAI5B,4BACI,wBAAIsF,MAAM,OAAOE,OAAO,UACpB,kBAAC,EAAD,CACIzG,KAAK,OACLJ,MAAM,OACNC,YAAa,SAAC2B,GACV,EAAKlH,SAAS,CAAEgoB,8BAA+B9gB,KAEnD1B,MAAK,UAAElK,KAAKQ,MAAMksB,qCAAb,QAA8C,GACnDviB,MAAO,CAAEkB,MAAO,UAGxB,wBAAIsF,MAAM,OAAOE,OAAO,UACpB,4BACIvF,MAAOtL,KAAKQ,MAAMmsB,iCAClBhd,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAEioB,iCAAkC/gB,EAAEC,OAAOP,UAG/D,4BAAQxB,IAAK,EAAGwB,MAAO,GAAvB,MACCtL,KAAKQ,MAAMwlB,OAAO3jB,KAAI,SAACuH,EAAMC,GAAP,OACnB,4BAAQC,IAAKD,EAAKyB,MAAO1B,EAAKwB,IAAKxB,EAAKjF,WAIpD,wBAAIgM,MAAM,OAAOE,OAAO,UACpB,kBAAC,EAAD,CACIzG,KAAK,SACLC,cAAe,EACfL,MAAM,MACNC,YAAa,SAAC2B,GACV,EAAKlH,SAAS,CAAEkoB,6BAA8BhhB,KAElD1B,MAAK,UAAElK,KAAKQ,MAAMosB,oCAAb,QAA6C,GAClDziB,MAAO,CAAEkB,MAAO,cAOxC,wBAAIsF,MAAM,QAAQE,OAAO,OACrB,2BAAOwR,YAAa,EAAGD,YAAa,GAChC,+BACI,4BACI,wBAAIra,MAAO,CAAEkF,SAAU,OAAQ0R,WAAY,MAAO8D,WAAY,QAAU9R,MAAM,QAA9E,wBAIJ,4BACI,wBAAID,QAAS,EAAGC,MAAM,OAAOE,OAAO,UAChC,kBAAC,EAAD,CACIzG,KAAK,OACLJ,MAAM,2BACNC,YAAa,SAAC2B,GACV,EAAKlH,SAAS,CAAEmoB,+BAAgCjhB,KAEpD1B,MAAK,UAAElK,KAAKQ,MAAMqsB,sCAAb,QAA+C,GACpD1iB,MAAO,CAAEkB,MAAO,YAI5B,4BACI,wBAAIqF,QAAS,EAAGC,MAAM,OAAOE,OAAO,UAChC,kBAAC,EAAD,CACIzG,KAAK,OACLJ,MAAM,mBACNC,YAAa,SAAC2B,GACV,EAAKlH,SAAS,CAAEooB,+BAAgClhB,KAEpD1B,MAAK,UAAElK,KAAKQ,MAAMssB,sCAAb,QAA+C,GACpD3iB,MAAO,CAAEkB,MAAO,YAI5B,4BACI,wBAAIqF,QAAS,EAAGC,MAAM,OAAOE,OAAO,UAChC,kBAAC,EAAD,CACIzG,KAAK,OACLJ,MAAM,WACNC,YAAa,SAAC2B,GACV,EAAKlH,SAAS,CAAEqoB,mCAAoCnhB,KAExD1B,MAAK,UAAElK,KAAKQ,MAAMusB,0CAAb,QAAmD,GACxD5iB,MAAO,CAAEkB,MAAO,YAI5B,4BACI,wBAAIqF,QAAS,EAAGC,MAAM,OAAOE,OAAO,UAChC,kBAAC,EAAD,CACIzG,KAAK,SACLJ,MAAM,UACNC,YAAa,SAAC2B,GACV,EAAKlH,SAAS,CAAEsoB,gCAAiCphB,KAErD1B,MAAK,UAAElK,KAAKQ,MAAMwsB,uCAAb,QAAgD,GACrD7iB,MAAO,CAAEkB,MAAO,iBAUpD,+BACI,+BACI,4BACI,wBAAIqF,QAAS,EAAG3I,MAAO,CAAEkF,SAAU,OAAQ0R,WAAY,MAAO8D,WAAY,QAAU9R,MAAM,QAA1F,kBAIJ,4BACI,4BACI,kBAAC,EAAD,CACIvG,KAAK,SACLJ,MAAM,QACNC,YAAa,SAAC2B,GACV,EAAKlH,SAAS,CAAEylB,sBAAuBve,IAAK,WAAc5L,KAAKkmB,qBAGnEhc,MAAOlK,KAAKogB,eAAepgB,KAAKQ,MAAM2pB,uBACtChgB,MAAO,CAAEkB,MAAO,UAGxB,4BACI,kBAAC,EAAD,CACIjB,KAAK,SACLJ,MAAM,gBACNC,YAAa,SAAC2B,GACV,EAAKlH,SAAS,CAAE0lB,8BAA+Bxe,IAAK,WAAc5L,KAAKkmB,qBAE3Ehc,MAAOlK,KAAKogB,eAAepgB,KAAKQ,MAAM4pB,+BACtCjgB,MAAO,CAAEkB,MAAO,UAGxB,4BACI,kBAAC,EAAD,CACIjB,KAAK,SACLJ,MAAM,gBACNC,YAAa,SAAC2B,GACV,EAAKlH,SAAS,CAAE2lB,6BAA8Bze,IAAK,WAAc5L,KAAKkmB,qBAE1Ehc,MAAOlK,KAAKogB,eAAepgB,KAAKQ,MAAM6pB,8BACtClgB,MAAO,CAAEkB,MAAO,UAGxB,4BACI,kBAAC,EAAD,CACIjB,KAAK,SACLJ,MAAM,UACNC,YAAa,SAAC2B,GACV,EAAKlH,SAAS,CAAE4lB,wBAAyB1e,IAAK,WAAc5L,KAAKkmB,qBAErEhc,MAAOlK,KAAKogB,eAAepgB,KAAKQ,MAAM8pB,yBACtCngB,MAAO,CAAEkB,MAAO,UAGxB,4BACI,kBAAC,EAAD,CACIjB,KAAK,SACLJ,MAAM,QACNC,YAAa,SAAC2B,GACV,EAAKlH,SAAS,CAAE6lB,sBAAuB3e,IAAK,WAAc5L,KAAKkmB,qBAEnEhc,MAAOlK,KAAKogB,eAAepgB,KAAKQ,MAAM+pB,uBACtCpgB,MAAO,CAAEkB,MAAO,UAGxB,4BACI,kBAAC,EAAD,CACIjB,KAAK,SACLJ,MAAM,QACNC,YAAa,SAAC2B,GACV,EAAKlH,SAAS,CAAE8lB,sBAAuB5e,IAAK,WAAc5L,KAAKkmB,qBAEnEhc,MAAOlK,KAAKogB,eAAepgB,KAAKQ,MAAMgqB,uBACtCrgB,MAAO,CAAEkB,MAAO,OAChBd,UAAU,QAM9B,+BACI,+BACI,4BACI,wBAAImG,QAAS,EAAGC,MAAM,OAAO5I,MAAO,CAAE0a,WAAY,SAC9C,yBAAK1a,MAAO,CAAEkF,SAAU,OAAQ0R,WAAY,MAAO8D,WAAY,MAAOpX,MAAO,SAAUuF,OAAQ,OAAQV,SAAU,OAAQuV,OAAQ,iBAAkB3O,QAAS,MAAO0O,gBAAiB,cAApL,mnBAConB,6BAAM,6BAD1nB,2HAE4H,6BAAM,6BAFlI,0KAG2K,6BAAM,6BAHjL,4UAI6U,6BAAM,6BAJnV,0fAK2f,6BAAM,6BALjgB,oOAMqO,6BAAM,6BAN3O,wfAOyf,uBAAGtd,KAAK,qCAAR,8BAA0E,6BAAM,gCAIjlB,4BACI,4BACI,yBAAKH,MAAO,CAAE4B,QAAS,OAAQwF,cAAe,MAAO9D,MAAO,cAAegE,WAAY,SAAUD,eAAgB,eAC7G,2BACIxH,KAAK,WACL4S,QAAO,UAAExa,KAAKQ,MAAMkpB,iDAAb,SACP/Z,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAEglB,2CAA4C,EAAKlpB,MAAMkpB,6CAE3E3hB,MAAO,CAAEyH,YAAa,SAE1B,2BAAOzH,MAAO,CAAEwH,aAAc,IAAKtC,SAAU,SAA7C,uIAIZ,4BACI,4BACI,2BAAOoV,YAAa,EAAGta,MAAO,CAAEwH,aAAc,SAC1C,+BACI,4BACI,4BACI,kBAAC,EAAD,CACInF,KAAK,OACLJ,MAAM,qBACNC,YAAa,SAAC2B,GACV,EAAKlH,SAAS,CAAE4iB,kBAAmB1b,KAEvC1B,MAAK,UAAElK,KAAKQ,MAAM8mB,yBAAb,QAAkC,GACvCnd,MAAO,CAAEkB,MAAO,OAAQ2B,WAAY,kBAAmBC,SAAU,WAGzE,4BACI,kBAAC,EAAD,CACI7C,KAAK,OACLJ,MAAM,OACNC,YAAa,SAAC2B,GACV,EAAKlH,SAAS,CAAE4hB,sBAAuB1a,KAE3C1B,WAA2CxI,GAApC1B,KAAKQ,MAAM8lB,sBAAqCtmB,KAAKqmB,YAAYrmB,KAAKQ,MAAM8lB,uBAAyBtmB,KAAK0E,SAAS,CAAE4hB,sBAAuBxC,IAAyC,IAAII,MAAOyF,mBAAmB,SAAU,UACpOxf,MAAO,CAAEkB,MAAO,WAI5B,4BACI,4BACI,kBAAC,EAAD,CACIjB,KAAK,OACLJ,MAAM,wBACNC,YAAa,SAAC2B,GACV,EAAKlH,SAAS,CAAEsmB,oBAAqBpf,KAEzC1B,MAAK,UAAElK,KAAKQ,MAAMwqB,2BAAb,QAAoC,GACzC7gB,MAAO,CAAEkB,MAAO,OAAQ2B,WAAY,kBAAmBC,SAAU,WAGzE,4BACI,kBAAC,EAAD,CACI7C,KAAK,OACLJ,MAAM,OACNC,YAAa,SAAC2B,GACV,EAAKlH,SAAS,CAAEulB,wBAAyBre,KAE7C1B,WAA6CxI,GAAtC1B,KAAKQ,MAAMypB,wBAAuCjqB,KAAKqmB,YAAYrmB,KAAKQ,MAAMypB,yBAA2BjqB,KAAK0E,SAAS,CAAEulB,wBAAyBnG,IAAyC,IAAII,MAAOyF,mBAAmB,SAAU,UAC1Oxf,MAAO,CAAEkB,MAAO,kBAWxD,yBAAK7F,UAAU,yBACX,2BAAOuC,MAAO,CAAE6I,OAAQ,SACpB,+BACI,4BACI,wBAAID,MAAM,SAASE,OAAO,UACtB,4BACIrL,UAAU,gBACVuC,MAAO,CAAE8H,WAAY,UACrBrE,SAAUxL,KAAKQ,MAAM2M,QACrB9G,QAAS,WACL,EAAK8b,KAAK,KALlB,SAUJ,wBAAIxR,MAAM,SAASE,OAAO,UACrB7Q,KAAKQ,MAAMod,QAAgD,OAAtCxQ,eAAeoB,QAAQ,YAA6D,SAAtCpB,eAAeoB,QAAQ,WACvF,yCACIhJ,UAAU,gBACVuC,MAAO,CAAE8H,WAAY,UACrBrE,WAAUxL,KAAKQ,MAAM2M,QACrB9G,QAAS,WACL,EAAK8b,SALb,WAOcniB,KAAKQ,MAAM2M,UAAYnN,KAAKQ,MAAMkpB,2CAPhD,QAYA,yCACIlkB,UAAU,gBACVuC,MAAO,CAAE8H,WAAY,UACrBrE,WAAUxL,KAAKQ,MAAM2M,QACrB9G,QAAS,WACL,EAAK8b,SALb,WAOcniB,KAAKQ,MAAM2M,UAAYnN,KAAKQ,MAAMkpB,2CAPhD,aAgBxB,kBAAC,GAAD,CACI1E,WAAY,mBACZC,SAAU,4MACVE,YAAa,+CACbE,aAAa,EACbC,YAAa,2DACbF,oBAAqBplB,KAAK4pB,mBAC1BrE,oBAAqBvlB,KAAK4lB,mBAC1BV,UAAWllB,KAAKQ,MAAM0kB,eA1sC1C,2CAitCQ1d,OAAOmH,SAASzG,KAAO,kCAjtC/B,GAA4CxC,aAA/BmkB,GACFpjB,YAAcojB,GAAuBllB,KCJzC,IAAMsoB,GAAb,kDAEI,WAAYhpB,GAAQ,IAAD,8BACf,cAAMA,IAEDzD,MAAQ,CACT2M,SAAS,EACT9D,WAAW,EACXuF,aAAc,GACdC,WAAY,GACZqe,cAAe,IAGnB,EAAKjO,aAAeC,IAAMC,YAC1B,EAAKgO,iBAAmBjO,IAAMC,YAC9B,EAAKC,cAAgBF,IAAMC,YAbZ,EAFvB,gEAmBQ,IACI3O,EADe,IAAIyC,gBAAgBzL,OAAOmH,SAASlB,QAC3B5G,IAAI,MAMhC,GAJgB,MAAZ2J,GACAxQ,KAAK0E,SAAS,CAAEgb,SAAUlP,IAG1B0R,aAAa1T,QAAQ,mBAAgE,OAA3C0T,aAAa1T,QAAQ,kBAA4B,CAC3F,IAAIpD,EAAK8W,aAAa1T,QAAQ,kBAC9BxO,KAAK0E,SAAS,CAAEwoB,cAAe9hB,IAC/BpL,KAAKqf,SAASjU,MA7B1B,wCAkCQ,GAAuC,cAAnCpL,KAAKQ,MAAMmf,oBAAqC,CAChD,IAAIC,EAAI5f,KAAKQ,MAGTqf,EAFgB7f,KAAK8f,YAAYF,EAAEG,eACxB/f,KAAK8f,YAAYF,EAAEI,UAI9B1P,EAAauP,GAFL7f,KAAK8f,YAAYF,EAAEK,iBACbjgB,KAAK8f,YAAYF,EAAEM,kBAGjCC,EAAUngB,KAAKogB,eAAe9P,GAElC,GAAI6P,GAAWA,EAAQzT,WAAW,OAASyT,EAAQrX,SAAS,KACxDqX,GAAoB,WAEnB,GAAIA,EAAQzT,WAAW,MAAQyT,EAAQrX,SAAS,KAAM,CAElC,IADjB6D,EAAMwT,EAAQvT,MAAM,MAChB,GAAGlK,SACPyd,GAAoB,MAGH,GAAjBxT,EAAI,GAAGjK,SACPyd,GAAoB,KAI5B,IAAIE,EAAWrgB,KAAKogB,eAAeP,GAEnC,GAAIQ,GAAYA,EAAS3T,WAAW,OAAS2T,EAASvX,SAAS,KAC3DuX,GAAsB,WAErB,GAAIA,EAAS3T,WAAW,MAAQ2T,EAASvX,SAAS,KAAM,CACzD,IAAI6D,EACiB,IADjBA,EAAM0T,EAASzT,MAAM,MACjB,GAAGlK,SACP2d,GAAsB,MAGL,GAAjB1T,EAAI,GAAGjK,SACP2d,GAAsB,KAI9BrgB,KAAK0E,SAAS,CAAE4b,UAAWD,EAAUE,WAAYJ,OA3E7D,kCA+EgB7U,GACR,QAAa5J,GAAT4J,GAA+B,GAATA,GAAuB,MAATA,EAAe,OAAO,EAE9D,IAAIkV,EAAM,OAAGlV,QAAH,IAAGA,OAAH,EAAGA,EAAOwN,WAAWtM,QAAQ,KAAM,IAAIA,QAAQ,IAAK,IAE9D,OAAIgU,EAAO9d,OAAS,EAEF+d,MAAMD,SAAqB9e,GAAV8e,EAAuB,EAAIE,WAAWF,GAI9D,IA1FnB,qCA8FmBlV,GACX,QAAa5J,GAAT4J,EAAoB,MAAO,GAC/B,IAAIqV,EAAUrV,EAAMwN,WAAWtM,QAAQ,KAAM,IAAIA,QAAQ,IAAK,IAE1DoU,EAAM,GACNJ,EAAS,GAETK,EAAWF,EAAQ/T,MAAM,KAW7B,OAVwB,IAAZ,OAARiU,QAAQ,IAARA,OAAA,EAAAA,EAAUne,QACV8d,EAASG,EAAQ/T,MAAM,KAAK,IAEf,OAARiU,QAAQ,IAARA,OAAA,EAAAA,EAAUne,QAAS,GACxB8d,EAASG,EAAQ/T,MAAM,KAAK,GAC5BgU,EAAM,IAAMD,EAAQ/T,MAAM,KAAK,GAAGkU,UAAU,EAAG,IAG/CN,EAASG,EAETH,EAAO9d,OAAS,EACT,IAAIqe,KAAKC,kBAAatf,EAAW,CACpCqG,MAAO,WACPkZ,SAAU,MACVC,sBAAuB,EACvBC,sBAAuB,IACxBC,OAAOZ,GAAUI,OANxB,IAhHR,6BA0HY,IAAD,OACH,IAAK,IAAD,oBACIhX,EAAO,GAgCX,QA/B+BlI,IAA3B1B,KAAKQ,MAAM6gB,aAAgE,KAAnC,UAAArhB,KAAKQ,MAAM6gB,mBAAX,eAAwB3e,SAChEkH,EAAK3H,KAAK,0CAEeP,IAAzB1B,KAAKQ,MAAM8gB,WAA4D,KAAjC,UAAAthB,KAAKQ,MAAM8gB,iBAAX,eAAsB5e,SAC5DkH,EAAK3H,KAAK,2CAEyBP,IAAnC1B,KAAKQ,MAAMmf,qBAAgF,KAA3C,UAAA3f,KAAKQ,MAAMmf,2BAAX,eAAgCjd,SAChFkH,EAAK3H,KAAK,yBAEyB,cAAnCjC,KAAKQ,MAAMmf,0BAAiEje,IAAzB1B,KAAKQ,MAAM+gB,WAA4D,KAAjC,UAAAvhB,KAAKQ,MAAM+gB,iBAAX,eAAsB7e,SAC/GkH,EAAK3H,KAAK,gBAEyB,aAAnCjC,KAAKQ,MAAMmf,0BAAmEje,IAA7B1B,KAAKQ,MAAMghB,eAAoE,KAArC,UAAAxhB,KAAKQ,MAAMghB,qBAAX,eAA0B9e,UACrHkH,EAAK3H,KAAK,kCAEmB,WAA7BjC,KAAKQ,MAAMghB,oBAAyD9f,IAA1B1B,KAAKQ,MAAMihB,YAA8D,KAAlC,UAAAzhB,KAAKQ,MAAMihB,kBAAX,eAAuB/e,SACxGkH,EAAK3H,KAAK,sBAEyB,aAAnCjC,KAAKQ,MAAMmf,0BAAoEje,IAA7B1B,KAAKQ,MAAMuf,eAAoE,KAArC,UAAA/f,KAAKQ,MAAMuf,qBAAX,eAA0Brd,SACtHkH,EAAK3H,KAAK,kBAEyB,cAAnCjC,KAAKQ,MAAMmf,0BAAkEje,IAA1B1B,KAAKQ,MAAM+f,YAA8D,KAAlC,UAAAvgB,KAAKQ,MAAM+f,kBAAX,eAAuB7d,SACjHkH,EAAK3H,KAAK,eAEkB,KAA5B,UAAAjC,KAAKQ,MAAMkhB,YAAX,eAAiBhf,cAAoChB,IAApB1B,KAAKQ,MAAMkhB,MAC5C9X,EAAK3H,KAAK,QAEU,IAApBjC,KAAKQ,MAAMkhB,WAAwChgB,IAAzB1B,KAAKQ,MAAMmhB,WAA4D,KAAjC,UAAA3hB,KAAKQ,MAAMmhB,iBAAX,eAAsBjf,SACtFkH,EAAK3H,KAAK,oBAGK,GAAf2H,EAAKlH,OACL1C,KAAK0E,SAAS,CAAEyI,SAAS,IACbvG,IAENG,KAAK,4DAA6D/G,KAAKQ,OACxE+M,MAAK,SAACnC,GACCA,GACA,EAAK1G,SAAS,CAAEyI,SAAS,EAAOigB,SAAU,MAC1ClL,aAAa1U,QAAQ,iBAAkBpC,EAAGiiB,eAC1C7lB,OAAOmH,SAASzG,KAAO,yBAGvB,EAAKxD,SAAS,CACV2E,WAAW,EACXuF,aAAc,+DACdzB,SAAS,YAMzBnN,KAAK0E,SAAS,CACV2E,WAAW,EACXuF,aAAc,qCACdC,WAAYjF,IAIxB,MAAOV,GACHlJ,KAAK0E,SAAS,CAAEyI,SAAS,IACzBrM,QAAQC,IAAI,UAAYmI,MA1LpC,+BA8LakC,GAAK,IAAD,OACT,IACIpL,KAAK0E,SAAS,CAAEyI,SAAS,IACbvG,IACNC,IAAI,+DAAiEuE,GACtEmC,MAAK,SAACzL,GAAU,IAAD,EACZ,IAAI,UAAAA,EAAKurB,qBAAL,eAAoB3qB,QAAS,EAAG,CAChC,IAAIkf,EAAS,EAAKphB,MAClB,IAAK,IAAMsJ,KAAOhI,EACd,GAAiB,MAAbA,EAAKgI,GAAc,CACnB,IAAI+X,EAAO/X,EAAIgY,OAAO,GAAGC,cAAgBjY,EAAIkY,MAAM,GAC/CxB,EAAS1e,EAAKgI,GAClB8X,EAAOC,GAAP,OAAerB,QAAf,IAAeA,OAAf,EAAeA,EAAQ1H,WAG/B,EAAKpU,SAASkd,GAAQ,WAClB5hB,KAAKiiB,kBACLC,aAAa1U,QAAQ,WAAYxN,KAAKQ,MAAM6gB,aAC5CrhB,KAAK0E,SAAS,CAAEyI,SAAS,YAI7B,EAAKzI,SAAS,CAAEyI,SAAS,IACzB+U,aAAa7U,WAAW,qBAIxC,MAAOnE,GACHlJ,KAAK0E,SAAS,CAAEyI,SAAS,IACzBrM,QAAQC,IAAI,cAAgBmI,MA3NxC,+BA+Nc,IAAD,6BACL,OACI,yBAAK1D,UAAU,iBACX,kBAAC,EAAD,CACI4D,UAAWpJ,KAAKQ,MAAMoO,aACtBtF,UAAWtJ,KAAKQ,MAAMqO,WACtBxF,UAAWrJ,KAAKQ,MAAM6I,UACtBE,aAAc,kBAAM,EAAK7E,SAAS,CAAE2E,WAAW,KAC/CG,mBAAoB,MAExB,yBAAKhE,UAAU,+BACa,IAAvBxF,KAAKQ,MAAM2M,QACR,6BACI,kBAAC2B,EAAA,EAAD,CAASC,MAAM,OAAOpI,SAAS,GAAGoB,MAAO,CAAEiH,SAAU,QAASC,IAAK,MAAOC,KAAM,UAElF,KAEN,2BAAOkT,YAAa,EAAGC,YAAa,GAChC,+BACI,4BACI,wBAAI1R,MAAM,OAAOD,QAAS,GACtB,2BAAO3I,MAAO,CAAEkF,SAAU,OAAQ0R,WAAY,MAAO5P,MAAO,YAA5D,wBAGR,4BACI,wBAAI4B,MAAM,QAAV,8BAGA,wBAAIA,MAAM,QACN,2BAAO/I,KAAK,OAAO+H,SAAU,SAAC/D,GAAD,OAAO,EAAKlH,SAAS,CAAE4d,YAAa1W,EAAEC,OAAOP,SAAUA,MAAK,UAAEtL,KAAKQ,MAAM8hB,mBAAb,QAA4B,OAG7H,4BACI,wBAAI3R,MAAM,QAAV,qCAGA,wBAAIA,MAAM,QACN,yBAAKnL,UAAU,cACX,2BAAOoC,KAAK,QACRjD,KAAK,UACLoD,MAAO,CAAEyH,YAAa,OACtBgL,QAAoC,eAA3Bxa,KAAKQ,MAAM6gB,YACpB1R,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAE2c,YAAazV,EAAEC,OAAO2O,QAAU,aAAe,EAAKha,MAAM6gB,cAC1Ea,aAAa1U,QAAQ,WAAY,eAErClC,MAAK,UAAEtL,KAAKQ,MAAM6gB,mBAAb,WAET,2BAAOtZ,MAAO,CAAEyH,YAAa,OAAQD,aAAc,IAAKG,cAAe,WAAvE,cACA,2BAAO9H,KAAK,QACRjD,KAAK,UACLoD,MAAO,CAAEyH,YAAa,OACtBgL,QAAoC,YAA3Bxa,KAAKQ,MAAM6gB,YACpB1R,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAE2c,YAAazV,EAAEC,OAAO2O,QAAU,UAAY,EAAKha,MAAM6gB,cACvEa,aAAa1U,QAAQ,WAAY,YAErClC,MAAK,UAAEtL,KAAKQ,MAAM6gB,mBAAb,WAET,2BAAOtZ,MAAO,CAAEwH,aAAc,IAAKG,cAAe,WAAlD,YAIZ,4BACI,wBAAIiB,MAAM,QAAV,sCAGA,wBAAIA,MAAM,QACN,yBAAKnL,UAAU,cACX,2BAAOoC,KAAK,QACRjD,KAAK,YACLoD,MAAO,CAAEyH,YAAa,OACtBgL,QAAkC,eAAzBxa,KAAKQ,MAAM8gB,UACpB3R,SAAU,SAAC/D,GAAD,OAAO,EAAKlH,SAAS,CAAE4c,UAAW1V,EAAEC,OAAO2O,QAAU,aAAe,EAAKha,MAAM8gB,aACzFhW,MAAK,UAAEtL,KAAKQ,MAAM8gB,iBAAb,WAET,6CACA,2BAAO1Z,KAAK,QACRjD,KAAK,YACLoD,MAAO,CAAEyH,YAAa,OACtBgL,QAAkC,QAAzBxa,KAAKQ,MAAM8gB,UACpB3R,SAAU,SAAC/D,GAAD,OAAO,EAAKlH,SAAS,CAAE4c,UAAW1V,EAAEC,OAAO2O,QAAU,MAAQ,EAAKha,MAAM8gB,aAClFhW,MAAK,UAAEtL,KAAKQ,MAAM8gB,iBAAb,WAET,sCACA,2BAAO1Z,KAAK,QACRjD,KAAK,YACLoD,MAAO,CAAEyH,YAAa,OACtBgL,QAAkC,UAAzBxa,KAAKQ,MAAM8gB,UACpB3R,SAAU,SAAC/D,GAAD,OAAO,EAAKlH,SAAS,CAAE4c,UAAW1V,EAAEC,OAAO2O,QAAU,QAAU,EAAKha,MAAM8gB,aACpFhW,MAAK,UAAEtL,KAAKQ,MAAM8gB,iBAAb,WAET,2CAIZ,4BACI,wBAAI3Q,MAAM,QAAV,gCACiC,6BADjC,iCAGA,wBAAIA,MAAM,QACN,yBAAKnL,UAAU,cACX,2BAAOoC,KAAK,QACRjD,KAAK,WACLoD,MAAO,CAAEyH,YAAa,OACtBgL,QAAgD,QAAvCxa,KAAKQ,MAAM+hB,wBACpB5S,SAAU,SAAC/D,GAAD,OAAO,EAAKlH,SAAS,CAAE6d,wBAAyB,WAG9D,sCACA,2BAAO3a,KAAK,QACRjD,KAAK,WACLoD,MAAO,CAAEyH,YAAa,OACtBgL,QAAgD,OAAvCxa,KAAKQ,MAAM+hB,wBACpB5S,SAAU,SAAC/D,GAAD,OAAO,EAAKlH,SAAS,CAAE6d,wBAAyB,UAG9D,wCAIZ,4BACI,wBAAI7R,QAAS,EAAG3I,MAAO,CAAEya,aAAc,iBAAkBC,WAAY,OAAQlT,aAAc,WAG/F,4BACI,wBAAIoB,MAAM,OAAO5I,MAAO,CAAE0a,WAAY,SAAtC,0BAGA,wBAAI9R,MAAM,OAAO5I,MAAO,CAAE0a,WAAY,SAClC,yBAAKjd,UAAU,cACX,2BAAOoC,KAAK,QACRjD,KAAK,WACLoD,MAAO,CAAEyH,YAAa,OACtBgL,QAA4C,aAAnCxa,KAAKQ,MAAMmf,oBACpBhQ,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CACVib,oBAAqB,WACrBY,gBAAY7e,OAKxB,2CACA,2BAAOkG,KAAK,QACRjD,KAAK,WACLoD,MAAO,CAAEyH,YAAa,OACtBgL,QAA4C,cAAnCxa,KAAKQ,MAAMmf,oBACpBhQ,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAEib,oBAAqB,cACjC,WAC2C,cAAnC3f,KAAKQ,MAAMmf,sBACX3f,KAAK0E,SAAS,CACVib,oBAAqB,YACrB4B,eAAW7f,EACX8f,mBAAe9f,EACf+f,gBAAY/f,EACZqe,mBAAere,EACfse,cAAUte,EACV4e,eAAW5e,EACXue,qBAAiBve,EACjBwe,qBAAiBxe,EACjB6e,gBAAY7e,IAEhB1B,KAAKof,cAAc3D,QAAQiH,eAM/C,+CAIZ,4BACI,wBAAI/R,MAAM,QAAV,gBAGA,wBAAIA,MAAM,QACN,yBAAKnL,UAAU,cACX,2BAAOoC,KAAK,QACRjD,KAAK,MACLoD,MAAO,CAAEyH,YAAa,OACtBgL,QAA4C,cAAnCxa,KAAKQ,MAAMmf,yBAAsCje,EAAqC,QAAzB1B,KAAKQ,MAAM+gB,UACjF5R,SAAU,SAAC/D,GAAD,OAAO,EAAKlH,SAAS,CAAE6c,UAAW,SAC5C/V,SAA6C,cAAnCxL,KAAKQ,MAAMmf,sBAGzB,sCACA,2BAAO/X,KAAK,QACRjD,KAAK,MACLoD,MAAO,CAAEyH,YAAa,OACtBgL,QAA4C,cAAnCxa,KAAKQ,MAAMmf,yBAAsCje,EAAqC,SAAzB1B,KAAKQ,MAAM+gB,UACjF5R,SAAU,SAAC/D,GAAD,OAAO,EAAKlH,SAAS,CAAE6c,UAAW,UAC5C/V,SAA6C,cAAnCxL,KAAKQ,MAAMmf,sBAGzB,0CAIZ,4BACI,wBAAIhP,MAAM,QAAV,mCAGA,wBAAIA,MAAM,QACN,yBAAKnL,UAAU,cACX,2BAAOoC,KAAK,QACRjD,KAAK,SACLoD,MAAO,CAAEyH,YAAa,OACtBgL,QAA4C,cAAnCxa,KAAKQ,MAAMmf,yBAAsCje,EAAyC,WAA7B1B,KAAKQ,MAAMghB,cACjF7R,SAAU,SAAC/D,GAAD,OAAO,EAAKlH,SAAS,CAAE8c,cAAe,YAChDhW,SAA6C,cAAnCxL,KAAKQ,MAAMmf,sBAGzB,gDAC8B,WAA7B3f,KAAKQ,MAAMghB,eAAiE,cAAnCxhB,KAAKQ,MAAMmf,oBACjD,2BAAO/X,KAAK,OACR+H,SAAU,SAAC/D,GAAD,OAAO,EAAKlH,SAAS,CAAE+c,WAAY7V,EAAEC,OAAOP,SACtDA,MAAK,UAAEtL,KAAKQ,MAAMihB,kBAAb,QAA2B,GAChC7R,YAAY,mBACZ7H,MAAO,CAAEyH,YAAa,MAAOD,aAAc,KAC3C/D,SAA6C,cAAnCxL,KAAKQ,MAAMmf,sBAEvB,KACN,2BAAO/X,KAAK,QACRjD,KAAK,SACLoD,MAAO,CAAEyH,YAAa,OACtBgL,QAA4C,cAAnCxa,KAAKQ,MAAMmf,yBAAsCje,EAAyC,YAA7B1B,KAAKQ,MAAMghB,cACjF7R,SAAU,SAAC/D,GAAD,OAAO,EAAKlH,SAAS,CAAE8c,cAAe,aAChDhW,SAA6C,cAAnCxL,KAAKQ,MAAMmf,sBAGzB,mDAIZ,4BACI,wBAAIhP,MAAM,QAAV,kBAGA,wBAAIA,MAAM,QACN,8BAAO/I,KAAK,OACRgb,IAAK5iB,KAAKmtB,iBACVxd,SAAU,SAAC/D,GACP,IAAI+W,EAAoB/W,EAAEC,OAAOP,MACjC,EAAK5G,SAAS,CAAEqb,cAAa,OAAE4C,QAAF,IAAEA,OAAF,EAAEA,EAAmB7J,aAC9C,WACI9Y,KAAKiiB,sBAGjB3W,MAAOtL,KAAKogB,eAAepgB,KAAKQ,MAAMuf,eACtCtT,OAAQ,aAERX,WAAY,SAACC,GAET,GADY,cACDC,KAAKD,EAAMjC,KAIlB,OAAO,EAHPiC,EAAME,kBAMdG,QAAS,SAACL,GACN,IAAIM,EAAYN,EAAMO,cAAcC,QAAQ,QACxCF,GACAA,EAAUG,QAAQ,eAAgB,MAxB9C,yBA2BY,SAACZ,GACL,IAAIO,EAAM,EAAK3L,MAAMuf,cACrB,GAAInU,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,OAASd,EAAEC,OAAOP,MAAMxC,SAAS,KAC7EqD,GAAY,WAEX,GAAIP,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,MAAQd,EAAEC,OAAOP,MAAMxC,SAAS,KAAM,CACvF,IAAI6D,EAAMf,EAAEC,OAAOP,MAAMsB,MAAM,KACV,GAAjBD,EAAI,GAAGjK,SACPyJ,GAAY,MAGK,GAAjBQ,EAAI,GAAGjK,SACPyJ,GAAY,KAGpB,EAAKzH,SAAS,CACVqb,cAAe5T,OA3C3B,0BA8CiD,cAAnCnM,KAAKQ,MAAMmf,qBA9CzB,MAkDR,4BACI,wBAAIhP,MAAM,QAAV,aAGA,wBAAIA,MAAM,QACN,8BAAO/I,KAAK,OACR+H,SAAU,SAAC/D,GACP,IAAI+W,EAAoB/W,EAAEC,OAAOP,MACjC,EAAK5G,SAAS,CAAEsb,SAAQ,OAAE2C,QAAF,IAAEA,OAAF,EAAEA,EAAmB7J,aACzC,WACI9Y,KAAKiiB,sBAGjB3W,MAAOtL,KAAKogB,eAAepgB,KAAKQ,MAAMwf,UACtCvT,OAAQ,aAERX,WAAY,SAACC,GAET,GADY,cACDC,KAAKD,EAAMjC,KAIlB,OAAO,EAHPiC,EAAME,kBAMdG,QAAS,SAACL,GAEN,IAAIM,EAAYN,EAAMO,cAAcC,QAAQ,QACxCF,GACAA,EAAUG,QAAQ,eAAgB,MAxB9C,yBA4BY,SAACZ,GACL,IAAIO,EAAM,EAAK3L,MAAMwf,SACrB,GAAIpU,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,OAASd,EAAEC,OAAOP,MAAMxC,SAAS,KAC7EqD,GAAY,WAEX,GAAIP,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,MAAQd,EAAEC,OAAOP,MAAMxC,SAAS,KAAM,CACvF,IAAI6D,EAAMf,EAAEC,OAAOP,MAAMsB,MAAM,KACV,GAAjBD,EAAI,GAAGjK,SACPyJ,GAAY,MAGK,GAAjBQ,EAAI,GAAGjK,SACPyJ,GAAY,KAGpB,EAAKzH,SAAS,CACVsb,SAAU7T,OA5CtB,0BA+CiD,cAAnCnM,KAAKQ,MAAMmf,qBA/CzB,MAmDR,4BACI,wBAAIhP,MAAM,QAAV,cAGA,wBAAIA,MAAM,QACN,8BAAO/I,KAAK,OACR+H,SAAU,SAAC/D,GACP,IAAI+W,EAAoB/W,EAAEC,OAAOP,MACjC,EAAK5G,SAAS,CAAE4b,UAAS,OAAEqC,QAAF,IAAEA,OAAF,EAAEA,EAAmB7J,aAC1C,WACI9Y,KAAKiiB,sBAGjB3W,MAAOtL,KAAKogB,eAAepgB,KAAKQ,MAAM8f,WACtC7T,OAAQ,aAGRX,WAAY,SAACC,GAET,GADY,cACDC,KAAKD,EAAMjC,KAIlB,OAAO,EAHPiC,EAAME,kBAMdG,QAAS,SAACL,GAEN,IAAIM,EAAYN,EAAMO,cAAcC,QAAQ,QACxCF,GACAA,EAAUG,QAAQ,eAAgB,MAzB9C,yBA6BY,SAACZ,GACL,IAAIO,EAAM,EAAK3L,MAAM8f,UACrB,GAAI1U,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,OAASd,EAAEC,OAAOP,MAAMxC,SAAS,KAC7EqD,GAAY,WAEX,GAAIP,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,MAAQd,EAAEC,OAAOP,MAAMxC,SAAS,KAAM,CACvF,IAAI6D,EAAMf,EAAEC,OAAOP,MAAMsB,MAAM,KACV,GAAjBD,EAAI,GAAGjK,SACPyJ,GAAY,MAGK,GAAjBQ,EAAI,GAAGjK,SACPyJ,GAAY,KAGpB,EAAKzH,SAAS,CACV4b,UAAWnU,OA7CvB,0BAgDiD,cAAnCnM,KAAKQ,MAAMmf,qBAhDzB,MAoDR,4BACI,wBAAIhP,MAAM,QAAV,qBAGA,wBAAIA,MAAM,QACN,8BAAO/I,KAAK,OACR+H,SAAU,SAAC/D,GACP,IAAI+W,EAAoB/W,EAAEC,OAAOP,MACjC,EAAK5G,SAAS,CAAEub,gBAAe,OAAE0C,QAAF,IAAEA,OAAF,EAAEA,EAAmB7J,aAChD,WACI9Y,KAAKiiB,sBAGjB3W,MAAOtL,KAAKogB,eAAepgB,KAAKQ,MAAMyf,iBACtCxT,OAAQ,aAERX,WAAY,SAACC,GAET,GADY,cACDC,KAAKD,EAAMjC,KAIlB,OAAO,EAHPiC,EAAME,kBAMdG,QAAS,SAACL,GACN,IAAIM,EAAYN,EAAMO,cAAcC,QAAQ,QACxCF,GACAA,EAAUG,QAAQ,eAAgB,MAvB9C,yBA0BY,SAACZ,GACL,IAAIO,EAAM,EAAK3L,MAAMyf,gBACrB,GAAIrU,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,OAASd,EAAEC,OAAOP,MAAMxC,SAAS,KAC7EqD,GAAY,WAEX,GAAIP,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,MAAQd,EAAEC,OAAOP,MAAMxC,SAAS,KAAM,CACvF,IAAI6D,EAAMf,EAAEC,OAAOP,MAAMsB,MAAM,KACV,GAAjBD,EAAI,GAAGjK,SACPyJ,GAAY,MAGK,GAAjBQ,EAAI,GAAGjK,SACPyJ,GAAY,KAGpB,EAAKzH,SAAS,CACVub,gBAAiB9T,OA1C7B,0BA6CiD,cAAnCnM,KAAKQ,MAAMmf,qBA7CzB,MAiDR,4BACI,wBAAIhP,MAAM,QAAV,qBAGA,wBAAIA,MAAM,QACN,2BAAO/I,KAAK,OACR+H,SAAU,SAAC/D,GACP,IAAI+W,EAAoB/W,EAAEC,OAAOP,MACjC,EAAK5G,SAAS,CAAEwb,gBAAe,OAAEyC,QAAF,IAAEA,OAAF,EAAEA,EAAmB7J,aAChD,WACI9Y,KAAKiiB,sBAGjB3W,MAAOtL,KAAKogB,eAAepgB,KAAKQ,MAAM0f,iBACtCpU,WAAY,SAACC,GAET,GADY,cACDC,KAAKD,EAAMjC,KAIlB,OAAO,EAHPiC,EAAME,kBAMdG,QAAS,SAACL,GAEN,IAAIM,EAAYN,EAAMO,cAAcC,QAAQ,QACxCF,GACAA,EAAUG,QAAQ,eAAgB,KAI1CC,OAAQ,SAACb,GACL,IAAIO,EAAM,EAAK3L,MAAM0f,gBACrB,GAAItU,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,OAASd,EAAEC,OAAOP,MAAMxC,SAAS,KAC7EqD,GAAY,WAEX,GAAIP,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,MAAQd,EAAEC,OAAOP,MAAMxC,SAAS,KAAM,CACvF,IAAI6D,EAAMf,EAAEC,OAAOP,MAAMsB,MAAM,KACV,GAAjBD,EAAI,GAAGjK,SACPyJ,GAAY,MAGK,GAAjBQ,EAAI,GAAGjK,SACPyJ,GAAY,KAGpB,EAAKzH,SAAS,CACVwb,gBAAiB/T,KAGzBX,SAA6C,cAAnCxL,KAAKQ,MAAMmf,wBAIjC,4BACI,wBAAIhP,MAAM,QAAV,eAGA,wBAAIA,MAAM,QACN,2BACIiS,IAAK5iB,KAAKof,cACVxX,KAAK,OACL+H,SAAU,SAAC/D,GACP,IAAI+W,EAAoB/W,EAAEC,OAAOP,MACjC,EAAK5G,SAAS,CAAE6b,WAAU,OAAEoC,QAAF,IAAEA,OAAF,EAAEA,EAAmB7J,cAEnDxN,MAAOtL,KAAKogB,eAAepgB,KAAKQ,MAAM+f,YACtC9T,OAAQ,SAACb,GACL,IAAIO,EAAM,EAAK3L,MAAM+f,WACrB,GAAI3U,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,OAASd,EAAEC,OAAOP,MAAMxC,SAAS,KAC7EqD,GAAY,WAEX,GAAIP,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,MAAQd,EAAEC,OAAOP,MAAMxC,SAAS,KAAM,CACvF,IAAI6D,EAAMf,EAAEC,OAAOP,MAAMsB,MAAM,KACV,GAAjBD,EAAI,GAAGjK,SACPyJ,GAAY,MAGK,GAAjBQ,EAAI,GAAGjK,SACPyJ,GAAY,KAGpB,EAAKzH,SAAS,CACV6b,WAAYpU,SAMhC,4BACI,wBAAIwE,MAAM,QAAV,QAGA,wBAAIA,MAAM,QACN,yBAAKnL,UAAU,cACX,2BAAOoC,KAAK,QACRjD,KAAK,OACLoD,MAAO,CAAEyH,YAAa,OACtBgL,QAA6B,OAApBxa,KAAKQ,MAAMkhB,KACpB/R,SAAU,SAAC/D,GAAD,OAAO,EAAKlH,SAAS,CAAEgd,KAAM9V,EAAEC,OAAO2O,QAAU,UAAO9Y,EAAWigB,UAAW,QAE3F,2CACA,2BAAO/Z,KAAK,QACRjD,KAAK,OACLoD,MAAO,CAAEyH,YAAa,OACtBgL,QAA6B,OAApBxa,KAAKQ,MAAMkhB,KACpB/R,SAAU,SAAC/D,GAAD,OAAO,EAAKlH,SAAS,CAAEgd,KAAM9V,EAAEC,OAAO2O,QAAU,UAAO9Y,EAAWigB,UAAW,QAE3F,2CACA,2BAAO/Z,KAAK,QACRjD,KAAK,OACLoD,MAAO,CAAEyH,YAAa,OACtBgL,QAA6B,OAApBxa,KAAKQ,MAAMkhB,KACpB/R,SAAU,SAAC/D,GAAD,OAAO,EAAKlH,SAAS,CAAEgd,KAAM9V,EAAEC,OAAO2O,QAAU,UAAO9Y,EAAWigB,UAAW,QAE3F,2CACA,2BAAO/Z,KAAK,QACRjD,KAAK,OACLoD,MAAO,CAAEyH,YAAa,OACtBgL,QAA6B,MAApBxa,KAAKQ,MAAMkhB,KACpB/R,SAAU,SAAC/D,GACHA,EAAEC,OAAO2O,SACT,EAAKyE,aAAaxD,QAAQiH,QAE9B,EAAKhe,SAAS,CAAEgd,KAAM,SAG9B,wCACA,2BAAO9Z,KAAK,OACRgb,IAAK5iB,KAAKif,aACVlX,MAAO,CAAEsD,MAAO,OAAQkE,aAAc,KACtChE,UAAW,EACXoE,SAAU,SAAC/D,GAAD,OAAO,EAAKlH,SAAS,CAAEid,UAAW/V,EAAEC,OAAOP,SACrDA,MAAOtL,KAAKQ,MAAMmhB,iBAO1C,2BAAOU,YAAa,EAAGD,YAAa,GAChC,+BACI,4BACI,wBAAI1R,QAAS,GACT,2BAAO2R,YAAa,EAAGD,YAAa,GAChC,+BACI,4BACI,wBAAIra,MAAO,CAAEkF,SAAU,OAAQ0R,WAAY,MAAO8D,WAAY,QAAU9R,MAAM,QAA9E,mBAIJ,4BACI,4BACI,kBAAC,EAAD,CACIvG,KAAK,SACLJ,MAAM,aAENK,cAAe,EACfJ,YAAa,SAAC2B,GACV,EAAKlH,SAAS,CAAEme,WAAiB,IAALjX,EAAU,KAAOA,KAEjD1B,MAAOlK,KAAKQ,MAAMqiB,WAClB1Y,MAAO,CAAEkB,MAAO,YAGxB,4BACI,kBAAC,EAAD,CAAWzD,KAAK,OACZwC,KAAK,OACLH,YAAa,SAAC2B,GAAD,OAAO,EAAKlH,SAAS,CAAEoJ,mBAAoBlC,KACxD1B,MAAOlK,KAAKQ,MAAMsN,mBAClB9D,MAAM,yBACNG,MAAO,CAAEkB,MAAO,YAGxB,4BACI,kBAAC,EAAD,CAAWzD,KAAK,OACZwC,KAAK,OACLH,YAAa,SAAC2B,GAAD,OAAO,EAAKlH,SAAS,CAAEoe,YAAalX,KACjD1B,MAAOlK,KAAKQ,MAAMsiB,YAClB9Y,MAAM,QACNG,MAAO,CAAEkB,MAAO,iBAQ5C,4BACI,wBAAIqF,QAAS,GACT,2BAAO2R,YAAa,EAAGD,YAAa,GAChC,+BACI,4BACI,4BACI,kBAAC,EAAD,CACIhY,KAAK,SACLH,YAAa,SAAC2B,GAAD,OAAO,EAAKlH,SAAS,CAAEqe,aAAmB,IAALnX,EAAU,KAAOA,KACnE1B,MAAOlK,KAAKQ,MAAMuiB,aAClB/Y,MAAM,SACNG,MAAO,CAAEkB,MAAO,YAGxB,4BACI,kBAAC,EAAD,CACIjB,KAAK,OACLH,YAAa,SAAC2B,GAAD,OAAO,EAAKlH,SAAS,CAAEse,WAAYpX,KAChD1B,MAAOlK,KAAKQ,MAAMwiB,WAClBhZ,MAAM,yCACNG,MAAO,CAAEkB,MAAO,iBAQ5C,4BACI,wBAAIqF,QAAS,GACT,2BAAO2R,YAAa,EAAGD,YAAa,GAChC,+BACI,4BACI,4BACI,kBAAC,EAAD,CACIhY,KAAK,OACLH,YAAa,SAAC2B,GAAD,OAAO,EAAKlH,SAAS,CAAEue,yBAA0BrX,KAC9D1B,MAAOlK,KAAKQ,MAAMyiB,yBAClBjZ,MAAM,yBACNG,MAAO,CAAEkB,MAAO,YAGxB,4BACI,kBAAC,EAAD,CACIjB,KAAK,SACLH,YAAa,SAAC2B,GAAD,OAAO,EAAKlH,SAAS,CAAEwe,SAAUtX,KAC9C1B,MAAOlK,KAAKQ,MAAM0iB,SAClBlZ,MAAM,aACNG,MAAO,CAAEkB,MAAO,iBAQ5C,4BACI,wBAAIqF,QAAS,GACT,2BAAO2R,YAAa,EAAGD,YAAa,GAChC,+BACI,4BACI,wBAAIzR,MAAM,OAAO5I,MAAO,CAAEkF,SAAU,OAAQ0R,WAAY,QAAxD,QAGA,wBAAIhO,MAAM,QACN,yBAAKnL,UAAU,cACX,2BAAOoC,KAAK,QACRjD,KAAK,OACLoD,MAAO,CAAEyH,YAAa,OACtBgL,QAAyC,WAAhCxa,KAAKQ,MAAM2iB,iBACpBxT,SAAU,SAAC/D,GAAD,OAAO,EAAKlH,SAAS,CAAEye,iBAAkBvX,EAAEC,OAAO2O,QAAU,cAAW9Y,OAErF,yCACA,2BAAOkG,KAAK,QACRjD,KAAK,OACLoD,MAAO,CAAEyH,YAAa,OACtBgL,QAAyC,SAAhCxa,KAAKQ,MAAM2iB,iBACpBxT,SAAU,SAAC/D,GAAD,OAAO,EAAKlH,SAAS,CAAEye,iBAAkBvX,EAAEC,OAAO2O,QAAU,YAAS9Y,OAEnF,2BAAOqG,MAAO,CAAEyH,YAAa,SAA7B,QACA,2BAAO5H,KAAK,QACRjD,KAAK,OACLoD,MAAO,CAAEyH,YAAa,OACtBgL,QAAyC,WAAhCxa,KAAKQ,MAAM2iB,iBACpBxT,SAAU,SAAC/D,GAAD,OAAO,EAAKlH,SAAS,CAAEye,iBAAkBvX,EAAEC,OAAO2O,QAAU,cAAW9Y,OAErF,2BAAOqG,MAAO,CAAEyH,YAAa,SAA7B,UACA,2BAAO5H,KAAK,QACRjD,KAAK,OACLoD,MAAO,CAAEyH,YAAa,OACtBgL,QAAyC,SAAhCxa,KAAKQ,MAAM2iB,iBACpBxT,SAAU,SAAC/D,GAAD,OAAO,EAAKlH,SAAS,CAAEye,iBAAkBvX,EAAEC,OAAO2O,QAAU,YAAS9Y,OAEnF,0CAIZ,4BACI,wBAAIiP,MAAM,OAAO5I,MAAO,CAAEkF,SAAU,OAAQ0R,WAAY,QAAxD,QAGA,wBAAIhO,MAAM,QACN,yBAAKnL,UAAU,cACX,2BAAOoC,KAAK,QACRjD,KAAK,OACLoD,MAAO,CAAEyH,YAAa,OACtBgL,QAAyC,QAAhCxa,KAAKQ,MAAM4iB,iBACpBzT,SAAU,SAAC/D,GAAD,OAAO,EAAKlH,SAAS,CAAE0e,iBAAkBxX,EAAEC,OAAO2O,QAAU,WAAQ9Y,OAElF,2BAAOqG,MAAO,CAAEyH,YAAa,SAA7B,OACA,2BAAO5H,KAAK,QACRjD,KAAK,OACLoD,MAAO,CAAEyH,YAAa,OACtBgL,QAAyC,WAAhCxa,KAAKQ,MAAM4iB,iBACpBzT,SAAU,SAAC/D,GAAD,OAAO,EAAKlH,SAAS,CAAE0e,iBAAkBxX,EAAEC,OAAO2O,QAAU,cAAW9Y,OAErF,yCACA,2BAAOkG,KAAK,QACRjD,KAAK,OACLoD,MAAO,CAAEyH,YAAa,OACtBgL,QAAyC,aAAhCxa,KAAKQ,MAAM4iB,iBACpBzT,SAAU,SAAC/D,GAAD,OAAO,EAAKlH,SAAS,CAAE0e,iBAAkBxX,EAAEC,OAAO2O,QAAU,gBAAa9Y,OAEvF,kDAQ5B,4BACI,wBAAIgP,QAAS,GACT,2BAAO2R,YAAa,EAAGD,YAAa,GAChC,+BACI,4BACI,wBAAI1R,QAAS,EAAG3I,MAAO,CAAEkF,SAAU,OAAQ0R,WAAY,MAAO8D,WAAY,QAAU9R,MAAM,QAA1F,wBAIJ,4BACI,4BACI,kBAAC,EAAD,CACIvG,KAAK,SACLH,YAAa,SAAC2B,GAAD,OAAO,EAAKlH,SAAS,CAAE2e,YAAkB,IAALzX,EAAU,KAAOA,KAClE1B,MAAOlK,KAAKQ,MAAM6iB,YAClBrZ,MAAM,eACNG,MAAO,CAAEkB,MAAO,SAChBhB,cAAe,KAGvB,4BACI,kBAAC,EAAD,CACID,KAAK,OACLH,YAAa,SAAC2B,GAAD,OAAO,EAAKlH,SAAS,CAAE4e,YAAa1X,KACjD1B,MAAOlK,KAAKQ,MAAM8iB,YAClBtZ,MAAM,uBACNG,MAAO,CAAEkB,MAAO,YAGxB,4BACI,kBAAC,EAAD,CACIjB,KAAK,OACLH,YAAa,SAAC2B,GAAD,OAAO,EAAKlH,SAAS,CAAE6e,aAAc3X,KAClD1B,MAAOlK,KAAKQ,MAAM+iB,aAClBvZ,MAAM,gBACNG,MAAO,CAAEkB,MAAO,iBAQ5C,4BACI,wBAAIqF,QAAS,GACT,2BAAO2R,YAAa,EAAGD,YAAa,GAChC,+BACI,4BACI,wBAAI1R,QAAS,EAAG3I,MAAO,CAAEkF,SAAU,OAAQ0R,WAAY,MAAO8D,WAAY,QAAU9R,MAAM,QAA1F,2BAIJ,4BACI,4BACI,kBAAC,EAAD,CACIvG,KAAK,SACLH,YAAa,SAAC2B,GAAD,OAAO,EAAKlH,SAAS,CAAE8e,UAAgB,IAAL5X,EAAU,KAAOA,KAChE1B,MAAOlK,KAAKQ,MAAMgjB,UAClBxZ,MAAM,aACNG,MAAO,CAAEkB,MAAO,SAChBhB,cAAe,KAGvB,4BACI,kBAAC,EAAD,CACID,KAAK,OACLH,YAAa,SAAC2B,GAAD,OAAO,EAAKlH,SAAS,CAAE+e,kBAAmB7X,KACvD1B,MAAOlK,KAAKQ,MAAMijB,kBAClBzZ,MAAM,qBACNG,MAAO,CAAEkB,MAAO,YAGxB,4BACI,kBAAC,EAAD,CACIjB,KAAK,OACLH,YAAa,SAAC2B,GAAD,OAAO,EAAKlH,SAAS,CAAEgf,WAAY9X,KAChD1B,MAAOlK,KAAKQ,MAAMkjB,WAClB1Z,MAAM,cACNG,MAAO,CAAEkB,MAAO,aAI5B,4BACI,wBAAIqF,QAAS,GACT,6BACA,kBAAC,EAAD,CACItG,KAAK,OACLH,YAAa,SAAC2B,GAAD,OAAO,EAAKlH,SAAS,CAAEif,uBAAwB/X,KAC5D1B,MAAOlK,KAAKQ,MAAMmjB,uBAClB3Z,MAAM,4CACNG,MAAO,CAAEkB,MAAO,oBAWxD,yBAAK7F,UAAU,UACX,2BAAOuC,MAAO,CAAEsD,MAAO,OAAQuF,OAAQ,SACnC,+BACI,4BACI,wBAAID,MAAM,SAASE,OAAO,UACtB,4BACIrL,UAAU,gBACVuC,MAAO,CAAE8H,WAAY,UACrBrE,WAAUxL,KAAKQ,MAAM2M,QACrB9G,QAAS,WACL,EAAK8b,SALb,kBAnlCpC,GAA0Czc,aAA7BunB,GACFxmB,YAAcwmB,GAAqBtoB,KCEvC,IAAM2oB,GAAb,kDAEI,WAAYrpB,GAAQ,IAAD,8BACf,cAAMA,IAEDzD,MAAQ,CACT2M,SAAS,EACT4Y,UAAW,GACXC,OAAQ,GACRd,WAAW,EACX7b,WAAW,EACXuF,aAAc,GACdC,WAAY,GACZqe,cAAe,GACfjH,YAAY,GAZD,EAFvB,gEAkByB,IAAD,OAChB,IACI,IAAI7a,EAAK8W,aAAa1T,QAAQ,kBAEpB,MAANpD,GAAYpL,KAAK0E,SAAS,CAAEwoB,cAAe9hB,IAE/C,IAAIjI,EAAQyD,IACZzD,EAAM0D,IAAI,+CACL0G,MAAK,SAACzL,GACH,EAAK4C,SAAS,CAAEqhB,UAAWjkB,OAGnCqB,EAAM0D,IAAI,4CACL0G,MAAK,SAACzL,GACH,EAAK4C,SAAS,CAAEshB,OAAQlkB,EAAMqL,SAAS,IAC7B,MAAN/B,GAAY,EAAKiU,SAASjU,MAG1C,MAAOlC,GACHlJ,KAAK0E,SAAS,CAAEyI,SAAS,IACzBrM,QAAQC,IAAI,uBAAyBmI,MAtCjD,+BA0CakC,GAAK,IAAD,OACT,IACIpL,KAAK0E,SAAS,CAAEyI,SAAS,IACbvG,IACNC,IAAI,+DAAiEuE,GACtEmC,MAAK,SAACzL,GACH,IAAI8f,EAAS,EAAKphB,MAClB,IAAK,IAAMsJ,KAAOhI,EACd,GAAiB,MAAbA,EAAKgI,GAAc,CACnB,IAAI+X,EAAO/X,EAAIgY,OAAO,GAAGC,cAAgBjY,EAAIkY,MAAM,GAC/CxB,EAAS1e,EAAKgI,GAClB8X,EAAOC,GAAQrB,EAGvB,EAAK9b,SAASkd,GAAQ,WAAa,IAAD,EAC9B5hB,KAAKkmB,iBACLlmB,KAAK0E,SAAS,CAAEyI,SAAS,IACzBnN,KAAK0E,SAAS,CAAEuhB,WAAYnC,GAAA,UAA8B9jB,KAAKQ,MAAM2lB,qBAAzC,QAA0D,MACtFnmB,KAAK0E,SAAS,CACV0hB,YAAapmB,KAAKqmB,YAAYrmB,KAAKQ,MAAM4lB,aACzCE,sBAAuBtmB,KAAKqmB,YAAYrmB,KAAKQ,MAAM8lB,+BAKvE,MAAOpd,GACHlJ,KAAK0E,SAAS,CAAEyI,SAAS,IACzBrM,QAAQC,IAAI,cAAgBmI,MArExC,uCA0EQ,IAAI0W,EAAI5f,KAAKQ,MAOT+lB,EANsBvmB,KAAK8f,YAAYF,EAAE4G,qBACXxmB,KAAK8f,YAAYF,EAAE6G,6BACpBzmB,KAAK8f,YAAYF,EAAE8G,4BACxB1mB,KAAK8f,YAAYF,EAAE+G,uBACrB3mB,KAAK8f,YAAYF,EAAEgH,qBAIzCvG,EAAWrgB,KAAKogB,eAAemG,GAEnC,GAAIlG,GAAYA,EAAS3T,WAAW,OAAS2T,EAASvX,SAAS,KAC3DuX,GAAsB,WAErB,GAAIA,EAAS3T,WAAW,MAAQ2T,EAASvX,SAAS,KAAM,CACzD,IAAI6D,EAAM0T,EAASzT,MAAM,KACJ,GAAjBD,EAAI,GAAGjK,SACP2d,GAAsB,MAGL,GAAjB1T,EAAI,GAAGjK,SACP2d,GAAsB,KAI9BrgB,KAAK0E,SAAS,CAAEmiB,oBAAqBxG,MAnG7C,kCAsGgB/U,GACR,QAAa5J,GAAT4J,GAA+B,GAATA,GAAuB,MAATA,EAAe,OAAO,EAI9D,IAAIkV,EAAM,OAAGlV,QAAH,IAAGA,OAAH,EAAGA,EAAOwN,WAAWtM,QAAQ,KAAM,IAAIA,QAAQ,IAAK,IAE9D,OAAIgU,EAAO9d,OAAS,EAEF+d,MAAMD,SAAqB9e,GAAV8e,EAAuB,EAAIE,WAAWF,GAI9D,IAnHnB,qCAuHmBlV,GACX,QAAa5J,GAAT4J,EAAoB,MAAO,GAC/B,IAAIqV,EAAUrV,EAAMwN,WAAWtM,QAAQ,KAAM,IAAIA,QAAQ,IAAK,IAE1DoU,EAAM,GACNJ,EAAS,GAETK,EAAWF,EAAQ/T,MAAM,KAW7B,OAVwB,IAAZ,OAARiU,QAAQ,IAARA,OAAA,EAAAA,EAAUne,QACV8d,EAASG,EAAQ/T,MAAM,KAAK,IAEf,OAARiU,QAAQ,IAARA,OAAA,EAAAA,EAAUne,QAAS,GACxB8d,EAASG,EAAQ/T,MAAM,KAAK,GAC5BgU,EAAM,IAAMD,EAAQ/T,MAAM,KAAK,GAAGkU,UAAU,EAAG,IAG/CN,EAASG,EAETH,EAAO9d,OAAS,EACT,IAAIqe,KAAKC,kBAAatf,EAAW,CACpCqG,MAAO,WACPkZ,SAAU,MACVC,sBAAuB,EACvBC,sBAAuB,IACxBC,OAAOZ,GAAUI,OANxB,IAzIR,2BAmJSrf,GACD,IACI,IAEsB,wBAFlBqI,EAAO,GAEX,QAAWlI,GAAPH,OACoCG,GAAhC1B,KAAKQ,MAAMumB,mBAA0E,IAAxC,UAAA/mB,KAAKQ,MAAMumB,yBAAX,eAA8BrkB,SAC3EkH,EAAK3H,KAAK,mBAEqBP,GAA/B1B,KAAKQ,MAAMwmB,kBAAwE,IAAvC,UAAAhnB,KAAKQ,MAAMwmB,wBAAX,eAA6BtkB,SACzEkH,EAAK3H,KAAK,kBAEgBP,GAA1B1B,KAAKQ,MAAMymB,aAA8D,IAAlC,UAAAjnB,KAAKQ,MAAMymB,mBAAX,eAAwBvkB,SAC/DkH,EAAK3H,KAAK,QAEV,UAAAjC,KAAKQ,MAAMymB,mBAAX,eAAwBvkB,QAAS,IACjCkH,EAAK3H,KAAK,YAEgBP,GAA1B1B,KAAKQ,MAAM4lB,aAA8D,IAAlC,UAAApmB,KAAKQ,MAAM4lB,mBAAX,eAAwB1jB,SAC/DkH,EAAK3H,KAAK,sBAEuBP,IAAjC1B,KAAKQ,MAAM0mB,mBACXtd,EAAK3H,KAAK,mBAEuBP,IAAjC1B,KAAKQ,MAAM0mB,mBACsB,OAAjClnB,KAAKQ,MAAM0mB,wBAC8BxlB,IAAxC1B,KAAKQ,MAAM2mB,0BAAkF,IAAxCnnB,KAAKQ,MAAM2mB,0BACjEvd,EAAK3H,KAAK,+BAEwBP,IAAjC1B,KAAKQ,MAAM4mB,mBAA4E,KAAzC,UAAApnB,KAAKQ,MAAM4mB,yBAAX,eAA8B1kB,cAC1ChB,IAAlC1B,KAAKQ,MAAM6mB,oBAA8E,KAA1C,UAAArnB,KAAKQ,MAAM6mB,0BAAX,eAA+B3kB,SAC/EkH,EAAK3H,KAAK,+BAET,UAAAjC,KAAKQ,MAAM4mB,yBAAX,eAA8B1kB,QAAS,KAAM,UAAA1C,KAAKQ,MAAM4mB,yBAAX,eAA8B1kB,QAAS,IACpF,UAAA1C,KAAKQ,MAAM6mB,0BAAX,eAA+B3kB,QAAS,KAAM,UAAA1C,KAAKQ,MAAM6mB,0BAAX,eAA+B3kB,QAAS,IACvFkH,EAAK3H,KAAK,kCAEkBP,GAA5B1B,KAAKQ,MAAM2lB,eAAkE,IAApC,UAAAnmB,KAAKQ,MAAM2lB,qBAAX,eAA0BzjB,SACnEkH,EAAK3H,KAAK,SAETjC,KAAKQ,MAAMylB,YACZrc,EAAK3H,KAAK,SAE0B,MAApCigB,aAAa1T,QAAQ,aAA2D,cAApC0T,aAAa1T,QAAQ,kBAAgE9M,GAAhC1B,KAAKQ,MAAM8mB,mBAAyE,GAAvCtnB,KAAKQ,MAAM8mB,kBAAkB5kB,QAC3KkH,EAAK3H,KAAK,aAE0B,MAApCigB,aAAa1T,QAAQ,aAA2D,cAApC0T,aAAa1T,QAAQ,kBAAoE9M,GAApC1B,KAAKQ,MAAM8lB,uBAAiF,GAA3CtmB,KAAKQ,MAAM8lB,sBAAsB5jB,QACnLkH,EAAK3H,KAAK,kBAIlB,GAAmB,GAAf2H,EAAKlH,OAAa,CAClB1C,KAAK0E,SAAS,CAAEyI,SAAS,IACzB,IAAIhK,EAAQyD,IACZ5G,KAAK0E,SAAS,CACV0hB,iBAAwC1kB,IAA3B1B,KAAKQ,MAAM4lB,aAAuD,IAA1BpmB,KAAKQ,MAAM4lB,YAAoB,KAAOhF,aAAO,IAAI8C,KAAKlkB,KAAKQ,MAAM4lB,YAAY5Z,QAAQ,KAAM,MAAO,cACvJ8Z,2BAA4D5kB,IAArC1B,KAAKQ,MAAM8lB,uBAA2E,IAApCtmB,KAAKQ,MAAM8lB,sBAA8B,KAAOlF,aAAO,IAAI8C,KAAKlkB,KAAKQ,MAAM8lB,sBAAsB9Z,QAAQ,KAAM,MAAO,gBAE/L,WAAa,IAAD,OACRrJ,EAAM4D,KAAK,4DAA6D/G,KAAKQ,OACxE+M,MAAK,SAACnC,GACCA,OACW1J,GAAPH,GACA,EAAKmD,SAAS,CAAEyI,SAAS,EAAOigB,SAAU,MACF,MAApClL,aAAa1T,QAAQ,aAA2D,cAApC0T,aAAa1T,QAAQ,YACjE,EAAK9J,SAAS,CAAEwgB,WAAW,IAG3B1d,OAAOmH,SAASzG,KAAO,yBAI3BV,OAAOmH,SAASzG,KAAO3G,EAI3B,EAAKmD,SAAS,CACV2E,WAAW,EACXuF,aAAc,+DACdzB,SAAS,eAOjCnN,KAAK0E,SAAS,CACV2E,WAAW,EACXuF,aAAc,qCACdC,WAAYjF,IAEhBF,YAAW,WAAc7B,SAAS2f,eAAe,iBAAiBC,SAAS,CAAExY,IAAK,EAAGyY,SAAU,aAAgB,KAGvH,MAAOxe,GACHlJ,KAAK0E,SAAS,CAAEyI,SAAS,IACzBrM,QAAQC,IAAI,UAAYmI,MAlPpC,kCAsPgBye,GACR,MAAe,IAAXA,QAA6BjmB,IAAZimB,EAA8BA,EAEnCA,EAAQ/a,MAAM,KACb,KA1PzB,uCA6PsB,IAAD,EACTgT,EAAI5f,KAAKQ,MAITonB,QAH2BlmB,GAAvBke,EAAEmH,kBAAiC,GAAKnH,EAAEmH,kBAAkBjO,WAAa,WAC9CpX,GAA3Bke,EAAEiI,sBAAqC,GAAKjI,EAAEiI,sBAAsB/O,WAAa,WAC3DpX,GAAtBke,EAAEoH,iBAAgC,GAAlC,UAAuCpH,EAAEoH,wBAAzC,aAAuC,EAAoBlO,YAGnE1L,eAAeI,QAAQ,oBAAqBoa,KApQpD,+BAuQc,IAAD,6EACL,OACI,yBAAKpiB,UAAU,iBACX,kBAAC,EAAD,CACI4D,UAAWpJ,KAAKQ,MAAMoO,aACtBtF,UAAWtJ,KAAKQ,MAAMqO,WACtBxF,UAAWrJ,KAAKQ,MAAM6I,UACtBE,aAAc,kBAAM,EAAK7E,SAAS,CAAE2E,WAAW,KAC/CG,mBAAoB,MAExB,yBAAK4B,GAAG,gBAAgB5F,UAAU,+BACN,IAAvBxF,KAAKQ,MAAM2M,QACR,6BACI,kBAAC2B,EAAA,EAAD,CAASC,MAAM,OAAOpI,SAAS,GAAGoB,MAAO,CAAEiH,SAAU,QAASC,IAAK,MAAOC,KAAM,UAElF,KAEN,2BAAOkT,YAAa,EAAGC,YAAa,GAChC,+BACI,4BACI,wBAAI1R,MAAM,OAAOD,QAAS,GACtB,2BAAO3I,MAAO,CAAEkF,SAAU,OAAQ0R,WAAY,MAAO5P,MAAO,YAA5D,0BAGR,4BACI,4BACI,2BAAOsT,YAAa,EAAGD,YAAa,GAChC,+BACI,4BACI,wBAAIzR,MAAM,OAAOE,OAAO,UACpB,kBAAC,EAAD,CACIzG,KAAK,OACLJ,MAAM,aACNC,YAAa,SAAC2B,GACV,EAAKlH,SAAS,CAAEqiB,kBAAmBnb,IAAK,WACpC5L,KAAK8nB,qBAGb5d,MAAK,UAAElK,KAAKQ,MAAMumB,yBAAb,QAAkC,GACvC5c,MAAO,CAAEkB,MAAO,YAGxB,wBAAIsF,MAAM,OAAOE,OAAO,UACpB,kBAAC,EAAD,CACIzG,KAAK,OACLJ,MAAM,MACNK,cAAe,EACfJ,YAAa,SAAC2B,GACV,EAAKlH,SAAS,CAAEmjB,sBAAuBjc,IAAK,WACxC5L,KAAK8nB,qBAGb5d,MAAK,UAAElK,KAAKQ,MAAMqnB,6BAAb,QAAsC,GAC3C1d,MAAO,CAAEkB,MAAO,WAGxB,wBAAIsF,MAAM,OAAOE,OAAO,UACpB,kBAAC,EAAD,CACIzG,KAAK,OACLJ,MAAM,YACNC,YAAa,SAAC2B,GACV,EAAKlH,SAAS,CAAEsiB,iBAAkBpb,IAAK,WACnC5L,KAAK8nB,qBAGb5d,MAAK,UAAElK,KAAKQ,MAAMwmB,wBAAb,QAAiC,GACtC7c,MAAO,CAAEkB,MAAO,mBAUpD,+BACI,+BACI,4BACI,4BACI,2BAAOgX,YAAa,EAAGD,YAAa,GAChC,+BACI,4BACI,wBAAIzR,MAAM,OAAOE,OAAO,UACpB,kBAAC,EAAD,CACIzG,KAAK,MACLJ,MAAM,MACNK,cAAe,GACfJ,YAAa,SAAC2B,GACV,IAAImc,EAAenc,EACnB,EAAKlH,SAAS,CAAEuiB,YAAac,KAEjC7d,MAAK,UAAElK,KAAKQ,MAAMymB,mBAAb,QAA4B,GACjC9c,MAAO,CAAEkB,MAAO,YAGxB,wBAAIsF,MAAM,OAAOE,OAAO,UACpB,kBAAC,EAAD,CACIzG,KAAK,OACLJ,MAAM,gBACNC,YAAa,SAAC2B,GACV,EAAKlH,SAAS,CAAE0hB,YAAaxa,KAEjC1B,WAAiCxI,GAA1B1B,KAAKQ,MAAM4lB,YAA2BpmB,KAAKqmB,YAAYrmB,KAAKQ,MAAM4lB,aAAe,GACxFjc,MAAO,CAAEkB,MAAO,YAGxB,oCAS5B,+BACI,+BACI,4BACI,4BACI,2BAAOgX,YAAa,EAAGD,YAAa,GAChC,+BACI,4BACI,wBAAIzR,MAAM,OAAOE,OAAO,UAAxB,eAGA,wBAAIF,MAAM,OAAOE,OAAO,UACpB,yBAAKrL,UAAU,cACX,2BAAOoC,KAAK,QACRjD,KAAK,UACLoD,MAAO,CAAEyH,YAAa,OACtBG,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAEwiB,kBAAmBtb,EAAEC,OAAO2O,QAAU,MAAQ,QAElEA,QAA0C,QAAjCxa,KAAKQ,MAAM0mB,oBAExB,sCACA,2BAAOtf,KAAK,QACRjD,KAAK,UACLoD,MAAO,CAAEyH,YAAa,OACtBG,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAEwiB,kBAAmBtb,EAAEC,OAAO2O,QAAU,KAAO,SAEjEA,QAA0C,OAAjCxa,KAAKQ,MAAM0mB,oBAExB,qCACkC,OAAjClnB,KAAKQ,MAAM0mB,kBACR,4BACI5b,MAAOtL,KAAKQ,MAAM2mB,yBAClBxX,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAEyiB,yBAA0Bvb,EAAEC,OAAOP,UAGvD,4BAAQxB,IAAK,EAAGwB,MAAO,GAAvB,oBACCtL,KAAKQ,MAAMulB,UAAU1jB,KAAI,SAACuH,EAAMC,GAAP,OACtB,4BAAQC,IAAKD,EAAKyB,MAAO1B,EAAKjF,MAAOiF,EAAKjF,UAGhD,OAGd,kCAOpB,4BACI,4BACI,2BAAO0d,YAAa,EAAGD,YAAa,GAChC,+BACI,4BACI,wBAAIzR,MAAM,OAAOE,OAAO,UACpB,kBAAC,EAAD,CACIzG,KAAK,QACLJ,MAAM,aACNK,cAAe,GACfJ,YAAa,SAAC2B,GACV,IAAIoc,EAAiBlE,GAAkClY,GACvD,EAAKlH,SAAS,CAAE0iB,kBAAmBY,KAEvC9d,MAAK,UAAE4Z,GAAkC9jB,KAAKQ,MAAM4mB,0BAA/C,QAAqE,GAC1Ejd,MAAO,CAAEkB,MAAO,YAGxB,wBAAIsF,MAAM,OAAOE,OAAO,UACpB,kBAAC,EAAD,CACIzG,KAAK,QACLJ,MAAM,cACNK,cAAe,GACfJ,YAAa,SAAC2B,GACV,IAAIoc,EAAiBlE,GAAkClY,GACvD,EAAKlH,SAAS,CAAE2iB,mBAAoBW,KAExC9d,MAAK,UAAE4Z,GAAkC9jB,KAAKQ,MAAM6mB,2BAA/C,QAAsE,GAC3Eld,MAAO,CAAEkB,MAAO,YAGxB,kCAOpB,4BACI,4BACI,2BAAOgX,YAAa,EAAGD,YAAa,GAChC,+BACI,4BACI,wBAAI1R,QAAS,EAAGC,MAAM,OAAOE,OAAO,UAChC,kBAAC,EAAD,CACIzG,KAAK,QACLJ,MAAM,QACNC,YAAa,SAAC2B,GACV,EAAKlH,SAAS,CAAEuhB,WAAYnC,GAA8BlY,KAC1D,EAAKlH,SAAS,CAAEyhB,cAAeva,KAEnC1B,MAAK,UAAElK,KAAKQ,MAAM2lB,qBAAb,QAA8B,GACnChc,MAAO,CAAEkB,MAAO,YAGxB,oCAS5B,+BACI,+BACI,4BACI,wBAAIsF,MAAM,OAAO5I,MAAO,CAAEkgB,aAAc,QACpC,+BACI,+BACI,4BACI,wBAAIlgB,MAAO,CAAEkF,SAAU,OAAQ0R,WAAY,MAAO8D,WAAY,QAAU9R,MAAM,QAA9E,sBAIJ,4BACI,4BACI,2BAAO0R,YAAa,EAAGD,YAAa,GAChC,+BACI,4BACI,wBAAI1R,QAAS,EAAGC,MAAM,OAAOE,OAAO,UAChC,kBAAC,EAAD,CACIzG,KAAK,OACLJ,MAAM,eACNC,YAAa,SAAC2B,GACV,EAAKlH,SAAS,CAAEwjB,uBAAwBtc,KAE5C1B,MAAK,UAAElK,KAAKQ,MAAM0nB,8BAAb,QAAuC,GAC5C/d,MAAO,CAAEkB,MAAO,aAI5B,4BACI,wBAAIsF,MAAM,OAAOE,OAAO,UACpB,kBAAC,EAAD,CACIzG,KAAK,OACLJ,MAAM,OACNC,YAAa,SAAC2B,GACV,EAAKlH,SAAS,CAAEyjB,oBAAqBvc,KAEzC1B,MAAK,UAAElK,KAAKQ,MAAM2nB,2BAAb,QAAoC,GACzChe,MAAO,CAAEkB,MAAO,YAGxB,wBAAIsF,MAAM,OAAOE,OAAO,UACpB,4BACIvF,MAAOtL,KAAKQ,MAAM4nB,uBAClBzY,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAE0jB,uBAAwBxc,EAAEC,OAAOP,UAGrD,4BAAQxB,IAAK,EAAGwB,MAAO,GAAvB,MACCtL,KAAKQ,MAAMwlB,OAAO3jB,KAAI,SAACuH,EAAMC,GAAP,OACnB,4BAAQC,IAAKD,EAAKyB,MAAO1B,EAAKwB,IAAKxB,EAAKjF,WAIpD,wBAAIgM,MAAM,OAAOE,OAAO,UACpB,kBAAC,EAAD,CACIzG,KAAK,SACLC,cAAe,EACfL,MAAM,MACNC,YAAa,SAAC2B,GACV,EAAKlH,SAAS,CAAE2jB,mBAAoBzc,KAExC1B,MAAK,UAAElK,KAAKQ,MAAM6nB,0BAAb,QAAmC,GACxCle,MAAO,CAAEkB,MAAO,YAI5B,4BACI,wBAAIsF,MAAM,OAAOE,OAAO,UACpB,kBAAC,EAAD,CACIzG,KAAK,SACLJ,MAAM,UACNC,YAAa,SAAC2B,GACV,EAAKlH,SAAS,CAAE4jB,qBAAsB1c,KAE1C1B,MAAK,UAAElK,KAAKQ,MAAM8nB,4BAAb,QAAqC,GAC1Cne,MAAO,CAAEkB,MAAO,WAGxB,6BAEA,qCAUhC,wBAAIsF,MAAM,QACN,+BACI,+BACI,4BACI,wBAAID,QAAS,EAAG3I,MAAO,CAAEkF,SAAU,OAAQ0R,WAAY,MAAO8D,WAAY,QAAU9R,MAAM,QAA1F,uBAIJ,4BACI,4BACI,2BAAO0R,YAAa,EAAGD,YAAa,GAChC,+BACI,4BACI,wBAAI1R,QAAS,EAAGC,MAAM,OAAOE,OAAO,UAChC,kBAAC,EAAD,CACIzG,KAAK,OACLJ,MAAM,eACNC,YAAa,SAAC2B,GACV,EAAKlH,SAAS,CAAE6jB,wBAAyB3c,KAE7C1B,MAAK,UAAElK,KAAKQ,MAAM+nB,+BAAb,QAAwC,GAC7Cpe,MAAO,CAAEkB,MAAO,aAI5B,4BACI,wBAAIsF,MAAM,OAAOE,OAAO,UACpB,kBAAC,EAAD,CACIzG,KAAK,OACLJ,MAAM,OACNC,YAAa,SAAC2B,GACV,EAAKlH,SAAS,CAAE8jB,qBAAsB5c,KAE1C1B,MAAK,UAAElK,KAAKQ,MAAMgoB,4BAAb,QAAqC,GAC1Cre,MAAO,CAAEkB,MAAO,YAGxB,wBAAIsF,MAAM,OAAOE,OAAO,UACpB,4BACIvF,MAAOtL,KAAKQ,MAAMioB,wBAClB9Y,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAE+jB,wBAAyB7c,EAAEC,OAAOP,UAGtD,4BAAQxB,IAAK,EAAGwB,MAAO,GAAvB,MACCtL,KAAKQ,MAAMwlB,OAAO3jB,KAAI,SAACuH,EAAMC,GAAP,OACnB,4BAAQC,IAAKD,EAAKyB,MAAO1B,EAAKwB,IAAKxB,EAAKjF,WAIpD,wBAAIgM,MAAM,OAAOE,OAAO,UACpB,kBAAC,EAAD,CACIzG,KAAK,SACLC,cAAe,EACfL,MAAM,MACNC,YAAa,SAAC2B,GACV,EAAKlH,SAAS,CAAEgkB,oBAAqB9c,KAEzC1B,MAAK,UAAElK,KAAKQ,MAAMkoB,2BAAb,QAAoC,GACzCve,MAAO,CAAEkB,MAAO,YAI5B,4BACI,wBAAIsF,MAAM,OAAOE,OAAO,UACpB,kBAAC,EAAD,CACIzG,KAAK,SACLJ,MAAM,UACNC,YAAa,SAAC2B,GACV,EAAKlH,SAAS,CAAEikB,sBAAuB/c,KAE3C1B,MAAK,UAAElK,KAAKQ,MAAMmoB,6BAAb,QAAsC,GAC3Cxe,MAAO,CAAEkB,MAAO,WAGxB,6BAEA,wCAa5C,+BACI,+BACI,4BACI,wBAAIsF,MAAM,QACN,2BAAO0R,YAAa,EAAGD,YAAa,GAChC,+BACI,4BACI,wBAAIzR,MAAM,OAAOE,OAAO,UAAxB,gBAGA,wBAAIF,MAAM,OAAOE,OAAO,UACpB,yBAAKrL,UAAU,cACX,2BAAOoC,KAAK,QACRjD,KAAK,UACLoD,MAAO,CAAEyH,YAAa,OACtBG,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAEkkB,yBAA0Bhd,EAAEC,OAAO2O,QAAU,MAAQ,UAEzEA,QAAiD,QAAxCxa,KAAKQ,MAAMooB,2BAExB,sCACA,2BAAOhhB,KAAK,QACRjD,KAAK,UACLoD,MAAO,CAAEyH,YAAa,OACtBG,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAEkkB,yBAA0Bhd,EAAEC,OAAO2O,QAAU,OAAS,SAE1EA,QAAiD,SAAxCxa,KAAKQ,MAAMooB,2BAExB,yCAGR,kCAOpB,4BACI,wBAAIjY,MAAM,OAAOE,OAAO,UACpB,kBAAC,EAAD,CACIzG,KAAK,SACLJ,MAAM,0BACNC,YAAa,SAAC2B,GACV,EAAKlH,SAAS,CAAEmkB,4BAA6Bjd,KAEjD1B,MAAK,UAAElK,KAAKogB,eAAepgB,KAAKQ,MAAMqoB,oCAAjC,QAAiE,GACtE1e,MAAO,CAAEkB,MAAO,YAGxB,wBAAIsF,MAAM,OAAOE,OAAO,WAExB,wBAAIF,MAAM,OAAOE,OAAO,YAG5B,4BACI,wBAAIF,MAAM,OAAO5I,MAAO,CAAEkgB,aAAc,QACpC,2BAAO5F,YAAa,EAAGD,YAAa,GAChC,+BACI,4BACI,wBAAIra,MAAO,CAAEkF,SAAU,OAAQ0R,WAAY,MAAO8D,WAAY,QAAU9R,MAAM,QAA9E,eAIJ,4BACI,wBAAID,QAAS,EAAGC,MAAM,OAAOE,OAAO,UAChC,kBAAC,EAAD,CACIzG,KAAK,OACLJ,MAAM,2BACNC,YAAa,SAAC2B,GACV,EAAKlH,SAAS,CAAEokB,4BAA6Bld,KAEjD1B,MAAK,UAAElK,KAAKQ,MAAMsoB,mCAAb,QAA4C,GACjD3e,MAAO,CAAEkB,MAAO,aAI5B,4BACI,wBAAIqF,QAAS,EAAGC,MAAM,OAAOE,OAAO,UAChC,kBAAC,EAAD,CACIzG,KAAK,OACLJ,MAAM,mBACNC,YAAa,SAAC2B,GACV,EAAKlH,SAAS,CAAEqkB,4BAA6Bnd,KAEjD1B,MAAK,UAAElK,KAAKQ,MAAMuoB,mCAAb,QAA4C,GACjD5e,MAAO,CAAEkB,MAAO,aAI5B,4BACI,wBAAIqF,QAAS,EAAGC,MAAM,OAAOE,OAAO,UAChC,kBAAC,EAAD,CACIzG,KAAK,OACLJ,MAAM,WACNC,YAAa,SAAC2B,GACV,EAAKlH,SAAS,CAAEskB,gCAAiCpd,KAErD1B,MAAK,UAAElK,KAAKQ,MAAMwoB,uCAAb,QAAgD,GACrD7e,MAAO,CAAEkB,MAAO,aAI5B,4BACI,wBAAIqF,QAAS,EAAGC,MAAM,OAAOE,OAAO,UAChC,kBAAC,EAAD,CACIzG,KAAK,SACLJ,MAAM,UACNC,YAAa,SAAC2B,GACV,EAAKlH,SAAS,CAAEukB,6BAA8Brd,KAElD1B,MAAK,UAAElK,KAAKQ,MAAMyoB,oCAAb,QAA6C,GAClD9e,MAAO,CAAEkB,MAAO,YAI5B,4BACI,wBAAIqF,QAAS,EAAGC,MAAM,OAAOE,OAAO,UAChC,kBAAC,EAAD,CACIzG,KAAK,OACLJ,MAAM,UACNC,YAAa,SAAC2B,GACV,EAAKlH,SAAS,CAAEwkB,+BAAgCtd,KAEpD1B,MAAK,UAAElK,KAAKQ,MAAM0oB,sCAAb,QAA+C,GACpD/e,MAAO,CAAEkB,MAAO,aAI5B,4BACI,wBAAIsF,MAAM,OAAOE,OAAO,UACpB,kBAAC,EAAD,CACIzG,KAAK,OACLJ,MAAM,OACNC,YAAa,SAAC2B,GACV,EAAKlH,SAAS,CAAEykB,4BAA6Bvd,KAEjD1B,MAAK,UAAElK,KAAKQ,MAAM2oB,mCAAb,QAA4C,GACjDhf,MAAO,CAAEkB,MAAO,YAGxB,wBAAIsF,MAAM,OAAOE,OAAO,UACpB,4BACIvF,MAAOtL,KAAKQ,MAAM4oB,+BAClBzZ,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAE0kB,+BAAgCxd,EAAEC,OAAOP,UAG7D,4BAAQxB,IAAK,EAAGwB,MAAO,GAAvB,MACCtL,KAAKQ,MAAMwlB,OAAO3jB,KAAI,SAACuH,EAAMC,GAAP,OACnB,4BAAQC,IAAKD,EAAKyB,MAAO1B,EAAKwB,IAAKxB,EAAKjF,WAIpD,wBAAIgM,MAAM,OAAOE,OAAO,UACpB,kBAAC,EAAD,CACIzG,KAAK,SACLC,cAAe,EACfL,MAAM,MACNC,YAAa,SAAC2B,GACV,EAAKlH,SAAS,CAAE2kB,2BAA4Bzd,KAEhD1B,MAAK,UAAElK,KAAKQ,MAAM6oB,kCAAb,QAA2C,GAChDlf,MAAO,CAAEkB,MAAO,eAOxC,wBAAIsF,MAAM,QAAQE,OAAO,OACrB,2BAAOwR,YAAa,EAAGD,YAAa,GAChC,+BACI,4BACI,wBAAIra,MAAO,CAAEkF,SAAU,OAAQ0R,WAAY,MAAO8D,WAAY,QAAU9R,MAAM,QAA9E,wBAIJ,4BACI,wBAAID,QAAS,EAAGC,MAAM,OAAOE,OAAO,UAChC,kBAAC,EAAD,CACIzG,KAAK,OACLJ,MAAM,2BACNC,YAAa,SAAC2B,GACV,EAAKlH,SAAS,CAAE4kB,6BAA8B1d,KAElD1B,MAAK,UAAElK,KAAKQ,MAAM8oB,oCAAb,QAA6C,GAClDnf,MAAO,CAAEkB,MAAO,aAI5B,4BACI,wBAAIqF,QAAS,EAAGC,MAAM,OAAOE,OAAO,UAChC,kBAAC,EAAD,CACIzG,KAAK,OACLJ,MAAM,mBACNC,YAAa,SAAC2B,GACV,EAAKlH,SAAS,CAAE6kB,6BAA8B3d,KAElD1B,MAAK,UAAElK,KAAKQ,MAAM+oB,oCAAb,QAA6C,GAClDpf,MAAO,CAAEkB,MAAO,aAI5B,4BACI,wBAAIqF,QAAS,EAAGC,MAAM,OAAOE,OAAO,UAChC,kBAAC,EAAD,CACIzG,KAAK,OACLJ,MAAM,WACNC,YAAa,SAAC2B,GACV,EAAKlH,SAAS,CAAE8kB,iCAAkC5d,KAEtD1B,MAAK,UAAElK,KAAKQ,MAAMgpB,wCAAb,QAAiD,GACtDrf,MAAO,CAAEkB,MAAO,aAI5B,4BACI,wBAAIqF,QAAS,EAAGC,MAAM,OAAOE,OAAO,UAChC,kBAAC,EAAD,CACIzG,KAAK,SACLJ,MAAM,UACNC,YAAa,SAAC2B,GACV,EAAKlH,SAAS,CAAE+kB,8BAA+B7d,KAEnD1B,MAAK,UAAElK,KAAKQ,MAAMipB,qCAAb,QAA8C,GACnDtf,MAAO,CAAEkB,MAAO,kBAUpD,+BACI,+BACI,4BACI,wBAAIqF,QAAS,EAAG3I,MAAO,CAAEkF,SAAU,OAAQ0R,WAAY,MAAO8D,WAAY,QAAU9R,MAAM,QAA1F,kBAIJ,4BACI,4BACI,kBAAC,EAAD,CACIvG,KAAK,SACLJ,MAAM,QACNC,YAAa,SAAC2B,GACV,EAAKlH,SAAS,CAAE8hB,oBAAqB5a,IAAK,WAAc5L,KAAKkmB,qBAEjEhc,MAAOlK,KAAKogB,eAAL,UAAoBpgB,KAAKQ,MAAMgmB,2BAA/B,QAAsD,IAC7Drc,MAAO,CAAEkB,MAAO,YAGxB,4BACI,kBAAC,EAAD,CACIjB,KAAK,SACLJ,MAAM,gBACNC,YAAa,SAAC2B,GACV,EAAKlH,SAAS,CAAE+hB,4BAA6B7a,IAAK,WAAc5L,KAAKkmB,qBAEzEhc,MAAOlK,KAAKogB,eAAL,UAAoBpgB,KAAKQ,MAAMimB,mCAA/B,QAA8D,IACrEtc,MAAO,CAAEkB,MAAO,YAGxB,4BACI,kBAAC,EAAD,CACIjB,KAAK,SACLJ,MAAM,gBACNC,YAAa,SAAC2B,GACV,EAAKlH,SAAS,CAAEgiB,2BAA4B9a,IAAK,WAAc5L,KAAKkmB,qBAExEhc,MAAOlK,KAAKogB,eAAL,UAAoBpgB,KAAKQ,MAAMkmB,kCAA/B,QAA6D,IACpEvc,MAAO,CAAEkB,MAAO,YAGxB,4BACI,kBAAC,EAAD,CACIjB,KAAK,SACLJ,MAAM,UACNC,YAAa,SAAC2B,GACV,EAAKlH,SAAS,CAAEiiB,sBAAuB/a,IAAK,WAAc5L,KAAKkmB,qBAEnEhc,MAAOlK,KAAKogB,eAAL,UAAoBpgB,KAAKQ,MAAMmmB,6BAA/B,QAAwD,IAC/Dxc,MAAO,CAAEkB,MAAO,YAGxB,4BACI,kBAAC,EAAD,CACIjB,KAAK,SACLJ,MAAM,QACNC,YAAa,SAAC2B,GACV,EAAKlH,SAAS,CAAEkiB,oBAAqBhb,IAAK,WAAc5L,KAAKkmB,qBAEjEhc,MAAOlK,KAAKogB,eAAL,UAAoBpgB,KAAKQ,MAAMomB,2BAA/B,QAAsD,IAC7Dzc,MAAO,CAAEkB,MAAO,YAGxB,4BACI,kBAAC,EAAD,CACIjB,KAAK,SACLJ,MAAM,QACNC,YAAa,SAAC2B,GACV,EAAKlH,SAAS,CAAEmiB,oBAAqBjb,IAAK,WAAc5L,KAAKkmB,qBAEjEhc,MAAOlK,KAAKogB,eAAL,UAAoBpgB,KAAKQ,MAAMqmB,2BAA/B,QAAsD,IAC7D1c,MAAO,CAAEkB,MAAO,SAChBd,UAAU,QAMO,MAApC2X,aAAa1T,QAAQ,aAA2D,cAApC0T,aAAa1T,QAAQ,YAC9D,+BACI,+BACI,4BACI,4BACI,+BACI,+BACI,4BACI,wBAAIkC,QAAS,EAAGC,MAAM,OAAO5I,MAAO,CAAE0a,WAAY,SAC9C,yBAAKjd,UAAU,cAAf,knBACmnB,6BAAM,6BADznB,2HAE4H,6BAAM,6BAFlI,wKAGyK,6BAAM,6BAH/K,4UAI6U,6BAAM,6BAJnV,0fAK2f,6BAAM,6BALjgB,oOAMqO,6BAAM,6BAN3O,ufAOwf,uBAAG0C,KAAK,qCAAR,8BAA0E,6BAAM,gCAIhlB,4BACI,4BACI,yBAAKH,MAAO,CAAE4B,QAAS,OAAQwF,cAAe,MAAO9D,MAAO,cAAegE,WAAY,SAAUD,eAAgB,eAC7G,2BACIxH,KAAK,WACL4S,QAAO,UAAExa,KAAKQ,MAAMkpB,iDAAb,SACP/Z,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAEglB,2CAA4C,EAAKlpB,MAAMkpB,6CAE3E3hB,MAAO,CAAEyH,YAAa,SAE1B,2BAAOzH,MAAO,CAAEwH,aAAc,IAAKtC,SAAU,SAA7C,wIAMpB,2BAAOlF,MAAO,CAAEuH,UAAW,OAAQC,aAAc,SAC7C,+BACI,4BACI,4BACI,kBAAC,EAAD,CACInF,KAAK,OACLJ,MAAM,qBACNC,YAAa,SAAC2B,GACV,EAAKlH,SAAS,CAAE4iB,kBAAmB1b,KAEvC1B,MAAK,UAAElK,KAAKQ,MAAM8mB,yBAAb,QAAkC,GACvCnd,MAAO,CAAEkB,MAAO,QAAS2B,WAAY,kBAAmBC,SAAU,WAG1E,4BACI,kBAAC,EAAD,CACI7C,KAAK,OACLJ,MAAM,OACNC,YAAa,SAAC2B,GACV,EAAKlH,SAAS,CAAE4hB,sBAAuB1a,KAE3C1B,WAA4CxI,IAArC1B,KAAKQ,MAAM8lB,uBAA4E,OAArCtmB,KAAKQ,MAAM8lB,sBAAiCtmB,KAAKqmB,YAAYrmB,KAAKQ,MAAM8lB,uBAAyBtmB,KAAK0E,SAAS,CAAE4hB,sBAAuBxC,IAAyC,IAAII,MAAOyF,mBAAmB,SAAU,UAClRxf,MAAO,CAAEkB,MAAO,iBAUlD,MAEV,yBAAK7F,UAAU,yBACX,2BAAOuC,MAAO,CAAE6I,OAAQ,SACpB,+BACI,4BACI,wBAAID,MAAM,SAASE,OAAO,UACtB,4BACIrL,UAAU,gBACVuC,MAAO,CAAE8H,WAAY,UACrBrE,SAAUxL,KAAKQ,MAAM2M,QACrB9G,QAAS,WACL,EAAK8b,KAAK,2BALlB,SAUJ,wBAAIxR,MAAM,SAASE,OAAO,UACqB,MAA1CzD,eAAeoB,QAAQ,iBAAqE,QAA1CpB,eAAeoB,QAAQ,gBACtE,4BACIhJ,UAAU,gBACVuC,MAAO,CAAE8H,WAAY,UACrBrE,SAAUxL,KAAKQ,MAAM2M,UAAYnN,KAAKQ,MAAMkpB,0CAC5CrjB,QAAS,WACL,EAAK8b,SALb,QAUoC,MAApCD,aAAa1T,QAAQ,aAA2D,cAApC0T,aAAa1T,QAAQ,YAC7D,4BACIhJ,UAAU,gBACVuC,MAAO,CAAE8H,WAAY,UACrBrE,YAAUxL,KAAKQ,MAAM2M,SAA+C,MAApC+U,aAAa1T,QAAQ,aAA2D,cAApC0T,aAAa1T,QAAQ,eAA+BxO,KAAKQ,MAAMkpB,0CAC3IrjB,QAAS,WACL,EAAK8b,SALb,sBASA,4BACI3c,UAAU,gBACVuC,MAAO,CAAE8H,WAAY,UACrBrE,SAAUxL,KAAKQ,MAAM2M,QACrB9G,QAAS,WACL,EAAK8b,SALb,aAe5B,kBAAC,GAAD,CACI6C,WAAY,mBACZC,SAAU,4MACVE,YAAa,+CACbE,aAAa,EACbC,YAAa,2DACbF,oBAAqBplB,KAAK4pB,mBAC1BrE,oBAAqBvlB,KAAK4lB,mBAC1BV,UAAWllB,KAAKQ,MAAM0kB,eAjmC1C,2CAwmCQ1d,OAAOmH,SAASzG,KAAO,yCAxmC/B,2CA4mCQV,OAAOmH,SAASzG,KAAO,+BA5mC/B,GAA0CxC,aAA7B4nB,GACF7mB,YAAc6mB,GAAqB3oB,KCFvC,IAAM4oB,GAAb,kDAEI,WAAYtpB,GAAQ,IAAD,8BACf,cAAMA,IAEDzD,MAAQ,CACT2M,SAAS,EACT4Y,UAAW,GACXC,OAAQ,GACRd,WAAW,EACX4E,WAAY,OACZoD,cAAe,GACfjH,YAAY,GAVD,EAFvB,gEAgByB,IAAD,OAChB,IACI,IAAI7a,EAAK8W,aAAa1T,QAAQ,kBAE9BxO,KAAK0E,SAAS,CAAEyI,SAAS,IAEf,MAAN/B,GAAYpL,KAAK0E,SAAS,CAAEwoB,cAAe9hB,IAE/C,IAAIjI,EAAQyD,IAEZzD,EAAM0D,IAAI,+CACL0G,MAAK,SAACzL,GACH,EAAK4C,SAAS,CAAEqhB,UAAWjkB,OAGnCqB,EAAM0D,IAAI,4CACL0G,MAAK,SAACzL,GACH,EAAK4C,SAAS,CAAEshB,OAAQlkB,EAAMqL,SAAS,IAC7B,MAAN/B,GAAY,EAAKiU,SAASjU,MAG1C,MAAOlC,GACHlJ,KAAK0E,SAAS,CAAEyI,SAAS,IACzBrM,QAAQC,IAAI,uBAAyBmI,MAvCjD,+BA2CakC,GAAK,IAAD,OACT,IACIpL,KAAK0E,SAAS,CAAEyI,SAAS,IACbvG,IACNC,IAAI,+DAAiEuE,GACtEmC,MAAK,SAACzL,GACH,IAAI8f,EAAS,EAAKphB,MAClB,IAAK,IAAMsJ,KAAOhI,EACd,GAAiB,MAAbA,EAAKgI,GAAc,CACnB,IAAI+X,EAAO/X,EAAIgY,OAAO,GAAGC,cAAgBjY,EAAIkY,MAAM,GAC/CxB,EAAS1e,EAAKgI,GAClB8X,EAAOC,GAAQrB,EAGvB,EAAK9b,SAASkd,GACV,WAAa,IAAD,EACR5hB,KAAK0E,SAAS,CAAEyI,SAAS,IACzBnN,KAAKkmB,iBACLlmB,KAAK0E,SAAS,CAAEuhB,WAAYnC,GAAA,UAA8B9jB,KAAKQ,MAAMupB,uBAAzC,QAA4D,MACxF/pB,KAAK0E,SAAS,CACVslB,cAAehqB,KAAKqmB,YAAYrmB,KAAKQ,MAAMwpB,eAC3C1D,sBAAuBtmB,KAAKqmB,YAAYrmB,KAAKQ,MAAM8lB,uBACnD2D,wBAAyBjqB,KAAKqmB,YAAYrmB,KAAKQ,MAAMypB,iCAK7E,MAAO/gB,GACHlJ,KAAK0E,SAAS,CAAEyI,SAAS,IACzBrM,QAAQC,IAAI,cAAgBmI,MAxExC,uCA6EQ,IAAI0W,EAAI5f,KAAKQ,MAOT0pB,EANwBlqB,KAAK8f,YAAYF,EAAEuK,uBACXnqB,KAAK8f,YAAYF,EAAEwK,+BACpBpqB,KAAK8f,YAAYF,EAAEyK,8BACxBrqB,KAAK8f,YAAYF,EAAE0K,yBACrBtqB,KAAK8f,YAAYF,EAAE2K,uBAI3ClK,EAAWrgB,KAAKogB,eAAe8J,GAEnC,GAAI7J,GAAYA,EAAS3T,WAAW,OAAS2T,EAASvX,SAAS,KAC3DuX,GAAsB,WAErB,GAAIA,EAAS3T,WAAW,MAAQ2T,EAASvX,SAAS,KAAM,CACzD,IAAI6D,EAAM0T,EAASzT,MAAM,KACJ,GAAjBD,EAAI,GAAGjK,SACP2d,GAAsB,MAGL,GAAjB1T,EAAI,GAAGjK,SACP2d,GAAsB,KAG9BrgB,KAAK0E,SAAS,CAAE8lB,sBAAuBnK,MArG/C,kCAwGgB/U,GACR,QAAa5J,GAAT4J,GAA+B,GAATA,GAAuB,MAATA,EAAe,OAAO,EAI9D,IAAIkV,EAAM,OAAGlV,QAAH,IAAGA,OAAH,EAAGA,EAAOwN,WAAWtM,QAAQ,KAAM,IAAIA,QAAQ,IAAK,IAE9D,OAAIgU,EAAO9d,OAAS,EAEF+d,MAAMD,SAAqB9e,GAAV8e,EAAuB,EAAIE,WAAWF,GAI9D,IArHnB,qCAyHmBlV,GACX,QAAa5J,GAAT4J,EAAoB,MAAO,GAC/B,IAAIqV,EAAUrV,EAAMwN,WAAWtM,QAAQ,KAAM,IAAIA,QAAQ,IAAK,IAE1DoU,EAAM,GACNJ,EAAS,GAETK,EAAWF,EAAQ/T,MAAM,KAW7B,OAVwB,IAAZ,OAARiU,QAAQ,IAARA,OAAA,EAAAA,EAAUne,QACV8d,EAASG,EAAQ/T,MAAM,KAAK,IAEf,OAARiU,QAAQ,IAARA,OAAA,EAAAA,EAAUne,QAAS,GACxB8d,EAASG,EAAQ/T,MAAM,KAAK,GAC5BgU,EAAM,IAAMD,EAAQ/T,MAAM,KAAK,GAAGkU,UAAU,EAAG,IAG/CN,EAASG,EAETH,EAAO9d,OAAS,EACT,IAAIqe,KAAKC,kBAAatf,EAAW,CACpCqG,MAAO,WACPkZ,SAAU,MACVC,sBAAuB,EACvBC,sBAAuB,IACxBC,OAAOZ,GAAUI,OANxB,IA3IR,2BAqJSrf,GACD,IACI,IAEuB,gCAFnBqI,EAAO,GAEX,QAAYlI,IAARH,OACsCG,GAAlC1B,KAAKQ,MAAMiqB,qBAA8E,IAA1C,UAAAzqB,KAAKQ,MAAMiqB,2BAAX,eAAgC/nB,SAC/EkH,EAAK3H,KAAK,mBAEuBP,GAAjC1B,KAAKQ,MAAMkqB,oBAA4E,IAAzC,UAAA1qB,KAAKQ,MAAMkqB,0BAAX,eAA+BhoB,SAC7EkH,EAAK3H,KAAK,kBAEkBP,GAA5B1B,KAAKQ,MAAMmqB,eAAkE,IAApC,UAAA3qB,KAAKQ,MAAMmqB,qBAAX,eAA0BjoB,SACnEkH,EAAK3H,KAAK,QAEV,UAAAjC,KAAKQ,MAAMmqB,qBAAX,eAA0BjoB,QAAS,IACnCkH,EAAK3H,KAAK,YAEkBP,GAA5B1B,KAAKQ,MAAMwpB,eAAkE,IAApC,UAAAhqB,KAAKQ,MAAMwpB,qBAAX,eAA0BtnB,SACnEkH,EAAK3H,KAAK,sBAEyBP,IAAnC1B,KAAKQ,MAAMoqB,qBACXhhB,EAAK3H,KAAK,mBAEyBP,IAAnC1B,KAAKQ,MAAMoqB,qBAAwE,OAAnC5qB,KAAKQ,MAAMoqB,qBAA0E,IAA1C5qB,KAAKQ,MAAMqqB,4BACtGjhB,EAAK3H,KAAK,+BAE0BP,IAAnC1B,KAAKQ,MAAMsqB,qBAAgF,KAA3C,UAAA9qB,KAAKQ,MAAMsqB,2BAAX,eAAgCpoB,cAC5ChB,IAApC1B,KAAKQ,MAAMuqB,sBAAkF,KAA5C,UAAA/qB,KAAKQ,MAAMuqB,4BAAX,eAAiCroB,SACnFkH,EAAK3H,KAAK,+BAET,UAAAjC,KAAKQ,MAAMsqB,2BAAX,eAAgCpoB,QAAS,KAAM,UAAA1C,KAAKQ,MAAMsqB,2BAAX,eAAgCpoB,QAAS,IACxF,UAAA1C,KAAKQ,MAAMuqB,4BAAX,eAAiCroB,QAAS,KAAM,UAAA1C,KAAKQ,MAAMuqB,4BAAX,eAAiCroB,QAAS,IAC3FkH,EAAK3H,KAAK,kCAEoBP,GAA9B1B,KAAKQ,MAAMupB,iBAAsE,IAAtC,UAAA/pB,KAAKQ,MAAMupB,uBAAX,eAA4BrnB,SACvEkH,EAAK3H,KAAK,SAETjC,KAAKQ,MAAMylB,YACZrc,EAAK3H,KAAK,cAEsBP,GAAhC1B,KAAKQ,MAAM8mB,mBAA0E,IAAxC,UAAAtnB,KAAKQ,MAAM8mB,yBAAX,eAA8B5kB,SAC3EkH,EAAK3H,KAAK,2BAE0BP,GAApC1B,KAAKQ,MAAM8lB,uBAAkF,IAA5C,UAAAtmB,KAAKQ,MAAM8lB,6BAAX,eAAkC5jB,SACnFkH,EAAK3H,KAAK,gCAEwBP,GAAlC1B,KAAKQ,MAAMwqB,qBAA8E,IAA1C,UAAAhrB,KAAKQ,MAAMwqB,2BAAX,eAAgCtoB,SAC/EkH,EAAK3H,KAAK,6BAE4BP,GAAtC1B,KAAKQ,MAAMypB,yBAAsF,IAA9C,UAAAjqB,KAAKQ,MAAMypB,+BAAX,eAAoCvnB,SACvFkH,EAAK3H,KAAK,6BAGlB,GAAmB,GAAf2H,EAAKlH,OAAa,CAClB1C,KAAK0E,SAAS,CAAEyI,SAAS,IACzB,IAAIhK,EAAQyD,IACZ5G,KAAK0E,SAAS,CACVslB,mBAA4CtoB,IAA7B1B,KAAKQ,MAAMwpB,eAA2D,IAA5BhqB,KAAKQ,MAAMwpB,cAAsB,KAAO5I,aAAO,IAAI8C,KAAKlkB,KAAKQ,MAAMwpB,cAAcxd,QAAQ,KAAM,MAAO,cAC/J8Z,2BAA4D5kB,IAArC1B,KAAKQ,MAAM8lB,uBAA2E,IAApCtmB,KAAKQ,MAAM8lB,sBAA8B,KAAOlF,aAAO,IAAI8C,KAAKlkB,KAAKQ,MAAM8lB,sBAAsB9Z,QAAQ,KAAM,MAAO,cAC/Lyd,6BAAgEvoB,IAAvC1B,KAAKQ,MAAMypB,yBAA+E,IAAtCjqB,KAAKQ,MAAMypB,wBAAgC,KAAO7I,aAAO,IAAI8C,KAAKlkB,KAAKQ,MAAMypB,wBAAwBzd,QAAQ,KAAM,MAAO,gBAEvM,WAAa,IAAD,OACRrJ,EAAM4D,KAAK,4DAA6D/G,KAAKQ,OACxE+M,MAAK,SAACnC,GACCA,OACY1J,IAARH,GACA,EAAKmD,SAAS,CAAEyI,SAAS,IACzB,EAAKzI,SAAS,CAAEwgB,WAAW,KAG3B1d,OAAOmH,SAASzG,KAAO3G,EAI3B,EAAKmD,SAAS,CACV2E,WAAW,EACXuF,aAAc,+DACdzB,SAAS,eAOjCnN,KAAK0E,SAAS,CACV2E,WAAW,EACXuF,aAAc,qCACdC,WAAYjF,IAEhBF,YAAW,WAAc7B,SAAS2f,eAAe,iBAAiBC,SAAS,CAAExY,IAAK,EAAGyY,SAAU,aAAgB,KAGvH,MAAOxe,GACHlJ,KAAK0E,SAAS,CAAEyI,SAAS,IACzBrM,QAAQC,IAAI,UAAYmI,MAnPpC,kCAuPgBye,GACR,MAAe,IAAXA,QAA6BjmB,IAAZimB,EAA8BA,EAEnCA,EAAQ/a,MAAM,KACb,KA3PzB,uCA8PsB,IAAD,EACTgT,EAAI5f,KAAKQ,MAITonB,QAH6BlmB,GAAzBke,EAAE6K,oBAAmC,GAAK7K,EAAE6K,oBAAoB3R,WAAa,WAChDpX,GAA7Bke,EAAEqL,wBAAuC,GAAKrL,EAAEqL,wBAAwBnS,WAAa,WAC7DpX,GAAxBke,EAAE8K,mBAAkC,GAApC,UAAyC9K,EAAE8K,0BAA3C,aAAyC,EAAsB5R,YAIvE1L,eAAeI,QAAQ,sBAAuBoa,KAtQtD,4CAyQ2B,IAAD,OACdxc,EAAK8W,aAAa1T,QAAQ,kBAElB5H,IACNC,IAAI,+DAAiEuE,GACtEmC,MAAK,SAACzL,GACH,EAAK4C,SAAS,CACVwmB,yBAA0BppB,EAAKqpB,uBAC/BC,sBAAuBtpB,EAAKupB,oBAC5BC,yBAA0BxpB,EAAKypB,uBAC/BC,qBAAsB1pB,EAAK2pB,mBAC3BC,uBAAwB5pB,EAAK6pB,4BApRjD,+BA0Rc,IAAD,qEACL,OACI,yBAAKnmB,UAAU,iBACX,yBAAK4F,GAAG,gBAAgB5F,UAAU,+BACN,IAAvBxF,KAAKQ,MAAM2M,QACR,6BACI,kBAAC2B,EAAA,EAAD,CAASC,MAAM,OAAOpI,SAAS,GAAGoB,MAAO,CAAEiH,SAAU,QAASC,IAAK,MAAOC,KAAM,UAElF,KAEN,kBAAC,EAAD,CACI9F,UAAWpJ,KAAKQ,MAAMoO,aACtBtF,UAAWtJ,KAAKQ,MAAMqO,WACtBxF,UAAWrJ,KAAKQ,MAAM6I,UACtBE,aAAc,kBAAM,EAAK7E,SAAS,CAAE2E,WAAW,KAC/CG,mBAAoB,MAExB,2BAAO4Y,YAAa,EAAGC,YAAa,GAChC,+BACI,4BACI,wBAAI1R,MAAM,OAAOD,QAAS,GACtB,2BAAO3I,MAAO,CAAEkF,SAAU,OAAQ0R,WAAY,MAAO5P,MAAO,YAA5D,6BAGR,4BACI,4BACI,2BAAOsT,YAAa,EAAGD,YAAa,GAChC,+BACI,4BACI,wBAAIzR,MAAM,OAAOE,OAAO,UACpB,kBAAC,EAAD,CACIzG,KAAK,OACLJ,MAAM,aACNC,YAAa,SAAC2B,GACV,EAAKlH,SAAS,CAAE+lB,oBAAqB7e,IACjC,WACI5L,KAAK8nB,qBAGjB5d,MAAK,UAAElK,KAAKQ,MAAMiqB,2BAAb,QAAoC,GACzCtgB,MAAO,CAAEkB,MAAO,WAGxB,wBAAIsF,MAAM,OAAOE,OAAO,UACpB,kBAAC,EAAD,CACIzG,KAAK,OACLJ,MAAM,MACNK,cAAe,EACfJ,YAAa,SAAC2B,GACV,EAAKlH,SAAS,CAAEumB,wBAAyBrf,IACrC,WACI5L,KAAK8nB,qBAGjB5d,MAAK,UAAElK,KAAKQ,MAAMyqB,+BAAb,QAAwC,GAC7C9gB,MAAO,CAAEkB,MAAO,UAGxB,wBAAIsF,MAAM,OAAOE,OAAO,UACpB,kBAAC,EAAD,CACIzG,KAAK,OACLJ,MAAM,YACNC,YAAa,SAAC2B,GACV,EAAKlH,SAAS,CAAEgmB,mBAAoB9e,IAChC,WACI5L,KAAK8nB,qBAGjB5d,MAAK,UAAElK,KAAKQ,MAAMkqB,0BAAb,QAAmC,GACxCvgB,MAAO,CAAEkB,MAAO,kBAUpD,+BACI,+BACI,4BACI,4BACI,2BAAOgX,YAAa,EAAGD,YAAa,GAChC,+BACI,4BACI,wBAAIzR,MAAM,OAAOE,OAAO,UACpB,kBAAC,EAAD,CACIzG,KAAK,MACLJ,MAAM,MACNK,cAAe,GACfJ,YAAa,SAAC2B,GACV,IAAImc,EAAejE,GAAqClY,GACxD,EAAKlH,SAAS,CAAEimB,cAAe5C,KAEnC7d,MAAK,UAAE4Z,GAAqC9jB,KAAKQ,MAAMmqB,sBAAlD,QAAoE,GACzExgB,MAAO,CAAEkB,MAAO,WAGxB,wBAAIsF,MAAM,OAAOE,OAAO,UACpB,kBAAC,EAAD,CACIzG,KAAK,OACLJ,MAAM,gBACNC,YAAa,SAAC2B,GACV,EAAKlH,SAAS,CAAEslB,cAAepe,KAEnC1B,WAAmCxI,GAA5B1B,KAAKQ,MAAMwpB,cAA6BhqB,KAAKqmB,YAAYrmB,KAAKQ,MAAMwpB,eAAiB,GAC5F7f,MAAO,CAAEkB,MAAO,UAGxB,wBAAIsF,MAAM,OAAOE,OAAO,UACpB,kBAAC,EAAD,CACIzG,KAAK,OACLJ,MAAM,4BACNK,cAAe,GACfJ,YAAa,SAAC2B,GACV,EAAKlH,SAAS,CAAEknB,wBAAyBhgB,KAE7C1B,MAAK,UAAElK,KAAKQ,MAAMorB,+BAAb,QAAwC,GAC7CzhB,MAAO,CAAEkB,MAAO,kBAUpD,+BACI,+BACI,4BACI,4BACI,2BAAOgX,YAAa,EAAGD,YAAa,GAChC,+BACI,4BACI,wBAAIzR,MAAM,OAAOE,OAAO,UAAxB,eAGA,wBAAIF,MAAM,OAAOE,OAAO,UACpB,yBAAKrL,UAAU,cACX,2BAAOoC,KAAK,QACRjD,KAAK,UACLoD,MAAO,CAAEyH,YAAa,OACtBG,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAEkmB,oBAAqBhf,EAAEC,OAAO2O,QAAU,MAAQ,QAEpEA,QAA4C,QAAnCxa,KAAKQ,MAAMoqB,sBAExB,sCACA,2BAAOhjB,KAAK,QACRjD,KAAK,UACLoD,MAAO,CAAEyH,YAAa,OACtBG,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAEkmB,oBAAqBhf,EAAEC,OAAO2O,QAAU,KAAO,SAEnEA,QAA4C,OAAnCxa,KAAKQ,MAAMoqB,sBAExB,qCACoC,OAAnC5qB,KAAKQ,MAAMoqB,oBACR,4BACItf,MAAOtL,KAAKQ,MAAMqqB,2BAClBlb,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAEmmB,2BAA4Bjf,EAAEC,OAAOP,UAGzD,4BAAQxB,IAAK,EAAGwB,MAAO,GAAvB,oBACCtL,KAAKQ,MAAMulB,UAAU1jB,KAAI,SAACuH,EAAMC,GAAP,OACtB,4BAAQC,IAAKD,EAAKyB,MAAO1B,EAAKjF,MAAOiF,EAAKjF,UAGhD,OAGd,kCAOpB,4BACI,4BACI,2BAAO0d,YAAa,EAAGD,YAAa,GAChC,+BACI,4BACI,wBAAIzR,MAAM,OAAOE,OAAO,UACpB,kBAAC,EAAD,CACIzG,KAAK,QACLJ,MAAM,aACNK,cAAe,GACfJ,YAAa,SAAC2B,GACV,IAAIoc,EAAiBlE,GAAkClY,GACvD,EAAKlH,SAAS,CAAEomB,oBAAqB9C,KAEzC9d,MAAK,UAAE4Z,GAAkC9jB,KAAKQ,MAAMsqB,4BAA/C,QAAuE,GAC5E3gB,MAAO,CAAEkB,MAAO,WAGxB,wBAAIsF,MAAM,OAAOE,OAAO,UACpB,kBAAC,EAAD,CACIzG,KAAK,QACLJ,MAAM,cACNK,cAAe,GACfJ,YAAa,SAAC2B,GACV,IAAIoc,EAAiBlE,GAAkClY,GACvD,EAAKlH,SAAS,CAAEqmB,qBAAsB/C,KAE1C9d,MAAK,UAAE4Z,GAAkC9jB,KAAKQ,MAAMuqB,6BAA/C,QAAwE,GAC7E5gB,MAAO,CAAEkB,MAAO,WAGxB,kCAOpB,4BACI,4BACI,2BAAOgX,YAAa,EAAGD,YAAa,GAChC,+BACI,4BACI,wBAAI1R,QAAS,EAAGC,MAAM,OAAOE,OAAO,UAChC,kBAAC,EAAD,CACIzG,KAAK,QACLJ,MAAM,QACNC,YAAa,SAAC2B,GACV,EAAKlH,SAAS,CAAEuhB,WAAYnC,GAA8BlY,KAC1D,EAAKlH,SAAS,CAAEqlB,gBAAiBne,KAErC1B,MAAK,UAAElK,KAAKQ,MAAMupB,uBAAb,QAAgC,GACrC5f,MAAO,CAAEkB,MAAO,aAGxB,oCAS5B,+BACI,+BACI,4BACI,wBAAIsF,MAAM,OAAO5I,MAAO,CAAEkgB,aAAc,QACpC,+BACI,+BACI,4BACI,wBAAIlgB,MAAO,CACPkF,SAAU,OAAQ0R,WAAY,MAAO8D,WAAY,OAAQ9Y,QAAS,OAClEwF,cAAe,MAAOE,WAAY,UACnCsB,MAAM,QACL,2BAAO5I,MAAO,CAAEkF,SAAU,SAA1B,qBACA,yCACIzH,UAAU,gBACVuC,MAAO,CAAE8H,WAAY,SAAUC,WAAY,MAAO7C,SAAU,QAAS2D,OAAQ,OAAQjH,QAAS,OAAQ0F,WAAY,UAClH7D,WAAUxL,KAAKQ,MAAM2M,QACrB9G,QAAS,WACL,EAAKwlB,wBALb,WAOc7rB,KAAKQ,MAAM2M,SAPzB,6BAaR,4BACI,4BACI,2BAAOkV,YAAa,EAAGD,YAAa,GAChC,+BACI,4BACI,wBAAI1R,QAAS,EAAGC,MAAM,OAAOE,OAAO,UAChC,kBAAC,EAAD,CACIzG,KAAK,OACLJ,MAAM,eACNC,YAAa,SAAC2B,GACV,EAAKlH,SAAS,CAAEwmB,yBAA0Btf,KAE9C1B,MAAK,UAAElK,KAAKQ,MAAM0qB,gCAAb,QAAyC,GAC9C/gB,MAAO,CAAEkB,MAAO,YAI5B,4BACI,wBAAIsF,MAAM,OAAOE,OAAO,UACpB,kBAAC,EAAD,CACIzG,KAAK,OACLJ,MAAM,OACNC,YAAa,SAAC2B,GACV,EAAKlH,SAAS,CAAE0mB,sBAAuBxf,KAE3C1B,MAAK,UAAElK,KAAKQ,MAAM4qB,6BAAb,QAAsC,GAC3CjhB,MAAO,CAAEkB,MAAO,UAGxB,wBAAIsF,MAAM,OAAOE,OAAO,UACpB,4BACIvF,MAAOtL,KAAKQ,MAAM8qB,yBAClB3b,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAE4mB,yBAA0B1f,EAAEC,OAAOP,UAGvD,4BAAQxB,IAAK,EAAGwB,MAAO,GAAvB,MACCtL,KAAKQ,MAAMwlB,OAAO3jB,KAAI,SAACuH,EAAMC,GAAP,OACnB,4BAAQC,IAAKD,EAAKyB,MAAO1B,EAAKwB,IAAKxB,EAAKjF,WAIpD,wBAAIgM,MAAM,OAAOE,OAAO,UACpB,kBAAC,EAAD,CACIzG,KAAK,SACLC,cAAe,EACfL,MAAM,MACNC,YAAa,SAAC2B,GACV,EAAKlH,SAAS,CAAE8mB,qBAAsB5f,KAE1C1B,MAAK,UAAElK,KAAKQ,MAAMgrB,4BAAb,QAAqC,GAC1CrhB,MAAO,CAAEkB,MAAO,WAI5B,4BACI,wBAAIsF,MAAM,OAAOE,OAAO,UACpB,kBAAC,EAAD,CACIzG,KAAK,SACLJ,MAAM,UACNC,YAAa,SAAC2B,GACV,EAAKlH,SAAS,CAAEgnB,uBAAwB9f,KAE5C1B,MAAK,UAAElK,KAAKQ,MAAMkrB,8BAAb,QAAuC,GAC5CvhB,MAAO,CAAEkB,MAAO,UAGxB,6BAEA,qCAUhC,wBAAIsF,MAAM,QACN,+BACI,+BACI,4BACI,wBAAID,QAAS,EAAG3I,MAAO,CAAEkF,SAAU,OAAQ0R,WAAY,MAAO8D,WAAY,QAAU9R,MAAM,QAA1F,uBAIJ,4BACI,4BACI,2BAAO0R,YAAa,EAAGD,YAAa,GAChC,+BACI,4BACI,wBAAI1R,QAAS,EAAGC,MAAM,OAAOE,OAAO,UAChC,kBAAC,EAAD,CACIzG,KAAK,OACLJ,MAAM,eACNC,YAAa,SAAC2B,GACV,EAAKlH,SAAS,CAAEonB,0BAA2BlgB,KAE/C1B,MAAK,UAAElK,KAAKQ,MAAMsrB,iCAAb,QAA0C,GAC/C3hB,MAAO,CAAEkB,MAAO,YAI5B,4BACI,wBAAIsF,MAAM,OAAOE,OAAO,UACpB,kBAAC,EAAD,CACIzG,KAAK,OACLJ,MAAM,OACNC,YAAa,SAAC2B,GACV,EAAKlH,SAAS,CAAEqnB,uBAAwBngB,KAE5C1B,MAAK,UAAElK,KAAKQ,MAAMurB,8BAAb,QAAuC,GAC5C5hB,MAAO,CAAEkB,MAAO,UAGxB,wBAAIsF,MAAM,OAAOE,OAAO,UACpB,4BACIvF,MAAOtL,KAAKQ,MAAMwrB,0BAClBrc,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAEsnB,0BAA2BpgB,EAAEC,OAAOP,UAGxD,4BAAQxB,IAAK,EAAGwB,MAAO,GAAvB,MACCtL,KAAKQ,MAAMwlB,OAAO3jB,KAAI,SAACuH,EAAMC,GAAP,OACnB,4BAAQC,IAAKD,EAAKyB,MAAO1B,EAAKwB,IAAKxB,EAAKjF,WAIpD,wBAAIgM,MAAM,OAAOE,OAAO,UACpB,kBAAC,EAAD,CACIzG,KAAK,SACLC,cAAe,EACfL,MAAM,MACNC,YAAa,SAAC2B,GACV,EAAKlH,SAAS,CAAEunB,sBAAuBrgB,KAE3C1B,MAAK,UAAElK,KAAKQ,MAAMyrB,6BAAb,QAAsC,GAC3C9hB,MAAO,CAAEkB,MAAO,WAI5B,4BACI,wBAAIsF,MAAM,OAAOE,OAAO,UACpB,kBAAC,EAAD,CACIzG,KAAK,SACLJ,MAAM,UACNC,YAAa,SAAC2B,GACV,EAAKlH,SAAS,CAAEwnB,wBAAyBtgB,KAE7C1B,MAAK,UAAElK,KAAKQ,MAAM0rB,+BAAb,QAAwC,GAC7C/hB,MAAO,CAAEkB,MAAO,UAGxB,6BAEA,wCAa5C,+BACI,+BACI,4BACI,wBAAIsF,MAAM,QACN,2BAAO0R,YAAa,EAAGD,YAAa,GAChC,+BACI,4BACI,wBAAIzR,MAAM,OAAOE,OAAO,UAAxB,gBAGA,wBAAIF,MAAM,OAAOE,OAAO,UACpB,yBAAKrL,UAAU,cACX,2BAAOoC,KAAK,QACRjD,KAAK,UACLoD,MAAO,CAAEyH,YAAa,OACtBG,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAEynB,2BAA4BvgB,EAAEC,OAAO2O,QAAU,MAAQ,UAE3EA,QAAmD,QAA1Cxa,KAAKQ,MAAM2rB,6BAExB,sCACA,2BAAOvkB,KAAK,QACRjD,KAAK,UACLoD,MAAO,CAAEyH,YAAa,OACtBG,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAEynB,2BAA4BvgB,EAAEC,OAAO2O,QAAU,OAAS,SAE5EA,QAAmD,SAA1Cxa,KAAKQ,MAAM2rB,6BAExB,yCAGR,kCAOpB,4BACI,wBAAIxb,MAAM,OAAOE,OAAO,UACpB,kBAAC,EAAD,CACIzG,KAAK,SACLJ,MAAM,0BACNC,YAAa,SAAC2B,GACV,EAAKlH,SAAS,CAAE0nB,8BAA+BxgB,KAEnD1B,MAAK,UAAElK,KAAKogB,eAAepgB,KAAKQ,MAAM4rB,sCAAjC,QAAmE,GACxEjiB,MAAO,CAAEkB,MAAO,WAGxB,wBAAIsF,MAAM,OAAOE,OAAO,WAExB,wBAAIF,MAAM,OAAOE,OAAO,YAG5B,4BACI,wBAAIF,MAAM,OAAO5I,MAAO,CAAEkgB,aAAc,QACpC,2BAAO5F,YAAa,EAAGD,YAAa,GAChC,+BACI,4BACI,wBAAIra,MAAO,CAAEkF,SAAU,OAAQ0R,WAAY,MAAO8D,WAAY,QAAU9R,MAAM,QAA9E,eAIJ,4BACI,wBAAID,QAAS,EAAGC,MAAM,OAAOE,OAAO,UAChC,kBAAC,EAAD,CACIzG,KAAK,OACLJ,MAAM,2BACNC,YAAa,SAAC2B,GACV,EAAKlH,SAAS,CAAE2nB,8BAA+BzgB,KAEnD1B,MAAK,UAAElK,KAAKQ,MAAM6rB,qCAAb,QAA8C,GACnDliB,MAAO,CAAEkB,MAAO,YAI5B,4BACI,wBAAIqF,QAAS,EAAGC,MAAM,OAAOE,OAAO,UAChC,kBAAC,EAAD,CACIzG,KAAK,OACLJ,MAAM,mBACNC,YAAa,SAAC2B,GACV,EAAKlH,SAAS,CAAE4nB,8BAA+B1gB,KAEnD1B,MAAK,UAAElK,KAAKQ,MAAM8rB,qCAAb,QAA8C,GACnDniB,MAAO,CAAEkB,MAAO,YAI5B,4BACI,wBAAIqF,QAAS,EAAGC,MAAM,OAAOE,OAAO,UAChC,kBAAC,EAAD,CACIzG,KAAK,OACLJ,MAAM,WACNC,YAAa,SAAC2B,GACV,EAAKlH,SAAS,CAAE6nB,kCAAmC3gB,KAEvD1B,MAAK,UAAElK,KAAKQ,MAAM+rB,yCAAb,QAAkD,GACvDpiB,MAAO,CAAEkB,MAAO,YAI5B,4BACI,wBAAIqF,QAAS,EAAGC,MAAM,OAAOE,OAAO,UAChC,kBAAC,EAAD,CACIzG,KAAK,SACLJ,MAAM,UACNC,YAAa,SAAC2B,GACV,EAAKlH,SAAS,CAAE8nB,+BAAgC5gB,KAEpD1B,MAAK,UAAElK,KAAKQ,MAAMgsB,sCAAb,QAA+C,GACpDriB,MAAO,CAAEkB,MAAO,WAI5B,4BACI,wBAAIqF,QAAS,EAAGC,MAAM,OAAOE,OAAO,UAChC,kBAAC,EAAD,CACIzG,KAAK,OACLJ,MAAM,UACNC,YAAa,SAAC2B,GACV,EAAKlH,SAAS,CAAE+nB,iCAAkC7gB,KAEtD1B,MAAK,UAAElK,KAAKQ,MAAMisB,wCAAb,QAAiD,GACtDtiB,MAAO,CAAEkB,MAAO,cAI5B,4BACI,wBAAIsF,MAAM,OAAOE,OAAO,UACpB,kBAAC,EAAD,CACIzG,KAAK,OACLJ,MAAM,OACNC,YAAa,SAAC2B,GACV,EAAKlH,SAAS,CAAEgoB,8BAA+B9gB,KAEnD1B,MAAK,UAAElK,KAAKQ,MAAMksB,qCAAb,QAA8C,GACnDviB,MAAO,CAAEkB,MAAO,UAGxB,wBAAIsF,MAAM,OAAOE,OAAO,UACpB,4BACIvF,MAAOtL,KAAKQ,MAAMmsB,iCAClBhd,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAEioB,iCAAkC/gB,EAAEC,OAAOP,UAG/D,4BAAQxB,IAAK,EAAGwB,MAAO,GAAvB,MACCtL,KAAKQ,MAAMwlB,OAAO3jB,KAAI,SAACuH,EAAMC,GAAP,OACnB,4BAAQC,IAAKD,EAAKyB,MAAO1B,EAAKwB,IAAKxB,EAAKjF,WAIpD,wBAAIgM,MAAM,OAAOE,OAAO,UACpB,kBAAC,EAAD,CACIzG,KAAK,SACLC,cAAe,EACfL,MAAM,MACNC,YAAa,SAAC2B,GACV,EAAKlH,SAAS,CAAEkoB,6BAA8BhhB,KAElD1B,MAAK,UAAElK,KAAKQ,MAAMosB,oCAAb,QAA6C,GAClDziB,MAAO,CAAEkB,MAAO,cAOxC,wBAAIsF,MAAM,QAAQE,OAAO,OACrB,2BAAOwR,YAAa,EAAGD,YAAa,GAChC,+BACI,4BACI,wBAAIra,MAAO,CAAEkF,SAAU,OAAQ0R,WAAY,MAAO8D,WAAY,QAAU9R,MAAM,QAA9E,wBAIJ,4BACI,wBAAID,QAAS,EAAGC,MAAM,OAAOE,OAAO,UAChC,kBAAC,EAAD,CACIzG,KAAK,OACLJ,MAAM,2BACNC,YAAa,SAAC2B,GACV,EAAKlH,SAAS,CAAEmoB,+BAAgCjhB,KAEpD1B,MAAK,UAAElK,KAAKQ,MAAMqsB,sCAAb,QAA+C,GACpD1iB,MAAO,CAAEkB,MAAO,YAI5B,4BACI,wBAAIqF,QAAS,EAAGC,MAAM,OAAOE,OAAO,UAChC,kBAAC,EAAD,CACIzG,KAAK,OACLJ,MAAM,mBACNC,YAAa,SAAC2B,GACV,EAAKlH,SAAS,CAAEooB,+BAAgClhB,KAEpD1B,MAAK,UAAElK,KAAKQ,MAAMssB,sCAAb,QAA+C,GACpD3iB,MAAO,CAAEkB,MAAO,YAI5B,4BACI,wBAAIqF,QAAS,EAAGC,MAAM,OAAOE,OAAO,UAChC,kBAAC,EAAD,CACIzG,KAAK,OACLJ,MAAM,WACNC,YAAa,SAAC2B,GACV,EAAKlH,SAAS,CAAEqoB,mCAAoCnhB,KAExD1B,MAAK,UAAElK,KAAKQ,MAAMusB,0CAAb,QAAmD,GACxD5iB,MAAO,CAAEkB,MAAO,YAI5B,4BACI,wBAAIqF,QAAS,EAAGC,MAAM,OAAOE,OAAO,UAChC,kBAAC,EAAD,CACIzG,KAAK,SACLJ,MAAM,UACNC,YAAa,SAAC2B,GACV,EAAKlH,SAAS,CAAEsoB,gCAAiCphB,KAErD1B,MAAK,UAAElK,KAAKQ,MAAMwsB,uCAAb,QAAgD,GACrD7iB,MAAO,CAAEkB,MAAO,iBAUpD,+BACI,+BACI,4BACI,wBAAIqF,QAAS,EAAG3I,MAAO,CAAEkF,SAAU,OAAQ0R,WAAY,MAAO8D,WAAY,QAAU9R,MAAM,QAA1F,kBAIJ,4BACI,4BACI,kBAAC,EAAD,CACIvG,KAAK,SACLJ,MAAM,QACNC,YAAa,SAAC2B,GACV,EAAKlH,SAAS,CAAEylB,sBAAuBve,IAAK,WAAc5L,KAAKkmB,qBAGnEhc,MAAOlK,KAAKogB,eAAepgB,KAAKQ,MAAM2pB,uBACtChgB,MAAO,CAAEkB,MAAO,UAGxB,4BACI,kBAAC,EAAD,CACIjB,KAAK,SACLJ,MAAM,gBACNC,YAAa,SAAC2B,GACV,EAAKlH,SAAS,CAAE0lB,8BAA+Bxe,IAAK,WAAc5L,KAAKkmB,qBAE3Ehc,MAAOlK,KAAKogB,eAAepgB,KAAKQ,MAAM4pB,+BACtCjgB,MAAO,CAAEkB,MAAO,UAGxB,4BACI,kBAAC,EAAD,CACIjB,KAAK,SACLJ,MAAM,gBACNC,YAAa,SAAC2B,GACV,EAAKlH,SAAS,CAAE2lB,6BAA8Bze,IAAK,WAAc5L,KAAKkmB,qBAE1Ehc,MAAOlK,KAAKogB,eAAepgB,KAAKQ,MAAM6pB,8BACtClgB,MAAO,CAAEkB,MAAO,UAGxB,4BACI,kBAAC,EAAD,CACIjB,KAAK,SACLJ,MAAM,UACNC,YAAa,SAAC2B,GACV,EAAKlH,SAAS,CAAE4lB,wBAAyB1e,IAAK,WAAc5L,KAAKkmB,qBAErEhc,MAAOlK,KAAKogB,eAAepgB,KAAKQ,MAAM8pB,yBACtCngB,MAAO,CAAEkB,MAAO,UAGxB,4BACI,kBAAC,EAAD,CACIjB,KAAK,SACLJ,MAAM,QACNC,YAAa,SAAC2B,GACV,EAAKlH,SAAS,CAAE6lB,sBAAuB3e,IAAK,WAAc5L,KAAKkmB,qBAEnEhc,MAAOlK,KAAKogB,eAAepgB,KAAKQ,MAAM+pB,uBACtCpgB,MAAO,CAAEkB,MAAO,UAGxB,4BACI,kBAAC,EAAD,CACIjB,KAAK,SACLJ,MAAM,QACNC,YAAa,SAAC2B,GACV,EAAKlH,SAAS,CAAE8lB,sBAAuB5e,IAAK,WAAc5L,KAAKkmB,qBAEnEhc,MAAOlK,KAAKogB,eAAepgB,KAAKQ,MAAMgqB,uBACtCrgB,MAAO,CAAEkB,MAAO,OAChBd,UAAU,QAM9B,+BACI,+BACI,4BACI,wBAAImG,QAAS,EAAGC,MAAM,OAAO5I,MAAO,CAAE0a,WAAY,SAC9C,yBAAK1a,MAAO,CAAEkF,SAAU,OAAQ0R,WAAY,MAAO8D,WAAY,MAAOpX,MAAO,SAAUuF,OAAQ,OAAQV,SAAU,OAAQuV,OAAQ,iBAAkB3O,QAAS,MAAO0O,gBAAiB,cAApL,mnBAConB,6BAAM,6BAD1nB,2HAE4H,6BAAM,6BAFlI,0KAG2K,6BAAM,6BAHjL,4UAI6U,6BAAM,6BAJnV,0fAK2f,6BAAM,6BALjgB,oOAMqO,6BAAM,6BAN3O,wfAOyf,uBAAGtd,KAAK,qCAAR,8BAA0E,6BAAM,gCAIjlB,4BACI,4BACI,yBAAKH,MAAO,CAAE4B,QAAS,OAAQwF,cAAe,MAAO9D,MAAO,cAAegE,WAAY,SAAUD,eAAgB,eAC7G,2BACIxH,KAAK,WACL4S,QAAO,UAAExa,KAAKQ,MAAMkpB,iDAAb,SACP/Z,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAEglB,2CAA4C,EAAKlpB,MAAMkpB,6CAE3E3hB,MAAO,CAAEyH,YAAa,SAE1B,2BAAOzH,MAAO,CAAEwH,aAAc,IAAKtC,SAAU,SAA7C,uIAIZ,4BACI,4BACI,2BAAOoV,YAAa,EAAGta,MAAO,CAAEwH,aAAc,SAC1C,+BACI,4BACI,4BACI,kBAAC,EAAD,CACInF,KAAK,OACLJ,MAAM,qBACNC,YAAa,SAAC2B,GACV,EAAKlH,SAAS,CAAE4iB,kBAAmB1b,KAEvC1B,MAAK,UAAElK,KAAKQ,MAAM8mB,yBAAb,QAAkC,GACvCnd,MAAO,CAAEkB,MAAO,OAAQ2B,WAAY,kBAAmBC,SAAU,WAGzE,4BACI,kBAAC,EAAD,CACI7C,KAAK,OACLJ,MAAM,OACNC,YAAa,SAAC2B,GACV,EAAKlH,SAAS,CAAE4hB,sBAAuB1a,KAE3C1B,WAA2CxI,GAApC1B,KAAKQ,MAAM8lB,sBAAqCtmB,KAAKqmB,YAAYrmB,KAAKQ,MAAM8lB,uBAAyBtmB,KAAK0E,SAAS,CAAE4hB,sBAAuBxC,IAAyC,IAAII,MAAOyF,mBAAmB,SAAU,UACpOxf,MAAO,CAAEkB,MAAO,WAI5B,4BACI,4BACI,kBAAC,EAAD,CACIjB,KAAK,OACLJ,MAAM,wBACNC,YAAa,SAAC2B,GACV,EAAKlH,SAAS,CAAEsmB,oBAAqBpf,KAEzC1B,MAAK,UAAElK,KAAKQ,MAAMwqB,2BAAb,QAAoC,GACzC7gB,MAAO,CAAEkB,MAAO,OAAQ2B,WAAY,kBAAmBC,SAAU,WAGzE,4BACI,kBAAC,EAAD,CACI7C,KAAK,OACLJ,MAAM,OACNC,YAAa,SAAC2B,GACV,EAAKlH,SAAS,CAAEulB,wBAAyBre,KAE7C1B,WAA6CxI,GAAtC1B,KAAKQ,MAAMypB,wBAAuCjqB,KAAKqmB,YAAYrmB,KAAKQ,MAAMypB,yBAA2BjqB,KAAK0E,SAAS,CAAEulB,wBAAyBnG,IAAyC,IAAII,MAAOyF,mBAAmB,SAAU,UAC1Oxf,MAAO,CAAEkB,MAAO,kBAWxD,yBAAK7F,UAAU,yBACX,2BAAOuC,MAAO,CAAE6I,OAAQ,SACpB,+BACI,4BACI,wBAAID,MAAM,SAASE,OAAO,UACtB,4BACIrL,UAAU,gBACVuC,MAAO,CAAE8H,WAAY,UACrBrE,SAAUxL,KAAKQ,MAAM2M,QACrB9G,QAAS,WACL,EAAK8b,KAAK,2BALlB,SAUJ,wBAAIxR,MAAM,SAASE,OAAO,UACtB,yCACIrL,UAAU,gBACVuC,MAAO,CAAE8H,WAAY,UACrBrE,WAAUxL,KAAKQ,MAAM2M,QACrB9G,QAAS,WACL,EAAK8b,SALb,WAOcniB,KAAKQ,MAAM2M,UAAYnN,KAAKQ,MAAMkpB,2CAPhD,2BAgBpB,kBAAC,GAAD,CACI1E,WAAY,mBACZC,SAAU,4MACVE,YAAa,+CACbE,aAAa,EACbC,YAAa,2DACbF,oBAAqBplB,KAAK4pB,mBAC1BrE,oBAAqBvlB,KAAK4lB,mBAC1BV,UAAWllB,KAAKQ,MAAM0kB,eA9oC1C,2CAqpCQ1d,OAAOmH,SAASzG,KAAO,yCArpC/B,2CAypCQV,OAAOmH,SAASzG,KAAO,+BAzpC/B,GAA0CxC,aAA7B6nB,GACF9mB,YAAc8mB,GAAqB5oB,KCV9C,IAae6oB,GAbI,CACfC,aAAc,SAAU3rB,EAAMwF,EAAUC,GACpC,IAAMhG,EAAMiG,OAAOC,IAAIC,gBAAgB,IAAIC,KAAK,CAAC7F,GAAO,CAAE8F,KAAML,KAC1DzD,EAAI+D,SAASC,cAAc,KACjChE,EAAEiE,MAAQ,gBACVF,SAASG,KAAKC,YAAYnE,GAC1BA,EAAEoE,KAAO3G,EACTuC,EAAEqE,SAAWb,EACbxD,EAAEsE,QACFZ,OAAOC,IAAIY,gBAAgB9G,KCDtBmsB,GAAb,kDACI,WAAYzpB,GAAQ,IAAD,8BACf,cAAMA,IAEDzD,MAAQ,CACT2M,SAAS,EACTwgB,KAAM,GACN7qB,OAAQ,GACR8qB,gBAAgB,EAChBC,YAAY,EACZtV,OAAQ,IATG,EADvB,kLAeQ,IAEe,KADPnN,EAAKgC,eAAeoB,QAAQ,QACT,OAAPpD,EACZpL,KAAK0E,SAAS,CAAE4a,GAAIlU,EAAImU,oBAAqBnU,EAAIgQ,YAAY,IAG7Dpb,KAAK0E,SAAS,CAAE4a,GAAI,EAAGC,oBAAqB,EAAGnE,YAAY,IAG3D7C,EAASnL,eAAeoB,QAAQ,WAEpCxO,KAAK0E,SAAS,CAAE6T,OAAQA,EAAQpL,SAAS,IAAQ,WAAa,IAAD,QAC/C,IAAIvG,GAEZO,WAAW,qCAAuCoR,GAC/ChL,MAAK,SAACzL,GACS,aAARA,GACA,EAAK4C,SAAS,CAAEmpB,YAAY,EAAM1gB,SAAS,IAC3C,EAAKkQ,iCAGL,EAAK3Y,SAAS,CAAEmpB,YAAY,EAAO1gB,SAAS,IAC5C,EAAKkQ,+BACL,EAAKE,sBAKzB,MAAOrU,GACHpI,QAAQC,IAAI,gCAAkCmI,GAC9ClJ,KAAK0E,SAAS,CAAEyI,SAAS,IA7CrC,wQAkDQ,IACInN,KAAK0E,SAAS,CAAE+J,cAAe,GAAItB,SAAS,IAEtCO,EAAI,IAAI9G,EAEVuH,EALJ,UAKenO,KAAKQ,MAAM4N,gBAL1B,QAKsC,KAClCC,EANJ,UAMarO,KAAKQ,MAAM8N,cANxB,QAMkC,KAC9BiK,EAASvY,KAAKQ,MAAM+X,OAEpBzW,EAAO,CACPgsB,KAAM3f,EACN4f,GAAI1f,EACJ2f,OAAQhuB,KAAKQ,MAAMsC,OACnBmZ,UAAWjc,KAAKQ,MAAMmtB,KACtBM,OAAQ1V,GAGZ7K,EAAE3G,KAAK,qCAAsCjF,GACxCyL,MAAK,SAACzL,GACH,EAAK4C,SAAS,CAAE+J,cAAe3M,EAAMqL,SAAS,OAI1D,MAAOjE,GACHlJ,KAAK0E,SAAS,CAAEyI,SAAS,IACzBrM,QAAQC,IAAI,YAAcmI,GA3EtC,gQAgFoBtC,IACNC,IAAI,mCACL0G,MAAK,SAACzL,GACH,EAAK4C,SAAS,CAAEipB,KAAM7rB,OAnFtC,2QAwFoB8E,IACNC,IAAI,mDACL0G,MAAK,SAACzL,GACH,EAAK4C,SAAS,CAAE5B,OAAQhB,OA3FxC,kIA+FesJ,EAAIoP,GACX,IAAI0T,EAAQluB,KAAKQ,MAAMmtB,KACnBprB,EAAQ2rB,EAAMC,WAAU,SAAAzgB,GAAC,OAAIA,EAAEtC,IAAMA,KACrCgjB,GAAa,EAEjBF,EAAM3rB,GAAOiY,QAAUA,EAEvB,IAAK,IAAI5X,EAAI,EAAGA,EAAI5C,KAAKQ,MAAMmtB,KAAKjrB,OAAQE,IAChB,GAApBsrB,EAAMtrB,GAAG4X,UACT4T,GAAa,GAIrBpuB,KAAK0E,SAAS,CAAEipB,KAAMO,EAAON,eAAgBQ,MA5GrD,oCA+GkBhjB,EAAIoP,GACd,IAAI6T,EAAUruB,KAAKQ,MAAMsC,OACrBP,EAAQ8rB,EAAQF,WAAU,SAAAzgB,GAAC,OAAIA,EAAEtC,IAAMA,KAE3CijB,EAAQ9rB,GAAOiY,QAAUA,EAEzBxa,KAAK0E,SAAS,CAAE5B,OAAQurB,MArHhC,oCAwHkB7T,GAGV,IAFA,IAAI0T,EAAQluB,KAAKQ,MAAMmtB,KAEd/qB,EAAI,EAAGA,EAAI5C,KAAKQ,MAAMmtB,KAAKjrB,OAAQE,IACxCsrB,EAAMtrB,GAAG4X,QAAUA,EAGvBxa,KAAK0E,SAAS,CAAEipB,KAAMO,EAAON,eAAgBpT,MA/HrD,0LAoIYxa,KAAK0E,SAAS,CAAEyI,SAAS,IAEN,8BAEbO,EAAI,IAAI9G,EAEVuH,EA1IhB,UA0I2BnO,KAAKQ,MAAM4N,gBA1ItC,QA0IkD,KAClCC,EA3IhB,UA2IyBrO,KAAKQ,MAAM8N,cA3IpC,QA2I8C,KAC9BiK,EAASvY,KAAKQ,MAAM+X,OAEpBzW,EAAO,CACPgsB,KAAM3f,EACN4f,GAAI1f,EACJ2f,OAAQhuB,KAAKQ,MAAMsC,OACnBmZ,UAAWjc,KAAKQ,MAAMmtB,KACtBM,OAAQ1V,GAnJxB,UAsJkB7K,EAAE1G,SAAS,kCAAmClF,GAC/CyL,MAAK,SAAC+Q,GACH,IACMC,EADSD,EAAI3V,QAAQ9B,IAAI,uBACV+F,MAAM,KAO3B,OALItF,EADAiX,EAAM,GACKA,EAAM,GAAG3R,MAAM,KAAK,GArBxB,8BA0BJ0R,EAAIE,UAEdjR,MAAK,SAAAzL,GACF0rB,GAAWC,aAAa3rB,EAAMwF,EAAU,YACxC,EAAK5C,SAAS,CAAEyI,SAAS,OAE5BsR,OAAM,SAACrd,GACJN,QAAQC,IAAI,0BAA4BK,EAAMD,SAC9C,EAAKuD,SAAS,CAAEyI,SAAS,OAxK7C,0DA6KYnN,KAAK0E,SAAS,CAAEyI,SAAS,IACzBrM,QAAQC,IAAI,wBA9KxB,+IAkLc,IAAD,uBACL,OACI,yBAAKyE,UAAU,iBACX,kBAAC,GAAD,CACI4V,WAAYpb,KAAKQ,MAAM4a,WACvBC,aAAcrb,KAAKQ,MAAM+e,oBACzBjE,YAAa,SAAC1P,OAElB,kBAAC,EAAD,CACIxC,UAAWpJ,KAAKQ,MAAMoO,aACtBtF,UAAWtJ,KAAKQ,MAAMqO,WACtBxF,UAAWrJ,KAAKQ,MAAM6I,UACtBE,aAAc,kBAAM,EAAK7E,SAAS,CAAE2E,WAAW,KAC/CG,mBAAoB,MAExB,yBAAKhE,UAAU,+BACa,IAAvBxF,KAAKQ,MAAM2M,QACR,6BACI,kBAAC2B,EAAA,EAAD,CAASC,MAAM,OAAOpI,SAAS,GAAGoB,MAAO,CAAEiH,SAAU,QAASC,IAAK,MAAOC,KAAM,UAElF,KAEN,yBAAKnH,MAAO,CAAEsD,MAAO,OAAQuF,OAAQ,cAAejH,QAAS,OAAQwF,cAAe,MAAOC,eAAgB,aAAcC,WAAY,aAAcC,UAAW,MAAOC,aAAc,QAC/K,yBAAKxH,MAAO,CAAEkI,UAAW,QAASC,SAAU,SACxC,2BAAO1K,UAAW,gBAAiB6c,YAAa,EAAGD,YAAa,GAC5D,+BACI,4BACI,wBAAI1R,QAAS,EAAGC,MAAM,QAAO,uCAEhC3Q,KAAKQ,MAAMsC,SAAU,UAAA9C,KAAKQ,MAAMsC,cAAX,eAAmBJ,QAAS,EAAjD,UACG1C,KAAKQ,MAAMsC,cADd,aACG,EAAmBT,KAAI,SAACuH,EAAMhH,GAAP,OACnB,wBAAIkH,IAAKlH,GACL,4BACI,2BAAOgF,KAAM,WAAYjD,KAAM,SAAU6V,QAAS5Q,EAAK4Q,QAAS7K,SAAU,SAAC/D,GAAD,OAAO,EAAK0iB,cAAc1kB,EAAKwB,GAAIQ,EAAEC,OAAO2O,aAE1H,4BACK5Q,EAAKjF,UAGd,QAIlB3E,KAAKQ,MAAMqtB,WA4BA,KA3BT,yBAAK9lB,MAAO,CAAE+H,WAAY,OAAQG,UAAW,QAASC,SAAU,SAC5D,2BAAO1K,UAAW,YAAa6c,YAAa,EAAGD,YAAa,GACxD,+BACI,4BACI,wBAAI1R,QAAS,EAAGC,MAAM,QAAO,2CAEjC,wBAAI7G,KAAM,GACN,4BACI,2BAAOlC,KAAM,WAAYjD,KAAM,MAAO6V,QAASxa,KAAKQ,MAAMotB,eAAgBje,SAAU,SAAC/D,GAAQ,EAAK2iB,cAAc3iB,EAAEC,OAAO2O,aAE7H,2CAIHxa,KAAKQ,MAAMmtB,OAAQ,UAAA3tB,KAAKQ,MAAMmtB,YAAX,eAAiBjrB,QAAS,EAA7C,UACG1C,KAAKQ,MAAMmtB,YADd,aACG,EAAiBtrB,KAAI,SAACuH,EAAMhH,GAAP,OACjB,wBAAIkH,IAAKlH,GACL,4BACI,2BAAOgF,KAAM,WAAYjD,KAAM,MAAO6V,QAAS5Q,EAAK4Q,QAAS7K,SAAU,SAAC/D,GAAD,OAAO,EAAK4iB,WAAW5kB,EAAKwB,GAAIQ,EAAEC,OAAO2O,aAEpH,4BACK5Q,EAAKjF,UAGd,QAIxB,yBAAKoD,MAAO,CAAE4B,QAAS,OAAQwF,cAAe,MAAOC,eAAgB,aAAcqf,UAAW,WAAY7d,OAAQ,OAAQ8d,YAAa,QACnI,2BAAOlpB,UAAU,kBACb,+BACI,4BACI,4BACI,kBAAC,EAAD,CACI4E,KAAK,QACLJ,MAAM,YACNC,YAAa,SAAC2B,GACV,EAAKlH,SAAS,CAAE0J,SAAUxC,KAE9B1B,MAAK,UAAElK,KAAKQ,MAAM4N,gBAAb,QAAyB,GAC9BjE,MAAO,CAAEkB,MAAO,UAGxB,4BACI,kBAAC,EAAD,CACIjB,KAAK,QACLJ,MAAM,UACNC,YAAa,SAAC2B,GACV,EAAKlH,SAAS,CAAE4J,OAAQ1C,KAE5B1B,MAAK,UAAElK,KAAKQ,MAAM8N,cAAb,QAAuB,GAC5BnE,MAAO,CAAEkB,MAAO,UAGxB,wBAAIwF,OAAO,UACP,4BACIrL,UAAU,sBACVuC,MAAO,CAAE8H,WAAY,UACrBrE,WAAUxL,KAAKQ,MAAM2M,QACrB9G,QAAS,WACL,EAAKoH,WALb,WAUJ,wBAAIoD,OAAO,UACP,4BACIrL,UAAU,sBACVuC,MAAO,CAAE8H,WAAY,UACrBrE,WAAUxL,KAAKQ,MAAM2M,QACrB9G,QAAS,WACL,EAAKsoB,iBALb,uBAexB,yBAAK5mB,MAAO,CAAEiI,SAAU,OAAQC,UAAW,SAAUC,SAAU,SAC3D,2BAAO1K,UAAU,YAAYuC,MAAO,CAAEiI,SAAU,SAC5C,+BACI,4BACI,yCACA,mDACA,4CACA,yCACA,sCACA,2CACA,qCACA,iDACA,mDACA,oDACA,mDAGR,+BACKhQ,KAAKQ,MAAMiO,gBAAiB,UAAAzO,KAAKQ,MAAMiO,qBAAX,eAA0B/L,QAAS,EAA/D,UACG1C,KAAKQ,MAAMiO,qBADd,aACG,EAA0BpM,KAAI,SAACuH,EAAMC,GAAP,OAC1B,wBAAIC,IAAKD,GACL,4BAAKD,EAAK4G,UACV,4BAAK5G,EAAKglB,mBACV,4BAAKhlB,EAAKilB,aACV,4BAAKjlB,EAAKklB,kBACV,4BAAKllB,EAAKmlB,QACV,4BAAKnlB,EAAK0G,YACV,4BAAK1G,EAAKolB,YACV,4BAAKplB,EAAKqlB,WACV,4BAAKrlB,EAAKslB,sBACV,4BAAKtlB,EAAKulB,oBACV,4BAAKvlB,EAAKwlB,0BAIlB,4BACI,wBAAI1e,QAAS,GAAIC,MAAM,UAAvB,gCAOxB,yBAAKnL,UAAU,UACX,2BAAOuC,MAAO,CAAEsD,MAAO,OAAQuF,OAAQ,SACnC,+BACI,4BACI,wBAAID,MAAM,SAASE,OAAO,oBA9V1D,GAA+BnL,a,SCNhB2pB,G,OAAAA,EAAMC,OAAO,CAGxBC,QAAS,qCAGT5mB,QAAS,CACL,eAAgB,sBC2BT,O,wIAhCE6mB,EAAMC,EAAqBC,EAAgBC,G,yFAChCjwB,EAAY+I,iB,cAA1BC,E,QACFknB,EAAW,IAAIC,UACVC,OAAO,OAAQN,GACxBI,EAASE,OAAO,sBAAuBL,GACvCG,EAASE,OAAO,iBAAkBJ,G,kBAC3BK,GAAKhpB,KAAK,oBAAqB6oB,EAAU,CAC5CjnB,QAAS,CACL,eAAgB,sBAChB,cAAgB,UAAhB,OAA2BD,IAE/BinB,sB,gLAGOF,G,uFACS/vB,EAAY+I,iB,cAA1BC,E,yBACCqnB,GAAKlpB,IAAI,uCAAyC4oB,EAAqB,CAC1E9mB,QAAS,CACL,cAAgB,UAAhB,OAA2BD,O,2QAMfhJ,EAAY+I,iB,cAA1BC,E,yBACCqnB,GAAKlpB,IAAI,0BAA2B,CACvC8B,QAAS,CACL,cAAgB,UAAhB,OAA2BD,O,kHCxBtBsnB,G,kDACjB,WAAY/rB,GAAQ,IAAD,8BACf,cAAMA,IAEDzD,MAAQ,CACTyvB,mBAAevuB,EACfwuB,cAAe,GACf/uB,QAAS,GACTgvB,UAAW,GACXC,WAAY,OACZC,cAAe,GACfC,eAAgB,GAGpB,EAAKC,WAAa,EAAKA,WAAW1qB,KAAhB,gBAClB,EAAK2qB,YAAc,EAAKA,YAAY3qB,KAAjB,gBACnB,EAAK4qB,aAAevR,IAAMC,YAfX,E,gEAkBE,IAAD,OAChBuR,GAAcC,mBACTpjB,MAAK,SAAC1L,GACH,EAAK6C,SAAS,CACV2rB,cAAexuB,EAASC,OACzB,WACC9B,KAAK4wB,0B,wCAKF,IAAD,OACdF,GAAcG,SAAS7wB,KAAKiE,MAAMsb,qBAAqBhS,MAAK,SAAC1L,GACzD,EAAK6C,SAAS,CACVyrB,UAAWtuB,EAASC,Y,yCAKbgvB,GAAY,IAAD,OACtBA,EAAUvR,sBAAwBvf,KAAKiE,MAAMsb,qBAC7CmR,GAAcG,SAAS7wB,KAAKiE,MAAMsb,qBAAqBhS,MAAK,SAAC1L,GACzD,EAAK6C,SAAS,CACVyrB,UAAWtuB,EAASC,KACpBmuB,mBAAevuB,EACf4uB,eAAgB,S,iCAMrBvkB,GACP/L,KAAK0E,SAAS,CACVwrB,cAAe,GACfD,cAAelkB,EAAMF,OAAOklB,U,oCAShC,IALW,IAAD,OACJd,EAAgBjwB,KAAKQ,MAAMyvB,cAC3BP,EAAiB1vB,KAAKQ,MAAM8vB,eAE9BU,EAAiB,GACZpuB,EAAI,EAAGA,EAAIqtB,EAAcvtB,OAAQE,IACtCouB,EAAe/uB,KAAK,CAAEgvB,WAAY,EAAGC,SAAUjB,EAAcrtB,GAAG+B,OAEpE3E,KAAK0E,SACD,CACIwrB,cAAec,EACf7vB,QAAS,KAEb,WACI,IAAK,IAAIyB,EAAI,EAAGA,EAAIqtB,EAAcvtB,OAAQE,IACtC,EAAKuuB,OAAOvuB,EAAGqtB,EAAcrtB,GAAI,EAAKqB,MAAMsb,oBAAqBmQ,Q,6BAM1E7lB,EAAK2lB,EAAMC,EAAqBC,GAAiB,IAAD,OAC/CsB,EAAc,aAAOhxB,KAAKQ,MAAM0vB,eACpCQ,GAAcS,OAAO3B,EAAMC,EAAqBC,GAAgB,SAAC3jB,GAC7DilB,EAAennB,GAAKonB,WAAaG,KAAKC,MAAO,IAAMtlB,EAAMulB,OAAUvlB,EAAM8T,OACzE,EAAKnb,SAAS,CACVssB,sBAGHzjB,MAAK,SAAC1L,GAOH,OANA,EAAK6C,UAAS,SAAC6sB,GAEX,MAAO,CACHpwB,QAFW,uBAAOowB,EAAKpwB,SAAZ,CAAqB,mCAAqCquB,EAAK7qB,WAK3E+rB,GAAcG,SAASpB,MAGjCliB,MAAK,SAACwjB,GACH,EAAKrsB,SAAS,CACVyrB,UAAWY,EAAMjvB,UAGxB2c,OAAM,WACHuS,EAAennB,GAAKonB,WAAa,EACjC,EAAKvsB,UAAS,SAAC6sB,GACX,IAAIC,EAAW,uBAAOD,EAAKpwB,SAAZ,CAAqB,8BAAgCquB,EAAK7qB,OACzE,MAAO,CACHurB,cAAec,EACf7vB,QAASqwB,SAIpBC,SAAQ,WACL/nB,YAAW,WACP,EAAKhF,SAAS,CACVurB,mBAAevuB,EACfwuB,cAAe,GACf/uB,QAAS,GACTmvB,eAAgB,IACjB,WACCtwB,KAAKywB,aAAahV,QAAQnQ,MAAQ,QAEvC,U,mCAIFF,GACTpL,KAAK0E,SAAS,CAAEgtB,SAAUtmB,EAAI8Z,WAAW,M,6KAIzCllB,KAAK0E,SAAS,CAAEwgB,WAAW,IAEvB9Z,EAAKpL,KAAKQ,MAAMkxB,S,SAECvuB,MAAM,8BAAgCiI,EAAI,CAC3D9C,OAAQ,MACRK,QAAS,CAAE,eAAgB,sBAE1B4E,MAAK,SAAC1L,GACH6uB,GAAcG,SAAS,EAAK5sB,MAAMsb,qBAAqBhS,MAAK,SAACwjB,GACzD,EAAKrsB,SAAS,CACVyrB,UAAWY,EAAMjvB,KACjBwuB,eAAgB,U,mJAM1B,IAAD,SACuEtwB,KAAKQ,MAAzEyvB,EADH,EACGA,cAAeC,EADlB,EACkBA,cAAe/uB,EADjC,EACiCA,QAASgvB,EAD1C,EAC0CA,UAAWE,EADrD,EACqDA,cAC1D,OACI,6BACKH,GACGA,EAAc7tB,KAAI,SAACsvB,EAAcpvB,GAAf,OACd,yBAAKiD,UAAU,OAAOsE,IAAKvH,GACvB,8BAAOovB,EAAaT,UACpB,yBAAK1rB,UAAU,YACX,yBACIA,UAAU,iCACVwQ,KAAK,cACL4b,gBAAeD,EAAaV,WAC5BY,gBAAc,IACdC,gBAAc,MACd/pB,MAAO,CAAEsD,MAAOsmB,EAAaV,WAAa,MAEzCU,EAAaV,WARlB,UAahB,yBAAKlpB,MAAO,CAAE4B,QAAS,OAAQwF,cAAe,MAAOC,eAAgB,aAAcC,WAAY,SAAUE,aAAc,MAAOD,UAAW,QACrI,2BAAOvH,MAAO,CAAEyH,YAAa,QAA7B,iBACA,4BACIlE,MAAOtL,KAAKQ,MAAM8vB,eAClB3gB,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAE4rB,eAAgB1kB,EAAEC,OAAOP,UAG7C,4BAAQxB,IAAK,EAAGwB,MAAO,GAAvB,wBACC+kB,GAAiBA,EAAchuB,KAAI,SAACuH,EAAMC,GAAP,OAChC,4BAAQC,IAAKD,EAAKyB,MAAO1B,EAAKwB,IAAKxB,EAAKjF,WAIpD,yBAAKoD,MAAO,CAAE4B,QAAS,OAAQwF,cAAe,MAAOC,eAAgB,aAAcC,WAAY,SAAUE,aAAc,MAAOD,UAAW,QACrI,2BAAO9J,UAAU,eACb,2BAAOod,IAAK5iB,KAAKywB,aAAc7oB,KAAK,OAAOmqB,OAAO,oEAC9CpiB,SAAU3P,KAAKuwB,cAEvB,4BACI/qB,UAAU,sBACVgG,UAAWykB,GAA+C,IAA9BjwB,KAAKQ,MAAM8vB,eACvCjqB,QAASrG,KAAKwwB,aAHlB,WAQHrvB,EAAQuB,OAAS,GACd,yBAAK8C,UAAU,wBAAwBwQ,KAAK,SACxC,4BACK7U,EAAQkB,KAAI,SAACuH,EAAMhH,GAChB,OAAO,wBAAIkH,IAAKlH,GAAIgH,QAKpC,yBAAKpE,UAAU,gBACX,yBAAKA,UAAU,eAAf,kBACA,2BAAOA,UAAU,aACb,+BACI,4BACI,6BACA,yCAGA,6CAGA,kDAGA,+BAGR,+BAEQxF,KAAKQ,MAAM2vB,UAAUztB,OAAS,EAC1BytB,GAAaA,EAAU9tB,KAAI,SAACmtB,EAAMjtB,GAAP,OAEvB,wBAAIuH,IAAKvH,GACL,4BACI,yBAAK4D,IAAKqpB,EAAKwC,QAASjqB,MAAO,CAAEsD,MAAO,WAE5C,4BACKmkB,EAAKloB,UAEV,4BACKkoB,EAAKyC,QAEV,4BACKzC,EAAK0C,cAEV,wBAAI1sB,UAAU,oBACV,kBAAC,KAAD,CACIuJ,MAAO,EAAKvO,MAAM4vB,WAClB+B,KAAM,GACNpqB,MAAO,CAAEoI,OAAQ,WACjB9J,QAAS,kBAAM,EAAK+rB,aAAa5C,EAAKpkB,YAMtD,4BACI,wBAAIsF,QAAS,EAAG3I,MAAO,CAAE4W,WAAY,MAAO9H,UAAW,WAAvD,wBAQxB,6BACI,kBAAC,KAAD,CACItQ,OAAQvG,KAAKQ,MAAM0kB,UAEnBrG,eAAgB,kBAAM,EAAKna,SAAS,CAAEwgB,WAAW,KACjD1f,UAAU,WACVsZ,aAAa,gBACbC,iBAAiB,WAEjB,yBAAKhX,MAAO,CAAEsD,MAAO,OAAQ1B,QAAS,OAAQyF,eAAgB,WAC1D,8DAEJ,yBAAKrH,MAAO,CAAEsD,MAAO,OAAQ1B,QAAS,OAAQyF,eAAgB,eAAgBE,UAAW,SACrF,4BACI9J,UAAU,sBACVa,QAAS,kBAAM,EAAK3B,SAAS,CAAEwgB,WAAW,MAF9C,MAMA,4BACI1f,UAAU,sBACVa,QAAS,kBAAM,EAAKgsB,2BAFxB,e,GAzRa3sB,aCE5B4sB,GAAb,kDAEI,WAAYruB,GAAQ,IAAD,8BACf,cAAMA,IAEDzD,MAAQ,CACT2M,SAAS,EACTolB,iBAAiB,EACjBC,cAAc,GANH,EAFvB,gEAYyB,IAAD,OACZ/C,EAAsBriB,eAAeoB,QAAQ,MAGjDxO,KAAK0E,SAAS,CAAE6a,oBAAqBkQ,IAErC/lB,YAAW,WACH,EAAKlJ,MAAMgyB,eACXhrB,OAAOmH,SAASzG,KAAO,oCAE5B,OAtBX,0CAyBwBkD,GACJxE,IACNC,IAAI,6CAA+CuE,GACpDmC,MAAK,SAAC8F,SA5BnB,sKAoCQrT,KAAK0E,SAAS,CAAE8tB,cAAc,EAAOrlB,SAAS,IAC1CslB,EAAe,iCACfnrB,EAAW,GAtCvB,SAuC4B5H,EAAY+I,iBAvCxC,cAuCcC,EAvCd,OAyCYgF,EAAI9G,IAzChB,SA0CczD,MAAM,sCAAwCnD,KAAKQ,MAAM+e,oBAAqB,CAChFjX,OAAQ,MACRN,KAAM,KACNW,QAAS,CACL,eAAgB,mBAChB,cAAiB,UAAYD,KAGhC6E,MAAK,SAAC+Q,GACH,IACMC,EADSD,EAAI3V,QAAQ9B,IAAI,uBACV+F,MAAM,KAO3B,OALItF,EADAiX,EAAM,GACKA,EAAM,GAAG3R,MAAM,KAAK,GAGpB6lB,EAERnU,EAAIE,UAEdjR,MAAK,SAAAzL,GACF4L,EAAErG,aAAavF,EAAMwF,EAAU,mBAC/B,EAAK5C,SAAS,CAAEyI,SAAS,EAAOqlB,cAAc,OAEjD/T,OAAM,SAACrd,GACJN,QAAQC,IAAI,wBAA0BK,EAAMD,SAC5C,EAAKuD,SAAS,CAAEyI,SAAS,OAnEzC,+IAyEQnN,KAAK0E,SAAS,CAAE8tB,cAAc,EAAOD,iBAAiB,MAzE9D,8BA6EQnlB,eAAeslB,QACfxQ,aAAawQ,QACblrB,OAAOmH,SAASzG,KAAO,MA/E/B,+BAkFc,IAAD,OACL,OACI,yBAAK1C,UAAU,iBACX,yBAAKA,UAAU,+BACa,IAAvBxF,KAAKQ,MAAM2M,QACR,6BACI,kBAAC2B,EAAA,EAAD,CAASC,MAAM,OAAOpI,SAAS,GAAGoB,MAAO,CAAEiH,SAAU,QAASC,IAAK,MAAOC,KAAM,UAElF,KAEN,2BAAOnH,MAAO,CAAEsD,MAAO,WACnB,+BACI,4BACI,wBAAIsF,MAAM,UACN,6BACA,oEAGR,4BACI,wBAAIA,MAAM,UACN,yBAAK5I,MAAO,CAAE8O,UAAW,SAAzB,oxBAKiL,6BAAM,gCAI/L,4BACI,wBAAIlG,MAAM,QACN,2GAGR,4BACI,wBAAIA,MAAM,QACN,yEACA,kJACA,mHACA,4FAGR,4BACI,wBAAIA,MAAM,QACN,6BACA,mIAGR,4BACI,wBAAIA,MAAM,QACN,sEACA,qEACA,kEAGR,4BACI,wBAAIA,MAAM,QACN,6BADJ,+EAEgF,6BAFhF,sBAGuB,6BAHvB,oBAIqB,6BAJrB,oCAKqC,kCAMrD,yBAAKnL,UAAU,yBACX,+BACI,+BACI,4BACI,wBAAImL,MAAM,SAASE,OAAO,UACtB,4BACIrL,UAAU,gBACVuC,MAAO,CAAE8H,WAAY,UACrBrE,SAAUxL,KAAKQ,MAAM2M,QACrB9G,QAAS,WACL,EAAKssB,cALb,iBAUJ,wBAAIhiB,MAAM,SAASE,OAAO,UACtB,4BACIrL,UAAU,gBACVuC,MAAO,CAAE8H,WAAY,UACrBrE,SAAUxL,KAAKQ,MAAM2M,QACrB9G,QAAS,WACL,EAAKusB,qBALb,iBAUJ,wBAAIjiB,MAAM,SAASE,OAAO,UACtB,4BACIrL,UAAU,gBACVuC,MAAO,CAAE8H,WAAY,UACrBrE,SAAUxL,KAAKQ,MAAM2M,QACrB9G,QAAS,WACL,EAAKuT,UALb,cAcpB,6BACI,kBAAC,KAAD,CACIrT,OAAQvG,KAAKQ,MAAM+xB,gBAEnB1T,eAAgB,kBAAM,EAAKna,SAAS,CAAE6tB,iBAAiB,KACvD/sB,UAAU,WACVsZ,aAAa,gBACbC,iBAAiB,WAEjB,yBAAKhX,MAAO,CAAEsD,MAAO,OAAQ1B,QAAS,OAAQyF,eAAgB,WAC1D,iDAEJ,yBAAKrH,MAAO,CAAEsD,MAAO,OAAQ1B,QAAS,OAAQyF,eAAgB,WAC1D,kBAAC,GAAD,CAAQmQ,oBAAqBvf,KAAKQ,MAAM+e,sBACxC,8BAEJ,yBAAKxX,MAAO,CAAEsD,MAAO,OAAQ1B,QAAS,OAAQyF,eAAgB,SAAUE,UAAW,SAC/E,4BACI9J,UAAU,sBACVuC,MAAO,CAAE8H,WAAY,UACrBrE,SAAUxL,KAAKQ,MAAM2M,QACrB9G,QAAS,WACL,EAAK3B,SAAS,CAAE6tB,iBAAiB,MALzC,iBA/M5B,GAA+C7sB,aAAlC4sB,GACF7rB,YAAc6rB,GAA0B3tB,KCD5C,IAAMkuB,GAAb,kDACI,WAAY5uB,GAAQ,IAAD,8BACf,cAAMA,IAEDzD,MAAQ,CACT2M,SAAS,EACTiO,YAAY,GALD,EADvB,gEAWQ,IACIpb,KAAK0E,SAAS,CAAEyI,SAAS,IAEzB,IAAI/B,EAAKgC,eAAeoB,QAAQ,MAEtB,MAANpD,GAAYpL,KAAK0E,SAAS,CAAE6a,oBAAqBnU,EAAI+B,SAAS,EAAOiO,YAAY,IACjF,WACIpb,KAAKqf,SAASjU,MAGtB,IAAI0nB,EAAc1lB,eAAeoB,QAAQ,qBACrCukB,EAAgB3lB,eAAeoB,QAAQ,uBAC3CxO,KAAK0E,SAAS,CAAEyI,SAAS,EAAO6lB,sBAAuBF,EAAaG,wBAAyBF,IAEjG,MAAO7pB,GACHlJ,KAAK0E,SAAS,CAAEyI,SAAS,IACzBrM,QAAQC,IAAI,uBAAyBmI,MA3BjD,0CAgCQ,IAAI0W,EAAI5f,KAAKQ,MACT0yB,EAASlzB,KAAK8f,YAAYF,EAAEuT,6BAA+BnzB,KAAK8f,YAAYF,EAAEwT,eAAiBpzB,KAAK8f,YAAYF,EAAEyT,cAAgBrzB,KAAK8f,YAAYF,EAAE0T,cACrJtzB,KAAK8f,YAAYF,EAAE2T,iBAAmBvzB,KAAK8f,YAAYF,EAAE4T,iBAAmBxzB,KAAK8f,YAAYF,EAAE6T,YAAczzB,KAAK8f,YAAYF,EAAE8T,gBAChI1zB,KAAK8f,YAAYF,EAAE+T,wBAA0B3zB,KAAK8f,YAAYF,EAAEgU,uBAAyB5zB,KAAK8f,YAAYF,EAAEiU,yBAC5G7zB,KAAK8f,YAAYF,EAAEkU,qBAAuB9zB,KAAK8f,YAAYF,EAAEmU,cAAgB/zB,KAAK8f,YAAYF,EAAEoU,cAAgBh0B,KAAK8f,YAAYF,EAAEqU,cACnIj0B,KAAK8f,YAAYF,EAAEsU,uBAAyBl0B,KAAK8f,YAAYF,EAAEuU,uBAAyBn0B,KAAK8f,YAAYF,EAAEwU,4BAC3Gp0B,KAAK8f,YAAYF,EAAEyU,4BAA8Br0B,KAAK8f,YAAYF,EAAE0U,4BACpEt0B,KAAK8f,YAAYF,EAAE2U,4BAA8Bv0B,KAAK8f,YAAYF,EAAE4U,4BAA8Bx0B,KAAK8f,YAAYF,EAAE6U,wBACrHz0B,KAAK8f,YAAYF,EAAE8U,2BAA6B10B,KAAK8f,YAAYF,EAAE+U,4BAA8B30B,KAAK8f,YAAYF,EAAEgV,4BACpH50B,KAAK8f,YAAYF,EAAEiV,sBAEnBC,EAAc90B,KAAK8f,YAAYF,EAAEmV,yBAA2B/0B,KAAK8f,YAAYF,EAAEoV,yBAA2Bh1B,KAAK8f,YAAYF,EAAEqV,yBAC7Hj1B,KAAK8f,YAAYF,EAAEsV,2BAA6Bl1B,KAAK8f,YAAYF,EAAEuV,6BAA+Bn1B,KAAK8f,YAAYF,EAAEwV,2BACrHp1B,KAAK8f,YAAYF,EAAEyV,4BAA8Br1B,KAAK8f,YAAYF,EAAE0V,sBAAwBt1B,KAAK8f,YAAYF,EAAE2V,sBAC/Gv1B,KAAK8f,YAAYF,EAAE4V,sBAAwBx1B,KAAK8f,YAAYF,EAAE6V,gCAAkCz1B,KAAK8f,YAAYF,EAAE8V,kCACnH11B,KAAK8f,YAAYF,EAAE+V,8BAAgC31B,KAAK8f,YAAYF,EAAEgW,gBAAkB51B,KAAK8f,YAAYF,EAAEiW,gBAC3G71B,KAAK8f,YAAYF,EAAEkW,gBAAkB91B,KAAK8f,YAAYF,EAAEmW,yBAA2B/1B,KAAK8f,YAAYF,EAAEoW,yBACtGh2B,KAAK8f,YAAYF,EAAEqW,sCAAwCj2B,KAAK8f,YAAYF,EAAEsW,sCAAwCl2B,KAAK8f,YAAYF,EAAEuW,sCACzIn2B,KAAK8f,YAAYF,EAAEwW,sCAAwCp2B,KAAK8f,YAAYF,EAAEyW,sCAAwCr2B,KAAK8f,YAAYF,EAAE0W,sCACzIt2B,KAAK8f,YAAYF,EAAE2W,2CAA6Cv2B,KAAK8f,YAAYF,EAAE4W,uCAAyCx2B,KAAK8f,YAAYF,EAAE6W,uCAC/Iz2B,KAAK8f,YAAYF,EAAE8W,uCAAyC12B,KAAK8f,YAAYF,EAAE+W,uCAE/EC,EAAY1D,EAAS4B,EAErB+B,EAAY72B,KAAKogB,eAAe8S,GAEpC,GAAI2D,GAAaA,EAAUnqB,WAAW,OAASmqB,EAAU/tB,SAAS,KAC9D+tB,GAAwB,WAEvB,GAAIA,EAAUnqB,WAAW,MAAQmqB,EAAU/tB,SAAS,KAAM,CAEtC,IADjB6D,EAAMkqB,EAAUjqB,MAAM,MAClB,GAAGlK,SACPm0B,GAAwB,MAGP,GAAjBlqB,EAAI,GAAGjK,SACPm0B,GAAwB,KAIhC,IAAIC,EAAiB92B,KAAKogB,eAAe0U,GAEzC,GAAIgC,GAAkBA,EAAepqB,WAAW,OAASoqB,EAAehuB,SAAS,KAC7EguB,GAAkC,WAEjC,GAAIA,EAAepqB,WAAW,MAAQoqB,EAAehuB,SAAS,KAAM,CAEhD,IADjB6D,EAAMmqB,EAAelqB,MAAM,MACvB,GAAGlK,SACPo0B,GAAkC,MAGjB,GAAjBnqB,EAAI,GAAGjK,SACPo0B,GAAkC,KAI1C,IAAIC,EAAc/2B,KAAKogB,eAAewW,GAEtC,GAAIG,GAAeA,EAAYrqB,WAAW,OAASqqB,EAAYjuB,SAAS,KACpEiuB,GAA4B,WAE3B,GAAIA,EAAYrqB,WAAW,MAAQqqB,EAAYjuB,SAAS,KAAM,CAC/D,IAAI6D,EACiB,IADjBA,EAAMoqB,EAAYnqB,MAAM,MACpB,GAAGlK,SACPq0B,GAA4B,MAGX,GAAjBpqB,EAAI,GAAGjK,SACPq0B,GAA4B,KAIpC/2B,KAAK0E,SAAS,CACVsyB,YAAaH,EACbI,iBAAkBH,EAClBI,SAAUH,MA3GtB,kCA+GgBzrB,GACR,QAAa5J,GAAT4J,GAA+B,GAATA,EAAY,OAAO,EAI7C,IAAIkV,EAASlV,EAAMkB,QAAQ,KAAM,IAAIA,QAAQ,IAAK,IAElD,OAAIgU,EAAO9d,OAAS,EAEF+d,MAAMD,SAAqB9e,GAAV8e,EAAuB,EAAIE,WAAWF,GAI9D,IA5HnB,qCAgImBlV,GACX,QAAa5J,GAAT4J,EAAoB,MAAO,GAC/B,IAAIqV,EAAUrV,EAAMwN,WAAWtM,QAAQ,KAAM,IAAIA,QAAQ,IAAK,IAE1DoU,EAAM,GACNJ,EAAS,GAETK,EAAWF,EAAQ/T,MAAM,KAW7B,OAVwB,IAAZ,OAARiU,QAAQ,IAARA,OAAA,EAAAA,EAAUne,QACV8d,EAASG,EAAQ/T,MAAM,KAAK,IAEf,OAARiU,QAAQ,IAARA,OAAA,EAAAA,EAAUne,QAAS,GACxB8d,EAASG,EAAQ/T,MAAM,KAAK,GAC5BgU,EAAM,IAAMD,EAAQ/T,MAAM,KAAK,GAAGkU,UAAU,EAAG,IAG/CN,EAASG,EAETH,EAAO9d,OAAS,EACT,IAAIqe,KAAKC,kBAAatf,EAAW,CACpCqG,MAAO,WACPkZ,SAAU,MACVC,sBAAuB,EACvBC,sBAAuB,IACxBC,OAAOZ,GAAUI,OANxB,IAlJR,oEA4JekG,EAAMqQ,GA5JrB,2FA6JQ,IACQvtB,EAAO,QACElI,IAATolB,IACwC,cAApC5E,aAAa1T,QAAQ,mBACgB9M,GAAhC1B,KAAKQ,MAAM8mB,mBAA0E,IAAxC,UAAAtnB,KAAKQ,MAAM8mB,yBAAX,eAA8B5kB,SAC3E1C,KAAKQ,MAAM+mB,4BACZ3d,EAAK3H,KAAK,2BAE2BP,GAApC1B,KAAKQ,MAAMwyB,uBAAkF,IAA5C,UAAAhzB,KAAKQ,MAAMwyB,6BAAX,eAAkCtwB,SACnF1C,KAAKQ,MAAM+mB,4BACZ3d,EAAK3H,KAAK,gCAE2BP,GAApC1B,KAAKQ,MAAM8lB,uBAAkF,IAA5C,UAAAtmB,KAAKQ,MAAM8lB,6BAAX,eAAkC5jB,SACnF1C,KAAKQ,MAAM+mB,4BACZ3d,EAAK3H,KAAK,4BAIsB,WAApCigB,aAAa1T,QAAQ,mBACgB9M,GAAhC1B,KAAKQ,MAAM8mB,mBAA0E,IAAxC,UAAAtnB,KAAKQ,MAAM8mB,yBAAX,eAA8B5kB,SAC3E1C,KAAKQ,MAAM+mB,4BACZ3d,EAAK3H,KAAK,2BAE2BP,GAApC1B,KAAKQ,MAAMwyB,uBAAkF,IAA5C,UAAAhzB,KAAKQ,MAAMwyB,6BAAX,eAAkCtwB,SACnF1C,KAAKQ,MAAM+mB,4BACZ3d,EAAK3H,KAAK,gCAE2BP,GAApC1B,KAAKQ,MAAM8lB,uBAAkF,IAA5C,UAAAtmB,KAAKQ,MAAM8lB,6BAAX,eAAkC5jB,SACnF1C,KAAKQ,MAAM+mB,4BACZ3d,EAAK3H,KAAK,gCAEyBP,GAAlC1B,KAAKQ,MAAMwqB,qBAA8E,IAA1C,UAAAhrB,KAAKQ,MAAMwqB,2BAAX,eAAgCtoB,SAC/E1C,KAAKQ,MAAM+mB,4BACZ3d,EAAK3H,KAAK,6BAE6BP,GAAtC1B,KAAKQ,MAAMyyB,yBAAsF,IAA9C,UAAAjzB,KAAKQ,MAAMyyB,+BAAX,eAAoCvwB,SACvF1C,KAAKQ,MAAM+mB,4BACZ3d,EAAK3H,KAAK,kCAE6BP,GAAtC1B,KAAKQ,MAAMypB,yBAAsF,IAA9C,UAAAjqB,KAAKQ,MAAMypB,+BAAX,eAAoCvnB,SACvF1C,KAAKQ,MAAM+mB,4BACZ3d,EAAK3H,KAAK,+BAIH,GAAf2H,EAAKlH,QACL1C,KAAK0E,SAAS,CAAEyI,SAAS,IACrBhK,EAAQyD,IACZ5G,KAAK0E,SAAS,CACV4hB,2BAA4D5kB,IAArC1B,KAAKQ,MAAM8lB,uBAA2E,IAApCtmB,KAAKQ,MAAM8lB,sBAA8B,KAAOlF,aAAO,IAAI8C,KAAKlkB,KAAKQ,MAAM8lB,sBAAsB9Z,QAAQ,KAAM,MAAO,cAC/Lyd,6BAAgEvoB,IAAvC1B,KAAKQ,MAAMypB,yBAA+E,IAAtCjqB,KAAKQ,MAAMypB,wBAAgC,KAAO7I,aAAO,IAAI8C,KAAKlkB,KAAKQ,MAAMypB,wBAAwBzd,QAAQ,KAAM,MAAO,gBAEvM,WAAa,IAAD,OACRrJ,EAAM4D,KAAK,oDAAqD/G,KAAKQ,OAChE+M,MAAK,SAACnC,GACH,GAAa,IAAT0b,EACA,QAAaplB,IAATy1B,EACA3vB,OAAOmH,SAASzG,KAAOivB,MAEtB,CACD,IAAI51B,EAAM,GAENA,EADqC,OAArC2gB,aAAa1T,QAAQ,aAA6D,eAArC0T,aAAa1T,QAAQ,YAC5D,0BAGA,0BAGVhH,OAAOmH,SAASzG,KAAO3G,OAI3B,EAAKmD,SAAS,CAAEyI,SAAS,EAAO0Y,oBAAqB,qBAAsBC,kBAAkB,YAMjH9lB,KAAK0E,SAAS,CACV2E,WAAW,EACXuF,aAAc,qCACdC,WAAYjF,IAEhBF,YAAW,WAAc7B,SAAS2f,eAAe,iBAAiBC,SAAS,CAAExY,IAAK,EAAGyY,SAAU,aAAgB,MAGvH,MAAOxe,GACHlJ,KAAK0E,SAAS,CAAEyI,SAAS,IACzBrM,QAAQC,IAAI,UAAYmI,GArPpC,iLAyPmBkC,GAzPnB,4EA0PQ,IACIpL,KAAK0E,SAAS,CAAEyI,SAAS,IACbvG,IAENC,IAAI,uDAAyDuE,GAC9DmC,MAAK,SAACzL,GACH,IAAI8f,EAAS,EAAKphB,MAClB,IAAK,IAAMsJ,KAAOhI,EACd,GAAiB,MAAbA,EAAKgI,GAAc,CACnB,IAAI+X,EAAO/X,EAAIgY,OAAO,GAAGC,cAAgBjY,EAAIkY,MAAM,GAC/CxB,EAAS1e,EAAKgI,GAClB8X,EAAOC,GAAQrB,EAGvB,EAAK9b,SAASkd,GAAQ,WAClB5hB,KAAKo3B,oBACLp3B,KAAK0E,SAAS,CAAEyI,SAAS,EAAOoS,oBAAqBnU,IACrDpL,KAAK0E,SAAS,CACV4hB,sBAAuBtmB,KAAKqmB,YAAYrmB,KAAKQ,MAAM8lB,uBACnD2D,wBAAyBjqB,KAAKqmB,YAAYrmB,KAAKQ,MAAMypB,iCAKzE,MAAO/gB,GACHlJ,KAAK0E,SAAS,CAAEyI,SAAS,IACzBrM,QAAQC,IAAI,UAAYmI,GApRpC,yIAwRgBye,GACR,MAAe,IAAXA,QAA6BjmB,IAAZimB,EAA8BA,EAEnCA,EAAQ/a,MAAM,KACb,KA5RzB,+BA+Rc,IAAD,yBACL,OACI,yBAAKpH,UAAU,iBACX,kBAAC,GAAD,CACI4V,WAAYpb,KAAKQ,MAAM4a,WACvBC,aAAcrb,KAAKQ,MAAM+e,oBACzBjE,YAAa,SAAC1P,GAAD,OAAO,EAAKuW,KAAK,EAAGvW,MAErC,kBAAC,EAAD,CACIxC,UAAWpJ,KAAKQ,MAAMoO,aACtBtF,UAAWtJ,KAAKQ,MAAMqO,WACtBxF,UAAWrJ,KAAKQ,MAAM6I,UACtBE,aAAc,kBAAM,EAAK7E,SAAS,CAAE2E,WAAW,KAC/CG,mBAAoB,MAExB,kBAAC,EAAD,CACIJ,UAAWpJ,KAAKQ,MAAMqlB,oBACtBxc,UAAWrJ,KAAKQ,MAAMslB,iBACtBvc,aAAc,kBAAM,EAAK7E,SAAS,CAAEohB,kBAAkB,KACtDtc,mBAAoB,IACpBC,gBAAgB,IAEpB,yBAAK2B,GAAG,gBAAgB5F,UAAU,+BACN,IAAvBxF,KAAKQ,MAAM2M,QACR,6BACI,kBAAC2B,EAAA,EAAD,CAASC,MAAM,OAAOpI,SAAS,GAAGoB,MAAO,CAAEiH,SAAU,QAASC,IAAK,MAAOC,KAAM,UAElF,KAEN,2BAAO1J,UAAU,mCACb,+BACI,4BACI,wBAAIkL,QAAS,EAAGC,MAAM,SAASE,OAAO,UAClC,2BAAO9I,MAAO,CAAEsD,MAAO,cAAeoX,WAAY,OAAQ4U,cAAe,OAAQpqB,SAAU,OAAQ8B,MAAO,UAAW8H,UAAW,SAAUtH,aAAc,MAAxJ,kCAGR,4BACI,sCACA,wBAAImB,QAAS,IACb,6BACA,2CACA,6BACA,6BACA,8BAEJ,4BACI,2CACA,wBAAIA,QAAS,GAAb,eACA,yCACA,8CACA,2CACA,+CACA,6CAEJ,4BACI,0DAGA,wBAAIA,QAAS,GACT,2BAAO9I,KAAK,OACR+H,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAE4yB,kCAAmC1rB,EAAEC,OAAOP,SAEhEA,MAAOtL,KAAKQ,MAAM82B,kCAClBvvB,MAAO,CAAEsD,MAAO,aAGxB,4BACI,2BAAOzD,KAAK,OACR+H,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAEyuB,4BAA6BvnB,EAAEC,OAAOP,QAAS,WAC3DtL,KAAKo3B,wBAGb9rB,MAAOtL,KAAKogB,eAAepgB,KAAKQ,MAAM2yB,6BACtCprB,MAAO,CAAEsD,MAAO,OAChBoB,OAAQ,SAACb,GACL,IAAIO,EAAM,EAAK3L,MAAM2yB,4BACrB,GAAIvnB,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,OAASd,EAAEC,OAAOP,MAAMxC,SAAS,KAC7EqD,GAAY,WAEX,GAAIP,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,MAAQd,EAAEC,OAAOP,MAAMxC,SAAS,KAAM,CACvF,IAAI6D,EAAMf,EAAEC,OAAOP,MAAMsB,MAAM,KACV,GAAjBD,EAAI,GAAGjK,SACPyJ,GAAY,MAGK,GAAjBQ,EAAI,GAAGjK,SACPyJ,GAAY,KAGpB,EAAKzH,SAAS,CACVyuB,4BAA6BhnB,QAK7C,yCACA,4BACI,2BAAOvE,KAAK,OACR+H,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAE6yB,qBAAsB3rB,EAAEC,OAAOP,SAEnDA,MAAOtL,KAAKQ,MAAM+2B,qBAClBxvB,MAAO,CAAEsD,MAAO,UAGxB,4BACI,2BAAOzD,KAAK,OACR+H,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAEqwB,wBAAyBnpB,EAAEC,OAAOP,QAClD,EAAK8rB,qBAET9rB,MAAOtL,KAAKogB,eAAepgB,KAAKQ,MAAMu0B,yBACtChtB,MAAO,CAAEsD,MAAO,OAChBoB,OAAQ,SAACb,GACL,IAAIO,EAAM,EAAK3L,MAAMu0B,wBACrB,GAAInpB,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,OAASd,EAAEC,OAAOP,MAAMxC,SAAS,KAC7EqD,GAAY,WAEX,GAAIP,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,MAAQd,EAAEC,OAAOP,MAAMxC,SAAS,KAAM,CACvF,IAAI6D,EAAMf,EAAEC,OAAOP,MAAMsB,MAAM,KACV,GAAjBD,EAAI,GAAGjK,SACPyJ,GAAY,MAGK,GAAjBQ,EAAI,GAAGjK,SACPyJ,GAAY,KAGpB,EAAKzH,SAAS,CACVqwB,wBAAyB5oB,QAKzC,4BACI,2BAAOvE,KAAK,OACR+H,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAE8yB,wBAAyB5rB,EAAEC,OAAOP,QAAS,gBAG/DA,MAAOtL,KAAKogB,eAAepgB,KAAKQ,MAAMg3B,yBACtCzvB,MAAO,CAAEsD,MAAO,OAChBoB,OAAQ,SAACb,GACL,IAAIO,EAAM,EAAK3L,MAAMg3B,wBACrB,GAAI5rB,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,OAASd,EAAEC,OAAOP,MAAMxC,SAAS,KAC7EqD,GAAY,WAEX,GAAIP,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,MAAQd,EAAEC,OAAOP,MAAMxC,SAAS,KAAM,CACvF,IAAI6D,EAAMf,EAAEC,OAAOP,MAAMsB,MAAM,KACV,GAAjBD,EAAI,GAAGjK,SACPyJ,GAAY,MAGK,GAAjBQ,EAAI,GAAGjK,SACPyJ,GAAY,KAGpB,EAAKzH,SAAS,CACV8yB,wBAAyBrrB,SAM7C,4BACI,8CAGA,wBAAIuE,QAAS,GACT,2BAAO9I,KAAK,OACR+H,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAE+yB,oBAAqB7rB,EAAEC,OAAOP,SAElDA,MAAOtL,KAAKQ,MAAMi3B,oBAClB1vB,MAAO,CAAEsD,MAAO,aAGxB,4BACI,2BAAOzD,KAAK,OACR+H,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAE0uB,cAAexnB,EAAEC,OAAOP,QAAS,WAC7CtL,KAAKo3B,wBAGb9rB,MAAOtL,KAAKogB,eAAepgB,KAAKQ,MAAM4yB,eACtCrrB,MAAO,CAAEsD,MAAO,OAChBoB,OAAQ,SAACb,GACL,IAAIO,EAAM,EAAK3L,MAAM4yB,cACrB,GAAIxnB,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,OAASd,EAAEC,OAAOP,MAAMxC,SAAS,KAC7EqD,GAAY,WAEX,GAAIP,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,MAAQd,EAAEC,OAAOP,MAAMxC,SAAS,KAAM,CACvF,IAAI6D,EAAMf,EAAEC,OAAOP,MAAMsB,MAAM,KACV,GAAjBD,EAAI,GAAGjK,SACPyJ,GAAY,MAGK,GAAjBQ,EAAI,GAAGjK,SACPyJ,GAAY,KAGpB,EAAKzH,SAAS,CACV0uB,cAAejnB,QAK/B,yCACA,4BACI,2BAAOvE,KAAK,OACR+H,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAEgzB,qBAAsB9rB,EAAEC,OAAOP,SAEnDA,MAAOtL,KAAKQ,MAAMk3B,qBAClB3vB,MAAO,CAAEsD,MAAO,UAGxB,4BACI,2BAAOzD,KAAK,OACR+H,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAEswB,wBAAyBppB,EAAEC,OAAOP,QAAS,WACvDtL,KAAKo3B,wBAGb9rB,MAAOtL,KAAKogB,eAAepgB,KAAKQ,MAAMw0B,yBACtCjtB,MAAO,CAAEsD,MAAO,OAChBoB,OAAQ,SAACb,GACL,IAAIO,EAAM,EAAK3L,MAAMw0B,wBACrB,GAAIppB,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,OAASd,EAAEC,OAAOP,MAAMxC,SAAS,KAC7EqD,GAAY,WAEX,GAAIP,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,MAAQd,EAAEC,OAAOP,MAAMxC,SAAS,KAAM,CACvF,IAAI6D,EAAMf,EAAEC,OAAOP,MAAMsB,MAAM,KACV,GAAjBD,EAAI,GAAGjK,SACPyJ,GAAY,MAGK,GAAjBQ,EAAI,GAAGjK,SACPyJ,GAAY,KAGpB,EAAKzH,SAAS,CACVswB,wBAAyB7oB,QAKzC,4BACI,2BAAOvE,KAAK,OACR+H,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAEizB,wBAAyB/rB,EAAEC,OAAOP,SAEtDA,MAAOtL,KAAKogB,eAAepgB,KAAKQ,MAAMm3B,yBACtC5vB,MAAO,CAAEsD,MAAO,OAChBoB,OAAQ,SAACb,GACL,IAAIO,EAAM,EAAK3L,MAAMm3B,wBACrB,GAAI/rB,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,OAASd,EAAEC,OAAOP,MAAMxC,SAAS,KAC7EqD,GAAY,WAEX,GAAIP,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,MAAQd,EAAEC,OAAOP,MAAMxC,SAAS,KAAM,CACvF,IAAI6D,EAAMf,EAAEC,OAAOP,MAAMsB,MAAM,KACV,GAAjBD,EAAI,GAAGjK,SACPyJ,GAAY,MAGK,GAAjBQ,EAAI,GAAGjK,SACPyJ,GAAY,KAGpB,EAAKzH,SAAS,CACVizB,wBAAyBxrB,SAM7C,4BACI,sDAGA,wBAAIuE,QAAS,GACT,2BAAO9I,KAAK,OACR+H,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAEkzB,mBAAoBhsB,EAAEC,OAAOP,SAEjDA,MAAOtL,KAAKQ,MAAMo3B,mBAClB7vB,MAAO,CAAEsD,MAAO,aAGxB,4BACI,2BAAOzD,KAAK,OACR+H,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAE2uB,aAAcznB,EAAEC,OAAOP,QAAS,WAC5CtL,KAAKo3B,wBAGb9rB,MAAOtL,KAAKogB,eAAepgB,KAAKQ,MAAM6yB,cACtCtrB,MAAO,CAAEsD,MAAO,OAChBoB,OAAQ,SAACb,GACL,IAAIO,EAAM,EAAK3L,MAAM6yB,aACrB,GAAIznB,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,OAASd,EAAEC,OAAOP,MAAMxC,SAAS,KAC7EqD,GAAY,WAEX,GAAIP,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,MAAQd,EAAEC,OAAOP,MAAMxC,SAAS,KAAM,CACvF,IAAI6D,EAAMf,EAAEC,OAAOP,MAAMsB,MAAM,KACV,GAAjBD,EAAI,GAAGjK,SACPyJ,GAAY,MAGK,GAAjBQ,EAAI,GAAGjK,SACPyJ,GAAY,KAGpB,EAAKzH,SAAS,CACV2uB,aAAclnB,QAK9B,yCACA,4BACI,2BAAOvE,KAAK,OACR+H,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAEmzB,qBAAsBjsB,EAAEC,OAAOP,SAEnDA,MAAOtL,KAAKQ,MAAMq3B,qBAClB9vB,MAAO,CAAEsD,MAAO,UAGxB,4BACI,2BAAOzD,KAAK,OACR+H,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAEuwB,wBAAyBrpB,EAAEC,OAAOP,QAAS,WACvDtL,KAAKo3B,wBAGb9rB,MAAOtL,KAAKogB,eAAepgB,KAAKQ,MAAMy0B,yBACtCltB,MAAO,CAAEsD,MAAO,OAChBoB,OAAQ,SAACb,GACL,IAAIO,EAAM,EAAK3L,MAAMy0B,wBACrB,GAAIrpB,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,OAASd,EAAEC,OAAOP,MAAMxC,SAAS,KAC7EqD,GAAY,WAEX,GAAIP,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,MAAQd,EAAEC,OAAOP,MAAMxC,SAAS,KAAM,CACvF,IAAI6D,EAAMf,EAAEC,OAAOP,MAAMsB,MAAM,KACV,GAAjBD,EAAI,GAAGjK,SACPyJ,GAAY,MAGK,GAAjBQ,EAAI,GAAGjK,SACPyJ,GAAY,KAGpB,EAAKzH,SAAS,CACVuwB,wBAAyB9oB,QAKzC,4BACI,2BAAOvE,KAAK,OACR+H,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAEozB,wBAAyBlsB,EAAEC,OAAOP,SAEtDA,MAAOtL,KAAKogB,eAAepgB,KAAKQ,MAAMs3B,yBACtC/vB,MAAO,CAAEsD,MAAO,OAChBoB,OAAQ,SAACb,GACL,IAAIO,EAAM,EAAK3L,MAAMs3B,wBACrB,GAAIlsB,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,OAASd,EAAEC,OAAOP,MAAMxC,SAAS,KAC7EqD,GAAY,WAEX,GAAIP,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,MAAQd,EAAEC,OAAOP,MAAMxC,SAAS,KAAM,CACvF,IAAI6D,EAAMf,EAAEC,OAAOP,MAAMsB,MAAM,KACV,GAAjBD,EAAI,GAAGjK,SACPyJ,GAAY,MAGK,GAAjBQ,EAAI,GAAGjK,SACPyJ,GAAY,KAGpB,EAAKzH,SAAS,CACVozB,wBAAyB3rB,SAM7C,4BACI,0CAGA,wBAAIuE,QAAS,GACT,2BAAO9I,KAAK,OACR+H,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAEqzB,mBAAoBnsB,EAAEC,OAAOP,SAEjDA,MAAOtL,KAAKQ,MAAMu3B,mBAClBhwB,MAAO,CAAEsD,MAAO,aAGxB,4BACI,2BAAOzD,KAAK,OACR+H,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAE4uB,aAAc1nB,EAAEC,OAAOP,QAAS,WAC5CtL,KAAKo3B,wBAGb9rB,MAAOtL,KAAKogB,eAAepgB,KAAKQ,MAAM8yB,cACtCvrB,MAAO,CAAEsD,MAAO,OAChBoB,OAAQ,SAACb,GACL,IAAIO,EAAM,EAAK3L,MAAM8yB,aACrB,GAAI1nB,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,OAASd,EAAEC,OAAOP,MAAMxC,SAAS,KAC7EqD,GAAY,WAEX,GAAIP,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,MAAQd,EAAEC,OAAOP,MAAMxC,SAAS,KAAM,CACvF,IAAI6D,EAAMf,EAAEC,OAAOP,MAAMsB,MAAM,KACV,GAAjBD,EAAI,GAAGjK,SACPyJ,GAAY,MAGK,GAAjBQ,EAAI,GAAGjK,SACPyJ,GAAY,KAGpB,EAAKzH,SAAS,CACV4uB,aAAcnnB,QAK9B,6CACA,4BACI,2BAAOvE,KAAK,OACR+H,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAEszB,uBAAwBpsB,EAAEC,OAAOP,SAErDA,MAAOtL,KAAKQ,MAAMw3B,uBAClBjwB,MAAO,CAAEsD,MAAO,UAGxB,4BACI,2BAAOzD,KAAK,OACR+H,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAEwwB,0BAA2BtpB,EAAEC,OAAOP,QAAS,WACzDtL,KAAKo3B,wBAGb9rB,MAAOtL,KAAKogB,eAAepgB,KAAKQ,MAAM00B,2BACtCntB,MAAO,CAAEsD,MAAO,OAChBoB,OAAQ,SAACb,GACL,IAAIO,EAAM,EAAK3L,MAAM00B,0BACrB,GAAItpB,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,OAASd,EAAEC,OAAOP,MAAMxC,SAAS,KAC7EqD,GAAY,WAEX,GAAIP,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,MAAQd,EAAEC,OAAOP,MAAMxC,SAAS,KAAM,CACvF,IAAI6D,EAAMf,EAAEC,OAAOP,MAAMsB,MAAM,KACV,GAAjBD,EAAI,GAAGjK,SACPyJ,GAAY,MAGK,GAAjBQ,EAAI,GAAGjK,SACPyJ,GAAY,KAGpB,EAAKzH,SAAS,CACVwwB,0BAA2B/oB,QAK3C,4BACI,2BAAOvE,KAAK,OACR+H,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAEuzB,0BAA2BrsB,EAAEC,OAAOP,SAExDA,MAAOtL,KAAKogB,eAAepgB,KAAKQ,MAAMy3B,2BACtClwB,MAAO,CAAEsD,MAAO,OAChBoB,OAAQ,SAACb,GACL,IAAIO,EAAM,EAAK3L,MAAMy3B,0BACrB,GAAIrsB,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,OAASd,EAAEC,OAAOP,MAAMxC,SAAS,KAC7EqD,GAAY,WAEX,GAAIP,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,MAAQd,EAAEC,OAAOP,MAAMxC,SAAS,KAAM,CACvF,IAAI6D,EAAMf,EAAEC,OAAOP,MAAMsB,MAAM,KACV,GAAjBD,EAAI,GAAGjK,SACPyJ,GAAY,MAGK,GAAjBQ,EAAI,GAAGjK,SACPyJ,GAAY,KAGpB,EAAKzH,SAAS,CACVuzB,0BAA2B9rB,SAM/C,4BACI,uDAGA,wBAAIuE,QAAS,GACT,2BAAO9I,KAAK,OACR+H,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAEwzB,sBAAuBtsB,EAAEC,OAAOP,SAEpDA,MAAOtL,KAAKQ,MAAM03B,sBAClBnwB,MAAO,CAAEsD,MAAO,aAGxB,4BACI,2BAAOzD,KAAK,OACR+H,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAE6uB,gBAAiB3nB,EAAEC,OAAOP,QAAS,WAC/CtL,KAAKo3B,wBAGb9rB,MAAOtL,KAAKogB,eAAepgB,KAAKQ,MAAM+yB,iBACtCxrB,MAAO,CAAEsD,MAAO,OAChBoB,OAAQ,SAACb,GACL,IAAIO,EAAM,EAAK3L,MAAM+yB,gBACrB,GAAI3nB,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,OAASd,EAAEC,OAAOP,MAAMxC,SAAS,KAC7EqD,GAAY,WAEX,GAAIP,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,MAAQd,EAAEC,OAAOP,MAAMxC,SAAS,KAAM,CACvF,IAAI6D,EAAMf,EAAEC,OAAOP,MAAMsB,MAAM,KACV,GAAjBD,EAAI,GAAGjK,SACPyJ,GAAY,MAGK,GAAjBQ,EAAI,GAAGjK,SACPyJ,GAAY,KAGpB,EAAKzH,SAAS,CACV6uB,gBAAiBpnB,QAMjC,+CACA,4BACI,2BAAOvE,KAAK,OACR+H,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAEyzB,yBAA0BvsB,EAAEC,OAAOP,SAEvDA,MAAOtL,KAAKQ,MAAM23B,yBAClBpwB,MAAO,CAAEsD,MAAO,UAGxB,4BACI,2BAAOzD,KAAK,OACR+H,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAEywB,4BAA6BvpB,EAAEC,OAAOP,QAAS,WAC3DtL,KAAKo3B,wBAGb9rB,MAAOtL,KAAKogB,eAAepgB,KAAKQ,MAAM20B,6BACtCptB,MAAO,CAAEsD,MAAO,OAChBoB,OAAQ,SAACb,GACL,IAAIO,EAAM,EAAK3L,MAAM20B,4BACrB,GAAIvpB,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,OAASd,EAAEC,OAAOP,MAAMxC,SAAS,KAC7EqD,GAAY,WAEX,GAAIP,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,MAAQd,EAAEC,OAAOP,MAAMxC,SAAS,KAAM,CACvF,IAAI6D,EAAMf,EAAEC,OAAOP,MAAMsB,MAAM,KACV,GAAjBD,EAAI,GAAGjK,SACPyJ,GAAY,MAGK,GAAjBQ,EAAI,GAAGjK,SACPyJ,GAAY,KAGpB,EAAKzH,SAAS,CACVywB,4BAA6BhpB,QAK7C,4BACI,2BAAOvE,KAAK,OACR+H,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAE0zB,4BAA6BxsB,EAAEC,OAAOP,SAE1DA,MAAOtL,KAAKogB,eAAepgB,KAAKQ,MAAM43B,6BACtCrwB,MAAO,CAAEsD,MAAO,OAChBoB,OAAQ,SAACb,GACL,IAAIO,EAAM,EAAK3L,MAAM43B,4BACrB,GAAIxsB,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,OAASd,EAAEC,OAAOP,MAAMxC,SAAS,KAC7EqD,GAAY,WAEX,GAAIP,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,MAAQd,EAAEC,OAAOP,MAAMxC,SAAS,KAAM,CACvF,IAAI6D,EAAMf,EAAEC,OAAOP,MAAMsB,MAAM,KACV,GAAjBD,EAAI,GAAGjK,SACPyJ,GAAY,MAGK,GAAjBQ,EAAI,GAAGjK,SACPyJ,GAAY,KAGpB,EAAKzH,SAAS,CACV0zB,4BAA6BjsB,SAMjD,4BACI,qCAGA,wBAAIuE,QAAS,GACT,2BAAO9I,KAAK,OACR+H,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAE2zB,iBAAkBzsB,EAAEC,OAAOP,SAE/CA,MAAOtL,KAAKQ,MAAM63B,iBAClBtwB,MAAO,CAAEsD,MAAO,aAGxB,4BACI,2BAAOzD,KAAK,OACR+H,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAE+uB,WAAY7nB,EAAEC,OAAOP,QAAS,WAC1CtL,KAAKo3B,wBAGb9rB,MAAOtL,KAAKogB,eAAepgB,KAAKQ,MAAMizB,YACtC1rB,MAAO,CAAEsD,MAAO,OAChBoB,OAAQ,SAACb,GACL,IAAIO,EAAM,EAAK3L,MAAMizB,WACrB,GAAI7nB,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,OAASd,EAAEC,OAAOP,MAAMxC,SAAS,KAC7EqD,GAAY,WAEX,GAAIP,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,MAAQd,EAAEC,OAAOP,MAAMxC,SAAS,KAAM,CACvF,IAAI6D,EAAMf,EAAEC,OAAOP,MAAMsB,MAAM,KACV,GAAjBD,EAAI,GAAGjK,SACPyJ,GAAY,MAGK,GAAjBQ,EAAI,GAAGjK,SACPyJ,GAAY,KAGpB,EAAKzH,SAAS,CACV+uB,WAAYtnB,QAK5B,4CACA,4BACI,2BAAOvE,KAAK,OACR+H,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAE4zB,uBAAwB1sB,EAAEC,OAAOP,SAErDA,MAAOtL,KAAKQ,MAAM83B,uBAClBvwB,MAAO,CAAEsD,MAAO,UAGxB,4BACI,2BAAOzD,KAAK,OACR+H,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAE0wB,0BAA2BxpB,EAAEC,OAAOP,QAAS,WACzDtL,KAAKo3B,wBAGb9rB,MAAOtL,KAAKogB,eAAepgB,KAAKQ,MAAM40B,2BACtCrtB,MAAO,CAAEsD,MAAO,OAChBoB,OAAQ,SAACb,GACL,IAAIO,EAAM,EAAK3L,MAAM40B,0BACrB,GAAIxpB,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,OAASd,EAAEC,OAAOP,MAAMxC,SAAS,KAC7EqD,GAAY,WAEX,GAAIP,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,MAAQd,EAAEC,OAAOP,MAAMxC,SAAS,KAAM,CACvF,IAAI6D,EAAMf,EAAEC,OAAOP,MAAMsB,MAAM,KACV,GAAjBD,EAAI,GAAGjK,SACPyJ,GAAY,MAGK,GAAjBQ,EAAI,GAAGjK,SACPyJ,GAAY,KAGpB,EAAKzH,SAAS,CACV0wB,0BAA2BjpB,QAK3C,4BACI,2BAAOvE,KAAK,OACR+H,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAE6zB,0BAA2B3sB,EAAEC,OAAOP,SAExDA,MAAOtL,KAAKogB,eAAepgB,KAAKQ,MAAM+3B,2BACtCxwB,MAAO,CAAEsD,MAAO,OAChBoB,OAAQ,SAACb,GACL,IAAIO,EAAM,EAAK3L,MAAM+3B,0BACrB,GAAI3sB,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,OAASd,EAAEC,OAAOP,MAAMxC,SAAS,KAC7EqD,GAAY,WAEX,GAAIP,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,MAAQd,EAAEC,OAAOP,MAAMxC,SAAS,KAAM,CACvF,IAAI6D,EAAMf,EAAEC,OAAOP,MAAMsB,MAAM,KACV,GAAjBD,EAAI,GAAGjK,SACPyJ,GAAY,MAGK,GAAjBQ,EAAI,GAAGjK,SACPyJ,GAAY,KAGpB,EAAKzH,SAAS,CACV6zB,0BAA2BpsB,SAM/C,4BACI,2CAGA,wBAAIuE,QAAS,GACT,2BAAO9I,KAAK,OACR+H,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAE8zB,qBAAsB5sB,EAAEC,OAAOP,SAEnDA,MAAOtL,KAAKQ,MAAMg4B,qBAClBzwB,MAAO,CAAEsD,MAAO,aAGxB,4BACI,2BAAOzD,KAAK,OACR+H,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAEgvB,eAAgB9nB,EAAEC,OAAOP,QAAS,WAC9CtL,KAAKo3B,wBAGb9rB,MAAOtL,KAAKogB,eAAepgB,KAAKQ,MAAMkzB,gBACtC3rB,MAAO,CAAEsD,MAAO,OAChBoB,OAAQ,SAACb,GACL,IAAIO,EAAM,EAAK3L,MAAMkzB,eACrB,GAAI9nB,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,OAASd,EAAEC,OAAOP,MAAMxC,SAAS,KAC7EqD,GAAY,WAEX,GAAIP,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,MAAQd,EAAEC,OAAOP,MAAMxC,SAAS,KAAM,CACvF,IAAI6D,EAAMf,EAAEC,OAAOP,MAAMsB,MAAM,KACV,GAAjBD,EAAI,GAAGjK,SACPyJ,GAAY,MAGK,GAAjBQ,EAAI,GAAGjK,SACPyJ,GAAY,KAGpB,EAAKzH,SAAS,CACVgvB,eAAgBvnB,QAKhC,8CACA,4BACI,2BAAOvE,KAAK,OACR+H,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAE+zB,wBAAyB7sB,EAAEC,OAAOP,SAEtDA,MAAOtL,KAAKQ,MAAMi4B,wBAClB1wB,MAAO,CAAEsD,MAAO,UAGxB,4BACI,2BAAOzD,KAAK,OACR+H,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAE2wB,2BAA4BzpB,EAAEC,OAAOP,QAAS,WAC1DtL,KAAKo3B,wBAGb9rB,MAAOtL,KAAKogB,eAAepgB,KAAKQ,MAAM60B,4BACtCttB,MAAO,CAAEsD,MAAO,OAChBoB,OAAQ,SAACb,GACL,IAAIO,EAAM,EAAK3L,MAAM60B,2BACrB,GAAIzpB,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,OAASd,EAAEC,OAAOP,MAAMxC,SAAS,KAC7EqD,GAAY,WAEX,GAAIP,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,MAAQd,EAAEC,OAAOP,MAAMxC,SAAS,KAAM,CACvF,IAAI6D,EAAMf,EAAEC,OAAOP,MAAMsB,MAAM,KACV,GAAjBD,EAAI,GAAGjK,SACPyJ,GAAY,MAGK,GAAjBQ,EAAI,GAAGjK,SACPyJ,GAAY,KAGpB,EAAKzH,SAAS,CACV2wB,2BAA4BlpB,QAK5C,4BACI,2BAAOvE,KAAK,OACR+H,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAEg0B,2BAA4B9sB,EAAEC,OAAOP,SAEzDA,MAAOtL,KAAKogB,eAAepgB,KAAKQ,MAAMk4B,4BACtC3wB,MAAO,CAAEsD,MAAO,OAChBoB,OAAQ,SAACb,GACL,IAAIO,EAAM,EAAK3L,MAAMk4B,2BACrB,GAAI9sB,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,OAASd,EAAEC,OAAOP,MAAMxC,SAAS,KAC7EqD,GAAY,WAEX,GAAIP,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,MAAQd,EAAEC,OAAOP,MAAMxC,SAAS,KAAM,CACvF,IAAI6D,EAAMf,EAAEC,OAAOP,MAAMsB,MAAM,KACV,GAAjBD,EAAI,GAAGjK,SACPyJ,GAAY,MAGK,GAAjBQ,EAAI,GAAGjK,SACPyJ,GAAY,KAGpB,EAAKzH,SAAS,CACVg0B,2BAA4BvsB,SAMhD,4BACI,yDAGA,wBAAIuE,QAAS,GACT,2BAAO9I,KAAK,OACR+H,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAEi0B,6BAA8B/sB,EAAEC,OAAOP,SAE3DA,MAAOtL,KAAKQ,MAAMm4B,6BAClB5wB,MAAO,CAAEsD,MAAO,aAGxB,4BACI,2BAAOzD,KAAK,OACR+H,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAEivB,uBAAwB/nB,EAAEC,OAAOP,QAAS,WACtDtL,KAAKo3B,wBAGb9rB,MAAOtL,KAAKogB,eAAepgB,KAAKQ,MAAMmzB,wBACtC5rB,MAAO,CAAEsD,MAAO,OAChBoB,OAAQ,SAACb,GACL,IAAIO,EAAM,EAAK3L,MAAMmzB,uBACrB,GAAI/nB,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,OAASd,EAAEC,OAAOP,MAAMxC,SAAS,KAC7EqD,GAAY,WAEX,GAAIP,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,MAAQd,EAAEC,OAAOP,MAAMxC,SAAS,KAAM,CACvF,IAAI6D,EAAMf,EAAEC,OAAOP,MAAMsB,MAAM,KACV,GAAjBD,EAAI,GAAGjK,SACPyJ,GAAY,MAGK,GAAjBQ,EAAI,GAAGjK,SACPyJ,GAAY,KAGpB,EAAKzH,SAAS,CACVivB,uBAAwBxnB,QAKxC,qCACA,4BACI,2BAAOvE,KAAK,OACR+H,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAEk0B,kBAAmBhtB,EAAEC,OAAOP,SAEhDA,MAAOtL,KAAKQ,MAAMo4B,kBAClB7wB,MAAO,CAAEsD,MAAO,UAGxB,4BACI,2BAAOzD,KAAK,OACR+H,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAE4wB,qBAAsB1pB,EAAEC,OAAOP,QAAS,WACpDtL,KAAKo3B,wBAGb9rB,MAAOtL,KAAKogB,eAAepgB,KAAKQ,MAAM80B,sBACtCvtB,MAAO,CAAEsD,MAAO,OAChBoB,OAAQ,SAACb,GACL,IAAIO,EAAM,EAAK3L,MAAM80B,qBACrB,GAAI1pB,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,OAASd,EAAEC,OAAOP,MAAMxC,SAAS,KAC7EqD,GAAY,WAEX,GAAIP,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,MAAQd,EAAEC,OAAOP,MAAMxC,SAAS,KAAM,CACvF,IAAI6D,EAAMf,EAAEC,OAAOP,MAAMsB,MAAM,KACV,GAAjBD,EAAI,GAAGjK,SACPyJ,GAAY,MAGK,GAAjBQ,EAAI,GAAGjK,SACPyJ,GAAY,KAGpB,EAAKzH,SAAS,CACV4wB,qBAAsBnpB,QAKtC,4BACI,2BAAOvE,KAAK,OACR+H,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAEm0B,qBAAsBjtB,EAAEC,OAAOP,SAEnDA,MAAOtL,KAAKogB,eAAepgB,KAAKQ,MAAMq4B,sBACtC9wB,MAAO,CAAEsD,MAAO,OAChBoB,OAAQ,SAACb,GACL,IAAIO,EAAM,EAAK3L,MAAMq4B,qBACrB,GAAIjtB,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,OAASd,EAAEC,OAAOP,MAAMxC,SAAS,KAC7EqD,GAAY,WAEX,GAAIP,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,MAAQd,EAAEC,OAAOP,MAAMxC,SAAS,KAAM,CACvF,IAAI6D,EAAMf,EAAEC,OAAOP,MAAMsB,MAAM,KACV,GAAjBD,EAAI,GAAGjK,SACPyJ,GAAY,MAGK,GAAjBQ,EAAI,GAAGjK,SACPyJ,GAAY,KAGpB,EAAKzH,SAAS,CACVm0B,qBAAsB1sB,SAM1C,4BACI,kDACA,wCACA,uCACA,yCACA,+CACA,iDACA,+CACA,6CAEJ,4BACI,iDAGA,4BACI,2BAAOvE,KAAK,OACR+H,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAEo0B,yBAA0BltB,EAAEC,OAAOP,SAEvDA,MAAOtL,KAAKQ,MAAMs4B,yBAClB/wB,MAAO,CAAEsD,MAAO,WAGxB,4BACI,2BAAOzD,KAAK,OACR+H,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAEq0B,6BAA8BntB,EAAEC,OAAOP,SAE3DA,MAAOtL,KAAKQ,MAAMu4B,6BAClBhxB,MAAO,CAAEsD,MAAO,UAGxB,4BACI,2BAAOzD,KAAK,OACR+H,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAEkvB,sBAAuBhoB,EAAEC,OAAOP,QAAS,WACrDtL,KAAKo3B,wBAGb9rB,MAAOtL,KAAKogB,eAAepgB,KAAKQ,MAAMozB,uBACtC7rB,MAAO,CAAEsD,MAAO,OAChBoB,OAAQ,SAACb,GACL,IAAIO,EAAM,EAAK3L,MAAMozB,sBACrB,GAAIhoB,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,OAASd,EAAEC,OAAOP,MAAMxC,SAAS,KAC7EqD,GAAY,WAEX,GAAIP,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,MAAQd,EAAEC,OAAOP,MAAMxC,SAAS,KAAM,CACvF,IAAI6D,EAAMf,EAAEC,OAAOP,MAAMsB,MAAM,KACV,GAAjBD,EAAI,GAAGjK,SACPyJ,GAAY,MAGK,GAAjBQ,EAAI,GAAGjK,SACPyJ,GAAY,KAGpB,EAAKzH,SAAS,CACVkvB,sBAAuBznB,QAKvC,4BACI,2BAAOvE,KAAK,OACR+H,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAEs0B,+BAAgCptB,EAAEC,OAAOP,SAE7DA,MAAOtL,KAAKQ,MAAMw4B,+BAClBjxB,MAAO,CAAEsD,MAAO,UAGxB,4BACI,2BAAOzD,KAAK,OACR+H,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAEu0B,oCAAqCrtB,EAAEC,OAAOP,SAElEA,MAAOtL,KAAKogB,eAAepgB,KAAKQ,MAAMy4B,qCACtClxB,MAAO,CAAEsD,MAAO,UAGxB,4BACI,2BAAOzD,KAAK,OACR+H,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAE+wB,+BAAgC7pB,EAAEC,OAAOP,QAAS,WAC9DtL,KAAKo3B,wBAGb9rB,MAAOtL,KAAKogB,eAAepgB,KAAKQ,MAAMi1B,gCACtC1tB,MAAO,CAAEsD,MAAO,OAChBoB,OAAQ,SAACb,GACL,IAAIO,EAAM,EAAK3L,MAAMi1B,+BACrB,GAAI7pB,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,OAASd,EAAEC,OAAOP,MAAMxC,SAAS,KAC7EqD,GAAY,WAEX,GAAIP,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,MAAQd,EAAEC,OAAOP,MAAMxC,SAAS,KAAM,CACvF,IAAI6D,EAAMf,EAAEC,OAAOP,MAAMsB,MAAM,KACV,GAAjBD,EAAI,GAAGjK,SACPyJ,GAAY,MAGK,GAAjBQ,EAAI,GAAGjK,SACPyJ,GAAY,KAGpB,EAAKzH,SAAS,CACV+wB,+BAAgCtpB,QAKhD,4BACI,2BAAOvE,KAAK,OACR+H,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAEw0B,+BAAgCttB,EAAEC,OAAOP,SAE7DA,MAAOtL,KAAKogB,eAAepgB,KAAKQ,MAAM04B,gCACtCnxB,MAAO,CAAEsD,MAAO,OAChBoB,OAAQ,SAACb,GACL,IAAIO,EAAM,EAAK3L,MAAM04B,+BACrB,GAAIttB,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,OAASd,EAAEC,OAAOP,MAAMxC,SAAS,KAC7EqD,GAAY,WAEX,GAAIP,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,MAAQd,EAAEC,OAAOP,MAAMxC,SAAS,KAAM,CACvF,IAAI6D,EAAMf,EAAEC,OAAOP,MAAMsB,MAAM,KACV,GAAjBD,EAAI,GAAGjK,SACPyJ,GAAY,MAGK,GAAjBQ,EAAI,GAAGjK,SACPyJ,GAAY,KAGpB,EAAKzH,SAAS,CACVw0B,+BAAgC/sB,SAMpD,4BACI,wDAGA,4BACI,2BAAOvE,KAAK,OACR+H,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAEy0B,uBAAwBvtB,EAAEC,OAAOP,SAErDA,MAAOtL,KAAKQ,MAAM24B,uBAClBpxB,MAAO,CAAEsD,MAAO,WAGxB,4BACI,2BAAOzD,KAAK,OACR+H,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAE00B,2BAA4BxtB,EAAEC,OAAOP,SAEzDA,MAAOtL,KAAKQ,MAAM44B,2BAClBrxB,MAAO,CAAEsD,MAAO,UAGxB,4BACI,2BAAOzD,KAAK,OACR+H,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAEovB,oBAAqBloB,EAAEC,OAAOP,QAAS,WACnDtL,KAAKo3B,wBAGb9rB,MAAOtL,KAAKogB,eAAepgB,KAAKQ,MAAMszB,qBACtC/rB,MAAO,CAAEsD,MAAO,OAChBoB,OAAQ,SAACb,GACL,IAAIO,EAAM,EAAK3L,MAAMszB,oBACrB,GAAIloB,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,OAASd,EAAEC,OAAOP,MAAMxC,SAAS,KAC7EqD,GAAY,WAEX,GAAIP,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,MAAQd,EAAEC,OAAOP,MAAMxC,SAAS,KAAM,CACvF,IAAI6D,EAAMf,EAAEC,OAAOP,MAAMsB,MAAM,KACV,GAAjBD,EAAI,GAAGjK,SACPyJ,GAAY,MAGK,GAAjBQ,EAAI,GAAGjK,SACPyJ,GAAY,KAGpB,EAAKzH,SAAS,CACVovB,oBAAqB3nB,QAKrC,4BACI,2BAAOvE,KAAK,OACR+H,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAE20B,6BAA8BztB,EAAEC,OAAOP,SAE3DA,MAAOtL,KAAKQ,MAAM64B,6BAClBtxB,MAAO,CAAEsD,MAAO,UAGxB,4BACI,2BAAOzD,KAAK,OACR+H,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAE40B,kCAAmC1tB,EAAEC,OAAOP,QAAS,WACjEtL,KAAKo3B,wBAGb9rB,MAAOtL,KAAKogB,eAAepgB,KAAKQ,MAAM84B,mCACtCvxB,MAAO,CAAEsD,MAAO,OAChBoB,OAAQ,SAACb,GACL,IAAIO,EAAM,EAAK3L,MAAM84B,kCACrB,GAAI1tB,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,OAASd,EAAEC,OAAOP,MAAMxC,SAAS,KAC7EqD,GAAY,WAEX,GAAIP,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,MAAQd,EAAEC,OAAOP,MAAMxC,SAAS,KAAM,CACvF,IAAI6D,EAAMf,EAAEC,OAAOP,MAAMsB,MAAM,KACV,GAAjBD,EAAI,GAAGjK,SACPyJ,GAAY,MAGK,GAAjBQ,EAAI,GAAGjK,SACPyJ,GAAY,KAGpB,EAAKzH,SAAS,CACV40B,kCAAmCntB,QAKnD,4BACI,2BAAOvE,KAAK,OACR+H,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAEixB,6BAA8B/pB,EAAEC,OAAOP,QAAS,WAC5DtL,KAAKo3B,wBAGb9rB,MAAOtL,KAAKogB,eAAepgB,KAAKQ,MAAMm1B,8BACtC5tB,MAAO,CAAEsD,MAAO,OAChBoB,OAAQ,SAACb,GACL,IAAIO,EAAM,EAAK3L,MAAMm1B,6BACrB,GAAI/pB,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,OAASd,EAAEC,OAAOP,MAAMxC,SAAS,KAC7EqD,GAAY,WAEX,GAAIP,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,MAAQd,EAAEC,OAAOP,MAAMxC,SAAS,KAAM,CACvF,IAAI6D,EAAMf,EAAEC,OAAOP,MAAMsB,MAAM,KACV,GAAjBD,EAAI,GAAGjK,SACPyJ,GAAY,MAGK,GAAjBQ,EAAI,GAAGjK,SACPyJ,GAAY,KAGpB,EAAKzH,SAAS,CACVixB,6BAA8BxpB,QAK9C,4BACI,2BAAOvE,KAAK,OACR+H,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAE60B,6BAA8B3tB,EAAEC,OAAOP,SAE3DA,MAAOtL,KAAKogB,eAAepgB,KAAKQ,MAAM+4B,8BACtCxxB,MAAO,CAAEsD,MAAO,OAChBoB,OAAQ,SAACb,GACL,IAAIO,EAAM,EAAK3L,MAAM+4B,6BACrB,GAAI3tB,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,OAASd,EAAEC,OAAOP,MAAMxC,SAAS,KAC7EqD,GAAY,WAEX,GAAIP,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,MAAQd,EAAEC,OAAOP,MAAMxC,SAAS,KAAM,CACvF,IAAI6D,EAAMf,EAAEC,OAAOP,MAAMsB,MAAM,KACV,GAAjBD,EAAI,GAAGjK,SACPyJ,GAAY,MAGK,GAAjBQ,EAAI,GAAGjK,SACPyJ,GAAY,KAGpB,EAAKzH,SAAS,CACV60B,6BAA8BptB,SAMlD,4BACI,kDAGA,4BACI,2BAAOvE,KAAK,OACR+H,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAE80B,gBAAiB5tB,EAAEC,OAAOP,SAE9CA,MAAOtL,KAAKQ,MAAMg5B,gBAClBzxB,MAAO,CAAEsD,MAAO,WAGxB,4BACI,2BAAOzD,KAAK,OACR+H,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAE+0B,oBAAqB7tB,EAAEC,OAAOP,SAElDA,MAAOtL,KAAKQ,MAAMi5B,oBAClB1xB,MAAO,CAAEsD,MAAO,UAGxB,4BACI,2BAAOzD,KAAK,OACR+H,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAEqvB,aAAcnoB,EAAEC,OAAOP,QAAS,WAC5CtL,KAAKo3B,wBAGb9rB,MAAOtL,KAAKogB,eAAepgB,KAAKQ,MAAMuzB,cACtChsB,MAAO,CAAEsD,MAAO,OAChBoB,OAAQ,SAACb,GACL,IAAIO,EAAM,EAAK3L,MAAMuzB,aACrB,GAAInoB,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,OAASd,EAAEC,OAAOP,MAAMxC,SAAS,KAC7EqD,GAAY,WAEX,GAAIP,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,MAAQd,EAAEC,OAAOP,MAAMxC,SAAS,KAAM,CACvF,IAAI6D,EAAMf,EAAEC,OAAOP,MAAMsB,MAAM,KACV,GAAjBD,EAAI,GAAGjK,SACPyJ,GAAY,MAGK,GAAjBQ,EAAI,GAAGjK,SACPyJ,GAAY,KAGpB,EAAKzH,SAAS,CACVqvB,aAAc5nB,QAK9B,4BACI,2BAAOvE,KAAK,OACR+H,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAEg1B,sBAAuB9tB,EAAEC,OAAOP,SAEpDA,MAAOtL,KAAKQ,MAAMk5B,sBAClB3xB,MAAO,CAAEsD,MAAO,UAGxB,4BACI,2BAAOzD,KAAK,OACR+H,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAEi1B,2BAA4B/tB,EAAEC,OAAOP,QAAS,WAC1DtL,KAAKo3B,wBAGb9rB,MAAOtL,KAAKogB,eAAepgB,KAAKQ,MAAMm5B,4BACtC5xB,MAAO,CAAEsD,MAAO,OAChBoB,OAAQ,SAACb,GACL,IAAIO,EAAM,EAAK3L,MAAMm5B,2BACrB,GAAI/tB,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,OAASd,EAAEC,OAAOP,MAAMxC,SAAS,KAC7EqD,GAAY,WAEX,GAAIP,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,MAAQd,EAAEC,OAAOP,MAAMxC,SAAS,KAAM,CACvF,IAAI6D,EAAMf,EAAEC,OAAOP,MAAMsB,MAAM,KACV,GAAjBD,EAAI,GAAGjK,SACPyJ,GAAY,MAGK,GAAjBQ,EAAI,GAAGjK,SACPyJ,GAAY,KAGpB,EAAKzH,SAAS,CACVi1B,2BAA4BxtB,QAK5C,4BACI,2BAAOvE,KAAK,OACR+H,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAEkxB,eAAgBhqB,EAAEC,OAAOP,QAAS,WAC9CtL,KAAKo3B,wBAGb9rB,MAAOtL,KAAKogB,eAAepgB,KAAKQ,MAAMo1B,gBACtC7tB,MAAO,CAAEsD,MAAO,OAChBoB,OAAQ,SAACb,GACL,IAAIO,EAAM,EAAK3L,MAAMo1B,eACrB,GAAIhqB,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,OAASd,EAAEC,OAAOP,MAAMxC,SAAS,KAC7EqD,GAAY,WAEX,GAAIP,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,MAAQd,EAAEC,OAAOP,MAAMxC,SAAS,KAAM,CACvF,IAAI6D,EAAMf,EAAEC,OAAOP,MAAMsB,MAAM,KACV,GAAjBD,EAAI,GAAGjK,SACPyJ,GAAY,MAGK,GAAjBQ,EAAI,GAAGjK,SACPyJ,GAAY,KAGpB,EAAKzH,SAAS,CACVkxB,eAAgBzpB,QAKhC,4BACI,2BAAOvE,KAAK,OACR+H,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAEk1B,sBAAuBhuB,EAAEC,OAAOP,SAEpDA,MAAOtL,KAAKogB,eAAepgB,KAAKQ,MAAMo5B,uBACtC7xB,MAAO,CAAEsD,MAAO,OAChBoB,OAAQ,SAACb,GACL,IAAIO,EAAM,EAAK3L,MAAMo5B,sBACrB,GAAIhuB,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,OAASd,EAAEC,OAAOP,MAAMxC,SAAS,KAC7EqD,GAAY,WAEX,GAAIP,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,MAAQd,EAAEC,OAAOP,MAAMxC,SAAS,KAAM,CACvF,IAAI6D,EAAMf,EAAEC,OAAOP,MAAMsB,MAAM,KACV,GAAjBD,EAAI,GAAGjK,SACPyJ,GAAY,MAGK,GAAjBQ,EAAI,GAAGjK,SACPyJ,GAAY,KAGpB,EAAKzH,SAAS,CACVk1B,sBAAuBztB,SAM3C,4BACI,kDAGA,4BACI,2BAAOvE,KAAK,OACR+H,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAEm1B,gBAAiBjuB,EAAEC,OAAOP,SAE9CA,MAAOtL,KAAKQ,MAAMq5B,gBAClB9xB,MAAO,CAAEsD,MAAO,WAGxB,4BACI,2BAAOzD,KAAK,OACR+H,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAEo1B,oBAAqBluB,EAAEC,OAAOP,SAElDA,MAAOtL,KAAKQ,MAAMs5B,oBAClB/xB,MAAO,CAAEsD,MAAO,UAGxB,4BACI,2BAAOzD,KAAK,OACR+H,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAEsvB,aAAcpoB,EAAEC,OAAOP,QAAS,WAC5CtL,KAAKo3B,wBAGb9rB,MAAOtL,KAAKogB,eAAepgB,KAAKQ,MAAMwzB,cACtCjsB,MAAO,CAAEsD,MAAO,OAChBoB,OAAQ,SAACb,GACL,IAAIO,EAAM,EAAK3L,MAAMwzB,aACrB,GAAIpoB,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,OAASd,EAAEC,OAAOP,MAAMxC,SAAS,KAC7EqD,GAAY,WAEX,GAAIP,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,MAAQd,EAAEC,OAAOP,MAAMxC,SAAS,KAAM,CACvF,IAAI6D,EAAMf,EAAEC,OAAOP,MAAMsB,MAAM,KACV,GAAjBD,EAAI,GAAGjK,SACPyJ,GAAY,MAGK,GAAjBQ,EAAI,GAAGjK,SACPyJ,GAAY,KAGpB,EAAKzH,SAAS,CACVsvB,aAAc7nB,QAK9B,4BACI,2BAAOvE,KAAK,OACR+H,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAEq1B,sBAAuBnuB,EAAEC,OAAOP,SAEpDA,MAAOtL,KAAKQ,MAAMu5B,sBAClBhyB,MAAO,CAAEsD,MAAO,UAGxB,4BACI,2BAAOzD,KAAK,OACR+H,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAEs1B,2BAA4BpuB,EAAEC,OAAOP,QAAS,WAC1DtL,KAAKo3B,wBAGb9rB,MAAOtL,KAAKogB,eAAepgB,KAAKQ,MAAMw5B,4BACtCjyB,MAAO,CAAEsD,MAAO,OAChBoB,OAAQ,SAACb,GACL,IAAIO,EAAM,EAAK3L,MAAMw5B,2BACrB,GAAIpuB,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,OAASd,EAAEC,OAAOP,MAAMxC,SAAS,KAC7EqD,GAAY,WAEX,GAAIP,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,MAAQd,EAAEC,OAAOP,MAAMxC,SAAS,KAAM,CACvF,IAAI6D,EAAMf,EAAEC,OAAOP,MAAMsB,MAAM,KACV,GAAjBD,EAAI,GAAGjK,SACPyJ,GAAY,MAGK,GAAjBQ,EAAI,GAAGjK,SACPyJ,GAAY,KAGpB,EAAKzH,SAAS,CACVs1B,2BAA4B7tB,QAK5C,4BACI,2BAAOvE,KAAK,OACR+H,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAEmxB,eAAgBjqB,EAAEC,OAAOP,QAAS,WAC9CtL,KAAKo3B,wBAGb9rB,MAAOtL,KAAKogB,eAAepgB,KAAKQ,MAAMq1B,gBACtC9tB,MAAO,CAAEsD,MAAO,OAChBoB,OAAQ,SAACb,GACL,IAAIO,EAAM,EAAK3L,MAAMq1B,eACrB,GAAIjqB,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,OAASd,EAAEC,OAAOP,MAAMxC,SAAS,KAC7EqD,GAAY,WAEX,GAAIP,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,MAAQd,EAAEC,OAAOP,MAAMxC,SAAS,KAAM,CACvF,IAAI6D,EAAMf,EAAEC,OAAOP,MAAMsB,MAAM,KACV,GAAjBD,EAAI,GAAGjK,SACPyJ,GAAY,MAGK,GAAjBQ,EAAI,GAAGjK,SACPyJ,GAAY,KAGpB,EAAKzH,SAAS,CACVmxB,eAAgB1pB,QAKhC,4BACI,2BAAOvE,KAAK,OACR+H,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAEu1B,sBAAuBruB,EAAEC,OAAOP,SAEpDA,MAAOtL,KAAKogB,eAAepgB,KAAKQ,MAAMy5B,uBACtClyB,MAAO,CAAEsD,MAAO,OAChBoB,OAAQ,SAACb,GACL,IAAIO,EAAM,EAAK3L,MAAMy5B,sBACrB,GAAIruB,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,OAASd,EAAEC,OAAOP,MAAMxC,SAAS,KAC7EqD,GAAY,WAEX,GAAIP,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,MAAQd,EAAEC,OAAOP,MAAMxC,SAAS,KAAM,CACvF,IAAI6D,EAAMf,EAAEC,OAAOP,MAAMsB,MAAM,KACV,GAAjBD,EAAI,GAAGjK,SACPyJ,GAAY,MAGK,GAAjBQ,EAAI,GAAGjK,SACPyJ,GAAY,KAGpB,EAAKzH,SAAS,CACVu1B,sBAAuB9tB,SAM3C,4BACI,kDAGA,4BACI,2BAAOvE,KAAK,OACR+H,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAEw1B,gBAAiBtuB,EAAEC,OAAOP,SAE9CA,MAAOtL,KAAKQ,MAAM05B,gBAClBnyB,MAAO,CAAEsD,MAAO,WAGxB,4BACI,2BAAOzD,KAAK,OACR+H,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAEy1B,oBAAqBvuB,EAAEC,OAAOP,SAElDA,MAAOtL,KAAKQ,MAAM25B,oBAClBpyB,MAAO,CAAEsD,MAAO,UAGxB,4BACI,2BAAOzD,KAAK,OACR+H,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAEuvB,aAAcroB,EAAEC,OAAOP,QAAS,WAC5CtL,KAAKo3B,wBAGb9rB,MAAOtL,KAAKogB,eAAepgB,KAAKQ,MAAMyzB,cACtClsB,MAAO,CAAEsD,MAAO,OAChBoB,OAAQ,SAACb,GACL,IAAIO,EAAM,EAAK3L,MAAMyzB,aACrB,GAAIroB,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,OAASd,EAAEC,OAAOP,MAAMxC,SAAS,KAC7EqD,GAAY,WAEX,GAAIP,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,MAAQd,EAAEC,OAAOP,MAAMxC,SAAS,KAAM,CACvF,IAAI6D,EAAMf,EAAEC,OAAOP,MAAMsB,MAAM,KACV,GAAjBD,EAAI,GAAGjK,SACPyJ,GAAY,MAGK,GAAjBQ,EAAI,GAAGjK,SACPyJ,GAAY,KAGpB,EAAKzH,SAAS,CACVuvB,aAAc9nB,QAK9B,4BACI,2BAAOvE,KAAK,OACR+H,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAE01B,sBAAuBxuB,EAAEC,OAAOP,SAEpDA,MAAOtL,KAAKQ,MAAM45B,sBAClBryB,MAAO,CAAEsD,MAAO,UAGxB,4BACI,2BAAOzD,KAAK,OACR+H,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAE21B,2BAA4BzuB,EAAEC,OAAOP,QAAS,WAC1DtL,KAAKo3B,wBAGb9rB,MAAOtL,KAAKogB,eAAepgB,KAAKQ,MAAM65B,4BACtCtyB,MAAO,CAAEsD,MAAO,OAChBoB,OAAQ,SAACb,GACL,IAAIO,EAAM,EAAK3L,MAAM65B,2BACrB,GAAIzuB,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,OAASd,EAAEC,OAAOP,MAAMxC,SAAS,KAC7EqD,GAAY,WAEX,GAAIP,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,MAAQd,EAAEC,OAAOP,MAAMxC,SAAS,KAAM,CACvF,IAAI6D,EAAMf,EAAEC,OAAOP,MAAMsB,MAAM,KACV,GAAjBD,EAAI,GAAGjK,SACPyJ,GAAY,MAGK,GAAjBQ,EAAI,GAAGjK,SACPyJ,GAAY,KAGpB,EAAKzH,SAAS,CACV21B,2BAA4BluB,QAK5C,4BACI,2BAAOvE,KAAK,OACR+H,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAEoxB,eAAgBlqB,EAAEC,OAAOP,QAAS,WAC9CtL,KAAKo3B,wBAGb9rB,MAAOtL,KAAKogB,eAAepgB,KAAKQ,MAAMs1B,gBACtC/tB,MAAO,CAAEsD,MAAO,OAChBoB,OAAQ,SAACb,GACL,IAAIO,EAAM,EAAK3L,MAAMs1B,eACrB,GAAIlqB,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,OAASd,EAAEC,OAAOP,MAAMxC,SAAS,KAC7EqD,GAAY,WAEX,GAAIP,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,MAAQd,EAAEC,OAAOP,MAAMxC,SAAS,KAAM,CACvF,IAAI6D,EAAMf,EAAEC,OAAOP,MAAMsB,MAAM,KACV,GAAjBD,EAAI,GAAGjK,SACPyJ,GAAY,MAGK,GAAjBQ,EAAI,GAAGjK,SACPyJ,GAAY,KAGpB,EAAKzH,SAAS,CACVoxB,eAAgB3pB,QAKhC,4BACI,2BAAOvE,KAAK,OACR+H,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAE41B,sBAAuB1uB,EAAEC,OAAOP,SAEpDA,MAAOtL,KAAKogB,eAAepgB,KAAKQ,MAAM85B,uBACtCvyB,MAAO,CAAEsD,MAAO,OAChBoB,OAAQ,SAACb,GACL,IAAIO,EAAM,EAAK3L,MAAM85B,sBACrB,GAAI1uB,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,OAASd,EAAEC,OAAOP,MAAMxC,SAAS,KAC7EqD,GAAY,WAEX,GAAIP,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,MAAQd,EAAEC,OAAOP,MAAMxC,SAAS,KAAM,CACvF,IAAI6D,EAAMf,EAAEC,OAAOP,MAAMsB,MAAM,KACV,GAAjBD,EAAI,GAAGjK,SACPyJ,GAAY,MAGK,GAAjBQ,EAAI,GAAGjK,SACPyJ,GAAY,KAGpB,EAAKzH,SAAS,CACV41B,sBAAuBnuB,SAM3C,4BACI,qCAGA,4BACI,2BAAOvE,KAAK,OACR+H,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAE61B,yBAA0B3uB,EAAEC,OAAOP,SAEvDA,MAAOtL,KAAKQ,MAAM+5B,yBAClBxyB,MAAO,CAAEsD,MAAO,WAGxB,4BACI,2BAAOzD,KAAK,OACR+H,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAE81B,6BAA8B5uB,EAAEC,OAAOP,SAE3DA,MAAOtL,KAAKQ,MAAMg6B,6BAClBzyB,MAAO,CAAEsD,MAAO,UAGxB,4BACI,2BAAOzD,KAAK,OACR+H,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAEwvB,sBAAuBtoB,EAAEC,OAAOP,QAAS,WACrDtL,KAAKo3B,wBAGb9rB,MAAOtL,KAAKogB,eAAepgB,KAAKQ,MAAM0zB,uBACtCnsB,MAAO,CAAEsD,MAAO,OAChBoB,OAAQ,SAACb,GACL,IAAIO,EAAM,EAAK3L,MAAM0zB,sBACrB,GAAItoB,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,OAASd,EAAEC,OAAOP,MAAMxC,SAAS,KAC7EqD,GAAY,WAEX,GAAIP,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,MAAQd,EAAEC,OAAOP,MAAMxC,SAAS,KAAM,CACvF,IAAI6D,EAAMf,EAAEC,OAAOP,MAAMsB,MAAM,KACV,GAAjBD,EAAI,GAAGjK,SACPyJ,GAAY,MAGK,GAAjBQ,EAAI,GAAGjK,SACPyJ,GAAY,KAGpB,EAAKzH,SAAS,CACVwvB,sBAAuB/nB,QAKvC,4BACI,2BAAOvE,KAAK,OACR+H,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAE+1B,+BAAgC7uB,EAAEC,OAAOP,SAE7DA,MAAOtL,KAAKQ,MAAMi6B,+BAClB1yB,MAAO,CAAEsD,MAAO,UAGxB,4BACI,2BAAOzD,KAAK,OACR+H,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAEg2B,oCAAqC9uB,EAAEC,OAAOP,QAAS,WACnEtL,KAAKo3B,wBAGb9rB,MAAOtL,KAAKogB,eAAepgB,KAAKQ,MAAMk6B,qCACtC3yB,MAAO,CAAEsD,MAAO,OAChBoB,OAAQ,SAACb,GACL,IAAIO,EAAM,EAAK3L,MAAMk6B,oCACrB,GAAI9uB,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,OAASd,EAAEC,OAAOP,MAAMxC,SAAS,KAC7EqD,GAAY,WAEX,GAAIP,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,MAAQd,EAAEC,OAAOP,MAAMxC,SAAS,KAAM,CACvF,IAAI6D,EAAMf,EAAEC,OAAOP,MAAMsB,MAAM,KACV,GAAjBD,EAAI,GAAGjK,SACPyJ,GAAY,MAGK,GAAjBQ,EAAI,GAAGjK,SACPyJ,GAAY,KAGpB,EAAKzH,SAAS,CACVg2B,oCAAqCvuB,QAKrD,4BACI,2BAAOvE,KAAK,OACR+H,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAEqxB,wBAAyBnqB,EAAEC,OAAOP,QAAS,WACvDtL,KAAKo3B,wBAGb9rB,MAAOtL,KAAKogB,eAAepgB,KAAKQ,MAAMu1B,yBACtChuB,MAAO,CAAEsD,MAAO,OAChBoB,OAAQ,SAACb,GACL,IAAIO,EAAM,EAAK3L,MAAMu1B,wBACrB,GAAInqB,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,OAASd,EAAEC,OAAOP,MAAMxC,SAAS,KAC7EqD,GAAY,WAEX,GAAIP,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,MAAQd,EAAEC,OAAOP,MAAMxC,SAAS,KAAM,CACvF,IAAI6D,EAAMf,EAAEC,OAAOP,MAAMsB,MAAM,KACV,GAAjBD,EAAI,GAAGjK,SACPyJ,GAAY,MAGK,GAAjBQ,EAAI,GAAGjK,SACPyJ,GAAY,KAGpB,EAAKzH,SAAS,CACVqxB,wBAAyB5pB,QAKzC,4BACI,2BAAOvE,KAAK,OACR+H,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAEi2B,+BAAgC/uB,EAAEC,OAAOP,SAE7DA,MAAOtL,KAAKogB,eAAepgB,KAAKQ,MAAMm6B,gCACtC5yB,MAAO,CAAEsD,MAAO,OAChBoB,OAAQ,SAACb,GACL,IAAIO,EAAM,EAAK3L,MAAMm6B,+BACrB,GAAI/uB,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,OAASd,EAAEC,OAAOP,MAAMxC,SAAS,KAC7EqD,GAAY,WAEX,GAAIP,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,MAAQd,EAAEC,OAAOP,MAAMxC,SAAS,KAAM,CACvF,IAAI6D,EAAMf,EAAEC,OAAOP,MAAMsB,MAAM,KACV,GAAjBD,EAAI,GAAGjK,SACPyJ,GAAY,MAGK,GAAjBQ,EAAI,GAAGjK,SACPyJ,GAAY,KAGpB,EAAKzH,SAAS,CACVi2B,+BAAgCxuB,SAMpD,4BACI,+CACA,6CACA,uCACA,yCACA,8CACA,2CACA,+CACA,6CAEJ,4BACI,2CAGA,4BACI,2BAAOvE,KAAK,OACR+H,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAEk2B,2BAA4BhvB,EAAEC,OAAOP,SAEzDA,MAAOtL,KAAKQ,MAAMo6B,2BAClB7yB,MAAO,CAAEsD,MAAO,WAGxB,4BACI,2BAAOzD,KAAK,OACR+H,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAEm2B,2BAA4BjvB,EAAEC,OAAOP,SAEzDA,MAAOtL,KAAKQ,MAAMq6B,2BAClB9yB,MAAO,CAAEsD,MAAO,UAGxB,4BACI,2BAAOzD,KAAK,OACR+H,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAE0vB,2BAA4BxoB,EAAEC,OAAOP,QAAS,WAC1DtL,KAAKo3B,wBAGb9rB,MAAOtL,KAAKogB,eAAepgB,KAAKQ,MAAM4zB,4BACtCrsB,MAAO,CAAEsD,MAAO,OAChBoB,OAAQ,SAACb,GACL,IAAIO,EAAM,EAAK3L,MAAM4zB,2BACrB,GAAIxoB,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,OAASd,EAAEC,OAAOP,MAAMxC,SAAS,KAC7EqD,GAAY,WAEX,GAAIP,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,MAAQd,EAAEC,OAAOP,MAAMxC,SAAS,KAAM,CACvF,IAAI6D,EAAMf,EAAEC,OAAOP,MAAMsB,MAAM,KACV,GAAjBD,EAAI,GAAGjK,SACPyJ,GAAY,MAGK,GAAjBQ,EAAI,GAAGjK,SACPyJ,GAAY,KAGpB,EAAKzH,SAAS,CACV0vB,2BAA4BjoB,QAK5C,4BACI,2BAAOvE,KAAK,OACR+H,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAEo2B,4BAA6BlvB,EAAEC,OAAOP,SAE1DA,MAAOtL,KAAKQ,MAAMs6B,4BAClB/yB,MAAO,CAAEsD,MAAO,UAGxB,4BACI,2BAAOzD,KAAK,OACR+H,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAEq2B,kCAAmCnvB,EAAEC,OAAOP,SAEhEA,MAAOtL,KAAKQ,MAAMu6B,kCAClBhzB,MAAO,CAAEsD,MAAO,UAGxB,4BACI,2BAAOzD,KAAK,OACR+H,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAEuxB,qCAAsCrqB,EAAEC,OAAOP,QAAS,WACpEtL,KAAKo3B,wBAGb9rB,MAAOtL,KAAKogB,eAAepgB,KAAKQ,MAAMy1B,sCACtCluB,MAAO,CAAEsD,MAAO,OAChBoB,OAAQ,SAACb,GACL,IAAIO,EAAM,EAAK3L,MAAMy1B,qCACrB,GAAIrqB,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,OAASd,EAAEC,OAAOP,MAAMxC,SAAS,KAC7EqD,GAAY,WAEX,GAAIP,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,MAAQd,EAAEC,OAAOP,MAAMxC,SAAS,KAAM,CACvF,IAAI6D,EAAMf,EAAEC,OAAOP,MAAMsB,MAAM,KACV,GAAjBD,EAAI,GAAGjK,SACPyJ,GAAY,MAGK,GAAjBQ,EAAI,GAAGjK,SACPyJ,GAAY,KAGpB,EAAKzH,SAAS,CACVuxB,qCAAsC9pB,QAKtD,4BACI,2BAAOvE,KAAK,OACR+H,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAEs2B,qCAAsCpvB,EAAEC,OAAOP,SAEnEA,MAAOtL,KAAKogB,eAAepgB,KAAKQ,MAAMw6B,sCACtCjzB,MAAO,CAAEsD,MAAO,OAChBoB,OAAQ,SAACb,GACL,IAAIO,EAAM,EAAK3L,MAAMw6B,qCACrB,GAAIpvB,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,OAASd,EAAEC,OAAOP,MAAMxC,SAAS,KAC7EqD,GAAY,WAEX,GAAIP,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,MAAQd,EAAEC,OAAOP,MAAMxC,SAAS,KAAM,CACvF,IAAI6D,EAAMf,EAAEC,OAAOP,MAAMsB,MAAM,KACV,GAAjBD,EAAI,GAAGjK,SACPyJ,GAAY,MAGK,GAAjBQ,EAAI,GAAGjK,SACPyJ,GAAY,KAGpB,EAAKzH,SAAS,CACVs2B,qCAAsC7uB,SAM1D,4BACI,2CAGA,4BACI,2BAAOvE,KAAK,OACR+H,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAEu2B,2BAA4BrvB,EAAEC,OAAOP,SAEzDA,MAAOtL,KAAKQ,MAAMy6B,2BAClBlzB,MAAO,CAAEsD,MAAO,WAGxB,4BACI,2BAAOzD,KAAK,OACR+H,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAEw2B,2BAA4BtvB,EAAEC,OAAOP,SAEzDA,MAAOtL,KAAKQ,MAAM06B,2BAClBnzB,MAAO,CAAEsD,MAAO,UAGxB,4BACI,2BAAOzD,KAAK,OACR+H,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAE2vB,2BAA4BzoB,EAAEC,OAAOP,QAAS,WAC1DtL,KAAKo3B,wBAGb9rB,MAAOtL,KAAKogB,eAAepgB,KAAKQ,MAAM6zB,4BACtCtsB,MAAO,CAAEsD,MAAO,OAChBoB,OAAQ,SAACb,GACL,IAAIO,EAAM,EAAK3L,MAAM6zB,2BACrB,GAAIzoB,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,OAASd,EAAEC,OAAOP,MAAMxC,SAAS,KAC7EqD,GAAY,WAEX,GAAIP,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,MAAQd,EAAEC,OAAOP,MAAMxC,SAAS,KAAM,CACvF,IAAI6D,EAAMf,EAAEC,OAAOP,MAAMsB,MAAM,KACV,GAAjBD,EAAI,GAAGjK,SACPyJ,GAAY,MAGK,GAAjBQ,EAAI,GAAGjK,SACPyJ,GAAY,KAGpB,EAAKzH,SAAS,CACV2vB,2BAA4BloB,QAK5C,4BACI,2BAAOvE,KAAK,OACR+H,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAEy2B,4BAA6BvvB,EAAEC,OAAOP,SAE1DA,MAAOtL,KAAKQ,MAAM26B,4BAClBpzB,MAAO,CAAEsD,MAAO,UAGxB,4BACI,2BAAOzD,KAAK,OACR+H,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAE02B,kCAAmCxvB,EAAEC,OAAOP,SAEhEA,MAAOtL,KAAKQ,MAAM46B,kCAClBrzB,MAAO,CAAEsD,MAAO,UAGxB,4BACI,2BAAOzD,KAAK,OACR+H,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAEwxB,qCAAsCtqB,EAAEC,OAAOP,QAAS,WACpEtL,KAAKo3B,wBAGb9rB,MAAOtL,KAAKogB,eAAepgB,KAAKQ,MAAM01B,sCACtCnuB,MAAO,CAAEsD,MAAO,OAChBoB,OAAQ,SAACb,GACL,IAAIO,EAAM,EAAK3L,MAAM01B,qCACrB,GAAItqB,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,OAASd,EAAEC,OAAOP,MAAMxC,SAAS,KAC7EqD,GAAY,WAEX,GAAIP,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,MAAQd,EAAEC,OAAOP,MAAMxC,SAAS,KAAM,CACvF,IAAI6D,EAAMf,EAAEC,OAAOP,MAAMsB,MAAM,KACV,GAAjBD,EAAI,GAAGjK,SACPyJ,GAAY,MAGK,GAAjBQ,EAAI,GAAGjK,SACPyJ,GAAY,KAGpB,EAAKzH,SAAS,CACVwxB,qCAAsC/pB,QAKtD,4BACI,2BAAOvE,KAAK,OACR+H,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAE22B,qCAAsCzvB,EAAEC,OAAOP,SAEnEA,MAAOtL,KAAKogB,eAAepgB,KAAKQ,MAAM66B,sCACtCtzB,MAAO,CAAEsD,MAAO,OAChBoB,OAAQ,SAACb,GACL,IAAIO,EAAM,EAAK3L,MAAM66B,qCACrB,GAAIzvB,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,OAASd,EAAEC,OAAOP,MAAMxC,SAAS,KAC7EqD,GAAY,WAEX,GAAIP,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,MAAQd,EAAEC,OAAOP,MAAMxC,SAAS,KAAM,CACvF,IAAI6D,EAAMf,EAAEC,OAAOP,MAAMsB,MAAM,KACV,GAAjBD,EAAI,GAAGjK,SACPyJ,GAAY,MAGK,GAAjBQ,EAAI,GAAGjK,SACPyJ,GAAY,KAGpB,EAAKzH,SAAS,CACV22B,qCAAsClvB,SAM1D,4BACI,2CAGA,4BACI,2BAAOvE,KAAK,OACR+H,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAE42B,2BAA4B1vB,EAAEC,OAAOP,SAEzDA,MAAOtL,KAAKQ,MAAM86B,2BAClBvzB,MAAO,CAAEsD,MAAO,WAGxB,4BACI,2BAAOzD,KAAK,OACR+H,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAE62B,2BAA4B3vB,EAAEC,OAAOP,SAEzDA,MAAOtL,KAAKQ,MAAM+6B,2BAClBxzB,MAAO,CAAEsD,MAAO,UAGxB,4BACI,2BAAOzD,KAAK,OACR+H,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAE4vB,2BAA4B1oB,EAAEC,OAAOP,QAAS,WAC1DtL,KAAKo3B,wBAGb9rB,MAAOtL,KAAKogB,eAAepgB,KAAKQ,MAAM8zB,4BACtCvsB,MAAO,CAAEsD,MAAO,OAChBoB,OAAQ,SAACb,GACL,IAAIO,EAAM,EAAK3L,MAAM8zB,2BACrB,GAAI1oB,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,OAASd,EAAEC,OAAOP,MAAMxC,SAAS,KAC7EqD,GAAY,WAEX,GAAIP,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,MAAQd,EAAEC,OAAOP,MAAMxC,SAAS,KAAM,CACvF,IAAI6D,EAAMf,EAAEC,OAAOP,MAAMsB,MAAM,KACV,GAAjBD,EAAI,GAAGjK,SACPyJ,GAAY,MAGK,GAAjBQ,EAAI,GAAGjK,SACPyJ,GAAY,KAGpB,EAAKzH,SAAS,CACV4vB,2BAA4BnoB,QAK5C,4BACI,2BAAOvE,KAAK,OACR+H,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAE82B,4BAA6B5vB,EAAEC,OAAOP,SAE1DA,MAAOtL,KAAKQ,MAAMg7B,4BAClBzzB,MAAO,CAAEsD,MAAO,UAGxB,4BACI,2BAAOzD,KAAK,OACR+H,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAE+2B,kCAAmC7vB,EAAEC,OAAOP,SAEhEA,MAAOtL,KAAKQ,MAAMi7B,kCAClB1zB,MAAO,CAAEsD,MAAO,UAGxB,4BACI,2BAAOzD,KAAK,OACR+H,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAEyxB,qCAAsCvqB,EAAEC,OAAOP,QAAS,WACpEtL,KAAKo3B,wBAGb9rB,MAAOtL,KAAKogB,eAAepgB,KAAKQ,MAAM21B,sCACtCpuB,MAAO,CAAEsD,MAAO,OAChBoB,OAAQ,SAACb,GACL,IAAIO,EAAM,EAAK3L,MAAM21B,qCACrB,GAAIvqB,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,OAASd,EAAEC,OAAOP,MAAMxC,SAAS,KAC7EqD,GAAY,WAEX,GAAIP,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,MAAQd,EAAEC,OAAOP,MAAMxC,SAAS,KAAM,CACvF,IAAI6D,EAAMf,EAAEC,OAAOP,MAAMsB,MAAM,KACV,GAAjBD,EAAI,GAAGjK,SACPyJ,GAAY,MAGK,GAAjBQ,EAAI,GAAGjK,SACPyJ,GAAY,KAGpB,EAAKzH,SAAS,CACVyxB,qCAAsChqB,QAKtD,4BACI,2BAAOvE,KAAK,OACR+H,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAEg3B,qCAAsC9vB,EAAEC,OAAOP,SAEnEA,MAAOtL,KAAKogB,eAAepgB,KAAKQ,MAAMk7B,sCACtC3zB,MAAO,CAAEsD,MAAO,OAChBoB,OAAQ,SAACb,GACL,IAAIO,EAAM,EAAK3L,MAAMk7B,qCACrB,GAAI9vB,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,OAASd,EAAEC,OAAOP,MAAMxC,SAAS,KAC7EqD,GAAY,WAEX,GAAIP,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,MAAQd,EAAEC,OAAOP,MAAMxC,SAAS,KAAM,CACvF,IAAI6D,EAAMf,EAAEC,OAAOP,MAAMsB,MAAM,KACV,GAAjBD,EAAI,GAAGjK,SACPyJ,GAAY,MAGK,GAAjBQ,EAAI,GAAGjK,SACPyJ,GAAY,KAGpB,EAAKzH,SAAS,CACVg3B,qCAAsCvvB,SAM1D,4BACI,2CAGA,4BACI,2BAAOvE,KAAK,OACR+H,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAEi3B,2BAA4B/vB,EAAEC,OAAOP,SAEzDA,MAAOtL,KAAKQ,MAAMm7B,2BAClB5zB,MAAO,CAAEsD,MAAO,WAGxB,4BACI,2BAAOzD,KAAK,OACR+H,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAEk3B,2BAA4BhwB,EAAEC,OAAOP,SAEzDA,MAAOtL,KAAKQ,MAAMo7B,2BAClB7zB,MAAO,CAAEsD,MAAO,UAGxB,4BACI,2BAAOzD,KAAK,OACR+H,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAE6vB,2BAA4B3oB,EAAEC,OAAOP,QAAS,WAC1DtL,KAAKo3B,wBAGb9rB,MAAOtL,KAAKogB,eAAepgB,KAAKQ,MAAM+zB,4BACtCxsB,MAAO,CAAEsD,MAAO,OAChBoB,OAAQ,SAACb,GACL,IAAIO,EAAM,EAAK3L,MAAM+zB,2BACrB,GAAI3oB,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,OAASd,EAAEC,OAAOP,MAAMxC,SAAS,KAC7EqD,GAAY,WAEX,GAAIP,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,MAAQd,EAAEC,OAAOP,MAAMxC,SAAS,KAAM,CACvF,IAAI6D,EAAMf,EAAEC,OAAOP,MAAMsB,MAAM,KACV,GAAjBD,EAAI,GAAGjK,SACPyJ,GAAY,MAGK,GAAjBQ,EAAI,GAAGjK,SACPyJ,GAAY,KAGpB,EAAKzH,SAAS,CACV6vB,2BAA4BpoB,QAK5C,4BACI,2BAAOvE,KAAK,OACR+H,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAEm3B,4BAA6BjwB,EAAEC,OAAOP,SAE1DA,MAAOtL,KAAKQ,MAAMq7B,4BAClB9zB,MAAO,CAAEsD,MAAO,UAGxB,4BACI,2BAAOzD,KAAK,OACR+H,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAEo3B,kCAAmClwB,EAAEC,OAAOP,SAEhEA,MAAOtL,KAAKQ,MAAMs7B,kCAClB/zB,MAAO,CAAEsD,MAAO,UAGxB,4BACI,2BAAOzD,KAAK,OACR+H,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAE0xB,qCAAsCxqB,EAAEC,OAAOP,QAAS,WACpEtL,KAAKo3B,wBAGb9rB,MAAOtL,KAAKogB,eAAepgB,KAAKQ,MAAM41B,sCACtCruB,MAAO,CAAEsD,MAAO,OAChBoB,OAAQ,SAACb,GACL,IAAIO,EAAM,EAAK3L,MAAM41B,qCACrB,GAAIxqB,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,OAASd,EAAEC,OAAOP,MAAMxC,SAAS,KAC7EqD,GAAY,WAEX,GAAIP,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,MAAQd,EAAEC,OAAOP,MAAMxC,SAAS,KAAM,CACvF,IAAI6D,EAAMf,EAAEC,OAAOP,MAAMsB,MAAM,KACV,GAAjBD,EAAI,GAAGjK,SACPyJ,GAAY,MAGK,GAAjBQ,EAAI,GAAGjK,SACPyJ,GAAY,KAGpB,EAAKzH,SAAS,CACV0xB,qCAAsCjqB,QAKtD,4BACI,2BAAOvE,KAAK,OACR+H,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAEq3B,qCAAsCnwB,EAAEC,OAAOP,SAEnEA,MAAOtL,KAAKogB,eAAepgB,KAAKQ,MAAMu7B,sCACtCh0B,MAAO,CAAEsD,MAAO,OAChBoB,OAAQ,SAACb,GACL,IAAIO,EAAM,EAAK3L,MAAMu7B,qCACrB,GAAInwB,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,OAASd,EAAEC,OAAOP,MAAMxC,SAAS,KAC7EqD,GAAY,WAEX,GAAIP,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,MAAQd,EAAEC,OAAOP,MAAMxC,SAAS,KAAM,CACvF,IAAI6D,EAAMf,EAAEC,OAAOP,MAAMsB,MAAM,KACV,GAAjBD,EAAI,GAAGjK,SACPyJ,GAAY,MAGK,GAAjBQ,EAAI,GAAGjK,SACPyJ,GAAY,KAGpB,EAAKzH,SAAS,CACVq3B,qCAAsC5vB,SAM1D,4BACI,4CACA,6BACA,6BACA,yCACA,mDACA,2CACA,+CACA,6CAEJ,4BACI,4CAGA,4BACI,2BAAOvE,KAAK,OACR+H,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAEs3B,kCAAmCpwB,EAAEC,OAAOP,SAEhEA,MAAOtL,KAAKQ,MAAMw7B,kCAClBj0B,MAAO,CAAEsD,MAAO,WAGxB,6BAEA,4BACI,2BAAOzD,KAAK,OACR+H,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAE8vB,2BAA4B5oB,EAAEC,OAAOP,QAAS,WAC1DtL,KAAKo3B,wBAGb9rB,MAAOtL,KAAKogB,eAAepgB,KAAKQ,MAAMg0B,4BACtCzsB,MAAO,CAAEsD,MAAO,OAChBoB,OAAQ,SAACb,GACL,IAAIO,EAAM,EAAK3L,MAAMg0B,2BACrB,GAAI5oB,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,OAASd,EAAEC,OAAOP,MAAMxC,SAAS,KAC7EqD,GAAY,WAEX,GAAIP,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,MAAQd,EAAEC,OAAOP,MAAMxC,SAAS,KAAM,CACvF,IAAI6D,EAAMf,EAAEC,OAAOP,MAAMsB,MAAM,KACV,GAAjBD,EAAI,GAAGjK,SACPyJ,GAAY,MAGK,GAAjBQ,EAAI,GAAGjK,SACPyJ,GAAY,KAGpB,EAAKzH,SAAS,CACV8vB,2BAA4BroB,QAK5C,yCAGA,4BACI,2BAAOvE,KAAK,OACR+H,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAEu3B,kCAAmCrwB,EAAEC,OAAOP,SAEhEA,MAAOtL,KAAKQ,MAAMy7B,kCAClBl0B,MAAO,CAAEsD,MAAO,UAGxB,4BACI,2BAAOzD,KAAK,OACR+H,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAE2xB,qCAAsCzqB,EAAEC,OAAOP,QAAS,WACpEtL,KAAKo3B,wBAGb9rB,MAAOtL,KAAKogB,eAAepgB,KAAKQ,MAAM61B,sCACtCtuB,MAAO,CAAEsD,MAAO,OAChBoB,OAAQ,SAACb,GACL,IAAIO,EAAM,EAAK3L,MAAM61B,qCACrB,GAAIzqB,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,OAASd,EAAEC,OAAOP,MAAMxC,SAAS,KAC7EqD,GAAY,WAEX,GAAIP,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,MAAQd,EAAEC,OAAOP,MAAMxC,SAAS,KAAM,CACvF,IAAI6D,EAAMf,EAAEC,OAAOP,MAAMsB,MAAM,KACV,GAAjBD,EAAI,GAAGjK,SACPyJ,GAAY,MAGK,GAAjBQ,EAAI,GAAGjK,SACPyJ,GAAY,KAGpB,EAAKzH,SAAS,CACV2xB,qCAAsClqB,QAKtD,4BACI,2BAAOvE,KAAK,OACR+H,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAEw3B,qCAAsCtwB,EAAEC,OAAOP,SAEnEA,MAAOtL,KAAKogB,eAAepgB,KAAKQ,MAAM07B,sCACtCn0B,MAAO,CAAEsD,MAAO,OAChBoB,OAAQ,SAACb,GACL,IAAIO,EAAM,EAAK3L,MAAM07B,qCACrB,GAAItwB,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,OAASd,EAAEC,OAAOP,MAAMxC,SAAS,KAC7EqD,GAAY,WAEX,GAAIP,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,MAAQd,EAAEC,OAAOP,MAAMxC,SAAS,KAAM,CACvF,IAAI6D,EAAMf,EAAEC,OAAOP,MAAMsB,MAAM,KACV,GAAjBD,EAAI,GAAGjK,SACPyJ,GAAY,MAGK,GAAjBQ,EAAI,GAAGjK,SACPyJ,GAAY,KAGpB,EAAKzH,SAAS,CACVw3B,qCAAsC/vB,SAM1D,4BACI,wDAGA,4BACI,2BAAOvE,KAAK,OACR+H,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAEy3B,8BAA+BvwB,EAAEC,OAAOP,SAE5DA,MAAOtL,KAAKQ,MAAM27B,8BAClBp0B,MAAO,CAAEsD,MAAO,WAGxB,6BAEA,4BACI,2BAAOzD,KAAK,OACR+H,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAE+vB,uBAAwB7oB,EAAEC,OAAOP,QAAS,WACtDtL,KAAKo3B,wBAGb9rB,MAAOtL,KAAKogB,eAAepgB,KAAKQ,MAAMi0B,wBACtC1sB,MAAO,CAAEsD,MAAO,OAChBoB,OAAQ,SAACb,GACL,IAAIO,EAAM,EAAK3L,MAAMi0B,uBACrB,GAAI7oB,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,OAASd,EAAEC,OAAOP,MAAMxC,SAAS,KAC7EqD,GAAY,WAEX,GAAIP,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,MAAQd,EAAEC,OAAOP,MAAMxC,SAAS,KAAM,CACvF,IAAI6D,EAAMf,EAAEC,OAAOP,MAAMsB,MAAM,KACV,GAAjBD,EAAI,GAAGjK,SACPyJ,GAAY,MAGK,GAAjBQ,EAAI,GAAGjK,SACPyJ,GAAY,KAGpB,EAAKzH,SAAS,CACV+vB,uBAAwBtoB,QAKxC,wDAGA,4BACI,2BAAOvE,KAAK,OACR+H,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAE03B,uCAAwCxwB,EAAEC,OAAOP,SAErEA,MAAOtL,KAAKQ,MAAM47B,uCAClBr0B,MAAO,CAAEsD,MAAO,UAIxB,4BACI,2BAAOzD,KAAK,OACR+H,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAE6xB,0CAA2C3qB,EAAEC,OAAOP,QAAS,WACzEtL,KAAKo3B,wBAGb9rB,MAAOtL,KAAKogB,eAAepgB,KAAKQ,MAAM+1B,2CACtCxuB,MAAO,CAAEsD,MAAO,OAChBoB,OAAQ,SAACb,GACL,IAAIO,EAAM,EAAK3L,MAAM+1B,0CACrB,GAAI3qB,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,OAASd,EAAEC,OAAOP,MAAMxC,SAAS,KAC7EqD,GAAY,WAEX,GAAIP,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,MAAQd,EAAEC,OAAOP,MAAMxC,SAAS,KAAM,CACvF,IAAI6D,EAAMf,EAAEC,OAAOP,MAAMsB,MAAM,KACV,GAAjBD,EAAI,GAAGjK,SACPyJ,GAAY,MAGK,GAAjBQ,EAAI,GAAGjK,SACPyJ,GAAY,KAGpB,EAAKzH,SAAS,CACV6xB,0CAA2CpqB,QAK3D,4BACI,2BAAOvE,KAAK,OACR+H,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAE23B,0CAA2CzwB,EAAEC,OAAOP,SAExEA,MAAOtL,KAAKogB,eAAepgB,KAAKQ,MAAM67B,2CACtCt0B,MAAO,CAAEsD,MAAO,OAChBoB,OAAQ,SAACb,GACL,IAAIO,EAAM,EAAK3L,MAAM67B,0CACrB,GAAIzwB,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,OAASd,EAAEC,OAAOP,MAAMxC,SAAS,KAC7EqD,GAAY,WAEX,GAAIP,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,MAAQd,EAAEC,OAAOP,MAAMxC,SAAS,KAAM,CACvF,IAAI6D,EAAMf,EAAEC,OAAOP,MAAMsB,MAAM,KACV,GAAjBD,EAAI,GAAGjK,SACPyJ,GAAY,MAGK,GAAjBQ,EAAI,GAAGjK,SACPyJ,GAAY,KAGpB,EAAKzH,SAAS,CACV23B,0CAA2ClwB,SAM/D,4BACI,2CAGA,6BAEA,6BAEA,4BACI,2BAAOvE,KAAK,OACR+H,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAEiwB,2BAA4B/oB,EAAEC,OAAOP,QAAS,WAC1DtL,KAAKo3B,wBAGb9rB,MAAOtL,KAAKogB,eAAepgB,KAAKQ,MAAMm0B,4BACtC5sB,MAAO,CAAEsD,MAAO,OAChBoB,OAAQ,SAACb,GACL,IAAIO,EAAM,EAAK3L,MAAMm0B,2BACrB,GAAI/oB,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,OAASd,EAAEC,OAAOP,MAAMxC,SAAS,KAC7EqD,GAAY,WAEX,GAAIP,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,MAAQd,EAAEC,OAAOP,MAAMxC,SAAS,KAAM,CACvF,IAAI6D,EAAMf,EAAEC,OAAOP,MAAMsB,MAAM,KACV,GAAjBD,EAAI,GAAGjK,SACPyJ,GAAY,MAGK,GAAjBQ,EAAI,GAAGjK,SACPyJ,GAAY,KAGpB,EAAKzH,SAAS,CACViwB,2BAA4BxoB,QAK5C,qCAGA,4BACI,2BAAOvE,KAAK,OACR+H,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAE43B,mCAAoC1wB,EAAEC,OAAOP,SAEjEA,MAAOtL,KAAKQ,MAAM87B,mCAClBv0B,MAAO,CAAEsD,MAAO,UAIxB,4BACI,2BAAOzD,KAAK,OACR+H,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAE8xB,sCAAuC5qB,EAAEC,OAAOP,QAAS,WACrEtL,KAAKo3B,wBAGb9rB,MAAOtL,KAAKogB,eAAepgB,KAAKQ,MAAMg2B,uCACtCzuB,MAAO,CAAEsD,MAAO,OAChBoB,OAAQ,SAACb,GACL,IAAIO,EAAM,EAAK3L,MAAMg2B,sCACrB,GAAI5qB,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,OAASd,EAAEC,OAAOP,MAAMxC,SAAS,KAC7EqD,GAAY,WAEX,GAAIP,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,MAAQd,EAAEC,OAAOP,MAAMxC,SAAS,KAAM,CACvF,IAAI6D,EAAMf,EAAEC,OAAOP,MAAMsB,MAAM,KACV,GAAjBD,EAAI,GAAGjK,SACPyJ,GAAY,MAGK,GAAjBQ,EAAI,GAAGjK,SACPyJ,GAAY,KAGpB,EAAKzH,SAAS,CACV8xB,sCAAuCrqB,QAKvD,4BACI,2BAAOvE,KAAK,OACR+H,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAE63B,sCAAuC3wB,EAAEC,OAAOP,SAEpEA,MAAOtL,KAAKogB,eAAepgB,KAAKQ,MAAM+7B,uCACtCx0B,MAAO,CAAEsD,MAAO,OAChBoB,OAAQ,SAACb,GACL,IAAIO,EAAM,EAAK3L,MAAM+7B,sCACrB,GAAI3wB,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,OAASd,EAAEC,OAAOP,MAAMxC,SAAS,KAC7EqD,GAAY,WAEX,GAAIP,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,MAAQd,EAAEC,OAAOP,MAAMxC,SAAS,KAAM,CACvF,IAAI6D,EAAMf,EAAEC,OAAOP,MAAMsB,MAAM,KACV,GAAjBD,EAAI,GAAGjK,SACPyJ,GAAY,MAGK,GAAjBQ,EAAI,GAAGjK,SACPyJ,GAAY,KAGpB,EAAKzH,SAAS,CACV63B,sCAAuCpwB,SAM3D,4BACI,6CAGA,6BAEA,6BAEA,4BACI,2BAAOvE,KAAK,OACR+H,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAEkwB,2BAA4BhpB,EAAEC,OAAOP,QAAS,WAC1DtL,KAAKo3B,wBAGb9rB,MAAOtL,KAAKogB,eAAepgB,KAAKQ,MAAMo0B,4BACtC7sB,MAAO,CAAEsD,MAAO,OAChBoB,OAAQ,SAACb,GACL,IAAIO,EAAM,EAAK3L,MAAMo0B,2BACrB,GAAIhpB,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,OAASd,EAAEC,OAAOP,MAAMxC,SAAS,KAC7EqD,GAAY,WAEX,GAAIP,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,MAAQd,EAAEC,OAAOP,MAAMxC,SAAS,KAAM,CACvF,IAAI6D,EAAMf,EAAEC,OAAOP,MAAMsB,MAAM,KACV,GAAjBD,EAAI,GAAGjK,SACPyJ,GAAY,MAGK,GAAjBQ,EAAI,GAAGjK,SACPyJ,GAAY,KAGpB,EAAKzH,SAAS,CACVkwB,2BAA4BzoB,QAK5C,qCAGA,4BACI,2BAAOvE,KAAK,OACR+H,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAE83B,mCAAoC5wB,EAAEC,OAAOP,SAEjEA,MAAOtL,KAAKQ,MAAMg8B,mCAClBz0B,MAAO,CAAEsD,MAAO,UAIxB,4BACI,2BAAOzD,KAAK,OACR+H,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAE+xB,sCAAuC7qB,EAAEC,OAAOP,QAAS,WACrEtL,KAAKo3B,wBAGb9rB,MAAOtL,KAAKogB,eAAepgB,KAAKQ,MAAMi2B,uCACtC1uB,MAAO,CAAEsD,MAAO,OAChBoB,OAAQ,SAACb,GACL,IAAIO,EAAM,EAAK3L,MAAMi2B,sCACrB,GAAI7qB,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,OAASd,EAAEC,OAAOP,MAAMxC,SAAS,KAC7EqD,GAAY,WAEX,GAAIP,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,MAAQd,EAAEC,OAAOP,MAAMxC,SAAS,KAAM,CACvF,IAAI6D,EAAMf,EAAEC,OAAOP,MAAMsB,MAAM,KACV,GAAjBD,EAAI,GAAGjK,SACPyJ,GAAY,MAGK,GAAjBQ,EAAI,GAAGjK,SACPyJ,GAAY,KAGpB,EAAKzH,SAAS,CACV+xB,sCAAuCtqB,QAKvD,4BACI,2BAAOvE,KAAK,OACR+H,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAE+3B,sCAAuC7wB,EAAEC,OAAOP,SAEpEA,MAAOtL,KAAKogB,eAAepgB,KAAKQ,MAAMi8B,uCACtC10B,MAAO,CAAEsD,MAAO,OAChBoB,OAAQ,SAACb,GACL,IAAIO,EAAM,EAAK3L,MAAMi8B,sCACrB,GAAI7wB,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,OAASd,EAAEC,OAAOP,MAAMxC,SAAS,KAC7EqD,GAAY,WAEX,GAAIP,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,MAAQd,EAAEC,OAAOP,MAAMxC,SAAS,KAAM,CACvF,IAAI6D,EAAMf,EAAEC,OAAOP,MAAMsB,MAAM,KACV,GAAjBD,EAAI,GAAGjK,SACPyJ,GAAY,MAGK,GAAjBQ,EAAI,GAAGjK,SACPyJ,GAAY,KAGpB,EAAKzH,SAAS,CACV+3B,sCAAuCtwB,SAM3D,4BACI,qCAGA,6BAEA,6BAEA,4BACI,2BAAOvE,KAAK,OACR+H,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAEmwB,qBAAsBjpB,EAAEC,OAAOP,QAAS,WACpDtL,KAAKo3B,wBAGb9rB,MAAOtL,KAAKogB,eAAepgB,KAAKQ,MAAMq0B,sBACtC9sB,MAAO,CAAEsD,MAAO,OAChBoB,OAAQ,SAACb,GACL,IAAIO,EAAM,EAAK3L,MAAMq0B,qBACrB,GAAIjpB,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,OAASd,EAAEC,OAAOP,MAAMxC,SAAS,KAC7EqD,GAAY,WAEX,GAAIP,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,MAAQd,EAAEC,OAAOP,MAAMxC,SAAS,KAAM,CACvF,IAAI6D,EAAMf,EAAEC,OAAOP,MAAMsB,MAAM,KACV,GAAjBD,EAAI,GAAGjK,SACPyJ,GAAY,MAGK,GAAjBQ,EAAI,GAAGjK,SACPyJ,GAAY,KAGpB,EAAKzH,SAAS,CACVmwB,qBAAsB1oB,QAKtC,qCAGA,4BACI,2BAAOvE,KAAK,OACR+H,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAEg4B,mCAAoC9wB,EAAEC,OAAOP,SAEjEA,MAAOtL,KAAKQ,MAAMk8B,mCAClB30B,MAAO,CAAEsD,MAAO,UAIxB,4BACI,2BAAOzD,KAAK,OACR+H,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAEgyB,sCAAuC9qB,EAAEC,OAAOP,QAAS,WACrEtL,KAAKo3B,wBAGb9rB,MAAOtL,KAAKogB,eAAepgB,KAAKQ,MAAMk2B,uCACtC3uB,MAAO,CAAEsD,MAAO,OAChBoB,OAAQ,SAACb,GACL,IAAIO,EAAM,EAAK3L,MAAMk2B,sCACrB,GAAI9qB,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,OAASd,EAAEC,OAAOP,MAAMxC,SAAS,KAC7EqD,GAAY,WAEX,GAAIP,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,MAAQd,EAAEC,OAAOP,MAAMxC,SAAS,KAAM,CACvF,IAAI6D,EAAMf,EAAEC,OAAOP,MAAMsB,MAAM,KACV,GAAjBD,EAAI,GAAGjK,SACPyJ,GAAY,MAGK,GAAjBQ,EAAI,GAAGjK,SACPyJ,GAAY,KAGpB,EAAKzH,SAAS,CACVgyB,sCAAuCvqB,QAKvD,4BACI,2BAAOvE,KAAK,OACR+H,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAEi4B,sCAAuC/wB,EAAEC,OAAOP,SAEpEA,MAAOtL,KAAKogB,eAAepgB,KAAKQ,MAAMm8B,uCACtC50B,MAAO,CAAEsD,MAAO,OAChBoB,OAAQ,SAACb,GACL,IAAIO,EAAM,EAAK3L,MAAMm8B,sCACrB,GAAI/wB,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,OAASd,EAAEC,OAAOP,MAAMxC,SAAS,KAC7EqD,GAAY,WAEX,GAAIP,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,MAAQd,EAAEC,OAAOP,MAAMxC,SAAS,KAAM,CACvF,IAAI6D,EAAMf,EAAEC,OAAOP,MAAMsB,MAAM,KACV,GAAjBD,EAAI,GAAGjK,SACPyJ,GAAY,MAGK,GAAjBQ,EAAI,GAAGjK,SACPyJ,GAAY,KAGpB,EAAKzH,SAAS,CACVi4B,sCAAuCxwB,SAM3D,4BACI,wBAAIuE,QAAS,GAAb,SAEJ,4BACI,4CACA,wBAAIC,MAAM,OAAOE,OAAO,UACpB,2BAAOjJ,KAAK,OACR+H,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAEsyB,YAAaprB,EAAEC,OAAOP,SAE1CA,MAAOtL,KAAKQ,MAAMw2B,YAClBjvB,MAAO,CAAEsD,MAAO,QAChBG,UAAU,MAItB,4BACI,iDACA,wBAAImF,MAAM,OAAOE,OAAO,UACpB,2BAAOjJ,KAAK,OACR+H,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAEuyB,iBAAkBrrB,EAAEC,OAAOP,SAE/CA,MAAOtL,KAAKQ,MAAMy2B,iBAClBlvB,MAAO,CAAEsD,MAAO,QAChBG,UAAU,MAItB,4BACI,wCAAa,6BAAM,2BAAOzD,MAAO,CAAEkF,SAAU,MAAO0R,WAAY,MAAOpP,aAAc,MAAlE,2CACnB,wBAAIoB,MAAM,OAAOE,OAAO,UACpB,2BAAOjJ,KAAK,OACR+H,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAEwyB,SAAUtrB,EAAEC,OAAOP,SAEvCA,MAAOtL,KAAKQ,MAAM02B,SAClBnvB,MAAO,CAAEsD,MAAO,QAChBG,UAAU,QAM9B,2BAAO6W,YAAa,GAChB,+BACI,4BACI,wBAAI1R,MAAM,OAAOE,OAAO,UAAxB,yCAGA,4BACI,yBAAKrL,UAAU,cACX,2BAAOoC,KAAK,QACRjD,KAAK,WACLoD,MAAO,CAAEyH,YAAa,OACtBG,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAEk4B,kBAAmBhxB,EAAEC,OAAO2O,QAAU,MAAQ,QAElEA,QAA0C,QAAjCxa,KAAKQ,MAAMo8B,oBAExB,sCACA,2BAAOh1B,KAAK,QACRjD,KAAK,WACLoD,MAAO,CAAEyH,YAAa,OACtBG,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAEk4B,kBAAmBhxB,EAAEC,OAAO2O,QAAU,KAAO,SAEjEA,QAA0C,OAAjCxa,KAAKQ,MAAMo8B,oBAExB,qCACkC,QAAjC58B,KAAKQ,MAAMo8B,kBACR,kBAAC,EAAD,CACIxyB,KAAK,OACLJ,MAAM,kBACNC,YAAa,SAAC2B,GACV,EAAKlH,SAAS,CAAEm4B,8BAA+BjxB,KAEnD1B,MAAK,UAAElK,KAAKQ,MAAMq8B,qCAAb,QAA8C,GACnD1yB,MAAO,CAAEkB,MAAO,UAElB,QAIlB,4BACI,wBAAIsF,MAAM,OAAOE,OAAO,UAAxB,kDAGA,4BACI,yBAAKrL,UAAU,cACX,2BAAOoC,KAAK,QACRjD,KAAK,aACLoD,MAAO,CAAEyH,YAAa,OACtBG,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAEo4B,qBAAsBlxB,EAAEC,OAAO2O,QAAU,MAAQ,QAErEA,QAA6C,QAApCxa,KAAKQ,MAAMs8B,uBAExB,sCACA,2BAAOl1B,KAAK,QACRjD,KAAK,aACLoD,MAAO,CAAEyH,YAAa,OACtBG,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAEo4B,qBAAsBlxB,EAAEC,OAAO2O,QAAU,KAAO,SAEpEA,QAA6C,OAApCxa,KAAKQ,MAAMs8B,uBAExB,wCAIZ,4BACI,wBAAInsB,MAAM,OAAOE,OAAO,UAAxB,sDAGA,4BACI,yBAAKrL,UAAU,cACX,2BAAOoC,KAAK,QACRjD,KAAK,UACLoD,MAAO,CAAEyH,YAAa,OACtBG,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAEq4B,oBAAqBnxB,EAAEC,OAAO2O,QAAU,MAAQ,QAEpEA,QAA4C,QAAnCxa,KAAKQ,MAAMu8B,sBAExB,sCACA,2BAAOn1B,KAAK,QACRjD,KAAK,UACLoD,MAAO,CAAEyH,YAAa,OACtBG,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAEq4B,oBAAqBnxB,EAAEC,OAAO2O,QAAU,KAAO,SAEnEA,QAA4C,OAAnCxa,KAAKQ,MAAMu8B,sBAExB,qCACoC,QAAnC/8B,KAAKQ,MAAMu8B,oBACR,kBAAC,EAAD,CACI3yB,KAAK,SACLJ,MAAM,qBACNC,YAAa,SAAC2B,GACV,EAAKlH,SAAS,CAAEs4B,8BAA+BpxB,KAEnD1B,MAAOlK,KAAKogB,eAAepgB,KAAKQ,MAAMw8B,+BACtC7yB,MAAO,CAAEkB,MAAO,UAElB,QAIlB,4BACI,wBAAIsF,MAAM,OAAOE,OAAO,UAAxB,kDAGA,4BACI,yBAAKrL,UAAU,cACX,2BAAOoC,KAAK,QACRjD,KAAK,eACLoD,MAAO,CAAEyH,YAAa,OACtBG,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAEu4B,mBAAoBrxB,EAAEC,OAAO2O,QAAU,MAAQ,QAEnEA,QAA2C,QAAlCxa,KAAKQ,MAAMy8B,qBAExB,sCACA,2BAAOr1B,KAAK,QACRjD,KAAK,eACLoD,MAAO,CAAEyH,YAAa,OACtBG,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAEu4B,mBAAoBrxB,EAAEC,OAAO2O,QAAU,KAAO,SAElEA,QAA2C,OAAlCxa,KAAKQ,MAAMy8B,qBAExB,qCACmC,QAAlCj9B,KAAKQ,MAAMy8B,mBACR,kBAAC,EAAD,CACI7yB,KAAK,OACLJ,MAAM,2BACNC,YAAa,SAAC2B,GACV,EAAKlH,SAAS,CAAEw4B,mCAAoCtxB,KAExD1B,MAAK,UAAElK,KAAKQ,MAAM08B,0CAAb,QAAmD,GACxD/yB,MAAO,CAAEkB,MAAO,UAElB,QAIlB,4BACI,wBAAIsF,MAAM,OAAOE,OAAO,UAAxB,oDAGA,4BACI,yBAAKrL,UAAU,cACX,2BAAOoC,KAAK,QACRjD,KAAK,cACLoD,MAAO,CAAEyH,YAAa,OACtBG,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAEy4B,mBAAoBvxB,EAAEC,OAAO2O,QAAU,MAAQ,QAEnEA,QAA2C,QAAlCxa,KAAKQ,MAAM28B,qBAExB,sCACA,2BAAOv1B,KAAK,QACRjD,KAAK,cACLoD,MAAO,CAAEyH,YAAa,OACtBG,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAEy4B,mBAAoBvxB,EAAEC,OAAO2O,QAAU,KAAO,SAElEA,QAA2C,OAAlCxa,KAAKQ,MAAM28B,qBAExB,qCACmC,QAAlCn9B,KAAKQ,MAAM28B,mBACR,kBAAC,EAAD,CACI/yB,KAAK,OACLJ,MAAM,iBACNC,YAAa,SAAC2B,GACV,EAAKlH,SAAS,CAAE04B,0BAA2BxxB,KAE/C1B,MAAK,UAAElK,KAAKQ,MAAM48B,iCAAb,QAA0C,GAC/CjzB,MAAO,CAAEkB,MAAO,UAElB,QAIlB,4BACI,wBAAIsF,MAAM,OAAOE,OAAO,UAAxB,6CAC8C,6BAD9C,+BAGA,4BACI,kBAAC,EAAD,CACIzG,KAAK,OACLJ,MAAM,qCACNC,YAAa,SAAC2B,GACV,EAAKlH,SAAS,CAAE24B,gCAAiCzxB,KAErD1B,MAAK,UAAElK,KAAKQ,MAAM68B,uCAAb,QAAgD,GACrDlzB,MAAO,CAAEkB,MAAO,cAMpC,+BACI,+BACI,4BACI,wBAAIqF,QAAS,EAAGC,MAAM,OAAO5I,MAAO,CAAE0a,WAAY,SAC9C,yBAAK1a,MAAO,CAAEkF,SAAU,OAAQ0R,WAAY,MAAO7H,QAAS,MAAOzL,MAAO,SAAUuF,OAAQ,OAAQV,SAAU,OAAQsV,gBAAiB,YAAaC,OAAQ,mBAA5J,0SAKA,+BAGR,4BACI,4BACI,yBAAK1d,MAAO,CAAE4B,QAAS,OAAQwF,cAAe,MAAO9D,MAAO,cAAegE,WAAY,SAAUD,eAAgB,eAC7G,2BACIxH,KAAK,WACL4S,QAAO,UAAExa,KAAKQ,MAAM88B,gCAAb,SACP3tB,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAE44B,0BAA2B,EAAK98B,MAAM88B,4BAE1Dv1B,MAAO,CAAEyH,YAAa,SAE1B,2BAAOzH,MAAO,CAAEwH,aAAc,IAAKtC,SAAU,SAA7C,qIAIZ,4BACI,4BACI,+BACI,+BACI,4BACI,4BACI,kBAAC,EAAD,CACI7C,KAAK,OACLJ,MAAM,qBACNC,YAAa,SAAC2B,GACV,EAAKlH,SAAS,CAAE4iB,kBAAmB1b,KAEvC1B,MAAK,UAAElK,KAAKQ,MAAM8mB,yBAAb,QAAkC,GACvCnd,MAAO,CAAEkB,MAAO,OAAQ2B,WAAY,kBAAmBC,SAAU,OAAQsC,aAAc,UAG/F,4CAGA,4BACyC,MAApC2S,aAAa1T,QAAQ,aAA2D,cAApC0T,aAAa1T,QAAQ,YAA8B,KAC5F,kBAAC,EAAD,CACIpE,KAAK,OACLJ,MAAM,uBACNC,YAAa,SAAC2B,GACV,EAAKlH,SAAS,CAAEsmB,oBAAqBpf,KAEzC1B,MAAK,UAAElK,KAAKQ,MAAMwqB,2BAAb,QAAoC,GACzC7gB,MAAO,CAAEkB,MAAO,OAAQ2B,WAAY,kBAAmBC,SAAU,OAAQsC,aAAc,WAKvG,4BACI,4BACI,kBAAC,EAAD,CACInF,KAAK,OACLJ,MAAM,gBACNC,YAAa,SAAC2B,GACV,EAAKlH,SAAS,CAAEsuB,sBAAuBpnB,KAE3C1B,MAAK,UAAElK,KAAKQ,MAAMwyB,6BAAb,QAAsC,GAC3C7oB,MAAO,CAAEkB,MAAO,OAAQkE,aAAc,UAG9C,4CAGA,4BACyC,MAApC2S,aAAa1T,QAAQ,aAA2D,cAApC0T,aAAa1T,QAAQ,YAA8B,KAC5F,kBAAC,EAAD,CACIpE,KAAK,OACLJ,MAAM,kBACNC,YAAa,SAAC2B,GACV,EAAKlH,SAAS,CAAEuuB,wBAAyBrnB,KAE7C1B,MAAK,UAAElK,KAAKQ,MAAMyyB,+BAAb,QAAwC,GAC7C9oB,MAAO,CAAEkB,MAAO,OAAQkE,aAAc,WAKtD,4BACI,4BACI,kBAAC,EAAD,CACInF,KAAK,OACLJ,MAAM,OACNC,YAAa,SAAC2B,GACV,EAAKlH,SAAS,CAAE4hB,sBAAuB1a,KAE3C1B,WAA2CxI,GAApC1B,KAAKQ,MAAM8lB,sBAAqCtmB,KAAKqmB,YAAYrmB,KAAKQ,MAAM8lB,uBAAyBtmB,KAAK0E,SAAS,CAAE4hB,uBAAuB,IAAIpC,MAAOyF,mBAAmB,WACjLxf,MAAO,CAAEkB,MAAO,UAGxB,4CAGA,4BACyC,MAApC6W,aAAa1T,QAAQ,aAA2D,cAApC0T,aAAa1T,QAAQ,YAA8B,KAC5F,kBAAC,EAAD,CACIpE,KAAK,OACLJ,MAAM,OACNC,YAAa,SAAC2B,GACV,EAAKlH,SAAS,CAAEulB,wBAAyBre,KAE7C1B,WAA6CxI,GAAtC1B,KAAKQ,MAAMypB,wBAAuCjqB,KAAKqmB,YAAYrmB,KAAKQ,MAAMypB,yBAA2BjqB,KAAK0E,SAAS,CAAEulB,yBAAyB,IAAI/F,MAAOyF,mBAAmB,WACvLxf,MAAO,CAAEkB,MAAO,kBAY5D,yBAAK7F,UAAU,yBACX,2BAAOuC,MAAO,CAAE6I,OAAQ,SACpB,+BACI,4BACI,wBAAID,MAAM,SAASE,OAAO,UACtB,4BACIrL,UAAU,gBACVuC,MAAO,CAAE8H,WAAY,UACrBrE,SAAUxL,KAAKQ,MAAM2M,QACrB9G,QAAS,WACL,EAAK8b,KAAK,KALlB,SAUJ,wBAAIxR,MAAM,SAASE,OAAO,UACtB,yCACIrL,UAAU,gBACVuC,MAAO,CAAE8H,WAAY,UACrBrE,SAAUxL,KAAKQ,MAAM2M,QACrB9G,QAAS,WACL,EAAK8b,SALb,YAOeniB,KAAKQ,MAAM88B,2BAA6Bt9B,KAAKQ,MAAM+mB,4BAPlE,kBA1hHpC,GAAgD7hB,aCDnC63B,GAAb,kDAEI,WAAYt5B,GAAQ,IAAD,8BACf,cAAMA,IAEDzD,MAAQ,CACT2M,SAAS,EACT9D,WAAW,EACXuF,aAAc,GACdC,WAAY,GACZuM,YAAY,EACZe,gBAAgB,EAChBqhB,YAAa,MACbC,aAAc,MAXH,EAFvB,gEAqBQ,IAAIryB,EAAKgC,eAAeoB,QAAQ,MACrB,IAAPpD,GAAmB,OAAPA,GACZpL,KAAKqf,SAASjU,GACdpL,KAAK0E,SAAS,CAAE6a,oBAAqBnU,EAAIgQ,YAAY,KAGrDpb,KAAK0E,SAAS,CAAE6a,oBAAqB,EAAGnE,YAAY,MA3BhE,iDA+BgC,IAAD,QACnB9K,EAAatQ,KAAK8f,YAAL,UAAiB9f,KAAKQ,MAAM+f,kBAA5B,iBAAiB,EAAuB/T,QAAQ,KAAM,WAAtD,aAAiB,EAA0CA,QAAQ,IAAK,KAGrFkxB,EAFiB19B,KAAK8f,YAAL,UAAiB9f,KAAKQ,MAAMm9B,4BAA5B,iBAAiB,EAAiCnxB,QAAQ,KAAM,WAAhE,aAAiB,EAAoDA,QAAQ,IAAK,KAE1E8D,EAAa,IAE1CtQ,KAAK0E,SAAS,CAAEk5B,sBAAgC,GAATF,EAAa,GAAKhd,WAAWgd,GAAOG,QAAQ,OArC3F,wCAyCQ,QAA6Bn8B,GAAzB1B,KAAKQ,MAAM+f,WAAyB,CACpC,IAGI6O,EAHapvB,KAAK8f,YAAY9f,KAAKQ,MAAM+f,WAAW/T,QAAQ,KAAM,IAAIA,QAAQ,IAAK,MAC9DxM,KAAK8f,YAAY9f,KAAKQ,MAAMo9B,uBAES,KAG9DxO,EAAuBgC,KAAKC,MAAgD,KAAzCjC,EAAuB0O,OAAOC,UAAqB,IAEvE/9B,KAAKogB,eAAegP,GAkB/BA,EAAuB,GACvBpvB,KAAK0E,SAAS,CAAEi5B,qBAAsB39B,KAAKogB,eAAeM,WAAW0O,GAAsByO,QAAQ,SArEnH,kCA0EgBvyB,GACR,QAAa5J,GAAT4J,GAA+B,GAATA,GAAuB,MAATA,EAAe,OAAO,EAE9D,IAAIkV,EAAM,OAAGlV,QAAH,IAAGA,OAAH,EAAGA,EAAOwN,WAAWtM,QAAQ,KAAM,IAAIA,QAAQ,IAAK,IAE9D,OAAIgU,EAAO9d,OAAS,EACF+d,MAAMD,SAAqB9e,GAAV8e,EAAuB,EAAIE,WAAWF,GAI9D,IApFnB,qCAwFmBlV,EAAO0yB,GAClB,QAAat8B,GAAT4J,EAAoB,MAAO,GAC/B,IAAIqV,EAAUrV,EAAMwN,WAAWtM,QAAQ,KAAM,IAAIA,QAAQ,IAAK,IAE1DoU,EAAM,GACNJ,EAAS,GAETK,EAAWF,EAAQ/T,MAAM,KAY7B,OAXwB,IAAZ,OAARiU,QAAQ,IAARA,OAAA,EAAAA,EAAUne,QACV8d,EAASG,EAAQ/T,MAAM,KAAK,IAEf,OAARiU,QAAQ,IAARA,OAAA,EAAAA,EAAUne,QAAS,GACxB8d,EAASG,EAAQ/T,MAAM,KAAK,GAC5BgU,EAAM,IAAMD,EAAQ/T,MAAM,KAAK,GAAGkU,UAAU,EAAG,IAG/CN,EAASG,EAGTH,EAAO9d,OAAS,EACT,IAAIqe,KAAKC,kBAAatf,EAAW,CACpCqG,MAAO,WACPkZ,SAAU,MACVC,2BAAmCxf,GAAZs8B,EAAwB,EAAIA,EACnD7c,2BAAmCzf,GAAZs8B,EAAwB,EAAIA,IACpD5c,OAAOZ,GAAUI,OANxB,IA3GR,2BAqHSrf,GAAM,IAAD,OACN,IACIvB,KAAK0E,SAAS,CAAEyI,SAAS,IACbvG,IAENG,KAAK,qBAAsB/G,KAAKQ,OACjC+M,MAAK,SAACnC,GACO,GAANA,EACI7J,EACAiG,OAAOmH,SAASzG,KAAO3G,EAGvB,EAAKmD,SAAS,CACVyI,SAAS,EACT2Y,kBAAkB,EAClBD,oBAAqB,uBAK7B,EAAKnhB,SAAS,CACVyI,SAAS,EACT9D,WAAW,EACXuF,aAAc,oEAMlC,MAAO1F,GACHlJ,KAAK0E,SAAS,CAAEyI,SAAS,IACzBrM,QAAQC,IAAI,UAAYmI,MApJpC,+BAwJakC,GAAK,IAAD,OACT,IACIpL,KAAK0E,SAAS,CAAEyI,SAAS,IACbvG,IACNC,IAAI,wBAA0BuE,GAC/BmC,MAAK,SAACzL,GACH,IAAI8f,EAAS,EAAKphB,MAClB,IAAK,IAAMsJ,KAAOhI,EACd,GAAiB,MAAbA,EAAKgI,GAAc,CACnB,IAAI+X,EAAO/X,EAAIgY,OAAO,GAAGC,cAAgBjY,EAAIkY,MAAM,GAC/CxB,EAAS1e,EAAKgI,GAClB8X,EAAOC,GAAP,OAAerB,QAAf,IAAeA,OAAf,EAAeA,EAAQ1H,WAG/B,EAAKpU,SAASkd,GAAQ,WAClB5hB,KAAKiiB,kBACLjiB,KAAK0E,SAAS,CAAEyI,SAAS,UAIzC,MAAOjE,GACHlJ,KAAK0E,SAAS,CAAEyI,SAAS,IACzBrM,QAAQC,IAAI,cAAgBmI,MA9KxC,+BAkLc,IAAD,qBACL,OACI,yBAAK1D,UAAU,iBACX,kBAAC,GAAD,CACI4V,WAAYpb,KAAKQ,MAAM4a,WACvBC,aAAcrb,KAAKQ,MAAM+e,oBACzBjE,YAAa,SAAC1P,GAAD,OAAO,EAAKuW,KAAKvW,MAElC,kBAAC,EAAD,CACIxC,UAAWpJ,KAAKQ,MAAMoO,aACtBtF,UAAWtJ,KAAKQ,MAAMqO,WACtBxF,UAAWrJ,KAAKQ,MAAM6I,UACtBE,aAAc,kBAAM,EAAK7E,SAAS,CAAE2E,WAAW,KAC/CG,mBAAoB,MAExB,kBAAC,EAAD,CACIJ,UAAWpJ,KAAKQ,MAAMqlB,oBACtBxc,UAAWrJ,KAAKQ,MAAMslB,iBACtBvc,aAAc,kBAAM,EAAK7E,SAAS,CAAEohB,kBAAkB,KACtDtc,mBAAoB,IACpBC,gBAAgB,IAEpB,yBAAKjE,UAAU,+BACa,IAAvBxF,KAAKQ,MAAM2M,QACR,6BACI,kBAAC2B,EAAA,EAAD,CAASC,MAAM,OAAOpI,SAAS,GAAGoB,MAAO,CAAEiH,SAAU,QAASC,IAAK,MAAOC,KAAM,UAElF,KAEN,2BAAOmT,YAAa,EAAGD,YAAa,GAChC,+BACI,4BACI,wBAAIzR,MAAM,OAAOD,QAAS,GACtB,2BAAO3I,MAAO,CAAEkF,SAAU,OAAQ0R,WAAY,MAAO5P,MAAO,YAA5D,wBAGR,4BACI,4BACI,2BAAOsT,YAAa,EAAGD,YAAa,GAChC,+BACI,4BACI,wBAAIra,MAAO,CAAEkF,SAAU,OAAQ0R,WAAY,MAAO8D,WAAY,QAAU9R,MAAM,OAAOD,QAAS,GAA9F,uBAIJ,4BACI,4BACI,kBAAC,EAAD,CACItG,KAAK,OACLJ,MAAM,iBACNC,YAAa,SAAC2B,GACV,EAAKlH,SAAS,CAAEu5B,YAAkB,IAALryB,EAAU,KAAOA,KAElD1B,MAAOlK,KAAKQ,MAAMy9B,YAClB9zB,MAAO,CAAEkB,MAAO,SAChBZ,WAAW,KAGnB,4BACI,kBAAC,EAAD,CAAW7C,KAAK,OACZwC,KAAK,OACLH,YAAa,SAAC2B,GAAD,OAAO,EAAKlH,SAAS,CAAEw5B,YAAatyB,KACjD1B,MAAOlK,KAAKQ,MAAM09B,YAClBl0B,MAAM,iBACNG,MAAO,CAAEkB,MAAO,aAI5B,4BACI,wBAAIqF,QAAS,GACT,kBAAC,EAAD,CACItG,KAAK,OACLH,YAAa,SAAC2B,GAAD,OAAO,EAAKlH,SAAS,CAAEy5B,cAAoB,IAALvyB,EAAU,KAAOA,KACpE1B,MAAOlK,KAAKQ,MAAM29B,cAClBn0B,MAAM,iBACNG,MAAO,CAAEkB,MAAO,aAI5B,4BACI,4BACI,kBAAC,EAAD,CACIjB,KAAK,OACLH,YAAa,SAAC2B,GAAD,OAAO,EAAKlH,SAAS,CAAE05B,YAAaxyB,KACjD1B,MAAOlK,KAAKQ,MAAM49B,YAClBp0B,MAAM,eACNG,MAAO,CAAEkB,MAAO,YAGxB,4BACI,kBAAC,EAAD,CACIjB,KAAK,QACLJ,MAAM,eACNK,cAAe,GACfJ,YAAa,SAAC2B,GACV,IAAIoc,EAAiBlE,GAAkClY,GACvD,EAAKlH,SAAS,CAAE25B,YAAarW,KAEjC9d,MAAK,UAAE4Z,GAAkC9jB,KAAKQ,MAAM69B,oBAA/C,QAA+D,GACpEl0B,MAAO,CAAEkB,MAAO,iBAQ5C,4BACI,4BACI,2BAAOgX,YAAa,EAAGD,YAAa,GAChC,+BACI,4BACI,wBAAI1R,QAAS,EAAG3I,MAAO,CAAEkF,SAAU,OAAQ0R,WAAY,MAAO7H,QAAS,gBAAkBnG,MAAM,QAA/F,4BAIJ,4BACI,wBAAID,QAAS,GACT,yBAAKlL,UAAU,cACX,2BAAOoC,KAAK,QACRjD,KAAK,SACLoD,MAAO,CAAEyH,YAAa,OACtBG,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAE84B,YAAa5xB,EAAEC,OAAO2O,QAAU,MAAQ,QAE5D8jB,gBAAgB,IAEpB,+CACA,2BAAO12B,KAAK,QACRjD,KAAK,SACLoD,MAAO,CAAEyH,YAAa,OACtBG,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAE+4B,aAAc7xB,EAAEC,OAAO2O,QAAU,MAAQ,UAGjE,mDAIZ,4BACI,4BACI,kBAAC,EAAD,CACIpQ,KAAK,OACLH,YAAa,SAAC2B,GAAD,OAAO,EAAKlH,SAAS,CAAE65B,mBAAoB3yB,KACxD1B,MAAOlK,KAAKQ,MAAM+9B,mBAClBv0B,MAAM,YACNG,MAAO,CAAEkB,MAAO,YAGxB,4BACI,kBAAC,EAAD,CACIjB,KAAK,QACLJ,MAAM,UACNK,cAAe,GACfJ,YAAa,SAAC2B,GACV,IAAIoc,EAAiBlE,GAAkClY,GACvD,EAAKlH,SAAS,CAAE85B,gBAAiBxW,KAErC9d,MAAK,UAAE4Z,GAAkC9jB,KAAKQ,MAAMg+B,wBAA/C,QAAmE,GACxEr0B,MAAO,CAAEkB,MAAO,YAGxB,4BACI,kBAAC,EAAD,CACIjB,KAAK,OACLH,YAAa,SAAC2B,GAAD,OAAO,EAAKlH,SAAS,CAAE+5B,kBAAmB7yB,KACvD1B,MAAOlK,KAAKQ,MAAMi+B,kBAClBz0B,MAAM,UACNG,MAAO,CAAEkB,MAAO,aAI5B,4BACI,wBAAIqF,QAAS,GACT,kBAAC,EAAD,CACItG,KAAK,OACLH,YAAa,SAAC2B,GAAD,OAAO,EAAKlH,SAAS,CAAEg6B,wBAAyB9yB,KAC7D1B,MAAOlK,KAAKQ,MAAMk+B,wBAClB10B,MAAM,YACNG,MAAO,CAAEkB,MAAO,aAI5B,4BACI,4BACI,kBAAC,EAAD,CACIjB,KAAK,SACLJ,MAAM,gBACNC,YAAa,SAAC2B,GACV,EAAKlH,SAAS,CAAEi6B,aAAc/yB,KAElC1B,MAAOlK,KAAKogB,eAAepgB,KAAKQ,MAAMm+B,cACtCx0B,MAAO,CAAEkB,MAAO,YAGxB,4BACI,kBAAC,EAAD,CACIjB,KAAK,OACLJ,MAAM,OACNC,YAAa,SAAC2B,GACV,EAAKlH,SAAS,CAAEk6B,kBAAmBhzB,KAEvC1B,MAAOlK,KAAKQ,MAAMo+B,kBAClBz0B,MAAO,CAAEkB,MAAO,YAGxB,4BACI,kBAAC,EAAD,CACIjB,KAAK,OACLH,YAAa,SAAC2B,GAAD,OAAO,EAAKlH,SAAS,CAAEm6B,kBAAmBjzB,KACvD1B,MAAOlK,KAAKQ,MAAMq+B,kBAClB70B,MAAM,WACNG,MAAO,CAAEkB,MAAO,aAI5B,4BACI,wBAAIqF,QAAS,GACT,kBAAC,EAAD,CACItG,KAAK,OACLH,YAAa,SAAC2B,GAAD,OAAO,EAAKlH,SAAS,CAAEo6B,gCAAiClzB,KACrE1B,MAAOlK,KAAKQ,MAAMs+B,gCAClB90B,MAAM,0BACNG,MAAO,CAAEkB,MAAO,iBAQ5C,4BACI,4BACI,2BAAOgX,YAAa,EAAGD,YAAa,GAChC,+BACI,4BACI,wBAAIra,MAAO,CAAEkF,SAAU,OAAQ0R,WAAY,MAAO8D,WAAY,QAAU9R,MAAM,OAAOD,QAAS,GAA9F,wCAIJ,4BACI,4BACI,kBAAC,EAAD,CACItG,KAAK,OACLH,YAAa,SAAC2B,GAAD,OAAO,EAAKlH,SAAS,CAAEq6B,iBAAkBnzB,KACtD1B,MAAOlK,KAAKQ,MAAMu+B,iBAClB/0B,MAAM,uBACNG,MAAO,CAAEkB,MAAO,YAGxB,4BACI,kBAAC,EAAD,CACIjB,KAAK,OACLH,YAAa,SAAC2B,GAAD,OAAO,EAAKlH,SAAS,CAAEs6B,2BAA4BpzB,KAChE1B,MAAOlK,KAAKQ,MAAMw+B,2BAClBh1B,MAAM,kCACNG,MAAO,CAAEkB,MAAO,aAI5B,4BACI,4BACI,kBAAC,EAAD,CACIjB,KAAK,OACLH,YAAa,SAAC2B,GAAD,OAAO,EAAKlH,SAAS,CAAEu6B,kBAAmBrzB,KACvD1B,MAAOlK,KAAKQ,MAAMy+B,kBAClBj1B,MAAM,wBACNG,MAAO,CAAEkB,MAAO,YAGxB,4BACI,kBAAC,EAAD,CACIjB,KAAK,QACLJ,MAAM,wBACNK,cAAe,GACfJ,YAAa,SAAC2B,GACV,IAAIoc,EAAiBlE,GAAkClY,GACvD,EAAKlH,SAAS,CAAEw6B,kBAAmBlX,KAEvC9d,MAAK,UAAE4Z,GAAkC9jB,KAAKQ,MAAM0+B,0BAA/C,QAAqE,GAC1E/0B,MAAO,CAAEkB,MAAO,iBAQ5C,4BACI,wBAAIqF,QAAS,GACT,2BAAO2R,YAAa,EAAGD,YAAa,GAChC,+BACI,4BACI,wBAAI1R,QAAS,EAAG3I,MAAO,CAAEkF,SAAU,OAAQ0R,WAAY,MAAO8D,WAAY,QAAU9R,MAAM,QAA1F,oCAIJ,4BACI,4BACI,kBAAC,EAAD,CACIvG,KAAK,OACLH,YAAa,SAAC2B,GAAD,OAAO,EAAKlH,SAAS,CAAEy6B,mBAAoBvzB,KACxD1B,MAAOlK,KAAKQ,MAAM2+B,mBAClBn1B,MAAM,uBACNG,MAAO,CAAEkB,MAAO,YAGxB,4BACI,kBAAC,EAAD,CACIjB,KAAK,SACLJ,MAAM,oBACNC,YAAa,SAAC2B,GACV,EAAKlH,SAAS,CAAEk5B,sBAA4B,IAALhyB,EAAU,KAAOA,IAAK,WACjB,MAApC5L,KAAKQ,MAAMo9B,sBACX59B,KAAK0E,SAAS,CAAEi5B,qBAAsB,KAGtC39B,KAAKiiB,sBAIjB/X,MAAOlK,KAAKQ,MAAMo9B,sBAClBzzB,MAAO,CAAEkB,MAAO,YAGxB,4BACI,kBAAC,EAAD,CACIjB,KAAK,SACLJ,MAAM,2BACNC,YAAa,SAAC2B,GAEV,IACU8U,WAAW9U,GAAGiyB,QAAQ,GAEhC,MAAO30B,GACG0C,EAGV,EAAKlH,SAAS,CAAEi5B,qBAA2B,IAAL/xB,EAAU,KAAOA,IAAK,WACxD5L,KAAKo/B,+BAGbl1B,MAAOlK,KAAKogB,eAAepgB,KAAKQ,MAAMm9B,qBAAsB,GAC5DxzB,MAAO,CAAEkB,MAAO,iBAQ5C,4BACI,4BACI,2BAAOgX,YAAa,EAAGD,YAAa,GAChC,+BACI,4BACI,wBAAI1R,QAAS,EAAG3I,MAAO,CAAEkF,SAAU,OAAQ0R,WAAY,MAAO8D,WAAY,QAAU9R,MAAM,QAA1F,sCAIJ,4BACI,4BACI,kBAAC,EAAD,CACIvG,KAAK,OACLH,YAAa,SAAC2B,GAAD,OAAO,EAAKlH,SAAS,CAAE26B,oBAAqBzzB,KACzD1B,MAAOlK,KAAKQ,MAAM6+B,oBAClBr1B,MAAM,2BACNG,MAAO,CAAEkB,MAAO,aAI5B,4BACI,4BACI,kBAAC,EAAD,CACIjB,KAAK,OACLH,YAAa,SAAC2B,GAAD,OAAO,EAAKlH,SAAS,CAAE46B,qBAAsB1zB,KAC1D1B,MAAOlK,KAAKQ,MAAM8+B,qBAClBt1B,MAAM,4BACNG,MAAO,CAAEkB,MAAO,YAGxB,4BACI,kBAAC,EAAD,CACIjB,KAAK,QACLJ,MAAM,4BACNK,cAAe,GACfJ,YAAa,SAAC2B,GACV,IAAIoc,EAAiBlE,GAAkClY,GACvD,EAAKlH,SAAS,CAAE66B,qBAAsBvX,KAE1C9d,MAAK,UAAE4Z,GAAkC9jB,KAAKQ,MAAM++B,6BAA/C,QAAwE,GAC7Ep1B,MAAO,CAAEkB,MAAO,aAI5B,4BACI,4BACI,kBAAC,EAAD,CACIjB,KAAK,SACLJ,MAAM,oBACNC,YAAa,SAAC2B,GACV,EAAKlH,SAAS,CAAE86B,iBAAkB5zB,KAEtC1B,MAAK,UAAElK,KAAKogB,eAAepgB,KAAKQ,MAAMg/B,yBAAjC,QAAsD,GAC3Dr1B,MAAO,CAAEkB,MAAO,YAGxB,4BACI,kBAAC,EAAD,CACIjB,KAAK,SACLJ,MAAM,YACNC,YAAa,SAAC2B,GACV,EAAKlH,SAAS,CAAE+6B,SAAU7zB,KAE9B1B,MAAK,UAAElK,KAAKogB,eAAepgB,KAAKQ,MAAMi/B,iBAAjC,QAA8C,GACnDt1B,MAAO,CAAEkB,MAAO,YAGxB,4BACI,kBAAC,EAAD,CACIjB,KAAK,SACLJ,MAAM,YACNC,YAAa,SAAC2B,GACV,EAAKlH,SAAS,CAAEg7B,SAAU9zB,KAE9B1B,MAAK,UAAElK,KAAKogB,eAAepgB,KAAKQ,MAAMk/B,iBAAjC,QAA8C,GACnDv1B,MAAO,CAAEkB,MAAO,iBAQ5C,4BACI,4BACI,2BAAOgX,YAAa,EAAGD,YAAa,GAChC,+BACI,4BACI,wBAAI1R,QAAS,EAAG3I,MAAO,CAAEkF,SAAU,OAAQ0R,WAAY,MAAO8D,WAAY,QAAU9R,MAAM,QAA1F,qCAIJ,4BACI,4BACI,kBAAC,EAAD,CACIvG,KAAK,OACLH,YAAa,SAAC2B,GAAD,OAAO,EAAKlH,SAAS,CAAEi7B,aAAc/zB,KAClD1B,MAAOlK,KAAKQ,MAAMm/B,aAClB31B,MAAM,mBACNG,MAAO,CAAEkB,MAAO,aAI5B,4BACI,4BACI,kBAAC,EAAD,CACIjB,KAAK,OACLH,YAAa,SAAC2B,GAAD,OAAO,EAAKlH,SAAS,CAAEk7B,gBAAiBh0B,KACrD1B,MAAOlK,KAAKQ,MAAMo/B,gBAClB51B,MAAM,sBACNG,MAAO,CAAEkB,MAAO,aAI5B,4BACI,4BACI,kBAAC,EAAD,CACIjB,KAAK,SACLH,YAAa,SAAC2B,GAAD,OAAO,EAAKlH,SAAS,CAAEm7B,YAAaj0B,KACjD1B,MAAOlK,KAAKQ,MAAMq/B,YAClB71B,MAAM,MACNG,MAAO,CAAEkB,MAAO,aAI5B,4BACI,4BACI,kBAAC,EAAD,CACIjB,KAAK,OACLH,YAAa,SAAC2B,GAAD,OAAO,EAAKlH,SAAS,CAAEo7B,kBAAmBl0B,KACvD1B,MAAOlK,KAAKQ,MAAMs/B,kBAClB91B,MAAM,0BACNG,MAAO,CAAEkB,MAAO,oBAWxD,yBAAK7F,UAAU,UACX,2BAAOuC,MAAO,CAAEsD,MAAO,OAAQuF,OAAQ,SACnC,+BACI,4BACI,wBAAID,MAAM,SAASE,OAAO,UACtB,4BACIrL,UAAU,gBACVuC,MAAO,CAAE8H,WAAY,UACrBrE,WAAUxL,KAAKQ,MAAM2M,QACrB9G,QAAS,WACL,EAAK8b,SALb,kBArqBpC,GAAuCzc,aAA1B63B,GACF92B,YAAc82B,GAAkB54B,KCDpC,IAAMo7B,GAAb,kDACI,WAAY97B,GAAQ,IAAD,8BACf,cAAMA,IAEDzD,MAAQ,CACT2M,SAAS,EACT+f,cAAe,IALJ,EADvB,gEAWQ,IACIltB,KAAK0E,SAAS,CAAEyI,SAAS,IAEzB,IAAI/B,EAAK8W,aAAa1T,QAAQ,kBAEpB,MAANpD,GAAYpL,KAAK0E,SAAS,CAAEwoB,cAAe9hB,IAErC,MAANA,GAAYpL,KAAKqf,SAASjU,GAE9B,IAAI0nB,EAAc1lB,eAAeoB,QAAQ,qBACrCukB,EAAgB3lB,eAAeoB,QAAQ,uBAC3CxO,KAAK0E,SAAS,CAAEyI,SAAS,EAAO6lB,sBAAuBF,EAAaG,wBAAyBF,IAEjG,MAAO7pB,GACHlJ,KAAK0E,SAAS,CAAEyI,SAAS,IACzBrM,QAAQC,IAAI,uBAAyBmI,MA1BjD,0CA+BQ,IAAI0W,EAAI5f,KAAKQ,MACT0yB,EAASlzB,KAAK8f,YAAYF,EAAEuT,6BAA+BnzB,KAAK8f,YAAYF,EAAEwT,eAAiBpzB,KAAK8f,YAAYF,EAAEyT,cAAgBrzB,KAAK8f,YAAYF,EAAE0T,cACrJtzB,KAAK8f,YAAYF,EAAE2T,iBAAmBvzB,KAAK8f,YAAYF,EAAE4T,iBAAmBxzB,KAAK8f,YAAYF,EAAE6T,YAAczzB,KAAK8f,YAAYF,EAAE8T,gBAChI1zB,KAAK8f,YAAYF,EAAE+T,wBAA0B3zB,KAAK8f,YAAYF,EAAEgU,uBAAyB5zB,KAAK8f,YAAYF,EAAEiU,yBAC5G7zB,KAAK8f,YAAYF,EAAEkU,qBAAuB9zB,KAAK8f,YAAYF,EAAEmU,cAAgB/zB,KAAK8f,YAAYF,EAAEoU,cAAgBh0B,KAAK8f,YAAYF,EAAEqU,cACnIj0B,KAAK8f,YAAYF,EAAEsU,uBAAyBl0B,KAAK8f,YAAYF,EAAEuU,uBAAyBn0B,KAAK8f,YAAYF,EAAEwU,4BAC3Gp0B,KAAK8f,YAAYF,EAAEyU,4BAA8Br0B,KAAK8f,YAAYF,EAAE0U,4BACpEt0B,KAAK8f,YAAYF,EAAE2U,4BAA8Bv0B,KAAK8f,YAAYF,EAAE4U,4BAA8Bx0B,KAAK8f,YAAYF,EAAE6U,wBACrHz0B,KAAK8f,YAAYF,EAAE8U,2BAA6B10B,KAAK8f,YAAYF,EAAE+U,4BAA8B30B,KAAK8f,YAAYF,EAAEgV,4BACpH50B,KAAK8f,YAAYF,EAAEiV,sBAEnBC,EAAc90B,KAAK8f,YAAYF,EAAEmV,yBAA2B/0B,KAAK8f,YAAYF,EAAEoV,yBAA2Bh1B,KAAK8f,YAAYF,EAAEqV,yBAC7Hj1B,KAAK8f,YAAYF,EAAEsV,2BAA6Bl1B,KAAK8f,YAAYF,EAAEuV,6BAA+Bn1B,KAAK8f,YAAYF,EAAEwV,2BACrHp1B,KAAK8f,YAAYF,EAAEyV,4BAA8Br1B,KAAK8f,YAAYF,EAAE0V,sBAAwBt1B,KAAK8f,YAAYF,EAAE2V,sBAC/Gv1B,KAAK8f,YAAYF,EAAE4V,sBAAwBx1B,KAAK8f,YAAYF,EAAE6V,gCAAkCz1B,KAAK8f,YAAYF,EAAE8V,kCACnH11B,KAAK8f,YAAYF,EAAE+V,8BAAgC31B,KAAK8f,YAAYF,EAAEgW,gBAAkB51B,KAAK8f,YAAYF,EAAEiW,gBAC3G71B,KAAK8f,YAAYF,EAAEkW,gBAAkB91B,KAAK8f,YAAYF,EAAEmW,yBAA2B/1B,KAAK8f,YAAYF,EAAEoW,yBACtGh2B,KAAK8f,YAAYF,EAAEqW,sCAAwCj2B,KAAK8f,YAAYF,EAAEsW,sCAAwCl2B,KAAK8f,YAAYF,EAAEuW,sCACzIn2B,KAAK8f,YAAYF,EAAEwW,sCAAwCp2B,KAAK8f,YAAYF,EAAEyW,sCAAwCr2B,KAAK8f,YAAYF,EAAE0W,sCACzIt2B,KAAK8f,YAAYF,EAAE2W,2CAA6Cv2B,KAAK8f,YAAYF,EAAE4W,uCAAyCx2B,KAAK8f,YAAYF,EAAE6W,uCAC/Iz2B,KAAK8f,YAAYF,EAAE8W,uCAAyC12B,KAAK8f,YAAYF,EAAE+W,uCAE/EC,EAAY1D,EAAS4B,EAErB+B,EAAY72B,KAAKogB,eAAe8S,GAEpC,GAAI2D,GAAaA,EAAUnqB,WAAW,OAASmqB,EAAU/tB,SAAS,KAC9D+tB,GAAwB,WAEvB,GAAIA,EAAUnqB,WAAW,MAAQmqB,EAAU/tB,SAAS,KAAM,CAEtC,IADjB6D,EAAMkqB,EAAUjqB,MAAM,MAClB,GAAGlK,SACPm0B,GAAwB,MAGP,GAAjBlqB,EAAI,GAAGjK,SACPm0B,GAAwB,KAIhC,IAAIC,EAAiB92B,KAAKogB,eAAe0U,GAEzC,GAAIgC,GAAkBA,EAAepqB,WAAW,OAASoqB,EAAehuB,SAAS,KAC7EguB,GAAkC,WAEjC,GAAIA,EAAepqB,WAAW,MAAQoqB,EAAehuB,SAAS,KAAM,CAEhD,IADjB6D,EAAMmqB,EAAelqB,MAAM,MACvB,GAAGlK,SACPo0B,GAAkC,MAGjB,GAAjBnqB,EAAI,GAAGjK,SACPo0B,GAAkC,KAI1C,IAAIC,EAAc/2B,KAAKogB,eAAewW,GAEtC,GAAIG,GAAeA,EAAYrqB,WAAW,OAASqqB,EAAYjuB,SAAS,KACpEiuB,GAA4B,WAE3B,GAAIA,EAAYrqB,WAAW,MAAQqqB,EAAYjuB,SAAS,KAAM,CAC/D,IAAI6D,EACiB,IADjBA,EAAMoqB,EAAYnqB,MAAM,MACpB,GAAGlK,SACPq0B,GAA4B,MAGX,GAAjBpqB,EAAI,GAAGjK,SACPq0B,GAA4B,KAIpC/2B,KAAK0E,SAAS,CACVsyB,YAAaH,EACbI,iBAAkBH,EAClBI,SAAUH,MA1GtB,kCA8GgBzrB,GACR,QAAa5J,GAAT4J,GAA+B,GAATA,EAAY,OAAO,EAI7C,IAAIkV,EAASlV,EAAMkB,QAAQ,KAAM,IAAIA,QAAQ,IAAK,IAElD,OAAIgU,EAAO9d,OAAS,EAEF+d,MAAMD,SAAqB9e,GAAV8e,EAAuB,EAAIxC,SAASwC,GAI5D,IA3HnB,qCA+HmBlV,GACX,QAAa5J,GAAT4J,EAAoB,MAAO,GAC/B,IAAIqV,EAAUrV,EAAMwN,WAAWtM,QAAQ,KAAM,IAAIA,QAAQ,IAAK,IAE1DoU,EAAM,GACNJ,EAAS,GAETK,EAAWF,EAAQ/T,MAAM,KAW7B,OAVwB,IAAZ,OAARiU,QAAQ,IAARA,OAAA,EAAAA,EAAUne,QACV8d,EAASG,EAAQ/T,MAAM,KAAK,IAEf,OAARiU,QAAQ,IAARA,OAAA,EAAAA,EAAUne,QAAS,GACxB8d,EAASG,EAAQ/T,MAAM,KAAK,GAC5BgU,EAAM,IAAMD,EAAQ/T,MAAM,KAAK,GAAGkU,UAAU,EAAG,IAG/CN,EAASG,EAETH,EAAO9d,OAAS,EACT,IAAIqe,KAAKC,kBAAatf,EAAW,CACpCqG,MAAO,WACPkZ,SAAU,MACVC,sBAAuB,EACvBC,sBAAuB,IACxBC,OAAOZ,GAAUI,OANxB,IAjJR,oEA2JekG,GA3Jf,2FA4JQ,IACQld,EAAO,QACElI,IAATolB,IACwC,cAApC5E,aAAa1T,QAAQ,mBACe9M,GAAhC1B,KAAKQ,MAAM8mB,mBAA0E,IAAxC,UAAAtnB,KAAKQ,MAAM8mB,yBAAX,eAA8B5kB,SAC3EkH,EAAK3H,KAAK,2BAE0BP,GAApC1B,KAAKQ,MAAMwyB,uBAAkF,IAA5C,UAAAhzB,KAAKQ,MAAMwyB,6BAAX,eAAkCtwB,SACnFkH,EAAK3H,KAAK,gCAE0BP,GAApC1B,KAAKQ,MAAM8lB,uBAAkF,IAA5C,UAAAtmB,KAAKQ,MAAM8lB,6BAAX,eAAkC5jB,SACnFkH,EAAK3H,KAAK,4BAIsB,WAApCigB,aAAa1T,QAAQ,mBACe9M,GAAhC1B,KAAKQ,MAAM8mB,mBAA0E,IAAxC,UAAAtnB,KAAKQ,MAAM8mB,yBAAX,eAA8B5kB,SAC3EkH,EAAK3H,KAAK,2BAE0BP,GAApC1B,KAAKQ,MAAMwyB,uBAAkF,IAA5C,UAAAhzB,KAAKQ,MAAMwyB,6BAAX,eAAkCtwB,SACnFkH,EAAK3H,KAAK,gCAE0BP,GAApC1B,KAAKQ,MAAM8lB,uBAAkF,IAA5C,UAAAtmB,KAAKQ,MAAM8lB,6BAAX,eAAkC5jB,SACnFkH,EAAK3H,KAAK,gCAEwBP,GAAlC1B,KAAKQ,MAAMwqB,qBAA8E,IAA1C,UAAAhrB,KAAKQ,MAAMwqB,2BAAX,eAAgCtoB,SAC/EkH,EAAK3H,KAAK,6BAE4BP,GAAtC1B,KAAKQ,MAAMyyB,yBAAsF,IAA9C,UAAAjzB,KAAKQ,MAAMyyB,+BAAX,eAAoCvwB,SACvFkH,EAAK3H,KAAK,kCAE4BP,GAAtC1B,KAAKQ,MAAMypB,yBAAsF,IAA9C,UAAAjqB,KAAKQ,MAAMypB,+BAAX,eAAoCvnB,SACvFkH,EAAK3H,KAAK,+BAKH,GAAf2H,EAAKlH,QACL1C,KAAK0E,SAAS,CAAEyI,SAAS,IACrBhK,EAAQyD,IACZ5G,KAAK0E,SAAS,CACV4hB,2BAA4D5kB,IAArC1B,KAAKQ,MAAM8lB,uBAA2E,IAApCtmB,KAAKQ,MAAM8lB,sBAA8B,KAAOlF,aAAO,IAAI8C,KAAKlkB,KAAKQ,MAAM8lB,sBAAsB9Z,QAAQ,KAAM,MAAO,cAC/Lyd,6BAAgEvoB,IAAvC1B,KAAKQ,MAAMypB,yBAA+E,IAAtCjqB,KAAKQ,MAAMypB,wBAAgC,KAAO7I,aAAO,IAAI8C,KAAKlkB,KAAKQ,MAAMypB,wBAAwBzd,QAAQ,KAAM,MAAO,gBAEvM,WAAa,IAAD,OACRrJ,EAAM4D,KAAK,gEAAiE/G,KAAKQ,OAC5E+M,MAAK,SAACnC,GACCA,EACa,IAAT0b,EACwC,MAApC5E,aAAa1T,QAAQ,aAA2D,cAApC0T,aAAa1T,QAAQ,YACjEhH,OAAOmH,SAASzG,KAAO,wBAGvBV,OAAOmH,SAASzG,KAAO,yBAI3B,EAAKxD,SAAS,CAAEyI,SAAS,IACzB3F,OAAOmH,SAASzG,KAAO,4BAI3B,EAAKxD,SAAS,CACV2E,WAAW,EACXuF,aAAc,+DACdzB,SAAS,YAOjCnN,KAAK0E,SAAS,CACV2E,WAAW,EACXuF,aAAc,qCACdC,WAAYjF,IAEhBF,YAAW,WAAc7B,SAAS2f,eAAe,iBAAiBC,SAAS,CAAExY,IAAK,EAAGyY,SAAU,aAAgB,MAGvH,MAAOxe,GACHlJ,KAAK0E,SAAS,CAAEyI,SAAS,IACzBrM,QAAQC,IAAI,UAAYmI,GA9OpC,+KAkPmBkC,GAlPnB,4EAmPQ,IACIpL,KAAK0E,SAAS,CAAEyI,SAAS,IACbvG,IAENC,IAAI,mEAAqEuE,GAC1EmC,MAAK,SAACzL,GACH,IAAI8f,EAAS,EAAKphB,MAClB,IAAK,IAAMsJ,KAAOhI,EACd,GAAiB,MAAbA,EAAKgI,GAAc,CACnB,IAAI+X,EAAO/X,EAAIgY,OAAO,GAAGC,cAAgBjY,EAAIkY,MAAM,GAC/CxB,EAAS1e,EAAKgI,GAClB8X,EAAOC,GAAQrB,EAGvB,EAAK9b,SAASkd,GAAQ,WAClB5hB,KAAKo3B,oBACLp3B,KAAK0E,SAAS,CAAEyI,SAAS,IACzBnN,KAAK0E,SAAS,CACV4hB,sBAAuBtmB,KAAKqmB,YAAYrmB,KAAKQ,MAAM8lB,uBACnD2D,wBAAyBjqB,KAAKqmB,YAAYrmB,KAAKQ,MAAMypB,iCAKzE,MAAO/gB,GACHlJ,KAAK0E,SAAS,CAAEyI,SAAS,IACzBrM,QAAQC,IAAI,UAAYmI,GA7QpC,yIAiRgBye,GACR,MAAe,IAAXA,QAA6BjmB,IAAZimB,EAA8BA,EAEnCA,EAAQ/a,MAAM,KACb,KArRzB,+BAwRc,IAAD,yBACL,OACI,yBAAKpH,UAAU,iBACX,yBAAK4F,GAAG,gBAAgB5F,UAAU,+BACN,IAAvBxF,KAAKQ,MAAM2M,QACR,6BACI,kBAAC2B,EAAA,EAAD,CAASC,MAAM,OAAOpI,SAAS,GAAGoB,MAAO,CAAEiH,SAAU,QAASC,IAAK,MAAOC,KAAM,UAElF,KAEN,kBAAC,EAAD,CACI9F,UAAWpJ,KAAKQ,MAAMoO,aACtBtF,UAAWtJ,KAAKQ,MAAMqO,WACtBxF,UAAWrJ,KAAKQ,MAAM6I,UACtBE,aAAc,kBAAM,EAAK7E,SAAS,CAAE2E,WAAW,KAC/CG,mBAAoB,IAExB,2BAAOhE,UAAU,mCACb,+BACI,4BACI,wBAAIkL,QAAS,EAAGC,MAAM,SAASE,OAAO,UAClC,2BAAO9I,MAAO,CAAEsD,MAAO,cAAeoX,WAAY,OAAQ4U,cAAe,OAAQpqB,SAAU,OAAQ8B,MAAO,UAAW8H,UAAW,SAAUtH,aAAc,MAAxJ,kCAGR,4BACI,sCACA,wBAAImB,QAAS,IACb,6BACA,2CACA,6BACA,6BACA,8BAEJ,4BACI,2CACA,wBAAIA,QAAS,GAAb,eACA,yCACA,8CACA,2CACA,+CACA,6CAEJ,4BACI,0DAGA,wBAAIA,QAAS,GACT,2BAAO9I,KAAK,OACR+H,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAE4yB,kCAAmC1rB,EAAEC,OAAOP,SAEhEA,MAAOtL,KAAKQ,MAAM82B,kCAClBvvB,MAAO,CAAEsD,MAAO,WAGxB,4BACI,2BAAOzD,KAAK,OACR+H,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAEyuB,4BAA6BvnB,EAAEC,OAAOP,QAAS,WAC3DtL,KAAKo3B,wBAGb9rB,MAAOtL,KAAKogB,eAAepgB,KAAKQ,MAAM2yB,6BACtCprB,MAAO,CAAEsD,MAAO,QAChBoB,OAAQ,SAACb,GACL,IAAIO,EAAM,EAAK3L,MAAM2yB,4BACrB,GAAIvnB,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,OAASd,EAAEC,OAAOP,MAAMxC,SAAS,KAC7EqD,GAAY,WAEX,GAAIP,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,MAAQd,EAAEC,OAAOP,MAAMxC,SAAS,KAAM,CACvF,IAAI6D,EAAMf,EAAEC,OAAOP,MAAMsB,MAAM,KACV,GAAjBD,EAAI,GAAGjK,SACPyJ,GAAY,MAGK,GAAjBQ,EAAI,GAAGjK,SACPyJ,GAAY,KAGpB,EAAKzH,SAAS,CACVyuB,4BAA6BhnB,QAK7C,yCACA,4BACI,2BAAOvE,KAAK,OACR+H,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAE6yB,qBAAsB3rB,EAAEC,OAAOP,SAEnDA,MAAOtL,KAAKQ,MAAM+2B,qBAClBxvB,MAAO,CAAEsD,MAAO,WAGxB,4BACI,2BAAOzD,KAAK,OACR+H,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAEqwB,wBAAyBnpB,EAAEC,OAAOP,QAClD,EAAK8rB,qBAET9rB,MAAOtL,KAAKogB,eAAepgB,KAAKQ,MAAMu0B,yBACtChtB,MAAO,CAAEsD,MAAO,QAChBoB,OAAQ,SAACb,GACL,IAAIO,EAAM,EAAK3L,MAAMu0B,wBACrB,GAAInpB,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,OAASd,EAAEC,OAAOP,MAAMxC,SAAS,KAC7EqD,GAAY,WAEX,GAAIP,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,MAAQd,EAAEC,OAAOP,MAAMxC,SAAS,KAAM,CACvF,IAAI6D,EAAMf,EAAEC,OAAOP,MAAMsB,MAAM,KACV,GAAjBD,EAAI,GAAGjK,SACPyJ,GAAY,MAGK,GAAjBQ,EAAI,GAAGjK,SACPyJ,GAAY,KAGpB,EAAKzH,SAAS,CACVqwB,wBAAyB5oB,QAKzC,4BACI,2BAAOvE,KAAK,OACR+H,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAE8yB,wBAAyB5rB,EAAEC,OAAOP,QAAS,gBAG/DA,MAAOtL,KAAKogB,eAAepgB,KAAKQ,MAAMg3B,yBACtCzvB,MAAO,CAAEsD,MAAO,QAChBoB,OAAQ,SAACb,GACL,IAAIO,EAAM,EAAK3L,MAAMg3B,wBACrB,GAAI5rB,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,OAASd,EAAEC,OAAOP,MAAMxC,SAAS,KAC7EqD,GAAY,WAEX,GAAIP,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,MAAQd,EAAEC,OAAOP,MAAMxC,SAAS,KAAM,CACvF,IAAI6D,EAAMf,EAAEC,OAAOP,MAAMsB,MAAM,KACV,GAAjBD,EAAI,GAAGjK,SACPyJ,GAAY,MAGK,GAAjBQ,EAAI,GAAGjK,SACPyJ,GAAY,KAGpB,EAAKzH,SAAS,CACV8yB,wBAAyBrrB,SAM7C,4BACI,8CAGA,wBAAIuE,QAAS,GACT,2BAAO9I,KAAK,OACR+H,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAE+yB,oBAAqB7rB,EAAEC,OAAOP,SAElDA,MAAOtL,KAAKQ,MAAMi3B,oBAClB1vB,MAAO,CAAEsD,MAAO,WAGxB,4BACI,2BAAOzD,KAAK,OACR+H,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAE0uB,cAAexnB,EAAEC,OAAOP,QAAS,WAC7CtL,KAAKo3B,wBAGb9rB,MAAOtL,KAAKogB,eAAepgB,KAAKQ,MAAM4yB,eACtCrrB,MAAO,CAAEsD,MAAO,QAChBoB,OAAQ,SAACb,GACL,IAAIO,EAAM,EAAK3L,MAAM4yB,cACrB,GAAIxnB,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,OAASd,EAAEC,OAAOP,MAAMxC,SAAS,KAC7EqD,GAAY,WAEX,GAAIP,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,MAAQd,EAAEC,OAAOP,MAAMxC,SAAS,KAAM,CACvF,IAAI6D,EAAMf,EAAEC,OAAOP,MAAMsB,MAAM,KACV,GAAjBD,EAAI,GAAGjK,SACPyJ,GAAY,MAGK,GAAjBQ,EAAI,GAAGjK,SACPyJ,GAAY,KAGpB,EAAKzH,SAAS,CACV0uB,cAAejnB,QAK/B,yCACA,4BACI,2BAAOvE,KAAK,OACR+H,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAEgzB,qBAAsB9rB,EAAEC,OAAOP,SAEnDA,MAAOtL,KAAKQ,MAAMk3B,qBAClB3vB,MAAO,CAAEsD,MAAO,WAGxB,4BACI,2BAAOzD,KAAK,OACR+H,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAEswB,wBAAyBppB,EAAEC,OAAOP,QAAS,WACvDtL,KAAKo3B,wBAGb9rB,MAAOtL,KAAKogB,eAAepgB,KAAKQ,MAAMw0B,yBACtCjtB,MAAO,CAAEsD,MAAO,QAChBoB,OAAQ,SAACb,GACL,IAAIO,EAAM,EAAK3L,MAAMw0B,wBACrB,GAAIppB,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,OAASd,EAAEC,OAAOP,MAAMxC,SAAS,KAC7EqD,GAAY,WAEX,GAAIP,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,MAAQd,EAAEC,OAAOP,MAAMxC,SAAS,KAAM,CACvF,IAAI6D,EAAMf,EAAEC,OAAOP,MAAMsB,MAAM,KACV,GAAjBD,EAAI,GAAGjK,SACPyJ,GAAY,MAGK,GAAjBQ,EAAI,GAAGjK,SACPyJ,GAAY,KAGpB,EAAKzH,SAAS,CACVswB,wBAAyB7oB,QAKzC,4BACI,2BAAOvE,KAAK,OACR+H,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAEizB,wBAAyB/rB,EAAEC,OAAOP,SAEtDA,MAAOtL,KAAKogB,eAAepgB,KAAKQ,MAAMm3B,yBACtC5vB,MAAO,CAAEsD,MAAO,QAChBoB,OAAQ,SAACb,GACL,IAAIO,EAAM,EAAK3L,MAAMm3B,wBACrB,GAAI/rB,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,OAASd,EAAEC,OAAOP,MAAMxC,SAAS,KAC7EqD,GAAY,WAEX,GAAIP,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,MAAQd,EAAEC,OAAOP,MAAMxC,SAAS,KAAM,CACvF,IAAI6D,EAAMf,EAAEC,OAAOP,MAAMsB,MAAM,KACV,GAAjBD,EAAI,GAAGjK,SACPyJ,GAAY,MAGK,GAAjBQ,EAAI,GAAGjK,SACPyJ,GAAY,KAGpB,EAAKzH,SAAS,CACVizB,wBAAyBxrB,SAM7C,4BACI,sDAGA,wBAAIuE,QAAS,GACT,2BAAO9I,KAAK,OACR+H,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAEkzB,mBAAoBhsB,EAAEC,OAAOP,SAEjDA,MAAOtL,KAAKQ,MAAMo3B,mBAClB7vB,MAAO,CAAEsD,MAAO,WAGxB,4BACI,2BAAOzD,KAAK,OACR+H,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAE2uB,aAAcznB,EAAEC,OAAOP,QAAS,WAC5CtL,KAAKo3B,wBAGb9rB,MAAOtL,KAAKogB,eAAepgB,KAAKQ,MAAM6yB,cACtCtrB,MAAO,CAAEsD,MAAO,QAChBoB,OAAQ,SAACb,GACL,IAAIO,EAAM,EAAK3L,MAAM6yB,aACrB,GAAIznB,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,OAASd,EAAEC,OAAOP,MAAMxC,SAAS,KAC7EqD,GAAY,WAEX,GAAIP,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,MAAQd,EAAEC,OAAOP,MAAMxC,SAAS,KAAM,CACvF,IAAI6D,EAAMf,EAAEC,OAAOP,MAAMsB,MAAM,KACV,GAAjBD,EAAI,GAAGjK,SACPyJ,GAAY,MAGK,GAAjBQ,EAAI,GAAGjK,SACPyJ,GAAY,KAGpB,EAAKzH,SAAS,CACV2uB,aAAclnB,QAK9B,yCACA,4BACI,2BAAOvE,KAAK,OACR+H,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAEmzB,qBAAsBjsB,EAAEC,OAAOP,SAEnDA,MAAOtL,KAAKQ,MAAMq3B,qBAClB9vB,MAAO,CAAEsD,MAAO,WAGxB,4BACI,2BAAOzD,KAAK,OACR+H,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAEuwB,wBAAyBrpB,EAAEC,OAAOP,QAAS,WACvDtL,KAAKo3B,wBAGb9rB,MAAOtL,KAAKogB,eAAepgB,KAAKQ,MAAMy0B,yBACtCltB,MAAO,CAAEsD,MAAO,QAChBoB,OAAQ,SAACb,GACL,IAAIO,EAAM,EAAK3L,MAAMy0B,wBACrB,GAAIrpB,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,OAASd,EAAEC,OAAOP,MAAMxC,SAAS,KAC7EqD,GAAY,WAEX,GAAIP,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,MAAQd,EAAEC,OAAOP,MAAMxC,SAAS,KAAM,CACvF,IAAI6D,EAAMf,EAAEC,OAAOP,MAAMsB,MAAM,KACV,GAAjBD,EAAI,GAAGjK,SACPyJ,GAAY,MAGK,GAAjBQ,EAAI,GAAGjK,SACPyJ,GAAY,KAGpB,EAAKzH,SAAS,CACVuwB,wBAAyB9oB,QAKzC,4BACI,2BAAOvE,KAAK,OACR+H,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAEozB,wBAAyBlsB,EAAEC,OAAOP,SAEtDA,MAAOtL,KAAKogB,eAAepgB,KAAKQ,MAAMs3B,yBACtC/vB,MAAO,CAAEsD,MAAO,QAChBoB,OAAQ,SAACb,GACL,IAAIO,EAAM,EAAK3L,MAAMs3B,wBACrB,GAAIlsB,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,OAASd,EAAEC,OAAOP,MAAMxC,SAAS,KAC7EqD,GAAY,WAEX,GAAIP,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,MAAQd,EAAEC,OAAOP,MAAMxC,SAAS,KAAM,CACvF,IAAI6D,EAAMf,EAAEC,OAAOP,MAAMsB,MAAM,KACV,GAAjBD,EAAI,GAAGjK,SACPyJ,GAAY,MAGK,GAAjBQ,EAAI,GAAGjK,SACPyJ,GAAY,KAGpB,EAAKzH,SAAS,CACVozB,wBAAyB3rB,SAM7C,4BACI,0CAGA,wBAAIuE,QAAS,GACT,2BAAO9I,KAAK,OACR+H,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAEqzB,mBAAoBnsB,EAAEC,OAAOP,SAEjDA,MAAOtL,KAAKQ,MAAMu3B,mBAClBhwB,MAAO,CAAEsD,MAAO,WAGxB,4BACI,2BAAOzD,KAAK,OACR+H,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAE4uB,aAAc1nB,EAAEC,OAAOP,QAAS,WAC5CtL,KAAKo3B,wBAGb9rB,MAAOtL,KAAKogB,eAAepgB,KAAKQ,MAAM8yB,cACtCvrB,MAAO,CAAEsD,MAAO,QAChBoB,OAAQ,SAACb,GACL,IAAIO,EAAM,EAAK3L,MAAM8yB,aACrB,GAAI1nB,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,OAASd,EAAEC,OAAOP,MAAMxC,SAAS,KAC7EqD,GAAY,WAEX,GAAIP,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,MAAQd,EAAEC,OAAOP,MAAMxC,SAAS,KAAM,CACvF,IAAI6D,EAAMf,EAAEC,OAAOP,MAAMsB,MAAM,KACV,GAAjBD,EAAI,GAAGjK,SACPyJ,GAAY,MAGK,GAAjBQ,EAAI,GAAGjK,SACPyJ,GAAY,KAGpB,EAAKzH,SAAS,CACV4uB,aAAcnnB,QAK9B,6CACA,4BACI,2BAAOvE,KAAK,OACR+H,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAEszB,uBAAwBpsB,EAAEC,OAAOP,SAErDA,MAAOtL,KAAKQ,MAAMw3B,uBAClBjwB,MAAO,CAAEsD,MAAO,WAGxB,4BACI,2BAAOzD,KAAK,OACR+H,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAEwwB,0BAA2BtpB,EAAEC,OAAOP,QAAS,WACzDtL,KAAKo3B,wBAGb9rB,MAAOtL,KAAKogB,eAAepgB,KAAKQ,MAAM00B,2BACtCntB,MAAO,CAAEsD,MAAO,QAChBoB,OAAQ,SAACb,GACL,IAAIO,EAAM,EAAK3L,MAAM00B,0BACrB,GAAItpB,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,OAASd,EAAEC,OAAOP,MAAMxC,SAAS,KAC7EqD,GAAY,WAEX,GAAIP,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,MAAQd,EAAEC,OAAOP,MAAMxC,SAAS,KAAM,CACvF,IAAI6D,EAAMf,EAAEC,OAAOP,MAAMsB,MAAM,KACV,GAAjBD,EAAI,GAAGjK,SACPyJ,GAAY,MAGK,GAAjBQ,EAAI,GAAGjK,SACPyJ,GAAY,KAGpB,EAAKzH,SAAS,CACVwwB,0BAA2B/oB,QAK3C,4BACI,2BAAOvE,KAAK,OACR+H,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAEuzB,0BAA2BrsB,EAAEC,OAAOP,SAExDA,MAAOtL,KAAKogB,eAAepgB,KAAKQ,MAAMy3B,2BACtClwB,MAAO,CAAEsD,MAAO,QAChBoB,OAAQ,SAACb,GACL,IAAIO,EAAM,EAAK3L,MAAMy3B,0BACrB,GAAIrsB,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,OAASd,EAAEC,OAAOP,MAAMxC,SAAS,KAC7EqD,GAAY,WAEX,GAAIP,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,MAAQd,EAAEC,OAAOP,MAAMxC,SAAS,KAAM,CACvF,IAAI6D,EAAMf,EAAEC,OAAOP,MAAMsB,MAAM,KACV,GAAjBD,EAAI,GAAGjK,SACPyJ,GAAY,MAGK,GAAjBQ,EAAI,GAAGjK,SACPyJ,GAAY,KAGpB,EAAKzH,SAAS,CACVuzB,0BAA2B9rB,SAM/C,4BACI,uDAGA,wBAAIuE,QAAS,GACT,2BAAO9I,KAAK,OACR+H,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAEwzB,sBAAuBtsB,EAAEC,OAAOP,SAEpDA,MAAOtL,KAAKQ,MAAM03B,sBAClBnwB,MAAO,CAAEsD,MAAO,WAGxB,4BACI,2BAAOzD,KAAK,OACR+H,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAE6uB,gBAAiB3nB,EAAEC,OAAOP,QAAS,WAC/CtL,KAAKo3B,wBAGb9rB,MAAOtL,KAAKogB,eAAepgB,KAAKQ,MAAM+yB,iBACtCxrB,MAAO,CAAEsD,MAAO,QAChBoB,OAAQ,SAACb,GACL,IAAIO,EAAM,EAAK3L,MAAM+yB,gBACrB,GAAI3nB,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,OAASd,EAAEC,OAAOP,MAAMxC,SAAS,KAC7EqD,GAAY,WAEX,GAAIP,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,MAAQd,EAAEC,OAAOP,MAAMxC,SAAS,KAAM,CACvF,IAAI6D,EAAMf,EAAEC,OAAOP,MAAMsB,MAAM,KACV,GAAjBD,EAAI,GAAGjK,SACPyJ,GAAY,MAGK,GAAjBQ,EAAI,GAAGjK,SACPyJ,GAAY,KAGpB,EAAKzH,SAAS,CACV6uB,gBAAiBpnB,QAKjC,+CACA,4BACI,2BAAOvE,KAAK,OACR+H,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAEyzB,yBAA0BvsB,EAAEC,OAAOP,SAEvDA,MAAOtL,KAAKQ,MAAM23B,yBAClBpwB,MAAO,CAAEsD,MAAO,WAGxB,4BACI,2BAAOzD,KAAK,OACR+H,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAEywB,4BAA6BvpB,EAAEC,OAAOP,QAAS,WAC3DtL,KAAKo3B,wBAGb9rB,MAAOtL,KAAKogB,eAAepgB,KAAKQ,MAAM20B,6BACtCptB,MAAO,CAAEsD,MAAO,QAChBoB,OAAQ,SAACb,GACL,IAAIO,EAAM,EAAK3L,MAAM20B,4BACrB,GAAIvpB,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,OAASd,EAAEC,OAAOP,MAAMxC,SAAS,KAC7EqD,GAAY,WAEX,GAAIP,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,MAAQd,EAAEC,OAAOP,MAAMxC,SAAS,KAAM,CACvF,IAAI6D,EAAMf,EAAEC,OAAOP,MAAMsB,MAAM,KACV,GAAjBD,EAAI,GAAGjK,SACPyJ,GAAY,MAGK,GAAjBQ,EAAI,GAAGjK,SACPyJ,GAAY,KAGpB,EAAKzH,SAAS,CACVywB,4BAA6BhpB,QAK7C,4BACI,2BAAOvE,KAAK,OACR+H,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAE0zB,4BAA6BxsB,EAAEC,OAAOP,SAE1DA,MAAOtL,KAAKogB,eAAepgB,KAAKQ,MAAM43B,6BACtCrwB,MAAO,CAAEsD,MAAO,QAChBoB,OAAQ,SAACb,GACL,IAAIO,EAAM,EAAK3L,MAAM43B,4BACrB,GAAIxsB,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,OAASd,EAAEC,OAAOP,MAAMxC,SAAS,KAC7EqD,GAAY,WAEX,GAAIP,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,MAAQd,EAAEC,OAAOP,MAAMxC,SAAS,KAAM,CACvF,IAAI6D,EAAMf,EAAEC,OAAOP,MAAMsB,MAAM,KACV,GAAjBD,EAAI,GAAGjK,SACPyJ,GAAY,MAGK,GAAjBQ,EAAI,GAAGjK,SACPyJ,GAAY,KAGpB,EAAKzH,SAAS,CACV0zB,4BAA6BjsB,SAMjD,4BACI,qCAGA,wBAAIuE,QAAS,GACT,2BAAO9I,KAAK,OACR+H,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAE2zB,iBAAkBzsB,EAAEC,OAAOP,SAE/CA,MAAOtL,KAAKQ,MAAM63B,iBAClBtwB,MAAO,CAAEsD,MAAO,WAGxB,4BACI,2BAAOzD,KAAK,OACR+H,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAE+uB,WAAY7nB,EAAEC,OAAOP,QAAS,WAC1CtL,KAAKo3B,wBAGb9rB,MAAOtL,KAAKogB,eAAepgB,KAAKQ,MAAMizB,YACtC1rB,MAAO,CAAEsD,MAAO,QAChBoB,OAAQ,SAACb,GACL,IAAIO,EAAM,EAAK3L,MAAMizB,WACrB,GAAI7nB,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,OAASd,EAAEC,OAAOP,MAAMxC,SAAS,KAC7EqD,GAAY,WAEX,GAAIP,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,MAAQd,EAAEC,OAAOP,MAAMxC,SAAS,KAAM,CACvF,IAAI6D,EAAMf,EAAEC,OAAOP,MAAMsB,MAAM,KACV,GAAjBD,EAAI,GAAGjK,SACPyJ,GAAY,MAGK,GAAjBQ,EAAI,GAAGjK,SACPyJ,GAAY,KAGpB,EAAKzH,SAAS,CACV+uB,WAAYtnB,QAK5B,4CACA,4BACI,2BAAOvE,KAAK,OACR+H,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAE4zB,uBAAwB1sB,EAAEC,OAAOP,SAErDA,MAAOtL,KAAKQ,MAAM83B,uBAClBvwB,MAAO,CAAEsD,MAAO,WAGxB,4BACI,2BAAOzD,KAAK,OACR+H,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAE0wB,0BAA2BxpB,EAAEC,OAAOP,QAAS,WACzDtL,KAAKo3B,wBAGb9rB,MAAOtL,KAAKogB,eAAepgB,KAAKQ,MAAM40B,2BACtCrtB,MAAO,CAAEsD,MAAO,QAChBoB,OAAQ,SAACb,GACL,IAAIO,EAAM,EAAK3L,MAAM40B,0BACrB,GAAIxpB,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,OAASd,EAAEC,OAAOP,MAAMxC,SAAS,KAC7EqD,GAAY,WAEX,GAAIP,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,MAAQd,EAAEC,OAAOP,MAAMxC,SAAS,KAAM,CACvF,IAAI6D,EAAMf,EAAEC,OAAOP,MAAMsB,MAAM,KACV,GAAjBD,EAAI,GAAGjK,SACPyJ,GAAY,MAGK,GAAjBQ,EAAI,GAAGjK,SACPyJ,GAAY,KAGpB,EAAKzH,SAAS,CACV0wB,0BAA2BjpB,QAK3C,4BACI,2BAAOvE,KAAK,OACR+H,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAE6zB,0BAA2B3sB,EAAEC,OAAOP,SAExDA,MAAOtL,KAAKogB,eAAepgB,KAAKQ,MAAM+3B,2BACtCxwB,MAAO,CAAEsD,MAAO,QAChBoB,OAAQ,SAACb,GACL,IAAIO,EAAM,EAAK3L,MAAM+3B,0BACrB,GAAI3sB,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,OAASd,EAAEC,OAAOP,MAAMxC,SAAS,KAC7EqD,GAAY,WAEX,GAAIP,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,MAAQd,EAAEC,OAAOP,MAAMxC,SAAS,KAAM,CACvF,IAAI6D,EAAMf,EAAEC,OAAOP,MAAMsB,MAAM,KACV,GAAjBD,EAAI,GAAGjK,SACPyJ,GAAY,MAGK,GAAjBQ,EAAI,GAAGjK,SACPyJ,GAAY,KAGpB,EAAKzH,SAAS,CACV6zB,0BAA2BpsB,SAM/C,4BACI,2CAGA,wBAAIuE,QAAS,GACT,2BAAO9I,KAAK,OACR+H,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAE8zB,qBAAsB5sB,EAAEC,OAAOP,SAEnDA,MAAOtL,KAAKQ,MAAMg4B,qBAClBzwB,MAAO,CAAEsD,MAAO,WAGxB,4BACI,2BAAOzD,KAAK,OACR+H,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAEgvB,eAAgB9nB,EAAEC,OAAOP,QAAS,WAC9CtL,KAAKo3B,wBAGb9rB,MAAOtL,KAAKogB,eAAepgB,KAAKQ,MAAMkzB,gBACtC3rB,MAAO,CAAEsD,MAAO,QAChBoB,OAAQ,SAACb,GACL,IAAIO,EAAM,EAAK3L,MAAMkzB,eACrB,GAAI9nB,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,OAASd,EAAEC,OAAOP,MAAMxC,SAAS,KAC7EqD,GAAY,WAEX,GAAIP,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,MAAQd,EAAEC,OAAOP,MAAMxC,SAAS,KAAM,CACvF,IAAI6D,EAAMf,EAAEC,OAAOP,MAAMsB,MAAM,KACV,GAAjBD,EAAI,GAAGjK,SACPyJ,GAAY,MAGK,GAAjBQ,EAAI,GAAGjK,SACPyJ,GAAY,KAGpB,EAAKzH,SAAS,CACVgvB,eAAgBvnB,QAKhC,8CACA,4BACI,2BAAOvE,KAAK,OACR+H,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAE+zB,wBAAyB7sB,EAAEC,OAAOP,SAEtDA,MAAOtL,KAAKQ,MAAMi4B,wBAClB1wB,MAAO,CAAEsD,MAAO,WAGxB,4BACI,2BAAOzD,KAAK,OACR+H,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAE2wB,2BAA4BzpB,EAAEC,OAAOP,QAAS,WAC1DtL,KAAKo3B,wBAGb9rB,MAAOtL,KAAKogB,eAAepgB,KAAKQ,MAAM60B,4BACtCttB,MAAO,CAAEsD,MAAO,QAChBoB,OAAQ,SAACb,GACL,IAAIO,EAAM,EAAK3L,MAAM60B,2BACrB,GAAIzpB,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,OAASd,EAAEC,OAAOP,MAAMxC,SAAS,KAC7EqD,GAAY,WAEX,GAAIP,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,MAAQd,EAAEC,OAAOP,MAAMxC,SAAS,KAAM,CACvF,IAAI6D,EAAMf,EAAEC,OAAOP,MAAMsB,MAAM,KACV,GAAjBD,EAAI,GAAGjK,SACPyJ,GAAY,MAGK,GAAjBQ,EAAI,GAAGjK,SACPyJ,GAAY,KAGpB,EAAKzH,SAAS,CACV2wB,2BAA4BlpB,QAK5C,4BACI,2BAAOvE,KAAK,OACR+H,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAEg0B,2BAA4B9sB,EAAEC,OAAOP,SAEzDA,MAAOtL,KAAKogB,eAAepgB,KAAKQ,MAAMk4B,4BACtC3wB,MAAO,CAAEsD,MAAO,QAChBoB,OAAQ,SAACb,GACL,IAAIO,EAAM,EAAK3L,MAAMk4B,2BACrB,GAAI9sB,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,OAASd,EAAEC,OAAOP,MAAMxC,SAAS,KAC7EqD,GAAY,WAEX,GAAIP,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,MAAQd,EAAEC,OAAOP,MAAMxC,SAAS,KAAM,CACvF,IAAI6D,EAAMf,EAAEC,OAAOP,MAAMsB,MAAM,KACV,GAAjBD,EAAI,GAAGjK,SACPyJ,GAAY,MAGK,GAAjBQ,EAAI,GAAGjK,SACPyJ,GAAY,KAGpB,EAAKzH,SAAS,CACVg0B,2BAA4BvsB,SAMhD,4BACI,yDAGA,wBAAIuE,QAAS,GACT,2BAAO9I,KAAK,OACR+H,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAEi0B,6BAA8B/sB,EAAEC,OAAOP,SAE3DA,MAAOtL,KAAKQ,MAAMm4B,6BAClB5wB,MAAO,CAAEsD,MAAO,WAGxB,4BACI,2BAAOzD,KAAK,OACR+H,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAEivB,uBAAwB/nB,EAAEC,OAAOP,QAAS,WACtDtL,KAAKo3B,wBAGb9rB,MAAOtL,KAAKogB,eAAepgB,KAAKQ,MAAMmzB,wBACtC5rB,MAAO,CAAEsD,MAAO,QAChBoB,OAAQ,SAACb,GACL,IAAIO,EAAM,EAAK3L,MAAMmzB,uBACrB,GAAI/nB,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,OAASd,EAAEC,OAAOP,MAAMxC,SAAS,KAC7EqD,GAAY,WAEX,GAAIP,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,MAAQd,EAAEC,OAAOP,MAAMxC,SAAS,KAAM,CACvF,IAAI6D,EAAMf,EAAEC,OAAOP,MAAMsB,MAAM,KACV,GAAjBD,EAAI,GAAGjK,SACPyJ,GAAY,MAGK,GAAjBQ,EAAI,GAAGjK,SACPyJ,GAAY,KAGpB,EAAKzH,SAAS,CACVivB,uBAAwBxnB,QAKxC,qCACA,4BACI,2BAAOvE,KAAK,OACR+H,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAEk0B,kBAAmBhtB,EAAEC,OAAOP,SAEhDA,MAAOtL,KAAKQ,MAAMo4B,kBAClB7wB,MAAO,CAAEsD,MAAO,WAGxB,4BACI,2BAAOzD,KAAK,OACR+H,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAE4wB,qBAAsB1pB,EAAEC,OAAOP,QAAS,WACpDtL,KAAKo3B,wBAGb9rB,MAAOtL,KAAKogB,eAAepgB,KAAKQ,MAAM80B,sBACtCvtB,MAAO,CAAEsD,MAAO,QAChBoB,OAAQ,SAACb,GACL,IAAIO,EAAM,EAAK3L,MAAM80B,qBACrB,GAAI1pB,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,OAASd,EAAEC,OAAOP,MAAMxC,SAAS,KAC7EqD,GAAY,WAEX,GAAIP,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,MAAQd,EAAEC,OAAOP,MAAMxC,SAAS,KAAM,CACvF,IAAI6D,EAAMf,EAAEC,OAAOP,MAAMsB,MAAM,KACV,GAAjBD,EAAI,GAAGjK,SACPyJ,GAAY,MAGK,GAAjBQ,EAAI,GAAGjK,SACPyJ,GAAY,KAGpB,EAAKzH,SAAS,CACV4wB,qBAAsBnpB,QAKtC,4BACI,2BAAOvE,KAAK,OACR+H,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAEm0B,qBAAsBjtB,EAAEC,OAAOP,SAEnDA,MAAOtL,KAAKogB,eAAepgB,KAAKQ,MAAMq4B,sBACtC9wB,MAAO,CAAEsD,MAAO,QAChBoB,OAAQ,SAACb,GACL,IAAIO,EAAM,EAAK3L,MAAMq4B,qBACrB,GAAIjtB,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,OAASd,EAAEC,OAAOP,MAAMxC,SAAS,KAC7EqD,GAAY,WAEX,GAAIP,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,MAAQd,EAAEC,OAAOP,MAAMxC,SAAS,KAAM,CACvF,IAAI6D,EAAMf,EAAEC,OAAOP,MAAMsB,MAAM,KACV,GAAjBD,EAAI,GAAGjK,SACPyJ,GAAY,MAGK,GAAjBQ,EAAI,GAAGjK,SACPyJ,GAAY,KAGpB,EAAKzH,SAAS,CACVm0B,qBAAsB1sB,SAM1C,4BACI,kDACA,wCACA,uCACA,yCACA,+CACA,iDACA,+CACA,6CAEJ,4BACI,iDAGA,4BACI,2BAAOvE,KAAK,OACR+H,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAEo0B,yBAA0BltB,EAAEC,OAAOP,SAEvDA,MAAOtL,KAAKQ,MAAMs4B,yBAClB/wB,MAAO,CAAEsD,MAAO,WAGxB,4BACI,2BAAOzD,KAAK,OACR+H,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAEq0B,6BAA8BntB,EAAEC,OAAOP,SAE3DA,MAAOtL,KAAKQ,MAAMu4B,6BAClBhxB,MAAO,CAAEsD,MAAO,WAGxB,4BACI,2BAAOzD,KAAK,OACR+H,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAEkvB,sBAAuBhoB,EAAEC,OAAOP,QAAS,WACrDtL,KAAKo3B,wBAGb9rB,MAAOtL,KAAKogB,eAAepgB,KAAKQ,MAAMozB,uBACtC7rB,MAAO,CAAEsD,MAAO,QAChBoB,OAAQ,SAACb,GACL,IAAIO,EAAM,EAAK3L,MAAMozB,sBACrB,GAAIhoB,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,OAASd,EAAEC,OAAOP,MAAMxC,SAAS,KAC7EqD,GAAY,WAEX,GAAIP,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,MAAQd,EAAEC,OAAOP,MAAMxC,SAAS,KAAM,CACvF,IAAI6D,EAAMf,EAAEC,OAAOP,MAAMsB,MAAM,KACV,GAAjBD,EAAI,GAAGjK,SACPyJ,GAAY,MAGK,GAAjBQ,EAAI,GAAGjK,SACPyJ,GAAY,KAGpB,EAAKzH,SAAS,CACVkvB,sBAAuBznB,QAKvC,4BACI,2BAAOvE,KAAK,OACR+H,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAEs0B,+BAAgCptB,EAAEC,OAAOP,SAE7DA,MAAOtL,KAAKQ,MAAMw4B,+BAClBjxB,MAAO,CAAEsD,MAAO,WAGxB,4BACI,2BAAOzD,KAAK,OACR+H,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAEu0B,oCAAqCrtB,EAAEC,OAAOP,SAElEA,MAAOtL,KAAKogB,eAAepgB,KAAKQ,MAAMy4B,qCACtClxB,MAAO,CAAEsD,MAAO,WAGxB,4BACI,2BAAOzD,KAAK,OACR+H,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAE+wB,+BAAgC7pB,EAAEC,OAAOP,QAAS,WAC9DtL,KAAKo3B,wBAGb9rB,MAAOtL,KAAKogB,eAAepgB,KAAKQ,MAAMi1B,gCACtC1tB,MAAO,CAAEsD,MAAO,QAChBoB,OAAQ,SAACb,GACL,IAAIO,EAAM,EAAK3L,MAAMi1B,+BACrB,GAAI7pB,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,OAASd,EAAEC,OAAOP,MAAMxC,SAAS,KAC7EqD,GAAY,WAEX,GAAIP,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,MAAQd,EAAEC,OAAOP,MAAMxC,SAAS,KAAM,CACvF,IAAI6D,EAAMf,EAAEC,OAAOP,MAAMsB,MAAM,KACV,GAAjBD,EAAI,GAAGjK,SACPyJ,GAAY,MAGK,GAAjBQ,EAAI,GAAGjK,SACPyJ,GAAY,KAGpB,EAAKzH,SAAS,CACV+wB,+BAAgCtpB,QAKhD,4BACI,2BAAOvE,KAAK,OACR+H,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAEw0B,+BAAgCttB,EAAEC,OAAOP,SAE7DA,MAAOtL,KAAKogB,eAAepgB,KAAKQ,MAAM04B,gCACtCnxB,MAAO,CAAEsD,MAAO,QAChBoB,OAAQ,SAACb,GACL,IAAIO,EAAM,EAAK3L,MAAM04B,+BACrB,GAAIttB,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,OAASd,EAAEC,OAAOP,MAAMxC,SAAS,KAC7EqD,GAAY,WAEX,GAAIP,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,MAAQd,EAAEC,OAAOP,MAAMxC,SAAS,KAAM,CACvF,IAAI6D,EAAMf,EAAEC,OAAOP,MAAMsB,MAAM,KACV,GAAjBD,EAAI,GAAGjK,SACPyJ,GAAY,MAGK,GAAjBQ,EAAI,GAAGjK,SACPyJ,GAAY,KAGpB,EAAKzH,SAAS,CACVw0B,+BAAgC/sB,SAMpD,4BACI,wDAGA,4BACI,2BAAOvE,KAAK,OACR+H,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAEy0B,uBAAwBvtB,EAAEC,OAAOP,SAErDA,MAAOtL,KAAKQ,MAAM24B,uBAClBpxB,MAAO,CAAEsD,MAAO,WAGxB,4BACI,2BAAOzD,KAAK,OACR+H,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAE00B,2BAA4BxtB,EAAEC,OAAOP,SAEzDA,MAAOtL,KAAKQ,MAAM44B,2BAClBrxB,MAAO,CAAEsD,MAAO,WAGxB,4BACI,2BAAOzD,KAAK,OACR+H,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAEovB,oBAAqBloB,EAAEC,OAAOP,QAAS,WACnDtL,KAAKo3B,wBAGb9rB,MAAOtL,KAAKogB,eAAepgB,KAAKQ,MAAMszB,qBACtC/rB,MAAO,CAAEsD,MAAO,QAChBoB,OAAQ,SAACb,GACL,IAAIO,EAAM,EAAK3L,MAAMszB,oBACrB,GAAIloB,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,OAASd,EAAEC,OAAOP,MAAMxC,SAAS,KAC7EqD,GAAY,WAEX,GAAIP,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,MAAQd,EAAEC,OAAOP,MAAMxC,SAAS,KAAM,CACvF,IAAI6D,EAAMf,EAAEC,OAAOP,MAAMsB,MAAM,KACV,GAAjBD,EAAI,GAAGjK,SACPyJ,GAAY,MAGK,GAAjBQ,EAAI,GAAGjK,SACPyJ,GAAY,KAGpB,EAAKzH,SAAS,CACVovB,oBAAqB3nB,QAKrC,4BACI,2BAAOvE,KAAK,OACR+H,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAE20B,6BAA8BztB,EAAEC,OAAOP,SAE3DA,MAAOtL,KAAKQ,MAAM64B,6BAClBtxB,MAAO,CAAEsD,MAAO,WAGxB,4BACI,2BAAOzD,KAAK,OACR+H,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAE40B,kCAAmC1tB,EAAEC,OAAOP,QAAS,WACjEtL,KAAKo3B,wBAGb9rB,MAAOtL,KAAKogB,eAAepgB,KAAKQ,MAAM84B,mCACtCvxB,MAAO,CAAEsD,MAAO,QAChBoB,OAAQ,SAACb,GACL,IAAIO,EAAM,EAAK3L,MAAM84B,kCACrB,GAAI1tB,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,OAASd,EAAEC,OAAOP,MAAMxC,SAAS,KAC7EqD,GAAY,WAEX,GAAIP,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,MAAQd,EAAEC,OAAOP,MAAMxC,SAAS,KAAM,CACvF,IAAI6D,EAAMf,EAAEC,OAAOP,MAAMsB,MAAM,KACV,GAAjBD,EAAI,GAAGjK,SACPyJ,GAAY,MAGK,GAAjBQ,EAAI,GAAGjK,SACPyJ,GAAY,KAGpB,EAAKzH,SAAS,CACV40B,kCAAmCntB,QAKnD,4BACI,2BAAOvE,KAAK,OACR+H,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAEixB,6BAA8B/pB,EAAEC,OAAOP,QAAS,WAC5DtL,KAAKo3B,wBAGb9rB,MAAOtL,KAAKogB,eAAepgB,KAAKQ,MAAMm1B,8BACtC5tB,MAAO,CAAEsD,MAAO,QAChBoB,OAAQ,SAACb,GACL,IAAIO,EAAM,EAAK3L,MAAMm1B,6BACrB,GAAI/pB,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,OAASd,EAAEC,OAAOP,MAAMxC,SAAS,KAC7EqD,GAAY,WAEX,GAAIP,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,MAAQd,EAAEC,OAAOP,MAAMxC,SAAS,KAAM,CACvF,IAAI6D,EAAMf,EAAEC,OAAOP,MAAMsB,MAAM,KACV,GAAjBD,EAAI,GAAGjK,SACPyJ,GAAY,MAGK,GAAjBQ,EAAI,GAAGjK,SACPyJ,GAAY,KAGpB,EAAKzH,SAAS,CACVixB,6BAA8BxpB,QAK9C,4BACI,2BAAOvE,KAAK,OACR+H,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAE60B,6BAA8B3tB,EAAEC,OAAOP,SAE3DA,MAAOtL,KAAKogB,eAAepgB,KAAKQ,MAAM+4B,8BACtCxxB,MAAO,CAAEsD,MAAO,QAChBoB,OAAQ,SAACb,GACL,IAAIO,EAAM,EAAK3L,MAAM+4B,6BACrB,GAAI3tB,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,OAASd,EAAEC,OAAOP,MAAMxC,SAAS,KAC7EqD,GAAY,WAEX,GAAIP,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,MAAQd,EAAEC,OAAOP,MAAMxC,SAAS,KAAM,CACvF,IAAI6D,EAAMf,EAAEC,OAAOP,MAAMsB,MAAM,KACV,GAAjBD,EAAI,GAAGjK,SACPyJ,GAAY,MAGK,GAAjBQ,EAAI,GAAGjK,SACPyJ,GAAY,KAGpB,EAAKzH,SAAS,CACV60B,6BAA8BptB,SAMlD,4BACI,kDAGA,4BACI,2BAAOvE,KAAK,OACR+H,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAE80B,gBAAiB5tB,EAAEC,OAAOP,SAE9CA,MAAOtL,KAAKQ,MAAMg5B,gBAClBzxB,MAAO,CAAEsD,MAAO,WAGxB,4BACI,2BAAOzD,KAAK,OACR+H,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAE+0B,oBAAqB7tB,EAAEC,OAAOP,SAElDA,MAAOtL,KAAKQ,MAAMi5B,oBAClB1xB,MAAO,CAAEsD,MAAO,WAGxB,4BACI,2BAAOzD,KAAK,OACR+H,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAEqvB,aAAcnoB,EAAEC,OAAOP,QAAS,WAC5CtL,KAAKo3B,wBAGb9rB,MAAOtL,KAAKogB,eAAepgB,KAAKQ,MAAMuzB,cACtChsB,MAAO,CAAEsD,MAAO,QAChBoB,OAAQ,SAACb,GACL,IAAIO,EAAM,EAAK3L,MAAMuzB,aACrB,GAAInoB,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,OAASd,EAAEC,OAAOP,MAAMxC,SAAS,KAC7EqD,GAAY,WAEX,GAAIP,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,MAAQd,EAAEC,OAAOP,MAAMxC,SAAS,KAAM,CACvF,IAAI6D,EAAMf,EAAEC,OAAOP,MAAMsB,MAAM,KACV,GAAjBD,EAAI,GAAGjK,SACPyJ,GAAY,MAGK,GAAjBQ,EAAI,GAAGjK,SACPyJ,GAAY,KAGpB,EAAKzH,SAAS,CACVqvB,aAAc5nB,QAK9B,4BACI,2BAAOvE,KAAK,OACR+H,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAEg1B,sBAAuB9tB,EAAEC,OAAOP,SAEpDA,MAAOtL,KAAKQ,MAAMk5B,sBAClB3xB,MAAO,CAAEsD,MAAO,WAGxB,4BACI,2BAAOzD,KAAK,OACR+H,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAEi1B,2BAA4B/tB,EAAEC,OAAOP,QAAS,WAC1DtL,KAAKo3B,wBAGb9rB,MAAOtL,KAAKogB,eAAepgB,KAAKQ,MAAMm5B,4BACtC5xB,MAAO,CAAEsD,MAAO,QAChBoB,OAAQ,SAACb,GACL,IAAIO,EAAM,EAAK3L,MAAMm5B,2BACrB,GAAI/tB,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,OAASd,EAAEC,OAAOP,MAAMxC,SAAS,KAC7EqD,GAAY,WAEX,GAAIP,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,MAAQd,EAAEC,OAAOP,MAAMxC,SAAS,KAAM,CACvF,IAAI6D,EAAMf,EAAEC,OAAOP,MAAMsB,MAAM,KACV,GAAjBD,EAAI,GAAGjK,SACPyJ,GAAY,MAGK,GAAjBQ,EAAI,GAAGjK,SACPyJ,GAAY,KAGpB,EAAKzH,SAAS,CACVi1B,2BAA4BxtB,QAK5C,4BACI,2BAAOvE,KAAK,OACR+H,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAEkxB,eAAgBhqB,EAAEC,OAAOP,QAAS,WAC9CtL,KAAKo3B,wBAGb9rB,MAAOtL,KAAKogB,eAAepgB,KAAKQ,MAAMo1B,gBACtC7tB,MAAO,CAAEsD,MAAO,QAChBoB,OAAQ,SAACb,GACL,IAAIO,EAAM,EAAK3L,MAAMo1B,eACrB,GAAIhqB,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,OAASd,EAAEC,OAAOP,MAAMxC,SAAS,KAC7EqD,GAAY,WAEX,GAAIP,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,MAAQd,EAAEC,OAAOP,MAAMxC,SAAS,KAAM,CACvF,IAAI6D,EAAMf,EAAEC,OAAOP,MAAMsB,MAAM,KACV,GAAjBD,EAAI,GAAGjK,SACPyJ,GAAY,MAGK,GAAjBQ,EAAI,GAAGjK,SACPyJ,GAAY,KAGpB,EAAKzH,SAAS,CACVkxB,eAAgBzpB,QAKhC,4BACI,2BAAOvE,KAAK,OACR+H,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAEk1B,sBAAuBhuB,EAAEC,OAAOP,SAEpDA,MAAOtL,KAAKogB,eAAepgB,KAAKQ,MAAMo5B,uBACtC7xB,MAAO,CAAEsD,MAAO,QAChBoB,OAAQ,SAACb,GACL,IAAIO,EAAM,EAAK3L,MAAMo5B,sBACrB,GAAIhuB,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,OAASd,EAAEC,OAAOP,MAAMxC,SAAS,KAC7EqD,GAAY,WAEX,GAAIP,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,MAAQd,EAAEC,OAAOP,MAAMxC,SAAS,KAAM,CACvF,IAAI6D,EAAMf,EAAEC,OAAOP,MAAMsB,MAAM,KACV,GAAjBD,EAAI,GAAGjK,SACPyJ,GAAY,MAGK,GAAjBQ,EAAI,GAAGjK,SACPyJ,GAAY,KAGpB,EAAKzH,SAAS,CACVk1B,sBAAuBztB,SAM3C,4BACI,kDAGA,4BACI,2BAAOvE,KAAK,OACR+H,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAEm1B,gBAAiBjuB,EAAEC,OAAOP,SAE9CA,MAAOtL,KAAKQ,MAAMq5B,gBAClB9xB,MAAO,CAAEsD,MAAO,WAGxB,4BACI,2BAAOzD,KAAK,OACR+H,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAEo1B,oBAAqBluB,EAAEC,OAAOP,SAElDA,MAAOtL,KAAKQ,MAAMs5B,oBAClB/xB,MAAO,CAAEsD,MAAO,WAGxB,4BACI,2BAAOzD,KAAK,OACR+H,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAEsvB,aAAcpoB,EAAEC,OAAOP,QAAS,WAC5CtL,KAAKo3B,wBAGb9rB,MAAOtL,KAAKogB,eAAepgB,KAAKQ,MAAMwzB,cACtCjsB,MAAO,CAAEsD,MAAO,QAChBoB,OAAQ,SAACb,GACL,IAAIO,EAAM,EAAK3L,MAAMwzB,aACrB,GAAIpoB,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,OAASd,EAAEC,OAAOP,MAAMxC,SAAS,KAC7EqD,GAAY,WAEX,GAAIP,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,MAAQd,EAAEC,OAAOP,MAAMxC,SAAS,KAAM,CACvF,IAAI6D,EAAMf,EAAEC,OAAOP,MAAMsB,MAAM,KACV,GAAjBD,EAAI,GAAGjK,SACPyJ,GAAY,MAGK,GAAjBQ,EAAI,GAAGjK,SACPyJ,GAAY,KAGpB,EAAKzH,SAAS,CACVsvB,aAAc7nB,QAK9B,4BACI,2BAAOvE,KAAK,OACR+H,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAEq1B,sBAAuBnuB,EAAEC,OAAOP,SAEpDA,MAAOtL,KAAKQ,MAAMu5B,sBAClBhyB,MAAO,CAAEsD,MAAO,WAGxB,4BACI,2BAAOzD,KAAK,OACR+H,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAEs1B,2BAA4BpuB,EAAEC,OAAOP,QAAS,WAC1DtL,KAAKo3B,wBAGb9rB,MAAOtL,KAAKogB,eAAepgB,KAAKQ,MAAMw5B,4BACtCjyB,MAAO,CAAEsD,MAAO,QAChBoB,OAAQ,SAACb,GACL,IAAIO,EAAM,EAAK3L,MAAMw5B,2BACrB,GAAIpuB,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,OAASd,EAAEC,OAAOP,MAAMxC,SAAS,KAC7EqD,GAAY,WAEX,GAAIP,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,MAAQd,EAAEC,OAAOP,MAAMxC,SAAS,KAAM,CACvF,IAAI6D,EAAMf,EAAEC,OAAOP,MAAMsB,MAAM,KACV,GAAjBD,EAAI,GAAGjK,SACPyJ,GAAY,MAGK,GAAjBQ,EAAI,GAAGjK,SACPyJ,GAAY,KAGpB,EAAKzH,SAAS,CACVs1B,2BAA4B7tB,QAK5C,4BACI,2BAAOvE,KAAK,OACR+H,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAEmxB,eAAgBjqB,EAAEC,OAAOP,QAAS,WAC9CtL,KAAKo3B,wBAGb9rB,MAAOtL,KAAKogB,eAAepgB,KAAKQ,MAAMq1B,gBACtC9tB,MAAO,CAAEsD,MAAO,QAChBoB,OAAQ,SAACb,GACL,IAAIO,EAAM,EAAK3L,MAAMq1B,eACrB,GAAIjqB,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,OAASd,EAAEC,OAAOP,MAAMxC,SAAS,KAC7EqD,GAAY,WAEX,GAAIP,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,MAAQd,EAAEC,OAAOP,MAAMxC,SAAS,KAAM,CACvF,IAAI6D,EAAMf,EAAEC,OAAOP,MAAMsB,MAAM,KACV,GAAjBD,EAAI,GAAGjK,SACPyJ,GAAY,MAGK,GAAjBQ,EAAI,GAAGjK,SACPyJ,GAAY,KAGpB,EAAKzH,SAAS,CACVmxB,eAAgB1pB,QAKhC,4BACI,2BAAOvE,KAAK,OACR+H,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAEu1B,sBAAuBruB,EAAEC,OAAOP,SAEpDA,MAAOtL,KAAKogB,eAAepgB,KAAKQ,MAAMy5B,uBACtClyB,MAAO,CAAEsD,MAAO,QAChBoB,OAAQ,SAACb,GACL,IAAIO,EAAM,EAAK3L,MAAMy5B,sBACrB,GAAIruB,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,OAASd,EAAEC,OAAOP,MAAMxC,SAAS,KAC7EqD,GAAY,WAEX,GAAIP,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,MAAQd,EAAEC,OAAOP,MAAMxC,SAAS,KAAM,CACvF,IAAI6D,EAAMf,EAAEC,OAAOP,MAAMsB,MAAM,KACV,GAAjBD,EAAI,GAAGjK,SACPyJ,GAAY,MAGK,GAAjBQ,EAAI,GAAGjK,SACPyJ,GAAY,KAGpB,EAAKzH,SAAS,CACVu1B,sBAAuB9tB,SAM3C,4BACI,kDAGA,4BACI,2BAAOvE,KAAK,OACR+H,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAEw1B,gBAAiBtuB,EAAEC,OAAOP,SAE9CA,MAAOtL,KAAKQ,MAAM05B,gBAClBnyB,MAAO,CAAEsD,MAAO,WAGxB,4BACI,2BAAOzD,KAAK,OACR+H,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAEy1B,oBAAqBvuB,EAAEC,OAAOP,SAElDA,MAAOtL,KAAKQ,MAAM25B,oBAClBpyB,MAAO,CAAEsD,MAAO,WAGxB,4BACI,2BAAOzD,KAAK,OACR+H,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAEuvB,aAAcroB,EAAEC,OAAOP,QAAS,WAC5CtL,KAAKo3B,wBAGb9rB,MAAOtL,KAAKogB,eAAepgB,KAAKQ,MAAMyzB,cACtClsB,MAAO,CAAEsD,MAAO,QAChBoB,OAAQ,SAACb,GACL,IAAIO,EAAM,EAAK3L,MAAMyzB,aACrB,GAAIroB,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,OAASd,EAAEC,OAAOP,MAAMxC,SAAS,KAC7EqD,GAAY,WAEX,GAAIP,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,MAAQd,EAAEC,OAAOP,MAAMxC,SAAS,KAAM,CACvF,IAAI6D,EAAMf,EAAEC,OAAOP,MAAMsB,MAAM,KACV,GAAjBD,EAAI,GAAGjK,SACPyJ,GAAY,MAGK,GAAjBQ,EAAI,GAAGjK,SACPyJ,GAAY,KAGpB,EAAKzH,SAAS,CACVuvB,aAAc9nB,QAK9B,4BACI,2BAAOvE,KAAK,OACR+H,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAE01B,sBAAuBxuB,EAAEC,OAAOP,SAEpDA,MAAOtL,KAAKQ,MAAM45B,sBAClBryB,MAAO,CAAEsD,MAAO,WAGxB,4BACI,2BAAOzD,KAAK,OACR+H,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAE21B,2BAA4BzuB,EAAEC,OAAOP,QAAS,WAC1DtL,KAAKo3B,wBAGb9rB,MAAOtL,KAAKogB,eAAepgB,KAAKQ,MAAM65B,4BACtCtyB,MAAO,CAAEsD,MAAO,QAChBoB,OAAQ,SAACb,GACL,IAAIO,EAAM,EAAK3L,MAAM65B,2BACrB,GAAIzuB,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,OAASd,EAAEC,OAAOP,MAAMxC,SAAS,KAC7EqD,GAAY,WAEX,GAAIP,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,MAAQd,EAAEC,OAAOP,MAAMxC,SAAS,KAAM,CACvF,IAAI6D,EAAMf,EAAEC,OAAOP,MAAMsB,MAAM,KACV,GAAjBD,EAAI,GAAGjK,SACPyJ,GAAY,MAGK,GAAjBQ,EAAI,GAAGjK,SACPyJ,GAAY,KAGpB,EAAKzH,SAAS,CACV21B,2BAA4BluB,QAK5C,4BACI,2BAAOvE,KAAK,OACR+H,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAEoxB,eAAgBlqB,EAAEC,OAAOP,QAAS,WAC9CtL,KAAKo3B,wBAGb9rB,MAAOtL,KAAKogB,eAAepgB,KAAKQ,MAAMs1B,gBACtC/tB,MAAO,CAAEsD,MAAO,QAChBoB,OAAQ,SAACb,GACL,IAAIO,EAAM,EAAK3L,MAAMs1B,eACrB,GAAIlqB,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,OAASd,EAAEC,OAAOP,MAAMxC,SAAS,KAC7EqD,GAAY,WAEX,GAAIP,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,MAAQd,EAAEC,OAAOP,MAAMxC,SAAS,KAAM,CACvF,IAAI6D,EAAMf,EAAEC,OAAOP,MAAMsB,MAAM,KACV,GAAjBD,EAAI,GAAGjK,SACPyJ,GAAY,MAGK,GAAjBQ,EAAI,GAAGjK,SACPyJ,GAAY,KAGpB,EAAKzH,SAAS,CACVoxB,eAAgB3pB,QAKhC,4BACI,2BAAOvE,KAAK,OACR+H,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAE41B,sBAAuB1uB,EAAEC,OAAOP,SAEpDA,MAAOtL,KAAKogB,eAAepgB,KAAKQ,MAAM85B,uBACtCvyB,MAAO,CAAEsD,MAAO,QAChBoB,OAAQ,SAACb,GACL,IAAIO,EAAM,EAAK3L,MAAM85B,sBACrB,GAAI1uB,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,OAASd,EAAEC,OAAOP,MAAMxC,SAAS,KAC7EqD,GAAY,WAEX,GAAIP,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,MAAQd,EAAEC,OAAOP,MAAMxC,SAAS,KAAM,CACvF,IAAI6D,EAAMf,EAAEC,OAAOP,MAAMsB,MAAM,KACV,GAAjBD,EAAI,GAAGjK,SACPyJ,GAAY,MAGK,GAAjBQ,EAAI,GAAGjK,SACPyJ,GAAY,KAGpB,EAAKzH,SAAS,CACV41B,sBAAuBnuB,SAM3C,4BACI,qCAGA,4BACI,2BAAOvE,KAAK,OACR+H,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAE61B,yBAA0B3uB,EAAEC,OAAOP,SAEvDA,MAAOtL,KAAKQ,MAAM+5B,yBAClBxyB,MAAO,CAAEsD,MAAO,WAGxB,4BACI,2BAAOzD,KAAK,OACR+H,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAE81B,6BAA8B5uB,EAAEC,OAAOP,SAE3DA,MAAOtL,KAAKQ,MAAMg6B,6BAClBzyB,MAAO,CAAEsD,MAAO,WAGxB,4BACI,2BAAOzD,KAAK,OACR+H,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAEwvB,sBAAuBtoB,EAAEC,OAAOP,QAAS,WACrDtL,KAAKo3B,wBAGb9rB,MAAOtL,KAAKogB,eAAepgB,KAAKQ,MAAM0zB,uBACtCnsB,MAAO,CAAEsD,MAAO,QAChBoB,OAAQ,SAACb,GACL,IAAIO,EAAM,EAAK3L,MAAM0zB,sBACrB,GAAItoB,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,OAASd,EAAEC,OAAOP,MAAMxC,SAAS,KAC7EqD,GAAY,WAEX,GAAIP,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,MAAQd,EAAEC,OAAOP,MAAMxC,SAAS,KAAM,CACvF,IAAI6D,EAAMf,EAAEC,OAAOP,MAAMsB,MAAM,KACV,GAAjBD,EAAI,GAAGjK,SACPyJ,GAAY,MAGK,GAAjBQ,EAAI,GAAGjK,SACPyJ,GAAY,KAGpB,EAAKzH,SAAS,CACVwvB,sBAAuB/nB,QAKvC,4BACI,2BAAOvE,KAAK,OACR+H,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAE+1B,+BAAgC7uB,EAAEC,OAAOP,SAE7DA,MAAOtL,KAAKQ,MAAMi6B,+BAClB1yB,MAAO,CAAEsD,MAAO,WAGxB,4BACI,2BAAOzD,KAAK,OACR+H,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAEg2B,oCAAqC9uB,EAAEC,OAAOP,QAAS,WACnEtL,KAAKo3B,wBAGb9rB,MAAOtL,KAAKogB,eAAepgB,KAAKQ,MAAMk6B,qCACtC3yB,MAAO,CAAEsD,MAAO,QAChBoB,OAAQ,SAACb,GACL,IAAIO,EAAM,EAAK3L,MAAMk6B,oCACrB,GAAI9uB,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,OAASd,EAAEC,OAAOP,MAAMxC,SAAS,KAC7EqD,GAAY,WAEX,GAAIP,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,MAAQd,EAAEC,OAAOP,MAAMxC,SAAS,KAAM,CACvF,IAAI6D,EAAMf,EAAEC,OAAOP,MAAMsB,MAAM,KACV,GAAjBD,EAAI,GAAGjK,SACPyJ,GAAY,MAGK,GAAjBQ,EAAI,GAAGjK,SACPyJ,GAAY,KAGpB,EAAKzH,SAAS,CACVg2B,oCAAqCvuB,QAKrD,4BACI,2BAAOvE,KAAK,OACR+H,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAEqxB,wBAAyBnqB,EAAEC,OAAOP,QAAS,WACvDtL,KAAKo3B,wBAGb9rB,MAAOtL,KAAKogB,eAAepgB,KAAKQ,MAAMu1B,yBACtChuB,MAAO,CAAEsD,MAAO,QAChBoB,OAAQ,SAACb,GACL,IAAIO,EAAM,EAAK3L,MAAMu1B,wBACrB,GAAInqB,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,OAASd,EAAEC,OAAOP,MAAMxC,SAAS,KAC7EqD,GAAY,WAEX,GAAIP,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,MAAQd,EAAEC,OAAOP,MAAMxC,SAAS,KAAM,CACvF,IAAI6D,EAAMf,EAAEC,OAAOP,MAAMsB,MAAM,KACV,GAAjBD,EAAI,GAAGjK,SACPyJ,GAAY,MAGK,GAAjBQ,EAAI,GAAGjK,SACPyJ,GAAY,KAGpB,EAAKzH,SAAS,CACVqxB,wBAAyB5pB,QAKzC,4BACI,2BAAOvE,KAAK,OACR+H,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAEi2B,+BAAgC/uB,EAAEC,OAAOP,SAE7DA,MAAOtL,KAAKogB,eAAepgB,KAAKQ,MAAMm6B,gCACtC5yB,MAAO,CAAEsD,MAAO,QAChBoB,OAAQ,SAACb,GACL,IAAIO,EAAM,EAAK3L,MAAMm6B,+BACrB,GAAI/uB,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,OAASd,EAAEC,OAAOP,MAAMxC,SAAS,KAC7EqD,GAAY,WAEX,GAAIP,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,MAAQd,EAAEC,OAAOP,MAAMxC,SAAS,KAAM,CACvF,IAAI6D,EAAMf,EAAEC,OAAOP,MAAMsB,MAAM,KACV,GAAjBD,EAAI,GAAGjK,SACPyJ,GAAY,MAGK,GAAjBQ,EAAI,GAAGjK,SACPyJ,GAAY,KAGpB,EAAKzH,SAAS,CACVi2B,+BAAgCxuB,SAMpD,4BACI,+CACA,6CACA,uCACA,yCACA,8CACA,2CACA,+CACA,6CAEJ,4BACI,2CAGA,4BACI,2BAAOvE,KAAK,OACR+H,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAEk2B,2BAA4BhvB,EAAEC,OAAOP,SAEzDA,MAAOtL,KAAKQ,MAAMo6B,2BAClB7yB,MAAO,CAAEsD,MAAO,WAGxB,4BACI,2BAAOzD,KAAK,OACR+H,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAEm2B,2BAA4BjvB,EAAEC,OAAOP,SAEzDA,MAAOtL,KAAKQ,MAAMq6B,2BAClB9yB,MAAO,CAAEsD,MAAO,WAGxB,4BACI,2BAAOzD,KAAK,OACR+H,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAE0vB,2BAA4BxoB,EAAEC,OAAOP,QAAS,WAC1DtL,KAAKo3B,wBAGb9rB,MAAOtL,KAAKogB,eAAepgB,KAAKQ,MAAM4zB,4BACtCrsB,MAAO,CAAEsD,MAAO,QAChBoB,OAAQ,SAACb,GACL,IAAIO,EAAM,EAAK3L,MAAM4zB,2BACrB,GAAIxoB,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,OAASd,EAAEC,OAAOP,MAAMxC,SAAS,KAC7EqD,GAAY,WAEX,GAAIP,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,MAAQd,EAAEC,OAAOP,MAAMxC,SAAS,KAAM,CACvF,IAAI6D,EAAMf,EAAEC,OAAOP,MAAMsB,MAAM,KACV,GAAjBD,EAAI,GAAGjK,SACPyJ,GAAY,MAGK,GAAjBQ,EAAI,GAAGjK,SACPyJ,GAAY,KAGpB,EAAKzH,SAAS,CACV0vB,2BAA4BjoB,QAK5C,4BACI,2BAAOvE,KAAK,OACR+H,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAEo2B,4BAA6BlvB,EAAEC,OAAOP,SAE1DA,MAAOtL,KAAKQ,MAAMs6B,4BAClB/yB,MAAO,CAAEsD,MAAO,WAGxB,4BACI,2BAAOzD,KAAK,OACR+H,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAEq2B,kCAAmCnvB,EAAEC,OAAOP,SAEhEA,MAAOtL,KAAKQ,MAAMu6B,kCAClBhzB,MAAO,CAAEsD,MAAO,WAGxB,4BACI,2BAAOzD,KAAK,OACR+H,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAEuxB,qCAAsCrqB,EAAEC,OAAOP,QAAS,WACpEtL,KAAKo3B,wBAGb9rB,MAAOtL,KAAKogB,eAAepgB,KAAKQ,MAAMy1B,sCACtCluB,MAAO,CAAEsD,MAAO,QAChBoB,OAAQ,SAACb,GACL,IAAIO,EAAM,EAAK3L,MAAMy1B,qCACrB,GAAIrqB,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,OAASd,EAAEC,OAAOP,MAAMxC,SAAS,KAC7EqD,GAAY,WAEX,GAAIP,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,MAAQd,EAAEC,OAAOP,MAAMxC,SAAS,KAAM,CACvF,IAAI6D,EAAMf,EAAEC,OAAOP,MAAMsB,MAAM,KACV,GAAjBD,EAAI,GAAGjK,SACPyJ,GAAY,MAGK,GAAjBQ,EAAI,GAAGjK,SACPyJ,GAAY,KAGpB,EAAKzH,SAAS,CACVuxB,qCAAsC9pB,QAKtD,4BACI,2BAAOvE,KAAK,OACR+H,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAEs2B,qCAAsCpvB,EAAEC,OAAOP,SAEnEA,MAAOtL,KAAKogB,eAAepgB,KAAKQ,MAAMw6B,sCACtCjzB,MAAO,CAAEsD,MAAO,QAChBoB,OAAQ,SAACb,GACL,IAAIO,EAAM,EAAK3L,MAAMw6B,qCACrB,GAAIpvB,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,OAASd,EAAEC,OAAOP,MAAMxC,SAAS,KAC7EqD,GAAY,WAEX,GAAIP,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,MAAQd,EAAEC,OAAOP,MAAMxC,SAAS,KAAM,CACvF,IAAI6D,EAAMf,EAAEC,OAAOP,MAAMsB,MAAM,KACV,GAAjBD,EAAI,GAAGjK,SACPyJ,GAAY,MAGK,GAAjBQ,EAAI,GAAGjK,SACPyJ,GAAY,KAGpB,EAAKzH,SAAS,CACVs2B,qCAAsC7uB,SAM1D,4BACI,2CAGA,4BACI,2BAAOvE,KAAK,OACR+H,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAEu2B,2BAA4BrvB,EAAEC,OAAOP,SAEzDA,MAAOtL,KAAKQ,MAAMy6B,2BAClBlzB,MAAO,CAAEsD,MAAO,WAGxB,4BACI,2BAAOzD,KAAK,OACR+H,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAEw2B,2BAA4BtvB,EAAEC,OAAOP,SAEzDA,MAAOtL,KAAKQ,MAAM06B,2BAClBnzB,MAAO,CAAEsD,MAAO,WAGxB,4BACI,2BAAOzD,KAAK,OACR+H,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAE2vB,2BAA4BzoB,EAAEC,OAAOP,QAAS,WAC1DtL,KAAKo3B,wBAGb9rB,MAAOtL,KAAKogB,eAAepgB,KAAKQ,MAAM6zB,4BACtCtsB,MAAO,CAAEsD,MAAO,QAChBoB,OAAQ,SAACb,GACL,IAAIO,EAAM,EAAK3L,MAAM6zB,2BACrB,GAAIzoB,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,OAASd,EAAEC,OAAOP,MAAMxC,SAAS,KAC7EqD,GAAY,WAEX,GAAIP,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,MAAQd,EAAEC,OAAOP,MAAMxC,SAAS,KAAM,CACvF,IAAI6D,EAAMf,EAAEC,OAAOP,MAAMsB,MAAM,KACV,GAAjBD,EAAI,GAAGjK,SACPyJ,GAAY,MAGK,GAAjBQ,EAAI,GAAGjK,SACPyJ,GAAY,KAGpB,EAAKzH,SAAS,CACV2vB,2BAA4BloB,QAK5C,4BACI,2BAAOvE,KAAK,OACR+H,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAEy2B,4BAA6BvvB,EAAEC,OAAOP,SAE1DA,MAAOtL,KAAKQ,MAAM26B,4BAClBpzB,MAAO,CAAEsD,MAAO,WAGxB,4BACI,2BAAOzD,KAAK,OACR+H,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAE02B,kCAAmCxvB,EAAEC,OAAOP,SAEhEA,MAAOtL,KAAKQ,MAAM46B,kCAClBrzB,MAAO,CAAEsD,MAAO,WAGxB,4BACI,2BAAOzD,KAAK,OACR+H,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAEwxB,qCAAsCtqB,EAAEC,OAAOP,QAAS,WACpEtL,KAAKo3B,wBAGb9rB,MAAOtL,KAAKogB,eAAepgB,KAAKQ,MAAM01B,sCACtCnuB,MAAO,CAAEsD,MAAO,QAChBoB,OAAQ,SAACb,GACL,IAAIO,EAAM,EAAK3L,MAAM01B,qCACrB,GAAItqB,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,OAASd,EAAEC,OAAOP,MAAMxC,SAAS,KAC7EqD,GAAY,WAEX,GAAIP,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,MAAQd,EAAEC,OAAOP,MAAMxC,SAAS,KAAM,CACvF,IAAI6D,EAAMf,EAAEC,OAAOP,MAAMsB,MAAM,KACV,GAAjBD,EAAI,GAAGjK,SACPyJ,GAAY,MAGK,GAAjBQ,EAAI,GAAGjK,SACPyJ,GAAY,KAGpB,EAAKzH,SAAS,CACVwxB,qCAAsC/pB,QAKtD,4BACI,2BAAOvE,KAAK,OACR+H,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAE22B,qCAAsCzvB,EAAEC,OAAOP,SAEnEA,MAAOtL,KAAKogB,eAAepgB,KAAKQ,MAAM66B,sCACtCtzB,MAAO,CAAEsD,MAAO,QAChBoB,OAAQ,SAACb,GACL,IAAIO,EAAM,EAAK3L,MAAM66B,qCACrB,GAAIzvB,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,OAASd,EAAEC,OAAOP,MAAMxC,SAAS,KAC7EqD,GAAY,WAEX,GAAIP,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,MAAQd,EAAEC,OAAOP,MAAMxC,SAAS,KAAM,CACvF,IAAI6D,EAAMf,EAAEC,OAAOP,MAAMsB,MAAM,KACV,GAAjBD,EAAI,GAAGjK,SACPyJ,GAAY,MAGK,GAAjBQ,EAAI,GAAGjK,SACPyJ,GAAY,KAGpB,EAAKzH,SAAS,CACV22B,qCAAsClvB,SAM1D,4BACI,2CAGA,4BACI,2BAAOvE,KAAK,OACR+H,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAE42B,2BAA4B1vB,EAAEC,OAAOP,SAEzDA,MAAOtL,KAAKQ,MAAM86B,2BAClBvzB,MAAO,CAAEsD,MAAO,WAGxB,4BACI,2BAAOzD,KAAK,OACR+H,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAE62B,2BAA4B3vB,EAAEC,OAAOP,SAEzDA,MAAOtL,KAAKQ,MAAM+6B,2BAClBxzB,MAAO,CAAEsD,MAAO,WAGxB,4BACI,2BAAOzD,KAAK,OACR+H,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAE4vB,2BAA4B1oB,EAAEC,OAAOP,QAAS,WAC1DtL,KAAKo3B,wBAGb9rB,MAAOtL,KAAKogB,eAAepgB,KAAKQ,MAAM8zB,4BACtCvsB,MAAO,CAAEsD,MAAO,QAChBoB,OAAQ,SAACb,GACL,IAAIO,EAAM,EAAK3L,MAAM8zB,2BACrB,GAAI1oB,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,OAASd,EAAEC,OAAOP,MAAMxC,SAAS,KAC7EqD,GAAY,WAEX,GAAIP,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,MAAQd,EAAEC,OAAOP,MAAMxC,SAAS,KAAM,CACvF,IAAI6D,EAAMf,EAAEC,OAAOP,MAAMsB,MAAM,KACV,GAAjBD,EAAI,GAAGjK,SACPyJ,GAAY,MAGK,GAAjBQ,EAAI,GAAGjK,SACPyJ,GAAY,KAGpB,EAAKzH,SAAS,CACV4vB,2BAA4BnoB,QAK5C,4BACI,2BAAOvE,KAAK,OACR+H,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAE82B,4BAA6B5vB,EAAEC,OAAOP,SAE1DA,MAAOtL,KAAKQ,MAAMg7B,4BAClBzzB,MAAO,CAAEsD,MAAO,WAGxB,4BACI,2BAAOzD,KAAK,OACR+H,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAE+2B,kCAAmC7vB,EAAEC,OAAOP,SAEhEA,MAAOtL,KAAKQ,MAAMi7B,kCAClB1zB,MAAO,CAAEsD,MAAO,WAGxB,4BACI,2BAAOzD,KAAK,OACR+H,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAEyxB,qCAAsCvqB,EAAEC,OAAOP,QAAS,WACpEtL,KAAKo3B,wBAGb9rB,MAAOtL,KAAKogB,eAAepgB,KAAKQ,MAAM21B,sCACtCpuB,MAAO,CAAEsD,MAAO,QAChBoB,OAAQ,SAACb,GACL,IAAIO,EAAM,EAAK3L,MAAM21B,qCACrB,GAAIvqB,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,OAASd,EAAEC,OAAOP,MAAMxC,SAAS,KAC7EqD,GAAY,WAEX,GAAIP,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,MAAQd,EAAEC,OAAOP,MAAMxC,SAAS,KAAM,CACvF,IAAI6D,EAAMf,EAAEC,OAAOP,MAAMsB,MAAM,KACV,GAAjBD,EAAI,GAAGjK,SACPyJ,GAAY,MAGK,GAAjBQ,EAAI,GAAGjK,SACPyJ,GAAY,KAGpB,EAAKzH,SAAS,CACVyxB,qCAAsChqB,QAKtD,4BACI,2BAAOvE,KAAK,OACR+H,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAEg3B,qCAAsC9vB,EAAEC,OAAOP,SAEnEA,MAAOtL,KAAKogB,eAAepgB,KAAKQ,MAAMk7B,sCACtC3zB,MAAO,CAAEsD,MAAO,QAChBoB,OAAQ,SAACb,GACL,IAAIO,EAAM,EAAK3L,MAAMk7B,qCACrB,GAAI9vB,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,OAASd,EAAEC,OAAOP,MAAMxC,SAAS,KAC7EqD,GAAY,WAEX,GAAIP,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,MAAQd,EAAEC,OAAOP,MAAMxC,SAAS,KAAM,CACvF,IAAI6D,EAAMf,EAAEC,OAAOP,MAAMsB,MAAM,KACV,GAAjBD,EAAI,GAAGjK,SACPyJ,GAAY,MAGK,GAAjBQ,EAAI,GAAGjK,SACPyJ,GAAY,KAGpB,EAAKzH,SAAS,CACVg3B,qCAAsCvvB,SAM1D,4BACI,2CAGA,4BACI,2BAAOvE,KAAK,OACR+H,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAEi3B,2BAA4B/vB,EAAEC,OAAOP,SAEzDA,MAAOtL,KAAKQ,MAAMm7B,2BAClB5zB,MAAO,CAAEsD,MAAO,WAGxB,4BACI,2BAAOzD,KAAK,OACR+H,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAEk3B,2BAA4BhwB,EAAEC,OAAOP,SAEzDA,MAAOtL,KAAKQ,MAAMo7B,2BAClB7zB,MAAO,CAAEsD,MAAO,WAGxB,4BACI,2BAAOzD,KAAK,OACR+H,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAE6vB,2BAA4B3oB,EAAEC,OAAOP,QAAS,WAC1DtL,KAAKo3B,wBAGb9rB,MAAOtL,KAAKogB,eAAepgB,KAAKQ,MAAM+zB,4BACtCxsB,MAAO,CAAEsD,MAAO,QAChBoB,OAAQ,SAACb,GACL,IAAIO,EAAM,EAAK3L,MAAM+zB,2BACrB,GAAI3oB,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,OAASd,EAAEC,OAAOP,MAAMxC,SAAS,KAC7EqD,GAAY,WAEX,GAAIP,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,MAAQd,EAAEC,OAAOP,MAAMxC,SAAS,KAAM,CACvF,IAAI6D,EAAMf,EAAEC,OAAOP,MAAMsB,MAAM,KACV,GAAjBD,EAAI,GAAGjK,SACPyJ,GAAY,MAGK,GAAjBQ,EAAI,GAAGjK,SACPyJ,GAAY,KAGpB,EAAKzH,SAAS,CACV6vB,2BAA4BpoB,QAK5C,4BACI,2BAAOvE,KAAK,OACR+H,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAEm3B,4BAA6BjwB,EAAEC,OAAOP,SAE1DA,MAAOtL,KAAKQ,MAAMq7B,4BAClB9zB,MAAO,CAAEsD,MAAO,WAGxB,4BACI,2BAAOzD,KAAK,OACR+H,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAEo3B,kCAAmClwB,EAAEC,OAAOP,SAEhEA,MAAOtL,KAAKQ,MAAMs7B,kCAClB/zB,MAAO,CAAEsD,MAAO,WAGxB,4BACI,2BAAOzD,KAAK,OACR+H,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAE0xB,qCAAsCxqB,EAAEC,OAAOP,QAAS,WACpEtL,KAAKo3B,wBAGb9rB,MAAOtL,KAAKogB,eAAepgB,KAAKQ,MAAM41B,sCACtCruB,MAAO,CAAEsD,MAAO,QAChBoB,OAAQ,SAACb,GACL,IAAIO,EAAM,EAAK3L,MAAM41B,qCACrB,GAAIxqB,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,OAASd,EAAEC,OAAOP,MAAMxC,SAAS,KAC7EqD,GAAY,WAEX,GAAIP,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,MAAQd,EAAEC,OAAOP,MAAMxC,SAAS,KAAM,CACvF,IAAI6D,EAAMf,EAAEC,OAAOP,MAAMsB,MAAM,KACV,GAAjBD,EAAI,GAAGjK,SACPyJ,GAAY,MAGK,GAAjBQ,EAAI,GAAGjK,SACPyJ,GAAY,KAGpB,EAAKzH,SAAS,CACV0xB,qCAAsCjqB,QAKtD,4BACI,2BAAOvE,KAAK,OACR+H,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAEq3B,qCAAsCnwB,EAAEC,OAAOP,SAEnEA,MAAOtL,KAAKogB,eAAepgB,KAAKQ,MAAMu7B,sCACtCh0B,MAAO,CAAEsD,MAAO,QAChBoB,OAAQ,SAACb,GACL,IAAIO,EAAM,EAAK3L,MAAMu7B,qCACrB,GAAInwB,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,OAASd,EAAEC,OAAOP,MAAMxC,SAAS,KAC7EqD,GAAY,WAEX,GAAIP,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,MAAQd,EAAEC,OAAOP,MAAMxC,SAAS,KAAM,CACvF,IAAI6D,EAAMf,EAAEC,OAAOP,MAAMsB,MAAM,KACV,GAAjBD,EAAI,GAAGjK,SACPyJ,GAAY,MAGK,GAAjBQ,EAAI,GAAGjK,SACPyJ,GAAY,KAGpB,EAAKzH,SAAS,CACVq3B,qCAAsC5vB,SAM1D,4BACI,4CACA,6BACA,6BACA,yCACA,mDACA,2CACA,+CACA,6CAEJ,4BACI,4CAGA,4BACI,2BAAOvE,KAAK,OACR+H,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAEs3B,kCAAmCpwB,EAAEC,OAAOP,SAEhEA,MAAOtL,KAAKQ,MAAMw7B,kCAClBj0B,MAAO,CAAEsD,MAAO,WAGxB,6BAEA,4BACI,2BAAOzD,KAAK,OACR+H,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAE8vB,2BAA4B5oB,EAAEC,OAAOP,QAAS,WAC1DtL,KAAKo3B,wBAGb9rB,MAAOtL,KAAKogB,eAAepgB,KAAKQ,MAAMg0B,4BACtCzsB,MAAO,CAAEsD,MAAO,QAChBoB,OAAQ,SAACb,GACL,IAAIO,EAAM,EAAK3L,MAAMg0B,2BACrB,GAAI5oB,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,OAASd,EAAEC,OAAOP,MAAMxC,SAAS,KAC7EqD,GAAY,WAEX,GAAIP,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,MAAQd,EAAEC,OAAOP,MAAMxC,SAAS,KAAM,CACvF,IAAI6D,EAAMf,EAAEC,OAAOP,MAAMsB,MAAM,KACV,GAAjBD,EAAI,GAAGjK,SACPyJ,GAAY,MAGK,GAAjBQ,EAAI,GAAGjK,SACPyJ,GAAY,KAGpB,EAAKzH,SAAS,CACV8vB,2BAA4BroB,QAK5C,yCAGA,4BACI,2BAAOvE,KAAK,OACR+H,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAEu3B,kCAAmCrwB,EAAEC,OAAOP,SAEhEA,MAAOtL,KAAKQ,MAAMy7B,kCAClBl0B,MAAO,CAAEsD,MAAO,WAGxB,4BACI,2BAAOzD,KAAK,OACR+H,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAE2xB,qCAAsCzqB,EAAEC,OAAOP,QAAS,WACpEtL,KAAKo3B,wBAGb9rB,MAAOtL,KAAKogB,eAAepgB,KAAKQ,MAAM61B,sCACtCtuB,MAAO,CAAEsD,MAAO,QAChBoB,OAAQ,SAACb,GACL,IAAIO,EAAM,EAAK3L,MAAM61B,qCACrB,GAAIzqB,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,OAASd,EAAEC,OAAOP,MAAMxC,SAAS,KAC7EqD,GAAY,WAEX,GAAIP,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,MAAQd,EAAEC,OAAOP,MAAMxC,SAAS,KAAM,CACvF,IAAI6D,EAAMf,EAAEC,OAAOP,MAAMsB,MAAM,KACV,GAAjBD,EAAI,GAAGjK,SACPyJ,GAAY,MAGK,GAAjBQ,EAAI,GAAGjK,SACPyJ,GAAY,KAGpB,EAAKzH,SAAS,CACV2xB,qCAAsClqB,QAKtD,4BACI,2BAAOvE,KAAK,OACR+H,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAEw3B,qCAAsCtwB,EAAEC,OAAOP,SAEnEA,MAAOtL,KAAKogB,eAAepgB,KAAKQ,MAAM07B,sCACtCn0B,MAAO,CAAEsD,MAAO,QAChBoB,OAAQ,SAACb,GACL,IAAIO,EAAM,EAAK3L,MAAM07B,qCACrB,GAAItwB,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,OAASd,EAAEC,OAAOP,MAAMxC,SAAS,KAC7EqD,GAAY,WAEX,GAAIP,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,MAAQd,EAAEC,OAAOP,MAAMxC,SAAS,KAAM,CACvF,IAAI6D,EAAMf,EAAEC,OAAOP,MAAMsB,MAAM,KACV,GAAjBD,EAAI,GAAGjK,SACPyJ,GAAY,MAGK,GAAjBQ,EAAI,GAAGjK,SACPyJ,GAAY,KAGpB,EAAKzH,SAAS,CACVw3B,qCAAsC/vB,SAM1D,4BACI,wDAGA,4BACI,2BAAOvE,KAAK,OACR+H,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAEy3B,8BAA+BvwB,EAAEC,OAAOP,SAE5DA,MAAOtL,KAAKQ,MAAM27B,8BAClBp0B,MAAO,CAAEsD,MAAO,WAGxB,6BAEA,4BACI,2BAAOzD,KAAK,OACR+H,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAE+vB,uBAAwB7oB,EAAEC,OAAOP,QAAS,WACtDtL,KAAKo3B,wBAGb9rB,MAAOtL,KAAKogB,eAAepgB,KAAKQ,MAAMi0B,wBACtC1sB,MAAO,CAAEsD,MAAO,QAChBoB,OAAQ,SAACb,GACL,IAAIO,EAAM,EAAK3L,MAAMi0B,uBACrB,GAAI7oB,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,OAASd,EAAEC,OAAOP,MAAMxC,SAAS,KAC7EqD,GAAY,WAEX,GAAIP,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,MAAQd,EAAEC,OAAOP,MAAMxC,SAAS,KAAM,CACvF,IAAI6D,EAAMf,EAAEC,OAAOP,MAAMsB,MAAM,KACV,GAAjBD,EAAI,GAAGjK,SACPyJ,GAAY,MAGK,GAAjBQ,EAAI,GAAGjK,SACPyJ,GAAY,KAGpB,EAAKzH,SAAS,CACV+vB,uBAAwBtoB,QAKxC,wDAGA,4BACI,2BAAOvE,KAAK,OACR+H,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAE03B,uCAAwCxwB,EAAEC,OAAOP,SAErEA,MAAOtL,KAAKQ,MAAM47B,uCAClBr0B,MAAO,CAAEsD,MAAO,WAIxB,4BACI,2BAAOzD,KAAK,OACR+H,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAE6xB,0CAA2C3qB,EAAEC,OAAOP,QAAS,WACzEtL,KAAKo3B,wBAGb9rB,MAAOtL,KAAKogB,eAAepgB,KAAKQ,MAAM+1B,2CACtCxuB,MAAO,CAAEsD,MAAO,QAChBoB,OAAQ,SAACb,GACL,IAAIO,EAAM,EAAK3L,MAAM+1B,0CACrB,GAAI3qB,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,OAASd,EAAEC,OAAOP,MAAMxC,SAAS,KAC7EqD,GAAY,WAEX,GAAIP,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,MAAQd,EAAEC,OAAOP,MAAMxC,SAAS,KAAM,CACvF,IAAI6D,EAAMf,EAAEC,OAAOP,MAAMsB,MAAM,KACV,GAAjBD,EAAI,GAAGjK,SACPyJ,GAAY,MAGK,GAAjBQ,EAAI,GAAGjK,SACPyJ,GAAY,KAGpB,EAAKzH,SAAS,CACV6xB,0CAA2CpqB,QAK3D,4BACI,2BAAOvE,KAAK,OACR+H,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAE23B,0CAA2CzwB,EAAEC,OAAOP,SAExEA,MAAOtL,KAAKogB,eAAepgB,KAAKQ,MAAM67B,2CACtCt0B,MAAO,CAAEsD,MAAO,QAChBoB,OAAQ,SAACb,GACL,IAAIO,EAAM,EAAK3L,MAAM67B,0CACrB,GAAIzwB,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,OAASd,EAAEC,OAAOP,MAAMxC,SAAS,KAC7EqD,GAAY,WAEX,GAAIP,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,MAAQd,EAAEC,OAAOP,MAAMxC,SAAS,KAAM,CACvF,IAAI6D,EAAMf,EAAEC,OAAOP,MAAMsB,MAAM,KACV,GAAjBD,EAAI,GAAGjK,SACPyJ,GAAY,MAGK,GAAjBQ,EAAI,GAAGjK,SACPyJ,GAAY,KAGpB,EAAKzH,SAAS,CACV23B,0CAA2ClwB,SAM/D,4BACI,2CAGA,6BAEA,6BAEA,4BACI,2BAAOvE,KAAK,OACR+H,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAEiwB,2BAA4B/oB,EAAEC,OAAOP,QAAS,WAC1DtL,KAAKo3B,wBAGb9rB,MAAOtL,KAAKogB,eAAepgB,KAAKQ,MAAMm0B,4BACtC5sB,MAAO,CAAEsD,MAAO,QAChBoB,OAAQ,SAACb,GACL,IAAIO,EAAM,EAAK3L,MAAMm0B,2BACrB,GAAI/oB,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,OAASd,EAAEC,OAAOP,MAAMxC,SAAS,KAC7EqD,GAAY,WAEX,GAAIP,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,MAAQd,EAAEC,OAAOP,MAAMxC,SAAS,KAAM,CACvF,IAAI6D,EAAMf,EAAEC,OAAOP,MAAMsB,MAAM,KACV,GAAjBD,EAAI,GAAGjK,SACPyJ,GAAY,MAGK,GAAjBQ,EAAI,GAAGjK,SACPyJ,GAAY,KAGpB,EAAKzH,SAAS,CACViwB,2BAA4BxoB,QAK5C,qCAGA,4BACI,2BAAOvE,KAAK,OACR+H,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAE43B,mCAAoC1wB,EAAEC,OAAOP,SAEjEA,MAAOtL,KAAKQ,MAAM87B,mCAClBv0B,MAAO,CAAEsD,MAAO,WAIxB,4BACI,2BAAOzD,KAAK,OACR+H,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAE8xB,sCAAuC5qB,EAAEC,OAAOP,QAAS,WACrEtL,KAAKo3B,wBAGb9rB,MAAOtL,KAAKogB,eAAepgB,KAAKQ,MAAMg2B,uCACtCzuB,MAAO,CAAEsD,MAAO,QAChBoB,OAAQ,SAACb,GACL,IAAIO,EAAM,EAAK3L,MAAMg2B,sCACrB,GAAI5qB,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,OAASd,EAAEC,OAAOP,MAAMxC,SAAS,KAC7EqD,GAAY,WAEX,GAAIP,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,MAAQd,EAAEC,OAAOP,MAAMxC,SAAS,KAAM,CACvF,IAAI6D,EAAMf,EAAEC,OAAOP,MAAMsB,MAAM,KACV,GAAjBD,EAAI,GAAGjK,SACPyJ,GAAY,MAGK,GAAjBQ,EAAI,GAAGjK,SACPyJ,GAAY,KAGpB,EAAKzH,SAAS,CACV8xB,sCAAuCrqB,QAKvD,4BACI,2BAAOvE,KAAK,OACR+H,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAE63B,sCAAuC3wB,EAAEC,OAAOP,SAEpEA,MAAOtL,KAAKogB,eAAepgB,KAAKQ,MAAM+7B,uCACtCx0B,MAAO,CAAEsD,MAAO,QAChBoB,OAAQ,SAACb,GACL,IAAIO,EAAM,EAAK3L,MAAM+7B,sCACrB,GAAI3wB,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,OAASd,EAAEC,OAAOP,MAAMxC,SAAS,KAC7EqD,GAAY,WAEX,GAAIP,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,MAAQd,EAAEC,OAAOP,MAAMxC,SAAS,KAAM,CACvF,IAAI6D,EAAMf,EAAEC,OAAOP,MAAMsB,MAAM,KACV,GAAjBD,EAAI,GAAGjK,SACPyJ,GAAY,MAGK,GAAjBQ,EAAI,GAAGjK,SACPyJ,GAAY,KAGpB,EAAKzH,SAAS,CACV63B,sCAAuCpwB,SAM3D,4BACI,6CAGA,6BAEA,6BAEA,4BACI,2BAAOvE,KAAK,OACR+H,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAEkwB,2BAA4BhpB,EAAEC,OAAOP,QAAS,WAC1DtL,KAAKo3B,wBAGb9rB,MAAOtL,KAAKogB,eAAepgB,KAAKQ,MAAMo0B,4BACtC7sB,MAAO,CAAEsD,MAAO,QAChBoB,OAAQ,SAACb,GACL,IAAIO,EAAM,EAAK3L,MAAMo0B,2BACrB,GAAIhpB,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,OAASd,EAAEC,OAAOP,MAAMxC,SAAS,KAC7EqD,GAAY,WAEX,GAAIP,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,MAAQd,EAAEC,OAAOP,MAAMxC,SAAS,KAAM,CACvF,IAAI6D,EAAMf,EAAEC,OAAOP,MAAMsB,MAAM,KACV,GAAjBD,EAAI,GAAGjK,SACPyJ,GAAY,MAGK,GAAjBQ,EAAI,GAAGjK,SACPyJ,GAAY,KAGpB,EAAKzH,SAAS,CACVkwB,2BAA4BzoB,QAK5C,qCAGA,4BACI,2BAAOvE,KAAK,OACR+H,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAE83B,mCAAoC5wB,EAAEC,OAAOP,SAEjEA,MAAOtL,KAAKQ,MAAMg8B,mCAClBz0B,MAAO,CAAEsD,MAAO,WAIxB,4BACI,2BAAOzD,KAAK,OACR+H,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAE+xB,sCAAuC7qB,EAAEC,OAAOP,QAAS,WACrEtL,KAAKo3B,wBAGb9rB,MAAOtL,KAAKogB,eAAepgB,KAAKQ,MAAMi2B,uCACtC1uB,MAAO,CAAEsD,MAAO,QAChBoB,OAAQ,SAACb,GACL,IAAIO,EAAM,EAAK3L,MAAMi2B,sCACrB,GAAI7qB,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,OAASd,EAAEC,OAAOP,MAAMxC,SAAS,KAC7EqD,GAAY,WAEX,GAAIP,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,MAAQd,EAAEC,OAAOP,MAAMxC,SAAS,KAAM,CACvF,IAAI6D,EAAMf,EAAEC,OAAOP,MAAMsB,MAAM,KACV,GAAjBD,EAAI,GAAGjK,SACPyJ,GAAY,MAGK,GAAjBQ,EAAI,GAAGjK,SACPyJ,GAAY,KAGpB,EAAKzH,SAAS,CACV+xB,sCAAuCtqB,QAKvD,4BACI,2BAAOvE,KAAK,OACR+H,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAE+3B,sCAAuC7wB,EAAEC,OAAOP,SAEpEA,MAAOtL,KAAKogB,eAAepgB,KAAKQ,MAAMi8B,uCACtC10B,MAAO,CAAEsD,MAAO,QAChBoB,OAAQ,SAACb,GACL,IAAIO,EAAM,EAAK3L,MAAMi8B,sCACrB,GAAI7wB,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,OAASd,EAAEC,OAAOP,MAAMxC,SAAS,KAC7EqD,GAAY,WAEX,GAAIP,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,MAAQd,EAAEC,OAAOP,MAAMxC,SAAS,KAAM,CACvF,IAAI6D,EAAMf,EAAEC,OAAOP,MAAMsB,MAAM,KACV,GAAjBD,EAAI,GAAGjK,SACPyJ,GAAY,MAGK,GAAjBQ,EAAI,GAAGjK,SACPyJ,GAAY,KAGpB,EAAKzH,SAAS,CACV+3B,sCAAuCtwB,SAM3D,4BACI,qCAGA,6BAEA,6BAEA,4BACI,2BAAOvE,KAAK,OACR+H,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAEmwB,qBAAsBjpB,EAAEC,OAAOP,QAAS,WACpDtL,KAAKo3B,wBAGb9rB,MAAOtL,KAAKogB,eAAepgB,KAAKQ,MAAMq0B,sBACtC9sB,MAAO,CAAEsD,MAAO,QAChBoB,OAAQ,SAACb,GACL,IAAIO,EAAM,EAAK3L,MAAMq0B,qBACrB,GAAIjpB,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,OAASd,EAAEC,OAAOP,MAAMxC,SAAS,KAC7EqD,GAAY,WAEX,GAAIP,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,MAAQd,EAAEC,OAAOP,MAAMxC,SAAS,KAAM,CACvF,IAAI6D,EAAMf,EAAEC,OAAOP,MAAMsB,MAAM,KACV,GAAjBD,EAAI,GAAGjK,SACPyJ,GAAY,MAGK,GAAjBQ,EAAI,GAAGjK,SACPyJ,GAAY,KAGpB,EAAKzH,SAAS,CACVmwB,qBAAsB1oB,QAKtC,qCAGA,4BACI,2BAAOvE,KAAK,OACR+H,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAEg4B,mCAAoC9wB,EAAEC,OAAOP,SAEjEA,MAAOtL,KAAKQ,MAAMk8B,mCAClB30B,MAAO,CAAEsD,MAAO,WAIxB,4BACI,2BAAOzD,KAAK,OACR+H,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAEgyB,sCAAuC9qB,EAAEC,OAAOP,QAAS,WACrEtL,KAAKo3B,wBAGb9rB,MAAOtL,KAAKogB,eAAepgB,KAAKQ,MAAMk2B,uCACtC3uB,MAAO,CAAEsD,MAAO,QAChBoB,OAAQ,SAACb,GACL,IAAIO,EAAM,EAAK3L,MAAMk2B,sCACrB,GAAI9qB,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,OAASd,EAAEC,OAAOP,MAAMxC,SAAS,KAC7EqD,GAAY,WAEX,GAAIP,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,MAAQd,EAAEC,OAAOP,MAAMxC,SAAS,KAAM,CACvF,IAAI6D,EAAMf,EAAEC,OAAOP,MAAMsB,MAAM,KACV,GAAjBD,EAAI,GAAGjK,SACPyJ,GAAY,MAGK,GAAjBQ,EAAI,GAAGjK,SACPyJ,GAAY,KAGpB,EAAKzH,SAAS,CACVgyB,sCAAuCvqB,QAKvD,4BACI,2BAAOvE,KAAK,OACR+H,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAEi4B,sCAAuC/wB,EAAEC,OAAOP,SAEpEA,MAAOtL,KAAKogB,eAAepgB,KAAKQ,MAAMm8B,uCACtC50B,MAAO,CAAEsD,MAAO,QAChBoB,OAAQ,SAACb,GACL,IAAIO,EAAM,EAAK3L,MAAMm8B,sCACrB,GAAI/wB,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,OAASd,EAAEC,OAAOP,MAAMxC,SAAS,KAC7EqD,GAAY,WAEX,GAAIP,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,MAAQd,EAAEC,OAAOP,MAAMxC,SAAS,KAAM,CACvF,IAAI6D,EAAMf,EAAEC,OAAOP,MAAMsB,MAAM,KACV,GAAjBD,EAAI,GAAGjK,SACPyJ,GAAY,MAGK,GAAjBQ,EAAI,GAAGjK,SACPyJ,GAAY,KAGpB,EAAKzH,SAAS,CACVi4B,sCAAuCxwB,SAM3D,4BACI,wBAAIuE,QAAS,GAAb,SAEJ,4BACI,4CACA,wBAAIC,MAAM,OAAOE,OAAO,UACpB,2BAAOjJ,KAAK,OACR+H,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAEsyB,YAAaprB,EAAEC,OAAOP,SAE1CA,MAAOtL,KAAKQ,MAAMw2B,YAClBjvB,MAAO,CAAEsD,MAAO,QAChBG,UAAU,MAItB,4BACI,iDACA,wBAAImF,MAAM,OAAOE,OAAO,UACpB,2BAAOjJ,KAAK,OACR+H,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAEuyB,iBAAkBrrB,EAAEC,OAAOP,SAE/CA,MAAOtL,KAAKQ,MAAMy2B,iBAClBlvB,MAAO,CAAEsD,MAAO,QAChBG,UAAU,MAItB,4BACI,wCAAa,6BAAM,2BAAOzD,MAAO,CAAEkF,SAAU,OAAQ0R,WAAY,MAAOpP,aAAc,MAAnE,2CACnB,wBAAIoB,MAAM,OAAOE,OAAO,UACpB,2BAAOjJ,KAAK,OACR+H,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAEwyB,SAAUtrB,EAAEC,OAAOP,SAEvCA,MAAOtL,KAAKQ,MAAM02B,SAClBnvB,MAAO,CAAEsD,MAAO,QAChBG,UAAU,QAM9B,2BAAO6W,YAAa,GAChB,+BACI,4BACI,wBAAI1R,MAAM,OAAOE,OAAO,UAAxB,yCAGA,4BACI,yBAAKrL,UAAU,cACX,2BAAOoC,KAAK,QACRjD,KAAK,WACLoD,MAAO,CAAEyH,YAAa,OACtBG,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAEk4B,kBAAmBhxB,EAAEC,OAAO2O,QAAU,MAAQ,QAElEA,QAA0C,QAAjCxa,KAAKQ,MAAMo8B,oBAExB,sCACA,2BAAOh1B,KAAK,QACRjD,KAAK,WACLoD,MAAO,CAAEyH,YAAa,OACtBG,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAEk4B,kBAAmBhxB,EAAEC,OAAO2O,QAAU,KAAO,SAEjEA,QAA0C,OAAjCxa,KAAKQ,MAAMo8B,oBAExB,qCACkC,QAAjC58B,KAAKQ,MAAMo8B,kBACR,kBAAC,EAAD,CACIxyB,KAAK,OACLJ,MAAM,kBACNC,YAAa,SAAC2B,GACV,EAAKlH,SAAS,CAAEm4B,8BAA+BjxB,KAEnD1B,MAAK,UAAElK,KAAKQ,MAAMq8B,qCAAb,QAA8C,GACnD1yB,MAAO,CAAEkB,MAAO,UAElB,QAIlB,4BACI,wBAAIsF,MAAM,OAAOE,OAAO,UAAxB,kDAGA,4BACI,yBAAKrL,UAAU,cACX,2BAAOoC,KAAK,QACRjD,KAAK,aACLoD,MAAO,CAAEyH,YAAa,OACtBG,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAEo4B,qBAAsBlxB,EAAEC,OAAO2O,QAAU,MAAQ,QAErEA,QAA6C,QAApCxa,KAAKQ,MAAMs8B,uBAExB,sCACA,2BAAOl1B,KAAK,QACRjD,KAAK,aACLoD,MAAO,CAAEyH,YAAa,OACtBG,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAEo4B,qBAAsBlxB,EAAEC,OAAO2O,QAAU,KAAO,SAEpEA,QAA6C,OAApCxa,KAAKQ,MAAMs8B,uBAExB,wCAIZ,4BACI,wBAAInsB,MAAM,OAAOE,OAAO,UAAxB,sDAGA,4BACI,yBAAKrL,UAAU,cACX,2BAAOoC,KAAK,QACRjD,KAAK,UACLoD,MAAO,CAAEyH,YAAa,OACtBG,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAEq4B,oBAAqBnxB,EAAEC,OAAO2O,QAAU,MAAQ,QAEpEA,QAA4C,QAAnCxa,KAAKQ,MAAMu8B,sBAExB,sCACA,2BAAOn1B,KAAK,QACRjD,KAAK,UACLoD,MAAO,CAAEyH,YAAa,OACtBG,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAEq4B,oBAAqBnxB,EAAEC,OAAO2O,QAAU,KAAO,SAEnEA,QAA4C,OAAnCxa,KAAKQ,MAAMu8B,sBAExB,qCACoC,QAAnC/8B,KAAKQ,MAAMu8B,oBACR,kBAAC,EAAD,CACI3yB,KAAK,SACLJ,MAAM,qBACNC,YAAa,SAAC2B,GACV,EAAKlH,SAAS,CAAEs4B,8BAA+BpxB,KAEnD1B,MAAOlK,KAAKogB,eAAepgB,KAAKQ,MAAMw8B,+BACtC7yB,MAAO,CAAEkB,MAAO,UAElB,QAIlB,4BACI,wBAAIsF,MAAM,OAAOE,OAAO,UAAxB,kDAGA,4BACI,yBAAKrL,UAAU,cACX,2BAAOoC,KAAK,QACRjD,KAAK,eACLoD,MAAO,CAAEyH,YAAa,OACtBG,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAEu4B,mBAAoBrxB,EAAEC,OAAO2O,QAAU,MAAQ,QAEnEA,QAA2C,QAAlCxa,KAAKQ,MAAMy8B,qBAExB,sCACA,2BAAOr1B,KAAK,QACRjD,KAAK,eACLoD,MAAO,CAAEyH,YAAa,OACtBG,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAEu4B,mBAAoBrxB,EAAEC,OAAO2O,QAAU,KAAO,SAElEA,QAA2C,OAAlCxa,KAAKQ,MAAMy8B,qBAExB,qCACmC,QAAlCj9B,KAAKQ,MAAMy8B,mBACR,kBAAC,EAAD,CACI7yB,KAAK,OACLJ,MAAM,2BACNC,YAAa,SAAC2B,GACV,EAAKlH,SAAS,CAAEw4B,mCAAoCtxB,KAExD1B,MAAK,UAAElK,KAAKQ,MAAM08B,0CAAb,QAAmD,GACxD/yB,MAAO,CAAEkB,MAAO,UAElB,QAIlB,4BACI,wBAAIsF,MAAM,OAAOE,OAAO,UAAxB,oDAGA,4BACI,yBAAKrL,UAAU,cACX,2BAAOoC,KAAK,QACRjD,KAAK,cACLoD,MAAO,CAAEyH,YAAa,OACtBG,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAEy4B,mBAAoBvxB,EAAEC,OAAO2O,QAAU,MAAQ,QAEnEA,QAA2C,QAAlCxa,KAAKQ,MAAM28B,qBAExB,sCACA,2BAAOv1B,KAAK,QACRjD,KAAK,cACLoD,MAAO,CAAEyH,YAAa,OACtBG,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAEy4B,mBAAoBvxB,EAAEC,OAAO2O,QAAU,KAAO,SAElEA,QAA2C,OAAlCxa,KAAKQ,MAAM28B,qBAExB,qCACmC,QAAlCn9B,KAAKQ,MAAM28B,mBACR,kBAAC,EAAD,CACI/yB,KAAK,OACLJ,MAAM,iBACNC,YAAa,SAAC2B,GACV,EAAKlH,SAAS,CAAE04B,0BAA2BxxB,KAE/C1B,MAAK,UAAElK,KAAKQ,MAAM48B,iCAAb,QAA0C,GAC/CjzB,MAAO,CAAEkB,MAAO,UAElB,QAIlB,4BACI,wBAAIsF,MAAM,OAAOE,OAAO,UAAxB,6CAC8C,6BAD9C,+BAGA,4BACI,kBAAC,EAAD,CACIzG,KAAK,OACLJ,MAAM,qCACNC,YAAa,SAAC2B,GACV,EAAKlH,SAAS,CAAE24B,gCAAiCzxB,KAErD1B,MAAK,UAAElK,KAAKQ,MAAM68B,uCAAb,QAAgD,GACrDlzB,MAAO,CAAEkB,MAAO,eAMpC,+BACI,+BACI,4BACI,wBAAIqF,QAAS,EAAGC,MAAM,OAAOE,OAAO,SAAS9I,MAAO,CAAE0a,WAAY,SAC9D,yBAAKjd,UAAU,cAAf,4SAOR,4BACI,wBAAIqL,OAAO,OACP,yBAAK9I,MAAO,CAAE4B,QAAS,OAAQwF,cAAe,MAAO9D,MAAO,cAAegE,WAAY,SAAUD,eAAgB,eAC7G,2BACIxH,KAAK,WACL4S,QAAO,UAAExa,KAAKQ,MAAM88B,gCAAb,SACP3tB,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAE44B,0BAA2B,EAAK98B,MAAM88B,4BAE1Dv1B,MAAO,CAAEyH,YAAa,SAE1B,2BAAOzH,MAAO,CAAEwH,aAAc,IAAKtC,SAAU,SAA7C,qIAIZ,4BACI,4BACI,+BACI,+BACI,4BACI,4BACI,kBAAC,EAAD,CACI7C,KAAK,OACLJ,MAAM,qBACNC,YAAa,SAAC2B,GACV,EAAKlH,SAAS,CAAE4iB,kBAAmB1b,KAEvC1B,MAAK,UAAElK,KAAKQ,MAAM8mB,yBAAb,QAAkC,GACvCnd,MAAO,CAAEkB,MAAO,QAAS2B,WAAY,kBAAmBC,SAAU,OAAQsC,aAAc,UAGhG,4CAGA,4BACyC,MAApC2S,aAAa1T,QAAQ,aAA2D,cAApC0T,aAAa1T,QAAQ,YAA8B,KAC5F,kBAAC,EAAD,CACIpE,KAAK,OACLJ,MAAM,uBACNC,YAAa,SAAC2B,GACV,EAAKlH,SAAS,CAAEsmB,oBAAqBpf,KAEzC1B,MAAK,UAAElK,KAAKQ,MAAMwqB,2BAAb,QAAoC,GACzC7gB,MAAO,CAAEkB,MAAO,QAAS2B,WAAY,kBAAmBC,SAAU,OAAQsC,aAAc,WAKxG,4BACI,4BACI,kBAAC,EAAD,CACInF,KAAK,OACLJ,MAAM,gBACNC,YAAa,SAAC2B,GACV,EAAKlH,SAAS,CAAEsuB,sBAAuBpnB,KAE3C1B,MAAK,UAAElK,KAAKQ,MAAMwyB,6BAAb,QAAsC,GAC3C7oB,MAAO,CAAEkB,MAAO,QAASkE,aAAc,UAG/C,4CAGA,4BACyC,MAApC2S,aAAa1T,QAAQ,aAA2D,cAApC0T,aAAa1T,QAAQ,YAA8B,KAC5F,kBAAC,EAAD,CACIpE,KAAK,OACLJ,MAAM,kBACNC,YAAa,SAAC2B,GACV,EAAKlH,SAAS,CAAEuuB,wBAAyBrnB,KAE7C1B,MAAK,UAAElK,KAAKQ,MAAMyyB,+BAAb,QAAwC,GAC7C9oB,MAAO,CAAEkB,MAAO,QAASkE,aAAc,WAKvD,4BACI,4BACI,kBAAC,EAAD,CACInF,KAAK,OACLJ,MAAM,OACNC,YAAa,SAAC2B,GACV,EAAKlH,SAAS,CAAE4hB,sBAAuB1a,KAE3C1B,WAA2CxI,GAApC1B,KAAKQ,MAAM8lB,sBAAqCtmB,KAAKqmB,YAAYrmB,KAAKQ,MAAM8lB,uBAAyBtmB,KAAK0E,SAAS,CAAE4hB,uBAAuB,IAAIpC,MAAOyF,mBAAmB,WACjLxf,MAAO,CAAEkB,MAAO,YAGxB,4CAGA,4BACyC,MAApC6W,aAAa1T,QAAQ,aAA2D,cAApC0T,aAAa1T,QAAQ,YAA8B,KAC5F,kBAAC,EAAD,CACIpE,KAAK,OACLJ,MAAM,OACNC,YAAa,SAAC2B,GACV,EAAKlH,SAAS,CAAEulB,wBAAyBre,KAE7C1B,WAA6CxI,GAAtC1B,KAAKQ,MAAMypB,wBAAuCjqB,KAAKqmB,YAAYrmB,KAAKQ,MAAMypB,yBAA2BjqB,KAAK0E,SAAS,CAAEulB,yBAAyB,IAAI/F,MAAOyF,mBAAmB,WACvLxf,MAAO,CAAEkB,MAAO,oBAY5D,yBAAK7F,UAAU,yBACX,2BAAOuC,MAAO,CAAE6I,OAAQ,SACpB,+BACI,4BACI,wBAAID,MAAM,SAASE,OAAO,UACtB,4BACIrL,UAAU,gBACVuC,MAAO,CAAE8H,WAAY,UACrBrE,SAAUxL,KAAKQ,MAAM2M,QACrB9G,QAAS,WACL,EAAK8b,KAAK,KALlB,SAUJ,wBAAIxR,MAAM,SAASE,OAAO,UACtB,yCACIrL,UAAU,gBACVuC,MAAO,CAAE8H,WAAY,UACrBrE,SAAUxL,KAAKQ,MAAM2M,QACrB9G,QAAS,WACL,EAAK8b,SALb,YAOeniB,KAAKQ,MAAM88B,0BAP1B,kBArgHpC,GAAyD53B,aC4B1C,O,wIAhCE8pB,EAAME,EAAgBrC,EAAesC,G,8EAE1CC,EAAW,IAAIC,UACVC,OAAO,OAAQN,GACxBI,EAASE,OAAO,iBAAkBJ,GAClCE,EAASE,OAAO,gBAAiBzC,G,kBAC1B0C,GAAKhpB,KAAK,gCAAiC6oB,EAAU,CACxDjnB,QAAS,CACL,eAAgB,uBAGpBgnB,sB,gLAGOtC,G,0FAEJ0C,GAAKlpB,IAAI,kCAAoCwmB,EAAe,CAC/D1kB,QAAS,M,8QAQNonB,GAAKlpB,IAAI,sCAAuC,CACnD8B,QAAS,M,yGCvBAq3B,G,kDACjB,WAAY/7B,GAAQ,IAAD,8BACf,cAAMA,IAEDzD,MAAQ,CACTyvB,mBAAevuB,EACfwuB,cAAe,GACf/uB,QAAS,GACTgvB,UAAW,GACXC,WAAY,OACZC,cAAe,GACfC,eAAgB,GAGpB,EAAKC,WAAa,EAAKA,WAAW1qB,KAAhB,gBAClB,EAAK2qB,YAAc,EAAKA,YAAY3qB,KAAjB,gBACnB,EAAK4qB,aAAevR,IAAMC,YAfX,E,gEAkBE,IAAD,OAChBuR,GAAcC,mBACTpjB,MAAK,SAAC1L,GACH,EAAK6C,SAAS,CACV2rB,cAAexuB,EAASC,OACzB,WACC9B,KAAK4wB,0B,wCAKF,IAAD,OACdF,GAAcG,SAAS7wB,KAAKiE,MAAMipB,eAAe3f,MAAK,SAAC1L,GACnD,EAAK6C,SAAS,CACVyrB,UAAWtuB,EAASC,Y,yCAKbgvB,GAAY,IAAD,OACtBA,EAAU5D,gBAAkBltB,KAAKiE,MAAMipB,eACvCwD,GAAcG,SAAS7wB,KAAKiE,MAAMipB,eAAe3f,MAAK,SAAC1L,GACnD,EAAK6C,SAAS,CACVyrB,UAAWtuB,EAASC,KACpBmuB,mBAAevuB,EACf4uB,eAAgB,S,iCAMrBvkB,GACP/L,KAAK0E,SAAS,CACVwrB,cAAe,GACfD,cAAelkB,EAAMF,OAAOklB,U,oCAShC,IALW,IAAD,OACJd,EAAgBjwB,KAAKQ,MAAMyvB,cAC3BP,EAAiB1vB,KAAKQ,MAAM8vB,eAE9BU,EAAiB,GACZpuB,EAAI,EAAGA,EAAIqtB,EAAcvtB,OAAQE,IACtCouB,EAAe/uB,KAAK,CAAEgvB,WAAY,EAAGC,SAAUjB,EAAcrtB,GAAG+B,OAEpE3E,KAAK0E,SACD,CACIwrB,cAAec,EACf7vB,QAAS,KAEb,WACI,IAAK,IAAIyB,EAAI,EAAGA,EAAIqtB,EAAcvtB,OAAQE,IACtC,EAAKuuB,OAAOvuB,EAAGqtB,EAAcrtB,GAAI8sB,EAAgB,EAAKzrB,MAAMipB,oB,6BAMrErjB,EAAK2lB,EAAME,EAAgBrC,GAAgB,IAAD,OACzC2D,EAAc,aAAOhxB,KAAKQ,MAAM0vB,eACpCQ,GAAcS,OAAO3B,EAAME,EAAgBrC,GAAe,SAACthB,GACvDilB,EAAennB,GAAKonB,WAAaG,KAAKC,MAAO,IAAMtlB,EAAMulB,OAAUvlB,EAAM8T,OACzE,EAAKnb,SAAS,CACVssB,sBAGHzjB,MAAK,SAAC1L,GAOH,OANA,EAAK6C,UAAS,SAAC6sB,GAEX,MAAO,CACHpwB,QAFW,uBAAOowB,EAAKpwB,SAAZ,CAAqB,mCAAqCquB,EAAK7qB,WAK3E+rB,GAAcG,SAASxD,MAGjC9f,MAAK,SAACwjB,GACH,EAAKrsB,SAAS,CACVyrB,UAAWY,EAAMjvB,UAGxB2c,OAAM,WACHuS,EAAennB,GAAKonB,WAAa,EACjC,EAAKvsB,UAAS,SAAC6sB,GACX,IAAIC,EAAW,uBAAOD,EAAKpwB,SAAZ,CAAqB,8BAAgCquB,EAAK7qB,OACzE,MAAO,CACHurB,cAAec,EACf7vB,QAASqwB,SAIpBC,SAAQ,WACL/nB,YAAW,WACP,EAAKhF,SAAS,CACVurB,mBAAevuB,EACfwuB,cAAe,GACf/uB,QAAS,GACTmvB,eAAgB,IACjB,WACCtwB,KAAKywB,aAAahV,QAAQnQ,MAAQ,QAEvC,U,mCAIFF,GACTpL,KAAK0E,SAAS,CAAEgtB,SAAUtmB,EAAI8Z,WAAW,M,6KAIzCllB,KAAK0E,SAAS,CAAEwgB,WAAW,IAEvB9Z,EAAKpL,KAAKQ,MAAMkxB,S,SAECvuB,MAAM,0CAA4CiI,EAAI,CACvE9C,OAAQ,MACRK,QAAS,CAAE,eAAgB,sBAE1B4E,MAAK,SAAC1L,GACH6uB,GAAcG,SAAS,EAAK5sB,MAAMipB,eAAe3f,MAAK,SAACwjB,GACnD,EAAKrsB,SAAS,CACVyrB,UAAWY,EAAMjvB,KACjBwuB,eAAgB,U,mJAM1B,IAAD,SACuEtwB,KAAKQ,MAAzEyvB,EADH,EACGA,cAAeC,EADlB,EACkBA,cAAe/uB,EADjC,EACiCA,QAASgvB,EAD1C,EAC0CA,UAAWE,EADrD,EACqDA,cAC1D,OACI,6BACKH,GACGA,EAAc7tB,KAAI,SAACsvB,EAAcpvB,GAAf,OACd,yBAAKiD,UAAU,OAAOsE,IAAKvH,GACvB,8BAAOovB,EAAaT,UACpB,yBAAK1rB,UAAU,YACX,yBACIA,UAAU,iCACVwQ,KAAK,cACL4b,gBAAeD,EAAaV,WAC5BY,gBAAc,IACdC,gBAAc,MACd/pB,MAAO,CAAEsD,MAAOsmB,EAAaV,WAAa,MAEzCU,EAAaV,WARlB,UAahB,yBAAKlpB,MAAO,CAAE4B,QAAS,OAAQwF,cAAe,MAAOC,eAAgB,aAAcC,WAAY,SAAUE,aAAc,MAAOD,UAAW,QACrI,2BAAOvH,MAAO,CAAEyH,YAAa,QAA7B,iBACA,4BACIlE,MAAOtL,KAAKQ,MAAM8vB,eAClB3gB,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAE4rB,eAAgB1kB,EAAEC,OAAOP,UAG7C,4BAAQxB,IAAK,EAAGwB,MAAO,GAAvB,wBACC+kB,GAAiBA,EAAchuB,KAAI,SAACuH,EAAMC,GAAP,OAChC,4BAAQC,IAAKD,EAAKyB,MAAO1B,EAAKwB,IAAKxB,EAAKjF,WAIpD,yBAAKoD,MAAO,CAAE4B,QAAS,OAAQwF,cAAe,MAAOC,eAAgB,aAAcC,WAAY,SAAUE,aAAc,MAAOD,UAAW,QACrI,2BAAO9J,UAAU,eACb,2BAAOod,IAAK5iB,KAAKywB,aAAc7oB,KAAK,OAAOmqB,OAAO,oEAC9CpiB,SAAU3P,KAAKuwB,cAEvB,4BACI/qB,UAAU,sBACVgG,UAAWykB,GAA+C,IAA9BjwB,KAAKQ,MAAM8vB,eACvCjqB,QAASrG,KAAKwwB,aAHlB,WAQHrvB,EAAQuB,OAAS,GACd,yBAAK8C,UAAU,wBAAwBwQ,KAAK,SACxC,4BACK7U,EAAQkB,KAAI,SAACuH,EAAMhH,GAChB,OAAO,wBAAIkH,IAAKlH,GAAIgH,QAKpC,yBAAKpE,UAAU,gBACX,yBAAKA,UAAU,eAAf,kBACA,2BAAOA,UAAU,aACb,+BACI,4BACI,6BACA,yCAGA,6CAGA,kDAGA,+BAGR,+BAEQxF,KAAKQ,MAAM2vB,UAAUztB,OAAS,EAC1BytB,GAAaA,EAAU9tB,KAAI,SAACmtB,EAAMjtB,GAAP,OAEvB,wBAAIuH,IAAKvH,GACL,4BACI,yBAAK4D,IAAKqpB,EAAKwC,QAASjqB,MAAO,CAAEsD,MAAO,WAE5C,4BACKmkB,EAAKloB,UAEV,4BACKkoB,EAAKyC,QAEV,4BACKzC,EAAK0C,cAEV,wBAAI1sB,UAAU,oBACV,kBAAC,KAAD,CACIuJ,MAAO,EAAKvO,MAAM4vB,WAClB+B,KAAM,GACNpqB,MAAO,CAAEoI,OAAQ,WACjB9J,QAAS,kBAAM,EAAK+rB,aAAa5C,EAAKpkB,YAMtD,4BACI,wBAAIsF,QAAS,EAAG3I,MAAO,CAAE4W,WAAY,MAAO9H,UAAW,WAAvD,wBAQxB,6BACI,kBAAC,KAAD,CACItQ,OAAQvG,KAAKQ,MAAM0kB,UAEnBrG,eAAgB,kBAAM,EAAKna,SAAS,CAAEwgB,WAAW,KACjD1f,UAAU,WACVsZ,aAAa,gBACbC,iBAAiB,WAEjB,yBAAKhX,MAAO,CAAEsD,MAAO,OAAQ1B,QAAS,OAAQyF,eAAgB,WAC1D,8DAEJ,yBAAKrH,MAAO,CAAEsD,MAAO,OAAQ1B,QAAS,OAAQyF,eAAgB,eAAgBE,UAAW,SACrF,4BACI9J,UAAU,sBACVa,QAAS,kBAAM,EAAK3B,SAAS,CAAEwgB,WAAW,MAF9C,MAMA,4BACI1f,UAAU,sBACVa,QAAS,kBAAM,EAAKgsB,2BAFxB,e,GAzRmB3sB,aCClCu6B,GAAb,kDAEI,WAAYh8B,GAAQ,IAAD,8BACf,cAAMA,IAEDzD,MAAQ,CACT2M,SAAS,EACTolB,iBAAiB,EACjBC,cAAc,EACdtF,cAAe,IAPJ,EAFvB,gEAayB,IAAD,OACZ9hB,EAAK8W,aAAa1T,QAAQ,kBAC9BxO,KAAKkgC,aAAa90B,GAElBpL,KAAK0E,SAAS,CAAEwoB,cAAe9hB,IAE/B1B,YAAW,WACH,EAAKlJ,MAAMgyB,cACX,EAAK5Y,UAEV,OAvBX,kKA2BQ5Z,KAAK0E,SAAS,CAAEyI,SAAS,EAAMqlB,cAAc,IAC1B,iCACflrB,EAAW,GAEXoG,EAAI9G,IA/BhB,SAgCczD,MAAM,kDAAoDnD,KAAKQ,MAAM0sB,cAAe,CACtF5kB,OAAQ,MACRN,KAAM,KACNW,QAAS,CAAE,eAAgB,sBAE1B4E,MAAK,SAAC+Q,GACH,IACMC,EADSD,EAAI3V,QAAQ9B,IAAI,uBACV+F,MAAM,KAO3B,OALItF,EADAiX,EAAM,GACKA,EAAM,GAAG3R,MAAM,KAAK,GAbxB,iCAkBJ0R,EAAIE,UAEdjR,MAAK,SAAAzL,GACF4L,EAAErG,aAAavF,EAAMwF,EAAU,mBAC/B,EAAK5C,SAAS,CAAEyI,SAAS,EAAOqlB,cAAc,OAEjD/T,OAAM,SAACrd,GACJN,QAAQC,IAAI,wBAA0BK,EAAMD,SAC5C,EAAKuD,SAAS,CAAEyI,SAAS,OAtDzC,yIA2DiB/B,GACT,IAEItJ,EAAO,CACPwd,GAAIlU,EACJ+0B,QAAS,gCACTC,KAAM,qIALEx5B,IAQNG,KAAK,2BAA4BjF,GAClCyL,MAAK,SAAC1L,SArEnB,yCA6EQ7B,KAAK0E,SAAS,CAAE8tB,cAAc,EAAOD,iBAAiB,MA7E9D,8BAiFQnlB,eAAeslB,QAEfxQ,aAAa7U,WAAW,kBACxB7F,OAAOmH,SAASzG,KAAO,mCApF/B,+BAuFc,IAAD,OACL,OACI,yBAAK1C,UAAU,iBACX,yBAAKA,UAAU,sCACa,IAAvBxF,KAAKQ,MAAM2M,QACR,6BACI,kBAAC2B,EAAA,EAAD,CAASC,MAAM,OAAOpI,SAAS,GAAGoB,MAAO,CAAEiH,SAAU,QAASC,IAAK,MAAOC,KAAM,UAElF,KAEN,2BAAO1J,UAAU,iBACb,+BACI,4BACI,wBAAImL,MAAM,UACN,6BACA,oEAGR,4BACI,wBAAIA,MAAM,UACN,yBAAK5I,MAAO,CAAE8O,UAAW,SAAzB,oxBAKiL,6BAAM,gCAI/L,4BACI,wBAAIlG,MAAM,QACN,2GAGR,4BACI,wBAAIA,MAAM,QACN,yEACA,kJACA,mHACA,4FAGR,4BACI,wBAAIA,MAAM,QACN,6BACA,mIAGR,4BACI,wBAAIA,MAAM,QACN,sEACA,qEACA,kEAGR,4BACI,wBAAIA,MAAM,QACN,6BADJ,+EAEgF,6BAFhF,sBAGuB,6BAHvB,oBAIqB,6BAJrB,oCAKqC,kCAMrD,yBAAKnL,UAAU,yBACX,+BACI,+BACI,4BACI,wBAAImL,MAAM,SAASE,OAAO,UACtB,4BACIrL,UAAU,gBACVuC,MAAO,CAAE8H,WAAY,UACrBrE,SAAUxL,KAAKQ,MAAM2M,QACrB9G,QAAS,WACL,EAAKssB,cALb,iBAUJ,wBAAIhiB,MAAM,SAASE,OAAO,UACtB,4BACIrL,UAAU,gBACVuC,MAAO,CAAE8H,WAAY,UACrBrE,SAAUxL,KAAKQ,MAAM2M,QACrB9G,QAAS,WACL,EAAKusB,qBALb,iBAUJ,wBAAIjiB,MAAM,SAASE,OAAO,UACtB,4BACIrL,UAAU,gBACVuC,MAAO,CAAE8H,WAAY,UACrBrE,SAAUxL,KAAKQ,MAAM2M,QACrB9G,QAAS,WACL,EAAKuT,UALb,cAcpB,6BACI,kBAAC,KAAD,CACIrT,OAAQvG,KAAKQ,MAAM+xB,gBAEnB1T,eAAgB,kBAAM,EAAKna,SAAS,CAAE6tB,iBAAiB,KACvD/sB,UAAU,WACVsZ,aAAa,gBACbC,iBAAiB,WAEjB,yBAAKhX,MAAO,CAAEsD,MAAO,OAAQ1B,QAAS,OAAQyF,eAAgB,WAC1D,iDAEJ,yBAAKrH,MAAO,CAAEsD,MAAO,OAAQ1B,QAAS,OAAQyF,eAAgB,WAC1D,kBAAC,GAAD,CAAcmQ,oBAAqBvf,KAAKQ,MAAM+e,oBAAqB2N,cAAeltB,KAAKQ,MAAM0sB,gBAC7F,8BAEJ,yBAAKnlB,MAAO,CAAEsD,MAAO,OAAQ1B,QAAS,OAAQyF,eAAgB,SAAUE,UAAW,SAC/E,4BACI9J,UAAU,sBACVuC,MAAO,CAAE8H,WAAY,UACrBrE,SAAUxL,KAAKQ,MAAM2M,QACrB9G,QAAS,WACL,EAAK3B,SAAS,CAAE6tB,iBAAiB,MALzC,iBApN5B,GAA6C7sB,aAAhCu6B,GACFx5B,YAAcw5B,GAAwBt7B,K,IC6BlC,O,wIAlCE6qB,EAAMC,EAAqBC,EAAgB2Q,EAAO/4B,EAAUqoB,G,yFACjDjwB,EAAY+I,iB,cAA1BC,E,QACFknB,EAAW,IAAIC,UACVC,OAAO,OAAQN,GACxBI,EAASE,OAAO,sBAAuBL,GACvCG,EAASE,OAAO,iBAAkBJ,GAClCE,EAASE,OAAO,QAASuQ,GACzBzQ,EAASE,OAAO,WAAYxoB,G,kBACrByoB,GAAKhpB,KAAK,oBAAqB6oB,EAAU,CAC5CjnB,QAAS,CACL,eAAgB,sBAChB,cAAgB,UAAhB,OAA2BD,IAE/BinB,sB,qLAGOF,G,uFACS/vB,EAAY+I,iB,cAA1BC,E,yBACCqnB,GAAKlpB,IAAI,uCAAyC4oB,EAAqB,CAC1E9mB,QAAS,CACL,cAAgB,UAAhB,OAA2BD,O,2QAMfhJ,EAAY+I,iB,cAA1BC,E,yBACCqnB,GAAKlpB,IAAI,0BAA2B,CACvC8B,QAAS,CACL,cAAgB,UAAhB,OAA2BD,O,2HCtBtBsnB,G,kDACjB,WAAY/rB,GAAQ,IAAD,8BACf,cAAMA,IAEDzD,MAAQ,CACTyvB,mBAAevuB,EACfwuB,cAAe,GACf/uB,QAAS,GACTgvB,UAAW,GACXC,WAAY,OACZC,cAAe,GACfC,eAAgB,EAChBgQ,MAAO,GACPC,SAAU,GACVC,qBAAqB,EACrBC,mBAAmB,EACnBC,aAAc,GACdC,qBAAiBj/B,EACjBk/B,kBAAkB,EAClBC,aAAc,IAGlB,EAAKtQ,WAAa,EAAKA,WAAW1qB,KAAhB,gBAClB,EAAK2qB,YAAc,EAAKA,YAAY3qB,KAAjB,gBACnB,EAAK4qB,aAAevR,IAAMC,YAvBX,E,gEA0BE,IAAD,OAChBuR,GAAcC,mBACTpjB,MAAK,SAAC1L,GACH,EAAK6C,SAAS,CACV2rB,cAAexuB,EAASC,OACzB,WACC9B,KAAK4wB,0B,wCAKF,IAAD,OACdF,GAAcG,SAAS7wB,KAAKiE,MAAMsb,qBAAqBhS,MAAK,SAAC1L,GAAc,IAAD,EAKxC,EAIrB,GART,EAAK6C,SAAS,CACVyrB,UAAoC,KAAzB,UAAAtuB,EAASC,KAAK,UAAd,eAAkBsJ,IAAWvJ,EAASC,UAAOJ,IAGxDG,EAASC,KAAKY,OAAS,KACgB,KAAnC,UAAAb,EAASC,KAAK,UAAd,eAAkBg/B,cAClB,EAAKp8B,SAAS,CAAE+7B,mBAAmB,EAAMI,aAAc,KAGvD,EAAKn8B,SAAS,CAAE+7B,mBAAmB,EAAOI,aAAY,UAAEh/B,EAASC,KAAK,UAAhB,aAAE,EAAkBg/B,aAAahoB,mB,yCAMpFgY,GAAY,IAAD,OACtBA,EAAUvR,sBAAwBvf,KAAKiE,MAAMsb,qBAC7CmR,GAAcG,SAAS7wB,KAAKiE,MAAMsb,qBAAqBhS,MAAK,SAAC1L,GAAc,IAAD,EAU7D,GATT,EAAK6C,SAAS,CACVyrB,UAAoC,KAAzB,UAAAtuB,EAASC,KAAK,UAAd,eAAkBsJ,IAAWvJ,EAASC,UAAOJ,EACxDuuB,mBAAevuB,EACf4uB,eAAgB,IAEhBzuB,EAASC,KAAKY,OAAS,KACe,IAAlCb,EAASC,KAAK,GAAGg/B,aACjB,EAAKp8B,SAAS,CAAE+7B,mBAAmB,EAAMI,aAAc,KAGvD,EAAKn8B,SAAS,CAAE+7B,mBAAmB,EAAOI,aAAY,UAAEh/B,EAASC,KAAK,UAAhB,aAAE,EAAkBg/B,aAAahoB,mB,iCAOhG/M,GACP/L,KAAK0E,SAAS,CACVwrB,cAAe,GACfD,cAAelkB,EAAMF,OAAOklB,U,oCAWhC,IAPW,IAAD,OACJd,EAAgBjwB,KAAKQ,MAAMyvB,cAC3BP,EAAiB1vB,KAAKQ,MAAM8vB,eAC5B+P,EAAQrgC,KAAKQ,MAAM8/B,MACnBS,EAAY/gC,KAAKQ,MAAM+/B,SAEzBvP,EAAiB,GACZpuB,EAAI,EAAGA,EAAIqtB,EAAcvtB,OAAQE,IACtCouB,EAAe/uB,KAAK,CAAEgvB,WAAY,EAAGC,SAAUjB,EAAcrtB,GAAG+B,OAEpE3E,KAAK0E,SACD,CACIwrB,cAAec,EACf7vB,QAAS,KAEb,WACI,IAAK,IAAIyB,EAAI,EAAGA,EAAIqtB,EAAcvtB,OAAQE,IACtC,EAAKuuB,OAAOvuB,EAAGqtB,EAAcrtB,GAAI,EAAKqB,MAAMsb,oBAAqBmQ,EAAgB2Q,EAAOU,Q,6BAMjGl3B,EAAK2lB,EAAMC,EAAqBC,EAAgB2Q,EAAOU,GAAY,IAAD,OACjE/P,EAAc,aAAOhxB,KAAKQ,MAAM0vB,eACpCQ,GAAcS,OAAO3B,EAAMC,EAAqBC,EAAgB2Q,EAAOU,GAAW,SAACh1B,GAC/EilB,EAAennB,GAAKonB,WAAaG,KAAKC,MAAO,IAAMtlB,EAAMulB,OAAUvlB,EAAM8T,OACzE,EAAKnb,SAAS,CACVssB,sBAGHzjB,MAAK,SAAC1L,GACH,GAA6B,6CAAzBA,EAASC,KAAKgB,OAad,OANA,EAAK4B,UAAS,SAAC6sB,GAEX,MAAO,CACHpwB,QAFW,uBAAOowB,EAAKpwB,SAAZ,CAAqB,mCAAqCquB,EAAK7qB,WAK3E+rB,GAAcG,SAASpB,GAZ9B,EAAK/qB,SAAS,CACVkK,aAAc/M,EAASC,KAAKgB,OAC5BuG,WAAW,OAatBkE,MAAK,SAACwjB,GACCA,GACA,EAAKrsB,SAAS,CACVyrB,UAAWY,EAAMjvB,UAI5B2c,OAAM,WACHuS,EAAennB,GAAKonB,WAAa,EACjC,EAAKvsB,UAAS,SAAC6sB,GACX,IAAIC,EAAW,uBAAOD,EAAKpwB,SAAZ,CAAqB,8BAAgCquB,EAAK7qB,OACzE,MAAO,CACHurB,cAAec,EACf7vB,QAASqwB,SAIpBC,SAAQ,WACL/nB,YAAW,WACP,EAAKhF,SAAS,CACVurB,mBAAevuB,EACfwuB,cAAe,GACf/uB,QAAS,GACTmvB,eAAgB,EAChBgQ,MAAO,GACPC,SAAU,KACX,WACCvgC,KAAKywB,aAAahV,QAAQnQ,MAAQ,QAEvC,U,mCAIFF,GACTpL,KAAK0E,SAAS,CAAEgtB,SAAUtmB,EAAI8Z,WAAW,M,6CAGtB9Z,GACnBpL,KAAK0E,SAAS,CAAEi8B,gBAAiBv1B,EAAIw1B,kBAAkB,M,6EAGvCx1B,G,8FACI1L,EAAY+I,iB,cAA1BC,E,gBAEAvF,MAAM,kCAAoCiI,EAAI,CAChD9C,OAAQ,MACRK,QAAS,CACL,eAAgB,mBAChB,cAAiB,UAAYD,KAElC6E,MAAK,SAAC1L,GACL,OAAOA,EAASwB,UAEfkK,KATC,uCASI,WAAOzL,GAAP,SAAAgC,EAAA,sEACI4sB,GAAcG,SAAS,EAAK5sB,MAAMsb,qBAAqBhS,MAAK,SAACwjB,GAAW,IAAD,EACzE,EAAKrsB,SAAS,CACVyrB,UAAiC,KAAtB,UAAAY,EAAMjvB,KAAK,UAAX,eAAesJ,IAAW2lB,EAAMjvB,UAAOJ,IACnD,WAAa,IAAD,EAQN,EAP+B,KAAhC,UAAAqvB,EAAMjvB,KAAK,UAAX,eAAeg/B,cACf9gC,KAAK0E,SAAS,CACV+7B,mBAAmB,EACnBD,qBAAqB,EACrBK,aAAc,KAIlB7gC,KAAK0E,SAAS,CAAE+7B,mBAAmB,EAAOI,aAAY,UAAE9P,EAAMjvB,KAAK,UAAb,aAAE,EAAeg/B,aAAahoB,YAApF,sBACI,mCAAAhV,EAAA,sEACwBpE,EAAY+I,iBADpC,cACUC,EADV,gBAGUvF,MAAM,iDAAmDnD,KAAKiE,MAAMsb,oBAAqB,CAC3FjX,OAAQ,MACRK,QAAS,CACL,eAAgB,mBAChB,cAAiB,UAAYD,KAElC6E,MAAK,SAAC1L,GACL,OAAOA,EAASwB,UACjBkK,MAAK,SAACzL,GACL,EAAK4C,SAAS,CAAEg8B,aAAc5+B,EAAM0+B,oBAAqB1+B,EAAKY,OAAS,OAZ/E,uDAdd,2CATJ,uD,gLA4CW0I,G,8FACG1L,EAAY+I,iB,cAA1BC,E,gBAEAvF,MAAM,iDAAmDiI,EAAI,CAC/D9C,OAAQ,MACRK,QAAS,CACL,eAAgB,mBAChB,cAAiB,UAAYD,KAElC6E,MAAK,SAAC1L,GACL,OAAOA,EAASwB,UACjBkK,MAAK,SAACzL,GACL,EAAK4C,SAAS,CAAEg8B,aAAc5+B,EAAM0+B,qBAAqB,O,wLAIpCp1B,G,qFACzBpL,KAAK0E,SAAS,CAAEwgB,WAAW,I,SACPxlB,EAAY+I,iB,cAA1BC,E,gBAEAvF,MAAM,8BAAgCiI,EAAI,CAC5C9C,OAAQ,MACRK,QAAS,CACL,eAAgB,mBAChB,cAAiB,UAAYD,KAElC6E,KANG,uCAME,WAAO1L,GAAP,SAAAiC,EAAA,sEACE4sB,GAAcG,SAAS,EAAK5sB,MAAMsb,qBAAqBhS,MAAK,SAACwjB,GAAW,IAAD,IAUpE,GATL,EAAKrsB,SAAS,CACVyrB,UAAiC,KAAtB,UAAAY,EAAMjvB,KAAK,UAAX,eAAesJ,IAAW2lB,EAAMjvB,UAAOJ,EAClD4uB,eAAgB,EAChBiQ,SAAU,GACVD,MAAO,KAEyB,KAAhC,UAAAvP,EAAMjvB,KAAK,UAAX,eAAeg/B,eACf,EAAKp8B,SAAS,CAAE+7B,mBAAmB,EAAMI,aAAc,KAGvD,EAAKn8B,SAAS,CAAE+7B,mBAAmB,EAAOI,aAAY,UAAE9P,EAAMjvB,KAAK,UAAb,aAAE,EAAeg/B,aAAahoB,gBAZxF,2CANF,uD,+KAwBK1N,G,6FACS1L,EAAY+I,iB,cAA1BC,E,OACa,eACfpB,EAAW,GACXiB,EAAc,kBAEdmF,EAAI9G,I,SACFzD,MAAM,2BAA6BiI,EAAI,CACzC9C,OAAQ,MACRN,KAAM,KACNW,QAAS,CACL,eAAgB,mBAChB,cAAiB,UAAYD,KAGhC6E,MAAK,SAAC+Q,GACH,IACMC,EADSD,EAAI3V,QAAQ9B,IAAI,uBACV+F,MAAM,KAS3B,OARArE,EAAc+V,EAAI3V,QAAQ9B,IAAI,gBAG1BS,EADAiX,EAAM,GACKA,EAAM,GAAG3R,MAAM,KAAK,GAnBxB,eAwBJ0R,EAAIE,UAEdjR,MAAK,SAAAzL,GACF4L,EAAErG,aAAavF,EAAMwF,EAAUiB,MAElCkW,OAAM,SAACrd,GACJN,QAAQC,IAAI,uBAAyBK,EAAMD,Y,iIAK7C,IAAD,iBACuEnB,KAAKQ,MAAzEyvB,EADH,EACGA,cAAeC,EADlB,EACkBA,cAAe/uB,EADjC,EACiCA,QAAoBkvB,GADrD,EAC0CF,UAD1C,EACqDE,eAC1D,OACI,yBAAKtoB,MAAO,CAAEsD,MAAO,SACjB,kBAAC,EAAD,CACIjC,UAAWpJ,KAAKQ,MAAMoO,aACtBvF,UAAWrJ,KAAKQ,MAAM6I,UACtBE,aAAc,kBAAM,EAAK7E,SAAS,CAAE2E,WAAW,KAC/CG,mBAAoB,MAExB,2BAAOhE,UAAU,iBACb,+BACI,4BACI,6CAGA,4BACI,4BACI8F,MAAOtL,KAAKQ,MAAM8vB,eAClBvoB,MAAO,CAAEsD,MAAO,QAChBsE,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAE4rB,eAAgB1kB,EAAEC,OAAOP,UAG7C,4BAAQxB,IAAK,EAAGwB,MAAO,GAAvB,wBACC+kB,GAAiBA,EAAchuB,KAAI,SAACuH,EAAMC,GAAP,OAChC,4BAAQC,IAAKD,EAAKyB,MAAO1B,EAAKwB,IAAKxB,EAAKjF,YAKxD,4BACI,wBAAIkM,OAAO,OAAX,SAGA,4BACI,8BACI9I,MAAO,CAAEsD,MAAO,OAAQ21B,OAAQ,QAChCpxB,YAAY,GACZD,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAE47B,MAAO10B,EAAEC,OAAOP,SAEpCA,MAAOtL,KAAKQ,MAAM8/B,UAI9B,4BACI,yCAGA,4BACI,2BAAO14B,KAAK,OACRG,MAAO,CAAEsD,MAAO,QAChBuE,YAAY,GACZD,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAE67B,SAAU30B,EAAEC,OAAOP,SAEvCQ,WAAY,SAACF,GACK,aACF9C,SAAS8C,EAAE9B,MACnB8B,EAAEK,kBAGVX,MAAOtL,KAAKQ,MAAM+/B,eAMtC,+BACI,+BACI,4BACI,wBAAI1vB,OAAO,UACP,2BAAOrL,UAAU,cAAcuC,MAAO,CAAEuH,UAAW,SAC/C,2BAAOsT,IAAK5iB,KAAKywB,aACb7oB,KAAK,OAAOmqB,OAAO,oEACnBpiB,SAAU3P,KAAKuwB,eAG3B,wBAAI1f,OAAO,UACP,4BACIrL,UAAU,sBACVuC,MAAO,CAAEuH,UAAW,QACpB9D,UAAWykB,GAA+C,IAA9BjwB,KAAKQ,MAAM8vB,eACvCjqB,QAASrG,KAAKwwB,aAJlB,cAWfN,GACGA,EAAc7tB,KAAI,SAACsvB,EAAcpvB,GAAf,OACd,yBAAKiD,UAAU,OAAOsE,IAAKvH,GACvB,8BAAOovB,EAAaT,UACpB,yBAAK1rB,UAAU,YACX,yBACIA,UAAU,iCACVwQ,KAAK,cACL4b,gBAAeD,EAAaV,WAC5BY,gBAAc,IACdC,gBAAc,MACd/pB,MAAO,CAAEsD,MAAOsmB,EAAaV,WAAa,MAEzCU,EAAaV,WARlB,UAcZ9vB,EAAQuB,OAAS,GACb,yBAAK8C,UAAU,wBAAwBwQ,KAAK,SACxC,4BACK7U,EAAQkB,KAAI,SAACuH,EAAMhH,GAChB,OAAO,wBAAIkH,IAAKlH,GAAIgH,QAMxC,6BACI,6BACA,2BAAO7B,MAAO,CAAEsD,MAAO,SACnB,+BACI,4BACI,wBAAIsF,MAAM,SACN,yBAAK5I,MAAO,CAAEsD,MAAO,cAAeuF,OAAQ,cAAe5B,SAAU,aACjE,4BACIxJ,UAAU,gBACVgG,SAAUxL,KAAKQ,MAAMigC,kBACrBp6B,QAAO,sBAAE,sBAAAvC,EAAA,sEACC,EAAKm9B,eAAe,EAAKh9B,MAAMsb,qBADhC,4CAHb,eAOA,yBAAK/Z,UAAU,SAASxF,KAAKQ,MAAMqgC,mBAMvD,2BAAOr7B,UAAU,uBACb,+BACI,4BACI,6BACA,6CACA,yCACA,qCACA,6CACA,uCACA,wCACA,wCAGR,+BACKxF,KAAKQ,MAAM2vB,YAAa,UAAAnwB,KAAKQ,MAAM2vB,iBAAX,eAAsBztB,QAAS,EAAvD,UACG1C,KAAKQ,MAAM2vB,iBADd,aACG,EAAsB9tB,KAAI,SAACuH,EAAMC,GAAP,OACtB,wBAAIC,IAAKD,EACL9B,MAAO,CAAEoI,OAAQ,WACjB9J,QAAS,cAIT,wBAAIsK,MAAM,SAASE,OAAO,UACtB,yBAAK1K,IAAKyD,EAAKooB,QAASjqB,MAAO,CAAEsD,MAAO,WAE5C,4BAAKzB,EAAKqoB,QACV,4BAAKroB,EAAKtC,UACV,4BAAKsC,EAAKy2B,OACV,4BAAKz2B,EAAKsoB,cACV,wBAAIvhB,MAAM,SAASE,OAAO,UAAUjH,EAAKs3B,OACzC,wBAAIvwB,MAAM,SAASE,OAAO,UACtB,kBAAC,KAAD,CACI9B,MAAM,UACNojB,KAAM,GACNpqB,MAAO,CAAEoI,OAAQ,WACjB9J,QAAS,WAAQ,EAAK8B,SAASyB,EAAKwB,QAG5C,wBAAIuF,MAAM,SAASE,OAAO,UACtB,kBAAC,KAAD,CACI9B,MAAO,EAAKvO,MAAM4vB,WAClB+B,KAAM,GACNpqB,MAAO,CAAEoI,OAAQ,WACjB9J,QAAS,kBAAM,EAAK+rB,aAAaxoB,EAAKwB,YAMtD,4BACI,wBAAIsF,QAAS,EAAGC,MAAM,UAAtB,0BAMpB,6BACI,kBAAC,KAAD,CACIpK,OAAQvG,KAAKQ,MAAM0kB,UAEnBrG,eAAgB,kBAAM,EAAKna,SAAS,CAAEwgB,WAAW,KACjD1f,UAAU,WACVsZ,aAAa,gBACbC,iBAAiB,WAEjB,yBAAKhX,MAAO,CAAEsD,MAAO,OAAQ1B,QAAS,OAAQyF,eAAgB,WAC1D,8DAEJ,yBAAKrH,MAAO,CAAEsD,MAAO,OAAQ1B,QAAS,OAAQyF,eAAgB,eAAgBE,UAAW,SACrF,4BACI9J,UAAU,sBACVa,QAAS,kBAAM,EAAK3B,SAAS,CAAEwgB,WAAW,MAF9C,MAMA,4BACI1f,UAAU,sBACVa,QAAS,kBAAM,EAAKgsB,uBAAuB,EAAK7xB,MAAMkxB,YAF1D,UASZ,6BACI,kBAAC,KAAD,CACInrB,OAAQvG,KAAKQ,MAAMogC,iBAEnB/hB,eAAgB,kBAAM,EAAKna,SAAS,CAAEk8B,kBAAkB,KACxDp7B,UAAU,cACVsZ,aAAa,mBACbC,iBAAiB,YAEjB,yBAAKhX,MAAO,CAAEsD,MAAO,OAAQ1B,QAAS,OAAQyF,eAAgB,WAC1D,0DAEJ,yBAAKrH,MAAO,CAAEsD,MAAO,OAAQ1B,QAAS,OAAQyF,eAAgB,eAAgBE,UAAW,SACrF,4BACI9J,UAAU,sBACVa,QAAS,kBAAM,EAAK3B,SAAS,CAAEk8B,kBAAkB,MAFrD,MAMA,4BACIp7B,UAAU,sBACVa,QAAS,WACL,EAAK3B,SAAS,CAAEk8B,kBAAkB,IAClC,EAAKO,cAAc,EAAK3gC,MAAMmgC,mBAJtC,UAYZ,6BACI,kBAAC,KAAD,CACIp6B,OAAQvG,KAAKQ,MAAMggC,oBAEnB3hB,eAAgB,kBAAM,EAAKna,SAAS,CAAE87B,qBAAqB,KAC3Dh7B,UAAU,WACVsZ,aAAa,cACbC,iBAAiB,WAEjB,yBAAKhX,MAAO,CAAEsD,MAAO,OAAQ1B,QAAS,OAAQyF,eAAgB,eAC1D,4CAEJ,yBAAKrH,MAAO,CAAEsD,MAAO,OAAQ1B,QAAS,OAAQyF,eAAgB,aAAcE,UAAW,SACnF,2BAAO9J,UAAU,mBACb,+BACI,4BACI,6BACA,6CACA,4CACA,uCACA,yCAGR,+BACKxF,KAAKQ,MAAMkgC,eAAgB,UAAA1gC,KAAKQ,MAAMkgC,oBAAX,eAAyBh+B,QAAS,EAA7D,UACG1C,KAAKQ,MAAMkgC,oBADd,aACG,EAAyBr+B,KAAI,SAACuH,EAAMC,GAAP,OACzB,wBAAIC,IAAKD,EACL9B,MAAO,CAAEoI,OAAQ,WACjB9J,QAAS,cAGT,wBAAIsK,MAAM,SAASE,OAAO,UACtB,yBAAK1K,IAAKyD,EAAKooB,QAASjqB,MAAO,CAAEsD,MAAO,WAE5C,4BAAKzB,EAAKqoB,QACV,4BAAKroB,EAAKw3B,aACV,4BAAKx3B,EAAKs3B,OACV,wBAAIvwB,MAAM,SAASE,OAAO,UACtB,kBAAC,KAAD,CACI9B,MAAO,UACPojB,KAAM,GACNpqB,MAAO,CAAEoI,OAAQ,WACjB9J,QAAS,kBAAM,EAAKg7B,uBAAuBz3B,EAAKwB,YAMhE,4BACI,wBAAIsF,QAAS,EAAGC,MAAM,UAAtB,iC,GA3lBHjL,aCL5B47B,GAAb,kDACI,WAAYr9B,GAAQ,IAAD,8BACf,cAAMA,IAEDzD,MAAQ,CACT2M,SAAS,EACTiO,YAAY,GALD,EADvB,gEAWQ,IAAIhQ,EAAKgC,eAAeoB,QAAQ,MAChCxO,KAAK0E,SAAS,CAAE6a,oBAAqBnU,EAAIgQ,YAAY,MAZ7D,+BAgBQ,OACI,yBAAK5V,UAAU,sBACyB9D,IAAnC1B,KAAKQ,MAAM+e,oBACR,kBAAC,GAAD,CACInE,WAAYpb,KAAKQ,MAAM4a,WACvBC,aAAcrb,KAAKQ,MAAM+e,oBACzBjE,YAAa,SAAC1P,GAAQpE,OAAOmH,SAASzG,KAAO0D,KAE/C,KACN,yBAAKpG,UAAU,+BACa,IAAvBxF,KAAKQ,MAAM2M,QACR,6BACI,kBAAC2B,EAAA,EAAD,CAASC,MAAM,OAAOpI,SAAS,GAAGoB,MAAO,CAAEiH,SAAU,QAASC,IAAK,MAAOC,KAAM,UAElF,UAE8BxN,IAAnC1B,KAAKQ,MAAM+e,oBACR,kBAAC,GAAD,CAAQA,oBAAqBvf,KAAKQ,MAAM+e,sBACtC,MAEV,yBAAK/Z,UAAU,gBApC/B,GAAmCE,aCCtB67B,GAAb,kDACI,WAAYt9B,GAAQ,IAAD,8BACf,cAAMA,IAEDzD,MAAQ,CACT2M,SAAS,EACTq0B,KAAM,CAAC,CAAEp2B,GAAI,EAAGzG,KAAM,OAAS,CAAEyG,GAAI,EAAGzG,KAAM,UAAY,CAAEyG,GAAI,EAAGzG,KAAM,aACzEiD,KAAM,CAAC,CAAEwD,GAAI,EAAGzG,KAAM,WAAa,CAAEyG,GAAI,EAAGzG,KAAM,OAAS,CAAEyG,GAAI,EAAGzG,KAAM,aAC1E88B,UAAW,CAAC,CAAEr2B,GAAI,EAAGzG,KAAM,QAAU,CAAEyG,GAAI,EAAGzG,KAAM,UAPzC,EADvB,gLAcmB,KADPyG,EAAKgC,eAAeoB,QAAQ,QACT,OAAPpD,IACZpL,KAAK0hC,UAAUt2B,GACfpL,KAAK0E,SAAS,CAAE6a,oBAAqBnU,EAAIgQ,YAAY,KAhBjE,+KAoBoBhQ,GApBpB,4EAqBQ,IACIpL,KAAK0E,SAAS,CAAEyI,SAAS,IAEbvG,IACNC,IAAI,wBAA0BuE,GAC/BmC,MAAK,SAACzL,GACH,IAAI8f,EAAS,EAAKphB,MAClB,IAAK,IAAMsJ,KAAOhI,EACd,GAAiB,MAAbA,EAAKgI,GAAc,CACnB,IAAI+X,EAAO/X,EAAIgY,OAAO,GAAGC,cAAgBjY,EAAIkY,MAAM,GAC/CxB,EAAS1e,EAAKgI,GAClB8X,EAAOC,GAAQrB,EAIvB,EAAK9b,SAASkd,GAAQ,WAClB5hB,KAAK0E,SAAS,CAAEyI,SAAS,UAIzC,MAAOjE,GACHlJ,KAAK0E,SAAS,CAAEyI,SAAS,IACzBrM,QAAQC,IAAI,eAAiBmI,GA3CzC,4IA+CmBoC,GACX,QAAa5J,GAAT4J,EAAoB,MAAO,GAC/B,IAAIqV,EAAUrV,EAAMwN,WAAWtM,QAAQ,KAAM,IAAIA,QAAQ,IAAK,IAE1DoU,EAAM,GACNJ,EAAS,GAETK,EAAWF,EAAQ/T,MAAM,KAW7B,OAVwB,IAAZ,OAARiU,QAAQ,IAARA,OAAA,EAAAA,EAAUne,QACV8d,EAASG,EAAQ/T,MAAM,KAAK,IAEf,OAARiU,QAAQ,IAARA,OAAA,EAAAA,EAAUne,QAAS,GACxB8d,EAASG,EAAQ/T,MAAM,KAAK,GAC5BgU,EAAM,IAAMD,EAAQ/T,MAAM,KAAK,GAAGkU,UAAU,EAAG,IAG/CN,EAASG,EAETH,EAAO9d,OAAS,EACT,IAAIqe,KAAKC,kBAAatf,EAAW,CACpCqG,MAAO,WACPkZ,SAAU,MACVC,sBAAuB,EACvBC,sBAAuB,IACxBC,OAAOZ,GAAUI,OANxB,IAjER,2BA2ES+gB,GAAY,IAAD,OACZ,IACI3hC,KAAK0E,SAAS,CAAEyI,SAAS,IAEbvG,IACNG,KAAK,qBAAsB/G,KAAKQ,OACjC+M,MAAK,SAACzL,GACY,GAAXA,EAAKsJ,IACa,IAAdu2B,GACA,EAAKj9B,SAAS,CACVohB,kBAAkB,EAClBD,oBAAqB,uBAG7B,EAAKnhB,SAAS,CAAEyI,SAAS,EAAOmS,GAAIxd,EAAKsJ,MAGzC,EAAK1G,SAAS,CACV2E,WAAW,EACXuF,aAAc,+DACdzB,SAAS,OAK7B,MAAOjE,GACHlJ,KAAK0E,SAAS,CAAEyI,SAAS,IACzBrM,QAAQC,IAAI,UAAYmI,MAtGpC,+BA0Gc,IAAD,+DACL,OACI,yBAAK1D,UAAU,iBACX,kBAAC,GAAD,CACI4V,WAAYpb,KAAKQ,MAAM4a,WACvBC,aAAcrb,KAAKQ,MAAM+e,oBACzB3R,SAAU5N,KAAKQ,MAAMwmB,iBACrB1L,YAAa,SAAC1P,GAAD,OAAO,EAAKuW,KAAK,MAElC,kBAAC,EAAD,CACI/Y,UAAWpJ,KAAKQ,MAAMoO,aACtBtF,UAAWtJ,KAAKQ,MAAMqO,WACtBxF,UAAWrJ,KAAKQ,MAAM6I,UACtBE,aAAc,kBAAM,EAAK7E,SAAS,CAAE2E,WAAW,KAC/CG,mBAAoB,MAExB,kBAAC,EAAD,CACIJ,UAAWpJ,KAAKQ,MAAMqlB,oBACtBxc,UAAWrJ,KAAKQ,MAAMslB,iBACtBvc,aAAc,kBAAM,EAAK7E,SAAS,CAAEohB,kBAAkB,KACtDtc,mBAAoB,IACpBC,gBAAgB,IAEpB,yBAAKjE,UAAU,+BACa,IAAvBxF,KAAKQ,MAAM2M,QACR,6BACI,kBAAC2B,EAAA,EAAD,CAASC,MAAM,OAAOpI,SAAS,GAAGoB,MAAO,CAAEiH,SAAU,QAASC,IAAK,MAAOC,KAAM,UAElF,KAGN,2BAAOmT,YAAa,GAChB,+BACI,4BACI,wBAAI1R,MAAM,OAAOD,QAAS,GACtB,2BAAO3I,MAAO,CAAEkF,SAAU,OAAQ0R,WAAY,MAAO5P,MAAO,YAA5D,wBAGR,4BACI,wBAAI4B,MAAM,OAAO5I,MAAO,CAAE0a,WAAY,SAAtC,0BAGA,wBAAI9R,MAAM,OAAO5I,MAAO,CAAE0a,WAAY,SAClC,yBAAKjd,UAAU,cACX,2BAAOoC,KAAK,QACRjD,KAAK,WACLoD,MAAO,CAAEyH,YAAa,OACtBgL,QAAmE,cAA1D,UAAAxa,KAAKQ,MAAMohC,6BAAX,eAAkCC,qBAC3ClyB,SAAU,SAAC/D,GACP,IAAIk2B,EAAY,EAAKthC,MAAMohC,sBAC3BE,EAAUD,oBAAsB,WAEhC,EAAKn9B,SAAS,CACVk9B,sBAAuBE,OAKnC,2CACA,2BAAOl6B,KAAK,QACRjD,KAAK,WACLoD,MAAO,CAAEyH,YAAa,OACtBgL,QAAmE,eAA1D,UAAAxa,KAAKQ,MAAMohC,6BAAX,eAAkCC,qBAC3ClyB,SAAU,SAAC/D,GACP,IAAIk2B,EAAY,EAAKthC,MAAMohC,sBAC3BE,EAAUD,oBAAsB,YAEhC,EAAKn9B,SAAS,CAAEk9B,sBAAuBE,OAI/C,+CAKZ,4BACI,wBAAInxB,MAAM,QAAV,gBAGA,wBAAIA,MAAM,QACN,yBAAKnL,UAAU,cACX,2BAAOoC,KAAK,QACRjD,KAAK,MACLoD,MAAO,CAAEyH,YAAa,OACtBgL,QAAmE,eAA1D,UAAAxa,KAAKQ,MAAMohC,6BAAX,eAAkCC,0BAAsCngC,EAA4D,SAAhD,UAAA1B,KAAKQ,MAAMohC,6BAAX,eAAkCG,WAC/HpyB,SAAU,SAAC/D,GACP,IAAIk2B,EAAY,EAAKthC,MAAMohC,sBAC3BE,EAAUC,UAAY,MAEtB,EAAKr9B,SAAS,CAAEo9B,eAGpBt2B,SAAoE,eAA1D,UAAAxL,KAAKQ,MAAMohC,6BAAX,eAAkCC,uBAGhD,sCACA,2BAAOj6B,KAAK,QACRjD,KAAK,MACLoD,MAAO,CAAEyH,YAAa,OACtBgL,QAAmE,eAA1D,UAAAxa,KAAKQ,MAAMohC,6BAAX,eAAkCC,0BAAsCngC,EAA4D,UAAhD,UAAA1B,KAAKQ,MAAMohC,6BAAX,eAAkCG,WAC/HpyB,SAAU,SAAC/D,GACP,IAAIk2B,EAAY,EAAKthC,MAAMohC,sBAC3BE,EAAUC,UAAY,OAEtB,EAAKr9B,SAAS,CAAEk9B,sBAAuBE,KAG3Ct2B,SAAoE,eAA1D,UAAAxL,KAAKQ,MAAMohC,6BAAX,eAAkCC,uBAGhD,4CASpB,2BAAOxf,YAAa,GAChB,+BACI,4BACI,4BACI,kBAAC,EAAD,CACIjY,KAAK,SACLJ,MAAM,aACNM,gBAAiB,KACjBD,cAAe,EACfJ,YAAa,SAAC2B,GACV,IAAIk2B,EAAY,EAAKthC,MAAMohC,sBAC3BE,EAAUE,WAAkB,IAALp2B,EAAU,KAAOA,EAExC,EAAKlH,SAAS,CAAEk9B,sBAAuBE,KAE3C53B,MAAK,UAAElK,KAAKQ,MAAMohC,6BAAb,aAAE,EAAkCI,WACzC73B,MAAO,CAAEkB,MAAO,UAGxB,4BACI,kBAAC,EAAD,CACIjB,KAAK,SACLJ,MAAM,aACNM,gBAAiB,KACjBD,cAAe,EACfJ,YAAa,SAAC2B,GACV,EAAKlH,SAAS,CAAEu9B,UAAWr2B,KAE/B1B,MAAOlK,KAAKQ,MAAMyhC,UAClB93B,MAAO,CAAEkB,MAAO,UAGxB,4BACI,kBAAC,EAAD,CAAWzD,KAAK,OACZwC,KAAK,OACLH,YAAa,SAAC2B,GACV,IAAIk2B,EAAY,EAAKthC,MAAMohC,sBAC3BE,EAAUvxB,mBAAqB3E,EAE/B,EAAKlH,SAAS,CAAEk9B,sBAAuBE,KAE3C53B,MAAK,UAAElK,KAAKQ,MAAMohC,6BAAb,aAAE,EAAkCrxB,mBACzCvG,MAAM,yBACNG,MAAO,CAAEkB,MAAO,WAGxB,4BACI,kBAAC,EAAD,CAAWzD,KAAK,OACZwC,KAAK,OACLH,YAAa,SAAC2B,GACV,IAAIk2B,EAAY,EAAKthC,MAAMohC,sBAC3BE,EAAUI,YAAct2B,EAExB,EAAKlH,SAAS,CAAEk9B,sBAAuBE,KAE3C53B,MAAK,UAAElK,KAAKQ,MAAMohC,6BAAb,aAAE,EAAkCM,YACzCl4B,MAAM,QACNG,MAAO,CAAEkB,MAAO,cAQpC,2BAAOgX,YAAa,GAChB,+BACI,4BACI,4BACI,kBAAC,EAAD,CACIjY,KAAK,SACLJ,MAAM,SACNM,gBAAiB,KACjBD,cAAe,EACfJ,YAAa,SAAC2B,GACV,IAAIk2B,EAAY,EAAKthC,MAAMohC,sBAC3BE,EAAUK,aAAoB,IAALv2B,EAAU,KAAOA,EAE1C,EAAKlH,SAAS,CAAEk9B,sBAAuBE,KAE3C53B,MAAK,UAAElK,KAAKQ,MAAMohC,6BAAb,aAAE,EAAkCO,aACzCh4B,MAAO,CAAEkB,MAAO,UAGxB,4BACI,kBAAC,EAAD,CACIjB,KAAK,SACLJ,MAAM,OACNM,gBAAiB,KACjBD,cAAe,EACfJ,YAAa,SAAC2B,GACV,EAAKlH,SAAS,CAAE09B,KAAMx2B,KAE1B1B,MAAOlK,KAAKQ,MAAM4hC,KAClBj4B,MAAO,CAAEkB,MAAO,UAGxB,4BACI,kBAAC,EAAD,CAAWzD,KAAK,OACZwC,KAAK,OACLH,YAAa,SAAC2B,GAAD,OAAO,EAAKlH,SAAS,CAAE29B,MAAOz2B,KAC3C1B,MAAOlK,KAAKQ,MAAM6hC,MAClBr4B,MAAM,QACNG,MAAO,CAAEkB,MAAO,aAOpC,2BAAOgX,YAAa,GAChB,+BACI,4BACI,4BACI,kBAAC,EAAD,CACIjY,KAAK,OACLJ,MAAM,UACNK,cAAe,GACfJ,YAAa,SAAC2B,GACV,IAAIk2B,EAAY,EAAKthC,MAAMohC,sBAC3BE,EAAUQ,yBAA2B12B,EAErC,EAAKlH,SAAS,CAAEk9B,sBAAuBE,KAE3C53B,MAAK,UAAElK,KAAKQ,MAAMohC,6BAAb,aAAE,EAAkCU,yBACzCn4B,MAAO,CAAEkB,MAAO,MAAOk3B,cAAe,gBAG9C,4BACI,kBAAC,EAAD,CACIn4B,KAAK,OACLJ,MAAM,aACNK,cAAe,GACfJ,YAAa,SAAC2B,GACV,EAAKlH,SAAS,CAAE89B,eAAgB52B,KAEpC1B,MAAOlK,KAAKQ,MAAMgiC,eAClBr4B,MAAO,CAAEkB,MAAO,aAOpC,2BAAOgX,YAAa,GAChB,+BACI,4BACI,4BACI,4BACI/W,MAAOtL,KAAKQ,MAAMiiC,SAElB9yB,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAE+9B,SAAU72B,EAAEC,OAAOP,UAGvC,4BAAQxB,IAAK,EAAGwB,MAAO,GAAvB,YAPJ,UAQKtL,KAAKQ,MAAMihC,iBARhB,aAQK,EAAsBp/B,KAAI,SAACuH,EAAMC,GAAP,OACvB,4BAAQC,IAAKD,EAAKyB,MAAO1B,EAAKjF,MAAOiF,EAAKjF,WAItD,4BACI,kBAAC,EAAD,CACIyF,KAAK,SACLJ,MAAM,aACNK,cAAe,EACfJ,YAAa,SAAC2B,GACV,EAAKlH,SAAS,CAAEg+B,UAAgB,IAAL92B,EAAU,KAAOA,KAEhD1B,MAAOlK,KAAKQ,MAAMkiC,UAClBv4B,MAAO,CAAEkB,MAAO,UAGxB,4BACI,kBAAC,EAAD,CACIjB,KAAK,SACLJ,MAAM,WACNK,cAAe,EACfJ,YAAa,SAAC2B,GACV,EAAKlH,SAAS,CAAEi+B,QAAc,IAAL/2B,EAAU,KAAOA,KAE9C1B,MAAOlK,KAAKQ,MAAMmiC,QAClBx4B,MAAO,CAAEkB,MAAO,aAOpC,6BAEA,2BAAOgX,YAAa,EAAG7c,UAAU,eAC7B,+BACI,4BACI,wBAAImL,MAAM,UAAS,sCACnB,wBAAIA,MAAM,UAAS,oCACnB,wBAAIA,MAAM,UAAS,4CACnB,wBAAIA,MAAM,UAAS,6CACnB,wBAAIA,MAAM,UAAS,kCACnB,wBAAIA,MAAM,UAAS,oCACnB,wBAAIA,MAAM,UAAS,sCAG3B,+BACI,4BACI,yCACA,4BACI,2BACI/I,KAAK,SACL+H,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAEk+B,YAAah3B,EAAEC,OAAOP,SAE1CA,MAAOtL,KAAKQ,MAAMoiC,YAClB76B,MAAO,CAAEsD,MAAO,QAChBa,UAAW,SAACN,GAGU,GAFRA,EAAEC,OAAOP,MAEX5I,QAAwB,aAATkJ,EAAE9B,KAA+B,OAAT8B,EAAE9B,KAAc8B,EAAEK,qBAI7E,4BACI,2BACIrE,KAAK,OACL+H,SAAU,SAAC/D,GACP,IAAIk2B,EAAY,EAAKthC,MAAMohC,sBAC3BE,EAAUe,yBAA2Bj3B,EAAEC,OAAOP,MAE9C,EAAK5G,SAAS,CAAEk9B,sBAAuBE,KAE3Cx2B,MAAK,UAAEtL,KAAKQ,MAAMohC,6BAAb,aAAE,EAAkCiB,4BAGjD,4BACI,2BACIj7B,KAAK,OACLG,MAAO,CAAEw6B,cAAe,aACxB5yB,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAEo+B,oBAAqBl3B,EAAEC,OAAOP,SAElDA,MAAOtL,KAAKQ,MAAMsiC,uBAG1B,4BACI,2BACIl7B,KAAK,SACL+H,SAAU,SAAC/D,GACP,IAAIk2B,EAAY,EAAKthC,MAAMohC,sBAC3BE,EAAUiB,SAA6B,IAAlBn3B,EAAEC,OAAOP,MAAc,KAAOM,EAAEC,OAAOP,MAE5D,EAAK5G,SAAS,CAAEk9B,sBAAuBE,KAE3Cx2B,MAAK,UAAEtL,KAAKQ,MAAMohC,6BAAb,aAAE,EAAkCmB,SACzCh7B,MAAO,CAAEsD,MAAO,QAChBa,UAAW,SAACN,GAGU,GAFRA,EAAEC,OAAOP,MAEX5I,QAAwB,aAATkJ,EAAE9B,KAA+B,OAAT8B,EAAE9B,KAAc8B,EAAEK,qBAI7E,4BACI,4BACIX,MAAK,UAAEtL,KAAKQ,MAAMohC,6BAAb,aAAE,EAAkCoB,iBACzCj7B,MAAO,CAAEuH,UAAW,OACpBK,SAAU,SAAC/D,GACP,IAAIk2B,EAAY,EAAKthC,MAAMohC,sBAC3BE,EAAUkB,iBAAmBp3B,EAAEC,OAAOP,MAEtC,EAAK5G,SAAS,CAAEk9B,sBAAuBE,MAG3C,4BAAQh4B,IAAK,EAAGwB,MAAO,GAAvB,UAVJ,UAWKtL,KAAKQ,MAAMghC,YAXhB,aAWK,EAAiBn/B,KAAI,SAACuH,EAAMC,GAAP,OAClB,4BAAQC,IAAKD,EAAKyB,MAAO1B,EAAKjF,MAAOiF,EAAKjF,WAItD,4BACI,4BACI2G,MAAOtL,KAAKQ,MAAMyiC,YAClBl7B,MAAO,CAAEuH,UAAW,OACpBK,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAEu+B,YAAar3B,EAAEC,OAAOP,UAG1C,4BAAQxB,IAAK,EAAGwB,MAAO,GAAvB,UAPJ,UAQKtL,KAAKQ,MAAMoH,YARhB,aAQK,EAAiBvF,KAAI,SAACuH,EAAMC,GAAP,OAClB,4BAAQC,IAAKD,EAAKyB,MAAO1B,EAAKjF,MAAOiF,EAAKjF,YAK1D,4BACI,yCACA,4BACI,2BACIiD,KAAK,SACL+H,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAEw+B,YAAat3B,EAAEC,OAAOP,SAE1CA,MAAOtL,KAAKQ,MAAM0iC,YAClBn7B,MAAO,CAAEsD,MAAO,QAChBa,UAAW,SAACN,GAGU,GAFRA,EAAEC,OAAOP,MAEX5I,QAAwB,aAATkJ,EAAE9B,KAA+B,OAAT8B,EAAE9B,KAAc8B,EAAEK,qBAI7E,4BACI,2BACIrE,KAAK,OACL+H,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAEy+B,YAAav3B,EAAEC,OAAOP,SAE1CA,MAAOtL,KAAKQ,MAAM2iC,eAG1B,4BACI,2BACIv7B,KAAK,OACLG,MAAO,CAAEw6B,cAAe,aACxB5yB,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAE0+B,oBAAqBx3B,EAAEC,OAAOP,SAElDA,MAAOtL,KAAKQ,MAAM4iC,uBAG1B,4BACI,2BACIx7B,KAAK,SACL+H,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAE2+B,UAAWz3B,EAAEC,OAAOP,SAExCA,MAAOtL,KAAKQ,MAAM6iC,UAClBt7B,MAAO,CAAEsD,MAAO,QAChBa,UAAW,SAACN,GAGU,GAFRA,EAAEC,OAAOP,MAEX5I,QAAwB,aAATkJ,EAAE9B,KAA+B,OAAT8B,EAAE9B,KAAc8B,EAAEK,qBAI7E,4BACI,4BACIX,MAAOtL,KAAKQ,MAAM8iC,YAClBv7B,MAAO,CAAEuH,UAAW,OACpBK,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAE4+B,YAAa13B,EAAEC,OAAOP,UAG1C,4BAAQxB,IAAK,EAAGwB,MAAO,GAAvB,UAPJ,UAQKtL,KAAKQ,MAAMghC,YARhB,aAQK,EAAiBn/B,KAAI,SAACuH,EAAMC,GAAP,OAClB,4BAAQC,IAAKD,EAAKyB,MAAO1B,EAAKwB,IAAKxB,EAAKjF,WAIpD,4BACI,4BACI2G,MAAOtL,KAAKQ,MAAM+iC,YAClBx7B,MAAO,CAAEuH,UAAW,OACpBK,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAE6+B,YAAa33B,EAAEC,OAAOP,UAG1C,4BAAQxB,IAAK,EAAGwB,MAAO,GAAvB,UAPJ,UAQKtL,KAAKQ,MAAMoH,YARhB,aAQK,EAAiBvF,KAAI,SAACuH,EAAMC,GAAP,OAClB,4BAAQC,IAAKD,EAAKyB,MAAO1B,EAAKwB,IAAKxB,EAAKjF,YAKxD,4BACI,yCACA,4BACI,2BACIiD,KAAK,SACL+H,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAE8+B,YAAa53B,EAAEC,OAAOP,SAE1CA,MAAOtL,KAAKQ,MAAMgjC,YAClBz7B,MAAO,CAAEsD,MAAO,QAChBa,UAAW,SAACN,GAGU,GAFRA,EAAEC,OAAOP,MAEX5I,QAAwB,aAATkJ,EAAE9B,KAA+B,OAAT8B,EAAE9B,KAAc8B,EAAEK,qBAI7E,4BACI,2BACIrE,KAAK,OACL+H,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAE++B,YAAa73B,EAAEC,OAAOP,SAE1CA,MAAOtL,KAAKQ,MAAMijC,eAG1B,4BACI,2BACI77B,KAAK,OACLG,MAAO,CAAEw6B,cAAe,aACxB5yB,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAEg/B,oBAAqB93B,EAAEC,OAAOP,SAElDA,MAAOtL,KAAKQ,MAAMkjC,uBAG1B,4BACI,2BACI97B,KAAK,SACL+H,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAEi/B,UAAW/3B,EAAEC,OAAOP,SAExCA,MAAOtL,KAAKQ,MAAMmjC,UAClB57B,MAAO,CAAEsD,MAAO,QAChBa,UAAW,SAACN,GAGU,GAFRA,EAAEC,OAAOP,MAEX5I,QAAwB,aAATkJ,EAAE9B,KAA+B,OAAT8B,EAAE9B,KAAc8B,EAAEK,qBAI7E,4BACI,4BACIX,MAAOtL,KAAKQ,MAAMojC,YAClB77B,MAAO,CAAEuH,UAAW,OACpBK,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAEk/B,YAAah4B,EAAEC,OAAOP,UAG1C,4BAAQxB,IAAK,EAAGwB,MAAO,GAAvB,UAPJ,UAQKtL,KAAKQ,MAAMghC,YARhB,aAQK,EAAiBn/B,KAAI,SAACuH,EAAMC,GAAP,OAClB,4BAAQC,IAAKD,EAAKyB,MAAO1B,EAAKwB,IAAKxB,EAAKjF,WAIpD,4BACI,4BACI2G,MAAOtL,KAAKQ,MAAMqjC,YAClB97B,MAAO,CAAEuH,UAAW,OACpBK,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAEm/B,YAAaj4B,EAAEC,OAAOP,UAG1C,4BAAQxB,IAAK,EAAGwB,MAAO,GAAvB,UAPJ,UAQKtL,KAAKQ,MAAMoH,YARhB,aAQK,EAAiBvF,KAAI,SAACuH,EAAMC,GAAP,OAClB,4BAAQC,IAAKD,EAAKyB,MAAO1B,EAAKwB,IAAKxB,EAAKjF,YAKxD,4BACI,yCACA,4BACI,2BACIiD,KAAK,SACL+H,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAEo/B,YAAal4B,EAAEC,OAAOP,SAE1CA,MAAOtL,KAAKQ,MAAMsjC,YAClB/7B,MAAO,CAAEsD,MAAO,QAChBa,UAAW,SAACN,GAGU,GAFRA,EAAEC,OAAOP,MAEX5I,QAAwB,aAATkJ,EAAE9B,KAA+B,OAAT8B,EAAE9B,KAAc8B,EAAEK,qBAI7E,4BACI,2BACIrE,KAAK,OACL+H,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAEq/B,YAAan4B,EAAEC,OAAOP,SAE1CA,MAAOtL,KAAKQ,MAAMujC,eAG1B,4BACI,2BACIn8B,KAAK,OACLG,MAAO,CAAEw6B,cAAe,aACxB5yB,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAEs/B,oBAAqBp4B,EAAEC,OAAOP,SAElDA,MAAOtL,KAAKQ,MAAMwjC,uBAG1B,4BACI,2BACIp8B,KAAK,SACL+H,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAEu/B,UAAWr4B,EAAEC,OAAOP,SAExCA,MAAOtL,KAAKQ,MAAMyjC,UAClBl8B,MAAO,CAAEsD,MAAO,QAChBa,UAAW,SAACN,GAGU,GAFRA,EAAEC,OAAOP,MAEX5I,QAAwB,aAATkJ,EAAE9B,KAA+B,OAAT8B,EAAE9B,KAAc8B,EAAEK,qBAI7E,4BACI,4BACIX,MAAOtL,KAAKQ,MAAM0jC,YAClBn8B,MAAO,CAAEuH,UAAW,OACpBK,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAEw/B,YAAat4B,EAAEC,OAAOP,UAG1C,4BAAQxB,IAAK,EAAGwB,MAAO,GAAvB,UAPJ,UAQKtL,KAAKQ,MAAMghC,YARhB,aAQK,EAAiBn/B,KAAI,SAACuH,EAAMC,GAAP,OAClB,4BAAQC,IAAKD,EAAKyB,MAAO1B,EAAKwB,IAAKxB,EAAKjF,WAIpD,4BACI,4BACI2G,MAAOtL,KAAKQ,MAAM2jC,YAClBp8B,MAAO,CAAEuH,UAAW,OACpBK,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAEy/B,YAAav4B,EAAEC,OAAOP,UAG1C,4BAAQxB,IAAK,EAAGwB,MAAO,GAAvB,UAPJ,UAQKtL,KAAKQ,MAAMoH,YARhB,aAQK,EAAiBvF,KAAI,SAACuH,EAAMC,GAAP,OAClB,4BAAQC,IAAKD,EAAKyB,MAAO1B,EAAKwB,IAAKxB,EAAKjF,cAOhE,6BAEA,2BAAO0d,YAAa,GAChB,+BACI,4BACI,4BACI,kBAAC,EAAD,CACIjY,KAAK,OACLJ,MAAM,cACNC,YAAa,SAAC2B,GACV,EAAKlH,SAAS,CAAE0/B,WAAYx4B,KAEhC1B,MAAOlK,KAAKQ,MAAM4jC,WAClBj6B,MAAO,CAAEkB,MAAO,UAGxB,4BACI,kBAAC,EAAD,CACIjB,KAAK,OACLJ,MAAM,kBACNC,YAAa,SAAC2B,GACV,EAAKlH,SAAS,CAAE2/B,cAAez4B,KAEnC1B,MAAOlK,KAAKQ,MAAM6jC,cAClBl6B,MAAO,CAAEkB,MAAO,aAMpC,2BAAOgX,YAAa,GAChB,+BACI,4BACI,4BACI,kBAAC,EAAD,CACIjY,KAAK,OACLJ,MAAM,eACNC,YAAa,SAAC2B,GACV,EAAKlH,SAAS,CAAE4/B,YAAa14B,KAEjC1B,MAAOlK,KAAKQ,MAAM8jC,YAClBn6B,MAAO,CAAEkB,MAAO,UAGxB,4BACI,kBAAC,EAAD,CACIjB,KAAK,OACLJ,MAAM,mBACNC,YAAa,SAAC2B,GACV,EAAKlH,SAAS,CAAE6/B,gBAAiB34B,KAErC1B,MAAOlK,KAAKQ,MAAM+jC,gBAClBp6B,MAAO,CAAEkB,MAAO,aAMpC,2BAAOgX,YAAa,GAChB,+BACI,4BACI,4BACI,kBAAC,EAAD,CACIjY,KAAK,OACLJ,MAAM,iBACNC,YAAa,SAAC2B,GACV,EAAKlH,SAAS,CAAE8/B,cAAe54B,KAEnC1B,MAAOlK,KAAKQ,MAAMgkC,cAClBr6B,MAAO,CAAEkB,MAAO,UAGxB,4BACI,kBAAC,EAAD,CACIjB,KAAK,OACLJ,MAAM,yBACNC,YAAa,SAAC2B,GACV,EAAKlH,SAAS,CAAE+/B,qBAAsB74B,KAE1C1B,MAAOlK,KAAKQ,MAAMikC,qBAClBt6B,MAAO,CAAEkB,MAAO,cAMpC,2BAAOgX,YAAa,GAChB,+BACI,4BACI,4BACI,kBAAC,EAAD,CACIjY,KAAK,OACLJ,MAAM,iBACNC,YAAa,SAAC2B,GACV,EAAKlH,SAAS,CAAEggC,cAAe94B,KAEnC1B,MAAOlK,KAAKQ,MAAMkkC,cAClBv6B,MAAO,CAAEkB,MAAO,UAGxB,4BACI,kBAAC,EAAD,CACIjB,KAAK,OACLJ,MAAM,yBACNC,YAAa,SAAC2B,GACV,EAAKlH,SAAS,CAAEigC,qBAAsB/4B,KAE1C1B,MAAOlK,KAAKQ,MAAMmkC,qBAClBx6B,MAAO,CAAEkB,MAAO,cAMpC,6BACA,2BAAOgX,YAAa,GAChB,+BACI,4BACI,4BACI,kBAAC,EAAD,CACIjY,KAAK,SACLJ,MAAM,eACNC,YAAa,SAAC2B,GACV,IAAIk2B,EAAY,EAAKthC,MAAMohC,sBAC3BE,EAAU8C,YAAmB,IAALh5B,EAAU,KAAOA,EAEzC,EAAKlH,SAAS,CAAEk9B,sBAAuBE,KAE3C53B,MAAK,UAAElK,KAAKQ,MAAMohC,6BAAb,aAAE,EAAkCgD,YACzCz6B,MAAO,CAAEkB,MAAO,WAGxB,4BACI,kBAAC,EAAD,CACIjB,KAAK,SACLJ,MAAM,cACNC,YAAa,SAAC2B,GACV,EAAKlH,SAAS,CAAEmgC,WAAYj5B,KAEhC1B,MAAOlK,KAAKQ,MAAMqkC,WAClB16B,MAAO,CAAEkB,MAAO,YAK5B,4BACI,4BACI,kBAAC,EAAD,CACIjB,KAAK,OACLJ,MAAM,uBACNC,YAAa,SAAC2B,GACV,IAAIk2B,EAAY,EAAKthC,MAAMohC,sBAC3BE,EAAUgD,YAAcl5B,EAExB,EAAKlH,SAAS,CAAEk9B,sBAAuBE,KAE3C53B,MAAK,UAAElK,KAAKQ,MAAMohC,6BAAb,aAAE,EAAkCkD,YACzC36B,MAAO,CAAEkB,MAAO,WAGxB,4BACI,kBAAC,EAAD,CACIjB,KAAK,OACLJ,MAAM,sBACNC,YAAa,SAAC2B,GACV,EAAKlH,SAAS,CAAEqgC,WAAYn5B,KAEhC1B,MAAOlK,KAAKQ,MAAMukC,WAClB56B,MAAO,CAAEkB,MAAO,YAK5B,4BACI,4BACI,kBAAC,EAAD,CACIjB,KAAK,OACLJ,MAAM,gBACNC,YAAa,SAAC2B,GACV,IAAIk2B,EAAY,EAAKthC,MAAMohC,sBAC3BE,EAAUkD,aAAep5B,EAEzB,EAAKlH,SAAS,CAAEk9B,sBAAuBE,KAE3C53B,MAAK,UAAElK,KAAKQ,MAAMohC,6BAAb,aAAE,EAAkCoD,aACzC76B,MAAO,CAAEkB,MAAO,WAGxB,4BACI,kBAAC,EAAD,CACIjB,KAAK,OACLJ,MAAM,eACNC,YAAa,SAAC2B,GACV,EAAKlH,SAAS,CAAEugC,YAAar5B,KAEjC1B,MAAOlK,KAAKQ,MAAMykC,YAClB96B,MAAO,CAAEkB,MAAO,cAMpC,2BAAOgX,YAAa,GAChB,+BACI,4BACI,4BACI,kBAAC,EAAD,CACIjY,KAAK,OACLJ,MAAM,cACNC,YAAa,SAAC2B,GACV,EAAKlH,SAAS,CAAEwgC,WAAYt5B,KAEhC1B,MAAOlK,KAAKQ,MAAM0kC,WAClB/6B,MAAO,CAAEkB,MAAO,OAAQk3B,cAAe,gBAG/C,4BACI,kBAAC,EAAD,CACIn4B,KAAK,OACLJ,MAAM,aACNC,YAAa,SAAC2B,GACV,EAAKlH,SAAS,CAAEygC,UAAWv5B,KAE/B1B,MAAOlK,KAAKQ,MAAM2kC,UAClBh7B,MAAO,CAAEkB,MAAO,OAAQk3B,cAAe,mBAM3D,2BAAOlgB,YAAa,GAChB,+BACI,4BACI,4BACI,kBAAC,EAAD,CACIjY,KAAK,SACLJ,MAAM,gBACNC,YAAa,SAAC2B,GACV,EAAKlH,SAAS,CAAE0gC,aAAcx5B,KAElC1B,MAAOlK,KAAKogB,eAAepgB,KAAKQ,MAAM4kC,cACtCj7B,MAAO,CAAEkB,MAAO,WAGxB,4BACI,kBAAC,EAAD,CACIjB,KAAK,SACLJ,MAAM,eACNC,YAAa,SAAC2B,GACV,EAAKlH,SAAS,CAAE2gC,YAAaz5B,KAEjC1B,MAAOlK,KAAKogB,eAAepgB,KAAKQ,MAAM6kC,aACtCl7B,MAAO,CAAEkB,MAAO,eAOxC,yBAAK7F,UAAU,yBACX,2BAAOuC,MAAO,CAAEsD,MAAO,OAAQuF,OAAQ,SACnC,+BACI,4BACI,wBAAID,MAAM,SAASE,OAAO,UACtB,4BACIrL,UAAU,gBACVuC,MAAO,CAAE8H,WAAY,UACrBrE,WAAUxL,KAAKQ,MAAM2M,QACrB9G,QAAS,WACL,EAAK8b,SALb,kBAjgCpC,GAA4Bzc,aCCf4/B,GAAb,kDACI,WAAYrhC,GAAQ,IAAD,8BACf,cAAMA,IAEDzD,MAAQ,CACT2M,SAAS,GAJE,EADvB,gLAakB,OAHN/B,EAAKgC,eAAeoB,QAAQ,SAI5BxO,KAAK0E,SAAS,CAAE6a,oBAAqBnU,EAAIgQ,YAAY,IACrDpb,KAAKulC,SAASn6B,IAf1B,8KAmBmBA,GAnBnB,4EAoBoBxE,IACNC,IAAI,oBACL0G,MAAK,SAACzL,GACH,EAAK4C,SAAS,CAAE8gC,MAAO1jC,GAAvB,sBACI,sBAAAgC,EAAA,sEACU9D,KAAKqf,SAASjU,GADxB,oDAxBpB,0IA+BQ,GAAuC,cAAnCpL,KAAKQ,MAAMmf,oBAAqC,CAChD,IAAIC,EAAI5f,KAAKQ,MAGTqf,EAFgB7f,KAAK8f,YAAYF,EAAEG,eACxB/f,KAAK8f,YAAYF,EAAEI,UAI9B1P,EAAauP,GAFL7f,KAAK8f,YAAYF,EAAEK,iBACbjgB,KAAK8f,YAAYF,EAAEM,kBAGjCC,EAAUngB,KAAKogB,eAAe9P,GAElC,GAAI6P,GAAWA,EAAQzT,WAAW,OAASyT,EAAQrX,SAAS,KACxDqX,GAAoB,WAEnB,GAAIA,EAAQzT,WAAW,MAAQyT,EAAQrX,SAAS,KAAM,CAElC,IADjB6D,EAAMwT,EAAQvT,MAAM,MAChB,GAAGlK,SACPyd,GAAoB,MAGH,GAAjBxT,EAAI,GAAGjK,SACPyd,GAAoB,KAI5B,IAAIE,EAAWrgB,KAAKogB,eAAeP,GAEnC,GAAIQ,GAAYA,EAAS3T,WAAW,OAAS2T,EAASvX,SAAS,KAC3DuX,GAAsB,WAErB,GAAIA,EAAS3T,WAAW,MAAQ2T,EAASvX,SAAS,KAAM,CACzD,IAAI6D,EACiB,IADjBA,EAAM0T,EAASzT,MAAM,MACjB,GAAGlK,SACP2d,GAAsB,MAGL,GAAjB1T,EAAI,GAAGjK,SACP2d,GAAsB,KAI9BrgB,KAAK0E,SAAS,CAAE4b,UAAWD,EAAUE,WAAYJ,IAAW,WACxDngB,KAAKylC,sBAzErB,wEA8EmBr6B,GA9EnB,4EA+EQ,IACIpL,KAAK0E,SAAS,CAAEyI,SAAS,IACbvG,IACNC,IAAI,wBAA0BuE,GAC/BmC,MAAK,SAACzL,GACH,GAAIA,EAAM,CACN,IAAI8f,EAAS,EAAKphB,MAClB,IAAK,IAAMsJ,KAAOhI,EACd,GAAiB,MAAbA,EAAKgI,GAAc,CACnB,IAAI+X,EAAO/X,EAAIgY,OAAO,GAAGC,cAAgBjY,EAAIkY,MAAM,GAC/CxB,EAAS1e,EAAKgI,GAClB8X,EAAOC,GAAQrB,EAGvB,EAAK9b,SAASkd,GAAQ,WAClB5hB,KAAKiiB,kBACLjiB,KAAK0E,SAAS,CAAEyI,SAAS,IACzBnN,KAAKylC,uBAKzB,MAAOv8B,GACHlJ,KAAK0E,SAAS,CAAEyI,SAAS,IACzBrM,QAAQC,IAAI,cAAgBmI,GAvGxC,yIA2GgBoC,GACR,QAAa5J,GAAT4J,GAA+B,GAATA,GAAuB,MAATA,EAAe,OAAO,EAI9D,IAAIkV,EAAM,OAAGlV,QAAH,IAAGA,OAAH,EAAGA,EAAOwN,WAAWtM,QAAQ,KAAM,IAAIA,QAAQ,IAAK,IAE9D,OAAIgU,EAAO9d,OAAS,EAEF+d,MAAMD,SAAqB9e,GAAV8e,EAAuB,EAAIE,WAAWF,GAI9D,IAxHnB,qCA4HmBlV,GACX,QAAa5J,GAAT4J,GAA+B,GAATA,EAAY,MAAO,GAC7C,IAAIqV,EAAUrV,EAAMwN,WAAWtM,QAAQ,KAAM,IAAIA,QAAQ,IAAK,IAE1DoU,EAAM,GACNJ,EAAS,GAETK,EAAWF,EAAQ/T,MAAM,KAW7B,OAVwB,IAAZ,OAARiU,QAAQ,IAARA,OAAA,EAAAA,EAAUne,QACV8d,EAASG,EAAQ/T,MAAM,KAAK,IAEf,OAARiU,QAAQ,IAARA,OAAA,EAAAA,EAAUne,QAAS,GACxB8d,EAASG,EAAQ/T,MAAM,KAAK,GAC5BgU,EAAM,IAAMD,EAAQ/T,MAAM,KAAK,GAAGkU,UAAU,EAAG,IAG/CN,EAASG,EAETH,EAAO9d,OAAS,EACT,IAAIqe,KAAKC,kBAAatf,EAAW,CACpCqG,MAAO,WACPkZ,SAAU,MACVC,sBAAuB,EACvBC,sBAAuB,IACxBC,OAAOZ,GAAUI,OANxB,IA9IR,2BAwJSvX,EAAW9H,GAAM,IAAD,OACbO,EAAO9B,KAAKQ,MAEhBR,KAAK0E,SAAS,CACVyI,SAAS,IAGDvG,IAENG,KAAK,qBAAsBjF,GAC5ByL,MAAK,SAACnC,GACCA,OACW1J,GAAPH,EACAiG,OAAOmH,SAASzG,KAAO3G,EAGL,IAAd8H,GACA,EAAK3E,SAAS,CACV4a,GAAIlU,EACJ+B,SAAS,EACT0Y,oBAAqB,qBACrBC,kBAAkB,IAM9B,EAAKphB,SAAS,CACV2E,WAAW,EACXuF,aAAc,+DACdzB,SAAS,SAtLjC,sCA6LQ,IAAIu4B,EAAO,EACPC,EAAa,GAEjB,QAA8BjkC,IAA1B1B,KAAKQ,MAAM+f,iBAAsD7e,IAA1B1B,KAAKQ,MAAMolC,WAClD,KAAIt1B,EAAatQ,KAAKQ,MAAM+f,WAAWzH,WAAWtM,QAAQ,KAAM,IAAIA,QAAQ,IAAK,IAC7EwiB,EAAahvB,KAAKQ,MAAMolC,WAAW9sB,WAAWtM,QAAQ,KAAM,IAAIA,QAAQ,IAAK,IAE7Eq5B,EAAMnlB,WAAWpQ,GAAcoQ,WAAWsO,EAAa,KACvD0W,EAAOtU,KAAK0U,KAAW,IAAND,GAAa,IAKtC,IAFAF,EAAa3lC,KAAKogB,eAAeslB,IAElBh5B,WAAW,OAASi5B,EAAW78B,SAAS,KACnD68B,GAA0B,WAEzB,GAAIA,EAAWj5B,WAAW,MAAQi5B,EAAW78B,SAAS,KAAM,CAC7D,IAAI6D,EAAMg5B,EAAW/4B,MAAM,KACN,GAAjBD,EAAI,GAAGjK,SACPijC,GAA0B,MAGT,GAAjBh5B,EAAI,GAAGjK,SACPijC,GAA0B,KAIlC3lC,KAAK0E,SAAS,CAAEqhC,UAAoB,IAATL,EAAa,GAAKC,MAxNrD,kCA2NgBhe,GACR,MAAe,IAAXA,QAA6BjmB,IAAZimB,EAA8BA,EAEnCA,EAAQ/a,MAAM,KACb,KA/NzB,+BAkOc,IAAD,iBACL,OACI,yBAAKpH,UAAU,iBACX,kBAAC,GAAD,CACI4V,WAAYpb,KAAKQ,MAAM4a,WACvBC,aAAcrb,KAAKQ,MAAM+e,oBACzB3R,SAAU5N,KAAKQ,MAAMwmB,iBACrB1L,YAAa,SAAC1P,GAAD,OAAO,EAAKuW,KAAKvW,MAElC,kBAAC,EAAD,CACIxC,UAAWpJ,KAAKQ,MAAMoO,aACtBtF,UAAWtJ,KAAKQ,MAAMqO,WACtBxF,UAAWrJ,KAAKQ,MAAM6I,UACtBE,aAAc,kBAAM,EAAK7E,SAAS,CAAE2E,WAAW,KAC/CG,mBAAoB,MAExB,kBAAC,EAAD,CACIJ,UAAWpJ,KAAKQ,MAAMqlB,oBACtBxc,UAAWrJ,KAAKQ,MAAMslB,iBACtBvc,aAAc,kBAAM,EAAK7E,SAAS,CAAEohB,kBAAkB,KACtDtc,mBAAoB,IACpBC,gBAAgB,IAEpB,yBAAKjE,UAAU,+BACa,IAAvBxF,KAAKQ,MAAM2M,QACR,6BACI,kBAAC2B,EAAA,EAAD,CAASC,MAAM,OAAOpI,SAAS,GAAGoB,MAAO,CAAEiH,SAAU,QAASC,IAAK,MAAOC,KAAM,UAElF,KAEN,2BAAO82B,YAAU,EAAC3jB,YAAa,GAC3B,+BACI,4BACI,wBAAI1R,MAAM,OAAOD,QAAS,GACtB,2BAAO3I,MAAO,CAAEkF,SAAU,OAAQ0R,WAAY,MAAO5P,MAAO,YAA5D,wBAGR,4BACI,4BACI,4BACIzD,MAAOtL,KAAKQ,MAAMylC,OAClBt2B,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAEuhC,OAAQr6B,EAAEC,OAAOP,UAGrC,4BAAQxB,IAAK,EAAGwB,MAAO,GAAvB,sBANJ,UAOKtL,KAAKQ,MAAMglC,aAPhB,aAOK,EAAkBnjC,KAAI,SAACuH,EAAMC,GAAP,OACnB,4BAAQC,IAAKD,EAAKyB,MAAO1B,EAAKwB,IAAKxB,EAAKjF,WAIpD,4BACI,kBAAC,EAAD,CACIyF,KAAK,OACLJ,MAAM,kBACNC,YAAa,SAAC2B,GACV,EAAKlH,SAAS,CAAEwhC,mBAAoBt6B,IAAK,gBAI7C1B,MAAK,UAAElK,KAAKQ,MAAM0lC,0BAAb,QAAmC,GACxC/7B,MAAO,CAAEkB,MAAO,YAGxB,4BACI,kBAAC,EAAD,CACIjB,KAAK,OACLJ,MAAM,gBACNC,YAAa,SAAC2B,GACV,EAAKlH,SAAS,CAAEyhC,YAAav6B,IAAK,gBAItC1B,MAAK,UAAElK,KAAKQ,MAAM2lC,mBAAb,QAA4B,GACjCh8B,MAAO,CAAEkB,MAAO,eAMpC,2BAAO26B,YAAU,EAAC3jB,YAAa,GAC3B,+BACI,4BACI,4BACI,kBAAC,EAAD,CACIjY,KAAK,SACLJ,MAAM,QACNC,YAAa,SAAC2B,GACV,EAAKlH,SAAS,CAAEkhC,WAAYh6B,IAAK,WAC7B5L,KAAKylC,oBAGbv7B,MAAOlK,KAAKQ,MAAMolC,WAClBz7B,MAAO,CAAEkB,MAAO,YAGxB,4BACI,kBAAC,EAAD,CACIjB,KAAK,SACLJ,MAAM,eACNC,YAAa,SAAC2B,GACV,EAAKlH,SAAS,CACVqhC,UAAWn6B,KAGnB1B,MAAOlK,KAAKogB,eAAepgB,KAAKQ,MAAMulC,WACtC57B,MAAO,CAAEkB,MAAO,YAGxB,4BACI,kBAAC,EAAD,CACIjB,KAAK,OACLJ,MAAM,eACNC,YAAa,SAAC2B,GACV,EAAKlH,SAAS,CAAE0hC,YAAax6B,IAAK,gBAItC1B,MAAOlK,KAAKqmB,YAAYrmB,KAAKQ,MAAM4lC,aACnCj8B,MAAO,CAAEkB,MAAO,aAI5B,4BACI,4BACI,kBAAC,EAAD,CACIjB,KAAK,SACLJ,MAAM,gBACNK,cAAe,EACfJ,YAAa,SAAC2B,GACV,EAAKlH,SAAS,CAAEgd,KAAM9V,IAAK,gBAI/B1B,MAAK,UAAElK,KAAKQ,MAAMkhB,YAAb,QAAqB,GAC1BvX,MAAO,CAAEkB,MAAO,YAGxB,4BACI,kBAAC,EAAD,CACIjB,KAAK,SACLJ,MAAM,gBACNC,YAAa,SAAC2B,GACV,EAAKlH,SAAS,CAAE2hC,aAAcz6B,IAAK,gBAIvC1B,MAAK,UAAElK,KAAKQ,MAAM6lC,oBAAb,QAA6B,GAClCl8B,MAAO,CAAEkB,MAAO,YAGxB,8BAEJ,4BACI,4BACI,kBAAC,EAAD,CACIjB,KAAK,SACLJ,MAAM,kBACNC,YAAa,SAAC2B,GACV,EAAKlH,SAAS,CAAE4hC,eAAgB16B,IAAK,gBAIzC1B,MAAOlK,KAAKogB,eAAepgB,KAAKQ,MAAM8lC,gBACtCn8B,MAAO,CAAEkB,MAAO,YAGxB,4BACI,kBAAC,EAAD,CACIjB,KAAK,OACLJ,MAAM,mBACNC,YAAa,SAAC2B,GACV,EAAKlH,SAAS,CAAE6hC,cAAe36B,IAAK,gBAIxC1B,MAAOlK,KAAKqmB,YAAYrmB,KAAKQ,MAAM+lC,eACnCp8B,MAAO,CAAEkB,MAAO,YAGxB,4BACI,kBAAC,EAAD,CACIjB,KAAK,OACLJ,MAAM,yBACNC,YAAa,SAAC2B,GACV,EAAKlH,SAAS,CAAE8hC,oBAAqB56B,IAAK,gBAI9C1B,MAAOlK,KAAKqmB,YAAYrmB,KAAKQ,MAAMgmC,qBACnCr8B,MAAO,CAAEkB,MAAO,YAGxB,4BACI,kBAAC,EAAD,CACIjB,KAAK,OACLJ,MAAM,gBACNC,YAAa,SAAC2B,GACV,EAAKlH,SAAS,CAAE+hC,aAAc76B,IAAK,gBAIvC1B,MAAOlK,KAAKqmB,YAAYrmB,KAAKQ,MAAMimC,cACnCt8B,MAAO,CAAEkB,MAAO,aAI5B,4BACI,4BACI,kBAAC,EAAD,CACIjB,KAAK,SACLJ,MAAM,sBACNC,YAAa,SAAC2B,GACV,EAAKlH,SAAS,CAAEgiC,kBAAmB96B,IAAK,gBAI5C1B,MAAOlK,KAAKogB,eAAepgB,KAAKQ,MAAMkmC,mBACtCv8B,MAAO,CAAEkB,MAAO,YAGxB,4BACI,kBAAC,EAAD,CACIjB,KAAK,SACLJ,MAAM,mBACNC,YAAa,SAAC2B,GACV,EAAKlH,SAAS,CAAEiiC,cAAe/6B,IAAK,gBAIxC1B,MAAOlK,KAAKogB,eAAepgB,KAAKQ,MAAMmmC,eACtCx8B,MAAO,CAAEkB,MAAO,YAGxB,8BAGJ,4BACI,4BACI,kBAAC,EAAD,CACIjB,KAAK,SACLJ,MAAM,iBACNC,YAAa,SAAC2B,GACV,EAAKlH,SAAS,CAAEqb,cAAenU,IAAK,WAChC5L,KAAKiiB,sBAGb/X,MAAOlK,KAAKogB,eAAepgB,KAAKQ,MAAMuf,eACtC5V,MAAO,CAAEkB,MAAO,YAGxB,6BACA,8BAEJ,4BACI,4BACI,kBAAC,EAAD,CACIjB,KAAK,SACLJ,MAAM,YACNC,YAAa,SAAC2B,GACV,EAAKlH,SAAS,CAAEsb,SAAUpU,IAAK,WAC3B5L,KAAKiiB,sBAGb/X,MAAOlK,KAAKogB,eAAepgB,KAAKQ,MAAMwf,UACtC7V,MAAO,CAAEkB,MAAO,YAGxB,6BACA,8BAEJ,6BACA,4BACI,4BACI,kBAAC,EAAD,CACIjB,KAAK,SACLJ,MAAM,aACNC,YAAa,SAAC2B,GACV,EAAKlH,SAAS,CAAE4b,UAAW1U,IAAK,WAC5B5L,KAAKiiB,sBAGb/X,MAAOlK,KAAKogB,eAAepgB,KAAKQ,MAAM8f,WACtCnW,MAAO,CAAEkB,MAAO,YAGxB,6BACA,8BAEJ,4BACI,4BACI,kBAAC,EAAD,CACIjB,KAAK,SACLJ,MAAM,mBACNC,YAAa,SAAC2B,GACV,EAAKlH,SAAS,CAAEub,gBAAiBrU,IAAK,WAClC5L,KAAKiiB,sBAGb/X,MAAOlK,KAAKogB,eAAepgB,KAAKQ,MAAMyf,iBACtC9V,MAAO,CAAEkB,MAAO,YAGxB,6BACA,8BAEJ,4BACI,4BACI,kBAAC,EAAD,CACIjB,KAAK,SACLJ,MAAM,YACNC,YAAa,SAAC2B,GACV,EAAKlH,SAAS,CAAEwb,gBAAiBtU,IAAK,WAClC5L,KAAKiiB,sBAGb/X,MAAOlK,KAAKogB,eAAepgB,KAAKQ,MAAM0f,iBACtC/V,MAAO,CAAEkB,MAAO,YAGxB,6BACA,8BAEJ,6BACA,4BACI,4BACI,kBAAC,EAAD,CACIjB,KAAK,SACLJ,MAAM,cACNC,YAAa,SAAC2B,GACV,EAAKlH,SAAS,CAAE6b,WAAY3U,IAAK,gBAIrC1B,MAAOlK,KAAKogB,eAAepgB,KAAKQ,MAAM+f,YACtCpW,MAAO,CAAEkB,MAAO,YAGxB,6BACA,gCAIZ,2BAAO26B,YAAU,GACb,+BACI,4BACI,wBAAIt1B,QAAS,EAAG3I,MAAO,CAAEkF,SAAU,OAAQ0R,WAAY,MAAO8D,WAAY,QAAU9R,MAAM,QAA1F,uBAIJ,4BACI,4BACI,2BAAOq1B,YAAU,EAAC3jB,YAAa,GAC3B,+BACI,4BACI,sCACA,0CACA,sCACA,qCACA,qCAEJ,4BACI,wBAAIxR,OAAO,UAAX,UACA,wBAAIA,OAAO,UACP,2BACIjJ,KAAK,OACL0D,MAAOtL,KAAKQ,MAAMomC,gBAClBj3B,SAAU,SAAC/D,GAAQ,EAAKlH,SAAS,CAAEkiC,gBAAiBh7B,EAAEC,OAAOP,YAGrE,wBAAIuF,OAAO,UACP,2BACIjJ,KAAK,OACL0D,MAAOtL,KAAKogB,eAAepgB,KAAKQ,MAAMqmC,cACtCl3B,SAAU,SAAC/D,GAAQ,EAAKlH,SAAS,CAAEmiC,aAAcj7B,EAAEC,OAAOP,SAC1DQ,WAAY,SAACC,GAET,GADY,cACDC,KAAKD,EAAMjC,KAIlB,OAAO,EAHPiC,EAAME,kBAMdQ,OAAQ,SAACb,GACL,IAAIO,EAAM,EAAK3L,MAAMqmC,aACrB,GAAIj7B,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,OAASd,EAAEC,OAAOP,MAAMxC,SAAS,KAC7EqD,GAAY,WAEX,GAAIP,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,MAAQd,EAAEC,OAAOP,MAAMxC,SAAS,KAAM,CACvF,IAAI6D,EAAMf,EAAEC,OAAOP,MAAMsB,MAAM,KACV,GAAjBD,EAAI,GAAGjK,SACPyJ,GAAY,MAGK,GAAjBQ,EAAI,GAAGjK,SACPyJ,GAAY,KAGpB,EAAKzH,SAAS,CACVmiC,aAAc16B,QAK9B,wBAAIwE,MAAM,SAASE,OAAO,UACtB,2BACIjJ,KAAK,WACL4S,QAASxa,KAAKQ,MAAMsmC,YACpBn3B,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CACVoiC,aAAc,EAAKtmC,MAAMsmC,YACzBC,WAAY,EAAKvmC,MAAMsmC,kBAKvC,wBAAIn2B,MAAM,SAASE,OAAO,UACtB,2BACIjJ,KAAK,WACL4S,QAASxa,KAAKQ,MAAMumC,WACpBp3B,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CACVqiC,YAAa,EAAKvmC,MAAMumC,WACxBD,YAAa,EAAKtmC,MAAMumC,kBAM5C,4BACI,wBAAIl2B,OAAO,UAAX,kBACA,wBAAIA,OAAO,UACP,2BACIjJ,KAAK,OACL0D,MAAOtL,KAAKQ,MAAMwmC,qBAClBr3B,SAAU,SAAC/D,GAAQ,EAAKlH,SAAS,CAAEsiC,qBAAsBp7B,EAAEC,OAAOP,YAG1E,wBAAIuF,OAAO,UACP,2BACIjJ,KAAK,OACL0D,MAAOtL,KAAKogB,eAAepgB,KAAKQ,MAAMymC,mBACtCt3B,SAAU,SAAC/D,GAAQ,EAAKlH,SAAS,CAAEuiC,kBAAmBr7B,EAAEC,OAAOP,SAC/DQ,WAAY,SAACC,GAET,GADY,cACDC,KAAKD,EAAMjC,KAIlB,OAAO,EAHPiC,EAAME,kBAMdQ,OAAQ,SAACb,GACL,IAAIO,EAAM,EAAK3L,MAAMymC,kBACrB,GAAIr7B,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,OAASd,EAAEC,OAAOP,MAAMxC,SAAS,KAC7EqD,GAAY,WAEX,GAAIP,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,MAAQd,EAAEC,OAAOP,MAAMxC,SAAS,KAAM,CACvF,IAAI6D,EAAMf,EAAEC,OAAOP,MAAMsB,MAAM,KACV,GAAjBD,EAAI,GAAGjK,SACPyJ,GAAY,MAGK,GAAjBQ,EAAI,GAAGjK,SACPyJ,GAAY,KAGpB,EAAKzH,SAAS,CACVuiC,kBAAmB96B,QAKnC,wBAAIwE,MAAM,SAASE,OAAO,UACtB,2BACIjJ,KAAK,WACL4S,QAASxa,KAAKQ,MAAM0mC,iBACpBv3B,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CACVwiC,iBAAkBt7B,EAAEC,OAAO2O,QAC3B2sB,iBAAkBv7B,EAAEC,OAAO2O,cAK3C,wBAAI7J,MAAM,SAASE,OAAO,UACtB,2BACIjJ,KAAK,WACL4S,QAASxa,KAAKQ,MAAM2mC,gBACpBx3B,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CACVyiC,gBAAiBv7B,EAAEC,OAAO2O,QAC1B0sB,kBAAmBt7B,EAAEC,OAAO2O,eAMhD,4BACI,wBAAI3J,OAAO,UAAX,kBACA,wBAAIA,OAAO,UACP,2BACIjJ,KAAK,OACL0D,MAAOtL,KAAKQ,MAAM4mC,qBAClBz3B,SAAU,SAAC/D,GAAQ,EAAKlH,SAAS,CAAE0iC,qBAAsBx7B,EAAEC,OAAOP,YAG1E,wBAAIuF,OAAO,UACP,2BACIjJ,KAAK,OACL0D,MAAOtL,KAAKogB,eAAepgB,KAAKQ,MAAM6mC,mBACtC13B,SAAU,SAAC/D,GAAQ,EAAKlH,SAAS,CAAE2iC,kBAAmBz7B,EAAEC,OAAOP,SAC/DQ,WAAY,SAACC,GAET,GADY,cACDC,KAAKD,EAAMjC,KAIlB,OAAO,EAHPiC,EAAME,kBAMdQ,OAAQ,SAACb,GACL,IAAIO,EAAM,EAAK3L,MAAM6mC,kBACrB,GAAIz7B,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,OAASd,EAAEC,OAAOP,MAAMxC,SAAS,KAC7EqD,GAAY,WAEX,GAAIP,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,MAAQd,EAAEC,OAAOP,MAAMxC,SAAS,KAAM,CACvF,IAAI6D,EAAMf,EAAEC,OAAOP,MAAMsB,MAAM,KACV,GAAjBD,EAAI,GAAGjK,SACPyJ,GAAY,MAGK,GAAjBQ,EAAI,GAAGjK,SACPyJ,GAAY,KAGpB,EAAKzH,SAAS,CACV2iC,kBAAmBl7B,QAKnC,wBAAIwE,MAAM,SAASE,OAAO,UACtB,2BACIjJ,KAAK,WACL4S,QAASxa,KAAKQ,MAAM8mC,iBACpB33B,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CACV4iC,iBAAkB17B,EAAEC,OAAO2O,QAC3B+sB,iBAAkB37B,EAAEC,OAAO2O,cAK3C,wBAAI7J,MAAM,SAASE,OAAO,UACtB,2BACIjJ,KAAK,WACL4S,QAASxa,KAAKQ,MAAM+mC,gBACpB53B,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CACV6iC,gBAAiB37B,EAAEC,OAAO2O,QAC1B8sB,kBAAmB17B,EAAEC,OAAO2O,eAMhD,4BACI,wBAAI3J,OAAO,UAAX,aACA,wBAAIA,OAAO,UACP,2BACIjJ,KAAK,OACL0D,MAAOtL,KAAKQ,MAAMgnC,kBAClB73B,SAAU,SAAC/D,GAAQ,EAAKlH,SAAS,CAAE8iC,kBAAmB57B,EAAEC,OAAOP,YAGvE,wBAAIuF,OAAO,UACP,2BACIjJ,KAAK,OACL0D,MAAOtL,KAAKogB,eAAepgB,KAAKQ,MAAMinC,gBACtC93B,SAAU,SAAC/D,GAAQ,EAAKlH,SAAS,CAAE+iC,eAAgB77B,EAAEC,OAAOP,SAC5DQ,WAAY,SAACC,GAET,GADY,cACDC,KAAKD,EAAMjC,KAIlB,OAAO,EAHPiC,EAAME,kBAMdQ,OAAQ,SAACb,GACL,IAAIO,EAAM,EAAK3L,MAAMinC,eACrB,GAAI77B,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,OAASd,EAAEC,OAAOP,MAAMxC,SAAS,KAC7EqD,GAAY,WAEX,GAAIP,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,MAAQd,EAAEC,OAAOP,MAAMxC,SAAS,KAAM,CACvF,IAAI6D,EAAMf,EAAEC,OAAOP,MAAMsB,MAAM,KACV,GAAjBD,EAAI,GAAGjK,SACPyJ,GAAY,MAGK,GAAjBQ,EAAI,GAAGjK,SACPyJ,GAAY,KAGpB,EAAKzH,SAAS,CACV+iC,eAAgBt7B,QAKhC,wBAAIwE,MAAM,SAASE,OAAO,UACtB,2BACIjJ,KAAK,WACL4S,QAASxa,KAAKQ,MAAMknC,cACpB/3B,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CACVgjC,cAAe97B,EAAEC,OAAO2O,QACxBmtB,cAAe/7B,EAAEC,OAAO2O,cAKxC,wBAAI7J,MAAM,SAASE,OAAO,UACtB,2BACIjJ,KAAK,WACL4S,QAASxa,KAAKQ,MAAMmnC,aACpBh4B,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CACVijC,aAAc/7B,EAAEC,OAAO2O,QACvBktB,eAAgB97B,EAAEC,OAAO2O,eAM7C,4BACI,wBAAI3J,OAAO,UAAX,iBACA,wBAAIA,OAAO,UACP,2BACIjJ,KAAK,OACL0D,MAAOtL,KAAKQ,MAAMonC,sBAClBj4B,SAAU,SAAC/D,GAAQ,EAAKlH,SAAS,CAAEkjC,sBAAuBh8B,EAAEC,OAAOP,YAG3E,wBAAIuF,OAAO,UACP,2BACIjJ,KAAK,OACL0D,MAAOtL,KAAKogB,eAAepgB,KAAKQ,MAAMqnC,oBACtCl4B,SAAU,SAAC/D,GAAQ,EAAKlH,SAAS,CAAEmjC,mBAAoBj8B,EAAEC,OAAOP,SAChEQ,WAAY,SAACC,GAET,GADY,cACDC,KAAKD,EAAMjC,KAIlB,OAAO,EAHPiC,EAAME,kBAMdQ,OAAQ,SAACb,GACL,IAAIO,EAAM,EAAK3L,MAAMqnC,mBACrB,GAAIj8B,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,OAASd,EAAEC,OAAOP,MAAMxC,SAAS,KAC7EqD,GAAY,WAEX,GAAIP,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,MAAQd,EAAEC,OAAOP,MAAMxC,SAAS,KAAM,CACvF,IAAI6D,EAAMf,EAAEC,OAAOP,MAAMsB,MAAM,KACV,GAAjBD,EAAI,GAAGjK,SACPyJ,GAAY,MAGK,GAAjBQ,EAAI,GAAGjK,SACPyJ,GAAY,KAGpB,EAAKzH,SAAS,CACVmjC,mBAAoB17B,QAKpC,wBAAIwE,MAAM,SAASE,OAAO,UACtB,2BACIjJ,KAAK,WACL4S,QAASxa,KAAKQ,MAAMsnC,kBACpBn4B,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CACVojC,kBAAmBl8B,EAAEC,OAAO2O,QAC5ButB,kBAAmBn8B,EAAEC,OAAO2O,cAK5C,wBAAI7J,MAAM,SAASE,OAAO,UACtB,2BACIjJ,KAAK,WACL4S,QAASxa,KAAKQ,MAAMunC,iBACpBp4B,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CACVqjC,iBAAkBn8B,EAAEC,OAAO2O,QAC3BstB,mBAAoBl8B,EAAEC,OAAO2O,eAMjD,4BACI,wBAAI3J,OAAO,UAAX,UACA,wBAAIA,OAAO,UACP,2BACIjJ,KAAK,OACL0D,MAAOtL,KAAKQ,MAAMwnC,gBAClBr4B,SAAU,SAAC/D,GAAQ,EAAKlH,SAAS,CAAEsjC,gBAAiBp8B,EAAEC,OAAOP,YAGrE,wBAAIuF,OAAO,UACP,2BACIjJ,KAAK,OACL0D,MAAOtL,KAAKogB,eAAepgB,KAAKQ,MAAMynC,cACtCt4B,SAAU,SAAC/D,GAAQ,EAAKlH,SAAS,CAAEujC,aAAcr8B,EAAEC,OAAOP,SAC1DQ,WAAY,SAACC,GAET,GADY,cACDC,KAAKD,EAAMjC,KAIlB,OAAO,EAHPiC,EAAME,kBAMdQ,OAAQ,SAACb,GACL,IAAIO,EAAM,EAAK3L,MAAMynC,aACrB,GAAIr8B,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,OAASd,EAAEC,OAAOP,MAAMxC,SAAS,KAC7EqD,GAAY,WAEX,GAAIP,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,MAAQd,EAAEC,OAAOP,MAAMxC,SAAS,KAAM,CACvF,IAAI6D,EAAMf,EAAEC,OAAOP,MAAMsB,MAAM,KACV,GAAjBD,EAAI,GAAGjK,SACPyJ,GAAY,MAGK,GAAjBQ,EAAI,GAAGjK,SACPyJ,GAAY,KAGpB,EAAKzH,SAAS,CACVujC,aAAc97B,QAK9B,wBAAIwE,MAAM,SAASE,OAAO,UACtB,2BACIjJ,KAAK,WACL4S,QAASxa,KAAKQ,MAAM0nC,YACpBv4B,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CACVwjC,YAAat8B,EAAEC,OAAO2O,QACtB2tB,YAAav8B,EAAEC,OAAO2O,cAKtC,wBAAI7J,MAAM,SAASE,OAAO,UACtB,2BACIjJ,KAAK,WACL4S,QAASxa,KAAKQ,MAAM2nC,WACpBx4B,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CACVyjC,WAAYv8B,EAAEC,OAAO2O,QACrB0tB,aAAct8B,EAAEC,OAAO2O,eAM3C,4BACI,wBAAI3J,OAAO,UAAX,SACA,wBAAIA,OAAO,UACP,2BACIjJ,KAAK,OACL0D,MAAOtL,KAAKQ,MAAM4nC,gBAClBz4B,SAAU,SAAC/D,GAAQ,EAAKlH,SAAS,CAAE0jC,gBAAiBx8B,EAAEC,OAAOP,YAGrE,wBAAIuF,OAAO,UACP,2BACIjJ,KAAK,OACL0D,MAAOtL,KAAKogB,eAAepgB,KAAKQ,MAAM6nC,cACtC14B,SAAU,SAAC/D,GAAQ,EAAKlH,SAAS,CAAE2jC,aAAcz8B,EAAEC,OAAOP,SAC1DQ,WAAY,SAACC,GAET,GADY,cACDC,KAAKD,EAAMjC,KAIlB,OAAO,EAHPiC,EAAME,kBAMdQ,OAAQ,SAACb,GACL,IAAIO,EAAM,EAAK3L,MAAM6nC,aACrB,GAAIz8B,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,OAASd,EAAEC,OAAOP,MAAMxC,SAAS,KAC7EqD,GAAY,WAEX,GAAIP,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,MAAQd,EAAEC,OAAOP,MAAMxC,SAAS,KAAM,CACvF,IAAI6D,EAAMf,EAAEC,OAAOP,MAAMsB,MAAM,KACV,GAAjBD,EAAI,GAAGjK,SACPyJ,GAAY,MAGK,GAAjBQ,EAAI,GAAGjK,SACPyJ,GAAY,KAGpB,EAAKzH,SAAS,CACV2jC,aAAcl8B,QAK9B,wBAAIwE,MAAM,SAASE,OAAO,UACtB,2BACIjJ,KAAK,WACL4S,QAASxa,KAAKQ,MAAM8nC,YACpB34B,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CACV4jC,YAAa18B,EAAEC,OAAO2O,QACtB+tB,YAAa38B,EAAEC,OAAO2O,cAKtC,wBAAI7J,MAAM,SAASE,OAAO,UACtB,2BACIjJ,KAAK,WACL4S,QAASxa,KAAKQ,MAAM+nC,WACpB54B,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CACV6jC,WAAY38B,EAAEC,OAAO2O,QACrB8tB,aAAc18B,EAAEC,OAAO2O,eAM3C,4BACI,6BACA,wBAAI7J,MAAM,QAAQE,OAAO,UAAzB,eACA,wBAAIA,OAAO,UACP,2BACIjJ,KAAK,OACL0D,MAAOtL,KAAKogB,eAAepgB,KAAKQ,MAAM+f,YACtC5Q,SAAU,SAAC/D,GAAQ,EAAKlH,SAAS,CAAE6b,WAAY3U,EAAEC,OAAOP,SACxDQ,WAAY,SAACC,GAET,GADY,cACDC,KAAKD,EAAMjC,KAIlB,OAAO,EAHPiC,EAAME,kBAMdQ,OAAQ,SAACb,GACL,IAAIO,EAAM,EAAK3L,MAAM+f,WACrB,GAAI3U,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,OAASd,EAAEC,OAAOP,MAAMxC,SAAS,KAC7EqD,GAAY,WAEX,GAAIP,EAAEC,OAAOP,OAASM,EAAEC,OAAOP,MAAMoB,WAAW,MAAQd,EAAEC,OAAOP,MAAMxC,SAAS,KAAM,CACvF,IAAI6D,EAAMf,EAAEC,OAAOP,MAAMsB,MAAM,KACV,GAAjBD,EAAI,GAAGjK,SACPyJ,GAAY,MAGK,GAAjBQ,EAAI,GAAGjK,SACPyJ,GAAY,KAGpB,EAAKzH,SAAS,CACV6b,WAAYpU,QAK5B,6BAEA,iCAMhB,wBAAIwE,MAAM,SACN,8BACIf,YAAa,mBACbtE,MAAOtL,KAAKQ,MAAM8/B,MAClB3wB,SAAU,SAAC/D,GAAQ,EAAKlH,SAAS,CAAE47B,MAAO10B,EAAEC,OAAOP,SACnDvD,MAAO,CAAEsD,MAAO,QAASuF,OAAQ,QAASd,WAAY,OAAQkxB,OAAQ,eAO9F,yBAAKx7B,UAAU,yBACX,2BAAOuC,MAAO,CAAEsD,MAAO,OAAQuF,OAAQ,SACnC,+BACI,4BACI,wBAAID,MAAM,SAASE,OAAO,UACtB,4BACIrL,UAAU,gBACVuC,MAAO,CAAE8H,WAAY,UACrBrE,WAAUxL,KAAKQ,MAAM2M,QACrB9G,QAAS,WACL,EAAK8b,KAAK,KALlB,kBA7mCpC,GAA4Bzc,aC8Bb,O,wIAlCE8pB,EAAME,EAAgBrC,EAAegT,EAAO1Q,G,8EAEjDC,EAAW,IAAIC,UACVC,OAAO,OAAQN,GACxBI,EAASE,OAAO,iBAAkBJ,GAClCE,EAASE,OAAO,gBAAiBzC,GACjCuC,EAASE,OAAO,QAASuQ,GACzBzQ,EAASE,OAAO,qBAAqB,G,kBAC9BC,GAAKhpB,KAAK,gCAAiC6oB,EAAU,CACxDjnB,QAAS,CACL,eAAgB,uBAGpBgnB,sB,kLAGOtC,G,0FAEJ0C,GAAKlpB,IAAI,kCAAoCwmB,EAAgB,0BAA2B,CAC3F1kB,QAAS,M,8QAQNonB,GAAKlpB,IAAI,+CAAgD,CAC5D8B,QAAS,M,yGC1BA6/B,G,kDACjB,WAAYvkC,GAAQ,IAAD,8BACf,cAAMA,IAEDzD,MAAQ,CACTyvB,mBAAevuB,EACfwuB,cAAe,GACf/uB,QAAS,GACTgvB,UAAW,GACXC,WAAY,OACZC,cAAe,GACfC,eAAgB,GAGpB,EAAKC,WAAa,EAAKA,WAAW1qB,KAAhB,gBAClB,EAAK2qB,YAAc,EAAKA,YAAY3qB,KAAjB,gBACnB,EAAK4qB,aAAevR,IAAMC,YAfX,E,gEAkBE,IAAD,OAChBuR,GAAcC,mBACTpjB,MAAK,SAAC1L,GACH,EAAK6C,SAAS,CACV2rB,cAAexuB,EAASC,OACzB,WACC9B,KAAK4wB,0B,wCAKF,IAAD,OACdF,GAAcG,SAAS7wB,KAAKiE,MAAMipB,eAAe3f,MAAK,SAAC1L,GACnD,EAAK6C,SAAS,CACVyrB,UAAWtuB,EAASC,Y,yCAKbgvB,GAAY,IAAD,OACtBA,EAAU5D,gBAAkBltB,KAAKiE,MAAMipB,eACvCwD,GAAcG,SAAS7wB,KAAKiE,MAAMipB,eAAe3f,MAAK,SAAC1L,GACnD,EAAK6C,SAAS,CACVyrB,UAAWtuB,EAASC,KACpBmuB,mBAAevuB,EACf4uB,eAAgB,S,iCAMrBvkB,GACP/L,KAAK0E,SAAS,CACVwrB,cAAe,GACfD,cAAelkB,EAAMF,OAAOklB,U,oCAShC,IALW,IAAD,OACJd,EAAgBjwB,KAAKQ,MAAMyvB,cAC3BP,EAAiB1vB,KAAKQ,MAAM8vB,eAE9BU,EAAiB,GACZpuB,EAAI,EAAGA,EAAIqtB,EAAcvtB,OAAQE,IACtCouB,EAAe/uB,KAAK,CAAEgvB,WAAY,EAAGC,SAAUjB,EAAcrtB,GAAG+B,OAEpE3E,KAAK0E,SACD,CACIwrB,cAAec,EACf7vB,QAAS,KAEb,WACI,IAAK,IAAIyB,EAAI,EAAGA,EAAIqtB,EAAcvtB,OAAQE,IACtC,EAAKuuB,OAAOvuB,EAAGqtB,EAAcrtB,GAAI8sB,EAAgB,EAAKzrB,MAAMipB,cAAe,EAAK1sB,MAAM8/B,Y,6BAM/Fz2B,EAAK2lB,EAAME,EAAgBrC,EAAegT,GAAQ,IAAD,OAChDrP,EAAc,aAAOhxB,KAAKQ,MAAM0vB,eACpCQ,GAAcS,OAAO3B,EAAME,EAAgBrC,EAAegT,GAAO,SAACt0B,GAC9DilB,EAAennB,GAAKonB,WAAaG,KAAKC,MAAO,IAAMtlB,EAAMulB,OAAUvlB,EAAM8T,OACzE,EAAKnb,SAAS,CACVssB,sBAGHzjB,MAAK,SAAC1L,GAOH,OANA,EAAK6C,UAAS,SAAC6sB,GAEX,MAAO,CACHpwB,QAFW,uBAAOowB,EAAKpwB,SAAZ,CAAqB,mCAAqCquB,EAAK7qB,WAK3E+rB,GAAcG,SAASxD,MAGjC9f,MAAK,SAACwjB,GACH,EAAKrsB,SAAS,CACVyrB,UAAWY,EAAMjvB,UAGxB2c,OAAM,WACHuS,EAAennB,GAAKonB,WAAa,EACjC,EAAKvsB,UAAS,SAAC6sB,GACX,IAAIC,EAAW,uBAAOD,EAAKpwB,SAAZ,CAAqB,8BAAgCquB,EAAK7qB,OACzE,MAAO,CACHurB,cAAec,EACf7vB,QAASqwB,SAIpBC,SAAQ,WACL/nB,YAAW,WACP,EAAKhF,SAAS,CACVurB,mBAAevuB,EACfwuB,cAAe,GACf/uB,QAAS,GACTmvB,eAAgB,EAChBgQ,MAAO,KACR,WACCtgC,KAAKywB,aAAahV,QAAQnQ,MAAQ,QAEvC,U,mCAIFF,GACTpL,KAAK0E,SAAS,CAAEgtB,SAAUtmB,EAAI8Z,WAAW,M,6KAIzCllB,KAAK0E,SAAS,CAAEwgB,WAAW,IAEvB9Z,EAAKpL,KAAKQ,MAAMkxB,S,SAECvuB,MAAM,0CAA4CiI,EAAI,CACvE9C,OAAQ,MACRK,QAAS,CAAE,eAAgB,sBAE1B4E,MAAK,SAAC1L,GACH6uB,GAAcG,SAAS,EAAK5sB,MAAMipB,eAAe3f,MAAK,SAACwjB,GACnD,EAAKrsB,SAAS,CACVyrB,UAAWY,EAAMjvB,KACjBwuB,eAAgB,U,mJAM1B,IAAD,SACuEtwB,KAAKQ,MAAzEyvB,EADH,EACGA,cAAeC,EADlB,EACkBA,cAAe/uB,EADjC,EACiCA,QAASgvB,EAD1C,EAC0CA,UAAWE,EADrD,EACqDA,cAC1D,OACI,6BACI,2BAAO7qB,UAAU,iBACb,+BACI,4BACI,6CAGA,4BACI,4BACI8F,MAAOtL,KAAKQ,MAAM8vB,eAClB3gB,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAE4rB,eAAgB1kB,EAAEC,OAAOP,SAE7CvD,MAAO,CAAEsD,MAAO,UAEhB,4BAAQvB,IAAK,EAAGwB,MAAO,GAAvB,wBACC+kB,GAAiBA,EAAchuB,KAAI,SAACuH,EAAMC,GAAP,OAChC,4BAAQC,IAAKD,EAAKyB,MAAO1B,EAAKwB,IAAKxB,EAAKjF,YAKxD,4BACI,wBAAIkM,OAAO,OAAX,SAGA,4BACI,8BACI9I,MAAO,CAAEsD,MAAO,QAAS21B,OAAQ,QACjCpxB,YAAY,GACZD,SAAU,SAAC/D,GACP,EAAKlH,SAAS,CAAE47B,MAAO10B,EAAEC,OAAOP,SAEpCA,MAAOtL,KAAKQ,MAAM8/B,UAI9B,4BACI,wBAAI5vB,QAAS,GACT,+BACI,+BACI,4BACI,wBAAIA,QAAS,GACRwf,GACGA,EAAc7tB,KAAI,SAACsvB,EAAcpvB,GAAf,OACd,yBAAKiD,UAAU,OAAOsE,IAAKvH,GACvB,8BAAOovB,EAAaT,UACpB,yBAAK1rB,UAAU,YACX,yBACIA,UAAU,iCACVwQ,KAAK,cACL4b,gBAAeD,EAAaV,WAC5BY,gBAAc,IACdC,gBAAc,MACd/pB,MAAO,CAAEsD,MAAOsmB,EAAaV,WAAa,MAEzCU,EAAaV,WARlB,YAexB,4BACI,4BACI,2BAAOzrB,UAAU,eACb,2BAAOod,IAAK5iB,KAAKywB,aAAc7oB,KAAK,OAAOmqB,OAAO,oEAC9CpiB,SAAU3P,KAAKuwB,eAG3B,4BACI,4BACI/qB,UAAU,sBACVgG,UAAWykB,GAA+C,IAA9BjwB,KAAKQ,MAAM8vB,eACvCjqB,QAASrG,KAAKwwB,aAHlB,kBAe/BrvB,EAAQuB,OAAS,GACd,yBAAK8C,UAAU,wBAAwBwQ,KAAK,SACxC,4BACK7U,EAAQkB,KAAI,SAACuH,EAAMhH,GAChB,OAAO,wBAAIkH,IAAKlH,GAAIgH,QAKpC,6BACA,yBAAKpE,UAAU,gBACX,yBAAKA,UAAU,eAAf,kBACA,2BAAOA,UAAU,aACb,+BACI,4BACI,6BACA,yCAGA,6CAGA,qCAGA,kDAGA,+BAGR,+BAEQxF,KAAKQ,MAAM2vB,UAAUztB,OAAS,EAC1BytB,GAAaA,EAAU9tB,KAAI,SAACmtB,EAAMjtB,GAAP,OAEvB,wBAAIuH,IAAKvH,GACL,4BACI,yBAAK4D,IAAKqpB,EAAKwC,QAASjqB,MAAO,CAAEsD,MAAO,WAE5C,4BACKmkB,EAAKloB,UAEV,4BACKkoB,EAAKyC,QAEV,4BACKzC,EAAK6Q,OAEV,4BACK7Q,EAAK0C,cAEV,wBAAI1sB,UAAU,oBACV,kBAAC,KAAD,CACIuJ,MAAO,EAAKvO,MAAM4vB,WAClB+B,KAAM,GACNpqB,MAAO,CAAEoI,OAAQ,WACjB9J,QAAS,kBAAM,EAAK+rB,aAAa5C,EAAKpkB,YAMtD,4BACI,wBAAIsF,QAAS,EAAG3I,MAAO,CAAE4W,WAAY,MAAO9H,UAAW,WAAvD,wBAQxB,6BACI,kBAAC,KAAD,CACItQ,OAAQvG,KAAKQ,MAAM0kB,UAEnBrG,eAAgB,kBAAM,EAAKna,SAAS,CAAEwgB,WAAW,KACjD1f,UAAU,WACVsZ,aAAa,gBACbC,iBAAiB,WAEjB,yBAAKhX,MAAO,CAAEsD,MAAO,OAAQ1B,QAAS,OAAQyF,eAAgB,WAC1D,8DAEJ,yBAAKrH,MAAO,CAAEsD,MAAO,OAAQ1B,QAAS,OAAQyF,eAAgB,eAAgBE,UAAW,SACrF,4BACI9J,UAAU,sBACVa,QAAS,kBAAM,EAAK3B,SAAS,CAAEwgB,WAAW,MAF9C,MAMA,4BACI1f,UAAU,sBACVa,QAAS,kBAAM,EAAKgsB,2BAFxB,e,GAzUsB3sB,aCDrC+iC,GAAb,kDACI,WAAYxkC,GAAQ,IAAD,8BACf,cAAMA,IAEDzD,MAAQ,CACT2M,SAAS,EACT+f,mBAAexrB,EACf6d,yBAAqB7d,EACrBqQ,eAAe,EACf1I,WAAW,EACXuF,aAAc,IATH,EADvB,gEAeQ,IAAImD,EAAgE,SAA/C3E,eAAeoB,QAAQ,oBACxC6e,EAAgBjgB,eAAeoB,QAAQ,iBACvC4J,EAAYhL,eAAeoB,QAAQ,aACnC4B,EAAWhD,eAAeoB,QAAQ,YAEtCxO,KAAK0E,SAAS,CACVqN,cAAeA,EACfmb,cAAeG,EACfqb,UAAWtwB,EACXxK,SAAUwC,MAxBtB,0CA4ByB,IAAD,OAChB,IAAK,IAAD,UACIu4B,EAAS,GAYb,QAV4BjnC,IAAxB1B,KAAKQ,MAAMoN,UAA0D,KAAhC,UAAA5N,KAAKQ,MAAMoN,gBAAX,eAAqBlL,SAC1DimC,EAAO1mC,KAAK,mBAEYP,IAAxB1B,KAAKQ,MAAMooC,UAA0D,KAAhC,UAAA5oC,KAAKQ,MAAMooC,gBAAX,eAAqBlmC,UAAgB,UAAA1C,KAAKQ,MAAMooC,gBAAX,eAAqBlmC,QAAS,IACxGimC,EAAO1mC,KAAK,uBAEWP,IAAvB1B,KAAKQ,MAAMqoC,SAAwD,KAA/B,UAAA7oC,KAAKQ,MAAMqoC,eAAX,eAAoBnmC,UAAgB,UAAA1C,KAAKQ,MAAMqoC,eAAX,eAAoBnmC,QAAS,IACrGimC,EAAO1mC,KAAK,YAGM,IAAlB0mC,EAAOjmC,OACP1C,KAAK0E,SAAS,CAAEqN,eAAe,EAAO5E,SAAS,EAAM0B,gBAAYnN,IAErDkF,IAENG,KAAK,6CAA8C/G,KAAKQ,OACzD+M,MAAK,SAAC1L,GACCA,KAC+B,IAA3BA,EAASkQ,eACT3E,eAAeI,QAAQ,oBAAoB,GAC3CJ,eAAeI,QAAQ,gBAAiB3L,EAASwrB,eACjDjgB,eAAeI,QAAQ,YAAa3L,EAASuW,WAC7ChL,eAAeI,QAAQ,WAAY3L,EAASuO,UAC5C,EAAK1L,SAAS,CACVqN,eAAe,EACf5E,SAAS,EACT+f,cAAerrB,EAASwrB,cACxBqb,UAAW7mC,EAASuW,UACpBxK,SAAU/L,EAASuO,YAIvB,EAAK1L,SAAS,CACVqN,eAAe,EACf3I,UAAW,2FACX+D,SAAS,EACT9D,WAAW,aAO/BrJ,KAAK0E,SAAS,CACVqN,eAAe,EACf3I,UAAW,sDACXE,UAAWq/B,EACXx7B,SAAS,EACT9D,WAAW,IAIvB,SACIrJ,KAAK0E,SAAS,CAAEqN,eAAe,EAAO5E,SAAS,OArF3D,+BAyFc,IAAD,WACL,OACI,yBAAK3H,UAAU,iBACX,yBAAKA,UAAU,+BACa,IAAvBxF,KAAKQ,MAAM2M,QACR,6BACI,kBAAC2B,EAAA,EAAD,CAASC,MAAM,OAAOpI,SAAS,GAAGoB,MAAO,CAAEiH,SAAU,QAASC,IAAK,MAAOC,KAAM,UAElF,KAELlP,KAAKQ,MAAMuR,cACR,6BACI,yBAAKhK,MAAO,CAAEsD,MAAO,cAAe1B,QAAS,OAAQyF,eAAgB,SAAUD,cAAe,WAC1F,qCAAWnP,KAAKQ,MAAMkoC,UAAtB,IAAkC1oC,KAAKQ,MAAMoN,UAC7C,iFACA,6BACA,kBAAC,GAAD,CAAc2R,oBAAqBvf,KAAKQ,MAAM+e,oBAAqB2N,cAAeltB,KAAKQ,MAAM0sB,gBAC7F,+BAIR,yBAAKnlB,MAAO,CAAEsD,MAAO,OAAQ1B,QAAS,OAAQyF,eAAgB,SAAUD,cAAe,WACnF,kHACA,6BACA,2BAAOpH,MAAO,CAAEsD,MAAO,gBACnB,+BACI,4BACI,wBAAIwF,OAAO,OACP,2BAAOrL,UAAU,wBACb,+BACI,4BACI,yCACA,4BACI,2BAAOoC,KAAK,OAAO+H,SAAU,SAAC/D,GAAD,OAAO,EAAKlH,SAAS,CAAEkJ,SAAUhC,EAAEC,OAAOP,MAAOjC,WAAW,KAAUyD,WAAS,MAGpH,4BACI,6CACA,4BACI,2BACIlF,KAAK,SACL+H,SAAU,SAAC/D,GAAD,aAAO,EAAKlH,SAAS,CAAEkkC,SAAQ,UAAEh9B,EAAEC,OAAOP,aAAX,aAAE,EAAgBwN,WAAYzP,WAAW,KAClF6C,UAAW,SAACN,GACR,IAAIO,EAAMP,EAAEC,OAAOP,WACR5J,GAAPyK,IAAkBA,EAAM,IAEV,GAAdA,EAAIzJ,QAAwB,aAATkJ,EAAE9B,KAA+B,OAAT8B,EAAE9B,KAAc8B,EAAEK,sBAKjF,4BACI,wCACA,4BACI,2BACIrE,KAAK,SACL+H,SAAU,SAAC/D,GAAD,aAAO,EAAKlH,SAAS,CAAEmkC,QAAO,UAAEj9B,EAAEC,OAAOP,aAAX,aAAE,EAAgBwN,WAAYzP,WAAW,KACjF6C,UAAW,SAACN,GACR,IAAIO,EAAMP,EAAEC,OAAOP,WACR5J,GAAPyK,IAAkBA,EAAM,IAEV,GAAdA,EAAIzJ,QAAwB,aAATkJ,EAAE9B,KAA+B,OAAT8B,EAAE9B,KAAc8B,EAAEK,sBAKjF,4BACI,6BACA,wBAAI0E,MAAM,SACN,4BACInL,UAAU,gBACVuC,MAAO,CAAE8H,WAAY,UACrBrE,SAAUxL,KAAKQ,MAAM2M,QACrB9G,QAAS,WACL,EAAK3B,SAAS,CAAE4E,UAAW,KAC3B,EAAKw/B,sBANb,eAepB,wBAAIj4B,OAAO,OACP,yBAAK9I,MAAO/H,KAAKQ,MAAM6I,UAAY,CAAEgC,MAAO,cAAeiE,UAAW,MAAOQ,WAAY,OAAQ2V,OAAQ,sBAAuBC,aAAc,OAAU,CAAE/b,QAAS,SAC/J,yBAAKnE,UAAU,qBACX,yBAAKA,UAAU,aACX,+BAAQxF,KAAKQ,MAAM4I,YAEtBpJ,KAAKQ,MAAM8I,YAAa,UAAAtJ,KAAKQ,MAAM8I,iBAAX,eAAsB5G,QAAS,EACpD,yBAAK8C,UAAU,aACX,sCACKxF,KAAKQ,MAAM8I,iBADhB,aACK,EAAsBjH,KAAI,SAACuH,EAAMC,GAAP,OAAe,wBAAIC,IAAKD,GAAMD,QAG/D,aAU1C,yBAAKpE,UAAU,UACX,2BAAOuC,MAAO,CAAEsD,MAAO,OAAQuF,OAAQ,SACnC,+BACI,4BACI,wBAAID,MAAM,SAASE,OAAO,UACtB,4BACIrL,UAAU,gBACVuC,MAAO,CAAE8H,WAAY,UACrBrE,WAAUxL,KAAKQ,MAAM2M,QACrB9G,QAAS,WACL+G,eAAeC,WAAW,oBAC1BD,eAAeC,WAAW,iBAC1BD,eAAeC,WAAW,aAC1BD,eAAeC,WAAW,YAC1B7F,OAAOmH,SAASzG,KAAO,mCAT/B,mBAxMpC,GAAqCxC,aCgChBqjC,G,uKAIb,OACI,kBAAC,EAAD,KACI,kBAAC,EAAD,CAAgBC,OAAK,EAAC72B,KAAK,IAAIO,UAAWxF,IAC1C,kBAAC,IAAD,CAAOiF,KAAK,WAAWO,UAAWjB,IAClC,kBAAC,EAAD,CAAgBU,KAAK,cAAcO,UAAW5B,IAC9C,kBAAC,EAAD,CAAgBk4B,OAAK,EAAC72B,KAAK,SAASO,UAAWwI,KAC/C,kBAAC,EAAD,CAAgB8tB,OAAK,EAAC72B,KAAK,eAAeO,UAAWoC,KACrD,kBAAC,EAAD,CAAgBk0B,OAAK,EAAC72B,KAAK,sBAAsBO,UAAW6D,KAC5D,kBAAC,EAAD,CAAgByyB,OAAK,EAAC72B,KAAK,uBAAuBO,UAAWwG,KAC7D,kBAAC,EAAD,CAAgB8vB,OAAK,EAAC72B,KAAK,eAAeO,UAAW6E,KACrD,kBAAC,EAAD,CAAgByxB,OAAK,EAAC72B,KAAK,uBAAuBO,UAAWwH,KAC7D,kBAAC,EAAD,CAAgB8uB,OAAK,EAAC72B,KAAK,iBAAiBO,UAAW8F,KACvD,kBAAC,EAAD,CAAgBwwB,OAAK,EAAC72B,KAAK,wBAAwBO,UAAWkI,KAC9D,kBAAC,EAAD,CAAgBouB,OAAK,EAAC72B,KAAK,yBAAyBO,UAAWqI,KAC/D,kBAAC,EAAD,CAAgBiuB,OAAK,EAAC72B,KAAK,0BAA0BO,UAAWsM,KAChE,kBAAC,EAAD,CAAgBgqB,OAAK,EAAC72B,KAAK,0BAA0BO,UAAWiT,KAChE,kBAAC,EAAD,CAAgBqjB,OAAK,EAAC72B,KAAK,0BAA0BO,UAAWmX,KAChE,kBAAC,EAAD,CAAgBmf,OAAK,EAAC72B,KAAK,8BAA8BO,UAAWmgB,KACpE,kBAAC,EAAD,CAAgBmW,OAAK,EAAC72B,KAAK,6BAA6BO,UAAW4f,KACnE,kBAAC,EAAD,CAAgB0W,OAAK,EAAC72B,KAAK,qBAAqBO,UAAW6qB,KAC3D,kBAAC,EAAD,CAAgByL,OAAK,EAAC72B,KAAK,iBAAiBO,UAAW4uB,KACvD,kBAAC,EAAD,CAAgB0H,OAAK,EAAC72B,KAAK,UAAUO,UAAW6uB,KAChD,kBAAC,EAAD,CAAgByH,OAAK,EAAC72B,KAAK,UAAUO,UAAW4yB,KAChD,kBAAC,EAAD,CAAgB0D,OAAK,EAAC72B,KAAK,aAAaO,UAAWgb,KACnD,kBAAC,IAAD,CAAOsb,OAAK,EAAC72B,KAAK,gBAAgBO,UAAWkE,KAC7C,kBAAC,IAAD,CAAOoyB,OAAK,EAAC72B,KAAK,wBAAwBO,UAAWua,KACrD,kBAAC,IAAD,CAAO+b,OAAK,EAAC72B,KAAK,wBAAwBO,UAAW4a,KACrD,kBAAC,IAAD,CAAO0b,OAAK,EAAC72B,KAAK,wBAAwBO,UAAW6a,KACrD,kBAAC,IAAD,CAAOyb,OAAK,EAAC72B,KAAK,uCAAuCO,UAAWqtB,KACpE,kBAAC,IAAD,CAAOiJ,OAAK,EAAC72B,KAAK,2BAA2BO,UAAWutB,KACxD,kBAAC,IAAD,CAAO+I,OAAK,EAAC72B,KAAK,mBAAmBO,UAAW+1B,KAChD,kBAAC,IAAD,CAAOO,OAAK,EAAC72B,KAAK,gBAAgBO,UAAWkE,KAC7C,kBAAC,IAAD,CAAOzE,KAAMvT,EAAiBG,uBAAwB2T,UAAW0B,U,GApChD1O,aAAZqjC,GACVtiC,YAAcsiC,GAAIpkC,K,WC9BvBskC,GAAUphC,SAASqhC,qBAAqB,QAAQ,GAAGC,aAAa,QAChEC,GAAcvhC,SAAS2f,eAAe,QAE5C6hB,IAASz2B,OACP,kBAAC,IAAD,CAAe02B,SAAUL,IACvB,kBAAC,GAAD,OAEFG,K","file":"static/js/main.e556c33f.chunk.js","sourcesContent":["export const ApplicationName = 'FairwindFinancial';\r\n\r\nexport const QueryParameterNames = {\r\n ReturnUrl: 'returnUrl',\r\n Message: 'message'\r\n};\r\n\r\nexport const LogoutActions = {\r\n LogoutCallback: 'logout-callback',\r\n Logout: 'logout',\r\n LoggedOut: 'logged-out'\r\n};\r\n\r\nexport const LoginActions = {\r\n Login: 'login',\r\n LoginCallback: 'login-callback',\r\n LoginFailed: 'login-failed',\r\n Profile: 'profile',\r\n Register: 'register'\r\n};\r\n\r\nconst prefix = '/authentication';\r\n\r\nexport const ApplicationPaths = {\r\n DefaultLoginRedirectPath: '/',\r\n ApiAuthorizationClientConfigurationUrl: `_configuration/${ApplicationName}`,\r\n ApiAuthorizationPrefix: prefix,\r\n Login: `${prefix}/${LoginActions.Login}`,\r\n LoginFailed: `${prefix}/${LoginActions.LoginFailed}`,\r\n LoginCallback: `${prefix}/${LoginActions.LoginCallback}`,\r\n Register: `${prefix}/${LoginActions.Register}`,\r\n Profile: `${prefix}/${LoginActions.Profile}`,\r\n LogOut: `${prefix}/${LogoutActions.Logout}`,\r\n LoggedOut: `${prefix}/${LogoutActions.LoggedOut}`,\r\n LogOutCallback: `${prefix}/${LogoutActions.LogoutCallback}`,\r\n IdentityRegisterPath: 'Identity/Account/Register',\r\n IdentityManagePath: 'Identity/Account/Manage'\r\n};\r\n","import { UserManager, WebStorageStateStore } from 'oidc-client';\r\nimport { ApplicationPaths, ApplicationName } from './ApiAuthorizationConstants';\r\n\r\nexport class AuthorizeService {\r\n _callbacks = [];\r\n _nextSubscriptionId = 0;\r\n _user = null;\r\n _isAuthenticated = false;\r\n\r\n // By default pop ups are disabled because they don't work properly on Edge.\r\n // If you want to enable pop up authentication simply set this flag to false.\r\n _popUpDisabled = true;\r\n\r\n async isAuthenticated() {\r\n const user = await this.getUser();\r\n return !!user;\r\n }\r\n\r\n async getUser() {\r\n if (this._user && this._user.profile) {\r\n return this._user.profile;\r\n }\r\n\r\n await this.ensureUserManagerInitialized();\r\n const user = await this.userManager.getUser();\r\n return user && user.profile;\r\n }\r\n\r\n async getUserId() {\r\n if (this._user && this._user.profile) {\r\n return this._user.profile;\r\n }\r\n\r\n await this.ensureUserManagerInitialized();\r\n const user = await this.userManager.getUser();\r\n\r\n return user?.profile?.sub;\r\n }\r\n\r\n async getAccessToken() {\r\n await this.ensureUserManagerInitialized();\r\n const user = await this.userManager.getUser();\r\n return user && user.access_token;\r\n }\r\n\r\n // We try to authenticate the user in three different ways:\r\n // 1) We try to see if we can authenticate the user silently. This happens\r\n // when the user is already logged in on the IdP and is done using a hidden iframe\r\n // on the client.\r\n // 2) We try to authenticate the user using a PopUp Window. This might fail if there is a\r\n // Pop-Up blocker or the user has disabled PopUps.\r\n // 3) If the two methods above fail, we redirect the browser to the IdP to perform a traditional\r\n // redirect flow.\r\n async signIn(state) {\r\n await this.ensureUserManagerInitialized();\r\n try {\r\n const silentUser = await this.userManager.signinSilent(this.createArguments());\r\n this.updateState(silentUser);\r\n return this.success(state);\r\n } catch (silentError) {\r\n // User might not be authenticated, fallback to popup authentication\r\n console.log(\"Silent authentication error: \", silentError);\r\n\r\n try {\r\n if (this._popUpDisabled) {\r\n throw new Error('Popup disabled. Change \\'AuthorizeService.js:AuthorizeService._popupDisabled\\' to false to enable it.')\r\n }\r\n\r\n const popUpUser = await this.userManager.signinPopup(this.createArguments());\r\n this.updateState(popUpUser);\r\n return this.success(state);\r\n } catch (popUpError) {\r\n if (popUpError.message === \"Popup window closed\") {\r\n // The user explicitly cancelled the login action by closing an opened popup.\r\n return this.error(\"The user closed the window.\");\r\n } else if (!this._popUpDisabled) {\r\n console.log(\"Popup authentication error: \", popUpError);\r\n }\r\n\r\n // PopUps might be blocked by the user, fallback to redirect\r\n try {\r\n await this.userManager.signinRedirect(this.createArguments(state));\r\n return this.redirect();\r\n } catch (redirectError) {\r\n console.log(\"Redirect authentication error: \", redirectError);\r\n return this.error(redirectError);\r\n }\r\n }\r\n }\r\n }\r\n\r\n async completeSignIn(url) {\r\n try {\r\n await this.ensureUserManagerInitialized();\r\n const user = await this.userManager.signinCallback(url);\r\n this.updateState(user);\r\n return this.success(user && user.state);\r\n } catch (error) {\r\n console.log('There was an error signing in: ', error);\r\n return this.error('There was an error signing in.');\r\n }\r\n }\r\n\r\n // We try to sign out the user in two different ways:\r\n // 1) We try to do a sign-out using a PopUp Window. This might fail if there is a\r\n // Pop-Up blocker or the user has disabled PopUps.\r\n // 2) If the method above fails, we redirect the browser to the IdP to perform a traditional\r\n // post logout redirect flow.\r\n async signOut(state) {\r\n await this.ensureUserManagerInitialized();\r\n try {\r\n if (this._popUpDisabled) {\r\n throw new Error('Popup disabled. Change \\'AuthorizeService.js:AuthorizeService._popupDisabled\\' to false to enable it.')\r\n }\r\n\r\n await this.userManager.signoutPopup(this.createArguments());\r\n this.updateState(undefined);\r\n return this.success(state);\r\n } catch (popupSignOutError) {\r\n console.log(\"Popup signout error: \", popupSignOutError);\r\n try {\r\n await this.userManager.signoutRedirect(this.createArguments(state));\r\n return this.redirect();\r\n } catch (redirectSignOutError) {\r\n console.log(\"Redirect signout error: \", redirectSignOutError);\r\n return this.error(redirectSignOutError);\r\n }\r\n }\r\n }\r\n\r\n async completeSignOut(url) {\r\n await this.ensureUserManagerInitialized();\r\n try {\r\n const response = await this.userManager.signoutCallback(url);\r\n this.updateState(null);\r\n return this.success(response && response.data);\r\n } catch (error) {\r\n console.log(`There was an error trying to log out '${error}'.`);\r\n return this.error(error);\r\n }\r\n }\r\n\r\n updateState(user) {\r\n this._user = user;\r\n this._isAuthenticated = !!this._user;\r\n this.notifySubscribers();\r\n }\r\n\r\n subscribe(callback) {\r\n this._callbacks.push({ callback, subscription: this._nextSubscriptionId++ });\r\n return this._nextSubscriptionId - 1;\r\n }\r\n\r\n unsubscribe(subscriptionId) {\r\n const subscriptionIndex = this._callbacks\r\n .map((element, index) => element.subscription === subscriptionId ? { found: true, index } : { found: false })\r\n .filter(element => element.found === true);\r\n if (subscriptionIndex.length !== 1) {\r\n throw new Error(`Found an invalid number of subscriptions ${subscriptionIndex.length}`);\r\n }\r\n\r\n this._callbacks.splice(subscriptionIndex[0].index, 1);\r\n }\r\n\r\n notifySubscribers() {\r\n for (let i = 0; i < this._callbacks.length; i++) {\r\n const callback = this._callbacks[i].callback;\r\n callback();\r\n }\r\n }\r\n\r\n createArguments(state) {\r\n return { useReplaceToNavigate: true, data: state };\r\n }\r\n\r\n error(message) {\r\n return { status: AuthenticationResultStatus.Fail, message };\r\n }\r\n\r\n success(state) {\r\n return { status: AuthenticationResultStatus.Success, state };\r\n }\r\n\r\n redirect() {\r\n return { status: AuthenticationResultStatus.Redirect };\r\n }\r\n\r\n async ensureUserManagerInitialized() {\r\n if (this.userManager !== undefined) {\r\n return;\r\n }\r\n\r\n let response = await fetch(ApplicationPaths.ApiAuthorizationClientConfigurationUrl);\r\n if (!response.ok) {\r\n throw new Error(`Could not load settings for '${ApplicationName}'`);\r\n }\r\n\r\n let settings = await response.json();\r\n settings.automaticSilentRenew = true;\r\n settings.includeIdTokenInSilentRenew = true;\r\n settings.userStore = new WebStorageStateStore({\r\n prefix: ApplicationName\r\n });\r\n\r\n this.userManager = new UserManager(settings);\r\n\r\n this.userManager.events.addUserSignedOut(async () => {\r\n await this.userManager.removeUser();\r\n this.updateState(undefined);\r\n });\r\n }\r\n\r\n static get instance() { return authService }\r\n}\r\n\r\nconst authService = new AuthorizeService();\r\n\r\nexport default authService;\r\n\r\nexport const AuthenticationResultStatus = {\r\n Redirect: 'redirect',\r\n Success: 'success',\r\n Fail: 'fail'\r\n};\r\n","import React, { Component, Fragment } from 'react';\r\nimport { NavItem, NavLink } from 'reactstrap';\r\nimport { Link } from 'react-router-dom';\r\nimport authService from './AuthorizeService';\r\nimport { ApplicationPaths } from './ApiAuthorizationConstants';\r\n\r\nexport class LoginMenu extends Component {\r\n constructor(props) {\r\n super(props);\r\n\r\n this.state = {\r\n isAuthenticated: false,\r\n userName: null\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n this._subscription = authService.subscribe(() => this.populateState());\r\n this.populateState();\r\n }\r\n\r\n componentWillUnmount() {\r\n authService.unsubscribe(this._subscription);\r\n }\r\n\r\n async populateState() {\r\n const [isAuthenticated, user] = await Promise.all([authService.isAuthenticated(), authService.getUser()])\r\n this.setState({\r\n isAuthenticated,\r\n userName: user && user.name\r\n });\r\n }\r\n\r\n render() {\r\n const { isAuthenticated, userName } = this.state;\r\n if (!isAuthenticated) {\r\n const registerPath = `${ApplicationPaths.Register}`;\r\n const loginPath = `${ApplicationPaths.Login}`;\r\n return this.anonymousView(registerPath, loginPath);\r\n } else {\r\n const profilePath = `${ApplicationPaths.Profile}`;\r\n const logoutPath = { pathname: `${ApplicationPaths.LogOut}`, state: { local: true } };\r\n return this.authenticatedView(userName, profilePath, logoutPath);\r\n }\r\n }\r\n\r\n authenticatedView(userName, profilePath, logoutPath) {\r\n return (\r\n \r\n Hello {userName}\r\n \r\n \r\n Logout\r\n \r\n );\r\n\r\n }\r\n\r\n anonymousView(registerPath, loginPath) {\r\n return (\r\n {/**/}\r\n {/* Register*/}\r\n {/**/}\r\n {/**/}\r\n {/* Login*/}\r\n {/**/}\r\n );\r\n }\r\n}\r\n","import React, { Component } from 'react';\r\nimport { Collapse, Container, Navbar, NavbarBrand, NavbarToggler, NavItem, NavLink } from 'reactstrap';\r\nimport { Link } from 'react-router-dom';\r\nimport { LoginMenu } from './api-authorization/LoginMenu';\r\nimport './NavMenu.css';\r\n\r\nexport class NavMenu extends Component {\r\n static displayName = NavMenu.name;\r\n\r\n constructor(props) {\r\n super(props);\r\n\r\n this.toggleNavbar = this.toggleNavbar.bind(this);\r\n this.state = {\r\n collapsed: true\r\n };\r\n }\r\n\r\n toggleNavbar() {\r\n this.setState({\r\n collapsed: !this.state.collapsed\r\n });\r\n }\r\n\r\n render() {\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","import React, { Component } from 'react';\r\nimport { Container } from 'reactstrap';\r\nimport { NavMenu } from './NavMenu';\r\n\r\nexport class AppBody extends Component {\r\n static displayName = AppBody.name;\r\n\r\n render () {\r\n return (\r\n
\r\n \r\n \r\n\r\n {this.props.children}\r\n \r\n
\r\n );\r\n }\r\n}\r\n","import authService from './api-authorization/AuthorizeService';\r\n\r\nexport { _fetch };\r\n\r\nfunction _fetch() {\r\n return {\r\n get: request('GET'),\r\n post: request('POST'),\r\n postBlob: request('POST', undefined, true),\r\n put: request('PUT'),\r\n delete: request('DELETE'),\r\n fetchValue: request(\"GET\", \"text/plain\"),\r\n postValue: request(\"POST\", \"text/plain\"),\r\n downloadFile(data, filename, fileType) {\r\n const url = window.URL.createObjectURL(new Blob([data], { type: fileType }))\r\n const a = document.createElement(\"a\");\r\n a.style = \"display: none\";\r\n document.body.appendChild(a);\r\n a.href = url;\r\n a.download = filename;\r\n a.click();\r\n window.URL.revokeObjectURL(url);\r\n }\r\n };\r\n\r\n function request(method, contentType, isBlob) {\r\n try {\r\n return async (url, body) => {\r\n const token = await authService.getAccessToken();\r\n const response = await fetch(url, {\r\n method: method,\r\n headers: !token ? {\r\n 'Content-Type': contentType == undefined ? 'application/json' : contentType,\r\n 'Accept': \"application/json, text/plain, */*\"\r\n } :\r\n {\r\n 'Content-Type': contentType == undefined ? 'application/json' : contentType,\r\n 'Accept': \"application/json, text/plain, */*\",\r\n 'Authorization': `Bearer ${token}`\r\n },\r\n body: body == undefined ? null : JSON.stringify(body)\r\n });\r\n if (!response.ok) {\r\n if ([401, 403].includes(response.status)) {\r\n // auto logout if 401 Unauthorized or 403 Forbidden response returned from api\r\n //await authService.userManager.removeUser()\r\n // .then(async () => authService.completeSignOut('/'));\r\n }\r\n\r\n const error = response.statusText;\r\n return Promise.reject(error);\r\n }\r\n else {\r\n const data = contentType == undefined && isBlob == undefined ? await response.json() : isBlob == undefined ? await response.text() : await response;\r\n return data;\r\n }\r\n }\r\n }\r\n catch (err) {\r\n console.log(\"Error in _fetch.request - \" + err);\r\n }\r\n }\r\n}","import React from \"react\";\r\nimport './toast.css';\r\n\r\nfunction Toast({ toastText, showToast, listItems, onToastClose, autoHideToastDelay, isSuccessToast }) {\r\n if (autoHideToastDelay && autoHideToastDelay > 0 && showToast == true) {\r\n setTimeout(function () {\r\n onToastClose()\r\n }, autoHideToastDelay);\r\n }\r\n\r\n return (\r\n
\r\n
\r\n
\r\n {\r\n onToastClose()\r\n }}>\r\n
\r\n
\r\n
\r\n \r\n
\r\n {listItems && listItems?.length > 0 ?\r\n
\r\n \r\n
\r\n : null}\r\n
\r\n \r\n )\r\n}\r\n\r\nexport default Toast;","import './TextInput.css';\r\nimport React, { Component, useState } from 'react';\r\nimport { useEffect } from 'react';\r\n\r\nfunction TextInput({ Label, TextChanged, Value, Style, Type, MaxTextLength, MaxNumericValue, Disabled, DefaultValue, AutoFocus, Decimals }) {\r\n const [isActive, setIsActive] = useState(false);\r\n //const { Label, TextChanged, Value, Style, Type, MaxTextLength, MaxNumericValue, Disabled, DefaultValue, OnBlur } = props;\r\n const [value, setValue] = useState('');\r\n const [className, setClassName] = useState('');\r\n const [classNameText, setClassNameText] = useState('');\r\n\r\n useEffect(function () {\r\n handleTextChange(Value);\r\n }, [{ Label, TextChanged, Value, Style, Type, MaxTextLength, MaxNumericValue, Disabled, DefaultValue, Decimals }])\r\n\r\n function handleTextChange(text) {\r\n setValue(text);\r\n if (text !== '' && text != undefined) {\r\n setIsActive(true);\r\n } else {\r\n setIsActive(false);\r\n }\r\n }\r\n\r\n return (\r\n
\r\n {\r\n if (Type === \"ssn\") {\r\n if (e.target.value !== undefined && e.target.value?.length !== 11 && e.target.value?.length !== 0) {\r\n setClassName(\"red\");\r\n setClassNameText(\"red-text\");\r\n }\r\n else {\r\n setClassName(\"\");\r\n setClassNameText(\"\");\r\n }\r\n }\r\n\r\n if (Type === \"phone\") {\r\n if (e.target.value !== undefined && e.target.value?.length !== 10 && e.target.value?.length !== 0) {\r\n setClassName(\"red\");\r\n setClassNameText(\"red-text\");\r\n }\r\n else {\r\n setClassName(\"\");\r\n setClassNameText(\"\");\r\n }\r\n }\r\n\r\n handleTextChange(e.target.value);\r\n TextChanged(e.target.value);\r\n }}\r\n\r\n onKeyPress={(event) => {\r\n if (Type == \"number\" || Type == \"custom\") {\r\n var alpha = /^\\d*\\.?\\d*$/;\r\n if (!alpha.test(event.key)) {\r\n event.preventDefault();\r\n }\r\n else {\r\n return true;\r\n }\r\n }\r\n }}\r\n onKeyDown={(e) => {\r\n var val = e.target.value;\r\n if (val == undefined) val = \"\";\r\n var max = MaxTextLength;\r\n if (max == undefined) max = 99999999;\r\n\r\n if (Type == 'number' && val.length == max && e.key != 'Backspace' && e.key != 'Tab') e.preventDefault();\r\n\r\n if (Type == \"ssn\" && e.key != \"Backspace\") {\r\n if (val.length == 3) val = val + '-';\r\n if (val.length == 6) val = val + '-';\r\n TextChanged(val);\r\n }\r\n }}\r\n //onKeyUp={(e) => {\r\n // var val = e.target.value;\r\n // if (Type == \"ssn\" && e.key != \"Backspace\") {\r\n // if (val.length == 3) val = val + '-';\r\n // if (val.length == 6) val = val + '-';\r\n // TextChanged(val);\r\n // }\r\n //}}\r\n onPaste={(event) => {\r\n if (Type == \"number\" || Type == \"custom\") {\r\n let pasteData = event.clipboardData.getData('Text');\r\n if (pasteData) {\r\n pasteData.replace(/[^0-9]*/g, '');\r\n }\r\n }\r\n }}\r\n onBlur={(e) => {\r\n if (Type == \"custom\") {\r\n if (e.target.value && e.target.value.startsWith('$') && !e.target.value.includes('.')) {\r\n var val = Value + '.00';\r\n TextChanged(val);\r\n }\r\n else if (e.target.value && e.target.value.startsWith('$') && e.target.value.includes('.')) {\r\n var spl = e.target.value.split(\".\");\r\n if (spl[1].length == 0) {\r\n var val = Value + '00';\r\n TextChanged(val);\r\n }\r\n\r\n if (spl[1].length == 1) {\r\n var val = Value + '0';\r\n TextChanged(val);\r\n }\r\n }\r\n }\r\n if (Type === \"date2\") {\r\n setClassNameText(\"\");\r\n }\r\n }}\r\n onFocus={() => {\r\n if (Type === \"date2\") {\r\n setClassNameText(\"opacity-0\");\r\n }\r\n }}\r\n autoFocus={AutoFocus ? true : false}\r\n />\r\n\r\n \r\n
\r\n )\r\n}\r\n\r\nexport default TextInput;\r\n","import React, { Component } from 'react';\r\nimport { _fetch } from './_fetch';\r\nimport { Spinner } from 'reactstrap';\r\nimport authService from './api-authorization/AuthorizeService';\r\nimport Toast from './toast.js';\r\nimport TextInput from './TextInput';\r\n\r\nexport class Home extends Component {\r\n constructor(props) {\r\n super(props);\r\n\r\n this.state = {\r\n loading: false\r\n };\r\n }\r\n\r\n async componentDidMount() {\r\n sessionStorage.removeItem(\"INTERNAL_SESSION\");\r\n sessionStorage.removeItem(\"NEW_APP\");\r\n sessionStorage.removeItem(\"ID\")\r\n\r\n await authService.getUserId()\r\n .then((id) => {\r\n sessionStorage.setItem(\"USER_ID\", id);\r\n this.search();\r\n });\r\n }\r\n\r\n async search() {\r\n try {\r\n this.setState({ loading: true });\r\n\r\n const f = new _fetch();\r\n\r\n await authService.getUser()\r\n .then((user) => {\r\n if (user && user.name) {\r\n f.fetchValue(\"/creditapplication/getsalesrepid?id=\" + user.name)\r\n .then((data) => {\r\n sessionStorage.setItem(\"SALES_REP_ID\", data);\r\n });\r\n }\r\n });\r\n\r\n var l = this.state.LastName ?? \"\";\r\n var v = this.state.VesselManufacturer ?? \"\";\r\n var h = this.state.HullIdentificationNumber ?? \"\";\r\n var c = this.state.ClientId ?? \"\";\r\n var dateFrom = this.state.DateFrom ?? \"\";\r\n var dateTo = this.state.DateTo ?? \"\";\r\n var userid = sessionStorage.getItem(\"USER_ID\");\r\n\r\n f.get(\"/creditapplication/SearchLoanApplications?l=\" + l + \"&v=\" + v + \"&h=\" + h + \"&c=\" + c + \"&dateFrom=\" + dateFrom + \"&dateTo=\" + dateTo + \"&userid=\" + userid)\r\n .then((data) => {\r\n this.setState({ SearchResults: data, loading: false })\r\n });\r\n\r\n }\r\n catch (err) {\r\n this.setState({ loading: false });\r\n console.log('search - ' + err);\r\n }\r\n }\r\n\r\n createLoanApplication(url) {\r\n this.setState({ loading: true });\r\n var fetch = _fetch();\r\n\r\n var data = {\r\n InteralNewLoanApplication: true\r\n };\r\n\r\n fetch.post(\"/creditapplication/SaveCreditApplicationStep1\", data)\r\n .then((id) => {\r\n if (id != 0) {\r\n this.setState({ loading: false });\r\n sessionStorage.setItem(\"ID\", id);\r\n window.location.href = url;\r\n }\r\n else {\r\n this.setState({\r\n showToast: true,\r\n toastMessage: 'There was an issue creating a new loan application. Please try again',\r\n loading: false\r\n });\r\n }\r\n })\r\n }\r\n\r\n render() {\r\n return (\r\n
\r\n this.setState({ showToast: false })}\r\n autoHideToastDelay={10000}\r\n />\r\n
\r\n {this.state.loading === true ?\r\n
\r\n \r\n
\r\n : null\r\n }\r\n
\r\n
\r\n {\r\n this.setState({ ClientId: e.target.value });\r\n }}\r\n value={this.state.ClientId}\r\n max={999999}\r\n placeholder=\"Client #\"\r\n onKeyPress={(e) => {\r\n if (e.key === \"Enter\") {\r\n this.search();\r\n }\r\n }}\r\n >\r\n {\r\n this.setState({ LastName: e.target.value });\r\n }}\r\n value={this.state.LastName}\r\n maxLength={15}\r\n placeholder=\"Last Name\"\r\n onKeyPress={(e) => {\r\n if (e.key === \"Enter\") {\r\n this.search();\r\n }\r\n }}\r\n >\r\n {\r\n this.setState({ VesselManufacturer: e.target.value });\r\n }}\r\n value={this.state.VesselManufacturer}\r\n placeholder=\"Vessel Manufacturer\"\r\n onKeyPress={(e) => {\r\n if (e.key === \"Enter\") {\r\n this.search();\r\n }\r\n }}\r\n >\r\n {\r\n this.setState({ HullIdentificationNumber: e.target.value });\r\n }}\r\n value={this.state.HullIdentificationNumber}\r\n placeholder=\"HIN\"\r\n onKeyPress={(e) => {\r\n if (e.key === \"Enter\") {\r\n this.search();\r\n }\r\n }}\r\n >\r\n {\r\n this.search();\r\n }}>\r\n Search\r\n \r\n {\r\n this.setState({\r\n ClientId: '',\r\n LastName: '',\r\n VesselManufacturer: '',\r\n HullIdentificationNumber: '',\r\n DateFrom: undefined,\r\n DateTo: undefined\r\n });\r\n this.search();\r\n }}>\r\n Refresh\r\n \r\n
\r\n
\r\n {\r\n sessionStorage.setItem(\"NEW_APP\", \"true\");\r\n this.createLoanApplication('/CreditApplicationStep1');\r\n }}>\r\n New Loan Application\r\n \r\n {\r\n window.location.href = \"/Reporting\";\r\n }}>\r\n Reporting\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 this.setState({ DateFrom: e });\r\n }}\r\n Value={this.state.DateFrom}\r\n Style={{ width: '8vw' }}\r\n />\r\n \r\n {\r\n this.setState({ DateTo: e });\r\n }}\r\n Value={this.state.DateTo}\r\n Style={{ width: '8vw' }}\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 {this.state.SearchResults && this.state.SearchResults?.length > 0 ?\r\n this.state.SearchResults?.map((item, idx) =>\r\n {\r\n sessionStorage.setItem(\"ID\", item.id);\r\n sessionStorage.setItem(\"INTERNAL_SESSION\", \"1\");\r\n window.location.href = '/CreditApplicationStep1'\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
Customer Last NameClient #StatusStateLoan AmountVessel ManufacturerSales RepDate Submitted
{item.lastName}{item.clientNumber}{item.status}{item.state}{item.loanAmount}{item.vesselManufacturer}{item.salesRep}{item.dateSubmitted}
No search results found
\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}","import React, { Component } from 'react';\r\nimport authService from './api-authorization/AuthorizeService'\r\n\r\nexport class FetchData extends Component {\r\n static displayName = FetchData.name;\r\n\r\n constructor(props) {\r\n super(props);\r\n this.state = { forecasts: [], loading: true };\r\n }\r\n\r\n componentDidMount() {\r\n this.populateWeatherData();\r\n }\r\n\r\n static renderForecastsTable(forecasts) {\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 {forecasts.map(forecast =>\r\n \r\n \r\n \r\n \r\n \r\n \r\n )}\r\n \r\n
DateTemp. (C)Temp. (F)Summary
{forecast.date}{forecast.temperatureC}{forecast.temperatureF}{forecast.summary}
\r\n );\r\n }\r\n\r\n render() {\r\n let contents = this.state.loading\r\n ?

Loading...

\r\n : FetchData.renderForecastsTable(this.state.forecasts);\r\n\r\n return (\r\n
\r\n

Weather forecast

\r\n

This component demonstrates fetching data from the server.

\r\n {contents}\r\n
\r\n );\r\n }\r\n\r\n async populateWeatherData() {\r\n const token = await authService.getAccessToken();\r\n const response = await fetch('weatherforecast', {\r\n headers: !token ? {} : { 'Authorization': `Bearer ${token}` }\r\n });\r\n const data = await response.json();\r\n this.setState({ forecasts: data, loading: false });\r\n }\r\n}\r\n","import React, { Component } from 'react';\r\n\r\nexport class Counter extends Component {\r\n static displayName = Counter.name;\r\n\r\n constructor(props) {\r\n super(props);\r\n this.state = { currentCount: 0 };\r\n this.incrementCounter = this.incrementCounter.bind(this);\r\n }\r\n\r\n incrementCounter() {\r\n this.setState({\r\n currentCount: this.state.currentCount + 1\r\n });\r\n }\r\n\r\n render() {\r\n return (\r\n
\r\n

Counter

\r\n\r\n

This is a simple example of a React component.

\r\n\r\n

Current count: {this.state.currentCount}

\r\n\r\n \r\n
\r\n );\r\n }\r\n}\r\n","import React from 'react'\r\nimport { Component } from 'react'\r\nimport { Route, Redirect } from 'react-router-dom'\r\nimport { ApplicationPaths, QueryParameterNames } from './ApiAuthorizationConstants'\r\nimport authService from './AuthorizeService'\r\n\r\nexport default class AuthorizeRoute extends Component {\r\n constructor(props) {\r\n super(props);\r\n\r\n this.state = {\r\n ready: false,\r\n authenticated: false\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n this._subscription = authService.subscribe(() => this.authenticationChanged());\r\n this.populateAuthenticationState();\r\n }\r\n\r\n componentWillUnmount() {\r\n authService.unsubscribe(this._subscription);\r\n }\r\n\r\n render() {\r\n const { ready, authenticated } = this.state;\r\n var link = document.createElement(\"a\");\r\n link.href = this.props.path;\r\n const returnUrl = `${link.protocol}//${link.host}${link.pathname}${link.search}${link.hash}`;\r\n const redirectUrl = `${ApplicationPaths.Login}?${QueryParameterNames.ReturnUrl}=${encodeURIComponent(returnUrl)}`\r\n if (!ready) {\r\n return
;\r\n } else {\r\n const { component: Component, ...rest } = this.props;\r\n return {\r\n if (authenticated) {\r\n return \r\n } else {\r\n return \r\n }\r\n }} />\r\n }\r\n }\r\n\r\n async populateAuthenticationState() {\r\n const authenticated = await authService.isAuthenticated();\r\n this.setState({ ready: true, authenticated });\r\n }\r\n\r\n async authenticationChanged() {\r\n this.setState({ ready: false, authenticated: false });\r\n await this.populateAuthenticationState();\r\n }\r\n}\r\n","import React from 'react'\r\nimport { Component } from 'react';\r\nimport authService from './AuthorizeService';\r\nimport { AuthenticationResultStatus } from './AuthorizeService';\r\nimport { LoginActions, QueryParameterNames, ApplicationPaths } from './ApiAuthorizationConstants';\r\n\r\n// The main responsibility of this component is to handle the user's login process.\r\n// This is the starting point for the login process. Any component that needs to authenticate\r\n// a user can simply perform a redirect to this component with a returnUrl query parameter and\r\n// let the component perform the login and return back to the return url.\r\nexport class Login extends Component {\r\n constructor(props) {\r\n super(props);\r\n\r\n this.state = {\r\n message: undefined\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n const action = this.props.action;\r\n switch (action) {\r\n case LoginActions.Login:\r\n this.login(this.getReturnUrl());\r\n break;\r\n case LoginActions.LoginCallback:\r\n this.processLoginCallback();\r\n break;\r\n case LoginActions.LoginFailed:\r\n const params = new URLSearchParams(window.location.search);\r\n const error = params.get(QueryParameterNames.Message);\r\n this.setState({ message: error });\r\n break;\r\n case LoginActions.Profile:\r\n this.redirectToProfile();\r\n break;\r\n case LoginActions.Register:\r\n this.redirectToRegister();\r\n break;\r\n default:\r\n throw new Error(`Invalid action '${action}'`);\r\n }\r\n }\r\n\r\n render() {\r\n const action = this.props.action;\r\n const { message } = this.state;\r\n\r\n if (!!message) {\r\n return
{message}
\r\n } else {\r\n switch (action) {\r\n case LoginActions.Login:\r\n return (
Processing login
);\r\n case LoginActions.LoginCallback:\r\n return (
Processing login callback
);\r\n case LoginActions.Profile:\r\n case LoginActions.Register:\r\n return (
);\r\n default:\r\n throw new Error(`Invalid action '${action}'`);\r\n }\r\n }\r\n }\r\n\r\n async login(returnUrl) {\r\n const state = { returnUrl };\r\n const result = await authService.signIn(state);\r\n switch (result.status) {\r\n case AuthenticationResultStatus.Redirect:\r\n break;\r\n case AuthenticationResultStatus.Success:\r\n await this.navigateToReturnUrl(returnUrl);\r\n break;\r\n case AuthenticationResultStatus.Fail:\r\n this.setState({ message: result.message });\r\n break;\r\n default:\r\n throw new Error(`Invalid status result ${result.status}.`);\r\n }\r\n }\r\n\r\n async processLoginCallback() {\r\n const url = window.location.href;\r\n const result = await authService.completeSignIn(url);\r\n switch (result.status) {\r\n case AuthenticationResultStatus.Redirect:\r\n // There should not be any redirects as the only time completeSignIn finishes\r\n // is when we are doing a redirect sign in flow.\r\n throw new Error('Should not redirect.');\r\n case AuthenticationResultStatus.Success:\r\n await this.navigateToReturnUrl(this.getReturnUrl(result.state));\r\n break;\r\n case AuthenticationResultStatus.Fail:\r\n this.setState({ message: result.message });\r\n break;\r\n default:\r\n throw new Error(`Invalid authentication result status '${result.status}'.`);\r\n }\r\n }\r\n\r\n getReturnUrl(state) {\r\n const params = new URLSearchParams(window.location.search);\r\n const fromQuery = params.get(QueryParameterNames.ReturnUrl);\r\n if (fromQuery && !fromQuery.startsWith(`${window.location.origin}/`)) {\r\n // This is an extra check to prevent open redirects.\r\n throw new Error(\"Invalid return url. The return url needs to have the same origin as the current page.\")\r\n }\r\n return (state && state.returnUrl) || fromQuery || `${window.location.origin}/`;\r\n }\r\n\r\n redirectToRegister() {\r\n this.redirectToApiAuthorizationPath(`${ApplicationPaths.IdentityRegisterPath}?${QueryParameterNames.ReturnUrl}=${encodeURI(ApplicationPaths.Login)}`);\r\n }\r\n\r\n redirectToProfile() {\r\n this.redirectToApiAuthorizationPath(ApplicationPaths.IdentityManagePath);\r\n }\r\n\r\n redirectToApiAuthorizationPath(apiAuthorizationPath) {\r\n const redirectUrl = `${window.location.origin}/${apiAuthorizationPath}`;\r\n // It's important that we do a replace here so that when the user hits the back arrow on the\r\n // browser they get sent back to where it was on the app instead of to an endpoint on this\r\n // component.\r\n window.location.replace(redirectUrl);\r\n }\r\n\r\n navigateToReturnUrl(returnUrl) {\r\n // It's important that we do a replace here so that we remove the callback uri with the\r\n // fragment containing the tokens from the browser history.\r\n window.location.replace(returnUrl);\r\n }\r\n}\r\n","import React from 'react'\r\nimport { Component } from 'react';\r\nimport authService from './AuthorizeService';\r\nimport { AuthenticationResultStatus } from './AuthorizeService';\r\nimport { QueryParameterNames, LogoutActions, ApplicationPaths } from './ApiAuthorizationConstants';\r\n\r\n// The main responsibility of this component is to handle the user's logout process.\r\n// This is the starting point for the logout process, which is usually initiated when a\r\n// user clicks on the logout button on the LoginMenu component.\r\nexport class Logout extends Component {\r\n constructor(props) {\r\n super(props);\r\n\r\n this.state = {\r\n message: undefined,\r\n isReady: false,\r\n authenticated: false\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n const action = this.props.action;\r\n switch (action) {\r\n case LogoutActions.Logout:\r\n if (!!window.history.state.state.local) {\r\n this.logout(this.getReturnUrl());\r\n } else {\r\n // This prevents regular links to /authentication/logout from triggering a logout\r\n this.setState({ isReady: true, message: \"The logout was not initiated from within the page.\" });\r\n }\r\n break;\r\n case LogoutActions.LogoutCallback:\r\n this.processLogoutCallback();\r\n break;\r\n case LogoutActions.LoggedOut:\r\n this.setState({ isReady: true, message: \"You successfully logged out!\" });\r\n break;\r\n default:\r\n throw new Error(`Invalid action '${action}'`);\r\n }\r\n\r\n this.populateAuthenticationState();\r\n\r\n if (action == LogoutActions.LoggedOut) window.location.href = \"/authentication/login\";\r\n }\r\n\r\n render() {\r\n const { isReady, message } = this.state;\r\n if (!isReady) {\r\n return
\r\n }\r\n if (!!message) {\r\n return (
{message}
);\r\n } else {\r\n const action = this.props.action;\r\n switch (action) {\r\n case LogoutActions.Logout:\r\n return (
Processing logout
);\r\n case LogoutActions.LogoutCallback:\r\n return (
Processing logout callback
);\r\n case LogoutActions.LoggedOut:\r\n return (
{message}
);\r\n default:\r\n throw new Error(`Invalid action '${action}'`);\r\n }\r\n }\r\n }\r\n\r\n async logout(returnUrl) {\r\n const state = { returnUrl };\r\n const isauthenticated = await authService.isAuthenticated();\r\n if (isauthenticated) {\r\n const result = await authService.signOut(state);\r\n switch (result.status) {\r\n case AuthenticationResultStatus.Redirect:\r\n break;\r\n case AuthenticationResultStatus.Success:\r\n await this.navigateToReturnUrl(returnUrl);\r\n break;\r\n case AuthenticationResultStatus.Fail:\r\n this.setState({ message: result.message });\r\n break;\r\n default:\r\n throw new Error(\"Invalid authentication result status.\");\r\n }\r\n } else {\r\n this.setState({ message: \"You successfully logged out!\" });\r\n }\r\n }\r\n\r\n async processLogoutCallback() {\r\n const url = window.location.href;\r\n const result = await authService.completeSignOut(url);\r\n switch (result.status) {\r\n case AuthenticationResultStatus.Redirect:\r\n // There should not be any redirects as the only time completeAuthentication finishes\r\n // is when we are doing a redirect sign in flow.\r\n throw new Error('Should not redirect.');\r\n case AuthenticationResultStatus.Success:\r\n await this.navigateToReturnUrl(this.getReturnUrl(result.state));\r\n break;\r\n case AuthenticationResultStatus.Fail:\r\n this.setState({ message: result.message });\r\n break;\r\n default:\r\n throw new Error(\"Invalid authentication result status.\");\r\n }\r\n }\r\n\r\n async populateAuthenticationState() {\r\n const authenticated = await authService.isAuthenticated();\r\n this.setState({ isReady: true, authenticated });\r\n }\r\n\r\n getReturnUrl(state) {\r\n const params = new URLSearchParams(window.location.search);\r\n const fromQuery = params.get(QueryParameterNames.ReturnUrl);\r\n if (fromQuery && !fromQuery.startsWith(`${window.location.origin}/`)) {\r\n // This is an extra check to prevent open redirects.\r\n throw new Error(\"Invalid return url. The return url needs to have the same origin as the current page.\")\r\n }\r\n return (state && state.returnUrl) ||\r\n fromQuery ||\r\n `${window.location.origin}${ApplicationPaths.LoggedOut}`;\r\n }\r\n\r\n navigateToReturnUrl(returnUrl) {\r\n return window.location.replace(returnUrl);\r\n }\r\n}\r\n","import React, { Component, Fragment } from 'react';\r\nimport { Route } from 'react-router';\r\nimport { Login } from './Login'\r\nimport { Logout } from './Logout'\r\nimport { ApplicationPaths, LoginActions, LogoutActions } from './ApiAuthorizationConstants';\r\n\r\nexport default class ApiAuthorizationRoutes extends Component {\r\n\r\n render () {\r\n return(\r\n \r\n loginAction(LoginActions.Login)} />\r\n loginAction(LoginActions.LoginFailed)} />\r\n loginAction(LoginActions.LoginCallback)} />\r\n loginAction(LoginActions.Profile)} />\r\n loginAction(LoginActions.Register)} />\r\n logoutAction(LogoutActions.Logout)} />\r\n logoutAction(LogoutActions.LogoutCallback)} />\r\n logoutAction(LogoutActions.LoggedOut)} />\r\n );\r\n }\r\n}\r\n\r\nfunction loginAction(name){\r\n return ();\r\n}\r\n\r\nfunction logoutAction(name) {\r\n return ();\r\n}\r\n","import authService from \"../api-authorization/AuthorizeService\"\r\n\r\nconst AdminFunctions = {\r\n isAdminAsync: async function() {\r\n const token = await authService.getAccessToken();\r\n const response = await fetch(`api/Admin/IsAdminAsync`, {\r\n headers: !token ? {} : { 'Authorization': `Bearer ${token}` }\r\n });\r\n const data = await response.json();\r\n return data;\r\n },\r\n handleAdminUser: async function(isAdmin, adminFunction, nonAdminFunction) {\r\n if(isAdmin) {\r\n if(adminFunction){ adminFunction(); }; \r\n } else {\r\n if(nonAdminFunction){ nonAdminFunction(); }; \r\n }\r\n }, \r\n getRoleIdByName: async function(name) { \r\n const token = await authService.getAccessToken();\r\n const response = await fetch(`api/Admin/GetRoleIdByNameAsync?roleName=${name}`, {\r\n headers: !token ? {} : { 'Authorization': `Bearer ${token}` }\r\n });\r\n const data = await response.json();\r\n return data.id;\r\n }\r\n}\r\n\r\nexport default AdminFunctions;","import React, { Component } from 'react';\r\nimport { Container, Row, Col, Table, Button } from 'reactstrap';\r\nimport authService from '../api-authorization/AuthorizeService';\r\nimport AdminFunctions from './AdminFunctions';\r\nimport { FaSort } from 'react-icons/fa'\r\nimport '../layout/site.css';\r\n\r\nexport class Roles extends Component {\r\n static displayName = Roles.name;\r\n\r\n constructor(props) {\r\n super(props);\r\n\r\n this.state = {\r\n roles: [],\r\n sort: {\r\n column: null,\r\n direction: 'desc'\r\n },\r\n };\r\n\r\n }\r\n\r\n async componentDidMount() { \r\n const isAdmin = await AdminFunctions.isAdminAsync();\r\n if(!isAdmin) {\r\n this.props.history.push('/accessdenied');\r\n }\r\n this.getRoles();\r\n }\r\n\r\n render() {\r\n return (\r\n
\r\n \r\n \r\n \r\n

Roles

\r\n \r\n \r\n this.props.history.push('/admin/roles/create')}\r\n style={{ whiteSpace: 'nowrap' }}\r\n >\r\n + Add\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 {this.state.roles.map((role, i) => {\r\n return (\r\n this.handleRowClick(role.id)}\r\n >\r\n \r\n \r\n \r\n )\r\n })}\r\n \r\n
\r\n Id\r\n this.handleSort('id')}\r\n className='sort-button'\r\n />\r\n \r\n Name\r\n this.handleSort('name')}\r\n className='sort-button'\r\n />\r\n
{role.id}{role.name}
\r\n \r\n
\r\n
\r\n
\r\n )\r\n }\r\n\r\n async getRoles() {\r\n const token = await authService.getAccessToken();\r\n const response = await fetch(`api/Admin/GetRolesAsync`, {\r\n headers: !token ? {} : { 'Authorization': `Bearer ${token}` }\r\n });\r\n const data = await response.json();\r\n this.setState({ roles: data });\r\n } \r\n\r\n handleRowClick(roleId) {\r\n this.props.history.push({\r\n pathname: '/admin/roles/details',\r\n state: { roleId: roleId, existingRole: true }\r\n });\r\n }\r\n\r\n // table sort\r\n\r\n handleSort(column) {\r\n const direction = this.state.sort.column ? (this.state.sort.direction === 'asc' ? 'desc' : 'asc') : 'desc';\r\n const data = this.state.roles;\r\n data.sort((a, b) => a[column].localeCompare(b[column]))\r\n if(direction === 'desc') {\r\n data.reverse();\r\n }\r\n this.setState({\r\n roles : data,\r\n sort: {\r\n column,\r\n direction\r\n }\r\n })\r\n };\r\n\r\n}","import React, { Component } from 'react';\r\nimport { Container, Row, Col, Input, Button, Alert } from 'reactstrap';\r\nimport authService from '../api-authorization/AuthorizeService';\r\nimport AdminFunctions from './AdminFunctions';\r\nimport '../layout/site.css';\r\n\r\nexport class CreateRole extends Component {\r\n static displayName = CreateRole.name;\r\n\r\n constructor(props) {\r\n super(props);\r\n\r\n this.state = {\r\n roleName: '',\r\n success: undefined\r\n };\r\n\r\n }\r\n\r\n async componentDidMount() {\r\n const isAdmin = AdminFunctions.isAdminAsync();\r\n if(!isAdmin) {\r\n this.props.history.push('/accessdenied');\r\n } \r\n }\r\n\r\n render() {\r\n return (\r\n
\r\n \r\n \r\n \r\n

Create Role

\r\n \r\n
\r\n \r\n \r\n this.setState({ roleName: e.target.value })}\r\n name='roleName'\r\n id='roleName'\r\n placeholder='Role Name'\r\n />\r\n \r\n \r\n this.createRole()}\r\n >\r\n Create\r\n \r\n \r\n \r\n \r\n \r\n {this.state.success === true && (\r\n \r\n Role added successfully!\r\n \r\n )} \r\n {this.state.success === false && (\r\n \r\n Error adding role!\r\n \r\n )}\r\n \r\n \r\n
\r\n
\r\n )\r\n }\r\n\r\n async createRole() { \r\n debugger\r\n const token = await authService.getAccessToken();\r\n const response = await fetch(`api/Admin/CreateRoleAsync?roleName=${this.state.roleName}`, {\r\n headers: !token ? {} : { 'Authorization': `Bearer ${token}` }\r\n });\r\n const data = await response.json();\r\n this.setState({ success: data });\r\n }\r\n\r\n}","import React, { Component } from 'react';\r\nimport { Container, Row, Col, Button } from 'reactstrap';\r\n\r\nexport class AccessDenied extends Component {\r\n static displayName = AccessDenied.name;\r\n\r\n constructor(props) {\r\n super(props);\r\n\r\n this.state = {\r\n\r\n };\r\n\r\n }\r\n\r\n render() {\r\n return (\r\n
\r\n \r\n \r\n \r\n

403: Access Denied

\r\n \r\n
\r\n \r\n \r\n
You do not have permission to access this page.
Please contact your Site Administrator(s) to request access.
\r\n \r\n
\r\n \r\n \r\n this.props.history.push('/')}\r\n >\r\n Go Home\r\n \r\n \r\n \r\n
\r\n
\r\n )\r\n }\r\n}","\r\nconst utilities = {\r\n dimensions: {\r\n XL: 1200,\r\n LG: 992,\r\n MD: 768,\r\n SM: 576,\r\n },\r\n getScreenWidth: function() {\r\n const width = window.innerWidth;\r\n if (width < this.dimensions.SM) {\r\n return 'xs';\r\n } else if (width >= this.dimensions.SM && width < this.dimensions.MD) {\r\n return 'sm';\r\n } else if (width >= this.dimensions.MD && width < this.dimensions.LG) {\r\n return 'md';\r\n } else if (width >= this.dimensions.LG && width < this.dimensions.XL) {\r\n return 'lg';\r\n } else {\r\n return 'xl';\r\n }\r\n } \r\n}\r\n\r\nexport default utilities;","import React, { Component } from 'react';\r\nimport { Container, Row, Col, Input, Table, Button } from 'reactstrap';\r\nimport { Typeahead } from 'react-bootstrap-typeahead';\r\nimport authService from '../api-authorization/AuthorizeService';\r\nimport AdminFunctions from './AdminFunctions';\r\nimport utilities from '../util/utilities';\r\nimport { FaSort } from 'react-icons/fa'\r\nimport '../layout/site.css';\r\n\r\nexport class Users extends Component {\r\n static displayName = Users.name;\r\n\r\n constructor(props) {\r\n super(props);\r\n\r\n this.state = {\r\n users: [],\r\n search: null,\r\n clientOptions: [],\r\n client: null,\r\n height: 0,\r\n width: 0,\r\n sort: {\r\n column: null,\r\n direction: 'desc'\r\n },\r\n };\r\n\r\n window.addEventListener('resize', this.setWindowDimensions); \r\n\r\n }\r\n\r\n async componentDidMount() {\r\n const isAdmin = AdminFunctions.isAdminAsync();\r\n if(!isAdmin) {\r\n this.props.history.push('/accessdenied');\r\n }\r\n this.setWindowDimensions();\r\n this.getClientDropdown();\r\n this.getUsers();\r\n }\r\n\r\n render() {\r\n return (\r\n
\r\n \r\n \r\n \r\n

Users

\r\n \r\n
\r\n \r\n \r\n this.setState({ search: e.target.value })}\r\n name='search'\r\n id='search'\r\n placeholder='Search' \r\n style={ this.state.width < utilities.dimensions.LG ? { marginBottom: '20px' } : {}}\r\n />\r\n \r\n \r\n this.setState({ client: selected })}\r\n selected={this.state.client}\r\n options={this.state.clientOptions}\r\n placeholder='Client'\r\n style={ this.state.width < utilities.dimensions.MD ? { marginBottom: '20px' } : {}}\r\n />\r\n \r\n \r\n this.searchUsers()}\r\n >\r\n Search\r\n \r\n \r\n \r\n this.props.history.push({ pathname: '/admin/users/details', state: { existingUser: false }})}\r\n style={{ whiteSpace: 'nowrap' }}\r\n >\r\n + Add\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 {this.state.users.map((user, i) => {\r\n return (\r\n this.handleRowClick(user.id)}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n )\r\n })}\r\n \r\n
\r\n Last Name\r\n this.handleSort('lastName')}\r\n className='sort-button'\r\n />\r\n \r\n First Name\r\n this.handleSort('firstName')}\r\n className='sort-button'\r\n />\r\n \r\n Client\r\n this.handleSort('client')}\r\n className='sort-button'\r\n />\r\n \r\n Office Phone\r\n this.handleSort('officePhone')}\r\n className='sort-button'\r\n />\r\n \r\n Email\r\n this.handleSort('email')}\r\n className='sort-button'\r\n />\r\n
{user.lastName}{user.firstName}{user.officePhone}{user.email}
\r\n \r\n
\r\n
\r\n
\r\n )\r\n }\r\n\r\n async getClientDropdown() {\r\n const token = await authService.getAccessToken();\r\n const response = await fetch(`api/Clients/GetDropdown`, {\r\n headers: !token ? {} : { 'Authorization': `Bearer ${token}` }\r\n });\r\n const data = await response.json();\r\n this.setState({ clientOptions: data });\r\n }\r\n\r\n async getUsers() {\r\n const token = await authService.getAccessToken();\r\n const response = await fetch(`api/Admin/GetUsersAsync`, {\r\n headers: !token ? {} : { 'Authorization': `Bearer ${token}` }\r\n });\r\n const data = await response.json();\r\n this.setState({ users: data });\r\n }\r\n\r\n async searchUsers() {\r\n const token = await authService.getAccessToken();\r\n const response = await fetch(`api/Admin/SearchUsersAsync?query=${this.state.search}`, {\r\n headers: !token ? {} : { 'Authorization': `Bearer ${token}`}\r\n });\r\n const data = await response.json();\r\n this.setState({ users: data });\r\n }\r\n\r\n handleRowClick(userId) {\r\n this.props.history.push({\r\n pathname: '/admin/users/details',\r\n state: { userId: userId, existingUser: true }\r\n })\r\n }\r\n\r\n setWindowDimensions = () => {\r\n this.setState({\r\n height: window.innerHeight,\r\n width: window.innerWidth\r\n });\r\n };\r\n\r\n // table sort\r\n\r\n handleSort(column) {\r\n const direction = this.state.sort.column ? (this.state.sort.direction === 'asc' ? 'desc' : 'asc') : 'desc';\r\n const data = this.state.users;\r\n data.sort((a, b) => a[column].localeCompare(b[column]))\r\n if(direction === 'desc') {\r\n data.reverse();\r\n }\r\n this.setState({\r\n users : data,\r\n sort: {\r\n column,\r\n direction\r\n }\r\n })\r\n };\r\n\r\n}","import React, { Component } from 'react';\r\nimport { Container, Row, Col, Input, Table, Button } from 'reactstrap';\r\nimport { Typeahead } from 'react-bootstrap-typeahead';\r\nimport authService from '../api-authorization/AuthorizeService';\r\nimport AdminFunctions from './AdminFunctions';\r\nimport utilities from '../util/utilities';\r\nimport { FaSort } from 'react-icons/fa'\r\nimport '../layout/site.css';\r\n\r\nexport class Clients extends Component {\r\n static displayName = Clients.name;\r\n\r\n constructor(props) {\r\n super(props);\r\n\r\n this.state = {\r\n search: null,\r\n clients: [],\r\n height: 0,\r\n width: 0,\r\n sort: {\r\n column: null,\r\n direction: 'desc'\r\n },\r\n };\r\n\r\n window.addEventListener('resize', this.setWindowDimensions); \r\n }\r\n\r\n async componentDidMount() {\r\n const isAdmin = AdminFunctions.isAdminAsync();\r\n if(!isAdmin) {\r\n this.props.history.push('/accessdenied');\r\n }\r\n this.setWindowDimensions();\r\n this.getClients(); \r\n }\r\n\r\n render() {\r\n return (\r\n
\r\n \r\n \r\n \r\n

Clients

\r\n \r\n
\r\n \r\n \r\n this.setState({ search: e.target.value })}\r\n name='search'\r\n id='search'\r\n placeholder='Search'\r\n style={ this.state.width < utilities.dimensions.LG ? { marginBottom: '20px' } : {}}\r\n />\r\n \r\n \r\n this.searchClients()}\r\n >\r\n Search\r\n \r\n \r\n \r\n this.props.history.push('/admin/clients/create')}\r\n >\r\n + Add\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 {this.state.clients.map((client, i) => {\r\n return (\r\n this.handleRowClick(client.id)}\r\n >\r\n \r\n \r\n \r\n )\r\n })}\r\n \r\n
\r\n Id \r\n this.handleSort('id')}\r\n className='sort-button'\r\n /> \r\n \r\n Name\r\n this.handleSort('name')}\r\n className='sort-button'\r\n />\r\n
{client.id}{client.name}
\r\n \r\n
\r\n
\r\n
\r\n )\r\n }\r\n\r\n async getClients() {\r\n const token = await authService.getAccessToken();\r\n const response = await fetch(`api/Clients/GetClients`, {\r\n headers: !token ? {} : { 'Authorization': `Bearer ${token}`}\r\n });\r\n const data = await response.json();\r\n this.setState({ clients: data });\r\n }\r\n\r\n async searchClients() {\r\n const token = await authService.getAccessToken();\r\n const response = await fetch(`api/Clients/SearchClients?query=${this.state.search}`, {\r\n headers: !token ? {} : { 'Authorization': `Bearer ${token}`}\r\n });\r\n const data = await response.json();\r\n this.setState({ clients: data });\r\n }\r\n\r\n handleRowClick(clientId) {\r\n this.props.history.push({\r\n pathname: '/admin/clients/details',\r\n state: { clientId: clientId, existingClient: true }\r\n });\r\n }\r\n\r\n setWindowDimensions = () => {\r\n this.setState({\r\n height: window.innerHeight,\r\n width: window.innerWidth\r\n });\r\n };\r\n\r\n // table sort\r\n\r\n handleSort(column) {\r\n const direction = this.state.sort.column ? (this.state.sort.direction === 'asc' ? 'desc' : 'asc') : 'desc';\r\n const data = this.state.clients;\r\n data.sort((a, b) => a[column].toString().localeCompare(b[column].toString()))\r\n if(direction === 'desc') {\r\n data.reverse();\r\n }\r\n this.setState({\r\n clients : data,\r\n sort: {\r\n column,\r\n direction\r\n }\r\n })\r\n };\r\n}","import React, { Component } from 'react';\r\nimport { Container, Row, Card, CardBody } from 'reactstrap';\r\nimport '../layout/site.css';\r\n\r\nexport class RowItem extends Component {\r\n static displayName = RowItem.name;\r\n\r\n constructor(props) {\r\n super(props);\r\n\r\n this.state = { \r\n\r\n };\r\n\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n \r\n \r\n \r\n {this.props.children}\r\n \r\n \r\n \r\n \r\n )\r\n }\r\n}","import React, { Component } from 'react';\r\nimport { Container, Row, Col, Input, Table, Button, Collapse, Alert } from 'reactstrap';\r\nimport { Typeahead } from 'react-bootstrap-typeahead';\r\nimport { RowItem } from '../layout/RowItem';\r\nimport authService from '../api-authorization/AuthorizeService';\r\nimport AdminFunctions from './AdminFunctions';\r\nimport '../layout/site.css';\r\n\r\nexport class RoleDetails extends Component {\r\n static displayName = RoleDetails.name;\r\n\r\n constructor(props) {\r\n super(props);\r\n\r\n this.state = {\r\n adminRoleId: '',\r\n roleId: '',\r\n roleName:'',\r\n addPool: [],\r\n removePool: [],\r\n addUser: null,\r\n removeUser: null,\r\n showAddSection: false,\r\n showRemoveSection: false,\r\n success: undefined\r\n };\r\n\r\n }\r\n\r\n async componentDidMount() { \r\n const isAdmin = await AdminFunctions.isAdminAsync();\r\n const adminRoleId = await AdminFunctions.getRoleIdByName('Admin');\r\n this.setState({ adminRoleId: adminRoleId });\r\n if(!isAdmin) {\r\n this.props.history.push('/accessdenied');\r\n }\r\n else {\r\n if(this.props.location.state !== undefined) {\r\n if(this.props.location.state.existingRole) {\r\n const roleId = this.props.location.state.roleId;\r\n this.setState({ roleId: roleId })\r\n this.getRoleDetails(roleId);\r\n } \r\n }\r\n else {\r\n this.props.history.push('/admin/roles/create');\r\n }\r\n } \r\n }\r\n\r\n render() {\r\n return (\r\n
\r\n \r\n \r\n \r\n

Role Details

\r\n \r\n \r\n
Role Id: {this.state.roleId}
\r\n \r\n \r\n this.setState({ showAddSection: !this.state.showAddSection })}\r\n disabled={!this.state.addPool.length > 0 ? true : false}\r\n className='btn-20-right'\r\n >\r\n {!this.state.showAddSection ? 'Add Users' : 'Hide'}\r\n \r\n \r\n this.setState({ showRemoveSection: !this.state.showRemoveSection })}\r\n disabled={!this.state.removePool.length > 0 ? true : false}\r\n >\r\n {!this.state.showRemoveSection ? 'Remove Users' : 'Hide'}\r\n \r\n \r\n
\r\n \r\n \r\n
Edit Role Name
\r\n \r\n \r\n this.setState({ roleName: e.target.value })}\r\n disabled={this.state.roleId === this.state.AdminRoleId ? true : false}\r\n />\r\n \r\n \r\n this.renameRole()}\r\n disabled={this.state.roleId === this.state.AdminRoleId ? true : false}\r\n >\r\n Save\r\n \r\n \r\n
\r\n \r\n \r\n \r\n this.setState({ showAddSection: !this.state.showAddSection })}\r\n className='btn-float-right'\r\n />\r\n \r\n \r\n
Add Users to Role
\r\n \r\n \r\n this.setState({ addUser: selected })}\r\n selected={this.state.addUser}\r\n labelKey='name'\r\n options={this.state.addPool}\r\n placeholder='Search'\r\n />\r\n \r\n \r\n this.addUserToRole()}\r\n disabled={!this.state.addUser ? true : false }\r\n >\r\n Add\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n this.setState({ showRemoveSection: !this.state.showRemoveSection })}\r\n className='btn-float-right'\r\n />\r\n \r\n \r\n
Remove Users from Role
\r\n \r\n \r\n this.setState({ removeUser: selected })}\r\n selected={this.state.removeUser}\r\n labelKey='name'\r\n options={this.state.removePool}\r\n placeholder='Search'\r\n />\r\n \r\n \r\n this.removeUserFromRole()}\r\n disabled={!this.state.removeUser ? true : false }\r\n >\r\n Remove\r\n \r\n \r\n
\r\n
\r\n {this.state.removePool.length > 0 && (\r\n \r\n \r\n
Users in Role
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {this.state.removePool.map((ra, i) => {\r\n return (\r\n \r\n \r\n \r\n \r\n )\r\n })}\r\n \r\n
IdName
{ra.id}{ra.name}
\r\n \r\n
\r\n )}\r\n \r\n \r\n {this.state.success === true && (\r\n \r\n Success!\r\n \r\n )}\r\n {this.state.success === false && (\r\n \r\n Error!\r\n \r\n )}\r\n \r\n \r\n
\r\n
\r\n )\r\n }\r\n\r\n async getRoleDetails(roleId) {\r\n const token = await authService.getAccessToken();\r\n const response = await fetch(`api/Admin/GetRoleDetailsAsync?roleId=${roleId}`, {\r\n headers: !token ? {} : { 'Authorization': `Bearer ${token}` }\r\n });\r\n const data = await response.json();\r\n this.setState({\r\n roleName: data.name,\r\n addPool: data.addPool,\r\n removePool: data.removePool\r\n });\r\n }\r\n\r\n async renameRole() {\r\n const token = await authService.getAccessToken();\r\n const response = await fetch(`api/Admin/RenameRoleAsync?roleId=${this.state.roleId}&roleName=${this.state.roleName}`, {\r\n headers: !token ? {} : { 'Authorization': `Bearer ${token}` }\r\n });\r\n const data = await response.json();\r\n this.setState({ success: data });\r\n await this.getRoleDetails(this.state.roleId);\r\n }\r\n\r\n async addUserToRole() {\r\n const token = await authService.getAccessToken();\r\n const userId = this.state.addUser[0].id;\r\n const response = await fetch(`api/Admin/AddUserToRoleAsync?userId=${userId}&roleId=${this.state.roleId}`, {\r\n headers: !token ? {} : { 'Authorization': `Bearer ${token}` }\r\n });\r\n const data = await response.json();\r\n this.setState({ addUser: null, success: data });\r\n await this.getRoleDetails(this.state.roleId);\r\n }\r\n\r\n async removeUserFromRole() {\r\n const token = await authService.getAccessToken();\r\n const userId = this.state.removeUser[0].id;\r\n const response = await fetch(`api/Admin/RemoveUserFromRoleAsync?userId=${userId}&roleId=${this.state.roleId}`, {\r\n headers: !token ? {} : { 'Authorization': `Bearer ${token}` }\r\n });\r\n const data = await response.json();\r\n this.setState({ removeUser: null, success: data });\r\n await this.getRoleDetails(this.state.roleId);\r\n }\r\n}","import React, { Component } from 'react';\r\nimport { Container, Row, Col, Input, Table, Button, Alert } from 'reactstrap';\r\nimport { Typeahead } from 'react-bootstrap-typeahead';\r\nimport authService from '../api-authorization/AuthorizeService';\r\nimport AdminFunctions from './AdminFunctions';\r\nimport '../layout/site.css';\r\n\r\nexport class UserDetails extends Component {\r\n static displayName = UserDetails.name;\r\n\r\n constructor(props) {\r\n super(props);\r\n\r\n this.state = {\r\n user: {},\r\n userId: null,\r\n client: null,\r\n active: null,\r\n firstName: null,\r\n lastName: null,\r\n officePhone: null,\r\n ext: null,\r\n homePhone: null,\r\n mobilePhone: null,\r\n email: null,\r\n clientOptions: [],\r\n success: undefined, \r\n };\r\n\r\n }\r\n\r\n async componentDidMount() {\r\n const isAdmin = AdminFunctions.isAdminAsync();\r\n if(!isAdmin) {\r\n this.props.history.push('/accessdenied');\r\n }\r\n else {\r\n if(this.props.location.state !== undefined) {\r\n if(this.props.location.state.existingUser) {\r\n const userId = this.props.location.state.userId;\r\n this.setState({ userId: userId })\r\n this.getUserDetails(userId);\r\n } \r\n }\r\n else {\r\n this.props.history.push('/admin/roles/create');\r\n }\r\n }\r\n this.getClientDropdown();\r\n }\r\n\r\n render() {\r\n return (\r\n
\r\n \r\n \r\n \r\n

User Details

\r\n \r\n
\r\n \r\n \r\n this.setState({ client: selected })}\r\n selected={this.state.client}\r\n options={this.state.clientOptions}\r\n placeholder='Client'\r\n />\r\n \r\n \r\n this.setState({ active: e.target.checked })}\r\n checked={!!this.state.active}\r\n name='active'\r\n />\r\n \r\n \r\n \r\n \r\n \r\n this.setState({ firstName: e.target.value })}\r\n name='firstName'\r\n id='firstName'\r\n placeholder='First Name'\r\n />\r\n \r\n \r\n \r\n \r\n this.setState({ lastName: e.target.value })}\r\n name='lastName'\r\n id='lastName'\r\n placeholder='Last Name'\r\n />\r\n \r\n \r\n \r\n \r\n this.setState({ officePhone: e.target.value })}\r\n name='officePhone'\r\n id='officePhone'\r\n placeholder='Office Phone'\r\n /> \r\n \r\n \r\n this.setState({ ext: e.target.value })}\r\n name='ext'\r\n id='ext'\r\n placeholder='Ext.'\r\n />\r\n \r\n \r\n \r\n \r\n this.setState({ homePhone: e.target.value })}\r\n name='homePhone'\r\n id='homePhone'\r\n placeholder='Home Phone'\r\n /> \r\n \r\n \r\n \r\n \r\n this.setState({ mobilePhone: e.target.value })}\r\n name='mobilePhone'\r\n id='mobilePhone'\r\n placeholder='Mobile Phone'\r\n /> \r\n \r\n \r\n \r\n \r\n this.setState({ email: e.target.value })}\r\n name='email'\r\n id='email'\r\n placeholder='Email'\r\n /> \r\n \r\n \r\n \r\n \r\n this.props.history.push('/admin/users')}\r\n >\r\n Back to Users\r\n \r\n \r\n \r\n this.handleSave()}\r\n >\r\n Save\r\n \r\n \r\n \r\n \r\n \r\n {this.state.success === true && (\r\n \r\n {this.state.userId ? 'User updated successfully!' : 'User added successfully!'}\r\n \r\n )} \r\n {this.state.success === false && (\r\n \r\n {this.state.userId ? 'Error updating User!' : 'Error adding User!'}\r\n \r\n )}\r\n \r\n \r\n
\r\n
\r\n )\r\n }\r\n\r\n async getClientDropdown() {\r\n const token = await authService.getAccessToken();\r\n const response = await fetch(`api/Clients/GetDropdown`, {\r\n headers: !token ? {} : { 'Authorization': `Bearer ${token}` }\r\n });\r\n const data = await response.json();\r\n this.setState({ clientOptions: data });\r\n }\r\n \r\n async getUserDetails(userId) {\r\n const token = await authService.getAccessToken();\r\n const response = await fetch(`api/Admin/GetUserDetailsAsync?id=${userId}`, {\r\n headers: !token ? {} : { 'Authorization': `Bearer ${token}` }\r\n });\r\n const data = await response.json();\r\n this.setState({\r\n firstName: data.firstName,\r\n lastName: data.lastName,\r\n email: data.email,\r\n officePhone: data.officePhone,\r\n ext: data.ext,\r\n homePhone: data.homePhone,\r\n mobilePhone: data.mobilePhone,\r\n active: data.active\r\n });\r\n }\r\n\r\n async handleSave() {\r\n const token = await authService.getAccessToken();\r\n const dto = {\r\n id: this.state.userId,\r\n firstName: this.state.firstName,\r\n lastName: this.state.lastName,\r\n email: this.state.email,\r\n officePhone: this.state.officePhone,\r\n ext: this.state.ext,\r\n homePhone: this.state.homePhone,\r\n mobilePhone: this.state.mobilePhone,\r\n active: this.state.active\r\n }\r\n if(this.state.userId) { \r\n await this.editUser(dto, token);\r\n }\r\n else {\r\n // await this.createUser(dto, token);\r\n }\r\n }\r\n\r\n async editUser(dto, token) {\r\n const response = await fetch('api/Admin/EditUserAsync', {\r\n method: 'POST',\r\n body: JSON.stringify(dto),\r\n headers: !token ? {} : { 'Authorization': `Bearer ${token}`, 'Content-Type': 'application/json' }\r\n });\r\n const data = await response.json();\r\n this.setState({ success: data });\r\n }\r\n\r\n async createUser(dto, token) {\r\n const response = await fetch('api/Admin/CreateUser', {\r\n method: 'POST',\r\n body: JSON.stringify(dto),\r\n headers: !token ? {} : { 'Authorization': `Bearer ${token}`, 'Content-Type': 'application/json' }\r\n });\r\n const data = await response.json();\r\n this.setState({ success: data });\r\n }\r\n}","import React, { Component } from 'react';\r\nimport { Container, Row, Col, Input, Button, Alert } from 'reactstrap';\r\nimport authService from '../api-authorization/AuthorizeService';\r\nimport AdminFunctions from './AdminFunctions';\r\nimport '../layout/site.css';\r\n\r\nexport class CreateClient extends Component {\r\n static displayName = CreateClient.name;\r\n\r\n constructor(props) {\r\n super(props);\r\n\r\n this.state = {\r\n clientName: '',\r\n success: undefined\r\n }\r\n\r\n }\r\n\r\n async componentDidMount() {\r\n const isAdmin = AdminFunctions.isAdminAsync();\r\n if(!isAdmin) {\r\n this.props.history.push('/accessdenied');\r\n }\r\n }\r\n\r\n render() {\r\n return (\r\n
\r\n \r\n \r\n \r\n

Create Client

\r\n \r\n
\r\n \r\n \r\n this.setState({ clientName: e.target.value })}\r\n name='clientName'\r\n id='clientName'\r\n placeholder='Name'\r\n />\r\n \r\n \r\n this.createClient()}\r\n >\r\n Create\r\n \r\n \r\n \r\n \r\n \r\n {this.state.success === true && (\r\n \r\n Client added successfully!\r\n \r\n )} \r\n {this.state.success === false && (\r\n \r\n Error adding Client!\r\n \r\n )}\r\n \r\n \r\n
\r\n
\r\n )\r\n }\r\n\r\n async createClient() {\r\n debugger\r\n const token = await authService.getAccessToken();\r\n const name = this.state.clientName;\r\n if(name) {\r\n const dto = {\r\n id: 0,\r\n name: name\r\n };\r\n const response = await fetch('api/Admin/AddClientAsync', {\r\n method: 'POST',\r\n body: JSON.stringify(dto),\r\n headers: !token ? {} : { 'Authorization': `Bearer ${token}`, 'Content-Type': 'application/json' }\r\n });\r\n const data = await response.json();\r\n this.setState({ success: data });\r\n }\r\n }\r\n}","import React, { Component } from 'react';\r\nimport { Container, Row, Col, Input, Button, Alert } from 'reactstrap';\r\nimport { RowItem } from '../layout/RowItem';\r\nimport authService from '../api-authorization/AuthorizeService';\r\nimport AdminFunctions from './AdminFunctions';\r\nimport '../layout/site.css';\r\n\r\nexport class ClientDetails extends Component {\r\n static displayName = ClientDetails.name;\r\n\r\n constructor(props) {\r\n super(props);\r\n\r\n this.state = {\r\n clientId: 0,\r\n clientName: '',\r\n success: undefined\r\n };\r\n\r\n }\r\n\r\n async componentDidMount() {\r\n const isAdmin = AdminFunctions.isAdminAsync();\r\n if(!isAdmin) {\r\n this.props.history.push('/accessdenied');\r\n } \r\n else {\r\n if(this.props.location.state !== undefined) {\r\n if(this.props.location.state.existingClient) {\r\n const clientId = this.props.location.state.clientId;\r\n this.setState({ clientId: clientId });\r\n this.getClientDetails(clientId);\r\n }\r\n }\r\n else {\r\n this.props.history.push('/admin/clients/create');\r\n }\r\n }\r\n }\r\n\r\n render() {\r\n return (\r\n
\r\n \r\n \r\n \r\n

Client Details

\r\n \r\n \r\n
Client Id: {this.state.clientId}
\r\n \r\n
\r\n \r\n \r\n
Edit Client Name
\r\n \r\n \r\n this.setState({ clientName: e.target.value })}\r\n name='clientName'\r\n id='clientName'\r\n placeholder='Name'\r\n />\r\n \r\n \r\n this.editClient()} \r\n >\r\n Save\r\n \r\n \r\n
\r\n \r\n \r\n {this.state.success === true && (\r\n \r\n Client saved successfully!\r\n \r\n )} \r\n {this.state.success === false && (\r\n \r\n Error saving Client!\r\n \r\n )}\r\n \r\n \r\n
\r\n
\r\n )\r\n }\r\n\r\n async getClientDetails(clientId) {\r\n const token = await authService.getAccessToken();\r\n const response = await fetch(`api/Admin/GetClientDetailsAsync?id=${clientId}`, {\r\n headers: !token ? {} : { 'Authorization': `Bearer ${token}` }\r\n });\r\n const data = await response.json();\r\n this.setState({\r\n clientName: data.name\r\n });\r\n }\r\n\r\n async editClient() {\r\n const token = await authService.getAccessToken();\r\n const name = this.state.clientName;\r\n if(name) {\r\n const dto = {\r\n id: this.state.clientId,\r\n name: name\r\n };\r\n const response = await fetch('api/Admin/EditClientAsync', {\r\n method: 'POST',\r\n body: JSON.stringify(dto),\r\n headers: !token ? {} : { 'Authorization': `Bearer ${token}`, 'Content-Type': 'application/json' }\r\n });\r\n const data = await response.json();\r\n this.setState({ success: data });\r\n }\r\n }\r\n\r\n}","import React, { Component } from 'react';\r\nimport { Container, Row, Col, NavLink } from 'reactstrap';\r\nimport { Link } from 'react-router-dom';\r\nimport { RowItem } from '../layout/RowItem';\r\nimport authService from '../api-authorization/AuthorizeService';\r\nimport AdminFunctions from './AdminFunctions';\r\nimport '../layout/site.css';\r\nexport class Admin extends Component {\r\n static displayName = Admin.name;\r\n\r\n constructor(props) {\r\n super(props);\r\n\r\n this.state = {\r\n \r\n };\r\n\r\n }\r\n\r\n async componentDidMount() {\r\n const isAdmin = AdminFunctions.isAdminAsync();\r\n if(!isAdmin) {\r\n this.props.history.push('/accessdenied');\r\n } \r\n }\r\n\r\n render() {\r\n return (\r\n
\r\n \r\n \r\n \r\n

Admin

\r\n \r\n
\r\n \r\n
    \r\n Clients\r\n Roles\r\n Users\r\n
\r\n
\r\n
\r\n
\r\n )\r\n }\r\n \r\n}","import React, { useEffect, useState, useRef } from \"react\";\r\nimport { _fetch } from './_fetch';\r\nimport authService from './api-authorization/AuthorizeService';\r\nimport Modal from 'react-modal';\r\nimport './navbox.css';\r\n\r\nfunction NavBox({\r\n ShowNavBox,\r\n ClientNumber,\r\n LastName,\r\n SaveOnClick }) {\r\n\r\n const prevClientNumber = useRef();\r\n\r\n useEffect(() => {\r\n if (ClientNumber !== undefined && prevClientNumber.current !== ClientNumber) {\r\n setClientNumber(ClientNumber);\r\n prevClientNumber.current = ClientNumber;\r\n\r\n loadNavBoxDropdowns();\r\n }\r\n setClientLastName(LastName);\r\n }, [ShowNavBox, LastName]);\r\n\r\n const [CreditApplicationStatuses, setCreditApplicationStatuses] = useState([]);\r\n const [Locations, setLocations] = useState([]);\r\n const [SalesReps, setSalesReps] = useState([]);\r\n const [showPrintModal, setShowPrintModal] = useState(false);\r\n const [_ShowNavBox, setShowNavBox] = useState(false);\r\n const [CreditApplicationStatusId, setCreditApplicationStatusId] = useState(undefined);\r\n const [LocationId, setLocationId] = useState(undefined);\r\n const [SalesRepId, setSalesRepId] = useState(undefined);\r\n const [PrintLoanApplication, setPrintLoanApplication] = useState(false);\r\n const [PrintPFS, setPrintPFS] = useState(false);\r\n const [_LastName, setClientLastName] = useState(\"\");\r\n const [ClientNo, setClientNumber] = useState(0);\r\n const [PFSAvailable, setPFSAvailable] = useState(false);\r\n\r\n async function loadNavBoxDropdowns() {\r\n getCreditApplicationStatuses();\r\n getLocations();\r\n getSalesReps();\r\n await loadApplicantData();\r\n }\r\n\r\n async function loadApplicantData() {\r\n var fetch = _fetch();\r\n fetch.get(\"/creditapplication/GetNavBoxData?id=\" + ClientNumber)\r\n .then((data) => {\r\n if (data) {\r\n setClientNumber(data.clientNumber);\r\n setClientLastName(data.lastName == null ? _LastName : data.lastName);\r\n setCreditApplicationStatusId(data.creditApplicationStatusId);\r\n setLocationId(data.locationId);\r\n setSalesRepId(data.salesRepId);\r\n setShowNavBox(ShowNavBox);\r\n hasPFS(ClientNumber);\r\n hasPFS(ClientNumber);\r\n }\r\n })\r\n }\r\n\r\n function getCreditApplicationStatuses() {\r\n var fetch = _fetch();\r\n fetch.get(\"/creditapplication/GetCreditApplicationStatuses\")\r\n .then((data) => {\r\n setCreditApplicationStatuses(data);\r\n })\r\n }\r\n\r\n function getLocations() {\r\n var fetch = _fetch();\r\n fetch.get(\"/creditapplication/GetLocations\")\r\n .then((data) => {\r\n setLocations(data);\r\n })\r\n }\r\n\r\n function getSalesReps() {\r\n var fetch = _fetch();\r\n fetch.get(\"/creditapplication/GetSalesReps\")\r\n .then((data) => {\r\n setSalesReps(data);\r\n })\r\n }\r\n\r\n function hasPFS(id) {\r\n var fetch = _fetch();\r\n fetch.get(\"/creditapplication/hasPFS?id=\" + id)\r\n .then((data) => {\r\n setPFSAvailable(data);\r\n });\r\n }\r\n\r\n function OnClickOrChange(sender, value) {\r\n switch (sender) {\r\n case \"Home\":\r\n window.location.href = \"/\";\r\n break;\r\n case \"PrintDocuments\":\r\n setShowPrintModal(true);\r\n break;\r\n case \"LoanStatus\":\r\n if (value !== undefined) updateCreditApplicationStatus(value);\r\n break;\r\n case \"Location\":\r\n if (value !== undefined) updateLocation(value);\r\n break;\r\n case \"SalesRep\":\r\n if (value !== undefined) updateSalesRep(value);\r\n break;\r\n case \"DocumentVault\":\r\n window.location.href = \"/DocumentVault\";\r\n break;\r\n case \"BorrowerInformation\":\r\n window.location.href = \"/CreditApplicationStep1\";\r\n break;\r\n case \"LenderInformation\":\r\n window.location.href = \"/Lender\";\r\n break;\r\n case \"VesselInformation\":\r\n window.location.href = \"/Vessel\";\r\n break;\r\n case \"SellerInformation\":\r\n window.location.href = \"/SellerInformation\";\r\n break; \r\n case \"Report\":\r\n window.location.href = \"/Reporting\";\r\n break; \r\n default:\r\n }\r\n }\r\n\r\n function updateCreditApplicationStatus(value) {\r\n var fetch = _fetch();\r\n\r\n var data = {\r\n Id1: parseInt(value),\r\n Id2: parseInt(ClientNo)\r\n }\r\n\r\n fetch.post(\"/creditapplication/UpdateCreditApplicationStatus\", data)\r\n .then((result) => {\r\n setCreditApplicationStatusId(value);\r\n })\r\n }\r\n\r\n function updateLocation(value) {\r\n var fetch = _fetch();\r\n\r\n var data = {\r\n Id1: parseInt(value),\r\n Id2: parseInt(ClientNo)\r\n }\r\n\r\n fetch.post(\"/creditapplication/UpdateLocation\", data)\r\n .then((result) => {\r\n setLocationId(value);\r\n })\r\n }\r\n\r\n function updateSalesRep(value) {\r\n var fetch = _fetch();\r\n\r\n var data = {\r\n Id1: parseInt(value),\r\n Id2: parseInt(ClientNo)\r\n }\r\n\r\n fetch.post(\"/creditapplication/UpdateSalesRep\", data)\r\n .then((result) => {\r\n setSalesRepId(value);\r\n })\r\n }\r\n\r\n async function print() {\r\n const token = await authService.getAccessToken();\r\n if (PrintLoanApplication) {\r\n var tempfilename = \"LoanApplication.pdf\";\r\n var filename = \"\";\r\n\r\n var f = _fetch();\r\n await fetch(\"/Pdf/GenerateLoanApplicationPDF?id=\" + ClientNo, {\r\n method: 'GET',\r\n body: null,\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Authorization': 'Bearer ' + token\r\n }\r\n })\r\n .then((res) => {\r\n const header = res.headers.get('Content-Disposition');\r\n const parts = header.split(';');\r\n if (parts[1]) {\r\n filename = parts[1].split('=')[1];\r\n }\r\n else {\r\n filename = tempfilename;\r\n }\r\n return res.blob();\r\n })\r\n .then(data => {\r\n f.downloadFile(data, filename, \"application/pdf\");\r\n //this.setState({ loading: false });\r\n })\r\n .catch((error) => {\r\n console.log('error in print (Loan Application) - ' + error.message);\r\n //this.setState({ loading: false });\r\n });\r\n }\r\n\r\n if (PrintPFS) {\r\n var filename = \"LoanApplication.pdf\";\r\n\r\n await fetch(\"/Pdf/GeneratePersonalFinancialStatementPDF?id=\" + ClientNo, {\r\n method: 'GET',\r\n body: null,\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Authorization': 'Bearer ' + token\r\n }\r\n })\r\n .then((res) => {\r\n const header = res.headers.get('Content-Disposition');\r\n const parts = header.split(';');\r\n if (parts[1]) {\r\n filename = parts[1].split('=')[1];\r\n }\r\n\r\n return res.blob();\r\n })\r\n .then(data => {\r\n var f = _fetch();\r\n f.downloadFile(data, filename, \"application/pdf\");\r\n //this.setState({ loading: false });\r\n })\r\n .catch((error) => {\r\n console.log('error in print (Loan Application) - ' + error.message);\r\n //this.setState({ loading: false });\r\n });\r\n }\r\n setShowPrintModal(false);\r\n setPrintLoanApplication(false);\r\n setPrintPFS(false);\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\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 \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 Client #\r\n \r\n {ClientNo === 0 ? \"\" : ClientNo}\r\n
\r\n Last Name\r\n \r\n {_LastName}\r\n
\r\n Loan Status\r\n \r\n {\r\n if (e.target.value !== undefined) OnClickOrChange(\"LoanStatus\", e.target.value);\r\n }}\r\n >\r\n \r\n {CreditApplicationStatuses?.map((item, idx) =>\r\n \r\n )}\r\n \r\n
\r\n Sales Rep\r\n \r\n {\r\n if (e.target.value !== undefined) OnClickOrChange(\"SalesRep\", e.target.value);\r\n }}\r\n >\r\n \r\n {SalesReps?.map((item, idx) =>\r\n \r\n )}\r\n \r\n
\r\n Location\r\n \r\n {\r\n if (e.target.value !== undefined) OnClickOrChange(\"Location\", e.target.value);\r\n }}\r\n >\r\n \r\n {Locations?.map((item, idx) =>\r\n \r\n )}\r\n \r\n
\r\n \r\n
{\r\n OnClickOrChange(\"Home\", null);\r\n SaveOnClick(\"/\");\r\n }}\r\n >Home\r\n
\r\n
\r\n \r\n
{\r\n OnClickOrChange(\"BorrowerInformation\", null);\r\n SaveOnClick(\"/CreditApplicationStep1\");\r\n }}\r\n >Borrower Information\r\n
\r\n
\r\n \r\n
{\r\n OnClickOrChange(\"LenderInformation\", null);\r\n SaveOnClick(\"/Lender\");\r\n }}\r\n >Lender Information\r\n
\r\n
\r\n \r\n
{\r\n OnClickOrChange(\"VesselInformation\", null);\r\n SaveOnClick(\"/Vessel\");\r\n }}\r\n >Vessel Information\r\n
\r\n
\r\n \r\n
{\r\n OnClickOrChange(\"SellerInformation\", null);\r\n SaveOnClick(\"/SellerInformation\");\r\n }}\r\n >Seller Information\r\n
\r\n
\r\n \r\n
{\r\n OnClickOrChange(\"DocumentVault\", null);\r\n SaveOnClick(\"/DocumentVault\");\r\n }}\r\n >Document Vault\r\n
\r\n
\r\n \r\n
{\r\n OnClickOrChange(\"Reports\", null);\r\n SaveOnClick(\"/Reporting\");\r\n }}\r\n >Reports\r\n
\r\n
\r\n \r\n {\r\n OnClickOrChange(\"PrintDocuments\", null);\r\n }}\r\n >Print Documents\r\n \r\n
\r\n \r\n {\r\n OnClickOrChange(\"DuplicateLoanApplication\", null);\r\n }}\r\n >Duplicate Loan Application\r\n \r\n
\r\n setShowPrintModal(false)}\r\n className=\"popup\"\r\n contentLabel={\"\"}\r\n overlayClassName=\"Overlay\"\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 \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n setPrintLoanApplication(e.target.checked)} />\r\n \r\n Loan Application\r\n
\r\n setPrintPFS(e.target.checked)} />\r\n \r\n \r\n
\r\n { }} />\r\n \r\n Approval Notice\r\n
\r\n { }} />\r\n \r\n Denial Notice\r\n
\r\n { }} />\r\n \r\n Origination Invoice\r\n
\r\n { }} />\r\n \r\n Loan Closing Worksheet\r\n
\r\n { await print(); }}\r\n >\r\n Print\r\n \r\n
\r\n
\r\n \r\n
\r\n );\r\n};\r\n\r\nexport default NavBox;","import React, { Component } from 'react';\r\nimport { _fetch } from './_fetch';\r\nimport { Spinner } from 'reactstrap';\r\nimport TextInput from './TextInput';\r\nimport Toast from './toast.js';\r\nimport NavBox from './navbox';\r\n\r\nexport class CreditApplicationStep1 extends Component {\r\n static displayName = CreditApplicationStep1.name;\r\n constructor(props) {\r\n super(props);\r\n\r\n this.state = {\r\n loading: false,\r\n showToast: false,\r\n toastMessage: '',\r\n toastItems: [],\r\n ShowNavBox: false,\r\n showPrintModal: false\r\n }\r\n\r\n this.termOtherRef = React.createRef();\r\n this.loanAmountRef = React.createRef();\r\n }\r\n\r\n componentDidMount() {\r\n //if (localStorage.getItem(\"CONTINUE_TOKEN\") == null || localStorage.getItem(\"CONTINUE_TOKEN\") == undefined) {\r\n let id = sessionStorage.getItem(\"ID\");\r\n if (id !== 0 && id !== null) {\r\n this.loadPage(id);\r\n this.setState({ Id: id, CreditApplicationId: id, ShowNavBox: true });\r\n }\r\n else {\r\n this.setState({ Id: 0, CreditApplicationId: 0, ShowNavBox: true });\r\n }\r\n\r\n let searchParams = new URLSearchParams(window.location.search);\r\n if (searchParams.has('sr')) {\r\n let salesRep = searchParams.get('sr');\r\n if (salesRep != null) {\r\n this.setState({ SalesRep: salesRep });\r\n }\r\n }\r\n }\r\n\r\n calculateTotals() {\r\n if (this.state.PurchaseOrRefinance !== 'Refinance') {\r\n var s = this.state;\r\n var purchasePrice = this.zeroOrValue(s.PurchasePrice);\r\n var salesTax = this.zeroOrValue(s.SalesTax);\r\n var total = purchasePrice + salesTax;\r\n var trade = this.zeroOrValue(s.TradeBoatEquity);\r\n var downPayment = this.zeroOrValue(s.CashDownPayment);\r\n var loanAmount = total - (trade + downPayment);\r\n\r\n var loanRaw = this.formatCurrency(loanAmount);\r\n\r\n if (loanRaw && loanRaw.startsWith('$') && !loanRaw.includes('.')) {\r\n loanRaw = loanRaw + '.00';\r\n }\r\n else if (loanRaw.startsWith('$') && loanRaw.includes('.')) {\r\n var spl = loanRaw.split(\".\");\r\n if (spl[1].length == 0) {\r\n loanRaw = loanRaw + '00';\r\n }\r\n\r\n if (spl[1].length == 1) {\r\n loanRaw = loanRaw + '0';\r\n }\r\n }\r\n\r\n var totalRaw = this.formatCurrency(total);\r\n\r\n if (totalRaw && totalRaw.startsWith('$') && !totalRaw.includes('.')) {\r\n totalRaw = totalRaw + '.00';\r\n }\r\n else if (totalRaw.startsWith('$') && totalRaw.includes('.')) {\r\n var spl = totalRaw.split(\".\");\r\n if (spl[1].length == 0) {\r\n totalRaw = totalRaw + '00';\r\n }\r\n\r\n if (spl[1].length == 1) {\r\n totalRaw = totalRaw + '0';\r\n }\r\n }\r\n\r\n this.setState({ TotalCost: totalRaw, LoanAmount: loanRaw });\r\n }\r\n }\r\n\r\n zeroOrValue(value) {\r\n if (value == undefined || value == 0 || value == null) return 0;\r\n\r\n var _value = value?.toString().replace(/,/g, '').replace('$', '');\r\n\r\n if (_value.length > 0) {\r\n var result = (isNaN(_value) || _value == undefined) ? 0 : parseFloat(_value);\r\n return result;\r\n }\r\n else {\r\n return 0;\r\n }\r\n }\r\n\r\n formatCurrency(value) {\r\n if (value == undefined) return \"\";\r\n var _values = value.toString().replace(/,/g, '').replace('$', '');\r\n\r\n var dec = \"\";\r\n var _value = \"\";\r\n\r\n var elements = _values.split('.');\r\n if (elements?.length == 1) {\r\n _value = _values.split('.')[0];\r\n }\r\n else if (elements?.length > 1) {\r\n _value = _values.split('.')[0];\r\n dec = \".\" + _values.split('.')[1].substring(0, 2);\r\n }\r\n else {\r\n _value = _values;\r\n }\r\n if (_value.length > 0) {\r\n return new Intl.NumberFormat(undefined, {\r\n style: 'currency',\r\n currency: 'USD',\r\n maximumFractionDigits: 0,\r\n minimumFractionDigits: 0,\r\n }).format(_value) + dec;\r\n }\r\n }\r\n\r\n save(url) {\r\n try {\r\n var item = [];\r\n \r\n if (this.state.TakingTitle === undefined || this.state.TakingTitle?.length === 0) {\r\n item.push(\"What type of application is this?\");\r\n }\r\n if (this.state.Ownership === undefined || this.state.Ownership?.length === 0) {\r\n item.push(\"How do you plan to take ownership?\");\r\n }\r\n if (this.state.PurchaseOrRefinance === undefined || this.state.PurchaseOrRefinance?.length === 0) {\r\n item.push(\"Purchase or Refinance\");\r\n }\r\n if (this.state.PurchaseOrRefinance !== 'Refinance' && (this.state.NewOrUsed === undefined || this.state.NewOrUsed?.length === 0)) {\r\n item.push(\"New or Used\");\r\n }\r\n if (this.state.PurchaseOrRefinance === \"Purchase\" && this.state.DealerPrivate === undefined || this.state.DealerPrivate?.length === 0) {\r\n item.push(\"Dealer/Broker or Private Party\");\r\n }\r\n if (this.state.DealerPrivate === \"Dealer\" && (this.state.DealerName === undefined || this.state.DealerName?.length === 0)) {\r\n item.push(\"Dealer/Broker Name\");\r\n }\r\n if (this.state.PurchaseOrRefinance === \"Purchase\" && (this.state.PurchasePrice === undefined || this.state.PurchasePrice?.length === 0)) {\r\n item.push(\"Purchase Price\");\r\n }\r\n if (this.state.PurchaseOrRefinance === 'Refinance' && (this.state.LoanAmount === undefined || this.state.LoanAmount?.length === 0)) {\r\n item.push(\"Loan Amount\");\r\n }\r\n if (this.state.Term?.length === 0 || this.state.Term === undefined) {\r\n item.push(\"Term\");\r\n }\r\n if (this.state.Term === 0 && (this.state.TermOther === undefined || this.state.TermOther?.length === 0)) {\r\n item.push(\"Term Other Value\");\r\n }\r\n\r\n if (item.length == 0) {\r\n this.setState({ loading: true });\r\n var fetch = _fetch();\r\n\r\n fetch.post(\"/creditapplication/SaveCreditApplicationStep1\", this.state)\r\n .then((id) => {\r\n if (id != 0) {\r\n this.setState({ loading: false });\r\n sessionStorage.setItem(\"ID\", id);\r\n if (url !== undefined) {\r\n window.location.href = url;\r\n }\r\n else {\r\n window.location.href = '/CreditApplicationStep2';\r\n }\r\n }\r\n else {\r\n this.setState({\r\n showToast: true,\r\n toastMessage: 'There was an issue saving your information. Please try again',\r\n loading: false\r\n });\r\n }\r\n })\r\n }\r\n else {\r\n this.setState({\r\n showToast: true,\r\n toastMessage: 'The following fields are required:',\r\n toastItems: item\r\n });\r\n }\r\n }\r\n catch (err) {\r\n this.setState({ loading: false });\r\n console.log('save - ' + err);\r\n }\r\n }\r\n\r\n loadPage(id) {\r\n try {\r\n this.setState({ loading: true });\r\n var fetch = _fetch();\r\n fetch.get(\"/creditapplication/GetCreditApplicationStep1?id=\" + id)\r\n .then((data) => {\r\n var _state = this.state;\r\n for (const key in data) {\r\n if (data[key] != null) {\r\n var _key = key.charAt(0).toUpperCase() + key.slice(1);\r\n var _value = data[key];\r\n _state[_key] = _value?.toString();\r\n }\r\n }\r\n this.setState(_state, function () {\r\n this.calculateTotals();\r\n this.setState({ loading: false, Id: id });\r\n localStorage.setItem(\"APP_TYPE\", this.state.TakingTitle);\r\n });\r\n })\r\n }\r\n catch (err) {\r\n this.setState({ loading: false });\r\n console.log('loadPage - ' + err);\r\n }\r\n }\r\n\r\n render() {\r\n return (\r\n
\r\n this.save(e)}\r\n />\r\n this.setState({ showToast: false })}\r\n autoHideToastDelay={10000}\r\n />\r\n
\r\n {this.state.loading === true ?\r\n
\r\n \r\n
\r\n : null\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 \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 \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 How did you hear about us?\r\n \r\n this.setState({ HearAboutUs: e.target.value })} value={this.state.HearAboutUs ?? ''}>\r\n
\r\n What type of application is this?\r\n \r\n
\r\n {\r\n this.setState({ TakingTitle: e.target.checked ? \"Individual\" : this.state.TakingTitle });\r\n localStorage.setItem(\"APP_TYPE\", \"Individual\");\r\n }}\r\n value={this.state.TakingTitle ?? false}>\r\n \r\n \r\n {\r\n this.setState({ TakingTitle: e.target.checked ? \"Jointly\" : this.state.TakingTitle });\r\n localStorage.setItem(\"APP_TYPE\", \"Jointly\");\r\n }}\r\n value={this.state.TakingTitle ?? false}>\r\n \r\n \r\n
\r\n
\r\n How do you plan to take ownership?\r\n \r\n
\r\n this.setState({ Ownership: e.target.checked ? \"Personally\" : this.state.Ownership })}\r\n value={this.state.Ownership ?? false}>\r\n \r\n \r\n this.setState({ Ownership: e.target.checked ? \"LLC\" : this.state.Ownership })}\r\n value={this.state.Ownership ?? false}>\r\n \r\n \r\n this.setState({ Ownership: e.target.checked ? \"Trust\" : this.state.Ownership })}\r\n value={this.state.Ownership ?? false}>\r\n \r\n \r\n
\r\n
\r\n Will this vessel be used as a
residence / primary dwelling?\r\n
\r\n
\r\n this.setState({ ResidentPrimaryDwelling: 'Yes' })}\r\n >\r\n \r\n \r\n this.setState({ ResidentPrimaryDwelling: 'No' })}\r\n >\r\n \r\n \r\n
\r\n
\r\n
\r\n Purchase or Refinance?\r\n \r\n
\r\n {\r\n this.setState({\r\n PurchaseOrRefinance: 'Purchase',\r\n LoanAmount: undefined\r\n });\r\n }}\r\n >\r\n \r\n \r\n {\r\n this.setState({ PurchaseOrRefinance: 'Refinance' },\r\n function () {\r\n if (this.state.PurchaseOrRefinance === 'Refinance') {\r\n this.setState({\r\n PurchaseOrRefinance: 'Refinance',\r\n NewOrUsed: undefined,\r\n DealerPrivate: undefined,\r\n DealerName: undefined,\r\n PurchasePrice: undefined,\r\n SalesTax: undefined,\r\n TotalCost: undefined,\r\n TradeBoatEquity: undefined,\r\n CashDownPayment: undefined,\r\n LoanAmount: undefined\r\n });\r\n this.loanAmountRef.current.focus();\r\n }\r\n });\r\n }}\r\n >\r\n \r\n \r\n
\r\n\r\n
\r\n New or Used?\r\n \r\n
\r\n this.setState({ NewOrUsed: 'New' })}\r\n disabled={this.state.PurchaseOrRefinance === 'Refinance'}\r\n >\r\n \r\n \r\n this.setState({ NewOrUsed: 'Used' })}\r\n disabled={this.state.PurchaseOrRefinance === 'Refinance'}\r\n >\r\n \r\n \r\n
\r\n
\r\n Dealer/Broker or Private Party?\r\n \r\n
\r\n this.setState({ DealerPrivate: 'Dealer' })}\r\n disabled={this.state.PurchaseOrRefinance === 'Refinance'}\r\n >\r\n \r\n \r\n {this.state.DealerPrivate === 'Dealer' && this.state.PurchaseOrRefinance !== 'Refinance' ?\r\n this.setState({ DealerName: e.target.value })}\r\n value={this.state.DealerName ?? \"\"}\r\n placeholder=\"Please list name\"\r\n style={{ marginRight: '5px', marginBottom: '0' }}\r\n disabled={this.state.PurchaseOrRefinance === 'Refinance'}\r\n >\r\n : null}\r\n this.setState({ DealerPrivate: 'Private' })}\r\n disabled={this.state.PurchaseOrRefinance === 'Refinance'}\r\n >\r\n \r\n \r\n
\r\n
\r\n Purchase Price\r\n \r\n {\r\n var formattedCurrency = e.target.value;\r\n this.setState({ PurchasePrice: formattedCurrency?.toString() },\r\n function () {\r\n this.calculateTotals();\r\n });\r\n }}\r\n value={this.formatCurrency(this.state.PurchasePrice)}\r\n onKeyPress={(event) => {\r\n var alpha = /^\\d*\\.?\\d*$/;\r\n if (!alpha.test(event.key)) {\r\n event.preventDefault();\r\n }\r\n else {\r\n return true;\r\n }\r\n }}\r\n onPaste={(event) => {\r\n let pasteData = event.clipboardData.getData('Text');\r\n if (pasteData) {\r\n pasteData.replace(/^\\d*\\.?\\d*$/g, '');\r\n }\r\n }}\r\n onBlur={(e) => {\r\n var val = this.state.PurchasePrice;\r\n if (e.target.value && e.target.value.startsWith('$') && !e.target.value.includes('.')) {\r\n val = val + '.00';\r\n }\r\n else if (e.target.value && e.target.value.startsWith('$') && e.target.value.includes('.')) {\r\n var spl = e.target.value.split(\".\");\r\n if (spl[1].length == 0) {\r\n val = val + '00';\r\n }\r\n\r\n if (spl[1].length == 1) {\r\n val = val + '0';\r\n }\r\n }\r\n this.setState({\r\n PurchasePrice: val\r\n });\r\n }}\r\n disabled={this.state.PurchaseOrRefinance === 'Refinance'}\r\n >\r\n
\r\n Sales Tax\r\n \r\n {\r\n var formattedCurrency = e.target.value;\r\n this.setState({ SalesTax: formattedCurrency?.toString() },\r\n function () {\r\n this.calculateTotals();\r\n });\r\n }}\r\n value={this.formatCurrency(this.state.SalesTax)}\r\n onKeyPress={(event) => {\r\n var alpha = /^\\d*\\.?\\d*$/;\r\n if (!alpha.test(event.key)) {\r\n event.preventDefault();\r\n }\r\n else {\r\n return true;\r\n }\r\n }}\r\n onPaste={(event) => {\r\n\r\n let pasteData = event.clipboardData.getData('Text');\r\n if (pasteData) {\r\n pasteData.replace(/^\\d*\\.?\\d*$/g, '');\r\n }\r\n\r\n }}\r\n onBlur={(e) => {\r\n var val = this.state.SalesTax;\r\n if (e.target.value && e.target.value.startsWith('$') && !e.target.value.includes('.')) {\r\n val = val + '.00';\r\n }\r\n else if (e.target.value && e.target.value.startsWith('$') && e.target.value.includes('.')) {\r\n var spl = e.target.value.split(\".\");\r\n if (spl[1].length == 0) {\r\n val = val + '00';\r\n }\r\n\r\n if (spl[1].length == 1) {\r\n val = val + '0';\r\n }\r\n }\r\n this.setState({\r\n SalesTax: val\r\n });\r\n }}\r\n disabled={this.state.PurchaseOrRefinance === 'Refinance'}\r\n >\r\n
\r\n Total Cost\r\n \r\n {\r\n var formattedCurrency = e.target.value;\r\n this.setState({ TotalCost: formattedCurrency?.toString() },\r\n function () {\r\n this.calculateTotals();\r\n });\r\n }}\r\n value={this.formatCurrency(this.state.TotalCost)}\r\n onKeyPress={(event) => {\r\n var alpha = /^\\d*\\.?\\d*$/;\r\n if (!alpha.test(event.key)) {\r\n event.preventDefault();\r\n }\r\n else {\r\n return true;\r\n }\r\n }}\r\n onPaste={(event) => {\r\n let pasteData = event.clipboardData.getData('Text');\r\n if (pasteData) {\r\n pasteData.replace(/^\\d*\\.?\\d*$/g, '');\r\n }\r\n\r\n }}\r\n onBlur={(e) => {\r\n var val = this.state.TotalCost;\r\n if (e.target.value && e.target.value.startsWith('$') && !e.target.value.includes('.')) {\r\n val = val + '.00';\r\n }\r\n else if (e.target.value && e.target.value.startsWith('$') && e.target.value.includes('.')) {\r\n var spl = e.target.value.split(\".\");\r\n if (spl[1].length == 0) {\r\n val = val + '00';\r\n }\r\n\r\n if (spl[1].length == 1) {\r\n val = val + '0';\r\n }\r\n }\r\n this.setState({\r\n TotalCost: val\r\n });\r\n }}\r\n disabled={this.state.PurchaseOrRefinance === 'Refinance'}\r\n >\r\n
\r\n Trade Boat Equity\r\n \r\n {\r\n var formattedCurrency = e.target.value;\r\n this.setState({ TradeBoatEquity: formattedCurrency?.toString() },\r\n function () {\r\n this.calculateTotals();\r\n })\r\n }}\r\n value={this.formatCurrency(this.state.TradeBoatEquity)}\r\n onKeyPress={(event) => {\r\n var alpha = /^\\d*\\.?\\d*$/;\r\n if (!alpha.test(event.key)) {\r\n event.preventDefault();\r\n }\r\n else {\r\n return true;\r\n }\r\n }}\r\n onPaste={(event) => {\r\n let pasteData = event.clipboardData.getData('Text');\r\n if (pasteData) {\r\n pasteData.replace(/^\\d*\\.?\\d*$/g, '');\r\n }\r\n }}\r\n onBlur={(e) => {\r\n var val = this.state.TradeBoatEquity;\r\n if (e.target.value && e.target.value.startsWith('$') && !e.target.value.includes('.')) {\r\n val = val + '.00';\r\n }\r\n else if (e.target.value && e.target.value.startsWith('$') && e.target.value.includes('.')) {\r\n var spl = e.target.value.split(\".\");\r\n if (spl[1].length == 0) {\r\n val = val + '00';\r\n }\r\n\r\n if (spl[1].length == 1) {\r\n val = val + '0';\r\n }\r\n }\r\n this.setState({\r\n TradeBoatEquity: val\r\n });\r\n }}\r\n disabled={this.state.PurchaseOrRefinance === 'Refinance'}\r\n >\r\n
\r\n Cash Down Payment\r\n \r\n {\r\n var formattedCurrency = e.target.value;\r\n this.setState({ CashDownPayment: formattedCurrency?.toString() },\r\n function () {\r\n this.calculateTotals();\r\n });\r\n }}\r\n value={this.formatCurrency(this.state.CashDownPayment)}\r\n onKeyPress={(event) => {\r\n var alpha = /^\\d*\\.?\\d*$/;\r\n if (!alpha.test(event.key)) {\r\n event.preventDefault();\r\n }\r\n else {\r\n return true;\r\n }\r\n }}\r\n onPaste={(event) => {\r\n\r\n let pasteData = event.clipboardData.getData('Text');\r\n if (pasteData) {\r\n pasteData.replace(/^\\d*\\.?\\d*$/g, '');\r\n }\r\n\r\n }}\r\n onBlur={(e) => {\r\n var val = this.state.CashDownPayment;\r\n if (e.target.value && e.target.value.startsWith('$') && !e.target.value.includes('.')) {\r\n val = val + '.00';\r\n }\r\n else if (e.target.value && e.target.value.startsWith('$') && e.target.value.includes('.')) {\r\n var spl = e.target.value.split(\".\");\r\n if (spl[1].length == 0) {\r\n val = val + '00';\r\n }\r\n\r\n if (spl[1].length == 1) {\r\n val = val + '0';\r\n }\r\n }\r\n this.setState({\r\n CashDownPayment: val\r\n });\r\n }}\r\n disabled={this.state.PurchaseOrRefinance === 'Refinance'}\r\n >\r\n
\r\n Loan Amount\r\n \r\n {\r\n var formattedCurrency = e.target.value;\r\n this.setState({ LoanAmount: formattedCurrency?.toString() })\r\n }}\r\n value={this.formatCurrency(this.state.LoanAmount)}\r\n onBlur={(e) => {\r\n var val = this.state.LoanAmount;\r\n if (e.target.value && e.target.value.startsWith('$') && !e.target.value.includes('.')) {\r\n val = val + '.00';\r\n }\r\n else if (e.target.value && e.target.value.startsWith('$') && e.target.value.includes('.')) {\r\n var spl = e.target.value.split(\".\");\r\n if (spl[1].length == 0) {\r\n val = val + '00';\r\n }\r\n\r\n if (spl[1].length == 1) {\r\n val = val + '0';\r\n }\r\n }\r\n this.setState({\r\n LoanAmount: val\r\n });\r\n }}\r\n >\r\n
\r\n Term\r\n \r\n
\r\n this.setState({ Term: e.target.checked ? \"20\" : undefined, TermOther: \"\" })}\r\n >\r\n \r\n this.setState({ Term: e.target.checked ? \"15\" : undefined, TermOther: \"\" })}\r\n >\r\n \r\n this.setState({ Term: e.target.checked ? \"10\" : undefined, TermOther: \"\" })}\r\n >\r\n \r\n {\r\n if (e.target.checked) {\r\n this.termOtherRef.current.focus();\r\n }\r\n this.setState({ Term: \"0\" });\r\n }}\r\n >\r\n \r\n this.setState({ TermOther: e.target.value })}\r\n value={this.state.TermOther}\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 \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n Vessel Details\r\n
\r\n {\r\n this.setState({ VesselYear: e == \"\" ? null : e });\r\n }}\r\n Value={this.state.VesselYear}\r\n Style={{ width: '5vw' }}\r\n />\r\n \r\n this.setState({ VesselManufacturer: e })}\r\n Value={this.state.VesselManufacturer}\r\n Label=\"Builder / Manufacturer\"\r\n Style={{ width: '11vw' }}\r\n />\r\n \r\n this.setState({ VesselModel: e })}\r\n Value={this.state.VesselModel}\r\n Label=\"Model\"\r\n Style={{ width: '11vw' }}\r\n />\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n this.setState({ VesselLength: e == \"\" ? null : e })}\r\n Value={this.state.VesselLength}\r\n Label=\"Length\"\r\n Style={{ width: '5vw' }}\r\n />\r\n \r\n this.setState({ VesselType: e })}\r\n Value={this.state.VesselType}\r\n Label=\"Type (i.e. motor yacht, cruiser, etc.)\"\r\n Style={{ width: '14vw' }}\r\n />\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n this.setState({ VesselEngineManufacturer: e })}\r\n Value={this.state.VesselEngineManufacturer}\r\n Label=\"Engine(s) Manufacturer\"\r\n Style={{ width: '11vw' }}\r\n />\r\n \r\n this.setState({ VesselHP: e })}\r\n Value={this.state.VesselHP}\r\n Label=\"Horsepower\"\r\n Style={{ width: '5vw' }}\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 Type\r\n \r\n
\r\n this.setState({ VesselEngineType: e.target.checked ? \"Single\" : undefined })}\r\n >\r\n \r\n this.setState({ VesselEngineType: e.target.checked ? \"Twin\" : undefined })}\r\n >\r\n \r\n this.setState({ VesselEngineType: e.target.checked ? \"Triple\" : undefined })}\r\n >\r\n \r\n this.setState({ VesselEngineType: e.target.checked ? 'Quad' : undefined })}\r\n >\r\n \r\n
\r\n
\r\n Fuel\r\n \r\n
\r\n this.setState({ VesselEngineFuel: e.target.checked ? \"Gas\" : undefined })}\r\n >\r\n \r\n this.setState({ VesselEngineFuel: e.target.checked ? \"Diesel\" : undefined })}\r\n >\r\n \r\n this.setState({ VesselEngineFuel: e.target.checked ? \"Electric\" : undefined })}\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 Trailer Description\r\n
\r\n this.setState({ TrailerYear: e == \"\" ? null : e })}\r\n Value={this.state.TrailerYear}\r\n Label=\"Trailer Year\"\r\n Style={{ width: '5vw' }}\r\n MaxTextLength={4}\r\n />\r\n \r\n this.setState({ TrailerMake: e })}\r\n Value={this.state.TrailerMake}\r\n Label=\"Trailer Manufacturer\"\r\n Style={{ width: '11vw' }}\r\n />\r\n \r\n this.setState({ TrailerModel: e })}\r\n Value={this.state.TrailerModel}\r\n Label=\"Trailer Model\"\r\n Style={{ width: '11vw' }}\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 Trade Boat Description\r\n
\r\n this.setState({ TradeYear: e == \"\" ? null : e })}\r\n Value={this.state.TradeYear}\r\n Label=\"Trade Year\"\r\n Style={{ width: '5vw' }}\r\n MaxTextLength={4}\r\n />\r\n \r\n this.setState({ TradeManufacturer: e })}\r\n Value={this.state.TradeManufacturer}\r\n Label=\"Trade Manufacturer\"\r\n Style={{ width: '11vw' }}\r\n />\r\n \r\n this.setState({ TradeModel: e })}\r\n Value={this.state.TradeModel}\r\n Label=\"Trade Model\"\r\n Style={{ width: '11vw' }}\r\n />\r\n
\r\n
\r\n this.setState({ TradeBoatingExperience: e })}\r\n Value={this.state.TradeBoatingExperience}\r\n Label=\"Boating Experience (last two boats owned)\"\r\n Style={{ width: '27.4vw' }}\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 this.save();\r\n }}>\r\n Next\r\n \r\n
\r\n
\r\n
\r\n );\r\n }\r\n}","const customFunctions = {\r\n keyAllowed: async function (keyCode) {\r\n var allowedKeys = [8, 37, 39, 9, 46];\r\n return allowedKeys.includes(keyCode);\r\n },\r\n // format a phone number as (xxx) xxx-xxxx\r\n formatPhoneNumber: function (phoneNumber) {\r\n if (phoneNumber == undefined) return \"\";\r\n\r\n var result;\r\n result = phoneNumber.replace(/[^0-9]/g, '');\r\n if (result.length == 10) {\r\n result = result.replace(/(\\d{3})(\\d{3})(\\d{4})/, \"($1) $2-$3\");\r\n }\r\n else {\r\n result = result.replace(/\\//g, \"\");\r\n }\r\n\r\n return result;\r\n },\r\n formatSocialSecurity: function (val) {\r\n if (val == undefined) return \"\";\r\n\r\n val = val.replace(/\\D/g, '');\r\n val = val.replace(/^(\\d{3})/, '$1-');\r\n val = val.replace(/-(\\d{2})/, '-$1-');\r\n val = val.replace(/(\\d)-(\\d{4}).*/, '$1-$2');\r\n return val;\r\n },\r\n formatDateOrTimeForInput: function (dateTime, dateOrTime) {\r\n\r\n var date = new Date(dateTime);\r\n\r\n var day = date.getDate(),\r\n month = date.getMonth() + 1,\r\n year = date.getFullYear(),\r\n hour = date.getHours(),\r\n min = date.getMinutes();\r\n\r\n month = (month < 10 ? \"0\" : \"\") + month;\r\n day = (day < 10 ? \"0\" : \"\") + day;\r\n hour = (hour < 10 ? \"0\" : \"\") + hour;\r\n min = (min < 10 ? \"0\" : \"\") + min;\r\n\r\n var formattedDate = \"\";\r\n var formattedTime = \"\";\r\n\r\n if (dateOrTime == \"date\") {\r\n if (!isNaN(year) && !isNaN(month) && !isNaN(day)) {\r\n formattedDate = year + \"-\" + month + \"-\" + day;\r\n return formattedDate;\r\n }\r\n else {\r\n return dateTime;\r\n }\r\n }\r\n else {\r\n if (!isNaN(hour) && !isNaN(min)) {\r\n formattedTime = hour + \":\" + min;\r\n return formattedTime;\r\n }\r\n else {\r\n return dateTime;\r\n }\r\n }\r\n },\r\n isDate: function (dtValue2) {\r\n var pattern = /(0\\d{1}|1[0-2])\\/([0-2]\\d{1}|3[0-1])\\/(19|20)(\\d{2})/\r\n var m = dtValue2.match(pattern);\r\n\r\n if (!m)\r\n return false;\r\n var d = new Date(dtValue2);\r\n\r\n if (d.getMonth() + 1 == parseInt(m[1], 10) && d.getDate() == parseInt(m[2], 10)) {\r\n return true;\r\n }\r\n return false;\r\n },\r\n formatCurrency: function (value) {\r\n if (value == undefined || value == 0) return \"\";\r\n var _value = value.toString().replace(/,/g, '').replace('$', '');\r\n\r\n if (_value.length > 0) {\r\n return new Intl.NumberFormat(undefined, {\r\n style: 'currency',\r\n currency: 'USD',\r\n maximumFractionDigits: 0,\r\n minimumFractionDigits: 0,\r\n }).format(_value);\r\n }\r\n else {\r\n return \"\";\r\n }\r\n },\r\n validateEmail: function (emailAddress) {\r\n var validRegex = /^(([^<>()[\\]\\\\.,;:\\s@\\\"]+(\\.[^<>()[\\]\\\\.,;:\\s@\\\"]+)*)|(\\\".+\\\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/;\r\n\r\n if (emailAddress.match(validRegex)) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n }\r\n}\r\n\r\nexport { customFunctions };","import Modal from 'react-modal';\r\nimport React, { Component } from \"react\";\r\nimport './layout/site.css';\r\n\r\nfunction Popup({ headerText, bodyText, showModal, button1Text, button1ClickHandler, showButton2, button2Text, button2ClickHandler }) {\r\n return (\r\n { }}\r\n className=\"popup\"\r\n contentLabel={headerText}\r\n overlayClassName=\"Overlay\"\r\n >\r\n {headerText && headerText?.length ?\r\n
\r\n \r\n
\r\n : null}\r\n
\r\n \r\n
\r\n
\r\n button1ClickHandler()}\r\n >\r\n {button1Text == undefined ? \"Close\" : button1Text}\r\n \r\n {showButton2 ?\r\n button2ClickHandler()}\r\n >\r\n {button2Text == undefined ? \"OK\" : button2Text}\r\n \r\n : null}\r\n
\r\n \r\n );\r\n}\r\n\r\nexport default Popup;","import React, { Component } from 'react';\r\nimport { _fetch } from './_fetch';\r\nimport { Spinner } from 'reactstrap';\r\nimport TextInput from './TextInput';\r\nimport { customFunctions } from './CustomFunctions.js';\r\nimport Popup from './modal';\r\nimport Toast from './toast.js';\r\nimport NavBox from './navbox';\r\nimport { format } from 'date-fns';\r\n\r\nexport class CreditApplicationStep2 extends Component {\r\n static displayName = CreditApplicationStep2.name;\r\n constructor(props) {\r\n super(props);\r\n\r\n this.state = {\r\n loading: false,\r\n countries: [],\r\n states: [],\r\n showModal: false,\r\n showToast: false,\r\n toastMessage: '',\r\n toastItems: [],\r\n hasPFS: true,\r\n emailValid: false,\r\n ShowNavBox: false\r\n }\r\n }\r\n\r\n componentDidMount() {\r\n try {\r\n this.setState({ loading: true });\r\n\r\n let id = sessionStorage.getItem(\"ID\");\r\n //let userId = sessionStorage.getItem(\"USER_ID\");\r\n\r\n if (id != null) {\r\n this.setState({ Id: id, ShowNavBox: true });\r\n this.hasPFS(id);\r\n }\r\n\r\n var fetch = _fetch();\r\n fetch.get(\"/creditapplication/getcountries\")\r\n .then((data) => {\r\n this.setState({ countries: data });\r\n });\r\n\r\n fetch.get(\"/creditapplication/getstates\")\r\n .then((data) => {\r\n this.setState({ states: data, loading: false });\r\n if (id != null) this.loadPage(id);\r\n });\r\n }\r\n catch (err) {\r\n this.setState({ loading: false });\r\n console.log('componentDidMount - ' + err);\r\n }\r\n }\r\n\r\n hasPFS(id) {\r\n var fetch = _fetch();\r\n fetch.get(\"/creditapplication/hasPFS?id=\" + id)\r\n .then((data) => {\r\n this.setState({ hasPFS: data });\r\n });\r\n }\r\n\r\n loadPage(id) {\r\n try {\r\n this.setState({ loading: true });\r\n var fetch = _fetch();\r\n fetch.get(\"/creditapplication/GetCreditApplicationStep2?id=\" + id)\r\n .then((data) => {\r\n var _state = this.state;\r\n for (const key in data) {\r\n if (data[key] != null) {\r\n var _key = key.charAt(0).toUpperCase() + key.slice(1);\r\n var _value = data[key];\r\n _state[_key] = _value;\r\n }\r\n }\r\n this.setState(_state, function () {\r\n this.calculateTotal();\r\n this.setState({ loading: false, Id: id });\r\n this.setState({ emailValid: customFunctions.validateEmail(this.state.BorrowerEmail ?? \"\") });\r\n this.setState({\r\n BorrowerDOB: this.sqlToJsDate(this.state.BorrowerDOB),\r\n BorrowerSignatureDate: this.sqlToJsDate(this.state.BorrowerSignatureDate)\r\n });\r\n });\r\n })\r\n }\r\n catch (err) {\r\n this.setState({ loading: false });\r\n console.log('loadPage - ' + err);\r\n }\r\n }\r\n\r\n calculateTotal() {\r\n var s = this.state;\r\n var borrowerIncomeWages = this.zeroOrValue(s.BorrowerIncomeWages);\r\n var borrowerIncomeDistributions = this.zeroOrValue(s.BorrowerIncomeDistributions);\r\n var borrowerIncomeRentalIncome = this.zeroOrValue(s.BorrowerIncomeRentalIncome);\r\n var borrowerIncomePension = this.zeroOrValue(s.BorrowerIncomePension);\r\n var borrowerIncomeOther = this.zeroOrValue(s.BorrowerIncomeOther);\r\n\r\n var borrowerIncomeTotal = borrowerIncomeWages + borrowerIncomeDistributions + borrowerIncomeRentalIncome + borrowerIncomePension + borrowerIncomeOther;\r\n\r\n var totalRaw = this.formatCurrency(borrowerIncomeTotal);\r\n\r\n if (totalRaw && totalRaw.startsWith('$') && !totalRaw.includes('.')) {\r\n totalRaw = totalRaw + '.00';\r\n }\r\n else if (totalRaw.startsWith('$') && totalRaw.includes('.')) {\r\n var spl = totalRaw.split(\".\");\r\n if (spl[1].length == 0) {\r\n totalRaw = totalRaw + '00';\r\n }\r\n\r\n if (spl[1].length == 1) {\r\n totalRaw = totalRaw + '0';\r\n }\r\n }\r\n\r\n this.setState({ BorrowerIncomeTotal: totalRaw });\r\n }\r\n\r\n zeroOrValue(value) {\r\n if (value == undefined || value == 0 || value == null) return 0;\r\n //if (isNaN(value)) {\r\n // value = value.toString().substring(1, value.toString().lenth - 1);\r\n //}\r\n var _value = value?.toString().replace(/,/g, '').replace('$', '');\r\n\r\n if (_value.length > 0) {\r\n\r\n var result = (isNaN(_value) || _value == undefined) ? 0 : parseFloat(_value);\r\n return result;\r\n }\r\n else {\r\n return 0;\r\n }\r\n }\r\n\r\n formatCurrency(value) {\r\n if (value == undefined) return \"\";\r\n var _values = value.toString().replace(/,/g, '').replace('$', '');\r\n\r\n var dec = \"\";\r\n var _value = \"\";\r\n\r\n var elements = _values.split('.');\r\n if (elements?.length == 1) {\r\n _value = _values.split('.')[0];\r\n }\r\n else if (elements?.length > 1) {\r\n _value = _values.split('.')[0];\r\n dec = \".\" + _values.split('.')[1].substring(0, 2);\r\n }\r\n else {\r\n _value = _values;\r\n }\r\n if (_value.length > 0) {\r\n return new Intl.NumberFormat(undefined, {\r\n style: 'currency',\r\n currency: 'USD',\r\n maximumFractionDigits: 0,\r\n minimumFractionDigits: 0,\r\n }).format(_value) + dec;\r\n }\r\n }\r\n\r\n save(back, url) {\r\n try {\r\n var item = [];\r\n\r\n if (back === undefined) {\r\n if (this.state.BorrowerFirstName == undefined || this.state.BorrowerFirstName?.length == 0) {\r\n item.push(\"First Name\");\r\n }\r\n if (this.state.BorrowerLastName == undefined || this.state.BorrowerLastName?.length == 0) {\r\n item.push(\"Last Name\");\r\n }\r\n if (this.state.BorrowerSSN == undefined || this.state.BorrowerSSN?.length == 0 || this.state.BorrowerSSN?.length < 11) {\r\n item.push(\"SSN\");\r\n }\r\n if (this.state.BorrowerUSCitizen === undefined) {\r\n item.push(\"US Citizen\");\r\n }\r\n if (this.state.BorrowerUSCitizen !== undefined &&\r\n this.state.BorrowerUSCitizen === \"No\" &&\r\n (this.state.BorrowerUSCitizenCountry === undefined || this.state.BorrowerUSCitizenCountry === 0)) {\r\n item.push(\"Non US Citizen Country\");\r\n }\r\n if (this.state.BorrowerDOB == undefined || this.state.BorrowerDOB?.length == 0) {\r\n item.push(\"Date of Birth\");\r\n }\r\n if ((this.state.BorrowerCellPhone === undefined || this.state.BorrowerCellPhone?.length === 0) &&\r\n (this.state.BorrowerOtherPhone === undefined || this.state.BorrowerOtherPhone?.length === 0)) {\r\n item.push(\"Cell Phone or Other Phone\");\r\n }\r\n if ((this.state.BorrowerCellPhone?.length < 10 && this.state.BorrowerCellPhone?.length > 0) ||\r\n (this.state.BorrowerOtherPhone?.length < 10 && this.state.BorrowerOtherPhone?.length > 0)) {\r\n item.push(\"Cell Phone or Other Phone\");\r\n }\r\n if (this.state.BorrowerEmail == undefined || this.state.BorrowerEmail?.length == 0 || !this.state.emailValid) {\r\n item.push(\"Email\");\r\n }\r\n if (localStorage.getItem(\"APP_TYPE\") != null &&\r\n localStorage.getItem(\"APP_TYPE\") == \"Individual\" &&\r\n (this.state.BorrowerSignature == undefined || this.state.BorrowerSignature.length == 0) &&\r\n !this.state.ApplicationReceivedOffline) {\r\n item.push(\"Signature\");\r\n }\r\n if (localStorage.getItem(\"APP_TYPE\") != null &&\r\n localStorage.getItem(\"APP_TYPE\") == \"Individual\" &&\r\n (this.state.BorrowerSignatureDate == undefined || this.state.BorrowerSignatureDate.length == 0) &&\r\n !this.state.ApplicationReceivedOffline) {\r\n item.push(\"Signature Date\");\r\n }\r\n }\r\n if (item.length == 0) {\r\n this.setState({ loading: true });\r\n var fetch = _fetch();\r\n\r\n this.setState({\r\n BorrowerDOB: this.state.BorrowerDOB === undefined || this.state.BorrowerDOB == \"\" ? null : format(new Date(this.state.BorrowerDOB.replace(/-/g, '/')), \"yyyy-MM-dd\"),\r\n BorrowerSignatureDate: this.state.BorrowerSignatureDate === undefined || this.state.BorrowerSignatureDate == \"\" ? null : format(new Date(this.state.BorrowerSignatureDate.replace(/-/g, '/')), \"yyyy-MM-dd\")\r\n }, function () {\r\n fetch.post(\"/creditapplication/SaveCreditApplicationStep2\", this.state)\r\n .then((id) => {\r\n if (id != 0) {\r\n this.setState({ loading: false });\r\n sessionStorage.setItem(\"ID\", id);\r\n\r\n if (back === 1) {\r\n if (url !== undefined) {\r\n window.location.href = url;\r\n }\r\n else {\r\n window.location.href = \"/CreditApplicationStep1\";\r\n }\r\n }\r\n else {\r\n if (sessionStorage.getItem(\"INTERNAL_SESSION\") != null && sessionStorage.getItem(\"INTERNAL_SESSION\") == \"1\") {\r\n if (localStorage.getItem(\"APP_TYPE\") != null && localStorage.getItem(\"APP_TYPE\") == \"Individual\") {\r\n if (this.state.hasPFS) {\r\n window.location.href = '/PersonalFinancialStatement';\r\n }\r\n else {\r\n //window.location.href = '/';\r\n this.setState({ toastMessageSuccess: \"Saved Successfully\", showToastSuccess: true });\r\n }\r\n }\r\n else {\r\n window.location.href = '/CreditApplicationStep3';\r\n }\r\n }\r\n else {\r\n if (localStorage.getItem(\"APP_TYPE\") != null && localStorage.getItem(\"APP_TYPE\") == \"Individual\") {\r\n this.setState({ showModal: true });\r\n }\r\n else {\r\n window.location.href = '/CreditApplicationStep3';\r\n }\r\n }\r\n }\r\n }\r\n else {\r\n this.setState({\r\n showToast: true,\r\n toastMessage: 'There was an issue saving your information. Please try again',\r\n loading: false\r\n });\r\n }\r\n });\r\n });\r\n }\r\n else {\r\n this.setState({\r\n showToast: true,\r\n toastMessage: 'The following fields are required:',\r\n toastItems: item\r\n });\r\n setTimeout(function () { document.getElementById(\"maincontainer\").scrollTo({ top: 0, behavior: 'smooth' }); }, 250);\r\n }\r\n }\r\n catch (err) {\r\n this.setState({ loading: false });\r\n console.log('save - ' + err);\r\n }\r\n }\r\n\r\n sqlToJsDate(sqlDate) {\r\n if (sqlDate == \"\" || sqlDate === undefined) return sqlDate;\r\n\r\n var dateParts = sqlDate.split(\"T\");\r\n return dateParts[0];\r\n }\r\n\r\n lastNameOnBlur() {\r\n let s = this.state;\r\n var f = s.BorrowerFirstName == undefined ? \"\" : s.BorrowerFirstName.toString() + \" \";\r\n var m = s.BorrowerMiddleInitial == undefined ? \"\" : s.BorrowerMiddleInitial.toString() + \" \";\r\n var l = s.BorrowerLastName == undefined ? \"\" : s.BorrowerLastName?.toString();\r\n var sig = f + m + l;\r\n\r\n sessionStorage.setItem(\"BorrowerSignature\", sig);\r\n }\r\n\r\n render() {\r\n return (\r\n
\r\n this.save(1, e)}\r\n />\r\n this.setState({ showToast: false })}\r\n autoHideToastDelay={8000}\r\n />\r\n this.setState({ showToastSuccess: false })}\r\n autoHideToastDelay={5000}\r\n isSuccessToast={true}\r\n />\r\n
\r\n {this.state.loading === true ?\r\n
\r\n \r\n
\r\n : null\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 this.setState({ BorrowerFirstName: e }, function () {\r\n this.lastNameOnBlur();\r\n });\r\n }}\r\n Value={this.state.BorrowerFirstName ?? \"\"}\r\n Style={{ width: '11vw' }}\r\n />\r\n \r\n {\r\n this.setState({ BorrowerMiddleInitial: e }, function () {\r\n this.lastNameOnBlur();\r\n });\r\n }}\r\n Value={this.state.BorrowerMiddleInitial ?? \"\"}\r\n Style={{ width: '7vw' }}\r\n />\r\n \r\n {\r\n this.setState({ BorrowerLastName: e }, function () {\r\n this.lastNameOnBlur();\r\n });\r\n }}\r\n Value={this.state.BorrowerLastName ?? \"\"}\r\n Style={{ width: '11vw' }}\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 var formattedSSN = e;\r\n this.setState({ BorrowerSSN: formattedSSN });\r\n }}\r\n Value={this.state.BorrowerSSN ?? \"\"}\r\n Style={{ width: '10vw' }}\r\n />\r\n \r\n {\r\n this.setState({ BorrowerDOB: e });\r\n }}\r\n Value={this.state.BorrowerDOB != undefined ? this.sqlToJsDate(this.state.BorrowerDOB) : \"\"}\r\n Style={{ width: '7vw' }}\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
\r\n US Citizen?\r\n \r\n
\r\n {\r\n this.setState({ BorrowerUSCitizen: e.target.checked ? \"Yes\" : \"No\" });\r\n }}\r\n checked={this.state.BorrowerUSCitizen === \"Yes\"}\r\n >\r\n \r\n {\r\n this.setState({ BorrowerUSCitizen: e.target.checked ? \"No\" : \"Yes\" });\r\n }}\r\n checked={this.state.BorrowerUSCitizen === \"No\"}\r\n >\r\n \r\n {this.state.BorrowerUSCitizen === \"No\" ?\r\n {\r\n this.setState({ BorrowerUSCitizenCountry: e.target.value })\r\n }}\r\n >\r\n \r\n {this.state.countries.map((item, idx) =>\r\n \r\n )}\r\n \r\n : null}\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 var formattedPhone = customFunctions.formatPhoneNumber(e);\r\n this.setState({ BorrowerCellPhone: formattedPhone });\r\n }}\r\n Value={customFunctions.formatPhoneNumber(this.state.BorrowerCellPhone) ?? \"\"}\r\n Style={{ width: '10vw' }}\r\n />\r\n \r\n {\r\n var formattedPhone = customFunctions.formatPhoneNumber(e);\r\n this.setState({ BorrowerOtherPhone: formattedPhone });\r\n }}\r\n Value={customFunctions.formatPhoneNumber(this.state.BorrowerOtherPhone) ?? \"\"}\r\n Style={{ width: '10vw' }}\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 this.setState({ emailValid: customFunctions.validateEmail(e) });\r\n this.setState({ BorrowerEmail: e });\r\n }}\r\n Value={this.state.BorrowerEmail ?? \"\"}\r\n Style={{ width: '20.2vw' }}\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 Current Residence\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 this.setState({ BorrowerCurrentAddress: e });\r\n }}\r\n Value={this.state.BorrowerCurrentAddress ?? \"\"}\r\n Style={{ width: '16vw' }}\r\n />\r\n
\r\n {\r\n this.setState({ BorrowerCurrentCity: e });\r\n }}\r\n Value={this.state.BorrowerCurrentCity ?? \"\"}\r\n Style={{ width: '5vw' }}\r\n />\r\n \r\n {\r\n this.setState({ BorrowerCurrentStateId: e.target.value })\r\n }}\r\n >\r\n \r\n {this.state.states.map((item, idx) =>\r\n \r\n )}\r\n \r\n \r\n {\r\n this.setState({ BorrowerCurrentZip: e });\r\n }}\r\n Value={this.state.BorrowerCurrentZip ?? \"\"}\r\n Style={{ width: '5vw' }}\r\n />\r\n
\r\n {\r\n this.setState({ BorrowerCurrentYears: e });\r\n }}\r\n Value={this.state.BorrowerCurrentYears ?? \"\"}\r\n Style={{ width: '5vw' }}\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 Previous Residence\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 this.setState({ BorrowerPreviousAddress: e });\r\n }}\r\n Value={this.state.BorrowerPreviousAddress ?? \"\"}\r\n Style={{ width: '16vw' }}\r\n />\r\n
\r\n {\r\n this.setState({ BorrowerPreviousCity: e });\r\n }}\r\n Value={this.state.BorrowerPreviousCity ?? \"\"}\r\n Style={{ width: '5vw' }}\r\n />\r\n \r\n {\r\n this.setState({ BorrowerPreviousStateId: e.target.value })\r\n }}\r\n >\r\n \r\n {this.state.states.map((item, idx) =>\r\n \r\n )}\r\n \r\n \r\n {\r\n this.setState({ BorrowerPreviousZip: e });\r\n }}\r\n Value={this.state.BorrowerPreviousZip ?? \"\"}\r\n Style={{ width: '5vw' }}\r\n />\r\n
\r\n {\r\n this.setState({ BorrowerPreviousYears: e });\r\n }}\r\n Value={this.state.BorrowerPreviousYears ?? \"\"}\r\n Style={{ width: '5vw' }}\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 \r\n \r\n \r\n \r\n \r\n
\r\n Own or Rent?\r\n \r\n
\r\n {\r\n this.setState({ BorrowerCurrentOwnOrRent: e.target.checked ? \"Own\" : \"Rent\" });\r\n }}\r\n checked={this.state.BorrowerCurrentOwnOrRent === \"Own\"}\r\n >\r\n \r\n {\r\n this.setState({ BorrowerCurrentOwnOrRent: e.target.checked ? \"Rent\" : \"Own\" });\r\n }}\r\n checked={this.state.BorrowerCurrentOwnOrRent === \"Rent\"}\r\n >\r\n \r\n
\r\n
\r\n
\r\n
\r\n {\r\n this.setState({ BorrowerCurrentMortgageRent: e });\r\n }}\r\n Value={this.formatCurrency(this.state.BorrowerCurrentMortgageRent) ?? \"\"}\r\n Style={{ width: '11vw' }}\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 \r\n \r\n \r\n \r\n \r\n
\r\n Employment\r\n
\r\n {\r\n this.setState({ BorrowerCurrentEmployerName: e });\r\n }}\r\n Value={this.state.BorrowerCurrentEmployerName ?? \"\"}\r\n Style={{ width: '12vw' }}\r\n />\r\n
\r\n {\r\n this.setState({ BorrowerCurrentEmployerType: e });\r\n }}\r\n Value={this.state.BorrowerCurrentEmployerType ?? \"\"}\r\n Style={{ width: '12vw' }}\r\n />\r\n
\r\n {\r\n this.setState({ BorrowerCurrentEmployerPosition: e });\r\n }}\r\n Value={this.state.BorrowerCurrentEmployerPosition ?? \"\"}\r\n Style={{ width: '12vw' }}\r\n />\r\n
\r\n {\r\n this.setState({ BorrowerCurrentEmployerYears: e });\r\n }}\r\n Value={this.state.BorrowerCurrentEmployerYears ?? \"\"}\r\n Style={{ width: '5vw' }}\r\n />\r\n
\r\n {\r\n this.setState({ BorrowerCurrentEmployerAddress: e });\r\n }}\r\n Value={this.state.BorrowerCurrentEmployerAddress ?? \"\"}\r\n Style={{ width: '16vw' }}\r\n />\r\n
\r\n {\r\n this.setState({ BorrowerCurrentEmployerCity: e });\r\n }}\r\n Value={this.state.BorrowerCurrentEmployerCity ?? \"\"}\r\n Style={{ width: '5vw' }}\r\n />\r\n \r\n {\r\n this.setState({ BorrowerCurrentEmployerStateId: e.target.value })\r\n }}\r\n >\r\n \r\n {this.state.states.map((item, idx) =>\r\n \r\n )}\r\n \r\n \r\n {\r\n this.setState({ BorrowerCurrentEmployerZip: e });\r\n }}\r\n Value={this.state.BorrowerCurrentEmployerZip ?? \"\"}\r\n Style={{ width: '5vw' }}\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 Previous Employment\r\n
\r\n {\r\n this.setState({ BorrowerPreviousEmployerName: e });\r\n }}\r\n Value={this.state.BorrowerPreviousEmployerName ?? \"\"}\r\n Style={{ width: '12vw' }}\r\n />\r\n
\r\n {\r\n this.setState({ BorrowerPreviousEmployerType: e });\r\n }}\r\n Value={this.state.BorrowerPreviousEmployerType ?? \"\"}\r\n Style={{ width: '12vw' }}\r\n />\r\n
\r\n {\r\n this.setState({ BorrowerPreviousEmployerPosition: e });\r\n }}\r\n Value={this.state.BorrowerPreviousEmployerPosition ?? \"\"}\r\n Style={{ width: '12vw' }}\r\n />\r\n
\r\n {\r\n this.setState({ BorrowerPreviousEmployerYears: e });\r\n }}\r\n Value={this.state.BorrowerPreviousEmployerYears ?? \"\"}\r\n Style={{ width: '5vw' }}\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 Annual Income\r\n
\r\n {\r\n this.setState({ BorrowerIncomeWages: e }, function () { this.calculateTotal(); });\r\n }}\r\n Value={this.formatCurrency(this.state.BorrowerIncomeWages ?? \"\")}\r\n Style={{ width: '7vw' }}\r\n />\r\n \r\n {\r\n this.setState({ BorrowerIncomeDistributions: e }, function () { this.calculateTotal(); });\r\n }}\r\n Value={this.formatCurrency(this.state.BorrowerIncomeDistributions ?? \"\")}\r\n Style={{ width: '7vw' }}\r\n />\r\n \r\n {\r\n this.setState({ BorrowerIncomeRentalIncome: e }, function () { this.calculateTotal(); });\r\n }}\r\n Value={this.formatCurrency(this.state.BorrowerIncomeRentalIncome ?? \"\")}\r\n Style={{ width: '7vw' }}\r\n />\r\n \r\n {\r\n this.setState({ BorrowerIncomePension: e }, function () { this.calculateTotal(); });\r\n }}\r\n Value={this.formatCurrency(this.state.BorrowerIncomePension ?? \"\")}\r\n Style={{ width: '7vw' }}\r\n />\r\n \r\n {\r\n this.setState({ BorrowerIncomeOther: e }, function () { this.calculateTotal(); });\r\n }}\r\n Value={this.formatCurrency(this.state.BorrowerIncomeOther ?? \"\")}\r\n Style={{ width: '7vw' }}\r\n />\r\n \r\n {\r\n this.setState({ BorrowerIncomeTotal: e }, function () { this.calculateTotal(); });\r\n }}\r\n Value={this.formatCurrency(this.state.BorrowerIncomeTotal ?? \"\")}\r\n Style={{ width: '7vw' }}\r\n Disabled={true}\r\n />\r\n
\r\n {localStorage.getItem(\"APP_TYPE\") != null && localStorage.getItem(\"APP_TYPE\") == \"Individual\" ?\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 I authorize Fairwind Financial Corporation, its Assigns and/or their Lender(s) to obtain information, including credit inquiries/reports, employment history and any other information necessary to evaluate credit. The applicant and/or co-applicant may ask whether Fairwind Financial Corporation obtained such a report. If such a report has been obtained, the applicant and/or the co-applicant may request the name and address of the reporting agency that provided the report. This application shall remain the property of Fairwind Financial Corporation, its Assigns and/or Lender(s), whether or not said credit is granted.

\r\n Income derived from alimony, child support or other maintenance payments need not be disclosed when applying for credit.

\r\n All the statements I have made are true, correct and complete, I understand you will rely upon their accuracy when determining whether or not said credit is granted.

\r\n PATRIOT ACT NOTICE: To help the government fight the funding of terrorism and money laundering activities, Federal Law requires all financial institutions to obtain, verify and record information that identifies each person who opens an account. For purposes of this section, account shall be understood to include loan accounts.

\r\n You agree as follows: On each phone number that you provide to us on this application, whether cell phone or landline, you consent to us, our assigns, lenders and agents, of any of us contacting you at the number by calling, texting or any other electronic communication from time to time for any reason about your accounts, including but not limited to, for collection and payment purposes. You agree that automated dialing, equipment or pre-recorded voice message maybe used for any of those purposes.

\r\n If this is an application for joint credit with another person, complete all sections of page 2, by providing information in the Co-Borrower section, and by initialing below, you confirm your intent to apply for joint credit.

\r\n By completing and submitting this elctronic application, I consent to conduct business electronically with Fairwind Financial Corporation, and that this electroinc communiction will have the same legal capacity as any written and/or sign paper application or communication. In addition, your signature below confirms your consent to receive all the disclosures noted on the application electronically. If you wish to receive a paper copy of the Disclosures, you can do so my requesting a copy from info@fairwindfinancial.com

\r\n
\r\n
\r\n
\r\n {\r\n this.setState({ AcknowledgeDisclosuresAndDigitalSignature: !this.state.AcknowledgeDisclosuresAndDigitalSignature })\r\n }}\r\n style={{ marginRight: '5px' }}\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 this.setState({ BorrowerSignature: e });\r\n }}\r\n Value={this.state.BorrowerSignature ?? \"\"}\r\n Style={{ width: '12vw', fontFamily: 'Imperial Script', fontSize: '18px' }}\r\n />\r\n \r\n {\r\n this.setState({ BorrowerSignatureDate: e });\r\n }}\r\n Value={this.state.BorrowerSignatureDate != undefined ? this.sqlToJsDate(this.state.BorrowerSignatureDate) : this.setState({ BorrowerSignatureDate: customFunctions.formatDateOrTimeForInput(new Date().toLocaleDateString('en-CA'), 'date') })}\r\n Style={{ width: '7vw' }}\r\n />\r\n
\r\n
\r\n : null}\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n {\r\n this.save(1);\r\n }}\r\n >Back\r\n \r\n \r\n {\r\n this.save();\r\n }}\r\n >{sessionStorage.getItem(\"INTERNAL_SESSION\") && sessionStorage.getItem(\"INTERNAL_SESSION\") == \"1\" ?\r\n localStorage.getItem(\"APP_TYPE\") != null && localStorage.getItem(\"APP_TYPE\") == \"Individual\" ?\r\n this.state.hasPFS ? \"Next\" : \"Done\" : \"Next\" : \"Next\"\r\n }\r\n \r\n
\r\n
\r\n \r\n
\r\n )\r\n }\r\n\r\n handleButton1Click() {\r\n window.location.href = \"/PersonalFinancialStatement\";\r\n }\r\n\r\n handleButton2Click = () => {\r\n var id = this.state.Id;\r\n\r\n this.setState({\r\n showModal: false,\r\n toastMessageSuccess: \"Saved Successfully\",\r\n showToastSuccess: true,\r\n Id: 0\r\n }, function () {\r\n this.setState({ Id: id });\r\n });\r\n }\r\n}","import React, { Component } from 'react';\r\nimport { _fetch } from './_fetch';\r\nimport { Spinner } from 'reactstrap';\r\nimport TextInput from './TextInput';\r\nimport { customFunctions } from './CustomFunctions.js';\r\nimport Popup from './modal';\r\nimport Toast from './toast.js';\r\nimport NavBox from './navbox';\r\nimport { format } from 'date-fns';\r\n\r\nexport class CreditApplicationStep3 extends Component {\r\n static displayName = CreditApplicationStep3.name;\r\n constructor(props) {\r\n super(props);\r\n\r\n this.state = {\r\n loading: false,\r\n countries: [],\r\n states: [],\r\n showModal: false,\r\n ButtonText: 'Next',\r\n hasPFS: true,\r\n emailValid: false,\r\n ShowNavBox: false\r\n }\r\n }\r\n\r\n componentDidMount() {\r\n try {\r\n this.setState({ loading: true });\r\n\r\n let id = sessionStorage.getItem(\"ID\");\r\n let userId = sessionStorage.getItem(\"USER_ID\");\r\n\r\n if (id != null) {\r\n this.setState({ Id: id, ShowNavBox: true },\r\n function () {\r\n this.loadPage(id);\r\n });\r\n this.hasPFS(id);\r\n }\r\n\r\n var fetch = _fetch();\r\n fetch.get(\"/creditapplication/hasPFS?id=\" + id)\r\n .then((data) => {\r\n if (data) {\r\n this.setState({ ButtonText: 'Next', loading: false });\r\n }\r\n else {\r\n this.setState({ ButtonText: 'Done', loading: false });\r\n }\r\n });\r\n\r\n fetch.get(\"/creditapplication/getcountries\")\r\n .then((data) => {\r\n this.setState({ countries: data });\r\n });\r\n\r\n fetch.get(\"/creditapplication/getstates\")\r\n .then((data) => {\r\n this.setState({ states: data, loading: false });\r\n if (userId != null) this.loadPage(id);\r\n });\r\n }\r\n catch (err) {\r\n this.setState({ loading: false });\r\n console.log('componentDidMount - ' + err);\r\n }\r\n }\r\n\r\n loadPage(id) {\r\n try {\r\n this.setState({ loading: true });\r\n var fetch = _fetch();\r\n fetch.get(\"/creditapplication/GetCreditApplicationStep3?id=\" + id)\r\n .then((data) => {\r\n var _state = this.state;\r\n for (const key in data) {\r\n if (data[key] != null) {\r\n var _key = key.charAt(0).toUpperCase() + key.slice(1);\r\n var _value = data[key];\r\n _state[_key] = _value;\r\n }\r\n }\r\n this.setState(_state,\r\n function () {\r\n this.setState({ loading: false, Id: id });\r\n this.calculateTotal();\r\n this.setState({ emailValid: customFunctions.validateEmail(this.state.CoBorrowerEmail ?? \"\") });\r\n this.setState({\r\n CoBorrowerDOB: this.sqlToJsDate(this.state.CoBorrowerDOB),\r\n BorrowerSignatureDate: this.sqlToJsDate(this.state.BorrowerSignatureDate),\r\n CoBorrowerSignatureDate: this.sqlToJsDate(this.state.CoBorrowerSignatureDate)\r\n });\r\n });\r\n });\r\n }\r\n catch (err) {\r\n this.setState({ loading: false });\r\n console.log('loadPage - ' + err);\r\n }\r\n }\r\n\r\n calculateTotal() {\r\n var s = this.state;\r\n var coBorrowerIncomeWages = this.zeroOrValue(s.CoBorrowerIncomeWages);\r\n var coBorrowerIncomeDistributions = this.zeroOrValue(s.CoBorrowerIncomeDistributions);\r\n var coBorrowerIncomeRentalIncome = this.zeroOrValue(s.CoBorrowerIncomeRentalIncome);\r\n var coBorrowerIncomePension = this.zeroOrValue(s.CoBorrowerIncomePension);\r\n var coBorrowerIncomeOther = this.zeroOrValue(s.CoBorrowerIncomeOther);\r\n\r\n var coBorrowerIncomeTotal = coBorrowerIncomeWages + coBorrowerIncomeDistributions + coBorrowerIncomeRentalIncome + coBorrowerIncomePension + coBorrowerIncomeOther;\r\n\r\n var totalRaw = this.formatCurrency(coBorrowerIncomeTotal);\r\n\r\n if (totalRaw && totalRaw.startsWith('$') && !totalRaw.includes('.')) {\r\n totalRaw = totalRaw + '.00';\r\n }\r\n else if (totalRaw.startsWith('$') && totalRaw.includes('.')) {\r\n var spl = totalRaw.split(\".\");\r\n if (spl[1].length == 0) {\r\n totalRaw = totalRaw + '00';\r\n }\r\n\r\n if (spl[1].length == 1) {\r\n totalRaw = totalRaw + '0';\r\n }\r\n }\r\n this.setState({ CoBorrowerIncomeTotal: totalRaw });\r\n }\r\n\r\n zeroOrValue(value) {\r\n if (value == undefined || value == 0 || value == null) return 0;\r\n //if (isNaN(value)) {\r\n // value = value.toString().substring(1, value.toString().lenth - 1);\r\n //}\r\n var _value = value?.toString().replace(/,/g, '').replace('$', '');\r\n\r\n if (_value.length > 0) {\r\n\r\n var result = (isNaN(_value) || _value == undefined) ? 0 : parseFloat(_value);\r\n return result;\r\n }\r\n else {\r\n return 0;\r\n }\r\n }\r\n\r\n formatCurrency(value) {\r\n if (value == undefined) return \"\";\r\n var _values = value.toString().replace(/,/g, '').replace('$', '');\r\n\r\n var dec = \"\";\r\n var _value = \"\";\r\n\r\n var elements = _values.split('.');\r\n if (elements?.length == 1) {\r\n _value = _values.split('.')[0];\r\n }\r\n else if (elements?.length > 1) {\r\n _value = _values.split('.')[0];\r\n dec = \".\" + _values.split('.')[1].substring(0, 2);\r\n }\r\n else {\r\n _value = _values;\r\n }\r\n if (_value.length > 0) {\r\n return new Intl.NumberFormat(undefined, {\r\n style: 'currency',\r\n currency: 'USD',\r\n maximumFractionDigits: 0,\r\n minimumFractionDigits: 0,\r\n }).format(_value) + dec;\r\n }\r\n }\r\n\r\n save(back, url) {\r\n try {\r\n var item = [];\r\n\r\n if (back == undefined) {\r\n if (this.state.CoBorrowerFirstName == undefined || this.state.CoBorrowerFirstName?.length == 0) {\r\n item.push(\"First Name\");\r\n }\r\n if (this.state.CoBorrowerLastName == undefined || this.state.CoBorrowerLastName?.length == 0) {\r\n item.push(\"Last Name\");\r\n }\r\n if (this.state.CoBorrowerSSN == undefined || this.state.CoBorrowerSSN?.length == 0) {\r\n item.push(\"SSN\");\r\n }\r\n if (this.state.CoBorrowerSSN?.length < 11) {\r\n item.push(\"SSN\");\r\n }\r\n if (this.state.CoBorrowerUSCitizen === undefined) {\r\n item.push(\"US Citizen\");\r\n }\r\n if (this.state.CoBorrowerUSCitizen !== undefined && this.state.CoBorrowerUSCitizen === \"No\" && this.state.CoBorrowerUSCitizenCountry === 0) {\r\n item.push(\"Non US Citizen Country\");\r\n }\r\n if (this.state.CoBorrowerDOB == undefined || this.state.CoBorrowerDOB?.length == 0) {\r\n item.push(\"Date of Birth\");\r\n }\r\n if ((this.state.CoBorrowerCellPhone === undefined || this.state.CoBorrowerCellPhone?.length === 0) &&\r\n (this.state.CoBorrowerOtherPhone === undefined || this.state.CoBorrowerOtherPhone?.length === 0)) {\r\n item.push(\"Cell Phone or Other Phone\");\r\n }\r\n if ((this.state.CoBorrowerCellPhone?.length < 10 && this.state.CoBorrowerCellPhone?.length > 0) ||\r\n (this.state.CoBorrowerOtherPhone?.length < 10 && this.state.CoBorrowerOtherPhone?.length > 0)) {\r\n item.push(\"Cell Phone or Other Phone\");\r\n }\r\n if (this.state.CoBorrowerEmail == undefined || this.state.CoBorrowerEmail?.length == 0) {\r\n item.push(\"Email\");\r\n }\r\n if (!this.state.emailValid) {\r\n item.push(\"Email\");\r\n }\r\n if ((this.state.BorrowerSignature == undefined || this.state.BorrowerSignature?.length == 0) &&\r\n !this.state.ApplicationReceivedOffline) {\r\n item.push(\"Borrower Signature\");\r\n }\r\n if ((this.state.BorrowerSignatureDate == undefined || this.state.BorrowerSignatureDate?.length == 0) &&\r\n !this.state.ApplicationReceivedOffline) {\r\n item.push(\"Borrower Signature Date\");\r\n }\r\n if ((this.state.CoBorrowerSignature == undefined || this.state.CoBorrowerSignature?.length == 0) &&\r\n !this.state.ApplicationReceivedOffline) {\r\n item.push(\"CoBorrower Signature\");\r\n }\r\n if ((this.state.CoBorrowerSignatureDate == undefined || this.state.CoBorrowerSignatureDate?.length == 0) &&\r\n !this.state.ApplicationReceivedOffline) {\r\n item.push(\"CoBorrower Signature Date\");\r\n }\r\n }\r\n\r\n if (item.length == 0) {\r\n this.setState({ loading: true });\r\n var fetch = _fetch();\r\n\r\n this.setState({\r\n CoBorrowerDOB: this.state.CoBorrowerDOB === undefined || this.state.CoBorrowerDOB == \"\" ? null : format(new Date(this.state.CoBorrowerDOB.replace(/-/g, '/')), \"yyyy-MM-dd\"),\r\n BorrowerSignatureDate: this.state.BorrowerSignatureDate === undefined || this.state.BorrowerSignatureDate == \"\" ? null : format(new Date(this.state.BorrowerSignatureDate.replace(/-/g, '/')), \"yyyy-MM-dd\"),\r\n CoBorrowerSignatureDate: this.state.CoBorrowerSignatureDate === undefined || this.state.CoBorrowerSignatureDate == \"\" ? null : format(new Date(this.state.CoBorrowerSignatureDate.replace(/-/g, '/')), \"yyyy-MM-dd\")\r\n }, function () {\r\n fetch.post(\"/creditapplication/SaveCreditApplicationStep3\", this.state)\r\n .then((id) => {\r\n this.setState({ loading: false });\r\n if (back === 1) {\r\n if (url !== undefined) {\r\n window.location.href = url;\r\n }\r\n else {\r\n window.location.href = \"/CreditApplicationStep2\";\r\n }\r\n }\r\n else {\r\n if (sessionStorage.getItem(\"INTERNAL_SESSION\") !== null && sessionStorage.getItem(\"INTERNAL_SESSION\") === \"1\") {\r\n if (this.state.hasPFS) {\r\n window.location.href = \"/PersonalFinancialStatement\";\r\n }\r\n else {\r\n //sessionStorage.removeItem(\"INTERNAL_SESSION\")\r\n //window.location.href = \"/\";\r\n this.setState({ toastMessageSuccess: \"Saved Successfully\", showToastSuccess: true });\r\n }\r\n }\r\n else {\r\n this.setState({ showModal: true });\r\n }\r\n }\r\n })\r\n });\r\n }\r\n else {\r\n this.setState({\r\n showToast: true,\r\n toastMessage: 'The following fields are required:',\r\n toastItems: item\r\n });\r\n setTimeout(function () { document.getElementById(\"maincontainer\").scrollTo({ top: 0, behavior: 'smooth' }); }, 250);\r\n }\r\n }\r\n catch (err) {\r\n this.setState({ loading: false });\r\n console.log('save - ' + err);\r\n }\r\n }\r\n\r\n sqlToJsDate(sqlDate) {\r\n if (sqlDate == \"\" || sqlDate === undefined) return sqlDate;\r\n\r\n var dateParts = sqlDate.split(\"T\");\r\n return dateParts[0];\r\n }\r\n\r\n hasPFS(id) {\r\n var fetch = _fetch();\r\n fetch.get(\"/creditapplication/hasPFS?id=\" + id)\r\n .then((data) => {\r\n this.setState({ hasPFS: data });\r\n });\r\n }\r\n\r\n lastNameOnBlur() {\r\n let s = this.state;\r\n var f = s.CoBorrowerFirstName == undefined ? \"\" : s.CoBorrowerFirstName.toString() + \" \";\r\n var m = s.CoBorrowerMiddleInitial == undefined ? \"\" : s.CoBorrowerMiddleInitial.toString() + \" \";\r\n var l = s.CoBorrowerLastName == undefined ? \"\" : s.CoBorrowerLastName?.toString();\r\n var sig = f + m + l;\r\n\r\n //this.setState({ CoBorrowerSignature: sig });\r\n sessionStorage.setItem(\"CoBorrowerSignature\", sig);\r\n }\r\n\r\n loadBorrowerAddress() {\r\n let id = sessionStorage.getItem(\"ID\");\r\n\r\n var fetch = _fetch();\r\n fetch.get(\"/creditapplication/GetCreditApplicationStep2?id=\" + id)\r\n .then((data) => {\r\n this.setState({\r\n CoBorrowerCurrentAddress: data.borrowerCurrentAddress,\r\n CoBorrowerCurrentCity: data.borrowerCurrentCity,\r\n CoBorrowerCurrentStateId: data.borrowerCurrentStateId,\r\n CoBorrowerCurrentZip: data.borrowerCurrentZip,\r\n CoBorrowerCurrentYears: data.borrowerCurrentYears\r\n\r\n });\r\n });\r\n }\r\n\r\n render() {\r\n return (\r\n
\r\n this.save(1, e)}\r\n />\r\n this.setState({ showToast: false })}\r\n autoHideToastDelay={10000}\r\n />\r\n this.setState({ showToastSuccess: false })}\r\n autoHideToastDelay={5000}\r\n isSuccessToast={true}\r\n />\r\n
\r\n {this.state.loading === true ?\r\n
\r\n \r\n
\r\n : null\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 this.setState({ CoBorrowerFirstName: e },\r\n function () {\r\n this.lastNameOnBlur();\r\n });\r\n }}\r\n Value={this.state.CoBorrowerFirstName ?? \"\"}\r\n Style={{ width: '12vw' }}\r\n />\r\n \r\n {\r\n this.setState({ CoBorrowerMiddleInitial: e },\r\n function () {\r\n this.lastNameOnBlur();\r\n });\r\n }}\r\n Value={this.state.CoBorrowerMiddleInitial ?? \"\"}\r\n Style={{ width: '2.5vw' }}\r\n />\r\n \r\n {\r\n this.setState({ CoBorrowerLastName: e },\r\n function () {\r\n this.lastNameOnBlur();\r\n });\r\n }}\r\n Value={this.state.CoBorrowerLastName ?? \"\"}\r\n Style={{ width: '12vw' }}\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 var formattedSSN = e;\r\n this.setState({ CoBorrowerSSN: formattedSSN });\r\n }}\r\n Value={this.state.CoBorrowerSSN ?? \"\"}\r\n Style={{ width: '11vw' }}\r\n />\r\n \r\n {\r\n this.setState({ CoBorrowerDOB: e });\r\n }}\r\n Value={this.state.CoBorrowerDOB != undefined ? this.sqlToJsDate(this.state.CoBorrowerDOB) : \"\"}\r\n Style={{ width: '7vw' }}\r\n />\r\n \r\n {\r\n this.setState({ RelationshipToApplicant: e });\r\n }}\r\n Value={this.state.RelationshipToApplicant ?? \"\"}\r\n Style={{ width: '11vw' }}\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 US citizen?\r\n \r\n
\r\n {\r\n this.setState({ CoBorrowerUSCitizen: e.target.checked ? \"Yes\" : \"No\" });\r\n }}\r\n checked={this.state.CoBorrowerUSCitizen === \"Yes\"}\r\n >\r\n \r\n {\r\n this.setState({ CoBorrowerUSCitizen: e.target.checked ? \"No\" : \"Yes\" });\r\n }}\r\n checked={this.state.CoBorrowerUSCitizen === \"No\"}\r\n >\r\n \r\n {this.state.CoBorrowerUSCitizen === \"No\" ?\r\n {\r\n this.setState({ CoBorrowerUSCitizenCountry: e.target.value })\r\n }}\r\n >\r\n \r\n {this.state.countries.map((item, idx) =>\r\n \r\n )}\r\n \r\n : null}\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 var formattedPhone = customFunctions.formatPhoneNumber(e);\r\n this.setState({ CoBorrowerCellPhone: formattedPhone });\r\n }}\r\n Value={customFunctions.formatPhoneNumber(this.state.CoBorrowerCellPhone) ?? \"\"}\r\n Style={{ width: '10vw' }}\r\n />\r\n \r\n {\r\n var formattedPhone = customFunctions.formatPhoneNumber(e);\r\n this.setState({ CoBorrowerOtherPhone: formattedPhone });\r\n }}\r\n Value={customFunctions.formatPhoneNumber(this.state.CoBorrowerOtherPhone) ?? \"\"}\r\n Style={{ width: '10vw' }}\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 this.setState({ emailValid: customFunctions.validateEmail(e) });\r\n this.setState({ CoBorrowerEmail: e });\r\n }}\r\n Value={this.state.CoBorrowerEmail ?? \"\"}\r\n Style={{ width: '20.2vw' }}\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 this.loadBorrowerAddress();\r\n }}\r\n disabled={this.state.loading}\r\n >\r\n Copy Borrower's Address\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 this.setState({ CoBorrowerCurrentAddress: e });\r\n }}\r\n Value={this.state.CoBorrowerCurrentAddress ?? \"\"}\r\n Style={{ width: '16vw' }}\r\n />\r\n
\r\n {\r\n this.setState({ CoBorrowerCurrentCity: e });\r\n }}\r\n Value={this.state.CoBorrowerCurrentCity ?? \"\"}\r\n Style={{ width: '5vw' }}\r\n />\r\n \r\n {\r\n this.setState({ CoBorrowerCurrentStateId: e.target.value })\r\n }}\r\n >\r\n \r\n {this.state.states.map((item, idx) =>\r\n \r\n )}\r\n \r\n \r\n {\r\n this.setState({ CoBorrowerCurrentZip: e });\r\n }}\r\n Value={this.state.CoBorrowerCurrentZip ?? \"\"}\r\n Style={{ width: '5vw' }}\r\n />\r\n
\r\n {\r\n this.setState({ CoBorrowerCurrentYears: e });\r\n }}\r\n Value={this.state.CoBorrowerCurrentYears ?? \"\"}\r\n Style={{ width: '5vw' }}\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 Previous Residence\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 this.setState({ CoBorrowerPreviousAddress: e });\r\n }}\r\n Value={this.state.CoBorrowerPreviousAddress ?? \"\"}\r\n Style={{ width: '16vw' }}\r\n />\r\n
\r\n {\r\n this.setState({ CoBorrowerPreviousCity: e });\r\n }}\r\n Value={this.state.CoBorrowerPreviousCity ?? \"\"}\r\n Style={{ width: '5vw' }}\r\n />\r\n \r\n {\r\n this.setState({ CoBorrowerPreviousStateId: e.target.value })\r\n }}\r\n >\r\n \r\n {this.state.states.map((item, idx) =>\r\n \r\n )}\r\n \r\n \r\n {\r\n this.setState({ CoBorrowerPreviousZip: e });\r\n }}\r\n Value={this.state.CoBorrowerPreviousZip ?? \"\"}\r\n Style={{ width: '5vw' }}\r\n />\r\n
\r\n {\r\n this.setState({ CoBorrowerPreviousYears: e });\r\n }}\r\n Value={this.state.CoBorrowerPreviousYears ?? \"\"}\r\n Style={{ width: '5vw' }}\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 \r\n \r\n \r\n \r\n \r\n
\r\n Own or Rent?\r\n \r\n
\r\n {\r\n this.setState({ CoBorrowerCurrentOwnOrRent: e.target.checked ? \"Own\" : \"Rent\" });\r\n }}\r\n checked={this.state.CoBorrowerCurrentOwnOrRent === \"Own\"}\r\n >\r\n \r\n {\r\n this.setState({ CoBorrowerCurrentOwnOrRent: e.target.checked ? \"Rent\" : \"Own\" });\r\n }}\r\n checked={this.state.CoBorrowerCurrentOwnOrRent === \"Rent\"}\r\n >\r\n \r\n
\r\n
\r\n
\r\n
\r\n {\r\n this.setState({ CoBorrowerCurrentMortgageRent: e });\r\n }}\r\n Value={this.formatCurrency(this.state.CoBorrowerCurrentMortgageRent) ?? \"\"}\r\n Style={{ width: '11vw' }}\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 \r\n \r\n \r\n \r\n \r\n
\r\n Employment\r\n
\r\n {\r\n this.setState({ CoBorrowerCurrentEmployerName: e });\r\n }}\r\n Value={this.state.CoBorrowerCurrentEmployerName ?? \"\"}\r\n Style={{ width: '13vw' }}\r\n />\r\n
\r\n {\r\n this.setState({ CoBorrowerCurrentEmployerType: e });\r\n }}\r\n Value={this.state.CoBorrowerCurrentEmployerType ?? \"\"}\r\n Style={{ width: '13vw' }}\r\n />\r\n
\r\n {\r\n this.setState({ CoBorrowerCurrentEmployerPosition: e });\r\n }}\r\n Value={this.state.CoBorrowerCurrentEmployerPosition ?? \"\"}\r\n Style={{ width: '13vw' }}\r\n />\r\n
\r\n {\r\n this.setState({ CoBorrowerCurrentEmployerYears: e });\r\n }}\r\n Value={this.state.CoBorrowerCurrentEmployerYears ?? \"\"}\r\n Style={{ width: '5vw' }}\r\n />\r\n
\r\n {\r\n this.setState({ CoBorrowerCurrentEmployerAddress: e });\r\n }}\r\n Value={this.state.CoBorrowerCurrentEmployerAddress ?? \"\"}\r\n Style={{ width: '16vw' }}\r\n />\r\n
\r\n {\r\n this.setState({ CoBorrowerCurrentEmployerCity: e });\r\n }}\r\n Value={this.state.CoBorrowerCurrentEmployerCity ?? \"\"}\r\n Style={{ width: '5vw' }}\r\n />\r\n \r\n {\r\n this.setState({ CoBorrowerCurrentEmployerStateId: e.target.value })\r\n }}\r\n >\r\n \r\n {this.state.states.map((item, idx) =>\r\n \r\n )}\r\n \r\n \r\n {\r\n this.setState({ CoBorrowerCurrentEmployerZip: e });\r\n }}\r\n Value={this.state.CoBorrowerCurrentEmployerZip ?? \"\"}\r\n Style={{ width: '5vw' }}\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 Previous Employment\r\n
\r\n {\r\n this.setState({ CoBorrowerPreviousEmployerName: e });\r\n }}\r\n Value={this.state.CoBorrowerPreviousEmployerName ?? \"\"}\r\n Style={{ width: '13vw' }}\r\n />\r\n
\r\n {\r\n this.setState({ CoBorrowerPreviousEmployerType: e });\r\n }}\r\n Value={this.state.CoBorrowerPreviousEmployerType ?? \"\"}\r\n Style={{ width: '13vw' }}\r\n />\r\n
\r\n {\r\n this.setState({ CoBorrowerPreviousEmployerPosition: e });\r\n }}\r\n Value={this.state.CoBorrowerPreviousEmployerPosition ?? \"\"}\r\n Style={{ width: '13vw' }}\r\n />\r\n
\r\n {\r\n this.setState({ CoBorrowerPreviousEmployerYears: e });\r\n }}\r\n Value={this.state.CoBorrowerPreviousEmployerYears ?? \"\"}\r\n Style={{ width: '5vw' }}\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 Annual Income\r\n
\r\n {\r\n this.setState({ CoBorrowerIncomeWages: e }, function () { this.calculateTotal(); });\r\n\r\n }}\r\n Value={this.formatCurrency(this.state.CoBorrowerIncomeWages)}\r\n Style={{ width: '6vw' }}\r\n />\r\n \r\n {\r\n this.setState({ CoBorrowerIncomeDistributions: e }, function () { this.calculateTotal(); });\r\n }}\r\n Value={this.formatCurrency(this.state.CoBorrowerIncomeDistributions)}\r\n Style={{ width: '6vw' }}\r\n />\r\n \r\n {\r\n this.setState({ CoBorrowerIncomeRentalIncome: e }, function () { this.calculateTotal(); });\r\n }}\r\n Value={this.formatCurrency(this.state.CoBorrowerIncomeRentalIncome)}\r\n Style={{ width: '6vw' }}\r\n />\r\n \r\n {\r\n this.setState({ CoBorrowerIncomePension: e }, function () { this.calculateTotal(); });\r\n }}\r\n Value={this.formatCurrency(this.state.CoBorrowerIncomePension)}\r\n Style={{ width: '6vw' }}\r\n />\r\n \r\n {\r\n this.setState({ CoBorrowerIncomeOther: e }, function () { this.calculateTotal(); });\r\n }}\r\n Value={this.formatCurrency(this.state.CoBorrowerIncomeOther)}\r\n Style={{ width: '6vw' }}\r\n />\r\n \r\n {\r\n this.setState({ CoBorrowerIncomeTotal: e }, function () { this.calculateTotal(); });\r\n }}\r\n Value={this.formatCurrency(this.state.CoBorrowerIncomeTotal)}\r\n Style={{ width: '6vw' }}\r\n Disabled={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
\r\n
\r\n We authorize Fairwind Financial Corporation, its Assigns and/or their Lender(s) to obtain information, including credit inquiries/reports, employment history and any other information necessary to evaluate credit. The applicant and/or co-applicant may ask whether Fairwind Financial Corporation obtained such a report. If such a report has been obtained, the applicant and/or the co-applicant may request the name and address of the reporting agency that provided the report. This application shall remain the property of Fairwind Financial Corporation, its Assigns and/or Lender(s), whether or not said credit is granted.

\r\n Income derived from alimony, child support or other maintenance payments need not be disclosed when applying for credit.

\r\n All the statements We have made are true, correct and complete, We understand you will rely upon their accuracy when determining whether or not said credit is granted.

\r\n PATRIOT ACT NOTICE: To help the government fight the funding of terrorism and money laundering activities, Federal Law requires all financial institutions to obtain, verify and record information that identifies each person who opens an account. For purposes of this section, account shall be understood to include loan accounts.

\r\n You agree as follows: On each phone number that you provide to us on this application, whether cell phone or landline, you consent to us, our assigns, lenders and agents, of any of us contacting you at the number by calling, texting or any other electronic communication from time to time for any reason about your accounts, including but not limited to, for collection and payment purposes. You agree that automated dialing, equipment or pre-recorded voice message maybe used for any of those purposes.

\r\n If this is an application for joint credit with another person, complete all sections of page 2, by providing information in the Co-Borrower section, and by initialing below, you confirm your intent to apply for joint credit.

\r\n By completing and submitting this elctronic application, We consent to conduct business electronically with Fairwind Financial Corporation, and that this electroinc communiction will have the same legal capacity as any written and/or sign paper application or communication. In addition, your signature below confirms your consent to receive all the disclosures noted on the application electronically. If you wish to receive a paper copy of the Disclosures, you can do so my requesting a copy from info@fairwindfinancial.com

\r\n
\r\n
\r\n
\r\n {\r\n this.setState({ AcknowledgeDisclosuresAndDigitalSignature: !this.state.AcknowledgeDisclosuresAndDigitalSignature })\r\n }}\r\n style={{ marginRight: '5px' }}\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 this.setState({ BorrowerSignature: e });\r\n }}\r\n Value={this.state.BorrowerSignature ?? \"\"}\r\n Style={{ width: '12vw', fontFamily: 'Imperial Script', fontSize: '18px' }}\r\n />\r\n \r\n {\r\n this.setState({ BorrowerSignatureDate: e });\r\n }}\r\n Value={this.state.BorrowerSignatureDate != undefined ? this.sqlToJsDate(this.state.BorrowerSignatureDate) : this.setState({ BorrowerSignatureDate: customFunctions.formatDateOrTimeForInput(new Date().toLocaleDateString('en-CA'), 'date') })}\r\n Style={{ width: '7vw' }}\r\n />\r\n
\r\n {\r\n this.setState({ CoBorrowerSignature: e });\r\n }}\r\n Value={this.state.CoBorrowerSignature ?? \"\"}\r\n Style={{ width: '12vw', fontFamily: 'Imperial Script', fontSize: '18px' }}\r\n />\r\n \r\n {\r\n this.setState({ CoBorrowerSignatureDate: e });\r\n }}\r\n Value={this.state.CoBorrowerSignatureDate != undefined ? this.sqlToJsDate(this.state.CoBorrowerSignatureDate) : this.setState({ CoBorrowerSignatureDate: customFunctions.formatDateOrTimeForInput(new Date().toLocaleDateString('en-CA'), 'date') })}\r\n Style={{ width: '7vw' }}\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 this.save(1);\r\n }}\r\n >Back\r\n \r\n \r\n {this.state.hasPFS || sessionStorage.getItem(\"NEW_APP\") !== null && sessionStorage.getItem(\"NEW_APP\") === \"true\" ?\r\n {\r\n this.save();\r\n }}\r\n disabled={this.state.loading || !this.state.AcknowledgeDisclosuresAndDigitalSignature}\r\n >\r\n Next\r\n \r\n :\r\n {\r\n this.save();\r\n }}\r\n disabled={this.state.loading || !this.state.AcknowledgeDisclosuresAndDigitalSignature}\r\n >\r\n Done\r\n }\r\n
\r\n
\r\n \r\n
\r\n )\r\n }\r\n\r\n handleButton1Click() {\r\n window.location.href = \"/PersonalFinancialStatement\";\r\n }\r\n\r\n handleButton2Click = () => {\r\n //window.location.href = \"/CreditApplicationReceived\";\r\n this.setState({ showModal: false, toastMessageSuccess: \"Saved Successfully\", showToastSuccess: true });\r\n }\r\n}","import React, { Component } from 'react';\r\nimport { _fetch } from './_fetch';\r\nimport { Spinner } from 'reactstrap';\r\nimport TextInput from './TextInput';\r\nimport { customFunctions } from './CustomFunctions.js';\r\nimport Toast from './toast.js';\r\n\r\nexport class LoanApplicationStep1 extends Component {\r\n static displayName = LoanApplicationStep1.name;\r\n constructor(props) {\r\n super(props);\r\n\r\n this.state = {\r\n loading: false,\r\n showToast: false,\r\n toastMessage: '',\r\n toastItems: [],\r\n ContinueToken: ''\r\n }\r\n\r\n this.termOtherRef = React.createRef();\r\n this.purchasePriceRef = React.createRef();\r\n this.loanAmountRef = React.createRef();\r\n }\r\n\r\n componentDidMount() {\r\n let searchParams = new URLSearchParams(window.location.search);\r\n let salesRep = searchParams.get('sr');\r\n\r\n if (salesRep != null) {\r\n this.setState({ SalesRep: salesRep });\r\n }\r\n\r\n if (localStorage.getItem(\"CONTINUE_TOKEN\") && localStorage.getItem(\"CONTINUE_TOKEN\") !== null) {\r\n var id = localStorage.getItem(\"CONTINUE_TOKEN\");\r\n this.setState({ ContinueToken: id });\r\n this.loadPage(id);\r\n }\r\n }\r\n\r\n calculateTotals() {\r\n if (this.state.PurchaseOrRefinance !== 'Refinance') {\r\n var s = this.state;\r\n var purchasePrice = this.zeroOrValue(s.PurchasePrice);\r\n var salesTax = this.zeroOrValue(s.SalesTax);\r\n var total = purchasePrice + salesTax;\r\n var trade = this.zeroOrValue(s.TradeBoatEquity);\r\n var downPayment = this.zeroOrValue(s.CashDownPayment);\r\n var loanAmount = total - (trade + downPayment);\r\n\r\n var loanRaw = this.formatCurrency(loanAmount);\r\n\r\n if (loanRaw && loanRaw.startsWith('$') && !loanRaw.includes('.')) {\r\n loanRaw = loanRaw + '.00';\r\n }\r\n else if (loanRaw.startsWith('$') && loanRaw.includes('.')) {\r\n var spl = loanRaw.split(\".\");\r\n if (spl[1].length == 0) {\r\n loanRaw = loanRaw + '00';\r\n }\r\n\r\n if (spl[1].length == 1) {\r\n loanRaw = loanRaw + '0';\r\n }\r\n }\r\n\r\n var totalRaw = this.formatCurrency(total);\r\n\r\n if (totalRaw && totalRaw.startsWith('$') && !totalRaw.includes('.')) {\r\n totalRaw = totalRaw + '.00';\r\n }\r\n else if (totalRaw.startsWith('$') && totalRaw.includes('.')) {\r\n var spl = totalRaw.split(\".\");\r\n if (spl[1].length == 0) {\r\n totalRaw = totalRaw + '00';\r\n }\r\n\r\n if (spl[1].length == 1) {\r\n totalRaw = totalRaw + '0';\r\n }\r\n }\r\n\r\n this.setState({ TotalCost: totalRaw, LoanAmount: loanRaw });\r\n }\r\n }\r\n\r\n zeroOrValue(value) {\r\n if (value == undefined || value == 0 || value == null) return 0;\r\n\r\n var _value = value?.toString().replace(/,/g, '').replace('$', '');\r\n\r\n if (_value.length > 0) {\r\n\r\n var result = (isNaN(_value) || _value == undefined) ? 0 : parseFloat(_value);\r\n return result;\r\n }\r\n else {\r\n return 0;\r\n }\r\n }\r\n\r\n formatCurrency(value) {\r\n if (value == undefined) return \"\";\r\n var _values = value.toString().replace(/,/g, '').replace('$', '');\r\n\r\n var dec = \"\";\r\n var _value = \"\";\r\n\r\n var elements = _values.split('.');\r\n if (elements?.length == 1) {\r\n _value = _values.split('.')[0];\r\n }\r\n else if (elements?.length > 1) {\r\n _value = _values.split('.')[0];\r\n dec = \".\" + _values.split('.')[1].substring(0, 2);\r\n }\r\n else {\r\n _value = _values;\r\n }\r\n if (_value.length > 0) {\r\n return new Intl.NumberFormat(undefined, {\r\n style: 'currency',\r\n currency: 'USD',\r\n maximumFractionDigits: 0,\r\n minimumFractionDigits: 0,\r\n }).format(_value) + dec;\r\n }\r\n }\r\n\r\n save() {\r\n try {\r\n var item = [];\r\n if (this.state.TakingTitle === undefined || this.state.TakingTitle?.length === 0) {\r\n item.push(\"What type of application is this?\");\r\n }\r\n if (this.state.Ownership === undefined || this.state.Ownership?.length === 0) {\r\n item.push(\"How do you plan to take ownership?\");\r\n }\r\n if (this.state.PurchaseOrRefinance === undefined || this.state.PurchaseOrRefinance?.length === 0) {\r\n item.push(\"Purchase or Refinance\");\r\n }\r\n if (this.state.PurchaseOrRefinance !== 'Refinance' && (this.state.NewOrUsed === undefined || this.state.NewOrUsed?.length === 0)) {\r\n item.push(\"New or Used\");\r\n }\r\n if (this.state.PurchaseOrRefinance === \"Purchase\" && this.state.DealerPrivate === undefined || this.state.DealerPrivate?.length === 0) {\r\n item.push(\"Dealer/Broker or Private Party\");\r\n }\r\n if (this.state.DealerPrivate === \"Dealer\" && (this.state.DealerName === undefined || this.state.DealerName?.length === 0)) {\r\n item.push(\"Dealer/Broker Name\");\r\n }\r\n if (this.state.PurchaseOrRefinance === \"Purchase\" && (this.state.PurchasePrice === undefined || this.state.PurchasePrice?.length === 0)) {\r\n item.push(\"Purchase Price\");\r\n }\r\n if (this.state.PurchaseOrRefinance === 'Refinance' && (this.state.LoanAmount === undefined || this.state.LoanAmount?.length === 0)) {\r\n item.push(\"Loan Amount\");\r\n }\r\n if (this.state.Term?.length === 0 || this.state.Term === undefined) {\r\n item.push(\"Term\");\r\n }\r\n if (this.state.Term === 0 && (this.state.TermOther === undefined || this.state.TermOther?.length === 0)) {\r\n item.push(\"Term Other Value\");\r\n }\r\n\r\n if (item.length == 0) {\r\n this.setState({ loading: true });\r\n var fetch = _fetch();\r\n\r\n fetch.post(\"/CreditApplicationPublic/SaveCreditApplicationStep1Public\", this.state)\r\n .then((id) => {\r\n if (id) {\r\n this.setState({ loading: false, LastStep: \"1\" });\r\n localStorage.setItem(\"CONTINUE_TOKEN\", id.continueToken);\r\n window.location.href = '/LoanApplicationStep2';\r\n }\r\n else {\r\n this.setState({\r\n showToast: true,\r\n toastMessage: 'There was an issue saving your information. Please try again',\r\n loading: false\r\n });\r\n }\r\n })\r\n }\r\n else {\r\n this.setState({\r\n showToast: true,\r\n toastMessage: 'The following fields are required:',\r\n toastItems: item\r\n });\r\n }\r\n }\r\n catch (err) {\r\n this.setState({ loading: false });\r\n console.log('save - ' + err);\r\n }\r\n }\r\n\r\n loadPage(id) {\r\n try {\r\n this.setState({ loading: true });\r\n var fetch = _fetch();\r\n fetch.get(\"/CreditApplicationPublic/GetCreditApplicationStep1Public?id=\" + id)\r\n .then((data) => {\r\n if (data.continueToken?.length > 0) {\r\n var _state = this.state;\r\n for (const key in data) {\r\n if (data[key] != null) {\r\n var _key = key.charAt(0).toUpperCase() + key.slice(1);\r\n var _value = data[key];\r\n _state[_key] = _value?.toString();\r\n }\r\n }\r\n this.setState(_state, function () {\r\n this.calculateTotals();\r\n localStorage.setItem(\"APP_TYPE\", this.state.TakingTitle);\r\n this.setState({ loading: false });\r\n });\r\n }\r\n else {\r\n this.setState({ loading: false });\r\n localStorage.removeItem(\"CONTINUE_TOKEN\");\r\n }\r\n })\r\n }\r\n catch (err) {\r\n this.setState({ loading: false });\r\n console.log('loadPage - ' + err);\r\n }\r\n }\r\n\r\n render() {\r\n return (\r\n
\r\n this.setState({ showToast: false })}\r\n autoHideToastDelay={10000}\r\n />\r\n
\r\n {this.state.loading === true ?\r\n
\r\n \r\n
\r\n : null\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 \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 \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 How did you hear about us?\r\n \r\n this.setState({ HearAboutUs: e.target.value })} value={this.state.HearAboutUs ?? ''}>\r\n
\r\n What type of application is this?\r\n \r\n
\r\n {\r\n this.setState({ TakingTitle: e.target.checked ? \"Individual\" : this.state.TakingTitle });\r\n localStorage.setItem(\"APP_TYPE\", \"Individual\");\r\n }}\r\n value={this.state.TakingTitle ?? false}>\r\n \r\n \r\n {\r\n this.setState({ TakingTitle: e.target.checked ? \"Jointly\" : this.state.TakingTitle });\r\n localStorage.setItem(\"APP_TYPE\", \"Jointly\");\r\n }}\r\n value={this.state.TakingTitle ?? false}>\r\n \r\n \r\n
\r\n
\r\n How do you plan to take ownership?\r\n \r\n
\r\n this.setState({ Ownership: e.target.checked ? \"Personally\" : this.state.Ownership })}\r\n value={this.state.Ownership ?? false}>\r\n \r\n \r\n this.setState({ Ownership: e.target.checked ? \"LLC\" : this.state.Ownership })}\r\n value={this.state.Ownership ?? false}>\r\n \r\n \r\n this.setState({ Ownership: e.target.checked ? \"Trust\" : this.state.Ownership })}\r\n value={this.state.Ownership ?? false}>\r\n \r\n \r\n
\r\n
\r\n Will this vessel be used as a
residence / primary dwelling?\r\n
\r\n
\r\n this.setState({ ResidentPrimaryDwelling: 'Yes' })}\r\n >\r\n \r\n \r\n this.setState({ ResidentPrimaryDwelling: 'No' })}\r\n >\r\n \r\n \r\n
\r\n
\r\n
\r\n Purchase or Refinance?\r\n \r\n
\r\n {\r\n this.setState({\r\n PurchaseOrRefinance: 'Purchase',\r\n LoanAmount: undefined\r\n });\r\n }}\r\n >\r\n \r\n \r\n {\r\n this.setState({ PurchaseOrRefinance: 'Refinance' },\r\n function () {\r\n if (this.state.PurchaseOrRefinance === 'Refinance') {\r\n this.setState({\r\n PurchaseOrRefinance: 'Refinance',\r\n NewOrUsed: undefined,\r\n DealerPrivate: undefined,\r\n DealerName: undefined,\r\n PurchasePrice: undefined,\r\n SalesTax: undefined,\r\n TotalCost: undefined,\r\n TradeBoatEquity: undefined,\r\n CashDownPayment: undefined,\r\n LoanAmount: undefined\r\n });\r\n this.loanAmountRef.current.focus();\r\n }\r\n });\r\n }}\r\n >\r\n \r\n \r\n
\r\n
\r\n New or Used?\r\n \r\n
\r\n this.setState({ NewOrUsed: 'New' })}\r\n disabled={this.state.PurchaseOrRefinance === 'Refinance'}\r\n >\r\n \r\n \r\n this.setState({ NewOrUsed: 'Used' })}\r\n disabled={this.state.PurchaseOrRefinance === 'Refinance'}\r\n >\r\n \r\n \r\n
\r\n
\r\n Dealer/Broker or Private Party?\r\n \r\n
\r\n this.setState({ DealerPrivate: 'Dealer' })}\r\n disabled={this.state.PurchaseOrRefinance === 'Refinance'}\r\n >\r\n \r\n \r\n {this.state.DealerPrivate === 'Dealer' && this.state.PurchaseOrRefinance !== 'Refinance' ?\r\n this.setState({ DealerName: e.target.value })}\r\n value={this.state.DealerName ?? \"\"}\r\n placeholder=\"Please list name\"\r\n style={{ marginRight: '5px', marginBottom: '0' }}\r\n disabled={this.state.PurchaseOrRefinance === 'Refinance'}\r\n >\r\n : null}\r\n this.setState({ DealerPrivate: 'Private' })}\r\n disabled={this.state.PurchaseOrRefinance === 'Refinance'}\r\n >\r\n \r\n \r\n
\r\n
\r\n Purchase Price\r\n \r\n {\r\n var formattedCurrency = e.target.value;\r\n this.setState({ PurchasePrice: formattedCurrency?.toString() },\r\n function () {\r\n this.calculateTotals();\r\n });\r\n }}\r\n value={this.formatCurrency(this.state.PurchasePrice)}\r\n onBlur={() => {\r\n }}\r\n onKeyPress={(event) => {\r\n var alpha = /^\\d*\\.?\\d*$/;\r\n if (!alpha.test(event.key)) {\r\n event.preventDefault();\r\n }\r\n else {\r\n return true;\r\n }\r\n }}\r\n onPaste={(event) => {\r\n let pasteData = event.clipboardData.getData('Text');\r\n if (pasteData) {\r\n pasteData.replace(/^\\d*\\.?\\d*$/g, '');\r\n }\r\n }}\r\n onBlur={(e) => {\r\n var val = this.state.PurchasePrice;\r\n if (e.target.value && e.target.value.startsWith('$') && !e.target.value.includes('.')) {\r\n val = val + '.00';\r\n }\r\n else if (e.target.value && e.target.value.startsWith('$') && e.target.value.includes('.')) {\r\n var spl = e.target.value.split(\".\");\r\n if (spl[1].length == 0) {\r\n val = val + '00';\r\n }\r\n\r\n if (spl[1].length == 1) {\r\n val = val + '0';\r\n }\r\n }\r\n this.setState({\r\n PurchasePrice: val\r\n });\r\n }}\r\n disabled={this.state.PurchaseOrRefinance === 'Refinance'}\r\n >\r\n
\r\n Sales Tax\r\n \r\n {\r\n var formattedCurrency = e.target.value;\r\n this.setState({ SalesTax: formattedCurrency?.toString() },\r\n function () {\r\n this.calculateTotals();\r\n });\r\n }}\r\n value={this.formatCurrency(this.state.SalesTax)}\r\n onBlur={() => {\r\n }}\r\n onKeyPress={(event) => {\r\n var alpha = /^\\d*\\.?\\d*$/;\r\n if (!alpha.test(event.key)) {\r\n event.preventDefault();\r\n }\r\n else {\r\n return true;\r\n }\r\n }}\r\n onPaste={(event) => {\r\n\r\n let pasteData = event.clipboardData.getData('Text');\r\n if (pasteData) {\r\n pasteData.replace(/^\\d*\\.?\\d*$/g, '');\r\n }\r\n\r\n }}\r\n onBlur={(e) => {\r\n var val = this.state.SalesTax;\r\n if (e.target.value && e.target.value.startsWith('$') && !e.target.value.includes('.')) {\r\n val = val + '.00';\r\n }\r\n else if (e.target.value && e.target.value.startsWith('$') && e.target.value.includes('.')) {\r\n var spl = e.target.value.split(\".\");\r\n if (spl[1].length == 0) {\r\n val = val + '00';\r\n }\r\n\r\n if (spl[1].length == 1) {\r\n val = val + '0';\r\n }\r\n }\r\n this.setState({\r\n SalesTax: val\r\n });\r\n }}\r\n disabled={this.state.PurchaseOrRefinance === 'Refinance'}\r\n >\r\n
\r\n Total Cost\r\n \r\n {\r\n var formattedCurrency = e.target.value;\r\n this.setState({ TotalCost: formattedCurrency?.toString() },\r\n function () {\r\n this.calculateTotals();\r\n });\r\n }}\r\n value={this.formatCurrency(this.state.TotalCost)}\r\n onBlur={() => {\r\n\r\n }}\r\n onKeyPress={(event) => {\r\n var alpha = /^\\d*\\.?\\d*$/;\r\n if (!alpha.test(event.key)) {\r\n event.preventDefault();\r\n }\r\n else {\r\n return true;\r\n }\r\n }}\r\n onPaste={(event) => {\r\n\r\n let pasteData = event.clipboardData.getData('Text');\r\n if (pasteData) {\r\n pasteData.replace(/^\\d*\\.?\\d*$/g, '');\r\n }\r\n\r\n }}\r\n onBlur={(e) => {\r\n var val = this.state.TotalCost;\r\n if (e.target.value && e.target.value.startsWith('$') && !e.target.value.includes('.')) {\r\n val = val + '.00';\r\n }\r\n else if (e.target.value && e.target.value.startsWith('$') && e.target.value.includes('.')) {\r\n var spl = e.target.value.split(\".\");\r\n if (spl[1].length == 0) {\r\n val = val + '00';\r\n }\r\n\r\n if (spl[1].length == 1) {\r\n val = val + '0';\r\n }\r\n }\r\n this.setState({\r\n TotalCost: val\r\n });\r\n }}\r\n disabled={this.state.PurchaseOrRefinance === 'Refinance'}\r\n >\r\n
\r\n Trade Boat Equity\r\n \r\n {\r\n var formattedCurrency = e.target.value;\r\n this.setState({ TradeBoatEquity: formattedCurrency?.toString() },\r\n function () {\r\n this.calculateTotals();\r\n })\r\n }}\r\n value={this.formatCurrency(this.state.TradeBoatEquity)}\r\n onBlur={() => {\r\n }}\r\n onKeyPress={(event) => {\r\n var alpha = /^\\d*\\.?\\d*$/;\r\n if (!alpha.test(event.key)) {\r\n event.preventDefault();\r\n }\r\n else {\r\n return true;\r\n }\r\n }}\r\n onPaste={(event) => {\r\n let pasteData = event.clipboardData.getData('Text');\r\n if (pasteData) {\r\n pasteData.replace(/^\\d*\\.?\\d*$/g, '');\r\n }\r\n }}\r\n onBlur={(e) => {\r\n var val = this.state.TradeBoatEquity;\r\n if (e.target.value && e.target.value.startsWith('$') && !e.target.value.includes('.')) {\r\n val = val + '.00';\r\n }\r\n else if (e.target.value && e.target.value.startsWith('$') && e.target.value.includes('.')) {\r\n var spl = e.target.value.split(\".\");\r\n if (spl[1].length == 0) {\r\n val = val + '00';\r\n }\r\n\r\n if (spl[1].length == 1) {\r\n val = val + '0';\r\n }\r\n }\r\n this.setState({\r\n TradeBoatEquity: val\r\n });\r\n }}\r\n disabled={this.state.PurchaseOrRefinance === 'Refinance'}\r\n >\r\n
\r\n Cash Down Payment\r\n \r\n {\r\n var formattedCurrency = e.target.value;\r\n this.setState({ CashDownPayment: formattedCurrency?.toString() },\r\n function () {\r\n this.calculateTotals();\r\n });\r\n }}\r\n value={this.formatCurrency(this.state.CashDownPayment)}\r\n onKeyPress={(event) => {\r\n var alpha = /^\\d*\\.?\\d*$/;\r\n if (!alpha.test(event.key)) {\r\n event.preventDefault();\r\n }\r\n else {\r\n return true;\r\n }\r\n }}\r\n onPaste={(event) => {\r\n\r\n let pasteData = event.clipboardData.getData('Text');\r\n if (pasteData) {\r\n pasteData.replace(/^\\d*\\.?\\d*$/g, '');\r\n }\r\n\r\n }}\r\n onBlur={(e) => {\r\n var val = this.state.CashDownPayment;\r\n if (e.target.value && e.target.value.startsWith('$') && !e.target.value.includes('.')) {\r\n val = val + '.00';\r\n }\r\n else if (e.target.value && e.target.value.startsWith('$') && e.target.value.includes('.')) {\r\n var spl = e.target.value.split(\".\");\r\n if (spl[1].length == 0) {\r\n val = val + '00';\r\n }\r\n\r\n if (spl[1].length == 1) {\r\n val = val + '0';\r\n }\r\n }\r\n this.setState({\r\n CashDownPayment: val\r\n });\r\n }}\r\n disabled={this.state.PurchaseOrRefinance === 'Refinance'}\r\n >\r\n
\r\n Loan Amount\r\n \r\n {\r\n var formattedCurrency = e.target.value;\r\n this.setState({ LoanAmount: formattedCurrency?.toString() });\r\n }}\r\n value={this.formatCurrency(this.state.LoanAmount)}\r\n onBlur={(e) => {\r\n var val = this.state.LoanAmount;\r\n if (e.target.value && e.target.value.startsWith('$') && !e.target.value.includes('.')) {\r\n val = val + '.00';\r\n }\r\n else if (e.target.value && e.target.value.startsWith('$') && e.target.value.includes('.')) {\r\n var spl = e.target.value.split(\".\");\r\n if (spl[1].length == 0) {\r\n val = val + '00';\r\n }\r\n\r\n if (spl[1].length == 1) {\r\n val = val + '0';\r\n }\r\n }\r\n this.setState({\r\n LoanAmount: val\r\n });\r\n }}\r\n >\r\n
\r\n Term\r\n \r\n
\r\n this.setState({ Term: e.target.checked ? \"20\" : undefined, TermOther: \"\" })}\r\n >\r\n \r\n this.setState({ Term: e.target.checked ? \"15\" : undefined, TermOther: \"\" })}\r\n >\r\n \r\n this.setState({ Term: e.target.checked ? \"10\" : undefined, TermOther: \"\" })}\r\n >\r\n \r\n {\r\n if (e.target.checked) {\r\n this.termOtherRef.current.focus();\r\n }\r\n this.setState({ Term: \"0\" });\r\n }}\r\n >\r\n \r\n this.setState({ TermOther: e.target.value })}\r\n value={this.state.TermOther}\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 \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n Vessel Details\r\n
\r\n {\r\n this.setState({ VesselYear: e == \"\" ? null : e });\r\n }}\r\n Value={this.state.VesselYear}\r\n Style={{ width: '100px' }}\r\n />\r\n \r\n this.setState({ VesselManufacturer: e })}\r\n Value={this.state.VesselManufacturer}\r\n Label=\"Builder / Manufacturer\"\r\n Style={{ width: '210px' }}\r\n />\r\n \r\n this.setState({ VesselModel: e })}\r\n Value={this.state.VesselModel}\r\n Label=\"Model\"\r\n Style={{ width: '210px' }}\r\n />\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n this.setState({ VesselLength: e == \"\" ? null : e })}\r\n Value={this.state.VesselLength}\r\n Label=\"Length\"\r\n Style={{ width: '100px' }}\r\n />\r\n \r\n this.setState({ VesselType: e })}\r\n Value={this.state.VesselType}\r\n Label=\"Type (i.e. motor yacht, cruiser, etc.)\"\r\n Style={{ width: '210px' }}\r\n />\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n this.setState({ VesselEngineManufacturer: e })}\r\n Value={this.state.VesselEngineManufacturer}\r\n Label=\"Engine(s) Manufacturer\"\r\n Style={{ width: '210px' }}\r\n />\r\n \r\n this.setState({ VesselHP: e })}\r\n Value={this.state.VesselHP}\r\n Label=\"Horsepower\"\r\n Style={{ width: '100px' }}\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 Type\r\n \r\n
\r\n this.setState({ VesselEngineType: e.target.checked ? \"Single\" : undefined })}\r\n >\r\n \r\n this.setState({ VesselEngineType: e.target.checked ? \"Twin\" : undefined })}\r\n >\r\n \r\n this.setState({ VesselEngineType: e.target.checked ? \"Triple\" : undefined })}\r\n >\r\n \r\n this.setState({ VesselEngineType: e.target.checked ? 'Quad' : undefined })}\r\n >\r\n \r\n
\r\n
\r\n Fuel\r\n \r\n
\r\n this.setState({ VesselEngineFuel: e.target.checked ? \"Gas\" : undefined })}\r\n >\r\n \r\n this.setState({ VesselEngineFuel: e.target.checked ? \"Diesel\" : undefined })}\r\n >\r\n \r\n this.setState({ VesselEngineFuel: e.target.checked ? \"Electric\" : undefined })}\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 Trailer Description\r\n
\r\n this.setState({ TrailerYear: e == \"\" ? null : e })}\r\n Value={this.state.TrailerYear}\r\n Label=\"Trailer Year\"\r\n Style={{ width: '100px' }}\r\n MaxTextLength={4}\r\n />\r\n \r\n this.setState({ TrailerMake: e })}\r\n Value={this.state.TrailerMake}\r\n Label=\"Trailer Manufacturer\"\r\n Style={{ width: '200px' }}\r\n />\r\n \r\n this.setState({ TrailerModel: e })}\r\n Value={this.state.TrailerModel}\r\n Label=\"Trailer Model\"\r\n Style={{ width: '200px' }}\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 Trade Boat Description\r\n
\r\n this.setState({ TradeYear: e == \"\" ? null : e })}\r\n Value={this.state.TradeYear}\r\n Label=\"Trade Year\"\r\n Style={{ width: '100px' }}\r\n MaxTextLength={4}\r\n />\r\n \r\n this.setState({ TradeManufacturer: e })}\r\n Value={this.state.TradeManufacturer}\r\n Label=\"Trade Manufacturer\"\r\n Style={{ width: '200px' }}\r\n />\r\n \r\n this.setState({ TradeModel: e })}\r\n Value={this.state.TradeModel}\r\n Label=\"Trade Model\"\r\n Style={{ width: '200px' }}\r\n />\r\n
\r\n
\r\n this.setState({ TradeBoatingExperience: e })}\r\n Value={this.state.TradeBoatingExperience}\r\n Label=\"Boating Experience (last two boats owned)\"\r\n Style={{ width: '300px' }}\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 this.save();\r\n }}>\r\n Next\r\n \r\n
\r\n
\r\n
\r\n );\r\n }\r\n}","import React, { Component } from 'react';\r\nimport { _fetch } from './_fetch';\r\nimport { Spinner } from 'reactstrap';\r\nimport TextInput from './TextInput';\r\nimport { customFunctions } from './CustomFunctions.js';\r\nimport Popup from './modal';\r\nimport Toast from './toast.js';\r\nimport { format } from 'date-fns';\r\n\r\n\r\nexport class LoanApplicationStep2 extends Component {\r\n static displayName = LoanApplicationStep2.name;\r\n constructor(props) {\r\n super(props);\r\n\r\n this.state = {\r\n loading: false,\r\n countries: [],\r\n states: [],\r\n showModal: false,\r\n showToast: false,\r\n toastMessage: '',\r\n toastItems: [],\r\n ContinueToken: '',\r\n emailValid: false\r\n }\r\n }\r\n\r\n componentDidMount() {\r\n try {\r\n var id = localStorage.getItem(\"CONTINUE_TOKEN\");\r\n\r\n if (id != null) this.setState({ ContinueToken: id });\r\n\r\n var fetch = _fetch();\r\n fetch.get(\"/creditapplicationpublic/getcountriesPublic\")\r\n .then((data) => {\r\n this.setState({ countries: data });\r\n });\r\n\r\n fetch.get(\"/creditapplicationpublic/getstatesPublic\")\r\n .then((data) => {\r\n this.setState({ states: data, loading: false });\r\n if (id != null) this.loadPage(id);\r\n });\r\n }\r\n catch (err) {\r\n this.setState({ loading: false });\r\n console.log('componentDidMount - ' + err);\r\n }\r\n }\r\n\r\n loadPage(id) {\r\n try {\r\n this.setState({ loading: true });\r\n var fetch = _fetch();\r\n fetch.get(\"/creditapplicationpublic/GetCreditApplicationStep2Public?id=\" + id)\r\n .then((data) => {\r\n var _state = this.state;\r\n for (const key in data) {\r\n if (data[key] != null) {\r\n var _key = key.charAt(0).toUpperCase() + key.slice(1);\r\n var _value = data[key];\r\n _state[_key] = _value;\r\n }\r\n }\r\n this.setState(_state, function () {\r\n this.calculateTotal();\r\n this.setState({ loading: false });\r\n this.setState({ emailValid: customFunctions.validateEmail(this.state.BorrowerEmail ?? \"\") });\r\n this.setState({\r\n BorrowerDOB: this.sqlToJsDate(this.state.BorrowerDOB),\r\n BorrowerSignatureDate: this.sqlToJsDate(this.state.BorrowerSignatureDate)\r\n });\r\n });\r\n });\r\n }\r\n catch (err) {\r\n this.setState({ loading: false });\r\n console.log('loadPage - ' + err);\r\n }\r\n }\r\n\r\n calculateTotal() {\r\n var s = this.state;\r\n var borrowerIncomeWages = this.zeroOrValue(s.BorrowerIncomeWages);\r\n var borrowerIncomeDistributions = this.zeroOrValue(s.BorrowerIncomeDistributions);\r\n var borrowerIncomeRentalIncome = this.zeroOrValue(s.BorrowerIncomeRentalIncome);\r\n var borrowerIncomePension = this.zeroOrValue(s.BorrowerIncomePension);\r\n var borrowerIncomeOther = this.zeroOrValue(s.BorrowerIncomeOther);\r\n\r\n var borrowerIncomeTotal = borrowerIncomeWages + borrowerIncomeDistributions + borrowerIncomeRentalIncome + borrowerIncomePension + borrowerIncomeOther;\r\n\r\n var totalRaw = this.formatCurrency(borrowerIncomeTotal);\r\n\r\n if (totalRaw && totalRaw.startsWith('$') && !totalRaw.includes('.')) {\r\n totalRaw = totalRaw + '.00';\r\n }\r\n else if (totalRaw.startsWith('$') && totalRaw.includes('.')) {\r\n var spl = totalRaw.split(\".\");\r\n if (spl[1].length == 0) {\r\n totalRaw = totalRaw + '00';\r\n }\r\n\r\n if (spl[1].length == 1) {\r\n totalRaw = totalRaw + '0';\r\n }\r\n }\r\n\r\n this.setState({ BorrowerIncomeTotal: totalRaw });\r\n }\r\n\r\n zeroOrValue(value) {\r\n if (value == undefined || value == 0 || value == null) return 0;\r\n //if (isNaN(value)) {\r\n // value = value.toString().substring(1, value.toString().lenth - 1);\r\n //}\r\n var _value = value?.toString().replace(/,/g, '').replace('$', '');\r\n\r\n if (_value.length > 0) {\r\n\r\n var result = (isNaN(_value) || _value == undefined) ? 0 : parseFloat(_value);\r\n return result;\r\n }\r\n else {\r\n return 0;\r\n }\r\n }\r\n\r\n formatCurrency(value) {\r\n if (value == undefined) return \"\";\r\n var _values = value.toString().replace(/,/g, '').replace('$', '');\r\n\r\n var dec = \"\";\r\n var _value = \"\";\r\n\r\n var elements = _values.split('.');\r\n if (elements?.length == 1) {\r\n _value = _values.split('.')[0];\r\n }\r\n else if (elements?.length > 1) {\r\n _value = _values.split('.')[0];\r\n dec = \".\" + _values.split('.')[1].substring(0, 2);\r\n }\r\n else {\r\n _value = _values;\r\n }\r\n if (_value.length > 0) {\r\n return new Intl.NumberFormat(undefined, {\r\n style: 'currency',\r\n currency: 'USD',\r\n maximumFractionDigits: 0,\r\n minimumFractionDigits: 0,\r\n }).format(_value) + dec;\r\n }\r\n }\r\n\r\n save(url) {\r\n try {\r\n var item = [];\r\n\r\n if (url == undefined) {\r\n if (this.state.BorrowerFirstName == undefined || this.state.BorrowerFirstName?.length == 0) {\r\n item.push(\"First Name\");\r\n }\r\n if (this.state.BorrowerLastName == undefined || this.state.BorrowerLastName?.length == 0) {\r\n item.push(\"Last Name\");\r\n }\r\n if (this.state.BorrowerSSN == undefined || this.state.BorrowerSSN?.length == 0) {\r\n item.push(\"SSN\");\r\n }\r\n if (this.state.BorrowerSSN?.length < 11) {\r\n item.push(\"SSN\");\r\n }\r\n if (this.state.BorrowerDOB == undefined || this.state.BorrowerDOB?.length == 0) {\r\n item.push(\"Date of Birth\");\r\n }\r\n if (this.state.BorrowerUSCitizen === undefined) {\r\n item.push(\"US Citizen\");\r\n }\r\n if (this.state.BorrowerUSCitizen !== undefined &&\r\n this.state.BorrowerUSCitizen === \"No\" &&\r\n (this.state.BorrowerUSCitizenCountry === undefined || this.state.BorrowerUSCitizenCountry === 0)) {\r\n item.push(\"Non US Citizen Country\");\r\n }\r\n if ((this.state.BorrowerCellPhone === undefined || this.state.BorrowerCellPhone?.length === 0) &&\r\n (this.state.BorrowerOtherPhone === undefined || this.state.BorrowerOtherPhone?.length === 0)) {\r\n item.push(\"Cell Phone or Other Phone\");\r\n }\r\n if ((this.state.BorrowerCellPhone?.length < 10 && this.state.BorrowerCellPhone?.length > 0) ||\r\n (this.state.BorrowerOtherPhone?.length < 10 && this.state.BorrowerOtherPhone?.length > 0)) {\r\n item.push(\"Cell Phone or Other Phone\");\r\n }\r\n if (this.state.BorrowerEmail == undefined || this.state.BorrowerEmail?.length == 0) {\r\n item.push(\"Email\");\r\n }\r\n if (!this.state.emailValid) {\r\n item.push(\"Email\");\r\n }\r\n if (localStorage.getItem(\"APP_TYPE\") != null && localStorage.getItem(\"APP_TYPE\") == \"Individual\" && (this.state.BorrowerSignature == undefined || this.state.BorrowerSignature.length == 0)) {\r\n item.push(\"Signature\");\r\n }\r\n if (localStorage.getItem(\"APP_TYPE\") != null && localStorage.getItem(\"APP_TYPE\") == \"Individual\" && (this.state.BorrowerSignatureDate == undefined || this.state.BorrowerSignatureDate.length == 0)) {\r\n item.push(\"Signature Date\");\r\n }\r\n }\r\n\r\n if (item.length == 0) {\r\n this.setState({ loading: true });\r\n var fetch = _fetch();\r\n this.setState({\r\n BorrowerDOB: this.state.BorrowerDOB === undefined || this.state.BorrowerDOB == \"\" ? null : format(new Date(this.state.BorrowerDOB.replace(/-/g, '/')), \"yyyy-MM-dd\"),\r\n BorrowerSignatureDate: this.state.BorrowerSignatureDate === undefined || this.state.BorrowerSignatureDate == \"\" ? null : format(new Date(this.state.BorrowerSignatureDate.replace(/-/g, '/')), \"yyyy-MM-dd\")\r\n },\r\n function () {\r\n fetch.post(\"/creditapplicationPublic/SaveCreditApplicationStep2Public\", this.state)\r\n .then((id) => {\r\n if (id) {\r\n if (url == undefined) {\r\n this.setState({ loading: false, LastStep: \"2\" });\r\n if (localStorage.getItem(\"APP_TYPE\") != null && localStorage.getItem(\"APP_TYPE\") == \"Individual\") {\r\n this.setState({ showModal: true });\r\n }\r\n else {\r\n window.location.href = '/LoanApplicationStep3';\r\n }\r\n }\r\n else {\r\n window.location.href = url;\r\n }\r\n }\r\n else {\r\n this.setState({\r\n showToast: true,\r\n toastMessage: 'There was an issue saving your information. Please try again',\r\n loading: false\r\n });\r\n }\r\n });\r\n });\r\n }\r\n else {\r\n this.setState({\r\n showToast: true,\r\n toastMessage: 'The following fields are required:',\r\n toastItems: item\r\n });\r\n setTimeout(function () { document.getElementById(\"maincontainer\").scrollTo({ top: 0, behavior: 'smooth' }); }, 250);\r\n }\r\n }\r\n catch (err) {\r\n this.setState({ loading: false });\r\n console.log('save - ' + err);\r\n }\r\n }\r\n\r\n sqlToJsDate(sqlDate) {\r\n if (sqlDate == \"\" || sqlDate === undefined) return sqlDate;\r\n\r\n var dateParts = sqlDate.split(\"T\");\r\n return dateParts[0];\r\n }\r\n\r\n lastNameOnBlur() {\r\n let s = this.state;\r\n var f = s.BorrowerFirstName == undefined ? \"\" : s.BorrowerFirstName.toString() + \" \";\r\n var m = s.BorrowerMiddleInitial == undefined ? \"\" : s.BorrowerMiddleInitial.toString() + \" \";\r\n var l = s.BorrowerLastName == undefined ? \"\" : s.BorrowerLastName?.toString();\r\n var sig = f + m + l;\r\n\r\n sessionStorage.setItem(\"BorrowerSignature\", sig);\r\n }\r\n\r\n render() {\r\n return (\r\n
\r\n this.setState({ showToast: false })}\r\n autoHideToastDelay={10000}\r\n />\r\n
\r\n {this.state.loading === true ?\r\n
\r\n \r\n
\r\n : null\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 this.setState({ BorrowerFirstName: e }, function () {\r\n this.lastNameOnBlur();\r\n });\r\n }}\r\n Value={this.state.BorrowerFirstName ?? \"\"}\r\n Style={{ width: '175px' }}\r\n />\r\n \r\n {\r\n this.setState({ BorrowerMiddleInitial: e }, function () {\r\n this.lastNameOnBlur();\r\n });\r\n }}\r\n Value={this.state.BorrowerMiddleInitial ?? \"\"}\r\n Style={{ width: '60px' }}\r\n />\r\n \r\n {\r\n this.setState({ BorrowerLastName: e }, function () {\r\n this.lastNameOnBlur();\r\n });\r\n }}\r\n Value={this.state.BorrowerLastName ?? \"\"}\r\n Style={{ width: '175px' }}\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 var formattedSSN = e;\r\n this.setState({ BorrowerSSN: formattedSSN });\r\n }}\r\n Value={this.state.BorrowerSSN ?? \"\"}\r\n Style={{ width: '175px' }}\r\n />\r\n \r\n {\r\n this.setState({ BorrowerDOB: e });\r\n }}\r\n Value={this.state.BorrowerDOB != undefined ? this.sqlToJsDate(this.state.BorrowerDOB) : \"\"}\r\n Style={{ width: '120px' }}\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
\r\n US Citizen?\r\n \r\n
\r\n {\r\n this.setState({ BorrowerUSCitizen: e.target.checked ? \"Yes\" : \"No\" });\r\n }}\r\n checked={this.state.BorrowerUSCitizen === \"Yes\"}\r\n >\r\n \r\n {\r\n this.setState({ BorrowerUSCitizen: e.target.checked ? \"No\" : \"Yes\" });\r\n }}\r\n checked={this.state.BorrowerUSCitizen === \"No\"}\r\n >\r\n \r\n {this.state.BorrowerUSCitizen === \"No\" ?\r\n {\r\n this.setState({ BorrowerUSCitizenCountry: e.target.value })\r\n }}\r\n >\r\n \r\n {this.state.countries.map((item, idx) =>\r\n \r\n )}\r\n \r\n : null}\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 var formattedPhone = customFunctions.formatPhoneNumber(e);\r\n this.setState({ BorrowerCellPhone: formattedPhone });\r\n }}\r\n Value={customFunctions.formatPhoneNumber(this.state.BorrowerCellPhone) ?? \"\"}\r\n Style={{ width: '175px' }}\r\n />\r\n \r\n {\r\n var formattedPhone = customFunctions.formatPhoneNumber(e);\r\n this.setState({ BorrowerOtherPhone: formattedPhone });\r\n }}\r\n Value={customFunctions.formatPhoneNumber(this.state.BorrowerOtherPhone) ?? \"\"}\r\n Style={{ width: '175px' }}\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 this.setState({ emailValid: customFunctions.validateEmail(e) });\r\n this.setState({ BorrowerEmail: e });\r\n }}\r\n Value={this.state.BorrowerEmail ?? \"\"}\r\n Style={{ width: '300px' }}\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 Current Residence\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 this.setState({ BorrowerCurrentAddress: e });\r\n }}\r\n Value={this.state.BorrowerCurrentAddress ?? \"\"}\r\n Style={{ width: '257px' }}\r\n />\r\n
\r\n {\r\n this.setState({ BorrowerCurrentCity: e });\r\n }}\r\n Value={this.state.BorrowerCurrentCity ?? \"\"}\r\n Style={{ width: '130px' }}\r\n />\r\n \r\n {\r\n this.setState({ BorrowerCurrentStateId: e.target.value })\r\n }}\r\n >\r\n \r\n {this.state.states.map((item, idx) =>\r\n \r\n )}\r\n \r\n \r\n {\r\n this.setState({ BorrowerCurrentZip: e });\r\n }}\r\n Value={this.state.BorrowerCurrentZip ?? \"\"}\r\n Style={{ width: '60px' }}\r\n />\r\n
\r\n {\r\n this.setState({ BorrowerCurrentYears: e });\r\n }}\r\n Value={this.state.BorrowerCurrentYears ?? \"\"}\r\n Style={{ width: '60px' }}\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 Previous Residence\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 this.setState({ BorrowerPreviousAddress: e });\r\n }}\r\n Value={this.state.BorrowerPreviousAddress ?? \"\"}\r\n Style={{ width: '257px' }}\r\n />\r\n
\r\n {\r\n this.setState({ BorrowerPreviousCity: e });\r\n }}\r\n Value={this.state.BorrowerPreviousCity ?? \"\"}\r\n Style={{ width: '130px' }}\r\n />\r\n \r\n {\r\n this.setState({ BorrowerPreviousStateId: e.target.value })\r\n }}\r\n >\r\n \r\n {this.state.states.map((item, idx) =>\r\n \r\n )}\r\n \r\n \r\n {\r\n this.setState({ BorrowerPreviousZip: e });\r\n }}\r\n Value={this.state.BorrowerPreviousZip ?? \"\"}\r\n Style={{ width: '60px' }}\r\n />\r\n
\r\n {\r\n this.setState({ BorrowerPreviousYears: e });\r\n }}\r\n Value={this.state.BorrowerPreviousYears ?? \"\"}\r\n Style={{ width: '60px' }}\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 \r\n \r\n \r\n \r\n \r\n
\r\n Own or Rent?\r\n \r\n
\r\n {\r\n this.setState({ BorrowerCurrentOwnOrRent: e.target.checked ? \"Own\" : \"Rent\" });\r\n }}\r\n checked={this.state.BorrowerCurrentOwnOrRent === \"Own\"}\r\n >\r\n \r\n {\r\n this.setState({ BorrowerCurrentOwnOrRent: e.target.checked ? \"Rent\" : \"Own\" });\r\n }}\r\n checked={this.state.BorrowerCurrentOwnOrRent === \"Rent\"}\r\n >\r\n \r\n
\r\n
\r\n
\r\n
\r\n {\r\n this.setState({ BorrowerCurrentMortgageRent: e });\r\n }}\r\n Value={this.formatCurrency(this.state.BorrowerCurrentMortgageRent) ?? \"\"}\r\n Style={{ width: '170px' }}\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 \r\n \r\n \r\n \r\n \r\n
\r\n Employment\r\n
\r\n {\r\n this.setState({ BorrowerCurrentEmployerName: e });\r\n }}\r\n Value={this.state.BorrowerCurrentEmployerName ?? \"\"}\r\n Style={{ width: '257px' }}\r\n />\r\n
\r\n {\r\n this.setState({ BorrowerCurrentEmployerType: e });\r\n }}\r\n Value={this.state.BorrowerCurrentEmployerType ?? \"\"}\r\n Style={{ width: '257px' }}\r\n />\r\n
\r\n {\r\n this.setState({ BorrowerCurrentEmployerPosition: e });\r\n }}\r\n Value={this.state.BorrowerCurrentEmployerPosition ?? \"\"}\r\n Style={{ width: '257px' }}\r\n />\r\n
\r\n {\r\n this.setState({ BorrowerCurrentEmployerYears: e });\r\n }}\r\n Value={this.state.BorrowerCurrentEmployerYears ?? \"\"}\r\n Style={{ width: '60px' }}\r\n />\r\n
\r\n {\r\n this.setState({ BorrowerCurrentEmployerAddress: e });\r\n }}\r\n Value={this.state.BorrowerCurrentEmployerAddress ?? \"\"}\r\n Style={{ width: '257px' }}\r\n />\r\n
\r\n {\r\n this.setState({ BorrowerCurrentEmployerCity: e });\r\n }}\r\n Value={this.state.BorrowerCurrentEmployerCity ?? \"\"}\r\n Style={{ width: '130px' }}\r\n />\r\n \r\n {\r\n this.setState({ BorrowerCurrentEmployerStateId: e.target.value })\r\n }}\r\n >\r\n \r\n {this.state.states.map((item, idx) =>\r\n \r\n )}\r\n \r\n \r\n {\r\n this.setState({ BorrowerCurrentEmployerZip: e });\r\n }}\r\n Value={this.state.BorrowerCurrentEmployerZip ?? \"\"}\r\n Style={{ width: '60px' }}\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 Previous Employment\r\n
\r\n {\r\n this.setState({ BorrowerPreviousEmployerName: e });\r\n }}\r\n Value={this.state.BorrowerPreviousEmployerName ?? \"\"}\r\n Style={{ width: '257px' }}\r\n />\r\n
\r\n {\r\n this.setState({ BorrowerPreviousEmployerType: e });\r\n }}\r\n Value={this.state.BorrowerPreviousEmployerType ?? \"\"}\r\n Style={{ width: '257px' }}\r\n />\r\n
\r\n {\r\n this.setState({ BorrowerPreviousEmployerPosition: e });\r\n }}\r\n Value={this.state.BorrowerPreviousEmployerPosition ?? \"\"}\r\n Style={{ width: '257px' }}\r\n />\r\n
\r\n {\r\n this.setState({ BorrowerPreviousEmployerYears: e });\r\n }}\r\n Value={this.state.BorrowerPreviousEmployerYears ?? \"\"}\r\n Style={{ width: '60px' }}\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 Annual Income\r\n
\r\n {\r\n this.setState({ BorrowerIncomeWages: e }, function () { this.calculateTotal(); });\r\n }}\r\n Value={this.formatCurrency(this.state.BorrowerIncomeWages ?? \"\")}\r\n Style={{ width: '100px' }}\r\n />\r\n \r\n {\r\n this.setState({ BorrowerIncomeDistributions: e }, function () { this.calculateTotal(); });\r\n }}\r\n Value={this.formatCurrency(this.state.BorrowerIncomeDistributions ?? \"\")}\r\n Style={{ width: '100px' }}\r\n />\r\n \r\n {\r\n this.setState({ BorrowerIncomeRentalIncome: e }, function () { this.calculateTotal(); });\r\n }}\r\n Value={this.formatCurrency(this.state.BorrowerIncomeRentalIncome ?? \"\")}\r\n Style={{ width: '100px' }}\r\n />\r\n \r\n {\r\n this.setState({ BorrowerIncomePension: e }, function () { this.calculateTotal(); });\r\n }}\r\n Value={this.formatCurrency(this.state.BorrowerIncomePension ?? \"\")}\r\n Style={{ width: '100px' }}\r\n />\r\n \r\n {\r\n this.setState({ BorrowerIncomeOther: e }, function () { this.calculateTotal(); });\r\n }}\r\n Value={this.formatCurrency(this.state.BorrowerIncomeOther ?? \"\")}\r\n Style={{ width: '100px' }}\r\n />\r\n \r\n {\r\n this.setState({ BorrowerIncomeTotal: e }, function () { this.calculateTotal(); });\r\n }}\r\n Value={this.formatCurrency(this.state.BorrowerIncomeTotal ?? \"\")}\r\n Style={{ width: '100px' }}\r\n Disabled={true}\r\n />\r\n
\r\n {localStorage.getItem(\"APP_TYPE\") != null && localStorage.getItem(\"APP_TYPE\") == \"Individual\" ?\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 I authorize Fairwind Financial Corporation, its Assigns and/or their Lender(s) to obtain information, including credit inquiries/reports, employment history and any other information necessary to evaluate credit. The applicant and/or co-applicant may ask whether Fairwind Financial Corporation obtained such a report. If such a report has been obtained, the applicant and/or the co-applicant may request the name and address of the reporting agency that provided the report. This application shall remain the property of Fairwind Financial Corporation, its Assigns and/or Lender(s), whether or not said credit is granted.

\r\n Income derived from alimony, child support or other maintenance payments need not be disclosed when applying for credit.

\r\n All the statements I have made are true, correct and complete, I understand you will rely upon their accuracy when determining whether or not said credit is granted.

\r\n PATRIOT ACT NOTICE: To help the government fight the funding of terrorism and money laundering activities, Federal Law requires all financial institutions to obtain, verify and record information that identifies each person who opens an account. For purposes of this section, account shall be understood to include loan accounts.

\r\n You agree as follows: On each phone number that you provide to us on this application, whether cell phone or landline, you consent to us, our assigns, lenders and agents, of any of us contacting you at the number by calling, texting or any other electronic communication from time to time for any reason about your accounts, including but not limited to, for collection and payment purposes. You agree that automated dialing, equipment or pre-recorded voice message maybe used for any of those purposes.

\r\n If this is an application for joint credit with another person, complete all sections of page 2, by providing information in the Co-Borrower section, and by initialing below, you confirm your intent to apply for joint credit.

\r\n By completing and submitting this elctronic application, I consent to conduct business electronically with Fairwind Financial Corporation, and that this electroinc communiction will have the same legal capacity as any written and/or sign paper application or communication. In addition, your signature below confirms your consent to receive all the disclosures noted on the application electronically. If you wish to receive a paper copy of the Disclosures, you can do so my requesting a copy from info@fairwindfinancial.com

\r\n
\r\n
\r\n
\r\n {\r\n this.setState({ AcknowledgeDisclosuresAndDigitalSignature: !this.state.AcknowledgeDisclosuresAndDigitalSignature })\r\n }}\r\n style={{ marginRight: '5px' }}\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 this.setState({ BorrowerSignature: e });\r\n }}\r\n Value={this.state.BorrowerSignature ?? \"\"}\r\n Style={{ width: '257px', fontFamily: 'Imperial Script', fontSize: '18px' }}\r\n />\r\n \r\n {\r\n this.setState({ BorrowerSignatureDate: e });\r\n }}\r\n Value={this.state.BorrowerSignatureDate !== undefined && this.state.BorrowerSignatureDate !== null ? this.sqlToJsDate(this.state.BorrowerSignatureDate) : this.setState({ BorrowerSignatureDate: customFunctions.formatDateOrTimeForInput(new Date().toLocaleDateString('en-CA'), 'date') })}\r\n Style={{ width: '7vw' }}\r\n />\r\n
\r\n
\r\n : null}\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n {\r\n this.save(\"/LoanApplicationStep1\");\r\n }}\r\n >Back\r\n \r\n \r\n {sessionStorage.getItem(\"USER_SESSION\") != null && sessionStorage.getItem(\"USER_SESSION\") == \"true\" ?\r\n {\r\n this.save();\r\n }}\r\n >Next\r\n \r\n :\r\n localStorage.getItem(\"APP_TYPE\") != null && localStorage.getItem(\"APP_TYPE\") == \"Individual\" ?\r\n {\r\n this.save();\r\n }}\r\n >Submit Application\r\n :\r\n {\r\n this.save();\r\n }}\r\n >Next\r\n \r\n }\r\n
\r\n
\r\n \r\n
\r\n )\r\n }\r\n\r\n handleButton1Click() {\r\n window.location.href = \"/ApplicantPersonalFinancialStatement\";\r\n }\r\n\r\n handleButton2Click() {\r\n window.location.href = \"/LoanApplicationReceived\";\r\n }\r\n}","import React, { Component } from 'react';\r\nimport { _fetch } from './_fetch';\r\nimport { Spinner } from 'reactstrap';\r\nimport TextInput from './TextInput';\r\nimport { customFunctions } from './CustomFunctions.js';\r\nimport Popup from './modal';\r\nimport Toast from './toast.js';\r\nimport { format } from 'date-fns';\r\n\r\nexport class LoanApplicationStep3 extends Component {\r\n static displayName = LoanApplicationStep3.name;\r\n constructor(props) {\r\n super(props);\r\n\r\n this.state = {\r\n loading: false,\r\n countries: [],\r\n states: [],\r\n showModal: false,\r\n ButtonText: 'Next',\r\n ContinueToken: '',\r\n emailValid: false\r\n }\r\n }\r\n\r\n componentDidMount() {\r\n try {\r\n var id = localStorage.getItem(\"CONTINUE_TOKEN\");\r\n\r\n this.setState({ loading: true });\r\n\r\n if (id != null) this.setState({ ContinueToken: id });\r\n\r\n var fetch = _fetch();\r\n\r\n fetch.get(\"/creditapplicationpublic/getcountriesPublic\")\r\n .then((data) => {\r\n this.setState({ countries: data });\r\n });\r\n\r\n fetch.get(\"/creditapplicationpublic/getstatesPublic\")\r\n .then((data) => {\r\n this.setState({ states: data, loading: false });\r\n if (id != null) this.loadPage(id);\r\n });\r\n }\r\n catch (err) {\r\n this.setState({ loading: false });\r\n console.log('componentDidMount - ' + err);\r\n }\r\n }\r\n\r\n loadPage(id) {\r\n try {\r\n this.setState({ loading: true });\r\n var fetch = _fetch();\r\n fetch.get(\"/creditapplicationpublic/GetCreditApplicationStep3Public?id=\" + id)\r\n .then((data) => {\r\n var _state = this.state;\r\n for (const key in data) {\r\n if (data[key] != null) {\r\n var _key = key.charAt(0).toUpperCase() + key.slice(1);\r\n var _value = data[key];\r\n _state[_key] = _value;\r\n }\r\n }\r\n this.setState(_state,\r\n function () {\r\n this.setState({ loading: false });\r\n this.calculateTotal();\r\n this.setState({ emailValid: customFunctions.validateEmail(this.state.CoBorrowerEmail ?? \"\") });\r\n this.setState({\r\n CoBorrowerDOB: this.sqlToJsDate(this.state.CoBorrowerDOB),\r\n BorrowerSignatureDate: this.sqlToJsDate(this.state.BorrowerSignatureDate),\r\n CoBorrowerSignatureDate: this.sqlToJsDate(this.state.CoBorrowerSignatureDate)\r\n });\r\n });\r\n });\r\n }\r\n catch (err) {\r\n this.setState({ loading: false });\r\n console.log('loadPage - ' + err);\r\n }\r\n }\r\n\r\n calculateTotal() {\r\n var s = this.state;\r\n var coBorrowerIncomeWages = this.zeroOrValue(s.CoBorrowerIncomeWages);\r\n var coBorrowerIncomeDistributions = this.zeroOrValue(s.CoBorrowerIncomeDistributions);\r\n var coBorrowerIncomeRentalIncome = this.zeroOrValue(s.CoBorrowerIncomeRentalIncome);\r\n var coBorrowerIncomePension = this.zeroOrValue(s.CoBorrowerIncomePension);\r\n var coBorrowerIncomeOther = this.zeroOrValue(s.CoBorrowerIncomeOther);\r\n\r\n var coBorrowerIncomeTotal = coBorrowerIncomeWages + coBorrowerIncomeDistributions + coBorrowerIncomeRentalIncome + coBorrowerIncomePension + coBorrowerIncomeOther;\r\n\r\n var totalRaw = this.formatCurrency(coBorrowerIncomeTotal);\r\n\r\n if (totalRaw && totalRaw.startsWith('$') && !totalRaw.includes('.')) {\r\n totalRaw = totalRaw + '.00';\r\n }\r\n else if (totalRaw.startsWith('$') && totalRaw.includes('.')) {\r\n var spl = totalRaw.split(\".\");\r\n if (spl[1].length == 0) {\r\n totalRaw = totalRaw + '00';\r\n }\r\n\r\n if (spl[1].length == 1) {\r\n totalRaw = totalRaw + '0';\r\n }\r\n }\r\n this.setState({ CoBorrowerIncomeTotal: totalRaw });\r\n }\r\n\r\n zeroOrValue(value) {\r\n if (value == undefined || value == 0 || value == null) return 0;\r\n //if (isNaN(value)) {\r\n // value = value.toString().substring(1, value.toString().lenth - 1);\r\n //}\r\n var _value = value?.toString().replace(/,/g, '').replace('$', '');\r\n\r\n if (_value.length > 0) {\r\n\r\n var result = (isNaN(_value) || _value == undefined) ? 0 : parseFloat(_value);\r\n return result;\r\n }\r\n else {\r\n return 0;\r\n }\r\n }\r\n\r\n formatCurrency(value) {\r\n if (value == undefined) return \"\";\r\n var _values = value.toString().replace(/,/g, '').replace('$', '');\r\n\r\n var dec = \"\";\r\n var _value = \"\";\r\n\r\n var elements = _values.split('.');\r\n if (elements?.length == 1) {\r\n _value = _values.split('.')[0];\r\n }\r\n else if (elements?.length > 1) {\r\n _value = _values.split('.')[0];\r\n dec = \".\" + _values.split('.')[1].substring(0, 2);\r\n }\r\n else {\r\n _value = _values;\r\n }\r\n if (_value.length > 0) {\r\n return new Intl.NumberFormat(undefined, {\r\n style: 'currency',\r\n currency: 'USD',\r\n maximumFractionDigits: 0,\r\n minimumFractionDigits: 0,\r\n }).format(_value) + dec;\r\n }\r\n }\r\n\r\n save(url) {\r\n try {\r\n var item = [];\r\n\r\n if (url === undefined) {\r\n if (this.state.CoBorrowerFirstName == undefined || this.state.CoBorrowerFirstName?.length == 0) {\r\n item.push(\"First Name\");\r\n }\r\n if (this.state.CoBorrowerLastName == undefined || this.state.CoBorrowerLastName?.length == 0) {\r\n item.push(\"Last Name\");\r\n }\r\n if (this.state.CoBorrowerSSN == undefined || this.state.CoBorrowerSSN?.length == 0) {\r\n item.push(\"SSN\");\r\n }\r\n if (this.state.CoBorrowerSSN?.length < 11) {\r\n item.push(\"SSN\");\r\n }\r\n if (this.state.CoBorrowerDOB == undefined || this.state.CoBorrowerDOB?.length == 0) {\r\n item.push(\"Date of Birth\");\r\n }\r\n if (this.state.CoBorrowerUSCitizen === undefined) {\r\n item.push(\"US Citizen\");\r\n }\r\n if (this.state.CoBorrowerUSCitizen !== undefined && this.state.CoBorrowerUSCitizen === \"No\" && this.state.CoBorrowerUSCitizenCountry === 0) {\r\n item.push(\"Non US Citizen Country\");\r\n }\r\n if ((this.state.CoBorrowerCellPhone === undefined || this.state.CoBorrowerCellPhone?.length === 0) &&\r\n (this.state.CoBorrowerOtherPhone === undefined || this.state.CoBorrowerOtherPhone?.length === 0)) {\r\n item.push(\"Cell Phone or Other Phone\");\r\n }\r\n if ((this.state.CoBorrowerCellPhone?.length < 10 && this.state.CoBorrowerCellPhone?.length > 0) ||\r\n (this.state.CoBorrowerOtherPhone?.length < 10 && this.state.CoBorrowerOtherPhone?.length > 0)) {\r\n item.push(\"Cell Phone or Other Phone\");\r\n }\r\n if (this.state.CoBorrowerEmail == undefined || this.state.CoBorrowerEmail?.length == 0) {\r\n item.push(\"Email\");\r\n }\r\n if (!this.state.emailValid) {\r\n item.push(\"Email\");\r\n }\r\n if (this.state.BorrowerSignature == undefined || this.state.BorrowerSignature?.length == 0) {\r\n item.push(\"Borrower Signature\");\r\n }\r\n if (this.state.BorrowerSignatureDate == undefined || this.state.BorrowerSignatureDate?.length == 0) {\r\n item.push(\"Borrower Signature Date\");\r\n }\r\n if (this.state.CoBorrowerSignature == undefined || this.state.CoBorrowerSignature?.length == 0) {\r\n item.push(\"CoBorrower Signature\");\r\n }\r\n if (this.state.CoBorrowerSignatureDate == undefined || this.state.CoBorrowerSignatureDate?.length == 0) {\r\n item.push(\"CoBorrower Signature Date\");\r\n }\r\n }\r\n if (item.length == 0) {\r\n this.setState({ loading: true });\r\n var fetch = _fetch();\r\n this.setState({\r\n CoBorrowerDOB: this.state.CoBorrowerDOB === undefined || this.state.CoBorrowerDOB == \"\" ? null : format(new Date(this.state.CoBorrowerDOB.replace(/-/g, '/')), \"yyyy-MM-dd\"),\r\n BorrowerSignatureDate: this.state.BorrowerSignatureDate === undefined || this.state.BorrowerSignatureDate == \"\" ? null : format(new Date(this.state.BorrowerSignatureDate.replace(/-/g, '/')), \"yyyy-MM-dd\"),\r\n CoBorrowerSignatureDate: this.state.CoBorrowerSignatureDate === undefined || this.state.CoBorrowerSignatureDate == \"\" ? null : format(new Date(this.state.CoBorrowerSignatureDate.replace(/-/g, '/')), \"yyyy-MM-dd\")\r\n },\r\n function () {\r\n fetch.post(\"/creditapplicationpublic/SaveCreditApplicationStep3Public\", this.state)\r\n .then((id) => {\r\n if (id) {\r\n if (url === undefined) {\r\n this.setState({ loading: false });\r\n this.setState({ showModal: true });\r\n }\r\n else {\r\n window.location.href = url;\r\n }\r\n }\r\n else {\r\n this.setState({\r\n showToast: true,\r\n toastMessage: 'There was an issue saving your information. Please try again',\r\n loading: false\r\n });\r\n }\r\n })\r\n });\r\n }\r\n else {\r\n this.setState({\r\n showToast: true,\r\n toastMessage: 'The following fields are required:',\r\n toastItems: item\r\n });\r\n setTimeout(function () { document.getElementById(\"maincontainer\").scrollTo({ top: 0, behavior: 'smooth' }); }, 250);\r\n }\r\n }\r\n catch (err) {\r\n this.setState({ loading: false });\r\n console.log('save - ' + err);\r\n }\r\n }\r\n\r\n sqlToJsDate(sqlDate) {\r\n if (sqlDate == \"\" || sqlDate === undefined) return sqlDate;\r\n\r\n var dateParts = sqlDate.split(\"T\");\r\n return dateParts[0];\r\n }\r\n\r\n lastNameOnBlur() {\r\n let s = this.state;\r\n var f = s.CoBorrowerFirstName == undefined ? \"\" : s.CoBorrowerFirstName.toString() + \" \";\r\n var m = s.CoBorrowerMiddleInitial == undefined ? \"\" : s.CoBorrowerMiddleInitial.toString() + \" \";\r\n var l = s.CoBorrowerLastName == undefined ? \"\" : s.CoBorrowerLastName?.toString();\r\n var sig = f + m + l;\r\n\r\n //this.setState({ CoBorrowerSignature: sig });\r\n sessionStorage.setItem(\"CoBorrowerSignature\", sig);\r\n }\r\n\r\n loadBorrowerAddress() {\r\n var id = localStorage.getItem(\"CONTINUE_TOKEN\");\r\n\r\n var fetch = _fetch();\r\n fetch.get(\"/creditapplicationpublic/GetCreditApplicationStep2Public?id=\" + id)\r\n .then((data) => {\r\n this.setState({\r\n CoBorrowerCurrentAddress: data.borrowerCurrentAddress,\r\n CoBorrowerCurrentCity: data.borrowerCurrentCity,\r\n CoBorrowerCurrentStateId: data.borrowerCurrentStateId,\r\n CoBorrowerCurrentZip: data.borrowerCurrentZip,\r\n CoBorrowerCurrentYears: data.borrowerCurrentYears\r\n\r\n });\r\n });\r\n }\r\n\r\n render() {\r\n return (\r\n
\r\n
\r\n {this.state.loading === true ?\r\n
\r\n \r\n
\r\n : null\r\n }\r\n this.setState({ showToast: false })}\r\n autoHideToastDelay={10000}\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 this.setState({ CoBorrowerFirstName: e },\r\n function () {\r\n this.lastNameOnBlur();\r\n });\r\n }}\r\n Value={this.state.CoBorrowerFirstName ?? \"\"}\r\n Style={{ width: '11vw' }}\r\n />\r\n \r\n {\r\n this.setState({ CoBorrowerMiddleInitial: e },\r\n function () {\r\n this.lastNameOnBlur();\r\n });\r\n }}\r\n Value={this.state.CoBorrowerMiddleInitial ?? \"\"}\r\n Style={{ width: '7vw' }}\r\n />\r\n \r\n {\r\n this.setState({ CoBorrowerLastName: e },\r\n function () {\r\n this.lastNameOnBlur();\r\n });\r\n }}\r\n Value={this.state.CoBorrowerLastName ?? \"\"}\r\n Style={{ width: '11vw' }}\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 var formattedSSN = customFunctions.formatSocialSecurity(e);\r\n this.setState({ CoBorrowerSSN: formattedSSN });\r\n }}\r\n Value={customFunctions.formatSocialSecurity(this.state.CoBorrowerSSN) ?? \"\"}\r\n Style={{ width: '11vw' }}\r\n />\r\n \r\n {\r\n this.setState({ CoBorrowerDOB: e });\r\n }}\r\n Value={this.state.CoBorrowerDOB != undefined ? this.sqlToJsDate(this.state.CoBorrowerDOB) : \"\"}\r\n Style={{ width: '7vw' }}\r\n />\r\n \r\n {\r\n this.setState({ RelationshipToApplicant: e });\r\n }}\r\n Value={this.state.RelationshipToApplicant ?? \"\"}\r\n Style={{ width: '11vw' }}\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 US citizen?\r\n \r\n
\r\n {\r\n this.setState({ CoBorrowerUSCitizen: e.target.checked ? \"Yes\" : \"No\" });\r\n }}\r\n checked={this.state.CoBorrowerUSCitizen === \"Yes\"}\r\n >\r\n \r\n {\r\n this.setState({ CoBorrowerUSCitizen: e.target.checked ? \"No\" : \"Yes\" });\r\n }}\r\n checked={this.state.CoBorrowerUSCitizen === \"No\"}\r\n >\r\n \r\n {this.state.CoBorrowerUSCitizen === \"No\" ?\r\n {\r\n this.setState({ CoBorrowerUSCitizenCountry: e.target.value })\r\n }}\r\n >\r\n \r\n {this.state.countries.map((item, idx) =>\r\n \r\n )}\r\n \r\n : null}\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 var formattedPhone = customFunctions.formatPhoneNumber(e);\r\n this.setState({ CoBorrowerCellPhone: formattedPhone });\r\n }}\r\n Value={customFunctions.formatPhoneNumber(this.state.CoBorrowerCellPhone) ?? \"\"}\r\n Style={{ width: '10vw' }}\r\n />\r\n \r\n {\r\n var formattedPhone = customFunctions.formatPhoneNumber(e);\r\n this.setState({ CoBorrowerOtherPhone: formattedPhone });\r\n }}\r\n Value={customFunctions.formatPhoneNumber(this.state.CoBorrowerOtherPhone) ?? \"\"}\r\n Style={{ width: '10vw' }}\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 this.setState({ emailValid: customFunctions.validateEmail(e) });\r\n this.setState({ CoBorrowerEmail: e });\r\n }}\r\n Value={this.state.CoBorrowerEmail ?? \"\"}\r\n Style={{ width: '20.2vw' }}\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 this.loadBorrowerAddress();\r\n }}\r\n disabled={this.state.loading}\r\n >\r\n Copy Borrower's Address\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 this.setState({ CoBorrowerCurrentAddress: e });\r\n }}\r\n Value={this.state.CoBorrowerCurrentAddress ?? \"\"}\r\n Style={{ width: '16vw' }}\r\n />\r\n
\r\n {\r\n this.setState({ CoBorrowerCurrentCity: e });\r\n }}\r\n Value={this.state.CoBorrowerCurrentCity ?? \"\"}\r\n Style={{ width: '5vw' }}\r\n />\r\n \r\n {\r\n this.setState({ CoBorrowerCurrentStateId: e.target.value })\r\n }}\r\n >\r\n \r\n {this.state.states.map((item, idx) =>\r\n \r\n )}\r\n \r\n \r\n {\r\n this.setState({ CoBorrowerCurrentZip: e });\r\n }}\r\n Value={this.state.CoBorrowerCurrentZip ?? \"\"}\r\n Style={{ width: '5vw' }}\r\n />\r\n
\r\n {\r\n this.setState({ CoBorrowerCurrentYears: e });\r\n }}\r\n Value={this.state.CoBorrowerCurrentYears ?? \"\"}\r\n Style={{ width: '5vw' }}\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 Previous Residence\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 this.setState({ CoBorrowerPreviousAddress: e });\r\n }}\r\n Value={this.state.CoBorrowerPreviousAddress ?? \"\"}\r\n Style={{ width: '16vw' }}\r\n />\r\n
\r\n {\r\n this.setState({ CoBorrowerPreviousCity: e });\r\n }}\r\n Value={this.state.CoBorrowerPreviousCity ?? \"\"}\r\n Style={{ width: '5vw' }}\r\n />\r\n \r\n {\r\n this.setState({ CoBorrowerPreviousStateId: e.target.value })\r\n }}\r\n >\r\n \r\n {this.state.states.map((item, idx) =>\r\n \r\n )}\r\n \r\n \r\n {\r\n this.setState({ CoBorrowerPreviousZip: e });\r\n }}\r\n Value={this.state.CoBorrowerPreviousZip ?? \"\"}\r\n Style={{ width: '5vw' }}\r\n />\r\n
\r\n {\r\n this.setState({ CoBorrowerPreviousYears: e });\r\n }}\r\n Value={this.state.CoBorrowerPreviousYears ?? \"\"}\r\n Style={{ width: '5vw' }}\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 \r\n \r\n \r\n \r\n \r\n
\r\n Own or Rent?\r\n \r\n
\r\n {\r\n this.setState({ CoBorrowerCurrentOwnOrRent: e.target.checked ? \"Own\" : \"Rent\" });\r\n }}\r\n checked={this.state.CoBorrowerCurrentOwnOrRent === \"Own\"}\r\n >\r\n \r\n {\r\n this.setState({ CoBorrowerCurrentOwnOrRent: e.target.checked ? \"Rent\" : \"Own\" });\r\n }}\r\n checked={this.state.CoBorrowerCurrentOwnOrRent === \"Rent\"}\r\n >\r\n \r\n
\r\n
\r\n
\r\n
\r\n {\r\n this.setState({ CoBorrowerCurrentMortgageRent: e });\r\n }}\r\n Value={this.formatCurrency(this.state.CoBorrowerCurrentMortgageRent) ?? \"\"}\r\n Style={{ width: '11vw' }}\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 \r\n \r\n \r\n \r\n \r\n
\r\n Employment\r\n
\r\n {\r\n this.setState({ CoBorrowerCurrentEmployerName: e });\r\n }}\r\n Value={this.state.CoBorrowerCurrentEmployerName ?? \"\"}\r\n Style={{ width: '13vw' }}\r\n />\r\n
\r\n {\r\n this.setState({ CoBorrowerCurrentEmployerType: e });\r\n }}\r\n Value={this.state.CoBorrowerCurrentEmployerType ?? \"\"}\r\n Style={{ width: '13vw' }}\r\n />\r\n
\r\n {\r\n this.setState({ CoBorrowerCurrentEmployerPosition: e });\r\n }}\r\n Value={this.state.CoBorrowerCurrentEmployerPosition ?? \"\"}\r\n Style={{ width: '13vw' }}\r\n />\r\n
\r\n {\r\n this.setState({ CoBorrowerCurrentEmployerYears: e });\r\n }}\r\n Value={this.state.CoBorrowerCurrentEmployerYears ?? \"\"}\r\n Style={{ width: '5vw' }}\r\n />\r\n
\r\n {\r\n this.setState({ CoBorrowerCurrentEmployerAddress: e });\r\n }}\r\n Value={this.state.CoBorrowerCurrentEmployerAddress ?? \"\"}\r\n Style={{ width: '13.5vw' }}\r\n />\r\n
\r\n {\r\n this.setState({ CoBorrowerCurrentEmployerCity: e });\r\n }}\r\n Value={this.state.CoBorrowerCurrentEmployerCity ?? \"\"}\r\n Style={{ width: '5vw' }}\r\n />\r\n \r\n {\r\n this.setState({ CoBorrowerCurrentEmployerStateId: e.target.value })\r\n }}\r\n >\r\n \r\n {this.state.states.map((item, idx) =>\r\n \r\n )}\r\n \r\n \r\n {\r\n this.setState({ CoBorrowerCurrentEmployerZip: e });\r\n }}\r\n Value={this.state.CoBorrowerCurrentEmployerZip ?? \"\"}\r\n Style={{ width: '5vw' }}\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 Previous Employment\r\n
\r\n {\r\n this.setState({ CoBorrowerPreviousEmployerName: e });\r\n }}\r\n Value={this.state.CoBorrowerPreviousEmployerName ?? \"\"}\r\n Style={{ width: '13vw' }}\r\n />\r\n
\r\n {\r\n this.setState({ CoBorrowerPreviousEmployerType: e });\r\n }}\r\n Value={this.state.CoBorrowerPreviousEmployerType ?? \"\"}\r\n Style={{ width: '13vw' }}\r\n />\r\n
\r\n {\r\n this.setState({ CoBorrowerPreviousEmployerPosition: e });\r\n }}\r\n Value={this.state.CoBorrowerPreviousEmployerPosition ?? \"\"}\r\n Style={{ width: '13vw' }}\r\n />\r\n
\r\n {\r\n this.setState({ CoBorrowerPreviousEmployerYears: e });\r\n }}\r\n Value={this.state.CoBorrowerPreviousEmployerYears ?? \"\"}\r\n Style={{ width: '5vw' }}\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 Annual Income\r\n
\r\n {\r\n this.setState({ CoBorrowerIncomeWages: e }, function () { this.calculateTotal(); });\r\n\r\n }}\r\n Value={this.formatCurrency(this.state.CoBorrowerIncomeWages)}\r\n Style={{ width: '6vw' }}\r\n />\r\n \r\n {\r\n this.setState({ CoBorrowerIncomeDistributions: e }, function () { this.calculateTotal(); });\r\n }}\r\n Value={this.formatCurrency(this.state.CoBorrowerIncomeDistributions)}\r\n Style={{ width: '6vw' }}\r\n />\r\n \r\n {\r\n this.setState({ CoBorrowerIncomeRentalIncome: e }, function () { this.calculateTotal(); });\r\n }}\r\n Value={this.formatCurrency(this.state.CoBorrowerIncomeRentalIncome)}\r\n Style={{ width: '6vw' }}\r\n />\r\n \r\n {\r\n this.setState({ CoBorrowerIncomePension: e }, function () { this.calculateTotal(); });\r\n }}\r\n Value={this.formatCurrency(this.state.CoBorrowerIncomePension)}\r\n Style={{ width: '6vw' }}\r\n />\r\n \r\n {\r\n this.setState({ CoBorrowerIncomeOther: e }, function () { this.calculateTotal(); });\r\n }}\r\n Value={this.formatCurrency(this.state.CoBorrowerIncomeOther)}\r\n Style={{ width: '6vw' }}\r\n />\r\n \r\n {\r\n this.setState({ CoBorrowerIncomeTotal: e }, function () { this.calculateTotal(); });\r\n }}\r\n Value={this.formatCurrency(this.state.CoBorrowerIncomeTotal)}\r\n Style={{ width: '6vw' }}\r\n Disabled={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
\r\n
\r\n We authorize Fairwind Financial Corporation, its Assigns and/or their Lender(s) to obtain information, including credit inquiries/reports, employment history and any other information necessary to evaluate credit. The applicant and/or co-applicant may ask whether Fairwind Financial Corporation obtained such a report. If such a report has been obtained, the applicant and/or the co-applicant may request the name and address of the reporting agency that provided the report. This application shall remain the property of Fairwind Financial Corporation, its Assigns and/or Lender(s), whether or not said credit is granted.

\r\n Income derived from alimony, child support or other maintenance payments need not be disclosed when applying for credit.

\r\n All the statements We have made are true, correct and complete, We understand you will rely upon their accuracy when determining whether or not said credit is granted.

\r\n PATRIOT ACT NOTICE: To help the government fight the funding of terrorism and money laundering activities, Federal Law requires all financial institutions to obtain, verify and record information that identifies each person who opens an account. For purposes of this section, account shall be understood to include loan accounts.

\r\n You agree as follows: On each phone number that you provide to us on this application, whether cell phone or landline, you consent to us, our assigns, lenders and agents, of any of us contacting you at the number by calling, texting or any other electronic communication from time to time for any reason about your accounts, including but not limited to, for collection and payment purposes. You agree that automated dialing, equipment or pre-recorded voice message maybe used for any of those purposes.

\r\n If this is an application for joint credit with another person, complete all sections of page 2, by providing information in the Co-Borrower section, and by initialing below, you confirm your intent to apply for joint credit.

\r\n By completing and submitting this elctronic application, We consent to conduct business electronically with Fairwind Financial Corporation, and that this electroinc communiction will have the same legal capacity as any written and/or sign paper application or communication. In addition, your signature below confirms your consent to receive all the disclosures noted on the application electronically. If you wish to receive a paper copy of the Disclosures, you can do so my requesting a copy from info@fairwindfinancial.com

\r\n
\r\n
\r\n
\r\n {\r\n this.setState({ AcknowledgeDisclosuresAndDigitalSignature: !this.state.AcknowledgeDisclosuresAndDigitalSignature })\r\n }}\r\n style={{ marginRight: '5px' }}\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 this.setState({ BorrowerSignature: e });\r\n }}\r\n Value={this.state.BorrowerSignature ?? \"\"}\r\n Style={{ width: '12vw', fontFamily: 'Imperial Script', fontSize: '18px' }}\r\n />\r\n \r\n {\r\n this.setState({ BorrowerSignatureDate: e });\r\n }}\r\n Value={this.state.BorrowerSignatureDate != undefined ? this.sqlToJsDate(this.state.BorrowerSignatureDate) : this.setState({ BorrowerSignatureDate: customFunctions.formatDateOrTimeForInput(new Date().toLocaleDateString('en-CA'), 'date') })}\r\n Style={{ width: '7vw' }}\r\n />\r\n
\r\n {\r\n this.setState({ CoBorrowerSignature: e });\r\n }}\r\n Value={this.state.CoBorrowerSignature ?? \"\"}\r\n Style={{ width: '12vw', fontFamily: 'Imperial Script', fontSize: '18px' }}\r\n />\r\n \r\n {\r\n this.setState({ CoBorrowerSignatureDate: e });\r\n }}\r\n Value={this.state.CoBorrowerSignatureDate != undefined ? this.sqlToJsDate(this.state.CoBorrowerSignatureDate) : this.setState({ CoBorrowerSignatureDate: customFunctions.formatDateOrTimeForInput(new Date().toLocaleDateString('en-CA'), 'date') })}\r\n Style={{ width: '7vw' }}\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 this.save(\"/LoanApplicationStep2\");\r\n }}\r\n >Back\r\n \r\n \r\n {\r\n this.save();\r\n }}\r\n disabled={this.state.loading || !this.state.AcknowledgeDisclosuresAndDigitalSignature}\r\n >\r\n Submit Application\r\n \r\n
\r\n
\r\n \r\n
\r\n )\r\n }\r\n\r\n handleButton1Click() {\r\n window.location.href = \"/ApplicantPersonalFinancialStatement\";\r\n }\r\n\r\n handleButton2Click() {\r\n window.location.href = \"/LoanApplicationReceived\";\r\n }\r\n}","const FileHelper = {\r\n DownloadFile: function (data, filename, fileType) {\r\n const url = window.URL.createObjectURL(new Blob([data], { type: fileType }))\r\n const a = document.createElement(\"a\");\r\n a.style = \"display: none\";\r\n document.body.appendChild(a);\r\n a.href = url;\r\n a.download = filename;\r\n a.click();\r\n window.URL.revokeObjectURL(url);\r\n }\r\n}\r\n\r\nexport default FileHelper;","import React, { Component } from 'react';\r\nimport { _fetch } from './_fetch';\r\nimport FileHelper from './FileHelper';\r\nimport { Spinner } from 'reactstrap';\r\nimport Toast from './toast.js';\r\nimport TextInput from './TextInput';\r\nimport NavBox from './navbox';\r\n\r\nexport class Reporting extends Component {\r\n constructor(props) {\r\n super(props);\r\n\r\n this.state = {\r\n loading: false,\r\n reps: [],\r\n status: [],\r\n repsCheckedAll: false,\r\n isSalesRep: false,\r\n userId: \"\"\r\n };\r\n }\r\n\r\n async componentDidMount() {\r\n try {\r\n let id = sessionStorage.getItem(\"ID\");\r\n if (id !== 0 && id !== null) {\r\n this.setState({ Id: id, CreditApplicationId: id, ShowNavBox: true });\r\n }\r\n else {\r\n this.setState({ Id: 0, CreditApplicationId: 0, ShowNavBox: true });\r\n }\r\n\r\n var userId = sessionStorage.getItem(\"USER_ID\");\r\n\r\n this.setState({ userId: userId, loading: true }, function () {\r\n const f = new _fetch();\r\n\r\n f.fetchValue(\"/creditapplication/getrole?userId=\" + userId)\r\n .then((data) => {\r\n if (data == \"Sales Rep\") {\r\n this.setState({ isSalesRep: true, loading: false });\r\n this.getCreditApplicationStatuses();\r\n }\r\n else {\r\n this.setState({ isSalesRep: false, loading: false });\r\n this.getCreditApplicationStatuses();\r\n this.getSalesReps();\r\n }\r\n });\r\n });\r\n }\r\n catch (err) {\r\n console.log('Error in componentDidMount - ' + err);\r\n this.setState({ loading: false });\r\n }\r\n }\r\n\r\n async search() {\r\n try {\r\n this.setState({ SearchResults: [], loading: true });\r\n\r\n const f = new _fetch()\r\n\r\n var dateFrom = this.state.DateFrom ?? null;\r\n var dateTo = this.state.DateTo ?? null;\r\n var userId = this.state.userId;\r\n\r\n var data = {\r\n From: dateFrom,\r\n To: dateTo,\r\n Status: this.state.status,\r\n SalesReps: this.state.reps,\r\n UserId: userId\r\n }\r\n\r\n f.post(\"/creditapplication/reportingsearch\", data)\r\n .then((data) => {\r\n this.setState({ SearchResults: data, loading: false })\r\n });\r\n\r\n }\r\n catch (err) {\r\n this.setState({ loading: false });\r\n console.log('search - ' + err);\r\n }\r\n }\r\n\r\n async getSalesReps() {\r\n var fetch = _fetch();\r\n fetch.get(\"/creditapplication/GetSalesReps\")\r\n .then((data) => {\r\n this.setState({ reps: data });\r\n })\r\n }\r\n\r\n async getCreditApplicationStatuses() {\r\n var fetch = _fetch();\r\n fetch.get(\"/creditapplication/GetCreditApplicationStatuses\")\r\n .then((data) => {\r\n this.setState({ status: data });\r\n })\r\n }\r\n\r\n repChecked(id, checked) {\r\n var _reps = this.state.reps;\r\n var index = _reps.findIndex(f => f.id == id);\r\n var _selectAll = true;\r\n\r\n _reps[index].checked = checked;\r\n\r\n for (var i = 0; i < this.state.reps.length; i++) {\r\n if (_reps[i].checked == false) {\r\n _selectAll = false\r\n }\r\n }\r\n\r\n this.setState({ reps: _reps, repsCheckedAll: _selectAll });\r\n }\r\n\r\n statusChecked(id, checked) {\r\n var _status = this.state.status;\r\n var index = _status.findIndex(f => f.id == id);\r\n\r\n _status[index].checked = checked;\r\n\r\n this.setState({ status: _status });\r\n }\r\n\r\n repsSelectAll(checked) {\r\n var _reps = this.state.reps;\r\n\r\n for (var i = 0; i < this.state.reps.length; i++) {\r\n _reps[i].checked = checked;\r\n }\r\n\r\n this.setState({ reps: _reps, repsCheckedAll: checked });\r\n }\r\n\r\n async exportReport() {\r\n try {\r\n this.setState({ loading: true });\r\n let filename;\r\n let tempfilename = \"CreditApplicationReport.csv\";\r\n\r\n const f = new _fetch()\r\n\r\n var dateFrom = this.state.DateFrom ?? null;\r\n var dateTo = this.state.DateTo ?? null;\r\n var userId = this.state.userId;\r\n\r\n var data = {\r\n From: dateFrom,\r\n To: dateTo,\r\n Status: this.state.status,\r\n SalesReps: this.state.reps,\r\n UserId: userId\r\n }\r\n\r\n await f.postBlob(\"/creditapplication/exportreport\", data)\r\n .then((res) => {\r\n const header = res.headers.get('Content-Disposition');\r\n const parts = header.split(';');\r\n if (parts[1]) {\r\n filename = parts[1].split('=')[1];\r\n }\r\n else {\r\n filename = tempfilename;\r\n }\r\n return res.blob();\r\n })\r\n .then(data => {\r\n FileHelper.DownloadFile(data, filename, \"text/csv\");\r\n this.setState({ loading: false });\r\n })\r\n .catch((error) => {\r\n console.log('error in exportToCSV - ' + error.message);\r\n this.setState({ loading: false });\r\n });\r\n\r\n }\r\n catch (err) {\r\n this.setState({ loading: false });\r\n console.log('exportReport - ' + err);\r\n }\r\n }\r\n\r\n render() {\r\n return (\r\n
\r\n { }}\r\n />\r\n this.setState({ showToast: false })}\r\n autoHideToastDelay={10000}\r\n />\r\n
\r\n {this.state.loading === true ?\r\n
\r\n \r\n
\r\n : null\r\n }\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n {this.state.status && this.state.status?.length > 0 ?\r\n this.state.status?.map((item, i) =>\r\n \r\n \r\n \r\n \r\n ) : null}\r\n \r\n
Status
\r\n this.statusChecked(item.id, e.target.checked)}>\r\n \r\n {item.name}\r\n
\r\n
\r\n {!this.state.isSalesRep ?\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {this.state.reps && this.state.reps?.length > 0 ?\r\n this.state.reps?.map((item, i) =>\r\n \r\n \r\n \r\n \r\n ) : null}\r\n \r\n
Sales Reps
\r\n { this.repsSelectAll(e.target.checked) }}>\r\n \r\n Select All\r\n
\r\n this.repChecked(item.id, e.target.checked)}>\r\n \r\n {item.name}\r\n
\r\n
: null}\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 this.setState({ DateFrom: e });\r\n }}\r\n Value={this.state.DateFrom ?? \"\"}\r\n Style={{ width: '8vw' }}\r\n />\r\n \r\n {\r\n this.setState({ DateTo: e });\r\n }}\r\n Value={this.state.DateTo ?? \"\"}\r\n Style={{ width: '8vw' }}\r\n />\r\n \r\n {\r\n this.search();\r\n }}>\r\n Search\r\n \r\n \r\n {\r\n this.exportReport();\r\n }}>\r\n Export to CSV\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 {this.state.SearchResults && this.state.SearchResults?.length > 0 ?\r\n this.state.SearchResults?.map((item, idx) =>\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
Sales RepApp Submission DateInvoice DateLast NameLenderLoan AmountFee %Fee Dollar AmountLoan Processing FeeDealer Referral NameDealer Referral $
{item.salesRep}{item.appSubmissionDate}{item.invoiceDate}{item.borrowerLastName}{item.lender}{item.loanAmount}{item.feePercent}{item.feeAmount}{item.loanProcessingAmount}{item.dealerReferralName}{item.dealerReferralAmount}
No search results found
\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}","import axios from \"axios\";\r\n\r\nexport default axios.create({\r\n // '### release - change URL\r\n //baseURL: process.env.NODE_ENV === \"development\" ? \"https://localhost:44313/\" : \"https://app.fairwindfinancial.com/\",\r\n baseURL: \"https://app.fairwindfinancial.com/\",\r\n //baseURL: \"https://ff.swipsystems.com/\",\r\n //baseURL: \"https://apptest.fairwindfinancial.com/\",\r\n headers: {\r\n \"Content-type\": \"application/json\"\r\n }\r\n});\n","import http from \"../http-common\";\r\nimport authService from '../components/api-authorization/AuthorizeService';\r\n\r\nclass UploadFilesService {\r\n async upload(file, creditApplicationId, documentTypeId, onUploadProgress) {\r\n const token = await authService.getAccessToken();\r\n let formData = new FormData();\r\n formData.append(\"file\", file);\r\n formData.append(\"creditApplicationId\", creditApplicationId);\r\n formData.append(\"documentTypeId\", documentTypeId);\r\n return http.post(\"upload/uploadfile\", formData, {\r\n headers: {\r\n \"Content-Type\": \"multipart/form-data\",\r\n \"Authorization\": `Bearer ${token}`\r\n },\r\n onUploadProgress,\r\n });\r\n }\r\n async getFiles(creditApplicationId) {\r\n const token = await authService.getAccessToken();\r\n return http.get(\"upload/getfiles?creditApplicationId=\" + creditApplicationId, {\r\n headers: {\r\n \"Authorization\": `Bearer ${token}`\r\n }\r\n });\r\n }\r\n\r\n async getDocumentTypes() {\r\n const token = await authService.getAccessToken();\r\n return http.get(\"upload/GetDocumentTypes\", {\r\n headers: {\r\n \"Authorization\": `Bearer ${token}`\r\n }\r\n });\r\n }\r\n}\r\nexport default new UploadFilesService();","import React, { Component } from \"react\";\r\nimport UploadService from \"../services/upload-files.service\";\r\nimport authService from './api-authorization/AuthorizeService';\r\nimport './layout/site.css';\r\nimport { IoTrashOutline } from 'react-icons/io5';\r\nimport Modal from 'react-modal';\r\n\r\nexport default class UploadFiles extends Component {\r\n constructor(props) {\r\n super(props);\r\n\r\n this.state = {\r\n selectedFiles: undefined,\r\n progressInfos: [],\r\n message: [],\r\n fileInfos: [],\r\n trashColor: '#000',\r\n documentTypes: [],\r\n DocumentTypeId: 0\r\n };\r\n\r\n this.selectFile = this.selectFile.bind(this);\r\n this.uploadFiles = this.uploadFiles.bind(this);\r\n this.fileInputRef = React.createRef()\r\n }\r\n\r\n componentDidMount() {\r\n UploadService.getDocumentTypes()\r\n .then((response) => {\r\n this.setState({\r\n documentTypes: response.data,\r\n }, function () {\r\n this.loadUploadFiles();\r\n });\r\n });\r\n }\r\n\r\n loadUploadFiles() {\r\n UploadService.getFiles(this.props.CreditApplicationId).then((response) => {\r\n this.setState({\r\n fileInfos: response.data\r\n });\r\n });\r\n }\r\n\r\n componentDidUpdate(prevProps) {\r\n if (prevProps.CreditApplicationId !== this.props.CreditApplicationId) {\r\n UploadService.getFiles(this.props.CreditApplicationId).then((response) => {\r\n this.setState({\r\n fileInfos: response.data,\r\n selectedFiles: undefined,\r\n DocumentTypeId: 0\r\n });\r\n });\r\n }\r\n }\r\n\r\n selectFile(event) {\r\n this.setState({\r\n progressInfos: [],\r\n selectedFiles: event.target.files,\r\n });\r\n }\r\n\r\n uploadFiles() {\r\n const selectedFiles = this.state.selectedFiles;\r\n const documentTypeId = this.state.DocumentTypeId;\r\n\r\n let _progressInfos = [];\r\n for (let i = 0; i < selectedFiles.length; i++) {\r\n _progressInfos.push({ percentage: 0, fileName: selectedFiles[i].name });\r\n }\r\n this.setState(\r\n {\r\n progressInfos: _progressInfos,\r\n message: [],\r\n },\r\n () => {\r\n for (let i = 0; i < selectedFiles.length; i++) {\r\n this.upload(i, selectedFiles[i], this.props.CreditApplicationId, documentTypeId);\r\n }\r\n }\r\n );\r\n }\r\n\r\n upload(idx, file, creditApplicationId, documentTypeId) {\r\n let _progressInfos = [...this.state.progressInfos];\r\n UploadService.upload(file, creditApplicationId, documentTypeId, (event) => {\r\n _progressInfos[idx].percentage = Math.round((100 * event.loaded) / event.total);\r\n this.setState({\r\n _progressInfos,\r\n });\r\n })\r\n .then((response) => {\r\n this.setState((prev) => {\r\n let nextMessage = [...prev.message, \"Uploaded the file successfully: \" + file.name];\r\n return {\r\n message: nextMessage\r\n };\r\n });\r\n return UploadService.getFiles(creditApplicationId);\r\n\r\n })\r\n .then((files) => {\r\n this.setState({\r\n fileInfos: files.data,\r\n });\r\n })\r\n .catch(() => {\r\n _progressInfos[idx].percentage = 0;\r\n this.setState((prev) => {\r\n let nextMessage = [...prev.message, \"Could not upload the file: \" + file.name];\r\n return {\r\n progressInfos: _progressInfos,\r\n message: nextMessage\r\n };\r\n });\r\n })\r\n .finally(() => {\r\n setTimeout(() => {\r\n this.setState({\r\n selectedFiles: undefined,\r\n progressInfos: [],\r\n message: [],\r\n DocumentTypeId: 0\r\n }, function () {\r\n this.fileInputRef.current.value = \"\"\r\n });\r\n }, 5000);\r\n });\r\n }\r\n\r\n deleteUpload(id) {\r\n this.setState({ uploadId: id, showModal: true });\r\n }\r\n\r\n async deleteUploadedDocument() {\r\n this.setState({ showModal: false });\r\n //const token = await authService.getAccessToken();\r\n var id = this.state.uploadId;\r\n\r\n var response = await fetch('upload/DeleteUploadFile?id=' + id, {\r\n method: 'GET',\r\n headers: { 'Content-Type': 'application/json' }\r\n })\r\n .then((response) => {\r\n UploadService.getFiles(this.props.CreditApplicationId).then((files) => {\r\n this.setState({\r\n fileInfos: files.data,\r\n DocumentTypeId: 0\r\n });\r\n });\r\n });\r\n }\r\n\r\n render() {\r\n const { selectedFiles, progressInfos, message, fileInfos, documentTypes } = this.state;\r\n return (\r\n
\r\n {progressInfos &&\r\n progressInfos.map((progressInfo, index) => (\r\n
\r\n {progressInfo.fileName}\r\n
\r\n \r\n {progressInfo.percentage}%\r\n
\r\n
\r\n
\r\n ))}\r\n
\r\n \r\n {\r\n this.setState({ DocumentTypeId: e.target.value });\r\n }}\r\n >\r\n \r\n {documentTypes && documentTypes.map((item, idx) =>\r\n \r\n )}\r\n \r\n
\r\n
\r\n \r\n \r\n Upload\r\n \r\n
\r\n {message.length > 0 && (\r\n
\r\n
    \r\n {message.map((item, i) => {\r\n return
  • {item}
  • ;\r\n })}\r\n
\r\n
\r\n )}\r\n
\r\n
Your Documents
\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 this.state.fileInfos.length > 0 ?\r\n fileInfos && fileInfos.map((file, index) =>\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 File Name\r\n \r\n Document Type\r\n \r\n Date/Time Uploaded\r\n
\r\n \r\n \r\n {file.filename}\r\n \r\n {file.dtName}\r\n \r\n {file.dateUploaded}\r\n \r\n this.deleteUpload(file.id)}\r\n />\r\n
\r\n No Uploads Found\r\n
\r\n
\r\n
\r\n this.setState({ showModal: false })}\r\n className=\"et-modal\"\r\n contentLabel=\"Delete Upload\"\r\n overlayClassName=\"Overlay\"\r\n >\r\n
\r\n
Delete the uploaded document?
\r\n
\r\n
\r\n this.setState({ showModal: false })}\r\n >\r\n No\r\n \r\n this.deleteUploadedDocument()}\r\n >\r\n Yes\r\n \r\n
\r\n \r\n
\r\n \r\n );\r\n }\r\n}","import React, { Component } from 'react';\r\nimport { _fetch } from './_fetch';\r\nimport { Spinner } from 'reactstrap';\r\nimport TextInput from './TextInput';\r\nimport { customFunctions } from './CustomFunctions.js';\r\nimport Modal from 'react-modal';\r\nimport Upload from \"./upload-files.component\";\r\nimport authService from './api-authorization/AuthorizeService';\r\n\r\nexport class CreditApplicationReceived extends Component {\r\n static displayName = CreditApplicationReceived.name;\r\n constructor(props) {\r\n super(props);\r\n\r\n this.state = {\r\n loading: false,\r\n showUploadModal: false,\r\n autoRedirect: true\r\n }\r\n }\r\n\r\n componentDidMount() {\r\n var creditApplicationId = sessionStorage.getItem(\"ID\");\r\n //this.updateStatusPending(creditApplicationId);\r\n\r\n this.setState({ CreditApplicationId: creditApplicationId });\r\n\r\n setTimeout(() => {\r\n if (this.state.autoRedirect) {\r\n window.location.href = 'https://fairwindfinancial.com/';\r\n }\r\n }, 90000);\r\n }\r\n\r\n updateStatusPending(id) {\r\n var fetch = _fetch();\r\n fetch.get(\"/creditapplication/UpdateStatusPending?id=\" + id)\r\n .then((result) => {\r\n if (result) {\r\n\r\n }\r\n });\r\n }\r\n\r\n async printSave() {\r\n this.setState({ autoRedirect: false, loading: true });\r\n var tempfilename = \"PersonalFinancialStatement.pdf\";\r\n var filename = \"\";\r\n const token = await authService.getAccessToken();\r\n\r\n var f = _fetch();\r\n await fetch(\"/Pdf/GenerateLoanApplicationPDF?id=\" + this.state.CreditApplicationId, {\r\n method: 'GET',\r\n body: null,\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Authorization': \"Bearer \" + token\r\n }\r\n })\r\n .then((res) => {\r\n const header = res.headers.get('Content-Disposition');\r\n const parts = header.split(';');\r\n if (parts[1]) {\r\n filename = parts[1].split('=')[1];\r\n }\r\n else {\r\n filename = tempfilename;\r\n }\r\n return res.blob();\r\n })\r\n .then(data => {\r\n f.downloadFile(data, filename, \"application/pdf\");\r\n this.setState({ loading: false, autoRedirect: false });\r\n })\r\n .catch((error) => {\r\n console.log('error in printSave - ' + error.message);\r\n this.setState({ loading: false });\r\n });\r\n\r\n }\r\n\r\n showUploadScreen() {\r\n this.setState({ autoRedirect: false, showUploadModal: true });\r\n }\r\n\r\n close() {\r\n sessionStorage.clear();\r\n localStorage.clear();\r\n window.location.href = '/';\r\n }\r\n\r\n render() {\r\n return (\r\n
\r\n
\r\n {this.state.loading === true ?\r\n
\r\n \r\n
\r\n : null\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
\r\n
\r\n Your application has been received!\r\n
\r\n
\r\n Thank you for submitting your boat loan application. A Fairwind Financial representative will be in touch with you shortly.\r\n If you would like to print or keep a copy of your loan application, you can do so via the Print/Save button below.\r\n If your loan request exceeds $150,000, income verification and other supporting documentation will be required inorder to fully process your application.\r\n Below is a list of the supporting documentation that may be required. That information can be uploaded now via the \"upload files\" button below or you can provide it to your Fairwind's representative at a later time.\r\n If you do not have any documents to upload you can simply close this window or it will close automatically in 60 seconds. Thank you and we look forward to working with you.

\r\n
\r\n
\r\n Supporting Documentation often required for loans exceeding $150,000…\r\n
\r\n
  • Copy of recent paystub for both borrowers
  • \r\n
  • Copy of your last two years of filed 1040 Personal Tax Returns (the first two pages and schedules 1, A, B, C, & E)
  • \r\n
  • If self employed, your last two years of filed Business Tax Returns may be required
  • \r\n
  • Copies of recent bank and/or investment account statements
  • \r\n
    \r\n
    \r\n Here are some other items that aid the boat loan process, which you can upload if you choose…\r\n
    \r\n
  • Copy of each borrowers drivers license
  • \r\n
  • Copy of the signed purchase agreement
  • \r\n
  • Copy of the marine survey report
  • \r\n
    \r\n
    \r\n If you have any questions regarding your application please contact us at...
    \r\n Phone: 203-712-7204
    \r\n Fax: 203-712-7236
    \r\n Email: info@fairwindfinancial.com
    \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 this.printSave();\r\n }}>\r\n Print / Save\r\n \r\n \r\n {\r\n this.showUploadScreen();\r\n }}>\r\n Upload Files\r\n \r\n \r\n {\r\n this.close();\r\n }}>\r\n Close\r\n \r\n
    \r\n
    \r\n
    \r\n this.setState({ showUploadModal: false })}\r\n className=\"et-modal\"\r\n contentLabel=\"Example Modal\"\r\n overlayClassName=\"Overlay\"\r\n >\r\n
    \r\n
    Document Uploads
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n {\r\n this.setState({ showUploadModal: false });\r\n }}>\r\n Close\r\n \r\n
    \r\n \r\n
    \r\n
    \r\n );\r\n }\r\n}","import React, { Component } from 'react';\r\nimport { _fetch } from './_fetch';\r\nimport TextInput from './TextInput';\r\nimport { Spinner } from 'reactstrap';\r\nimport Toast from './toast.js';\r\nimport NavBox from './navbox';\r\nimport { customFunctions } from './CustomFunctions.js';\r\nimport { format } from 'date-fns';\r\n\r\nexport class PersonalFinancialStatement extends Component {\r\n constructor(props) {\r\n super(props);\r\n\r\n this.state = {\r\n loading: false,\r\n ShowNavBox: false\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n try {\r\n this.setState({ loading: true });\r\n\r\n let id = sessionStorage.getItem(\"ID\");\r\n\r\n if (id != null) this.setState({ CreditApplicationId: id, loading: false, ShowNavBox: true },\r\n function () {\r\n this.loadPage(id);\r\n });\r\n\r\n var borrowerSig = sessionStorage.getItem(\"BorrowerSignature\");\r\n var coBorrowerSig = sessionStorage.getItem(\"CoBorrowerSignature\");\r\n this.setState({ loading: false, BorrowerSignatureName: borrowerSig, CoBorrowerSignatureName: coBorrowerSig });\r\n }\r\n catch (err) {\r\n this.setState({ loading: false });\r\n console.log('componentDidMount - ' + err);\r\n }\r\n }\r\n\r\n calculateNetWorth() {\r\n let s = this.state;\r\n var assets = this.zeroOrValue(s.BoatDepositsPaidToDateValue) + this.zeroOrValue(s.CheckingValue) + this.zeroOrValue(s.SavingsValue) + this.zeroOrValue(s.Ira401KValue) +\r\n this.zeroOrValue(s.StockBondsValue) + this.zeroOrValue(s.MutualFundValue) + this.zeroOrValue(s.OtherValue) + this.zeroOrValue(s.TrustFundValue) +\r\n this.zeroOrValue(s.LifeInsuranceCashValue) + this.zeroOrValue(s.PrimaryResidenceValue) + this.zeroOrValue(s.SecondaryResidenceValue) +\r\n this.zeroOrValue(s.OtherResidenceValue) + this.zeroOrValue(s.RentalValue1) + this.zeroOrValue(s.RentalValue2) + this.zeroOrValue(s.RentalValue3) +\r\n this.zeroOrValue(s.RealEstateOtherValue1) + this.zeroOrValue(s.RealEstateOtherValue2) + this.zeroOrValue(s.BusinessAssetPercentValue1) +\r\n this.zeroOrValue(s.BusinessAssetPercentValue2) + this.zeroOrValue(s.BusinessAssetPercentValue3) +\r\n this.zeroOrValue(s.BusinessAssetPercentValue4) + this.zeroOrValue(s.OtherAssetCurrentBoatValue) + this.zeroOrValue(s.OtherAsset2ndBoatValue) +\r\n this.zeroOrValue(s.OtherAssetRVAircraftValue) + this.zeroOrValue(s.OtherAssetAutomobilesValue) + this.zeroOrValue(s.OtherAssetArtJeweleryValue) +\r\n this.zeroOrValue(s.OtherAssetOtherValue);\r\n\r\n var liabilities = this.zeroOrValue(s.AutoLoanCurrentBalance1) + this.zeroOrValue(s.AutoLoanCurrentBalance2) + this.zeroOrValue(s.AutoLoanCurrentBalance3) +\r\n this.zeroOrValue(s.StudentLoanCurrentBalance) + this.zeroOrValue(s.UnsecuredLoanCurrentBalance) + this.zeroOrValue(s.CreditCardsCurrentBalance) +\r\n this.zeroOrValue(s.LineOfCreditCurrentBalance) + this.zeroOrValue(s.OtherCurrentBalance1) + this.zeroOrValue(s.OtherCurrentBalance2) +\r\n this.zeroOrValue(s.OtherCurrentBalance3) + this.zeroOrValue(s.PrimaryResidenceCurrentBalance) + this.zeroOrValue(s.SecondaryResidenceCurrentBalance) +\r\n this.zeroOrValue(s.OtherResidenceCurrentBalance) + this.zeroOrValue(s.RentalBalance1) + this.zeroOrValue(s.RentalBalance2) +\r\n this.zeroOrValue(s.RentalBalance3) + this.zeroOrValue(s.RealEstateOtherBalance1) + this.zeroOrValue(s.RealEstateOtherBalance2) +\r\n this.zeroOrValue(s.BusinessAssetBusinessCurrentBalance1) + this.zeroOrValue(s.BusinessAssetBusinessCurrentBalance2) + this.zeroOrValue(s.BusinessAssetBusinessCurrentBalance3) +\r\n this.zeroOrValue(s.BusinessAssetBusinessCurrentBalance4) + this.zeroOrValue(s.OtherSecuredLoansBoatCurrentBalance1) + this.zeroOrValue(s.OtherSecuredLoansBoatCurrentBalance2) +\r\n this.zeroOrValue(s.OtherSecuredLoansRVAircraftCurrentBalance) + this.zeroOrValue(s.OtherSecuredLoansOtherCurrentBalance1) + this.zeroOrValue(s.OtherSecuredLoansOtherCurrentBalance2) +\r\n this.zeroOrValue(s.OtherSecuredLoansOtherCurrentBalance3) + this.zeroOrValue(s.OtherSecuredLoansOtherCurrentBalance4);\r\n\r\n var netWorth = (assets - liabilities);\r\n\r\n var assetsRaw = this.formatCurrency(assets);\r\n\r\n if (assetsRaw && assetsRaw.startsWith('$') && !assetsRaw.includes('.')) {\r\n assetsRaw = assetsRaw + '.00';\r\n }\r\n else if (assetsRaw.startsWith('$') && assetsRaw.includes('.')) {\r\n var spl = assetsRaw.split(\".\");\r\n if (spl[1].length == 0) {\r\n assetsRaw = assetsRaw + '00';\r\n }\r\n\r\n if (spl[1].length == 1) {\r\n assetsRaw = assetsRaw + '0';\r\n }\r\n }\r\n\r\n var liabilitiesRaw = this.formatCurrency(liabilities);\r\n\r\n if (liabilitiesRaw && liabilitiesRaw.startsWith('$') && !liabilitiesRaw.includes('.')) {\r\n liabilitiesRaw = liabilitiesRaw + '.00';\r\n }\r\n else if (liabilitiesRaw.startsWith('$') && liabilitiesRaw.includes('.')) {\r\n var spl = liabilitiesRaw.split(\".\");\r\n if (spl[1].length == 0) {\r\n liabilitiesRaw = liabilitiesRaw + '00';\r\n }\r\n\r\n if (spl[1].length == 1) {\r\n liabilitiesRaw = liabilitiesRaw + '0';\r\n }\r\n }\r\n\r\n var netWorthRaw = this.formatCurrency(netWorth);\r\n\r\n if (netWorthRaw && netWorthRaw.startsWith('$') && !netWorthRaw.includes('.')) {\r\n netWorthRaw = netWorthRaw + '.00';\r\n }\r\n else if (netWorthRaw.startsWith('$') && netWorthRaw.includes('.')) {\r\n var spl = netWorthRaw.split(\".\");\r\n if (spl[1].length == 0) {\r\n netWorthRaw = netWorthRaw + '00';\r\n }\r\n\r\n if (spl[1].length == 1) {\r\n netWorthRaw = netWorthRaw + '0';\r\n }\r\n }\r\n\r\n this.setState({\r\n TotalAssets: assetsRaw,\r\n TotalLiabilities: liabilitiesRaw,\r\n NetWorth: netWorthRaw\r\n });\r\n }\r\n\r\n zeroOrValue(value) {\r\n if (value == undefined || value == 0) return 0;\r\n //if (isNaN(value)) {\r\n // value = value.toString().substring(1, value.toString().lenth - 1);\r\n //}\r\n var _value = value.replace(/,/g, '').replace('$', '');\r\n\r\n if (_value.length > 0) {\r\n\r\n var result = (isNaN(_value) || _value == undefined) ? 0 : parseFloat(_value);\r\n return result;\r\n }\r\n else {\r\n return 0;\r\n }\r\n }\r\n\r\n formatCurrency(value) {\r\n if (value == undefined) return \"\";\r\n var _values = value.toString().replace(/,/g, '').replace('$', '');\r\n\r\n var dec = \"\";\r\n var _value = \"\";\r\n\r\n var elements = _values.split('.');\r\n if (elements?.length == 1) {\r\n _value = _values.split('.')[0];\r\n }\r\n else if (elements?.length > 1) {\r\n _value = _values.split('.')[0];\r\n dec = \".\" + _values.split('.')[1].substring(0, 2);\r\n }\r\n else {\r\n _value = _values;\r\n }\r\n if (_value.length > 0) {\r\n return new Intl.NumberFormat(undefined, {\r\n style: 'currency',\r\n currency: 'USD',\r\n maximumFractionDigits: 0,\r\n minimumFractionDigits: 0,\r\n }).format(_value) + dec;\r\n }\r\n }\r\n\r\n async save(back, _url) {\r\n try {\r\n var item = [];\r\n if (back === undefined) {\r\n if (localStorage.getItem(\"APP_TYPE\") == \"Individual\") {\r\n if ((this.state.BorrowerSignature == undefined || this.state.BorrowerSignature?.length == 0) &&\r\n !this.state.ApplicationReceivedOffline) {\r\n item.push(\"Borrower Signature\");\r\n }\r\n if ((this.state.BorrowerSignatureName == undefined || this.state.BorrowerSignatureName?.length == 0) &&\r\n !this.state.ApplicationReceivedOffline) {\r\n item.push(\"Borrower Signature Name\");\r\n }\r\n if ((this.state.BorrowerSignatureDate == undefined || this.state.BorrowerSignatureDate?.length == 0) &&\r\n !this.state.ApplicationReceivedOffline) {\r\n item.push(\"Borrower Signature Date\");\r\n }\r\n }\r\n\r\n if (localStorage.getItem(\"APP_TYPE\") == \"Jointly\") {\r\n if ((this.state.BorrowerSignature == undefined || this.state.BorrowerSignature?.length == 0) &&\r\n !this.state.ApplicationReceivedOffline) {\r\n item.push(\"Borrower Signature\");\r\n }\r\n if ((this.state.BorrowerSignatureName == undefined || this.state.BorrowerSignatureName?.length == 0) &&\r\n !this.state.ApplicationReceivedOffline) {\r\n item.push(\"Borrower Signature Name\");\r\n }\r\n if ((this.state.BorrowerSignatureDate == undefined || this.state.BorrowerSignatureDate?.length == 0) &&\r\n !this.state.ApplicationReceivedOffline) {\r\n item.push(\"Borrower Signature Date\");\r\n }\r\n if ((this.state.CoBorrowerSignature == undefined || this.state.CoBorrowerSignature?.length == 0) &&\r\n !this.state.ApplicationReceivedOffline) {\r\n item.push(\"CoBorrower Signature\");\r\n }\r\n if ((this.state.CoBorrowerSignatureName == undefined || this.state.CoBorrowerSignatureName?.length == 0) &&\r\n !this.state.ApplicationReceivedOffline) {\r\n item.push(\"CoBorrower Signature Name\");\r\n }\r\n if ((this.state.CoBorrowerSignatureDate == undefined || this.state.CoBorrowerSignatureDate?.length == 0) &&\r\n !this.state.ApplicationReceivedOffline) {\r\n item.push(\"CoBorrower Signature Date\");\r\n }\r\n }\r\n }\r\n if (item.length == 0) {\r\n this.setState({ loading: true });\r\n var fetch = _fetch();\r\n this.setState({\r\n BorrowerSignatureDate: this.state.BorrowerSignatureDate === undefined || this.state.BorrowerSignatureDate == \"\" ? null : format(new Date(this.state.BorrowerSignatureDate.replace(/-/g, '/')), \"yyyy-MM-dd\"),\r\n CoBorrowerSignatureDate: this.state.CoBorrowerSignatureDate === undefined || this.state.CoBorrowerSignatureDate == \"\" ? null : format(new Date(this.state.CoBorrowerSignatureDate.replace(/-/g, '/')), \"yyyy-MM-dd\")\r\n },\r\n function () {\r\n fetch.post(\"/creditapplication/SavePersonalFinancialStatement\", this.state)\r\n .then((id) => {\r\n if (back === 1) {\r\n if (_url !== undefined) {\r\n window.location.href = _url;\r\n }\r\n else {\r\n var url = \"\";\r\n if (localStorage.getItem(\"APP_TYPE\") !== null && localStorage.getItem(\"APP_TYPE\") === \"Individual\") {\r\n url = \"/CreditApplicationStep2\";\r\n }\r\n else {\r\n url = \"/CreditApplicationStep3\";\r\n }\r\n\r\n window.location.href = url;\r\n }\r\n }\r\n else {\r\n this.setState({ loading: false, toastMessageSuccess: \"Saved Successfully\", showToastSuccess: true });\r\n }\r\n });\r\n });\r\n }\r\n else {\r\n this.setState({\r\n showToast: true,\r\n toastMessage: 'The following fields are required:',\r\n toastItems: item\r\n });\r\n setTimeout(function () { document.getElementById(\"maincontainer\").scrollTo({ top: 0, behavior: 'smooth' }); }, 250);\r\n }\r\n }\r\n catch (err) {\r\n this.setState({ loading: false });\r\n console.log('save - ' + err);\r\n }\r\n }\r\n\r\n async loadPage(id) {\r\n try {\r\n this.setState({ loading: true });\r\n var fetch = _fetch();\r\n\r\n fetch.get(\"/creditapplication/GetPersonalFinancialStatement?id=\" + id)\r\n .then((data) => {\r\n var _state = this.state;\r\n for (const key in data) {\r\n if (data[key] != null) {\r\n var _key = key.charAt(0).toUpperCase() + key.slice(1);\r\n var _value = data[key];\r\n _state[_key] = _value;\r\n }\r\n }\r\n this.setState(_state, function () {\r\n this.calculateNetWorth();\r\n this.setState({ loading: false, CreditApplicationId: id });\r\n this.setState({\r\n BorrowerSignatureDate: this.sqlToJsDate(this.state.BorrowerSignatureDate),\r\n CoBorrowerSignatureDate: this.sqlToJsDate(this.state.CoBorrowerSignatureDate)\r\n });\r\n });\r\n })\r\n }\r\n catch (err) {\r\n this.setState({ loading: false });\r\n console.log('save - ' + err);\r\n }\r\n }\r\n\r\n sqlToJsDate(sqlDate) {\r\n if (sqlDate == \"\" || sqlDate === undefined) return sqlDate;\r\n\r\n var dateParts = sqlDate.split(\"T\");\r\n return dateParts[0];\r\n }\r\n\r\n render() {\r\n return (\r\n
    \r\n this.save(1, e)}\r\n />\r\n this.setState({ showToast: false })}\r\n autoHideToastDelay={10000}\r\n />\r\n this.setState({ showToastSuccess: false })}\r\n autoHideToastDelay={5000}\r\n isSuccessToast={true}\r\n />\r\n
    \r\n {this.state.loading === true ?\r\n
    \r\n \r\n
    \r\n : null\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 \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 \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 \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 \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 \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 \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 \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 \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 \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 \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 \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
    AssetsLiabilities
    Cash AssetsInstitutionValue ($)Liability TypeInstitutionCurrent BalanceMo. Pmt. ($)
    \r\n Boat Deposit, Paid to Date\r\n \r\n {\r\n this.setState({ BoatDepositsPaidToDateInstitution: e.target.value });\r\n }}\r\n value={this.state.BoatDepositsPaidToDateInstitution}\r\n style={{ width: '13.3vw' }}\r\n >\r\n \r\n {\r\n this.setState({ BoatDepositsPaidToDateValue: e.target.value }, function () {\r\n this.calculateNetWorth();\r\n });\r\n }}\r\n value={this.formatCurrency(this.state.BoatDepositsPaidToDateValue)}\r\n style={{ width: '5vw' }}\r\n onBlur={(e) => {\r\n var val = this.state.BoatDepositsPaidToDateValue;\r\n if (e.target.value && e.target.value.startsWith('$') && !e.target.value.includes('.')) {\r\n val = val + '.00';\r\n }\r\n else if (e.target.value && e.target.value.startsWith('$') && e.target.value.includes('.')) {\r\n var spl = e.target.value.split(\".\");\r\n if (spl[1].length == 0) {\r\n val = val + '00';\r\n }\r\n\r\n if (spl[1].length == 1) {\r\n val = val + '0';\r\n }\r\n }\r\n this.setState({\r\n BoatDepositsPaidToDateValue: val\r\n });\r\n }}\r\n >\r\n Auto Loan\r\n {\r\n this.setState({ AutoLoanInstitution1: e.target.value });\r\n }}\r\n value={this.state.AutoLoanInstitution1}\r\n style={{ width: '8vw' }}\r\n >\r\n \r\n {\r\n this.setState({ AutoLoanCurrentBalance1: e.target.value });\r\n this.calculateNetWorth();\r\n }}\r\n value={this.formatCurrency(this.state.AutoLoanCurrentBalance1)}\r\n style={{ width: '5vw' }}\r\n onBlur={(e) => {\r\n var val = this.state.AutoLoanCurrentBalance1;\r\n if (e.target.value && e.target.value.startsWith('$') && !e.target.value.includes('.')) {\r\n val = val + '.00';\r\n }\r\n else if (e.target.value && e.target.value.startsWith('$') && e.target.value.includes('.')) {\r\n var spl = e.target.value.split(\".\");\r\n if (spl[1].length == 0) {\r\n val = val + '00';\r\n }\r\n\r\n if (spl[1].length == 1) {\r\n val = val + '0';\r\n }\r\n }\r\n this.setState({\r\n AutoLoanCurrentBalance1: val\r\n });\r\n }}\r\n >\r\n \r\n {\r\n this.setState({ AutoLoanMonthlyPayment1: e.target.value }, function () {\r\n });\r\n }}\r\n value={this.formatCurrency(this.state.AutoLoanMonthlyPayment1)}\r\n style={{ width: '5vw' }}\r\n onBlur={(e) => {\r\n var val = this.state.AutoLoanMonthlyPayment1;\r\n if (e.target.value && e.target.value.startsWith('$') && !e.target.value.includes('.')) {\r\n val = val + '.00';\r\n }\r\n else if (e.target.value && e.target.value.startsWith('$') && e.target.value.includes('.')) {\r\n var spl = e.target.value.split(\".\");\r\n if (spl[1].length == 0) {\r\n val = val + '00';\r\n }\r\n\r\n if (spl[1].length == 1) {\r\n val = val + '0';\r\n }\r\n }\r\n this.setState({\r\n AutoLoanMonthlyPayment1: val\r\n });\r\n }}\r\n >\r\n
    \r\n Checking Accts\r\n \r\n {\r\n this.setState({ CheckingInstitution: e.target.value });\r\n }}\r\n value={this.state.CheckingInstitution}\r\n style={{ width: '13.3vw' }}\r\n >\r\n \r\n {\r\n this.setState({ CheckingValue: e.target.value }, function () {\r\n this.calculateNetWorth();\r\n });\r\n }}\r\n value={this.formatCurrency(this.state.CheckingValue)}\r\n style={{ width: '5vw' }}\r\n onBlur={(e) => {\r\n var val = this.state.CheckingValue;\r\n if (e.target.value && e.target.value.startsWith('$') && !e.target.value.includes('.')) {\r\n val = val + '.00';\r\n }\r\n else if (e.target.value && e.target.value.startsWith('$') && e.target.value.includes('.')) {\r\n var spl = e.target.value.split(\".\");\r\n if (spl[1].length == 0) {\r\n val = val + '00';\r\n }\r\n\r\n if (spl[1].length == 1) {\r\n val = val + '0';\r\n }\r\n }\r\n this.setState({\r\n CheckingValue: val\r\n });\r\n }}\r\n >\r\n Auto Loan\r\n {\r\n this.setState({ AutoLoanInstitution2: e.target.value });\r\n }}\r\n value={this.state.AutoLoanInstitution2}\r\n style={{ width: '8vw' }}\r\n >\r\n \r\n {\r\n this.setState({ AutoLoanCurrentBalance2: e.target.value }, function () {\r\n this.calculateNetWorth();\r\n });\r\n }}\r\n value={this.formatCurrency(this.state.AutoLoanCurrentBalance2)}\r\n style={{ width: '5vw' }}\r\n onBlur={(e) => {\r\n var val = this.state.AutoLoanCurrentBalance2;\r\n if (e.target.value && e.target.value.startsWith('$') && !e.target.value.includes('.')) {\r\n val = val + '.00';\r\n }\r\n else if (e.target.value && e.target.value.startsWith('$') && e.target.value.includes('.')) {\r\n var spl = e.target.value.split(\".\");\r\n if (spl[1].length == 0) {\r\n val = val + '00';\r\n }\r\n\r\n if (spl[1].length == 1) {\r\n val = val + '0';\r\n }\r\n }\r\n this.setState({\r\n AutoLoanCurrentBalance2: val\r\n });\r\n }}\r\n >\r\n \r\n {\r\n this.setState({ AutoLoanMonthlyPayment2: e.target.value });\r\n }}\r\n value={this.formatCurrency(this.state.AutoLoanMonthlyPayment2)}\r\n style={{ width: '5vw' }}\r\n onBlur={(e) => {\r\n var val = this.state.AutoLoanMonthlyPayment2;\r\n if (e.target.value && e.target.value.startsWith('$') && !e.target.value.includes('.')) {\r\n val = val + '.00';\r\n }\r\n else if (e.target.value && e.target.value.startsWith('$') && e.target.value.includes('.')) {\r\n var spl = e.target.value.split(\".\");\r\n if (spl[1].length == 0) {\r\n val = val + '00';\r\n }\r\n\r\n if (spl[1].length == 1) {\r\n val = val + '0';\r\n }\r\n }\r\n this.setState({\r\n AutoLoanMonthlyPayment2: val\r\n });\r\n }}\r\n >\r\n
    \r\n Savings & Money Market\r\n \r\n {\r\n this.setState({ SavingsInstitution: e.target.value });\r\n }}\r\n value={this.state.SavingsInstitution}\r\n style={{ width: '13.3vw' }}\r\n >\r\n \r\n {\r\n this.setState({ SavingsValue: e.target.value }, function () {\r\n this.calculateNetWorth();\r\n });\r\n }}\r\n value={this.formatCurrency(this.state.SavingsValue)}\r\n style={{ width: '5vw' }}\r\n onBlur={(e) => {\r\n var val = this.state.SavingsValue;\r\n if (e.target.value && e.target.value.startsWith('$') && !e.target.value.includes('.')) {\r\n val = val + '.00';\r\n }\r\n else if (e.target.value && e.target.value.startsWith('$') && e.target.value.includes('.')) {\r\n var spl = e.target.value.split(\".\");\r\n if (spl[1].length == 0) {\r\n val = val + '00';\r\n }\r\n\r\n if (spl[1].length == 1) {\r\n val = val + '0';\r\n }\r\n }\r\n this.setState({\r\n SavingsValue: val\r\n });\r\n }}\r\n >\r\n Auto Loan\r\n {\r\n this.setState({ AutoLoanInstitution3: e.target.value });\r\n }}\r\n value={this.state.AutoLoanInstitution3}\r\n style={{ width: '8vw' }}\r\n >\r\n \r\n {\r\n this.setState({ AutoLoanCurrentBalance3: e.target.value }, function () {\r\n this.calculateNetWorth();\r\n });\r\n }}\r\n value={this.formatCurrency(this.state.AutoLoanCurrentBalance3)}\r\n style={{ width: '5vw' }}\r\n onBlur={(e) => {\r\n var val = this.state.AutoLoanCurrentBalance3;\r\n if (e.target.value && e.target.value.startsWith('$') && !e.target.value.includes('.')) {\r\n val = val + '.00';\r\n }\r\n else if (e.target.value && e.target.value.startsWith('$') && e.target.value.includes('.')) {\r\n var spl = e.target.value.split(\".\");\r\n if (spl[1].length == 0) {\r\n val = val + '00';\r\n }\r\n\r\n if (spl[1].length == 1) {\r\n val = val + '0';\r\n }\r\n }\r\n this.setState({\r\n AutoLoanCurrentBalance3: val\r\n });\r\n }}\r\n >\r\n \r\n {\r\n this.setState({ AutoLoanMonthlyPayment3: e.target.value });\r\n }}\r\n value={this.formatCurrency(this.state.AutoLoanMonthlyPayment3)}\r\n style={{ width: '5vw' }}\r\n onBlur={(e) => {\r\n var val = this.state.AutoLoanMonthlyPayment3;\r\n if (e.target.value && e.target.value.startsWith('$') && !e.target.value.includes('.')) {\r\n val = val + '.00';\r\n }\r\n else if (e.target.value && e.target.value.startsWith('$') && e.target.value.includes('.')) {\r\n var spl = e.target.value.split(\".\");\r\n if (spl[1].length == 0) {\r\n val = val + '00';\r\n }\r\n\r\n if (spl[1].length == 1) {\r\n val = val + '0';\r\n }\r\n }\r\n this.setState({\r\n AutoLoanMonthlyPayment3: val\r\n });\r\n }}\r\n >\r\n
    \r\n 401K / IRA\r\n \r\n {\r\n this.setState({ Ira401KInstitution: e.target.value });\r\n }}\r\n value={this.state.Ira401KInstitution}\r\n style={{ width: '13.3vw' }}\r\n >\r\n \r\n {\r\n this.setState({ Ira401KValue: e.target.value }, function () {\r\n this.calculateNetWorth();\r\n });\r\n }}\r\n value={this.formatCurrency(this.state.Ira401KValue)}\r\n style={{ width: '5vw' }}\r\n onBlur={(e) => {\r\n var val = this.state.Ira401KValue;\r\n if (e.target.value && e.target.value.startsWith('$') && !e.target.value.includes('.')) {\r\n val = val + '.00';\r\n }\r\n else if (e.target.value && e.target.value.startsWith('$') && e.target.value.includes('.')) {\r\n var spl = e.target.value.split(\".\");\r\n if (spl[1].length == 0) {\r\n val = val + '00';\r\n }\r\n\r\n if (spl[1].length == 1) {\r\n val = val + '0';\r\n }\r\n }\r\n this.setState({\r\n Ira401KValue: val\r\n });\r\n }}\r\n >\r\n Student Loans\r\n {\r\n this.setState({ StudentLoanInstitution: e.target.value });\r\n }}\r\n value={this.state.StudentLoanInstitution}\r\n style={{ width: '8vw' }}\r\n >\r\n \r\n {\r\n this.setState({ StudentLoanCurrentBalance: e.target.value }, function () {\r\n this.calculateNetWorth();\r\n });\r\n }}\r\n value={this.formatCurrency(this.state.StudentLoanCurrentBalance)}\r\n style={{ width: '5vw' }}\r\n onBlur={(e) => {\r\n var val = this.state.StudentLoanCurrentBalance;\r\n if (e.target.value && e.target.value.startsWith('$') && !e.target.value.includes('.')) {\r\n val = val + '.00';\r\n }\r\n else if (e.target.value && e.target.value.startsWith('$') && e.target.value.includes('.')) {\r\n var spl = e.target.value.split(\".\");\r\n if (spl[1].length == 0) {\r\n val = val + '00';\r\n }\r\n\r\n if (spl[1].length == 1) {\r\n val = val + '0';\r\n }\r\n }\r\n this.setState({\r\n StudentLoanCurrentBalance: val\r\n });\r\n }}\r\n >\r\n \r\n {\r\n this.setState({ StudentLoanMonthlyPayment: e.target.value });\r\n }}\r\n value={this.formatCurrency(this.state.StudentLoanMonthlyPayment)}\r\n style={{ width: '5vw' }}\r\n onBlur={(e) => {\r\n var val = this.state.StudentLoanMonthlyPayment;\r\n if (e.target.value && e.target.value.startsWith('$') && !e.target.value.includes('.')) {\r\n val = val + '.00';\r\n }\r\n else if (e.target.value && e.target.value.startsWith('$') && e.target.value.includes('.')) {\r\n var spl = e.target.value.split(\".\");\r\n if (spl[1].length == 0) {\r\n val = val + '00';\r\n }\r\n\r\n if (spl[1].length == 1) {\r\n val = val + '0';\r\n }\r\n }\r\n this.setState({\r\n StudentLoanMonthlyPayment: val\r\n });\r\n }}\r\n >\r\n
    \r\n Stock/Bond/Mutual Funds\r\n \r\n {\r\n this.setState({ StockBondsInstitution: e.target.value });\r\n }}\r\n value={this.state.StockBondsInstitution}\r\n style={{ width: '13.3vw' }}\r\n >\r\n \r\n {\r\n this.setState({ StockBondsValue: e.target.value }, function () {\r\n this.calculateNetWorth();\r\n });\r\n }}\r\n value={this.formatCurrency(this.state.StockBondsValue)}\r\n style={{ width: '5vw' }}\r\n onBlur={(e) => {\r\n var val = this.state.StockBondsValue;\r\n if (e.target.value && e.target.value.startsWith('$') && !e.target.value.includes('.')) {\r\n val = val + '.00';\r\n }\r\n else if (e.target.value && e.target.value.startsWith('$') && e.target.value.includes('.')) {\r\n var spl = e.target.value.split(\".\");\r\n if (spl[1].length == 0) {\r\n val = val + '00';\r\n }\r\n\r\n if (spl[1].length == 1) {\r\n val = val + '0';\r\n }\r\n }\r\n this.setState({\r\n StockBondsValue: val\r\n });\r\n }}\r\n >\r\n \r\n Unsecured Loans\r\n {\r\n this.setState({ UnsecuredLoanInstitution: e.target.value });\r\n }}\r\n value={this.state.UnsecuredLoanInstitution}\r\n style={{ width: '8vw' }}\r\n >\r\n \r\n {\r\n this.setState({ UnsecuredLoanCurrentBalance: e.target.value }, function () {\r\n this.calculateNetWorth();\r\n });\r\n }}\r\n value={this.formatCurrency(this.state.UnsecuredLoanCurrentBalance)}\r\n style={{ width: '5vw' }}\r\n onBlur={(e) => {\r\n var val = this.state.UnsecuredLoanCurrentBalance;\r\n if (e.target.value && e.target.value.startsWith('$') && !e.target.value.includes('.')) {\r\n val = val + '.00';\r\n }\r\n else if (e.target.value && e.target.value.startsWith('$') && e.target.value.includes('.')) {\r\n var spl = e.target.value.split(\".\");\r\n if (spl[1].length == 0) {\r\n val = val + '00';\r\n }\r\n\r\n if (spl[1].length == 1) {\r\n val = val + '0';\r\n }\r\n }\r\n this.setState({\r\n UnsecuredLoanCurrentBalance: val\r\n });\r\n }}\r\n >\r\n \r\n {\r\n this.setState({ UnsecuredLoanMonthlyPayment: e.target.value });\r\n }}\r\n value={this.formatCurrency(this.state.UnsecuredLoanMonthlyPayment)}\r\n style={{ width: '5vw' }}\r\n onBlur={(e) => {\r\n var val = this.state.UnsecuredLoanMonthlyPayment;\r\n if (e.target.value && e.target.value.startsWith('$') && !e.target.value.includes('.')) {\r\n val = val + '.00';\r\n }\r\n else if (e.target.value && e.target.value.startsWith('$') && e.target.value.includes('.')) {\r\n var spl = e.target.value.split(\".\");\r\n if (spl[1].length == 0) {\r\n val = val + '00';\r\n }\r\n\r\n if (spl[1].length == 1) {\r\n val = val + '0';\r\n }\r\n }\r\n this.setState({\r\n UnsecuredLoanMonthlyPayment: val\r\n });\r\n }}\r\n >\r\n
    \r\n Other\r\n \r\n {\r\n this.setState({ OtherInstitution: e.target.value });\r\n }}\r\n value={this.state.OtherInstitution}\r\n style={{ width: '13.3vw' }}\r\n >\r\n \r\n {\r\n this.setState({ OtherValue: e.target.value }, function () {\r\n this.calculateNetWorth();\r\n });\r\n }}\r\n value={this.formatCurrency(this.state.OtherValue)}\r\n style={{ width: '5vw' }}\r\n onBlur={(e) => {\r\n var val = this.state.OtherValue;\r\n if (e.target.value && e.target.value.startsWith('$') && !e.target.value.includes('.')) {\r\n val = val + '.00';\r\n }\r\n else if (e.target.value && e.target.value.startsWith('$') && e.target.value.includes('.')) {\r\n var spl = e.target.value.split(\".\");\r\n if (spl[1].length == 0) {\r\n val = val + '00';\r\n }\r\n\r\n if (spl[1].length == 1) {\r\n val = val + '0';\r\n }\r\n }\r\n this.setState({\r\n OtherValue: val\r\n });\r\n }}\r\n >\r\n Credit Cards\r\n {\r\n this.setState({ CreditCardsInstitution: e.target.value });\r\n }}\r\n value={this.state.CreditCardsInstitution}\r\n style={{ width: '8vw' }}\r\n >\r\n \r\n {\r\n this.setState({ CreditCardsCurrentBalance: e.target.value }, function () {\r\n this.calculateNetWorth();\r\n });\r\n }}\r\n value={this.formatCurrency(this.state.CreditCardsCurrentBalance)}\r\n style={{ width: '5vw' }}\r\n onBlur={(e) => {\r\n var val = this.state.CreditCardsCurrentBalance;\r\n if (e.target.value && e.target.value.startsWith('$') && !e.target.value.includes('.')) {\r\n val = val + '.00';\r\n }\r\n else if (e.target.value && e.target.value.startsWith('$') && e.target.value.includes('.')) {\r\n var spl = e.target.value.split(\".\");\r\n if (spl[1].length == 0) {\r\n val = val + '00';\r\n }\r\n\r\n if (spl[1].length == 1) {\r\n val = val + '0';\r\n }\r\n }\r\n this.setState({\r\n CreditCardsCurrentBalance: val\r\n });\r\n }}\r\n >\r\n \r\n {\r\n this.setState({ CreditCardsMonthlyPayment: e.target.value });\r\n }}\r\n value={this.formatCurrency(this.state.CreditCardsMonthlyPayment)}\r\n style={{ width: '5vw' }}\r\n onBlur={(e) => {\r\n var val = this.state.CreditCardsMonthlyPayment;\r\n if (e.target.value && e.target.value.startsWith('$') && !e.target.value.includes('.')) {\r\n val = val + '.00';\r\n }\r\n else if (e.target.value && e.target.value.startsWith('$') && e.target.value.includes('.')) {\r\n var spl = e.target.value.split(\".\");\r\n if (spl[1].length == 0) {\r\n val = val + '00';\r\n }\r\n\r\n if (spl[1].length == 1) {\r\n val = val + '0';\r\n }\r\n }\r\n this.setState({\r\n CreditCardsMonthlyPayment: val\r\n });\r\n }}\r\n >\r\n
    \r\n Trust Accts\r\n \r\n {\r\n this.setState({ TrustFundInstitution: e.target.value });\r\n }}\r\n value={this.state.TrustFundInstitution}\r\n style={{ width: '13.3vw' }}\r\n >\r\n \r\n {\r\n this.setState({ TrustFundValue: e.target.value }, function () {\r\n this.calculateNetWorth();\r\n });\r\n }}\r\n value={this.formatCurrency(this.state.TrustFundValue)}\r\n style={{ width: '5vw' }}\r\n onBlur={(e) => {\r\n var val = this.state.TrustFundValue;\r\n if (e.target.value && e.target.value.startsWith('$') && !e.target.value.includes('.')) {\r\n val = val + '.00';\r\n }\r\n else if (e.target.value && e.target.value.startsWith('$') && e.target.value.includes('.')) {\r\n var spl = e.target.value.split(\".\");\r\n if (spl[1].length == 0) {\r\n val = val + '00';\r\n }\r\n\r\n if (spl[1].length == 1) {\r\n val = val + '0';\r\n }\r\n }\r\n this.setState({\r\n TrustFundValue: val\r\n });\r\n }}\r\n >\r\n Line of Credit\r\n {\r\n this.setState({ LineOfCreditInstitution: e.target.value });\r\n }}\r\n value={this.state.LineOfCreditInstitution}\r\n style={{ width: '8vw' }}\r\n >\r\n \r\n {\r\n this.setState({ LineOfCreditCurrentBalance: e.target.value }, function () {\r\n this.calculateNetWorth();\r\n });\r\n }}\r\n value={this.formatCurrency(this.state.LineOfCreditCurrentBalance)}\r\n style={{ width: '5vw' }}\r\n onBlur={(e) => {\r\n var val = this.state.LineOfCreditCurrentBalance;\r\n if (e.target.value && e.target.value.startsWith('$') && !e.target.value.includes('.')) {\r\n val = val + '.00';\r\n }\r\n else if (e.target.value && e.target.value.startsWith('$') && e.target.value.includes('.')) {\r\n var spl = e.target.value.split(\".\");\r\n if (spl[1].length == 0) {\r\n val = val + '00';\r\n }\r\n\r\n if (spl[1].length == 1) {\r\n val = val + '0';\r\n }\r\n }\r\n this.setState({\r\n LineOfCreditCurrentBalance: val\r\n });\r\n }}\r\n >\r\n \r\n {\r\n this.setState({ LineOfCreditMonthlyPayment: e.target.value });\r\n }}\r\n value={this.formatCurrency(this.state.LineOfCreditMonthlyPayment)}\r\n style={{ width: '5vw' }}\r\n onBlur={(e) => {\r\n var val = this.state.LineOfCreditMonthlyPayment;\r\n if (e.target.value && e.target.value.startsWith('$') && !e.target.value.includes('.')) {\r\n val = val + '.00';\r\n }\r\n else if (e.target.value && e.target.value.startsWith('$') && e.target.value.includes('.')) {\r\n var spl = e.target.value.split(\".\");\r\n if (spl[1].length == 0) {\r\n val = val + '00';\r\n }\r\n\r\n if (spl[1].length == 1) {\r\n val = val + '0';\r\n }\r\n }\r\n this.setState({\r\n LineOfCreditMonthlyPayment: val\r\n });\r\n }}\r\n >\r\n
    \r\n Life Insurance Cash Value\r\n \r\n {\r\n this.setState({ LifeInsuranceCashInstitution: e.target.value });\r\n }}\r\n value={this.state.LifeInsuranceCashInstitution}\r\n style={{ width: '13.3vw' }}\r\n >\r\n \r\n {\r\n this.setState({ LifeInsuranceCashValue: e.target.value }, function () {\r\n this.calculateNetWorth();\r\n });\r\n }}\r\n value={this.formatCurrency(this.state.LifeInsuranceCashValue)}\r\n style={{ width: '5vw' }}\r\n onBlur={(e) => {\r\n var val = this.state.LifeInsuranceCashValue;\r\n if (e.target.value && e.target.value.startsWith('$') && !e.target.value.includes('.')) {\r\n val = val + '.00';\r\n }\r\n else if (e.target.value && e.target.value.startsWith('$') && e.target.value.includes('.')) {\r\n var spl = e.target.value.split(\".\");\r\n if (spl[1].length == 0) {\r\n val = val + '00';\r\n }\r\n\r\n if (spl[1].length == 1) {\r\n val = val + '0';\r\n }\r\n }\r\n this.setState({\r\n LifeInsuranceCashValue: val\r\n });\r\n }}\r\n >\r\n Other\r\n {\r\n this.setState({ OtherInstitution1: e.target.value });\r\n }}\r\n value={this.state.OtherInstitution1}\r\n style={{ width: '8vw' }}\r\n >\r\n \r\n {\r\n this.setState({ OtherCurrentBalance1: e.target.value }, function () {\r\n this.calculateNetWorth();\r\n });\r\n }}\r\n value={this.formatCurrency(this.state.OtherCurrentBalance1)}\r\n style={{ width: '5vw' }}\r\n onBlur={(e) => {\r\n var val = this.state.OtherCurrentBalance1;\r\n if (e.target.value && e.target.value.startsWith('$') && !e.target.value.includes('.')) {\r\n val = val + '.00';\r\n }\r\n else if (e.target.value && e.target.value.startsWith('$') && e.target.value.includes('.')) {\r\n var spl = e.target.value.split(\".\");\r\n if (spl[1].length == 0) {\r\n val = val + '00';\r\n }\r\n\r\n if (spl[1].length == 1) {\r\n val = val + '0';\r\n }\r\n }\r\n this.setState({\r\n OtherCurrentBalance1: val\r\n });\r\n }}\r\n >\r\n \r\n {\r\n this.setState({ OtherMonthlyPayment1: e.target.value });\r\n }}\r\n value={this.formatCurrency(this.state.OtherMonthlyPayment1)}\r\n style={{ width: '5vw' }}\r\n onBlur={(e) => {\r\n var val = this.state.OtherMonthlyPayment1;\r\n if (e.target.value && e.target.value.startsWith('$') && !e.target.value.includes('.')) {\r\n val = val + '.00';\r\n }\r\n else if (e.target.value && e.target.value.startsWith('$') && e.target.value.includes('.')) {\r\n var spl = e.target.value.split(\".\");\r\n if (spl[1].length == 0) {\r\n val = val + '00';\r\n }\r\n\r\n if (spl[1].length == 1) {\r\n val = val + '0';\r\n }\r\n }\r\n this.setState({\r\n OtherMonthlyPayment1: val\r\n });\r\n }}\r\n >\r\n
    Real Estate AssetsLocation% OwnedValue ($)Mortgage HolderMo. Rental IncomeCurrent BalanceMo. Pmt. ($)
    \r\n Primary Residence\r\n \r\n {\r\n this.setState({ PrimaryResidenceLocation: e.target.value });\r\n }}\r\n value={this.state.PrimaryResidenceLocation}\r\n style={{ width: '10vw' }}\r\n >\r\n \r\n {\r\n this.setState({ PrimaryResidencePercentOwned: e.target.value });\r\n }}\r\n value={this.state.PrimaryResidencePercentOwned}\r\n style={{ width: '3vw' }}\r\n >\r\n \r\n {\r\n this.setState({ PrimaryResidenceValue: e.target.value }, function () {\r\n this.calculateNetWorth();\r\n });\r\n }}\r\n value={this.formatCurrency(this.state.PrimaryResidenceValue)}\r\n style={{ width: '5vw' }}\r\n onBlur={(e) => {\r\n var val = this.state.PrimaryResidenceValue;\r\n if (e.target.value && e.target.value.startsWith('$') && !e.target.value.includes('.')) {\r\n val = val + '.00';\r\n }\r\n else if (e.target.value && e.target.value.startsWith('$') && e.target.value.includes('.')) {\r\n var spl = e.target.value.split(\".\");\r\n if (spl[1].length == 0) {\r\n val = val + '00';\r\n }\r\n\r\n if (spl[1].length == 1) {\r\n val = val + '0';\r\n }\r\n }\r\n this.setState({\r\n PrimaryResidenceValue: val\r\n });\r\n }}\r\n >\r\n \r\n {\r\n this.setState({ PrimaryResidenceMortgageHolder: e.target.value });\r\n }}\r\n value={this.state.PrimaryResidenceMortgageHolder}\r\n style={{ width: '8vw' }}\r\n >\r\n \r\n {\r\n this.setState({ PrimaryResidenceMonthlyRentalIncome: e.target.value });\r\n }}\r\n value={this.formatCurrency(this.state.PrimaryResidenceMonthlyRentalIncome)}\r\n style={{ width: '5vw' }}\r\n >\r\n \r\n {\r\n this.setState({ PrimaryResidenceCurrentBalance: e.target.value }, function () {\r\n this.calculateNetWorth();\r\n });\r\n }}\r\n value={this.formatCurrency(this.state.PrimaryResidenceCurrentBalance)}\r\n style={{ width: '5vw' }}\r\n onBlur={(e) => {\r\n var val = this.state.PrimaryResidenceCurrentBalance;\r\n if (e.target.value && e.target.value.startsWith('$') && !e.target.value.includes('.')) {\r\n val = val + '.00';\r\n }\r\n else if (e.target.value && e.target.value.startsWith('$') && e.target.value.includes('.')) {\r\n var spl = e.target.value.split(\".\");\r\n if (spl[1].length == 0) {\r\n val = val + '00';\r\n }\r\n\r\n if (spl[1].length == 1) {\r\n val = val + '0';\r\n }\r\n }\r\n this.setState({\r\n PrimaryResidenceCurrentBalance: val\r\n });\r\n }}\r\n >\r\n \r\n {\r\n this.setState({ PrimaryResidenceMonthlyPayment: e.target.value });\r\n }}\r\n value={this.formatCurrency(this.state.PrimaryResidenceMonthlyPayment)}\r\n style={{ width: '5vw' }}\r\n onBlur={(e) => {\r\n var val = this.state.PrimaryResidenceMonthlyPayment;\r\n if (e.target.value && e.target.value.startsWith('$') && !e.target.value.includes('.')) {\r\n val = val + '.00';\r\n }\r\n else if (e.target.value && e.target.value.startsWith('$') && e.target.value.includes('.')) {\r\n var spl = e.target.value.split(\".\");\r\n if (spl[1].length == 0) {\r\n val = val + '00';\r\n }\r\n\r\n if (spl[1].length == 1) {\r\n val = val + '0';\r\n }\r\n }\r\n this.setState({\r\n PrimaryResidenceMonthlyPayment: val\r\n });\r\n }}\r\n >\r\n
    \r\n Other Personal Residence\r\n \r\n {\r\n this.setState({ OtherResidenceLocation: e.target.value });\r\n }}\r\n value={this.state.OtherResidenceLocation}\r\n style={{ width: '10vw' }}\r\n >\r\n \r\n {\r\n this.setState({ OtherResidencePercentOwned: e.target.value });\r\n }}\r\n value={this.state.OtherResidencePercentOwned}\r\n style={{ width: '3vw' }}\r\n >\r\n \r\n {\r\n this.setState({ OtherResidenceValue: e.target.value }, function () {\r\n this.calculateNetWorth();\r\n });\r\n }}\r\n value={this.formatCurrency(this.state.OtherResidenceValue)}\r\n style={{ width: '5vw' }}\r\n onBlur={(e) => {\r\n var val = this.state.OtherResidenceValue;\r\n if (e.target.value && e.target.value.startsWith('$') && !e.target.value.includes('.')) {\r\n val = val + '.00';\r\n }\r\n else if (e.target.value && e.target.value.startsWith('$') && e.target.value.includes('.')) {\r\n var spl = e.target.value.split(\".\");\r\n if (spl[1].length == 0) {\r\n val = val + '00';\r\n }\r\n\r\n if (spl[1].length == 1) {\r\n val = val + '0';\r\n }\r\n }\r\n this.setState({\r\n OtherResidenceValue: val\r\n });\r\n }}\r\n >\r\n \r\n {\r\n this.setState({ OtherResidenceMortgageHolder: e.target.value });\r\n }}\r\n value={this.state.OtherResidenceMortgageHolder}\r\n style={{ width: '8vw' }}\r\n >\r\n \r\n {\r\n this.setState({ OtherResidenceMonthlyRentalIncome: e.target.value }, function () {\r\n this.calculateNetWorth();\r\n });\r\n }}\r\n value={this.formatCurrency(this.state.OtherResidenceMonthlyRentalIncome)}\r\n style={{ width: '5vw' }}\r\n onBlur={(e) => {\r\n var val = this.state.OtherResidenceMonthlyRentalIncome;\r\n if (e.target.value && e.target.value.startsWith('$') && !e.target.value.includes('.')) {\r\n val = val + '.00';\r\n }\r\n else if (e.target.value && e.target.value.startsWith('$') && e.target.value.includes('.')) {\r\n var spl = e.target.value.split(\".\");\r\n if (spl[1].length == 0) {\r\n val = val + '00';\r\n }\r\n\r\n if (spl[1].length == 1) {\r\n val = val + '0';\r\n }\r\n }\r\n this.setState({\r\n OtherResidenceMonthlyRentalIncome: val\r\n });\r\n }}\r\n >\r\n \r\n {\r\n this.setState({ OtherResidenceCurrentBalance: e.target.value }, function () {\r\n this.calculateNetWorth();\r\n });\r\n }}\r\n value={this.formatCurrency(this.state.OtherResidenceCurrentBalance)}\r\n style={{ width: '5vw' }}\r\n onBlur={(e) => {\r\n var val = this.state.OtherResidenceCurrentBalance;\r\n if (e.target.value && e.target.value.startsWith('$') && !e.target.value.includes('.')) {\r\n val = val + '.00';\r\n }\r\n else if (e.target.value && e.target.value.startsWith('$') && e.target.value.includes('.')) {\r\n var spl = e.target.value.split(\".\");\r\n if (spl[1].length == 0) {\r\n val = val + '00';\r\n }\r\n\r\n if (spl[1].length == 1) {\r\n val = val + '0';\r\n }\r\n }\r\n this.setState({\r\n OtherResidenceCurrentBalance: val\r\n });\r\n }}\r\n >\r\n \r\n {\r\n this.setState({ OtherResidenceMonthlyPayment: e.target.value });\r\n }}\r\n value={this.formatCurrency(this.state.OtherResidenceMonthlyPayment)}\r\n style={{ width: '5vw' }}\r\n onBlur={(e) => {\r\n var val = this.state.OtherResidenceMonthlyPayment;\r\n if (e.target.value && e.target.value.startsWith('$') && !e.target.value.includes('.')) {\r\n val = val + '.00';\r\n }\r\n else if (e.target.value && e.target.value.startsWith('$') && e.target.value.includes('.')) {\r\n var spl = e.target.value.split(\".\");\r\n if (spl[1].length == 0) {\r\n val = val + '00';\r\n }\r\n\r\n if (spl[1].length == 1) {\r\n val = val + '0';\r\n }\r\n }\r\n this.setState({\r\n OtherResidenceMonthlyPayment: val\r\n });\r\n }}\r\n >\r\n
    \r\n Rental Property #1\r\n \r\n {\r\n this.setState({ RentalLocation1: e.target.value });\r\n }}\r\n value={this.state.RentalLocation1}\r\n style={{ width: '10vw' }}\r\n >\r\n \r\n {\r\n this.setState({ RentalPercentOwned1: e.target.value });\r\n }}\r\n value={this.state.RentalPercentOwned1}\r\n style={{ width: '3vw' }}\r\n >\r\n \r\n {\r\n this.setState({ RentalValue1: e.target.value }, function () {\r\n this.calculateNetWorth();\r\n });\r\n }}\r\n value={this.formatCurrency(this.state.RentalValue1)}\r\n style={{ width: '5vw' }}\r\n onBlur={(e) => {\r\n var val = this.state.RentalValue1;\r\n if (e.target.value && e.target.value.startsWith('$') && !e.target.value.includes('.')) {\r\n val = val + '.00';\r\n }\r\n else if (e.target.value && e.target.value.startsWith('$') && e.target.value.includes('.')) {\r\n var spl = e.target.value.split(\".\");\r\n if (spl[1].length == 0) {\r\n val = val + '00';\r\n }\r\n\r\n if (spl[1].length == 1) {\r\n val = val + '0';\r\n }\r\n }\r\n this.setState({\r\n RentalValue1: val\r\n });\r\n }}\r\n >\r\n \r\n {\r\n this.setState({ RentalMortgageHolder1: e.target.value });\r\n }}\r\n value={this.state.RentalMortgageHolder1}\r\n style={{ width: '8vw' }}\r\n >\r\n \r\n {\r\n this.setState({ RentalMonthlyRentalIncome1: e.target.value }, function () {\r\n this.calculateNetWorth();\r\n });\r\n }}\r\n value={this.formatCurrency(this.state.RentalMonthlyRentalIncome1)}\r\n style={{ width: '5vw' }}\r\n onBlur={(e) => {\r\n var val = this.state.RentalMonthlyRentalIncome1;\r\n if (e.target.value && e.target.value.startsWith('$') && !e.target.value.includes('.')) {\r\n val = val + '.00';\r\n }\r\n else if (e.target.value && e.target.value.startsWith('$') && e.target.value.includes('.')) {\r\n var spl = e.target.value.split(\".\");\r\n if (spl[1].length == 0) {\r\n val = val + '00';\r\n }\r\n\r\n if (spl[1].length == 1) {\r\n val = val + '0';\r\n }\r\n }\r\n this.setState({\r\n RentalMonthlyRentalIncome1: val\r\n });\r\n }}\r\n >\r\n \r\n {\r\n this.setState({ RentalBalance1: e.target.value }, function () {\r\n this.calculateNetWorth();\r\n });\r\n }}\r\n value={this.formatCurrency(this.state.RentalBalance1)}\r\n style={{ width: '5vw' }}\r\n onBlur={(e) => {\r\n var val = this.state.RentalBalance1;\r\n if (e.target.value && e.target.value.startsWith('$') && !e.target.value.includes('.')) {\r\n val = val + '.00';\r\n }\r\n else if (e.target.value && e.target.value.startsWith('$') && e.target.value.includes('.')) {\r\n var spl = e.target.value.split(\".\");\r\n if (spl[1].length == 0) {\r\n val = val + '00';\r\n }\r\n\r\n if (spl[1].length == 1) {\r\n val = val + '0';\r\n }\r\n }\r\n this.setState({\r\n RentalBalance1: val\r\n });\r\n }}\r\n >\r\n \r\n {\r\n this.setState({ RentalMonthlyPayment1: e.target.value });\r\n }}\r\n value={this.formatCurrency(this.state.RentalMonthlyPayment1)}\r\n style={{ width: '5vw' }}\r\n onBlur={(e) => {\r\n var val = this.state.RentalMonthlyPayment1;\r\n if (e.target.value && e.target.value.startsWith('$') && !e.target.value.includes('.')) {\r\n val = val + '.00';\r\n }\r\n else if (e.target.value && e.target.value.startsWith('$') && e.target.value.includes('.')) {\r\n var spl = e.target.value.split(\".\");\r\n if (spl[1].length == 0) {\r\n val = val + '00';\r\n }\r\n\r\n if (spl[1].length == 1) {\r\n val = val + '0';\r\n }\r\n }\r\n this.setState({\r\n RentalMonthlyPayment1: val\r\n });\r\n }}\r\n >\r\n
    \r\n Rental Property #2\r\n \r\n {\r\n this.setState({ RentalLocation2: e.target.value });\r\n }}\r\n value={this.state.RentalLocation2}\r\n style={{ width: '10vw' }}\r\n >\r\n \r\n {\r\n this.setState({ RentalPercentOwned2: e.target.value });\r\n }}\r\n value={this.state.RentalPercentOwned2}\r\n style={{ width: '3vw' }}\r\n >\r\n \r\n {\r\n this.setState({ RentalValue2: e.target.value }, function () {\r\n this.calculateNetWorth();\r\n });\r\n }}\r\n value={this.formatCurrency(this.state.RentalValue2)}\r\n style={{ width: '5vw' }}\r\n onBlur={(e) => {\r\n var val = this.state.RentalValue2;\r\n if (e.target.value && e.target.value.startsWith('$') && !e.target.value.includes('.')) {\r\n val = val + '.00';\r\n }\r\n else if (e.target.value && e.target.value.startsWith('$') && e.target.value.includes('.')) {\r\n var spl = e.target.value.split(\".\");\r\n if (spl[1].length == 0) {\r\n val = val + '00';\r\n }\r\n\r\n if (spl[1].length == 1) {\r\n val = val + '0';\r\n }\r\n }\r\n this.setState({\r\n RentalValue2: val\r\n });\r\n }}\r\n >\r\n \r\n {\r\n this.setState({ RentalMortgageHolder2: e.target.value });\r\n }}\r\n value={this.state.RentalMortgageHolder2}\r\n style={{ width: '8vw' }}\r\n >\r\n \r\n {\r\n this.setState({ RentalMonthlyRentalIncome2: e.target.value }, function () {\r\n this.calculateNetWorth();\r\n });\r\n }}\r\n value={this.formatCurrency(this.state.RentalMonthlyRentalIncome2)}\r\n style={{ width: '5vw' }}\r\n onBlur={(e) => {\r\n var val = this.state.RentalMonthlyRentalIncome2;\r\n if (e.target.value && e.target.value.startsWith('$') && !e.target.value.includes('.')) {\r\n val = val + '.00';\r\n }\r\n else if (e.target.value && e.target.value.startsWith('$') && e.target.value.includes('.')) {\r\n var spl = e.target.value.split(\".\");\r\n if (spl[1].length == 0) {\r\n val = val + '00';\r\n }\r\n\r\n if (spl[1].length == 1) {\r\n val = val + '0';\r\n }\r\n }\r\n this.setState({\r\n RentalMonthlyRentalIncome2: val\r\n });\r\n }}\r\n >\r\n \r\n {\r\n this.setState({ RentalBalance2: e.target.value }, function () {\r\n this.calculateNetWorth();\r\n });\r\n }}\r\n value={this.formatCurrency(this.state.RentalBalance2)}\r\n style={{ width: '5vw' }}\r\n onBlur={(e) => {\r\n var val = this.state.RentalBalance2;\r\n if (e.target.value && e.target.value.startsWith('$') && !e.target.value.includes('.')) {\r\n val = val + '.00';\r\n }\r\n else if (e.target.value && e.target.value.startsWith('$') && e.target.value.includes('.')) {\r\n var spl = e.target.value.split(\".\");\r\n if (spl[1].length == 0) {\r\n val = val + '00';\r\n }\r\n\r\n if (spl[1].length == 1) {\r\n val = val + '0';\r\n }\r\n }\r\n this.setState({\r\n RentalBalance2: val\r\n });\r\n }}\r\n >\r\n \r\n {\r\n this.setState({ RentalMonthlyPayment2: e.target.value });\r\n }}\r\n value={this.formatCurrency(this.state.RentalMonthlyPayment2)}\r\n style={{ width: '5vw' }}\r\n onBlur={(e) => {\r\n var val = this.state.RentalMonthlyPayment2;\r\n if (e.target.value && e.target.value.startsWith('$') && !e.target.value.includes('.')) {\r\n val = val + '.00';\r\n }\r\n else if (e.target.value && e.target.value.startsWith('$') && e.target.value.includes('.')) {\r\n var spl = e.target.value.split(\".\");\r\n if (spl[1].length == 0) {\r\n val = val + '00';\r\n }\r\n\r\n if (spl[1].length == 1) {\r\n val = val + '0';\r\n }\r\n }\r\n this.setState({\r\n RentalMonthlyPayment2: val\r\n });\r\n }}\r\n >\r\n
    \r\n Rental Property #3\r\n \r\n {\r\n this.setState({ RentalLocation3: e.target.value });\r\n }}\r\n value={this.state.RentalLocation3}\r\n style={{ width: '10vw' }}\r\n >\r\n \r\n {\r\n this.setState({ RentalPercentOwned3: e.target.value });\r\n }}\r\n value={this.state.RentalPercentOwned3}\r\n style={{ width: '3vw' }}\r\n >\r\n \r\n {\r\n this.setState({ RentalValue3: e.target.value }, function () {\r\n this.calculateNetWorth();\r\n });\r\n }}\r\n value={this.formatCurrency(this.state.RentalValue3)}\r\n style={{ width: '5vw' }}\r\n onBlur={(e) => {\r\n var val = this.state.RentalValue3;\r\n if (e.target.value && e.target.value.startsWith('$') && !e.target.value.includes('.')) {\r\n val = val + '.00';\r\n }\r\n else if (e.target.value && e.target.value.startsWith('$') && e.target.value.includes('.')) {\r\n var spl = e.target.value.split(\".\");\r\n if (spl[1].length == 0) {\r\n val = val + '00';\r\n }\r\n\r\n if (spl[1].length == 1) {\r\n val = val + '0';\r\n }\r\n }\r\n this.setState({\r\n RentalValue3: val\r\n });\r\n }}\r\n >\r\n \r\n {\r\n this.setState({ RentalMortgageHolder3: e.target.value });\r\n }}\r\n value={this.state.RentalMortgageHolder3}\r\n style={{ width: '8vw' }}\r\n >\r\n \r\n {\r\n this.setState({ RentalMonthlyRentalIncome3: e.target.value }, function () {\r\n this.calculateNetWorth();\r\n });\r\n }}\r\n value={this.formatCurrency(this.state.RentalMonthlyRentalIncome3)}\r\n style={{ width: '5vw' }}\r\n onBlur={(e) => {\r\n var val = this.state.RentalMonthlyRentalIncome3;\r\n if (e.target.value && e.target.value.startsWith('$') && !e.target.value.includes('.')) {\r\n val = val + '.00';\r\n }\r\n else if (e.target.value && e.target.value.startsWith('$') && e.target.value.includes('.')) {\r\n var spl = e.target.value.split(\".\");\r\n if (spl[1].length == 0) {\r\n val = val + '00';\r\n }\r\n\r\n if (spl[1].length == 1) {\r\n val = val + '0';\r\n }\r\n }\r\n this.setState({\r\n RentalMonthlyRentalIncome3: val\r\n });\r\n }}\r\n >\r\n \r\n {\r\n this.setState({ RentalBalance3: e.target.value }, function () {\r\n this.calculateNetWorth();\r\n });\r\n }}\r\n value={this.formatCurrency(this.state.RentalBalance3)}\r\n style={{ width: '5vw' }}\r\n onBlur={(e) => {\r\n var val = this.state.RentalBalance3;\r\n if (e.target.value && e.target.value.startsWith('$') && !e.target.value.includes('.')) {\r\n val = val + '.00';\r\n }\r\n else if (e.target.value && e.target.value.startsWith('$') && e.target.value.includes('.')) {\r\n var spl = e.target.value.split(\".\");\r\n if (spl[1].length == 0) {\r\n val = val + '00';\r\n }\r\n\r\n if (spl[1].length == 1) {\r\n val = val + '0';\r\n }\r\n }\r\n this.setState({\r\n RentalBalance3: val\r\n });\r\n }}\r\n >\r\n \r\n {\r\n this.setState({ RentalMonthlyPayment3: e.target.value });\r\n }}\r\n value={this.formatCurrency(this.state.RentalMonthlyPayment3)}\r\n style={{ width: '5vw' }}\r\n onBlur={(e) => {\r\n var val = this.state.RentalMonthlyPayment3;\r\n if (e.target.value && e.target.value.startsWith('$') && !e.target.value.includes('.')) {\r\n val = val + '.00';\r\n }\r\n else if (e.target.value && e.target.value.startsWith('$') && e.target.value.includes('.')) {\r\n var spl = e.target.value.split(\".\");\r\n if (spl[1].length == 0) {\r\n val = val + '00';\r\n }\r\n\r\n if (spl[1].length == 1) {\r\n val = val + '0';\r\n }\r\n }\r\n this.setState({\r\n RentalMonthlyPayment3: val\r\n });\r\n }}\r\n >\r\n
    \r\n Other\r\n \r\n {\r\n this.setState({ RealEstateOtherLocation1: e.target.value });\r\n }}\r\n value={this.state.RealEstateOtherLocation1}\r\n style={{ width: '10vw' }}\r\n >\r\n \r\n {\r\n this.setState({ RealEstateOtherPercentOwned1: e.target.value });\r\n }}\r\n value={this.state.RealEstateOtherPercentOwned1}\r\n style={{ width: '3vw' }}\r\n >\r\n \r\n {\r\n this.setState({ RealEstateOtherValue1: e.target.value }, function () {\r\n this.calculateNetWorth();\r\n });\r\n }}\r\n value={this.formatCurrency(this.state.RealEstateOtherValue1)}\r\n style={{ width: '5vw' }}\r\n onBlur={(e) => {\r\n var val = this.state.RealEstateOtherValue1;\r\n if (e.target.value && e.target.value.startsWith('$') && !e.target.value.includes('.')) {\r\n val = val + '.00';\r\n }\r\n else if (e.target.value && e.target.value.startsWith('$') && e.target.value.includes('.')) {\r\n var spl = e.target.value.split(\".\");\r\n if (spl[1].length == 0) {\r\n val = val + '00';\r\n }\r\n\r\n if (spl[1].length == 1) {\r\n val = val + '0';\r\n }\r\n }\r\n this.setState({\r\n RealEstateOtherValue1: val\r\n });\r\n }}\r\n >\r\n \r\n {\r\n this.setState({ RealEstateOtherMortgageHolder1: e.target.value });\r\n }}\r\n value={this.state.RealEstateOtherMortgageHolder1}\r\n style={{ width: '8vw' }}\r\n >\r\n \r\n {\r\n this.setState({ RealEstateOtherMonthlyRentalIncome1: e.target.value }, function () {\r\n this.calculateNetWorth();\r\n });\r\n }}\r\n value={this.formatCurrency(this.state.RealEstateOtherMonthlyRentalIncome1)}\r\n style={{ width: '5vw' }}\r\n onBlur={(e) => {\r\n var val = this.state.RealEstateOtherMonthlyRentalIncome1;\r\n if (e.target.value && e.target.value.startsWith('$') && !e.target.value.includes('.')) {\r\n val = val + '.00';\r\n }\r\n else if (e.target.value && e.target.value.startsWith('$') && e.target.value.includes('.')) {\r\n var spl = e.target.value.split(\".\");\r\n if (spl[1].length == 0) {\r\n val = val + '00';\r\n }\r\n\r\n if (spl[1].length == 1) {\r\n val = val + '0';\r\n }\r\n }\r\n this.setState({\r\n RealEstateOtherMonthlyRentalIncome1: val\r\n });\r\n }}\r\n >\r\n \r\n {\r\n this.setState({ RealEstateOtherBalance1: e.target.value }, function () {\r\n this.calculateNetWorth();\r\n });\r\n }}\r\n value={this.formatCurrency(this.state.RealEstateOtherBalance1)}\r\n style={{ width: '5vw' }}\r\n onBlur={(e) => {\r\n var val = this.state.RealEstateOtherBalance1;\r\n if (e.target.value && e.target.value.startsWith('$') && !e.target.value.includes('.')) {\r\n val = val + '.00';\r\n }\r\n else if (e.target.value && e.target.value.startsWith('$') && e.target.value.includes('.')) {\r\n var spl = e.target.value.split(\".\");\r\n if (spl[1].length == 0) {\r\n val = val + '00';\r\n }\r\n\r\n if (spl[1].length == 1) {\r\n val = val + '0';\r\n }\r\n }\r\n this.setState({\r\n RealEstateOtherBalance1: val\r\n });\r\n }}\r\n >\r\n \r\n {\r\n this.setState({ RealEstateOtherMonthlyPayment1: e.target.value });\r\n }}\r\n value={this.formatCurrency(this.state.RealEstateOtherMonthlyPayment1)}\r\n style={{ width: '5vw' }}\r\n onBlur={(e) => {\r\n var val = this.state.RealEstateOtherMonthlyPayment1;\r\n if (e.target.value && e.target.value.startsWith('$') && !e.target.value.includes('.')) {\r\n val = val + '.00';\r\n }\r\n else if (e.target.value && e.target.value.startsWith('$') && e.target.value.includes('.')) {\r\n var spl = e.target.value.split(\".\");\r\n if (spl[1].length == 0) {\r\n val = val + '00';\r\n }\r\n\r\n if (spl[1].length == 1) {\r\n val = val + '0';\r\n }\r\n }\r\n this.setState({\r\n RealEstateOtherMonthlyPayment1: val\r\n });\r\n }}\r\n >\r\n
    Business AssetsBusiness Name% OwnedValue ($)Business DebtsInstitutionCurrent BalanceMo. Pmt. ($)
    \r\n Business #1\r\n \r\n {\r\n this.setState({ BusinessAssetBusinessName1: e.target.value });\r\n }}\r\n value={this.state.BusinessAssetBusinessName1}\r\n style={{ width: '10vw' }}\r\n >\r\n \r\n {\r\n this.setState({ BusinessAssetPercentOwned1: e.target.value });\r\n }}\r\n value={this.state.BusinessAssetPercentOwned1}\r\n style={{ width: '3vw' }}\r\n >\r\n \r\n {\r\n this.setState({ BusinessAssetPercentValue1: e.target.value }, function () {\r\n this.calculateNetWorth();\r\n });\r\n }}\r\n value={this.formatCurrency(this.state.BusinessAssetPercentValue1)}\r\n style={{ width: '5vw' }}\r\n onBlur={(e) => {\r\n var val = this.state.BusinessAssetPercentValue1;\r\n if (e.target.value && e.target.value.startsWith('$') && !e.target.value.includes('.')) {\r\n val = val + '.00';\r\n }\r\n else if (e.target.value && e.target.value.startsWith('$') && e.target.value.includes('.')) {\r\n var spl = e.target.value.split(\".\");\r\n if (spl[1].length == 0) {\r\n val = val + '00';\r\n }\r\n\r\n if (spl[1].length == 1) {\r\n val = val + '0';\r\n }\r\n }\r\n this.setState({\r\n BusinessAssetPercentValue1: val\r\n });\r\n }}\r\n >\r\n \r\n {\r\n this.setState({ BusinessAssetBusinessDebts1: e.target.value });\r\n }}\r\n value={this.state.BusinessAssetBusinessDebts1}\r\n style={{ width: '8vw' }}\r\n >\r\n \r\n {\r\n this.setState({ BusinessAssetBusinessInstitution1: e.target.value });\r\n }}\r\n value={this.state.BusinessAssetBusinessInstitution1}\r\n style={{ width: '8vw' }}\r\n >\r\n \r\n {\r\n this.setState({ BusinessAssetBusinessCurrentBalance1: e.target.value }, function () {\r\n this.calculateNetWorth();\r\n });\r\n }}\r\n value={this.formatCurrency(this.state.BusinessAssetBusinessCurrentBalance1)}\r\n style={{ width: '5vw' }}\r\n onBlur={(e) => {\r\n var val = this.state.BusinessAssetBusinessCurrentBalance1;\r\n if (e.target.value && e.target.value.startsWith('$') && !e.target.value.includes('.')) {\r\n val = val + '.00';\r\n }\r\n else if (e.target.value && e.target.value.startsWith('$') && e.target.value.includes('.')) {\r\n var spl = e.target.value.split(\".\");\r\n if (spl[1].length == 0) {\r\n val = val + '00';\r\n }\r\n\r\n if (spl[1].length == 1) {\r\n val = val + '0';\r\n }\r\n }\r\n this.setState({\r\n BusinessAssetBusinessCurrentBalance1: val\r\n });\r\n }}\r\n >\r\n \r\n {\r\n this.setState({ BusinessAssetBusinessMonthlyPayment1: e.target.value });\r\n }}\r\n value={this.formatCurrency(this.state.BusinessAssetBusinessMonthlyPayment1)}\r\n style={{ width: '5vw' }}\r\n onBlur={(e) => {\r\n var val = this.state.BusinessAssetBusinessMonthlyPayment1;\r\n if (e.target.value && e.target.value.startsWith('$') && !e.target.value.includes('.')) {\r\n val = val + '.00';\r\n }\r\n else if (e.target.value && e.target.value.startsWith('$') && e.target.value.includes('.')) {\r\n var spl = e.target.value.split(\".\");\r\n if (spl[1].length == 0) {\r\n val = val + '00';\r\n }\r\n\r\n if (spl[1].length == 1) {\r\n val = val + '0';\r\n }\r\n }\r\n this.setState({\r\n BusinessAssetBusinessMonthlyPayment1: val\r\n });\r\n }}\r\n >\r\n
    \r\n Business #2\r\n \r\n {\r\n this.setState({ BusinessAssetBusinessName2: e.target.value });\r\n }}\r\n value={this.state.BusinessAssetBusinessName2}\r\n style={{ width: '10vw' }}\r\n >\r\n \r\n {\r\n this.setState({ BusinessAssetPercentOwned2: e.target.value });\r\n }}\r\n value={this.state.BusinessAssetPercentOwned2}\r\n style={{ width: '3vw' }}\r\n >\r\n \r\n {\r\n this.setState({ BusinessAssetPercentValue2: e.target.value }, function () {\r\n this.calculateNetWorth();\r\n });\r\n }}\r\n value={this.formatCurrency(this.state.BusinessAssetPercentValue2)}\r\n style={{ width: '5vw' }}\r\n onBlur={(e) => {\r\n var val = this.state.BusinessAssetPercentValue2;\r\n if (e.target.value && e.target.value.startsWith('$') && !e.target.value.includes('.')) {\r\n val = val + '.00';\r\n }\r\n else if (e.target.value && e.target.value.startsWith('$') && e.target.value.includes('.')) {\r\n var spl = e.target.value.split(\".\");\r\n if (spl[1].length == 0) {\r\n val = val + '00';\r\n }\r\n\r\n if (spl[1].length == 1) {\r\n val = val + '0';\r\n }\r\n }\r\n this.setState({\r\n BusinessAssetPercentValue2: val\r\n });\r\n }}\r\n >\r\n \r\n {\r\n this.setState({ BusinessAssetBusinessDebts2: e.target.value });\r\n }}\r\n value={this.state.BusinessAssetBusinessDebts2}\r\n style={{ width: '8vw' }}\r\n >\r\n \r\n {\r\n this.setState({ BusinessAssetBusinessInstitution2: e.target.value });\r\n }}\r\n value={this.state.BusinessAssetBusinessInstitution2}\r\n style={{ width: '8vw' }}\r\n >\r\n \r\n {\r\n this.setState({ BusinessAssetBusinessCurrentBalance2: e.target.value }, function () {\r\n this.calculateNetWorth();\r\n });\r\n }}\r\n value={this.formatCurrency(this.state.BusinessAssetBusinessCurrentBalance2)}\r\n style={{ width: '5vw' }}\r\n onBlur={(e) => {\r\n var val = this.state.BusinessAssetBusinessCurrentBalance2;\r\n if (e.target.value && e.target.value.startsWith('$') && !e.target.value.includes('.')) {\r\n val = val + '.00';\r\n }\r\n else if (e.target.value && e.target.value.startsWith('$') && e.target.value.includes('.')) {\r\n var spl = e.target.value.split(\".\");\r\n if (spl[1].length == 0) {\r\n val = val + '00';\r\n }\r\n\r\n if (spl[1].length == 1) {\r\n val = val + '0';\r\n }\r\n }\r\n this.setState({\r\n BusinessAssetBusinessCurrentBalance2: val\r\n });\r\n }}\r\n >\r\n \r\n {\r\n this.setState({ BusinessAssetBusinessMonthlyPayment2: e.target.value });\r\n }}\r\n value={this.formatCurrency(this.state.BusinessAssetBusinessMonthlyPayment2)}\r\n style={{ width: '5vw' }}\r\n onBlur={(e) => {\r\n var val = this.state.BusinessAssetBusinessMonthlyPayment2;\r\n if (e.target.value && e.target.value.startsWith('$') && !e.target.value.includes('.')) {\r\n val = val + '.00';\r\n }\r\n else if (e.target.value && e.target.value.startsWith('$') && e.target.value.includes('.')) {\r\n var spl = e.target.value.split(\".\");\r\n if (spl[1].length == 0) {\r\n val = val + '00';\r\n }\r\n\r\n if (spl[1].length == 1) {\r\n val = val + '0';\r\n }\r\n }\r\n this.setState({\r\n BusinessAssetBusinessMonthlyPayment2: val\r\n });\r\n }}\r\n >\r\n
    \r\n Business #3\r\n \r\n {\r\n this.setState({ BusinessAssetBusinessName3: e.target.value });\r\n }}\r\n value={this.state.BusinessAssetBusinessName3}\r\n style={{ width: '10vw' }}\r\n >\r\n \r\n {\r\n this.setState({ BusinessAssetPercentOwned3: e.target.value });\r\n }}\r\n value={this.state.BusinessAssetPercentOwned3}\r\n style={{ width: '3vw' }}\r\n >\r\n \r\n {\r\n this.setState({ BusinessAssetPercentValue3: e.target.value }, function () {\r\n this.calculateNetWorth();\r\n });\r\n }}\r\n value={this.formatCurrency(this.state.BusinessAssetPercentValue3)}\r\n style={{ width: '5vw' }}\r\n onBlur={(e) => {\r\n var val = this.state.BusinessAssetPercentValue3;\r\n if (e.target.value && e.target.value.startsWith('$') && !e.target.value.includes('.')) {\r\n val = val + '.00';\r\n }\r\n else if (e.target.value && e.target.value.startsWith('$') && e.target.value.includes('.')) {\r\n var spl = e.target.value.split(\".\");\r\n if (spl[1].length == 0) {\r\n val = val + '00';\r\n }\r\n\r\n if (spl[1].length == 1) {\r\n val = val + '0';\r\n }\r\n }\r\n this.setState({\r\n BusinessAssetPercentValue3: val\r\n });\r\n }}\r\n >\r\n \r\n {\r\n this.setState({ BusinessAssetBusinessDebts3: e.target.value });\r\n }}\r\n value={this.state.BusinessAssetBusinessDebts3}\r\n style={{ width: '8vw' }}\r\n >\r\n \r\n {\r\n this.setState({ BusinessAssetBusinessInstitution3: e.target.value });\r\n }}\r\n value={this.state.BusinessAssetBusinessInstitution3}\r\n style={{ width: '8vw' }}\r\n >\r\n \r\n {\r\n this.setState({ BusinessAssetBusinessCurrentBalance3: e.target.value }, function () {\r\n this.calculateNetWorth();\r\n });\r\n }}\r\n value={this.formatCurrency(this.state.BusinessAssetBusinessCurrentBalance3)}\r\n style={{ width: '5vw' }}\r\n onBlur={(e) => {\r\n var val = this.state.BusinessAssetBusinessCurrentBalance3;\r\n if (e.target.value && e.target.value.startsWith('$') && !e.target.value.includes('.')) {\r\n val = val + '.00';\r\n }\r\n else if (e.target.value && e.target.value.startsWith('$') && e.target.value.includes('.')) {\r\n var spl = e.target.value.split(\".\");\r\n if (spl[1].length == 0) {\r\n val = val + '00';\r\n }\r\n\r\n if (spl[1].length == 1) {\r\n val = val + '0';\r\n }\r\n }\r\n this.setState({\r\n BusinessAssetBusinessCurrentBalance3: val\r\n });\r\n }}\r\n >\r\n \r\n {\r\n this.setState({ BusinessAssetBusinessMonthlyPayment3: e.target.value });\r\n }}\r\n value={this.formatCurrency(this.state.BusinessAssetBusinessMonthlyPayment3)}\r\n style={{ width: '5vw' }}\r\n onBlur={(e) => {\r\n var val = this.state.BusinessAssetBusinessMonthlyPayment3;\r\n if (e.target.value && e.target.value.startsWith('$') && !e.target.value.includes('.')) {\r\n val = val + '.00';\r\n }\r\n else if (e.target.value && e.target.value.startsWith('$') && e.target.value.includes('.')) {\r\n var spl = e.target.value.split(\".\");\r\n if (spl[1].length == 0) {\r\n val = val + '00';\r\n }\r\n\r\n if (spl[1].length == 1) {\r\n val = val + '0';\r\n }\r\n }\r\n this.setState({\r\n BusinessAssetBusinessMonthlyPayment3: val\r\n });\r\n }}\r\n >\r\n
    \r\n Business #4\r\n \r\n {\r\n this.setState({ BusinessAssetBusinessName4: e.target.value });\r\n }}\r\n value={this.state.BusinessAssetBusinessName4}\r\n style={{ width: '10vw' }}\r\n >\r\n \r\n {\r\n this.setState({ BusinessAssetPercentOwned4: e.target.value });\r\n }}\r\n value={this.state.BusinessAssetPercentOwned4}\r\n style={{ width: '3vw' }}\r\n >\r\n \r\n {\r\n this.setState({ BusinessAssetPercentValue4: e.target.value }, function () {\r\n this.calculateNetWorth();\r\n });\r\n }}\r\n value={this.formatCurrency(this.state.BusinessAssetPercentValue4)}\r\n style={{ width: '5vw' }}\r\n onBlur={(e) => {\r\n var val = this.state.BusinessAssetPercentValue4;\r\n if (e.target.value && e.target.value.startsWith('$') && !e.target.value.includes('.')) {\r\n val = val + '.00';\r\n }\r\n else if (e.target.value && e.target.value.startsWith('$') && e.target.value.includes('.')) {\r\n var spl = e.target.value.split(\".\");\r\n if (spl[1].length == 0) {\r\n val = val + '00';\r\n }\r\n\r\n if (spl[1].length == 1) {\r\n val = val + '0';\r\n }\r\n }\r\n this.setState({\r\n BusinessAssetPercentValue4: val\r\n });\r\n }}\r\n >\r\n \r\n {\r\n this.setState({ BusinessAssetBusinessDebts4: e.target.value });\r\n }}\r\n value={this.state.BusinessAssetBusinessDebts4}\r\n style={{ width: '8vw' }}\r\n >\r\n \r\n {\r\n this.setState({ BusinessAssetBusinessInstitution4: e.target.value });\r\n }}\r\n value={this.state.BusinessAssetBusinessInstitution4}\r\n style={{ width: '8vw' }}\r\n >\r\n \r\n {\r\n this.setState({ BusinessAssetBusinessCurrentBalance4: e.target.value }, function () {\r\n this.calculateNetWorth();\r\n });\r\n }}\r\n value={this.formatCurrency(this.state.BusinessAssetBusinessCurrentBalance4)}\r\n style={{ width: '5vw' }}\r\n onBlur={(e) => {\r\n var val = this.state.BusinessAssetBusinessCurrentBalance4;\r\n if (e.target.value && e.target.value.startsWith('$') && !e.target.value.includes('.')) {\r\n val = val + '.00';\r\n }\r\n else if (e.target.value && e.target.value.startsWith('$') && e.target.value.includes('.')) {\r\n var spl = e.target.value.split(\".\");\r\n if (spl[1].length == 0) {\r\n val = val + '00';\r\n }\r\n\r\n if (spl[1].length == 1) {\r\n val = val + '0';\r\n }\r\n }\r\n this.setState({\r\n BusinessAssetBusinessCurrentBalance4: val\r\n });\r\n }}\r\n >\r\n \r\n {\r\n this.setState({ BusinessAssetBusinessMonthlyPayment4: e.target.value });\r\n }}\r\n value={this.formatCurrency(this.state.BusinessAssetBusinessMonthlyPayment4)}\r\n style={{ width: '5vw' }}\r\n onBlur={(e) => {\r\n var val = this.state.BusinessAssetBusinessMonthlyPayment4;\r\n if (e.target.value && e.target.value.startsWith('$') && !e.target.value.includes('.')) {\r\n val = val + '.00';\r\n }\r\n else if (e.target.value && e.target.value.startsWith('$') && e.target.value.includes('.')) {\r\n var spl = e.target.value.split(\".\");\r\n if (spl[1].length == 0) {\r\n val = val + '00';\r\n }\r\n\r\n if (spl[1].length == 1) {\r\n val = val + '0';\r\n }\r\n }\r\n this.setState({\r\n BusinessAssetBusinessMonthlyPayment4: val\r\n });\r\n }}\r\n >\r\n
    Other AssetsValue ($)Other Secured LoansInstitutionCurrent BalanceMo. Pmt. ($)
    \r\n Current Boat\r\n \r\n {\r\n this.setState({ OtherAssetsCurrentBoatInstitution: e.target.value });\r\n }}\r\n value={this.state.OtherAssetsCurrentBoatInstitution}\r\n style={{ width: '10vw' }}\r\n >\r\n \r\n \r\n {\r\n this.setState({ OtherAssetCurrentBoatValue: e.target.value }, function () {\r\n this.calculateNetWorth();\r\n });\r\n }}\r\n value={this.formatCurrency(this.state.OtherAssetCurrentBoatValue)}\r\n style={{ width: '5vw' }}\r\n onBlur={(e) => {\r\n var val = this.state.OtherAssetCurrentBoatValue;\r\n if (e.target.value && e.target.value.startsWith('$') && !e.target.value.includes('.')) {\r\n val = val + '.00';\r\n }\r\n else if (e.target.value && e.target.value.startsWith('$') && e.target.value.includes('.')) {\r\n var spl = e.target.value.split(\".\");\r\n if (spl[1].length == 0) {\r\n val = val + '00';\r\n }\r\n\r\n if (spl[1].length == 1) {\r\n val = val + '0';\r\n }\r\n }\r\n this.setState({\r\n OtherAssetCurrentBoatValue: val\r\n });\r\n }}\r\n >\r\n \r\n Boat Loan\r\n \r\n {\r\n this.setState({ OtherSecuredLoansBoatInstitution1: e.target.value });\r\n }}\r\n value={this.state.OtherSecuredLoansBoatInstitution1}\r\n style={{ width: '8vw' }}\r\n >\r\n \r\n {\r\n this.setState({ OtherSecuredLoansBoatCurrentBalance1: e.target.value }, function () {\r\n this.calculateNetWorth();\r\n });\r\n }}\r\n value={this.formatCurrency(this.state.OtherSecuredLoansBoatCurrentBalance1)}\r\n style={{ width: '5vw' }}\r\n onBlur={(e) => {\r\n var val = this.state.OtherSecuredLoansBoatCurrentBalance1;\r\n if (e.target.value && e.target.value.startsWith('$') && !e.target.value.includes('.')) {\r\n val = val + '.00';\r\n }\r\n else if (e.target.value && e.target.value.startsWith('$') && e.target.value.includes('.')) {\r\n var spl = e.target.value.split(\".\");\r\n if (spl[1].length == 0) {\r\n val = val + '00';\r\n }\r\n\r\n if (spl[1].length == 1) {\r\n val = val + '0';\r\n }\r\n }\r\n this.setState({\r\n OtherSecuredLoansBoatCurrentBalance1: val\r\n });\r\n }}\r\n >\r\n \r\n {\r\n this.setState({ OtherSecuredLoansBoatMonthlyPayment1: e.target.value });\r\n }}\r\n value={this.formatCurrency(this.state.OtherSecuredLoansBoatMonthlyPayment1)}\r\n style={{ width: '5vw' }}\r\n onBlur={(e) => {\r\n var val = this.state.OtherSecuredLoansBoatMonthlyPayment1;\r\n if (e.target.value && e.target.value.startsWith('$') && !e.target.value.includes('.')) {\r\n val = val + '.00';\r\n }\r\n else if (e.target.value && e.target.value.startsWith('$') && e.target.value.includes('.')) {\r\n var spl = e.target.value.split(\".\");\r\n if (spl[1].length == 0) {\r\n val = val + '00';\r\n }\r\n\r\n if (spl[1].length == 1) {\r\n val = val + '0';\r\n }\r\n }\r\n this.setState({\r\n OtherSecuredLoansBoatMonthlyPayment1: val\r\n });\r\n }}\r\n >\r\n
    \r\n 2nd Boat, RV or Aircraft\r\n \r\n {\r\n this.setState({ OtherAssets2ndBoatInstitution: e.target.value });\r\n }}\r\n value={this.state.OtherAssets2ndBoatInstitution}\r\n style={{ width: '10vw' }}\r\n >\r\n \r\n \r\n {\r\n this.setState({ OtherAsset2ndBoatValue: e.target.value }, function () {\r\n this.calculateNetWorth();\r\n });\r\n }}\r\n value={this.formatCurrency(this.state.OtherAsset2ndBoatValue)}\r\n style={{ width: '5vw' }}\r\n onBlur={(e) => {\r\n var val = this.state.OtherAsset2ndBoatValue;\r\n if (e.target.value && e.target.value.startsWith('$') && !e.target.value.includes('.')) {\r\n val = val + '.00';\r\n }\r\n else if (e.target.value && e.target.value.startsWith('$') && e.target.value.includes('.')) {\r\n var spl = e.target.value.split(\".\");\r\n if (spl[1].length == 0) {\r\n val = val + '00';\r\n }\r\n\r\n if (spl[1].length == 1) {\r\n val = val + '0';\r\n }\r\n }\r\n this.setState({\r\n OtherAsset2ndBoatValue: val\r\n });\r\n }}\r\n >\r\n \r\n Boat/RV or Aircraft Loan\r\n \r\n {\r\n this.setState({ OtherSecuredLoansRVAircraftInstitution: e.target.value });\r\n }}\r\n value={this.state.OtherSecuredLoansRVAircraftInstitution}\r\n style={{ width: '8vw' }}\r\n >\r\n \r\n {\r\n this.setState({ OtherSecuredLoansRVAircraftCurrentBalance: e.target.value }, function () {\r\n this.calculateNetWorth();\r\n });\r\n }}\r\n value={this.formatCurrency(this.state.OtherSecuredLoansRVAircraftCurrentBalance)}\r\n style={{ width: '5vw' }}\r\n onBlur={(e) => {\r\n var val = this.state.OtherSecuredLoansRVAircraftCurrentBalance;\r\n if (e.target.value && e.target.value.startsWith('$') && !e.target.value.includes('.')) {\r\n val = val + '.00';\r\n }\r\n else if (e.target.value && e.target.value.startsWith('$') && e.target.value.includes('.')) {\r\n var spl = e.target.value.split(\".\");\r\n if (spl[1].length == 0) {\r\n val = val + '00';\r\n }\r\n\r\n if (spl[1].length == 1) {\r\n val = val + '0';\r\n }\r\n }\r\n this.setState({\r\n OtherSecuredLoansRVAircraftCurrentBalance: val\r\n });\r\n }}\r\n >\r\n \r\n {\r\n this.setState({ OtherSecuredLoansRVAircraftMonthlyPayment: e.target.value });\r\n }}\r\n value={this.formatCurrency(this.state.OtherSecuredLoansRVAircraftMonthlyPayment)}\r\n style={{ width: '5vw' }}\r\n onBlur={(e) => {\r\n var val = this.state.OtherSecuredLoansRVAircraftMonthlyPayment;\r\n if (e.target.value && e.target.value.startsWith('$') && !e.target.value.includes('.')) {\r\n val = val + '.00';\r\n }\r\n else if (e.target.value && e.target.value.startsWith('$') && e.target.value.includes('.')) {\r\n var spl = e.target.value.split(\".\");\r\n if (spl[1].length == 0) {\r\n val = val + '00';\r\n }\r\n\r\n if (spl[1].length == 1) {\r\n val = val + '0';\r\n }\r\n }\r\n this.setState({\r\n OtherSecuredLoansRVAircraftMonthlyPayment: val\r\n });\r\n }}\r\n >\r\n
    \r\n Automobiles\r\n \r\n \r\n \r\n {\r\n this.setState({ OtherAssetAutomobilesValue: e.target.value }, function () {\r\n this.calculateNetWorth();\r\n });\r\n }}\r\n value={this.formatCurrency(this.state.OtherAssetAutomobilesValue)}\r\n style={{ width: '5vw' }}\r\n onBlur={(e) => {\r\n var val = this.state.OtherAssetAutomobilesValue;\r\n if (e.target.value && e.target.value.startsWith('$') && !e.target.value.includes('.')) {\r\n val = val + '.00';\r\n }\r\n else if (e.target.value && e.target.value.startsWith('$') && e.target.value.includes('.')) {\r\n var spl = e.target.value.split(\".\");\r\n if (spl[1].length == 0) {\r\n val = val + '00';\r\n }\r\n\r\n if (spl[1].length == 1) {\r\n val = val + '0';\r\n }\r\n }\r\n this.setState({\r\n OtherAssetAutomobilesValue: val\r\n });\r\n }}\r\n >\r\n \r\n Other\r\n \r\n {\r\n this.setState({ OtherSecuredLoansOtherInstitution1: e.target.value });\r\n }}\r\n value={this.state.OtherSecuredLoansOtherInstitution1}\r\n style={{ width: '8vw' }}\r\n >\r\n \r\n {\r\n this.setState({ OtherSecuredLoansOtherCurrentBalance1: e.target.value }, function () {\r\n this.calculateNetWorth();\r\n });\r\n }}\r\n value={this.formatCurrency(this.state.OtherSecuredLoansOtherCurrentBalance1)}\r\n style={{ width: '5vw' }}\r\n onBlur={(e) => {\r\n var val = this.state.OtherSecuredLoansOtherCurrentBalance1;\r\n if (e.target.value && e.target.value.startsWith('$') && !e.target.value.includes('.')) {\r\n val = val + '.00';\r\n }\r\n else if (e.target.value && e.target.value.startsWith('$') && e.target.value.includes('.')) {\r\n var spl = e.target.value.split(\".\");\r\n if (spl[1].length == 0) {\r\n val = val + '00';\r\n }\r\n\r\n if (spl[1].length == 1) {\r\n val = val + '0';\r\n }\r\n }\r\n this.setState({\r\n OtherSecuredLoansOtherCurrentBalance1: val\r\n });\r\n }}\r\n >\r\n \r\n {\r\n this.setState({ OtherSecuredLoansOtherMonthlyPayment1: e.target.value });\r\n }}\r\n value={this.formatCurrency(this.state.OtherSecuredLoansOtherMonthlyPayment1)}\r\n style={{ width: '5vw' }}\r\n onBlur={(e) => {\r\n var val = this.state.OtherSecuredLoansOtherMonthlyPayment1;\r\n if (e.target.value && e.target.value.startsWith('$') && !e.target.value.includes('.')) {\r\n val = val + '.00';\r\n }\r\n else if (e.target.value && e.target.value.startsWith('$') && e.target.value.includes('.')) {\r\n var spl = e.target.value.split(\".\");\r\n if (spl[1].length == 0) {\r\n val = val + '00';\r\n }\r\n\r\n if (spl[1].length == 1) {\r\n val = val + '0';\r\n }\r\n }\r\n this.setState({\r\n OtherSecuredLoansOtherMonthlyPayment1: val\r\n });\r\n }}\r\n >\r\n
    \r\n Art & Jewelry\r\n \r\n \r\n \r\n {\r\n this.setState({ OtherAssetArtJeweleryValue: e.target.value }, function () {\r\n this.calculateNetWorth();\r\n });\r\n }}\r\n value={this.formatCurrency(this.state.OtherAssetArtJeweleryValue)}\r\n style={{ width: '5vw' }}\r\n onBlur={(e) => {\r\n var val = this.state.OtherAssetArtJeweleryValue;\r\n if (e.target.value && e.target.value.startsWith('$') && !e.target.value.includes('.')) {\r\n val = val + '.00';\r\n }\r\n else if (e.target.value && e.target.value.startsWith('$') && e.target.value.includes('.')) {\r\n var spl = e.target.value.split(\".\");\r\n if (spl[1].length == 0) {\r\n val = val + '00';\r\n }\r\n\r\n if (spl[1].length == 1) {\r\n val = val + '0';\r\n }\r\n }\r\n this.setState({\r\n OtherAssetArtJeweleryValue: val\r\n });\r\n }}\r\n >\r\n \r\n Other\r\n \r\n {\r\n this.setState({ OtherSecuredLoansOtherInstitution2: e.target.value });\r\n }}\r\n value={this.state.OtherSecuredLoansOtherInstitution2}\r\n style={{ width: '8vw' }}\r\n >\r\n \r\n {\r\n this.setState({ OtherSecuredLoansOtherCurrentBalance2: e.target.value }, function () {\r\n this.calculateNetWorth();\r\n });\r\n }}\r\n value={this.formatCurrency(this.state.OtherSecuredLoansOtherCurrentBalance2)}\r\n style={{ width: '5vw' }}\r\n onBlur={(e) => {\r\n var val = this.state.OtherSecuredLoansOtherCurrentBalance2;\r\n if (e.target.value && e.target.value.startsWith('$') && !e.target.value.includes('.')) {\r\n val = val + '.00';\r\n }\r\n else if (e.target.value && e.target.value.startsWith('$') && e.target.value.includes('.')) {\r\n var spl = e.target.value.split(\".\");\r\n if (spl[1].length == 0) {\r\n val = val + '00';\r\n }\r\n\r\n if (spl[1].length == 1) {\r\n val = val + '0';\r\n }\r\n }\r\n this.setState({\r\n OtherSecuredLoansOtherCurrentBalance2: val\r\n });\r\n }}\r\n >\r\n \r\n {\r\n this.setState({ OtherSecuredLoansOtherMonthlyPayment2: e.target.value });\r\n }}\r\n value={this.formatCurrency(this.state.OtherSecuredLoansOtherMonthlyPayment2)}\r\n style={{ width: '5vw' }}\r\n onBlur={(e) => {\r\n var val = this.state.OtherSecuredLoansOtherMonthlyPayment2;\r\n if (e.target.value && e.target.value.startsWith('$') && !e.target.value.includes('.')) {\r\n val = val + '.00';\r\n }\r\n else if (e.target.value && e.target.value.startsWith('$') && e.target.value.includes('.')) {\r\n var spl = e.target.value.split(\".\");\r\n if (spl[1].length == 0) {\r\n val = val + '00';\r\n }\r\n\r\n if (spl[1].length == 1) {\r\n val = val + '0';\r\n }\r\n }\r\n this.setState({\r\n OtherSecuredLoansOtherMonthlyPayment2: val\r\n });\r\n }}\r\n >\r\n
    \r\n Other\r\n \r\n \r\n \r\n {\r\n this.setState({ OtherAssetOtherValue: e.target.value }, function () {\r\n this.calculateNetWorth();\r\n });\r\n }}\r\n value={this.formatCurrency(this.state.OtherAssetOtherValue)}\r\n style={{ width: '5vw' }}\r\n onBlur={(e) => {\r\n var val = this.state.OtherAssetOtherValue;\r\n if (e.target.value && e.target.value.startsWith('$') && !e.target.value.includes('.')) {\r\n val = val + '.00';\r\n }\r\n else if (e.target.value && e.target.value.startsWith('$') && e.target.value.includes('.')) {\r\n var spl = e.target.value.split(\".\");\r\n if (spl[1].length == 0) {\r\n val = val + '00';\r\n }\r\n\r\n if (spl[1].length == 1) {\r\n val = val + '0';\r\n }\r\n }\r\n this.setState({\r\n OtherAssetOtherValue: val\r\n });\r\n }}\r\n >\r\n \r\n Other\r\n \r\n {\r\n this.setState({ OtherSecuredLoansOtherInstitution3: e.target.value });\r\n }}\r\n value={this.state.OtherSecuredLoansOtherInstitution3}\r\n style={{ width: '8vw' }}\r\n >\r\n \r\n {\r\n this.setState({ OtherSecuredLoansOtherCurrentBalance3: e.target.value }, function () {\r\n this.calculateNetWorth();\r\n });\r\n }}\r\n value={this.formatCurrency(this.state.OtherSecuredLoansOtherCurrentBalance3)}\r\n style={{ width: '5vw' }}\r\n onBlur={(e) => {\r\n var val = this.state.OtherSecuredLoansOtherCurrentBalance3;\r\n if (e.target.value && e.target.value.startsWith('$') && !e.target.value.includes('.')) {\r\n val = val + '.00';\r\n }\r\n else if (e.target.value && e.target.value.startsWith('$') && e.target.value.includes('.')) {\r\n var spl = e.target.value.split(\".\");\r\n if (spl[1].length == 0) {\r\n val = val + '00';\r\n }\r\n\r\n if (spl[1].length == 1) {\r\n val = val + '0';\r\n }\r\n }\r\n this.setState({\r\n OtherSecuredLoansOtherCurrentBalance3: val\r\n });\r\n }}\r\n >\r\n \r\n {\r\n this.setState({ OtherSecuredLoansOtherMonthlyPayment3: e.target.value });\r\n }}\r\n value={this.formatCurrency(this.state.OtherSecuredLoansOtherMonthlyPayment3)}\r\n style={{ width: '5vw' }}\r\n onBlur={(e) => {\r\n var val = this.state.OtherSecuredLoansOtherMonthlyPayment3;\r\n if (e.target.value && e.target.value.startsWith('$') && !e.target.value.includes('.')) {\r\n val = val + '.00';\r\n }\r\n else if (e.target.value && e.target.value.startsWith('$') && e.target.value.includes('.')) {\r\n var spl = e.target.value.split(\".\");\r\n if (spl[1].length == 0) {\r\n val = val + '00';\r\n }\r\n\r\n if (spl[1].length == 1) {\r\n val = val + '0';\r\n }\r\n }\r\n this.setState({\r\n OtherSecuredLoansOtherMonthlyPayment3: val\r\n });\r\n }}\r\n >\r\n
     
    Total Assets\r\n {\r\n this.setState({ TotalAssets: e.target.value });\r\n }}\r\n value={this.state.TotalAssets}\r\n style={{ width: '10vw' }}\r\n disabled={true}\r\n >\r\n
    Total Liabilities\r\n {\r\n this.setState({ TotalLiabilities: e.target.value });\r\n }}\r\n value={this.state.TotalLiabilities}\r\n style={{ width: '10vw' }}\r\n disabled={true}\r\n >\r\n
    Net Worth
    \r\n {\r\n this.setState({ NetWorth: e.target.value });\r\n }}\r\n value={this.state.NetWorth}\r\n style={{ width: '10vw' }}\r\n disabled={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 \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 Have you ever had a boat loan before?\r\n \r\n
    \r\n {\r\n this.setState({ HadBoatLoanBefore: e.target.checked ? \"Yes\" : \"No\" });\r\n }}\r\n checked={this.state.HadBoatLoanBefore === \"Yes\"}\r\n >\r\n \r\n {\r\n this.setState({ HadBoatLoanBefore: e.target.checked ? \"No\" : \"Yes\" });\r\n }}\r\n checked={this.state.HadBoatLoanBefore === \"No\"}\r\n >\r\n \r\n {this.state.HadBoatLoanBefore === \"Yes\" ?\r\n {\r\n this.setState({ HadBoatLoanBeforeLendingBanks: e });\r\n }}\r\n Value={this.state.HadBoatLoanBeforeLendingBanks ?? \"\"}\r\n Style={{ width: '10vw' }}\r\n />\r\n : null}\r\n
    \r\n
    \r\n Have you filed bankruptcy in the last 7 years?\r\n \r\n
    \r\n {\r\n this.setState({ BankruptcyLast7Years: e.target.checked ? \"Yes\" : \"No\" });\r\n }}\r\n checked={this.state.BankruptcyLast7Years === \"Yes\"}\r\n >\r\n \r\n {\r\n this.setState({ BankruptcyLast7Years: e.target.checked ? \"No\" : \"Yes\" });\r\n }}\r\n checked={this.state.BankruptcyLast7Years === \"No\"}\r\n >\r\n \r\n
    \r\n
    \r\n Are you obligated to pay alimony or child support?\r\n \r\n
    \r\n {\r\n this.setState({ AlimonyChildSupport: e.target.checked ? \"Yes\" : \"No\" });\r\n }}\r\n checked={this.state.AlimonyChildSupport === \"Yes\"}\r\n >\r\n \r\n {\r\n this.setState({ AlimonyChildSupport: e.target.checked ? \"No\" : \"Yes\" });\r\n }}\r\n checked={this.state.AlimonyChildSupport === \"No\"}\r\n >\r\n \r\n {this.state.AlimonyChildSupport === \"Yes\" ?\r\n {\r\n this.setState({ AlimonyChildSupportObligation: e });\r\n }}\r\n Value={this.formatCurrency(this.state.AlimonyChildSupportObligation)}\r\n Style={{ width: '10vw' }}\r\n />\r\n : null}\r\n
    \r\n
    \r\n Are any of your personal assets jointly owned?\r\n \r\n
    \r\n {\r\n this.setState({ AssetsJointlyOwned: e.target.checked ? \"Yes\" : \"No\" });\r\n }}\r\n checked={this.state.AssetsJointlyOwned === \"Yes\"}\r\n >\r\n \r\n {\r\n this.setState({ AssetsJointlyOwned: e.target.checked ? \"No\" : \"Yes\" });\r\n }}\r\n checked={this.state.AssetsJointlyOwned === \"No\"}\r\n >\r\n \r\n {this.state.AssetsJointlyOwned === \"Yes\" ?\r\n {\r\n this.setState({ AssetsJointlyOwnedMajorAssetHolder: e });\r\n }}\r\n Value={this.state.AssetsJointlyOwnedMajorAssetHolder ?? \"\"}\r\n Style={{ width: '10vw' }}\r\n />\r\n : null}\r\n
    \r\n
    \r\n Are you a defendant in any suit or legal action?\r\n \r\n
    \r\n {\r\n this.setState({ DefendantInLawsuit: e.target.checked ? \"Yes\" : \"No\" });\r\n }}\r\n checked={this.state.DefendantInLawsuit === \"Yes\"}\r\n >\r\n \r\n {\r\n this.setState({ DefendantInLawsuit: e.target.checked ? \"No\" : \"Yes\" });\r\n }}\r\n checked={this.state.DefendantInLawsuit === \"No\"}\r\n >\r\n \r\n {this.state.DefendantInLawsuit === \"Yes\" ?\r\n {\r\n this.setState({ DefendantInLawsuitExplain: e });\r\n }}\r\n Value={this.state.DefendantInLawsuitExplain ?? \"\"}\r\n Style={{ width: '10vw' }}\r\n />\r\n : null}\r\n
    \r\n
    \r\n Please indicate your primary business bank
    relationship, if applicable\r\n
    \r\n {\r\n this.setState({ PrimaryBusinessBankRelationship: e });\r\n }}\r\n Value={this.state.PrimaryBusinessBankRelationship ?? \"\"}\r\n Style={{ width: '15vw' }}\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 Every person who signs this statement confirms that the information above is true and accurate to the best of their knowledge,\r\n and understands that this informationwill be relayed upon when determining whether or not credit will be granted in conjunction\r\n with the accompanying loan application.\r\n
    \r\n
    \r\n
    \r\n
    \r\n {\r\n this.setState({ DiscloserAcknowledgement: !this.state.DiscloserAcknowledgement })\r\n }}\r\n style={{ marginRight: '5px' }}\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 this.setState({ BorrowerSignature: e });\r\n }}\r\n Value={this.state.BorrowerSignature ?? \"\"}\r\n Style={{ width: '12vw', fontFamily: 'Imperial Script', fontSize: '18px', marginBottom: '7px' }}\r\n />\r\n \r\n    \r\n \r\n {localStorage.getItem(\"APP_TYPE\") != null && localStorage.getItem(\"APP_TYPE\") == \"Individual\" ? null :\r\n {\r\n this.setState({ CoBorrowerSignature: e });\r\n }}\r\n Value={this.state.CoBorrowerSignature ?? \"\"}\r\n Style={{ width: '12vw', fontFamily: 'Imperial Script', fontSize: '18px', marginBottom: '7px' }}\r\n />\r\n }\r\n
    \r\n {\r\n this.setState({ BorrowerSignatureName: e });\r\n }}\r\n Value={this.state.BorrowerSignatureName ?? \"\"}\r\n Style={{ width: '12vw', marginBottom: '7px' }}\r\n />\r\n \r\n    \r\n \r\n {localStorage.getItem(\"APP_TYPE\") != null && localStorage.getItem(\"APP_TYPE\") == \"Individual\" ? null :\r\n {\r\n this.setState({ CoBorrowerSignatureName: e });\r\n }}\r\n Value={this.state.CoBorrowerSignatureName ?? \"\"}\r\n Style={{ width: '12vw', marginBottom: '7px' }}\r\n />\r\n }\r\n
    \r\n {\r\n this.setState({ BorrowerSignatureDate: e });\r\n }}\r\n Value={this.state.BorrowerSignatureDate != undefined ? this.sqlToJsDate(this.state.BorrowerSignatureDate) : this.setState({ BorrowerSignatureDate: new Date().toLocaleDateString('en-CA') })}\r\n Style={{ width: '7vw' }}\r\n />\r\n \r\n    \r\n \r\n {localStorage.getItem(\"APP_TYPE\") != null && localStorage.getItem(\"APP_TYPE\") == \"Individual\" ? null :\r\n {\r\n this.setState({ CoBorrowerSignatureDate: e });\r\n }}\r\n Value={this.state.CoBorrowerSignatureDate != undefined ? this.sqlToJsDate(this.state.CoBorrowerSignatureDate) : this.setState({ CoBorrowerSignatureDate: new Date().toLocaleDateString('en-CA') })}\r\n Style={{ width: '7vw' }}\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 this.save(1);\r\n }}\r\n >Back\r\n \r\n \r\n {\r\n this.save();\r\n }}\r\n disabled={!this.state.DiscloserAcknowledgement && !this.state.ApplicationReceivedOffline}\r\n >Done\r\n
    \r\n
    \r\n
    \r\n );\r\n }\r\n}","import React, { Component } from 'react';\r\nimport { _fetch } from './_fetch';\r\nimport { Spinner } from 'reactstrap';\r\nimport TextInput from './TextInput';\r\nimport Toast from './toast.js';\r\nimport NavBox from './navbox';\r\nimport { customFunctions } from './CustomFunctions.js';\r\n\r\nexport class SellerInformation extends Component {\r\n static displayName = SellerInformation.name;\r\n constructor(props) {\r\n super(props);\r\n\r\n this.state = {\r\n loading: false,\r\n showToast: false,\r\n toastMessage: '',\r\n toastItems: [],\r\n ShowNavBox: false,\r\n showPrintModal: false,\r\n TradePayoff: \"Yes\",\r\n SellerPayoff: \"No\"\r\n }\r\n\r\n //this.termOtherRef = React.createRef();\r\n //this.loanAmountRef = React.createRef();\r\n }\r\n\r\n componentDidMount() {\r\n let id = sessionStorage.getItem(\"ID\");\r\n if (id !== 0 && id !== null) {\r\n this.loadPage(id);\r\n this.setState({ CreditApplicationId: id, ShowNavBox: true });\r\n }\r\n else {\r\n this.setState({ CreditApplicationId: 0, ShowNavBox: true });\r\n }\r\n }\r\n\r\n calculateReferralPercent() {\r\n var loanAmount = this.zeroOrValue(this.state.LoanAmount?.replace(/,/g, '')?.replace('$', ''));\r\n var referralAmount = this.zeroOrValue(this.state.DealerReferralAmount?.replace(/,/g, '')?.replace('$', ''));\r\n\r\n var _perc = referralAmount / loanAmount * 100;\r\n\r\n this.setState({ DealerReferralPercent: _perc == 0 ? '' : parseFloat(_perc).toFixed(3) });\r\n }\r\n\r\n calculateTotals() {\r\n if (this.state.LoanAmount != undefined) {\r\n var loanAmount = this.zeroOrValue(this.state.LoanAmount.replace(/,/g, '').replace('$', ''));\r\n var referralPercentage = this.zeroOrValue(this.state.DealerReferralPercent);\r\n\r\n var dealerReferralAmount = loanAmount * (referralPercentage / 100);\r\n\r\n //if (dealerReferralAmount > 0) {\r\n dealerReferralAmount = Math.round((dealerReferralAmount + Number.EPSILON) * 100.00) / 100.00;\r\n\r\n var totalRaw = this.formatCurrency(dealerReferralAmount);\r\n\r\n // if (totalRaw && totalRaw.startsWith('$') && !totalRaw.includes('.')) {\r\n // totalRaw = totalRaw + '.00';\r\n // }\r\n // else if (totalRaw.startsWith('$') && totalRaw.includes('.')) {\r\n // var spl = totalRaw.split(\".\");\r\n // if (spl[1].length == 0) {\r\n // totalRaw = totalRaw + '00';\r\n // }\r\n\r\n // if (spl[1].length == 1) {\r\n // totalRaw = totalRaw + '0';\r\n // }\r\n // }\r\n\r\n // this.setState({ DealerReferralAmount: totalRaw });\r\n //}\r\n if (dealerReferralAmount > 0) {\r\n this.setState({ DealerReferralAmount: this.formatCurrency(parseFloat(dealerReferralAmount).toFixed(2)) });\r\n }\r\n }\r\n }\r\n\r\n zeroOrValue(value) {\r\n if (value == undefined || value == 0 || value == null) return 0;\r\n\r\n var _value = value?.toString().replace(/,/g, '').replace('$', '');\r\n\r\n if (_value.length > 0) {\r\n var result = (isNaN(_value) || _value == undefined) ? 0 : parseFloat(_value);\r\n return result;\r\n }\r\n else {\r\n return 0;\r\n }\r\n }\r\n\r\n formatCurrency(value, decimals) {\r\n if (value == undefined) return \"\";\r\n var _values = value.toString().replace(/,/g, '').replace('$', '');\r\n\r\n var dec = \"\";\r\n var _value = \"\";\r\n\r\n var elements = _values.split('.');\r\n if (elements?.length == 1) {\r\n _value = _values.split('.')[0];\r\n }\r\n else if (elements?.length > 1) {\r\n _value = _values.split('.')[0];\r\n dec = \".\" + _values.split('.')[1].substring(0, 2);\r\n }\r\n else {\r\n _value = _values;\r\n }\r\n\r\n if (_value.length > 0) {\r\n return new Intl.NumberFormat(undefined, {\r\n style: 'currency',\r\n currency: 'USD',\r\n maximumFractionDigits: decimals == undefined ? 0 : decimals,\r\n minimumFractionDigits: decimals == undefined ? 0 : decimals,\r\n }).format(_value) + dec;\r\n }\r\n }\r\n\r\n save(url) {\r\n try {\r\n this.setState({ loading: true });\r\n var fetch = _fetch();\r\n\r\n fetch.post(\"/seller/SaveSeller\", this.state)\r\n .then((id) => {\r\n if (id != 0) {\r\n if (url) {\r\n window.location.href = url;\r\n }\r\n else {\r\n this.setState({\r\n loading: false,\r\n showToastSuccess: true,\r\n toastMessageSuccess: 'Saved successfully'\r\n });\r\n }\r\n }\r\n else {\r\n this.setState({\r\n loading: false,\r\n showToast: true,\r\n toastMessage: 'There was an issue saving your information. Please try again'\r\n });\r\n }\r\n });\r\n\r\n }\r\n catch (err) {\r\n this.setState({ loading: false });\r\n console.log('save - ' + err);\r\n }\r\n }\r\n\r\n loadPage(id) {\r\n try {\r\n this.setState({ loading: true });\r\n var fetch = _fetch();\r\n fetch.get(\"/seller/GetSeller?id=\" + id)\r\n .then((data) => {\r\n var _state = this.state;\r\n for (const key in data) {\r\n if (data[key] != null) {\r\n var _key = key.charAt(0).toUpperCase() + key.slice(1);\r\n var _value = data[key];\r\n _state[_key] = _value?.toString();\r\n }\r\n }\r\n this.setState(_state, function () {\r\n this.calculateTotals();\r\n this.setState({ loading: false });\r\n });\r\n })\r\n }\r\n catch (err) {\r\n this.setState({ loading: false });\r\n console.log('loadPage - ' + err);\r\n }\r\n }\r\n\r\n render() {\r\n return (\r\n
    \r\n this.save(e)}\r\n />\r\n this.setState({ showToast: false })}\r\n autoHideToastDelay={10000}\r\n />\r\n this.setState({ showToastSuccess: false })}\r\n autoHideToastDelay={5000}\r\n isSuccessToast={true}\r\n />\r\n
    \r\n {this.state.loading === true ?\r\n
    \r\n \r\n
    \r\n : null\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
    \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 Seller Information\r\n
    \r\n {\r\n this.setState({ Seller1Name: e == \"\" ? null : e });\r\n }}\r\n Value={this.state.Seller1Name}\r\n Style={{ width: '260px' }}\r\n AutoFocus={true}\r\n />\r\n \r\n this.setState({ Seller2Name: e })}\r\n Value={this.state.Seller2Name}\r\n Label=\"Seller #2 Name\"\r\n Style={{ width: '260px' }}\r\n />\r\n
    \r\n this.setState({ SellerAddress: e == \"\" ? null : e })}\r\n Value={this.state.SellerAddress}\r\n Label=\"Seller Address\"\r\n Style={{ width: '524px' }}\r\n />\r\n
    \r\n this.setState({ SellerEmail: e })}\r\n Value={this.state.SellerEmail}\r\n Label=\"Seller Email\"\r\n Style={{ width: '260px' }}\r\n />\r\n \r\n {\r\n var formattedPhone = customFunctions.formatPhoneNumber(e);\r\n this.setState({ SellerPhone: formattedPhone });\r\n }}\r\n Value={customFunctions.formatPhoneNumber(this.state.SellerPhone) ?? \"\"}\r\n Style={{ width: '260px' }}\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 \r\n \r\n \r\n
    \r\n Loan Payoff Information\r\n
    \r\n
    \r\n {\r\n this.setState({ TradePayoff: e.target.checked ? \"Yes\" : \"No\" });\r\n }}\r\n defaultChecked={true}\r\n >\r\n \r\n {\r\n this.setState({ SellerPayoff: e.target.checked ? \"Yes\" : \"No\" });\r\n }}\r\n >\r\n \r\n
    \r\n
    \r\n this.setState({ LoanPayoffBankName: e })}\r\n Value={this.state.LoanPayoffBankName}\r\n Label=\"Bank Name\"\r\n Style={{ width: '260px' }}\r\n />\r\n \r\n {\r\n var formattedPhone = customFunctions.formatPhoneNumber(e);\r\n this.setState({ LoanPayoffPhone: formattedPhone });\r\n }}\r\n Value={customFunctions.formatPhoneNumber(this.state.LoanPayoffPhone) ?? \"\"}\r\n Style={{ width: '260px' }}\r\n />\r\n \r\n this.setState({ LoanPayoffContact: e })}\r\n Value={this.state.LoanPayoffContact}\r\n Label=\"Contact\"\r\n Style={{ width: '260px' }}\r\n />\r\n
    \r\n this.setState({ LoanPayoffAccountNumber: e })}\r\n Value={this.state.LoanPayoffAccountNumber}\r\n Label=\"Account #\"\r\n Style={{ width: '260px' }}\r\n />\r\n
    \r\n {\r\n this.setState({ PayoffAmount: e });\r\n }}\r\n Value={this.formatCurrency(this.state.PayoffAmount)}\r\n Style={{ width: '260px' }}\r\n />\r\n \r\n {\r\n this.setState({ PayoffThroughDate: e });\r\n }}\r\n Value={this.state.PayoffThroughDate}\r\n Style={{ width: '260px' }}\r\n />\r\n \r\n this.setState({ LoanPayoffPerDiem: e })}\r\n Value={this.state.LoanPayoffPerDiem}\r\n Label=\"Per Diem\"\r\n Style={{ width: '260px' }}\r\n />\r\n
    \r\n this.setState({ LoanPayoffAdditionalFundsNeeded: e })}\r\n Value={this.state.LoanPayoffAdditionalFundsNeeded}\r\n Label=\"Additional Funds Needed\"\r\n Style={{ width: '260px' }}\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 Dealer / Broker Contact Information\r\n
    \r\n this.setState({ DealerBrokerName: e })}\r\n Value={this.state.DealerBrokerName}\r\n Label=\"Dealer / Broker Name\"\r\n Style={{ width: '260px' }}\r\n />\r\n \r\n this.setState({ DealerBrokerPrimaryContact: e })}\r\n Value={this.state.DealerBrokerPrimaryContact}\r\n Label=\"Dealer / Broker Primary Contact\"\r\n Style={{ width: '260px' }}\r\n />\r\n
    \r\n this.setState({ DealerBrokerEmail: e })}\r\n Value={this.state.DealerBrokerEmail}\r\n Label=\"Dealer / Broker Email\"\r\n Style={{ width: '260px' }}\r\n />\r\n \r\n {\r\n var formattedPhone = customFunctions.formatPhoneNumber(e);\r\n this.setState({ DealerBrokerPhone: formattedPhone });\r\n }}\r\n Value={customFunctions.formatPhoneNumber(this.state.DealerBrokerPhone) ?? \"\"}\r\n Style={{ width: '260px' }}\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 Dealer Referral Fee Information\r\n
    \r\n this.setState({ DealerReferralName: e })}\r\n Value={this.state.DealerReferralName}\r\n Label=\"Dealer Referral Name\"\r\n Style={{ width: '260px' }}\r\n />\r\n \r\n {\r\n this.setState({ DealerReferralPercent: e == \"\" ? null : e }, function () {\r\n if (this.state.DealerReferralPercent == null) {\r\n this.setState({ DealerReferralAmount: \"\" });\r\n }\r\n else {\r\n this.calculateTotals();\r\n }\r\n });\r\n }}\r\n Value={this.state.DealerReferralPercent}\r\n Style={{ width: '260px' }}\r\n />\r\n \r\n {\r\n var val = \"\";\r\n try {\r\n val = parseFloat(e).toFixed(2);\r\n }\r\n catch (err) {\r\n val = e\r\n }\r\n\r\n this.setState({ DealerReferralAmount: e == \"\" ? null : e }, function () {\r\n this.calculateReferralPercent();\r\n });\r\n }}\r\n Value={this.formatCurrency(this.state.DealerReferralAmount, 0)}\r\n Style={{ width: '260px' }}\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 Documentation Service Information\r\n
    \r\n this.setState({ DocTitleServiceName: e })}\r\n Value={this.state.DocTitleServiceName}\r\n Label=\"Doc / Title Service Name\"\r\n Style={{ width: '260px' }}\r\n />\r\n
    \r\n this.setState({ DocTitleServiceEmail: e })}\r\n Value={this.state.DocTitleServiceEmail}\r\n Label=\"Doc / Title Service Email\"\r\n Style={{ width: '260px' }}\r\n />\r\n \r\n {\r\n var formattedPhone = customFunctions.formatPhoneNumber(e);\r\n this.setState({ DocTitleServicePhone: formattedPhone });\r\n }}\r\n Value={customFunctions.formatPhoneNumber(this.state.DocTitleServicePhone) ?? \"\"}\r\n Style={{ width: '260px' }}\r\n />\r\n
    \r\n {\r\n this.setState({ DocumentationFee: e });\r\n }}\r\n Value={this.formatCurrency(this.state.DocumentationFee) ?? \"\"}\r\n Style={{ width: '260px' }}\r\n />\r\n \r\n {\r\n this.setState({ TitleFee: e });\r\n }}\r\n Value={this.formatCurrency(this.state.TitleFee) ?? \"\"}\r\n Style={{ width: '260px' }}\r\n />\r\n \r\n {\r\n this.setState({ OtherFee: e });\r\n }}\r\n Value={this.formatCurrency(this.state.OtherFee) ?? \"\"}\r\n Style={{ width: '260px' }}\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 Borrower LLC / Trust Information\r\n
    \r\n this.setState({ LlcTrustName: e })}\r\n Value={this.state.LlcTrustName}\r\n Label=\"LLC / Trust Name\"\r\n Style={{ width: '260px' }}\r\n />\r\n
    \r\n this.setState({ LlcTrustAddress: e })}\r\n Value={this.state.LlcTrustAddress}\r\n Label=\"LLC / Trust Address\"\r\n Style={{ width: '524px' }}\r\n />\r\n
    \r\n this.setState({ LlcTrustEIN: e })}\r\n Value={this.state.LlcTrustEIN}\r\n Label=\"EIN\"\r\n Style={{ width: '260px' }}\r\n />\r\n
    \r\n this.setState({ LlcTrustNameTitle: e })}\r\n Value={this.state.LlcTrustNameTitle}\r\n Label=\"LLC Signer Name / Title\"\r\n Style={{ width: '524px' }}\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 this.save();\r\n }}>\r\n Save\r\n \r\n
    \r\n
    \r\n
    \r\n );\r\n }\r\n}","import React, { Component } from 'react';\r\nimport { _fetch } from './_fetch';\r\nimport TextInput from './TextInput';\r\nimport { Spinner } from 'reactstrap';\r\nimport Toast from './toast.js';\r\nimport { customFunctions } from './CustomFunctions.js';\r\nimport { format } from 'date-fns';\r\n\r\nexport class ApplicantPersonalFinancialStatement extends Component {\r\n constructor(props) {\r\n super(props);\r\n\r\n this.state = {\r\n loading: false,\r\n ContinueToken: ''\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n try {\r\n this.setState({ loading: true });\r\n\r\n var id = localStorage.getItem(\"CONTINUE_TOKEN\");\r\n\r\n if (id != null) this.setState({ ContinueToken: id });\r\n\r\n if (id != null) this.loadPage(id);\r\n\r\n var borrowerSig = sessionStorage.getItem(\"BorrowerSignature\");\r\n var coBorrowerSig = sessionStorage.getItem(\"CoBorrowerSignature\");\r\n this.setState({ loading: false, BorrowerSignatureName: borrowerSig, CoBorrowerSignatureName: coBorrowerSig });\r\n }\r\n catch (err) {\r\n this.setState({ loading: false });\r\n console.log('componentDidMount - ' + err);\r\n }\r\n }\r\n\r\n calculateNetWorth() {\r\n let s = this.state;\r\n var assets = this.zeroOrValue(s.BoatDepositsPaidToDateValue) + this.zeroOrValue(s.CheckingValue) + this.zeroOrValue(s.SavingsValue) + this.zeroOrValue(s.Ira401KValue) +\r\n this.zeroOrValue(s.StockBondsValue) + this.zeroOrValue(s.MutualFundValue) + this.zeroOrValue(s.OtherValue) + this.zeroOrValue(s.TrustFundValue) +\r\n this.zeroOrValue(s.LifeInsuranceCashValue) + this.zeroOrValue(s.PrimaryResidenceValue) + this.zeroOrValue(s.SecondaryResidenceValue) +\r\n this.zeroOrValue(s.OtherResidenceValue) + this.zeroOrValue(s.RentalValue1) + this.zeroOrValue(s.RentalValue2) + this.zeroOrValue(s.RentalValue3) +\r\n this.zeroOrValue(s.RealEstateOtherValue1) + this.zeroOrValue(s.RealEstateOtherValue2) + this.zeroOrValue(s.BusinessAssetPercentValue1) +\r\n this.zeroOrValue(s.BusinessAssetPercentValue2) + this.zeroOrValue(s.BusinessAssetPercentValue3) +\r\n this.zeroOrValue(s.BusinessAssetPercentValue4) + this.zeroOrValue(s.OtherAssetCurrentBoatValue) + this.zeroOrValue(s.OtherAsset2ndBoatValue) +\r\n this.zeroOrValue(s.OtherAssetRVAircraftValue) + this.zeroOrValue(s.OtherAssetAutomobilesValue) + this.zeroOrValue(s.OtherAssetArtJeweleryValue) +\r\n this.zeroOrValue(s.OtherAssetOtherValue);\r\n\r\n var liabilities = this.zeroOrValue(s.AutoLoanCurrentBalance1) + this.zeroOrValue(s.AutoLoanCurrentBalance2) + this.zeroOrValue(s.AutoLoanCurrentBalance3) +\r\n this.zeroOrValue(s.StudentLoanCurrentBalance) + this.zeroOrValue(s.UnsecuredLoanCurrentBalance) + this.zeroOrValue(s.CreditCardsCurrentBalance) +\r\n this.zeroOrValue(s.LineOfCreditCurrentBalance) + this.zeroOrValue(s.OtherCurrentBalance1) + this.zeroOrValue(s.OtherCurrentBalance2) +\r\n this.zeroOrValue(s.OtherCurrentBalance3) + this.zeroOrValue(s.PrimaryResidenceCurrentBalance) + this.zeroOrValue(s.SecondaryResidenceCurrentBalance) +\r\n this.zeroOrValue(s.OtherResidenceCurrentBalance) + this.zeroOrValue(s.RentalBalance1) + this.zeroOrValue(s.RentalBalance2) +\r\n this.zeroOrValue(s.RentalBalance3) + this.zeroOrValue(s.RealEstateOtherBalance1) + this.zeroOrValue(s.RealEstateOtherBalance2) +\r\n this.zeroOrValue(s.BusinessAssetBusinessCurrentBalance1) + this.zeroOrValue(s.BusinessAssetBusinessCurrentBalance2) + this.zeroOrValue(s.BusinessAssetBusinessCurrentBalance3) +\r\n this.zeroOrValue(s.BusinessAssetBusinessCurrentBalance4) + this.zeroOrValue(s.OtherSecuredLoansBoatCurrentBalance1) + this.zeroOrValue(s.OtherSecuredLoansBoatCurrentBalance2) +\r\n this.zeroOrValue(s.OtherSecuredLoansRVAircraftCurrentBalance) + this.zeroOrValue(s.OtherSecuredLoansOtherCurrentBalance1) + this.zeroOrValue(s.OtherSecuredLoansOtherCurrentBalance2) +\r\n this.zeroOrValue(s.OtherSecuredLoansOtherCurrentBalance3) + this.zeroOrValue(s.OtherSecuredLoansOtherCurrentBalance4);\r\n\r\n var netWorth = (assets - liabilities);\r\n\r\n var assetsRaw = this.formatCurrency(assets);\r\n\r\n if (assetsRaw && assetsRaw.startsWith('$') && !assetsRaw.includes('.')) {\r\n assetsRaw = assetsRaw + '.00';\r\n }\r\n else if (assetsRaw.startsWith('$') && assetsRaw.includes('.')) {\r\n var spl = assetsRaw.split(\".\");\r\n if (spl[1].length == 0) {\r\n assetsRaw = assetsRaw + '00';\r\n }\r\n\r\n if (spl[1].length == 1) {\r\n assetsRaw = assetsRaw + '0';\r\n }\r\n }\r\n\r\n var liabilitiesRaw = this.formatCurrency(liabilities);\r\n\r\n if (liabilitiesRaw && liabilitiesRaw.startsWith('$') && !liabilitiesRaw.includes('.')) {\r\n liabilitiesRaw = liabilitiesRaw + '.00';\r\n }\r\n else if (liabilitiesRaw.startsWith('$') && liabilitiesRaw.includes('.')) {\r\n var spl = liabilitiesRaw.split(\".\");\r\n if (spl[1].length == 0) {\r\n liabilitiesRaw = liabilitiesRaw + '00';\r\n }\r\n\r\n if (spl[1].length == 1) {\r\n liabilitiesRaw = liabilitiesRaw + '0';\r\n }\r\n }\r\n\r\n var netWorthRaw = this.formatCurrency(netWorth);\r\n\r\n if (netWorthRaw && netWorthRaw.startsWith('$') && !netWorthRaw.includes('.')) {\r\n netWorthRaw = netWorthRaw + '.00';\r\n }\r\n else if (netWorthRaw.startsWith('$') && netWorthRaw.includes('.')) {\r\n var spl = netWorthRaw.split(\".\");\r\n if (spl[1].length == 0) {\r\n netWorthRaw = netWorthRaw + '00';\r\n }\r\n\r\n if (spl[1].length == 1) {\r\n netWorthRaw = netWorthRaw + '0';\r\n }\r\n }\r\n\r\n this.setState({\r\n TotalAssets: assetsRaw,\r\n TotalLiabilities: liabilitiesRaw,\r\n NetWorth: netWorthRaw\r\n });\r\n }\r\n\r\n zeroOrValue(value) {\r\n if (value == undefined || value == 0) return 0;\r\n //if (isNaN(value)) {\r\n // value = value.toString().substring(1, value.toString().lenth - 1);\r\n //}\r\n var _value = value.replace(/,/g, '').replace('$', '');\r\n\r\n if (_value.length > 0) {\r\n\r\n var result = (isNaN(_value) || _value == undefined) ? 0 : parseInt(_value);\r\n return result;\r\n }\r\n else {\r\n return 0;\r\n }\r\n }\r\n\r\n formatCurrency(value) {\r\n if (value == undefined) return \"\";\r\n var _values = value.toString().replace(/,/g, '').replace('$', '');\r\n\r\n var dec = \"\";\r\n var _value = \"\";\r\n\r\n var elements = _values.split('.');\r\n if (elements?.length == 1) {\r\n _value = _values.split('.')[0];\r\n }\r\n else if (elements?.length > 1) {\r\n _value = _values.split('.')[0];\r\n dec = \".\" + _values.split('.')[1].substring(0, 2);\r\n }\r\n else {\r\n _value = _values;\r\n }\r\n if (_value.length > 0) {\r\n return new Intl.NumberFormat(undefined, {\r\n style: 'currency',\r\n currency: 'USD',\r\n maximumFractionDigits: 0,\r\n minimumFractionDigits: 0,\r\n }).format(_value) + dec;\r\n }\r\n }\r\n\r\n async save(back) {\r\n try {\r\n var item = [];\r\n if (back === undefined) {\r\n if (localStorage.getItem(\"APP_TYPE\") == \"Individual\") {\r\n if (this.state.BorrowerSignature == undefined || this.state.BorrowerSignature?.length == 0) {\r\n item.push(\"Borrower Signature\");\r\n }\r\n if (this.state.BorrowerSignatureName == undefined || this.state.BorrowerSignatureName?.length == 0) {\r\n item.push(\"Borrower Signature Name\");\r\n }\r\n if (this.state.BorrowerSignatureDate == undefined || this.state.BorrowerSignatureDate?.length == 0) {\r\n item.push(\"Borrower Signature Date\");\r\n }\r\n }\r\n\r\n if (localStorage.getItem(\"APP_TYPE\") == \"Jointly\") {\r\n if (this.state.BorrowerSignature == undefined || this.state.BorrowerSignature?.length == 0) {\r\n item.push(\"Borrower Signature\");\r\n }\r\n if (this.state.BorrowerSignatureName == undefined || this.state.BorrowerSignatureName?.length == 0) {\r\n item.push(\"Borrower Signature Name\");\r\n }\r\n if (this.state.BorrowerSignatureDate == undefined || this.state.BorrowerSignatureDate?.length == 0) {\r\n item.push(\"Borrower Signature Date\");\r\n }\r\n if (this.state.CoBorrowerSignature == undefined || this.state.CoBorrowerSignature?.length == 0) {\r\n item.push(\"CoBorrower Signature\");\r\n }\r\n if (this.state.CoBorrowerSignatureName == undefined || this.state.CoBorrowerSignatureName?.length == 0) {\r\n item.push(\"CoBorrower Signature Name\");\r\n }\r\n if (this.state.CoBorrowerSignatureDate == undefined || this.state.CoBorrowerSignatureDate?.length == 0) {\r\n item.push(\"CoBorrower Signature Date\");\r\n }\r\n }\r\n }\r\n\r\n if (item.length == 0) {\r\n this.setState({ loading: true });\r\n var fetch = _fetch();\r\n this.setState({\r\n BorrowerSignatureDate: this.state.BorrowerSignatureDate === undefined || this.state.BorrowerSignatureDate == \"\" ? null : format(new Date(this.state.BorrowerSignatureDate.replace(/-/g, '/')), \"yyyy-MM-dd\"),\r\n CoBorrowerSignatureDate: this.state.CoBorrowerSignatureDate === undefined || this.state.CoBorrowerSignatureDate == \"\" ? null : format(new Date(this.state.CoBorrowerSignatureDate.replace(/-/g, '/')), \"yyyy-MM-dd\")\r\n },\r\n function () {\r\n fetch.post(\"/creditapplicationpublic/SavePersonalFinancialStatementPublic\", this.state)\r\n .then((id) => {\r\n if (id) {\r\n if (back === 1) {\r\n if (localStorage.getItem(\"APP_TYPE\") != null && localStorage.getItem(\"APP_TYPE\") == \"Individual\") {\r\n window.location.href = \"/LoanApplicationStep2\";\r\n }\r\n else {\r\n window.location.href = \"/LoanApplicationStep3\";\r\n }\r\n }\r\n else {\r\n this.setState({ loading: false });\r\n window.location.href = '/LoanApplicationReceived';\r\n }\r\n }\r\n else {\r\n this.setState({\r\n showToast: true,\r\n toastMessage: 'There was an issue saving your information. Please try again',\r\n loading: false\r\n });\r\n }\r\n })\r\n });\r\n }\r\n else {\r\n this.setState({\r\n showToast: true,\r\n toastMessage: 'The following fields are required:',\r\n toastItems: item\r\n });\r\n setTimeout(function () { document.getElementById(\"maincontainer\").scrollTo({ top: 0, behavior: 'smooth' }); }, 250);\r\n }\r\n }\r\n catch (err) {\r\n this.setState({ loading: false });\r\n console.log('save - ' + err);\r\n }\r\n }\r\n\r\n async loadPage(id) {\r\n try {\r\n this.setState({ loading: true });\r\n var fetch = _fetch();\r\n\r\n fetch.get(\"/creditapplicationpublic/GetPersonalFinancialStatementPublic?id=\" + id)\r\n .then((data) => {\r\n var _state = this.state;\r\n for (const key in data) {\r\n if (data[key] != null) {\r\n var _key = key.charAt(0).toUpperCase() + key.slice(1);\r\n var _value = data[key];\r\n _state[_key] = _value;\r\n }\r\n }\r\n this.setState(_state, function () {\r\n this.calculateNetWorth();\r\n this.setState({ loading: false });\r\n this.setState({\r\n BorrowerSignatureDate: this.sqlToJsDate(this.state.BorrowerSignatureDate),\r\n CoBorrowerSignatureDate: this.sqlToJsDate(this.state.CoBorrowerSignatureDate)\r\n });\r\n });\r\n })\r\n }\r\n catch (err) {\r\n this.setState({ loading: false });\r\n console.log('save - ' + err);\r\n }\r\n }\r\n\r\n sqlToJsDate(sqlDate) {\r\n if (sqlDate == \"\" || sqlDate === undefined) return sqlDate;\r\n\r\n var dateParts = sqlDate.split(\"T\");\r\n return dateParts[0];\r\n }\r\n\r\n render() {\r\n return (\r\n
    \r\n
    \r\n {this.state.loading === true ?\r\n
    \r\n \r\n
    \r\n : null\r\n }\r\n this.setState({ showToast: false })}\r\n autoHideToastDelay={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\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 \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 \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 \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 \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 \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 \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 \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 \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 \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 \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
    AssetsLiabilities
    Cash AssetsInstitutionValue ($)Liability TypeInstitutionCurrent BalanceMo. Pmt. ($)
    \r\n Boat Deposit, Paid to Date\r\n \r\n {\r\n this.setState({ BoatDepositsPaidToDateInstitution: e.target.value });\r\n }}\r\n value={this.state.BoatDepositsPaidToDateInstitution}\r\n style={{ width: '100%' }}\r\n >\r\n \r\n {\r\n this.setState({ BoatDepositsPaidToDateValue: e.target.value }, function () {\r\n this.calculateNetWorth();\r\n });\r\n }}\r\n value={this.formatCurrency(this.state.BoatDepositsPaidToDateValue)}\r\n style={{ width: '100%' }}\r\n onBlur={(e) => {\r\n var val = this.state.BoatDepositsPaidToDateValue;\r\n if (e.target.value && e.target.value.startsWith('$') && !e.target.value.includes('.')) {\r\n val = val + '.00';\r\n }\r\n else if (e.target.value && e.target.value.startsWith('$') && e.target.value.includes('.')) {\r\n var spl = e.target.value.split(\".\");\r\n if (spl[1].length == 0) {\r\n val = val + '00';\r\n }\r\n\r\n if (spl[1].length == 1) {\r\n val = val + '0';\r\n }\r\n }\r\n this.setState({\r\n BoatDepositsPaidToDateValue: val\r\n });\r\n }}\r\n >\r\n Auto Loan\r\n {\r\n this.setState({ AutoLoanInstitution1: e.target.value });\r\n }}\r\n value={this.state.AutoLoanInstitution1}\r\n style={{ width: '100%' }}\r\n >\r\n \r\n {\r\n this.setState({ AutoLoanCurrentBalance1: e.target.value });\r\n this.calculateNetWorth();\r\n }}\r\n value={this.formatCurrency(this.state.AutoLoanCurrentBalance1)}\r\n style={{ width: '100%' }}\r\n onBlur={(e) => {\r\n var val = this.state.AutoLoanCurrentBalance1;\r\n if (e.target.value && e.target.value.startsWith('$') && !e.target.value.includes('.')) {\r\n val = val + '.00';\r\n }\r\n else if (e.target.value && e.target.value.startsWith('$') && e.target.value.includes('.')) {\r\n var spl = e.target.value.split(\".\");\r\n if (spl[1].length == 0) {\r\n val = val + '00';\r\n }\r\n\r\n if (spl[1].length == 1) {\r\n val = val + '0';\r\n }\r\n }\r\n this.setState({\r\n AutoLoanCurrentBalance1: val\r\n });\r\n }}\r\n >\r\n \r\n {\r\n this.setState({ AutoLoanMonthlyPayment1: e.target.value }, function () {\r\n });\r\n }}\r\n value={this.formatCurrency(this.state.AutoLoanMonthlyPayment1)}\r\n style={{ width: '100%' }}\r\n onBlur={(e) => {\r\n var val = this.state.AutoLoanMonthlyPayment1;\r\n if (e.target.value && e.target.value.startsWith('$') && !e.target.value.includes('.')) {\r\n val = val + '.00';\r\n }\r\n else if (e.target.value && e.target.value.startsWith('$') && e.target.value.includes('.')) {\r\n var spl = e.target.value.split(\".\");\r\n if (spl[1].length == 0) {\r\n val = val + '00';\r\n }\r\n\r\n if (spl[1].length == 1) {\r\n val = val + '0';\r\n }\r\n }\r\n this.setState({\r\n AutoLoanMonthlyPayment1: val\r\n });\r\n }}\r\n >\r\n
    \r\n Checking Accts\r\n \r\n {\r\n this.setState({ CheckingInstitution: e.target.value });\r\n }}\r\n value={this.state.CheckingInstitution}\r\n style={{ width: '100%' }}\r\n >\r\n \r\n {\r\n this.setState({ CheckingValue: e.target.value }, function () {\r\n this.calculateNetWorth();\r\n });\r\n }}\r\n value={this.formatCurrency(this.state.CheckingValue)}\r\n style={{ width: '100%' }}\r\n onBlur={(e) => {\r\n var val = this.state.CheckingValue;\r\n if (e.target.value && e.target.value.startsWith('$') && !e.target.value.includes('.')) {\r\n val = val + '.00';\r\n }\r\n else if (e.target.value && e.target.value.startsWith('$') && e.target.value.includes('.')) {\r\n var spl = e.target.value.split(\".\");\r\n if (spl[1].length == 0) {\r\n val = val + '00';\r\n }\r\n\r\n if (spl[1].length == 1) {\r\n val = val + '0';\r\n }\r\n }\r\n this.setState({\r\n CheckingValue: val\r\n });\r\n }}\r\n >\r\n Auto Loan\r\n {\r\n this.setState({ AutoLoanInstitution2: e.target.value });\r\n }}\r\n value={this.state.AutoLoanInstitution2}\r\n style={{ width: '100%' }}\r\n >\r\n \r\n {\r\n this.setState({ AutoLoanCurrentBalance2: e.target.value }, function () {\r\n this.calculateNetWorth();\r\n });\r\n }}\r\n value={this.formatCurrency(this.state.AutoLoanCurrentBalance2)}\r\n style={{ width: '100%' }}\r\n onBlur={(e) => {\r\n var val = this.state.AutoLoanCurrentBalance2;\r\n if (e.target.value && e.target.value.startsWith('$') && !e.target.value.includes('.')) {\r\n val = val + '.00';\r\n }\r\n else if (e.target.value && e.target.value.startsWith('$') && e.target.value.includes('.')) {\r\n var spl = e.target.value.split(\".\");\r\n if (spl[1].length == 0) {\r\n val = val + '00';\r\n }\r\n\r\n if (spl[1].length == 1) {\r\n val = val + '0';\r\n }\r\n }\r\n this.setState({\r\n AutoLoanCurrentBalance2: val\r\n });\r\n }}\r\n >\r\n \r\n {\r\n this.setState({ AutoLoanMonthlyPayment2: e.target.value });\r\n }}\r\n value={this.formatCurrency(this.state.AutoLoanMonthlyPayment2)}\r\n style={{ width: '100%' }}\r\n onBlur={(e) => {\r\n var val = this.state.AutoLoanMonthlyPayment2;\r\n if (e.target.value && e.target.value.startsWith('$') && !e.target.value.includes('.')) {\r\n val = val + '.00';\r\n }\r\n else if (e.target.value && e.target.value.startsWith('$') && e.target.value.includes('.')) {\r\n var spl = e.target.value.split(\".\");\r\n if (spl[1].length == 0) {\r\n val = val + '00';\r\n }\r\n\r\n if (spl[1].length == 1) {\r\n val = val + '0';\r\n }\r\n }\r\n this.setState({\r\n AutoLoanMonthlyPayment2: val\r\n });\r\n }}\r\n >\r\n
    \r\n Savings & Money Market\r\n \r\n {\r\n this.setState({ SavingsInstitution: e.target.value });\r\n }}\r\n value={this.state.SavingsInstitution}\r\n style={{ width: '100%' }}\r\n >\r\n \r\n {\r\n this.setState({ SavingsValue: e.target.value }, function () {\r\n this.calculateNetWorth();\r\n });\r\n }}\r\n value={this.formatCurrency(this.state.SavingsValue)}\r\n style={{ width: '100%' }}\r\n onBlur={(e) => {\r\n var val = this.state.SavingsValue;\r\n if (e.target.value && e.target.value.startsWith('$') && !e.target.value.includes('.')) {\r\n val = val + '.00';\r\n }\r\n else if (e.target.value && e.target.value.startsWith('$') && e.target.value.includes('.')) {\r\n var spl = e.target.value.split(\".\");\r\n if (spl[1].length == 0) {\r\n val = val + '00';\r\n }\r\n\r\n if (spl[1].length == 1) {\r\n val = val + '0';\r\n }\r\n }\r\n this.setState({\r\n SavingsValue: val\r\n });\r\n }}\r\n >\r\n Auto Loan\r\n {\r\n this.setState({ AutoLoanInstitution3: e.target.value });\r\n }}\r\n value={this.state.AutoLoanInstitution3}\r\n style={{ width: '100%' }}\r\n >\r\n \r\n {\r\n this.setState({ AutoLoanCurrentBalance3: e.target.value }, function () {\r\n this.calculateNetWorth();\r\n });\r\n }}\r\n value={this.formatCurrency(this.state.AutoLoanCurrentBalance3)}\r\n style={{ width: '100%' }}\r\n onBlur={(e) => {\r\n var val = this.state.AutoLoanCurrentBalance3;\r\n if (e.target.value && e.target.value.startsWith('$') && !e.target.value.includes('.')) {\r\n val = val + '.00';\r\n }\r\n else if (e.target.value && e.target.value.startsWith('$') && e.target.value.includes('.')) {\r\n var spl = e.target.value.split(\".\");\r\n if (spl[1].length == 0) {\r\n val = val + '00';\r\n }\r\n\r\n if (spl[1].length == 1) {\r\n val = val + '0';\r\n }\r\n }\r\n this.setState({\r\n AutoLoanCurrentBalance3: val\r\n });\r\n }}\r\n >\r\n \r\n {\r\n this.setState({ AutoLoanMonthlyPayment3: e.target.value });\r\n }}\r\n value={this.formatCurrency(this.state.AutoLoanMonthlyPayment3)}\r\n style={{ width: '100%' }}\r\n onBlur={(e) => {\r\n var val = this.state.AutoLoanMonthlyPayment3;\r\n if (e.target.value && e.target.value.startsWith('$') && !e.target.value.includes('.')) {\r\n val = val + '.00';\r\n }\r\n else if (e.target.value && e.target.value.startsWith('$') && e.target.value.includes('.')) {\r\n var spl = e.target.value.split(\".\");\r\n if (spl[1].length == 0) {\r\n val = val + '00';\r\n }\r\n\r\n if (spl[1].length == 1) {\r\n val = val + '0';\r\n }\r\n }\r\n this.setState({\r\n AutoLoanMonthlyPayment3: val\r\n });\r\n }}\r\n >\r\n
    \r\n 401K / IRA\r\n \r\n {\r\n this.setState({ Ira401KInstitution: e.target.value });\r\n }}\r\n value={this.state.Ira401KInstitution}\r\n style={{ width: '100%' }}\r\n >\r\n \r\n {\r\n this.setState({ Ira401KValue: e.target.value }, function () {\r\n this.calculateNetWorth();\r\n });\r\n }}\r\n value={this.formatCurrency(this.state.Ira401KValue)}\r\n style={{ width: '100%' }}\r\n onBlur={(e) => {\r\n var val = this.state.Ira401KValue;\r\n if (e.target.value && e.target.value.startsWith('$') && !e.target.value.includes('.')) {\r\n val = val + '.00';\r\n }\r\n else if (e.target.value && e.target.value.startsWith('$') && e.target.value.includes('.')) {\r\n var spl = e.target.value.split(\".\");\r\n if (spl[1].length == 0) {\r\n val = val + '00';\r\n }\r\n\r\n if (spl[1].length == 1) {\r\n val = val + '0';\r\n }\r\n }\r\n this.setState({\r\n Ira401KValue: val\r\n });\r\n }}\r\n >\r\n Student Loans\r\n {\r\n this.setState({ StudentLoanInstitution: e.target.value });\r\n }}\r\n value={this.state.StudentLoanInstitution}\r\n style={{ width: '100%' }}\r\n >\r\n \r\n {\r\n this.setState({ StudentLoanCurrentBalance: e.target.value }, function () {\r\n this.calculateNetWorth();\r\n });\r\n }}\r\n value={this.formatCurrency(this.state.StudentLoanCurrentBalance)}\r\n style={{ width: '100%' }}\r\n onBlur={(e) => {\r\n var val = this.state.StudentLoanCurrentBalance;\r\n if (e.target.value && e.target.value.startsWith('$') && !e.target.value.includes('.')) {\r\n val = val + '.00';\r\n }\r\n else if (e.target.value && e.target.value.startsWith('$') && e.target.value.includes('.')) {\r\n var spl = e.target.value.split(\".\");\r\n if (spl[1].length == 0) {\r\n val = val + '00';\r\n }\r\n\r\n if (spl[1].length == 1) {\r\n val = val + '0';\r\n }\r\n }\r\n this.setState({\r\n StudentLoanCurrentBalance: val\r\n });\r\n }}\r\n >\r\n \r\n {\r\n this.setState({ StudentLoanMonthlyPayment: e.target.value });\r\n }}\r\n value={this.formatCurrency(this.state.StudentLoanMonthlyPayment)}\r\n style={{ width: '100%' }}\r\n onBlur={(e) => {\r\n var val = this.state.StudentLoanMonthlyPayment;\r\n if (e.target.value && e.target.value.startsWith('$') && !e.target.value.includes('.')) {\r\n val = val + '.00';\r\n }\r\n else if (e.target.value && e.target.value.startsWith('$') && e.target.value.includes('.')) {\r\n var spl = e.target.value.split(\".\");\r\n if (spl[1].length == 0) {\r\n val = val + '00';\r\n }\r\n\r\n if (spl[1].length == 1) {\r\n val = val + '0';\r\n }\r\n }\r\n this.setState({\r\n StudentLoanMonthlyPayment: val\r\n });\r\n }}\r\n >\r\n
    \r\n Stock/Bond/Mutual Funds\r\n \r\n {\r\n this.setState({ StockBondsInstitution: e.target.value });\r\n }}\r\n value={this.state.StockBondsInstitution}\r\n style={{ width: '100%' }}\r\n >\r\n \r\n {\r\n this.setState({ StockBondsValue: e.target.value }, function () {\r\n this.calculateNetWorth();\r\n });\r\n }}\r\n value={this.formatCurrency(this.state.StockBondsValue)}\r\n style={{ width: '100%' }}\r\n onBlur={(e) => {\r\n var val = this.state.StockBondsValue;\r\n if (e.target.value && e.target.value.startsWith('$') && !e.target.value.includes('.')) {\r\n val = val + '.00';\r\n }\r\n else if (e.target.value && e.target.value.startsWith('$') && e.target.value.includes('.')) {\r\n var spl = e.target.value.split(\".\");\r\n if (spl[1].length == 0) {\r\n val = val + '00';\r\n }\r\n\r\n if (spl[1].length == 1) {\r\n val = val + '0';\r\n }\r\n }\r\n this.setState({\r\n StockBondsValue: val\r\n });\r\n }}\r\n >\r\n Unsecured Loans\r\n {\r\n this.setState({ UnsecuredLoanInstitution: e.target.value });\r\n }}\r\n value={this.state.UnsecuredLoanInstitution}\r\n style={{ width: '100%' }}\r\n >\r\n \r\n {\r\n this.setState({ UnsecuredLoanCurrentBalance: e.target.value }, function () {\r\n this.calculateNetWorth();\r\n });\r\n }}\r\n value={this.formatCurrency(this.state.UnsecuredLoanCurrentBalance)}\r\n style={{ width: '100%' }}\r\n onBlur={(e) => {\r\n var val = this.state.UnsecuredLoanCurrentBalance;\r\n if (e.target.value && e.target.value.startsWith('$') && !e.target.value.includes('.')) {\r\n val = val + '.00';\r\n }\r\n else if (e.target.value && e.target.value.startsWith('$') && e.target.value.includes('.')) {\r\n var spl = e.target.value.split(\".\");\r\n if (spl[1].length == 0) {\r\n val = val + '00';\r\n }\r\n\r\n if (spl[1].length == 1) {\r\n val = val + '0';\r\n }\r\n }\r\n this.setState({\r\n UnsecuredLoanCurrentBalance: val\r\n });\r\n }}\r\n >\r\n \r\n {\r\n this.setState({ UnsecuredLoanMonthlyPayment: e.target.value });\r\n }}\r\n value={this.formatCurrency(this.state.UnsecuredLoanMonthlyPayment)}\r\n style={{ width: '100%' }}\r\n onBlur={(e) => {\r\n var val = this.state.UnsecuredLoanMonthlyPayment;\r\n if (e.target.value && e.target.value.startsWith('$') && !e.target.value.includes('.')) {\r\n val = val + '.00';\r\n }\r\n else if (e.target.value && e.target.value.startsWith('$') && e.target.value.includes('.')) {\r\n var spl = e.target.value.split(\".\");\r\n if (spl[1].length == 0) {\r\n val = val + '00';\r\n }\r\n\r\n if (spl[1].length == 1) {\r\n val = val + '0';\r\n }\r\n }\r\n this.setState({\r\n UnsecuredLoanMonthlyPayment: val\r\n });\r\n }}\r\n >\r\n
    \r\n Other\r\n \r\n {\r\n this.setState({ OtherInstitution: e.target.value });\r\n }}\r\n value={this.state.OtherInstitution}\r\n style={{ width: '100%' }}\r\n >\r\n \r\n {\r\n this.setState({ OtherValue: e.target.value }, function () {\r\n this.calculateNetWorth();\r\n });\r\n }}\r\n value={this.formatCurrency(this.state.OtherValue)}\r\n style={{ width: '100%' }}\r\n onBlur={(e) => {\r\n var val = this.state.OtherValue;\r\n if (e.target.value && e.target.value.startsWith('$') && !e.target.value.includes('.')) {\r\n val = val + '.00';\r\n }\r\n else if (e.target.value && e.target.value.startsWith('$') && e.target.value.includes('.')) {\r\n var spl = e.target.value.split(\".\");\r\n if (spl[1].length == 0) {\r\n val = val + '00';\r\n }\r\n\r\n if (spl[1].length == 1) {\r\n val = val + '0';\r\n }\r\n }\r\n this.setState({\r\n OtherValue: val\r\n });\r\n }}\r\n >\r\n Credit Cards\r\n {\r\n this.setState({ CreditCardsInstitution: e.target.value });\r\n }}\r\n value={this.state.CreditCardsInstitution}\r\n style={{ width: '100%' }}\r\n >\r\n \r\n {\r\n this.setState({ CreditCardsCurrentBalance: e.target.value }, function () {\r\n this.calculateNetWorth();\r\n });\r\n }}\r\n value={this.formatCurrency(this.state.CreditCardsCurrentBalance)}\r\n style={{ width: '100%' }}\r\n onBlur={(e) => {\r\n var val = this.state.CreditCardsCurrentBalance;\r\n if (e.target.value && e.target.value.startsWith('$') && !e.target.value.includes('.')) {\r\n val = val + '.00';\r\n }\r\n else if (e.target.value && e.target.value.startsWith('$') && e.target.value.includes('.')) {\r\n var spl = e.target.value.split(\".\");\r\n if (spl[1].length == 0) {\r\n val = val + '00';\r\n }\r\n\r\n if (spl[1].length == 1) {\r\n val = val + '0';\r\n }\r\n }\r\n this.setState({\r\n CreditCardsCurrentBalance: val\r\n });\r\n }}\r\n >\r\n \r\n {\r\n this.setState({ CreditCardsMonthlyPayment: e.target.value });\r\n }}\r\n value={this.formatCurrency(this.state.CreditCardsMonthlyPayment)}\r\n style={{ width: '100%' }}\r\n onBlur={(e) => {\r\n var val = this.state.CreditCardsMonthlyPayment;\r\n if (e.target.value && e.target.value.startsWith('$') && !e.target.value.includes('.')) {\r\n val = val + '.00';\r\n }\r\n else if (e.target.value && e.target.value.startsWith('$') && e.target.value.includes('.')) {\r\n var spl = e.target.value.split(\".\");\r\n if (spl[1].length == 0) {\r\n val = val + '00';\r\n }\r\n\r\n if (spl[1].length == 1) {\r\n val = val + '0';\r\n }\r\n }\r\n this.setState({\r\n CreditCardsMonthlyPayment: val\r\n });\r\n }}\r\n >\r\n
    \r\n Trust Accts\r\n \r\n {\r\n this.setState({ TrustFundInstitution: e.target.value });\r\n }}\r\n value={this.state.TrustFundInstitution}\r\n style={{ width: '100%' }}\r\n >\r\n \r\n {\r\n this.setState({ TrustFundValue: e.target.value }, function () {\r\n this.calculateNetWorth();\r\n });\r\n }}\r\n value={this.formatCurrency(this.state.TrustFundValue)}\r\n style={{ width: '100%' }}\r\n onBlur={(e) => {\r\n var val = this.state.TrustFundValue;\r\n if (e.target.value && e.target.value.startsWith('$') && !e.target.value.includes('.')) {\r\n val = val + '.00';\r\n }\r\n else if (e.target.value && e.target.value.startsWith('$') && e.target.value.includes('.')) {\r\n var spl = e.target.value.split(\".\");\r\n if (spl[1].length == 0) {\r\n val = val + '00';\r\n }\r\n\r\n if (spl[1].length == 1) {\r\n val = val + '0';\r\n }\r\n }\r\n this.setState({\r\n TrustFundValue: val\r\n });\r\n }}\r\n >\r\n Line of Credit\r\n {\r\n this.setState({ LineOfCreditInstitution: e.target.value });\r\n }}\r\n value={this.state.LineOfCreditInstitution}\r\n style={{ width: '100%' }}\r\n >\r\n \r\n {\r\n this.setState({ LineOfCreditCurrentBalance: e.target.value }, function () {\r\n this.calculateNetWorth();\r\n });\r\n }}\r\n value={this.formatCurrency(this.state.LineOfCreditCurrentBalance)}\r\n style={{ width: '100%' }}\r\n onBlur={(e) => {\r\n var val = this.state.LineOfCreditCurrentBalance;\r\n if (e.target.value && e.target.value.startsWith('$') && !e.target.value.includes('.')) {\r\n val = val + '.00';\r\n }\r\n else if (e.target.value && e.target.value.startsWith('$') && e.target.value.includes('.')) {\r\n var spl = e.target.value.split(\".\");\r\n if (spl[1].length == 0) {\r\n val = val + '00';\r\n }\r\n\r\n if (spl[1].length == 1) {\r\n val = val + '0';\r\n }\r\n }\r\n this.setState({\r\n LineOfCreditCurrentBalance: val\r\n });\r\n }}\r\n >\r\n \r\n {\r\n this.setState({ LineOfCreditMonthlyPayment: e.target.value });\r\n }}\r\n value={this.formatCurrency(this.state.LineOfCreditMonthlyPayment)}\r\n style={{ width: '100%' }}\r\n onBlur={(e) => {\r\n var val = this.state.LineOfCreditMonthlyPayment;\r\n if (e.target.value && e.target.value.startsWith('$') && !e.target.value.includes('.')) {\r\n val = val + '.00';\r\n }\r\n else if (e.target.value && e.target.value.startsWith('$') && e.target.value.includes('.')) {\r\n var spl = e.target.value.split(\".\");\r\n if (spl[1].length == 0) {\r\n val = val + '00';\r\n }\r\n\r\n if (spl[1].length == 1) {\r\n val = val + '0';\r\n }\r\n }\r\n this.setState({\r\n LineOfCreditMonthlyPayment: val\r\n });\r\n }}\r\n >\r\n
    \r\n Life Insurance Cash Value\r\n \r\n {\r\n this.setState({ LifeInsuranceCashInstitution: e.target.value });\r\n }}\r\n value={this.state.LifeInsuranceCashInstitution}\r\n style={{ width: '100%' }}\r\n >\r\n \r\n {\r\n this.setState({ LifeInsuranceCashValue: e.target.value }, function () {\r\n this.calculateNetWorth();\r\n });\r\n }}\r\n value={this.formatCurrency(this.state.LifeInsuranceCashValue)}\r\n style={{ width: '100%' }}\r\n onBlur={(e) => {\r\n var val = this.state.LifeInsuranceCashValue;\r\n if (e.target.value && e.target.value.startsWith('$') && !e.target.value.includes('.')) {\r\n val = val + '.00';\r\n }\r\n else if (e.target.value && e.target.value.startsWith('$') && e.target.value.includes('.')) {\r\n var spl = e.target.value.split(\".\");\r\n if (spl[1].length == 0) {\r\n val = val + '00';\r\n }\r\n\r\n if (spl[1].length == 1) {\r\n val = val + '0';\r\n }\r\n }\r\n this.setState({\r\n LifeInsuranceCashValue: val\r\n });\r\n }}\r\n >\r\n Other\r\n {\r\n this.setState({ OtherInstitution1: e.target.value });\r\n }}\r\n value={this.state.OtherInstitution1}\r\n style={{ width: '100%' }}\r\n >\r\n \r\n {\r\n this.setState({ OtherCurrentBalance1: e.target.value }, function () {\r\n this.calculateNetWorth();\r\n });\r\n }}\r\n value={this.formatCurrency(this.state.OtherCurrentBalance1)}\r\n style={{ width: '100%' }}\r\n onBlur={(e) => {\r\n var val = this.state.OtherCurrentBalance1;\r\n if (e.target.value && e.target.value.startsWith('$') && !e.target.value.includes('.')) {\r\n val = val + '.00';\r\n }\r\n else if (e.target.value && e.target.value.startsWith('$') && e.target.value.includes('.')) {\r\n var spl = e.target.value.split(\".\");\r\n if (spl[1].length == 0) {\r\n val = val + '00';\r\n }\r\n\r\n if (spl[1].length == 1) {\r\n val = val + '0';\r\n }\r\n }\r\n this.setState({\r\n OtherCurrentBalance1: val\r\n });\r\n }}\r\n >\r\n \r\n {\r\n this.setState({ OtherMonthlyPayment1: e.target.value });\r\n }}\r\n value={this.formatCurrency(this.state.OtherMonthlyPayment1)}\r\n style={{ width: '100%' }}\r\n onBlur={(e) => {\r\n var val = this.state.OtherMonthlyPayment1;\r\n if (e.target.value && e.target.value.startsWith('$') && !e.target.value.includes('.')) {\r\n val = val + '.00';\r\n }\r\n else if (e.target.value && e.target.value.startsWith('$') && e.target.value.includes('.')) {\r\n var spl = e.target.value.split(\".\");\r\n if (spl[1].length == 0) {\r\n val = val + '00';\r\n }\r\n\r\n if (spl[1].length == 1) {\r\n val = val + '0';\r\n }\r\n }\r\n this.setState({\r\n OtherMonthlyPayment1: val\r\n });\r\n }}\r\n >\r\n
    Real Estate AssetsLocation% OwnedValue ($)Mortgage HolderMo. Rental IncomeCurrent BalanceMo. Pmt. ($)
    \r\n Primary Residence\r\n \r\n {\r\n this.setState({ PrimaryResidenceLocation: e.target.value });\r\n }}\r\n value={this.state.PrimaryResidenceLocation}\r\n style={{ width: '100%' }}\r\n >\r\n \r\n {\r\n this.setState({ PrimaryResidencePercentOwned: e.target.value });\r\n }}\r\n value={this.state.PrimaryResidencePercentOwned}\r\n style={{ width: '100%' }}\r\n >\r\n \r\n {\r\n this.setState({ PrimaryResidenceValue: e.target.value }, function () {\r\n this.calculateNetWorth();\r\n });\r\n }}\r\n value={this.formatCurrency(this.state.PrimaryResidenceValue)}\r\n style={{ width: '100%' }}\r\n onBlur={(e) => {\r\n var val = this.state.PrimaryResidenceValue;\r\n if (e.target.value && e.target.value.startsWith('$') && !e.target.value.includes('.')) {\r\n val = val + '.00';\r\n }\r\n else if (e.target.value && e.target.value.startsWith('$') && e.target.value.includes('.')) {\r\n var spl = e.target.value.split(\".\");\r\n if (spl[1].length == 0) {\r\n val = val + '00';\r\n }\r\n\r\n if (spl[1].length == 1) {\r\n val = val + '0';\r\n }\r\n }\r\n this.setState({\r\n PrimaryResidenceValue: val\r\n });\r\n }}\r\n >\r\n \r\n {\r\n this.setState({ PrimaryResidenceMortgageHolder: e.target.value });\r\n }}\r\n value={this.state.PrimaryResidenceMortgageHolder}\r\n style={{ width: '100%' }}\r\n >\r\n \r\n {\r\n this.setState({ PrimaryResidenceMonthlyRentalIncome: e.target.value });\r\n }}\r\n value={this.formatCurrency(this.state.PrimaryResidenceMonthlyRentalIncome)}\r\n style={{ width: '100%' }}\r\n >\r\n \r\n {\r\n this.setState({ PrimaryResidenceCurrentBalance: e.target.value }, function () {\r\n this.calculateNetWorth();\r\n });\r\n }}\r\n value={this.formatCurrency(this.state.PrimaryResidenceCurrentBalance)}\r\n style={{ width: '100%' }}\r\n onBlur={(e) => {\r\n var val = this.state.PrimaryResidenceCurrentBalance;\r\n if (e.target.value && e.target.value.startsWith('$') && !e.target.value.includes('.')) {\r\n val = val + '.00';\r\n }\r\n else if (e.target.value && e.target.value.startsWith('$') && e.target.value.includes('.')) {\r\n var spl = e.target.value.split(\".\");\r\n if (spl[1].length == 0) {\r\n val = val + '00';\r\n }\r\n\r\n if (spl[1].length == 1) {\r\n val = val + '0';\r\n }\r\n }\r\n this.setState({\r\n PrimaryResidenceCurrentBalance: val\r\n });\r\n }}\r\n >\r\n \r\n {\r\n this.setState({ PrimaryResidenceMonthlyPayment: e.target.value });\r\n }}\r\n value={this.formatCurrency(this.state.PrimaryResidenceMonthlyPayment)}\r\n style={{ width: '100%' }}\r\n onBlur={(e) => {\r\n var val = this.state.PrimaryResidenceMonthlyPayment;\r\n if (e.target.value && e.target.value.startsWith('$') && !e.target.value.includes('.')) {\r\n val = val + '.00';\r\n }\r\n else if (e.target.value && e.target.value.startsWith('$') && e.target.value.includes('.')) {\r\n var spl = e.target.value.split(\".\");\r\n if (spl[1].length == 0) {\r\n val = val + '00';\r\n }\r\n\r\n if (spl[1].length == 1) {\r\n val = val + '0';\r\n }\r\n }\r\n this.setState({\r\n PrimaryResidenceMonthlyPayment: val\r\n });\r\n }}\r\n >\r\n
    \r\n Other Personal Residence\r\n \r\n {\r\n this.setState({ OtherResidenceLocation: e.target.value });\r\n }}\r\n value={this.state.OtherResidenceLocation}\r\n style={{ width: '100%' }}\r\n >\r\n \r\n {\r\n this.setState({ OtherResidencePercentOwned: e.target.value });\r\n }}\r\n value={this.state.OtherResidencePercentOwned}\r\n style={{ width: '100%' }}\r\n >\r\n \r\n {\r\n this.setState({ OtherResidenceValue: e.target.value }, function () {\r\n this.calculateNetWorth();\r\n });\r\n }}\r\n value={this.formatCurrency(this.state.OtherResidenceValue)}\r\n style={{ width: '100%' }}\r\n onBlur={(e) => {\r\n var val = this.state.OtherResidenceValue;\r\n if (e.target.value && e.target.value.startsWith('$') && !e.target.value.includes('.')) {\r\n val = val + '.00';\r\n }\r\n else if (e.target.value && e.target.value.startsWith('$') && e.target.value.includes('.')) {\r\n var spl = e.target.value.split(\".\");\r\n if (spl[1].length == 0) {\r\n val = val + '00';\r\n }\r\n\r\n if (spl[1].length == 1) {\r\n val = val + '0';\r\n }\r\n }\r\n this.setState({\r\n OtherResidenceValue: val\r\n });\r\n }}\r\n >\r\n \r\n {\r\n this.setState({ OtherResidenceMortgageHolder: e.target.value });\r\n }}\r\n value={this.state.OtherResidenceMortgageHolder}\r\n style={{ width: '100%' }}\r\n >\r\n \r\n {\r\n this.setState({ OtherResidenceMonthlyRentalIncome: e.target.value }, function () {\r\n this.calculateNetWorth();\r\n });\r\n }}\r\n value={this.formatCurrency(this.state.OtherResidenceMonthlyRentalIncome)}\r\n style={{ width: '100%' }}\r\n onBlur={(e) => {\r\n var val = this.state.OtherResidenceMonthlyRentalIncome;\r\n if (e.target.value && e.target.value.startsWith('$') && !e.target.value.includes('.')) {\r\n val = val + '.00';\r\n }\r\n else if (e.target.value && e.target.value.startsWith('$') && e.target.value.includes('.')) {\r\n var spl = e.target.value.split(\".\");\r\n if (spl[1].length == 0) {\r\n val = val + '00';\r\n }\r\n\r\n if (spl[1].length == 1) {\r\n val = val + '0';\r\n }\r\n }\r\n this.setState({\r\n OtherResidenceMonthlyRentalIncome: val\r\n });\r\n }}\r\n >\r\n \r\n {\r\n this.setState({ OtherResidenceCurrentBalance: e.target.value }, function () {\r\n this.calculateNetWorth();\r\n });\r\n }}\r\n value={this.formatCurrency(this.state.OtherResidenceCurrentBalance)}\r\n style={{ width: '100%' }}\r\n onBlur={(e) => {\r\n var val = this.state.OtherResidenceCurrentBalance;\r\n if (e.target.value && e.target.value.startsWith('$') && !e.target.value.includes('.')) {\r\n val = val + '.00';\r\n }\r\n else if (e.target.value && e.target.value.startsWith('$') && e.target.value.includes('.')) {\r\n var spl = e.target.value.split(\".\");\r\n if (spl[1].length == 0) {\r\n val = val + '00';\r\n }\r\n\r\n if (spl[1].length == 1) {\r\n val = val + '0';\r\n }\r\n }\r\n this.setState({\r\n OtherResidenceCurrentBalance: val\r\n });\r\n }}\r\n >\r\n \r\n {\r\n this.setState({ OtherResidenceMonthlyPayment: e.target.value });\r\n }}\r\n value={this.formatCurrency(this.state.OtherResidenceMonthlyPayment)}\r\n style={{ width: '100%' }}\r\n onBlur={(e) => {\r\n var val = this.state.OtherResidenceMonthlyPayment;\r\n if (e.target.value && e.target.value.startsWith('$') && !e.target.value.includes('.')) {\r\n val = val + '.00';\r\n }\r\n else if (e.target.value && e.target.value.startsWith('$') && e.target.value.includes('.')) {\r\n var spl = e.target.value.split(\".\");\r\n if (spl[1].length == 0) {\r\n val = val + '00';\r\n }\r\n\r\n if (spl[1].length == 1) {\r\n val = val + '0';\r\n }\r\n }\r\n this.setState({\r\n OtherResidenceMonthlyPayment: val\r\n });\r\n }}\r\n >\r\n
    \r\n Rental Property #1\r\n \r\n {\r\n this.setState({ RentalLocation1: e.target.value });\r\n }}\r\n value={this.state.RentalLocation1}\r\n style={{ width: '100%' }}\r\n >\r\n \r\n {\r\n this.setState({ RentalPercentOwned1: e.target.value });\r\n }}\r\n value={this.state.RentalPercentOwned1}\r\n style={{ width: '100%' }}\r\n >\r\n \r\n {\r\n this.setState({ RentalValue1: e.target.value }, function () {\r\n this.calculateNetWorth();\r\n });\r\n }}\r\n value={this.formatCurrency(this.state.RentalValue1)}\r\n style={{ width: '100%' }}\r\n onBlur={(e) => {\r\n var val = this.state.RentalValue1;\r\n if (e.target.value && e.target.value.startsWith('$') && !e.target.value.includes('.')) {\r\n val = val + '.00';\r\n }\r\n else if (e.target.value && e.target.value.startsWith('$') && e.target.value.includes('.')) {\r\n var spl = e.target.value.split(\".\");\r\n if (spl[1].length == 0) {\r\n val = val + '00';\r\n }\r\n\r\n if (spl[1].length == 1) {\r\n val = val + '0';\r\n }\r\n }\r\n this.setState({\r\n RentalValue1: val\r\n });\r\n }}\r\n >\r\n \r\n {\r\n this.setState({ RentalMortgageHolder1: e.target.value });\r\n }}\r\n value={this.state.RentalMortgageHolder1}\r\n style={{ width: '100%' }}\r\n >\r\n \r\n {\r\n this.setState({ RentalMonthlyRentalIncome1: e.target.value }, function () {\r\n this.calculateNetWorth();\r\n });\r\n }}\r\n value={this.formatCurrency(this.state.RentalMonthlyRentalIncome1)}\r\n style={{ width: '100%' }}\r\n onBlur={(e) => {\r\n var val = this.state.RentalMonthlyRentalIncome1;\r\n if (e.target.value && e.target.value.startsWith('$') && !e.target.value.includes('.')) {\r\n val = val + '.00';\r\n }\r\n else if (e.target.value && e.target.value.startsWith('$') && e.target.value.includes('.')) {\r\n var spl = e.target.value.split(\".\");\r\n if (spl[1].length == 0) {\r\n val = val + '00';\r\n }\r\n\r\n if (spl[1].length == 1) {\r\n val = val + '0';\r\n }\r\n }\r\n this.setState({\r\n RentalMonthlyRentalIncome1: val\r\n });\r\n }}\r\n >\r\n \r\n {\r\n this.setState({ RentalBalance1: e.target.value }, function () {\r\n this.calculateNetWorth();\r\n });\r\n }}\r\n value={this.formatCurrency(this.state.RentalBalance1)}\r\n style={{ width: '100%' }}\r\n onBlur={(e) => {\r\n var val = this.state.RentalBalance1;\r\n if (e.target.value && e.target.value.startsWith('$') && !e.target.value.includes('.')) {\r\n val = val + '.00';\r\n }\r\n else if (e.target.value && e.target.value.startsWith('$') && e.target.value.includes('.')) {\r\n var spl = e.target.value.split(\".\");\r\n if (spl[1].length == 0) {\r\n val = val + '00';\r\n }\r\n\r\n if (spl[1].length == 1) {\r\n val = val + '0';\r\n }\r\n }\r\n this.setState({\r\n RentalBalance1: val\r\n });\r\n }}\r\n >\r\n \r\n {\r\n this.setState({ RentalMonthlyPayment1: e.target.value });\r\n }}\r\n value={this.formatCurrency(this.state.RentalMonthlyPayment1)}\r\n style={{ width: '100%' }}\r\n onBlur={(e) => {\r\n var val = this.state.RentalMonthlyPayment1;\r\n if (e.target.value && e.target.value.startsWith('$') && !e.target.value.includes('.')) {\r\n val = val + '.00';\r\n }\r\n else if (e.target.value && e.target.value.startsWith('$') && e.target.value.includes('.')) {\r\n var spl = e.target.value.split(\".\");\r\n if (spl[1].length == 0) {\r\n val = val + '00';\r\n }\r\n\r\n if (spl[1].length == 1) {\r\n val = val + '0';\r\n }\r\n }\r\n this.setState({\r\n RentalMonthlyPayment1: val\r\n });\r\n }}\r\n >\r\n
    \r\n Rental Property #2\r\n \r\n {\r\n this.setState({ RentalLocation2: e.target.value });\r\n }}\r\n value={this.state.RentalLocation2}\r\n style={{ width: '100%' }}\r\n >\r\n \r\n {\r\n this.setState({ RentalPercentOwned2: e.target.value });\r\n }}\r\n value={this.state.RentalPercentOwned2}\r\n style={{ width: '100%' }}\r\n >\r\n \r\n {\r\n this.setState({ RentalValue2: e.target.value }, function () {\r\n this.calculateNetWorth();\r\n });\r\n }}\r\n value={this.formatCurrency(this.state.RentalValue2)}\r\n style={{ width: '100%' }}\r\n onBlur={(e) => {\r\n var val = this.state.RentalValue2;\r\n if (e.target.value && e.target.value.startsWith('$') && !e.target.value.includes('.')) {\r\n val = val + '.00';\r\n }\r\n else if (e.target.value && e.target.value.startsWith('$') && e.target.value.includes('.')) {\r\n var spl = e.target.value.split(\".\");\r\n if (spl[1].length == 0) {\r\n val = val + '00';\r\n }\r\n\r\n if (spl[1].length == 1) {\r\n val = val + '0';\r\n }\r\n }\r\n this.setState({\r\n RentalValue2: val\r\n });\r\n }}\r\n >\r\n \r\n {\r\n this.setState({ RentalMortgageHolder2: e.target.value });\r\n }}\r\n value={this.state.RentalMortgageHolder2}\r\n style={{ width: '100%' }}\r\n >\r\n \r\n {\r\n this.setState({ RentalMonthlyRentalIncome2: e.target.value }, function () {\r\n this.calculateNetWorth();\r\n });\r\n }}\r\n value={this.formatCurrency(this.state.RentalMonthlyRentalIncome2)}\r\n style={{ width: '100%' }}\r\n onBlur={(e) => {\r\n var val = this.state.RentalMonthlyRentalIncome2;\r\n if (e.target.value && e.target.value.startsWith('$') && !e.target.value.includes('.')) {\r\n val = val + '.00';\r\n }\r\n else if (e.target.value && e.target.value.startsWith('$') && e.target.value.includes('.')) {\r\n var spl = e.target.value.split(\".\");\r\n if (spl[1].length == 0) {\r\n val = val + '00';\r\n }\r\n\r\n if (spl[1].length == 1) {\r\n val = val + '0';\r\n }\r\n }\r\n this.setState({\r\n RentalMonthlyRentalIncome2: val\r\n });\r\n }}\r\n >\r\n \r\n {\r\n this.setState({ RentalBalance2: e.target.value }, function () {\r\n this.calculateNetWorth();\r\n });\r\n }}\r\n value={this.formatCurrency(this.state.RentalBalance2)}\r\n style={{ width: '100%' }}\r\n onBlur={(e) => {\r\n var val = this.state.RentalBalance2;\r\n if (e.target.value && e.target.value.startsWith('$') && !e.target.value.includes('.')) {\r\n val = val + '.00';\r\n }\r\n else if (e.target.value && e.target.value.startsWith('$') && e.target.value.includes('.')) {\r\n var spl = e.target.value.split(\".\");\r\n if (spl[1].length == 0) {\r\n val = val + '00';\r\n }\r\n\r\n if (spl[1].length == 1) {\r\n val = val + '0';\r\n }\r\n }\r\n this.setState({\r\n RentalBalance2: val\r\n });\r\n }}\r\n >\r\n \r\n {\r\n this.setState({ RentalMonthlyPayment2: e.target.value });\r\n }}\r\n value={this.formatCurrency(this.state.RentalMonthlyPayment2)}\r\n style={{ width: '100%' }}\r\n onBlur={(e) => {\r\n var val = this.state.RentalMonthlyPayment2;\r\n if (e.target.value && e.target.value.startsWith('$') && !e.target.value.includes('.')) {\r\n val = val + '.00';\r\n }\r\n else if (e.target.value && e.target.value.startsWith('$') && e.target.value.includes('.')) {\r\n var spl = e.target.value.split(\".\");\r\n if (spl[1].length == 0) {\r\n val = val + '00';\r\n }\r\n\r\n if (spl[1].length == 1) {\r\n val = val + '0';\r\n }\r\n }\r\n this.setState({\r\n RentalMonthlyPayment2: val\r\n });\r\n }}\r\n >\r\n
    \r\n Rental Property #3\r\n \r\n {\r\n this.setState({ RentalLocation3: e.target.value });\r\n }}\r\n value={this.state.RentalLocation3}\r\n style={{ width: '100%' }}\r\n >\r\n \r\n {\r\n this.setState({ RentalPercentOwned3: e.target.value });\r\n }}\r\n value={this.state.RentalPercentOwned3}\r\n style={{ width: '100%' }}\r\n >\r\n \r\n {\r\n this.setState({ RentalValue3: e.target.value }, function () {\r\n this.calculateNetWorth();\r\n });\r\n }}\r\n value={this.formatCurrency(this.state.RentalValue3)}\r\n style={{ width: '100%' }}\r\n onBlur={(e) => {\r\n var val = this.state.RentalValue3;\r\n if (e.target.value && e.target.value.startsWith('$') && !e.target.value.includes('.')) {\r\n val = val + '.00';\r\n }\r\n else if (e.target.value && e.target.value.startsWith('$') && e.target.value.includes('.')) {\r\n var spl = e.target.value.split(\".\");\r\n if (spl[1].length == 0) {\r\n val = val + '00';\r\n }\r\n\r\n if (spl[1].length == 1) {\r\n val = val + '0';\r\n }\r\n }\r\n this.setState({\r\n RentalValue3: val\r\n });\r\n }}\r\n >\r\n \r\n {\r\n this.setState({ RentalMortgageHolder3: e.target.value });\r\n }}\r\n value={this.state.RentalMortgageHolder3}\r\n style={{ width: '100%' }}\r\n >\r\n \r\n {\r\n this.setState({ RentalMonthlyRentalIncome3: e.target.value }, function () {\r\n this.calculateNetWorth();\r\n });\r\n }}\r\n value={this.formatCurrency(this.state.RentalMonthlyRentalIncome3)}\r\n style={{ width: '100%' }}\r\n onBlur={(e) => {\r\n var val = this.state.RentalMonthlyRentalIncome3;\r\n if (e.target.value && e.target.value.startsWith('$') && !e.target.value.includes('.')) {\r\n val = val + '.00';\r\n }\r\n else if (e.target.value && e.target.value.startsWith('$') && e.target.value.includes('.')) {\r\n var spl = e.target.value.split(\".\");\r\n if (spl[1].length == 0) {\r\n val = val + '00';\r\n }\r\n\r\n if (spl[1].length == 1) {\r\n val = val + '0';\r\n }\r\n }\r\n this.setState({\r\n RentalMonthlyRentalIncome3: val\r\n });\r\n }}\r\n >\r\n \r\n {\r\n this.setState({ RentalBalance3: e.target.value }, function () {\r\n this.calculateNetWorth();\r\n });\r\n }}\r\n value={this.formatCurrency(this.state.RentalBalance3)}\r\n style={{ width: '100%' }}\r\n onBlur={(e) => {\r\n var val = this.state.RentalBalance3;\r\n if (e.target.value && e.target.value.startsWith('$') && !e.target.value.includes('.')) {\r\n val = val + '.00';\r\n }\r\n else if (e.target.value && e.target.value.startsWith('$') && e.target.value.includes('.')) {\r\n var spl = e.target.value.split(\".\");\r\n if (spl[1].length == 0) {\r\n val = val + '00';\r\n }\r\n\r\n if (spl[1].length == 1) {\r\n val = val + '0';\r\n }\r\n }\r\n this.setState({\r\n RentalBalance3: val\r\n });\r\n }}\r\n >\r\n \r\n {\r\n this.setState({ RentalMonthlyPayment3: e.target.value });\r\n }}\r\n value={this.formatCurrency(this.state.RentalMonthlyPayment3)}\r\n style={{ width: '100%' }}\r\n onBlur={(e) => {\r\n var val = this.state.RentalMonthlyPayment3;\r\n if (e.target.value && e.target.value.startsWith('$') && !e.target.value.includes('.')) {\r\n val = val + '.00';\r\n }\r\n else if (e.target.value && e.target.value.startsWith('$') && e.target.value.includes('.')) {\r\n var spl = e.target.value.split(\".\");\r\n if (spl[1].length == 0) {\r\n val = val + '00';\r\n }\r\n\r\n if (spl[1].length == 1) {\r\n val = val + '0';\r\n }\r\n }\r\n this.setState({\r\n RentalMonthlyPayment3: val\r\n });\r\n }}\r\n >\r\n
    \r\n Other\r\n \r\n {\r\n this.setState({ RealEstateOtherLocation1: e.target.value });\r\n }}\r\n value={this.state.RealEstateOtherLocation1}\r\n style={{ width: '100%' }}\r\n >\r\n \r\n {\r\n this.setState({ RealEstateOtherPercentOwned1: e.target.value });\r\n }}\r\n value={this.state.RealEstateOtherPercentOwned1}\r\n style={{ width: '100%' }}\r\n >\r\n \r\n {\r\n this.setState({ RealEstateOtherValue1: e.target.value }, function () {\r\n this.calculateNetWorth();\r\n });\r\n }}\r\n value={this.formatCurrency(this.state.RealEstateOtherValue1)}\r\n style={{ width: '100%' }}\r\n onBlur={(e) => {\r\n var val = this.state.RealEstateOtherValue1;\r\n if (e.target.value && e.target.value.startsWith('$') && !e.target.value.includes('.')) {\r\n val = val + '.00';\r\n }\r\n else if (e.target.value && e.target.value.startsWith('$') && e.target.value.includes('.')) {\r\n var spl = e.target.value.split(\".\");\r\n if (spl[1].length == 0) {\r\n val = val + '00';\r\n }\r\n\r\n if (spl[1].length == 1) {\r\n val = val + '0';\r\n }\r\n }\r\n this.setState({\r\n RealEstateOtherValue1: val\r\n });\r\n }}\r\n >\r\n \r\n {\r\n this.setState({ RealEstateOtherMortgageHolder1: e.target.value });\r\n }}\r\n value={this.state.RealEstateOtherMortgageHolder1}\r\n style={{ width: '100%' }}\r\n >\r\n \r\n {\r\n this.setState({ RealEstateOtherMonthlyRentalIncome1: e.target.value }, function () {\r\n this.calculateNetWorth();\r\n });\r\n }}\r\n value={this.formatCurrency(this.state.RealEstateOtherMonthlyRentalIncome1)}\r\n style={{ width: '100%' }}\r\n onBlur={(e) => {\r\n var val = this.state.RealEstateOtherMonthlyRentalIncome1;\r\n if (e.target.value && e.target.value.startsWith('$') && !e.target.value.includes('.')) {\r\n val = val + '.00';\r\n }\r\n else if (e.target.value && e.target.value.startsWith('$') && e.target.value.includes('.')) {\r\n var spl = e.target.value.split(\".\");\r\n if (spl[1].length == 0) {\r\n val = val + '00';\r\n }\r\n\r\n if (spl[1].length == 1) {\r\n val = val + '0';\r\n }\r\n }\r\n this.setState({\r\n RealEstateOtherMonthlyRentalIncome1: val\r\n });\r\n }}\r\n >\r\n \r\n {\r\n this.setState({ RealEstateOtherBalance1: e.target.value }, function () {\r\n this.calculateNetWorth();\r\n });\r\n }}\r\n value={this.formatCurrency(this.state.RealEstateOtherBalance1)}\r\n style={{ width: '100%' }}\r\n onBlur={(e) => {\r\n var val = this.state.RealEstateOtherBalance1;\r\n if (e.target.value && e.target.value.startsWith('$') && !e.target.value.includes('.')) {\r\n val = val + '.00';\r\n }\r\n else if (e.target.value && e.target.value.startsWith('$') && e.target.value.includes('.')) {\r\n var spl = e.target.value.split(\".\");\r\n if (spl[1].length == 0) {\r\n val = val + '00';\r\n }\r\n\r\n if (spl[1].length == 1) {\r\n val = val + '0';\r\n }\r\n }\r\n this.setState({\r\n RealEstateOtherBalance1: val\r\n });\r\n }}\r\n >\r\n \r\n {\r\n this.setState({ RealEstateOtherMonthlyPayment1: e.target.value });\r\n }}\r\n value={this.formatCurrency(this.state.RealEstateOtherMonthlyPayment1)}\r\n style={{ width: '100%' }}\r\n onBlur={(e) => {\r\n var val = this.state.RealEstateOtherMonthlyPayment1;\r\n if (e.target.value && e.target.value.startsWith('$') && !e.target.value.includes('.')) {\r\n val = val + '.00';\r\n }\r\n else if (e.target.value && e.target.value.startsWith('$') && e.target.value.includes('.')) {\r\n var spl = e.target.value.split(\".\");\r\n if (spl[1].length == 0) {\r\n val = val + '00';\r\n }\r\n\r\n if (spl[1].length == 1) {\r\n val = val + '0';\r\n }\r\n }\r\n this.setState({\r\n RealEstateOtherMonthlyPayment1: val\r\n });\r\n }}\r\n >\r\n
    Business AssetsBusiness Name% OwnedValue ($)Business DebtsInstitutionCurrent BalanceMo. Pmt. ($)
    \r\n Business #1\r\n \r\n {\r\n this.setState({ BusinessAssetBusinessName1: e.target.value });\r\n }}\r\n value={this.state.BusinessAssetBusinessName1}\r\n style={{ width: '100%' }}\r\n >\r\n \r\n {\r\n this.setState({ BusinessAssetPercentOwned1: e.target.value });\r\n }}\r\n value={this.state.BusinessAssetPercentOwned1}\r\n style={{ width: '100%' }}\r\n >\r\n \r\n {\r\n this.setState({ BusinessAssetPercentValue1: e.target.value }, function () {\r\n this.calculateNetWorth();\r\n });\r\n }}\r\n value={this.formatCurrency(this.state.BusinessAssetPercentValue1)}\r\n style={{ width: '100%' }}\r\n onBlur={(e) => {\r\n var val = this.state.BusinessAssetPercentValue1;\r\n if (e.target.value && e.target.value.startsWith('$') && !e.target.value.includes('.')) {\r\n val = val + '.00';\r\n }\r\n else if (e.target.value && e.target.value.startsWith('$') && e.target.value.includes('.')) {\r\n var spl = e.target.value.split(\".\");\r\n if (spl[1].length == 0) {\r\n val = val + '00';\r\n }\r\n\r\n if (spl[1].length == 1) {\r\n val = val + '0';\r\n }\r\n }\r\n this.setState({\r\n BusinessAssetPercentValue1: val\r\n });\r\n }}\r\n >\r\n \r\n {\r\n this.setState({ BusinessAssetBusinessDebts1: e.target.value });\r\n }}\r\n value={this.state.BusinessAssetBusinessDebts1}\r\n style={{ width: '100%' }}\r\n >\r\n \r\n {\r\n this.setState({ BusinessAssetBusinessInstitution1: e.target.value });\r\n }}\r\n value={this.state.BusinessAssetBusinessInstitution1}\r\n style={{ width: '100%' }}\r\n >\r\n \r\n {\r\n this.setState({ BusinessAssetBusinessCurrentBalance1: e.target.value }, function () {\r\n this.calculateNetWorth();\r\n });\r\n }}\r\n value={this.formatCurrency(this.state.BusinessAssetBusinessCurrentBalance1)}\r\n style={{ width: '100%' }}\r\n onBlur={(e) => {\r\n var val = this.state.BusinessAssetBusinessCurrentBalance1;\r\n if (e.target.value && e.target.value.startsWith('$') && !e.target.value.includes('.')) {\r\n val = val + '.00';\r\n }\r\n else if (e.target.value && e.target.value.startsWith('$') && e.target.value.includes('.')) {\r\n var spl = e.target.value.split(\".\");\r\n if (spl[1].length == 0) {\r\n val = val + '00';\r\n }\r\n\r\n if (spl[1].length == 1) {\r\n val = val + '0';\r\n }\r\n }\r\n this.setState({\r\n BusinessAssetBusinessCurrentBalance1: val\r\n });\r\n }}\r\n >\r\n \r\n {\r\n this.setState({ BusinessAssetBusinessMonthlyPayment1: e.target.value });\r\n }}\r\n value={this.formatCurrency(this.state.BusinessAssetBusinessMonthlyPayment1)}\r\n style={{ width: '100%' }}\r\n onBlur={(e) => {\r\n var val = this.state.BusinessAssetBusinessMonthlyPayment1;\r\n if (e.target.value && e.target.value.startsWith('$') && !e.target.value.includes('.')) {\r\n val = val + '.00';\r\n }\r\n else if (e.target.value && e.target.value.startsWith('$') && e.target.value.includes('.')) {\r\n var spl = e.target.value.split(\".\");\r\n if (spl[1].length == 0) {\r\n val = val + '00';\r\n }\r\n\r\n if (spl[1].length == 1) {\r\n val = val + '0';\r\n }\r\n }\r\n this.setState({\r\n BusinessAssetBusinessMonthlyPayment1: val\r\n });\r\n }}\r\n >\r\n
    \r\n Business #2\r\n \r\n {\r\n this.setState({ BusinessAssetBusinessName2: e.target.value });\r\n }}\r\n value={this.state.BusinessAssetBusinessName2}\r\n style={{ width: '100%' }}\r\n >\r\n \r\n {\r\n this.setState({ BusinessAssetPercentOwned2: e.target.value });\r\n }}\r\n value={this.state.BusinessAssetPercentOwned2}\r\n style={{ width: '100%' }}\r\n >\r\n \r\n {\r\n this.setState({ BusinessAssetPercentValue2: e.target.value }, function () {\r\n this.calculateNetWorth();\r\n });\r\n }}\r\n value={this.formatCurrency(this.state.BusinessAssetPercentValue2)}\r\n style={{ width: '100%' }}\r\n onBlur={(e) => {\r\n var val = this.state.BusinessAssetPercentValue2;\r\n if (e.target.value && e.target.value.startsWith('$') && !e.target.value.includes('.')) {\r\n val = val + '.00';\r\n }\r\n else if (e.target.value && e.target.value.startsWith('$') && e.target.value.includes('.')) {\r\n var spl = e.target.value.split(\".\");\r\n if (spl[1].length == 0) {\r\n val = val + '00';\r\n }\r\n\r\n if (spl[1].length == 1) {\r\n val = val + '0';\r\n }\r\n }\r\n this.setState({\r\n BusinessAssetPercentValue2: val\r\n });\r\n }}\r\n >\r\n \r\n {\r\n this.setState({ BusinessAssetBusinessDebts2: e.target.value });\r\n }}\r\n value={this.state.BusinessAssetBusinessDebts2}\r\n style={{ width: '100%' }}\r\n >\r\n \r\n {\r\n this.setState({ BusinessAssetBusinessInstitution2: e.target.value });\r\n }}\r\n value={this.state.BusinessAssetBusinessInstitution2}\r\n style={{ width: '100%' }}\r\n >\r\n \r\n {\r\n this.setState({ BusinessAssetBusinessCurrentBalance2: e.target.value }, function () {\r\n this.calculateNetWorth();\r\n });\r\n }}\r\n value={this.formatCurrency(this.state.BusinessAssetBusinessCurrentBalance2)}\r\n style={{ width: '100%' }}\r\n onBlur={(e) => {\r\n var val = this.state.BusinessAssetBusinessCurrentBalance2;\r\n if (e.target.value && e.target.value.startsWith('$') && !e.target.value.includes('.')) {\r\n val = val + '.00';\r\n }\r\n else if (e.target.value && e.target.value.startsWith('$') && e.target.value.includes('.')) {\r\n var spl = e.target.value.split(\".\");\r\n if (spl[1].length == 0) {\r\n val = val + '00';\r\n }\r\n\r\n if (spl[1].length == 1) {\r\n val = val + '0';\r\n }\r\n }\r\n this.setState({\r\n BusinessAssetBusinessCurrentBalance2: val\r\n });\r\n }}\r\n >\r\n \r\n {\r\n this.setState({ BusinessAssetBusinessMonthlyPayment2: e.target.value });\r\n }}\r\n value={this.formatCurrency(this.state.BusinessAssetBusinessMonthlyPayment2)}\r\n style={{ width: '100%' }}\r\n onBlur={(e) => {\r\n var val = this.state.BusinessAssetBusinessMonthlyPayment2;\r\n if (e.target.value && e.target.value.startsWith('$') && !e.target.value.includes('.')) {\r\n val = val + '.00';\r\n }\r\n else if (e.target.value && e.target.value.startsWith('$') && e.target.value.includes('.')) {\r\n var spl = e.target.value.split(\".\");\r\n if (spl[1].length == 0) {\r\n val = val + '00';\r\n }\r\n\r\n if (spl[1].length == 1) {\r\n val = val + '0';\r\n }\r\n }\r\n this.setState({\r\n BusinessAssetBusinessMonthlyPayment2: val\r\n });\r\n }}\r\n >\r\n
    \r\n Business #3\r\n \r\n {\r\n this.setState({ BusinessAssetBusinessName3: e.target.value });\r\n }}\r\n value={this.state.BusinessAssetBusinessName3}\r\n style={{ width: '100%' }}\r\n >\r\n \r\n {\r\n this.setState({ BusinessAssetPercentOwned3: e.target.value });\r\n }}\r\n value={this.state.BusinessAssetPercentOwned3}\r\n style={{ width: '100%' }}\r\n >\r\n \r\n {\r\n this.setState({ BusinessAssetPercentValue3: e.target.value }, function () {\r\n this.calculateNetWorth();\r\n });\r\n }}\r\n value={this.formatCurrency(this.state.BusinessAssetPercentValue3)}\r\n style={{ width: '100%' }}\r\n onBlur={(e) => {\r\n var val = this.state.BusinessAssetPercentValue3;\r\n if (e.target.value && e.target.value.startsWith('$') && !e.target.value.includes('.')) {\r\n val = val + '.00';\r\n }\r\n else if (e.target.value && e.target.value.startsWith('$') && e.target.value.includes('.')) {\r\n var spl = e.target.value.split(\".\");\r\n if (spl[1].length == 0) {\r\n val = val + '00';\r\n }\r\n\r\n if (spl[1].length == 1) {\r\n val = val + '0';\r\n }\r\n }\r\n this.setState({\r\n BusinessAssetPercentValue3: val\r\n });\r\n }}\r\n >\r\n \r\n {\r\n this.setState({ BusinessAssetBusinessDebts3: e.target.value });\r\n }}\r\n value={this.state.BusinessAssetBusinessDebts3}\r\n style={{ width: '100%' }}\r\n >\r\n \r\n {\r\n this.setState({ BusinessAssetBusinessInstitution3: e.target.value });\r\n }}\r\n value={this.state.BusinessAssetBusinessInstitution3}\r\n style={{ width: '100%' }}\r\n >\r\n \r\n {\r\n this.setState({ BusinessAssetBusinessCurrentBalance3: e.target.value }, function () {\r\n this.calculateNetWorth();\r\n });\r\n }}\r\n value={this.formatCurrency(this.state.BusinessAssetBusinessCurrentBalance3)}\r\n style={{ width: '100%' }}\r\n onBlur={(e) => {\r\n var val = this.state.BusinessAssetBusinessCurrentBalance3;\r\n if (e.target.value && e.target.value.startsWith('$') && !e.target.value.includes('.')) {\r\n val = val + '.00';\r\n }\r\n else if (e.target.value && e.target.value.startsWith('$') && e.target.value.includes('.')) {\r\n var spl = e.target.value.split(\".\");\r\n if (spl[1].length == 0) {\r\n val = val + '00';\r\n }\r\n\r\n if (spl[1].length == 1) {\r\n val = val + '0';\r\n }\r\n }\r\n this.setState({\r\n BusinessAssetBusinessCurrentBalance3: val\r\n });\r\n }}\r\n >\r\n \r\n {\r\n this.setState({ BusinessAssetBusinessMonthlyPayment3: e.target.value });\r\n }}\r\n value={this.formatCurrency(this.state.BusinessAssetBusinessMonthlyPayment3)}\r\n style={{ width: '100%' }}\r\n onBlur={(e) => {\r\n var val = this.state.BusinessAssetBusinessMonthlyPayment3;\r\n if (e.target.value && e.target.value.startsWith('$') && !e.target.value.includes('.')) {\r\n val = val + '.00';\r\n }\r\n else if (e.target.value && e.target.value.startsWith('$') && e.target.value.includes('.')) {\r\n var spl = e.target.value.split(\".\");\r\n if (spl[1].length == 0) {\r\n val = val + '00';\r\n }\r\n\r\n if (spl[1].length == 1) {\r\n val = val + '0';\r\n }\r\n }\r\n this.setState({\r\n BusinessAssetBusinessMonthlyPayment3: val\r\n });\r\n }}\r\n >\r\n
    \r\n Business #4\r\n \r\n {\r\n this.setState({ BusinessAssetBusinessName4: e.target.value });\r\n }}\r\n value={this.state.BusinessAssetBusinessName4}\r\n style={{ width: '100%' }}\r\n >\r\n \r\n {\r\n this.setState({ BusinessAssetPercentOwned4: e.target.value });\r\n }}\r\n value={this.state.BusinessAssetPercentOwned4}\r\n style={{ width: '100%' }}\r\n >\r\n \r\n {\r\n this.setState({ BusinessAssetPercentValue4: e.target.value }, function () {\r\n this.calculateNetWorth();\r\n });\r\n }}\r\n value={this.formatCurrency(this.state.BusinessAssetPercentValue4)}\r\n style={{ width: '100%' }}\r\n onBlur={(e) => {\r\n var val = this.state.BusinessAssetPercentValue4;\r\n if (e.target.value && e.target.value.startsWith('$') && !e.target.value.includes('.')) {\r\n val = val + '.00';\r\n }\r\n else if (e.target.value && e.target.value.startsWith('$') && e.target.value.includes('.')) {\r\n var spl = e.target.value.split(\".\");\r\n if (spl[1].length == 0) {\r\n val = val + '00';\r\n }\r\n\r\n if (spl[1].length == 1) {\r\n val = val + '0';\r\n }\r\n }\r\n this.setState({\r\n BusinessAssetPercentValue4: val\r\n });\r\n }}\r\n >\r\n \r\n {\r\n this.setState({ BusinessAssetBusinessDebts4: e.target.value });\r\n }}\r\n value={this.state.BusinessAssetBusinessDebts4}\r\n style={{ width: '100%' }}\r\n >\r\n \r\n {\r\n this.setState({ BusinessAssetBusinessInstitution4: e.target.value });\r\n }}\r\n value={this.state.BusinessAssetBusinessInstitution4}\r\n style={{ width: '100%' }}\r\n >\r\n \r\n {\r\n this.setState({ BusinessAssetBusinessCurrentBalance4: e.target.value }, function () {\r\n this.calculateNetWorth();\r\n });\r\n }}\r\n value={this.formatCurrency(this.state.BusinessAssetBusinessCurrentBalance4)}\r\n style={{ width: '100%' }}\r\n onBlur={(e) => {\r\n var val = this.state.BusinessAssetBusinessCurrentBalance4;\r\n if (e.target.value && e.target.value.startsWith('$') && !e.target.value.includes('.')) {\r\n val = val + '.00';\r\n }\r\n else if (e.target.value && e.target.value.startsWith('$') && e.target.value.includes('.')) {\r\n var spl = e.target.value.split(\".\");\r\n if (spl[1].length == 0) {\r\n val = val + '00';\r\n }\r\n\r\n if (spl[1].length == 1) {\r\n val = val + '0';\r\n }\r\n }\r\n this.setState({\r\n BusinessAssetBusinessCurrentBalance4: val\r\n });\r\n }}\r\n >\r\n \r\n {\r\n this.setState({ BusinessAssetBusinessMonthlyPayment4: e.target.value });\r\n }}\r\n value={this.formatCurrency(this.state.BusinessAssetBusinessMonthlyPayment4)}\r\n style={{ width: '100%' }}\r\n onBlur={(e) => {\r\n var val = this.state.BusinessAssetBusinessMonthlyPayment4;\r\n if (e.target.value && e.target.value.startsWith('$') && !e.target.value.includes('.')) {\r\n val = val + '.00';\r\n }\r\n else if (e.target.value && e.target.value.startsWith('$') && e.target.value.includes('.')) {\r\n var spl = e.target.value.split(\".\");\r\n if (spl[1].length == 0) {\r\n val = val + '00';\r\n }\r\n\r\n if (spl[1].length == 1) {\r\n val = val + '0';\r\n }\r\n }\r\n this.setState({\r\n BusinessAssetBusinessMonthlyPayment4: val\r\n });\r\n }}\r\n >\r\n
    Other AssetsValue ($)Other Secured LoansInstitutionCurrent BalanceMo. Pmt. ($)
    \r\n Current Boat\r\n \r\n {\r\n this.setState({ OtherAssetsCurrentBoatInstitution: e.target.value });\r\n }}\r\n value={this.state.OtherAssetsCurrentBoatInstitution}\r\n style={{ width: '100%' }}\r\n >\r\n \r\n \r\n {\r\n this.setState({ OtherAssetCurrentBoatValue: e.target.value }, function () {\r\n this.calculateNetWorth();\r\n });\r\n }}\r\n value={this.formatCurrency(this.state.OtherAssetCurrentBoatValue)}\r\n style={{ width: '100%' }}\r\n onBlur={(e) => {\r\n var val = this.state.OtherAssetCurrentBoatValue;\r\n if (e.target.value && e.target.value.startsWith('$') && !e.target.value.includes('.')) {\r\n val = val + '.00';\r\n }\r\n else if (e.target.value && e.target.value.startsWith('$') && e.target.value.includes('.')) {\r\n var spl = e.target.value.split(\".\");\r\n if (spl[1].length == 0) {\r\n val = val + '00';\r\n }\r\n\r\n if (spl[1].length == 1) {\r\n val = val + '0';\r\n }\r\n }\r\n this.setState({\r\n OtherAssetCurrentBoatValue: val\r\n });\r\n }}\r\n >\r\n \r\n Boat Loan\r\n \r\n {\r\n this.setState({ OtherSecuredLoansBoatInstitution1: e.target.value });\r\n }}\r\n value={this.state.OtherSecuredLoansBoatInstitution1}\r\n style={{ width: '100%' }}\r\n >\r\n \r\n {\r\n this.setState({ OtherSecuredLoansBoatCurrentBalance1: e.target.value }, function () {\r\n this.calculateNetWorth();\r\n });\r\n }}\r\n value={this.formatCurrency(this.state.OtherSecuredLoansBoatCurrentBalance1)}\r\n style={{ width: '100%' }}\r\n onBlur={(e) => {\r\n var val = this.state.OtherSecuredLoansBoatCurrentBalance1;\r\n if (e.target.value && e.target.value.startsWith('$') && !e.target.value.includes('.')) {\r\n val = val + '.00';\r\n }\r\n else if (e.target.value && e.target.value.startsWith('$') && e.target.value.includes('.')) {\r\n var spl = e.target.value.split(\".\");\r\n if (spl[1].length == 0) {\r\n val = val + '00';\r\n }\r\n\r\n if (spl[1].length == 1) {\r\n val = val + '0';\r\n }\r\n }\r\n this.setState({\r\n OtherSecuredLoansBoatCurrentBalance1: val\r\n });\r\n }}\r\n >\r\n \r\n {\r\n this.setState({ OtherSecuredLoansBoatMonthlyPayment1: e.target.value });\r\n }}\r\n value={this.formatCurrency(this.state.OtherSecuredLoansBoatMonthlyPayment1)}\r\n style={{ width: '100%' }}\r\n onBlur={(e) => {\r\n var val = this.state.OtherSecuredLoansBoatMonthlyPayment1;\r\n if (e.target.value && e.target.value.startsWith('$') && !e.target.value.includes('.')) {\r\n val = val + '.00';\r\n }\r\n else if (e.target.value && e.target.value.startsWith('$') && e.target.value.includes('.')) {\r\n var spl = e.target.value.split(\".\");\r\n if (spl[1].length == 0) {\r\n val = val + '00';\r\n }\r\n\r\n if (spl[1].length == 1) {\r\n val = val + '0';\r\n }\r\n }\r\n this.setState({\r\n OtherSecuredLoansBoatMonthlyPayment1: val\r\n });\r\n }}\r\n >\r\n
    \r\n 2nd Boat, RV or Aircraft\r\n \r\n {\r\n this.setState({ OtherAssets2ndBoatInstitution: e.target.value });\r\n }}\r\n value={this.state.OtherAssets2ndBoatInstitution}\r\n style={{ width: '100%' }}\r\n >\r\n \r\n \r\n {\r\n this.setState({ OtherAsset2ndBoatValue: e.target.value }, function () {\r\n this.calculateNetWorth();\r\n });\r\n }}\r\n value={this.formatCurrency(this.state.OtherAsset2ndBoatValue)}\r\n style={{ width: '100%' }}\r\n onBlur={(e) => {\r\n var val = this.state.OtherAsset2ndBoatValue;\r\n if (e.target.value && e.target.value.startsWith('$') && !e.target.value.includes('.')) {\r\n val = val + '.00';\r\n }\r\n else if (e.target.value && e.target.value.startsWith('$') && e.target.value.includes('.')) {\r\n var spl = e.target.value.split(\".\");\r\n if (spl[1].length == 0) {\r\n val = val + '00';\r\n }\r\n\r\n if (spl[1].length == 1) {\r\n val = val + '0';\r\n }\r\n }\r\n this.setState({\r\n OtherAsset2ndBoatValue: val\r\n });\r\n }}\r\n >\r\n \r\n Boat/RV or Aircraft Loan\r\n \r\n {\r\n this.setState({ OtherSecuredLoansRVAircraftInstitution: e.target.value });\r\n }}\r\n value={this.state.OtherSecuredLoansRVAircraftInstitution}\r\n style={{ width: '100%' }}\r\n >\r\n \r\n {\r\n this.setState({ OtherSecuredLoansRVAircraftCurrentBalance: e.target.value }, function () {\r\n this.calculateNetWorth();\r\n });\r\n }}\r\n value={this.formatCurrency(this.state.OtherSecuredLoansRVAircraftCurrentBalance)}\r\n style={{ width: '100%' }}\r\n onBlur={(e) => {\r\n var val = this.state.OtherSecuredLoansRVAircraftCurrentBalance;\r\n if (e.target.value && e.target.value.startsWith('$') && !e.target.value.includes('.')) {\r\n val = val + '.00';\r\n }\r\n else if (e.target.value && e.target.value.startsWith('$') && e.target.value.includes('.')) {\r\n var spl = e.target.value.split(\".\");\r\n if (spl[1].length == 0) {\r\n val = val + '00';\r\n }\r\n\r\n if (spl[1].length == 1) {\r\n val = val + '0';\r\n }\r\n }\r\n this.setState({\r\n OtherSecuredLoansRVAircraftCurrentBalance: val\r\n });\r\n }}\r\n >\r\n \r\n {\r\n this.setState({ OtherSecuredLoansRVAircraftMonthlyPayment: e.target.value });\r\n }}\r\n value={this.formatCurrency(this.state.OtherSecuredLoansRVAircraftMonthlyPayment)}\r\n style={{ width: '100%' }}\r\n onBlur={(e) => {\r\n var val = this.state.OtherSecuredLoansRVAircraftMonthlyPayment;\r\n if (e.target.value && e.target.value.startsWith('$') && !e.target.value.includes('.')) {\r\n val = val + '.00';\r\n }\r\n else if (e.target.value && e.target.value.startsWith('$') && e.target.value.includes('.')) {\r\n var spl = e.target.value.split(\".\");\r\n if (spl[1].length == 0) {\r\n val = val + '00';\r\n }\r\n\r\n if (spl[1].length == 1) {\r\n val = val + '0';\r\n }\r\n }\r\n this.setState({\r\n OtherSecuredLoansRVAircraftMonthlyPayment: val\r\n });\r\n }}\r\n >\r\n
    \r\n Automobiles\r\n \r\n \r\n \r\n {\r\n this.setState({ OtherAssetAutomobilesValue: e.target.value }, function () {\r\n this.calculateNetWorth();\r\n });\r\n }}\r\n value={this.formatCurrency(this.state.OtherAssetAutomobilesValue)}\r\n style={{ width: '100%' }}\r\n onBlur={(e) => {\r\n var val = this.state.OtherAssetAutomobilesValue;\r\n if (e.target.value && e.target.value.startsWith('$') && !e.target.value.includes('.')) {\r\n val = val + '.00';\r\n }\r\n else if (e.target.value && e.target.value.startsWith('$') && e.target.value.includes('.')) {\r\n var spl = e.target.value.split(\".\");\r\n if (spl[1].length == 0) {\r\n val = val + '00';\r\n }\r\n\r\n if (spl[1].length == 1) {\r\n val = val + '0';\r\n }\r\n }\r\n this.setState({\r\n OtherAssetAutomobilesValue: val\r\n });\r\n }}\r\n >\r\n \r\n Other\r\n \r\n {\r\n this.setState({ OtherSecuredLoansOtherInstitution1: e.target.value });\r\n }}\r\n value={this.state.OtherSecuredLoansOtherInstitution1}\r\n style={{ width: '100%' }}\r\n >\r\n \r\n {\r\n this.setState({ OtherSecuredLoansOtherCurrentBalance1: e.target.value }, function () {\r\n this.calculateNetWorth();\r\n });\r\n }}\r\n value={this.formatCurrency(this.state.OtherSecuredLoansOtherCurrentBalance1)}\r\n style={{ width: '100%' }}\r\n onBlur={(e) => {\r\n var val = this.state.OtherSecuredLoansOtherCurrentBalance1;\r\n if (e.target.value && e.target.value.startsWith('$') && !e.target.value.includes('.')) {\r\n val = val + '.00';\r\n }\r\n else if (e.target.value && e.target.value.startsWith('$') && e.target.value.includes('.')) {\r\n var spl = e.target.value.split(\".\");\r\n if (spl[1].length == 0) {\r\n val = val + '00';\r\n }\r\n\r\n if (spl[1].length == 1) {\r\n val = val + '0';\r\n }\r\n }\r\n this.setState({\r\n OtherSecuredLoansOtherCurrentBalance1: val\r\n });\r\n }}\r\n >\r\n \r\n {\r\n this.setState({ OtherSecuredLoansOtherMonthlyPayment1: e.target.value });\r\n }}\r\n value={this.formatCurrency(this.state.OtherSecuredLoansOtherMonthlyPayment1)}\r\n style={{ width: '100%' }}\r\n onBlur={(e) => {\r\n var val = this.state.OtherSecuredLoansOtherMonthlyPayment1;\r\n if (e.target.value && e.target.value.startsWith('$') && !e.target.value.includes('.')) {\r\n val = val + '.00';\r\n }\r\n else if (e.target.value && e.target.value.startsWith('$') && e.target.value.includes('.')) {\r\n var spl = e.target.value.split(\".\");\r\n if (spl[1].length == 0) {\r\n val = val + '00';\r\n }\r\n\r\n if (spl[1].length == 1) {\r\n val = val + '0';\r\n }\r\n }\r\n this.setState({\r\n OtherSecuredLoansOtherMonthlyPayment1: val\r\n });\r\n }}\r\n >\r\n
    \r\n Art & Jewelry\r\n \r\n \r\n \r\n {\r\n this.setState({ OtherAssetArtJeweleryValue: e.target.value }, function () {\r\n this.calculateNetWorth();\r\n });\r\n }}\r\n value={this.formatCurrency(this.state.OtherAssetArtJeweleryValue)}\r\n style={{ width: '100%' }}\r\n onBlur={(e) => {\r\n var val = this.state.OtherAssetArtJeweleryValue;\r\n if (e.target.value && e.target.value.startsWith('$') && !e.target.value.includes('.')) {\r\n val = val + '.00';\r\n }\r\n else if (e.target.value && e.target.value.startsWith('$') && e.target.value.includes('.')) {\r\n var spl = e.target.value.split(\".\");\r\n if (spl[1].length == 0) {\r\n val = val + '00';\r\n }\r\n\r\n if (spl[1].length == 1) {\r\n val = val + '0';\r\n }\r\n }\r\n this.setState({\r\n OtherAssetArtJeweleryValue: val\r\n });\r\n }}\r\n >\r\n \r\n Other\r\n \r\n {\r\n this.setState({ OtherSecuredLoansOtherInstitution2: e.target.value });\r\n }}\r\n value={this.state.OtherSecuredLoansOtherInstitution2}\r\n style={{ width: '100%' }}\r\n >\r\n \r\n {\r\n this.setState({ OtherSecuredLoansOtherCurrentBalance2: e.target.value }, function () {\r\n this.calculateNetWorth();\r\n });\r\n }}\r\n value={this.formatCurrency(this.state.OtherSecuredLoansOtherCurrentBalance2)}\r\n style={{ width: '100%' }}\r\n onBlur={(e) => {\r\n var val = this.state.OtherSecuredLoansOtherCurrentBalance2;\r\n if (e.target.value && e.target.value.startsWith('$') && !e.target.value.includes('.')) {\r\n val = val + '.00';\r\n }\r\n else if (e.target.value && e.target.value.startsWith('$') && e.target.value.includes('.')) {\r\n var spl = e.target.value.split(\".\");\r\n if (spl[1].length == 0) {\r\n val = val + '00';\r\n }\r\n\r\n if (spl[1].length == 1) {\r\n val = val + '0';\r\n }\r\n }\r\n this.setState({\r\n OtherSecuredLoansOtherCurrentBalance2: val\r\n });\r\n }}\r\n >\r\n \r\n {\r\n this.setState({ OtherSecuredLoansOtherMonthlyPayment2: e.target.value });\r\n }}\r\n value={this.formatCurrency(this.state.OtherSecuredLoansOtherMonthlyPayment2)}\r\n style={{ width: '100%' }}\r\n onBlur={(e) => {\r\n var val = this.state.OtherSecuredLoansOtherMonthlyPayment2;\r\n if (e.target.value && e.target.value.startsWith('$') && !e.target.value.includes('.')) {\r\n val = val + '.00';\r\n }\r\n else if (e.target.value && e.target.value.startsWith('$') && e.target.value.includes('.')) {\r\n var spl = e.target.value.split(\".\");\r\n if (spl[1].length == 0) {\r\n val = val + '00';\r\n }\r\n\r\n if (spl[1].length == 1) {\r\n val = val + '0';\r\n }\r\n }\r\n this.setState({\r\n OtherSecuredLoansOtherMonthlyPayment2: val\r\n });\r\n }}\r\n >\r\n
    \r\n Other\r\n \r\n \r\n \r\n {\r\n this.setState({ OtherAssetOtherValue: e.target.value }, function () {\r\n this.calculateNetWorth();\r\n });\r\n }}\r\n value={this.formatCurrency(this.state.OtherAssetOtherValue)}\r\n style={{ width: '100%' }}\r\n onBlur={(e) => {\r\n var val = this.state.OtherAssetOtherValue;\r\n if (e.target.value && e.target.value.startsWith('$') && !e.target.value.includes('.')) {\r\n val = val + '.00';\r\n }\r\n else if (e.target.value && e.target.value.startsWith('$') && e.target.value.includes('.')) {\r\n var spl = e.target.value.split(\".\");\r\n if (spl[1].length == 0) {\r\n val = val + '00';\r\n }\r\n\r\n if (spl[1].length == 1) {\r\n val = val + '0';\r\n }\r\n }\r\n this.setState({\r\n OtherAssetOtherValue: val\r\n });\r\n }}\r\n >\r\n \r\n Other\r\n \r\n {\r\n this.setState({ OtherSecuredLoansOtherInstitution3: e.target.value });\r\n }}\r\n value={this.state.OtherSecuredLoansOtherInstitution3}\r\n style={{ width: '100%' }}\r\n >\r\n \r\n {\r\n this.setState({ OtherSecuredLoansOtherCurrentBalance3: e.target.value }, function () {\r\n this.calculateNetWorth();\r\n });\r\n }}\r\n value={this.formatCurrency(this.state.OtherSecuredLoansOtherCurrentBalance3)}\r\n style={{ width: '100%' }}\r\n onBlur={(e) => {\r\n var val = this.state.OtherSecuredLoansOtherCurrentBalance3;\r\n if (e.target.value && e.target.value.startsWith('$') && !e.target.value.includes('.')) {\r\n val = val + '.00';\r\n }\r\n else if (e.target.value && e.target.value.startsWith('$') && e.target.value.includes('.')) {\r\n var spl = e.target.value.split(\".\");\r\n if (spl[1].length == 0) {\r\n val = val + '00';\r\n }\r\n\r\n if (spl[1].length == 1) {\r\n val = val + '0';\r\n }\r\n }\r\n this.setState({\r\n OtherSecuredLoansOtherCurrentBalance3: val\r\n });\r\n }}\r\n >\r\n \r\n {\r\n this.setState({ OtherSecuredLoansOtherMonthlyPayment3: e.target.value });\r\n }}\r\n value={this.formatCurrency(this.state.OtherSecuredLoansOtherMonthlyPayment3)}\r\n style={{ width: '100%' }}\r\n onBlur={(e) => {\r\n var val = this.state.OtherSecuredLoansOtherMonthlyPayment3;\r\n if (e.target.value && e.target.value.startsWith('$') && !e.target.value.includes('.')) {\r\n val = val + '.00';\r\n }\r\n else if (e.target.value && e.target.value.startsWith('$') && e.target.value.includes('.')) {\r\n var spl = e.target.value.split(\".\");\r\n if (spl[1].length == 0) {\r\n val = val + '00';\r\n }\r\n\r\n if (spl[1].length == 1) {\r\n val = val + '0';\r\n }\r\n }\r\n this.setState({\r\n OtherSecuredLoansOtherMonthlyPayment3: val\r\n });\r\n }}\r\n >\r\n
     
    Total Assets\r\n {\r\n this.setState({ TotalAssets: e.target.value });\r\n }}\r\n value={this.state.TotalAssets}\r\n style={{ width: '100%' }}\r\n disabled={true}\r\n >\r\n
    Total Liabilities\r\n {\r\n this.setState({ TotalLiabilities: e.target.value });\r\n }}\r\n value={this.state.TotalLiabilities}\r\n style={{ width: '100%' }}\r\n disabled={true}\r\n >\r\n
    Net Worth
    \r\n {\r\n this.setState({ NetWorth: e.target.value });\r\n }}\r\n value={this.state.NetWorth}\r\n style={{ width: '100%' }}\r\n disabled={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 \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 Have you ever had a boat loan before?\r\n \r\n
    \r\n {\r\n this.setState({ HadBoatLoanBefore: e.target.checked ? \"Yes\" : \"No\" });\r\n }}\r\n checked={this.state.HadBoatLoanBefore === \"Yes\"}\r\n >\r\n \r\n {\r\n this.setState({ HadBoatLoanBefore: e.target.checked ? \"No\" : \"Yes\" });\r\n }}\r\n checked={this.state.HadBoatLoanBefore === \"No\"}\r\n >\r\n \r\n {this.state.HadBoatLoanBefore === \"Yes\" ?\r\n {\r\n this.setState({ HadBoatLoanBeforeLendingBanks: e });\r\n }}\r\n Value={this.state.HadBoatLoanBeforeLendingBanks ?? \"\"}\r\n Style={{ width: '10vw' }}\r\n />\r\n : null}\r\n
    \r\n
    \r\n Have you filed bankruptcy in the last 7 years?\r\n \r\n
    \r\n {\r\n this.setState({ BankruptcyLast7Years: e.target.checked ? \"Yes\" : \"No\" });\r\n }}\r\n checked={this.state.BankruptcyLast7Years === \"Yes\"}\r\n >\r\n \r\n {\r\n this.setState({ BankruptcyLast7Years: e.target.checked ? \"No\" : \"Yes\" });\r\n }}\r\n checked={this.state.BankruptcyLast7Years === \"No\"}\r\n >\r\n \r\n
    \r\n
    \r\n Are you obligated to pay alimony or child support?\r\n \r\n
    \r\n {\r\n this.setState({ AlimonyChildSupport: e.target.checked ? \"Yes\" : \"No\" });\r\n }}\r\n checked={this.state.AlimonyChildSupport === \"Yes\"}\r\n >\r\n \r\n {\r\n this.setState({ AlimonyChildSupport: e.target.checked ? \"No\" : \"Yes\" });\r\n }}\r\n checked={this.state.AlimonyChildSupport === \"No\"}\r\n >\r\n \r\n {this.state.AlimonyChildSupport === \"Yes\" ?\r\n {\r\n this.setState({ AlimonyChildSupportObligation: e });\r\n }}\r\n Value={this.formatCurrency(this.state.AlimonyChildSupportObligation)}\r\n Style={{ width: '10vw' }}\r\n />\r\n : null}\r\n
    \r\n
    \r\n Are any of your personal assets jointly owned?\r\n \r\n
    \r\n {\r\n this.setState({ AssetsJointlyOwned: e.target.checked ? \"Yes\" : \"No\" });\r\n }}\r\n checked={this.state.AssetsJointlyOwned === \"Yes\"}\r\n >\r\n \r\n {\r\n this.setState({ AssetsJointlyOwned: e.target.checked ? \"No\" : \"Yes\" });\r\n }}\r\n checked={this.state.AssetsJointlyOwned === \"No\"}\r\n >\r\n \r\n {this.state.AssetsJointlyOwned === \"Yes\" ?\r\n {\r\n this.setState({ AssetsJointlyOwnedMajorAssetHolder: e });\r\n }}\r\n Value={this.state.AssetsJointlyOwnedMajorAssetHolder ?? \"\"}\r\n Style={{ width: '10vw' }}\r\n />\r\n : null}\r\n
    \r\n
    \r\n Are you a defendant in any suit or legal action?\r\n \r\n
    \r\n {\r\n this.setState({ DefendantInLawsuit: e.target.checked ? \"Yes\" : \"No\" });\r\n }}\r\n checked={this.state.DefendantInLawsuit === \"Yes\"}\r\n >\r\n \r\n {\r\n this.setState({ DefendantInLawsuit: e.target.checked ? \"No\" : \"Yes\" });\r\n }}\r\n checked={this.state.DefendantInLawsuit === \"No\"}\r\n >\r\n \r\n {this.state.DefendantInLawsuit === \"Yes\" ?\r\n {\r\n this.setState({ DefendantInLawsuitExplain: e });\r\n }}\r\n Value={this.state.DefendantInLawsuitExplain ?? \"\"}\r\n Style={{ width: '10vw' }}\r\n />\r\n : null}\r\n
    \r\n
    \r\n Please indicate your primary business bank
    relationship, if applicable\r\n
    \r\n {\r\n this.setState({ PrimaryBusinessBankRelationship: e });\r\n }}\r\n Value={this.state.PrimaryBusinessBankRelationship ?? \"\"}\r\n Style={{ width: '250px' }}\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 Every person who signs this statement confirms that the information above is true and accurate to the best of their knowledge,\r\n and understands that this informationwill be relayed upon when determining whether or not credit will be granted in conjunction\r\n with the accompanying loan application.\r\n
    \r\n
    \r\n
    \r\n {\r\n this.setState({ DiscloserAcknowledgement: !this.state.DiscloserAcknowledgement })\r\n }}\r\n style={{ marginRight: '5px' }}\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 this.setState({ BorrowerSignature: e });\r\n }}\r\n Value={this.state.BorrowerSignature ?? \"\"}\r\n Style={{ width: '250px', fontFamily: 'Imperial Script', fontSize: '18px', marginBottom: '7px' }}\r\n />\r\n \r\n    \r\n \r\n {localStorage.getItem(\"APP_TYPE\") != null && localStorage.getItem(\"APP_TYPE\") == \"Individual\" ? null :\r\n {\r\n this.setState({ CoBorrowerSignature: e });\r\n }}\r\n Value={this.state.CoBorrowerSignature ?? \"\"}\r\n Style={{ width: '250px', fontFamily: 'Imperial Script', fontSize: '18px', marginBottom: '7px' }}\r\n />\r\n }\r\n
    \r\n {\r\n this.setState({ BorrowerSignatureName: e });\r\n }}\r\n Value={this.state.BorrowerSignatureName ?? \"\"}\r\n Style={{ width: '250px', marginBottom: '7px' }}\r\n />\r\n \r\n    \r\n \r\n {localStorage.getItem(\"APP_TYPE\") != null && localStorage.getItem(\"APP_TYPE\") == \"Individual\" ? null :\r\n {\r\n this.setState({ CoBorrowerSignatureName: e });\r\n }}\r\n Value={this.state.CoBorrowerSignatureName ?? \"\"}\r\n Style={{ width: '250px', marginBottom: '7px' }}\r\n />\r\n }\r\n
    \r\n {\r\n this.setState({ BorrowerSignatureDate: e });\r\n }}\r\n Value={this.state.BorrowerSignatureDate != undefined ? this.sqlToJsDate(this.state.BorrowerSignatureDate) : this.setState({ BorrowerSignatureDate: new Date().toLocaleDateString('en-CA') })}\r\n Style={{ width: '130px' }}\r\n />\r\n \r\n    \r\n \r\n {localStorage.getItem(\"APP_TYPE\") != null && localStorage.getItem(\"APP_TYPE\") == \"Individual\" ? null :\r\n {\r\n this.setState({ CoBorrowerSignatureDate: e });\r\n }}\r\n Value={this.state.CoBorrowerSignatureDate != undefined ? this.sqlToJsDate(this.state.CoBorrowerSignatureDate) : this.setState({ CoBorrowerSignatureDate: new Date().toLocaleDateString('en-CA') })}\r\n Style={{ width: '130px' }}\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 this.save(1);\r\n }}\r\n >Back\r\n \r\n \r\n {\r\n this.save();\r\n }}\r\n disabled={!this.state.DiscloserAcknowledgement}\r\n >\r\n Done\r\n \r\n
    \r\n
    \r\n
    \r\n );\r\n }\r\n}","import http from \"../http-common\";\r\nimport authService from '../components/api-authorization/AuthorizeService';\r\n\r\nclass UploadFilesService {\r\n async upload(file, documentTypeId, continueToken, onUploadProgress) {\r\n //const token = await authService.getAccessToken();\r\n let formData = new FormData();\r\n formData.append(\"file\", file);\r\n formData.append(\"documentTypeId\", documentTypeId);\r\n formData.append(\"continueToken\", continueToken);\r\n return http.post(\"uploadpublic/uploadfilePublic\", formData, {\r\n headers: {\r\n \"Content-Type\": \"multipart/form-data\",\r\n //\"Authorization\": `Bearer ${token}`\r\n },\r\n onUploadProgress,\r\n });\r\n }\r\n async getFiles(continueToken) {\r\n //const token = await authService.getAccessToken();\r\n return http.get(\"uploadpublic/getfilesPublic?id=\" + continueToken, {\r\n headers: {\r\n //\"Authorization\": `Bearer ${token}`\r\n }\r\n });\r\n }\r\n\r\n async getDocumentTypes() {\r\n //const token = await authService.getAccessToken();\r\n return http.get(\"uploadpublic/GetDocumentTypesPublic\", {\r\n headers: {\r\n //\"Authorization\": `Bearer ${token}`\r\n }\r\n });\r\n }\r\n}\r\nexport default new UploadFilesService();","import React, { Component } from \"react\";\r\nimport UploadService from \"../services/upload-files-public.service\";\r\nimport authService from './api-authorization/AuthorizeService';\r\nimport './layout/site.css';\r\nimport { IoTrashOutline } from 'react-icons/io5';\r\nimport Modal from 'react-modal';\r\n\r\nexport default class UploadFilesPublic extends Component {\r\n constructor(props) {\r\n super(props);\r\n\r\n this.state = {\r\n selectedFiles: undefined,\r\n progressInfos: [],\r\n message: [],\r\n fileInfos: [],\r\n trashColor: '#000',\r\n documentTypes: [],\r\n DocumentTypeId: 0\r\n };\r\n\r\n this.selectFile = this.selectFile.bind(this);\r\n this.uploadFiles = this.uploadFiles.bind(this);\r\n this.fileInputRef = React.createRef()\r\n }\r\n\r\n componentDidMount() {\r\n UploadService.getDocumentTypes()\r\n .then((response) => {\r\n this.setState({\r\n documentTypes: response.data,\r\n }, function () {\r\n this.loadUploadFiles();\r\n });\r\n });\r\n }\r\n\r\n loadUploadFiles() {\r\n UploadService.getFiles(this.props.ContinueToken).then((response) => {\r\n this.setState({\r\n fileInfos: response.data\r\n });\r\n });\r\n }\r\n\r\n componentDidUpdate(prevProps) {\r\n if (prevProps.ContinueToken !== this.props.ContinueToken) {\r\n UploadService.getFiles(this.props.ContinueToken).then((response) => {\r\n this.setState({\r\n fileInfos: response.data,\r\n selectedFiles: undefined,\r\n DocumentTypeId: 0\r\n });\r\n });\r\n }\r\n }\r\n\r\n selectFile(event) {\r\n this.setState({\r\n progressInfos: [],\r\n selectedFiles: event.target.files,\r\n });\r\n }\r\n\r\n uploadFiles() {\r\n const selectedFiles = this.state.selectedFiles;\r\n const documentTypeId = this.state.DocumentTypeId;\r\n\r\n let _progressInfos = [];\r\n for (let i = 0; i < selectedFiles.length; i++) {\r\n _progressInfos.push({ percentage: 0, fileName: selectedFiles[i].name });\r\n }\r\n this.setState(\r\n {\r\n progressInfos: _progressInfos,\r\n message: [],\r\n },\r\n () => {\r\n for (let i = 0; i < selectedFiles.length; i++) {\r\n this.upload(i, selectedFiles[i], documentTypeId, this.props.ContinueToken);\r\n }\r\n }\r\n );\r\n }\r\n\r\n upload(idx, file, documentTypeId, continueToken) {\r\n let _progressInfos = [...this.state.progressInfos];\r\n UploadService.upload(file, documentTypeId, continueToken, (event) => {\r\n _progressInfos[idx].percentage = Math.round((100 * event.loaded) / event.total);\r\n this.setState({\r\n _progressInfos,\r\n });\r\n })\r\n .then((response) => {\r\n this.setState((prev) => {\r\n let nextMessage = [...prev.message, \"Uploaded the file successfully: \" + file.name];\r\n return {\r\n message: nextMessage\r\n };\r\n });\r\n return UploadService.getFiles(continueToken);\r\n\r\n })\r\n .then((files) => {\r\n this.setState({\r\n fileInfos: files.data,\r\n });\r\n })\r\n .catch(() => {\r\n _progressInfos[idx].percentage = 0;\r\n this.setState((prev) => {\r\n let nextMessage = [...prev.message, \"Could not upload the file: \" + file.name];\r\n return {\r\n progressInfos: _progressInfos,\r\n message: nextMessage\r\n };\r\n });\r\n })\r\n .finally(() => {\r\n setTimeout(() => {\r\n this.setState({\r\n selectedFiles: undefined,\r\n progressInfos: [],\r\n message: [],\r\n DocumentTypeId: 0\r\n }, function () {\r\n this.fileInputRef.current.value = \"\"\r\n });\r\n }, 5000);\r\n });\r\n }\r\n\r\n deleteUpload(id) {\r\n this.setState({ uploadId: id, showModal: true });\r\n }\r\n\r\n async deleteUploadedDocument() {\r\n this.setState({ showModal: false });\r\n //const token = await authService.getAccessToken();\r\n var id = this.state.uploadId;\r\n\r\n var response = await fetch('uploadpublic/DeleteUploadFilePublic?id=' + id, {\r\n method: 'GET',\r\n headers: { 'Content-Type': 'application/json' }\r\n })\r\n .then((response) => {\r\n UploadService.getFiles(this.props.ContinueToken).then((files) => {\r\n this.setState({\r\n fileInfos: files.data,\r\n DocumentTypeId: 0\r\n });\r\n });\r\n });\r\n }\r\n\r\n render() {\r\n const { selectedFiles, progressInfos, message, fileInfos, documentTypes } = this.state;\r\n return (\r\n
    \r\n {progressInfos &&\r\n progressInfos.map((progressInfo, index) => (\r\n
    \r\n {progressInfo.fileName}\r\n
    \r\n \r\n {progressInfo.percentage}%\r\n
    \r\n
    \r\n
    \r\n ))}\r\n
    \r\n \r\n {\r\n this.setState({ DocumentTypeId: e.target.value });\r\n }}\r\n >\r\n \r\n {documentTypes && documentTypes.map((item, idx) =>\r\n \r\n )}\r\n \r\n
    \r\n
    \r\n \r\n \r\n Upload\r\n \r\n
    \r\n {message.length > 0 && (\r\n
    \r\n
      \r\n {message.map((item, i) => {\r\n return
    • {item}
    • ;\r\n })}\r\n
    \r\n
    \r\n )}\r\n
    \r\n
    Your Documents
    \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 this.state.fileInfos.length > 0 ?\r\n fileInfos && fileInfos.map((file, index) =>\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 File Name\r\n \r\n Document Type\r\n \r\n Date/Time Uploaded\r\n
    \r\n \r\n \r\n {file.filename}\r\n \r\n {file.dtName}\r\n \r\n {file.dateUploaded}\r\n \r\n this.deleteUpload(file.id)}\r\n />\r\n
    \r\n No Uploads Found\r\n
    \r\n
    \r\n
    \r\n this.setState({ showModal: false })}\r\n className=\"et-modal\"\r\n contentLabel=\"Delete Upload\"\r\n overlayClassName=\"Overlay\"\r\n >\r\n
    \r\n
    Delete the uploaded document?
    \r\n
    \r\n
    \r\n this.setState({ showModal: false })}\r\n >\r\n No\r\n \r\n this.deleteUploadedDocument()}\r\n >\r\n Yes\r\n \r\n
    \r\n \r\n
    \r\n \r\n );\r\n }\r\n}","import React, { Component } from 'react';\r\nimport { _fetch } from './_fetch';\r\nimport { Spinner } from 'reactstrap';\r\nimport TextInput from './TextInput';\r\nimport { customFunctions } from './CustomFunctions.js';\r\nimport Modal from 'react-modal';\r\nimport UploadPublic from \"./upload-files-public.component\";\r\n\r\nexport class LoanApplicationReceived extends Component {\r\n static displayName = LoanApplicationReceived.name;\r\n constructor(props) {\r\n super(props);\r\n\r\n this.state = {\r\n loading: false,\r\n showUploadModal: false,\r\n autoRedirect: true,\r\n ContinueToken: ''\r\n }\r\n }\r\n\r\n componentDidMount() {\r\n var id = localStorage.getItem(\"CONTINUE_TOKEN\");\r\n this.sendSalesRep(id);\r\n\r\n this.setState({ ContinueToken: id });\r\n\r\n setTimeout(() => {\r\n if (this.state.autoRedirect) {\r\n this.close();\r\n }\r\n }, 90000);\r\n }\r\n\r\n async printSave() {\r\n this.setState({ loading: true, autoRedirect: false });\r\n var tempfilename = \"PersonalFinancialStatement.pdf\";\r\n var filename = \"\";\r\n\r\n var f = _fetch();\r\n await fetch(\"/PdfPublic/GenerateLoanApplicationPDFPublic?id=\" + this.state.ContinueToken, {\r\n method: 'GET',\r\n body: null,\r\n headers: { 'Content-Type': 'application/json' }\r\n })\r\n .then((res) => {\r\n const header = res.headers.get('Content-Disposition');\r\n const parts = header.split(';');\r\n if (parts[1]) {\r\n filename = parts[1].split('=')[1];\r\n }\r\n else {\r\n filename = tempfilename;\r\n }\r\n return res.blob();\r\n })\r\n .then(data => {\r\n f.downloadFile(data, filename, \"application/pdf\");\r\n this.setState({ loading: false, autoRedirect: false });\r\n })\r\n .catch((error) => {\r\n console.log('error in printSave - ' + error.message);\r\n this.setState({ loading: false });\r\n });\r\n\r\n }\r\n\r\n sendSalesRep(id) {\r\n var fetch = _fetch();\r\n\r\n var data = {\r\n Id: id,\r\n Subject: \"New Loan Application Received\",\r\n Body: \"You have received a new loan application. To retrieve and review your new application login at https://app.fairwindfinancial.com\"\r\n };\r\n\r\n fetch.post(\"/email/sendsalesrepemail\", data)\r\n .then((response) => {\r\n if (response) {\r\n\r\n }\r\n });\r\n }\r\n\r\n showUploadScreen() {\r\n this.setState({ autoRedirect: false, showUploadModal: true });\r\n }\r\n\r\n close() {\r\n sessionStorage.clear();\r\n //localStorage.clear();\r\n localStorage.removeItem(\"CONTINUE_TOKEN\")\r\n window.location.href = 'https://fairwindfinancial.com/';\r\n }\r\n\r\n render() {\r\n return (\r\n
    \r\n
    \r\n {this.state.loading === true ?\r\n
    \r\n \r\n
    \r\n : null\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
    \r\n
    \r\n Your application has been received!\r\n
    \r\n
    \r\n Thank you for submitting your boat loan application. A Fairwind Financial representative will be in touch with you shortly.\r\n If you would like to print or keep a copy of your loan application, you can do so via the Print/Save button below.\r\n If your loan request exceeds $150,000, income verification and other supporting documentation will be required inorder to fully process your application.\r\n Below is a list of the supporting documentation that may be required. That information can be uploaded now via the \"upload files\" button below or you can provide it to your Fairwind's representative at a later time.\r\n If you do not have any documents to upload you can simply close this window or it will close automatically in 60 seconds. Thank you and we look forward to working with you.

    \r\n
    \r\n
    \r\n Supporting Documentation often required for loans exceeding $150,000…\r\n
    \r\n
  • Copy of recent paystub for both borrowers
  • \r\n
  • Copy of your last two years of filed 1040 Personal Tax Returns (the first two pages and schedules 1, A, B, C, & E)
  • \r\n
  • If self employed, your last two years of filed Business Tax Returns may be required
  • \r\n
  • Copies of recent bank and/or investment account statements
  • \r\n
    \r\n
    \r\n Here are some other items that aid the boat loan process, which you can upload if you choose…\r\n
    \r\n
  • Copy of each borrowers drivers license
  • \r\n
  • Copy of the signed purchase agreement
  • \r\n
  • Copy of the marine survey report
  • \r\n
    \r\n
    \r\n If you have any questions regarding your application please contact us at...
    \r\n Phone: 203-712-7204
    \r\n Fax: 203-712-7236
    \r\n Email: info@fairwindfinancial.com
    \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 this.printSave();\r\n }}>\r\n Print / Save\r\n \r\n \r\n {\r\n this.showUploadScreen();\r\n }}>\r\n Upload Files\r\n \r\n \r\n {\r\n this.close();\r\n }}>\r\n Close\r\n \r\n
    \r\n
    \r\n
    \r\n this.setState({ showUploadModal: false })}\r\n className=\"et-modal\"\r\n contentLabel=\"Example Modal\"\r\n overlayClassName=\"Overlay\"\r\n >\r\n
    \r\n
    Document Uploads
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n {\r\n this.setState({ showUploadModal: false });\r\n }}>\r\n Close\r\n \r\n
    \r\n \r\n
    \r\n
    \r\n );\r\n }\r\n}","import http from \"../http-common\";\r\nimport authService from '../components/api-authorization/AuthorizeService';\r\n\r\nclass UploadFilesService {\r\n async upload(file, creditApplicationId, documentTypeId, notes, filename, onUploadProgress) {\r\n const token = await authService.getAccessToken();\r\n let formData = new FormData();\r\n formData.append(\"file\", file);\r\n formData.append(\"creditApplicationId\", creditApplicationId);\r\n formData.append(\"documentTypeId\", documentTypeId);\r\n formData.append(\"notes\", notes);\r\n formData.append(\"fileName\", filename);\r\n return http.post(\"upload/uploadfile\", formData, {\r\n headers: {\r\n \"Content-Type\": \"multipart/form-data\",\r\n \"Authorization\": `Bearer ${token}`\r\n },\r\n onUploadProgress,\r\n });\r\n }\r\n async getFiles(creditApplicationId) {\r\n const token = await authService.getAccessToken();\r\n return http.get(\"upload/getfiles?creditApplicationId=\" + creditApplicationId, {\r\n headers: {\r\n \"Authorization\": `Bearer ${token}`\r\n }\r\n });\r\n }\r\n\r\n async getDocumentTypes() {\r\n const token = await authService.getAccessToken();\r\n return http.get(\"upload/GetDocumentTypes\", {\r\n headers: {\r\n \"Authorization\": `Bearer ${token}`\r\n }\r\n });\r\n }\r\n}\r\nexport default new UploadFilesService();","import React, { Component } from \"react\";\r\nimport UploadService from \"../services/upload-files-vault.service\";\r\nimport '../custom.css';\r\nimport { IoTrashOutline } from 'react-icons/io5';\r\nimport { MdDownloadForOffline } from 'react-icons/md';\r\nimport Modal from 'react-modal';\r\nimport { _fetch } from './_fetch';\r\nimport authService from './api-authorization/AuthorizeService';\r\nimport { BiUndo } from \"react-icons/bi\";\r\nimport Toast from './toast.js';\r\n\r\nexport default class UploadFiles extends Component {\r\n constructor(props) {\r\n super(props);\r\n\r\n this.state = {\r\n selectedFiles: undefined,\r\n progressInfos: [],\r\n message: [],\r\n fileInfos: [],\r\n trashColor: '#000',\r\n documentTypes: [],\r\n DocumentTypeId: 0,\r\n Notes: '',\r\n FileName: '',\r\n showRecycleBinModal: false,\r\n disableRecycleBin: true,\r\n deletedFiles: [],\r\n restoreUploadId: undefined,\r\n showRestoreModal: false,\r\n recycleCount: ''\r\n };\r\n\r\n this.selectFile = this.selectFile.bind(this);\r\n this.uploadFiles = this.uploadFiles.bind(this);\r\n this.fileInputRef = React.createRef()\r\n }\r\n\r\n componentDidMount() {\r\n UploadService.getDocumentTypes()\r\n .then((response) => {\r\n this.setState({\r\n documentTypes: response.data,\r\n }, function () {\r\n this.loadUploadFiles();\r\n });\r\n });\r\n }\r\n\r\n loadUploadFiles() {\r\n UploadService.getFiles(this.props.CreditApplicationId).then((response) => {\r\n this.setState({\r\n fileInfos: response.data[0]?.id !== 0 ? response.data : undefined\r\n });\r\n\r\n if (response.data.length > 0) {\r\n if (response.data[0]?.deletedCount === 0) {\r\n this.setState({ disableRecycleBin: true, recycleCount: \"\" });\r\n }\r\n else {\r\n this.setState({ disableRecycleBin: false, recycleCount: response.data[0]?.deletedCount.toString() });\r\n }\r\n }\r\n });\r\n }\r\n\r\n componentDidUpdate(prevProps) {\r\n if (prevProps.CreditApplicationId !== this.props.CreditApplicationId) {\r\n UploadService.getFiles(this.props.CreditApplicationId).then((response) => {\r\n this.setState({\r\n fileInfos: response.data[0]?.id !== 0 ? response.data : undefined,\r\n selectedFiles: undefined,\r\n DocumentTypeId: 0\r\n });\r\n if (response.data.length > 0) {\r\n if (response.data[0].deletedCount === 0) {\r\n this.setState({ disableRecycleBin: true, recycleCount: \"\" });\r\n }\r\n else {\r\n this.setState({ disableRecycleBin: false, recycleCount: response.data[0]?.deletedCount.toString() });\r\n }\r\n }\r\n });\r\n }\r\n }\r\n\r\n selectFile(event) {\r\n this.setState({\r\n progressInfos: [],\r\n selectedFiles: event.target.files,\r\n });\r\n }\r\n\r\n uploadFiles() {\r\n const selectedFiles = this.state.selectedFiles;\r\n const documentTypeId = this.state.DocumentTypeId;\r\n const notes = this.state.Notes;\r\n const _fileName = this.state.FileName;\r\n\r\n let _progressInfos = [];\r\n for (let i = 0; i < selectedFiles.length; i++) {\r\n _progressInfos.push({ percentage: 0, fileName: selectedFiles[i].name });\r\n }\r\n this.setState(\r\n {\r\n progressInfos: _progressInfos,\r\n message: [],\r\n },\r\n () => {\r\n for (let i = 0; i < selectedFiles.length; i++) {\r\n this.upload(i, selectedFiles[i], this.props.CreditApplicationId, documentTypeId, notes, _fileName);\r\n }\r\n }\r\n );\r\n }\r\n\r\n upload(idx, file, creditApplicationId, documentTypeId, notes, _fileName) {\r\n let _progressInfos = [...this.state.progressInfos];\r\n UploadService.upload(file, creditApplicationId, documentTypeId, notes, _fileName, (event) => {\r\n _progressInfos[idx].percentage = Math.round((100 * event.loaded) / event.total);\r\n this.setState({\r\n _progressInfos,\r\n });\r\n })\r\n .then((response) => {\r\n if (response.data.status === \"A file with the same name already exists\") {\r\n this.setState({\r\n toastMessage: response.data.status,\r\n showToast: true\r\n });\r\n }\r\n else {\r\n this.setState((prev) => {\r\n let nextMessage = [...prev.message, \"Uploaded the file successfully: \" + file.name];\r\n return {\r\n message: nextMessage\r\n };\r\n });\r\n return UploadService.getFiles(creditApplicationId);\r\n }\r\n })\r\n .then((files) => {\r\n if (files) {\r\n this.setState({\r\n fileInfos: files.data,\r\n });\r\n }\r\n })\r\n .catch(() => {\r\n _progressInfos[idx].percentage = 0;\r\n this.setState((prev) => {\r\n let nextMessage = [...prev.message, \"Could not upload the file: \" + file.name];\r\n return {\r\n progressInfos: _progressInfos,\r\n message: nextMessage\r\n };\r\n });\r\n })\r\n .finally(() => {\r\n setTimeout(() => {\r\n this.setState({\r\n selectedFiles: undefined,\r\n progressInfos: [],\r\n message: [],\r\n DocumentTypeId: 0,\r\n Notes: '',\r\n FileName: ''\r\n }, function () {\r\n this.fileInputRef.current.value = \"\"\r\n });\r\n }, 3000);\r\n });\r\n }\r\n\r\n deleteUpload(id) {\r\n this.setState({ uploadId: id, showModal: true });\r\n }\r\n\r\n showRestoreUploadModal(id) {\r\n this.setState({ restoreUploadId: id, showRestoreModal: true });\r\n }\r\n\r\n async restoreUpload(id) {\r\n const token = await authService.getAccessToken();\r\n\r\n await fetch('upload/RestoreDeletedUpload?id=' + id, {\r\n method: 'GET',\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Authorization': 'Bearer ' + token\r\n }\r\n }).then((response) => {\r\n return response.json();\r\n })\r\n .then(async (data) => {\r\n await UploadService.getFiles(this.props.CreditApplicationId).then((files) => {\r\n this.setState({\r\n fileInfos: files.data[0]?.id !== 0 ? files.data : undefined\r\n }, function () {\r\n if (files.data[0]?.deletedCount === 0) {\r\n this.setState({\r\n disableRecycleBin: true,\r\n showRecycleBinModal: false,\r\n recycleCount: \"\"\r\n });\r\n }\r\n else {\r\n this.setState({ disableRecycleBin: false, recycleCount: files.data[0]?.deletedCount.toString() },\r\n async function () {\r\n const token = await authService.getAccessToken();\r\n\r\n await fetch('upload/GetRecycleBinFiles?creditApplicationId=' + this.props.CreditApplicationId, {\r\n method: 'GET',\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Authorization': 'Bearer ' + token\r\n }\r\n }).then((response) => {\r\n return response.json();\r\n }).then((data) => {\r\n this.setState({ deletedFiles: data, showRecycleBinModal: data.length > 0 });\r\n });\r\n });\r\n }\r\n });\r\n });\r\n });\r\n }\r\n\r\n async loadRecycleBin(id) {\r\n const token = await authService.getAccessToken();\r\n\r\n await fetch('upload/GetRecycleBinFiles?creditApplicationId=' + id, {\r\n method: 'GET',\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Authorization': 'Bearer ' + token\r\n }\r\n }).then((response) => {\r\n return response.json();\r\n }).then((data) => {\r\n this.setState({ deletedFiles: data, showRecycleBinModal: true });\r\n });\r\n }\r\n\r\n async deleteUploadedDocument(id) {\r\n this.setState({ showModal: false });\r\n const token = await authService.getAccessToken();\r\n\r\n await fetch('upload/DeleteUploadFile?id=' + id, {\r\n method: 'GET',\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Authorization': 'Bearer ' + token\r\n }\r\n }).then(async (response) => {\r\n await UploadService.getFiles(this.props.CreditApplicationId).then((files) => {\r\n this.setState({\r\n fileInfos: files.data[0]?.id !== 0 ? files.data : undefined,\r\n DocumentTypeId: 0,\r\n FileName: '',\r\n Notes: ''\r\n });\r\n if (files.data[0]?.deletedCount === 0) {\r\n this.setState({ disableRecycleBin: true, recycleCount: \"\" });\r\n }\r\n else {\r\n this.setState({ disableRecycleBin: false, recycleCount: files.data[0]?.deletedCount.toString() });\r\n }\r\n });\r\n });\r\n }\r\n\r\n async download(id) {\r\n const token = await authService.getAccessToken();\r\n var tempfilename = \"download.pdf\";\r\n var filename = \"\";\r\n var contentType = \"application/pdf\";\r\n\r\n var f = _fetch();\r\n await fetch(\"/Upload/DownloadFile?id=\" + id, {\r\n method: 'GET',\r\n body: null,\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Authorization': 'Bearer ' + token\r\n }\r\n })\r\n .then((res) => {\r\n const header = res.headers.get('Content-Disposition');\r\n const parts = header.split(';');\r\n contentType = res.headers.get(\"Content-Type\");\r\n\r\n if (parts[1]) {\r\n filename = parts[1].split('=')[1];\r\n }\r\n else {\r\n filename = tempfilename;\r\n }\r\n return res.blob();\r\n })\r\n .then(data => {\r\n f.downloadFile(data, filename, contentType);\r\n })\r\n .catch((error) => {\r\n console.log('error in download - ' + error.message);\r\n });\r\n\r\n }\r\n\r\n render() {\r\n const { selectedFiles, progressInfos, message, fileInfos, documentTypes } = this.state;\r\n return (\r\n
    \r\n this.setState({ showToast: false })}\r\n autoHideToastDelay={7000}\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 Type\r\n \r\n {\r\n this.setState({ DocumentTypeId: e.target.value });\r\n }}\r\n >\r\n \r\n {documentTypes && documentTypes.map((item, idx) =>\r\n \r\n )}\r\n \r\n
    \r\n Notes\r\n \r\n {\r\n this.setState({ Notes: e.target.value })\r\n }}\r\n value={this.state.Notes}\r\n >\r\n
    \r\n File Name\r\n \r\n {\r\n this.setState({ FileName: e.target.value })\r\n }}\r\n onKeyPress={(e) => {\r\n var illegal = '<>:\"/\\\\|?*';\r\n if (illegal.includes(e.key)) {\r\n e.preventDefault();\r\n }\r\n }}\r\n value={this.state.FileName}\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 Upload\r\n \r\n
    \r\n {progressInfos &&\r\n progressInfos.map((progressInfo, index) => (\r\n
    \r\n {progressInfo.fileName}\r\n
    \r\n \r\n {progressInfo.percentage}%\r\n
    \r\n
    \r\n
    \r\n ))}\r\n {\r\n message.length > 0 && (\r\n
    \r\n
      \r\n {message.map((item, i) => {\r\n return
    • {item}
    • ;\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 await this.loadRecycleBin(this.props.CreditApplicationId);\r\n }}\r\n >Recycle Bin\r\n
    {this.state.recycleCount}
    \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 {this.state.fileInfos && this.state.fileInfos?.length > 0 ?\r\n this.state.fileInfos?.map((item, idx) =>\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
    Document TypeFile NameNotesDate Uploaded# PagesDownloadDelete
    \r\n \r\n {item.dtName}{item.filename}{item.notes}{item.dateUploaded}{item.pages}\r\n { this.download(item.id) }}\r\n />\r\n \r\n this.deleteUpload(item.id)}\r\n />\r\n
    No documents found
    \r\n
    \r\n
    \r\n this.setState({ showModal: false })}\r\n className=\"et-modal\"\r\n contentLabel=\"Delete Upload\"\r\n overlayClassName=\"Overlay\"\r\n >\r\n
    \r\n
    Delete the uploaded document?
    \r\n
    \r\n
    \r\n this.setState({ showModal: false })}\r\n >\r\n No\r\n \r\n this.deleteUploadedDocument(this.state.uploadId)}\r\n >\r\n Yes\r\n \r\n
    \r\n \r\n
    \r\n
    \r\n this.setState({ showRestoreModal: false })}\r\n className=\"modal-front\"\r\n contentLabel=\"Restore Document\"\r\n overlayClassName=\"Overlay2\"\r\n >\r\n
    \r\n
    Restore deleted document?
    \r\n
    \r\n
    \r\n this.setState({ showRestoreModal: false })}\r\n >\r\n No\r\n \r\n {\r\n this.setState({ showRestoreModal: false })\r\n this.restoreUpload(this.state.restoreUploadId);\r\n }}\r\n >\r\n Yes\r\n \r\n
    \r\n \r\n
    \r\n
    \r\n this.setState({ showRecycleBinModal: false })}\r\n className=\"et-modal\"\r\n contentLabel=\"Recycle Bin\"\r\n overlayClassName=\"Overlay\"\r\n >\r\n
    \r\n
    Recycle Bin
    \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 {this.state.deletedFiles && this.state.deletedFiles?.length > 0 ?\r\n this.state.deletedFiles?.map((item, idx) =>\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 TypeDate Deleted# PagesRestore
    \r\n \r\n {item.dtName}{item.dateDeleted}{item.pages}\r\n this.showRestoreUploadModal(item.id)}\r\n />\r\n
    No documents found
    \r\n
    \r\n \r\n
    \r\n \r\n );\r\n }\r\n}","import React, { Component } from 'react';\r\nimport { Spinner } from 'reactstrap';\r\nimport Upload from \"./upload-files-vault\";\r\nimport NavBox from './navbox';\r\nimport { _fetch } from './_fetch';\r\n\r\nexport class DocumentVault extends Component {\r\n constructor(props) {\r\n super(props);\r\n\r\n this.state = {\r\n loading: false,\r\n ShowNavBox: false\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n var id = sessionStorage.getItem(\"ID\");\r\n this.setState({ CreditApplicationId: id, ShowNavBox: true });\r\n }\r\n\r\n render() {\r\n return (\r\n
    \r\n {this.state.CreditApplicationId !== undefined ?\r\n { window.location.href = e }}\r\n />\r\n : null}\r\n
    \r\n {this.state.loading === true ?\r\n
    \r\n \r\n
    \r\n : null\r\n }\r\n {this.state.CreditApplicationId !== undefined ?\r\n \r\n : null}\r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n )\r\n }\r\n}\r\n","import React, { Component } from 'react';\r\nimport { _fetch } from './_fetch';\r\nimport { Spinner } from 'reactstrap';\r\nimport Toast from './toast.js';\r\nimport TextInput from './TextInput';\r\nimport NavBox from './navbox';\r\n\r\nexport class Vessel extends Component {\r\n constructor(props) {\r\n super(props);\r\n\r\n this.state = {\r\n loading: false,\r\n fuel: [{ id: 1, name: 'Gas' }, { id: 2, name: 'Diesel' }, { id: 3, name: 'Electric' }],\r\n type: [{ id: 1, name: 'Inboard' }, { id: 2, name: 'I/O' }, { id: 3, name: 'Outboard' }],\r\n materials: [{ id: 1, name: 'FBGL' }, { id: 2, name: 'ALUM' }]\r\n };\r\n }\r\n\r\n async componentDidMount() {\r\n let id = sessionStorage.getItem(\"ID\");\r\n if (id !== 0 && id !== null) {\r\n this.getVessel(id);\r\n this.setState({ CreditApplicationId: id, ShowNavBox: true });\r\n }\r\n }\r\n\r\n async getVessel(id) {\r\n try {\r\n this.setState({ loading: true });\r\n\r\n var fetch = _fetch();\r\n fetch.get(\"/vessel/getvessel?id=\" + id)\r\n .then((data) => {\r\n var _state = this.state;\r\n for (const key in data) {\r\n if (data[key] != null) {\r\n var _key = key.charAt(0).toUpperCase() + key.slice(1);\r\n var _value = data[key];\r\n _state[_key] = _value;\r\n }\r\n }\r\n\r\n this.setState(_state, function () {\r\n this.setState({ loading: false });\r\n });\r\n })\r\n }\r\n catch (err) {\r\n this.setState({ loading: false });\r\n console.log('getVessel - ' + err);\r\n }\r\n }\r\n\r\n formatCurrency(value) {\r\n if (value == undefined) return \"\";\r\n var _values = value.toString().replace(/,/g, '').replace('$', '');\r\n\r\n var dec = \"\";\r\n var _value = \"\";\r\n\r\n var elements = _values.split('.');\r\n if (elements?.length == 1) {\r\n _value = _values.split('.')[0];\r\n }\r\n else if (elements?.length > 1) {\r\n _value = _values.split('.')[0];\r\n dec = \".\" + _values.split('.')[1].substring(0, 2);\r\n }\r\n else {\r\n _value = _values;\r\n }\r\n if (_value.length > 0) {\r\n return new Intl.NumberFormat(undefined, {\r\n style: 'currency',\r\n currency: 'USD',\r\n maximumFractionDigits: 0,\r\n minimumFractionDigits: 0,\r\n }).format(_value) + dec;\r\n }\r\n }\r\n\r\n save(skipToast) {\r\n try {\r\n this.setState({ loading: true });\r\n\r\n var fetch = _fetch();\r\n fetch.post(\"/vessel/savevessel\", this.state)\r\n .then((data) => {\r\n if (data.id != 0) {\r\n if (skipToast !== 1) {\r\n this.setState({\r\n showToastSuccess: true,\r\n toastMessageSuccess: 'Saved successfully'\r\n });\r\n }\r\n this.setState({ loading: false, Id: data.id });\r\n }\r\n else {\r\n this.setState({\r\n showToast: true,\r\n toastMessage: 'There was an issue saving your information. Please try again',\r\n loading: false\r\n });\r\n }\r\n });\r\n }\r\n catch (err) {\r\n this.setState({ loading: false });\r\n console.log('save - ' + err);\r\n }\r\n }\r\n\r\n render() {\r\n return (\r\n
    \r\n this.save(1)}\r\n />\r\n this.setState({ showToast: false })}\r\n autoHideToastDelay={5000}\r\n />\r\n this.setState({ showToastSuccess: false })}\r\n autoHideToastDelay={5000}\r\n isSuccessToast={true}\r\n />\r\n
    \r\n {this.state.loading === true ?\r\n
    \r\n \r\n
    \r\n : null\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 Purchase or Refinance?\r\n \r\n
    \r\n {\r\n var creditApp = this.state.CreditApplicationData;\r\n creditApp.purchaseOrRefinance = 'Purchase';\r\n\r\n this.setState({\r\n CreditApplicationData: creditApp\r\n });\r\n }}\r\n >\r\n \r\n \r\n {\r\n var creditApp = this.state.CreditApplicationData;\r\n creditApp.purchaseOrRefinance = 'Refinance';\r\n\r\n this.setState({ CreditApplicationData: creditApp });\r\n }}\r\n >\r\n \r\n \r\n
    \r\n\r\n
    \r\n New or Used?\r\n \r\n
    \r\n {\r\n var creditApp = this.state.CreditApplicationData;\r\n creditApp.newOrUsed = 'New';\r\n\r\n this.setState({ creditApp });\r\n }\r\n }\r\n disabled={this.state.CreditApplicationData?.purchaseOrRefinance === 'Refinance'}\r\n >\r\n \r\n \r\n {\r\n var creditApp = this.state.CreditApplicationData;\r\n creditApp.newOrUsed = 'Used';\r\n\r\n this.setState({ CreditApplicationData: creditApp });\r\n }\r\n }\r\n disabled={this.state.CreditApplicationData?.purchaseOrRefinance === 'Refinance'}\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 var creditApp = this.state.CreditApplicationData;\r\n creditApp.vesselYear = e == \"\" ? null : e;\r\n\r\n this.setState({ CreditApplicationData: creditApp });\r\n }}\r\n Value={this.state.CreditApplicationData?.vesselYear}\r\n Style={{ width: '5vw' }}\r\n />\r\n \r\n {\r\n this.setState({ YearBuilt: e });\r\n }}\r\n Value={this.state.YearBuilt}\r\n Style={{ width: '5vw' }}\r\n />\r\n \r\n {\r\n var creditApp = this.state.CreditApplicationData;\r\n creditApp.vesselManufacturer = e;\r\n\r\n this.setState({ CreditApplicationData: creditApp });\r\n }}\r\n Value={this.state.CreditApplicationData?.vesselManufacturer}\r\n Label=\"Builder / Manufacturer\"\r\n Style={{ width: '11vw' }}\r\n />\r\n \r\n {\r\n var creditApp = this.state.CreditApplicationData;\r\n creditApp.vesselModel = e;\r\n\r\n this.setState({ CreditApplicationData: creditApp });\r\n }}\r\n Value={this.state.CreditApplicationData?.vesselModel}\r\n Label=\"Model\"\r\n Style={{ width: '11vw' }}\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 var creditApp = this.state.CreditApplicationData;\r\n creditApp.vesselLength = e == \"\" ? null : e;\r\n\r\n this.setState({ CreditApplicationData: creditApp });\r\n }}\r\n Value={this.state.CreditApplicationData?.vesselLength}\r\n Style={{ width: '5vw' }}\r\n />\r\n \r\n {\r\n this.setState({ Beam: e });\r\n }}\r\n Value={this.state.Beam}\r\n Style={{ width: '5vw' }}\r\n />\r\n \r\n this.setState({ Draft: e })}\r\n Value={this.state.Draft}\r\n Label=\"Draft\"\r\n Style={{ width: '5vw' }}\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 var creditApp = this.state.CreditApplicationData;\r\n creditApp.hullIdentificationNumber = e;\r\n\r\n this.setState({ CreditApplicationData: creditApp });\r\n }}\r\n Value={this.state.CreditApplicationData?.hullIdentificationNumber}\r\n Style={{ width: '8vw', textTransform: 'uppercase' }}\r\n />\r\n \r\n {\r\n this.setState({ OfficialNumber: e });\r\n }}\r\n Value={this.state.OfficialNumber}\r\n Style={{ width: '8vw' }}\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 this.setState({ Material: e.target.value })\r\n }}\r\n >\r\n \r\n {this.state.materials?.map((item, idx) =>\r\n \r\n )}\r\n \r\n \r\n {\r\n this.setState({ GrossTons: e == \"\" ? null : e });\r\n }}\r\n Value={this.state.GrossTons}\r\n Style={{ width: '8vw' }}\r\n />\r\n \r\n {\r\n this.setState({ NetTons: e == \"\" ? null : e });\r\n }}\r\n Value={this.state.NetTons}\r\n Style={{ width: '8vw' }}\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 \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 \r\n \r\n \r\n \r\n
    EngineYearManufacturerSerial NumberHPFuelType
    Engine #1\r\n {\r\n this.setState({ Engine1Year: e.target.value })\r\n }}\r\n value={this.state.Engine1Year}\r\n style={{ width: '50px' }}\r\n onKeyDown={(e) => {\r\n var val = e.target.value;\r\n\r\n if (val.length == 4 && e.key != 'Backspace' && e.key != 'Tab') e.preventDefault();\r\n }}\r\n >\r\n \r\n {\r\n var creditApp = this.state.CreditApplicationData;\r\n creditApp.vesselEngineManufacturer = e.target.value;\r\n\r\n this.setState({ CreditApplicationData: creditApp })\r\n }}\r\n value={this.state.CreditApplicationData?.vesselEngineManufacturer}\r\n >\r\n \r\n {\r\n this.setState({ Engine1SerialNumber: e.target.value })\r\n }}\r\n value={this.state.Engine1SerialNumber}\r\n >\r\n \r\n {\r\n var creditApp = this.state.CreditApplicationData;\r\n creditApp.vesselHP = e.target.value == \"\" ? null : e.target.value;\r\n\r\n this.setState({ CreditApplicationData: creditApp })\r\n }}\r\n value={this.state.CreditApplicationData?.vesselHP}\r\n style={{ width: '50px' }}\r\n onKeyDown={(e) => {\r\n var val = e.target.value;\r\n\r\n if (val.length == 4 && e.key != 'Backspace' && e.key != 'Tab') e.preventDefault();\r\n }}\r\n >\r\n \r\n {\r\n var creditApp = this.state.CreditApplicationData;\r\n creditApp.vesselEngineFuel = e.target.value;\r\n\r\n this.setState({ CreditApplicationData: creditApp })\r\n }}\r\n >\r\n \r\n {this.state.fuel?.map((item, idx) =>\r\n \r\n )}\r\n \r\n \r\n {\r\n this.setState({ Engine1Type: e.target.value })\r\n }}\r\n >\r\n \r\n {this.state.type?.map((item, idx) =>\r\n \r\n )}\r\n \r\n
    Engine #2\r\n {\r\n this.setState({ Engine2Year: e.target.value })\r\n }}\r\n value={this.state.Engine2Year}\r\n style={{ width: '50px' }}\r\n onKeyDown={(e) => {\r\n var val = e.target.value;\r\n\r\n if (val.length == 4 && e.key != 'Backspace' && e.key != 'Tab') e.preventDefault();\r\n }}\r\n >\r\n \r\n {\r\n this.setState({ Engine2Make: e.target.value })\r\n }}\r\n value={this.state.Engine2Make}\r\n >\r\n \r\n {\r\n this.setState({ Engine2SerialNumber: e.target.value })\r\n }}\r\n value={this.state.Engine2SerialNumber}\r\n >\r\n \r\n {\r\n this.setState({ Engine2HP: e.target.value })\r\n }}\r\n value={this.state.Engine2HP}\r\n style={{ width: '50px' }}\r\n onKeyDown={(e) => {\r\n var val = e.target.value;\r\n\r\n if (val.length == 4 && e.key != 'Backspace' && e.key != 'Tab') e.preventDefault();\r\n }}\r\n >\r\n \r\n {\r\n this.setState({ Engine2Fuel: e.target.value })\r\n }}\r\n >\r\n \r\n {this.state.fuel?.map((item, idx) =>\r\n \r\n )}\r\n \r\n \r\n {\r\n this.setState({ Engine2Type: e.target.value })\r\n }}\r\n >\r\n \r\n {this.state.type?.map((item, idx) =>\r\n \r\n )}\r\n \r\n
    Engine #3\r\n {\r\n this.setState({ Engine3Year: e.target.value })\r\n }}\r\n value={this.state.Engine3Year}\r\n style={{ width: '50px' }}\r\n onKeyDown={(e) => {\r\n var val = e.target.value;\r\n\r\n if (val.length == 4 && e.key != 'Backspace' && e.key != 'Tab') e.preventDefault();\r\n }}\r\n >\r\n \r\n {\r\n this.setState({ Engine3Make: e.target.value })\r\n }}\r\n value={this.state.Engine3Make}\r\n >\r\n \r\n {\r\n this.setState({ Engine3SerialNumber: e.target.value })\r\n }}\r\n value={this.state.Engine3SerialNumber}\r\n >\r\n \r\n {\r\n this.setState({ Engine3HP: e.target.value })\r\n }}\r\n value={this.state.Engine3HP}\r\n style={{ width: '50px' }}\r\n onKeyDown={(e) => {\r\n var val = e.target.value;\r\n\r\n if (val.length == 4 && e.key != 'Backspace' && e.key != 'Tab') e.preventDefault();\r\n }}\r\n >\r\n \r\n {\r\n this.setState({ Engine3Fuel: e.target.value })\r\n }}\r\n >\r\n \r\n {this.state.fuel?.map((item, idx) =>\r\n \r\n )}\r\n \r\n \r\n {\r\n this.setState({ Engine3Type: e.target.value })\r\n }}\r\n >\r\n \r\n {this.state.type?.map((item, idx) =>\r\n \r\n )}\r\n \r\n
    Engine #4\r\n {\r\n this.setState({ Engine4Year: e.target.value })\r\n }}\r\n value={this.state.Engine4Year}\r\n style={{ width: '50px' }}\r\n onKeyDown={(e) => {\r\n var val = e.target.value;\r\n\r\n if (val.length == 4 && e.key != 'Backspace' && e.key != 'Tab') e.preventDefault();\r\n }}\r\n >\r\n \r\n {\r\n this.setState({ Engine4Make: e.target.value })\r\n }}\r\n value={this.state.Engine4Make}\r\n >\r\n \r\n {\r\n this.setState({ Engine4SerialNumber: e.target.value })\r\n }}\r\n value={this.state.Engine4SerialNumber}\r\n >\r\n \r\n {\r\n this.setState({ Engine4HP: e.target.value })\r\n }}\r\n value={this.state.Engine4HP}\r\n style={{ width: '50px' }}\r\n onKeyDown={(e) => {\r\n var val = e.target.value;\r\n\r\n if (val.length == 4 && e.key != 'Backspace' && e.key != 'Tab') e.preventDefault();\r\n }}\r\n >\r\n \r\n {\r\n this.setState({ Engine4Fuel: e.target.value })\r\n }}\r\n >\r\n \r\n {this.state.fuel?.map((item, idx) =>\r\n \r\n )}\r\n \r\n \r\n {\r\n this.setState({ Engine4Type: e.target.value })\r\n }}\r\n >\r\n \r\n {this.state.type?.map((item, idx) =>\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 this.setState({ VesselName: e });\r\n }}\r\n Value={this.state.VesselName}\r\n Style={{ width: '8vw' }}\r\n />\r\n \r\n {\r\n this.setState({ OldVesselName: e });\r\n }}\r\n Value={this.state.OldVesselName}\r\n Style={{ width: '8vw' }}\r\n />\r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n {\r\n this.setState({ HailingPort: e });\r\n }}\r\n Value={this.state.HailingPort}\r\n Style={{ width: '8vw' }}\r\n />\r\n \r\n {\r\n this.setState({ CurrentLocation: e });\r\n }}\r\n Value={this.state.CurrentLocation}\r\n Style={{ width: '8vw' }}\r\n />\r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n {\r\n this.setState({ SummerMooring: e });\r\n }}\r\n Value={this.state.SummerMooring}\r\n Style={{ width: '8vw' }}\r\n />\r\n \r\n {\r\n this.setState({ SummerMooringAddress: e });\r\n }}\r\n Value={this.state.SummerMooringAddress}\r\n Style={{ width: '12vw' }}\r\n />\r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n {\r\n this.setState({ WinterMooring: e });\r\n }}\r\n Value={this.state.WinterMooring}\r\n Style={{ width: '8vw' }}\r\n />\r\n \r\n {\r\n this.setState({ WinterMooringAddress: e });\r\n }}\r\n Value={this.state.WinterMooringAddress}\r\n Style={{ width: '12vw' }}\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 var creditApp = this.state.CreditApplicationData;\r\n creditApp.trailerYear = e == \"\" ? null : e;\r\n\r\n this.setState({ CreditApplicationData: creditApp });\r\n }}\r\n Value={this.state.CreditApplicationData?.trailerYear}\r\n Style={{ width: '40px' }}\r\n />\r\n \r\n {\r\n this.setState({ TenderYear: e });\r\n }}\r\n Value={this.state.TenderYear}\r\n Style={{ width: '40px' }}\r\n />\r\n
    \r\n {\r\n var creditApp = this.state.CreditApplicationData;\r\n creditApp.trailerMake = e;\r\n\r\n this.setState({ CreditApplicationData: creditApp });\r\n }}\r\n Value={this.state.CreditApplicationData?.trailerMake}\r\n Style={{ width: '12vw' }}\r\n />\r\n \r\n {\r\n this.setState({ TenderMake: e });\r\n }}\r\n Value={this.state.TenderMake}\r\n Style={{ width: '12vw' }}\r\n />\r\n
    \r\n {\r\n var creditApp = this.state.CreditApplicationData;\r\n creditApp.trailerModel = e;\r\n\r\n this.setState({ CreditApplicationData: creditApp });\r\n }}\r\n Value={this.state.CreditApplicationData?.trailerModel}\r\n Style={{ width: '12vw' }}\r\n />\r\n \r\n {\r\n this.setState({ TenderModel: e });\r\n }}\r\n Value={this.state.TenderModel}\r\n Style={{ width: '12vw' }}\r\n />\r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n {\r\n this.setState({ TrailerVIN: e });\r\n }}\r\n Value={this.state.TrailerVIN}\r\n Style={{ width: '12vw', textTransform: 'uppercase' }}\r\n />\r\n \r\n {\r\n this.setState({ TenderVIN: e });\r\n }}\r\n Value={this.state.TenderVIN}\r\n Style={{ width: '12vw', textTransform: 'uppercase' }}\r\n />\r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n {\r\n this.setState({ TrailerValue: e });\r\n }}\r\n Value={this.formatCurrency(this.state.TrailerValue)}\r\n Style={{ width: '12vw' }}\r\n />\r\n \r\n {\r\n this.setState({ TenderValue: e });\r\n }}\r\n Value={this.formatCurrency(this.state.TenderValue)}\r\n Style={{ width: '12vw' }}\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 this.save();\r\n }}>\r\n Save\r\n \r\n
    \r\n
    \r\n
    \r\n )\r\n }\r\n}","import React, { Component } from 'react';\r\nimport { _fetch } from './_fetch';\r\nimport { Spinner } from 'reactstrap';\r\nimport authService from './api-authorization/AuthorizeService';\r\nimport Toast from './toast.js';\r\nimport TextInput from './TextInput';\r\nimport NavBox from './navbox';\r\n\r\nexport class Lender extends Component {\r\n constructor(props) {\r\n super(props);\r\n\r\n this.state = {\r\n loading: false\r\n };\r\n }\r\n\r\n async componentDidMount() {\r\n let id = sessionStorage.getItem(\"ID\");\r\n //let userId = sessionStorage.getItem(\"USER_ID\");\r\n\r\n if (id != null) {\r\n this.setState({ CreditApplicationId: id, ShowNavBox: true });\r\n this.getBanks(id);\r\n }\r\n }\r\n\r\n async getBanks(id) {\r\n var fetch = _fetch();\r\n fetch.get(\"/lender/getBanks\")\r\n .then((data) => {\r\n this.setState({ banks: data },\r\n async function () {\r\n await this.loadPage(id)\r\n });\r\n });\r\n }\r\n\r\n calculateTotals() {\r\n if (this.state.PurchaseOrRefinance !== 'Refinance') {\r\n var s = this.state;\r\n var purchasePrice = this.zeroOrValue(s.PurchasePrice);\r\n var salesTax = this.zeroOrValue(s.SalesTax);\r\n var total = purchasePrice + salesTax;\r\n var trade = this.zeroOrValue(s.TradeBoatEquity);\r\n var downPayment = this.zeroOrValue(s.CashDownPayment);\r\n var loanAmount = total - (trade + downPayment);\r\n\r\n var loanRaw = this.formatCurrency(loanAmount);\r\n\r\n if (loanRaw && loanRaw.startsWith('$') && !loanRaw.includes('.')) {\r\n loanRaw = loanRaw + '.00';\r\n }\r\n else if (loanRaw.startsWith('$') && loanRaw.includes('.')) {\r\n var spl = loanRaw.split(\".\");\r\n if (spl[1].length == 0) {\r\n loanRaw = loanRaw + '00';\r\n }\r\n\r\n if (spl[1].length == 1) {\r\n loanRaw = loanRaw + '0';\r\n }\r\n }\r\n\r\n var totalRaw = this.formatCurrency(total);\r\n\r\n if (totalRaw && totalRaw.startsWith('$') && !totalRaw.includes('.')) {\r\n totalRaw = totalRaw + '.00';\r\n }\r\n else if (totalRaw.startsWith('$') && totalRaw.includes('.')) {\r\n var spl = totalRaw.split(\".\");\r\n if (spl[1].length == 0) {\r\n totalRaw = totalRaw + '00';\r\n }\r\n\r\n if (spl[1].length == 1) {\r\n totalRaw = totalRaw + '0';\r\n }\r\n }\r\n\r\n this.setState({ TotalCost: totalRaw, LoanAmount: loanRaw }, function () {\r\n this.calcFeeAmount();\r\n });\r\n }\r\n }\r\n\r\n async loadPage(id) {\r\n try {\r\n this.setState({ loading: true });\r\n var fetch = _fetch();\r\n fetch.get(\"/lender/getlender?id=\" + id)\r\n .then((data) => {\r\n if (data) {\r\n var _state = this.state;\r\n for (const key in data) {\r\n if (data[key] != null) {\r\n var _key = key.charAt(0).toUpperCase() + key.slice(1);\r\n var _value = data[key];\r\n _state[_key] = _value;\r\n }\r\n }\r\n this.setState(_state, function () {\r\n this.calculateTotals();\r\n this.setState({ loading: false });\r\n this.calcFeeAmount();\r\n });\r\n }\r\n });\r\n }\r\n catch (err) {\r\n this.setState({ loading: false });\r\n console.log('loadPage - ' + err);\r\n }\r\n }\r\n\r\n zeroOrValue(value) {\r\n if (value == undefined || value == 0 || value == null) return 0;\r\n //if (isNaN(value)) {\r\n // value = value.toString().substring(1, value.toString().lenth - 1);\r\n //}\r\n var _value = value?.toString().replace(/,/g, '').replace('$', '');\r\n\r\n if (_value.length > 0) {\r\n\r\n var result = (isNaN(_value) || _value == undefined) ? 0 : parseFloat(_value);\r\n return result;\r\n }\r\n else {\r\n return 0;\r\n }\r\n }\r\n\r\n formatCurrency(value) {\r\n if (value == undefined || value == 0) return \"\";\r\n var _values = value.toString().replace(/,/g, '').replace('$', '');\r\n\r\n var dec = \"\";\r\n var _value = \"\";\r\n\r\n var elements = _values.split('.');\r\n if (elements?.length == 1) {\r\n _value = _values.split('.')[0];\r\n }\r\n else if (elements?.length > 1) {\r\n _value = _values.split('.')[0];\r\n dec = \".\" + _values.split('.')[1].substring(0, 2);\r\n }\r\n else {\r\n _value = _values;\r\n }\r\n if (_value.length > 0) {\r\n return new Intl.NumberFormat(undefined, {\r\n style: 'currency',\r\n currency: 'USD',\r\n maximumFractionDigits: 0,\r\n minimumFractionDigits: 0,\r\n }).format(_value) + dec;\r\n }\r\n }\r\n\r\n save(showToast, url) {\r\n var data = this.state;\r\n\r\n this.setState({\r\n loading: true\r\n });\r\n\r\n var fetch = _fetch();\r\n\r\n fetch.post(\"/lender/savelender\", data)\r\n .then((id) => {\r\n if (id) {\r\n if (url != undefined) {\r\n window.location.href = url;\r\n }\r\n else {\r\n if (showToast === 1) {\r\n this.setState({\r\n Id: id,\r\n loading: false,\r\n toastMessageSuccess: 'Saved successfully',\r\n showToastSuccess: true\r\n });\r\n }\r\n }\r\n }\r\n else {\r\n this.setState({\r\n showToast: true,\r\n toastMessage: 'There was an issue saving your information. Please try again',\r\n loading: false\r\n });\r\n }\r\n })\r\n }\r\n\r\n calcFeeAmount() {\r\n var _fee = 0;\r\n var _feeString = \"\";\r\n\r\n if (this.state.LoanAmount !== undefined && this.state.FeePercent !== undefined) {\r\n var loanAmount = this.state.LoanAmount.toString().replace(/,/g, '').replace('$', '');\r\n var feePercent = this.state.FeePercent.toString().replace(/,/g, '').replace('$', '');\r\n\r\n var fee = parseFloat(loanAmount) * parseFloat(feePercent / 100);\r\n var _fee = Math.ceil(fee * 100) / 100;\r\n }\r\n\r\n _feeString = this.formatCurrency(_fee);\r\n\r\n if (_feeString.startsWith('$') && !_feeString.includes('.')) {\r\n _feeString = _feeString + '.00';\r\n }\r\n else if (_feeString.startsWith('$') && _feeString.includes('.')) {\r\n var spl = _feeString.split(\".\");\r\n if (spl[1].length == 0) {\r\n _feeString = _feeString + '00';\r\n }\r\n\r\n if (spl[1].length == 1) {\r\n _feeString = _feeString + '0';\r\n }\r\n }\r\n\r\n this.setState({ FeeAmount: _fee === 0 ? \"\" : _feeString });\r\n }\r\n\r\n sqlToJsDate(sqlDate) {\r\n if (sqlDate == \"\" || sqlDate === undefined) return sqlDate;\r\n\r\n var dateParts = sqlDate.split(\"T\");\r\n return dateParts[0];\r\n }\r\n\r\n render() {\r\n return (\r\n
    \r\n this.save(e)}\r\n />\r\n this.setState({ showToast: false })}\r\n autoHideToastDelay={8000}\r\n />\r\n this.setState({ showToastSuccess: false })}\r\n autoHideToastDelay={5000}\r\n isSuccessToast={true}\r\n />\r\n
    \r\n {this.state.loading === true ?\r\n
    \r\n \r\n
    \r\n : null\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 this.setState({ BankId: e.target.value })\r\n }}\r\n >\r\n \r\n {this.state.banks?.map((item, idx) =>\r\n \r\n )}\r\n \r\n \r\n {\r\n this.setState({ BankApprovalNumber: e }, function () {\r\n\r\n });\r\n }}\r\n Value={this.state.BankApprovalNumber ?? \"\"}\r\n Style={{ width: '160px' }}\r\n />\r\n \r\n {\r\n this.setState({ BankRepName: e }, function () {\r\n\r\n });\r\n }}\r\n Value={this.state.BankRepName ?? \"\"}\r\n Style={{ width: '160px' }}\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 \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
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n {\r\n this.setState({ FeePercent: e }, function () {\r\n this.calcFeeAmount();\r\n });\r\n }}\r\n Value={this.state.FeePercent}\r\n Style={{ width: '160px' }}\r\n />\r\n \r\n {\r\n this.setState({\r\n FeeAmount: e\r\n });\r\n }}\r\n Value={this.formatCurrency(this.state.FeeAmount)}\r\n Style={{ width: '160px' }}\r\n />\r\n \r\n {\r\n this.setState({ InvoiceDate: e }, function () {\r\n\r\n });\r\n }}\r\n Value={this.sqlToJsDate(this.state.InvoiceDate)}\r\n Style={{ width: '160px' }}\r\n />\r\n
    \r\n {\r\n this.setState({ Term: e }, function () {\r\n\r\n });\r\n }}\r\n Value={this.state.Term ?? \"\"}\r\n Style={{ width: '160px' }}\r\n />\r\n \r\n {\r\n this.setState({ InterestRate: e }, function () {\r\n\r\n });\r\n }}\r\n Value={this.state.InterestRate ?? \"\"}\r\n Style={{ width: '160px' }}\r\n />\r\n
    \r\n {\r\n this.setState({ MonthlyPayment: e }, function () {\r\n\r\n });\r\n }}\r\n Value={this.formatCurrency(this.state.MonthlyPayment)}\r\n Style={{ width: '160px' }}\r\n />\r\n \r\n {\r\n this.setState({ DateOfTheNote: e }, function () {\r\n\r\n });\r\n }}\r\n Value={this.sqlToJsDate(this.state.DateOfTheNote)}\r\n Style={{ width: '160px' }}\r\n />\r\n \r\n {\r\n this.setState({ FirstPaymentDueDate: e }, function () {\r\n\r\n });\r\n }}\r\n Value={this.sqlToJsDate(this.state.FirstPaymentDueDate)}\r\n Style={{ width: '160px' }}\r\n />\r\n \r\n {\r\n this.setState({ MaturityDate: e }, function () {\r\n\r\n });\r\n }}\r\n Value={this.sqlToJsDate(this.state.MaturityDate)}\r\n Style={{ width: '160px' }}\r\n />\r\n
    \r\n {\r\n this.setState({ LoanProcessingFee: e }, function () {\r\n\r\n });\r\n }}\r\n Value={this.formatCurrency(this.state.LoanProcessingFee)}\r\n Style={{ width: '160px' }}\r\n />\r\n \r\n {\r\n this.setState({ FlDocStampFee: e }, function () {\r\n\r\n });\r\n }}\r\n Value={this.formatCurrency(this.state.FlDocStampFee)}\r\n Style={{ width: '160px' }}\r\n />\r\n \r\n
    \r\n {\r\n this.setState({ PurchasePrice: e }, function () {\r\n this.calculateTotals();\r\n });\r\n }}\r\n Value={this.formatCurrency(this.state.PurchasePrice)}\r\n Style={{ width: '160px' }}\r\n />\r\n
    \r\n {\r\n this.setState({ SalesTax: e }, function () {\r\n this.calculateTotals();\r\n });\r\n }}\r\n Value={this.formatCurrency(this.state.SalesTax)}\r\n Style={{ width: '160px' }}\r\n />\r\n
    \r\n {\r\n this.setState({ TotalCost: e }, function () {\r\n this.calculateTotals();\r\n });\r\n }}\r\n Value={this.formatCurrency(this.state.TotalCost)}\r\n Style={{ width: '160px' }}\r\n />\r\n
    \r\n {\r\n this.setState({ TradeBoatEquity: e }, function () {\r\n this.calculateTotals();\r\n });\r\n }}\r\n Value={this.formatCurrency(this.state.TradeBoatEquity)}\r\n Style={{ width: '160px' }}\r\n />\r\n
    \r\n {\r\n this.setState({ CashDownPayment: e }, function () {\r\n this.calculateTotals();\r\n });\r\n }}\r\n Value={this.formatCurrency(this.state.CashDownPayment)}\r\n Style={{ width: '160px' }}\r\n />\r\n
    \r\n {\r\n this.setState({ LoanAmount: e }, function () {\r\n //this.calculateTotals();\r\n });\r\n }}\r\n Value={this.formatCurrency(this.state.LoanAmount)}\r\n Style={{ width: '160px' }}\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 Loan Disbursements\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 \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 \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
    SourcePayable ToAmountCheckWire
    Seller\r\n { this.setState({ SellerPayableTo: e.target.value }); }}\r\n />\r\n \r\n { this.setState({ SellerAmount: e.target.value }); }}\r\n onKeyPress={(event) => {\r\n var alpha = /^\\d*\\.?\\d*$/;\r\n if (!alpha.test(event.key)) {\r\n event.preventDefault();\r\n }\r\n else {\r\n return true;\r\n }\r\n }}\r\n onBlur={(e) => {\r\n var val = this.state.SellerAmount;\r\n if (e.target.value && e.target.value.startsWith('$') && !e.target.value.includes('.')) {\r\n val = val + '.00';\r\n }\r\n else if (e.target.value && e.target.value.startsWith('$') && e.target.value.includes('.')) {\r\n var spl = e.target.value.split(\".\");\r\n if (spl[1].length == 0) {\r\n val = val + '00';\r\n }\r\n\r\n if (spl[1].length == 1) {\r\n val = val + '0';\r\n }\r\n }\r\n this.setState({\r\n SellerAmount: val\r\n });\r\n }}\r\n />\r\n \r\n {\r\n this.setState({\r\n SellerCheck: !this.state.SellerCheck,\r\n SellerWire: this.state.SellerCheck\r\n })\r\n }}\r\n />\r\n \r\n {\r\n this.setState({\r\n SellerWire: !this.state.SellerWire,\r\n SellerCheck: this.state.SellerWire\r\n })\r\n }}\r\n />\r\n
    Loan Payoff #1\r\n { this.setState({ LoanPayoff1PayableTo: e.target.value }); }}\r\n />\r\n \r\n { this.setState({ LoanPayoff1Amount: e.target.value }); }}\r\n onKeyPress={(event) => {\r\n var alpha = /^\\d*\\.?\\d*$/;\r\n if (!alpha.test(event.key)) {\r\n event.preventDefault();\r\n }\r\n else {\r\n return true;\r\n }\r\n }}\r\n onBlur={(e) => {\r\n var val = this.state.LoanPayoff1Amount;\r\n if (e.target.value && e.target.value.startsWith('$') && !e.target.value.includes('.')) {\r\n val = val + '.00';\r\n }\r\n else if (e.target.value && e.target.value.startsWith('$') && e.target.value.includes('.')) {\r\n var spl = e.target.value.split(\".\");\r\n if (spl[1].length == 0) {\r\n val = val + '00';\r\n }\r\n\r\n if (spl[1].length == 1) {\r\n val = val + '0';\r\n }\r\n }\r\n this.setState({\r\n LoanPayoff1Amount: val\r\n });\r\n }}\r\n />\r\n \r\n {\r\n this.setState({\r\n LoanPayoff1Check: e.target.checked,\r\n LoanPayoff1Wire: !e.target.checked\r\n })\r\n }}\r\n />\r\n \r\n {\r\n this.setState({\r\n LoanPayoff1Wire: e.target.checked,\r\n LoanPayoff1Check: !e.target.checked\r\n })\r\n }}\r\n />\r\n
    Loan Payoff #2\r\n { this.setState({ LoanPayoff2PayableTo: e.target.value }); }}\r\n />\r\n \r\n { this.setState({ LoanPayoff2Amount: e.target.value }); }}\r\n onKeyPress={(event) => {\r\n var alpha = /^\\d*\\.?\\d*$/;\r\n if (!alpha.test(event.key)) {\r\n event.preventDefault();\r\n }\r\n else {\r\n return true;\r\n }\r\n }}\r\n onBlur={(e) => {\r\n var val = this.state.LoanPayoff2Amount;\r\n if (e.target.value && e.target.value.startsWith('$') && !e.target.value.includes('.')) {\r\n val = val + '.00';\r\n }\r\n else if (e.target.value && e.target.value.startsWith('$') && e.target.value.includes('.')) {\r\n var spl = e.target.value.split(\".\");\r\n if (spl[1].length == 0) {\r\n val = val + '00';\r\n }\r\n\r\n if (spl[1].length == 1) {\r\n val = val + '0';\r\n }\r\n }\r\n this.setState({\r\n LoanPayoff2Amount: val\r\n });\r\n }}\r\n />\r\n \r\n {\r\n this.setState({\r\n LoanPayoff2Check: e.target.checked,\r\n LoanPayoff2Wire: !e.target.checked\r\n })\r\n }}\r\n />\r\n \r\n {\r\n this.setState({\r\n LoanPayoff2Wire: e.target.checked,\r\n LoanPayoff2Check: !e.target.checked\r\n })\r\n }}\r\n />\r\n
    Sales Tax\r\n { this.setState({ SalesTaxPayableTo: e.target.value }); }}\r\n />\r\n \r\n { this.setState({ SalesTaxAmount: e.target.value }); }}\r\n onKeyPress={(event) => {\r\n var alpha = /^\\d*\\.?\\d*$/;\r\n if (!alpha.test(event.key)) {\r\n event.preventDefault();\r\n }\r\n else {\r\n return true;\r\n }\r\n }}\r\n onBlur={(e) => {\r\n var val = this.state.SalesTaxAmount;\r\n if (e.target.value && e.target.value.startsWith('$') && !e.target.value.includes('.')) {\r\n val = val + '.00';\r\n }\r\n else if (e.target.value && e.target.value.startsWith('$') && e.target.value.includes('.')) {\r\n var spl = e.target.value.split(\".\");\r\n if (spl[1].length == 0) {\r\n val = val + '00';\r\n }\r\n\r\n if (spl[1].length == 1) {\r\n val = val + '0';\r\n }\r\n }\r\n this.setState({\r\n SalesTaxAmount: val\r\n });\r\n }}\r\n />\r\n \r\n {\r\n this.setState({\r\n SalesTaxCheck: e.target.checked,\r\n SalesTaxWire: !e.target.checked\r\n })\r\n }}\r\n />\r\n \r\n {\r\n this.setState({\r\n SalesTaxWire: e.target.checked,\r\n SalesTaxCheck: !e.target.checked\r\n })\r\n }}\r\n />\r\n
    Dealer/Broker\r\n { this.setState({ DealerBrokerPayableTo: e.target.value }); }}\r\n />\r\n \r\n { this.setState({ DealerBrokerAmount: e.target.value }); }}\r\n onKeyPress={(event) => {\r\n var alpha = /^\\d*\\.?\\d*$/;\r\n if (!alpha.test(event.key)) {\r\n event.preventDefault();\r\n }\r\n else {\r\n return true;\r\n }\r\n }}\r\n onBlur={(e) => {\r\n var val = this.state.DealerBrokerAmount;\r\n if (e.target.value && e.target.value.startsWith('$') && !e.target.value.includes('.')) {\r\n val = val + '.00';\r\n }\r\n else if (e.target.value && e.target.value.startsWith('$') && e.target.value.includes('.')) {\r\n var spl = e.target.value.split(\".\");\r\n if (spl[1].length == 0) {\r\n val = val + '00';\r\n }\r\n\r\n if (spl[1].length == 1) {\r\n val = val + '0';\r\n }\r\n }\r\n this.setState({\r\n DealerBrokerAmount: val\r\n });\r\n }}\r\n />\r\n \r\n {\r\n this.setState({\r\n DealerBrokerCheck: e.target.checked,\r\n DealerBrokerWire: !e.target.checked\r\n })\r\n }}\r\n />\r\n \r\n {\r\n this.setState({\r\n DealerBrokerWire: e.target.checked,\r\n DealerBrokerCheck: !e.target.checked\r\n })\r\n }}\r\n />\r\n
    Escrow\r\n { this.setState({ EscrowPayableTo: e.target.value }); }}\r\n />\r\n \r\n { this.setState({ EscrowAmount: e.target.value }); }}\r\n onKeyPress={(event) => {\r\n var alpha = /^\\d*\\.?\\d*$/;\r\n if (!alpha.test(event.key)) {\r\n event.preventDefault();\r\n }\r\n else {\r\n return true;\r\n }\r\n }}\r\n onBlur={(e) => {\r\n var val = this.state.EscrowAmount;\r\n if (e.target.value && e.target.value.startsWith('$') && !e.target.value.includes('.')) {\r\n val = val + '.00';\r\n }\r\n else if (e.target.value && e.target.value.startsWith('$') && e.target.value.includes('.')) {\r\n var spl = e.target.value.split(\".\");\r\n if (spl[1].length == 0) {\r\n val = val + '00';\r\n }\r\n\r\n if (spl[1].length == 1) {\r\n val = val + '0';\r\n }\r\n }\r\n this.setState({\r\n EscrowAmount: val\r\n });\r\n }}\r\n />\r\n \r\n {\r\n this.setState({\r\n EscrowCheck: e.target.checked,\r\n EscrowWire: !e.target.checked\r\n })\r\n }}\r\n />\r\n \r\n {\r\n this.setState({\r\n EscrowWire: e.target.checked,\r\n EscrowCheck: !e.target.checked\r\n })\r\n }}\r\n />\r\n
    Other\r\n { this.setState({ Other1PayableTo: e.target.value }); }}\r\n />\r\n \r\n { this.setState({ Other1Amount: e.target.value }); }}\r\n onKeyPress={(event) => {\r\n var alpha = /^\\d*\\.?\\d*$/;\r\n if (!alpha.test(event.key)) {\r\n event.preventDefault();\r\n }\r\n else {\r\n return true;\r\n }\r\n }}\r\n onBlur={(e) => {\r\n var val = this.state.Other1Amount;\r\n if (e.target.value && e.target.value.startsWith('$') && !e.target.value.includes('.')) {\r\n val = val + '.00';\r\n }\r\n else if (e.target.value && e.target.value.startsWith('$') && e.target.value.includes('.')) {\r\n var spl = e.target.value.split(\".\");\r\n if (spl[1].length == 0) {\r\n val = val + '00';\r\n }\r\n\r\n if (spl[1].length == 1) {\r\n val = val + '0';\r\n }\r\n }\r\n this.setState({\r\n Other1Amount: val\r\n });\r\n }}\r\n />\r\n \r\n {\r\n this.setState({\r\n Other1Check: e.target.checked,\r\n Other1Wire: !e.target.checked\r\n })\r\n }}\r\n />\r\n \r\n {\r\n this.setState({\r\n Other1Wire: e.target.checked,\r\n Other1Check: !e.target.checked\r\n })\r\n }}\r\n />\r\n
    Loan Amount\r\n { this.setState({ LoanAmount: e.target.value }); }}\r\n onKeyPress={(event) => {\r\n var alpha = /^\\d*\\.?\\d*$/;\r\n if (!alpha.test(event.key)) {\r\n event.preventDefault();\r\n }\r\n else {\r\n return true;\r\n }\r\n }}\r\n onBlur={(e) => {\r\n var val = this.state.LoanAmount;\r\n if (e.target.value && e.target.value.startsWith('$') && !e.target.value.includes('.')) {\r\n val = val + '.00';\r\n }\r\n else if (e.target.value && e.target.value.startsWith('$') && e.target.value.includes('.')) {\r\n var spl = e.target.value.split(\".\");\r\n if (spl[1].length == 0) {\r\n val = val + '00';\r\n }\r\n\r\n if (spl[1].length == 1) {\r\n val = val + '0';\r\n }\r\n }\r\n this.setState({\r\n LoanAmount: val\r\n });\r\n }}\r\n />\r\n \r\n \r\n
    \r\n
    \r\n { this.setState({ Notes: e.target.value }); }}\r\n style={{ width: '300px', height: '280px', marginLeft: '15px', resize: 'none' }}\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 this.save(1);\r\n }}>\r\n Save\r\n \r\n
    \r\n
    \r\n
    \r\n )\r\n }\r\n}","import http from \"../http-common\";\r\nimport authService from '../components/api-authorization/AuthorizeService';\r\n\r\nclass UploadFilesService {\r\n async upload(file, documentTypeId, continueToken, notes, onUploadProgress) {\r\n //const token = await authService.getAccessToken();\r\n let formData = new FormData();\r\n formData.append(\"file\", file);\r\n formData.append(\"documentTypeId\", documentTypeId);\r\n formData.append(\"continueToken\", continueToken);\r\n formData.append(\"notes\", notes);\r\n formData.append(\"isApplicantUpload\", true);\r\n return http.post(\"uploadpublic/uploadfilePublic\", formData, {\r\n headers: {\r\n \"Content-Type\": \"multipart/form-data\",\r\n //\"Authorization\": `Bearer ${token}`\r\n },\r\n onUploadProgress,\r\n });\r\n }\r\n async getFiles(continueToken) {\r\n //const token = await authService.getAccessToken();\r\n return http.get(\"uploadpublic/getfilesPublic?id=\" + continueToken + \"&isApplicantUpload=true\", {\r\n headers: {\r\n //\"Authorization\": `Bearer ${token}`\r\n }\r\n });\r\n }\r\n\r\n async getDocumentTypes() {\r\n //const token = await authService.getAccessToken();\r\n return http.get(\"uploadpublic/GetApplicantUploadDocumentTypes\", {\r\n headers: {\r\n //\"Authorization\": `Bearer ${token}`\r\n }\r\n });\r\n }\r\n}\r\nexport default new UploadFilesService();","import React, { Component } from \"react\";\r\nimport UploadService from \"../services/upload.applicant.service\";\r\nimport './layout/site.css';\r\nimport { IoTrashOutline } from 'react-icons/io5';\r\nimport Modal from 'react-modal';\r\n\r\nexport default class UploadApplicantFiles extends Component {\r\n constructor(props) {\r\n super(props);\r\n\r\n this.state = {\r\n selectedFiles: undefined,\r\n progressInfos: [],\r\n message: [],\r\n fileInfos: [],\r\n trashColor: '#000',\r\n documentTypes: [],\r\n DocumentTypeId: 0\r\n };\r\n\r\n this.selectFile = this.selectFile.bind(this);\r\n this.uploadFiles = this.uploadFiles.bind(this);\r\n this.fileInputRef = React.createRef()\r\n }\r\n\r\n componentDidMount() {\r\n UploadService.getDocumentTypes()\r\n .then((response) => {\r\n this.setState({\r\n documentTypes: response.data,\r\n }, function () {\r\n this.loadUploadFiles();\r\n });\r\n });\r\n }\r\n\r\n loadUploadFiles() {\r\n UploadService.getFiles(this.props.ContinueToken).then((response) => {\r\n this.setState({\r\n fileInfos: response.data\r\n });\r\n });\r\n }\r\n\r\n componentDidUpdate(prevProps) {\r\n if (prevProps.ContinueToken !== this.props.ContinueToken) {\r\n UploadService.getFiles(this.props.ContinueToken).then((response) => {\r\n this.setState({\r\n fileInfos: response.data,\r\n selectedFiles: undefined,\r\n DocumentTypeId: 0\r\n });\r\n });\r\n }\r\n }\r\n\r\n selectFile(event) {\r\n this.setState({\r\n progressInfos: [],\r\n selectedFiles: event.target.files,\r\n });\r\n }\r\n\r\n uploadFiles() {\r\n const selectedFiles = this.state.selectedFiles;\r\n const documentTypeId = this.state.DocumentTypeId;\r\n\r\n let _progressInfos = [];\r\n for (let i = 0; i < selectedFiles.length; i++) {\r\n _progressInfos.push({ percentage: 0, fileName: selectedFiles[i].name });\r\n }\r\n this.setState(\r\n {\r\n progressInfos: _progressInfos,\r\n message: [],\r\n },\r\n () => {\r\n for (let i = 0; i < selectedFiles.length; i++) {\r\n this.upload(i, selectedFiles[i], documentTypeId, this.props.ContinueToken, this.state.Notes);\r\n }\r\n }\r\n );\r\n }\r\n\r\n upload(idx, file, documentTypeId, continueToken, notes) {\r\n let _progressInfos = [...this.state.progressInfos];\r\n UploadService.upload(file, documentTypeId, continueToken, notes, (event) => {\r\n _progressInfos[idx].percentage = Math.round((100 * event.loaded) / event.total);\r\n this.setState({\r\n _progressInfos,\r\n });\r\n })\r\n .then((response) => {\r\n this.setState((prev) => {\r\n let nextMessage = [...prev.message, \"Uploaded the file successfully: \" + file.name];\r\n return {\r\n message: nextMessage\r\n };\r\n });\r\n return UploadService.getFiles(continueToken);\r\n\r\n })\r\n .then((files) => {\r\n this.setState({\r\n fileInfos: files.data,\r\n });\r\n })\r\n .catch(() => {\r\n _progressInfos[idx].percentage = 0;\r\n this.setState((prev) => {\r\n let nextMessage = [...prev.message, \"Could not upload the file: \" + file.name];\r\n return {\r\n progressInfos: _progressInfos,\r\n message: nextMessage\r\n };\r\n });\r\n })\r\n .finally(() => {\r\n setTimeout(() => {\r\n this.setState({\r\n selectedFiles: undefined,\r\n progressInfos: [],\r\n message: [],\r\n DocumentTypeId: 0,\r\n Notes: ''\r\n }, function () {\r\n this.fileInputRef.current.value = \"\"\r\n });\r\n }, 5000);\r\n });\r\n }\r\n\r\n deleteUpload(id) {\r\n this.setState({ uploadId: id, showModal: true });\r\n }\r\n\r\n async deleteUploadedDocument() {\r\n this.setState({ showModal: false });\r\n //const token = await authService.getAccessToken();\r\n var id = this.state.uploadId;\r\n\r\n var response = await fetch('uploadpublic/DeleteUploadFilePublic?id=' + id, {\r\n method: 'GET',\r\n headers: { 'Content-Type': 'application/json' }\r\n })\r\n .then((response) => {\r\n UploadService.getFiles(this.props.ContinueToken).then((files) => {\r\n this.setState({\r\n fileInfos: files.data,\r\n DocumentTypeId: 0\r\n });\r\n });\r\n });\r\n }\r\n\r\n render() {\r\n const { selectedFiles, progressInfos, message, fileInfos, documentTypes } = this.state;\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 Document Type\r\n \r\n {\r\n this.setState({ DocumentTypeId: e.target.value });\r\n }}\r\n style={{ width: '288px' }}\r\n >\r\n \r\n {documentTypes && documentTypes.map((item, idx) =>\r\n \r\n )}\r\n \r\n
    \r\n Notes\r\n \r\n {\r\n this.setState({ Notes: e.target.value })\r\n }}\r\n value={this.state.Notes}\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 {progressInfos &&\r\n progressInfos.map((progressInfo, index) => (\r\n
    \r\n {progressInfo.fileName}\r\n
    \r\n \r\n {progressInfo.percentage}%\r\n
    \r\n
    \r\n \r\n ))}\r\n
    \r\n \r\n \r\n \r\n Upload\r\n \r\n
    \r\n
    \r\n {message.length > 0 && (\r\n
    \r\n
      \r\n {message.map((item, i) => {\r\n return
    • {item}
    • ;\r\n })}\r\n
    \r\n
    \r\n )}\r\n
    \r\n
    \r\n
    Your Documents
    \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 this.state.fileInfos.length > 0 ?\r\n fileInfos && fileInfos.map((file, index) =>\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 File Name\r\n \r\n Document Type\r\n \r\n Notes\r\n \r\n Date/Time Uploaded\r\n
    \r\n \r\n \r\n {file.filename}\r\n \r\n {file.dtName}\r\n \r\n {file.notes}\r\n \r\n {file.dateUploaded}\r\n \r\n this.deleteUpload(file.id)}\r\n />\r\n
    \r\n No Uploads Found\r\n
    \r\n
    \r\n
    \r\n this.setState({ showModal: false })}\r\n className=\"et-modal\"\r\n contentLabel=\"Delete Upload\"\r\n overlayClassName=\"Overlay\"\r\n >\r\n
    \r\n
    Delete the uploaded document?
    \r\n
    \r\n
    \r\n this.setState({ showModal: false })}\r\n >\r\n No\r\n \r\n this.deleteUploadedDocument()}\r\n >\r\n Yes\r\n \r\n
    \r\n \r\n
    \r\n
    \r\n );\r\n }\r\n}","import React, { Component } from 'react';\r\nimport { _fetch } from './_fetch';\r\nimport { Spinner } from 'reactstrap';\r\nimport UploadPublic from \"./upload.applicant.component\";\r\n\r\nexport class ApplicantUpload extends Component {\r\n constructor(props) {\r\n super(props);\r\n\r\n this.state = {\r\n loading: false,\r\n ContinueToken: undefined,\r\n CreditApplicationId: undefined,\r\n authenticated: false,\r\n showToast: false,\r\n toastMessage: ''\r\n }\r\n }\r\n\r\n componentDidMount() {\r\n var authenticated = (sessionStorage.getItem(\"AUTH_35678hsysla\") === 'true');\r\n var continueToken = sessionStorage.getItem(\"ContinueToken\");\r\n var firstName = sessionStorage.getItem(\"FirstName\");\r\n var lastName = sessionStorage.getItem(\"LastName\");\r\n\r\n this.setState({\r\n authenticated: authenticated,\r\n ContinueToken: continueToken,\r\n FirstName: firstName,\r\n LastName: lastName\r\n });\r\n }\r\n\r\n identifyApplicant() {\r\n try {\r\n var errors = [];\r\n\r\n if (this.state.LastName === undefined || this.state.LastName?.length === 0) {\r\n errors.push(\"Last Name\")\r\n }\r\n if (this.state.Last4SSN === undefined || this.state.Last4SSN?.length === 0 || this.state.Last4SSN?.length < 4) {\r\n errors.push(\"Last 4 of SSN\")\r\n }\r\n if (this.state.ZipCode === undefined || this.state.ZipCode?.length === 0 || this.state.ZipCode?.length < 5) {\r\n errors.push(\"Zip Code\")\r\n }\r\n\r\n if (errors.length === 0) {\r\n this.setState({ authenticated: false, loading: true, toastItems: undefined });\r\n\r\n var fetch = _fetch();\r\n\r\n fetch.post(\"/CreditApplicationPublic/IdentifyApplicant\", this.state)\r\n .then((response) => {\r\n if (response) {\r\n if (response.authenticated === true) {\r\n sessionStorage.setItem(\"AUTH_35678hsysla\", true);\r\n sessionStorage.setItem(\"ContinueToken\", response.continueToken);\r\n sessionStorage.setItem(\"FirstName\", response.firstName);\r\n sessionStorage.setItem(\"LastName\", response.lastName);\r\n this.setState({\r\n authenticated: true,\r\n loading: false,\r\n ContinueToken: response.continueToken,\r\n FirstName: response.firstName,\r\n LastName: response.lastName\r\n });\r\n }\r\n else {\r\n this.setState({\r\n authenticated: false,\r\n toastText: 'No record matches the information provided. Please check your information and try again.',\r\n loading: false,\r\n showToast: true,\r\n });\r\n }\r\n }\r\n });\r\n }\r\n else {\r\n this.setState({\r\n authenticated: false,\r\n toastText: 'The following required fields are invalid or empty:',\r\n listItems: errors,\r\n loading: false,\r\n showToast: true,\r\n });\r\n }\r\n }\r\n catch {\r\n this.setState({ authenticated: false, loading: false });\r\n }\r\n }\r\n\r\n render() {\r\n return (\r\n
    \r\n
    \r\n {this.state.loading === true ?\r\n
    \r\n \r\n
    \r\n : null\r\n }\r\n {this.state.authenticated ?\r\n
    \r\n
    \r\n
    Hello {this.state.FirstName} {this.state.LastName}
    \r\n
    Please use the fields below to upload your files.
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n :\r\n
    \r\n
    Please provide the information in the fields below so we can verify your identity.
    \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 \r\n \r\n \r\n
    Last Name\r\n this.setState({ LastName: e.target.value, showToast: false })} autoFocus>\r\n
    Last 4 of SSN\r\n this.setState({ Last4SSN: e.target.value?.toString(), showToast: false })}\r\n onKeyDown={(e) => {\r\n var val = e.target.value;\r\n if (val == undefined) val = \"\";\r\n\r\n if (val.length == 4 && e.key != 'Backspace' && e.key != 'Tab') e.preventDefault();\r\n }}>\r\n \r\n
    Zip Code\r\n this.setState({ ZipCode: e.target.value?.toString(), showToast: false })}\r\n onKeyDown={(e) => {\r\n var val = e.target.value;\r\n if (val == undefined) val = \"\";\r\n\r\n if (val.length == 5 && e.key != 'Backspace' && e.key != 'Tab') e.preventDefault();\r\n }}>\r\n \r\n
    \r\n {\r\n this.setState({ listItems: [] })\r\n this.identifyApplicant();\r\n }}>\r\n Submit\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n {this.state.listItems && this.state.listItems?.length > 0 ?\r\n
    \r\n
      \r\n {this.state.listItems?.map((item, idx) =>
    • {item}
    • )}\r\n
    \r\n
    \r\n : null}\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 sessionStorage.removeItem(\"AUTH_35678hsysla\");\r\n sessionStorage.removeItem(\"ContinueToken\");\r\n sessionStorage.removeItem(\"FirstName\");\r\n sessionStorage.removeItem(\"LastName\");\r\n window.location.href = 'https://fairwindfinancial.com/';\r\n }}>\r\n Close\r\n \r\n
    \r\n
    \r\n
    \r\n )\r\n }\r\n}\r\n\r\n","import React, { Component } from 'react';\r\nimport { Route } from 'react-router';\r\nimport { AppBody } from './components/AppBody';\r\nimport { Home } from './components/Home';\r\nimport { FetchData } from './components/FetchData';\r\nimport { Counter } from './components/Counter';\r\nimport AuthorizeRoute from './components/api-authorization/AuthorizeRoute';\r\nimport ApiAuthorizationRoutes from './components/api-authorization/ApiAuthorizationRoutes';\r\nimport { ApplicationPaths } from './components/api-authorization/ApiAuthorizationConstants';\r\nimport { Roles } from './components/admin/Roles';\r\nimport { CreateRole } from './components/admin/CreateRole';\r\nimport { AccessDenied } from './components/util/AccessDenied';\r\nimport './custom.css'\r\nimport { Users } from './components/admin/Users';\r\nimport { Clients } from './components/admin/Clients';\r\nimport { RoleDetails } from './components/admin/RoleDetails';\r\nimport { UserDetails } from './components/admin/UserDetails';\r\nimport { CreateClient } from './components/admin/CreateClient';\r\nimport { ClientDetails } from './components/admin/ClientDetails';\r\nimport { Admin } from './components/admin/Admin';\r\nimport { CreditApplicationStep1 } from './components/CreditApplicationStep1';\r\nimport { CreditApplicationStep2 } from './components/CreditApplicationStep2';\r\nimport { CreditApplicationStep3 } from './components/CreditApplicationStep3';\r\nimport { LoanApplicationStep1 } from './components/LoanApplicationStep1';\r\nimport { LoanApplicationStep2 } from './components/LoanApplicationStep2';\r\nimport { LoanApplicationStep3 } from './components/LoanApplicationStep3';\r\nimport { Reporting } from './components/Reporting';\r\nimport { CreditApplicationReceived } from './components/CreditApplicationReceived';\r\nimport { PersonalFinancialStatement } from './components/PersonalFinancialStatement';\r\nimport { SellerInformation } from './components/SellerInformation';\r\nimport { ApplicantPersonalFinancialStatement } from './components/ApplicantPersonalFinancialStatement';\r\nimport { LoanApplicationReceived } from './components/LoanApplicationReceived';\r\nimport { DocumentVault } from './components/DocumentVault';\r\nimport { Vessel } from './components/Vessel';\r\nimport { Lender } from './components/Lender';\r\nimport { ApplicantUpload } from './components/ApplicantUpload';\r\n\r\nexport default class App extends Component {\r\n static displayName = App.name;\r\n\r\n render() {\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\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","import 'bootstrap/dist/css/bootstrap.css';\r\nimport React from 'react';\r\nimport ReactDOM from 'react-dom';\r\nimport { BrowserRouter } from 'react-router-dom';\r\nimport App from './App';\r\n//import registerServiceWorker from './registerServiceWorker';\r\nimport 'font-awesome/css/font-awesome.min.css';\r\n\r\nconst baseUrl = document.getElementsByTagName('base')[0].getAttribute('href');\r\nconst rootElement = document.getElementById('root');\r\n\r\nReactDOM.render(\r\n \r\n \r\n ,\r\n rootElement);\r\n\r\n// Uncomment the line above that imports the registerServiceWorker function\r\n// and the line below to register the generated service worker.\r\n// By default create-react-app includes a service worker to improve the\r\n// performance of the application by caching static assets. This service\r\n// worker can interfere with the Identity UI, so it is\r\n// disabled by default when Identity is being used.\r\n//\r\n//registerServiceWorker();\r\n\r\n"],"sourceRoot":""}