{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./src/store/authentication/getters.ts","webpack:///./src/store/authentication/actions.ts","webpack:///./src/store/authentication/mutations.ts","webpack:///./src/store/authentication/index.ts","webpack:///./src/store/mutations.ts","webpack:///./src/store/getters.ts","webpack:///./src/store/actions.ts","webpack:///./src/store/index.ts","webpack:///./src/services/api.ts","webpack:///./src/store/authentication/types.ts","webpack:///./src/routes/login.ts","webpack:///./src/routes/helper/requireAuthorization.ts","webpack:///./src/routes/dashboard.ts","webpack:///./src/routes/instances.ts","webpack:///./src/routes/contracts.ts","webpack:///./src/routes/news.ts","webpack:///./src/router.ts","webpack:///./src/assets/img/svg/visiosign_cloud_logo_white.svg","webpack:///./src/App.vue?a173","webpack:///./src/i18n.ts","webpack:///./src/assets/locales sync [A-Za-z0-9-_,\\s]+\\.json$/","webpack:///./src/bootstrap-vue.js","webpack:///./src/App.vue?8e12","webpack:///./src/components/layouts/_DefaultLayout.vue?de87","webpack:///./src/components/layouts/Header.vue?13ae","webpack:///./src/components/layouts/Header.vue","webpack:///./src/components/layouts/Header.vue?8d1e","webpack:///./src/components/layouts/Header.vue?f357","webpack:///./src/components/layouts/Sidebar.vue?31d3","webpack:///./src/components/layouts/Sidebar.vue","webpack:///./src/components/layouts/Sidebar.vue?f164","webpack:///./src/components/layouts/Sidebar.vue?8a7e","webpack:///./src/components/layouts/_DefaultLayout.vue","webpack:///./src/components/layouts/_DefaultLayout.vue?5fe4","webpack:///./src/components/layouts/_DefaultLayout.vue?890b","webpack:///./src/components/layouts/_BasicLayout.vue?dd50","webpack:///./src/components/layouts/_BasicLayout.vue","webpack:///./src/components/layouts/_BasicLayout.vue?79c8","webpack:///./src/components/layouts/_BasicLayout.vue?cd6a","webpack:///./src/services/interceptors.ts","webpack:///./src/components/common/AutoLogout.vue?cd56","webpack:///./src/components/common/AutoLogout.vue","webpack:///./src/components/common/AutoLogout.vue?1914","webpack:///./src/components/common/AutoLogout.vue?a7fa","webpack:///./src/App.vue","webpack:///./src/App.vue?0ab4","webpack:///./src/App.vue?bff9","webpack:///./src/main.ts","webpack:///./src/app.config.ts","webpack:///./src/services/security/azureConfigs.ts","webpack:///./src/services/security/authService.ts","webpack:///./src/components/layouts/_DefaultLayout.vue?d2e6"],"names":["webpackJsonpCallback","data","moduleId","chunkId","chunkIds","moreModules","executeModules","i","resolves","length","Object","prototype","hasOwnProperty","call","installedChunks","push","modules","parentJsonpFunction","shift","deferredModules","apply","checkDeferredModules","result","deferredModule","fulfilled","j","depId","splice","__webpack_require__","s","installedModules","installedCssChunks","jsonpScriptSrc","p","exports","module","l","e","promises","cssChunks","Promise","resolve","reject","href","fullhref","existingLinkTags","document","getElementsByTagName","tag","dataHref","getAttribute","rel","existingStyleTags","linkTag","createElement","type","onload","onerror","event","request","target","src","err","Error","code","parentNode","removeChild","head","appendChild","then","installedChunkData","promise","onScriptComplete","script","charset","timeout","nc","setAttribute","error","clearTimeout","chunk","errorType","realSrc","message","name","undefined","setTimeout","all","m","c","d","getter","o","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","oe","console","jsonpArray","window","oldJsonpFunction","slice","getters","isLoggedIn","state","Boolean","token","getCurrentUser","currentUser","getToken","authorize","param","Any","roles","some","role","toLowerCase","toString","getJwtConfigs","jwtConfigs","getAutoLogout","autoLogout","actions","azureLoginAction","commit","dispatch","response","catch","reason","logoutAction","isRegularUser","validateToken","tokenValidTo","Date","mutations","authSuccess","cookie","encodeURI","updateToken","now","jwtExpireSeconds","jwtInvalidSeconds","authClear","setAutoLogout","id","username","languageCode","firstName","lastName","jwtLogoutWarningSeconds","namespaced","authentication","reload","use","persistAuthentication","storage","localStorage","Store","plugins","plugin","getHeaderConfig","headers","Accept","Authorization","url","a","post","method","put","delete","postFormData","config","instance","RoleEnum","path","component","requireAuthorization","to","from","next","authorized","store","meta","beforeEnter","breadcrumbs","icon","paths","InstancesRole","i18n","props","ContractsRole","router","routes","dashboard","instances","contracts","news","scrollBehavior","x","y","beforeEach","login","isloggedIn","loadLocaleMessages","locales","messages","keys","forEach","matched","match","locale","fallbackLocale","map","webpackContext","req","webpackContextResolve","Vue","BootstrapVue","_vm","this","_h","$createElement","_c","_self","attrs","layout","staticRenderFns","staticClass","class","sideBarShrink","on","$event","shadow","$emit","_m","update","_l","el","index","_e","_v","_s","Header","channelId","breadCrumbs","displayBreadCrumbs","$router","appVersion","$t","staticStyle","directives","rawName","preventDefault","initials","onLogout","firstNameInitial","lastNameInitial","charAt","namespace","Layout","components","Sidebar","BasicLayout","setUpResponseInterceptors","interceptors","jwtHandler","jwttoken","unAuthorizedHandler","status","__isRetryRequest","scopedSlots","_u","fn","proxy","confirmActive","showWarning","hideWarning","$bvModal","show","hide","immediate","deep","$route","productionTip","bus","directive","inserted","focus","render","h","$mount","APIENDPOINT","LOCALE","VUE_APP_FILEPENDPOINT","FALLBACK_LOCALE","VUE_APP_LOGGER_ENABLED","VUE_APP_DEFAULTIMAGE","msalConfig","auth","authority","clientId","redirectUri","cache","cacheLocation","storeAuthStateInCookie","system","framework","loginRequest","scopes","getAzureAdConfig","api","azureLogin","appSettings","azureAppClientId","vscTenantId","MsalObj","loginPopup","loginResponse","idToken","rawIdToken","log","azureLogout","logout","checkIfAuthenticated","time","configAutoLogout","notificationTimeInSeconds","resetTime","startAutoLogout","seconds","logoutNotification","goToLogin"],"mappings":"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","file":"js/index.5c2eb08a.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tfunction webpackJsonpCallback(data) {\n \t\tvar chunkIds = data[0];\n \t\tvar moreModules = data[1];\n \t\tvar executeModules = data[2];\n\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(Object.prototype.hasOwnProperty.call(installedChunks, chunkId) && installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(data);\n\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n\n \t\t// add entry modules from loaded chunk to deferred list\n \t\tdeferredModules.push.apply(deferredModules, executeModules || []);\n\n \t\t// run deferred modules when all chunks ready\n \t\treturn checkDeferredModules();\n \t};\n \tfunction checkDeferredModules() {\n \t\tvar result;\n \t\tfor(var i = 0; i < deferredModules.length; i++) {\n \t\t\tvar deferredModule = deferredModules[i];\n \t\t\tvar fulfilled = true;\n \t\t\tfor(var j = 1; j < deferredModule.length; j++) {\n \t\t\t\tvar depId = deferredModule[j];\n \t\t\t\tif(installedChunks[depId] !== 0) fulfilled = false;\n \t\t\t}\n \t\t\tif(fulfilled) {\n \t\t\t\tdeferredModules.splice(i--, 1);\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = deferredModule[0]);\n \t\t\t}\n \t\t}\n\n \t\treturn result;\n \t}\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded CSS chunks\n \tvar installedCssChunks = {\n \t\t\"index\": 0\n \t}\n\n \t// object to store loaded and loading chunks\n \t// undefined = chunk not loaded, null = chunk preloaded/prefetched\n \t// Promise = chunk loading, 0 = chunk loaded\n \tvar installedChunks = {\n \t\t\"index\": 0\n \t};\n\n \tvar deferredModules = [];\n\n \t// script path function\n \tfunction jsonpScriptSrc(chunkId) {\n \t\treturn __webpack_require__.p + \"js/\" + ({}[chunkId]||chunkId) + \".\" + {\"chunk-0038d632\":\"038dad06\",\"chunk-020d1773\":\"68295bd7\",\"chunk-5efb6ec3\":\"6272774d\",\"chunk-ce3d5bf0\":\"253ccbc5\",\"chunk-1a8068d6\":\"5dc534d7\",\"chunk-2d2293ba\":\"fae852a5\",\"chunk-55bfba57\":\"a3594364\",\"chunk-63f82da0\":\"9ae0ed4f\",\"chunk-8bbadbb4\":\"92c7035c\",\"chunk-d4972dd4\":\"bce83f81\"}[chunkId] + \".js\"\n \t}\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n \t// This file contains only the entry chunk.\n \t// The chunk loading function for additional chunks\n \t__webpack_require__.e = function requireEnsure(chunkId) {\n \t\tvar promises = [];\n\n\n \t\t// mini-css-extract-plugin CSS loading\n \t\tvar cssChunks = {\"chunk-0038d632\":1,\"chunk-020d1773\":1,\"chunk-d4972dd4\":1};\n \t\tif(installedCssChunks[chunkId]) promises.push(installedCssChunks[chunkId]);\n \t\telse if(installedCssChunks[chunkId] !== 0 && cssChunks[chunkId]) {\n \t\t\tpromises.push(installedCssChunks[chunkId] = new Promise(function(resolve, reject) {\n \t\t\t\tvar href = \"css/\" + ({}[chunkId]||chunkId) + \".\" + {\"chunk-0038d632\":\"b187efb4\",\"chunk-020d1773\":\"c0af0ac8\",\"chunk-5efb6ec3\":\"31d6cfe0\",\"chunk-ce3d5bf0\":\"31d6cfe0\",\"chunk-1a8068d6\":\"31d6cfe0\",\"chunk-2d2293ba\":\"31d6cfe0\",\"chunk-55bfba57\":\"31d6cfe0\",\"chunk-63f82da0\":\"31d6cfe0\",\"chunk-8bbadbb4\":\"31d6cfe0\",\"chunk-d4972dd4\":\"2331604d\"}[chunkId] + \".css\";\n \t\t\t\tvar fullhref = __webpack_require__.p + href;\n \t\t\t\tvar existingLinkTags = document.getElementsByTagName(\"link\");\n \t\t\t\tfor(var i = 0; i < existingLinkTags.length; i++) {\n \t\t\t\t\tvar tag = existingLinkTags[i];\n \t\t\t\t\tvar dataHref = tag.getAttribute(\"data-href\") || tag.getAttribute(\"href\");\n \t\t\t\t\tif(tag.rel === \"stylesheet\" && (dataHref === href || dataHref === fullhref)) return resolve();\n \t\t\t\t}\n \t\t\t\tvar existingStyleTags = document.getElementsByTagName(\"style\");\n \t\t\t\tfor(var i = 0; i < existingStyleTags.length; i++) {\n \t\t\t\t\tvar tag = existingStyleTags[i];\n \t\t\t\t\tvar dataHref = tag.getAttribute(\"data-href\");\n \t\t\t\t\tif(dataHref === href || dataHref === fullhref) return resolve();\n \t\t\t\t}\n \t\t\t\tvar linkTag = document.createElement(\"link\");\n \t\t\t\tlinkTag.rel = \"stylesheet\";\n \t\t\t\tlinkTag.type = \"text/css\";\n \t\t\t\tlinkTag.onload = resolve;\n \t\t\t\tlinkTag.onerror = function(event) {\n \t\t\t\t\tvar request = event && event.target && event.target.src || fullhref;\n \t\t\t\t\tvar err = new Error(\"Loading CSS chunk \" + chunkId + \" failed.\\n(\" + request + \")\");\n \t\t\t\t\terr.code = \"CSS_CHUNK_LOAD_FAILED\";\n \t\t\t\t\terr.request = request;\n \t\t\t\t\tdelete installedCssChunks[chunkId]\n \t\t\t\t\tlinkTag.parentNode.removeChild(linkTag)\n \t\t\t\t\treject(err);\n \t\t\t\t};\n \t\t\t\tlinkTag.href = fullhref;\n\n \t\t\t\tvar head = document.getElementsByTagName(\"head\")[0];\n \t\t\t\thead.appendChild(linkTag);\n \t\t\t}).then(function() {\n \t\t\t\tinstalledCssChunks[chunkId] = 0;\n \t\t\t}));\n \t\t}\n\n \t\t// JSONP chunk loading for javascript\n\n \t\tvar installedChunkData = installedChunks[chunkId];\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\t// setup Promise in chunk cache\n \t\t\t\tvar promise = new Promise(function(resolve, reject) {\n \t\t\t\t\tinstalledChunkData = installedChunks[chunkId] = [resolve, reject];\n \t\t\t\t});\n \t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n \t\t\t\t// start chunk loading\n \t\t\t\tvar script = document.createElement('script');\n \t\t\t\tvar onScriptComplete;\n\n \t\t\t\tscript.charset = 'utf-8';\n \t\t\t\tscript.timeout = 120;\n \t\t\t\tif (__webpack_require__.nc) {\n \t\t\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n \t\t\t\t}\n \t\t\t\tscript.src = jsonpScriptSrc(chunkId);\n\n \t\t\t\t// create error before stack unwound to get useful stacktrace later\n \t\t\t\tvar error = new Error();\n \t\t\t\tonScriptComplete = function (event) {\n \t\t\t\t\t// avoid mem leaks in IE.\n \t\t\t\t\tscript.onerror = script.onload = null;\n \t\t\t\t\tclearTimeout(timeout);\n \t\t\t\t\tvar chunk = installedChunks[chunkId];\n \t\t\t\t\tif(chunk !== 0) {\n \t\t\t\t\t\tif(chunk) {\n \t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n \t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n \t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n \t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n \t\t\t\t\t\t\terror.type = errorType;\n \t\t\t\t\t\t\terror.request = realSrc;\n \t\t\t\t\t\t\tchunk[1](error);\n \t\t\t\t\t\t}\n \t\t\t\t\t\tinstalledChunks[chunkId] = undefined;\n \t\t\t\t\t}\n \t\t\t\t};\n \t\t\t\tvar timeout = setTimeout(function(){\n \t\t\t\t\tonScriptComplete({ type: 'timeout', target: script });\n \t\t\t\t}, 120000);\n \t\t\t\tscript.onerror = script.onload = onScriptComplete;\n \t\t\t\tdocument.head.appendChild(script);\n \t\t\t}\n \t\t}\n \t\treturn Promise.all(promises);\n \t};\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/\";\n\n \t// on error function for async loading\n \t__webpack_require__.oe = function(err) { console.error(err); throw err; };\n\n \tvar jsonpArray = window[\"webpackJsonp\"] = window[\"webpackJsonp\"] || [];\n \tvar oldJsonpFunction = jsonpArray.push.bind(jsonpArray);\n \tjsonpArray.push = webpackJsonpCallback;\n \tjsonpArray = jsonpArray.slice();\n \tfor(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);\n \tvar parentJsonpFunction = oldJsonpFunction;\n\n\n \t// add entry module to deferred list\n \tdeferredModules.push([0,\"chunk-vendors\"]);\n \t// run deferred modules when ready\n \treturn checkDeferredModules();\n","import { GetterTree } from \"vuex\";\r\nimport { AuthenticationState, CurrentUser, JwtConfigs, RoleEnum } from \"./types\";\r\nimport { RootState } from \"@/store/types\";\r\n\r\nexport const getters: GetterTree = {\r\n isLoggedIn(state): boolean {\r\n return Boolean(state.token);\r\n },\r\n getCurrentUser(state): CurrentUser {\r\n return state.currentUser;\r\n },\r\n getToken(state): string {\r\n return state.token;\r\n },\r\n authorize(state) {\r\n return (param: RoleEnum) => {\r\n if (!param) {\r\n return false;\r\n }\r\n if (param === RoleEnum.Any) {\r\n return true;\r\n }\r\n return state.currentUser.roles.some(function (role) {\r\n return role.toLowerCase() === param.toString().toLowerCase();\r\n });\r\n };\r\n },\r\n getJwtConfigs(state): JwtConfigs {\r\n return state.jwtConfigs;\r\n },\r\n getAutoLogout(state): boolean {\r\n return state.autoLogout;\r\n }\r\n};\r\n","import { ActionTree } from \"vuex\";\r\nimport { AuthenticationState } from \"./types\";\r\nimport { RootState } from \"@/store/types\";\r\nimport { azureLogin, azureLogout, configAutoLogout } from \"@/services/security/authService\";\r\n\r\nexport const actions: ActionTree = {\r\n azureLoginAction({ commit, dispatch }) {\r\n return new Promise((resolve, reject) => {\r\n azureLogin()\r\n .then((response: any) => {\r\n commit(\"authSuccess\", response.data);\r\n configAutoLogout();\r\n resolve(response);\r\n })\r\n .catch((reason: any) => {\r\n reject(reason);\r\n });\r\n });\r\n },\r\n logoutAction({ commit, state }) {\r\n if (state.currentUser.isRegularUser) {\r\n commit(\"authClear\");\r\n } else {\r\n azureLogout().then(() => {\r\n commit(\"authClear\");\r\n });\r\n }\r\n },\r\n validateToken({ commit, state }) {\r\n if (state.tokenValidTo != null) {\r\n const tokenValidTo: Date = new Date(state.tokenValidTo);\r\n if (tokenValidTo < new Date()) {\r\n commit(\"authClear\");\r\n }\r\n }\r\n }\r\n};\r\n","import { MutationTree } from \"vuex\";\r\nimport { AuthenticationState, CurrentUser, JwtConfigs } from \"./types\";\r\nexport const mutations: MutationTree = {\r\n authSuccess(state, data) {\r\n state.token = data.token;\r\n state.currentUser = data.currentUser;\r\n state.jwtConfigs = data.jwtConfigs;\r\n // Cookie used for GetImage action on tag\r\n document.cookie = encodeURI(\"authCookie\") + \"=\" + encodeURI(state.token) + \";path=/;\";\r\n },\r\n\r\n updateToken(state, token) {\r\n state.token = token;\r\n // Cookie used for GetImage action on tag\r\n document.cookie = encodeURI(\"authCookie\") + \"=\" + encodeURI(token) + \";path=/;\";\r\n state.tokenValidTo = new Date(Date.now() + state.jwtConfigs.jwtExpireSeconds * 1000 + state.jwtConfigs.jwtInvalidSeconds * 1000);\r\n },\r\n\r\n authClear(state) {\r\n state.jwtConfigs = {} as JwtConfigs;\r\n state.autoLogout = false;\r\n state.token = \"\";\r\n state.tokenValidTo = null;\r\n state.currentUser = {} as CurrentUser;\r\n },\r\n\r\n setAutoLogout(state, data) {\r\n state.autoLogout = data;\r\n }\r\n};\r\n","import { Module } from \"vuex\";\r\nimport { getters } from \"./getters\";\r\nimport { actions } from \"./actions\";\r\nimport { mutations } from \"./mutations\";\r\nimport { AuthenticationState, CurrentUser, JwtConfigs } from \"./types\";\r\nimport { RootState } from \"@/store/types\";\r\n\r\nexport const state: AuthenticationState = {\r\n currentUser: {\r\n id: \"\",\r\n username: \"\",\r\n languageCode: \"en\",\r\n firstName: \"\",\r\n lastName: \"\",\r\n isRegularUser: true,\r\n roles: [] as string[]\r\n },\r\n token: \"\",\r\n tokenValidTo: null,\r\n jwtConfigs: {\r\n jwtExpireSeconds: 0,\r\n jwtInvalidSeconds: 0,\r\n jwtLogoutWarningSeconds: 0\r\n },\r\n autoLogout: false\r\n};\r\n\r\nconst namespaced: boolean = true;\r\n\r\nexport const authentication: Module = {\r\n namespaced,\r\n state,\r\n getters,\r\n actions,\r\n mutations\r\n};\r\n","import { RootState } from \"./types\";\r\n\r\nexport default {\r\n reload(state: RootState) {\r\n state.reload++;\r\n }\r\n};\r\n","import { RootState } from \"./types\";\r\n\r\nexport default {\r\n reload(state: RootState) {\r\n return state.reload;\r\n }\r\n};\r\n","import { RootState } from \"./types\";\r\nimport { ActionContext } from \"vuex\";\r\n\r\nexport default {\r\n reload({ commit }: ActionContext) {\r\n commit(\"reload\");\r\n }\r\n};\r\n","import Vue from \"vue\";\r\nimport Vuex from \"vuex\";\r\nimport { RootState } from \"./types\";\r\nimport { authentication } from \"./authentication/index\";\r\nimport mutations from \"./mutations\";\r\nimport getters from \"./getters\";\r\nimport actions from \"./actions\";\r\nimport VuexPersistence from \"vuex-persist\";\r\n\r\nVue.use(Vuex);\r\n\r\nconst persistAuthentication = new VuexPersistence({\r\n key: \"authentication\",\r\n storage: window.localStorage,\r\n modules: [\"authentication\"]\r\n});\r\n\r\nexport default new Vuex.Store({\r\n state: {\r\n reload: 1\r\n },\r\n modules: {\r\n authentication\r\n },\r\n mutations,\r\n actions,\r\n getters,\r\n plugins: [persistAuthentication.plugin]\r\n});\r\n","import axios from \"axios\";\r\nimport { APIENDPOINT } from \"../app.config\";\r\nimport store from \"@/store/index\";\r\n\r\nconst getHeaderConfig = function () {\r\n const token: string = store.getters[\"authentication/getToken\"];\r\n const headers = {\r\n Accept: \"application/json\",\r\n Authorization: \"Bearer \" + token\r\n };\r\n return headers;\r\n};\r\n\r\nexport default {\r\n get(url: string) {\r\n return axios.get(APIENDPOINT + url, {\r\n headers: getHeaderConfig()\r\n });\r\n },\r\n post(url: string, data: any) {\r\n return axios({\r\n method: \"POST\",\r\n url: APIENDPOINT + url,\r\n headers: getHeaderConfig(),\r\n data\r\n });\r\n },\r\n put(url: string, data: any) {\r\n return axios({\r\n method: \"PUT\",\r\n url: APIENDPOINT + url,\r\n headers: getHeaderConfig(),\r\n data\r\n });\r\n },\r\n delete(url: string) {\r\n return axios.delete(APIENDPOINT + url, {\r\n headers: getHeaderConfig()\r\n });\r\n },\r\n postFormData(url: string, data: any, config: any) {\r\n const instance = axios.create({\r\n method: \"POST\",\r\n headers: getHeaderConfig()\r\n });\r\n\r\n return instance.post(APIENDPOINT + url, data, config);\r\n }\r\n};\r\n","export interface User {\r\n email: string;\r\n password: string;\r\n}\r\n\r\nexport interface CurrentUser {\r\n id: string,\r\n username: string,\r\n firstName: string,\r\n lastName: string,\r\n languageCode: string,\r\n isRegularUser: boolean,\r\n roles: string[]\r\n}\r\n\r\nexport interface JwtConfigs {\r\n jwtExpireSeconds: number,\r\n jwtInvalidSeconds: number,\r\n jwtLogoutWarningSeconds: number,\r\n}\r\n\r\nexport interface AuthenticationState {\r\n currentUser: CurrentUser,\r\n token: string,\r\n tokenValidTo: Date | null,\r\n jwtConfigs: JwtConfigs,\r\n autoLogout: boolean\r\n}\r\n\r\nexport enum RoleEnum {\r\n // actions\r\n Any = \"Any\",\r\n ContractsRole = \"ContractsRole\",\r\n InstancesRole = \"InstancesRole\",\r\n RestrictedAccessRole = \"RestrictedAccessRole\"\r\n}\r\n","export default [\r\n {\r\n path: \"/login\",\r\n name: \"login\",\r\n component: () => import(\"@/components/security/_Login.vue\")\r\n }\r\n];\r\n","import store from \"@/store\";\r\nimport { Route } from \"vue-router\";\r\n\r\n/* Per-Route router guards */\r\nexport default function requireAuthorization(to: Route, from: Route, next: any): void {\r\n const authorized = store.getters[\"authentication/authorize\"](\r\n to.meta.role\r\n );\r\n if (authorized) {\r\n next();\r\n } else {\r\n next(false);\r\n }\r\n}\r\n","import requireAuthorization from \"@/routes/helper/requireAuthorization\";\r\nimport { RoleEnum } from \"@/store/authentication/types\";\r\n\r\nexport default [\r\n {\r\n path: \"/\",\r\n name: \"dashboard\",\r\n component: () => import(\"@/components/dashboard/_Dashboard.vue\"),\r\n beforeEnter: requireAuthorization,\r\n meta: {\r\n role: RoleEnum.Any,\r\n breadcrumbs: {\r\n icon: \"home-icon\",\r\n paths: [\r\n [\"\", \"Dashboard\"]\r\n ]\r\n }\r\n }\r\n }\r\n];\r\n","import requireAuthorization from \"@/routes/helper/requireAuthorization\";\r\nimport i18n from \"@/i18n\";\r\nimport { RoleEnum } from \"@/store/authentication/types\";\r\n\r\nexport default [\r\n {\r\n path: \"/instances\",\r\n name: \"instances\",\r\n component: () => import(\"@/components/instances/_Instances.vue\"),\r\n beforeEnter: requireAuthorization,\r\n meta: {\r\n role: RoleEnum.InstancesRole,\r\n breadcrumbs: {\r\n icon: \"profile-icon\",\r\n paths: [\r\n [\"/users\", i18n.t(\"instances.title\")]\r\n ]\r\n }\r\n }\r\n },\r\n {\r\n path: \"/instanceGroups\",\r\n name: \"instanceGroups\",\r\n component: () => import(\"@/components/instances/_InstanceGroups.vue\"),\r\n beforeEnter: requireAuthorization,\r\n meta: {\r\n role: RoleEnum.InstancesRole,\r\n breadcrumbs: {\r\n icon: \"profile-icon\",\r\n paths: [\r\n [\"/instanceGroups\", i18n.t(\"instanceGroups.title\")]\r\n ]\r\n }\r\n }\r\n },\r\n {\r\n path: \"/instanceGroups/create\",\r\n name: \"createInstanceGroup\",\r\n component: () => import(\"@/components/instances/_InstanceGroupForm.vue\"),\r\n beforeEnter: requireAuthorization,\r\n meta: {\r\n role: RoleEnum.InstancesRole,\r\n breadcrumbs: {\r\n icon: \"profile-icon\",\r\n paths: [\r\n [\"/instanceGroups/create\", i18n.t(\"instanceGroups.title\")]\r\n ]\r\n }\r\n }\r\n },\r\n {\r\n path: \"/instanceGroups/:groupId/update\",\r\n name: \"updateInstanceGroup\",\r\n component: () => import(\"@/components/instances/_InstanceGroupForm.vue\"),\r\n beforeEnter: requireAuthorization,\r\n meta: {\r\n role: RoleEnum.InstancesRole,\r\n breadcrumbs: {\r\n icon: \"profile-icon\",\r\n paths: [\r\n [\"/instanceGroups/update\", i18n.t(\"instanceGroups.title\")]\r\n ]\r\n }\r\n },\r\n props: true\r\n }\r\n];\r\n","import requireAuthorization from \"@/routes/helper/requireAuthorization\";\r\nimport i18n from \"@/i18n\";\r\nimport { RoleEnum } from \"@/store/authentication/types\";\r\n\r\nexport default [\r\n {\r\n path: \"/contracts\",\r\n name: \"contracts\",\r\n component: () => import(\"@/components/contracts/_Contracts.vue\"),\r\n beforeEnter: requireAuthorization,\r\n meta: {\r\n role: RoleEnum.ContractsRole,\r\n breadcrumbs: {\r\n icon: \"profile-icon\",\r\n paths: [\r\n [\"/contracts\", i18n.t(\"contracts\")]\r\n ]\r\n }\r\n }\r\n },\r\n {\r\n path: \"/contracts/create\",\r\n name: \"ContractCreateForm\",\r\n component: () => import(\"@/components/contracts/_ContractForm.vue\"),\r\n beforeEnter: requireAuthorization,\r\n meta: {\r\n role: RoleEnum.ContractsRole,\r\n breadcrumbs: {\r\n icon: \"profile-icon\",\r\n paths: [\r\n [\"/editorProfiles\", i18n.t(\"editorProfiles.title\")],\r\n [\"\", i18n.t(\"editorProfiles.createTitle\")]\r\n ]\r\n }\r\n },\r\n props: true\r\n },\r\n {\r\n path: \"/contracts/update/:contractId\",\r\n name: \"ContractUpdateForm\",\r\n component: () => import(\"@/components/contracts/_ContractForm.vue\"),\r\n beforeEnter: requireAuthorization,\r\n meta: {\r\n role: RoleEnum.ContractsRole,\r\n breadcrumbs: {\r\n icon: \"profile-icon\",\r\n paths: [\r\n [\"/editorProfiles\", i18n.t(\"editorProfiles.title\")],\r\n [\"\", i18n.t(\"editorProfiles.editTitle\")]\r\n ]\r\n }\r\n },\r\n props: true\r\n }\r\n];\r\n","import requireAuthorization from \"@/routes/helper/requireAuthorization\";\r\nimport i18n from \"@/i18n\";\r\nimport { RoleEnum } from \"@/store/authentication/types\";\r\n\r\nexport default [\r\n {\r\n path: \"/news\",\r\n name: \"news\",\r\n component: () => import(\"@/components/news/_News.vue\"),\r\n beforeEnter: requireAuthorization,\r\n meta: {\r\n role: RoleEnum.InstancesRole,\r\n breadcrumbs: {\r\n icon: \"profile-icon\",\r\n paths: [\r\n [\"/news\", i18n.t(\"news\")]\r\n ]\r\n }\r\n }\r\n },\r\n {\r\n path: \"/news/create/:newsType\",\r\n name: \"CreateNews\",\r\n component: () => import(\"@/components/news/_NewsForm.vue\"),\r\n beforeEnter: requireAuthorization,\r\n meta: {\r\n role: RoleEnum.InstancesRole,\r\n breadcrumbs: {\r\n icon: \"profile-icon\",\r\n paths: [\r\n [\"/news/create\", i18n.t(\"news.title\")]\r\n ]\r\n }\r\n },\r\n props: true\r\n },\r\n {\r\n path: \"/news/update/:newsType/:id\",\r\n name: \"UpdateNews\",\r\n component: () => import(\"@/components/news/_NewsForm.vue\"),\r\n beforeEnter: requireAuthorization,\r\n meta: {\r\n role: RoleEnum.InstancesRole,\r\n breadcrumbs: {\r\n icon: \"profile-icon\",\r\n paths: [\r\n [\"/news/update/:newsType/:id\", i18n.t(\"news.title\")]\r\n ]\r\n }\r\n },\r\n props: true\r\n }\r\n];\r\n","import Vue from \"vue\";\r\nimport Router from \"vue-router\";\r\nimport store from \"./store/index\";\r\n\r\n// Routes\r\nimport loginRoutes from \"@/routes/login\";\r\nimport dashboardRoutes from \"@/routes/dashboard\";\r\nimport instancesRoutes from \"@/routes/instances\";\r\nimport contractsRoutes from \"@/routes/contracts\";\r\nimport newsRoutes from \"@/routes/news\";\r\n\r\nVue.use(Router);\r\nconst router = new Router({\r\n mode: \"history\",\r\n routes: [\r\n ...loginRoutes,\r\n ...dashboardRoutes,\r\n ...instancesRoutes,\r\n ...contractsRoutes,\r\n ...newsRoutes\r\n ],\r\n scrollBehavior() {\r\n return { x: 0, y: 0 };\r\n }\r\n});\r\n\r\n/* Global router guards */\r\nrouter.beforeEach((to, from, next) => {\r\n const login = \"login\";\r\n const isloggedIn: Boolean = store.getters[\"authentication/isLoggedIn\"];\r\n\r\n if (!isloggedIn && to.name !== login) {\r\n next({ name: login });\r\n } else if (isloggedIn && to.name === login) {\r\n next(false);\r\n } else {\r\n next();\r\n }\r\n});\r\n\r\nexport default router;\r\n","module.exports = __webpack_public_path__ + \"img/visiosign_cloud_logo_white.9ec7e867.svg\";","import mod from \"-!../node_modules/mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../node_modules/less-loader/dist/cjs.js??ref--10-oneOf-1-3!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=style&index=0&lang=less&\"; export default mod; export * from \"-!../node_modules/mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../node_modules/less-loader/dist/cjs.js??ref--10-oneOf-1-3!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=style&index=0&lang=less&\"","import Vue from \"vue\";\r\nimport VueI18n from \"vue-i18n\";\r\nimport { LOCALE, FALLBACK_LOCALE } from \"@/app.config\";\r\n\r\nVue.use(VueI18n);\r\n\r\nfunction loadLocaleMessages() {\r\n const locales = require.context(\"./assets/locales\", true, /[A-Za-z0-9-_,\\s]+\\.json$/i);\r\n const messages: { [key: string]: any } = {};\r\n locales.keys().forEach(key => {\r\n const matched = key.match(/([A-Za-z0-9-_]+)\\./i);\r\n if (matched && matched.length > 1) {\r\n const locale = matched[1];\r\n messages[locale] = locales(key);\r\n }\r\n });\r\n return messages;\r\n}\r\n\r\nexport default new VueI18n({\r\n locale: LOCALE || \"mk\",\r\n fallbackLocale: FALLBACK_LOCALE || \"en\",\r\n messages: loadLocaleMessages()\r\n});\r\n","var map = {\n\t\"./dk.json\": \"6e31\",\n\t\"./en.json\": \"0e40\"\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 = \"adb0\";","import Vue from \"vue\";\r\n\r\nimport BootstrapVue from \"bootstrap-vue\";\r\nimport \"bootstrap/dist/css/bootstrap.min.css\";\r\nimport \"bootstrap-vue/dist/bootstrap-vue.css\";\r\n\r\nVue.use(BootstrapVue);\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{\"id\":\"app\"}},[_c(_vm.layout,{tag:\"component\"}),_c('auto-logout')],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"app-wrapper\",class:{\n 'shrink-sidebar': _vm.sideBarShrink\n }},[_c('Header',{on:{\"sidebar-toggle\":function($event){_vm.sideBarShrink = !_vm.sideBarShrink}}}),_c('div',{staticClass:\"container-fluid\"},[_c('div',{staticClass:\"row\"},[_c('Sidebar',{on:{\"sidebar-expand\":function($event){_vm.sideBarShrink = false}}}),_c('main',{staticClass:\"app-main-content col\",attrs:{\"role\":\"main\"}},[_c('transition',{attrs:{\"name\":\"fade\",\"mode\":\"out-in\"}},[_c('router-view')],1)],1)],1)])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"app-top-bar\",class:{ shadow: _vm.shadow }},[_c('nav',{staticClass:\"navbar\"},[_c('button',{staticClass:\"btn btn-sm sidebar-toggle-btn btn-only-icon\",attrs:{\"type\":\"button\"},on:{\"click\":function($event){return _vm.$emit('sidebar-toggle')}}},[_c('svg',{staticClass:\"desctop-sidebar-toggle-icon vc-icon_sm\",attrs:{\"viewBox\":\"0 0 100 100\"}},[_c('use',{attrs:{\"xlink:href\":\"#shevron-left-icon\"}})]),_c('svg',{staticClass:\"mobile-sidebar-toggle-icon close vc-icon_xl\",attrs:{\"viewBox\":\"0 0 100 100\"}},[_c('use',{attrs:{\"xlink:href\":\"#nav-icon\"}})]),_c('svg',{staticClass:\"mobile-sidebar-toggle-icon open vc-icon_xl\",attrs:{\"viewBox\":\"0 0 100 100\"}},[_c('use',{attrs:{\"xlink:href\":\"#arrow-left-icon\"}})])]),_c('div',{staticClass:\"d-flex\"}),_vm._m(0),_c('div',{staticClass:\"breadcrumbs-wrapper\"},[_c('ul',{key:_vm.update,staticClass:\"breadcrumbs\"},[_vm._l((_vm.displayBreadCrumbs),function(el,index){return [_c('li',{key:el[1]},[_c('router-link',{staticClass:\"d-flex\",attrs:{\"to\":el[0]}},[(index === 0)?_c('svg',{staticClass:\"vc-icon_sm\",attrs:{\"viewBox\":\"0 0 100 100\"}},[_c('use',{attrs:{\"xlink:href\":'#' + _vm.icon}})]):_vm._e(),_vm._v(\" \"+_vm._s(el[1])+\" \")])],1)]})],2)])])])}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"d-flex ml-auto\"},[_c('div',{staticClass:\"top-bar-btn-group\"})])}]\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\n/* eslint dot-notation: 0 */\r\nimport { Component, Vue, Watch } from \"vue-property-decorator\";\r\nimport { Action } from \"vuex-class\";\r\nconst namespace: string = \"authentication\";\r\n\r\n@Component\r\nexport default class Header extends Vue {\r\n // searchFocused: boolean = false;\r\n shadow: boolean = false;\r\n scroll: any;\r\n\r\n channelId: string = \"\";\r\n update = 0;\r\n breadCrumbs: any = null;\r\n displayBreadCrumbs: any = null;\r\n icon: string = \"\";\r\n\r\n handler(): void {\r\n this.$emit(\"sidebar-toggle\");\r\n }\r\n\r\n support() {\r\n this.$router.push(\"/support\");\r\n }\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Header.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Header.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./Header.vue?vue&type=template&id=75658be2&\"\nimport script from \"./Header.vue?vue&type=script&lang=ts&\"\nexport * from \"./Header.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('nav',{staticClass:\"sidebar-nav col\"},[_c('div',{staticClass:\"navbar-brand mr-0\"},[_c('a',{attrs:{\"href\":\"#\"}},[_c('img',{staticClass:\"logo\",attrs:{\"src\":require(\"../../assets/img/svg/visiosign_cloud_logo_white.svg\")}}),_c('span',{staticClass:\"app-version\"},[_vm._v(\"Admin Version \"+_vm._s(this.appVersion))])])]),_c('ul',{staticClass:\"nav flex-column main-nav-list custom-scrollbar lightScroll-darkBg\"},[_c('li',{staticClass:\"nav-item\"},[_c('router-link',{staticClass:\"nav-link\",attrs:{\"to\":'/'}},[_c('svg',{staticClass:\"vc-icon_lg ver-ar fill-light\",attrs:{\"viewBox\":\"0 0 116.79 112.52\"}},[_c('use',{attrs:{\"xlink:href\":\"#home-icon\"}})]),_c('span',{staticClass:\"nav-link-text\"},[_vm._v(_vm._s(_vm.$t(\"navbar.dashboard\")))]),_c('span',{staticClass:\"sr-only\"},[_vm._v(\"(current)\")])])],1),_c('li',{staticClass:\"nav-item\"},[(_vm.authorize(_vm.roles.InstancesRole))?_c('router-link',{staticClass:\"nav-link\",attrs:{\"to\":'/instances'}},[_c('svg',{staticClass:\"vc-icon_lg fill-light\",staticStyle:{\"width\":\"23px\"},attrs:{\"viewBox\":\"0 0 100 100\"}},[_c('use',{attrs:{\"xlink:href\":\"#instance-icon\"}})]),_c('span',{staticClass:\"nav-link-text\"},[_vm._v(_vm._s(_vm.$t(\"navbar.instances\")))])]):_vm._e()],1),_c('li',{staticClass:\"nav-item\"},[(_vm.authorize(_vm.roles.InstancesRole))?_c('router-link',{staticClass:\"nav-link\",attrs:{\"to\":'/instanceGroups'}},[_c('svg',{staticClass:\"vc-icon_lg fill-light\",staticStyle:{\"width\":\"24px\"},attrs:{\"viewBox\":\"0 0 100 100\"}},[_c('use',{attrs:{\"xlink:href\":\"#instance-group-icon\"}})]),_c('span',{staticClass:\"nav-link-text\"},[_vm._v(_vm._s(_vm.$t(\"navbar.instanceGroups\")))])]):_vm._e()],1),_c('li',{staticClass:\"nav-item\"},[(_vm.authorize(_vm.roles.InstancesRole))?_c('router-link',{staticClass:\"nav-link\",attrs:{\"to\":'/news'}},[_c('svg',{staticClass:\"vc-icon_lg fill-light\",attrs:{\"viewBox\":\"0 0 100 100\"}},[_c('use',{attrs:{\"xlink:href\":\"#item-type-html-icon\"}})]),_c('span',{staticClass:\"nav-link-text\"},[_vm._v(_vm._s(_vm.$t(\"navbar.news\")))])]):_vm._e()],1),(_vm.authorize(_vm.roles.ContractsRole))?_c('li',{staticClass:\"nav-item\"},[_c('router-link',{staticClass:\"nav-link\",attrs:{\"to\":'/contracts'}},[_c('svg',{staticClass:\"vc-icon_lg fill-light\",attrs:{\"viewBox\":\"0 0 100 100\"}},[_c('use',{attrs:{\"xlink:href\":\"#boards-icon\"}})]),_c('span',{staticClass:\"nav-link-text\"},[_vm._v(_vm._s(_vm.$t(\"navbar.contracts\")))])])],1):_vm._e()]),_c('ul',{staticClass:\"nav flex-column main-nav-list mt-auto\"},[_c('li',{staticClass:\"nav-item\"},[_c('a',{directives:[{name:\"b-toggle\",rawName:\"v-b-toggle\"}],staticClass:\"dropdown-toggle\",attrs:{\"aria-expanded\":\"false\",\"href\":\"#profileSubMenu\"},on:{\"click\":function($event){$event.preventDefault();}}},[_c('div',{staticClass:\"d-flex align-items-center\"},[_c('span',{staticClass:\"avatar\"},[_c('b',[_vm._v(_vm._s(this.initials))])]),_vm._v(\" \"+_vm._s(this.name)+\" \")]),_c('svg',{staticClass:\"vc-icon_xxs fill-light\",attrs:{\"viewBox\":\"0 0 100 100\"}},[_c('use',{attrs:{\"xlink:href\":\"#shevron-right-icon\"}})])]),_c('b-collapse',{attrs:{\"id\":\"profileSubMenu\"}},[_c('ul',{staticClass:\"subNav-list mb-2\"},[_c('li',{staticClass:\"nav-item\"},[_c('a',{staticClass:\"nav-link\",attrs:{\"href\":\"#\"},on:{\"click\":function($event){return _vm.onLogout()}}},[_c('svg',{staticClass:\"vc-icon_lg fill-white\",attrs:{\"viewBox\":\"0 0 100 100\"}},[_c('use',{attrs:{\"xlink:href\":\"#logout-icon\"}})]),_c('span',{staticClass:\"nav-link-text\"},[_vm._v(_vm._s(_vm.$t(\"navbar.logout\")))])])])])])],1)])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { Component, Vue } from \"vue-property-decorator\";\r\nimport { RoleEnum } from \"@/store/authentication/types\";\r\nimport { Action, Getter } from \"vuex-class\";\r\nimport { version } from \"@/../package.json\";\r\nconst namespace: string = \"authentication\";\r\n\r\n @Component\r\nexport default class Sidebar extends Vue {\r\n @Action(\"logoutAction\", { namespace }) logoutAction: any;\r\n @Getter(\"getCurrentUser\", { namespace }) getCurrentUser: any;\r\n @Getter(\"authorize\", { namespace }) authorize: any;\r\n\r\n roles = RoleEnum;\r\n\r\n // local\r\n onLogout(): void {\r\n this.logoutAction();\r\n this.$router.push(\"/login\");\r\n }\r\n\r\n // computed\r\n get name(): string {\r\n return this.getCurrentUser.firstName && this.getCurrentUser.lastName ? `${this.getCurrentUser.firstName} ${this.getCurrentUser.lastName}` : \"\";\r\n }\r\n\r\n get appVersion(): string {\r\n return version;\r\n }\r\n\r\n get initials(): string {\r\n let firstNameInitial = \"\";\r\n let lastNameInitial = \"\";\r\n if (this.getCurrentUser.firstName) firstNameInitial = this.getCurrentUser.firstName.charAt(0);\r\n if (this.getCurrentUser.lastName) lastNameInitial = this.getCurrentUser.lastName.charAt(0);\r\n return `${firstNameInitial}${lastNameInitial}`;\r\n }\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Sidebar.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Sidebar.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./Sidebar.vue?vue&type=template&id=3c50542d&\"\nimport script from \"./Sidebar.vue?vue&type=script&lang=ts&\"\nexport * from \"./Sidebar.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { Component, Vue } from \"vue-property-decorator\";\r\nimport Header from \"./Header.vue\";\r\nimport Sidebar from \"./Sidebar.vue\";\r\n\r\n@Component({\r\n components: {\r\n Sidebar,\r\n Header\r\n }\r\n})\r\nexport default class Layout extends Vue {\r\n sideBarShrink = false as boolean;\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./_DefaultLayout.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./_DefaultLayout.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./_DefaultLayout.vue?vue&type=template&id=094a098a&scoped=true&\"\nimport script from \"./_DefaultLayout.vue?vue&type=script&lang=ts&\"\nexport * from \"./_DefaultLayout.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./_DefaultLayout.vue?vue&type=style&index=0&id=094a098a&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"094a098a\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('router-view')}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\r\nimport { Component, Vue } from \"vue-property-decorator\";\r\n\r\n@Component\r\nexport default class BasicLayout extends Vue { }\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./_BasicLayout.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./_BasicLayout.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./_BasicLayout.vue?vue&type=template&id=09781aba&\"\nimport script from \"./_BasicLayout.vue?vue&type=script&lang=ts&\"\nexport * from \"./_BasicLayout.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import axios from \"axios\";\r\nimport store from \"@/store\";\r\nimport router from \"@/router\";\r\nimport { configAutoLogout } from \"@/services/security/authService\";\r\nexport function setUpResponseInterceptors() {\r\n axios.interceptors.response.use(\r\n function success(response: any) {\r\n jwtHandler(response.headers.jwttoken);\r\n return response;\r\n },\r\n function error(error: any) {\r\n unAuthorizedHandler(error);\r\n return Promise.reject(error);\r\n }\r\n );\r\n}\r\n// interceptor handlers\r\nfunction jwtHandler(token: any) {\r\n if (!token) return;\r\n store.commit(\"authentication/updateToken\", token);\r\n configAutoLogout();\r\n}\r\nfunction unAuthorizedHandler(error: any) {\r\n if (!error.request ||\r\n error.response.status !== 401) return;\r\n if (!error.config ||\r\n error.config.__isRetryRequest) return;\r\n store.commit(\"authentication/authClear\");\r\n router.push(\"/login\");\r\n}\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-modal',{attrs:{\"hide-footer\":\"\",\"id\":\"modal-autoLogout\"},scopedSlots:_vm._u([{key:\"modal-title\",fn:function(){return [_vm._v(_vm._s(_vm.$t('common.autoLogoutPrompt')))]},proxy:true}])},[_c('b-button',{attrs:{\"variant\":\"primary\"},on:{\"click\":_vm.confirmActive}},[_vm._v(_vm._s(_vm.$t('common.btnYes')))])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\r\nimport { Component, Vue, Watch } from \"vue-property-decorator\";\r\nimport { Getter } from \"vuex-class\";\r\nimport { checkIfAuthenticated } from \"@/services/security/authService\";\r\n\r\nconst namespace: string = \"authentication\";\r\n\r\n@Component\r\nexport default class AutoLogout extends Vue {\r\n @Getter(\"getAutoLogout\", { namespace }) autologout: any;\r\n\r\n @Watch(\"autologout\", { immediate: true, deep: true })\r\n onActiveChange(value: boolean) {\r\n if (value) {\r\n this.showWarning();\r\n }\r\n if (!value) {\r\n this.hideWarning();\r\n }\r\n }\r\n\r\n // actions\r\n showWarning() {\r\n this.$bvModal.show(\"modal-autoLogout\");\r\n }\r\n\r\n hideWarning() {\r\n this.$bvModal.hide(\"modal-autoLogout\");\r\n }\r\n\r\n confirmActive() {\r\n this.hideWarning();\r\n checkIfAuthenticated();\r\n }\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AutoLogout.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AutoLogout.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./AutoLogout.vue?vue&type=template&id=39cc1309&\"\nimport script from \"./AutoLogout.vue?vue&type=script&lang=ts&\"\nexport * from \"./AutoLogout.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n\n\n\n\n\r\nimport { Component, Vue } from \"vue-property-decorator\";\r\nimport DefaultLayout from \"./components/layouts/_DefaultLayout.vue\";\r\nimport BasicLayout from \"./components/layouts/_BasicLayout.vue\";\r\nimport store from \"./store/index\";\r\nimport { setUpResponseInterceptors } from \"@/services/interceptors\";\r\nimport \"@/assets/style/main.scss\";\r\nimport AutoLogout from \"./components/common/AutoLogout.vue\";\r\n\r\n@Component({\r\n components: {\r\n \"default-layout\": DefaultLayout,\r\n \"basic-layout\": BasicLayout,\r\n \"auto-logout\": AutoLogout\r\n }\r\n})\r\nexport default class App extends Vue {\r\n get layout() {\r\n const isloggedIn: boolean = store.getters[\"authentication/isLoggedIn\"];\r\n return isloggedIn ? this.$route.meta.layout || \"default-layout\" : \"basic-layout\";\r\n }\r\n\r\n public created(): void {\r\n setUpResponseInterceptors();\r\n }\r\n}\r\n","import mod from \"-!../node_modules/cache-loader/dist/cjs.js??ref--14-0!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js!../node_modules/ts-loader/index.js??ref--14-3!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../node_modules/cache-loader/dist/cjs.js??ref--14-0!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js!../node_modules/ts-loader/index.js??ref--14-3!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./App.vue?vue&type=template&id=4808dfe0&\"\nimport script from \"./App.vue?vue&type=script&lang=ts&\"\nexport * from \"./App.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./App.vue?vue&type=style&index=0&lang=less&\"\n\n\n/* normalize component */\nimport normalizer from \"!../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import \"mutationobserver-shim\";\r\nimport Vue from \"vue\";\r\nimport \"./bootstrap-vue\";\r\nimport { ModalPlugin } from \"bootstrap-vue\";\r\nimport App from \"./App.vue\";\r\nimport router from \"./router\";\r\nimport store from \"./store/index\";\r\nimport i18n from \"./i18n\";\r\n\r\nVue.config.productionTip = false;\r\nVue.use(ModalPlugin);\r\n\r\nexport const bus = new Vue();\r\n\r\nVue.directive(\"focus\", {\r\n inserted: function (el) {\r\n el.focus();\r\n }\r\n});\r\nstore.dispatch(\"authentication/validateToken\");\r\n\r\nnew Vue({\r\n store,\r\n router,\r\n i18n,\r\n render: h => h(App)\r\n}).$mount(\"#app\");\r\n","export const APIENDPOINT = process.env.VUE_APP_APIENDPOINT;\r\nexport const FILEENDPOINT = process.env.VUE_APP_FILEPENDPOINT;\r\nexport const LOCALE = process.env.VUE_APP_I18N_LOCALE;\r\nexport const FALLBACK_LOCALE = process.env.VUE_APP_I18N_FALLBACK_LOCALE;\r\nexport const VUE_APP_LOGGER_ENABLED: boolean = process.env.VUE_APP_LOGGER_ENABLED;\r\nexport const DEFAULTIMAGE = process.env.VUE_APP_DEFAULTIMAGE;\r\n","import { Configuration } from \"msal\";\r\n\r\nexport const msalConfig = {\r\n auth: {\r\n authority: \"\",\r\n clientId: \"\",\r\n redirectUri: \"\"\r\n },\r\n cache: {\r\n cacheLocation: \"sessionStorage\", // This configures where your cache will be stored\r\n storeAuthStateInCookie: false // Set this to \"true\" if you are having issues on IE11 or Edge\r\n },\r\n system: {},\r\n framework: {}\r\n} as Configuration;\r\n\r\nexport const loginRequest = {\r\n scopes: [\"openid\", \"profile\", \"User.Read\"]\r\n};\r\n","import { User, JwtConfigs } from \"@/store/authentication/types\";\r\nimport { SSODtoIn, AzureAdConfig } from \"@/services/security/types\";\r\nimport api from \"../api\";\r\nimport store from \"@/store/index\";\r\nimport * as Msal from \"msal\";\r\nimport { loginRequest, msalConfig } from \"@/services/security/azureConfigs\";\r\nimport router from \"@/router\";\r\n\r\nexport async function getAzureAdConfig(): Promise {\r\n return new Promise((resolve, reject) => {\r\n api.get(\"/account/azureAdConfig\").then(\r\n response => {\r\n resolve(response.data);\r\n },\r\n error => {\r\n reject(error);\r\n }\r\n );\r\n });\r\n}\r\n\r\nexport async function login(user: User): Promise {\r\n return new Promise((resolve, reject) => {\r\n api.post(\"/account/login/\", user).then(\r\n response => {\r\n resolve(response);\r\n },\r\n error => {\r\n reject(error);\r\n }\r\n );\r\n });\r\n}\r\n\r\nexport async function azureLogin(): Promise {\r\n const appSettings = await getAzureAdConfig();\r\n msalConfig.auth.clientId = appSettings.azureAppClientId;\r\n msalConfig.auth.redirectUri = appSettings.redirectUri;\r\n msalConfig.auth.authority = `https://login.microsoftonline.com/${appSettings.vscTenantId}`;\r\n const MsalObj = new Msal.UserAgentApplication(msalConfig);\r\n return new Promise((resolve, reject) => {\r\n MsalObj.loginPopup(loginRequest).then(loginResponse => {\r\n api.post(\"/account/AzureLogIn/\", { token: loginResponse.idToken.rawIdToken } as SSODtoIn).then(\r\n response => {\r\n resolve(response);\r\n },\r\n error => {\r\n reject(error);\r\n }\r\n );\r\n }).catch(error => {\r\n console.log(error);\r\n reject(error);\r\n });\r\n });\r\n}\r\n\r\nexport async function azureLogout() {\r\n const appSettings = await getAzureAdConfig();\r\n msalConfig.auth.clientId = appSettings.azureAppClientId;\r\n msalConfig.auth.redirectUri = appSettings.redirectUri;\r\n const MsalObj = new Msal.UserAgentApplication(msalConfig);\r\n MsalObj.logout();\r\n};\r\n\r\nexport async function getToken(): Promise {\r\n const appSettings = await getAzureAdConfig();\r\n msalConfig.auth.clientId = appSettings.azureAppClientId;\r\n msalConfig.auth.redirectUri = appSettings.redirectUri;\r\n const MsalObj = new Msal.UserAgentApplication(msalConfig);\r\n // if (myMSALObj.getAccount()) {\r\n // showWelcomeMessage(myMSALObj.getAccount());\r\n // }\r\n return MsalObj.acquireTokenSilent(loginRequest)\r\n .then((response) => {\r\n console.log(response);\r\n if (response.accessToken) {\r\n console.log(\"access_token acquired at: \" + new Date().toString());\r\n const accessToken = response.accessToken;\r\n console.log(\"silent\");\r\n console.log(accessToken);\r\n }\r\n }).catch(error => {\r\n console.log(\"silent token acquisition fails. acquiring token using redirect\");\r\n console.log(error);\r\n // fallback to interaction when silent call fails\r\n return MsalObj.acquireTokenRedirect(loginRequest);\r\n });\r\n};\r\n\r\nexport function logout() {\r\n store.commit(\"authentication/authClear\");\r\n}\r\n\r\nexport async function checkIfAuthenticated(): Promise {\r\n return new Promise((resolve, reject) => {\r\n api.get(\"/account/isAuthenticated\").then(\r\n response => {\r\n resolve(response);\r\n },\r\n error => {\r\n reject(error);\r\n }\r\n );\r\n });\r\n}\r\n\r\nlet time = 0;\r\nexport function configAutoLogout() {\r\n store.commit(\"authentication/setAutoLogout\", false);\r\n const jwtConfigs: JwtConfigs = store.getters[\"authentication/getJwtConfigs\"];\r\n const notificationTimeInSeconds = jwtConfigs.jwtExpireSeconds + jwtConfigs.jwtInvalidSeconds - jwtConfigs.jwtLogoutWarningSeconds;\r\n resetTime();\r\n if (notificationTimeInSeconds > 0) {\r\n startAutoLogout(notificationTimeInSeconds);\r\n }\r\n}\r\n\r\nfunction resetTime() {\r\n clearTimeout(time);\r\n}\r\n\r\nfunction startAutoLogout(seconds: number) {\r\n time = setTimeout(logoutNotification, seconds * 1000);\r\n}\r\n\r\nfunction logoutNotification() {\r\n store.commit(\"authentication/setAutoLogout\", true);\r\n resetTime();\r\n time = setTimeout(goToLogin, store.getters[\"authentication/getJwtConfigs\"].jwtLogoutWarningSeconds * 1000);\r\n}\r\n\r\nfunction goToLogin() {\r\n logout();\r\n router.push(\"/login\");\r\n}\r\n","import mod from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./_DefaultLayout.vue?vue&type=style&index=0&id=094a098a&scoped=true&lang=css&\"; export default mod; export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./_DefaultLayout.vue?vue&type=style&index=0&id=094a098a&scoped=true&lang=css&\""],"sourceRoot":""}