{"version":3,"file":"js/app.c2538c91.js","mappings":"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","sources":["webpack://template/./src/stores/SessionStore.ts","webpack://template/./src/services/env.ts","webpack://template/./src/App.vue?484b","webpack://template/./src/App.vue","webpack://template/./src/services/auth.ts","webpack://template/./src/components/ApplicationHeader.vue","webpack://template/./src/components/ApplicationHeader.vue?e89a","webpack://template/./src/components/common/ErrorMessages.vue","webpack://template/./src/components/common/ErrorMessages.vue?e7b3","webpack://template/./src/App.vue?7ccd","webpack://template/./src/router/index.ts","webpack://template/./src/plugins/msalPlugin.ts","webpack://template/./src/main.ts","webpack://template/webpack/bootstrap","webpack://template/webpack/runtime/chunk loaded","webpack://template/webpack/runtime/compat get default export","webpack://template/webpack/runtime/define property getters","webpack://template/webpack/runtime/ensure chunk","webpack://template/webpack/runtime/get javascript chunk filename","webpack://template/webpack/runtime/get mini-css chunk filename","webpack://template/webpack/runtime/global","webpack://template/webpack/runtime/hasOwnProperty shorthand","webpack://template/webpack/runtime/load script","webpack://template/webpack/runtime/make namespace object","webpack://template/webpack/runtime/node module decorator","webpack://template/webpack/runtime/publicPath","webpack://template/webpack/runtime/css loading","webpack://template/webpack/runtime/jsonp chunk loading","webpack://template/webpack/startup"],"sourcesContent":["import { defineStore } from 'pinia'\nimport { AccountInfo } from \"@azure/msal-browser\";\nimport axios, { AxiosRequestConfig } from 'axios';\n\nimport { EnvService } from '@/services/env';\n\nconst useSessionStore = defineStore('SessionStore', {\n state : () => {\n return {\n app_name : '',\n app_title : '',\n backend_path : '',\n environment : '',\n\n accessToken : '',\n //accessTokenClaims : {},\n account : {} as AccountInfo | undefined,\n displayName : '',\n uvid : '',\n selected_username : '',\n usernames : [] as string[], // used when multiple accounts are detected\n\n session_issues : false,\n error_messages : [] as string[]\n }\n },\n getters : {\n DisplayName : (state) => state.account?.name,\n invalidAccessToken(state){\n if (state.accessToken === '') return true\n try {\n const claims = JSON.parse(atob(state.accessToken.split('.')[1]))\n return claims.exp <= Date.now()/1000\n } catch (err) {\n console.log(\"Error Validating Token/Claims: \", err)\n }\n return true\n },\n isAdmin(state){\n const roles = state.account?.idTokenClaims?.roles ?? []\n return roles.includes((new EnvService()).getAttribute('VUE_APP_ADMIN_ROLE'))\n },\n roles(state){\n return state.account?.idTokenClaims?.roles ?? [];\n },\n auth_header(state){\n return {\n headers: {\n Authorization : `Bearer ${state.accessToken}`\n } \n }\n \n }\n },\n actions : {\n async updateUserAccount(account : AccountInfo | undefined){\n this.account = account;\n },\n async updateDisplayName(displayName : string){\n this.displayName = displayName;\n },\n async updateUserName(username : string){\n this.uvid = username;\n this.selected_username = username;\n },\n async updateAccountUserNames(usernames : string[]){\n this.usernames = usernames;\n },\n updateAccessToken(accessToken : string){\n this.accessToken = accessToken;\n },\n addErrorMessage(message : string){\n if(!this.error_messages.includes(message)) {\n this.error_messages.push(message)\n }\n },\n\n async request_data(method : string, path : string, func_name : string, data : {} | undefined){\n //const responseType : ResponseType = \n const config : AxiosRequestConfig = {\n method : method,\n data : data,\n headers : { \n Authorization : `Bearer ${this.accessToken}`,\n 'Content-Type': 'application/json',\n Accept: 'application/json'\n },\n responseType : 'json'\n }\n return await axios(`${this.backend_path}${path}`, config)\n .then(response => {\n if(response.data.status == 'error'){\n if(response.data.statusMessage && response.data.statusMessage.length > 0){\n throw new Error(response.data.statusMessage)\n } else {\n throw new Error('Unhandled Error')\n }\n }\n return response.data;\n })\n .then(data => {\n return {...data.data}\n })\n .catch((e) => {\n let message = \"\"\n \n if(typeof e === 'string'){\n this.addErrorMessage(`${func_name} : ${e.substring(0, 200)}`)\n return []\n }\n\n if(typeof e === 'object' && 'message' in e && !('data' in e.response)){\n this.addErrorMessage(`${func_name} : ${e.message.substring(0, 200)}`)\n return []\n }\n const response = e.response.data\n if (typeof response === 'string'){\n message = response\n }\n \n if(typeof response === 'object' && response !== null){\n if('detail' in response){\n message = response.detail\n } else if('message' in response){\n message = response.message\n } else if ('metadata' in response && 'statusMessage' in response.metadata) {\n message = response.metadata.statusMessage\n } else {\n message = \"Unknown error\"\n }\n }\n this.addErrorMessage(`${func_name} : ${message.substring(0, 200)}`)\n return [] // always need to return something\n })\n }\n\n },\n \n })\n \n export { useSessionStore }\n","// used to return process env attributes - since accessing process.env.VUE_APP_... variables via a \"vue\" file shows a lint error\n// probably would be fine, but the red squiggle unnerved me\nexport class EnvService {\n public getAttribute(attribute : string){\n return process.env[attribute] ?? 'whoops'\n }\n}","import { resolveComponent as _resolveComponent, createVNode as _createVNode, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, renderList as _renderList, Fragment as _Fragment, createElementBlock as _createElementBlock, createElementVNode as _createElementVNode } from \"vue\"\n\nconst _hoisted_1 = { class: \"vstack fixed-bottom\" }\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_ApplicationHeader = _resolveComponent(\"ApplicationHeader\")!\n const _component_LoadingAccessToken = _resolveComponent(\"LoadingAccessToken\")!\n const _component_InvalidSession = _resolveComponent(\"InvalidSession\")!\n const _component_router_view = _resolveComponent(\"router-view\")!\n const _component_error_messages = _resolveComponent(\"error-messages\")!\n\n return (_openBlock(), _createElementBlock(\"div\", null, [\n _createVNode(_component_ApplicationHeader),\n (_ctx.sessionStore.accessToken === '' || _ctx.sessionStore.uvid == '' )\n ? (_openBlock(), _createBlock(_component_LoadingAccessToken, { key: 0 }))\n : (_ctx.sessionStore.invalidAccessToken || _ctx.sessionStore.session_issues)\n ? (_openBlock(), _createBlock(_component_InvalidSession, { key: 1 }))\n : (_openBlock(), _createBlock(_component_router_view, { key: 2 })),\n _createElementVNode(\"div\", _hoisted_1, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.sessionStore.error_messages, (error_message, error_index) => {\n return (_openBlock(), _createBlock(_component_error_messages, {\n key: error_index,\n error_message: error_message,\n error_index: error_index\n }, null, 8, [\"error_message\", \"error_index\"]))\n }), 128))\n ])\n ]))\n}","\n\n\n\n\n","import { PublicClientApplication, SilentRequest, AuthenticationResult, Configuration, LogLevel, AccountInfo, InteractionRequiredAuthError, RedirectRequest, PopupRequest, EndSessionRequest, ExternalTokenResponse } from \"@azure/msal-browser\"\n\nexport const msalConfig = {\n auth: {\n clientId: process.env.VUE_APP_MSAL_CLIENTID ?? '',\n authority: process.env.VUE_APP_MSAL_AUTHORITY,\n redirectUri: '/' + process.env.VUE_APP_NAME + '/auth',\n navigateToLoginRequestUrl: true,\n\n },\n cache: {\n cacheLocation: \"sessionStorage\",\n storeAuthStateInCookie: true,\n secureCookies : true\n },\n windowHashTimeout: 60000,\n iframeHashTimeout: 6000,\n loadFrameTimeout: 0,\n system: {\n loggerOptions: {\n level: LogLevel.Warning,\n loggerCallback: (level: LogLevel, message: string, containsPii: boolean) => {\n if (containsPii) {\n return;\n }\n switch (level) {\n case LogLevel.Error:\n console.error(message);\n return;\n case LogLevel.Info:\n //console.info(message);\n return;\n case LogLevel.Verbose:\n //console.debug(message);\n return;\n case LogLevel.Warning:\n console.warn(message);\n return;\n }\n }\n }\n }\n \n \n }\n\nexport class AuthService {\n \n private msalInstance : PublicClientApplication\n private accessToken : AuthenticationResult[\"accessToken\"] | undefined\n\n public username : AccountInfo['username'] | undefined // used to identify active account - when multiple accounts are logged in\n\n constructor() { \n this.msalInstance = new PublicClientApplication(msalConfig)\n }\n\n public async loadAuthModule(){\n await this.msalInstance.initialize()\n await this.msalInstance.handleRedirectPromise()\n .then((response: AuthenticationResult | null) => {\n \n if(response === null)\n this.login(this.username)\n else \n this.handleResponse(response)\n\n }).catch(console.error)\n \n }\n public async login(username : AccountInfo['username'] | undefined) {\n\n if(typeof username == 'undefined'){ //initially the username is set to undefined\n const cached_account = this.getAccount()\n\n if(typeof cached_account == 'undefined') {\n await this.msalInstance.loginRedirect(loginRequest)\n return // loginRedirect will reload page, but need a return/throw to appease linting\n }\n\n username = cached_account?.username\n }\n\n const account = this.msalInstance.getAccountByUsername(username)\n const SilentRequest = (account) ? { account: account, ...loginRequest } : { loginHint: username, ...loginRequest }\n \n await this.msalInstance.ssoSilent((SilentRequest))\n .then((response) => {\n this.handleResponse(response)\n })\n .catch((err) => {\n console.log(err)\n if (err instanceof InteractionRequiredAuthError) {\n this.msalInstance.loginRedirect(loginRequest)\n }\n })\n }\n\n private async handleResponse(response: AuthenticationResult | undefined) { \n const account = response?.account ?? this.getAccount()\n this.username = (account?.username) ?? undefined\n await this.acquireAccessToken()\n }\n\n public getAccount(): AccountInfo | undefined {\n const accounts = this.msalInstance.getAllAccounts()\n if (accounts === null || accounts.length == 0) return undefined\n return accounts.find((account) => account.username == this.username) ?? accounts[0]\n }\n\n public getAccountsUserNames() : AccountInfo['username'][] {\n const accounts = this.msalInstance.getAllAccounts()\n return accounts.map((account) => account.username)\n }\n\n public async acquireAccessToken() {\n const account = this.getAccount()\n \n if(typeof account == 'undefined'){\n console.log(\"Error : Account object not set\")\n return // if for some reason the account is not set, exit \n }\n\n const accessTokenRequest = { scopes : [msalConfig.auth.clientId + \"/.default\", 'offline_access'], account: account }\n \n return this.msalInstance\n .acquireTokenSilent(accessTokenRequest)\n .then(response => {\n this.accessToken = response.accessToken\n })\n .catch(error => {\n if (error instanceof InteractionRequiredAuthError) {\n //sessionStorage.clear()\n this.msalInstance.acquireTokenRedirect({ ...accessTokenRequest })\n }\n console.log(error)\n })\n }\n}\n\nexport const msalInstance = new PublicClientApplication(msalConfig);\n\n// Add here scopes for id token to be used at MS Identity Platform endpoints.\nexport const loginRequest = {\n scopes: ['User.Read'],\n };\n \n // Add here the endpoints for MS Graph API services you would like to use.\n export const graphConfig = {\n graphMeEndpoint: 'https://graph.microsoft.com/v1.0/me',\n };","\n\n\n\n\n","import { render } from \"./ApplicationHeader.vue?vue&type=template&id=7acfa987&scoped=true\"\nimport script from \"./ApplicationHeader.vue?vue&type=script&lang=js\"\nexport * from \"./ApplicationHeader.vue?vue&type=script&lang=js\"\n\nimport \"./ApplicationHeader.vue?vue&type=style&index=0&id=7acfa987&scoped=true&lang=scss\"\n\nimport exportComponent from \"../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-7acfa987\"]])\n\nexport default __exports__","\n\n\n\n\n","import { render } from \"./ErrorMessages.vue?vue&type=template&id=181f0d7e&scoped=true\"\nimport script from \"./ErrorMessages.vue?vue&type=script&lang=js\"\nexport * from \"./ErrorMessages.vue?vue&type=script&lang=js\"\n\nimport \"./ErrorMessages.vue?vue&type=style&index=0&id=181f0d7e&scoped=true&lang=css\"\n\nimport exportComponent from \"../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-181f0d7e\"]])\n\nexport default __exports__","import { render } from \"./App.vue?vue&type=template&id=3531981c&ts=true\"\nimport script from \"./App.vue?vue&type=script&lang=ts\"\nexport * from \"./App.vue?vue&type=script&lang=ts\"\n\nimport \"./App.vue?vue&type=style&index=0&id=3531981c&lang=scss\"\n\nimport exportComponent from \"../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { createRouter, createWebHistory, RouteRecordRaw } from \"vue-router\";\n\nconst routes: Array = [\n {\n path: \"/\",\n name: \"landing-page\",\n component: () =>\n import(/* webpackChunkName: \"LandingPage\" */ \"../components/LandingPage.vue\"),\n },\n {\n path: \"/auth\",\n name: \"auth-placeholder\",\n component: () =>\n import(/* webpackChunkName: \"AuthPlaceHolder\" */ \"../components/common/AuthPlaceHolder.vue\"),\n },\n {\n path: \"/approvals\",\n name: \"approvals\",\n component: () =>\n import(/* webpackChunkName: \"Approval\" */ \"../components/views/ApprovalView.vue\"),\n },\n {\n path: \"/sent\",\n name: \"sent\",\n component: () =>\n import(/* webpackChunkName: \"Sent\" */ \"../components/views/RequestSentView.vue\"),\n },\n {\n path: \"/forms\",\n name: \"forms\",\n component: () =>\n import(/* webpackChunkName: \"Forms\" */ \"../components/LandingPage.vue\"),\n children: [\n {\n path: \"standard_deduction_form\",\n name: \"standard_deduction_form\",\n component: () =>\n import(/* webpackChunkName: \"StandardDeducitonForm\" */ \"../components/forms/StandardPayrollDeductionForm.vue\"),\n },\n {\n path: \"investment_provider_form\",\n name: \"investment_provider_form\",\n component: () =>\n import(/* webpackChunkName: \"InvestmentProviderElectionForm\" */ \"../components/forms/InvestmentProviderElectionForm.vue\"),\n },\n {\n path: \"hsa_deduction_form\",\n name: \"hsa_deduction_form\",\n component: () =>\n import(/* webpackChunkName: \"HsaDeductionForm\" */ \"../components/forms/HSADeductionForm.vue\"),\n },\n {\n path: \"salary_reduction_form\",\n name: \"salary_reduction_form\",\n component: () =>\n import(/* webpackChunkName: \"SalaryReductionForm\" */ \"../components/forms/SalaryReductionForm.vue\"),\n },\n {\n path: \"slwc_deduction_form\",\n name: \"slwc_deduction_form\",\n component: () =>\n import(/* webpackChunkName: \"SLWCDeductionForm\" */ \"../components/forms/SLWCDeductionForm.vue\"),\n },\n {\n path: \"foundation_deduction_form\",\n name: \"foundation_deduction_form\",\n component: () =>\n import(/* webpackChunkName: \"FoundationDeductionForm\" */ \"../components/forms/FoundationDeductionForm.vue\"),\n },\n {\n path: \"test_form\",\n name: \"test_form\",\n component: () =>\n import(/* webpackChunkName: \"TestForm\" */ \"../components/forms/TestForm.vue\"),\n }\n ],\n },\n {\n path: \"/editables\",\n name: \"editables\",\n component: () =>\n import(/* webpackChunkName: \"Editables\" */ \"../components/LandingPage.vue\"),\n children: [\n {\n path: \"standard_deduction_editable\",\n name: \"standard_deduction_editable\",\n component: () =>\n import(/* webpackChunkName: \"StandardDeducitonEditable\" */ \"../components/editables/StandardPayrollEditable.vue\"),\n },\n {\n path: \"slwc_editable\",\n name: \"slwc_editable\",\n component: () =>\n import(/* webpackChunkName: \"SLWCEditable\" */ \"../components/editables/SLWCEditable.vue\"),\n },\n {\n path: \"investment_provider_editable\",\n name: \"investment_provider_editable\",\n component: () =>\n import(/* webpackChunkName: \"InvestmentProviderElectionEditable\" */ \"../components/editables/InvestmentProviderElectionEditable.vue\"),\n },\n {\n path: \"salary_reduction_editable\",\n name: \"salary_reduction_editable\",\n component: () =>\n import(/* webpackChunkName: \"SalaryReductionEditable\" */ \"../components/editables/SalaryReductionEditable.vue\"),\n },\n {\n path: \"hsa_editable\",\n name: \"hsa_editable\",\n component: () =>\n import(/* webpackChunkName: \"HSAEditable\" */ \"../components/editables/HSAEditable.vue\"),\n },\n {\n path: \"foundation_editable\",\n name: \"foundation_editable\",\n component: () =>\n import(/* webpackChunkName: \"FoundationEditable\" */ \"../components/editables/FoundationEditable.vue\"),\n },\n {\n path: \"foundation_cap_codes\",\n name: \"foundation_cap_codes\",\n component: () =>\n import(/* webpackChunkName: \"EditCapCodes\" */ \"../components/foundation_views/EditCapCodes.vue\"),\n },\n {\n path: \"foundation_email_editable\",\n name: \"foundation_email_editable\",\n component: () =>\n import(/* webpackChunkName: \"FoundationEmailEditable\" */ \"../components/editables/FoundationEmailEditable.vue\"),\n }\n ],\n }\n\n];\n\nconst router = createRouter({\n history: createWebHistory(process.env.BASE_URL),\n routes,\n});\n\nexport default router;\n","import { type App, reactive } from \"vue\";\nimport { type EventMessage, EventMessageUtils, EventType, InteractionStatus, PublicClientApplication, type AccountInfo } from \"@azure/msal-browser\";\n\ntype AccountIdentifiers = Partial>;\n\n/**\n * Helper function to determine whether 2 arrays are equal\n * Used to avoid unnecessary state updates\n * @param arrayA\n * @param arrayB\n */\nfunction accountArraysAreEqual(arrayA: Array, arrayB: Array): boolean {\n if (arrayA.length !== arrayB.length) {\n return false;\n }\n\n const comparisonArray = [...arrayB];\n\n return arrayA.every((elementA) => {\n const elementB = comparisonArray.shift();\n if (!elementA || !elementB) {\n return false;\n }\n\n return (elementA.homeAccountId === elementB.homeAccountId) &&\n (elementA.localAccountId === elementB.localAccountId) &&\n (elementA.username === elementB.username);\n });\n}\n\nexport const msalPlugin = {\n install: (app: App, msalInstance: PublicClientApplication) => {\n\n const inProgress = InteractionStatus.Startup;\n const accounts = msalInstance.getAllAccounts();\n\n const state = reactive({\n instance: msalInstance,\n inProgress: inProgress,\n accounts: accounts\n });\n\n app.config.globalProperties.$msal = state;\n\n msalInstance.addEventCallback((message: EventMessage) => {\n switch (message.eventType) {\n case EventType.ACCOUNT_ADDED:\n case EventType.ACCOUNT_REMOVED:\n case EventType.LOGIN_SUCCESS:\n case EventType.SSO_SILENT_SUCCESS:\n case EventType.HANDLE_REDIRECT_END:\n case EventType.LOGIN_FAILURE:\n case EventType.SSO_SILENT_FAILURE:\n case EventType.LOGOUT_END:\n case EventType.ACQUIRE_TOKEN_SUCCESS:\n case EventType.ACQUIRE_TOKEN_FAILURE: {\n const currentAccounts = msalInstance.getAllAccounts();\n if (!accountArraysAreEqual(currentAccounts, state.accounts)) {\n state.accounts = currentAccounts;\n }\n break;\n }\n }\n\n const status = EventMessageUtils.getInteractionStatusFromEvent(message, state.inProgress);\n if (status !== null) {\n console.log(status)\n\t\t// removed the follwing line because it was causing issues with docker. I'm not sure why\n // state.inProgress = status.Startup;\n }\n });\n }\n}\n","import { createPinia } from 'pinia'\nimport { createApp } from \"vue\";\nimport App from \"./App.vue\";\nimport router from \"./router\";\n\nimport './assets/css/main.css';\n\nimport { msalPlugin } from './plugins/msalPlugin'\nimport { msalInstance } from \"./services/auth\";\n\nconst app = createApp(App)\n\napp.use(createPinia())\napp.use(router)\n\napp.use(msalPlugin, msalInstance);\n\napp.mount('#app')\n\n\n\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\tloaded: false,\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Flag the module as loaded\n\tmodule.loaded = true;\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","var deferred = [];\n__webpack_require__.O = function(result, chunkIds, fn, priority) {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar chunkIds = deferred[i][0];\n\t\tvar fn = deferred[i][1];\n\t\tvar priority = deferred[i][2];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every(function(key) { return __webpack_require__.O[key](chunkIds[j]); })) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = function(module) {\n\tvar getter = module && module.__esModule ?\n\t\tfunction() { return module['default']; } :\n\t\tfunction() { return module; };\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = function(exports, definition) {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.f = {};\n// This file contains only the entry chunk.\n// The chunk loading function for additional chunks\n__webpack_require__.e = function(chunkId) {\n\treturn Promise.all(Object.keys(__webpack_require__.f).reduce(function(promises, key) {\n\t\t__webpack_require__.f[key](chunkId, promises);\n\t\treturn promises;\n\t}, []));\n};","// This function allow to reference async chunks\n__webpack_require__.u = function(chunkId) {\n\t// return url for filenames based on template\n\treturn \"js/\" + ({\"48\":\"HsaDeductionForm\",\"60\":\"AuthPlaceHolder\",\"93\":\"StandardDeducitonForm\",\"99\":\"StandardDeducitonEditable\",\"134\":\"SalaryReductionForm\",\"200\":\"SLWCEditable\",\"349\":\"TestForm\",\"541\":\"HSAEditable\",\"549\":\"EditCapCodes\",\"608\":\"SalaryReductionEditable\",\"663\":\"FoundationDeductionForm\",\"700\":\"Forms\",\"712\":\"InvestmentProviderElectionForm\",\"786\":\"InvestmentProviderElectionEditable\",\"797\":\"Sent\",\"800\":\"FoundationEmailEditable\",\"879\":\"SLWCDeductionForm\",\"890\":\"Approval\",\"896\":\"FoundationEditable\"}[chunkId] || chunkId) + \".\" + {\"48\":\"14c4b6f5\",\"60\":\"6aa5348b\",\"93\":\"f97dd49c\",\"99\":\"be70e1c4\",\"134\":\"2f004a8f\",\"200\":\"0e3b56e5\",\"234\":\"e766b3bd\",\"240\":\"3780b966\",\"349\":\"ffd6a61c\",\"491\":\"2bf02a91\",\"541\":\"4640f82e\",\"549\":\"586421ff\",\"608\":\"71f4c621\",\"663\":\"891ec491\",\"664\":\"11f8d4bb\",\"700\":\"1e7ea702\",\"712\":\"c00073a2\",\"786\":\"17c1f51f\",\"797\":\"7dc2d9f0\",\"800\":\"c50167cd\",\"879\":\"ba22bff2\",\"890\":\"4b8db6a8\",\"896\":\"5a414824\"}[chunkId] + \".js\";\n};","// This function allow to reference async chunks\n__webpack_require__.miniCssF = function(chunkId) {\n\t// return url for filenames based on template\n\treturn \"css/\" + {\"48\":\"HsaDeductionForm\",\"93\":\"StandardDeducitonForm\",\"99\":\"StandardDeducitonEditable\",\"200\":\"SLWCEditable\",\"349\":\"TestForm\",\"541\":\"HSAEditable\",\"549\":\"EditCapCodes\",\"663\":\"FoundationDeductionForm\",\"797\":\"Sent\",\"879\":\"SLWCDeductionForm\",\"890\":\"Approval\"}[chunkId] + \".\" + {\"48\":\"5cf8bd9e\",\"93\":\"414cb832\",\"99\":\"a62328ac\",\"200\":\"33024a0c\",\"349\":\"ab663f40\",\"541\":\"df7a7551\",\"549\":\"b0aabe20\",\"663\":\"f334944f\",\"797\":\"2d55b606\",\"879\":\"d15831fe\",\"890\":\"e4666b27\"}[chunkId] + \".css\";\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }","var inProgress = {};\nvar dataWebpackPrefix = \"template:\";\n// loadScript function to load a script via script tag\n__webpack_require__.l = function(url, done, key, chunkId) {\n\tif(inProgress[url]) { inProgress[url].push(done); return; }\n\tvar script, needAttach;\n\tif(key !== undefined) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tfor(var i = 0; i < scripts.length; i++) {\n\t\t\tvar s = scripts[i];\n\t\t\tif(s.getAttribute(\"src\") == url || s.getAttribute(\"data-webpack\") == dataWebpackPrefix + key) { script = s; break; }\n\t\t}\n\t}\n\tif(!script) {\n\t\tneedAttach = true;\n\t\tscript = document.createElement('script');\n\n\t\tscript.charset = 'utf-8';\n\t\tscript.timeout = 120;\n\t\tif (__webpack_require__.nc) {\n\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n\t\t}\n\t\tscript.setAttribute(\"data-webpack\", dataWebpackPrefix + key);\n\n\t\tscript.src = url;\n\t}\n\tinProgress[url] = [done];\n\tvar onScriptComplete = function(prev, event) {\n\t\t// avoid mem leaks in IE.\n\t\tscript.onerror = script.onload = null;\n\t\tclearTimeout(timeout);\n\t\tvar doneFns = inProgress[url];\n\t\tdelete inProgress[url];\n\t\tscript.parentNode && script.parentNode.removeChild(script);\n\t\tdoneFns && doneFns.forEach(function(fn) { return fn(event); });\n\t\tif(prev) return prev(event);\n\t}\n\tvar timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000);\n\tscript.onerror = onScriptComplete.bind(null, script.onerror);\n\tscript.onload = onScriptComplete.bind(null, script.onload);\n\tneedAttach && document.head.appendChild(script);\n};","// define __esModule on exports\n__webpack_require__.r = function(exports) {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.nmd = function(module) {\n\tmodule.paths = [];\n\tif (!module.children) module.children = [];\n\treturn module;\n};","__webpack_require__.p = \"/employee-form-hub/\";","if (typeof document === \"undefined\") return;\nvar createStylesheet = function(chunkId, fullhref, oldTag, resolve, reject) {\n\tvar linkTag = document.createElement(\"link\");\n\n\tlinkTag.rel = \"stylesheet\";\n\tlinkTag.type = \"text/css\";\n\tif (__webpack_require__.nc) {\n\t\tlinkTag.nonce = __webpack_require__.nc;\n\t}\n\tvar onLinkComplete = function(event) {\n\t\t// avoid mem leaks.\n\t\tlinkTag.onerror = linkTag.onload = null;\n\t\tif (event.type === 'load') {\n\t\t\tresolve();\n\t\t} else {\n\t\t\tvar errorType = event && event.type;\n\t\t\tvar realHref = event && event.target && event.target.href || fullhref;\n\t\t\tvar err = new Error(\"Loading CSS chunk \" + chunkId + \" failed.\\n(\" + errorType + \": \" + realHref + \")\");\n\t\t\terr.name = \"ChunkLoadError\";\n\t\t\terr.code = \"CSS_CHUNK_LOAD_FAILED\";\n\t\t\terr.type = errorType;\n\t\t\terr.request = realHref;\n\t\t\tif (linkTag.parentNode) linkTag.parentNode.removeChild(linkTag)\n\t\t\treject(err);\n\t\t}\n\t}\n\tlinkTag.onerror = linkTag.onload = onLinkComplete;\n\tlinkTag.href = fullhref;\n\n\n\tif (oldTag) {\n\t\toldTag.parentNode.insertBefore(linkTag, oldTag.nextSibling);\n\t} else {\n\t\tdocument.head.appendChild(linkTag);\n\t}\n\treturn linkTag;\n};\nvar findStylesheet = function(href, fullhref) {\n\tvar existingLinkTags = document.getElementsByTagName(\"link\");\n\tfor(var i = 0; i < existingLinkTags.length; i++) {\n\t\tvar tag = existingLinkTags[i];\n\t\tvar dataHref = tag.getAttribute(\"data-href\") || tag.getAttribute(\"href\");\n\t\tif(tag.rel === \"stylesheet\" && (dataHref === href || dataHref === fullhref)) return tag;\n\t}\n\tvar existingStyleTags = document.getElementsByTagName(\"style\");\n\tfor(var i = 0; i < existingStyleTags.length; i++) {\n\t\tvar tag = existingStyleTags[i];\n\t\tvar dataHref = tag.getAttribute(\"data-href\");\n\t\tif(dataHref === href || dataHref === fullhref) return tag;\n\t}\n};\nvar loadStylesheet = function(chunkId) {\n\treturn new Promise(function(resolve, reject) {\n\t\tvar href = __webpack_require__.miniCssF(chunkId);\n\t\tvar fullhref = __webpack_require__.p + href;\n\t\tif(findStylesheet(href, fullhref)) return resolve();\n\t\tcreateStylesheet(chunkId, fullhref, null, resolve, reject);\n\t});\n}\n// object to store loaded CSS chunks\nvar installedCssChunks = {\n\t524: 0\n};\n\n__webpack_require__.f.miniCss = function(chunkId, promises) {\n\tvar cssChunks = {\"48\":1,\"93\":1,\"99\":1,\"200\":1,\"349\":1,\"541\":1,\"549\":1,\"663\":1,\"797\":1,\"879\":1,\"890\":1};\n\tif(installedCssChunks[chunkId]) promises.push(installedCssChunks[chunkId]);\n\telse if(installedCssChunks[chunkId] !== 0 && cssChunks[chunkId]) {\n\t\tpromises.push(installedCssChunks[chunkId] = loadStylesheet(chunkId).then(function() {\n\t\t\tinstalledCssChunks[chunkId] = 0;\n\t\t}, function(e) {\n\t\t\tdelete installedCssChunks[chunkId];\n\t\t\tthrow e;\n\t\t}));\n\t}\n};\n\n// no hmr\n\n// no prefetching\n\n// no preloaded","// no baseURI\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t524: 0\n};\n\n__webpack_require__.f.j = function(chunkId, promises) {\n\t\t// JSONP chunk loading for javascript\n\t\tvar installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined;\n\t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n\t\t\t// a Promise means \"currently loading\".\n\t\t\tif(installedChunkData) {\n\t\t\t\tpromises.push(installedChunkData[2]);\n\t\t\t} else {\n\t\t\t\tif(true) { // all chunks have JS\n\t\t\t\t\t// setup Promise in chunk cache\n\t\t\t\t\tvar promise = new Promise(function(resolve, reject) { installedChunkData = installedChunks[chunkId] = [resolve, reject]; });\n\t\t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n\t\t\t\t\t// start chunk loading\n\t\t\t\t\tvar url = __webpack_require__.p + __webpack_require__.u(chunkId);\n\t\t\t\t\t// create error before stack unwound to get useful stacktrace later\n\t\t\t\t\tvar error = new Error();\n\t\t\t\t\tvar loadingEnded = function(event) {\n\t\t\t\t\t\tif(__webpack_require__.o(installedChunks, chunkId)) {\n\t\t\t\t\t\t\tinstalledChunkData = installedChunks[chunkId];\n\t\t\t\t\t\t\tif(installedChunkData !== 0) installedChunks[chunkId] = undefined;\n\t\t\t\t\t\t\tif(installedChunkData) {\n\t\t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n\t\t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n\t\t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n\t\t\t\t\t\t\t\terror.type = errorType;\n\t\t\t\t\t\t\t\terror.request = realSrc;\n\t\t\t\t\t\t\t\tinstalledChunkData[1](error);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t\t__webpack_require__.l(url, loadingEnded, \"chunk-\" + chunkId, chunkId);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n};\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = function(chunkId) { return installedChunks[chunkId] === 0; };\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = function(parentChunkLoadingFunction, data) {\n\tvar chunkIds = data[0];\n\tvar moreModules = data[1];\n\tvar runtime = data[2];\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some(function(id) { return installedChunks[id] !== 0; })) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunktemplate\"] = self[\"webpackChunktemplate\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","// startup\n// Load entry module and return exports\n// This entry module depends on other loaded chunks and execution need to be delayed\nvar __webpack_exports__ = __webpack_require__.O(undefined, [504], function() { return __webpack_require__(9950); })\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["useSessionStore","state","app_name","app_title","backend_path","environment","accessToken","account","displayName","uvid","selected_username","usernames","session_issues","error_messages","getters","DisplayName","name","invalidAccessToken","claims","JSON","parse","atob","split","exp","Date","now","err","console","log","isAdmin","roles","idTokenClaims","includes","getAttribute","auth_header","headers","Authorization","actions","updateUserAccount","this","updateDisplayName","updateUserName","username","updateAccountUserNames","updateAccessToken","addErrorMessage","message","push","request_data","method","path","func_name","data","config","Accept","responseType","then","response","status","statusMessage","length","Error","catch","e","substring","detail","metadata","EnvService","attribute","_hoisted_1","class","render","_ctx","_cache","$props","$setup","$data","$options","_component_ApplicationHeader","_component_LoadingAccessToken","_component_InvalidSession","_component_router_view","_component_error_messages","sessionStore","error_message","error_index","key","msalConfig","auth","clientId","authority","redirectUri","navigateToLoginRequestUrl","cache","cacheLocation","storeAuthStateInCookie","secureCookies","windowHashTimeout","iframeHashTimeout","loadFrameTimeout","system","loggerOptions","level","Warning","loggerCallback","containsPii","error","Info","Verbose","warn","AuthService","msalInstance","constructor","PublicClientApplication","loadAuthModule","initialize","handleRedirectPromise","login","handleResponse","cached_account","getAccount","loginRedirect","loginRequest","getAccountByUsername","SilentRequest","loginHint","ssoSilent","InteractionRequiredAuthError","undefined","acquireAccessToken","accounts","getAllAccounts","find","getAccountsUserNames","map","accessTokenRequest","scopes","acquireTokenSilent","acquireTokenRedirect","id","src","style","alt","height","type","xmlns","width","viewBox","fill","d","copy_to_clipboard","setup","mounted","props","methods","text","navigator","clipboard","writeText","__exports__","ref","clear_message","errorTimestamp","typedMessage","Number","required","String","default","toLocaleString","timeZone","typeMessage","i","value","typing","setInterval","charAt","clearInterval","splice","authService","envService","async","components","ApplicationHeader","ErrorMessages","renew_access_token","refresh_environment","watch","upn","indexOf","substr","title","document","routes","component","children","router","history","accountArraysAreEqual","arrayA","arrayB","comparisonArray","every","elementA","elementB","shift","homeAccountId","localAccountId","msalPlugin","install","app","inProgress","Startup","instance","globalProperties","$msal","addEventCallback","eventType","EventType","ACCOUNT_ADDED","ACCOUNT_REMOVED","LOGIN_SUCCESS","SSO_SILENT_SUCCESS","HANDLE_REDIRECT_END","LOGIN_FAILURE","SSO_SILENT_FAILURE","LOGOUT_END","ACQUIRE_TOKEN_SUCCESS","ACQUIRE_TOKEN_FAILURE","currentAccounts","EventMessage","getInteractionStatusFromEvent","App","use","mount","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","exports","module","loaded","__webpack_modules__","call","m","deferred","O","result","chunkIds","fn","priority","notFulfilled","Infinity","fulfilled","j","Object","keys","r","n","getter","__esModule","a","definition","o","defineProperty","enumerable","get","f","chunkId","Promise","all","reduce","promises","u","miniCssF","g","globalThis","Function","window","obj","prop","prototype","hasOwnProperty","dataWebpackPrefix","l","url","done","script","needAttach","scripts","getElementsByTagName","s","createElement","charset","timeout","nc","setAttribute","onScriptComplete","prev","event","onerror","onload","clearTimeout","doneFns","parentNode","removeChild","forEach","setTimeout","bind","target","head","appendChild","Symbol","toStringTag","nmd","paths","p","createStylesheet","fullhref","oldTag","resolve","reject","linkTag","rel","nonce","onLinkComplete","errorType","realHref","href","code","request","insertBefore","nextSibling","findStylesheet","existingLinkTags","tag","dataHref","existingStyleTags","loadStylesheet","installedCssChunks","miniCss","cssChunks","installedChunks","installedChunkData","promise","loadingEnded","realSrc","webpackJsonpCallback","parentChunkLoadingFunction","moreModules","runtime","some","chunkLoadingGlobal","self","__webpack_exports__"],"sourceRoot":""}