(false);\n\n\t/** Navigate to pin observable */\n\tNavigateToPin$ = this.ObserveLoggedInStatus.asObservable();\n\n\tisOpenedinIframe() {\n\t\tthis.isIframe = window !== window.parent && !window.opener;\n\t\treturn this.isIframe;\n\t}\n\n\t/**\n\t * logout SSO\n\t */\n\tasync logoutSSO() {\n\t\tthis.loggedInStatus = false;\n\t\tlocalStorage.clear();\n\t\tif (environment.requireSSO) {\n\t\t\tthis.MsalAuthService.logoutRedirect({\n\t\t\t\tpostLogoutRedirectUri: environment.SSO_CONFIG.POST_LOGOUT_REDIRECT_URI,\n\t\t\t});\n\t\t} else {\n\t\t\tawait this.router.navigate(['/login']);\n\t\t\twindow.location.reload();\n\t\t}\n\t}\n\n\tdestroying() {\n\t\tthis._destroying$.next(undefined);\n\t\tthis._destroying$.complete();\n\t}\n}\n\ntype ProfileType = {\n\tgivenName?: string;\n\tsurname?: string;\n\tuserPrincipalName?: string;\n\tid?: string;\n};\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'app-loader',\n templateUrl: './loader.component.html',\n styleUrls: ['./loader.component.scss'],\n})\nexport class LoaderComponent {}\n","\n\t

\n\t
\n
\n","import { Component, OnInit } from '@angular/core';\nimport { NgxSpinnerService } from 'ngx-spinner';\n\n@Component({\n selector: 'app-network-error',\n templateUrl: './network-error.component.html',\n styleUrls: ['./network-error.component.scss'],\n})\nexport class NetworkErrorComponent implements OnInit {\n constructor(private spinner: NgxSpinnerService) {}\n\n /**\n * On page initialization\n */\n ngOnInit(): void {\n this.spinner.hide();\n }\n}\n","\n
\n
UP+ Offline!
\n
Please check your connection.
\n
\n","import { Component, Input } from '@angular/core';\nimport { UserDataService } from '@services/user-data.service';\nimport { MsLoginServiceService } from '../../../modules/login/service/ms-login-service.service';\n\n@Component({\n\tselector: 'app-profile-image',\n\ttemplateUrl: './profile-image.component.html',\n\tstyleUrls: ['./profile-image.component.scss'],\n})\nexport class ProfileImageComponent {\n\t /** image Url */\n\t @Input() imageUrl: string;\n\t /** full Name */\n\t @Input() fullName: string;\n\t /**user ShortName */\n\t userShortName: string;\n \n\t /**\n\t * @constructor\n\t * @param userDataSr\n\t * @param MsLoginService\n\t */\n\t constructor(public userDataSr: UserDataService, private MsLoginService: MsLoginServiceService) {\n\t this.userDataSr.titleDisplayUpdated.subscribe((bol: boolean) => {\n\t\t if (!this.imageUrl) {\n\t\t this.setUserShortName();\n\t\t } else {\n\t\t this.userShortName = '';\n\t\t }\n\t });\n \n\t this.userDataSr.userImageUpdated.subscribe((bol: boolean) => {\n\t\tconst userImage: any = localStorage.getItem('userPhotoURL');\n\t\tif (userImage != 'null') {\n\t\t this.userShortName = '';\n\t\t this.imageUrl = userImage;\n\t\t} else {\n\t\t this.setUserShortName();\n\t\t}\n\t });\n\t }\n \n\t /**\n\t * set User ShortName\n\t * @returns userShortName\n\t */\n\t setUserShortName() {\n\t this.fullName = this.userDataSr.getTitleDisplay();\n\t this.userDataSr.titleDisplayUpdated.next(true);\n\t this.userShortName = this.fullName\n\t\t .split(' ')\n\t\t .map((name) => name.charAt(0))\n\t\t .join('')\n\t\t .toUpperCase();\n\t }\n }\n \n","\n \n {{ userShortName }}\n \n
\n","import { Component } from '@angular/core';\nimport { ErrorService } from '@services/error.service';\nimport { MsLoginServiceService } from '../../../modules/login/service/ms-login-service.service';\n\n@Component({\n selector: 'app-server-error',\n templateUrl: './server-error.component.html',\n styleUrls: ['./server-error.component.scss']\n})\nexport class ServerErrorComponent {\n errMsg;\n errSubMsg;\n showRefresh;\n showLogout;\n constructor(private errSr: ErrorService, private msLoginService: MsLoginServiceService, ){\n this.errMsg = errSr.errMsg\n this.errSubMsg = errSr.errSubMsg\n this.showRefresh = errSr.showRefresh\n this.showLogout = errSr.showLogout\n }\n\n refreshApp(){\n window.location.reload()\n }\n\n logout() {\n this.msLoginService.logoutSSO();\n }\n}\n","\n
\n

\n
{{ errMsg }}
\n
{{ errSubMsg }}
\n
\n
\n
\n
\n","import { Component, Inject } from '@angular/core';\nimport { MAT_SNACK_BAR_DATA, MatSnackBar } from '@angular/material/snack-bar';\n\n@Component({\n\tselector: 'app-snackbar-message',\n\ttemplateUrl: './snackbar-message.component.html',\n})\nexport class SnackbarMessageComponent {\n\tconstructor(\n\t\t@Inject(MAT_SNACK_BAR_DATA)\n\t\tpublic data: { html: string; borderStatusColor: 'green' | 'red'; iconStatusColor: 'green' | 'red' },\n\t\tpublic snackBar: MatSnackBar\n\t) {}\n}\n","\n\t
\n\t
\n\t\t
\n\t\t\t

\n\t\t\t
\n\t\t
\n\t\t
close\n\t
\n
\n","import { Component, Inject } from '@angular/core';\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\n\n@Component({\n\tselector: 'app-warning-message-popup',\n\ttemplateUrl: './warning-message-popup.component.html',\n})\nexport class WarningMessagePopupComponent {\n\tconstructor(\n\t\tpublic dialogRef: MatDialogRef,\n\t\t@Inject(MAT_DIALOG_DATA) public data: { title: string; description: string }\n\t) {}\n\n\tclose() {\n\t\tthis.dialogRef.close();\n\t}\n}\n","\n\t
\n\t\t

\n\t\t
{{ data.title }}
\n\t
\n\t
close\n
\n\n\t
{{ data.description }}
\n
\n\n\t\n
\n","import { Injectable } from '@angular/core';\nimport { BehaviorSubject, Subscription } from 'rxjs';\nimport { environment } from '@environments/environment';\n\n@Injectable({\n\tprovidedIn: 'root',\n})\nexport class ErrorService {\n\terrMsg;\n\terrSubMsg;\n\tshowRefresh;\n\tshowLogout;\n\terrorStatus: any;\n\terrorStatus$: Subscription = Subscription.EMPTY;\n\n\t/** show Offline Ui behavior subject */\n\tcheckForError = new BehaviorSubject(false);\n\t/** show Offline Ui observable */\n\tcheckForError$ = this.checkForError.asObservable();\n\n\t/** hide sidemenu behavior subject */\n\thideSidemenuFlag = new BehaviorSubject(false);\n\t/** hide sidemenu observable */\n\thideSidemenuFlag$ = this.hideSidemenuFlag.asObservable();\n\n\thandleServerError(type, message, subMsg, refreshFlag, logoutFlag) {\n\t\tthis.errMsg = message;\n\t\tthis.errSubMsg = subMsg;\n\n\t\tif (type === environment.ERROR_TYPE.SERVERERROR && refreshFlag === true) {\n\t\t\tthis.showRefresh = refreshFlag;\n\t\t} else if (\n\t\t\t(type === environment.ERROR_TYPE.UNAUTHORIZED && logoutFlag === true) ||\n\t\t\t(type === environment.ERROR_TYPE.FORBIDDEN && logoutFlag === true)\n\t\t) {\n\t\t\tthis.showLogout = logoutFlag;\n\t\t}\n\n\t\tthis.checkForError.next(true);\n\t}\n}\n","import { Injectable } from '@angular/core';\nimport { environment } from '@environments/environment';\nimport * as moment from 'moment';\nimport { MatSnackBar } from '@angular/material/snack-bar';\n\n@Injectable({\n\tprovidedIn: 'root',\n})\nexport class LogService {\n\tconstructor(private snackBar: MatSnackBar) {}\n\tlog(...msg) {\n\t\tconst dateTime = moment(new Date()).format('D-MMM-YYYY, h:mm:ss a');\n\t\tconst labelStyle = 'background: blue; color: white; font-size: 14px; font-weight: bold;';\n\t\tconst textStyle = 'background: blue; color: white; font-size: 12px;';\n\t\tenvironment.LOG_CONFIGS.enableLogs ? console.log(`%cLog @ ${dateTime}:\\n%c${msg}`, labelStyle, textStyle) : null;\n\t}\n\n\tinfo(...msg) {\n\t\tconst dateTime = moment(new Date()).format('D-MMM-YYYY, h:mm:ss a');\n\t\tconst labelStyle = 'background: green; color: white; font-size: 14px; font-weight: bold;';\n\t\tconst textStyle = 'background: green; color: white; font-size: 12px;';\n\t\tenvironment.LOG_CONFIGS.enableInfoLogs\n\t\t\t? console.info(`%cInfo @ ${dateTime}:\\n%c${msg}`, labelStyle, textStyle)\n\t\t\t: null;\n\t}\n\n\ttable(msg) {\n\t\tenvironment.LOG_CONFIGS.enableLogs ? console.table([msg]) : null;\n\t}\n\n\terror(...error) {\n\t\tconst dateTime = moment(new Date()).format('D-MMM-YYYY, h:mm:ss a');\n\t\tconst labelStyle = 'background: red; color: white; font-size: 14px; font-weight: bold;';\n\t\tconst textStyle = 'background: red; color: white; font-size: 12px;';\n\t\tenvironment.LOG_CONFIGS.enableErrorLogs\n\t\t\t? console.trace(`%cError @ ${dateTime}:\\n%c${error}`, labelStyle, textStyle)\n\t\t\t: null;\n\t}\n\n\t/**\n\t * show SnackBar\n\t * @param message\n\t */\n\tshowSnackBar(message, duration = 5000) {\n\t\tthis.snackBar.open(message, 'Close', {\n\t\t\tduration: duration,\n\t\t\tpanelClass: 'snackbar',\n\t\t});\n\t}\n}\n","import { Injectable } from '@angular/core';\nimport { BehaviorSubject, fromEvent, map, merge, of, Subscription } from 'rxjs';\n\n/** Network Status Service */\n@Injectable({\n\tprovidedIn: 'root',\n})\nexport class NetworkStatusService {\n\tnetworkStatus: any;\n\tnetworkStatus$: Subscription = Subscription.EMPTY;\n\n\t/** show Offline Ui behavior subject */\n\tcheckConnection = new BehaviorSubject(false);\n\t/** show Offline Ui observable */\n\tcheckConnection$ = this.checkConnection.asObservable();\n\t/**\n\t * Constructor\n\t */\n\tconstructor() {}\n\n\t/**\n\t * Get Network Status\n\t *\n\t * @returns networkStatus\n\t */\n\tgetNetworkStatus() {\n\t\tthis.networkStatus = navigator.onLine;\n\t\tthis.networkStatus$ = merge(of(null), fromEvent(window, 'online'), fromEvent(window, 'offline'))\n\t\t\t.pipe(map(() => navigator.onLine))\n\t\t\t.subscribe((status) => {\n\t\t\t\tthis.networkStatus = status;\n\t\t\t\tthis.checkConnection.next(status);\n\t\t\t});\n\t\treturn this.networkStatus;\n\t}\n}\n","import { Injectable } from '@angular/core';\nimport { BehaviorSubject } from 'rxjs';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class UserDataService {\n /** username Updated behavior subject */\n usernameUpdated = new BehaviorSubject(false);\n /** username Updated observable */\n usernameUpdated$ = this.usernameUpdated.asObservable();\n\n /** user Image Updated behavior subject */\n userImageUpdated = new BehaviorSubject(false);\n /** user Image Updated observable */\n userImageUpdated$ = this.userImageUpdated.asObservable();\n /** firstName Updated behavior subject */\n firstNameUpdated = new BehaviorSubject(false);\n /** firstName Updated observable */\n firstNameUpdated$ = this.firstNameUpdated.asObservable();\n /** lastName Updated behavior subject */\n lastNameUpdated = new BehaviorSubject(false);\n /** lastName Updated observable */\n lastNameUpdated$ = this.lastNameUpdated.asObservable();\n /** title Display Updated behavior subject */\n titleDisplayUpdated = new BehaviorSubject(false);\n /** title Display Updated observable */\n titleDisplayUpdated$ = this.titleDisplayUpdated.asObservable();\n\n\t /**\n * Get Title Display\n */\n\t getTitleDisplay() {\n\t\tlet titleDisplay;\n\t\tif (localStorage.getItem('firstName') && localStorage.getItem('lastName')) {\n\t\t titleDisplay = localStorage.getItem('firstName')?.trim() + ' ' + localStorage.getItem('lastName')?.trim();\n\t\n\t\t} else {\n\t\t titleDisplay = '';\n\t\n\t\t}\n\t\treturn titleDisplay;\n\t }\n}\n","import { NgModule } from '@angular/core';\nimport { AsyncPipe, CommonModule, TitleCasePipe } from '@angular/common';\nimport { WarningMessagePopupComponent } from './components/warning-message-popup/warning-message-popup.component';\nimport { MatIconModule } from '@angular/material/icon';\nimport { SnackbarMessageComponent } from './components/snackbar-message/snackbar-message.component';\nimport { LoaderComponent } from './components/loader/loader.component';\nimport { ProfileImageComponent } from './components/profile-image/profile-image.component';\n\n@NgModule({\n\tdeclarations: [WarningMessagePopupComponent, SnackbarMessageComponent, LoaderComponent, ProfileImageComponent],\n\timports: [CommonModule, MatIconModule],\n\texports: [LoaderComponent, ProfileImageComponent],\n\tproviders: [AsyncPipe, TitleCasePipe],\n})\nexport class SharedModule {}\n","import { createAction, props } from '@ngrx/store';\n\nexport const setIsAdmin = createAction('[Admin] Set Admin', props<{ isAdmin: boolean }>());\n","import { createReducer, on } from '@ngrx/store';\nimport * as AdminActions from './admin.actions';\n\nexport interface AdminState {\n\tisAdmin: boolean;\n}\n\nexport const initialState: AdminState = {\n\tisAdmin: false,\n};\n\nexport const adminReducer = createReducer(\n\tinitialState,\n\ton(AdminActions.setIsAdmin, (state, { isAdmin }) => {\n\t\treturn { ...state, isAdmin };\n\t})\n);\n","import { createAction, props } from '@ngrx/store';\n\nexport const setToken = createAction('[Auth] Set Token', props<{ token: string }>());\n","import { createReducer, on } from '@ngrx/store';\nimport * as AuthActions from './auth.actions';\n\nexport interface AuthState {\n\ttoken: string | null;\n}\n\nexport const initialState: AuthState = {\n\ttoken: null,\n};\n\nexport const authReducer = createReducer(\n\tinitialState,\n\ton(AuthActions.setToken, (state, { token }) => {\n\t\treturn { ...state, token };\n\t})\n);\n","// This file can be replaced during build by using the `fileReplacements` array.\n// `ng build` replaces `environment.ts` with `environment.prod.ts`.\n// The list of file replacements can be found in `angular.json`.\n\nexport const environment = {\n\tproduction: false,\n\trequireSSO: true,\n\n\t//PETRONAS SSO Configs\n\tSSO_CONFIG: {\n\t\tCLIENT_ID: '766c2f8d-7683-4b0d-80e9-dab07cc7d2e9',\n\t\tTENANT_ID: '8b24551d-7c2c-4beb-8b61-95f32d9929ef',\n\t\tAUTHORITY: 'https://login.microsoftonline.com/',\n\t\tREDIRECT_URL: 'https://webconsole.dev.upx.petronas.com/home',\n\t\tPOST_LOGOUT_REDIRECT_URI: 'https://webconsole.dev.upx.petronas.com',\n\t\tMS_GRAPH_API: 'https://graph.microsoft.com/v1.0/me',\n\t},\n\n\t//Micro-Service Configs\n\tMS_CONFIG: {\n\t\tURL: 'https://dev.upx.petronas.com/api/gate',\n\t},\n\n\t//Log Configs\n\tLOG_CONFIGS: {\n\t\tenableLogs: true,\n\t\tenableInfoLogs: true,\n\t\tenableErrorLogs: true,\n\t},\n\n\t//Error Types Config\n\tERROR_TYPE: {\n\t\tUNAUTHORIZED: 'unauthorized',\n\t\tFORBIDDEN: 'forbidden',\n\t\tNOTFOUND: 'notfound',\n\t\tSERVERERROR: 'servererror',\n\t\tTIMEOUT: 'timeout',\n\t\tOTHER: 'other',\n\t},\n};\n\n/*\n * For easier debugging in development mode, you can import the following file\n * to ignore zone related error stack frames such as `zone.run`, `zoneDelegate.invokeTask`.\n *\n * This import should be commented out in production mode because it will have a negative impact\n * on performance if an error is thrown.\n */\n","import { enableProdMode } from '@angular/core';\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\n\nimport { AppModule } from './app/app.module';\nimport { environment } from './environments/environment';\n\nif (environment.production) {\n\tenableProdMode();\n}\n\nplatformBrowserDynamic()\n\t.bootstrapModule(AppModule)\n\t.catch((err) => console.error(err));\n","var map = {\n\t\"./af\": 5637,\n\t\"./af.js\": 5637,\n\t\"./ar\": 6777,\n\t\"./ar-dz\": 4508,\n\t\"./ar-dz.js\": 4508,\n\t\"./ar-kw\": 7504,\n\t\"./ar-kw.js\": 7504,\n\t\"./ar-ly\": 5373,\n\t\"./ar-ly.js\": 5373,\n\t\"./ar-ma\": 2412,\n\t\"./ar-ma.js\": 2412,\n\t\"./ar-ps\": 8823,\n\t\"./ar-ps.js\": 8823,\n\t\"./ar-sa\": 6670,\n\t\"./ar-sa.js\": 6670,\n\t\"./ar-tn\": 6448,\n\t\"./ar-tn.js\": 6448,\n\t\"./ar.js\": 6777,\n\t\"./az\": 3009,\n\t\"./az.js\": 3009,\n\t\"./be\": 8299,\n\t\"./be.js\": 8299,\n\t\"./bg\": 4685,\n\t\"./bg.js\": 4685,\n\t\"./bm\": 1171,\n\t\"./bm.js\": 1171,\n\t\"./bn\": 3590,\n\t\"./bn-bd\": 5841,\n\t\"./bn-bd.js\": 5841,\n\t\"./bn.js\": 3590,\n\t\"./bo\": 4309,\n\t\"./bo.js\": 4309,\n\t\"./br\": 4130,\n\t\"./br.js\": 4130,\n\t\"./bs\": 8033,\n\t\"./bs.js\": 8033,\n\t\"./ca\": 5294,\n\t\"./ca.js\": 5294,\n\t\"./cs\": 3028,\n\t\"./cs.js\": 3028,\n\t\"./cv\": 5807,\n\t\"./cv.js\": 5807,\n\t\"./cy\": 342,\n\t\"./cy.js\": 342,\n\t\"./da\": 8269,\n\t\"./da.js\": 8269,\n\t\"./de\": 1489,\n\t\"./de-at\": 2123,\n\t\"./de-at.js\": 2123,\n\t\"./de-ch\": 7757,\n\t\"./de-ch.js\": 7757,\n\t\"./de.js\": 1489,\n\t\"./dv\": 8152,\n\t\"./dv.js\": 8152,\n\t\"./el\": 7687,\n\t\"./el.js\": 7687,\n\t\"./en-au\": 6668,\n\t\"./en-au.js\": 6668,\n\t\"./en-ca\": 6798,\n\t\"./en-ca.js\": 6798,\n\t\"./en-gb\": 3615,\n\t\"./en-gb.js\": 3615,\n\t\"./en-ie\": 1364,\n\t\"./en-ie.js\": 1364,\n\t\"./en-il\": 9907,\n\t\"./en-il.js\": 9907,\n\t\"./en-in\": 533,\n\t\"./en-in.js\": 533,\n\t\"./en-nz\": 3190,\n\t\"./en-nz.js\": 3190,\n\t\"./en-sg\": 1096,\n\t\"./en-sg.js\": 1096,\n\t\"./eo\": 3962,\n\t\"./eo.js\": 3962,\n\t\"./es\": 7726,\n\t\"./es-do\": 5010,\n\t\"./es-do.js\": 5010,\n\t\"./es-mx\": 3654,\n\t\"./es-mx.js\": 3654,\n\t\"./es-us\": 9043,\n\t\"./es-us.js\": 9043,\n\t\"./es.js\": 7726,\n\t\"./et\": 5343,\n\t\"./et.js\": 5343,\n\t\"./eu\": 728,\n\t\"./eu.js\": 728,\n\t\"./fa\": 787,\n\t\"./fa.js\": 787,\n\t\"./fi\": 1771,\n\t\"./fi.js\": 1771,\n\t\"./fil\": 5335,\n\t\"./fil.js\": 5335,\n\t\"./fo\": 9761,\n\t\"./fo.js\": 9761,\n\t\"./fr\": 1670,\n\t\"./fr-ca\": 8991,\n\t\"./fr-ca.js\": 8991,\n\t\"./fr-ch\": 7280,\n\t\"./fr-ch.js\": 7280,\n\t\"./fr.js\": 1670,\n\t\"./fy\": 4203,\n\t\"./fy.js\": 4203,\n\t\"./ga\": 9858,\n\t\"./ga.js\": 9858,\n\t\"./gd\": 8605,\n\t\"./gd.js\": 8605,\n\t\"./gl\": 7365,\n\t\"./gl.js\": 7365,\n\t\"./gom-deva\": 3896,\n\t\"./gom-deva.js\": 3896,\n\t\"./gom-latn\": 5587,\n\t\"./gom-latn.js\": 5587,\n\t\"./gu\": 7950,\n\t\"./gu.js\": 7950,\n\t\"./he\": 2029,\n\t\"./he.js\": 2029,\n\t\"./hi\": 1897,\n\t\"./hi.js\": 1897,\n\t\"./hr\": 9816,\n\t\"./hr.js\": 9816,\n\t\"./hu\": 2253,\n\t\"./hu.js\": 2253,\n\t\"./hy-am\": 8196,\n\t\"./hy-am.js\": 8196,\n\t\"./id\": 1307,\n\t\"./id.js\": 1307,\n\t\"./is\": 5474,\n\t\"./is.js\": 5474,\n\t\"./it\": 3099,\n\t\"./it-ch\": 8188,\n\t\"./it-ch.js\": 8188,\n\t\"./it.js\": 3099,\n\t\"./ja\": 9127,\n\t\"./ja.js\": 9127,\n\t\"./jv\": 182,\n\t\"./jv.js\": 182,\n\t\"./ka\": 758,\n\t\"./ka.js\": 758,\n\t\"./kk\": 3444,\n\t\"./kk.js\": 3444,\n\t\"./km\": 2034,\n\t\"./km.js\": 2034,\n\t\"./kn\": 6223,\n\t\"./kn.js\": 6223,\n\t\"./ko\": 3064,\n\t\"./ko.js\": 3064,\n\t\"./ku\": 8714,\n\t\"./ku-kmr\": 961,\n\t\"./ku-kmr.js\": 961,\n\t\"./ku.js\": 8714,\n\t\"./ky\": 2062,\n\t\"./ky.js\": 2062,\n\t\"./lb\": 4796,\n\t\"./lb.js\": 4796,\n\t\"./lo\": 9279,\n\t\"./lo.js\": 9279,\n\t\"./lt\": 106,\n\t\"./lt.js\": 106,\n\t\"./lv\": 1840,\n\t\"./lv.js\": 1840,\n\t\"./me\": 2240,\n\t\"./me.js\": 2240,\n\t\"./mi\": 3588,\n\t\"./mi.js\": 3588,\n\t\"./mk\": 5518,\n\t\"./mk.js\": 5518,\n\t\"./ml\": 7823,\n\t\"./ml.js\": 7823,\n\t\"./mn\": 8657,\n\t\"./mn.js\": 8657,\n\t\"./mr\": 1285,\n\t\"./mr.js\": 1285,\n\t\"./ms\": 3014,\n\t\"./ms-my\": 6253,\n\t\"./ms-my.js\": 6253,\n\t\"./ms.js\": 3014,\n\t\"./mt\": 167,\n\t\"./mt.js\": 167,\n\t\"./my\": 7940,\n\t\"./my.js\": 7940,\n\t\"./nb\": 14,\n\t\"./nb.js\": 14,\n\t\"./ne\": 9023,\n\t\"./ne.js\": 9023,\n\t\"./nl\": 4208,\n\t\"./nl-be\": 1412,\n\t\"./nl-be.js\": 1412,\n\t\"./nl.js\": 4208,\n\t\"./nn\": 1354,\n\t\"./nn.js\": 1354,\n\t\"./oc-lnc\": 870,\n\t\"./oc-lnc.js\": 870,\n\t\"./pa-in\": 389,\n\t\"./pa-in.js\": 389,\n\t\"./pl\": 7342,\n\t\"./pl.js\": 7342,\n\t\"./pt\": 4774,\n\t\"./pt-br\": 3003,\n\t\"./pt-br.js\": 3003,\n\t\"./pt.js\": 4774,\n\t\"./ro\": 5333,\n\t\"./ro.js\": 5333,\n\t\"./ru\": 3451,\n\t\"./ru.js\": 3451,\n\t\"./sd\": 3921,\n\t\"./sd.js\": 3921,\n\t\"./se\": 9682,\n\t\"./se.js\": 9682,\n\t\"./si\": 582,\n\t\"./si.js\": 582,\n\t\"./sk\": 4348,\n\t\"./sk.js\": 4348,\n\t\"./sl\": 5337,\n\t\"./sl.js\": 5337,\n\t\"./sq\": 9358,\n\t\"./sq.js\": 9358,\n\t\"./sr\": 683,\n\t\"./sr-cyrl\": 9382,\n\t\"./sr-cyrl.js\": 9382,\n\t\"./sr.js\": 683,\n\t\"./ss\": 1156,\n\t\"./ss.js\": 1156,\n\t\"./sv\": 9855,\n\t\"./sv.js\": 9855,\n\t\"./sw\": 8536,\n\t\"./sw.js\": 8536,\n\t\"./ta\": 7754,\n\t\"./ta.js\": 7754,\n\t\"./te\": 7809,\n\t\"./te.js\": 7809,\n\t\"./tet\": 1297,\n\t\"./tet.js\": 1297,\n\t\"./tg\": 2527,\n\t\"./tg.js\": 2527,\n\t\"./th\": 5862,\n\t\"./th.js\": 5862,\n\t\"./tk\": 9331,\n\t\"./tk.js\": 9331,\n\t\"./tl-ph\": 4387,\n\t\"./tl-ph.js\": 4387,\n\t\"./tlh\": 3592,\n\t\"./tlh.js\": 3592,\n\t\"./tr\": 9732,\n\t\"./tr.js\": 9732,\n\t\"./tzl\": 9570,\n\t\"./tzl.js\": 9570,\n\t\"./tzm\": 3553,\n\t\"./tzm-latn\": 7699,\n\t\"./tzm-latn.js\": 7699,\n\t\"./tzm.js\": 3553,\n\t\"./ug-cn\": 5674,\n\t\"./ug-cn.js\": 5674,\n\t\"./uk\": 9974,\n\t\"./uk.js\": 9974,\n\t\"./ur\": 5773,\n\t\"./ur.js\": 5773,\n\t\"./uz\": 357,\n\t\"./uz-latn\": 7135,\n\t\"./uz-latn.js\": 7135,\n\t\"./uz.js\": 357,\n\t\"./vi\": 43,\n\t\"./vi.js\": 43,\n\t\"./x-pseudo\": 767,\n\t\"./x-pseudo.js\": 767,\n\t\"./yo\": 150,\n\t\"./yo.js\": 150,\n\t\"./zh-cn\": 1828,\n\t\"./zh-cn.js\": 1828,\n\t\"./zh-hk\": 6644,\n\t\"./zh-hk.js\": 6644,\n\t\"./zh-mo\": 9305,\n\t\"./zh-mo.js\": 9305,\n\t\"./zh-tw\": 1860,\n\t\"./zh-tw.js\": 1860\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 5358;"],"names":["RouterModule","environment","MsalGuard","AuthGuard","routes","path","loadChildren","then","m","LoginModule","IgoAdminPanelModule","canActivate","requireSSO","redirectTo","AppRoutingModule","_","_2","_3","forRoot","imports","i1","exports","i0","ɵɵelement","AppComponent","constructor","router","networkStatusSR","errSr","networkStatus","alive","showError","getNetworkStatus","document","body","classList","add","LOG_CONFIGS","enableLogs","console","log","warn","enableErrorLogs","error","trace","enableInfoLogs","info","checkConnection","pipe","subscribe","contains","remove","window","location","reload","checkForError","bol","ɵɵdirectiveInject","Router","i2","NetworkStatusService","i3","ErrorService","selectors","decls","vars","consts","template","AppComponent_Template","rf","ctx","ɵɵelementStart","ɵɵelementEnd","ɵɵtemplate","AppComponent_app_server_error_3_Template","AppComponent_app_network_error_4_Template","ɵɵadvance","ɵɵproperty","BrowserModule","HTTP_INTERCEPTORS","HttpClientModule","HttpInterceptorService","NgOptimizedImage","TitleCasePipe","provideAnimationsAsync","StoreModule","MsalInterceptor","MsalModule","MsalRedirectComponent","InteractionType","PublicClientApplication","authReducer","adminReducer","NgxSpinnerModule","SharedModule","NetworkErrorComponent","ServerErrorComponent","MatIconModule","isIE","navigator","userAgent","indexOf","AppModule","bootstrap","provide","useClass","multi","auth","admin","clientId","SSO_CONFIG","CLIENT_ID","authority","AUTHORITY","TENANT_ID","redirectUri","REDIRECT_URL","cache","cacheLocation","storeAuthStateInCookie","interactionType","Redirect","authRequest","scopes","protectedResourceMap","Map","declarations","StoreRootModule","MsLoginService","route","state","getLoginStatus","navigate","canActivateChild","ɵɵinject","MsLoginServiceService","factory","ɵfac","providedIn","v4","uuidv4","select","authStore","intercept","request","next","upn","localStorage","getItem","customHeaders","validPaths","token","d","filter","url","includes","length","Authorization","modifiedRequest","clone","setHeaders","handle","Store","Subject","BehaviorSubject","setToken","GRAPH_ENDPOINT","MsalAuthService","http","logger","isIframe","loginDisplay","_destroying$","loggedInStatus","JSON","parse","ObserveLoggedInStatus","NavigateToPin$","asObservable","checkAndSetToken","accounts","instance","getAllAccounts","Promise","resolve","reject","silentRequest","account","forceRefresh","acquireTokenSilent","idToken","uniqueId","idTokenClaims","dispatch","setItem","exp","toString","handleServerError","ERROR_TYPE","UNAUTHORIZED","getUsername","username","getTitleDisplay","titleDisplay","trim","setLoginStatus","value","isOpenedinIframe","parent","opener","logoutSSO","_this","_asyncToGenerator","clear","logoutRedirect","postLogoutRedirectUri","POST_LOGOUT_REDIRECT_URI","destroying","undefined","complete","MsalService","HttpClient","i4","i5","LogService","i6","LoaderComponent","LoaderComponent_Template","spinner","ngOnInit","hide","NgxSpinnerService","NetworkErrorComponent_Template","ɵɵtext","ɵɵelementContainerStart","ɵɵtextInterpolate","ctx_r0","userShortName","ProfileImageComponent","userDataSr","titleDisplayUpdated","imageUrl","setUserShortName","userImageUpdated","userImage","fullName","split","map","name","charAt","join","toUpperCase","UserDataService","inputs","ProfileImageComponent_Template","ProfileImageComponent_ng_container_1_Template","ɵɵpureFunction1","_c0","errMsg","errSubMsg","ɵɵlistener","ServerErrorComponent_button_5_Template_button_click_0_listener","ɵɵrestoreView","_r2","ɵɵnextContext","ɵɵresetView","refreshApp","ServerErrorComponent_button_6_Template_button_click_0_listener","_r3","logout","msLoginService","showRefresh","showLogout","ServerErrorComponent_Template","ServerErrorComponent_h3_3_Template","ServerErrorComponent_h5_4_Template","ServerErrorComponent_button_5_Template","ServerErrorComponent_button_6_Template","MAT_SNACK_BAR_DATA","SnackbarMessageComponent","data","snackBar","MatSnackBar","SnackbarMessageComponent_Template","SnackbarMessageComponent_Template_mat_icon_click_6_listener","dismiss","ɵɵpureFunction2","borderStatusColor","ɵɵpropertyInterpolate1","iconStatusColor","ɵɵsanitizeUrl","html","ɵɵsanitizeHtml","MAT_DIALOG_DATA","WarningMessagePopupComponent","dialogRef","close","MatDialogRef","WarningMessagePopupComponent_Template","WarningMessagePopupComponent_Template_mat_icon_click_5_listener","WarningMessagePopupComponent_Template_button_click_11_listener","title","description","Subscription","errorStatus$","EMPTY","checkForError$","hideSidemenuFlag","hideSidemenuFlag$","type","message","subMsg","refreshFlag","logoutFlag","SERVERERROR","FORBIDDEN","moment","msg","dateTime","Date","format","labelStyle","textStyle","table","showSnackBar","duration","open","panelClass","fromEvent","merge","of","networkStatus$","checkConnection$","onLine","status","usernameUpdated","usernameUpdated$","userImageUpdated$","firstNameUpdated","firstNameUpdated$","lastNameUpdated","lastNameUpdated$","titleDisplayUpdated$","AsyncPipe","CommonModule","createAction","props","setIsAdmin","createReducer","on","AdminActions","initialState","isAdmin","AuthActions","production","MS_GRAPH_API","MS_CONFIG","URL","NOTFOUND","TIMEOUT","OTHER","enableProdMode","__NgCli_bootstrap_1","platformBrowser","bootstrapModule","catch","err"],"sourceRoot":"webpack:///","x_google_ignoreList":[30]}