| 
						
						
							
								
							
						
						
					 | 
				
				 | 
				
					@ -33,7 +33,6 @@ import { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					} from '@ghostfolio/common/calculation-helper'; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					import { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					  DEFAULT_CURRENCY, | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					  DEFAULT_LANGUAGE_CODE, | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					  TAG_ID_EMERGENCY_FUND, | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					  TAG_ID_EXCLUDE_FROM_ANALYSIS, | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					  UNKNOWN_KEY | 
				
			
			
		
	
	
		
			
				
					| 
						
							
								
							
						
						
							
								
							
						
						
					 | 
				
				 | 
				
					@ -1235,26 +1234,66 @@ export class PortfolioService { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    const categories: PortfolioReportResponse['xRay']['categories'] = [ | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					      { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        key: 'accountClusterRisk', | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        key: 'liquidity', | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        name: this.i18nService.getTranslation({ | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					          id: 'rule.accountClusterRisk.category', | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					          languageCode: userSettings.language || DEFAULT_LANGUAGE_CODE | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					          id: 'rule.liquidity.category', | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					          languageCode: userSettings.language | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        }), | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        rules: await this.rulesService.evaluate( | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					          [ | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            new BuyingPower( | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					              this.exchangeRateDataService, | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					              this.i18nService, | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					              summary.cash, | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					              userSettings.language | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            ) | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					          ], | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					          userSettings | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        ) | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					      }, | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					      { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        key: 'emergencyFund', | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        name: this.i18nService.getTranslation({ | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					          id: 'rule.emergencyFund.category', | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					          languageCode: userSettings.language | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        }), | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        rules: await this.rulesService.evaluate( | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					          [ | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            new EmergencyFundSetup( | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					              this.exchangeRateDataService, | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					              this.i18nService, | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					              userSettings.language, | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					              this.getTotalEmergencyFund({ | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                userSettings, | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                emergencyFundHoldingsValueInBaseCurrency: | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                  this.getEmergencyFundHoldingsValueInBaseCurrency({ holdings }) | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					              }).toNumber() | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            ) | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					          ], | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					          userSettings | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        ) | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					      }, | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					      { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        key: 'currencyClusterRisk', | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        name: this.i18nService.getTranslation({ | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					          id: 'rule.currencyClusterRisk.category', | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					          languageCode: userSettings.language | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        }), | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        rules: | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					          summary.activityCount > 0 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            ? await this.rulesService.evaluate( | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                [ | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                  new AccountClusterRiskCurrentInvestment( | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                  new CurrencyClusterRiskBaseCurrencyCurrentInvestment( | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                    this.exchangeRateDataService, | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                    this.i18nService, | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                    userSettings.language, | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                    accounts | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                    Object.values(holdings), | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                    userSettings.language | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                  ), | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                  new AccountClusterRiskSingleAccount( | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                  new CurrencyClusterRiskCurrentInvestment( | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                    this.exchangeRateDataService, | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                    this.i18nService, | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                    userSettings.language, | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                    accounts | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                    Object.values(holdings), | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                    userSettings.language | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                  ) | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                ], | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                userSettings | 
				
			
			
		
	
	
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
				
				 | 
				
					@ -1265,7 +1304,7 @@ export class PortfolioService { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        key: 'assetClassClusterRisk', | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        name: this.i18nService.getTranslation({ | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					          id: 'rule.assetClassClusterRisk.category', | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					          languageCode: userSettings.language || DEFAULT_LANGUAGE_CODE | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					          languageCode: userSettings.language | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        }), | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        rules: | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					          summary.activityCount > 0 | 
				
			
			
		
	
	
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
				
				 | 
				
					@ -1289,26 +1328,26 @@ export class PortfolioService { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            : undefined | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					      }, | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					      { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        key: 'currencyClusterRisk', | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        key: 'accountClusterRisk', | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        name: this.i18nService.getTranslation({ | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					          id: 'rule.currencyClusterRisk.category', | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					          languageCode: userSettings.language || DEFAULT_LANGUAGE_CODE | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					          id: 'rule.accountClusterRisk.category', | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					          languageCode: userSettings.language | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        }), | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        rules: | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					          summary.activityCount > 0 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            ? await this.rulesService.evaluate( | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                [ | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                  new CurrencyClusterRiskBaseCurrencyCurrentInvestment( | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                  new AccountClusterRiskCurrentInvestment( | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                    this.exchangeRateDataService, | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                    this.i18nService, | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                    Object.values(holdings), | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                    userSettings.language | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                    userSettings.language, | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                    accounts | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                  ), | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                  new CurrencyClusterRiskCurrentInvestment( | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                  new AccountClusterRiskSingleAccount( | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                    this.exchangeRateDataService, | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                    this.i18nService, | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                    Object.values(holdings), | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                    userSettings.language | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                    userSettings.language, | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                    accounts | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                  ) | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                ], | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                userSettings | 
				
			
			
		
	
	
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
				
				 | 
				
					@ -1319,7 +1358,7 @@ export class PortfolioService { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        key: 'economicMarketClusterRisk', | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        name: this.i18nService.getTranslation({ | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					          id: 'rule.economicMarketClusterRisk.category', | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					          languageCode: userSettings.language || DEFAULT_LANGUAGE_CODE | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					          languageCode: userSettings.language | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        }), | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        rules: | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					          summary.activityCount > 0 | 
				
			
			
		
	
	
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
				
				 | 
				
					@ -1344,70 +1383,11 @@ export class PortfolioService { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					              ) | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            : undefined | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					      }, | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					      { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        key: 'emergencyFund', | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        name: this.i18nService.getTranslation({ | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					          id: 'rule.emergencyFund.category', | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					          languageCode: userSettings.language || DEFAULT_LANGUAGE_CODE | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        }), | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        rules: await this.rulesService.evaluate( | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					          [ | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            new EmergencyFundSetup( | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					              this.exchangeRateDataService, | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					              this.i18nService, | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					              userSettings.language, | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					              this.getTotalEmergencyFund({ | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                userSettings, | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                emergencyFundHoldingsValueInBaseCurrency: | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                  this.getEmergencyFundHoldingsValueInBaseCurrency({ holdings }) | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					              }).toNumber() | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            ) | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					          ], | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					          userSettings | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        ) | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					      }, | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					      { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        key: 'fees', | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        name: this.i18nService.getTranslation({ | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					          id: 'rule.fees.category', | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					          languageCode: userSettings.language || DEFAULT_LANGUAGE_CODE | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        }), | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        rules: await this.rulesService.evaluate( | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					          [ | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            new FeeRatioInitialInvestment( | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					              this.exchangeRateDataService, | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					              this.i18nService, | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					              userSettings.language, | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					              summary.committedFunds, | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					              summary.fees | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            ) | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					          ], | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					          userSettings | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        ) | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					      }, | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					      { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        key: 'liquidity', | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        name: this.i18nService.getTranslation({ | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					          id: 'rule.liquidity.category', | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					          languageCode: userSettings.language || DEFAULT_LANGUAGE_CODE | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        }), | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        rules: await this.rulesService.evaluate( | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					          [ | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            new BuyingPower( | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					              this.exchangeRateDataService, | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					              this.i18nService, | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					              summary.cash, | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					              userSettings.language | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            ) | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					          ], | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					          userSettings | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        ) | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					      }, | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					      { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        key: 'regionalMarketClusterRisk', | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        name: this.i18nService.getTranslation({ | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					          id: 'rule.regionalMarketClusterRisk.category', | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					          languageCode: userSettings.language || DEFAULT_LANGUAGE_CODE | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					          languageCode: userSettings.language | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        }), | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        rules: | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					          summary.activityCount > 0 | 
				
			
			
		
	
	
		
			
				
					| 
						
							
								
							
						
						
							
								
							
						
						
					 | 
				
				 | 
				
					@ -1452,6 +1432,25 @@ export class PortfolioService { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                userSettings | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					              ) | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            : undefined | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					      }, | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					      { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        key: 'fees', | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        name: this.i18nService.getTranslation({ | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					          id: 'rule.fees.category', | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					          languageCode: userSettings.language | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        }), | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        rules: await this.rulesService.evaluate( | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					          [ | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            new FeeRatioInitialInvestment( | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					              this.exchangeRateDataService, | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					              this.i18nService, | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					              userSettings.language, | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					              summary.committedFunds, | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					              summary.fees | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            ) | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					          ], | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					          userSettings | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        ) | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					      } | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    ]; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
	
		
			
				
					| 
						
							
								
							
						
						
						
					 | 
				
				 | 
				
					
  |