{"version":3,"file":"main.js","mappings":"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","sources":["./src/app/admin/admin-route-activator.ts","./src/app/admin/admin-table/admin-table.component.ts","./src/app/admin/admin-table/admin-table.service.ts","./src/app/admin/admin.component.ts","./src/app/admin/admin.module.ts","./src/app/admin/admin.service.ts","./src/app/app.component.ts","./src/app/app.module.ts","./src/app/dashboard/dashboard-employee-graph/dashboard-employee-graph.component.ts","./src/app/dashboard/dashboard-employee-graph/dashboard-employee-graph.service.ts","./src/app/dashboard/dashboard-employee-overview/dashboard-employee-export.service.ts","./src/app/dashboard/dashboard-employee-overview/dashboard-employee-export.ts","./src/app/dashboard/dashboard-employee-overview/dashboard-employee-overview.component.ts","./src/app/dashboard/dashboard-employee-overview/dashboard-employee-overview.service.ts","./src/app/dashboard/dashboard-employee-overview/pay-memo-modal/pay-memo-modal.component.ts","./src/app/dashboard/dashboard-group-graph/dashboard-group-graph.component.ts","./src/app/dashboard/dashboard-group-graph/dashboard-group-graph.service.ts","./src/app/dashboard/dashboard-group-overview/dashboard-group-overview.component.ts","./src/app/dashboard/dashboard-group-overview/dashboard-group-overview.service.ts","./src/app/dashboard/dashboard-route-activator.ts","./src/app/dashboard/dashboard-team-graph/dashboard-team-graph.component.ts","./src/app/dashboard/dashboard-team-graph/dashboard-team-graph.service.ts","./src/app/dashboard/dashboard-team-overview/dashboard-team-overview.component.ts","./src/app/dashboard/dashboard-team-overview/dashboard-team-overview.service.ts","./src/app/dashboard/dashboard.component.ts","./src/app/dashboard/dashboard.module.ts","./src/app/dashboard/dashboard.service.ts","./src/app/goal-assignment/employee-goal/employee-goal-save.ts","./src/app/goal-assignment/employee-goal/employee-goal.component.ts","./src/app/goal-assignment/employee-goal/employee-goal.service.ts","./src/app/goal-assignment/goal-assignment-route-activator.ts","./src/app/goal-assignment/goal-assignment.component.ts","./src/app/goal-assignment/goal-assignment.module.ts","./src/app/goal-assignment/goal-assignment.service.ts","./src/app/goal-assignment/group-goal/group-goal-save.ts","./src/app/goal-assignment/group-goal/group-goal.component.ts","./src/app/goal-assignment/group-goal/group-goal.service.ts","./src/app/goal-assignment/group-preferences/group-preferences.component.ts","./src/app/goal-assignment/group-preferences/group-preferences.service.ts","./src/app/goal-assignment/team-goal/team-goal-save.ts","./src/app/goal-assignment/team-goal/team-goal.component.ts","./src/app/goal-assignment/team-goal/team-goal.service.ts","./src/app/models/enums/spc-type.ts","./src/app/models/incoming-dtos/admin.ts","./src/app/models/incoming-dtos/dashboard-employee-overview.ts","./src/app/models/incoming-dtos/dashboard-group-overview.ts","./src/app/models/incoming-dtos/dashboard-team-overview.ts","./src/app/models/incoming-dtos/group-preference.ts","./src/app/models/incoming-dtos/paid-time-off.ts","./src/app/models/incoming-dtos/pay-memo.ts","./src/app/models/incoming-dtos/payplan.ts","./src/app/models/incoming-dtos/team.ts","./src/app/models/outgoing-dtos/create-or-update-team-dto.ts","./src/app/models/outgoing-dtos/employee-goal-update-dto.ts","./src/app/models/outgoing-dtos/eupayplan-dto.ts","./src/app/models/outgoing-dtos/group-goal-update-dto.ts","./src/app/models/outgoing-dtos/group-preference-update-dto.ts","./src/app/models/outgoing-dtos/pay-memo-save-dto.ts","./src/app/models/outgoing-dtos/payplan-save-dto.ts","./src/app/models/outgoing-dtos/team-goal-update-dto.ts","./src/app/models/outgoing-dtos/update-group-dto.ts","./src/app/models/outgoing-dtos/update-paid-time-off-dto.ts","./src/app/paid-timeoff/paid-timeoff-export.service.ts","./src/app/paid-timeoff/paid-timeoff-export.ts","./src/app/paid-timeoff/paid-timeoff-route-activator.ts","./src/app/paid-timeoff/paid-timeoff-table/paid-timeoff-table.component.ts","./src/app/paid-timeoff/paid-timeoff-table/paid-timeoff-table.service.ts","./src/app/paid-timeoff/paid-timeoff.component.ts","./src/app/paid-timeoff/paid-timeoff.module.ts","./src/app/paid-timeoff/paid-timeoff.service.ts","./src/app/pay-memo/pay-memo-route-activator.ts","./src/app/pay-memo/pay-memo-table/pay-memo-export-dtos/EU-pay-memo-all-columns.ts","./src/app/pay-memo/pay-memo-table/pay-memo-export-dtos/pay-memo-all-columns.ts","./src/app/pay-memo/pay-memo-table/pay-memo-export-dtos/pay-memo-export.ts","./src/app/pay-memo/pay-memo-table/pay-memo-export-dtos/pay-memo-peoplesoft-export-dtos.ts","./src/app/pay-memo/pay-memo-table/pay-memo-export-dtos/pay-memo-probusiness-export.ts","./src/app/pay-memo/pay-memo-table/pay-memo-export.service.ts","./src/app/pay-memo/pay-memo-table/pay-memo-table.component.ts","./src/app/pay-memo/pay-memo-table/pay-memo-table.service.ts","./src/app/pay-memo/pay-memo.component.ts","./src/app/pay-memo/pay-memo.module.ts","./src/app/pay-memo/pay-memo.service.ts","./src/app/payplan-setup/eupayplan-form/buyer-tier/buyer-tier.component.ts","./src/app/payplan-setup/eupayplan-form/buyer-tier/team-buyer-tier.component.ts","./src/app/payplan-setup/eupayplan-form/eupayplan-form-export.service.ts","./src/app/payplan-setup/eupayplan-form/eupayplan-form.component.ts","./src/app/payplan-setup/eupayplan-form/eupayplan-form.service.ts","./src/app/payplan-setup/eupayplan-form/milestone/milestone.component.ts","./src/app/payplan-setup/eupayplan-form/milestone/team-milestone.component.ts","./src/app/payplan-setup/payplan-form/payplan-form-export.service.ts","./src/app/payplan-setup/payplan-form/payplan-form.component.ts","./src/app/payplan-setup/payplan-form/payplan-form.service.ts","./src/app/payplan-setup/payplan-setup-route-activator.ts","./src/app/payplan-setup/payplan-setup.component.ts","./src/app/payplan-setup/payplan-setup.module.ts","./src/app/payplan-setup/payplan-setup.service.ts","./src/app/payplan-setup/team-employees/team-employees.component.ts","./src/app/payplan-setup/team-employees/team-employees.service.ts","./src/app/security/secured-object.service.ts","./src/app/security/user.service.ts","./src/app/security/user.ts","./src/app/shared/alert-modal/alert-modal.component.ts","./src/app/shared/base/base.component.ts","./src/app/shared/base/spc-base.component.ts","./src/app/shared/contact-us/contact-us.component.ts","./src/app/shared/date-filter/date-filter.component.ts","./src/app/shared/date-filter/date-filter.service.ts","./src/app/shared/date-filter/month-year.ts","./src/app/shared/decision-modal/decision-modal.component.ts","./src/app/shared/decision-modal/decision-modal.service.ts","./src/app/shared/directives/no-decimal-number-only.directive.ts","./src/app/shared/directives/number-only.directive.ts","./src/app/shared/directives/positive-number-only.directives.ts","./src/app/shared/employee-filter/employee-filter.component.ts","./src/app/shared/employee-filter/employee-filter.service.ts","./src/app/shared/footer/footer.component.ts","./src/app/shared/group-filter/group-filter.component.ts","./src/app/shared/group-filter/group-filter.service.ts","./src/app/shared/loading-spinner/loading-spinner.component.ts","./src/app/shared/loading-spinner/loading-spinner.service.ts","./src/app/shared/loading-spinner/spinner-detection.service.ts","./src/app/shared/material/material.module.ts","./src/app/shared/metric-filter/metric-filter.component.ts","./src/app/shared/metric-filter/metric-filter.service.ts","./src/app/shared/navbar/navbar.component.ts","./src/app/shared/page-not-found/page-not-found.component.ts","./src/app/shared/pipes/add-commas.pipe.ts","./src/app/shared/pipes/custom-currency.pipe.ts","./src/app/shared/pipes/highlight-match.pipe.ts","./src/app/shared/reactive-forms/error-state-matcher-helper.ts","./src/app/shared/role-filter/role-filter.component.ts","./src/app/shared/services/app-insights.service.ts","./src/app/shared/services/core-filters-values.ts","./src/app/shared/services/core-filters.service.ts","./src/app/shared/services/error-handling.service.ts","./src/app/shared/services/globalization.service.ts","./src/app/shared/services/helper-methods.service.ts","./src/app/shared/services/snack-bar.service.ts","./src/app/shared/services/style-helper.service.ts","./src/app/shared/services/subscription.service.ts","./src/app/shared/shared.module.ts","./src/app/shared/static-data/group-levels.ts","./src/app/shared/static-data/unauthorized.ts","./src/app/shared/team-filter/team-filter.component.ts","./src/app/shared/team-filter/team-filter.service.ts","./src/app/shared/validators/generic-validator.ts","./src/app/shared/validators/number-validator.ts","./src/app/shared/xlsx-export/xlsx-export.service.ts","./src/app/team-assignment/group-teams/group-teams.component.ts","./src/app/team-assignment/group-teams/group-teams.service.ts","./src/app/team-assignment/team-assignment-route-activator.ts","./src/app/team-assignment/team-assignment.component.ts","./src/app/team-assignment/team-assignment.module.ts","./src/app/team-assignment/team-assignment.service.ts","./src/app/team-assignment/team-details/team-details.component.ts","./src/app/team-assignment/team-details/team-details.service.ts","./src/environments/environment.ts","./src/main.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\r\nimport { CanActivate, Router } from '@angular/router';\r\nimport { UserService } from '../security/user.service';\r\nimport { SecuredObjectService } from '../security/secured-object.service';\r\nimport { map } from 'rxjs/operators';\r\n\r\n@Injectable()\r\nexport class AdminRouteActivator implements CanActivate {\r\n\r\n constructor(private userService: UserService,\r\n private secObjService: SecuredObjectService,\r\n private router: Router) {}\r\n\r\n canActivate() {\r\n return this.userService.userSource$.pipe(map((user) => {\r\n if (user) {\r\n if (this.hasAccess()) {\r\n return true;\r\n } else {\r\n this.router.navigate(['page-not-found']);\r\n }\r\n }\r\n return false;\r\n }));\r\n }\r\n\r\n hasAccess(): boolean {\r\n return this.secObjService.hasAdminPageAccess();\r\n }\r\n}\r\n","import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';\r\nimport { User } from '../../security/user';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { Admin } from '../../models/incoming-dtos/admin';\r\nimport { DatePipe } from '@angular/common';\r\nimport { LoadingSpinnerService } from '../../shared/loading-spinner/loading-spinner.service';\r\nimport { AdminTableService } from './admin-table.service';\r\nimport { SecuredObjectService } from '../../security/secured-object.service';\r\n\r\n@Component({\r\n selector: 'scoreboard-admin-table',\r\n templateUrl: './admin-table.component.html',\r\n styleUrls: ['./admin-table.component.scss']\r\n})\r\nexport class AdminTableComponent implements OnInit {\r\n\r\n @Input() adminData: Admin[];\r\n @Input() month: number;\r\n @Input() year: number;\r\n @Input() user: User;\r\n\r\n @Output() adminDataChange: EventEmitter<[Array, Array]>;\r\n @Output() groupNamesForLockOrUnlockChange: EventEmitter<[Array, Array]>;\r\n\r\n dataSource = new MatTableDataSource();\r\n displayedColumns = ['groupName', 'month', 'locked', 'lastUpdated', 'performedBy'];\r\n datePipe = new DatePipe('en-US');\r\n adminDataForLock = new Array();\r\n groupNamesForLock = new Array();\r\n adminDataForUnlock = new Array();\r\n groupNamesForUnlock = new Array();\r\n adminDataTuple = new Array<[Admin, boolean]>();\r\n\r\n constructor(private loadingSpinnerSvc: LoadingSpinnerService,\r\n private adminTableSvc: AdminTableService,\r\n public secObjService: SecuredObjectService) {\r\n this.adminDataChange = new EventEmitter<[Array, Array]>();\r\n this.groupNamesForLockOrUnlockChange = new EventEmitter<[Array, Array]>();\r\n }\r\n\r\n ngOnInit() {\r\n this.adminDataTuple = this.adminTableSvc.buildAdminDataTuple(this.adminData);\r\n this.getTableData();\r\n }\r\n\r\n getTableData() {\r\n this.dataSource.data = this.adminDataTuple;\r\n }\r\n\r\n onAdminSave() {\r\n this.loadingSpinnerSvc.turnSpinnerOn('Saving...');\r\n this.getDataForSave();\r\n this.adminDataChange.emit([this.adminDataForLock, this.adminDataForUnlock]);\r\n this.groupNamesForLockOrUnlockChange.emit([this.groupNamesForLock, this.groupNamesForUnlock]);\r\n }\r\n\r\n getDataForSave() {\r\n const dataForSave = new Array();\r\n this.adminDataTuple.forEach(tuple => {\r\n if (tuple[0].locked !== tuple[1]) {\r\n dataForSave.push(tuple[0]);\r\n }\r\n });\r\n dataForSave.forEach(obj => {\r\n if (!obj.locked) {\r\n this.adminDataForLock.push(obj.ehiGroupId);\r\n this.groupNamesForLock.push(obj.groupName);\r\n } else {\r\n this.adminDataForUnlock.push(obj.ehiGroupId);\r\n this.groupNamesForUnlock.push(obj.groupName);\r\n }\r\n });\r\n }\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Admin } from '../../models/incoming-dtos/admin';\r\n\r\n@Injectable()\r\nexport class AdminTableService {\r\n buildAdminDataTuple(adminData: Admin[]): [Admin, boolean][] {\r\n const adminDataTuple = new Array<[Admin, boolean]>();\r\n adminData.forEach(obj => {\r\n const adminObj = new Admin();\r\n adminObj.ehiGroupId = obj.ehiGroupId;\r\n adminObj.groupName = obj.groupName;\r\n adminObj.lastUpdated = obj.lastUpdated;\r\n adminObj.locked = obj.locked;\r\n adminObj.month = obj.month;\r\n adminObj.performedBy = obj.performedBy;\r\n adminObj.year = obj.year;\r\n adminDataTuple.push([adminObj, obj.locked]);\r\n });\r\n return adminDataTuple;\r\n }\r\n}\r\n","import { Component, OnInit, OnDestroy } from '@angular/core';\r\nimport { BaseComponent } from '../shared/base/base.component';\r\nimport { AppInsightsService } from '../shared/services/app-insights.service';\r\nimport { UserService } from '../security/user.service';\r\nimport { groupLevels } from '../shared/static-data/group-levels';\r\nimport { HelperMethodsService } from '../shared/services/helper-methods.service';\r\nimport { Admin } from '../models/incoming-dtos/admin';\r\nimport { Observable, Subscription } from 'rxjs';\r\nimport { AdminService } from './admin.service';\r\nimport { SubscriptionService } from '../shared/services/subscription.service';\r\nimport { LoadingSpinnerService } from '../shared/loading-spinner/loading-spinner.service';\r\nimport { SnackBarService } from '../shared/services/snack-bar.service';\r\nimport { PayplanSetupService } from '../payplan-setup/payplan-setup.service';\r\nimport { CoreFiltersService } from '../shared/services/core-filters.service';\r\nimport { finalize } from 'rxjs/operators';\r\n\r\n@Component({\r\n selector: 'scoreboard-admin',\r\n templateUrl: './admin.component.html'\r\n})\r\nexport class AdminComponent extends BaseComponent implements OnInit, OnDestroy {\r\n adminData = new Array();\r\n adminData$ = new Observable>();\r\n adminSubscription = new Subscription();\r\n adminDataForLockSave = Array();\r\n adminDataForUnlockSave = Array();\r\n adminSaveForLock$ = new Observable();\r\n adminSaveForUnlock$ = new Observable();\r\n waitingForLock: boolean;\r\n waitingForUnlock: boolean;\r\n adminSaveForLockSubscription = new Subscription();\r\n adminSaveForUnlockSubscription = new Subscription();\r\n groupNamesForLock = new Array();\r\n groupNamesForUnlock = new Array();\r\n coreFilterSubscription = new Subscription();\r\n\r\n constructor(public appInsights: AppInsightsService,\r\n public helperMethods: HelperMethodsService,\r\n public userService: UserService,\r\n public adminSvc: AdminService,\r\n public subscibeSvc: SubscriptionService,\r\n private payplanSetupSvc: PayplanSetupService,\r\n public loadingSpinnerSvc: LoadingSpinnerService,\r\n public snackBarSvc: SnackBarService,\r\n public coreFilterSvc: CoreFiltersService) {\r\n super(appInsights, userService);\r\n }\r\n\r\n ngOnInit() {\r\n this.trackUser();\r\n this.getFilterValues();\r\n }\r\n\r\n ngOnDestroy() {\r\n this.coreFilterSubscription.unsubscribe();\r\n }\r\n\r\n getFilterValues() {\r\n this.coreFilterSvc.filterValues$.subscribe(filterValues => {\r\n this.level = filterValues[0].level;\r\n this.levelValue = filterValues[0].levelValue;\r\n this.month = filterValues[0].month;\r\n this.year = filterValues[0].year;\r\n this.isEurope = filterValues[0].isEurope;\r\n if (filterValues[1] === '/admin') {\r\n this.onSubmitSearch();\r\n }\r\n });\r\n }\r\n\r\n onSubmitSearch() {\r\n if (this.helperMethods.isStringNullOrEmpty(this.levelValue) || this.levelValue === groupLevels.invalid) {\r\n this.filterErrorMessage = 'You must select a valid ' + this.level + ' to submit your search.';\r\n this.userService.alertUser(this.filterErrorMessage);\r\n } else {\r\n this.getAdminData();\r\n }\r\n }\r\n\r\n getAdminData() {\r\n this.adminData$ = this.adminSvc.getAdminData(this.level, this.levelValue, this.month, this.year);\r\n this.subscribeToAdminData();\r\n }\r\n\r\n subscribeToAdminData() {\r\n this.adminSubscription.unsubscribe();\r\n this.adminData = [];\r\n this.loadingSpinnerSvc.shouldShowLoading();\r\n\r\n this.adminSubscription = this.adminData$\r\n .pipe(\r\n finalize(() => {\r\n this.loadingSpinnerSvc.turnSpinnerOff();\r\n })\r\n )\r\n .subscribe(\r\n admin => {\r\n this.adminData = admin;\r\n if (this.helperMethods.isArrayNullOrEmpty(this.adminData)) {\r\n this.userService.alertUser('No Admin data found for the selected filters.');\r\n }\r\n },\r\n err => {\r\n this.subscibeSvc.onError(err, this.level, 'GetAdminData');\r\n this.loadingSpinnerSvc.turnSpinnerOff();\r\n }\r\n );\r\n }\r\n\r\n onSaveAdmin(adminDataForSave: [Array, Array]) {\r\n this.adminDataForLockSave = adminDataForSave[0];\r\n this.adminDataForUnlockSave = adminDataForSave[1];\r\n if (this.adminDataForLockSave.length > 0) {\r\n this.adminSaveForLock$ = this.payplanSetupSvc.lockPayPlan(this.month, this.year, this.user.eId, this.adminDataForLockSave, this.isEurope);\r\n this.subscribeSaveForLockAdmin();\r\n }\r\n if (this.adminDataForLockSave.length === 0) {\r\n this.waitingForLock = true;\r\n }\r\n if (this.adminDataForUnlockSave.length > 0) {\r\n this.adminSaveForUnlock$ = this.payplanSetupSvc.unlockPayPlan(this.month, this.year, this.user.eId, this.adminDataForUnlockSave, this.isEurope);\r\n this.subscribeSaveForUnlockAdmin();\r\n }\r\n if (this.adminDataForUnlockSave.length === 0) {\r\n this.waitingForUnlock = true;\r\n }\r\n }\r\n\r\n onSaveAdminGetGroupNames(groupNamesFromSave: [Array, Array]) {\r\n this.groupNamesForLock = groupNamesFromSave[0];\r\n this.groupNamesForUnlock = groupNamesFromSave[1];\r\n }\r\n\r\n subscribeSaveForLockAdmin() {\r\n this.adminSaveForLockSubscription.unsubscribe();\r\n this.adminSaveForLockSubscription = this.adminSaveForLock$\r\n .pipe(\r\n finalize(() => {\r\n this.adminSnackBar();\r\n const groups = this.getGroupsBeingLockedOrUnlocked(this.groupNamesForLock);\r\n this.appInsights.logUserAction('User locked on admin page for groups'\r\n + groups + ' on ' + this.month + '/' + this.year, this.user);\r\n })\r\n )\r\n .subscribe(\r\n () => {\r\n this.waitingForLock = true;\r\n if (this.waitingForUnlock) {\r\n this.getAdminData();\r\n }\r\n },\r\n err => {\r\n this.subscibeSvc.onError(err, this.level, 'LockPayPlan + UnlockPayPlan');\r\n this.loadingSpinnerSvc.turnSpinnerOff();\r\n }\r\n );\r\n }\r\n\r\n subscribeSaveForUnlockAdmin() {\r\n this.adminSaveForUnlockSubscription.unsubscribe();\r\n this.adminSaveForUnlockSubscription = this.adminSaveForUnlock$\r\n .pipe(\r\n finalize(() => {\r\n this.adminSnackBar();\r\n const groups = this.getGroupsBeingLockedOrUnlocked(this.groupNamesForUnlock);\r\n this.appInsights.logUserAction('User unlocked on admin page for groups'\r\n + groups + ' on ' + this.month + '/' + this.year, this.user);\r\n })\r\n )\r\n .subscribe(\r\n () => {\r\n this.waitingForUnlock = true;\r\n if (this.waitingForLock) {\r\n this.getAdminData();\r\n }\r\n },\r\n err => {\r\n this.subscibeSvc.onError(err, this.level, 'LockPayPlan + UnlockPayPlan');\r\n this.loadingSpinnerSvc.turnSpinnerOff();\r\n }\r\n );\r\n }\r\n\r\n private adminSnackBar() {\r\n if (this.waitingForLock && this.waitingForUnlock) {\r\n this.snackBarSvc.openSnackBar('Lock/UnLock Groups Saved successfully');\r\n }\r\n }\r\n\r\n getGroupsBeingLockedOrUnlocked(groupNamesForAppInsights: string[]): string {\r\n let groupNames = '';\r\n groupNamesForAppInsights.forEach(group => {\r\n groupNames = groupNames + ' ' + group + ',';\r\n });\r\n return groupNames;\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { AdminComponent } from './admin.component';\r\nimport { AdminTableComponent } from './admin-table/admin-table.component';\r\nimport { SharedModule } from '../shared/shared.module';\r\nimport { RouterModule } from '@angular/router';\r\nimport { AdminRouteActivator } from './admin-route-activator';\r\nimport { AdminService } from './admin.service';\r\nimport { AdminTableService } from './admin-table/admin-table.service';\r\n\r\n@NgModule({\r\n imports: [\r\n SharedModule,\r\n RouterModule.forChild([\r\n { path: 'admin', component: AdminComponent, canActivate: [AdminRouteActivator] }\r\n ])\r\n ],\r\n declarations: [\r\n AdminComponent,\r\n AdminTableComponent\r\n ],\r\n providers: [\r\n AdminRouteActivator,\r\n AdminService,\r\n AdminTableService\r\n ]\r\n\r\n})\r\nexport class AdminModule { }\r\n","import { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { environment } from '../../environments/environment';\r\nimport { Admin } from '../models/incoming-dtos/admin';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { UserService } from '../security/user.service';\r\nimport { ErrorHandlingService } from '../shared/services/error-handling.service';\r\nimport { groupLevels } from '../shared/static-data/group-levels';\r\nimport { catchError } from 'rxjs/operators';\r\n\r\n@Injectable()\r\nexport class AdminService {\r\n private baseUrl: string = environment.dotNetCoreUrl + 'coreapi/Admin/';\r\n private adminForCountryUrl: string = this.baseUrl + 'country';\r\n private adminForSvpTeamUrl: string = this.baseUrl + 'svpTeam';\r\n private adminForGroupUrl: string = this.baseUrl + 'group';\r\n\r\n admin$ = new Observable();\r\n\r\n constructor(private httpClient: HttpClient,\r\n private userService: UserService,\r\n private errorService: ErrorHandlingService) { }\r\n\r\n getAdminData(level: string, levelValue: string, month: number, year: number): Observable {\r\n switch (level) {\r\n case groupLevels.country:\r\n return this.admin$ = this.getAdminForCountry$(levelValue, month, year);\r\n case groupLevels.svpTeam:\r\n return this.admin$ = this.getAdminForSvpTeam$(levelValue, month, year);\r\n case groupLevels.group:\r\n return this.admin$ = this.getAdminForGroup$(levelValue, month, year);\r\n }\r\n }\r\n\r\n getAdminForCountry$(levelValue: string, month: number, year: number): Observable {\r\n const url = this.adminForCountryUrl + '/' + levelValue + '/' + year + '/' + month;\r\n return this.httpClient.get(url, this.userService.getHttpOptions())\r\n .pipe(\r\n catchError(this.errorService.handleError)\r\n );\r\n }\r\n\r\n getAdminForSvpTeam$(levelValue: string, month: number, year: number): Observable {\r\n const url = this.adminForSvpTeamUrl + '/' + levelValue + '/' + year + '/' + month;\r\n return this.httpClient.get(url, this.userService.getHttpOptions())\r\n .pipe(\r\n catchError(this.errorService.handleError)\r\n );\r\n }\r\n\r\n getAdminForGroup$(levelValue: string, month: number, year: number): Observable {\r\n const url = this.adminForGroupUrl + '/' + levelValue + '/' + year + '/' + month;\r\n return this.httpClient.get(url, this.userService.getHttpOptions())\r\n .pipe(\r\n catchError(this.errorService.handleError)\r\n );\r\n }\r\n}\r\n","import { Component, DoCheck, OnInit } from '@angular/core';\r\nimport { AppInsightsService } from './shared/services/app-insights.service';\r\nimport { UserService } from './security/user.service';\r\nimport { HelperMethodsService } from './shared/services/helper-methods.service';\r\nimport { MonthYear } from './shared/date-filter/month-year';\r\nimport { CoreFiltersService } from './shared/services/core-filters.service';\r\nimport { DashboardRouteActivator } from './dashboard/dashboard-route-activator';\r\nimport { GoalAssignmentRouteActivator } from './goal-assignment/goal-assignment-route-activator';\r\nimport { PaidTimeoffRouteActivator } from './paid-timeoff/paid-timeoff-route-activator';\r\nimport { TeamAssignmentRouteActivator } from './team-assignment/team-assignment-route-activator';\r\nimport { PayplanSetupRouteActivator } from './payplan-setup/payplan-setup-route-activator';\r\nimport { PayMemoRouteActivator } from './pay-memo/pay-memo-route-activator';\r\nimport { AdminRouteActivator } from './admin/admin-route-activator';\r\nimport { Router } from '../../node_modules/@angular/router';\r\nimport { User } from './security/user';\r\nimport { groupLevels } from './shared/static-data/group-levels';\r\nimport { TranslateService } from '@ngx-translate/core';\r\n\r\n@Component({\r\n selector: 'scoreboard-root',\r\n templateUrl: './app.component.html',\r\n styleUrls: ['./app.component.scss']\r\n})\r\nexport class AppComponent implements DoCheck, OnInit {\r\n filterLevel: string;\r\n filterLevelValue = '';\r\n filterMonth: number;\r\n filterYear: number;\r\n isEurope: boolean;\r\n isApplyDisabled = true;\r\n isGroupLevel: boolean;\r\n isOkToSearch = false;\r\n shouldShowDateFilter = true;\r\n isContactUsPage = false;\r\n isGroupPrefPage = false;\r\n isInitialLoad = true;\r\n shouldUpdateUrlToStream = false;\r\n groupOnlyPages: string[] = ['/dashboard', '/goal-assignment', '/pay-memo', '/paid-timeoff'];\r\n countryPages: string[] = ['/team-assignment', '/payplan-setup', '/admin'];\r\n user: User;\r\n\r\n constructor(translate: TranslateService,\r\n private insightService: AppInsightsService, // Instantiate Application Insights monitoring.\r\n public userService: UserService,\r\n public helperMethods: HelperMethodsService,\r\n public coreFiltersSvc: CoreFiltersService,\r\n public dashboardActivator: DashboardRouteActivator,\r\n public goalAssignmentActivator: GoalAssignmentRouteActivator,\r\n public paidTimeOffActivator: PaidTimeoffRouteActivator,\r\n public teamAssignmentActivator: TeamAssignmentRouteActivator,\r\n public payPlanSetupActivator: PayplanSetupRouteActivator,\r\n public payMemoActivator: PayMemoRouteActivator,\r\n public adminActivator: AdminRouteActivator,\r\n public router: Router) {\r\n translate.addLangs(['en']);\r\n translate.setDefaultLang('en');\r\n translate.use('en');\r\n\r\n }\r\n\r\n ngDoCheck(): void {\r\n setTimeout(() => {\r\n this.userService.checkAuthenticated();\r\n }, 30000);\r\n }\r\n\r\n ngOnInit() {\r\n this.coreFiltersSvc.isGroupPrefPageSelected$.subscribe(isGroupPrefPage => {\r\n this.isGroupPrefPage = isGroupPrefPage;\r\n this.checkUrlToSetGroupFilter('/goal-assignment'); // isGroupPrefPage only gets updated when navigating to goal-assignment/group-preferences tab.\r\n });\r\n this.userService.userSource$.subscribe(user => {\r\n this.user = user; // This gets passed to the group filter.\r\n });\r\n }\r\n\r\n onPageChange(url: string) {\r\n this.shouldUpdateUrlToStream = this.determineToUpdateUrl(url);\r\n this.checkUrlToSetGroupFilter(url);\r\n }\r\n\r\n onFilterChange(filterValues: [string, string, boolean]) {\r\n this.filterLevel = filterValues[0];\r\n this.filterLevelValue = filterValues[1];\r\n this.isEurope = filterValues[2];\r\n if (this.filterLevelValue !== groupLevels.invalid) { // Fire a new data load if the selected group is a valid option.\r\n this.coreFiltersSvc.setFilterValues(this.filterLevel, this.filterLevelValue, this.filterMonth, this.filterYear, this.isEurope, this.router.url.replace('#', ''));\r\n }\r\n }\r\n\r\n onMonthYearChanged(value: MonthYear) {\r\n this.filterMonth = value.month + 1;\r\n this.filterYear = value.year;\r\n if (!this.isInitialLoad) { // If not initial load we are firing a new data load anytime user changes date filter.\r\n this.coreFiltersSvc.setFilterValues(this.filterLevel, this.filterLevelValue, this.filterMonth, this.filterYear, this.isEurope, this.router.url.replace('#', ''));\r\n } else {\r\n this.checkUrlToSetGroupFilter(this.router.url.replace('#', '')); // Need to check URL on initialLoad to determine what Group Filter will be set to.\r\n }\r\n }\r\n\r\n onIsApplyDisabledChanged(isApplyDisabledChanged: boolean) {\r\n this.isApplyDisabled = isApplyDisabledChanged;\r\n }\r\n\r\n onSubmitSearch() {\r\n // Everything goes to shared service into stream\r\n this.coreFiltersSvc.setFilterValues(this.filterLevel, this.filterLevelValue, this.filterMonth, this.filterYear, this.isEurope, this.router.url.replace('#', ''));\r\n }\r\n\r\n checkUrlToSetGroupFilter(url: string) {\r\n setTimeout(() => { // Using setTimeout due to cycle detection and the flow of how we check the url in onSubmitSearch()\r\n this.isInitialLoad = false;\r\n if (url === '/dashboard' || url === '/pay-memo' || url === '/paid-timeoff') {\r\n this.isGroupLevel = true;\r\n this.shouldShowDateFilter = true;\r\n this.isContactUsPage = false;\r\n // Dashboard and pay-memo pages are limited to the group level on the group filter\r\n this.updateUrl();\r\n } else if (url === '/goal-assignment') {\r\n this.checkGoalAssignmentPagesForGroupPrefPage();\r\n this.updateUrl();\r\n } else if (url === '/contact-us') {\r\n this.shouldShowDateFilter = false;\r\n this.isContactUsPage = true;\r\n } else {\r\n this.isGroupLevel = false;\r\n this.shouldShowDateFilter = true;\r\n this.isContactUsPage = false;\r\n this.updateUrl();\r\n }\r\n });\r\n }\r\n\r\n updateUrl() {\r\n if (this.shouldUpdateUrlToStream) { // We only update the url in coreFilterServices if user switches from one page to another where filters are the same.\r\n this.onSubmitSearch();\r\n this.shouldUpdateUrlToStream = false;\r\n }\r\n }\r\n\r\n checkGoalAssignmentPagesForGroupPrefPage() {\r\n this.isGroupLevel = true;\r\n this.isContactUsPage = false;\r\n if (!this.isGroupPrefPage) {\r\n this.shouldShowDateFilter = true;\r\n } else {\r\n this.shouldShowDateFilter = false;\r\n }\r\n }\r\n\r\n checkViewState(): boolean { // This hides one set of filters and shows the other due to how side nav works. Needed to injections of filters.\r\n const desktopDom = document.getElementById('desktop').offsetWidth;\r\n const mobileDom = document.getElementById('mobile').offsetWidth;\r\n if (desktopDom >= 1349) {\r\n return true;\r\n } else if (mobileDom < 1349) {\r\n return false;\r\n }\r\n }\r\n\r\n determineToUpdateUrl(url: string): boolean { // We only update the url in coreFilterServices if user switches from one page to another where filters are the same.\r\n const currentPage = this.router.url.replace('#', ''); // This method determines that.\r\n const pageNavigatingTo = url;\r\n if (this.groupOnlyPages.includes(currentPage) && this.groupOnlyPages.includes(pageNavigatingTo)) {\r\n return true;\r\n } else if (this.countryPages.includes(currentPage) && this.countryPages.includes(pageNavigatingTo)) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n }\r\n\r\n isMobile(): boolean {\r\n if (window.outerWidth < 1349) {\r\n return true;\r\n }\r\n return false;\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { BrowserModule } from '@angular/platform-browser';\r\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\r\nimport { HttpClientModule, HttpClient } from '@angular/common/http';\r\nimport { RouterModule } from '@angular/router';\r\nimport { AppComponent } from './app.component';\r\nimport { UserService } from './security/user.service';\r\nimport { SharedModule } from './shared/shared.module';\r\nimport { MsalGuard, MsalGuardConfiguration, MsalInterceptorConfiguration, MsalModule, MsalRedirectComponent, MsalService, MSAL_INSTANCE } from '@azure/msal-angular';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { DashboardComponent } from './dashboard/dashboard.component';\r\nimport { DashboardRouteActivator } from './dashboard/dashboard-route-activator';\r\nimport { DashboardModule } from './dashboard/dashboard.module';\r\nimport { TeamAssignmentModule } from './team-assignment/team-assignment.module';\r\nimport { PayplanSetupModule } from './payplan-setup/payplan-setup.module';\r\nimport { PayMemoModule } from './pay-memo/pay-memo.module';\r\nimport { PaidTimeoffModule } from './paid-timeoff/paid-timeoff.module';\r\nimport { GoalAssignmentModule } from './goal-assignment/goal-assignment.module';\r\nimport { AdminModule } from './admin/admin.module';\r\nimport { SecuredObjectService } from './security/secured-object.service';\r\nimport { PageNotFoundComponent } from './shared/page-not-found/page-not-found.component';\r\nimport { environment } from '../environments/environment';\r\nimport { GlobalizationService } from './shared/services/globalization.service';\r\nimport { TranslateModule, TranslateLoader } from '@ngx-translate/core';\r\nimport { TranslateHttpLoader } from '@ngx-translate/http-loader';\r\nimport { LogLevel, InteractionType, IPublicClientApplication, PublicClientApplication } from '@azure/msal-browser';\r\n\r\n\r\nconst isIE = window.navigator.userAgent.indexOf(\"MSIE \") > -1 || window.navigator.userAgent.indexOf(\"Trident/\") > -1; // Remove this line to use Angular Universal\r\n\r\n export const msalConfig = {\r\n auth: {\r\n clientId: environment.msal.clientId,\r\n redirectUri: window.location.origin,\r\n authority: environment.msal.msAuthority + '/' + environment.msal.tenantId\r\n },\r\n cache: {\r\n cacheLocation: 'sessionStorage',\r\n storeAuthStateInCookie: isIE,\r\n },\r\n system: {\t\r\n loggerOptions: {\t\r\n loggerCallback: (level, message, containsPii) => {\t\r\n if (containsPii) {\t\t\r\n return;\t\t\r\n }\t\t\r\n switch (level) {\t\t\r\n case LogLevel.Error:\t\t\r\n console.error(message);\t\t\r\n return;\t\t\r\n case LogLevel.Info:\t\t\r\n console.info(message);\t\t\r\n return;\t\t\r\n case LogLevel.Verbose:\t\t\r\n console.debug(message);\t\t\r\n return;\t\t\r\n case LogLevel.Warning:\t\t\r\n console.warn(message);\t\t\r\n return;\t\t\r\n }\t\r\n }\t\r\n }\t\r\n }\r\n};\r\n\r\nexport function HttpLoaderFactory(http: HttpClient) {\r\n return new TranslateHttpLoader(http, './assets/i18n/', '.json');\r\n}\r\n\r\nexport function MSALInstanceFactory(): IPublicClientApplication {\r\n return new PublicClientApplication(msalConfig);\r\n\r\n \r\n}\r\n\r\nexport function MSALInterceptorConfigFactory(): MsalInterceptorConfiguration {\r\n const protectedResourceMap = new Map>(GetProtectedResourceMapList());\r\n return {\r\n interactionType: InteractionType.Redirect,\r\n protectedResourceMap\r\n };\r\n}\r\n\r\nexport function MSALGuardConfigFactory(): MsalGuardConfiguration {\r\n return { \r\n interactionType: InteractionType.Redirect,\r\n authRequest: {\r\n scopes: ['user.read']\r\n }\r\n //,loginFailedRoute: '/login-failed'\r\n };\r\n}\r\n\r\nexport function GetProtectedResourceMapList(): [string, string[]][] {\r\n \r\n let result : [string,string[]][] = [];\r\n\r\n try\r\n {\r\n let resMap = environment.msal.protectedResourceMap;\r\n \r\n resMap.forEach((x,y) => {\r\n let arr : string[] = [];\r\n arr.push(x[1][0]);\r\n\r\n let str : string = x[0].toString();\r\n result.push([str, arr]);\r\n });\r\n } catch (error) {\r\n console.log('Error loading protected resource map from env');\r\n }\r\n \r\n return result;\r\n};\r\n\r\n@NgModule({\r\n imports: [\r\n BrowserModule,\r\n TranslateModule.forRoot(\r\n {\r\n loader: {\r\n provide: TranslateLoader,\r\n useFactory: HttpLoaderFactory,\r\n deps: [HttpClient]\r\n }\r\n }\r\n ),\r\n BrowserAnimationsModule,\r\n FormsModule,\r\n HttpClientModule,\r\n RouterModule.forRoot([\r\n { path: 'dashboard', component: DashboardComponent, canActivate: [DashboardRouteActivator] },\r\n { path: '', redirectTo: 'dashboard', pathMatch: 'full' },\r\n { path: '**', component: PageNotFoundComponent }\r\n ]),\r\n SharedModule,\r\n DashboardModule,\r\n TeamAssignmentModule,\r\n PayplanSetupModule,\r\n PayMemoModule,\r\n PaidTimeoffModule,\r\n GoalAssignmentModule,\r\n AdminModule,\r\n MsalModule.forRoot( new PublicClientApplication(msalConfig,), MSALGuardConfigFactory(), MSALInterceptorConfigFactory())\r\n ],\r\n declarations: [\r\n AppComponent\r\n ],\r\n providers: [\r\n UserService,\r\n SecuredObjectService,\r\n DashboardRouteActivator,\r\n { provide: MSAL_INSTANCE, useFactory: MSALInstanceFactory },\r\n MsalService,\r\n MsalRedirectComponent,\r\n MsalGuard,\r\n GlobalizationService\r\n ],\r\n bootstrap: [AppComponent, MsalRedirectComponent]\r\n})\r\nexport class AppModule { }\r\n","import { Component, Input } from '@angular/core';\r\nimport { DashboardEmployeeGraph } from '../../models/incoming-dtos/dashboard-employee-graph';\r\nimport { LoadingSpinnerService } from '../../shared/loading-spinner/loading-spinner.service';\r\nimport { DashboardEmployeeGraphService } from './dashboard-employee-graph.service';\r\nimport { HelperMethodsService } from '../../shared/services/helper-methods.service';\r\nimport { DashboardGraphData } from '../dashboard-graph-data';\r\nimport { StyleHelperService } from '../../shared/services/style-helper.service';\r\nimport { DashboardEmployeeOverview } from '../../models/incoming-dtos/dashboard-employee-overview';\r\nimport { DashboardEmployeeExportService } from '../dashboard-employee-overview/dashboard-employee-export.service';\r\nimport { AppInsightsService } from '../../shared/services/app-insights.service';\r\nimport { User } from '../../security/user';\r\nimport { environment } from '../../../environments/environment'\r\n\r\n@Component({\r\n selector: 'scoreboard-dashboard-employee-graph',\r\n templateUrl: './dashboard-employee-graph.component.html',\r\n styleUrls: ['./dashboard-employee-graph.component.scss']\r\n})\r\nexport class DashboardEmployeeGraphComponent {\r\n @Input() dashboardEmployeeOverviewData: DashboardEmployeeOverview[];\r\n @Input() dashboardEmployeeGraphData: DashboardEmployeeGraph[];\r\n @Input() levelValue: string;\r\n @Input() year: number;\r\n @Input() month: number;\r\n @Input() isEurope: boolean;\r\n @Input() user: User;\r\n\r\n selectedGoalId: number;\r\n selectedTeamId: number;\r\n isOrderOfMerit: boolean;\r\n orderOfMeritList: Array;\r\n\r\n view: any;\r\n results = new Array();\r\n isAllNeeded = true;\r\n isMetricIdBack = false;\r\n isTeamIdBack = false;\r\n filteredDashboardGraphData = new Array();\r\n minValue: any;\r\n maxValue: any;\r\n gapValue = 10;\r\n selectedJobeCode: string;\r\n isJobCodeIdIdBack = false;\r\n domWidth = document.body.offsetWidth;\r\n\r\n constructor(public loadingSpinnerSvc: LoadingSpinnerService,\r\n public dashboardEmployeeGraphSvc: DashboardEmployeeGraphService,\r\n public helperMethods: HelperMethodsService,\r\n public styleHelper: StyleHelperService,\r\n public dashboardEmployeeExportSvc: DashboardEmployeeExportService,\r\n private appInsightsSvc: AppInsightsService) {\r\n styleHelper.maxWidth = 1023;\r\n }\r\n\r\n filterData() {\r\n this.filteredDashboardGraphData = this.dashboardEmployeeGraphData.filter(x => x.goalActual.goalId === this.selectedGoalId); // filtering master list of data on selected goal\r\n if (this.selectedTeamId > 0) {\r\n this.filteredDashboardGraphData = this.filteredDashboardGraphData.filter(x => x.teamId === this.selectedTeamId); // filtering list of one goal further based on selected team\r\n }\r\n if (this.selectedTeamId === -1) {\r\n this.filteredDashboardGraphData = this.filteredDashboardGraphData.filter(x => x.employee.groupName === this.levelValue.toUpperCase());\r\n }\r\n if (this.selectedJobeCode !== 'All Roles' && this.isEurope) {\r\n this.filteredDashboardGraphData = this.filteredDashboardGraphData.filter(x => x.employee.jobTitle === this.selectedJobeCode);\r\n }\r\n this.filteredDashboardGraphData = this.dashboardEmployeeGraphSvc.sortByRank(this.filteredDashboardGraphData);\r\n this.plugGraphData();\r\n }\r\n\r\n plugGraphData() {\r\n this.results = [];\r\n this.results = this.dashboardEmployeeGraphSvc.plugGraphData(this.filteredDashboardGraphData);\r\n const values = [];\r\n\r\n this.filteredDashboardGraphData.forEach((x) => {\r\n values.push(x.goalActual.goalValue);\r\n values.push(x.goalActual.actualValue + x.goalActual.pendingValue);\r\n });\r\n\r\n values.sort((x, y) => {\r\n return x - y;\r\n });\r\n this.minValue = values[0] - this.gapValue;\r\n values.reverse();\r\n this.maxValue = values[0];\r\n\r\n this.loadingSpinnerSvc.turnSpinnerOff();\r\n }\r\n\r\n onGoalFilterChanged(value: number) {\r\n this.selectedGoalId = value;\r\n this.isMetricIdBack = true;\r\n if (this.isEurope) {\r\n if (this.isTeamIdBack && this.isJobCodeIdIdBack) {\r\n this.filterData();\r\n }\r\n } else if (this.isTeamIdBack) {\r\n this.filterData();\r\n }\r\n this.orderOfMeritList = environment.orderOfMeritgoalIDs;\r\n if (this.orderOfMeritList.indexOf(this.selectedGoalId) > -1) {\r\n this.isOrderOfMerit = true;\r\n } else { this.isOrderOfMerit = false; }\r\n }\r\n\r\n onTeamFilterChanged(value: number) {\r\n this.selectedTeamId = value;\r\n this.isTeamIdBack = true;\r\n if (this.isEurope) {\r\n if (this.isMetricIdBack && this.isJobCodeIdIdBack) {\r\n this.filterData();\r\n }\r\n } else if (this.isMetricIdBack) {\r\n this.filterData();\r\n }\r\n }\r\n\r\n onRoleFilterChanged(value: string) {\r\n this.selectedJobeCode = value;\r\n this.isJobCodeIdIdBack = true;\r\n if (this.isMetricIdBack && this.isTeamIdBack) {\r\n this.filterData();\r\n }\r\n }\r\n\r\n getPaceArrow(isOnTrack: boolean): string {\r\n if (isOnTrack) {\r\n return 'icon-arrow-up';\r\n } else {\r\n return 'icon-arrow-down';\r\n }\r\n }\r\n\r\n calculateActualWidth(actualValue: number): string {\r\n return this.getPercentage(actualValue) + '%';\r\n }\r\n\r\n private getPercentage(value: number) {\r\n return (Math.abs(this.minValue) + +value) / (Math.abs(this.minValue) + this.maxValue) * 100;\r\n }\r\n\r\n calculateGoalWidth(goalValue: number): string {\r\n if (goalValue.toString() !== '-') {\r\n return this.getPercentage(goalValue) + '%';\r\n } else {\r\n return 0 + '%';\r\n }\r\n }\r\n\r\n calculatePendingWidth(actualValue: number, pendingValue: number): string {\r\n return this.getPercentage(+actualValue + +pendingValue) + '%';\r\n }\r\n\r\n isOnTrack(onTrack: boolean): string {\r\n if (onTrack) {\r\n return '#4CB050';\r\n } else {\r\n return '#F44236';\r\n }\r\n }\r\n\r\n isPendingOnTrack(onTrack: boolean): string {\r\n if (onTrack) {\r\n return '#A5D6A7';\r\n } else {\r\n return '#EF9A9A';\r\n }\r\n }\r\n\r\n onExport() {\r\n this.dashboardEmployeeExportSvc.isEurope = this.isEurope;\r\n this.dashboardEmployeeExportSvc.buildDashboardEmployeeExport(this.dashboardEmployeeOverviewData,\r\n this.levelValue, this.month, this.year);\r\n this.appInsightsSvc.logUserAction('User exported Dashboard Group Employees\\'s Data '\r\n + this.levelValue + ' on ' + this.month + '/' + this.year, this.user);\r\n }\r\n\r\n checkViewState(): boolean {\r\n if (this.domWidth <= 1349) {\r\n return false;\r\n } else {\r\n return true;\r\n }\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { DashboardEmployeeGraph } from '../../models/incoming-dtos/dashboard-employee-graph';\r\nimport { DashboardGraphData } from '../dashboard-graph-data';\r\nimport { HelperMethodsService } from '../../shared/services/helper-methods.service';\r\n\r\n@Injectable()\r\nexport class DashboardEmployeeGraphService {\r\n\r\n constructor(public helperMethods: HelperMethodsService) {}\r\n\r\n plugGraphData(filteredDashboardGraphData: DashboardEmployeeGraph[]): DashboardGraphData[] {\r\n let graphData = new Array();\r\n filteredDashboardGraphData.forEach(result => {\r\n const actualValue = result.goalActual.actualValue != null ? result.goalActual.actualValue : 0;\r\n const pendingValue = result.goalActual.pendingValue > 0 ? result.goalActual.pendingValue : 0;\r\n const goalDisplayValue = this.checkGoalValue(result);\r\n const shouldShowPending = this.checkIfPendingIsNeeded(result);\r\n graphData.push({\r\n name: result.employee.firstName + ' ' + result.employee.lastName,\r\n jobTitle: result.employee.jobTitle,\r\n series: [\r\n {\r\n name: result.goalActual.onTrack ? 'Actual' : 'Actual*',\r\n value: actualValue,\r\n displayValue: actualValue.toString(),\r\n shouldShow: true\r\n },\r\n {\r\n name: result.goalActual.onTrack ? 'Pending' : 'Pending*',\r\n value: pendingValue,\r\n displayValue: pendingValue.toString(),\r\n shouldShow: shouldShowPending\r\n },\r\n {\r\n name: 'Goal',\r\n value: result.goalActual.goalValue,\r\n displayValue: goalDisplayValue,\r\n shouldShow: true\r\n }\r\n ],\r\n onTrack: result.goalActual.onTrack,\r\n rankPoint: result.goalActual.rankPoint,\r\n prefix: result.goalActual.prefix,\r\n suffix: result.goalActual.suffix\r\n });\r\n });\r\n graphData = this.checkForNegatives(graphData);\r\n return graphData;\r\n }\r\n\r\n checkForNegatives(graphData: DashboardGraphData[]): DashboardGraphData[] {\r\n let actualNegativeVal = this.getHighestNumber(graphData);\r\n const makeNegVal = actualNegativeVal * 2;\r\n actualNegativeVal = actualNegativeVal - makeNegVal;\r\n graphData.forEach(obj => {\r\n if (obj.series[2].value == null) {\r\n obj.series[2].value = 0;\r\n }\r\n\r\n if (obj.series[0].value < 0) { // negative\r\n obj.series[0].value = actualNegativeVal;\r\n if (obj.series[1].value < 0) { // negative\r\n obj.series[1].value = 0;\r\n }\r\n if (obj.series[2].value < 0) { // negative\r\n obj.series[2].value = 0;\r\n }\r\n }\r\n if (obj.series[2].value < 0) {\r\n obj.series[2].value = 0;\r\n }\r\n if (obj.series[0].value > obj.series[2].value) {\r\n obj.series[2].value = 0;\r\n }\r\n if ((obj.series[0].value < obj.series[2].value) && (obj.series[0].value > 0)) {\r\n obj.series[2].value = obj.series[2].value - obj.series[0].value - obj.series[1].value;\r\n }\r\n });\r\n return graphData;\r\n }\r\n\r\n getHighestNumber(graphData: DashboardGraphData[]): number {\r\n let highestActualNumber = 0;\r\n let actualNegativeVal = 0;\r\n graphData.forEach(obj => {\r\n if (obj.series[0].value > highestActualNumber) {\r\n highestActualNumber = obj.series[0].value;\r\n actualNegativeVal = highestActualNumber * .02;\r\n }\r\n if (obj.series[2].value > highestActualNumber) {\r\n highestActualNumber = obj.series[2].value;\r\n actualNegativeVal = highestActualNumber * .02;\r\n } else if (this.helperMethods.isNumberNullOrUndefined(actualNegativeVal)) {\r\n actualNegativeVal = -1;\r\n }\r\n });\r\n return actualNegativeVal;\r\n }\r\n\r\n checkGoalValue(result: DashboardEmployeeGraph): string {\r\n let value: string;\r\n if (result.goalActual.goalValue === null) {\r\n value = '-';\r\n } else {\r\n value = result.goalActual.goalValue.toString();\r\n }\r\n return value;\r\n }\r\n\r\n checkIfPendingIsNeeded(result: DashboardEmployeeGraph): boolean {\r\n return result.goalActual.goalName === 'Sales Volume';\r\n }\r\n\r\n sortByRank(filteredDashboardGraphData: DashboardEmployeeGraph[]): DashboardEmployeeGraph[] {\r\n return filteredDashboardGraphData.sort((a, b) => this.helperMethods.compareNumbers(b.goalActual.rankPoint, a.goalActual.rankPoint));\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { XlsxExportService } from '../../shared/xlsx-export/xlsx-export.service';\r\nimport { HelperMethodsService } from '../../shared/services/helper-methods.service';\r\nimport { DashboardEmployeeOverview } from '../../models/incoming-dtos/dashboard-employee-overview';\r\nimport { DashboardEmployeeExport } from './dashboard-employee-export';\r\nimport { DashboardGoalExport } from './dashboard-goal-export';\r\n\r\n@Injectable()\r\nexport class DashboardEmployeeExportService {\r\n dashboardEmployee: Object;\r\n title: string;\r\n isEurope: boolean;\r\n\r\n constructor(private xlsxExportSvc: XlsxExportService,\r\n private helperMethods: HelperMethodsService) {}\r\n\r\n buildDashboardEmployeeExport(dashboardEmployeeOverview: DashboardEmployeeOverview[], levelValue: string, month: number, year: number) {\r\n const dashboardEmployeeExport = new Array();\r\n for (let i = 0; i < dashboardEmployeeOverview.length; i++) {\r\n const dashboardEmployee = new DashboardEmployeeExport();\r\n dashboardEmployee.employeeName = dashboardEmployeeOverview[i].employeeDto.firstName\r\n + ' ' + dashboardEmployeeOverview[i].employeeDto.lastName;\r\n dashboardEmployee.dailySalesPace = dashboardEmployeeOverview[i].dailySalesPace;\r\n dashboardEmployee.rank = dashboardEmployeeOverview[i].rank;\r\n dashboardEmployee.totalRankPoints = dashboardEmployeeOverview[i].totalRankPoints;\r\n\r\n dashboardEmployee.dashboardGoalExports = [];\r\n dashboardEmployeeOverview[i].goalActualDtos.forEach(goal => {\r\n const dashboardGoalExport: DashboardGoalExport = {\r\n goalName: goal.goalName,\r\n prefix: goal.prefix,\r\n rankPoint: goal.rankPoint,\r\n suffix: goal.suffix,\r\n value: goal.actualValue + goal.pendingValue\r\n };\r\n\r\n if (!this.helperMethods.isStringNullOrEmpty(dashboardGoalExport.prefix)) {\r\n dashboardGoalExport.prefix = ' ' + dashboardGoalExport.prefix + dashboardGoalExport.value;\r\n dashboardEmployee.dashboardGoalExports.push(dashboardGoalExport);\r\n\r\n } else if (!this.helperMethods.isStringNullOrEmpty(dashboardGoalExport.suffix)) {\r\n dashboardGoalExport.suffix = ' ' + dashboardGoalExport.value + dashboardGoalExport.suffix;\r\n dashboardEmployee.dashboardGoalExports.push(dashboardGoalExport);\r\n\r\n } else {\r\n if (dashboardGoalExport.goalName === 'Delete To Sale Days') {\r\n dashboardGoalExport.value = ' ' + dashboardGoalExport.value.toFixed(1);\r\n }\r\n dashboardEmployee.dashboardGoalExports.push(dashboardGoalExport);\r\n }\r\n });\r\n dashboardEmployeeExport.push(dashboardEmployee);\r\n\r\n if (this.isEurope) {\r\n dashboardEmployeeExport.sort((a, b) => {\r\n let firstName: string, lastName: string;\r\n [firstName, lastName] = a.employeeName.split(' ');\r\n const x = (lastName + firstName).toLowerCase();\r\n [firstName, lastName] = b.employeeName.split(' ');\r\n const y = (lastName + firstName).toLowerCase();\r\n if (x < y) { return -1; }\r\n if (x > y) { return 1; }\r\n return 0;\r\n });\r\n } else {\r\n dashboardEmployeeExport.sort((a, b) => this.helperMethods.compareNumbers(b.rank, a.rank));\r\n }\r\n }\r\n\r\n const exportData = [];\r\n for (let indexEmployee = 0; indexEmployee < dashboardEmployeeExport.length; indexEmployee++) {\r\n if (this.isEurope) {\r\n this.dashboardEmployee = {\r\n 'Name': dashboardEmployeeExport[indexEmployee].employeeName\r\n };\r\n } else {\r\n this.dashboardEmployee = {\r\n 'Name': dashboardEmployeeExport[indexEmployee].employeeName,\r\n 'Total Rank' : dashboardEmployeeExport[indexEmployee].rank,\r\n 'Total Points': dashboardEmployeeExport[indexEmployee].totalRankPoints,\r\n 'Daily Sales Pace' : dashboardEmployeeExport[indexEmployee].dailySalesPace,\r\n };\r\n }\r\n\r\n for (let indexGoal = 0; indexGoal < dashboardEmployeeExport[indexEmployee].dashboardGoalExports.length; indexGoal++) {\r\n // tslint:disable-next-line:max-line-length\r\n if (!this.helperMethods.isStringNullOrEmpty(dashboardEmployeeExport[indexEmployee].dashboardGoalExports[indexGoal].prefix)) {\r\n this.dashboardEmployee[dashboardEmployeeExport[indexEmployee].dashboardGoalExports[indexGoal].goalName] =\r\n dashboardEmployeeExport[indexEmployee].dashboardGoalExports[indexGoal].prefix;\r\n this.dashboardEmployee[dashboardEmployeeExport[indexEmployee].dashboardGoalExports[indexGoal].goalName + ' ' + 'Rank'] =\r\n dashboardEmployeeExport[indexEmployee].dashboardGoalExports[indexGoal].rankPoint;\r\n\r\n // tslint:disable-next-line:max-line-length\r\n } else if (!this.helperMethods.isStringNullOrEmpty(dashboardEmployeeExport[indexEmployee].dashboardGoalExports[indexGoal].suffix)) {\r\n this.dashboardEmployee[dashboardEmployeeExport[indexEmployee].dashboardGoalExports[indexGoal].goalName] =\r\n dashboardEmployeeExport[indexEmployee].dashboardGoalExports[indexGoal].suffix;\r\n this.dashboardEmployee[dashboardEmployeeExport[indexEmployee].dashboardGoalExports[indexGoal].goalName\r\n + ' ' + 'Rank'] = dashboardEmployeeExport[indexEmployee].dashboardGoalExports[indexGoal].rankPoint;\r\n } else {\r\n this.dashboardEmployee[dashboardEmployeeExport[indexEmployee].dashboardGoalExports[indexGoal].goalName] =\r\n dashboardEmployeeExport[indexEmployee].dashboardGoalExports[indexGoal].value;\r\n this.dashboardEmployee[dashboardEmployeeExport[indexEmployee].dashboardGoalExports[indexGoal].goalName\r\n + ' ' + 'Rank'] = dashboardEmployeeExport[indexEmployee].dashboardGoalExports[indexGoal].rankPoint;\r\n }\r\n }\r\n exportData.push(this.dashboardEmployee);\r\n }\r\n\r\n const fileName = this.buildFileName('Dashboard Employees_');\r\n const date = this.getMonthWord(month, year);\r\n\r\n if (this.isEurope) {\r\n this.title = 'Dashboard Employees' + ' - ' + date;\r\n\r\n } else {\r\n this.title = 'Dashboard Employees - Group' + ' ' + levelValue + ' - ' + date;\r\n }\r\n this.xlsxExportSvc.generateExport(exportData, fileName, this.title);\r\n }\r\n\r\n\r\n buildFileName(title: string): string {\r\n const timeOfExport = new Date();\r\n const year = timeOfExport.getFullYear();\r\n const month = timeOfExport.getMonth() + 1;\r\n const day = timeOfExport.getDate();\r\n const monthString = this.checkNumber(month);\r\n const dayString = this.checkNumber(day);\r\n return title + year + '_' + monthString + '_' + dayString;\r\n }\r\n\r\n checkNumber(num: number): string {\r\n if (num > 9) {\r\n return num.toString();\r\n } else {\r\n return '0' + num.toString();\r\n }\r\n }\r\n\r\n getMonthWord(month: number, year: number) {\r\n switch (month) {\r\n case 1:\r\n return 'January ' + year.toString();\r\n case 2:\r\n return 'February ' + year.toString();\r\n case 3:\r\n return 'March ' + year.toString();\r\n case 4:\r\n return 'April ' + year.toString();\r\n case 5:\r\n return 'May ' + year.toString();\r\n case 6:\r\n return 'June ' + year.toString();\r\n case 7:\r\n return 'July ' + year.toString();\r\n case 8:\r\n return 'August ' + year.toString();\r\n case 9:\r\n return 'September ' + year.toString();\r\n case 10:\r\n return 'October ' + year.toString();\r\n case 11:\r\n return 'November ' + year.toString();\r\n case 12:\r\n return 'December ' + year.toString();\r\n }\r\n }\r\n}\r\n","import { DashboardGoalExport } from './dashboard-goal-export';\r\n\r\nexport class DashboardEmployeeExport {\r\n employeeName: string;\r\n rank: number;\r\n dailySalesPace: number;\r\n totalRankPoints: number;\r\n dashboardGoalExports: DashboardGoalExport[];\r\n}\r\n","import { Component, Input, OnInit } from '@angular/core';\r\nimport { DashboardEmployeeOverview } from '../../models/incoming-dtos/dashboard-employee-overview';\r\nimport { GoalActual } from '../../models/incoming-dtos/goal-actual';\r\nimport { DashboardEmployeeOverviewService } from './dashboard-employee-overview.service';\r\nimport { LoadingSpinnerService } from '../../shared/loading-spinner/loading-spinner.service';\r\nimport { PayMemo } from '../../models/incoming-dtos/pay-memo';\r\nimport { Observable, Subscription } from 'rxjs';\r\nimport { HelperMethodsService } from '../../shared/services/helper-methods.service';\r\nimport { UserService } from '../../security/user.service';\r\nimport { SubscriptionService } from '../../shared/services/subscription.service';\r\nimport { DashboardService } from '../dashboard.service';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { PayMemoModalComponent } from './pay-memo-modal/pay-memo-modal.component';\r\nimport { User } from '../../security/user';\r\nimport { DashboardEmployeeExportService } from './dashboard-employee-export.service';\r\nimport { AppInsightsService } from '../../shared/services/app-insights.service';\r\nimport { SecuredObjectService } from '../../security/secured-object.service';\r\nimport { finalize } from 'rxjs/operators';\r\nimport { StyleHelperService } from '../../shared/services/style-helper.service';\r\n\r\n@Component({\r\n selector: 'scoreboard-dashboard-employee-overview',\r\n templateUrl: './dashboard-employee-overview.component.html',\r\n styleUrls: ['./dashboard-employee-overview.component.scss']\r\n})\r\nexport class DashboardEmployeeOverviewComponent implements OnInit {\r\n @Input() dashboardEmployeeOverviewData: DashboardEmployeeOverview[];\r\n @Input() levelValue: string;\r\n @Input() month: number;\r\n @Input() year: number;\r\n @Input() user: User;\r\n @Input() isEurope: boolean;\r\n\r\n selectedEId: string;\r\n goalPrefix = new Array();\r\n goalSuffix = new Array();\r\n payMemo = new PayMemo();\r\n payMemo$ = new Observable();\r\n payMemoSubscription = new Subscription();\r\n\r\n dashboardSelectedEmployee = new DashboardEmployeeOverview();\r\n domWidth = document.body.offsetWidth;\r\n\r\n constructor(public dashboardEmpOverviewSvc: DashboardEmployeeOverviewService,\r\n public loadingSpinnerSvc: LoadingSpinnerService,\r\n public helperMethods: HelperMethodsService,\r\n public userService: UserService,\r\n public subscriptionSvc: SubscriptionService,\r\n private dashboardSvc: DashboardService,\r\n public dashboardEmployeeExportSvc: DashboardEmployeeExportService,\r\n private appInsightsSvc: AppInsightsService,\r\n public secObjectSvc: SecuredObjectService,\r\n public dialog: MatDialog,\r\n public styleHelper: StyleHelperService) {\r\n styleHelper.maxWidth = 1023;\r\n }\r\n\r\n ngOnInit() {\r\n if (!this.secObjectSvc.hasDashboardEmployeeFilterAccess()) {\r\n this.onEmployeeChanged(this.user.eId.replace('E', ''));\r\n }\r\n }\r\n\r\n onEmployeeChanged(selectedEmpId: string) {\r\n this.selectedEId = selectedEmpId;\r\n if (!this.helperMethods.isStringNullOrEmpty(this.selectedEId)) {\r\n this.filterOverviewData();\r\n this.checkNullForGoalValues();\r\n } else {\r\n this.dashboardEmployeeOverviewData = [];\r\n }\r\n }\r\n\r\n checkNullForGoalValues() {\r\n this.dashboardSelectedEmployee.goalActualDtos.forEach(goal => {\r\n const index = this.dashboardSelectedEmployee.goalActualDtos.indexOf(goal);\r\n if (goal.goalName === 'Order of Merit') {\r\n goal.goalValue = '';\r\n this.goalPrefix[index] = '';\r\n this.goalSuffix[index] = '';\r\n\r\n } else if (goal.goalValue === null) {\r\n goal.goalValue = '-';\r\n this.goalPrefix[index] = '';\r\n this.goalSuffix[index] = '';\r\n } else {\r\n this.goalPrefix[index] = goal.prefix;\r\n this.goalSuffix[index] = goal.suffix;\r\n }\r\n });\r\n if (this.dashboardSelectedEmployee.salesPaceGoal === null) {\r\n this.dashboardSelectedEmployee.salesPaceGoal = '-';\r\n }\r\n }\r\n\r\n getPaceArrow(): string {\r\n if (this.dashboardSelectedEmployee.salesPaceOnTrack) {\r\n return this.styleHelper.changeClass('col-3', 'col-1') + ' icon-arrow-up';\r\n } else {\r\n return this.styleHelper.changeClass('col-3', 'col-1') + ' icon-arrow-down';\r\n }\r\n }\r\n\r\n getSymbol(goalActual: GoalActual): string {\r\n if (goalActual.onTrack) {\r\n if (goalActual.goalName.includes('Reversal')) {\r\n if (Number(goalActual.goalValue) === goalActual.actualValue) {\r\n return this.styleHelper.changeClass('col-2', 'col-1') + ' icon icon-arrow-up';\r\n }\r\n return this.styleHelper.changeClass('col-2', 'col-1') + ' icon icon-arrow-down';\r\n } else {\r\n return this.styleHelper.changeClass('col-2', 'col-1') + ' icon icon-arrow-up';\r\n }\r\n\r\n } else {\r\n if (goalActual.goalName.includes('Reversal')) {\r\n return this.styleHelper.changeClass('col-2', 'col-1') + ' icon icon-arrow-up';\r\n } else {\r\n return this.styleHelper.changeClass('col-2', 'col-1') + ' icon icon-arrow-down';\r\n }\r\n }\r\n }\r\n\r\n isReversedMetric(goalActual: GoalActual): boolean {\r\n return this.dashboardSvc.getAsterisk(goalActual);\r\n }\r\n\r\n filterOverviewData() {\r\n this.dashboardSelectedEmployee = this.dashboardEmpOverviewSvc.filterOverviewData(this.selectedEId,\r\n this.dashboardEmployeeOverviewData);\r\n }\r\n\r\n getPayMemoForSelectedEmployee() {\r\n this.payMemo$ = this.dashboardSvc.getPayMemoForSelectedEmployee(this.user.eId, this.year, this.month);\r\n this.subscribeToPayMemoData();\r\n }\r\n\r\n subscribeToPayMemoData() {\r\n this.payMemoSubscription.unsubscribe();\r\n this.payMemo = new PayMemo();\r\n this.loadingSpinnerSvc.turnSpinnerOn('Loading...');\r\n\r\n this.payMemoSubscription = this.payMemo$\r\n .pipe(\r\n finalize(() => {\r\n this.loadingSpinnerSvc.turnSpinnerOff();\r\n })\r\n )\r\n .subscribe(\r\n payMemo => {\r\n if (payMemo === null) {\r\n this.userService.alertUser('No pay memo data found.');\r\n this.loadingSpinnerSvc.turnSpinnerOff();\r\n } else {\r\n this.payMemo = payMemo;\r\n this.openPayMemoModal();\r\n }\r\n },\r\n err => {\r\n this.subscriptionSvc.onError(err, 'GetPayMemoForSelectedEmployee');\r\n this.loadingSpinnerSvc.turnSpinnerOff();\r\n }\r\n );\r\n }\r\n\r\n openPayMemoModal() {\r\n this.dialog.open(PayMemoModalComponent, {\r\n width: '450px',\r\n data: { payMemo: this.payMemo, isEurope: this.isEurope }\r\n });\r\n }\r\n\r\n checkColumnSize(): string {\r\n return this.determineScreenSize();\r\n }\r\n\r\n determineScreenSize(): string {\r\n if (this.domWidth >= 1500) {\r\n return 'col-sm-2'; // Desktop view\r\n } else if (this.domWidth <= 1499 && this.domWidth >= 800) {\r\n return 'col-3'; // Laptop view\r\n } else {\r\n return 'col-5'; // Mobile view\r\n }\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { DashboardEmployeeOverview } from '../../models/incoming-dtos/dashboard-employee-overview';\r\n\r\n@Injectable()\r\nexport class DashboardEmployeeOverviewService {\r\n filterOverviewData(selectedEId: string, dashboardOverviewData: DashboardEmployeeOverview[]): DashboardEmployeeOverview {\r\n let employeeOverviewData = new DashboardEmployeeOverview();\r\n dashboardOverviewData.forEach(employee => {\r\n if (employee.employeeDto.eId === selectedEId) {\r\n employeeOverviewData = employee;\r\n }\r\n });\r\n return employeeOverviewData;\r\n }\r\n}\r\n","import { Component, OnInit, Inject, Input } from '@angular/core';\r\nimport { PayMemo } from '../../../models/incoming-dtos/pay-memo';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\n\r\n@Component({\r\n selector: 'scoreboard-pay-memo-modal',\r\n templateUrl: './pay-memo-modal.component.html',\r\n styleUrls: ['./pay-memo-modal.component.scss']\r\n})\r\nexport class PayMemoModalComponent implements OnInit {\r\n isEurope: boolean;\r\n payMemo: PayMemo;\r\n dataSource = new MatTableDataSource();\r\n\r\n constructor(public dialogRef: MatDialogRef,\r\n @Inject(MAT_DIALOG_DATA) public data: any) {\r\n }\r\n\r\n ngOnInit() {\r\n // Multiplying by 100 to match pay memo page and dashboard data.\r\n this.data.payMemo.agedPercentageActual = this.data.payMemo.agedPercentageActual * 100;\r\n this.data.payMemo.agedPercentageTarget = this.data.payMemo.agedPercentageTarget * 100;\r\n this.data.payMemo.localBoostPercentActual = this.data.payMemo.localBoostPercentActual * 100;\r\n this.data.payMemo.localBoostPercentTarget = this.data.payMemo.localBoostPercentTarget * 100;\r\n this.payMemo = this.data.payMemo;\r\n this.isEurope = this.data.isEurope;\r\n }\r\n\r\n onClose() {\r\n this.dialogRef.close();\r\n }\r\n}\r\n","import { Component, Input } from '@angular/core';\r\nimport { LoadingSpinnerService } from '../../shared/loading-spinner/loading-spinner.service';\r\nimport { StyleHelperService } from '../../shared/services/style-helper.service';\r\nimport { DashboardGroupGraph } from '../../models/incoming-dtos/dashboard-group-graph';\r\nimport { DashboardGroupGraphService } from './dashboard-group-graph.service';\r\nimport { DashboardGraphData } from '../dashboard-graph-data';\r\n\r\n@Component({\r\n selector: 'scoreboard-dashboard-group-graph',\r\n templateUrl: './dashboard-group-graph.component.html',\r\n styleUrls: ['./dashboard-group-graph.component.scss']\r\n})\r\nexport class DashboardGroupGraphComponent {\r\n @Input() dashboardGroupGraphData: DashboardGroupGraph[];\r\n @Input() levelValue: string;\r\n filteredDashboardGraphData = new Array();\r\n selectedGoalId: number;\r\n results = new Array();\r\n minValue: number;\r\n gapValue = 10;\r\n maxValue: any;\r\n\r\n constructor(public loadingSpinnerSvc: LoadingSpinnerService,\r\n public dashboardGroupGraphSvc: DashboardGroupGraphService,\r\n public styleHelper: StyleHelperService) {\r\n styleHelper.maxWidth = 1023;\r\n }\r\n\r\n filterData() {\r\n this.filteredDashboardGraphData = this.dashboardGroupGraphData.filter(x => x.goalActual.goalId === this.selectedGoalId); // filtering master list of data on selected goal\r\n this.filteredDashboardGraphData = this.dashboardGroupGraphSvc.sortByRank(this.filteredDashboardGraphData);\r\n this.plugGraphData();\r\n }\r\n\r\n plugGraphData() {\r\n this.results = [];\r\n this.results = this.dashboardGroupGraphSvc.plugGraphData(this.filteredDashboardGraphData);\r\n const values = [];\r\n\r\n this.filteredDashboardGraphData.forEach((x) => {\r\n values.push(x.goalActual.goalValue);\r\n values.push(x.goalActual.actualValue + x.goalActual.pendingValue);\r\n });\r\n\r\n values.sort((x, y) => {\r\n return x - y;\r\n });\r\n this.minValue = values[0] - this.gapValue;\r\n values.reverse();\r\n this.maxValue = values[0];\r\n this.loadingSpinnerSvc.turnSpinnerOff();\r\n }\r\n\r\n onGoalFilterChanged(value: number) {\r\n this.selectedGoalId = value;\r\n this.filterData();\r\n }\r\n\r\n getPaceArrow(isOnTrack: boolean): string {\r\n if (isOnTrack) {\r\n return 'icon-arrow-up';\r\n } else {\r\n return 'icon-arrow-down';\r\n }\r\n }\r\n\r\n calculateActualWidth(actualValue: number): string {\r\n return this.getPercentage(actualValue) + '%';\r\n }\r\n\r\n private getPercentage(value: number) {\r\n return (Math.abs(this.minValue) + +value) / (Math.abs(this.minValue) + this.maxValue) * 100;\r\n }\r\n\r\n calculateGoalWidth(goalValue: number): string {\r\n if (goalValue.toString() !== '-') {\r\n return this.getPercentage(goalValue) + '%';\r\n } else {\r\n return 0 + '%';\r\n }\r\n }\r\n\r\n calculatePendingWidth(actualValue: number, pendingValue: number): string {\r\n return this.getPercentage(+actualValue + +pendingValue) + '%';\r\n }\r\n\r\n isOnTrack(onTrack: boolean): string {\r\n if (onTrack) {\r\n return '#4CB050';\r\n } else {\r\n return '#F44236';\r\n }\r\n }\r\n\r\n isPendingOnTrack(onTrack: boolean): string {\r\n if (onTrack) {\r\n return '#A5D6A7';\r\n } else {\r\n return '#EF9A9A';\r\n }\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { DashboardGroupGraph } from '../../models/incoming-dtos/dashboard-group-graph';\r\nimport { DashboardGraphData } from '../dashboard-graph-data';\r\nimport { HelperMethodsService } from '../../shared/services/helper-methods.service';\r\n\r\n@Injectable()\r\nexport class DashboardGroupGraphService {\r\n constructor(public helperMethods: HelperMethodsService) {}\r\n\r\n sortByRank(filteredDashboardGraphData: DashboardGroupGraph[]): DashboardGroupGraph[] {\r\n return filteredDashboardGraphData.sort((a, b) => this.helperMethods.compareNumbers(b.goalActual.rankPoint, a.goalActual.rankPoint));\r\n }\r\n\r\n plugGraphData(filteredDashboardGraphData: DashboardGroupGraph[]): DashboardGraphData[] {\r\n let graphData = new Array();\r\n filteredDashboardGraphData.forEach(result => {\r\n const actualValue = result.goalActual.actualValue != null ? result.goalActual.actualValue : 0;\r\n const pendingValue = result.goalActual.pendingValue > 0 ? result.goalActual.pendingValue : 0;\r\n const goalDisplayValue = this.checkGoalValue(result);\r\n const shouldShowPending = this.checkIfPendingIsNeeded(result);\r\n graphData.push({\r\n name: result.group.name,\r\n jobTitle: '',\r\n series: [\r\n {\r\n name: result.goalActual.onTrack ? 'Actual' : 'Actual*',\r\n value: actualValue,\r\n displayValue: actualValue.toString(),\r\n shouldShow: true\r\n },\r\n {\r\n name: result.goalActual.onTrack ? 'Pending' : 'Pending*',\r\n value: pendingValue,\r\n displayValue: pendingValue.toString(),\r\n shouldShow: shouldShowPending\r\n },\r\n {\r\n name: 'Goal',\r\n value: result.goalActual.goalValue,\r\n displayValue: goalDisplayValue,\r\n shouldShow: true\r\n }\r\n ],\r\n onTrack: result.goalActual.onTrack,\r\n rankPoint: result.goalActual.rankPoint,\r\n prefix: result.goalActual.prefix,\r\n suffix: result.goalActual.suffix\r\n })\r\n });\r\n graphData = this.checkForNegatives(graphData);\r\n return graphData;\r\n }\r\n\r\n checkForNegatives(graphData: DashboardGraphData[]): DashboardGraphData[] {\r\n let actualNegativeVal = this.getHighestNumber(graphData);\r\n const makeNegVal = actualNegativeVal * 2;\r\n actualNegativeVal = actualNegativeVal - makeNegVal;\r\n graphData.forEach(obj => {\r\n if (obj.series[2].value == null) {\r\n obj.series[2].value = 0;\r\n }\r\n\r\n if (obj.series[0].value < 0) { // negative\r\n obj.series[0].value = actualNegativeVal;\r\n if (obj.series[1].value < 0) { // negative\r\n obj.series[1].value = 0;\r\n }\r\n if (obj.series[2].value < 0) { // negative\r\n obj.series[2].value = 0;\r\n }\r\n }\r\n if (obj.series[2].value < 0) {\r\n obj.series[2].value = 0;\r\n }\r\n if (obj.series[0].value > obj.series[2].value) {\r\n obj.series[2].value = 0;\r\n }\r\n if ((obj.series[0].value < obj.series[2].value) && (obj.series[0].value > 0)) {\r\n obj.series[2].value = obj.series[2].value - obj.series[0].value - obj.series[1].value;\r\n }\r\n });\r\n return graphData;\r\n }\r\n\r\n getHighestNumber(graphData: DashboardGraphData[]): any {\r\n let highestActualNumber = 0;\r\n let actualNegativeVal = 0;\r\n graphData.forEach(obj => {\r\n if (obj.series[0].value > highestActualNumber) {\r\n highestActualNumber = obj.series[0].value;\r\n actualNegativeVal = highestActualNumber * .02;\r\n }\r\n if (obj.series[2].value > highestActualNumber) {\r\n highestActualNumber = obj.series[2].value;\r\n actualNegativeVal = highestActualNumber * .02;\r\n } else if (this.helperMethods.isNumberNullOrUndefined(actualNegativeVal)) {\r\n actualNegativeVal = -1;\r\n }\r\n });\r\n return actualNegativeVal;\r\n }\r\n\r\n checkIfPendingIsNeeded(result: DashboardGroupGraph): any {\r\n return result.goalActual.goalName === 'Sales Volume';\r\n }\r\n\r\n checkGoalValue(result: DashboardGroupGraph): any {\r\n let value: string;\r\n if (result.goalActual.goalValue === null) {\r\n value = '-';\r\n } else {\r\n value = result.goalActual.goalValue.toString();\r\n }\r\n return value;\r\n }\r\n}\r\n","import { Component, Input, OnChanges } from '@angular/core';\r\nimport { DashboardGroupOverview } from '../../models/incoming-dtos/dashboard-group-overview';\r\nimport { GoalActual } from '../../models/incoming-dtos/goal-actual';\r\nimport { StyleHelperService } from '../../shared/services/style-helper.service';\r\nimport { DashboardGroupOverviewService } from './dashboard-group-overview.service';\r\n\r\n@Component({\r\n selector: 'scoreboard-dashboard-group-overview',\r\n templateUrl: './dashboard-group-overview.component.html',\r\n styleUrls: ['./dashboard-group-overview.component.scss']\r\n})\r\nexport class DashboardGroupOverviewComponent implements OnChanges {\r\n @Input() dashboardGroupOverviewData: DashboardGroupOverview[];\r\n @Input() levelValue: string;\r\n @Input() month: number;\r\n @Input() year: number;\r\n @Input() isEurope: boolean;\r\n goalPrefix = new Array();\r\n goalSuffix = new Array();\r\n selectedGoalActuals = new Array();\r\n aged = 'Aged %';\r\n deleteToSaleDays = 'Delete To Sale Days';\r\n localBoost = 'Local Boost as a % of DR Fleet';\r\n domWidth: number;\r\n dashboardSelectedGroup = new DashboardGroupOverview();\r\n\r\n constructor(public dashboardGroupOverviewSvc: DashboardGroupOverviewService,\r\n public styleHelper: StyleHelperService) {\r\n styleHelper.maxWidth = 1023;\r\n }\r\n\r\n ngOnChanges() {\r\n this.filterOverviewData();\r\n this.checkNullForGoalValues();\r\n }\r\n\r\n filterOverviewData(): any {\r\n this.dashboardSelectedGroup = this.dashboardGroupOverviewSvc.filterOverviewData(this.levelValue,\r\n this.dashboardGroupOverviewData);\r\n }\r\n\r\n checkNullForGoalValues() {\r\n this.dashboardGroupOverviewData.forEach(element => {\r\n element.goalActuals.forEach(goal => {\r\n const index = element.goalActuals.indexOf(goal);\r\n if (goal.goalValue === null) {\r\n goal.goalValue = '-';\r\n this.goalPrefix[index] = '';\r\n this.goalSuffix[index] = '';\r\n } else {\r\n this.goalPrefix[index] = goal.prefix;\r\n this.goalSuffix[index] = goal.suffix;\r\n }\r\n });\r\n if (element.salesPaceGoal === null) {\r\n element.salesPaceGoal = '-';\r\n }\r\n });\r\n }\r\n\r\n getPaceArrow(): string {\r\n if (this.dashboardSelectedGroup.salesPaceOnTrack) {\r\n return 'icon-arrow-up';\r\n } else {\r\n return 'icon-arrow-down';\r\n }\r\n }\r\n\r\n getSymbol(goalActual: GoalActual): string {\r\n if (goalActual.onTrack) {\r\n return 'icon-arrow-up';\r\n } else {\r\n return 'icon-arrow-down';\r\n }\r\n }\r\n\r\n checkColumnSize(): string {\r\n const domWidth = document.body.offsetWidth;\r\n this.domWidth = domWidth;\r\n return this.determineScreenSize();\r\n }\r\n\r\n determineScreenSize(): string {\r\n if (this.domWidth >= 1500) {\r\n return 'col-sm-2'; // Desktop view\r\n } else if (this.domWidth <= 1499 && this.domWidth >= 1350) {\r\n return 'col-md-3'; // Laptop view\r\n } else if (this.domWidth <= 1349 && this.domWidth > 700) {\r\n return 'col-3'; // Tablet view\r\n } else {\r\n return 'col-5'; // Mobile view\r\n }\r\n }\r\n\r\n checkCountry(): string {\r\n const style = 'europe-padding';\r\n if (this.isEurope) {\r\n return style;\r\n } else {\r\n return '';\r\n }\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { DashboardGroupOverview } from '../../models/incoming-dtos/dashboard-group-overview';\r\n\r\n@Injectable()\r\nexport class DashboardGroupOverviewService {\r\n filterOverviewData(selectedGroupId: string, dashboardOverviewData: DashboardGroupOverview[]): DashboardGroupOverview {\r\n let groupOverviewData = new DashboardGroupOverview();\r\n dashboardOverviewData.forEach(group => {\r\n if (group.ehiGroup.name.toLowerCase() === selectedGroupId.toLowerCase()) {\r\n groupOverviewData = group;\r\n group.goalActuals = group.goalActuals.filter(x => !x.goalName.includes('Growth Champion') && x.goalName !== 'Order of Merit')\r\n }\r\n })\r\n return groupOverviewData;\r\n }\r\n}\r\n","import { CanActivate, Router } from '@angular/router';\r\nimport { Injectable } from '@angular/core';\r\nimport { UserService } from '../security/user.service';\r\nimport { SecuredObjectService } from '../security/secured-object.service';\r\nimport { map } from 'rxjs/operators';\r\n\r\n@Injectable()\r\nexport class DashboardRouteActivator implements CanActivate {\r\n\r\n constructor(private userService: UserService,\r\n private secObjService: SecuredObjectService,\r\n private router: Router) {}\r\n\r\n canActivate() {\r\n return this.userService.userSource$.pipe(map((user) => {\r\n if (user) {\r\n if (this.hasAccess()) {\r\n return true;\r\n } else {\r\n this.router.navigate(['page-not-found']);\r\n }\r\n }\r\n return false;\r\n }));\r\n }\r\n\r\n hasAccess(): boolean {\r\n return this.secObjService.hasDashboardPageAccess();\r\n }\r\n}\r\n","import { Component, Input } from '@angular/core';\r\nimport { DashboardTeamGraph } from '../../models/incoming-dtos/dashboard-team-graph';\r\nimport { LoadingSpinnerService } from '../../shared/loading-spinner/loading-spinner.service';\r\nimport { DashboardTeamGraphService } from './dashboard-team-graph.service';\r\nimport { DashboardGraphData } from '../dashboard-graph-data';\r\nimport { StyleHelperService } from '../../shared/services/style-helper.service';\r\nimport { environment } from '../../../environments/environment';\r\n\r\n@Component({\r\n selector: 'scoreboard-dashboard-team-graph',\r\n templateUrl: './dashboard-team-graph.component.html',\r\n styleUrls: ['./dashboard-team-graph.component.scss']\r\n})\r\nexport class DashboardTeamGraphComponent {\r\n @Input() dashboardTeamGraphData: DashboardTeamGraph[];\r\n @Input() levelValue: string;\r\n @Input() year: number;\r\n @Input() month: number;\r\n\r\n selectedGoalId: number;\r\n orderOfMeritList: Array;\r\n results = new Array();\r\n view: any;\r\n filteredDashboardGraphData = new Array();\r\n minValue: any;\r\n maxValue: any;\r\n gapValue = 10;\r\n isOrderOfMerit: boolean;\r\n\r\n constructor(public loadingSpinnerSvc: LoadingSpinnerService,\r\n public dashboardTeamGraphSvc: DashboardTeamGraphService,\r\n public styleHelper: StyleHelperService) {\r\n styleHelper.maxWidth = 1023;\r\n }\r\n\r\n filterData() {\r\n this.filteredDashboardGraphData = this.dashboardTeamGraphData.filter(x => x.goalActual.goalId === this.selectedGoalId); // filtering master list of data on selected goal\r\n this.filteredDashboardGraphData = this.dashboardTeamGraphSvc.sortByRank(this.filteredDashboardGraphData);\r\n this.plugGraphData();\r\n }\r\n\r\n plugGraphData() {\r\n this.results = [];\r\n this.results = this.dashboardTeamGraphSvc.plugGraphData(this.filteredDashboardGraphData);\r\n const values = [];\r\n\r\n this.filteredDashboardGraphData.forEach((x) => {\r\n values.push(x.goalActual.goalValue);\r\n values.push(x.goalActual.actualValue + x.goalActual.pendingValue);\r\n });\r\n\r\n values.sort((x, y) => {\r\n return x - y;\r\n });\r\n this.minValue = values[0] - this.gapValue;\r\n values.reverse();\r\n this.maxValue = values[0];\r\n this.loadingSpinnerSvc.turnSpinnerOff();\r\n }\r\n\r\n onGoalFilterChanged(value: number) {\r\n this.selectedGoalId = value;\r\n this.filterData();\r\n this.orderOfMeritList = environment.orderOfMeritgoalIDs;\r\n\r\n if (this.orderOfMeritList.indexOf(this.selectedGoalId) > -1) {\r\n this.isOrderOfMerit = true;\r\n } else { this.isOrderOfMerit = false; }\r\n }\r\n\r\n getPaceArrow(isOnTrack: boolean): string {\r\n if (isOnTrack) {\r\n return 'icon-arrow-up';\r\n } else {\r\n return 'icon-arrow-down';\r\n }\r\n }\r\n\r\n calculateActualWidth(actualValue: number): string {\r\n return this.getPercentage(actualValue) + '%';\r\n }\r\n\r\n private getPercentage(value: number) {\r\n return (Math.abs(this.minValue) + +value) / (Math.abs(this.minValue) + this.maxValue) * 100;\r\n }\r\n\r\n calculateGoalWidth(goalValue: number): string {\r\n if (goalValue.toString() !== '-') {\r\n return this.getPercentage(goalValue) + '%';\r\n } else {\r\n return 0 + '%';\r\n }\r\n }\r\n\r\n calculatePendingWidth(actualValue: number, pendingValue: number): string {\r\n return this.getPercentage(+actualValue + +pendingValue) + '%';\r\n }\r\n\r\n isOnTrack(onTrack: boolean): string {\r\n if (onTrack) {\r\n return '#4CB050';\r\n } else {\r\n return '#F44236';\r\n }\r\n }\r\n\r\n isPendingOnTrack(onTrack: boolean): string {\r\n if (onTrack) {\r\n return '#A5D6A7';\r\n } else {\r\n return '#EF9A9A';\r\n }\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { DashboardTeamGraph } from '../../models/incoming-dtos/dashboard-team-graph';\r\nimport { DashboardGraphData } from '../dashboard-graph-data';\r\nimport { HelperMethodsService } from '../../shared/services/helper-methods.service';\r\n\r\n@Injectable()\r\nexport class DashboardTeamGraphService {\r\n\r\n constructor(public helperMethods: HelperMethodsService) {}\r\n\r\n plugGraphData(filteredDashboardGraphData: DashboardTeamGraph[]): DashboardGraphData[] {\r\n let graphData = new Array();\r\n filteredDashboardGraphData.forEach(result => {\r\n const actualValue = result.goalActual.actualValue != null ? result.goalActual.actualValue : 0;\r\n const pendingValue = result.goalActual.pendingValue > 0 ? result.goalActual.pendingValue : 0;\r\n const goalDisplayValue = this.checkGoalValue(result);\r\n const shouldShowPending = this.checkIfPendingIsNeeded(result);\r\n graphData.push({\r\n name: result.team.name,\r\n jobTitle: '',\r\n series: [\r\n {\r\n name: result.goalActual.onTrack ? 'Actual' : 'Actual*',\r\n value: actualValue,\r\n displayValue: actualValue.toString(),\r\n shouldShow: true\r\n },\r\n {\r\n name: result.goalActual.onTrack ? 'Pending' : 'Pending*',\r\n value: pendingValue,\r\n displayValue: pendingValue.toString(),\r\n shouldShow: shouldShowPending\r\n },\r\n {\r\n name: 'Goal',\r\n value: result.goalActual.goalValue,\r\n displayValue: goalDisplayValue,\r\n shouldShow: true\r\n }\r\n ],\r\n onTrack: result.goalActual.onTrack,\r\n rankPoint: result.goalActual.rankPoint,\r\n prefix: result.goalActual.prefix,\r\n suffix: result.goalActual.suffix\r\n });\r\n });\r\n graphData = this.checkForNegatives(graphData);\r\n return graphData;\r\n }\r\n\r\n checkForNegatives(graphData: DashboardGraphData[]): DashboardGraphData[] {\r\n let actualNegativeVal = this.getHighestNumber(graphData);\r\n const makeNegVal = actualNegativeVal * 2;\r\n actualNegativeVal = actualNegativeVal - makeNegVal;\r\n graphData.forEach(obj => {\r\n if (obj.series[2].value == null) {\r\n obj.series[2].value = 0;\r\n }\r\n\r\n if (obj.series[0].value < 0) { // negative\r\n obj.series[0].value = actualNegativeVal;\r\n if (obj.series[1].value < 0) { // negative\r\n obj.series[1].value = 0;\r\n }\r\n if (obj.series[2].value < 0) { // negative\r\n obj.series[2].value = 0;\r\n }\r\n }\r\n if (obj.series[2].value < 0) {\r\n obj.series[2].value = 0;\r\n }\r\n if (obj.series[0].value > obj.series[2].value) {\r\n obj.series[2].value = 0;\r\n }\r\n if ((obj.series[0].value < obj.series[2].value) && (obj.series[0].value > 0)) {\r\n obj.series[2].value = obj.series[2].value - obj.series[0].value - obj.series[1].value;\r\n }\r\n });\r\n return graphData;\r\n }\r\n\r\n getHighestNumber(graphData: DashboardGraphData[]): number {\r\n let highestActualNumber = 0;\r\n let actualNegativeVal = 0;\r\n graphData.forEach(obj => {\r\n if (obj.series[0].value > highestActualNumber) {\r\n highestActualNumber = obj.series[0].value;\r\n actualNegativeVal = highestActualNumber * .02;\r\n }\r\n if (obj.series[2].value > highestActualNumber) {\r\n highestActualNumber = obj.series[2].value;\r\n actualNegativeVal = highestActualNumber * .02;\r\n } else if (this.helperMethods.isNumberNullOrUndefined(actualNegativeVal)) {\r\n actualNegativeVal = -1;\r\n }\r\n });\r\n return actualNegativeVal;\r\n }\r\n\r\n checkGoalValue(result: DashboardTeamGraph): string {\r\n let value: string;\r\n if (result.goalActual.goalValue === null) {\r\n value = '-';\r\n } else {\r\n value = result.goalActual.goalValue.toString();\r\n }\r\n return value;\r\n }\r\n\r\n checkIfPendingIsNeeded(result: DashboardTeamGraph): boolean {\r\n return result.goalActual.goalName === 'Sales Volume';\r\n }\r\n\r\n sortByRank(filteredDashboardGraphData: DashboardTeamGraph[]): DashboardTeamGraph[] {\r\n return filteredDashboardGraphData.sort((a, b) => this.helperMethods.compareNumbers(b.goalActual.rankPoint, a.goalActual.rankPoint));\r\n }\r\n}\r\n","import { Component, Input } from '@angular/core';\r\nimport { DashboardTeamOverview } from '../../models/incoming-dtos/dashboard-team-overview';\r\nimport { GoalActual } from '../../models/incoming-dtos/goal-actual';\r\nimport { DashboardTeamOverviewService } from './dashboard-team-overview.service';\r\nimport { LoadingSpinnerService } from '../../shared/loading-spinner/loading-spinner.service';\r\nimport { DashboardService } from '../dashboard.service';\r\nimport { StyleHelperService } from '../../shared/services/style-helper.service';\r\n\r\n@Component({\r\n selector: 'scoreboard-dashboard-team-overview',\r\n templateUrl: './dashboard-team-overview.component.html',\r\n styleUrls: ['./dashboard-team-overview.component.scss']\r\n})\r\nexport class DashboardTeamOverviewComponent {\r\n @Input() dashboardTeamOverviewData: DashboardTeamOverview[];\r\n @Input() levelValue: string;\r\n @Input() month: number;\r\n @Input() year: number;\r\n @Input() isEurope: boolean;\r\n selectedTeamId: number;\r\n goalPrefix = new Array();\r\n goalSuffix = new Array();\r\n isAllNeeded = false;\r\n domWidth: number;\r\n\r\n dashboardSelectedTeam = new DashboardTeamOverview();\r\n\r\n constructor(public dashboardTeamOverviewSvc: DashboardTeamOverviewService,\r\n public loadingSpinnerSvc: LoadingSpinnerService,\r\n public dashboardService: DashboardService,\r\n public styleHelper: StyleHelperService) {\r\n styleHelper.maxWidth = 1023;\r\n }\r\n\r\n onTeamChange(selectedTeamId: number) {\r\n this.selectedTeamId = selectedTeamId;\r\n this.filterOverviewData();\r\n this.checkNullForGoalValues();\r\n }\r\n\r\n checkNullForGoalValues() {\r\n this.dashboardSelectedTeam.goalActuals.forEach(goal => {\r\n const index = this.dashboardSelectedTeam.goalActuals.indexOf(goal);\r\n if (goal.goalValue === null) {\r\n goal.goalValue = '-';\r\n this.goalPrefix[index] = '';\r\n this.goalSuffix[index] = '';\r\n } else {\r\n this.goalPrefix[index] = goal.prefix;\r\n this.goalSuffix[index] = goal.suffix;\r\n }\r\n });\r\n if (this.dashboardSelectedTeam.salesPaceGoal === null) {\r\n this.dashboardSelectedTeam.salesPaceGoal = '-';\r\n }\r\n }\r\n\r\n getPaceArrow(): string {\r\n if (this.dashboardSelectedTeam.salesPaceOnTrack) {\r\n return this.styleHelper.changeClass('col-6', 'col-2') + ' icon-arrow icon-arrow-up';\r\n } else {\r\n return this.styleHelper.changeClass('col-6', 'col-2') + ' icon-arrow icon-arrow-down';\r\n }\r\n }\r\n\r\n getSymbol(goalActual: GoalActual): string {\r\n if (goalActual.onTrack) {\r\n if (goalActual.goalName.includes('Reversal')) {\r\n if (Number(goalActual.goalValue) === goalActual.actualValue) {\r\n return this.styleHelper.changeClass('col-2', 'col-1') + ' icon icon-arrow-up';\r\n }\r\n return this.styleHelper.changeClass('col-2', 'col-1') + ' icon icon-arrow-down';\r\n } else {\r\n return this.styleHelper.changeClass('col-2', 'col-1') + ' icon icon-arrow-up';\r\n }\r\n\r\n } else {\r\n if (goalActual.goalName.includes('Reversal')) {\r\n return this.styleHelper.changeClass('col-2', 'col-1') + ' icon icon-arrow-up';\r\n } else {\r\n return this.styleHelper.changeClass('col-2', 'col-1') + ' icon icon-arrow-down';\r\n }\r\n }\r\n }\r\n\r\n isReversedMetric(goalActual: GoalActual): boolean {\r\n return this.dashboardService.getAsterisk(goalActual);\r\n }\r\n\r\n filterOverviewData() {\r\n this.dashboardSelectedTeam = this.dashboardTeamOverviewSvc.filterOverviewData(this.selectedTeamId,\r\n this.dashboardTeamOverviewData);\r\n }\r\n\r\n checkColumnSize(): string {\r\n const domWidth = document.body.offsetWidth;\r\n this.domWidth = domWidth;\r\n return this.determineScreenSize();\r\n }\r\n\r\n determineScreenSize(): string {\r\n if (this.domWidth >= 1500) {\r\n return 'col-sm-2'; // Desktop view\r\n } else if (this.domWidth <= 1499 && this.domWidth >= 1100) {\r\n return 'col-md-3'; // Laptop view\r\n } else if (this.domWidth <= 1099 && this.domWidth >= 800) {\r\n return 'col-3'; // Tablet View\r\n } else {\r\n return 'col-5'; // Mobile view\r\n }\r\n }\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { DashboardTeamOverview } from '../../models/incoming-dtos/dashboard-team-overview';\r\n\r\n@Injectable()\r\nexport class DashboardTeamOverviewService {\r\n filterOverviewData(selectedTeamId: number, dashboardOverviewData: DashboardTeamOverview[]): DashboardTeamOverview {\r\n let employeeOverviewData = new DashboardTeamOverview();\r\n dashboardOverviewData.forEach(employee => {\r\n if (employee.team.id === selectedTeamId) {\r\n employee.goalActuals = employee.goalActuals.filter(x => x.goalName !== 'Order of Merit')\r\n employeeOverviewData = employee;\r\n\r\n }\r\n });\r\n return employeeOverviewData;\r\n }\r\n}\r\n","import { Component, OnInit, OnDestroy } from '@angular/core';\r\nimport { UserService } from '../security/user.service';\r\nimport { BaseComponent } from '../shared/base/base.component';\r\nimport { AppInsightsService } from '../shared/services/app-insights.service';\r\nimport { HelperMethodsService } from '../shared/services/helper-methods.service';\r\nimport { groupLevels } from '../shared/static-data/group-levels';\r\nimport { MatTabChangeEvent } from '@angular/material/tabs';\r\nimport { SecuredObjectService } from '../security/secured-object.service';\r\nimport { Observable } from 'rxjs';\r\nimport { Subscription } from 'rxjs';\r\nimport { SubscriptionService } from '../shared/services/subscription.service';\r\nimport { LoadingSpinnerService } from '../shared/loading-spinner/loading-spinner.service';\r\nimport { DashboardService } from './dashboard.service';\r\nimport { DashboardEmployeeOverview } from '../models/incoming-dtos/dashboard-employee-overview';\r\nimport { DashboardEmployee } from '../models/incoming-dtos/dashboard-employee';\r\nimport { DashboardEmployeeGraph } from '../models/incoming-dtos/dashboard-employee-graph';\r\nimport { DashboardTeamOverview } from '../models/incoming-dtos/dashboard-team-overview';\r\nimport { DashboardTeamGraph } from '../models/incoming-dtos/dashboard-team-graph';\r\nimport { DashboardTeam } from '../models/incoming-dtos/dashboard-team';\r\nimport { DashboardGroupOverview } from '../models/incoming-dtos/dashboard-group-overview';\r\nimport { CoreFiltersService } from '../shared/services/core-filters.service';\r\nimport { DashboardGroup } from '../models/incoming-dtos/dashboard-group';\r\nimport { DashboardGroupGraph } from '../models/incoming-dtos/dashboard-group-graph';\r\nimport { finalize } from 'rxjs/operators';\r\nimport { environment } from '../../environments/environment';\r\n\r\n@Component({\r\n selector: 'scoreboard-dashboard',\r\n templateUrl: './dashboard.component.html',\r\n styleUrls: ['./dashboard.component.scss']\r\n})\r\nexport class DashboardComponent extends BaseComponent implements OnInit, OnDestroy {\r\n currentSelectedTab = 0;\r\n\r\n dashboardEmployeeOverviewData = new Array();\r\n dashboardEmployeeGraphData = new Array();\r\n dashboardEmployeeData$: Observable;\r\n dashboardEmployeeSubscription = new Subscription();\r\n\r\n dashboardTeamOverviewData = new Array();\r\n dashboardTeamGraphData = new Array();\r\n dashboardTeamData$: Observable;\r\n dashboardTeamSubscription = new Subscription();\r\n\r\n dashboardGroupData$ = new Observable();\r\n dashboardGroupSubscription = new Subscription();\r\n coreFilterSubscription = new Subscription();\r\n\r\n selectedTeamId: number;\r\n selectedGoalId: number;\r\n dashboardGroupOverviewData: DashboardGroupOverview;\r\n dashboardGroupGraphData: DashboardGroupGraph[];\r\n\r\n constructor(public userService: UserService,\r\n public appInsights: AppInsightsService,\r\n public helperMethods: HelperMethodsService,\r\n public secObjService: SecuredObjectService,\r\n public subscriptionSvc: SubscriptionService,\r\n public loadingSpinnerSvc: LoadingSpinnerService,\r\n public dashboardSvc: DashboardService,\r\n public coreFilterSvc: CoreFiltersService) {\r\n super(appInsights, userService);\r\n }\r\n\r\n ngOnInit() {\r\n if (this.coreFilterSvc.today < this.coreFilterSvc.disableDate) {\r\n this.getFilterValues();\r\n }\r\n }\r\n\r\n ngOnDestroy() {\r\n this.coreFilterSubscription.unsubscribe();\r\n }\r\n\r\n getFilterValues() {\r\n this.coreFilterSvc.filterValues$.subscribe(filterValues => {\r\n this.level = filterValues[0].level;\r\n this.levelValue = filterValues[0].levelValue;\r\n this.month = filterValues[0].month;\r\n this.year = filterValues[0].year;\r\n this.isEurope = filterValues[0].isEurope;\r\n if (filterValues[1] === '/dashboard') {\r\n this.onSubmitSearch();\r\n }\r\n });\r\n }\r\n\r\n onSubmitSearch() {\r\n if (this.helperMethods.isStringNullOrEmpty(this.levelValue) || this.levelValue === groupLevels.invalid) {\r\n this.filterErrorMessage = 'You must select a valid ' + this.level + ' to submit your search.';\r\n this.userService.alertUser(this.filterErrorMessage);\r\n } else {\r\n this.getDataForSelectedTab();\r\n }\r\n }\r\n\r\n tabChanged(tabChangeEvent: MatTabChangeEvent) {\r\n this.currentSelectedTab = tabChangeEvent.index;\r\n this.getDataForSelectedTab();\r\n }\r\n\r\n getDataForSelectedTab() {\r\n switch (this.currentSelectedTab) {\r\n case 0: // Employee Tab\r\n this.getDashboardEmployeeData();\r\n this.tabData = 'User accessed Employee Dashboard Tab.';\r\n break;\r\n case 1: // Team Tab\r\n this.getDashboardTeamData();\r\n this.tabData = 'User accessed Team Dashboard Tab.';\r\n break;\r\n case 2: // Group Tab\r\n this.getDashboardGroupData();\r\n this.tabData = 'User accessed Group Dashboard Tab.';\r\n break;\r\n }\r\n this.trackUser();\r\n }\r\n\r\n getDashboardEmployeeData() {\r\n this.dashboardEmployeeData$ = this.dashboardSvc.getDashboardEmployeeData(this.levelValue, this.year, this.month);\r\n this.subscribeToDashboardEmployeeData();\r\n }\r\n\r\n getDashboardTeamData() {\r\n this.dashboardTeamData$ = this.dashboardSvc.getDashboardTeamData(this.levelValue, this.year, this.month);\r\n this.subscribeToDashboardTeamData();\r\n }\r\n\r\n getDashboardGroupData() {\r\n this.dashboardGroupData$ = this.dashboardSvc.getDashboardGroupData(this.levelValue, this.year, this.month);\r\n this.subscribeToDashboardGroupData();\r\n }\r\n\r\n subscribeToDashboardEmployeeData() {\r\n this.dashboardEmployeeOverviewData = [];\r\n this.dashboardEmployeeGraphData = [];\r\n this.dashboardEmployeeSubscription.unsubscribe();\r\n this.loadingSpinnerSvc.shouldShowLoading();\r\n\r\n this.dashboardEmployeeSubscription = this.dashboardEmployeeData$\r\n .pipe(finalize(() => {\r\n this.loadingSpinnerSvc.turnSpinnerOff();\r\n }))\r\n .subscribe(\r\n dashboardData => {\r\n if (this.helperMethods.isArrayNullOrEmpty(dashboardData.dashboardOverviewDtos) &&\r\n this.helperMethods.isArrayNullOrEmpty(dashboardData.dashboardEmployeeGraphDtos)) {\r\n this.userService.alertUser('No data found for the selected filters.');\r\n this.loadingSpinnerSvc.turnSpinnerOff();\r\n } else {\r\n this.dashboardEmployeeOverviewData = dashboardData.dashboardOverviewDtos;\r\n this.dashboardEmployeeGraphData = dashboardData.dashboardEmployeeGraphDtos;\r\n }\r\n },\r\n err => {\r\n this.subscriptionSvc.onError(err, 'GetDashboardEmployeeData');\r\n this.loadingSpinnerSvc.turnSpinnerOff();\r\n }\r\n );\r\n }\r\n\r\n subscribeToDashboardTeamData() {\r\n this.dashboardTeamSubscription.unsubscribe();\r\n this.dashboardTeamOverviewData = [];\r\n this.dashboardTeamGraphData = [];\r\n this.loadingSpinnerSvc.shouldShowLoading();\r\n\r\n this.dashboardTeamSubscription = this.dashboardTeamData$\r\n .pipe(finalize(() => {\r\n this.loadingSpinnerSvc.turnSpinnerOff();\r\n }))\r\n .subscribe(\r\n dashboardData => {\r\n if (this.helperMethods.isArrayNullOrEmpty(dashboardData.dashboardTeamOverviewDtos) &&\r\n this.helperMethods.isArrayNullOrEmpty(dashboardData.dashboardTeamGraphDtos)) {\r\n this.userService.alertUser('No data found for the selected filters.');\r\n this.loadingSpinnerSvc.turnSpinnerOff();\r\n } else {\r\n this.dashboardTeamOverviewData = dashboardData.dashboardTeamOverviewDtos;\r\n this.dashboardTeamGraphData = dashboardData.dashboardTeamGraphDtos;\r\n }\r\n },\r\n err => {\r\n this.subscriptionSvc.onError(err, 'GetDashboardTeamData');\r\n this.loadingSpinnerSvc.turnSpinnerOff();\r\n }\r\n );\r\n }\r\n\r\n subscribeToDashboardGroupData() {\r\n this.dashboardGroupSubscription.unsubscribe();\r\n this.dashboardGroupOverviewData = new DashboardGroupOverview();\r\n this.dashboardGroupGraphData = [];\r\n this.loadingSpinnerSvc.shouldShowLoading();\r\n\r\n this.dashboardGroupSubscription = this.dashboardGroupData$\r\n .pipe(finalize(() => {\r\n this.loadingSpinnerSvc.turnSpinnerOff();\r\n }))\r\n .subscribe(\r\n dashboardData => {\r\n if (this.helperMethods.isArrayNullOrEmpty(dashboardData.dashboardGroupOverviewDtos) &&\r\n this.helperMethods.isArrayNullOrEmpty(dashboardData.dashboardGroupGraphDtos)) {\r\n this.userService.alertUser('No data found for the selected filters.');\r\n this.loadingSpinnerSvc.turnSpinnerOff();\r\n } else {\r\n this.dashboardGroupOverviewData = dashboardData.dashboardGroupOverviewDtos;\r\n this.dashboardGroupGraphData = dashboardData.dashboardGroupGraphDtos;\r\n }\r\n },\r\n err => {\r\n this.subscriptionSvc.onError(err, 'GetDashboardGroupData');\r\n this.loadingSpinnerSvc.turnSpinnerOff();\r\n }\r\n );\r\n }\r\n\r\n navigateToRSP() {\r\n window.open(environment.RSPUrl);\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { RouterModule } from '@angular/router';\r\nimport { SharedModule } from '../shared/shared.module';\r\nimport { DashboardComponent } from './dashboard.component';\r\nimport { DashboardRouteActivator } from './dashboard-route-activator';\r\nimport { DashboardEmployeeOverviewComponent } from './dashboard-employee-overview/dashboard-employee-overview.component';\r\nimport { DashboardEmployeeGraphComponent } from './dashboard-employee-graph/dashboard-employee-graph.component';\r\nimport { DashboardService } from './dashboard.service';\r\nimport { DashboardEmployeeOverviewService } from './dashboard-employee-overview/dashboard-employee-overview.service';\r\nimport { DashboardEmployeeGraphService } from './dashboard-employee-graph/dashboard-employee-graph.service';\r\nimport { DashboardTeamOverviewComponent } from './dashboard-team-overview/dashboard-team-overview.component';\r\nimport { DashboardTeamOverviewService } from './dashboard-team-overview/dashboard-team-overview.service';\r\nimport { DashboardTeamGraphComponent } from './dashboard-team-graph/dashboard-team-graph.component';\r\nimport { DashboardTeamGraphService } from './dashboard-team-graph/dashboard-team-graph.service';\r\nimport { DashboardGroupOverviewComponent } from './dashboard-group-overview/dashboard-group-overview.component';\r\nimport { PayMemoModalComponent } from './dashboard-employee-overview/pay-memo-modal/pay-memo-modal.component';\r\nimport { DashboardEmployeeExportService } from './dashboard-employee-overview/dashboard-employee-export.service';\r\nimport { DashboardGroupGraphComponent } from './dashboard-group-graph/dashboard-group-graph.component';\r\nimport { DashboardGroupGraphService } from './dashboard-group-graph/dashboard-group-graph.service';\r\nimport { DashboardGroupOverviewService } from './dashboard-group-overview/dashboard-group-overview.service';\r\n\r\n@NgModule({\r\n imports: [\r\n SharedModule,\r\n RouterModule.forChild([\r\n { path: 'dashboard', component: DashboardComponent, canActivate: [DashboardRouteActivator] }\r\n ])\r\n ],\r\n declarations: [\r\n DashboardComponent,\r\n DashboardEmployeeOverviewComponent,\r\n DashboardEmployeeGraphComponent,\r\n DashboardTeamOverviewComponent,\r\n DashboardTeamGraphComponent,\r\n DashboardGroupOverviewComponent,\r\n PayMemoModalComponent,\r\n DashboardGroupGraphComponent\r\n ],\r\n providers: [\r\n DashboardRouteActivator,\r\n DashboardService,\r\n DashboardEmployeeOverviewService,\r\n DashboardEmployeeGraphService,\r\n DashboardTeamOverviewService,\r\n DashboardTeamGraphService,\r\n DashboardEmployeeExportService,\r\n PayMemoModalComponent,\r\n DashboardGroupGraphService,\r\n DashboardGroupOverviewService\r\n ]\r\n})\r\nexport class DashboardModule { }\r\n","import { Injectable } from '@angular/core';\r\nimport { Observable, of } from 'rxjs';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { ErrorHandlingService } from '../shared/services/error-handling.service';\r\nimport { UserService } from '../security/user.service';\r\nimport { environment } from '../../environments/environment';\r\nimport { DashboardEmployee } from '../models/incoming-dtos/dashboard-employee';\r\nimport { DashboardTeam } from '../models/incoming-dtos/dashboard-team';\r\nimport { PayMemo } from '../models/incoming-dtos/pay-memo';\r\nimport { GoalActual } from '../models/incoming-dtos/goal-actual';\r\nimport { catchError } from 'rxjs/operators';\r\nimport { DashboardGroup } from '../models/incoming-dtos/dashboard-group';\r\n\r\n@Injectable()\r\nexport class DashboardService {\r\n private baseUrl: string = environment.dotNetCoreUrl + 'coreapi/';\r\n private dashboardEmployeeUrl: string = this.baseUrl + 'Dashboard/EmployeeView';\r\n private dashboardTeamUrl: string = this.baseUrl + 'Dashboard/TeamView';\r\n private dashboardGroupUrl: string = this.baseUrl + 'Dashboard/GroupView';\r\n private employeePayMemoUrl: string = this.baseUrl + 'PayMemo/employee';\r\n private groupMetrics = { aged: 'Aged %', deleteToSaleDays: 'Delete To Sale Days', localBoost: 'Local Boost as a % of DR Fleet', spcCountryGross: 'SPC Country Gross' };\r\n\r\n constructor(private httpClient: HttpClient, private userService: UserService, private errorService: ErrorHandlingService) { }\r\n\r\n getDashboardEmployeeData(groupName: string, year: number, month: number): Observable {\r\n const url = this.dashboardEmployeeUrl + '/' + groupName + '/' + year + '/' + month;\r\n return this.httpClient.get(url, this.userService.getHttpOptions())\r\n .pipe(\r\n catchError(this.errorService.handleError)\r\n );\r\n }\r\n\r\n getDashboardTeamData(groupName: string, year: number, month: number): Observable {\r\n const url = this.dashboardTeamUrl + '/' + groupName + '/' + year + '/' + month;\r\n return this.httpClient.get(url, this.userService.getHttpOptions())\r\n .pipe(\r\n catchError(this.errorService.handleError)\r\n );\r\n }\r\n\r\n getDashboardGroupData(groupName: string, year: number, month: number): Observable {\r\n const url = this.dashboardGroupUrl + '/' + groupName + '/' + year + '/' + month;\r\n return this.httpClient.get(url, this.userService.getHttpOptions())\r\n .pipe(\r\n catchError(this.errorService.handleError)\r\n );\r\n }\r\n\r\n getPayMemoForSelectedEmployee(eId: string, year: number, month: number): Observable {\r\n const employeeId = eId.substring(1);\r\n const url = this.employeePayMemoUrl + '/' + employeeId + '/' + year + '/' + month;\r\n return this.httpClient.post(url, null, this.userService.getHttpOptions())\r\n .pipe(\r\n catchError(this.errorService.handleError)\r\n );\r\n }\r\n\r\n getAsterisk(goalActual: GoalActual): boolean {\r\n switch (goalActual.goalName) {\r\n case this.groupMetrics.aged:\r\n case this.groupMetrics.deleteToSaleDays:\r\n case this.groupMetrics.localBoost:\r\n case this.groupMetrics.spcCountryGross:\r\n return true;\r\n default:\r\n return false;\r\n }\r\n }\r\n}\r\n","export class EmployeeGoalSave {\r\n employeeId: number;\r\n employeeGoalIds: number[];\r\n}\r\n","import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';\r\nimport { Employee } from '../../models/incoming-dtos/employee';\r\nimport { HelperMethodsService } from '../../shared/services/helper-methods.service';\r\nimport { EmployeeGoal } from '../../models/incoming-dtos/employee-goal';\r\nimport { EmployeeGoalSave } from './employee-goal-save';\r\nimport { EmployeeGoalService } from './employee-goal.service';\r\nimport { CustomCurrencyPipe } from '../../shared/pipes/custom-currency.pipe';\r\nimport { LoadingSpinnerService } from '../../shared/loading-spinner/loading-spinner.service';\r\nimport { StyleHelperService } from '../../shared/services/style-helper.service';\r\nimport { UserService } from '../../security/user.service';\r\nimport { AppInsightsService } from '../../shared/services/app-insights.service';\r\nimport { SpcBaseComponent } from '../../shared/base/spc-base.component';\r\n\r\n@Component({\r\n selector: 'scoreboard-employee-goal',\r\n templateUrl: './employee-goal.component.html',\r\n styleUrls: ['./employee-goal.component.scss']\r\n})\r\nexport class EmployeeGoalComponent extends SpcBaseComponent implements OnInit {\r\n @Input() employeeGoals: Employee[];\r\n grossSpcTargetValues = new Array();\r\n employeesForSave = new Array();\r\n goalsToBeSaved = new Array();\r\n isSaveReady = false;\r\n @Output() employeeGoalsChanged: EventEmitter;\r\n\r\n constructor(public helperMethods: HelperMethodsService,\r\n public employeeGoalSvc: EmployeeGoalService,\r\n private customCurrencyPipe: CustomCurrencyPipe,\r\n public loadingSpinnerSvc: LoadingSpinnerService,\r\n public styleHelper: StyleHelperService,\r\n public userService: UserService,\r\n public appInsights: AppInsightsService) {\r\n super(appInsights);\r\n this.employeeGoalsChanged = new EventEmitter();\r\n styleHelper.maxWidth = 680;\r\n }\r\n\r\n ngOnInit() {\r\n this.removeEmptyValuesFromGoalValue();\r\n }\r\n\r\n recordGoalId(employeeId: number, goalId: number) {\r\n const temp = this.employeeGoals.filter(xx => xx.id === employeeId)[0].employeeGoals.filter(yy => yy.goalId === goalId)[0].goalValue;\r\n const isGroupMetric = this.employeeGoals.filter(xx => xx.id === employeeId)[0].employeeGoals.filter(yy => yy.goalId === goalId)[0].groupMetric;\r\n if (isGroupMetric) {\r\n this.employeeGoals.forEach(xx => xx.employeeGoals.forEach(yy => {\r\n if (yy.goalId === goalId) {\r\n yy.goalValue = temp;\r\n this.updateSaveList(xx.id, yy.goalId);\r\n }\r\n }));\r\n } else {\r\n this.updateSaveList(employeeId, goalId);\r\n }\r\n }\r\n\r\n private updateSaveList(employeeId: number, goalId: number) {\r\n this.isSaveReady = true;\r\n this.removeEmptyValuesFromGoalValue();\r\n if (this.helperMethods.isArrayNullOrEmpty(this.employeesForSave)) {\r\n const ids = new EmployeeGoalSave();\r\n ids.employeeId = employeeId;\r\n ids.employeeGoalIds = [goalId];\r\n this.employeesForSave.push(ids);\r\n } else {\r\n this.employeesForSave = this.employeeGoalSvc.checkIds(this.employeesForSave, employeeId, goalId);\r\n }\r\n }\r\n\r\n onSave() {\r\n if (this.isSaveReady) {\r\n this.loadingSpinnerSvc.turnSpinnerOn('Saving...');\r\n this.goalsToBeSaved = this.employeeGoalSvc.getGoals(this.employeeGoals, this.employeesForSave);\r\n this.employeeGoalsChanged.emit(this.goalsToBeSaved);\r\n this.employeesForSave = [];\r\n this.isSaveReady = false;\r\n }\r\n }\r\n\r\n hideGoalByName(emp: Employee, idx: number) {\r\n if (emp && emp.employeeGoals && emp.employeeGoals.length > 0 && idx {\r\n employee.employeeGoals.forEach(goal => {\r\n if (!goal.isSpc && goal.goalValue !== null) {\r\n if (goal.goalValue !== '') {\r\n if (goal.goalName.startsWith('Age') || goal.goalName.startsWith('Delete')) {\r\n goal.goalValue = this.customCurrencyPipe.transform(goal.goalValue, '1.1-1');\r\n } else {\r\n goal.goalValue = this.customCurrencyPipe.transform(goal.goalValue, '1.0-0');\r\n }\r\n }\r\n }\r\n });\r\n });\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { EmployeeGoalSave } from './employee-goal-save';\r\nimport { HelperMethodsService } from '../../shared/services/helper-methods.service';\r\nimport { Employee } from '../../models/incoming-dtos/employee';\r\nimport { EmployeeGoal } from '../../models/incoming-dtos/employee-goal';\r\n\r\n@Injectable()\r\nexport class EmployeeGoalService {\r\n\r\n constructor(public helperMethods: HelperMethodsService) {}\r\n\r\n checkIds(employeesForSave: EmployeeGoalSave[], employeeId: number, goalId: number): EmployeeGoalSave[] {\r\n let updatedEmployeesForSave = new Array();\r\n const empIds = [];\r\n employeesForSave.forEach(employee => {\r\n empIds.push(employee.employeeId);\r\n });\r\n\r\n\r\n if (empIds.includes(employeeId)) {\r\n const index = empIds.indexOf(employeeId);\r\n if (employeesForSave[index].employeeGoalIds.includes(goalId)) {\r\n updatedEmployeesForSave = employeesForSave;\r\n // Return unchagned list if user changes the same value more than once without clicking save.\r\n } else {\r\n employeesForSave[index].employeeGoalIds.push(goalId);\r\n updatedEmployeesForSave = employeesForSave;\r\n // Adds a goal record to an employee object if this is the first time the user changed the default value.\r\n }\r\n } else {\r\n const newIds = new EmployeeGoalSave();\r\n // Adds an employee that hasn't been recorded yet if the user changes a goal value for the first time in the page.\r\n newIds.employeeId = employeeId;\r\n newIds.employeeGoalIds = [goalId];\r\n employeesForSave.push(newIds);\r\n updatedEmployeesForSave = employeesForSave;\r\n }\r\n\r\n return updatedEmployeesForSave;\r\n }\r\n\r\n getGoals(employeeGoals: Employee[], employeesForSave: EmployeeGoalSave[]): EmployeeGoal[] {\r\n const goalsForSave = new Array();\r\n const empIds = [];\r\n employeesForSave.forEach(employee => {\r\n empIds.push(employee.employeeId);\r\n });\r\n\r\n employeeGoals.forEach(employee => {\r\n if (empIds.includes(employee.id)) {\r\n let goalIds = [];\r\n const index = empIds.indexOf(employee.id);\r\n goalIds = employeesForSave[index].employeeGoalIds;\r\n employee.employeeGoals.forEach(goal => {\r\n if (goalIds.includes(goal.goalId)) {\r\n goalsForSave.push(goal);\r\n }\r\n });\r\n }\r\n });\r\n\r\n return goalsForSave;\r\n }\r\n}\r\n","import { Router, CanActivate } from '@angular/router';\r\nimport { Injectable } from '@angular/core';\r\nimport { UserService } from '../security/user.service';\r\nimport { SecuredObjectService } from '../security/secured-object.service';\r\nimport { map } from 'rxjs/operators';\r\n\r\n@Injectable()\r\nexport class GoalAssignmentRouteActivator implements CanActivate {\r\n\r\n constructor(private router: Router,\r\n private userService: UserService,\r\n private secObjService: SecuredObjectService) {}\r\n\r\n canActivate() {\r\n return this.userService.userSource$.pipe(map((user) => {\r\n if (user) {\r\n if (this.hasAccess()) {\r\n return true;\r\n } else {\r\n this.router.navigate(['page-not-found']);\r\n }\r\n }\r\n return false;\r\n }));\r\n }\r\n\r\n hasAccess(): boolean {\r\n return this.secObjService.hasGoalAssignmentPageAccess();\r\n }\r\n}\r\n","import { Component, OnInit, OnDestroy } from '@angular/core';\r\nimport { UserService } from '../security/user.service';\r\nimport { AppInsightsService } from '../shared/services/app-insights.service';\r\nimport { HelperMethodsService } from '../shared/services/helper-methods.service';\r\nimport { BaseComponent } from '../shared/base/base.component';\r\nimport { groupLevels } from '../shared/static-data/group-levels';\r\nimport { Employee } from '../models/incoming-dtos/employee';\r\nimport { Observable, Subscription } from 'rxjs';\r\nimport { LoadingSpinnerService } from '../shared/loading-spinner/loading-spinner.service';\r\nimport { GoalAssignmentService } from './goal-assignment.service';\r\nimport { EmployeeGoal } from '../models/incoming-dtos/employee-goal';\r\nimport { SnackBarService } from '../shared/services/snack-bar.service';\r\nimport { SubscriptionService } from '../shared/services/subscription.service';\r\nimport { MatTabChangeEvent } from '@angular/material/tabs';\r\nimport { GroupPreference } from '../models/incoming-dtos/group-preference';\r\nimport { GroupPreferenceUpdateDto } from '../models/outgoing-dtos/group-preference-update-dto';\r\nimport { Team } from '../models/incoming-dtos/team';\r\nimport { TeamGoal } from '../models/incoming-dtos/team-goal';\r\nimport { Group } from '../models/incoming-dtos/group';\r\nimport { GroupGoal } from '../models/incoming-dtos/group-goal';\r\nimport { SecuredObjectService } from '../security/secured-object.service';\r\nimport { CoreFiltersService } from '../shared/services/core-filters.service';\r\nimport { finalize } from 'rxjs/operators';\r\nimport { GroupFilterService } from '../shared/group-filter/group-filter.service';\r\nimport { UpdateGroupDto } from '../models/outgoing-dtos/update-group-dto';\r\n\r\n@Component({\r\n selector: 'scoreboard-goal-assignment',\r\n templateUrl: './goal-assignment.component.html',\r\n styleUrls: ['./goal-assignment.component.scss']\r\n})\r\nexport class GoalAssignmentComponent extends BaseComponent implements OnInit, OnDestroy {\r\n employeeGoals = new Array();\r\n employeeGoals$ = new Observable();\r\n employeeGoalSubscription = new Subscription();\r\n\r\n teamGoals = new Array();\r\n teamGoals$ = new Observable();\r\n teamGoalSubscription = new Subscription();\r\n\r\n groupGoals = new Array();\r\n groupGoals$ = new Observable();\r\n groupGoalSubscription = new Subscription();\r\n\r\n groupPreferences = new Array();\r\n groupPreferences$ = new Observable();\r\n groupPreferenceSubscription = new Subscription();\r\n\r\n isEmployeeSaveSuccessful$ = new Observable();\r\n isTeamSaveSuccessful$ = new Observable();\r\n isGroupSaveSuccessful$ = new Observable();\r\n employeeGoalSaveSubscription = new Subscription();\r\n teamGoalSaveSubscription = new Subscription();\r\n groupGoalSaveSubscription = new Subscription();\r\n\r\n employeeGoalsForSave = new Array();\r\n teamGoalsForSave = new Array();\r\n groupGoalsForSave = new Array();\r\n currentSelectedTab = 0;\r\n\r\n saveGroupPrefDtos = new Array();\r\n isGroupPrefSaved$ = new Observable();\r\n isGroupPrefSubscription = new Subscription();\r\n coreFilterSubscription = new Subscription();\r\n saveGroupDto: UpdateGroupDto;\r\n isGroupSaved$ = new Observable();\r\n groupSubscription = new Subscription();\r\n isGroupSaved: boolean;\r\n isAutoGenerateGoalsOn: boolean;\r\n \r\n constructor(public userService: UserService,\r\n public appInsights: AppInsightsService,\r\n public helperMethods: HelperMethodsService,\r\n public goalAssignmentSvc: GoalAssignmentService,\r\n public loadingSpinnerSvc: LoadingSpinnerService,\r\n public snackBarSvc: SnackBarService,\r\n public subscribeService: SubscriptionService,\r\n public employeeGoalSvc: GoalAssignmentService,\r\n public secObjService: SecuredObjectService,\r\n public coreFilterSvc: CoreFiltersService,\r\n public groupFilterService: GroupFilterService) {\r\n super(appInsights, userService);\r\n }\r\n\r\n ngOnInit() {\r\n this.getFilterValues();\r\n }\r\n\r\n ngOnDestroy() {\r\n this.coreFilterSubscription.unsubscribe();\r\n }\r\n\r\n getFilterValues() {\r\n this.coreFilterSvc.filterValues$.subscribe(filterValues => {\r\n this.level = filterValues[0].level;\r\n this.levelValue = filterValues[0].levelValue;\r\n this.month = filterValues[0].month;\r\n this.year = filterValues[0].year;\r\n this.isEurope = filterValues[0].isEurope;\r\n if (filterValues[1] === '/goal-assignment') {\r\n this.onSubmitSearch();\r\n }\r\n });\r\n }\r\n\r\n onSubmitSearch() {\r\n if (this.helperMethods.isStringNullOrEmpty(this.levelValue) || this.levelValue === groupLevels.invalid) {\r\n this.filterErrorMessage = 'You must select a valid ' + this.level + ' to submit your search.';\r\n this.userService.alertUser(this.filterErrorMessage);\r\n } else {\r\n this.getDataForSelectedTab();\r\n }\r\n }\r\n\r\n tabChanged(tabChangeEvent: MatTabChangeEvent) {\r\n this.currentSelectedTab = tabChangeEvent.index;\r\n this.getDataForSelectedTab();\r\n }\r\n\r\n getDataForSelectedTab() {\r\n switch (this.currentSelectedTab) {\r\n case 0:\r\n this.getGroupPreferences();\r\n this.tabData = 'User accessed Group Preferences Tab.';\r\n this.coreFilterSvc.setGroupPrefPage(true);\r\n break;\r\n case 1:\r\n this.getEmployeeGoals();\r\n this.tabData = 'User accessed Employee Goals Tab.';\r\n this.coreFilterSvc.setGroupPrefPage(false);\r\n break;\r\n case 2:\r\n this.getTeamGoals();\r\n this.tabData = 'User accessed Team Goals Tab.';\r\n this.coreFilterSvc.setGroupPrefPage(false);\r\n break;\r\n case 3:\r\n this.getGroupGoals();\r\n this.tabData = 'User accessed Group Goals Tab.';\r\n this.coreFilterSvc.setGroupPrefPage(false);\r\n break;\r\n }\r\n this.trackUser();\r\n }\r\n\r\n onGetAutoGenerateGoalStatus(autoGoals: boolean) {\r\n this.isAutoGenerateGoalsOn = autoGoals;\r\n }\r\n\r\n onAutoGoalsFlagChanged(autoGoals: boolean) {\r\n this.saveGroupDto = new UpdateGroupDto();\r\n this.saveGroupDto.autoGenerateGoals = autoGoals;\r\n this.saveGroupDto.id = this.groupPreferences[0].ehiGroupId;\r\n this.saveGroupDto.date = new Date().toLocaleDateString();\r\n this.saveGroup();\r\n }\r\n \r\n saveGroup() {\r\n this.isGroupSaved$ = this.groupFilterService.saveGroup(this.saveGroupDto);\r\n this.subscribeToIsGroupSaved();\r\n }\r\n \r\n subscribeToIsGroupSaved() {\r\n this.groupSubscription.unsubscribe();\r\n this.groupSubscription = this.isGroupSaved$\r\n .pipe(\r\n finalize(() => {\r\n this.loadingSpinnerSvc.turnSpinnerOff();\r\n })\r\n )\r\n .subscribe(\r\n isGroupSaved => {\r\n this.isGroupSaved = isGroupSaved;\r\n },\r\n err => {\r\n this.subscribeService.onError(err, 'SaveGroup');\r\n this.loadingSpinnerSvc.turnSpinnerOff();\r\n }\r\n );\r\n }\r\n\r\n onSaveGroupPreferences(saveGroupPrefDtos: GroupPreferenceUpdateDto[]) {\r\n this.saveGroupPrefDtos = saveGroupPrefDtos;\r\n this.saveGroupPreferences();\r\n }\r\n\r\n onSaveEmployeeGoals(goalsToBeSaved: EmployeeGoal[]) {\r\n this.employeeGoalsForSave = goalsToBeSaved;\r\n this.saveEmployeeGoals();\r\n }\r\n\r\n onSaveTeamGoals(goalsToBeSaved: TeamGoal[]) {\r\n this.teamGoalsForSave = goalsToBeSaved;\r\n this.saveTeamGoals();\r\n }\r\n\r\n onSaveGroupGoals(goalsToBeSaved: GroupGoal[]) {\r\n this.groupGoalsForSave = goalsToBeSaved;\r\n this.saveGroupGoals();\r\n }\r\n\r\n getGroupPreferences() {\r\n this.groupPreferences$ = this.goalAssignmentSvc.getGroupPreferences(this.levelValue);\r\n this.subscribeToGroupPreferences();\r\n }\r\n\r\n getEmployeeGoals() {\r\n this.employeeGoals$ = this.goalAssignmentSvc.getEmployeeGoals(this.levelValue, this.year, this.month);\r\n this.subscribeToEmployeeGoals();\r\n }\r\n\r\n getTeamGoals() {\r\n this.teamGoals$ = this.goalAssignmentSvc.getTeamGoals(this.levelValue, this.year, this.month);\r\n this.subscribeToTeamGoals();\r\n }\r\n\r\n getGroupGoals() {\r\n this.groupGoals$ = this.goalAssignmentSvc.getGroupGoals(this.levelValue, this.year, this.month);\r\n this.subscribeToGroupGoals();\r\n }\r\n\r\n saveGroupPreferences() {\r\n this.isGroupPrefSaved$ = this.goalAssignmentSvc.saveGroupPreferences(this.saveGroupPrefDtos);\r\n this.subscribeToIsGroupPrefSaved();\r\n }\r\n\r\n saveEmployeeGoals() {\r\n this.isEmployeeSaveSuccessful$ = this.goalAssignmentSvc.saveEmployeeGoals(this.employeeGoalsForSave, this.user, this.isAutoGenerateGoalsOn);\r\n this.subscribeToEmployeeGoalSave();\r\n }\r\n\r\n saveTeamGoals() {\r\n this.isTeamSaveSuccessful$ = this.goalAssignmentSvc.saveTeamGoals(this.teamGoalsForSave, this.user);\r\n this.subscribeToTeamGoalSave();\r\n }\r\n\r\n saveGroupGoals() {\r\n this.isGroupSaveSuccessful$ = this.goalAssignmentSvc.saveGroupGoals(this.groupGoalsForSave, this.user, this.year, this.month);\r\n this.subscribeToGroupGoalSave();\r\n }\r\n\r\n subscribeToGroupPreferences() {\r\n this.loadingSpinnerSvc.shouldShowLoading();\r\n this.groupPreferenceSubscription.unsubscribe();\r\n this.groupPreferenceSubscription = this.groupPreferences$\r\n .pipe(\r\n finalize(() => {\r\n this.loadingSpinnerSvc.turnSpinnerOff();\r\n })\r\n )\r\n .subscribe(\r\n groupPreferences => {\r\n this.groupPreferences = groupPreferences;\r\n if (this.helperMethods.isArrayNullOrEmpty(groupPreferences)) {\r\n this.userService.alertUser('No data found for the selected group.');\r\n }\r\n },\r\n err => {\r\n this.subscribeService.onError(err, this.level, 'GetGroupPreferences');\r\n this.loadingSpinnerSvc.turnSpinnerOff();\r\n }\r\n );\r\n }\r\n\r\n subscribeToEmployeeGoals() {\r\n this.loadingSpinnerSvc.shouldShowLoading();\r\n this.employeeGoalSubscription.unsubscribe();\r\n this.employeeGoals = [];\r\n this.employeeGoalSubscription = this.employeeGoals$\r\n .pipe(\r\n finalize(() => {\r\n this.loadingSpinnerSvc.turnSpinnerOff();\r\n })\r\n )\r\n .subscribe(\r\n employeeGoals => {\r\n this.employeeGoals = employeeGoals;\r\n if (this.helperMethods.isArrayNullOrEmpty(this.employeeGoals)) {\r\n this.userService.alertUser('No data found for Group ' + this.levelValue);\r\n }\r\n },\r\n err => {\r\n this.subscribeService.onError(err, this.level, 'GetEmployeeGoals');\r\n this.loadingSpinnerSvc.turnSpinnerOff();\r\n }\r\n );\r\n }\r\n\r\n subscribeToTeamGoals() {\r\n this.loadingSpinnerSvc.shouldShowLoading();\r\n this.teamGoalSubscription.unsubscribe();\r\n this.teamGoals = [];\r\n this.teamGoalSubscription = this.teamGoals$\r\n .pipe(\r\n finalize(() => {\r\n this.loadingSpinnerSvc.turnSpinnerOff();\r\n })\r\n )\r\n .subscribe(\r\n teamGoals => {\r\n this.teamGoals = teamGoals;\r\n if (this.helperMethods.isArrayNullOrEmpty(this.teamGoals)) {\r\n this.userService.alertUser('No data found for Group ' + this.levelValue);\r\n }\r\n },\r\n err => {\r\n this.subscribeService.onError(err, this.level, 'GetTeamGoals');\r\n this.loadingSpinnerSvc.turnSpinnerOff();\r\n }\r\n );\r\n }\r\n\r\n subscribeToGroupGoals() {\r\n this.loadingSpinnerSvc.shouldShowLoading();\r\n this.groupGoalSubscription.unsubscribe();\r\n this.groupGoals = [];\r\n this.groupGoalSubscription = this.groupGoals$\r\n .pipe(\r\n finalize(() => {\r\n this.loadingSpinnerSvc.turnSpinnerOff();\r\n })\r\n )\r\n .subscribe(\r\n groupGoals => {\r\n this.groupGoals = groupGoals;\r\n if (this.helperMethods.isArrayNullOrEmpty(this.groupGoals)) {\r\n this.userService.alertUser('No data found for Group ' + this.levelValue);\r\n }\r\n },\r\n err => {\r\n this.subscribeService.onError(err, this.level, 'GetGroupGoals');\r\n this.loadingSpinnerSvc.turnSpinnerOff();\r\n }\r\n );\r\n }\r\n\r\n subscribeToIsGroupPrefSaved() {\r\n this.loadingSpinnerSvc.shouldShowLoading();\r\n this.isGroupPrefSubscription.unsubscribe();\r\n this.isGroupPrefSubscription = this.isGroupPrefSaved$\r\n .pipe(\r\n finalize(() => {\r\n })\r\n )\r\n .subscribe(\r\n () => {\r\n if (!this.isAutoGenerateGoalsOn)\r\n {\r\n this.snackBarSvc.openSnackBar('Group Preferences for Group ' + this.levelValue + ' were saved successfully! Please allow a few minutes for goals to roll up to Team and Group.');\r\n }\r\n else \r\n {\r\n this.snackBarSvc.openSnackBar('Group Preferences for Group ' + this.levelValue + ' were saved successfully!');\r\n }\r\n\r\n this.appInsights.logUserAction('User saved group preferences for group ' + this.levelValue, this.user);\r\n this.getGroupPreferences();\r\n },\r\n err => {\r\n this.subscribeService.onError(err, this.level, 'SaveGroupPreferences');\r\n }\r\n );\r\n }\r\n\r\n subscribeToEmployeeGoalSave() {\r\n this.loadingSpinnerSvc.shouldShowLoading();\r\n this.employeeGoalSaveSubscription.unsubscribe();\r\n this.employeeGoalSaveSubscription = this.isEmployeeSaveSuccessful$\r\n .pipe(\r\n finalize(() => {\r\n this.loadingSpinnerSvc.turnSpinnerOff();\r\n })\r\n )\r\n .subscribe(\r\n () => {\r\n this.snackBarSvc.openSnackBar('Employee Goals Saved Successfully!');\r\n this.appInsights.logUserAction('User saved employee goals for group '\r\n + this.levelValue + ' on ' + this.month + '/' + this.year, this.user);\r\n },\r\n err => {\r\n this.subscribeService.onError(err, this.level, 'SaveEmployeeGoals');\r\n this.loadingSpinnerSvc.turnSpinnerOff();\r\n }\r\n );\r\n }\r\n\r\n subscribeToTeamGoalSave() {\r\n this.loadingSpinnerSvc.shouldShowLoading();\r\n this.teamGoalSaveSubscription.unsubscribe();\r\n this.teamGoalSaveSubscription = this.isTeamSaveSuccessful$\r\n .pipe(\r\n finalize(() => {\r\n this.loadingSpinnerSvc.turnSpinnerOff();\r\n })\r\n )\r\n .subscribe(\r\n () => {\r\n this.snackBarSvc.openSnackBar('Team Goals Saved Successfully!');\r\n this.appInsights.logUserAction('User saved team goals for group '\r\n + this.levelValue + ' on ' + this.month + '/' + this.year, this.user);\r\n },\r\n err => {\r\n this.subscribeService.onError(err, this.level, 'SaveTeamGoals');\r\n this.loadingSpinnerSvc.turnSpinnerOff();\r\n }\r\n );\r\n }\r\n\r\n subscribeToGroupGoalSave() {\r\n this.loadingSpinnerSvc.shouldShowLoading();\r\n this.groupGoalSaveSubscription.unsubscribe();\r\n this.groupGoalSaveSubscription = this.isGroupSaveSuccessful$\r\n .pipe(\r\n finalize(() => {\r\n this.loadingSpinnerSvc.turnSpinnerOff();\r\n })\r\n )\r\n .subscribe(\r\n () => {\r\n this.snackBarSvc.openSnackBar('Group Goals Saved Successfully!');\r\n this.appInsights.logUserAction('User saved group goals for group '\r\n + this.levelValue + ' on ' + this.month + '/' + this.year, this.user);\r\n },\r\n err => {\r\n this.subscribeService.onError(err, this.level, 'SaveGroupGoals');\r\n this.loadingSpinnerSvc.turnSpinnerOff();\r\n }\r\n );\r\n }\r\n\r\n hideFilterSectionFromNonCorpUser() {\r\n if (this.currentSelectedTab === 0 && !this.secObjService.hasCorpAccess()) {\r\n return {'display': 'none'};\r\n }\r\n return {};\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { RouterModule } from '@angular/router';\r\nimport { SharedModule } from '../shared/shared.module';\r\nimport { GoalAssignmentComponent } from './goal-assignment.component';\r\nimport { GoalAssignmentRouteActivator } from './goal-assignment-route-activator';\r\nimport { EmployeeGoalComponent } from './employee-goal/employee-goal.component';\r\nimport { GoalAssignmentService } from './goal-assignment.service';\r\nimport { EmployeeGoalService } from './employee-goal/employee-goal.service';\r\nimport { GroupPreferencesComponent } from './group-preferences/group-preferences.component';\r\nimport { GroupPreferencesService } from './group-preferences/group-preferences.service';\r\nimport { TeamGoalComponent } from './team-goal/team-goal.component';\r\nimport { TeamGoalService } from './team-goal/team-goal.service';\r\nimport { GroupGoalComponent } from './group-goal/group-goal.component';\r\nimport { GroupGoalService } from './group-goal/group-goal.service';\r\n\r\n@NgModule({\r\n imports: [\r\n SharedModule,\r\n RouterModule.forChild([\r\n { path: 'goal-assignment', component: GoalAssignmentComponent, canActivate: [GoalAssignmentRouteActivator] }\r\n ])\r\n ],\r\n declarations: [\r\n GoalAssignmentComponent,\r\n EmployeeGoalComponent,\r\n GroupPreferencesComponent,\r\n TeamGoalComponent,\r\n GroupGoalComponent\r\n ],\r\n providers: [\r\n GoalAssignmentRouteActivator,\r\n GoalAssignmentService,\r\n EmployeeGoalService,\r\n GroupPreferencesService,\r\n TeamGoalService,\r\n GroupGoalService\r\n ]\r\n})\r\nexport class GoalAssignmentModule { }\r\n","import { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { environment } from '../../environments/environment';\r\nimport { ErrorHandlingService } from '../shared/services/error-handling.service';\r\nimport { UserService } from '../security/user.service';\r\nimport { Employee } from '../models/incoming-dtos/employee';\r\nimport { EmployeeGoal } from '../models/incoming-dtos/employee-goal';\r\nimport { User } from '../security/user';\r\nimport { EmployeeGoalUpdateDto } from '../models/outgoing-dtos/employee-goal-update-dto';\r\nimport { GroupPreference } from '../models/incoming-dtos/group-preference';\r\nimport { GroupPreferenceUpdateDto } from '../models/outgoing-dtos/group-preference-update-dto';\r\nimport { Team } from '../models/incoming-dtos/team';\r\nimport { TeamGoal } from '../models/incoming-dtos/team-goal';\r\nimport { TeamGoalUpdateDto } from '../models/outgoing-dtos/team-goal-update-dto';\r\nimport { Group } from '../models/incoming-dtos/group';\r\nimport { GroupGoal } from '../models/incoming-dtos/group-goal';\r\nimport { GroupGoalUpdateDto } from '../models/outgoing-dtos/group-goal-update-dto';\r\nimport { catchError } from 'rxjs/operators';\r\n\r\n@Injectable()\r\nexport class GoalAssignmentService {\r\n private baseUrl: string = environment.dotNetCoreUrl + 'coreapi/';\r\n private getEmployeeGoalsUrl: string = this.baseUrl + 'Goals/employee';\r\n private saveEmployeeGoalsUrl: string = this.baseUrl + 'Goals/employee';\r\n private saveTeamGoalsUrl: string = this.baseUrl + 'Goals/team';\r\n private saveGroupGoalsUrl: string = this.baseUrl + 'Goals/group';\r\n private getGroupPreferencesUrl: string = this.baseUrl + 'Goals/groupPreferences';\r\n private saveGroupPreferencesUrl: string = this.baseUrl + 'Goals/saveGroupPreferences';\r\n private getTeamGoalsUrl: string = this.baseUrl + 'Goals/team';\r\n private getGroupGoalsUrl: string = this.baseUrl + 'Goals/group';\r\n\r\n constructor(private httpClient: HttpClient,\r\n private userService: UserService,\r\n private errorService: ErrorHandlingService) { }\r\n\r\n getGroupPreferences(groupName: string): Observable {\r\n const url = this.getGroupPreferencesUrl + '/' + groupName;\r\n return this.httpClient.get(url, this.userService.getHttpOptions())\r\n .pipe(\r\n catchError(this.errorService.handleError)\r\n );\r\n }\r\n\r\n getEmployeeGoals(groupName: string, year: number, month: number): Observable {\r\n const url = this.getEmployeeGoalsUrl + '/' + groupName + '/' + year + '/' + month;\r\n return this.httpClient.get(url, this.userService.getHttpOptions())\r\n .pipe(\r\n catchError(this.errorService.handleError)\r\n );\r\n }\r\n\r\n getTeamGoals(groupName: string, year: number, month: number): Observable {\r\n const url = this.getTeamGoalsUrl + '/' + groupName + '/' + year + '/' + month;\r\n return this.httpClient.get(url, this.userService.getHttpOptions())\r\n .pipe(\r\n catchError(this.errorService.handleError)\r\n );\r\n }\r\n\r\n getGroupGoals(groupName: string, year: number, month: number): Observable {\r\n const url = this.getGroupGoalsUrl + '/' + groupName + '/' + year + '/' + month;\r\n return this.httpClient.get(url, this.userService.getHttpOptions())\r\n .pipe(\r\n catchError(this.errorService.handleError)\r\n );\r\n }\r\n\r\n saveEmployeeGoals(employeeGoalsForSave: EmployeeGoal[], user: User, autoGoals: boolean): Observable {\r\n const employeeGoalUpdateDto = this.buildEmployeeGoalUpdateDto(employeeGoalsForSave, user);\r\n return this.httpClient.put(this.saveEmployeeGoalsUrl + '/' + autoGoals, employeeGoalUpdateDto, this.userService.getHttpOptions())\r\n .pipe(\r\n catchError(this.errorService.handleError)\r\n );\r\n }\r\n\r\n saveTeamGoals(teamGoalsForSave: TeamGoal[], user: User): Observable {\r\n const teamGoalUpdateDto = this.buildTeamGoalUpdateDto(teamGoalsForSave, user);\r\n return this.httpClient.put(this.saveTeamGoalsUrl, teamGoalUpdateDto, this.userService.getHttpOptions())\r\n .pipe(\r\n catchError(this.errorService.handleError)\r\n );\r\n }\r\n\r\n saveGroupGoals(groupGoalsForSave: GroupGoal[], user: User, year: number, month: number): Observable {\r\n const groupGoalUpdateDto = this.buildGroupGoalUpdateDto(groupGoalsForSave, user, year, month);\r\n return this.httpClient.put(this.saveGroupGoalsUrl, groupGoalUpdateDto, this.userService.getHttpOptions())\r\n .pipe(\r\n catchError(this.errorService.handleError)\r\n );\r\n }\r\n\r\n saveGroupPreferences(saveGroupPrefDtos: GroupPreferenceUpdateDto[]): Observable {\r\n return this.httpClient.put(this.saveGroupPreferencesUrl, saveGroupPrefDtos, this.userService.getHttpOptions())\r\n .pipe(\r\n catchError(this.errorService.handleError)\r\n );\r\n }\r\n\r\n buildEmployeeGoalUpdateDto(employeeGoalsForSave: EmployeeGoal[], user: User): EmployeeGoalUpdateDto[] {\r\n const dataForSave = new Array();\r\n for (let i = 0; i < employeeGoalsForSave.length; i++) {\r\n employeeGoalsForSave[i].goalValue = this.checkGoalValue(employeeGoalsForSave[i].goalValue);\r\n dataForSave[i] = new EmployeeGoalUpdateDto();\r\n dataForSave[i].id = employeeGoalsForSave[i].id;\r\n dataForSave[i].goalId = employeeGoalsForSave[i].goalId;\r\n dataForSave[i].employeeMonthId = employeeGoalsForSave[i].employeeMonthId;\r\n dataForSave[i].goalName = employeeGoalsForSave[i].goalName;\r\n dataForSave[i].goalValue = employeeGoalsForSave[i].goalValue;\r\n dataForSave[i].updatedBy = user.eId;\r\n if (employeeGoalsForSave[i].goalValue === null) {\r\n dataForSave[i].recordStatus = false;\r\n } else {\r\n dataForSave[i].recordStatus = true;\r\n }\r\n dataForSave[i].teamId = employeeGoalsForSave[i].teamId;\r\n dataForSave[i].month = employeeGoalsForSave[i].month;\r\n dataForSave[i].year = employeeGoalsForSave[i].year;\r\n dataForSave[i].ehiGroupId = employeeGoalsForSave[i].ehiGroupId;\r\n }\r\n return dataForSave;\r\n }\r\n\r\n buildTeamGoalUpdateDto(teamGoalsForSave: TeamGoal[], user: User): TeamGoalUpdateDto[] {\r\n const dataForSave = new Array();\r\n for (let i = 0; i < teamGoalsForSave.length; i++) {\r\n teamGoalsForSave[i].goalValue = this.checkGoalValue(teamGoalsForSave[i].goalValue);\r\n dataForSave[i] = new TeamGoalUpdateDto();\r\n dataForSave[i].id = teamGoalsForSave[i].id;\r\n dataForSave[i].goalId = teamGoalsForSave[i].goalId;\r\n dataForSave[i].teamId = teamGoalsForSave[i].teamId;\r\n dataForSave[i].goalName = teamGoalsForSave[i].goalName;\r\n dataForSave[i].goalValue = teamGoalsForSave[i].goalValue;\r\n dataForSave[i].updatedBy = user.eId;\r\n if (teamGoalsForSave[i].goalValue === null) {\r\n dataForSave[i].recordStatus = false;\r\n } else {\r\n dataForSave[i].recordStatus = true;\r\n }\r\n }\r\n return dataForSave;\r\n }\r\n\r\n buildGroupGoalUpdateDto(groupGoalsForSave: GroupGoal[], user: User, year: number, month: number): GroupGoalUpdateDto[] {\r\n const dataForSave = new Array();\r\n for (let i = 0; i < groupGoalsForSave.length; i++) {\r\n groupGoalsForSave[i].goalValue = this.checkGoalValue(groupGoalsForSave[i].goalValue);\r\n dataForSave[i] = new GroupGoalUpdateDto();\r\n dataForSave[i].id = groupGoalsForSave[i].id;\r\n dataForSave[i].goalId = groupGoalsForSave[i].goalId;\r\n dataForSave[i].ehiGroupId = groupGoalsForSave[i].ehiGroupId;\r\n dataForSave[i].goalName = groupGoalsForSave[i].goalName;\r\n dataForSave[i].goalValue = groupGoalsForSave[i].goalValue;\r\n dataForSave[i].updatedBy = user.eId;\r\n dataForSave[i].month = month;\r\n dataForSave[i].year = year;\r\n if (groupGoalsForSave[i].goalValue === null) {\r\n dataForSave[i].recordStatus = false;\r\n } else {\r\n dataForSave[i].recordStatus = true;\r\n }\r\n }\r\n return dataForSave;\r\n }\r\n\r\n checkGoalValue(goalValue: any): any {\r\n if (goalValue === '') {\r\n return null;\r\n } else {\r\n // remove commas goalValue set in UpdateDto\r\n if(typeof(goalValue) === 'string') {\r\n return goalValue.replace(/\\,/g, '');\r\n }\r\n return goalValue;\r\n }\r\n }\r\n}\r\n","export class GroupGoalSave {\r\n groupId: number;\r\n groupGoalIds: number[];\r\n}\r\n","import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';\r\nimport { HelperMethodsService } from '../../shared/services/helper-methods.service';\r\nimport { GroupGoalService } from './group-goal.service';\r\nimport { CustomCurrencyPipe } from '../../shared/pipes/custom-currency.pipe';\r\nimport { Group } from '../../models/incoming-dtos/group';\r\nimport { GroupGoal } from '../../models/incoming-dtos/group-goal';\r\nimport { GroupGoalSave } from './group-goal-save';\r\nimport { LoadingSpinnerService } from '../../shared/loading-spinner/loading-spinner.service';\r\nimport { StyleHelperService } from '../../shared/services/style-helper.service';\r\nimport { SpcBaseComponent } from '../../shared/base/spc-base.component';\r\nimport { AppInsightsService } from '../../shared/services/app-insights.service';\r\n\r\n@Component({\r\n selector: 'scoreboard-group-goal',\r\n templateUrl: './group-goal.component.html',\r\n styleUrls: ['./group-goal.component.scss']\r\n})\r\nexport class GroupGoalComponent extends SpcBaseComponent implements OnInit {\r\n @Input() groupGoals: Group[];\r\n grossSpcTargetValues = new Array();\r\n groupsForSave = new Array();\r\n goalsToBeSaved = new Array();\r\n isSaveReady = false;\r\n @Output() groupGoalsChanged: EventEmitter;\r\n\r\n constructor(public helperMethods: HelperMethodsService,\r\n public groupGoalSvc: GroupGoalService,\r\n private customCurrencyPipe: CustomCurrencyPipe,\r\n public loadingSpinnerSvc: LoadingSpinnerService,\r\n public styleHelper: StyleHelperService,\r\n public appInsights: AppInsightsService) {\r\n super(appInsights);\r\n this.groupGoalsChanged = new EventEmitter();\r\n styleHelper.maxWidth = 680;\r\n }\r\n\r\n ngOnInit() {\r\n this.removeEmptyValuesFromGoalValue();\r\n }\r\n\r\n recordGoalId(groupId: number, goalId: number) {\r\n this.isSaveReady = true;\r\n this.removeEmptyValuesFromGoalValue();\r\n if (this.helperMethods.isArrayNullOrEmpty(this.groupsForSave)) {\r\n const ids = new GroupGoalSave();\r\n ids.groupId = groupId;\r\n ids.groupGoalIds = [goalId];\r\n this.groupsForSave.push(ids);\r\n } else {\r\n this.groupsForSave = this.groupGoalSvc.checkIds(this.groupsForSave, groupId, goalId);\r\n }\r\n }\r\n\r\n onSave() {\r\n this.loadingSpinnerSvc.turnSpinnerOn('Saving...');\r\n this.goalsToBeSaved = this.groupGoalSvc.getGoals(this.groupGoals, this.groupsForSave);\r\n this.groupGoalsChanged.emit(this.goalsToBeSaved);\r\n this.groupsForSave = [];\r\n this.isSaveReady = false;\r\n }\r\n\r\n\r\n\r\n removeEmptyValuesFromGoalValue() {\r\n this.groupGoals.forEach(group => {\r\n group.groupGoals.forEach(goal => {\r\n if (!goal.isSpc && goal.goalValue !== null) {\r\n if (goal.goalName.startsWith('Age') || goal.goalName.startsWith('Delete')) {\r\n goal.goalValue = this.customCurrencyPipe.transform(goal.goalValue, '1.1-1');\r\n } else {\r\n goal.goalValue = this.customCurrencyPipe.transform(goal.goalValue, '1.0-0');\r\n }\r\n }\r\n });\r\n });\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HelperMethodsService } from '../../shared/services/helper-methods.service';\r\nimport { GroupGoalSave } from './group-goal-save';\r\nimport { Group } from '../../models/incoming-dtos/group';\r\nimport { GroupGoal } from '../../models/incoming-dtos/group-goal';\r\n\r\n@Injectable()\r\nexport class GroupGoalService {\r\n\r\n constructor(public helperMethods: HelperMethodsService) {}\r\n\r\n checkIds(groupsForSave: GroupGoalSave[], groupId: number, goalId: number): GroupGoalSave[] {\r\n let updatedGroupsForSave = new Array();\r\n const groupIds = [];\r\n groupsForSave.forEach(group => {\r\n groupIds.push(group.groupId);\r\n });\r\n\r\n\r\n if (groupIds.includes(groupId)) {\r\n const index = groupIds.indexOf(groupId);\r\n if (groupsForSave[index].groupGoalIds.includes(goalId)) {\r\n updatedGroupsForSave = groupsForSave;\r\n // Return unchagned list if user changes the same value more than once without clicking save.\r\n } else {\r\n groupsForSave[index].groupGoalIds.push(goalId);\r\n updatedGroupsForSave = groupsForSave;\r\n // Adds a goal record to an group object if this is the first time the user changed the default value.\r\n }\r\n } else {\r\n const newIds = new GroupGoalSave();\r\n // Adds an group that hasn't been recorded yet if the user changes a goal value for the first time in the page.\r\n newIds.groupId = groupId;\r\n newIds.groupGoalIds = [goalId];\r\n groupsForSave.push(newIds);\r\n updatedGroupsForSave = groupsForSave;\r\n }\r\n\r\n return updatedGroupsForSave;\r\n }\r\n\r\n getGoals(groupGoals: Group[], groupsForSave: GroupGoalSave[]): GroupGoal[] {\r\n const goalsForSave = new Array();\r\n const groupIds = [];\r\n groupsForSave.forEach(group => {\r\n groupIds.push(group.groupId);\r\n });\r\n\r\n groupGoals.forEach(group => {\r\n if (groupIds.includes(group.id)) {\r\n let goalIds = [];\r\n const index = groupIds.indexOf(group.id);\r\n goalIds = groupsForSave[index].groupGoalIds;\r\n group.groupGoals.forEach(goal => {\r\n if (goalIds.includes(goal.goalId)) {\r\n goalsForSave.push(goal);\r\n }\r\n });\r\n }\r\n });\r\n\r\n return goalsForSave;\r\n }\r\n}\r\n","import { Component, OnChanges, Input, Output, EventEmitter } from '@angular/core';\r\nimport { GroupPreference } from '../../models/incoming-dtos/group-preference';\r\nimport { HelperMethodsService } from '../../shared/services/helper-methods.service';\r\nimport { GroupPreferenceUpdateDto } from '../../models/outgoing-dtos/group-preference-update-dto';\r\nimport { GroupPreferencesService } from './group-preferences.service';\r\nimport { User } from '../../security/user';\r\nimport { UserService } from '../../security/user.service';\r\nimport { LoadingSpinnerService } from '../../shared/loading-spinner/loading-spinner.service';\r\nimport { GroupFilterService } from '../../shared/group-filter/group-filter.service';\r\nimport { Observable, Subscription } from 'rxjs';\r\nimport { Group } from '../../models/incoming-dtos/group';\r\nimport { finalize } from 'rxjs/operators';\r\nimport { SubscriptionService } from '../../shared/services/subscription.service';\r\n\r\n@Component({\r\n selector: 'scoreboard-group-preferences',\r\n templateUrl: './group-preferences.component.html',\r\n styleUrls: ['./group-preferences.component.scss']\r\n})\r\nexport class GroupPreferencesComponent implements OnChanges {\r\n @Input() levelValue: string;\r\n @Input() groupPreferences: GroupPreference[];\r\n @Input() user: User;\r\n @Output() autoGoalsFlagChanged: EventEmitter;\r\n @Output() getAutoGenerateGoalStatus: EventEmitter;\r\n\r\n sequences = new Array();\r\n coreSequences = new Array();\r\n isCoreGoals = new Array();\r\n groupPrefTuples = new Array<[GroupPreference, boolean]>();\r\n saveGroupPrefDtos = new Array();\r\n isValidSave = false;\r\n shouldShowErrorMessage = new Array();\r\n\r\n @Output() groupPrefSaveChanged = new EventEmitter();\r\n isSaveDisabled: boolean;\r\n isAutoGenerateGoalsChecked: boolean;\r\n group$: Observable;\r\n groupSubscription = new Subscription();\r\n\r\n constructor(public helperMethods: HelperMethodsService,\r\n public groupPreferencesService: GroupPreferencesService,\r\n public userService: UserService,\r\n public loadingSpinnerSvc: LoadingSpinnerService,\r\n public groupFilterService: GroupFilterService,\r\n public subscriptionService: SubscriptionService) {\r\n this.autoGoalsFlagChanged = new EventEmitter();\r\n this.getAutoGenerateGoalStatus = new EventEmitter();\r\n }\r\n\r\n subscribeToGetAutoGenerateGoalStatus() {\r\n this.groupSubscription.unsubscribe();\r\n\r\n this.groupSubscription = this.group$\r\n .pipe(\r\n finalize(() => {\r\n this.getAutoGenerateGoalStatus.emit(this.isAutoGenerateGoalsChecked);\r\n })\r\n )\r\n .subscribe(\r\n group => {\r\n this.isAutoGenerateGoalsChecked = group.autoGenerateGoals;\r\n },\r\n err => {\r\n this.subscriptionService.onError(err, 'OnInit');\r\n }\r\n );\r\n }\r\n\r\n ngOnChanges() {\r\n this.isSaveDisabled = true;\r\n this.groupPrefTuples = this.groupPreferencesService.buildGroupPrefTuples(this.groupPreferences);\r\n this.buildSequenceList();\r\n this.group$ = this.groupFilterService.getGroup(this.groupPreferences[0].ehiGroupId);\r\n this.subscribeToGetAutoGenerateGoalStatus();\r\n }\r\n\r\n enableSave() {\r\n this.isSaveDisabled = false;\r\n this.isValidSave = true;\r\n }\r\n\r\n clearSequenceValue(pref: [GroupPreference, boolean], isSelected: boolean, index: number) {\r\n if (!pref[0].isCorpMetric) {\r\n if (isSelected) {\r\n pref[0].sequence = null;\r\n }\r\n this.validateSequences(pref, index);\r\n }\r\n }\r\n\r\n buildSequenceList() {\r\n let value = 0;\r\n this.coreSequences.length = 0;\r\n this.sequences.length = 0;\r\n this.groupPreferences.forEach(pref => {\r\n value = value + 1;\r\n if (pref.isCorpMetric) {\r\n this.coreSequences.push(value);\r\n } else {\r\n this.sequences.push(value);\r\n }\r\n });\r\n }\r\n\r\n onSave() {\r\n if (this.isValidSave) {\r\n this.isValidSave = this.groupPreferencesService.checkSequenceValue(this.groupPrefTuples);\r\n if (this.isValidSave) {\r\n this.shouldShowErrorMessage = new Array();\r\n this.loadingSpinnerSvc.turnSpinnerOn('Saving...');\r\n this.saveGroupPrefDtos = [];\r\n this.saveGroupPrefDtos = this.groupPreferencesService.buildSaveData(this.groupPrefTuples, this.user, this.groupPreferences);\r\n this.groupPrefSaveChanged.emit(this.saveGroupPrefDtos);\r\n this.autoGoalsFlagChanged.emit(this.isAutoGenerateGoalsChecked);\r\n\r\n }\r\n } else {\r\n this.userService.alertUser('Error with goal orders. Please make a selection or correct issues before saving.');\r\n }\r\n }\r\n\r\n validateSequences(pref: [GroupPreference, boolean], index: number) {\r\n this.isSaveDisabled = false;\r\n this.isValidSave = this.groupPreferencesService.checkSequenceDuplicates(this.groupPrefTuples, pref[0]);\r\n if (!this.isValidSave && pref[0].sequence !== null) {\r\n this.shouldShowErrorMessage[index] = true;\r\n this.userService.alertUser('Goal Order ' + pref[0].sequence.toString() + ' is already taken. Please select a different value.');\r\n } else {\r\n this.shouldShowErrorMessage[index] = false;\r\n }\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { GroupPreference } from '../../models/incoming-dtos/group-preference';\r\nimport { GroupPreferenceUpdateDto } from '../../models/outgoing-dtos/group-preference-update-dto';\r\nimport { User } from '../../security/user';\r\nimport { HelperMethodsService } from '../../shared/services/helper-methods.service';\r\n\r\n@Injectable()\r\nexport class GroupPreferencesService {\r\n constructor(public helperMethods: HelperMethodsService) {}\r\n\r\n buildGroupPrefTuples(groupPreferences: GroupPreference[]): [GroupPreference, boolean][] {\r\n const groupPrefTuples = new Array<[GroupPreference, boolean]>();\r\n groupPreferences.forEach(pref => {\r\n const groupPref = new GroupPreference();\r\n groupPref.id = pref.id;\r\n groupPref.ehiGroupId = pref.ehiGroupId;\r\n groupPref.goalName = pref.goalName;\r\n if (pref.sequence === 9999) {\r\n groupPref.sequence = null;\r\n } else {\r\n groupPref.sequence = pref.sequence;\r\n }\r\n groupPref.selected = pref.selected;\r\n groupPref.isCorpMetric = pref.isCorpMetric;\r\n groupPrefTuples.push([groupPref, pref.selected]);\r\n });\r\n return groupPrefTuples;\r\n }\r\n\r\n // tslint:disable-next-line:max-line-length\r\n buildSaveData(groupPrefTuples: [GroupPreference, boolean][], user: User, groupPreferences: GroupPreference[]): GroupPreferenceUpdateDto[] {\r\n const groupPrefTuplesOrdered = this.checkOrderOfSequences(groupPrefTuples);\r\n const saveGroupPrefDtos = new Array();\r\n groupPrefTuplesOrdered.forEach(tuple => {\r\n if (tuple[0].selected !== tuple[1]) {\r\n const saveGroupPrefDto = new GroupPreferenceUpdateDto();\r\n saveGroupPrefDto.ehiGroupId = tuple[0].ehiGroupId;\r\n saveGroupPrefDto.goalName = tuple[0].goalName;\r\n saveGroupPrefDto.id = tuple[0].id;\r\n if (tuple[1]) {\r\n saveGroupPrefDto.recordStatus = true;\r\n saveGroupPrefDto.sequence = tuple[0].sequence;\r\n } else {\r\n saveGroupPrefDto.recordStatus = false;\r\n saveGroupPrefDto.sequence = 9999;\r\n }\r\n saveGroupPrefDto.updatedBy = user.eId;\r\n saveGroupPrefDtos.push(saveGroupPrefDto);\r\n } else if (tuple[1]) {\r\n const tupleToCheck = this.checkIfTupleShouldBeUpdated(tuple, groupPreferences);\r\n if (tupleToCheck[0].selected) {\r\n const saveGroupPrefDto = new GroupPreferenceUpdateDto();\r\n saveGroupPrefDto.ehiGroupId = tupleToCheck[0].ehiGroupId;\r\n saveGroupPrefDto.goalName = tupleToCheck[0].goalName;\r\n saveGroupPrefDto.id = tupleToCheck[0].id;\r\n saveGroupPrefDto.recordStatus = true;\r\n saveGroupPrefDto.sequence = tuple[0].sequence;\r\n saveGroupPrefDto.updatedBy = user.eId;\r\n saveGroupPrefDtos.push(saveGroupPrefDto);\r\n }\r\n }\r\n });\r\n return saveGroupPrefDtos;\r\n }\r\n\r\n checkOrderOfSequences(groupPrefTuples: [GroupPreference, boolean][]): [GroupPreference, boolean][] {\r\n const groupPrefTuplesOrdered = new Array<[GroupPreference, boolean]>();\r\n const groupPrefWithNullSeq = new Array<[GroupPreference, boolean]>();\r\n let startingSequenceNumber = 0;\r\n groupPrefTuples.forEach(tuple => {\r\n if (!tuple[0].isCorpMetric && tuple[0].sequence !== null) {\r\n groupPrefTuplesOrdered.push(tuple);\r\n }\r\n if (tuple[0].isCorpMetric) {\r\n startingSequenceNumber = startingSequenceNumber + 1;\r\n }\r\n if (!tuple[0].isCorpMetric && tuple[0].sequence === null) {\r\n groupPrefWithNullSeq.push(tuple);\r\n }\r\n });\r\n groupPrefTuplesOrdered.sort((a, b) => this.helperMethods.compareNumbers(b[0].sequence, a[0].sequence));\r\n const finalSequenceNumber = groupPrefTuples.length;\r\n for (let i = 0; i < groupPrefTuplesOrdered.length; i++) {\r\n startingSequenceNumber = startingSequenceNumber + 1;\r\n if (startingSequenceNumber < finalSequenceNumber) {\r\n groupPrefTuplesOrdered[i][0].sequence = startingSequenceNumber;\r\n }\r\n }\r\n groupPrefWithNullSeq.forEach(tuple => {\r\n groupPrefTuplesOrdered.push(tuple);\r\n });\r\n return groupPrefTuplesOrdered;\r\n }\r\n\r\n checkIfTupleShouldBeUpdated(tuple: [GroupPreference, boolean], groupPreferences: GroupPreference[]): [GroupPreference, boolean] {\r\n groupPreferences.forEach(pref => {\r\n if (pref.id === tuple[0].id) {\r\n if (pref.sequence !== tuple[0].sequence) {\r\n tuple[0].selected = true;\r\n } else {\r\n tuple[0].selected = false;\r\n }\r\n }\r\n });\r\n return tuple;\r\n }\r\n\r\n checkSequenceValue(groupPrefTuples: [GroupPreference, boolean][]): boolean {\r\n let isValidSave = true;\r\n groupPrefTuples.forEach(tuple => {\r\n if (tuple[1] && tuple[0].sequence === null) {\r\n isValidSave = false;\r\n }\r\n });\r\n return isValidSave;\r\n }\r\n\r\n checkSequenceDuplicates(groupPrefTuples: [GroupPreference, boolean][], pref: GroupPreference): boolean {\r\n const sequences = new Array();\r\n groupPrefTuples.forEach(tuple => {\r\n if (tuple[0].goalName !== pref.goalName && tuple[0].sequence !== null) {\r\n sequences.push(tuple[0].sequence);\r\n }\r\n });\r\n\r\n if (sequences.includes(pref.sequence)) {\r\n return false;\r\n } else {\r\n return true;\r\n }\r\n }\r\n}\r\n","export class TeamGoalSave {\r\n teamId: number;\r\n teamGoalIds: number[];\r\n}\r\n","import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';\r\nimport { HelperMethodsService } from '../../shared/services/helper-methods.service';\r\nimport { TeamGoalService } from './team-goal.service';\r\nimport { CustomCurrencyPipe } from '../../shared/pipes/custom-currency.pipe';\r\nimport { Team } from '../../models/incoming-dtos/team';\r\nimport { TeamGoal } from '../../models/incoming-dtos/team-goal';\r\nimport { TeamGoalSave } from './team-goal-save';\r\nimport { LoadingSpinnerService } from '../../shared/loading-spinner/loading-spinner.service';\r\nimport { StyleHelperService } from '../../shared/services/style-helper.service';\r\nimport { SpcBaseComponent } from '../../shared/base/spc-base.component';\r\nimport { AppInsightsService } from '../../shared/services/app-insights.service';\r\n\r\n@Component({\r\n selector: 'scoreboard-team-goal',\r\n templateUrl: './team-goal.component.html',\r\n styleUrls: ['./team-goal.component.scss']\r\n})\r\nexport class TeamGoalComponent extends SpcBaseComponent implements OnInit {\r\n @Input() teamGoals: Team[];\r\n grossSpcTargetValues = new Array();\r\n teamsForSave = new Array();\r\n goalsToBeSaved = new Array();\r\n isSaveReady = false;\r\n @Output() teamGoalsChanged: EventEmitter;\r\n\r\n constructor(public helperMethods: HelperMethodsService,\r\n public teamGoalSvc: TeamGoalService,\r\n private customCurrencyPipe: CustomCurrencyPipe,\r\n public loadingSpinnerSvc: LoadingSpinnerService,\r\n public styleHelper: StyleHelperService,\r\n public appInsights: AppInsightsService) {\r\n super(appInsights);\r\n this.teamGoalsChanged = new EventEmitter();\r\n styleHelper.maxWidth = 680;\r\n }\r\n\r\n ngOnInit() {\r\n this.removeEmptyValuesFromGoalValue();\r\n }\r\n\r\n recordGoalId(teamId: number, goalId: number) {\r\n this.isSaveReady = true;\r\n this.removeEmptyValuesFromGoalValue();\r\n if (this.helperMethods.isArrayNullOrEmpty(this.teamsForSave)) {\r\n const ids = new TeamGoalSave();\r\n ids.teamId = teamId;\r\n ids.teamGoalIds = [goalId];\r\n this.teamsForSave.push(ids);\r\n } else {\r\n this.teamsForSave = this.teamGoalSvc.checkIds(this.teamsForSave, teamId, goalId);\r\n }\r\n }\r\n\r\n onSave() {\r\n this.loadingSpinnerSvc.turnSpinnerOn('Saving...');\r\n this.goalsToBeSaved = this.teamGoalSvc.getGoals(this.teamGoals, this.teamsForSave);\r\n this.teamGoalsChanged.emit(this.goalsToBeSaved);\r\n this.teamsForSave = [];\r\n this.isSaveReady = false;\r\n }\r\n\r\n hideGoalByName(team: Team, idx: number) {\r\n if (team && team.name && team.teamGoals && team.teamGoals.length > 0 && idx < team.teamGoals.length) {\r\n return !this.hideHtmlElementByName(team.teamGoals[idx], this.defaultElementToHide);\r\n }\r\n return false;\r\n }\r\n\r\n removeEmptyValuesFromGoalValue() {\r\n this.teamGoals.forEach(team => {\r\n team.teamGoals.forEach(goal => {\r\n if (!goal.isSpc && goal.goalValue !== null) {\r\n if (goal.goalName.startsWith('Age') || goal.goalName.startsWith('Delete')) {\r\n goal.goalValue = this.customCurrencyPipe.transform(goal.goalValue, '1.1-1');\r\n } else {\r\n goal.goalValue = this.customCurrencyPipe.transform(goal.goalValue, '1.0-0');\r\n }\r\n }\r\n });\r\n });\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HelperMethodsService } from '../../shared/services/helper-methods.service';\r\nimport { TeamGoalSave } from './team-goal-save';\r\nimport { Team } from '../../models/incoming-dtos/team';\r\nimport { TeamGoal } from '../../models/incoming-dtos/team-goal';\r\n\r\n@Injectable()\r\nexport class TeamGoalService {\r\n\r\n constructor(public helperMethods: HelperMethodsService) {}\r\n\r\n checkIds(teamsForSave: TeamGoalSave[], teamId: number, goalId: number): TeamGoalSave[] {\r\n let updatedTeamsForSave = new Array();\r\n const teamIds = [];\r\n teamsForSave.forEach(team => {\r\n teamIds.push(team.teamId);\r\n });\r\n\r\n\r\n if (teamIds.includes(teamId)) {\r\n const index = teamIds.indexOf(teamId);\r\n if (teamsForSave[index].teamGoalIds.includes(goalId)) {\r\n updatedTeamsForSave = teamsForSave;\r\n // Return unchagned list if user changes the same value more than once without clicking save.\r\n } else {\r\n teamsForSave[index].teamGoalIds.push(goalId);\r\n updatedTeamsForSave = teamsForSave;\r\n // Adds a goal record to an team object if this is the first time the user changed the default value.\r\n }\r\n } else {\r\n const newIds = new TeamGoalSave();\r\n // Adds an team that hasn't been recorded yet if the user changes a goal value for the first time in the page.\r\n newIds.teamId = teamId;\r\n newIds.teamGoalIds = [goalId];\r\n teamsForSave.push(newIds);\r\n updatedTeamsForSave = teamsForSave;\r\n }\r\n\r\n return updatedTeamsForSave;\r\n }\r\n\r\n getGoals(teamGoals: Team[], teamsForSave: TeamGoalSave[]): TeamGoal[] {\r\n const goalsForSave = new Array();\r\n const teamIds = [];\r\n teamsForSave.forEach(team => {\r\n teamIds.push(team.teamId);\r\n });\r\n\r\n teamGoals.forEach(team => {\r\n if (teamIds.includes(team.id)) {\r\n let goalIds = [];\r\n const index = teamIds.indexOf(team.id);\r\n goalIds = teamsForSave[index].teamGoalIds;\r\n team.teamGoals.forEach(goal => {\r\n if (goalIds.includes(goal.goalId)) {\r\n goalsForSave.push(goal);\r\n }\r\n });\r\n }\r\n });\r\n\r\n return goalsForSave;\r\n }\r\n}\r\n","export enum SpcType {\r\n country = 1,\r\n market = 2\r\n}\r\n","export class Admin {\r\n ehiGroupId: number;\r\n groupName: string;\r\n month: number;\r\n year: number;\r\n locked: boolean;\r\n lastUpdated: Date;\r\n performedBy: string;\r\n}\r\n","import { GoalActual } from './goal-actual';\r\nimport { Employee } from './employee';\r\n\r\nexport class DashboardEmployeeOverview {\r\n dailySalesPace: number;\r\n salesPaceGoal: string;\r\n salesPaceOnTrack: boolean;\r\n rank: number;\r\n maxRank: number;\r\n goalActualDtos: GoalActual[];\r\n employeeDto: Employee;\r\n totalRankPoints: number;\r\n}\r\n","import { GoalActual } from './goal-actual';\r\nimport { Group } from './group';\r\n\r\nexport class DashboardGroupOverview {\r\n dailySalesPace: number;\r\n salesPaceGoal: string;\r\n salesPaceOnTrack: boolean;\r\n rank: number;\r\n maxRank: number;\r\n goalActuals: GoalActual[];\r\n ehiGroup: Group;\r\n}\r\n","import { GoalActual } from './goal-actual';\r\nimport { Team } from './team';\r\n\r\nexport class DashboardTeamOverview {\r\n dailySalesPace: number;\r\n salesPaceGoal: string;\r\n salesPaceOnTrack: boolean;\r\n rank: number;\r\n maxRank: number;\r\n goalActuals: GoalActual[];\r\n team: Team;\r\n}\r\n","export class GroupPreference {\r\n id: number;\r\n ehiGroupId: number;\r\n goalName: string;\r\n sequence: number;\r\n selected: boolean;\r\n isCorpMetric: boolean;\r\n}\r\n","import { DaysUsedHistory } from './days-used-history';\r\n\r\nexport class PaidTimeOff {\r\n id: number;\r\n employeeId: number;\r\n ehiGroupId: number;\r\n firstName: string;\r\n lastName: string;\r\n groupName: string;\r\n jobTitle: string;\r\n monthDaysUsed: number;\r\n yearDaysUsed: number;\r\n month: number;\r\n year: number;\r\n daysUsed: DaysUsedHistory;\r\n locked: boolean;\r\n}\r\n","import { Employee } from './employee';\r\n\r\nexport class PayMemo {\r\n id: number;\r\n teamName: string;\r\n payPlanId: number;\r\n ptoDaysUsed: number;\r\n ptoRate: number;\r\n ptoPay: number;\r\n actualSalesVolume: number;\r\n actualSalesVolumeTeam: number;\r\n payoutPerCar: number;\r\n salesVolumePayout: number;\r\n grossSpcActual: number;\r\n grossSPCNationalActual: number;\r\n adjustedGrossSPCActual: number;\r\n grossSpcTarget: number;\r\n grossSpcPayout: number;\r\n netSpcActual: number;\r\n netSpcTarget: number;\r\n netSpcPayout: number;\r\n quadGrowthActual: number;\r\n quadGrowthTarget: number;\r\n quadGrowthPayout: number;\r\n dealersSoldToGrowthActual: number;\r\n dealersSoldToGrowthTarget: number;\r\n dealersSoldToGrowthPayout: number;\r\n daysToDispositionActual: number;\r\n daysToDispositionTarget: number;\r\n daysToDispositionPayout: number;\r\n agedPercentageActual: number;\r\n agedPercentageTarget: number;\r\n agedPercentagePayout: number;\r\n purchaseVolumeActual: number;\r\n purchaseVolumeActualTeam: number;\r\n purchaseVolumePayPerUnit: number;\r\n purchaseVolumePayPayout: number;\r\n localBoostPercentActual: number;\r\n localBoostPercentTarget: number;\r\n localBoostPercentPayout: number;\r\n dealerSoldToAllTarget:\tnumber;\r\n dealerSoldToAllActual:\tnumber;\r\n dealerSoldToAllPayout:\tnumber;\r\n projectedPay: number;\r\n adjustments: string;\r\n adjustedPay: number;\r\n comments: string;\r\n locked: boolean;\r\n employee: Employee;\r\n ehiGroupId: number;\r\n milestoneBonus: number;\r\n milestoneBonusTeam: number;\r\n buyerAverage: number;\r\n buyerAverageTeam: number;\r\n averageBuyerGoalBonus: number;\r\n averageBuyerGoalBonusTeam: number;\r\n reversalAdjustment: number;\r\n updatedTime: Date;\r\n}\r\n","import { Employee } from './employee';\r\nimport { VacationDaysType } from './vacation-days-type';\r\nimport { SpcType } from '../enums/spc-type';\r\n\r\nexport class PayPlan {\r\n id: number;\r\n targetCompensation: number;\r\n vacationPay: number;\r\n vacationDaysTypeId: number;\r\n basePay: number;\r\n profitBonusAmount: number;\r\n profitBonusPercent: number;\r\n salesVolumeTarget: number;\r\n salesVolumePayPerUnit: number;\r\n employeeMonthId: number;\r\n locked: boolean;\r\n netSpcTarget: number;\r\n netSpcPayout: number;\r\n grossSpcTarget: number;\r\n grossSpcPayout: number;\r\n quadGrowthTarget: number;\r\n quadGrowthPayout: number;\r\n dealersSoldToGrowthTarget: number;\r\n dealersSoldToGrowthPayout: number;\r\n daysToDispositionTarget: number;\r\n daysToDispositionPayout: number;\r\n agedPercentageTarget: number;\r\n agedPercentagePayout: number;\r\n localBoostPercentTarget: number;\r\n localBoostPercentPayout: number;\r\n purchaseVolumeTarget: number;\r\n purchaseVolumePayPerUnit: number;\r\n dealerSoldToAllTarget: number;\r\n dealerSoldToAllPayout: number;\r\n targetSpcType: SpcType;\r\n employee: Employee;\r\n availableSpcTargets: string[];\r\n availableVacationDayTypes: VacationDaysType[];\r\n updatedTime: Date;\r\n updatedBy: string;\r\n expiryDate: Date;\r\n effectiveDate: Date;\r\n}\r\n","import { Employee } from './employee';\r\nimport { TeamGoal } from './team-goal';\r\n\r\nexport class Team {\r\n id: number;\r\n name: string;\r\n groupName: string;\r\n employees: Employee[];\r\n managers: Employee[];\r\n teamGoals: TeamGoal[];\r\n availableSpcTargets: number[];\r\n}\r\n","import { Employee } from '../incoming-dtos/employee';\r\n\r\nexport class CreateOrUpdateTeamDto {\r\n groupName: string;\r\n month: number;\r\n year: number;\r\n teamName: string;\r\n manager: Employee;\r\n employees: Employee[];\r\n createdBy: string;\r\n updatedBy: string;\r\n}\r\n","export class EmployeeGoalUpdateDto {\r\n id: number;\r\n goalId: number;\r\n employeeMonthId: number;\r\n goalName: string;\r\n goalValue: string;\r\n updatedBy: string;\r\n recordStatus: boolean;\r\n teamId: number;\r\n month: number;\r\n year: number;\r\n ehiGroupId: number;\r\n}\r\n","import { Employee } from '../incoming-dtos/employee';\r\nimport { SalesMilestone } from '../incoming-dtos/sales-milestone';\r\nimport { BuyerTier } from '../incoming-dtos/buyer-tier';\r\n\r\nexport class EUPayPlanDto {\r\n id: number;\r\n basePay: number;\r\n profitBonusAmount: number;\r\n totalGroupProfit: number;\r\n salesVolumeTarget: number;\r\n salesVolumePayPerUnit: number;\r\n employeeMonthId: number;\r\n locked: boolean;\r\n employee: Employee;\r\n salesMilestones: SalesMilestone[];\r\n buyerTiers: BuyerTier[];\r\n buyerAverageTarget: number;\r\n updatedBy: string;\r\n createdBy: string;\r\n updatedTime: Date;\r\n expiryDate: Date;\r\n effectiveDate: Date;\r\n volumePay: string;\r\n milestonePay: string;\r\n buyerAveragePay: string;\r\n buyerAveragePayTimePeriod: string;\r\n buyerAveragePayTimePeriodTeam: string;\r\n buyerAverageTargetTeam: number;\r\n salesVolumeTargetTeam: number;\r\n salesMilestonesTeam: SalesMilestone[];\r\n buyerTiersTeam: BuyerTier[];\r\n\r\n}\r\n","export class GroupGoalUpdateDto {\r\n id: number;\r\n ehiGroupId: number;\r\n goalId: number;\r\n goalName: string;\r\n goalValue: string;\r\n updatedBy: string;\r\n month: number;\r\n year: number;\r\n recordStatus: boolean;\r\n}\r\n","export class GroupPreferenceUpdateDto {\r\n id: number;\r\n ehiGroupId: number;\r\n goalName: string;\r\n sequence: number;\r\n recordStatus: boolean;\r\n updatedBy: string;\r\n}\r\n","export class PayMemoSaveDto {\r\n id: number;\r\n adjustments: string;\r\n comments: string;\r\n locked: boolean;\r\n updatedBy: string;\r\n}\r\n","import { SpcType } from '../enums/spc-type';\r\n\r\nexport class PayPlanSaveDto {\r\n id: number;\r\n targetCompensation: number;\r\n vacationPay: number;\r\n vacationDaysTypeId: number;\r\n basePay: number;\r\n profitBonusAmount: number;\r\n profitBonusPercent: number;\r\n salesVolumeTarget: number;\r\n salesVolumePayPerUnit: number;\r\n employeeMonthId: number;\r\n netSpcTarget: number;\r\n netSpcPayout: number;\r\n grossSpcTarget: number;\r\n grossSpcPayout: number;\r\n quadGrowthTarget: number;\r\n quadGrowthPayout: number;\r\n dealersSoldToGrowthTarget: number;\r\n dealersSoldToGrowthPayout: number;\r\n daysToDispositionTarget: number;\r\n daysToDispositionPayout: number;\r\n agedPercentageTarget: number;\r\n agedPercentagePayout: number;\r\n localBoostPercentTarget: number;\r\n localBoostPercentPayout: number;\r\n purchaseVolumeTarget: number;\r\n purchaseVolumePayPerUnit: number;\r\n dealerSoldToAllTarget: number;\r\n dealerSoldToAllPayout: number;\r\n targetSpcType: SpcType;\r\n updatedBy: string;\r\n createdBy: string;\r\n}\r\n","export class TeamGoalUpdateDto {\r\n id: number;\r\n goalId: number;\r\n teamId: number;\r\n goalName: string;\r\n goalValue: string;\r\n updatedBy: string;\r\n recordStatus: boolean;\r\n}\r\n","export class UpdateGroupDto {\r\n autoGenerateGoals: boolean;\r\n id: number;\r\n date: string;\r\n}\r\n","export class PaidTimeOffUpdateDto {\r\n id: number;\r\n employeeId: number;\r\n ehiGroupId: number;\r\n daysUsed: number;\r\n month: number;\r\n year: number;\r\n updatedBy: string;\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { XlsxExportService } from '../shared/xlsx-export/xlsx-export.service';\r\nimport { PaidTimeOff } from '../models/incoming-dtos/paid-time-off';\r\nimport { PaidTimeOffExport } from './paid-timeoff-export';\r\n\r\n@Injectable()\r\nexport class PaidTimeOffExportService {\r\n\r\n constructor(private xlsxExportService: XlsxExportService) {\r\n }\r\n\r\n generateExport(exportData: PaidTimeOff[], levelValue: string, month: number, year: number) {\r\n const paidTimeOffForExport = [];\r\n for (let i = 0; i < exportData.length; i ++) {\r\n paidTimeOffForExport[i] = new PaidTimeOffExport();\r\n paidTimeOffForExport[i].name = exportData[i].firstName + ' ' + exportData[i].lastName;\r\n paidTimeOffForExport[i].august = exportData[i].daysUsed.august;\r\n paidTimeOffForExport[i].september = exportData[i].daysUsed.september;\r\n paidTimeOffForExport[i].october = exportData[i].daysUsed.october;\r\n paidTimeOffForExport[i].november = exportData[i].daysUsed.november;\r\n paidTimeOffForExport[i].december = exportData[i].daysUsed.december;\r\n paidTimeOffForExport[i].january = exportData[i].daysUsed.january;\r\n paidTimeOffForExport[i].february = exportData[i].daysUsed.february;\r\n paidTimeOffForExport[i].march = exportData[i].daysUsed.march;\r\n paidTimeOffForExport[i].april = exportData[i].daysUsed.april;\r\n paidTimeOffForExport[i].may = exportData[i].daysUsed.may;\r\n paidTimeOffForExport[i].june = exportData[i].daysUsed.june;\r\n paidTimeOffForExport[i].july = exportData[i].daysUsed.july;\r\n paidTimeOffForExport[i].yearDaysUsed = exportData[i].yearDaysUsed;\r\n }\r\n this.setHeadersForPaidTimeOffExport(paidTimeOffForExport, levelValue, month, year);\r\n }\r\n\r\n setHeadersForPaidTimeOffExport(paidTimeOffData: PaidTimeOff[], levelValue: string, month: number, year: number) {\r\n const dataWithNewHeaders = [];\r\n paidTimeOffData.forEach(element => {\r\n dataWithNewHeaders.push(JSON.parse(JSON.stringify(element).replace('groupName', 'Group')\r\n .replace('name', 'Name')\r\n .replace('august', 'August')\r\n .replace('september', 'September')\r\n .replace('october', 'October')\r\n .replace('november', 'November')\r\n .replace('december', 'December')\r\n .replace('january', 'January')\r\n .replace('february', 'February')\r\n .replace('march', 'March')\r\n .replace('april', 'April')\r\n .replace('may', 'May')\r\n .replace('june', 'June')\r\n .replace('july', 'July')\r\n .replace('yearDaysUsed', 'Totals')));\r\n });\r\n const fileName = this.buildFileName();\r\n const fiscalYear = this.findFiscalYear(month, year);\r\n const title = 'PAID TIME OFF/Group' + ' ' + levelValue + '/' + fiscalYear;\r\n this.xlsxExportService.generateExport(dataWithNewHeaders, fileName, title);\r\n }\r\n\r\n buildFileName(): string {\r\n const timeOfExport = new Date();\r\n const year = timeOfExport.getFullYear();\r\n const month = timeOfExport.getMonth() + 1;\r\n const day = timeOfExport.getDate();\r\n const hour = timeOfExport.getHours();\r\n const minute = timeOfExport.getMinutes();\r\n const second = timeOfExport.getSeconds();\r\n const monthString = this.checkNumber(month);\r\n const dayString = this.checkNumber(day);\r\n const hourString = this.checkNumber(hour);\r\n const minuteString = this.checkNumber(minute);\r\n const secondString = this.checkNumber(second);\r\n return 'PaidTimeOff_' + year + '_' + monthString + '_' + dayString + '_' + hourString + '_' + minuteString + '_' + secondString;\r\n }\r\n\r\n checkNumber(num: number): string {\r\n if (num > 9) {\r\n return num.toString();\r\n } else {\r\n return '0' + num.toString();\r\n }\r\n }\r\n\r\n findFiscalYear(month: number, year: number): string {\r\n if (month >= 8) {\r\n return 'FY ' + year.toString();\r\n } else {\r\n const previousYear = year - 1;\r\n return 'FY ' + previousYear.toString();\r\n }\r\n }\r\n}\r\n","export class PaidTimeOffExport {\r\n groupName: string;\r\n name: string;\r\n august: number;\r\n september: number;\r\n october: number;\r\n november: number;\r\n december: number;\r\n january: number;\r\n february: number;\r\n march: number;\r\n april: number;\r\n may: number;\r\n june: number;\r\n july: number;\r\n yearDaysUsed: number;\r\n}\r\n","import { Router, CanActivate } from '@angular/router';\r\nimport { Injectable } from '@angular/core';\r\nimport { UserService } from '../security/user.service';\r\nimport { SecuredObjectService } from '../security/secured-object.service';\r\nimport { map } from 'rxjs/operators';\r\n\r\n@Injectable()\r\nexport class PaidTimeoffRouteActivator implements CanActivate {\r\n\r\n constructor(private router: Router,\r\n private userService: UserService,\r\n private secObjService: SecuredObjectService) {}\r\n\r\n canActivate() {\r\n return this.userService.userSource$.pipe(map((user) => {\r\n if (user) {\r\n if (this.hasAccess()) {\r\n return true;\r\n } else {\r\n this.router.navigate(['page-not-found']);\r\n }\r\n }\r\n return false;\r\n }));\r\n }\r\n\r\n hasAccess(): boolean {\r\n return this.secObjService.hasPaidTimeOffPageAccess();\r\n }\r\n}\r\n","import { Component, OnInit, Input, Output, EventEmitter, OnChanges } from '@angular/core';\r\nimport { HelperMethodsService } from '../../shared/services/helper-methods.service';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { PaidTimeOffTableService } from './paid-timeoff-table.service';\r\nimport { PaidTimeOff } from '../../models/incoming-dtos/paid-time-off';\r\nimport { LoadingSpinnerService } from '../../shared/loading-spinner/loading-spinner.service';\r\nimport { groupLevels } from '../../shared/static-data/group-levels';\r\nimport { CustomCurrencyPipe } from '../../shared/pipes/custom-currency.pipe';\r\nimport { UserService } from '../../security/user.service';\r\nimport { User } from '../../security/user';\r\nimport { SecuredObjectService } from '../../security/secured-object.service';\r\nimport { StyleHelperService } from '../../shared/services/style-helper.service';\r\n\r\n@Component({\r\n selector: 'scoreboard-paid-timeoff-table',\r\n templateUrl: './paid-timeoff-table.component.html',\r\n styleUrls: ['./paid-timeoff-table.component.scss']\r\n})\r\n\r\nexport class PaidTimeoffTableComponent implements OnInit, OnChanges {\r\n @Input() paidTimeOffData: PaidTimeOff[];\r\n @Input() level: string;\r\n @Input() levelValue: string;\r\n @Input() month: number;\r\n @Input() year: number;\r\n\r\n @Output() paidTimeOffDataChanged: EventEmitter;\r\n @Output() shouldGetExportData: EventEmitter;\r\n\r\n user: User;\r\n shouldEnableInputAndSave = true;\r\n paidTimeOffDataForTable = new Array();\r\n paidTimeOffDataInView: PaidTimeOff[];\r\n dataSource = new MatTableDataSource();\r\n displayedColumns = ['groupName', 'name', 'jobTitle', 'monthDaysUsed', 'yearDaysUsed'];\r\n query = '';\r\n shouldEnableExport = false;\r\n hasUserInputData = false;\r\n employeeIdsForSave = new Array();\r\n recordsForSave = new Array();\r\n\r\n constructor(private helperMethods: HelperMethodsService,\r\n private paidTimeOffTableSvc: PaidTimeOffTableService,\r\n private customCurrencyPipe: CustomCurrencyPipe,\r\n public loadingSpinnerSvc: LoadingSpinnerService,\r\n private userService: UserService,\r\n public secObjService: SecuredObjectService,\r\n public styleHelper: StyleHelperService) {\r\n this.paidTimeOffDataChanged = new EventEmitter();\r\n this.shouldGetExportData = new EventEmitter();\r\n styleHelper.maxWidth = 680;\r\n }\r\n\r\n ngOnInit() {\r\n this.userService.userSource$.subscribe(user => this.user = user);\r\n this.paidTimeOffDataForTable = this.paidTimeOffTableSvc.buildPaidTimeOffDataForTable(this.paidTimeOffData);\r\n this.getTableData();\r\n }\r\n\r\n ngOnChanges() {\r\n if (this.paidTimeOffData[0].locked) {\r\n this.shouldEnableInputAndSave = false;\r\n this.shouldEnableExport = false;\r\n } else {\r\n this.shouldEnableInputAndSave = true;\r\n this.shouldEnableExport = true;\r\n }\r\n if (this.shouldEnableExport) {\r\n this.checkLevelForExport();\r\n }\r\n }\r\n\r\n checkLevelForExport() {\r\n if (this.level === groupLevels.group) {\r\n this.shouldEnableExport = true;\r\n } else {\r\n this.shouldEnableExport = false;\r\n }\r\n }\r\n\r\n applyFilter(filterValue: string) {\r\n this.query = filterValue;\r\n if (!this.helperMethods.isStringNullOrEmpty(filterValue)) {\r\n this.dataSource.data = [];\r\n this.paidTimeOffDataInView = this.paidTimeOffTableSvc.filterPaidTimeOffData(filterValue, this.paidTimeOffDataForTable);\r\n this.dataSource.data = this.paidTimeOffDataInView;\r\n } else {\r\n this.dataSource.data = this.paidTimeOffDataForTable;\r\n }\r\n }\r\n\r\n getTableData() {\r\n this.dataSource.data = this.paidTimeOffDataForTable;\r\n }\r\n\r\n onExport() {\r\n this.loadingSpinnerSvc.turnSpinnerOn('Loading...');\r\n const dataCheck = this.dataSource.data;\r\n if (!this.helperMethods.isArrayNullOrEmpty(dataCheck)) {\r\n this.shouldGetExportData.emit(true);\r\n } else {\r\n this.shouldGetExportData.emit(false);\r\n }\r\n }\r\n\r\n onSave() {\r\n this.loadingSpinnerSvc.turnSpinnerOn('Saving...');\r\n this.recordsForSave = this.paidTimeOffTableSvc.getRecordsForSave(this.employeeIdsForSave, this.paidTimeOffDataForTable);\r\n this.paidTimeOffDataChanged.emit(this.recordsForSave);\r\n }\r\n\r\n pipeAdjustments(empId: number, val: number) {\r\n // apply rounding to 2 decimals, but then remove commas to convert back to a number\r\n const adj = this.customCurrencyPipe.transform(val.toString(), '1.2-2').replace(/,/g, '');\r\n this.paidTimeOffDataForTable.find(data => data.employeeId === empId).monthDaysUsed = Number(adj);\r\n }\r\n\r\n recordEmployeeIdsForSave(paidTimeOffRecord: PaidTimeOff) {\r\n this.employeeIdsForSave = this.paidTimeOffTableSvc.checkEmployeeIdsForSave(\r\n this.employeeIdsForSave, paidTimeOffRecord, this.paidTimeOffData);\r\n this.checkEmployeeIdsForSave();\r\n }\r\n\r\n checkEmployeeIdsForSave() {\r\n if (this.employeeIdsForSave.length > 0) {\r\n this.hasUserInputData = true;\r\n } else {\r\n this.hasUserInputData = false;\r\n }\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { PaidTimeOff } from '../../models/incoming-dtos/paid-time-off';\r\nimport { HelperMethodsService } from '../../shared/services/helper-methods.service';\r\n\r\n@Injectable()\r\nexport class PaidTimeOffTableService {\r\n\r\n constructor(public helperMethods: HelperMethodsService) {}\r\n\r\n buildPaidTimeOffDataForTable(paidTimeOffData: PaidTimeOff[]): PaidTimeOff[] {\r\n const paidTimeOffDataForTable = new Array();\r\n paidTimeOffData.forEach(row => {\r\n const paidTimeOff = new PaidTimeOff();\r\n paidTimeOff.daysUsed = row.daysUsed;\r\n paidTimeOff.ehiGroupId = row.ehiGroupId;\r\n paidTimeOff.employeeId = row.employeeId;\r\n paidTimeOff.firstName = row.firstName;\r\n paidTimeOff.groupName = row.groupName;\r\n paidTimeOff.id = row.id;\r\n paidTimeOff.jobTitle = row.jobTitle;\r\n paidTimeOff.lastName = row.lastName;\r\n paidTimeOff.month = row.month;\r\n paidTimeOff.monthDaysUsed = row.monthDaysUsed;\r\n paidTimeOff.year = row.year;\r\n paidTimeOff.yearDaysUsed = row.yearDaysUsed;\r\n paidTimeOffDataForTable.push(paidTimeOff);\r\n });\r\n\r\n return paidTimeOffDataForTable;\r\n }\r\n\r\n filterPaidTimeOffData(filterValue: string, tableData: any[]): any[] {\r\n const text = filterValue.toLowerCase();\r\n const filteredData = [];\r\n tableData.forEach(obj => {\r\n if (!this.helperMethods.isStringNullOrEmpty(obj.firstName) && !this.helperMethods.isStringNullOrEmpty(obj.lastName)) {\r\n const name = obj.firstName.toLowerCase() + ' ' + obj.lastName.toLowerCase();\r\n if (name.includes(text)) {\r\n filteredData.push(obj);\r\n }\r\n }\r\n });\r\n if (!this.helperMethods.isArrayNullOrEmpty(filteredData)) {\r\n return filteredData;\r\n } else {\r\n return tableData = [];\r\n }\r\n }\r\n\r\n checkEmployeeIdsForSave(employeeIdsForSave: number[], paidTimeOffRecord: PaidTimeOff, paidTimeOffData: PaidTimeOff[]): number[] {\r\n paidTimeOffData.forEach(row => {\r\n if (row.employeeId === paidTimeOffRecord.employeeId && employeeIdsForSave.includes(paidTimeOffRecord.employeeId)) {\r\n if (row.monthDaysUsed.toString() === paidTimeOffRecord.monthDaysUsed.toString()) {\r\n const index = employeeIdsForSave.indexOf(paidTimeOffRecord.employeeId);\r\n employeeIdsForSave.splice(index, 1);\r\n }\r\n } else if (row.employeeId === paidTimeOffRecord.employeeId &&\r\n row.monthDaysUsed.toString() !== paidTimeOffRecord.monthDaysUsed.toString()) {\r\n employeeIdsForSave.push(paidTimeOffRecord.employeeId);\r\n }\r\n });\r\n\r\n return employeeIdsForSave;\r\n }\r\n\r\n getRecordsForSave(employeeIdsForSave: number[], paidTimeOffDataForTable: PaidTimeOff[]): PaidTimeOff[] {\r\n const recordsForSave = new Array();\r\n employeeIdsForSave.forEach(employeeId => {\r\n const record = paidTimeOffDataForTable.filter(x => x.employeeId === employeeId);\r\n recordsForSave.push(record[0]);\r\n });\r\n return recordsForSave;\r\n }\r\n}\r\n","import { Component, OnInit, OnDestroy } from '@angular/core';\r\nimport { AppInsightsService } from '../shared/services/app-insights.service';\r\nimport { UserService } from '../security/user.service';\r\nimport { HelperMethodsService } from '../shared/services/helper-methods.service';\r\nimport { BaseComponent } from '../shared/base/base.component';\r\nimport { groupLevels } from '../shared/static-data/group-levels';\r\nimport { PaidTimeOff } from '../models/incoming-dtos/paid-time-off';\r\nimport { Observable } from 'rxjs';\r\nimport { PaidTimeOffService } from './paid-timeoff.service';\r\nimport { Subscription } from 'rxjs';\r\nimport { SubscriptionService } from '../shared/services/subscription.service';\r\nimport { LoadingSpinnerService } from '../shared/loading-spinner/loading-spinner.service';\r\nimport { User } from '../security/user';\r\nimport { SnackBarService } from '../shared/services/snack-bar.service';\r\nimport { PaidTimeOffExportService } from './paid-timeoff-export.service';\r\nimport { CoreFiltersService } from '../shared/services/core-filters.service';\r\nimport { finalize } from 'rxjs/operators';\r\n\r\n@Component({\r\n selector: 'scoreboard-paid-timeoff',\r\n templateUrl: './paid-timeoff.component.html'\r\n})\r\nexport class PaidTimeoffComponent extends BaseComponent implements OnInit, OnDestroy {\r\n paidTimeOffData = new Array();\r\n paidTimeOffData$ = new Observable>();\r\n paidTimeOffSubscription = new Subscription();\r\n\r\n paidTimeOffDataForSave = new Array();\r\n paidTimeOffSave$ = new Observable();\r\n paidTimeOffSaveSubscription = new Subscription();\r\n\r\n exportData$ = new Observable>();\r\n exportData = new Array();\r\n exportSubscription = new Subscription();\r\n coreFilterSubscription = new Subscription();\r\n\r\n user = new User();\r\n\r\n constructor(public appInsights: AppInsightsService,\r\n public userService: UserService,\r\n public helperMethods: HelperMethodsService,\r\n public paidTimeOffSvc: PaidTimeOffService,\r\n public subscribeService: SubscriptionService,\r\n public loadingSpinnerSvc: LoadingSpinnerService,\r\n public snackBarSvc: SnackBarService,\r\n public paidTimeOffExport: PaidTimeOffExportService,\r\n public coreFilterSvc: CoreFiltersService) {\r\n super(appInsights, userService);\r\n }\r\n\r\n ngOnInit() {\r\n this.trackUser();\r\n this.getFilterValues();\r\n }\r\n\r\n ngOnDestroy() {\r\n this.coreFilterSubscription.unsubscribe();\r\n }\r\n\r\n getFilterValues() {\r\n this.coreFilterSvc.filterValues$.subscribe(filterValues => {\r\n this.level = filterValues[0].level;\r\n this.levelValue = filterValues[0].levelValue;\r\n this.month = filterValues[0].month;\r\n this.year = filterValues[0].year;\r\n this.isEurope = filterValues[0].isEurope;\r\n if (filterValues[1] === '/paid-timeoff') {\r\n this.onSubmitSearch();\r\n }\r\n });\r\n }\r\n\r\n onSubmitSearch() {\r\n if (this.helperMethods.isStringNullOrEmpty(this.levelValue) || this.levelValue === groupLevels.invalid) {\r\n this.filterErrorMessage = 'You must select a valid ' + this.level + ' to submit your search.';\r\n this.userService.alertUser(this.filterErrorMessage);\r\n } else {\r\n this.getPaidTimeOffData();\r\n }\r\n }\r\n\r\n onPaidTimeOffDataChanged(paidTimeOffTableData: any[]) {\r\n this.paidTimeOffDataForSave = paidTimeOffTableData;\r\n this.onSave();\r\n }\r\n\r\n onExportFromChild(shouldGetExportData: boolean) {\r\n if (shouldGetExportData) {\r\n this.getExportDataForPaidTimeOff();\r\n }\r\n }\r\n\r\n getExportDataForPaidTimeOff() {\r\n this.exportData$ = this.paidTimeOffSvc.getExportDataForPaidTimeOff(this.paidTimeOffData[0].ehiGroupId, this.year, this.month);\r\n this.subscribeToExportData();\r\n }\r\n\r\n subscribeToExportData() {\r\n this.exportSubscription.unsubscribe();\r\n this.exportData = [];\r\n\r\n this.exportSubscription = this.exportData$\r\n .pipe(\r\n finalize(() => {\r\n this.loadingSpinnerSvc.turnSpinnerOff();\r\n })\r\n )\r\n .subscribe(\r\n exportData => {\r\n this.exportData = exportData;\r\n this.appInsights.logUserAction('User exported paid time off for '\r\n + this.level + ': ' + this.levelValue + 'on ' + this.month + '/' + this.year, this.user);\r\n this.processPaidTimeOffExport();\r\n },\r\n err => {\r\n this.subscribeService.onError(err, this.level, 'GetExportDataForPaidTimeOff');\r\n this.loadingSpinnerSvc.turnSpinnerOff();\r\n }\r\n );\r\n }\r\n\r\n getPaidTimeOffData() {\r\n this.paidTimeOffData$ = this.paidTimeOffSvc.getPaidTimeOffForGroup$(this.levelValue, this.month, this.year);\r\n this.subscribeToPaidTimeOffData();\r\n }\r\n\r\n subscribeToPaidTimeOffData() {\r\n this.paidTimeOffSubscription.unsubscribe();\r\n this.paidTimeOffData = [];\r\n this.loadingSpinnerSvc.shouldShowLoading();\r\n\r\n this.paidTimeOffSubscription = this.paidTimeOffData$\r\n .pipe(\r\n finalize(() => {\r\n this.loadingSpinnerSvc.turnSpinnerOff();\r\n })\r\n )\r\n .subscribe(\r\n paidTimeOff => {\r\n this.paidTimeOffData = paidTimeOff;\r\n if (this.helperMethods.isArrayNullOrEmpty(this.paidTimeOffData)) {\r\n this.userService.alertUser('No Paid time off data found for the selected filters.');\r\n }\r\n },\r\n err => {\r\n this.subscribeService.onError(err, this.level, 'GetPaidTimeOffData');\r\n this.loadingSpinnerSvc.turnSpinnerOff();\r\n }\r\n );\r\n }\r\n\r\n onSave() {\r\n this.paidTimeOffSave$ = this.paidTimeOffSvc.updatePaidTimeOffData(this.paidTimeOffDataForSave, this.user.eId);\r\n this.subscribeToPaidTimeOffDataForSave();\r\n }\r\n\r\n subscribeToPaidTimeOffDataForSave() {\r\n this.paidTimeOffSaveSubscription.unsubscribe();\r\n this.paidTimeOffSaveSubscription = this.paidTimeOffSave$\r\n .pipe(\r\n finalize(() => {\r\n this.snackBarSvc.openSnackBar('Save was successful.');\r\n })\r\n )\r\n .subscribe(\r\n () => {\r\n this.appInsights.logUserAction('User saved paid time off for '\r\n + this.level + ': ' + this.levelValue + 'on ' + this.month + '/' + this.year, this.user);\r\n this.getPaidTimeOffData();\r\n },\r\n err => {\r\n this.subscribeService.onError(err, this.level, 'updatePaidTimeOffData');\r\n this.loadingSpinnerSvc.turnSpinnerOff();\r\n }\r\n );\r\n }\r\n\r\n processPaidTimeOffExport() {\r\n this.paidTimeOffExport.generateExport(this.exportData, this.levelValue, this.month, this.year);\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { RouterModule } from '@angular/router';\r\nimport { SharedModule } from '../shared/shared.module';\r\nimport { PaidTimeoffComponent } from './paid-timeoff.component';\r\nimport { PaidTimeoffRouteActivator } from './paid-timeoff-route-activator';\r\nimport { PaidTimeoffTableComponent } from './paid-timeoff-table/paid-timeoff-table.component';\r\nimport { PaidTimeOffTableService } from './paid-timeoff-table/paid-timeoff-table.service';\r\nimport { PaidTimeOffService } from './paid-timeoff.service';\r\nimport { PaidTimeOffExportService } from './paid-timeoff-export.service';\r\n\r\n@NgModule({\r\n imports: [\r\n SharedModule,\r\n RouterModule.forChild([\r\n { path: 'paid-timeoff', component: PaidTimeoffComponent, canActivate: [PaidTimeoffRouteActivator] }\r\n ])\r\n ],\r\n declarations: [\r\n PaidTimeoffComponent,\r\n PaidTimeoffTableComponent\r\n ],\r\n providers: [\r\n PaidTimeoffRouteActivator,\r\n PaidTimeOffTableService,\r\n PaidTimeOffService,\r\n PaidTimeOffExportService\r\n ]\r\n})\r\nexport class PaidTimeoffModule { }\r\n","import { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { environment } from '../../environments/environment';\r\nimport { PaidTimeOff } from '../models/incoming-dtos/paid-time-off';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { UserService } from '../security/user.service';\r\nimport { ErrorHandlingService } from '../shared/services/error-handling.service';\r\nimport { PaidTimeOffUpdateDto } from '../models/outgoing-dtos/update-paid-time-off-dto';\r\nimport { catchError } from 'rxjs/operators';\r\n\r\n@Injectable()\r\nexport class PaidTimeOffService {\r\n private baseUrl: string = environment.dotNetCoreUrl + 'coreapi/PaidTimeOff/';\r\n private paidTimeOffForGroupUrl: string = this.baseUrl + 'group';\r\n private paidTimeOffForUpdateUrl: string = this.baseUrl + 'update';\r\n private paidTimeOffExportUrl: string = this.baseUrl + 'export';\r\n\r\n paidTimeOff$ = new Observable();\r\n\r\n constructor(private httpClient: HttpClient,\r\n private userService: UserService,\r\n private errorService: ErrorHandlingService) { }\r\n\r\n getPaidTimeOffForGroup$(levelValue: string, month: number, year: number): Observable {\r\n const url = this.paidTimeOffForGroupUrl + '/' + levelValue + '/' + year + '/' + month;\r\n return this.httpClient.get(url, this.userService.getHttpOptions())\r\n .pipe(\r\n catchError(this.errorService.handleError)\r\n );\r\n }\r\n\r\n updatePaidTimeOffData(paidTimeOffData: PaidTimeOff[], updatedBy: string): Observable {\r\n const paidTimeOffForUpdateDto = this.buildPaidTimeOffForUpdateDto(paidTimeOffData, updatedBy);\r\n return this.httpClient.put(this.paidTimeOffForUpdateUrl, paidTimeOffForUpdateDto, this.userService.getHttpOptions())\r\n .pipe(\r\n catchError(this.errorService.handleError)\r\n );\r\n }\r\n\r\n getExportDataForPaidTimeOff(ehiGroupId: number, year: number, month: number): Observable {\r\n const url = this.paidTimeOffExportUrl + '/' + ehiGroupId + '/' + year + '/' + month;\r\n return this.httpClient.get(url, this.userService.getHttpOptions())\r\n .pipe(\r\n catchError(this.errorService.handleError)\r\n );\r\n }\r\n\r\n buildPaidTimeOffForUpdateDto(paidTimeOffData: PaidTimeOff[], updatedBy: string): PaidTimeOffUpdateDto[] {\r\n const paidTimeOffForUpdate = [];\r\n for (let i = 0; i < paidTimeOffData.length; i++) {\r\n paidTimeOffForUpdate[i] = new PaidTimeOffUpdateDto();\r\n paidTimeOffForUpdate[i].id = paidTimeOffData[i].id;\r\n paidTimeOffForUpdate[i].employeeId = paidTimeOffData[i].employeeId;\r\n paidTimeOffForUpdate[i].ehiGroupId = paidTimeOffData[i].ehiGroupId;\r\n paidTimeOffForUpdate[i].daysUsed = paidTimeOffData[i].monthDaysUsed;\r\n paidTimeOffForUpdate[i].month = paidTimeOffData[i].month;\r\n paidTimeOffForUpdate[i].year = paidTimeOffData[i].year;\r\n paidTimeOffForUpdate[i].updatedBy = updatedBy;\r\n }\r\n return paidTimeOffForUpdate;\r\n }\r\n}\r\n","import { Router, CanActivate } from '@angular/router';\r\nimport { Injectable } from '@angular/core';\r\nimport { UserService } from '../security/user.service';\r\nimport { SecuredObjectService } from '../security/secured-object.service';\r\nimport { map } from 'rxjs/operators';\r\n\r\n@Injectable()\r\nexport class PayMemoRouteActivator implements CanActivate {\r\n\r\n constructor(private router: Router,\r\n private userService: UserService,\r\n private secObjService: SecuredObjectService) {}\r\n\r\n canActivate() {\r\n return this.userService.userSource$.pipe(map((user) => {\r\n if (user) {\r\n if (this.hasAccess()) {\r\n return true;\r\n } else {\r\n this.router.navigate(['page-not-found']);\r\n }\r\n }\r\n return false;\r\n }));\r\n }\r\n\r\n hasAccess(): boolean {\r\n return this.secObjService.hasPayMemoPageAccess();\r\n }\r\n}\r\n","export class EUPayMemoAllColumns {\r\n employeeId: string;\r\n employeeName: string;\r\n jobTitle: string;\r\n grpTeam: string;\r\n volume: string;\r\n volumeTeam: string;\r\n payPerUnit: string;\r\n reversalAdjustment: string;\r\n milestoneBonus: string;\r\n milestoneBonusTeam: string;\r\n salesVolumePay: string;\r\n buyerAverage: string;\r\n buyerAverageTeam: string;\r\n buyerBonus: string;\r\n buyerBonusTeam: string;\r\n productionPay: string;\r\n adjustments: string;\r\n adjustedProdPay: string;\r\n comments: string;\r\n}\r\n","export class PayMemoAllColumns {\r\n employeeId: string;\r\n employeeName: string;\r\n jobTitle: string;\r\n grpTeam: string;\r\n mtdPtoDays: number;\r\n ptoRate: string;\r\n ptoPay: string;\r\n volume: string;\r\n payPerCar: string;\r\n salesVolumePay: string\r\n grossSpc: string;\r\n adjustedGrossSPCActual: string;\r\n grossSPCNationalActual: string;\r\n grossBase: string;\r\n grossSpcPay: string;\r\n netSpc: string;\r\n netBase: string;\r\n netSpcPay: string;\r\n disposition: string;\r\n dispositionBase: string;\r\n dispositionPay: string;\r\n \r\n agedPercent: string;\r\n agedPercentBase: string;\r\n agedPercentPay: string;\r\n \r\n purchaseVolumeActual: string;\r\n purchaseVolumeActualTeam: string;\r\n purchaseVolumePayPerUnit: string;\r\n purchaseVolumePayPayout: string;\r\n\r\n dealerSoldToAllActual:string;\r\n dealerSoldToAllTarget:string;\r\n dealerSoldToAllPayout:string;\r\n localBoostPercentActual: string;\r\n localBoostPercentTarget: string;\r\n localBoostPercentPayout: string;\r\n projectedPay: string;\r\n adjustments: string;\r\n adjustedProdPay: string;\r\n comments: string;\r\n}\r\n","export class PayMemoExport {\r\n group: string;\r\n peopleSoftId: string;\r\n name: string;\r\n projectedPay: string;\r\n adjustments: string;\r\n adjustedProdPay: string;\r\n comments: string;\r\n}\r\n","export class PayMemoPeoplesoftExport {\r\n unit: string;\r\n ledger: string;\r\n account: string;\r\n productCode: string;\r\n currency: string;\r\n amount: string;\r\n accountDescription: string;\r\n}\r\n","export class PayMemoProBusinessExport {\r\n compId: string;\r\n peopleSoftId: number;\r\n name: string;\r\n earnCode: string;\r\n amount: string;\r\n hrlyRate: string;\r\n codeType: string;\r\n amtType: string;\r\n checkNo: string;\r\n hrBUnitWorkDiv: string;\r\n glProductWorkDept: string;\r\n glDeptIdWorkJob: string;\r\n glGroup: string;\r\n checkMessage: string;\r\n taxFrequency: string;\r\n oldRate: string;\r\n totals: string;\r\n bonusPerStartDate: string;\r\n bonusPerEndDate: string;\r\n weekIndicator: string;\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { XlsxExportService } from '../../shared/xlsx-export/xlsx-export.service';\r\nimport { PayMemoAllColumns } from './pay-memo-export-dtos/pay-memo-all-columns';\r\nimport { EUPayMemoAllColumns } from './pay-memo-export-dtos/EU-pay-memo-all-columns';\r\nimport { CurrencyPipe, getCurrencySymbol, DecimalPipe } from '@angular/common';\r\nimport { PayMemo } from '../../models/incoming-dtos/pay-memo';\r\nimport { PayMemoExport } from './pay-memo-export-dtos/pay-memo-export';\r\nimport { PayMemoPeoplesoftExport } from './pay-memo-export-dtos/pay-memo-peoplesoft-export-dtos';\r\nimport { HelperMethodsService } from '../../shared/services/helper-methods.service';\r\nimport { PayMemoProBusinessExport } from './pay-memo-export-dtos/pay-memo-probusiness-export';\r\nimport { GlobalizationService } from '../../shared/services/globalization.service';\r\nimport { SpcBaseComponent } from '../../../app/shared/base/spc-base.component';\r\nimport { AppInsightsService } from '../../shared/services/app-insights.service';\r\n\r\n@Injectable()\r\nexport class PayMemoExportService extends SpcBaseComponent {\r\n\r\n constructor(private xlsxExportService: XlsxExportService,\r\n private helperMethods: HelperMethodsService,\r\n private currencyService: GlobalizationService,\r\n public appInsights: AppInsightsService) {\r\n super(appInsights);\r\n }\r\n\r\n buildPayMemoPeoplesoftExport(tableData: PayMemo[]) {\r\n const tableDataForExport = new PayMemoPeoplesoftExport();\r\n let prodPayoutTotals = 0;\r\n tableData.forEach(row => {\r\n prodPayoutTotals = prodPayoutTotals + row.adjustedPay;\r\n if (this.helperMethods.isStringNullOrEmpty(tableDataForExport.currency)) {\r\n if (row.employee.country === 'USA') {\r\n tableDataForExport.currency = 'USD';\r\n } else {\r\n tableDataForExport.currency = 'CAD';\r\n }\r\n }\r\n\r\n if (this.helperMethods.isStringNullOrEmpty(tableDataForExport.unit)) {\r\n tableDataForExport.unit = 'A00' + row.employee.groupName;\r\n }\r\n });\r\n if (tableDataForExport.currency === 'USD') {\r\n tableDataForExport.amount = CurrencyPipe.prototype.transform(prodPayoutTotals.toString(), 'USD', 'symbol', '1.2-2', 'en-US');\r\n } else {\r\n tableDataForExport.amount = CurrencyPipe.prototype.transform(prodPayoutTotals.toString(), 'CAD', 'symbol', '1.2-2', 'en-CA');\r\n }\r\n tableDataForExport.ledger = 'Actuals';\r\n tableDataForExport.account = '603000';\r\n tableDataForExport.productCode = '';\r\n tableDataForExport.accountDescription = 'Remarketing Production Based Commission Accrual';\r\n\r\n const orderedDataForExport = this.sortExportDataForPeoplesoft(tableDataForExport);\r\n\r\n this.setHeadersForPayMemoPeoplesoftExport(orderedDataForExport);\r\n }\r\n\r\n sortExportDataForPeoplesoft(tableDataForExport: PayMemoPeoplesoftExport): PayMemoPeoplesoftExport {\r\n const orderedData = new PayMemoPeoplesoftExport();\r\n orderedData.unit = tableDataForExport.unit;\r\n orderedData.ledger = tableDataForExport.ledger;\r\n orderedData.account = tableDataForExport.account;\r\n orderedData.productCode = tableDataForExport.productCode;\r\n orderedData.currency = tableDataForExport.currency;\r\n orderedData.amount = tableDataForExport.amount;\r\n orderedData.accountDescription = tableDataForExport.accountDescription;\r\n\r\n return orderedData;\r\n }\r\n\r\n setHeadersForPayMemoPeoplesoftExport(tableDataForExport: PayMemoPeoplesoftExport) {\r\n const exportData = [];\r\n exportData.push(JSON.parse(JSON.stringify(tableDataForExport).replace('unit', 'Unit')\r\n .replace('ledger', 'Ledger')\r\n .replace('account', 'Account')\r\n .replace('productCode', 'ProductCode')\r\n .replace('currency', 'Currency')\r\n .replace('amount', 'Amount')\r\n .replace('accountDescription', 'Account Description')));\r\n\r\n const fileName = this.buildFileName('PayPlanMemoPeopleSoft_');\r\n this.xlsxExportService.generateExport(exportData, fileName);\r\n }\r\n\r\n buildPayMemoExportWithAllColumns(tableData: PayMemo[], levelValue: string, month: number, year: number, isEurope: boolean, countryCode: string) {\r\n\r\n const tableDataForExport = new Array();\r\n const tableDataForExportEU = new Array();\r\n const currency = this.currencyService.getCountryCurrency(countryCode);\r\n const locale = 'en-gb';\r\n\r\n // --------EU Only\r\n if (isEurope) {\r\n for (let i = 0; i < tableData.length; i++) {\r\n tableDataForExportEU[i] = new EUPayMemoAllColumns();\r\n tableDataForExportEU[i].employeeId = tableData[i].employee.eId;\r\n tableDataForExportEU[i].employeeName = tableData[i].employee.firstName + ' ' + tableData[i].employee.lastName;\r\n tableDataForExportEU[i].jobTitle = tableData[i].employee.jobTitle;\r\n tableDataForExportEU[i].grpTeam = '(' + tableData[i].employee.groupName + ') ' + tableData[i].teamName;\r\n tableDataForExportEU[i].volume = parseInt(tableData[i].actualSalesVolume.toString(), 10).toString();\r\n tableDataForExportEU[i].volumeTeam = parseInt(tableData[i].actualSalesVolumeTeam.toString(), 10).toString();\r\n tableDataForExportEU[i].payPerUnit = CurrencyPipe.prototype.transform(tableData[i].payoutPerCar.toString(), currency, 'symbol', '1.2-2', locale);\r\n tableDataForExportEU[i].reversalAdjustment = CurrencyPipe.prototype.transform(tableData[i].reversalAdjustment.toString(), currency, 'symbol', '1.2-2', locale);\r\n tableDataForExportEU[i].milestoneBonus = CurrencyPipe.prototype.transform(tableData[i].milestoneBonus.toString(), currency, 'symbol', '1.2-2', locale);\r\n tableDataForExportEU[i].milestoneBonusTeam = CurrencyPipe.prototype.transform(tableData[i].milestoneBonusTeam.toString(), currency, 'symbol', '1.2-2', locale);\r\n tableDataForExportEU[i].salesVolumePay = CurrencyPipe.prototype.transform(tableData[i].salesVolumePayout.toString(), currency, 'symbol', '1.2-2', locale);\r\n tableDataForExportEU[i].buyerAverage = parseInt(tableData[i].buyerAverage.toString(), 10).toString();\r\n tableDataForExportEU[i].buyerAverageTeam = parseInt(tableData[i].buyerAverageTeam.toString(), 10).toString();\r\n tableDataForExportEU[i].buyerBonus = CurrencyPipe.prototype.transform(tableData[i].averageBuyerGoalBonus.toString(), currency, 'symbol', '1.2-2', locale);\r\n tableDataForExportEU[i].buyerBonusTeam = CurrencyPipe.prototype.transform(tableData[i].averageBuyerGoalBonusTeam.toString(), currency, 'symbol', '1.2-2', locale);\r\n tableDataForExportEU[i].productionPay = CurrencyPipe.prototype.transform(tableData[i].projectedPay.toString(), currency, 'symbol', '1.2-2', locale);\r\n tableDataForExportEU[i].adjustments = CurrencyPipe.prototype.transform(tableData[i].adjustments.toString(), currency, 'symbol', '1.2-2', locale);\r\n tableDataForExportEU[i].adjustedProdPay = CurrencyPipe.prototype.transform(tableData[i].adjustedPay.toString(), currency, 'symbol', '1.2-2', locale);\r\n\r\n if (tableData[i].comments === null) {\r\n tableData[i].comments = '';\r\n }\r\n tableDataForExportEU[i].comments = tableData[i].comments;\r\n }\r\n this.setHeadersForPayMemoAllColumnsEU(tableDataForExportEU, levelValue, month, year);\r\n } else {// --------US Only\r\n for (let i = 0; i < tableData.length; i++) {\r\n tableDataForExport[i] = new PayMemoAllColumns();\r\n tableDataForExport[i].employeeId = tableData[i].employee.eId;\r\n tableDataForExport[i].employeeName = tableData[i].employee.firstName + ' ' + tableData[i].employee.lastName;\r\n tableDataForExport[i].jobTitle = tableData[i].employee.jobTitle;\r\n tableDataForExport[i].grpTeam = '(' + tableData[i].employee.groupName + ') ' + tableData[i].teamName;\r\n tableDataForExport[i].mtdPtoDays = tableData[i].ptoDaysUsed;\r\n tableDataForExport[i].ptoRate = CurrencyPipe.prototype.transform(tableData[i].ptoRate.toString(), 'USD', 'symbol', '1.2-2', 'en-US');\r\n tableDataForExport[i].ptoPay = CurrencyPipe.prototype.transform(tableData[i].ptoPay.toString(), 'USD', 'symbol', '1.2-2', 'en-US');\r\n tableDataForExport[i].volume = tableData[i].actualSalesVolume.toString();\r\n tableDataForExport[i].payPerCar = CurrencyPipe.prototype.transform(tableData[i].payoutPerCar.toString(), 'USD', 'symbol', '1.2-2', 'en-US');\r\n tableDataForExport[i].salesVolumePay = CurrencyPipe.prototype.transform(tableData[i].salesVolumePayout.toString(), 'USD', 'symbol', '1.2-2', 'en-US');\r\n if(this.isSpcEnabled) {\r\n tableDataForExport[i].grossSpc = CurrencyPipe.prototype.transform(tableData[i].grossSpcActual.toString(), 'USD', 'symbol', '1.2-2', 'en-US');\r\n tableDataForExport[i].grossSPCNationalActual = CurrencyPipe.prototype.transform(tableData[i].grossSPCNationalActual.toString(), 'USD', 'symbol', '1.2-2', 'en-US');\r\n tableDataForExport[i].adjustedGrossSPCActual = CurrencyPipe.prototype.transform(tableData[i].adjustedGrossSPCActual.toString(), 'USD', 'symbol', '1.2-2', 'en-US');\r\n tableDataForExport[i].grossBase = CurrencyPipe.prototype.transform(tableData[i].grossSpcTarget.toString(), 'USD', 'symbol', '1.2-2', 'en-US');\r\n tableDataForExport[i].grossSpcPay = CurrencyPipe.prototype.transform(tableData[i].grossSpcPayout.toString(), 'USD', 'symbol', '1.2-2', 'en-US');\r\n if (this.isNetSpcEnabled) {\r\n tableDataForExport[i].netSpc = CurrencyPipe.prototype.transform(tableData[i].netSpcActual, 'USD', 'symbol', '1.2-2', 'en-US');\r\n tableDataForExport[i].netBase = CurrencyPipe.prototype.transform(tableData[i].netSpcTarget, 'USD', 'symbol', '1.2-2', 'en-US');\r\n tableDataForExport[i].netSpcPay = CurrencyPipe.prototype.transform(tableData[i].netSpcPayout.toString(), 'USD', 'symbol', '1.2-2', 'en-US');\r\n }\r\n }\r\n tableDataForExport[i].disposition = CurrencyPipe.prototype.transform(tableData[i].daysToDispositionActual.toString(), 'USD', 'symbol', '1.0-1', 'en-US').replace('$', '');\r\n tableDataForExport[i].dispositionBase = CurrencyPipe.prototype.transform(tableData[i].daysToDispositionTarget.toString(), 'USD', 'symbol', '1.0-1', 'en-US').replace('$', '');\r\n tableDataForExport[i].dispositionPay = CurrencyPipe.prototype.transform(tableData[i].daysToDispositionPayout.toString(), 'USD', 'symbol', '1.2-2', 'en-US');\r\n if (this.isPayAgedPercentEnabled) {\r\n tableDataForExport[i].agedPercent = CurrencyPipe.prototype.transform((tableData[i].agedPercentageActual * 100).toString(), 'USD', 'symbol', '1.0-2', 'en-US').replace('$', '');\r\n tableDataForExport[i].agedPercentBase = CurrencyPipe.prototype.transform((tableData[i].agedPercentageTarget * 100).toString(), 'USD', 'symbol', '1.0-2', 'en-US').replace('$', '');\r\n tableDataForExport[i].agedPercentPay = CurrencyPipe.prototype.transform(tableData[i].agedPercentagePayout.toString(), 'USD', 'symbol', '1.2-2', 'en-US');\r\n }\r\n tableDataForExport[i].purchaseVolumeActual = tableData[i].purchaseVolumeActual.toString();\r\n if(tableData[i].employee.isManager) {\r\n tableDataForExport[i].purchaseVolumeActualTeam = tableData[i].purchaseVolumeActualTeam.toString();\r\n }\r\n tableDataForExport[i].purchaseVolumePayPerUnit = CurrencyPipe.prototype.transform(tableData[i].purchaseVolumePayPerUnit.toString(), 'USD', 'symbol', '1.2-2', 'en-US');\r\n tableDataForExport[i].purchaseVolumePayPayout = CurrencyPipe.prototype.transform(tableData[i].purchaseVolumePayPayout.toString(), 'USD', 'symbol', '1.2-2', 'en-US');\r\n \r\n if (this.isPayLocalBoostEnabled) {\r\n tableDataForExport[i].localBoostPercentActual = CurrencyPipe.prototype.transform(tableData[i].localBoostPercentActual.toString(), 'USD', 'symbol', '1.0-1', 'en-US').replace('$', '');\r\n tableDataForExport[i].localBoostPercentTarget = CurrencyPipe.prototype.transform(tableData[i].localBoostPercentTarget.toString(), 'USD', 'symbol', '1.0-1', 'en-US').replace('$', '');\r\n tableDataForExport[i].localBoostPercentPayout = CurrencyPipe.prototype.transform(tableData[i].localBoostPercentPayout.toString(), 'USD', 'symbol', '1.2-2', 'en-US');\r\n }\r\n \r\n\r\n tableDataForExport[i].dealerSoldToAllActual = CurrencyPipe.prototype.transform(tableData[i].dealerSoldToAllActual.toString(), 'USD', 'symbol', '1.2-2', 'en-US');\r\n tableDataForExport[i].dealerSoldToAllTarget = CurrencyPipe.prototype.transform(tableData[i].dealerSoldToAllTarget.toString(), 'USD', 'symbol', '1.2-2', 'en-US');\r\n tableDataForExport[i].dealerSoldToAllPayout = CurrencyPipe.prototype.transform(tableData[i].dealerSoldToAllPayout.toString(), 'USD', 'symbol', '1.2-2', 'en-US');\r\n\r\n tableDataForExport[i].projectedPay = CurrencyPipe.prototype.transform(tableData[i].projectedPay.toString(), 'USD', 'symbol', '1.2-2', 'en-US');\r\n tableDataForExport[i].adjustments = CurrencyPipe.prototype.transform(tableData[i].adjustments.toString(), 'USD', 'symbol', '1.2-2', 'en-US');\r\n tableDataForExport[i].adjustedProdPay = CurrencyPipe.prototype.transform(tableData[i].adjustedPay.toString(), 'USD', 'symbol', '1.2-2', 'en-US');\r\n if (tableData[i].comments === null) {\r\n tableData[i].comments = '';\r\n }\r\n tableDataForExport[i].comments = tableData[i].comments;\r\n }\r\n this.setHeadersForPayMemoAllColumns(tableDataForExport, levelValue, month, year);\r\n }\r\n }\r\n\r\n setHeadersForPayMemoAllColumnsEU(tableDataForExport: EUPayMemoAllColumns[], levelValue: string, month: number, year: number) {\r\n const exportData = [];\r\n tableDataForExport.forEach(element => {\r\n exportData.push(JSON.parse(JSON.stringify(element).replace('employeeId', 'Emp Id')\r\n .replace('employeeName', 'Name')\r\n .replace('jobTitle', 'Job Title')\r\n .replace('grpTeam', '(Grp)Team')\r\n .replace('volume', 'Volume')\r\n .replace('payPerUnit', 'Pay per Unit')\r\n .replace('reversalAdjustment', 'Reversal Adjustment')\r\n .replace('milestoneBonus', 'Milestone Bonus')\r\n .replace('salesVolumePay', 'Sales Volume Pay')\r\n .replace('buyerAverage', 'Buyer Average')\r\n .replace('buyerBonus', 'Buyer Bonus')\r\n .replace('productionPay', 'Production Pay Total')\r\n .replace('adjustments', 'Adjustments')\r\n .replace('adjustedProdPay', 'Adjusted Production Pay Total')\r\n .replace('comments', 'Comments')));\r\n });\r\n\r\n const fileName = this.buildFileName('PayPlanMemoAllColumns_');\r\n const date = this.getMonthWord(month, year);\r\n const title = 'Pay Memo (All Columns) - Group' + ' ' + levelValue + ' - ' + date;\r\n this.xlsxExportService.generateExport(exportData, fileName, title);\r\n }\r\n \r\n setHeadersForPayMemoAllColumns(tableDataForExport: PayMemoAllColumns[], levelValue: string, month: number, year: number) {\r\n const exportData = [];\r\n tableDataForExport.forEach(element => {\r\n exportData.push(JSON.parse(JSON.stringify(element).replace('employeeId', 'Emp Id')\r\n .replace('employeeName', 'Name')\r\n .replace('jobTitle', 'Job Title')\r\n .replace('grpTeam', '(Grp)Team')\r\n .replace('mtdPtoDays', 'MTD PTO Days')\r\n .replace('ptoRate', 'PTO Rate')\r\n .replace('ptoPay', 'PTO Pay')\r\n .replace('volume', 'Volume')\r\n .replace('payPerCar', 'Pay Per Car')\r\n .replace('salesVolumePay', 'Sales Volume Pay')\r\n .replace('grossSpc', 'Gross SPC')\r\n .replace('grossSPCNationalActual', 'National SPC')\r\n .replace('adjustedGrossSPCActual', 'Adjusted Gross SPC')\r\n .replace('grossBase', 'Gross Base')\r\n .replace('grossSpcPay', 'Gross SPC Pay')\r\n .replace('netSpc', 'Net SPC')\r\n .replace('netBase', 'Net Base')\r\n .replace('netSpcPay', 'Net SPC Pay')\r\n .replace('disposition', 'Delete to Sale Days')\r\n .replace('dispositionBase', 'Delete to Sale Days Target')\r\n .replace('dispositionPay', 'Delete to Sale Days Pay')\r\n \r\n // .replace('agedPercent', 'Aged %')\r\n // .replace('agedPercentBase', 'Aged % Target')\r\n // .replace('agedPercentPay', 'Aged % Pay')\r\n .replace('purchaseVolumeActual', 'Purchase Volume')\r\n .replace('purchaseVolumeActualTeam', 'Purchase Volume Team')\r\n .replace('purchaseVolumePayPerUnit', 'Purchase Volume Pay Per Unit')\r\n .replace('purchaseVolumePayPayout', 'Purchase Volume Pay')\r\n // .replace('localBoostPercentActual', 'Local Boost %')\r\n // .replace('localBoostPercentTarget', 'Local Boost % Target')\r\n // .replace('localBoostPercentPayout', 'Local Boost % Pay')\r\n .replace('dealerSoldToAllActual', 'Dealer Sold To')\r\n .replace('dealerSoldToAllTarget', 'Dealer Sold To Target')\r\n .replace('dealerSoldToAllPayout', 'Dealer Sold To Pay')\r\n \r\n .replace('projectedPay', 'Projected Pay')\r\n .replace('adjustments', 'Adjustments')\r\n .replace('adjustedProdPay', 'Adjusted Prod Pay')\r\n .replace('comments', 'Comments')));\r\n });\r\n\r\n const fileName = this.buildFileName('PayPlanMemoAllColumns_');\r\n const date = this.getMonthWord(month, year);\r\n const title = 'Pay Memo (All Columns) - Group' + ' ' + levelValue + ' - ' + date;\r\n this.xlsxExportService.generateExport(exportData, fileName, title);\r\n }\r\n\r\n buildPayMemoProBusinessExport(tableData: PayMemo[]) {\r\n const tableDataForExport = new Array();\r\n for (let i = 0; i < tableData.length; i++) {\r\n tableDataForExport[i] = new PayMemoProBusinessExport();\r\n tableDataForExport[i].compId = 'ERAC-0' + tableData[i].employee.groupName;\r\n tableDataForExport[i].peopleSoftId = tableData[i].employee.peopleSoftId;\r\n tableDataForExport[i].name = tableData[i].employee.firstName + ' ' + tableData[i].employee.lastName;\r\n tableDataForExport[i].earnCode = '294';\r\n if (tableData[i].employee.country === 'USA') {\r\n tableDataForExport[i].amount = CurrencyPipe.prototype.transform(tableData[i].adjustedPay.toString(), 'USD', 'symbol', '1.2-2', 'en-US');\r\n } else {\r\n tableDataForExport[i].amount = CurrencyPipe.prototype.transform(tableData[i].adjustedPay.toString(), 'CAD', 'symbol', '1.2-2', 'en-CA');\r\n }\r\n tableDataForExport[i].hrlyRate = '';\r\n tableDataForExport[i].codeType = 'E';\r\n if (tableData[i].employee.country === 'USA') {\r\n tableDataForExport[i].amtType = '$';\r\n } else {\r\n tableDataForExport[i].amtType = 'CA$';\r\n }\r\n tableDataForExport[i].checkNo = '';\r\n tableDataForExport[i].hrBUnitWorkDiv = '';\r\n tableDataForExport[i].glProductWorkDept = '';\r\n tableDataForExport[i].glDeptIdWorkJob = '';\r\n tableDataForExport[i].glGroup = '';\r\n tableDataForExport[i].checkMessage = '';\r\n tableDataForExport[i].taxFrequency = '';\r\n tableDataForExport[i].oldRate = '';\r\n tableDataForExport[i].totals = '';\r\n tableDataForExport[i].bonusPerStartDate = '';\r\n tableDataForExport[i].bonusPerEndDate = '';\r\n tableDataForExport[i].weekIndicator = '';\r\n }\r\n\r\n this.setHeadersForPayMemoProbusiness(tableDataForExport);\r\n }\r\n\r\n setHeadersForPayMemoProbusiness(tableDataForExport: PayMemoProBusinessExport[]) {\r\n const exportData = [];\r\n tableDataForExport.forEach(element => {\r\n exportData.push(JSON.parse(JSON.stringify(element).replace('compId', 'Comp ID')\r\n .replace('peopleSoftId', 'PeopleSoftId')\r\n .replace('name', 'Name')\r\n .replace('earnCode', 'EarnCode')\r\n .replace('amount', 'Amount')\r\n .replace('hrlyRate', 'Hrly Rate')\r\n .replace('codeType', 'Code Type')\r\n .replace('amtType', 'Amt Type')\r\n .replace('checkNo', 'Check No')\r\n .replace('hrBUnitWorkDiv', 'HR B Unit Work Div')\r\n .replace('glProductWorkDept', 'GL Product Work Dept')\r\n .replace('glDeptIdWorkJob', 'GL Dept ID Work Job')\r\n .replace('glGroup', 'GL Group')\r\n .replace('checkMessage', 'Check Message')\r\n .replace('taxFrequency', 'Tax Frequency')\r\n .replace('oldRate', 'Old Rate')\r\n .replace('totals', 'Totals')\r\n .replace('bonusPerStartDate', 'Bonus Per Start Date')\r\n .replace('bonusPerEndDate', 'Bonus Per End Date')\r\n .replace('weekIndicator', 'Week Indicator')));\r\n });\r\n\r\n const fileName = this.buildFileName('PayPlanMemoProBus_');\r\n this.xlsxExportService.generateExport(exportData, fileName);\r\n }\r\n\r\n buildPayMemoExport(tableData: PayMemo[], levelValue: string, month: number, year: number) {\r\n const tableDataForExport = new Array();\r\n for (let i = 0; i < tableData.length; i++) {\r\n tableDataForExport[i] = new PayMemoExport();\r\n tableDataForExport[i].group = tableData[i].employee.groupName;\r\n tableDataForExport[i].peopleSoftId = tableData[i].employee.eId;\r\n tableDataForExport[i].name = tableData[i].employee.firstName + ' ' + tableData[i].employee.lastName;\r\n tableDataForExport[i].projectedPay = CurrencyPipe.prototype.transform(tableData[i].projectedPay.toString(), 'USD', 'symbol', '1.2-2', 'en-US');\r\n tableDataForExport[i].adjustments = CurrencyPipe.prototype.transform(tableData[i].adjustments, 'USD', 'symbol', '1.2-2', 'en-US');\r\n tableDataForExport[i].adjustedProdPay = CurrencyPipe.prototype.transform(tableData[i].adjustedPay, 'USD', 'symbol', '1.2-2', 'en-US');\r\n tableDataForExport[i].comments = tableData[i].comments;\r\n }\r\n\r\n this.setHeadersForPayMemoExport(tableDataForExport, levelValue, month, year);\r\n }\r\n\r\n setHeadersForPayMemoExport(tableData: PayMemoExport[], levelValue: string, month: number, year: number) {\r\n const exportData = [];\r\n tableData.forEach(element => {\r\n exportData.push(JSON.parse(JSON.stringify(element).replace('group', 'Group')\r\n .replace('peopleSoftId', 'People Soft ID')\r\n .replace('name', 'Employee Name')\r\n .replace('projectedPay', 'Projected Pay')\r\n .replace('adjustments', 'Adjustments')\r\n .replace('adjustedProdPay', 'Adjusted Production Pay')\r\n .replace('comments', 'Comments')));\r\n });\r\n\r\n const fileName = this.buildFileName('PayPlanMemo_');\r\n const date = this.getMonthWord(month, year);\r\n const title = 'Pay Memo - Group' + ' ' + levelValue + ' - ' + date;\r\n this.xlsxExportService.generateExport(exportData, fileName, title);\r\n }\r\n\r\n buildFileName(title: string): string {\r\n const timeOfExport = new Date();\r\n const year = timeOfExport.getFullYear();\r\n const month = timeOfExport.getMonth() + 1;\r\n const day = timeOfExport.getDate();\r\n const hour = timeOfExport.getHours();\r\n const minute = timeOfExport.getMinutes();\r\n const second = timeOfExport.getSeconds();\r\n const monthString = this.checkNumber(month);\r\n const dayString = this.checkNumber(day);\r\n const hourString = this.checkNumber(hour);\r\n const minuteString = this.checkNumber(minute);\r\n const secondString = this.checkNumber(second);\r\n return title + year + '_' + monthString + '_' + dayString + '_' + hourString + '_' + minuteString + '_' + secondString;\r\n }\r\n\r\n checkNumber(num: number): string {\r\n if (num > 9) {\r\n return num.toString();\r\n } else {\r\n return '0' + num.toString();\r\n }\r\n }\r\n\r\n getMonthWord(month: number, year: number) {\r\n switch (month) {\r\n case 1:\r\n return 'January ' + year.toString();\r\n case 2:\r\n return 'February ' + year.toString();\r\n case 3:\r\n return 'March ' + year.toString();\r\n case 4:\r\n return 'April ' + year.toString();\r\n case 5:\r\n return 'May ' + year.toString();\r\n case 6:\r\n return 'June ' + year.toString();\r\n case 7:\r\n return 'July ' + year.toString();\r\n case 8:\r\n return 'August ' + year.toString();\r\n case 9:\r\n return 'September ' + year.toString();\r\n case 10:\r\n return 'October ' + year.toString();\r\n case 11:\r\n return 'November ' + year.toString();\r\n case 12:\r\n return 'December ' + year.toString();\r\n }\r\n }\r\n}\r\n","import { Component, OnInit, Input, Output, EventEmitter, ElementRef, AfterViewInit } from '@angular/core';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { PayMemo } from '../../models/incoming-dtos/pay-memo';\r\nimport { LoadingSpinnerService } from '../../shared/loading-spinner/loading-spinner.service';\r\nimport { PayMemoSaveDto } from '../../models/outgoing-dtos/pay-memo-save-dto';\r\nimport { User } from '../../security/user';\r\nimport { PayMemoExportService } from './pay-memo-export.service';\r\nimport { CustomCurrencyPipe } from '../../shared/pipes/custom-currency.pipe';\r\nimport { PayMemoTableService } from './pay-memo-table.service';\r\nimport { Observable, Subscription } from 'rxjs';\r\nimport { SnackBarService } from '../../shared/services/snack-bar.service';\r\nimport { SubscriptionService } from '../../shared/services/subscription.service';\r\nimport { DecisionModalService } from '../../shared/decision-modal/decision-modal.service';\r\nimport { PayplanSetupService } from '../../payplan-setup/payplan-setup.service';\r\nimport { SecuredObjectService } from '../../security/secured-object.service';\r\nimport { AppInsightsService } from '../../shared/services/app-insights.service';\r\nimport { finalize } from 'rxjs/operators';\r\nimport { StyleHelperService } from '../../shared/services/style-helper.service';\r\nimport { SpcBaseComponent } from '../../../app/shared/base/spc-base.component';\r\n\r\n@Component({\r\n selector: 'scoreboard-pay-memo-table',\r\n templateUrl: './pay-memo-table.component.html',\r\n styleUrls: ['./pay-memo-table.component.scss']\r\n})\r\n\r\nexport class PayMemoTableComponent extends SpcBaseComponent implements OnInit, AfterViewInit {\r\n @Input() payMemoData: PayMemo[];\r\n @Input() level: string;\r\n @Input() levelValue: string;\r\n @Input() month: number;\r\n @Input() year: number;\r\n @Input() user: User;\r\n @Input() isEurope: boolean;\r\n @Output() payMemoDataChanged: EventEmitter;\r\n\r\n payMemoDataForDisplay: PayMemo[];\r\n dataSource = new MatTableDataSource();\r\n displayedStickyColumns = ['id', 'name', 'jobTitle'];\r\n\r\n \r\n displayedColumns = ['team', 'ptoDaysUsed', 'ptoRate', 'ptoPay', 'actualSalesVolume', 'payoutPerCar', 'salesVolumePayout',\r\n 'grossSpcActual', 'grossSPCNationalActual', 'adjustedGrossSPCActual','grossSpcTarget', 'grossSpcPayout', \r\n /// 'netSpcActual', 'netSpcTarget', 'netSpcPayout', \r\n 'daysToDispositionActual', 'daysToDispositionTarget', 'daysToDispositionPayout', \r\n \r\n // 'agedPercentageActual', 'agedPercentageTarget', 'agedPercentagePayout',\r\n // 'localBoostPercentActual',\r\n // 'localBoostPercentTarget', 'localBoostPercentPayout',\r\n 'purchaseVolumeActual', 'purchaseVolumeActualTeam', 'purchaseVolumePayPerUnit', 'purchaseVolumePayPayout', \r\n \r\n 'dealerSoldToAllActual','dealerSoldToAllTarget', 'dealerSoldToAllPayout',\r\n \r\n 'projectedPay', 'adjustments', 'adjustedPay', 'comments'];\r\n \r\n\r\n displayedColumnsEU = ['team', 'actualSalesVolume', 'actualSalesVolumeTeam', 'payoutPerCar', 'reversalAdjustment', 'milestoneBonus',\r\n 'milestoneBonusTeam', 'salesVolumePayout', 'buyerAverage', 'buyerAverageTeam', 'averageBuyerGoalBonus', 'averageBuyerGoalBonusTeam',\r\n 'projectedPay', 'adjustments', 'adjustedPay', 'comments'];\r\n\r\n displayedColumnsNoSPC = ['team', 'ptoDaysUsed', 'ptoRate', 'ptoPay', 'actualSalesVolume', 'payoutPerCar', 'salesVolumePayout',\r\n 'daysToDispositionActual', 'daysToDispositionTarget', 'daysToDispositionPayout', 'agedPercentageActual', 'agedPercentageTarget', 'agedPercentagePayout',\r\n 'purchaseVolumeActual', 'purchaseVolumeActualTeam', 'purchaseVolumePayPerUnit', 'purchaseVolumePayPayout', 'localBoostPercentActual',\r\n 'localBoostPercentTarget', 'localBoostPercentPayout', 'projectedPay', 'adjustments', 'adjustedPay', 'comments'];\r\n\r\n lockToggle = false;\r\n toggleTitle = 'Lock';\r\n payMemoIds = new Array();\r\n payMemoSaveDto = new Array();\r\n isPayPlanLocked$ = new Observable();\r\n payMemoLockSubscription = new Subscription();\r\n leftTable: any;\r\n\r\n exportOptions = [\r\n { value: 1, viewValue: 'Pay Memo' },\r\n { value: 2, viewValue: 'Pay Memo (All Columns)' },\r\n { value: 3, viewValue: 'PeopleSoft' },\r\n { value: 4, viewValue: 'ProBusiness' }\r\n ];\r\n\r\n constructor(private loadingSpinnerSvc: LoadingSpinnerService,\r\n public payMemoExportSvc: PayMemoExportService,\r\n private customCurrencyPipe: CustomCurrencyPipe,\r\n private payMemoTableService: PayMemoTableService,\r\n public payPlanSrv: PayplanSetupService,\r\n public snackBarSvc: SnackBarService,\r\n private subscribeService: SubscriptionService,\r\n public decisionSvc: DecisionModalService,\r\n public secObjService: SecuredObjectService,\r\n private element: ElementRef,\r\n public appInsights: AppInsightsService,\r\n public styleHelper: StyleHelperService) {\r\n super(appInsights);\r\n this.payMemoDataChanged = new EventEmitter();\r\n styleHelper.maxWidth = 680;\r\n\r\n \r\n }\r\n\r\n ngAfterViewInit() {\r\n this.leftTable = this.element.nativeElement.querySelector('.catching-scrolling');\r\n }\r\n\r\n ngOnInit() {\r\n this.payMemoDataForDisplay = this.payMemoTableService.buildPayMemoCopies(this.payMemoData);\r\n this.payMemoDataForDisplay.forEach(memo => memo.adjustments = this.customCurrencyPipe.transform(memo.adjustments, '1.2-2'));\r\n this.getTableData();\r\n \r\n if (this.payMemoData.every(x => x.locked === true)) {\r\n this.lockToggle = true;\r\n this.toggleTitle = 'Locked';\r\n }\r\n }\r\n\r\n getTableData() {\r\n this.dataSource.data = this.payMemoDataForDisplay;\r\n }\r\n\r\n onPayMemoChange(payMemoId: number) {\r\n if (!this.payMemoIds.includes(payMemoId)) {\r\n this.payMemoIds.push(payMemoId);\r\n }\r\n }\r\n\r\n onExport(exportValue: number) {\r\n const today = new Date();\r\n if (this.payMemoData.some(xx => !xx.locked && this.compareDates(xx, today))) {\r\n this.askBeforeExport(exportValue);\r\n } else {\r\n this.export(exportValue);\r\n }\r\n }\r\n\r\n private compareDates(xx: PayMemo, today: Date): boolean {\r\n return new Date(xx.updatedTime).toDateString() !== today.toDateString();\r\n }\r\n\r\n private askBeforeExport(exportValue: number) {\r\n const ask$ = this.decisionSvc.askUser(`Some Pay Memos for the selected month have not been finalized. Are you sure you wish to proceed?`, '400px');\r\n ask$.pipe(finalize(() => {\r\n })).subscribe(result => {\r\n if (result) {\r\n this.export(exportValue);\r\n }\r\n });\r\n }\r\n\r\n private export(exportValue: number) {\r\n switch (exportValue) {\r\n case 1:\r\n this.payMemoExportSvc.buildPayMemoExport(this.payMemoData, this.levelValue, this.month, this.year);\r\n this.appInsights.logUserAction('User exported Pay Memo on group ' + this.levelValue + ' on ' + this.month + '/' + this.year, this.user);\r\n break;\r\n case 2:\r\n this.payMemoExportSvc.buildPayMemoExportWithAllColumns(this.payMemoData, this.levelValue, this.month, this.year, this.isEurope, this.payMemoData[0].employee.country);\r\n this.appInsights.logUserAction('User exported Pay Memo (All Columns) on group ' + this.levelValue + ' on ' + this.month + '/' + this.year, this.user);\r\n break;\r\n case 3:\r\n this.payMemoExportSvc.buildPayMemoPeoplesoftExport(this.payMemoData);\r\n this.appInsights.logUserAction('User exported PeopleSoft(Pay Memo) on group ' + this.levelValue + ' on ' + this.month + '/' + this.year, this.user);\r\n break;\r\n case 4:\r\n this.payMemoExportSvc.buildPayMemoProBusinessExport(this.payMemoData);\r\n this.appInsights.logUserAction('User exported ProBusiness(Pay Memo) on group ' + this.levelValue + ' on ' + this.month + '/' + this.year, this.user);\r\n break;\r\n }\r\n }\r\n\r\n isToggled() {\r\n this.lockToggle = true;\r\n this.isPayPlanLocked$ = this.payPlanSrv.lockPayPlan(this.month, this.year, this.user.eId, [this.payMemoData[0].ehiGroupId], this.isEurope);\r\n this.subcribeToPayMemoDataForLock();\r\n this.toggleTitle = 'Locked';\r\n }\r\n\r\n onPayMemoSave() {\r\n this.loadingSpinnerSvc.turnSpinnerOn('Saving...');\r\n const payMemoTableData = new Array();\r\n this.dataSource.data.forEach(row => {\r\n payMemoTableData.push(row as PayMemo);\r\n });\r\n payMemoTableData.forEach(row => {\r\n if (this.payMemoIds.includes(row.id)) {\r\n const rowToBeSaved = new PayMemoSaveDto();\r\n rowToBeSaved.id = row.id;\r\n rowToBeSaved.adjustments = typeof row.adjustments === 'string' ? row.adjustments.replace(/,/g, '') : '0';\r\n rowToBeSaved.comments = row.comments;\r\n rowToBeSaved.updatedBy = this.user.eId;\r\n this.payMemoSaveDto.push(rowToBeSaved);\r\n }\r\n });\r\n this.payMemoDataChanged.emit(this.payMemoSaveDto);\r\n }\r\n\r\n pipeAdjustments(payMemoId: number, adj: string) {\r\n adj = this.customCurrencyPipe.transform(adj, '1.2-2');\r\n this.payMemoDataForDisplay.find(data => data.id === payMemoId).adjustments = adj;\r\n }\r\n\r\n confirmLock() {\r\n const ask$ = this.decisionSvc.askUser('Are you sure?', 'auto');\r\n\r\n ask$.pipe(finalize(() => {\r\n })).subscribe(result => {\r\n if (result) {\r\n this.loadingSpinnerSvc.turnSpinnerOn('Locking...');\r\n this.isToggled();\r\n }\r\n });\r\n }\r\n\r\n subcribeToPayMemoDataForLock(): any {\r\n this.payMemoLockSubscription.unsubscribe();\r\n this.payMemoLockSubscription = this.isPayPlanLocked$\r\n .pipe(\r\n finalize(() => {\r\n this.loadingSpinnerSvc.turnSpinnerOff();\r\n this.snackBarSvc.openSnackBar('Lock was successful.');\r\n this.appInsights.logUserAction('User locked pay memo on group ' + this.levelValue + ' on ' + this.month + '/' + this.year, this.user);\r\n }\r\n )\r\n )\r\n .subscribe(lockSuccessful => { },\r\n err => {\r\n this.subscribeService.onError(err, this.level, 'updatePayMemoData');\r\n this.loadingSpinnerSvc.turnSpinnerOff();\r\n }\r\n );\r\n }\r\n\r\n syncScroll(rightTable: any) {\r\n this.leftTable.scrollTop = rightTable.scrollTop;\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { PayMemo } from '../../models/incoming-dtos/pay-memo';\r\nimport { SpcBaseComponent } from '../../../app/shared/base/spc-base.component';\r\nimport { AppInsightsService } from '../../shared/services/app-insights.service';\r\n\r\n@Injectable()\r\nexport class PayMemoTableService extends SpcBaseComponent {\r\n\r\n constructor(public appInsights: AppInsightsService) {\r\n super(appInsights);\r\n }\r\n\r\n buildPayMemoCopies(payMemos: PayMemo[]): PayMemo[] {\r\n const copies = new Array();\r\n payMemos.forEach(memo => {\r\n const copy = new PayMemo();\r\n copy.id = memo.id;\r\n copy.teamName = memo.teamName;\r\n copy.payPlanId = memo.payPlanId;\r\n copy.ptoDaysUsed = memo.ptoDaysUsed;\r\n copy.ptoRate = memo.ptoRate;\r\n copy.ptoPay = memo.ptoPay;\r\n copy.actualSalesVolume = memo.actualSalesVolume;\r\n copy.actualSalesVolumeTeam = memo.actualSalesVolumeTeam;\r\n copy.payoutPerCar = memo.payoutPerCar;\r\n copy.salesVolumePayout = memo.salesVolumePayout;\r\n copy.grossSpcActual = this.isSpcEnabled ? memo.grossSpcActual : 0;\r\n copy.grossSpcTarget = this.isSpcEnabled ? memo.grossSpcTarget : 0;\r\n copy.grossSpcPayout = this.isSpcEnabled ? memo.grossSpcPayout : 0;\r\n copy.adjustedGrossSPCActual = this.isSpcEnabled ? memo.adjustedGrossSPCActual : 0;\r\n copy.grossSPCNationalActual = this.isSpcEnabled ? memo.grossSPCNationalActual : 0;\r\n\r\n\r\n copy.netSpcActual = this.isSpcEnabled ? memo.netSpcActual : 0;\r\n copy.netSpcTarget = this.isSpcEnabled ? memo.netSpcTarget : 0;\r\n copy.netSpcPayout = this.isSpcEnabled ? memo.netSpcPayout : 0;\r\n copy.quadGrowthActual = memo.quadGrowthActual * 100; // Multiplying these by 100 to show percentages as whole numbers.\r\n copy.quadGrowthTarget = memo.quadGrowthTarget * 100;\r\n copy.quadGrowthPayout = memo.quadGrowthPayout;\r\n copy.dealersSoldToGrowthActual = memo.dealersSoldToGrowthActual * 100;\r\n copy.dealersSoldToGrowthTarget = memo.dealersSoldToGrowthTarget * 100;\r\n copy.dealersSoldToGrowthPayout = memo.dealersSoldToGrowthPayout;\r\n copy.daysToDispositionActual = memo.daysToDispositionActual;\r\n copy.daysToDispositionTarget = memo.daysToDispositionTarget;\r\n copy.daysToDispositionPayout = memo.daysToDispositionPayout;\r\n copy.agedPercentageActual = memo.agedPercentageActual * 100;\r\n copy.agedPercentageTarget = memo.agedPercentageTarget * 100;\r\n copy.agedPercentagePayout = memo.agedPercentagePayout;\r\n copy.purchaseVolumeActual = memo.purchaseVolumeActual;\r\n copy.purchaseVolumeActualTeam = memo.purchaseVolumeActualTeam;\r\n copy.purchaseVolumePayPerUnit = memo.purchaseVolumePayPerUnit;\r\n copy.purchaseVolumePayPayout = memo.purchaseVolumePayPayout;\r\n copy.localBoostPercentActual = memo.localBoostPercentActual * 100;\r\n copy.localBoostPercentTarget = memo.localBoostPercentTarget * 100;\r\n copy.localBoostPercentPayout = memo.localBoostPercentPayout;\r\n copy.projectedPay = memo.projectedPay;\r\n copy.adjustments = memo.adjustments;\r\n copy.adjustedPay = memo.adjustedPay;\r\n copy.comments = memo.comments;\r\n copy.locked = memo.locked;\r\n copy.employee = memo.employee;\r\n copy.milestoneBonus = memo.milestoneBonus;\r\n copy.buyerAverage = memo.buyerAverage;\r\n copy.averageBuyerGoalBonus = memo.averageBuyerGoalBonus;\r\n copy.milestoneBonusTeam = memo.milestoneBonusTeam;\r\n copy.buyerAverageTeam = memo.buyerAverageTeam;\r\n copy.averageBuyerGoalBonusTeam = memo.averageBuyerGoalBonusTeam;\r\n copy.reversalAdjustment = memo.reversalAdjustment;\r\n\r\n copy.dealerSoldToAllActual = memo.dealerSoldToAllActual;\r\n copy.dealerSoldToAllTarget = memo.dealerSoldToAllTarget ;\r\n copy.dealerSoldToAllPayout = memo.dealerSoldToAllPayout;\r\n\r\n\r\n\r\n \r\n\r\n copies.push(copy);\r\n });\r\n return copies;\r\n }\r\n}\r\n","import { Component, OnInit, OnDestroy } from '@angular/core';\r\nimport { AppInsightsService } from '../shared/services/app-insights.service';\r\nimport { UserService } from '../security/user.service';\r\nimport { HelperMethodsService } from '../shared/services/helper-methods.service';\r\nimport { BaseComponent } from '../shared/base/base.component';\r\nimport { groupLevels } from '../shared/static-data/group-levels';\r\nimport { PayMemo } from '../models/incoming-dtos/pay-memo';\r\nimport { Observable, Subscription } from 'rxjs';\r\nimport { PayMemoService } from './pay-memo.service';\r\nimport { SubscriptionService } from '../shared/services/subscription.service';\r\nimport { LoadingSpinnerService } from '../shared/loading-spinner/loading-spinner.service';\r\nimport { SnackBarService } from '../shared/services/snack-bar.service';\r\nimport { PayMemoSaveDto } from '../models/outgoing-dtos/pay-memo-save-dto';\r\nimport { CoreFiltersService } from '../shared/services/core-filters.service';\r\nimport { finalize } from 'rxjs/operators';\r\n\r\n\r\n@Component({\r\n selector: 'scoreboard-pay-memo',\r\n templateUrl: './pay-memo.component.html'\r\n})\r\nexport class PayMemoComponent extends BaseComponent implements OnInit, OnDestroy {\r\n payMemoData = new Array();\r\n payMemoData$ = new Observable>();\r\n payMemoSubscription = new Subscription();\r\n payMemoDataForSave = new Array();\r\n payMemoSave$ = new Observable();\r\n payMemoSaveSubscription = new Subscription();\r\n\r\n coreFilterSubscription = new Subscription();\r\n\r\n constructor(public appInsights: AppInsightsService,\r\n public userService: UserService,\r\n public helperMethods: HelperMethodsService,\r\n public payMemoSvc: PayMemoService,\r\n private subscribeService: SubscriptionService,\r\n public loadingSpinnerSvc: LoadingSpinnerService,\r\n public snackBarSvc: SnackBarService,\r\n public coreFilterSvc: CoreFiltersService) {\r\n super(appInsights, userService);\r\n }\r\n\r\n ngOnInit() {\r\n this.trackUser();\r\n this.getFilterValues();\r\n }\r\n\r\n ngOnDestroy() {\r\n this.coreFilterSubscription.unsubscribe();\r\n }\r\n\r\n getFilterValues() {\r\n this.coreFilterSubscription = this.coreFilterSvc.filterValues$.subscribe(filterValues => {\r\n this.level = filterValues[0].level;\r\n this.levelValue = filterValues[0].levelValue;\r\n this.month = filterValues[0].month;\r\n this.year = filterValues[0].year;\r\n this.isEurope = filterValues[0].isEurope;\r\n if (filterValues[1] === '/pay-memo') {\r\n this.onSubmitSearch();\r\n }\r\n });\r\n }\r\n\r\n onSubmitSearch() {\r\n if (this.helperMethods.isStringNullOrEmpty(this.levelValue) || this.levelValue === groupLevels.invalid) {\r\n this.filterErrorMessage = 'You must select a valid ' + this.level + ' to submit your search.';\r\n this.userService.alertUser(this.filterErrorMessage);\r\n } else {\r\n this.getPayMemoData();\r\n }\r\n }\r\n\r\n onPayMemoDataChanged(payMemoTableData: PayMemoSaveDto[]) {\r\n this.payMemoDataForSave = payMemoTableData;\r\n this.payMemoSave$ = this.payMemoSvc.updatePayMemoData(this.payMemoDataForSave);\r\n this.subcribeToPayMemoDataForSave();\r\n }\r\n\r\n getPayMemoData() {\r\n this.payMemoData$ = this.payMemoSvc.getPayMemoData(this.level, this.levelValue, this.month, this.year);\r\n this.subscribeToPayMemoData();\r\n }\r\n\r\n subscribeToPayMemoData() {\r\n this.payMemoSubscription.unsubscribe();\r\n this.payMemoData = [];\r\n this.loadingSpinnerSvc.shouldShowLoading();\r\n\r\n this.payMemoSubscription = this.payMemoData$\r\n .pipe(\r\n finalize(() => {\r\n this.loadingSpinnerSvc.turnSpinnerOff();\r\n })\r\n )\r\n .subscribe(\r\n payMemo => {\r\n this.payMemoData = payMemo;\r\n if (this.helperMethods.isArrayNullOrEmpty(this.payMemoData)) {\r\n this.userService.alertUser('No Pay memo data found for the selected filters.');\r\n }\r\n },\r\n err => {\r\n this.subscribeService.onError(err, this.level, 'GetPayMemoData');\r\n this.loadingSpinnerSvc.turnSpinnerOff();\r\n }\r\n );\r\n }\r\n\r\n subcribeToPayMemoDataForSave() {\r\n this.payMemoSaveSubscription.unsubscribe();\r\n this.payMemoSaveSubscription = this.payMemoSave$\r\n .pipe(\r\n finalize(() => {\r\n this.snackBarSvc.openSnackBar('Save was successful.');\r\n this.appInsights.logUserAction('User saved pay memo records for group ' + this.levelValue + ' on ' + this.month + '/' + this.year, this.user);\r\n })\r\n )\r\n .subscribe(\r\n () => {\r\n this.getPayMemoData();\r\n },\r\n err => {\r\n this.subscribeService.onError(err, this.level, 'updatePayMemoData');\r\n this.loadingSpinnerSvc.turnSpinnerOff();\r\n }\r\n );\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { RouterModule } from '@angular/router';\r\nimport { SharedModule } from '../shared/shared.module';\r\nimport { PayMemoComponent } from './pay-memo.component';\r\nimport { PayMemoRouteActivator } from './pay-memo-route-activator';\r\nimport { PayMemoTableComponent } from './pay-memo-table/pay-memo-table.component';\r\nimport { PayMemoService } from './pay-memo.service';\r\nimport { PayMemoExportService } from './pay-memo-table/pay-memo-export.service';\r\nimport { PayMemoTableService } from './pay-memo-table/pay-memo-table.service';\r\nimport { DecisionModalService } from '../shared/decision-modal/decision-modal.service';\r\n\r\n@NgModule({\r\n imports: [\r\n SharedModule,\r\n RouterModule.forChild([\r\n { path: 'pay-memo', component: PayMemoComponent, canActivate: [PayMemoRouteActivator] }\r\n ])\r\n ],\r\n declarations: [\r\n PayMemoComponent,\r\n PayMemoTableComponent\r\n ],\r\n providers: [\r\n PayMemoRouteActivator,\r\n PayMemoService,\r\n PayMemoExportService,\r\n PayMemoTableService,\r\n DecisionModalService\r\n ]\r\n})\r\nexport class PayMemoModule { }\r\n","import { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { environment } from '../../environments/environment';\r\nimport { PayMemo } from '../models/incoming-dtos/pay-memo';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { UserService } from '../security/user.service';\r\nimport { ErrorHandlingService } from '../shared/services/error-handling.service';\r\nimport { groupLevels } from '../shared/static-data/group-levels';\r\nimport { PayMemoSaveDto } from '../models/outgoing-dtos/pay-memo-save-dto';\r\nimport { catchError } from 'rxjs/operators';\r\n\r\n@Injectable()\r\nexport class PayMemoService {\r\n private baseUrl: string = environment.dotNetCoreUrl + 'coreapi/PayMemo/';\r\n private payMemoForCountryUrl: string = this.baseUrl + 'country';\r\n private payMemoForSvpTeamUrl: string = this.baseUrl + 'svpTeam';\r\n private payMemoForGroupUrl: string = this.baseUrl + 'group';\r\n private payMemoForUpdateUrl: string = this.baseUrl + 'update';\r\n\r\n payMemo$ = new Observable();\r\n\r\n constructor(private httpClient: HttpClient,\r\n private userService: UserService,\r\n private errorService: ErrorHandlingService) { }\r\n\r\n getPayMemoData(level: string, levelValue: string, month: number, year: number): Observable {\r\n switch (level) {\r\n case groupLevels.country:\r\n return this.payMemo$ = this.getPayMemoForCountry$(levelValue, month, year);\r\n case groupLevels.svpTeam:\r\n return this.payMemo$ = this.getPayMemoForSvpTeam$(levelValue, month, year);\r\n case groupLevels.group:\r\n return this.payMemo$ = this.getPayMemoForGroup$(levelValue, month, year);\r\n }\r\n }\r\n\r\n getPayMemoForCountry$(levelValue: string, month: number, year: number): Observable {\r\n const url = this.payMemoForCountryUrl + '/' + levelValue + '/' + year + '/' + month;\r\n return this.httpClient.get(url, this.userService.getHttpOptions())\r\n .pipe(\r\n catchError(this.errorService.handleError)\r\n );\r\n }\r\n\r\n getPayMemoForSvpTeam$(levelValue: string, month: number, year: number): Observable {\r\n const url = this.payMemoForSvpTeamUrl + '/' + levelValue + '/' + year + '/' + month;\r\n return this.httpClient.get(url, this.userService.getHttpOptions())\r\n .pipe(\r\n catchError(this.errorService.handleError)\r\n );\r\n }\r\n\r\n getPayMemoForGroup$(levelValue: string, month: number, year: number): Observable {\r\n const url = this.payMemoForGroupUrl + '/' + levelValue + '/' + year + '/' + month;\r\n return this.httpClient.get(url, this.userService.getHttpOptions())\r\n .pipe(\r\n catchError(this.errorService.handleError)\r\n );\r\n }\r\n\r\n updatePayMemoData(payMemoData: PayMemoSaveDto[]): Observable {\r\n return this.httpClient.put(this.payMemoForUpdateUrl, payMemoData, this.userService.getHttpOptions())\r\n .pipe(\r\n catchError(this.errorService.handleError)\r\n );\r\n }\r\n}\r\n","import { Component, Input, Output, EventEmitter, OnInit } from '@angular/core';\r\nimport { BuyerTier } from '../../../models/incoming-dtos/buyer-tier';\r\nimport { HelperMethodsService } from '../../../shared/services/helper-methods.service';\r\n\r\n@Component({\r\n selector: 'scoreboard-buyer-tier',\r\n templateUrl: './buyer-tier.component.html',\r\n styleUrls: ['./buyer-tier.component.scss']\r\n})\r\nexport class BuyerTierComponent implements OnInit {\r\n @Input() buyerTierData: Array;\r\n @Input() payPlanId: number;\r\n @Input() buyerAverageTarget: number;\r\n @Input() currency: string;\r\n @Input() buyerAverageTimePeriod: string;\r\n newBuyerTier: BuyerTier = { id: 0, averageBuyers: 0, payout: 0, payPlanId: 0, recordStatus: false };\r\n alert: string;\r\n alertText: string;\r\n buyerAveragePayTimePeriodFYTD: boolean;\r\n buyerAveragePayTimePeriodRolling12: boolean;\r\n\r\n @Output() updatedBuyerTier = new EventEmitter>();\r\n @Output() isDirty = new EventEmitter();\r\n @Output() buyerAveragePayTimePeriod = new EventEmitter();\r\n\r\n constructor(public helperMethods: HelperMethodsService) {\r\n\r\n }\r\n ngOnInit() {\r\n const TwelveMthRoll = '12MthRoll';\r\n const FYTD = 'FYTD';\r\n\r\n if (this.buyerAverageTimePeriod == null) {\r\n this.buyerAveragePayTimePeriodRolling12 = true;\r\n this.buyerAveragePayTimePeriodFYTD = false;\r\n this.isDirty.emit(true);\r\n this.buyerAveragePayTimePeriod.emit(TwelveMthRoll);\r\n } else if (this.buyerAverageTimePeriod === TwelveMthRoll) {\r\n this.buyerAveragePayTimePeriodRolling12 = true;\r\n this.buyerAveragePayTimePeriodFYTD = false;\r\n } else if (this.buyerAverageTimePeriod === FYTD) {\r\n this.buyerAveragePayTimePeriodRolling12 = false;\r\n this.buyerAveragePayTimePeriodFYTD = true;\r\n }\r\n }\r\n\r\n public addBuyerTier() {\r\n const avgBuyerExists = this.buyerTierData.filter(x => x.averageBuyers === this.newBuyerTier.averageBuyers);\r\n\r\n if (this.helperMethods.isNumberNullOrUndefined(this.newBuyerTier.averageBuyers) || this.helperMethods.isNumberNullOrUndefined(this.newBuyerTier.payout)) {\r\n this.setAlert('Please enter a number');\r\n } else {\r\n if (avgBuyerExists.length === 0) {\r\n this.buyerTierData.push({ averageBuyers: this.newBuyerTier.averageBuyers, payout: this.newBuyerTier.payout, payPlanId: this.payPlanId, id: 0, recordStatus: true });\r\n this.buyerTierData.sort((n1, n2) => n1.averageBuyers - n2.averageBuyers);\r\n this.newBuyerTier = { id: 0, averageBuyers: 0, payout: 0, payPlanId: 0, recordStatus: false };\r\n this.resetAlert();\r\n this.updatedBuyerTier.emit(this.buyerTierData);\r\n } else {\r\n this.setAlert('Buyer average already exists!');\r\n }\r\n\r\n }\r\n\r\n this.isDirty.emit(true);\r\n }\r\n\r\n\r\n RadioButtonChange(event) {\r\n const elementID = event.srcElement.id;\r\n const TwelveMthRoll = '12MthRoll';\r\n const FYTD = 'FYTD';\r\n const buyerAveragePayTimePeriodFYTD = 'buyerAveragePayTimePeriodFYTD';\r\n const buyerAveragePayTimePeriodRolling12 = 'buyerAveragePayTimePeriodRolling12';\r\n\r\n if (elementID === buyerAveragePayTimePeriodFYTD) {\r\n this.buyerAveragePayTimePeriodFYTD = true;\r\n this.buyerAveragePayTimePeriodRolling12 = false;\r\n this.buyerAveragePayTimePeriod.emit(FYTD);\r\n } else if (elementID === buyerAveragePayTimePeriodRolling12) {\r\n this.buyerAveragePayTimePeriodFYTD = false;\r\n this.buyerAveragePayTimePeriodRolling12 = true;\r\n this.buyerAveragePayTimePeriod.emit(TwelveMthRoll);\r\n }\r\n }\r\n resetAlert() {\r\n this.alert = '';\r\n this.alertText = '';\r\n }\r\n setAlert(alertxt: string) {\r\n this.alert = 'alert alert-danger';\r\n this.alertText = alertxt;\r\n }\r\n removeTier(averageBuyers) {\r\n const result = this.buyerTierData.filter(x => x.averageBuyers !== averageBuyers);\r\n this.buyerTierData = result;\r\n this.updatedBuyerTier.emit(this.buyerTierData);\r\n this.isDirty.emit(true);\r\n }\r\n\r\n getTargetBuyerTierStyle(avgBuyer: BuyerTier) {\r\n const targetArray = this.buyerTierData.filter(x => x.averageBuyers <= this.buyerAverageTarget);\r\n const max = Math.max.apply(Math, targetArray.map(function (o) { return o.averageBuyers; }));\r\n\r\n if (avgBuyer.averageBuyers === max) {\r\n return 'my-1 text-center text-success';\r\n } else {\r\n return 'my-0 text-center';\r\n }\r\n }\r\n}\r\n","import { Component, Input, Output, EventEmitter, OnInit } from '@angular/core';\r\nimport { BuyerTier } from '../../../models/incoming-dtos/buyer-tier';\r\nimport { HelperMethodsService } from '../../../shared/services/helper-methods.service';\r\n\r\n@Component({\r\n selector: 'scoreboard-team-buyer-tier',\r\n templateUrl: './team-buyer-tier.component.html',\r\n styleUrls: ['./team-buyer-tier.component.scss']\r\n})\r\nexport class TeamBuyerTierComponent implements OnInit {\r\n @Input() buyerTierDataTeam: Array;\r\n @Input() payPlanId: number;\r\n @Input() buyerAverageTarget: number;\r\n @Input() currency: string;\r\n @Input() buyerAverageTimePeriodTeam: string;\r\n newBuyerTier: BuyerTier = { id: 0, averageBuyers: 0, payout: 0, payPlanId: 0, recordStatus: false };\r\n alert: string;\r\n alertText: string;\r\n buyerAveragePayTimePeriodFYTDTeam: boolean;\r\n buyerAveragePayTimePeriodRolling12Team: boolean;\r\n\r\n @Output() updatedBuyerTierTeam = new EventEmitter>();\r\n @Output() isDirty = new EventEmitter();\r\n @Output() buyerAveragePayTimePeriodTeam = new EventEmitter();\r\n\r\n constructor(public helperMethods: HelperMethodsService) {\r\n\r\n }\r\n ngOnInit() {\r\n const TwelveMthRoll = '12MthRoll';\r\n const FYTD = 'FYTD';\r\n\r\n if (this.buyerAverageTimePeriodTeam == null) {\r\n this.buyerAveragePayTimePeriodRolling12Team = true;\r\n this.buyerAveragePayTimePeriodFYTDTeam = false;\r\n this.isDirty.emit(true);\r\n this.buyerAveragePayTimePeriodTeam.emit(TwelveMthRoll);\r\n } else if (this.buyerAverageTimePeriodTeam === TwelveMthRoll) {\r\n this.buyerAveragePayTimePeriodRolling12Team = true;\r\n this.buyerAveragePayTimePeriodFYTDTeam = false;\r\n } else if (this.buyerAverageTimePeriodTeam === FYTD) {\r\n this.buyerAveragePayTimePeriodRolling12Team = false;\r\n this.buyerAveragePayTimePeriodFYTDTeam = true;\r\n }\r\n }\r\n\r\n public addBuyerTier() {\r\n const avgBuyerExists = this.buyerTierDataTeam.filter(x => x.averageBuyers === this.newBuyerTier.averageBuyers);\r\n\r\n if (this.helperMethods.isNumberNullOrUndefined(this.newBuyerTier.averageBuyers) || this.helperMethods.isNumberNullOrUndefined(this.newBuyerTier.payout)) {\r\n this.setAlert('Please enter a number');\r\n } else {\r\n if (avgBuyerExists.length === 0) {\r\n this.buyerTierDataTeam.push({ averageBuyers: this.newBuyerTier.averageBuyers, payout: this.newBuyerTier.payout, payPlanId: this.payPlanId, id: 0, recordStatus: true });\r\n this.buyerTierDataTeam.sort((n1, n2) => n1.averageBuyers - n2.averageBuyers);\r\n this.newBuyerTier = { id: 0, averageBuyers: 0, payout: 0, payPlanId: 0, recordStatus: false };\r\n this.resetAlert();\r\n this.updatedBuyerTierTeam.emit(this.buyerTierDataTeam);\r\n } else {\r\n this.setAlert('Buyer average already exists!');\r\n }\r\n\r\n }\r\n\r\n this.isDirty.emit(true);\r\n }\r\n\r\n\r\n RadioButtonChange(event) {\r\n const elementID = event.srcElement.id;\r\n const TwelveMthRoll = '12MthRoll';\r\n const FYTD = 'FYTD';\r\n const buyerAveragePayTimePeriodFYTD = 'buyerAveragePayTimePeriodFYTDTeam';\r\n const buyerAveragePayTimePeriodRolling12 = 'buyerAveragePayTimePeriodRolling12Team';\r\n\r\n if (elementID === buyerAveragePayTimePeriodFYTD) {\r\n this.buyerAveragePayTimePeriodFYTDTeam = true;\r\n this.buyerAveragePayTimePeriodRolling12Team = false;\r\n this.buyerAveragePayTimePeriodTeam.emit(FYTD);\r\n } else if (elementID === buyerAveragePayTimePeriodRolling12) {\r\n this.buyerAveragePayTimePeriodFYTDTeam = false;\r\n this.buyerAveragePayTimePeriodRolling12Team = true;\r\n this.buyerAveragePayTimePeriodTeam.emit(TwelveMthRoll);\r\n }\r\n }\r\n resetAlert() {\r\n this.alert = '';\r\n this.alertText = '';\r\n }\r\n setAlert(alertxt: string) {\r\n this.alert = 'alert alert-danger';\r\n this.alertText = alertxt;\r\n }\r\n removeTier(averageBuyers) {\r\n const result = this.buyerTierDataTeam.filter(x => x.averageBuyers !== averageBuyers);\r\n this.buyerTierDataTeam = result;\r\n this.updatedBuyerTierTeam.emit(this.buyerTierDataTeam);\r\n this.isDirty.emit(true);\r\n }\r\n\r\n getTargetBuyerTierStyle(avgBuyer: BuyerTier) {\r\n const targetArray = this.buyerTierDataTeam.filter(x => x.averageBuyers <= this.buyerAverageTarget);\r\n const max = Math.max.apply(Math, targetArray.map(function (o) { return o.averageBuyers; }));\r\n\r\n if (avgBuyer.averageBuyers === max) {\r\n return 'my-1 text-center text-success';\r\n } else {\r\n return 'my-0 text-center';\r\n }\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { EUPayPlanDto } from '../../models/outgoing-dtos/eupayplan-dto';\r\nimport jspdf from 'jspdf';\r\nimport 'jspdf-autotable';\r\nconst fr = 'fr';\r\nconst es = 'es';\r\n\r\n\r\n@Injectable()\r\n\r\nexport class EuPayplanFormExportService {\r\n private pdfHeightFromTop: number;\r\n private pdfHeightAfterVolumeTable: number;\r\n language: string;\r\n txtPayplan: string;\r\n txteffectiveDate: string;\r\n txtbaseSalary: string;\r\n txtpercentageOfPay: string;\r\n txttargetedProfitBonus: string;\r\n txtpercentageOfTargetGroupProfit: string;\r\n txtvolumeBonus: string;\r\n txtbuyerAverageBonus: string;\r\n txttargetVolume: string;\r\n txttargetBuyerAverage: string;\r\n txtpayPerUnit: string;\r\n txtmilestone: string;\r\n txtbonus: string;\r\n txtbuyerAverage: string;\r\n txttargetedAnnualPay: string;\r\n txtemployee: string;\r\n txtdate: string;\r\n txtprintName: string;\r\n txtapprovedByFinancialController: string;\r\n txtapprovedByGeneralManager: string;\r\n txtbonusPlanExpiresOn: string;\r\n txtdisclaimer: string;\r\n txtdisclaimerDiscontinue: string;\r\n txtteamBuyerAverage: string;\r\n txtteamMilestone: string;\r\n\r\n\r\n constructor( ) { }\r\n\r\n private setHeader(pdfDoc, pgWidth) {\r\n pdfDoc.setFontSize(25);\r\n pdfDoc.text(this.txtPayplan, pgWidth / 2, this.pdfHeightFromTop, 'center');\r\n }\r\n\r\n getEffectiveDate(date) {\r\n const monthNames = [\r\n 'January', 'February', 'March',\r\n 'April', 'May', 'June', 'July',\r\n 'August', 'September', 'October',\r\n 'November', 'December'\r\n ];\r\n\r\n if (date == null) {\r\n return '';\r\n }\r\n\r\n const dt = new Date(date);\r\n const monthIndex = dt.getMonth();\r\n const year = dt.getFullYear();\r\n\r\n const dateString = '01-' + monthNames[monthIndex] + '-' + year;\r\n return dateString;\r\n }\r\n\r\n getExpiryDate(date) {\r\n const monthNames = [\r\n 'January', 'February', 'March',\r\n 'April', 'May', 'June', 'July',\r\n 'August', 'September', 'October',\r\n 'November', 'December'\r\n ];\r\n\r\n if (date == null) {\r\n return '';\r\n }\r\n const dt = new Date(date);\r\n\r\n const month = dt.getMonth();\r\n const year = dt.getFullYear();\r\n const dateString = dt.getDate() + '-' + monthNames[month] + '-' + year;\r\n return dateString;\r\n }\r\n\r\n private setEmployeeInfo(pdfDoc, pgWidth, payPlan: EUPayPlanDto) {\r\n const empHeightFromTop = this.pdfHeightFromTop + 15;\r\n const lineFromTop = empHeightFromTop + 5;\r\n const widthBegin = pgWidth * 0.07;\r\n const widthEnd = pgWidth * (1 - 0.07);\r\n\r\n pdfDoc.setFontSize(14);\r\n pdfDoc.text(this.txteffectiveDate + ': ' + this.getEffectiveDate(payPlan.effectiveDate), widthEnd, empHeightFromTop, 'right');\r\n pdfDoc.text(payPlan.employee.firstName + ' ' + payPlan.employee.lastName + ' ( ' + payPlan.employee.groupName + ')', widthBegin, empHeightFromTop);\r\n pdfDoc.setLineWidth(0.6);\r\n pdfDoc.line(widthBegin, lineFromTop, widthEnd, lineFromTop);\r\n\r\n this.pdfHeightFromTop = lineFromTop;\r\n }\r\n\r\n private calculatePercentagePay(totalAnnualPay: number, pay: number, decimalPlaces?: number) {\r\n\r\n if (decimalPlaces !== null) {\r\n return (pay * 100 / totalAnnualPay).toFixed(decimalPlaces);\r\n } else {\r\n return (Math.floor(pay * 100 / totalAnnualPay));\r\n }\r\n }\r\n\r\n private toCurrency(num) {\r\n if (num % 1 !== 0) {\r\n num = num.toFixed(2);\r\n }\r\n return (num).toString().replace(/\\B(?=(\\d{3})+(?!\\d))/g, ',');\r\n\r\n }\r\n\r\n private setSalaryInfo(pdfDoc, pgWidth, payPlan: EUPayPlanDto, totalAnnualPay, currency) {\r\n const leftMargin = pgWidth * 0.08;\r\n const tableY = this.pdfHeightFromTop + 5;\r\n pdfDoc.setFontStyle('Normal');\r\n\r\n const arr = [\r\n { 'Sector': this.txtbaseSalary + ': ', 'Amount': currency + this.toCurrency(payPlan.basePay), 'Percentage': '(' + this.calculatePercentagePay(totalAnnualPay, payPlan.basePay) + this.txtpercentageOfPay + ')' },\r\n {\r\n 'Sector': this.txttargetedProfitBonus + ': ', 'Amount': currency + this.toCurrency(payPlan.profitBonusAmount),\r\n // tslint:disable-next-line:max-line-length\r\n 'Percentage': '(' + this.calculatePercentagePay(totalAnnualPay, payPlan.profitBonusAmount) + this.txtpercentageOfPay + ') (' + this.calculatePercentagePay(payPlan.totalGroupProfit, payPlan.profitBonusAmount, 2) + this.txtpercentageOfTargetGroupProfit + ')'\r\n },\r\n\r\n ];\r\n\r\n const col = this.getForcastedAnnualColumns();\r\n\r\n pdfDoc.autoTable(col, arr, {\r\n startY: tableY,\r\n showHeader: 'false',\r\n margin: { left: leftMargin - 1, right: pgWidth * 0.9 },\r\n theme: 'plain',\r\n columnStyles: {\r\n text: { columnWidth: 'auto' },\r\n Sector: { columnWidth: 80 },\r\n Amount: { columnWidth: 25 },\r\n Percentage: { columnWidth: 80 }\r\n },\r\n styles: {\r\n halign: 'left',\r\n fontSize: 12,\r\n fontStyle: 'normal',\r\n columnWidth: 'wrap',\r\n rowPageBreak: 'auto',\r\n overflow: 'linebreak',\r\n font: 'SourceSansPro'\r\n }\r\n });\r\n this.pdfHeightFromTop = pdfDoc.autoTableEndPosY();\r\n }\r\n\r\n private setVolumeInfo(pdfDoc, pgWidth, payPlan: EUPayPlanDto, volumeCompensation: number, totalAnnualPay: number, currency, isManager: boolean) {\r\n\r\n const boxLeftX = pgWidth * 0.08;\r\n const boxTopY = this.pdfHeightFromTop + 0.8;\r\n const headerY = boxTopY + 5;\r\n let line1Y = headerY + 6;\r\n let line2Y = line1Y + 6;\r\n const tableY = line2Y + 4;\r\n const marginLeft = 110;\r\n\r\n\r\n if (this.language === fr) {\r\n line1Y = headerY + 10;\r\n line2Y = line1Y + 5.1;\r\n }\r\n\r\n const splitVolumeBonus = pdfDoc.splitTextToSize(this.txtvolumeBonus + currency + this.toCurrency(volumeCompensation) + ' (' + this.calculatePercentagePay(totalAnnualPay, volumeCompensation) + this.txtpercentageOfPay + ')', marginLeft);\r\n pdfDoc.setFontSize(12);\r\n pdfDoc.setFont('SourceSansPro');\r\n pdfDoc.text(splitVolumeBonus, boxLeftX + 1, headerY);\r\n pdfDoc.setFontStyle('normal');\r\n pdfDoc.setFontSize(10);\r\n if (isManager) {\r\n pdfDoc.text(this.txttargetVolume + ': ' + this.toCurrency(payPlan.salesVolumeTargetTeam), boxLeftX + 10, line1Y);\r\n } else {\r\n pdfDoc.text(this.txttargetVolume + ': ' + this.toCurrency(payPlan.salesVolumeTarget), boxLeftX + 10, line1Y);\r\n }\r\n\r\n pdfDoc.text(this.txtpayPerUnit + ': ' + currency + this.toCurrency(payPlan.salesVolumePayPerUnit), boxLeftX + 10, line2Y);\r\n\r\n let euroX1 = 30;\r\n let euroX2 = 29;\r\n let euroY1 = 3.5;\r\n let euroY2 = 4.5;\r\n if (this.language === fr) {\r\n euroX1 = 63;\r\n euroX2 = 0.5;\r\n euroY1 = 3.5;\r\n euroY2 = -0.5;\r\n } else if (this.language === es) {\r\n euroX1 = 37;\r\n euroX2 = 38;\r\n euroY1 = 3.5;\r\n euroY2 = 4.5;\r\n }\r\n\r\n let arr = [];\r\n if (isManager) {\r\n arr = payPlan.salesMilestonesTeam.map(function (val) { return { Milestone: val.sales, Bonus: currency + val.payout }; });\r\n } else {\r\n arr = payPlan.salesMilestones.map(function (val) { return { Milestone: val.sales, Bonus: currency + val.payout }; });\r\n }\r\n\r\n const col = this.getMilestoneColumns(isManager);\r\n if (arr.length <= 23) {\r\n pdfDoc.autoTable(col, arr, {\r\n startY: tableY,\r\n showHeader: 'firstPage',\r\n margin: { left: boxLeftX + 10, right: marginLeft },\r\n theme: 'grid',\r\n columnStyles: { text: { columnWidth: 'auto' } },\r\n headerStyles: { fillColor: [248, 248, 248], textColor: [0, 0, 0], fontStyle: 'bold' },\r\n bodyStyles: { fillColor: [248, 248, 248], textColor: [0, 0, 0], fontStyle: 'bold' },\r\n styles: {\r\n halign: 'center',\r\n cellPadding: 0.5,\r\n fontSize: 8,\r\n font: 'SourceSansPro-Bold'\r\n }\r\n });\r\n this.pdfHeightAfterVolumeTable = pdfDoc.autoTableEndPosY();\r\n } else {\r\n const arrTable1 = arr.slice(0, 23);\r\n const arrTable2 = arr.slice(23, arr.length);\r\n pdfDoc.autoTable(col, arrTable1, {\r\n startY: tableY,\r\n showHeader: 'firstPage',\r\n margin: { left: boxLeftX, right: marginLeft + 43 },\r\n theme: 'grid',\r\n columnStyles: { text: { columnWidth: 'auto' } },\r\n headerStyles: { fillColor: [248, 248, 248], textColor: [0, 0, 0], fontStyle: 'bold' },\r\n bodyStyles: { fillColor: [248, 248, 248], textColor: [0, 0, 0], fontStyle: 'bold' },\r\n styles: {\r\n halign: 'center',\r\n cellPadding: 0.5,\r\n fontSize: 8,\r\n font: 'SourceSansPro-Bold'\r\n }\r\n });\r\n this.pdfHeightAfterVolumeTable = pdfDoc.autoTableEndPosY();\r\n\r\n pdfDoc.autoTable(col, arrTable2, {\r\n startY: tableY,\r\n showHeader: 'firstPage',\r\n margin: { left: boxLeftX + 45, right: 108 },\r\n theme: 'grid',\r\n columnStyles: { text: { columnWidth: 'auto' } },\r\n headerStyles: { fillColor: [248, 248, 248], textColor: [0, 0, 0], fontStyle: 'bold' },\r\n bodyStyles: { fillColor: [248, 248, 248], textColor: [0, 0, 0], fontStyle: 'bold' },\r\n styles: {\r\n halign: 'center',\r\n cellPadding: 0.5,\r\n fontSize: 8,\r\n font: 'SourceSansPro-Bold'\r\n }\r\n });\r\n }\r\n }\r\n\r\n private setBuyerAverageInfo(pdfDoc, pgWidth, payPlan: EUPayPlanDto, buyerAverage: number, totalAnnualPay: number, currency, isManager: boolean) {\r\n const boxLeftX = pgWidth * 0.08;\r\n const line1Y = this.pdfHeightFromTop + 0.8 + 5;\r\n let line2Y = line1Y + 6;\r\n const tableY = line2Y + 6 + 4;\r\n const marginLeft = 110;\r\n\r\n if (this.language === fr || this.language === es) {\r\n line2Y = line1Y + 10;\r\n }\r\n // tslint:disable-next-line:max-line-length\r\n const splitBuyerAverageBonus = pdfDoc.splitTextToSize(this.txtbuyerAverageBonus + currency + this.toCurrency(buyerAverage) + ' (' + this.calculatePercentagePay(totalAnnualPay, buyerAverage) + this.txtpercentageOfPay + ')', pgWidth - boxLeftX - marginLeft - 5);\r\n pdfDoc.setFontSize(12);\r\n pdfDoc.setFont('SourceSansPro');\r\n pdfDoc.text(splitBuyerAverageBonus, marginLeft, line1Y);\r\n\r\n // buyeraveragebonus euro and total annual pay euro\r\n let euroBuyerAvgX = 43;\r\n let euroAnnualPayX = 43;\r\n if (this.language === fr) {\r\n euroBuyerAvgX = 77;\r\n euroAnnualPayX = 48.5;\r\n } else if (this.language === es) {\r\n euroBuyerAvgX = 76.5;\r\n euroAnnualPayX = 68;\r\n }\r\n\r\n pdfDoc.setFontStyle('normal');\r\n pdfDoc.setFontSize(10);\r\n if (isManager) {\r\n pdfDoc.text(this.txttargetBuyerAverage + ': ' + this.toCurrency(payPlan.buyerAverageTargetTeam), marginLeft + 10, line2Y);\r\n } else {\r\n pdfDoc.text(this.txttargetBuyerAverage + ': ' + this.toCurrency(payPlan.buyerAverageTarget), marginLeft + 10, line2Y);\r\n }\r\n\r\n\r\n let arr = [];\r\n if (isManager) {\r\n arr = payPlan.buyerTiersTeam.map(function (val) { return { BuyerAverage: val.averageBuyers, Bonus: currency + val.payout }; });\r\n } else {\r\n arr = payPlan.buyerTiers.map(function (val) { return { BuyerAverage: val.averageBuyers, Bonus: currency + val.payout }; });\r\n }\r\n const col = this.getBuyerTierColumns(isManager);\r\n\r\n if (arr.length <= 23) {\r\n pdfDoc.autoTable(col, arr, {\r\n startY: tableY,\r\n showHeader: 'firstPage',\r\n margin: { left: marginLeft, right: boxLeftX + 10 },\r\n theme: 'grid',\r\n columnStyles: { text: { columnWidth: 'auto' } },\r\n headerStyles: { fillColor: [248, 248, 248], textColor: [0, 0, 0], fontStyle: 'bold' },\r\n bodyStyles: { fillColor: [248, 248, 248], textColor: [0, 0, 0], fontStyle: 'bold' },\r\n styles: {\r\n halign: 'center',\r\n cellPadding: 0.5,\r\n fontSize: 8,\r\n font: 'SourceSansPro-Bold'\r\n }\r\n });\r\n this.pdfHeightFromTop = Math.max(pdfDoc.autoTableEndPosY(), this.pdfHeightAfterVolumeTable);\r\n\r\n } else {\r\n const arrTable1 = arr.slice(0, 23);\r\n const arrTable2 = arr.slice(23, arr.length);\r\n pdfDoc.autoTable(col, arrTable1, {\r\n startY: tableY,\r\n showHeader: 'firstPage',\r\n margin: { left: marginLeft, right: 60 },\r\n theme: 'grid',\r\n columnStyles: { text: { columnWidth: 'auto' } },\r\n headerStyles: { fillColor: [248, 248, 248], textColor: [0, 0, 0], fontStyle: 'bold' },\r\n bodyStyles: { fillColor: [248, 248, 248], textColor: [0, 0, 0], fontStyle: 'bold' },\r\n styles: {\r\n halign: 'center',\r\n cellPadding: 0.5,\r\n fontSize: 8,\r\n font: 'SourceSansPro-Bold'\r\n }\r\n });\r\n this.pdfHeightFromTop = Math.max(pdfDoc.autoTableEndPosY(), this.pdfHeightAfterVolumeTable);\r\n\r\n pdfDoc.autoTable(col, arrTable2, {\r\n startY: tableY,\r\n showHeader: 'firstPage',\r\n margin: { left: marginLeft + 45, right: 15 },\r\n theme: 'grid',\r\n columnStyles: { text: { columnWidth: 'auto' } },\r\n headerStyles: { fillColor: [248, 248, 248], textColor: [0, 0, 0], fontStyle: 'bold' },\r\n bodyStyles: { fillColor: [248, 248, 248], textColor: [0, 0, 0], fontStyle: 'bold' },\r\n styles: {\r\n halign: 'center',\r\n cellPadding: 0.5,\r\n fontSize: 8,\r\n font: 'SourceSansPro-Bold'\r\n }\r\n });\r\n\r\n }\r\n\r\n pdfDoc.setFontStyle('bold');\r\n pdfDoc.setFont('SourceSansPro-Bold');\r\n pdfDoc.setFontSize(12);\r\n pdfDoc.text(this.txttargetedAnnualPay + ' ' + currency + this.toCurrency(totalAnnualPay), boxLeftX, this.pdfHeightFromTop + 7);\r\n }\r\n\r\n private getMilestoneColumns = function (isManager: boolean) {\r\n if (isManager) {\r\n return [\r\n { title: this.txtteamMilestone, dataKey: 'Milestone' },\r\n { title: this.txtbonus, dataKey: 'Bonus' },\r\n ];\r\n } else {\r\n return [\r\n { title: this.txtmilestone, dataKey: 'Milestone' },\r\n { title: this.txtbonus, dataKey: 'Bonus' },\r\n ];\r\n }\r\n };\r\n\r\n private getBuyerTierColumns = function (isManager: boolean) {\r\n if (isManager) {\r\n return [\r\n { title: this.txtteambuyerAverage, dataKey: 'BuyerAverage' },\r\n { title: this.txtbonus, dataKey: 'Bonus' },\r\n ];\r\n } else {\r\n return [\r\n { title: this.txtbuyerAverage, dataKey: 'BuyerAverage' },\r\n { title: this.txtbonus, dataKey: 'Bonus' },\r\n ];\r\n }\r\n };\r\n\r\n private getForcastedAnnualColumns = function () {\r\n return [\r\n { title: 'Sector', dataKey: 'Sector' },\r\n { title: 'Amount', dataKey: 'Amount' },\r\n { title: 'Percentage', dataKey: 'Percentage' }\r\n ];\r\n };\r\n\r\n private setFooter(pdfDoc, pgWidth, pgHeight, payPlan) {\r\n const leftMargin = pgWidth * 0.07;\r\n const linecolXBegin = leftMargin + 40;\r\n const linecolXEnd = linecolXBegin + 80;\r\n const bottomMarginfooter1Y = pgHeight * 0.94;\r\n const bottomMarginfooter2Y = bottomMarginfooter1Y - 4;\r\n const bottomMargin = bottomMarginfooter2Y - 12;\r\n const row3Y = bottomMargin - 10;\r\n const row2Y = row3Y - 10;\r\n const row1Y = row2Y - 10;\r\n const row0Y = row1Y - 10;\r\n const rowY = row0Y - 10;\r\n\r\n // bottom margin footer:\r\n pdfDoc.setFontSize(10);\r\n pdfDoc.setFontStyle('bold');\r\n pdfDoc.text(this.txtdisclaimerDiscontinue, pgWidth / 2, bottomMarginfooter1Y, 'center');\r\n const splittxt = pdfDoc.splitTextToSize(this.txtbonusPlanExpiresOn + ' ' + this.getExpiryDate(payPlan.expiryDate) + this.txtdisclaimer, pgWidth * 0.9);\r\n pdfDoc.text(splittxt, pgWidth / 2, bottomMarginfooter2Y, 'center');\r\n\r\n // signature section footer:\r\n pdfDoc.setFontSize(14);\r\n pdfDoc.setFontStyle('normal');\r\n pdfDoc.setLineWidth(0.3);\r\n pdfDoc.text(this.txtprintName + ': ', leftMargin, bottomMargin, 'left');\r\n pdfDoc.line(linecolXBegin, bottomMargin, linecolXEnd, bottomMargin);\r\n pdfDoc.text(this.txtapprovedByGeneralManager + ': ', leftMargin, row3Y, 'left');\r\n pdfDoc.line(linecolXBegin + 33, row3Y, linecolXEnd, row3Y);\r\n pdfDoc.text(this.txtdate + ': ', linecolXEnd + 10, row3Y, 'left');\r\n pdfDoc.line(linecolXEnd + 25, row3Y, linecolXEnd + 60, row3Y);\r\n\r\n pdfDoc.text(this.txtprintName + ': ', leftMargin, row2Y, 'left');\r\n pdfDoc.line(linecolXBegin, row2Y, linecolXEnd, row2Y);\r\n pdfDoc.text(this.txtapprovedByFinancialController + ': ', leftMargin, row1Y, 'left');\r\n pdfDoc.line(linecolXBegin + 33, row1Y, linecolXEnd, row1Y);\r\n pdfDoc.text(this.txtdate + ': ', linecolXEnd + 10, row1Y, 'left');\r\n pdfDoc.line(linecolXEnd + 25, row1Y, linecolXEnd + 60, row1Y);\r\n\r\n pdfDoc.text(this.txtprintName + ': ', leftMargin, row0Y, 'left');\r\n pdfDoc.line(linecolXBegin, row0Y, linecolXEnd, row0Y);\r\n pdfDoc.text(this.txtemployee + ': ', leftMargin, rowY, 'left');\r\n pdfDoc.line(linecolXBegin, rowY, linecolXEnd, rowY);\r\n pdfDoc.text(this.txtdate + ': ', linecolXEnd + 10, rowY, 'left');\r\n pdfDoc.line(linecolXEnd + 25, rowY, linecolXEnd + 60, rowY);\r\n }\r\n\r\n exportPayPlan(payPlan: EUPayPlanDto, volumeCompensation: number, buyerAverage: number, totalAnnualPay: number, currency: string) {\r\n const pdfDoc = new jspdf({\r\n orientation: 'p',\r\n unit: 'mm',\r\n format: 'a4',\r\n filters: ['ASCIIHexEncode']\r\n });\r\n const pgWidth = pdfDoc.internal.pageSize.getWidth();\r\n const pgHeight = pdfDoc.internal.pageSize.getHeight();\r\n this.pdfHeightFromTop = pgHeight * 0.1;\r\n\r\n const font = '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ESERIxEXITUhIE5TATFUSEhU/s9TUwEx/s8B7CoFdXV1dS/+FAE1/ssB7G9v/////AAAALkDYwImAAoAAAAHBvUAgwAA//8ATQAAAQoDYwImAAoAAAAHBvgAgwAA////7wAAARcDRgImAAoAAAAHBvsAgwAA////0gAAATQDSQImAAoAAAAHBv0AgwAA////6wAAARsDLQImAAoAAAAHBwgAgwAA/////QAAAQkDGAImAAoAAAAHBv8AgwAA//8ASgAAALwDNQImAAoAAAAHBwYAgwAA////7wAAARcDTQImAAoAAAAHBxAAgwAA//8APwAAANIDaAImAAoAAAAHBwoAgwAA//8ATv8zALoCkAImAAoAAAAHBwUAhPzpAAEAK/8sANsCkAAVADUAuAAARVi4AAgvG7kACAARPlm4AABFWLgABy8buQAHAAU+WboAEAAAAAMruAAHELgACtAwMRciJjU0NjcjETMRDgEVFBYzMjcXDgGLKDgrGBRTHyIeERYTFw8t1CwrKzwWApD9cBg0HxcXDi0LEf////EAAAEVA0oCJgAKAAAABwcDAIMAAP//AB//9AHwA0YCJgALAAAABwb7AVwAAP//AFr/HgI/ApACJgAMAAAABwclAUUAAP//AFr/MwI/ApACJgAMAAAABwcFAUf86f//AFr/VwI/ApACJgAMAAAABwb+AUX8/v//AFAAAAHMA2MCJgANAAAABwb4AIYAAP//AFoAAAHMAtcCJgANAAAABwcRAWf/3///AFr/HgHMApACJgANAAAABwclASAAAP//AFoAAAHMApACJgANAAAABwROAPwBE///AFr/MwHMApACJgANAAAABwcFASD86f//AAD/MwHMAxgCJgANAAAAJwb/AIYAAAAHBwUBIPzp//8AWv9XAcwCkAImAA0AAAAHBv4BIPz+AAH/+gAAAdECkAANAE0AuAAARVi4AAQvG7kABAARPlm4AABFWLgADC8buQAMAAU+WboADQAMAAQREjm4AA0vuAAC3LgABdC4AA0QuAAI0LgADBC5AAkAAvQwMTcnNxEzETcXBxUhFSE1GB5lU7AezgEf/o7INTcBXP7JXzVuzkfw//8AWgAAAn0DYwImAA4AAAAHBvgBagAA//8AWgAAAn0DNQImAA4AAAAHBwYBagAA//8AWv8zAn0CkAImAA4AAAAH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B0MBQgAA//8AV//0Ai4DyAImABYAAAAHBzwBQgAA//8AV//0Ai4DwgImABYAAAAHB0UBQgAA//8AV//0Ai4DyAImABYAAAAHBz8BQgAA//8AV/8zAi4CkAImABYAAAAHBwUBQvzp//8AV//0Ai4DaAImABYAAAAHBwoBQgAAAAEAV/8sAi4CkAAtAEcAuAAARVi4AA4vG7kADgARPlm4AABFWLgACC8buQAIAAU+WboAKAAAAAMruAAIELkAFQAC9LgADhC4ABvQuAAIELgAItAwMQUiJjU0PgI3LgM1ETMRFB4CMzI+AjURMxEUDgIHDgEVFBYzMjcXDgEBXig4DRMXCTNVPSJTGCk4ICE4KhhQFyo7JCcoHhIVExcOLtQsKxUhHBcJASBDakwBgf59O1AwFRUwUDsBg/5/Qls/KRETOBkXFw4tCxEAAQBX//QCogM5ACgANwC4AABFWLgABi8buQAGABE+WbgAAEVYuAAALxu5AAAABT5ZuQANAAL0uAAGELgAE9C4ACPcMDEFIi4CNREzERQeAjMyPgI1ETM+ATU0Jic3HgEVFA4CBxEUDgIBQzJXPyRTGCk4ICE4KhghKjAIB0ELDBIfKxgkP1YMHUNsTwGB/n07UDAVFTBQOwGDBSQqDx8MHBEoFx0qHhIG/qNPbEMd//8AV//0AqIDYwImANwAAAAHBvgBQgAA//8AV//0AqIDYwImANwAAAAHBvUBQgAA//8AV//0AqIDaAImANwAAAAHBwoBQgAA//8AV//0AqIDSQImANwAAAAHBv0BQgAA//8AV/8zAqIDOQImANwAAAAHBwUBQvzp//8AFwAAAvoDYwImABgAAAAHBvUBiQAA//8AFwAAAvoDYwImABgAAAAHBvgBiQAA//8AFwAAAvoDRgImABgAAAAHBvsBiQAA//8AFwAAAvoDLQImABgAAAAHBwgBiQAA/////wAAAd0DYwImABoAAAAHBvUA7gAA/////wAAAd0DYwImABoAAAAHBvgA7gAA/////wAAAd0DRgImABoAAAAHBvsA7gAA/////wAAAd0DLQImABoAAAAHBwgA7gAA/////wAAAd0DNQImABoAAAAHBwYA7gAA//////8zAd0CkAImABoAAAAHBwUA8Pzp/////wAAAd0DaAImABoAAAAHBwoA7gAA/////wAAAd0DSQIm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ACAAAAAHB1gBCQAA//8ALf8gAewDDQImACIAAAAHBvcBCwAA//8ALf8gAewC5AImACIAAAAHBvoBCwAA//8ALf8gAewC2gImACIAAAAHBwEBCwAA//8ALf8gAewCtgImACIAAAAHBwUBCwAA//8ALf8gAewC6AImACIAAAAHByYBCwAA//8ALf8gAewC6gImACIAAAAHBw8BCwAA//8ALf8gAewCkgImACIAAAAHBv4BCwAA//8ALf8gAewC0QImACIAAAAHBvwBCwAA////6AAAAdcDcAImACMAAAAGBvt8Kv//AFL/MwHXAsgCJgAjAAAABwcFAR786f//AFL/VwHXAsgCJgAjAAAABwb+AR78/v//AFL/GgHXAsgCJgAjAAAABwcBAR383wABAAgAAAHXAsgAHABvALgAAEVYuAAFLxu5AAUAEz5ZuAAARVi4AAAvG7kAAAAFPlm4AAUQuAAE0LgABC+4AAHQuAAEELgACNC4AAEQuAAJ0LgAD9C6AAwADwAAERI5uAAAELgAFNC4AA8QuQAYAAH0uAAMELkAGwAB9DAxMxEjNTc1MxUzFSMVBz4BMzIWFREjETQmIyIGBxFSSkpStrYDI0wzTUdSLDAmOiUCOysFXV0wXWQhMGBe/vMBAkU8JSX+x////+wAAACzAw0CJgFHAAAABgb0ewD//wBDAAABCgMNAiYBRwAAAAYG93sA////4AAAARYC5AImAUcAAAAGBvp7AP///84AAAEoAtECJgFHAAAABgb8ewD////pAAABDQKvAiYBRwAAAAYHB3sA////9gAAAQACkgImAUcAAAAGBv57AP///+AAAAEWAuoCJgFHAAAABgcPewD//wA3AAAAywL4AiYBRwAAAAYHCXsA//8AQ/8zALUCtAImACQAAAAHBwUAfPzpAAIAJv8yAM8CtAAWACIAQQC4AABFWLgACC8buQAIAAk+WbgAAEVYuAAHLxu5AAcABT5ZugAQAAAAAyu4AAcQuAAK0LgACBC4ABfcuAAd3DAxFyImNTQ2NyMRMxEOARUUFjMyNjcXDgEDIiY1NDYzMhYVFAaBJjUrFRRSHiMcEwsTChUOLRkYISEYFyEhzisqKDwVAeb+GhY2HRcXBwYpCxADGB4XGB0dGBceAAEAJv8yAM8B5gAWADUAuAAARVi4AAgvG7kACAAJPlm4AABF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9LgAKxC5AAoAAfS4AA0QuQAcAAH0MDETFB4CNy4DIyIGEyImNTQmJzMeARUUHgIzMj4CNwYuAjU0PgIzMhYVFA4CkRU1XEcCFiUyHio2clFaAgZOBgEPGiQUGSsgEwFcekgeGy8+JHBxHTZLAh0gPCwTCkhjPhs//aNaWys1GhE3KCMvHQwZQG5WDB8+UiYoQzAbtrRpj1gmAAIALv9NAnoB9gAlADMAXAB9uAAALxi4AABFWLgAGC8buQAYAAk+WbgAAEVYuAAJLxu5AAkACT5ZuAAARVi4AAEvG7kAAQAFPlm5ABQAAfS4AAEQuAAi0LgAFBC4ACnQuAAYELkAMQAB9DAxBTUuAzU0NjcXDgMVFB4CFzU0NjMyHgIVFA4CBx4BFwMUFhc+AzU0JiMiBgEvM11HKj0uQxYhFwwaLj8mU0EpRDAaKkdcMwECAQYBASU+Lho6LB4ps6oBIT9dPkuCNjAaMjQ6IipBLhkC8mdjIj9aOT5gQyUBK1UqAd49ej4CHDJHLVNgP///AC7/9AIiAwICJgJgAAAABwb5ARwAAP//AC7/9AGsAwICJgJkAAAABwb5APcAAP//AEv/TQHRAwICJgJmAAAABwb5ASIAAP//AFL/9ADqAwICJgJoAAAABgb5fAD////q//QBDgKvAiYCaAAAAAYHB3wA//8ALv/0AekDAgImAm4AAAAHBvkBDAAA//8APP/0AccDAgImAnMAAAAHBvkA9AAA//8APP/0AccCrwImAnMAAAAHBwcA9AAA//8AM//0AooDAgImAncAAAAHBvkBXgAA////4f/0ARcDBgImAmgAAAAGBz18AP//ADz/9AHHAwYCJgJzAAAABwc9APQAAP////oAAAJCApkAJgACJQAABgN+BgD////zAAACOgKZACYAAh0AAAYDfwAA//8AAwAAAjMCngAmAAIWAAAGA4AZAP//AAYAAAIzAp4AJgACFgAABgNrGQD////0AAACxwKeACcAAgCqAAAABgOBAAD////zAAACwwKeACcAAgCmAAAABgOCAAD////0AAACwwKeACcAAgCmAAAABgODAAD////zAAACvwKeACcAAgCiAAAABgOEAAD////oAAACYgKgACYAAkUAAAYDhQAA////6AAAAmICoAAmAAJFAAAGA4YAAP//AAMAAAIdA0oCJgACAAAABwcDAQ8AAP//AAMAAAIdAxgCJgACAAAABwb/AQ8AAP////QAAAJUApkAJgAGdgAABgN+AAD////zAAACVAKZACYABnYAAAYDfwAA////6gAAAh4CngAmAAZAAAAGA4AAAP///+0AAAIeAp4AJgAGQAAABgNrAAD////0AAACywKeACcABgDtAAAABgOBAAD////zAAACyAKeACcABgDqAAAABgOCAAD////0AAACxwKeACcABgDpAAAABgODAAD////zAAACwwKeACcABgDlAAAABgOEAAD////0AAACqAKZACYACXYAAAYDfgAA////8wAAAqgCmQAmAAl2AAAGA38AAP///+oAAAJyAp4AJgAJQAAABgOAAAD////tAAACcgKeACYACUAAAAYDawAA////9AAAAx8CngAnAAkA7QAAAAYDgQAA////8wAAAxwCngAnAAkA6gAAAAYDggAA////9AAAAxsCngAnAAkA6QAAAAYDgwAA////8wAAAxcCngAnAAkA5QAAAAYDhAAA////6AAAAu4CoAAnAAkAvAAAAAYDhQAA////6AAAAu4CoAAnAAkAvAAAAAYDhgAA////9AAAASMCmQAmAAp2AAAGA34AAP////MAAAEjApkAJgAKdgAABgN/AAD////qAAAA7QKeACYACkAAAAYDgAAA////7QAAAO0CngAmAApAAAAGA2sAAP////QAAAGaAp4AJwAKAO0AAAAGA4EAAP////MAAAGXAp4AJwAKAOoAAAAGA4IAAP////QAAAGWAp4AJwAKAOkAAAAGA4MAAP////MAAAGSAp4AJwAKAOUAAAAGA4QAAP///+gAAAFpAqAAJwAKALwAAAAGA4UAAP///+gAAAFpAqAAJwAKALwAAAAGA4YAAP////EAAAEVA0oCJgAKAAAABwcDAIMAAP////0AAAEJAxgCJgAKAAAABwb/AIMAAP////T/9ALGApwAJgAQYQAABgN+AAD////z//QCuAKcACYAEFMAAAYDfwAA////6v/0ApoCngAmABA1AAAGA4AAAP///+3/9AKUAp4AJgAQLwAABgNrAAD////0//QDRwKeACcAEADiAAAABgOBAAD////z//QDQwKeACcAEADeAAAABgOCAAD////0//QDPQKeACcAEADYAAAABgODAAD////z//QDOQKeACcAEADUAAAABgOEAAD////zAAACgQKZACYAEXYAAAYDfwAA////8wAAAoYCmQAnABoAqQAAAAYDfwAA////6gAAAlkCngAmABp8AAAGA4AAAP///+0AAAJZAp4AJgAafAAABgNrAAD////zAAADAwKeACcAGgEmAAAABgOCAAD////zAAAC/gKeACcAGgEhAAAABgOEAAD////oAAACzwKgACcAGgDyAAAABgOGAAD/////AAAB3QNKAiYAGgAAAAcHAwDuAAD/////AAAB3QMYAiYAGgAAAAcG/wDuAAD////0AAAC2gKcACYCVmEAAAYDfgAA////8wAAAswCnAAmAlZTAAAGA38AAP///+sAAAKrAp4AJgJWMgAABgOAAQD////qAAACqAKeACYCVi8AAAYDa/0A////9AAAA1kCngAnAlYA4AAAAAYDgQAA////8wAAA1UCngAnAlYA3AAAAAYDggAA////9AAAA1QCngAnAlYA2wAAAAYDgwAA////8wAAA1ECngAnAlYA2AAAAAYDhAAA////6AAAAwYCoAAnAlYAjQAAAAYDhQAA////6AAAAwYCoAAnAlYAjQAAAAYDhgAA//8AA//0AwkCkAAmAAIAAAAHA24CHgAA////+v/0Ay4CmQAmAAIlAAAmA34GAAAHA24CQwAA////8//0AyYCmQAmAAIdAAAmA38AAAAHA24COwAA////9P/0A7MCngAnAAIAqgAAACYDgQAAAAcDbgLIAAD////z//QDrwKeACcAAgCmAAAAJgOCAAAABwNuAsQAAP////T/9AOuAp4AJwACAKYAAAAmA4MAAAAHA24CwwAA////8//0A6oCngAnAAIAogAAACYDhAAAAAcDbgK/AAD////o//QDTgKgACYAAkUAACYDhQAAAAcDbgJjAAD////o//QDTgKgACYAAkUAACYDhgAAAAcDbgJjAAD//wBa//QDdQKQACYACQAAAAcDbgKKAAD////0//QD6wKZACYACXYAACYDfgAAAAcDbgMAAAD////z//QD6wKZACYACXYAACYDfwAAAAcDbgMAAAD////0//QEYgKeACcACQDtAAAAJgOBAAAABwNuA3cAAP////P/9AReAp4AJwAJAOoAAAAmA4IAAAAHA24DcwAA////9P/0BF4CngAnAAkA6QAAACYDgwAAAAcDbgNzAAD////z//QEWgKeACcACQDlAAAAJgOEAAAABwNuA28AAP///+j/9AQxAqAAJwAJALwAAAAmA4UAAAAHA24DRgAA////6P/0BDECoAAnAAkAvAAAACYDhgAAAAcDbgNGAAD//wAt//QDjgKcACYCVgAAAAcDbgKjAAD////0//QD7gKcACYCVmEAACYDfgAAAAcDbgMDAAD////z//QD4AKcACYCVlMAACYDfwAAAAcDbgL1AAD////0//QEbQKeACcCVgDgAAAAJgOBAAAABwNuA4IAAP////P/9ARpAp4AJwJWANwAAAAmA4IAAAAHA24DfgAA////9P/0BGgCngAnAlYA2wAAACYDgwAAAAcDbgN9AAD////z//QEZAKeACcCVgDYAAAAJgOEAAAABwNuA3kAAP///+j/9AQcAqAAJwJWAI0AAAAmA4UAAAAHA24DMQAA////6P/0BBwCoAAnAlYAjQAAACYDhgAAAAcDbgMxAAD//wAu//QCIgMCAiYCYAAAAAcHCQEcAAr//wAu//QCIgL1AiYCYAAAAAcHFgEcAAD//wAu//QCIgMNAiYCYAAAAAcG9AEcAAD//wAu//QCIgMNAiYCYAAAAAcG9wEcAAD//wAu//QCIgMCAiYCYAAAAAcHXgEcAAD//wAu//QCIgMCAiYCYAAAAAcHWwEcAAD//wAu//QCIgMCAiYCYAAAAAcHXQEcAAD//wAu//QCIgMCAiYCYAAAAAcHWgEcAAD//wAu//QCIgMnAiYCYAAAAAcHXwEcAAD//wAu//QCIgMnAiYCYAAAAAcHXAEcAAD//wAu//QCIgLaAiYCYAAAAAcHAQEcAAD//wAu//QCIgKSAiYCYAAAAAcG/gEcAAD//wAu//QCIgLRAiYCYAAAAAcG/AEcAAD//wAu//QBrAL4AiYCZAAAAAcHCQD3AAD//wAu//QBrAL1AiYCZAAAAAcHFgD3AAD//wAu//QBrAMNAiYCZAAAAAcG9AD3AAD//wAu//QBrAMNAiYCZAAAAAcG9wD3AAD//wAu//QBrAMCAiYCZAAAAAcHXgD3AAD//wAu//QBrAMCAiYCZAAAAAcHWwD3AAD//wAu//QBrAMCAiYCZAAAAAcHXQD3AAD//wAu//QBrAMCAiYCZAAAAAcHWgD3AAD//wBL/00B0QL4AiYCZgAAAAcHCQEiAAD//wBL/00B0QL1AiYCZgAAAAcHFgEiAAD//wBL/00B0QMNAiYCZgAAAAcG9AEiAAD//wBL/00B0QMNAiYCZgAAAAcG9wEiAAD//wBL/00B0QMCAiYCZgAAAAcHXgEiAAD//wBL/00B0QMCAiYCZgAAAAcHWwEiAAD//wBL/00B0QMCAiYCZgAAAAcHXQEiAAD//wBL/00B0QMCAiYCZgAAAAcHWgEiAAD//wBL/00B0QMnAiYCZgAAAAcHXwEiAAD//wBL/00B0QMnAiYCZgAAAAcHXAEiAAD//wBL/00B0QLRAiYCZgAAAAcG/AEiAAD//wA4//QA6gMCAiYCaAAAAAYHCXwK//8ALP/0AOoC9QImAmgAAAAGBxZ8AP///+3/9ADqAw0CJgJoAAAABgb0fAD//wBE//QBCwMNAiYCaAAAAAYG93wA////4P/0AO8DAgImAmgAAAAGB158AP///9r/9ADqAwICJgJoAAAABgdbfAD////g//QA/AMCAiYCaAAAAAYHXXwA////5P/0APYDAgImAmgAAAAGB1p8AP///+//9AEJAycCJgJoAAAABgdffAD////v//QBCQMnAiYCaAAAAAYHXHwA////4P/0ARgC2gImAmgAAAAGBwF8AP////f/9AEBApICJgJoAAAABgb+fAD////P//QBKQLRAiYCaAAAAAYG/HwA////4f/0ARcDBgImAmgAAAAGB0B8AP///+H/9AEXAwYCJgJoAAAABgc9fAD////j//QBFQMmAiYCaAAAAAYHQXwA//8ALv/0AekDAgImAm4AAAAHBwkBDAAK//8ALv/0AekC9QImAm4AAAAHBxYBDAAA//8ALv/0AekDDQImAm4AAAAHBvQBDAAA//8ALv/0AekDDQImAm4AAAAHBvcBDAAA//8ALv/0AekDAgImAm4AAAAHB14BDAAA//8ALv/0AekDAgImAm4AAAAHB1sBDAAA//8ALv/0AekDAgImAm4AAAAHB10BDAAA//8ALv/0AekDAgImAm4AAAAHB1oBDAAA//8ATv9NAfYDAgImAnAAAAAHBwkBJAAK//8ATv9NAfYC9QImAnAAAAAHBxYBJAAA//8APP/0AccDAgImAnMAAAAHBwkA9AAK//8APP/0AccC9QImAnMAAAAHBxYA9AAA//8APP/0AccDDQImAnMAAAAHBvQA9AAA//8APP/0AccDDQImAnMAAAAHBvcA9AAA//8APP/0AccDAgImAnMAAAAHB14A9AAA//8APP/0AccDAgImAnMAAAAHB1sA9AAA//8APP/0AccDAgImAnMAAAAHB10A9AAA//8APP/0AccDAgImAnMAAAAHB1oA9AAA//8APP/0AccDJwImAnMAAAAHB18A9AAA//8APP/0AccDJwImAnMAAAAHB1wA9AAA//8APP/0AccC0QImAnMAAAAHBvwA9AAA//8APP/0AccC2gImAnMAAAAHBwEA9AAA//8APP/0AccCkgImAnMAAAAHBv4A9AAA//8APP/0AccDBgImAnMAAAAHB0AA9AAA//8APP/0AccDBgImAnMAAAAHBz0A9AAA//8APP/0AccDJgImAnMAAAAHB0EA9AAA//8AM//0AooDAgImAncAAAAHBwkBXgAK//8AM//0AooC9QImAncAAAAHBxYBXgAA//8AM//0AooDDQImAncAAAAHBvQBXgAA//8AM//0AooDDQImAncAAAAHBvcBXgAA//8AM//0AooDAgImAncAAAAHB14BXgAA//8AM//0AooDAgImAncAAAAHB1sBXgAA//8AM//0AooDAgImAncAAAAHB10BXgAA//8AM//0AooDAgImAncAAAAHB1oBXgAA//8AM//0AooDJwImAncAAAAHB18BXgAA//8AM//0AooDJwImAncAAAAHB1wBXgAA//8AM//0AooC0QImAncAAAAHBvwBXgAA//8ALv83AiIB8gImAmAAAAAHBzkBHwAA//8ALv83AiIDAgImAmAAAAAnBzkBHwAAAAcHCQEcAAr//wAu/zcCIgL1AiYCYAAAACcHOQEfAAAABwcWARwAAP//AC7/NwIiAw0CJgJgAAAAJwc5AR8AAAAHBvQBHAAA//8ALv83AiIDDQImAmAAAAAnBzkBHwAAAAcG9wEcAAD//wAu/zcCIgMCAiYCYAAAACcHOQEfAAAABwdeARwAAP//AC7/NwIiAwICJgJgAAAAJwc5AR8AAAAHB1sBHAAA//8ALv83AiIDAgImAmAAAAAnBzkBHwAAAAcHXQEcAAD//wAu/zcCIgMCAiYCYAAAACcHOQEfAAAABwdaARwAAP//AC7/NwIiAycCJgJgAAAAJwc5AR8AAAAHB18BHAAA//8ALv83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CBC4ACLQMDEFIiY1ND4CNy4DNREzERQeAjMyPgI1ETMRFA4CBw4BFRQWMzI3Fw4BAUEoOA0TFwktSjYdUxIhLRsbLSETTxMhLxwnKB4RFhMWDi3ULCsVIRwXCQEZNVY+AS7+0S08JBAQJDwtAS/+0jVJMiINEzgZFxcOLQsRAAEAV//0AmMCrQAnADcAuAAARVi4AAYvG7kABgALPlm4AABFWLgAAC8buQAAAAU+WbkADQAB9LgABhC4ABPQuAAi3DAxBSIuAjURMxEUHgIzMj4CNREzPgE1NCc3HgEVFA4CBxEUDgIBJCxLNx9TEiEtGxstIRMfJzMOQAoNEx8qFx42SwwXNldAAS7+0S08JBAQJDwtAS8DJykdGR4RJxcdKR4SBv72QFc2F///AFf/9AJjAvACJgVaAAAABwb4ASP/jf//AFf/9AJjAvACJgVaAAAABwb1ASP/jf//AFf/9AJjAvUCJgVaAAAABwcKASP/jf//AFf/9AJjAtYCJgVaAAAABwb9ASP/jf//AFf/MwJjAq0CJgVaAAAABwcFASP86f//ABcAAAKUAvACJgSwAAAABwb1AVb/jf//ABcAAAKUAvACJgSwAAAABwb4AVb/jf//ABcAAAKUAtMCJgSwAAAABwb7AVb/jf//ABcAAAKUAroCJgSwAAAABwcIAVb/jf////8AAAGgAvACJgSyAAAABwb1AND/jf////8AAAGgAvACJgSyAAAABwb4AND/jf////8AAAGgAtMCJgSyAAAABwb7AND/jf////8AAAGgAroCJgSyAAAABwcIAND/jf////8AAAGgAsICJgSyAAAABwcGAND/jf//////MwGgAgYCJgSyAAAABwcFAM/86f////8AAAGgAvUCJgSyAAAABwcKAND/jf////8AAAGgAtYCJgSyAAAABwb9AND/jf//AC0AAAGxAvACJgSzAAAABwb4APr/jf//AC0AAAGxAtoCJgSzAAAABwcQAPr/jf//AC0AAAGxAsICJgSzAAAABwcGAPr/jf//AC3/MwGxAgYCJgSzAAAABwcFAP386f//AC3/VwGxAgYCJgSzAAAABwb+AP38/gACACEAAAILAgYADAAZAFcAuAAARVi4AAQvG7kABAALPlm4AABFWLgACi8buQAKAAU+WboAGAAEAAoREjm4ABgvuAAA0LgAGBC4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AADFwgAAxdgAAMXwAADGCAAAxiAAAMY4AADGUAAAxmgAAMaAAADGmAAAxq4AAMbEAADG2gAAxvAAAMcIAADHIAAAxzgAAMdQAADHZgAAx34AAMeUAADHqgAAx8IAAMfaAADH8gAAyAoAAMgiAADIOAAAyE4AAMhkAADIegAAyJIAAMiqAADIwgAAyNoAAMjyAADJCgAAySIAAMlAAADJXgAAyX4AAMmeAADJvgAAyd4AAMn8AADKGgAAyjIAAMpQAADKbgAAyo4AAMquAADKzgAAyu4AAMsOAADLLgAAy0YAAMtkAADLggAAy6IAAMvCAADL4gAAzAIAAMwiAADMQgAAzFoAAMxyAADMigAAzKIAAMy6AADM0gAAzOoAAM0CAADNGgAAzTIAAM1KAADNYgAAzXoAAM2SAADNqgAAzcIAAM3aAADN8gAAzgoAAM4iAADOOgAAzlIAAM5qAADOggAAzpoAAM6yAADOygAAzuIAAM76AADPEgAAzyoAAM9CAADPWAAAz24AAM+EAADPmgAAz7AAAM/GAADP3AAAz/IAANAIAADQHgAA0DQAANBKAADQYAAA0HYAANCMAADQogAA0LoAANDSAADQ6gAA0QIAANEaAADRMgAA0UoAANFiAADRegAA0ZIAANGqAADRwgAA0doAANHyAADSCgAA0iIAANI6AADSUgAA0moAANKCAADSmgAA0rIAANLKAADS4gAA0voAANMSAADTKgAA00IAANNaAADTcgAA04oAANOiAADTugAA09IAANPqAADUAgAA1BoAANQyAADUUgAA1HIAANSSAADUsgAA1NIAANTyAADVEgAA1TIAANVSAADVcgAA1ZIAANWoAADVxgAA1eQAANYCAADWIAAA1j4AANZcAADWegAA1pgAANa2AADW1AAA1vIAANcKAADXKgAA10oAANdqAADXigAA16oAANfKAADX6gAA2AoAANgqAADYSgAA2GoAANlVAADaCAAA2rkAANsTAADbjQAA26UAANu3AADbyQAA2/EAANwkAADcNgAA3GUAANx3AADciQAA3OEAANzzAADdBQAA3RcAAN0pAADdOwAA3U0AAN1fAADdcQAA3YMAAN2VAADdpwAA3bkAAN3LAADd3QAA3e8AAN5DAADelgAA3skAAN85AADfqAAA4BcAAOCFAADhUQAA4iEAAOIxAADixwAA4tcAAOLnAADjmgAA46oAAOTLAADlnwAA5iwAAOZEAADm9gAA544AAOeeAADnrgAA574AAOfOAADn3gAA5+4AAOf+AADolgAA6VoAAOlqAADp2QAA6loAAOrNAADrWAAA6+kAAOyKAADtDAAA7boAAO6kAADvSQAA72EAAO95AADwPwAA8FcAAPEKAADxGgAA8SoAAPFCAADx2wAA8esAAPLNAADzlAAA9CUAAPQ9AAD0VQAA9G0AAPTaAAD1dAAA9iUAAPbGAAD3HwAA96QAAPjkAAD5zgAA+p0AAPttAAD7/QAA/LIAAPzCAAD9ZwAA/jcAAP7UAAD/VAAA/2QAAP98AAD/lAAA/6QAAP+8AAD/zAAA/+QAAP/8AAEADAABACQAAQA8AAEATAABATgAAQH3AAECQwABAt8AAQLvAAED7AABBL8AAQVWAAEFbgABBhUAAQagAAEHbgABB9UAAQflAAEIOwABCEsAAQhbAAEIrwABCL8AAQpQAAEKYAABCs4AAQtHAAELtgABDEEAAQzDAAENXwABDd0AAQ6DAAEPZgABEAAAARAYAAEQMAABESQAARE8AAER4wABEfMAARIDAAESGQABErIAARLCAAETmgABFDUAARRFAAEUXQABFHUAARSNAAEU+gABFYcAARWXAAEWMQABFoIAARb4AAEYFwABGPgAARnOAAEaggABGwYAARu4AAEcRQABHO0AAR25AAEeTAABHlwAAR50AAEehAABHpwAAR6sAAEexAABHtQAAR7sAAEfBAABHxQAAR8sAAEfRAABIFAAASG5AAEjHgABI6wAASQcAAEktQABJZgAASY4AAEm+AABJ8QAASgvAAEpUwABKiAAASrQAAErnwABLCkAASyDAAEtHAABLSwAAS08AAEtTAABLVwAAS3HAAEt1wABLecAAS6iAAEvdgABL/UAATBlAAEw/gABMdQAATJdAAEzDAABMxwAATNzAAEzgwABNDsAATRLAAE0pQABNUMAATVTAAE1YwABNXMAATWDAAE12gABNeoAATX6AAE2PQABNpEAATapAAE2wQABNuEAATc9AAE3mgABODcAATjVAAE5AAABORgAATliAAE5qwABOcMAATnbAAE57QABOgcAATo0AAE6YQABOnkAATqRAAE6tQABOsUAATrqAAE7DwABOzQAATtbAAE7gAABO5AAATuiAAE77AABPBEAATw3AAE8eAABPLcAATz2AAE9LgABPWYAAT4VAAE+ygABPv8AAT8jAAE/WQABP4wAAT/bAAFAQgABQOUAAUHGAAFCKAABQmgAAUKAAAFCmAABQrAAAULIAAFDhAABQ60AAUPWAAFEAAABRCoAAUR+AAFE0gABRP0AAUUoAAFFUgABRXwAAUaCAAFHbQABSG4AAUkiAAFKTwABSywAAUv4AAFNQQABTpkAAU+RAAFPoQABUDoAAVD/AAFRlAABUgMAAVJ4AAFS1QABU4cAAVQAAAFUPQABVJ8AAVU0AAFVewABVkcAAVbkAAFXeAABV/kAAVjHAAFZZAABWjsAAVqPAAFbEgABW4EAAVxIAAFdDwABXYAAAV3wAAFeCAABXiAAAV44AAFeUAABXmgAAV6AAAFemAABXrAAAV7IAAFe4AABXvgAAV8QAAFfKAABX0AAAV9YAAFfeAABX5AAAV+oAAFfwAABX9gAAV/4AAFg0AABYY8AAWGnAAFhvwABYqUAAWK9AAFi1QABYu0AAWMFAAFjHQABYzUAAWNNAAFjZQABY30AAWONAAFjpQABY70AAWPVAAFj7QABZAUAAWQdAAFkNQABZE0AAWRlAAFkfQABZJUAAWStAAFkxQABZN0AAWT1AAFlFQABZdMAAWXrAAFmAwABZhsAAWYzAAFmSwABZmMAAWZ7AAFmkwABZqsAAWePAAFnpwABZ78AAWfXAAFohAABaJwAAWi0AAFozAABaOQAAWj8AAFpFAABaSwAAWlEAAFpXAABaXQAAWnwAAFqCAABaiAAAWo4AAFqUAABamgAAWqAAAFqmAABarAAAWrIAAFq4AABawAAAWsYAAFrpwABa78AAWvXAAFr7wABbAcAAWwfAAFsNwABbE8AAWxnAAFsfwABbJcAAWyvAAFsxwABbN8AAWz3AAFtDwABbScAAW0/AAFtVwABbW8AAW2HAAFtnwABbbcAAW3PAAFt5wABbf8AAW4fAAFvMQABb9MAAXCeAAFwtgABcM4AAXDmAAFw/gABcRYAAXHsAAFyBAABchwAAXI0AAFyTAABcmQAAXJ8AAFylAABcrQAAXLMAAFy5AABcvwAAXMUAAFzLAABc0QAAXNcAAFzdAABdFAAAXRoAAF0gAABdJgAAXSwAAF0yAABdU8AAXVnAAF1fwABdZcAAXWvAAF1xwABdd8AAXX3AAF2DwABdicAAXY/AAF2VwABdm8AAXaHAAF2nwABdrcAAXbPAAF3jgABeDoAAXhSAAF4agABeIIAAXiaAAF4sgABeMoAAXjiAAF4+gABeRIAAXkqAAF5QgABeVoAAXlyAAF5igABeaIAAXm6AAF50gABeeoAAXoCAAF6GgABejIAAXpKAAF67AABe3AAAXwxAAF9AQABfXwAAX2MAAF9nAABfegAAX5PAAF+XwABfm8AAX5/AAF/KwABfzsAAX9LAAF/tQABf8UAAX/VAAGASAABgFgAAYCuAAGAvgABgTAAAYFAAAGBUAABghQAAYIkAAGCuAABg4wAAYOkAAGDvAABhGMAAYTrAAGF2gABheoAAYaCAAGGkgABhqIAAYdRAAGHYQABiGkAAYkvAAGJuQABidEAAYp7AAGLFgABiyYAAYs2AAGLRgABi1YAAYtmAAGLdgABi4YAAYwTAAGM1wABjOcAAY1VAAGNzwABjj4AAY7JAAGPWQABj/gAAZB5AAGRJgABkfEAAZKRAAGSqQABksEAAZOGAAGTngABlE8AAZRfAAGUbwABlIcAAZUcAAGVLAABlg4AAZbOAAGXYAABl3gAAZeQAAGXqAABmA8AAZivAAGZagABmgcAAZpeAAGa3AABm/sAAZzfAAGdpQABnnMAAZ79AAGfpQABn7UAAaBUAAGhIQABobcAAaIyAAGiQgABoloAAaJyAAGiggABopoAAaKqAAGiwgABotoAAaLqAAGjAgABoxoAAaR6AAGlAwABpVsAAaX1AAGmyQABp2EAAagbAAGo7AABqVMAAapiAAGrMQABq5sAAawKAAGspAABrLQAAazMAAGs3AABrOwAAa0EAAGtHAABrSwAAa1RAAGtdgABrbUAAa30AAGuLAABrmQAAa8OAAGvtAABr8YAAa/YAAGv6gABr/wAAbAOAAGwIAABsDIAAbBEAAGwVgABsGgAAbB6AAGwjAABsJ4AAbCwAAGwwgABsNQAAbDmAAGw+AABsQoAAbEcAAGxLgABsUAAAbFSAAGxZAABsXYAAbGIAAGxmgABsawAAbIaAAGyXwABstsAAbOSAAG0EgABtKkAAbVPAAG1qgABtpQAAbc6AAG3eQABt7gAAbf9AAG4YwABuHUAAbiHAAG4mQABuKsAAbi9AAG4zwABuOEAAbjzAAG5BQABuRcAAbkpAAG5OwABuU0AAblfAAG5bwABuX8AAbmPAAG5/wABuqUAAbscAAG7cAABu70AAbv+AAG8hAABvMkAAbzuAAG9OwABvZ0AAb3KAAG+VwABvsIAAb84AAG/lAABwD0AAcCwAAHBYQABwZcAAcH6AAHCSwABwvgAAcOLAAHD5AABxDQAAcTUAAHFhAABxfYAAcaYAAHHOgABx6gAAcjVAAHJLwAByXwAAcnzAAHKVQABypwAActDAAHLrwABzCUAAczRAAHNbgABzc4AAc6JAAHPCAABz4gAAc/aAAHQbAAB0PwAAdGOAAHR2wAB0jQAAdKCAAHSqQAB0vQAAdOzAAHUbAAB1SUAAdW+AAHWdQAB10cAAddsAAHXygAB1+0AAdgTAAHYOQAB2K8AAdl2AAHaegAB21MAAdwUAAHdGwAB3csAAd5yAAHfyQAB4MgAAeH1AAHiwgAB4+UAAeS9AAHlxgAB5qsAAefEAAHokgAB6VMAAeocAAHqzgAB6zkAAewCAAHsNwAB7EcAAexXAAHseQAB7ewAAe4OAAHuMAAB7lIAAe50AAHulgAB7rgAAe7aAAHu/AAB7x4AAe9AAAHvYgAB74QAAe+mAAHvyAAB7+oAAfAMAAHwLgAB8SoAAfFMAAHxkAAB8bYAAfHzAAHybAAB8n4AAfKUAAHy1QAB8xMAAfNmAAHztwAB9CIAAfRoAAH03gAB9VgAAfVuAAH1mgAB9qcAAfa3AAH3jwAB+BMAAfhhAAH4cQAB+IEAAfjfAAH5HgAB+eoAAfrDAAH6/wAB+1EAAfuLAAH73QAB/AIAAfwtAAH86gAB/TAAAf1cAAH9mAAB/c8AAf4zAAH+YQAB/p8AAf7YAAH/PgAB/5UAAgArAAIAcAACAPcAAgFtAAIBlgACAa4AAgHXAAIB5wACAfcAAgIHAAICGQACAisAAgI9AAICTwACAmEAAgJzAAICmAACAqoAAgK6AAICygACAtoAAgLsAAIC/gACAxAAAgMiAAIDNAACA0YAAgNYAAIDagACA3wAAgXDAAIF9gACBikAAgZRAAIGhAACBrcAAgbdAAIHLAACB3sAAggBAAIIfAACCKAAAgjRAAII4QACCUgAAgmtAAIKCwACCmwAAgqiAAIK5QACC0oAAgu8AAIMEwACDGoAAgzHAAINJAACDVgAAg2lAAIN8QACDj0AAg5lAAIOqQACDvoAAg9YAAIPngACD98AAhAhAAIQMQACEF0AAhCJAAIQvwACEQEAAhFKAAIRiwACEb8AAhIDAAISJwACEjkAAhJLAAISXQACEqgAAhL0AAITRAACE5QAAhPeAAIUMAACFFUAAhSBAAIUkwACFKUAAhS3AAIUyQACFNsAAhTtAAIVNQACFWEAAhWaAAIWNwACFo8AAhafAAIW5wACFygAAhenAAIYNAACGLMAAhkuAAIZugACGjoAAhr7AAIbeQACHAAAAhyXAAIdOAACHYoAAh3pAAIeOwACHp4AAh8XAAIfmAACIDQAAiDdAAIhVgACIc8AAiJIAAIiwQACI2EAAiQBAAIksgACJV8AAiXhAAImZwACJqUAAibsAAInXAACJ8wAAihwAAIo4QACKVIAAin2AAIp9gACKfYAAin2AAIp9gACKfYAAin2AAIqDgACKiYAAQAAAAIFYJSKzzdfDzz1AAkD6AAAAADSChj6AAAAANU/XLH+Ov7cCG8DyAAAAAkAAgABAAAAAAKNAFkAyAAAAiAAAwJMAFoCOwA0AmcAWgIPAFoB7gBaAmkANAKMAFoBBwBaAeAAHwJDAFoB5gBaAtcAWgKHAFoCmAA0AjYAWgKYADQCOQBaAhYAKgIYABwChQBXAgMAAAMSABcCAQAPAdz//wIbAC0B+AA0AikAUgHIAC4CKwAvAfAALgEkAB4B+AAtAiAAUgD2AEMA9//YAe8AUgD/AFIDPQBSAiMAUgIeAC4CKwBSAisALwFbAFIBowAcAVIAGAIgAEsB0wAMAs4AGAG+AA4B0wAMAakAHwIgAAMCIAADAiAAAwIgAAMCIAADAiAAAwIgAAMCIAADAiAAAwIgAAMCIAADAiAAAwIgAAMCIAADAiAAAwIgAAMCIAADAiAAAwIgAAMCIAADAiAAAwIgAAMDNgAIAzYACAM2AAgCWwAeAkwAWgI7ADQCOwA0AjsANAI7ADQCOwA0AmcAWgJnAFoCZwBaAn4AIQIPAFoCDwBaAg8AWgIPAFoCDwBaAg8AWgIPAFoCDwBaAg8AWgIPAFoCDwBaAg8AWgIPAEkCDwBaAg8AWgIPAFoCDwBaAg8AWgJpADQCaQA0AmkANAJpADQCaQA0AmkANAJpADQCaQA0AmkANAKMAFoCjABaAowAWgKvACABB//8AQcATQEH/+8BB//SAQf/6wEH//0BBwBKAQf/7wEHAD8BBwBOAQcAKwEH//EB4AAfAkMAWgJDAFoCQwBaAeYAUAHmAFoB5gBaAeYAWgHmAFoB5gAAAeYAWgHp//oC1wBaAtcAWgLXAFoChwBaAocAWgKHAFoChwBaAocAWgKHAFoChwBaAocAWgKYADQCmAA0ApgANAKYADQCmAA0ApgANAKYADQCmAA0ApgANAKYADQCmAA0ApgANAKYADQCmAA0ApgANAKYADQCmAA0ApgAMgNPADQCmAA3ApgANwKYADcCmAA3ApgANwKYADcCmAA0AjkAWgI5AFoCOQBaAjkAWgI5AFoCOQBaAjkAWgIWACoCFgAqAhYAKgIWACoCFgAqAhYAKgIWACoCmwBbAhgAHAIYABwCGAAcAhgAHAIYABwCGAAcAoUAVwKFAFcChQBXAoUAVwKFAFcChQBXAoUAVwKFAFcChQBXAoUAVwKFAFcChQBXAoUAVwKFAFcChQBXAoUAVwKFAFcCkwBXApMAVwKTAFcCkwBXApMAVwKTAFcDEgAXAxIAFwMSABcDEgAXAdz//wHc//8B3P//Adz//wHc//8B3P//Adz//wHc//8CGwAtAhsALQIbAC0CGwAtAhsALQJ+ACECRwBaApIAOgJ7AFoCDgBaAfgANAH4ADQB+AA0AfgANAH4ADQB+AA0AfgANAH4ADQB+AA0AfgANAH4ADQB+AA0AfgADwH4ADQB+AA0AfgANAH4ADQB+AA0AfgANAH4ADQB+AA0AfgANAMRADoDEQA6AxEAOgIgAAgCKQBSAcgALgHIAC4ByAAuAcgALgHIAC4CPQAvAisALwIrAC8CKwAvAfAALgHwAC4B8AAuAfAALgHwAC4B8AAuAfAALgHwAC4B8AAuAfAALgHwAC4B8AAuAfAAEgHwAC4B8AAuAfAALgHwAC4B8AAuAfgALQH4AC0B+AAtAfgALQH4AC0B+AAtAfgALQH4AC0CIP/oAiAAUgIgAFICIABSAiAACAD2/+wA9gBDAPb/4AD2/84A9v/pAPb/9gD2/+AA9gA3APYAQwD2ACYA9gAmAPb/4AD2AFIA9//YAe8AUgHvAFIB7wBSAe8AUgD/AEEBDgBSAWoAUgD/AD4A/wBSAP//9QD/ABgBBv//Az0AUgM9AFIDPQBSAiMAUgIjAFICIwBSAiMAUgIjAFICIwBSAiMAUgIjAFIDBwA/Ah4ALgIeAC4CHgAuAh4ALgIeAC4CHgAuAh4ALgIeAC4CHgAuAh4ALgIeAC4CHgAYAh4ALgIeAC4CHgAuAh4ALgIeAC4CHgAuA0cALgIeAC4CHgAuAh4ALgIeAC4CHgAuAh4ALgIeAC4BWwBSAVsAGgFbAD4BWwBSAVsAQwFbAEMBW//0AaMAHAGjABwBowAcAaMAHAGjABwBowAcAaMAHAJAAFIBUgAYAVIAGAFSABgBUgAYAVIAGAFS//4BUgAYAiAASwIgAEsCIABLAiAASwIgAEsCIABLAiAASwIgAEsCIABLAiAASwIgAEsCIABLAiAASwIgAEsCIABLAiAASwIgAEsCIABLAiAASwIgAEsCIABLAiAASwIgAEsCzgAYAs4AGALOABgCzgAYAdMADAHTAAwB0wAMAdMADAHTAAwB0wAMAdMADAHTAAwBqQAfAakAHwGpAB8BqQAfAakAHwIhADUCKwBSAiMAUgD3/9gB7QBDAgAASwIrAFICKwBSAcgAGQHIAC4CKwAvAisALwHwACUCKwAvAfwAUgHwACUCiAAlAbgAMgHIACUCIgAyAQ7/4wIvADICLwAyAfEALgHTAAwB/wAQAiMASwIgAFICIABSAjIAUwEOAAgBVQAuARz/rAEu//oA/wBSAkEAUgGbAFIDPQBNAz0ATQM9AFICI//sAiMAUgIfAFICHgAuArsALgKoAC4BW//9AVv//QFb//0BWwBSAU4AUgHvAFIB7wAgAaMAHAD3/9gBDv/jAVIAGAI/AAgCHQAlAhIASwHTAAwCzgAYAdMADAGf//8BqQAfAcEAHwGpAAMBof/+AbsAHwG5AAcBuQATASAABgINADsCQQAeAzcAHgNAAB4CUgAeA28AHgFXAC4BVwAlAVcALgFXABgBV//7AVcAFAFXACYBVwAuAVcAGAFXAC4BVwAuAVcALgFXABoChwBaAisALwIrAC8CKwAvAisALwIrAC8CKwAvAisALwIrAC8CKwAvAisALwIrAC8CKwAvAisALwIrACMCKwAvAisALwIrAC8CKwAvAisALwIrAC8CKwAvAisALwIrAC8CLwAyAi8AMgIvADICLwAyAi8AMgIvADICLwAyAi8AMgIvADIA9gBSAPYAQgEJAFIBagBSAPYAHAD2AEUA9v/2APb/9gEB//8CLAAeAiAAAwJMAFoB8gBaAkwAHgIPAFoCGwAtAowAWgKYADQBBwBaAkMAWgIDAAAC1wBaAocAWgIVADECmAA0AoUAWgI2AFoCGgAsAhgAHAHc//8CzwAwAgEADwK7AD8CpgAtAjYABgJP/+0CzP/tAUf/7QEH/+sCx//tAlj/7QHc//8C0//qAjAALgI1AE8B5AAGAhMANAHAAC4BqAAwAh0ASwIKADsBBgBSAe4ASQHuABACMgBSAdoABgGvABwCFwAuAkoAFgIlAE4CIgAuAcwAGgH+ADwCqAAuAeEACQKxAD0CvQAzAbAALgIwAE4CCgBCAqgALgIwAC4BwAAuAh0ASwEGAFIBBv/qAhcALgH+ADwB/gA8Ar0AMwEG/+EB/gA8AkT/+gI9//MCNgADAjYABgLK//QCxv/zAsX/9ALB//MCZf/oAmX/6AIgAAMCIAADAoX/9AKF//MCT//qAk//7QL8//QC+f/zAvj/9AL0//MDAv/0AwL/8wLM/+oCzP/tA3n/9AN1//MDdf/0A3H/8wNI/+gDSP/oAX3/9AF9//MBR//qAUf/7QH0//QB8f/zAfD/9AHs//MBw//oAcP/6AEH//EBB//9Avn/9ALr//MCzf/qAsf/7QN0//QDdv/zA3D/9ANs//MCrP/zAoX/8wJY/+oCWP/tAwH/8wL9//MCzv/oAdz//wHc//8DBf/0Avf/8wLW/+sC0//qA4T/9AOA//MDf//0A3v/8wMx/+gDMf/oAyIAAwNH//oDQP/zA8z/9API//MDyP/0A8T/8wNo/+gDaP/oA44AWgQE//QEBP/zBHz/9AR4//MEd//0BHT/8wRK/+gESv/oA6cALQQH//QD+v/zBIb/9ASD//MEgv/0BH7/8wQ2/+gENv/oAjAALgIwAC4CMAAuAjAALgIwAC4CMAAuAjAALgIwAC4CMAAuAjAALgIwAC4CMAAuAjAALgHAAC4BwAAuAcAALgHAAC4BwAAuAcAALgHAAC4BwAAuAh0ASwIdAEsCHQBLAh0ASwIdAEsCHQBLAh0ASwIdAEsCHQBLAh0ASwIdAEsBBgA4AQYALAEG/+0BBgBEAQb/4AEG/9oBBv/gAQb/5AEG/+8BBv/vAQb/4AEG//cBBv/PAQb/4QEG/+EBBv/jAhcALgIXAC4CFwAuAhcALgIXAC4CFwAuAhcALgIXAC4CJQBOAiUATgH+ADwB/gA8Af4APAH+ADwB/gA8Af4APAH+ADwB/gA8Af4APAH+ADwB/gA8Af4APAH+ADwB/gA8Af4APAH+ADwCvQAzAr0AMwK9ADMCvQAzAr0AMwK9ADMCvQAzAr0AMwK9ADMCvQAzAr0AMwIwAC4CMAAuAjAALgIwAC4CMAAuAjAALgIwAC4CMAAuAjAALgIwAC4CMAAuAjAALgIdAEsCHQBLAh0ASwIdAEsCHQBLAh0ASwIdAEsCHQBLAh0ASwIdAEsCHQBLAh0ASwK9ADMCvQAzAr0AMwK9ADMCvQAzAr0AMwK9ADMCvQAzAr0AMwK9ADMCvQAzAr0AMwHuAEkCFwAuAdIALgGdAFIB8gARAPkALwD5AEEA+QBBAPkAUgD5AEACHgDuAED/7QIeAHoCHgD0AQYAUgIeAMsCHgDLAh4AvwIeALQCHgDuAh4AcwIeAG0CHgBzAh4AdwIeAIICHgCCAh4AYgIeAHQCHgB0Ah4AdgB3//QAdf/zAED/6gDt//QA6v/zAO3/9ADm//MAvP/oALz/6AIgAAMCRABaAkwAWgHyAFoCfgAaAg8AWgMlAAYCKgAqApAAWgKQAFoCRABaAnYAAALXAFoCjABaApgANAKFAFoCNgBaAjsANAIYABwCAgAFAtwALwIBAA8CggBaAlYAQwNhAFoDagBaAtAAHAMeAFoCRABaAjsAIAOMAFoCRgAWAg8AWgIPAFoCrwAcAfIAWgI7ADQCFgAqAQcAWgEH/+sBBwASAeAAHwOHAAYDoQBaArgAHAJEAFoCkABaAgIABQKFAFoCZgAcApgANAIRAAAB8gBaAgkAIQNPAAYCKgAqAnQAWgLMABwClQBaAjsANAHc//8B3P//AicADwJfAEMCVgBaAQcAWgMlAAYCIAADAzYACAIPAFoCkgA6ApAAWgKYADQCmAA0AgIABQICAAUB+AA0AiAANQH8AFIBmwBSAhQAEwHwAC4CqQANAcgAJQI1AFICNQBSAfIAUgITAAoCeQBSAjIAUgIeAC4CKQBSAisAUgHIAC4BzAAaAdMADALeAC8BvgAOAioAUgIAADsC7QBSAvUAUgJUABoCogBSAesAUgHIABgC4gBSAgIAIAHwAC4B8AAuAiQACAGbAFIByAAuAaMAHAD2AEMA9v/pAQEAEQD3/9gC3wAMAvYAUgIgAAgB8gBSAjUAUgHTAAwCLgBSAkAAGgIeAC4B3QAMAaAAUgGoAB4CzgANAcgAJQIYAFICZgAaAjoAUwHIAC4B0wAMAdMADAHiAA4CCAA7AiAAUgKpAA0A/wBSAfgANAMRADoB8AAuAfAAJQI1AFICHgAuAh4ALgHTAAwB0wAMAg4ALwN9ADsCYQAgAfEALAHxAE8B8QAkAfEAGgHxABEB8QAZAfEAMAHxACwB8QApAfEAKAHxACwB8QAsAhoANwFxADIB9QAlAfEAGgIHACIB8QAZAg0APQHrACwCDQA3Ag0ANAIaADcCGgA3AfEALAHxAE8B8QAkAfEAGgHxABEB8QAZAfEAMQHxACwB8QApAfEAHgIGADQBcQAyAfEAKQHxABoCBgAZAfEAGQIGADkB6QAsAgcAMQIGACYA+QBBAPkALwD5AEEA+QAvA7QAXgEhAFUBIQBVAakAJgGpADAA+QBQAakAUAD5ADkA+QA/AakAOQGpAD8A+QA/AakAPwEPAC0BDwA2Aa0ALQGtADYBNwApATcAKQHgACkDIAApBdwAKQiYACkB8QApAyAAKQD5AEEBMAAoAfQADAH0AAwAAP46AS8AUgEvACYBLwBeAS8AHwEvACIBLwAfAV4ACgDxAFwBXgAOAPEAXAGiADoBxgA2AcYANgHxAC0CMAApAYYAXAIlAFUDLwAmAqcAVQKnACYBsAAbAS8AXgEvAB8BLwBeAS8AHwF6AF4BegAfAS8AXgEvAB8BLwBeAS8AHwLoADEC5wAxAacAFwJ9AAMCfQAbAn0AHAKNABwDTwAzAw4AMwHxACMA9gBDAdYAAwIOAFoB9wA0AisAWgHbAFoBuwBaAiUANAJSAFoBBwBaAbYAHwICAFoBtQBaAocAWgJJAFoCTQA0AgYAWgJNADMCCwBaAdoAKgHTABwCRwBXAb8AAAKsABcBxQAPAZ///wHbAC0B1gADAdYAAwHWAAMB1gADAdYAAwHWAAMB1gADAdYAAwHWAAMB1gADAdYAAwHWAAMB1gADAdYAAwHWAAMB1gADAdYAAwHWAAMB1gADAdYAAwHWAAMB1gADAsgACALIAAgCyAAIAiEAIQIOAFoB9wA0AfcANAH3ADQB9wA0AfcANAIrAFoCKwBaAisAWgI+ACEB2wBaAdsAWgHbAFoB2wBaAdsAWgHbAFoB2wBaAdsAWgHbAFoB2wBaAdsAVwHbAFoB2wA1AdsAWgHbAFoB2wBaAdsAWgHbAFoCJQA0AiUANAIlADQCJQA0AiUANAIlADQCJQA0AiUANAIlADQCUgBaAlIAWgJSAFoCdgAgAQf//AEHAE0BB//vAQf/0gEH/+sBB//9AQcASgEH/+8BBwA/AQcATQEHACsBB//xAbYAHwICAFoCAgBaAgIAWgG1AFMBtQBaAbUAWgG1AFoBtQBaAbUAAwG1AFoBtf/6AocAWgKHAFoChwBaAkkAWgJJAFoCSQBaAkkAWgJJAFoCSQBaAkkAWgJJAFoCTQA0Ak0ANAJNADQCTQA0Ak0ANAJNADQCTQA0Ak0ANAJNADQCTQA0Ak0ANAJNADQCTQA0Ak0ANAJNADQCTQAvAt8ANAJNADQCTQA0Ak0ANAJNADQCTQA0Ak0ANAJNADQCTQA0Ak0ANAILAFoCCwBaAgsAWgILAFoCCwBaAgsAWgILAFoB2gAqAdoAKgHaACoB2gAqAdoAKgHaACoB2gAqAlIAWwHTABwB0wAcAdMAHAHTABwB0wAcAdMAHAJHAFcCRwBXAkcAVwJHAFcCRwBXAkcAVwJHAFcCRwBXAkcAVwJHAFcCRwBXAkcAVwJHAFcCRwBXAkcAVwJHAFcCRwBXAlUAVwJVAFcCVQBXAlUAVwJVAFcCVQBXAqwAFwKsABcCrAAXAqwAFwGf//8Bn///AZ///wGf//8Bn///AZ///wGf//8Bn///AdsALQHbAC0B2wAtAdsALQHbAC0CPgAhAg0AWgJGADoCOABaAg4AWgHWAAMCDgBaAcAAWgICAB4B2wBaAdsALQJSAFoCTQA0AQcAWgICAFoBvQAAAocAWgJJAFoB1wAxAk0ANAJMAFoCBgBaAdcALAHTABwBn///Ao8AMAHFAA8CcQA/AlAALAEH/+sBn///At0AAwNZAFoDVwAsAdYAAwIHAFoCDgBaAcAAWgIyABoB2wBaArkABgHmACsCSQBaAkkAWgIHAFoCLgAAAocAWgJSAFoCTQA0AkwAWgIGAFoB9wA0AdMAHAG9AAUCgAAvAcUADwJDAFoCHQBDAwQAWgMLAFoCbgAcAtAAWgIIAFoB9gAgAyEAWgIKABYB2wBaAdsAWgJVABwBwABaAfUANAHaACoBBwBaAQf/6wEHABIBtgAfAv0AAAMoAFoCYwAcAgcAWgJJAFoBvQAFAkUAWgIeABwCTQA0AcgAAAHAAFoB1gAhAucABgHmACsCNwBaAn0AHAJZAFoB9wA0AZ///wGf//8B6wAPAiMAQwIdAFoBBwBaArkABgHWAAMCyAAIAdsAWgJGADoCSQBaAk0ANAJNADQBvQAFAb0ABQIWACAB+QA3AWYAMgHFACIBywAXAeEAJAHRAB8B6AA+Aa8AIQHpADYB4wAxASEAVQEhAFUBqQAwAPkAUAGpAFAA+QA5APkAPwGMADkBjAA/ATcAKQGeACkCrwApAS8AUgEvACYBLwBeAS8AHwEvACIBLwAfAW8AIwFvAFcBbwAoAW8AIwFvACoBbwAjAW8ALQFvADIBbwAtAW8AJwDtAEEA7QAnALEAKwCxACEBbwAjAW8AVwFvACgBbwAjAW8AKgFvACMBbwAtAW8AMgFvAC0BbwAnAO0AQQDtACcAsQArALEAIQFvACMBbwBXAW8AKAFvACMBbwAqAW8AIwFvAC0BbwAyAW8ALQFvACcA7QBBAO0AJwCxACsAsQAhAW8AIwFvAFcBbwAoAW8AIwFvACoBbwAjAW8ALQFvADIBbwAtAW8AJwDtAEEA7QAnALEAKwCxACEBWQAlAXYAIQFtAB4Ba///AYgAOQF7ACABmwA5AV8AOQFKADkBmwAgAbIAOQCwADkBQQASAYMAOQFFADkB5gA5Aa8AOQG7ACABgQA5AbsAHwGFADkBZAAaAWQAEQGvADgBWv/+Ag4ADQFaAAgBQP/9AWYAGwFZACUBdgA0ATIAHgF2ACEBUAAcAMkAEwFXAB4BbgA0AKYAKgCp/+YBUQA0AK4ANAIvADQBcQA0AW0AHgF2ADQBdgAhAPAANAEbABMA6AAQAXIAMgFBAAgB5wAQATMACAE/AAgBIgAVAS4AFgD5ADIA+QAyAJf/nwE+AAgBUAAcAVAAHAFQABkBdgAhAXkAIgCmADQAsQArAOwAKQFcACkCMgApAUsAKQHxABoB8QA0AfEANQHxABcB8QAXAfEAPQHxABIB8QA9AfEANQHxAAsB8QAKAfH/8QHxAEQB8QAKAfEALwHxABcB8QA9AfEASAHxABcB8QAhAfEAIQHxAAoAVv9ZAFb/WQBW/1kDOAAjBKoAIwMNAEADKABAAxwAIwMkAEADNQApAyQAQAM1ACkDNQAj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BHoGqQRPBGMETgR2BFAEUQavBq4GsARVBJYEcgR4BHMGtARtBuEEdAR3BHUGtgdgBFQGgAZ9BnsGfgR5BH0G6wSPBjQEYQa4BGQEkQbsBnoGswX+Bf8G4ga6BH4EawbxBf0GNgRiBpYGlwaYBFYANgA3ADgAOQA6AD0ATABRAFoAWwBcAF4AeQB6AHsAfQDzAJcAnACdAJ4AnwCgBqsArQDLAMwAzQDPAOcA9AGJAPgA+QD6APsA/AD/AQ4BEwEcAR0BHgEgATsBPAE9AT8BuQFbAWEBYgFjAWQBZQasAXIBkQGSAZMBlQGtAboBrwA7AP0APAD+AEsBDQBSARQAUwEVAFUBFwBUARYAVgEYAFkBGwBfASEAYAEiAGEBIwBqASwAXQEfAG0BLwBuATAAbwExAHABMgB1ATYAeAE6AHwBPgB+AUAAhAFGAIMBRAB/AUcA9wG9AIUBSACGAUkBTACJAU0AiwFQAIoBTgCMAU8AkAFUAJQBWACYAVwAlgFaAWAA9gG7AKEBZgCrAXAAogFnAK4BcwC2AXsAuQF8ALcBfQC9AYIAvgGDAMABhQC/AYQAxgGLAMUBigDKAZAAzgGUANABlgDRAZcA0gGYANMBmQDbAaEA5AGqAOgBrgDpAO4BtADwAbYA7wG1BoEAdACvAXQA3AGiAD4BAACAAUEAowFoANQBmgDVAZsA1gGcANcBnQDYAZ4ATgEQAHEBMwC1AXoAbAEuAJUBWQBNAQ8AwQGGAMcBjAG+AcYBvwHAAcEBwgHDAcQBxQHIAckBygHLAgEBxwHWAdkGWgZiBmcGaQbcBu0G8AbuBvIG6gbvBm4GbwZcBmMGaAb0BvcG+gb8Bv4HAAcBBwUHBwcJBwsHDQcPBxQHFQcXByIHIwckByUHJwcpBysHLANqA2wCVwNmAlgCWQJaAl0CXwKFAlsCXgJ8An0CfgJ/AoYCeAJxAnICcwJ0AnUCdgJ3AoACgwKBAoIChAO4BAQDuQQFA7oEBgO7BAcDvAQIA70ECQO+BAoDvwQLA8AEDAPBBA0DwgQOA8MEDwPEBBADxQQRA8YEEgPHBBMDyAPJBBQEFQPKBBYDywQXA8wEGAPNBBkDzgQaA88EGwPQBBwD0QQdA9IEHgZSBlQGVQZbBl0GYAZkBmUAUAESAFcBGQBYARoAawEtAHIBNAB2ATcAdwE5AIcBSgCIAUsAjQFRAI4BUgCPAVMAkQFVAJIBVgCTAVcAmQFdAJoBXgCbAV8ArAFxALgBfgC6AX8AuwGAALwBgQDCAYcAwwGIAMgBjQDJAY4A4gGoAOMBqQDlAasA6gGwAPEBtwDyAbgBOAGPAD8BAQBAAQIAQQEDAEIBBABDAQUARAEGAEUBBwBGAQgARwEJAEgBCgBJAQsASgEMAGIBJABjASUAZAEmAGUBJwBmASgAZwEpAGgBKgBpASsAgQFCAIIBQwCkAWkApQFqAKYBawCnAWwAqAFtAKkBbgCqAW8AsAF1ALEBdgCyAXcAswF4ALQBeQDZAZ8A2gGgAN0BowDeAaQA3wGlAOABpgDhAacA5gGsAOsBsQDsAbIA7QGzAucC6ALrAuwC7QLuAu8C8AKHAogCiwKMAo0CjgKPApAC9AL1AvgC+QL6AvsCkwKUApcCmAKZApoC/AL9AwADAQMCAwMDBAMFApsCnAKfAqACoQKiAqMCpAMHAwgDCwMMAw0DDgMPAxACpQKmAqkCqgKrAqwCrQKuAxcDGAMbAxwDHQMeArECsgK1ArYCtwK4Ar8DMQMyAzUDNgM3AzgDOQM6AsICwwLGAscCyALJAsoCywLpAuoC9gL3Av4C/wMJAwoDGQMaAyMDJAMzAzQDPQM+A0EDQgNDA0QDRQNGAs0CzgLPAtAC0QLSAtMC1ANJA0oDTQNOA08DUANRA1IC1gLXAtgC2QLaAtsC3ALdA1UDVgNZA1oDWwNcA10DXgLfAuAC4QLiAuMC5ALlAuYC8QLyAz8DPANAAvMDRwKRApICiQKKAswDbwNuA3ADegN9A0sDSANMAwYDUwKVApYCnQKeAtUDdAN2A3gDEQMSAxQDFQMTAxYCrwKwAqcCqAN1A3cDeQMsAy0DLgMvAx8DIAMrAzACwALBArsCvAK5A3sDfANyA1cDVANYAzsDXwKzArQCxALFAt4DcwNxBGkEZQRmBGoEfwRZBFoEXQRbBFwEXgR7BHwEbAdkBpUEgASEBG4EbwSBBIMEggX8BlkGBgYHBl4GhwZ/Bo8GjAaNBCAEkAahBqYGpwaZBpoGmwacBp0GngafBqAGogajBqQGpQbABqoGrQa9BsoG2AICB2YHZwIDAgQADAAAAAAlJAAAAAAAAAMXAAAAIAAAACAAAAABAAAAIQAAACEAAARTAAAAIgAAACIAAARY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AAABNgAAATYAAACGAAABNwAAATcAAAFJAAABOAAAATgAAAFMAAABOQAAATkAAACJAAABOgAAAToAAAFNAAABOwAAATsAAACLAAABPAAAATwAAAFQAAABPQAAAT0AAACKAAABPgAAAT4AAAFOAAABPwAAAT8AAACMAAABQAAAAUAAAAFPAAABQQAAAUEAAACQAAABQgAAAUIAAAFUAAABQwAAAUMAAACUAAABRAAAAUQAAAFYAAABRQAAAUUAAACYAAABRgAAAUYAAAFcAAABRwAAAUcAAACWAAABSAAAAUgAAAFaAAABSQAAAUkAAAFgAAABSgAAAUoAAAD2AAABSwAAAUsAAAG7AAABTAAAAUwAAAChAAABTQAAAU0AAAFmAAABTgAAAU4AAACrAAABTwAAAU8AAAFwAAABUAAAAVAAAACiAAABUQAAAVEAAAFnAAABUgAAAVIAAACuAAABUwAAAVMAAAFzAAABVAAAAVQAAAC2AAABVQAAAVUAAAF7AAABVgAAAVYAAAC5AAABVwAAAVcAAAF8AAABWAAAAVgAAAC3AAABWQAAAVkAAAF9AAABWgAAAVoAAAC9AAABWwAAAVsAAAGCAAABXAAAAVwAAAC+AAABXQAAAV0AAAGDAAABXgAAAV4AAADAAAABXwAAAV8AAAGFAAABYAAAAWAAAAC/AAABYQAAAWEAAAGEAAABYgAAAWIAAADGAAABYwAAAWMAAAGLAAABZAAAAWQAAADFAAABZQAAAWUAAAGKAAABZgAAAWYAAADKAAABZwAAAWcAAAGQAAABaAAAAWgAAADOAAABaQAAAWkAAAGUAAABagAAAWoAAADQAAABawAAAWsAAAGWAAABbAAAAWwAAADRAAABbQAAAW0AAAGXAAABbgAAAW4AAADSAAABbwAAAW8AAAGYAAABcAAAAXAAAADTAAABcQAAAXEAAAGZAAABcgAAAXIAAADbAAABcwAAAXMAAAGhAAABdAAAAXQAAADkAAABdQAAAXUAAAGqAAABdgAAAXYAAADoAAABdwAAAXcAAAGuAAABeAAAAXgAAADpAAABeQAAAXkAAADuAAABegAAAXoAAAG0AAABewAAAXsAAADwAAABfAAAAXwAAAG2AAABfQAAAX0AAADvAAABfgAAAX4AAAG1AAABgAAAAYAAAAERAAABjwAAAY8AAAD1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uABgUliwARuwAFmwAY4AAAAUAEMATgBUAF8AAAAM/zMADAHmAAwCBgAMAj4ADAJ+AAwCkAAMAsgADAAAAAAADQCiAAMAAQQJAAAA4AAAAAMAAQQJAAEAHgDgAAMAAQQJAAIADgD+AAMAAQQJAAMAQAEMAAMAAQQJAAQALgFMAAMAAQQJAAUAdAF6AAMAAQQJAAYAKgHuAAMAAQQJAAcAwAIYAAMAAQQJAAgANALYAAMAAQQJAAkAGAMMAAMAAQQJAAsAMgMkAAMAAQQJAA0DIANWAAMAAQQJAA4ANAZ2AEMAbwBwAHkAcgBpAGcAaAB0ACAAMgAwADEAMAAsACAAMgAwADEAMgAsACAAMgAwADEANAAgAEEAZABvAGIAZQAgAFMAeQBzAHQAZQBtAHMAIABJAG4AYwBvAHIAcABvAHIAYQB0AGUAZAAgACgAaAB0AHQAcAA6AC8ALwB3AHcAdwAuAGEAZABvAGIAZQAuAGMAbwBtAC8AKQAsACAAdwBpAHQAaAAgAFIAZQBzAGUAcgB2AGUAZAAgAEYAbwBuAHQAIABOAGEAbQBlACAgGABTAG8AdQByAGMAZSAZAC4AUwBvAHUAcgBjAGUAIABTAGEAbgBzACAAUAByAG8AUgBlAGcAdQBsAGEAcgAyAC4AMAAyADEAOwBBAEQAQgBPADsAUwBvAHUAcgBjAGUAUwBhAG4AcwBQAHIAbwAtAFIAZQBnAHUAbABhAHIAUwBvAHUAcgBjAGUAIABTAGEAbgBzACAAUAByAG8AIABSAGUAZwB1AGwAYQByAFYAZQByAHMAaQBvAG4AIAAyAC4AMAAyADEAOwBQAFMAIAAyAC4AMAAwADAAOwBoAG8AdABjAG8AbgB2ACAAMQAuADAALgA4ADYAOwBtAGEAawBlAG8AdABmAC4AbABpAGIAMgAuADUALgA2ADMANAAwADYAUwBvAHUAcgBjAGUAUwBhAG4AcwBQAHIAbwAtAFIAZQBnAHUAbABhAHIAUwBvAHUAcgBjAGUAIABpAHMAIABhACAAdAByAGEAZABlAG0AYQByAGsAIABvAGYAIABBAGQAbwBiAGUAIABTAHkAcwB0AGUAbQBzACAASQBuAGMAbwByAHAAbwByAGEAdABlAGQAIABpAG4AIAB0AGgAZQAgAFUAbgBpAHQAZQBkACAAUwB0AGEAdABlAHMAIABhAG4AZAAvAG8AcgAgAG8AdABoAGUAcgAgAGMAbwB1AG4AdAByAGkAZQBzAC4AQQBkAG8AYgBlACAAUwB5AHMAdABlAG0AcwAgAEkAbgBjAG8AcgBwAG8AcgBhAHQAZQBkAFAAYQB1AGwAIABEAC4AIABIAHUAbgB0AGgAdAB0AHAAOgAvAC8AdwB3AHcALgBhAGQAbwBiAGUALgBjAG8AbQAvAHQAeQBwAGUAVABoAGkAcwAgAEYAbwBuAHQAIABTAG8AZgB0AHcAYQByAGUAIABpAHMAIABsAGkAYwBlAG4AcwBlAGQAIAB1AG4AZABlAHIAIAB0AGgAZQAgAFMASQBMACAATwBwAGUAbgAgAEYAbwBuAHQAIABMAGkAYwBlAG4AcwBlACwAIABWAGUAcgBzAGkAbwBuACAAMQAuADEALgAgAFQAaABpAHMAIABsAGkAYwBlAG4AcwBlACAAaQBzACAAYQB2AGEAaQBsAGEAYgBsAGUAIAB3AGkAdABoACAAYQAgAEYAQQBRACAAYQB0ADoAIABoAHQAdABwADoALwAvAHMAYwByAGkAcAB0AHMALgBzAGkAbAAuAG8AcgBnAC8ATwBGAEwALgAgAFQAaABpAHMAIABGAG8AbgB0ACAAUwBvAGYAdAB3AGEAcgBlACAAaQBzACAAZABpAHMAdAByAGkAYgB1AHQAZQBkACAAbwBuACAAYQBuACAgGABBAFMAIABJAFMgGQAgAEIAQQBTAEkAUwAsACAAVwBJAFQASABPAFUAVAAgAFcAQQBSAFIAQQBOAFQASQBFAFMAIABPAFIAIABDAE8ATgBEAEkAVABJAE8ATgBTACAATwBGACAAQQBOAFkAIABLAEkATgBEACwAIABlAGkAdABoAGUAcgAgAGUAeABwAHIAZQBzAHMAIABvAHIAIABpAG0AcABsAGkAZQBkAC4AIABTAGUAZQAgAHQAaABlACAAUwBJAEwAIABPAHAAZQBuACAARgBvAG4AdAAgAEwAaQBjAGUAbgBzAGUAIABmAG8AcgAgAHQAaABlACAAcwBwAGUAYwBpAGYAaQBjACAAbABhAG4AZwB1AGEAZwBlACwAIABwAGUAcgBtAGkAcwBzAGkAbwBuAHMAIABhAG4AZAAgAGwAaQBtAGkAdABhAHQAaQBvAG4AcwAgAGcAbwB2AGUAcgBuAGkAbgBnACAAeQBvAHUAcgAgAHUAcwBlACAAbwBmACAAdABoAGkAcwAgAEYAbwBuAHQAIABTAG8AZgB0AHcAYQByAGUALgBoAHQAdABwADoALwAvAHMAYwByAGkAcAB0AHMALgBzAGkAbAAuAG8AcgBnAC8ATwBGAEwAAgAAAAAAAP+1ADIAAAAAAAAAAAAAAAAAAAAAAAAAAAdoAAAAAwAkACUAJgAnACgAKQAqACsALAAtAC4ALwAwADEAMgAzADQANQA2ADcAOAA5ADoAOwA8AD0ARABFAEYARwBIAEkASgBLAEwATQBOAE8AUABRAFIAUwBUAFUAVgBXAFgAWQBaAFsAXABdAK0AyQDHAK4AYgECAQMAYwEEAQUBBgEHAQgBCQEKAQsBDAENAQ4BDwEQAREAkAESARMBFAEVAGQA/QEWAP8BFwEYARkBGgEbAMsAZQDIARwAygEdAR4BHwEgASEBIgEjASQBJQEmAScBKAEpASoBKwD4ASwBLQEuAS8BMAExATIBMwE0ATUAzwDMAM0BNgDOATcA+gE4ATkBOgE7ATwBPQE+AT8BQAFBAUIBQwFEAUUBRgFHAOIBSAFJAUoBSwFMAU0AZgFOAU8BUAFRANMA0ADRAK8AZwFSAVMBVAFVAVYBVwFYAVkBWgFbAVwBXQCRALABXgFfAWABYQFiAWMBZAFlAWYBZwFoAWkBagFrAWwBbQDkAW4BbwFwAXEBcgFzAXQBdQF2AXcBeADWANQA1QF5AGgBegF7AXwBfQF+AX8BgAGBAYIBgwGEAYUBhgGHAYgBiQGKAYsBjAGNAY4BjwGQAOsBkQC7AZIBkwGUAZUBlgDmAZcBmAGZAOkA7QGaAZsBnABqAGkAawBtAGwBnQGeAG4BnwGgAaEBogGjAaQBpQGmAacBqAGpAaoBqwGsAKABrQGuAa8BsABvAP4BsQEAAbIBswG0AbUBAQBxAHAAcgG2AHMBtwG4AbkBugG7AbwBvQG+Ab8BwAHBAcIBwwHEAcUA+QHGAccByAHJAcoBywHMAc0BzgHPAHUAdAB2AdAAdwHRAdIB0wHUAdUB1gHXANcB2AHZAdoB2wHcAd0B3gHfAeAB4QHiAeMA4wHkAeUB5gHnAegB6QB4AeoB6wHsAe0B7gB6AHkAewB9AHwB7wHwAfEB8gHzAfQB9QH2AfcB+AH5AfoAoQCxAfsB/AH9Af4B/wIAAgECAgIDAgQCBQIGAgcCCAIJAgoA5QILAgwCDQIOAIkCDwIQAhECEgITAhQCFQB/AH4AgAIWAIECFwIYAhkCGgIbAhwCHQIeAh8CIAIhAiICIwIkAiUCJgInAigCKQIqAisCLAItAOwCLgC6Ai8CMAIxAjICMwDnAjQCNQI2AOoA7gI3AjgCOQI6AjsCPAI9Aj4CPwJAAkECQgJDAkQCRQJGAkcCSAJJAkoCSwJMAk0CTgJPAlACUQJSAlMCVAJVAlYCVwJYAlkCWgJbAlwCXQJeAl8CYAJhAmICYwJkAmUCZgJnAmgCaQJqAmsCbAJtAm4CbwJwAnECcgJzAnQCdQJ2AncCeAJ5AnoCewJ8An0CfgJ/AoACgQKCAoMChAKFAoYChwKIAokCigKLAowCjQKOAo8CkAKRApICkwKUApUClgKXApgCmQKaApsCnAKdAp4CnwKgAqECogKjAqQCpQKmAqcCqAKpAqoCqwKsAq0CrgKvArACsQKyArMCtAK1ArYCtwK4ArkCugK7ArwCvQK+Ar8CwALBAsICwwLEAsUCxgLHAsgCyQLKAssCzALNAs4CzwLQAtEC0gLTAtQC1QLWAtcC2ALZAtoC2wLcAt0C3gLfAuAC4QLiAuMC5ALlAuYC5wLoAukC6gCbAusC7ALtAu4C7wLwAvEC8gLzAvQC9QL2AvcC+AL5AvoC+wL8Av0C/gL/AwADAQMCAwMDBAMFAwYDBwMIAwkDCgMLAwwDDQMOAw8DEAMRAxIDEwMUAxUDFgMXAxgDGQMaAxsDHAMdAx4DHwMgAyEDIgMjAyQDJQMmAycDKAMpAyoDKwMsAy0DLgMvAzADMQMyAzMDNAM1AzYDNwM4AzkDOgM7AzwDPQM+Az8DQANBA0IDQwNEA0UDRgNHA0gDSQNKA0sDTANNA04DTwNQA1EDUgNTA1QDVQNWA1cDWANZA1oDWwNcA10DXgNfA2ADYQNiA2MDZANlA2YDZwNoA2kDagNrA2wDbQNuA28DcANxA3IDcwN0A3UDdgN3A3gDeQN6A3sDfAN9A34DfwOAA4EDggODA4QDhQOGA4cDiAOJA4oDiwOMA40DjgOPA5ADkQOSA5MDlAOVA5YDlwOYA5kDmgObA5wDnQOeA58DoAOhA6IDowOkA6UDpgOnA6gDqQOqA6sDrAOtA64DrwOwA7EDsgOzA7QDtQO2A7cDuAO5A7oDuwO8A70DvgO/A8ADwQPCA8MDxAPFA8YDxwPIA8kDygPLA8wDzQPOA88D0APRA9ID0wPUA9UD1gPXA9gD2QPaA9sD3APdA94D3wPgA+ED4gPjA+QD5QPmA+cD6APpA+oD6wPsA+0D7gPvA/AD8QPyA/MD9AP1A/YD9wP4A/kD+gP7A/wD/QP+A/8EAAQBBAIEAwQEBAUEBgQHBAgECQQKBAsEDAQNBA4EDwQQBBEEEgQTBBQEFQQWBBcEGAQZBBoEGwQcBB0EHgQfBCAEIQQiBCMEJAQlBCYEJwQoBCkEKgQrBCwELQQuBC8EMAQxBDIEMwQ0BDUENgQ3BDgEOQQ6BDsEPAQ9BD4EPwRABEEEQgRDBEQERQRGBEcESARJBEoESwRMBE0ETgRPBFAEUQRSBFMEVARVBFYEVwRYBFkEWgRbBFwEXQReBF8EYARhBGIEYwRkBGUEZgRnBGgEaQRqBGsEbARtBG4EbwRwBHEEcgRzBHQEdQR2BHcEeAR5BHoEewR8BH0EfgR/BIAEgQSCBIMEhASFBIYEhwSIBIkEigSLBIwEjQSOBI8EkASRBJIEkwSUBJUElgSXBJgEmQSaBJsACQATABQAFQAWABcAGAAZABoAGwAcBJwEnQSeBJ8EoAShBKIEowSkBKUEpgSnBKgEqQSqBKsErAStBK4ErwSwBLEEsgSzBLQEtQS2BLcEuAS5BLoEuwS8BL0AEQAPAB0AHgCrAAQAowAiAKIACgAFALYAtwC0ALUAxADFAL4AvwCpAKoAEAS+ALIAswS/BMAEwQTCAMMAhwBCBMMExAALAAwAPgBAAF4AYAASAF8APwDoAA0AggDCAIYAiATFBMYExwTIBMkEygTLBMwEzQTOBM8E0ATRBNIE0wTUAIsE1QCKAIwE1gTXBNgAIwTZAAYE2gTbBNwE3QTeBN8E4AThBOIE4wTkBOUE5gTnBOgE6QTqBOsE7ATtBO4E7wTwBPEE8gTzBPQE9QT2BPcE+AT5BPoE+wT8BP0E/gT/BQAFAQUCBQMFBAUFBQYFBwUIBQkFCgULBQwFDQUOBQ8FEAURBRIFEwUUBRUFFgUXBRgFGQUaBRsFHAUdBR4FHwUgBSEFIgUjBSQFJQUmBScFKAUpBSoFKwUsBS0FLgUvBTAFMQUyBTMFNAU1BTYFNwU4BTkFOgU7BTwFPQU+BT8FQAVBBUIFQwVEBUUFRgVHBUgFSQVKBUsFTAVNBU4FTwVQBVEFUgVTBVQFVQVWBVcFWAVZBVoFWwVcBV0FXgVfBWAFYQViBWMFZAVlBWYFZwVoBWkFagVrBWwFbQVuBW8FcAVxBXIFcwV0BXUFdgV3BXgFeQV6BXsFfAV9BX4FfwWABYEFggWDBYQFhQWGBYcFiAWJBYoFiwWMBY0FjgWPBZAFkQWSBZMFlAWVBZYFlwWYBZkFmgWbBZwFnQWeBZ8FoAWhBaIFowWkBaUFpgWnBagFqQWqBasFrAWtBa4FrwWwBbEFsgWzBbQFtQW2BbcFuAW5BboFuwW8Bb0FvgW/BcAFwQXCBcMFxAXFBcYFxwXIBckFygXLBcwFzQXOBc8F0AXRBdIF0wXUBdUF1gXXBdgF2QXaBdsF3AXdBd4F3wXgBeEF4gXjBeQF5QXmBecF6AXpBeoF6wXsBe0F7gXvBfAF8QXyBfMF9AX1BfYF9wX4BfkF+gX7BfwF/QX+Bf8GAAYBBgIGAwYEBgUGBgYHBggGCQYKBgsGDAYNBg4GDwYQBhEGEgYTBhQGFQYWBhcGGAYZBhoGGwYcBh0GHgYfBiAGIQYiBiMGJAYlBiYGJwYoBikGKgYrBiwGLQYuBi8GMAYxBjIGMwY0BjUGNgY3BjgGOQY6BjsGPAY9Bj4GPwZABkEGQgZDBkQGRQZGBkcGSAZJBkoGSwZMBk0GTgZPBlAGUQZSBlMGVAZVBlYGVwZYBlkGWgZbBlwGXQZeBl8GYAZhBmIGYwZkBmUGZgZnBmgGaQZqBmsGbAZtBm4GbwZwBnEGcgZzBnQAnQZ1AJ4GdgZ3BngGeQZ6BnsGfAZ9Bn4GfwaABoEGggaDBoQGhQaGBocGiAaJBooGiwaMBo0GjgaPBpAGkQaSBpMGlAaVBpYGlwaYBpkGmgabBpwGnQaeBp8GoAahBqIGowakBqUGpganBqgGqQaqBqsGrAatBq4GrwawBrEGsgazBrQGtQa2BrcGuACDAL0ABwCFAJYGuQCEBroGuwa8Br0Gvga/BsAGwQbCBsMGxAbFBsYGxwbIBskAvAbKBssACADGAPUA9AD2BswGzQbOBs8G0AbRBtIG0wbUBtUG1gbXBtgG2QbaBtsADgDvAPAAuAbcACAAHwAhAJQAlQCTAEEAjwBhAKcApACSBt0AmACcAKUG3gbfAJkAmgbgBuEG4gbjBuQG5QbmBucG6AbpBuoG6wbsBu0G7gbvBvAG8QbyBvMG9Ab1ALkG9gb3BvgG+Qb6BvsG/Ab9AEMAjQDYAOEG/gb/BwAHAQcCANkAjgDaANsA3QDfANwA3gDgBwMHBAcFBwYHBwcIBwkHCgcLBwwHDQcOBw8HEAcRBxIHEwcUBxUHFgcXBxgHGQcaBxsHHAcdBx4HHwcgByEHIgcjByQHJQcmBycHKAcpByoHKwcsBy0HLgcvBzAHMQcyBzMHNAc1BzYHNwc4BzkHOgc7BzwHPQc+Bz8HQAdBB0IHQwdEB0UHRgdHB0gHSQdKB0sHTAdNB04HTwdQB1EHUgdTB1QHVQdWB1cHWAdZB1oHWwdcB10HXgdfB2AHYQdiB2MHZAdlB2YHZwdoB2kHagdrB2wHbQduB28HcAdxB3IHcwd0B3UAwADBB0FtYWNyb24GQWJyZXZlB3VuaTAxQ0QHdW5pMUVBMAd1bmkxRUEyB3VuaTFFQTQHdW5pMUVBNgd1bmkxRUE4B3VuaTFFQUEHdW5pMUVBQwd1bmkxRUFFB3VuaTFFQjAHdW5pMUVCMgd1bmkxRUI0B3VuaTFFQjYHQW9nb25lawd1bmkwMUZDB3VuaTAxRTIHdW5pMDI0Mwd1bmkxRTA2C0NjaXJjdW1mbGV4CkNkb3RhY2NlbnQGRGNhcm9uB3VuaTFFMEMHdW5pMUUwRQZEY3JvYXQGRWNhcm9uB0VtYWNyb24GRWJyZXZlCkVkb3RhY2NlbnQHdW5pMUVCOAd1bmkxRUJBB3VuaTFFQkMHdW5pMUVCRQd1bmkxRUMwB3VuaTFFQzIHdW5pMUVDNAd1bmkxRUM2B0VvZ29uZWsHdW5pMUUxNgd1bmkwMUY0C0djaXJjdW1mbGV4Ckdkb3RhY2NlbnQHdW5pMDEyMgZHY2Fyb24HdW5pMUUyMAt1bmkwMDQ3MDMwMwd1bmkwMTkzC0hjaXJjdW1mbGV4B3VuaTFFMjQHdW5pMUUyQQRIYmFyBkl0aWxkZQdJbWFjcm9uB3VuaTAxQ0YHdW5pMUVDOAd1bmkxRUNBB0lvZ29uZWsHdW5pMDEyQwtKY2lyY3VtZmxleAd1bmkwMTM2B3VuaTFFMzIHdW5pMUUzNAZMYWN1dGUGTGNhcm9uB3VuaTAxM0IETGRvdAd1bmkxRTM2B3VuaTFFMzgHdW5pMUUzQQd1bmkxRTNFB3VuaTFFNDAHdW5pMUU0MgZOYWN1dGUHdW5pMDFGOAZOY2Fyb24HdW5pMDE0NQd1bmkxRTQ0B3VuaTFFNDYHdW5pMUU0OAdPbWFjcm9uDU9odW5nYXJ1bWxhdXQHdW5pMDFEMQd1bmkxRUNDB3VuaTFFQ0UHdW5pMUVEMAd1bmkxRUQyB3VuaTFFRDQHdW5pMUVENgd1bmkxRUQ4B3VuaTAxNEUHdW5pMUU1MgVPaG9ybgd1bmkxRURBB3VuaTFFREMHdW5pMUVERQd1bmkxRUUwB3VuaTFFRTIHdW5pMDFFQQZSYWN1dGUGUmNhcm9uB3VuaTFFNTgHdW5pMDE1Ngd1bmkxRTVBB3VuaTFFNUMHdW5pMUU1RQZTYWN1dGULU2NpcmN1bWZsZXgHdW5pMDE1RQd1bmkwMjE4B3VuaTFFNjAHdW5pMUU2Mgd1bmkxRTlFBlRjYXJvbgd1bmkwMTYyB3VuaTAyMUEHdW5pMUU2Qwd1bmkxRTZFB3VuaTAxNjYGVXRpbGRlB1VtYWNyb24GVWJyZXZlBVVyaW5nDVVodW5nYXJ1bWxhdXQHdW5pMDFEMwd1bmkwMUQ1B3VuaTAxRDcHdW5pMDFEOQd1bmkwMURCB3VuaTFFRTQHdW5pMUVFNgdVb2dvbmVrBVVob3JuB3VuaTFFRTgHdW5pMUVFQQd1bmkxRUVDB3VuaTFFRUUHdW5pMUVGMAZXZ3JhdmUGV2FjdXRlC1djaXJjdW1mbGV4CVdkaWVyZXNpcwZZZ3JhdmULWWNpcmN1bWZsZXgHdW5pMUU4RQd1bmkxRUY0B3VuaTFFRjYHdW5pMUVGOAZaYWN1dGUKWmRvdGFjY2VudAd1bmkxRTkyB3VuaTFFOTQHdW5pMDE4Rgd1bmkwMTRBB3VuaTAxMzIHYW1hY3JvbgZhYnJldmUHdW5pMDFDRQd1bmkxRUExB3VuaTFFQTMHdW5pMUVBNQd1bmkxRUE3B3VuaTFFQTkHdW5pMUVBQgd1bmkxRUFEB3VuaTFFQUYHdW5pMUVCMQd1bmkxRUIzB3VuaTFFQjUHdW5pMUVCNwdhb2dvbmVrB3VuaTAxRkQHdW5pMDFFMwd1bmkwMTgwB3VuaTFFMDcLY2NpcmN1bWZsZXgKY2RvdGFjY2VudAZkY2Fyb24HdW5pMUUwRAd1bmkxRTBGBmVjYXJvbgdlbWFjcm9uBmVicmV2ZQplZG90YWNjZW50B3VuaTFFQjkHdW5pMUVCQgd1bmkxRUJEB3VuaTFFQkYHdW5pMUVDMQd1bmkxRUMzB3VuaTFFQzUHdW5pMUVDNwdlb2dvbmVrB3VuaTFFMTcHdW5pMDFGNQtnY2lyY3VtZmxleApnZG90YWNjZW50B3VuaTAxMjMGZ2Nhcm9uB3VuaTFFMjELdW5pMDA2NzAzMDMLaGNpcmN1bWZsZXgHdW5pMUUyNQd1bmkxRTk2B3VuaTFFMkIEaGJhcgZpdGlsZGUHaW1hY3Jvbgd1bmkwMUQwB3VuaTFFQzkHdW5pMUVDQgdpb2dvbmVrCWlvZ29uZWsuZAd1bmkwMTJEC2pjaXJjdW1mbGV4B3VuaTAxMzcHdW5pMUUzMwd1bmkxRTM1DGtncmVlbmxhbmRpYwZsYWN1dGUGbGNhcm9uBGxkb3QHdW5pMDEzQwd1bmkxRTM3B3VuaTFFMzkHdW5pMUUzQgd1bmkxRTNGB3VuaTFFNDEHdW5pMUU0MwZuYWN1dGUHdW5pMDFGOQZuY2Fyb24HdW5pMDE0Ngd1bmkxRTQ1B3VuaTFFNDcHdW5pMUU0OQtuYXBvc3Ryb3BoZQdvbWFjcm9uDW9odW5nYXJ1bWxhdXQHdW5pMDFEMgd1bmkxRUNEB3VuaTFFQ0YHdW5pMUVEMQd1bmkxRUQzB3VuaTFFRDUHdW5pMUVENwd1bmkxRUQ5B3VuaTAxNEYHdW5pMUU1MwVvaG9ybgd1bmkxRURCB3VuaTFFREQHdW5pMUVERgd1bmkxRUUxB3VuaTFFRTMHdW5pMDFFQgZyYWN1dGUHdW5pMDE1NwZyY2Fyb24HdW5pMUU1OQd1bmkxRTVCB3VuaTFFNUQHdW5pMUU1RgZzYWN1dGULc2NpcmN1bWZsZXgHdW5pMDE1Rgd1bmkwMjE5B3VuaTFFNjEHdW5pMUU2MwZ0Y2Fyb24HdW5pMDE2Mwd1bmkwMjFCB3VuaTFFNkQHdW5pMUU2Rgd1bmkxRTk3B3VuaTAxNjcGdXRpbGRlB3VtYWNyb24GdWJyZXZlBXVyaW5nDXVodW5nYXJ1bWxhdXQHdW5pMDFENAd1bmkwMUQ2B3VuaTAxRDgHdW5pMDFEQQd1bmkwMURDB3VuaTFFRTUHdW5pMUVFNwd1b2dvbmVrBXVob3JuB3VuaTFFRTkHdW5pMUVFQgd1bmkxRUVEB3VuaTFFRUYHdW5pMUVGMQZ3Z3JhdmUGd2FjdXRlC3djaXJjdW1mbGV4CXdkaWVyZXNpcwZ5Z3JhdmULeWNpcmN1bWZsZXgHdW5pMUU4Rgd1bmkxRUY1B3VuaTFFRjcHdW5pMUVGOQZ6YWN1dGUKemRvdGFjY2VudAd1bmkxRTkzB3VuaTFFOTUHdW5pMDE0Qgd1bmkwMjM3B3VuaTAxMzMHdW5pMDI1MAd1bmkwMjUyB3VuaTAyNTMHdW5pMDI1NAd1bmkwMjU1B3VuaTAyNTYHdW5pMDI1Nwd1bmkwMjU4B3VuaTAyNTEHdW5pMDI5OQd1bmkwMjU5B3VuaTAyNUEHdW5pMDI1Qgd1bmkwMjVDB3VuaTAyNUUHdW5pMDI1Rgd1bmkwMjYwB3VuaTAyNjEHdW5pMDI2Mgd1bmkwMjYzB3VuaTAyNjQHdW5pMDI2NQd1bmkwMjY2B3VuaTAyNjcHdW5pMDI5Qwd1bmkwMjY4B3VuaTAyNkEHdW5pMDI5RAd1bmkwMjZDB3VuaTAyNkQHdW5pMDI2RQd1bmkwMjlGB3VuaTAyNkYHdW5pMDI3MAd1bmkwMjcxB3VuaTAyNzIHdW5pMDI3Mwd1bmkwMjc0B3VuaTAyNzUHdW5pMDI3Ngd1bmkwMjc4B3VuaTAyNzkHdW5pMDI3QQd1bmkwMjdCB3VuaTAyN0QHdW5pMDI3RQd1bmkwMjgwB3VuaTAyODEHdW5pMDI4Mgd1bmkwMjgzB3VuaTAyODQHdW5pMDI4OAd1bmkwMjg5B3VuaTAyOEEHdW5pMDI4Qgd1bmkwMjhDB3VuaTAyOEQHdW5pMDI4RQd1bmkwMjhGB3VuaTAyOTAHdW5pMDI5MQd1bmkwMjkyB3VuaTAyOTQHdW5pMDI5NQd1bmkwMkExB3VuaTAyQTIHdW5pMDFDMgd1bmkwMjk4A2ZfZgVmX2ZfaQVmX2ZfbANmX3QFZl9mX3QDSS5hCElncmF2ZS5hCElhY3V0ZS5hDUljaXJjdW1mbGV4LmEISXRpbGRlLmELSWRpZXJlc2lzLmEJSW1hY3Jvbi5hDElkb3RhY2NlbnQuYQl1bmkwMUNGLmEJdW5pMUVDOC5hCXVuaTFFQ0EuYQlJb2dvbmVrLmEJdW5pMDEyQy5hCXVuaTAxNEEuYQNhLmEIYWdyYXZlLmEIYWFjdXRlLmENYWNpcmN1bWZsZXguYQhhdGlsZGUuYQthZGllcmVzaXMuYQlhbWFjcm9uLmEIYWJyZXZlLmEHYXJpbmcuYQl1bmkwMUNFLmEJdW5pMUVBMS5hCXVuaTFFQTMuYQl1bmkxRUE1LmEJdW5pMUVBNy5hCXVuaTFFQTkuYQl1bmkxRUFCLmEJdW5pMUVBRC5hCXVuaTFFQUYuYQl1bmkxRUIxLmEJdW5pMUVCMy5hCXVuaTFFQjUuYQl1bmkxRUI3LmEJYW9nb25lay5hA2cuYQl1bmkwMUY1LmENZ2NpcmN1bWZsZXguYQhnYnJldmUuYQxnZG90YWNjZW50LmEJdW5pMDEyMy5hCGdjYXJvbi5hCXVuaTFFMjEuYQ11bmkwMDY3MDMwMy5hA2wuYQhsYWN1dGUuYQhsY2Fyb24uYQZsZG90LmEJdW5pMDEzQy5hCXVuaTFFMzcuYQl1bmkxRTM5LmEJdW5pMUUzQi5hCGxzbGFzaC5hBGZsLmEFQWxwaGEEQmV0YQVHYW1tYQd1bmkwMzk0B0Vwc2lsb24EWmV0YQNFdGEFVGhldGEESW90YQVLYXBwYQZMYW1iZGECTXUCTnUCWGkHT21pY3JvbgJQaQNSaG8FU2lnbWEDVGF1B1Vwc2lsb24DUGhpA0NoaQNQc2kHdW5pMDNBOQpBbHBoYXRvbm9zDEVwc2lsb250b25vcwhFdGF0b25vcwlJb3RhdG9ub3MMSW90YWRpZXJlc2lzDE9taWNyb250b25vcwxVcHNpbG9udG9ub3MPVXBzaWxvbmRpZXJlc2lzCk9tZWdhdG9ub3MFYWxwaGEEYmV0YQVnYW1tYQVkZWx0YQdlcHNpbG9uBHpldGEDZXRhBXRoZXRhBGlvdGEFa2FwcGEGbGFtYmRhB3VuaTAzQkMCbnUCeGkHb21pY3JvbgNyaG8Fc2lnbWEDdGF1B3Vwc2lsb24DcGhpA2NoaQNwc2kFb21lZ2EHdW5pMDNDMgd1bmkwM0QwB3VuaTAzRDEHdW5pMDNENQphbHBoYXRvbm9zDGVwc2lsb250b25vcwhldGF0b25vcwlpb3RhdG9ub3MMaW90YWRpZXJlc2lzDG9taWNyb250b25vcwx1cHNpbG9udG9ub3MPdXBzaWxvbmRpZXJlc2lzCm9tZWdhdG9ub3MRaW90YWRpZXJlc2lzdG9ub3MUdXBzaWxvbmRpZXJlc2lzdG9ub3MHdW5pMUYwOAd1bmkxRjA5B3VuaTFGQkEHdW5pMUZCQgd1bmkxRjBBB3VuaTFGMEIHdW5pMUYwQwd1bmkxRjBEB3VuaTFGMEUHdW5pMUYwRgd1bmkxRkI4B3VuaTFGQjkHdW5pMUYxOAd1bmkxRjE5B3VuaTFGQzgHdW5pMUZDOQd1bmkxRjFBB3VuaTFGMUIHdW5pMUYxQwd1bmkxRjFEB3VuaTFGMjgHdW5pMUYyOQd1bmkxRkNBB3VuaTFGQ0IHdW5pMUYyQQd1bmkxRjJCB3VuaTFGMkMHdW5pMUYyRAd1bmkxRjJFB3VuaTFGMkYHdW5pMUYzOAd1bmkxRjM5B3VuaTFGREEHdW5pMUZEQgd1bmkxRjNBB3VuaTFGM0IHdW5pMUYzQwd1bmkxRjNEB3VuaTFGM0UHdW5pMUYzRgd1bmkxRkQ4B3VuaTFGRDkHdW5pMUY0OAd1bmkxRjQ5B3VuaTFGRjgHdW5pMUZGOQd1bmkxRjRBB3VuaTFGNEIHdW5pMUY0Qwd1bmkxRjREB3VuaTFGRUMHdW5pMUY1OQd1bmkxRkVBB3VuaTFGRUIHdW5pMUY1Qgd1bmkxRjVEB3VuaTFGNUYHdW5pMUZFOAd1bmkxRkU5B3VuaTFGNjgHdW5pMUY2OQd1bmkxRkZBB3VuaTFGRkIHdW5pMUY2QQd1bmkxRjZCB3VuaTFGNkMHdW5pMUY2RAd1bmkxRjZFB3VuaTFGNkYHdW5pMUZCQwd1bmkxRjg4B3VuaTFGODkHdW5pMUY4QQd1bmkxRjhCB3VuaTFGOEMHdW5pMUY4RAd1bmkxRjhFB3VuaTFGOEYHdW5pMUZDQwd1bmkxRjk4B3VuaTFGOTkHdW5pMUY5QQd1bmkxRjlCB3VuaTFGOUMHdW5pMUY5RAd1bmkxRjlFB3VuaTFGOUYHdW5pMUZGQwd1bmkxRkE4B3VuaTFGQTkHdW5pMUZBQQd1bmkxRkFCB3VuaTFGQUMHdW5pMUZBRAd1bmkxRkFFB3VuaTFGQUYHdW5pMUYwMAd1bmkxRjAxB3VuaTFGNzAHdW5pMUY3MQd1bmkxRjAyB3VuaTFGMDMHdW5pMUYwNAd1bmkxRjA1B3VuaTFGMDYHdW5pMUYwNwd1bmkxRkIwB3VuaTFGQjEHdW5pMUZCNgd1bmkxRjEwB3VuaTFGMTEHdW5pMUY3Mgd1bmkxRjczB3VuaTFGMTIHdW5pMUYxMwd1bmkxRjE0B3VuaTFGMTUHdW5pMUYyMAd1bmkxRjIxB3VuaTFGNzQHdW5pMUY3NQd1bmkxRjIyB3VuaTFGMjMHdW5pMUYyNAd1bmkxRjI1B3VuaTFGMjYHdW5pMUYyNwd1bmkxRkM2B3VuaTFGMzAHdW5pMUYzMQd1bmkxRjc2B3VuaTFGNzcHdW5pMUYzMgd1bmkxRjMzB3VuaTFGMzQHdW5pMUYzNQd1bmkxRjM2B3VuaTFGMzcHdW5pMUZEMAd1bmkxRkQxB3VuaTFGRDYHdW5pMUZEMgd1bmkxRkQzB3VuaTFGRDcHdW5pMUY0MAd1bmkxRjQxB3VuaTFGNzgHdW5pMUY3OQd1bmkxRjQyB3VuaTFGNDMHdW5pMUY0NAd1bmkxRjQ1B3VuaTFGRTQHdW5pMUZFNQd1bmkxRjUwB3VuaTFGNTEHdW5pMUY3QQd1bmkxRjdCB3VuaTFGNTIHdW5pMUY1Mwd1bmkxRjU0B3VuaTFGNTUHdW5pMUY1Ngd1bmkxRjU3B3VuaTFGRTYHdW5pMUZFMAd1bmkxRkUxB3VuaTFGRTIHdW5pMUZFMwd1bmkxRkU3B3VuaTFGNjAHdW5pMUY2MQd1bmkxRjdDB3VuaTFGN0QHdW5pMUY2Mgd1bmkxRjYzB3VuaTFGNjQHdW5pMUY2NQd1bmkxRjY2B3VuaTFGNjcHdW5pMUZGNgd1bmkxRkIzB3VuaTFGODAHdW5pMUY4MQd1bmkxRkIyB3VuaTFGQjQHdW5pMUY4Mgd1bmkxRjgzB3VuaTFGODQHdW5pMUY4NQd1bmkxRjg2B3VuaTFGODcHdW5pMUZCNwd1bmkxRkMzB3VuaTFGOTAHdW5pMUY5MQd1bmkxRkMyB3VuaTFGQzQHdW5pMUY5Mgd1bmkxRjkzB3VuaTFGOTQHdW5pMUY5NQd1bmkxRjk2B3VuaTFGOTcHdW5pMUZDNwd1bmkxRkYzB3VuaTFGQTAHdW5pMUZBMQd1bmkxRkYyB3VuaTFGRjQHdW5pMUZBMgd1bmkxRkEzB3VuaTFGQTQHdW5pMUZBNQd1bmkxRkE2B3VuaTFGQTcHdW5pMUZGNwd1bmkwM0Q3B3VuaTAzRDkHdW5pMDNEQgd1bmkwM0REB3VuaTAzRTEHdW5pMDM3RQlhbm90ZWxlaWENYW5vdGVsZWlhLmNhcAd1bmkwMzc0B3VuaTAzNzUFdG9ub3MJdG9ub3MuY2FwDWRpZXJlc2lzdG9ub3MHdW5pMDM3QQd1bmkxRkJFB3VuaTFGQkQHdW5pMUZCRgd1bmkxRkZFB3VuaTFGRUYHdW5pMUZGRAd1bmkxRkNEB3VuaTFGREQHdW5pMUZDRQd1bmkxRkRFB3VuaTFGQ0YHdW5pMUZERgd1bmkxRkMwB3VuaTFGRUQHdW5pMUZFRQd1bmkxRkMxC3VuaTFGQkQuY2FwC3VuaTFGRkUuY2FwC3VuaTFGRUYuY2FwC3VuaTFGQ0QuY2FwC3VuaTFGREQuY2FwC3VuaTFGQ0UuY2FwC3VuaTFGREUuY2FwC3VuaTFGQ0YuY2FwC3VuaTFGREYuY2FwB3VuaTA0MTAHdW5pMDQxMQd1bmkwNDEyB3VuaTA0MTMHdW5pMDQxNAd1bmkwNDE1B3VuaTA0MTYHdW5pMDQxNwd1bmkwNDE4B3VuaTA0MTkHdW5pMDQxQQd1bmkwNDFCB3VuaTA0MUMHdW5pMDQxRAd1bmkwNDFFB3VuaTA0MUYHdW5pMDQyMAd1bmkwNDIxB3VuaTA0MjIHdW5pMDQyMwd1bmkwNDI0B3VuaTA0MjUHdW5pMDQyNgd1bmkwNDI3B3VuaTA0MjgHdW5pMDQyOQd1bmkwNDJBB3VuaTA0MkIHdW5pMDQyQwd1bmkwNDJEB3VuaTA0MkUHdW5pMDQyRgd1bmkwNDAwB3VuaTA0MDEHdW5pMDQwMgd1bmkwNDAzB3VuaTA0MDQHdW5pMDQwNQd1bmkwNDA2B3VuaTA0MDcJdW5pMDQwNy5hB3VuaTA0MDgHdW5pMDQwOQd1bmkwNDBBB3VuaTA0MEIHdW5pMDQwQwd1bmkwNDBEB3VuaTA0MEUHdW5pMDQwRgd1bmkwNDYyB3VuaTA0NzIHdW5pMDQ3NAd1bmkwNDkwB3VuaTA0OTIHdW5pMDQ5Ngd1bmkwNDk4B3VuaTA0OUEHdW5pMDRBMAd1bmkwNEEyB3VuaTA0QUEHdW5pMDRBRQd1bmkwNEIwB3VuaTA0QjIHdW5pMDRCNgd1bmkwNEJBB3VuaTA0QzAHdW5pMDRDMQd1bmkwNEQwB3VuaTA0RDQHdW5pMDRENgd1bmkwNEQ4B3VuaTA0RTIHdW5pMDRFNgd1bmkwNEU4B3VuaTA0RUUHdW5pMDRGMgd1bmkwNDMwB3VuaTA0MzEHdW5pMDQzMgd1bmkwNDMzB3VuaTA0MzQHdW5pMDQzNQd1bmkwNDM2B3VuaTA0MzcHdW5pMDQzOAd1bmkwNDM5B3VuaTA0M0EHdW5pMDQzQgd1bmkwNDNDB3VuaTA0M0QHdW5pMDQzRQd1bmkwNDNGB3VuaTA0NDAHdW5pMDQ0MQd1bmkwNDQyB3VuaTA0NDMHdW5pMDQ0NAd1bmkwNDQ1B3VuaTA0NDYHdW5pMDQ0Nwd1bmkwNDQ4B3VuaTA0NDkHdW5pMDQ0QQd1bmkwNDRCB3VuaTA0NEMHdW5pMDQ0RAd1bmkwNDRFB3VuaTA0NEYHdW5pMDQ1MAd1bmkwNDUxB3VuaTA0NTIHdW5pMDQ1Mwd1bmkwNDU0B3VuaTA0NTUHdW5pMDQ1Ngd1bmkwNDU3CXVuaTA0NTcuYQd1bmkwNDU4B3VuaTA0NTkHdW5pMDQ1QQd1bmkwNDVCB3VuaTA0NUMHdW5pMDQ1RAd1bmkwNDVFB3VuaTA0NUYHdW5pMDQ2Mwd1bmkwNDczB3VuaTA0NzUHdW5pMDQ5MQd1bmkwNDkzB3VuaTA0OTcHdW5pMDQ5OQd1bmkwNDlCB3VuaTA0QTEHdW5pMDRBMwd1bmkwNEFCB3VuaTA0QUYHdW5pMDRCMQd1bmkwNEIzB3VuaTA0QjcHdW5pMDRCQgd1bmkwNEMyB3VuaTA0Q0YHdW5pMDREMQd1bmkwNEQ1B3VuaTA0RDcHdW5pMDREOQd1bmkwNEUzB3VuaTA0RTcHdW5pMDRFOQd1bmkwNEVGB3VuaTA0RjMLdW5pMDQzMS5zcmIHdW5pMjExNgZ6ZXJvLjAHemVyby4wcwl6ZXJvLnBudW0Ib25lLnBudW0IdHdvLnBudW0KdGhyZWUucG51bQlmb3VyLnBudW0JZml2ZS5wbnVtCHNpeC5wbnVtCnNldmVuLnBudW0KZWlnaHQucG51bQluaW5lLnBudW0HemVyby4wcAh6ZXJvLjBwcwl6ZXJvLnRudW0Ib25lLnRudW0IdHdvLnRudW0KdGhyZWUudG51bQlmb3VyLnRudW0JZml2ZS50bnVtCHNpeC50bnVtCnNldmVuLnRudW0KZWlnaHQudG51bQluaW5lLnRudW0JemVyby5vbnVtCG9uZS5vbnVtCHR3by5vbnVtCnRocmVlLm9udW0JZm91ci5vbnVtCWZpdmUub251bQhzaXgub251bQpzZXZlbi5vbnVtCmVpZ2h0Lm9udW0JbmluZS5vbnVtB3VuaTAwQUQHdW5pMkUzQQd1bmkyRTNCCmZpZ3VyZWRhc2gHdW5pMjAxNQd1bmkyMDNFB3VuaTIwM0YHdW5pMjAxNgd1bmkyMDNDB3VuaTIwNDcHdW5pMjA0OQd1bmkyMDQ4B3VuaTIwM0QHdW5pMjMxQwd1bmkyMzFEB3VuaTIzMUUHdW5pMjMxRgd1bmkyN0U2B3VuaTI3RTcHdW5pMkUyMgd1bmkyRTIzB3VuaTJFMjQHdW5pMkUyNQd1bmkyMTE3B3VuaTIxMjAGdTFGMTZBBnUxRjE2QgdhdC5jYXNlBWkudHJrBEEuc2MEQi5zYwRDLnNjBEQuc2MERS5zYwRGLnNjBEcuc2MESC5zYwRJLnNjBEouc2MESy5zYwRMLnNjBE0uc2METi5zYwRPLnNjBFAuc2MEUS5zYwRSLnNjBFMuc2MEVC5zYwRVLnNjBFYuc2MEVy5zYwRYLnNjBFkuc2MEWi5zYwlBZ3JhdmUuc2MJQWFjdXRlLnNjDkFjaXJjdW1mbGV4LnNjCUF0aWxkZS5zYwxBZGllcmVzaXMuc2MKQW1hY3Jvbi5zYwlBYnJldmUuc2MIQXJpbmcuc2MKdW5pMDFDRC5zYwp1bmkxRUEwLnNjCnVuaTFFQTIuc2MKdW5pMUVBNC5zYwp1bmkxRUE2LnNjCnVuaTFFQTguc2MKdW5pMUVBQS5zYwp1bmkxRUFDLnNjCnVuaTFFQUUuc2MKdW5pMUVCMC5zYwp1bmkxRUIyLnNjCnVuaTFFQjQuc2MKdW5pMUVCNi5zYwpBb2dvbmVrLnNjBUFFLnNjCnVuaTAxRkMuc2MKdW5pMDFFMi5zYwp1bmkwMjQzLnNjCnVuaTFFMDYuc2MLQ2NlZGlsbGEuc2MJQ2FjdXRlLnNjDkNjaXJjdW1mbGV4LnNjCUNjYXJvbi5zYw1DZG90YWNjZW50LnNjCURjYXJvbi5zYwp1bmkxRTBDLnNjCnVuaTFFMEUuc2MJRGNyb2F0LnNjCUVncmF2ZS5zYwlFYWN1dGUuc2MORWNpcmN1bWZsZXguc2MJRWNhcm9uLnNjDEVkaWVyZXNpcy5zYwpFbWFjcm9uLnNjCUVicmV2ZS5zYw1FZG90YWNjZW50LnNjCnVuaTFFQjguc2MKdW5pMUVCQS5zYwp1bmkxRUJDLnNjCnVuaTFFQkUuc2MKdW5pMUVDMC5zYwp1bmkxRUMyLnNjCnVuaTFFQzQuc2MKdW5pMUVDNi5zYwpFb2dvbmVrLnNjCnVuaTFFMTYuc2MKdW5pMDFGNC5zYw5HY2lyY3VtZmxleC5zYwlHYnJldmUuc2MNR2RvdGFjY2VudC5zYwp1bmkwMTIyLnNjCUdjYXJvbi5zYwp1bmkxRTIwLnNjDnVuaTAwNDcwMzAzLnNjCnVuaTAxOTMuc2MOSGNpcmN1bWZsZXguc2MKdW5pMUUyNC5zYwp1bmkxRTJBLnNjB0hiYXIuc2MJSWdyYXZlLnNjCUlhY3V0ZS5zYw5JY2lyY3VtZmxleC5zYwlJdGlsZGUuc2MMSWRpZXJlc2lzLnNjCkltYWNyb24uc2MNSWRvdGFjY2VudC5zYwp1bmkwMUNGLnNjCnVuaTFFQzguc2MKdW5pMUVDQS5zYwpJb2dvbmVrLnNjCnVuaTAxMkMuc2MOSmNpcmN1bWZsZXguc2MKdW5pMDEzNi5zYwp1bmkxRTMyLnNjCnVuaTFFMzQuc2MJTGFjdXRlLnNjCUxjYXJvbi5zYwp1bmkwMTNCLnNjB0xkb3Quc2MKdW5pMUUzNi5zYwp1bmkxRTM4LnNjCnVuaTFFM0Euc2MJTHNsYXNoLnNjCnVuaTFFM0Uuc2MKdW5pMUU0MC5zYwp1bmkxRTQyLnNjCU5hY3V0ZS5zYwp1bmkwMUY4LnNjCU5jYXJvbi5zYwlOdGlsZGUuc2MKdW5pMDE0NS5zYwp1bmkxRTQ0LnNjCnVuaTFFNDYuc2MKdW5pMUU0OC5zYwlPZ3JhdmUuc2MJT2FjdXRlLnNjDk9jaXJjdW1mbGV4LnNjCU90aWxkZS5zYwxPZGllcmVzaXMuc2MKT21hY3Jvbi5zYxBPaHVuZ2FydW1sYXV0LnNjCnVuaTAxRDEuc2MKdW5pMUVDQy5zYwp1bmkxRUNFLnNjCnVuaTFFRDAuc2MKdW5pMUVEMi5zYwp1bmkxRUQ0LnNjCnVuaTFFRDYuc2MKdW5pMUVEOC5zYwlPc2xhc2guc2MFT0Uuc2MIT2hvcm4uc2MKdW5pMUVEQS5zYwp1bmkxRURDLnNjCnVuaTFFREUuc2MKdW5pMUVFMC5zYwp1bmkxRUUyLnNjCnVuaTAxRUEuc2MKdW5pMDE0RS5zYwp1bmkxRTUyLnNjCVJhY3V0ZS5zYwp1bmkxRTU4LnNjCVJjYXJvbi5zYwp1bmkwMTU2LnNjCnVuaTFFNUEuc2MKdW5pMUU1Qy5zYwp1bmkxRTVFLnNjCVNhY3V0ZS5zYw5TY2lyY3VtZmxleC5zYwlTY2Fyb24uc2MKdW5pMDE1RS5zYwp1bmkwMjE4LnNjCnVuaTFFNjAuc2MKdW5pMUU2Mi5zYwp1bmkxRTlFLnNjCVRjYXJvbi5zYwp1bmkwMTYyLnNjCnVuaTAyMUEuc2MKdW5pMUU2Qy5zYwp1bmkxRTZFLnNjCnVuaTAxNjYuc2MJVWdyYXZlLnNjCVVhY3V0ZS5zYw5VY2lyY3VtZmxleC5zYwlVdGlsZGUuc2MMVWRpZXJlc2lzLnNjClVtYWNyb24uc2MJVWJyZXZlLnNjCFVyaW5nLnNjEFVodW5nYXJ1bWxhdXQuc2MKdW5pMDFEMy5zYwp1bmkwMUQ1LnNjCnVuaTAxRDcuc2MKdW5pMDFEOS5zYwp1bmkwMURCLnNjCnVuaTFFRTQuc2MKdW5pMUVFNi5zYwpVb2dvbmVrLnNjCFVob3JuLnNjCnVuaTFFRTguc2MKdW5pMUVFQS5zYwp1bmkxRUVDLnNjCnVuaTFFRUUuc2MKdW5pMUVGMC5zYwlXZ3JhdmUuc2MJV2FjdXRlLnNjDldjaXJjdW1mbGV4LnNjDFdkaWVyZXNpcy5zYwlZZ3JhdmUuc2MJWWFjdXRlLnNjDlljaXJjdW1mbGV4LnNjDFlkaWVyZXNpcy5zYwp1bmkxRThFLnNjCnVuaTFFRjQuc2MKdW5pMUVGNi5zYwp1bmkxRUY4LnNjCVphY3V0ZS5zYwlaY2Fyb24uc2MNWmRvdGFjY2VudC5zYwp1bmkxRTkyLnNjCnVuaTFFOTQuc2MGRXRoLnNjCFRob3JuLnNjCnVuaTAxOEYuc2MKdW5pMDE0QS5zYwp1bmkwMTMyLnNjCEFscGhhLnNjB0JldGEuc2MIR2FtbWEuc2MKdW5pMDM5NC5zYwpFcHNpbG9uLnNjB1pldGEuc2MGRXRhLnNjCFRoZXRhLnNjB0lvdGEuc2MIS2FwcGEuc2MJTGFtYmRhLnNjBU11LnNjBU51LnNjBVhpLnNjCk9taWNyb24uc2MFUGkuc2MGUmhvLnNjCFNpZ21hLnNjBlRhdS5zYwpVcHNpbG9uLnNjBlBoaS5zYwZDaGkuc2MGUHNpLnNjCnVuaTAzQTkuc2MPSW90YWRpZXJlc2lzLnNjElVwc2lsb25kaWVyZXNpcy5zYw9BbHBoYWlvdGFzdWIuc2MNRXRhaW90YXN1Yi5zYw9PbWVnYWlvdGFzdWIuc2MKdW5pMDQxMC5zYwp1bmkwNDExLnNjCnVuaTA0MTIuc2MKdW5pMDQxMy5zYwp1bmkwNDE0LnNjCnVuaTA0MTUuc2MKdW5pMDQxNi5zYwp1bmkwNDE3LnNjCnVuaTA0MTguc2MKdW5pMDQxOS5zYwp1bmkwNDFBLnNjCnVuaTA0MUIuc2MKdW5pMDQxQy5zYwp1bmkwNDFELnNjCnVuaTA0MUUuc2MKdW5pMDQxRi5zYwp1bmkwNDIwLnNjCnVuaTA0MjEuc2MKdW5pMDQyMi5zYwp1bmkwNDIzLnNjCnVuaTA0MjQuc2MKdW5pMDQyNS5zYwp1bmkwNDI2LnNjCnVuaTA0Mjcuc2MKdW5pMDQyOC5zYwp1bmkwNDI5LnNjCnVuaTA0MkEuc2MKdW5pMDQyQi5zYwp1bmkwNDJDLnNjCnVuaTA0MkQuc2MKdW5pMDQyRS5zYwp1bmkwNDJGLnNjCnVuaTA0MDAuc2MKdW5pMDQwMS5zYwp1bmkwNDAyLnNjCnVuaTA0MDMuc2MKdW5pMDQwNC5zYwp1bmkwNDA1LnNjCnVuaTA0MDYuc2MKdW5pMDQwNy5zYwt1bmkwNDA3LnNjYQp1bmkwNDA4LnNjCnVuaTA0MDkuc2MKdW5pMDQwQS5zYwp1bmkwNDBCLnNjCnVuaTA0MEMuc2MKdW5pMDQwRC5zYwp1bmkwNDBFLnNjCnVuaTA0MEYuc2MKdW5pMDQ2Mi5zYwp1bmkwNDcyLnNjCnVuaTA0NzQuc2MKdW5pMDQ5MC5zYwp1bmkwNDkyLnNjCnVuaTA0OTYuc2MKdW5pMDQ5OC5zYwp1bmkwNDlBLnNjCnVuaTA0QTAuc2MKdW5pMDRBMi5zYwp1bmkwNEFBLnNjCnVuaTA0QUUuc2MKdW5pMDRCMC5zYwp1bmkwNEIyLnNjCnVuaTA0QjYuc2MKdW5pMDRCQS5zYwp1bmkwNEMwLnNjCnVuaTA0QzEuc2MKdW5pMDREMC5zYwp1bmkwNEQ0LnNjCnVuaTA0RDYuc2MKdW5pMDREOC5zYwp1bmkwNEUyLnNjCnVuaTA0RTYuc2MKdW5pMDRFOC5zYwp1bmkwNEVFLnNjCnVuaTA0RjIuc2MMYW1wZXJzYW5kLnNjB3plcm8uc2MGb25lLnNjBnR3by5zYwh0aHJlZS5zYwdmb3VyLnNjB2ZpdmUuc2MGc2l4LnNjCHNldmVuLnNjCGVpZ2h0LnNjB25pbmUuc2MJZXhjbGFtLnNjDWV4Y2xhbWRvd24uc2MLcXVlc3Rpb24uc2MOcXVvdGVzaW5nbGUuc2MLcXVvdGVkYmwuc2MMcXVvdGVsZWZ0LnNjDXF1b3RlcmlnaHQuc2MPcXVvdGVkYmxsZWZ0LnNjEHF1b3RlZGJscmlnaHQuc2MJaHlwaGVuLnNjCWVuZGFzaC5zYwllbWRhc2guc2MMcGFyZW5sZWZ0LnNjDXBhcmVucmlnaHQuc2MOYnJhY2tldGxlZnQuc2MPYnJhY2tldHJpZ2h0LnNjDGJyYWNlbGVmdC5zYw1icmFjZXJpZ2h0LnNjCXplcm8uc3VwcwhvbmUuc3Vwcwh0d28uc3Vwcwp0aHJlZS5zdXBzCWZvdXIuc3VwcwlmaXZlLnN1cHMIc2l4LnN1cHMKc2V2ZW4uc3VwcwplaWdodC5zdXBzCW5pbmUuc3Vwcw5wYXJlbmxlZnQuc3Vwcw9wYXJlbnJpZ2h0LnN1cHMLcGVyaW9kLnN1cHMKY29tbWEuc3Vwcwl6ZXJvLnN1YnMIb25lLnN1YnMIdHdvLnN1YnMKdGhyZWUuc3Vicwlmb3VyLnN1YnMJZml2ZS5zdWJzCHNpeC5zdWJzCnNldmVuLnN1YnMKZWlnaHQuc3VicwluaW5lLnN1YnMOcGFyZW5sZWZ0LnN1YnMPcGFyZW5yaWdodC5zdWJzC3BlcmlvZC5zdWJzCmNvbW1hLnN1YnMJemVyby5kbm9tCG9uZS5kbm9tCHR3by5kbm9tCnRocmVlLmRub20JZm91ci5kbm9tCWZpdmUuZG5vbQhzaXguZG5vbQpzZXZlbi5kbm9tCmVpZ2h0LmRub20JbmluZS5kbm9tDnBhcmVubGVmdC5kbm9tD3BhcmVucmlnaHQuZG5vbQtwZXJpb2QuZG5vbQpjb21tYS5kbm9tCXplcm8ubnVtcghvbmUubnVtcgh0d28ubnVtcgp0aHJlZS5udW1yCWZvdXIubnVtcglmaXZlLm51bXIIc2l4Lm51bXIKc2V2ZW4ubnVtcgplaWdodC5udW1yCW5pbmUubnVtcg5wYXJlbmxlZnQubnVtcg9wYXJlbnJpZ2h0Lm51bXILcGVyaW9kLm51bXIKY29tbWEubnVtcg1vcmRmZW1pbmluZS5hBkEuc3VwcwZCLnN1cHMGQy5zdXBzBkQuc3VwcwZFLnN1cHMGRi5zdXBzBkcuc3VwcwZILnN1cHMGSS5zdXBzBkouc3VwcwZLLnN1cHMGTC5zdXBzBk0uc3VwcwZOLnN1cHMGTy5zdXBzBlAuc3VwcwZRLnN1cHMGUi5zdXBzBlMuc3VwcwZULnN1cHMGVS5zdXBzBlYuc3VwcwZXLnN1cHMGWC5zdXBzBlkuc3VwcwZaLnN1cHMGYS5zdXBzBmIuc3VwcwZjLnN1cHMGZC5zdXBzBmUuc3VwcwZmLnN1cHMGZy5zdXBzBmguc3VwcwZpLnN1cHMGai5zdXBzBmsuc3VwcwZsLnN1cHMGbS5zdXBzBm4uc3VwcwZvLnN1cHMGcC5zdXBzBnEuc3VwcwZyLnN1cHMGcy5zdXBzBnQuc3VwcwZ1LnN1cHMGdi5zdXBzBncuc3VwcwZ4LnN1cHMGeS5zdXBzBnouc3Vwcwd1bmkwMkMxB3VuaTAyRDAHdW5pMDJEMQd1bmkwMkRFB3VuaTAyRTALZWdyYXZlLnN1cHMLZWFjdXRlLnN1cHMMdW5pMDI1OS5zdXBzBmEuc3VwYQZnLnN1cGEGbC5zdXBhCmNvbG9uLnN1cHMLaHlwaGVuLnN1cHMLZW5kYXNoLnN1cHMLZW1kYXNoLnN1cHMERXVybwd1bmkwMTkyDWNvbG9ubW9uZXRhcnkEbGlyYQd1bmkyMEE2BnBlc2V0YQd1bmkyMEE5BGRvbmcHdW5pMjBCMQd1bmkyMEIyB3VuaTIwQjQHdW5pMjBCNQd1bmkyMEI5B3VuaTIwQkEHdW5pMjBBRQd1bmkyMEI4B3VuaTIwQkQHdW5pMjIxNQpzbGFzaC5mcmFjCG9uZXRoaXJkCXR3b3RoaXJkcwd1bmkyMTU1B3VuaTIxNTYHdW5pMjE1Nwd1bmkyMTU4B3VuaTIxNTkHdW5pMjE1QQd1bmkyMTUwCW9uZWVpZ2h0aAx0aHJlZWVpZ2h0aHMLZml2ZWVpZ2h0aHMMc2V2ZW5laWdodGhzB3VuaTIxNTEHdW5pMjE1Mgd1bmkyMTg5B3VuaTIyMTkHdW5pMDBCNQd1bmkyMjA2B3VuaTIxMjYHdW5pMjExMwllc3RpbWF0ZWQHdW5pMjE5MAdhcnJvd3VwB3VuaTIxOTIJYXJyb3dkb3duB3VuaTI1QTAHdW5pMjVDNgd1bmkyNUM5B3VuaTI3NTIHdHJpYWd1cAd1bmkyNUIzB3VuaTI1QjYHdW5pMjVCNwd0cmlhZ2RuB3VuaTI1QkQHdW5pMjVDMAd1bmkyNUMxB3VuaTI2MTAHdW5pMjYxMQd1bmkyNzEzB3VuaTI2NkEHdW5pMjAzMgd1bmkyMDMzB3VuaTIwMzUHdW5pMDJCOQd1bmkwMkJCB3VuaTAyQkMHdW5pMDJCRQd1bmkwMkJGB3VuaTAyQzgHdW5pMDJDOQd1bmkwMkNBB3VuaTAyQ0IHdW5pMDJDQwd1bmkyNUNDB3VuaTAzMDALdW5pMDMwMC5jYXAJdW5pMDMwMC5nB3VuaTAzMDELdW5pMDMwMS5jYXAJdW5pMDMwMS5nB3VuaTAzMDILdW5pMDMwMi5jYXAHdW5pMDMwMwt1bmkwMzAzLmNhcAd1bmkwMzA0C3VuaTAzMDQuY2FwB3VuaTAzMDUHdW5pMDMwNgl1bmkwMzA2LmMLdW5pMDMwNi5jYXAMdW5pMDMwNi5jY2FwB3VuaTAzMDcLdW5pMDMwNy5jYXAHdW5pMDMwOAt1bmkwMzA4LmNhcAd1bmkwMzA5C3VuaTAzMDkuY2FwB3VuaTAzMEELdW5pMDMwQS5jYXAHdW5pMDMwQgt1bmkwMzBCLmNhcAd1bmkwMzBDC3VuaTAzMEMuY2FwCXVuaTAzMEMuYQd1bmkwMzBGC3VuaTAzMEYuY2FwB3VuaTAzMTEHdW5pMDMxMgl1bmkwMzEyLmcHdW5pMDMxMwl1bmkwMzEzLmcHdW5pMDMxOAd1bmkwMzE5B3VuaTAzMUEHdW5pMDMxQgd1bmkwMzFDB3VuaTAzMUQHdW5pMDMxRQd1bmkwMzFGB3VuaTAzMjAHdW5pMDMyMwd1bmkwMzI0B3VuaTAzMjUHdW5pMDMyNgl1bmkwMzI2LmEHdW5pMDMyNwt1bmkwMzI3LmNhcAd1bmkwMzI4C3VuaTAzMjguY2FwB3VuaTAzMjkHdW5pMDMyQQd1bmkwMzJDB3VuaTAzMkUHdW5pMDMyRgd1bmkwMzMwB3VuaTAzMzEHdW5pMDMzNAd1bmkwMzM5B3VuaTAzM0EHdW5pMDMzQgd1bmkwMzNDB3VuaTAzM0QHdW5pMDM0Mgd1bmkwMzQ1B3VuaTAzNjELdW5pMDMwODAzMDEPdW5pMDMwODAzMDEuY2FwDXVuaTAzMDgwMzAxLmcLdW5pMDMwODAzMDAPdW5pMDMwODAzMDAuY2FwDXVuaTAzMDgwMzAwLmcLdW5pMDMwODAzMDMLdW5pMDMwODAzMDQPdW5pMDMwODAzMDQuY2FwC3VuaTAzMDgwMzBDD3VuaTAzMDgwMzBDLmNhcAt1bmkwMzAyMDMwMQ91bmkwMzAyMDMwMS5jYXALdW5pMDMwMjAzMDAPdW5pMDMwMjAzMDAuY2FwC3VuaTAzMDIwMzA5D3VuaTAzMDIwMzA5LmNhcAt1bmkwMzAyMDMwMw91bmkwMzAyMDMwMy5jYXALdW5pMDMwNjAzMDEPdW5pMDMwNjAzMDEuY2FwC3VuaTAzMDYwMzAwD3VuaTAzMDYwMzAwLmNhcAt1bmkwMzA2MDMwOQ91bmkwMzA2MDMwOS5jYXALdW5pMDMwNjAzMDMPdW5pMDMwNjAzMDMuY2FwC3VuaTAzMDIwMzA2D3VuaTAzMDIwMzA2LmNhcAt1bmkwMzA0MDMwMQ91bmkwMzA0MDMwMS5jYXALdW5pMDMxMjAzMDELdW5pMDMxMjAzMDALdW5pMDMxMjAzMDMLdW5pMDMxMzAzMDELdW5pMDMxMzAzMDALdW5pMDMxMzAzMDMHdW5pMDBBMAd1bmkyMDA3CnNwYWNlLmZyYWMMbmJzcGFjZS5mcmFjB3VuaTIwMkYHdW5pRkVGRgAAAAAAAAH//wACAAEAAAAMAAAAAAMEAAIAfgACADUAAQBLAEwAAQBqAGoAAQBzAHMAAgCDAIMAAQCtAK8AAQC1ALUAAQDbANwAAQD1APYAAQENAQ4AAQEYARgAAgEsASwAAQEyATIAAgE1ATUAAgFEAUQAAgFFAUUAAQFHAUcAAQFO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/8n/5v/s/97/0f/J/+L/2P/y/+j/7P/o/+z/0f/r//b/5f/r/+j/5f/s/9sAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/+8AAAAA/+YAAAAAAAAAAP/mAAAAAAAAAAAAAAAA//AAAAAAAAAAAP/mAAAAAAAD//L/9v/y/+z/9gADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/+L/7//yAAAAAAAAAAAAAP+vAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/6P/7AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/s/8sASf+rAA3/q/+3/+MAIf/uAEn/q//j/+z/y//2/+MADf+3AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/+AAIQAAAAAAAP/TAAAAAAAAACEAAAAAAAD/4AAA//AAAP/TAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/o/9gAAP/2//r/6AAAAAAAAAAAAAAAAAAA//YAAAAA//YAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//IAAAAAAAAAAAAAAAAAAP/sAAAAAAAQAAD/2P/y/9X/4gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/+j/7//2/9X/7//Y/+j/4v/vAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/6AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//AAAP/2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/8gAA/+P/4wAAAAAAAAAAAAAAAAAAAAD/7wAAAAAAAAAAAAAAAAAAAAAAAP/wAAD/8AAGAAAAAP/y/9j/0wAA/+YAAP/AAAD/wP/GAAAAAAAAAAD/wAAAAAD/5gAAAAAAAP/G//b/7AAA/9j/7AAAAAD/0//s/+j/6P/s/+b/6P/v//D/6P/s/+b/5f/y//D/0f/e/9r/6P/o/+z/5v/aAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//IAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//b/8v/y//b/9gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/8YAO/+pAAD/qf+nAAAAAAAAADv/qf/YAAD/xgAA/9gAAP+nAAAAAAAAAAAAAAAAAAAAAAAA/8L/3QAA/9YAAAAAAAD/wgAA/9YAAAAAAAAAAAAAAAD/wv/dAAD/1gAA/+sAAAAA/+sAAP/d/+v/1P/U/93/wv/r/9QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/9//8P/sAAYAAAATAA0ADQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/3wAA//AABgAA/8v/7AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/+wAAwAT/8sAAwAGAA3/7AADAAAAAAAAAAAAAAAA/98AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/9//8P/sAAoAAAAhABoAGgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/3wAA//AACgAA/7f/7AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/+wABgAh/7cABgAKABr/7AAGAAAAAAAAAAAAAAAA/98AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/9X/8P/sAAoAAAAaAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/1QAA//AACgAA/6P/7AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/+wAAAAa/6MAAAAKAA7/7AAAAAAAAAAAAAAAAAAA/9UAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/8P/6AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP+6AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP+6AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/NAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGQAAAAAAAAAAAAD/9gAAABkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/9gAAAAAAAAAAAAAAAD/2AAAAAAAAAAAAAAAAAAAAAD/2AAAAAAAAAAA/+EAAAAA/+EACf/o/+H/9v/2/+gAAP/h//YAAAAAABn/sAA6ABn/sP/yAAn/7AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/dAAAAAAAAAAAAAAAAAAAAAP/2AAAAAP/5AAD/9gAAAAAAAAAAAAAAAAAAAAD/7wAAAAD/8gAAAAD/9QAA//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/yAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/5//kAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/8AAAAAAAAAAAAAAAAAAAAAAAAAAD/9QAAAAAAAAAAAAD/+QAA//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/5AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/5//kAAAAAAAAAAAAAAAAAAAAAAAAAAP/dAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//b/7AAAAAD//AAAAAAAAP/5AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/9QAAAAAAAP/8AAAAAAAAAAAAAAAAAAAAAAAA/+wAAP/8AAAAAAAAAAAAAAAAAAD/2AAAAAAAAP/5AAD/6AAAAAAAAAAAAAAAAAAAAAAAAP/XAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//b/6AAAAAD//AAAAAAAAP/1AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD//AAAAAD/8gAAAAAAAAAAAAAAAAAAAAAAAAAA//YAAP/8AAAAAAAAAAAAAAAAAAD/4gAAAAAAAAAAAAD/7wAAAAAAAAAAAAAAAAAAAAAAAP/dAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//b/7AAAAAD//AAAAAAAAP/5AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//L//AAAAAAAAAAAAAAAAAAAAAAAAAAA/+wAAP/8AAAAAAAAAAAAAAAAAAD/2AAAAAAAAAAAAAD/6AABABkB3QH1AfYB9wH4Am8DwwPHBA8EEAQ1BEsEVARWBGsEdgR4Bc8F4QXnBekF7QXvBfAF8wACABgB9QH1ABYB9gH2ABcB9wH3ABgB+AH4AAQCbwJvAAsDwwPDAAIDxwPHAAEEDwQPABQEEAQQABUENQQ1ABEESwRLABAEVARUAAYEVgRWAAwEawRrAAoEdgR2ABMEeAR4AAUFzwXPAAMF4QXhAAkF5wXnABIF6QXpAAgF7QXtAA8F7wXvAA0F8AXwAA4F8wXzAAcAAgE/AAIAAgBcAAQABABtAAgACABtAAsACwB0ABAAEABtABIAEgBtABQAFABdABUAFQA7ABYAFgA8ABcAFwA+ABgAGABAABkAGQBfABoAGgBCABsAGwBgABwAHABqAB4AIABsACEAIQBrACIAIgA4ACQAJABzACUAJQA6ACoAKgBsACwALABsAC8ALwB2ADAAMAB3ADEAMQA9ADIAMgA/ADMAMwBeADQANABBADUANQB6ADYASwBcAE8ATwA3AFEAVQBtAFkAWQA3AGwAdABtAHgAeAA5AIUAhQB0AJwAtQBtAL0AwwBdAMUAygA7AMsA4QA8AOIA5QBAAOYA7QBCAO4A8gBgAPMA8wA3APUA9QB1APgBEABqARMBLQBsAS4BNQA4ATsBRgBzAUgBSAA6AWEBegBsAYoBkAB2AZEBpwB3AagBqwA/AawBswBBAbQBuAB6AbwBvAA6Ab0BvQBzAb4BvgB3AcIBxABsAcYBxgBsAc0BzQA6Ac4B0ABsAdEB0QBBAdMB0wB3Ad4B3wB3AeEB4QA6AeQB5gBsAe8B8AA6AfEB8QB2AfQB9AB3AfkB+gB6AgICAgBrAgUCBgBrAhUCNABsAj4CPgBrAj8CPwBTAkICQgBWAkQCRABbAkYCRgBpAkkCSQBTAkwCTABaAk0CTQBpAlACUABZAlECUQA1AlICUgA2AlQCVABVAlUCVQBYAlcCVwByAl4CXgA2AmACYABhAmICYgBiAmoCagBXAmwCbABjAm4CbgBkAnECcQBkAnICcgBlAnQCdABkAnUCdQBUAncCeABkAnsCewBkAnwCfABhAoECgQBkAoQChABkAocCkAByApECkgBTAsACwQA2AswCzABTAs0C1AByAucC8wBhAxcDHgBkAzEDOwBkAzwDRwBhA1QDXwBkA2EDYgBkA4cDhwBMA4sDiwAUA40DjQBRA44DjgAlA5IDkgAZA5UDlQBoA5gDmABoA5kDmQAzA5oDmgAdA5sDmwAWA5wDnABPA54DngARA6EDoQAzA6QDpAAlA6YDpgAiA6kDqQAzA6sDqwBoA6wDrABNA7ADsABxA7EDsQAZA7MDswAzA7YDtgAdA7gDuABQA7kDuQBoA7oDugAxA70DvQBRA74DvgAlA8ADwAAzA8IDwgBoA8UDxQBPA8YDxgARA8kDyQBRA8oDygBMA88D0ABoA9ED0gAdA9MD0wBmA9QD1AAOA9UD1gAaA9cD1wASA9gD2ABnA9kD2QAmA9oD2gAjA9sD3QAaA94D3gAXA98D4AAaA+ED4QBnA+ID4gAaA+QD5ABnA+UD5QAcA+YD5gA0A+cD5wBnA+gD6ABOA+kD6QAaA+oD6gAPA+sD7AAaA+0D7QAcA+4D7wAaA/AD8AAVA/ED8QAaA/ID8gAgA/MD9ABnA/YD9gAaA/cD9wBnA/kD+gBwA/wD/AAyA/0D/QAXA/4D/gAaBAAEAQAaBAIEAgA0BAMEAwAaBAQEBAAeBAUEBQBnBAYEBgAwBAcEBwAaBAkECQAmBAoECgAjBAsECwAaBAwEDAAcBA0EDQAaBA4EDgBnBA8EEAAwBBEEEQBOBBIEEgAPBBQEFAAmBBYEFwBmBBgEGABnBBoEGgAaBBsEHABnBB0EHgA0BE4ETwAJBFIEUgAJBFUEVQAKBFcEWAANBFkEWQALBFoEWgAMBFsEWwALBFwEXAAMBF0EXgAJBF8EXwB5BGAEYAAoBGEEYQB5BGIEYgAoBGMEZgB4BGkEagB4BIEEgQAKBIMEhAAKBJkEmQBzBJoEmgABBJwEnAACBKAEoAACBKMEowAuBKgEqAACBKoEqgACBKwErAADBK0ErQAEBK4ErgAFBK8ErwAGBLAEsAAHBLEEsQBLBLIEsgAIBLMEswAvBLQEyQABBM8E0wACBOoE8gACBQMFAwAuBRoFMwACBTsFQQADBUIFQgBvBUMFSAAEBUkFXwAFBWAFYwAHBWQFawAIBWwFcAAvBXYFdgBSBXsFewBKBX0FfQBuBYAFgABSBYQFhABuBYgFiABIBYkFiQBJBYsFiwBHBY8FjwBJBZAFkABSBZMFkwApBZQFlgAbBZcFlwATBZgFmAAbBZkFmQAnBZoFmgAkBZsFnQAbBZ4FngAYBZ8FoAAbBaEFoQArBaIFowAbBaQFpAArBaUFpQAsBaYFpgAtBacFpwAqBagFqABEBakFqQAbBaoFqgAQBasFrAAbBa0FrQAsBa4FrwAbBbAFsAAkBbEFsQAbBbIFsgAhBbMFtAAbBbUFtQAsBbYFtgAbBbcFtwArBbgFuABDBbkFugAbBbwFvABGBb0FvQAYBb4FvgAbBb8FvwAsBcAFwQAbBcIFwgAtBcMFwwAbBcQFxAAfBcUFxQArBcYFxgBFBccFxwAbBckFyQAnBcoFygAkBcsFywAbBcwFzAAsBc0FzQAbBc4FzgArBdEF0QBEBdIF0gAQBdMF1AAbBdUF1QAnBdYF1gApBdgF2AAbBdoF2gAbBdsF3AArBd0F3gAtBr4GvgBWBt0G3QALBt4G3wAMBuAG4AALB2YHZwBrAAIpqgAEAAAqbi7sAEsARwAA//L/6P/w//z/6P/0//D/ygAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/8EAAAAAAAAAAP/RAAAACgAH//r/4v/2//b/+gAD//b//QAUABT/8P/l/+P/2P/VAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/8v/J//IAAP/y/+b/yP+iAAAAAAAUAAAADgAQAA8AFAANABgAAAAA/+gAAAAAAAAAAAAX//r/9gAU//YAF//6//H/+f/8//wABP/5//j/vf/J/9j/sP/M//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//IAAAAAAAAAAP/yAAD//AAA//z/9v/8AAT/9gAA//YAAP/yAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/2/+j/+v/8//IAAP/s/+IACv/6AAQAAAAQAAoAEAAAAAYAAAAAAAD/7AAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAP/y//b/9v/8//L//P/yAAAAAAAA/+wAAAAA//D/8gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/9v/s//IAAP/oAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//IAAAAAAAAAAP/2AAAAAAAAAAAAAAAAAAAABgAGAAgAAAAGAAAAAAAAAAAAFAAAAAAAAAAAAAD/9v/r/+z/8gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//z/+P/w//kAAAAAAAkAAP/6AAAAAAAAAAAAAAAAAAAAAAAAAAD/8gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/+wAAAAAAAAAAP/l/+z/6wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/l/+7//P/8//kAAAAAAAAABwAAAAD/7AAAAAAAAAAPAAAAAAAAAAD/zAAAAAAAAAAAAAAAAAAAAAD/4wAA//b/8v/y//YAAP/8//L/9gAAAAAAAAAKABgAAAAA//b/6P/sAAD/5v/yAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/9v/o//D/9v/m//n/9v/eAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//wAAAAAAAAAAP/yAAAAAAAAAAAAAAAAAAAABQAF//kAAAAFAAAAAAAA/+wAAP/vAAAAAP/s/+z/9gAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//wAAAAAAAAAAP/8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/8AAAAAAAAAAD/9gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//YAAAAAAAAAAAAA/+wAAP/2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/oAAAAAAAAAAAAAAAAAAAACv/2//L/8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/2AAD/4QAA//YAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//YAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAuAEIALgA7ABoAIgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/O/+wAAAAAAAAAAP/sAAAAAAAAAAD//AAAAAAADQAA//wAIQAAAAAAIgAoAD4ASwBMAAAAAAAAAAD/8v/2//IAAAAAAAD/9v/yADEADv/yAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/y/6f/8gAGAAAACQADAAAACf/2AAD/tgAAAAAAGQANABkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/2AAAABAAEAAAAAAAAAAD/2P+c/+gAAAAAAAAAAAAAAAD/8gAA/7j/8gAAAAAAAAAA/97/2wAAAAD/9v/s//AAAP/s//D/5v/o//D/4gAAAAAAAAAUACYAAAAA/3b/7P/o//IAAP/sAAAAAAAA/+IAAAAA/7v/+f/sAAAAAAAAAAAAAAAAAAAAAAAAAAD/8AAAAAAAAAAA//D/yAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD//AAAAAAAAAAAAAD/8P/yAAYAAP/wAAD/0P+9/+b/3QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/2AAAAAP/y//IAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/7gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/+gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/mAAAAAP/y/9wAAP/fAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//gAAAAAAAAAAP/wAAAAAAAAAAAAAAAAAAD//P/8AAAAAAAPAAAAAAAAAAAADgAAAAAAAAAAAAAAAP/yAAAAAAAAAAAAJf/yAA4AAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD//f/6AAAAAAAAAAP//AAAAAAAAAAA//YAAP/yAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/+z/8v/8AAAAAAAA/+QADgAAAAAAAAALABMADQANAAkAAAAAAAAAAAAAAAAAAAAAAAD//AAAABMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEwAGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/zAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/8gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYADQANABMADQAXABwACQAAAAAAAAAAAAAAAAAAAAAAAAAAAA8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/7wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/8gAA//IAAAAAAAD/7//vAAAAAP/1AAAAAAAAAAAAAAAAAAAAAAAAAAD/9v/8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAANAA0AEwANABMAEwAGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/YAAAAAAAAAAAAAAAAAAAAAAAA/+UAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAb/3AADAA0ADQANAA0ABgANAAYAAP/oAAAAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/YAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/+v/3QAAAAD/9f/0/+b/6wAAAAAAAAAAAAAAAAAAAAAAAAAAAA0ADf/mAAAAAAAAAAD/9gAAAAAAAAAAAAD/8gAAAAAAAP/5AAAAAAAAAAAAAAAAAAD/7AAAAAAAAAAA//b/7v/U/+YAAP/1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AAAAAAAAAAD/6AAGAAAAAAAA/+z/7AAAAAAAAAAAAAD//AAAAAD/+gAKAAD/8v/8AAD/8gAA/+IAAAAAAAAAAP/8//z/+v/6AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/+z/9v/m/+gAAAAAAAAAAAAA/98AAAAAAAD/+QAA/+wAAAAAAAAAAAAA//YAAAAAAAAAAP/2/94AAAAAAAAAAP/pAAD/8v/mAAAAAP/lAAAAAP/v//D/8v/s//YAB//v//D/9v/y//L/6P/sAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAA/+v/7AAA//wAAAAAAAD//P/sAAAABgADAAAAAAAAAAAAAAAA//IAAAAAAAAAAAAAAAAAAAAAAAAAAP/vAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/+wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//b/8v/8//L/8AAQAAAAAAAA/+z/7AAFAAYAAAAA//n/2AAAAAAAAAAAAAMAAAAA/+H/8gAA/+8AAAAAAAD/+f/2//YAAAAAAAAAAAAA/+sAAAAA//kAAAAAAAAAAAAA//n/6AAA/+UAAP/y//IALwAGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/y/+wAAP/s//AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD//P/2AAAAAP/1AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/+//4gAA//YAAAAAAAD/yQAAAAAAAAAAAAAAAAAAAAAAAAAA//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/9gAA//b/6AAAAAAAAAAAAAD/xwAAAAAAAAAA/8D/5QAAAAAAAAAAAAAAAAAA/+v/wAAA/+j/6wAAAAD/yP/JAAAAAAAAAAAAAAAA//UAAAAAAAAAAAAAAAAAAAAAAAD/9gAA//kAAAAAAAAAAAAA/8MAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/1//n//P/5//EAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD//P/8AAAAAAAAAAAAAP/yAAD/9v/8AAAAAP/y//L/9gAAAAAAAP/8AAAAAAAA//z//AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/sAAD//AAAAAAAAAAAAAD//AAAAAAAAP/8AAAAAAAAAAAAAAAA//YAAAAAAAAAAAAAAAAAAAAAAAAAAP/2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/+z/9gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/+H/6AAA/+j/6AAKAAAAAAAA//AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/+UAAAAAAAAAAAAAAAAAAAAAAAAAAP/yAAAAAAAAAAAAAAAA//YAAP/w//YAAAAA//b/6P/wAAAAAAAAAAAAFAAAAAD/9v/2/90AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//wAAAAAAAAAAAAAAAAAAAAAAAAAAP/sAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/+f/YAAD/8f/2AAAAAAAAAAAAAAAAAAAAAAAA//EAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//z/9gAAAAD/8QAAAAAAAAAA//n//QAAAAD/+QAAAAAAAAAAAAD/9gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/E/+IAAAAAAAAAAP/sAAAAAP+hAA0AAAAAAAAAAAAAAAAAAAAAAAAAAP/mAAAAAAAA//kAFAAAAAAAAAAAAAD/yAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/8gAAAAA/+wAAAAAAAAAAAAAAAD/xP/m//kAAAAAAAAAAAAAAAAAAP/i/9P/wf/T/9b/owAAAAAAAAAAAAAAAAAA/+z/fwAA/9gAAAAAAAAAAP/E/+//7/+yAAAAAP/cAAD/0gAAAAAAAAAAAAD/yv+DAAD/tv/5AAAAAP+X//D/2P+r/7IAAP+X/9z/zP+hAAD/t/+/AEP/3wAbAAD/3AAAAAAAAAAA/8UAAAAAAAAAAAAAAAD//P/8//z/9v/sAAAAAAAAAAAAAAAAAAAAAAAHAAf/5QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//IAAAAAAAD//AAAAAD/+gAAAAAAAAAAAAD/9wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//n/6//8/+v/6wAAAAAAAAAAAAD/3QAAAAAADQAN/+b/5gAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/9QAA//QAAAAA/+sAAP/5//wAAAAA/+cAAAAA/+4AAP/5AAAAAAAA/+7/+f/8/9QAAP/m//UAAAAAAAAAAP/8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/8//kAAP/yAAD//AAAABQAFAAA/+wAAP/8//kAAAAAAAAAAAAAAAD/+QAAAAAAAAAAAAAAAAAAAAAAAAAA/+gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/7AAAAAAAAAAAAAAAAAAA//X//AAAAAAAAAAAAAAAAAAAAAD/8P/l//z/5f/fABT/8gAAAAAAAP/v//IAAwAAAAD/7v/SAAAAAAAAAAD/9gAAAAD/5f/yAAn/7P/wAAD/+f/u/+v/2AAAAAAAAAAAAAD/7wAAAAD/+QAAAAAAAAAAAAD/+f/2//z/4gAA//b//AAbAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/+//6//8/+v/4QAAAAAAAAAAAAAAAAAAAAAABwAH/6P/8gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/5AAAAAAAA/9EAAAAA//wAAP/8AAAAAAAA//n/+f/2AAAAAAAA//L/9gAAAAAAAP/8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/5//EAAP/x//YAAAAAAAAAAAAAAAAAAAAAAAD/8QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD//P/2AAAAAP/xAAAAAAAAAAD/+f/9AAAAAP/5AAAAAAAAAAAAAP/2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/5gAA//YAAAAAAAD/7AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/+QAAAAAAAAAAAAD/8gAAAAAAAAAA//kAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAD/8gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//wAAAAA//wAAAAA//wAAAAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD//AAAAAAAAAAAAAD/+f/cAAAAAP/5AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/sAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/9gAAAAAAAAAAAAD//AAAAAAAAAAAAAAAAAAAAAAAAP+wAAAAAAAA/9H/3wAAAAAAAAAAAAD/+f/hAAAAAP/wAAAAAP/y/9v/7P/z/98AAAAAAAD//AAA/+v/3f/e/+gAAAAAAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/s//EAAAAAAAAAAP/vAAAAAP/xAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/7wAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/9gAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/ogAA//AAAAAAAAAAAP/S//IAAP/wAAAAAAAAAAD/8gAAAAAAAAAAAAAAAP/mAAD/wP/l//AAAP/mAAD/7P/i//oAAP/mAAD/9v/YAAAAAP/sACgAAAAQAAAAAP/lAAAAAAAA//YAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/9z/6AAAAAD/7AAAAAD/3AAA/5YAAAAAAAAAAP/8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/zAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/cAAAAAAAA//b/6AAAAAAAAAAA//IABgAAAAYAAP/SAAAAAAAAAAT/6AANAAAAAP+QAAD/+AAAAAAAAAAA/87/6AAAAAAAAAAAAAD/9v+yAAAAAAAAAAAAAAAA/88AAP/H/9H/2P/v/+gAAP/o//AAAAAA/+gAAAAA/98AAP/sAAAAAAAAAAAAAAAA/9gAAAAAAAAAAAAAAAAALv+1AAAAAP/v/+8AAP/v/+8AAAAAAAAAAAAA/8cAAAAAAAD/9v/mAAAAAAAAAAAAAAAA//wAAAAAAAAAAAAA/9IAAP/0//L/4//n/+b/9gAAAAAAAP/1AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/8gAAAAD/5gAA/+z/7wAA/+X/7AAA/+wAAP/1//AAAP/5AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/+QAAAAAAAAAAAAAAAP/8AAAAAAAA//b/7AAAAAAADQAA//IAAAAAAAAAAAADAAYAAAAAAAb/6AAN//wAAAAAAAAAAAAAAAAAAAAA//b/7wAAAAAAAAAPAAD/7P/sAAAAAAAA/94AAAAAAAAAAP/o/+v/3AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/uAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD//AAAAAAAAAAAAAAAAAAAAAAADQAAAAAAAAAAAAAAAAAA//n/+QAA//kAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/+wAAAAA/+UAAAAAAAAAAP/2//wAAAAA//YAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/+gAA/9//5//zAAD/8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/4wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/yAAAAAAAAAAAAAAAA//oAAAAAAAAAAP/zAAAAAAAAAAD/5f/o//z/6P/IAAAAAAAAAAAAAP/cAAAAAAAAAAD/7P/EAAAAAAAAAAAAAAAAAAD/vv/iAAD/0v/o/+wAAP/s//MAAAAA/+gAAAAAAAAAAP/sAAD/9gAA//D/9gAAAAD/8P/Y//b/3wAAAAAAAAAUAAAAAP/p/+kAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/98AAP/m/+wAAAAA/+YAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//IAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFwAA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AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAGAAD//AAA//wAAAAA//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/w/98AAAAAAAAAAAAA//oACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/+v/yQAAAAD/ygAAAAAAAAAAAAD/8v/w/8T/2AAAAAD/5QAA/+sAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/0QAAAAAAAAAAAAAAAAAAAAD/7//sAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/3//U/5z/zf/o/70AAAAA/94AAAAAAAAAAAAA//z/8P/vAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/o/7YAAAAAAAD/8v/5//wAAP/5//n/8QAA//n/9f+w/+UAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/7T/ywAAAAAAAP/1//z/8gAA//z/9v/y/+X/5f/1/+X/+f/s/9gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//b/7P/o/+j/9f/1/88AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/9gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA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AAAAAAAAAAAAAAAAAAAAAAAA//wAAAAA//YAAAAA//IAAAAAAAAAAP/8//AAAAAAAAAAAAAAAAD//AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/9gAAAAAAAAAAAAAAAP/2AAAAAP/s//YAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/6AAA/+kAAAAAAAAACv/sAAD/8gAAAAAAAAAA//b/8P/fAAAAAAAAAAAAAAAAAAAAAAAAAAD/6f/2AAAAAAAAAAD/5QAAAAD/4QAA//YAAAAA//b/8//2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//b/6QAAAAAAAP/oAAAAAAAAAAAAAAAAAAAAAAAAAAD/9gAAAAAAAAAAAAAAAAAAAAAAAAAK//b/8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABoAAAAaAAAALQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAh/9EAAAAAAAAAAAAAAAD/8AAAABQAAP/wAAAAAAAXAAD/8AAAABAAAAAaAAAAAAAXAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPAAhAAAAYgAA//YADQAOAAAAAAAAABQAAAAAAAAAAAAAAAYAAP/2//AAAAAAAAD//AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAD/8AAAAAD/8AAQADX/vQAoAA8AAP/EADUAAAAdAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABsAAAAAAAAAAAAAAAAAAAAAADUAAAAAAAAAAAAAAAAAAAAAAAD/8gAA//IAAAAo//wADQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwAAAAoAAAAHQAvAAD/8gAA/9//7AAA/98AAAAA/7AAAAAA//D/sAAAAAAAAAAAAAAAAP/wAAD/9gAQ/9//3//2AAD/+v/Y/9//9gAXAAAAAAAA//YAD//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAvABgAAAAAAAD/6AAAAC0AFAAAAAAAAP+cADUAAAAAADX/7AA1/9//5QAAAAAAAAA1AAD/7wAAAAAAAAAA/+z/7AAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/YAAAAAAAA/+UAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGAAAAAAADAAAAAAAGAA3/3AANAAAAAP/oAAAAAAAAAAAAAAAAAAAAAAAAAAD/9gAAAAAAAAAA//YAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/2AAAAAAAAAAAAAAAA/9gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/7wAA/+UAAP/1AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/2AAD/7wAAAA8AAP/8AAgAAAAAAAAAAAAA//kAAAAA//IAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWAAD/8f/5//b//AAAAAD//AAAAAAAAAAAAAD/7AAA/+j/8gAAAAAAAAAAAAD/7wAA//kAAP/1AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//b/7AAAAAD/9gAAAAAACQAAAAD/8AAAAA0ACf/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/yAAD/7AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/iAAD/4gAAAAAAAAAA/98AAAAAAAAAAAAAAAAAAP/j/98AAAAAAAD/6AAAAAAAAAAAAAAAAP/o//AAFAALAA0AHf/mABQADwAAAAD/7wAA//b/7//wAA0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/yAAAAAAAAAAAAAP/5AAAAAAAAAAAAAP/5AAD/5f/vAAAAAAAAAA0AAP/5AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/+3/7//H/9j/9P/m/+cAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/9gAAAAAAAAAAAAAAAP/yAAAAAAAAAAAAAAAA/+sAAAAAAAD/7//8//wAAAAA//wAAP/vAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/y/+P/5gAAAAD//AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/7AAAAAD/8AAAAAAAAAAA//L/9//m/+b/7AAA/+X/7AAA/+wAAP/1//AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/+QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD//P/lAAAAAAAAAAAAAAAA//kAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANAAAAAAAAAAAAAAAAAAAAAAAAAAD/9gAA/+j/7AAAAAD/3gADAAAAAAADAAAAAAAGAAv/6AAGAAAAAAAAAAAAAAAAAAAAAAAAAAD/9gAAAAAAAP/pAAD/+QAA//n/8P/y/+8AAAAPAAAAAP/l//IAAAAAAAAAAAAA/+wAEAAAAAAAAP/2AAAAAP/vAAD/7AAAAAAAAAAAAAb/5v/8//wAAAAAAAD/8gAA/9gAAAAA/93/9gAAAAAAAAAAAAAAAAAAAAAAAAAA/+4AAAAAAAAAAAAAAAAAAAAAAAP/6AAAAAAAAP/2//L/2P/sAAAAAAAAAAAAAAAAAAD/twAA/7T/7P+3AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/3wAAAAAAAP/s/+wAAAAAAAD/8gAA/9sAAAAA/+8AAP/sAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP+//7AAAP/JAAD/9v/8//YAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/+v/vQAAAAD/ygAA//IAAAAAAAD/8v/y/8r/3wAAAAD/5f/w/+sAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/vQAAAAAAAAAAAAAAAAAAAAD/6//yAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/6f/s/4//0f/l/78AAAAA/+gAAP/2AAAAAAAAAAD/7P/o//AAAAAAAAAAAAAAAAAAAAAAAAAAAP/2/78AAAAEAAD/9gAAAAD//f/2//b//AAAAAD//P/L//AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/7//qwAAAAAAAP/8AAD/9gAA//z/6AAA//D/4f/y/+j/8gAA/+EAAAAAAAD/7AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//IAAP/sAAAAAAAA/+gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//oAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/+QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGAAAAAAAXABMAAAANAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/7P/yAAD/5gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ABwAA/+wAAAAAAAAAAP/rAAAAAAAA/+MAAP/2//YAAP/YAAD/8AAAAAAAAAAAAAAAAP/sAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAmAAD/3AAA//YAAAAAAAAAAAAAAAAAAAAAAAD/8gAA/+b/7gAAAAAAAAAAAAD/8gAK//IAAP/yAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/+L/7P/P/9//1f/P/+wAAP+PAAD/8wAA/6n/9gAAAAAACgAGAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/+YAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD//P/mAAAAAAAAAAAAAAAA//IAAP/j/9z/0gAAAAAAAP/2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/vwAAAAAAAAAAAAAAAP/uAAD/7QAAAAAAAP/B/9//q//FAAD/q//m/+b/iP/uAAD/7P+WAAD/wAAAAAAAAAAA/7f/2P/cAAD/p/+//8X/1f/C/6D/u//Z/+z/3//E/+j/3//z/88AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP+jAAAAAAAAAAD/0//Z/4IAAP/s/+gAAP/YAAD/t//RAAD/2QAAAAD/y/++/6cAAAAAAAD/0v/S/9MAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/qwAAAAAAAAAAAAD/8gAA/9gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAAAAAAAAAAAAAAAAAEAAD//AAAACgAAAAAAAAAAAARAAAAAAAA//wAAAAA//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//kAAAAAAAAAAAAGAAAANwAAAAAAAAAAAAAAAAAAAAAAAAAA//wAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//z//AAAAAD/8gAbAAAAAAAbAAAAAAAA//z/9gAhACEAAP/8//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD//AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/8AAD//AAAAAAALQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/2/+z/7P/yAAAAAAAA//kAGwAAAAAAGwAAAAAAAP/8//YAFAAUAAAAAAAAAAAAAAAAAAcAAP/5/+8AKAAbAAcAB//2ACQAGwAAAAD//AAA//YABv/sAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD//AAAAAAAAAAEAAAABwBDAAAAAAAAAAAAAAAAAAAAAAAAAAD/9gAAAAAAAAAAABQAAAAHAAAAAAAAAAAAFAAHAAAAAAAAAAAAAAAAAAcAAAAAAAAAAAAAAAAAAP/4AAcAAAAA//b/8v/o/+X/9v/sAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/+v/yQAAAAD/wwAA//z//AAAAAD/+f/8/8T/3AAAAAD/5f/l/+sAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/yQAAAAAAAAAAAAAAAAAAAAD/8f/2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/8v/f/73/0f/2/70AAAAA/+sAAAAAAAAAAAAAAAAAAP/1AAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/v/74AAAAAAAAAAAAAAAAAAAAAAAD/9QAAAAD/8v/LAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/8T/vQAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/7wAAAAAAAAAA/+8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA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AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIACwOHA64AAAOwA8IAKAPFA8YAOwPIA/gAPQP9BA4AbgQRBBQAgAQWBB4AhAWTBboAjQW8Bc4AtQXRBdIAyAXUBd4AygACAKsDhwOHAAIDiAOJADkDigOKABMDiwOLADADjAOMABkDjQONACEDjgOOADkDjwOQACoDkQORACEDkgOUACoDlQOVACQDlgOWACoDlwOXAA0DmAOYABADmQOZAC0DmgOaADYDmwObAAsDnAOcABYDnQOdADADngOfACoDoAOgADADoQOhACcDogOiACoDowOjACcDpAOlACQDpgOmACoDpwOoABkDqQOpAAYDqgOqABMDqwOrABADrAOsAAkDrQOuACoDsAOwAB4DsQOyACcDswOzADMDtAO0ACEDtQO1ACoDtgO2ADYDtwO3ACoDuAO4ADsDuQO5ACQDugO6ABwDuwO8ABMDvQO9ACEDvgO+ADkDvwPAACEDwQPBADADwgPCABADxQPFABYDxgPGADADyAPIACoDyQPJACEDygPKAAIDywPMABkDzQPNACQDzgPOACoDzwPQACQD0QPSADYD1APUAAMD1QPVADcD1gPWABED1wPXAC4D2APYABcD2QPZAB8D2gPaADcD2wPcACgD3QPdAB8D3gPgACgD4QPhACID4gPiACgD4wPjACID5APkAA4D5QPlACsD5gPmADQD5wPnACID6APoABQD6QPpAC4D6gPrACgD7APsAC4D7QPtACUD7gPuACgD7wPvACUD8APxACID8gPyACgD8wP0ABcD9QP1AAQD9gP2ABED9wP3AA4D+AP4AAcD/QP+ACUD/wP/ADEEAAQAAB8EAQQBACgEAgQCADQEAwQDACgEBAQEACUEBQQFACIEBgQGABoEBwQIABEECQQJAB8ECgQKADcECwQMAB8EDQQNAC4EDgQOAA4EEQQRABQEEgQSAC4EEwQTADEEFAQUAB8EFwQYABcEGQQZACIEGgQaACgEGwQcACIEHQQeADQFkwWTAAEFlAWVADgFlgWWABIFlwWXAC8FmAWYABgFmQWZACAFmgWaADgFmwWcACkFnQWdACAFngWgACkFoQWhACMFogWiACkFowWjAAwFpAWkAA8FpQWlACwFpgWmADUFpwWnAAoFqAWoABUFqQWpAC8FqgWrACkFrAWsAC8FrQWtACYFrgWuACkFrwWvACYFsAWxACMFsgWyACkFswW0ABgFtQW1AAUFtgW2ABIFtwW3AA8FuAW4AAgFuQW6ACkFvAW8AB0FvQW+ACYFvwW/ADIFwAXAACAFwQXBACkFwgXCADUFwwXDACkFxAXEADoFxQXFACMFxgXGABsFxwXIABIFyQXJACAFygXKADgFywXMACAFzQXNAC8FzgXOAA8F0QXRABUF0gXSAC8F1AXUACkF1QXVACAF1gXWAAEF1wXYABgF2QXZACMF2gXaACkF2wXcACMF3QXeADUAAgEbAAIAAgBoAAQABAAwAAgACAAwAAsACwBqABAAEAAwABIAEgAwABUAFQAzABYAFgA1ABcAFwA4ABkAGQA7ABoAGgA9ABsAGwBrACEAIQAuACQAJABvAC8ALwAyADEAMQA2ADQANAA8ADYASwBoAFEAVQAwAGwAdAAwAIUAhQBqAJwAtQAwAMUAygAzAMsA4QA1AOYA7QA9AO4A8gBrATsBRgBvAYoBkAAyAawBswA8Ab0BvQBvAdEB0QA8AfEB8QAyAgICAgAuAgUCBgAuAgcCEwBpAj4CPgAuA2UDZQBhA4cDhwAcA4gDigBuA4sDiwAgA4wDjABuA40DjQBPA44DjgBOA48DkQBuA5IDkgAlA5MDlABuA5UDlQAqA5YDlwBuA5gDmAAqA5kDmQADA5oDmgBMA5sDmwAjA5wDnAAnA50DnQBuA54DngAeA58DoABuA6EDoQADA6IDowBuA6QDpABOA6UDpQBuA6YDpgBNA6cDqABuA6kDqQADA6oDqgBuA6sDqwAqA6wDrABVA60DrgBuA7ADsABLA7EDsQAlA7IDsgBuA7MDswADA7QDtQBuA7YDtgBMA7cDtwBuA7gDuAAsA7kDuQAqA7oDugABA7sDuwBuA70DvQBPA74DvgBOA78DvwBuA8ADwAADA8EDwQBuA8IDwgAqA8MDwwBRA8UDxQAnA8YDxgAeA8cDyABuA8kDyQBPA8oDygAcA8sDywBtA8wDzABuA84DzgBuA88D0AAqA9ED0gBMA9MD0wAbA9QD1ABKA9UD1gBfA9cD1wAfA9gD2ABZA9kD2QBFA9oD2gAtA9sD3QBfA94D3gAkA98D4ABfA+ED4QBZA+ID4gBfA+MD4wBeA+QD5ABZA+UD5QACA+YD5gArA+cD5wBZA+gD6AAmA+kD6QBfA+oD6gAdA+sD7ABfA+0D7QACA+4D7wBfA/AD8AAiA/ED8QBfA/ID8gBEA/MD9ABZA/UD9QBGA/YD9gBfA/cD9wBZA/gD+AAhA/kD+gBmA/wD/ABHA/0D/QAkA/4D/gBfA/8D/wBGBAAEAQBfBAIEAgArBAMEAwBfBAQEBAAEBAUEBQBZBAYEBgAoBAcEBwBfBAgECABdBAkECQBFBAoECgAtBAsECwBfBAwEDAACBA0EDQBfBA4EDgBZBA8EEAAoBBEEEQAmBBIEEgAdBBQEFABFBBYEFwAbBBgEGABZBBkEGQBbBBoEGgBfBBsEHABZBB0EHgArBE4ETwAUBFAEUQATBFIEUgAUBFMEUwBiBFUEVQAFBFcEWABABFkEWQA/BFoEWgAGBFsEWwA/BFwEXAAGBF0EXgAUBF8EXwBTBGAEYABQBGEEYQBTBGIEYgBQBGMEZgBSBGkEagBSBGsEawAWBHEEcQBXBHMEcwBXBHUEdQBXBHYEdgBaBHgEeABBBHoEegAHBIAEgABiBIEEgQAFBIIEggBiBIMEhAAFBIYEhgBXBIgEiABXBIoEigBXBJEEkQBCBJIEkgBDBJkEmQBvBJoEmgBjBJwEnAAvBKAEoAAvBKIEogBwBKMEowBkBKgEqAAvBKoEqgAvBKwErAAxBK0ErQBlBK4ErgA0BK8ErwA3BLAEsAA5BLEEsQA6BLMEswA+BLQEyQBjBM8E0wAvBOoE8gAvBPcFAgBwBQMFAwBkBRoFMwAvBTsFQQAxBUMFSABlBUkFXwA0BWAFYwA5BWwFcAA+BZMFkwAIBZQFlgBgBZcFlwAKBZgFmABgBZkFmQBWBZoFmgBJBZsFnQBgBZ4FngANBZ8FoABgBaEFoQApBaIFowBgBaQFpAApBaUFpQARBaYFpgBIBacFpwAMBagFqAAOBakFqQBgBaoFqgAJBasFrABgBa0FrQARBa4FrwBgBbAFsABJBbEFsQBgBbIFsgBYBbMFtABgBbUFtQARBbYFtgBgBbcFtwApBbgFuAALBbkFugBgBbwFvAAQBb0FvQANBb4FvgBgBb8FvwARBcAFwQBgBcIFwgBIBcMFwwBgBcQFxAASBcUFxQApBcYFxgAPBccFxwBgBckFyQBWBcoFygBJBcsFywBgBcwFzAARBc0FzQBgBc4FzgApBc8FzwAVBdEF0QAOBdIF0gAJBdMF1ABgBdUF1QBWBdYF1gAIBdcF1wBsBdgF2ABgBdoF2gBgBdsF3AApBd0F3gBIBewF7AAXBe0F7QAaBe8F7wAYBfAF8AAZBfMF8wBUBfUF9QBcBfcF9wBnBt0G3QA/Bt4G3wAGBuAG4AA/B2YHZwAuAAIMcAAEAAAMtg1KAAsAkAAAABQAFAAU//kAUP/sAA3/7AANAFD/7AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACEAKAAoAAAABAAAAAAAAAAAAAQAAP/2ACEAD//m//b/5v/PAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAKAAo//AAGgAA/+z/twAAABoAAP/2ACEAKP+k//b/pP92ABT/3f/R/8n/0f/d/8j/v//1/+b/0v+7/53/7P/l/8v/9QAU/9H/ov/1/+b/0v+7/53/ugAU//X/5v/S/7v/nf/s/+z/3f/I/7//6v/V/97/7P+6/6z/mP+g//b/8v/i/+L/5f/c/9z/9gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//b/9v/jABAAAP/s/+X/2P/lAAD/7AAA//b/4/++AAD/vgAAAAAAAP/2/+wABv/5AAD/7QAAAAD/5v/j/9EAAP/y/8sAAAAAAAb/2AAAAAD/5v/j/9EAAAAAAAAAAP/m/+P/0QAAAAD/+QAA/+0AAAAA//YAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/v/+j/8v/l//L/9v/o/+v/7P/o//L/8v/l//n//P/l/+X/7P/v//L/5f/s//kAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/+X/5f/5AAAAAP/2AAAAAP/b//b/2wAAAAAAAAAA//IAAP/8AAD/7wAAAAD/8v/y/9j//AAA/8sAAAAAAAD/7AAAAAD/8v/y/9j/8gAAAAAAAP/y//L/2AAAAAD//AAA/+8AAAAA/+///P/yAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//z/7P/yAAD/7P/sAAAAAP/sAAD/7P/yAAD//P/fAAAAAAAA/+z/8gAAAAD/+f/2//L/9v/5//n/8v/5//L/8v/5//L/2//y//IAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/zAAAAAP/i/90AAP/vAAD/4gAAAAD/8//JAAD/yQAAAAAAAAAA/9gAAP/5AAD/6wAAAAD/3//c/9L/+QAA/8QAAAAAAAAAAAAAAAD/3//c/9L/8gAAAAAAAP/f/9z/0gAAAAD/+QAA/+sAAAAA//b/+f/yAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/i/+//6P/yAAD/8v/l//L/7P/yAAD/6P/yAAAAAAAAAAD/7v/i/+j/8v/uAAD/3wAAAAAAAAAAAAAAAAAAAAD/7P/f/+wAAAAAAAD/7P/c/+z/3P/sAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/6wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/9//xf/E/+wAAP+1AAn/7P/8AAD/tQAA/9j/xAAJAAAACQAA/8QAAAAAAAD/7AAAAAAADf/f/+wAAAAAAAAAAAAA//n/3//E/+wAAP/f/+wAAAAAAAAAAP/E/9//7AAAAAAAAAAAAAAAAAAAAA0AAAAAAA0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/yAAAAAP/5AAD/6AAAAAAAAP/5AAAAAP/5/8gAAAAAAAAAAP/yAAD/+QAAAAAAAAAA//EAAABBAEEAAAA1AAAAAAAAAAAAAAAAAAD//AAA//wAAP/8/9X/yP/2AC3/yP/z/9//xP/f/+z/7P/fADX/7P+r/9X/yP/y/9//9v+t/6v/1v/L//L/ewAAAAAAAAAA/9z/xf/E/+wAAP+uABQAAAAAAAD/rgAH/9T/xAAAAAcAAAAAAAAAAAAAAAD/3wAAAAAAAP/GAAAAAAAAAAAAAAAAAAf/xgAA/98AAP/GAAAAAAAAAAAAAAAA/8YAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/5AAD/6AAAAAAAAAAAAAAAAP/5/9EAAAAAAAAAAAAAAAD/+QAAAAD/2AAAAAAAAAAAAAAAAAAAAAAAAP/YAAAAAAAAAAAAAAAAAAAAAAAA/7//xv/PADX/xgAAAAAAAAAAAAAAAAAAAAAAAP+r/7//xv/w/9P/z/98/6v/1gAA//IAAP/z//P/5gAA/9gAAP+wAAAAAP+hAAYAAAAAAAD/oQAA/9H/qQAAAAAAAAAAAAAAAAAAAAD/3wAAAAAAAP/jAAAAAAAAAAAAAAAAAAD/4wAA/98AAP/jAAAAAAAAAAAAAAAA/+MAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/2AAAAAP/2AAD/3wAAAAAAAAAAAAAAAP/2/8kAAAAAAAAAAP/2AAD/9gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/yf/sAAD/yQAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/yQAAAAD/7P+NAAD/xgAA/+UAAAAAAAAAAAACAAsETgRTAAAEVQRVAAYEVwRmAAcEaQRqABcEcARwABkEcgRyABoEdAR0ABsEgASFABwEhwSHACIEiQSJACMG3QbgACQAAgAYBE4ETwACBFAEUQABBFIEUgACBFMEUwAEBFUEVQAHBFcEWAAKBFkEWQAIBFoEWgAJBFsEWwAIBFwEXAAJBF0EXgACBF8EXwAFBGAEYAAGBGEEYQAFBGIEYgAGBGMEZgADBGkEagADBIAEgAAEBIEEggAHBIMEgwAEBIQEhAAHBt0G3QAIBt4G3wAJBuAG4AAIAAIBRAACAAIAgwALAAsACwAUABQAWgAVABUAMgAWABYANAAXABcANwAYABgAOgAZABkAXAAaABoAEQAbABsAXQAcABwAggAeACAALgAhACEAhAAiACIAhQAlACUACgAoACkAjgAqACoALgArACsAjgAsACwALgAtAC0AjgAuAC4AhgAvAC8AMAAxADEANQAyADIAOAAzADMAWwA0ADQAOwA1ADUAjwA2AEsAgwBMAE4AgQCFAIUACwC9AMMAWgDFAMoAMgDLAOEANADiAOUAOgDmAO0AEQDuAPIAXQD4ARAAggERAREAEAETAS0ALgEuATUAhQE6AToAEAFHAUcAjgFIAUgACgFMAUwAjgFVAV8AjgFhAXoALgF7AYEAjgGCAYgAhgGKAZAAMAGoAasAOAGsAbMAOwG0AbgAjwG7AbsAjgG8AbwACgG/Ab8AjgHCAcQALgHGAcYALgHHAccAjgHNAc0ACgHOAdAALgHRAdEAOwHWAdYAjgHdAd0AjgHgAeAAjgHhAeEACgHiAeMAjgHkAeYALgHqAeoAjgHsAewAjgHuAe4AhgHvAfAACgHxAfEAMAH1AfUAXgH5AfoAjwICAgIAhAIFAgYAhAIVAjQALgI+Aj4AhAI/Aj8AdwJCAkIAVQJEAkQAWQJJAkkAdwJMAkwAWAJQAlAAVwJRAlEAKwJSAlIADwJTAlMAJQJUAlQAVAJVAlUAJgJWAlYAVgJXAlcAdgJYAloAZgJcAlwAZAJdAl0AfwJeAl4ADwJfAl8AYwJgAmAAIwJhAmEAeAJiAmIAYAJjAmMAeQJkAmQAewJlAmUAgAJqAmoAYQJsAmwAYgJuAm4AJwJvAm8AbQJwAnAAfgJxAnEAJwJyAnIAKQJ0AnQAJwJ1AnUAUwJ3AngAJwJ7AnsAJwJ8AnwAIwJ9An0AewKBAoEAJwKEAoQAJwKHApAAdgKRApIAdwKTApYAZgKbAp4AZgKlAqgAZgKxArQAZAK5ArkAZgK6ArwAfwLAAsEADwLCAsUAYwLMAswAdwLNAtQAdgLWAtcAZgLeAt4AVgLfAuAAYwLnAvMAIwL0AvsAewMXAx4AJwMfAyAAfgMxAzsAJwM8A0cAIwNUA18AJwNhA2IAJwOHA4cAdAOLA4sAAwONA40ACQOOA44AUAOSA5IADgOZA5kAHwOaA5oABwObA5sAFwOcA5wASwOeA54AFgOhA6EAHwOkA6QAUAOmA6YATgOpA6kAHwOsA6wASAOwA7AABgOxA7EADgOzA7MAHwO2A7YABwO4A7gAIgO6A7oAGgO9A70ACQO+A74AUAPAA8AAHwPDA8MAawPFA8UASwPGA8YAFgPJA8kACQPKA8oAdAPLA8sAiAPNA80AiQPRA9IABwPTA9MAcwPVA9YAjQPXA9cAAQPYA9gAGwPZA9kAUQPaA9oATwPbA90AjQPeA94ADQPfA+AAjQPhA+EAGwPiA+IAjQPkA+QAGwPlA+UAHQPmA+YAIAPnA+cAGwPoA+gASgPpA+kAjQPqA+oAFAPrA+wAjQPtA+0AHQPuA+8AjQPwA/AASQPxA/EAjQPyA/IATQPzA/QAGwP1A/UADAP2A/YAjQP3A/cAGwP4A/gAdQP8A/wABQP9A/0ADQP+A/4AjQP/A/8ADAQABAEAjQQCBAIAIAQDBAMAjQQEBAQACAQFBAUAGwQGBAYAGAQHBAcAjQQIBAgAiwQJBAkAUQQKBAoATwQLBAsAjQQMBAwAHQQNBA0AjQQOBA4AGwQPBBAAGAQRBBEASgQSBBIAFAQUBBQAUQQWBBcAcwQYBBgAGwQaBBoAjQQbBBwAGwQdBB4AIAQvBC8AQwQ1BDUARgRFBEUAQgRLBEsARQRNBE0AQQROBE8AhwRSBFIAhwRUBFQAigRWBFYAjARXBFgAPwRZBFkAPQRaBFoAPgRbBFsAPQRcBFwAPgRdBF4AhwR6BHoAEgSaBJoALQScBJwALwSgBKAALwSjBKMAcQSoBKgALwSqBKoALwSsBKwAaQStBK0AMQSuBK4AMwSvBK8ANgSwBLAAOQSxBLEAcgSyBLIAPASzBLMAagS0BMkALQTPBNMALwTqBPIALwUDBQMAcQUaBTMALwU7BUEAaQVDBUgAMQVJBV8AMwVgBWMAOQVkBWsAPAVsBXAAagV2BXYAJAV5BXkAegV7BXsAaAV9BX0AKAWABYAAJAWDBYMAZwWEBYQAKAWHBYcAZQWIBYgAKgWJBYkALAWKBYoAfQWLBYsAcAWNBY0AfAWPBY8ALAWQBZAAJAWSBZIAfAWTBZMAEwWXBZcAAgWZBZkAUgWhBaEAHAWkBaQAHAWlBaUAHgWmBaYATAWnBacABAWoBagAbgWqBaoAFQWtBa0AHgW1BbUAHgW3BbcAHAW4BbgAXwW8BbwAbwW/Bb8AHgXCBcIATAXEBcQAIQXFBcUAHAXGBcYAGQXJBckAUgXMBcwAHgXOBc4AHAXPBc8AbAXRBdEAbgXSBdIAFQXVBdUAUgXWBdYAEwXbBdwAHAXdBd4ATAXhBeEARAXkBeQAQAXmBeYARwa+Br4AVQa/Br8AVgbdBt0APQbeBt8APgbgBuAAPQdmB2cAhAAAAAEAAAAKAlwIrAAEREZMVAAaY3lybABQZ3JlawDCbGF0bgD6AAQAAAAA//8AFgAAAAoAFAAeACgAMgA8AE4AWABiAGwAdgCAAIoAlACeAKgAsgC8AMYA0ADaAAoAAVNSQiAAPgAA//8AFwABAAsAFQAfACkAMwA9AEYATwBZAGMAbQB3AIEAiwCVAJ8AqQCzAL0AxwDRANsAAP//ABcAAgAMABYAIAAqADQAPgBHAFAAWgBkAG4AeACCAIwAlgCgAKoAtAC+AMgA0gDcAAQAAAAA//8AFwADAA0AFwAhACsANQA/AEgAUQBbAGUAbwB5AIMAjQCXAKEAqwC1AL8AyQDTAN0AIgAFQVpFIABUQ1JUIACITlNNIAC8U0tTIADwVFJLIAEkAAD//wAWAAQADgAYACIALAA2AEAAUgBcAGYAcAB6AIQAjgCYAKIArAC2AMAAygDUAN4AAP//ABcABQAPABkAIwAtADcAQQBJAFMAXQBnAHEAewCFAI8AmQCjAK0AtwDBAMsA1QDfAAD//wAXAAYAEAAaACQALgA4AEIASgBUAF4AaAByAHwAhgCQAJoApACuALgAwgDMANYA4AAA//8AFwAHABEAGwAlAC8AOQBDAEsAVQBfAGkAcwB9AIcAkQCbAKUArwC5AMMAzQDXAOEAAP//ABcACAASABwAJgAwADoARABMAFYAYABqAHQAfgCIAJIAnACmALAAugDEAM4A2ADiAAD//wAXAAkAEwAdACcAMQA7AEUATQBXAGEAawB1AH8AiQCTAJ0ApwCxALsAxQDPANkA4wDkYWFsdAVaYWFsdAVaYWFsdAVaYWFsdAVaYWFsdAVaYWFsdAVaYWFsdAVaYWFsdAVaYWFsdAVaYWFsdAVaYzJzYwViYzJzYwViYzJzYwViYzJzYwViYzJzYwViYzJzYwViYzJzYwViYzJzYwViYzJzYwViYzJzYwViY2FzZQVsY2FzZQVsY2FzZQVsY2FzZQVsY2FzZQVsY2FzZQVsY2FzZQVsY2FzZQVsY2FzZQVsY2FzZQVsY2NtcAVyY2NtcAVyY2NtcAVyY2NtcAVyY2NtcAVyY2NtcAVyY2NtcAVyY2NtcAVyY2NtcAVyY2NtcAVyZG5vbQWEZG5vbQWEZG5vbQWEZG5vbQWEZG5vbQWEZG5vbQWEZG5vbQWEZG5vbQWEZG5vbQWEZG5vbQWEZnJhYwWKZnJhYwWKZnJhYwWKZnJhYwWKZnJhYwWKZnJhYwWKZnJhYwWKZnJhYwWKZnJhYwWKZnJhYwWKbGlnYQWUbGlnYQWUbGlnYQWUbGlnYQWUbGlnYQWUbGlnYQWUbGlnYQWUbGlnYQWUbGlnYQWUbGlnYQWUbG9jbAWabG9jbAWgbG9jbAWobG9jbAW0bG9jbAW0bG9jbAWubG9jbAWubG9jbAW0bnVtcgW6bnVtcgW6bnVtcgW6bnVtcgW6bnVtcgW6bnVtcgW6bnVtcgW6bnVtcgW6bnVtcgW6bnVtcgW6b251bQXAb251bQXAb251bQXAb251bQXAb251bQXAb251bQXAb251bQXAb251bQXAb251bQXAb251bQXAb3JkbgXGb3JkbgXGb3JkbgXGb3JkbgXGb3JkbgXGb3JkbgXGb3JkbgXGb3JkbgXGb3JkbgXGb3JkbgXGcG51bQXMcG51bQXMcG51bQXMcG51bQXMcG51bQXMcG51bQXMcG51bQXMcG51bQXMcG51bQXMcG51bQXMc2FsdAXSc2FsdAXSc2FsdAXSc2FsdAXSc2FsdAXSc2FsdAXSc2FsdAXSc2FsdAXSc2FsdAXSc2FsdAXSc2luZgY4c2luZgY4c2luZgY4c2luZgY4c2luZgY4c2luZgY4c2luZgY4c2luZgY4c2luZgY4c2luZgY4c21jcAXsc21jcAXsc21jcAXsc21jcAXsc21jcAXsc21jcAXsc21jcAXsc21jcAXsc21jcAXsc21jcAXsc3MwMQX6c3MwMQX6c3MwMQX6c3MwMQX6c3MwMQX6c3MwMQX6c3MwMQX6c3MwMQX6c3MwMQX6c3MwMQX6c3MwMgYIc3MwMgYIc3MwMgYIc3MwMgYIc3MwMgYIc3MwMgYIc3MwMgYIc3MwMgYIc3MwMgYIc3MwMgYIc3MwMwYUc3MwMwYUc3MwMwYUc3MwMwYUc3MwMwYUc3MwMwYUc3MwMwYUc3MwMwYUc3MwMwYUc3MwMwYUc3MwNAYgc3MwNAYgc3MwNAYgc3MwNAYgc3MwNAYgc3MwNAYgc3MwNAYgc3MwNAYgc3MwNAYgc3MwNAYgc3MwNQYuc3MwNQYuc3MwNQYuc3MwNQYuc3MwNQYuc3MwNQYuc3MwNQYuc3MwNQYuc3MwNQYuc3MwNQYuc3VicwY4c3VicwY4c3VicwY4c3VicwY4c3VicwY4c3VicwY4c3VicwY4c3VicwY4c3VicwY4c3VicwY4c3VwcwY+c3VwcwY+c3VwcwY+c3VwcwY+c3VwcwY+c3VwcwY+c3VwcwY+c3VwcwY+c3VwcwY+c3VwcwY+emVybwZKemVybwZKemVybwZKemVybwZKemVybwZKemVybwZKemVybwZKemVybwZKemVybwZKemVybwZKAAAAAgAAAAEAAAADABEAEgATAAAAAQAjAAAABwAIAAkACgALAAwADQAOAAAAAQAXAAAAAwAWABgAGQAAAAEALwAAAAEABQAAAAIABQAGAAAAAQAEAAAAAQADAAAAAQACAAAAAQAWAAAAAQAgAAAAAQAaAAAAAQAfAAAACwADACQAJQAnACgAKQAqACsALAAtAC4AAAAFAA8AEAASABQAFQAKAAMAJAAlACYAAAEBAAgAAgAnACgAAAECAAgAAgApACoAAAEDAAoAAwArACwALQAAAQQABgABACEAAAEAAAAAAQAeAAAABAAaABsAHAAdAAAAAQAiADIAZgdoDPwNCg0eDUANVg1qDeAOSA6KD6oQpBtkHFAc9B1aHmQh6iICIlokaCUeJUglciWGJggmZiZ+JqgmyicKJ1AnliekJ7oolCjSKOYo+ilWKWopoim2Ke4qDCp8KpIqxCrkAAEAAAABAAgAAgVeAqwEtAS1BLYEtwS4BLkEugS7BLwEvQS+BL8EwATBBMIEwwTEBMUExgTHBMgEyQTKBMsEzATNBM4EzwTQBNEE0gTTBNQE1QTWBNcE2ATZBNoE2wTcBN0E3gTfBOAE4QTiBOME5ATlBOYE5wToBOkE6gTrBOwE7QTuBO8E8ATxBPIE8wT0BPUE9gUDBQQFBQUGBQcFCAUJBQoFCwUMBQ0FDgUPBRAFEQUSBRMFFAUVBRYFFwUYBRkFGgUbBRwFHQUeBR8FIAUhBSIFIwUkBSUFJgUnBSgFMgUzBSkFKgUrBSwFLQUuBS8FMAUxBTQFNgU1BTcFOAU5BToFOwU8BT0FPgU/BUAFQQVCBUMFRAVFBUYFRwVIBUkFSgVLBUwFTQVOBU8FUAVRBVIFUwVUBVUFVgVXBVgFWQVaBVsFXAVdBV4FXwVgBWEFYgVjBWQFZQVmBWcFaAVpBWoFawVsBW0FbgVvBXAFcQVyBXMFdQTKBMsEzATNBM4EzwTQBNEE0gTTBNQE1QTWBNcE2gTbBNwE3QTeBN8E4AThBOIE4wTkBOUE5gTnBOgE6QTzBPQE9QT2BPcE+AT5BPoE+wT8BP4E/wUABQEFAQUCBQMFBAUFBQYFDwUQBREFEgUTBRQFFQUWBRcFGAUZBRoFGwUcBR0FHgUfBSAFIQUiBSMFJAUlBSYFJwUoBTIFMwUpBSoFKwUsBS0FLgUvBTAFMQU0BTcFNgU1BTgFOQU6BTsFPAU9BT4FPwVABUEFQgVDBUQFRQVGBUcFSAVJBUoFSwVMBU0FTgVPBVAFUQVSBVMFVAVVBVYFVwVYBVkFWgVbBVwFXQVeBV8FYAVhBWIFYwVkBWUFZgVnBWgFaQVqBWsFbAVtBW4FbwVwBXEFcgV0BXUE8gV2BXcFeAV5BXoFewV8BX0FfwWABYEFggWDBYQFhQWGBYcFiAWJBYoFiwWMBY0FdgV6BXwFfgWOBYQFiQWPBY0CeQJ6AnsFdgV2BXYFdgV2BXYFdgV2BXYFdgV2BXYFegV6BXoFegV6BXoFegV6BXwFfAV8BXwFfAV8BXwFfAV8BXwFfgV+BX4FfgV+BX4FfgV+BX4FfgWEBYQFhAWEBYQFhAWEBYQFhgWJBYkFiQWJBYkFiQWJBYkFjQWNBY0FjQWNBY0FjQWNBY0FjQWQBZAFkAWQBZAFkAWQBZAFkAWRBZEFkQWRBZEFkQWRBZEFkQWSBZIFkgWSBZIFkgWSBZIFkgNnBZMFlAWVBZYFlwWYBZkFmgWbBZwFnQWeBZ8FoAWhBaIFowWkBaUFpgWnBagFqQWqBasFrAWtBa4FrwWwBbEFsgWzBbQFtQW2BbcFuAW5BboFvAW9Bb4FvwXABcEFwgXDBcQFxQXGBccFyAXJBcoFywXMBc0FzgXPBdAF0QXSBdMF1AXVBdYF1wXYBdkF2gXbBdwF3QXeBZMFlQWWBZcFmAWZBZoFmwWcBZ0FngWfBaAFoQWiBaMFpAWlBaYFpwWoBakFqgWrBawFrQWuBa8FsAWxBbIFswW0BbUFtgW3BbgFuQW6BbwFvQW+Bb8FwAXBBcIFwwXEBcUFxgXHBcgFyQXKBcsFzAXNBc4FzwXQBdEF0gXTBdUF1gXXBdgF2QXaBdsF3AXdBd4FlAXfBC0ERQRGBEcESARJBEoESwRMBE0EOQQvBDAEMQQyBDMENAQ1BDYENwZ2BeoF6wXsBFYF7QXuBe8F8AXxBfIF+AX5BfoF+wSXBP0GNQZzBnQGdQb7Bv0G/wcEBwYHCAcKBwwHDgcQBxMHFgcYBygHKgc8Bz8HQwdFB0cHSQdLB00HTwdRB1MHVQdXAj4AAgBEADYAeAAAAIUA9QBDAPcA9wC0AQ4BGwC1AR4BLQDDATYBNwDTATkBRgDVAUgBSwDjAVUBXwDnAWEBjgDyAZABuwEgAb0BvQFMAc4BzgFNAj8CRgFOAkgCXwFWAmECYQFuAmcCZwFvAnQCdAFwAocCrgFxArEC5gGZA2YDZgHPA4cDrgHQA7AD0wH4A9UD+gIcA/wEFAJCBBYEHwJbBCEEIQJlBCwELAJmBC8EOAJnBEUETQJxBFAEUAJ6BFMEXAJ7BHIEdQKFBJYElgKJBJkEmQKKBjQGNAKLBlEGUQKMBlcGVwKNBlwGXAKOBvoG+gKPBvwG/AKQBv4G/gKRBwMHAwKSBwUHBQKTBwcHBwKUBwkHCQKVBwsHCwKWBw0HDQKXBw8HDwKYBxIHEgKZBxUHFQKaBxcHFwKbBycHJwKcBykHKQKdBzsHOwKeBz4HPgKfB0IHQgKgB0QHRAKhB0YHRgKiB0gHSAKjB0oHSgKkB0wHTAKlB04HTgKmB1AHUAKnB1IHUgKoB1QHVAKpB1YHVgKqB2cHZwKrAAMAAAABAAgAAQUEAI8BJAEqATABNgE8AUIBSAFOAVQBXAFiAWgBbgF0AXoBgAGGAYwBkgGYAZ4BpAGqAbABtgG8AcIBygHQAdYB3AHiAegB8AH2Af4CBAIKAhICGAIeAiQCKgIwAjYCPAJCAkgCTgJUAloCYAJmAmwCcgJ4An4ChAKKApAClgKcAqICqAKuArQCugLAAsYCzALSAtgC3gLkAuoC8AL2AvwDAgMIAw4DFAMaAyADJgMsAzIDOAM+A0QDSgNQA1YDXANiA2gDbgN0A3oDgAOGA4wDkgOYA54DpAOqA7ADtgO8A8IDyAPcA+wD/AQMBBwELAQ8BEwEXARsBHQEegSABIYEjASSBJgEngSkBKoEsAS0BL4EyATO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B18AAgb8B18AAgc4AAEABQb6BwEHBwcWBxgABAAAAAEACAABAM4AEAAmADAAOgBEAE4AWABiAGwAdgCAAJIAnACmALAAugDEAAEABABLAAIHKQABAAQAagACBykAAQAEAHMAAgb8AAEABACDAAIHKQABAAQAtQACBykAAQAEANsAAgcpAAEABAENAAIHKQABAAQBGAACBw8AAQAEASwAAgcpAAIABgAMATUAAgb8ATIAAgcnAAEABAFEAAIHKQABAAQBTgACBw8AAQAEAXoAAgcpAAEABAGKAAIHDwABAAQBoQACBykAAQAEAjEAAgcnAAEAEAACAAYACAAKABAAFgAcAB8AIAAiACQAJwAqAC8AMAIsAAQAAAABAAgAAQqIABYAMgFEAYYCiALyAzQDPgOIBIoFagWsBnwHBgdIB1oH5Ai0CPYJOAl6CdQKLgAeAD4ARgBOAFYAXgBmAG4AdgB+AIYAjgCWAJ4ApgCuALYAvgDEAMoA0ADWANwA4gDoAO4A9AD6AQABBgEMAs4AAwNuBxYCzQADA24HGALSAAMDbgdaAtAAAwNuB1sC1AADA24HXALRAAMDbgddAs8AAwNuB14C0wADA24HXwLOAAMHOQcWAs0AAwc5BxgC0gADBzkHWgLQAAMHOQdbAtQAAwc5B1wC0QADBzkHXQLPAAMHOQdeAtMAAwc5B18CzAACA24CiQACBvQCigACBvcCkgACBv4CkQACBwECiAACBxYChwACBxgCzAACBzkCjgACB1oCjAACB1sCkAACB1wCjQACB10CiwACB14CjwACB18ACAASABgAHgAkACoAMAA2ADwClQACBvQClgACBvcClAACBxYCkwACBxgCmgACB1oCmAACB1sCmQACB10ClwACB14AHAA6AEIASgBSAFoAYgBqAHIAegCCAIoAkgCaAKIAqgCyALoAwADGAMwA0gDYAN4A5ADqAPAA9gD8AtcAAwNuBxYC1gADA24HGALbAAMDbgdaAtkAAwNuB1sC3QADA24HXALaAAMDbgddAtgAAwNuB14C3AADA24HXwLXAAMHOQcWAtYAAwc5BxgC2wADBzkHWgLZAAMHOQdbAt0AAwc5B1wC2gADBzkHXQLYAAMHOQdeAtwAAwc5B18C1QACA24CnQACBvQCngACBvcCnAACBxYCmwACBxgC1QACBzkCogAC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BXwFfAV8BXwFfgV+BX4FfgV+BX4FfgV+BX4FfgV+BX4FfgWOBY4FjgWEBYQFhAWEBYQFhAWEBYQFhgWGBYkFiQWJBYkFiQWJBYkFiQWJBYkFiQWJBYkFjwWPBY8FjQWNBY0FjQWNBY0FjQWNBY0FjQWNBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZEFkQWRBZEFkQWRBZEFkQWRBZEFkQWRBZIFkgWSBZIFkgWSBZIFkgWSBZIFkgWSAAIAAQLnA18AAAABAAAAAQAIAAIDVgGoBJoEmwScBJ0EngSfBKAEoQSiBKMEpASlBKYEpwSoBKkEqgSrBKwErQSuBK8EsASxBLIEswS0BLUEtgS3BLgEuQS6BLsEvAS9BL4EvwTABMEEwgTDBMQExQTGBMcEyATJBMoEywTMBM0EzgTPBNAE0QTSBNME1ATVBNYE1wTYBNkE2gTbBNwE3QTeBN8E4AThBOIE4wTkBOUE5gTnBOgE6QTqBOsE7ATtBO4E7wTwBPEE8gTzBPQE9QT2BPcE+AT5BPoE+wT8BP0E/gT/BQAFAQUCBQMFBAUFBQYFBwUIBQkFCgULBQwFDQUOBQ8FEAURBRIFEwUUBRUFFgUXBRgFGQUaBRsFHAUdBR4FHwUgBSEFIgUjBSQFJQUmBScFKAUyBTMFKQUqBSsFLAUtBS4FLwUwBTEFNAU2BTUFNwU4BTkFOgU7BTwFPQU+BT8FQAVBBUIFQwVEBUUFRgVHBUgFSQVKBUsFTAVNBU4FTwVQBVEFUgVTBVQFVQVWBVcFWAVZBVoFWwVcBV0FXgVfBWAFYQViBWMFZAVlBWYFZwVoBWkFagVrBWwFbQVuBW8FcAVxBXIFcwV0BXUFdgV3BXgFeQV6BXsFfAV9BX4FfwWABYEFggWDBYQFhQWGBYcFiAWJBYoFiwWMBY0FdgV6BXwFfgWOBYQFiQWPBY0FdgV2BXYFdgV2BXYFdgV2BXYFdgV2BXYFegV6BXoFegV6BXoFegV6BXwFfAV8BXwFfAV8BXwFfAV8BXwFfgV+BX4FfgV+BX4FfgV+BX4FfgV+BX4FhAWEBYQFhAWEBYQFhAWEBYYFiQWJBYkFiQWJBYkFiQWJBY0FjQWNBY0FjQWNBY0FjQWNBY0FkAWQBZAFkAWQBZAFkAWQBZAFkQWRBZEFkQWRBZEFkQWRBZEFkgWSBZIFkgWSBZIFkgWSBZIFkwWUBZUFlgWXBZgFmQWaBZsFnAWdBZ4FnwWgBaEFogWjBaQFpQWmBacFqAWpBaoFqwWsBa0FrgWvBbAFsQWyBbMFtAW1BbYFtwW4BbkFugW8Bb0FvgW/BcAFwQXCBcMFxAXFBcYFxwXIBckFygXLBcwFzQXOBc8F0AXRBdIF0wXUBdUF1gXXBdgF2QXaBdsF3AXdBd4AAgAGAAIAGwAAADYA9wAaAj8CXwDcAocC5gD9A4cDrgFdA7AD0gGFAAEAAAABAAgAAQAGAb4AAgABBCIEKwAAAAEAAAABAAgAAgAuABQF3wXqBesF7ARWBe0F7gXvBfAF8QXyBfMF9AX1BfYF9wX4BfkF+gX7AAIABQQhBCEAAARTBFwAAQRjBGMACwRlBGYADARwBHUADgABAAAAAQAIAAIBwADdBJoEmwScBJ0EngSfBKAEoQSiBKMEpASlBKYEpwSoBKkEqgSrBKwErQSuBK8EsASxBLIEswS0BLUEtgS3BLgEuQS6BLsEvAS9BL4EvwTABMEEwgTDBMQExQTGBMcEyATJBMoEywTMBM0EzgTPBNAE0QTSBNME1ATVBNYE1wTYBNkE2gTbBNwE3QTeBN8E4AThBOIE4wTkBOUE5gTnBOgE6QTqBOsE7ATtBO4E7wTwBPEE8wT0BPUE9gT3BPgE+QT6BPsE/AT+BP8FAAUBBQEFAgUDBQQFBQUGBQcFCAUKBQkFCwUMBQ0FDgUPBRAFEQUSBRMFFAUVBRYFFwUYBRkFGgUbBRwFHQUeBR8FIAUhBSIFIwUkBSUFJgUnBSgFMgUzBSkFKgUrBSwFLQUuBS8FMAUxBTQFNwU2BTUFOAU5BToFOwU8BT0FPgU/BUAFQQVCBUMFRAVFBUYFRwVIBUkFSgVLBUwFTQVOBU8FUAVRBVIFUwVUBVUFVgVXBVgFWQVaBVsFXAVdBV4FXwVgBWEFYgVjBWQFZQVmBWcFaAVpBWoFawVsBW0FbgVvBXAFcQVyBXQFdQVzBPIE/QACAAsAHAA1AAAA+AE3ABoBOQFGAFoBSAFLAGgBTQFfAGwBYQGOAH8BkAG7AK0BvQG9ANkByAHIANoBzgHOANsEmQSZANwAAQAAAAEACAACAJ4ATAWTBZQFlQWWBZcFmAWZBZoFmwWcBZ0FngWfBaAFoQWiBaMFpAWlBaYFpwWoBakFqgWr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';\r\n pdfDoc.addFileToVFS('SourceSansPro-Regular-normal.ttf', font);\r\n pdfDoc.addFont('SourceSansPro-Regular-normal.ttf', 'SourceSansPro', 'normal');\r\n\r\n const boldfont = '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AAIAAAAHBwwBGwAA////+gAAAkMDVAImAAIAAAAHBxABGwAA////+v8fAkMCjAImAAIAAAAHBwUBG/zm////+gAAAkMDdgImAAIAAAAHBwoBGwAA////+gAAAkMDfwImAAIAAAAHB0cBGwAA////+gAAAkMDfwImAAIAAAAHB0kBGwAA////+gAAAkMDlQImAAIAAAAHB0sBGwAA////+gAAAkMDwwImAAIAAAAHB00BGwAA////+v8fAkMDQwImAAIAAAAnBvsBGwAAAAcHBQEb/Ob////6AAACQwPdAiYAAgAAAAcHTwEbAAD////6AAACQwPdAiYAAgAAAAcHUQEbAAD////6AAACQwPOAiYAAgAAAAcHUwEbAAD////6AAACQwPLAiYAAgAAAAcHVQEbAAD////6/x8CQwNQAiYAAgAAACcHAwEbAAAABwcFARv85gAC//r/IQJZAowAHgAoAF8AuAAARVi4AA4vG7kADgARPlm4AABFWLgADC8buQAMAAU+WboAGAAAAAMruAAMELgACdC6AAsADAAOERI5uAALL7gACRC4ABDQuAALELkAIAAB9LoAJgAMAA4REjkwMQUiJjU0PgI3IycjByMTMxMOAxUUFjMyNjcXDgEBBzMnLgEnIw4BAfAwQhAYHQwoKMcolsyxzBUhFw0XEAsUCCIUO/7cEIsPDhoNBAwZ3zEtFykhGQebmwKM/XQCERoeDxMTCQVKDxQCKTw8MW4zNG0AAv/yAAADGQKMAAYAFgB8ALgAAEVYuAAILxu5AAgAET5ZuAAARVi4AAcvG7kABwAFPlm4AABFWLgAEy8buQATAAU+WboAFAAIAAcREjm4ABQvuQABAAH0ugAEAAgABxESObgACBC5AAoAAvS6AA8ACAATERI5uAAPL7kADQAB9LgAExC5ABEAAvQwMQEHMxEjDgEJASEVIxUzFSMVIRUhNSMHAS8qfQQUJ/6vATYB5/rT0wEE/mmxRAFkXQEWMF7+cQKMfIN7lnyVlf////IAAAMZA5ACJgBMAAAABwb4AhgAEv////IAAAMZA0ECJgBMAAAABwb/AhgAEgADABoAAAJUAowAFwAgAC0AXwC4AABFWLgABS8buQAFABE+WbgAAEVYuAAXLxu5ABcABT5ZuQAiAAH0uAAs0LgAAdC4ACwQuAAr0LgABNC4ACsQuAAo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//8AAAEtAy8CJgAKAAAABwb/AJYAAP//AEEAAADrA1cCJgAKAAAABwcGAJYAAP///+wAAAFAA1QCJgAKAAAABwcQAJYAAP//ADwAAAD2A3YCJgAKAAAABwcKAJYAAP//AEX/HwDnAowCJgAKAAAABwcFAJb85gABACr/IQEFAowAGAA1ALgAAEVYuAAKLxu5AAoAET5ZuAAARVi4AAkvG7kACQAFPlm6ABIAAAADK7gACRC4AAzQMDEXIiY1ND4CNyMRMxEOARUUFjMyNjcXDgGdMEMPFhoLJ5MoIhoPCxMHIRM73zEtGCghGAgCjP10ES8aFBIJBUoPFP////MAAAE5A1ACJgAKAAAABwcDAJYAAP//ABD/9AIRA0MCJgALAAAABwb7AWcAAP//AE3/EQJsAowCJgAMAAAABwclAUwAAP//AE3/HwJsAowCJgAMAAAABwcFAUz85v//AE3/RQJsAowCJgAMAAAABwb+AUv89f//AE0AAAHiA34CJgANAAAABwb4AJoAAP//AE0AAAHiAt0CJgANAAAABwcRAXb/2///AE3/EQHiAowCJgANAAAABwclASIAAP//AE0AAAHzAowCJgANAAAABwROAQQA+P//AE3/HwHiAowCJgANAAAABwcFASL85v//AAP/HwHiAy8CJgANAAAAJwb/AJoAAAAHBwUBIvzm//8ATf9FAeICjAImAA0AAAAHBv4BIvz1AAH/6QAAAekCjAANAE8AuAAARVi4AAQvG7kABAARPlm4AABFWLgADC8buQAMAAU+WboADQAMAAQREjm4AA0vuQACAAH0uAAF0LgADRC4AAjQuAAMELkACQAC9DAxNyc3ETMRNxcHFSEVITUbMmuTnjLQAQL+a7BYPAFI/vxXWHGafNL//wBNAAACrQN+AiYADgAAAAcG+AF9AAD//wBNAAACrQNXAiYADgAAAAcHBgF9AAD//wBN/x8CrQKMAiYADgAAAAcHBQF//Ob//wBNAAACTAN+AiYADwAAAAcG+AFNAAD//wBNAAACTAN+AiYADwAAAAcG9QFNAAD//wBNAAACTANUAiYADwAAAAcHEAFNAAD//wBNAAACTANUAiYADwAAAAcG/QFNAAD//wBN/xECTAKMAiYADwAAAAcHJQFXAAD//wBNAAACTANXAiYADwAAAAcHBgFNAAD//wBN/x8C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mAApAFUAuAAARVi4ABwvG7kAHAARPlm4AABFWLgAAC8buQAAAAU+WbkABwAC9LoADQAcAAAREjm4ABwQuQASAAL0uAAAELgAFtC4ABYvugAgAA0ADhESOTAxBSImJzceATMyNjU0Ji8BNy4BIyIVESMRND4CMzIWFwceAxUUDgIBz0FdHE0YLRYgJkRTCm0NNCmBlCFFaklifxdsJTwsGBszTAwsHFoYEyggHjMPVn0XJJz+ewGZN11EJ2VSegwgKzklKEYzHf//ABkAAAITA1QCJgAVAAAABwcQARYAAP//ABn/EQITAowCJgAVAAAABwcoARgAAP//ABn/EQITAowCJgAVAAAABwclARYAAP//ABn/HwITAowCJgAVAAAABwcFARb85v//ABn/RQITAowCJgAVAAAABwb+ARb89QABABkAAAITAowAEABJALgAAEVYuAAILxu5AAgAET5ZuAAARVi4AAAvG7kAAAAFPlm7AAUAAQACAAQruAAIELkACgAC9LgABRC4AA3QuAACELgADtAwMTMRIzU3MzUjNSEVIxUzFSMRzHZeGLMB+rN2dgEdQQasfHysR/7j//8ASf/0Ak8DfgImABYAAAAHBvUBTAAA//8ASf/0Ak8DfgImABYAAAAHBvgBTAAA//8ASf/0Ak8DQwImABYAAAAHBvsBTAAA//8ASf/0Ak8DVAImABYAAAAHBv0BTAAA//8ASf/0Ak8DSAImABYAAAAHBwgBTAAA//8ASf/0Ak8DLwImABYAAAAHBv8BTAAA//8ASf/0Ak8DUAImABYAAAAHBwMBTAAA//8ASf/0Ak8DfgImABYAAAAHBwwBTAAA//8ASf/0Ak8DeQImABYAAAAHBw4BTAAA//8ASf/0Ak8DVAImABYAAAAHBxABTAAA//8ASf/0Ak8DrQImABYAAAAHB0MBTAAA//8ASf/0Ak8D8QImABYAAAAHBzwBTAAA//8ASf/0Ak8D4wImABYAAAAHB0UBTAAA//8ASf/0Ak8D8QImABYAAAAHBz8BTAAA//8ASf8fAk8CjAImABYAAAAHBwUBTPzm//8ASf/0Ak8DdgImABYAAAAHBwoBTAAAAAEASf8hAk8CjAAoAEcAuAAARVi4AAwvG7kADAARPlm4AABFWLgACC8buQAIAAU+WboAIgAAAAMruAAIELkAEQAC9LgADBC4ABXQuAAIELgAHNAwMQUiJjU0PgI3LgE1ETMRFBYzMjY1ETMRFA4CBw4BFRQWMzI2NxcOAQFlMEIPFRUHc3eUOjc3PI4UKkAsJiEaEAoSCCIUO98xLRcnHhUGB5eaAV7+k2BMTGABbf6iRWJHMRQRMBQUEgkFSg8UAAEASf/0AtUDQgAgADcAuAAARVi4AAQvG7kABAARPlm4AABFWLgAAC8buQAAAAU+WbkACQAC9LgABBC4AA3QuAAd3DAxBSImNREzERQWMzI2NREzPgM1NCYnNx4BFRQGBxEUBgFOf4aUOjc3PEYPHhcPCgZtCxNHP4MMlqQBXv6TYExMYAFtAQYPHBcUIgssETMePkEL/tiklv//AEn/9ALVA34CJgDcAAAABwb4AUwAAP//AEn/9ALVA34CJgDcAAAABwb1AUwAAP//AEn/9ALVA3YCJgDcAAAABwcKAUwAAP//AEn/9ALVA1QCJgDcAAAABwb9AUwAAP//AEn/HwLVA0ICJgDcAAAABwcFAUz85v//AA4AAAMgA34CJgAYAAAABwb1AZYAAP//AA4AAAMgA34CJgAYAAAABwb4AZYAAP//AA4AAAMgA0MCJgAYAAAABwb7AZYAAP//AA4AAAMgA0gCJgAYAAAABwcIAZYAAP////gAAAIVA34CJgAaAAAABwb1AQYAAP////gAAAIVA34CJgAaAAAABwb4AQYAAP////gAAAIVA0MCJgAaAAAABwb7AQYAAP////gAAAIVA0gCJgAaAAAABwcIAQYAAP////gAAAIVA1cCJgAaAAAABwcGAQYAAP////j/HwIVAowCJgAaAAAABwcFAQj85v////gAAAIVA3YCJgAaAAAABwcKAQYAAP////gAAAIVA1QCJgAaAAAABwb9AQYAAP//ACQAAAH8A34CJgAbAAAABwb4ARoAAP//ACQAAAH8A1QCJgAbAAAABwcQARoAAP//ACQAAAH8A1cCJgAbAAAABwcGARoAAP//ACT/HwH8AowCJgAbAAAABwcFARn85v//ACT/RQH8AowCJgAbAAAABwb+ARn89QACABoAAAJlAowAEAAhAFkAuAAARVi4AAMvG7kAAwARPlm4AABFWLgADy8buQAPAAU+WboAIAADAA8REjm4ACAvuAAA0LgAIBC5AB8AAfS4AAHQuAAPELkAEgAC9LgAAxC5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9AElAxkCJgJoAAAABwb5AIoAAP///9X/9AE/AsgCJgJoAAAABwcHAIoAAP//ACT/9AIFAxkCJgJuAAAABwb5ARcAAP//ACv/9AHpAxkCJgJzAAAABwb5AQcAAP//ACv/9AHpAsgCJgJzAAAABwcHAQcAAP//ACj/9ALCAxkCJgJ3AAAABwb5AXUAAP///83/9AFHAyECJgJoAAAABwc9AIoAAP//ACv/9AHpAyECJgJzAAAABwc9AQcAAP////kAAAKVApEAJgACUgAABgN+AgD////0AAAChQKRACYAAkIAAAYDfwAA////8QAAAnQCngAmAAIxAAAGA4AHAP////sAAAJ0Ap4AJgACMQAABgNrBwD////3AAADPAKeACcAAgD5AAAABgOBAAD////0AAADOwKeACcAAgD4AAAABgOCAAD////3AAADMgKeACcAAgDvAAAABgODAAD////0AAADMQKeACcAAgDuAAAABgOEAAD////oAAACrQKdACYAAmoAAAYDhQAA////6AAAAq0CnQAmAAJqAAAGA4YAAP////oAAAJDA1ACJgACAAAABwcDARsAAP////oAAAJDAy8CJgACAAAABwb/ARsAAP////cAAAKSApEAJwAGAKMAAAAGA34AAP////QAAAKSApEAJwAGAKMAAAAGA38AAP///+oAAAJmAp4AJgAGdwAABgOAAAD////0AAACZgKeACYABncAAAYDawAA////9wAAAzUCngAnAAYBRgAAAAYDgQAA////9AAAAzQCngAnAAYBRQAAAAYDggAA////9wAAAysCngAnAAYBPAAAAAYDgwAA////9AAAAyoCngAnAAYBOwAAAAYDhAAA////9wAAAvgCkQAnAAkAowAAAAYDfgAA////9AAAAvgCkQAnAAkAowAAAAYDfwAA////6gAAAswCngAmAAl3AAAGA4AAAP////QAAALMAp4AJgAJdwAABgNrAAD////3AAADmwKeACcACQFGAAAABgOBAAD////0AAADmgKeACcACQFFAAAABgOCAAD////3AAADkQKeACcACQE8AAAABgODAAD////0AAADkAKeACcACQE7AAAABgOEAAD////oAAADNAKdACcACQDfAAAABgOFAAD////oAAADNAKdACcACQDfAAAABgOGAAD////3AAABgwKRACcACgCjAAAABgN+AAD////0AAABgwKRACcACgCjAAAABgN/AAD////qAAABVwKeACYACncAAAYDgAAA////9AAAAVcCngAmAAp3AAAGA2sAAP////cAAAImAp4AJwAKAUYAAAAGA4EAAP////QAAAIlAp4AJwAKAUUAAAAGA4IAAP////cAAAIcAp4AJwAKATwAAAAGA4MAAP////QAAAIbAp4AJwAKATsAAAAGA4QAAP///+gAAAG/Ap0AJwAKAN8AAAAGA4UAAP///+gAAAG/Ap0AJwAKAN8AAAAGA4YAAP////MAAAE5A1ACJgAKAAAABwcDAJYAAP////8AAAEtAy8CJgAKAAAABwb/AJYAAP////f/9AMMApgAJwAQAI4AAAAGA34AAP////T/9AL6ApgAJgAQfAAABgN/AAD////q//QC6AKeACYAEGoAAAYDgAAA////9P/0AtoCngAmABBcAAAGA2sAAP////f/9AO3Ap4AJwAQATkAAAAGA4EAAP////T/9AO2Ap4AJwAQATgAAAAGA4IAAP////f/9AOfAp4AJwAQASEAAAAGA4MAAP////T/9AOeAp4AJwAQASAAAAAGA4QAAP////QAAALTApEAJwARAKMAAAAGA38AAP////QAAALjApEAJwAaAM4AAAAGA38AAP///+oAAALIAp4AJwAaALMAAAAGA4AAAP////QAAALIAp4AJwAaALMAAAAGA2sAAP////QAAAOWAp4AJwAaAYEAAAAGA4IAAP////QAAAOMAp4AJwAaAXcAAAAGA4QAAP///+gAAAMiAp0AJwAaAQ0AAAAGA4YAAP////gAAAIVA1ACJgAaAAAABwcDAQYAAP////gAAAIVAy8CJgAaAAAABwb/AQYAAP////cAAAMpApgAJwJWAI4AAAAGA34AAP////QAAAMXApgAJgJWfAAABgN/AAD////qAAADAAKeACYCVmUAAAYDgAAA////7QAAAvcCngAmAlZcAAAGA2v5AP////cAAAPPAp4AJwJWATQAAAAGA4EAAP////QAAAPOAp4AJwJWATMAAAAGA4IAAP////cAAAPFAp4AJwJWASoAAAAGA4MAAP////QAAAPEAp4AJwJWASkAAAAGA4QAAP///+gAAANBAp0AJwJWAKYAAAAGA4UAAP///+gAAANBAp0AJwJWAKYAAAAGA4YAAP////r/9ANiAowAJgACAAAABwNuAjoAAP////n/9AO0ApEAJgACUgAAJgN+AgAABwNuAowAAP////T/9AOjApEAJgACQgAAJgN/AAAABwNuAnsAAP////f/9ARaAp4AJwACAPkAAAAmA4EAAAAHA24DMgAA////9P/0BFoCngAnAAIA+AAAACYDggAAAAcDbgMyAAD////3//QEUAKeACcAAgDvAAAAJgODAAAABwNuAygAAP////T/9ARQAp4AJwACAO4AAAAmA4QAAAAHA24DKAAA////6P/0A8sCnQAmAAJqAAAmA4UAAAAHA24CowAA////6P/0A8sCnQAmAAJqAAAmA4YAAAAHA24CowAA//8ATf/0A8YCjAAmAAkAAAAHA24CngAA////9//0BGgCkQAnAAkAowAAACYDfgAAAAcDbgNAAAD////0//QEaAKRACcACQCjAAAAJgN/AAAABwNuA0AAAP////f/9AUMAp4AJwAJAUYAAAAmA4EAAAAHA24D5AAA////9P/0BQoCngAnAAkBRQAAACYDggAAAAcDbgPiAAD////3//QFAgKeACcACQE8AAAAJgODAAAABwNuA9oAAP////T/9AUAAp4AJwAJATsAAAAmA4QAAAAHA24D2AAA////6P/0BKQCnQAnAAkA3wAAACYDhQAAAAcDbgN8AAD////o//QEpAKdACcACQDfAAAAJgOGAAAABwNuA3wAAP//ACz/9APrApgAJgJWAAAABwNuAsMAAP////f/9AR6ApgAJwJWAI4AAAAmA34AAAAHA24DUgAA////9P/0BGgCmAAmAlZ8AAAmA38AAAAHA24DQAAA////9//0BR4CngAnAlYBNAAAACYDgQAAAAcDbgP2AAD////0//QFHgKeACcCVgEzAAAAJgOCAAAABwNuA/YAAP////f/9AUUAp4AJwJWASoAAAAmA4MAAAAHA24D7AAA////9P/0BRQCngAnAlYBKQAAACYDhAAAAAcDbgPsAAD////o//QEkgKdACcCVgCmAAAAJgOFAAAABwNuA2oAAP///+j/9ASSAp0AJwJWAKYAAAAmA4YAAAAHA24DagAA//8AJP/0Ak8DIwImAmAAAAAHBwkBJQAK//8AJP/0Ak8DEQImAmAAAAAHBxYBJQAA//8AJP/0Ak8DOgImAmAAAAAHBvQBJQAA//8AJP/0Ak8DOgImAmAAAAAHBvcBJQAA//8AJP/0Ak8DGQImAmAAAAAHB14BJQAA//8AJP/0Ak8DGQImAmAAAAAHB1sBJQAA//8AJP/0Ak8DGQImAmAAAAAHB10BJQAA//8AJP/0Ak8DGQImAmAAAAAHB1oBJQAA//8AJP/0Ak8DUAImAmAAAAAHB18BJQAA//8AJP/0Ak8DUAImAmAAAAAHB1wBJQAA//8AJP/0Ak8C5wImAmAAAAAHBwEBJQAA//8AJP/0Ak8CrQImAmAAAAAHBv4BJQAA//8AJP/0Ak8C4wImAmAAAAAHBvwBJQAA//8AJP/0AcMDGQImAmQAAAAHBwkBBAAA//8AJP/0AcMDEQImAmQAAAAHBxYBBAAA//8AJP/0AcMDOgImAmQAAAAHBvQBBAAA//8AJP/0AcMDOgImAmQAAAAHBvcBBAAA//8AJP/0AcMDGQImAmQAAAAHB14BBAAA//8AJP/0AcMDGQImAmQAAAAHB1sBBAAA//8AJP/0AcMDGQImAmQAAAAHB10BBAAA//8AJP/0AcMDGQImAmQAAAAHB1oBBAAA//8ANv9PAfYDGQImAmYAAAAHBwkBMgAA//8ANv9PAfYDEQImAmYAAAAHBxYBMgAA//8ANv9PAfYDOgImAmYAAAAHBvQBMgAA//8ANv9PAfYDOgImAmYAAAAHBvcBMgAA//8ANv9PAfYDGQImAmYAAAAHB14BMgAA//8ANv9PAfYDGQImAmYAAAAHB1sBMgAA//8ANv9PAfYDGQImAmYAAAAHB10BMgAA//8ANv9PAfYDGQImAmYAAAAHB1oBMgAA//8ANv9PAfYDUAImAmYAAAAHB18BMgAA//8ANv9PAfYDUAImAmYAAAAHB1wBMgAA//8ANv9PAfYC4wImAmYAAAAHBvwBMgAA//8AMP/0ASUDIwImAmgAAAAHBwkAigAK//8AKf/0ASUDEQImAmgAAAAHBxYAigAA////y//0ASUDOgImAmgAAAAHBvQAigAA//8AQf/0AUkDOgImAmgAAAAHBvcAigAA////yP/0ASUDGQImAmgAAAAHB14AigAA////x//0ASUDGQImAmgAAAAHB1sAigAA////yP/0ASsDGQImAmgAAAAHB10AigAA////0f/0ASoDGQImAmgAAAAHB1oAigAA////7v/0ASYDUAImAmgAAAAHB18AigAA////7v/0ASYDUAImAmgAAAAHB1wAigAA////4f/0ATMC5wImAmgAAAAHBwEAigAA////9v/0ASUCrQImAmgAAAAHBv4AigAA////zP/0AUgC4wImAmgAAAAHBvwAigAA////zf/0AUcDIQImAmgAAAAHB0AAigAA////zf/0AUcDIQImAmgAAAAHBz0AigAA////3//0ATUDRwImAmgAAAAHB0EAigAA//8AJP/0AgUDIwImAm4AAAAHBwkBFwAK//8AJP/0AgUDEQImAm4AAAAHBxYBFwAA//8AJP/0AgUDOgImAm4AAAAHBvQBFwAA//8AJP/0AgUDOgImAm4AAAAHBvcBFwAA//8AJP/0AgUDGQImAm4AAAAHB14BFwAA//8AJP/0AgUDGQImAm4AAAAHB1sBFwAA//8AJP/0AgUDGQImAm4AAAAHB10BFwAA//8AJP/0AgUDGQImAm4AAAAHB1oBFwAA//8APf9PAhEDIwImAnAAAAAHBwkBKwAK//8APf9PAhEDEQImAnAAAAAHBxYBKwAA//8AK//0AekDIwImAnMAAAAHBwkBBwAK//8AK//0AekDEQImAnMAAAAHBxYBBwAA//8AK//0AekDOgImAnMAAAAHBvQBBwAA//8AK//0AekDOgImAnMAAAAHBvcBBwAA//8AK//0AekDGQImAnMAAAAHB14BBwAA//8AK//0AekDGQImAnMAAAAHB1sBBwAA//8AK//0AekDGQImAnMAAAAHB10BBwAA//8AK//0AekDGQImAnMAAAAHB1oBBwAA//8AK//0AekDUAImAnMAAAAHB18BBwAA//8AK//0AekDUAImAnMAAAAHB1wBBwAA//8AK//0AekC4wImAnMAAAAHBvwBBwAA//8AK//0AekC5wImAnMAAAAHBwEBBwAA//8AK//0AekCrQImAnMAAAAHBv4BBwAA//8AK//0AekDIQImAnMAAAAHB0ABBwAA//8AK//0AekDIQImAnMAAAAHBz0BBwAA//8AK//0AekDRwImAnMAAAAHB0EBBwAA//8AKP/0AsIDIwImAncAAAAHBwkBdQAK//8AKP/0AsIDEQImAncAAAAHBxYBdQAA//8AKP/0AsIDOgImAncAAAAHBvQBdQAA//8AKP/0AsIDOgImAncA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Lxu5AA8ABT5ZugAIAA8AAhESObgAAhC4AAzQMDEzNQMzFx4BFzM+AT8BMwMVoKicKgoVCwQLFgsqmKe1AVtrHzcgIDcfa/6ltQABACQAAAG/AhAACQBFALgAAEVYuAAELxu5AAQACz5ZuAAARVi4AAkvG7kACQAFPlm5AAcAAfS4AAHQuAABL7gABBC5AAIAAfS4AAbQuAAGLzAxMzUTIzUhFQMzFSTn0AGB5+pXAUF4V/6/eP////oAAAH+AxECJgSaAAAABwb1APj/k/////oAAAH+AxECJgSaAAAABwb4APj/k/////oAAAH+AtYCJgSaAAAABwb7APj/k/////oAAAH+AucCJgSaAAAABwb9APj/k/////oAAAH+AtsCJgSaAAAABwcIAPj/k/////oAAAH+AsICJgSaAAAABwb/APj/k/////oAAAH+AuMCJgSaAAAABwcDAPj/k/////oAAAH+AxECJgSaAAAABwcMAPj/k/////oAAAH+AucCJgSaAAAABwcQAPj/k/////r/HwH+AhACJgSaAAAABwcFAPj85v////oAAAH+AwkCJgSaAAAABwcKAPj/k/////oAAAH+AxICJgSaAAAABwdHAPj/k/////oAAAH+AxICJgSaAAAABwdJAPj/k/////oAAAH+AygCJgSaAAAABwdLAPj/k/////oAAAH+A1YCJgSaAAAABwdNAPj/k/////r/HwH+AtYCJgSaAAAAJwb7APj/kwAHBwUA+Pzm////+gAAAf4DcAImBJoAAAAHB08A+P+T////+gAAAf4DcAImBJoAAAAHB1EA+P+T////+gAAAf4DYQImBJoAAAAHB1MA+P+T////+gAAAf4DXgImBJoAAAAHB1UA+P+T////+v8fAf4C4wImBJoAAAAnBwMA+P+TAAcHBQD4/OYAAv/6/yECEwIQAB4AKABfALgAAEVYuAAOLxu5AA4ACz5ZuAAARVi4AAwvG7kADAAFPlm6ABgAAAADK7gADBC4AAnQugAKAA4ADBESObgACi+4AAkQuAAQ0LgAChC5ACAAAfS6ACYADgAMERI5MDEFIiY1ND4CNyMnIwcjEzMTDgMVFBYzMjY3Fw4BAwczJy4BJyMOAQGrMEMQGR0MJhydHJWqr6sVIRcNFhAMFAghEzv1CmcLChMLBAkT3zEtFykhGQdsbAIQ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AAs+WbgAAEVYuAALLxu5AAsABT5ZugAGAAcAAyu6AAEAAAADK7oADQALAAMREjm4AA0QuAAC0LgADRC4AAjQuAAF0LgACxC5AAoAAfQwMTcnNxEzFTcXBxUzFSE1GzJrk4AystL+m3NSPAEPy0RRYGB4lP//AE0AAAJgAxECJgSmAAAABwb4AVb/k///AE0AAAJgAuoCJgSmAAAABwcGAVb/k///AE3/HwJgAhACJgSmAAAABwcFAVb85v//AE0AAAIRAxECJgSnAAAABwb4ATj/k///AE0AAAIRAxECJgSnAAAABwb1ATj/k///AE0AAAIRAucCJgSnAAAABwcQATj/k///AE0AAAIRAucCJgSnAAAABwb9ATj/k///AE3/EQIRAhACJgSnAAAABwclATUAAP//AE0AAAIRAuoCJgSnAAAABwcGATj/k///AE3/HwIRAhACJgSnAAAABwcFATX85v//AE3/RQIRAhACJgSnAAAABwb+ATX89f//AC7/9AI6AxECJgSoAAAABwb1ATX/k///AC7/9AI6AxECJgSoAAAABwb4ATX/k///AC7/9AI6AtYCJgSoAAAABwb7ATX/k///AC7/9AI6AucCJgSoAAAABwb9ATX/k///AC7/9AI6AtsCJgSoAAAABwcIATX/k///AC7/9AI6AsICJgSoAAAABwb/ATX/k///AC7/9AI6AwwCJgSoAAAABwcOATX/k///AC7/9AI6AucCJgSoAAAABwcQATX/k///AC7/HwI6AhwCJgSoAAAABwcFATb85v//AC7/9AI6AwkCJgSoAAAABwcKATX/k///AC7/9AI6AxICJgSoAAAABwdHATX/k///AC7/9AI6AxICJgSoAAAABwdJATX/k///AC7/9AI6AygCJgSoAAAABwdLATX/k///AC7/9AI6A1YCJgSoAAAABwdNATX/k///AC7/HwI6AtYCJgSoAAAAJwb7ATX/kwAHBwUBNvzmAAMALv/nAjoCKQAaACMAKwCJALgAAEVYuAAOLxu5AA4ACz5ZuAAARVi4AAAvG7kAAAAFPlm6AAMAAAAOERI5ugAGAAAADhESOboAEAAOAAAREjm6ABMADgAAERI5ugAeAAAADhESOboAHwAOAAAREjm4AA4QuQAhAAH0uAAAELkAJAAB9LoAKQAAAA4REjm6ACoAAAAOERI5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AAAnAAAAJxgAACcwAAAnSAAAJ2AAACd4AAAnkAAAJ6gAACfAAAAn2AAAJ/AAACgIAAAoIAAAKDgAAChQAAAoaAAAKIgAAClOAAApZgAAKX4AACmWAAAprgAAKcYAACneAAAp9gAAKg4AAComAAArGwAAKzMAACtLAAArYwAALB4AACw2AAAsTgAALGYAACx+AAAslgAALK4AACzGAAAs3gAALPYAAC0OAAAtkgAALaoAAC3CAAAt2gAALfIAAC4KAAAuIgAALjoAAC5SAAAuagAALoIAAC6iAAAuugAALz0AAC9VAAAvbQAAL4UAAC+dAAAvtQAAL80AAC/lAAAv/QAAMBUAADAtAAAwRQAAMF0AADB1AAAwjQAAMKUAADC9AAAw1QAAMO0AADEFAAAxHQAAMTUAADFNAAAxZQAAMX0AADGVAAAxtQAAMc0AADHlAAAy6wAAM6IAADRwAAA0iAAANKAAADS4AAA00AAANOgAADXDAAA12wAANfMAADYLAAA2IwAANjsAADZbAAA2cwAANosAADajAAA2uwAANtMAADbrAAA3AwAANxsAADfrAAA4AwAAOBsAADgzAAA4SwAAOGMAADjgAAA4+AAAORAAADkoAAA5QAAAOVgAADlwAAA5iAAAOaAAADm4AAA50AAAOegAADoAAAA6GAAAOjAAADpIAAA6YAAAOyAAADu6AAA70gAAO+oAADwCAAA8GgAAPDIAADxKAAA8YgAAPHoAADySAAA8qgAAPMIAADzaAAA88gAAPQoAAD0iAAA9OgAAPVIAAD1qAAA9ggAAPZoAAD2yAAA9ygAAPoUAAD8GAAA/tgAAQHwAAEEFAABBHQAAQTUAAEFNAABBZQAAQX0AAEGVAABBrQAAQcUAAEHdAABB9QAAQg0AAEIlAABCPQAAQlUAAEJtAABCjQAAQqUAAEK9AABC1QAAQu0AAEMNAABEMwAARZsAAEWzAABFywAARtcAAEbvAABHBwAARx8AAEc3AABHTwAAR2cAAEd/AABHlwAAR68AAEi5AABI0QAASOkAAEkBAABJGQAASTEAAElJAABJYQAASXkAAEmRAABJqQAAScEAAEnZAABJ8QAASgkAAEohAABKQQAASzoAAEtSAABLagAAS4IAAEuaAABLsgAAS8oAAEviAABL+gAATBIAAEwqAABMQgAATFoAAExy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AADMnQAAzLUAAMzNAADM5QAAzP0AAM0VAADNLQAAzUUAAM1dAADNdQAAzY0AAM2lAADNvQAAzdUAAM3tAADOBQAAzh0AAM41AADOTQAAzmUAAM59AADOlQAAzq0AAM7FAADO3QAAzvUAAM8NAADPJQAAzz0AAM9VAADPbQAAz4UAAM+dAADPtQAAz80AAM/lAADP/QAA0BUAANAtAADQRQAA0F0AANB1AADQjQAA0KUAANC9AADQ1QAA0O0AANEFAADRHQAA0TUAANFNAADRZQAA0X0AANGVAADRrQAA0cUAANHdAADR9QAA0g0AANIlAADSPQAA0lUAANJtAADShQAA0p0AANK9AADS3QAA0v0AANMdAADTPQAA010AANN9AADTnQAA070AANPdAADT/QAA1BUAANQ1AADUVQAA1HUAANSVAADUtQAA1NUAANT1AADVFQAA1TUAANVVAADVdQAA1Y0AANWtAADVzQAA1e0AANYNAADWLQAA1k0AANZtAADWjQAA1q0AANbNAADW7QAA19QAANiFAADZNQAA2Y8AANoEAADaHAAA2i4AANpAAADaaQAA2p0AANqvAADa3gAA2vAAANsCAADbZgAA23gAANuKAADbnAAA264AANvAAADb0gAA2+QAANv2AADcCAAA3BoAANwsAADcPgAA3FAAANxiAADcdAAA3MgAAN0bAADdUAAA3dYAAN5WAADe0wAA30UAAOAaAADg8QAA4QEAAOGcAADhrAAA4bwAAOJtAADifQAA45AAAORaAADk5QAA5P0AAOWqAADmRQAA5lUAAOZlAADmdQAA5oUAAOaVAADmpQAA5rUAAOdIAADoDAAA6BwAAOiKAADpBgAA6XkAAOoEAADqkQAA6y4AAOusAADsVQAA7SEAAO3BAADt2QAA7fEAAO64AADu0AAA734AAO+OAADvngAA77YAAPBLAADwWwAA8TwAAPHtAADyfgAA8pYAAPKuAADyxgAA8zIAAPPMAAD0fQAA9RoAAPV0AAD1+QAA9yoAAPgKAAD40wAA+YoAAPoWAAD6wwAA+tMAAPt4AAD8RwAA/N8AAP1ZAAD9aQAA/YEAAP2ZAAD9qQAA/cEAAP3RAAD96QAA/gEAAP4RAAD+KQAA/kEAAP5RAAD/MAAA/+sAAQA3AAEA1AABAOQAAQHjAAECqAABAz0AAQNVAAED+AABBIYAAQVUAAEFuwABBcsAAQYhAAEGMQABBkEAAQaVAAEGpQABCCYAAQg2AAEIpAABCR4AAQmNAAEKGAABCqIAAQs7AAELtgABDFwAAQ0sAAENwAABDdgAAQ3wAAEO6AABDwAAAQ+nAAEPtwABD8cAAQ/fAAEQeAABEIgAARFdAAER/wABEg8AARInAAESPwABElcAARLEAAETWAABE2gAARQEAAEUVgABFMwAARXtAAEWwAABF4MAARg1AAEYuQABGV0AARnoAAEajgABG1sAARvvAAEb/wABHBcAARwnAAEcPwABHE8AARxnAAEcdwABHI8AARynAAEctwABHM8AARznAAEd7wABH1kAASCyAAEhWgABIcoAASJoAAEjQgABI+IAASSdAAElcQABJdwAASbmAAEntwABKJAAASl0AAEqHAABKnYAASsUAAErJAABKzQAAStEAAErVAABK78AASvPAAEr3wABLLgAAS2cAAEuMAABLqAAAS8+AAEwCwABMJcAATE+AAExTgABMaUAATG1AAEydQABMoUAATLfAAEzfQABM40AATOdAAEzrQABM70AATQUAAE0JAABNDQAATR3AAE0vQABNNUAATTtAAE1DQABNWkAATXGAAE2aAABNwsAATc2AAE3TgABN7YAATf/AAE4FwABOC8AAThBAAE4WwABOIgAATi1AAE4zQABOOUAATkJAAE5GQABOT4AATljAAE5iAABOa8AATnUAAE55AABOfYAATpAAAE6ZQABOpgAATriAAE7IQABO2AAATuYAAE70AABPIUAAT06AAE9bQABPZEAAT3EAAE99wABPkYAAT6LAAE+6gABP8sAAUAtAAFAbQABQIUAAUCdAAFAtQABQM0AAUGDAAFBrAABQdUAAUH/AAFCKQABQn4AAULTAAFC/gABQykAAUNTAAFDfQABRIMAAUVrAAFGYgABRxQAAUg7AAFJBQABSckAAUsPAAFMXQABTVoAAU1qAAFOAgABTsYAAU9gAAFP2QABUE4AAVCrAAFRWgABUdMAAVIQAAFSeAABUwwAAVNTAAFUGwABVLoAAVVOAAFVzwABVpoAAVc6AAFYDAABWGAAAVjUAAFZQQABWf8AAVrIAAFbOQABW6UAAVu9AAFb1QABW+0AAVwFAAFcHQABXDUAAVxNAAFcZQABXH0AAVyV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AAIlIAACJSAAAiUgAAIlIAACJSAAAiU4AAIlUAABAAAAAgVggiDOs18PPPUACQPoAAAAANIKGPMAAAAA1T9csf43/sUIbQPxAAEACQACAAEAAAAAArIAUADIAAACPf/6Al0ATQJGAC4CewBNAiQATQIMAE0CfgAuAqIATQEtAE0B/QAQAmYATQIGAE0C+gBNApkATQKsAC4CVABNAqwALgJlAE0CLAAjAiwAGQKZAEkCLP/5Ay0ADgI3AAsCDf/4Ah0AJAIPACoCPQBBAdMAJAI9ACcCBgAkAVUAGAIWACICOwBBARQANQEW/80CJABBAR4AQQNZAEECPABBAisAJAI9AEECPQAnAY4AQQG7ABUBfwARAjgAPAILAAwDCAAYAgIADgIJAAwBzAAmAj3/+gI9//oCPf/6Aj3/+gI9//oCPf/6Aj3/+gI9//oCPf/6Aj3/+gI9//oCPf/6Aj3/+gI9//oCPf/6Aj3/+gI9//oCPf/6Aj3/+gI9//oCPf/6Aj3/+gNN//IDTf/yA03/8gJ0ABoCXQBNAkYALgJGAC4CRgAuAkYALgJGAC4CewBNAnsATQJ7AE0ClAAaAiQATQIkAE0CJABNAiQATQIkAE0CJABNAiQATQIkAE0CJABNAiQATQIkAE0CJABNAiQAIwIkAE0CJABNAiQATQIkAE0CJABNAn4ALgJ+AC4CfgAuAn4ALgJ+AC4CfgAuAn4ALgJ+AC4CfgAuAqIATQKiAE0CogBNAsgAGQEt/+kBLQBKAS3/7AEt/9ABLf/hAS3//wEtAEEBLf/sAS0APAEtAEUBLQAqAS3/8wH9ABACZgBNAmYATQJmAE0CBgBNAgYATQIGAE0CBgBNAgYATQIGAAMCBgBNAgz/6QL6AE0C+gBNAvoATQKZAE0CmQBNApkATQKZAE0CmQBNApkATQKZAE0CmQBNAqwALgKsAC4CrAAuAqwALgKsAC4CrAAuAqwALgKsAC4CrAAuAqwALgKsAC4CrAAuAqwALgKsAC4CrAAuAqwALgKsAC4CrAAoA2cALgKsAC8CrAAvAqwALwKsAC8CrAAvAqwALwKsAC4CZQBNAmUATQJlAE0CZQBNAmUATQJlAE0CZQBNAiwAIwIsACMCLAAjAiwAIwIsACMCLAAjAiwAIwLBAFACLAAZAiwAGQIsABkCLAAZAiwAGQIsABkCmQBJApkASQKZAEkCmQBJApkASQKZAEkCmQBJApkASQKZAEkCmQBJApkASQKZAEkCmQBJApkASQKZAEkCmQBJApkASQKrAEkCqwBJAqsASQKrAEkCqwBJAqsASQMtAA4DLQAOAy0ADgMtAA4CDf/4Ag3/+AIN//gCDf/4Ag3/+AIN//gCDf/4Ag3/+AIdACQCHQAkAh0AJAIdACQCHQAkApQAGgJpAE0CowAzApoATQJaAE0CDwAqAg8AKgIPACoCDwAqAg8AKgIPACoCDwAqAg8AKgIPACoCDwAqAg8AKgIPACoCD//6Ag8AKgIPACoCDwAqAg8AKgIPACoCDwAqAg8AKgIPACoCDwAqAxIALwMSAC8DEgAvAjv//QI9AEEB0wAkAdMAJAHTACQB0wAkAdMAJAJmACcCPQAnAj0AJwI9ACcCBgAkAgYAJAIGACQCBgAkAgYAJAIGACQCBgAkAgYAJAIGACQCBgAkAgYAJAIGACQCBv/1AgYAJAIGACQCBgAkAgYAJAIGACQCFgAiAhYAIgIWACICFgAiAhYAIgIWACICFgAiAhYAIgI7/94COwBBAjsAQQI7AEECO//9ART/ywEUAEEBFP/TART/zAEU/9UBFP/2ART/0wEUADABFAA1ARQAKQEUACkBFP/hARQAQQEW/80CJABBAiQAQQIkAEECJABBAR4AQQE/AEEBxQBBAR4AQQEeAEEBHv/1AR4AJwEv/+sDWQBBA1kAQQNZAEECPABBAjwAQQI8AEECPABBAjwAQQI8AEECPABBAjwAQQNUAEcCKwAkAisAJAIrACQCKwAkAisAJAIrACQCKwAkAisAJAIrACQCKwAkAisAJAIr//wCKwAkAisAJAIrACQCKwAkAisAJAIrACQDNgAkAisAJAIrACQCKwAkAisAJAIrACQCKwAkAisAJAGOAEEBjgAZAY4AQAGOAEEBjgA5AY4AOQGO//YBuwAVAbsAFQG7ABUBuwAVAbsAFQG7ABUBuwAVAngAQQF/ABEBfwARAX8AEQF/ABEBfwARAX//8gF/ABECOAA8AjgAPAI4ADwCOAA8AjgAPAI4ADwCOAA8AjgAPAI4ADwCOAA8AjgAPAI4ADwCOAA8AjgAPAI4ADwCOAA8AjgAPAI4ADwCOAA8AjgAPAI4ADwCOAA8AjgAPAMIABgDCAAYAwgAGAMIABgCCQAMAgkADAIJAAwCCQAMAgkADAIJAAwCCQAMAgkADAHMACYBzAAmAcwAJgHMACYBzAAmAjAAKgI9AEECPABBARb/zQIqADUCFgA6Aj0AQQI9AEEB0wAXAdMAFwI9ACcCPQAnAgYAJAI9ACcCEABBAgYAJALDACQBzgAuAdwAIQI2AC4BQf/hAkcALAJHACwCBQAkAgsADAI5ABACPAA8AjsAQQI7AEECRgBDAUEADAGLADQBaP/NAXn/9gEeAEECgABBAbAAQQNZAD8DWQA/A1kAQQI8/98CPABBAjEAQQIrACQC1gAkAuIAJAGO//8Bjv//AY7//wGOAEEBfABBAhQAQQIUAA8BuwAVARb/zQFB/+EBfwARAmkADAIuAB0CKAA8AgsADAMIABgCCQAMAdL/+AHMACYB9wAmAcwABQHA//oB+gAqAdwACQHcABEBSgAGAiwAMAKRABgDpQAYA68AGAKwABgD7AAYAYwANAGMABkBjAA0AYwAHAGMAAABjAARAYwALwGMADQBjAAcAYwANAGMADQBjAA0AYwAIwKZAE0CPQAnAj0AJwI9ACcCPQAnAj0AJwI9ACcCPQAnAj0AJwI9ACcCPQAnAj0AJwI9ACcCPQAnAj0AEgI9ACcCPQAnAj0AJwI9ACcCPQAnAj0AJwI9ACcCPQAnAj0AJwJHACwCRwAsAkcALAJHACwCRwAsAkcALAJHACwCRwAsAkcALAEUAEEBFABBAT4AQQHFAEEBFAAYARQAOAEU//UBFP/1ASv/6wJ7ABgCPf/6Al0ATQIJAE0CgAAiAiQATQIdACQCogBNAqwALgEtAE0CZgBNAiz/+QL6AE0CmQBNAjsANQKsAC4ClwBNAlQATQIlACYCLAAZAg3/+AL4ADACNwALAvAANALHACwCbv/7Apv/9AMY//QBpP/0AS3/4QMJ//QCwP/0Ag3/+AMj/+0CUwAkAlgAQAIV//8CJAApAdcAJAHSACkCMgA2AiUAMAEtAEECIgA1AigADQJSAEECC///AdUAEQIpACQCewASAjkAPQI9ACQB7AAaAhQAKwLiACQCDgAIAvAALALqACgBvgAkAlAAQAIlADIC4gAkAlMAJAHXACQCMgA2AS0AQQEt/9UCKQAkAhQAKwIUACsC6gAoAS3/zQIUACsCj//5An//9AJu//ECbv/7Azb/9wM1//QDLP/3Ayv/9AKn/+gCp//oAj3/+gI9//oCx//3Asf/9AKb/+oCm//0A2r/9wNp//QDYP/3A1//9ANE//cDRP/0Axj/6gMY//QD5//3A+b/9APe//cD3P/0A4D/6AOA/+gB0P/3AdD/9AGk/+oBpP/0AnP/9wJy//QCaf/3Amj/9AIM/+gCDP/oAS3/8wEt//8DO//3Ayj/9AMW/+oDCf/0A9j/9wPk//QDzv/3A83/9AL3//QC2//0AsD/6gLA//QDjv/0A4T/9AMa/+gCDf/4Ag3/+ANV//cDQ//0Ayv/6gMj/+0D+v/3A/n/9APw//cD7//0A23/6ANt/+gDY//6A7X/+QOl//QEXP/3BFv/9ARS//cEUf/0A83/6APN/+gDyABNBGv/9wRr//QFDv/3BQ3/9AUE//cFA//0BKb/6ASm/+gD7QAsBHv/9wRp//QFIf/3BR//9AUX//cFFv/0BJT/6ASU/+gCUwAkAlMAJAJTACQCUwAkAlMAJAJTACQCUwAkAlMAJAJTACQCUwAkAlMAJAJTACQCUwAkAdcAJAHXACQB1wAkAdcAJAHXACQB1wAkAdcAJAHXACQCMgA2AjIANgIyADYCMgA2AjIANgIyADYCMgA2AjIANgIyADYCMgA2AjIANgEtADABLQApAS3/ywEtAEEBLf/IAS3/xwEt/8gBLf/RAS3/7gEt/+4BLf/hAS3/9gEt/8wBLf/NAS3/zQEt/98CKQAkAikAJAIpACQCKQAkAikAJAIpACQCKQAkAikAJAI5AD0COQA9AhQAKwIUACsCFAArAhQAKwIUACsCFAArAhQAKwIUACsCFAArAhQAKwIUACsCFAArAhQAKwIUACsCFAArAhQAKwLqACgC6gAoAuoAKALqACgC6gAoAuoAKALqACgC6gAoAuoAKALqACgC6gAoAlMAJAJTACQCUwAkAlMAJAJTACQCUwAkAlMAJAJTACQCUwAkAlMAJAJTACQCUwAkAjIANgIyADYCMgA2AjIANgIyADYCMgA2AjIANgIyADYCMgA2AjIANgIyADYCMgA2AuoAKALqACgC6gAoAuoAKALqACgC6gAoAuoAKALqACgC6gAoAuoAKALqACgC6gAoAiIANQIpACQB6gAkAbEAQQIYAAkBLAAuASwAPQEsAD0BLABSASwANQIrAOAAd//0AisAWgIrAN4BLQBBAisAvAIrALwCKwC1AisAnAIrAOACKwBUAisAUwIrAFQCKwBdAisAegIrAHoCKwBYAisAWQIrAFkCKwBrAKT/9wCh//QAd//qAUb/9wFF//QBRv/3AT3/9ADf/+gA3//oAj3/+gJYAE0CXQBNAgkATQKeAA0CJABNA2QAAgI0ACMCpABNAqQATQJuAE0Ckf/2AvoATQKiAE0CrAAuApcATQJUAE0CRgAuAiwAGQIrAAEC/AAtAjcACwKdAE0CdgA8A44ATQOeAE0C2gAZA1UATQJYAE0CRgAWA7YATQJpAAwCJABNAiQATQK9ABkCCQBNAkYALgIsACMBLQBNAS3/4QEtAAwB/QAQA5gAAwOlAE0CzgAZAm4ATQKkAE0CKwABApcATQJwABkCrAAuAj7/+QIJAE0CIgAaA4kAAgI0ACMCmwBNAu0AGQKxAE0CRgAuAg3/+AIN//gCXQALAoUAPAJ2AE0BLQBNA2QAAgI9//oDTf/yAiQATQKjADMCpABNAqwALgKsAC4CKwABAisAAQIPACoCMQAqAhAAQQGwAEECSAALAgYAJAL5AAYB3AAcAkcAQQJHAEECIgBBAj0ABgKUAEECRgBBAisAJAI+AEECPQBBAdMAJAHsABoCCQAMAwsAJwICAA4CUwBBAiYAMAMjAEEDPQBBAm8AGgLjAEECBABBAdMAFQMIAEECIAAPAgYAJAIGACQCPP/9AbAAQQHTACQBuwAVARQANQEU/9UBKwAJARb/zQMMAAYDFABBAjv//QIiAEECRwBBAgkADAJCAEECWAAaAisAJAIVAAwBsQBBAckAGAMjAAYB3AAcAkwAQQKQABoCYABDAdMAJAILAAwCCwAMAiQADgI/ADACOwBBAvkABgEeAEECDwAqAxIALwIGACQCBgAkAkcAQQIrACQCKwAkAgkADAIJAAwCIgAnA8cALQKbABkCEAAlAhAARgIQAB4CEAAWAhAAEwIQABcCEAApAhAALAIQACoCEAAiAhAAJQIQACUCRAA1AZoAJwIOACECEAAWAjAAJQIQABcCMgA6AgQALAIlADQCMgAyAkQANQJEADUCEAAlAhAARgIQAB4CEAAWAhAAEwIQABcCEAApAhAALAIQACoCEAAaAiEALQGaACcCBgAgAhAAFgIhABsCEAAXAiEAMQIEACwCIwAyAiEAIgEsAD0BLAAuASwAPQEsAC4D0QBMAVQAUQFUAFEBzwApAc8AKgEsAEwCGABMASwANwEsAEcCGAA3AhgARwEsAEcCGABHASQAMQEkADYB4AAxAeAANgFMACsBTAArAeAAKwMgACsF3AArCJgAKwIQACsDIAArASwAPQFZACgB9AAMAfQADAAA/jcBWABIAVgAMAFYAFcBWAAuAVgAHwFYAC4BUwANAQwAVgFTABwBDABWAckAJgH+ACwB/gAsAhAAJQJ8ACcBxABWAmYAUQNpACkC7gBRAu4AKQHgABABWABXAVgALgFYAFcBWAAuAbUAVwG1AC4BWABXAVgALgFYAFcBWAAuAu4ALQLuAC0BzgAgAqoABAKqABICqgAYAs8AGAOHADEDPgAxAhAAIgEUADUB9//6AiIATQIIAC4CRABNAfMATQHcAE0CQAAuAm0ATQEtAE0B1gAQAisATQHXAE0CrQBNAl4ATQJoAC4CJwBNAmYALAIxAE0B+AAjAesAGQJfAEkB6//5As0ADgH9AAsB0//4AeEAJAH3//oB9//6Aff/+gH3//oB9//6Aff/+gH3//oB9//6Aff/+gH3//oB9//6Aff/+gH3//oB9//6Aff/+gH3//oB9//6Aff/+gH3//oB9//6Aff/+gH3//oC5f/yAuX/8gLl//ICOgAaAiIATQIIAC4CCAAuAggALgIIAC4CCAAuAkQATQJEAE0CRABNAlwAGgHzAE0B8wBNAfMATQHzAE0B8wBNAfMATQHzAE0B8wBNAfMATQHzAE0B8wBHAfMATQHzABAB8wBNAfMATQHzAE0B8wBNAfMATQJAAC4CQAAuAkAALgJAAC4CQAAuAkAALgJAAC4CQAAuAkAALgJtAE0CbQBNAm0ATQKUABkBLf/pAS0ASgEt/+wBLf/QAS3/4QEt//8BLQBBAS3/7AEtADwBLQBFAS0AKgEt//MB1gAQAisATQIrAE0CKwBNAdcATQHXAE0B1wBNAdcATQHXAE0B1wAEAdcATQHX/+kCrQBNAq0ATQKtAE0CXgBNAl4ATQJeAE0CXgBNAl4ATQJeAE0CXgBNAl4ATQJoAC4CaAAuAmgALgJoAC4CaAAuAmgALgJoAC4CaAAuAmgALgJoAC4CaAAuAmgALgJoAC4CaAAuAmgALgJoAC4C/gAuAmgALgJoAC4CaAAuAmgALgJoAC4CaAAuAmgALgJoAC4CaAAuAjEATQIxAE0CMQBNAjEATQIxAE0CMQBNAjEATQH4ACMB+AAjAfgAIwH4ACMB+AAjAfgAIwH4ACMCfABQAesAGQHrABkB6wAZAesAGQHrABkB6wAZAl8ASQJfAEkCXwBJAl8ASQJfAEkCXwBJAl8ASQJfAEkCXwBJAl8ASQJfAEkCXwBJAl8ASQJfAEkCXwBJAl8ASQJfAEkCcQBJAnEASQJxAEkCcQBJAnEASQJxAEkCzQAOAs0ADgLNAA4CzQAOAdP/+AHT//gB0//4AdP/+AHT//gB0//4AdP/+AHT//gB4QAkAeEAJAHhACQB4QAkAeEAJAJcABoCMgBNAlwAMwJaAE0CWgBNAff/+gIiAE0B2ABNAjoAIgHzAE0B4QAkAm0ATQJoAC4BLQBNAisATQHo//gCrQBNAl4ATQIBADUCaAAuAmcATQInAE0B5gAmAesAGQHT//gCxAAwAf0ACwKqADQCeQAsAS3/4QHT//gDJf/6A5sATQOkACwB9//6Ah8ATQIiAE0B2ABNAlwADQHzAE0C/gACAfQAIwJeAE0CXgBNAjcATQJO//YCrQBNAm0ATQJoAC4CZwBNAicATQIIAC4B6wAZAecAAQKlAC0B/QALAmIATQJAADwDNwBNA0UATQJ/ABkDCwBNAiAATQIEABYDUQBNAjEADAHzAE0B8wBNAmkAGQHYAE0CAwAuAfgAIwEtAE0BLf/hAS0ADAHWABADEf/2AzUATQJ/ABkCNwBNAl4ATQHnAAECWwBNAjUAGQJoAC4B+f/5AdgATQHxABoDLQACAfQAIwJkAE0CogAZAnwATQIIAC4B0//4AdP/+AIjAAsCTwA8AkAATQEtAE0C/gACAff/+gLl//IB8wBNAlwAMwJeAE0CaAAuAmgALgHnAAEB5wABAlQAGQImADUBkAAnAeIAGgHvABYCCwAmAe4AGAIHADYB0AAhAf8ALwIBACsBVABRAVQAUQHPADMBLABMAhgATAEsADcBLABHAdcANwHXAEcBTAArAaIAKwK4ACsBWABIAVgAMAFYAFcBWAAuAVgAHwFYAC4BeAAaAXgATAF4ABsBeAAbAXgAIwF4ABsBeAAkAXgAMgF4ACYBeAAjAQwAPwEMACMA0AApANAAHwF4ABoBeABMAXgAGwF4ABsBeAAjAXgAGwF4ACQBeAAyAXgAJgF4ACMBDAA/AQwAIwDQACkA0AAfAXgAGgF4AEwBeAAbAXgAGwF4ACMBeAAbAXgAJAF4ADIBeAAmAXgAIwEMAD8BDAAjANAAKQDQAB8BeAAaAXgATAF4ABsBeAAbAXgAIwF4ABsBeAAkAXgAMgF4ACYBeAAjAQwAPwEMACMA0AApANAAHwFnAB0BgQAaAXUAGAGD//sBlwAyAYYAHgGrADIBcQAyAWIAMgGvAB4BxAAyAMsAMgFYAAkBngAyAV0AMgICADIBvgAyAc0AHgGYADIBzQAbAaAAMgF2ABYBeAAQAcAAMAF6//oCJQAIAYIABwFk//oBbAAXAWcAHQGBACoBOQAYAYEAGgFaABgA6AAPAWkAFwGAACoAvAAjAL7/3wFzACoAwgAqAkEAKgGAACoBdQAYAYEAKgGBABoBEAAqASkADwEDAAwBfwAnAWMACAILABABXAAIAWEACAE4ABkBVwAcASwAKwEsACsAvf+NAWEACAFaABgBWgAYAVoAFQGBABoBiAAeALwAKgDQACkA+wArAV0AKwIzACsBbQAnAhAAFAIQACcCEAAwAhAADAIQABUCEAA8AhAAHgIQADYCEAAwAhAAAwIQAAMCEP/tAhAAQQIQAAMCEAAmAhAAFQIQADYCEABFAhAADgIQACACEAAgAhAAAwBg/1UAYP9VAGD/VQNZABoE4QAaAykALwNOAC8DMgAZA0UALwNRAB0DRQAvA1EAHQNRABsDfAAjA0UALwNRABsDRQAvA0UALwNRABsDUQAbAz0AHwNFAC8EgwAuA1EAGgIQACICEAAiAhAAMAIQACICEQCvAhAAIgIQACICEAAiAhAAIgIQACICEAAiAhAAMgIQACICEAAdAhAAHQIQACIDLgAlAlIAQQJBADABhgAqAkwAGwKAACICxwAsAhYAGgLGAFAB1gAKAyAALgJpABYCaQAnAmkAKAJpACcDbQAtA20AGQNtAB8DbQAtA20ALwNtAC8DbQAtA20ALQNtAC8DbQAvA20AGQNtABkDJwBKAycASgKHAAcCIAAZAiQANAEsAFICGQBSASwANQEsAFIBLAA3ASwARwCwABoAsAAMAisAVwIrANgCKwBfAisAXwCTAA8BNAAGAOwAOADs/7cAkwAPAisAWAIrAGECKwCCAisAbQIrAJICKwCVAisAxQIrAKYCKwDA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Ab0AhQFIAIYBSQFMAIkBTQCLAVAAigFOAIwBTwCQAVQAlAFYAJgBXACWAVoBYAD2AbsAoQFmAKsBcACiAWcArgFzALYBewC5AXwAtwF9AL0BggC+AYMAwAGFAL8BhADGAYsAxQGKAMoBkADOAZQA0AGWANEBlwDSAZgA0wGZANsBoQDkAaoA6AGuAOkA7gG0APABtgDvAbUGgQB0AK8BdADcAaIAPgEAAIABQQCjAWgA1AGaANUBmwDWAZwA1wGdANgBngBOARAAcQEzALUBegBsAS4AlQFZAE0BDwDBAYYAxwGMAb4BxgG/AcABwQHCAcMBxAHFAcgByQHKAcsCAQHHAdYB2QZaBmIGZwZpBtwG7QbwBu4G8gbqBu8GbgZvBlwGYwZoBvQG9wb6BvwG/gcABwEHBQcHBwkHCwcNBw8HFAcVBxcHIgcjByQHJQcnBykHKwcsA2oDbAJXA2YCWAJZAloCXQJfAoUCWwJeAnwCfQJ+An8ChgJ4AnECcgJzAnQCdQJ2AncCgAKDAoECggKEA7gEBAO5BAUDugQGA7sEBwO8BAgDvQQJA74ECgO/BAsDwAQMA8EEDQPCBA4DwwQPA8QEEAPFBBEDxgQSA8cEEwPIA8kEFAQVA8oEFgPLBBcDzAQYA80EGQPOBBoDzwQbA9AEHAPRBB0D0gQeBlIGVAZVBlsGXQZgBmQGZQBQARIAVwEZAFgBGgBrAS0AcgE0AHYBNwB3ATkAhwFKAIgBSwCNAVEAjgFSAI8BUwCRAVUAkgFWAJMBVwCZAV0AmgFeAJsBXwCsAXEAuAF+ALoBfwC7AYAAvAGBAMIBhwDDAYgAyAGNAMkBjgDiAagA4wGpAOUBqwDqAbAA8QG3APIBuAE4AY8APwEBAEABAgBBAQMAQgEEAEMBBQBEAQYARQEHAEYBCABHAQkASAEKAEkBCwBKAQwAYgEkAGMBJQBkASYAZQEnAGYBKABnASkAaAEqAGkBKwCBAUIAggFDAKQBaQClAWoApgFrAKcBbACoAW0AqQFuAKoBbwCwAXUAsQF2ALIBdwCzAXgAtAF5ANkBnwDaAaAA3QGjAN4BpADfAaUA4AGmAOEBpwDmAawA6wGxAOwBsgDtAbMC5wLoAusC7ALtAu4C7wLwAocCiAKLAowCjQKOAo8CkAL0AvUC+AL5AvoC+wKTApQClwKYApkCmgL8Av0DAAMBAwIDAwMEAwUCmwKcAp8CoAKhAqICowKkAwcDCAMLAwwDDQMOAw8DEAKlAqYCqQKqAqsCrAKtAq4DFwMYAxsDHAMdAx4CsQKyArUCtgK3ArgCvwMxAzIDNQM2AzcDOAM5AzoCwgLDAsYCxwLIAskCygLLAukC6gL2AvcC/gL/AwkDCgMZAxoDIwMkAzMDNAM9Az4DQQNCA0MDRANFA0YCzQLOAs8C0ALRAtIC0wLUA0kDSgNNA04DTwNQA1EDUgLWAtcC2ALZAtoC2wLcAt0DVQNWA1kDWgNbA1wDXQNeAt8C4ALhAuIC4wLkAuUC5gLxAvIDPwM8A0AC8wNHApECkgKJAooCzANvA24DcAN6A30DSwNIA0wDBgNTApUClgKdAp4C1QN0A3YDeAMRAxIDFAMVAxMDFgKvArACpwKoA3UDdwN5AywDLQMuAy8DHwMgAysDMALAAsECuwK8ArkDewN8A3IDVwNUA1gDOwNfArMCtALEAsUC3gNzA3EEaQRlBGYEagR/BFkEWgRdBFsEXAReBHsEfARsB2QGlQSABIQEbgRvBIEEgwSCBfwGWQYGBgcGXgaHBn8GjwaMBo0EIASQBqEGpganBpkGmgabBpwGnQaeBp8GoAaiBqMGpAalBsAGqgatBr0GygbYAgIHZgdnAgMCBAAMAAAAACUkAAAAAAAAAxcAAAAgAAAAIAAAAAEAAAAhAAAAIQAABFMAAAAiAAAAIgAABFgAAAAjAAAAIwAABJgAAAAkAAAAJAAABnwAAAAlAAAAJQAABpQAAAAmAAAAJgAABCEAAAAnAAAAJwAABFcAAAAoAAAAKQAABHAAAAAqAAAAKgAABHoAAAArAAAAKwAABqkAAAAsAAAALAAABE8AAAAtAAAALQAABGMAAAAuAAAALgAABE4AAAAvAAAALwAABHYAAAAwAAAAOQAABCIAAAA6AAAAOwAABFAAAAA8AAAAPAAABq8AAAA9AAAAPQAABq4AAAA+AAAAPgAABrAAAAA/AAAAPwAABFUAAABAAAAAQAAABJYAAABBAAAAWgAAAAIAAABbAAAAWwAABHIAAABcAAAAXAAABHgAAABdAAAAXQAABHMAAABeAAAAXgAABrQAAABfAAAAXwAABG0AAABgAAAAYAAABuEAAABhAAAAegAAABwAAAB7AAAAewAABHQAAAB8AAAAfAAABHcAAAB9AAAAfQAABHUAAAB+AAAAfgAABrYAAACgAAAAoAAAB2AAAAChAAAAoQAABFQAAACiAAAAogAABoAAAACjAAAAowAABn0AAACkAAAApAAABnsAAAClAAAApQAABn4AAACmAAAApgAABHkAAACnAAAApwAABH0AAACoAAAAqAAABusAAACpAAAAqQAABI8AAACqAAAAqgAABjQAAACrAAAAqwAABGEAAACsAAAArAAABrgAAACtAAAArQAABGQAAACuAAAArgAABJEAAACvAAAArwAABuwAAACwAAAAsAAABnoAAACxAAAAsQAABrMAAACyAAAAswAABf4AAAC0AAAAtAAABuIAAAC1AAAAtQAABroAAAC2AAAAtgAABH4AAAC3AAAAtwAABGsAAAC4AAAAuAAABvEAAAC5AAAAuQAABf0AAAC6AAAAugAABjYAAAC7AAAAuwAABGIAAAC8AAAAvgAABpYAAAC/AAAAvwAABFYAAADAAAAAxAAAADYAAADFAAAAxQAAAD0AAADGAAAAxgAAAEwAAADHAAAAxwAAAFEAAADIAAAAygAAAFoAAADLAAAAywAAAF4AAADMAAAAzgAAAHkAAADPAAAAzwAAAH0AAADQAAAA0AAAAPMAAADRAAAA0QAAAJcAAADSAAAA1gAAAJwAAADXAAAA1wAABqsAAADYAAAA2AAAAK0AAADZAAAA2wAAAMsAAADcAAAA3AAAAM8AAADdAAAA3QAAAOcAAADeAAAA3gAAAPQAAADfAAAA3wAAAYkAAADgAAAA5AAAAPgAAADlAAAA5QAAAP8AAADmAAAA5gAAAQ4AAADnAAAA5wAAARMAAADoAAAA6gAAARwAAADrAAAA6wAAASAAAADsAAAA7gAAATsAAADvAAAA7wAAAT8AAADwAAAA8AAAAbkAAADxAAAA8QAAAVsAAADyAAAA9gAAAWEAAAD3AAAA9wAABqwAAAD4AAAA+AAAAXIAAAD5AAAA+wAAAZEAAAD8AAAA/AAAAZUAAAD9AAAA/QAAAa0AAAD+AAAA/gAAAboAAAD/AAAA/wAAAa8AAAEAAAABAAAAADsAAAEBAAABAQAAAP0AAAECAAABAgAAADwAAAEDAAABAwAAAP4AAAEEAAABBAAAAEsAAAEFAAABBQAAAQ0AAAEGAAABBgAAAFIAAAEHAAABBwAAARQAAAEIAAABCAAAAFMAAAEJAAABCQAAARUAAAEKAAABCgAAAFUAAAELAAABCwAAARcAAAEMAAABDAAAAFQAAAENAAABDQAAARYAAAEOAAABDgAAAFYAAAEPAAABDwAAARgAAAEQAAABEAAAAFkAAAERAAABEQAAARsAAAESAAABEgAAAF8AAAETAAABEwAAASEAAAEUAAABFAAAAGAAAAEVAAABFQAAASIAAAEWAAABFgAAAGEAAAEXAAABFwAAASMAAAEYAAABGAAAAGoAAAEZAAABGQAAASwAAAEaAAABGgAAAF0AAAEbAAABGwAAAR8AAAEcAAABHAAAAG0AAAEdAAABHQAAAS8AAAEeAAABHgAAAG4AAAEfAAABHwAAATAAAAEgAAABIAAAAG8AAAEhAAABIQAAATEAAAEiAAABIgAAAHAAAAEjAAABIwAAATIAAAEkAAABJAAAAHUAAAElAAABJQAAATYAAAEmAAABJgAAAHgAAAEnAAABJwAAAToAAAEoAAABKAAAAHwAAAEpAAABKQAAAT4AAAEqAAABKgAAAH4AAAErAAABKwAAAUAAAAEsAAABLAAAAIQAAAEtAAABLQAAAUYAAAEuAAABLgAAAIMAAAEvAAABLwAAAUQAAAEwAAABMAAAAH8AAAExAAABMQAAAUcAAAEyAAABMgAAAPcAAAEzAAABMwAAAb0AAAE0AAABNAAAAIUAAAE1AAABNQAAAUgAAAE2AAABNgAAAIYAAAE3AAABNwAAAUkAAAE4AAABOAAAAUwAAAE5AAABOQAAAIkAAAE6AAABOgAAAU0AAAE7AAABOwAAAIsAAAE8AAABPAAAAVAAAAE9AAABPQAAAIoAAAE+AAABPgAAAU4AAAE/AAABPwAAAIwAAAFAAAABQAAAAU8AAAFBAAABQQAAAJAAAAFCAAABQgAAAVQAAAFDAAABQwAAAJQAAAFEAAABRAAAAVgAAAFFAAABRQAAAJgAAAFGAAABRgAAAVwAAAFHAAABRwAAAJYAAAFIAAABSAAAAVoAAAFJAAABSQAAAWAAAAFKAAABSgAAAPYAAAFLAAABSwAAAbsAAAFMAAABTAAAAKEAAAFNAAABTQAAAWYAAAFOAAABTgAAAKsAAAFPAAABTwAAAXAAAAFQAAABUAAAAKIAAAFRAAABUQAAAWcAAAFSAAABUgAAAK4AAAFTAAABUwAAAXMAAAFUAAABVAAAALYAAAFVAAABVQAAAXsAAAFWAAABVgAAALkAAAFXAAABVwAAAXwAAAFYAAABWAAAALcAAAFZAAABWQAAAX0AAAFaAAABWgAAAL0AAAFbAAABWwAAAYIAAAFcAAABXAAAAL4AAAFdAAABXQAAAYMAAAFeAAABXgAAAMAAAAFfAAABXwAAAYUAAAFgAAABYAAAAL8AAAFhAAABYQAAAYQAAAFiAAABYgAAAMYAAAFjAAABYwAAAYsAAAFkAAABZAAAAMUAAAFlAAABZQAAAYoAAAFmAAABZgAAAMoAAAFnAAABZwAAAZAAAAFoAAABaAAAAM4AAAFpAAABaQAAAZQAAAFqAAABagAAANAAAAFrAAABawAAAZYAAAFsAAABbAAAANEAAAFtAAABbQAAAZcAAAFuAAABbgAAANIAAAFvAAABbwAAAZgAAAFwAAABcAAAANMAAAFxAAABcQAAAZkAAAFyAAABcgAAANsAAAFzAAABcwAAAaEAAAF0AAABdAAAAOQAAAF1AAABdQAAAaoAAAF2AAABdgAAAOgAAAF3AAABdwAAAa4AAAF4AAABeAAAAOkAAAF5AAABeQAAAO4AAAF6AAABegAAAbQAAAF7AAABewAAAPAAAAF8AAABfAAAAbYAAAF9AAABfQAAAO8AAAF+AAABfgAAAbUAAAGAAAABgAAAAREAAAGPAAABjwAAAPUAAAGSAAABkgAABoEAAAGTAAABkwAAAHQAAAGgAAABoAAAAK8AAAGhAAABoQAAAXQAAAGvAAABrwAAANwAAAGwAAABsAAAAaIAAAHCAAABwgAAAgAAAAHNAAABzQAAAD4AAAHOAAABzgAAAQAAAAHPAAABzwAAAIAAAAHQAAAB0AAAAUEAAAHRAAAB0QAAAKMAAAHSAAAB0gAAAWgAAAHTAAAB0wAAANQAAAHUAAAB1AAAAZoAAAHVAAAB1QAAANUAAAHWAAAB1gAAAZsAAAHXAAAB1wAAANYAAAHYAAAB2AAAAZwAAAHZAAAB2QAAANcAAAHaAAAB2gAAAZ0AAAHbAAAB2wAAANgAAAHcAAAB3AAAAZ4AAAHiAAAB4gAAAE4AAAHjAAAB4wAAARAAAAHmAAAB5gAAAHEAAAHnAAAB5wAAATMAAAHqAAAB6gAAALUAAAHrAAAB6wAAAXoAAAH0AAAB9AAAAGwAAAH1AAAB9QAAAS4AAAH4AAAB+AAAAJUAAAH5AAAB+QAAAVkAAAH8AAAB/AAAAE0AAAH9AAAB/QAAAQ8AAAIYAAACGAAAAMEAAAIZAAACGQAAAYYAAAIaAAACGgAAAMcAAAIbAAACGwAAAYwAAAI3AAACNwAAAbwAAAJDAAACQwAAAE8AAAJQAAACUAAAAb4AAAJRAAACUQAAAcYAAAJSAAACWAAAAb8AAAJZAAACXAAAAcgAAAJeAAACZwAAAcwAAAJoAAACaAAAAdcAAAJqAAACagAAAdgAAAJsAAACbgAAAdoAAAJvAAACdgAAAd4AAAJ4AAACewAAAeYAAAJ9AAACfgAAAeoAAAKAAAAChAAAAewAAAKIAAACkgAAAfEAAAKUAAAClQAAAfwAAAKYAAACmAAAAgEAAAKZAAACmQAAAccAAAKcAAACnAAAAdYAAAKdAAACnQAAAdkAAAKfAAACnwAAAd0AAAKhAAACogAAAf4AAAKwAAACsAAABlgAAAKyAAACsgAABloAAAKzAAACswAABmIAAAK3AAACtwAABmcAAAK4AAACuAAABmkAAAK5AAACuQAABtwAAAK7AAACvAAABt0AAAK+AAACvwAABt8AAALBAAACwQAABmsAAALGAAACzAAABuMAAALQAAAC0QAABmwAAALYAAAC2AAABu0AAALZAAAC2QAABvAAAALaAAAC2gAABu4AAALbAAAC2wAABvIAAALcAAAC3AAABuoAAALdAAAC3QAABu8AAALeAAAC3gAABm4AAALgAAAC4AAABm8AAALhAAAC4QAABlwAAALiAAAC4gAABmMAAALjAAAC4wAABmgAAAMAAAADAAAABvQAAAMBAAADAQAABvcAAAMCAAADAgAABvoAAAMDAAADAwAABvwAAAMEAAADBAAABv4AAAMFAAADBgAABwAAAAMHAAADBwAABwUAAAMIAAADCAAABwcAAAMJAAADCQAABwkAAAMKAAADCgAABwsAAAMLAAADCwAABw0AAAMMAAADDAAABw8AAAMPAAADDwAABxIAAAMRAAADEgAABxQAAAMTAAADEwAABxcAAAMYAAADIAAABxkAAAMjAAADJgAAByIAAAMnAAADJwAABycAAAMoAAADKAAABykAAAMpAAADKgAABysAAAMs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AAAgHQAABFsAACAeAAAgHgAABF4AACAgAAAgIQAABHsAACAiAAAgIgAABGwAACAmAAAgJgAABFIAACAvAAAgLwAAB2QAACAwAAAgMAAABpUAACAyAAAgMwAABtkAACA1AAAgNQAABtsAACA5AAAgOgAABF8AACA8AAAgPAAABIAAACA9AAAgPQAABIQAACA+AAAgPwAABG4AACBEAAAgRAAABpEAACBHAAAgRwAABIEAACBIAAAgSAAABIMAACBJAAAgSQAABIIAACBwAAAgcAAABfwAACBxAAAgcQAABlkAACB0AAAgeQAABgAAACB9AAAgfgAABgYAACB/AAAgfwAABl4AACCAAAAgiQAABgoAACCNAAAgjgAABhQAACCUAAAglAAABnIAACChAAAgoQAABoIAACCkAAAgpAAABoMAACCmAAAgpwAABoQAACCpAAAgqQAABoYAACCrAAAgqwAABocAACCsAAAgrAAABn8AACCuAAAgrgAABo4AACCxAAAgsgAABogAACC0AAAgtQAABooAACC4AAAguAAABo8AACC5AAAgugAABowAACC9AAAgvQAABpAAACETAAAhEwAABsIAACEWAAAhFgAABCAAACEXAAAhFwAABJAAACEgAAAhIAAABJMAACEiAAAhIgAABJIAACEmAAAhJgAABr8AACEuAAAhLgAABsMAACFQAAAhUAAABqEAACFRAAAhUgAABqYAACFTAAAhWgAABpkAACFbAAAhXgAABqIAACGJAAAhiQAABqgAACGQAAAhkwAABsQAACICAAAiAgAABrsAACIGAAAiBgAABr4AACIPAAAiDwAABsEAACIRAAAiEQAABsAAACISAAAiEgAABqoAACIVAAAiFQAABpIAACIZAAAiGQAABq0AACIaAAAiGgAABr0AACIeAAAiHgAABrkAACIrAAAiKwAABrwAACJIAAAiSAAABrcAACJgAAAiYAAABrUAACJkAAAiZQAABrEAACMcAAAjHwAABIUAACWgAAAloAAABsgAACWyAAAlswAABswAACW2AAAltwAABs4AACW8AAAlvQAABtAAACXAAAAlwQAABtIAACXGAAAlxgAABskAACXJAAAlyQAABsoAACXKAAAlygAABtgAACXMAAAlzAAABvMAACYQAAAmEQAABtQAACZqAAAmagAABtcAACcTAAAnEwAABtYAACdSAAAnUgAABssAACfmAAAn5wAABIkAAC4iAAAuJQAABIsAAC46AAAuOwAABGcAAPsAAAD7AAAAAgIAAPsBAAD7AgAAB2YAAPsDAAD7BAAAAgMAAP7/AAD+/wAAB2UAAfFqAAHxawAABJS4AAAsS7gACVBYsQEBjlm4Af+FuABEHbkACQADX14tuAABLCAgRWlEsAFgLbgAAiy4AAEqIS24AAMsIEawAyVGUlgjWSCKIIpJZIogRiBoYWSwBCVGIGhhZFJYI2WKWS8gsABTWGkgsABUWCGwQFkbaSCwAFRYIbBAZVlZOi24AAQsIEawBCVGUlgjilkgRiBqYWSwBCVGIGphZFJYI4pZL/0tuAAFLEsgsAMmUFhRWLCARBuwQERZGyEhIEWwwFBYsMBEGyFZWS24AAYsICBFaUSwAWAgIEV9aRhEsAFgLbgAByy4AAYqLbgACCxLILADJlNYsEAbsABZioogsAMmU1gjIbCAioobiiNZILADJlNYIyG4AMCKihuKI1kgsAMmU1gjIbgBAIqKG4ojWSCwAyZTWCMhuAFAioobiiNZILgAAyZTWLADJUW4AYBQWCMhuAGAIyEbsAMlRSMhIyFZGyFZRC24AAksS1NYRUQbISFZLQCwACsAsgECAisBsgMCAisBtwMmIBkTDAAIK7cEJCAZEwwACCsAtwEuJh4YEAAIK7cCKCIcFAwACCsAsgUIByuwACBFfWkYREu4AGBSWLABG7AAWbABjgAAABQAcwB+AJMAmQAAAAz/MwAMAeYADAIGAAwCPgAMAn4ADAKQAAwCyAAMAAAAAAANAKIAAwABBAkAAADgAAAAAwABBAkAAQAeAOAAAwABBAkAAgAIAP4AAwABBAkAAwA6AQYAAwABBAkABAAoAUAAAwABBAkABQB0AWgAAwABBAkABgAkAdwAAwABBAkABwDAAgAAAwABBAkACAA0AsAAAwABBAkACQAYAvQAAwABBAkACwAyAwwAAwABBAkADQMgAz4AAwABBAkADgA0Bl4AQwBvAHAAeQByAGkAZwBoAHQAIAAyADAAMQAwACwAIAAyADAAMQAyACwAIAAyADAAMQA0ACAAQQBkAG8AYgBlACAAUwB5AHMAdABlAG0AcwAgAEkAbgBjAG8AcgBwAG8AcgBhAHQAZQBkACAAKABoAHQAdABwADoALwAvAHcAdwB3AC4AYQBkAG8AYgBlAC4AYwBvAG0ALwApACwAIAB3AGkAdABoACAAUgBlAHMAZQByAHYAZQBkACAARgBvAG4AdAAgAE4AYQBtAGUAICAYAFMAbwB1AHIAYwBlIBkALgBTAG8AdQByAGMAZQAgAFMAYQBuAHMAIABQAHIAbwBCAG8AbABkADIALgAwADIAMQA7AEEARABCAE8AOwBTAG8AdQByAGMAZQBTAGEAbgBzAFAAcgBvAC0AQgBvAGwAZABTAG8AdQByAGMAZQAgAFMAYQBuAHMAIABQAHIAbwAgAEIAbwBsAGQAVgBlAHIAcwBpAG8AbgAgADIALgAwADIAMQA7AFAAUwAgADIALgAwADAAMAA7AGgAbwB0AGMAbwBuAHYAIAAxAC4AMAAuADgANgA7AG0AYQBrAGUAbwB0AGYALgBsAGkAYgAyAC4ANQAuADYAMwA0ADAANgBTAG8AdQByAGMAZQBTAGEAbgBzAFAAcgBvAC0AQgBvAGwAZABTAG8AdQByAGMAZQAgAGkAcwAgAGEAIAB0AHIAYQBkAGUAbQBhAHIAawAgAG8AZgAgAEEAZABvAGIAZQAgAFMAeQBzAHQAZQBtAHMAIABJAG4AYwBvAHIAcABvAHIAYQB0AGUAZAAgAGkAbgAgAHQAaABlACAAVQBuAGkAdABlAGQAIABTAHQAYQB0AGUAcwAgAGEAbgBkAC8AbwByACAAbwB0AGgAZQByACAAYwBvAHUAbgB0AHIAaQBlAHMALgBBAGQAbwBiAGUAIABTAHkAcwB0AGUAbQBzACAASQBuAGMAbwByAHAAbwByAGEAdABlAGQAUABhAHUAbAAgAEQALgAgAEgAdQBuAHQAaAB0AHQAcAA6AC8ALwB3AHcAdwAuAGEAZABvAGIAZQAuAGMAbwBtAC8AdAB5AHAAZQBUAGgAaQBzACAARgBvAG4AdAAgAFMAbwBmAHQAdwBhAHIAZQAgAGkAcwAgAGwAaQBjAGUAbgBzAGUAZAAgAHUAbgBkAGUAcgAgAHQAaABlACAAUwBJAEwAIABPAHAAZQBuACAARgBvAG4AdAAgAEwAaQBjAGUAbgBzAGUALAAgAFYAZQByAHMAaQBvAG4AIAAxAC4AMQAuACAAVABoAGkAcwAgAGwAaQBjAGUAbgBzAGUAIABpAHMAIABhAHYAYQBpAGwAYQBiAGwAZQAgAHcAaQB0AGgAIABhACAARgBBAFEAIABhAHQAOgAgAGgAdAB0AHAAOgAvAC8AcwBjAHIAaQBwAHQAcwAuAHMAaQBsAC4AbwByAGcALwBPAEYATAAuACAAVABoAGkAcwAgAEYAbwBuAHQAIABTAG8AZgB0AHcAYQByAGUAIABpAHMAIABkAGkAcwB0AHIAaQBiAHUAdABlAGQAIABvAG4AIABhAG4AICAYAEEAUwAgAEkAUyAZACAAQgBBAFMASQBTACwAIABXAEkAVABIAE8AVQBUACAAVwBBAFIAUgBBAE4AVABJAEUAUwAgAE8AUgAgAEMATwBOAEQASQBUAEkATwBOAFMAIABPAEYAIABBAE4AWQAgAEsASQBOAEQALAAgAGUAaQB0AGgAZQByACAAZQB4AHAAcgBlAHMAcwAgAG8AcgAgAGkAbQBwAGwAaQBlAGQALgAgAFMAZQBlACAAdABoAGUAIABTAEkATAAgAE8AcABlAG4AIABGAG8AbgB0ACAATABpAGMAZQBuAHMAZQAgAGYAbwByACAAdABoAGUAIABzAHAAZQBjAGkAZgBpAGMAIABsAGEAbgBnAHUAYQBnAGUALAAgAHAAZQByAG0AaQBzAHMAaQBvAG4AcwAgAGEAbgBkACAAbABpAG0AaQB0AGEAdABpAG8AbgBzACAAZwBvAHYAZQByAG4AaQBuAGcAIAB5AG8AdQByACAAdQBzAGUAIABvAGYAIAB0AGgAaQBzACAARgBvAG4AdAAgAFMAbwBmAHQAdwBhAHIAZQAuAGgAdAB0AHAAOgAvAC8AcwBjAHIAaQBwAHQAcwAuAHMAaQBsAC4AbwByAGcALwBPAEYATAACAAAAAAAA/7UAMgAAAAAAAAAAAAAAAAAAAAAAAAAAB2gAAAADACQAJQAmACcAKAApACoAKwAsAC0ALgAvADAAMQAyADMANAA1ADYANwA4ADkAOgA7ADwAPQBEAEUARgBHAEgASQBKAEsATABNAE4ATwBQAFEAUgBTAFQAVQBWAFcAWABZAFoAWwBcAF0ArQDJAMcArgBiAQIBAwBjAQQBBQEGAQcBCAEJAQoBCwEMAQ0BDgEPARABEQCQARIBEwEUARUAZAD9ARYA/wEXARgBGQEaARsAywBlAMgBHADKAR0BHgEfASABIQEiASMBJAElASYBJwEoASkBKgErAPgBLAEtAS4BLwEwATEBMgEzATQBNQDPAMwAzQE2AM4BNwD6ATgBOQE6ATsBPAE9AT4BPwFAAUEBQgFDAUQBRQFGAUcA4gFIAUkBSgFLAUwBTQBmAU4BTwFQAVEA0wDQANEArwBnAVIBUwFUAVUBVgFXAVgBWQFaAVsBXAFdAJEAsAFeAV8BYAFhAWIBYwFkAWUBZgFnAWgBaQFqAWsBbAFtAOQBbgFvAXABcQFyAXMBdAF1AXYBdwF4ANYA1ADVAXkAaAF6AXsBfAF9AX4BfwGAAYEBggGDAYQBhQGGAYcBiAGJAYoBiwGMAY0BjgGPAZAA6wGRALsBkgGTAZQBlQGWAOYBlwGYAZkA6QDtAZoBmwGcAGoAaQBrAG0AbAGdAZ4AbgGfAaABoQGiAaMBpAGlAaYBpwGoAakBqgGrAawAoAGtAa4BrwGwAG8A/gGxAQABsgGzAbQBtQEBAHEAcAByAbYAcwG3AbgBuQG6AbsBvAG9Ab4BvwHAAcEBwgHDAcQBxQD5AcYBxwHIAckBygHLAcwBzQHOAc8AdQB0AHYB0AB3AdEB0gHTAdQB1QHWAdcA1wHYAdkB2gHbAdwB3QHeAd8B4AHhAeIB4wDjAeQB5QHmAecB6AHpAHgB6gHrAewB7QHuAHoAeQB7AH0AfAHvAfAB8QHyAfMB9AH1AfYB9wH4AfkB+gChALEB+wH8Af0B/gH/AgACAQICAgMCBAIFAgYCBwIIAgkCCgDlAgsCDAINAg4AiQIPAhACEQISAhMCFAIVAH8AfgCAAhYAgQIXAhgCGQIaAhsCHAIdAh4CHwIgAiECIgIjAiQCJQImAicCKAIpAioCKwIsAi0A7AIuALoCLwIwAjECMgIzAOcCNAI1AjYA6gDuAjcCOAI5AjoCOwI8Aj0CPgI/AkACQQJCAkMCRAJFAkYCRwJIAkkCSgJLAkwCTQJOAk8CUAJRAlICUwJUAlUCVgJXAlgCWQJaAlsCXAJdAl4CXwJgAmECYgJjAmQCZQJmAmcCaAJpAmoCawJsAm0CbgJvAnACcQJyAnMCdAJ1AnYCdwJ4AnkCegJ7AnwCfQJ+An8CgAKBAoICgwKEAoUChgKHAogCiQKKAosCjAKNAo4CjwKQApECkgKTApQClQKWApcCmAKZApoCmwKcAp0CngKfAqACoQKiAqMCpAKlAqYCpwKoAqkCqgKrAqwCrQKuAq8CsAKxArICswK0ArUCtgK3ArgCuQK6ArsCvAK9Ar4CvwLAAsECwgLDAsQCxQLGAscCyALJAsoCywLMAs0CzgLPAtAC0QLSAtMC1ALVAtYC1wLYAtkC2gLbAtwC3QLeAt8C4ALhAuIC4wLkAuUC5gLnAugC6QLqAJsC6wLsAu0C7gLvAvAC8QLyAvMC9AL1AvYC9wL4AvkC+gL7AvwC/QL+Av8DAAMBAwIDAwMEAwUDBgMHAwgDCQMKAwsDDAMNAw4DDwMQAxEDEgMTAxQDFQMWAxcDGAMZAxoDGwMcAx0DHgMfAyADIQMiAyMDJAMlAyYDJwMoAykDKgMrAywDLQMuAy8DMAMxAzIDMwM0AzUDNgM3AzgDOQM6AzsDPAM9Az4DPwNAA0EDQgNDA0QDRQNGA0cDSANJA0oDSwNMA00DTgNPA1ADUQNSA1MDVANVA1YDVwNYA1kDWgNbA1wDXQNeA18DYANhA2IDYwNkA2UDZgNnA2gDaQNqA2sDbANtA24DbwNwA3EDcgNzA3QDdQN2A3cDeAN5A3oDewN8A30DfgN/A4ADgQOCA4MDhAOFA4YDhwOIA4kDigOLA4wDjQOOA48DkAORA5IDkwOUA5UDlgOXA5gDmQOaA5sDnAOdA54DnwOgA6EDogOjA6QDpQOmA6cDqAOpA6oDqwOsA60DrgOvA7ADsQOyA7MDtAO1A7YDtwO4A7kDugO7A7wDvQO+A78DwAPBA8IDwwPEA8UDxgPHA8gDyQPKA8sDzAPNA84DzwPQA9ED0gPTA9QD1QPWA9cD2APZA9oD2wPcA90D3gPfA+AD4QPiA+MD5APlA+YD5wPoA+kD6gPrA+wD7QPuA+8D8APxA/ID8wP0A/UD9gP3A/gD+QP6A/sD/AP9A/4D/wQABAEEAgQDBAQEBQQGBAcECAQJBAoECwQMBA0EDgQPBBAEEQQSBBMEFAQVBBYEFwQYBBkEGgQbBBwEHQQeBB8EIAQhBCIEIwQkBCUEJgQnBCgEKQQqBCsELAQtBC4ELwQwBDEEMgQzBDQENQQ2BDcEOAQ5BDoEOwQ8BD0EPgQ/BEAEQQRCBEMERARFBEYERwRIBEkESgRLBEwETQROBE8EUARRBFIEUwRUBFUEVgRXBFgEWQRaBFsEXARdBF4EXwRgBGEEYgRjBGQEZQRmBGcEaARpBGoEawRsBG0EbgRvBHAEcQRyBHMEdAR1BHYEdwR4BHkEegR7BHwEfQR+BH8EgASBBIIEgwSEBIUEhgSHBIgEiQSKBIsEjASNBI4EjwSQBJEEkgSTBJQElQSWBJcEmASZBJoEmwAJABMAFAAVABYAFwAYABkAGgAbABwEnASdBJ4EnwSgBKEEogSjBKQEpQSmBKcEqASpBKoEqwSsBK0ErgSvBLAEsQSyBLMEtAS1BLYEtwS4BLkEugS7BLwEvQARAA8AHQAeAKsABACjACIAogAKAAUAtgC3ALQAtQDEAMUAvgC/AKkAqgAQBL4AsgCzBL8EwATBBMIAwwCHAEIEwwTEAAsADAA+AEAAXgBgABIAXwA/AOgADQCCAMIAhgCIBMUExgTHBMgEyQTKBMsEzATNBM4EzwTQBNEE0gTTBNQAiwTVAIoAjATWBNcE2AAjBNkABgTaBNsE3ATdBN4E3wTgBOEE4gTjBOQE5QTmBOcE6ATpBOoE6wTsBO0E7gTvBPAE8QTyBPME9AT1BPYE9wT4BPkE+gT7BPwE/QT+BP8FAAUBBQIFAwUEBQUFBgUHBQgFCQUKBQsFDAUNBQ4FDwUQBREFEgUTBRQFFQUWBRcFGAUZBRoFGwUcBR0FHgUfBSAFIQUiBSMFJAUlBSYFJwUoBSkFKgUrBSwFLQUuBS8FMAUxBTIFMwU0BTUFNgU3BTgFOQU6BTsFPAU9BT4FPwVABUEFQgVDBUQFRQVGBUcFSAVJBUoFSwVMBU0FTgVPBVAFUQVSBVMFVAVVBVYFVwVYBVkFWgVbBVwFXQVeBV8FYAVhBWIFYwVkBWUFZgVnBWgFaQVqBWsFbAVtBW4FbwVwBXEFcgVzBXQFdQV2BXcFeAV5BXoFewV8BX0FfgV/BYAFgQWCBYMFhAWFBYYFhwWIBYkFigWLBYwFjQWOBY8FkAWRBZIFkwWUBZUFlgWXBZgFmQWaBZsFnAWdBZ4FnwWgBaEFogWjBaQFpQWmBacFqAWpBaoFqwWsBa0FrgWvBbAFsQWyBbMFtAW1BbYFtwW4BbkFugW7BbwFvQW+Bb8FwAXBBcIFwwXEBcUFxgXHBcgFyQXKBcsFzAXNBc4FzwXQBdEF0gXTBdQF1QXWBdcF2AXZBdoF2wXcBd0F3gXfBeAF4QXiBeMF5AXlBeYF5wXoBekF6gXrBewF7QXuBe8F8AXxBfIF8wX0BfUF9gX3BfgF+QX6BfsF/AX9Bf4F/wYABgEGAgYDBgQGBQYGBgcGCAYJBgoGCwYMBg0GDgYPBhAGEQYSBhMGFAYVBhYGFwYYBhkGGgYbBhwGHQYeBh8GIAYhBiIGIwYkBiUGJgYnBigGKQYqBisGLAYtBi4GLwYwBjEGMgYzBjQGNQY2BjcGOAY5BjoGOwY8Bj0GPgY/BkAGQQZCBkMGRAZFBkYGRwZIBkkGSgZLBkwGTQZOBk8GUAZRBlIGUwZUBlUGVgZXBlgGWQZaBlsGXAZdBl4GXwZgBmEGYgZjBmQGZQZmBmcGaAZpBmoGawZsBm0GbgZvBnAGcQZyBnMGdACdBnUAngZ2BncGeAZ5BnoGewZ8Bn0GfgZ/BoAGgQaCBoMGhAaFBoYGhwaIBokGigaLBowGjQaOBo8GkAaRBpIGkwaUBpUGlgaXBpgGmQaaBpsGnAadBp4GnwagBqEGogajBqQGpQamBqcGqAapBqoGqwasBq0GrgavBrAGsQayBrMGtAa1BrYGtwa4AIMAvQAHAIUAlga5AIQGuga7BrwGvQa+Br8GwAbBBsIGwwbEBsUGxgbHBsgGyQC8BsoGywAIAMYA9QD0APYGzAbNBs4GzwbQBtEG0gbTBtQG1QbWBtcG2AbZBtoG2wAOAO8A8AC4BtwAIAAfACEAlACVAJMAQQCPAGEApwCkAJIG3QCYAJwApQbeBt8AmQCaBuAG4QbiBuMG5AblBuYG5wboBukG6gbrBuwG7QbuBu8G8AbxBvIG8wb0BvUAuQb2BvcG+Ab5BvoG+wb8Bv0AQwCNANgA4Qb+Bv8HAAcBBwIA2QCOANoA2wDdAN8A3ADeAOAHAwcEBwUHBgcHBwgHCQcKBwsHDAcNBw4HDwcQBxEHEgcTBxQHFQcWBxcHGAcZBxoHGwccBx0HHgcfByAHIQciByMHJAclByYHJwcoBykHKgcrBywHLQcuBy8HMAcxBzIHMwc0BzUHNgc3BzgHOQc6BzsHPAc9Bz4HPwdAB0EHQgdDB0QHRQdGB0cHSAdJB0oHSwdMB00HTgdPB1AHUQdSB1MHVAdVB1YHVwdYB1kHWgdbB1wHXQdeB18HYAdhB2IHYwdkB2UHZgdnB2gHaQdqB2sHbAdtB24HbwdwB3EHcgdzB3QHdQDAAMEHQW1hY3JvbgZBYnJldmUHdW5pMDFDRAd1bmkxRUEwB3VuaTFFQTIHdW5pMUVBNAd1bmkxRUE2B3VuaTFFQTgHdW5pMUVBQQd1bmkxRUFDB3VuaTFFQUUHdW5pMUVCMAd1bmkxRUIyB3VuaTFFQjQHdW5pMUVCNgdBb2dvbmVrB3VuaTAxRkMHdW5pMDFFMgd1bmkwMjQzB3VuaTFFMDYLQ2NpcmN1bWZsZXgKQ2RvdGFjY2VudAZEY2Fyb24HdW5pMUUwQwd1bmkxRTBFBkRjcm9hdAZFY2Fyb24HRW1hY3JvbgZFYnJldmUKRWRvdGFjY2VudAd1bmkxRUI4B3VuaTFFQkEHdW5pMUVCQwd1bmkxRUJFB3VuaTFFQzAHdW5pMUVDMgd1bmkxRUM0B3VuaTFFQzYHRW9nb25lawd1bmkxRTE2B3VuaTAxRjQLR2NpcmN1bWZsZXgKR2RvdGFjY2VudAd1bmkwMTIyBkdjYXJvbgd1bmkxRTIwC3VuaTAwNDcwMzAzB3VuaTAxOTMLSGNpcmN1bWZsZXgHdW5pMUUyNAd1bmkxRTJBBEhiYXIGSXRpbGRlB0ltYWNyb24HdW5pMDFDRgd1bmkxRUM4B3VuaTFFQ0EHSW9nb25lawd1bmkwMTJDC0pjaXJjdW1mbGV4B3VuaTAxMzYHdW5pMUUzMgd1bmkxRTM0BkxhY3V0ZQZMY2Fyb24HdW5pMDEzQgRMZG90B3VuaTFFMzYHdW5pMUUzOAd1bmkxRTNBB3VuaTFFM0UHdW5pMUU0MAd1bmkxRTQyBk5hY3V0ZQd1bmkwMUY4Bk5jYXJvbgd1bmkwMTQ1B3VuaTFFNDQHdW5pMUU0Ngd1bmkxRTQ4B09tYWNyb24NT2h1bmdhcnVtbGF1dAd1bmkwMUQxB3VuaTFFQ0MHdW5pMUVDRQd1bmkxRUQwB3VuaTFFRDIHdW5pMUVENAd1bmkxRUQ2B3VuaTFFRDgHdW5pMDE0RQd1bmkxRTUyBU9ob3JuB3VuaTFFREEHdW5pMUVEQwd1bmkxRURFB3VuaTFFRTAHdW5pMUVFMgd1bmkwMUVBBlJhY3V0ZQZSY2Fyb24HdW5pMUU1OAd1bmkwMTU2B3VuaTFFNUEHdW5pMUU1Qwd1bmkxRTVFBlNhY3V0ZQtTY2lyY3VtZmxleAd1bmkwMTVFB3VuaTAyMTgHdW5pMUU2MAd1bmkxRTYyB3VuaTFFOUUGVGNhcm9uB3VuaTAxNjIHdW5pMDIxQQd1bmkxRTZDB3VuaTFFNkUHdW5pMDE2NgZVdGlsZGUHVW1hY3JvbgZVYnJldmUFVXJpbmcNVWh1bmdhcnVtbGF1dAd1bmkwMUQzB3VuaTAxRDUHdW5pMDFENwd1bmkwMUQ5B3VuaTAxREIHdW5pMUVFNAd1bmkxRUU2B1VvZ29uZWsFVWhvcm4HdW5pMUVFOAd1bmkxRUVBB3VuaTFFRUMHdW5pMUVFRQd1bmkxRUYwBldncmF2ZQZXYWN1dGULV2NpcmN1bWZsZXgJV2RpZXJlc2lzBllncmF2ZQtZY2lyY3VtZmxleAd1bmkxRThFB3VuaTFFRjQHdW5pMUVGNgd1bmkxRUY4BlphY3V0ZQpaZG90YWNjZW50B3VuaTFFOTIHdW5pMUU5NAd1bmkwMThGB3VuaTAxNEEHdW5pMDEzMgdhbWFjcm9uBmFicmV2ZQd1bmkwMUNFB3VuaTFFQTEHdW5pMUVBMwd1bmkxRUE1B3VuaTFFQTcHdW5pMUVBOQd1bmkxRUFCB3VuaTFFQUQHdW5pMUVBRgd1bmkxRUIxB3VuaTFFQjMHdW5pMUVCNQd1bmkxRUI3B2FvZ29uZWsHdW5pMDFGRAd1bmkwMUUzB3VuaTAxODAHdW5pMUUwNwtjY2lyY3VtZmxleApjZG90YWNjZW50BmRjYXJvbgd1bmkxRTBEB3VuaTFFMEYGZWNhcm9uB2VtYWNyb24GZWJyZXZlCmVkb3RhY2NlbnQHdW5pMUVCOQd1bmkxRUJCB3VuaTFFQkQHdW5pMUVCRgd1bmkxRUMxB3VuaTFFQzMHdW5pMUVDNQd1bmkxRUM3B2VvZ29uZWsHdW5pMUUxNwd1bmkwMUY1C2djaXJjdW1mbGV4Cmdkb3RhY2NlbnQHdW5pMDEyMwZnY2Fyb24HdW5pMUUyMQt1bmkwMDY3MDMwMwtoY2lyY3VtZmxleAd1bmkxRTI1B3VuaTFFOTYHdW5pMUUyQgRoYmFyBml0aWxkZQdpbWFjcm9uB3VuaTAxRDAHdW5pMUVDOQd1bmkxRUNCB2lvZ29uZWsJaW9nb25lay5kB3VuaTAxMkQLamNpcmN1bWZsZXgHdW5pMDEzNwd1bmkxRTMzB3VuaTFFMzUMa2dyZWVubGFuZGljBmxhY3V0ZQZsY2Fyb24EbGRvdAd1bmkwMTNDB3VuaTFFMzcHdW5pMUUzOQd1bmkxRTNCB3VuaTFFM0YHdW5pMUU0MQd1bmkxRTQzBm5hY3V0ZQd1bmkwMUY5Bm5jYXJvbgd1bmkwMTQ2B3VuaTFFNDUHdW5pMUU0Nwd1bmkxRTQ5C25hcG9zdHJvcGhlB29tYWNyb24Nb2h1bmdhcnVtbGF1dAd1bmkwMUQyB3VuaTFFQ0QHdW5pMUVDRgd1bmkxRUQxB3VuaTFFRDMHdW5pMUVENQd1bmkxRUQ3B3VuaTFFRDkHdW5pMDE0Rgd1bmkxRTUzBW9ob3JuB3VuaTFFREIHdW5pMUVERAd1bmkxRURGB3VuaTFFRTEHdW5pMUVFMwd1bmkwMUVCBnJhY3V0ZQd1bmkwMTU3BnJjYXJvbgd1bmkxRTU5B3VuaTFFNUIHdW5pMUU1RAd1bmkxRTVGBnNhY3V0ZQtzY2lyY3VtZmxleAd1bmkwMTVGB3VuaTAyMTkHdW5pMUU2MQd1bmkxRTYzBnRjYXJvbgd1bmkwMTYzB3VuaTAyMUIHdW5pMUU2RAd1bmkxRTZGB3VuaTFFOTcHdW5pMDE2NwZ1dGlsZGUHdW1hY3JvbgZ1YnJldmUFdXJpbmcNdWh1bmdhcnVtbGF1dAd1bmkwMUQ0B3VuaTAxRDYHdW5pMDFEOAd1bmkwMURBB3VuaTAxREMHdW5pMUVFNQd1bmkxRUU3B3VvZ29uZWsFdWhvcm4HdW5pMUVFOQd1bmkxRUVCB3VuaTFFRUQHdW5pMUVFRgd1bmkxRUYxBndncmF2ZQZ3YWN1dGULd2NpcmN1bWZsZXgJd2RpZXJlc2lzBnlncmF2ZQt5Y2lyY3VtZmxleAd1bmkxRThGB3VuaTFFRjUHdW5pMUVGNwd1bmkxRUY5BnphY3V0ZQp6ZG90YWNjZW50B3VuaTFFOTMHdW5pMUU5NQd1bmkwMTRCB3VuaTAyMzcHdW5pMDEzMwd1bmkwMjUwB3VuaTAyNTIHdW5pMDI1Mwd1bmkwMjU0B3VuaTAyNTUHdW5pMDI1Ngd1bmkwMjU3B3VuaTAyNTgHdW5pMDI1MQd1bmkwMjk5B3VuaTAyNTkHdW5pMDI1QQd1bmkwMjVCB3VuaTAyNUMHdW5pMDI1RQd1bmkwMjVGB3VuaTAyNjAHdW5pMDI2MQd1bmkwMjYyB3VuaTAyNjMHdW5pMDI2NAd1bmkwMjY1B3VuaTAyNjYHdW5pMDI2Nwd1bmkwMjlDB3VuaTAyNjgHdW5pMDI2QQd1bmkwMjlEB3VuaTAyNkMHdW5pMDI2RAd1bmkwMjZFB3VuaTAyOUYHdW5pMDI2Rgd1bmkwMjcwB3VuaTAyNzEHdW5pMDI3Mgd1bmkwMjczB3VuaTAyNzQHdW5pMDI3NQd1bmkwMjc2B3VuaTAyNzgHdW5pMDI3OQd1bmkwMjdBB3VuaTAyN0IHdW5pMDI3RAd1bmkwMjdFB3VuaTAyODAHdW5pMDI4MQd1bmkwMjgyB3VuaTAyODMHdW5pMDI4NAd1bmkwMjg4B3VuaTAyODkHdW5pMDI4QQd1bmkwMjhCB3VuaTAyOEMHdW5pMDI4RAd1bmkwMjhFB3VuaTAyOEYHdW5pMDI5MAd1bmkwMjkxB3VuaTAyOTIHdW5pMDI5NAd1bmkwMjk1B3VuaTAyQTEHdW5pMDJBMgd1bmkwMUMyB3VuaTAyOTgDZl9mBWZfZl9pBWZfZl9sA2ZfdAVmX2ZfdANJLmEISWdyYXZlLmEISWFjdXRlLmENSWNpcmN1bWZsZXguYQhJdGlsZGUuYQtJZGllcmVzaXMuYQlJbWFjcm9uLmEMSWRvdGFjY2VudC5hCXVuaTAxQ0YuYQl1bmkxRUM4LmEJdW5pMUVDQS5hCUlvZ29uZWsuYQl1bmkwMTJDLmEJdW5pMDE0QS5hA2EuYQhhZ3JhdmUuYQhhYWN1dGUuYQ1hY2lyY3VtZmxleC5hCGF0aWxkZS5hC2FkaWVyZXNpcy5hCWFtYWNyb24uYQhhYnJldmUuYQdhcmluZy5hCXVuaTAxQ0UuYQl1bmkxRUExLmEJdW5pMUVBMy5hCXVuaTFFQTUuYQl1bmkxRUE3LmEJdW5pMUVBOS5hCXVuaTFFQUIuYQl1bmkxRUFELmEJdW5pMUVBRi5hCXVuaTFFQjEuYQl1bmkxRUIzLmEJdW5pMUVCNS5hCXVuaTFFQjcuYQlhb2dvbmVrLmEDZy5hCXVuaTAxRjUuYQ1nY2lyY3VtZmxleC5hCGdicmV2ZS5hDGdkb3RhY2NlbnQuYQl1bmkwMTIzLmEIZ2Nhcm9uLmEJdW5pMUUyMS5hDXVuaTAwNjcwMzAzLmEDbC5hCGxhY3V0ZS5hCGxjYXJvbi5hBmxkb3QuYQl1bmkwMTNDLmEJdW5pMUUzNy5hCXVuaTFFMzkuYQl1bmkxRTNCLmEIbHNsYXNoLmEEZmwuYQVBbHBoYQRCZXRhBUdhbW1hB3VuaTAzOTQHRXBzaWxvbgRaZXRhA0V0YQVUaGV0YQRJb3RhBUthcHBhBkxhbWJkYQJNdQJOdQJYaQdPbWljcm9uAlBpA1JobwVTaWdtYQNUYXUHVXBzaWxvbgNQaGkDQ2hpA1BzaQd1bmkwM0E5CkFscGhhdG9ub3MMRXBzaWxvbnRvbm9zCEV0YXRvbm9zCUlvdGF0b25vcwxJb3RhZGllcmVzaXMMT21pY3JvbnRvbm9zDFVwc2lsb250b25vcw9VcHNpbG9uZGllcmVzaXMKT21lZ2F0b25vcwVhbHBoYQRiZXRhBWdhbW1hBWRlbHRhB2Vwc2lsb24EemV0YQNldGEFdGhldGEEaW90YQVrYXBwYQZsYW1iZGEHdW5pMDNCQwJudQJ4aQdvbWljcm9uA3JobwVzaWdtYQN0YXUHdXBzaWxvbgNwaGkDY2hpA3BzaQVvbWVnYQd1bmkwM0MyB3VuaTAzRDAHdW5pMDNEMQd1bmkwM0Q1CmFscGhhdG9ub3MMZXBzaWxvbnRvbm9zCGV0YXRvbm9zCWlvdGF0b25vcwxpb3RhZGllcmVzaXMMb21pY3JvbnRvbm9zDHVwc2lsb250b25vcw91cHNpbG9uZGllcmVzaXMKb21lZ2F0b25vcxFpb3RhZGllcmVzaXN0b25vcxR1cHNpbG9uZGllcmVzaXN0b25vcwd1bmkxRjA4B3VuaTFGMDkHdW5pMUZCQQd1bmkxRkJCB3VuaTFGMEEHdW5pMUYwQgd1bmkxRjBDB3VuaTFGMEQHdW5pMUYwRQd1bmkxRjBGB3VuaTFGQjgHdW5pMUZCOQd1bmkxRjE4B3VuaTFGMTkHdW5pMUZDOAd1bmkxRkM5B3VuaTFGMUEHdW5pMUYxQgd1bmkxRjFDB3VuaTFGMUQHdW5pMUYyOAd1bmkxRjI5B3VuaTFGQ0EHdW5pMUZDQgd1bmkxRjJBB3VuaTFGMkIHdW5pMUYyQwd1bmkxRjJEB3VuaTFGMkUHdW5pMUYyRgd1bmkxRjM4B3VuaTFGMzkHdW5pMUZEQQd1bmkxRkRCB3VuaTFGM0EHdW5pMUYzQgd1bmkxRjNDB3VuaTFGM0QHdW5pMUYzRQd1bmkxRjNGB3VuaTFGRDgHdW5pMUZEOQd1bmkxRjQ4B3VuaTFGNDkHdW5pMUZGOAd1bmkxRkY5B3VuaTFGNEEHdW5pMUY0Qgd1bmkxRjRDB3VuaTFGNEQHdW5pMUZFQwd1bmkxRjU5B3VuaTFGRUEHdW5pMUZFQgd1bmkxRjVCB3VuaTFGNUQHdW5pMUY1Rgd1bmkxRkU4B3VuaTFGRTkHdW5pMUY2OAd1bmkxRjY5B3VuaTFGRkEHdW5pMUZGQgd1bmkxRjZBB3VuaTFGNkIHdW5pMUY2Qwd1bmkxRjZEB3VuaTFGNkUHdW5pMUY2Rgd1bmkxRkJDB3VuaTFGODgHdW5pMUY4OQd1bmkxRjhBB3VuaTFGOEIHdW5pMUY4Qwd1bmkxRjhEB3VuaTFGOEUHdW5pMUY4Rgd1bmkxRkNDB3VuaTFGOTgHdW5pMUY5OQd1bmkxRjlBB3VuaTFGOUIHdW5pMUY5Qwd1bmkxRjlEB3VuaTFGOUUHdW5pMUY5Rgd1bmkxRkZDB3VuaTFGQTgHdW5pMUZBOQd1bmkxRkFBB3VuaTFGQUIHdW5pMUZBQwd1bmkxRkFEB3VuaTFGQUUHdW5pMUZBRgd1bmkxRjAwB3VuaTFGMDEHdW5pMUY3MAd1bmkxRjcxB3VuaTFGMDIHdW5pMUYwMwd1bmkxRjA0B3VuaTFGMDUHdW5pMUYwNgd1bmkxRjA3B3VuaTFGQjAHdW5pMUZCMQd1bmkxRkI2B3VuaTFGMTAHdW5pMUYxMQd1bmkxRjcyB3VuaTFGNzMHdW5pMUYxMgd1bmkxRjEzB3VuaTFGMTQHdW5pMUYxNQd1bmkxRjIwB3VuaTFGMjEHdW5pMUY3NAd1bmkxRjc1B3VuaTFGMjIHdW5pMUYyMwd1bmkxRjI0B3VuaTFGMjUHdW5pMUYyNgd1bmkxRjI3B3VuaTFGQzYHdW5pMUYzMAd1bmkxRjMxB3VuaTFGNzYHdW5pMUY3Nwd1bmkxRjMyB3VuaTFGMzMHdW5pMUYzNAd1bmkxRjM1B3VuaTFGMzYHdW5pMUYzNwd1bmkxRkQwB3VuaTFGRDEHdW5pMUZENgd1bmkxRkQyB3VuaTFGRDMHdW5pMUZENwd1bmkxRjQwB3VuaTFGNDEHdW5pMUY3OAd1bmkxRjc5B3VuaTFGNDIHdW5pMUY0Mwd1bmkxRjQ0B3VuaTFGNDUHdW5pMUZFNAd1bmkxRkU1B3VuaTFGNTAHdW5pMUY1MQd1bmkxRjdBB3VuaTFGN0IHdW5pMUY1Mgd1bmkxRjUzB3VuaTFGNTQHdW5pMUY1NQd1bmkxRjU2B3VuaTFGNTcHdW5pMUZFNgd1bmkxRkUwB3VuaTFGRTEHdW5pMUZFMgd1bmkxRkUzB3VuaTFGRTcHdW5pMUY2MAd1bmkxRjYxB3VuaTFGN0MHdW5pMUY3RAd1bmkxRjYyB3VuaTFGNjMHdW5pMUY2NAd1bmkxRjY1B3VuaTFGNjYHdW5pMUY2Nwd1bmkxRkY2B3VuaTFGQjMHdW5pMUY4MAd1bmkxRjgxB3VuaTFGQjIHdW5pMUZCNAd1bmkxRjgyB3VuaTFGODMHdW5pMUY4NAd1bmkxRjg1B3VuaTFGODYHdW5pMUY4Nwd1bmkxRkI3B3VuaTFGQzMHdW5pMUY5MAd1bmkxRjkxB3VuaTFGQzIHdW5pMUZDNAd1bmkxRjkyB3VuaTFGOTMHdW5pMUY5NAd1bmkxRjk1B3VuaTFGOTYHdW5pMUY5Nwd1bmkxRkM3B3VuaTFGRjMHdW5pMUZBMAd1bmkxRkExB3VuaTFGRjIHdW5pMUZGNAd1bmkxRkEyB3VuaTFGQTMHdW5pMUZBNAd1bmkxRkE1B3VuaTFGQTYHdW5pMUZBNwd1bmkxRkY3B3VuaTAzRDcHdW5pMDNEOQd1bmkwM0RCB3VuaTAzREQHdW5pMDNFMQd1bmkwMzdFCWFub3RlbGVpYQ1hbm90ZWxlaWEuY2FwB3VuaTAzNzQHdW5pMDM3NQV0b25vcwl0b25vcy5jYXANZGllcmVzaXN0b25vcwd1bmkwMzdBB3VuaTFGQkUHdW5pMUZCRAd1bmkxRkJGB3VuaTFGRkUHdW5pMUZFRgd1bmkxRkZEB3VuaTFGQ0QHdW5pMUZERAd1bmkxRkNFB3VuaTFGREUHdW5pMUZDRgd1bmkxRkRGB3VuaTFGQzAHdW5pMUZFRAd1bmkxRkVFB3VuaTFGQzELdW5pMUZCRC5jYXALdW5pMUZGRS5jYXALdW5pMUZFRi5jYXALdW5pMUZDRC5jYXALdW5pMUZERC5jYXALdW5pMUZDRS5jYXALdW5pMUZERS5jYXALdW5pMUZDRi5jYXALdW5pMUZERi5jYXAHdW5pMDQxMAd1bmkwNDExB3VuaTA0MTIHdW5pMDQxMwd1bmkwNDE0B3VuaTA0MTUHdW5pMDQxNgd1bmkwNDE3B3VuaTA0MTgHdW5pMDQxOQd1bmkwNDFBB3VuaTA0MUIHdW5pMDQxQwd1bmkwNDFEB3VuaTA0MUUHdW5pMDQxRgd1bmkwNDIwB3VuaTA0MjEHdW5pMDQyMgd1bmkwNDIzB3VuaTA0MjQHdW5pMDQyNQd1bmkwNDI2B3VuaTA0MjcHdW5pMDQyOAd1bmkwNDI5B3VuaTA0MkEHdW5pMDQyQgd1bmkwNDJDB3VuaTA0MkQHdW5pMDQyRQd1bmkwNDJGB3VuaTA0MDAHdW5pMDQwMQd1bmkwNDAyB3VuaTA0MDMHdW5pMDQwNAd1bmkwNDA1B3VuaTA0MDYHdW5pMDQwNwl1bmkwNDA3LmEHdW5pMDQwOAd1bmkwNDA5B3VuaTA0MEEHdW5pMDQwQgd1bmkwNDBDB3VuaTA0MEQHdW5pMDQwRQd1bmkwNDBGB3VuaTA0NjIHdW5pMDQ3Mgd1bmkwNDc0B3VuaTA0OTAHdW5pMDQ5Mgd1bmkwNDk2B3VuaTA0OTgHdW5pMDQ5QQd1bmkwNEEwB3VuaTA0QTIHdW5pMDRBQQd1bmkwNEFFB3VuaTA0QjAHdW5pMDRCMgd1bmkwNEI2B3VuaTA0QkEHdW5pMDRDMAd1bmkwNEMxB3VuaTA0RDAHdW5pMDRENAd1bmkwNEQ2B3VuaTA0RDgHdW5pMDRFMgd1bmkwNEU2B3VuaTA0RTgHdW5pMDRFRQd1bmkwNEYyB3VuaTA0MzAHdW5pMDQzMQd1bmkwNDMyB3VuaTA0MzMHdW5pMDQzNAd1bmkwNDM1B3VuaTA0MzYHdW5pMDQzNwd1bmkwNDM4B3VuaTA0MzkHdW5pMDQzQQd1bmkwNDNCB3VuaTA0M0MHdW5pMDQzRAd1bmkwNDNFB3VuaTA0M0YHdW5pMDQ0MAd1bmkwNDQxB3VuaTA0NDIHdW5pMDQ0Mwd1bmkwNDQ0B3VuaTA0NDUHdW5pMDQ0Ngd1bmkwNDQ3B3VuaTA0NDgHdW5pMDQ0OQd1bmkwNDRBB3VuaTA0NEIHdW5pMDQ0Qwd1bmkwNDREB3VuaTA0NEUHdW5pMDQ0Rgd1bmkwNDUwB3VuaTA0NTEHdW5pMDQ1Mgd1bmkwNDUzB3VuaTA0NTQHdW5pMDQ1NQd1bmkwNDU2B3VuaTA0NTcJdW5pMDQ1Ny5hB3VuaTA0NTgHdW5pMDQ1OQd1bmkwNDVBB3VuaTA0NUIHdW5pMDQ1Qwd1bmkwNDVEB3VuaTA0NUUHdW5pMDQ1Rgd1bmkwNDYzB3VuaTA0NzMHdW5pMDQ3NQd1bmkwNDkxB3VuaTA0OTMHdW5pMDQ5Nwd1bmkwNDk5B3VuaTA0OUIHdW5pMDRBMQd1bmkwNEEzB3VuaTA0QUIHdW5pMDRBRgd1bmkwNEIxB3VuaTA0QjMHdW5pMDRCNwd1bmkwNEJCB3VuaTA0QzIHdW5pMDRDRgd1bmkwNEQxB3VuaTA0RDUHdW5pMDRENwd1bmkwNEQ5B3VuaTA0RTMHdW5pMDRFNwd1bmkwNEU5B3VuaTA0RUYHdW5pMDRGMwt1bmkwNDMxLnNyYgd1bmkyMTE2Bnplcm8uMAd6ZXJvLjBzCXplcm8ucG51bQhvbmUucG51bQh0d28ucG51bQp0aHJlZS5wbnVtCWZvdXIucG51bQlmaXZlLnBudW0Ic2l4LnBudW0Kc2V2ZW4ucG51bQplaWdodC5wbnVtCW5pbmUucG51bQd6ZXJvLjBwCHplcm8uMHBzCXplcm8udG51bQhvbmUudG51bQh0d28udG51bQp0aHJlZS50bnVtCWZvdXIudG51bQlmaXZlLnRudW0Ic2l4LnRudW0Kc2V2ZW4udG51bQplaWdodC50bnVtCW5pbmUudG51bQl6ZXJvLm9udW0Ib25lLm9udW0IdHdvLm9udW0KdGhyZWUub251bQlmb3VyLm9udW0JZml2ZS5vbnVtCHNpeC5vbnVtCnNldmVuLm9udW0KZWlnaHQub251bQluaW5lLm9udW0HdW5pMDBBRAd1bmkyRTNBB3VuaTJFM0IKZmlndXJlZGFzaAd1bmkyMDE1B3VuaTIwM0UHdW5pMjAzRgd1bmkyMDE2B3VuaTIwM0MHdW5pMjA0Nwd1bmkyMDQ5B3VuaTIwNDgHdW5pMjAzRAd1bmkyMzFDB3VuaTIzMUQHdW5pMjMxRQd1bmkyMzFGB3VuaTI3RTYHdW5pMjdFNwd1bmkyRTIyB3VuaTJFMjMHdW5pMkUyNAd1bmkyRTI1B3VuaTIxMTcHdW5pMjEyMAZ1MUYxNkEGdTFGMTZCB2F0LmNhc2UFaS50cmsEQS5zYwRCLnNjBEMuc2MERC5zYwRFLnNjBEYuc2MERy5zYwRILnNjBEkuc2MESi5zYwRLLnNjBEwuc2METS5zYwROLnNjBE8uc2MEUC5zYwRRLnNjBFIuc2MEUy5zYwRULnNjBFUuc2MEVi5zYwRXLnNjBFguc2MEWS5zYwRaLnNjCUFncmF2ZS5zYwlBYWN1dGUuc2MOQWNpcmN1bWZsZXguc2MJQXRpbGRlLnNjDEFkaWVyZXNpcy5zYwpBbWFjcm9uLnNjCUFicmV2ZS5zYwhBcmluZy5zYwp1bmkwMUNELnNjCnVuaTFFQTAuc2MKdW5pMUVBMi5zYwp1bmkxRUE0LnNjCnVuaTFFQTYuc2MKdW5pMUVBOC5zYwp1bmkxRUFBLnNjCnVuaTFFQUMuc2MKdW5pMUVBRS5zYwp1bmkxRUIwLnNjCnVuaTFFQjIuc2MKdW5pMUVCNC5zYwp1bmkxRUI2LnNjCkFvZ29uZWsuc2MFQUUuc2MKdW5pMDFGQy5zYwp1bmkwMUUyLnNjCnVuaTAyNDMuc2MKdW5pMUUwNi5zYwtDY2VkaWxsYS5zYwlDYWN1dGUuc2MOQ2NpcmN1bWZsZXguc2MJQ2Nhcm9uLnNjDUNkb3RhY2NlbnQuc2MJRGNhcm9uLnNjCnVuaTFFMEMuc2MKdW5pMUUwRS5zYwlEY3JvYXQuc2MJRWdyYXZlLnNjCUVhY3V0ZS5zYw5FY2lyY3VtZmxleC5zYwlFY2Fyb24uc2MMRWRpZXJlc2lzLnNjCkVtYWNyb24uc2MJRWJyZXZlLnNjDUVkb3RhY2NlbnQuc2MKdW5pMUVCOC5zYwp1bmkxRUJBLnNjCnVuaTFFQkMuc2MKdW5pMUVCRS5zYwp1bmkxRUMwLnNjCnVuaTFFQzIuc2MKdW5pMUVDNC5zYwp1bmkxRUM2LnNjCkVvZ29uZWsuc2MKdW5pMUUxNi5zYwp1bmkwMUY0LnNjDkdjaXJjdW1mbGV4LnNjCUdicmV2ZS5zYw1HZG90YWNjZW50LnNjCnVuaTAxMjIuc2MJR2Nhcm9uLnNjCnVuaTFFMjAuc2MOdW5pMDA0NzAzMDMuc2MKdW5pMDE5My5zYw5IY2lyY3VtZmxleC5zYwp1bmkxRTI0LnNjCnVuaTFFMkEuc2MHSGJhci5zYwlJZ3JhdmUuc2MJSWFjdXRlLnNjDkljaXJjdW1mbGV4LnNjCUl0aWxkZS5zYwxJZGllcmVzaXMuc2MKSW1hY3Jvbi5zYw1JZG90YWNjZW50LnNjCnVuaTAxQ0Yuc2MKdW5pMUVDOC5zYwp1bmkxRUNBLnNjCklvZ29uZWsuc2MKdW5pMDEyQy5zYw5KY2lyY3VtZmxleC5zYwp1bmkwMTM2LnNjCnVuaTFFMzIuc2MKdW5pMUUzNC5zYwlMYWN1dGUuc2MJTGNhcm9uLnNjCnVuaTAxM0Iuc2MHTGRvdC5zYwp1bmkxRTM2LnNjCnVuaTFFMzguc2MKdW5pMUUzQS5zYwlMc2xhc2guc2MKdW5pMUUzRS5zYwp1bmkxRTQwLnNjCnVuaTFFNDIuc2MJTmFjdXRlLnNjCnVuaTAxRjguc2MJTmNhcm9uLnNjCU50aWxkZS5zYwp1bmkwMTQ1LnNjCnVuaTFFNDQuc2MKdW5pMUU0Ni5zYwp1bmkxRTQ4LnNjCU9ncmF2ZS5zYwlPYWN1dGUuc2MOT2NpcmN1bWZsZXguc2MJT3RpbGRlLnNjDE9kaWVyZXNpcy5zYwpPbWFjcm9uLnNjEE9odW5nYXJ1bWxhdXQuc2MKdW5pMDFEMS5zYwp1bmkxRUNDLnNjCnVuaTFFQ0Uuc2MKdW5pMUVEMC5zYwp1bmkxRUQyLnNjCnVuaTFFRDQuc2MKdW5pMUVENi5zYwp1bmkxRUQ4LnNjCU9zbGFzaC5zYwVPRS5zYwhPaG9ybi5zYwp1bmkxRURBLnNjCnVuaTFFREMuc2MKdW5pMUVERS5zYwp1bmkxRUUwLnNjCnVuaTFFRTIuc2MKdW5pMDFFQS5zYwp1bmkwMTRFLnNjCnVuaTFFNTIuc2MJUmFjdXRlLnNjCnVuaTFFNTguc2MJUmNhcm9uLnNjCnVuaTAxNTYuc2MKdW5pMUU1QS5zYwp1bmkxRTVDLnNjCnVuaTFFNUUuc2MJU2FjdXRlLnNjDlNjaXJjdW1mbGV4LnNjCVNjYXJvbi5zYwp1bmkwMTVFLnNjCnVuaTAyMTguc2MKdW5pMUU2MC5zYwp1bmkxRTYyLnNjCnVuaTFFOUUuc2MJVGNhcm9uLnNjCnVuaTAxNjIuc2MKdW5pMDIxQS5zYwp1bmkxRTZDLnNjCnVuaTFFNkUuc2MKdW5pMDE2Ni5zYwlVZ3JhdmUuc2MJVWFjdXRlLnNjDlVjaXJjdW1mbGV4LnNjCVV0aWxkZS5zYwxVZGllcmVzaXMuc2MKVW1hY3Jvbi5zYwlVYnJldmUuc2MIVXJpbmcuc2MQVWh1bmdhcnVtbGF1dC5zYwp1bmkwMUQzLnNjCnVuaTAxRDUuc2MKdW5pMDFENy5zYwp1bmkwMUQ5LnNjCnVuaTAxREIuc2MKdW5pMUVFNC5zYwp1bmkxRUU2LnNjClVvZ29uZWsuc2MIVWhvcm4uc2MKdW5pMUVFOC5zYwp1bmkxRUVBLnNjCnVuaTFFRUMuc2MKdW5pMUVFRS5zYwp1bmkxRUYwLnNjCVdncmF2ZS5zYwlXYWN1dGUuc2MOV2NpcmN1bWZsZXguc2MMV2RpZXJlc2lzLnNjCVlncmF2ZS5zYwlZYWN1dGUuc2MOWWNpcmN1bWZsZXguc2MMWWRpZXJlc2lzLnNjCnVuaTFFOEUuc2MKdW5pMUVGNC5zYwp1bmkxRUY2LnNjCnVuaTFFRjguc2MJWmFjdXRlLnNjCVpjYXJvbi5zYw1aZG90YWNjZW50LnNjCnVuaTFFOTIuc2MKdW5pMUU5NC5zYwZFdGguc2MIVGhvcm4uc2MKdW5pMDE4Ri5zYwp1bmkwMTRBLnNjCnVuaTAxMzIuc2MIQWxwaGEuc2MHQmV0YS5zYwhHYW1tYS5zYwp1bmkwMzk0LnNjCkVwc2lsb24uc2MHWmV0YS5zYwZFdGEuc2MIVGhldGEuc2MHSW90YS5zYwhLYXBwYS5zYwlMYW1iZGEuc2MFTXUuc2MFTnUuc2MFWGkuc2MKT21pY3Jvbi5zYwVQaS5zYwZSaG8uc2MIU2lnbWEuc2MGVGF1LnNjClVwc2lsb24uc2MGUGhpLnNjBkNoaS5zYwZQc2kuc2MKdW5pMDNBOS5zYw9Jb3RhZGllcmVzaXMuc2MSVXBzaWxvbmRpZXJlc2lzLnNjD0FscGhhaW90YXN1Yi5zYw1FdGFpb3Rhc3ViLnNjD09tZWdhaW90YXN1Yi5zYwp1bmkwNDEwLnNjCnVuaTA0MTEuc2MKdW5pMDQxMi5zYwp1bmkwNDEzLnNjCnVuaTA0MTQuc2MKdW5pMDQxNS5zYwp1bmkwNDE2LnNjCnVuaTA0MTcuc2MKdW5pMDQxOC5zYwp1bmkwNDE5LnNjCnVuaTA0MUEuc2MKdW5pMDQxQi5zYwp1bmkwNDFDLnNjCnVuaTA0MUQuc2MKdW5pMDQxRS5zYwp1bmkwNDFGLnNjCnVuaTA0MjAuc2MKdW5pMDQyMS5zYwp1bmkwNDIyLnNjCnVuaTA0MjMuc2MKdW5pMDQyNC5zYwp1bmkwNDI1LnNjCnVuaTA0MjYuc2MKdW5pMDQyNy5zYwp1bmkwNDI4LnNjCnVuaTA0Mjkuc2MKdW5pMDQyQS5zYwp1bmkwNDJCLnNjCnVuaTA0MkMuc2MKdW5pMDQyRC5zYwp1bmkwNDJFLnNjCnVuaTA0MkYuc2MKdW5pMDQwMC5zYwp1bmkwNDAxLnNjCnVuaTA0MDIuc2MKdW5pMDQwMy5zYwp1bmkwNDA0LnNjCnVuaTA0MDUuc2MKdW5pMDQwNi5zYwp1bmkwNDA3LnNjC3VuaTA0MDcuc2NhCnVuaTA0MDguc2MKdW5pMDQwOS5zYwp1bmkwNDBBLnNjCnVuaTA0MEIuc2MKdW5pMDQwQy5zYwp1bmkwNDBELnNjCnVuaTA0MEUuc2MKdW5pMDQwRi5zYwp1bmkwNDYyLnNjCnVuaTA0NzIuc2MKdW5pMDQ3NC5zYwp1bmkwNDkwLnNjCnVuaTA0OTIuc2MKdW5pMDQ5Ni5zYwp1bmkwNDk4LnNjCnVuaTA0OUEuc2MKdW5pMDRBMC5zYwp1bmkwNEEyLnNjCnVuaTA0QUEuc2MKdW5pMDRBRS5zYwp1bmkwNEIwLnNjCnVuaTA0QjIuc2MKdW5pMDRCNi5zYwp1bmkwNEJBLnNjCnVuaTA0QzAuc2MKdW5pMDRDMS5zYwp1bmkwNEQwLnNjCnVuaTA0RDQuc2MKdW5pMDRENi5zYwp1bmkwNEQ4LnNjCnVuaTA0RTIuc2MKdW5pMDRFNi5zYwp1bmkwNEU4LnNjCnVuaTA0RUUuc2MKdW5pMDRGMi5zYwxhbXBlcnNhbmQuc2MHemVyby5zYwZvbmUuc2MGdHdvLnNjCHRocmVlLnNjB2ZvdXIuc2MHZml2ZS5zYwZzaXguc2MIc2V2ZW4uc2MIZWlnaHQuc2MHbmluZS5zYwlleGNsYW0uc2MNZXhjbGFtZG93bi5zYwtxdWVzdGlvbi5zYw5xdW90ZXNpbmdsZS5zYwtxdW90ZWRibC5zYwxxdW90ZWxlZnQuc2MNcXVvdGVyaWdodC5zYw9xdW90ZWRibGxlZnQuc2MQcXVvdGVkYmxyaWdodC5zYwloeXBoZW4uc2MJZW5kYXNoLnNjCWVtZGFzaC5zYwxwYXJlbmxlZnQuc2MNcGFyZW5yaWdodC5zYw5icmFja2V0bGVmdC5zYw9icmFja2V0cmlnaHQuc2MMYnJhY2VsZWZ0LnNjDWJyYWNlcmlnaHQuc2MJemVyby5zdXBzCG9uZS5zdXBzCHR3by5zdXBzCnRocmVlLnN1cHMJZm91ci5zdXBzCWZpdmUuc3VwcwhzaXguc3VwcwpzZXZlbi5zdXBzCmVpZ2h0LnN1cHMJbmluZS5zdXBzDnBhcmVubGVmdC5zdXBzD3BhcmVucmlnaHQuc3VwcwtwZXJpb2Quc3Vwcwpjb21tYS5zdXBzCXplcm8uc3VicwhvbmUuc3Vicwh0d28uc3Vicwp0aHJlZS5zdWJzCWZvdXIuc3VicwlmaXZlLnN1YnMIc2l4LnN1YnMKc2V2ZW4uc3VicwplaWdodC5zdWJzCW5pbmUuc3Vicw5wYXJlbmxlZnQuc3Vicw9wYXJlbnJpZ2h0LnN1YnMLcGVyaW9kLnN1YnMKY29tbWEuc3Vicwl6ZXJvLmRub20Ib25lLmRub20IdHdvLmRub20KdGhyZWUuZG5vbQlmb3VyLmRub20JZml2ZS5kbm9tCHNpeC5kbm9tCnNldmVuLmRub20KZWlnaHQuZG5vbQluaW5lLmRub20OcGFyZW5sZWZ0LmRub20PcGFyZW5yaWdodC5kbm9tC3BlcmlvZC5kbm9tCmNvbW1hLmRub20JemVyby5udW1yCG9uZS5udW1yCHR3by5udW1yCnRocmVlLm51bXIJZm91ci5udW1yCWZpdmUubnVtcghzaXgubnVtcgpzZXZlbi5udW1yCmVpZ2h0Lm51bXIJbmluZS5udW1yDnBhcmVubGVmdC5udW1yD3BhcmVucmlnaHQubnVtcgtwZXJpb2QubnVtcgpjb21tYS5udW1yDW9yZGZlbWluaW5lLmEGQS5zdXBzBkIuc3VwcwZDLnN1cHMGRC5zdXBzBkUuc3VwcwZGLnN1cHMGRy5zdXBzBkguc3VwcwZJLnN1cHMGSi5zdXBzBksuc3VwcwZMLnN1cHMGTS5zdXBzBk4uc3VwcwZPLnN1cHMGUC5zdXBzBlEuc3VwcwZSLnN1cHMGUy5zdXBzBlQuc3VwcwZVLnN1cHMGVi5zdXBzBlcuc3VwcwZYLnN1cHMGWS5zdXBzBlouc3VwcwZhLnN1cHMGYi5zdXBzBmMuc3VwcwZkLnN1cHMGZS5zdXBzBmYuc3VwcwZnLnN1cHMGaC5zdXBzBmkuc3VwcwZqLnN1cHMGay5zdXBzBmwuc3VwcwZtLnN1cHMGbi5zdXBzBm8uc3VwcwZwLnN1cHMGcS5zdXBzBnIuc3VwcwZzLnN1cHMGdC5zdXBzBnUuc3VwcwZ2LnN1cHMGdy5zdXBzBnguc3VwcwZ5LnN1cHMGei5zdXBzB3VuaTAyQzEHdW5pMDJEMAd1bmkwMkQxB3VuaTAyREUHdW5pMDJFMAtlZ3JhdmUuc3VwcwtlYWN1dGUuc3Vwcwx1bmkwMjU5LnN1cHMGYS5zdXBhBmcuc3VwYQZsLnN1cGEKY29sb24uc3VwcwtoeXBoZW4uc3VwcwtlbmRhc2guc3VwcwtlbWRhc2guc3VwcwRFdXJvB3VuaTAxOTINY29sb25tb25ldGFyeQRsaXJhB3VuaTIwQTYGcGVzZXRhB3VuaTIwQTkEZG9uZwd1bmkyMEIxB3VuaTIwQjIHdW5pMjBCNAd1bmkyMEI1B3VuaTIwQjkHdW5pMjBCQQd1bmkyMEFFB3VuaTIwQjgHdW5pMjBCRAd1bmkyMjE1CnNsYXNoLmZyYWMIb25ldGhpcmQJdHdvdGhpcmRzB3VuaTIxNTUHdW5pMjE1Ngd1bmkyMTU3B3VuaTIxNTgHdW5pMjE1OQd1bmkyMTVBB3VuaTIxNTAJb25lZWlnaHRoDHRocmVlZWlnaHRocwtmaXZlZWlnaHRocwxzZXZlbmVpZ2h0aHMHdW5pMjE1MQd1bmkyMTUyB3VuaTIxODkHdW5pMjIxOQd1bmkwMEI1B3VuaTIyMDYHdW5pMjEyNgd1bmkyMTEzCWVzdGltYXRlZAd1bmkyMTkwB2Fycm93dXAHdW5pMjE5MglhcnJvd2Rvd24HdW5pMjVBMAd1bmkyNUM2B3VuaTI1QzkHdW5pMjc1Mgd0cmlhZ3VwB3VuaTI1QjMHdW5pMjVCNgd1bmkyNUI3B3RyaWFnZG4HdW5pMjVCRAd1bmkyNUMwB3VuaTI1QzEHdW5pMjYxMAd1bmkyNjExB3VuaTI3MTMHdW5pMjY2QQd1bmkyMDMyB3VuaTIwMzMHdW5pMjAzNQd1bmkwMkI5B3VuaTAyQkIHdW5pMDJCQwd1bmkwMkJFB3VuaTAyQkYHdW5pMDJDOAd1bmkwMkM5B3VuaTAyQ0EHdW5pMDJDQgd1bmkwMkNDB3VuaTI1Q0MHdW5pMDMwMAt1bmkwMzAwLmNhcAl1bmkwMzAwLmcHdW5pMDMwMQt1bmkwMzAxLmNhcAl1bmkwMzAxLmcHdW5pMDMwMgt1bmkwMzAyLmNhcAd1bmkwMzAzC3VuaTAzMDMuY2FwB3VuaTAzMDQLdW5pMDMwNC5jYXAHdW5pMDMwNQd1bmkwMzA2CXVuaTAzMDYuYwt1bmkwMzA2LmNhcAx1bmkwMzA2LmNjYXAHdW5pMDMwNwt1bmkwMzA3LmNhcAd1bmkwMzA4C3VuaTAzMDguY2FwB3VuaTAzMDkLdW5pMDMwOS5jYXAHdW5pMDMwQQt1bmkwMzBBLmNhcAd1bmkwMzBCC3VuaTAzMEIuY2FwB3VuaTAzMEMLdW5pMDMwQy5jYXAJdW5pMDMwQy5hB3VuaTAzMEYLdW5pMDMwRi5jYXAHdW5pMDMxMQd1bmkwMzEyCXVuaTAzMTIuZwd1bmkwMzEzCXVuaTAzMTMuZwd1bmkwMzE4B3VuaTAzMTkHdW5pMDMxQQd1bmkwMzFCB3VuaTAzMUMHdW5pMDMxRAd1bmkwMzFFB3VuaTAzMUYHdW5pMDMyMAd1bmkwMzIzB3VuaTAzMjQHdW5pMDMyNQd1bmkwMzI2CXVuaTAzMjYuYQd1bmkwMzI3C3VuaTAzMjcuY2FwB3VuaTAzMjgLdW5pMDMyOC5jYXAHdW5pMDMyOQd1bmkwMzJBB3VuaTAzMkMHdW5pMDMyRQd1bmkwMzJGB3VuaTAzMzAHdW5pMDMzMQd1bmkwMzM0B3VuaTAzMzkHdW5pMDMzQQd1bmkwMzNCB3VuaTAzM0MHdW5pMDMzRAd1bmkwMzQyB3VuaTAzNDUHdW5pMDM2MQt1bmkwMzA4MDMwMQ91bmkwMzA4MDMwMS5jYXANdW5pMDMwODAzMDEuZwt1bmkwMzA4MDMwMA91bmkwMzA4MDMwMC5jYXANdW5pMDMwODAzMDAuZwt1bmkwMzA4MDMwMwt1bmkwMzA4MDMwNA91bmkwMzA4MDMwNC5jYXALdW5pMDMwODAzMEMPdW5pMDMwODAzMEMuY2FwC3Vu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AAwADQAOAA8AEAARABIAEwAUABUAFgAXABgAGQAaABsASwBMAGoAgwCtAK4ArwC1ANsA3AD1APYB0AHdAewCBwISA4cDigOMA40DjwORA5UDmgOdA54DogOkA6UDpgO5A8MDxAPQBJoEmwScBJ0EngSfBKAEoQSiBKMEpASlBKYEpwSoBKkEqgSrBKwErQSuBK8EsASxBLIEswTJBMoE6AUBBSsFMQVIBVkFWgV0BYsFlgWYBZkFmwWdBaYAGwAAAG4AAABuAAAAbgAAAG4AAABuAAAAbgAAAG4AAABuAAAAbgAAAG4AAABuAAAAbgAAAG4AAABuAAAAbgAAAG4AAABuAAAAbgAAAG4AAABuAAAAbgAAAG4AAABuAAAAbgAAAG4AAABuAAAAbgABAAACogBoAXQA0gFKANgBgAGAAN4A5AE4AOoA8AD2APwBAgHIAQgByAEOARQBGgFQARoBIAEmAcIBdAEsATIBgAE4AT4BRAFKAcgBUAFQAVYCUgFcAWIBaAFuAW4BdAF6AYABhgGMAZIByAGYAZ4BpAGqAbABtgG8AcgBwgHCAcgCKAHOAlgB1AJkAdoB4AHmAjQB7AIKAfIB+AH+AkACBAI6AgoCEAJGAkwCKAIWAiICHAIiAigCLgJkAjQCOgJAAkYCTAJMAlICWAJeAmQCagJwAnYCfAABASwCogABAT4CogABAW8CogABAVACogABAWcCogABAT8CogABAJoCogABAX0CogABAU4CogABATwCogABATYCogABASMCogABARYCogABAZcCogABARwCogABAR4CogABAhkCtgABAJcCogABAV4CogABAhECogABAVcCogABAUwCogABAVwCogABAT8CBgABAI8CNAABAQwCBgABAMYCogABARsCogABASgCogABASECogABAbECogABAVYCqgABAVMCqgABAR0CogABAUcCogABATQCogABAbICogABAQcCogABAd8CogABAToCogABAQYCogABAVYCogABASICNAABASgCNAABAQ4CNAABAUACNAABATcCNAABAT0CNAABAJsCNAABAVcCNAABATgCNAABASwCNAABASsCNAABAQ8CNAABAWcCNAABAOcCNAABAQACNAABAPgCNAABAcICNAABAJcCNAABATMCNAABATUCNAABAPUCNAABAS8CNAABAXICogABATMCNwABARICJgABAQ0CNAABAlsCqgABATcCJgABATECJgABAPwCJgAEAAAAAQAIAAEADAWAAAEAEgAYAAEAAQcbAAEAAAheAAEABAABAdcCBgAEAAAAAQAIAAEADAAUAAEAMgA8AAEAAgcnBygAAQANAAQAFAAVAB4ALgAvBJwErAStBUgFiAWLBvMAAgAABngAAAZ4AA0AHAAiACgALgA0ADoGzABAAEYARgBGBswGKgABAV4AAAABARgAAAABARYAAAABARIAAAABAOgAAAABAO0AAAABAP4AAAABAPQAAAAEAAAAAQAIAAEADAAuAAEBQAGkAAIABQcZBxoAAAcdByUAAgcrBzEACwczBzYAEgc5BzkAFgACAC0AAgARAAAAEwA1ABAArwCvADMA3ADcADQA9QD1ADUBDgEOADYBRwFHADcBdAF0ADgBogGiADkBugG6ADoBvgHAADsBxAHIAD4BygHMAEMBzwHRAEYB0wHUAEkB2AHYAEsB3QHfAEwB5QHlAE8B5wHqAFAB7AHsAFQB8wH4AFUCBwIHAFsCFQIVAFwCIQIhAF0CLAIsAF4CNQI1AF8CYAJgAGACZAJkAGECZgJmAGICdwJ3AGMEmgSpAGQEqwSzAHQFKwUrAH0FSAVIAH4FWgVaAH8FdgV3AIAFegV8AIIFfgV/AIUFgQWCAIcFhAWEAIkFhgWGAIoFiAWJAIsFiwWLAI0FmAWYAI4G8wbzAI8AFwAAAF4AAABeAAAAXgAAAF4AAABeAAAAXgAAAF4AAABeAAAAXgAAAF4AAABeAAAAXgAAAF4AAABeAAAAXgAAAF4AAABeAAAAXgAAAF4AAABeAAAAXgAAAF4AAABeAAEAAP/qAJABIgEoAS4BNAGUAngBOgFAAsYBRgHKAgABTAFSAcQC5AFYAV4B3AHKAWQBagF2AooBcAJCAhIBdgHuAXwBggGIAhICZgGOAZQBmgIYAaAB3AGmAawCZgLwAbICqAJCAjwBuAG+AuoBxAHKAdAB1gJmAdwB4gISAegCEgISAe4CigJOAfQB+gJgAvACAAIGAgwCQgKoAhICSAK6AhgCGAIeAiQCJAIkAmYCKgIwAjYCQgI8AkIC8AJIAk4CVAJaAmYC2AJgAmYCbAKuArQC9gJyAvwCeAJ+AsACxgKEAswCigLSAtgC3gLkApAC/ALqAqgClgKcAqIC8AK6AtgC6gKoAq4CtAL8AroCwALGAswC0gLYAt4C5ALqAvAC9gL8AwIAAQEb/+oAAQE7/+oAAQFe/+oAAQE5/+oAAQFq/+oAAQFQ/+oAAQEO/+oAAQF//+oAAQFY/+oAAQFH/+oAAQEY/+oAAQET/+oAAQGZ/+oAAQEa/+oAAQES/+oAAQEN/+oAAQCk/+oAAQD5/xsAAQBP/xUAAQEn/+oAAQCJ/+oAAQEj/+oAAQCC/yYAAQGu/yYAAQDr/+oAAQEB/+oAAQDj/w8AAQFW/+oAAQFM/+oAAQFl/+oAAQGY/+oAAQEW/+oAAQEs/+oAAQEd/+oAAQE4/+oAAQEV/+oAAQD9/+oAAQEi/+oAAQEj/yoAAQFB/+oAAQEl/+oAAQG3/+oAAQG0/+oAAQBJ/+oAAQEg/+oAAQEX/+oAAQEe/+oAAQGF/+oAAQEH/+oAAQDG/+oAAQEt/+oAAQEM/+oAAQG//yYAAQD+/+oAAQCK/+oAAQF0/+oAAQEo/+oAAQCf/+oAAQFC/+oAAQDi/+oAAQEI/+oAAQEx/+oAAQD2/+oAAQFn/+oAAQEG/+oAAQEv/+oAAQD4/+oAAQEr/+oAAQD8/+oAAQE3/+oAAQCX/+oAAQE9/+oAAQFX/+oAAQE0/+oAAQE2/+oAAQCh/+oAAQD1/+oAAQDo/+oAAQEz/+oAAQEP/+oAAQEh/+oABAAAAAEACAABAAwAEgABABgAJAABAAEHMgABAAEG8wABAAAABgABAAAA+AABAAQAAQEhAPgABAAAAAEACAABAAwAEgABACQAMAABAAEHHAABAAcAEAAWACoAMASoBK4G8wABAAAABgABAAAB8AAHABAAFgAcACIAKAAuADQAAQHkAoIAAQIhApYAAQFzAfAAAQGvAfoAAQG5AfwAAQHnAhoAAQGXAfAABAAAAAEACAABAAwAEgABALgALAABAAEHKQABAAsAHAAgACQAKgAwAUcBvgHFAcgCFQbzAAsAGAAeADAAJAAqADAANgA8AEIASABOAAEBqQAAAAEBjQAAAAEBSgAAAAEBxwAAAAEAswAAAAEBYgAAAAEBAwAAAAEA/QAAAAEBmAAAAAEBIQAAAAQAAAABAAgAAQAMABIAAQAwADwAAQABByoAAQANAAIABgAKABAAFgHYAgcEmgSeBKIEqASuBSsAAQAAAAYAAQAAAAAADQAcACIARgAoAC4ANAA0ADoAQABGAEwAUgBYAAEB3wAAAAEBigAAAAEBVgAAAAEBTAAAAAEAsgAAAAEBlAAAAAEBTgAAAAEAgwAAAAEBNQAAAAEBLwAAAAEBMwAAAAYBAAABAAgAAQAMAGwAAQB2ATYAAQAuBvQG9gb3BvkG+gb8Bv4HAAcBBwIHBQcHBwkHCwcNBw8HEgcUBxUHFgcXBxgHNwc4BzsHPQc+B0AHQQdCB0QHRgdIB0oHTAdOB1AHUgdUB1YHWgdbB1wHXQdeB18AAQADBvoHBQcHAC4AAAC6AAAAugAAALoAAAC6AAAAugAAALoAAAC6AAAAugAAALoAAAC6AAAAugAAALoAAAC6AAAAugAAALoAAAC6AAAAugAAALoAAAC6AAAAugAAALoAAAC6AAAAugAAALoAAAC6AAAAugAAALoAAAC6AAAAugAAALoAAAC6AAAAugAAALoAAAC6AAAAugAAALoAAAC6AAAAugAAALoAAAC6AAAAugAAALoAAAC6AAAAugAAALoAAAC6AAEAAAIGAAMACAAOAA4AAQAAAuIAAQAAAtAAAgAAAAkAGBNAFVoVmhbkNg5oso6czpYAAQEoAAQAAACPAkoCXAxgAoYChgKGAoYChgKGAowDQgXgB64I8Ak6CUAJQArKCtAK4grwCvoLAAsGC1wLbgt4C4oMDAu4C84MDAwMC+QMAgxgDL4MDAwMDAwMDAwMDAwMDAwMDDIMMgwyDDIMMgwyDEQMUAy+DFoMvgy+DFAMWgxKDFAMUAy+DL4MWgxaDL4MYAy+DL4MagxwDHYMoAygDL4MpgymDLAMvgzEDNYM3A0GDSQNPg1cDXoNqA2+DdAN5g30DhoOOA5WDngOkg7ADtoO8A7wD4YPhg+GDz4PZA+GD4YPjA+SESoRKhEkEVgRKhD4EVgRWBEkEQoRJBEkESoRWBE8EUIRWBFuEXQRlhG0EcYRzBHiEfQSHhI0Ek4SWBKKEswS6gABAI8ABwAXADMBdAF1AXYBdwF4AXkBvgHCAcUB0QHTAd0B5wHqAewB9QH2AfcB+AH5AkECRAJIAlACUQJSAlQCVQJdAl4CZQJtAnUCeAK6ArsCvAK9Ar4CvwLAAsEDCgMLAwwDDQMOAxIDYAOKA4sDmgOdA6ADqgO2A7oDuwO8A8EDxgPRA9ID1wPoA+kD7AP7BAYEBwQJBAsEDQQPBBAEEQQSBC4ELwQwBDEEMgQzBDQENQQ2BDcERARFBEYERwRIBEkESgRLBEwETQRfBGEEcARyBHQEdgSFBIcEiQSqBUgFlAWVBZYFlwWaBagFqQWsBbYFxgXHBcgFygXNBc8F0QXSBeAF4QXiBeMF5AXlBeYF5wXoBekF8wZ8Bn0GfgZ/AAQBPQAPAT4AIAE/ACABQAAPAAoBOwAUATwABAE9ACwBPgBEAT8ARAFAACwBQQATAUIABAFFAAQBRgAsAAEEiP/wAC0AFf/kABf/5gAY//gAGv/kADX/3gDF/+QAxv/kAMf/5ADI/+QAyf/kAMr/5ADi//gA4//4AOT/+ADl//gA5v/kAOf/5ADo/+QA6f/kAOr/5ADr/+QA7P/kAO3/5AG0/94Btf/eAbb/3gG3/94BuP/eAfn/3gH6/94EVf/cBFr/5gRc/+YEY//2BGT/9gRl//YEZv/2BGn/9gRq//YEev/UBIH/3ASD/9wEhP/cBt7/5gbf/+YApwAV/+wAF//uABr/5AAc//YAHgAIAB8ACAAgAAgAIv/2ACoACAAsAAgAMQACADIAAgAz//sAxf/sAMb/7ADH/+wAyP/sAMn/7ADK/+wA5v/kAOf/5ADo/+QA6f/kAOr/5ADr/+QA7P/kAO3/5AD4//YA+f/2APr/9gD7//YA/P/2AP3/9gD+//YA///2AQD/9gEB//YBAv/2AQP/9gEE//YBBf/2AQb/9gEH//YBCP/2AQn/9gEK//YBC//2AQz/9gEN//YBDv/2AQ//9gEQ//YBEwAIARQACAEVAAgBFgAIARcACAEYAAgBGQAIARoACAEbAAgBHAAIAR0ACAEeAAgBHwAIASAACAEhAAgBIgAIASMACAEkAAgBJQAIASYACAEnAAgBKAAIASkACAEqAAgBKwAIASwACAEtAAgBLv/2AS//9gEw//YBMf/2ATL/9gEz//YBNP/2ATX/9gFhAAgBYgAIAWMACAFkAAgBZQAIAWYACAFnAAgBaAAIAWkACAFqAAgBawAIAWwACAFtAAgBbgAIAW8ACAFwAAgBcQAIAXIACAFzAAgBdAAIAXUACAF2AAgBdwAIAXgACAF5AAgBegAIAagAAgGpAAIBqgACAasAAgHCAAgBwwAIAcQACAHGAAgBzgAIAc8ACAHQAAgB5AAIAeUACAHmAAgCFQAIAhYACAIXAAgCGAAIAhkACAIaAAgCGwAIAhwACAIdAAgCHgAIAh8ACAIgAAgCIQAIAiIACAIjAAgCJAAIAiUACAImAAgCJwAIAigACAIpAAgCKgAIAisACAIsAAgCLQAIAi4ACAIvAAgCMAAIAjEACAIyAAgCMwAIAjQACARj/94EZP/eBGX/3gRm/94Eaf/eBGr/3gRr/+4EkQAGAHMAC//sABT/7AAV/+QAF//mABj/9gAa/9wAHP/1ACH/+wAi//YAL//uADH/+gAy//oAM//wADUAAQCF/+wAvf/sAL7/7AC//+wAwP/sAMH/7ADC/+wAw//sAMX/5ADG/+QAx//kAMj/5ADJ/+QAyv/kAOL/9gDj//YA5P/2AOX/9gDm/9wA5//cAOj/3ADp/9wA6v/cAOv/3ADs/9wA7f/cAPj/9QD5//UA+v/1APv/9QD8//UA/f/1AP7/9QD///UBAP/1AQH/9QEC//UBA//1AQT/9QEF//UBBv/1AQf/9QEI//UBCf/1AQr/9QEL//UBDP/1AQ3/9QEO//UBD//1ARD/9QEu//YBL//2ATD/9gEx//YBMv/2ATP/9gE0//YBNf/2AYr/7gGL/+4BjP/uAY3/7gGO/+4Bj//uAZD/7gGo//oBqf/6Aar/+gGr//oBtAABAbUAAQG2AAEBtwABAbgAAQHx/+4B+QABAfoAAQIC//sCBf/7Agb/+wI+//sEWv/2BFz/9gRf//EEYf/xBGMAAgRkAAIEZQACBGYAAgRpAAIEagACBGv/+AR4/94Eev/oBJH/8QSS/+YG3v/2Bt//9gdm//sHZ//7AFAAC//YABX/7AAX//gAGv/wABv/+AAc/+wAJf/2ADX/5ACF/9gAxf/sAMb/7ADH/+wAyP/sAMn/7ADK/+wA5v/wAOf/8ADo//AA6f/wAOr/8ADr//AA7P/wAO3/8ADu//gA7//4APD/+ADx//gA8v/4APj/7AD5/+wA+v/sAPv/7AD8/+wA/f/sAP7/7AD//+wBAP/sAQH/7AEC/+wBA//sAQT/7AEF/+wBBv/sAQf/7AEI/+wBCf/sAQr/7AEL/+wBDP/sAQ3/7AEO/+wBD//sARD/7AFI//YBtP/kAbX/5AG2/+QBt//kAbj/5AG8//YBzf/2AeH/9gHv//YB8P/2Afn/5AH6/+QETv/E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AAIW8AAEAAAXJBeyABgAegAAAAz/5v/v/7D/2/+9/9n/xAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/2/8D/sP+sAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/u/+T/2v/u/8j/t//q/+z/2v/I/7f/4v/Y/+7/5P/x/+z/5P/s/8j/3f/2/9z/3f/k/9z/7P/KAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/+YAAAAA/+oAAAAAAAAAAP/qAAAAAAAAAAD/9gAAAAD/9AAAAAAAAAAA/+oAAAAA//r/7v/2/+7/7P/6AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/i/+b/7gAAAAAAAAAAAAD/oQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP+s/+wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/+z/1ABA/70ABP+9/8D/8QAY//QAQP+9//H/7P/U//b/8QAE/8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/8wAGAAAAAAAAP+6AAAAAAAAABgAAAAAAAD/zAAA/+YAAP+6AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/5P/YAAD/9gAA/+QAAAAAAAAAAAAAAAAAAP/2AAAAAP/2AAAAAAAAAAAAAAAAAAAAAAAA/9gAAAAA/+4AAAAAAAAAAAAAAAAAAP/sAAAAAAAMAAD/7v/X/+IAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/k/+b/9v/X/+b/2P/k/+L/5gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//QAAP/2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/7gAA//H/8QAAAAAAAAAAAAAAAAAAAAAAAP/mAAAAAAAAAAAAAAAAAAAAAAAA//QAAP/0AAAAAP/u/9j/5QAA/9wAAP+8AAD/vP+oAAAAAAAAAAD/vAAAAAD/3AAAAAAAAP+o//b/7AAA/9j/7AAAAAD/5f/s/+T/5P/s/9z/5P/m//T/5P/s/9z/3P/u//T/yP/a/+D/5P/k/+z/3P/gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/+4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/2/+7/7v/2//YAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/qAAt/6AAAP+g/4IAAAAAAAAALf+g/8oAAP+oAAD/ygAA/4IAAAAAAAAAAAAAAAAAAAAAAAD/p//EAAD/uwAAAAAAAP+nAAD/uwAAAAAAAAAAAAAAAP+n/8QAAP+7AAD/3QAAAAD/3QAA/8v/3f+r/6v/y/+n/93/qwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/+j/9P/sAAAAAAAFAAQABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/oAAD/9AAA/9T/7AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/+z/+gAF/9T/+gAAAAT/7P/6AAAAAAAAAAAAAAAA/+gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/o//T/7AAKAAAAGAAWABYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/6AAA//QAAP/A/+wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/sAAAAGP/AAAAACgAW/+wAAAAAAAAAAAAAAAAAAP/oAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/3v/0/+wACgAAABYAEgASAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/94AAP/0AAD/rP/sAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/7AAAABb/rAAAAAoAEv/sAAAAAAAAAAAAAAAAAAD/3gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP+6AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/ugAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/78AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//sAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAAAAAAAAAAAAD/9gAAAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/9gAAAAAAAAAAAAAAAD/2AAAAAAAAAAAAAAAAAAAAAD/2AAAAAAAAAAA//AAAAAA//D/+//k//D/9v/2/+QAAP/w//YAAAAH/7AAHwAH/7D/7v/7/+wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/ywAAAAAAAAAAAAAAAAAAAAD/9gAAAAD/8AAA//YAAAAAAAAAAAAAAAAAAAAAAAD/5gAAAAD/7gAAAAD/5wAA//gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/7gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//D/8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//gAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/+cAAAAAAAAAAAAA//AAAP/4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/w//AAAAAAAAAAAAAAAAAAAAAAAAAAAP/EAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//b/7AAAAAD/+AAAAAAAAP/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/8wAAAAAAAP/4AAAAAAAAAAAAAAAAAAAAAAAA/+wAAP/4AAAAAAAAAAAAAAAA/9gAAAAAAAD/8AAA/+QAAAAAAAAAAAAAAAAAAAAAAAD/rQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/2/+QAAAAA//gAAAAAAAD/5wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//gAAAAA/+4AAAAAAAAAAAAAAAAAAAAAAAAAAP/2AAD/+AAAAAAAAAAAAAAAAP/iAAAAAAAAAAAAAP/mAAAAAAAAAAAAAAAAAAAAAAAA/8QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/9v/sAAAAAP/4AAAAAAAA//AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/7v/4AAAAAAAAAAAAAAAAAAAAAAAAAAD/7AAA//gAAAAAAAAAAAAAAAD/2AAAAAAAAAAAAAD/5AABABgB3QH1AfYB9wH4Am8DwwPHBA8EEAQ1BEsEVARWBGsEdgR4Bc8F5wXpBe0F7wXwBfMAAgAXAfUB9QAVAfYB9gAWAfcB9wAXAfgB+AAEAm8CbwAKA8MDwwACA8cDxwABBA8EDwATBBAEEAAUBDUENQAQBEsESwAPBFQEVAAGBFYEVgALBGsEawAJBHYEdgASBHgEeAAFBc8FzwADBecF5wARBekF6QAIBe0F7QAOBe8F7wAMBfAF8AANBfMF8wAHAAIBPgACAAIAXAAEAAQAbQAIAAgAbQALAAsAcwAQABAAbQASABIAbQAUABQAXQAVABUAOwAWABYAPAAXABcAPgAYABgAQAAZABkAXwAaABoAQgAbABsAYAAcABwAagAeACAAbAAhACEAawAiACIAOAAkACQAcgAlACUAOgAqACoAbAAsACwAbAAvAC8AdQAwADAAdgAxADEAPQAyADIAPwAzADMAXgA0ADQAQQA1ADUAeQA2AEsAXABPAE8ANwBRAFUAbQBZAFkANwBsAHQAbQB4AHgAOQCFAIUAcwCcALUAbQC9AMMAXQDFAMoAOwDLAOEAPADiAOUAQADmAO0AQgDuAPIAYADzAPMANwD1APUAdAD4ARAAagETAS0AbAEuATUAOAE7AUYAcgFIAUgAOgFhAXoAbAGKAZAAdQGRAacAdgGoAasAPwGsAbMAQQG0AbgAeQG8AbwAOgG9Ab0AcgG+Ab4AdgHCAcQAbAHGAcYAbAHNAc0AOgHOAdAAbAHRAdEAQQHTAdMAdgHeAd8AdgHhAeEAOgHkAeYAbAHvAfAAOgHxAfEAdQH0AfQAdgH5AfoAeQICAgIAawIFAgYAawIVAjQAbAI+Aj4AawI/Aj8AUwJCAkIAVgJEAkQAWwJGAkYAaQJJAkkAUwJMAkwAWgJNAk0AaQJQAlAAWQJRAlEANQJSAlIANgJUAlQAVQJVAlUAWAJXAlcAcQJeAl4ANgJgAmAAYQJiAmIAYgJqAmoAVwJsAmwAYwJuAm4AZAJxAnEAZAJyAnIAZQJ0AnQAZAJ1AnUAVAJ3AngAZAJ7AnsAZAJ8AnwAYQKBAoEAZAKEAoQAZAKHApAAcQKRApIAUwLAAsEANgLMAswAUwLNAtQAcQLnAvMAYQMXAx4AZAMxAzsAZAM8A0cAYQNUA18AZANhA2IAZAOHA4cATAOLA4sAFAONA40AUQOOA44AJgOSA5IAGQOVA5UAaAOYA5gAaAOZA5kAMwOaA5oAHgObA5sAFgOcA5wATwOeA54AEQOhA6EAMwOkA6QAJgOmA6YAIwOpA6kAMwOrA6sAaAOsA6wATQOwA7AAcAOxA7EAGQOzA7MAMwO2A7YAHgO4A7gAUAO5A7kAaAO6A7oAMQO9A70AUQO+A74AJgPAA8AAMwPCA8IAaAPFA8UATwPGA8YAEQPJA8kAUQPKA8oATAPPA9AAaAPRA9IAHgPTA9MAZgPUA9QADgPVA9YAGgPXA9cAEgPYA9gAZwPZA9kAJwPaA9oAJAPbA90AGgPeA94AFwPfA+AAGgPhA+EAZwPiA+IAGgPkA+QAZwPlA+UAHAPmA+YANAPnA+cAZwPoA+gATgPpA+kAGgPqA+oADwPrA+wAGgPtA+0AHAPuA+8AGgPwA/AAFQPxA/EAGgPyA/IAIQPzA/QAZwP2A/YAGgP3A/cAZwP5A/oAbwP8A/wAMgP9A/0AFwP+A/4AGgQABAEAGgQCBAIANAQDBAMAGgQEBAQAHwQFBAUAZwQGBAYAMAQH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AAD/ev/l/+L/5P/uAAD/7AAA/+3/zAAAAAAAAAAA/9D/2f/w/+wAAAAAAAAAAAAAAAAAAAAAAAD/7QAAAAAAAAAA/+b/qAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/+AAAAAAAAAAAAAD/5v/uAAAAAAAA/+b/uf+0/9z/ywAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/2AAAAAP/u/+4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/zwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/5AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/cAAAAAP/u/9IAAP/oAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/+0AAAAAAAAAAAAAAAD/+P/4AAAAAAAAAAQAAAAAAAAABAAAAAAAAAAAAAAAAAAA/+4AAAAAAAAAAP/uAAAALgAEAAAAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//cAAAAA//r/+AAAAAAAAAAA//YAAP/uAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/7P/u//gAAAAAAAD/6gASAAAAAAAKAAwABP/7AAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAALAAAAAAAAAAAAAAAA//T/9QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD//AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/+4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAEAAUABgAIAAMAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/5gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/7gAA/+4AAAAAAAD/5v/mAAAAAAAA/+cAAAAAAAAAAAAAAAAAAAAAAAAAAP/2//gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAQABAAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/9gAAAAAAAAAAAAAAAAAAP/cAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/4AAEAAQABAAAAAQAAAAA/+QAAAAAAAAAAAAAAAAAAAAAAAAAAP/6AAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAP/YAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/d/8sAAAAA/+7/4P/c/+wAAAAAAAAAAAAAAAAAAAAAAAQABP/cAAAAAAAAAAD/9gAAAAAAAAAAAAAAAAAAAAAAAP/wAAAAAAAAAAAAAP/x/+wAAAAAAAAAAAAA//b/5P+r/9wAAP/u//D/5//2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/5AAj/7v/2//f/+P/4AAAAFAAU/+wAAP/4//AAAAAAAAD/8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/+QAAAAAAAAAAAAAAAD/7AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/y//m/+7/9v/m//D/0P/YABQAFgAA//r/+v/u/+7/+gAAAAD/yAAAAAAAAAAAAAAAAP/7/+UAAAAA/+7/3v/m//r/5gAA/97/0P/dAAD/5P/7AAAAAAAA/+wAAAAA//D/zP/2AAD/9f/u//j/9gAAAAAAAP/2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/7QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/u/+4AAAAAAAAAAP/uAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACwAAAAAAAAAAAAAAAAAA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BWMAQAVkBWsARgVsBXAASQVxBXEAKAVzBXQAKAV1BXUAFQdnB2cAIAACALcAAgACADsABAAEABsACAAIABsACwALACwAEAAQABsAEgASABsAFAAUAC0AFQAVAAIAFgAWAB4AFwAXAAMAGAAYAAQAGQAZACMAGgAaAAUAGwAbAC4AHAAcABgAHgAgADAAIQAhABkAIgAiAC8AJAAkAEQAJQAlADcAKAApAD0AKgAqADAAKwArAD0ALAAsADAALQAtAD0ALgAuABwALwAvAAEAMAAwADQAMQAxAB8AMgAyACAAMwAzACIANAA0ACQANQA1ADUANgBLADsATABOAEIAUQBVABsAbAB0ABsAhQCFACwAnAC1ABsAvQDDAC0AxQDKAAIAywDhAB4A4gDlAAQA5gDtAAUA7gDyAC4A+AEQABgBEQERAEABEwEtADABLgE1AC8BOgE6AEABOwFGAEQBRwFHAD0BSAFIADcBTAFMAD0BVQFfAD0BYQF6ADABewGBAD0BggGIABwBigGQAAEBkQGnADQBqAGrACABrAGzACQBtAG4ADUBuwG7AD0BvAG8ADcBvQG9AEQBvgG+ADQBvwG/AD0BwgHEADABxgHGADABxwHHAD0BzQHNADcBzgHQADAB0QHRACQB0wHTADQB1gHWAD0B3QHdAD0B3gHfADQB4AHgAD0B4QHhADcB4gHjAD0B5AHmADAB6gHqAD0B7AHsAD0B7gHuABwB7wHwADcB8QHxAAEB9AH0ADQB9QH1AD8B9gH2ACoB+QH6ADUCAgICABkCBQIGABkCBwITADwCFQI0ADACPgI+ABkDZQNlAEUETgRPABIEUARRABEEUgRSABIEUwRTADkEVQRVAAYEVwRYACYEWQRZACUEWgRaAAcEWwRbACUEXARcAAcEXQReABIEXwRfADIEYARgADYEYQRhADIEYgRiADYEYwRmADEEaQRqADEEawRrABMEcQRxADgEcwRzADgEdQR1ADgEdgR2ADoEeAR4ACcEegR6AAgEgASAADkEgQSBAAYEggSCADkEgwSEAAYEhgSGADgEiASIADgEigSKADgEkQSRACgEkgSSACkEmQSZAEQEmgSaAAkEmwSbAEMEnAScABoEnQSfAEMEoASgABoEoQShAEMEowSjAAoEpASnAEMEqASoABoEqQSpAEMEqgSqABoEqwSrAEMErASsAB0ErQStAAsErgSuAAwErwSvAA0EsASwACEEsQSxAA4EsgSyAA8EswSzABAEtATJAAkEygTMAEEEzgTOAEMEzwTTABoE1ATWAEME2ATpAEME6gTyABoE8wT1AEMFAwUDAAoFBAUNAEMFDwUZAEMFGgUzABoFNAU6AEMFOwVBAB0FQwVIAAsFSQVfAAwFYAVjACEFZAVrAA8FbAVwABAFcgVyAEMFdAV1AEMF7AXsABQF7QXtABcF7wXvABUF8AXwABYF8wXzACsF9QX1ADMF9wX3AD4G3QbdACUG3gbfAAcG4AbgACUHZgdnABkAAh+uAAQAAB/WInoAOQBHAAD/+P/2//b/8P/9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK//r/+P/s/+L/yv/2AAYAFAAU/8j/9P/c//H/2P/eAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/4//b/9v/uAAAAAAAUAAAAAAAA/7cABAAcAAAAAP/F/+QAAAAAAAAAAP/6//D/1gAU//b/7v/c/6z/t/+s/9j/+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/7v/s/+7/7AAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/3AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//D/9gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//gAAAAA/+4AAP/2//gACP/2/+4AAP/2AAD/7gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/+wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/2AAAAAP/2AAAACgAAAAAAAAAA/+QAAAAAAAAAAP/s/+wAAAAAAAAAAP/4AAAAAAAKAAD/7gAA/+4AAP/iAAAAAAAAAAD/+P/4//gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/s/+r/5P/0AAAAAAAAAAAAAP/oAAAAAAAA//AAAP/sAAAAAAAAAAD/9gAAAAAAAP/2/9oAAAAAAAD/6wAA/+7/6gAAAAD/3AAA/+b/9P/u/+z/9v/2ABD/5v/2/+7/7v/k/+wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/6AAAAAP/d/+wAAP/4AAAAAAAA//j/7AAAAAD/+gAAAAAAAAAA/+4AAAAAAAAAAAAAAAAAAAAAAAD/5gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/7AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/2/+7/7v/m/+QADP/xAAAAAP/s/+z/8wAAAAAAAP/w/9gAAAAAAAAAAAAA/9P/7v/x/+YAAAAA//D/9v/2AAAAAAAAAAAAAP/dAAD/8AAAAAAAAAAA//gAAP/wAAD/3AAA/+7/7v/6ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/7v/s/+z/9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//j/9gAAAAD/5wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/m/+IAAP/2AAAAAAAA/7cAAAAAAAAAAAAAAAAAAAAA//gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//b/9v/k//YAAAAAAAAAAAAA/74AAAAAAAAAAP+1/9wAAAAAAAAAAAAA/93/vAAA/+T/3QAA/8X/twAAAAAAAAAAAAAAAP/nAAAAAAAAAAAAAAAAAAAAAAAAAAD/8AAAAAAAAAAAAAD/xAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/5//w//D/3//uAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//j/+AAAAAD/8QAA/+4AAP/2//gAAP/4AAD/7v/2AAAAAAAA//gAAAAAAAD/+P/4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/7AAA//gAAAAAAAAAAAAA//gAAAAAAAD/+AAAAAAAAAAA//YAAAAAAAAAAAAAAAAAAAAAAAD/9gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/7P/2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/T/+T/5P/k/+QACgAAAAAAAP/0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/9wAAAAAAAAAAAAAAAAAAAAAAAD/7gAAAAAAAAAAAAD/9gAA//T/9gAAAAAAAP/2//QAAAAAAAAAAAAAABQAAP/2//b/ywAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/7AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//D/2P/f//YAAAAAAAAAAAAAAAAAAAAAAAAAAP/fAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/4//YAAAAA/98AAAAAAAD/8P/5AAAAAAAA//AAAAAAAAAAAP/2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/xP/iAAAAAAAAAAD/7AAAAAD/jwAEAAAAAAAAAAAAAAAAAAAAAP/qAAAAAP/wABQAAAAAAAAAAAAA/8wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/zAAAAAD/7AAAAAAAAAAAAAAAAP/E/+r/8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/4v/l/+X/7f/g/6wAAAAAAAAAAAAAAAAAAP/s/1oAAP/YAAAAAAAAAAD/5v/NAAAAAP/gAAAAAAAAAAAAAAAA/+r/lQAA/7L/8P/W/6n/9P/Y/73/zf/uAAD/qf/j/48AAP/A/9H/xABMACQAAP/gAAAAAAAAAAD/0//m/+gAAAAAAAAAAAAAAAAAAAAA//j/+P/2/+z/+wAAAAAAAAAAAAAAAAAAAAAAEAAQ/9wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/uAAAAAAAA//gAAAAAAAAAAAAAAAD/+AAA//gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/w/93/3f/d//AAAAAAAAAAAAAA/8sAAAAAAAQABP/c/9wAAAAAAAAAAAAAAAAAAAAAAAD/7v/gAAAAAP/sAAD/8P/4AAAAAP/VAAD/5AAA//AAAAAA//gAAP/k//j/qwAA/9z/5wAAAAAAAAAA//gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//n/+P/wAAD/7gAA//gAAAAUABQAAP/sAAD/+P/wAAAAAAAAAAD/8AAAAAAAAAAAAAAAAAAAAAAAAP/kAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/sAAAAAAAAAAAAAAAAAAD/5//4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/+b/3P/c/8v/9gAU/+4AAAAAAAD/5v/u//oAAAAA/9D/yAAAAAAAAAAAAAD/3P/u//v/5f/m//D/0P/d/9gAAAAAAAAAAAAA/+YAAP/wAAAAAAAAAAD/+AAA//D/+P/MAAD/9v/4//YAJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/m/93/3f/T//AAAAAAAAAAAAAAAAAAAAAAABAAEP+s/+4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/8AAAAAAAAP/IAAD/+AAA//gAAAAA//gAAP/w//YAAAAAAAD/7gAA//YAAAAA//gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/8P/f/9//9gAAAAAAAAAAAAAAAAAAAAAAAAAA/98AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//j/9gAAAAD/3wAAAAAAAP/w//kAAAAAAAD/8AAAAAAAAAAA//YAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/+oAAP/2AAAAAAAA/+wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/wAAAAAAAAAAAAAAAA/+4AAAAAAAAAAP/wAAAAAAAAAAAAAAAAAAAAAAAAAAD/7gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/4AAD/+AAAAAD/+AAAAAD/+gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//gAAAAAAAAAAAAA//D/4AAAAAD/8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/7AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/9gAAAAAAAAAAAAAAAAAA//gAAAAAAAAAAAAAAAAAAAAAAAD/sAAAAAAAAP/I/+gAAAAAAAAAAAAA/9MAAP/0AAAAAP/u/+z//P/oAAAAAAAA//gAAP/d/8v/0gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/2v/kAAAAAAAAAAAAAAAAAAAAAAAAAAD/7P/fAAAAAAAAAAD/5gAAAAD/3wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/mAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/54AAP/0AAAAAAAAAAD/7v/0AAAAAAAAAAAAAAAAAAAAAAAAAAD/6gAA/7z/3P/u/+oAAP/s/+IAAP/2AAD/6v/2/9gAAAAA/+z/1gAoAAwAAAAA/9wAAAAAAAD/9gAAAAAAAP/0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/g/+QAAAAA/+wAAAAA/+AAAP+aAAAAAAAAAAD/+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD//AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/+AAAAAAAAAAAAAA//YAAAAA/+QAAAAAAAAAAP/uAAAAAAAAAAD/1gAAAAAAAAAI//IABAAAAAD/fAAAAAAAAAAAAAAAAP/kAAAAAAAAAAD/9gAAAAAAAAAAAAAAAP/dAAD/vv/I/83/6wAA/+T/9AAAAAAAAP/rAAD/6AAA/+wAAP/OAAAAAAAAAAD/2AAAAAAAAAAAAAAAAAAA/9j/5gAAACr/zgAAAAD/5v/t/+3/5gAAAAAAAAAAAAAAAP/FAAAAAAAA//b/3AAAAAAAAAAAAAD/+AAAAAAAAAAA/8j/4P/8//H/+f/c//YAAAAAAAD/5wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/+4AAAAA/+oAAP/s/+0AAP/c/+wAAP/sAAD/5//0//AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/wAAAAAAAAAAAAAAAA//gAAAAAAAAAAAAA//YAAAAA/+wAAAAAAAQAAP/uAAAAAAAAAAD/+gAAAAAAAAAA/+QABP/4AAAAAAAAAAAAAAAAAAAAAP/mAAAAAAAEAAD/7AAAAAAAAP/oAAAAAAAAAAD/5P/d/+wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/+AAAAAAAAD/9AAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/4AAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/w//D/8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/sAAAAAP/cAAAAAAAA//b/+AAAAAAAAP/2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/o//n//AAA//QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/8QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/+4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD//AAAAAAAAAAA/9z/5P/k/8z/2AAAAAAAAAAAAAD/4AAAAAAAAAAA/+z/xAAAAAAAAAAAAAD/wv/iAAD/1v/kAAD/7P/8AAAAAP/kAAAAAAAAAAD/7P/2AAD/9P/2AAD/+AAA//T/9v/oAAAAAAAAAAAAFAAA//L/8gAAAAAAAAAAAAAAAAAAAAD/7AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/6AAA/+r/7AAAAAAAAP/qAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/+4AAAAAAAAAAAAAAAAAAAAAAAAAAAAA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AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//QAAP/gAAD/6AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAP/4AAD/+AAAAAD/+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//T/6AAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/d/7cAAAAA/8YAAAAAAAAAAP/u//T/xP/YAAAAAP/cAAD/3QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/IAAAAAAAAAAAAAAAAAAD/5v/sAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/+j/0P+c/7//5P+0AAAAAP/aAAAAAAAAAAD/+P/0/+YAAAAAAAAAAAAAAAAAAAAAAAAAAP/k/7IAAAAAAAAAAP/u//D/+AAA//D/8P/fAAD/8P/n/7D/3AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/uP/UAAAAAAAA/+f/+AAA//j/9v/u/+7/3P/c/+f/3P/w/+z/2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/2/+z/5P/k/+f/5//kAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/9gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/+QAAAAAAAAAAAAA//b/7P/sAAAAAAAA//j/+AAA//v/+AAAAAAAAAAAAAAAAP/2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABP/6AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/5P/s/+IAAP/n//QADv/2AAAAAAAAAAQADP/2//r/7AAAAAAAAP/2AAAAAAAAAAAAAP/2/80AAAAAAAAAAP/4AAAAAAAAAAAAAAAAAA8AAAAA/9z/9gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//gAAAAAAAD/9gAAAAD/7gAA//j/3QAAAAAAAAASAAAAAP/uAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/+z/7AAA//j/7P/0AAD/9P/mAAD/1v/e/+wAAP/0/+4AAP/wAAAAAAAAAAAAAAAAAAAAAAAA/+wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/+wAAAAAAAAAAAAAAAAAAP/w/+IAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAwAAP/4//AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/+AAA/7D/7P/s/+gAAAAAAAD/9AAA//QAAAAA/8QAAAAAAAD/yAAAAAAAAAAAAAAAAP/sAAAAAP/u/+cAAAAA//gAAP/u/+f/+P/TAAAAAAAAAAD/yP/uAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/8/+gAAAAAAAD/+P/4AAAAAP/kAAAAAP+3//j/9v+//+oAAP/aAAAAAAAA/+wAAAAA//D/+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/4AAA/+UAAP/l/+QAAP+X/+z/7AAA/5oAAAAAAAAAAP/4AAAAAAAAAAAAAAAAAAD/9gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//D/2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAD//AAA//YAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/8gAAAAAAAAAA/9YAAP/NAAD/zQAAABL/iAAIAAAAAP98AAAAAAAAAAAAAAAA/94AAAAA/93/vf/2AAAAAAAA/8T/vf/u/+QAAAAAAAAAAAAA/+wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/sAAAAAAAA/+wAAAAA/3L/5wAA/8wAAAAAAAD/6P/sAAD/9gAAAAD/zgAA/+v/zgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/7v/2/+z/7AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/+4AAAAAAAAAAP/2//YAAAAAAAAAAAAAAAAAAAAEAAD/+wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/9gAAAAAAAAAA//AAAAAAAAAAAAAAAAAAAAAA/97/7gAAAAAAAAAAAAAAAP/kAAD/8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/kAAD/2AAAAAAAAAAA//T/7AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/9wAAAAAAAAAAAAAAAAAA/+4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/9gAAAAAAAAAAAAAAAAAAAAAAAP/c/+z/7AAAAAAAAAAAAAAAAAAAAAD/3QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/4/9z/9P/YAAAAAAAAAAn/yAAAAAAAAAAEAAAAAP/s/9gAAAAAAAD/uAAAAAAAAAAAAAD/2P/sAAAAAAAAAAAAAP/QAAAAAAAA//j/7gAA/9v/7v/0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/7AAA//YAAAAA//YAAAAAAAD/3P/uAAD/5AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/nAAAAAAAAAAAAAAAAP/aAAAAAP/dAAD/7gAA/+4AAP/EAAD/7gAA//YAAAAA//YAAP/sAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAfAAD/3v/2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/+X/6AAAAAAAAAAAAAAAAP/eAAD/5AAA/+4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/8AAEAAD/xAAA/7j/0/+4/+L/+/9eAAD//AAA/48AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/4gAAAAAAAAAAAAAAAAAA/+oAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAD/4gAAAAAAAAAAAAAAAAAA/+wAAP/MAAD/zAAAAAD/8AAA/+IAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/+0AAP/xAAAAAAAA/6z/5f+VAAD/lQAAAAD/TAAAAAD/7P9aAAD/2AAAAAAAAAAA/6z/0wAA/6n/of/J/8D/1P/N/5j/of/i/+b/5QAA/+D/5f/5/9EAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAP+hAAAAAAAA/9H/3QAQ/0gAAP/Y/9gAAP/RAAD/j//AAAD/1gAAAAD/xP/A/6kAAAAAAAAAAP/T/9P/6AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/7f/k/+j/4gAAAAD/6wAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/8AAA/+wAAAAAAAAAAP/2/+4AAAAhAAAAAAAA//sAAAAAAAAAAP/2AAAAAP/2//EAAP/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/5v/wAAAAAAAA//YAAAAAAAAAAAAAAAD/7AAA/+7/5AAA//gAAAAAAAAAAP/mAAD/8AAA//AAAAAAAAAAEP/uAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/4AAD/+v/cAAD/5gAAAAAAAAAA/+z/7gAAAAAAAP/sAAAAAP/6AAAAAAAAAAAAAAAAAAD/9gAAAAAAAAAAAAAAAAAA/+4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/7gAAAAAAAAAAAAAAAAAAAAAAAAAA/+z/5gAAAAAAAAAA//gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/+b/7P/kAAD/8P/2AAz/yAAAAAAAAP/x//oAFP/s/9wAAAAAAAD/2AAAAAAAAAAA//b/0v/uAAAAAAAAAAAABP/TAAAAAP/2AAD/5v/x/+b/5v/sAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//D/9gAAAAAAAAAAAAAAAAAAAAD/7gAA//EAAP/w//YAAP/sAAD/3P/uAAD/7gAAAAD/+v/w//AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/5v/2/+T/3P/w//b/6AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//gAAAAAAAAAAP/1AAAAAAAAAAAAAAAAAAAAAAAAAAD/8AAA//oAAAAA//oAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/3gAAAAD/+P/4AAAAAAAAAAAAAP/sAAAAAAAAAAAAAAAAAAr/8QAA/+wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/4AAAAAP/2AAD/7gAAAAAAAAAA//j/9AAAAAAAAAAAAAAAAP/4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//YAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/9gAAAAAAAAAAAAAAAAAA//YAAAAA/+z/9gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/+QAAP/yAAAAAAAAAAr/7AAAAAAAAAAAAAD/9v/0/+gAAAAAAAAAAAAAAAAAAAAAAAD/8v/2AAAAAAAA/+4AAP/cAAAAAP/TAAD/9gAAAAD/9v/8//YAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//b/8gAAAAAAAAAA/+QAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//YAAAAAAAAAAAAAAAAAAAAAAAAACv/2//QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWAAAAFgAAABsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABj/yAAAAAAAAAAAAAAAAP/0ABQAAP/0AAAAAAAAAA4AAP/0AAAADAAAABYAAAAAAA4AAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8ABgAAABHAAD/9gAEAAAAAAAAABQAEgAAAAAAAAAAAAAAAAAA//b/9AAAAAAAAP/4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAA//QAAP/0AAwALP+0ACgAIQAA/8QALAAAAA8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJAAAAAAAAAAAAAAAAAAAACwAAAAAAAAAAAAAAAAAAAAAAAAAAP/uAAD/7gAAACj/+AAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8AAAAKAAPAA8AOAAA/+4AAP/oAAD/6AAAAAD/sAAPAAD/9P+wAAAAAAAAAAAAAAAA//T/9gAM/+j/6P/2/+wAAAAA/9j/6P/2AA4AAAAAAAD/9gAh//QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAHAAAAAAAAP/kAAAAFAAAAAAAAAA//5wALAAAAAAALP/sACz/6P/cAAAAAAAAACwAAAAA/+0AAAAAAAAAAP/s/+wAAAAAAAAAAAAAAAAAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/9gAAAAAAAD/3AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABP/gAAQAAAAA/+QAAAAAAAAAAAAAAAAAAAAAAAD/9gAAAAD/+gAAAAD/9gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//YAAAAAAAAAAAAAAAD/2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/+YAAP/cAAD/5wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//b/5gAAACEAAP/4AAD/+wAAAAAAAAAAAAD/8AAAAAD/7gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/f//D/+AAAAAD/+P/2AAAAAAAAAAAAAP/sAAD/5P/uAAAAAAAAAAAAAAAA/+YAAP/wAAD/5wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/2/+wAAP/2AAAAAP/7AAAAAP/0AAAABP/7//QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/+4AAP/sAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/4gAA/+IAAAAAAAAAAP/oAAAAAAAAAAAAAAAA//H/6AAAAAAAAP/kAAAAAAAAAAAAAP/k//QAFAAZAAQAAAAP/+oAFAAhAAAAAP/mAAD/9v/m//QABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/+4AAAAAAAAAAP/wAAAAAAAAAAAAAAAA//AAAP/c/+YAAAAAAAAABAAAAAD/8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/s/+b/xf/Y/+D/3P/5AAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/2AAAAAAAAAAAAAAAA//UAAAAAAAAAAP/7AAD/5AAAAAAAAP/m//j/+AAAAAD/+AAA/+YAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//z/8f/cAAAAAP/4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/+wAAAAA//QAAAAAAAD/7v/2/+r/6v/sAAD/3P/sAAD/7AAA/+f/9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/+P/cAAAAAAAAAAAAAAAAAAD/8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAA//YAAP/k/+wAAAAA/+j/+gAAAAAAAAAAAAAAA//kAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/yAAD/+v/wAAD/8P/0/+7/5gAAAAQAAAAA/9z/7gAAAAAAAAAAAAD/7AAMAAAAAAAA//YAAAAA/+YAAP/sAAAAAAAAAAAAAP/c//j/+AAAAAD/7gAAAAD/ygAAAAD/y//2AAAAAAAAAAAAAAAAAAAAAP/2AAAAAP/0AAAAAAAAAAAAAAAAAAAAAP/6/+QAAAAAAAD/9v/u/8r/7AAAAAAAAAAAAAAAAAAA/8AAAP+4/+z/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/6AAAAAAAAP/sAAD/7AAAAAAAAP/uAAD/0gAAAAD/5gAA/+wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/9H/sAAA/7cAAP/2//gAAAAAAAAAAP/2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/d/7QAAAAA/8YAAAAAAAAAAP/u/+7/xv/oAAAAAP/c//T/3QAAAAAAAAAAAAAAAAAAAAAAAP/uAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP+0AAAAAAAAAAAAAAAAAAD/3f/uAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//L/7P+Y/8j/3P/RAAAAAP/kAAAAAAAAAAAAAP/s/+T/9AAAAAAAAAAAAAAAAAAAAAAAAP/2/9EAAAAIAAD/9v/2AAAAAAAG//b/9v/4AAAAAP/4/9T/9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/0f+9AAAAAAAA//gAAAAA//j/5AAA//b/9P/T/+7/5P/uAAD/0wAAAAAAAP/sAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/uAAD/7AAAAAAAAP/yAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYABQAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/+z/7gAA/9wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABP/zAAD/7AAAAAAAAAAA/+wAAAAA/+oAAP/2AAD/9gAA/9gAAP/0AAAAAAAAAAAAAAAA/+wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAsAAP/gAAAAAAAAAAAAAP/2AAAAAAAAAAAAAP/uAAD/3P/0AAAAAAAAAAAAAAAA/+7//P/uAAD/7gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/i/+z/3f/e/93/7AAA/5gAAP/8AAD/oP/2AAAAAAAKAAAACgAAAAAAAAAAAAAAAP/oAAAAAAAAAAAAAAAAAAD/6gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/+P/qAAAAAAAAAAAAAAAAAAD/7gAA//H/4P/WAAAAAAAAAAD/9gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/9EAAAAAAAAAAAAAAAD/9AAA//sAAAAAAAD/yv/o/70AAP+9/+r/6v+IAAkAAP/s/4wAAP+8AAAAAAAAAAD/wP/gAAD/tf/R/8T/0//e/9n/pP/J/+f/7P/o/8T/5P/o//z/3QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/6wAAAAAAAD/5f/nAAD/hgAA/+z/5AAA/9gAAP/A/8gAAP/nAAAAAP/Y/9T/tP+8AAAAAAAA/9b/1v/lAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/70AAAAAAAAAAAAA/+4AAP/YAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUAAAAAAAAAAAAAAAAAAj/+AAAACgAAAAAAAAAAAAAABoAAAAAAAD/+AAAAAD/+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/8AAAAAAAAAAAAAAASQAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/+AAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/4//gAAAAA/+4AJAAAACQAAAAAAAD/+P/2ABgAGAAA//j/+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//gAAP/4AAAAAAAbAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/9v/s/+z/7gAAAAAAAP/wACQAAAAkAAAAAAAA//j/9gAUABQAAAAAAAAAAAAAAAAAEP/w/+YAKAAkABAAAAAQ//YAIAAkAAAAAP/4AAD/9gAA/+wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/4AAAAAAAAAAgAAABMAAAAAAAAABAAAAAAAAAAAAAAAAAAAP/2AAAAAAAAAAAAFAAAAAAAEAAAAAAAAAAAABQAEAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAD/+wAQAAAAAP/2/+7/5P/c//b/7AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/d/7cAAAAA/7UAAP/4AAAAAP/w//j/xP/gAAAAAP/c/9z/3QAAAAAAAAAAAAAAAAAAAAAAAP/4AAAAAAAAAAAAAAAAAAD/+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP+3AAAAAAAAAAAAAAAAAAD/3//2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/+7/6P+0/8j/9v+0AAAAAP/dAAAAAAAAAAAAAAAA/+cAAAAAAAAAAAAAAAAAAAAAAAAAAP/m/8IAAAAAAAAAAAAAAAAAAAAAAAAAAP/nAAAAAP/u/9QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/xP+0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/mAAAAAAAAAAD/5gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/4AAD/7AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/EAAAAAAAAAAAAAAAA/+wAAAAA//AAAAAAAAD/8AAA//AAAP/u//gAAAAAAAAAAAAA/+4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/n/+f/9gAAAAAAAAAA/9gAAAAAAAAAAP/4AAAAAP/4AAAAAAAAAAAAAAAA//j//P/4AAD/5wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/u/+7/2v/4/9r/7v/x/5z/9gAAAAD/tP/xAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/uAAAAAAAAAAAAAAAAAAD/+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/8f/iAAAAAAAAAAAAAAAAAAAAAAAA/+4AAP/uAAD/+gAAAAD/+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/7gAA/+wABAAMAAD/3P/k/7wAAP+8AAAAAP97/+z/7AAA/6AAAP/mAAAAAAAAAAD/5P/s/+7/xP/E/9L/0P/m/+T/sP+8/+7/3P/0AAD/+P/0AAD/2gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAA/8j/3AAAAAD/3P/uABT/iP/s//j/5AAA/8v/7P/Y/9wAAP/u//YABP/Y/9z/2AAAAAAAAAAA/+L/4v/kAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/+QAAAAA/+QAAP/RAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/9gAAAAAAAP/2AAD/7gAAAAAAAAAAAAD/9gAAAAD/+AAA/+wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/+4AAAAA/+oAAAAAAAD/+P/4AAD/7v/qAAj/9gAAAAD/9gAA/+4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/qAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/7AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//P/9v/k/+IAAP/s/+IACv/0AAAAAAAAAAAACv/3AAAAAAAAAAAAAP/sAAAAAAAAAAAAAP/2//IAAAAGAAAAAAAAAAAAAAAG//b/+P/uAAoAAP/u//L/7gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/7gAAAAAAAAAA//YAAAAAAAD/9gAAAAD/7QAAAAD/7AAAAAAAAAAAAAAAAP/uAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/93/twAAAAD/0AAAAAAAAAAAAAD/7P/Y/+gAAAAA//T/9P/dAAAAAAAAAAAAAAAAAAAAAAAA/+YAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/8gAAAAAAAAAAAAAAAAAAP/4/+QAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/s/73/yP/L/9QAAAAA/+QAAAAAAAAAAAAA/+z/5P/sAAAAAAAAAAAAAAAAAAAAAAAA//b/1AAAAAgAAAAAAAAAAAAAAAgAAAAAAAAAAAAA//j/xP/uAAAAAAAAAAAAAAAA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A9MAGgPUA9QASAPVA9YAXwPXA9cAHQPYA9gAWQPZA9kARAPaA9oALAPbA90AXwPeA94AIwPfA+AAXwPhA+EAWQPiA+IAXwPjA+MAXgPkA+QAWQPlA+UAAgPmA+YAKgPnA+cAWQPoA+gAJQPpA+kAXwPqA+oAGwPrA+wAXwPtA+0AAgPuA+8AXwPwA/AAIQPxA/EAXwPyA/IAQwPzA/QAWQP1A/UASQP2A/YAXwP3A/cAWQP4A/gAHwP5A/oAZgP8A/wARQP9A/0AIwP+A/4AXwP/A/8ASQQABAEAXwQCBAIAKgQDBAMAXwQEBAQABAQFBAUAWQQGBAYAJwQHBAcAXwQIBAgAXQQJBAkARAQKBAoALAQLBAsAXwQMBAwAAgQNBA0AXwQOBA4AWQQPBBAAJwQRBBEAJQQSBBIAGwQUBBQARAQWBBcAGgQYBBgAWQQZBBkAWwQaBBoAXwQbBBwAWQQdBB4AKgROBE8AEwRQBFEAEgRSBFIAEwRTBFMAYgRVBFUABQRXBFgAPwRZBFkAPgRaBFoABgRbBFsAPgRcBFwABgRdBF4AEwRfBF8AUgRgBGAATwRhBGEAUgRiBGIATwRjBGYAUQRpBGoAUQRrBGsAFQRxBHEAVgRzBHMAVgR1BHUAVgR2BHYAWgR4BHgAQAR6BHoABwSABIAAYgSBBIEABQSCBIIAYgSDBIQABQSGBIYAVgSIBIgAVgSKBIoAVgSRBJEAQQSSBJIAQgSZBJkAbwSaBJoAYwScBJwALgSgBKAALgSiBKIAcASjBKMAZASoBKgALgSqBKoALgSsBKwAMAStBK0AZQSuBK4AMwSvBK8ANgSwBLAAOASxBLEAOQSzBLMAPQS0BMkAYwTPBNMALgTqBPIALgT3BQIAcAUDBQMAZAUaBTMALgU7BUEAMAVDBUgAZQVJBV8AMwVgBWMAOAVsBXAAPQWTBZMACAWUBZYAYAWXBZcACgWYBZgAYAWZBZkAVQWaBZoARwWbBZ0AYAWeBZ4ADAWfBaAAYAWhBaEAKAWiBaMAYAWkBaQAKAWlBaUAEAWmBaYARgWnBacACwWoBagADQWpBakAYAWqBaoACQWrBawAYAWtBa0AEAWuBa8AYAWwBbAARwWxBbEAYAWyBbIAWAWzBbQAYAW1BbUAEAW2BbYAYAW3BbcAKAW4BbgAIAW5BboAYAW8BbwADwW9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//j/7gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/4/+z/7gAA/+z/7AAAAAD/7AAA/+z/7gAA//j/6AAAAAAAAP/s/+4AAAAA//D/9v/u//b/8P/w/+7/8P/u/+7/8P/u/8r/7v/uAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD//AAAAAD/4v/LAAD/5gAA/+IAAAAA//z/twAA/7cAAAAAAAAAAP/YAAD/8AAA/+wAAAAA/+j/4P/I//AAAP/EAAAAAAAAAAAAAAAA/+j/4P/I/+4AAAAAAAD/6P/g/8gAAAAA//AAAP/sAAAAAP/2//D/7gAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/4v/m/+T/7gAA/+7/3P/u/+z/7gAA/+T/7gAAAAAAAAAA//T/4v/k/+7/9AAA/+gAAAAAAAAAAAAAAAAAAAAA/+z/6P/sAAAAAAAA/+z/4P/s/+D/7AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/90AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/o/9P/xP/sAAD/o//7/+z/+AAA/6MAAP/Y/8T/+wAA//sAAP/EAAAAAAAA/+wAAAAAAAT/6P/sAAAAAAAAAAAAAP/w/+j/xP/sAAD/6P/sAAAAAAAAAAD/xP/o/+wAAAAAAAAAAAAAAAAAAAAEAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/7gAAAAD/8AAA/+QAAAAAAAD/8AAAAAD/8P/FAAAAAAAAAAD/7gAA//AAAAAAAAAAAP/fAAAALwAvAAAALAAAAAAAAAAAAAAAAAAA//gAAP/4AAD/+P/e/8X/9gAb/8X//P/o/8T/6P/s/+z/6AAs/+z/vf/e/8X/7v/o//b/hP+9/+3/1P/u/4QAAAAAAAAAAP/g/9P/xP/sAAD/kwAUAAAAAAAA/5MAEP/Q/8QAAAAQAAAAAAAAAAAAAAAA/+gAAAAAAAD/4QAAAAAAAAAAAAAAAAAQ/+EAAP/oAAD/4QAAAAAAAAAAAAAAAP/hAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/8AAA/+QAAAAAAAAAAAAAAAD/8P/IAAAAAAAAAAAAAAAA//AAAAAA/9gAAAAAAAAAAAAAAAAAAAAAAAD/2AAAAAAAAAAAAAAAAAAAAAAAAP/R/6//3QAs/68AAAAAAAAAAAAAAAAAAAAAAAD/vf/R/6//9P/l/93/aP+9/+0AAP/uAAD//P/8/+oAAP/YAAD/sAAAAAD/jwAAAAAAAAAA/48AAP/I/6AAAAAAAAAAAAAAAAAAAAAA/+gAAAAAAAD/8QAAAAAAAAAAAAAAAAAA//EAAP/oAAD/8QAAAAAAAAAAAAAAAP/xAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/9gAAAAD/9gAA/+gAAAAAAAAAAAAAAAD/9v+3AAAAAAAAAAD/9gAA//YAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/7f/7AAA/7cAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/7cAAAAA/+z/ewAA/+EAAP/cAAAAAAAAAAAAAgALBE4EUwAABFUEVQAGBFcEZgAHBGkEagAXBHAEcAAZBHIEcgAaBHQEdAAbBIAEhQAcBIcEhwAiBIkEiQAjBt0G4AAkAAIAGAROBE8AAgRQBFEAAQRSBFIAAgRTBFMABARVBFUABwRXBFgACgRZBFkACARaBFoACQRbBFsACARcBFwACQRdBF4AAgRfBF8ABQRgBGAABgRhBGEABQRiBGIABgRjBGYAAwRpBGoAAwSABIAABASBBIIABwSDBIMABASEBIQABwbdBt0ACAbeBt8ACQbgBuAACAACAUQAAgACAIMACwALAAsAFAAUAFoAFQAVADIAFgAWADQAFwAXADcAGAAYADoAGQAZAFwAGgAaABEAGwAbAF0AHAAcAIIAHgAgAC4AIQAhAIQAIgAiAIUAJQAlAAoAKAApAI4AKgAqAC4AKwArAI4ALAAsAC4ALQAtAI4ALgAuAIYALwAvADAAMQAxADUAMgAyADgAMwAzAFsANAA0ADsANQA1AI8ANgBLAIMATABOAIEAhQCFAAsAvQDDAFoAxQDKADIAywDhADQA4gDlADoA5gDtABEA7gDyAF0A+AEQAIIBEQERABABEwEtAC4BLgE1AIUBOgE6ABABRwFHAI4BSAFIAAoBTAFMAI4BVQFfAI4BYQF6AC4BewGBAI4BggGIAIYBigGQADABqAGrADgBrAGzADsBtAG4AI8BuwG7AI4BvAG8AAoBvwG/AI4BwgHEAC4BxgHGAC4BxwHHAI4BzQHNAAoBzgHQAC4B0QHRADsB1gHWAI4B3QHdAI4B4AHgAI4B4QHhAAoB4gHjAI4B5AHmAC4B6gHqAI4B7AHsAI4B7gHuAIYB7wHwAAoB8QHxADAB9QH1AF4B+QH6AI8CAgICAIQCBQIGAIQCFQI0AC4CPgI+AIQCPwI/AHcCQgJCAFUCRAJEAFkCSQJJAHcCTAJMAFgCUAJQAFcCUQJRACsCUgJSAA8CUwJTACUCVAJUAFQCVQJVACYCVgJWAFYCVwJXAHYCWAJaAGYCXAJcAGQCXQJdAH8CXgJeAA8CXwJfAGMCYAJgACMCYQJhAHgCYgJiAGACYwJjAHkCZAJkAHsCZQJlAIACagJqAGECbAJsAGICbgJuACcCbwJvAG0CcAJwAH4CcQJxACcCcgJyACkCdAJ0ACcCdQJ1AFMCdwJ4ACcCewJ7ACcCfAJ8ACMCfQJ9AHsCgQKBACcChAKEACcChwKQAHYCkQKSAHcCkwKWAGYCmwKeAGYCpQKoAGYCsQK0AGQCuQK5AGYCugK8AH8CwALBAA8CwgLFAGMCzALMAHcCzQLUAHYC1gLXAGYC3gLeAFYC3wLgAGMC5wLzACMC9AL7AHsDFwMeACcDHwMgAH4DMQM7ACcDPANHACMDVANfACcDYQNiACcDhwOHAHQDiwOLAAMDjQONAAkDjgOOAFADkgOSAA4DmQOZAB8DmgOaAAcDmwObABcDnAOcAEsDngOeABYDoQOhAB8DpAOkAFADpgOmAE4DqQOpAB8DrAOsAEgDsAOwAAYDsQOxAA4DswOzAB8DtgO2AAcDuAO4ACIDugO6ABoDvQO9AAkDvgO+AFADwAPAAB8DwwPDAGsDxQPFAEsDxgPGABYDyQPJAAkDygPKAHQDywPLAIgDzQPNAIkD0QPSAAcD0wPTAHMD1QPWAI0D1wPXAAED2APYABsD2QPZAFED2gPaAE8D2wPdAI0D3gPeAA0D3wPgAI0D4QPhABsD4gPiAI0D5APkABsD5QPlAB0D5gPmACAD5wPnABsD6APoAEoD6QPpAI0D6gPqABQD6wPsAI0D7QPtAB0D7gPvAI0D8APwAEkD8QPxAI0D8gPyAE0D8wP0ABsD9QP1AAwD9gP2AI0D9wP3ABsD+AP4AHUD/AP8AAUD/QP9AA0D/gP+AI0D/wP/AAwEAAQBAI0EAgQCACAEAwQDAI0EBAQEAAgEBQQFABsEBgQGABgEBwQHAI0ECAQIAIsECQQJAFEECgQKAE8ECwQLAI0EDAQMAB0EDQQNAI0EDgQOABsEDwQQABgEEQQRAEoEEgQSABQEFAQUAFEEFgQXAHMEGAQYABsEGgQaAI0EGwQcABsEHQQeACAELwQvAEMENQQ1AEYERQRFAEIESwRLAEUETQRNAEEETgRPAIcEUgRSAIcEVARUAIoEVgRWAIwEVwRYAD8EWQRZAD0EWgRaAD4EWwRbAD0EXARcAD4EXQReAIcEegR6ABIEmgSaAC0EnAScAC8EoASgAC8EowSjAHEEqASoAC8EqgSqAC8ErASsAGkErQStADEErgSuADMErwSvADYEsASwADkEsQSxAHIEsgSyADwEswSzAGoEtATJAC0EzwTTAC8E6gTyAC8FAwUDAHEFGgUzAC8FOwVBAGkFQwVIADEFSQVfADMFYAVjADkFZAVrADwFbAVwAGoFdgV2ACQFeQV5AHoFewV7AGgFfQV9ACgFgAWAACQFgwWDAGcFhAWEACgFhwWHAGUFiAWIACoFiQWJACwFigWKAH0FiwWLAHAFjQWNAHwFjwWPACwFkAWQACQFkgWSAHwFkwWTABMFlwWXAAIFmQWZAFIFoQWhABwFpAWkABwFpQWlAB4FpgWmAEwFpwWnAAQFqAWoAG4FqgWqABUFrQWtAB4FtQW1AB4FtwW3ABwFuAW4AF8FvAW8AG8FvwW/AB4FwgXCAEwFxAXEACEFxQXFABwFxgXGABkFyQXJAFIFzAXMAB4FzgXOABwFzwXPAGwF0QXRAG4F0gXSABUF1QXVAFIF1gXWABMF2wXcABwF3QXeAEwF4QXhAEQF5AXkAEAF5gXmAEcGvga+AFUGvwa/AFYG3QbdAD0G3gbfAD4G4AbgAD0HZgdnAIQAAQAAAAoCXAisAARERkxUABpjeXJsAFBncmVrAMJsYXRuAPoABAAAAAD//wAWAAAACgAUAB4AKAAyADwATgBYAGIAbAB2AIAAigCUAJ4AqACyALwAxgDQANoACgABU1JCIAA+AAD//wAXAAEACwAVAB8AKQAzAD0ARgBPAFkAYwBtAHcAgQCLAJUAnwCpALMAvQDHANEA2wAA//8AFwACAAwAFgAgACoANAA+AEcAUABaAGQAbgB4AIIAjACWAKAAqgC0AL4AyADSANwABAAAAAD//wAXAAMADQAXACEAKwA1AD8ASABRAFsAZQBvAHkAgwCNAJcAoQCrALUAvwDJANMA3QAiAAVBWkUgAFRDUlQgAIhOU00gALxTS1MgAPBUUksgASQAAP//ABYABAAOABgAIgAsADYAQABSAFwAZgBwAHoAhACOAJgAogCsALYAwADKANQA3gAA//8AFwAFAA8AGQAjAC0ANwBBAEkAUwBdAGcAcQB7AIUAjwCZAKMArQC3AMEAywDVAN8AAP//ABcABgAQABoAJAAuADgAQgBKAFQAXgBoAHIAfACGAJAAmgCkAK4AuADCAMwA1gDgAAD//wAXAAcAEQAbACUALwA5AEMASwBVAF8AaQBzAH0AhwCRAJsApQCvALkAwwDNANcA4QAA//8AFwAIABIAHAAmADAAOgBEAEwAVgBgAGoAdAB+AIgAkgCcAKYAsAC6AMQAzgDYAOIAAP//ABcACQATAB0AJwAxADsARQBNAFcAYQBrAHUAfwCJAJMAnQCnALEAuwDFAM8A2QDjAORhYWx0BVphYWx0BVphYWx0BVphYWx0BVphYWx0BVphYWx0BVphYWx0BVphYWx0BVphYWx0BVphYWx0BVpjMnNjBWJjMnNjBWJjMnNjBWJjMnNjBWJjMnNjBWJjMnNjBWJjMnNjBWJjMnNjBWJjMnNjBWJjMnNjBWJjYXNlBWxjYXNlBWxjYXNlBWxjYXNlBWxjYXNlBWxjYXNlBWxjYXNlBWxjYXNlBWxjYXNlBWxjYXNlBWxjY21wBXJjY21wBXJjY21wBXJjY21wBXJjY21wBXJjY21wBXJjY21wBXJjY21wBXJjY21wBXJjY21wBXJkbm9tBYRkbm9tBYRkbm9tBYRkbm9tBYRkbm9tBYRkbm9tBYRkbm9tBYRkbm9tBYRkbm9tBYRkbm9tBYRmcmFjBYpmcmFjBYpmcmFjBYpmcmFjBYpmcmFjBYpmcmFjBYpmcmFjBYpmcmFjBYpmcmFjBYpmcmFjBYpsaWdhBZRsaWdhBZRsaWdhBZRsaWdhBZRsaWdhBZRsaWdhBZRsaWdhBZRsaWdhBZRsaWdhBZRsaWdhBZRsb2NsBZpsb2NsBaBsb2NsBahsb2NsBbRsb2NsBbRsb2NsBa5sb2NsBa5sb2NsBbRudW1yBbpudW1yBbpudW1yBbpudW1yBbpudW1yBbpudW1yBbpudW1yBbpudW1yBbpudW1yBbpudW1yBbpvbnVtBcBvbnVtBcBvbnVtBcBvbnVtBcBvbnVtBcBvbnVtBcBvbnVtBcBvbnVtBcBvbnVtBcBvbnVtBcBvcmRuBcZvcmRuBcZvcmRuBcZvcmRuBcZvcmRuBcZvcmRuBcZvcmRuBcZvcmRuBcZvcmRuBcZvcmRuBcZwbnVtBcxwbnVtBcxwbnVtBcxwbnVtBcxwbnVtBcxwbnVtBcxwbnVtBcxwbnVtBcxwbnVtBcxwbnVtBcxzYWx0BdJzYWx0BdJzYWx0BdJzYWx0BdJzYWx0BdJzYWx0BdJzYWx0BdJzYWx0BdJzYWx0BdJzYWx0BdJzaW5mBjhzaW5mBjhzaW5mBjhzaW5mBjhzaW5mBjhzaW5mBjhzaW5mBjhzaW5mBjhzaW5mBjhzaW5mBjhzbWNwBexzbWNwBexzbWNwBexzbWNwBexzbWNwBexzbWNwBexzbWNwBexzbWNwBexzbWNwBexzbWNwBexzczAxBfpzczAxBfpzczAxBfpzczAxBfpzczAxBfpzczAxBfpzczAxBfpzczAxBfpzczAxBfpzczAxBfpzczAyBghzczAyBghzczAyBghzczAyBghzczAyBghzczAyBghzczAyBghzczAyBghzczAyBghzczAyBghzczAzBhRzczAzBhRzczAzBhRzczAzBhRzczAzBhRzczAzBhRzczAzBhRzczAzBhRzczAzBhRzczAzBhRzczA0BiBzczA0BiBzczA0BiBzczA0BiBzczA0BiBzczA0BiBzczA0BiBzczA0BiBzczA0BiBzczA0BiBzczA1Bi5zczA1Bi5zczA1Bi5zczA1Bi5zczA1Bi5zczA1Bi5zczA1Bi5zczA1Bi5zczA1Bi5zczA1Bi5zdWJzBjhzdWJzBjhzdWJzBjhzdWJzBjhzdWJzBjhzdWJzBjhzdWJzBjhzdWJzBjhzdWJzBjhzdWJzBjhzdXBzBj5zdXBzBj5zdXBzBj5zdXBzBj5zdXBzBj5zdXBzBj5zdXBzBj5zdXBzBj5zdXBzBj5zdXBzBj56ZXJvBkp6ZXJvBkp6ZXJvBkp6ZXJvBkp6ZXJvBkp6ZXJvBkp6ZXJvBkp6ZXJvBkp6ZXJvBkp6ZXJvBkoAAAACAAAAAQAAAAMAEQASABMAAAABACMAAAAHAAgACQAKAAsADAANAA4AAAABABcAAAADABYAGAAZAAAAAQAvAAAAAQAFAAAAAgAFAAYAAAABAAQAAAABAAMAAAABAAIAAAABABYAAAABACAAAAABABoAAAABAB8AAAALAAMAJAAlACcAKAApACoAKwAsAC0ALgAAAAUADwAQABIAFAAVAAoAAwAkACUAJgAAAQEACAACACcAKAAAAQIACAACACkAKgAAAQMACgADACsALAAtAAABBAAGAAEAIQAAAQAAAAABAB4AAAAEABoAGwAcAB0AAAABACIAMgBmB2gM/A0KDR4NQA1WDWoN4A5IDooPqhCkG2QcUBz0HVoeZCHqIgIiWiRoJR4lSCVyJYYmCCZmJn4mqCbKJwonUCeWJ6QnuiiUKNIo5ij6KVYpaimiKbYp7ioMKnwqkirEKuQAAQAAAAEACAACBV4CrAS0BLUEtgS3BLgEuQS6BLsEvAS9BL4EvwTABMEEwgTDBMQExQTGBMcEyATJBMoEywTMBM0EzgTPBNAE0QTSBNME1ATVBNYE1wTYBNkE2gTbBNwE3QTeBN8E4AThBOIE4wTkBOUE5gTnBOgE6QTqBOsE7ATtBO4E7wTwBPEE8gTzBPQE9QT2BQMFBAUFBQYFBwUIBQkFCgULBQwFDQUOBQ8FEAURBRIFEwUUBRUFFgUXBRgFGQUaBRsFHAUdBR4FHwUgBSEFIgUjBSQFJQUmBScFKAUyBTMFKQUqBSsFLAUtBS4FLwUwBTEFNAU2BTUFNwU4BTkFOgU7BTwFPQU+BT8FQAVBBUIFQwVEBUUFRgVHBUgFSQVKBUsFTAVNBU4FTwVQBVEFUgVTBVQFVQVWBVcFWAVZBVoFWwVcBV0FXgVfBWAFYQViBWMFZAVlBWYFZwVoBWkFagVrBWwFbQVuBW8FcAVxBXIFcwV1BMoEywTMBM0EzgTPBNAE0QTSBNME1ATVBNYE1wTaBNsE3ATdBN4E3wTgBOEE4gTjBOQE5QTmBOcE6ATpBPME9AT1BPYE9wT4BPkE+gT7BPwE/gT/BQAFAQUBBQIFAwUEBQUFBgUPBRAFEQUSBRMFFAUVBRYFFwUYBRkFGgUbBRwFHQUeBR8FIAUhBSIFIwUkBSUFJgUnBSgFMgUzBSkFKgUrBSwFLQUuBS8FMAUxBTQFNwU2BTUFOAU5BToFOwU8BT0FPgU/BUAFQQVCBUMFRAVFBUYFRwVIBUkFSgVLBUwFTQVOBU8FUAVRBVIFUwVUBVUFVgVXBVgFWQVaBVsFXAVdBV4FXwVgBWEFYgVjBWQFZQVmBWcFaAVpBWoFawVsBW0FbgVvBXAFcQVyBXQFdQTyBXYFdwV4BXkFegV7BXwFfQV/BYAFgQWCBYMFhAWFBYYFhwWIBYkFigWLBYwFjQV2BXoFfAV+BY4FhAWJBY8FjQJ5AnoCewV2BXYFdgV2BXYFdgV2BXYFdgV2BXYFdgV6BXoFegV6BXoFegV6BXoFfAV8BXwFfAV8BXwFfAV8BXwFfAV+BX4FfgV+BX4FfgV+BX4FfgV+BYQFhAWEBYQFhAWEBYQFhAWGBYkFiQWJBYkFiQWJBYkFiQWNBY0FjQWNBY0FjQWNBY0FjQWNBZAFkAWQBZAFkAWQBZAFkAWQBZEFkQWRBZEFkQWRBZEFkQWRBZIFkgWSBZIFkgWSBZIFkgWSA2cFkwWUBZUFlgWXBZgFmQWaBZsFnAWdBZ4FnwWgBaEFogWjBaQFpQWmBacFqAWpBaoFqwWsBa0FrgWvBbAFsQWyBbMFtAW1BbYFtwW4BbkFugW8Bb0FvgW/BcAFwQXCBcMFxAXFBcYFxwXIBckFygXLBcwFzQXOBc8F0AXRBdIF0wXUBdUF1gXXBdgF2QXaBdsF3AXdBd4FkwWVBZYFlwWYBZkFmgWbBZwFnQWeBZ8FoAWhBaIFowWkBaUFpgWnBagFqQWqBasFrAWtBa4FrwWwBbEFsgWzBbQFtQW2BbcFuAW5BboFvAW9Bb4FvwXABcEFwgXDBcQFxQXGBccFyAXJBcoFywXMBc0FzgXPBdAF0QXSBdMF1QXWBdcF2AXZBdoF2wXcBd0F3gWUBd8ELQRFBEYERwRIBEkESgRLBEwETQQ5BC8EMAQxBDIEMwQ0BDUENgQ3BnYF6gXrBewEVgXtBe4F7wXwBfEF8gX4BfkF+gX7BJcE/QY1BnMGdAZ1BvsG/Qb/BwQHBgcIBwoHDAcOBxAHEwcWBxgHKAcqBzwHPwdDB0UHRwdJB0sHTQdPB1EHUwdVB1cCPgACAEQANgB4AAAAhQD1AEMA9wD3ALQBDgEbALUBHgEtAMMBNgE3ANMBOQFGANUBSAFLAOMBVQFfAOcBYQGOAPIBkAG7ASABvQG9AUwBzgHOAU0CPwJGAU4CSAJfAVYCYQJhAW4CZwJnAW8CdAJ0AXAChwKuAXECsQLmAZkDZgNmAc8DhwOuAdADsAPTAfgD1QP6AhwD/AQUAkIEFgQfAlsEIQQhAmUELAQsAmYELwQ4AmcERQRNAnEEUARQAnoEUwRcAnsEcgR1AoUElgSWAokEmQSZAooGNAY0AosGUQZRAowGVwZXAo0GXAZcAo4G+gb6Ao8G/Ab8ApAG/gb+ApEHAwcDApIHBQcFApMHBwcHApQHCQcJApUHCwcLApYHDQcNApcHDwcPApgHEgcSApkHFQcVApoHFwcXApsHJwcnApwHKQcpAp0HOwc7Ap4HPgc+Ap8HQgdCAqAHRAdEAqEHRgdGAqIHSAdIAqMHSgdKAqQHTAdMAqUHTgdOAqYHUAdQAqcHUgdSAqgHVAdUAqkHVgdWAqoHZwdnAqsAAwAAAAEACAABBQQAjwEkASoBMAE2ATwBQgFIAU4BVAFcAWIBaAFuAXQBegGAAYYBjAGSAZgBngGkAaoBsAG2AbwBwgHKAdAB1gHcAeIB6AHwAfYB/gIEAgoCEgIYAh4CJAIqAjACNgI8AkICSAJOAlQCWgJgAmYCbAJyAngCfgKEAooCkAKWApwCogKoAq4CtAK6AsACxgLMAtIC2ALeAuQC6gLwAvYC/AMCAwgDDgMUAxoDIAMmAywDMgM4Az4DRANKA1ADVgNcA2IDaANu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AngAAAJ8AoYAGQABAAAAAQAIAAIA+AB5BXYFdgV2BXYFdgV2BXYFdgV2BXYFdgV2BXYFegV6BXoFegV6BXoFegV6BXwFfAV8BXwFfAV8BXwFfAV8BXwFfAV+BX4FfgV+BX4FfgV+BX4FfgV+BX4FfgV+BY4FjgWOBYQFhAWEBYQFhAWEBYQFhAWGBYYFiQWJBYkFiQWJBYkFiQWJBYkFiQWJBYkFiQWPBY8FjwWNBY0FjQWNBY0FjQWNBY0FjQWNBY0FkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkQWRBZEFkQWRBZEFkQWRBZEFkQWRBZEFkgWSBZIFkgWSBZIFkgWSBZIFkgWSBZIAAgABAucDXwAAAAEAAAABAAgAAgNWAagEmgSbBJwEnQSeBJ8EoAShBKIEowSkBKUEpgSnBKgEqQSqBKsErAStBK4ErwSwBLEEsgSzBLQEtQS2BLcEuAS5BLoEuwS8BL0EvgS/BMAEwQTCBMMExATFBMYExwTIBMkEygTLBMwEzQTOBM8E0ATRBNIE0wTUBNUE1gTXBNgE2QTaBNsE3ATdBN4E3wTgBOEE4gTjBOQE5QTmBOcE6ATpBOoE6wTsBO0E7gTvBPAE8QTyBPME9AT1BPYE9wT4BPkE+gT7BPwE/QT+BP8FAAUBBQIFAwUEBQUFBgUHBQgFCQUKBQsFDAUNBQ4FDwUQBREFEgUTBRQFFQUWBRcFGAUZBRoFGwUcBR0FHgUfBSAFIQUiBSMFJAUlBSYFJwUoBTIFMwUpBSoFKwUsBS0FLgUvBTAFMQU0BTYFNQU3BTgFOQU6BTsFPAU9BT4FPwVABUEFQgVDBUQFRQVGBUcFSAVJBUoFSwVMBU0FTgVPBVAFUQVSBVMFVAVVBVYFVwVYBVkFWgVbBVwFXQVeBV8FYAVhBWIFYwVkBWUFZgVnBWgFaQVqBWsFbAVtBW4FbwVwBXEFcgVzBXQFdQV2BXcFeAV5BXoFewV8BX0FfgV/BYAFgQWCBYMFhAWFBYYFhwWIBYkFigWLBYwFjQV2BXoFfAV+BY4FhAWJBY8FjQV2BXYFdgV2BXYFdgV2BXYFdgV2BXYFdgV6BXoFegV6BXoFegV6BXoFfAV8BXwFfAV8BXwFfAV8BXwFfAV+BX4FfgV+BX4FfgV+BX4FfgV+BX4FfgWEBYQFhAWEBYQFhAWEBYQFhgWJBYkFiQWJBYkFiQWJBYkFjQWNBY0FjQWNBY0FjQWNBY0FjQWQBZAFkAWQBZAFkAWQBZAFkAWRBZEFkQWRBZEFkQWRBZEFkQWSBZIFkgWSBZIFkgWSBZIFkgWTBZQFlQWWBZcFmAWZBZoFmwWcBZ0FngWfBaAFoQWiBaMFpAWlBaYFpwWoBakFqgWrBawFrQWuBa8FsAWxBbIFswW0BbUFtgW3BbgFuQW6BbwFvQW+Bb8FwAXBBcIFwwXEBcUFxgXHBcgFyQXKBcsFzAXNBc4FzwXQBdEF0gXTBdQF1QXWBdcF2AXZBdoF2wXcBd0F3gACAAYAAgAbAAAANgD3ABoCPwJfANwChwLmAP0DhwOuAV0DsAPSAYUAAQAAAAEACAABAAYBvgACAAEEIgQrAAAAAQAAAAEACAACAC4AFAXfBeoF6wXsBFYF7QXuBe8F8AXxBfIF8wX0BfUF9gX3BfgF+QX6BfsAAgAFBCEEIQAABFMEXAABBGMEYwALBGUEZgAMBHAEdQAOAAEAAAABAAgAAgHAAN0EmgSbBJwEnQSeBJ8EoAShBKIEowSkBKUEpgSnBKgEqQSqBKsErAStBK4ErwSwBLEEsgSzBLQEtQS2BLcEuAS5BLoEuwS8BL0EvgS/BMAEwQTCBMMExATFBMYExwTIBMkEygTLBMwEzQTOBM8E0ATRBNIE0wTUBNUE1gTXBNgE2QTaBNsE3ATdBN4E3wTgBOEE4gTjBOQE5QTmBOcE6ATpBOoE6wTsBO0E7gTvBPAE8QTzBPQE9QT2BPcE+AT5BPoE+wT8BP4E/wUABQEFAQUCBQMFBAUFBQYFBwUIBQoFCQULBQwFDQUOBQ8FEAURBRIFEwUUBRUFFgUXBRgFGQUaBRsFHAUdBR4FHwUgBSEFIgUjBSQFJQUmBScFKAUyBTMFKQUqBSsFLAUtBS4FLwUwBTEFNAU3BTYFNQU4BTkFOgU7BTwFPQU+BT8FQAVBBUIFQwVEBUUFRgVHBUgFSQVKBUsFTAVNBU4FTwVQBVEFUgVTBVQFVQVWBVcFWAVZBVoFWwVcBV0FXgVfBWAFYQViBWMFZAVlBWYFZwVoBWkFagVrBWwFbQVuBW8FcAVxBXIFdAV1BXME8gT9AAIACwAcADUAAAD4ATcAGgE5AUYAWgFIAUsAaAFNAV8AbAFhAY4AfwGQAbsArQG9Ab0A2QHI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';\r\n pdfDoc.addFileToVFS('SourceSansPro-Bold-bold.ttf', boldfont);\r\n pdfDoc.addFont('SourceSansPro-Bold-bold.ttf', 'SourceSansPro-Bold', 'bold');\r\n\r\n this.setHeader(pdfDoc, pgWidth);\r\n this.setEmployeeInfo(pdfDoc, pgWidth, payPlan);\r\n this.setSalaryInfo(pdfDoc, pgWidth, payPlan, totalAnnualPay, currency);\r\n this.setVolumeInfo(pdfDoc, pgWidth, payPlan, volumeCompensation, totalAnnualPay, currency, false);\r\n this.setBuyerAverageInfo(pdfDoc, pgWidth, payPlan, buyerAverage, totalAnnualPay, currency, false);\r\n this.setFooter(pdfDoc, pgWidth, pgHeight, payPlan);\r\n\r\n if (payPlan.employee.isManager) {\r\n pdfDoc.addPage();\r\n this.pdfHeightFromTop = pgHeight * 0.1;\r\n this.setHeader(pdfDoc, pgWidth);\r\n this.setEmployeeInfo(pdfDoc, pgWidth, payPlan);\r\n this.setSalaryInfo(pdfDoc, pgWidth, payPlan, totalAnnualPay, currency);\r\n this.setVolumeInfo(pdfDoc, pgWidth, payPlan, volumeCompensation, totalAnnualPay, currency, true);\r\n this.setBuyerAverageInfo(pdfDoc, pgWidth, payPlan, buyerAverage, totalAnnualPay, currency, true);\r\n this.setFooter(pdfDoc, pgWidth, pgHeight, payPlan);\r\n }\r\n\r\n pdfDoc.save('ExportPayPlan.pdf');\r\n }\r\n}\r\n","import { Component, Input, Output, EventEmitter, OnChanges, OnInit } from '@angular/core';\r\nimport { DatePipe } from '@angular/common';\r\nimport { UntypedFormGroup } from '@angular/forms';\r\nimport { GenericValidator } from '../../shared/validators/generic-validator';\r\nimport { Observable, Subscription, forkJoin } from 'rxjs';\r\nimport { EuPayplanFormService } from './eupayplan-form.service';\r\nimport { User } from '../../security/user';\r\nimport { LoadingSpinnerService } from '../../shared/loading-spinner/loading-spinner.service';\r\nimport { EuPayplanFormExportService } from './eupayplan-form-export.service';\r\nimport { SpcTier } from '../../models/incoming-dtos/spc-tier';\r\nimport { SecuredObjectService } from '../../security/secured-object.service';\r\nimport { AppInsightsService } from '../../shared/services/app-insights.service';\r\nimport { SalesMilestone } from './../../models/incoming-dtos/sales-milestone';\r\nimport { BuyerTier } from './../../models/incoming-dtos/buyer-tier';\r\nimport { EUPayPlanDto } from './../../models/outgoing-dtos/eupayplan-dto';\r\nimport { GlobalizationService } from '../../shared/services/globalization.service';\r\nimport { HelperMethodsService } from '../../shared/services/helper-methods.service';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { map } from 'rxjs/operators';\r\nconst FRA = 'FRA';\r\nconst ESP = 'ESP';\r\nconst fr = 'fr';\r\nconst es = 'es';\r\nconst en = 'en';\r\n\r\n@Component({\r\n selector: 'scoreboard-eupayplan-form',\r\n templateUrl: './eupayplan-form.component.html',\r\n styleUrls: ['./eupayplan-form.component.scss']\r\n})\r\nexport class EuPayplanFormComponent implements OnChanges, OnInit {\r\n @Input() code: string;\r\n @Input() payPlan: EUPayPlanDto;\r\n @Input() user: User;\r\n @Input() level: string;\r\n @Input() levelValue: string;\r\n @Input() month: number;\r\n @Input() year: number;\r\n\r\n @Output() onSavePayPlan: EventEmitter;\r\n\r\n payPlanId = 1;\r\n pipe = new DatePipe('en_GB');\r\n payPlanDto = new EUPayPlanDto();\r\n isPayPlanLocked = false;\r\n saveButtonText = 'Save';\r\n totalAnnualPay: number;\r\n volumeCompensation: number;\r\n buyerAverage: number;\r\n effectiveDate: string;\r\n alertEffectiveDate: string;\r\n alertExpiryDate: string;\r\n alertTextEffectiveDate: string;\r\n alertTextExpiryDate: string;\r\n alertTargetVolume: string;\r\n alertTextTargetVolume: string;\r\n alertBasePay: string;\r\n alertTextBasePay: string;\r\n alertSalesManagerPay: string;\r\n alertSalesManagerPayFormat: string;\r\n isDirty: boolean;\r\n volumePayTeamOnly: boolean;\r\n volumePaySelfOnly: boolean;\r\n volumePayTeamSelf: boolean;\r\n volumePayNone: boolean;\r\n milestonePayTeamOnly: boolean;\r\n milestonePaySelfOnly: boolean;\r\n milestonePayTeamSelf: boolean;\r\n milestonePayNone: boolean;\r\n buyerAveragePayTeamOnly: boolean;\r\n buyerAveragePaySelfOnly: boolean;\r\n buyerAveragePayTeamSelf: boolean;\r\n buyerAveragePayNone: boolean;\r\n\r\n // Use with the generic validation message class\r\n displayMessage: { [key: string]: string } = {};\r\n validationMessages: { [key: string]: { [key: string]: string } };\r\n genericValidator: GenericValidator;\r\n currency: string;\r\n payPlanGrossSpcTiersSubscription = new Subscription();\r\n payPlanNetSpcTiersSubscription = new Subscription();\r\n payPlanGrossSpcTiers$ = new Observable();\r\n payPlanNetSpcTiers$ = new Observable();\r\n payPlanGrossSpcTiers = new Array();\r\n payPlanNetSpcTiers = new Array();\r\n payPlanForm: UntypedFormGroup;\r\n expiryDt: string;\r\n effectiveDt: string;\r\n currencySymbol: string;\r\n exportButtonTitle = 'EXPORT';\r\n\r\n constructor(private payplanFormSvc: EuPayplanFormService,\r\n private payPlanFormExportSvc: EuPayplanFormExportService,\r\n private loadingSpinnerSvc: LoadingSpinnerService,\r\n public secObjService: SecuredObjectService,\r\n public appInsights: AppInsightsService,\r\n private currencyService: GlobalizationService,\r\n private helperService: HelperMethodsService,\r\n private translate: TranslateService) {\r\n this.onSavePayPlan = new EventEmitter();\r\n }\r\n\r\n ngOnInit() {\r\n this.currency = this.currencyService.getCountryCurrency(this.code);\r\n if (this.helperService.isArrayNullOrEmpty(this.payPlan.buyerTiersTeam)) {\r\n this.payPlan.buyerTiersTeam = new Array();\r\n }\r\n if (this.helperService.isArrayNullOrEmpty(this.payPlan.salesMilestonesTeam)) {\r\n this.payPlan.salesMilestonesTeam = new Array();\r\n }\r\n if (this.helperService.isArrayNullOrEmpty(this.payPlan.buyerTiers)) {\r\n this.payPlan.buyerTiers = new Array();\r\n }\r\n if (this.helperService.isArrayNullOrEmpty(this.payPlan.salesMilestones)) {\r\n this.payPlan.salesMilestones = new Array();\r\n }\r\n\r\n if (this.payPlan.employee.isManager) {\r\n this.SalesManagerPaySetUp();\r\n }\r\n this.setupTranslation(this.payPlan);\r\n }\r\n\r\n private setupTranslation(payPlan: EUPayPlanDto) {\r\n this.exportButtonTitle = 'TRANSLATING...';\r\n this.isDirty = true;\r\n if (payPlan.employee.country === FRA) {\r\n this.translate.use(fr);\r\n this.payPlanFormExportSvc.language = fr;\r\n } else if (payPlan.employee.country === ESP) {\r\n this.translate.use(es);\r\n this.payPlanFormExportSvc.language = es;\r\n } else {\r\n this.translate.use(en);\r\n this.payPlanFormExportSvc.language = en;\r\n }\r\n\r\n forkJoin(\r\n this.translate.get('payPlan'),\r\n this.translate.get('effectiveDate'),\r\n this.translate.get('baseSalary'),\r\n this.translate.get('percentageOfPay'),\r\n this.translate.get('targetedProfitBonus'),\r\n this.translate.get('percentageOfTargetGroupProfit'),\r\n this.translate.get('volumeBonus'),\r\n this.translate.get('buyerAverageBonus'),\r\n this.translate.get('targetVolume'),\r\n this.translate.get('targetBuyerAverage'),\r\n this.translate.get('payPerUnit'),\r\n this.translate.get('milestone'),\r\n this.translate.get('bonus'),\r\n this.translate.get('buyerAverage'),\r\n this.translate.get('targetedAnnualPay'),\r\n this.translate.get('employee'),\r\n this.translate.get('date'),\r\n this.translate.get('printName'),\r\n this.translate.get('approvedByFinancialController'),\r\n this.translate.get('approvedByGeneralManager'),\r\n this.translate.get('bonusPlanExpiresOn'),\r\n this.translate.get('disclaimer'),\r\n this.translate.get('disclaimer-discontinue'),\r\n this.translate.get('teamBuyerAverage'),\r\n this.translate.get('teamMilestone')\r\n ).pipe(\r\n map(([a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y]) => {\r\n this.payPlanFormExportSvc.txtPayplan = a.toString();\r\n this.payPlanFormExportSvc.txteffectiveDate = b.toString();\r\n this.payPlanFormExportSvc.txtbaseSalary = c.toString();\r\n this.payPlanFormExportSvc.txtpercentageOfPay = d.toString();\r\n this.payPlanFormExportSvc.txttargetedProfitBonus = e.toString();\r\n this.payPlanFormExportSvc.txtpercentageOfTargetGroupProfit = f.toString();\r\n this.payPlanFormExportSvc.txtvolumeBonus = g.toString();\r\n this.payPlanFormExportSvc.txtbuyerAverageBonus = h.toString();\r\n this.payPlanFormExportSvc.txttargetVolume = i.toString();\r\n this.payPlanFormExportSvc.txttargetBuyerAverage = j.toString();\r\n this.payPlanFormExportSvc.txtpayPerUnit = k.toString();\r\n this.payPlanFormExportSvc.txtmilestone = l.toString();\r\n this.payPlanFormExportSvc.txtbonus = m.toString();\r\n this.payPlanFormExportSvc.txtbuyerAverage = n.toString();\r\n this.payPlanFormExportSvc.txttargetedAnnualPay = o.toString();\r\n this.payPlanFormExportSvc.txtemployee = p.toString();\r\n this.payPlanFormExportSvc.txtdate = q.toString();\r\n this.payPlanFormExportSvc.txtprintName = r.toString();\r\n this.payPlanFormExportSvc.txtapprovedByFinancialController = s.toString();\r\n this.payPlanFormExportSvc.txtapprovedByGeneralManager = t.toString();\r\n this.payPlanFormExportSvc.txtbonusPlanExpiresOn = u.toString();\r\n this.payPlanFormExportSvc.txtdisclaimer = v.toString();\r\n this.payPlanFormExportSvc.txtdisclaimerDiscontinue = w.toString();\r\n this.payPlanFormExportSvc.txtteamBuyerAverage = x.toString();\r\n this.payPlanFormExportSvc.txtteamMilestone = y.toString();\r\n return { a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y };\r\n })\r\n ).subscribe(null, null, () => {\r\n this.exportButtonTitle = 'EXPORT';\r\n this.isDirty = false;\r\n });\r\n }\r\n\r\n InputChanged() {\r\n this.isDirty = true;\r\n this.resetAllAlerts();\r\n if (this.payPlan.salesVolumeTarget == null) {\r\n this.setAlertTargetVolume('Please enter a value for Target Volume');\r\n }\r\n if (this.payPlan.basePay == null) {\r\n this.setAlertBasePay('Please enter a value for Base Pay');\r\n }\r\n if (this.payPlan.effectiveDate == null) {\r\n this.setAlertEffectiveDate('Please enter a value for Effective Date');\r\n }\r\n if (this.payPlan.expiryDate == null) {\r\n this.setAlertExpiryDate('Please enter a value for Expiry Date');\r\n }\r\n }\r\n\r\n SalesManagerPaySetUp() {\r\n const valVolumePay = this.payPlan.volumePay;\r\n const valMilestonePay = this.payPlan.milestonePay;\r\n const valBuyerAveragePay = this.payPlan.buyerAveragePay;\r\n\r\n const TeamOnly = 'TeamOnly';\r\n const SelfOnly = 'SelfOnly';\r\n const TeamAndSelf = 'TeamAndSelf';\r\n const None = 'None';\r\n\r\n\r\n if (valVolumePay === TeamOnly) {\r\n this.volumePayTeamOnly = true;\r\n this.volumePaySelfOnly = false;\r\n this.volumePayTeamSelf = false;\r\n this.volumePayNone = false;\r\n } else if (valVolumePay === SelfOnly) {\r\n this.volumePayTeamOnly = false;\r\n this.volumePaySelfOnly = true;\r\n this.volumePayTeamSelf = false;\r\n this.volumePayNone = false;\r\n } else if (valVolumePay === TeamAndSelf) {\r\n this.volumePayTeamOnly = false;\r\n this.volumePaySelfOnly = false;\r\n this.volumePayTeamSelf = true;\r\n this.volumePayNone = false;\r\n } else if (valVolumePay === None) {\r\n this.volumePayTeamOnly = false;\r\n this.volumePaySelfOnly = false;\r\n this.volumePayTeamSelf = false;\r\n this.volumePayNone = true;\r\n }\r\n\r\n if (valMilestonePay === TeamOnly) {\r\n this.milestonePayTeamOnly = true;\r\n this.milestonePaySelfOnly = false;\r\n this.milestonePayTeamSelf = false;\r\n this.milestonePayNone = false;\r\n } else if (valMilestonePay === SelfOnly) {\r\n this.milestonePayTeamOnly = false;\r\n this.milestonePaySelfOnly = true;\r\n this.milestonePayTeamSelf = false;\r\n this.milestonePayNone = false;\r\n } else if (valMilestonePay === TeamAndSelf) {\r\n this.milestonePayTeamOnly = false;\r\n this.milestonePaySelfOnly = false;\r\n this.milestonePayTeamSelf = true;\r\n this.milestonePayNone = false;\r\n } else if (valMilestonePay === None) {\r\n this.milestonePayTeamOnly = false;\r\n this.milestonePaySelfOnly = false;\r\n this.milestonePayTeamSelf = false;\r\n this.milestonePayNone = true;\r\n }\r\n\r\n if (valBuyerAveragePay === TeamOnly) {\r\n this.buyerAveragePayTeamOnly = true;\r\n this.buyerAveragePaySelfOnly = false;\r\n this.buyerAveragePayTeamSelf = false;\r\n this.buyerAveragePayNone = false;\r\n } else if (valBuyerAveragePay === SelfOnly) {\r\n this.buyerAveragePayTeamOnly = false;\r\n this.buyerAveragePaySelfOnly = true;\r\n this.buyerAveragePayTeamSelf = false;\r\n this.buyerAveragePayNone = false;\r\n } else if (valBuyerAveragePay === TeamAndSelf) {\r\n this.buyerAveragePayTeamOnly = false;\r\n this.buyerAveragePaySelfOnly = false;\r\n this.buyerAveragePayTeamSelf = true;\r\n this.buyerAveragePayNone = false;\r\n } else if (valBuyerAveragePay === None) {\r\n this.buyerAveragePayTeamOnly = false;\r\n this.buyerAveragePaySelfOnly = false;\r\n this.buyerAveragePayTeamSelf = false;\r\n this.buyerAveragePayNone = true;\r\n }\r\n\r\n\r\n\r\n }\r\n\r\n RadioButtonChange(event) {\r\n const elementID = event.srcElement.id;\r\n const TeamOnly = 'TeamOnly';\r\n const SelfOnly = 'SelfOnly';\r\n const TeamAndSelf = 'TeamAndSelf';\r\n const None = 'None';\r\n\r\n this.isDirty = true;\r\n if (elementID === 'volumePayTeamOnly') {\r\n this.volumePayTeamOnly = true;\r\n this.volumePaySelfOnly = false;\r\n this.volumePayTeamSelf = false;\r\n this.volumePayNone = false;\r\n this.payPlan.volumePay = TeamOnly;\r\n } else if (elementID === 'volumePaySelfOnly') {\r\n this.volumePayTeamOnly = false;\r\n this.volumePaySelfOnly = true;\r\n this.volumePayTeamSelf = false;\r\n this.volumePayNone = false;\r\n this.payPlan.volumePay = SelfOnly;\r\n } else if (elementID === 'volumePayTeamSelf') {\r\n this.volumePayTeamOnly = false;\r\n this.volumePaySelfOnly = false;\r\n this.volumePayTeamSelf = true;\r\n this.volumePayNone = false;\r\n this.payPlan.volumePay = TeamAndSelf;\r\n } else if (elementID === 'volumePayNone') {\r\n this.volumePayTeamOnly = false;\r\n this.volumePaySelfOnly = false;\r\n this.volumePayTeamSelf = false;\r\n this.volumePayNone = true;\r\n this.payPlan.volumePay = None;\r\n } else if (elementID === 'milestonePayTeamOnly') {\r\n this.milestonePayTeamOnly = true;\r\n this.milestonePaySelfOnly = false;\r\n this.milestonePayTeamSelf = false;\r\n this.milestonePayNone = false;\r\n this.payPlan.milestonePay = TeamOnly;\r\n } else if (elementID === 'milestonePaySelfOnly') {\r\n this.milestonePayTeamOnly = false;\r\n this.milestonePaySelfOnly = true;\r\n this.milestonePayTeamSelf = false;\r\n this.milestonePayNone = false;\r\n this.payPlan.milestonePay = SelfOnly;\r\n } else if (elementID === 'milestonePayTeamSelf') {\r\n this.milestonePayTeamOnly = false;\r\n this.milestonePaySelfOnly = false;\r\n this.milestonePayTeamSelf = true;\r\n this.milestonePayNone = false;\r\n this.payPlan.milestonePay = TeamAndSelf;\r\n } else if (elementID === 'milestonePayNone') {\r\n this.milestonePayTeamOnly = false;\r\n this.milestonePaySelfOnly = false;\r\n this.milestonePayTeamSelf = false;\r\n this.milestonePayNone = true;\r\n this.payPlan.milestonePay = None;\r\n } else if (elementID === 'buyerAveragePayTeamOnly') {\r\n this.buyerAveragePayTeamOnly = true;\r\n this.buyerAveragePaySelfOnly = false;\r\n this.buyerAveragePayTeamSelf = false;\r\n this.buyerAveragePayNone = false;\r\n this.payPlan.buyerAveragePay = TeamOnly;\r\n } else if (elementID === 'buyerAveragePaySelfOnly') {\r\n this.buyerAveragePayTeamOnly = false;\r\n this.buyerAveragePaySelfOnly = true;\r\n this.buyerAveragePayTeamSelf = false;\r\n this.buyerAveragePayNone = false;\r\n this.payPlan.buyerAveragePay = SelfOnly;\r\n } else if (elementID === 'buyerAveragePayTeamSelf') {\r\n this.buyerAveragePayTeamOnly = false;\r\n this.buyerAveragePaySelfOnly = false;\r\n this.buyerAveragePayTeamSelf = true;\r\n this.buyerAveragePayNone = false;\r\n this.payPlan.buyerAveragePay = TeamAndSelf;\r\n } else if (elementID === 'buyerAveragePayNone') {\r\n this.buyerAveragePayTeamOnly = false;\r\n this.buyerAveragePaySelfOnly = false;\r\n this.buyerAveragePayTeamSelf = false;\r\n this.buyerAveragePayNone = true;\r\n this.payPlan.buyerAveragePay = None;\r\n\r\n }\r\n }\r\n\r\n SetBuyerAverageForPayPlan(buyerAveragePay: string) {\r\n const TeamOnly = 'TeamOnly';\r\n const SelfOnly = 'SelfOnly';\r\n const None = 'None';\r\n\r\n if (buyerAveragePay === SelfOnly) {\r\n this.payPlan.buyerTiersTeam = [];\r\n this.payPlan.buyerAverageTargetTeam = 0;\r\n } else if (buyerAveragePay === TeamOnly) {\r\n this.payPlan.buyerTiers = [];\r\n this.payPlan.buyerAverageTarget = 0;\r\n } else if (buyerAveragePay === None) {\r\n this.payPlan.buyerTiers = [];\r\n this.payPlan.buyerTiersTeam = [];\r\n this.payPlan.buyerAverageTarget = 0;\r\n this.payPlan.buyerAverageTargetTeam = 0;\r\n }\r\n }\r\n\r\n SetMilestonAverageForPayPlan(salesMilestone: string) {\r\n const TeamOnly = 'TeamOnly';\r\n const SelfOnly = 'SelfOnly';\r\n const None = 'None';\r\n\r\n if (salesMilestone === SelfOnly) {\r\n this.payPlan.salesMilestonesTeam = [];\r\n this.payPlan.salesVolumeTargetTeam = 0;\r\n } else if (salesMilestone === TeamOnly) {\r\n this.payPlan.salesMilestones = [];\r\n this.payPlan.salesVolumeTarget = 0;\r\n } else if (salesMilestone === None) {\r\n this.payPlan.salesMilestonesTeam = [];\r\n this.payPlan.salesMilestones = [];\r\n this.payPlan.salesVolumeTargetTeam = 0;\r\n this.payPlan.salesVolumeTarget = 0;\r\n }\r\n }\r\n\r\n\r\n\r\n CurrencyInputChanged(val) {\r\n const num = val.replace(/[£,€$]/g, '');\r\n const result = Number(num);\r\n if (isNaN(result)) {\r\n return 0;\r\n }\r\n return result;\r\n }\r\n\r\n IsDirty(isDirty: boolean) {\r\n this.isDirty = isDirty;\r\n }\r\n\r\n ngOnChanges() {\r\n const datePipe = new DatePipe('en-GB');\r\n this.checkIfPayPlanLocked();\r\n this.effectiveDt = datePipe.transform(this.payPlan.effectiveDate, 'yyyy-MM-dd');\r\n this.expiryDt = datePipe.transform(this.payPlan.expiryDate, 'yyyy-MM-dd');\r\n }\r\n\r\n checkIfPayPlanLocked() {\r\n if (this.payPlan.locked) {\r\n this.isPayPlanLocked = true;\r\n this.saveButtonText = 'Locked';\r\n } else {\r\n this.isPayPlanLocked = false;\r\n this.saveButtonText = 'Save';\r\n }\r\n }\r\n\r\n ConvertDateToUTC(dt: Date) {\r\n return new Date(dt.getUTCFullYear(), dt.getUTCMonth(), dt.getUTCDate(), 10, 0, 0);\r\n }\r\n\r\n onSaveEuPayPlan() {\r\n\r\n this.payPlan.effectiveDate = this.ConvertDateToUTC(new Date(this.effectiveDt));\r\n this.payPlan.expiryDate = this.ConvertDateToUTC(new Date(this.expiryDt));\r\n\r\n const lastDayOfMonth = new Date(this.payPlan.expiryDate.getUTCFullYear(), this.payPlan.expiryDate.getUTCMonth() + 1, 0, 10, 0, 0);\r\n\r\n const daysDiff = (+this.payPlan.expiryDate - +this.payPlan.effectiveDate) / 1000 / 60 / 60 / 24;\r\n\r\n if (this.payPlan.effectiveDate.getDate() !== 1) {\r\n this.setAlertEffectiveDate('Effective date needs to be 1st of the month');\r\n } else if (this.payPlan.expiryDate.getDate() !== lastDayOfMonth.getDate()) {\r\n this.setAlertExpiryDate('Expiry date must end on last day of month');\r\n } else if (this.payPlan.expiryDate <= this.payPlan.effectiveDate) {\r\n this.setAlertExpiryDate('Expiry date must be greater than effective date');\r\n this.setAlertEffectiveDate('Expiry date must be greater than effective date');\r\n } else if (daysDiff >= 366) {\r\n this.setAlertExpiryDate('Period between effective date and expiry date should not be longer than 12 months ');\r\n this.setAlertEffectiveDate('Period between effective date and expiry date should not be longer than 12 months ');\r\n } else if (this.payPlan.salesVolumeTarget == null) {\r\n this.setAlertTargetVolume('Please enter a value for Target Volume');\r\n } else if (this.payPlan.basePay == null) {\r\n this.setAlertBasePay('Please enter a value for Base Pay');\r\n } else if ((this.payPlan.employee.isManager) && (this.payPlan.buyerAveragePay == null || this.payPlan.milestonePay == null || this.payPlan.volumePay == null)) {\r\n this.setAlertSalesManagerPay('Please set values for [Buyer Average Pay], [Milestone Pay] and [Volume Pay]');\r\n } else {\r\n\r\n this.loadingSpinnerSvc.turnSpinnerOn('Saving...');\r\n if (this.payPlan.id === 0) {\r\n this.payPlan.createdBy = this.user.eId;\r\n } else {\r\n this.payPlan.updatedBy = this.user.eId;\r\n }\r\n this.SetBuyerAverageForPayPlan(this.payPlan.buyerAveragePay);\r\n this.SetMilestonAverageForPayPlan(this.payPlan.milestonePay);\r\n this.onSavePayPlan.emit(this.payPlan);\r\n this.isDirty = false;\r\n }\r\n }\r\n\r\n toDate(dateStr: string): Date {\r\n const [year, month, day]: any = dateStr.split('-');\r\n return new Date(year, month - 1, day);\r\n }\r\n\r\n\r\n\r\n onExportEUPayPlan() {\r\n const currencySymbols = {\r\n 'USD': '$',\r\n 'EUR': '€',\r\n 'GBP': '£'\r\n };\r\n this.currencySymbol = currencySymbols[this.currency];\r\n this.payPlanFormExportSvc.exportPayPlan(this.payPlan, this.volumeCompensation, this.buyerAverage, this.totalAnnualPay, this.currencySymbol);\r\n this.loadingSpinnerSvc.turnSpinnerOff();\r\n\r\n this.appInsights.logUserAction('User exported pay plan for ' + this.payPlan.employee.firstName + ' ' + this.payPlan.employee.lastName +\r\n ' for ' + this.level + ': ' + this.levelValue + ' on ' + this.month + '/' + this.year, this.user);\r\n }\r\n\r\n\r\n updatedPayPlanMilestone(updatedMilestone: Array) {\r\n this.payPlan.salesMilestones = updatedMilestone;\r\n this.isDirty = true;\r\n }\r\n updatedPayPlanMilestoneTeam(updatedMilestoneTeam: Array) {\r\n this.payPlan.salesMilestonesTeam = updatedMilestoneTeam;\r\n this.isDirty = true;\r\n }\r\n updatePayPlanBuyerTier(updatedBuyerTier: Array) {\r\n this.payPlan.buyerTiers = updatedBuyerTier;\r\n this.isDirty = true;\r\n }\r\n updatePayPlanBuyerTierTeam(updatedBuyerTierTeam: Array) {\r\n this.payPlan.buyerTiersTeam = updatedBuyerTierTeam;\r\n this.isDirty = true;\r\n }\r\n updatePayPlanBuyerAverageTimePeriod(timeperiod: string) {\r\n this.payPlan.buyerAveragePayTimePeriod = timeperiod;\r\n this.isDirty = true;\r\n }\r\n updatePayPlanBuyerAverageTimePeriodTeam(timeperiodTeam: string) {\r\n this.payPlan.buyerAveragePayTimePeriodTeam = timeperiodTeam;\r\n this.isDirty = true;\r\n }\r\n\r\n getVolumeCompensation(payPlan: EUPayPlanDto) {\r\n const TeamOnly = 'TeamOnly';\r\n const SelfOnly = 'SelfOnly';\r\n const TeamAndSelf = 'TeamAndSelf';\r\n\r\n if (payPlan.employee.isManager) {\r\n if (payPlan.milestonePay === TeamOnly) {\r\n // tslint:disable-next-line:max-line-length\r\n this.volumeCompensation = this.payplanFormSvc.getVolumeCompensation(payPlan.salesVolumePayPerUnit, null, this.helperService.isArrayNullOrEmpty(payPlan.salesMilestonesTeam) ? [] : payPlan.salesMilestonesTeam, 0, payPlan.salesVolumeTargetTeam);\r\n } else if (payPlan.milestonePay === SelfOnly) {\r\n this.volumeCompensation = this.payplanFormSvc.getVolumeCompensation(payPlan.salesVolumePayPerUnit, this.helperService.isArrayNullOrEmpty(payPlan.salesMilestones) ? [] : payPlan.salesMilestones, null, payPlan.salesVolumeTarget, 0);\r\n } else if (payPlan.milestonePay === TeamAndSelf) {\r\n // tslint:disable-next-line:max-line-length\r\n this.volumeCompensation = this.payplanFormSvc.getVolumeCompensation(payPlan.salesVolumePayPerUnit, this.helperService.isArrayNullOrEmpty(payPlan.salesMilestones) ? [] : payPlan.salesMilestones, this.helperService.isArrayNullOrEmpty(payPlan.salesMilestonesTeam) ? [] : payPlan.salesMilestonesTeam, payPlan.salesVolumeTarget, payPlan.salesVolumeTargetTeam);\r\n } else {\r\n this.volumeCompensation = this.payplanFormSvc.getVolumeCompensation(payPlan.salesVolumePayPerUnit, this.helperService.isArrayNullOrEmpty(payPlan.salesMilestones) ? [] : payPlan.salesMilestones, null, payPlan.salesVolumeTarget, 0);\r\n }\r\n } else {\r\n this.volumeCompensation = this.payplanFormSvc.getVolumeCompensation(payPlan.salesVolumePayPerUnit, this.helperService.isArrayNullOrEmpty(payPlan.salesMilestones) ? [] : payPlan.salesMilestones, null, payPlan.salesVolumeTarget, 0);\r\n }\r\n\r\n return this.volumeCompensation;\r\n }\r\n\r\n\r\n\r\n getBuyerAverage(payPlan: EUPayPlanDto) {\r\n const TeamOnly = 'TeamOnly';\r\n const SelfOnly = 'SelfOnly';\r\n const TeamAndSelf = 'TeamAndSelf';\r\n\r\n if (payPlan.employee.isManager) {\r\n if (payPlan.buyerAveragePay === TeamOnly) {\r\n this.buyerAverage = this.payplanFormSvc.getBuyerAverage(null, this.helperService.isArrayNullOrEmpty(payPlan.buyerTiersTeam) ? [] : payPlan.buyerTiersTeam, null, payPlan.buyerAverageTargetTeam);\r\n } else if (payPlan.buyerAveragePay === SelfOnly) {\r\n this.buyerAverage = this.payplanFormSvc.getBuyerAverage(this.helperService.isArrayNullOrEmpty(payPlan.buyerTiers) ? [] : payPlan.buyerTiers, null, payPlan.buyerAverageTarget, null);\r\n } else if (payPlan.buyerAveragePay === TeamAndSelf) {\r\n // tslint:disable-next-line:max-line-length\r\n this.buyerAverage = this.payplanFormSvc.getBuyerAverage(this.helperService.isArrayNullOrEmpty(payPlan.buyerTiers) ? [] : payPlan.buyerTiers, this.helperService.isArrayNullOrEmpty(payPlan.buyerTiersTeam) ? [] : payPlan.buyerTiersTeam, payPlan.buyerAverageTarget, payPlan.buyerAverageTargetTeam);\r\n } else {\r\n this.buyerAverage = this.payplanFormSvc.getBuyerAverage(this.helperService.isArrayNullOrEmpty(payPlan.buyerTiers) ? [] : payPlan.buyerTiers, null, payPlan.buyerAverageTarget, null);\r\n }\r\n } else {\r\n this.buyerAverage = this.payplanFormSvc.getBuyerAverage(this.helperService.isArrayNullOrEmpty(payPlan.buyerTiers) ? [] : payPlan.buyerTiers, null, payPlan.buyerAverageTarget, null);\r\n }\r\n\r\n return this.buyerAverage;\r\n }\r\n\r\n getTotalPay(payPlan: EUPayPlanDto) {\r\n this.totalAnnualPay = this.payplanFormSvc.getTotalProjectedPay(payPlan);\r\n return this.totalAnnualPay;\r\n }\r\n\r\n getEffectiveDate(payplan: EUPayPlanDto) {\r\n this.effectiveDate = this.payPlanFormExportSvc.getEffectiveDate(payplan.updatedTime);\r\n return this.effectiveDate;\r\n }\r\n\r\n resetAlertEffectiveDate() {\r\n this.alertEffectiveDate = '';\r\n this.alertTextEffectiveDate = '';\r\n }\r\n resetAllAlerts() {\r\n this.resetAlertEffectiveDate();\r\n this.resetAlertExpiryDate();\r\n this.resetAlertBasePay();\r\n this.resetAlertTargetVolume();\r\n this.resetAlertSalesManagerPay();\r\n }\r\n\r\n setAlertEffectiveDate(alertxt: string) {\r\n this.alertEffectiveDate = 'alert alert-danger';\r\n this.alertTextEffectiveDate = alertxt;\r\n }\r\n setAlertTargetVolume(alerttxt: string) {\r\n this.alertTargetVolume = 'alert alert-danger';\r\n this.alertTextTargetVolume = alerttxt;\r\n }\r\n setAlertBasePay(alerttxt: string) {\r\n this.alertBasePay = 'alert alert-danger';\r\n this.alertTextBasePay = alerttxt;\r\n }\r\n setAlertSalesManagerPay(alerttxt: string) {\r\n this.alertSalesManagerPay = alerttxt;\r\n this.alertSalesManagerPayFormat = 'alert alert-danger';\r\n }\r\n resetAlertSalesManagerPay() {\r\n this.alertSalesManagerPay = '';\r\n this.alertSalesManagerPayFormat = '';\r\n }\r\n\r\n resetAlertTargetVolume() {\r\n this.alertTargetVolume = '';\r\n this.alertTextTargetVolume = '';\r\n }\r\n resetAlertBasePay() {\r\n this.alertBasePay = '';\r\n this.alertTextBasePay = '';\r\n }\r\n resetAlertExpiryDate() {\r\n this.alertExpiryDate = '';\r\n this.alertTextExpiryDate = '';\r\n }\r\n\r\n setAlertExpiryDate(alertxt: string) {\r\n this.alertExpiryDate = 'alert alert-danger';\r\n this.alertTextExpiryDate = alertxt;\r\n }\r\n\r\n\r\n\r\n}\r\n","import { Injectable, Input, Output, EventEmitter } from '@angular/core';\r\nimport { SalesMilestone } from '../../models/incoming-dtos/sales-milestone';\r\nimport { BuyerTier } from '../../models/incoming-dtos/buyer-tier';\r\nimport { EUPayPlanDto } from '../../models/outgoing-dtos/eupayplan-dto';\r\nimport { HelperMethodsService } from '../../shared/services/helper-methods.service';\r\n// import { emit } from 'cluster';\r\n\r\n@Injectable()\r\nexport class EuPayplanFormService {\r\n volumeCompensation: number;\r\n buyerAverage: number;\r\n constructor(private helperService: HelperMethodsService) {\r\n }\r\n\r\n getVolumeCompensation(payPerUnit: number, milestones?: Array, milestonesTeam?: Array, volumeGoal?: number, volumeGoalTeam?: number): number {\r\n let pay = 0;\r\n if (milestones != null) {\r\n milestones.forEach((value, index) => {\r\n if (volumeGoal >= value.sales) {\r\n pay = pay + value.payout;\r\n }\r\n });\r\n }\r\n pay = pay + (volumeGoal * payPerUnit);\r\n\r\n let payTeam = 0;\r\n if (milestonesTeam != null) {\r\n milestonesTeam.forEach((value, index) => {\r\n if (volumeGoalTeam >= value.sales) {\r\n payTeam = payTeam + value.payout;\r\n }\r\n });\r\n }\r\n\r\n this.volumeCompensation = pay + payTeam;\r\n return this.volumeCompensation;\r\n }\r\n\r\n getMilestoneCompensation(milestones: Array, volumeGoal: number): number {\r\n let pay = 0;\r\n milestones.forEach((value) => {\r\n if (volumeGoal >= value.sales) {\r\n pay = pay + value.payout;\r\n }\r\n });\r\n return pay;\r\n }\r\n\r\n getBuyerAverage(tiers?: Array, tiersTeam?: Array, targetBuyers?: number, targetBuyersTeam?: number) {\r\n\r\n const twelve = 12;\r\n let buyerBonus = 0;\r\n if (tiers != null) {\r\n const targetArray = tiers.filter(x => x.averageBuyers <= targetBuyers);\r\n const maxaverageBuyer = Math.max.apply(Math, targetArray.map(function (o) { return o.averageBuyers; }));\r\n const maxbuyerTier = targetArray.filter(x => x.averageBuyers === maxaverageBuyer);\r\n buyerBonus = Number(maxbuyerTier.map(function (o) { return o.payout; }));\r\n }\r\n\r\n let buyerBonusTeam = 0;\r\n if (tiersTeam != null) {\r\n const targetArrayTeam = tiersTeam.filter(x => x.averageBuyers <= targetBuyersTeam);\r\n const maxaverageBuyerTeam = Math.max.apply(Math, targetArrayTeam.map(function (o) { return o.averageBuyers; }));\r\n const maxbuyerTierTeam = targetArrayTeam.filter(x => x.averageBuyers === maxaverageBuyerTeam);\r\n buyerBonusTeam = Number(maxbuyerTierTeam.map(function (o) { return o.payout; }));\r\n }\r\n\r\n this.buyerAverage = buyerBonus * twelve + buyerBonusTeam * twelve;\r\n return this.buyerAverage;\r\n }\r\n\r\n\r\n\r\n\r\n getTotalProjectedPay(payPlan: EUPayPlanDto) {\r\n const total = payPlan.basePay\r\n + payPlan.profitBonusAmount\r\n + this.buyerAverage\r\n + this.volumeCompensation;\r\n return total;\r\n\r\n }\r\n}\r\n","import { Component, OnInit, OnDestroy, Input, Output, EventEmitter } from '@angular/core';\r\nimport { SalesMilestone } from './../../../models/incoming-dtos/sales-milestone';\r\nimport { HelperMethodsService } from '../../../shared/services/helper-methods.service';\r\n\r\n@Component({\r\n selector: 'scoreboard-milestone',\r\n templateUrl: './milestone.component.html',\r\n styleUrls: ['./milestone.component.scss']\r\n})\r\nexport class MilestoneComponent implements OnInit {\r\n @Input() milestoneData: Array;\r\n @Input() payPlanId: number;\r\n @Input() mileStoneSalesVolume: number;\r\n @Input() currency: string;\r\n newMilestone: SalesMilestone = { id: 0, sales: 0, payout: 0, payPlanId: 0, recordStatus: false };\r\n indexToRemove: number;\r\n alert: string;\r\n alertText: string;\r\n @Output() isDirty = new EventEmitter();\r\n @Output() updatedMileStone = new EventEmitter>();\r\n\r\n constructor(public helperMethods: HelperMethodsService) {\r\n\r\n }\r\n\r\n ngOnInit() { }\r\n\r\n public addMilestone() {\r\n const mileStoneExists = this.milestoneData.filter(x => x.sales === this.newMilestone.sales);\r\n\r\n if (this.helperMethods.isNumberNullOrUndefined(this.newMilestone.sales) || this.helperMethods.isNumberNullOrUndefined(this.newMilestone.payout)) {\r\n this.setAlert('Please enter a number');\r\n } else {\r\n if (mileStoneExists.length === 0) {\r\n this.milestoneData.push({ sales: this.newMilestone.sales, payout: this.newMilestone.payout, payPlanId: this.payPlanId, id: 0, recordStatus: true });\r\n this.milestoneData.sort((n1, n2) => n1.sales - n2.sales);\r\n this.newMilestone = { id: 0, sales: 0, payout: 0, payPlanId: 0, recordStatus: false };\r\n this.resetAlert();\r\n this.updatedMileStone.emit(this.milestoneData);\r\n } else {\r\n this.setAlert('Milestone already exists!');\r\n }\r\n }\r\n\r\n this.isDirty.emit(true);\r\n }\r\n\r\n\r\n resetAlert() {\r\n this.alert = '';\r\n this.alertText = '';\r\n }\r\n setAlert(alertxt: string) {\r\n this.alert = 'alert alert-danger';\r\n this.alertText = alertxt;\r\n }\r\n\r\n removeMilestone(sales) {\r\n const result = this.milestoneData.filter(m => m.sales !== sales);\r\n this.milestoneData = result;\r\n this.updatedMileStone.emit(this.milestoneData);\r\n this.isDirty.emit(true);\r\n }\r\n\r\n getTargetMileStone(milestone: SalesMilestone) {\r\n const targetArray = this.milestoneData.filter(x => x.sales <= this.mileStoneSalesVolume);\r\n const max = Math.max.apply(Math, targetArray.map(function (o) { return o.sales; }));\r\n if (milestone.sales === max) {\r\n return 'my-1 text-center text-success';\r\n } else {\r\n return 'my-0 text-center';\r\n }\r\n }\r\n}\r\n","import { Component, OnInit, OnDestroy, Input, Output, EventEmitter } from '@angular/core';\r\nimport { SalesMilestone } from './../../../models/incoming-dtos/sales-milestone';\r\nimport { HelperMethodsService } from '../../../shared/services/helper-methods.service';\r\n\r\n@Component({\r\n selector: 'scoreboard-team-milestone',\r\n templateUrl: './team-milestone.component.html',\r\n styleUrls: ['./team-milestone.component.scss']\r\n})\r\nexport class TeamMilestoneComponent implements OnInit {\r\n @Input() milestoneDataTeam: Array;\r\n @Input() payPlanId: number;\r\n @Input() mileStoneSalesVolumeTeam: number;\r\n @Input() currency: string;\r\n newMilestone: SalesMilestone = { id: 0, sales: 0, payout: 0, payPlanId: 0, recordStatus: false };\r\n indexToRemove: number;\r\n alert: string;\r\n alertText: string;\r\n @Output() isDirty = new EventEmitter();\r\n @Output() updatedMileStoneTeam = new EventEmitter>();\r\n\r\n constructor(public helperMethods: HelperMethodsService) {\r\n\r\n }\r\n\r\n ngOnInit() { }\r\n\r\n public addMilestone() {\r\n const mileStoneExists = this.milestoneDataTeam.filter(x => x.sales === this.newMilestone.sales);\r\n\r\n if (this.helperMethods.isNumberNullOrUndefined(this.newMilestone.sales) || this.helperMethods.isNumberNullOrUndefined(this.newMilestone.payout)) {\r\n this.setAlert('Please enter a number');\r\n } else {\r\n if (mileStoneExists.length === 0) {\r\n this.milestoneDataTeam.push({ sales: this.newMilestone.sales, payout: this.newMilestone.payout, payPlanId: this.payPlanId, id: 0, recordStatus: true });\r\n this.milestoneDataTeam.sort((n1, n2) => n1.sales - n2.sales);\r\n this.newMilestone = { id: 0, sales: 0, payout: 0, payPlanId: 0, recordStatus: false };\r\n this.resetAlert();\r\n this.updatedMileStoneTeam.emit(this.milestoneDataTeam);\r\n } else {\r\n this.setAlert('Milestone already exists!');\r\n }\r\n }\r\n\r\n this.isDirty.emit(true);\r\n }\r\n\r\n\r\n resetAlert() {\r\n this.alert = '';\r\n this.alertText = '';\r\n }\r\n setAlert(alertxt: string) {\r\n this.alert = 'alert alert-danger';\r\n this.alertText = alertxt;\r\n }\r\n\r\n removeMilestone(sales) {\r\n const result = this.milestoneDataTeam.filter(m => m.sales !== sales);\r\n this.milestoneDataTeam = result;\r\n this.updatedMileStoneTeam.emit(this.milestoneDataTeam);\r\n this.isDirty.emit(true);\r\n }\r\n\r\n getTargetMileStone(milestone: SalesMilestone) {\r\n const targetArray = this.milestoneDataTeam.filter(x => x.sales <= this.mileStoneSalesVolumeTeam);\r\n const max = Math.max.apply(Math, targetArray.map(function (o) { return o.sales; }));\r\n if (milestone.sales === max) {\r\n return 'my-1 text-center text-success';\r\n } else {\r\n return 'my-0 text-center';\r\n }\r\n }\r\n}\r\n","import { SpcBaseComponent } from './../../shared/base/spc-base.component';\r\nimport { Injectable } from '@angular/core';\r\nimport { UntypedFormGroup } from '@angular/forms';\r\nimport { PayPlan } from '../../models/incoming-dtos/payplan';\r\nimport jsPDF from 'jspdf';\r\nimport { Observable } from 'rxjs';\r\nimport { SpcTier } from '../../models/incoming-dtos/spc-tier';\r\nimport { environment } from '../../../environments/environment';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { UserService } from '../../security/user.service';\r\nimport { ErrorHandlingService } from '../../shared/services/error-handling.service';\r\nimport { CustomCurrencyPipe } from '../../shared/pipes/custom-currency.pipe';\r\nimport { catchError } from 'rxjs/operators';\r\n\r\n\r\n\r\n@Injectable()\r\nexport class PayplanFormExportService {\r\n private baseUrl: string = environment.dotNetCoreUrl + 'coreapi/PayPlan/';\r\n private isSpcEnabled: boolean = true;\r\n private isNetSpcEnabled: boolean = true;\r\n private getSpcTierUrl: string = this.baseUrl + 'spcTiers';\r\n constructor(private httpClient: HttpClient,\r\n private userService: UserService,\r\n private errorService: ErrorHandlingService,\r\n private customeCurrencyPipe: CustomCurrencyPipe) { }\r\n\r\n getSpcTiers(targetAmount: number, jobTitleId: number, targetPriceComp: number): Observable {\r\n const url = this.getSpcTierUrl + '/' + targetAmount + '/' + jobTitleId + '/' + targetPriceComp;\r\n return this.httpClient.get(url, this.userService.getHttpOptions())\r\n .pipe(\r\n catchError(this.errorService.handleError)\r\n );\r\n }\r\n\r\n exportPayPlan(payPlan: PayPlan, payPlanForm: UntypedFormGroup, selectedAdditionalTarget: string, \r\n payPlanGrossSpcTiers: SpcTier[], payPlanNetSpcTiers: SpcTier[], isSpcEnabled: boolean, isNetSpcEnabled: boolean) {\r\n this.isSpcEnabled = isSpcEnabled;\r\n this.isNetSpcEnabled = isNetSpcEnabled;\r\n const pdfDoc = new jsPDF();\r\n /* BEGIN HEADER*/\r\n pdfDoc.setFontSize(11);\r\n // setFontStyle has been removed as of jsPDF 2.0.0\r\n pdfDoc.setFont('Times', 'bold');\r\n pdfDoc.text('Pay Plan Quotation', 90, 10);\r\n pdfDoc.setFont('Times','normal');\r\n pdfDoc.setFontSize(10);\r\n pdfDoc.text(payPlan.employee.firstName + ' ' + payPlan.employee.lastName + ' (' + payPlan.employee.jobTitle + ')', 40, 20);\r\n pdfDoc.text('Effective Date:', 140, 20);\r\n pdfDoc.setLineWidth(1);\r\n pdfDoc.lines([[0, 0], [35, 0]], 165, 21);\r\n pdfDoc.lines([[0, 0], [190, 0]], 10, 25);\r\n pdfDoc.setLineWidth(0.1);\r\n /* END HEADER */\r\n\r\n pdfDoc.text('Target Comp', 25, 35);\r\n pdfDoc.lines([[0, 0], [21, 0]], 25, 35.5);\r\n pdfDoc.text('$' + payPlanForm.value.targetCompensation, 48, 35);\r\n pdfDoc.text('Vaca Pay', 30, 45);\r\n pdfDoc.lines([[0, 0], [15, 0]], 30, 45.5);\r\n pdfDoc.text('$' + payPlanForm.value.vacationPay, 48, 45);\r\n pdfDoc.text('Target Comp w/o Vaca', 10, 55);\r\n pdfDoc.lines([[0, 0], [36, 0]], 10, 55.5);\r\n pdfDoc.text('$' + payPlanForm.value.targetCompWithoutVac, 48, 55);\r\n pdfDoc.text('Base', 38, 65);\r\n pdfDoc.lines([[0, 0], [8, 0]], 38, 65.5);\r\n pdfDoc.text('$' + payPlanForm.value.basePay, 48, 65);\r\n pdfDoc.text('Target Production', 18, 75);\r\n pdfDoc.lines([[0, 0], [28, 0]], 18, 75.5);\r\n pdfDoc.text('$' + payPlanForm.value.targetProduction, 48, 75);\r\n pdfDoc.text('Target Profit', 26, 85);\r\n pdfDoc.lines([[0, 0], [20, 0]], 26, 85.5);\r\n pdfDoc.text('Amt', 36, 90);\r\n pdfDoc.text('$' + payPlanForm.value.profitBonusAmount, 44, 90);\r\n pdfDoc.text('Pct', 37, 95);\r\n pdfDoc.text(this.customeCurrencyPipe.transform(payPlanForm.value.profitBonusPercent, '1.5-5') + '%', 44, 95);\r\n\r\n /* BEGIN SALES VOLUME SECTION */\r\n pdfDoc.text('Sales Volume', 95, 35);\r\n pdfDoc.lines([[0, 0], [12, 0]], 95, 35.5);\r\n pdfDoc.text('Annual Volume', 83, 40);\r\n pdfDoc.text(this.customeCurrencyPipe.transform(payPlanForm.value.salesVolumeTarget, '1.0-0'), 110, 40);\r\n pdfDoc.text('Per Unit', 94, 48);\r\n pdfDoc.text('$' + payPlanForm.value.salesVolumePayPerUnit, 110, 48);\r\n pdfDoc.text('Pay/Year', 92, 55);\r\n pdfDoc.text('$' + payPlanForm.value.salesVolumePayout, 110, 55);\r\n\r\n /* END SALES VOLUME SECTION */\r\n if (this.isSpcEnabled) {\r\n pdfDoc.text('Pricing', 96, 65);\r\n \r\n pdfDoc.lines([[0, 0], [11, 0]], 96, 65.5);\r\n\r\n \r\n pdfDoc.text('SPC By ' + this.getTargetSpcType(payPlanForm.value.targetSpcType), 110, 65);\r\n }\r\n\r\n /* BEGIN PURCHASE VOLUME SECTION */\r\n // pdfDoc.text('Purchase Volume', 96, 65);\r\n // pdfDoc.lines([[0, 0], [26, 0]], 96, 65.5);\r\n // pdfDoc.text('Annual Volume', 83, 70);\r\n // pdfDoc.text(this.customeCurrencyPipe.transform(payPlanForm.value.purchaseVolumeTarget, '1.0-0'), 110, 70);\r\n // pdfDoc.text('Per Unit', 95, 78);\r\n // pdfDoc.text('$' + payPlanForm.value.purchaseVolumePayPerUnit, 110, 78);\r\n // pdfDoc.text('Pay/Year', 93, 85);\r\n // pdfDoc.text('$' + payPlanForm.value.purchaseVolumePayout, 110, 85);\r\n\r\n /* END PURCHASE VOLUME SECTION */\r\n\r\n /* BEGIN % PRODUCTION PAY SECTION */\r\n pdfDoc.text('% Production Pay', 150, 35);\r\n pdfDoc.lines([[0, 0], [28, 0]], 150, 35.5);\r\n pdfDoc.text('Profit %', 162, 40);\r\n pdfDoc.text(payPlanForm.value.profitPercent, 177, 40);\r\n pdfDoc.text('Sales Vol %', 156, 46);\r\n pdfDoc.text(payPlanForm.value.volumePercent, 177, 46);\r\n // pdfDoc.text('Purchase Vol %', 150, 51);\r\n // pdfDoc.text(payPlanForm.value.purchasePercent, 177, 51);\r\n if (this.isSpcEnabled) {\r\n pdfDoc.text('SPC %', 163, 53);\r\n pdfDoc.text(payPlanForm.value.spcPercent, 177, 53);\r\n }\r\n switch (selectedAdditionalTarget) {\r\n case '1': \r\n pdfDoc.text('Delete to Sale Days %', 141, 58);\r\n pdfDoc.text(payPlanForm.value.dispositionPercent, 177, 58);\r\n break;\r\n case '2':\r\n pdfDoc.text('Aged %', 162, 58);\r\n pdfDoc.text(payPlanForm.value.agedPercentagePercent, 177, 58);\r\n break;\r\n case '3':\r\n pdfDoc.text('Local Boost % of DR Fleet', 135, 58);\r\n pdfDoc.text(payPlanForm.value.localBoostPercent, 177, 58);\r\n break; \r\n \r\n case '4':\r\n pdfDoc.text('Purchase Volume %', 145, 58);\r\n pdfDoc.text(payPlanForm.value.purchasePercent, 177, 58);\r\n break; \r\n\r\n case '5': \r\n pdfDoc.text('Dealer Sold To %', 145, 58);\r\n pdfDoc.text(payPlanForm.value.dealerSoldToAllPercent, 177, 58);\r\n break;\r\n default:\r\n break;\r\n }\r\n pdfDoc.text('Total %', 162, 64);\r\n pdfDoc.text(payPlanForm.value.totalPercent, 177, 64);\r\n /* END % PRODUCTION PAY SECTION */\r\n\r\n if (this.isSpcEnabled) {\r\n pdfDoc.text('Target Price Comp', 78, 75);\r\n pdfDoc.lines([[0, 0], [30, 0]], 78, 75.5);\r\n pdfDoc.text('$' + payPlanForm.value.spcPayout, 110, 75);\r\n\r\n pdfDoc.text('Base Tier', 92, 85);\r\n pdfDoc.lines([[0, 0], [15, 0]], 92, 85.5);\r\n pdfDoc.text('Gross', 97, 90);\r\n pdfDoc.text(payPlanForm.value.grossSpcTarget == null ? '0' : payPlanForm.value.grossSpcTarget.toString(), 110, 90);\r\n if (payPlan.employee.isManager && isNetSpcEnabled) {\r\n pdfDoc.text('Net', 101, 95);\r\n pdfDoc.text(payPlanForm.value.netSpcTarget == null ? '0' : payPlanForm.value.netSpcTarget.toString(), 110, 95);\r\n }\r\n }\r\n pdfDoc.text('Additional Target', 81, 100+10);\r\n pdfDoc.lines([[0, 0], [27, 0]], 81, 100.5+10);\r\n switch (selectedAdditionalTarget) {\r\n case '1':\r\n pdfDoc.text('Delete to Sale Days Target', 65, 105+10);\r\n pdfDoc.text(payPlanForm.value.daysToDispositionTarget, 110, 105+10);\r\n pdfDoc.text('Anticipated Monthly Payout', 65, 110+10);\r\n const daysToDispositionPayoutNumber = payPlanForm.value.daysToDispositionPayout.replace(/[^\\d.]/g, '');\r\n pdfDoc.text('$' + this.customeCurrencyPipe.transform((+daysToDispositionPayoutNumber / 12), '1.2-2'), 110, 110+10);\r\n break;\r\n case '2':\r\n pdfDoc.text('Aged % Target', 84, 105+10);\r\n pdfDoc.text(payPlanForm.value.agedPercentageTarget + '%', 110, 105+10);\r\n pdfDoc.text('Anticipated Monthly Payout', 65, 110+10);\r\n const agedPercentagePayoutNumber = payPlanForm.value.agedPercentagePayout.replace(/[^\\d.]/g, '');\r\n pdfDoc.text('$' + this.customeCurrencyPipe.transform((+agedPercentagePayoutNumber / 12), '1.2-2'), 110, 110+10);\r\n break;\r\n case '3':\r\n pdfDoc.text('Local Boost % Target', 74, 105+10);\r\n pdfDoc.text(payPlanForm.value.localBoostPercentTarget + '%', 110, 105+10);\r\n pdfDoc.text('Anticipated Monthly Payout', 65, 110+10);\r\n const localBoostPercentagePayoutNumber = payPlanForm.value.localBoostPercentPayout.replace(/[^\\d.]/g, '');\r\n pdfDoc.text('$' + this.customeCurrencyPipe.transform((+localBoostPercentagePayoutNumber / 12), '1.2-2'), 110, 110+10);\r\n break; \r\n case '4':\r\n pdfDoc.text('Purchase Volume', 84, 105+10);\r\n pdfDoc.text(payPlanForm.value.purchaseVolumeTarget, 110, 105+10);\r\n pdfDoc.text('Per Unit', 95, 110+10);\r\n pdfDoc.text('$' + payPlanForm.value.purchaseVolumePayPerUnit, 110, 110+10);\r\n /* BEGIN PURCHASE VOLUME SECTION */\r\n // pdfDoc.text('Purchase Volume', 96, 65);\r\n // pdfDoc.lines([[0, 0], [26, 0]], 96, 65.5);\r\n // pdfDoc.text('Annual Volume', 83, 70);\r\n // pdfDoc.text(this.customeCurrencyPipe.transform(payPlanForm.value.purchaseVolumeTarget, '1.0-0'), 110, 70);\r\n // pdfDoc.text('Per Unit', 95, 78);\r\n // pdfDoc.text('$' + payPlanForm.value.purchaseVolumePayPerUnit, 110, 78);\r\n // pdfDoc.text('Pay/Year', 93, 85);\r\n // pdfDoc.text('$' + payPlanForm.value.purchaseVolumePayout, 110, 85);\r\n pdfDoc.text('Anticipated Monthly Payout', 65, 115+10);\r\n const purchasevolPayoutNumber = payPlanForm.value.purchaseVolumePayout.replace(/[^\\d.]/g, '');\r\n pdfDoc.text('$' + this.customeCurrencyPipe.transform((+purchasevolPayoutNumber / 12), '1.2-2'), 110, 115+10);\r\n break; \r\n \r\n case '5':\r\n pdfDoc.text('Dealer Sold To', 74, 105+10);\r\n pdfDoc.text(payPlanForm.value.dealerSoldToAllTarget, 110, 105+10);\r\n pdfDoc.text('Anticipated Monthly Payout', 65, 110+10);\r\n const dealerSoldToAllPayoutNumber = payPlanForm.value.dealerSoldToAllPayout.replace(/[^\\d.]/g, '');\r\n pdfDoc.text('$' + this.customeCurrencyPipe.transform((+dealerSoldToAllPayoutNumber / 12), '1.2-2'), 110, 110+10);\r\n break; \r\n default:\r\n break;\r\n }\r\n\r\n /* BEGIN SUMMARY SECTION */\r\n pdfDoc.text('Summary', 163, 70);\r\n pdfDoc.lines([[0, 0], [15, 0]], 163, 70.5);\r\n pdfDoc.text('Base', 165, 75);\r\n pdfDoc.text('$' + payPlanForm.value.baseSummary, 180, 75);\r\n pdfDoc.text('Vacation', 159, 80);\r\n pdfDoc.text('$' + payPlanForm.value.vacationSummary, 180, 80);\r\n pdfDoc.text('Profit', 164, 85);\r\n pdfDoc.text('$' + payPlanForm.value.profitSummary, 180, 85);\r\n pdfDoc.text('Sales Vol Pay', 152, 90);\r\n pdfDoc.text('$' + payPlanForm.value.volumePaySummary, 180, 90);\r\n\r\n pdfDoc.setLineWidth(1);\r\n let additionalY = 100;\r\n\r\n if (this.isSpcEnabled) \r\n {\r\n pdfDoc.text('Spc', 166, additionalY-5);\r\n pdfDoc.text('$' + payPlanForm.value.spcSummary, 180, additionalY-5);\r\n }\r\n switch (selectedAdditionalTarget) {\r\n\r\n case '1':\r\n pdfDoc.text('Delete to Sale Days', 141, additionalY);\r\n pdfDoc.text('$' + payPlanForm.value.daysToDispositionPayout, 180, additionalY);\r\n pdfDoc.lines([[0, 0], [60, 0]], 138, additionalY+1.5);\r\n this.AddTotal(pdfDoc, payPlanForm);\r\n break;\r\n case '2':\r\n pdfDoc.text('Aged', 165, additionalY);\r\n pdfDoc.text('$' + payPlanForm.value.agedPercentageSummary, 180, additionalY);\r\n pdfDoc.lines([[0, 0], [60, 0]], 138, additionalY+1.5);\r\n this.AddTotal(pdfDoc, payPlanForm);\r\n break;\r\n case '3':\r\n pdfDoc.text('Local Boost', 155, additionalY);\r\n pdfDoc.text('$' + payPlanForm.value.localBoostPercentSummary, 180, additionalY);\r\n pdfDoc.lines([[0, 0], [60, 0]], 138, additionalY+1.5);\r\n this.AddTotal(pdfDoc, payPlanForm);\r\n break;\r\n case '4':\r\n pdfDoc.text('Purch. Vol', 155, additionalY);\r\n pdfDoc.text('$' + payPlanForm.value.purchaseVolumePaySummary, 180, additionalY);\r\n pdfDoc.lines([[0, 0], [60, 0]], 138, additionalY+1.5);\r\n this.AddTotal(pdfDoc, payPlanForm);\r\n break; \r\n \r\n case '5':\r\n pdfDoc.text('Dealer Sold', 155, additionalY);\r\n pdfDoc.text('$' + payPlanForm.value.dealerSoldToAllPercentSummary, 180, additionalY);\r\n pdfDoc.lines([[0, 0], [60, 0]], 138, additionalY+1.5);\r\n this.AddTotal(pdfDoc, payPlanForm);\r\n \r\n break; \r\n default:\r\n break;\r\n }\r\n /* END SUMMARY SECTION */\r\n\r\n /* BEGIN FOOTER */\r\n pdfDoc.text('Approved By:', 10, 250);\r\n pdfDoc.lines([[0, 0], [80, 0]], 32, 251);\r\n pdfDoc.text('Date:', 130, 250);\r\n pdfDoc.lines([[0, 0], [58, 0]], 140, 251);\r\n pdfDoc.text('Next level of management:', 10, 260);\r\n pdfDoc.lines([[0, 0], [60, 0]], 52, 261);\r\n pdfDoc.text('Date:', 130, 260);\r\n pdfDoc.lines([[0, 0], [58, 0]], 140, 261);\r\n pdfDoc.setLineWidth(0.1);\r\n pdfDoc.text('This is confidential material. For internal use only.', 65, 290);\r\n /* END FOOTER */\r\n \r\n if (this.isSpcEnabled) {\r\n pdfDoc.setFont('Times', 'bold');\r\n\r\n pdfDoc.text('Gross SPC', 10, 120+10);\r\n \r\n pdfDoc.lines([[0, 0], [18, 0]], 10, 120.5+10);\r\n pdfDoc.setFont('Times', 'normal');\r\n pdfDoc.text('Bonus Tier Range', 10, 125+10);\r\n pdfDoc.lines([[0, 0], [28, 0]], 10, 125.5+10);\r\n pdfDoc.text('Annual Pay', 50, 125+10);\r\n pdfDoc.lines([[0, 0], [18, 0]], 50, 125.5+10);\r\n pdfDoc.text('Anticipated', 80, 125+10);\r\n pdfDoc.lines([[0, 0], [18, 0]], 80, 125.5+10);\r\n pdfDoc.setFillColor('0.80');\r\n pdfDoc.rect(10, 131+10, 38, 95, 'F');\r\n pdfDoc.text('Start', 10, 130+10);\r\n pdfDoc.lines([[0, 0], [8, 0]], 10, 130.5+10);\r\n pdfDoc.text('End', 28, 130+10);\r\n pdfDoc.lines([[0, 0], [6, 0]], 28, 130.5+10);\r\n pdfDoc.text('Per Tier', 50, 130+10);\r\n pdfDoc.lines([[0, 0], [13, 0]], 50, 130.5+10);\r\n pdfDoc.text('Monthly', 80, 130+10);\r\n pdfDoc.lines([[0, 0], [12, 0]], 80, 130.5+10);\r\n\r\n let endPosY = 135+10;\r\n\r\n payPlanGrossSpcTiers.forEach(element => {\r\n if (element.start.endsWith(')')) {\r\n pdfDoc.setTextColor(255, 0, 0);\r\n } else {\r\n pdfDoc.setTextColor(0, 0, 0);\r\n }\r\n\r\n if (element.selected) {\r\n pdfDoc.setFillColor(0, 0, 1, 0);\r\n pdfDoc.rect(10, endPosY - 4.4, 93, 6, 'DF');\r\n }\r\n pdfDoc.text(element.start, 10, endPosY);\r\n pdfDoc.text(element.end, 28, endPosY);\r\n //pdfDoc.text(element.perTier, 28, endPosY);\r\n pdfDoc.text(element.perTier.toString(), 50, endPosY);\r\n pdfDoc.text(element.monthly.toString(), 80, endPosY);\r\n\r\n endPosY += 5;\r\n });\r\n\r\n if (payPlan.employee.isManager && this.isNetSpcEnabled) {\r\n pdfDoc.setTextColor(0, 0, 0);\r\n pdfDoc.setFont('Times', 'bold');\r\n pdfDoc.text('Net SPC', 110, 120+10);\r\n pdfDoc.lines([[0, 0], [18, 0]], 110, 120.5+10);\r\n pdfDoc.setFont('Times', 'normal');\r\n pdfDoc.text('Bonus Tier Range', 110, 125+10);\r\n pdfDoc.lines([[0, 0], [28, 0]], 110, 125.5+10);\r\n pdfDoc.text('Annual Pay', 150, 125+10);\r\n pdfDoc.lines([[0, 0], [18, 0]], 150, 125.5+10);\r\n pdfDoc.text('Anticipated', 180, 125+10);\r\n pdfDoc.lines([[0, 0], [18, 0]], 180, 125.5+10);\r\n pdfDoc.setFillColor('0.80');\r\n pdfDoc.rect(110, 131+10, 38, 95, 'F');\r\n pdfDoc.text('Start', 110, 130+10);\r\n pdfDoc.lines([[0, 0], [8, 0]], 110, 130.5+10);\r\n pdfDoc.text('End', 128, 130+10);\r\n pdfDoc.lines([[0, 0], [6, 0]], 128, 130.5+10);\r\n pdfDoc.text('Per Tier', 150, 130+10);\r\n pdfDoc.lines([[0, 0], [13, 0]], 150, 130.5+10);\r\n pdfDoc.text('Monthly', 180, 130+10);\r\n pdfDoc.lines([[0, 0], [12, 0]], 180, 130.5+10);\r\n\r\n endPosY = 135+10;\r\n\r\n payPlanNetSpcTiers.forEach(element => {\r\n if (element.start.endsWith(')')) {\r\n pdfDoc.setTextColor(255, 0, 0);\r\n } else {\r\n pdfDoc.setTextColor(0, 0, 0);\r\n }\r\n\r\n if (element.selected) {\r\n pdfDoc.setFillColor(0, 0, 1, 0);\r\n pdfDoc.rect(110, endPosY - 4.4, 93, 6, 'DF');\r\n }\r\n pdfDoc.text(element.start, 110, endPosY);\r\n pdfDoc.text(element.end, 128, endPosY);\r\n pdfDoc.text(element.perTier.toString(), 150, endPosY);\r\n pdfDoc.text(element.monthly.toString(), 180, endPosY);\r\n\r\n endPosY += 5;\r\n });\r\n }\r\n }\r\n pdfDoc.save('ExportPayPlan.pdf');\r\n }\r\n\r\n public AddTotal(pdfDoc: any, payPlanForm: UntypedFormGroup) {\r\n pdfDoc.text('Total', 164, 110);\r\n pdfDoc.text('$' + payPlanForm.value.totalSummary, 180, 110);\r\n }\r\n\r\n getTargetSpcType(targetSpcType: string): string {\r\n let value = '';\r\n switch (targetSpcType) {\r\n case '1':\r\n value = 'Country';\r\n break;\r\n case '2':\r\n value = 'Market';\r\n break;\r\n default:\r\n break;\r\n }\r\n\r\n return value;\r\n }\r\n}\r\n","import { Component, Input, Output, EventEmitter, ViewChildren, ElementRef, OnChanges } from '@angular/core';\r\nimport { UntypedFormGroup, UntypedFormControl, FormControlName } from '@angular/forms';\r\nimport { PayPlan } from '../../models/incoming-dtos/payplan';\r\nimport { VacationDaysType } from '../../models/incoming-dtos/vacation-days-type';\r\nimport { SpcType } from '../../models/enums/spc-type';\r\nimport { DatePipe } from '@angular/common';\r\nimport { GenericValidator } from '../../shared/validators/generic-validator';\r\nimport { Observable, Subscription, fromEvent, merge } from 'rxjs';\r\nimport { PayplanFormService } from './payplan-form.service';\r\nimport { PayPlanSaveDto } from '../../models/outgoing-dtos/payplan-save-dto';\r\nimport { User } from '../../security/user';\r\nimport { LoadingSpinnerService } from '../../shared/loading-spinner/loading-spinner.service';\r\nimport { PayplanFormExportService } from './payplan-form-export.service';\r\nimport { SpcTier } from '../../models/incoming-dtos/spc-tier';\r\nimport { SubscriptionService } from '../../shared/services/subscription.service';\r\nimport { SecuredObjectService } from '../../security/secured-object.service';\r\nimport { AppInsightsService } from '../../shared/services/app-insights.service';\r\nimport { finalize, debounceTime } from 'rxjs/operators';\r\nimport { SpcBaseComponent } from '../../../app/shared/base/spc-base.component';\r\n\r\n@Component({\r\n selector: 'scoreboard-payplan-form',\r\n templateUrl: './payplan-form.component.html',\r\n styleUrls: ['./payplan-form.component.scss']\r\n})\r\nexport class PayplanFormComponent extends SpcBaseComponent implements OnChanges {\r\n @ViewChildren(FormControlName, { read: ElementRef }) formInputElements: ElementRef[];\r\n @Input() payPlan: PayPlan;\r\n @Input() user: User;\r\n @Input() level: string;\r\n @Input() levelValue: string;\r\n @Input() month: number;\r\n @Input() year: number;\r\n @Output() onSavePayPlan: EventEmitter;\r\n\r\n payPlanForm: UntypedFormGroup;\r\n vacationDaysTypes: VacationDaysType[];\r\n grossSpcTargetValues: string[];\r\n netSpcTargetValues: string[];\r\n pipe = new DatePipe('en-US');\r\n selectedAdditionalTarget = '1';\r\n payPlanGrossSpcTiers$ = new Observable();\r\n payPlanNetSpcTiers$ = new Observable();\r\n payPlanDto = new PayPlanSaveDto();\r\n isPayPlanLocked = false;\r\n saveButtonText = 'Save';\r\n\r\n // Use with the generic validation message class\r\n displayMessage: { [key: string]: string } = {};\r\n validationMessages: { [key: string]: { [key: string]: string } };\r\n genericValidator: GenericValidator;\r\n payPlanGrossSpcTiers = new Array();\r\n payPlanNetSpcTiers = new Array();\r\n payPlanGrossSpcTiersSubscription = new Subscription();\r\n payPlanNetSpcTiersSubscription = new Subscription();\r\n\r\n constructor(private payplanFormSvc: PayplanFormService,\r\n private payPlanFormExportSvc: PayplanFormExportService,\r\n private subscribeService: SubscriptionService,\r\n private loadingSpinnerSvc: LoadingSpinnerService,\r\n public secObjService: SecuredObjectService,\r\n public appInsights: AppInsightsService) {\r\n super(appInsights);\r\n this.onSavePayPlan = new EventEmitter();\r\n this.initializeValidationMessages();\r\n }\r\n\r\n\r\n ngOnChanges() {\r\n this.setupPayPlanForm();\r\n this.checkIfPayPlanLocked();\r\n }\r\n\r\n checkIfPayPlanLocked() {\r\n if (this.payPlan.locked) {\r\n this.isPayPlanLocked = true;\r\n this.saveButtonText = 'Locked';\r\n } else {\r\n this.isPayPlanLocked = false;\r\n this.saveButtonText = 'Save';\r\n }\r\n }\r\n\r\n initializeValidationMessages() {\r\n // Defines all of the validation messages for the form.\r\n this.validationMessages = this.payplanFormSvc.getPayPlanValidationMessages();\r\n\r\n // Define an instance of the validator for use with this form,\r\n // passing in this form's set of validation messages.\r\n this.genericValidator = new GenericValidator(this.validationMessages);\r\n }\r\n\r\n setupPayPlanForm() {\r\n this.setPayPlanDefaults();\r\n this.payPlanForm = this.payplanFormSvc.getPayPlanFormDefinition(this.payPlan.employee.groupName);\r\n this.setDropDownValues();\r\n this.payplanFormSvc.mapPayPlanForm(this.payPlan, this.payPlanForm);\r\n this.recalcFormValues();\r\n }\r\n\r\n setDropDownValues() {\r\n this.vacationDaysTypes = this.payPlan.availableVacationDayTypes;\r\n if (this.isSpcEnabled) {\r\n this.grossSpcTargetValues = this.payPlan.availableSpcTargets;\r\n this.netSpcTargetValues = this.payPlan.availableSpcTargets;\r\n }\r\n else {\r\n this.grossSpcTargetValues = ['0']; \r\n this.netSpcTargetValues = ['0']; \r\n }\r\n }\r\n\r\n setPayPlanDefaults() {\r\n \r\n if (this.isSpcEnabled) {\r\n this.payPlan.targetSpcType = SpcType.country;\r\n }\r\n\r\n if (this.payPlan.vacationDaysTypeId === 0) {\r\n this.payPlan.vacationDaysTypeId = this.payPlan.availableVacationDayTypes[0].id;\r\n }\r\n\r\n if (this.payPlan.employee != null && this.payPlan.employee != undefined) {\r\n if (this.payPlan.employee.salesManager == null || this.payPlan.employee.salesManager == undefined) {\r\n this.payPlan.employee.salesManager = 'Unassigned';\r\n }\r\n }\r\n\r\n\r\n if (Number(this.payPlan.purchaseVolumePayPerUnit) > 0) {\r\n this.selectedAdditionalTarget = '4';\r\n }\r\n else if (this.isPayAgedPercentEnabled && this.payPlan.agedPercentagePayout > 0) {\r\n this.selectedAdditionalTarget = '2';\r\n }\r\n else if (this.isPayLocalBoostEnabled && Number(this.payPlan.localBoostPercentPayout) > 0) {\r\n this.selectedAdditionalTarget = '3';\r\n }\r\n else if (Number(this.payPlan.dealerSoldToAllPayout) > 0) {\r\n this.selectedAdditionalTarget = '5';\r\n }\r\n else {\r\n this.selectedAdditionalTarget = '1';\r\n } \r\n \r\n }\r\n\r\n recalcFormValues() {\r\n this.payplanFormSvc.recalcPayPlanFormValues(this.payPlanForm);\r\n this.validateAllFields();\r\n this.gatherValidationMessages();\r\n }\r\n\r\n clearAdditionalTargets() {\r\n this.payPlanForm.patchValue({\r\n quadGrowthTarget: '0',\r\n quadGrowthPayout: '0',\r\n dealersSoldToGrowthTarget: '0',\r\n dealersSoldToGrowthPayout: '0',\r\n daysToDispositionTarget: '0',\r\n daysToDispositionPayout: '0',\r\n agedPercentageTarget: '0',\r\n agedPercentagePayout: '0',\r\n localBoostPercentTarget: '0',\r\n localBoostPercentPayout: '0',\r\n purchaseVolumeTarget: '0',\r\n purchaseVolumePayPerUnit : '0',\r\n dealerSoldToAllTarget : '0',\r\n dealerSoldToAllPayout : '0' \r\n \r\n });\r\n\r\n this.recalcFormValues();\r\n }\r\n\r\n validateAllFields() {\r\n Object.keys(this.payPlanForm.controls).forEach(field => {\r\n const control = this.payPlanForm.get(field);\r\n if (control instanceof UntypedFormControl) {\r\n control.markAsTouched({ onlySelf: true });\r\n } else if (control instanceof UntypedFormGroup) {\r\n this.validateAllFields();\r\n }\r\n });\r\n }\r\n\r\n gatherValidationMessages() {\r\n if (this.formInputElements != null) {\r\n // Watch for the blur event from any input element on the form.\r\n const controlBlurs: Observable[] = this.formInputElements\r\n .map((formControl: ElementRef) => fromEvent(formControl.nativeElement, 'blur'));\r\n\r\n // Merge the blur event observable with the valueChanges observable\r\n merge(this.payPlanForm.valueChanges, ...controlBlurs).pipe(\r\n debounceTime(0)).subscribe(value => {\r\n this.displayMessage = this.genericValidator.processMessages(this.payPlanForm);\r\n });\r\n }\r\n }\r\n\r\n onSave() {\r\n this.loadingSpinnerSvc.turnSpinnerOn('Saving...');\r\n this.payPlanDto = this.payplanFormSvc.buildSaveDto(this.payPlanForm, this.user, this.payPlan);\r\n this.payPlanForm.reset(this.payPlanForm.value);\r\n this.onSavePayPlan.emit(this.payPlanDto);\r\n }\r\n\r\n onExport() {\r\n \r\n this.loadingSpinnerSvc.turnSpinnerOn('Loading...');\r\n this.payPlanGrossSpcTiers$ = this.payPlanFormExportSvc.getSpcTiers(this.payPlanForm.value.grossSpcTarget, this.payPlan.employee.jobCodeId, this.payPlan.grossSpcPayout);\r\n this.subscribeToPayPlanSpcTiers();\r\n \r\n }\r\n\r\n subscribeToPayPlanSpcTiers() {\r\n this.payPlanGrossSpcTiersSubscription.unsubscribe();\r\n\r\n \r\n this.payPlanGrossSpcTiersSubscription = this.payPlanGrossSpcTiers$\r\n .subscribe(\r\n payPlanSpcTiers => {\r\n this.payPlanGrossSpcTiers = payPlanSpcTiers;\r\n this.payPlanNetSpcTiers$ = this.payPlanFormExportSvc.getSpcTiers(this.payPlanForm.value.netSpcTarget, this.payPlan.employee.jobCodeId, this.payPlan.netSpcPayout);\r\n this.subscribeToPayPlanNetSpcTiers();\r\n },\r\n err => {\r\n this.subscribeService.onError(err);\r\n this.loadingSpinnerSvc.turnSpinnerOff();\r\n }\r\n );\r\n \r\n }\r\n\r\n subscribeToPayPlanNetSpcTiers() {\r\n this.payPlanNetSpcTiersSubscription.unsubscribe();\r\n\r\n \r\n this.payPlanNetSpcTiersSubscription = this.payPlanNetSpcTiers$\r\n .pipe(\r\n finalize(() => {\r\n this.loadingSpinnerSvc.turnSpinnerOff();\r\n })\r\n )\r\n .subscribe(\r\n payPlanSpcTiers => {\r\n this.payPlanNetSpcTiers = payPlanSpcTiers;\r\n this.payPlanFormExportSvc.exportPayPlan(this.payPlan, this.payPlanForm, this.selectedAdditionalTarget, this.payPlanGrossSpcTiers, this.payPlanNetSpcTiers, this.isSpcEnabled, this.isNetSpcEnabled);\r\n this.appInsights.logUserAction('User exported pay plan for ' + this.payPlan.employee.firstName + ' ' + this.payPlan.employee.lastName +\r\n ' for ' + this.level + ': ' + this.levelValue + ' on ' + this.month + '/' + this.year, this.user);\r\n },\r\n err => {\r\n this.subscribeService.onError(err);\r\n this.loadingSpinnerSvc.turnSpinnerOff();\r\n }\r\n );\r\n \r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { DatePipe } from '@angular/common';\r\nimport { PayPlan } from '../../models/incoming-dtos/payplan';\r\nimport { UntypedFormGroup, UntypedFormBuilder } from '@angular/forms';\r\nimport { NumberValidator } from '../../shared/validators/number-validator';\r\nimport { PayPlanSaveDto } from '../../models/outgoing-dtos/payplan-save-dto';\r\nimport { User } from '../../security/user';\r\nimport { CustomCurrencyPipe } from '../../shared/pipes/custom-currency.pipe';\r\nimport { SpcBaseComponent } from '../../../app/shared/base/spc-base.component';\r\nimport { AppInsightsService } from '../../shared/services/app-insights.service';\r\n\r\n\r\n@Injectable()\r\nexport class PayplanFormService extends SpcBaseComponent {\r\n pipe = new DatePipe('en-US');\r\n validationMessages: { [key: string]: { [key: string]: string } };\r\n requiredMessage = 'A valid value is required.';\r\n negativeMessage = 'Negative values are not allowed.';\r\n greaterThan25Message = 'Value cannot be over 25%';\r\n equal100PercentMessage = 'Must equal 100%';\r\n greaterThan70Message = 'Value cannot be over 70%';\r\n\r\n constructor(private customCurrencyPipe: CustomCurrencyPipe,\r\n private formBuilder: UntypedFormBuilder, \r\n public appInsights: AppInsightsService) {\r\n super(appInsights);\r\n }\r\n\r\n mapPayPlanForm(payPlan: PayPlan, payPlanForm: UntypedFormGroup) {\r\n payPlanForm.patchValue({\r\n targetCompensation: payPlan.targetCompensation,\r\n vacationPay: payPlan.vacationPay,\r\n vacationDaysTypeId: payPlan.vacationDaysTypeId,\r\n basePay: payPlan.basePay,\r\n profitBonusAmount: payPlan.profitBonusAmount,\r\n profitBonusPercent: payPlan.profitBonusPercent,\r\n salesVolumeTarget: payPlan.salesVolumeTarget,\r\n salesVolumePayPerUnit: payPlan.salesVolumePayPerUnit,\r\n netSpcTarget: this.isSpcEnabled ? payPlan.netSpcTarget : 0,\r\n grossSpcTarget: this.isSpcEnabled ? payPlan.grossSpcTarget : 0,\r\n spcPayout: this.isSpcEnabled ? (payPlan.grossSpcPayout + payPlan.netSpcPayout) : 0,\r\n quadGrowthTarget: payPlan.quadGrowthTarget * 100,\r\n quadGrowthPayout: payPlan.quadGrowthPayout,\r\n dealersSoldToGrowthTarget: payPlan.dealersSoldToGrowthTarget * 100,\r\n dealersSoldToGrowthPayout: payPlan.dealersSoldToGrowthPayout,\r\n daysToDispositionTarget: payPlan.daysToDispositionTarget,\r\n daysToDispositionPayout: payPlan.daysToDispositionPayout,\r\n agedPercentageTarget: this.isPayAgedPercentEnabled ? payPlan.agedPercentageTarget * 100 : 0,\r\n agedPercentagePayout: this.isPayAgedPercentEnabled ? payPlan.agedPercentagePayout : 0,\r\n localBoostPercentTarget: this.isPayLocalBoostEnabled ? payPlan.localBoostPercentTarget * 100 : 0,\r\n localBoostPercentPayout: this.isPayLocalBoostEnabled ? payPlan.localBoostPercentPayout : 0,\r\n purchaseVolumeTarget: payPlan.purchaseVolumeTarget,\r\n purchaseVolumePayPerUnit: payPlan.purchaseVolumePayPerUnit,\r\n dealerSoldToAllTarget: payPlan.dealerSoldToAllTarget,\r\n dealerSoldToAllPayout: payPlan.dealerSoldToAllPayout,\r\n targetSpcType: payPlan.targetSpcType.toString(),\r\n startDate: this.pipe.transform(payPlan.employee.hireDate, 'longDate')\r\n });\r\n }\r\n\r\n getPayPlanValidationMessages() {\r\n\r\n if (this.isNonTotalPayPlanPercentValidatorsEnabled) {\r\n this.validationMessages = {\r\n quadGrowthPercent: {\r\n greaterThan25: this.greaterThan25Message\r\n },\r\n dealerGrowthPercent: {\r\n greaterThan25: this.greaterThan25Message\r\n },\r\n dispositionPercent: {\r\n greaterThan25: this.greaterThan25Message\r\n },\r\n agedPercentagePercent: {\r\n greaterThan25: this.greaterThan25Message\r\n },\r\n volumePercent: {\r\n greaterThan70: this.greaterThan70Message\r\n }\r\n };\r\n\r\n if (this.isSpcEnabled){\r\n this.validationMessages = Object.assign(this.validationMessages, { \r\n spcPercent: {\r\n greaterThan70: this.greaterThan70Message\r\n } \r\n });\r\n } \r\n }\r\n\r\n if (this.validationMessages == null || this.validationMessages == undefined) {\r\n this.validationMessages = { \r\n totalPercent: {\r\n equal100Percent: this.equal100PercentMessage\r\n },\r\n totalPercentSummary: {\r\n equal100Percent: this.equal100PercentMessage\r\n }\r\n };\r\n }\r\n else {\r\n this.validationMessages = Object.assign(this.validationMessages, { \r\n totalPercent: {\r\n equal100Percent: this.equal100PercentMessage\r\n },\r\n totalPercentSummary: {\r\n equal100Percent: this.equal100PercentMessage\r\n }\r\n });\r\n }\r\n return this.validationMessages;\r\n }\r\n\r\n getPayPlanFormDefinition(groupName: string) {\r\n return this.formBuilder.group({\r\n targetCompensation: '0',\r\n vacationPay: '0',\r\n vacationDaysTypeId: 0,\r\n basePay: '0',\r\n profitBonusAmount: '0',\r\n profitBonusPercent: '0',\r\n salesVolumeTarget: '0',\r\n salesVolumePayPerUnit: '0',\r\n purchaseVolumeTarget: '0',\r\n purchaseVolumePayPerUnit: '0',\r\n netSpcTarget: 0,\r\n grossSpcTarget: 0,\r\n spcPayout: '0',\r\n quadGrowthTarget: '0',\r\n quadGrowthPayout: '0',\r\n dealersSoldToGrowthTarget: '0',\r\n dealersSoldToGrowthPayout: '0',\r\n daysToDispositionTarget: '0',\r\n daysToDispositionPayout: '0',\r\n agedPercentageTarget: '0',\r\n agedPercentagePayout: '0',\r\n localBoostPercentTarget: '0',\r\n localBoostPercentPayout: '0',\r\n dealerSoldToAllPayout: '0',\r\n dealerSoldToAllTarget: '0',\r\n targetSpcType: 0,\r\n startDate: '',\r\n targetCompWithoutVac: '0',\r\n targetProduction: '0',\r\n salesVolumePayout: '0',\r\n salesVolumePayoutDisplay: '0',\r\n purchaseVolumePayout: '0',\r\n profitPercent: '0',\r\n volumePercent: this.isNonTotalPayPlanPercentValidatorsEnabled ? \r\n ['0', NumberValidator.greaterThan70(groupName)] : '0',\r\n spcPercent: this.isNonTotalPayPlanPercentValidatorsEnabled ? \r\n ['0', NumberValidator.greaterThan70(groupName)] : '0',\r\n quadGrowthPercent: this.isNonTotalPayPlanPercentValidatorsEnabled ? \r\n ['0', NumberValidator.greaterThan25()] : '0',\r\n dealerGrowthPercent: this.isNonTotalPayPlanPercentValidatorsEnabled ? \r\n ['0', NumberValidator.greaterThan25()] : '0',\r\n purchasePercent: '0',\r\n dispositionPercent: '0',\r\n agedPercentagePercent: '0',\r\n localBoostPercent: '0',\r\n totalPercent: ['0', NumberValidator.equal100Percent()],\r\n baseSummary: '0',\r\n basePercentSummary: '0',\r\n vacationSummary: '0',\r\n vacationPercentSummary: '0',\r\n profitSummary: '0',\r\n profitPercentSummary: '0',\r\n volumePaySummary: '0',\r\n volumePayPercentSummary: '0',\r\n spcSummary: '0',\r\n spcPercentSummary: '0',\r\n quadGrowthSummary: '0',\r\n quadGrowthPercentSummary: '0',\r\n dealerGrowthSummary: '0',\r\n dealerGrowthPercentSummary: '0',\r\n dispositionSummary: '0',\r\n dispositionPercentSummary: '0',\r\n agedPercentageSummary: '0',\r\n agedPercentagePercentSummary: '0',\r\n localBoostPercentSummary: '0',\r\n localBoostPercentagePercentSummary: '0', \r\n purchaseVolumePaySummary: '0',\r\n purchaseVolumePayPercentSummary: '0',\r\n \r\n dealerSoldToAllPercent: '0',\r\n dealerSoldToAllSummary: '0',\r\n dealerSoldToAllPercentSummary: '0',\r\n dealerSoldToAllPercentTarget:'0',\r\n dealerSoldToAllPercentPayout:'0', \r\n\r\n\r\n totalSummary: '0',\r\n totalPercentSummary: ['0', NumberValidator.equal100Percent()]\r\n });\r\n }\r\n\r\n recalcPayPlanFormValues(payPlanForm: UntypedFormGroup) {\r\n payPlanForm.patchValue({\r\n targetCompensation: this.customCurrencyPipe.transform(payPlanForm.value.targetCompensation, '1.2-2'),\r\n vacationPay: this.customCurrencyPipe.transform(payPlanForm.value.vacationPay, '1.2-2'),\r\n basePay: this.customCurrencyPipe.transform(payPlanForm.value.basePay, '1.2-2'),\r\n salesVolumeTarget: this.customCurrencyPipe.transform(payPlanForm.value.salesVolumeTarget, '1.2-2'),\r\n salesVolumePayPerUnit: this.customCurrencyPipe.transform(payPlanForm.value.salesVolumePayPerUnit, '1.2-2'),\r\n spcPayout: this.isSpcEnabled ? this.customCurrencyPipe.transform(payPlanForm.value.spcPayout, '1.2-2')\r\n : '0.00',\r\n profitBonusAmount: this.customCurrencyPipe.transform(payPlanForm.value.profitBonusAmount, '1.2-2'),\r\n profitBonusPercent: this.customCurrencyPipe.transform(payPlanForm.value.profitBonusPercent, '1.5-5'),\r\n quadGrowthTarget: this.customCurrencyPipe.transform(payPlanForm.value.quadGrowthTarget, '1.0-0'),\r\n quadGrowthPayout: this.customCurrencyPipe.transform(payPlanForm.value.quadGrowthPayout, '1.2-2'),\r\n dealersSoldToGrowthTarget: this.customCurrencyPipe.transform(payPlanForm.value.dealersSoldToGrowthTarget, '1.0-0'),\r\n dealersSoldToGrowthPayout: this.customCurrencyPipe.transform(payPlanForm.value.dealersSoldToGrowthPayout, '1.2-2'),\r\n daysToDispositionTarget: this.customCurrencyPipe.transform(payPlanForm.value.daysToDispositionTarget, '1.1-1'),\r\n daysToDispositionPayout: this.customCurrencyPipe.transform(payPlanForm.value.daysToDispositionPayout, '1.2-2'),\r\n agedPercentageTarget: this.isPayAgedPercentEnabled ? this.customCurrencyPipe.transform(payPlanForm.value.agedPercentageTarget, '1.1-1') : '0.00',\r\n agedPercentagePayout: this.isPayAgedPercentEnabled ? this.customCurrencyPipe.transform(payPlanForm.value.agedPercentagePayout, '1.2-2') : '0.00', \r\n localBoostPercentTarget: this.isPayLocalBoostEnabled ? this.customCurrencyPipe.transform(payPlanForm.value.localBoostPercentTarget, '1.2-2') : '0',\r\n localBoostPercentPayout: this.isPayLocalBoostEnabled ? this.customCurrencyPipe.transform(payPlanForm.value.localBoostPercentPayout, '1.2-2') : '0',\r\n dealerSoldToAllTarget: this.customCurrencyPipe.transform(payPlanForm.value.dealerSoldToAllTarget, '1.1-1'),\r\n dealerSoldToAllPayout: this.customCurrencyPipe.transform(payPlanForm.value.dealerSoldToAllPayout, '1.2-2'),\r\n\r\n purchaseVolumeTarget: this.customCurrencyPipe.transform(payPlanForm.value.purchaseVolumeTarget, '1.2-2'),\r\n purchaseVolumePayPerUnit: this.customCurrencyPipe.transform(payPlanForm.value.purchaseVolumePayPerUnit, '1.2-2')\r\n });\r\n\r\n // now we need to set values used by the totals\r\n payPlanForm.patchValue({\r\n targetCompWithoutVac: this.customCurrencyPipe.transform((payPlanForm.value.targetCompensation.replace(/,/g, '') - payPlanForm.value.vacationPay.replace(/,/g, '')), '1.2-2'),\r\n targetProduction: this.customCurrencyPipe.transform(payPlanForm.value.targetCompensation.replace(/,/g, '') - payPlanForm.value.vacationPay.replace(/,/g, '') - payPlanForm.value.basePay.replace(/,/g, ''), '1.2-2'),\r\n purchaseVolumePayout: this.customCurrencyPipe.transform(payPlanForm.value.purchaseVolumeTarget.replace(/,/g, '') * payPlanForm.value.purchaseVolumePayPerUnit.replace(/,/g, ''), '1.2-2'),\r\n \r\n salesVolumePayoutDisplay: this.customCurrencyPipe.transform(payPlanForm.value.salesVolumeTarget.replace(/,/g, '') * payPlanForm.value.salesVolumePayPerUnit.replace(/,/g, '')\r\n + payPlanForm.value.purchaseVolumeTarget.replace(/,/g, '') * payPlanForm.value.purchaseVolumePayPerUnit.replace(/,/g, ''), '1.2-2'),\r\n\r\n salesVolumePayout: this.customCurrencyPipe.transform(payPlanForm.value.salesVolumeTarget.replace(/,/g, '') * payPlanForm.value.salesVolumePayPerUnit.replace(/,/g, ''), '1.2-2')\r\n });\r\n\r\n // now calculate the individual summary totals, need to split this out from the totals above since these use the fields above\r\n payPlanForm.patchValue({\r\n profitPercent: (Number(payPlanForm.value.targetProduction.replace(/,/g, '')) === 0) ? '0.00' :\r\n this.customCurrencyPipe.transform(payPlanForm.value.profitBonusAmount.replace(/,/g, '') / payPlanForm.value.targetProduction.replace(/,/g, '') * 10000 / 100, '1.2-2'),\r\n\r\n spcPercent: this.isSpcEnabled ? (Number(payPlanForm.value.targetProduction.replace(/,/g, '')) === 0) ? '0.00' :\r\n this.customCurrencyPipe.transform(payPlanForm.value.spcPayout.replace(/,/g, '') / payPlanForm.value.targetProduction.replace(/,/g, '') * 10000 / 100, '1.2-2')\r\n : '0.00',\r\n quadGrowthPercent: (Number(payPlanForm.value.targetProduction.replace(/,/g, '')) === 0) ? '0.00' :\r\n this.customCurrencyPipe.transform(payPlanForm.value.quadGrowthPayout.replace(/,/g, '') / payPlanForm.value.targetProduction.replace(/,/g, '') * 10000 / 100, '1.2-2'),\r\n\r\n dealerGrowthPercent: (Number(payPlanForm.value.targetProduction.replace(/,/g, '')) === 0) ? '0.00' :\r\n this.customCurrencyPipe.transform(payPlanForm.value.dealersSoldToGrowthPayout.replace(/,/g, '') / payPlanForm.value.targetProduction.replace(/,/g, '') * 10000 / 100, '1.2-2'),\r\n\r\n dispositionPercent: (Number(payPlanForm.value.targetProduction.replace(/,/g, '')) === 0) ? '0.00' :\r\n this.customCurrencyPipe.transform(payPlanForm.value.daysToDispositionPayout.replace(/,/g, '') / payPlanForm.value.targetProduction.replace(/,/g, '') * 10000 / 100, '1.2-2'),\r\n\r\n agedPercentagePercent: this.isPayAgedPercentEnabled ? (Number(payPlanForm.value.targetProduction.replace(/,/g, '')) === 0) ? '0.00' :\r\n this.customCurrencyPipe.transform(payPlanForm.value.agedPercentagePayout.replace(/,/g, '') / payPlanForm.value.targetProduction.replace(/,/g, '') * 10000 / 100, '1.2-2')\r\n : '0.00',\r\n dealerSoldToAllPercent: (Number(payPlanForm.value.targetProduction.replace(/,/g, '')) === 0) ? '0.00' :\r\n this.customCurrencyPipe.transform(payPlanForm.value.dealerSoldToAllPayout.replace(/,/g, '') / payPlanForm.value.targetProduction.replace(/,/g, '') * 10000 / 100, '1.2-2'),\r\n\r\n localBoostPercent: this.isPayLocalBoostEnabled ? (Number(payPlanForm.value.targetProduction.replace(/,/g, '')) === 0) ? '0.00' :\r\n this.customCurrencyPipe.transform(payPlanForm.value.localBoostPercentPayout.replace(/,/g, '') / payPlanForm.value.targetProduction.replace(/,/g, '') * 10000 / 100, '1.2-2') :\r\n '0.00',\r\n \r\n \r\n\r\n baseSummary: payPlanForm.value.basePay,\r\n\r\n basePercentSummary: (Number(payPlanForm.value.targetCompensation.replace(/,/g, '')) === 0) ? '0.00' :\r\n this.customCurrencyPipe.transform(payPlanForm.value.basePay.replace(/,/g, '') / payPlanForm.value.targetCompensation.replace(/,/g, '') * 10000 / 100, '1.2-2'),\r\n\r\n vacationSummary: payPlanForm.value.vacationPay,\r\n\r\n vacationPercentSummary: (Number(payPlanForm.value.targetCompensation.replace(/,/g, '')) === 0) ? '0.00' :\r\n this.customCurrencyPipe.transform(payPlanForm.value.vacationPay.replace(/,/g, '') / payPlanForm.value.targetCompensation.replace(/,/g, '') * 10000 / 100, '1.2-2'),\r\n\r\n profitSummary: payPlanForm.value.profitBonusAmount,\r\n\r\n profitPercentSummary: (Number(payPlanForm.value.targetCompensation.replace(/,/g, '')) === 0) ? '0.00' :\r\n this.customCurrencyPipe.transform(payPlanForm.value.profitBonusAmount.replace(/,/g, '') / payPlanForm.value.targetCompensation.replace(/,/g, '') * 10000 / 100, '1.2-2'),\r\n\r\n volumePercent: (Number(payPlanForm.value.targetProduction.replace(/,/g, '')) === 0) ? '0.00' :\r\n this.customCurrencyPipe.transform(\r\n (payPlanForm.value.salesVolumePayout.replace(/,/g, '')/ payPlanForm.value.targetProduction.replace(/,/g, '')) * 10000 / 100, '1.2-2'),\r\n \r\n volumePaySummary: (Number(payPlanForm.value.salesVolumePayout.replace(/,/g, '')) === 0) ? '0.00' :\r\n this.customCurrencyPipe.transform(payPlanForm.value.salesVolumePayout.replace(/,/g, ''), '1.2-2'),\r\n\r\n volumePayPercentSummary: (Number(payPlanForm.value.targetCompensation.replace(/,/g, '')) === 0) ? '0.00' :\r\n this.customCurrencyPipe.transform(\r\n (payPlanForm.value.salesVolumePayout.replace(/,/g, '') / payPlanForm.value.targetCompensation.replace(/,/g, '')) * 10000 / 100, '1.2-2'),\r\n\r\n spcSummary: this.isSpcEnabled ? payPlanForm.value.spcPayout : '0.00',\r\n\r\n spcPercentSummary: this.isSpcEnabled ? (Number(payPlanForm.value.targetCompensation.replace(/,/g, '')) === 0) ? '0.00' :\r\n this.customCurrencyPipe.transform(payPlanForm.value.spcPayout.replace(/,/g, '') / payPlanForm.value.targetCompensation.replace(/,/g, '') * 10000 / 100, '1.2-2') : '0.00',\r\n\r\n quadGrowthSummary: payPlanForm.value.quadGrowthPayout,\r\n\r\n quadGrowthPercentSummary: (Number(payPlanForm.value.targetCompensation.replace(/,/g, '')) === 0) ? '0.00' :\r\n this.customCurrencyPipe.transform(payPlanForm.value.quadGrowthPayout.replace(/,/g, '') / payPlanForm.value.targetCompensation.replace(/,/g, '') * 10000 / 100, '1.2-2'),\r\n\r\n dealerGrowthSummary: payPlanForm.value.dealersSoldToGrowthPayout,\r\n\r\n dealerGrowthPercentSummary: (Number(payPlanForm.value.targetCompensation.replace(/,/g, '')) === 0) ? '0.00' :\r\n this.customCurrencyPipe.transform(payPlanForm.value.dealersSoldToGrowthPayout.replace(/,/g, '') / payPlanForm.value.targetCompensation.replace(/,/g, '') * 10000 / 100, '1.2-2'),\r\n\r\n dispositionSummary: payPlanForm.value.daysToDispositionPayout,\r\n\r\n dispositionPercentSummary: (Number(payPlanForm.value.targetCompensation.replace(/,/g, '')) === 0) ? '0.00' :\r\n this.customCurrencyPipe.transform(payPlanForm.value.daysToDispositionPayout.replace(/,/g, '') / payPlanForm.value.targetCompensation.replace(/,/g, '') * 10000 / 100, '1.2-2'),\r\n\r\n agedPercentageSummary: this.isPayAgedPercentEnabled ? payPlanForm.value.agedPercentagePayout : '0.00',\r\n\r\n agedPercentagePercentSummary: this.isPayAgedPercentEnabled ? (Number(payPlanForm.value.targetCompensation.replace(/,/g, '')) === 0) ? '0.00' :\r\n this.customCurrencyPipe.transform(payPlanForm.value.agedPercentagePayout.replace(/,/g, '') / payPlanForm.value.targetCompensation.replace(/,/g, '') * 10000 / 100, '1.2-2')\r\n : '0.00',\r\n\r\n localBoostPercentSummary: this.isPayLocalBoostEnabled ? payPlanForm.value.localBoostPercentPayout : '0.00',\r\n\r\n localBoostPercentagePercentSummary: this.isPayLocalBoostEnabled ? (Number(payPlanForm.value.targetCompensation.replace(/,/g, '')) === 0) ? '0.00' :\r\n this.customCurrencyPipe.transform(payPlanForm.value.localBoostPercentPayout.replace(/,/g, '') / payPlanForm.value.targetCompensation.replace(/,/g, '') * 10000 / 100, '1.2-2')\r\n : '0.00',\r\n\r\n \r\n dealerSoldToAllSummary: payPlanForm.value.dealerSoldToAllPayout,\r\n\r\n dealerSoldToAllPercentSummary: (Number(payPlanForm.value.targetCompensation.replace(/,/g, '')) === 0) ? '0.00' :\r\n this.customCurrencyPipe.transform(payPlanForm.value.dealerSoldToAllPayout.replace(/,/g, '') / payPlanForm.value.targetCompensation.replace(/,/g, '') * 10000 / 100, '1.2-2'),\r\n \r\n purchaseVolumePaySummary: payPlanForm.value.purchaseVolumePayout,\r\n\r\n purchasePercent: (Number(payPlanForm.value.targetProduction.replace(/,/g, '')) === 0) ? '0.00' :\r\n this.customCurrencyPipe.transform(payPlanForm.value.purchaseVolumePayout.replace(/,/g, '') / payPlanForm.value.targetProduction.replace(/,/g, '') * 10000 / 100, '1.2-2'),\r\n\r\n purchaseVolumePayPercentSummary: (Number(payPlanForm.value.targetCompensation.replace(/,/g, '')) === 0) ? '0.00' :\r\n this.customCurrencyPipe.transform(payPlanForm.value.purchaseVolumePayout.replace(/,/g, '') / payPlanForm.value.targetCompensation.replace(/,/g, '') * 10000 / 100, '1.2-2') \r\n\r\n });\r\n\r\n // totals of all the totals, splititng these out since pretty much everything else on the form needs to be set\r\n payPlanForm.patchValue({\r\n totalPercent: this.customCurrencyPipe.transform(\r\n Number(payPlanForm.value.profitPercent.replace(/,/g, '')) +\r\n Number(payPlanForm.value.volumePercent.replace(/,/g, '')) +\r\n Number(\r\n this.isSpcEnabled ? payPlanForm.value.spcPercent.replace(/,/g, '') : '0'\r\n ) +\r\n Number(payPlanForm.value.quadGrowthPercent.replace(/,/g, '')) +\r\n Number(payPlanForm.value.dealerGrowthPercent.replace(/,/g, '')) +\r\n Number(payPlanForm.value.dispositionPercent.replace(/,/g, '')) +\r\n Number(this.isPayAgedPercentEnabled ? payPlanForm.value.agedPercentagePercent.replace(/,/g, '') : '0')+\r\n Number(this.isPayLocalBoostEnabled?payPlanForm.value.localBoostPercent.replace(/,/g, ''): '0') +\r\n Number(payPlanForm.value.dealerSoldToAllPercent.replace(/,/g, '')) +\r\n Number(payPlanForm.value.purchasePercent.replace(/,/g, '')), '1.0-0')\r\n \r\n ,\r\n totalSummary: this.customCurrencyPipe.transform(Number(payPlanForm.value.baseSummary.replace(/,/g, '')) +\r\n Number(payPlanForm.value.vacationSummary.replace(/,/g, '')) +\r\n Number(payPlanForm.value.profitSummary.replace(/,/g, '')) +\r\n Number(payPlanForm.value.volumePaySummary.replace(/,/g, '')) +\r\n Number(\r\n this.isSpcEnabled ? payPlanForm.value.spcSummary.replace(/,/g, '') : '0'\r\n ) +\r\n Number(payPlanForm.value.quadGrowthSummary.replace(/,/g, '')) +\r\n Number(payPlanForm.value.dealerGrowthSummary.replace(/,/g, '')) +\r\n Number(payPlanForm.value.dispositionSummary.replace(/,/g, '')) +\r\n Number(payPlanForm.value.dealerSoldToAllSummary.replace(/,/g, '')) +\r\n \r\n Number(this.isPayAgedPercentEnabled ? payPlanForm.value.agedPercentageSummary.replace(/,/g, '') : '0') +\r\n Number(this.isPayLocalBoostEnabled ? payPlanForm.value.localBoostPercentSummary.replace(/,/g, '') : '0') +\r\n Number(payPlanForm.value.purchaseVolumePaySummary.replace(/,/g, '')), '1.2-2'),\r\n totalPercentSummary: this.customCurrencyPipe.transform(Number(payPlanForm.value.basePercentSummary.replace(/,/g, '')) +\r\n Number(payPlanForm.value.vacationPercentSummary.replace(/,/g, '')) +\r\n Number(payPlanForm.value.profitPercentSummary.replace(/,/g, '')) +\r\n Number(payPlanForm.value.volumePayPercentSummary.replace(/,/g, '')) +\r\n Number(\r\n this.isSpcEnabled ? payPlanForm.value.spcPercentSummary.replace(/,/g, '') : '0'\r\n ) +\r\n Number(payPlanForm.value.quadGrowthPercentSummary.replace(/,/g, '')) +\r\n Number(payPlanForm.value.dealerGrowthPercentSummary.replace(/,/g, '')) +\r\n Number(payPlanForm.value.dispositionPercentSummary.replace(/,/g, '')) +\r\n Number(payPlanForm.value.dealerSoldToAllPercentSummary.replace(/,/g, '')) +\r\n Number(this.isPayAgedPercentEnabled ? payPlanForm.value.agedPercentagePercentSummary.replace(/,/g, '') : '0') + \r\n Number(this.isPayLocalBoostEnabled ? payPlanForm.value.localBoostPercentagePercentSummary.replace(/,/g, ''): '0') +\r\n Number(payPlanForm.value.purchaseVolumePayPercentSummary.replace(/,/g, '')), '1.0-0')\r\n });\r\n }\r\n\r\n buildSaveDto(payPlanForm: UntypedFormGroup, user: User, payPlan: PayPlan): PayPlanSaveDto {\r\n const payPlanDto = new PayPlanSaveDto();\r\n payPlanDto.id = payPlan.id;\r\n payPlanDto.targetCompensation = Number(payPlanForm.value.targetCompensation.replace(/,/g, ''));\r\n payPlanDto.vacationPay = Number(payPlanForm.value.vacationPay.replace(/,/g, ''));\r\n payPlanDto.vacationDaysTypeId = payPlanForm.value.vacationDaysTypeId;\r\n payPlanDto.basePay = Number(payPlanForm.value.basePay.replace(/,/g, ''));\r\n payPlanDto.profitBonusAmount = Number(payPlanForm.value.profitBonusAmount.replace(/,/g, ''));\r\n payPlanDto.profitBonusPercent = Number(payPlanForm.value.profitBonusPercent.replace(/,/g, '')) / 100;\r\n payPlanDto.salesVolumeTarget = Number(payPlanForm.value.salesVolumeTarget.replace(/,/g, ''));\r\n payPlanDto.salesVolumePayPerUnit = Number(payPlanForm.value.salesVolumePayPerUnit.replace(/,/g, ''));\r\n payPlanDto.employeeMonthId = payPlan.employeeMonthId;\r\n\r\n payPlanDto.netSpcTarget = this.isSpcEnabled ? payPlanForm.value.netSpcTarget : 0;\r\n payPlanDto.grossSpcTarget = this.isSpcEnabled ? payPlanForm.value.grossSpcTarget : 0; \r\n\r\n payPlanDto.quadGrowthTarget = Number(payPlanForm.value.quadGrowthTarget.replace(/,/g, '')) / 100;\r\n payPlanDto.quadGrowthPayout = Number(payPlanForm.value.quadGrowthPayout.replace(/,/g, ''));\r\n payPlanDto.dealersSoldToGrowthTarget = Number(payPlanForm.value.dealersSoldToGrowthTarget.replace(/,/g, '')) / 100;\r\n payPlanDto.dealersSoldToGrowthPayout = Number(payPlanForm.value.dealersSoldToGrowthPayout.replace(/,/g, ''));\r\n payPlanDto.daysToDispositionTarget = Number(payPlanForm.value.daysToDispositionTarget.replace(/,/g, ''));\r\n payPlanDto.daysToDispositionPayout = Number(payPlanForm.value.daysToDispositionPayout.replace(/,/g, ''));\r\n payPlanDto.agedPercentageTarget = Number(this.isPayAgedPercentEnabled ? payPlanForm.value.agedPercentageTarget.replace(/,/g, '') : 0) / 100;\r\n payPlanDto.agedPercentagePayout = Number(this.isPayAgedPercentEnabled ? payPlanForm.value.agedPercentagePayout.replace(/,/g, '') : 0); \r\n\r\n payPlanDto.localBoostPercentTarget = Number(this.isPayLocalBoostEnabled ? payPlanForm.value.localBoostPercentTarget.replace(/,/g, '') : 0) / 100;\r\n payPlanDto.localBoostPercentPayout = Number(this.isPayLocalBoostEnabled ? payPlanForm.value.localBoostPercentPayout.replace(/,/g, '') : 0);\r\n\r\n payPlanDto.purchaseVolumeTarget = Number(payPlanForm.value.purchaseVolumeTarget.replace(/,/g, ''));\r\n\r\n payPlanDto.purchaseVolumePayPerUnit = Number(payPlanForm.value.purchaseVolumePayPerUnit.replace(/,/g, ''));\r\n payPlanDto.dealerSoldToAllTarget = Number(payPlanForm.value.dealerSoldToAllTarget.replace(/,/g, ''));\r\n\r\n payPlanDto.dealerSoldToAllPayout = Number(payPlanForm.value.dealerSoldToAllPayout.replace(/,/g, ''));\r\n \r\n payPlanDto.targetSpcType = Number(payPlanForm.value.targetSpcType);\r\n payPlanDto.updatedBy = user.eId;\r\n payPlanDto.createdBy = user.eId;\r\n\r\n if (payPlan.employee.isManager && this.isNetSpcEnabled) { \r\n payPlanDto.netSpcPayout = this.isSpcEnabled ? (Number(payPlanForm.value.spcPayout.replace(/,/g, '')) / 2) : 0;\r\n payPlanDto.grossSpcPayout = this.isSpcEnabled ? (Number(payPlanForm.value.spcPayout.replace(/,/g, '')) / 2) : 0;\r\n } else {\r\n payPlanDto.netSpcPayout = 0;\r\n payPlanDto.grossSpcPayout = this.isSpcEnabled ? Number(payPlanForm.value.spcPayout.replace(/,/g, '')) : 0;\r\n }\r\n return payPlanDto;\r\n }\r\n}","import { Router, CanActivate } from '@angular/router';\r\nimport { Injectable } from '@angular/core';\r\nimport { UserService } from '../security/user.service';\r\nimport { SecuredObjectService } from '../security/secured-object.service';\r\nimport { map } from 'rxjs/operators';\r\n\r\n@Injectable()\r\nexport class PayplanSetupRouteActivator implements CanActivate {\r\n\r\n constructor(private router: Router,\r\n private userService: UserService,\r\n private secObjService: SecuredObjectService) {}\r\n\r\n canActivate() {\r\n return this.userService.userSource$.pipe(map((user) => {\r\n if (user) {\r\n if (this.hasAccess()) {\r\n return true;\r\n } else {\r\n this.router.navigate(['page-not-found']);\r\n }\r\n }\r\n return false;\r\n }));\r\n }\r\n\r\n hasAccess(): boolean {\r\n return this.secObjService.hasPaySetupPageAccess();\r\n }\r\n}\r\n","import { Component, OnInit, OnDestroy } from '@angular/core';\r\nimport { AppInsightsService } from '../shared/services/app-insights.service';\r\nimport { UserService } from '../security/user.service';\r\nimport { HelperMethodsService } from '../shared/services/helper-methods.service';\r\nimport { BaseComponent } from '../shared/base/base.component';\r\nimport { groupLevels } from '../shared/static-data/group-levels';\r\nimport { Team } from '../models/incoming-dtos/team';\r\nimport { Observable } from 'rxjs';\r\nimport { PayplanSetupService } from './payplan-setup.service';\r\nimport { Subscription } from 'rxjs';\r\nimport { SubscriptionService } from '../shared/services/subscription.service';\r\nimport { LoadingSpinnerService } from '../shared/loading-spinner/loading-spinner.service';\r\nimport { PayPlan } from '../models/incoming-dtos/payplan';\r\nimport { PayPlanSaveDto } from '../models/outgoing-dtos/payplan-save-dto';\r\nimport { SnackBarService } from '../shared/services/snack-bar.service';\r\nimport { CoreFiltersService } from '../shared/services/core-filters.service';\r\nimport { finalize } from 'rxjs/operators';\r\nimport { EUPayPlanDto } from '../models/outgoing-dtos/eupayplan-dto';\r\n\r\n@Component({\r\n selector: 'scoreboard-payplan-setup',\r\n templateUrl: './payplan-setup.component.html',\r\n styleUrls: ['./payplan-setup.component.scss']\r\n})\r\n\r\nexport class PayplanSetupComponent extends BaseComponent implements OnInit, OnDestroy {\r\n selectedPayPlanId: number;\r\n countryCode: string;\r\n selectedEmployeeMonthId: number;\r\n teams$ = new Observable();\r\n teams = new Array();\r\n teamsSubscription = new Subscription();\r\n// North America\r\n payPlan$ = new Observable();\r\n payPlan: PayPlan = new PayPlan();\r\n payPlanSubscription = new Subscription();\r\n// EU Pay Plan\r\n payPlanEU$ = new Observable();\r\n payPlanEU: EUPayPlanDto = new EUPayPlanDto();\r\n payPlanEUSubscription = new Subscription();\r\n\r\n selectedEmployeeData: [boolean, number] = [false, null];\r\n createPayPlan$ = new Observable();\r\n updatePayPlan$ = new Observable();\r\n coreFilterSubscription = new Subscription();\r\n\r\n showNorthAmerica = false;\r\n constructor(public appInsights: AppInsightsService,\r\n public userService: UserService,\r\n public helperMethods: HelperMethodsService,\r\n private subscribeService: SubscriptionService,\r\n private payplanSetupSvc: PayplanSetupService,\r\n public loadingSpinnerSvc: LoadingSpinnerService,\r\n public snackBarSvc: SnackBarService,\r\n public coreFilterSvc: CoreFiltersService) {\r\n super(appInsights, userService);\r\n this.countryCode = this.userService.user.country;\r\n }\r\n\r\n ngOnInit() {\r\n this.trackUser();\r\n this.getFilterValues();\r\n }\r\n\r\n ngOnDestroy() {\r\n this.coreFilterSubscription.unsubscribe();\r\n }\r\n\r\n getFilterValues() {\r\n this.coreFilterSubscription = this.coreFilterSvc.filterValues$.subscribe(filterValues => {\r\n this.level = filterValues[0].level;\r\n this.levelValue = filterValues[0].levelValue;\r\n this.month = filterValues[0].month;\r\n this.year = filterValues[0].year;\r\n this.isEurope = filterValues[0].isEurope;\r\n if (filterValues[1] === '/payplan-setup') {\r\n this.onSubmitSearch();\r\n }\r\n });\r\n }\r\n\r\n onSelectedEmployeeChanged([payPlanId, employeeMonthId, isEU, code]) {\r\n this.selectedPayPlanId = payPlanId;\r\n this.countryCode = code;\r\n this.selectedEmployeeMonthId = employeeMonthId;\r\n if (isEU) {\r\n this.showNorthAmerica = false;\r\n this.payPlanEU = new EUPayPlanDto();\r\n this.getEUPayPlan();\r\n } else {\r\n this.showNorthAmerica = true;\r\n this.payPlan = new PayPlan();\r\n this.getPayPlan();\r\n }\r\n }\r\n\r\n onSavePayPlan(payPlanDto: PayPlanSaveDto) {\r\n if (this.payPlan.id > 0) {\r\n this.updatePayPlan$ = this.payplanSetupSvc.updatePayPlan(payPlanDto);\r\n this.subscribeToUpdatePayPlan();\r\n } else {\r\n this.createPayPlan$ = this.payplanSetupSvc.createPayPlan(payPlanDto);\r\n this.subscribeToCreatePayPlan();\r\n }\r\n }\r\n onSavePayPlanEU(payPlanDto: EUPayPlanDto) {\r\n if (payPlanDto.id > 0) {\r\n this.updatePayPlan$ = this.payplanSetupSvc.updateEUPayPlan(payPlanDto);\r\n this.subscribeToUpdateEUPayPlan();\r\n } else {\r\n this.createPayPlan$ = this.payplanSetupSvc.createEUPayPlan(payPlanDto);\r\n this.subscribeToCreateEUPayPlan();\r\n }\r\n }\r\n subscribeToUpdatePayPlan() {\r\n this.payPlanSubscription.unsubscribe();\r\n\r\n this.payPlanSubscription = this.updatePayPlan$\r\n .pipe(\r\n finalize(() => {\r\n this.loadingSpinnerSvc.turnSpinnerOff();\r\n })\r\n )\r\n .subscribe(\r\n () => {\r\n this.snackBarSvc.openSnackBar(this.payPlan.employee.firstName + ' ' + this.payPlan.employee.lastName + '\\'s ' + 'Pay Plan Saved Successfully');\r\n this.appInsights.logUserAction('User updated a Pay Plan for ' + this.payPlan.employee.firstName + ' ' + this.payPlan.employee.lastName +\r\n ' for ' + this.level + ': ' + this.levelValue + ' on ' + this.month + '/' + this.year, this.user);\r\n },\r\n err => {\r\n this.subscribeService.onError(err, this.level, 'UpdatePayPlan');\r\n this.loadingSpinnerSvc.turnSpinnerOff();\r\n }\r\n );\r\n }\r\n subscribeToUpdateEUPayPlan() {\r\n this.payPlanEUSubscription.unsubscribe();\r\n\r\n this.payPlanEUSubscription = this.updatePayPlan$\r\n .pipe(\r\n finalize(() => {\r\n this.loadingSpinnerSvc.turnSpinnerOff();\r\n })\r\n )\r\n .subscribe(\r\n () => {\r\n this.snackBarSvc.openSnackBar(this.payPlanEU.employee.firstName + ' ' + this.payPlanEU.employee.lastName + '\\'s ' + 'Pay Plan Saved Successfully');\r\n this.appInsights.logUserAction('User updated a Pay Plan for ' + this.payPlanEU.employee.firstName + ' ' + this.payPlanEU.employee.lastName +\r\n ' for ' + this.level + ': ' + this.levelValue + ' on ' + this.month + '/' + this.year, this.user);\r\n },\r\n err => {\r\n this.subscribeService.onError(err, this.level, 'UpdatePayPlan');\r\n this.loadingSpinnerSvc.turnSpinnerOff();\r\n }\r\n );\r\n }\r\n\r\n subscribeToCreatePayPlan() {\r\n this.payPlanSubscription.unsubscribe();\r\n\r\n this.payPlanSubscription = this.createPayPlan$\r\n .pipe(\r\n finalize(() => {\r\n this.loadingSpinnerSvc.turnSpinnerOff();\r\n })\r\n )\r\n .subscribe(\r\n () => {\r\n this.snackBarSvc.openSnackBar(this.payPlan.employee.firstName + ' ' + this.payPlan.employee.lastName + '\\'s ' + 'Pay Plan Saved Successfully');\r\n this.appInsights.logUserAction('User created a Pay Plan for ' + this.payPlan.employee.firstName + ' ' + this.payPlan.employee.lastName +\r\n ' for ' + this.level + ': ' + this.levelValue + ' on ' + this.month + '/' + this.year, this.user);\r\n this.getTeamsAndEmployees();\r\n this.selectedEmployeeData = [false, null];\r\n },\r\n err => {\r\n this.subscribeService.onError(err, this.level, 'CreatePayPlan');\r\n this.loadingSpinnerSvc.turnSpinnerOff();\r\n }\r\n );\r\n }\r\n\r\n subscribeToCreateEUPayPlan() {\r\n this.payPlanEUSubscription.unsubscribe();\r\n\r\n this.payPlanEUSubscription = this.createPayPlan$\r\n .pipe(\r\n finalize(() => {\r\n this.loadingSpinnerSvc.turnSpinnerOff();\r\n })\r\n )\r\n .subscribe(\r\n () => {\r\n this.snackBarSvc.openSnackBar(this.payPlanEU.employee.firstName + ' ' + this.payPlanEU.employee.lastName + '\\'s ' + 'Pay Plan Saved Successfully');\r\n this.appInsights.logUserAction('User created a Pay Plan for ' + this.payPlanEU.employee.firstName + ' ' + this.payPlanEU.employee.lastName +\r\n ' for ' + this.level + ': ' + this.levelValue + ' on ' + this.month + '/' + this.year, this.user);\r\n this.getTeamsAndEmployees();\r\n this.selectedEmployeeData = [false, null];\r\n },\r\n err => {\r\n this.subscribeService.onError(err, this.level, 'CreatePayPlan');\r\n this.loadingSpinnerSvc.turnSpinnerOff();\r\n }\r\n );\r\n }\r\n onPayPlanSaved([payPlanId]) {\r\n this.selectedPayPlanId = payPlanId;\r\n }\r\n\r\n onSubmitSearch() {\r\n if (this.helperMethods.isStringNullOrEmpty(this.levelValue) || this.levelValue === groupLevels.invalid) {\r\n this.filterErrorMessage = 'You must select a valid ' + this.level + ' to submit your search.';\r\n this.userService.alertUser(this.filterErrorMessage);\r\n } else {\r\n this.getTeamsAndEmployees();\r\n this.selectedEmployeeData = [false, null];\r\n }\r\n }\r\n\r\n getTeamsAndEmployees() {\r\n this.payPlan = new PayPlan();\r\n this.payPlanEU = new EUPayPlanDto();\r\n this.loadingSpinnerSvc.shouldShowLoading();\r\n this.teams$ = this.payplanSetupSvc.getTeamsAndEmployees(this.level, this.levelValue, this.month, this.year);\r\n this.subscribeToTeamEmployees();\r\n }\r\n subscribeToTeamEmployees() {\r\n this.teamsSubscription.unsubscribe();\r\n this.teams = [];\r\n\r\n this.teamsSubscription = this.teams$\r\n .pipe(\r\n finalize(() => {\r\n this.loadingSpinnerSvc.turnSpinnerOff();\r\n })\r\n )\r\n .subscribe(\r\n teams => {\r\n this.teams = teams;\r\n if (this.helperMethods.isArrayNullOrEmpty(teams)) {\r\n this.userService.alertUser('No data found for the selected filters');\r\n }\r\n },\r\n err => {\r\n this.subscribeService.onError(err, this.level, 'getTeamsAndEmployees');\r\n this.loadingSpinnerSvc.turnSpinnerOff();\r\n }\r\n );\r\n }\r\n\r\n getPayPlan() {\r\n this.payPlan$ = this.payplanSetupSvc.getPayPlan(this.selectedPayPlanId, this.selectedEmployeeMonthId);\r\n this.subscribeToPayPlan();\r\n }\r\n\r\n getEUPayPlan() {\r\n this.payPlanEU$ = this.payplanSetupSvc.getEUPayPlan(this.selectedPayPlanId, this.selectedEmployeeMonthId);\r\n this.subscribeToEUPayPlan();\r\n }\r\n\r\n\r\n subscribeToPayPlan() {\r\n this.payPlanSubscription.unsubscribe();\r\n\r\n this.payPlanSubscription = this.payPlan$\r\n .pipe(\r\n finalize(() => {\r\n this.loadingSpinnerSvc.turnSpinnerOff();\r\n })\r\n )\r\n .subscribe(\r\n payPlan => {\r\n payPlan.profitBonusPercent *= 100;\r\n this.payPlan = payPlan;\r\n },\r\n err => {\r\n this.subscribeService.onError(err, this.level, 'getPayPlan');\r\n this.loadingSpinnerSvc.turnSpinnerOff();\r\n }\r\n );\r\n }\r\n subscribeToEUPayPlan() {\r\n this.payPlanEUSubscription.unsubscribe();\r\n\r\n this.payPlanEUSubscription = this.payPlanEU$\r\n .pipe(\r\n finalize(() => {\r\n this.loadingSpinnerSvc.turnSpinnerOff();\r\n })\r\n )\r\n .subscribe(\r\n payPlanEU => {\r\n this.payPlanEU = payPlanEU;\r\n },\r\n err => {\r\n this.subscribeService.onError(err, this.level, 'getPayPlan');\r\n this.loadingSpinnerSvc.turnSpinnerOff();\r\n }\r\n );\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { RouterModule } from '@angular/router';\r\nimport { ReactiveFormsModule } from '@angular/forms';\r\nimport { SharedModule } from '../shared/shared.module';\r\nimport { PayplanSetupComponent } from './payplan-setup.component';\r\nimport { PayplanSetupRouteActivator } from './payplan-setup-route-activator';\r\nimport { TeamEmployeesComponent } from './team-employees/team-employees.component';\r\nimport { PayplanSetupService } from './payplan-setup.service';\r\nimport { TeamEmployeesService } from './team-employees/team-employees.service';\r\nimport { PayplanFormComponent } from './payplan-form/payplan-form.component';\r\nimport { PayplanFormService } from './payplan-form/payplan-form.service';\r\nimport { PayplanFormExportService } from './payplan-form/payplan-form-export.service';\r\nimport { EuPayplanFormComponent } from './eupayplan-form/eupayplan-form.component';\r\nimport { EuPayplanFormService } from './eupayplan-form/eupayplan-form.service';\r\nimport { EuPayplanFormExportService } from './eupayplan-form/eupayplan-form-export.service';\r\nimport { MilestoneComponent } from './eupayplan-form/milestone/milestone.component';\r\nimport { BuyerTierComponent } from './eupayplan-form/buyer-tier/buyer-tier.component';\r\nimport { TeamBuyerTierComponent } from './eupayplan-form/buyer-tier/team-buyer-tier.component';\r\nimport { TeamMilestoneComponent } from './eupayplan-form/milestone/team-milestone.component';\r\n\r\n@NgModule({\r\n imports: [\r\n SharedModule,\r\n ReactiveFormsModule,\r\n RouterModule.forChild([\r\n { path: 'payplan-setup', component: PayplanSetupComponent, canActivate: [PayplanSetupRouteActivator] }\r\n ])\r\n ],\r\n declarations: [\r\n PayplanSetupComponent,\r\n TeamEmployeesComponent,\r\n PayplanFormComponent,\r\n EuPayplanFormComponent,\r\n MilestoneComponent,\r\n BuyerTierComponent,\r\n TeamBuyerTierComponent,\r\n TeamMilestoneComponent\r\n ],\r\n providers: [\r\n PayplanSetupRouteActivator,\r\n PayplanSetupService,\r\n TeamEmployeesService,\r\n PayplanFormService,\r\n PayplanFormExportService,\r\n EuPayplanFormService,\r\n EuPayplanFormExportService\r\n ]\r\n})\r\nexport class PayplanSetupModule { }\r\n","import { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { environment } from '../../environments/environment';\r\nimport { ErrorHandlingService } from '../shared/services/error-handling.service';\r\nimport { UserService } from '../security/user.service';\r\nimport { groupLevels } from '../shared/static-data/group-levels';\r\nimport { PayPlan } from '../models/incoming-dtos/payplan';\r\nimport { Team } from '../models/incoming-dtos/team';\r\nimport { PayPlanSaveDto } from '../models/outgoing-dtos/payplan-save-dto';\r\nimport { catchError } from 'rxjs/operators';\r\nimport { EUPayPlanDto } from '../models/outgoing-dtos/eupayplan-dto';\r\n\r\n@Injectable()\r\nexport class PayplanSetupService {\r\n private baseUrl: string = environment.dotNetCoreUrl + 'coreapi/';\r\n private teamsForCountryUrl: string = this.baseUrl + 'PayPlan/country';\r\n private teamsForSvpTeamUrl: string = this.baseUrl + 'PayPlan/svpTeam';\r\n private teamsForGroupUrl: string = this.baseUrl + 'PayPlan/group';\r\n private getPayPlanUrl: string = this.baseUrl + 'PayPlan';\r\n private getEUPayPlanUrl: string = this.baseUrl + 'EUPayPlan';\r\n private updatePayPlanUrl: string = this.baseUrl + 'PayPlan/update';\r\n private updateEUPayPlanUrl: string = this.baseUrl + 'EUPayPlan/update';\r\n private createPayPlanUrl: string = this.baseUrl + 'PayPlan/create';\r\n private createEUPayPlanUrl: string = this.baseUrl + 'EUPayPlan/create';\r\n private lockPayPlanUrl: string = this.baseUrl + 'PayPlan/lock';\r\n private unlockPayPlanUrl: string = this.baseUrl + 'PayPlan/unlock';\r\n private lockEUPayPlanUrl: string = this.baseUrl + 'EUPayPlan/lock';\r\n private unlockEUPayPlanUrl: string = this.baseUrl + 'EUPayPlan/unlock';\r\n\r\n teams$ = new Observable();\r\n\r\n constructor(private httpClient: HttpClient,\r\n private userService: UserService,\r\n private errorService: ErrorHandlingService) { }\r\n\r\n getTeamsAndEmployees(level: string, levelId: string, month: number, year: number): Observable {\r\n switch (level) {\r\n case groupLevels.country:\r\n return this.teams$ = this.getTeamsAndEmployeesForCountry$(levelId, month, year);\r\n case groupLevels.svpTeam:\r\n return this.teams$ = this.getTeamsAndEmployeesForSvpTeam$(levelId, month, year);\r\n case groupLevels.group:\r\n return this.teams$ = this.getTeamsAndEmployeesForGroup$(levelId, month, year);\r\n }\r\n }\r\n\r\n getTeamsAndEmployeesForCountry$(levelId: string, month: number, year: number): Observable {\r\n const url = this.buildTeamAndEmployeeUrl(this.teamsForCountryUrl, levelId, month, year);\r\n return this.httpClient.get(url, this.userService.getHttpOptions())\r\n .pipe(\r\n catchError(this.errorService.handleError)\r\n );\r\n }\r\n\r\n getTeamsAndEmployeesForSvpTeam$(levelId: string, month: number, year: number): Observable {\r\n const url = this.buildTeamAndEmployeeUrl(this.teamsForSvpTeamUrl, levelId, month, year);\r\n return this.httpClient.get(url, this.userService.getHttpOptions())\r\n .pipe(\r\n catchError(this.errorService.handleError)\r\n );\r\n }\r\n\r\n getTeamsAndEmployeesForGroup$(levelId: string, month: number, year: number): Observable {\r\n const url = this.buildTeamAndEmployeeUrl(this.teamsForGroupUrl, levelId, month, year);\r\n return this.httpClient.get(url, this.userService.getHttpOptions())\r\n .pipe(\r\n catchError(this.errorService.handleError)\r\n );\r\n }\r\n\r\n buildTeamAndEmployeeUrl(url: string, levelId: string, month: number, year: number): string {\r\n const urlWithParams = url + '/' + levelId + '/' + year + '/' + month;\r\n return urlWithParams;\r\n }\r\n\r\n getPayPlan(payPlanId: number, employeeMonthId: number): Observable {\r\n const url = this.getPayPlanUrl + '/' + payPlanId + '/' + employeeMonthId;\r\n return this.httpClient.get(url, this.userService.getHttpOptions())\r\n .pipe(\r\n catchError(this.errorService.handleError)\r\n );\r\n }\r\n getEUPayPlan(payPlanId: number, employeeMonthId: number): Observable {\r\n const url = this.getEUPayPlanUrl + '/' + payPlanId + '/' + employeeMonthId;\r\n return this.httpClient.get(url, this.userService.getHttpOptions())\r\n .pipe(\r\n catchError(this.errorService.handleError)\r\n );\r\n }\r\n\r\n\r\n updatePayPlan(payPlanDto: PayPlanSaveDto): Observable {\r\n return this.httpClient.put(this.updatePayPlanUrl, payPlanDto, this.userService.getHttpOptions())\r\n .pipe(\r\n catchError(this.errorService.handleError)\r\n );\r\n }\r\n updateEUPayPlan(payPlanDto: EUPayPlanDto): Observable {\r\n\r\n return this.httpClient.put(this.updateEUPayPlanUrl, payPlanDto, this.userService.getHttpOptions())\r\n .pipe(\r\n catchError(this.errorService.handleError)\r\n );\r\n }\r\n\r\n createPayPlan(payPlanDto: PayPlanSaveDto): Observable {\r\n return this.httpClient.post(this.createPayPlanUrl, payPlanDto, this.userService.getHttpOptions())\r\n .pipe(\r\n catchError(this.errorService.handleError)\r\n );\r\n }\r\n createEUPayPlan(payPlanDto: EUPayPlanDto): Observable {\r\n return this.httpClient.post(this.createEUPayPlanUrl, payPlanDto, this.userService.getHttpOptions())\r\n .pipe(\r\n catchError(this.errorService.handleError)\r\n );\r\n }\r\n\r\n lockPayPlan(month: number, year: number, updatedBy: string, ehiGroupIds: number[], isEurope: boolean): Observable {\r\n const url = isEurope ? `${this.lockEUPayPlanUrl}/${month}/${year}/${updatedBy}` : `${this.lockPayPlanUrl}/${month}/${year}/${updatedBy}`;\r\n return this.httpClient.put(url, ehiGroupIds, this.userService.getHttpOptions())\r\n .pipe(\r\n catchError(this.errorService.handleError)\r\n );\r\n }\r\n\r\n unlockPayPlan(month: number, year: number, updatedBy: string, ehiGroupIds: number[], isEurope: boolean): Observable {\r\n const url = isEurope ? `${this.unlockEUPayPlanUrl}/${month}/${year}/${updatedBy}` : `${this.unlockPayPlanUrl}/${month}/${year}/${updatedBy}`;\r\n return this.httpClient.put(url, ehiGroupIds, this.userService.getHttpOptions())\r\n .pipe(\r\n catchError(this.errorService.handleError)\r\n );\r\n }\r\n}\r\n","import { Component, Input, Output, EventEmitter, OnChanges } from '@angular/core';\r\nimport { Team } from '../../models/incoming-dtos/team';\r\nimport { HelperMethodsService } from '../../shared/services/helper-methods.service';\r\nimport { TeamEmployeesService } from './team-employees.service';\r\nimport { LoadingSpinnerService } from '../../shared/loading-spinner/loading-spinner.service';\r\n\r\n@Component({\r\n selector: 'scoreboard-team-employees',\r\n templateUrl: './team-employees.component.html',\r\n styleUrls: ['./team-employees.component.scss']\r\n})\r\nexport class TeamEmployeesComponent implements OnChanges {\r\n @Input() teams: Team[];\r\n @Input() isEurope: boolean;\r\n @Input() selectedEmployeeData: [boolean, number];\r\n @Output() selectedEmployeeChanged: EventEmitter<[number, number, boolean, string]>;\r\n\r\n selectedTeams = new Array();\r\n selectedEmployees = new Array();\r\n currentTeamIndex: number;\r\n currentEmployeeIndex: number;\r\n countryCode: string;\r\n\r\n constructor(public helperMethods: HelperMethodsService,\r\n private teamEmployeesSvc: TeamEmployeesService,\r\n public loadingSpinnerSvc: LoadingSpinnerService) {\r\n this.selectedEmployeeChanged = new EventEmitter<[number, number, boolean, string]>();\r\n }\r\n\r\n ngOnChanges() {\r\n if (!this.selectedEmployeeData[0]) {\r\n this.setDefaultEmployee();\r\n } else {\r\n this.selectNewPayPlanEmployee();\r\n }\r\n }\r\n\r\n setDefaultEmployee() {\r\n if (!this.helperMethods.isArrayNullOrEmpty(this.teams)) {\r\n // setting first team in first group as selected team by default when loading into the page.\r\n this.selectedTeams[0] = true;\r\n this.selectedEmployees[0] = true;\r\n const payPlanId = this.teams[0].employees[0].payPlanId;\r\n const employeeMonthId = this.teams[0].employees[0].employeeMonthId;\r\n this.countryCode = this.teams[0].employees[0].country;\r\n this.selectedEmployeeChanged.emit([payPlanId, employeeMonthId, this.isEurope, this.countryCode]);\r\n }\r\n }\r\n\r\n checkSelectedEmployee(teamIndex: number, employeeIndex: number) {\r\n this.loadingSpinnerSvc.turnSpinnerOn('Loading...');\r\n this.selectedTeams = [];\r\n this.selectedEmployees = [];\r\n this.currentTeamIndex = teamIndex;\r\n this.currentEmployeeIndex = employeeIndex;\r\n this.selectedTeams[teamIndex] = true;\r\n this.selectedEmployees[employeeIndex] = true;\r\n const payPlanId = this.teamEmployeesSvc.findPayPlanId(teamIndex, employeeIndex, this.teams);\r\n const employeeMonthId = this.teamEmployeesSvc.findEmployeeMonthId(teamIndex, employeeIndex, this.teams);\r\n this.countryCode = this.teams[0].employees[0].country;\r\n this.selectedEmployeeChanged.emit([payPlanId, employeeMonthId, this.isEurope, this.countryCode]);\r\n }\r\n\r\n selectNewPayPlanEmployee() {\r\n this.selectedTeams = [];\r\n this.selectedEmployees = [];\r\n let teamIndex: number;\r\n let employeeIndex: number;\r\n teamIndex = this.teamEmployeesSvc.findTeamIndex(this.teams, this.selectedEmployeeData[1]);\r\n employeeIndex = this.teams[teamIndex].employees.findIndex(e => e.employeeMonthId === this.selectedEmployeeData[1]);\r\n this.selectedTeams[teamIndex] = true;\r\n this.selectedEmployees[employeeIndex] = true;\r\n const payPlanId = this.teamEmployeesSvc.findPayPlanId(teamIndex, employeeIndex, this.teams);\r\n this.countryCode = this.teams[0].employees[0].country;\r\n this.selectedEmployeeChanged.emit([payPlanId, this.selectedEmployeeData[1], this.isEurope, this.countryCode]);\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Team } from '../../models/incoming-dtos/team';\r\nimport { HelperMethodsService } from '../../shared/services/helper-methods.service';\r\n\r\n@Injectable()\r\nexport class TeamEmployeesService {\r\n\r\n constructor(private helperMethods: HelperMethodsService) {}\r\n\r\n findEmployeeIndex(teams: Team[], newEmployeeToBeSelected: number): number {\r\n let index: number;\r\n teams[0].employees.forEach(emp => {\r\n if (emp.id === newEmployeeToBeSelected) {\r\n index = teams[0].employees.indexOf(emp);\r\n }\r\n });\r\n return index;\r\n }\r\n\r\n findTeamIndex(teams: Team[], employeeMonthId: number): number {\r\n const index = teams.findIndex(t => t.employees.some(e => e.employeeMonthId === employeeMonthId));\r\n return index;\r\n }\r\n\r\n findEmployeeMonthId(teamIndex: number, employeeIndex: number, teams: Team[]): number {\r\n const team = teams[teamIndex];\r\n const employee = team.employees[employeeIndex];\r\n return employee.employeeMonthId;\r\n }\r\n\r\n findPayPlanId(teamIndex: number, employeeIndex: number, teams: Team[]): number {\r\n const team = teams[teamIndex];\r\n const employee = team.employees[employeeIndex];\r\n return employee.payPlanId;\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { environment } from '../../environments/environment';\r\nimport { UserService } from './user.service';\r\nimport { HelperMethodsService } from '../shared/services/helper-methods.service';\r\n\r\n@Injectable()\r\nexport class SecuredObjectService {\r\n\r\n goalAssignmentSecObjectNames = [environment.securedObjects.gpPreferencesPageLink,\r\n environment.securedObjects.employeeGoals,\r\n environment.securedObjects.teamGoals,\r\n environment.securedObjects.groupGoals];\r\n\r\n constructor(private userService: UserService,\r\n private helperMethods: HelperMethodsService) {}\r\n\r\n hasCorpAccess(): boolean {\r\n if (this.anySecuredObjects()) {\r\n return this.userService.user.allSecuredObjects.some(so => so.secObjectName === environment.securedObjects.corpUserSecObj);\r\n }\r\n return false;\r\n }\r\n\r\n // ************************Admin*******************************\r\n hasAdminPageAccess(): boolean {\r\n if (this.anySecuredObjects()) {\r\n return this.userService.user.allSecuredObjects.some(so => so.secObjectName === environment.securedObjects.corporateAdminPageLink);\r\n }\r\n return false;\r\n }\r\n\r\n hasAdminSaveAccess(): boolean {\r\n if (this.anySecuredObjects()) {\r\n return this.userService.user.allSecuredObjects.some(so => so.secObjectName === environment.securedObjects.btnSaveAdmin);\r\n }\r\n return false;\r\n }\r\n\r\n // *************************Dashboard*****************************\r\n hasDashboardPageAccess(): boolean {\r\n if (this.anySecuredObjects()) {\r\n return this.userService.user.allSecuredObjects.some(so => so.secObjectName === environment.securedObjects.dashboardPageLink);\r\n }\r\n return false;\r\n }\r\n\r\n hasDashboardEmployeeFilterAccess(): boolean {\r\n if (this.anySecuredObjects()) {\r\n return this.userService.user.allSecuredObjects.some(so => so.secObjectName === environment.securedObjects.ddDashboardUserList);\r\n }\r\n return false;\r\n }\r\n\r\n // ********************************Paid Time Off*******************************\r\n hasPaidTimeOffPageAccess(): boolean {\r\n if (this.anySecuredObjects()) {\r\n return this.userService.user.allSecuredObjects.some(so => so.secObjectName === environment.securedObjects.paidTimeOffPageLink);\r\n }\r\n return false;\r\n }\r\n\r\n hasPaidTimeOffExportAccess(): boolean {\r\n if (this.anySecuredObjects()) {\r\n return this.userService.user.allSecuredObjects.some(so => so.secObjectName === environment.securedObjects.btnExportTimeOff);\r\n }\r\n return false;\r\n }\r\n\r\n hasPaidTimeOffSaveAccess(): boolean {\r\n if (this.anySecuredObjects()) {\r\n return this.userService.user.allSecuredObjects.some(so => so.secObjectName === environment.securedObjects.btnSaveTimeOff);\r\n }\r\n return false;\r\n }\r\n\r\n // ****************************Pay Memo****************************\r\n hasPayMemoPageAccess(): boolean {\r\n if (this.anySecuredObjects()) {\r\n return this.userService.user.allSecuredObjects.some(so => so.secObjectName === environment.securedObjects.payPlanMemoPageLink);\r\n }\r\n return false;\r\n }\r\n\r\n hasPayMemoExportAccess(): boolean {\r\n if (this.anySecuredObjects()) {\r\n return this.userService.user.allSecuredObjects.some(so => so.secObjectName === environment.securedObjects.btnExportPayPlanMemo);\r\n }\r\n return false;\r\n }\r\n\r\n hasPayMemoLockAccess(): boolean {\r\n if (this.anySecuredObjects()) {\r\n return this.userService.user.allSecuredObjects.some(so => so.secObjectName === environment.securedObjects.btnGrpMemoSaveFinal);\r\n }\r\n return false;\r\n }\r\n\r\n hasPayMemoSaveAccess(): boolean {\r\n if (this.anySecuredObjects()) {\r\n return this.userService.user.allSecuredObjects.some(so => so.secObjectName === environment.securedObjects.btnSavePayPlanMemo);\r\n }\r\n return false;\r\n }\r\n\r\n // ****************************Pay Setup****************************\r\n hasPaySetupPageAccess(): boolean {\r\n if (this.anySecuredObjects()) {\r\n return this.userService.user.allSecuredObjects.some(so => so.secObjectName === environment.securedObjects.payPlanSetupPageLink);\r\n }\r\n return false;\r\n }\r\n\r\n hasPaySetupExportAccess(): boolean {\r\n if (this.anySecuredObjects()) {\r\n return this.userService.user.allSecuredObjects.some(so => so.secObjectName === environment.securedObjects.btnExportPayPlan);\r\n }\r\n return false;\r\n }\r\n\r\n hasPaySetupSaveAccess(): boolean {\r\n if (this.anySecuredObjects()) {\r\n return this.userService.user.allSecuredObjects.some(so => so.secObjectName === environment.securedObjects.btnSavePayPlan);\r\n }\r\n return false;\r\n }\r\n\r\n // **********************Team Assignment************************************\r\n hasTeamAssignmentPageAccess(): boolean {\r\n if (this.anySecuredObjects()) {\r\n return this.userService.user.allSecuredObjects.some(so => so.secObjectName === environment.securedObjects.TeamSetupPageLink);\r\n }\r\n return false;\r\n }\r\n\r\n // *************************Goal Assignment*************************\r\n hasGoalAssignmentPageAccess(): boolean {\r\n if (this.anySecuredObjects()) {\r\n return this.userService.isAuthenticated &&\r\n this.userService.user.allSecuredObjects.some(so =>\r\n this.goalAssignmentSecObjectNames.some(goalAssgnSoName =>\r\n so.secObjectName === goalAssgnSoName));\r\n }\r\n return false;\r\n }\r\n\r\n hasGroupPreferencesPageAccess(): boolean {\r\n if (this.anySecuredObjects()) {\r\n return this.userService.user.allSecuredObjects.some(so => so.secObjectName === environment.securedObjects.gpPreferencesPageLink);\r\n }\r\n return false;\r\n }\r\n\r\n hasEmployeeGoalsPageAccess(): boolean {\r\n if (this.anySecuredObjects()) {\r\n return this.userService.user.allSecuredObjects.some(so => so.secObjectName === environment.securedObjects.employeeGoals);\r\n }\r\n return false;\r\n }\r\n\r\n hasTeamGoalsPageAccess(): boolean {\r\n if (this.anySecuredObjects()) {\r\n return this.userService.user.allSecuredObjects.some(so => so.secObjectName === environment.securedObjects.teamGoals);\r\n }\r\n return false;\r\n }\r\n\r\n hasGroupGoalsPageAccess(): boolean {\r\n if (this.anySecuredObjects()) {\r\n return this.userService.user.allSecuredObjects.some(so => so.secObjectName === environment.securedObjects.groupGoals);\r\n }\r\n return false;\r\n }\r\n\r\n private anySecuredObjects(): boolean {\r\n if (this.userService.user) {\r\n return !this.helperMethods.isArrayNullOrEmpty(this.userService.user.allSecuredObjects);\r\n }\r\n return false;\r\n }\r\n}\r\n","import { catchError, filter, takeUntil } from 'rxjs/operators';\r\nimport { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { User } from './user';\r\nimport { environment } from '../../environments/environment';\r\nimport { ErrorHandlingService } from '../shared/services/error-handling.service';\r\nimport { interval, Observable, Subscription, Subject, ReplaySubject, from } from 'rxjs';\r\nimport { AppInsightsService } from '../shared/services/app-insights.service';\r\nimport { unauthorized } from '../shared/static-data/unauthorized';\r\nimport { AlertModalComponent } from '../shared/alert-modal/alert-modal.component';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { HelperMethodsService } from '../shared/services/helper-methods.service';\r\nimport { SecuredObject } from './secured-object';\r\nimport { MsalBroadcastService, MsalService } from '@azure/msal-angular';\r\nimport { AccountInfo, AuthenticationResult, SilentRequest, InteractionStatus } from '@azure/msal-browser';\r\nimport { msalConfig } from '../app.module';\r\n\r\n\r\n@Injectable()\r\nexport class UserService {\r\n private baseUrl: string = environment.dotNetCoreUrl;\r\n private userURL: string = this.baseUrl + 'coreapi/User';\r\n private user$: Observable;\r\n private userSubscription = new Subscription();\r\n public haveUserRoles = false;\r\n private userSource: Subject = new ReplaySubject(1);\r\n public userSource$ = this.userSource.asObservable();\r\n public user: User;\r\n private token: string;\r\n private token$: Observable;\r\n private tokenSubscription = new Subscription();\r\n public isAuthenticated = false;\r\n private isWaitingOnToken = false;\r\n private authResponse: AuthenticationResult;\r\n\r\n private readonly _destroying$ = new Subject();\r\n\r\n private silentRequest: SilentRequest = {\r\n scopes: ['user.read'],\r\n redirectUri : msalConfig.auth.redirectUri,\r\n account : this.msalSvc.instance.getAllAccounts().length > 0 ? this.msalSvc.instance.getAllAccounts()[0] : null \r\n };\r\n\r\n private tokenRequest = {\r\n scopes: ['user.read']\r\n };\r\n \r\n constructor(private httpClient: HttpClient,\r\n private errorService: ErrorHandlingService,\r\n private msalSvc: MsalService,\r\n private appInsightsSvc: AppInsightsService,\r\n public dialog: MatDialog,\r\n private helperMethodsSvc: HelperMethodsService) {\r\n\r\n this.callMsalSubscriber();\r\n }\r\n\r\n callMsalSubscriber() {\r\n this.msalSvc.handleRedirectObservable().subscribe({\r\n next: (result: AuthenticationResult) => {\r\n // Perform actions related to user accounts here\r\n if (!result && !this.authResponse) {\r\n this.loginWithRedirect();\r\n } else {\r\n // store auth result\r\n this.msalSvc.instance.setActiveAccount(result.account);\r\n this.postLoginProcess(result);\r\n }\r\n },\r\n error: (error) => console.log(error)\r\n }); \r\n }\r\n \r\n async loginWithRedirect() {\r\n await this.msalSvc.instance.acquireTokenSilent(this.silentRequest).then( resp => {\r\n this.authResponse = resp;\r\n }).catch( async () => {\r\n await this.msalSvc.instance.loginRedirect(this.tokenRequest);\r\n });\r\n };\r\n \r\n postLoginProcess(res: AuthenticationResult) {\r\n if (res) {\r\n this.authResponse = res;\r\n this.token = res.idToken;\r\n this.getUser();\r\n this.isAuthenticated = true;\r\n //this.refreshTokenAtInterval();\r\n }\r\n }\r\n\r\n getUser() {\r\n this.user$ = this.httpClient.get(this.userURL, this.getHttpOptions())\r\n .pipe(\r\n catchError(this.errorService.handleError)\r\n );\r\n this.subscribeToUserObservable();\r\n }\r\n\r\n subscribeToUserObservable() {\r\n this.userSubscription.unsubscribe(); // Unsubscribe in case there is an old or mistaken search in process\r\n\r\n this.userSubscription = this.user$.subscribe({\r\n next: ((emp: User) => {\r\n this.user = emp;\r\n this.checkRoles(); // This method throws the not authorized alert modal rather than doing it in method isAuthorized\r\n // because that method will cause an infinite amount of modals to show up and crash chrome. \r\n }),\r\n error: ((err) => {\r\n if (err[0] === unauthorized.unauthorized) {\r\n // this.router.navigate(['/session-expired']);\r\n } else {\r\n this.alertUser(err[0]);\r\n }\r\n }), \r\n complete: (() => {\r\n this.logUserRetrieval();\r\n })\r\n });\r\n }\r\n\r\n getHttpOptions() {\r\n const httpOptions = {\r\n headers: new HttpHeaders({\r\n 'Cache-Control': 'no-cache', // needed this for IE to prevent IE from caching restful api calls\r\n 'Pragma': 'no-cache'\r\n })\r\n };\r\n httpOptions.headers = httpOptions.headers.append('Content-Type', 'application/json');\r\n httpOptions.headers = httpOptions.headers.append('Authorization', 'Bearer ' + this.token);\r\n httpOptions.headers = httpOptions.headers.append('EmailLocalPart', this.helperMethodsSvc.getEmailPart(this.authResponse.account.username, 0));\r\n httpOptions.headers = httpOptions.headers.append('EmailDomainPart', this.helperMethodsSvc.getEmailPart(this.authResponse.account.username, 1));\r\n\r\n return httpOptions;\r\n }\r\n\r\n checkAuthenticated() {\r\n if ((this.msalSvc.instance.getActiveAccount() == null) && !this.isWaitingOnToken) {\r\n\r\n this.token$ = from(this.msalSvc.instance.acquireTokenSilent(this.silentRequest).then( (resp) => {\r\n return resp.idToken;\r\n }));\r\n this.subscribeToAcquireToken();\r\n }\r\n }\r\n\r\n refreshTokenAtInterval() {\r\n interval(1000 * 60 * 31).subscribe(() => {\r\n this.token$ = from(this.msalSvc.instance.acquireTokenSilent(this.silentRequest).then( resp => {\r\n return resp.idToken\r\n }));\r\n this.subscribeToAcquireToken();\r\n });\r\n }\r\n\r\n subscribeToAcquireToken() {\r\n this.tokenSubscription.unsubscribe();\r\n this.isWaitingOnToken = true;\r\n this.tokenSubscription = this.token$.subscribe({\r\n next: ( (newToken : string) => {\r\n this.token = newToken;\r\n this.isWaitingOnToken = false;\r\n }),\r\n error: ((err) => {\r\n this.appInsightsSvc.logErrorThrown(err + ' Failure to acquire new token from Active Directory', this.user);\r\n this.isWaitingOnToken = false;\r\n })\r\n })\r\n }\r\n\r\n // Check if user is authorized\r\n isAuthorized(): boolean {\r\n if (this.user) {\r\n if (this.user.roles.length > 0) {\r\n return true;\r\n }\r\n } else {\r\n return false;\r\n }\r\n }\r\n\r\n logUserRetrieval() : void {\r\n if (this.msalSvc.instance.getActiveAccount() != null) {\r\n const activeAccount: AccountInfo = this.msalSvc.instance.getActiveAccount();\r\n\r\n if (activeAccount.idTokenClaims)\r\n {\r\n if (this.helperMethodsSvc.isStringNullOrEmpty(this.user.eId) &&\r\n this.helperMethodsSvc.isStringNullOrEmpty(this.user.firstName) &&\r\n this.helperMethodsSvc.isStringNullOrEmpty(this.user.lastName)) {\r\n this.appInsightsSvc.appInsights.trackEvent('Token is present but NO user could be retrieved',\r\n {\r\n 'token info': activeAccount.idTokenClaims.name +\r\n activeAccount.idTokenClaims.iat + activeAccount.idTokenClaims.exp\r\n });\r\n }\r\n }\r\n }\r\n }\r\n\r\n alertUser(message: string): void {\r\n this.dialog.open(AlertModalComponent, {\r\n width: '300px',\r\n height: '150px',\r\n data: { alertMessage: message }\r\n });\r\n }\r\n\r\n checkRoles() {\r\n if (this.user) {\r\n if (this.user.roles.length === 0) {\r\n this.haveUserRoles = false;\r\n this.appInsightsSvc.logUserAction('User is not authorized', this.user);\r\n this.alertUser('You are not authorized to access this application. \\nContact your supervisor for access.');\r\n } else {\r\n this.haveUserRoles = true;\r\n this.getSecuredObjects(this.user);\r\n this.userSource.next(this.user);\r\n this.appInsightsSvc.logUserAction('User is authorized', this.user);\r\n }\r\n }\r\n }\r\n\r\n getSecuredObjects(user: User) {\r\n user.allSecuredObjects = new Array();\r\n user.roles.forEach(role => {\r\n role.securedObjects.forEach(so => user.allSecuredObjects.push(so));\r\n });\r\n }\r\n\r\n ngOnDestroy() {\r\n this._destroying$.next(undefined);\r\n this._destroying$.complete();\r\n this.tokenSubscription.unsubscribe();\r\n //this.msalSvc.logout();\r\n }\r\n}\r\n","import {UserRole} from './user-role';\r\nimport { SecuredObject } from './secured-object';\r\n\r\nexport class User {\r\n id: number;\r\n firstName: string;\r\n middleName: string;\r\n lastName: string;\r\n preferredName: string;\r\n group: string;\r\n branch: string;\r\n country: string;\r\n eId: string;\r\n roles: Array;\r\n allSecuredObjects: Array;\r\n}\r\n","import { Component, Inject, OnInit } from '@angular/core';\r\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\r\n\r\n@Component({\r\n selector: 'scoreboard-alert-modal',\r\n templateUrl: './alert-modal.component.html',\r\n styleUrls: ['./alert-modal.component.scss']\r\n})\r\nexport class AlertModalComponent implements OnInit {\r\n\r\n alertMessage: string;\r\n\r\n constructor(public dialogRef: MatDialogRef,\r\n @Inject(MAT_DIALOG_DATA) public data: any) {\r\n }\r\n\r\n ngOnInit() {\r\n this.alertMessage = this.data.alertMessage;\r\n }\r\n\r\n closeDialog() {\r\n this.dialogRef.close();\r\n }\r\n}\r\n","import { Component } from '@angular/core';\r\nimport { AppInsightsService } from '../services/app-insights.service';\r\nimport { User } from '../../security/user';\r\nimport { UserService } from '../../security/user.service';\r\n\r\n@Component({\r\n template: ''\r\n})\r\nexport class BaseComponent {\r\n user: User;\r\n tabData: string;\r\n level: string;\r\n levelValue: string;\r\n month: number;\r\n year: number;\r\n filterErrorMessage: string;\r\n isEurope: boolean;\r\n\r\n constructor(public appInsights: AppInsightsService,\r\n public userService: UserService) {\r\n }\r\n\r\n logNavigation(user: User, tabData?: string) {\r\n this.appInsights.logPageView(user, tabData);\r\n }\r\n\r\n trackUser() {\r\n this.userService.userSource$.subscribe(user => {\r\n this.user = user;\r\n });\r\n this.logNavigation(this.user, this.tabData);\r\n }\r\n}\r\n","import { Component, Input } from '@angular/core';\r\nimport { AppInsightsService } from '../services/app-insights.service';\r\nimport { environment } from '../../../environments/environment';\r\nimport { User } from '../../security/user';\r\nimport { IGoal } from './IGoal';\r\n\r\n\r\n@Component({\r\n template: ''\r\n})\r\nexport class SpcBaseComponent {\r\n\r\n @Input() user: User;\r\n public isSpcEnabled: boolean = this.getEnvironmentValue(environment.SPC.Enabled);\r\n public isNetSpcEnabled: boolean = this.getEnvironmentValue(environment.netSPC.Enabled); \r\n //Use local Boost in payplans and paymemos\r\n public isPayLocalBoostEnabled: boolean = this.getEnvironmentValue(environment.Features.LocalBoostEnabled);\r\n //Use Aged Percent in payplans and paymemos\r\n public isPayAgedPercentEnabled: boolean = this.getEnvironmentValue(environment.Features.AgedPercentEnabled);\r\n \r\n public isNonTotalPayPlanPercentValidatorsEnabled = this.getEnvironmentValue(environment.Validators.PayPlan.NonTotalPercentValidatorsEnabled);\r\n public defaultElementToHide: string = \"Local Boost\";\r\n \r\n constructor(public appInsights: AppInsightsService) {}\r\n\r\n private getEnvironmentValue(setting : boolean): boolean {\r\n\r\n try {\r\n if (setting === null || setting === undefined) {\r\n return false; \r\n }\r\n return setting;\r\n }\r\n catch(err)\r\n {\r\n this.appInsights.logErrorThrown(err + ' Failure to get environment value ' + setting, this.user);\r\n return false;\r\n }\r\n }\r\n\r\n public hideHtmlElementByName(obj: T, goalNameToHide: string): boolean {\r\n return (obj && obj.groupMetric && obj.goalName && obj.goalName.toLowerCase().indexOf(goalNameToHide.toLowerCase()) > -1);\r\n }\r\n}","import { Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'scoreboard-contact-us',\r\n templateUrl: './contact-us.component.html',\r\n styleUrls: ['./contact-us.component.scss']\r\n})\r\nexport class ContactUsComponent {\r\n\r\n constructor() { }\r\n\r\n}\r\n","import { Component, OnInit, EventEmitter, Output } from '@angular/core';\r\nimport { DateFilterService } from './date-filter.service';\r\nimport { MonthYear } from './month-year';\r\n\r\n@Component({\r\n selector: 'scoreboard-date-filter',\r\n templateUrl: './date-filter.component.html',\r\n styleUrls: ['./date-filter.component.scss']\r\n})\r\nexport class DateFilterComponent implements OnInit {\r\n monthYears: MonthYear[];\r\n selectedMonthYear: MonthYear;\r\n @Output() monthYearChanged: EventEmitter;\r\n\r\n constructor(private dateService: DateFilterService) {\r\n this.monthYearChanged = new EventEmitter();\r\n }\r\n\r\n ngOnInit() {\r\n this.monthYears = this.dateService.getMonthYears();\r\n\r\n if (this.IsFirstOfTheMonth()) {\r\n this.selectedMonthYear = this.monthYears[2]; // default to previous month\r\n } else {\r\n this.selectedMonthYear = this.monthYears[1]; // default to current month\r\n }\r\n\r\n this.onSelectMonthYear();\r\n }\r\n\r\n onSelectMonthYear() {\r\n this.monthYearChanged.emit(this.selectedMonthYear);\r\n }\r\n\r\n IsFirstOfTheMonth(): boolean {\r\n return new Date().getDate() === 1;\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { DatePipe } from '@angular/common';\r\nimport { MonthYear } from './month-year';\r\n\r\n@Injectable()\r\nexport class DateFilterService {\r\n\r\n datePipe = new DatePipe('en-US');\r\n\r\n getMonthYears(date = new Date()): MonthYear[] {\r\n const monthYears = new Array();\r\n\r\n // Month options go back 2 years starting from one month in the future.\r\n for (let i = -1; i < 25; i++) {\r\n date.setDate(1);\r\n const newDate = this.addMonths(date, -i);\r\n const monthYear = this.toMonthYear(newDate);\r\n monthYears.push(monthYear);\r\n }\r\n return monthYears;\r\n }\r\n\r\n private toMonthYear(date: Date): MonthYear {\r\n // Format date as: 'January 2017' (day = 1 if no day is passed, resulting in 'January 1, 2017', but I am removing the day portion)\r\n const monthYearPipe = this.datePipe.transform(new Date(date.getFullYear(), date.getMonth()), 'longDate', '', 'en-US').replace('1,', '');\r\n const split = monthYearPipe.split(' '); // split month and year\r\n const monthYear = new MonthYear();\r\n monthYear.monthName = split[0]; // month name is for display\r\n monthYear.month = date.getMonth(); // month number is for api call\r\n monthYear.year = date.getFullYear();\r\n return monthYear;\r\n }\r\n\r\n private addMonths(date: Date, monthsToAdd: number): Date {\r\n const result = new Date(\r\n date.getFullYear(),\r\n date.getMonth() + monthsToAdd,\r\n date.getDate(),\r\n date.getHours(),\r\n date.getMinutes(),\r\n date.getSeconds());\r\n return result;\r\n }\r\n}\r\n","export class MonthYear {\r\n monthName: string;\r\n month: number;\r\n year: number;\r\n}\r\n","import { Component, OnInit, Inject } from '@angular/core';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\n\r\n@Component({\r\n selector: 'scoreboard-decision-modal',\r\n templateUrl: './decision-modal.component.html',\r\n styleUrls: ['./decision-modal.component.scss']\r\n})\r\nexport class DecisionModalComponent implements OnInit {\r\n message: string;\r\n\r\n constructor(public dialogRef: MatDialogRef,\r\n @Inject(MAT_DIALOG_DATA) public data: any) {\r\n }\r\n\r\n ngOnInit() {\r\n this.message = this.data.message;\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { DecisionModalComponent } from './decision-modal.component';\r\nimport { Observable } from 'rxjs';\r\n\r\n@Injectable()\r\nexport class DecisionModalService {\r\n constructor(public dialog: MatDialog) {\r\n\r\n }\r\n askUser(message: string, width: string): Observable {\r\n const dialogRef = this.dialog.open(DecisionModalComponent, {\r\n data: { message: message },\r\n width: width\r\n });\r\n\r\n return dialogRef.afterClosed();\r\n }\r\n}\r\n","import { Directive, ElementRef, HostListener } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[scoreboardMyNoDecimalNumberOnly]'\r\n })\r\n export class NoDecimalNumberOnlyDirective {\r\n // No decimal numbers and negative values\r\n private regex: RegExp = new RegExp(/^-?[0-9]+([0-9]*){0,1}$/g);\r\n // Allow key codes for special events. Reflect :\r\n // Backspace, tab, end, home\r\n private specialKeys: Array = [ 'Backspace', 'Tab', 'End', 'Home', 'ArrowLeft', 'ArrowRight', '-', 'Delete', '1', '2', '3', '4', '5', '6', '7', '8', '9', '0' ];\r\n\r\n constructor(private el: ElementRef) {\r\n }\r\n @HostListener('keydown', [ '$event' ])\r\n onKeyDown(event: KeyboardEvent) {\r\n // Allow Backspace, tab, end, and home keys\r\n if (this.specialKeys.indexOf(event.key) !== -1) {\r\n return;\r\n }\r\n const current: string = this.el.nativeElement.value;\r\n const next: string = current.concat(event.key);\r\n if (next && !String(next).match(this.regex)) {\r\n event.preventDefault();\r\n }\r\n }\r\n}\r\n","import { Directive, ElementRef, HostListener } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[scoreboardMyNumberOnly]'\r\n })\r\n export class NumberOnlyDirective {\r\n // Allow decimal numbers and negative values\r\n private regex: RegExp = new RegExp(/^-?[0-9]+(\\.[0-9]*){0,1}$/g);\r\n // Allow key codes for special events. Reflect :\r\n // Backspace, tab, end, home\r\n private specialKeys: Array = [ 'Backspace', 'Tab', 'End', 'Home', 'ArrowLeft', 'ArrowRight', '-', 'Delete', '1', '2', '3', '4', '5', '6', '7', '8', '9', '0' ];\r\n\r\n constructor(private el: ElementRef) {\r\n }\r\n @HostListener('keydown', [ '$event' ])\r\n onKeyDown(event: KeyboardEvent) {\r\n // Allow Backspace, tab, end, and home keys\r\n if (this.specialKeys.indexOf(event.key) !== -1) {\r\n return;\r\n }\r\n const current: string = this.el.nativeElement.value;\r\n const next: string = current.concat(event.key);\r\n if (next && !String(next).match(this.regex)) {\r\n event.preventDefault();\r\n }\r\n }\r\n}\r\n","import { Directive, ElementRef, HostListener } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[scoreboardMyPositiveNumber]'\r\n })\r\n export class PositiveNumberOnlyDirective {\r\n // Allow decimal numbers and negative values\r\n private regex: RegExp = new RegExp(/^-?[0-9]+(\\.[0-9]*){0,1}$/g);\r\n // Allow key codes for special events. Reflect :\r\n // Backspace, tab, end, home\r\n private specialKeys: Array = [ 'Backspace', 'Tab', 'End', 'Home', 'ArrowLeft', 'ArrowRight', 'Delete', '1', '2', '3', '4', '5', '6', '7', '8', '9', '0' ];\r\n\r\n constructor(private el: ElementRef) {\r\n }\r\n @HostListener('keydown', [ '$event' ])\r\n onKeyDown(event: KeyboardEvent) {\r\n // Allow Backspace, tab, end, and home keys\r\n if (this.specialKeys.indexOf(event.key) !== -1) {\r\n return;\r\n }\r\n const current: string = this.el.nativeElement.value;\r\n const next: string = current.concat(event.key);\r\n if (next && !String(next).match(this.regex)) {\r\n event.preventDefault();\r\n }\r\n }\r\n}\r\n","import { Component, Input, EventEmitter, Output, OnChanges } from '@angular/core';\r\nimport { SubscriptionService } from '../services/subscription.service';\r\nimport { Observable, Subscription } from 'rxjs';\r\nimport { Employee } from '../../models/incoming-dtos/employee';\r\nimport { EmployeeFilterService } from './employee-filter.service';\r\nimport { HelperMethodsService } from '../services/helper-methods.service';\r\nimport { User } from '../../security/user';\r\n\r\n\r\n@Component({\r\n selector: 'scoreboard-employee-filter',\r\n templateUrl: './employee-filter.component.html'\r\n})\r\nexport class EmployeeFilterComponent implements OnChanges {\r\n @Input() levelValue: string;\r\n @Input() year: number;\r\n @Input() month: number;\r\n @Input() user: User;\r\n @Output() onEmployeeChanged: EventEmitter;\r\n employees = new Array();\r\n employees$ = new Observable>();\r\n employeeSubscription = new Subscription;\r\n selectedEmpId: string;\r\n\r\n constructor(public employeeFilterService: EmployeeFilterService,\r\n private helperMethods: HelperMethodsService,\r\n private subscriptionService: SubscriptionService) {\r\n this.onEmployeeChanged = new EventEmitter();\r\n }\r\n\r\n ngOnChanges() {\r\n this.employees$ = this.employeeFilterService.getEmployees(this.levelValue, this.year, this.month);\r\n this.subscribeToEmployeesObservable();\r\n }\r\n\r\n subscribeToEmployeesObservable(): any {\r\n this.employees = [];\r\n this.employeeSubscription.unsubscribe();\r\n this.employeeSubscription = this.employees$\r\n .subscribe(\r\n employees => {\r\n if (!this.helperMethods.isArrayNullOrEmpty(employees)) {\r\n this.employees = employees;\r\n this.setSelectedEmployee();\r\n this.onEmployeeChanged.emit(this.selectedEmpId);\r\n }\r\n },\r\n err => {\r\n this.subscriptionService.onError(err, 'getEmployees');\r\n }\r\n );\r\n }\r\n\r\n selectFilter(employee: Employee): any {\r\n this.selectedEmpId = employee.eId;\r\n this.onEmployeeChanged.emit(this.selectedEmpId);\r\n }\r\n\r\n setSelectedEmployee() {\r\n this.selectedEmpId = this.employees[0].eId;\r\n this.checkIfUserIsSelectableEmployee();\r\n }\r\n\r\n checkIfUserIsSelectableEmployee() {\r\n this.employees.forEach(employee => {\r\n const eId = 'E' + employee.eId;\r\n if (eId === this.user.eId) {\r\n this.selectedEmpId = employee.eId;\r\n }\r\n });\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { ErrorHandlingService } from '../services/error-handling.service';\r\nimport { UserService } from '../../security/user.service';\r\nimport { environment } from '../../../environments/environment';\r\nimport { Employee } from '../../models/incoming-dtos/employee';\r\nimport { catchError } from 'rxjs/operators';\r\n\r\n@Injectable()\r\nexport class EmployeeFilterService {\r\n private baseUrl: string = environment.dotNetCoreUrl + 'coreapi/';\r\n private employeesUrl: string = this.baseUrl + 'Dashboard/Employees';\r\n\r\n constructor(private httpClient: HttpClient, private userService: UserService, private errorService: ErrorHandlingService) { }\r\n\r\n getEmployees(groupName: string, year: number, month: number): Observable {\r\n const url = this.employeesUrl + '/' + groupName + '/' + year + '/' + month;\r\n return this.httpClient.get(url, this.userService.getHttpOptions())\r\n .pipe(\r\n catchError(this.errorService.handleError)\r\n );\r\n }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'scoreboard-footer',\r\n templateUrl: './footer.component.html',\r\n styleUrls: ['./footer.component.scss']\r\n})\r\nexport class FooterComponent implements OnInit {\r\n\r\n year: number;\r\n\r\n ngOnInit() {\r\n this.year = new Date().getFullYear();\r\n }\r\n}\r\n","import { Component, Input, Output, EventEmitter, OnChanges } from '@angular/core';\r\nimport { UntypedFormControl } from '@angular/forms';\r\nimport { groupLevels } from '../static-data/group-levels';\r\nimport { GroupFilterService } from './group-filter.service';\r\nimport { HelperMethodsService } from '../services/helper-methods.service';\r\nimport { SubscriptionService } from '../services/subscription.service';\r\nimport { User } from '../../security/user';\r\nimport { Subscription, Observable } from 'rxjs';\r\nimport { startWith, map, finalize } from 'rxjs/operators';\r\nimport { SecuredObjectService } from '../../security/secured-object.service';\r\n\r\n@Component({\r\n selector: 'scoreboard-group-filter',\r\n templateUrl: './group-filter.component.html',\r\n styleUrls: ['./group-filter.component.scss']\r\n})\r\nexport class GroupFilterComponent implements OnChanges {\r\n filters: Array;\r\n selectedFilter: string;\r\n filterValues: Array;\r\n filterValues$: Observable>;\r\n europeLocations: Array;\r\n europeLocations$: Observable>;\r\n groupSubscription = new Subscription();\r\n europeLocationSubscription = new Subscription();\r\n isApplyDisabled = false;\r\n query: string;\r\n initialLoad: boolean;\r\n isEurope: boolean;\r\n\r\n locationControl: UntypedFormControl = new UntypedFormControl();\r\n filteredOptions: Observable;\r\n\r\n @Input() isGroupLevel: boolean;\r\n @Input() user: User;\r\n @Output() filtersChanged: EventEmitter<[string, string, boolean]>;\r\n @Output() isApplyDisabledChanged: EventEmitter;\r\n\r\n constructor(public groupFilterService: GroupFilterService,\r\n public helperMethods: HelperMethodsService,\r\n private subscriptionService: SubscriptionService,\r\n public secObjService: SecuredObjectService) {\r\n this.filtersChanged = new EventEmitter<[string, string, boolean]>();\r\n this.isApplyDisabledChanged = new EventEmitter();\r\n }\r\n\r\n ngOnChanges() {\r\n this.getEuropeLocations();\r\n }\r\n\r\n getEuropeLocations() {\r\n this.europeLocations$ = this.groupFilterService.getEuropeLocations$();\r\n this.subscribeToEuropeLocationsObservable();\r\n }\r\n\r\n setInitialSelections() {\r\n this.initialLoad = true;\r\n if (this.secObjService.hasCorpAccess()) {\r\n\r\n if (this.isGroupLevel) {\r\n this.filters = [groupLevels.group];\r\n this.selectedFilter = groupLevels.group;\r\n\r\n if ((this.user.group.match('98') === null) && (this.user.group.match('V8') === null) && (this.user.group.match('77') === null) && (this.user.group.match('UK') === null)) {\r\n this.locationControl.setValue(this.user.group);\r\n } else {\r\n this.locationControl.setValue('01');\r\n this.isEurope = false;\r\n }\r\n } else {\r\n if (this.user.country === 'USA' || this.user.country === 'CAN') {\r\n this.filters = [groupLevels.country, groupLevels.svpTeam, groupLevels.group];\r\n this.selectedFilter = groupLevels.country;\r\n this.locationControl.setValue(this.user.country);\r\n } else {\r\n this.filters = [groupLevels.group];\r\n this.selectedFilter = groupLevels.group;\r\n this.locationControl.setValue(this.user.group);\r\n }\r\n }\r\n this.filterValues$ = this.groupFilterService.getFilterValues(this.selectedFilter);\r\n this.subscribeToFilterValuesObservable();\r\n } else {\r\n this.filters = [groupLevels.group];\r\n this.filterValues = [this.user.group];\r\n this.selectedFilter = groupLevels.group;\r\n this.locationControl.setValue(this.filterValues[0]);\r\n this.isApplyDisabled = false;\r\n this.emitFilter();\r\n this.isApplyDisabledChanged.emit(this.isApplyDisabled);\r\n }\r\n }\r\n\r\n subscribeToFilterValuesObservable() {\r\n this.filterValues = new Array();\r\n this.groupSubscription.unsubscribe();\r\n this.isApplyDisabled = true;\r\n this.isApplyDisabledChanged.emit(this.isApplyDisabled);\r\n\r\n this.groupSubscription = this.filterValues$\r\n .pipe(\r\n finalize(() => {\r\n this.setupAutoSelect();\r\n this.isApplyDisabled = false;\r\n this.emitFilter();\r\n this.isApplyDisabledChanged.emit(this.isApplyDisabled);\r\n })\r\n )\r\n .subscribe(\r\n filters => {\r\n filters.forEach(filter => {\r\n if (!this.helperMethods.isStringNullOrEmpty(filter)) {\r\n this.filterValues.push(filter);\r\n }\r\n });\r\n if (this.isGroupLevel && this.initialLoad) {\r\n this.locationControl.setValue(this.setGroupBasedOnUser());\r\n }\r\n },\r\n err => {\r\n this.subscriptionService.onError(err, 'getFilterValues');\r\n }\r\n );\r\n }\r\n\r\n subscribeToEuropeLocationsObservable() {\r\n this.europeLocations = new Array();\r\n this.europeLocationSubscription.unsubscribe();\r\n\r\n this.europeLocationSubscription = this.europeLocations$\r\n .pipe(\r\n finalize(() => {\r\n this.setInitialSelections();\r\n })\r\n )\r\n .subscribe(\r\n locations => {\r\n if (!this.helperMethods.isArrayNullOrEmpty(locations)) {\r\n locations.forEach(location => {\r\n if (!this.helperMethods.isStringNullOrEmpty(location)) {\r\n this.europeLocations.push(location);\r\n }\r\n }); // end foreach\r\n }\r\n }, // end locations\r\n err => {\r\n this.subscriptionService.onError(err, 'getEuropeLocations');\r\n } // end err\r\n ); // end subscribe\r\n }\r\n\r\n setupAutoSelect() {\r\n let startWithVal = '';\r\n if (this.initialLoad && (this.selectedFilter === groupLevels.country)) {\r\n startWithVal = this.user.country;\r\n this.initialLoad = false;\r\n }\r\n if (this.initialLoad && (this.selectedFilter === groupLevels.group)) {\r\n startWithVal = this.setGroupBasedOnUser();\r\n this.initialLoad = false;\r\n }\r\n this.filteredOptions = this.locationControl.valueChanges\r\n .pipe(\r\n startWith(startWithVal),\r\n map(val => {\r\n this.checkIfValShouldBeEmitted(val);\r\n return this.filter(val);\r\n })\r\n );\r\n }\r\n\r\n filter(val: string): string[] {\r\n const matches = this.filterValues.filter(option =>\r\n option.toLowerCase().indexOf(val.toLowerCase()) !== -1);\r\n if (matches.length > 1) { // This causes the dropdown of options to dissappear after clicking on an item in the list, the page loads, and focus is brought back to input field.\r\n return matches;\r\n }\r\n }\r\n\r\n checkIfValShouldBeEmitted(val: string) {\r\n if (this.filterValues.includes(val.toUpperCase())) {\r\n this.emitFilter();\r\n }\r\n }\r\n\r\n selectFilter() {\r\n this.filterValues$ = this.groupFilterService.getFilterValues(this.selectedFilter);\r\n this.subscribeToFilterValuesObservable();\r\n this.locationControl.setValue('');\r\n this.emitFilter(); // Emit filter id as invalid string when null to allow proper error handling in parent component.\r\n }\r\n\r\n emitFilter() {\r\n this.checkForEurope();\r\n if (this.helperMethods.isStringNullOrEmpty(this.locationControl.value)\r\n || !this.filterValues.includes(this.locationControl.value.toUpperCase())) {\r\n this.filtersChanged.emit([this.selectedFilter, groupLevels.invalid, false]);\r\n } else {\r\n this.filtersChanged.emit([this.selectedFilter, this.locationControl.value, this.isEurope]);\r\n }\r\n }\r\n\r\n checkForEurope() {\r\n if (this.europeLocations.includes(this.locationControl.value.toUpperCase())) {\r\n this.isEurope = true;\r\n } else {\r\n this.isEurope = false;\r\n }\r\n }\r\n\r\n setGroupBasedOnUser(): string {\r\n if ((this.filterValues.includes(this.user.group)) && (this.user.group !== '98') && (this.user.group !== '77') && (this.user.group !== 'UK')) {\r\n return this.user.group;\r\n } else if (this.europeLocations.includes(this.user.group)) {\r\n return this.filterValues.find(x => this.europeLocations.includes(x));\r\n } else {\r\n return this.filterValues[0];\r\n }\r\n }\r\n\r\n hideGroupFilterFromNonCorpUser() {\r\n if (!this.secObjService.hasCorpAccess()) {\r\n return { 'display': 'none' };\r\n }\r\n\r\n return {};\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { ErrorHandlingService } from '../services/error-handling.service';\r\nimport { Observable } from 'rxjs';\r\nimport { environment } from '../../../environments/environment';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { UserService } from '../../security/user.service';\r\nimport { groupLevels } from '../static-data/group-levels';\r\nimport { catchError } from 'rxjs/operators';\r\nimport { UpdateGroupDto } from '../../models/outgoing-dtos/update-group-dto';\r\nimport { Group } from '../../models/incoming-dtos/group';\r\n\r\n@Injectable()\r\nexport class GroupFilterService {\r\n private baseUrl: string = environment.dotNetCoreUrl + 'coreapi/';\r\n private countryUrl: string = this.baseUrl + 'Group/Countries';\r\n private svpTeamUrl: string = this.baseUrl + 'Group/SvpTeams';\r\n private groupUrl: string = this.baseUrl + 'Group/Groups';\r\n private europeLocationsUrl: string = this.baseUrl + 'Group/EuropeLocations';\r\n private saveGroupUrl: string = this.baseUrl + 'Group/UpdateGroup';\r\n private getGroupUrl: string = this.baseUrl + 'Group/';\r\n\r\n filterValues$ = new Observable();\r\n\r\n constructor(private httpClient: HttpClient,\r\n private userService: UserService,\r\n private errorService: ErrorHandlingService) {\r\n }\r\n\r\n getFilterValues(selectedFilter: string) {\r\n switch (selectedFilter) {\r\n case groupLevels.group:\r\n this.filterValues$ = this.getGroups$();\r\n break;\r\n case groupLevels.svpTeam:\r\n this.filterValues$ = this.getSvpTeams$();\r\n break;\r\n case groupLevels.country:\r\n this.filterValues$ = this.getCountries$();\r\n break;\r\n }\r\n return this.filterValues$;\r\n }\r\n\r\n getCountries$(): Observable> {\r\n return this.httpClient.get(this.countryUrl, this.userService.getHttpOptions())\r\n .pipe(\r\n catchError(this.errorService.handleError)\r\n );\r\n }\r\n\r\n getSvpTeams$(): Observable> {\r\n return this.httpClient.get(this.svpTeamUrl, this.userService.getHttpOptions())\r\n .pipe(\r\n catchError(this.errorService.handleError)\r\n );\r\n }\r\n\r\n getGroups$(): Observable> {\r\n return this.httpClient.get(this.groupUrl, this.userService.getHttpOptions())\r\n .pipe(\r\n catchError(this.errorService.handleError)\r\n );\r\n }\r\n\r\n getEuropeLocations$(): Observable> {\r\n return this.httpClient.get(this.europeLocationsUrl, this.userService.getHttpOptions())\r\n .pipe(\r\n catchError(this.errorService.handleError)\r\n );\r\n }\r\n\r\n saveGroup(saveGroupDto: UpdateGroupDto): Observable {\r\n return this.httpClient.post(this.saveGroupUrl, saveGroupDto, this.userService.getHttpOptions())\r\n .pipe(\r\n catchError(this.errorService.handleError)\r\n );\r\n }\r\n \r\n getGroup(ehiGroupId: number): Observable {\r\n return this.httpClient.get(this.getGroupUrl + ehiGroupId, this.userService.getHttpOptions())\r\n .pipe(\r\n catchError(this.errorService.handleError)\r\n );\r\n }\r\n}\r\n","import { Component, Inject, OnInit } from '@angular/core';\r\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\r\nimport { SpinnerDetectionService } from './spinner-detection.service';\r\n\r\n@Component({\r\n selector: 'scoreboard-loading-spinner',\r\n templateUrl: './loading-spinner.component.html',\r\n styleUrls: ['./loading-spinner.component.scss']\r\n})\r\nexport class LoadingSpinnerComponent implements OnInit {\r\n isLoading: boolean;\r\n message: string;\r\n\r\n constructor(public dialogRef: MatDialogRef,\r\n @Inject(MAT_DIALOG_DATA) public data: any,\r\n public spinnerDetectSvc: SpinnerDetectionService) { }\r\n\r\n ngOnInit() {\r\n this.message = this.data;\r\n this.spinnerDetectSvc.isLoading$.subscribe(isLoading => {\r\n this.isLoading = isLoading;\r\n if (!this.isLoading) {\r\n this.onDoneLoading();\r\n }\r\n });\r\n }\r\n\r\n onDoneLoading() {\r\n this.dialogRef.close();\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { LoadingSpinnerComponent } from './loading-spinner.component';\r\nimport { SpinnerDetectionService } from './spinner-detection.service';\r\n\r\n@Injectable()\r\nexport class LoadingSpinnerService {\r\n public isCurrentlyLoading = false;\r\n dialogRef: any;\r\n timer: any;\r\n\r\n constructor(public dialog: MatDialog,\r\n public spinnerDetectSvc: SpinnerDetectionService) {\r\n }\r\n\r\n shouldShowLoading() {\r\n this.timer = setTimeout(() => {\r\n this.turnSpinnerOn('Loading...');\r\n });\r\n }\r\n\r\n turnSpinnerOn(message: string) {\r\n this.spinnerDetectSvc.isLoading.next(true);\r\n if (!this.isCurrentlyLoading) {\r\n this.isCurrentlyLoading = true;\r\n this.dialogRef = this.dialog.open(LoadingSpinnerComponent, {\r\n width: '175px',\r\n height: '200px',\r\n data: message,\r\n disableClose: true\r\n });\r\n }\r\n }\r\n\r\n turnSpinnerOff() {\r\n this.spinnerDetectSvc.isLoading.next(false);\r\n this.isCurrentlyLoading = false;\r\n clearTimeout(this.timer);\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Subject } from 'rxjs';\r\n\r\n@Injectable()\r\nexport class SpinnerDetectionService {\r\n public isLoading: Subject = new Subject;\r\n public isLoading$ = this.isLoading.asObservable();\r\n constructor() { }\r\n\r\n}\r\n","import { NgModule } from '@angular/core';\r\n\r\n// All Angular Material components are being imported here and allows any component in this application to use them by importing the shared module.\r\n\r\nimport { MatAutocompleteModule } from '@angular/material/autocomplete';\r\n\r\nimport { MatInputModule } from '@angular/material/input';\r\n\r\nimport { MatCheckboxModule } from '@angular/material/checkbox';\r\n\r\nimport { MatFormFieldModule } from '@angular/material/form-field';\r\n\r\nimport { MatRadioModule } from '@angular/material/radio';\r\n\r\nimport { MatSelectModule } from '@angular/material/select';\r\n\r\nimport { MatMenuModule } from '@angular/material/menu';\r\n\r\nimport { MatToolbarModule } from '@angular/material/toolbar'\r\n\r\nimport { MatSidenavModule } from '@angular/material/sidenav'\r\n\r\nimport { MatCardModule } from '@angular/material/card'\r\n\r\nimport { MatDividerModule } from '@angular/material/divider'\r\n\r\nimport { MatExpansionModule } from '@angular/material/expansion'\r\n\r\nimport { MatListModule } from '@angular/material/list'\r\n\r\nimport { MatTabsModule } from '@angular/material/tabs'\r\n\r\nimport { MatButtonModule } from '@angular/material/button'\r\n\r\nimport { MatIconModule } from '@angular/material/icon'\r\n\r\nimport { MatProgressSpinnerModule } from '@angular/material/progress-spinner'\r\n\r\nimport { MatDialogModule } from '@angular/material/dialog'\r\n\r\nimport { MatSnackBarModule } from '@angular/material/snack-bar'\r\n\r\nimport { MatTooltipModule } from '@angular/material/tooltip'\r\n\r\nimport { MatSortModule } from '@angular/material/sort'\r\n\r\nimport { MatTableModule } from '@angular/material/table'\r\n\r\n\r\n@NgModule({\r\n imports: [\r\n MatAutocompleteModule,\r\n MatCheckboxModule,\r\n MatFormFieldModule,\r\n MatInputModule,\r\n MatRadioModule,\r\n MatSelectModule,\r\n MatMenuModule,\r\n MatSidenavModule,\r\n MatToolbarModule,\r\n MatCardModule,\r\n MatDividerModule,\r\n MatExpansionModule,\r\n MatListModule,\r\n MatTabsModule,\r\n MatButtonModule,\r\n MatIconModule,\r\n MatProgressSpinnerModule,\r\n MatDialogModule,\r\n MatSnackBarModule,\r\n MatTooltipModule,\r\n MatSortModule,\r\n MatTableModule\r\n ],\r\n exports: [\r\n MatAutocompleteModule,\r\n MatCheckboxModule,\r\n MatFormFieldModule,\r\n MatInputModule,\r\n MatRadioModule,\r\n MatSelectModule,\r\n MatMenuModule,\r\n MatSidenavModule,\r\n MatToolbarModule,\r\n MatCardModule,\r\n MatDividerModule,\r\n MatExpansionModule,\r\n MatListModule,\r\n MatTabsModule,\r\n MatButtonModule,\r\n MatIconModule,\r\n MatProgressSpinnerModule,\r\n MatDialogModule,\r\n MatSnackBarModule,\r\n MatTooltipModule,\r\n MatSortModule,\r\n MatTableModule\r\n ]\r\n})\r\nexport class MaterialModule { }\r\n","import { Component, Input, Output, EventEmitter, OnChanges } from '@angular/core';\r\nimport { MetricFilterService } from './metric-filter.service';\r\nimport { GoalDto } from '../../models/outgoing-dtos/goal-dto';\r\nimport { Observable, Subscription } from 'rxjs';\r\nimport { SubscriptionService } from '../services/subscription.service';\r\nimport { HelperMethodsService } from '../services/helper-methods.service';\r\n\r\n@Component({\r\n selector: 'scoreboard-metric-filter',\r\n templateUrl: './metric-filter.component.html',\r\n styleUrls: ['./metric-filter.component.scss']\r\n})\r\nexport class MetricFilterComponent implements OnChanges {\r\n @Input() isEmployeeTab = false;\r\n @Input() isTeamTab = false;\r\n @Input() levelValue: string;\r\n @Output() filterChanged: EventEmitter;\r\n goals = new Array();\r\n goals$: Observable;\r\n goalSubscription = new Subscription;\r\n selectedGoalId: number;\r\n\r\n constructor(public metricFilterService: MetricFilterService,\r\n private subscriptionService: SubscriptionService,\r\n private helperMethods: HelperMethodsService) {\r\n this.filterChanged = new EventEmitter();\r\n }\r\n\r\n ngOnChanges() {\r\n this.goals$ = this.metricFilterService.getGoals(this.levelValue);\r\n this.subscribeToGoalsObservable();\r\n }\r\n\r\n subscribeToGoalsObservable() {\r\n this.goals = [];\r\n this.goalSubscription.unsubscribe();\r\n this.goalSubscription = this.goals$\r\n .subscribe(\r\n goals => {\r\n if (!this.helperMethods.isArrayNullOrEmpty(goals)) {\r\n if (this.isEmployeeTab) {\r\n this.goals = goals;\r\n } else if (this.isTeamTab) {\r\n this.goals = goals.filter(x => x.name !== 'Order of Merit');\r\n } else {\r\n this.goals = goals.filter(x => !x.name.includes('Growth Champion') && x.name !== 'Order of Merit');\r\n }\r\n this.selectedGoalId = this.goals[0].id;\r\n this.filterChanged.emit(this.selectedGoalId);\r\n }\r\n },\r\n err => {\r\n this.subscriptionService.onError(err, 'getGoals');\r\n }\r\n );\r\n }\r\n\r\n selectFilter(goal: GoalDto): any {\r\n this.selectedGoalId = goal.id;\r\n this.filterChanged.emit(this.selectedGoalId);\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { ErrorHandlingService } from '../services/error-handling.service';\r\nimport { UserService } from '../../security/user.service';\r\nimport { GoalDto } from '../../models/outgoing-dtos/goal-dto';\r\nimport { environment } from '../../../environments/environment';\r\nimport { catchError } from 'rxjs/operators';\r\n\r\n@Injectable()\r\nexport class MetricFilterService {\r\n private baseUrl: string = environment.dotNetCoreUrl + 'coreapi/';\r\n private goalUrl: string = this.baseUrl + 'Dashboard/Goals';\r\n\r\n constructor(private httpClient: HttpClient, private userService: UserService,\r\n private errorService: ErrorHandlingService) { }\r\n\r\n getGoals(groupName: string): Observable {\r\n return this.httpClient.get(this.goalUrl + '/' + groupName, this.userService.getHttpOptions())\r\n .pipe(\r\n catchError(this.errorService.handleError)\r\n );\r\n }\r\n}\r\n","import { Component, Output, EventEmitter, OnInit } from '@angular/core';\r\nimport { UserService } from '../../security/user.service';\r\nimport { DashboardRouteActivator } from '../../dashboard/dashboard-route-activator';\r\nimport { TeamAssignmentRouteActivator } from '../../team-assignment/team-assignment-route-activator';\r\nimport { PayplanSetupRouteActivator } from '../../payplan-setup/payplan-setup-route-activator';\r\nimport { PayMemoRouteActivator } from '../../pay-memo/pay-memo-route-activator';\r\nimport { PaidTimeoffRouteActivator } from '../../paid-timeoff/paid-timeoff-route-activator';\r\nimport { AdminRouteActivator } from '../../admin/admin-route-activator';\r\nimport { GoalAssignmentRouteActivator } from '../../goal-assignment/goal-assignment-route-activator';\r\n\r\n@Component({\r\n selector: 'scoreboard-navbar',\r\n templateUrl: './navbar.component.html',\r\n styleUrls: ['./navbar.component.scss']\r\n})\r\nexport class NavbarComponent implements OnInit {\r\n @Output() onPageChange: EventEmitter;\r\n showContactUs = false;\r\n constructor(public userService: UserService,\r\n public dashboardActivator: DashboardRouteActivator,\r\n public goalAssignmentActivator: GoalAssignmentRouteActivator,\r\n public paidTimeOffActivator: PaidTimeoffRouteActivator,\r\n public teamAssignmentActivator: TeamAssignmentRouteActivator,\r\n public payPlanSetupActivator: PayplanSetupRouteActivator,\r\n public payMemoActivator: PayMemoRouteActivator,\r\n public adminActivator: AdminRouteActivator) {\r\n this.onPageChange = new EventEmitter();\r\n\r\n }\r\n ngOnInit() {\r\n if (this.userService.user.country === 'USA' || this.userService.user.country === 'CAN') {\r\n this.showContactUs = true;\r\n }\r\n }\r\n onClickLink(url: string) {\r\n this.onPageChange.emit(url);\r\n }\r\n}\r\n","import { Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'scoreboard-page-not-found',\r\n templateUrl: './page-not-found.component.html',\r\n styleUrls: ['./page-not-found.component.scss']\r\n})\r\nexport class PageNotFoundComponent { }\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { CurrencyPipe } from '@angular/common';\r\n\r\n// This pipe takes in a value and adds commas to it. Useful for better readability of large numbers.\r\n// For example, passing in 255500 returns 255,500\r\n// Using the currency pipe makes this quite simple since it already has a built-in regex for adding the commas.\r\n@Pipe({ name: 'addCommas' })\r\nexport class AddCommasPipe implements PipeTransform {\r\n constructor() {}\r\n\r\n transform(value: any): string {\r\n if (value !== '-' && value != null) {\r\n return CurrencyPipe.prototype.transform(value, 'USD', 'symbol', '1.0-2', 'en-US').replace('$', '');\r\n } else {\r\n return value;\r\n }\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { CurrencyPipe } from '@angular/common';\r\n\r\n// This pipe overrides the built-in currency pipe feature where values have decimal points.\r\n@Pipe({ name: 'customCurrency' })\r\nexport class CustomCurrencyPipe implements PipeTransform {\r\n transform(value: any, decimalFormat: string): string {\r\n let strValue = value.toString();\r\n\r\n let isNegative = false;\r\n if (strValue.length > 1 && strValue.substring(0, 1) === '-') { // check for a negative\r\n isNegative = true;\r\n }\r\n strValue = strValue.replace(/[^\\d.]/g, ''); // Removing non-numeric (excl dashes and decimal points) before re-piping.\r\n\r\n if (isNegative) { // add back the negative if needed\r\n strValue = '-' + strValue;\r\n }\r\n if (strValue === '') { // Set to 0 if empty\r\n strValue = '0';\r\n }\r\n\r\n return CurrencyPipe.prototype.transform(strValue, 'USD', 'symbol', decimalFormat, 'en-US').replace('$', '');\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n// Use this pipe to highlight any characters from a text that are match to a specified query. Useful for text input filter components.\r\n// Use it like this:
\r\n@Pipe({\r\n name: 'highlightMatch'\r\n})\r\nexport class HighlightMatchPipe implements PipeTransform {\r\n\r\n transform(text: string, query: any): string {\r\n let pattern = query.replace(/[\\-\\[\\]\\/\\{\\}\\(\\)\\*\\+\\?\\.\\\\\\^\\$\\|]/g, '\\\\$&');\r\n pattern = pattern.split(' ').filter((t) => {\r\n return t.length > 0;\r\n }).join('|');\r\n const regex = new RegExp(pattern, 'gi');\r\n\r\n return query ? text.replace(regex, (match) => `${match}`) : text;\r\n }\r\n}\r\n","import { UntypedFormControl, FormGroupDirective, NgForm } from '@angular/forms';\r\nimport { ErrorStateMatcher } from '@angular/material/core';\r\nimport { Injectable } from \"@angular/core\";\r\n\r\n/** Error when invalid control is dirty, touched, or submitted. */\r\n@Injectable()\r\nexport class ErrorStateMatcherHelper implements ErrorStateMatcher {\r\n isErrorState(control: UntypedFormControl | null, form: FormGroupDirective | NgForm | null): boolean {\r\n const isSubmitted = form && form.submitted;\r\n return !!(control && control.invalid && (control.dirty || control.touched || isSubmitted));\r\n }\r\n}\r\n","import { Component, OnChanges, Input, Output, EventEmitter } from '@angular/core';\r\nimport { DashboardEmployeeGraph } from '../../models/incoming-dtos/dashboard-employee-graph';\r\n\r\n@Component({\r\n selector: 'scoreboard-role-filter',\r\n templateUrl: './role-filter.component.html',\r\n styleUrls: ['./role-filter.component.scss']\r\n})\r\nexport class RoleFilterComponent implements OnChanges {\r\n roles: Array;\r\n @Input() isAllNeeded: boolean;\r\n @Input() graphData: Array;\r\n @Output() filterChanged: EventEmitter;\r\n selectedJobCode: number;\r\n\r\n constructor() {\r\n this.filterChanged = new EventEmitter();\r\n }\r\n\r\n ngOnChanges() {\r\n this.roles = this.GetJobCodeIds();\r\n }\r\n\r\n GetJobCodeIds(): Array {\r\n let returnJobCodes = [];\r\n let lookupNumber = 0;\r\n let exists = false;\r\n if (this.graphData) {\r\n this.graphData.forEach(x => {\r\n exists = returnJobCodes.some(function (y) { return y.name === x.employee.jobTitle; });\r\n if (!exists) {\r\n returnJobCodes = returnJobCodes.concat({ id: x.employee.jobCodeId, lookupid: ++lookupNumber, name: x.employee.jobTitle });\r\n }\r\n });\r\n\r\n returnJobCodes = this.checkIfAllRolesIsNeeded(returnJobCodes);\r\n returnJobCodes = returnJobCodes.sort(function (a, b) { return a.id - b.id; });\r\n return returnJobCodes.map(s => ({id: s.lookupid, name: s.name}));\r\n }\r\n return null;\r\n }\r\n\r\n private checkIfAllRolesIsNeeded(returnJobCodes: any[]) {\r\n if (this.isAllNeeded) {\r\n this.selectedJobCode = 0;\r\n this.filterChanged.emit('All Roles');\r\n return returnJobCodes = returnJobCodes.concat({\r\n id: 0,\r\n lookupid: 0,\r\n name: 'All Roles'\r\n });\r\n }\r\n }\r\n\r\n selectFilter(jobCodeId: any): any {\r\n this.selectedJobCode = jobCodeId.id;\r\n this.filterChanged.emit(jobCodeId.name);\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { AppInsights } from 'applicationinsights-js';\r\nimport { User } from '../../security/user';\r\nimport { environment } from '../../../environments/environment';\r\nimport { HelperMethodsService } from './helper-methods.service';\r\n\r\n@Injectable()\r\nexport class AppInsightsService {\r\n\r\n config: Microsoft.ApplicationInsights.IConfig = {\r\n instrumentationKey: environment.applicationInsightsKey\r\n };\r\n\r\n appInsights = AppInsights;\r\n\r\n constructor(private helperMethods: HelperMethodsService) {\r\n this.appInsights.downloadAndSetup(this.config);\r\n }\r\n\r\n logPageView(user: User, tabData?: string, url?: string, properties?: any, measurements?: any, duration?: number) { // Currently being called during construction of any component extending BaseComponent\r\n const name = this.buildUserPropertyString(user, tabData);\r\n this.appInsights.trackPageView(name, url, properties, measurements, duration);\r\n }\r\n\r\n logUserAction(name: string, user: User) {\r\n const properties = this.buildUserPropertiesObj(user);\r\n this.appInsights.trackEvent(name, properties);\r\n }\r\n\r\n logErrorThrown(error: string, user: User) {\r\n error = 'ERROR: ' + error;\r\n const properties = this.buildUserPropertiesObj(user);\r\n this.appInsights.trackEvent(error, properties);\r\n }\r\n\r\n buildUserPropertyString(user: User, tabData?: string): string {\r\n tabData = this.checkTabData(tabData);\r\n const userType = typeof user;\r\n if (userType !== 'undefined' && user.roles.length > 0) { // Doing this check to avoid console errors until we look into random user being undefined after long inactivity.\r\n return user.eId + ' ' + user.lastName + ', ' + user.firstName + ', ' + user.group + ', ' + user.roles[0].description + ' ' + tabData;\r\n } else if (userType !== 'undefined' && user.roles.length === 0) {\r\n return user.eId + ' ' + user.lastName + ', ' + user.firstName + ', ' + user.group + ', ' + tabData;\r\n } else {\r\n return 'No user defined';\r\n }\r\n }\r\n\r\n checkTabData(tabData: string): any {\r\n if (!this.helperMethods.isStringNullOrEmpty(tabData)) {\r\n return tabData;\r\n } else {\r\n return '';\r\n }\r\n }\r\n\r\n buildUserPropertiesObj(user: User): any {\r\n const userType = typeof user;\r\n if (userType !== 'undefined' && user.roles.length > 0) {\r\n return {'user': user.eId + ' ' + user.lastName + ', ' + user.firstName + ', ' + user.group + ', ' + user.roles[0].description};\r\n } else if (userType !== 'undefined' && user.roles.length === 0) {\r\n return {'user': user.eId + ' ' + user.lastName + ', ' + user.firstName + ', ' + user.group};\r\n } else {\r\n return {'user': 'No user defined'};\r\n }\r\n }\r\n}\r\n","export class CoreFiltersValues {\r\n level: string;\r\n levelValue: string;\r\n month: number;\r\n year: number;\r\n isEurope: boolean;\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Subject, ReplaySubject } from 'rxjs';\r\nimport { CoreFiltersValues } from './core-filters-values';\r\nimport { HelperMethodsService } from './helper-methods.service';\r\n\r\n@Injectable()\r\nexport class CoreFiltersService {\r\n private filterValues: Subject<[CoreFiltersValues, string]> = new ReplaySubject(1);\r\n public filterValues$ = this.filterValues.asObservable();\r\n private isGroupPrefPageSelected: Subject = new ReplaySubject(1);\r\n public isGroupPrefPageSelected$ = this.isGroupPrefPageSelected.asObservable();\r\n\r\n today = new Date();\r\n disableDate = new Date();\r\n\r\n constructor(public helperMethods: HelperMethodsService) {\r\n this.disableDate.setFullYear(2019, 4, 20);\r\n this.disableDate.setHours(20);\r\n this.disableDate.setMinutes(0, 0, 0);\r\n }\r\n\r\n setFilterValues(filterLevel: string, filterLevelValue: string, filterMonth: number, filterYear: number, isEurope: boolean, url: string) {\r\n if (!this.helperMethods.isStringNullOrEmpty(filterLevel)\r\n && !this.helperMethods.isStringNullOrEmpty(filterLevelValue)\r\n && !this.helperMethods.isNumberNullOrUndefined(filterMonth)\r\n && !this.helperMethods.isNumberNullOrUndefined(filterYear)\r\n && !this.helperMethods.isStringNullOrEmpty(url)) {\r\n const filterValues = new CoreFiltersValues();\r\n filterValues.level = filterLevel;\r\n filterValues.levelValue = filterLevelValue;\r\n filterValues.month = filterMonth;\r\n filterValues.year = filterYear;\r\n filterValues.isEurope = isEurope;\r\n this.filterValues.next([filterValues, url]);\r\n }\r\n }\r\n\r\n setGroupPrefPage(isGroupPrefPage: boolean) {\r\n this.isGroupPrefPageSelected.next(isGroupPrefPage);\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { throwError } from 'rxjs';\r\nimport { unauthorized } from '../static-data/unauthorized';\r\nimport { HttpErrorResponse } from '@angular/common/http';\r\n\r\n@Injectable()\r\nexport class ErrorHandlingService {\r\n\r\n handleError(error: Response | any) {\r\n let errMsg: string;\r\n if (error instanceof HttpErrorResponse) {\r\n if ((error.status === 500) || (error.status === 502) || (error.status === 503)) {\r\n errMsg = 'We are currently experiencing server load issues. Please try narrowing your search or try again later.';\r\n } else if (error.status === 0) {\r\n errMsg = 'We are currently experiencing server load issues. Please wait while your request is being processed.';\r\n } else if (error.status === 401) {\r\n errMsg = unauthorized.unauthorized;\r\n } else {\r\n errMsg = error.message;\r\n }\r\n } else {\r\n errMsg = error.message ? error.message : error.toString();\r\n }\r\n const errorObj = [errMsg, error.status.toString()];\r\n return throwError(errorObj);\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { environment } from '../../../environments/environment';\r\n@Injectable()\r\nexport class GlobalizationService {\r\n currencyList: Array;\r\n getCountryCurrency(str: string): string {\r\n this.currencyList = environment.currencyMap;\r\n return this.currencyList.find(x => x.ehiCode === str).ngCode;\r\n }\r\n}\r\nexport interface CurrencyMap {\r\n ngCode: string;\r\n ehiCode: string;\r\n}\r\n","import { Injectable } from '@angular/core';\r\n\r\n@Injectable()\r\nexport class HelperMethodsService {\r\n\r\n //extremely simple, literally something, @, something\r\n private emailRegex: string = '^.+@.+$';\r\n\r\n isStringNullOrEmpty(str: string): boolean {\r\n if (str === null || typeof str === 'undefined') { return true; }\r\n return str.replace(/^\\s*$/, '').length < 1;\r\n }\r\n\r\n isArrayNullOrEmpty(array): boolean {\r\n return !Array.isArray(array) || !array.length;\r\n // array does not exist, is not an array, or is empty, null or undefined.\r\n }\r\n\r\n isNumberNullOrUndefined(num: number): boolean {\r\n if (num === null || typeof num === 'undefined') {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n }\r\n\r\n isPastMonthYear(month: number, year: number): boolean {\r\n const date = new Date();\r\n const currentMonth = date.getMonth() + 1; // Adding a month to match the past in value that represents the actual month number.\r\n const currentYear = date.getFullYear();\r\n const nextMonth = date.getMonth() + 2; // Adding two months to match the past in value that represents the actual month number.\r\n if (((month === currentMonth) || (month === nextMonth)) && (year === currentYear)) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n }\r\n\r\n convertToString(convertToString: any): string {\r\n const type = typeof convertToString;\r\n if (type === 'number') {\r\n if (!this.isNumberNullOrUndefined(convertToString)) {\r\n return convertToString.toString();\r\n }\r\n }\r\n if (type === 'boolean') {\r\n return convertToString.toString();\r\n } else {\r\n return convertToString;\r\n }\r\n }\r\n\r\n compareNumbers(nmb1: number, nmb2: number): number {\r\n if (nmb1 > nmb2) {\r\n return -1;\r\n }\r\n if (nmb2 > nmb1) {\r\n return 1;\r\n }\r\n return 0;\r\n }\r\n\r\n getEmailPart(emailAddress: string, index: number): string {\r\n let result: string = null;\r\n if (this.isEmailAddressValid(emailAddress) && index > -1) {\r\n result = emailAddress.split(\"@\")[index];\r\n }\r\n return result;\r\n }\r\n\r\n isEmailAddressValid(emailAddress: string): boolean {\r\n let found: boolean = false;\r\n\r\n if (!this.isStringNullOrEmpty(emailAddress)) {\r\n let regex = new RegExp(this.emailRegex);\r\n found = regex.test(emailAddress);\r\n }\r\n return found;\r\n }\r\n}\r\n","import { MatSnackBar } from '@angular/material/snack-bar';\r\nimport { Injectable } from '@angular/core';\r\n\r\n@Injectable()\r\nexport class SnackBarService {\r\n constructor(public snackBar: MatSnackBar) {}\r\n\r\n openSnackBar(message: string, action?: any) {\r\n this.snackBar.open(message, action, {\r\n duration: 2000\r\n });\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\n\r\n@Injectable()\r\nexport class StyleHelperService {\r\n maxWidth: number;\r\n\r\n constructor() { }\r\n\r\n isMobile(maxWidth: number): any {\r\n return window.innerWidth <= maxWidth;\r\n }\r\n\r\n changeClass(mobileClassChange: string, desktopClassChange: string) {\r\n if (this.isMobile(this.maxWidth)) {\r\n return mobileClassChange;\r\n } else {\r\n return desktopClassChange;\r\n }\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { ErrorHandlingService } from './error-handling.service';\r\nimport { HelperMethodsService } from './helper-methods.service';\r\nimport { AlertModalComponent } from '../alert-modal/alert-modal.component';\r\nimport { unauthorized } from '../static-data/unauthorized';\r\nimport { AppInsightsService } from './app-insights.service';\r\nimport { User } from '../../security/user';\r\nimport { UserService } from '../../security/user.service';\r\nimport { MatDialog } from '@angular/material/dialog';\r\n\r\n@Injectable()\r\nexport class SubscriptionService {\r\n user: User;\r\n errorMessage: string;\r\n\r\n constructor(private errorService: ErrorHandlingService,\r\n private helperMethods: HelperMethodsService,\r\n private userService: UserService,\r\n private appInsights: AppInsightsService,\r\n public dialog: MatDialog) {\r\n this.userService.userSource$.subscribe(user => this.user = user);\r\n }\r\n\r\n onError(err: any, errorSourceLocation?: string, errorSource?: string) {\r\n this.errorMessage = '';\r\n if (!this.helperMethods.isStringNullOrEmpty(errorSource)) {\r\n this.errorMessage = this.createErrorSource(err[1], errorSourceLocation, errorSource);\r\n this.alertUserAndLogAppInsights(err);\r\n } else {\r\n this.errorMessage = this.createErrorSource(err[1], errorSourceLocation);\r\n this.alertUserAndLogAppInsights(err);\r\n }\r\n }\r\n\r\n alertUserAndLogAppInsights(err: any) {\r\n if (err[0] === unauthorized.unauthorized) {\r\n this.alertUser('You are not authorized.'); // Showing this until we implement a session expired page.\r\n } else {\r\n this.alertUser(err[0]);\r\n }\r\n this.appInsights.logErrorThrown(this.errorMessage, this.user);\r\n }\r\n\r\n onComplete(data: Array, errMsg?: string) {\r\n if (this.helperMethods.isArrayNullOrEmpty(data)) {\r\n if (this.helperMethods.isStringNullOrEmpty(errMsg)) {\r\n errMsg = 'No data was found for the selected filters';\r\n }\r\n this.alertUser(errMsg);\r\n }\r\n }\r\n\r\n alertUser(message: string): void {\r\n this.dialog.open(AlertModalComponent, {\r\n width: '300px',\r\n height: '150px',\r\n data: { alertMessage: message }\r\n });\r\n }\r\n\r\n createErrorSource(errorCode: string, callLocation?: string, call?: string): string {\r\n if (!this.helperMethods.isStringNullOrEmpty(call)) {\r\n return errorCode + ' on ' + call + 'for' + callLocation;\r\n } else {\r\n return errorCode + ' on ' + callLocation;\r\n }\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { RouterModule } from '@angular/router';\r\nimport { AppInsightsService } from './services/app-insights.service';\r\nimport { BaseComponent } from './base/base.component';\r\nimport { AlertModalComponent } from './alert-modal/alert-modal.component';\r\nimport { ErrorHandlingService } from './services/error-handling.service';\r\nimport { NavbarComponent } from './navbar/navbar.component';\r\nimport { MaterialModule } from './material/material.module';\r\nimport { HelperMethodsService } from './services/helper-methods.service';\r\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\r\nimport { GroupFilterComponent } from './group-filter/group-filter.component';\r\nimport { GroupFilterService } from './group-filter/group-filter.service';\r\nimport { SubscriptionService } from './services/subscription.service';\r\nimport { DateFilterComponent } from './date-filter/date-filter.component';\r\nimport { DateFilterService } from './date-filter/date-filter.service';\r\nimport { FooterComponent } from './footer/footer.component';\r\nimport { SnackBarService } from './services/snack-bar.service';\r\nimport { LoadingSpinnerComponent } from './loading-spinner/loading-spinner.component';\r\nimport { LoadingSpinnerService } from './loading-spinner/loading-spinner.service';\r\nimport { ContactUsComponent } from './contact-us/contact-us.component';\r\nimport { HighlightMatchPipe } from './pipes/highlight-match.pipe';\r\nimport { XlsxExportService } from './xlsx-export/xlsx-export.service';\r\nimport { NumberOnlyDirective } from './directives/number-only.directive';\r\nimport { NoDecimalNumberOnlyDirective } from './directives/no-decimal-number-only.directive';\r\nimport { DecisionModalComponent } from './decision-modal/decision-modal.component';\r\nimport { CustomCurrencyPipe } from './pipes/custom-currency.pipe';\r\nimport { PositiveNumberOnlyDirective } from './directives/positive-number-only.directives';\r\nimport { EmployeeFilterComponent } from './employee-filter/employee-filter.component';\r\nimport { MetricFilterComponent } from './metric-filter/metric-filter.component';\r\nimport { TeamFilterComponent } from './team-filter/team-filter.component';\r\nimport { MetricFilterService } from './metric-filter/metric-filter.service';\r\nimport { TeamFilterService } from './team-filter/team-filter.service';\r\nimport { PageNotFoundComponent } from './page-not-found/page-not-found.component';\r\nimport { EmployeeFilterService } from './employee-filter/employee-filter.service';\r\nimport { AddCommasPipe } from './pipes/add-commas.pipe';\r\nimport { CoreFiltersService } from './services/core-filters.service';\r\nimport { StyleHelperService } from './services/style-helper.service';\r\nimport { SpinnerDetectionService } from './loading-spinner/spinner-detection.service';\r\nimport { RoleFilterComponent } from './role-filter/role-filter.component';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n BrowserAnimationsModule,\r\n MaterialModule,\r\n ReactiveFormsModule,\r\n RouterModule.forChild([\r\n { path: 'contact-us', component: ContactUsComponent },\r\n { path: 'page-not-found', component: PageNotFoundComponent }\r\n ])\r\n ],\r\n exports: [\r\n CommonModule,\r\n FormsModule,\r\n BaseComponent,\r\n AlertModalComponent,\r\n BrowserAnimationsModule,\r\n NavbarComponent,\r\n MaterialModule,\r\n GroupFilterComponent,\r\n DateFilterComponent,\r\n FooterComponent,\r\n LoadingSpinnerComponent,\r\n HighlightMatchPipe,\r\n NumberOnlyDirective,\r\n NoDecimalNumberOnlyDirective,\r\n PositiveNumberOnlyDirective,\r\n CustomCurrencyPipe,\r\n EmployeeFilterComponent,\r\n MetricFilterComponent,\r\n TeamFilterComponent,\r\n PageNotFoundComponent,\r\n AddCommasPipe,\r\n RoleFilterComponent\r\n ],\r\n declarations: [\r\n BaseComponent,\r\n AlertModalComponent,\r\n NavbarComponent,\r\n GroupFilterComponent,\r\n DateFilterComponent,\r\n FooterComponent,\r\n LoadingSpinnerComponent,\r\n ContactUsComponent,\r\n HighlightMatchPipe,\r\n NumberOnlyDirective,\r\n NoDecimalNumberOnlyDirective,\r\n DecisionModalComponent,\r\n PositiveNumberOnlyDirective,\r\n CustomCurrencyPipe,\r\n EmployeeFilterComponent,\r\n CustomCurrencyPipe,\r\n MetricFilterComponent,\r\n TeamFilterComponent,\r\n CustomCurrencyPipe,\r\n PageNotFoundComponent,\r\n AddCommasPipe,\r\n RoleFilterComponent\r\n ],\r\n providers: [\r\n AppInsightsService,\r\n ErrorHandlingService,\r\n HelperMethodsService,\r\n GroupFilterService,\r\n SubscriptionService,\r\n DateFilterService,\r\n SnackBarService,\r\n LoadingSpinnerService,\r\n XlsxExportService,\r\n CustomCurrencyPipe,\r\n MetricFilterService,\r\n TeamFilterService,\r\n EmployeeFilterService,\r\n CoreFiltersService,\r\n StyleHelperService,\r\n SpinnerDetectionService\r\n ]\r\n})\r\nexport class SharedModule { }\r\n","export const groupLevels = {\r\n country: 'Country',\r\n svpTeam: 'SVP Team',\r\n group: 'Group',\r\n invalid: 'Invalid'\r\n};\r\n","export const unauthorized = {\r\n unauthorized: 'Unauthorized'\r\n};\r\n","import { Component, Input, EventEmitter, Output, OnChanges } from '@angular/core';\r\nimport { TeamFilterService } from './team-filter.service';\r\nimport { Team } from '../../models/incoming-dtos/team';\r\nimport { Observable } from 'rxjs';\r\nimport { SubscriptionService } from '../services/subscription.service';\r\nimport { Subscription } from 'rxjs';\r\nimport { HelperMethodsService } from '../services/helper-methods.service';\r\n\r\n@Component({\r\n selector: 'scoreboard-team-filter',\r\n templateUrl: './team-filter.component.html',\r\n styleUrls: ['./team-filter.component.scss']\r\n})\r\nexport class TeamFilterComponent implements OnChanges {\r\n @Input() levelValue: string;\r\n @Input() year: number;\r\n @Input() month: number;\r\n @Input() isAllNeeded: boolean;\r\n @Output() filterChanged: EventEmitter;\r\n teams = new Array();\r\n teams$: Observable;\r\n teamSubscription = new Subscription;\r\n selectedTeamId: number;\r\n @Input() isEurope: boolean;\r\n\r\n constructor(public teamFilterService: TeamFilterService,\r\n private subscriptionService: SubscriptionService,\r\n private helperMethods: HelperMethodsService) {\r\n this.filterChanged = new EventEmitter();\r\n }\r\n\r\n ngOnChanges() {\r\n this.teams$ = this.teamFilterService.getTeams(this.levelValue, this.year, this.month);\r\n this.subscribeToTeamsObservable();\r\n }\r\n\r\n subscribeToTeamsObservable(): any {\r\n this.teams = [];\r\n this.checkIfAllTeamsIsNeeded();\r\n this.checkIfAllOfGroupIsNeeded();\r\n this.teamSubscription.unsubscribe();\r\n this.teamSubscription = this.teams$\r\n .subscribe(\r\n teams => {\r\n if (teams) {\r\n this.teams = this.teams.concat(teams);\r\n this.selectedTeamId = this.teams[0].id;\r\n this.filterChanged.emit(this.selectedTeamId);\r\n }\r\n },\r\n err => {\r\n this.subscriptionService.onError(err, 'getTeams');\r\n }\r\n );\r\n }\r\n\r\n selectFilter(team: Team): any {\r\n this.selectedTeamId = team.id;\r\n this.filterChanged.emit(this.selectedTeamId);\r\n }\r\n\r\n checkIfAllTeamsIsNeeded() {\r\n if (this.isAllNeeded) {\r\n this.teams.push({\r\n id: 0,\r\n name: 'All Teams',\r\n groupName: null,\r\n availableSpcTargets: null,\r\n employees: null,\r\n managers: null,\r\n teamGoals: null\r\n });\r\n }\r\n }\r\n\r\n checkIfAllOfGroupIsNeeded() {\r\n if (this.isEurope) {\r\n this.teams.push({\r\n id: -1,\r\n name: 'All of Group',\r\n groupName: null,\r\n availableSpcTargets: null,\r\n employees: null,\r\n managers: null,\r\n teamGoals: null\r\n });\r\n }\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { ErrorHandlingService } from '../services/error-handling.service';\r\nimport { UserService } from '../../security/user.service';\r\nimport { environment } from '../../../environments/environment';\r\nimport { Team } from '../../models/incoming-dtos/team';\r\nimport { catchError } from 'rxjs/operators';\r\n\r\n@Injectable()\r\nexport class TeamFilterService {\r\n private baseUrl: string = environment.dotNetCoreUrl + 'coreapi/';\r\n private teamUrl: string = this.baseUrl + 'Dashboard/Teams';\r\n\r\n constructor(private httpClient: HttpClient, private userService: UserService,\r\n private errorService: ErrorHandlingService) { }\r\n\r\n getTeams(groupName: string, year: number, month: number): Observable {\r\n return this.httpClient.get(this.teamUrl + '/' + groupName + '/' + year + '/' + month, this.userService.getHttpOptions())\r\n .pipe(\r\n catchError(this.errorService.handleError)\r\n );\r\n }\r\n}\r\n","import { UntypedFormGroup } from '@angular/forms';\r\n\r\n// Generic validator for Reactive forms\r\n// Implemented as a class, not a service, so it can retain state for multiple forms.\r\nexport class GenericValidator {\r\n\r\n constructor(private validationMessages: { [key: string]: { [key: string]: string } }) { }\r\n\r\n processMessages(container: UntypedFormGroup): { [key: string]: string } {\r\n const messages = {};\r\n for (const controlKey in container.controls) {\r\n if (container.controls.hasOwnProperty(controlKey)) {\r\n const c = container.controls[controlKey];\r\n // If it is a FormGroup, process its child controls.\r\n if (c instanceof UntypedFormGroup) {\r\n const childMessages = this.processMessages(c);\r\n Object.assign(messages, childMessages);\r\n } else {\r\n // Only validate if there are validation messages for the control\r\n if (this.validationMessages[controlKey]) {\r\n messages[controlKey] = '';\r\n if ((c.dirty || c.touched) && c.errors) {\r\n Object.keys(c.errors).map(messageKey => {\r\n if (this.validationMessages[controlKey][messageKey]) {\r\n messages[controlKey] += this.validationMessages[controlKey][messageKey] + ' ';\r\n }\r\n });\r\n }\r\n }\r\n }\r\n }\r\n }\r\n return messages;\r\n }\r\n}\r\n","import { AbstractControl, ValidatorFn } from '@angular/forms';\r\n\r\nexport class NumberValidator {\r\n\r\n static range(min: number, max: number): ValidatorFn {\r\n return (c: AbstractControl): { [key: string]: boolean } | null => {\r\n if (c.value && (isNaN(c.value.replace(/,/g, '')) || +c.value.replace(/,/g, '') < min || +c.value.replace(/,/g, '') > max)) {\r\n return { 'range': true };\r\n }\r\n return null;\r\n };\r\n }\r\n\r\n static isPositive(): ValidatorFn {\r\n return (c: AbstractControl): { [key: string]: boolean } | null => {\r\n if (isNaN(c.value.replace(/,/g, '')) || +c.value.replace(/,/g, '') < 0) {\r\n return { 'isNegative': true };\r\n }\r\n return null;\r\n };\r\n }\r\n\r\n static equal100Percent(): ValidatorFn {\r\n return (c: AbstractControl): { [key: string]: boolean } | null => {\r\n if (isNaN(c.value.replace(/,/g, '')) || +c.value.replace(/,/g, '') !== 100) {\r\n return { 'equal100Percent': true };\r\n }\r\n return null;\r\n };\r\n }\r\n\r\n static greaterThan25(): ValidatorFn {\r\n return (c: AbstractControl): { [key: string]: boolean } | null => {\r\n if (!isNaN(c.value.replace(/,/g, '')) && +c.value.replace(/,/g, '') > 25) {\r\n return { 'greaterThan25': true };\r\n }\r\n return null;\r\n };\r\n }\r\n\r\n static greaterThan70(groupName: string): ValidatorFn {\r\n return (c: AbstractControl): { [key: string]: boolean } | null => {\r\n if (groupName !== '36' && !isNaN(c.value.replace(/,/g, '')) && +c.value.replace(/,/g, '') > 70) {\r\n return { 'greaterThan70': true };\r\n }\r\n return null;\r\n };\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport * as XLSX from 'xlsx';\r\nimport * as FileSaver from 'file-saver';\r\nimport { HelperMethodsService } from '../services/helper-methods.service';\r\n\r\n@Injectable()\r\nexport class XlsxExportService {\r\n\r\n constructor (private helperMethods: HelperMethodsService) {\r\n\r\n }\r\n\r\n generateExport(dataForExport: any[], fileName: string, title?: string) {\r\n /* make the worksheet */\r\n let ws: any;\r\n if (!this.helperMethods.isStringNullOrEmpty(title)) {\r\n ws = this.getWorkSheetWithTitle(title, dataForExport);\r\n } else {\r\n ws = XLSX.utils.json_to_sheet(dataForExport);\r\n }\r\n\r\n ws['!cols'] = this.getColumnSizes(dataForExport);\r\n\r\n /* add to workbook */\r\n const wb = XLSX.utils.book_new();\r\n XLSX.utils.book_append_sheet(wb, ws);\r\n\r\n /* write workbook (use type 'binary') */\r\n const wbout = XLSX.write(wb, {bookType: 'xlsx', type: 'binary'});\r\n\r\n /* generate a download */\r\n function s2ab(s) {\r\n const buf = new ArrayBuffer(s.length);\r\n const view = new Uint8Array(buf);\r\n // tslint:disable-next-line:no-bitwise\r\n for (let i = 0; i !== s.length; ++i) { view[i] = s.charCodeAt(i) & 0xFF; }\r\n return buf;\r\n }\r\n\r\n FileSaver.saveAs(new Blob([s2ab(wbout)], {type: 'application/octet-stream'}), fileName + '.xlsx');\r\n }\r\n\r\n getWorkSheetWithTitle(title: string, dataForExport: any[]): XLSX.WorkSheet {\r\n const formatFileName = [];\r\n const ws = XLSX.utils.json_to_sheet(formatFileName); // Generate blank worksheet\r\n formatFileName.push({title}); // pushing a type any object with title in it since requirement is to be json object.\r\n XLSX.utils.sheet_add_json(ws, formatFileName, {skipHeader: true, origin: 'F1'}); // Append title into worksheet starting at cell F1 so that it's centered on the page.\r\n XLSX.utils.sheet_add_json(ws, dataForExport, {origin: 'A2'}); // Append data to worksheet starting on the second row in cell A2.\r\n return ws;\r\n }\r\n\r\n getColumnSizes(joinedItems: any[]): any {\r\n const colsArray = [];\r\n let firstRow = true;\r\n const keys = Object.keys(joinedItems[0]);\r\n const numCols = keys.length;\r\n joinedItems.forEach(row => {\r\n let colLength = 0;\r\n if (firstRow) {\r\n for (let index = 0; index < numCols; index++) {\r\n let stringLength = row[keys[index]];\r\n stringLength = this.helperMethods.convertToString(stringLength);\r\n // Convert boolean and numbers to strings with convertToString method\r\n if (this.helperMethods.isStringNullOrEmpty(stringLength)) {\r\n colLength = keys[index].length;\r\n } else {\r\n if (keys[index].length > stringLength.length) {\r\n colLength = keys[index].length;\r\n } else {\r\n colLength = stringLength.length;\r\n }\r\n }\r\n colsArray.push({wch: colLength + 1});\r\n }\r\n firstRow = false;\r\n } else {\r\n for (let index = 0; index < numCols; index++) {\r\n let stringLength = row[keys[index]];\r\n stringLength = this.helperMethods.convertToString(stringLength);\r\n if (this.helperMethods.isStringNullOrEmpty(stringLength)) {\r\n } else {\r\n colLength = stringLength.length;\r\n }\r\n if (colsArray[index].wch < colLength) {\r\n colsArray[index].wch = colLength;\r\n }\r\n }\r\n }\r\n });\r\n const finalColsArray = [];\r\n colsArray.forEach(col => {\r\n finalColsArray.push({wch: col.wch + 2}); // This adds a buffer to the end of the column. Change the number to adjust size.\r\n });\r\n return finalColsArray;\r\n }\r\n}\r\n","import { Component, Input, OnInit, Output, EventEmitter, OnChanges } from '@angular/core';\r\nimport { Group } from '../../models/incoming-dtos/group';\r\nimport { HelperMethodsService } from '../../shared/services/helper-methods.service';\r\nimport { TeamDetailsService } from '../team-details/team-details.service';\r\nimport { GroupTeamsService } from './group-teams.service';\r\nimport { LoadingSpinnerService } from '../../shared/loading-spinner/loading-spinner.service';\r\n\r\n@Component({\r\n selector: 'scoreboard-group-teams',\r\n templateUrl: './group-teams.component.html',\r\n styleUrls: ['./group-teams.component.scss']\r\n})\r\nexport class GroupTeamsComponent implements OnChanges, OnInit {\r\n @Input() groups: Group[];\r\n @Input() level: string;\r\n @Input() month: number;\r\n @Input() year: number;\r\n @Input() newTeamToBeSelected: [number, number];\r\n\r\n selectedTeams = new Array();\r\n selectedGroups = new Array();\r\n currentGroupIndex: number;\r\n currentTeamIndex: number;\r\n isCreateTeam: boolean;\r\n allowCreateTeam = false;\r\n isCreateOrUpdate = false;\r\n\r\n @Output() selectedTeamChanged: EventEmitter<[number, string]>;\r\n\r\n constructor(public helperMethods: HelperMethodsService,\r\n private teamDetailsSvc: TeamDetailsService,\r\n private groupTeamsSvc: GroupTeamsService,\r\n public loadingSpinnerSvc: LoadingSpinnerService) {\r\n this.selectedTeamChanged = new EventEmitter<[number, string]>();\r\n }\r\n\r\n ngOnInit() {\r\n if ((!this.helperMethods.isArrayNullOrEmpty(this.groups)) && (this.groups[0].teams[0].id > 0)) {\r\n if (!this.isCreateOrUpdate) {\r\n this.setDefaultTeamAndEmit();\r\n }\r\n } else if (this.groups[0].teams[0].id === 0) {\r\n this.createNewTeam(); // Calling this when no teams exist in a group. Defaults to new team creation.\r\n }\r\n }\r\n\r\n ngOnChanges() {\r\n this.resetSelected();\r\n this.allowCreateTeam = this.groupTeamsSvc.checkLevelAndDate(this.level, this.month, this.year);\r\n if (this.newTeamToBeSelected !== null) {\r\n if (this.newTeamToBeSelected[1] === 0) { // ON DELETE\r\n this.setDefaultTeamAndEmit();\r\n }\r\n if (this.newTeamToBeSelected[1] === 1) { // ON CREATE\r\n this.selectTeamOnChanges();\r\n this.isCreateOrUpdate = true;\r\n }\r\n if (this.newTeamToBeSelected[1] === 2) { // ON UPDATE\r\n this.selectTeamOnChanges();\r\n this.isCreateOrUpdate = true;\r\n }\r\n }\r\n }\r\n\r\n checkSelectedTeam(groupIndex: number, teamIndex: number) {\r\n this.loadingSpinnerSvc.turnSpinnerOn('Loading...');\r\n this.isCreateTeam = false;\r\n this.selectedTeams = [];\r\n this.selectedGroups = [];\r\n this.currentTeamIndex = teamIndex;\r\n this.currentGroupIndex = groupIndex;\r\n this.selectedTeams[teamIndex] = true;\r\n this.selectedGroups[groupIndex] = true;\r\n const teamId = this.groupTeamsSvc.findTeamId(groupIndex, teamIndex, this.groups);\r\n const groupName = this.groupTeamsSvc.findGroupId(groupIndex, this.groups);\r\n this.selectedTeamChanged.emit([teamId, groupName]);\r\n }\r\n\r\n createNewTeam() {\r\n this.isCreateTeam = true;\r\n this.selectedTeams = [];\r\n this.selectedGroups = [];\r\n const teamId = 0;\r\n const groupName = this.groups[0].name;\r\n this.selectedTeamChanged.emit([teamId, groupName]);\r\n }\r\n\r\n setDefaultTeamAndEmit() {\r\n // setting first team in first group as selected team by default when loading into the page.\r\n let teamId: number;\r\n this.selectedGroups[0] = true;\r\n this.selectedTeams[0] = true;\r\n teamId = this.groups[0].teams[0].id;\r\n const groupName = this.groups[0].name;\r\n this.selectedTeamChanged.emit([teamId, groupName]);\r\n }\r\n\r\n selectTeamOnChanges() {\r\n let teamId: number;\r\n let teamIndex: number;\r\n let groupIndex: number;\r\n const newTeamId = this.newTeamToBeSelected[0];\r\n const saveCode = this.newTeamToBeSelected[1];\r\n if (saveCode === 1) {\r\n groupIndex = 0;\r\n teamIndex = this.groupTeamsSvc.findTeamIndex(this.groups, newTeamId);\r\n } else {\r\n groupIndex = this.groupTeamsSvc.findGroupIndex(this.groups, newTeamId);\r\n teamIndex = this.groups[groupIndex].teams.findIndex(t => t.id === newTeamId);\r\n }\r\n this.selectedGroups[groupIndex] = true;\r\n this.selectedTeams[teamIndex] = true;\r\n teamId = newTeamId;\r\n const groupName = this.groups[0].name;\r\n this.selectedTeamChanged.emit([teamId, groupName]);\r\n }\r\n\r\n resetSelected() {\r\n this.selectedTeams = new Array();\r\n this.selectedGroups = new Array();\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Group } from '../../models/incoming-dtos/group';\r\nimport { groupLevels } from '../../shared/static-data/group-levels';\r\nimport { HelperMethodsService } from '../../shared/services/helper-methods.service';\r\n\r\n@Injectable()\r\nexport class GroupTeamsService {\r\n\r\n constructor(private helperMethods: HelperMethodsService) {}\r\n\r\n findTeamIndex(groups: Group[], newTeamToBeSelected: number): number {\r\n let index: number;\r\n groups[0].teams.forEach(team => {\r\n if (team.id === newTeamToBeSelected) {\r\n index = groups[0].teams.indexOf(team);\r\n }\r\n });\r\n return index;\r\n }\r\n\r\n findGroupIndex(groups: Group[], teamId: number): number {\r\n const index = groups.findIndex(g => g.teams.some(t => t.id === teamId));\r\n return index;\r\n }\r\n\r\n checkLevelAndDate(level: string, month: number, year: number): boolean {\r\n if (level === groupLevels.group) {\r\n return this.helperMethods.isPastMonthYear(month, year);\r\n } else {\r\n return false;\r\n }\r\n }\r\n\r\n findTeamId(groupIndex: number, teamIndex: number, groups: Group[]): number {\r\n const groupObj = groups[groupIndex];\r\n const teamObj = groupObj.teams[teamIndex];\r\n return teamObj.id;\r\n }\r\n\r\n findGroupId(groupIndex: number, groups: Group[]): string {\r\n const group = groups[groupIndex];\r\n return group.name;\r\n }\r\n}\r\n","import { Router, CanActivate } from '@angular/router';\r\nimport { Injectable } from '@angular/core';\r\nimport { UserService } from '../security/user.service';\r\nimport { SecuredObjectService } from '../security/secured-object.service';\r\nimport { map } from 'rxjs/operators';\r\n\r\n@Injectable()\r\nexport class TeamAssignmentRouteActivator implements CanActivate {\r\n\r\n constructor(private router: Router,\r\n private userService: UserService,\r\n private secObjService: SecuredObjectService) {}\r\n\r\n canActivate() {\r\n return this.userService.userSource$.pipe(map((user) => {\r\n if (user) {\r\n if (this.hasAccess()) {\r\n return true;\r\n } else {\r\n this.router.navigate(['page-not-found']);\r\n }\r\n }\r\n return false;\r\n }));\r\n }\r\n\r\n hasAccess(): boolean {\r\n return this.secObjService.hasTeamAssignmentPageAccess();\r\n }\r\n}\r\n","import { Component, OnInit, OnDestroy } from '@angular/core';\r\nimport { BaseComponent } from '../shared/base/base.component';\r\nimport { AppInsightsService } from '../shared/services/app-insights.service';\r\nimport { Observable, Subscription } from 'rxjs';\r\nimport { Group } from '../models/incoming-dtos/group';\r\nimport { GroupTeam } from '../models/incoming-dtos/group-team';\r\nimport { SubscriptionService } from '../shared/services/subscription.service';\r\nimport { TeamAssignmentService } from './team-assignment.service';\r\nimport { UserService } from '../security/user.service';\r\nimport { HelperMethodsService } from '../shared/services/helper-methods.service';\r\nimport { groupLevels } from '../shared/static-data/group-levels';\r\nimport { Team } from '../models/incoming-dtos/team';\r\nimport { LoadingSpinnerService } from '../shared/loading-spinner/loading-spinner.service';\r\nimport { CoreFiltersService } from '../shared/services/core-filters.service';\r\nimport { finalize } from 'rxjs/operators';\r\nimport { StyleHelperService } from '../shared/services/style-helper.service';\r\n\r\n@Component({\r\n selector: 'scoreboard-team-assignment',\r\n templateUrl: './team-assignment.component.html',\r\n styleUrls: ['./team-assignment.component.scss']\r\n})\r\n\r\nexport class TeamAssignmentComponent extends BaseComponent implements OnInit, OnDestroy {\r\n groups$ = new Observable();\r\n groups = new Array();\r\n groupsSubscription = new Subscription();\r\n isNewTeam = false;\r\n newTeamId: number;\r\n newTeamToBeSelected: [number, number];\r\n isGroupLevel = false;\r\n saveCode: number;\r\n\r\n selectedTeamId: number;\r\n selectedGroupName: string;\r\n\r\n team$: Observable;\r\n team = new Team;\r\n teamSubscription = new Subscription();\r\n coreFilterSubscription = new Subscription();\r\n\r\n constructor(public appInsights: AppInsightsService,\r\n private subscribeService: SubscriptionService,\r\n private teamAssignmentSvc: TeamAssignmentService,\r\n public userService: UserService,\r\n public helperMethods: HelperMethodsService,\r\n public loadingSpinnerSvc: LoadingSpinnerService,\r\n public coreFilterSvc: CoreFiltersService,\r\n public styleHelper: StyleHelperService) {\r\n super(appInsights, userService);\r\n styleHelper.maxWidth = 680;\r\n }\r\n\r\n ngOnInit() {\r\n this.trackUser();\r\n this.getFilterValues();\r\n }\r\n\r\n ngOnDestroy() {\r\n this.coreFilterSubscription.unsubscribe();\r\n }\r\n\r\n getFilterValues() {\r\n this.coreFilterSvc.filterValues$.subscribe(filterValues => {\r\n this.level = filterValues[0].level;\r\n this.levelValue = filterValues[0].levelValue;\r\n this.month = filterValues[0].month;\r\n this.year = filterValues[0].year;\r\n this.isEurope = filterValues[0].isEurope;\r\n if (filterValues[1] === '/team-assignment') {\r\n this.onSubmitSearch();\r\n }\r\n });\r\n }\r\n\r\n onSelectedTeamChanged([teamId, groupName]) {\r\n this.selectedTeamId = teamId;\r\n this.selectedGroupName = groupName;\r\n this.getTeamDetails();\r\n }\r\n\r\n onTeamIdChanged(teamIdAndSaveCode: [number, number]) {\r\n this.getGroupsAndTeams();\r\n this.saveCode = teamIdAndSaveCode[1];\r\n if (teamIdAndSaveCode[0] > 0) {\r\n this.isNewTeam = true;\r\n this.newTeamId = teamIdAndSaveCode[0];\r\n }\r\n }\r\n\r\n getTeamDetails() {\r\n this.team$ = this.teamAssignmentSvc.getTeamDetails(this.selectedTeamId, this.selectedGroupName, this.month, this.year);\r\n this.subscribeToTeamDetails();\r\n }\r\n\r\n getGroupsAndTeams() {\r\n this.groups$ = this.teamAssignmentSvc.getGroupsAndTeams(this.level, this.levelValue, this.month, this.year);\r\n this.subscribeToGroupTeams();\r\n }\r\n\r\n subscribeToGroupTeams() {\r\n this.loadingSpinnerSvc.shouldShowLoading();\r\n this.groupsSubscription.unsubscribe();\r\n this.groups = [];\r\n this.team = new Team;\r\n this.newTeamToBeSelected = null;\r\n\r\n this.groupsSubscription = this.groups$\r\n .pipe(\r\n finalize(() => {\r\n this.isNewTeam = false;\r\n })\r\n )\r\n .subscribe(\r\n groups => {\r\n this.groups = groups;\r\n if (this.isNewTeam) {\r\n this.newTeamToBeSelected = [this.newTeamId, this.saveCode];\r\n }\r\n if (this.helperMethods.isArrayNullOrEmpty(groups) && this.level !== groupLevels.group) {\r\n this.team = new Team;\r\n this.userService.alertUser('No data found for the selected filters');\r\n this.loadingSpinnerSvc.turnSpinnerOff();\r\n } else {\r\n if (this.groups[0].teams.length === 0) {\r\n this.groups[0].teams.push({\r\n id: 0,\r\n name: ''\r\n }as GroupTeam);\r\n }\r\n }\r\n },\r\n err => {\r\n this.subscribeService.onError(err, this.level, 'getGroupsAndTeams');\r\n this.loadingSpinnerSvc.turnSpinnerOff();\r\n }\r\n );\r\n }\r\n\r\n subscribeToTeamDetails() {\r\n this.teamSubscription.unsubscribe();\r\n this.team = new Team;\r\n\r\n this.teamSubscription = this.team$\r\n .pipe(\r\n finalize(() => {\r\n this.loadingSpinnerSvc.turnSpinnerOff();\r\n })\r\n )\r\n .subscribe(\r\n teamDetails => {\r\n this.team = teamDetails;\r\n },\r\n err => {\r\n this.subscribeService.onError(err, this.level, 'getTeamDetails');\r\n this.loadingSpinnerSvc.turnSpinnerOff();\r\n }\r\n );\r\n }\r\n\r\n onSubmitSearch() {\r\n if (this.helperMethods.isStringNullOrEmpty(this.levelValue) || this.levelValue === groupLevels.invalid) {\r\n this.filterErrorMessage = 'You must select a valid ' + this.level + ' to submit your search.';\r\n this.userService.alertUser(this.filterErrorMessage);\r\n } else {\r\n if (this.level === groupLevels.group) {\r\n this.isGroupLevel = true;\r\n } else {\r\n this.isGroupLevel = false;\r\n }\r\n this.getGroupsAndTeams();\r\n }\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { RouterModule } from '@angular/router';\r\nimport { SharedModule } from '../shared/shared.module';\r\nimport { TeamAssignmentComponent } from './team-assignment.component';\r\nimport { TeamAssignmentRouteActivator } from './team-assignment-route-activator';\r\nimport { GroupTeamsComponent } from './group-teams/group-teams.component';\r\nimport { TeamAssignmentService } from './team-assignment.service';\r\nimport { TeamDetailsComponent } from './team-details/team-details.component';\r\nimport { TeamDetailsService } from './team-details/team-details.service';\r\nimport { ErrorStateMatcherHelper } from '../shared/reactive-forms/error-state-matcher-helper';\r\nimport { GroupTeamsService } from './group-teams/group-teams.service';\r\nimport { DecisionModalService } from '../shared/decision-modal/decision-modal.service';\r\n\r\n@NgModule({\r\n imports: [\r\n SharedModule,\r\n RouterModule.forChild([\r\n { path: 'team-assignment', component: TeamAssignmentComponent, canActivate: [TeamAssignmentRouteActivator] }\r\n ])\r\n ],\r\n declarations: [\r\n TeamAssignmentComponent,\r\n GroupTeamsComponent,\r\n TeamDetailsComponent\r\n ],\r\n providers: [\r\n TeamAssignmentRouteActivator,\r\n TeamAssignmentService,\r\n TeamDetailsService,\r\n ErrorStateMatcherHelper,\r\n GroupTeamsService,\r\n DecisionModalService\r\n ]\r\n})\r\nexport class TeamAssignmentModule { }\r\n","import { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { environment } from '../../environments/environment';\r\nimport { ErrorHandlingService } from '../shared/services/error-handling.service';\r\nimport { Group } from '../models/incoming-dtos/group';\r\nimport { UserService } from '../security/user.service';\r\nimport { groupLevels } from '../shared/static-data/group-levels';\r\nimport { Team } from '../models/incoming-dtos/team';\r\nimport { Employee } from '../models/incoming-dtos/employee';\r\nimport { CreateOrUpdateTeamDto } from '../models/outgoing-dtos/create-or-update-team-dto';\r\nimport { catchError } from 'rxjs/operators';\r\n\r\n@Injectable()\r\nexport class TeamAssignmentService {\r\n private baseUrl: string = environment.dotNetCoreUrl + 'coreapi/';\r\n private groupsForCountryUrl: string = this.baseUrl + 'TeamAssignment/country';\r\n private groupsForSvpTeamUrl: string = this.baseUrl + 'TeamAssignment/svpTeam';\r\n private groupForGroupUrl: string = this.baseUrl + 'TeamAssignment/group';\r\n private getTeamDetailsUrl: string = this.baseUrl + 'TeamAssignment/teamDetails';\r\n private updateTeamUrl: string = this.baseUrl + 'TeamAssignment/updateTeam';\r\n private createNewTeamUrl: string = this.baseUrl + 'TeamAssignment/createTeam';\r\n private deleteTeamUrl: string = this.baseUrl + 'TeamAssignment/deleteTeam';\r\n\r\n groups$ = new Observable();\r\n\r\n constructor(private httpClient: HttpClient,\r\n private userService: UserService,\r\n private errorService: ErrorHandlingService) { }\r\n\r\n getGroupsAndTeams(level: string, levelId: string, month: number, year: number): Observable {\r\n switch (level) {\r\n case groupLevels.country:\r\n return this.groups$ = this.getGroupsAndTeamsForCountry$(levelId, month, year);\r\n case groupLevels.svpTeam:\r\n return this.groups$ = this.getGroupsAndTeamsForSvpTeam$(levelId, month, year);\r\n case groupLevels.group:\r\n return this.groups$ = this.getGroupsAndTeamsForGroup$(levelId, month, year);\r\n }\r\n }\r\n\r\n deleteTeam(teamId: number, updatedBy: string): Observable {\r\n const url = this.deleteTeamUrl + '/' + teamId + '?updatedBy=' + updatedBy;\r\n return this.httpClient.delete(url, this.userService.getHttpOptions())\r\n .pipe(\r\n catchError(this.errorService.handleError)\r\n );\r\n }\r\n\r\n createNewTeam(teamName: string, manager: Employee, groupName: string, userId: string, employees: Employee[], month: number, year: number): Observable {\r\n const url = this.createNewTeamUrl;\r\n const params = this.buildCreateParams(teamName, manager, groupName, userId, employees, month, year);\r\n return this.httpClient.post(url, params, this.userService.getHttpOptions())\r\n .pipe(\r\n catchError(this.errorService.handleError)\r\n );\r\n }\r\n\r\n updateTeamDetails(teamName: string, manager: Employee, groupName: string, userId: string, employees: Employee[], month: number, year: number, teamId: number): Observable {\r\n const url = this.updateTeamUrl + '/' + teamId;\r\n const params = this.buildUpdateParams(teamName, manager, groupName, userId, employees, month, year);\r\n return this.httpClient.put(url, params, this.userService.getHttpOptions())\r\n .pipe(\r\n catchError(this.errorService.handleError)\r\n );\r\n }\r\n\r\n getTeamDetails(teamId: number, groupName: string, month: number, year: number): Observable {\r\n const url = this.getTeamDetailsUrl + '/' + teamId + '/' + year + '/' + month + '/' + groupName;\r\n return this.httpClient.get(url, this.userService.getHttpOptions())\r\n .pipe(\r\n catchError(this.errorService.handleError)\r\n );\r\n }\r\n\r\n getGroupsAndTeamsForCountry$(levelId: string, month: number, year: number): Observable {\r\n const url = this.buildGroupAndTeamUrl(this.groupsForCountryUrl, levelId, month, year);\r\n return this.httpClient.get(url, this.userService.getHttpOptions())\r\n .pipe(\r\n catchError(this.errorService.handleError)\r\n );\r\n }\r\n\r\n getGroupsAndTeamsForSvpTeam$(levelId: string, month: number, year: number): Observable {\r\n const url = this.buildGroupAndTeamUrl(this.groupsForSvpTeamUrl, levelId, month, year);\r\n return this.httpClient.get(url, this.userService.getHttpOptions())\r\n .pipe(\r\n catchError(this.errorService.handleError)\r\n );\r\n }\r\n\r\n getGroupsAndTeamsForGroup$(levelId, month, year): Observable {\r\n const url = this.buildGroupAndTeamUrl(this.groupForGroupUrl, levelId, month, year);\r\n return this.httpClient.get(url, this.userService.getHttpOptions())\r\n .pipe(\r\n catchError(this.errorService.handleError)\r\n );\r\n }\r\n\r\n buildGroupAndTeamUrl(url: string, levelId: string, month: number, year: number): string {\r\n const urlWithParams = url + '/' + levelId + '/' + year + '/' + month;\r\n return urlWithParams;\r\n }\r\n\r\n buildUpdateParams(teamName: string, manager: Employee, groupName: string, userId: string, employees: Employee[], month: number, year: number): CreateOrUpdateTeamDto {\r\n const createOrUpdateTeamDto = new CreateOrUpdateTeamDto();\r\n createOrUpdateTeamDto.groupName = groupName;\r\n createOrUpdateTeamDto.month = month;\r\n createOrUpdateTeamDto.year = year;\r\n createOrUpdateTeamDto.teamName = teamName;\r\n createOrUpdateTeamDto.employees = employees;\r\n createOrUpdateTeamDto.manager = manager;\r\n createOrUpdateTeamDto.updatedBy = userId;\r\n return createOrUpdateTeamDto;\r\n }\r\n\r\n buildCreateParams(teamName: string, manager: Employee, groupName: string, userId: string, employees: Employee[], month: number, year: number): CreateOrUpdateTeamDto {\r\n const createOrUpdateTeamDto = new CreateOrUpdateTeamDto();\r\n createOrUpdateTeamDto.groupName = groupName;\r\n createOrUpdateTeamDto.month = month;\r\n createOrUpdateTeamDto.year = year;\r\n createOrUpdateTeamDto.teamName = teamName;\r\n createOrUpdateTeamDto.employees = employees;\r\n createOrUpdateTeamDto.manager = manager;\r\n createOrUpdateTeamDto.createdBy = userId;\r\n return createOrUpdateTeamDto;\r\n }\r\n}\r\n","import { Component, OnInit, Input, Output, EventEmitter, OnChanges } from '@angular/core';\r\nimport { Team } from '../../models/incoming-dtos/team';\r\nimport { Employee } from '../../models/incoming-dtos/employee';\r\nimport { TeamAssignmentService } from '../team-assignment.service';\r\nimport { Observable, Subscription } from 'rxjs';\r\nimport { User } from '../../security/user';\r\nimport { TeamDetailsService } from './team-details.service';\r\nimport { HelperMethodsService } from '../../shared/services/helper-methods.service';\r\nimport { SubscriptionService } from '../../shared/services/subscription.service';\r\nimport { UserService } from '../../security/user.service';\r\nimport { UntypedFormControl, Validators } from '@angular/forms';\r\nimport { SnackBarService } from '../../shared/services/snack-bar.service';\r\nimport { Group } from '../../models/incoming-dtos/group';\r\nimport { LoadingSpinnerService } from '../../shared/loading-spinner/loading-spinner.service';\r\nimport { environment } from '../../../environments/environment';\r\nimport { AppInsightsService } from '../../shared/services/app-insights.service';\r\nimport { finalize } from 'rxjs/operators';\r\nimport { DecisionModalService } from '../../shared/decision-modal/decision-modal.service';\r\n\r\n@Component({\r\n selector: 'scoreboard-team-details',\r\n templateUrl: './team-details.component.html',\r\n styleUrls: ['./team-details.component.scss']\r\n})\r\nexport class TeamDetailsComponent implements OnInit, OnChanges {\r\n @Input() team: Team;\r\n @Input() selectedTeamId: number;\r\n @Input() selectedGroupName: string;\r\n @Input() user: User;\r\n @Input() month: number;\r\n @Input() year: number;\r\n @Input() groups: Group[];\r\n\r\n managers: Employee[];\r\n employees: Employee[];\r\n teamName: string;\r\n\r\n selectedEmployee = new Array();\r\n selectedManager: Employee;\r\n selectedManagerId: number;\r\n\r\n teamObs$: Observable;\r\n teamDetailsSubscription = new Subscription();\r\n\r\n isDragging: boolean;\r\n isSaveDeleteClickable = false;\r\n unassignedManager = {\r\n id: null,\r\n selected: false\r\n } as Employee;\r\n\r\n teamNameFormControl = new UntypedFormControl('', [\r\n Validators.required\r\n ]);\r\n\r\n @Output() teamIdChanged: EventEmitter<[number, number]>;\r\n\r\n constructor(private teamAssignmentSvc: TeamAssignmentService,\r\n private teamDetailsSvc: TeamDetailsService,\r\n private helperMethods: HelperMethodsService,\r\n private subscribeService: SubscriptionService,\r\n private userService: UserService,\r\n public snackBarSvc: SnackBarService,\r\n public loadingSpinnerSvc: LoadingSpinnerService,\r\n public decisionSvc: DecisionModalService,\r\n public appInsights: AppInsightsService) {\r\n this.teamIdChanged = new EventEmitter<[number, number]>();\r\n }\r\n\r\n ngOnInit() {\r\n this.setManagers();\r\n this.setEmployees();\r\n this.teamName = this.team.name;\r\n }\r\n\r\n ngOnChanges() {\r\n this.isSaveDeleteClickable = this.helperMethods.isPastMonthYear(this.month, this.year);\r\n }\r\n\r\n setManagers() {\r\n this.managers = this.team.managers;\r\n this.selectedManager = this.unassignedManager;\r\n this.managers.forEach(manager => {\r\n if (manager.selected) {\r\n this.selectedManager = manager;\r\n }\r\n });\r\n }\r\n\r\n setEmployees() {\r\n this.employees = this.team.employees;\r\n this.employees.forEach(employee => {\r\n const i = this.employees.indexOf(employee);\r\n if (employee.selected) {\r\n this.selectedEmployee[i] = true;\r\n } else {\r\n this.selectedEmployee[i] = false;\r\n }\r\n });\r\n }\r\n\r\n onSave() {\r\n this.teamName = this.teamName.trim();\r\n const teamNameValidationCode = this.teamDetailsSvc.validateTeamName(this.teamName, this.groups, this.selectedGroupName, this.team.name);\r\n switch (teamNameValidationCode) {\r\n case 0:\r\n this.userService.alertUser('Team name already exists for group ' + this.selectedGroupName + '.');\r\n break;\r\n case 1:\r\n this.userService.alertUser('You must enter a team name in order to save it.');\r\n break;\r\n case 2:\r\n this.userService.alertUser('Invalid character in team name.');\r\n break;\r\n case 3:\r\n if (this.team.id === 0) {\r\n this.createNewTeam();\r\n } else {\r\n this.updateTeamDetails();\r\n }\r\n break;\r\n }\r\n }\r\n\r\n hasSaveSecObject(): boolean {\r\n if (this.user && !this.helperMethods.isArrayNullOrEmpty(this.user.allSecuredObjects)) {\r\n return this.user.allSecuredObjects.some(so => so.secObjectName === environment.securedObjects.btnTeamSetupSave);\r\n }\r\n return false;\r\n }\r\n\r\n updateTeamDetails() {\r\n this.loadingSpinnerSvc.turnSpinnerOn('Saving...');\r\n const selectedEmployees = this.teamDetailsSvc.getSelectedEmployees(this.employees);\r\n if (this.selectedManager.id === null) {\r\n this.teamObs$ = this.teamAssignmentSvc.updateTeamDetails(this.teamName, null, this.selectedGroupName, this.user.eId, selectedEmployees, this.month, this.year, this.team.id);\r\n } else {\r\n this.teamObs$ = this.teamAssignmentSvc.updateTeamDetails(this.teamName, this.selectedManager, this.selectedGroupName, this.user.eId, selectedEmployees, this.month, this.year, this.team.id);\r\n }\r\n this.subscribeToUpdatedTeam();\r\n }\r\n\r\n createNewTeam() {\r\n this.loadingSpinnerSvc.turnSpinnerOn('Saving...');\r\n const selectedEmployees = this.teamDetailsSvc.getSelectedEmployees(this.employees);\r\n if (this.selectedManager.id === null) {\r\n this.teamObs$ = this.teamAssignmentSvc.createNewTeam(this.teamName, null, this.selectedGroupName, this.user.eId, selectedEmployees, this.month, this.year);\r\n } else {\r\n this.teamObs$ = this.teamAssignmentSvc.createNewTeam(this.teamName, this.selectedManager, this.selectedGroupName, this.user.eId, selectedEmployees, this.month, this.year);\r\n }\r\n this.subscribeToNewTeam();\r\n }\r\n\r\n onDelete() {\r\n const ask$ = this.decisionSvc.askUser('All pay plans for employees on this team will be lost as well. Do you want to continue?', 'auto');\r\n ask$.pipe(finalize(() => {\r\n })).subscribe(result => {\r\n if (result) {\r\n this.loadingSpinnerSvc.turnSpinnerOn('Deleting...');\r\n this.teamObs$ = this.teamAssignmentSvc.deleteTeam(this.team.id, this.user.eId);\r\n this.subscribeToDeleteTeam();\r\n }\r\n });\r\n }\r\n\r\n subscribeToNewTeam() {\r\n this.teamDetailsSubscription.unsubscribe();\r\n this.isSaveDeleteClickable = false;\r\n this.teamDetailsSubscription = this.teamObs$\r\n .pipe(\r\n finalize(() => {\r\n this.isSaveDeleteClickable = true;\r\n })\r\n )\r\n .subscribe(\r\n newTeam => {\r\n this.teamIdChanged.emit([newTeam, 1]);\r\n if (newTeam > 0) {\r\n this.snackBarSvc.openSnackBar('Team ' + this.teamName + ' was saved successfully.');\r\n this.appInsights.logUserAction('User created team ' + this.teamName + ' on group ' + this.selectedGroupName + ' on ' + this.month + '/' + this.year, this.user);\r\n }\r\n },\r\n err => {\r\n this.subscribeService.onError(err, 'createNewTeam');\r\n this.loadingSpinnerSvc.turnSpinnerOff();\r\n }\r\n );\r\n }\r\n\r\n subscribeToUpdatedTeam() {\r\n this.teamDetailsSubscription.unsubscribe();\r\n this.isSaveDeleteClickable = false;\r\n this.teamDetailsSubscription = this.teamObs$\r\n .pipe(\r\n finalize(() => {\r\n this.isSaveDeleteClickable = true;\r\n })\r\n )\r\n .subscribe(\r\n updatedTeam => {\r\n this.teamIdChanged.emit([updatedTeam, 2]);\r\n this.snackBarSvc.openSnackBar('Team ' + this.teamName + ' was updated successfully.');\r\n this.appInsights.logUserAction('User updated team ' + this.teamName + ' on group ' + this.selectedGroupName + ' on ' + this.month + '/' + this.year, this.user);\r\n },\r\n err => {\r\n this.subscribeService.onError(err, this.team.id.toString(), 'updateTeamDetails');\r\n this.loadingSpinnerSvc.turnSpinnerOff();\r\n }\r\n );\r\n }\r\n\r\n subscribeToDeleteTeam() {\r\n this.teamDetailsSubscription.unsubscribe();\r\n this.isSaveDeleteClickable = false;\r\n this.teamDetailsSubscription = this.teamObs$\r\n .pipe(\r\n finalize(() => {\r\n this.isSaveDeleteClickable = true;\r\n })\r\n )\r\n .subscribe(\r\n object => {\r\n this.teamIdChanged.emit([0, 0]);\r\n this.snackBarSvc.openSnackBar('Team ' + this.teamName + ' was deleted successfully.');\r\n this.appInsights.logUserAction('User deleted team ' + this.teamName + ' on group ' + this.selectedGroupName + ' on ' + this.month + '/' + this.year, this.user);\r\n },\r\n err => {\r\n this.subscribeService.onError(err, this.team.id.toString(), 'deleteTeam');\r\n this.loadingSpinnerSvc.turnSpinnerOff();\r\n }\r\n );\r\n }\r\n\r\n onSelectManager(manager: Employee) {\r\n manager.selected = !manager.selected;\r\n this.managers.forEach(mgr => {\r\n if (mgr !== manager) {\r\n mgr.selected = false;\r\n }\r\n });\r\n }\r\n\r\n onSelectEmployee(employee: Employee) {\r\n employee.selected = !employee.selected;\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Employee } from '../../models/incoming-dtos/employee';\r\nimport { Group } from '../../models/incoming-dtos/group';\r\nimport { HelperMethodsService } from '../../shared/services/helper-methods.service';\r\n\r\n@Injectable()\r\nexport class TeamDetailsService {\r\n\r\n constructor(private helperMethods: HelperMethodsService) {}\r\n\r\n getSelectedEmployees(employees: Employee[]): Employee[] {\r\n const selectedEmployees = new Array();\r\n employees.forEach(employee => {\r\n if (employee.selected) {\r\n selectedEmployees.push(employee);\r\n }\r\n });\r\n return selectedEmployees;\r\n }\r\n\r\n validateTeamName(teamName: string, groups: Group[], selectedGroupName: string, originalTeamName: string): number {\r\n let outcome: number;\r\n if (this.helperMethods.isStringNullOrEmpty(teamName)) {\r\n outcome = 1;\r\n }\r\n if (this.helperMethods.isNumberNullOrUndefined(outcome)) {\r\n outcome = this.checkIfNameAlreadyExists(groups, teamName, selectedGroupName, originalTeamName);\r\n }\r\n if (this.helperMethods.isNumberNullOrUndefined(outcome)) {\r\n outcome = this.checkForInvalidCharacters(teamName);\r\n }\r\n return outcome;\r\n }\r\n\r\n checkIfNameAlreadyExists(groups: Group[], teamName: string, selectedGroupName: string, originalTeamName: string): number {\r\n const teamNames = new Array();\r\n if (originalTeamName !== teamName) {\r\n groups[0].teams.forEach(team => {\r\n teamNames.push(team.name);\r\n });\r\n }\r\n\r\n if (teamNames.includes(teamName)) {\r\n return 0;\r\n }\r\n }\r\n\r\n checkForInvalidCharacters(teamName: string): number {\r\n const nameCheck = teamName.match(/[^+*!@#$%^&()_=?.,<>|~`]+/);\r\n if (nameCheck === null) {\r\n return 2;\r\n }\r\n if (nameCheck['0'] !== teamName) {\r\n return 2;\r\n } else {\r\n return 3;\r\n }\r\n }\r\n}\r\n","export const environment = {\r\n production: false,\r\n applicationInsightsKey: 'c040f0c8-7168-438b-a0bf-94e54d7ec105',\r\n tenant: '5a9bb941-ba53-48d3-b086-2927fea7bf01',\r\n audience: '46abcefc-6007-43c9-ac33-d8717008f774',\r\n dotNetCoreUrl: window.location.origin + '/',\r\n RoleAppStaticId: '1028347073',\r\n currencyMap: [\r\n { ngCode: 'CAD', ehiCode: 'CAN' },\r\n { ngCode: 'EUR', ehiCode: 'DEU' },\r\n { ngCode: 'EUR', ehiCode: 'FRA' },\r\n { ngCode: 'EUR', ehiCode: 'IRL' },\r\n { ngCode: 'EUR', ehiCode: 'ESP' },\r\n { ngCode: 'USD', ehiCode: 'USA' },\r\n { ngCode: 'GBP', ehiCode: 'GBR' }\r\n ],\r\n orderOfMeritgoalIDs: [\r\n 644, 645, 646, 647, 648\r\n ],\r\n securedObjects: {\r\n corpUserSecObj: 'CorpUserSecObj',\r\n corporateAdminPageLink: 'CorporateAdminPageLink',\r\n dashboardPageLink: 'DashboardPageLink',\r\n gpPreferencesPageLink: 'GPPreferencesPageLink',\r\n employeeGoals: 'EmployeeGoals',\r\n teamGoals: 'TeamGoals',\r\n groupGoals: 'GroupGoals',\r\n paidTimeOffPageLink: 'PaidTimeOffPageLink',\r\n payPlanMemoPageLink: 'PayPlanMemoPageLink',\r\n payPlanSetupPageLink: 'PayPlanSetupPageLink',\r\n TeamSetupPageLink: 'TeamSetupPageLink',\r\n btnExportPayPlan: 'btnExportPayPlan',\r\n btnExportPayPlanMemo: 'btnExportPayPlanMemo',\r\n btnExportTimeOff: 'btnExportTimeOff',\r\n btnGrpMemoSaveFinal: 'btnGrpMemoSaveFinal',\r\n btnSaveAdmin: 'btnSaveAdmin',\r\n btnSavePayPlan: 'btnSavePayPlan',\r\n btnSavePayPlanMemo: 'btnSavePayPlanMemo',\r\n btnSavePreferences: 'btnSavePreferences',\r\n btnSaveTimeOff: 'btnSaveTimeOff',\r\n btnTeamSetupSave: 'btnTeamSetupSave',\r\n ddDashboardUserList: 'ddDashboardUserList',\r\n },\r\n SPC: {\r\n Enabled: true\r\n }, \r\n netSPC: {\r\n Enabled: false\r\n },\r\n Features: {\r\n LocalBoostEnabled: false,\r\n AgedPercentEnabled: false\r\n },\r\n Validators: {\r\n PayPlan: {\r\n NonTotalPercentValidatorsEnabled: false\r\n }\r\n },\r\n msal: {\r\n production: false,\r\n redirectUrl: 'https://scoreboard-dev.rmkt.ehi.com/',\r\n logoutRedirectUrl: 'https://scoreboard-dev.rmkt.ehi.com/',\r\n clientId: '46abcefc-6007-43c9-ac33-d8717008f774',\r\n tenantId: '5a9bb941-ba53-48d3-b086-2927fea7bf01',\r\n msAuthority: 'https://login.microsoftonline.com',\r\n protectedResourceMap: [\r\n ['https://EnterpriseHoldings.onmicrosoft.com/46abcefc-6007-43c9-ac33-d8717008f774', ['user_impersonation']],\r\n ['https://EnterpriseHoldings.onmicrosoft.com/77cb7f6c-1201-4ebe-bb5c-da7914dc355f', ['user_impersonation']]\r\n ]\r\n },\r\n RSPUrl: 'https://www-rsp-dev.9875.ehiaws-nonprod.com/',\r\n};\r\n","import 'zone.js';\r\nimport { enableProdMode } from '@angular/core';\r\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\r\nimport { AppModule } from './app/app.module';\r\nimport { environment } from './environments/environment';\r\n\r\n\r\nif (environment.production) {\r\n enableProdMode();\r\n}\r\n\r\nplatformBrowserDynamic().bootstrapModule(AppModule)\r\n .catch(err => console.log(err));\r\n"],"names":["catchError","Injectable","HttpClient","HttpHeaders","environment","ErrorHandlingService","interval","Subscription","Subject","ReplaySubject","from","AppInsightsService","unauthorized","AlertModalComponent","MatDialog","HelperMethodsService","MsalService","msalConfig","UserService","constructor","httpClient","errorService","msalSvc","appInsightsSvc","dialog","helperMethodsSvc","dotNetCoreUrl","baseUrl","userSource","asObservable","scopes","redirectUri","auth","account","instance","getAllAccounts","length","callMsalSubscriber","handleRedirectObservable","subscribe","next","result","authResponse","loginWithRedirect","setActiveAccount","postLoginProcess","error","console","log","acquireTokenSilent","silentRequest","then","resp","catch","loginRedirect","tokenRequest","res","token","idToken","getUser","isAuthenticated","user$","get","userURL","getHttpOptions","pipe","handleError","subscribeToUserObservable","userSubscription","unsubscribe","emp","user","checkRoles","err","alertUser","complete","logUserRetrieval","httpOptions","headers","append","getEmailPart","username","checkAuthenticated","getActiveAccount","isWaitingOnToken","token$","subscribeToAcquireToken","refreshTokenAtInterval","tokenSubscription","newToken","logErrorThrown","isAuthorized","roles","activeAccount","idTokenClaims","isStringNullOrEmpty","eId","firstName","lastName","appInsights","trackEvent","name","iat","exp","message","open","width","height","data","alertMessage","haveUserRoles","logUserAction","getSecuredObjects","allSecuredObjects","Array","forEach","role","securedObjects","so","push","ngOnDestroy","_destroying$","undefined"],"sourceRoot":"webpack:///","x_google_ignoreList":[]}