{"version":3,"sources":["modules/analysis/sidebar/sidebar.module.css","modules/risk-profile/risk-profile.module.css","components/common/header/header.module.css","components/aboutyou/aboutyou.module.css","modules/get-started/getStarted.module.css","modules/risk-profile/risk-overlay/risk-result-overlay.module.css","components/common/footer/footer.module.css","components/common/menuBar/menubar.module.css","modules/goals/sidebar/sidebar.module.css","history.ts","reportWebVitals.ts","contexts/app/app.constant.ts","contexts/app/app.context.reducer.ts","contexts/app/app.context.tsx","components/common/modal/modal.component.tsx","components/common/button/button.tsx","components/common/footer/terms.component.tsx","components/common/footer/disclosure.component.tsx","components/common/footer/privacy.component.tsx","components/common/footer/footer.component.tsx","apis/api.client.ts","lib/das-api/api/preference.service.ts","lib/das-api/api/resources.service.ts","lib/das-api/model/containerName.ts","lib/das-api/api/lead.service.ts","lib/das-api/model/imageSize.ts","constants/storage.constant.ts","lib/das-api/api/applicationState.service.ts","models/lead-category-enum.ts","constants/data.constant.ts","lib/das-api/model/goalTypeEnum.ts","helpers/goal.helper.ts","apis/goals.api.ts","apis/app.api.ts","helpers/pagehelper.ts","apis/lead.api.ts","components/hoc/with-rx.tsx","modules/get-started/Images/images2.png","modules/get-started/Images/image3.png","helpers/resource.helper.ts","components/common/full-page-loader/fullPageLoader.tsx","helpers/analysis.helper.ts","modules/get-started/get-started.container.ts","modules/get-started/get-started.component.tsx","modules/get-started/Images/secondImg.png","modules/get-started/Images/thirdImg.png","modules/get-started/Images/financialJourney.png","modules/get-started/Images/check.png","helpers/formathelper.tsx","helpers/ellipsistext.tsx","helpers/model.helper.ts","contexts/lead/lead.constant.ts","contexts/lead/lead.context.reducer.ts","contexts/goal/goal.constant.ts","contexts/goal/goal.context.reducer.ts","contexts/goal/goal.context.tsx","contexts/lead/lead.context.tsx","components/common/sidebar/sidebar.component.tsx","helpers/storage.helper.ts","components/aboutyou/aboutyou.container.ts","components/aboutyou/aboutyou.component.tsx","modules/goals/sidebar/sidebar-list.component.tsx","modules/goals/sidebar/sidebar.component.tsx","modules/goals/sidebar/invest-target-sidebar.component.tsx","components/common/tooltip/tip.svg","components/common/tooltip/tooltip.component.tsx","modules/goals/goals.container.ts","modules/goals/goals.component.tsx","modules/errorPage/errorPage.component.tsx","modules/errorPage/assets/error.png","lib/das-api/api/risk.service.ts","apis/risk.api.ts","contexts/risk/risk.constant.ts","contexts/risk/risk.context.reducer.ts","helpers/risk.helper.ts","contexts/risk/risk.context.tsx","modules/risk-profile/side-bar/sidebar-list.component.tsx","modules/risk-profile/side-bar/sidebar.component.tsx","modules/risk-profile/images/greenLegend.svg","modules/risk-profile/images/blueLegend.svg","modules/risk-profile/images/risk-result-1.svg","modules/risk-profile/images/risk-result-2.svg","modules/risk-profile/images/risk-result-3.svg","modules/risk-profile/images/risk-result-4.svg","modules/risk-profile/images/risk-result-5.svg","modules/risk-profile/images/risk-result-6.svg","modules/risk-profile/risk-overlay/risk-result-overlay.tsx","modules/risk-profile/risk-profile.container.tsx","modules/risk-profile/risk-profile.component.tsx","components/common/menuBar/menulist.component.tsx","images/aboutYou.png","images/successWhite.png","components/common/header/header.component.tsx","components/common/menuBar/menuBar.container.ts","components/common/menuBar/menuBar.component.tsx","images/goals.png","images/riskProfile.png","images/reviewPlan.png","modules/analysis/sidebar/sidebar.component.tsx","modules/analysis/tooltip/tooltip.component.tsx","modules/analysis/images/call.png","modules/analysis/images/msg.png","constants/print.constant.ts","helpers/print.helper.ts","components/common/pdf-modal/pdf-modal.component.tsx","lib/das-api/api/advisorContract.service.ts","lib/das-api/api/report.service.ts","lib/das-api/model/stampType.ts","apis/analysis.api.ts","lib/das-api/model/stampLocationType.ts","modules/analysis/analysis.component.tsx","modules/analysis/analysis.container.ts","modules/spinner/spinner.container.ts","modules/spinner/spinner.component.tsx","modules/app/app.component.tsx","lib/user-api/user.service.ts","apis/user.api.ts","constants/api.constant.ts","modules/app/app.container.tsx","index.tsx","components/common/sidebar/sidebar.module.css","modules/analysis/tooltip/tooltip.module.css","components/common/modal/modal.module.css","modules/goals/goals.module.css","modules/risk-profile/side-bar/sidebar.module.css","components/common/pdf-modal/pdf-modal.module.css","modules/errorPage/errorPage.module.css","modules/analysis/analysis.module.css","components/common/tooltip/tooltip.module.css"],"names":["module","exports","history","createBrowserHistory","basename","reportWebVitals","onPerfEntry","Function","then","_ref","getCLS","getFID","getFCP","getLCP","getTTFB","APP_ADVISOR","APP_APPLICATION_STATE","APP_SPINNER","initialState","isAppLoaded","showSpinner","advisorKey","user","defaultRole","none","isImpersonated","roles","userID","firstName","lastName","middleName","preferredName","applicationState","investorStrategyId","investorId","goalId","lastPageVisited","feeId","wordMark","advisorLogo","isLogoPreferred","agentId","agentName","companyName","isDiscretionary","customProposalIntroductionText","channelRequireGfamSuitability","defaultIntroductionText","address","phoneNumber","advisorPhoto","loadUser","loadApplicationState","appState","setShowSpinner","show","appContextReducer","state","action","type","payload","Error","AppStateContext","React","AppContextProvider","children","dispatch","values","_jsx","Provider","value","useApp","context","undefined","displayName","Modal","props","className","styles","overlayFixed","role","_jsxs","overlayFlex","overlayFixedInset","overlayBg","fontRoboto","overlayBgBlue","overlayTitle","title","closeBtn","onClick","onCloseModalClick","overlayBody","overlayBodyText","id","body","Button","name","text","disabled","classes","Terms","urlToFetchTermsOfUseData","window","location","origin","style","height","width","paddingBottom","marginLeft","allowFullScreen","src","onLoad","hideButtons","_document","_iframe$contentWindow","iframe","document","querySelector","parentDiv","contentWindow","getElementById","display","head","innerHTML","classList","add","btnFlex","onPrintModalClick","printBtn","Disclosure","urlToFetchSupportedBrowsersContent","iframeContent","Privacy","leadPrivacy","anchorContainer","href","target","rel","sb_browser_link","FooterComponent","privacyModal","setPrivacyModal","termModal","setTermModal","disclouserModal","setDisclouserModal","togglePrivacyModal","toggleTermModal","toggleDisclouserModal","printPolicyData","printContents","newWindow","open","write","close","focus","print","printTermData","frame","printDisclouserData","footerBg","containerClass","footerFlex","footerLinkPrivacy","footerLinkTerm","footerLinkSupprtedBrower","footerCopyText","Date","getFullYear","footer","application$","RoutingUtils","route$","run","map","route","pathname","startsWith","toProperty","baseClient","baseHref","client$","create","error$","switchMap","client","RequestMethod","request","take","get","url","query","post","put","remove","createLeadAPIClient","DasApiClient","UserApiClient","apiClientsErrors$","PreferenceService","_PreferenceService","apiDasV1PreferenceAgentAgentIdAdvisorphotoDelete","customHeaders","arguments","length","path","encodeURIComponent","String","replace","queryParams","filter","param","ObjectUtils","isNotNullable","key","join","ajaxRequest","concat","method","headers","ApiClient","getUrlForapiDasV1PreferenceAgentAgentIdAdvisorphotoDelete","apiDasV1PreferenceAgentAgentIdAdvisorphotoPost","file","apiUrl","Object","assign","getUrlForapiDasV1PreferenceAgentAgentIdAdvisorphotoPost","apiDasV1PreferenceAgentAgentIdPagesettingGet","getUrlForapiDasV1PreferenceAgentAgentIdPagesettingGet","apiDasV1PreferenceAgentAgentIdPreferencesPost","getUrlForapiDasV1PreferenceAgentAgentIdPreferencesPost","ResourcesService","_ResourcesService","apiDasV1ResourcesDownloadlogoGet","logoPath","getUrlForapiDasV1ResourcesDownloadlogoGet","apiDasV1ResourcesGet","getUrlForapiDasV1ResourcesGet","apiDasV1ResourcesImagesGet","containerName","imageSizeType","index","getUrlForapiDasV1ResourcesImagesGet","apiDasV1ResourcesIntroductionGetstartedGet","getUrlForapiDasV1ResourcesIntroductionGetstartedGet","LeadService","ContainerName","ImageSize","_LeadService","apiDasV1LeadAlertsGet","getUrlForapiDasV1LeadAlertsGet","apiDasV1LeadAlertsPut","getUrlForapiDasV1LeadAlertsPut","apiDasV1LeadGet","leadSearchText","advisorId","paginationFilterPageNumber","paginationFilterPageSize","clientStatusFilter","getUrlForapiDasV1LeadGet","apiDasV1LeadGoalsGoalIdGet","getUrlForapiDasV1LeadGoalsGoalIdGet","apiDasV1LeadLeadIdDelete","leadId","getUrlForapiDasV1LeadLeadIdDelete","apiDasV1LeadLeadIdGet","getUrlForapiDasV1LeadLeadIdGet","apiDasV1LeadLeadIdLeadprofilesQuestionsQuestionnaireIdGet","questionnaireId","getUrlForapiDasV1LeadLeadIdLeadprofilesQuestionsQuestionnaireIdGet","apiDasV1LeadLeadIdLeadprofilesQuestionsQuestionnaireIdPut","getUrlForapiDasV1LeadLeadIdLeadprofilesQuestionsQuestionnaireIdPut","apiDasV1LeadLeadIdLeadstrategiesLeadStrategyIdApplicationstatePost","leadStrategyId","getUrlForapiDasV1LeadLeadIdLeadstrategiesLeadStrategyIdApplicationstatePost","apiDasV1LeadLeadIdLeadstrategiesLeadStrategyIdGet","getUrlForapiDasV1LeadLeadIdLeadstrategiesLeadStrategyIdGet","apiDasV1LeadLeadIdLeadstrategiesLeadStrategyIdGoalGoalIdPut","getUrlForapiDasV1LeadLeadIdLeadstrategiesLeadStrategyIdGoalGoalIdPut","apiDasV1LeadLeadIdLeadstrategiesLeadStrategyIdGoalPost","getUrlForapiDasV1LeadLeadIdLeadstrategiesLeadStrategyIdGoalPost","apiDasV1LeadLeadIdLeadstrategiesLeadStrategyIdPut","getUrlForapiDasV1LeadLeadIdLeadstrategiesLeadStrategyIdPut","apiDasV1LeadLeadIdProspectPost","getUrlForapiDasV1LeadLeadIdProspectPost","apiDasV1LeadLeadIdPut","getUrlForapiDasV1LeadLeadIdPut","apiDasV1LeadLeadStrategyIdRiskGet","getUrlForapiDasV1LeadLeadStrategyIdRiskGet","apiDasV1LeadLeadStrategyLeadStrategyIDAccountDetailsGet","leadStrategyID","getUrlForapiDasV1LeadLeadStrategyLeadStrategyIDAccountDetailsGet","apiDasV1LeadOtherincomesourcetypesGet","getUrlForapiDasV1LeadOtherincomesourcetypesGet","apiDasV1LeadPost","getUrlForapiDasV1LeadPost","apiDasV1LeadStatusGet","getUrlForapiDasV1LeadStatusGet","ADVISOR_ID_KEY","LEAD_ID_KEY","LEAD_STRATEGY_ID_KEY","ABOUT_YOU_KEY","LEAD_APP_STATE","GOAL_KEY","GOAL_ID_KEY","EXTERNAL_USER_ID","ApplicationStateService","_ApplicationStateService","apiDasV1ApplicationStateAgentIdAdvisorlogoGet","getUrlForapiDasV1ApplicationStateAgentIdAdvisorlogoGet","apiDasV1ApplicationStateGet","otherInvestmentsOptions","getUrlForapiDasV1ApplicationStateGet","apiDasV1ApplicationStatePost","getUrlForapiDasV1ApplicationStatePost","LeadCategory","defaultLeadProfile","leadProfileId","fullName","emailAddress","age","createdDate","leadStrategy","defaultProfileData","Investor","FirstName","LastName","EmailAddress","Age","investmentInfo","InvestmentAmount","investmentReason","page","defaultGoalsProfile","goalTypeId","investmentAmount","targetGrowthAmount","targetGoalYear","monthlyIncome","monthlyIncomeToRetirePercent","netRetirementMonthlyIncome","leadOtherRetirementIncome","savingsCurrent","annualSavings","birthYear","lifeExpectancy","inflation","investmentTypeEnum","GoalTypeEnum","EGoalType","goalTypeEnum","GetGoalTypeDisplayText","EGoalTypeKey","returnItem","enumType","Number","Retirement","GeneralSavings","Unknown","parseTGoalToTAddUpdateGoal","currentRoute","goal","goalType","GoalType","retirementAge","TargetAmount","TargetYear","MonthlyIncome","MonthlyIncomeToRetirePercent","SavingsCurrent","AnnualSavings","BirthYear","otherRetirementIncomes","OtherRetirementIncomes","o","otherRetirementIncomeID","Id","toString","incomeSourceTypeId","IncomeSourceTypeId","NetRetirementMonthlyIncome","Amount","LifeExpectancy","Inflation","parseGoalTypeToEnum","getModelPerformanceInput","amount","accountValue","clientFeeId","getOrElse","custodianId","houseHoldAmount","modelAplId","NoGoal","GoalsApi","AppApi","_GoalsApi","redirectToPage$","BehaviorSubject","goalsData$","parseGoalRequest","getSavedGoalsData$","asObservable","removeLeadGoalDataFromContext","next","saveLeadGoalDataToLocal","lead","doRD","data","LocalStorageUtils","setItem","LeadApi","updateLastVisitedPage","SetGoal","mapRD","parseGoals","subscribe","isSuccess","addLeadGoal","showSpinner$","updateLeadGoal","modelPerformanceInput","updatedGoal","ot","fromNullable","_AppApi","advisorId$","leadStrategiesData$","isAuthCallComplete$","spinner$","RemoteDataUtils","initial","leadGoalsData$","getSavedLeadStrategiesData$","getGoalsData$","getNextPageToRedirect$","getAppStateData","parseAppState","shareReplay","of","getSavedLeadProfileData","appStateData$","parseLead","getSavedLeadStrategiesData","parseLeadStrategy","isNone","failure","success","getLeadStrategies$","getLeadProfile$","getItem","savedAdvisortId","toLowerCase","getLeadGoals$","getGoalsData","agId","savedGoalId","do","sync$","merge","app","parseAddress","city","line1","line2","line3","postalCode","getRedirectPage","lastVisitedPage","getLastVisitedPageCategory","investorNavState","aboutYouVisited","goalsVisited","riskVisited","analysisVisited","YourAnalysis","RiskProfile","ClientProfile","getLastVisitedPage","toBoLastPage","numeriLeadCategory","numCurrentPage","leadState","isSome","numLastPage","WEALTHBUILDER_PREVIEW_GetStarted_Image1","WEALTHBUILDER_PREVIEW_GetStarted_Image2","_LeadApi","leadProfile$","leadStrategy$","getPageSetting","getSavedLeadProfile$","getSavedLeadStrategy$","image1","image2","getStartedImages","screenSize","imageSize","Medium","Small","Large","Getstartedimages","parseImage","lastPage","pageSetting$","addLeadAbout","updateLeadAbout","updateLeadAmountAndReason","riskProfileId","img","imageUri","strategy","leadGoalId","modifiedDate","some","ArrayUtils","empty","hoistNonReactStatics","require","withRxJs","Target","selector","options","WithRX","PureComponent","constructor","props$","this","selected","inputSubscription","effectsSubscription","componentDidMount","effects$","inputs","keys","pipe","merged","result","scheduler","observeOn","setState","bind","componentWillReceiveProps","componentWillUnmount","unsubscribe","render","createElement","defaultProps","getBase64ImageFromUrl","async","res","fetch","imageUrl","blob","Promise","resolve","reject","reader","FileReader","addEventListener","onerror","readAsDataURL","getAzureResource","URL","createObjectURL","FullPageLoader","getAdvisorDetails","proposalLogo","fold","company","isLogoPrefered","advisorName","getLogoPath","logo","split","encodeURI","GetStartedContainer","imagesUrl","imgOne","setImgOne","useState","imgTwo","setImgTwo","imgAdvisorLogo","setImgAdvisorLogo","useEffect","imageUrl1","d","imageUrl2","scndImage","thrdImage","innerWidth","seconfImg","thirdImg","startBlock","imageContainer","firstcontent","plan","enjoy","invest","tell","start","Link","to","firstImage","finance","val","financeMessageContainer","tick","message","secondImg","access","accessInfo","lastImageContainer","built","builtInfo","lastStart","lastImage","footerStyle","images$","imagesUrl$","combineLatestRD","_images$find","_images$find2","selectedImage","images","find","pageSetting","currencyFormatter","decimalPlaces","parseFloat","toFixed","convertStringtoDollarString","EllipsisText","tail","tailClassName","others","textTail","textTailClassName","displayText","tailStyle","cursor","slice","parseGoalTypeEnum","parseProfileResposeToIProfile","LEAD_SCREEN","LEAD_PROFILE","UPDATE_LEAD_DATA","UPDATE_NAV_STATE","LEAD_RETIREMENT_AGE","LEAD_MONTHLY_INCOME","LEAD_RETIREMENT_INCOME","LEAD_ANNUAL_SAVING","LEAD_INVESTER_TARGET","updateLeadData","screen","setScreen","leadProfile","setLeadProfile","profile","goalsActiveState","updateNavState","goals","setGoals","setSkipGoal","updateAboutYouState","leadContextReducer","newState","calculatedBirthYear","targetYear","UPDATE_GOAL_DATA","GOAL_goalId","GOAL_Amount","GOAL_GoalType","GOAL_TargetAmount","GoalId","updateGoalData","updateGoalId","goalAmount","goalGoalType","goalTargetAmount","goalBirthYear","year","goalContextReducer","GoalStateContext","GoalContextProvider","storageGoalId","copyGoals","v","parseOtherIncome","useGoal","LeadStateContext","LeadContextProvider","returnPayload","_profile$investmentIn","info","l","useLead","SideBarComponent","activeState","subM","active","noactive","sideMenu","sideMenuNavBar","rowFlex","tabText","clearLocalData","removeItem","getRiskProfileId","AboutYouContainer","leadData","onAddUpdateName","onAddUpdateAmountReason","onBackButtonClick","subModule","useParams","useHistory","leadProfileCopy","setCopy","_","investmentTypeDropdownItems","push","handleBackButton","backScreen","aboutYouContainer","colFlex","sidebar","About","e","onNextButtonClick","aplId","handleNextName","handleNextAmount","InvestmentReason","handleNextReason","investmentReasons","buttonLabel","back","SidebarList","propsValue","activeClassName","TargetSideBarComponent","investTypeEnum","setInvestTypeEnum","typeEnum","Tooltip","heading","tooltipBox","tooltipHeading","tip","tipImg","textWrap","tooltipText","dangerouslySetInnerHTML","__html","GoalsContainer","_leadProfile$investme2","_leadProfile$investme3","goalsData","savedLeadGoalsData","onAddLeadGoal","onUpdateLeadGoal","onResetContextState","goalsDataFromState","setGoalsDataFromState","_leadProfile$investme","handleOnBackButtonClick","handleAddUpdateInvestmentTarget","useCallback","tGoalRequest","skipGoalInformation","flexBox","responsiveFlexBox","_Fragment","InvestmentTarget","saveInvestmentTarget","onSkipGoal","responsiveToolTip","RetirementAge","saveRetirementAge","saveMonthlyIncome","RetirementIncome","otherIncomeSourceType","IncomeSourceType","saveRetirementIncome","AnnualContribution","saveInvestorProfile","annualAmount","ErrorPage","Styles","errorContainer","errorBlock","errorHeader","errorIcon","errorBody","RiskService","_RiskService","RiskApi","apiDasV1RiskGet","getUrlForapiDasV1RiskGet","apiDasV1RiskRiskprofilesGet","getUrlForapiDasV1RiskRiskprofilesGet","_RiskApi","riskQuestions$","leadRisk$","getRiskQuestions$","getGeneratedRiskProfile","getLeadRiskProfile$","getRiskTypeProfile","getRiskProfileData","parseRiskProfile","getAllQuesData","qusId","parseRiskQuestion","saveSelectedQuestionAnswer","parseLeadRiskResponse","leadRiskResponse","question","questionId","sequence","choices","ch","choiceId","choice","score","selectedChoiceId","raw","_raw$gainLoss","_raw$gainLoss2","_raw$gainLoss3","_raw$gainLoss4","_raw$gainLoss5","_raw$gainLoss6","_raw$gainLoss7","_raw$gainLoss8","_raw$gainLoss9","profileType","description","gainLoss","gainPercent","lossPercent","twelveMonthGainPercent","twelveMonthLossPercent","longTermAveragePercent","standardDeviationMin","standardDeviationMax","maximumDrawdown","UPDATE_RANGE_DATA","UPDATE_INVEST_RETURN_DATA","UPDATE_MAX_DECLINE_DATA","UPDATE_STOCK_MARKET_DATA","UPDATE_AGE_RANGE_DATA","UPDATE_PLANNED_DATA","emptyQuestionData","assessData","currentRiskSequence","ERiskPageType","InvestmentReturn","maximumDecline","stockMarketForecast","ageRange","plannedWithdrawal","invesetmentRangeData","riskSidebarText","investmentText","maxDeclineText","stockMarketText","ageRangeText","withdrawalText","updateRiskData","riskQusData","updateInvestmentRangeData","riskRangeData","updateRiskSidebarTextOnClick","actionPayoad","riskContextReducer","riskQustions","getQuestionsDataBySequesnce","item","getMaximumDeclineText","questionData","selectedChoice","a","percentage","Math","abs","getSelectedAgeId","ageChoices","RiskStateContext","RiskContextProvider","about","investPayload","investText","getInvestmentText","selectedChoiceIndex","findIndex","profit","maxPayload","maxText","stockPayload","stockText","getStockMarketText","agePayload","ageText","getAgeRangeText","plannedPayload","plannedText","getPlannedWithdrawalText","actionType","actionPayload","r","useRisk","RiskResultOverlay","profileId","riskProfiles","model","onReview","onRestart","calculatedRiskProfile","assetAllocImg","equity","fixedIncome","riskResult1","riskResult2","riskResult3","riskResult4","riskResult5","riskResult6","riskToleranceOverlay","overlayFlexBox","riskProfileName","overlayContent","riskResultBox","riskBoxTitle","profileRatingDescBox","profileRatingNo","profileRatingDesc","chartContainer","chartImg","alt","legentContainer","chartLegent","legendBlue","legendGreen","returnRange","riskRangeBar","progressBar","ProgressBarComponent","allSeries","seriesReturns","classTop","top","classBottom","bottom","classRect","rect","classDataLabel","datalabel","riskToeranceButton","reviewBtn","restartProfileLink","RiskProfileContainer","_leadProfile$investme4","_leadProfile$investme5","riskProfileData","loadAllQusDataData","riskQuestions","onSaveRiskQuestion","leadRisk","riskProfileComplete","setRiskProfileComplete","selectedChoices","answerId","dataTobeUpdated","forEach","riskContainer","InvestmentReturnComponent","RiskQuestionsComponent","backButtonClassName","nextButtonClassName","ret","Key","Gain","GainPercent","Loss","LossPercent","AverageReturn","AverageReturnPercent","inv","getInvestmentReturnModels","riskTypeProfile$","riskProfileData$","riskTypeProfile","QusId","AgId","MenuList","activeImg","tabActive","border","lastVisited","click","menuList","clickableList","menuListNoBorder","bgBlue","bgGray","menuIcon","menuTitle","activeArrow","activeArrowHidden","arrowTransform","HeaderComponent","linkTextBranding","brandingText","NavLink","disabledLink","event","preventDefault","flexItem","welcomeText","MenuBarContainer","updateLastPage","useLocation","setActiveTab","includes","onMenuBarClick","customNav","fullWidth","menuUl","successWhite","AnalysisSideBarComponent","currentAnnualContribution","currentAge","inflationRate","targetAmount","targetAnnualIncome","targetRetirementAge","goalAccountDetails","goalsMainTitle","leftPane","analysisDetails","goalDetails","TooltipComponent","advisorDetails","tooltiptext","tooltipBody","closeTooltip","tooltipImg","advisorImage","userImg","userName","userDeg","userPhone","callImg","userEmail","msgImg","PdfDocumentType","pdfServiceBaseUrl","pdfServiceUrl","reportType","contentType","limit","pLimit","postData","reportData","axios","Accept","responseType","PDFModal","AdvisorContractService","_AdvisorContractService","ReportService","_ReportService","apiDasV1AdvisorcontractAgentIdContactinfoGet","getUrlForapiDasV1AdvisorcontractAgentIdContactinfoGet","apiDasV1ReportSaveleadpdfLeadIdPost","getUrlForapiDasV1ReportSaveleadpdfLeadIdPost","AnalysisApi","StampType","StampLocationType","_AnalysisApi","goalAccountDetails$","advisorContractDetails$","savedPdfUrl$","Subject","errorSubj$","pdfError$","getRiskToleranceImages","Riskprofileimages","getFinancialImages","Youranalysisimages","getAdvisorContractDetails","getGoalDetailsForAnalysis","saveLeadPdf","pages","stampRequest","startPageNumber","idx","stampMetadata","stampType","PageNumber","stampLocationtype","StampByCoordinate","stampCoordinate","xAxis","yAxis","stampFieldID","startValue","incrementBy","skipFirstAmountOfPages","content","insertBlankPage","YourAnalysisContainer","riskToleranceImages","staticImagesUrls","getGoalDetailsOnLoad","getAdvisorContractDetailsOnLoad","saveLoadPdf","savedPdfUrl","showTooltip","setShowTooltip","base64StringArray","setBase64StringArray","selectedRiskProfilImgUrl","SetselectedRiskProfilImgUrl","staticFinancialImg1","SetstaticFinancialImg1","staticFinancialImg2","SetstaticFinancialImg2","staticFinancialImg3","SetstaticFinancialImg3","staticFinancialImg4","SetstaticFinancialImg4","advisorPhotoBase64Img","SetAdvisorPhotoBase64Img","advisorLogoBase64Img","SetAdvisorLogoBase64Img","pdfUrl","SetPdfUrl","advisorDetail","setAdvisorDetail","every","b","riskProfile","_riskToleranceImages$","_imgUrlsStatic$find","_imgUrlsStatic$find2","_imgUrlsStatic$find3","_imgUrlsStatic$find4","imgUrlsStatic","urlImg1","urlImg2","urlImg3","urlImg4","navigator","userAgent","match","maxTouchPoints","anchor","download","substr","lastIndexOf","appendChild","removeChild","handleAdvisorImage","toggleToolTip","advrPhotoBase64","LogoBase64","analysisContainer","container","goalText","contactPanel","panelTitle","btnContainer","printPageBtn","advisorPhotoBase64","advisorLogoBase64","promises","investorName","getCoverPagePdfData","requestReportDataPayload","responseContentType","pageLayout","usePageLayout","landscape","margin","left","right","documentType","CoverPageComponent","JSON","parse","stringify","getFirstPagePdfData","FirstPageComponent","getSecondPagePdfData","SecondPageComponent","getThirdPagePdfData","ThirdPageComponent","getFourthPagePdfData","FourthPageComponent","getFifthPagePdfData","FifthPageComponent","getSixthPagePdfData","SixthPageComponent","all","response","resultBlob","Blob","base64String","onload","arrayBuffer","bytes","Uint8Array","btoa","reduce","byte","fromCharCode","readAsArrayBuffer","current","error","tooltip","contectMeBtn","details","rightPane","riskProfileImgContainer","riskProfileImg","blueBorder","learnMoreBox","arrowCircle","financeImportanceContainer","lightBlue","paddingContainer","mainMsg","secondMsg","imgContainer","imgTitle","imgTitle1","staticImgBox","staticImgBox1","illusMsg","illusMsg1","messageCycle","growtImgBox","pb12","secondColorCOde","lastImgContainer","paraText","blueText","lightGrayText","lightGreenText","lstImgBox","imgRes","imgText","closePdfPopup","frameBorder","pdfStyle","imagesStatic$","SpinnerContainer","Start","useRouteMatch","onBackButtonEvent","removeEventListener","Switch","Route","component","App","isApiError","redirectToPage","savedLeadStrategiesData","savedGoalsData","isActive","setActive","console","log","isFailure","exact","UserService","UserApi","apiUserV1Get","apiVersion","getUser","memoize","chainRD","fromEither","parseUser","rights","parseRole","roleName","roleType","channelType","siebelId","pcStatus","AppRxContainer","applicationState$","user$","isAuth","toOption","u","isApiError$","err","mapTo","startWith","AppWithRouter","withRouter","AppContainer","Router","externalUserId","URLSearchParams","search","substring","requestOptions","Main","StrictMode","root","previouslySavedUserId","status","ReactDOM","catch"],"mappings":"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","file":"static/js/main.50bff017.chunk.js","sourcesContent":["// extracted by mini-css-extract-plugin\nmodule.exports = {\"leftPane\":\"sidebar_leftPane__tUksv\",\"title\":\"sidebar_title__TX5pn\",\"analysisDetails\":\"sidebar_analysisDetails__XUe4V\",\"goalDetails\":\"sidebar_goalDetails__2tCqF\",\"text\":\"sidebar_text__1kmQK\",\"value\":\"sidebar_value__2EKaG\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"colFlex\":\"risk-profile_colFlex__piCE4\",\"riskContainer\":\"risk-profile_riskContainer__2iHfL\",\"sidebar\":\"risk-profile_sidebar__1ZhVA\",\"flexBox\":\"risk-profile_flexBox__2Yb0i\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"flexItem\":\"header_flexItem__BIzwu\",\"brandingText\":\"header_brandingText__23m-2\",\"welcomeText\":\"header_welcomeText__1FETJ\",\"disabledLink\":\"header_disabledLink__UgvXY\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"colFlex\":\"aboutyou_colFlex__1rqJY\",\"aboutYouContainer\":\"aboutyou_aboutYouContainer__1kEXJ\",\"sidebar\":\"aboutyou_sidebar__12Z69\",\"sideMenu\":\"aboutyou_sideMenu__2bw1q\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"startBlock\":\"getStarted_startBlock__1BtMq\",\"imageContainer\":\"getStarted_imageContainer__z2qby\",\"firstcontent\":\"getStarted_firstcontent__1imtI\",\"logo\":\"getStarted_logo__3iQGJ\",\"plan\":\"getStarted_plan__3pBeM\",\"enjoy\":\"getStarted_enjoy__zeMQW\",\"invest\":\"getStarted_invest__Qz7H0\",\"tell\":\"getStarted_tell__2PL6w\",\"start\":\"getStarted_start__3ci8o\",\"finance\":\"getStarted_finance__2Uow7\",\"financeMessageContainer\":\"getStarted_financeMessageContainer__1EOAd\",\"tick\":\"getStarted_tick__3vG4o\",\"message\":\"getStarted_message__yPyCc\",\"access\":\"getStarted_access__gOnmx\",\"accessInfo\":\"getStarted_accessInfo__3ny2T\",\"built\":\"getStarted_built__1XKV0\",\"builtInfo\":\"getStarted_builtInfo__sun5k\",\"footerStyle\":\"getStarted_footerStyle__32MBk\",\"firstImage\":\"getStarted_firstImage__3_Pxh\",\"secondImg\":\"getStarted_secondImg__2FBaH\",\"lastImage\":\"getStarted_lastImage__1WSlb\",\"thirdImg\":\"getStarted_thirdImg__4Avmi\",\"lastStart\":\"getStarted_lastStart__5Phb5\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"riskToleranceOverlay\":\"risk-result-overlay_riskToleranceOverlay__19MxB\",\"overlayFlexBox\":\"risk-result-overlay_overlayFlexBox__1vRoL\",\"overlayTitle\":\"risk-result-overlay_overlayTitle__mpP35\",\"riskProfileName\":\"risk-result-overlay_riskProfileName__22-lX\",\"overlayContent\":\"risk-result-overlay_overlayContent__19_Vn\",\"riskResultBox\":\"risk-result-overlay_riskResultBox__1g_ai\",\"profileRating\":\"risk-result-overlay_profileRating__glOKK\",\"profileRatingNo\":\"risk-result-overlay_profileRatingNo__14SB7\",\"riskBoxTitle\":\"risk-result-overlay_riskBoxTitle__216zo\",\"profileRatingDescBox\":\"risk-result-overlay_profileRatingDescBox__3OPGq\",\"pl15\":\"risk-result-overlay_pl15__1LJdT\",\"profileRatingDesc\":\"risk-result-overlay_profileRatingDesc__WFORM\",\"chartContainer\":\"risk-result-overlay_chartContainer__1cX6s\",\"chartImg\":\"risk-result-overlay_chartImg__1PKOs\",\"legentContainer\":\"risk-result-overlay_legentContainer__3jDs9\",\"chartLegent\":\"risk-result-overlay_chartLegent__10Oxr\",\"returnRange\":\"risk-result-overlay_returnRange__1W0zF\",\"returnRangeBar\":\"risk-result-overlay_returnRangeBar__2EReH\",\"reviewBtn\":\"risk-result-overlay_reviewBtn__Ce8J4\",\"riskToeranceButton\":\"risk-result-overlay_riskToeranceButton__10B7Z\",\"riskRangeBar\":\"risk-result-overlay_riskRangeBar__-qWk6\",\"progressBar\":\"risk-result-overlay_progressBar__2SDYI\",\"restartProfileLink\":\"risk-result-overlay_restartProfileLink__2Af_E\",\"top\":\"risk-result-overlay_top__26IO7\",\"rect\":\"risk-result-overlay_rect__38SUx\",\"bottom\":\"risk-result-overlay_bottom__3OLmw\",\"datalabel\":\"risk-result-overlay_datalabel__iFK3a\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"footerBg\":\"footer_footerBg__1ImtH\",\"footerFlex\":\"footer_footerFlex__35mXY\",\"footerLinkPrivacy\":\"footer_footerLinkPrivacy__1way-\",\"footerLinkTerm\":\"footer_footerLinkTerm__27rU7\",\"footerLinkSupprtedBrower\":\"footer_footerLinkSupprtedBrower__wALEB\",\"footerCopyText\":\"footer_footerCopyText__3tWEq\",\"btnFlex\":\"footer_btnFlex__26OOO\",\"closeBtn\":\"footer_closeBtn__3vN3s\",\"printBtn\":\"footer_printBtn__2F-Pq\",\"sb_browser_link\":\"footer_sb_browser_link__4tp0X\",\"leadPrivacy\":\"footer_leadPrivacy__2zgST\",\"anchorContainer\":\"footer_anchorContainer__3ecae\",\"iframeContent\":\"footer_iframeContent__RYL6h\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"menuUl\":\"menubar_menuUl__3aH82\",\"fullWidth\":\"menubar_fullWidth__3ojcd\",\"menuList\":\"menubar_menuList__2OiUq\",\"menuListNoBorder\":\"menubar_menuListNoBorder__2XNCf\",\"bgBlue\":\"menubar_bgBlue__142Rc\",\"bgGray\":\"menubar_bgGray__21vps\",\"menuIcon\":\"menubar_menuIcon__208eO\",\"menuTitle\":\"menubar_menuTitle__3Vz6A\",\"activeArrow\":\"menubar_activeArrow__2D_sc\",\"activeArrowHidden\":\"menubar_activeArrowHidden__dvjFc\",\"arrowTransform\":\"menubar_arrowTransform__25Mka\",\"customNav\":\"menubar_customNav__W7Grx\",\"clickableList\":\"menubar_clickableList__2muLF\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"rowFlex\":\"sidebar_rowFlex__1o_-L\",\"sideMenu\":\"sidebar_sideMenu__10inr\",\"noactive\":\"sidebar_noactive__3WzpM\",\"active\":\"sidebar_active__BMcVl\",\"tabText\":\"sidebar_tabText__5_d--\",\"info\":\"sidebar_info__2EeOC\",\"sideMenuNavBar\":\"sidebar_sideMenuNavBar__3Hxr1\"};","import { createBrowserHistory } from 'history';\r\n\r\nexport const BASE_URL = process.env.NODE_ENV === 'development' ? '' : 'public/wb/start';\r\nexport const history = createBrowserHistory({\r\n\tbasename: BASE_URL,\r\n});\r\n","import { ReportHandler } from 'web-vitals';\r\n\r\nconst reportWebVitals = (onPerfEntry?: ReportHandler) => {\r\n\tif (onPerfEntry && onPerfEntry instanceof Function) {\r\n\t\timport('web-vitals').then(({ getCLS, getFID, getFCP, getLCP, getTTFB }) => {\r\n\t\t\tgetCLS(onPerfEntry);\r\n\t\t\tgetFID(onPerfEntry);\r\n\t\t\tgetFCP(onPerfEntry);\r\n\t\t\tgetLCP(onPerfEntry);\r\n\t\t\tgetTTFB(onPerfEntry);\r\n\t\t});\r\n\t}\r\n};\r\n\r\nexport default reportWebVitals;\r\n","export const APP_LOADING = 'APP_LOADING';\r\nexport const APP_ADVISOR_KEY = 'APP_ADVISOR_KEY';\r\nexport const APP_ADVISOR = 'APP_ADVISOR';\r\nexport const APP_APPLICATION_STATE = 'APP_APPLICATION_STATE';\r\nexport const APP_SPINNER = 'APP_SPINNER';","import { none } from 'fp-ts/lib/Option';\r\nimport { TApplicationState } from '../../models/application-state';\r\nimport { TUser } from '../../models/user.model';\r\nimport { AppAction } from './app.action';\r\nimport { APP_ADVISOR, APP_ADVISOR_KEY, APP_LOADING, APP_APPLICATION_STATE, APP_SPINNER } from './app.constant';\r\n\r\nexport type AppContextState = {\r\n\tisAppLoaded: boolean;\r\n\tshowSpinner: boolean;\r\n\tadvisorKey: string;\r\n\tuser: TUser;\r\n\tapplicationState: TApplicationState;\r\n\tloadUser: (user: TUser) => void;\r\n\tloadApplicationState: (appState: TApplicationState) => void;\r\n\tsetShowSpinner: (show: boolean) => void;\r\n};\r\n\r\nexport const initialState: AppContextState = {\r\n\tisAppLoaded: false,\r\n\tshowSpinner: false,\r\n\tadvisorKey: '',\r\n\tuser: {\r\n\t\tdefaultRole: none,\r\n\t\tisImpersonated: none,\r\n\t\troles: [],\r\n\t\tuserID: none,\r\n\t\tfirstName: none,\r\n\t\tlastName: none,\r\n\t\tmiddleName: none,\r\n\t\tpreferredName: none,\r\n\t},\r\n\tapplicationState: {\r\n\t\tinvestorStrategyId: none,\r\n investorId: none,\r\n goalId: none,\r\n lastPageVisited: none,\r\n feeId: none,\r\n wordMark: none,\r\n advisorLogo: none,\r\n isLogoPreferred: none,\r\n agentId: none,\r\n\t\tagentName: none,\r\n companyName: none,\r\n isDiscretionary: none,\r\n customProposalIntroductionText: none,\r\n\t\tchannelRequireGfamSuitability: none,\r\n defaultIntroductionText: none,\r\n\t\taddress: none,\r\n\t\tphoneNumber: none,\r\n advisorPhoto: none,\r\n\t},\r\n\tloadUser: (user: TUser) => {},\r\n\tloadApplicationState: (appState: TApplicationState) => {},\r\n\tsetShowSpinner: (show: boolean) => {}\r\n};\r\n\r\nexport function appContextReducer(state: AppContextState, action: AppAction) {\r\n\tswitch (action.type) {\r\n\t\tcase APP_LOADING: {\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tisAppLoaded: action.payload,\r\n\t\t\t};\r\n\t\t}\r\n\t\tcase APP_ADVISOR_KEY: {\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tadvisorKey: action.payload,\r\n\t\t\t};\r\n\t\t}\r\n\t\tcase APP_ADVISOR: {\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tisAppLoaded: true,\r\n\t\t\t\tuser: action.payload,\r\n\t\t\t};\r\n\t\t}\r\n\t\tcase APP_APPLICATION_STATE: {\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tisAppLoaded: true,\r\n\t\t\t\tapplicationState: action.payload,\r\n\t\t\t};\r\n\t\t}\r\n\t\tcase APP_SPINNER: {\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tshowSpinner: action.payload,\r\n\t\t\t};\r\n\t\t}\r\n\t\tdefault: {\r\n\t\t\tthrow new Error(`Unhandled action type: ${action}`);\r\n\t\t}\r\n\t}\r\n}\r\n","import * as React from 'react';\r\nimport { TApplicationState } from '../../models/application-state';\r\n\r\nimport { TUser } from '../../models/user.model';\r\nimport { APP_ADVISOR, APP_APPLICATION_STATE, APP_SPINNER } from './app.constant';\r\nimport { appContextReducer, AppContextState, initialState } from './app.context.reducer';\r\n\r\ntype AppProviderProps = { children: React.ReactNode };\r\n\r\nconst AppStateContext = React.createContext(initialState);\r\nAppStateContext.displayName = 'AppContext';\r\n\r\nfunction AppContextProvider({ children }: AppProviderProps) {\r\n\tconst [state, dispatch] = React.useReducer(appContextReducer, initialState);\r\n\r\n\tconst loadUser = (user: TUser) => dispatch({ type: APP_ADVISOR, payload: user });\r\n\tconst loadApplicationState = (appState: TApplicationState) => dispatch({ type: APP_APPLICATION_STATE, payload: appState });\r\n\tconst setShowSpinner = (show: boolean) => dispatch({ type: APP_SPINNER, payload: show });\r\n\tconst values = React.useMemo(() => ({ ...state, loadUser, loadApplicationState, setShowSpinner }), [state]);\r\n\r\n\treturn {children};\r\n}\r\n\r\nfunction useApp() {\r\n\tconst context = React.useContext(AppStateContext);\r\n\tif (context === undefined) {\r\n\t\tthrow new Error('useApp must be used within a AppContextprovider');\r\n\t}\r\n\treturn context;\r\n}\r\n\r\nexport { AppContextProvider, useApp };\r\n","import * as React from 'react';\r\nimport styles from './modal.module.css';\r\n\r\nexport type TModalProps = {\r\n\tid: string;\r\n\ttitle: string;\r\n\tbody: JSX.Element;\r\n\tfooter: JSX.Element;\r\n\tonCloseModalClick?: any;\r\n};\r\n\r\nexport const Modal: React.StatelessComponent = props => (\r\n\t
\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t

{props.title}

\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tX\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t{props.body}\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t
\r\n\t
\r\n);\r\n","import * as React from 'react';\r\n\r\nexport type TButtonProps = {\r\n\tname: string;\r\n\ttext: string;\r\n\tclassName?: string;\r\n\tonClick?: (event: any) => void;\r\n\tdisabled?: boolean;\r\n};\r\n\r\nconst Button: React.StatelessComponent = ({ name, text, className, onClick, disabled }) => {\r\n\tlet classes = className ? className : '';\r\n\tclassName\r\n\t\t? (classes +=\r\n\t\t\t\t' font-roboto text-lg w-full inline-flex justify-center focus:outline-none focus:shadow-none px-8 py-2.5 sm:ml-3 sm:w-auto')\r\n\t\t: (classes = 'w-full inline-flex justify-center focus:outline-none focus:shadow-none');\r\n\r\n\tif (disabled === true) {\r\n\t\tclasses += ' disabled:opacity-50';\r\n\t}\r\n\treturn (\r\n\t\t\r\n\t);\r\n};\r\n\r\nexport default Button;\r\n","import * as React from 'react';\r\nimport Button from '../button/button';\r\nimport styles from './footer.module.css';\r\n\r\nexport const Terms: React.StatelessComponent = props => {\r\n\tconst hideButtons = () => {\r\n\t\tconst iframe = (document?.querySelector('iframe') as HTMLIFrameElement);\r\n\t\tconst parentDiv = iframe.contentWindow?.document.getElementById('dialogDiv');\r\n\t\tconst currentDiv = parentDiv?.children[1] as HTMLElement;\r\n\t\tcurrentDiv.style.display = \"none\";\r\n\t\tif (iframe.contentWindow) {\r\n\t\t\tiframe.contentWindow.document.head.innerHTML =\r\n\t\t\t\t\"\";\r\n\t\t\tiframe.contentWindow.document.body.classList.add(\"checkClass\");\r\n\t\t}\r\n\t};\r\n\tconst urlToFetchTermsOfUseData = window.location.origin + '/eWMLogin/TermOfUse/TermOfUse';\r\n\treturn (\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\t{\r\n\t\t\t\t\t// Commented UI code for Pop-Up content since we are using content from EWM as per DE-1075, leaving code commented if future changes are needed.\r\n\t\t\t\t/*
\r\n\t\t\t\t\t

AssetMark WEBSITE TERMS AND CONDITIONS OF USE

\r\n\r\n\t\t\t\t\t

Legal Notices

\r\n\t\t\t\t\t

Please Read These Terms Carefully Before Using This Site

\r\n\r\n\t\t\t\t\t

\r\n\t\t\t\t\t\tAssetMark, Inc., AssetMark Trust Company (“AssetMark Trust”), their affiliates and subsidiaries\r\n\t\t\t\t\t\t(collectively \"AssetMark”) provide this website (the \"Site\"), subject to the following Terms and\r\n\t\t\t\t\t\tConditions of Use, which may be updated from time to time without notice. This Site provides you\r\n\t\t\t\t\t\twith certain services, including but not limited to, access to information about the products\r\n\t\t\t\t\t\tand services offered by AssetMark, and may provide you with information regarding other\r\n\t\t\t\t\t\tfinancial and consumer services and products offered by AssetMark and separately its affiliates\r\n\t\t\t\t\t\tor subsidiaries (\"Affiliates\") and other third party providers either directly or through\r\n\t\t\t\t\t\tAssetMark (\"Providers\"). Use of this Site and the services are subject to the Terms and\r\n\t\t\t\t\t\tConditions of Use and all applicable laws. Certain areas within this Site may be subject to\r\n\t\t\t\t\t\tadditional or different terms and conditions of use, which are posted in those areas. Not all of\r\n\t\t\t\t\t\tthe services and materials described on this Site are available for use in all geographic areas\r\n\t\t\t\t\t\tof the United States or in all countries where AssetMark conducts business. By using the Site,\r\n\t\t\t\t\t\tyou agree to abide by all of the terms and conditions set forth in this notice. Unless stated\r\n\t\t\t\t\t\totherwise, any new services and materials added to this Site also will be covered by these Terms\r\n\t\t\t\t\t\tand Conditions of Use.\r\n\t\t\t\t\t

\r\n\r\n\t\t\t\t\t

\r\n\t\t\t\t\t\tPLEASE READ THESE TERMS CAREFULLY. IF YOU DO NOT AGREE WITH ANY OF THESE TERMS OR CONDITIONS, DO\r\n\t\t\t\t\t\tNOT ACCESS OR OTHERWISE USE THIS WEBSITE OR ANY INFORMATION CONTAINED ON THIS WEBSITE. YOUR\r\n\t\t\t\t\t\tACCESS AND USE OF THIS WEBSITE CONSTITUTES YOUR AGREEMENT TO ABIDE BY EACH OF THE TERMS AND\r\n\t\t\t\t\t\tCONDITIONS SET FORTH BELOW.{' '}\r\n\t\t\t\t\t

\r\n\r\n\t\t\t\t\t

Limited License

\r\n\t\t\t\t\t

\r\n\t\t\t\t\t\tSubject to the terms and conditions set forth in this Agreement, AssetMark grants you a\r\n\t\t\t\t\t\tnon-exclusive, non-transferable, limited right to access, use and display this Site and the\r\n\t\t\t\t\t\tmaterials thereon. You agree not to interrupt or attempt to interrupt the operation of the Site\r\n\t\t\t\t\t\tin any way. AssetMark authorizes you to view and download the information (\"Materials\") at this\r\n\t\t\t\t\t\tSite only for your individual use or as is otherwise expressly permitted by your agreement(s)\r\n\t\t\t\t\t\twith AssetMark. This authorization is not a transfer of title in the Materials and copies of the\r\n\t\t\t\t\t\tMaterials and is subject to the following restrictions: 1) you must retain, on all copies of the\r\n\t\t\t\t\t\tMaterials downloaded, all copyright and other proprietary notices contained in the Materials; 2)\r\n\t\t\t\t\t\tyou may not modify the Materials in any way or reproduce or publicly display, perform, or\r\n\t\t\t\t\t\tdistribute or otherwise use them for any public or commercial purpose (other than for your own\r\n\t\t\t\t\t\tbenefit or as expressly permitted by your agreement(s) with AssetMark); and 3) you must not\r\n\t\t\t\t\t\ttransfer the Materials to any other person. You agree to abide by all additional restrictions\r\n\t\t\t\t\t\tdisplayed on the Site as it may be updated from time to time.\r\n\t\t\t\t\t

\r\n\r\n\t\t\t\t\t

No Offer

\r\n\t\t\t\t\t

\r\n\t\t\t\t\t\tTHE INFORMATION ON THIS SITE IS NOT AN OFFER BY OR ON BEHALF OF ASSETMARK OR ITS AFFILIATES TO\r\n\t\t\t\t\t\tSELL OR SOLICIT AN OFFER TO BUY ANY SECURITY OR OTHER SERVICES.{' '}\r\n\t\t\t\t\t

\r\n\r\n\t\t\t\t\t

No Professional Advice

\r\n\t\t\t\t\t

\r\n\t\t\t\t\t\tExcept as expressly provided in your agreement(s) with AssetMark, the information available on\r\n\t\t\t\t\t\tthe Site is intended to be a general information resource regarding the matters covered, but is\r\n\t\t\t\t\t\tnot offered as legal, accounting, tax or other financial advice, and is not tailored to a\r\n\t\t\t\t\t\tcustomer's specific circumstances. ALL INFORMATION, OPINIONS AND ADVICE AVAILABLE ON THIS SITE\r\n\t\t\t\t\t\tSHOULD BE EVALUATED IN CONSULTATION WITH A LEGAL, ACCOUNTING, TAX, INVESTMENT OR OTHER FINANCIAL\r\n\t\t\t\t\t\tSPECIALIST.{' '}\r\n\t\t\t\t\t

\r\n\r\n\t\t\t\t\t

Copyrights/Trademarks

\r\n\t\t\t\t\t

\r\n\t\t\t\t\t\tThis Site, including all Materials, is copyrighted and protected by worldwide copyright,\r\n\t\t\t\t\t\ttrademark and intellectual property laws and treaty provisions. You agree to comply with all\r\n\t\t\t\t\t\tsuch laws worldwide in your use of this Site and to prevent any unauthorized copying of the\r\n\t\t\t\t\t\tMaterials. Except as expressly provided herein, AssetMark does not grant any express or implied\r\n\t\t\t\t\t\tright to you under any patents, trademarks, copyrights or trade secret information. AssetMark\r\n\t\t\t\t\t\tand the AssetMark logo are service marks/trademarks of AssetMark, Inc.\r\n\t\t\t\t\t

\r\n\r\n\t\t\t\t\t

Access, Passwords and Security

\r\n\t\t\t\t\t

\r\n\t\t\t\t\t\tYou will be responsible for the confidentiality and use of your log in credentials and password.\r\n\t\t\t\t\t\tYou agree not to hold AssetMark liable for any damages of any kind resulting from your decision\r\n\t\t\t\t\t\tto disclose your log in credentials or password to any third party, including, but not limited\r\n\t\t\t\t\t\tto, entities that aggregate account information or website content, or persons who are or claim\r\n\t\t\t\t\t\tto be acting as your agent, proxy or advisor. If you inform AssetMark or AssetMark has reason to\r\n\t\t\t\t\t\tbelieve that the security of your log in credentials or password may be or has been compromised,\r\n\t\t\t\t\t\tAssetMark has the right to terminate your use of this Site. You will be responsible for all\r\n\t\t\t\t\t\tactivity conducted through and under your log in credentials or password, and any instructions\r\n\t\t\t\t\t\tso received by AssetMark will be deemed to have been received from you. You agree to notify\r\n\t\t\t\t\t\tAssetMark immediately if you become aware of any loss, theft or unauthorized use of your log in\r\n\t\t\t\t\t\tcredentials or password.\r\n\t\t\t\t\t

\r\n\r\n\t\t\t\t\t

AssetMark Trust Statements and Communications

\r\n\r\n\t\t\t\t\t

\r\n\t\t\t\t\t\tIf you use AssetMark Trust as your custodian, you can access your AssetMark Trust statements and\r\n\t\t\t\t\t\tother regulatory communications in the Document Vault.\r\n\t\t\t\t\t

\r\n\r\n\t\t\t\t\t

Practice Management Materials

\r\n\r\n\t\t\t\t\t

\r\n\t\t\t\t\t\tThis Site may contain practice management and succession planning materials. These materials\r\n\t\t\t\t\t\twere developed by AssetMark or certain third parties at the request of AssetMark. These\r\n\t\t\t\t\t\tmaterials are for general purposes only and are not to be relied upon as legal or tax advice or\r\n\t\t\t\t\t\tinvestment advisory services. You should consult with your tax and business advisors and a\r\n\t\t\t\t\t\tlicensed attorney. Your use of these materials does not establish any agent, advisor, broker,\r\n\t\t\t\t\t\tattorney-client or other special relationship between you and those who developed these\r\n\t\t\t\t\t\tmaterials. All materials are provided “as-is” with no representations, warranties or guarantees\r\n\t\t\t\t\t\tof any kind.\r\n\t\t\t\t\t

\r\n\r\n\t\t\t\t\t

DISCLAIMER

\r\n\r\n\t\t\t\t\t

\r\n\t\t\t\t\t\tYOU EXPRESSLY UNDERSTAND AND AGREE THAT: (1) YOUR USE OF THIS SITE AND THE SERVICES AND\r\n\t\t\t\t\t\tMATERIALS PROVIDED AT THE SITE ARE AT YOUR SOLE RISK, AND (2) THE MATERIALS MAY CONTAIN\r\n\t\t\t\t\t\tINACCURACIES AND TYPOGRAPHICAL ERRORS. ASSETMARK, ITS AFFILIATES AND THE PROVIDERS DO NOT\r\n\t\t\t\t\t\tWARRANT THE ACCURACY OR COMPLETENESS OF THE MATERIALS OR THE RELIABILITY OF ANY ADVICE, OPINION,\r\n\t\t\t\t\t\tSTATEMENT OR OTHER INFORMATION DISPLAYED OR DISTRIBUTED THROUGH THE SITE. YOU ACKNOWLEDGE THAT\r\n\t\t\t\t\t\tANY RELIANCE ON THE MATERIAL OR ANY OPINION, ADVICE, STATEMENT, MEMORANDUM, OR INFORMATION SHALL\r\n\t\t\t\t\t\tBE AT YOUR SOLE RISK.\r\n\t\t\t\t\t

\r\n\t\t\t\t\t

\r\n\t\t\t\t\t\tASSETMARK, ITS AFFILIATES AND THE PROVIDERS (AS TO THEIR MATERIALS ONLY) RESERVE THE RIGHT, IN\r\n\t\t\t\t\t\tTHEIR SOLE DISCRETION, TO CORRECT ANY ERRORS OR OMISSIONS IN ANY PORTION OF THE SITE. WE USE\r\n\t\t\t\t\t\tREASONABLE EFFORTS TO PROVIDE YOU WITH ACCURATE INFORMATION. WE RESERVE THE RIGHT, HOWEVER, TO\r\n\t\t\t\t\t\tMAKE CORRECTIONS AND/OR CHANGES SHOULD THIS INFORMATION PROVE TO BE INACCURATE. ASSETMARK , ITS\r\n\t\t\t\t\t\tAFFILIATES AND THE PROVIDERS (AS TO THEIR MATERIALS ONLY) MAY MAKE ANY OTHER CHANGES TO THE\r\n\t\t\t\t\t\tSITE, THE MATERIALS AND THE PRODUCTS, PROGRAMS, SERVICES OR PRICES (IF ANY) DESCRIBED IN THE\r\n\t\t\t\t\t\tSITE AT ANY TIME WITHOUT NOTICE.\r\n\t\t\t\t\t

\r\n\t\t\t\t\t

\r\n\t\t\t\t\t\tTHIS SITE, THE SERVICES, INFORMATION AND MATERIALS ON THE SITE AS WELL AS ANY SOFTWARE MADE\r\n\t\t\t\t\t\tAVAILABLE ON THE SITE, ARE PROVIDED \"AS IS\" WITHOUT ANY REPRESENTATION OR WARRANTY, EXPRESS OR\r\n\t\t\t\t\t\tIMPLIED, OF ANY KIND, INCLUDING, BUT NOT LIMITED TO, WARRANTIES OF MERCHANTABILITY,\r\n\t\t\t\t\t\tNONINFRINGEMENT, OR FITNESS FOR ANY PARTICULAR PURPOSE.\r\n\t\t\t\t\t

\r\n\t\t\t\t\t

\r\n\t\t\t\t\t\tSOME JURISDICTIONS DO NOT PERMIT THE EXCLUSION OF IMPLIED WARRANTIES. THEREFORE SOME OF THE\r\n\t\t\t\t\t\tEXCLUSIONS ABOVE MAY NOT APPLY TO YOU.\r\n\t\t\t\t\t

\r\n\r\n\t\t\t\t\t

LIMITATION OF LIABILITY AND INDEMNIFICATION

\r\n\t\t\t\t\t

\r\n\t\t\t\t\t\tYOU AGREE TO INDEMNIFY AND HOLD ASSETMARK AND ITS AGENTS, EMPLOYEES, AND LICENSORS, INCLUDING\r\n\t\t\t\t\t\tTHE PROVIDERS, HARMLESS FROM ANY CLAIM, DEMAND, LOSS, COSTS, OR EXPENSE, INCLUDING ATTORNEY'S\r\n\t\t\t\t\t\tFEES MADE BY ANY PERSON ARISING OUT OR YOUR VIOLATION OF THIS AGREEMENT, STATE OR FEDERAL\r\n\t\t\t\t\t\tSECURITIES LAWS OR REGUATIONS, OR ANY OTHER PERSON'S RIGHTS, INCLUDING BUT NOT LIMITED TO\r\n\t\t\t\t\t\tINFRINGEMENT OF ANY COPYRIGHT OR VIOLATION OF ANY PROPRIETARY OR PRIVACY RIGHT.\r\n\t\t\t\t\t

\r\n\r\n\t\t\t\t\t

\r\n\t\t\t\t\t\tYOU UNDERSTAND AND AGREE THAT ASSETMARK, ITS AFFILIATES AND THE PROVIDERS WILL NOT BE LIABLE FOR\r\n\t\t\t\t\t\tANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, CONSEQUENTIAL OR EXEMPLARY DAMAGES, INCLUDING, BUT\r\n\t\t\t\t\t\tNOT LIMITED TO, DAMAGES, COSTS OR LOSS OF PRODUCTS, USE, DATA OR OTHER INTANGIBLE LOSSES, EVEN\r\n\t\t\t\t\t\tIF WE HAVE BEEN ADVISED OF THE POSSIBILITIES OF THOSE DAMAGES, RESULTING FROM: (i) YOUR USE OF\r\n\t\t\t\t\t\tOR INABILITY TO USE THE SITE, THE SERVICES, OR MATERIALS, OR (ii) OBTAINING SUBSTITUTE PRODUCTS\r\n\t\t\t\t\t\tAND/OR SERVICES, OR (iii) THE USE OF ANY DATA, INFORMATION, PRODUCTS OR SERVICES OBTAINED FROM\r\n\t\t\t\t\t\tTRANSACTIONS ENTERED INTO THROUGH THE WEBSITE, OR (iv) ANY STATEMENT OR CONDUCT OF ANY THIRD\r\n\t\t\t\t\t\tPARTY, OR (v) ANY OTHER MATTER RELATED TO THE SITE, THE SERVICES OR MATERIALS.\r\n\t\t\t\t\t

\r\n\r\n\t\t\t\t\t

\r\n\t\t\t\t\t\tSOME JURISDICTIONS DO NOT PERMIT THE EXCLUSION OF CERTAIN WARRANTIES OR THE LIMITATION OR\r\n\t\t\t\t\t\tEXCLUSION OF LIABILITY FOR INCIDENTAL OR CONSEQUENTIAL DAMAGES. THEREFORE, SOME OF THE\r\n\t\t\t\t\t\tLIMITATIONS ABOVE MAY NOT APPLY TO YOU.\r\n\t\t\t\t\t

\r\n\r\n\t\t\t\t\t

Third Party Service Providers

\r\n\t\t\t\t\t

\r\n\t\t\t\t\t\tAssetMark may use Providers to assist in providing the Materials, with or without notice to you.\r\n\t\t\t\t\t\tProviders may also provide market information, including but not limited to,financial market\r\n\t\t\t\t\t\tdata, quotes, news, analyst opinions and research reports as well (\"Market Information\").\r\n\t\t\t\t\t\tAssetMark does not endorse or approved Market Information, but makes it available to you as a\r\n\t\t\t\t\t\tservice and convenience. AssetMark and Providers do not: (i) guarantee the accuracy, timeliness,\r\n\t\t\t\t\t\tcompleteness or correct sequencing of Market Information; or (ii) warrant any results from your\r\n\t\t\t\t\t\tuse or reliance on Market Information. You agree that neither AssetMark nor the Providers will\r\n\t\t\t\t\t\tbe liable to you in any way for the termination, interruption, delay, or inaccuracy of any\r\n\t\t\t\t\t\tMarket Information. You will not redistribute or facilitate the redistribution of Market\r\n\t\t\t\t\t\tInformation, nor will you provide access to Market Information to anyone who is not authorized\r\n\t\t\t\t\t\tby AssetMark to receive Market Information. You consent and authorize AssetMark to delegate the\r\n\t\t\t\t\t\tauthorizations you provide to AssetMark, to its Providers as AssetMark deems necessary or\r\n\t\t\t\t\t\tdesirable to provide the Materials to you. You agree that these Terms and Conditions of Use\r\n\t\t\t\t\t\tinure to the benefit of such Providers and that such Providers are deemed to be third party\r\n\t\t\t\t\t\tbeneficiaries of these Terms and Conditions of Use.\r\n\t\t\t\t\t

\r\n\r\n\t\t\t\t\t

Third Party Sites

\r\n\t\t\t\t\t

\r\n\t\t\t\t\t\tAs a convenience to you, AssetMark may provide, on this Site, links to websites operated by\r\n\t\t\t\t\t\tother entities. If you use these sites, you will leave this Site. If you decide to visit any\r\n\t\t\t\t\t\tlinked site, you do so at your own risk, subject to that site's terms and conditions of use and\r\n\t\t\t\t\t\tprivacy policy that may be different from those of this Site. It is your responsibility to take\r\n\t\t\t\t\t\tall protective measures to guard against viruses or other destructive elements you may encounter\r\n\t\t\t\t\t\ton these sites. AssetMark makes no warranty or representation regarding, and does not endorse,\r\n\t\t\t\t\t\tany linked websites or the information appearing thereon or any of the products or services\r\n\t\t\t\t\t\tdescribed thereon. Links do not imply that AssetMark or this Site sponsors, endorses, is\r\n\t\t\t\t\t\taffiliated or associated with, or accessible through the links, or that any linked site is\r\n\t\t\t\t\t\tauthorized to use any trademark, trade name, logo or copyright symbol of AssetMark or any of its\r\n\t\t\t\t\t\taffiliates or subsidiaries.\r\n\t\t\t\t\t

\r\n\r\n\t\t\t\t\t

External Links to the Site

\r\n\t\t\t\t\t

\r\n\t\t\t\t\t\tAll links to the Site must be approved in writing by AssetMark, except that AssetMark consents\r\n\t\t\t\t\t\tto links in which: (i) the link is a text-only link containing only the name \"AssetMark,\" (ii)\r\n\t\t\t\t\t\tthe link \"points\" only to assetmark.com and not to deeper pages: (iii) the link, when activated\r\n\t\t\t\t\t\tby a user, displays the linked page full-screen in a fully operable and navigable browser window\r\n\t\t\t\t\t\tand not within a \"frame\" on the linked website; and (iv) the appearance, position and other\r\n\t\t\t\t\t\taspects of the link may neither create the false appearance that an entity or its activities or\r\n\t\t\t\t\t\tproducts are associated with or sponsored by AssetMark nor be such as to damage or dilute the\r\n\t\t\t\t\t\tgoodwill associated with the name and service marks/trademarks of AssetMark or its Affiliates.\r\n\t\t\t\t\t\tAssetMark reserves the right to revoke this consent to link at any time in its sole discretion.\r\n\t\t\t\t\t

\r\n\r\n\t\t\t\t\t

Viruses

\r\n\t\t\t\t\t

\r\n\t\t\t\t\t\tThere is always the possibility of unknowingly acquiring computer viruses on the internet and\r\n\t\t\t\t\t\tthus we want to warn you about infections or viral contamination on your system. It is your\r\n\t\t\t\t\t\tresponsibility to scan any and all downloaded materials received from the internet. AssetMark\r\n\t\t\t\t\t\tand its Affiliates are not responsible or liable for any damage caused by viruses or related\r\n\t\t\t\t\t\thazards, whether or not that virus or hazard resulted from a visit to this Site. You, and not\r\n\t\t\t\t\t\tAssetMark assume the entire cost of all necessary servicing, repair or correction related to\r\n\t\t\t\t\t\tcomputer viruses.\r\n\t\t\t\t\t

\r\n\r\n\t\t\t\t\t

Potential Disruption of Service

\r\n\t\t\t\t\t

\r\n\t\t\t\t\t\tAccess to this Site may from time to time be unavailable, delayed, limited or slowed due to,\r\n\t\t\t\t\t\tamong other things:{' '}\r\n\t\t\t\t\t

\r\n\t\t\t\t\t
    \r\n\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\thardware failure, including among other things failures of computers (including your own\r\n\t\t\t\t\t\t\tcomputer), servers, networks, telecommunication lines and connections, and other electronic\r\n\t\t\t\t\t\t\tand mechanical equipment;{' '}\r\n\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\tsoftware failure, including among other things, bugs, errors, viruses, configuration\r\n\t\t\t\t\t\t\tproblems, incompatibility of systems, utilities or applications, the operation of firewalls\r\n\t\t\t\t\t\t\tor screening programs, unreadable codes, or irregularities within particular documents or\r\n\t\t\t\t\t\t\tother content;{' '}\r\n\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t
  • overload of system capacities;
  • \r\n\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\tdamage caused by severe weather, earthquakes, wars, insurrection, riots, civil commotion,\r\n\t\t\t\t\t\t\tact of God, accident, fire, water damage, explosion, mechanical breakdown or natural\r\n\t\t\t\t\t\t\tdisasters;\r\n\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t
  • interruption (whether partial or total) of power supplies or other utility of service;
  • \r\n\t\t\t\t\t\t
  • strike or other stoppage (whether partial or total) of labor;
  • \r\n\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\tgovernmental or regulatory restrictions, exchange rulings, court or tribunal orders or other\r\n\t\t\t\t\t\t\thuman intervention; or{' '}\r\n\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\tany other cause (whether similar or dissimilar to any of the foregoing) whatsoever beyond\r\n\t\t\t\t\t\t\tthe control of AssetMark.{' '}\r\n\t\t\t\t\t\t
  • \r\n\t\t\t\t\t
\r\n\r\n\t\t\t\t\t

Termination of Access

\r\n\t\t\t\t\t

\r\n\t\t\t\t\t\tAssetMark reserves the right to terminate, without prior notice to you, your access to this Site\r\n\t\t\t\t\t\tin its sole discretion, including without limitation, for overuse or abuse of this Site.{' '}\r\n\t\t\t\t\t

\r\n\r\n\t\t\t\t\t

Information Provided By You

\r\n\t\t\t\t\t

\r\n\t\t\t\t\t\tIn order to use certain Services on this Site, you may have to register. You agree to provide\r\n\t\t\t\t\t\ttrue, accurate and current information about yourself as prompted by the registration and\r\n\t\t\t\t\t\tapplication forms on this Site. If any information you provide is untrue, inaccurate, incomplete\r\n\t\t\t\t\t\tor not current, or if AssetMark has reasonable grounds to suspect that such information is\r\n\t\t\t\t\t\tuntrue, inaccurate, incomplete or not current, AssetMark, in its sole discretion, has the right\r\n\t\t\t\t\t\tto suspend or terminate your access to the Site. Further, you agree that AssetMark will not be\r\n\t\t\t\t\t\tliable to you or any third party if AssetMark terminates your access to the Site, and the\r\n\t\t\t\t\t\tServices or Materials thereon, for any reason.\r\n\t\t\t\t\t

\r\n\r\n\t\t\t\t\t

\r\n\t\t\t\t\t\tExcept for the information you submit during the registration process, during the use of any\r\n\t\t\t\t\t\tservice offered through this Site or password protected areas of this Site (the \"Permitted\r\n\t\t\t\t\t\tInformation\"), AssetMark does not want you to, and you should not, send any confidential or\r\n\t\t\t\t\t\tproprietary information to AssetMark via the Site. You agree that any information or materials\r\n\t\t\t\t\t\tthat you or individuals acting on your behalf provide to AssetMark other than the Permitted\r\n\t\t\t\t\t\tInformation will not be considered confidential or proprietary. By providing any such\r\n\t\t\t\t\t\tinformation or materials to AssetMark, you grant to AssetMark an unrestricted, irrevocable,\r\n\t\t\t\t\t\tworldwide, royalty-free license to use, reproduce, display, publicly perform, transmit,\r\n\t\t\t\t\t\tdistribute and sub-license to others such information and materials, and you further agree that\r\n\t\t\t\t\t\tAssetMark is free to use, and allow others to use, any ideas, concepts or know-how that you or\r\n\t\t\t\t\t\tindividuals acting on your behalf provide to AssetMark. You further recognize that AssetMark\r\n\t\t\t\t\t\tdoes not want you to, and you warrant that you shall not, provide any information or materials\r\n\t\t\t\t\t\tto AssetMark that is defamatory, threatening, obscene, harassing, or otherwise unlawful, or that\r\n\t\t\t\t\t\tincorporates the proprietary material of another.\r\n\t\t\t\t\t

\r\n\r\n\t\t\t\t\t

\r\n\t\t\t\t\t\tAssetMark will use the Permitted Information in accordance with the privacy policy posted on\r\n\t\t\t\t\t\tthis Site.\r\n\t\t\t\t\t

\r\n\r\n\t\t\t\t\t

Bulletin Boards

\r\n\t\t\t\t\t

\r\n\t\t\t\t\t\tThis Site may include bulletin boards and chat rooms (\"Bulletin Boards\"), which allow feedback\r\n\t\t\t\t\t\tto AssetMark and real-time interaction between users. AssetMark does not control the messages,\r\n\t\t\t\t\t\tinformation or files delivered to Bulletin Boards. It is a condition of your use of the Bulletin\r\n\t\t\t\t\t\tBoards and this website that you do not:{' '}\r\n\t\t\t\t\t

\r\n\r\n\t\t\t\t\t
    \r\n\t\t\t\t\t\t
  • restrict or inhibit any other user from using and enjoying the Bulletin Boards;
  • \r\n\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\tpost or transmit any unlawful, threatening, abusive, libelous, defamatory, obscene, vulgar,\r\n\t\t\t\t\t\t\tpornographic, profane or indecent information of any kind, including without limitation any\r\n\t\t\t\t\t\t\ttransmissions constituting or encouraging conduct that would constitute a criminal offense,\r\n\t\t\t\t\t\t\tgive rise to civil liability or otherwise violate any local, state, national or\r\n\t\t\t\t\t\t\tinternational law;{' '}\r\n\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\tpost or transmit any information, software or other material which violates or infringes the\r\n\t\t\t\t\t\t\trights of others, including material which is an invasion of privacy or publicity rights or\r\n\t\t\t\t\t\t\twhich is protected by copyright, trademark or other proprietary right, or derivative works\r\n\t\t\t\t\t\t\twith respect thereto, without first obtaining permission from the owner or right holder;{' '}\r\n\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\tpost or transmit any virus or any information, software or other material which contains a\r\n\t\t\t\t\t\t\tvirus or other harmful component;{' '}\r\n\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\tpost, or transmit or in any way exploit any information, software or other material for\r\n\t\t\t\t\t\t\tcommercial purposes or which contains advertising.\r\n\t\t\t\t\t\t
  • \r\n\t\t\t\t\t
\r\n\t\t\t\t\t

\r\n\t\t\t\t\t\tYou understand that AssetMark has no obligation to monitor the Bulletin Boards. However,\r\n\t\t\t\t\t\tAssetMark reserves the right at all times to disclose any information as necessary to satisfy\r\n\t\t\t\t\t\tany law, regulation or governmental request, or to edit, refuse to post or to remove any\r\n\t\t\t\t\t\tinformation or materials, in whole or in part, that in AssetMark’s sole discretion are\r\n\t\t\t\t\t\tobjectionable or in violation of these Terms and Conditions of Use.{' '}\r\n\t\t\t\t\t

\r\n\r\n\t\t\t\t\t

Notices

\r\n\t\t\t\t\t

\r\n\t\t\t\t\t\tNotices from AssetMark to you regarding your use of the Site, the Services and Materials will be\r\n\t\t\t\t\t\tmade by email or regular mail, in the sole discretion of AssetMark, unless otherwise required by\r\n\t\t\t\t\t\tlaw or contract.\r\n\t\t\t\t\t

\r\n\r\n\t\t\t\t\t

General Terms

\r\n\t\t\t\t\t

\r\n\t\t\t\t\t\tAssetMark reserves the right, at its sole discretion, to change, modify, add or remove any\r\n\t\t\t\t\t\tportion of these Terms and Conditions of Use in whole or in part, at any time without notice.\r\n\t\t\t\t\t\tYou should periodically revisit this Site to review the current terms and conditions by which\r\n\t\t\t\t\t\tyou are bound. Changes in these Terms and Conditions of Use will be effective when posted. Your\r\n\t\t\t\t\t\tcontinued use of the Site, the Services and Materials after any changes to these Terms and\r\n\t\t\t\t\t\tConditions of Use are posted will be considered acceptance of the changes.\r\n\t\t\t\t\t

\r\n\t\t\t\t\t

\r\n\t\t\t\t\t\tAssetMark may terminate, change, suspend or discontinue any aspect of the Site, including the\r\n\t\t\t\t\t\tavailability of any features of the Site, at any time without notice. AssetMark may also impose\r\n\t\t\t\t\t\tlimits on certain features and services or restrict your access to all or parts of the Site\r\n\t\t\t\t\t\twithout notice or liability. AssetMark may terminate the authorization, rights and license given\r\n\t\t\t\t\t\tabove.\r\n\t\t\t\t\t

\r\n\t\t\t\t\t

\r\n\t\t\t\t\t\tThe Terms and Conditions of Use constitute the entire agreement between AssetMark and you in\r\n\t\t\t\t\t\tconnection with your use of this Site, the Services and the Materials. Any cause of action you\r\n\t\t\t\t\t\tmay have with respect to your use of this Site, the Services or the Materials must be commenced\r\n\t\t\t\t\t\twithin one (1) year after the claim or cause of action arises. If for any reason an arbitrator\r\n\t\t\t\t\t\tor a court of competent jurisdiction finds any provision of these Terms and Conditions of Use or\r\n\t\t\t\t\t\tportion thereof, to be unenforceable, that provision shall be enforced to the maximum extent\r\n\t\t\t\t\t\tpermissible so as to effect the intent of these Terms and Conditions of Use, and the remainder\r\n\t\t\t\t\t\tof the Terms and Conditions of Use shall continue in full force and effect. In the event of\r\n\t\t\t\t\t\ttermination, the disclaimers and limitations of liabilities set forth in the Terms and\r\n\t\t\t\t\t\tConditions of Use will survive.\r\n\t\t\t\t\t

\r\n\t\t\t\t\t

\r\n\t\t\t\t\t\tThe Terms and Conditions of Use will be deemed to include all other notices, policies,\r\n\t\t\t\t\t\tdisclaimers and other terms contained in this Site and in other contracts that you may have\r\n\t\t\t\t\t\texecuted with AssetMark.\r\n\t\t\t\t\t

\r\n\r\n\t\t\t\t\t

International Users and Choice of Law

\r\n\t\t\t\t\t

\r\n\t\t\t\t\t\tThis Site is controlled, operated and administered by AssetMark from its offices within the\r\n\t\t\t\t\t\tUnited States of America. AssetMark makes no representation that materials at this Site are\r\n\t\t\t\t\t\tappropriate or available for use at other locations outside the United States and access to them\r\n\t\t\t\t\t\tfrom territories where their contents are illegal is prohibited. You may not use the Site or\r\n\t\t\t\t\t\texport the Materials in violation of United States' export laws and regulations. If you access\r\n\t\t\t\t\t\tthis Site from a location outside the United States, you are responsible for compliance with all\r\n\t\t\t\t\t\tlocal laws.\r\n\t\t\t\t\t

\r\n\t\t\t\t\t

\r\n\t\t\t\t\t\tThis Agreement constitutes the entire agreement between AssetMark and you with respect to your\r\n\t\t\t\t\t\tuse of this Site. Any cause of action you may have with respect to your use of this Site must\r\n\t\t\t\t\t\tcommence within one (1) year after the claim or cause of action arises. If for any reason a\r\n\t\t\t\t\t\tcourt of competent jurisdiction finds any provision of this Agreement or portion thereof, to be\r\n\t\t\t\t\t\tunenforceable, that provision shall be enforced to the maximum extent permissible so as to\r\n\t\t\t\t\t\taffect the intent of the Agreement, and the remainder of this Agreement shall continue in full\r\n\t\t\t\t\t\tforce and effect.\r\n\t\t\t\t\t

\r\n\r\n\t\t\t\t\t

Governing Law

\r\n\t\t\t\t\t

\r\n\t\t\t\t\t\tThese Terms and Conditions of Use shall be governed by the laws of the State of California,\r\n\t\t\t\t\t\tUnited States of America, without giving effect to its conflict of laws provisions.\r\n\t\t\t\t\t

\r\n\t\t\t\t
*/}\r\n\t\t\t
\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t
\r\n\t);\r\n};\r\n\r\nexport default Terms;\r\n","import * as React from 'react';\r\nimport Button from '../button/button';\r\nimport styles from './footer.module.css';\r\n\r\nexport const Disclosure: React.StatelessComponent = props => {\r\n\tconst urlToFetchSupportedBrowsersContent = window.location.origin + '/eWMLogin/SupportedBrowsers/SupportedBrowsers';\r\n\treturn (\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\t{/*

Keep Your Browser Current for the Best eWealthManager Experience

\r\n\t\t\t\t

\r\n\t\t\t\t\tTo provide you with the best eWealthManager experience possible, we support Microsoft Edge, Internet\r\n\t\t\t\t\tExplorer 11, and the two latest non-beta versions of Chrome, Firefox and Safari. Although you may\r\n\t\t\t\t\tstill use an older browser version on eWealthManager, you may not have access to all available\r\n\t\t\t\t\tfeatures.\r\n\t\t\t\t

\r\n\r\n\t\t\t\t

\r\n\t\t\t\t\tDownload the latest browser from the following browser development websites:\r\n\t\t\t\t

\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\t\t\t\t\tChrome:\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\thttps://www.google.com/intl/en/chrome/browser\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\tEdge:\r\n\t\t\t\t\t\t\tAvailable updates will be downloaded and installed automatically
\r\n\t\t\t\t\t\t\t\tFirefox:\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\thttp://www.mozilla.org/en-US/firefox/new\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\tInternet Explorer:\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\thttp://windows.microsoft.com/en-us/internet-explorer/download-ie\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\tSafari:\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\thttp://support.apple.com/downloads#safari\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
\r\n\r\n\t\t\t\t

Mobile Devices

\r\n\t\t\t\t

\r\n\t\t\t\t\teWealthManager is best viewed on a desktop PC. You may access the website on a mobile device, but\r\n\t\t\t\t\tmay not have access to all available features.{' '}\r\n\t\t\t\t

\r\n\r\n\t\t\t\t

Update Settings and Tools

\r\n\t\t\t\t

\r\n\t\t\t\t\tPlease enable cookies and JavaScript on your browser. If applicable, the \"compatibility mode\" must\r\n\t\t\t\t\talso be disabled. We also recommend using current versions of Adobe Acrobat Reader and Adobe Flash\r\n\t\t\t\t\tPlayer.{' '}\r\n\t\t\t\t

*/}\r\n\t\t\t
\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t
\r\n\t);\r\n};\r\n\r\nexport default Disclosure;\r\n","import * as React from 'react';\r\nimport Button from '../button/button';\r\nimport styles from './footer.module.css';\r\n\r\nexport const Privacy: React.StatelessComponent = props => {\r\n\treturn (\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t
\r\n\t);\r\n};\r\n\r\nexport default Privacy;\r\n","import * as React from 'react';\r\nimport { Modal } from '../../common/modal/modal.component';\r\nimport { Terms } from './terms.component';\r\nimport { Disclosure } from './disclosure.component';\r\nimport { Privacy } from './privacy.component';\r\n\r\nimport styles from './footer.module.css';\r\n\r\ninterface TFooterProps {\r\n\tcontainerClass?: string;\r\n}\r\n\r\nexport const FooterComponent: React.FC = props => {\r\n\tconst [privacyModal, setPrivacyModal] = React.useState(false);\r\n\tconst [termModal, setTermModal] = React.useState(false);\r\n\tconst [disclouserModal, setDisclouserModal] = React.useState(false);\r\n\r\n\tconst togglePrivacyModal = () => {\r\n\t\tsetPrivacyModal(!privacyModal);\r\n\t};\r\n\tconst toggleTermModal = () => {\r\n\t\tsetTermModal(!termModal);\r\n\t};\r\n\tconst toggleDisclouserModal = () => {\r\n\t\tsetDisclouserModal(!disclouserModal);\r\n\t};\r\n\r\n\tconst renderModals = () => {\r\n\t\treturn (\r\n\t\t\t
\r\n\t\t\t\t{privacyModal && (\r\n\t\t\t\t\t}\r\n\t\t\t\t\t\tfooter={
}\r\n\t\t\t\t\t\ttitle={'Privacy and Security Policy'}\r\n\t\t\t\t\t\tonCloseModalClick={togglePrivacyModal}\r\n\t\t\t\t\t/>\r\n\t\t\t\t)}\r\n\r\n\t\t\t\t{termModal && (\r\n\t\t\t\t\t}\r\n\t\t\t\t\t\tfooter={
}\r\n\t\t\t\t\t\ttitle={'Terms of Use'}\r\n\t\t\t\t\t\tonCloseModalClick={toggleTermModal}\r\n\t\t\t\t\t/>\r\n\t\t\t\t)}\r\n\r\n\t\t\t\t{disclouserModal && (\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tfooter={
}\r\n\t\t\t\t\t\ttitle={'Supported Browsers'}\r\n\t\t\t\t\t\tonCloseModalClick={toggleDisclouserModal}\r\n\t\t\t\t\t/>\r\n\t\t\t\t)}\r\n\t\t\t
\r\n\t\t);\r\n\t};\r\n\r\n\tconst printPolicyData = (): void => {\r\n\t\tconst printContent: HTMLElement | null | string = document.getElementById('privacyPolicy') as HTMLElement;\r\n\t\tconst printContents = printContent.innerHTML;\r\n\r\n\t\tconst newWindow = window.open('', 'Privacy Policy');\r\n\t\tnewWindow?.document.write('Privacy Policy');\r\n\t\tnewWindow?.document.write(``);\r\n\t\tnewWindow?.document.write('');\r\n\t\tnewWindow?.document.write(printContents);\r\n\t\tnewWindow?.document.write('');\r\n\t\tnewWindow?.document.close();\r\n\t\tnewWindow?.focus();\r\n\t\tnewWindow?.focus();\r\n\t\tnewWindow?.print();\r\n\t\tnewWindow?.close();\r\n\t};\r\n\r\n\tconst printTermData = (): void => {\r\n\t\tconst frame: HTMLIFrameElement = document.getElementById(\"iframe\") as HTMLIFrameElement;\r\n\t\tframe.contentWindow && frame.contentWindow.print();\r\n\t\t// const printContent: HTMLElement | null | string = document.getElementById('termofUse') as HTMLElement;\r\n\t\t// const printContents = printContent.innerHTML;\r\n\r\n\t\t// const newWindow = window.open('', 'Term of Use');\r\n\t\t// newWindow?.document.write('TermsofUse');\r\n\t\t// newWindow?.document.write(``);\r\n\t\t// newWindow?.document.write('');\r\n\t\t// newWindow?.document.write(printContents);\r\n\t\t// newWindow?.document.write('');\r\n\t\t// newWindow?.document.close();\r\n\t\t// newWindow?.focus();\r\n\t\t// newWindow?.print();\r\n\t\t// newWindow?.close();\r\n\t};\r\n\r\n\tconst printDisclouserData = (): void => {\r\n\t\tconst frame: HTMLIFrameElement = document.getElementById(\"iframeDisclosure\") as HTMLIFrameElement;\r\n\t\tframe.contentWindow && frame.contentWindow.print();\r\n\t\t// Changed Print functionality to print Iframe Content\r\n\t\t// const printContent: HTMLElement | null | string = document.getElementById('printDisclouser') as HTMLElement;\r\n\t\t// const printContents = printContent.innerHTML;\r\n\t\t// const newWindow = window.open('', 'policy disclosure');\r\n\t\t// newWindow?.document.write('Supported Brower');\r\n\t\t// newWindow?.document.write(``);\r\n\t\t// newWindow?.document.write('');\r\n\t\t// newWindow?.document.write(printContents);\r\n\t\t// newWindow?.document.write('');\r\n\t\t// newWindow?.document.close();\r\n\t\t// newWindow?.focus();\r\n\t\t// newWindow?.focus();\r\n\t\t// newWindow?.print();\r\n\t\t// newWindow?.close();\r\n\t};\r\n\r\n\treturn (\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\t\tCopyright © {new Date().getFullYear()} AssetMark, Inc. All right reserved.\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t\t{renderModals()}\r\n\t\t
\r\n\t);\r\n};\r\n","import { create, RequestMethod, TApiClient } from '@assetmark/ui-kit/dist/utils/api-client.utils';\r\nimport { RoutingUtils } from '@assetmark/ui-kit/dist/utils/routing.utils';\r\nimport { history } from '../history';\r\nimport '@assetmark/ui-kit/dist/rx';\r\n\r\nexport const application$ = RoutingUtils.route$\r\n\t.run(history)\r\n\t.map(route => (route.location.pathname.startsWith('/advisor-console') ? 'IPM' : 'IPA'))\r\n\t.toProperty();\r\n\r\nexport const buildHeaders = () => ({\r\n\t'X-Application': 'WBLP',\r\n});\r\n\r\nconst createLeadAPIClient = (baseHref: string): TApiClient => {\r\n\tconst client$ = application$.map(() => create(baseHref, buildHeaders())).toProperty();\r\n\tconst error$ = client$.switchMap(client => client.error$);\r\n\treturn {\r\n\t\tRequestMethod,\r\n\t\terror$,\r\n\t\trequest: request => client$.take(1).switchMap(client => client.request(request)),\r\n\t\tget: (url, query) => client$.take(1).switchMap(client => client.get(url, query)),\r\n\t\tpost: (url, body) => client$.take(1).switchMap(client => client.post(url, body)),\r\n\t\tput: (url, body) => client$.take(1).switchMap(client => client.put(url, body)),\r\n\t\tremove: (url, query) => client$.take(1).switchMap(client => client.remove(url, query)),\r\n\t};\r\n};\r\n\r\nconst baseClient = createLeadAPIClient('/');\r\n//todo: use type-di\r\nexport const ApiClient = baseClient;\r\nexport const DasApiClient = baseClient;\r\nexport const UserApiClient = baseClient;\r\n\r\n// Stream of all API clients errors.\r\nexport const apiClientsErrors$ = baseClient.error$;\r\n","/**\r\n * Digital Advisor Solutions Service API 1.0\r\n * No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen)\r\n *\r\n * OpenAPI spec version: 1.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by the swagger code generator program.\r\n * https://github.com/swagger-api/swagger-codegen.git\r\n * Do not edit the class manually.\r\n */\r\n\r\nimport { Observable } from 'rxjs';\r\nimport { AjaxRequest } from 'rxjs/observable/dom/AjaxObservable';\r\n//@ts-ignore\r\n// import * as models from '../model/models';\r\nimport { RemoteData } from '@assetmark/ui-kit/dist/utils/remote-data.utils';\r\nimport { ObjectUtils } from '@assetmark/ui-kit/dist/utils/object.utils';\r\n\r\n\r\nimport { AddUpdateContractApplicationInfo } from '../model/addUpdateContractApplicationInfo';\r\nimport { IApplicationState } from '../model/iApplicationState';\r\n\r\nimport {\r\n\tDasApiClient as ApiClient\r\n\t\r\n} from '../../../apis/api.client';\r\n\r\n// import isNotNullable = ObjectUtils.isNotNullable;\r\n\r\ntype TQueryParam = {\r\n\tkey: string,\r\n\tvalue: string | string[] | boolean | number | Date | undefined,\r\n}\r\n\r\n\r\n// eslint-disable-next-line @typescript-eslint/no-namespace \r\nexport namespace PreferenceService {\r\n\t/**\r\n\t* \r\n\t\t* @summary Remove advisor photo.\r\n\t* @param agentId - The agent identifier i.e = AG1634\r\n\t*/\r\n\texport function apiDasV1PreferenceAgentAgentIdAdvisorphotoDelete(agentId: string, customHeaders: Object = {}): Observable> {\r\n\t\tconst path = `/api/das/v1/Preference/agent/${encodeURIComponent(String(agentId))}/advisorphoto`.replace(/^\\//, '').replace('{' + 'agentId' + '}', String(agentId));\r\n\t\tconst allQueryParams: TQueryParam[] = [\r\n\t\t];\r\n\t\tconst queryParams = allQueryParams.filter(param => ObjectUtils.isNotNullable(param.value)).map(param => `${param.key}=${param.value}`).join('&');\r\n\t\tconst apiUrl = queryParams === '' ? path : path.concat(`?${queryParams}`);\r\n\t\tlet headers = customHeaders;\r\n\t\tconst ajaxRequest: AjaxRequest = {\r\n\t\t\turl: apiUrl,\r\n\t\t\tmethod: 'delete',\r\n\t\t\theaders: { ...headers }\r\n\t\t};\r\n\t\treturn ApiClient.request(ajaxRequest);\r\n\t}\r\n\r\n\texport function getUrlForapiDasV1PreferenceAgentAgentIdAdvisorphotoDelete(agentId: string, ): string {\r\n\t\tconst path = '/api/das/v1/Preference/agent/${encodeURIComponent(String(agentId))}/advisorphoto'.replace(/^\\//, '').replace('{' + 'agentId' + '}', String(agentId));\r\n\t\tconst allQueryParams: TQueryParam[] = [\r\n\t\t];\r\n\t\tconst queryParams = allQueryParams.filter(param => ObjectUtils.isNotNullable(param.value)).map(param => `${param.key}=${param.value}`).join('&');\r\n\t\treturn queryParams === '' ? path : path.concat(`?${queryParams}`);\r\n\t}\r\n\t/**\r\n\t* \r\n\t\t* @summary Upload the advisor photo.\r\n\t* @param agentId - The agent identifier i.e = AG1634\r\n\t* @param file - \r\n\t*/\r\n\texport function apiDasV1PreferenceAgentAgentIdAdvisorphotoPost(agentId: string, file?: Blob, customHeaders: Object = {}): Observable> {\r\n\t\tconst path = `/api/das/v1/Preference/agent/${encodeURIComponent(String(agentId))}/advisorphoto`.replace(/^\\//, '').replace('{' + 'agentId' + '}', String(agentId));\r\n\t\tconst allQueryParams: TQueryParam[] = [\r\n\t\t];\r\n\t\tconst queryParams = allQueryParams.filter(param => ObjectUtils.isNotNullable(param.value)).map(param => `${param.key}=${param.value}`).join('&');\r\n\t\tconst apiUrl = queryParams === '' ? path : path.concat(`?${queryParams}`);\r\n\t\tlet headers = customHeaders;\r\n\t\theaders = Object.assign({}, headers, {\"Content-Type\": \"application/x-www-form-urlencoded\" }) ;\r\n\t\tconst ajaxRequest: AjaxRequest = {\r\n\t\t\turl: apiUrl,\r\n\t\t\tmethod: 'post',\r\n\t\t\tbody: { 'file': file, },\r\n\t\t\theaders: { ...headers }\r\n\t\t};\r\n\t\treturn ApiClient.request(ajaxRequest);\r\n\t}\r\n\r\n\texport function getUrlForapiDasV1PreferenceAgentAgentIdAdvisorphotoPost(agentId: string, file?: Blob, ): string {\r\n\t\tconst path = '/api/das/v1/Preference/agent/${encodeURIComponent(String(agentId))}/advisorphoto'.replace(/^\\//, '').replace('{' + 'agentId' + '}', String(agentId));\r\n\t\tconst allQueryParams: TQueryParam[] = [\r\n\t\t];\r\n\t\tconst queryParams = allQueryParams.filter(param => ObjectUtils.isNotNullable(param.value)).map(param => `${param.key}=${param.value}`).join('&');\r\n\t\treturn queryParams === '' ? path : path.concat(`?${queryParams}`);\r\n\t}\r\n\t/**\r\n\t* \r\n\t\t* @summary Get advisor pagesetting.\r\n\t* @param agentId - The agent identifier.AG1634\r\n\t*/\r\n\texport function apiDasV1PreferenceAgentAgentIdPagesettingGet(agentId: string, customHeaders: Object = {}): Observable> {\r\n\t\tconst path = `/api/das/v1/Preference/agent/${encodeURIComponent(String(agentId))}/pagesetting`.replace(/^\\//, '').replace('{' + 'agentId' + '}', String(agentId));\r\n\t\tconst allQueryParams: TQueryParam[] = [\r\n\t\t];\r\n\t\tconst queryParams = allQueryParams.filter(param => ObjectUtils.isNotNullable(param.value)).map(param => `${param.key}=${param.value}`).join('&');\r\n\t\tconst apiUrl = queryParams === '' ? path : path.concat(`?${queryParams}`);\r\n\t\tlet headers = customHeaders;\r\n\t\tconst ajaxRequest: AjaxRequest = {\r\n\t\t\turl: apiUrl,\r\n\t\t\tmethod: 'get',\r\n\t\t\theaders: { ...headers }\r\n\t\t};\r\n\t\treturn ApiClient.request(ajaxRequest);\r\n\t}\r\n\r\n\texport function getUrlForapiDasV1PreferenceAgentAgentIdPagesettingGet(agentId: string, ): string {\r\n\t\tconst path = '/api/das/v1/Preference/agent/${encodeURIComponent(String(agentId))}/pagesetting'.replace(/^\\//, '').replace('{' + 'agentId' + '}', String(agentId));\r\n\t\tconst allQueryParams: TQueryParam[] = [\r\n\t\t];\r\n\t\tconst queryParams = allQueryParams.filter(param => ObjectUtils.isNotNullable(param.value)).map(param => `${param.key}=${param.value}`).join('&');\r\n\t\treturn queryParams === '' ? path : path.concat(`?${queryParams}`);\r\n\t}\r\n\t/**\r\n\t* \r\n\t\t* @summary Updates the advisor preferences.\r\n\t* @param agentId - The agent identifier.\r\n\t* @param body - The request.\r\n\t*/\r\n\texport function apiDasV1PreferenceAgentAgentIdPreferencesPost(agentId: string, body?: AddUpdateContractApplicationInfo, customHeaders: Object = {}): Observable> {\r\n\t\tconst path = `/api/das/v1/Preference/agent/${encodeURIComponent(String(agentId))}/preferences`.replace(/^\\//, '').replace('{' + 'agentId' + '}', String(agentId));\r\n\t\tconst allQueryParams: TQueryParam[] = [\r\n\t\t];\r\n\t\tconst queryParams = allQueryParams.filter(param => ObjectUtils.isNotNullable(param.value)).map(param => `${param.key}=${param.value}`).join('&');\r\n\t\tconst apiUrl = queryParams === '' ? path : path.concat(`?${queryParams}`);\r\n\t\tlet headers = customHeaders;\r\n\t\tconst ajaxRequest: AjaxRequest = {\r\n\t\t\turl: apiUrl,\r\n\t\t\tmethod: 'post',\r\n\t\t\tbody: body,\r\n\t\t\theaders: { ...headers }\r\n\t\t};\r\n\t\treturn ApiClient.request(ajaxRequest);\r\n\t}\r\n\r\n\texport function getUrlForapiDasV1PreferenceAgentAgentIdPreferencesPost(agentId: string, body?: AddUpdateContractApplicationInfo, ): string {\r\n\t\tconst path = '/api/das/v1/Preference/agent/${encodeURIComponent(String(agentId))}/preferences'.replace(/^\\//, '').replace('{' + 'agentId' + '}', String(agentId));\r\n\t\tconst allQueryParams: TQueryParam[] = [\r\n\t\t];\r\n\t\tconst queryParams = allQueryParams.filter(param => ObjectUtils.isNotNullable(param.value)).map(param => `${param.key}=${param.value}`).join('&');\r\n\t\treturn queryParams === '' ? path : path.concat(`?${queryParams}`);\r\n\t}\r\n}\r\n","/**\r\n * Digital Advisor Solutions Service API 1.0\r\n * No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen)\r\n *\r\n * OpenAPI spec version: 1.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by the swagger code generator program.\r\n * https://github.com/swagger-api/swagger-codegen.git\r\n * Do not edit the class manually.\r\n */\r\n\r\nimport { Observable } from 'rxjs';\r\nimport { AjaxRequest } from 'rxjs/observable/dom/AjaxObservable';\r\n//@ts-ignore\r\n// import * as models from '../model/models';\r\nimport { RemoteData } from '@assetmark/ui-kit/dist/utils/remote-data.utils';\r\nimport { ObjectUtils } from '@assetmark/ui-kit/dist/utils/object.utils';\r\n\r\n\r\nimport { ContainerName } from '../model/containerName';\r\nimport { ImageSize } from '../model/imageSize';\r\nimport { WBGetStartedImages } from '../model/wBGetStartedImages';\r\n\r\nimport {\r\n\tDasApiClient as ApiClient\r\n\t\r\n} from '../../../apis/api.client';\r\n\r\n// import isNotNullable = ObjectUtils.isNotNullable;\r\n\r\ntype TQueryParam = {\r\n\tkey: string,\r\n\tvalue: string | string[] | boolean | number | Date | undefined,\r\n}\r\n\r\n\r\n// eslint-disable-next-line @typescript-eslint/no-namespace \r\nexport namespace ResourcesService {\r\n\t/**\r\n\t* \r\n\t\t* @summary Download image\r\n\t* @param path - URI : \\"CMSImagesStore00/logos/AG0166-logo.jpeg\\"\r\n\t*/\r\n\texport function apiDasV1ResourcesDownloadlogoGet(logoPath?: string, customHeaders: Object = {}): Observable> {\r\n\t\tconst path = `/api/das/v1/Resources/downloadlogo`.replace(/^\\//, '');\r\n\t\tconst allQueryParams: TQueryParam[] = [\r\n\t\t\t\t{\r\n\t\t\t\t\tkey: 'path',\r\n\t\t\t\t\tvalue: logoPath\r\n\t\t\t\t},\r\n\t\t];\r\n\t\tconst queryParams = allQueryParams.filter(param => ObjectUtils.isNotNullable(param.value)).map(param => `${param.key}=${param.value}`).join('&');\r\n\t\tconst apiUrl = queryParams === '' ? path : path.concat(`?${queryParams}`);\r\n\t\tlet headers = customHeaders;\r\n\t\tconst ajaxRequest: AjaxRequest = {\r\n\t\t\turl: apiUrl,\r\n\t\t\tmethod: 'get',\r\n\t\t\theaders: { ...headers }\r\n\t\t};\r\n\t\treturn ApiClient.request(ajaxRequest);\r\n\t}\r\n\r\n\texport function getUrlForapiDasV1ResourcesDownloadlogoGet(logoPath?: string, ): string {\r\n\t\tconst path = '/api/das/v1/Resources/downloadlogo'.replace(/^\\//, '');\r\n\t\tconst allQueryParams: TQueryParam[] = [\r\n\t\t\t{\r\n\t\t\tkey: 'path',\r\n\t\t\tvalue: logoPath\r\n\t\t\t},\r\n\t\t];\r\n\t\tconst queryParams = allQueryParams.filter(param => ObjectUtils.isNotNullable(param.value)).map(param => `${param.key}=${param.value}`).join('&');\r\n\t\treturn queryParams === '' ? path : path.concat(`?${queryParams}`);\r\n\t}\r\n\t/**\r\n\t* \r\n\t\t* @summary Download Blob data\r\n\t* @param url - URI : https://azncd01edhadl1.blob.core.windows.net/getstartedimages/1_Wealth_Builder_LANDING.png\r\n\t*/\r\n\texport function apiDasV1ResourcesGet(url?: string, customHeaders: Object = {}): Observable> {\r\n\t\tconst path = `/api/das/v1/Resources`.replace(/^\\//, '');\r\n\t\tconst allQueryParams: TQueryParam[] = [\r\n\t\t\t\t{\r\n\t\t\t\t\tkey: 'url',\r\n\t\t\t\t\tvalue: url\r\n\t\t\t\t},\r\n\t\t];\r\n\t\tconst queryParams = allQueryParams.filter(param => ObjectUtils.isNotNullable(param.value)).map(param => `${param.key}=${param.value}`).join('&');\r\n\t\tconst apiUrl = queryParams === '' ? path : path.concat(`?${queryParams}`);\r\n\t\tlet headers = customHeaders;\r\n\t\tconst ajaxRequest: AjaxRequest = {\r\n\t\t\turl: apiUrl,\r\n\t\t\tmethod: 'get',\r\n\t\t\theaders: { ...headers }\r\n\t\t};\r\n\t\treturn ApiClient.request(ajaxRequest);\r\n\t}\r\n\r\n\texport function getUrlForapiDasV1ResourcesGet(url?: string, ): string {\r\n\t\tconst path = '/api/das/v1/Resources'.replace(/^\\//, '');\r\n\t\tconst allQueryParams: TQueryParam[] = [\r\n\t\t\t{\r\n\t\t\tkey: 'url',\r\n\t\t\tvalue: url\r\n\t\t\t},\r\n\t\t];\r\n\t\tconst queryParams = allQueryParams.filter(param => ObjectUtils.isNotNullable(param.value)).map(param => `${param.key}=${param.value}`).join('&');\r\n\t\treturn queryParams === '' ? path : path.concat(`?${queryParams}`);\r\n\t}\r\n\t/**\r\n\t* \r\n\t\t* @summary Get the List of Url of Images from Blob container\r\n\t* @param containerName - \r\n\t* @param imageSizeType - \r\n\t* @param index - \r\n\t*/\r\n\texport function apiDasV1ResourcesImagesGet(containerName?: ContainerName, imageSizeType?: ImageSize, index?: number, customHeaders: Object = {}): Observable>> {\r\n\t\tconst path = `/api/das/v1/Resources/images`.replace(/^\\//, '');\r\n\t\tconst allQueryParams: TQueryParam[] = [\r\n\t\t\t\t{\r\n\t\t\t\t\tkey: 'containerName',\r\n\t\t\t\t\tvalue: containerName\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\tkey: 'imageSizeType',\r\n\t\t\t\t\tvalue: imageSizeType\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\tkey: 'index',\r\n\t\t\t\t\tvalue: index\r\n\t\t\t\t},\r\n\t\t];\r\n\t\tconst queryParams = allQueryParams.filter(param => ObjectUtils.isNotNullable(param.value)).map(param => `${param.key}=${param.value}`).join('&');\r\n\t\tconst apiUrl = queryParams === '' ? path : path.concat(`?${queryParams}`);\r\n\t\tlet headers = customHeaders;\r\n\t\tconst ajaxRequest: AjaxRequest = {\r\n\t\t\turl: apiUrl,\r\n\t\t\tmethod: 'get',\r\n\t\t\theaders: { ...headers }\r\n\t\t};\r\n\t\treturn ApiClient.request(ajaxRequest);\r\n\t}\r\n\r\n\texport function getUrlForapiDasV1ResourcesImagesGet(containerName?: ContainerName, imageSizeType?: ImageSize, index?: number, ): string {\r\n\t\tconst path = '/api/das/v1/Resources/images'.replace(/^\\//, '');\r\n\t\tconst allQueryParams: TQueryParam[] = [\r\n\t\t\t{\r\n\t\t\tkey: 'containerName',\r\n\t\t\tvalue: containerName\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\tkey: 'imageSizeType',\r\n\t\t\tvalue: imageSizeType\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\tkey: 'index',\r\n\t\t\tvalue: index\r\n\t\t\t},\r\n\t\t];\r\n\t\tconst queryParams = allQueryParams.filter(param => ObjectUtils.isNotNullable(param.value)).map(param => `${param.key}=${param.value}`).join('&');\r\n\t\treturn queryParams === '' ? path : path.concat(`?${queryParams}`);\r\n\t}\r\n\t/**\r\n\t* \r\n\t\t* @summary Get the List of Url of Images from Blob container\r\n\t*/\r\n\texport function apiDasV1ResourcesIntroductionGetstartedGet(customHeaders: Object = {}): Observable>> {\r\n\t\tconst path = `/api/das/v1/Resources/introduction/getstarted`.replace(/^\\//, '');\r\n\t\tconst allQueryParams: TQueryParam[] = [\r\n\t\t];\r\n\t\tconst queryParams = allQueryParams.filter(param => ObjectUtils.isNotNullable(param.value)).map(param => `${param.key}=${param.value}`).join('&');\r\n\t\tconst apiUrl = queryParams === '' ? path : path.concat(`?${queryParams}`);\r\n\t\tlet headers = customHeaders;\r\n\t\tconst ajaxRequest: AjaxRequest = {\r\n\t\t\turl: apiUrl,\r\n\t\t\tmethod: 'get',\r\n\t\t\theaders: { ...headers }\r\n\t\t};\r\n\t\treturn ApiClient.request(ajaxRequest);\r\n\t}\r\n\r\n\texport function getUrlForapiDasV1ResourcesIntroductionGetstartedGet(): string {\r\n\t\tconst path = '/api/das/v1/Resources/introduction/getstarted'.replace(/^\\//, '');\r\n\t\tconst allQueryParams: TQueryParam[] = [\r\n\t\t];\r\n\t\tconst queryParams = allQueryParams.filter(param => ObjectUtils.isNotNullable(param.value)).map(param => `${param.key}=${param.value}`).join('&');\r\n\t\treturn queryParams === '' ? path : path.concat(`?${queryParams}`);\r\n\t}\r\n}\r\n","/**\r\n * Digital Advisor Solutions Service API 1.0\r\n * No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen)\r\n *\r\n * OpenAPI spec version: 1.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by the swagger code generator program.\r\n * https://github.com/swagger-api/swagger-codegen.git\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport enum ContainerName {\r\n Getstartedimages = 'getstartedimages',\r\n Youranalysisimages = 'youranalysisimages',\r\n Riskprofileimages = 'riskprofileimages'\r\n}\r\n","/**\r\n * Digital Advisor Solutions Service API 1.0\r\n * No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen)\r\n *\r\n * OpenAPI spec version: 1.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by the swagger code generator program.\r\n * https://github.com/swagger-api/swagger-codegen.git\r\n * Do not edit the class manually.\r\n */\r\n\r\nimport { Observable } from 'rxjs';\r\nimport { AjaxRequest } from 'rxjs/observable/dom/AjaxObservable';\r\n//@ts-ignore\r\n// import * as models from '../model/models';\r\nimport { RemoteData } from '@assetmark/ui-kit/dist/utils/remote-data.utils';\r\nimport { ObjectUtils } from '@assetmark/ui-kit/dist/utils/object.utils';\r\n\r\n\r\nimport { AddUpdateLead } from '../model/addUpdateLead';\r\nimport { AddUpdateLeadGoal } from '../model/addUpdateLeadGoal';\r\nimport { LastPageVisitedRequest } from '../model/lastPageVisitedRequest';\r\nimport { LeadAlertResponse } from '../model/leadAlertResponse';\r\nimport { LeadAlertsRequest } from '../model/leadAlertsRequest';\r\nimport { LeadGoal } from '../model/leadGoal';\r\nimport { LeadGoalResponse } from '../model/leadGoalResponse';\r\nimport { LeadProfileResponse } from '../model/leadProfileResponse';\r\nimport { LeadQuestionAnswers } from '../model/leadQuestionAnswers';\r\nimport { LeadRiskResponse } from '../model/leadRiskResponse';\r\nimport { LeadStatusFilterEnum } from '../model/leadStatusFilterEnum';\r\nimport { LeadStrategyInfoResponse } from '../model/leadStrategyInfoResponse';\r\nimport { LeadStrategyUpdateRequest } from '../model/leadStrategyUpdateRequest';\r\nimport { LeadUserResponse } from '../model/leadUserResponse';\r\nimport { OtherRetirementIncomeSourceType } from '../model/otherRetirementIncomeSourceType';\r\nimport { RiskQuestion } from '../model/riskQuestion';\r\nimport { StrategyAccountDetailsResponse } from '../model/strategyAccountDetailsResponse';\r\n\r\nimport {\r\n\tDasApiClient as ApiClient\r\n\t\r\n} from '../../../apis/api.client';\r\n\r\n// import isNotNullable = ObjectUtils.isNotNullable;\r\n\r\ntype TQueryParam = {\r\n\tkey: string,\r\n\tvalue: string | string[] | boolean | number | Date | undefined,\r\n}\r\n\r\n\r\n// eslint-disable-next-line @typescript-eslint/no-namespace \r\nexport namespace LeadService {\r\n\t/**\r\n\t* \r\n\t\t* @summary Calling investor api for get lead alerts\r\n\t*/\r\n\texport function apiDasV1LeadAlertsGet(customHeaders: Object = {}): Observable>> {\r\n\t\tconst path = `/api/das/v1/lead/alerts`.replace(/^\\//, '');\r\n\t\tconst allQueryParams: TQueryParam[] = [\r\n\t\t];\r\n\t\tconst queryParams = allQueryParams.filter(param => ObjectUtils.isNotNullable(param.value)).map(param => `${param.key}=${param.value}`).join('&');\r\n\t\tconst apiUrl = queryParams === '' ? path : path.concat(`?${queryParams}`);\r\n\t\tlet headers = customHeaders;\r\n\t\tconst ajaxRequest: AjaxRequest = {\r\n\t\t\turl: apiUrl,\r\n\t\t\tmethod: 'get',\r\n\t\t\theaders: { ...headers }\r\n\t\t};\r\n\t\treturn ApiClient.request(ajaxRequest);\r\n\t}\r\n\r\n\texport function getUrlForapiDasV1LeadAlertsGet(): string {\r\n\t\tconst path = '/api/das/v1/lead/alerts'.replace(/^\\//, '');\r\n\t\tconst allQueryParams: TQueryParam[] = [\r\n\t\t];\r\n\t\tconst queryParams = allQueryParams.filter(param => ObjectUtils.isNotNullable(param.value)).map(param => `${param.key}=${param.value}`).join('&');\r\n\t\treturn queryParams === '' ? path : path.concat(`?${queryParams}`);\r\n\t}\r\n\t/**\r\n\t* \r\n\t\t* @summary Calling investors service for update lead alerts\r\n\t* @param body - \r\n\t*/\r\n\texport function apiDasV1LeadAlertsPut(body?: LeadAlertsRequest, customHeaders: Object = {}): Observable> {\r\n\t\tconst path = `/api/das/v1/lead/alerts`.replace(/^\\//, '');\r\n\t\tconst allQueryParams: TQueryParam[] = [\r\n\t\t];\r\n\t\tconst queryParams = allQueryParams.filter(param => ObjectUtils.isNotNullable(param.value)).map(param => `${param.key}=${param.value}`).join('&');\r\n\t\tconst apiUrl = queryParams === '' ? path : path.concat(`?${queryParams}`);\r\n\t\tlet headers = customHeaders;\r\n\t\tconst ajaxRequest: AjaxRequest = {\r\n\t\t\turl: apiUrl,\r\n\t\t\tmethod: 'put',\r\n\t\t\tbody: body,\r\n\t\t\theaders: { ...headers }\r\n\t\t};\r\n\t\treturn ApiClient.request(ajaxRequest);\r\n\t}\r\n\r\n\texport function getUrlForapiDasV1LeadAlertsPut(body?: LeadAlertsRequest, ): string {\r\n\t\tconst path = '/api/das/v1/lead/alerts'.replace(/^\\//, '');\r\n\t\tconst allQueryParams: TQueryParam[] = [\r\n\t\t];\r\n\t\tconst queryParams = allQueryParams.filter(param => ObjectUtils.isNotNullable(param.value)).map(param => `${param.key}=${param.value}`).join('&');\r\n\t\treturn queryParams === '' ? path : path.concat(`?${queryParams}`);\r\n\t}\r\n\t/**\r\n\t* \r\n\t\t* @summary Get lead user\r\n\t* @param leadSearchText - \r\n\t* @param advisorId - \r\n\t* @param paginationFilterPageNumber - \r\n\t* @param paginationFilterPageSize - \r\n\t* @param clientStatusFilter - \r\n\t*/\r\n\texport function apiDasV1LeadGet(leadSearchText?: string, advisorId?: Array, paginationFilterPageNumber?: number, paginationFilterPageSize?: number, clientStatusFilter?: LeadStatusFilterEnum, customHeaders: Object = {}): Observable> {\r\n\t\tconst path = `/api/das/v1/lead`.replace(/^\\//, '');\r\n\t\tconst allQueryParams: TQueryParam[] = [\r\n\t\t\t\t{\r\n\t\t\t\t\tkey: 'leadSearchText',\r\n\t\t\t\t\tvalue: leadSearchText\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\tkey: 'advisorId',\r\n\t\t\t\t\tvalue: advisorId\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\tkey: 'paginationFilter.PageNumber',\r\n\t\t\t\t\tvalue: paginationFilterPageNumber\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\tkey: 'paginationFilter.PageSize',\r\n\t\t\t\t\tvalue: paginationFilterPageSize\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\tkey: 'clientStatusFilter',\r\n\t\t\t\t\tvalue: clientStatusFilter\r\n\t\t\t\t},\r\n\t\t];\r\n\t\tconst queryParams = allQueryParams.filter(param => ObjectUtils.isNotNullable(param.value)).map(param => `${param.key}=${param.value}`).join('&');\r\n\t\tconst apiUrl = queryParams === '' ? path : path.concat(`?${queryParams}`);\r\n\t\tlet headers = customHeaders;\r\n\t\tconst ajaxRequest: AjaxRequest = {\r\n\t\t\turl: apiUrl,\r\n\t\t\tmethod: 'get',\r\n\t\t\theaders: { ...headers }\r\n\t\t};\r\n\t\treturn ApiClient.request(ajaxRequest);\r\n\t}\r\n\r\n\texport function getUrlForapiDasV1LeadGet(leadSearchText?: string, advisorId?: Array, paginationFilterPageNumber?: number, paginationFilterPageSize?: number, clientStatusFilter?: LeadStatusFilterEnum, ): string {\r\n\t\tconst path = '/api/das/v1/lead'.replace(/^\\//, '');\r\n\t\tconst allQueryParams: TQueryParam[] = [\r\n\t\t\t{\r\n\t\t\tkey: 'leadSearchText',\r\n\t\t\tvalue: leadSearchText\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\tkey: 'advisorId',\r\n\t\t\tvalue: advisorId\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\tkey: 'paginationFilter.PageNumber',\r\n\t\t\tvalue: paginationFilterPageNumber\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\tkey: 'paginationFilter.PageSize',\r\n\t\t\tvalue: paginationFilterPageSize\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\tkey: 'clientStatusFilter',\r\n\t\t\tvalue: clientStatusFilter\r\n\t\t\t},\r\n\t\t];\r\n\t\tconst queryParams = allQueryParams.filter(param => ObjectUtils.isNotNullable(param.value)).map(param => `${param.key}=${param.value}`).join('&');\r\n\t\treturn queryParams === '' ? path : path.concat(`?${queryParams}`);\r\n\t}\r\n\t/**\r\n\t* \r\n\t\t* @summary Calling investor service and Get the Lead Goal by Goal Id.\r\n\t* @param goalId - Goal Id i.e 5b1d9c8a-eff2-41f1-ad2c-dc62e9460083\r\n\t* @param agentId - Agent Id i.e AG1634\r\n\t*/\r\n\texport function apiDasV1LeadGoalsGoalIdGet(goalId: string, agentId?: string, customHeaders: Object = {}): Observable> {\r\n\t\tconst path = `/api/das/v1/lead/goals/${encodeURIComponent(String(goalId))}`.replace(/^\\//, '').replace('{' + 'goalId' + '}', String(goalId));\r\n\t\tconst allQueryParams: TQueryParam[] = [\r\n\t\t\t\t{\r\n\t\t\t\t\tkey: 'agentId',\r\n\t\t\t\t\tvalue: agentId\r\n\t\t\t\t},\r\n\t\t];\r\n\t\tconst queryParams = allQueryParams.filter(param => ObjectUtils.isNotNullable(param.value)).map(param => `${param.key}=${param.value}`).join('&');\r\n\t\tconst apiUrl = queryParams === '' ? path : path.concat(`?${queryParams}`);\r\n\t\tlet headers = customHeaders;\r\n\t\tconst ajaxRequest: AjaxRequest = {\r\n\t\t\turl: apiUrl,\r\n\t\t\tmethod: 'get',\r\n\t\t\theaders: { ...headers }\r\n\t\t};\r\n\t\treturn ApiClient.request(ajaxRequest);\r\n\t}\r\n\r\n\texport function getUrlForapiDasV1LeadGoalsGoalIdGet(goalId: string, agentId?: string, ): string {\r\n\t\tconst path = '/api/das/v1/lead/goals/${encodeURIComponent(String(goalId))}'.replace(/^\\//, '').replace('{' + 'goalId' + '}', String(goalId));\r\n\t\tconst allQueryParams: TQueryParam[] = [\r\n\t\t\t{\r\n\t\t\tkey: 'agentId',\r\n\t\t\tvalue: agentId\r\n\t\t\t},\r\n\t\t];\r\n\t\tconst queryParams = allQueryParams.filter(param => ObjectUtils.isNotNullable(param.value)).map(param => `${param.key}=${param.value}`).join('&');\r\n\t\treturn queryParams === '' ? path : path.concat(`?${queryParams}`);\r\n\t}\r\n\t/**\r\n\t* \r\n\t\t* @summary Delete the Lead by Lead Id.\r\n\t* @param leadId - Lead Id i.e 931c38fd-6cab-4ad0-9fb8-83952eddeb0e\r\n\t* @param agentId - Agent Id i.e AG1634\r\n\t*/\r\n\texport function apiDasV1LeadLeadIdDelete(leadId: string, agentId?: string, customHeaders: Object = {}): Observable> {\r\n\t\tconst path = `/api/das/v1/lead/${encodeURIComponent(String(leadId))}`.replace(/^\\//, '').replace('{' + 'leadId' + '}', String(leadId));\r\n\t\tconst allQueryParams: TQueryParam[] = [\r\n\t\t\t\t{\r\n\t\t\t\t\tkey: 'agentId',\r\n\t\t\t\t\tvalue: agentId\r\n\t\t\t\t},\r\n\t\t];\r\n\t\tconst queryParams = allQueryParams.filter(param => ObjectUtils.isNotNullable(param.value)).map(param => `${param.key}=${param.value}`).join('&');\r\n\t\tconst apiUrl = queryParams === '' ? path : path.concat(`?${queryParams}`);\r\n\t\tlet headers = customHeaders;\r\n\t\tconst ajaxRequest: AjaxRequest = {\r\n\t\t\turl: apiUrl,\r\n\t\t\tmethod: 'delete',\r\n\t\t\theaders: { ...headers }\r\n\t\t};\r\n\t\treturn ApiClient.request(ajaxRequest);\r\n\t}\r\n\r\n\texport function getUrlForapiDasV1LeadLeadIdDelete(leadId: string, agentId?: string, ): string {\r\n\t\tconst path = '/api/das/v1/lead/${encodeURIComponent(String(leadId))}'.replace(/^\\//, '').replace('{' + 'leadId' + '}', String(leadId));\r\n\t\tconst allQueryParams: TQueryParam[] = [\r\n\t\t\t{\r\n\t\t\tkey: 'agentId',\r\n\t\t\tvalue: agentId\r\n\t\t\t},\r\n\t\t];\r\n\t\tconst queryParams = allQueryParams.filter(param => ObjectUtils.isNotNullable(param.value)).map(param => `${param.key}=${param.value}`).join('&');\r\n\t\treturn queryParams === '' ? path : path.concat(`?${queryParams}`);\r\n\t}\r\n\t/**\r\n\t* \r\n\t\t* @summary Calling investor service and Get the Lead Profile by Lead Id.\r\n\t* @param leadId - Lead Id i.e 931c38fd-6cab-4ad0-9fb8-83952eddeb0e\r\n\t* @param agentId - Agent Id i.e AG1634\r\n\t*/\r\n\texport function apiDasV1LeadLeadIdGet(leadId: string, agentId?: string, customHeaders: Object = {}): Observable> {\r\n\t\tconst path = `/api/das/v1/lead/${encodeURIComponent(String(leadId))}`.replace(/^\\//, '').replace('{' + 'leadId' + '}', String(leadId));\r\n\t\tconst allQueryParams: TQueryParam[] = [\r\n\t\t\t\t{\r\n\t\t\t\t\tkey: 'agentId',\r\n\t\t\t\t\tvalue: agentId\r\n\t\t\t\t},\r\n\t\t];\r\n\t\tconst queryParams = allQueryParams.filter(param => ObjectUtils.isNotNullable(param.value)).map(param => `${param.key}=${param.value}`).join('&');\r\n\t\tconst apiUrl = queryParams === '' ? path : path.concat(`?${queryParams}`);\r\n\t\tlet headers = customHeaders;\r\n\t\tconst ajaxRequest: AjaxRequest = {\r\n\t\t\turl: apiUrl,\r\n\t\t\tmethod: 'get',\r\n\t\t\theaders: { ...headers }\r\n\t\t};\r\n\t\treturn ApiClient.request(ajaxRequest);\r\n\t}\r\n\r\n\texport function getUrlForapiDasV1LeadLeadIdGet(leadId: string, agentId?: string, ): string {\r\n\t\tconst path = '/api/das/v1/lead/${encodeURIComponent(String(leadId))}'.replace(/^\\//, '').replace('{' + 'leadId' + '}', String(leadId));\r\n\t\tconst allQueryParams: TQueryParam[] = [\r\n\t\t\t{\r\n\t\t\tkey: 'agentId',\r\n\t\t\tvalue: agentId\r\n\t\t\t},\r\n\t\t];\r\n\t\tconst queryParams = allQueryParams.filter(param => ObjectUtils.isNotNullable(param.value)).map(param => `${param.key}=${param.value}`).join('&');\r\n\t\treturn queryParams === '' ? path : path.concat(`?${queryParams}`);\r\n\t}\r\n\t/**\r\n\t* \r\n\t\t* @summary Calling investor service to get lead questions for the lead\r\n\t* @param leadId - Lead Id. i.e 931c38fd-6cab-4ad0-9fb8-83952eddeb0e\r\n\t* @param questionnaireId - Questionnaire Id. i.e 6 1) 2- Long questionnaire Set 2) 5- Short questionnaire Set 3) 6 - Five Questionnaire Set\r\n\t* @param agentId - Agent Id i.e AG1634\r\n\t*/\r\n\texport function apiDasV1LeadLeadIdLeadprofilesQuestionsQuestionnaireIdGet(leadId: string, questionnaireId: number, agentId?: string, customHeaders: Object = {}): Observable>> {\r\n\t\tconst path = `/api/das/v1/lead/${encodeURIComponent(String(leadId))}/leadprofiles/questions/${encodeURIComponent(String(questionnaireId))}`.replace(/^\\//, '').replace('{' + 'leadId' + '}', String(leadId)).replace('{' + 'questionnaireId' + '}', String(questionnaireId));\r\n\t\tconst allQueryParams: TQueryParam[] = [\r\n\t\t\t\t{\r\n\t\t\t\t\tkey: 'agentId',\r\n\t\t\t\t\tvalue: agentId\r\n\t\t\t\t},\r\n\t\t];\r\n\t\tconst queryParams = allQueryParams.filter(param => ObjectUtils.isNotNullable(param.value)).map(param => `${param.key}=${param.value}`).join('&');\r\n\t\tconst apiUrl = queryParams === '' ? path : path.concat(`?${queryParams}`);\r\n\t\tlet headers = customHeaders;\r\n\t\tconst ajaxRequest: AjaxRequest = {\r\n\t\t\turl: apiUrl,\r\n\t\t\tmethod: 'get',\r\n\t\t\theaders: { ...headers }\r\n\t\t};\r\n\t\treturn ApiClient.request(ajaxRequest);\r\n\t}\r\n\r\n\texport function getUrlForapiDasV1LeadLeadIdLeadprofilesQuestionsQuestionnaireIdGet(leadId: string, questionnaireId: number, agentId?: string, ): string {\r\n\t\tconst path = '/api/das/v1/lead/${encodeURIComponent(String(leadId))}/leadprofiles/questions/${encodeURIComponent(String(questionnaireId))}'.replace(/^\\//, '').replace('{' + 'leadId' + '}', String(leadId)).replace('{' + 'questionnaireId' + '}', String(questionnaireId));\r\n\t\tconst allQueryParams: TQueryParam[] = [\r\n\t\t\t{\r\n\t\t\tkey: 'agentId',\r\n\t\t\tvalue: agentId\r\n\t\t\t},\r\n\t\t];\r\n\t\tconst queryParams = allQueryParams.filter(param => ObjectUtils.isNotNullable(param.value)).map(param => `${param.key}=${param.value}`).join('&');\r\n\t\treturn queryParams === '' ? path : path.concat(`?${queryParams}`);\r\n\t}\r\n\t/**\r\n\t* \r\n\t\t* @summary Calling investor service for add or update lead questions answers for the Lead\r\n\t* @param leadId - Lead Id. i.e 931c38fd-6cab-4ad0-9fb8-83952eddeb0e\r\n\t* @param questionnaireId - Questionnaire Id. i.e 6\r\n\t* @param body - Lead Answers\r\n\t* @param agentId - Agent Id. i.e AG1634\r\n\t*/\r\n\texport function apiDasV1LeadLeadIdLeadprofilesQuestionsQuestionnaireIdPut(leadId: string, questionnaireId: number, body?: Array, agentId?: string, customHeaders: Object = {}): Observable>> {\r\n\t\tconst path = `/api/das/v1/lead/${encodeURIComponent(String(leadId))}/leadprofiles/questions/${encodeURIComponent(String(questionnaireId))}`.replace(/^\\//, '').replace('{' + 'leadId' + '}', String(leadId)).replace('{' + 'questionnaireId' + '}', String(questionnaireId));\r\n\t\tconst allQueryParams: TQueryParam[] = [\r\n\t\t\t\t{\r\n\t\t\t\t\tkey: 'agentId',\r\n\t\t\t\t\tvalue: agentId\r\n\t\t\t\t},\r\n\t\t];\r\n\t\tconst queryParams = allQueryParams.filter(param => ObjectUtils.isNotNullable(param.value)).map(param => `${param.key}=${param.value}`).join('&');\r\n\t\tconst apiUrl = queryParams === '' ? path : path.concat(`?${queryParams}`);\r\n\t\tlet headers = customHeaders;\r\n\t\tconst ajaxRequest: AjaxRequest = {\r\n\t\t\turl: apiUrl,\r\n\t\t\tmethod: 'put',\r\n\t\t\tbody: body,\r\n\t\t\theaders: { ...headers }\r\n\t\t};\r\n\t\treturn ApiClient.request(ajaxRequest);\r\n\t}\r\n\r\n\texport function getUrlForapiDasV1LeadLeadIdLeadprofilesQuestionsQuestionnaireIdPut(leadId: string, questionnaireId: number, body?: Array, agentId?: string, ): string {\r\n\t\tconst path = '/api/das/v1/lead/${encodeURIComponent(String(leadId))}/leadprofiles/questions/${encodeURIComponent(String(questionnaireId))}'.replace(/^\\//, '').replace('{' + 'leadId' + '}', String(leadId)).replace('{' + 'questionnaireId' + '}', String(questionnaireId));\r\n\t\tconst allQueryParams: TQueryParam[] = [\r\n\t\t\t{\r\n\t\t\tkey: 'agentId',\r\n\t\t\tvalue: agentId\r\n\t\t\t},\r\n\t\t];\r\n\t\tconst queryParams = allQueryParams.filter(param => ObjectUtils.isNotNullable(param.value)).map(param => `${param.key}=${param.value}`).join('&');\r\n\t\treturn queryParams === '' ? path : path.concat(`?${queryParams}`);\r\n\t}\r\n\t/**\r\n\t* \r\n\t\t* @summary Call investor service for updates the lead Application State\r\n\t* @param leadId - Lead Id. i.e 931c38fd-6cab-4ad0-9fb8-83952eddeb0e\r\n\t* @param leadStrategyId - Lead Strategy Id. i.e 69599b0d-c385-4abe-a555-5e9fa20e517c\r\n\t* @param body - Request. i.e Last Page visited "Set Goal"\r\n\t*/\r\n\texport function apiDasV1LeadLeadIdLeadstrategiesLeadStrategyIdApplicationstatePost(leadId: string, leadStrategyId: string, body?: LastPageVisitedRequest, customHeaders: Object = {}): Observable> {\r\n\t\tconst path = `/api/das/v1/lead/${encodeURIComponent(String(leadId))}/leadstrategies/${encodeURIComponent(String(leadStrategyId))}/applicationstate`.replace(/^\\//, '').replace('{' + 'leadId' + '}', String(leadId)).replace('{' + 'leadStrategyId' + '}', String(leadStrategyId));\r\n\t\tconst allQueryParams: TQueryParam[] = [\r\n\t\t];\r\n\t\tconst queryParams = allQueryParams.filter(param => ObjectUtils.isNotNullable(param.value)).map(param => `${param.key}=${param.value}`).join('&');\r\n\t\tconst apiUrl = queryParams === '' ? path : path.concat(`?${queryParams}`);\r\n\t\tlet headers = customHeaders;\r\n\t\tconst ajaxRequest: AjaxRequest = {\r\n\t\t\turl: apiUrl,\r\n\t\t\tmethod: 'post',\r\n\t\t\tbody: body,\r\n\t\t\theaders: { ...headers }\r\n\t\t};\r\n\t\treturn ApiClient.request(ajaxRequest);\r\n\t}\r\n\r\n\texport function getUrlForapiDasV1LeadLeadIdLeadstrategiesLeadStrategyIdApplicationstatePost(leadId: string, leadStrategyId: string, body?: LastPageVisitedRequest, ): string {\r\n\t\tconst path = '/api/das/v1/lead/${encodeURIComponent(String(leadId))}/leadstrategies/${encodeURIComponent(String(leadStrategyId))}/applicationstate'.replace(/^\\//, '').replace('{' + 'leadId' + '}', String(leadId)).replace('{' + 'leadStrategyId' + '}', String(leadStrategyId));\r\n\t\tconst allQueryParams: TQueryParam[] = [\r\n\t\t];\r\n\t\tconst queryParams = allQueryParams.filter(param => ObjectUtils.isNotNullable(param.value)).map(param => `${param.key}=${param.value}`).join('&');\r\n\t\treturn queryParams === '' ? path : path.concat(`?${queryParams}`);\r\n\t}\r\n\t/**\r\n\t* \r\n\t\t* @summary Calling investor service Gets the lead strategy by lead id\r\n\t* @param leadId - Lead Id. i.e 931c38fd-6cab-4ad0-9fb8-83952eddeb0e\r\n\t* @param leadStrategyId - Lead Strategy Id. i.e 69599b0d-c385-4abe-a555-5e9fa20e517c\r\n\t* @param agentId - Agent Id. i.e AG1634\r\n\t*/\r\n\texport function apiDasV1LeadLeadIdLeadstrategiesLeadStrategyIdGet(leadId: string, leadStrategyId: string, agentId?: string, customHeaders: Object = {}): Observable> {\r\n\t\tconst path = `/api/das/v1/lead/${encodeURIComponent(String(leadId))}/leadstrategies/${encodeURIComponent(String(leadStrategyId))}`.replace(/^\\//, '').replace('{' + 'leadId' + '}', String(leadId)).replace('{' + 'leadStrategyId' + '}', String(leadStrategyId));\r\n\t\tconst allQueryParams: TQueryParam[] = [\r\n\t\t\t\t{\r\n\t\t\t\t\tkey: 'agentId',\r\n\t\t\t\t\tvalue: agentId\r\n\t\t\t\t},\r\n\t\t];\r\n\t\tconst queryParams = allQueryParams.filter(param => ObjectUtils.isNotNullable(param.value)).map(param => `${param.key}=${param.value}`).join('&');\r\n\t\tconst apiUrl = queryParams === '' ? path : path.concat(`?${queryParams}`);\r\n\t\tlet headers = customHeaders;\r\n\t\tconst ajaxRequest: AjaxRequest = {\r\n\t\t\turl: apiUrl,\r\n\t\t\tmethod: 'get',\r\n\t\t\theaders: { ...headers }\r\n\t\t};\r\n\t\treturn ApiClient.request(ajaxRequest);\r\n\t}\r\n\r\n\texport function getUrlForapiDasV1LeadLeadIdLeadstrategiesLeadStrategyIdGet(leadId: string, leadStrategyId: string, agentId?: string, ): string {\r\n\t\tconst path = '/api/das/v1/lead/${encodeURIComponent(String(leadId))}/leadstrategies/${encodeURIComponent(String(leadStrategyId))}'.replace(/^\\//, '').replace('{' + 'leadId' + '}', String(leadId)).replace('{' + 'leadStrategyId' + '}', String(leadStrategyId));\r\n\t\tconst allQueryParams: TQueryParam[] = [\r\n\t\t\t{\r\n\t\t\tkey: 'agentId',\r\n\t\t\tvalue: agentId\r\n\t\t\t},\r\n\t\t];\r\n\t\tconst queryParams = allQueryParams.filter(param => ObjectUtils.isNotNullable(param.value)).map(param => `${param.key}=${param.value}`).join('&');\r\n\t\treturn queryParams === '' ? path : path.concat(`?${queryParams}`);\r\n\t}\r\n\t/**\r\n\t* \r\n\t\t* @summary Calling investor service to Update lead goal\r\n\t* @param leadId - Lead Id. i.e 931c38fd-6cab-4ad0-9fb8-83952eddeb0e\r\n\t* @param leadStrategyId - Lead Strategy Id. i.e 69599b0d-c385-4abe-a555-5e9fa20e517c\r\n\t* @param goalId - Goal Id i.e 5b1d9c8a-eff2-41f1-ad2c-dc62e9460083\r\n\t* @param body - Lead Goal\r\n\t*/\r\n\texport function apiDasV1LeadLeadIdLeadstrategiesLeadStrategyIdGoalGoalIdPut(leadId: string, leadStrategyId: string, goalId: string, body?: LeadGoal, customHeaders: Object = {}): Observable> {\r\n\t\tconst path = `/api/das/v1/lead/${encodeURIComponent(String(leadId))}/leadstrategies/${encodeURIComponent(String(leadStrategyId))}/goal/${encodeURIComponent(String(goalId))}`.replace(/^\\//, '').replace('{' + 'leadId' + '}', String(leadId)).replace('{' + 'leadStrategyId' + '}', String(leadStrategyId)).replace('{' + 'goalId' + '}', String(goalId));\r\n\t\tconst allQueryParams: TQueryParam[] = [\r\n\t\t];\r\n\t\tconst queryParams = allQueryParams.filter(param => ObjectUtils.isNotNullable(param.value)).map(param => `${param.key}=${param.value}`).join('&');\r\n\t\tconst apiUrl = queryParams === '' ? path : path.concat(`?${queryParams}`);\r\n\t\tlet headers = customHeaders;\r\n\t\tconst ajaxRequest: AjaxRequest = {\r\n\t\t\turl: apiUrl,\r\n\t\t\tmethod: 'put',\r\n\t\t\tbody: body,\r\n\t\t\theaders: { ...headers }\r\n\t\t};\r\n\t\treturn ApiClient.request(ajaxRequest);\r\n\t}\r\n\r\n\texport function getUrlForapiDasV1LeadLeadIdLeadstrategiesLeadStrategyIdGoalGoalIdPut(leadId: string, leadStrategyId: string, goalId: string, body?: LeadGoal, ): string {\r\n\t\tconst path = '/api/das/v1/lead/${encodeURIComponent(String(leadId))}/leadstrategies/${encodeURIComponent(String(leadStrategyId))}/goal/${encodeURIComponent(String(goalId))}'.replace(/^\\//, '').replace('{' + 'leadId' + '}', String(leadId)).replace('{' + 'leadStrategyId' + '}', String(leadStrategyId)).replace('{' + 'goalId' + '}', String(goalId));\r\n\t\tconst allQueryParams: TQueryParam[] = [\r\n\t\t];\r\n\t\tconst queryParams = allQueryParams.filter(param => ObjectUtils.isNotNullable(param.value)).map(param => `${param.key}=${param.value}`).join('&');\r\n\t\treturn queryParams === '' ? path : path.concat(`?${queryParams}`);\r\n\t}\r\n\t/**\r\n\t* \r\n\t\t* @summary Calling investor service and create the LeadGoal and update the LeadGoalId in Lead Strategy.\r\n\t* @param leadId - Lead Id. i.e 931c38fd-6cab-4ad0-9fb8-83952eddeb0e\r\n\t* @param leadStrategyId - Lead Strategy Id. i.e 69599b0d-c385-4abe-a555-5e9fa20e517c\r\n\t* @param body - Request. i.e Create Lead Goal attribute values\r\n\t*/\r\n\texport function apiDasV1LeadLeadIdLeadstrategiesLeadStrategyIdGoalPost(leadId: string, leadStrategyId: string, body?: AddUpdateLeadGoal, customHeaders: Object = {}): Observable> {\r\n\t\tconst path = `/api/das/v1/lead/${encodeURIComponent(String(leadId))}/leadstrategies/${encodeURIComponent(String(leadStrategyId))}/goal`.replace(/^\\//, '').replace('{' + 'leadId' + '}', String(leadId)).replace('{' + 'leadStrategyId' + '}', String(leadStrategyId));\r\n\t\tconst allQueryParams: TQueryParam[] = [\r\n\t\t];\r\n\t\tconst queryParams = allQueryParams.filter(param => ObjectUtils.isNotNullable(param.value)).map(param => `${param.key}=${param.value}`).join('&');\r\n\t\tconst apiUrl = queryParams === '' ? path : path.concat(`?${queryParams}`);\r\n\t\tlet headers = customHeaders;\r\n\t\tconst ajaxRequest: AjaxRequest = {\r\n\t\t\turl: apiUrl,\r\n\t\t\tmethod: 'post',\r\n\t\t\tbody: body,\r\n\t\t\theaders: { ...headers }\r\n\t\t};\r\n\t\treturn ApiClient.request(ajaxRequest);\r\n\t}\r\n\r\n\texport function getUrlForapiDasV1LeadLeadIdLeadstrategiesLeadStrategyIdGoalPost(leadId: string, leadStrategyId: string, body?: AddUpdateLeadGoal, ): string {\r\n\t\tconst path = '/api/das/v1/lead/${encodeURIComponent(String(leadId))}/leadstrategies/${encodeURIComponent(String(leadStrategyId))}/goal'.replace(/^\\//, '').replace('{' + 'leadId' + '}', String(leadId)).replace('{' + 'leadStrategyId' + '}', String(leadStrategyId));\r\n\t\tconst allQueryParams: TQueryParam[] = [\r\n\t\t];\r\n\t\tconst queryParams = allQueryParams.filter(param => ObjectUtils.isNotNullable(param.value)).map(param => `${param.key}=${param.value}`).join('&');\r\n\t\treturn queryParams === '' ? path : path.concat(`?${queryParams}`);\r\n\t}\r\n\t/**\r\n\t* \r\n\t\t* @summary Calling investor service for update lead strategy.\r\n\t* @param leadId - Lead Id. i.e 931c38fd-6cab-4ad0-9fb8-83952eddeb0e\r\n\t* @param leadStrategyId - Lead Strategy Id. i.e 69599b0d-c385-4abe-a555-5e9fa20e517c\r\n\t* @param body - \r\n\t*/\r\n\texport function apiDasV1LeadLeadIdLeadstrategiesLeadStrategyIdPut(leadId: string, leadStrategyId: string, body?: LeadStrategyUpdateRequest, customHeaders: Object = {}): Observable> {\r\n\t\tconst path = `/api/das/v1/lead/${encodeURIComponent(String(leadId))}/leadstrategies/${encodeURIComponent(String(leadStrategyId))}`.replace(/^\\//, '').replace('{' + 'leadId' + '}', String(leadId)).replace('{' + 'leadStrategyId' + '}', String(leadStrategyId));\r\n\t\tconst allQueryParams: TQueryParam[] = [\r\n\t\t];\r\n\t\tconst queryParams = allQueryParams.filter(param => ObjectUtils.isNotNullable(param.value)).map(param => `${param.key}=${param.value}`).join('&');\r\n\t\tconst apiUrl = queryParams === '' ? path : path.concat(`?${queryParams}`);\r\n\t\tlet headers = customHeaders;\r\n\t\tconst ajaxRequest: AjaxRequest = {\r\n\t\t\turl: apiUrl,\r\n\t\t\tmethod: 'put',\r\n\t\t\tbody: body,\r\n\t\t\theaders: { ...headers }\r\n\t\t};\r\n\t\treturn ApiClient.request(ajaxRequest);\r\n\t}\r\n\r\n\texport function getUrlForapiDasV1LeadLeadIdLeadstrategiesLeadStrategyIdPut(leadId: string, leadStrategyId: string, body?: LeadStrategyUpdateRequest, ): string {\r\n\t\tconst path = '/api/das/v1/lead/${encodeURIComponent(String(leadId))}/leadstrategies/${encodeURIComponent(String(leadStrategyId))}'.replace(/^\\//, '').replace('{' + 'leadId' + '}', String(leadId)).replace('{' + 'leadStrategyId' + '}', String(leadStrategyId));\r\n\t\tconst allQueryParams: TQueryParam[] = [\r\n\t\t];\r\n\t\tconst queryParams = allQueryParams.filter(param => ObjectUtils.isNotNullable(param.value)).map(param => `${param.key}=${param.value}`).join('&');\r\n\t\treturn queryParams === '' ? path : path.concat(`?${queryParams}`);\r\n\t}\r\n\t/**\r\n\t* \r\n\t\t* @summary Convert lead prospect\r\n\t* @param leadId - Lead Id i.e 931c38fd-6cab-4ad0-9fb8-83952eddeb0e\r\n\t* @param agentId - Agent Id. i.e AG1634\r\n\t*/\r\n\texport function apiDasV1LeadLeadIdProspectPost(leadId: string, agentId?: string, customHeaders: Object = {}): Observable> {\r\n\t\tconst path = `/api/das/v1/lead/${encodeURIComponent(String(leadId))}/Prospect`.replace(/^\\//, '').replace('{' + 'leadId' + '}', String(leadId));\r\n\t\tconst allQueryParams: TQueryParam[] = [\r\n\t\t\t\t{\r\n\t\t\t\t\tkey: 'agentId',\r\n\t\t\t\t\tvalue: agentId\r\n\t\t\t\t},\r\n\t\t];\r\n\t\tconst queryParams = allQueryParams.filter(param => ObjectUtils.isNotNullable(param.value)).map(param => `${param.key}=${param.value}`).join('&');\r\n\t\tconst apiUrl = queryParams === '' ? path : path.concat(`?${queryParams}`);\r\n\t\tlet headers = customHeaders;\r\n\t\tconst ajaxRequest: AjaxRequest = {\r\n\t\t\turl: apiUrl,\r\n\t\t\tmethod: 'post',\r\n\t\t\theaders: { ...headers }\r\n\t\t};\r\n\t\treturn ApiClient.request(ajaxRequest);\r\n\t}\r\n\r\n\texport function getUrlForapiDasV1LeadLeadIdProspectPost(leadId: string, agentId?: string, ): string {\r\n\t\tconst path = '/api/das/v1/lead/${encodeURIComponent(String(leadId))}/Prospect'.replace(/^\\//, '').replace('{' + 'leadId' + '}', String(leadId));\r\n\t\tconst allQueryParams: TQueryParam[] = [\r\n\t\t\t{\r\n\t\t\tkey: 'agentId',\r\n\t\t\tvalue: agentId\r\n\t\t\t},\r\n\t\t];\r\n\t\tconst queryParams = allQueryParams.filter(param => ObjectUtils.isNotNullable(param.value)).map(param => `${param.key}=${param.value}`).join('&');\r\n\t\treturn queryParams === '' ? path : path.concat(`?${queryParams}`);\r\n\t}\r\n\t/**\r\n\t* \r\n\t\t* @summary Update Lead\r\n\t* @param leadId - Lead Id i.e 75299dbc-4df6-4bbb-a57a-dc0d74a89b6e\r\n\t* @param body - The request.\r\n\t*/\r\n\texport function apiDasV1LeadLeadIdPut(leadId: string, body?: AddUpdateLead, customHeaders: Object = {}): Observable> {\r\n\t\tconst path = `/api/das/v1/lead/${encodeURIComponent(String(leadId))}`.replace(/^\\//, '').replace('{' + 'leadId' + '}', String(leadId));\r\n\t\tconst allQueryParams: TQueryParam[] = [\r\n\t\t];\r\n\t\tconst queryParams = allQueryParams.filter(param => ObjectUtils.isNotNullable(param.value)).map(param => `${param.key}=${param.value}`).join('&');\r\n\t\tconst apiUrl = queryParams === '' ? path : path.concat(`?${queryParams}`);\r\n\t\tlet headers = customHeaders;\r\n\t\tconst ajaxRequest: AjaxRequest = {\r\n\t\t\turl: apiUrl,\r\n\t\t\tmethod: 'put',\r\n\t\t\tbody: body,\r\n\t\t\theaders: { ...headers }\r\n\t\t};\r\n\t\treturn ApiClient.request(ajaxRequest);\r\n\t}\r\n\r\n\texport function getUrlForapiDasV1LeadLeadIdPut(leadId: string, body?: AddUpdateLead, ): string {\r\n\t\tconst path = '/api/das/v1/lead/${encodeURIComponent(String(leadId))}'.replace(/^\\//, '').replace('{' + 'leadId' + '}', String(leadId));\r\n\t\tconst allQueryParams: TQueryParam[] = [\r\n\t\t];\r\n\t\tconst queryParams = allQueryParams.filter(param => ObjectUtils.isNotNullable(param.value)).map(param => `${param.key}=${param.value}`).join('&');\r\n\t\treturn queryParams === '' ? path : path.concat(`?${queryParams}`);\r\n\t}\r\n\t/**\r\n\t* \r\n\t\t* @summary Calling investor service to get risk profile by lead strategy id\r\n\t* @param leadStrategyId - Lead Strategy Id. i.e 69599b0d-c385-4abe-a555-5e9fa20e517c\r\n\t* @param agentId - Agent Id i.e AG1634\r\n\t*/\r\n\texport function apiDasV1LeadLeadStrategyIdRiskGet(leadStrategyId: string, agentId?: string, customHeaders: Object = {}): Observable> {\r\n\t\tconst path = `/api/das/v1/lead/${encodeURIComponent(String(leadStrategyId))}/Risk`.replace(/^\\//, '').replace('{' + 'leadStrategyId' + '}', String(leadStrategyId));\r\n\t\tconst allQueryParams: TQueryParam[] = [\r\n\t\t\t\t{\r\n\t\t\t\t\tkey: 'agentId',\r\n\t\t\t\t\tvalue: agentId\r\n\t\t\t\t},\r\n\t\t];\r\n\t\tconst queryParams = allQueryParams.filter(param => ObjectUtils.isNotNullable(param.value)).map(param => `${param.key}=${param.value}`).join('&');\r\n\t\tconst apiUrl = queryParams === '' ? path : path.concat(`?${queryParams}`);\r\n\t\tlet headers = customHeaders;\r\n\t\tconst ajaxRequest: AjaxRequest = {\r\n\t\t\turl: apiUrl,\r\n\t\t\tmethod: 'get',\r\n\t\t\theaders: { ...headers }\r\n\t\t};\r\n\t\treturn ApiClient.request(ajaxRequest);\r\n\t}\r\n\r\n\texport function getUrlForapiDasV1LeadLeadStrategyIdRiskGet(leadStrategyId: string, agentId?: string, ): string {\r\n\t\tconst path = '/api/das/v1/lead/${encodeURIComponent(String(leadStrategyId))}/Risk'.replace(/^\\//, '').replace('{' + 'leadStrategyId' + '}', String(leadStrategyId));\r\n\t\tconst allQueryParams: TQueryParam[] = [\r\n\t\t\t{\r\n\t\t\tkey: 'agentId',\r\n\t\t\tvalue: agentId\r\n\t\t\t},\r\n\t\t];\r\n\t\tconst queryParams = allQueryParams.filter(param => ObjectUtils.isNotNullable(param.value)).map(param => `${param.key}=${param.value}`).join('&');\r\n\t\treturn queryParams === '' ? path : path.concat(`?${queryParams}`);\r\n\t}\r\n\t/**\r\n\t* \r\n\t\t* @summary Calling investor service to get account details\r\n\t* @param leadStrategyID - Lead Strategy Id. i.e 69599b0d-c385-4abe-a555-5e9fa20e517c\r\n\t* @param agentId - Agent Id. i.e AG1634\r\n\t*/\r\n\texport function apiDasV1LeadLeadStrategyLeadStrategyIDAccountDetailsGet(leadStrategyID: string, agentId?: string, customHeaders: Object = {}): Observable> {\r\n\t\tconst path = `/api/das/v1/lead/leadStrategy/${encodeURIComponent(String(leadStrategyID))}/accountDetails`.replace(/^\\//, '').replace('{' + 'leadStrategyID' + '}', String(leadStrategyID));\r\n\t\tconst allQueryParams: TQueryParam[] = [\r\n\t\t\t\t{\r\n\t\t\t\t\tkey: 'agentId',\r\n\t\t\t\t\tvalue: agentId\r\n\t\t\t\t},\r\n\t\t];\r\n\t\tconst queryParams = allQueryParams.filter(param => ObjectUtils.isNotNullable(param.value)).map(param => `${param.key}=${param.value}`).join('&');\r\n\t\tconst apiUrl = queryParams === '' ? path : path.concat(`?${queryParams}`);\r\n\t\tlet headers = customHeaders;\r\n\t\tconst ajaxRequest: AjaxRequest = {\r\n\t\t\turl: apiUrl,\r\n\t\t\tmethod: 'get',\r\n\t\t\theaders: { ...headers }\r\n\t\t};\r\n\t\treturn ApiClient.request(ajaxRequest);\r\n\t}\r\n\r\n\texport function getUrlForapiDasV1LeadLeadStrategyLeadStrategyIDAccountDetailsGet(leadStrategyID: string, agentId?: string, ): string {\r\n\t\tconst path = '/api/das/v1/lead/leadStrategy/${encodeURIComponent(String(leadStrategyID))}/accountDetails'.replace(/^\\//, '').replace('{' + 'leadStrategyID' + '}', String(leadStrategyID));\r\n\t\tconst allQueryParams: TQueryParam[] = [\r\n\t\t\t{\r\n\t\t\tkey: 'agentId',\r\n\t\t\tvalue: agentId\r\n\t\t\t},\r\n\t\t];\r\n\t\tconst queryParams = allQueryParams.filter(param => ObjectUtils.isNotNullable(param.value)).map(param => `${param.key}=${param.value}`).join('&');\r\n\t\treturn queryParams === '' ? path : path.concat(`?${queryParams}`);\r\n\t}\r\n\t/**\r\n\t* \r\n\t\t* @summary Get other income source type\r\n\t*/\r\n\texport function apiDasV1LeadOtherincomesourcetypesGet(customHeaders: Object = {}): Observable>> {\r\n\t\tconst path = `/api/das/v1/lead/otherincomesourcetypes`.replace(/^\\//, '');\r\n\t\tconst allQueryParams: TQueryParam[] = [\r\n\t\t];\r\n\t\tconst queryParams = allQueryParams.filter(param => ObjectUtils.isNotNullable(param.value)).map(param => `${param.key}=${param.value}`).join('&');\r\n\t\tconst apiUrl = queryParams === '' ? path : path.concat(`?${queryParams}`);\r\n\t\tlet headers = customHeaders;\r\n\t\tconst ajaxRequest: AjaxRequest = {\r\n\t\t\turl: apiUrl,\r\n\t\t\tmethod: 'get',\r\n\t\t\theaders: { ...headers }\r\n\t\t};\r\n\t\treturn ApiClient.request(ajaxRequest);\r\n\t}\r\n\r\n\texport function getUrlForapiDasV1LeadOtherincomesourcetypesGet(): string {\r\n\t\tconst path = '/api/das/v1/lead/otherincomesourcetypes'.replace(/^\\//, '');\r\n\t\tconst allQueryParams: TQueryParam[] = [\r\n\t\t];\r\n\t\tconst queryParams = allQueryParams.filter(param => ObjectUtils.isNotNullable(param.value)).map(param => `${param.key}=${param.value}`).join('&');\r\n\t\treturn queryParams === '' ? path : path.concat(`?${queryParams}`);\r\n\t}\r\n\t/**\r\n\t* \r\n\t* @param body - \r\n\t*/\r\n\texport function apiDasV1LeadPost(body?: AddUpdateLead, customHeaders: Object = {}): Observable> {\r\n\t\tconst path = `/api/das/v1/lead`.replace(/^\\//, '');\r\n\t\tconst allQueryParams: TQueryParam[] = [\r\n\t\t];\r\n\t\tconst queryParams = allQueryParams.filter(param => ObjectUtils.isNotNullable(param.value)).map(param => `${param.key}=${param.value}`).join('&');\r\n\t\tconst apiUrl = queryParams === '' ? path : path.concat(`?${queryParams}`);\r\n\t\tlet headers = customHeaders;\r\n\t\tconst ajaxRequest: AjaxRequest = {\r\n\t\t\turl: apiUrl,\r\n\t\t\tmethod: 'post',\r\n\t\t\tbody: body,\r\n\t\t\theaders: { ...headers }\r\n\t\t};\r\n\t\treturn ApiClient.request(ajaxRequest);\r\n\t}\r\n\r\n\texport function getUrlForapiDasV1LeadPost(body?: AddUpdateLead, ): string {\r\n\t\tconst path = '/api/das/v1/lead'.replace(/^\\//, '');\r\n\t\tconst allQueryParams: TQueryParam[] = [\r\n\t\t];\r\n\t\tconst queryParams = allQueryParams.filter(param => ObjectUtils.isNotNullable(param.value)).map(param => `${param.key}=${param.value}`).join('&');\r\n\t\treturn queryParams === '' ? path : path.concat(`?${queryParams}`);\r\n\t}\r\n\t/**\r\n\t* \r\n\t\t* @summary Calling investor service and Get the Lead Status with LastPage Visited Count.\r\n\t*/\r\n\texport function apiDasV1LeadStatusGet(customHeaders: Object = {}): Observable> {\r\n\t\tconst path = `/api/das/v1/lead/status`.replace(/^\\//, '');\r\n\t\tconst allQueryParams: TQueryParam[] = [\r\n\t\t];\r\n\t\tconst queryParams = allQueryParams.filter(param => ObjectUtils.isNotNullable(param.value)).map(param => `${param.key}=${param.value}`).join('&');\r\n\t\tconst apiUrl = queryParams === '' ? path : path.concat(`?${queryParams}`);\r\n\t\tlet headers = customHeaders;\r\n\t\tconst ajaxRequest: AjaxRequest = {\r\n\t\t\turl: apiUrl,\r\n\t\t\tmethod: 'get',\r\n\t\t\theaders: { ...headers }\r\n\t\t};\r\n\t\treturn ApiClient.request(ajaxRequest);\r\n\t}\r\n\r\n\texport function getUrlForapiDasV1LeadStatusGet(): string {\r\n\t\tconst path = '/api/das/v1/lead/status'.replace(/^\\//, '');\r\n\t\tconst allQueryParams: TQueryParam[] = [\r\n\t\t];\r\n\t\tconst queryParams = allQueryParams.filter(param => ObjectUtils.isNotNullable(param.value)).map(param => `${param.key}=${param.value}`).join('&');\r\n\t\treturn queryParams === '' ? path : path.concat(`?${queryParams}`);\r\n\t}\r\n}\r\n","/**\r\n * Digital Advisor Solutions Service API 1.0\r\n * No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen)\r\n *\r\n * OpenAPI spec version: 1.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by the swagger code generator program.\r\n * https://github.com/swagger-api/swagger-codegen.git\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport enum ImageSize {\r\n Small = 'small',\r\n Medium = 'medium',\r\n Large = 'large'\r\n}\r\n","export const ADVISOR_ID_KEY = 'am_agent_id';\r\nexport const LEAD_ID_KEY = 'am_lead_id';\r\nexport const LEAD_STRATEGY_ID_KEY = 'am_lead_strategy_id';\r\nexport const ABOUT_YOU_KEY = 'am_about_you';\r\nexport const LEAD_APP_STATE = 'am_lead_app_state';\r\n// goal\r\nexport const GOAL_KEY = 'am_goal';\r\nexport const GOAL_ID_KEY = 'am_goal_id';\r\n// external user key\r\nexport const EXTERNAL_USER_ID = 'am_external_user_id';\r\n\r\n","/**\r\n * Digital Advisor Solutions Service API 1.0\r\n * No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen)\r\n *\r\n * OpenAPI spec version: 1.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by the swagger code generator program.\r\n * https://github.com/swagger-api/swagger-codegen.git\r\n * Do not edit the class manually.\r\n */\r\n\r\nimport { Observable } from 'rxjs';\r\nimport { AjaxRequest } from 'rxjs/observable/dom/AjaxObservable';\r\n//@ts-ignore\r\n// import * as models from '../model/models';\r\nimport { RemoteData } from '@assetmark/ui-kit/dist/utils/remote-data.utils';\r\nimport { ObjectUtils } from '@assetmark/ui-kit/dist/utils/object.utils';\r\n\r\n\r\nimport { AgentFileInfo } from '../model/agentFileInfo';\r\nimport { IApplicationState } from '../model/iApplicationState';\r\nimport { ILastPageVisited } from '../model/iLastPageVisited';\r\nimport { LastPageVisted } from '../model/lastPageVisted';\r\n\r\nimport {\r\n\tDasApiClient as ApiClient\r\n\t\r\n} from '../../../apis/api.client';\r\n\r\n// import isNotNullable = ObjectUtils.isNotNullable;\r\n\r\ntype TQueryParam = {\r\n\tkey: string,\r\n\tvalue: string | string[] | boolean | number | Date | undefined,\r\n}\r\n\r\n\r\n// eslint-disable-next-line @typescript-eslint/no-namespace \r\nexport namespace ApplicationStateService {\r\n\t/**\r\n\t* \r\n\t\t* @summary Gets the advisor Logo.\r\n\t* @param agentId - The agent identifier.\r\n\t*/\r\n\texport function apiDasV1ApplicationStateAgentIdAdvisorlogoGet(agentId: string, customHeaders: Object = {}): Observable> {\r\n\t\tconst path = `/api/das/v1/ApplicationState/${encodeURIComponent(String(agentId))}/advisorlogo`.replace(/^\\//, '').replace('{' + 'agentId' + '}', String(agentId));\r\n\t\tconst allQueryParams: TQueryParam[] = [\r\n\t\t];\r\n\t\tconst queryParams = allQueryParams.filter(param => ObjectUtils.isNotNullable(param.value)).map(param => `${param.key}=${param.value}`).join('&');\r\n\t\tconst apiUrl = queryParams === '' ? path : path.concat(`?${queryParams}`);\r\n\t\tlet headers = customHeaders;\r\n\t\tconst ajaxRequest: AjaxRequest = {\r\n\t\t\turl: apiUrl,\r\n\t\t\tmethod: 'get',\r\n\t\t\theaders: { ...headers }\r\n\t\t};\r\n\t\treturn ApiClient.request(ajaxRequest);\r\n\t}\r\n\r\n\texport function getUrlForapiDasV1ApplicationStateAgentIdAdvisorlogoGet(agentId: string, ): string {\r\n\t\tconst path = '/api/das/v1/ApplicationState/${encodeURIComponent(String(agentId))}/advisorlogo'.replace(/^\\//, '').replace('{' + 'agentId' + '}', String(agentId));\r\n\t\tconst allQueryParams: TQueryParam[] = [\r\n\t\t];\r\n\t\tconst queryParams = allQueryParams.filter(param => ObjectUtils.isNotNullable(param.value)).map(param => `${param.key}=${param.value}`).join('&');\r\n\t\treturn queryParams === '' ? path : path.concat(`?${queryParams}`);\r\n\t}\r\n\t/**\r\n\t* \r\n\t\t* @summary Gets the state of the das application.\r\n\t* @param agentId - The agent identifier.\r\n\t* @param investorStrategyId - The investor strategy identifier.\r\n\t* @param otherInvestmentsOptions - \r\n\t*/\r\n\texport function apiDasV1ApplicationStateGet(agentId?: string, investorStrategyId?: number, otherInvestmentsOptions?: string, customHeaders: Object = {}): Observable> {\r\n\t\tconst path = `/api/das/v1/ApplicationState`.replace(/^\\//, '');\r\n\t\tconst allQueryParams: TQueryParam[] = [\r\n\t\t\t\t{\r\n\t\t\t\t\tkey: 'agentId',\r\n\t\t\t\t\tvalue: agentId\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\tkey: 'investorStrategyId',\r\n\t\t\t\t\tvalue: investorStrategyId\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\tkey: 'otherInvestmentsOptions',\r\n\t\t\t\t\tvalue: otherInvestmentsOptions\r\n\t\t\t\t},\r\n\t\t];\r\n\t\tconst queryParams = allQueryParams.filter(param => ObjectUtils.isNotNullable(param.value)).map(param => `${param.key}=${param.value}`).join('&');\r\n\t\tconst apiUrl = queryParams === '' ? path : path.concat(`?${queryParams}`);\r\n\t\tlet headers = customHeaders;\r\n\t\tconst ajaxRequest: AjaxRequest = {\r\n\t\t\turl: apiUrl,\r\n\t\t\tmethod: 'get',\r\n\t\t\theaders: { ...headers }\r\n\t\t};\r\n\t\treturn ApiClient.request(ajaxRequest);\r\n\t}\r\n\r\n\texport function getUrlForapiDasV1ApplicationStateGet(agentId?: string, investorStrategyId?: number, otherInvestmentsOptions?: string, ): string {\r\n\t\tconst path = '/api/das/v1/ApplicationState'.replace(/^\\//, '');\r\n\t\tconst allQueryParams: TQueryParam[] = [\r\n\t\t\t{\r\n\t\t\tkey: 'agentId',\r\n\t\t\tvalue: agentId\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\tkey: 'investorStrategyId',\r\n\t\t\tvalue: investorStrategyId\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\tkey: 'otherInvestmentsOptions',\r\n\t\t\tvalue: otherInvestmentsOptions\r\n\t\t\t},\r\n\t\t];\r\n\t\tconst queryParams = allQueryParams.filter(param => ObjectUtils.isNotNullable(param.value)).map(param => `${param.key}=${param.value}`).join('&');\r\n\t\treturn queryParams === '' ? path : path.concat(`?${queryParams}`);\r\n\t}\r\n\t/**\r\n\t* \r\n\t\t* @summary Update the investment strategy's page status\r\n\t* @param body - The request.\r\n\t*/\r\n\texport function apiDasV1ApplicationStatePost(body?: LastPageVisted, customHeaders: Object = {}): Observable> {\r\n\t\tconst path = `/api/das/v1/ApplicationState`.replace(/^\\//, '');\r\n\t\tconst allQueryParams: TQueryParam[] = [\r\n\t\t];\r\n\t\tconst queryParams = allQueryParams.filter(param => ObjectUtils.isNotNullable(param.value)).map(param => `${param.key}=${param.value}`).join('&');\r\n\t\tconst apiUrl = queryParams === '' ? path : path.concat(`?${queryParams}`);\r\n\t\tlet headers = customHeaders;\r\n\t\tconst ajaxRequest: AjaxRequest = {\r\n\t\t\turl: apiUrl,\r\n\t\t\tmethod: 'post',\r\n\t\t\tbody: body,\r\n\t\t\theaders: { ...headers }\r\n\t\t};\r\n\t\treturn ApiClient.request(ajaxRequest);\r\n\t}\r\n\r\n\texport function getUrlForapiDasV1ApplicationStatePost(body?: LastPageVisted, ): string {\r\n\t\tconst path = '/api/das/v1/ApplicationState'.replace(/^\\//, '');\r\n\t\tconst allQueryParams: TQueryParam[] = [\r\n\t\t];\r\n\t\tconst queryParams = allQueryParams.filter(param => ObjectUtils.isNotNullable(param.value)).map(param => `${param.key}=${param.value}`).join('&');\r\n\t\treturn queryParams === '' ? path : path.concat(`?${queryParams}`);\r\n\t}\r\n}\r\n","export enum LeadCategory {\r\n All = \"All\",\r\n ClientProfile = \"Client Profile\",\r\n SetGoal = \"Set Goal\",\r\n RiskProfile = \"Risk Profile\",\r\n YourAnalysis = \"Your Analysis\"\r\n}","import { IProfile } from \"@assetmark/profile/dist/profileComponent\";\r\nimport { none } from \"fp-ts/lib/Option\";\r\nimport { TLeadProfileResponse } from \"../models/lead-profile-response\";\r\nimport { TAnalysisAccountDetailResponse } from '../models/analysis-account-details.model';\r\n\r\nexport type TOtherIncome = {\r\n\tId: number;\r\n\tIncomeSourceTypeId: number;\r\n\tMonthlyIncome?: number;\r\n};\r\n\r\nexport const defaultLeadProfile: TLeadProfileResponse = {\r\n leadProfileId: none,\r\n leadStrategyId: [],\r\n firstName: none,\r\n lastName: none,\r\n fullName: none,\r\n emailAddress: none,\r\n age: none,\r\n agentId: none,\r\n createdDate: none,\r\n leadStrategy: []\r\n};\r\n\r\nexport const defaultProfileData: IProfile = {\r\n Investor: {\r\n FirstName: '',\r\n LastName: '',\r\n EmailAddress: '',\r\n Age: 0,\r\n },\r\n investmentInfo: {\r\n InvestmentAmount: 0,\r\n },\r\n investmentReason: '0',\r\n page: 0\r\n};\r\n\r\nexport const defaultGoalsProfile = {\r\n id: none,\r\n leadId: none,\r\n\tleadStrategyId: [],\r\n goalTypeId: none,\r\n createdDate: none,\r\n agentId: none,\r\n investmentAmount: none,\r\n targetGrowthAmount: none,\r\n targetGoalYear: none,\r\n monthlyIncome: none,\r\n monthlyIncomeToRetirePercent: none,\r\n netRetirementMonthlyIncome: none,\r\n leadOtherRetirementIncome: none,\r\n savingsCurrent: none,\r\n annualSavings: none,\r\n birthYear: none,\r\n lifeExpectancy: none,\r\n inflation: none,\r\n investmentTypeEnum: none\r\n};\r\n\r\nexport const defaultGoalsData = {\r\n targetGrowthAmount: 0,\r\n targetGoalYear: 0,\r\n monthlyIncome: 0,\r\n monthlyIncomeToRetirePercent: 0,\r\n NetRetirementMonthlyIncome: 0,\r\n OtherRetirementIncomes: [{\r\n Id: '',\r\n IncomeSourceTypeId: 0\r\n \r\n }],\r\n savingsCurrent: 0,\r\n annualSavings: 0,\r\n birthYear: 0,\r\n lifeExpectancy: 0,\r\n inflation: 0\r\n // currentRoute: none\r\n};\r\n\r\nexport const defaultAnalysisAccountDetails: TAnalysisAccountDetailResponse = {\r\n name: 'Test',\r\n email: 'Test@test.com',\r\n goalType: '2',\r\n investmentAmount: 20000,\r\n currentAnnualContribution: 480,\r\n currentAge: 22,\r\n targetRetirementAge: 65,\r\n targetAnnualIncome: 30000,\r\n lifeExpectancy: 90,\r\n inflationRate: 2,\r\n targetAmount: 50000,\r\n riskProfile: 2,\r\n proposalCreated: \"2021-09-13T14:21:23.456Z\"\r\n};\r\n\r\nexport const INVESTMENT_RETURN_RANGE_QUESTION = \"During any 12 month period, returns on portfolios with exposure to \\r\\nthe stock market can vary dramatically. Given this variability and\\r\\nyour initial investment of $amount, please select the typical \\r\\nrange of potential gains and losses with which you are most comfortable.*\";","/**\r\n * Digital Advisor Solutions Service API 1.0\r\n * No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen)\r\n *\r\n * OpenAPI spec version: 1.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by the swagger code generator program.\r\n * https://github.com/swagger-api/swagger-codegen.git\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport enum GoalTypeEnum {\r\n Unknown = 'Unknown',\r\n Retirement = 'Retirement',\r\n GeneralSavings = 'GeneralSavings',\r\n NoGoal = ''\r\n}\r\n","\r\nimport { TGoal } from \"@assetmark/goal-components/dist/models/goal\";\r\nimport { TOtherIncome } from \"@assetmark/goal-components/dist/models/other-income\";\r\nimport { Option } from \"fp-ts/lib/Option\";\r\nimport { GoalTypeEnum } from \"../lib/das-api/model/goalTypeEnum\";\r\nimport { LeadOtherRetirementIncome } from \"../lib/das-api/model/leadOtherRetirementIncome\";\r\nimport { ModelPerformanceInput } from \"../lib/das-api/model/modelPerformanceInput\";\r\nimport { TAddUpdateLeadGoal } from \"../models/add-update-lead-goal\";\r\n\r\nexport enum EGoalType {\r\n\tUnknown = 1,\r\n\tRetirement = 2,\r\n\tGeneralSavings = 3,\r\n}\r\n\r\nconst goalTypeEnum = EGoalType;\r\n\r\nexport const GetGoalTypeDisplayText = (EGoalTypeKey: any): string => {\r\n\tlet returnItem = '';\r\n\tconst enumType = Number(EGoalTypeKey);\r\n\r\n\tif (enumType === goalTypeEnum.Retirement) {\r\n\t\treturnItem = 'Retirement';\r\n\t} else if (enumType === goalTypeEnum.GeneralSavings) {\r\n\t\treturnItem = 'General Investing';\r\n\t} else if (enumType === goalTypeEnum.Unknown) {\r\n\t\treturnItem = 'Unknown';\r\n\t}\r\n\r\n\treturn returnItem;\r\n};\r\n\r\nexport const parseTGoalToTAddUpdateGoal = (\r\n\tleadId: string,\r\n\tleadStrategyId: string,\r\n\tagentId: string,\r\n\tcurrentRoute: string,\r\n\tgoal: TGoal,\r\n\tgoalId: string,\r\n): TAddUpdateLeadGoal => {\r\n\treturn {\r\n\t\tid: goalId,\r\n\t\tleadId,\r\n\t\tleadStrategyId,\r\n\t\tgoalTypeId: 0,\r\n\t\tgoalType: goal.GoalType,\r\n\t\tretirementAge: Number(goal.retirementAge || 0),\r\n\t\ttargetGrowthAmount: goal.TargetAmount || 0,\r\n\t\ttargetGoalYear: goal.TargetYear || 0,\r\n\t\tmonthlyIncome: goal.MonthlyIncome || 0,\r\n\t\tmonthlyIncomeToRetirePercent: goal.MonthlyIncomeToRetirePercent || 0,\r\n\t\tsavingsCurrent: goal.SavingsCurrent || 0,\r\n\t\tannualSavings: goal.AnnualSavings || 0,\r\n\t\tbirthYear: goal.BirthYear || 0,\r\n\t\totherRetirementIncomes: goal.OtherRetirementIncomes\r\n\t\t\t? goal.OtherRetirementIncomes.map(o => ({\r\n\t\t\t\t\totherRetirementIncomeID: (o.Id === 0 || o.Id === \"0\") ? \"\" : o.Id.toString(),\r\n\t\t\t\t\tincomeSourceTypeId: o.IncomeSourceTypeId,\r\n\t\t\t\t\tmonthlyIncome: o.MonthlyIncome || 0,\r\n\t\t\t }))\r\n\t\t\t: [],\r\n\t\tnetRetirementMonthlyIncome: goal.NetRetirementMonthlyIncome || 0,\r\n\t\tagentId: agentId,\r\n\t\tinvestmentAmount: goal.Amount || 0,\r\n\t\tcurrentRoute: currentRoute,\r\n\t\tlifeExpectancy: goal.LifeExpectancy || 90,\r\n\t\tinflation: goal.Inflation || 0.02,\r\n\t\tinvestmentTypeEnum: parseGoalTypeToEnum(goal.GoalType),\r\n\t};\r\n};\r\n\r\nexport const getModelPerformanceInput = (amount: number, agentId: string, feeId: Option): ModelPerformanceInput => {\r\n\treturn {\r\n\t\taccountValue: amount,\r\n\t\tagentId: agentId,\r\n\t\tclientFeeId: feeId.getOrElse(30576),\r\n\t\tcustodianId: \"GNW\",\r\n\t\thouseHoldAmount: amount,\r\n\t\tmodelAplId: \"P1GBLN\",\r\n\t};\r\n};\r\n\r\nexport const parseOtherIncome = (value: LeadOtherRetirementIncome[]) : TOtherIncome[] => {\r\n\tif(value.length) {\r\n\t\treturn value.map(v => ({\r\n\t\t\tId: v.otherRetirementIncomeID ? v.otherRetirementIncomeID.toString() : 0,\r\n\t\t\tIncomeSourceTypeId: v.incomeSourceTypeId || 0,\r\n\t\t\tMonthlyIncome: v.monthlyIncome || 0,\r\n\t\t}))\t;\r\n\t}else {\r\n\t\treturn [{ Id: '', IncomeSourceTypeId: 0 }];\r\n\t}\r\n};\r\n\r\nexport const parseGoalTypeToEnum = (goalType: number): GoalTypeEnum => {\r\n\tif(goalType === 1) {\r\n\t\treturn GoalTypeEnum.Unknown;\r\n\t} else if(goalType === 2) {\r\n\t\treturn GoalTypeEnum.Retirement;\r\n\t} else if(goalType === 3) {\r\n\t\treturn GoalTypeEnum.GeneralSavings;\r\n\t} else {\r\n\t\treturn GoalTypeEnum.NoGoal;\r\n\t}\r\n};","import { fromNullable, None } from 'fp-ts/lib/Option';\r\nimport { BehaviorSubject, merge, of } from 'rxjs';\r\nimport { TAddUpdateLeadGoal } from '../models/add-update-lead-goal';\r\nimport { LeadService } from '../lib/das-api/api/lead.service';\r\nimport { LeadGoalResponse } from '../lib/das-api/model/leadGoalResponse';\r\nimport { TLeadGoalsResponse } from '../models/goals-info-response';\r\nimport { LeadApi } from './lead.api';\r\nimport { LocalStorageUtils } from '@assetmark/ui-kit/dist/utils/local-storage.utils';\r\nimport { LeadCategory } from '../models/lead-category-enum';\r\nimport { defaultGoalsProfile } from \"../constants/data.constant\";\r\nimport { GOAL_KEY, GOAL_ID_KEY } from '../constants/storage.constant';\r\nimport { getRedirectPage } from '../helpers/pagehelper';\r\nimport { ModelPerformanceInput } from '../lib/das-api/model/modelPerformanceInput';\r\nimport { AddUpdateGoal } from '../lib/das-api/model/addUpdateGoal';\r\nimport { OtherRetirementIncome } from '../lib/das-api/model/otherRetirementIncome';\r\nimport { AddUpdateLeadGoal } from '../lib/das-api/model/addUpdateLeadGoal';\r\nimport { LeadOtherRetirementIncome } from '../lib/das-api/model/leadOtherRetirementIncome';\r\nimport { parseGoalTypeToEnum } from '../helpers/goal.helper';\r\nimport { AppApi } from './app.api';\r\n\r\n// eslint-disable-next-line @typescript-eslint/no-namespace\r\nexport namespace GoalsApi {\r\n\texport const redirectToPage$ = new BehaviorSubject('');\r\n\texport const goalsData$ = new BehaviorSubject(defaultGoalsProfile);\r\n\texport const getSavedGoalsData$ = () => goalsData$.asObservable(); \r\n\r\n\texport const removeLeadGoalDataFromContext = () => {\r\n\t\t// LocalStorageUtils.removeItem(GOAL_KEY);\r\n\t\tgoalsData$.next(defaultGoalsProfile);\r\n\t};\r\n\r\n\t// PUT endpoints here\r\n\texport const saveLeadGoalDataToLocal = (lead: TAddUpdateLeadGoal, currentRoute: string) => {\r\n\t\tconst response$ = LeadService.apiDasV1LeadLeadIdLeadstrategiesLeadStrategyIdGoalPost(lead.leadId, lead.leadStrategyId, {\r\n\t\t\tinvestmentAmount: lead.investmentAmount || 0,\r\n\t\t\ttargetGrowthAmount: lead.targetGrowthAmount || 0,\r\n\t\t\ttargetGoalYear: lead.targetGoalYear || 0,\r\n\t\t\tmonthlyIncome: lead.monthlyIncome || 0,\r\n\t\t\tmonthlyIncomeToRetirePercent: lead.monthlyIncomeToRetirePercent || 0,\r\n\t\t\tnetRetirementMonthlyIncome: lead.netRetirementMonthlyIncome || 0,\r\n\t\t\tsavingsCurrent: lead.savingsCurrent || 0,\r\n\t\t\tannualSavings: lead.annualSavings || 0,\r\n\t\t\tinvestmentTypeEnum: parseGoalTypeToEnum(lead.goalType || 2),\r\n\t\t\tbirthYear: lead.birthYear || 0,\r\n\t\t\tlifeExpectancy: 90,\r\n\t\t\tinflation: 0.02,\r\n\t\t\tagentId: lead.agentId,\r\n\t\t})\r\n\t\t.doRD(data => { \r\n\t\t\tLocalStorageUtils.setItem(GOAL_KEY)(data);\r\n\t\t})\r\n\t\t.doRD(data => LeadApi.updateLastVisitedPage({ \r\n\t\t\tleadId: lead.leadId, leadStrategyId: lead.leadStrategyId, agentId: lead.agentId, lastPageVisited: LeadCategory.SetGoal, currentRoute\r\n\t\t}, currentRoute))\r\n\t\t.mapRD(parseGoals);\r\n\t\tresponse$.subscribe(data => {\r\n\t\t\tif(data.isSuccess()) {\r\n\t\t\t\tLocalStorageUtils.setItem(GOAL_ID_KEY)(data.value.id.getOrElse(''));\r\n\t\t\t\tgoalsData$.next(data.value);\r\n\t\t\t}\r\n\t\t});\r\n\t};\r\n\r\n\texport const addLeadGoal = (goal: TAddUpdateLeadGoal, currentRoute: string, lastPageVisited: string) => {\r\n\t\tLeadApi.showSpinner$.next(true);\r\n\t\tconst response$ = LeadService.apiDasV1LeadLeadIdLeadstrategiesLeadStrategyIdGoalPost(\r\n\t\t\tgoal.leadId,\r\n\t\t\tgoal.leadStrategyId,\r\n\t\t\tparseGoalRequest(goal),\r\n\t\t)\r\n\t\t\t.doRD(data => {\r\n\t\t\t\tLocalStorageUtils.setItem(GOAL_KEY)(data);\r\n\t\t\t})\r\n\t\t\t.doRD(data =>\r\n\t\t\t\tLeadApi.updateLastVisitedPage(\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tleadId: goal.leadId,\r\n\t\t\t\t\t\tleadStrategyId: goal.leadStrategyId,\r\n\t\t\t\t\t\tagentId: goal.agentId,\r\n\t\t\t\t\t\tlastPageVisited: lastPageVisited,\r\n\t\t\t\t\t\tcurrentRoute,\r\n\t\t\t\t\t},\r\n\t\t\t\t\t`${goal.goalType}`,\r\n\t\t\t\t),\r\n\t\t\t)\r\n\t\t\t.mapRD(parseGoals);\r\n\t\tresponse$.subscribe(data => {\r\n\t\t\tif (data.isSuccess()) {\r\n\t\t\t\tLocalStorageUtils.setItem(GOAL_ID_KEY)(data.value.id.getOrElse(''));\r\n\t\t\t\tgoalsData$.next(data.value);\r\n\t\t\t}\r\n\t\t});\r\n\t};\r\n\r\n\texport const updateLeadGoal = (goal: TAddUpdateLeadGoal, modelPerformanceInput: ModelPerformanceInput, currentRoute: string, lastPageVisited: string) => {\r\n\t\tLeadApi.showSpinner$.next(true);\r\n\t\tconst response$ = LeadService.apiDasV1LeadLeadIdLeadstrategiesLeadStrategyIdGoalGoalIdPut(goal.leadId, goal.leadStrategyId, goal.id || '', { goal: parseGoalRequest(goal), modelPerformanceInput })\r\n\t\t.doRD(data => {\r\n\t\t\tLocalStorageUtils.setItem(GOAL_KEY)(data);\r\n\t\t})\r\n\t\t.doRD(data => LeadApi.updateLastVisitedPage({ \r\n\t\t\tleadId: goal.leadId, leadStrategyId: goal.leadStrategyId, agentId: goal.agentId, lastPageVisited: lastPageVisited, currentRoute\r\n\t\t}, `${goal.goalType}`))\r\n\t\t.mapRD(parseGoals);\r\n\r\n\t\tresponse$.subscribe(updatedGoal => { \r\n\t\t\t//console.log(`updatedGoal: `, updatedGoal);\r\n\t\t\tif(updatedGoal.isSuccess()) {\r\n\t\t\t\tgoalsData$.next(updatedGoal.value);\r\n\t\t\t}\r\n\t\t\t});\r\n\t};\r\n\r\n\texport const parseGoalRequest = (goal: TAddUpdateLeadGoal): AddUpdateLeadGoal => {\r\n\t\treturn {\r\n\t\t\tagentId: goal.agentId,\r\n\t\t\tinvestmentAmount: goal.investmentAmount,\r\n\t\t\ttargetGrowthAmount: goal.targetGrowthAmount,\r\n\t\t\ttargetGoalYear: goal.targetGoalYear,\r\n\t\t\tmonthlyIncome: goal.monthlyIncome,\r\n\t\t\tmonthlyIncomeToRetirePercent: goal.monthlyIncomeToRetirePercent,\r\n\t\t\tsavingsCurrent: goal.savingsCurrent,\r\n\t\t\tannualSavings: goal.annualSavings,\r\n\t\t\tinvestmentTypeEnum: parseGoalTypeToEnum(goal.goalType),\r\n\t\t\tbirthYear: goal.birthYear,\r\n\t\t\tlifeExpectancy: goal.lifeExpectancy,\r\n\t\t\tinflation: goal.inflation,\r\n\t\t\tnetRetirementMonthlyIncome: goal.netRetirementMonthlyIncome,\r\n\t\t\totherRetirementIncomes: goal.otherRetirementIncomes ? goal.otherRetirementIncomes.map(ot => ({\r\n\t\t\t\totherRetirementIncomeID: ot.otherRetirementIncomeID,\r\n\t\t\t\tincomeSourceTypeId: ot.incomeSourceTypeId,\r\n\t\t\t\tmonthlyIncome: ot.monthlyIncome || 0\r\n\t\t\t})) : [] as LeadOtherRetirementIncome[],\r\n\t\t};\r\n\t};\r\n\r\n\texport const parseGoals = (lead: LeadGoalResponse): TLeadGoalsResponse => {\r\n\t// const parseGoals = (lead: any): any => {\r\n\treturn {\r\n\t\tinvestmentAmount: fromNullable(lead.investmentAmount),\r\n\t\ttargetGrowthAmount: fromNullable(Number(lead.targetGrowthAmount)),\r\n\t\ttargetGoalYear: fromNullable(Number(lead.targetGoalYear)),\r\n\t\tmonthlyIncome: fromNullable(Number(lead.monthlyIncome)),\r\n\t\tmonthlyIncomeToRetirePercent: fromNullable(Number(lead.monthlyIncomeToRetirePercent)),\r\n\t\tnetRetirementMonthlyIncome: fromNullable(Number(lead.netRetirementMonthlyIncome)),\r\n\t\tleadOtherRetirementIncome: fromNullable(lead.leadOtherRetirementIncome),\r\n\t\tsavingsCurrent: fromNullable(Number(lead.savingsCurrent)),\r\n\t\tannualSavings: fromNullable(Number(lead.annualSavings)),\r\n\t\tbirthYear: fromNullable(Number(lead.birthYear)),\r\n\t\tlifeExpectancy: fromNullable(Number(lead.lifeExpectancy)),\r\n\t\tinflation: fromNullable(Number(lead.inflation)),\r\n\t\tagentId: fromNullable(String(lead.agentId)),\r\n\t\tcreatedDate: fromNullable(lead.createdDate),\r\n\t\tid: fromNullable(String(lead.id)),\r\n\t\tinvestmentTypeEnum: fromNullable(lead.investmentTypeEnum)\r\n\t};\r\n};\r\n}\r\n\r\n","import { LocalStorageUtils } from '@assetmark/ui-kit/dist/utils/local-storage.utils';\r\nimport { RemoteData, RemoteDataUtils } from '@assetmark/ui-kit/dist/utils/remote-data.utils';\r\nimport { fromNullable } from 'fp-ts/lib/Option';\r\nimport { BehaviorSubject, merge, of, Subject } from 'rxjs';\r\nimport {\r\n\tGOAL_KEY,\r\n\tLEAD_APP_STATE,\r\n\tLEAD_ID_KEY,\r\n\tLEAD_STRATEGY_ID_KEY,\r\n\tGOAL_ID_KEY,\r\n\tADVISOR_ID_KEY,\r\n} from '../constants/storage.constant';\r\nimport { getRedirectPage } from '../helpers/pagehelper';\r\nimport { ApplicationStateService } from '../lib/das-api/api/applicationState.service';\r\nimport { LeadService } from '../lib/das-api/api/lead.service';\r\nimport { TAddress, TApplicationState } from '../models/application-state';\r\nimport { TLeadStrategyInfoResponse } from '../models/lead-strategy-info-response';\r\nimport { TLeadGoalsResponse } from '../models/goals-info-response';\r\nimport { LeadApi } from './lead.api';\r\nimport { GoalsApi } from './goals.api';\r\nimport { IApplicationState } from '../lib/das-api/model/iApplicationState';\r\nimport { Address } from '../lib/das-api/model/address';\r\n\r\n// eslint-disable-next-line @typescript-eslint/no-namespace\r\nexport namespace AppApi {\r\n\texport const advisorId$ = new BehaviorSubject('');\r\n\texport const isAuthCallComplete$ = new BehaviorSubject(false);\r\n\texport const spinner$ = () => LeadApi.showSpinner$.asObservable();\r\n\r\n\texport const leadStrategiesData$ = new BehaviorSubject>(\r\n\t\tRemoteDataUtils.initial,\r\n\t);\r\n\r\n\texport const getSavedLeadStrategiesData$ = () => leadStrategiesData$.asObservable();\r\n\r\n\t// Get saved Goals Data\r\n\texport const leadGoalsData$ = new BehaviorSubject>(RemoteDataUtils.initial);\r\n\texport const getGoalsData$ = () => leadGoalsData$.asObservable();\r\n\r\n\texport function getNextPageToRedirect$() {\r\n\t\treturn LeadApi.redirectToPage$.asObservable();\r\n\t}\r\n\r\n\texport const getAppStateData = (advisorId: string) => {\r\n\t\tif (advisorId) {\r\n\t\t\treturn ApplicationStateService.apiDasV1ApplicationStateGet(advisorId).mapRD(parseAppState).shareReplay(1);\r\n\t\t} else {\r\n\t\t\treturn of(RemoteDataUtils.initial);\r\n\t\t}\r\n\t};\r\n\r\n\texport const appStateData$ = advisorId$.switchMap(advisorId => getAppStateData(advisorId));\r\n\r\n\texport const getSavedLeadProfileData = (leadId: string, advisorId: string) => {\r\n\t\tif (advisorId && leadId) {\r\n\t\t\treturn LeadService.apiDasV1LeadLeadIdGet(leadId, advisorId).mapRD(LeadApi.parseLead).shareReplay(1);\r\n\t\t} else {\r\n\t\t\treturn of(RemoteDataUtils.initial);\r\n\t\t}\r\n\t};\r\n\r\n\texport const getSavedLeadStrategiesData = (leadId: string, leadStrategyId: string, advisorId: string) => {\r\n\t\tif (advisorId && leadId && leadStrategyId) {\r\n\t\t\treturn LeadService.apiDasV1LeadLeadIdLeadstrategiesLeadStrategyIdGet(leadId, leadStrategyId, advisorId)\r\n\t\t\t\t.mapRD(LeadApi.parseLeadStrategy)\r\n\t\t\t\t.doRD(data => {\r\n\t\t\t\t\tif(data.lead.isNone()) {\r\n\t\t\t\t\t\tleadStrategiesData$.next(RemoteDataUtils.failure(new Error(\"Lead deleted or converted to prospect\"))); \r\n\t\t\t\t\t} else { \r\n\t\t\t\t\t\tleadStrategiesData$.next(RemoteDataUtils.success(data)); \r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t\t\t.shareReplay(1);\r\n\t\t} else {\r\n\t\t\treturn of(RemoteDataUtils.initial);\r\n\t\t}\r\n\t};\r\n\r\n\texport const getLeadProfile$ = advisorId$.switchMap(advisorId => {\r\n\t\tconst leadId = LocalStorageUtils.getItem(LEAD_ID_KEY);\r\n\t\treturn getSavedLeadProfileData(leadId.getOrElse(''), advisorId);\r\n\t});\r\n\r\n\t// this function being called when application loads and check saved data.\r\n\texport const getLeadStrategies$ = advisorId$.switchMap(advisorId => {\r\n\t\tconst savedAdvisortId = LocalStorageUtils.getItem(ADVISOR_ID_KEY);\r\n\t\tconst leadId = LocalStorageUtils.getItem(LEAD_ID_KEY);\r\n\t\tconst leadStrategyId = LocalStorageUtils.getItem(LEAD_STRATEGY_ID_KEY);\r\n\t\tif (savedAdvisortId.getOrElse('').toLowerCase() === advisorId.toLowerCase()) {\r\n\t\t\treturn getSavedLeadStrategiesData(leadId.getOrElse(''), leadStrategyId.getOrElse(''), advisorId);\r\n\t\t} else {\r\n\t\t\treturn of(RemoteDataUtils.initial);\r\n\t\t}\r\n\t});\r\n\r\n\t// saved goals data\r\n\texport const getGoalsData = (goalId: string, agId: string) => {\r\n\t\tif (goalId) {\r\n\t\t\tconst response$ = LeadService.apiDasV1LeadGoalsGoalIdGet(goalId, agId)\r\n\t\t\t\t.mapRD(GoalsApi.parseGoals)\r\n\t\t\t\t.shareReplay(1);\r\n\t\t\tresponse$.subscribe(data => {\r\n\t\t\t\tif (data.isSuccess()) {\r\n\t\t\t\t\tleadGoalsData$.next(data);\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t} else {\r\n\t\t\treturn of(RemoteDataUtils.initial);\r\n\t\t}\r\n\t};\r\n\r\n\texport const getLeadGoals$ = advisorId$.switchMap(advisorId => {\r\n\t\tconst savedGoalId = LocalStorageUtils.getItem(GOAL_ID_KEY);\r\n\t\tconst savedAdvisortId = LocalStorageUtils.getItem(ADVISOR_ID_KEY);\r\n\r\n\t\tif (\r\n\t\t\tsavedAdvisortId.getOrElse('').toLowerCase() === advisorId.toLowerCase() &&\r\n\t\t\tsavedGoalId.getOrElse('') !== ''\r\n\t\t) {\r\n\t\t\treturn LeadService.apiDasV1LeadGoalsGoalIdGet(savedGoalId.getOrElse(''), advisorId)\r\n\t\t\t\t.mapRD(GoalsApi.parseGoals)\r\n\t\t\t\t.do(data => data.isSuccess() && leadGoalsData$.next(data))\r\n\t\t\t\t.shareReplay(1);\r\n\t\t} else {\r\n\t\t\treturn of(RemoteDataUtils.initial);\r\n\t\t}\r\n\t});\r\n\r\n\t// export const getSavedGoalsData = () => {\r\n\t// const goalID = LocalStorageUtils.getItem(GOAL_ID_KEY);\r\n\t// const agId = LocalStorageUtils.getItem(ADVISOR_ID_KEY);\r\n\t// return getGoalsData(goalID.getOrElse(''), agId.getOrElse(''));\r\n\t// };\r\n\r\n\texport const sync$ = merge(advisorId$, getLeadStrategies$, getLeadGoals$);\r\n}\r\n\r\nconst parseAppState = (app: IApplicationState): TApplicationState => {\r\n\treturn {\r\n\t\tinvestorStrategyId: fromNullable(app.investorStrategyId),\r\n\t\tinvestorId: fromNullable(app.investorId),\r\n\t\tgoalId: fromNullable(app.goalId),\r\n\t\tlastPageVisited: fromNullable(app.lastPageVisited),\r\n\t\tfeeId: fromNullable(app.feeId),\r\n\t\twordMark: fromNullable(app.wordMark),\r\n\t\tadvisorLogo: fromNullable(app.advisorLogo),\r\n\t\tisLogoPreferred: fromNullable(app.isLogoPreferred),\r\n\t\tagentId: fromNullable(app.agentId),\r\n\t\tagentName: fromNullable(app.agentName),\r\n\t\tcompanyName: fromNullable(app.companyName),\r\n\t\tisDiscretionary: fromNullable(app.isDiscretionary),\r\n\t\tcustomProposalIntroductionText: fromNullable(app.customProposalIntroductionText),\r\n\t\tchannelRequireGfamSuitability: fromNullable(app.channelRequireGfamSuitability),\r\n\t\tdefaultIntroductionText: fromNullable(app.defaultIntroductionText),\r\n\t\taddress: fromNullable(parseAddress(app.address || {})),\r\n\t\tphoneNumber: fromNullable(app.phoneNumber),\r\n\t\tadvisorPhoto: fromNullable(app.advisorPhoto ? `/api/das/v1/Resources?url=${app.advisorPhoto}` : null),\r\n\t};\r\n};\r\n\r\nconst parseAddress = (address: Address): TAddress => {\r\n\treturn {\r\n\t\tcity: fromNullable(address.city),\r\n\t\tline1: fromNullable(address.line1),\r\n\t\tline2: fromNullable(address.line2),\r\n\t\tline3: fromNullable(address.line3),\r\n\t\tpostalCode: fromNullable(address.postalCode),\r\n\t\tid: fromNullable(address.id),\r\n\t};\r\n};\r\n","import { LocalStorageUtils } from \"@assetmark/ui-kit/dist/utils/local-storage.utils\";\r\nimport { LEAD_APP_STATE } from \"../constants/storage.constant\";\r\nimport { TInvestorNavState } from \"../contexts/lead/lead.model\";\r\nimport { LeadStrategyInfoResponse } from \"../lib/das-api/model/leadStrategyInfoResponse\";\r\nimport { LeadCategory } from \"../models/lead-category-enum\";\r\n\r\nexport const getRedirectPage = (lastVisitedPage: string, goalType = \"\") => {\r\n if(lastVisitedPage.toLowerCase() === 'about') {\r\n return 'investment_amount';\r\n }\r\n\r\n if(lastVisitedPage.toLowerCase() === 'investment_amount') {\r\n return 'investment_reason';\r\n }\r\n\r\n if(lastVisitedPage.toLowerCase() === 'investment_reason') {\r\n if(goalType === '3') {\r\n return 'goals/investment_target';\r\n } else if(goalType === '2') {\r\n return 'goals/retirement_age';\r\n } else {\r\n return 'risk-profile/investment_return';\r\n }\r\n }\r\n\r\n if(lastVisitedPage.toLowerCase() === 'retirement_age') {\r\n return 'goals/monthly_income';\r\n }\r\n\r\n if(lastVisitedPage.toLowerCase() === 'monthly_income') {\r\n return 'goals/retirement_income';\r\n }\r\n\r\n if(lastVisitedPage.toLowerCase() === 'retirement_income') {\r\n return 'goals/annual_contribution';\r\n }\r\n\r\n if(lastVisitedPage.toLowerCase() === 'annual_contribution') {\r\n return 'risk-profile/investment_return';\r\n }\r\n\r\n if(lastVisitedPage.toLowerCase() === 'investment_target') {\r\n return 'risk-profile/investment_return';\r\n }\r\n\r\n if(lastVisitedPage.toLowerCase() === 'investment_return') {\r\n return 'risk-profile/maximum_decline';\r\n }\r\n\r\n if(lastVisitedPage.toLowerCase() === 'maximum_decline') {\r\n return 'risk-profile/stock_market';\r\n }\r\n\r\n if(lastVisitedPage.toLowerCase() === 'stock_market') {\r\n return 'risk-profile/age_range';\r\n }\r\n\r\n if(lastVisitedPage.toLowerCase() === 'age_range') {\r\n return 'risk-profile/planned_withdrawal';\r\n }\r\n if(lastVisitedPage.toLowerCase() === 'planned_withdrawal') {\r\n return 'risk-profile/risk_result'; // once wb-78 complete then will give it to route\r\n }\r\n\r\n if(lastVisitedPage.toLowerCase() === 'your-analysis') {\r\n return 'planned_withdrawal'; // need to think where to send\r\n }\r\n\r\n return 'about';\r\n};\r\n\r\nexport const getLastVisitedPageCategory = (investorNavState: TInvestorNavState): string => {\r\n const { aboutYouVisited, goalsVisited, riskVisited, analysisVisited } = investorNavState;\r\n \r\n if(aboutYouVisited && goalsVisited && riskVisited && analysisVisited) {\r\n return LeadCategory.YourAnalysis;\r\n } else if(aboutYouVisited && goalsVisited && riskVisited) {\r\n return LeadCategory.RiskProfile;\r\n } else if(aboutYouVisited && goalsVisited) {\r\n return LeadCategory.SetGoal;\r\n } else if(aboutYouVisited) {\r\n return LeadCategory.ClientProfile;\r\n } else {\r\n return LeadCategory.ClientProfile;\r\n }\r\n};\r\n\r\nexport const getLastVisitedPage = (toBoLastPage: string) => {\r\n const numeriLeadCategory = {\r\n\t\t[LeadCategory.ClientProfile.toString().toLowerCase()]: 1,\r\n\t\t[LeadCategory.SetGoal.toString().toLowerCase()]: 2,\r\n\t\t[LeadCategory.RiskProfile.toString().toLowerCase()]: 3,\r\n\t\t[LeadCategory.YourAnalysis.toString().toLowerCase()]: 4,\r\n\t};\r\n\r\n const numCurrentPage = numeriLeadCategory[toBoLastPage.toLowerCase()];\r\n\r\n const leadState = LocalStorageUtils.getItem(LEAD_APP_STATE);\r\n\t\r\n\tif (leadState.isSome()) {\r\n\t\tconst lead = leadState.getOrElse({});\r\n\t\tconst numLastPage = lead.lastPageVisited ? numeriLeadCategory[lead.lastPageVisited.toLowerCase()] : 1;\r\n if (numCurrentPage === numLastPage) {\r\n return toBoLastPage;\r\n } else if (numCurrentPage < numLastPage) {\r\n return lead.lastPageVisited || \"\";\r\n } else {\r\n return toBoLastPage;\r\n } \r\n\t} else {\r\n return toBoLastPage;\r\n }\r\n};","import { PreferenceService } from '../lib/das-api/api/preference.service';\r\nimport { BehaviorSubject, merge, of } from 'rxjs';\r\nimport { ResourcesService } from '../lib/das-api/api/resources.service';\r\nimport { ContainerName } from '../lib/das-api/model/containerName';\r\nimport { ImageSize } from '../lib/das-api/model/imageSize';\r\nimport { WBGetStartedImages } from '../lib/das-api/model/wBGetStartedImages';\r\nimport { TGetStartedImage } from '../models/GetStartedImage.model';\r\nimport { fromNullable, none, some } from 'fp-ts/lib/Option';\r\nimport { RemoteDataUtils } from '@assetmark/ui-kit/dist/utils/remote-data.utils';\r\nimport { TAddUpdateLeadName } from '../models/add-update-lead-request';\r\nimport { LeadService } from '../lib/das-api/api/lead.service';\r\nimport { LeadProfileResponse } from '../lib/das-api/model/leadProfileResponse';\r\nimport { TLeadProfileResponse } from '../models/lead-profile-response';\r\nimport { ObjectUtils } from '@assetmark/ui-kit/dist/utils/object.utils';\r\nimport { ArrayUtils } from '@assetmark/ui-kit/dist/utils/array.utils';\r\nimport { LeadStrategyInfoResponse } from '../lib/das-api/model/leadStrategyInfoResponse';\r\nimport { TLeadStrategyInfoResponse } from '../models/lead-strategy-info-response';\r\nimport { AppApi } from './app.api';\r\nimport { ABOUT_YOU_KEY, ADVISOR_ID_KEY, LEAD_APP_STATE, LEAD_ID_KEY, LEAD_STRATEGY_ID_KEY } from '../constants/storage.constant';\r\nimport { LocalStorageUtils } from '@assetmark/ui-kit/dist/utils/local-storage.utils';\r\nimport { TUpdateLeadStrategy } from '../models/update-lead';\r\nimport { defaultLeadProfile } from '../constants/data.constant';\r\nimport { TAmountReason } from '../models/amount-reason';\r\nimport { TLastPageRequest } from '../models/last-update-page-request';\r\nimport { getLastVisitedPage, getRedirectPage } from '../helpers/pagehelper';\r\nimport { parseGoalTypeToEnum } from '../helpers/goal.helper';\r\n\r\nconst WEALTHBUILDER_PREVIEW_GetStarted_Image1 = 'WEALTHBUILDER_PREVIEW_GetStarted_Image1';\r\nconst WEALTHBUILDER_PREVIEW_GetStarted_Image2 = 'WEALTHBUILDER_PREVIEW_GetStarted_Image2';\r\n// eslint-disable-next-line @typescript-eslint/no-namespace\r\nexport namespace LeadApi {\r\n\texport const showSpinner$ = new BehaviorSubject(false);\r\n\texport const redirectToPage$ = new BehaviorSubject('');\r\n\texport const leadProfile$ = new BehaviorSubject(defaultLeadProfile);\r\n\texport const leadStrategy$ = new BehaviorSubject({ investmentAmount: 0, investmentReason: '2' });\r\n\texport const getSavedLeadProfile$ = () => leadProfile$.asObservable(); \r\n\texport const getSavedLeadStrategy$ = () => leadStrategy$.asObservable();\r\n\texport const getPageSetting = (advisorId: string) => {\r\n\t\tif (advisorId) {\r\n\t\t\treturn PreferenceService.apiDasV1PreferenceAgentAgentIdPagesettingGet(advisorId)\r\n\t\t\t.mapRD(page => page ? ({\r\n\t\t\t\timage1: page[WEALTHBUILDER_PREVIEW_GetStarted_Image1] ? +page[WEALTHBUILDER_PREVIEW_GetStarted_Image1] : 1,\r\n\t\t\t\timage2: page[WEALTHBUILDER_PREVIEW_GetStarted_Image2] ? +page[WEALTHBUILDER_PREVIEW_GetStarted_Image2] : 4,\r\n\t\t\t}) : ({ image1: 1, image2: 4 }))\r\n\t\t\t\t.shareReplay(1);\r\n\t\t} else {\r\n\t\t\treturn of(RemoteDataUtils.initial);\r\n\t\t}\r\n\t};\r\n\r\n\texport const getStartedImages = (screenSize: string) => {\r\n\t\tlet imageSize: any;\r\n\t\tif (screenSize === 'Medium') {\r\n\t\t\timageSize = ImageSize.Medium;\r\n\t\t} else if (screenSize === 'Small') {\r\n\t\t\timageSize = ImageSize.Small;\r\n\t\t} else {\r\n\t\t\timageSize = ImageSize.Large;\r\n\t\t}\r\n\t\treturn ResourcesService.apiDasV1ResourcesImagesGet(ContainerName.Getstartedimages, imageSize)\r\n\t\t\t.mapRD(data => data.map(parseImage))\r\n\t\t\t.shareReplay(1);\r\n\t};\r\n\r\n\texport const lastPageVisited = (page: TLastPageRequest) => {\r\n\t\tconst lastPage = getLastVisitedPage(page.lastPageVisited);\r\n\t\tLeadService.apiDasV1LeadLeadIdLeadstrategiesLeadStrategyIdApplicationstatePost(\r\n\t\t\tpage.leadId,\r\n\t\t\tpage.leadStrategyId,\r\n\t\t\t{ agentId: page.agentId, lastPageVisited: lastPage },\r\n\t\t).doRD(data => LocalStorageUtils.setItem(LEAD_APP_STATE)(data))\r\n\t\t.subscribe();\r\n\t};\r\n\r\n\texport const updateLastVisitedPage = (page: TLastPageRequest, goalType = \"\") => {\r\n\t\tconst lastPage = getLastVisitedPage(page.lastPageVisited);\r\n LeadService.apiDasV1LeadLeadIdLeadstrategiesLeadStrategyIdApplicationstatePost(page.leadId, page.leadStrategyId, { agentId: page.agentId, lastPageVisited: lastPage })\r\n .doRD(data => LocalStorageUtils.setItem(LEAD_APP_STATE)(data))\r\n .subscribe(data => {\r\n if(data.isSuccess()) {\r\n redirectToPage$.next(getRedirectPage(page.currentRoute, goalType));\r\n\t\t\t\tshowSpinner$.next(false);\r\n }\r\n });\r\n };\r\n\t\r\n\texport const addLeadAbout = (lead: TAddUpdateLeadName, lastPage: TLastPageRequest) => {\r\n\t\tshowSpinner$.next(true);\r\n\t\tconst response$ = LeadService.apiDasV1LeadPost(lead)\r\n\t\t\t.doRD(data => {\r\n\t\t\t\tLocalStorageUtils.setItem(ABOUT_YOU_KEY)(data);\r\n\t\t\t})\r\n\t\t\t.doRD(data =>\r\n\t\t\t\tupdateLastVisitedPage(\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tleadId: data.leadProfileId || '',\r\n\t\t\t\t\t\tleadStrategyId: data.leadStrategyId ? data.leadStrategyId[0] : '',\r\n\t\t\t\t\t\tagentId: data.agentId || '',\r\n\t\t\t\t\t\tlastPageVisited: lastPage.lastPageVisited,\r\n\t\t\t\t\t\tcurrentRoute: lastPage.currentRoute,\r\n\t\t\t\t\t},\r\n\t\t\t\t),\r\n\t\t\t)\r\n\t\t\t.mapRD(parseLead);\r\n\r\n\t\tresponse$.subscribe(data => {\r\n\t\t\tif (data.isSuccess()) {\r\n\t\t\t\tLocalStorageUtils.setItem(ADVISOR_ID_KEY)(data.value.agentId.getOrElse(''));\r\n\t\t\t\tLocalStorageUtils.setItem(LEAD_ID_KEY)(data.value.leadProfileId.getOrElse(''));\r\n\t\t\t\tLocalStorageUtils.setItem(LEAD_STRATEGY_ID_KEY)(data.value.leadStrategyId[0]);\r\n\t\t\t\tleadProfile$.next(data.value);\r\n\t\t\t\t//showSpinner$.next(false);\r\n\t\t\t}\r\n\t\t});\r\n\t};\r\n\r\n\texport const updateLeadAbout = (lead: TAddUpdateLeadName, lastPage: TLastPageRequest, leadId: string) => {\r\n\t\tshowSpinner$.next(true);\r\n\t\tconst response$ = LeadService.apiDasV1LeadLeadIdPut(leadId, lead)\r\n\t\t\t.doRD(data => {\r\n\t\t\t\tLocalStorageUtils.setItem(ABOUT_YOU_KEY)(data);\r\n\t\t\t})\r\n\t\t\t.doRD(data =>\r\n\t\t\t\tupdateLastVisitedPage(\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tleadId: data.leadProfileId || '',\r\n\t\t\t\t\t\tleadStrategyId: data.leadStrategyId ? data.leadStrategyId[0] : '',\r\n\t\t\t\t\t\tagentId: data.agentId || '',\r\n\t\t\t\t\t\tlastPageVisited: lastPage.lastPageVisited,\r\n\t\t\t\t\t\tcurrentRoute: lastPage.currentRoute,\r\n\t\t\t\t\t},\r\n\t\t\t\t),\r\n\t\t\t)\r\n\t\t\t.mapRD(parseLead);\r\n\r\n\t\tresponse$.subscribe(data => {\r\n\t\t\tif (data.isSuccess()) {\r\n\t\t\t\t// LocalStorageUtils.setItem(ADVISOR_ID_KEY)(data.value.agentId.getOrElse(''));\r\n\t\t\t\t// LocalStorageUtils.setItem(LEAD_ID_KEY)(data.value.leadProfileId.getOrElse(''));\r\n\t\t\t\t// LocalStorageUtils.setItem(LEAD_STRATEGY_ID_KEY)(data.value.leadStrategyId[0]);\r\n\t\t\t\tleadProfile$.next(data.value);\r\n\t\t\t\t//showSpinner$.next(false);\r\n\t\t\t}\r\n\t\t});\r\n\t};\r\n\r\n\texport const updateLeadAmountAndReason = (lead: TUpdateLeadStrategy, lastPage: TLastPageRequest) => {\r\n\t\tshowSpinner$.next(true);\r\n\t\tconst response$ = LeadService.apiDasV1LeadLeadIdLeadstrategiesLeadStrategyIdPut(\r\n\t\t\tlead.leadId,\r\n\t\t\tlead.leadStrategyId,\r\n\t\t\t{\r\n\t\t\t\tagentId: lead.agentId,\r\n\t\t\t\triskProfileId: lead.riskProfileId,\r\n\t\t\t\tinvestmentAmount: lead.investmentAmount,\r\n\t\t\t\tgoalType: parseGoalTypeToEnum(lead.goalType),\r\n\t\t\t},\r\n\t\t)\r\n\t\t\t.doRD(data => {\r\n\t\t\t\tleadStrategy$.next({\r\n\t\t\t\t\tinvestmentAmount: lead.investmentAmount,\r\n\t\t\t\t\tinvestmentReason: String(lead.goalType),\r\n\t\t\t\t});\r\n\t\t\t})\r\n\t\t\t.doRD(data =>\r\n\t\t\t\tupdateLastVisitedPage(\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tleadId: lead.leadId,\r\n\t\t\t\t\t\tleadStrategyId: lead.leadStrategyId,\r\n\t\t\t\t\t\tagentId: lead.agentId,\r\n\t\t\t\t\t\tlastPageVisited: lastPage.lastPageVisited,\r\n\t\t\t\t\t\tcurrentRoute: lastPage.currentRoute,\r\n\t\t\t\t\t},\r\n\t\t\t\t\tString(lead.goalType),\r\n\t\t\t\t),\r\n\t\t\t);\r\n\t\t// .mapRD(parseLead);\r\n\t\tresponse$.subscribe();\r\n\t};\r\n\r\n\texport const pageSetting$ = AppApi.advisorId$.switchMap(advisorId => getPageSetting(advisorId));\r\n\t\r\n\texport const sync$ = merge(pageSetting$);\r\n\r\n\tconst parseImage = (img: WBGetStartedImages): TGetStartedImage => {\r\n\t\treturn {\r\n\t\t\timageUri: fromNullable(img.imageUri ? `/api/das/v1/Resources?url=${img.imageUri}` : null),\r\n\t\t\tindex: fromNullable(img.index),\r\n\t\t\timageSizeType: fromNullable(img.imageSizeType),\r\n\t\t};\r\n\t};\r\n\texport const parseLeadStrategy = (strategy: LeadStrategyInfoResponse): TLeadStrategyInfoResponse => {\r\n\t\treturn {\r\n\t\t\tleadStrategyId: fromNullable(strategy.leadStrategyId),\r\n\t\t\tleadGoalId: fromNullable(strategy.leadGoalId),\r\n\t\t\tlastPageVisited: fromNullable(strategy.lastPageVisited),\r\n\t\t\triskProfileId: fromNullable(strategy.riskProfileId),\r\n\t\t\tinvestmentAmount: fromNullable(strategy.investmentAmount),\r\n\t\t\tgoalType: fromNullable(strategy.goalType),\r\n\t\t\tcreatedDate: fromNullable(strategy.createdDate),\r\n\t\t\tmodifiedDate: fromNullable(strategy.modifiedDate),\r\n\t\t\tlead: ObjectUtils.isNotNullable(strategy.lead) ? some(parseLead(strategy.lead)) : none,\r\n\t\t};\r\n\t};\r\n\texport const parseLead = (lead: LeadProfileResponse): TLeadProfileResponse => {\r\n\t\treturn {\r\n\t\t\tleadProfileId: fromNullable(lead.leadProfileId),\r\n\t\t\tleadStrategyId: ObjectUtils.isNotNullable(lead.leadStrategyId) ? lead.leadStrategyId : ArrayUtils.empty,\r\n\t\t\tfirstName: fromNullable(lead.firstName),\r\n\t\t\tlastName: fromNullable(lead.lastName),\r\n\t\t\tfullName: fromNullable(lead.fullName),\r\n\t\t\temailAddress: fromNullable(lead.emailAddress),\r\n\t\t\tage: fromNullable(lead.age),\r\n\t\t\tagentId: fromNullable(lead.agentId),\r\n\t\t\tcreatedDate: fromNullable(lead.createdDate),\r\n\t\t\tleadStrategy: ObjectUtils.isNotNullable(lead.leadStrategy) ? (lead.leadStrategy.map(parseLeadStrategy)) : ArrayUtils.empty // Array\r\n\t\t};\r\n\t};\r\n}","import { ComponentClass, ComponentType, createElement, PureComponent } from 'react';\r\nimport { BehaviorSubject, merge, Observable, SchedulerLike, Subscription } from 'rxjs';\r\nimport { map, observeOn } from 'rxjs/operators';\r\n\r\n// eslint-disable-next-line @typescript-eslint/no-require-imports, @typescript-eslint/no-var-requires\r\nconst hoistNonReactStatics = require('hoist-non-react-statics'); // tslint:disable-line no-require-imports no-var-requires\r\n\r\nexport type Observify

= {\r\n\treadonly [K in keyof P]: Observable;\r\n};\r\n\r\n/**\r\n * Selector function - takes Component properties as Observable and return WithRXSelectorResult\r\n */\r\ntype WithRXSelector

> = (\r\n\tprops$: Observable>,\r\n) => WithRXSelectorResult;\r\n\r\n/**\r\n * Result of Selector function - contains default value for properties, property Observables and effects\r\n * This result access to\r\n */\r\nexport type WithRXSelectorResult

> = {\r\n\t/**\r\n\t * Object of Observable properties.\r\n\t * Each event in these Observables will rerender component and pass values from Observable to component\r\n\t * When component will be mount, these we subscribe to these observables and unsubscribe when component will be destroyed.\r\n\t * So you don't care about manage subscriptions manually.\r\n\t *\r\n\t * Also these properties in the selector clojure - so you can access to original properties from Component\r\n\t */\r\n\tprops?: Partial>;\r\n\t/**\r\n\t * Default component props, these properties pass to component when Observable property is not pushed yet.\r\n\t * These properties don't change default props in component, just was passed directly and compose with value from props Observable,\r\n\t * so it's safe to pass many time different default props for the same component, instead of withDefaults.\r\n\t *\r\n\t * Also these properties in the selector clojure - so you can access to original properties from Component\r\n\t */\r\n\tdefaultProps?: D;\r\n\t/**\r\n\t * When you need to subscribe and unsubscribe to Observable when component is present, you can use this effects\r\n\t * When component will mount, it subscribe to effects$ and unsubscribe when destroyed.\r\n\t * So you don't care about manage subscriptions manually.\r\n\t */\r\n\teffects$?: Observable;\r\n};\r\n\r\nexport type WithRXOptions = {\r\n\tscheduler?: SchedulerLike;\r\n};\r\n\r\nexport const withRxJs =\r\n\t

(Target: ComponentType

) =>\r\n\t>(\r\n\t\tselector: WithRXSelector,\r\n\t\toptions: WithRXOptions = {},\r\n\t): ComponentClass & Partial

> => {\r\n\t\tclass WithRX extends PureComponent> {\r\n\t\t\tstatic displayName = `WithRxJs(${Target.displayName || Target.name})`;\r\n\r\n\t\t\tprivate readonly props$ = new BehaviorSubject

(this.props);\r\n\t\t\tprivate readonly selected = selector(this.props$.asObservable());\r\n\t\t\tprivate inputSubscription?: Subscription;\r\n\t\t\tprivate effectsSubscription?: Subscription;\r\n\r\n\t\t\tcomponentDidMount() {\r\n\t\t\t\tconst { props, effects$ } = this.selected;\r\n\t\t\t\tif (props) {\r\n\t\t\t\t\tconst inputs: Observable>[] = Object.keys(props).map(key =>\r\n\t\t\t\t\t\t// @ts-ignore\r\n\t\t\t\t\t\tprops[key].pipe(map(value => ({ [key]: value }))),\r\n\t\t\t\t\t);\r\n\t\t\t\t\tconst merged = merge(...inputs);\r\n\t\t\t\t\tconst result = options.scheduler ? merged.pipe(observeOn(options.scheduler)) : merged;\r\n\t\t\t\t\tthis.inputSubscription = result.subscribe(this.setState.bind(this));\r\n\t\t\t\t}\r\n\t\t\t\tif (effects$) {\r\n\t\t\t\t\tthis.effectsSubscription = effects$.subscribe();\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tcomponentWillReceiveProps(props: P) {\r\n\t\t\t\tthis.props$.next(props);\r\n\t\t\t}\r\n\r\n\t\t\tcomponentWillUnmount() {\r\n\t\t\t\tthis.inputSubscription && this.inputSubscription.unsubscribe();\r\n\t\t\t\tthis.effectsSubscription && this.effectsSubscription.unsubscribe();\r\n\t\t\t}\r\n\r\n\t\t\trender() {\r\n\t\t\t\treturn createElement(\r\n\t\t\t\t\tTarget,\r\n\t\t\t\t\tObject.assign({}, this.selected.defaultProps, this.props, this.state || {}),\r\n\t\t\t\t);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\thoistNonReactStatics(WithRX, Target);\r\n\r\n\t\treturn WithRX as any; // defaultProps are tracked by defaultProps argument;\r\n\t};\r\n","export default __webpack_public_path__ + \"static/media/images2.9fa8c657.png\";","export default __webpack_public_path__ + \"static/media/image3.86fdd54a.png\";","import { buildHeaders } from \"../apis/api.client\";\r\n\r\nexport const getBase64ImageFromUrl = async (imageUrl: any) => {\r\n const res = await fetch(imageUrl, { headers: buildHeaders() });\r\n const blob = await res.blob();\r\n return new Promise((resolve, reject) => {\r\n const reader = new FileReader();\r\n reader.addEventListener(\"load\", function () {\r\n resolve(reader.result);\r\n }, false);\r\n reader.onerror = () => {\r\n return reject(this);\r\n };\r\n reader.readAsDataURL(blob);\r\n });\r\n};\r\n\r\nexport const getAzureResource = async (imageUrl: any) => {\r\n if(imageUrl) {\r\n const res = await fetch(imageUrl, { headers: buildHeaders() });\r\n const blob = await res.blob();\r\n const url = await URL.createObjectURL(blob);\r\n return url;\r\n } else {\r\n return \"\";\r\n }\r\n};","import React from 'react';\r\nimport './full-page-loader.css';\r\n\r\nconst FullPageLoader:React.FC = () => {\r\n\treturn (\r\n\t\t

\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t
\r\n\t);\r\n};\r\n\r\nexport default FullPageLoader;\r\n","import { TAddress, TApplicationState } from '../models/application-state';\r\nimport { Option } from 'fp-ts/lib/Option';\r\n\r\nexport const getAdvisorDetails = (appState: TApplicationState) => {\r\n\treturn {\r\n\t\tadvisorPhoto: appState.advisorPhoto.getOrElse(''),\r\n\t\tadvisorLogo: appState.advisorLogo.getOrElse(''),\r\n\t\tproposalLogo: appState.advisorPhoto.getOrElse(''),\r\n\t\taddress: appState.address.fold('', add => parseAddress(add)),\r\n\t\tcompany: appState.companyName.getOrElse(''),\r\n\t\tisLogoPrefered: appState.isLogoPreferred.getOrElse(false),\r\n\t\twordMark: appState.wordMark.getOrElse(''),\r\n\t\tphoneNumber: appState.phoneNumber.getOrElse(''),\r\n\t\tadvisorName: appState.agentName.getOrElse(''),\r\n\t};\r\n};\r\n\r\n// export const parseAddress = (address: TAddress): string => {\r\n// \tconst addressArray = [];\r\n// \treturn `${address.line1.getOrElse('')}, ${address.line2.getOrElse('')}, ${address.line1.getOrElse(\r\n// \t\t'',\r\n// \t)}, ${address.line3.getOrElse('')}, ${address.city.getOrElse('')} ${address.postalCode.getOrElse('')}`;\r\n// };\r\n\r\nexport const parseAddress = (address: TAddress): string => {\r\n\tconst addressArray = [];\r\n\treturn `${address.line1.getOrElse('')}, ${address.line2.getOrElse('') && `${address.line2.getOrElse('')}, `}${address.line3.getOrElse('') && `${address.line3.getOrElse('')}, `}${address.city.getOrElse('')} ${address.postalCode.getOrElse('')}`;\r\n};\r\n\r\nexport const getLogoPath = (advisorLogo: Option) => \r\n\t advisorLogo.fold(\"\", logo => {\r\n\t\tconst path = logo.split(\"path=\");\r\n\t\tif(path[1]) {\r\n\t\t\t//console.log('path[1] :>> ', path[1]);\r\n\t\t\treturn encodeURI(`/api/das/v1/Resources/downloadlogo?path=${path[1]}`);\r\n\t\t} else {\r\n\t\t\treturn \"\";\r\n\t\t}\r\n\t});\r\n","import { RemoteDataUtils } from '@assetmark/ui-kit/dist/utils/remote-data.utils';\r\nimport { fromNullable } from 'fp-ts/lib/Option';\r\nimport { LeadApi } from '../../apis/lead.api';\r\nimport { withRxJs } from '../../components/hoc/with-rx';\r\nimport { GetStarted } from './get-started.component';\r\n\r\nexport const GetStartedContainer = withRxJs(GetStarted)(() => {\r\n\tconst pageSetting$ = LeadApi.pageSetting$;\r\n\r\n\tlet screenSize: any = '';\r\n\tif (window.innerWidth <= 992 && window.innerWidth >= 577) {\r\n\t\tscreenSize = 'Medium';\r\n\t} else if (window.innerWidth <= 576) {\r\n\t\tscreenSize = 'Small';\r\n\t} else {\r\n\t\tscreenSize = 'Large';\r\n\t}\r\n\r\n\tconst images$ = LeadApi.getStartedImages(screenSize);\r\n\t\r\n\tconst imagesUrl$ = RemoteDataUtils.combineLatestRD(pageSetting$, images$).mapRD(([selectedImage, images]) => {\r\n\t\treturn {\r\n\t\t\timageUrl1: fromNullable(\r\n\t\t\t\timages.find(img => img.index.getOrElse(0) === selectedImage.image1)?.imageUri.getOrElse(''),\r\n\t\t\t),\r\n\t\t\timageUrl2: fromNullable(\r\n\t\t\t\timages.find(img => img.index.getOrElse(0) === selectedImage.image2)?.imageUri.getOrElse(''),\r\n\t\t\t),\r\n\t\t};\r\n\t});\r\n\r\n\treturn {\r\n\t\tdefaultProps: {\r\n\t\t\timages: RemoteDataUtils.initial,\r\n\t\t\tpageSetting: RemoteDataUtils.initial,\r\n\t\t\timagesUrl: RemoteDataUtils.initial,\r\n\t\t},\r\n\t\tprops: {\r\n\t\t\timages: images$,\r\n\t\t\tpageSetting: pageSetting$,\r\n\t\t\timagesUrl: imagesUrl$,\r\n\t\t},\r\n\t};\r\n});\r\n","import * as React from 'react';\r\nimport { FooterComponent } from '../../components/common/footer/footer.component';\r\nimport styles from './getStarted.module.css';\r\nimport seconfImg from './Images/images2.png';\r\nimport secondImgMobile from './Images/secondImg.png';\r\nimport thirdImg from './Images/image3.png';\r\nimport thirdImgMobile from './Images/thirdImg.png';\r\nimport financialImg from './Images/financialJourney.png';\r\nimport check from './Images/check.png';\r\nimport { Link } from 'react-router-dom';\r\nimport { RemoteData } from '@assetmark/ui-kit/dist/utils/remote-data.utils';\r\nimport { none, Option } from 'fp-ts/lib/Option';\r\nimport { TGetStartedImage } from '../../models/GetStartedImage.model';\r\nimport { useApp } from '../../contexts/app/app.context';\r\nimport { ResourceApi } from '../../apis/resource.api';\r\nimport { getAzureResource, getBase64ImageFromUrl } from '../../helpers/resource.helper';\r\nimport { useEffect, useState } from 'react';\r\nimport FullPageLoader from '../../components/common/full-page-loader/fullPageLoader';\r\nimport { getLogoPath } from '../../helpers/analysis.helper';\r\n\r\ntype TImgUrl = {\r\n\timageUrl1: Option;\r\n\timageUrl2: Option;\r\n};\r\n\r\ntype TGetStartedProps = {\r\n\tpageSetting: RemoteData<{\r\n\t\timage1: number;\r\n\t\timage2: number;\r\n\t}>;\r\n\timages: RemoteData;\r\n\timagesUrl: RemoteData;\r\n};\r\nexport const GetStarted: React.FC = ({ imagesUrl }) => {\r\n\tconst { applicationState } = useApp();\r\n\tconst [imgOne, setImgOne] = useState(\"\");\r\n\tconst [imgTwo, setImgTwo] = useState(\"\");\r\n\tconst [imgAdvisorLogo, setImgAdvisorLogo] = useState(\"\");\r\n\tconst financeMessage = [\r\n\t\t'Customized Portfolios Targeted To You',\r\n\t\t'Track Your Goals',\r\n\t\t'Build For Your Financial Future',\r\n\t];\r\n\r\n\t// //ResourceApi.getResource(\"/api/das/v1/Resources?url=https%3A%2F%2Fazncd01edhadl1.blob.core.windows.net%2Friskprofileimages%2Frisk-profile-1_Medium.png\");\r\n\t// const d = async () => await getBase64ImageFromUrl(\"/api/das/v1/Resources?url=https%3A%2F%2Fazncd01edhadl1.blob.core.windows.net%2Friskprofileimages%2Frisk-profile-1_Medium.png\");\r\n\t// d().then(console.log);\r\n\tconst imgUrls: TImgUrl = imagesUrl.isSuccess() ? imagesUrl.value : { imageUrl1: none, imageUrl2: none };\r\n\tuseEffect(() => {\r\n\t\tif(imagesUrl.isSuccess()) {\r\n\t\t\tgetAzureResource(imagesUrl.value.imageUrl1.getOrElse(\"\")).then(d => setImgOne(d));\r\n\t\t\tgetAzureResource(imagesUrl.value.imageUrl2.getOrElse(\"\")).then(d => setImgTwo(d));\r\n\t\t}\r\n\t}, [imagesUrl]);\r\n\r\n\tuseEffect(() => {\r\n\t\tif(applicationState.advisorLogo.isSome()) {\r\n\t\t\tconst path = getLogoPath(applicationState.advisorLogo);\r\n\t\t\tpath && getAzureResource(path).then(d => setImgAdvisorLogo(d));\r\n\t\t\t// const logoPath = applicationState.advisorLogo.getOrElse(\"\");\r\n\t\t\t// if(logoPath) {\r\n\t\t\t// \tconst path = logoPath.split(\"path=\");\r\n\t\t\t// \tif(path[1]) {\r\n\t\t\t// \t\tconsole.log('path[1] :>> ', path[1]);\r\n\t\t\t// \t\t // getAzureResource(encodeURI(`/api/das/v1/Resources/downloadlogo?path=${path[1]}`)).then(d => setImgAdvisorLogo(d));\r\n\t\t\t// \t}\r\n\t\t\t// }\t\r\n\t\t}\r\n\t}, [applicationState.advisorLogo]);\r\n\r\n\tlet scndImage = '';\r\n\tlet thrdImage = '';\r\n\tif (window.innerWidth <= 576) {\r\n\t\tscndImage = secondImgMobile;\r\n\t\tthrdImage = thirdImgMobile;\r\n\t} else {\r\n\t\tscndImage = seconfImg;\r\n\t\tthrdImage = thirdImg;\r\n\t}\r\n\t\r\n\tif (!imagesUrl.isSuccess()) {\r\n\t\treturn ;\r\n\t}\r\n\treturn (\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t{ applicationState.isLogoPreferred.getOrElse(false) && applicationState.advisorLogo.getOrElse('') ? \r\n\t\t\t\t\t\t\t :\r\n\t\t\t\t\t\t\t

{applicationState.wordMark.getOrElse('')}

\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
Plan your future.
\r\n\t\t\t\t\t\t
Enjoy life to the fullest.
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\tInvest your savings to achieve your financial goals while still managing risks effectively.{' '}\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\tTell us about yourself so we can determine the best path forward.\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tGET STARTED\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t{imgOne && ()}\r\n\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t{financeMessage.map((val, index) => (\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
{val}
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t))}\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t{/* */}\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t
Get access to diversified portfolios
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\tDiversified portfolios can help you meet your goals and are designed to reduce deep declines that have historically occurred during market downturns.\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t{/* */}\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t
Built for your financial future
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\tIt’s tough to know what the future may hold. We make it easy to imagine what’s possible and\r\n\t\t\t\t\t\t\thelp invest for what’s to come.\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tGET STARTED\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t{ imgTwo && ()}\r\n\t\t\t\t
\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t\t\r\n\t\t
\r\n\t);\r\n};\r\n","export default \"data:image/png;base64,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\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAkAAAAHWCAMAAACok8bHAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAByUExURf///0RKWghis9rd3vG5Pvr6+vP09AtktP7+/gqcaAebZufq6sDAw6mrr8zNzrW1tpydn6ampliUy3qq1TR9wEFHWDSndMHX64bJrJGRk5/C4RJjp1m4lLuhQafXw5V7N1dDFnR4gvjfqRGCjFhda2ZgVEKDDNEAABItSURBVHja7J2LWqM6FEaxMWlqQkLaagfHW/2c93/Fk1AvtaU1CB6xrjVjUaL1wuLPTqBQFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPtoqbUs0sO7Zcuq/KbtT5H7TXJr2dak0lJpnZZFWqYmlVb9tKbfYVChN/93l/ozTVIP9YR6fxkXh5vUp75qkCapDjRBZ75tr4sb8fv2QcWG//ECfedGlAhEApFAJBAJhEAkEAKRQEACkUAkEAmEQCQQApFAQAKRQCQQCYRAJBACkUBAApFAJBAJhEAkEAKRQEACkUAkEAmEQCQQApFAQAIBCUQCkUAkEAKRQAg0JEqPeSOSQOMTSJSl25LGqzFvRBJodAKpyigvCmVkNCM++PRAAiFQdgDZKJFQdaiVqUPQPoRKkkAIlLtLO5sWRqjgnFcuppEuzdGv0CQQAr2RBJJGBVs5aYPVsQbyRrgDkEAItIMJUlvnnQxOGB1MI5AR7dTymwUigcY3CrOhDFJUZeVEFUppk0BFcyG8vX+6+m6BSKDxCaSl0vEh6hHfSxdRTP8PUJFACLS/UfI/lQRCoF6QQAj0swUigRCIBEIgEgiBSCAEIoEAgUigDr/8830ddpctq3Ka5NsqufepO2u2G9+vLg5/8stdXDbfq3m3auajTdHStLv8miapWpt+x81W0i+rt/4e/f6a+nDTsed5dweg4ug3bbnHT/V2j5/OdwY62qRU3ldJdaAJRteFtd0C53gXdmRKe6im1xqI+/P0zzNqIKCIZhSGQCTQT+q40t9QHxLoy/dPEuinp46PI6BSGtUikDKFECQQHMPUTsugrIvjV5NGskrK59fjaOFlGnmn2QKl9IkKRAL12/+8qKQMpq6MqKsgQ+l8KCtlqlCpsnbOWlE4F9tKeZoCkUD99r8gSxEfrNNV1MQEVZRCexOpjPGFs6bU0a/URgLB7t6nxTrUvhFIVtZaVep0AryN+vh6I1DUp1R1aiuMzUBoEugXGVSJ6IpqEigYqfSLQDGWYgKV6UWCtnayNmmkpkQG1ulRCnRompQE6rX3+bi1rbHSVM6E4KXV8cPCGVGVpVCVFa6IehWxJPKZNZC2VmdvUxU7R+9DVS0Wi+vr1cooOVSxrsX7ODRWtw4ESKB+fdjmcXPUXL4eT29WbRqKzTv5JXSeQdIIX6+fzi4TZ5d/Jw3T6XK+WJlB6nXvYiG39YPHwaYkgb7Io+ZI4kDHwrT+qBfTypWNO2ev/J1OG3+mk2myKEqke0ZRHAnEpzApSYUohDPWrb1zhfGaBBpi8NE27TyUj8cySKvHOsrzTp9GoG2iS8vrnkFUhtKnWi4IFwWKZZ2slKpjtUcCDYFzLQJp0fbXFKp7Bh0ySJrH8/P7d+60CdRINJ2vWqsWV2bg4mBAKV2pwm8JpIOoFDXQEMRuRhkh4/4Xa0sVHZFCKFUJmdamj3Vcbj6ltDI2ym4Z1NaLxfA5T9ye5QiU+rTlwuw+j3Ze5ZBGk0URTBLINfNZUaAiDg40CTSMQKq2KeO1CaK2tYoflKb2au19VfpK2uCDrOMQydRl06h7ZtCLPpF/WQI1KRRjSL/3x+ocYhFdeu9E5es4mizjINPrslSyFozChhKo1CrooLwLVgTnrRI6GF3HP7KJO2sz+VxJHbQXRdPYqw7S8lWftj7sgEAN2ykU80e/lP3H/hXpULAxMVzN5mp7Kp02a6Tcu1YaCfRpgXyhqrisVLDOKZWuBbURKNUKpnZxZZC6jALpprHPWGxbn9iHdREoFtQL9eaP7PhjFFa8nksb9xinSaBBBYodWQyLuG96E/MmCPkskIrvxiBKAlmXGuuuY6KtDNLv9Gnrw44lUGR5LV/6r0/Odb2MPTXzQAONwoR0hbRpuqSQvvJSVLXTojJeSi91mpuurLTxPW0qERuF7rzhXgxSu/7s92HHBYrl9Ny89V9dJ7kOfUAC9Zvv29SahS5eX7ZV6L3Xcm2/wOtzM4ranO/x3IelSeizy4wEig7FEOraf+VNiCHQYErJRqUhHY0ZJB/PW2j0eQpldbYOT1kCTaZz/xUntZFAA+6Mw28da89b+Zdy50ms12e2DvX6Y4GaEDKaBPplApl2fzZ92FpU60sfC7CzLIEiK00C/SaB9OP5IdI4bG1r8XT2ZDMTKHEtSaBfJNBhf1Ifdvn0dOnWl+vS+nWuQNOFJIF+i0BH8mfTh61dSqDyyZbZAk0mQxtEAo1VIHnMn804bF2nEdjlOr8LS8foJQn0GwTSx/3ZjMPOnqeD8gUavBcjgUYq0Af+7BwP6yDQwL0YCTRKgT7Kn8hnBYoGXWsS6LQF0qrFmPuH+/Pz9LbXh3UTKNZBKxLotAVSN7f7fdZDNOj+/uH2oaUP6yTQoAaRQCMUSN1czK72BTpP9jw83G6Nwz4n0HS6VCTQ6Qqk/1zMZvsGRXcemo7sdv+koK4CTQYbzJNAoxNIm1kU6OLiaqcbu71PAj3Enmy/D+sq0HQ6VCFNAo1OIHWVAigaNLvdKaJj73W/0Wh3HNZdoKHKIBJodAI1HdiG+/cJtBHqtuXE1u4CDdWJkUBjE0jM3gTaL4QOnNj6iQSaXJNAJyiQljdb/swujhl02yuBJsOMxEigkQl0t+1PNGh2e370pKDPJ9BkrkmgkxPouYLeVug2ow/7hEAD1dEkUG7Xsn3nkZZboqT7k7zclOR1Vfe7nPzZ9edoN3bWS6DJXEkdf2j1/MM3t01pVm3u3pLVJM2BJtgxaOs1Oi03Y2ruqdO8ZPj1ElPvljqvyVztC3SklP7XL4HSOdIZv9fxJnWgCb6jC/vT5s9sb05xrw/7nEBDVEHUQGMSSF21+nNx0KDnlxduLnH3LVUQNdCYBLprDaBmVvr+wHmJT+u68v76ejFfTrtL1D+CSKDxCLQzB5RTCAW3uZBd8xprtVosuypkSKATSqB3k9AZBj2qnSsfRIfm0y4KTRYk0AkJdCyAEu8LoUe5f7EMreVq3iWFlpIEOhmB1OwDgbYNemy/pHhcKa87hNBkRQKdjEB3H/mzdXj+8Vj1K5b5Bi00CXQiAumbjwV6KYQ+uP2YnOcaNOnbh5FAoxFIXWUItDmu8eF3yjeo71QQCTQagUSGP5tZafXxTdqzDeo7DiOBxiKQ/pMn0MVV1iaTuXVQzz6MBBqNQDdZAs1mosiqe03uWEyRQCchkLnKC6A/ucOm68n/MZAngcYiUF4JNLvK3mA6rwya9BvIk0BjESivBJrd5T/j6v84p4MEGolAeSXQxVWXb5IVQZMlCXQKAsmrLIHuujznavL1VTQJNBKBTN4QrNPmyhzKr0igXyPQTbfuZjH58mEYCTQSgcTwPViaC/ryl6iSQOMQSN9d5E0idkJl9WELEugEEugu60hqx62VNRXU72gYCTSSBMqYBrq4uOk64s4ogiaTOQl0AgmUM4/YXaCcwxn9BCKBfo5AHY6DtQg02WJAgUign5RAnQV6m0qczBeLZXxbLJcLEuh31kBRoK7PujUXvVrMl/+1dy/KqeoAFIYdmMSUKMhlhFLGmTN9/3c8CV4qXtogoTva/ztnepHu7u66XAaEpCoKXdWFvQiRBqKBxj2F1aW9dLUsl21ZtjTQqwcoMfo3/QcPHoi+CFBcRFW9jJZVSwO9fgN1zTbZNo35oHs7RmjSbnwVlW1UmESZN3V7foSRBnqFMdDFgcQu7uK3XbPbbXfNtnn0QOLZCR1VXNSFeQYzAWqrtjw7wkgDvUQDDQOUbLdv8TZ+28bb3a5pHn0p4+zl+KgqC/Nmf0NRcCT61QKUXg6imyYx0YlNlHbb47lCI19MVfpi6fjl4UT7aHl+fKilgV4gQPryoPPuzY6B4iRpzBPZY4eiVTv/6Rw0UCgBOj8jMUk62XRv227XmBR1zW7OE8o4H+glAjS8sDnZdl23NdnpJ+zovs6XnuOUVk0DvUCAvjup/utIUNLNcFK9oIFeIEBul/Ukyc59FKQd5+fgqoyXCFD69pQXFtJAoQTI7dJm99fDVO04Pce0VXtooFACJN0nV3A7BuQ6Pce0iVppoFAC5Hpts+v0Lo4TBE2doowGcnyg9Wuj2AUx7iy2ovbv76zD4rIpdWygpHO4z0TpmB8zBBq3HMzFJiHvbMIwQNcrjly+t7/oe5uUwybHQVB/lNFXfvoFV4YPjMXlA+P7TULe2YTxJTXxGdBxEJT8mCA1Ij8T55fiKSycMdBi5/gcZqe5i797iGv3KTYnr5bBIDqYAO3Xi3fV3J3pV7UVE43/yQC5PocddsZ2N/++cUsdTF95lwCF8xTmejD6tDfWXrWQGLfYShRNnaiep7CQAuQ2ydRJFFVlrcVXF/QXXoxbs3DyinM0UEABcpwq+lBAn/3VpsuqKNv2sQXnoqiY/jMToHAC5Pp62N7H8KLlhxZNrVmx8KUCJNwryBbQeYAeWnW3mv4j00AhBWgxYk/+wZW+PRcQDRRWgJxHQWcF9Hh+Kh8/MQEKKUDDc+vnLqDWwytWNFBYAVKur2dMj4+HXTAaKLwASbcKml5A0TL28o8mQEEFyF6imvxGAS2nH4SmgYIMkNOu/KeHEbSfe54GCi5ALk9iHkZAtZ9zvmig4AKUrX+jgEpP5wzSQIEFSGTxzweDAtkDo4Ee+oUNHrpSeN4LM/n58Qqfz+l7YNrbo4YAuR/kW2dZJleDAGXmnhCp8BQgpbJU2XMTvx8GfUzOT6sWNNCvi1dSSnv5ij1/XmjzTso+QLkQ9lMh+9vsR+ZToc2vVupRqbLPX/29Es87Air9XTRBA40JkFJK5nIj0pV+z99FvFm/a5OmXKw3+UZo86k0t21EluebtfkC+1UjfsHm+ev40XcHpD+mDoA85ocGGhOg9/U6lblK841cr3Se5lrl+wbKY3Pnr2O1it+1WqXmo3xlbslWep2O6J/0dM+qZraXUf0NoGmghxpIif9StclWWbxRdgxkG8jkyARImsfjRpivy+yn5v/cfJWO147ywbU6d3fFphZQ4fUup4HGBMjuduVqtdpIM1iR4qyB+gDFKtWmgbL0GCDzVfYiX3vd6c//mdHV4J5pbr+m8RlUfmigMQGyz0Yyk7mIM52v1/14xzZQJkxiVrHOc7PJvlnpRX+LtF/16F8nm1tnlyUfEw8Aeb7DaaARvyvRv+n3wpSQ9p2wrWE/6y8Tt7eZh6T9+Pi/nDDeULtbCQorPzTQtEhd5cvrd7+VoI9p+1/eZ82ggTw+GP0HNL06ojjp+KH//NBAQQeoP8U18VNAUVTVM0y6QgOFHaCF7gYJmpIfvZghQDRQ4AFaiPOB0IR9+HKee5oGCj1ACxV3pwiF9fRFAz1FgOz+/GEk9BlY/dBAzxEgMxLaH1R8cOer0PNNWUgDPUWAFspG6POx+NSz/mAE6CkCtFAmQh+j51CIlrMNfmigZwuQEnVZjZmHI+rbZ+YJd2mgJwnQnmwLx2mk7NRTrZ5/umYa6KkCZMfT7Y9TkfUTl5X1r/w8NNCzBWihhG7vz2fXh6dqa/lLc8XTQCEG6LAGgn3p4fR+cIsJUV0WVXWY3u5o2c+YaMNz/Orr7+N5kwnQ7U1/weH6itMCKIv9Og9i8P58k7i16bS8iDwuSnK66Xq9krubbq5pYr6jPHxneX2LSZGu27YsC6s0yam17H9Yefrzt/6U103i3qY/EaCLhVAWt97/uMnPYitX29SNr7l9ix2HnFfA1wZx909522QXWzn/1582IdQx0PAR8K8HsoyBnjlAAdyJ7IW9QIBoIAJEA4EGAg1EA9FANBABooEIEA0EGogGooFoIAJEAxEgGgg0EA1EA9FABIgGIkA0EGggGogGooEIEA1EgGgg0ECggWggGogGIkA0EAGigUAD0UA0EA1EgGggAkQDgQaigWggGogA0UAEaJ4A/cMJ5ZTgjgcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwrP4HeN/yqZ9fd98AAAAASUVORK5CYII=\"","export default \"data:image/png;base64,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\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGAAAABgBAMAAAAQtmoLAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAqUExURUdwTP///////////////////////////////////////////////////4sGkswAAAANdFJOUwBcppP0EeEFJshBgWsdpFl3AAABz0lEQVRYw+2XvUoDQRSFZ0ZEEYttLBcC1oHprOyDKKTyDQI2QrBLl8JXkFRCXkDII/gCFtkJgSTcdzH7k83sOD/nloqnzNyTj7AfczdCIJnMBS+3ZsyavyB6YhUeieiTU+jvC5shPn9JZe7wwmtVoBt0/uy9LqynYOGEmtyDhY9Dgd6g+dPntrDKkMILHQM98C+rgDzw8we7ADzwSWeeemlRO/PrISCqnS0kqpUFJOoxmzEmapsBKuohGSpqkwIXtc6IIWqVOUPUMjuWqPvMeKLSasoUdfkv6p8Q9ZopqiLNE7VPhiWq2n+oOaKWD8kwRFXVxxoXtbbAwKKq5kCjoh40M6Coqj3RmKjHYwOJqqwzjYhq8w0gquqc6rSo3R9okqJ2ASUiIWrfKRj3K1xRc3IRCVGlWyhSN+oPROpGldF5340aRfhu1CjCe6NGEP4bNYII3KhhROBGDSKCN2oIEVz9IUR49fsRkdXvR8RWvw8RXf0+RHz154iocURq9eeIqFFEcvXnxFz9krv6HQTwb0TyVr+DGCEFyXlHdRA7aN5CzLBCi0i/ozqIpRA8RA8uSPAd1UFs8fkasWAUSkRaVAcxEIKHyHgFWQhmrsTvyjciVfXPwYstrQAAAABJRU5ErkJggg==\"","export const currencyFormatter = (value: number, decimalPlaces?: number): string => {\r\n\tlet returnItem = '';\r\n\r\n\tif (!decimalPlaces) {\r\n\t\tdecimalPlaces = 0;\r\n\t}\r\n\r\n\tif (value !== null && value !== undefined) {\r\n\t\treturnItem = parseFloat(value.toString().replace(/,/g, ''))\r\n\t\t\t.toFixed(decimalPlaces)\r\n\t\t\t.toString()\r\n\t\t\t.replace(/\\B(?=(\\d{3})+(?!\\d))/g, ',')\r\n\t\t\t.replace('NaN', '');\r\n\t}\r\n\treturn returnItem;\r\n};\r\n\r\nexport const convertStringtoDollarString = (value: any): string => {\r\n\tif(value > 0) {\r\n\t\treturn `$${currencyFormatter(Number(value))}`;\r\n\t}\r\n\treturn '';\r\n};\r\n","import * as React from 'react';\r\n\r\nexport type TEllipsisTextProps = {\r\n\ttext: any;\r\n\tlength: any;\r\n\ttail?: string;\r\n\ttailClassName?: string;\r\n};\r\n\r\nexport const EllipsisText: React.FC = (props: TEllipsisTextProps) => {\r\n\tconst { text, length, tail, tailClassName, ...others } = props;\r\n\tlet textTail;\r\n\tlet textTailClassName;\r\n\r\n\ttail ? (textTail = tail) : (textTail = '...');\r\n\r\n\tif (!tailClassName) {\r\n\t\ttextTailClassName = 'more';\r\n\t}\r\n\r\n\tlet displayText = '';\r\n\tlet tailStyle = {};\r\n\r\n\tif ((text && text.length <= length) || length < 0) {\r\n\t\treturn {text};\r\n\t} else {\r\n\t\ttailStyle = { cursor: 'auto' };\r\n\t\tif (length - textTail.length <= 0) {\r\n\t\t\tdisplayText = '';\r\n\t\t} else {\r\n\t\t\tdisplayText = text ? text.slice(0, length - textTail.length) : '';\r\n\t\t}\r\n\t}\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t{displayText}\r\n\t\t\t\r\n\t\t\t\t{textTail}\r\n\t\t\t\r\n\t\t\r\n\t);\r\n};\r\n","import { IProfile } from \"@assetmark/profile/dist/profileComponent\";\r\nimport { GoalTypeEnum } from \"../lib/das-api/model/goalTypeEnum\";\r\nimport { LeadCategory } from \"../models/lead-category-enum\";\r\nimport { TLeadProfileResponse } from \"../models/lead-profile-response\";\r\n\r\nexport const parseGoalTypeEnum = (goal: string) => {\r\n if(goal.toLowerCase() === 'generalsavings') {\r\n return `3`;\r\n }\r\n if(goal.toLowerCase() === 'unknown') {\r\n return `1`;\r\n }\r\n if(goal.toLowerCase() === 'retirement') {\r\n return `2`;\r\n }\r\n return '0';\r\n};\r\n\r\nexport const convertLastPageToRedirectRoute = (lastPageVisited: string): string => {\r\n if(lastPageVisited.toLowerCase() === LeadCategory.ClientProfile.toLowerCase()) {\r\n return 'about';\r\n }\r\n if(lastPageVisited.toLowerCase() === LeadCategory.SetGoal.toLowerCase()) {\r\n return 'goals/retirement_age';\r\n }\r\n if(lastPageVisited.toLowerCase() === LeadCategory.RiskProfile.toLowerCase()) {\r\n return 'risk-profile';\r\n }\r\n return 'about';\r\n};\r\n\r\nexport const parseProfileResposeToIProfile = (lead: TLeadProfileResponse): IProfile => {\r\n return {\r\n Investor: {\r\n FirstName: lead.firstName.getOrElse(''),\r\n LastName: lead.lastName.getOrElse(''),\r\n EmailAddress: lead.emailAddress.getOrElse(''),\r\n Age: lead.age.getOrElse(0),\r\n },\r\n investmentInfo: {\r\n InvestmentAmount: 0,\r\n },\r\n investmentReason: '0',\r\n page: 0,\r\n };\r\n};","export const LEAD_SCREEN = 'LEAD_SCREEN';\r\nexport const LEAD_PROFILE = 'LEAD_PROFILE';\r\nexport const LEAD_PAGE = 'LEAD_PAGE';\r\nexport const UPDATE_LEAD_DATA = 'UPDATE_LEAD_DATA';\r\nexport const UPDATE_NAV_STATE = 'UPDATE_NAV_STATE';\r\nexport const UPDATE_ABOUT_YOU_STATE = 'UPDATE_ABOUT_YOU_STATE';\r\n// retiremnt\r\nexport const LEAD_UPDATE_GOALTYPE = 'LEAD_UPDATE_GOALTYPE';\r\nexport const LEAD_RETIREMENT_AGE = 'LEAD_RETIREMENT_AGE';\r\nexport const LEAD_MONTHLY_INCOME = 'LEAD_MONTHLY_INCOME';\r\nexport const LEAD_RETIREMENT_INCOME = 'LEAD_RETIREMENT_INCOME';\r\nexport const LEAD_ANNUAL_SAVING = 'LEAD_ANNUAL_SAVING';\r\nexport const LEAD_SKIP_GOAL_INFO = 'LEAD_SKIP_GOAL_INFO';\r\nexport const LEAD_INVESTER_TARGET = 'LEAD_INVESTER_TARGET';\r\nexport const LEAD_NAV_STATE = 'LEAD_NAV_STATE';\r\n","import { IProfile } from '@assetmark/profile/dist/profileComponent';\r\nimport { defaultProfileData } from '../../constants/data.constant';\r\nimport { TLeadProfileResponse } from '../../models/lead-profile-response';\r\nimport { TLeadStrategyInfoResponse } from '../../models/lead-strategy-info-response';\r\nimport { TScreenType } from '../../models/screen-type';\r\nimport { LeadAction } from './lead.action';\r\nimport {\r\n\tLEAD_SCREEN,\r\n\tLEAD_PROFILE,\r\n\tLEAD_PAGE,\r\n\tLEAD_RETIREMENT_AGE,\r\n\tLEAD_MONTHLY_INCOME,\r\n\tLEAD_RETIREMENT_INCOME,\r\n\tLEAD_ANNUAL_SAVING,\r\n\tLEAD_SKIP_GOAL_INFO,\r\n\tLEAD_INVESTER_TARGET,\r\n\tUPDATE_LEAD_DATA,\r\n\tUPDATE_NAV_STATE,\r\n\tUPDATE_ABOUT_YOU_STATE,\r\n} from './lead.constant';\r\nimport { TInvestorNavState, TGoal } from './lead.model';\r\n\r\nexport type LeadContextState = {\r\n\tagentId: string;\r\n\tleadProfileId: string;\r\n\tleadStrategyId: string;\r\n\tupdateLeadData: (lead: TLeadProfileResponse) => void;\r\n\tscreen: TScreenType;\r\n\tsetScreen: (screen: TScreenType)=> void;\r\n\tleadProfile: IProfile;\r\n\tsetLeadProfile: (profile: IProfile) => void;\r\n\tinvestorNavState: TInvestorNavState;\r\n\tupdateNavState: (investorNavState: TInvestorNavState) => void;\r\n\tgoals: TGoal;\r\n\tsetGoals: (type: any, goal: TGoal) => void;\r\n\tsetSkipGoal: (type: any, val: string) => void;\r\n\tupdateAboutYouState: (lead: TLeadStrategyInfoResponse) => void;\r\n};\r\n\r\nexport const initialState: LeadContextState = {\r\n\tagentId: '',\r\n\tleadProfileId: '',\r\n\tleadStrategyId: '',\r\n\tupdateLeadData: (lead: TLeadProfileResponse) => {},\r\n\tscreen: \"about\",\r\n\tsetScreen: (screen: TScreenType) => {},\r\n\tleadProfile: defaultProfileData,\r\n\tsetLeadProfile: (profile: IProfile) => {},\r\n\t\r\n\tinvestorNavState: {\r\n\t\taboutYouVisited: true,\r\n\t\tgoalsVisited: false,\r\n\t\triskVisited: false,\r\n\t\tanalysisVisited: false,\r\n\t\tgoalsActiveState: 'About You',\r\n\t},\r\n\tupdateNavState: (investorNavState: TInvestorNavState) => {},\r\n\tgoals: {\r\n\t\tGoalType: 0,\r\n\t\tAmount: 0,\r\n\t\tretirementAge: 0,\r\n\t\tTargetAmount: 0,\r\n\t\tTargetYear: 0,\r\n\t\tMonthlyIncome: 0,\r\n\t\tMonthlyIncomeToRetirePercent: 0,\r\n\t\tOtherRetirementIncomes: [{ Id: '', IncomeSourceTypeId: 0 }],\r\n\t\tNetRetirementMonthlyIncome: 0,\r\n\t\tAnnualSavings: 0,\r\n\t},\r\n\t\r\n\tsetGoals: (type: any, goal: TGoal) => {\r\n\t\tgoal;\r\n\t},\r\n\tsetSkipGoal: (type: any, val: string) => {\r\n\t\tval;\r\n\t},\r\n\r\n\tupdateAboutYouState: (lead: TLeadStrategyInfoResponse) => {}\r\n};\r\n\r\nexport function leadContextReducer(state: LeadContextState, action: LeadAction) {\r\n\tlet newState: any;\r\n\tswitch (action.type) {\r\n\t\tcase UPDATE_ABOUT_YOU_STATE: {\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tleadProfile: action.payload\r\n\t\t\t};\r\n\t\t}\r\n\t\tcase UPDATE_NAV_STATE: {\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tinvestorNavState: action.payload\r\n\t\t\t};\r\n\t\t}\r\n\t\tcase UPDATE_LEAD_DATA: {\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tleadProfile: action.payload.profile,\r\n\t\t\t\tagentId: action.payload.agentId,\r\n\t\t\t\tleadProfileId: action.payload.leadProfileId,\r\n\t\t\t\tleadStrategyId: action.payload.leadStrategyId,\r\n\t\t\t};\r\n\t\t}\r\n\t\tcase LEAD_SCREEN: {\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tscreen: action.payload,\r\n\t\t\t};\r\n\t\t}\r\n\t\tcase LEAD_PROFILE: {\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tleadProfile: action.payload,\r\n\t\t\t};\r\n\t\t}\r\n\t\tcase LEAD_RETIREMENT_AGE:\r\n\t\t\tnewState = Object.assign({}, state);\r\n\t\t\tconst calculatedBirthYear = new Date().getFullYear() - newState.leadProfile.Investor.Age;\r\n\t\t\tconst targetYear = Number(action.payload) + calculatedBirthYear;\r\n\t\t\tnewState.goals = { ...state.goals, retirementAge: action.payload, TargetYear: targetYear, BirthYear: calculatedBirthYear };\r\n\t\t\treturn newState;\r\n\t\tcase LEAD_MONTHLY_INCOME:\r\n\t\t\tnewState = Object.assign({}, state);\r\n\t\t\tnewState.goals = { ...state.goals, MonthlyIncome: action.payload };\r\n\t\t\treturn newState;\r\n\t\tcase LEAD_RETIREMENT_INCOME:\r\n\t\t\tnewState = Object.assign({}, state);\r\n\t\t\tnewState.goals = {\r\n\t\t\t\t...state.goals,\r\n\t\t\t\tMonthlyIncome: action.payload.MonthlyIncome,\r\n\t\t\t\tMonthlyIncomeToRetirePercent: action.payload.MonthlyIncomeToRetirePercent,\r\n\t\t\t\tNetRetirementMonthlyIncome: action.payload.NetRetirementMonthlyIncome,\r\n\t\t\t\tOtherRetirementIncomes: action.payload.OtherRetirementIncomes,\r\n\t\t\t};\r\n\t\t\treturn newState;\r\n\t\tcase LEAD_ANNUAL_SAVING:\r\n\t\t\tnewState = Object.assign({}, state);\r\n\t\t\tnewState.goals = { ...state.goals, AnnualSavings: action.payload };\r\n\t\t\tnewState.investorNavState = {\r\n\t\t\t\taboutYouVisited: true,\r\n\t\t\t\tgoalsVisited: true,\r\n\t\t\t\triskVisited: false,\r\n\t\t\t\tanalysisVisited: false,\r\n\t\t\t\tgoalsActiveState: 'Risk Profile',\r\n\t\t\t};\r\n\t\t\treturn newState;\r\n\t\tcase LEAD_PAGE: {\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tpage: action.payload,\r\n\t\t\t};\r\n\t\t}\r\n\t\tcase LEAD_SKIP_GOAL_INFO:\r\n\t\t\tnewState = Object.assign({}, state);\r\n\t\t\tnewState.investorNavState = {\r\n\t\t\t\taboutYouVisited: true,\r\n\t\t\t\tgoalsVisited: true,\r\n\t\t\t\triskVisited: false,\r\n\t\t\t\tanalysisVisited: false,\r\n\t\t\t\tgoalsActiveState: 'Risk Profile',\r\n\t\t\t};\r\n\t\t\treturn newState;\r\n\t\tcase LEAD_INVESTER_TARGET:\r\n\t\t\tnewState = Object.assign({}, state);\r\n\t\t\tnewState.goals = {\r\n\t\t\t\t...state.goals,\r\n\t\t\t\tGoalType: action.payload.GoalType,\r\n\t\t\t\tTargetYear: action.payload.TargetYear,\r\n\t\t\t\tAnnualSavings: action.payload.AnnualSavings,\r\n\t\t\t\tTargetAmount: action.payload.TargetAmount,\r\n\t\t\t};\r\n\t\t\tnewState.investorNavState = {\r\n\t\t\t\taboutYouVisited: true,\r\n\t\t\t\tgoalsVisited: true,\r\n\t\t\t\triskVisited: false,\r\n\t\t\t\tanalysisVisited: false,\r\n\t\t\t\tgoalsActiveState: 'Risk Profile',\r\n\t\t\t};\r\n\t\t\treturn newState;\r\n\t\tdefault: {\r\n\t\t\tthrow new Error(`Unhandled action type: ${action}`);\r\n\t\t}\r\n\t}\r\n}\r\n","// retiremnt\r\nexport const LEAD_UPDATE_GOALTYPE = 'LEAD_UPDATE_GOALTYPE';\r\nexport const LEAD_RETIREMENT_AGE = 'LEAD_RETIREMENT_AGE';\r\nexport const LEAD_MONTHLY_INCOME = 'LEAD_MONTHLY_INCOME';\r\nexport const LEAD_RETIREMENT_INCOME = 'LEAD_RETIREMENT_INCOME';\r\nexport const LEAD_ANNUAL_SAVING = 'LEAD_ANNUAL_SAVING';\r\nexport const LEAD_SKIP_GOAL_INFO = 'LEAD_SKIP_GOAL_INFO';\r\nexport const LEAD_INVESTER_TARGET = 'LEAD_INVESTER_TARGET';\r\nexport const LEAD_NAV_STATE = 'LEAD_NAV_STATE';\r\nexport const LEAD_GOAL_SCREEN = 'LEAD_GOAL_SCREEN';\r\nexport const UPDATE_GOAL_DATA = 'UPDATE_GOAL_DATA';\r\nexport const RESET_GOAL_STATE = 'RESET_GOAL_STATE';\r\n\r\n// new constants for Gaol state\r\nexport const GOAL_goalId = 'GOAL_goalId';\r\nexport const GOAL_Amount = 'GOAL_Amount';\r\nexport const GOAL_GoalType = 'GOAL_GoalType';\r\nexport const GOAL_TargetAmount = 'GOAL_TargetAmount';\r\nexport const GOAL_BirthYear = 'GOAL_BirthYear';\r\n","import { GoalAction } from './goal.action';\r\nimport {\r\n\tLEAD_SKIP_GOAL_INFO,\r\n\tUPDATE_GOAL_DATA,\r\n\tGOAL_goalId,\r\n\tGOAL_Amount,\r\n\tGOAL_GoalType,\r\n\tGOAL_TargetAmount,\r\n\tGOAL_BirthYear\r\n} from './goal.constant';\r\n// import { TGoal } from './goal.model';\r\nimport { TLeadGoalsResponse } from '../../models/goals-info-response';\r\nimport { TGoal } from '@assetmark/goal-components/dist/models/goal';\r\n\r\nexport type GoalContextState = {\r\n\tgoalId: string;\r\n\tgoals: TGoal;\r\n\tupdateGoalData: (goal: TLeadGoalsResponse) => void;\r\n\tupdateGoalId: (goalId: string) => void;\r\n\tgoalAmount: (amount: number) => void;\r\n\tgoalGoalType: (amount: number) => void;\r\n\tgoalTargetAmount: (amount: number) => void;\r\n\tgoalBirthYear: (year: number) => void;\r\n};\r\n\r\nexport const initialState: GoalContextState = {\r\n\tgoalId: '',\r\n\tgoals: {\r\n\t\tGoalId: 0,\r\n\t\t//InvestorId?: number;\r\n\t\tGoalType: 0,\r\n\t\tAmount: 0,\r\n\t\tTargetAmount: 0,\r\n\t\t//TargetYear?: number;\r\n\t\t//MonthlyIncome?: number;\r\n\t\t//MonthlyIncomeToRetirePercent?: number;\r\n\t\t//SavingsCurrent?: number;\r\n\t\t//AnnualSavings?: number;\r\n\t\tLifeExpectancy: 90,\r\n\t\tInflation: 0.02,\r\n\t\t//AccountId?: string;\r\n\t\tBirthYear: 0,\r\n\t\tOtherRetirementIncomes: [{ Id: '', IncomeSourceTypeId: 0 }],\r\n\t\t//NetRetirementMonthlyIncome?: number;\r\n\t\t//retirementAge?: number | string;\r\n\t},\r\n\tupdateGoalData: (goal: TLeadGoalsResponse) => {},\r\n\tupdateGoalId: (goalId: string) => {},\r\n\tgoalAmount: (amount: number) => {},\r\n\tgoalGoalType: (goalType: number) => {},\r\n\tgoalTargetAmount: (amount: number) => {},\r\n\tgoalBirthYear: (year: number) => {},\r\n};\r\n\r\nexport function goalContextReducer(state: GoalContextState, action: GoalAction) {\r\n\tlet newState: any;\r\n\tswitch (action.type) {\r\n\t\tcase UPDATE_GOAL_DATA:\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tgoals: action.payload,\r\n\t\t\t};\r\n\t\tcase GOAL_goalId:\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tgoalId: action.payload\r\n\t\t\t};\t\r\n\t\tcase GOAL_Amount:\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tgoals: { ...state.goals, Amount: action.payload }\r\n\t\t\t};\r\n\t\tcase GOAL_GoalType:\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tgoals: { ...state.goals, GoalType: action.payload }\r\n\t\t\t};\r\n\t\tcase GOAL_TargetAmount:\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tgoals: { ...state.goals, TargetAmount: action.payload }\r\n\t\t\t};\t\t\t\r\n\t\tcase GOAL_BirthYear:\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tgoals: { ...state.goals, BirthYear: action.payload }\r\n\t\t\t};\r\n\t\tcase LEAD_SKIP_GOAL_INFO:\r\n\t\t\tnewState = Object.assign({}, state);\r\n\t\t\treturn newState;\r\n\t\tdefault: {\r\n\t\t\tthrow new Error(`Unhandled action type: ${action}`);\r\n\t\t}\r\n\t}\r\n}\r\n","import * as React from 'react';\r\nimport {\r\n\tGOAL_Amount,\r\n\tGOAL_goalId,\r\n\tGOAL_GoalType,\r\n\tGOAL_TargetAmount,\r\n\tUPDATE_GOAL_DATA\r\n} from './goal.constant';\r\nimport { goalContextReducer, GoalContextState, initialState } from './goal.context.reducer';\r\nimport { TLeadGoalsResponse } from '../../models/goals-info-response';\r\nimport { parseOtherIncome } from '../../helpers/goal.helper';\r\nimport { useEffect } from 'react';\r\nimport { LocalStorageUtils } from '@assetmark/ui-kit/dist/utils/local-storage.utils';\r\nimport { GOAL_ID_KEY, GOAL_KEY } from '../../constants/storage.constant';\r\n\r\ntype LeadProviderProps = { children: React.ReactNode };\r\n\r\nconst GoalStateContext = React.createContext(initialState);\r\nGoalStateContext.displayName = 'GoalContext';\r\n\r\nfunction GoalContextProvider({ children }: LeadProviderProps) {\r\n\tconst [state, dispatch] = React.useReducer(goalContextReducer, initialState);\r\n\t\r\n\tuseEffect(() => {\r\n\t\tconst storageGoalId = LocalStorageUtils.getItem(GOAL_ID_KEY);\r\n\t\tupdateGoalId(storageGoalId.getOrElse(''));\r\n\t}, []);\r\n\r\n\tconst updateGoalData = (goal: TLeadGoalsResponse) => {\r\n\t\tconst copyGoals = Object.assign({}, state.goals);\r\n\t\tgoal.id.fold('', id => (copyGoals['GoalId'] = id));\r\n\t\tgoal.annualSavings.fold(0, value => (copyGoals['AnnualSavings'] = value));\r\n\t\tgoal.investmentAmount.fold(0, value => (copyGoals['Amount'] = value));\r\n\t\tgoal.birthYear.fold(0, value => (copyGoals['BirthYear'] = value));\r\n\t\t//goal.investmentTypeEnum.fold(0, value => (copyGoals['GoalType'] = Number(value)));\r\n\t\tgoal.targetGoalYear.fold(0, value => (copyGoals['TargetYear'] = value));\r\n\t\tgoal.targetGrowthAmount.fold(0, value => (copyGoals['TargetAmount'] = value));\r\n\t\tgoal.monthlyIncome.fold(0, value => (copyGoals['MonthlyIncome'] = value));\r\n\t\tgoal.monthlyIncomeToRetirePercent.fold(0, value => (copyGoals['MonthlyIncomeToRetirePercent'] = value));\r\n\t\tgoal.netRetirementMonthlyIncome.fold(0, value => copyGoals['NetRetirementMonthlyIncome'] = value);\r\n\t\tgoal.leadOtherRetirementIncome.fold(\r\n\t\t\t[],\r\n\t\t\tvalue =>\r\n\t\t\t\t(copyGoals['OtherRetirementIncomes'] = parseOtherIncome(value)),\r\n\t\t);\r\n\t\tif (goal.birthYear.isSome() && goal.targetGoalYear.isSome()) {\r\n\t\t\tif (goal.birthYear.getOrElse(0) !== 0 && goal.targetGoalYear.getOrElse(0) !== 0) {\r\n\t\t\t\tcopyGoals['retirementAge'] = goal.targetGoalYear.getOrElse(0) - goal.birthYear.getOrElse(0);\r\n\t\t\t}\r\n\t\t}\r\n\t\tdispatch({ type: UPDATE_GOAL_DATA, payload: copyGoals });\r\n\t\tupdateGoalId(goal.id.getOrElse(''));\r\n\t};\r\n\t\r\n\tconst updateGoalId = (goalId: string) => dispatch({ type: GOAL_goalId, payload: goalId });\r\n\tconst goalAmount = (amount: number) => { \r\n\t\tdispatch({ type: GOAL_Amount, payload: amount }); \r\n\t};\r\n\tconst goalGoalType = (goalType: number) => dispatch({ type: GOAL_GoalType, payload: goalType });\r\n\tconst goalTargetAmount = (amount: number) => dispatch({ type: GOAL_TargetAmount, payload: amount });\r\n\t\r\n\tconst values = React.useMemo(\r\n\t\t() => ({ ...state, updateGoalData, updateGoalId, goalAmount, goalGoalType, goalTargetAmount }),\r\n\t\t[state],\r\n\t);\r\n\r\n\treturn {children};\r\n}\r\n\r\nfunction useGoal() {\r\n\tconst context = React.useContext(GoalStateContext);\r\n\tif (context === undefined) {\r\n\t\tthrow new Error('useGoal must be used within a GoalContextprovider');\r\n\t}\r\n\treturn context;\r\n}\r\n\r\nexport { GoalContextProvider, useGoal };\r\n","import { IProfile } from '@assetmark/profile/dist/profileComponent';\r\nimport * as React from 'react';\r\nimport { defaultProfileData } from '../../constants/data.constant';\r\nimport { parseGoalTypeEnum, parseProfileResposeToIProfile } from '../../helpers/model.helper';\r\nimport { TLeadProfileResponse } from '../../models/lead-profile-response';\r\nimport { TLeadStrategyInfoResponse } from '../../models/lead-strategy-info-response';\r\nimport { TScreenType } from '../../models/screen-type';\r\nimport {\r\n\tUPDATE_LEAD_DATA,\r\n\tLEAD_SCREEN,\r\n\tLEAD_PROFILE,\r\n\tLEAD_RETIREMENT_AGE,\r\n\tLEAD_MONTHLY_INCOME,\r\n\tLEAD_RETIREMENT_INCOME,\r\n\tLEAD_ANNUAL_SAVING,\r\n\tLEAD_INVESTER_TARGET,\r\n\tUPDATE_NAV_STATE,\r\n} from './lead.constant';\r\nimport { leadContextReducer, LeadContextState, initialState } from './lead.context.reducer';\r\nimport { TInvestorNavState } from './lead.model';\r\nimport { useGoal } from '../goal/goal.context';\r\n\r\ntype LeadProviderProps = { children: React.ReactNode };\r\n\r\nconst LeadStateContext = React.createContext(initialState);\r\nLeadStateContext.displayName = 'LeadContext';\r\n\r\nfunction LeadContextProvider({ children }: LeadProviderProps) {\r\n\tconst [state, dispatch] = React.useReducer(leadContextReducer, initialState);\r\n\tconst { goalAmount, goalGoalType, goalBirthYear } = useGoal();\r\n\t\r\n\tconst returnPayload = (type: any, payload: any) => {\r\n\t\tif (type === LEAD_RETIREMENT_AGE) {\r\n\t\t\treturn payload.retirementAge;\r\n\t\t} else if (type === LEAD_MONTHLY_INCOME) {\r\n\t\t\treturn payload.MonthlyIncome;\r\n\t\t} else if (type === LEAD_RETIREMENT_INCOME) {\r\n\t\t\treturn {\r\n\t\t\t\tGoalType: Number(payload.investmentReason),\r\n\t\t\t\tMonthlyIncome: payload.MonthlyIncome,\r\n\t\t\t\tMonthlyIncomeToRetirePercent: payload.MonthlyIncomeToRetirePercent,\r\n\t\t\t\tNetRetirementMonthlyIncome: payload.NetRetirementMonthlyIncome,\r\n\t\t\t\tOtherRetirementIncomes: payload.OtherRetirementIncomes,\r\n\t\t\t};\r\n\t\t} else if (type === LEAD_ANNUAL_SAVING) {\r\n\t\t\treturn payload.AnnualSavings;\r\n\t\t\t// return { GoalType: Number(payload.investmentReason),\r\n\t\t\t// \tAnnualSavings: payload.AnnualSavings ,\r\n\t\t\t// };\r\n\t\t} else if (type === LEAD_INVESTER_TARGET) {\r\n\t\t\treturn payload;\r\n\t\t\t// return { GoalType: Number(payload.investmentReason),\r\n\t\t\t// \tAnnualSavings: payload.AnnualSavings ,\r\n\t\t\t// };\r\n\t\t}\r\n\t\treturn payload;\r\n\t};\r\n\r\n\tconst setGoals = (type: any, goals: any) =>\r\n\t\tdispatch({\r\n\t\t\ttype: type,\r\n\t\t\tpayload: returnPayload(type, goals),\r\n\t\t});\r\n\r\n\tconst setSkipGoal = (type: any, val: string) => dispatch({ type: type, payload: val });\r\n\tconst setLeadProfile = (profile: IProfile) => {\r\n\t\tdispatch({ type: LEAD_PROFILE, payload: profile }); \r\n\t\tgoalAmount(profile.investmentInfo?.InvestmentAmount || 0);\r\n\t\tif(profile.investmentReason) {\r\n\t\t\tgoalGoalType(+profile.investmentReason);\r\n\t\t}\r\n\t};\r\n\tconst setScreen = (screen: TScreenType) => dispatch({ type: LEAD_SCREEN, payload: screen });\r\n\tconst updateLeadData = (lead: TLeadProfileResponse) => { // this is unused function\r\n\t\tconst profile = Object.assign({}, state.leadProfile, { Investor: {\r\n\t\t\tFirstName: lead.firstName.getOrElse(''),\r\n\t\t\tLastName: lead.lastName.getOrElse(''),\r\n\t\t\tEmailAddress: lead.emailAddress.getOrElse(''),\r\n\t\t\tAge: lead.age.getOrElse(0),\r\n\t\t } });\r\n\r\n\t\t dispatch({\r\n\t\t\t\ttype: UPDATE_LEAD_DATA,\r\n\t\t\t\tpayload: {\r\n\t\t\t\t\tprofile,\r\n\t\t\t\t\tagentId: lead.agentId.getOrElse(''),\r\n\t\t\t\t\tleadProfileId: lead.leadProfileId.getOrElse(''),\r\n\t\t\t\t\tleadStrategyId: lead.leadStrategyId[0],\r\n\t\t\t\t},\r\n\t\t\t});\r\n\t\t\tgoalBirthYear(new Date().getFullYear() - profile.Investor.Age);\t\r\n\t};\r\n\r\n\tconst updateAboutYouState = (info: TLeadStrategyInfoResponse) => {\r\n\t\tif(info.lead.isSome()) { // this will update AboutYou section data in context\r\n\t\t\tconst leadAbout = info.lead.map(parseProfileResposeToIProfile).getOrElse(defaultProfileData);\r\n\t\t\tconst profile = {\r\n\t\t\t\t...leadAbout,\r\n\t\t\t\tinvestmentInfo: { InvestmentAmount: info.investmentAmount.getOrElse(0) },\r\n\t\t\t\tinvestmentReason: info.goalType.map(goalType => parseGoalTypeEnum(`${goalType}`)).getOrElse('0'),\r\n\t\t\t};\r\n\t\t\tconst payload = {\r\n\t\t\t\tprofile,\r\n\t\t\t\tagentId: info.lead.map(l => l.agentId.getOrElse('')).getOrElse(''),\r\n\t\t\t\tleadProfileId: info.lead.map(l => l.leadProfileId.getOrElse('')).getOrElse(''),\r\n\t\t\t\tleadStrategyId: info.leadStrategyId.getOrElse(''),\r\n\t\t\t};\r\n\r\n\t\t\tdispatch({\r\n\t\t\t\ttype: UPDATE_LEAD_DATA,\r\n\t\t\t\tpayload\r\n\t\t\t});\r\n\t\t\tgoalAmount(info.investmentAmount.getOrElse(0));\r\n\t\t\tif(profile.investmentReason !== '0') {\r\n\t\t\t\tgoalGoalType(+profile.investmentReason);\r\n\t\t\t}\r\n\t\t\tgoalBirthYear(new Date().getFullYear() - profile.Investor.Age);\r\n\t\t}\r\n\t};\r\n\tconst updateNavState = (investorNavState: TInvestorNavState) => dispatch({ type: UPDATE_NAV_STATE, payload: investorNavState });\r\n\r\n\tconst values = React.useMemo(\r\n\t\t() => ({ ...state, setGoals, setSkipGoal, setLeadProfile, setScreen, updateLeadData, updateNavState, updateAboutYouState }),\r\n\t\t[state],\r\n\t);\r\n\r\n\treturn {children};\r\n}\r\n\r\nfunction useLead() {\r\n\tconst context = React.useContext(LeadStateContext);\r\n\tif (context === undefined) {\r\n\t\tthrow new Error('useLead must be used within a LeadContextprovider');\r\n\t}\r\n\treturn context;\r\n}\r\n\r\nexport { LeadContextProvider, useLead };\r\n","import * as React from 'react';\r\nimport styles from './sidebar.module.css';\r\nimport { convertStringtoDollarString } from '../../../helpers/formathelper';\r\nimport { GetGoalTypeDisplayText } from '../../../helpers/goal.helper';\r\nimport { EllipsisText } from '../../../helpers/ellipsistext';\r\n\r\nimport { useLead } from '../../../contexts/lead/lead.context';\r\nimport { TScreenType } from '../../../models/screen-type';\r\nimport { useParams } from 'react-router';\r\n\r\nexport type TStateProps = {\r\n\tinvestorState?: any;\r\n\tscreen: string;\r\n};\r\n\r\nexport const SideBarComponent: React.FC = (props: TStateProps) => {\r\n\tconst { leadProfile } = useLead();\r\n\r\n\tconst activeState = (subM: any) => {\r\n\t\treturn props.screen === subM ? styles.active : styles.noactive;\r\n\t};\r\n\r\n\treturn (\r\n\t\t
\r\n\t\t\t\r\n\t\t
\r\n\t);\r\n};\r\n","import { LocalStorageUtils } from '@assetmark/ui-kit/dist/utils/local-storage.utils';\r\nimport { ABOUT_YOU_KEY, GOAL_ID_KEY, GOAL_KEY, LEAD_APP_STATE, LEAD_ID_KEY, LEAD_STRATEGY_ID_KEY } from '../constants/storage.constant';\r\nimport { LeadStrategyInfoResponse } from '../lib/das-api/model/leadStrategyInfoResponse';\r\n\r\nexport const clearLocalData = () => {\r\n try {\r\n LocalStorageUtils.removeItem(LEAD_ID_KEY);\r\n LocalStorageUtils.removeItem(LEAD_STRATEGY_ID_KEY);\r\n LocalStorageUtils.removeItem(ABOUT_YOU_KEY);\r\n LocalStorageUtils.removeItem(LEAD_APP_STATE);\r\n LocalStorageUtils.removeItem(GOAL_KEY);\r\n LocalStorageUtils.removeItem(GOAL_ID_KEY);\r\n } catch {\r\n\r\n }\r\n};\r\n\r\nexport const getRiskProfileId = () => {\r\n const leadState = LocalStorageUtils.getItem(LEAD_APP_STATE);\r\n if(leadState.isSome()) {\r\n const pid = leadState.getOrElse({ riskProfileId: 0 });\r\n return pid.riskProfileId || 0;\r\n }\r\n return 0;\r\n};","import { AppApi } from \"../../apis/app.api\";\r\nimport { LeadApi } from \"../../apis/lead.api\";\r\nimport { defaultLeadProfile } from \"../../constants/data.constant\";\r\nimport { TAddUpdateLeadName } from \"../../models/add-update-lead-request\";\r\nimport { TLastPageRequest } from \"../../models/last-update-page-request\";\r\nimport { TUpdateLeadStrategy } from \"../../models/update-lead\";\r\nimport { withRxJs } from \"../hoc/with-rx\";\r\nimport { AboutYouComponent } from \"./aboutyou.component\";\r\n\r\nconst AboutYouContainer = withRxJs(AboutYouComponent)(() => {\r\n\t// const user$ = UserApi.getUser().map(value => value.toOption());\r\n\t//.do(user => user.map(u => LeadApi.advisorId$.next(u.roles[0].aplId.getOrElse(''))));\r\n\treturn {\r\n\t\tdefaultProps: {\r\n\t\t\tleadData: defaultLeadProfile,\r\n\t\t\tleadStrategy: { investmentAmount: 0, investmentReason: '2' },\r\n\t\t\tonAddUpdateName: (lead: TAddUpdateLeadName, lastPage: TLastPageRequest, leadId: string) => {\r\n\t\t\t\tif (leadId) {\r\n\t\t\t\t\tLeadApi.updateLeadAbout(lead, lastPage, leadId);\r\n\t\t\t\t} else {\r\n\t\t\t\t\tLeadApi.addLeadAbout(lead, lastPage);\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\tonAddUpdateAmountReason: (lead: TUpdateLeadStrategy, lastPage: TLastPageRequest) => {\r\n\t\t\t\tLeadApi.updateLeadAmountAndReason(lead, lastPage);\r\n\t\t\t},\r\n\t\t\tonBackButtonClick: (backScreen: string) => {\r\n\t\t\t\tLeadApi.redirectToPage$.next(backScreen);\r\n\t\t\t},\r\n\t\t},\r\n\t\tprops: {\r\n\t\t\tleadData: LeadApi.getSavedLeadProfile$(),\r\n\t\t\tleadStrategy: LeadApi.getSavedLeadStrategy$(),\r\n\t\t},\r\n\t};\r\n});\r\n\r\nexport default AboutYouContainer;","import * as React from 'react';\r\nimport * as _ from \"lodash\";\r\nimport { useHistory, useParams } from 'react-router-dom';\r\nimport { IProfile } from '@assetmark/profile/dist/profileComponent';\r\nimport { SideBarComponent } from '../common/sidebar/sidebar.component';\r\nimport styles from './aboutyou.module.css';\r\n\r\nimport { EGoalType, GetGoalTypeDisplayText } from '../../helpers/goal.helper';\r\nimport { TUnderlineDropdownItem } from '@assetmark/common-elements/dist';\r\nimport { redirectTo } from '../../helpers/historyhelpers';\r\nimport { useLead } from '../../contexts/lead/lead.context';\r\n\r\nimport { About } from '@assetmark/profile/dist/components/about/about';\r\nimport { InvestmentAmount } from '@assetmark/profile/dist/components/investment/investmentAmount';\r\nimport { InvestmentReason } from '@assetmark/profile/dist/components/reason/investmentReason';\r\nimport { useEffect, useState } from 'react';\r\nimport { TScreenType } from '../../models/screen-type';\r\nimport { TAddUpdateLeadName } from '../../models/add-update-lead-request';\r\nimport { useApp } from '../../contexts/app/app.context';\r\nimport { TUpdateLeadStrategy } from '../../models/update-lead';\r\nimport { TLeadProfileResponse } from '../../models/lead-profile-response';\r\nimport { TAmountReason } from '../../models/amount-reason';\r\nimport { LeadApi } from '../../apis/lead.api';\r\nimport { TLastPageRequest } from '../../models/last-update-page-request';\r\nimport { getLastVisitedPageCategory } from '../../helpers/pagehelper';\r\nimport { getRiskProfileId } from '../../helpers/storage.helper';\r\nimport { LocalStorageUtils } from '@assetmark/ui-kit/dist/utils/local-storage.utils';\r\nimport { LEAD_ID_KEY } from '../../constants/storage.constant';\r\n\r\ntype TAboutYouProps = {\r\n\tleadData: TLeadProfileResponse;\r\n\tleadStrategy: TAmountReason;\r\n\tonAddUpdateName: (lead: TAddUpdateLeadName, lastPage: TLastPageRequest, leadId: string) => void;\r\n\tonAddUpdateAmountReason: (lead: TUpdateLeadStrategy, lastPage: TLastPageRequest) => void;\r\n\tonBackButtonClick: (backScreen: string) => void;\r\n}\r\nexport const AboutYouComponent: React.FC = ({ leadData, leadStrategy, onAddUpdateName, onAddUpdateAmountReason, onBackButtonClick }) => {\r\n\tconst { subModule } = useParams<{subModule: string}>();\r\n\tconst { user } = useApp();\r\n\tconst { agentId, leadProfileId, leadStrategyId, leadProfile, setLeadProfile, updateLeadData, investorNavState } = useLead();\r\n\tconst history = useHistory();\r\n\tconst [leadProfileCopy, setCopy] = useState(_.cloneDeep(leadProfile));\r\n\t\r\n\tconst investmentTypeDropdownItems: TUnderlineDropdownItem[] = [] as TUnderlineDropdownItem[];\r\n\tinvestmentTypeDropdownItems.push(\r\n\t\t{ value: EGoalType.Retirement, text: GetGoalTypeDisplayText(EGoalType.Retirement) },\r\n\t\t{ value: EGoalType.GeneralSavings, text: GetGoalTypeDisplayText(EGoalType.GeneralSavings) },\r\n\t\t{ value: EGoalType.Unknown, text: GetGoalTypeDisplayText(EGoalType.Unknown) },\r\n\t);\r\n\t\r\n\tuseEffect(() => {\r\n\t\tif(leadData.leadProfileId.isSome()) {\r\n\t\t\tupdateLeadData(leadData);\r\n\t\t}\r\n\t}, [leadData]);\r\n\r\n\tuseEffect(() => {\r\n\t\tif(leadStrategy.investmentAmount > 0) {\r\n\t\t\tsetLeadProfile({\r\n\t\t\t\t...leadProfile,\r\n\t\t\t\tinvestmentInfo: { InvestmentAmount: leadStrategy.investmentAmount },\r\n\t\t\t\tinvestmentReason: leadStrategy.investmentReason,\r\n\t\t\t});\r\n\t\t}\r\n\t}, [leadStrategy]);\r\n\r\n\tconst handleBackButton = (backScreen: string, data: any) => {\r\n\t\t//console.log('data object :>> ', data);\r\n\t\t//console.log('leadProfile object :>> ', leadProfile);\r\n\t\t//console.log('leadProfileCopy object :>> ', leadProfileCopy);\r\n\t\tLeadApi.redirectToPage$.next(backScreen);\r\n\t};\r\n\r\n\tconst handleNextName = (data: IProfile) => {\r\n\t\tonAddUpdateName(\r\n\t\t\t{\r\n\t\t\t\tfirstName: data.Investor && data.Investor.FirstName,\r\n\t\t\t\tlastName: data.Investor && data.Investor.LastName,\r\n\t\t\t\temailAddress: data.Investor && data.Investor.EmailAddress,\r\n\t\t\t\tage: data.Investor && data.Investor.Age,\r\n\t\t\t\tagentId: agentId || user.roles[0].aplId.getOrElse(\"\"), // on first load you will not get agentId set in lead context\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tcurrentRoute: 'about',\r\n\t\t\t\tleadId: leadProfileId,\r\n\t\t\t\tleadStrategyId: leadStrategyId,\r\n\t\t\t\tagentId: agentId,\r\n\t\t\t\tlastPageVisited: getLastVisitedPageCategory(investorNavState),\r\n\t\t\t},\r\n\t\t\tleadProfileId,\r\n\t\t);\r\n\t};\r\n\r\n\tconst handleNextAmount = (data: IProfile) => {\r\n\t\t //setLeadProfile(data);\r\n\t\t//LeadApi.redirectToPage$.next(\"investment_reason\");\r\n\t\tonAddUpdateAmountReason({\r\n\t\t\tleadId: leadProfileId,\r\n\t\t\tleadStrategyId: leadStrategyId,\r\n\t\t\triskProfileId: getRiskProfileId(),\r\n\t\t\tinvestmentAmount: data.investmentInfo ? data.investmentInfo.InvestmentAmount : 0,\r\n\t\t\tgoalType: +(leadProfile.investmentReason || '0'),\r\n\t\t\tagentId: agentId,\r\n\t\t}, {\r\n\t\t\tcurrentRoute: \"investment_amount\",\r\n\t\t\tleadId: leadProfileId,\r\n\t\t\tleadStrategyId: leadStrategyId,\r\n\t\t\tagentId: agentId,\r\n\t\t\tlastPageVisited: getLastVisitedPageCategory(investorNavState),\r\n\t\t});\r\n\t};\r\n\r\n\tconst handleNextReason = (data: IProfile) => {\r\n\t\tonAddUpdateAmountReason({\r\n\t\t\tleadId: leadProfileId,\r\n\t\t\tleadStrategyId: leadStrategyId,\r\n\t\t\triskProfileId: getRiskProfileId(),\r\n\t\t\tinvestmentAmount: data.investmentInfo ? data.investmentInfo.InvestmentAmount : 0,\r\n\t\t\tgoalType: +(data.investmentReason === \"0\" ? '2' : data.investmentReason || '2'),\r\n\t\t\tagentId: agentId,\r\n\t\t}, {\r\n\t\t\tcurrentRoute: \"investment_reason\",\r\n\t\t\tleadId: leadProfileId,\r\n\t\t\tleadStrategyId: leadStrategyId,\r\n\t\t\tagentId: agentId,\r\n\t\t\tlastPageVisited: getLastVisitedPageCategory(investorNavState),\r\n\t\t});\r\n\t};\r\n\t\r\n\treturn (\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t{subModule === \"about\" && ( history.push(\"/\")}\r\n\t\t\t\t\t\t\tonNextButtonClick={(e, data) => handleNextName(data)}\r\n\t\t\t\t\t\t\tdata={leadProfileCopy}\r\n\t\t\t\t\t\t/>)}\r\n\t\t\t\t\t\r\n\t\t\t\t\t{subModule === \"investment_amount\" && ( handleBackButton(\"about\", data)}\r\n\t\t\t\t\t\t\tonNextButtonClick={(e, data) => handleNextAmount(data)}\r\n\t\t\t\t\t\t\tdata={leadProfileCopy}\r\n\t\t\t\t\t\t/>)}\r\n\r\n\t\t\t\t\t{subModule === \"investment_reason\" && ( handleBackButton(\"investment_amount\", data)}\r\n\t\t\t\t\t\t\tonNextButtonClick={(e, data) => handleNextReason(data)}\r\n\t\t\t\t\t\t\tinvestmentReasons={investmentTypeDropdownItems}\r\n\t\t\t\t\t\t\tdata={leadProfileCopy}\r\n\t\t\t\t\t\t\tbuttonLabel={[{ key: '1', back: 'BACK', next: 'NEXT' }]}\r\n\t\t\t\t\t\t/>)}\r\n\t\t\t\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t
\r\n\t);\r\n};\r\n","import * as React from 'react';\r\nimport styles from './sidebar.module.css';\r\n\r\nexport type propsType = {\r\n\ttext: string;\r\n\tpropsValue?: any;\r\n\tactiveClassName: string;\r\n};\r\n\r\nexport const SidebarList: React.FC = (props: any) => {\r\n\tconst { text, propsValue, activeClassName } = props;\r\n\r\n\treturn (\r\n\t\t
  • \r\n\t\t\t\r\n\t\t\t\t{text}\r\n\t\t\t\t

    \r\n\t\t\t\t\t{propsValue}\r\n\t\t\t\t

    \r\n\t\t\t
    \r\n\t\t
  • \r\n\t);\r\n};\r\n","import * as React from 'react';\r\nimport styles from './sidebar.module.css';\r\nimport { convertStringtoDollarString } from '../../../helpers/formathelper';\r\nimport { useGoal } from '../../../contexts/goal/goal.context';\r\nimport { SidebarList } from './sidebar-list.component';\r\n\r\nexport type TStateProps = {\r\n\tsubModule?: string | undefined | '';\r\n\tinvestorState?: any;\r\n};\r\n\r\nexport const SideBarComponent: React.FC = (props: TStateProps) => {\r\n\tconst { goals } = useGoal();\r\n\r\n\tconst activeState = (subM: any) => {\r\n\t\treturn props.subModule === subM ? styles.active : styles.noactive;\r\n\t};\r\n\t\r\n\treturn (\r\n\t\t
    \r\n\t\t\t\r\n\t\t
    \r\n\t);\r\n};\r\n","import * as React from 'react';\r\nimport styles from './sidebar.module.css';\r\nimport { SidebarList } from './sidebar-list.component';\r\nimport { useGoal } from '../../../contexts/goal/goal.context';\r\nimport { convertStringtoDollarString } from '../../../helpers/formathelper';\r\nimport { LocalStorageUtils } from '@assetmark/ui-kit/dist/utils/local-storage.utils';\r\nimport { GOAL_KEY } from '../../../constants/storage.constant';\r\nimport { GoalTypeEnum } from \"../../../lib/das-api/model/goalTypeEnum\";\r\n\r\nexport type TStateProps = {\r\n\tsubModule?: string | undefined | '';\r\n\tinvestorState?: any;\r\n};\r\n\r\nexport const TargetSideBarComponent: React.FC = () => {\r\n\tconst { goals } = useGoal();\r\n\tconst [investTypeEnum, setInvestTypeEnum] = React.useState('');\r\n\r\nReact.useEffect(() => {\r\n\ttypeEnum();\r\n}, []);\r\n\r\nconst typeEnum = () => {\r\n\tconst enumType: any = LocalStorageUtils.getItem(GOAL_KEY).getOrElse(null);\r\n\tif(enumType && enumType !== null && enumType.investmentTypeEnum) {\r\n\t\tsetInvestTypeEnum(enumType.investmentTypeEnum);\r\n\t}\r\n};\r\n\r\n\treturn (\r\n\t\t
    \r\n\t\t\t\r\n\t\t
    \r\n\t);\r\n};\r\n","export default __webpack_public_path__ + \"static/media/tip.e9f5ca5f.svg\";","import * as React from 'react';\r\nimport tip from './tip.svg';\r\nimport styles from './tooltip.module.css';\r\n\r\nexport type TTooltipProps = {\r\n\ttext: string;\r\n\theading: string;\r\n};\r\n\r\nconst Tooltip: React.StatelessComponent = ({ text, heading }) => {\r\n\treturn (\r\n\t\t
    \r\n\t\t\t
    \r\n\t\t\t\t\r\n\t\t\t\t{heading}\r\n\t\t\t
    \r\n\t\t\t
    \r\n\t\t
    \r\n\t);\r\n};\r\n\r\nexport default Tooltip;\r\n","import { GoalsApi } from \"../../apis/goals.api\";\r\nimport { LeadApi } from \"../../apis/lead.api\";\r\nimport { TAddUpdateLeadGoal } from \"../../models/add-update-lead-goal\";\r\nimport { withRxJs } from \"../../components/hoc/with-rx\";\r\nimport { GoalsComponent } from \"./goals.component\";\r\nimport { defaultGoalsProfile } from \"../../constants/data.constant\";\r\nimport { ModelPerformanceInput } from \"../../lib/das-api/model/modelPerformanceInput\";\r\nimport { AppApi } from \"../../apis/app.api\";\r\nimport { RemoteDataUtils } from \"@assetmark/ui-kit/dist/utils/remote-data.utils\";\r\n\r\nconst GoalsContainer = withRxJs(GoalsComponent)(() => {\r\n\treturn {\r\n\t\tdefaultProps: {\r\n\t\t\tgoalsData: defaultGoalsProfile,\r\n\t\t\tsavedLeadGoalsData : RemoteDataUtils.initial,\r\n\t\t\tonAddLeadGoal: (lead: TAddUpdateLeadGoal, currentRoute: string, lastPageVisited: string) => {\r\n GoalsApi.addLeadGoal(lead, currentRoute, lastPageVisited);\r\n },\r\n\t\t\tonUpdateLeadGoal: (goal: TAddUpdateLeadGoal, modelPerformanceInput: ModelPerformanceInput, currentRoute: string, lastPageVisited: string) => {\r\n\t\t\t\tGoalsApi.updateLeadGoal(goal, modelPerformanceInput, currentRoute, lastPageVisited);\r\n\t\t\t},\r\n\t\t\t// saveLeadGoalDataToLocal: (lead: TAddUpdateLeadGoal, nextPage: string) => {\r\n // GoalsApi.saveLeadGoalDataToLocal(lead, nextPage);\r\n // },\r\n\t\t\tonBackButtonClick: (backScreen: string) => {\r\n\t\t\t\tLeadApi.redirectToPage$.next(backScreen);\r\n\t\t\t},\r\n\t\t\tonResetContextState: () => {\r\n\t\t\t\tGoalsApi.removeLeadGoalDataFromContext();\r\n\t\t\t}\r\n\t\t},\r\n\t\t\r\n\t\tprops: {\r\n\t\t\tgoalsData: GoalsApi.getSavedGoalsData$(),\r\n\t\t\tsavedLeadGoalsData: AppApi.getGoalsData$(),\r\n\t\t},\r\n\t};\r\n});\r\n\r\nexport default GoalsContainer;","import * as React from 'react';\r\nimport * as _ from \"lodash\";\r\nimport { SideBarComponent } from './sidebar/sidebar.component';\r\nimport { TargetSideBarComponent } from './sidebar/invest-target-sidebar.component';\r\nimport Tooltip from '../../components/common/tooltip/tooltip.component';\r\nimport styles from './goals.module.css';\r\nimport { LeadApi } from \"../../apis/lead.api\";\r\nimport { redirectTo } from '../../helpers/historyhelpers';\r\nimport { useLead } from '../../contexts/lead/lead.context';\r\nimport { useApp } from '../../contexts/app/app.context';\r\nimport { useGoal } from '../../contexts/goal/goal.context';\r\nimport RetirementAge from '@assetmark/goal-components/dist/components/reirement-age/retirement-age';\r\nimport MonthlyIncome from '@assetmark/goal-components/dist/components/monthly-income/monthly-income';\r\nimport RetirementIncome from '@assetmark/goal-components/dist/components/retirement-income/retirement-income';\r\nimport AnnualContribution from '@assetmark/goal-components/dist/components/annual-contribution/annual-contribution';\r\nimport InvestmentTarget from '@assetmark/goal-components/dist/components/investment-target/investment-target';\r\nimport { TAddUpdateLeadGoal } from '../../models/add-update-lead-goal';\r\nimport { useParams } from \"react-router-dom\";\r\nimport { TLeadGoalsResponse } from '../../models/goals-info-response';\r\nimport { useCallback, useEffect } from 'react';\r\nimport { getLastVisitedPageCategory } from '../../helpers/pagehelper';\r\nimport { getModelPerformanceInput, parseTGoalToTAddUpdateGoal } from '../../helpers/goal.helper';\r\nimport { LocalStorageUtils } from '@assetmark/ui-kit/dist/utils/local-storage.utils';\r\nimport { GOAL_ID_KEY, GOAL_KEY } from '../../constants/storage.constant';\r\nimport { ModelPerformanceInput } from '../../lib/das-api/model/modelPerformanceInput';\r\nimport { TGoal } from '@assetmark/goal-components/dist/models/goal';\r\nimport { RemoteData } from '@assetmark/ui-kit/dist/utils/remote-data.utils';\r\n\r\nexport enum EGoalType {\r\n\tUnknown = 1,\r\n\tRetirement = 2,\r\n\tGeneralSavings = 3,\r\n}\r\n\r\ntype TGoalsProps = {\r\n\tgoalsData: TLeadGoalsResponse;\r\n\tsavedLeadGoalsData: RemoteData\r\n\tonAddLeadGoal: (lead: TAddUpdateLeadGoal, currentRoute: string, lastPageVisited: string) => void;\r\n\tonUpdateLeadGoal: (goal: TAddUpdateLeadGoal, modelPerformanceInput: ModelPerformanceInput, currentRoute: string, lastPageVisited: string) => void;\r\n\tonBackButtonClick: (backScreen: string) => void;\r\n\tonResetContextState: () => void;\r\n}\r\n\r\nexport const GoalsComponent: React.FC = ({ goalsData, savedLeadGoalsData, onAddLeadGoal, onUpdateLeadGoal, onResetContextState }) => {\r\n\tconst { subModule } = useParams<{subModule: string}>();\r\n\tconst { applicationState } = useApp();\r\n\tconst { agentId, leadProfile, leadProfileId, leadStrategyId, investorNavState } = useLead();\r\n\tconst { goals, updateGoalData, goalAmount } = useGoal();\r\n\r\n\tconst [goalsDataFromState, setGoalsDataFromState] = React.useState(_.cloneDeep(goals));\r\n\r\n\tconst storageGoalId = LocalStorageUtils.getItem(GOAL_ID_KEY).getOrElse('');\r\n\tconst otherIncomeSourceType = [\r\n\t\t{ IncomeSourceType: 'Select Income Source', IncomeSourceTypeId: 0 },\r\n\t\t{ IncomeSourceType: 'Social Security', IncomeSourceTypeId: 101 },\r\n\t\t{ IncomeSourceType: 'Pension', IncomeSourceTypeId: 102 },\r\n\t\t{ IncomeSourceType: 'Rental', IncomeSourceTypeId: 103 },\r\n\t\t{ IncomeSourceType: 'Other', IncomeSourceTypeId: 104 },\r\n\t];\r\n\r\n\tuseEffect(() => {\r\n\t\tsetGoalsDataFromState(goals);\r\n\t}, [goals]);\r\n\r\n\tuseEffect(() => {\r\n\t\tif(goalsData.id.isSome()) {\r\n\t\t\tupdateGoalData(goalsData);\r\n\t\t\tif(leadProfile.investmentInfo && leadProfile.investmentInfo.InvestmentAmount) {\r\n\t\t\t\tgoalAmount(leadProfile.investmentInfo?.InvestmentAmount);\r\n\t\t\t}\r\n\t\t}\r\n\t}, [goalsData, leadProfile.investmentInfo?.InvestmentAmount]);\r\n\r\n\t// commented this and moved to App for #351\r\n\t// useEffect(() => {\r\n\t// \tif (savedLeadGoalsData.isSuccess()) {\r\n\t// \t\tupdateGoalData(savedLeadGoalsData.value);\r\n\t// \t} else {\r\n\t// \t\t// console.log('Start fresh goal journey.');\r\n\t// \t}\r\n\t// },[savedLeadGoalsData]);\r\n\r\n\tconst tooltipText =\r\n\t\t\"

    The \\\"Rule of 72\\\" is a simple way to estimate how long an investment will take to double for a given annual rate of interest. By dividing 72 by the annual rate of return, you can approximate how many years it will take to double your savings.

    For example, a $100,000 investment earning 6% interest, will grow to $200,000 in about 12 years.

    \";\r\n\tconst tooltipTextForAge =\r\n\t\t'On average, people say they are going to retire at age 66, according to a 2018 Gallup survey of American households. Only 12% of those surveyed expect to retire before the age of 60.';\r\n\tconst tooltipTextForMonthlyIncome =\r\n\t\t'US News and World Reports references that many people will need approximately 70 to 80 percent of their pre-retirement income coming from Social Security, retirement savings and any other income.';\r\n\tconst tooltipTextForRetireIncome1 =\r\n\t\t'US News and World Reports references that many people will need approximately 70 to 80 percent of their pre-retirement income coming from Social Security, retirement savings and any other income.';\r\n\tconst tooltipTextForRetireIncome2 =\r\n\t\t\"When using the Social Security quick calculator, select to see your benefit estimate in "today's dollars".\";\r\n\tconst tooltipTextForAnnualContri =\r\n\t\t'According to Investopedia, the amount of savings for your retirement is directly related to your age and salary. Investors in their thirties, should have the equivalent of their salary in retirement savings. Investors in their forties, should have three-times their salary invested and five-times their salary in their fifties. In your sixties, you should have six times your salary.';\r\n\r\n\tconst handleOnBackButtonClick = (): void => {\r\n\t\tif(subModule === 'retirement_age') {\r\n\t\t\tonResetContextState();\r\n\t\t\tLeadApi.redirectToPage$.next('investment_reason');\r\n\t\t} else if(subModule === 'monthly_income') {\r\n\t\t\tLeadApi.redirectToPage$.next('goals/retirement_age');\r\n\t\t} else if(subModule === 'retirement_income') {\r\n\t\t\tLeadApi.redirectToPage$.next('goals/monthly_income');\r\n\t\t} else if(subModule === 'annual_contribution') {\r\n\t\t\tLeadApi.redirectToPage$.next('goals/retirement_income');\r\n\t\t} else if(subModule === 'investment_target') {\r\n\t\t\tonResetContextState();\r\n\t\t\tLeadApi.redirectToPage$.next('investment_reason');\r\n\t\t}\r\n\t};\r\n\r\n\tconst investmentAmount = leadProfile.investmentInfo?.InvestmentAmount;\r\n\r\n\tconst handleAddUpdateRetirementAge = (retirementAge: number) => {\r\n\t\t const calculatedBirthYear = new Date().getFullYear() - leadProfile.Investor.Age;\r\n\t\t const targetYear = retirementAge + calculatedBirthYear;\r\n\t\t const request = parseTGoalToTAddUpdateGoal(leadProfileId, leadStrategyId, agentId, 'retirement_age', goals, storageGoalId);\r\n\t\t const tGoalRequest = { ...request, birthYear: calculatedBirthYear, targetGoalYear: targetYear, retirementAge: retirementAge };\r\n\t\t if (storageGoalId) {\r\n\t\t\tonUpdateLeadGoal(\r\n\t\t\t\ttGoalRequest,\r\n\t\t\t\tgetModelPerformanceInput(goals.Amount || 0, agentId, applicationState.feeId),\r\n\t\t\t\t'retirement_age',\r\n\t\t\t\tgetLastVisitedPageCategory(investorNavState),\r\n\t\t\t);\r\n\t\t} else {\r\n\t\t\tonAddLeadGoal(tGoalRequest, 'retirement_age', getLastVisitedPageCategory(investorNavState));\r\n\t\t}\r\n\t};\r\n\r\n\tconst handleUpdateMonthlyIncome = (monthlyIncome: number) => {\r\n\t\t const request = parseTGoalToTAddUpdateGoal(leadProfileId, leadStrategyId, agentId, 'monthly_income', goals, storageGoalId);\r\n\t\t const tGoalRequest = { ...request, monthlyIncome };\r\n\t\t if (storageGoalId) {\r\n\t\t\tonUpdateLeadGoal(\r\n\t\t\t\ttGoalRequest,\r\n\t\t\t\tgetModelPerformanceInput(goals.Amount || 0, agentId, applicationState.feeId),\r\n\t\t\t\t'monthly_income',\r\n\t\t\t\tgetLastVisitedPageCategory(investorNavState),\r\n\t\t\t);\r\n\t\t} else {\r\n\t\t\tonAddLeadGoal(tGoalRequest, 'monthly_income', getLastVisitedPageCategory(investorNavState));\r\n\t\t}\r\n\t};\r\n\r\n\tconst handleUpdateRetirementIncome = (goal: TGoal) => {\r\n\t\tconst request = parseTGoalToTAddUpdateGoal(leadProfileId, leadStrategyId, agentId, 'retirement_income', goals, storageGoalId);\r\n\t\tconst tGoalRequest = {\r\n\t\t\t...request,\r\n\t\t\tmonthlyIncomeToRetirePercent: Number(goal.MonthlyIncomeToRetirePercent),\r\n\t\t\tnetRetirementMonthlyIncome: goal.NetRetirementMonthlyIncome,\r\n\t\t\totherRetirementIncomes: goal.OtherRetirementIncomes\r\n\t\t\t\t? goal.OtherRetirementIncomes.map(o => ({\r\n\t\t\t\t\t\totherRetirementIncomeID: (o.Id === 0 || o.Id === \"0\") ? \"\" : o.Id.toString(),\r\n\t\t\t\t\t\tincomeSourceTypeId: o.IncomeSourceTypeId,\r\n\t\t\t\t\t\tmonthlyIncome: o.MonthlyIncome || 0,\r\n\t\t\t\t }))\r\n\t\t\t\t: [],\r\n\t\t};\r\n\t\tif (storageGoalId) {\r\n\t\t onUpdateLeadGoal(\r\n\t\t\t tGoalRequest,\r\n\t\t\t getModelPerformanceInput(goals.Amount || 0, agentId, applicationState.feeId),\r\n\t\t\t 'retirement_income',\r\n\t\t\t getLastVisitedPageCategory(investorNavState),\r\n\t\t );\r\n\t } else {\r\n\t\t onAddLeadGoal(tGoalRequest, 'retirement_income', getLastVisitedPageCategory(investorNavState));\r\n\t }\r\n\t};\r\n\r\n\tconst updateMonthlyContribution = (annualAmount: number) => {\r\n\t\tconst request = parseTGoalToTAddUpdateGoal(leadProfileId, leadStrategyId, agentId, 'annual_contribution', goals, storageGoalId);\r\n\t\t const tGoalRequest = { ...request, annualSavings: annualAmount };\r\n\t\t if (storageGoalId) {\r\n\t\t\tonUpdateLeadGoal(\r\n\t\t\t\ttGoalRequest,\r\n\t\t\t\tgetModelPerformanceInput(goals.Amount || 0, agentId, applicationState.feeId),\r\n\t\t\t\t'annual_contribution',\r\n\t\t\t\tgetLastVisitedPageCategory(investorNavState),\r\n\t\t\t);\r\n\t\t} else {\r\n\t\t\tonAddLeadGoal(tGoalRequest, 'annual_contribution', getLastVisitedPageCategory(investorNavState));\r\n\t\t}\r\n\t};\r\n\r\n\tconst handleAddUpdateInvestmentTarget = useCallback((TargetYear: number, AnnualSavings: number, TargetAmount: number) => {\r\n\t\tconst request = parseTGoalToTAddUpdateGoal(\r\n\t\t\tleadProfileId,\r\n\t\t\tleadStrategyId,\r\n\t\t\tagentId,\r\n\t\t\t'retirement_age',\r\n\t\t\tgoals,\r\n\t\t\tstorageGoalId,\r\n\t\t);\r\n\t\t\r\n\t\tconst tGoalRequest = {\r\n\t\t\t...request,\r\n\t\t\ttargetGoalYear: TargetYear,\r\n\t\t\tannualSavings: AnnualSavings * 12,\r\n\t\t\ttargetGrowthAmount: TargetAmount,\r\n\t\t};\r\n\t\t\r\n\t\tif (storageGoalId) {\r\n\t\t\tonUpdateLeadGoal(\r\n\t\t\t\ttGoalRequest,\r\n\t\t\t\tgetModelPerformanceInput(goals.Amount || 0, agentId, applicationState.feeId),\r\n\t\t\t\t'investment_target',\r\n\t\t\t\tgetLastVisitedPageCategory(investorNavState),\r\n\t\t\t);\r\n\t\t} else {\r\n\t\t\tonAddLeadGoal(tGoalRequest, 'investment_target', getLastVisitedPageCategory(investorNavState));\r\n\t\t}\r\n\t}, []) ;\r\n\r\n\tconst skipGoalInformation = (): void => {\r\n\t\tLeadApi.redirectToPage$.next('risk-profile/investment_return');\r\n\t};\r\n\r\n\treturn (\r\n\t\t
    \r\n\t\t\t
    \r\n\t\t\t\t
    \r\n\t\t\t\t\t{subModule === 'investment_target' ? (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t)}\r\n\t\t\t\t
    \r\n\r\n\t\t\t\t
    \r\n\t\t\t\t\t{subModule === 'investment_target' && (\r\n\t\t\t\t\t\t<>\r\n\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\r\n\t\t\t\t\t)}\r\n\t\t\t\t\t{subModule === 'retirement_age' && (\r\n\t\t\t\t\t\t<>\r\n\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\r\n\t\t\t\t\t)}\r\n\t\t\t\t\t{subModule === 'monthly_income' && (\r\n\t\t\t\t\t\t<>\r\n\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\r\n\t\t\t\t\t)}\r\n\t\t\t\t\t{subModule === 'retirement_income' && (\r\n\t\t\t\t\t\t<>\r\n\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\r\n\t\t\t\t\t)}\r\n\t\t\t\t\t{subModule === 'annual_contribution' && (\r\n\t\t\t\t\t\t<>\r\n\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\r\n\t\t\t\t\t)}\r\n\t\t\t\t
    \r\n\t\t\t
    \r\n\t\t
    \r\n\t);\r\n};\r\n","import React, { useEffect } from 'react';\r\nimport Styles from './errorPage.module.css';\r\nimport errorImg from './assets/error.png';\r\nimport { FooterComponent } from '../../components/common/footer/footer.component';\r\nimport { useHistory } from 'react-router';\r\nimport { history } from \"../../history\";\r\n\r\nexport const ErrorPage: React.FC = props => {\r\n\treturn (\r\n\t\t
    \r\n\t\t\t
    \r\n\t\t\t\t
    \r\n\t\t\t\t\t
    \r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
    \r\n\t\t\t\t\t
    Error Loading Page
    \r\n\t\t\t\t
    \r\n\t\t\t\t
    \r\n\t\t\t\t\t

    \r\n\t\t\t\t\t\tWe have encountered an error loading the requested page. Please try to reload the page or\r\n\t\t\t\t\t\tcontact your Financial Advisor.\r\n\t\t\t\t\t

    \r\n\t\t\t\t
    \r\n\t\t\t\t{/*
    \r\n\t\t\t\t\t
    {\r\n\t\t\t\t\t\te.preventDefault();\r\n\t\t\t\t\t\t// history.goBack();\r\n\t\t\t\t\t\twindow.history.back();\r\n\t\t\t\t\t\t}}>\r\n\t\t\t\t\t\tBack\r\n\t\t\t\t\t
    \r\n\t\t\t\t
    */}\r\n\t\t\t
    \r\n\t\t\t\r\n\t\t
    \r\n\t);\r\n};\r\n","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIQAAACEBAMAAACjap6UAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAbUExURXPA+P///2+/+LPb/IjJ+vH4/8vm/Z7S+97v/m1AHf8AAAPwSURBVGje7ZlBb9pAEIWfthFwjRKIjyuDoFdoG/VIktLkipSIHHGIuIOS9gpt8r9rYuxd27PP2O6lVfYUAfoY+3nmvSE4rn3wjvjHEPeL89d6iM7Y94+COoj2pQZUb1sD8RISQsb36ojOJd6ODiojoiLC06qKaO+LAHrTioizuAioVUXEHMlpVUOY6wAG00qIE20QalgJ8WIjbiohRrAQ3SoIT1kI6G0FxKm2EbiogHhIEdAvj7Al3Z2jaWnESfo6iKxOxCaLuCmNWCNzBmURHeROUBJxq3OISUnEKF/Fh3KIrKRs7qBo2pjjD0shNnkCVKsUYi0gXLLKiI6WECoogbiVEZMSCEtS3zd/dw9HeImkSn8bq6Qk2VzBJe19vbv7PeZ2Ai7pl7e+V9ROJER7nXmm55rZCaikw8wLoqxgkg6yT5ooK5ikrewIE+0ExEDMd840sRMQSc3ENbN4dRBinh91Zgw2DkGYaaOSqj1mJ2BdKiAEOwHLBEEeK8gK1qVDobJuMcKTPNByx7ysIIPXNKb94nMhYi5NKTtrNIoQtoEYJ7YHYc5OwGJeQ/SEYQEiNXi7UuLJ2QmYgTRFh21yhJd2UdmZthQx06IRp0zaf6aIuZa+L+3zqs8Q2UwQSJeXlRUs5qmhaLGZboUzuVszKhsgWwSRiUfqQg4sAzfC07KVn2oW/uCW1FR8q1lKAEnuSXbPxaaGC5GPefsm+UXDH0hyT+5brrqUrCCSJk0youEPNObtC17T8Aea3DHNd1kuJcC5jBk/aysa/kAkjb/ME8rrSggpuUdzUgqylreCSBo7iYSwZIVzGTMICW51K2hyj+6atFlYsoJJukecaprpwZN7y/mWkRVkGYtb8kWkd7MIUdIQ0XasSFamB5F097mf4RmLbyXhD2QZ212x79sLiSgr2DLGzyCNkJcxfmJZwSQtQExSiJHrc+RexLIis4xljr5aLj8rF2NrIRySQv3Y9fSj692Vhdi4bvo0vWiJdgImaZwxZ44ymgbhkjR2HMfTDz9IEC5JG0KezcsKJumE/ZyRrGogdVox3qX5do84cz2aAf8xYt+tIJJaW5EmsoLILu1mwoMDx+B1bYhCt4J0qbgV5WUF6VJhW5a6FZJvH/poRbLCXWTxAx7JCrekJvPPyExrhQg2eKMyWBGhrPDoeLwKGe1HOlgDnNH3/evzxZNPv2WFgtnta+UXzHFsUPN8xENdRB+juohubYTq/o0q6t4L1a+vSKvg0So+/gqduhcS4Ljm/WyGnTqrdSWh7YZTa12DocIRvpvgl37le9mLJvix9xSFw7JH4zqIbbl9v1wsPpU8i+Xydfr+3/7/FPEHXEuqo2UdenIAAAAASUVORK5CYII=\"","/**\r\n * Digital Advisor Solutions Service API 1.0\r\n * No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen)\r\n *\r\n * OpenAPI spec version: 1.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by the swagger code generator program.\r\n * https://github.com/swagger-api/swagger-codegen.git\r\n * Do not edit the class manually.\r\n */\r\n\r\nimport { Observable } from 'rxjs';\r\nimport { AjaxRequest } from 'rxjs/observable/dom/AjaxObservable';\r\n//@ts-ignore\r\n// import * as models from '../model/models';\r\nimport { RemoteData } from '@assetmark/ui-kit/dist/utils/remote-data.utils';\r\nimport { ObjectUtils } from '@assetmark/ui-kit/dist/utils/object.utils';\r\n\r\n\r\nimport { RiskProfile } from '../model/riskProfile';\r\nimport { RiskProfileResponse } from '../model/riskProfileResponse';\r\n\r\nimport {\r\n\tDasApiClient as ApiClient\r\n\t\r\n} from '../../../apis/api.client';\r\n\r\n// import isNotNullable = ObjectUtils.isNotNullable;\r\n\r\ntype TQueryParam = {\r\n\tkey: string,\r\n\tvalue: string | string[] | boolean | number | Date | undefined,\r\n}\r\n\r\n\r\n// eslint-disable-next-line @typescript-eslint/no-namespace \r\nexport namespace RiskService {\r\n\t/**\r\n\t* \r\n\t*/\r\n\texport function apiDasV1RiskGet(customHeaders: Object = {}): Observable>> {\r\n\t\tconst path = `/api/das/v1/Risk`.replace(/^\\//, '');\r\n\t\tconst allQueryParams: TQueryParam[] = [\r\n\t\t];\r\n\t\tconst queryParams = allQueryParams.filter(param => ObjectUtils.isNotNullable(param.value)).map(param => `${param.key}=${param.value}`).join('&');\r\n\t\tconst apiUrl = queryParams === '' ? path : path.concat(`?${queryParams}`);\r\n\t\tlet headers = customHeaders;\r\n\t\tconst ajaxRequest: AjaxRequest = {\r\n\t\t\turl: apiUrl,\r\n\t\t\tmethod: 'get',\r\n\t\t\theaders: { ...headers }\r\n\t\t};\r\n\t\treturn ApiClient.request(ajaxRequest);\r\n\t}\r\n\r\n\texport function getUrlForapiDasV1RiskGet(): string {\r\n\t\tconst path = '/api/das/v1/Risk'.replace(/^\\//, '');\r\n\t\tconst allQueryParams: TQueryParam[] = [\r\n\t\t];\r\n\t\tconst queryParams = allQueryParams.filter(param => ObjectUtils.isNotNullable(param.value)).map(param => `${param.key}=${param.value}`).join('&');\r\n\t\treturn queryParams === '' ? path : path.concat(`?${queryParams}`);\r\n\t}\r\n\t/**\r\n\t* \r\n\t\t* @summary Calling investor service and get investor risk profiles\r\n\t*/\r\n\texport function apiDasV1RiskRiskprofilesGet(customHeaders: Object = {}): Observable>> {\r\n\t\tconst path = `/api/das/v1/Risk/riskprofiles`.replace(/^\\//, '');\r\n\t\tconst allQueryParams: TQueryParam[] = [\r\n\t\t];\r\n\t\tconst queryParams = allQueryParams.filter(param => ObjectUtils.isNotNullable(param.value)).map(param => `${param.key}=${param.value}`).join('&');\r\n\t\tconst apiUrl = queryParams === '' ? path : path.concat(`?${queryParams}`);\r\n\t\tlet headers = customHeaders;\r\n\t\tconst ajaxRequest: AjaxRequest = {\r\n\t\t\turl: apiUrl,\r\n\t\t\tmethod: 'get',\r\n\t\t\theaders: { ...headers }\r\n\t\t};\r\n\t\treturn ApiClient.request(ajaxRequest);\r\n\t}\r\n\r\n\texport function getUrlForapiDasV1RiskRiskprofilesGet(): string {\r\n\t\tconst path = '/api/das/v1/Risk/riskprofiles'.replace(/^\\//, '');\r\n\t\tconst allQueryParams: TQueryParam[] = [\r\n\t\t];\r\n\t\tconst queryParams = allQueryParams.filter(param => ObjectUtils.isNotNullable(param.value)).map(param => `${param.key}=${param.value}`).join('&');\r\n\t\treturn queryParams === '' ? path : path.concat(`?${queryParams}`);\r\n\t}\r\n}\r\n","import { LocalStorageUtils } from '@assetmark/ui-kit/dist/utils/local-storage.utils';\r\nimport { RemoteDataUtils } from '@assetmark/ui-kit/dist/utils/remote-data.utils';\r\nimport { BehaviorSubject, of } from 'rxjs';\r\nimport { ADVISOR_ID_KEY, LEAD_STRATEGY_ID_KEY } from '../constants/storage.constant';\r\nimport { getRedirectPage } from '../helpers/pagehelper';\r\nimport { LeadService } from '../lib/das-api/api/lead.service';\r\nimport { RiskService } from '../lib/das-api/api/risk.service';\r\nimport { LeadQuestionAnswers } from '../lib/das-api/model/leadQuestionAnswers';\r\nimport { LeadRiskResponse } from '../lib/das-api/model/leadRiskResponse';\r\nimport { RiskProfileResponse } from '../lib/das-api/model/riskProfileResponse';\r\nimport { RiskQuestion } from '../lib/das-api/model/riskQuestion';\r\nimport { TLeadRiskResponse } from '../models/lead-risk-response';\r\nimport { TRiskProfileResponse } from '../models/risk-profile.model';\r\nimport { TRiskQuestion, TRiskQuestionChoice } from '../models/risk-question.model';\r\nimport { LeadApi } from './lead.api';\r\n\r\n// eslint-disable-next-line @typescript-eslint/no-namespace\r\nexport namespace RiskApi {\r\n export const riskQuestions$ = new BehaviorSubject([]);\r\n export const getRiskQuestions$ = () => riskQuestions$.asObservable();\r\n\r\n export const leadRisk$ = new BehaviorSubject({ riskProfileId: 0, investmentAmount: 0 });\r\n export const getLeadRiskProfile$ = () => leadRisk$.asObservable(); \r\n\r\n export const getRiskTypeProfile = () => {\r\n\t\treturn RiskService.apiDasV1RiskGet()\r\n\t\t\t.shareReplay(1);\r\n\t};\r\n\r\n export const getRiskProfileData = () => {\r\n\t\treturn RiskService.apiDasV1RiskRiskprofilesGet()\r\n .mapRD(data => data.map(parseRiskProfile))\r\n\t\t\t.shareReplay(1);\r\n\t};\r\n\r\n export const getAllQuesData = (leadId: string, qusId: number, agId: string) => {\r\n LeadApi.showSpinner$.next(true);\r\n\t\tconst response$ = LeadService.apiDasV1LeadLeadIdLeadprofilesQuestionsQuestionnaireIdGet(leadId, qusId, agId)\r\n .mapRD(data => data.map(parseRiskQuestion));\r\n response$.subscribe(data => {\r\n if(data.isSuccess()) {\r\n LeadApi.showSpinner$.next(false);\r\n riskQuestions$.next(data.value);\r\n }\r\n });\r\n\t};\r\n\r\n export const saveSelectedQuestionAnswer = (leadId: string, body: Array, agentId: string, currentRoute: string, questionnaireId = 6) => {\r\n LeadApi.showSpinner$.next(true);\r\n const response$ = LeadService.apiDasV1LeadLeadIdLeadprofilesQuestionsQuestionnaireIdPut(leadId, questionnaireId, body, agentId)\r\n .mapRD(data => data.map(parseRiskQuestion))\r\n .doRD(data => riskQuestions$.next(data))\r\n .doRD(data => currentRoute === 'planned_withdrawal' && getGeneratedRiskProfile(agentId));\r\n response$.subscribe(data => {\r\n if(data.isSuccess()) {\r\n LeadApi.showSpinner$.next(false);\r\n LeadApi.redirectToPage$.next(getRedirectPage(currentRoute, \"\"));\r\n }\r\n });\r\n };\r\n\r\n export const getGeneratedRiskProfile = (advisorId: string) => {\r\n const savedAdvisortId = LocalStorageUtils.getItem(ADVISOR_ID_KEY);\r\n const leadStrategyId = LocalStorageUtils.getItem(LEAD_STRATEGY_ID_KEY);\r\n if(savedAdvisortId.getOrElse('').toLowerCase() === advisorId.toLowerCase() && leadStrategyId.getOrElse('') !== '') {\r\n LeadService.apiDasV1LeadLeadStrategyIdRiskGet(leadStrategyId.getOrElse(''), advisorId)\r\n .mapRD(parseLeadRiskResponse)\r\n .doRD(data => leadRisk$.next(data))\r\n .subscribe();\r\n } else {\r\n //return of(RemoteDataUtils.initial);\r\n }\r\n };\r\n\r\n export const parseLeadRiskResponse = (leadRiskResponse: LeadRiskResponse): TLeadRiskResponse => {\r\n return {\r\n riskProfileId: leadRiskResponse.riskProfileId || 0,\r\n investmentAmount: leadRiskResponse.investmentAmount || 0\r\n };\r\n };\r\n\r\n export const parseRiskQuestion = (question: RiskQuestion): TRiskQuestion => {\r\n return {\r\n\t\t\tquestionId: question.questionId || 0,\r\n\t\t\tsequence: question.sequence || 0,\r\n\t\t\tquestion: question.question || '',\r\n\t\t\tchoices: question.choices\r\n\t\t\t\t? question.choices.map(ch => ({\r\n\t\t\t\t\t\tchoiceId: ch.choiceId || 0,\r\n\t\t\t\t\t\tsequence: ch.sequence || 0,\r\n\t\t\t\t\t\tchoice: ch.choice || '',\r\n\t\t\t\t\t\tscore: ch.score || 0,\r\n\t\t\t\t\t\tselected: ch.selected || false,\r\n\t\t\t\t }))\r\n\t\t\t\t: ([] as TRiskQuestionChoice[]),\r\n\t\t\tselectedChoiceId: question.selectedChoiceId || 0,\r\n\t\t};\r\n };\r\n\r\n export const parseRiskProfile = (raw: RiskProfileResponse): TRiskProfileResponse => {\r\n return {\r\n id: raw.id || 0,\r\n name: raw.name || '', \r\n profileType: raw.profileType || '', \r\n description: raw.description || '', \r\n gainLoss: {\r\n id: raw.gainLoss?.id || 0,\r\n gainPercent: raw.gainLoss?.gainPercent || 0,\r\n lossPercent: raw.gainLoss?.lossPercent || 0,\r\n twelveMonthGainPercent: raw.gainLoss?.twelveMonthGainPercent || 0,\r\n twelveMonthLossPercent: raw.gainLoss?.twelveMonthLossPercent || 0,\r\n longTermAveragePercent: raw.gainLoss?.longTermAveragePercent || 0,\r\n standardDeviationMin: raw.gainLoss?.standardDeviationMin || 0,\r\n standardDeviationMax: raw.gainLoss?.standardDeviationMax || 0,\r\n maximumDrawdown: raw.gainLoss?.maximumDrawdown || 0,\r\n }\r\n };\r\n };\r\n\r\n}","export const UPDATE_RISK_DATA = 'UPDATE_RISK_DATA';\r\nexport const UPDATE_RANGE_DATA = 'UPDATE_RANGE_DATA';\r\nexport const UPDATE_INVEST_RETURN_DATA = 'UPDATE_INVEST_RETURN_DATA';\r\nexport const UPDATE_MAX_DECLINE_DATA = 'UPDATE_MAX_DECLINE_DATA';\r\nexport const UPDATE_STOCK_MARKET_DATA = 'UPDATE_STOCK_MARKET_DATA';\r\nexport const UPDATE_AGE_RANGE_DATA = 'UPDATE_AGE_RANGE_DATA';\r\nexport const UPDATE_PLANNED_DATA = 'UPDATE_PLANNED_DATA';\r\nexport const UPDATE_SIDEBAR_TEXT_DATA = 'UPDATE_SIDEBAR_TEXT_DATA';\r\n","import {\r\n\tIAssessRisk\r\n} from '@assetmark/risk-components/dist/components/assess/assess';\r\nimport { ERiskPageType } from '@assetmark/risk-components/dist/models/riskPageType';\r\nimport { TQuestionData } from '@assetmark/risk-components/dist/models/riskQuestion.model';\r\nimport { RiskAction } from './risk.action';\r\nimport {\r\n\tUPDATE_RISK_DATA,\r\n\tUPDATE_RANGE_DATA,\r\n\tUPDATE_INVEST_RETURN_DATA,\r\n\tUPDATE_MAX_DECLINE_DATA,\r\n\tUPDATE_STOCK_MARKET_DATA,\r\n\tUPDATE_AGE_RANGE_DATA,\r\n\tUPDATE_PLANNED_DATA,\r\n\tUPDATE_SIDEBAR_TEXT_DATA\r\n} from './risk.constant';\r\nimport { TRiskProfileResponse, TSidebarText } from '../../models/risk-profile.model';\r\nimport { TRiskQuestion } from '../../models/risk-question.model';\r\n\r\nexport type RiskContextState = {\r\n\tassessData: IAssessRisk;\r\n\triskSidebarText: TSidebarText;\r\n\tupdateRiskData: (riskQusData: Array) => void;\r\n\tupdateInvestmentRangeData: (riskRangeData: Array) => void;\r\n\t// updateRiskProfileDataOnClick: (type: any, actionPayoad: TQuestionData) => void;\r\n\tupdateRiskSidebarTextOnClick: (type: any, actionPayoad: TSidebarText) => void;\r\n\r\n};\r\nconst emptyQuestionData = {} as TQuestionData;\r\nexport const initialState: RiskContextState = {\r\n\tassessData: {\r\n\t\tcurrentRiskSequence: ERiskPageType.InvestmentReturn,\r\n\t\tinvestmentAmount: 100000,\r\n\t\tinvestmentInfo: emptyQuestionData,\r\n\t\tmaximumDecline: emptyQuestionData,\r\n\t\tstockMarketForecast: emptyQuestionData,\r\n\t\tageRange: emptyQuestionData,\r\n\t\tplannedWithdrawal: emptyQuestionData,\r\n\t\tinvesetmentRangeData: []\r\n\t},\r\n\triskSidebarText: {\r\n\t\tinvestmentText:'',\r\n\t\tmaxDeclineText:'',\r\n\t\tstockMarketText:'',\r\n\t\tageRangeText: '',\r\n\t\twithdrawalText:''\r\n\t},\r\n\tupdateRiskData: (riskQusData: Array) => {},\r\n\tupdateInvestmentRangeData: (riskRangeData: Array) => {},\r\n\tupdateRiskSidebarTextOnClick: (type: any, actionPayoad: TSidebarText) => {}\r\n};\r\n\r\nexport function riskContextReducer(state: RiskContextState, action: RiskAction) {\r\n\tswitch (action.type) {\r\n case UPDATE_RISK_DATA: {\r\n return {\r\n\t\t\t\t...state,\r\n\t\t\t\triskQustions: action.payload\r\n\t\t\t};\r\n }\r\n\t\tcase UPDATE_INVEST_RETURN_DATA: {\r\n return {\r\n\t\t\t\t...state,\r\n\t\t\t\tassessData: { ...state.assessData, investmentInfo: action.payload },\r\n\t\t\t\triskSidebarText: { ...state.riskSidebarText, investmentText: action.text }\r\n\t\t\t};\r\n }\r\n\t\tcase UPDATE_MAX_DECLINE_DATA: {\r\n return {\r\n\t\t\t\t...state,\r\n\t\t\t\tassessData: { ...state.assessData, maximumDecline: action.payload },\r\n\t\t\t\triskSidebarText: { ...state.riskSidebarText, maxDeclineText: action.text }\r\n\t\t\t};\r\n }\r\n\t\tcase UPDATE_STOCK_MARKET_DATA: {\r\n return {\r\n\t\t\t\t...state,\r\n\t\t\t\tassessData: { ...state.assessData, stockMarketForecast: action.payload },\r\n\t\t\t\triskSidebarText: { ...state.riskSidebarText, stockMarketText: action.text }\r\n\t\t\t};\r\n }\r\n\t\tcase UPDATE_AGE_RANGE_DATA: {\r\n return {\r\n\t\t\t\t...state,\r\n\t\t\t\tassessData: { ...state.assessData, ageRange: action.payload },\r\n\t\t\t\triskSidebarText: { ...state.riskSidebarText, ageRangeText: action.text }\r\n\t\t\t};\r\n }\r\n\t\tcase UPDATE_PLANNED_DATA: {\r\n return {\r\n\t\t\t\t...state,\r\n\t\t\t\tassessData: { ...state.assessData, plannedWithdrawal: action.payload },\r\n\t\t\t\triskSidebarText: { ...state.riskSidebarText, withdrawalText: action.text }\r\n\t\t\t};\r\n }\r\n\t\tcase UPDATE_RANGE_DATA: {\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tassessData: { ...state.assessData, invesetmentRangeData: action.payload }\r\n\t\t\t};\r\n\t\t}\r\n\t\tcase UPDATE_SIDEBAR_TEXT_DATA: {\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\triskSidebarText: action.payload\r\n\t\t\t};\r\n\t\t}\r\n\t\tdefault: {\r\n\t\t\tthrow new Error(`Unhandled action type: ${action}`);\r\n\t\t}\r\n\t}\r\n}\r\n","import { TAssessRiskProfile } from \"@assetmark/risk-components/dist/models/assessRiskProfile.model\";\r\nimport { TQuestionData } from \"@assetmark/risk-components/dist/models/riskQuestion.model\";\r\nimport { TInvestmentReturn } from \"../models/investment-return.model\";\r\nimport { TRiskQuestion } from \"../models/risk-question.model\";\r\nimport { currencyFormatter } from \"./formathelper\";\r\n\r\nexport const GetSideBarMenuItem = () => {};\r\n\r\nexport const getInvestmentReturnModels = (\r\n\tdata: TAssessRiskProfile[],\r\n\tinvestmentAmount: number,\r\n\tprofileId: number\r\n) => {\r\n\tconst invReturn = data.map((ret, index) => {\r\n\t\tif (ret.gainLoss) {\r\n\t\t\treturn {\r\n\t\t\t\tKey: index + 1,\r\n\t\t\t\tGain: investmentAmount + (investmentAmount * ret.gainLoss.gainPercent) / 100,\r\n\t\t\t\tGainPercent: ret.gainLoss.gainPercent,\r\n\t\t\t\tLoss: investmentAmount + (investmentAmount * ret.gainLoss.lossPercent) / 100,\r\n\t\t\t\tLossPercent: ret.gainLoss.lossPercent,\r\n\t\t\t\tAverageReturn: investmentAmount + (investmentAmount * ret.gainLoss.longTermAveragePercent) / 100,\r\n\t\t\t\tAverageReturnPercent: ret.gainLoss.longTermAveragePercent,\r\n\t\t\t};\r\n\t\t} else {\r\n\t\t\treturn {\r\n\t\t\t\tKey: index + 1,\r\n\t\t\t\tGain: investmentAmount + investmentAmount / 100,\r\n\t\t\t\tGainPercent: 0,\r\n\t\t\t\tLoss: investmentAmount + investmentAmount / 100,\r\n\t\t\t\tLossPercent: 0,\r\n\t\t\t\tAverageReturn: investmentAmount + investmentAmount / 100,\r\n\t\t\t\tAverageReturnPercent: 0,\r\n\t\t\t};\r\n\t\t}\r\n\t});\r\n\r\n\treturn invReturn.find(inv => inv.Key === profileId) || {\r\n\t\tKey: 0,\r\n\t\tGain: 0,\r\n\t\tGainPercent: 0,\r\n\t\tLoss: 0,\r\n\t\tLossPercent: 0,\r\n\t\tAverageReturn: 0,\r\n\t\tAverageReturnPercent: 0,\r\n\t};\r\n};\r\n\r\n//TQuestionData\r\nexport const getQuestionsDataBySequesnce = (heading: string, sequence: number, data: Array): TQuestionData => {\r\n\tconst questionObject = data.find(item => item.sequence === sequence) || {\r\n\t\tquestionId: 0,\r\n\t\tsequence: sequence,\r\n\t\tquestion: '',\r\n\t\tchoices: [],\r\n\t\tselectedChoiceId: 0,\r\n\t};\r\n\r\n\treturn { ...questionObject, heading };\r\n};\r\n\r\nexport const getInvestmentText = (\r\n\tinvestmentInfo: TQuestionData,\r\n\tinvesetmentRangeData: TAssessRiskProfile[],\r\n\tamount: number,\r\n): string => {\r\n\tif (investmentInfo.selectedChoiceId) {\r\n\t\tconst selectedChoiceIndex = investmentInfo.choices.findIndex(a => a.choiceId === investmentInfo.selectedChoiceId);\r\n\t\tif (selectedChoiceIndex > -1) {\r\n\t\t\tconst gainPercent = invesetmentRangeData[selectedChoiceIndex].gainLoss.gainPercent;\r\n\t\t\tconst lossPercent = invesetmentRangeData[selectedChoiceIndex].gainLoss.lossPercent;\r\n\t\t\tconst profit = amount + (amount * gainPercent) / 100;\r\n\t\t\tconst loss = amount + (amount * lossPercent) / 100;\r\n\t\t\treturn `$${currencyFormatter(loss)} to $${currencyFormatter(profit)}`;\r\n\t\t}\r\n\t}\r\n\treturn '';\r\n};\r\n\r\nexport const countMaxDecline = (InvestmentAmount: number, percentage: number) => {\r\n\treturn (Math.abs(percentage) * InvestmentAmount) / 100;\r\n};\r\n\r\nexport const formatLabel = (Amount: number) => {\r\n\treturn '-$' + currencyFormatter(Amount);\r\n};\r\n\r\nexport const getMaximumDeclineText = (questionData: TQuestionData, amount: number) => {\r\n const selectedChoice = questionData.choices.find(a => a.choiceId === questionData.selectedChoiceId);\r\n if(selectedChoice) {\r\n return formatLabel(countMaxDecline(amount, parseFloat(selectedChoice.choice)));\r\n }\r\n return '';\r\n};\r\n\r\nexport const getStockMarketText = (questionData: TQuestionData) => {\r\n const selectedChoice = questionData.choices.find(a => a.choiceId === questionData.selectedChoiceId);\r\n if(selectedChoice) {\r\n return selectedChoice.choice;\r\n }\r\n return '';\r\n};\r\n\r\nexport const getAgeRangeText = (questionData: TQuestionData) => {\r\n const selectedChoice = questionData.choices.find(a => a.choiceId === questionData.selectedChoiceId);\r\n if(selectedChoice) {\r\n return selectedChoice.choice;\r\n }\r\n return '';\r\n};\r\n\r\nexport const getPlannedWithdrawalText = (questionData: TQuestionData) => {\r\n const selectedChoice = questionData.choices.find(a => a.choiceId === questionData.selectedChoiceId);\r\n if(selectedChoice) {\r\n return selectedChoice.choice;\r\n }\r\n return '';\r\n};\r\n\r\nexport const getSelectedAgeId = (ageRange: TQuestionData, age: number) => {\r\n const ageChoices = ageRange.choices || {};\r\n\tif (Object.keys(ageChoices).length) {\r\n\t\tif (age < 50) {\r\n\t\t\treturn ageChoices[0].choiceId;\r\n\t\t} else if (age >= 50 && age < 60) {\r\n\t\t\treturn ageChoices[1].choiceId;\r\n\t\t} else if (age >= 60 && age < 70) {\r\n\t\t\treturn ageChoices[2].choiceId;\r\n\t\t} else if (age >= 70 && age < 80) {\r\n\t\t\treturn ageChoices[3].choiceId;\r\n\t\t} else {\r\n\t\t\treturn ageChoices[4].choiceId;\r\n\t\t}\r\n\t}\r\n\r\n return 0;\r\n};","import * as React from 'react';\r\nimport {\r\n\tUPDATE_RANGE_DATA,\r\n\tUPDATE_INVEST_RETURN_DATA,\r\n\tUPDATE_MAX_DECLINE_DATA,\r\n\tUPDATE_STOCK_MARKET_DATA,\r\n\tUPDATE_AGE_RANGE_DATA,\r\n\tUPDATE_PLANNED_DATA,\r\n} from './risk.constant';\r\nimport { riskContextReducer, RiskContextState, initialState } from './risk.context.reducer';\r\nimport { TRiskProfileResponse, TSidebarText } from '../../models/risk-profile.model';\r\nimport { useLead } from '../lead/lead.context';\r\nimport { TRiskQuestion } from '../../models/risk-question.model';\r\n\r\nimport {\r\n\tgetAgeRangeText,\r\n\tgetInvestmentText,\r\n\tgetMaximumDeclineText,\r\n\tgetPlannedWithdrawalText,\r\n\tgetQuestionsDataBySequesnce,\r\n\tgetStockMarketText,\r\n} from '../../helpers/risk.helper';\r\nimport { LocalStorageUtils } from '@assetmark/ui-kit/dist/utils/local-storage.utils';\r\nimport { ABOUT_YOU_KEY, LEAD_APP_STATE } from '../../constants/storage.constant';\r\nimport { LeadProfileResponse } from '../../lib/das-api/model/leadProfileResponse';\r\nimport { LeadStrategyInfoResponse } from '../../lib/das-api/model/leadStrategyInfoResponse';\r\nimport { INVESTMENT_RETURN_RANGE_QUESTION } from '../../constants/data.constant';\r\n\r\ntype RiskProviderProps = { children: React.ReactNode };\r\n\r\nconst RiskStateContext = React.createContext(initialState);\r\nRiskStateContext.displayName = 'RiskContext';\r\n\r\nfunction RiskContextProvider({ children }: RiskProviderProps) {\r\n\tconst [state, dispatch] = React.useReducer(riskContextReducer, initialState);\r\n\tconst { leadProfile } = useLead();\r\n\tconst leadState = LocalStorageUtils.getItem(LEAD_APP_STATE);\r\n\tlet investmentAmount = 0;\r\n\tif(leadState.isSome()) {\r\n\t\tconst about = leadState.getOrElse({});\r\n\t\tinvestmentAmount = about.investmentAmount ? about.investmentAmount : 0;\r\n\t}\r\n\r\n\tconst updateRiskData = (data: Array) => {\r\n\t\t// Investment return Range\r\n\t\tconst investPayload = getQuestionsDataBySequesnce('Investment Return Range', 1, data);\r\n\t\tconst investText = getInvestmentText(\r\n\t\t\tinvestPayload,\r\n\t\t\tstate.assessData.invesetmentRangeData,\r\n\t\t\tinvestmentAmount,\r\n\t\t);\r\n\t\t\r\n\t\tdispatch({\r\n\t\t\ttype: UPDATE_INVEST_RETURN_DATA,\r\n\t\t\tpayload: { ...investPayload, question: INVESTMENT_RETURN_RANGE_QUESTION },\r\n\t\t\ttext: investText,\r\n\t\t});\r\n\t\t// Maximum Decline\r\n\t\tconst maxPayload = getQuestionsDataBySequesnce('Maximum Decline', 2, data);\r\n\t\tconst maxText = getMaximumDeclineText(maxPayload, investmentAmount);\r\n\t\tdispatch({\r\n\t\t\ttype: UPDATE_MAX_DECLINE_DATA,\r\n\t\t\tpayload: maxPayload,\r\n\t\t\ttext: maxText,\r\n\t\t});\r\n\r\n\t\t// Stock Market Forecast\r\n\t\tconst stockPayload = getQuestionsDataBySequesnce('Stock Market Forecast', 3, data);\r\n\t\tconst stockText = getStockMarketText(stockPayload);\r\n\t\tdispatch({\r\n\t\t\ttype: UPDATE_STOCK_MARKET_DATA,\r\n\t\t\tpayload: stockPayload,\r\n\t\t\ttext: stockText,\r\n\t\t});\r\n\t\t// Your Age Range\r\n\t\tconst agePayload = getQuestionsDataBySequesnce('Your Age Range', 4, data);\r\n\t\tconst ageText = getAgeRangeText(agePayload);\r\n\t\tdispatch({\r\n\t\t\ttype: UPDATE_AGE_RANGE_DATA,\r\n\t\t\tpayload: agePayload,\r\n\t\t\ttext: ageText,\r\n\t\t});\r\n\t\t// Planned Withdrawal\r\n\t\tconst plannedPayload = getQuestionsDataBySequesnce('Planned Withdrawal', 5, data);\r\n\t\tconst plannedText = getPlannedWithdrawalText(plannedPayload);\r\n\t\tdispatch({\r\n\t\t\ttype: UPDATE_PLANNED_DATA,\r\n\t\t\tpayload: plannedPayload,\r\n\t\t\ttext: plannedText,\r\n\t\t});\r\n\t};\r\n\r\n\tconst updateRiskSidebarTextOnClick = (actionType: any, actionPayload: TSidebarText) => {\r\n\t\tdispatch({\r\n\t\t\ttype: actionType,\r\n\t\t\tpayload: {\r\n\t\t\t\tinvestmentText: actionPayload.investmentText,\r\n\t\t\t\tmaxDeclineText: actionPayload.maxDeclineText,\r\n\t\t\t\tstockMarketText: actionPayload.stockMarketText,\r\n\t\t\t\tageRangeText: actionPayload.ageRangeText,\r\n\t\t\t\twithdrawalText: actionPayload.withdrawalText,\r\n\t\t\t},\r\n\t\t});\r\n\t};\r\n\r\n\tconst updateInvestmentRangeData = (riskRangeData: Array) => {\r\n\t\tconst data = riskRangeData.map(r => ({\r\n\t\t\tid: r.id || 0,\r\n\t\t\tgainLoss: r.gainLoss\r\n\t\t\t\t? {\r\n\t\t\t\t\t\tgainPercent: r.gainLoss.gainPercent || 0,\r\n\t\t\t\t\t\tlongTermAveragePercent: r.gainLoss.longTermAveragePercent || 0,\r\n\t\t\t\t\t\tlossPercent: r.gainLoss.lossPercent || 0,\r\n\t\t\t\t }\r\n\t\t\t\t: { gainPercent: 0, longTermAveragePercent: 0, lossPercent: 0 },\r\n\t\t}));\r\n\t\tdispatch({ type: UPDATE_RANGE_DATA, payload: data });\r\n\t};\r\n\r\n\t//console.log('Risk State :>> ', state);\r\n\tconst values = React.useMemo(\r\n\t\t() => ({ ...state, updateRiskData, updateInvestmentRangeData, updateRiskSidebarTextOnClick }),\r\n\t\t[state],\r\n\t);\r\n\r\n\treturn {children};\r\n}\r\n\r\nfunction useRisk() {\r\n\tconst context = React.useContext(RiskStateContext);\r\n\tif (context === undefined) {\r\n\t\tthrow new Error('useRisk must be used within a RiskContextprovider');\r\n\t}\r\n\treturn context;\r\n}\r\n\r\nexport { RiskContextProvider, useRisk };\r\n","import * as React from 'react';\r\nimport styles from './sidebar.module.css';\r\n\r\nexport type propsType = {\r\n\ttext: string;\r\n\tpropsValue?: any;\r\n\tactiveClassName: string;\r\n};\r\n\r\nexport const SidebarList: React.FC = (props: any) => {\r\n\tconst { text, propsValue, activeClassName } = props;\r\n\r\n\treturn (\r\n\t\t
  • \r\n\t\t\t\r\n\t\t\t\t{text}\r\n\t\t\t\t

    \r\n\t\t\t\t\t{propsValue}\r\n\t\t\t\t

    \r\n\t\t\t
    \r\n\t\t
  • \r\n\t);\r\n};\r\n","import * as React from 'react';\r\nimport styles from './sidebar.module.css';\r\nimport { convertStringtoDollarString } from '../../../helpers/formathelper';\r\nimport { useLead } from '../../../contexts/lead/lead.context';\r\nimport { useRisk } from '../../../contexts/risk/risk.context';\r\nimport { SidebarList } from './sidebar-list.component';\r\n\r\nexport type TStateProps = {\r\n\tsubModule?: string | undefined | '';\r\n};\r\n\r\nexport const SideBarComponent: React.FC = (props: TStateProps) => {\r\n\tconst { riskSidebarText } = useRisk();\r\n\r\n\tconst activeState = (subM: any) => {\r\n\t\treturn props.subModule === subM ? styles.active : styles.noactive;\r\n\t};\r\n\r\n\treturn (\r\n\t\t
    \r\n\t\t\t\r\n\t\t
    \r\n\t);\r\n};\r\n","export default __webpack_public_path__ + \"static/media/greenLegend.443992ef.svg\";","export default __webpack_public_path__ + \"static/media/blueLegend.fecd98c4.svg\";","export default __webpack_public_path__ + \"static/media/risk-result-1.302dcb1d.svg\";","export default __webpack_public_path__ + \"static/media/risk-result-2.de79bc01.svg\";","export default __webpack_public_path__ + \"static/media/risk-result-3.780c197a.svg\";","export default __webpack_public_path__ + \"static/media/risk-result-4.085619a3.svg\";","export default __webpack_public_path__ + \"static/media/risk-result-5.e27b121d.svg\";","export default __webpack_public_path__ + \"static/media/risk-result-6.7efb8199.svg\";","import * as React from 'react';\r\nimport styles from './risk-result-overlay.module.css';\r\nimport Button from '../../../components/common/button/button';\r\n\r\nimport legendGreen from '../images/greenLegend.svg';\r\nimport legendBlue from '../images/blueLegend.svg';\r\nimport riskResult1 from '../images/risk-result-1.svg';\r\nimport riskResult2 from '../images/risk-result-2.svg';\r\nimport riskResult3 from '../images/risk-result-3.svg';\r\nimport riskResult4 from '../images/risk-result-4.svg';\r\nimport riskResult5 from '../images/risk-result-5.svg';\r\nimport riskResult6 from '../images/risk-result-6.svg';\r\n\r\nimport { ProgressBarComponent } from '@assetmark/common-elements/dist/progressBar/progressBar';\r\nimport { TInvestmentReturn } from '../../../models/investment-return.model';\r\nimport { useEffect } from 'react';\r\nimport { TRiskProfileResponse } from '../../../models/risk-profile.model';\r\nimport { fromNullable } from 'fp-ts/lib/Option';\r\n\r\nexport type TRiskToleranceProps = {\r\n\tprofileId: number;\r\n\triskProfiles: TRiskProfileResponse[];\r\n\tinvestmentAmount: number;\r\n\tmodel: TInvestmentReturn;\r\n\tonReview?: () => void;\r\n\tonRestart?: () => void;\r\n};\r\n\r\nexport const RiskResultOverlay: React.FC = ({\r\n\tprofileId,\r\n\triskProfiles,\r\n\tinvestmentAmount,\r\n\tmodel,\r\n\tonReview,\r\n\tonRestart,\r\n}) => {\r\n\tuseEffect(() => {\r\n\t\t//console.log('Load Risk Result :>> ');\r\n\t}, []);\r\n\r\n\tconst calculatedRiskProfile = riskProfiles.find(r => r.id === profileId);\r\n\r\n\tlet assetAllocImg;\r\n\tlet equity;\r\n\tlet fixedIncome;\r\n\tswitch (profileId) {\r\n\t\tcase 1:\r\n\t\t assetAllocImg = riskResult1;\r\n\t\t equity = 20;\r\n\t\t fixedIncome = 80;\r\n\t\t break;\r\n\t\tcase 2:\r\n\t\t assetAllocImg = riskResult2;\r\n\t\t equity = 35;\r\n\t\t fixedIncome = 65;\r\n\t\t break;\r\n\t\tcase 3:\r\n\t\t assetAllocImg = riskResult3;\r\n\t\t equity = 60;\r\n\t\t fixedIncome = 40;\r\n\t\t break;\r\n\t\tcase 4:\r\n\t\t assetAllocImg = riskResult4;\r\n\t\t equity = 75;\r\n\t\t fixedIncome = 25;\r\n\t\t break;\r\n\t\tcase 5:\r\n\t\t assetAllocImg = riskResult5;\r\n\t\t equity = 85;\r\n\t\t fixedIncome = 15;\r\n\t\t break;\r\n\t\tcase 6:\r\n\t\t assetAllocImg = riskResult6;\r\n\t\t equity = 100;\r\n\t\t fixedIncome = 0;\r\n\t\t break;\r\n\t }\r\n\t\r\n\tif(profileId === 0) {\r\n\t\treturn null;\r\n\t}\r\n\r\n\treturn (\r\n\t\t
    \r\n\t\t\t
    \r\n\t\t\t\t

    \r\n\t\t\t\t\tYour risk tolerance is {calculatedRiskProfile ? calculatedRiskProfile.profileType : ''}\r\n\t\t\t\t

    \r\n\t\t\t
    \r\n\t\t\t
    \r\n\t\t\t\t
    \r\n\t\t\t\t\t

    Risk Profile Rating

    \r\n\t\t\t\t\t
    \r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t{profileId}\r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t{calculatedRiskProfile ? calculatedRiskProfile.description : ''}\r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t
    \r\n\t\t\t\t
    \r\n\t\t\t\t
    \r\n\t\t\t\t\t

    Traditional Asset Allocation

    \r\n\t\t\t\t\t
    \r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\"Risk\r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\"Blue\r\n\t\t\t\t\t\t\t\tEquity - {equity}%\r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\"Green\r\n\t\t\t\t\t\t\t\tFixed Income - {fixedIncome}%\r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t
    \r\n\t\t\t\t
    \r\n\t\t\t\t
    \r\n\t\t\t\t\t

    Historical 12 Month Range of Returns

    \r\n\t\t\t\t\t
    \r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t
    \r\n\t\t\t\t
    \r\n\t\t\t
    \r\n\t\t\t
    \r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t
    \r\n\t\t
    \r\n\t);\r\n};\r\n","import { RemoteDataUtils } from '@assetmark/ui-kit/dist/utils/remote-data.utils';\r\nimport { RiskApi } from '../../apis/risk.api';\r\nimport { withRxJs } from '../../components/hoc/with-rx';\r\nimport { LeadQuestionAnswers } from '../../lib/das-api/model/leadQuestionAnswers';\r\nimport { TLeadRiskResponse } from '../../models/lead-risk-response';\r\nimport { RiskProfileComponent } from './risk-profile.component';\r\n\r\nexport const RiskProfileContainer = withRxJs(RiskProfileComponent)(() => {\r\n\tconst riskTypeProfile$ = RiskApi.getRiskTypeProfile();\r\n\tconst riskProfileData$ = RiskApi.getRiskProfileData();\r\n\t\r\n\treturn {\r\n\t\tdefaultProps: {\r\n\t\t\triskTypeProfile: RemoteDataUtils.initial,\r\n\t\t\triskProfileData: RemoteDataUtils.initial,\r\n\t\t\triskQuestions: [],\r\n\t\t\tleadRisk: {} as TLeadRiskResponse,\r\n\t\t\tloadAllQusDataData: (leadId: string, QusId: number, AgId: string) => {\r\n\t\t\t\tRiskApi.getAllQuesData(leadId, QusId, AgId);\r\n\t\t\t},\r\n\t\t\tonSaveRiskQuestion: (leadId: string, body: Array, agentId: string, currentRoute: string) => {\r\n\t\t\t\tRiskApi.saveSelectedQuestionAnswer(leadId, body, agentId, currentRoute); \r\n\t\t\t}\r\n\t\t},\r\n\t\tprops: {\r\n\t\t\triskTypeProfile: riskTypeProfile$,\r\n\t\t\triskProfileData: riskProfileData$,\r\n\t\t\triskQuestions: RiskApi.getRiskQuestions$(),\r\n\t\t\tleadRisk: RiskApi.getLeadRiskProfile$()\r\n\t\t},\r\n\t};\r\n});\r\n","import * as React from 'react';\r\nimport { useParams } from 'react-router-dom';\r\nimport { SideBarComponent } from './side-bar/sidebar.component';\r\nimport styles from './risk-profile.module.css';\r\nimport { LeadApi } from '../../apis/lead.api';\r\n\r\nimport { InvestmentReturnComponent } from '@assetmark/risk-components/dist/components/investmentReturn/investmentReturn';\r\nimport { RiskQuestionsComponent } from '@assetmark/risk-components/dist/components/riskQuestions/riskQuestion';\r\nimport RiskResultComponent from '@assetmark/risk-components/dist/riskResult/riskResult.component';\r\nimport { RemoteData } from '@assetmark/ui-kit/dist/utils/remote-data.utils';\r\nimport { TRiskProfile, TRiskProfileResponse } from '../../models/risk-profile.model';\r\nimport { useLead } from '../../contexts/lead/lead.context';\r\nimport { useRisk } from '../../contexts/risk/risk.context';\r\nimport { RiskResultOverlay } from './risk-overlay/risk-result-overlay';\r\n\r\nimport {\r\n\tUPDATE_INVEST_RETURN_DATA,\r\n\tUPDATE_MAX_DECLINE_DATA,\r\n\tUPDATE_STOCK_MARKET_DATA,\r\n\tUPDATE_AGE_RANGE_DATA,\r\n\tUPDATE_PLANNED_DATA,\r\n\tUPDATE_SIDEBAR_TEXT_DATA,\r\n} from '../../contexts/risk/risk.constant';\r\nimport { TRiskQuestion } from '../../models/risk-question.model';\r\nimport { TQuestionData } from '@assetmark/risk-components/dist/models/riskQuestion.model';\r\nimport { LeadQuestionAnswers } from '../../lib/das-api/model/leadQuestionAnswers';\r\nimport { getInvestmentReturnModels, getSelectedAgeId } from '../../helpers/risk.helper';\r\nimport { useState } from 'react';\r\nimport { TLeadRiskResponse } from '../../models/lead-risk-response';\r\n\r\ntype TRiskProfileProps = {\r\n\triskTypeProfile: RemoteData>;\r\n\triskProfileData: RemoteData>;\r\n\tloadAllQusDataData: (leadId: string, QusId: number, AgId: string) => void;\r\n\triskQuestions: TRiskQuestion[];\r\n\tonSaveRiskQuestion: (\r\n\t\tleadId: string,\r\n\t\tbody: Array,\r\n\t\tagentId: string,\r\n\t\tcurrentRoute: string,\r\n\t) => void;\r\n\tleadRisk: TLeadRiskResponse;\r\n};\r\n\r\nexport const RiskProfileComponent: React.FC = ({\r\n\triskProfileData,\r\n\tloadAllQusDataData,\r\n\triskQuestions,\r\n\tonSaveRiskQuestion,\r\n\tleadRisk,\r\n}) => {\r\n\tconst { agentId, leadProfileId, leadProfile } = useLead();\r\n\tconst { assessData, updateRiskData, updateInvestmentRangeData } = useRisk();\r\n\tconst { subModule } = useParams<{ subModule: string }>();\r\n\r\n\tconst [riskProfileComplete, setRiskProfileComplete] = useState(true);\r\n\r\n\tReact.useEffect(() => {\r\n\t\t// if(investReturnData && investReturnData.choices && investReturnData.choices.length === 0) {\r\n\t\tloadAllQusDataData(leadProfileId, 6, agentId);\r\n\t\t// }\r\n\t}, []);\r\n\r\n\tReact.useEffect(() => {\r\n\t\tif (riskQuestions.length) {\r\n\t\t\tupdateRiskData(riskQuestions);\r\n\t\t}\r\n\t}, [riskQuestions]);\r\n\r\n\tReact.useEffect(() => {\r\n\t\tif (riskProfileData.isSuccess()) {\r\n\t\t\tupdateInvestmentRangeData(riskProfileData.value);\r\n\t\t}\r\n\t}, [riskProfileData]);\r\n\r\n\tconst onInvestmentReturnBackButtonClick = (): void => {\r\n\t\tif (leadProfile.investmentReason === '3') {\r\n\t\t\tLeadApi.redirectToPage$.next('goals/investment_target');\r\n\t\t} else if (leadProfile.investmentReason === '2') {\r\n\t\t\tLeadApi.redirectToPage$.next('goals/annual_contribution');\r\n\t\t} else {\r\n\t\t\tLeadApi.redirectToPage$.next('investment_reason');\r\n\t\t}\r\n\t};\r\n\r\n\tconst onBackButtonClick = (screen: string): void => {\r\n\t\tLeadApi.redirectToPage$.next(screen);\r\n\t};\r\n\r\n\tconst onNextButtonClick = (data: TQuestionData, currentRoute: string) => {\r\n\t\tconst { investmentInfo, maximumDecline, stockMarketForecast, ageRange, plannedWithdrawal } = assessData;\r\n\t\tconst selectedChoices = [\r\n\t\t\t{ questionId: investmentInfo.questionId, answerId: investmentInfo.selectedChoiceId },\r\n\t\t\t{ questionId: maximumDecline.questionId, answerId: maximumDecline.selectedChoiceId },\r\n\t\t\t{ questionId: stockMarketForecast.questionId, answerId: stockMarketForecast.selectedChoiceId },\r\n\t\t\t{ questionId: ageRange.questionId, answerId: ageRange.selectedChoiceId },\r\n\t\t\t{ questionId: plannedWithdrawal.questionId, answerId: plannedWithdrawal.selectedChoiceId },\r\n\t\t];\r\n\r\n\t\tconst dataTobeUpdated: LeadQuestionAnswers[] = [];\r\n\t\tselectedChoices.forEach(ch => {\r\n\t\t\tif (ch.questionId === data.questionId) {\r\n\t\t\t\tdataTobeUpdated.push({ ...ch, answerId: data.selectedChoiceId });\r\n\t\t\t} else {\r\n\t\t\t\tdataTobeUpdated.push(ch);\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\tonSaveRiskQuestion(leadProfileId, dataTobeUpdated, agentId, currentRoute);\r\n\t};\r\n\r\n\tconst onRestart = () => {\r\n\t\tonBackButtonClick('risk-profile/investment_return');\r\n\t};\r\n\r\n\tconst onReview = () => {\r\n\t\tonBackButtonClick('your-analysis');\r\n\t};\r\n\r\n\t// const resultData = {\r\n\t// profileId: 1,\r\n\t// riskProfileDescription:\r\n\t// 'You seek to balance risks of capital loss with capital appreciation.',\r\n\t// isVisible: true,\r\n\t// investmentAmount: 10000,\r\n\t// model: {\r\n\t// AverageReturn: 10650,\r\n\t// AverageReturnPercent: 6.5,\r\n\t// Gain: 11570,\r\n\t// GainPercent: 15.7,\r\n\t// Key: 1,\r\n\t// Loss: 9630,\r\n\t// LossPercent: -3.7,\r\n\t// },\r\n\t// isRatingVisible: true,\r\n\t// isAllocationVisible: true,\r\n\t// isReturnVisible: true,\r\n\t// showPdfDownload: true\r\n\t// };\r\n\r\n\treturn (\r\n\t\t
    \r\n\t\t\t
    \r\n\t\t\t\t
    \r\n\t\t\t\t\t{assessData.invesetmentRangeData.length && }\r\n\t\t\t\t
    \r\n\t\t\t\t
    \r\n\t\t\t\t\t{subModule === 'investment_return' &&\r\n\t\t\t\t\t\tassessData.investmentInfo &&\r\n\t\t\t\t\t\tassessData.investmentInfo.choices &&\r\n\t\t\t\t\t\tassessData.investmentInfo.choices.length > 0 &&\r\n\t\t\t\t\t\tassessData.invesetmentRangeData.length && (\r\n\t\t\t\t\t\t\t onInvestmentReturnBackButtonClick()}\r\n\t\t\t\t\t\t\t\tonNextButtonClick={(e, data) => onNextButtonClick(data, 'investment_return')}\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t{subModule === 'maximum_decline' && assessData.maximumDecline && (\r\n\t\t\t\t\t\t onBackButtonClick('risk-profile/investment_return')}\r\n\t\t\t\t\t\t\tonNextButtonClick={(e, data) => onNextButtonClick(data, 'maximum_decline')}\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t)}\r\n\t\t\t\t\t{subModule === 'stock_market' && assessData.stockMarketForecast && (\r\n\t\t\t\t\t\t onBackButtonClick('risk-profile/maximum_decline')}\r\n\t\t\t\t\t\t\tonNextButtonClick={(e, data) => onNextButtonClick(data, 'stock_market')}\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t)}\r\n\t\t\t\t\t{subModule === 'age_range' && assessData.ageRange && (\r\n\t\t\t\t\t\t onBackButtonClick('risk-profile/stock_market')}\r\n\t\t\t\t\t\t\tonNextButtonClick={(e, data) => onNextButtonClick(data, 'age_range')}\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t)}\r\n\t\t\t\t\t{(subModule === 'planned_withdrawal' || subModule === 'risk_result') &&\r\n\t\t\t\t\t\tassessData.plannedWithdrawal && (\r\n\t\t\t\t\t\t\t<>\r\n\t\t\t\t\t\t\t\t onBackButtonClick('risk-profile/age_range')}\r\n\t\t\t\t\t\t\t\t\tonNextButtonClick={(e, data) => onNextButtonClick(data, 'planned_withdrawal')}\r\n\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t{subModule === 'risk_result' && (\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t)}\r\n\t\t\t\t
    \r\n\t\t\t
    \r\n\t\t
    \r\n\t);\r\n};\r\n","import * as React from 'react';\r\nimport styles from './menubar.module.css';\r\n\r\nexport type propsType = {\r\n\tclick?: any;\r\n\ttabActive: boolean;\r\n\timg: string;\r\n\ttitle: string;\r\n\tactiveImg?: string;\r\n\tborder: boolean;\r\n\tlastVisited?: boolean;\r\n};\r\n\r\nexport const MenuList: React.FC = (props: any) => {\r\n\tconst { activeImg, img, title, tabActive, border, lastVisited, click } = props;\r\n\r\n\treturn (\r\n\t\t
  • \r\n\t\t\t
    \r\n\t\t\t\t{title}\r\n\t\t\t\t{title}\r\n\t\t\t
    \r\n\r\n\t\t\t
    \r\n\t\t\t\t
    \r\n\t\t\t
  • \r\n\t\t\r\n\t);\r\n};\r\n","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACMAAAAgCAYAAACYTcH3AAAAAXNSR0IArs4c6QAAAwJJREFUWAmtl02IjVEYx+fOmKZ8DKbJmETGV1GiZhQrLOyoiQ3Z2FiQmLWNhY1SGk2ZhXRTNixYqmEhFhSlKFEmEfkmkmHGuH7/23um43nPue9933uf+s/7fPz/zzn3nPc9p2lpacAqlcoAuAOegr0NtGpMyuDbwHfg7C/Osca6FlAz6C4w4WZhnicKtCwmYeD9YMpMYNLEw8SlYiPUqWKAw0Db4Uz+ENgO/C1TvQza6mydj0bj48C3PwQHXBf8TeCTT8C/CjocpylPGp42g/wm3m2bk1sH3hjuDeI5lps7pkkrOG+a/yDeEWtGrQ88N5q7xAtjmsw84nZw2TT9Qrw5SwynFzw22kfEi7O0qTqi2eC6afaWeH2KHEnA7QL3TA+t2PKIJJ2GPB/oVPXtBcGqNLt2Bs1ccBP49ppgbW0lVUiLwENfif8ELMkURwhoO8A14NtHgoGIpDqRpRCe+Qr8B6A7JqI2CEYTDNbgtcG5CHzTubQ1pSG5Brzymfi3wLwUOUlQKwNr5Rr8EuSzRqArZeeMhmADeG9I08T6JUdA6hQlpxVx9hVHcBZcIYrSnAP6In3T1bKvOiEc+wn6RPmHZmaeOOS0NTJNojOBm9BogL8Rjn+NEP5nWqGeVoQVKzbxahMrnAzkXCpUW0kx6+KszIKkZT0IuoAzLVv0faE2Bo6CBeAlkMmXqZZllyD8TEi/eF4plUofgiKWbNxbxDMhEvURj+PckQh3jyMkz+BJrG3KbTTsQ9QfEPYntUApO5V7Mgym7dBWbEnaT/MUZMqNJZxqIs+f3JOhud4VdzWcxO9MIF+mmjjNMX5Z9J2hdh/IbtvRlKtW4Pg1cnW9M/qa8tqyRNDNIBeM2F0djmPKtcMik5lKWurmjd2+jlN7dFMtMhn9KzIE2k0vF2oiwy7I88w9GQ4nbY3dnjxjRrlFvqZos0YL9axMDy9q6IDLM7bupkwLXl4MPo5yRaa6OKGX7X5n5bFtcpeY5Tcrngg1ik1Gp+nnkKDBnCZxilX5FurzD/v3+OXiL/igAAAAAElFTkSuQmCC\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAxFJREFUWAnFlztrVEEUx3PVJNhYxEckiFgJLou2WghrsykFscs3yCcQIbhg4SfYwl6sBPFVWK0gbp8mrRJhg41gEix8rb//Omf3OHf2PjZiDvyZmTPntXPOnLmbzVWk4XA4j+gNcBM0wEoAw9wgYIvxGehlWfad8eCE42XQBV9AVZKsdJZnjgDlRdAB+2BW2kNRNhanBZKlNlBQ5E/BtWj/J+u34DXYBjp6kdJxHqyC6+Ao8NRncYu0fPLM5BznTbANPO2y2ABLSSXHROZkkJWOJ9lsOtH8FAHlO3b+BN6ZvHQxRzpAup5kO10XbCjnfSf9i7nyl0xTsfs/u9INNhjG9I5ZviZgypmnThUnVWQwWmwbAR29r3Yd3Uy/HL2r4JwPTLaAT4d8TVLBQnfWSMVTO+dyiN5psAM+g9tREKoJX5jd0T7MBeCbzIZXrDPHznPg6aHXZ0M3yUg+5xV12ziMP0DpVfNGbY7eurNj03u2rxGmrqh8GLXF9Mff8wpV59hogK9mNYyq9rghyV8v7GvoHsGJHhYjdbhahBFdqcfguFPcZb5G51PnjMn7aCgAtVEjtdck4egUmFTuROoB0yuT5Wi2jvMPEc+W3seKjkQPhlHLpPzIppxvgi0wDoK56kcNy9MjrxvPEWw54b3SABA256Y3CoKFXTnja3wPTsRO/Zr9vwI4xqZetItByKfD9O4yuWwLxktAxfoRnAVGyrfyrvwXkfcxUA0oACM9qTHdgfEqYiqIdsS7j/N+xEstvY+BUlB6DZFRs3oJplHyyqW8Y6DnjHQVQKVGhJyCeOGUbaqOdiHlLOYhtwRyjUiGK7Vi5FJBrMWOpq3Rz7diCbPh01D4GEVBFF45Hwh66ccoBFDrOQ5BKOjCK2cBIFf8HIcgOgh66piBg44YLbeNkD7JVM1G//eTLJzC4X2U2jHz85sg/jJWYaqCS78VkKn1WZ787sOIHpzD+WPiTuJf/DXb58eoAPOf4eaobNRpAF0536xYFpJkpTN+uqf5SaYgJYyxBfgtUOXv+Rsepm8pOzHvN+9jsPCEG95IAAAAAElFTkSuQmCC\"","import * as React from 'react';\r\nimport { NavLink } from 'react-router-dom';\r\nimport styles from './header.module.css';\r\n\r\nimport { EllipsisText } from '../../../helpers/ellipsistext';\r\nimport { useLead } from '../../../contexts/lead/lead.context';\r\nimport { useApp } from '../../../contexts/app/app.context';\r\n\r\nexport const HeaderComponent: React.FC = () => {\r\n\tconst { applicationState } = useApp();\r\n\tconst { leadProfile } = useLead();\r\n\r\n\tlet fullName = '';\r\n\tif ((leadProfile.Investor.FirstName) || (leadProfile.Investor.LastName)) {\r\n\t\tfullName = `${leadProfile.Investor.FirstName} ${leadProfile.Investor.LastName}`;\r\n\t}\r\n\r\n\tconst linkTextBranding = (\r\n\t\t
    \r\n\t\t\t event.preventDefault()}>\r\n\t\t\t\t{applicationState.wordMark.getOrElse('')}\r\n\t\t\t\r\n\t\t
    \r\n\t);\r\n\r\n\treturn (\r\n\t\t
    \r\n\t\t\t
    \r\n\t\t\t\t{linkTextBranding}\r\n\t\t\t\t
    \r\n\t\t\t\t\t{fullName ? `Welcome, ` : ''}\r\n\t\t\t\t\t\r\n\t\t\t\t
    \r\n\t\t\t
    \r\n\t\t
    \r\n\t);\r\n};\r\n","import { LeadApi } from \"../../../apis/lead.api\";\r\nimport { TLastPageRequest } from \"../../../models/last-update-page-request\";\r\nimport { withRxJs } from \"../../hoc/with-rx\";\r\nimport { MenuBarComponent } from \"./menuBar.component\";\r\n\r\nconst MenuBarContainer = withRxJs(MenuBarComponent)(() => {\r\n\t// const user$ = UserApi.getUser().map(value => value.toOption());\r\n\t//.do(user => user.map(u => LeadApi.advisorId$.next(u.roles[0].aplId.getOrElse(''))));\r\n\treturn {\r\n\t\tdefaultProps: {\r\n\t\t\tupdateLastPage: (page: TLastPageRequest) => {\r\n\t\t\t\tLeadApi.lastPageVisited(page);\r\n\t\t\t}\r\n\t\t},\r\n\t\tprops: {\r\n\t\t\t\r\n\t\t},\r\n\t};\r\n});\r\n\r\nexport default MenuBarContainer;","import * as React from 'react';\r\nimport { GetMenubar } from '../../../helpers/menubarHelper';\r\nimport { MenuList } from './menulist.component';\r\nimport styles from './menubar.module.css';\r\n\r\nimport aboutYou from '../../../images/aboutYou.png';\r\nimport goals from '../../../images/goals.png';\r\n// import goalsWhite from '../../../images/goalsWhite.png';\r\nimport reviewPlan from '../../../images/reviewPlan.png';\r\nimport reviewPlanWhite from '../../../images/reviewPlanWhite.png';\r\nimport riskProfile from '../../../images/riskProfile.png';\r\n// import riskProfileWhite from '../../../images/riskProfileWhite.png';\r\nimport successWhite from '../../../images/successWhite.png';\r\n\r\nimport { HeaderComponent } from '../header/header.component';\r\nimport { useLead } from '../../../contexts/lead/lead.context';\r\nimport { useLocation } from 'react-router';\r\nimport { useEffect } from 'react';\r\nimport { TLastPageRequest } from '../../../models/last-update-page-request';\r\nimport { LeadCategory } from '../../../models/lead-category-enum';\r\nimport { LeadApi } from '../../../apis/lead.api';\r\n\r\nexport type TMenuBarStateProps = {\r\n\tupdateLastPage: (page: TLastPageRequest) => void;\r\n};\r\n\r\nexport const MenuBarComponent: React.FC = ({ updateLastPage }) => {\r\n\tconst location = useLocation();\r\n\tconst [tabActive, setActiveTab] = React.useState<'about' | 'goals' | 'risk-profile' | 'your-analysis'>('about');\r\n\tconst { investorNavState, updateNavState, leadProfile, leadProfileId, leadStrategyId, agentId } = useLead();\r\n\r\n\tuseEffect(() => {\r\n\t\tif (\r\n\t\t\tlocation.pathname.includes('about') ||\r\n\t\t\tlocation.pathname.includes('investment_amount') ||\r\n\t\t\tlocation.pathname.includes('investment_reason')\r\n\t\t) {\r\n\t\t\tsetActiveTab('about');\r\n\t\t\tupdateNavState({ ...investorNavState, aboutYouVisited: true });\r\n\t\t}\r\n\t\tif (location.pathname.includes('goals')) {\r\n\t\t\tsetActiveTab('goals');\r\n\t\t\tupdateNavState({ ...investorNavState, aboutYouVisited: true, goalsVisited: true });\r\n\t\t}\r\n\t\tif (location.pathname.includes('risk-profile')) {\r\n\t\t\tsetActiveTab('risk-profile');\r\n\t\t\tupdateNavState({ ...investorNavState, aboutYouVisited: true, goalsVisited: true, riskVisited: true });\r\n\t\t}\r\n\t\tif (location.pathname.includes('your-analysis')) {\r\n\t\t\tsetActiveTab('your-analysis');\r\n\t\t\tupdateNavState({\r\n\t\t\t\t...investorNavState,\r\n\t\t\t\taboutYouVisited: true,\r\n\t\t\t\tgoalsVisited: true,\r\n\t\t\t\triskVisited: true,\r\n\t\t\t\tanalysisVisited: true,\r\n\t\t\t});\r\n\t\t}\r\n\t}, [location.pathname]);\r\n\r\n\tuseEffect(() => {\r\n\t\t// this will only update SetGoal\r\n\t\tif (investorNavState.goalsVisited) {\r\n\t\t\tupdateLastPage({\r\n\t\t\t\tleadId: leadProfileId,\r\n\t\t\t\tleadStrategyId: leadStrategyId,\r\n\t\t\t\tagentId: agentId,\r\n\t\t\t\tlastPageVisited: LeadCategory.SetGoal,\r\n\t\t\t\tcurrentRoute: '',\r\n\t\t\t});\r\n\t\t}\r\n\t}, [investorNavState.goalsVisited]);\r\n\r\n\tuseEffect(() => {\r\n\t\t// this will only update RiskProfile\r\n\t\tif (investorNavState.riskVisited) {\r\n\t\t\tupdateLastPage({\r\n\t\t\t\tleadId: leadProfileId,\r\n\t\t\t\tleadStrategyId: leadStrategyId,\r\n\t\t\t\tagentId: agentId,\r\n\t\t\t\tlastPageVisited: LeadCategory.RiskProfile,\r\n\t\t\t\tcurrentRoute: '',\r\n\t\t\t});\r\n\t\t}\r\n\t}, [investorNavState.riskVisited]);\r\n\r\n\tuseEffect(() => {\r\n\t\t// this will only update RiskProfile\r\n\t\tif (investorNavState.analysisVisited) {\r\n\t\t\tupdateLastPage({\r\n\t\t\t\tleadId: leadProfileId,\r\n\t\t\t\tleadStrategyId: leadStrategyId,\r\n\t\t\t\tagentId: agentId,\r\n\t\t\t\tlastPageVisited: LeadCategory.YourAnalysis,\r\n\t\t\t\tcurrentRoute: '',\r\n\t\t\t});\r\n\t\t}\r\n\t}, [investorNavState.analysisVisited]);\r\n\r\n\tconst onMenuBarClick = (screen: string): void => {\r\n\t\tLeadApi.redirectToPage$.next(screen);\r\n\t};\r\n\r\n\treturn (\r\n\t\t
    \r\n\t\t\t\r\n\r\n\t\t\t\r\n\t\t
    \r\n\t);\r\n};\r\n","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAnZJREFUWAntlztvE0EQgGfOj0hUdFCkTf4ACgoIJJBwQDZJhV3EyU+gQEoaKiqEECU1RcAusKVIiW1FSXpMwQ/ASDQEQQdNIgHhhpk79rT3WN8jZ7nJSvbuzuzONzu7N3uHkLFUaqt1Inhrmo4InYN+u2HSK7mlGtOqi1nBZOEXtKkj8wmwDEQr3MS09jJH4HC3NZQQX7wwv8ZUAaeGi7OZHZDJ9fqT8s/jUZfc1bMH+E3kaUpmBxz4yacOASwLUOCFIt5OA5exmRzw4NrKBb638+bjxB3IEy7Opjo4ecPFgcRbEAUvzRRuZQm7gFVJFAETfLC9NVKG9JqfCrxba94khEu6XNplgA/9fvuzksc6kBYuhpeqa5s22M8VRK8R0easNaecGLsFWeACI7QXdKje5uhYvwGuKJkxFTtwSTLacy57bgq7MhisLQvrIrMJrwPZj4L6SAfyggtsv9fqSs23J/JiQg6EtiBPuIDjii8CSeCVavMpr2SDd7rkN45/+ES/OBi0Hvvl43u+CPw4Gb2K2/NouECo5OrGA4NaXwTAwpf417lcjs0Hzl05Xz5HgPTOMUh4jYBmw1EJ4sJ9XwTkjkewlsxwzQDD5X3Aee1SjmjqpE1/BHjW/uD1+6ST8xjnOeCmz/UNQroaNkzfZ7D4rNfb+hrWnU3iOXDv/voNJ33ySYoqv+BUxA+jdGeReWeA4ZdjDIUulpjxidSeA/pofqdvHA7aKD9dPol2pAOTAJlsnjsw9QhgpdZ0Pq/4+2qW0+mi7BWn2SH/HUmb88OD/zJOvTAM9kXHcxfdVMxzEbuhvjsm0j7eqa4annzH9MT/pr4F/wCSAzIma+rwKAAAAABJRU5ErkJggg==\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAAYCAYAAADtaU2/AAAAAXNSR0IArs4c6QAAAbRJREFUSA3FVr1LAzEUf+/aKgoVHVV0sNhV0EXQsQ4WBKF0UWj/DJ1sFUdXZ2lBly46qCDdxNldcSrUTZ1U7trGvGsD4XpJrh9nsyT3vn55X7mH2Wxx7PPn9RhbkGfAZiHEhQh1hliemVguROaW5k+hxQ45XjxETGE6Dgw2f5sfMYs8FdT/2gkzKoe3eneFYYKn0nuM7BOmFSaQzvbIgKO6WxGPqv7r++UEGOZcWWTl6cnkUaVStE26Or4RmEAZgwPKjLv4mdPoSJ3Q9zKHWngqQ/jRZH6Asxk4gJF+RMzAPKddhv1oXUJ6gjHHVEhuTkV4O8XlNSt61EtXvQ1G4E71UiENVEzeC5lD7dUY0rfW49RObhGbjSJvpA1AWOAdVeNv6hPGxgsPNxc1+Q6qkMoy8lkJvL2bTzhO45mDtv9a7TZO8i0Jjp3h/NX769KbMNZrjpWhdmznDBjz/VXyR37K5QvUPnYlMCCua+2Z+FplAGWoq7eXPU0jveZY7bHhxoOyRwaMW+n9ujyFDOpJEH0a+ixmQSmI8DBlaNKMrK1kHmnqQ4YJbty3fYYFioDvYOE5jbd/zGOImbLE90EAAAAASUVORK5CYII=\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAZtJREFUWAljdPWKbvvPwFDCwPCflYGqgPE3IwNDz+5tS6vwGctEG8tBVv5nhZiNz3oGBhaYzxkZGJ8wMP4/Dlb+n9HyP8N/GRCbkZFhNX4jsMjC9RMOVaADoABo+e6ty8JAPFfvqFUM/xlCQWyYGIhNLEDWT0gPEyEFtJYfdcBoCIyGwGgIjIbAaAiMhsCAhwCiQULFip+URsyAhICvb5oIzL90d4Cbb4LG939fL7t6RzeCHEGTKID5Dp0GWf7v3+/9DP//SwBbzHWuXjE3GF28ooBs8sGebcuAzX8E8PCJs/zHyPR+1+YFNxCiDAzIloPFGRk3KklzhzIxMDK8RFZICdvNO8bqz/+/O0G+BFkIMwuX5bNmzfrNwsTEHPXv398koDfYYBrIpYF9iUxg8PIC9fNCHeEIMgsW7GBzoT4HWQ7iowQfWAEFRFpaGuu9p19XAx3hDzaGkfEFmAbGOZQPDnaY5SAxqjoAZCCGI0CCIIDmc4ggDRwAMhjDETgsB6mlegiADAUBuCOAbFBqRw52sAJ6ECBHgDA+uwAZ3abc17WYZgAAAABJRU5ErkJggg==\"","import * as React from 'react';\r\nimport styles from './sidebar.module.css';\r\nimport { convertStringtoDollarString } from '../../../helpers/formathelper';\r\n\r\nexport const AnalysisSideBarComponent: React.FC = (props) => {\r\n\tconst { currentAnnualContribution, currentAge, goalType, inflationRate, \r\n\t\tinvestmentAmount, lifeExpectancy, targetAmount, targetAnnualIncome, targetRetirementAge } = props.goalAccountDetails;\r\n\r\n\tlet goalsMainTitle;\r\n\tswitch (goalType) {\r\n\t\tcase 'Retirement':\r\n\t\t\tgoalsMainTitle = 'Your Retirement Goal';\r\n\t\t\tbreak;\r\n\t\tcase 'GeneralSavings':\r\n\t\t\tgoalsMainTitle = 'Your General Investing Goal';\r\n\t\t\tbreak;\r\n\t\tcase 'Unknown':\r\n\t\t\tgoalsMainTitle = 'Your Financial Goal';\r\n\t\t\tbreak;\t\t\r\n\t}\r\n\r\n\treturn (\r\n\t\t
    \r\n\t\t\t

    \r\n\t\t\t\t{ goalsMainTitle }\r\n\t\t\t

    \r\n\t\t\t{(goalType == 'Retirement') &&
    \r\n\t\t\t\t
    \r\n\t\t\t\t\t

    Investment Amount

    \r\n\t\t\t\t\t

    {convertStringtoDollarString(investmentAmount)}

    \r\n\t\t\t\t
    \r\n\t\t\t\t\r\n\t\t\t\t
    \r\n\t\t\t\t\t

    Current Age

    \r\n\t\t\t\t\t

    {currentAge} Years

    \r\n\t\t\t\t
    \r\n\t\t\t\t
    \r\n\t\t\t\t\t

    Retirement Age

    \r\n\t\t\t\t\t

    {targetRetirementAge} Years

    \r\n\t\t\t\t
    \r\n\t\t\t\t
    \r\n\t\t\t\t\t

    Current Annual Savings

    \r\n\t\t\t\t\t

    {currentAnnualContribution > 0 ? convertStringtoDollarString(currentAnnualContribution) : '$0'}

    \r\n\t\t\t\t
    \r\n\t\t\t\t
    \r\n\t\t\t\t\t

    Target Annual Post-Retirement Income

    \r\n\t\t\t\t\t

    {targetAnnualIncome > 0 ? convertStringtoDollarString(targetAnnualIncome) : 0}

    \r\n\t\t\t\t
    \r\n\t\t\t\t
    \r\n\t\t\t\t\t

    Life Expectancy

    \r\n\t\t\t\t\t

    90 Years

    \r\n\t\t\t\t
    \r\n\t\t\t\t
    \r\n\t\t\t\t\t

    Inflation Rate

    \r\n\t\t\t\t\t

    2%

    \r\n\t\t\t\t
    \r\n\t\t\t\t
    \r\n\t\t\t\t\t

    Target Amount at Retirement

    \r\n\t\t\t\t\t

    {targetAmount > 0 ? convertStringtoDollarString(targetAmount) : 0}

    \r\n\t\t\t\t
    \r\n\t\t\t
    }\r\n\r\n\t\t\t{(goalType === 'GeneralSavings') &&
    \r\n\t\t\t\t
    \r\n\t\t\t\t\t

    Investment Amount

    \r\n\t\t\t\t\t

    {convertStringtoDollarString(investmentAmount)}

    \r\n\t\t\t\t
    \r\n\t\t\t\t
    \r\n\t\t\t\t\t

    Current Annual Savings

    \r\n\t\t\t\t\t

    {currentAnnualContribution > 0 ? convertStringtoDollarString(currentAnnualContribution) : '$0'}

    \r\n\t\t\t\t
    \r\n\t\t\t\t
    \r\n\t\t\t\t\t

    Current Age

    \r\n\t\t\t\t\t

    {currentAge} Years

    \r\n\t\t\t\t
    \r\n\t\t\t\t
    \r\n\t\t\t\t\t

    Target Amount

    \r\n\t\t\t\t\t

    {targetAmount > 0 ? convertStringtoDollarString(targetAmount) : 0}

    \r\n\t\t\t\t
    \r\n\t\t\t
    }\r\n\r\n\t\t\t{(goalType === 'Unknown') &&
    \r\n\t\t\t\t
    \r\n\t\t\t\t\t

    Investment Goal

    \r\n\t\t\t\t\t

    No Goal

    \r\n\t\t\t\t
    \r\n\t\t\t
    }\r\n\t\t\t\r\n\t\t
    \r\n\t);\r\n};\r\n","import * as React from 'react';\r\nimport styles from './tooltip.module.css';\r\nimport call from '../images/call.png';\r\nimport msg from '../images/msg.png';\r\n\r\nexport const TooltipComponent: React.FC = props => {\r\n\tconst { name, company, phoneNumber, emailAddress } = props.advisorDetails;\r\n\treturn (\r\n\t\t
    \r\n\t\t\t
    \r\n\t\t\t\t\r\n\t\t\t\t\tX\r\n\t\t\t\t\r\n\t\t\t\t
    \r\n\t\t\t\t{(props.advisorImage && props.advisorImage !== '') && \"advisor}\r\n\t\t\t\t
    \r\n\t\t\t\t
    \r\n\t\t\t\t\t

    {name}

    \r\n\t\t\t\t\t

    {company}

    \r\n\t\t\t\t\t
    \r\n\t\t\t\t\t\t\"phone\r\n\t\t\t\t\t\t

    {phoneNumber}

    \r\n\t\t\t\t\t
    \r\n\t\t\t\t\t
    \r\n\t\t\t\t\t\t\"phone\r\n\t\t\t\t\t\t

    {emailAddress}

    \r\n\t\t\t\t\t
    \r\n\t\t\t\t
    \r\n\t\t\t
    \r\n\t\t
    \r\n\t);\r\n};\r\n","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABUAAAAVCAMAAACeyVWkAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAA2UExURUdwTApjtAhjswBbrwljsgtkswZhsApktApjswpjswBdnwpjtApjtApjtAlhsQpjswpjswler+V0abQAAAASdFJOUwBlVhBFwCb+tfUI7MmTN92lHBUQ1noAAACySURBVBjTdZHbEoQgDENbkKYFFP3/n10o3mZ2t09MDPE0EM0RTkgs9J4lWalai6Xl1vIKXWI/xEWx5lNUC7cjmE55tY0kXvJmq2ciEFs7bjdGdlISAHyHaOpI/dNQ9wcIQlwixfL2xsKU6riElh/6mgjqf8AD1z3TmyuavL0jd1Cihcg7HzNXHK/vBLSO0qIzDF7fqcJHnNd38zqCFjM+d/MeTlKRq4c/nf3u989bfL/bB2Y2Bif0QVNfAAAAAElFTkSuQmCC\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABMAAAANBAMAAAC5okgUAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAwUExURUdwTApjswpiswpjtApjtAtjswlisgpktABfqgpjswljswpjswpjsgtjtApjtApfr0GVtRwAAAAQdFJOUwCti/K22DX9CuFs0krV5BnMRqC3AAAAWklEQVQI12NIFISCBAb1ahEXIJAuV2DQ8zzAAAQn/RQYdJuKGhgYmop6FRhUGU5uY2DbeYAVxOQXXrFYngHMZOCytGKAMhkSE+BMEMDJVIbaK6zAkGcMAXYJANSzFH6tgl32AAAAAElFTkSuQmCC\"","export enum PageTitle {\r\n\tCoverPage = 'Cover Page',\r\n FirstPage = 'First Page',\r\n\tSecondPage = 'Second Page',\r\n ThirdPage = 'Third Page',\r\n FourthPage = 'Fourth Page',\r\n FifthPage = 'Fifth Page',\r\n SixthPage = 'Sixth Page'\r\n}\r\n\r\nexport enum PdfDocumentType {\r\n\tCoverPageComponent = 'CoverPageComponent',\r\n\tFirstPageComponent = 'FirstPageComponent',\r\n SecondPageComponent = 'SecondPageComponent',\r\n ThirdPageComponent = 'ThirdPageComponent',\r\n FourthPageComponent = 'FourthPageComponent',\r\n FifthPageComponent = 'FifthPageComponent',\r\n SixthPageComponent = 'SixthPageComponent',\r\n}\r\n","import memoize from '@devexperts/utils/dist/function/memoize';\r\nimport axios from 'axios';\r\nimport pLimit from 'p-limit';\r\nimport { PageTitle, PdfDocumentType } from '../constants/print.constant';\r\nimport { TAnalysisAccountDetailResponse } from '../models/analysis-account-details.model';\r\n\r\nconst pdfServiceBaseUrl = '/api/reports/v2';\r\n// const pdfServiceBaseUrl = 'http://localhost:2960/api/reports/v2';\r\nconst pdfServiceUrl = `${pdfServiceBaseUrl}/file`;\r\nconst mergePdfUrl = `${pdfServiceBaseUrl}/merge/PDF`;\r\n// export const reportType = 'eWealthManager_Proposal';\r\nexport const reportType = 'WBLeadPortal_Report';\r\nexport const contentType = 'application/pdf';\r\n\r\nconst limit = pLimit(10);\r\n\r\nconst postData = (reportData: any) => {\r\n\treturn axios.post(pdfServiceUrl, reportData, {\r\n\t\theaders: {\r\n\t\t\t'Content-Type': 'application/json',\r\n\t\t\tAccept: 'application/pdf',\r\n\t\t\t'X-Application': 'WBLP',\r\n\t\t},\r\n\t\tresponseType: 'blob',\r\n\t});\r\n};\r\n\r\nexport const getCoverPagePdfData = (firstName: string, lastName: string, advisorDetails: string, advisorPhotoBase64: string, advisorLogoBase64: string) => {\r\n\tconst requestReportDataPayload = {\r\n\t\treportType,\r\n\t\tresponseContentType: contentType,\r\n\t\tpageLayout: 'Letter',\r\n\t\tusePageLayout: true,\r\n\t\tlandscape: true,\r\n\r\n\t\tmargin: {\r\n\t\t\ttop: '0px',\r\n\t\t\tleft: '0px',\r\n\t\t\tright: '0px',\r\n\t\t\tbottom: '0px',\r\n\t\t},\r\n\t\treportData: {\r\n\t\t\tdocumentType: PdfDocumentType.CoverPageComponent,\r\n\t\t\tdata: {\r\n\t\t\t\tfirstName: firstName,\r\n\t\t\t\tlastName: lastName || '',\r\n\t\t\t\tadvisorDetails: JSON.parse(advisorDetails),\r\n\t\t\t\tadvisorPhotoBase64: advisorPhotoBase64 || '',\r\n\t\t\t\tadvisorLogoBase64: advisorLogoBase64 || ''\r\n\t\t\t},\r\n\t\t},\r\n\t};\r\n\treturn limit(() => postData(requestReportDataPayload));\r\n};\r\n\r\nexport const getFirstPagePdfData = (companyName: string, investorName: string, goalAccountDetails: TAnalysisAccountDetailResponse, selectedRiskProfilImgUrl: any) => {\r\n\tconst requestReportDataPayload = {\r\n\t\treportType,\r\n\t\tresponseContentType: contentType,\r\n\t\tpageLayout: 'Letter',\r\n\t\tusePageLayout: true,\r\n\t\tlandscape: true,\r\n\r\n\t\tmargin: {\r\n\t\t\ttop: '30px',\r\n\t\t\tleft: '50px',\r\n\t\t\tright: '50px',\r\n\t\t\tbottom: '30px',\r\n\t\t},\r\n\t\treportData: {\r\n\t\t\tdocumentType: PdfDocumentType.FirstPageComponent,\r\n\t\t\tdata: {\r\n\t\t\t\tcompanyName,\r\n\t\t\t\tinvestorName,\r\n\t\t\t\tgoalAccountDetails,\r\n\t\t\t\tselectedRiskProfilImgUrl\r\n\t\t\t},\r\n\t\t},\r\n\t};\r\n\treturn limit(() => postData(requestReportDataPayload));\r\n};\r\n\r\nexport const getSecondPagePdfData = (companyName: string, investorName: string) => {\r\n\tconst requestReportDataPayload = {\r\n\t\treportType,\r\n\t\tresponseContentType: contentType,\r\n\t\tpageLayout: 'Letter',\r\n\t\tusePageLayout: true,\r\n\t\tlandscape: true,\r\n\r\n\t\tmargin: {\r\n\t\t\ttop: '30px',\r\n\t\t\tleft: '50px',\r\n\t\t\tright: '50px',\r\n\t\t\tbottom: '30px',\r\n\t\t},\r\n\t\treportData: {\r\n\t\t\tdocumentType: PdfDocumentType.SecondPageComponent,\r\n\t\t\tdata: {\r\n\t\t\t\tcompanyName,\r\n\t\t\t\tinvestorName\r\n\t\t\t},\r\n\t\t},\r\n\t};\r\n\treturn limit(() => postData(requestReportDataPayload));\r\n};\r\n\r\nexport const getThirdPagePdfData = (companyName: string, investorName: string) => {\r\n\tconst requestReportDataPayload = {\r\n\t\treportType,\r\n\t\tresponseContentType: contentType,\r\n\t\tpageLayout: 'Letter',\r\n\t\tusePageLayout: true,\r\n\t\tlandscape: true,\r\n\r\n\t\tmargin: {\r\n\t\t\ttop: '30px',\r\n\t\t\tleft: '50px',\r\n\t\t\tright: '50px',\r\n\t\t\tbottom: '30px',\r\n\t\t},\r\n\t\treportData: {\r\n\t\t\tdocumentType: PdfDocumentType.ThirdPageComponent,\r\n\t\t\tdata: {\r\n\t\t\t\tcompanyName,\r\n\t\t\t\tinvestorName\r\n\t\t\t},\r\n\t\t},\r\n\t};\r\n\treturn limit(() => postData(requestReportDataPayload));\r\n};\r\n\r\nexport const getFourthPagePdfData = (companyName: string, investorName: string) => {\r\n\tconst requestReportDataPayload = {\r\n\t\treportType,\r\n\t\tresponseContentType: contentType,\r\n\t\tpageLayout: 'Letter',\r\n\t\tusePageLayout: true,\r\n\t\tlandscape: true,\r\n\r\n\t\tmargin: {\r\n\t\t\ttop: '30px',\r\n\t\t\tleft: '50px',\r\n\t\t\tright: '50px',\r\n\t\t\tbottom: '30px',\r\n\t\t},\r\n\t\treportData: {\r\n\t\t\tdocumentType: PdfDocumentType.FourthPageComponent,\r\n\t\t\tdata: {\r\n\t\t\t\tcompanyName,\r\n\t\t\t\tinvestorName\r\n\t\t\t},\r\n\t\t},\r\n\t};\r\n\treturn limit(() => postData(requestReportDataPayload));\r\n};\r\n\r\nexport const getFifthPagePdfData = (companyName: string, investorName: string) => {\r\n\tconst requestReportDataPayload = {\r\n\t\treportType,\r\n\t\tresponseContentType: contentType,\r\n\t\tpageLayout: 'Letter',\r\n\t\tusePageLayout: true,\r\n\t\tlandscape: true,\r\n\r\n\t\tmargin: {\r\n\t\t\ttop: '30px',\r\n\t\t\tleft: '50px',\r\n\t\t\tright: '50px',\r\n\t\t\tbottom: '30px',\r\n\t\t},\r\n\t\treportData: {\r\n\t\t\tdocumentType: PdfDocumentType.FifthPageComponent,\r\n\t\t\tdata: {\r\n\t\t\t\tcompanyName,\r\n\t\t\t\tinvestorName\r\n\t\t\t},\r\n\t\t},\r\n\t};\r\n\treturn limit(() => postData(requestReportDataPayload));\r\n};\r\n\r\nexport const getSixthPagePdfData = (companyName: string, investorName: string) => {\r\n\tconst requestReportDataPayload = {\r\n\t\treportType,\r\n\t\tresponseContentType: contentType,\r\n\t\tpageLayout: 'Letter',\r\n\t\tusePageLayout: true,\r\n\t\tlandscape: true,\r\n\r\n\t\tmargin: {\r\n\t\t\ttop: '30px',\r\n\t\t\tleft: '50px',\r\n\t\t\tright: '50px',\r\n\t\t\tbottom: '30px',\r\n\t\t},\r\n\t\treportData: {\r\n\t\t\tdocumentType: PdfDocumentType.SixthPageComponent,\r\n\t\t\tdata: {\r\n\t\t\t\tcompanyName,\r\n\t\t\t\tinvestorName\r\n\t\t\t},\r\n\t\t},\r\n\t};\r\n\treturn limit(() => postData(requestReportDataPayload));\r\n};\r\n\r\nexport function getByteArrayStringFromBlob(data: Blob) {\r\n\tconst promise: Promise = new Promise((resolve, reject) => {\r\n\t\tconst reader = new FileReader();\r\n\t\treader.onload = () => {\r\n\t\t\tconst arrayBuffer = reader.result as ArrayBuffer;\r\n\t\t\tconst bytes = new Uint8Array(arrayBuffer);\r\n\r\n\t\t\tconst base64String = btoa(\r\n\t\t\t\tbytes.reduce(function(data, byte) {\r\n\t\t\t\t\treturn data + String.fromCharCode(byte);\r\n\t\t\t\t}, ''),\r\n\t\t\t);\r\n\t\t\t// let base64String = btoa(String.fromCharCode(...bytes));\r\n\t\t\tresolve(base64String);\r\n\t\t};\r\n\t\treader.readAsArrayBuffer(data);\r\n\t});\r\n\r\n\treturn promise;\r\n}\r\n\r\nexport const b64toBlob = (b64Data: string, contentType = 'application/pdf', sliceSize = 512) => {\r\n\t// b64Data = \"data:application/pdf;base64, \" + b64Data;\r\n\tb64Data = b64Data.replace(/^[^,]+,/, '');\r\n\tb64Data = b64Data.replace(/\\s/g, '');\r\n\tconst byteCharacters = atob(b64Data);\r\n\tconst byteNumbers = new Array(byteCharacters.length);\r\n\tfor (let i = 0; i < byteCharacters.length; i++) {\r\n\t\tbyteNumbers[i] = byteCharacters.charCodeAt(i);\r\n\t}\r\n\r\n\tconst byteArray = new Uint8Array(byteNumbers);\r\n\r\n\tconst blob = new Blob([byteArray], { type: 'application/pdf' });\r\n\treturn blob;\r\n};","import * as React from 'react';\r\nimport styles from './pdf-modal.module.css';\r\n\r\nexport type TModalProps = {\r\n\tonCloseModalClick?: any;\r\n};\r\n\r\nexport const PDFModal: React.StatelessComponent = props => (\r\n\t
    \r\n\t\t
    \r\n\t\t\t
    \r\n\t\t\t
    \r\n\t\t\t\t
    \r\n \r\n X\r\n \r\n\t\t\t\t\t
    \r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t{props.children}\r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t
    \r\n\t\t\t\t
    \r\n\t\t\t
    \r\n\t\t
    \r\n\t
    \r\n);\r\n","/**\r\n * Digital Advisor Solutions Service API 1.0\r\n * No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen)\r\n *\r\n * OpenAPI spec version: 1.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by the swagger code generator program.\r\n * https://github.com/swagger-api/swagger-codegen.git\r\n * Do not edit the class manually.\r\n */\r\n\r\nimport { Observable } from 'rxjs';\r\nimport { AjaxRequest } from 'rxjs/observable/dom/AjaxObservable';\r\n//@ts-ignore\r\n// import * as models from '../model/models';\r\nimport { RemoteData } from '@assetmark/ui-kit/dist/utils/remote-data.utils';\r\nimport { ObjectUtils } from '@assetmark/ui-kit/dist/utils/object.utils';\r\n\r\n\r\nimport { AdvisorContractResponse } from '../model/advisorContractResponse';\r\n\r\nimport {\r\n\tDasApiClient as ApiClient\r\n\t\r\n} from '../../../apis/api.client';\r\n\r\n// import isNotNullable = ObjectUtils.isNotNullable;\r\n\r\ntype TQueryParam = {\r\n\tkey: string,\r\n\tvalue: string | string[] | boolean | number | Date | undefined,\r\n}\r\n\r\n\r\n// eslint-disable-next-line @typescript-eslint/no-namespace \r\nexport namespace AdvisorContractService {\r\n\t/**\r\n\t* \r\n\t\t* @summary Calling Advisor Contract Service and Get the Contact Details by AgentId.\r\n\t* @param agentId - Agent Id i.e AG1634\r\n\t*/\r\n\texport function apiDasV1AdvisorcontractAgentIdContactinfoGet(agentId: string, customHeaders: Object = {}): Observable> {\r\n\t\tconst path = `/api/das/v1/advisorcontract/${encodeURIComponent(String(agentId))}/contactinfo`.replace(/^\\//, '').replace('{' + 'agentId' + '}', String(agentId));\r\n\t\tconst allQueryParams: TQueryParam[] = [\r\n\t\t];\r\n\t\tconst queryParams = allQueryParams.filter(param => ObjectUtils.isNotNullable(param.value)).map(param => `${param.key}=${param.value}`).join('&');\r\n\t\tconst apiUrl = queryParams === '' ? path : path.concat(`?${queryParams}`);\r\n\t\tlet headers = customHeaders;\r\n\t\tconst ajaxRequest: AjaxRequest = {\r\n\t\t\turl: apiUrl,\r\n\t\t\tmethod: 'get',\r\n\t\t\theaders: { ...headers }\r\n\t\t};\r\n\t\treturn ApiClient.request(ajaxRequest);\r\n\t}\r\n\r\n\texport function getUrlForapiDasV1AdvisorcontractAgentIdContactinfoGet(agentId: string, ): string {\r\n\t\tconst path = '/api/das/v1/advisorcontract/${encodeURIComponent(String(agentId))}/contactinfo'.replace(/^\\//, '').replace('{' + 'agentId' + '}', String(agentId));\r\n\t\tconst allQueryParams: TQueryParam[] = [\r\n\t\t];\r\n\t\tconst queryParams = allQueryParams.filter(param => ObjectUtils.isNotNullable(param.value)).map(param => `${param.key}=${param.value}`).join('&');\r\n\t\treturn queryParams === '' ? path : path.concat(`?${queryParams}`);\r\n\t}\r\n}\r\n","/**\r\n * Digital Advisor Solutions Service API 1.0\r\n * No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen)\r\n *\r\n * OpenAPI spec version: 1.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by the swagger code generator program.\r\n * https://github.com/swagger-api/swagger-codegen.git\r\n * Do not edit the class manually.\r\n */\r\n\r\nimport { Observable } from 'rxjs';\r\nimport { AjaxRequest } from 'rxjs/observable/dom/AjaxObservable';\r\n//@ts-ignore\r\n// import * as models from '../model/models';\r\nimport { RemoteData } from '@assetmark/ui-kit/dist/utils/remote-data.utils';\r\nimport { ObjectUtils } from '@assetmark/ui-kit/dist/utils/object.utils';\r\n\r\n\r\nimport { ProblemDetails } from '../model/problemDetails';\r\nimport { StampRequest } from '../model/stampRequest';\r\n\r\nimport {\r\n\tDasApiClient as ApiClient\r\n\t\r\n} from '../../../apis/api.client';\r\n\r\n// import isNotNullable = ObjectUtils.isNotNullable;\r\n\r\ntype TQueryParam = {\r\n\tkey: string,\r\n\tvalue: string | string[] | boolean | number | Date | undefined,\r\n}\r\n\r\n\r\n// eslint-disable-next-line @typescript-eslint/no-namespace \r\nexport namespace ReportService {\r\n\t/**\r\n\t* \r\n\t\t* @summary Deleting Existing Pdf and save the new one.\r\n\t* @param leadId - The Lead identifier. 75299dbc-4df6-4bbb-a57a-dc0d74a89b6e\r\n\t* @param body - The Document Request.\r\n\t* @param agentId - The agent identifier. AG1634\r\n\t*/\r\n\texport function apiDasV1ReportSaveleadpdfLeadIdPost(leadId: string, body?: Array, agentId?: string, customHeaders: Object = {}): Observable> {\r\n\t\tconst path = `/api/das/v1/report/saveleadpdf/${encodeURIComponent(String(leadId))}`.replace(/^\\//, '').replace('{' + 'leadId' + '}', String(leadId));\r\n\t\tconst allQueryParams: TQueryParam[] = [\r\n\t\t\t\t{\r\n\t\t\t\t\tkey: 'agentId',\r\n\t\t\t\t\tvalue: agentId\r\n\t\t\t\t},\r\n\t\t];\r\n\t\tconst queryParams = allQueryParams.filter(param => ObjectUtils.isNotNullable(param.value)).map(param => `${param.key}=${param.value}`).join('&');\r\n\t\tconst apiUrl = queryParams === '' ? path : path.concat(`?${queryParams}`);\r\n\t\tlet headers = customHeaders;\r\n\t\tconst ajaxRequest: AjaxRequest = {\r\n\t\t\turl: apiUrl,\r\n\t\t\tmethod: 'post',\r\n\t\t\tbody: body,\r\n\t\t\theaders: { ...headers }\r\n\t\t};\r\n\t\treturn ApiClient.request(ajaxRequest);\r\n\t}\r\n\r\n\texport function getUrlForapiDasV1ReportSaveleadpdfLeadIdPost(leadId: string, body?: Array, agentId?: string, ): string {\r\n\t\tconst path = '/api/das/v1/report/saveleadpdf/${encodeURIComponent(String(leadId))}'.replace(/^\\//, '').replace('{' + 'leadId' + '}', String(leadId));\r\n\t\tconst allQueryParams: TQueryParam[] = [\r\n\t\t\t{\r\n\t\t\tkey: 'agentId',\r\n\t\t\tvalue: agentId\r\n\t\t\t},\r\n\t\t];\r\n\t\tconst queryParams = allQueryParams.filter(param => ObjectUtils.isNotNullable(param.value)).map(param => `${param.key}=${param.value}`).join('&');\r\n\t\treturn queryParams === '' ? path : path.concat(`?${queryParams}`);\r\n\t}\r\n}\r\n","/**\r\n * Digital Advisor Solutions Service API 1.0\r\n * No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen)\r\n *\r\n * OpenAPI spec version: 1.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by the swagger code generator program.\r\n * https://github.com/swagger-api/swagger-codegen.git\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport enum StampType {\r\n PageNumber = 'PageNumber',\r\n Logo = 'Logo'\r\n}\r\n","import { BehaviorSubject, Subject } from 'rxjs';\r\nimport { ResourcesService } from '../lib/das-api/api/resources.service';\r\nimport { fromNullable, none, some } from 'fp-ts/lib/Option';\r\nimport { ContainerName } from '../lib/das-api/model/containerName';\r\nimport { ImageSize } from '../lib/das-api/model/imageSize';\r\nimport { TAnalysisStaticImage } from '../models/analysis-static-image.model';\r\nimport { WBGetStartedImages } from '../lib/das-api/model/wBGetStartedImages';\r\nimport { LeadService } from '../lib/das-api/api/lead.service';\r\nimport { AdvisorContractService } from '../lib/das-api/api/advisorContract.service';\r\n\r\nimport { TAnalysisAccountDetailResponse } from '../models/analysis-account-details.model';\r\nimport { TAdvisorContractResponse } from '../models/advisor-contract.model';\r\nimport { defaultAnalysisAccountDetails } from '../constants/data.constant';\r\nimport { ReportService } from '../lib/das-api/api/report.service';\r\nimport { StampRequest } from '../lib/das-api/model/stampRequest';\r\nimport { StampType } from '../lib/das-api/model/stampType';\r\nimport { StampLocationType } from '../lib/das-api/model/stampLocationType';\r\nimport { AppApi } from './app.api';\r\nimport { LeadApi } from './lead.api';\r\nimport { AMPError } from '@assetmark/ui-kit/dist/utils/errors';\r\n\r\n// eslint-disable-next-line @typescript-eslint/no-namespace\r\nexport namespace AnalysisApi {\r\n\t// export const goalAccountDetails$ = new BehaviorSubject(defaultAnalysisAccountDetails);\r\n\texport const goalAccountDetails$ = new BehaviorSubject({} as TAnalysisAccountDetailResponse);\r\n\texport const advisorContractDetails$ = new BehaviorSubject({} as TAdvisorContractResponse);\r\n\texport const savedPdfUrl$ = new Subject();\r\n\texport const errorSubj$ = new Subject();\r\n\texport const pdfError$ = errorSubj$.asObservable();\r\n\t\r\n\t// 6 Risk profile image\r\n\texport const getRiskToleranceImages = () => {\r\n\t return ResourcesService.apiDasV1ResourcesImagesGet(ContainerName.Riskprofileimages, ImageSize.Medium)\r\n .mapRD(data => data.map(parseImage))\r\n\t\t\t.shareReplay(1);\r\n\t};\r\n\r\n\t// Static financial image\r\n\texport const getFinancialImages = () => {\r\n\t return ResourcesService.apiDasV1ResourcesImagesGet(ContainerName.Youranalysisimages, ImageSize.Small)\r\n .mapRD(data => data.map(parseImage))\r\n\t\t\t.shareReplay(1);\r\n\t};\r\n\r\n\texport const getAdvisorContractDetails = ((agentId: string) => {\r\n\t\tLeadApi.showSpinner$.next(true);\r\n\t\tAdvisorContractService.apiDasV1AdvisorcontractAgentIdContactinfoGet(agentId)\r\n\t\t.subscribe(data => {\r\n if(data.isSuccess()) {\r\n\t\t\t\tLeadApi.showSpinner$.next(false);\r\n\t\t\t\tadvisorContractDetails$.next(data.value);\r\n }\r\n });\r\n });\r\n\r\n\texport const getGoalDetailsForAnalysis = ((leadStrategyId: string, agentId: string) => {\r\n\t\tLeadApi.showSpinner$.next(true);\r\n\t\tLeadService.apiDasV1LeadLeadStrategyLeadStrategyIDAccountDetailsGet(leadStrategyId, agentId)\r\n\t\t.subscribe(data => {\r\n if(data.isSuccess()) {\r\n\t\t\t\tLeadApi.showSpinner$.next(false);\r\n goalAccountDetails$.next(data.value);\r\n }\r\n });\r\n });\r\n\r\n\texport const saveLeadPdf = (leadId: string, agentId: string, pages: string[]) => {\r\n\t\tconst stampRequest: StampRequest[] = [];\r\n\t\tlet startPageNumber = 0;\r\n\t\t\r\n\t\tpages.forEach((page, idx) => {\r\n\t\t\tstartPageNumber = idx + 1;\r\n\t\t\tconst stampMetadata = {\r\n\t\t\t\tstampType: StampType.PageNumber,\r\n\t\t\t\tstampLocationtype: StampLocationType.StampByCoordinate,\r\n\t\t\t\tstampCoordinate: {\r\n\t\t\t\t\txAxis: 750,\r\n\t\t\t\t\tyAxis: 24,\r\n\t\t\t\t},\r\n\t\t\t\tstampFieldID: `page-${idx+1}`,\r\n\t\t\t\tstartValue: startPageNumber,\r\n\t\t\t\tincrementBy: 1,\r\n\t\t\t\tskipFirstAmountOfPages: 0,\r\n\t\t\t};\r\n\t\r\n\t\t\tif (idx === 0) {\r\n\t\t\t\tstampMetadata.skipFirstAmountOfPages = 1;\r\n\t\t\t}\r\n\t\r\n\t\t\tstampRequest.push({\r\n\t\t\t\tdocument: { name: `page-${idx+1}`, content: page, insertBlankPage: true },\r\n\t\t\t\tstampMetadata,\r\n\t\t\t});\r\n\t\t});\r\n\r\n\t\tReportService.apiDasV1ReportSaveleadpdfLeadIdPost(leadId, stampRequest, agentId)\r\n\t\t.subscribe(data => {\r\n\t\t\t\tif(data.isSuccess()) {\r\n\t\t\t\t\tsavedPdfUrl$.next(`/api/das/v1/Resources?url=${data.value}`);\r\n\t\t\t\t}\r\n\t\t\t});\r\n };\r\n\r\n const parseImage = (img: WBGetStartedImages): TAnalysisStaticImage => {\r\n\t\treturn {\r\n\t\t\timageUri: fromNullable(img.imageUri ? `/api/das/v1/Resources?url=${img.imageUri}` : null),\r\n\t\t\tindex: fromNullable(img.index),\r\n\t\t\timageSizeType: fromNullable(img.imageSizeType),\r\n\t\t};\r\n\t};\r\n}","/**\r\n * Digital Advisor Solutions Service API 1.0\r\n * No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen)\r\n *\r\n * OpenAPI spec version: 1.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by the swagger code generator program.\r\n * https://github.com/swagger-api/swagger-codegen.git\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport enum StampLocationType {\r\n StampByCoordinate = 'StampByCoordinate',\r\n StampByFieldID = 'StampByFieldID'\r\n}\r\n","import * as React from 'react';\r\nimport { RemoteData } from '@assetmark/ui-kit/dist/utils/remote-data.utils';\r\nimport styles from './analysis.module.css';\r\n\r\nimport Button from '../../components/common/button/button';\r\nimport { AnalysisSideBarComponent } from './sidebar/sidebar.component';\r\nimport { TooltipComponent } from './tooltip/tooltip.component';\r\n\r\nimport { useLead } from '../../contexts/lead/lead.context';\r\nimport { useApp } from '../../contexts/app/app.context';\r\n\r\nimport { TAnalysisStaticImage } from '../../models/analysis-static-image.model';\r\nimport { TAnalysisAccountDetailResponse } from '../../models/analysis-account-details.model';\r\nimport { TLeadRiskResponse } from '../../models/lead-risk-response';\r\nimport { TAdvisorContractResponse } from '../../models/advisor-contract.model';\r\nimport { getCoverPagePdfData, getFirstPagePdfData, getSecondPagePdfData, \r\n\tgetThirdPagePdfData, getFourthPagePdfData, getFifthPagePdfData, getSixthPagePdfData, b64toBlob, getByteArrayStringFromBlob } from '../../helpers/print.helper';\r\nimport { getAdvisorDetails, getLogoPath } from '../../helpers/analysis.helper';\r\nimport { useEffect, useState } from 'react';\r\n\r\nimport { PDFModal } from '../../components/common/pdf-modal/pdf-modal.component';\r\nimport { AnalysisApi } from '../../apis/analysis.api';\r\nimport { getAzureResource, getBase64ImageFromUrl } from '../../helpers/resource.helper';\r\nimport FullPageLoader from '../../components/common/full-page-loader/fullPageLoader';\r\nimport { LeadApi } from '../../apis/lead.api';\r\nimport { apiClientsErrors$ } from '../../apis/api.client';\r\n\r\ntype TStateProps = {\r\n\tleadRisk: TLeadRiskResponse;\r\n\triskToleranceImages: RemoteData;\r\n\tstaticImagesUrls: RemoteData;\r\n\tgoalAccountDetails: TAnalysisAccountDetailResponse;\r\n\tadvisorDetails: TAdvisorContractResponse;\r\n\tsavedPdfUrl: string;\r\n\tgetGoalDetailsOnLoad: (leadStgId: string, agentId: string) => void;\r\n\tgetAdvisorContractDetailsOnLoad: (agentId: string) => void;\r\n\tsaveLoadPdf: (leadId: string, agentId: string, pages: string[]) => void;\r\n};\r\n\r\nexport const YourAnalysisComponent: React.FC = ({\r\n\triskToleranceImages,\r\n\tstaticImagesUrls,\r\n\tgetGoalDetailsOnLoad,\r\n\tgoalAccountDetails,\r\n\tleadRisk,\r\n\tgetAdvisorContractDetailsOnLoad,\r\n\tadvisorDetails,\r\n\tsaveLoadPdf,\r\n\tsavedPdfUrl\r\n}) => {\r\n\tconst { agentId, leadProfileId, leadStrategyId, leadProfile } = useLead();\r\n\tconst { applicationState } = useApp();\r\n\tconst [showTooltip, setShowTooltip] = useState(false);\r\n\tconst [base64StringArray, setBase64StringArray] = useState([]);\r\n\tconst [selectedRiskProfilImgUrl, SetselectedRiskProfilImgUrl] = useState(\"\");\r\n\tconst [staticFinancialImg1, SetstaticFinancialImg1] = useState(\"\");\r\n\tconst [staticFinancialImg2, SetstaticFinancialImg2] = useState(\"\");\r\n\tconst [staticFinancialImg3, SetstaticFinancialImg3] = useState(\"\");\r\n\tconst [staticFinancialImg4, SetstaticFinancialImg4] = useState(\"\");\r\n\tconst [advisorPhotoBase64Img, SetAdvisorPhotoBase64Img] = useState(null);\r\n\tconst [advisorLogoBase64Img, SetAdvisorLogoBase64Img] = useState(null);\r\n\tconst [pdfUrl, SetPdfUrl] = useState(\"\");\r\n\tconst [advisorDetail,setAdvisorDetail] = useState({});\r\n\t\r\n\tuseEffect(()=>{\r\n\t\tif(applicationState && advisorDetails) {\r\n\t\t setAdvisorDetail({\r\n\t\t\t\t...advisorDetails,\r\n\t\t\t\tcompany: applicationState.wordMark.getOrElse('')\r\n\t\t\t});\r\n\t\t}\r\n\t},[applicationState, advisorDetails]);\r\n\r\n\tuseEffect(() => {\r\n\t\tif (leadStrategyId && agentId) {\r\n\t\t\tgetGoalDetailsOnLoad(leadStrategyId, agentId);\r\n\t\t}\r\n\t}, [agentId, leadStrategyId]);\r\n\r\n\tuseEffect(() => {\r\n\t\tif (agentId) {\r\n\t\t\tgetAdvisorContractDetailsOnLoad(agentId);\r\n\t\t}\r\n\t}, [agentId]);\r\n\r\n\tuseEffect(() => {\r\n\t\tif(base64StringArray.length === 7) {\r\n\t\t\tbase64StringArray.every(b => (b && b.length > 0)) && saveLoadPdf(leadProfileId, agentId, base64StringArray);\r\n\t\t\t// show modal window \r\n\t\t}\r\n\t}, [base64StringArray]);\r\n\r\n\tuseEffect(() => {\r\n\t\tif(riskToleranceImages.isSuccess() && goalAccountDetails.riskProfile) {\r\n\t\t\tconst url = riskToleranceImages.value\r\n\t\t\t.find(img => img.index.getOrElse(0) === Number(goalAccountDetails.riskProfile || 0))\r\n\t\t\t?.imageUri.getOrElse('');\r\n\t\t\turl && getAzureResource(url).then(d => SetselectedRiskProfilImgUrl(d)); \r\n\t\t}\r\n\t}, [riskToleranceImages, goalAccountDetails]);\r\n\r\n\tuseEffect(()=> {\r\n\t\tif(staticImagesUrls.isSuccess()) {\r\n\t\t\tconst imgUrlsStatic = staticImagesUrls.value;\r\n\t\t\tconst urlImg1 = imgUrlsStatic.find(img => img.index.getOrElse(0) === 1)?.imageUri.getOrElse('');\r\n\t\t\tconst urlImg2 = imgUrlsStatic.find(img => img.index.getOrElse(0) === 2)?.imageUri.getOrElse('');\r\n\t\t\tconst urlImg3 = imgUrlsStatic.find(img => img.index.getOrElse(0) === 3)?.imageUri.getOrElse('');\r\n\t\t\tconst urlImg4 = imgUrlsStatic.find(img => img.index.getOrElse(0) === 4)?.imageUri.getOrElse('');\r\n\r\n\t\t\turlImg1 && getAzureResource(urlImg1).then(d => SetstaticFinancialImg1(d)); \r\n\t\t\turlImg2 && getAzureResource(urlImg2).then(d => SetstaticFinancialImg2(d)); \r\n\t\t\turlImg3 && getAzureResource(urlImg3).then(d => SetstaticFinancialImg3(d)); \r\n\t\t\turlImg4 && getAzureResource(urlImg4).then(d => SetstaticFinancialImg4(d)); \r\n\t\t}\r\n\t}, [staticImagesUrls]);\r\n\r\n\tuseEffect(() => {\r\n\t\tif (savedPdfUrl) {\r\n\t\t\tgetAzureResource(savedPdfUrl).then(d => {\r\n\t\t\t\tLeadApi.showSpinner$.next(false);\r\n\t\t\t\tif ((navigator.userAgent.match(/iPad/i) || navigator.userAgent.match(/iPhone/i) || navigator.userAgent.match(/Mobile/i) || navigator.userAgent.match(/iPod/i) || (navigator.userAgent.match(/Macintosh/i) && navigator.maxTouchPoints > 1))) {\r\n\t\t\t\t\tconst anchor = document.createElement('a');\r\n\t\t\t\t\tanchor.href = d;\r\n\t\t\t\t\t// anchor.target = '_blank';\r\n\t\t\t\t\tanchor.download = d.substr(d.lastIndexOf('/') + 1);\r\n\t\t\t\t\tdocument.body.appendChild(anchor);\r\n\t\t\t\t\tanchor.click();\r\n\t\t\t\t\tdocument.body.removeChild(anchor);\r\n\t\t\t\t\t// window.open(savedPdfUrl);\r\n\t\t\t\t} else {\r\n\t\t\t\t\tSetPdfUrl(d);\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\t}, [savedPdfUrl]);\r\n\r\n\tuseEffect(() => {\r\n\t\tif(applicationState) {\r\n\t\t\thandleAdvisorImage();\r\n\t\t}\r\n\t}, [applicationState]);\r\n\r\n\tconst toggleToolTip = () => {\r\n\t\tsetShowTooltip(!showTooltip);\r\n\t};\r\n\r\n\tconst advisorImage = applicationState.advisorPhoto.getOrElse('');\r\n\tconst closePdfPopup = () => {\r\n\t\tAnalysisApi.savedPdfUrl$.next(\"\");\r\n\t\tSetPdfUrl(\"\");\r\n\t};\r\n\r\n\tconst handleAdvisorImage = async () => {\r\n\t\tconst advrPhotoBase64 = getAdvisorDetails(applicationState).advisorPhoto.length ? await getBase64ImageFromUrl(getAdvisorDetails(applicationState).advisorPhoto) : null;\r\n\t\tconst path = getLogoPath(applicationState.advisorLogo);\r\n\t\tconst LogoBase64 = path ? await getBase64ImageFromUrl(path) : null;\r\n\t\tSetAdvisorPhotoBase64Img(advrPhotoBase64);\r\n\t\tSetAdvisorLogoBase64Img(LogoBase64);\r\n\t};\r\n\r\n\tconst handlePrintPageClick = async () => {\r\n\t\tLeadApi.showSpinner$.next(true);\r\n\t\tAnalysisApi.savedPdfUrl$.next(\"\");\r\n\t\t// reset base64StringArray state\r\n\t\tsetBase64StringArray([]);\r\n\t\tSetPdfUrl(\"\");\r\n\r\n\t\tlet advisorPhotoBase64: any = '';\r\n\t\tlet advisorLogoBase64: any = '';\r\n\t\t\r\n\t\tif(advisorLogoBase64Img) {\r\n\t\t\tadvisorLogoBase64 = advisorLogoBase64Img;\r\n\t\t}\r\n\t\tif(advisorPhotoBase64Img) {\r\n\t\t\tadvisorPhotoBase64 = advisorPhotoBase64Img;\r\n\t\t}\r\n\t\t\r\n\t\tconst promises = [];\r\n\t\tconst investorName = `${leadProfile.Investor.FirstName} ${leadProfile.Investor.LastName}`;\r\n\t\t// Cover Page\r\n\t\tpromises.push(getCoverPagePdfData(\r\n\t\t\tleadProfile.Investor.FirstName,\r\n\t\t\tleadProfile.Investor.LastName,\r\n\t\t\tJSON.stringify(getAdvisorDetails(applicationState)),\r\n\t\t\tadvisorPhotoBase64,\r\n\t\t\tadvisorLogoBase64\r\n\t\t));\r\n\t\t// First Page\r\n\t\tpromises.push(getFirstPagePdfData(applicationState.companyName.getOrElse(''), investorName, goalAccountDetails, selectedRiskProfilImgUrl));\r\n\t\t//Second Page\r\n\t\tpromises.push(getSecondPagePdfData(applicationState.companyName.getOrElse(''), investorName));\r\n\t\t//Third Page\r\n\t\tpromises.push(getThirdPagePdfData(applicationState.companyName.getOrElse(''), investorName));\r\n\t\t//Fourth Page\r\n\t\tpromises.push(getFourthPagePdfData(applicationState.companyName.getOrElse(''), investorName));\r\n\t\t//Fifth Page\r\n\t\tpromises.push(getFifthPagePdfData(applicationState.companyName.getOrElse(''), investorName));\r\n\t\t//SixthPage\r\n\t\tpromises.push(getSixthPagePdfData(applicationState.companyName.getOrElse(''), investorName));\r\n\r\n\t\ttry {\r\n\t\t\tconst result = await Promise.all(promises);\r\n\t\t\tresult.forEach(async (response, index) => {\r\n\t\t\t\ttry {\r\n\t\t\t\t\tconst resultBlob = new Blob([response.data], { type: 'application/pdf' });\r\n\t\t\t\tconst resultUrl = window.URL.createObjectURL(resultBlob);\r\n\t\t\t\tconst base64String = await getByteArrayStringFromBlob(resultBlob);\r\n\t\t\t\tsetBase64StringArray(current => {\r\n\t\t\t\t\tcurrent[index] = base64String;\r\n\t\t\t\t\treturn [...current];\r\n\t\t\t\t});\r\n\t\t\t\t} catch (error) {\r\n\t\t\t\t\tAnalysisApi.errorSubj$.next(new Error(\"pdf error\"));\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t} catch (error) {\r\n\t\t\tAnalysisApi.errorSubj$.next(new Error(\"save pdf error\"));\r\n\t\t}\r\n\t};\r\n\r\n\tif (!staticImagesUrls.isSuccess()) {\r\n\t\treturn ;\r\n\t}\r\n\r\n\treturn (\r\n\t\t
    \r\n\t\t\t
    \r\n\t\t\t\t

    \r\n\t\t\t\t\tWe look forward to discussing how we can help you achieve your financial goal.\r\n\t\t\t\t

    \r\n\t\t\t\t
    \r\n\t\t\t\t\t
    Your Financial Analysis
    \r\n\t\t\t\t\t
    \r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{showTooltip && (\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t
    \r\n\t\t\t\t
    \r\n\r\n\t\t\t\t
    \r\n\t\t\t\t\t\r\n\t\t\t\t\t
    \r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t{selectedRiskProfilImgUrl && (\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t
    \r\n\t\t\t\t
    \r\n\t\t\t
    \r\n\r\n\t\t\t
    \r\n\t\t\t
    \r\n\t\t\t\t
    \r\n\t\t\t\t\t\r\n\t\t\t\t
    {' '}\r\n\t\t\t\tLearn more about the importance of investing and diversification in your financial life.\r\n\t\t\t
    \r\n\r\n\t\t\t
    \r\n\t\t\t\t
    \r\n\t\t\t\t\t
    \r\n\t\t\t\t\t\t

    \r\n\t\t\t\t\t\t\tImportance of investing and diversification in your financial life.\r\n\t\t\t\t\t\t

    \r\n\t\t\t\t\t\t

    \r\n\t\t\t\t\t\t\tEquities have been the best asset class for participating in long-term economic growth, but\r\n\t\t\t\t\t\t\toccasionally deliver nerve wracking declines.\r\n\t\t\t\t\t\t

    \r\n\t\t\t\t\t
    \r\n\t\t\t\t\t
    \r\n\t\t\t\t\t\t

    US Markets

    \r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t{staticFinancialImg1 && (\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t
    \r\n\t\t\t\t
    \r\n\t\t\t\t
    \r\n\t\t\t\t\tCharts are for illustrative purposes only. Past performance is no guarantee of future results.\r\n\t\t\t\t\tInvesting involves risk, including the possible loss of principal, and there is no assurance that\r\n\t\t\t\t\tany investment strategy will be successful. One cannot invest directly in an index.Source: Zephyr\r\n\t\t\t\t\tStyle Advisor. Data as of 12/31/2022. US Equities represented by S&P 500. US Bonds represented by\r\n\t\t\t\t\tthe Bloomberg Barclays US Aggregate.\r\n\t\t\t\t
    \r\n\t\t\t
    \r\n\r\n\t\t\t
    \r\n\t\t\t\t
    \r\n\t\t\t\t\t
    \r\n\t\t\t\t\t\t

    \r\n\t\t\t\t\t\t\tWhich can shake investor’s confidence, leading them to exit the market at the worst possible\r\n\t\t\t\t\t\t\ttimes, and to remain on the sidelines.\r\n\t\t\t\t\t\t

    \r\n\t\t\t\t\t
    \r\n\t\t\t\t\t
    \r\n\t\t\t\t\t\t

    The Cycle of Emotions may impact investor decision-making

    \r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t{staticFinancialImg2 && (\r\n\t\t\t\t\t\t\t\t<>\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t
    \r\n\t\t\t\t
    \r\n\t\t\t
    \r\n\r\n\t\t\t
    \r\n\t\t\t\t
    \r\n\t\t\t\t\t
    \r\n\t\t\t\t\t\t

    \r\n\t\t\t\t\t\t\tGetting out at the wrong time-and waiting too long to return - may have damaging impacts on\r\n\t\t\t\t\t\t\treturns.\r\n\t\t\t\t\t\t

    \r\n\t\t\t\t\t
    \r\n\t\t\t\t\t
    \r\n\t\t\t\t\t\t

    Growth of $1,000,000

    \r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t{staticFinancialImg3 && (\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t
    \r\n\t\t\t\t
    \r\n\t\t\t\t
    \r\n\t\t\t\t\tCharts are for illustrative purposes only. Past performance is no guarantee of future results.\r\n\t\t\t\t\tInvesting involves risk, including the possible loss of principal, and there is no assurance that\r\n\t\t\t\t\tany investment strategy will be successful. One cannot invest directly in an index. Source: Zephyr\r\n\t\t\t\t\tStyle Advisor. Data as of 12/31/2022. Stay In – Invested in S&P 500 throughout. Get Out (-45%) –\r\n\t\t\t\t\tMoves to cash at month end after a 45% drop and waits for the market drawdown to fully recover\r\n\t\t\t\t\tbefore reinvesting.\r\n\t\t\t\t
    \r\n\t\t\t
    \r\n\r\n\t\t\t
    \r\n\t\t\t\t
    \r\n\t\t\t\t\t
    \r\n\t\t\t\t\t\t

    \r\n\t\t\t\t\t\t\tInvesting Evolved was designed to allow more equity exposure in your portfolio with updated\r\n\t\t\t\t\t\t\trisk management techniques to provide a steadier experience during times of market stress.\r\n\t\t\t\t\t\t

    \r\n\t\t\t\t\t\t

    \r\n\t\t\t\t\t\t\tCore markets provide exposure to growth in domestic\r\n\t\t\t\t\t\t\tand global economies.\r\n\t\t\t\t\t\t

    \r\n\t\t\t\t\t\t

    \r\n\t\t\t\t\t\t\tTactical strategies provide supplemental\r\n\t\t\t\t\t\t\treturns through active equity management.\r\n\t\t\t\t\t\t

    \r\n\t\t\t\t\t\t

    \r\n\t\t\t\t\t\t\tDiversifying strategies help manage equity\r\n\t\t\t\t\t\t\trisk, particularly during times of steep market declines.\r\n\t\t\t\t\t\t

    \r\n\t\t\t\t\t
    \r\n\t\t\t\t\t
    \r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t{staticFinancialImg4 && (\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t

    \r\n\t\t\t\t\t\t\tInvesting involves risk, including the possible loss of principal, and there is no assurance\r\n\t\t\t\t\t\t\tthat any investment strategy will be successful.\r\n\t\t\t\t\t\t

    \r\n\t\t\t\t\t
    \r\n\t\t\t\t
    \r\n\t\t\t
    \r\n\t\t\r\n\t\t{pdfUrl && \r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t}\r\n\t\t
    \r\n\t);\r\n};\r\n","import { withRxJs } from '../../components/hoc/with-rx';\r\nimport { RemoteDataUtils } from '@assetmark/ui-kit/dist/utils/remote-data.utils';\r\nimport { YourAnalysisComponent } from './analysis.component';\r\nimport { AnalysisApi } from '../../apis/analysis.api';\r\nimport { TLeadRiskResponse } from '../../models/lead-risk-response';\r\nimport { RiskApi } from '../../apis/risk.api';\r\nimport { TAnalysisAccountDetailResponse } from '../../models/analysis-account-details.model';\r\nimport { TAdvisorContractResponse } from '../../models/advisor-contract.model';\r\n\r\nexport const YourAnalysisContainer = withRxJs(YourAnalysisComponent)(() => {\r\n\tconst images$ = AnalysisApi.getRiskToleranceImages();\r\n\tconst imagesStatic$ = AnalysisApi.getFinancialImages();\r\n\r\n\treturn {\r\n\t\tdefaultProps: {\r\n\t\t\tleadRisk: {} as TLeadRiskResponse,\r\n\t\t\triskToleranceImages: RemoteDataUtils.initial,\r\n\t\t\tstaticImagesUrls: RemoteDataUtils.initial,\r\n\t\t\tgoalAccountDetails: {} as TAnalysisAccountDetailResponse,\r\n\t\t\tadvisorDetails: {} as TAdvisorContractResponse,\r\n\t\t\tsavedPdfUrl: \"\",\r\n\t\t\tgetGoalDetailsOnLoad: (leadStrategyId: string, agentId: string) => {\r\n AnalysisApi.getGoalDetailsForAnalysis(leadStrategyId, agentId);\r\n },\r\n\t\t\tgetAdvisorContractDetailsOnLoad: (agentId: string) => {\r\n AnalysisApi.getAdvisorContractDetails(agentId);\r\n },\r\n\t\t\tsaveLoadPdf: (leadId: string, agentId: string, pages: string[]) => {\r\n\t\t\t\tAnalysisApi.saveLeadPdf(leadId, agentId, pages);\r\n\t\t\t},\r\n\t\t},\r\n\t\tprops: {\r\n\t\t\triskToleranceImages: images$,\r\n\t\t\tstaticImagesUrls: imagesStatic$,\r\n\t\t\tadvisorDetails: AnalysisApi.advisorContractDetails$,\r\n\t\t\tleadRisk: RiskApi.getLeadRiskProfile$(),\r\n\t\t\tgoalAccountDetails: AnalysisApi.goalAccountDetails$,\r\n\t\t\tsavedPdfUrl: AnalysisApi.savedPdfUrl$\r\n\t\t},\r\n\t};\r\n});\r\n","import { AppApi } from '../../apis/app.api';\r\nimport { LeadApi } from '../../apis/lead.api';\r\nimport { withRxJs } from '../../components/hoc/with-rx';\r\nimport SpinnerComponent from './spinner.component';\r\n\r\nconst SpinnerContainer = withRxJs(SpinnerComponent)(() => {\r\n\treturn {\r\n\t\tdefaultProps: { show: false },\r\n\t\tprops: { show: LeadApi.showSpinner$, },\r\n\t};\r\n});\r\n\r\nexport default SpinnerContainer;","import * as React from 'react';\r\nimport FullPageLoader from '../../components/common/full-page-loader/fullPageLoader';\r\n\r\ntype TSpinnerProps = {\r\n\tshow: boolean;\r\n}\r\n\r\nconst SpinnerComponent: React.FC = ({ show }) => {\r\n if(show) {\r\n return ;\r\n } else {\r\n\t return
    ;\r\n }\r\n};\r\n\r\nexport default SpinnerComponent;","import React, { useEffect, useState } from 'react';\r\nimport { Route, RouteComponentProps, Switch, useHistory, useRouteMatch } from 'react-router-dom';\r\nimport { useApp } from '../../contexts/app/app.context';\r\nimport { FooterComponent } from '../../components/common/footer/footer.component';\r\nimport { Option } from 'fp-ts/lib/Option';\r\nimport { TUser } from '../../models/user.model';\r\nimport { GetStartedContainer } from '../get-started/get-started.container';\r\nimport AboutYouContainer from '../../components/aboutyou/aboutyou.container';\r\nimport { RemoteData } from '@assetmark/ui-kit/dist/utils/remote-data.utils';\r\nimport { TApplicationState } from '../../models/application-state';\r\nimport { useLead } from '../../contexts/lead/lead.context';\r\nimport { useGoal } from '../../contexts/goal/goal.context';\r\nimport { TLeadStrategyInfoResponse } from '../../models/lead-strategy-info-response';\r\nimport { convertLastPageToRedirectRoute, parseGoalTypeEnum } from '../../helpers/model.helper';\r\nimport GoalsContainer from '../goals/goals.container';\r\nimport { TLeadGoalsResponse } from '../../models/goals-info-response';\r\nimport { TAddUpdateLeadGoal } from '../../models/add-update-lead-goal';\r\nimport { ErrorPage } from '../errorPage/errorPage.component';\r\nimport { LeadApi } from '../../apis/lead.api';\r\nimport { LeadCategory } from '../../models/lead-category-enum';\r\nimport { RiskProfileContainer } from '../risk-profile/risk-profile.container';\r\nimport MenuBarContainer from '../../components/common/menuBar/menuBar.container';\r\nimport { YourAnalysisContainer } from '../../modules/analysis/analysis.container';\r\nimport { clearLocalData } from '../../helpers/storage.helper';\r\nimport FullPageLoader from '../../components/common/full-page-loader/fullPageLoader';\r\nimport SpinnerContainer from '../spinner/spinner.container';\r\n// import { Theme } from '@assetmark/ui-kit/dist/components/theme/theme.component';\r\n\r\nexport type TAppProps = {\r\n\tisApiError: boolean;\r\n\tuser: Option;\r\n\tapplicationState: RemoteData;\r\n\tredirectToPage: string;\r\n\tsavedLeadStrategiesData: RemoteData;\r\n\tsavedGoalsData: () => void;\r\n\tsavedLeadGoalsData: RemoteData;\r\n} & RouteComponentProps;\r\n\r\nconst App: React.FC = ({ isApiError, user, applicationState, redirectToPage, savedLeadStrategiesData, savedGoalsData, savedLeadGoalsData }) => {\r\n\tconst history = useHistory();\r\n\tconst { isAppLoaded, loadUser, loadApplicationState, showSpinner, setShowSpinner } = useApp();\r\n\tconst { leadProfile, updateAboutYouState } = useLead();\r\n\tconst { updateGoalData } = useGoal();\r\n\tconst [isActive, setActive] = useState(null);\r\n\t\r\n\tuseEffect(() => {\r\n\t\tuser.map(user => {\r\n\t\t\tloadUser(user);\r\n\t\t\tsetActive(user.roles[0].isActive.getOrElse(false));\r\n\t\t});\r\n\t}, [user]);\r\n\r\n\tuseEffect(() => {\r\n\t\tapplicationState.isSuccess() && loadApplicationState(applicationState.value);\r\n\t}, [applicationState]);\r\n\r\n\tuseEffect(() => {\r\n\t\tif (savedLeadGoalsData.isSuccess()) {\r\n\t\t\tupdateGoalData(savedLeadGoalsData.value);\r\n\t\t} else {\r\n\t\t\t// console.log('Start fresh goal journey.');\r\n\t\t}\r\n\t},[savedLeadGoalsData]);\r\n\r\n\tuseEffect(() => {\r\n\t\tconsole.log(`savedLeadStrategiesData: `, savedLeadStrategiesData);\r\n\t\t// if leadid present in localstorage then fetch saved data from api and route user to last visited page\r\n\t\tif (savedLeadStrategiesData.isSuccess()) {\r\n\t\t\tupdateAboutYouState(savedLeadStrategiesData.value);\r\n\t\t\t// redirect to last page visited.\r\n\t\t\tsavedLeadStrategiesData.value.lastPageVisited.fold(history.push(`/start/about`), lastPage => {\r\n\t\t\t\tif (lastPage.toLowerCase() === LeadCategory.ClientProfile.toLowerCase()) {\r\n\t\t\t\t\thistory.push(`/start/about`);\r\n\t\t\t\t} else if (lastPage.toLowerCase() === LeadCategory.SetGoal.toLowerCase()) {\r\n\t\t\t\t\tconst goalType = savedLeadStrategiesData.value.goalType\r\n\t\t\t\t\t\t.map(goalType => parseGoalTypeEnum(`${goalType}`))\r\n\t\t\t\t\t\t.getOrElse('0');\r\n\t\t\t\t\tif (goalType === '3') {\r\n\t\t\t\t\t\thistory.push(`/start/goals/investment_target`);\r\n\t\t\t\t\t} else if (goalType === '2') {\r\n\t\t\t\t\t\thistory.push(`/start/goals/retirement_age`);\r\n\t\t\t\t\t} else if (goalType === '1') {\r\n\t\t\t\t\t\thistory.push(`/start/risk-profile/investment_return`);\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\thistory.push(`/start/about`);\r\n\t\t\t\t\t}\r\n\t\t\t\t} else if (lastPage.toLowerCase() === LeadCategory.RiskProfile.toLowerCase()) {\r\n\t\t\t\t\thistory.push(`/start/risk-profile/investment_return`);\r\n\t\t\t\t} else if (lastPage.toLowerCase() === LeadCategory.YourAnalysis.toLowerCase()) {\r\n\t\t\t\t\thistory.push(`/start/your-analysis`);\r\n\t\t\t\t} else {\r\n\t\t\t\t\thistory.push(`/start/about`);\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t} else if (savedLeadStrategiesData.isFailure()) {\r\n\t\t\t// clean local storage data and move to get started page\r\n\t\t\tclearLocalData();\r\n\t\t\thistory.push(`/`); \r\n\t\t} else {\r\n\t\t\t// console.log('Start fresh lead journey.');\r\n\t\t\t//clearLocalData();\r\n\t\t\thistory.push(`/`); // send back to get started page\r\n\t\t}\r\n\t}, [savedLeadStrategiesData]);\r\n\r\n\tuseEffect(() => {\r\n\t\tif(redirectToPage) {\r\n\t\t\thistory.push(`/start/${redirectToPage}`);\r\n\t\t}\r\n\t}, [redirectToPage]);\r\n\r\n\tif(isApiError) {\r\n\t\t//setShowSpinner(false);\r\n\t\treturn ;\r\n\t}\r\n\r\n\tif (!isAppLoaded && isActive === null) {\r\n\t\treturn ;\r\n\t}\r\n\r\n\tif (!isActive) {\r\n\t\treturn ;\r\n\t}\r\n\treturn (\r\n\t\t<>\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t);\r\n};\r\n\r\nfunction Start() {\r\n\tconst { path } = useRouteMatch();\r\n\tuseEffect(() => { // handle browser back event here.\r\n\t\tconst onBackButtonEvent = (e: any) => {\r\n\t\t\te.preventDefault();\r\n\t\t\tif(window.location.pathname.includes('about')) {\r\n\t\t\t\tLeadApi.redirectToPage$.next(\"about\");\r\n\t\t\t}\r\n\t\t\tif(window.location.pathname.includes('goals/retirement_age')) {\r\n\t\t\t\tLeadApi.redirectToPage$.next(\"goals/retirement_age\");\r\n\t\t\t}\r\n\t\t\tif(window.location.pathname.includes('goals/monthly_income')) {\r\n\t\t\t\tLeadApi.redirectToPage$.next(\"goals/monthly_income\");\r\n\t\t\t}\r\n\t\t\tif(window.location.pathname.includes('goals/retirement_income')) {\r\n\t\t\t\tLeadApi.redirectToPage$.next(\"goals/retirement_income\");\r\n\t\t\t}\r\n\t\t\tif(window.location.pathname.includes('goals/annual_contribution')) {\r\n\t\t\t\tLeadApi.redirectToPage$.next(\"goals/annual_contribution\");\r\n\t\t\t}\r\n\t\t\tif(window.location.pathname.includes('goals/investment_target')) {\r\n\t\t\t\tLeadApi.redirectToPage$.next(\"goals/investment_target\");\r\n\t\t\t}\r\n\t\t\tif(window.location.pathname.includes('risk-profile/investment_return')) {\r\n\t\t\t\tLeadApi.redirectToPage$.next(\"risk-profile/investment_return\");\r\n\t\t\t}\r\n\t\t\tif(window.location.pathname.includes('risk-profile/maximum_decline')) {\r\n\t\t\t\tLeadApi.redirectToPage$.next(\"risk-profile/maximum_decline\");\r\n\t\t\t}\r\n\t\t\tif(window.location.pathname.includes('risk-profile/stock_market')) {\r\n\t\t\t\tLeadApi.redirectToPage$.next(\"risk-profile/stock_market\");\r\n\t\t\t}\r\n\t\t\tif(window.location.pathname.includes('risk-profile/age_range')) {\r\n\t\t\t\tLeadApi.redirectToPage$.next(\"risk-profile/age_range\");\r\n\t\t\t}\r\n\t\t\tif(window.location.pathname.includes('risk-profile/planned_withdrawal')) {\r\n\t\t\t\tLeadApi.redirectToPage$.next(\"risk-profile/planned_withdrawal\");\r\n\t\t\t}\r\n\t\t\tif(window.location.pathname.includes('your-analysis')) {\r\n\t\t\t\tLeadApi.redirectToPage$.next(\"your-analysis\");\r\n\t\t\t}\r\n\t\t};\r\n\t\t// window.history.pushState(null, null, window.location.pathname);\r\n\t\twindow.addEventListener('popstate', onBackButtonEvent, false);\r\n\t\treturn () => {\r\n\t\t window.removeEventListener('popstate', onBackButtonEvent); \r\n\t\t};\r\n\t }, []);\r\n\r\n\treturn (\r\n\t\t
    \r\n\t\t\t\r\n\t\t\t
    \r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t{/* (\r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t)}/> */}\r\n\t\t\t\t\t\r\n\t\t\t\t
    \r\n\t\t\t\t\r\n\t\t\t
    \r\n\t\t\t\r\n\t\t
    \r\n\t);\r\n}\r\nexport default App;\r\n","import { Observable } from 'rxjs/Observable';\r\nimport { AjaxRequest } from 'rxjs/observable/dom/AjaxObservable';\r\n//@ts-ignore\r\nimport * as models from '../model/models';\r\nimport { RemoteData } from '@assetmark/ui-kit/dist/utils/remote-data.utils';\r\nimport { ObjectUtils } from '@assetmark/ui-kit/dist/utils/object.utils';\r\n\r\nimport { UserApiClient as ApiClient } from '../../apis/api.client';\r\n//import isNotNullable = ObjectUtils.isNotNullable;\r\n\r\ntype TQueryParam = {\r\n\tkey: string;\r\n\tvalue: string | string[] | boolean | number | Date | undefined;\r\n};\r\n\r\n// eslint-disable-next-line @typescript-eslint/no-namespace\r\nexport namespace UserService {\r\n\t/**\r\n\t *\r\n\t * @summary Get token by sessionid\r\n\t * @param apiVersion - The requested API version\r\n\t */\r\n\texport function apiUserV1Get(apiVersion: string): Observable> {\r\n\t\tconst path = '/api/user/v1'.replace(/^\\//, '').replace('{api-version}', String(apiVersion));\r\n\t\tconst allQueryParams: TQueryParam[] = [];\r\n\t\tconst queryParams = allQueryParams\r\n\t\t\t.filter(param => ObjectUtils.isNotNullable(param.value))\r\n\t\t\t.map(param => `${param.key}=${param.value}`)\r\n\t\t\t.join('&');\r\n\t\tconst url = queryParams === '' ? path : path.concat(`?${queryParams}`);\r\n\t\tconst ajaxRequest: AjaxRequest = {\r\n\t\t\turl,\r\n\t\t\tmethod: 'GET',\r\n\t\t};\r\n\t\treturn ApiClient.request(ajaxRequest);\r\n\t}\r\n}\r\n","import { LiveData } from '@assetmark/ui-kit/dist/utils/live-data.utils';\r\nimport { ArrayUtils } from '@assetmark/ui-kit/dist/utils/array.utils';\r\nimport { ObjectUtils } from '@assetmark/ui-kit/dist/utils/object.utils';\r\nimport { RemoteDataUtils } from '@assetmark/ui-kit/dist/utils/remote-data.utils';\r\nimport memoize from '@devexperts/utils/dist/function/memoize';\r\nimport { rights } from 'fp-ts/lib/Array';\r\nimport { Either, left, right } from 'fp-ts/lib/Either';\r\nimport { fromNullable } from 'fp-ts/lib/Option';\r\nimport { API_VERSION } from '../constants/api.constant';\r\nimport { UserService } from '../lib/user-api/user.service';\r\nimport { TRole, TUser } from '../models/user.model';\r\nimport { User } from '../lib/model/User';\r\nimport { Role } from '../lib/model/Role';\r\n\r\nexport namespace UserApi {\r\n\texport const getUser = memoize(\r\n\t\t(): LiveData =>\r\n\t\t\tUserService.apiUserV1Get(API_VERSION)\r\n\t\t\t\t.chainRD(value => RemoteDataUtils.fromEither(parseUser(value)))\r\n\t\t\t\t.shareReplay(1),\r\n\t);\r\n}\r\n\r\nconst parseUser = (user: User): Either => {\r\n\tif (!ObjectUtils.isNotNullable(user)) {\r\n\t\treturn left(new Error('User is not found: '));\r\n\t}\r\n\r\n\treturn right({\r\n\t\tdefaultRole: fromNullable(user.defaultRole),\r\n\t\tisImpersonated: fromNullable(user.isImpersonated),\r\n\t\troles: ObjectUtils.isNotNullable(user.roles) ? rights(user.roles.map(parseRole)) : ArrayUtils.empty,\r\n\t\tuserID: fromNullable(user.userID),\r\n\t\tfirstName: fromNullable(user.firstName),\r\n\t\tlastName: fromNullable(user.lastName),\r\n\t\tmiddleName: fromNullable(user.middleName),\r\n\t\tpreferredName: fromNullable(user.preferredName),\r\n\t});\r\n};\r\n\r\nconst parseRole = (role: Role): Either => {\r\n\tif (!ObjectUtils.isNotNullable(role)) {\r\n\t\treturn left(new Error('Role is not found: '));\r\n\t}\r\n\r\n\treturn right({\r\n\t\taplId: fromNullable(role.aplId),\r\n\t\troleName: fromNullable(role.roleName),\r\n\t\troleType: fromNullable(role.roleType),\r\n\t\tchannelType: fromNullable(role.channelType),\r\n\t\tsiebelId: fromNullable(role.siebelId),\r\n\t\tisActive: fromNullable(role.isActive),\r\n\t\tpcStatus: fromNullable(role.pcStatus),\r\n\t});\r\n};\r\n","export const API_VERSION = '1.0';\r\n","import React from 'react';\r\nimport App from './app.component';\r\nimport { withRouter, Router } from 'react-router';\r\nimport { withRxJs } from '../../components/hoc/with-rx';\r\nimport { History } from 'history';\r\nimport { UserApi } from '../../apis/user.api';\r\nimport { none } from 'fp-ts/lib/Option';\r\nimport { LeadApi } from '../../apis/lead.api';\r\nimport { AppApi } from '../../apis/app.api';\r\nimport { merge, of } from 'rxjs';\r\nimport { RemoteDataUtils } from '@assetmark/ui-kit/dist/utils/remote-data.utils';\r\nimport { apiClientsErrors$ } from '../../apis/api.client';\r\nimport { AMPError } from '@assetmark/ui-kit/dist/utils/errors';\r\nimport { AjaxError } from 'rxjs-compat/observable/dom/AjaxObservable';\r\nimport { AnalysisApi } from '../../apis/analysis.api';\r\n\r\nconst AppRxContainer = withRxJs(App)(() => {\r\n\tconst sync$ = merge(AppApi.sync$, LeadApi.sync$).subscribe();\r\n\tconst applicationState$ = AppApi.appStateData$;\r\n\tconst user$ = AppApi.isAuthCallComplete$.switchMap(isAuth => {\r\n\t\tif (isAuth) {\r\n\t\treturn UserApi.getUser()\r\n\t\t\t.map(value => value.toOption())\r\n\t\t\t.do(user => user.map(u => AppApi.advisorId$.next(u.roles[0].aplId.getOrElse(''))));\r\n\t\t} else {\r\n\t\t\treturn of(none);\r\n\t\t}\r\n\t});\r\n\r\n\tconst isApiError$ = merge(apiClientsErrors$, AnalysisApi.errorSubj$)\r\n\t\t.do(err => console.log('apiClientsErrors$ :>> ', err))\r\n\t\t//.filter((err: AMPError): err is AjaxError => err instanceof AjaxError)\r\n\t\t//.filter((err: AjaxError) => err.status === 401 || err.status === 403)\r\n\t\t.mapTo(true)\r\n\t\t.startWith(false)\r\n\t\t.shareReplay(1);\r\n\r\n\treturn {\r\n\t\tdefaultProps: {\r\n\t\t\tisApiError: false,\r\n\t\t\tuser: none,\r\n\t\t\tapplicationState: RemoteDataUtils.initial,\r\n\t\t\tredirectToPage: '',\r\n\t\t\tsavedLeadStrategiesData: RemoteDataUtils.initial,\r\n\t\t\tsavedLeadGoalsData : RemoteDataUtils.initial,\r\n\t\t\tsavedGoalsData: () => {\r\n\t\t\t\t//AppApi.getSavedGoalsData();\r\n\t\t\t}\r\n\t\t},\r\n\t\tprops: {\r\n\t\t\tisApiError: isApiError$,\r\n\t\t\tuser: user$,\r\n\t\t\tapplicationState: applicationState$,\r\n\t\t\tredirectToPage: AppApi.getNextPageToRedirect$(), // this observable give the next page tobe redirected.\r\n\t\t\tsavedLeadStrategiesData: AppApi.getSavedLeadStrategiesData$(),\r\n\t\t\tsavedLeadGoalsData: AppApi.getGoalsData$(),\r\n\t\t},\r\n\t};\r\n});\r\n\r\nconst AppWithRouter = withRouter(AppRxContainer);\r\n\r\nexport type TAppContainerProps = {\r\n\thistory: History;\r\n};\r\n\r\nexport const AppContainer: React.FC = ({ history }) => (\r\n\t\r\n\t\t\r\n\t\r\n);\r\n","import React from 'react';\r\nimport ReactDOM from 'react-dom';\r\nimport './index.css';\r\nimport { history } from './history';\r\nimport reportWebVitals from './reportWebVitals';\r\nimport { AppContainer } from './modules/app/app.container';\r\nimport { AppContextProvider } from './contexts/app/app.context';\r\nimport { LeadContextProvider } from './contexts/lead/lead.context';\r\nimport { GoalContextProvider } from './contexts/goal/goal.context';\r\nimport { RiskContextProvider } from './contexts/risk/risk.context';\r\nimport { AppApi } from './apis/app.api';\r\nimport { LocalStorageUtils } from '@assetmark/ui-kit/dist/utils/local-storage.utils';\r\nimport { EXTERNAL_USER_ID } from './constants/storage.constant';\r\nimport { ErrorPage } from './modules/errorPage/errorPage.component';\r\nimport { clearLocalData } from './helpers/storage.helper';\r\n\r\nconst params = new URLSearchParams(document.location.search.substring(1));\r\nconst externalUserId = params.get('id');\r\n\r\nconst requestOptions = {\r\n\tmethod: 'POST',\r\n\theaders: { 'Content-Type': 'application/json' } \r\n};\r\n\r\nconst Main = () => \t\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t;\r\n\r\nconst root = document.getElementById('root');\r\n\r\nconst render = (externalUserId: string | null) => {\r\n\t//let container =
    initial loading
    ;\r\n\tconst previouslySavedUserId = LocalStorageUtils.getItem(EXTERNAL_USER_ID);\r\n\tif (externalUserId) {\r\n\t\tfetch(`/public/wb/auth/${externalUserId}`, requestOptions)\r\n\t\t\t//.then(res => res.json())\r\n\t\t\t.then(data => {\r\n\t\t\t\tconsole.log(`Response From Public/WB/Auth: `, data);\r\n\t\t\t\tif (data.status === 200) {\r\n\t\t\t\t\tif (previouslySavedUserId.isSome()) {\r\n\t\t\t\t\t\t// check if curremtUserId and savedUserId are not same then clear the local storage\r\n\t\t\t\t\t\tif(previouslySavedUserId.getOrElse(\"\") !== externalUserId) {\r\n\t\t\t\t\t\t\tclearLocalData();\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\tAppApi.isAuthCallComplete$.next(true);\r\n\t\t\t\t\tLocalStorageUtils.setItem(EXTERNAL_USER_ID)(externalUserId);\r\n\t\t\t\t\tReactDOM.render(
    , root);\r\n\t\t\t\t} else {\r\n\t\t\t\t\t// show error page if externalUserId is not valid\r\n\t\t\t\t\tif (process.env.NODE_ENV !== 'production') {\r\n\t\t\t\t\t\t// this check is only for local development mode.\r\n\t\t\t\t\t\tReactDOM.render(
    , root);\r\n\t\t\t\t\t\tAppApi.isAuthCallComplete$.next(true);\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tReactDOM.render(, root);\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t\t.catch(err => {\r\n\t\t\t\tconsole.log(`Error From Public/WB/Auth:`, err);\r\n\t\t\t\tif (process.env.NODE_ENV !== 'production') {\r\n\t\t\t\t\t// this check is only for local development mode.\r\n\t\t\t\t\tReactDOM.render(
    , root);\r\n\t\t\t\t\tAppApi.isAuthCallComplete$.next(true);\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t} else {\r\n\t\tif (previouslySavedUserId.isSome()) {\r\n\t\t\tAppApi.isAuthCallComplete$.next(true);\r\n\t\t\tReactDOM.render(
    , root);\r\n\t\t}\r\n\t}\r\n};\r\n\r\nif (process.env.NODE_ENV !== 'production') {\r\n\trender(\"abc\");\r\n} else {\r\n\trender(externalUserId);\r\n}\r\n\r\n// If you want to start measuring performance in your app, pass a function\r\n// to log results (for example: reportWebVitals(console.log))\r\n// or send to an analytics endpoint. Learn more: https://bit.ly/CRA-vitals\r\nreportWebVitals();\r\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"rowFlex\":\"sidebar_rowFlex__2McVq\",\"sideMenu\":\"sidebar_sideMenu__1XAtV\",\"noactive\":\"sidebar_noactive__2jQQB\",\"active\":\"sidebar_active__2r26D\",\"tabText\":\"sidebar_tabText__1WFt5\",\"info\":\"sidebar_info__1zd2S\",\"sideMenuNavBar\":\"sidebar_sideMenuNavBar__21nZZ\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"tooltip\":\"tooltip_tooltip__2oiF3\",\"tooltiptext\":\"tooltip_tooltiptext__2DRCl\",\"tooltipBody\":\"tooltip_tooltipBody__1KKsz\",\"tooltipImg\":\"tooltip_tooltipImg__jdFJc\",\"userImg\":\"tooltip_userImg__2_8fa\",\"user\":\"tooltip_user__3OCgf\",\"closeTooltip\":\"tooltip_closeTooltip__1RjLf\",\"userName\":\"tooltip_userName__3mCtA\",\"userDeg\":\"tooltip_userDeg__jOtMd\",\"userPhone\":\"tooltip_userPhone__G_zuV\",\"userEmail\":\"tooltip_userEmail__1LFPW\",\"callImg\":\"tooltip_callImg__2q-rD\",\"msgImg\":\"tooltip_msgImg__1-ucx\",\"pb12\":\"tooltip_pb12__3OA2B\",\"lastImgContainer\":\"tooltip_lastImgContainer__238Lc\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"overlayFixed\":\"modal_overlayFixed__38U9p\",\"overlayFlex\":\"modal_overlayFlex__1M1Ne\",\"overlayFixedInset\":\"modal_overlayFixedInset__9lrMo\",\"overlayBg\":\"modal_overlayBg__1JPl1\",\"fontRoboto\":\"modal_fontRoboto__2v9n-\",\"overlayBgBlue\":\"modal_overlayBgBlue__3s_Lj\",\"overlayTitle\":\"modal_overlayTitle__vPgZJ\",\"overlayBody\":\"modal_overlayBody__1ZEeU\",\"overlayBodyText\":\"modal_overlayBodyText__lQmCM\",\"closeBtn\":\"modal_closeBtn__39Hue\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"colFlex\":\"goals_colFlex__1CxLu\",\"aboutYouContainer\":\"goals_aboutYouContainer__7-y6C\",\"sidebar\":\"goals_sidebar__1olWK\",\"flexBox\":\"goals_flexBox__M1lqZ\",\"tooltipLink\":\"goals_tooltipLink__Lg9S0\",\"linkTextAnchor\":\"goals_linkTextAnchor__2G3vt\",\"responsiveFlexBox\":\"goals_responsiveFlexBox__6jauP\",\"responsiveToolTip\":\"goals_responsiveToolTip__3OFxw\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"rowFlex\":\"sidebar_rowFlex__UgNRO\",\"sideMenu\":\"sidebar_sideMenu__1jJJO\",\"noactive\":\"sidebar_noactive__1OsLV\",\"active\":\"sidebar_active__1FJR4\",\"tabText\":\"sidebar_tabText__6sYnS\",\"info\":\"sidebar_info__1vXdD\",\"sideMenuNavBar\":\"sidebar_sideMenuNavBar__1jDBG\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"overlayFixed\":\"pdf-modal_overlayFixed__3jABq\",\"overlayFlex\":\"pdf-modal_overlayFlex__2SBJ2\",\"overlayBg\":\"pdf-modal_overlayBg__2kzVT\",\"fontRoboto\":\"pdf-modal_fontRoboto__3ivtI\",\"overlayBody\":\"pdf-modal_overlayBody__c_4R4\",\"overlayBodyText\":\"pdf-modal_overlayBodyText__1DI26\",\"closeBtn\":\"pdf-modal_closeBtn__2Ogf6\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"errorContainer\":\"errorPage_errorContainer__2esxu\",\"errorBlock\":\"errorPage_errorBlock__15ir6\",\"errorHeader\":\"errorPage_errorHeader__14POr\",\"errorIcon\":\"errorPage_errorIcon__2cQr9\",\"title\":\"errorPage_title__8c361\",\"errorBody\":\"errorPage_errorBody__3pZZd\",\"backButton\":\"errorPage_backButton__1zZ7h\",\"footerStyle\":\"errorPage_footerStyle__QHfYE\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"analysisContainer\":\"analysis_analysisContainer__1-03U\",\"colFlex\":\"analysis_colFlex__1I7Bf\",\"sidebar\":\"analysis_sidebar__1AWjq\",\"flexBox\":\"analysis_flexBox__3FOBB\",\"container\":\"analysis_container__3LU0U\",\"loading\":\"analysis_loading__Ben-3\",\"goalText\":\"analysis_goalText__1Ivth\",\"contactPanel\":\"analysis_contactPanel__qxW98\",\"panelTitle\":\"analysis_panelTitle__3oL-U\",\"details\":\"analysis_details__3P6kl\",\"rightPane\":\"analysis_rightPane__1Aycz\",\"riskProfileImgContainer\":\"analysis_riskProfileImgContainer__28_e5\",\"riskProfileImg\":\"analysis_riskProfileImg__rrXI8\",\"btnContainer\":\"analysis_btnContainer__33R73\",\"printPageBtn\":\"analysis_printPageBtn__1jQqF\",\"contectMeBtn\":\"analysis_contectMeBtn__3Jd0Q\",\"financeImportanceContainer\":\"analysis_financeImportanceContainer__xty8_\",\"paddingContainer\":\"analysis_paddingContainer__3jmV0\",\"message\":\"analysis_message__3FXeV\",\"messageCycle\":\"analysis_messageCycle__3RSMP\",\"mainMsg\":\"analysis_mainMsg__32LU5\",\"secondMsg\":\"analysis_secondMsg__38k-y\",\"secondColorCOde\":\"analysis_secondColorCOde__3vyZN\",\"paraText\":\"analysis_paraText__swbDc\",\"blueText\":\"analysis_blueText__45HaN\",\"lightGrayText\":\"analysis_lightGrayText__3JHEr\",\"lightGreenText\":\"analysis_lightGreenText__1jkqA\",\"imgTitle\":\"analysis_imgTitle__Lc3LP\",\"imgTitle1\":\"analysis_imgTitle1__XtLEY\",\"illusMsg\":\"analysis_illusMsg__3P1iu\",\"illusMsg1\":\"analysis_illusMsg1__1FWcf\",\"lightBlue\":\"analysis_lightBlue__2wr88\",\"blueBorder\":\"analysis_blueBorder__MyAvK\",\"learnMoreBox\":\"analysis_learnMoreBox__3Q6mm\",\"arrowCircle\":\"analysis_arrowCircle__35jPA\",\"imgContainer\":\"analysis_imgContainer__1M8t6\",\"staticImgBox\":\"analysis_staticImgBox__3BvtZ\",\"lstImgBox\":\"analysis_lstImgBox__2MlNY\",\"growtImgBox\":\"analysis_growtImgBox__nOoED\",\"staticImgBox1\":\"analysis_staticImgBox1__1ORI2\",\"imgText\":\"analysis_imgText__1y_eo\",\"imgDesc\":\"analysis_imgDesc__3zHBS\",\"tooltip\":\"analysis_tooltip__2xdcS\",\"pb12\":\"analysis_pb12__Oo38o\",\"lastImgContainer\":\"analysis_lastImgContainer__2zAmN\",\"pdfStyle\":\"analysis_pdfStyle__1tOGT\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"tooltipBox\":\"tooltip_tooltipBox__3-1Eo\",\"tooltipHeading\":\"tooltip_tooltipHeading__1OfzK\",\"text\":\"tooltip_text__7JR6N\",\"tooltipText\":\"tooltip_tooltipText__31IYY\",\"tipImg\":\"tooltip_tipImg__1BAjy\",\"tooltip-link\":\"tooltip_tooltip-link__17KjH\",\"tooltipLink\":\"tooltip_tooltipLink__2HGXC\"};"],"sourceRoot":""}