{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./src/api/UserClient.js","webpack:///./src/api/base/BaseAPIClient.js","webpack:///./src/models/OrganizationModel.js","webpack:///./src/models/UserModel.js","webpack:///./src/models/DeviceModel.js","webpack:///./src/components/OffCanvasMenu.vue?261b","webpack:///./src/components/Loader.vue?418b","webpack:///./src/store/plugins/userStorage.js","webpack:///./src/store/modules/globals.js","webpack:///./src/store/modules/authorization.js","webpack:///./src/store/index.js","webpack:///./src/components/NavigationMenu.vue?4863","webpack:///./src/components/Loader.vue","webpack:///./src/constants/fontAwesomeIcons.js","webpack:///./src/App.vue?b03f","webpack:///./src/components/Footer.vue?0cb0","webpack:///src/components/Footer.vue","webpack:///./src/components/Footer.vue?a982","webpack:///./src/components/Footer.vue","webpack:///./src/components/Header.vue?03a3","webpack:///./src/components/NavigationMenu.vue?fcc6","webpack:///src/components/NavigationMenu.vue","webpack:///./src/components/NavigationMenu.vue?89ef","webpack:///./src/components/NavigationMenu.vue","webpack:///./src/components/HeaderButtons.vue?4c45","webpack:///src/components/HeaderButtons.vue","webpack:///./src/components/HeaderButtons.vue?6fbf","webpack:///./src/components/HeaderButtons.vue","webpack:///./src/components/OffCanvasMenu.vue?55da","webpack:///src/components/OffCanvasMenu.vue","webpack:///./src/components/OffCanvasMenu.vue?26aa","webpack:///./src/components/OffCanvasMenu.vue","webpack:///src/components/Header.vue","webpack:///./src/components/Header.vue?4c35","webpack:///./src/components/Header.vue","webpack:///./src/components/modals/InactiveTimeoutModal.vue?d9a0","webpack:///src/components/modals/InactiveTimeoutModal.vue","webpack:///./src/components/modals/InactiveTimeoutModal.vue?4a7c","webpack:///./src/components/modals/InactiveTimeoutModal.vue","webpack:///./src/components/modals/MfaApproachingModal.vue?d05a","webpack:///src/components/modals/MfaApproachingModal.vue","webpack:///./src/components/modals/MfaApproachingModal.vue?f99a","webpack:///./src/components/modals/MfaApproachingModal.vue","webpack:///src/App.vue","webpack:///./src/App.vue?1160","webpack:///./src/App.vue","webpack:///./src/router.js","webpack:///./src/filters/index.js","webpack:///./src/main.js","webpack:///./src/App.vue?165b","webpack:///./src/components/Footer.vue?2483","webpack:///./src/constants/routes.js","webpack:///./src/components/Header.vue?62f2","webpack:///./src/api/Storage.js","webpack:///./src/components/HeaderButtons.vue?2a48","webpack:///./src/assets/logo.png","webpack:///./src/components/Loader.vue?3038","webpack:///./src/components/Loader.vue?88ae","webpack:///./src/components/Loader.vue?138e"],"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","menderVersionsPromise","organizationsPromise","currentDartVersionPromise","allUsersPromise","organizationUsersPromise","BaseAPIClient","$http","this","baseUrl","Vue","$globalEnv","http","$store","store","whenDone","refreshToken","StorageService","getItem","refresh","results","access","commit","catch","_refreshToken","url","params","requestWithParams","accessToken","headers","Authorization","_handleResponse","formData","email","password","btoa","post","ok","body","action","fromRefreshWorkflow","queryParams","keys","filter","map","join","fetch","method","ex","status","refreshed","fetchWithParams","OrganizationModel","id","email_address","phone_number","phone_country_code","phone_number_e164","number_of_devices","number_of_sites","allowed_to_remove_files","is_removed","kgb_admin_allowed_download_of_files","is_allowed_demo_access","is_allowed_data_encryption","dart_software_version","UserModel","full_name","email_verified","is_admin","is_organization_admin","is_site_admin","organization_id","permission","organization_name","last_login","Date","loginsWithoutMfa","login_without_mfa_count","hasMfaConfigured","has_mfa_configured","allowed_to_access_management","allowed_programmatic_access","sites","DeviceModel","serial_number","nickname","has_data_download","organization","site","utcOffset","disabled","dataMonitoring","engineeringUnits","webOffload","usbOffload","offloadLocation","archiveData","ownership","downloadInfoOption","fa2100","fa5000","hw6020","hw6023","hw6025","f1000","srvivr","uacvfdr","as4700","hwsrvivr","D51615","hfr5","fortressCamera","fortressRecorder","l3uqar","arinc717Transmit","arinc717Receive","arinc429Transmit","arinc429Receive","milStd1553Transmit","milStd1553Receive","allowWifi","allowEthernet","allowBluetooth","allowCellular","allowDemo","allowDemoRemoteView","lastCheckIn","dartVersion","isAllowedDataEncryption","latestDartVersion","cacheTimeout","cableTesterString","UserClient","_get","user","username","_post","token","theCode","ephemeral_token","userId","_patch","limit","res","sort","a","b","localeCompare","orgId","siteId","allowDeleted","allow_deleted","primary","sitesResult","organizations","org","device_count","contact_user","isPrimary","organizationId","_delete","keyId","deviceId","selectedOrg","options","getMenderVersions","x","f","includes","filename","resp","signed_s3_url","location","_put","query","downloadId","fileName","oldPassword","requestOptions","usageData","usageId","header","parts","split","trim","replaceAll","blob","saveAs","testResultId","testFixtureResultId","vuexUserStorage","VuexPersist","storage","restoreState","globals","state","globalSuccessAlertText","globalErrorAlertText","mutations","setGlobalAlert","msg","clearGlobalAlerts","clearGlobalAlert","isError","actions","getters","showGlobalSuccessAlert","showGlobalErrorAlert","daysWithoutMfaSetupAllowed","authorization","showSiteLoader","mfaResponse","tokensUpdated","showTestFixture","setTokens","response","setItem","setUser","dispatch","setShowSiteLoader","show","setUserMfa","setShowTestFixture","clearUser","removeItem","loadedRemoteUser","userLoggedIn","userLoggedOut","currentUser","isKgbAdminUser","isOrgAdminAccess","isAdminUser","isAuthorized","mfaIsRequired","count","mfaWarning","daysRemaining","displayTestFixture","use","Vuex","Store","plugins","userStorage","plugin","component","fontAwesomeIcons","faBan","faPowerOff","faBars","faBatteryFull","faBatteryThreeQuarters","faBatteryHalf","faBatteryQuarter","faBatteryEmpty","faChevronRight","faChevronDown","faDownload","faTrash","faPencil","faLockOpen","faPlus","faSort","faSortDown","faSortUp","faSpinner","faTimes","faUndo","faUpload","faUserCircle","faBook","faInfoCircle","faLayerPlus","faExclamationCircle","_vm","_h","$createElement","_c","_self","staticClass","attrs","ref","successDismissCountDown","on","$event","_v","_s","errorDismissCountDown","staticRenderFns","getFullYear","_e","onClick","canSeeTestFixture","props","Function","default","computed","class","menuOpen","toggleMenu","directives","rawName","expression","onClickNav","components","NavigationMenu","HeaderButtons","watch","documentElement","style","overflow","$route","created","addEventListener","closeMenuWithEsc","destroyed","removeEventListener","methods","keyCode","OffCanvasMenu","slot","formattedTime","stayLoggedIn","userClient","expireTimeEpoch","currentTime","computeExpireTimeEpoch","mounted","currentEpochTime","setInterval","splitToken","JSON","parse","atob","exp","cancel","$refs","inactiveModal","hide","scopedSlots","_u","fn","close","goToMfa","theModal","$router","Loader","Header","Footer","MfaApproachingModal","InactiveTimeoutModal","val","ALERT_TIMEOUT","mfaModal","isActivating","Storage","getRemoteUser","_failedToAuth","VueRouter","router","routes","scrollBehavior","to","from","savedPosition","y","beforeEach","next","loadingApp","anonymousAccessPages","allowAnonymous","indexOf","replace","matched","meta","title","percent","dec","toFixed","date","toLocaleDateString","toLocaleTimeString","hour","minute","dateOnly","dateToFormattedString","dateValue","offset","getTimezoneOffset","offsetDate","getTime","toISOString","countryCallingCode","countryCode","getCountryCallingCode","datastr","bytes","parseInt","thresh","units","Math","abs","u","install","library","add","dom","BootstrapVue","filters","VueResource","Fragment","Plugin","vClickOutside","FlagIcon","config","productionTip","process","currentPortalRegion","alternatePortalRegion","alternatePortalRegionUrl","FontAwesomeIcon","FontAwesomeLayers","nearestWithTitle","reverse","find","nearestWithMeta","metaTags","Array","querySelectorAll","el","tagDef","forEach","sync","moduleName","render","h","App","$mount","path","rememberMe","rememberMeSet","localStorage","useLocal","shouldUseLocalStorage","sessionStorage","clear","staticStyle"],"mappings":"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","file":"js/app.019cada7.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\"app\": 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\"app\": 0\n \t};\n\n \tvar deferredModules = [];\n\n \t// script path function\n \tfunction jsonpScriptSrc(chunkId) {\n \t\treturn __webpack_require__.p + \"js/\" + ({\"apiDocumentation\":\"apiDocumentation\",\"account\":\"account\",\"devices~reporting~testFixture~testResults~usage~users\":\"devices~reporting~testFixture~testResults~usage~users\",\"devices\":\"devices\",\"reporting\":\"reporting\",\"testFixture\":\"testFixture\",\"testResults\":\"testResults\",\"usage\":\"usage\",\"users\":\"users\",\"forgot\":\"forgot\",\"home\":\"home\",\"management\":\"management\",\"organizations\":\"organizations\",\"programmaticAccess\":\"programmaticAccess\",\"register\":\"register\",\"sites\":\"sites\",\"updatePassword\":\"updatePassword\"}[chunkId]||chunkId) + \".\" + {\"apiDocumentation\":\"c15f2b00\",\"chunk-26970432\":\"f468a86e\",\"account\":\"652d5126\",\"chunk-32122aa6\":\"bc7f63bd\",\"chunk-51a5c0ad\":\"44e988a4\",\"devices~reporting~testFixture~testResults~usage~users\":\"e35f1792\",\"devices\":\"a7f68138\",\"reporting\":\"cbb1d222\",\"testFixture\":\"762fb36b\",\"testResults\":\"5615b072\",\"usage\":\"dae4bd60\",\"users\":\"580f1781\",\"forgot\":\"408c0ea0\",\"home\":\"3b9d3539\",\"management\":\"176d9527\",\"organizations\":\"eb7cdaec\",\"programmaticAccess\":\"f0c956c0\",\"register\":\"3bff3ae2\",\"sites\":\"cd1d3a57\",\"updatePassword\":\"aa988c0e\"}[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-26970432\":1,\"account\":1,\"chunk-32122aa6\":1,\"chunk-51a5c0ad\":1,\"devices~reporting~testFixture~testResults~usage~users\":1,\"devices\":1,\"reporting\":1,\"testFixture\":1,\"testResults\":1,\"usage\":1,\"users\":1,\"forgot\":1,\"home\":1,\"management\":1,\"organizations\":1,\"programmaticAccess\":1,\"register\":1,\"sites\":1,\"updatePassword\":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/\" + ({\"apiDocumentation\":\"apiDocumentation\",\"account\":\"account\",\"devices~reporting~testFixture~testResults~usage~users\":\"devices~reporting~testFixture~testResults~usage~users\",\"devices\":\"devices\",\"reporting\":\"reporting\",\"testFixture\":\"testFixture\",\"testResults\":\"testResults\",\"usage\":\"usage\",\"users\":\"users\",\"forgot\":\"forgot\",\"home\":\"home\",\"management\":\"management\",\"organizations\":\"organizations\",\"programmaticAccess\":\"programmaticAccess\",\"register\":\"register\",\"sites\":\"sites\",\"updatePassword\":\"updatePassword\"}[chunkId]||chunkId) + \".\" + {\"apiDocumentation\":\"31d6cfe0\",\"chunk-26970432\":\"8075c8b5\",\"account\":\"22ab0a10\",\"chunk-32122aa6\":\"fc1ec0ee\",\"chunk-51a5c0ad\":\"cfbb4e58\",\"devices~reporting~testFixture~testResults~usage~users\":\"685593d0\",\"devices\":\"a081377d\",\"reporting\":\"27884b11\",\"testFixture\":\"86f2d305\",\"testResults\":\"59193115\",\"usage\":\"7f7b1c50\",\"users\":\"40889df9\",\"forgot\":\"f1701346\",\"home\":\"810efab5\",\"management\":\"420f8a34\",\"organizations\":\"685593d0\",\"programmaticAccess\":\"54bcedbc\",\"register\":\"050e81b8\",\"sites\":\"685593d0\",\"updatePassword\":\"d9269551\"}[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","/* eslint-disable camelcase */\n/* eslint-disable no-underscore-dangle */\nimport { saveAs } from 'file-saver';\nimport BaseAPIClient from './base/BaseAPIClient';\n\nimport OrganizationModel from '../models/OrganizationModel';\nimport UserModel from '../models/UserModel';\n\nimport DeviceModel from '../models/DeviceModel';\n\nlet menderVersionsPromise;\nlet organizationsPromise;\nlet currentDartVersionPromise;\nlet allUsersPromise;\nlet organizationUsersPromise;\n\nconst cacheTimeout = 1800000;\nconst cableTesterString = 'CableTester';\nexport default class UserClient extends BaseAPIClient {\n getRemoteUser() {\n return this._get('accounts/me/').then(user => new UserModel(user));\n }\n\n getToken(username, password) {\n return this._post('auth/login/', { username, password });\n }\n\n loginWithMfa(token, theCode) {\n return this._post('auth/login/code/', { ephemeral_token: token, code: theCode });\n }\n\n getUserMfaMethods() {\n return this._get('auth/mfa/user-active-methods/');\n }\n\n mfaActivateRequest(type, body) {\n if (body) {\n return this._post(`auth/${type}/activate/`, body);\n }\n return this._post(`auth/${type}/activate/`);\n }\n\n\n mfaGetUserMfaMethodsFromToken(token) {\n return this._get(`auth/${token}/mfaMethods/`);\n }\n\n mfaRequestCodeForNewMethod(token, method) {\n return this._post(`auth/${token}/${method}/request/`);\n }\n\n mfaDeactivateRequest(type) {\n return this._post(`auth/${type}/deactivate/`);\n }\n\n mfaMakePrimaryRequest(type) {\n return this._post(`auth/mfa/${type}/update-primary/`);\n }\n\n mfaActivateConfirm(type, theCode) {\n return this._post(`auth/${type}/activate/confirm/`, { code: theCode });\n }\n\n resetMfaForUser(userId) {\n allUsersPromise = undefined;\n return this._post(`accounts/users/${userId}/mfaReset/`);\n }\n\n forgotPassword(email) {\n return this._post('auth/forgot_password/', {\n email,\n });\n }\n\n resetPassword(token, password) {\n return this._post('auth/reset_password/', {\n token,\n password,\n });\n }\n\n resetUser(id) {\n return this._post(`accounts/users/${id}/reset/`);\n }\n\n\n inviteUser(email, is_admin, full_name,\n phone_number, phone_country_code, phone_number_e164,\n is_organization_admin, organization_id, allowed_to_remove_files, allowed_to_access_management,\n allowed_programmatic_access, is_site_admin, sites) {\n allUsersPromise = undefined;\n organizationUsersPromise = undefined;\n return this._post('accounts/invite_user/', {\n email,\n is_admin,\n full_name,\n phone_number,\n phone_country_code,\n phone_number_e164,\n is_organization_admin,\n organization_id,\n allowed_to_remove_files,\n allowed_to_access_management,\n allowed_programmatic_access,\n is_site_admin,\n sites,\n });\n }\n\n verifyUser(token, password) {\n return this._post('accounts/verify_email/', {\n token,\n password,\n });\n }\n\n updateUser(id, email, is_admin, full_name, phone_number, phone_country_code, phone_number_e164,\n is_organization_admin, organization_id, allowed_to_remove_files, allowed_to_access_management,\n allowed_programmatic_access, is_site_admin, sites) {\n allUsersPromise = undefined;\n organizationUsersPromise = undefined;\n return this._patch(`accounts/users/${id}/`, {\n email,\n is_admin,\n full_name,\n phone_number,\n phone_country_code,\n phone_number_e164,\n is_organization_admin,\n organization_id,\n allowed_to_remove_files,\n allowed_to_access_management,\n allowed_programmatic_access,\n is_site_admin,\n }).then(() => this._post(`accounts/users/${id}/sites/`, { sites }));\n }\n\n getUsers() {\n if (!allUsersPromise) {\n allUsersPromise = this._get('accounts/users/', {\n limit: 9999,\n }).then(res => res.results.map(r => new UserModel(r)));\n setTimeout(() => {\n allUsersPromise = null;\n }, cacheTimeout);\n }\n return allUsersPromise;\n }\n\n getOrganizations() {\n if (!organizationsPromise) {\n organizationsPromise = this._get('organizations/', {\n limit: 9999,\n }).then(res => res.results\n .map(r => new OrganizationModel(r))\n .sort((a, b) => a.name.localeCompare(b.name)));\n setTimeout(() => {\n organizationsPromise = null;\n }, cacheTimeout);\n }\n return organizationsPromise;\n }\n\n getSitesForOrganization(id) {\n return this._get(`organizations/${id}/sites`, {\n limit: 9999,\n }).then(res => res.results.sort((a, b) => a.name.localeCompare(b.name)));\n }\n\n createSite(orgId, data) {\n return this._post(`organizations/${orgId}/sites`, data);\n }\n\n updateSitesForOrganization(orgId, siteId, data) {\n return this._patch(`organizations/${orgId}/sites/${siteId}`, data);\n }\n\n getAllSites(allowDeleted = false) {\n return this._get('organizations/sites', {\n limit: 9999,\n allow_deleted: allowDeleted ? true : undefined,\n }).then(res => res.results);\n }\n\n getSitesViewData() {\n return Promise.all([\n this._get('organizations/sites', {\n limit: 9999,\n }).then(res => res.results),\n this._get('organizations/', {\n limit: 9999,\n primary: true,\n }).then(res => res.results),\n ])\n .then(([sitesResult, organizations]) => [\n ...organizations\n .filter(org => !org.is_removed)\n .map(org => ({\n id: `org${org.id}`,\n name: 'Primary',\n organization: {\n id: org.id,\n name: org.name,\n },\n device_count: org.number_of_devices,\n contact_user: {\n email: org.email_address,\n phone_country_code: org.phone_country_code,\n phone_number: org.phone_number,\n phone_number_e164: org.phone_number_e164,\n },\n isPrimary: true,\n })), ...sitesResult]\n .sort((a, b) => a.organization.name.localeCompare(b.organization.name)));\n }\n\n removeSite(organizationId, id) {\n return this._delete(`organizations/${organizationId}/sites/${id}`);\n }\n\n getOrganizationUsers(organizationId) {\n if (!organizationUsersPromise) {\n organizationUsersPromise = this._get(`organizations/${organizationId}/users`, {\n limit: 9999,\n }).then(res => res.results);\n setTimeout(() => {\n organizationUsersPromise = null;\n }, cacheTimeout);\n }\n return organizationUsersPromise;\n }\n\n createOrganization(name, email_address, phone_number,\n phone_country_code, phone_number_e164, allowed_to_remove_files,\n kgb_admin_allowed_download_of_files, is_allowed_demo_access,\n is_allowed_data_encryption, dart_software_version) {\n organizationsPromise = undefined;\n return this._post('organizations/', {\n name,\n email_address,\n phone_number,\n phone_country_code,\n phone_number_e164,\n allowed_to_remove_files,\n kgb_admin_allowed_download_of_files,\n is_allowed_demo_access,\n is_allowed_data_encryption,\n dart_software_version,\n });\n }\n\n updateOrganization(id, name, email_address, phone_number,\n phone_country_code, phone_number_e164, allowed_to_remove_files,\n kgb_admin_allowed_download_of_files, is_allowed_demo_access,\n is_allowed_data_encryption, dart_software_version) {\n organizationsPromise = undefined;\n return this._patch(`organizations/${id}/`, {\n name,\n email_address,\n phone_number,\n phone_country_code,\n phone_number_e164,\n allowed_to_remove_files,\n kgb_admin_allowed_download_of_files,\n is_allowed_demo_access,\n is_allowed_data_encryption,\n dart_software_version,\n });\n }\n\n getOrganizationKeys(organizationId) {\n return this._get(`organizations/${organizationId}/keys/`, {\n limit: 9999,\n }).then(res => res.results);\n }\n\n addOrganizationEncryption(organizationId, data) {\n return this._post(`organizations/${organizationId}/keys/`, data);\n }\n\n removeOrganizationEncryption(organizationId, keyId) {\n return this._delete(`organizations/${organizationId}/keys/${keyId}/`);\n }\n\n getDeviceEncryptionKeys(organizationId, deviceId) {\n return this._get(`devices/${organizationId}/${deviceId}/keys/`, {\n limit: 9999,\n }).then(res => res.results);\n }\n\n getDevices(selectedOrg) {\n const options = {\n limit: 9999,\n };\n\n if (selectedOrg) {\n options.organization_id = selectedOrg;\n }\n\n return this._get('devices/', options)\n .then(res => res.results\n .sort((a, b) => a.serial_number.localeCompare(b.serial_number))\n .map(r => new DeviceModel(r)));\n }\n\n getDeviceDownloads(id) {\n return this._get(`devices/${id}/telemetry/`, {\n limit: 9999,\n });\n }\n\n getDeviceCheckins(id) {\n return this._get(`devices/${id}/checkins/`);\n }\n\n getDeviceHistory(id) {\n return this._get(`devices/${id}/history/`, {\n limit: 9999,\n }).then(res => res.results);\n }\n\n getMenderVersions() {\n if (!menderVersionsPromise) {\n menderVersionsPromise = this._get('management/menderVersions/');\n setTimeout(() => {\n menderVersionsPromise = null;\n }, cacheTimeout);\n }\n return menderVersionsPromise;\n }\n\n getDartVersionOptions() {\n return this.getMenderVersions()\n .then(x => x.filter(f => !f.name.includes('-ENG') && !f.name.includes(cableTesterString)));\n }\n\n\n geCableTesterOptions() {\n return this.getMenderVersions()\n .then(x => x.filter(f => f.name.includes(cableTesterString)));\n }\n\n getCurrentMenderVersion() {\n if (!currentDartVersionPromise) {\n currentDartVersionPromise = this._get('management/dartVersion/');\n setTimeout(() => {\n currentDartVersionPromise = null;\n }, cacheTimeout);\n }\n return currentDartVersionPromise;\n }\n\n updateMenderVersion(name) {\n currentDartVersionPromise = undefined;\n organizationsPromise = undefined;\n return this._post('management/dartVersion/', { name });\n }\n\n getCurrentMenderTestFixtureVersion() {\n return this._get('management/testFixtureSoftware/');\n }\n\n updateMenderTestFixtureVersion(name) {\n return this._post('management/testFixtureSoftware/', { name });\n }\n\n updateToLatestVersion(deviceId) {\n return this._post(`devices/${deviceId}/update/`, {});\n }\n\n downloadFile(deviceId, filename) {\n return this._get(`devices/${deviceId}/telemetry/download`, {\n filename,\n }).then((resp) => {\n if (resp.signed_s3_url) {\n window.location = resp.signed_s3_url;\n }\n });\n }\n\n getReporting() {\n return this._get('reporting/', {\n limit: 9999,\n }).then(res => res.results);\n }\n\n updateReport(id, data) {\n if (id >= 0) {\n return this._put(`reporting/${id}/`, data);\n }\n return this._post('reporting/', data);\n }\n\n removeReport(id) {\n return this._delete(`reporting/${id}`);\n }\n\n createDevice(data) {\n return this._post('devices/', data);\n }\n\n updateDevice(id, data) {\n organizationsPromise = undefined;\n return this._patch(`devices/${id}/`, data);\n }\n\n disableDevice(deviceId) {\n organizationsPromise = undefined;\n return this._patch(`devices/${deviceId}/`, {\n disabled: true,\n });\n }\n\n enableDevice(deviceId) {\n return this._patch(`devices/${deviceId}/`, {\n disabled: false,\n });\n }\n\n getDeviceData(deviceId) {\n return this._get(`devices/${deviceId}/data/`);\n }\n\n findOrgs(query) {\n return this._get(`organizations/search/?search=${query}`);\n }\n\n getDownloadHistory(deviceId, downloadId) {\n return this._get(`devices/${deviceId}/telemetry/${downloadId}/downloads`, { limit: 9999 }).then(x => x.results);\n }\n\n deleteDevice(deviceId) {\n return this._delete(`devices/${deviceId}/`);\n }\n\n deleteOrg(id) {\n organizationsPromise = undefined;\n return this._delete(`organizations/${id}/`);\n }\n\n enableOrg(id) {\n return this._put(`organizations/${id}/enable`);\n }\n\n deleteUser(id) {\n allUsersPromise = undefined;\n organizationUsersPromise = undefined;\n return this._delete(`accounts/users/${id}/`);\n }\n\n deleteFile(deviceId, fileName) {\n return this._delete(`devices/${deviceId}/telemetry?filename=${fileName}`);\n }\n\n changePassword(oldPassword, password) {\n return this._post('accounts/password/', {\n oldPassword,\n password,\n });\n }\n\n updateProfile(full_name, phone_number, phone_country_code, phone_number_e164) {\n return this._patch('accounts/me/', {\n full_name,\n phone_number,\n phone_country_code,\n phone_number_e164,\n });\n }\n\n createUserPublicUserKey(data) {\n return this._post('accounts/accessKeys/', data);\n }\n\n getUserPublicKeys() {\n return this._get('accounts/accessKeys/', { limit: 9999 }).then(x => x.results);\n }\n\n getUserPublicKeysForUser(userId) {\n return this._get(`accounts/users/${userId}/accessKeys/`, { limit: 9999 }).then(x => x.results);\n }\n\n removeUserKey(keyId) {\n return this._delete(`accounts/accessKeys/${keyId}/`);\n }\n\n removeUserKeyForUser(userId, keyId) {\n return this._delete(`accounts/users/${userId}/accessKeys/${keyId}/`);\n }\n\n regenerateUserKey(keyId) {\n return this._post(`accounts/accessKeys/${keyId}/regenerate/`);\n }\n\n /**\n * Get device types\n * @returns List of device usage information\n */\n getDeviceTypes() {\n return this._get('devices/types/');\n }\n\n updateAllDeviceSoftwareVersions() {\n return this._post('devices/populateAllVersions');\n }\n\n /**\n * Get device usage for items\n * @param {*} options Options for the usage data\n * @returns List of device usage information\n */\n getDeviceUsage(options) {\n const requestOptions = {\n ...options,\n limit: 999999,\n };\n\n return this._get('devices/usages/', requestOptions);\n }\n\n updateUsageData(usageData) {\n return this._patch(`devices/usages/${usageData.id}/`, usageData);\n }\n\n getDeviceUsageChangeLog(usageId) {\n return this._get(`devices/usages/${usageId}/changes`);\n }\n\n getExportedData(options) {\n let filename = 'download-file';\n return this.fetchWithParams('get', 'devices/usages/export', options)\n .then((res) => {\n const header = res.headers.get('Content-Disposition');\n const parts = header.split(';');\n if (parts) {\n filename = parts[1].split('=')[1].trim().replaceAll('\"', '');\n }\n\n return res.blob();\n })\n .then((blob) => {\n saveAs(blob, filename);\n });\n }\n\n getTestResults(options) {\n const requestOptions = {\n ...options,\n limit: 999999,\n };\n\n return this._get('testResults/', requestOptions);\n }\n\n\n getTestResultExportedData(options) {\n let filename = 'test-results-export';\n return this.fetchWithParams('get', 'testResults/export', options)\n .then((res) => {\n const header = res.headers.get('Content-Disposition');\n const parts = header.split(';');\n if (parts) {\n filename = parts[1].split('=')[1].trim().replaceAll('\"', '');\n }\n\n return res.blob();\n })\n .then((blob) => {\n saveAs(blob, filename);\n });\n }\n\n downloadTestResultFile(testResultId) {\n return this._get(`testResults/${testResultId}/download`).then((resp) => {\n if (resp.length > 0) {\n window.location = resp;\n }\n });\n }\n\n getSwaggerDoc() {\n return this._get('swagger.json/');\n }\n\n getTestFixtures(selectedOrg) {\n const options = {\n limit: 9999,\n };\n\n if (selectedOrg) {\n options.organizationId = selectedOrg;\n }\n\n return this._get('testFixtures/', options).then(res => res.results);\n }\n\n shouldShowTestFixture() {\n return this._get('testFixtures/show');\n }\n\n createTestFixture(data) {\n return this._post('testFixtures/', data);\n }\n\n updateTestFixture(id, data) {\n return this._patch(`testFixtures/${id}/`, data);\n }\n\n enableTestFixture(id) {\n return this._patch(`testFixtures/${id}/`, { disabled: false });\n }\n\n getTestFixtureCheckins(id) {\n return this._get(`testFixtures/${id}/checkins/`);\n }\n\n updateTestFixtureToLatestSoftwareVersion(id) {\n return this._post(`testFixtures/${id}/update/`, {});\n }\n\n\n getTestFixtureResults(options) {\n const requestOptions = {\n ...options,\n limit: 999999,\n };\n\n return this._get('testFixtures/results', requestOptions);\n }\n\n getTestFixtureResultExportedData(options) {\n let filename = 'cable-test-results-export';\n return this.fetchWithParams('get', 'testFixtures/results/export', options)\n .then((res) => {\n const header = res.headers.get('Content-Disposition');\n const parts = header.split(';');\n if (parts) {\n filename = parts[1].split('=')[1].trim().replaceAll('\"', '');\n }\n\n return res.blob();\n })\n .then((blob) => {\n saveAs(blob, filename);\n });\n }\n\n downloadTestFixtureResultFile(testFixtureResultId) {\n return this._get(`testFixtures/results/${testFixtureResultId}/download`).then((resp) => {\n if (resp.length > 0) {\n window.location = resp;\n }\n });\n }\n\n updateAllTestFixtureSoftwareVersions() {\n return this._post('testFixtures/populateAllVersions');\n }\n}\n","/* eslint-disable class-methods-use-this */\n/* eslint-disable no-underscore-dangle */\nimport Vue from 'vue';\nimport StorageService from '@/api/Storage';\nimport store from '../../store/index';\n\nexport default class BaseAPIClient {\n constructor($http) {\n this.baseUrl = Vue.prototype.$globalEnv.baseUrl;\n this.http = $http;\n this.$store = store;\n }\n\n async _refreshToken(whenDone) {\n const refreshToken = StorageService.getItem('refreshToken') || '';\n\n if (!refreshToken) {\n return whenDone(false);\n }\n\n return this.request('post', 'auth/token/refresh/', {\n refresh: refreshToken,\n }, true).then((results) => {\n if (results && results.access) {\n this.$store.commit('setTokens', results);\n return whenDone(true);\n }\n return whenDone(false);\n }).catch(() => whenDone(false));\n }\n\n async refreshToken() {\n return this._refreshToken(() => {});\n }\n\n async _get(url, params) {\n return this.requestWithParams('get', url, params);\n }\n\n async _getUrl(url) {\n const accessToken = StorageService.getItem('accessToken') || '';\n\n const headers = {\n 'Content-Type': 'application/json',\n };\n\n if (accessToken) {\n headers.Authorization = `Bearer ${accessToken}`;\n }\n\n return this.http.get(url, {\n headers,\n }).then(this._handleResponse);\n }\n\n async _delete(url, params) {\n return this.requestWithParams('delete', url, params);\n }\n\n async _post(url, data) {\n return this.request('post', url, data);\n }\n\n async _postMedia(url, formData) {\n return this.request('post', url, formData);\n }\n\n async _basicAuthPost(url, email, password, params) {\n const headers = {\n 'Content-Type': 'application/json',\n Authorization: `Basic ${window.btoa(`${email}:${password}`)}`,\n };\n\n return this.http.post(`${this.baseUrl}/${url}`, params || {}, {\n headers,\n }).then(this._handleResponse);\n }\n\n async _put(url, data) {\n return this.request('put', url, data);\n }\n\n async _patch(url, data) {\n return this.request('patch', url, data);\n }\n\n\n _handleResponse(results) {\n if (results && results.ok) {\n return results.body;\n }\n return {};\n }\n\n // create generic request\n async fetchWithParams(action, url, params, fromRefreshWorkflow) {\n const accessToken = StorageService.getItem('accessToken') || '';\n\n const headers = {\n 'Content-Type': 'application/json',\n };\n\n if (accessToken) {\n headers.Authorization = `Bearer ${accessToken}`;\n }\n const queryParams = params\n ? Object.keys(params)\n .filter(key => params[key])\n .map(key => `${key}=${params[key]}`)\n .join('&') : '';\n return fetch(`${this.baseUrl}/${url}?${queryParams}`, {\n headers,\n params: params || {},\n method: action,\n }).catch((ex) => {\n if (!fromRefreshWorkflow && ex && ex.status === 401) {\n // refresh token, try again\n return this._refreshToken((refreshed) => {\n if (refreshed) {\n // try again\n return this.fetchWithParams(action, url, params, true);\n }\n // error out\n throw ex;\n });\n }\n throw ex;\n });\n }\n\n // create generic request\n async requestWithParams(action, url, params, fromRefreshWorkflow) {\n const accessToken = StorageService.getItem('accessToken') || '';\n\n const headers = {\n 'Content-Type': 'application/json',\n };\n\n if (accessToken) {\n headers.Authorization = `Bearer ${accessToken}`;\n }\n\n return this.http[action](`${this.baseUrl}/${url}`, {\n headers,\n params: params || {},\n }).then(this._handleResponse).catch((ex) => {\n if (!fromRefreshWorkflow && ex && ex.status === 401) {\n // refresh token, try again\n return this._refreshToken((refreshed) => {\n if (refreshed) {\n // try again\n return this.requestWithParams(action, url, params, true);\n }\n // error out\n throw ex;\n });\n }\n throw ex;\n });\n }\n\n async request(action, url, data, fromRefreshWorkflow) {\n const accessToken = StorageService.getItem('accessToken') || '';\n\n const headers = {\n 'Content-Type': 'application/json',\n };\n\n if (accessToken) {\n headers.Authorization = `Bearer ${accessToken}`;\n }\n\n return this.http[action](`${this.baseUrl}/${url}`, data, {\n headers,\n }).then(this._handleResponse).catch((ex) => {\n if (!fromRefreshWorkflow && ex && ex.status === 401) {\n // refresh token, try again\n return this._refreshToken((refreshed) => {\n if (refreshed) {\n // try again\n return this.request(action, url, data, true);\n }\n // error out\n throw ex;\n });\n }\n throw ex;\n });\n }\n}\n","\nexport default class OrganizationModel {\n constructor(data) {\n if (!data) {\n // eslint-disable-next-line no-param-reassign\n data = {};\n }\n\n this.id = data.id || 0;\n this.email_address = data.email_address || '';\n this.name = data.name || '';\n this.phone_number = data.phone_number || '';\n this.phone_country_code = data.phone_country_code || '';\n this.phone_number_e164 = data.phone_number_e164 || '';\n this.number_of_devices = data.number_of_devices || 0;\n this.number_of_sites = data.number_of_sites || 0;\n this.allowed_to_remove_files = data.allowed_to_remove_files || false;\n this.is_removed = data.is_removed || false;\n this.kgb_admin_allowed_download_of_files = data.kgb_admin_allowed_download_of_files !== false;\n this.is_allowed_demo_access = data.is_allowed_demo_access !== false;\n this.is_allowed_data_encryption = data.is_allowed_data_encryption !== false;\n this.dart_software_version = data.dart_software_version || '';\n }\n}\n","\n\nexport default class UserModel {\n constructor(data) {\n if (!data) {\n // eslint-disable-next-line no-param-reassign\n data = {};\n }\n\n this.id = data.id || 0;\n this.full_name = data.full_name || '';\n this.email = data.email || '';\n this.phone_number = data.phone_number || '';\n this.phone_country_code = data.phone_country_code || '';\n this.phone_number_e164 = data.phone_number_e164 || '';\n\n this.email_verified = data.email_verified || false;\n this.is_admin = data.is_admin || false;\n this.is_organization_admin = data.is_organization_admin || false;\n this.is_site_admin = data.is_site_admin || false;\n this.organization_id = data.organization_id || null;\n // eslint-disable-next-line no-nested-ternary\n this.permission = data.is_admin ? 'Admin' : data.is_organization_admin ? 'Organization Admin' : data.is_site_admin ? 'Site Admin' : 'Read-Only';\n this.organization_name = data.organization_name || '';\n this.allowed_to_remove_files = data.allowed_to_remove_files || false;\n this.last_login = data.last_login ? new Date(data.last_login) : null;\n this.loginsWithoutMfa = data.login_without_mfa_count || 0;\n this.hasMfaConfigured = data.has_mfa_configured || false;\n this.allowed_to_access_management = data.allowed_to_access_management || false;\n this.allowed_programmatic_access = data.allowed_programmatic_access || false;\n this.sites = data.sites || [];\n }\n}\n","/* eslint-disable camelcase */\n\nimport OrganizationModel from './OrganizationModel';\n\nexport default class DeviceModel {\n constructor(data) {\n if (!data) {\n // eslint-disable-next-line no-param-reassign\n data = {};\n }\n\n this.id = data.id || 0;\n this.serial_number = data.serial_number || '';\n this.nickname = data.nickname || '';\n\n this.has_data_download = data.has_data_download || false;\n this.organization = new OrganizationModel(data.organization);\n this.site = data.site;\n this.utcOffset = data.utcOffset || -5;\n\n this.disabled = data.disabled || false;\n this.dataMonitoring = data.dataMonitoring || false;\n this.engineeringUnits = data.engineeringUnits || false;\n this.webOffload = data.webOffload || 'none';\n this.usbOffload = data.usbOffload || 'none';\n this.offloadLocation = data.offloadLocation || 'web';\n this.archiveData = data.archiveData || true;\n this.ownership = data.ownership || 'owned';\n this.downloadInfoOption = data.downloadInfoOption || 'KGB';\n this.fa2100 = data.fa2100 || false;\n this.fa5000 = data.fa5000 || false;\n this.hw6020 = data.hw6020 || false;\n this.hw6023 = data.hw6023 || false;\n this.hw6025 = data.hw6025 || false;\n this.f1000 = data.f1000 || false;\n this.srvivr = data.srvivr || false;\n this.uacvfdr = data.uacvfdr || false;\n this.as4700 = data.as4700 || false;\n this.hwsrvivr = data.hwsrvivr || false;\n this.D51615 = data.D51615 || false;\n this.hfr5 = data.hfr5 || false;\n this.fortressCamera = data.fortressCamera || false;\n this.fortressRecorder = data.fortressRecorder || false;\n this.l3uqar = data.l3uqar || false;\n this.arinc717Transmit = data.arinc717Transmit || false;\n this.arinc717Receive = data.arinc717Receive || false;\n this.arinc429Transmit = data.arinc429Transmit || false;\n this.arinc429Receive = data.arinc429Receive || false;\n this.milStd1553Transmit = data.milStd1553Transmit || false;\n this.milStd1553Receive = data.milStd1553Receive || false;\n this.allowWifi = data.allowWifi || false;\n this.allowEthernet = data.allowEthernet || false;\n this.allowBluetooth = data.allowBluetooth || false;\n this.allowCellular = data.allowCellular || false;\n this.allowDemo = data.allowDemo || false;\n this.allowDemoRemoteView = data.allowDemoRemoteView || false;\n this.lastCheckIn = data.lastCheckIn ? new Date(data.lastCheckIn) : null;\n this.dartVersion = data.dartVersion || 'N/A';\n this.isAllowedDataEncryption = data.isAllowedDataEncryption || false;\n this.latestDartVersion = data.latestDartVersion;\n }\n\n get status() {\n return this.disabled ? 'Disabled' : 'Enabled';\n }\n\n get organization_name() {\n return this.organization ? this.organization.name : 'N/A';\n }\n\n get site_name() {\n return this.site ? this.site.name : 'Primary';\n }\n\n get site_id() {\n return this.site ? this.site.id : '';\n }\n\n get organization_id() {\n return this.organization ? this.organization.id : 0;\n }\n}\n","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OffCanvasMenu.vue?vue&type=style&index=0&lang=scss&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OffCanvasMenu.vue?vue&type=style&index=0&lang=scss&\"","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Loader.vue?vue&type=style&index=0&id=1883ca4d&lang=scss&scoped=true&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Loader.vue?vue&type=style&index=0&id=1883ca4d&lang=scss&scoped=true&\"","import VuexPersist from 'vuex-persist';\nimport StorageService from '@/api/Storage';\n\n\nconst vuexUserStorage = new VuexPersist({\n key: 'user-storage',\n storage: StorageService,\n\n modules: [\n 'authorization',\n ],\n restoreState: (key, storage) => storage[key],\n});\n\nexport default vuexUserStorage;\n","\nconst globals = {\n state: {\n // global alerts in app.vue\n globalSuccessAlertText: '',\n globalErrorAlertText: '',\n },\n mutations: {\n setGlobalAlert(state, options) {\n if (options.error) {\n state.globalErrorAlertText = options.msg;\n } else {\n state.globalSuccessAlertText = options.msg;\n }\n },\n clearGlobalAlerts(state) {\n state.globalErrorAlertText = '';\n state.globalSuccessAlertText = '';\n },\n clearGlobalAlert(state, isError) {\n if (isError) {\n state.globalErrorAlertText = '';\n } else {\n state.globalSuccessAlertText = '';\n }\n },\n },\n actions: {\n\n },\n getters: {\n showGlobalSuccessAlert(state) {\n return state.globalSuccessAlertText.length > 0;\n },\n showGlobalErrorAlert(state) {\n return state.globalErrorAlertText.length > 0;\n },\n globalSuccessAlertText(state) {\n return state.globalSuccessAlertText;\n },\n globalErrorAlertText(state) {\n return state.globalErrorAlertText;\n },\n },\n};\n\nexport default globals;\n","import StorageService from '@/api/Storage';\n\nconst daysWithoutMfaSetupAllowed = 5;\n\nconst authorization = {\n state: {\n user: null,\n showSiteLoader: true,\n mfaResponse: {},\n tokensUpdated: null,\n showTestFixture: null,\n },\n mutations: {\n setTokens(state, response) {\n state.tokensUpdated = new Date();\n if (response && response.access) {\n StorageService.setItem('accessToken', response.access);\n }\n\n if (response && response.refresh) {\n StorageService.setItem('refreshToken', response.refresh);\n }\n },\n setUser(state, user) {\n state.user = user || null;\n\n if (state.user) {\n this.dispatch('userLoggedIn');\n } else {\n this.dispatch('userLoggedOut');\n }\n },\n setShowSiteLoader(state, show) {\n state.showSiteLoader = show;\n },\n setUserMfa(state, mfaResponse) {\n state.mfaResponse = mfaResponse;\n },\n setShowTestFixture(state, showTestFixture) {\n state.showTestFixture = showTestFixture;\n },\n },\n actions: {\n clearUser(store) {\n store.commit('setTokens', null);\n store.commit('setUser', null);\n store.commit('setUserMfa', null);\n store.commit('setShowTestFixture', null);\n StorageService.removeItem('accessToken');\n StorageService.removeItem('refreshToken');\n },\n loadedRemoteUser(store) {\n store.commit('setShowSiteLoader', false);\n },\n userLoggedIn() {\n },\n userLoggedOut() {\n },\n },\n getters: {\n currentUser(state) {\n return state.user || {};\n },\n isKgbAdminUser(state) {\n return state.user\n && (state.user.is_admin);\n },\n isOrgAdminAccess(state) {\n return state.user\n && (state.user.is_admin || state.user.is_organization_admin);\n },\n isAdminUser(state) {\n return state.user\n && (state.user.is_admin || state.user.is_organization_admin || state.user.is_site_admin);\n },\n isAuthorized(state) {\n return !!state.user;\n },\n showSiteLoader(state) {\n return state.showSiteLoader;\n },\n mfaResponse(state) {\n return state.mfaResponse || {};\n },\n mfaIsRequired(state) {\n return state\n && state.user\n && state.mfaResponse\n && state.mfaResponse.count === 0\n && state.user.loginsWithoutMfa > daysWithoutMfaSetupAllowed;\n },\n mfaWarning(state) {\n return {\n show: state\n && state.user\n && state.mfaResponse\n && state.mfaResponse.count === 0\n && state.user.loginsWithoutMfa <= daysWithoutMfaSetupAllowed,\n daysRemaining: (state.user)\n ? daysWithoutMfaSetupAllowed - state.user.loginsWithoutMfa + 1\n : 0,\n };\n },\n showTestFixture(state) {\n return state && state.showTestFixture && state.showTestFixture.displayTestFixture;\n },\n tokensUpdated(state) {\n return state.tokensUpdated;\n },\n },\n};\n\nexport default authorization;\n","import Vue from 'vue';\nimport Vuex from 'vuex';\n\nimport userStorage from './plugins/userStorage';\n\nimport globals from './modules/globals';\nimport authorization from './modules/authorization';\n\nVue.use(Vuex);\n\nconst store = new Vuex.Store({\n plugins: [userStorage.plugin],\n modules: {\n globals,\n authorization,\n },\n});\n\nexport default store;\n","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NavigationMenu.vue?vue&type=style&index=0&id=ba27b632&lang=scss&scoped=true&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NavigationMenu.vue?vue&type=style&index=0&id=ba27b632&lang=scss&scoped=true&\"","import { render, staticRenderFns } from \"./Loader.vue?vue&type=template&id=1883ca4d&scoped=true&\"\nimport script from \"./Loader.vue?vue&type=script&lang=js&\"\nexport * from \"./Loader.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Loader.vue?vue&type=style&index=0&id=1883ca4d&lang=scss&scoped=true&\"\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 \"1883ca4d\",\n null\n \n)\n\nexport default component.exports","import {\n faSpinner,\n faBook,\n faUserCircle,\n faInfoCircle,\n faExclamationCircle,\n} from '@fortawesome/free-solid-svg-icons';\n\nimport {\n faBan,\n faChevronRight,\n faChevronDown,\n faDownload,\n faPowerOff,\n faSort,\n faSortDown,\n faSortUp,\n faPencil,\n faTrash,\n faPlus,\n faUndo,\n faUpload,\n faLockOpen,\n} from '@fortawesome/pro-solid-svg-icons';\n\nimport {\n faBars,\n faBatteryFull,\n faBatteryThreeQuarters,\n faBatteryHalf,\n faBatteryQuarter,\n faBatteryEmpty,\n faTimes,\n faLayerPlus,\n} from '@fortawesome/pro-light-svg-icons';\n\nconst fontAwesomeIcons = [\n faBan,\n faPowerOff,\n faBars,\n faBatteryFull,\n faBatteryThreeQuarters,\n faBatteryHalf,\n faBatteryQuarter,\n faBatteryEmpty,\n faChevronRight,\n faChevronDown,\n faDownload,\n faTrash,\n faPencil,\n faLockOpen,\n faPlus,\n faSort,\n faSortDown,\n faSortUp,\n faSpinner,\n faTimes,\n faUndo,\n faUpload,\n faUserCircle,\n faBook,\n faInfoCircle,\n faLayerPlus,\n faExclamationCircle,\n];\nexport default fontAwesomeIcons;\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.$store.getters.showSiteLoader)?_c('div',{staticClass:\"full-page-loader\",attrs:{\"id\":\"app\"}},[_c('Loader')],1):_c('div',{attrs:{\"id\":\"app\"}},[_c('Header'),_c('b-alert',{ref:\"successAlert\",attrs:{\"show\":_vm.successDismissCountDown,\"variant\":\"success\",\"dismissible\":\"\",\"fade\":\"\"},on:{\"dismissed\":function($event){_vm.successDismissCountDown=0}}},[_vm._v(\"\\n \"+_vm._s(_vm.$store.getters.globalSuccessAlertText)+\"\\n \")]),_c('b-alert',{ref:\"errorAlert\",attrs:{\"show\":_vm.errorDismissCountDown,\"variant\":\"danger\",\"dismissible\":\"\",\"fade\":\"\"},on:{\"dismissed\":function($event){_vm.errorDismissCountDown=0}}},[_vm._v(\"\\n \"+_vm._s(_vm.$store.getters.globalErrorAlertText)+\"\\n \")]),_c('mfa-approaching-modal',{ref:\"mfaModal\"}),_c('inactive-timeout-modal'),_c('main',[_c('router-view')],1),_c('Footer')],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('footer',{staticClass:\"footer\"},[_c('div',{staticClass:\"container\"},[_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-12 text-center\"},[_vm._v(\"\\n ©\"+_vm._s(new Date().getFullYear())+\" KGB Aviation, All Rights Reserved.\\n \")])])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Footer.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Footer.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Footer.vue?vue&type=template&id=a3977e08&scoped=true&\"\nimport script from \"./Footer.vue?vue&type=script&lang=js&\"\nexport * from \"./Footer.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Footer.vue?vue&type=style&index=0&id=a3977e08&scoped=true&lang=scss&\"\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 \"a3977e08\",\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('header',{staticClass:\"header\"},[_c('div',{staticClass:\"container-fluid\"},[_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-10\"},[_c('div',{staticClass:\"header__logo\"},[_c('router-link',{attrs:{\"to\":\"/\"}},[_c('img',{attrs:{\"src\":require(\"@/assets/logo.png\"),\"alt\":\"KGB Aviation\"}})])],1),_c('nav',{staticClass:\"header__nav d-none d-lg-inline-flex\"},[(_vm.$store.getters.isAuthorized)?_c('navigation-menu'):_vm._e()],1)]),_c('div',{staticClass:\"col-2 d-none d-lg-block text-right\"},[_c('header-buttons')],1),_c('div',{staticClass:\"col-4 col-sm-5 d-lg-none text-right\"},[_c('off-canvas-menu')],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('ul',[_c('li',{on:{\"click\":function($event){return _vm.onClick()}}},[_c('router-link',{attrs:{\"to\":\"/devices\"}},[_vm._v(\"\\n Devices\\n \")])],1),(_vm.$store.getters.isOrgAdminAccess)?_c('li',{staticClass:\"drop-down-nav\",on:{\"click\":function($event){return _vm.onClick()}}},[_c('div',{staticClass:\"d-none d-lg-inline-block\"},[_c('router-link',{attrs:{\"to\":\"/organizations\"}},[_vm._v(\"\\n Organization\"+_vm._s(_vm.$store.getters.isKgbAdminUser ? 's' : '')+\"\\n \"),_c('span',[_c('font-awesome-icon',{staticClass:\"icon alt\",attrs:{\"icon\":['fas', 'chevron-down']}})],1)])],1),_c('ul',{staticClass:\"sub-menu\"},[_c('li',{on:{\"click\":function($event){return _vm.onClick()}}},[_c('router-link',{attrs:{\"to\":\"/sites\"}},[_vm._v(\"\\n Sites\\n \")])],1)])]):_vm._e(),(_vm.$store.getters.isAdminUser)?_c('li',{on:{\"click\":function($event){return _vm.onClick()}}},[_c('router-link',{attrs:{\"to\":\"/users\"}},[_vm._v(\"\\n Users\\n \")])],1):_vm._e(),(_vm.$store.getters.isAdminUser)?_c('li',{on:{\"click\":function($event){return _vm.onClick()}}},[_c('router-link',{attrs:{\"to\":\"/reporting\"}},[_vm._v(\"\\n Reporting\\n \")])],1):_vm._e(),(_vm.$store.getters.isAdminUser)?_c('li',{on:{\"click\":function($event){return _vm.onClick()}}},[_c('router-link',{attrs:{\"to\":\"/usage\"}},[_vm._v(\"\\n Usage\\n \")])],1):_vm._e(),(_vm.$store.getters.isAdminUser\n || _vm.canSeeTestFixture)?_c('li',{staticClass:\"drop-down-nav\"},[_c('div',{staticClass:\"d-none d-lg-inline-block\"},[_vm._v(\"\\n Maintenance\\n \"),_c('span',[_c('font-awesome-icon',{staticClass:\"icon alt\",attrs:{\"icon\":['fas', 'chevron-down']}})],1)]),_c('ul',{staticClass:\"sub-menu\"},[(_vm.$store.getters.isAdminUser)?_c('li',{on:{\"click\":function($event){return _vm.onClick()}}},[_c('router-link',{attrs:{\"to\":\"/testResults\"}},[_vm._v(\"\\n DART Test Results\\n \")])],1):_vm._e(),(_vm.canSeeTestFixture)?_c('li',{on:{\"click\":function($event){return _vm.onClick()}}},[_c('router-link',{attrs:{\"to\":\"/testFixtures\"}},[_vm._v(\"\\n Test Fixtures\\n \")])],1):_vm._e(),(_vm.canSeeTestFixture)?_c('li',{on:{\"click\":function($event){return _vm.onClick()}}},[_c('router-link',{attrs:{\"to\":\"/testFixtureResults\"}},[_vm._v(\"\\n Cable Test Results\\n \")])],1):_vm._e()])]):_vm._e(),(_vm.$store.getters.isKgbAdminUser\n && _vm.$store.getters.currentUser.allowed_to_access_management)?_c('li',{on:{\"click\":function($event){return _vm.onClick()}}},[_c('router-link',{attrs:{\"to\":\"/management\"}},[_vm._v(\"\\n Management\\n \")])],1):_vm._e(),(_vm.$store.getters.isAuthorized)?_c('li',{staticClass:\"d-lg-none\",on:{\"click\":function($event){return _vm.onClick()}}},[_c('router-link',{attrs:{\"to\":\"/account\"}},[_vm._v(\"\\n My Account\\n \")])],1):_vm._e(),(_vm.$store.getters.isAuthorized)?_c('li',{staticClass:\"d-lg-none\",on:{\"click\":function($event){return _vm.onClick()}}},[_c('router-link',{attrs:{\"to\":\"/updatePassword\"}},[_vm._v(\"\\n Update Password\\n \")])],1):_vm._e()])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NavigationMenu.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NavigationMenu.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./NavigationMenu.vue?vue&type=template&id=ba27b632&scoped=true&\"\nimport script from \"./NavigationMenu.vue?vue&type=script&lang=js&\"\nexport * from \"./NavigationMenu.vue?vue&type=script&lang=js&\"\nimport style0 from \"./NavigationMenu.vue?vue&type=style&index=0&id=ba27b632&lang=scss&scoped=true&\"\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 \"ba27b632\",\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 (_vm.$store.getters.isAuthorized)?_c('ul',{staticClass:\"header-buttons\"},[_c('li',[_c('router-link',{staticClass:\"btn btn--ghost d-lg-none\",attrs:{\"to\":\"/logout\",\"tag\":\"button\"}},[_vm._v(\"\\n Sign Out\\n \")])],1),_c('li',{staticClass:\"d-none d-lg-inline-block user-menu\"},[_c('div',[_c('font-awesome-icon',{staticClass:\"icon alt\",attrs:{\"icon\":['fas', 'user-circle']}}),_c('span',[_c('font-awesome-icon',{staticClass:\"icon alt\",attrs:{\"icon\":['fas', 'chevron-down']}})],1)],1),_c('ul',[_c('li',[_c('router-link',{attrs:{\"to\":\"/account\"}},[_vm._v(\"\\n My Account\\n \")])],1),_c('li',[_c('router-link',{attrs:{\"to\":\"/updatePassword\"}},[_vm._v(\"\\n Update Password\\n \")])],1),(\n (_vm.$store.getters.isAdminUser)\n && _vm.$store.getters.currentUser.allowed_programmatic_access)?_c('li',[_c('router-link',{attrs:{\"to\":\"/programmaticAccess\"}},[_vm._v(\"\\n Programmatic Access\\n \")])],1):_vm._e(),(\n (_vm.$store.getters.isAdminUser)\n && _vm.$store.getters.currentUser.allowed_programmatic_access)?_c('li',[_c('router-link',{attrs:{\"to\":\"/apiDocumentation\"}},[_vm._v(\"\\n API Documentation\\n \")])],1):_vm._e(),_c('li',[_c('router-link',{attrs:{\"to\":\"/logout\"}},[_vm._v(\"\\n Sign Out\\n \")])],1)])])]):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./HeaderButtons.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./HeaderButtons.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./HeaderButtons.vue?vue&type=template&id=44b215eb&scoped=true&\"\nimport script from \"./HeaderButtons.vue?vue&type=script&lang=js&\"\nexport * from \"./HeaderButtons.vue?vue&type=script&lang=js&\"\nimport style0 from \"./HeaderButtons.vue?vue&type=style&index=0&id=44b215eb&lang=scss&scoped=true&\"\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 \"44b215eb\",\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('div',[_c('div',{staticClass:\"screen-overlay\",class:{'screen-overlay--visible': _vm.menuOpen},on:{\"click\":function($event){return _vm.toggleMenu()}}}),_c('div',{class:{'open': _vm.menuOpen},attrs:{\"id\":\"off-canvas-menu\"},on:{\"click\":function($event){return _vm.toggleMenu()}}},[_c('font-awesome-icon',{staticClass:\"icon alt\",attrs:{\"icon\":['fal', 'bars']}}),_c('font-awesome-icon',{staticClass:\"icon alt\",attrs:{\"icon\":['fal', 'times']}})],1),_c('transition',{attrs:{\"name\":\"slide\"}},[_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.menuOpen),expression:\"menuOpen\"}],staticClass:\"off-canvas-menu__drawer\"},[_c('div',{staticClass:\"off-canvas-menu__header\"}),_c('navigation-menu',{attrs:{\"on-click\":_vm.onClickNav}}),_c('header-buttons')],1)])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OffCanvasMenu.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OffCanvasMenu.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./OffCanvasMenu.vue?vue&type=template&id=b3f3a696&\"\nimport script from \"./OffCanvasMenu.vue?vue&type=script&lang=js&\"\nexport * from \"./OffCanvasMenu.vue?vue&type=script&lang=js&\"\nimport style0 from \"./OffCanvasMenu.vue?vue&type=style&index=0&lang=scss&\"\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","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../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=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../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=js&\"","import { render, staticRenderFns } from \"./Header.vue?vue&type=template&id=15ca98ef&scoped=true&\"\nimport script from \"./Header.vue?vue&type=script&lang=js&\"\nexport * from \"./Header.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Header.vue?vue&type=style&index=0&id=15ca98ef&lang=scss&scoped=true&\"\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 \"15ca98ef\",\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('b-modal',{ref:\"inactiveModal\",staticClass:\"modal\",attrs:{\"id\":\"InactiveTimeoutModal\",\"no-close-on-backdrop\":true,\"no-close-on-esc\":true}},[_c('template',{slot:\"modal-header\"},[_c('h5',[_vm._v(\"Inactivity Logout\")])]),_c('p',[_vm._v(\"\\n You have not performed an action in awhile.\\n \")]),_c('p',[_vm._v(\"\\n You have \"+_vm._s(_vm.formattedTime)+\" remaining before you will be automatically logged out.\\n \")]),_c('p',[_vm._v(\"\\n To remain signed in please click the button below.\\n \")]),_c('template',{slot:\"modal-footer\"},[_c('button',{staticClass:\"btn btn--primary\",attrs:{\"type\":\"button\"},on:{\"click\":function($event){return _vm.stayLoggedIn()}}},[_c('span',[_vm._v(\"Stay Logged In\")])])])],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n

\n You have not performed an action in awhile.\n

\n

\n You have {{ formattedTime }} remaining before you will be automatically logged out.\n

\n

\n To remain signed in please click the button below.\n

\n \n \n Stay Logged In\n \n \n \n\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./InactiveTimeoutModal.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./InactiveTimeoutModal.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./InactiveTimeoutModal.vue?vue&type=template&id=bf67837c&scoped=true&\"\nimport script from \"./InactiveTimeoutModal.vue?vue&type=script&lang=js&\"\nexport * from \"./InactiveTimeoutModal.vue?vue&type=script&lang=js&\"\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 \"bf67837c\",\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('b-modal',{ref:\"theModal\",staticClass:\"modal\",attrs:{\"id\":\"MfaApproachingModal\"},scopedSlots:_vm._u([{key:\"modal-header\",fn:function(ref){\nvar close = ref.close;\nreturn [_c('h5',[_vm._v(\"Multi-Factor Authentication\")]),_c('button',{staticClass:\"btn btn--close\",on:{\"click\":function($event){return close()}}},[_c('font-awesome-icon',{staticClass:\"icon alt\",attrs:{\"icon\":['fal', 'times']}})],1)]}}])},[_c('p',[_vm._v(\"\\n In order to protect the security of your data KGB Aviation Solutions, LLC\\n implemented Multi-Factor authentication that is required by all users of\\n our application.\\n \")]),_c('p',{staticClass:\"alert-text\"},[_vm._v(\"\\n You have \"),_c('b',[_vm._v(_vm._s(_vm.$store.getters.mfaWarning.daysRemaining))]),_vm._v(\" days with\\n logins remaining before you must configure this.\\n \")]),_c('template',{slot:\"modal-footer\"},[_c('button',{staticClass:\"btn\",attrs:{\"type\":\"button\"},on:{\"click\":function($event){return _vm.cancel()}}},[_vm._v(\"\\n Setup Later\\n \")]),_c('button',{staticClass:\"btn btn--primary\",attrs:{\"type\":\"button\"},on:{\"click\":function($event){return _vm.goToMfa()}}},[_c('span',[_vm._v(\"Configure Now\")])])])],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n

\n In order to protect the security of your data KGB Aviation Solutions, LLC\n implemented Multi-Factor authentication that is required by all users of\n our application.\n

\n

\n You have {{ $store.getters.mfaWarning.daysRemaining }} days with\n logins remaining before you must configure this.\n

\n\n \n \n Setup Later\n \n \n Configure Now\n \n \n \n\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MfaApproachingModal.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MfaApproachingModal.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./MfaApproachingModal.vue?vue&type=template&id=053088b6&scoped=true&\"\nimport script from \"./MfaApproachingModal.vue?vue&type=script&lang=js&\"\nexport * from \"./MfaApproachingModal.vue?vue&type=script&lang=js&\"\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 \"053088b6\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n","import mod from \"-!../node_modules/cache-loader/dist/cjs.js??ref--12-0!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js!../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=js&\"; export default mod; export * from \"-!../node_modules/cache-loader/dist/cjs.js??ref--12-0!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js!../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=js&\"","import { render, staticRenderFns } from \"./App.vue?vue&type=template&id=d4a721b0&\"\nimport script from \"./App.vue?vue&type=script&lang=js&\"\nexport * from \"./App.vue?vue&type=script&lang=js&\"\nimport style0 from \"./App.vue?vue&type=style&index=0&lang=scss&\"\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 Vue from 'vue';\nimport VueRouter from 'vue-router';\nimport routes from './constants/routes';\nimport store from './store';\n\nVue.use(VueRouter);\n\nconst router = new VueRouter({\n mode: 'history',\n routes,\n scrollBehavior(to, from, savedPosition) {\n if (savedPosition) {\n return savedPosition;\n }\n return { x: 0, y: 0 };\n },\n});\n\nrouter.beforeEach((to, from, next) => {\n const { isAuthorized, mfaIsRequired } = store.getters;\n const loadingApp = store.getters.showSiteLoader;\n\n const anonymousAccessPages = routes.filter(r => r.allowAnonymous).map(r => r.name);\n\n if (!loadingApp && !isAuthorized && anonymousAccessPages.indexOf(to.name) === -1) {\n store.dispatch('clearUser');\n router.replace('/login');\n return;\n }\n\n // Block user from going past main account page without setting up MFA\n if (mfaIsRequired && anonymousAccessPages.indexOf(to.name) === -1 && to.name !== 'account') {\n store.commit('setGlobalAlert', {\n msg: 'You must configure MFA before continuing to use KGB Aviation Solutions Portal.',\n error: true,\n });\n router.replace('/account');\n\n return;\n }\n\n if (to.matched.length) {\n if (to.meta.title) {\n document.title = `KGB Aviation | ${to.meta.title}`;\n } else {\n document.title = 'KGB Aviation';\n }\n\n next();\n }\n});\n\nexport default router;\n","// eslint-disable-next-line import/extensions\nimport { getCountryCallingCode } from 'libphonenumber-js';\n\nconst percent = dec => `${(dec * 100).toFixed(0)}%`;\nconst date = d => (d ? `${d.toLocaleDateString()} ${d.toLocaleTimeString([], { hour: '2-digit', minute: '2-digit' })}` : '');\nconst dateOnly = d => (d ? d.toLocaleDateString() : '');\nconst dateToFormattedString = (dateValue) => {\n if (!dateValue || !(dateValue instanceof Date)) {\n return '';\n }\n const offset = dateValue.getTimezoneOffset();\n const offsetDate = new Date(dateValue.getTime() + (offset * 60 * 1000));\n return offsetDate.toISOString().split('T')[0];\n};\n\nconst countryCallingCode = countryCode => getCountryCallingCode(countryCode);\n\nconst datastr = (val) => {\n let bytes = parseInt(val, 10);\n if (bytes) {\n const thresh = 1000;\n const units = ['KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB'];\n\n if (Math.abs(bytes) < thresh) {\n return `${bytes} B`;\n }\n\n let u = -1;\n do {\n bytes /= thresh;\n // eslint-disable-next-line no-plusplus\n ++u;\n } while (Math.abs(bytes) >= thresh && u < units.length - 1);\n return `${bytes.toFixed(1)} ${units[u]}`;\n }\n return '';\n};\n\nexport default {\n install(Vue) {\n Vue.filter('date', date);\n Vue.filter('dateOnly', dateOnly);\n Vue.filter('percent', percent);\n Vue.filter('datastr', datastr);\n Vue.filter('dateFormat', dateToFormattedString);\n Vue.filter('countryCallingCode', countryCallingCode);\n },\n};\n","import Vue from 'vue';\nimport BootstrapVue from 'bootstrap-vue';\nimport { library, dom } from '@fortawesome/fontawesome-svg-core';\nimport { FontAwesomeIcon, FontAwesomeLayers } from '@fortawesome/vue-fontawesome';\nimport Fragment from 'vue-fragment';\nimport Storage from 'vue-web-storage';\nimport VueResource from 'vue-resource';\nimport { sync } from 'vuex-router-sync';\nimport vClickOutside from 'v-click-outside';\n\n\nimport { MazPhoneNumberInput } from 'maz-ui';\nimport FlagIcon from 'vue-flag-icon';\nimport fontAwesomeIcons from './constants/fontAwesomeIcons';\nimport App from './App.vue';\n\nimport router from './router';\nimport filters from './filters';\nimport store from './store';\n\nlibrary.add(fontAwesomeIcons);\n\ndom.watch();\n\nVue.use(BootstrapVue);\nVue.use(filters);\nVue.use(Storage);\nVue.use(VueResource);\nVue.use(Fragment.Plugin);\nVue.use(vClickOutside);\nVue.use(MazPhoneNumberInput);\nVue.use(FlagIcon);\n\nVue.config.productionTip = false;\n\nVue.prototype.$globalEnv = {\n baseUrl: process.env.VUE_APP_API_BASE_URL || '',\n currentPortalRegion: process.env.VUE_APP_CURRENT_PORTAL_REGION,\n alternatePortalRegion: process.env.VUE_APP_ALT_PORTAL_REGION,\n alternatePortalRegionUrl: process.env.VUE_APP_ALT_PORTAL_REGION_URL,\n};\n\nVue.component('font-awesome-icon', FontAwesomeIcon);\nVue.component('font-awesome-layers', FontAwesomeLayers);\n\n// This callback runs before every route change, including on page load.\nrouter.beforeEach((to, from, next) => {\n // Run through matched routes from last to first. Finding closest route with a title.\n // If /some/deep/nested/route and /some, /deep, and /nested have titles, nested's will be chosen.\n const nearestWithTitle = to.matched.slice().reverse().find(r => r.meta && r.meta.title);\n\n // Find the nearest route element with meta tags.\n const nearestWithMeta = to.matched.slice().reverse().find(r => r.meta && r.meta.metaTags);\n // const previousNearestWithMeta = from.matched.slice()\n // .reverse().find(r => r.meta && r.meta.metaTags);\n\n // If a route with a title was found, set the document (page) title to that value.\n if (nearestWithTitle) document.title = nearestWithTitle.meta.title;\n\n // Remove any stale meta tags from the document using the key attribute we set below.\n Array.from(document.querySelectorAll('[data-vue-router-controlled]'))\n .map(el => el.parentNode.removeChild(el));\n\n // Skip rendering meta tags if there are none.\n if (!nearestWithMeta) return next();\n\n // Turn the meta tag definitions into actual elements in the head.\n nearestWithMeta.meta.metaTags.map((tagDef) => {\n const tag = document.createElement('meta');\n\n Object.keys(tagDef).forEach((key) => {\n tag.setAttribute(key, tagDef[key]);\n });\n\n // Track which meta tags we create, so we don't interfere with other ones.\n tag.setAttribute('data-vue-router-controlled', '');\n\n return tag;\n })\n // Add the meta tags to the document head.\n .forEach(tag => document.head.appendChild(tag));\n\n next();\n return true;\n});\n\nsync(store, router, { moduleName: 'RouteModule' });\n\nnew Vue({\n router,\n store,\n render: h => h(App),\n}).$mount('#app');\n","import mod from \"-!../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../node_modules/sass-loader/dist/cjs.js??ref--8-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=scss&\"; export default mod; export * from \"-!../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../node_modules/sass-loader/dist/cjs.js??ref--8-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=scss&\"","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Footer.vue?vue&type=style&index=0&id=a3977e08&scoped=true&lang=scss&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Footer.vue?vue&type=style&index=0&id=a3977e08&scoped=true&lang=scss&\"","const routes = [\n {\n path: '/login',\n name: 'login',\n allowAnonymous: true,\n component: () => import(/* webpackChunkName: \"home\" */ '@/views/Login.vue'),\n meta: {\n title: 'KGB Aviation',\n },\n },\n {\n path: '/logout',\n name: 'logout',\n allowAnonymous: true,\n component: () => import(/* webpackChunkName: \"home\" */ '@/views/Logout.vue'),\n meta: {\n title: 'KGB Aviation',\n },\n },\n {\n path: '/account',\n name: 'account',\n component: () => import(/* webpackChunkName: \"account\" */ '@/views/Account.vue'),\n meta: {\n title: 'Account',\n },\n },\n {\n path: '/updatePassword',\n name: 'updatePassword',\n component: () => import(/* webpackChunkName: \"updatePassword\" */ '@/views/UpdatePassword.vue'),\n meta: {\n title: 'Update Password',\n },\n },\n {\n path: '/devices',\n name: 'devices',\n component: () => import(/* webpackChunkName: \"devices\" */ '@/views/Devices.vue'),\n meta: {\n title: 'Devices',\n },\n },\n {\n path: '/forgot',\n name: 'forgot',\n allowAnonymous: true,\n component: () => import(/* webpackChunkName: \"forgot\" */ '@/views/Forgot.vue'),\n meta: {\n title: 'Forgot Password',\n },\n },\n {\n path: '/reset/:token',\n name: 'reset',\n allowAnonymous: true,\n component: () => import('@/views/Reset'),\n meta: {\n title: 'Reset Password',\n },\n },\n {\n path: '/confirm/:token',\n name: 'confirm',\n allowAnonymous: true,\n component: () => import('@/views/ConfirmAccount'),\n meta: {\n title: 'Confirm Account',\n },\n },\n {\n path: '/organizations',\n name: 'organizations',\n component: () => import(/* webpackChunkName: \"organizations\" */ '@/views/Organizations.vue'),\n meta: {\n title: 'Organizations',\n },\n },\n {\n path: '/sites',\n name: 'sites',\n component: () => import(/* webpackChunkName: \"sites\" */ '@/views/Sites.vue'),\n meta: {\n title: 'Sites',\n },\n },\n {\n path: '/register',\n name: 'register',\n allowAnonymous: true,\n component: () => import(/* webpackChunkName: \"register\" */ '@/views/Register.vue'),\n meta: {\n title: 'Register Title',\n },\n },\n {\n path: '/users',\n name: 'users',\n component: () => import(/* webpackChunkName: \"users\" */ '@/views/Users.vue'),\n meta: {\n title: 'Users',\n },\n },\n {\n path: '/reporting',\n name: 'reporting',\n component: () => import(/* webpackChunkName: \"reporting\" */ '@/views/Reporting.vue'),\n meta: {\n title: 'Reporting',\n },\n },\n {\n path: '/usage',\n name: 'usage',\n component: () => import(/* webpackChunkName: \"usage\" */ '@/views/Usage.vue'),\n meta: {\n title: 'Usage',\n },\n },\n {\n path: '/testResults',\n name: 'testResults',\n component: () => import(/* webpackChunkName: \"testResults\" */ '@/views/TestResults.vue'),\n meta: {\n title: 'Test Results',\n },\n },\n {\n path: '/management',\n name: 'management',\n component: () => import(/* webpackChunkName: \"management\" */ '@/views/Management.vue'),\n meta: {\n title: 'Management',\n },\n },\n {\n path: '/testFixtures',\n name: 'testFixtures',\n component: () => import(/* webpackChunkName: \"testFixture\" */ '@/views/TestFixture.vue'),\n meta: {\n title: 'Test Fixtures',\n },\n },\n {\n path: '/testFixtureResults',\n name: 'testFixtureResults',\n component: () => import(/* webpackChunkName: \"testFixture\" */ '@/views/TestFixtureResults.vue'),\n meta: {\n title: 'Cable Test Results',\n },\n },\n {\n path: '/programmaticAccess',\n name: 'programmaticAccess',\n component: () => import(/* webpackChunkName: \"programmaticAccess\" */ '@/views/ProgrammaticAccess.vue'),\n meta: {\n title: 'Programmatic Access',\n },\n },\n {\n path: '/apiDocumentation',\n name: 'apiDocumentation',\n component: () => import(/* webpackChunkName: \"apiDocumentation\" */ '@/views/ApiDocumentation.vue'),\n meta: {\n title: 'API Documentation',\n },\n },\n];\n\nexport default routes;\n","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-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=style&index=0&id=15ca98ef&lang=scss&scoped=true&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-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=style&index=0&id=15ca98ef&lang=scss&scoped=true&\"","const rememberMe = 'remember-me';\n\nclass StorageService {\n useLocal = false;\n\n constructor() {\n const rememberMeSet = localStorage.getItem(rememberMe);\n this.useLocal = rememberMeSet && rememberMeSet === 'true';\n }\n\n setLocal(shouldUseLocalStorage) {\n this.useLocal = shouldUseLocalStorage;\n }\n\n setItem(key, value) {\n return (this.useLocal) ? localStorage.setItem(key, value) : sessionStorage.setItem(key, value);\n }\n\n getItem(key) {\n return (this.useLocal) ? localStorage.getItem(key) : sessionStorage.getItem(key);\n }\n\n removeItem(key) {\n return (this.useLocal) ? localStorage.removeItem(key) : sessionStorage.removeItem(key);\n }\n\n clear() {\n return (this.useLocal) ? localStorage.clear() : sessionStorage.clear();\n }\n}\n\n\nexport default new StorageService();\n","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./HeaderButtons.vue?vue&type=style&index=0&id=44b215eb&lang=scss&scoped=true&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./HeaderButtons.vue?vue&type=style&index=0&id=44b215eb&lang=scss&scoped=true&\"","module.exports = __webpack_public_path__ + \"img/logo.e008cbef.png\";","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Loader.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Loader.vue?vue&type=script&lang=js&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"loader\"},[_c('div',{staticClass:\"vertical-center\"},[_c('svg',{staticStyle:{\"enable-background\":\"new 0 0 50 50\"},attrs:{\"id\":\"Layer_1\",\"version\":\"1.1\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"xmlns:xlink\":\"http://www.w3.org/1999/xlink\",\"x\":\"0px\",\"y\":\"0px\",\"width\":\"24px\",\"height\":\"30px\",\"viewBox\":\"0 0 24 30\",\"xml:space\":\"preserve\"}},[_c('rect',{attrs:{\"x\":\"0\",\"y\":\"12.9281\",\"width\":\"4\",\"height\":\"5.14379\",\"fill\":\"#ddd\"}},[_c('animate',{attrs:{\"attributeName\":\"height\",\"attributeType\":\"XML\",\"values\":\"5;21;5\",\"begin\":\"0s\",\"dur\":\"0.6s\",\"repeatCount\":\"indefinite\"}}),_c('animate',{attrs:{\"attributeName\":\"y\",\"attributeType\":\"XML\",\"values\":\"13; 5; 13\",\"begin\":\"0s\",\"dur\":\"0.6s\",\"repeatCount\":\"indefinite\"}})]),_c('rect',{attrs:{\"x\":\"10\",\"y\":\"9.07189\",\"width\":\"4\",\"height\":\"12.8562\",\"fill\":\"#ddd\"}},[_c('animate',{attrs:{\"attributeName\":\"height\",\"attributeType\":\"XML\",\"values\":\"5;21;5\",\"begin\":\"0.15s\",\"dur\":\"0.6s\",\"repeatCount\":\"indefinite\"}}),_c('animate',{attrs:{\"attributeName\":\"y\",\"attributeType\":\"XML\",\"values\":\"13; 5; 13\",\"begin\":\"0.15s\",\"dur\":\"0.6s\",\"repeatCount\":\"indefinite\"}})]),_c('rect',{attrs:{\"x\":\"20\",\"y\":\"5.07189\",\"width\":\"4\",\"height\":\"20.8562\",\"fill\":\"#ddd\"}},[_c('animate',{attrs:{\"attributeName\":\"height\",\"attributeType\":\"XML\",\"values\":\"5;21;5\",\"begin\":\"0.3s\",\"dur\":\"0.6s\",\"repeatCount\":\"indefinite\"}}),_c('animate',{attrs:{\"attributeName\":\"y\",\"attributeType\":\"XML\",\"values\":\"13; 5; 13\",\"begin\":\"0.3s\",\"dur\":\"0.6s\",\"repeatCount\":\"indefinite\"}})])])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export * from \"-!../../node_modules/cache-loader/dist/cjs.js?{\\\"cacheDirectory\\\":\\\"node_modules/.cache/vue-loader\\\",\\\"cacheIdentifier\\\":\\\"5dab6a09-vue-loader-template\\\"}!../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Loader.vue?vue&type=template&id=1883ca4d&scoped=true&\""],"sourceRoot":""}