openc3-tool-admin 5.0.10 → 5.0.11

Sign up to get free protection for your applications and to get access to all the features.
@@ -1 +1 @@
1
- {"version":3,"file":"js/43.js","mappings":"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","sources":["webpack://@openc3/tool-admin/../openc3-tool-common/src/tools/admin/tabs/RedisTab.vue","webpack://@openc3/tool-admin/../openc3-tool-common/src/tools/admin/tabs/RedisTab.vue?7142","webpack://@openc3/tool-admin/../openc3-tool-common/src/tools/admin/tabs/RedisTab.vue?5bcd","webpack://@openc3/tool-admin/../openc3-tool-common/src/services/api.js","webpack://@openc3/tool-admin/../openc3-tool-common/src/services/axios.js"],"sourcesContent":["var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[_c('v-card',[_c('v-card-title',[_vm._v(\" Send Raw Redis Commands \")]),_c('v-card-subtitle',[_vm._v(\" THIS IS DANGEROUS. This allows you to interact directly with the underlying Redis database, making it easy to modify or delete data. \"),_c('br'),_c('br'),_vm._v(\" Enter commands like you would at the Redis cli prompt: \"),_c('code',[_vm._v(\"ping\")]),_vm._v(\" or \"),_c('code',[_vm._v(\"hget openc3__settings version\")])]),_c('v-card-text',{staticClass:\"pb-0 ml-2\"},[_c('v-text-field',{attrs:{\"label\":\"Redis command\"},on:{\"keydown\":_vm.commandKeydown},model:{value:(_vm.redisCommandText),callback:function ($$v) {_vm.redisCommandText=$$v},expression:\"redisCommandText\"}}),(_vm.redisResponse)?_c('span',[_vm._v(\" Response: \"+_vm._s(_vm.redisResponse)+\" \")]):_vm._e()],1),_c('v-card-actions',[_c('v-btn',{staticClass:\"ml-2\",attrs:{\"disabled\":!_vm.redisCommandText.length,\"color\":\"success\",\"text\":\"\"},on:{\"click\":_vm.executeRaw}},[_vm._v(\" Execute \")]),_c('v-radio-group',{staticClass:\"mt-0\",attrs:{\"row\":\"\",\"hide-details\":\"\"},model:{value:(_vm.redisEndpoint),callback:function ($$v) {_vm.redisEndpoint=$$v},expression:\"redisEndpoint\"}},[_c('v-radio',{attrs:{\"label\":\"Persistent\",\"value\":\"/openc3-api/redis/exec\",\"data-test\":\"persistent-radio\"}}),_c('v-radio',{attrs:{\"label\":\"Ephemeral\",\"value\":\"/openc3-api/redis/exec?ephemeral=1\",\"data-test\":\"ephemeral-radio\"}})],1)],1)],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./RedisTab.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./RedisTab.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./RedisTab.vue?vue&type=template&id=512172b5&\"\nimport script from \"./RedisTab.vue?vue&type=script&lang=js&\"\nexport * from \"./RedisTab.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/@vue/vue-loader-v15/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# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2022, OpenC3, Inc.\n# All Rights Reserved\n*/\n\nimport axios from './axios.js'\n\nconst request = async function (\n method,\n url,\n { data, params = {}, headers, noAuth = false, noScope = false } = {}\n) {\n if (!noAuth) {\n try {\n await OpenC3Auth.updateToken(OpenC3Auth.defaultMinValidity)\n } catch (error) {\n OpenC3Auth.login()\n }\n headers['Authorization'] = localStorage.openc3Token\n }\n if (!noScope && !params['scope']) {\n params['scope'] = window.openc3Scope\n }\n return axios({\n method,\n url,\n data,\n params,\n headers,\n })\n}\n\nconst acceptOnlyDefaultHeaders = {\n Accept: 'application/json',\n}\n\nconst fullDefaultHeaders = {\n ...acceptOnlyDefaultHeaders,\n 'Content-Type': 'application/json',\n}\n\nexport default {\n get: function (\n path,\n { params, headers = acceptOnlyDefaultHeaders, noScope, noAuth } = {}\n ) {\n return request('get', path, { params, headers, noScope, noAuth })\n },\n\n put: function (\n path,\n { data, params, headers = fullDefaultHeaders, noScope, noAuth } = {}\n ) {\n return request('put', path, { data, params, headers, noScope, noAuth })\n },\n\n post: function (\n path,\n { data, params, headers = fullDefaultHeaders, noScope, noAuth } = {}\n ) {\n return request('post', path, { data, params, headers, noScope, noAuth })\n },\n\n delete: function (\n path,\n { params, headers = acceptOnlyDefaultHeaders, noScope, noAuth } = {}\n ) {\n return request('delete', path, { params, headers, noScope, noAuth })\n },\n}\n","/*\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2022, OpenC3, Inc.\n# All Rights Reserved\n*/\n\nimport axios from 'axios'\nimport Vue from 'vue'\n\nconst vueInstance = new Vue()\n\nconst axiosInstance = axios.create({\n baseURL: location.origin,\n timeout: 60000,\n params: {},\n})\n\naxiosInstance.interceptors.response.use(\n (response) => response,\n (error) => {\n if (error.response) {\n if (error.response.status === 401) {\n OpenC3Auth.updateToken(OpenC3Auth.defaultMinValidity, true)\n }\n // Individual tools can set 'Ignore-Errors' to an error code\n // they potentially expect, e.g. '500', in which case we ignore it\n // For example in CommandSender.vue:\n // obs = this.api.cmd(targetName, commandName, paramList, {\n // 'Ignore-Errors': '500',\n // })\n if (\n error.response.headers['ignore-errors'] &&\n error.response.headers['ignore-errors'].includes(\n error.response.status.toString()\n )\n ) {\n return Promise.reject(error)\n }\n let body = `HTTP ${error.response.status} - `\n if (error.response?.statusText) {\n body += `${error.response.statusText} `\n }\n if (error.response?.config?.data) {\n body += `${error.response.config.data} `\n }\n if (error.response?.data?.message) {\n body += `${error.response.data.message}`\n } else if (error.response?.data?.exception) {\n body += `${error.response.data.exception}`\n } else if (error.response?.data?.error?.message) {\n if (error.response.data.error.class) {\n body += `${error.response.data.error.class} `\n }\n body += `${error.response.data.error.message}`\n } else {\n body += `${error.response?.data}`\n }\n vueInstance.$notify.serious({\n title: 'Network error',\n body,\n })\n throw error\n } else {\n throw error\n }\n }\n)\n\nexport default axiosInstance\n"],"names":["render","_vm","this","_c","_self","_v","staticClass","attrs","on","commandKeydown","model","value","redisCommandText","callback","$$v","expression","redisResponse","_s","_e","length","executeRaw","redisEndpoint","staticRenderFns","data","methods","$event","Api","headers","Accept","then","component","request","method","url","params","noAuth","noScope","OpenC3Auth","updateToken","defaultMinValidity","login","localStorage","openc3Token","window","openc3Scope","axios","acceptOnlyDefaultHeaders","fullDefaultHeaders","get","path","put","post","delete","vueInstance","Vue","axiosInstance","baseURL","location","origin","timeout","interceptors","response","use","error","status","includes","toString","Promise","reject","body","statusText","config","message","exception","class","$notify","serious","title"],"sourceRoot":""}
1
+ {"version":3,"file":"js/43.js","mappings":"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","sources":["webpack://@openc3/tool-admin/../openc3-tool-common/src/tools/admin/tabs/RedisTab.vue","webpack://@openc3/tool-admin/../openc3-tool-common/src/tools/admin/tabs/RedisTab.vue?7142","webpack://@openc3/tool-admin/../openc3-tool-common/src/tools/admin/tabs/RedisTab.vue?5bcd","webpack://@openc3/tool-admin/../openc3-tool-common/src/services/api.js","webpack://@openc3/tool-admin/../openc3-tool-common/src/services/axios.js"],"sourcesContent":["var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[_c('v-card',[_c('v-card-title',[_vm._v(\" Send Raw Redis Commands \")]),_c('v-card-subtitle',[_vm._v(\" THIS IS DANGEROUS. This allows you to interact directly with the underlying Redis database, making it easy to modify or delete data. \"),_c('br'),_c('br'),_vm._v(\" Enter commands like you would at the Redis cli prompt: \"),_c('code',[_vm._v(\"ping\")]),_vm._v(\" or \"),_c('code',[_vm._v(\"hget openc3__settings version\")])]),_c('v-card-text',{staticClass:\"pb-0 ml-2\"},[_c('v-text-field',{attrs:{\"label\":\"Redis command\"},on:{\"keydown\":_vm.commandKeydown},model:{value:(_vm.redisCommandText),callback:function ($$v) {_vm.redisCommandText=$$v},expression:\"redisCommandText\"}}),(_vm.redisResponse)?_c('span',[_vm._v(\" Response: \"+_vm._s(_vm.redisResponse)+\" \")]):_vm._e()],1),_c('v-card-actions',[_c('v-btn',{staticClass:\"ml-2\",attrs:{\"disabled\":!_vm.redisCommandText.length,\"color\":\"success\",\"text\":\"\"},on:{\"click\":_vm.executeRaw}},[_vm._v(\" Execute \")]),_c('v-radio-group',{staticClass:\"mt-0\",attrs:{\"row\":\"\",\"hide-details\":\"\"},model:{value:(_vm.redisEndpoint),callback:function ($$v) {_vm.redisEndpoint=$$v},expression:\"redisEndpoint\"}},[_c('v-radio',{attrs:{\"label\":\"Persistent\",\"value\":\"/openc3-api/redis/exec\",\"data-test\":\"persistent-radio\"}}),_c('v-radio',{attrs:{\"label\":\"Ephemeral\",\"value\":\"/openc3-api/redis/exec?ephemeral=1\",\"data-test\":\"ephemeral-radio\"}})],1)],1)],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./RedisTab.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./RedisTab.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./RedisTab.vue?vue&type=template&id=512172b5&\"\nimport script from \"./RedisTab.vue?vue&type=script&lang=js&\"\nexport * from \"./RedisTab.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/@vue/vue-loader-v15/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# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2022, OpenC3, Inc.\n# All Rights Reserved\n*/\n\nimport axios from './axios.js'\n\nconst request = async function (\n method,\n url,\n { data, params = {}, headers, noAuth = false, noScope = false } = {}\n) {\n if (!noAuth) {\n try {\n await OpenC3Auth.updateToken(OpenC3Auth.defaultMinValidity)\n } catch (error) {\n OpenC3Auth.login()\n }\n headers['Authorization'] = localStorage.openc3Token\n }\n if (!noScope && !params['scope']) {\n params['scope'] = window.openc3Scope\n }\n return axios({\n method,\n url,\n data,\n params,\n headers,\n })\n}\n\nconst acceptOnlyDefaultHeaders = {\n Accept: 'application/json',\n}\n\nconst fullDefaultHeaders = {\n ...acceptOnlyDefaultHeaders,\n 'Content-Type': 'application/json',\n}\n\nexport default {\n get: function (\n path,\n { params, headers = acceptOnlyDefaultHeaders, noScope, noAuth } = {}\n ) {\n return request('get', path, { params, headers, noScope, noAuth })\n },\n\n put: function (\n path,\n { data, params, headers = fullDefaultHeaders, noScope, noAuth } = {}\n ) {\n return request('put', path, { data, params, headers, noScope, noAuth })\n },\n\n post: function (\n path,\n { data, params, headers = fullDefaultHeaders, noScope, noAuth } = {}\n ) {\n return request('post', path, { data, params, headers, noScope, noAuth })\n },\n\n delete: function (\n path,\n { params, headers = acceptOnlyDefaultHeaders, noScope, noAuth } = {}\n ) {\n return request('delete', path, { params, headers, noScope, noAuth })\n },\n}\n","/*\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2022, OpenC3, Inc.\n# All Rights Reserved\n*/\n\nimport axios from 'axios'\nimport Vue from 'vue'\n\nconst vueInstance = new Vue()\n\nconst axiosInstance = axios.create({\n baseURL: location.origin,\n timeout: 60000,\n params: {},\n})\n\naxiosInstance.interceptors.response.use(\n (response) => response,\n (error) => {\n if (error.response) {\n if (error.response.status === 401) {\n OpenC3Auth.updateToken(OpenC3Auth.defaultMinValidity, true)\n }\n // Individual tools can set 'Ignore-Errors' to an error code\n // they potentially expect, e.g. '500', in which case we ignore it\n // For example in CommandSender.vue:\n // obs = this.api.cmd(targetName, commandName, paramList, {\n // 'Ignore-Errors': '500',\n // })\n if (\n error.response.headers['ignore-errors'] &&\n error.response.headers['ignore-errors'].includes(\n error.response.status.toString()\n )\n ) {\n return Promise.reject(error)\n }\n let body = `HTTP ${error.response.status} - `\n if (error.response?.statusText) {\n body += `${error.response.statusText} `\n }\n if (error.response?.config?.data) {\n body += `${error.response.config.data} `\n }\n if (error.response?.data?.message) {\n body += `${error.response.data.message}`\n } else if (error.response?.data?.exception) {\n body += `${error.response.data.exception}`\n } else if (error.response?.data?.error?.message) {\n if (error.response.data.error.class) {\n body += `${error.response.data.error.class} `\n }\n body += `${error.response.data.error.message}`\n } else {\n body += `${error.response?.data}`\n }\n if (vueInstance.$notify) {\n vueInstance.$notify.serious({\n title: 'Network error',\n body,\n })\n }\n throw error\n } else {\n throw error\n }\n }\n)\n\nexport default axiosInstance\n"],"names":["render","_vm","this","_c","_self","_v","staticClass","attrs","on","commandKeydown","model","value","redisCommandText","callback","$$v","expression","redisResponse","_s","_e","length","executeRaw","redisEndpoint","staticRenderFns","data","methods","$event","Api","headers","Accept","then","component","request","method","url","params","noAuth","noScope","OpenC3Auth","updateToken","defaultMinValidity","login","localStorage","openc3Token","window","openc3Scope","axios","acceptOnlyDefaultHeaders","fullDefaultHeaders","get","path","put","post","delete","vueInstance","Vue","axiosInstance","baseURL","location","origin","timeout","interceptors","response","use","error","status","includes","toString","Promise","reject","body","statusText","config","message","exception","class","$notify","serious","title"],"sourceRoot":""}
@@ -1,2 +1,2 @@
1
- (self["webpackChunk_openc3_tool_admin"]=self["webpackChunk_openc3_tool_admin"]||[]).push([[561],{1522:function(e,t,n){"use strict";n.r(t),n.d(t,{default:function(){return B}});n(8178);var r=function(){var e=this,t=e._self._c;return t("div",[t("v-card",[t("v-card-title",[e._v(" Reset suppressed warnings ")]),t("v-card-subtitle",[e._v(' This resets "don\'t show this again" dialogs on this browser ')]),t("v-card-text",{staticClass:"pb-0 ml-2"},[e.suppressedWarnings.length?[t("v-checkbox",{staticClass:"mt-0",attrs:{label:"Select all","data-test":"select-all-suppressed-warnings"},model:{value:e.selectAllSuppressedWarnings,callback:function(t){e.selectAllSuppressedWarnings=t},expression:"selectAllSuppressedWarnings"}}),e._l(e.suppressedWarnings,(function(n){return t("v-checkbox",{key:n.key,staticClass:"mt-0",attrs:{label:n.text,value:n.key,dense:""},model:{value:e.selectedSuppressedWarnings,callback:function(t){e.selectedSuppressedWarnings=t},expression:"selectedSuppressedWarnings"}})}))]:[e._v(" No warnings to reset ")]],2),t("v-card-actions",[t("v-btn",{staticClass:"ml-2",attrs:{disabled:!e.selectedSuppressedWarnings.length,color:"warning",text:"","data-test":"reset-suppressed-warnings"},on:{click:e.resetSuppressedWarnings}},[e._v(" Reset ")])],1)],1),t("v-divider"),t("v-card",[t("v-card-title",[e._v(" Clear recent configs ")]),t("v-card-subtitle",[e._v(" This clears the most recently saved/loaded tool configs on this browser ")]),t("v-card-text",{staticClass:"pb-0 ml-2"},[e.lastConfigs.length?[t("v-checkbox",{staticClass:"mt-0",attrs:{label:"Select all","data-test":"select-all-last-configs"},model:{value:e.selectAllLastConfigs,callback:function(t){e.selectAllLastConfigs=t},expression:"selectAllLastConfigs"}}),e._l(e.lastConfigs,(function(n){return t("v-checkbox",{key:n.key,staticClass:"mt-0",attrs:{label:"".concat(n.text," (").concat(n.value,")"),value:n.key,dense:""},model:{value:e.selectedLastConfigs,callback:function(t){e.selectedLastConfigs=t},expression:"selectedLastConfigs"}})}))]:[e._v(" No configs to clear ")]],2),t("v-card-actions",[t("v-btn",{staticClass:"ml-2",attrs:{disabled:!e.selectedLastConfigs.length,color:"warning",text:"","data-test":"clear-last-configs"},on:{click:e.clearLastConfigs}},[e._v(" Clear ")])],1)],1),t("v-divider"),t("classification-banner-settings"),t("v-divider"),t("v-card",[t("v-card-title",[e._v(" Source code URL ")]),t("v-card-subtitle",[e._v(' This sets the URL for the "Source" link in the footer. This is required under the AGPL license. ')]),t("v-card-text",{staticClass:"pb-0 ml-2"},[t("v-text-field",{attrs:{label:"Source URL","data-test":"source-url"},model:{value:e.sourceUrl,callback:function(t){e.sourceUrl=t},expression:"sourceUrl"}})],1),t("v-card-actions",[t("v-container",{staticClass:"pt-0"},[t("v-row",{attrs:{dense:""}},[t("v-col",{staticClass:"pl-0"},[t("v-btn",{attrs:{color:"success",text:"","data-test":"save-source-url"},on:{click:e.saveSourceUrl}},[e._v(" Save ")])],1)],1),t("v-alert",{attrs:{type:"error",dismissible:"",dense:""},model:{value:e.errorSaving,callback:function(t){e.errorSaving=t},expression:"errorSaving"}},[e._v(" Error saving ")]),t("v-alert",{attrs:{type:"success",dismissible:"",dense:""},model:{value:e.successSaving,callback:function(t){e.successSaving=t},expression:"successSaving"}},[e._v(" Saved! (Refresh the page to see changes) ")])],1)],1)],1),t("v-divider"),t("v-card",[t("v-card-title",[e._v(" Rubygems URL ")]),t("v-card-subtitle",[e._v(" This sets the URL for installing dependency rubygems. Also used for rubygem discovery. ")]),t("v-card-text",{staticClass:"pb-0 ml-2"},[t("v-text-field",{attrs:{label:"Rubygems URL","data-test":"rubygems-url"},model:{value:e.rubygemsUrl,callback:function(t){e.rubygemsUrl=t},expression:"rubygemsUrl"}})],1),t("v-card-actions",[t("v-container",{staticClass:"pt-0"},[t("v-row",{attrs:{dense:""}},[t("v-col",{staticClass:"pl-0"},[t("v-btn",{attrs:{color:"success",text:"","data-test":"save-rubygems-url"},on:{click:e.saveRubygemsUrl}},[e._v(" Save ")])],1)],1),t("v-alert",{attrs:{type:"error",dismissible:"",dense:""},model:{value:e.errorSaving,callback:function(t){e.errorSaving=t},expression:"errorSaving"}},[e._v(" Error saving ")]),t("v-alert",{attrs:{type:"success",dismissible:"",dense:""},model:{value:e.successSaving,callback:function(t){e.successSaving=t},expression:"successSaving"}},[e._v(" Saved! (Refresh the page to see changes) ")])],1)],1)],1)],1)},s=[],o=n(4282),a=(n(3450),n(5342),n(8188),n(4769),n(4112),n(7950),n(5940),n(1639),n(2501),n(6632)),i=n(21),c=n(4948),l=n(6706),u=n(4567),d=n(6812),v=n(6274),g=(n(1372),n(1245),n(9529),n(3675),n(4898),n(5825),n(7170),n(8857),n(8329),n(6279),n(427),n(171),n(7093),n(1159),n(2516),n(4349),n(5273),n(6729),n(1801),n(574),n(5787),n(9271),n(3160),n(5688),n(3157),n(3333),n(315),n(556),n(9224),n(7233),n(8673),n(5734),n(8233),n(2256)),_=function(){function e(){(0,u.Z)(this,e),(0,v.Z)(this,"id",1)}return(0,d.Z)(e,[{key:"exec",value:function(){var e=(0,l.Z)((0,i.Z)().mark((function e(t,n){var r,s,o,a,l=arguments;return(0,i.Z)().wrap((function(e){while(1)switch(e.prev=e.next){case 0:return r=l.length>2&&void 0!==l[2]?l[2]:{},s=l.length>3&&void 0!==l[3]?l[3]:{},e.prev=2,e.next=5,OpenC3Auth.updateToken(OpenC3Auth.defaultMinValidity);case 5:e.next=10;break;case 7:e.prev=7,e.t0=e["catch"](2),OpenC3Auth.login();case 10:return this.id=this.id+1,e.prev=11,r["scope"]=window.openc3Scope,e.next=15,g.Z.post("/openc3-api/api",{jsonrpc:"2.0",method:t,params:n,id:this.id,keyword_params:r},{headers:(0,c.Z)({Authorization:localStorage.openc3Token,"Content-Type":"application/json-rpc"},s)});case 15:return o=e.sent,e.abrupt("return",o.data.result);case 19:throw e.prev=19,e.t1=e["catch"](11),a=new Error,e.t1.response?(a.name=e.t1.response.data.error.data.class,a.message=e.t1.response.data.error.data.message):e.t1.request?(a.name="Request error",a.message="Request error, no response received"):a.name="Unknown error",a;case 24:case"end":return e.stop()}}),e,this,[[2,7],[11,19]])})));function t(t,n){return e.apply(this,arguments)}return t}()},{key:"decode_openc3_type",value:function(e){if(null!==e&&"object"===(0,a.Z)(e)&&"Float"==e.json_class&&e.raw){if("NaN"==e.raw)return NaN;if("Infinity"==e.raw)return 1/0;if("-Infinity"==e.raw)return-1/0}return null}},{key:"encode_openc3_type",value:function(e){return Number.isNaN(e)?{json_class:"Float",raw:"NaN"}:e==Number.POSITIVE_INFINITY?{json_class:"Float",raw:"Infinity"}:e==Number.NEGATIVE_INFINITY?{json_class:"Float",raw:"-Infinity"}:null}},{key:"get_all_interface_info",value:function(){return this.exec("get_all_interface_info",[])}},{key:"connect_interface",value:function(e){return this.exec("connect_interface",[e])}},{key:"disconnect_interface",value:function(e){return this.exec("disconnect_interface",[e])}},{key:"get_all_router_info",value:function(){return this.exec("get_all_router_info",[])}},{key:"connect_router",value:function(e){return this.exec("connect_router",[e])}},{key:"disconnect_router",value:function(e){return this.exec("disconnect_router",[e])}},{key:"get_all_target_info",value:function(){return this.exec("get_all_target_info",[])}},{key:"get_tlm_cnts",value:function(e){return this.exec("get_tlm_cnts",[e])}},{key:"get_item",value:function(e,t,n){return this.exec("get_item",[e,t,n])}},{key:"get_parameter",value:function(e,t,n){return this.exec("get_parameter",[e,t,n])}},{key:"get_all_packet_logger_info",value:function(){return this.exec("get_all_packet_logger_info",[])}},{key:"start_logging",value:function(){return this.exec("start_logging",[])}},{key:"stop_logging",value:function(){return this.exec("stop_logging",[])}},{key:"start_cmd_log",value:function(e){return this.exec("start_cmd_log",[e])}},{key:"start_tlm_log",value:function(e){return this.exec("start_tlm_log",[e])}},{key:"stop_cmd_log",value:function(e){return this.exec("stop_cmd_log",[e])}},{key:"stop_tlm_log",value:function(e){return this.exec("stop_tlm_log",[e])}},{key:"get_server_status",value:function(){return this.exec("get_server_status",[])}},{key:"get_limits_sets",value:function(){return this.exec("get_limits_sets",[])}},{key:"get_limits_set",value:function(){return this.exec("get_limits_set",[])}},{key:"set_limits_set",value:function(e){return this.exec("set_limits_set",[e])}},{key:"get_background_tasks",value:function(){return this.exec("get_background_tasks",[])}},{key:"start_background_task",value:function(e){return this.exec("start_background_task",[e])}},{key:"stop_background_task",value:function(e){return this.exec("stop_background_task",[e])}},{key:"get_oldest_logfile",value:function(){return this.exec("get_oldest_logfile",[])}},{key:"get_target",value:function(e){return this.exec("get_target",[e])}},{key:"get_target_list",value:function(){return this.exec("get_target_list",[])}},{key:"get_telemetry",value:function(e,t){return this.exec("get_telemetry",[e,t])}},{key:"get_all_telemetry",value:function(e){return this.exec("get_all_telemetry",[e])}},{key:"get_all_telemetry_names",value:function(e){return this.exec("get_all_telemetry_names",[e])}},{key:"get_tlm_packet",value:function(){var e=(0,l.Z)((0,i.Z)().mark((function e(t,n,r){var s,o,a,c;return(0,i.Z)().wrap((function(e){while(1)switch(e.prev=e.next){case 0:return e.next=2,this.exec("get_tlm_packet",[t,n],{type:r});case 2:if(s=e.sent,null!=s)for(o=s.length,a=null,c=0;c<o;c++)a=this.decode_openc3_type(s[c][1]),null!==a&&(s[c][1]=a);return e.abrupt("return",s);case 5:case"end":return e.stop()}}),e,this)})));function t(t,n,r){return e.apply(this,arguments)}return t}()},{key:"get_packet_derived_items",value:function(e,t){return this.exec("get_packet_derived_items",[e,t])}},{key:"get_tlm_buffer",value:function(e,t){return this.exec("get_tlm_buffer",[e,t])}},{key:"get_tlm_values",value:function(){var e=(0,l.Z)((0,i.Z)().mark((function e(t){var n,r,s,o;return(0,i.Z)().wrap((function(e){while(1)switch(e.prev=e.next){case 0:return e.next=2,this.exec("get_tlm_values",[t]);case 2:for(n=e.sent,r=n[0].length,s=null,o=0;o<r;o++)s=this.decode_openc3_type(n[0][o]),null!==s&&(n[0][o]=s);return e.abrupt("return",n);case 7:case"end":return e.stop()}}),e,this)})));function t(t){return e.apply(this,arguments)}return t}()},{key:"get_limits",value:function(e,t,n){return this.exec("get_limits",[e,t,n])}},{key:"tlm",value:function(){var e=(0,l.Z)((0,i.Z)().mark((function e(t,n,r){var s,o,a,c,l=arguments;return(0,i.Z)().wrap((function(e){while(1)switch(e.prev=e.next){case 0:if(s=l.length>3&&void 0!==l[3]?l[3]:"CONVERTED",o=null,void 0!==n){e.next=8;break}return e.next=5,this.exec("tlm",[t]);case 5:o=e.sent,e.next=24;break;case 8:if(void 0!==r){e.next=21;break}if(!["RAW","CONVERTED","FORMATTED","WITH_UNITS"].includes(n)){e.next=15;break}return e.next=12,this.exec("tlm",[t],{type:n});case 12:o=e.sent,e.next=19;break;case 15:throw a=new Error,a.name="TypeError",a.message="Invalid data type ".concat(n,". Valid options are RAW, CONVERTED, FORMATTED, and WITH_UNITS."),a;case 19:e.next=24;break;case 21:return e.next=23,this.exec("tlm",[t,n,r],{type:s});case 23:o=e.sent;case 24:return c=this.decode_openc3_type(o),null!==c&&(o=c),e.abrupt("return",o);case 27:case"end":return e.stop()}}),e,this)})));function t(t,n,r){return e.apply(this,arguments)}return t}()},{key:"get_all_commands",value:function(e){return this.exec("get_all_commands",[e])}},{key:"get_all_command_names",value:function(e){return this.exec("get_all_command_names",[e])}},{key:"get_command",value:function(e,t){return this.exec("get_command",[e,t])}},{key:"get_cmd_cnts",value:function(e){return this.exec("get_cmd_cnts",[e])}},{key:"get_cmd_value",value:function(e,t,n){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"CONVERTED";return this.exec("get_cmd_value",[e,t,n,r])}},{key:"get_cmd_buffer",value:function(e,t){return this.exec("get_cmd_buffer",[e,t])}},{key:"_cmd",value:function(e,t,n,r,s){var o=null;for(var a in r)Object.prototype.hasOwnProperty.call(r,a)&&(o=this.encode_openc3_type(r[a]),null!==o&&(r[a]=o));return this.exec(e,[t,n,r],{},s)}},{key:"get_cmd_hazardous",value:function(e,t,n){return void 0===t?this.exec("get_cmd_hazardous",e):this._cmd("get_cmd_hazardous",e,t,n)}},{key:"cmd",value:function(e,t,n){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};return void 0===t?this.exec("cmd",e,{},r):this._cmd("cmd",e,t,n,r)}},{key:"cmd_no_range_check",value:function(e,t,n){return void 0===t?this.exec("cmd_no_range_check",e):this._cmd("cmd_no_range_check",e,t,n)}},{key:"cmd_raw",value:function(e,t,n){return void 0===t?this.exec("cmd_raw",e):this._cmd("cmd_raw",e,t,n)}},{key:"cmd_raw_no_range_check",value:function(e,t,n){return void 0===t?this.exec("cmd_raw_no_range_check",e):this._cmd("cmd_raw_no_range_check",e,t,n)}},{key:"cmd_no_hazardous_check",value:function(e,t,n){return void 0===t?this.exec("cmd_no_hazardous_check",e):this._cmd("cmd_no_hazardous_check",e,t,n)}},{key:"cmd_no_checks",value:function(e,t,n){return void 0===t?this.exec("cmd_no_checks",e):this._cmd("cmd_no_checks",e,t,n)}},{key:"cmd_raw_no_hazardous_check",value:function(e,t,n){return void 0===t?this.exec("cmd_raw_no_hazardous_check",e):this._cmd("cmd_raw_no_hazardous_check",e,t,n)}},{key:"cmd_raw_no_checks",value:function(e,t,n){return void 0===t?this.exec("cmd_raw_no_checks",e):this._cmd("cmd_raw_no_checks",e,t,n)}},{key:"get_interface_names",value:function(){return this.exec("get_interface_names",[])}},{key:"send_raw",value:function(e,t){return this.exec("send_raw",[e,t])}},{key:"list_configs",value:function(e){return this.exec("list_configs",[e])}},{key:"load_config",value:function(e,t){return this.exec("load_config",[e,t])}},{key:"save_config",value:function(e,t,n){return this.exec("save_config",[e,t,n])}},{key:"delete_config",value:function(e,t){return this.exec("delete_config",[e,t])}},{key:"get_out_of_limits",value:function(){return this.exec("get_out_of_limits",[])}},{key:"get_overall_limits_state",value:function(e){return this.exec("get_overall_limits_state",[e])}},{key:"list_settings",value:function(){return this.exec("list_settings",[])}},{key:"get_all_settings",value:function(){return this.exec("get_all_settings",[])}},{key:"get_setting",value:function(e){return this.exec("get_setting",[e])}},{key:"get_settings",value:function(e){return this.exec("get_settings",e)}},{key:"save_setting",value:function(e,t){return this.exec("save_setting",[e,t])}},{key:"hashString",value:function(){var e=(0,l.Z)((0,i.Z)().mark((function e(t){var n,r,s;return(0,i.Z)().wrap((function(e){while(1)switch(e.prev=e.next){case 0:if(!window.isSecureContext){e.next=7;break}return n=(new TextEncoder).encode(t),e.next=4,crypto.subtle.digest("SHA-256",n);case 4:return r=e.sent,s=new Uint8Array(r),e.abrupt("return",Array.from(s).map((function(e){return e.toString(16).padStart(2,"0")})).join(""));case 7:case"end":return e.stop()}}),e)})));function t(t){return e.apply(this,arguments)}return t}()}]),e}(),f=function(){var e=this,t=e._self._c;return t("v-card",[t("v-card-title",[e._v("Classification Banner Settings")]),t("v-card-text",{staticClass:"pb-0"},[t("v-alert",{attrs:{type:"error",dismissible:"",dense:""},model:{value:e.errorLoading,callback:function(t){e.errorLoading=t},expression:"errorLoading"}},[e._v(" Error loading previous configuration ")]),t("v-container",{staticClass:"pb-0"},[t("v-row",{attrs:{dense:""}},[t("v-col",[t("v-text-field",{attrs:{label:"Text","data-test":"classification-banner-text"},model:{value:e.text,callback:function(t){e.text=t},expression:"text"}})],1)],1),t("v-row",{attrs:{dense:""}},[t("v-col",[t("v-select",{attrs:{label:"Background color",items:e.colors,"data-test":"classification-banner-background-color"},scopedSlots:e._u([e.selectedBackgroundColor?{key:"prepend-inner",fn:function(){return[t("v-icon",{attrs:{color:e.selectedBackgroundColor}},[e._v(" mdi-square ")])]},proxy:!0}:null,{key:"item",fn:function(n){return[n.item.value?t("v-icon",{staticClass:"pr-1",attrs:{color:n.item.value}},[e._v(" mdi-square ")]):e._e(),e._v(" "+e._s(n.item.text)+" ")]}}],null,!0),model:{value:e.selectedBackgroundColor,callback:function(t){e.selectedBackgroundColor=t},expression:"selectedBackgroundColor"}})],1),t("v-col",[t("v-text-field",{attrs:{label:"Custom background color",hint:e.customColorHint,disabled:!1!==e.selectedBackgroundColor,rules:[e.rules.customColor],"data-test":"classification-banner-custom-background-color"},scopedSlots:e._u([{key:"prepend-inner",fn:function(){return[t("v-icon",{directives:[{name:"show",rawName:"v-show",value:!e.selectedBackgroundColor,expression:"!selectedBackgroundColor"}],attrs:{color:e.customBackgroundColor}},[e._v(" mdi-square ")])]},proxy:!0}]),model:{value:e.customBackgroundColor,callback:function(t){e.customBackgroundColor=t},expression:"customBackgroundColor"}})],1),t("v-col",[t("v-select",{attrs:{label:"Font color",items:e.colors,"data-test":"classification-banner-font-color"},scopedSlots:e._u([e.selectedFontColor?{key:"prepend-inner",fn:function(){return[t("v-icon",{directives:[{name:"show",rawName:"v-show",value:e.selectedFontColor,expression:"selectedFontColor"}],attrs:{color:e.selectedFontColor}},[e._v(" mdi-square ")])]},proxy:!0}:null,{key:"item",fn:function(n){return[n.item.value?t("v-icon",{staticClass:"pr-1",attrs:{color:n.item.value}},[e._v(" mdi-square ")]):e._e(),e._v(" "+e._s(n.item.text)+" ")]}}],null,!0),model:{value:e.selectedFontColor,callback:function(t){e.selectedFontColor=t},expression:"selectedFontColor"}})],1),t("v-col",[t("v-text-field",{attrs:{label:"Custom font color",hint:e.customColorHint,disabled:!1!==e.selectedFontColor,rules:[e.rules.customColor],"data-test":"classification-banner-custom-font-color"},scopedSlots:e._u([{key:"prepend-inner",fn:function(){return[t("v-icon",{directives:[{name:"show",rawName:"v-show",value:!e.selectedFontColor,expression:"!selectedFontColor"}],attrs:{color:e.customFontColor}},[e._v(" mdi-square ")])]},proxy:!0}]),model:{value:e.customFontColor,callback:function(t){e.customFontColor=t},expression:"customFontColor"}})],1)],1),t("v-row",{attrs:{dense:""}},[t("v-col",[t("v-switch",{attrs:{label:"Display top banner","data-test":"display-top-banner"},model:{value:e.displayTopBanner,callback:function(t){e.displayTopBanner=t},expression:"displayTopBanner"}})],1),t("v-col",[t("v-text-field",{attrs:{label:"Top height",disabled:!e.displayTopBanner,type:"number",suffix:"px","data-test":"classification-banner-top-height"},model:{value:e.topHeight,callback:function(t){e.topHeight=t},expression:"topHeight"}})],1),t("v-col",[t("v-switch",{attrs:{label:"Display bottom banner","data-test":"display-bottom-banner"},model:{value:e.displayBottomBanner,callback:function(t){e.displayBottomBanner=t},expression:"displayBottomBanner"}})],1),t("v-col",[t("v-text-field",{attrs:{label:"Bottom height",disabled:!e.displayBottomBanner,type:"number",suffix:"px","data-test":"classification-banner-bottom-height"},model:{value:e.bottomHeight,callback:function(t){e.bottomHeight=t},expression:"bottomHeight"}})],1)],1)],1)],1),t("v-card-actions",[t("v-container",{staticClass:"pt-0"},[t("v-row",{attrs:{dense:""}},[t("v-col",{staticClass:"pl-0"},[t("v-btn",{attrs:{disabled:!e.formValid,color:"success",text:"","data-test":"save-classification-banner"},on:{click:e.save}},[e._v(" Save ")])],1)],1),t("v-alert",{attrs:{type:"error",dismissible:"",dense:""},model:{value:e.errorSaving,callback:function(t){e.errorSaving=t},expression:"errorSaving"}},[e._v(" Error saving ")]),t("v-alert",{attrs:{type:"success",dismissible:"",dense:""},model:{value:e.successSaving,callback:function(t){e.successSaving=t},expression:"successSaving"}},[e._v(" Saved! (Refresh the page to see changes) ")])],1)],1)],1)},p=[],h=(n(1850),n(6710),n(9644),"classification_banner"),m={data:function(){var e=this;return{api:null,errorLoading:!1,errorSaving:!1,successSaving:!1,text:"",displayTopBanner:!1,displayBottomBanner:!1,topHeight:0,bottomHeight:0,selectedBackgroundColor:"red",customBackgroundColor:"",selectedFontColor:"white",customFontColor:"",customColorHint:"Enter a 3 or 6-digit hex color code",colors:[{text:"Yellow",value:"yellow"},{text:"Orange",value:"orange"},{text:"Red",value:"red"},{text:"Purple",value:"purple"},{text:"Blue",value:"blue"},{text:"Green",value:"green"},{text:"Black",value:"black"},{text:"White",value:"white"},{text:"Custom",value:!1}],rules:{customColor:function(t){return/^#(?:[0-9a-fA-F]{3}){1,2}$/.test(t)||e.customColorHint}}}},computed:{saveObj:function(){return JSON.stringify({text:this.text,fontColor:this.selectedFontColor||this.customFontColor,backgroundColor:this.selectedBackgroundColor||this.customBackgroundColor,topHeight:this.displayTopBanner?this.topHeight:0,bottomHeight:this.displayBottomBanner?this.bottomHeight:0})},formValid:function(){return(this.selectedFontColor||!0===this.rules.customColor(this.customFontColor))&&(this.selectedBackgroundColor||!0===this.rules.customColor(this.customBackgroundColor))}},watch:{customFontColor:function(e){e&&e.length&&!e.startsWith("#")&&(this.customFontColor="#".concat(e))},customBackgroundColor:function(e){e&&e.length&&!e.startsWith("#")&&(this.customBackgroundColor="#".concat(e))}},created:function(){this.api=new _,this.load()},methods:{load:function(){var e=this;this.api.get_setting(h).then((function(t){if(e.errorLoading=!1,t){var n=JSON.parse(t);e.text=n.text,e.topHeight=n.topHeight,e.bottomHeight=n.bottomHeight,e.displayTopBanner=0!==n.topHeight,e.displayBottomBanner=0!==n.bottomHeight,n.backgroundColor&&n.backgroundColor.startsWith("#")?(e.customBackgroundColor=n.backgroundColor,e.selectedBackgroundColor=!1):e.selectedBackgroundColor=n.backgroundColor,n.fontColor&&n.fontColor.startsWith("#")?(e.customFontColor=n.fontColor,e.selectedFontColor=!1):e.selectedFontColor=n.fontColor}})).catch((function(t){e.errorLoading=!0}))},save:function(){var e=this;this.api.save_setting(h,this.saveObj).then((function(t){e.errorSaving=!1,e.successSaving=!0})).catch((function(t){e.errorSaving=!0}))}}},k=m,y=n(3483),x=(0,y.Z)(k,f,p,!1,null,null,null),b=x.exports,C={components:{ClassificationBannerSettings:b},data:function(){return{api:new _,suppressedWarnings:[],selectedSuppressedWarnings:[],selectAllSuppressedWarnings:!1,lastConfigs:[],selectedLastConfigs:[],selectAllLastConfigs:!1,sourceUrl:"",rubygemsUrl:"",errorSaving:!1,successSaving:!1}},watch:{selectAllSuppressedWarnings:function(e){this.selectedSuppressedWarnings=e?this.suppressedWarnings.map((function(e){return e.key})):[]},selectAllLastConfigs:function(e){this.selectedLastConfigs=e?this.lastConfigs.map((function(e){return e.key})):[]}},created:function(){this.loadSuppressedWarnings(),this.loadLastConfigs(),this.loadSourceUrl(),this.loadRubygemsUrl()},methods:{loadSuppressedWarnings:function(){this.suppressedWarnings=Object.keys(localStorage).filter((function(e){return e.startsWith("suppresswarning__")})).map(this.localStorageKeyToDisplayObject),this.selectedSuppressedWarnings=[]},resetSuppressedWarnings:function(){this.deleteLocalStorageKeys(this.selectedSuppressedWarnings),this.loadSuppressedWarnings()},loadLastConfigs:function(){this.lastConfigs=Object.keys(localStorage).filter((function(e){return e.startsWith("lastconfig__")})).map(this.localStorageKeyToDisplayObject),this.selectedLastConfigs=[]},clearLastConfigs:function(){this.deleteLocalStorageKeys(this.selectedLastConfigs),this.loadLastConfigs()},deleteLocalStorageKeys:function(e){var t,n=(0,o.Z)(e);try{for(n.s();!(t=n.n()).done;){var r=t.value;delete localStorage[r]}}catch(s){n.e(s)}finally{n.f()}},localStorageKeyToDisplayObject:function(e){var t=e.split("__")[1].replaceAll("_"," ");return{key:e,text:t.charAt(0).toUpperCase()+t.slice(1),value:localStorage[e]}},loadSourceUrl:function(){var e=this;this.api.get_setting("source_url").then((function(t){e.sourceUrl=t})).catch((function(){e.sourceUrl="https://github.com/OpenC3/openc3"}))},saveSourceUrl:function(){var e=this;this.api.save_setting("source_url",this.sourceUrl).then((function(t){e.errorSaving=!1,e.successSaving=!0})).catch((function(t){e.errorSaving=!0}))},loadRubygemsUrl:function(){var e=this;this.api.get_setting("rubygems_url").then((function(t){e.rubygemsUrl=t})).catch((function(){e.rubygemsUrl="https://rubygems.org"}))},saveRubygemsUrl:function(){var e=this;this.api.save_setting("rubygems_url",this.rubygemsUrl).then((function(t){e.errorSaving=!1,e.successSaving=!0})).catch((function(t){e.errorSaving=!0}))}}},S=C,w=(0,y.Z)(S,r,s,!1,null,null,null),B=w.exports},8312:function(e,t,n){var r=n(4768);e.exports=function(e,t,n){for(var s in t)r(e,s,t[s],n);return e}},7456:function(e,t,n){var r=n(598);e.exports=/Version\/10(?:\.\d+){1,2}(?: [\w./]+)?(?: Mobile\/\w+)? Safari\//.test(r)},6650:function(e,t,n){var r=n(5968),s=n(4237),o=n(3326),a=n(3124),i=n(8885),c=r(a),l=r("".slice),u=Math.ceil,d=function(e){return function(t,n,r){var a,d,v=o(i(t)),g=s(n),_=v.length,f=void 0===r?" ":o(r);return g<=_||""==f?v:(a=g-_,d=c(f,u(a/f.length)),d.length>a&&(d=l(d,0,a)),e?v+d:d+v)}};e.exports={start:d(!1),end:d(!0)}},5734:function(e,t,n){"use strict";var r=n(3103),s=n(6650).start,o=n(7456);r({target:"String",proto:!0,forced:o},{padStart:function(e){return s(this,e,arguments.length>1?arguments[1]:void 0)}})},1639:function(e,t,n){"use strict";var r=n(3103),s=n(266),o=n(5968),a=n(8885),i=n(6733),c=n(9650),l=n(8311),u=n(3326),d=n(5300),v=n(3349),g=n(17),_=n(95),f=n(4231),p=_("replace"),h=TypeError,m=o("".indexOf),k=o("".replace),y=o("".slice),x=Math.max,b=function(e,t,n){return n>e.length?-1:""===t?n:m(e,t,n)};r({target:"String",proto:!0},{replaceAll:function(e,t){var n,r,o,_,C,S,w,B,T,F=a(this),L=0,U=0,W="";if(!c(e)){if(n=l(e),n&&(r=u(a(v(e))),!~m(r,"g")))throw h("`.replaceAll` does not allow non-global regexes");if(o=d(e,p),o)return s(o,e,F,t);if(f&&n)return k(u(F),e,t)}_=u(F),C=u(e),S=i(t),S||(t=u(t)),w=C.length,B=x(1,w),L=b(_,C,0);while(-1!==L)T=S?u(t(C,L,_)):g(C,_,L,[],void 0,t),W+=y(_,U,L)+T,U=L+w,L=b(_,C,L+B);return U<_.length&&(W+=y(_,U)),W}})},2256:function(e,t,n){"use strict";n(9529),n(1235),n(8188),n(8233);var r=n(9644),s=n.n(r),o=n(4091),a=new o["default"],i=s().create({baseURL:location.origin,timeout:6e4,params:{}});i.interceptors.response.use((function(e){return e}),(function(e){if(e.response){var t,n,r,s,o,i,c,l,u,d;if(401===e.response.status&&OpenC3Auth.updateToken(OpenC3Auth.defaultMinValidity,!0),e.response.headers["ignore-errors"]&&e.response.headers["ignore-errors"].includes(e.response.status.toString()))return Promise.reject(e);var v="HTTP ".concat(e.response.status," - ");if(null!==(t=e.response)&&void 0!==t&&t.statusText&&(v+="".concat(e.response.statusText," ")),null!==(n=e.response)&&void 0!==n&&null!==(r=n.config)&&void 0!==r&&r.data&&(v+="".concat(e.response.config.data," ")),null!==(s=e.response)&&void 0!==s&&null!==(o=s.data)&&void 0!==o&&o.message)v+="".concat(e.response.data.message);else if(null!==(i=e.response)&&void 0!==i&&null!==(c=i.data)&&void 0!==c&&c.exception)v+="".concat(e.response.data.exception);else if(null!==(l=e.response)&&void 0!==l&&null!==(u=l.data)&&void 0!==u&&null!==(d=u.error)&&void 0!==d&&d.message)e.response.data.error.class&&(v+="".concat(e.response.data.error.class," ")),v+="".concat(e.response.data.error.message);else{var g;v+="".concat(null===(g=e.response)||void 0===g?void 0:g.data)}throw a.$notify.serious({title:"Network error",body:v}),e}throw e})),t["Z"]=i},4282:function(e,t,n){"use strict";n.d(t,{Z:function(){return s}});n(4115),n(634),n(8188),n(796),n(8673),n(6886),n(1372);var r=n(1644);function s(e,t){var n="undefined"!==typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=(0,r.Z)(e))||t&&e&&"number"===typeof e.length){n&&(e=n);var s=0,o=function(){};return{s:o,n:function(){return s>=e.length?{done:!0}:{done:!1,value:e[s++]}},e:function(e){throw e},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,i=!0,c=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return i=e.done,e},e:function(e){c=!0,a=e},f:function(){try{i||null==n["return"]||n["return"]()}finally{if(c)throw a}}}}}}]);
1
+ (self["webpackChunk_openc3_tool_admin"]=self["webpackChunk_openc3_tool_admin"]||[]).push([[561],{1522:function(e,t,n){"use strict";n.r(t),n.d(t,{default:function(){return B}});n(8178);var r=function(){var e=this,t=e._self._c;return t("div",[t("v-card",[t("v-card-title",[e._v(" Reset suppressed warnings ")]),t("v-card-subtitle",[e._v(' This resets "don\'t show this again" dialogs on this browser ')]),t("v-card-text",{staticClass:"pb-0 ml-2"},[e.suppressedWarnings.length?[t("v-checkbox",{staticClass:"mt-0",attrs:{label:"Select all","data-test":"select-all-suppressed-warnings"},model:{value:e.selectAllSuppressedWarnings,callback:function(t){e.selectAllSuppressedWarnings=t},expression:"selectAllSuppressedWarnings"}}),e._l(e.suppressedWarnings,(function(n){return t("v-checkbox",{key:n.key,staticClass:"mt-0",attrs:{label:n.text,value:n.key,dense:""},model:{value:e.selectedSuppressedWarnings,callback:function(t){e.selectedSuppressedWarnings=t},expression:"selectedSuppressedWarnings"}})}))]:[e._v(" No warnings to reset ")]],2),t("v-card-actions",[t("v-btn",{staticClass:"ml-2",attrs:{disabled:!e.selectedSuppressedWarnings.length,color:"warning",text:"","data-test":"reset-suppressed-warnings"},on:{click:e.resetSuppressedWarnings}},[e._v(" Reset ")])],1)],1),t("v-divider"),t("v-card",[t("v-card-title",[e._v(" Clear recent configs ")]),t("v-card-subtitle",[e._v(" This clears the most recently saved/loaded tool configs on this browser ")]),t("v-card-text",{staticClass:"pb-0 ml-2"},[e.lastConfigs.length?[t("v-checkbox",{staticClass:"mt-0",attrs:{label:"Select all","data-test":"select-all-last-configs"},model:{value:e.selectAllLastConfigs,callback:function(t){e.selectAllLastConfigs=t},expression:"selectAllLastConfigs"}}),e._l(e.lastConfigs,(function(n){return t("v-checkbox",{key:n.key,staticClass:"mt-0",attrs:{label:"".concat(n.text," (").concat(n.value,")"),value:n.key,dense:""},model:{value:e.selectedLastConfigs,callback:function(t){e.selectedLastConfigs=t},expression:"selectedLastConfigs"}})}))]:[e._v(" No configs to clear ")]],2),t("v-card-actions",[t("v-btn",{staticClass:"ml-2",attrs:{disabled:!e.selectedLastConfigs.length,color:"warning",text:"","data-test":"clear-last-configs"},on:{click:e.clearLastConfigs}},[e._v(" Clear ")])],1)],1),t("v-divider"),t("classification-banner-settings"),t("v-divider"),t("v-card",[t("v-card-title",[e._v(" Source code URL ")]),t("v-card-subtitle",[e._v(' This sets the URL for the "Source" link in the footer. This is required under the AGPL license. ')]),t("v-card-text",{staticClass:"pb-0 ml-2"},[t("v-text-field",{attrs:{label:"Source URL","data-test":"source-url"},model:{value:e.sourceUrl,callback:function(t){e.sourceUrl=t},expression:"sourceUrl"}})],1),t("v-card-actions",[t("v-container",{staticClass:"pt-0"},[t("v-row",{attrs:{dense:""}},[t("v-col",{staticClass:"pl-0"},[t("v-btn",{attrs:{color:"success",text:"","data-test":"save-source-url"},on:{click:e.saveSourceUrl}},[e._v(" Save ")])],1)],1),t("v-alert",{attrs:{type:"error",dismissible:"",dense:""},model:{value:e.errorSaving,callback:function(t){e.errorSaving=t},expression:"errorSaving"}},[e._v(" Error saving ")]),t("v-alert",{attrs:{type:"success",dismissible:"",dense:""},model:{value:e.successSaving,callback:function(t){e.successSaving=t},expression:"successSaving"}},[e._v(" Saved! (Refresh the page to see changes) ")])],1)],1)],1),t("v-divider"),t("v-card",[t("v-card-title",[e._v(" Rubygems URL ")]),t("v-card-subtitle",[e._v(" This sets the URL for installing dependency rubygems. Also used for rubygem discovery. ")]),t("v-card-text",{staticClass:"pb-0 ml-2"},[t("v-text-field",{attrs:{label:"Rubygems URL","data-test":"rubygems-url"},model:{value:e.rubygemsUrl,callback:function(t){e.rubygemsUrl=t},expression:"rubygemsUrl"}})],1),t("v-card-actions",[t("v-container",{staticClass:"pt-0"},[t("v-row",{attrs:{dense:""}},[t("v-col",{staticClass:"pl-0"},[t("v-btn",{attrs:{color:"success",text:"","data-test":"save-rubygems-url"},on:{click:e.saveRubygemsUrl}},[e._v(" Save ")])],1)],1),t("v-alert",{attrs:{type:"error",dismissible:"",dense:""},model:{value:e.errorSaving,callback:function(t){e.errorSaving=t},expression:"errorSaving"}},[e._v(" Error saving ")]),t("v-alert",{attrs:{type:"success",dismissible:"",dense:""},model:{value:e.successSaving,callback:function(t){e.successSaving=t},expression:"successSaving"}},[e._v(" Saved! (Refresh the page to see changes) ")])],1)],1)],1)],1)},s=[],o=n(4282),a=(n(3450),n(5342),n(8188),n(4769),n(4112),n(7950),n(5940),n(1639),n(2501),n(6632)),i=n(21),c=n(4948),l=n(6706),u=n(4567),d=n(6812),v=n(6274),g=(n(1372),n(1245),n(9529),n(3675),n(4898),n(5825),n(7170),n(8857),n(8329),n(6279),n(427),n(171),n(7093),n(1159),n(2516),n(4349),n(5273),n(6729),n(1801),n(574),n(5787),n(9271),n(3160),n(5688),n(3157),n(3333),n(315),n(556),n(9224),n(7233),n(8673),n(5734),n(8233),n(2256)),_=function(){function e(){(0,u.Z)(this,e),(0,v.Z)(this,"id",1)}return(0,d.Z)(e,[{key:"exec",value:function(){var e=(0,l.Z)((0,i.Z)().mark((function e(t,n){var r,s,o,a,l=arguments;return(0,i.Z)().wrap((function(e){while(1)switch(e.prev=e.next){case 0:return r=l.length>2&&void 0!==l[2]?l[2]:{},s=l.length>3&&void 0!==l[3]?l[3]:{},e.prev=2,e.next=5,OpenC3Auth.updateToken(OpenC3Auth.defaultMinValidity);case 5:e.next=10;break;case 7:e.prev=7,e.t0=e["catch"](2),OpenC3Auth.login();case 10:return this.id=this.id+1,e.prev=11,r["scope"]=window.openc3Scope,e.next=15,g.Z.post("/openc3-api/api",{jsonrpc:"2.0",method:t,params:n,id:this.id,keyword_params:r},{headers:(0,c.Z)({Authorization:localStorage.openc3Token,"Content-Type":"application/json-rpc"},s)});case 15:return o=e.sent,e.abrupt("return",o.data.result);case 19:throw e.prev=19,e.t1=e["catch"](11),a=new Error,e.t1.response?(a.name=e.t1.response.data.error.data.class,a.message=e.t1.response.data.error.data.message):e.t1.request?(a.name="Request error",a.message="Request error, no response received"):a.name="Unknown error",a;case 24:case"end":return e.stop()}}),e,this,[[2,7],[11,19]])})));function t(t,n){return e.apply(this,arguments)}return t}()},{key:"decode_openc3_type",value:function(e){if(null!==e&&"object"===(0,a.Z)(e)&&"Float"==e.json_class&&e.raw){if("NaN"==e.raw)return NaN;if("Infinity"==e.raw)return 1/0;if("-Infinity"==e.raw)return-1/0}return null}},{key:"encode_openc3_type",value:function(e){return Number.isNaN(e)?{json_class:"Float",raw:"NaN"}:e==Number.POSITIVE_INFINITY?{json_class:"Float",raw:"Infinity"}:e==Number.NEGATIVE_INFINITY?{json_class:"Float",raw:"-Infinity"}:null}},{key:"get_all_interface_info",value:function(){return this.exec("get_all_interface_info",[])}},{key:"map_target_to_interface",value:function(e,t){return this.exec("map_target_to_interface",[e,t])}},{key:"connect_interface",value:function(e){return this.exec("connect_interface",[e])}},{key:"disconnect_interface",value:function(e){return this.exec("disconnect_interface",[e])}},{key:"get_all_router_info",value:function(){return this.exec("get_all_router_info",[])}},{key:"connect_router",value:function(e){return this.exec("connect_router",[e])}},{key:"disconnect_router",value:function(e){return this.exec("disconnect_router",[e])}},{key:"get_all_target_info",value:function(){return this.exec("get_all_target_info",[])}},{key:"get_tlm_cnts",value:function(e){return this.exec("get_tlm_cnts",[e])}},{key:"get_item",value:function(e,t,n){return this.exec("get_item",[e,t,n])}},{key:"get_parameter",value:function(e,t,n){return this.exec("get_parameter",[e,t,n])}},{key:"get_all_packet_logger_info",value:function(){return this.exec("get_all_packet_logger_info",[])}},{key:"start_logging",value:function(){return this.exec("start_logging",[])}},{key:"stop_logging",value:function(){return this.exec("stop_logging",[])}},{key:"start_cmd_log",value:function(e){return this.exec("start_cmd_log",[e])}},{key:"start_tlm_log",value:function(e){return this.exec("start_tlm_log",[e])}},{key:"stop_cmd_log",value:function(e){return this.exec("stop_cmd_log",[e])}},{key:"stop_tlm_log",value:function(e){return this.exec("stop_tlm_log",[e])}},{key:"get_server_status",value:function(){return this.exec("get_server_status",[])}},{key:"get_limits_sets",value:function(){return this.exec("get_limits_sets",[])}},{key:"get_limits_set",value:function(){return this.exec("get_limits_set",[])}},{key:"set_limits_set",value:function(e){return this.exec("set_limits_set",[e])}},{key:"get_background_tasks",value:function(){return this.exec("get_background_tasks",[])}},{key:"start_background_task",value:function(e){return this.exec("start_background_task",[e])}},{key:"stop_background_task",value:function(e){return this.exec("stop_background_task",[e])}},{key:"get_oldest_logfile",value:function(){return this.exec("get_oldest_logfile",[])}},{key:"get_target",value:function(e){return this.exec("get_target",[e])}},{key:"get_target_list",value:function(){return this.exec("get_target_list",[])}},{key:"get_telemetry",value:function(e,t){return this.exec("get_telemetry",[e,t])}},{key:"get_all_telemetry",value:function(e){return this.exec("get_all_telemetry",[e])}},{key:"get_all_telemetry_names",value:function(e){return this.exec("get_all_telemetry_names",[e])}},{key:"get_tlm_packet",value:function(){var e=(0,l.Z)((0,i.Z)().mark((function e(t,n,r){var s,o,a,c;return(0,i.Z)().wrap((function(e){while(1)switch(e.prev=e.next){case 0:return e.next=2,this.exec("get_tlm_packet",[t,n],{type:r});case 2:if(s=e.sent,null!=s)for(o=s.length,a=null,c=0;c<o;c++)a=this.decode_openc3_type(s[c][1]),null!==a&&(s[c][1]=a);return e.abrupt("return",s);case 5:case"end":return e.stop()}}),e,this)})));function t(t,n,r){return e.apply(this,arguments)}return t}()},{key:"get_packet_derived_items",value:function(e,t){return this.exec("get_packet_derived_items",[e,t])}},{key:"get_tlm_buffer",value:function(e,t){return this.exec("get_tlm_buffer",[e,t])}},{key:"get_tlm_values",value:function(){var e=(0,l.Z)((0,i.Z)().mark((function e(t){var n,r,s,o;return(0,i.Z)().wrap((function(e){while(1)switch(e.prev=e.next){case 0:return e.next=2,this.exec("get_tlm_values",[t]);case 2:for(n=e.sent,r=n[0].length,s=null,o=0;o<r;o++)s=this.decode_openc3_type(n[0][o]),null!==s&&(n[0][o]=s);return e.abrupt("return",n);case 7:case"end":return e.stop()}}),e,this)})));function t(t){return e.apply(this,arguments)}return t}()},{key:"get_limits",value:function(e,t,n){return this.exec("get_limits",[e,t,n])}},{key:"tlm",value:function(){var e=(0,l.Z)((0,i.Z)().mark((function e(t,n,r){var s,o,a,c,l=arguments;return(0,i.Z)().wrap((function(e){while(1)switch(e.prev=e.next){case 0:if(s=l.length>3&&void 0!==l[3]?l[3]:"CONVERTED",o=null,void 0!==n){e.next=8;break}return e.next=5,this.exec("tlm",[t]);case 5:o=e.sent,e.next=24;break;case 8:if(void 0!==r){e.next=21;break}if(!["RAW","CONVERTED","FORMATTED","WITH_UNITS"].includes(n)){e.next=15;break}return e.next=12,this.exec("tlm",[t],{type:n});case 12:o=e.sent,e.next=19;break;case 15:throw a=new Error,a.name="TypeError",a.message="Invalid data type ".concat(n,". Valid options are RAW, CONVERTED, FORMATTED, and WITH_UNITS."),a;case 19:e.next=24;break;case 21:return e.next=23,this.exec("tlm",[t,n,r],{type:s});case 23:o=e.sent;case 24:return c=this.decode_openc3_type(o),null!==c&&(o=c),e.abrupt("return",o);case 27:case"end":return e.stop()}}),e,this)})));function t(t,n,r){return e.apply(this,arguments)}return t}()},{key:"get_all_commands",value:function(e){return this.exec("get_all_commands",[e])}},{key:"get_all_command_names",value:function(e){return this.exec("get_all_command_names",[e])}},{key:"get_command",value:function(e,t){return this.exec("get_command",[e,t])}},{key:"get_cmd_cnts",value:function(e){return this.exec("get_cmd_cnts",[e])}},{key:"get_cmd_value",value:function(e,t,n){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"CONVERTED";return this.exec("get_cmd_value",[e,t,n,r])}},{key:"get_cmd_buffer",value:function(e,t){return this.exec("get_cmd_buffer",[e,t])}},{key:"_cmd",value:function(e,t,n,r,s){var o=null;for(var a in r)Object.prototype.hasOwnProperty.call(r,a)&&(o=this.encode_openc3_type(r[a]),null!==o&&(r[a]=o));return this.exec(e,[t,n,r],{},s)}},{key:"get_cmd_hazardous",value:function(e,t,n){return void 0===t?this.exec("get_cmd_hazardous",e):this._cmd("get_cmd_hazardous",e,t,n)}},{key:"cmd",value:function(e,t,n){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};return void 0===t?this.exec("cmd",e,{},r):this._cmd("cmd",e,t,n,r)}},{key:"cmd_no_range_check",value:function(e,t,n){return void 0===t?this.exec("cmd_no_range_check",e):this._cmd("cmd_no_range_check",e,t,n)}},{key:"cmd_raw",value:function(e,t,n){return void 0===t?this.exec("cmd_raw",e):this._cmd("cmd_raw",e,t,n)}},{key:"cmd_raw_no_range_check",value:function(e,t,n){return void 0===t?this.exec("cmd_raw_no_range_check",e):this._cmd("cmd_raw_no_range_check",e,t,n)}},{key:"cmd_no_hazardous_check",value:function(e,t,n){return void 0===t?this.exec("cmd_no_hazardous_check",e):this._cmd("cmd_no_hazardous_check",e,t,n)}},{key:"cmd_no_checks",value:function(e,t,n){return void 0===t?this.exec("cmd_no_checks",e):this._cmd("cmd_no_checks",e,t,n)}},{key:"cmd_raw_no_hazardous_check",value:function(e,t,n){return void 0===t?this.exec("cmd_raw_no_hazardous_check",e):this._cmd("cmd_raw_no_hazardous_check",e,t,n)}},{key:"cmd_raw_no_checks",value:function(e,t,n){return void 0===t?this.exec("cmd_raw_no_checks",e):this._cmd("cmd_raw_no_checks",e,t,n)}},{key:"get_interface_names",value:function(){return this.exec("get_interface_names",[])}},{key:"send_raw",value:function(e,t){return this.exec("send_raw",[e,t])}},{key:"list_configs",value:function(e){return this.exec("list_configs",[e])}},{key:"load_config",value:function(e,t){return this.exec("load_config",[e,t])}},{key:"save_config",value:function(e,t,n){return this.exec("save_config",[e,t,n])}},{key:"delete_config",value:function(e,t){return this.exec("delete_config",[e,t])}},{key:"get_out_of_limits",value:function(){return this.exec("get_out_of_limits",[])}},{key:"get_overall_limits_state",value:function(e){return this.exec("get_overall_limits_state",[e])}},{key:"list_settings",value:function(){return this.exec("list_settings",[])}},{key:"get_all_settings",value:function(){return this.exec("get_all_settings",[])}},{key:"get_setting",value:function(e){return this.exec("get_setting",[e])}},{key:"get_settings",value:function(e){return this.exec("get_settings",e)}},{key:"save_setting",value:function(e,t){return this.exec("save_setting",[e,t])}},{key:"hashString",value:function(){var e=(0,l.Z)((0,i.Z)().mark((function e(t){var n,r,s;return(0,i.Z)().wrap((function(e){while(1)switch(e.prev=e.next){case 0:if(!window.isSecureContext){e.next=7;break}return n=(new TextEncoder).encode(t),e.next=4,crypto.subtle.digest("SHA-256",n);case 4:return r=e.sent,s=new Uint8Array(r),e.abrupt("return",Array.from(s).map((function(e){return e.toString(16).padStart(2,"0")})).join(""));case 7:case"end":return e.stop()}}),e)})));function t(t){return e.apply(this,arguments)}return t}()}]),e}(),f=function(){var e=this,t=e._self._c;return t("v-card",[t("v-card-title",[e._v("Classification Banner Settings")]),t("v-card-text",{staticClass:"pb-0"},[t("v-alert",{attrs:{type:"error",dismissible:"",dense:""},model:{value:e.errorLoading,callback:function(t){e.errorLoading=t},expression:"errorLoading"}},[e._v(" Error loading previous configuration ")]),t("v-container",{staticClass:"pb-0"},[t("v-row",{attrs:{dense:""}},[t("v-col",[t("v-text-field",{attrs:{label:"Text","data-test":"classification-banner-text"},model:{value:e.text,callback:function(t){e.text=t},expression:"text"}})],1)],1),t("v-row",{attrs:{dense:""}},[t("v-col",[t("v-select",{attrs:{label:"Background color",items:e.colors,"data-test":"classification-banner-background-color"},scopedSlots:e._u([e.selectedBackgroundColor?{key:"prepend-inner",fn:function(){return[t("v-icon",{attrs:{color:e.selectedBackgroundColor}},[e._v(" mdi-square ")])]},proxy:!0}:null,{key:"item",fn:function(n){return[n.item.value?t("v-icon",{staticClass:"pr-1",attrs:{color:n.item.value}},[e._v(" mdi-square ")]):e._e(),e._v(" "+e._s(n.item.text)+" ")]}}],null,!0),model:{value:e.selectedBackgroundColor,callback:function(t){e.selectedBackgroundColor=t},expression:"selectedBackgroundColor"}})],1),t("v-col",[t("v-text-field",{attrs:{label:"Custom background color",hint:e.customColorHint,disabled:!1!==e.selectedBackgroundColor,rules:[e.rules.customColor],"data-test":"classification-banner-custom-background-color"},scopedSlots:e._u([{key:"prepend-inner",fn:function(){return[t("v-icon",{directives:[{name:"show",rawName:"v-show",value:!e.selectedBackgroundColor,expression:"!selectedBackgroundColor"}],attrs:{color:e.customBackgroundColor}},[e._v(" mdi-square ")])]},proxy:!0}]),model:{value:e.customBackgroundColor,callback:function(t){e.customBackgroundColor=t},expression:"customBackgroundColor"}})],1),t("v-col",[t("v-select",{attrs:{label:"Font color",items:e.colors,"data-test":"classification-banner-font-color"},scopedSlots:e._u([e.selectedFontColor?{key:"prepend-inner",fn:function(){return[t("v-icon",{directives:[{name:"show",rawName:"v-show",value:e.selectedFontColor,expression:"selectedFontColor"}],attrs:{color:e.selectedFontColor}},[e._v(" mdi-square ")])]},proxy:!0}:null,{key:"item",fn:function(n){return[n.item.value?t("v-icon",{staticClass:"pr-1",attrs:{color:n.item.value}},[e._v(" mdi-square ")]):e._e(),e._v(" "+e._s(n.item.text)+" ")]}}],null,!0),model:{value:e.selectedFontColor,callback:function(t){e.selectedFontColor=t},expression:"selectedFontColor"}})],1),t("v-col",[t("v-text-field",{attrs:{label:"Custom font color",hint:e.customColorHint,disabled:!1!==e.selectedFontColor,rules:[e.rules.customColor],"data-test":"classification-banner-custom-font-color"},scopedSlots:e._u([{key:"prepend-inner",fn:function(){return[t("v-icon",{directives:[{name:"show",rawName:"v-show",value:!e.selectedFontColor,expression:"!selectedFontColor"}],attrs:{color:e.customFontColor}},[e._v(" mdi-square ")])]},proxy:!0}]),model:{value:e.customFontColor,callback:function(t){e.customFontColor=t},expression:"customFontColor"}})],1)],1),t("v-row",{attrs:{dense:""}},[t("v-col",[t("v-switch",{attrs:{label:"Display top banner","data-test":"display-top-banner"},model:{value:e.displayTopBanner,callback:function(t){e.displayTopBanner=t},expression:"displayTopBanner"}})],1),t("v-col",[t("v-text-field",{attrs:{label:"Top height",disabled:!e.displayTopBanner,type:"number",suffix:"px","data-test":"classification-banner-top-height"},model:{value:e.topHeight,callback:function(t){e.topHeight=t},expression:"topHeight"}})],1),t("v-col",[t("v-switch",{attrs:{label:"Display bottom banner","data-test":"display-bottom-banner"},model:{value:e.displayBottomBanner,callback:function(t){e.displayBottomBanner=t},expression:"displayBottomBanner"}})],1),t("v-col",[t("v-text-field",{attrs:{label:"Bottom height",disabled:!e.displayBottomBanner,type:"number",suffix:"px","data-test":"classification-banner-bottom-height"},model:{value:e.bottomHeight,callback:function(t){e.bottomHeight=t},expression:"bottomHeight"}})],1)],1)],1)],1),t("v-card-actions",[t("v-container",{staticClass:"pt-0"},[t("v-row",{attrs:{dense:""}},[t("v-col",{staticClass:"pl-0"},[t("v-btn",{attrs:{disabled:!e.formValid,color:"success",text:"","data-test":"save-classification-banner"},on:{click:e.save}},[e._v(" Save ")])],1)],1),t("v-alert",{attrs:{type:"error",dismissible:"",dense:""},model:{value:e.errorSaving,callback:function(t){e.errorSaving=t},expression:"errorSaving"}},[e._v(" Error saving ")]),t("v-alert",{attrs:{type:"success",dismissible:"",dense:""},model:{value:e.successSaving,callback:function(t){e.successSaving=t},expression:"successSaving"}},[e._v(" Saved! (Refresh the page to see changes) ")])],1)],1)],1)},p=[],h=(n(1850),n(6710),n(9644),"classification_banner"),m={data:function(){var e=this;return{api:null,errorLoading:!1,errorSaving:!1,successSaving:!1,text:"",displayTopBanner:!1,displayBottomBanner:!1,topHeight:0,bottomHeight:0,selectedBackgroundColor:"red",customBackgroundColor:"",selectedFontColor:"white",customFontColor:"",customColorHint:"Enter a 3 or 6-digit hex color code",colors:[{text:"Yellow",value:"yellow"},{text:"Orange",value:"orange"},{text:"Red",value:"red"},{text:"Purple",value:"purple"},{text:"Blue",value:"blue"},{text:"Green",value:"green"},{text:"Black",value:"black"},{text:"White",value:"white"},{text:"Custom",value:!1}],rules:{customColor:function(t){return/^#(?:[0-9a-fA-F]{3}){1,2}$/.test(t)||e.customColorHint}}}},computed:{saveObj:function(){return JSON.stringify({text:this.text,fontColor:this.selectedFontColor||this.customFontColor,backgroundColor:this.selectedBackgroundColor||this.customBackgroundColor,topHeight:this.displayTopBanner?this.topHeight:0,bottomHeight:this.displayBottomBanner?this.bottomHeight:0})},formValid:function(){return(this.selectedFontColor||!0===this.rules.customColor(this.customFontColor))&&(this.selectedBackgroundColor||!0===this.rules.customColor(this.customBackgroundColor))}},watch:{customFontColor:function(e){e&&e.length&&!e.startsWith("#")&&(this.customFontColor="#".concat(e))},customBackgroundColor:function(e){e&&e.length&&!e.startsWith("#")&&(this.customBackgroundColor="#".concat(e))}},created:function(){this.api=new _,this.load()},methods:{load:function(){var e=this;this.api.get_setting(h).then((function(t){if(e.errorLoading=!1,t){var n=JSON.parse(t);e.text=n.text,e.topHeight=n.topHeight,e.bottomHeight=n.bottomHeight,e.displayTopBanner=0!==n.topHeight,e.displayBottomBanner=0!==n.bottomHeight,n.backgroundColor&&n.backgroundColor.startsWith("#")?(e.customBackgroundColor=n.backgroundColor,e.selectedBackgroundColor=!1):e.selectedBackgroundColor=n.backgroundColor,n.fontColor&&n.fontColor.startsWith("#")?(e.customFontColor=n.fontColor,e.selectedFontColor=!1):e.selectedFontColor=n.fontColor}})).catch((function(t){e.errorLoading=!0}))},save:function(){var e=this;this.api.save_setting(h,this.saveObj).then((function(t){e.errorSaving=!1,e.successSaving=!0})).catch((function(t){e.errorSaving=!0}))}}},k=m,y=n(3483),x=(0,y.Z)(k,f,p,!1,null,null,null),b=x.exports,C={components:{ClassificationBannerSettings:b},data:function(){return{api:new _,suppressedWarnings:[],selectedSuppressedWarnings:[],selectAllSuppressedWarnings:!1,lastConfigs:[],selectedLastConfigs:[],selectAllLastConfigs:!1,sourceUrl:"",rubygemsUrl:"",errorSaving:!1,successSaving:!1}},watch:{selectAllSuppressedWarnings:function(e){this.selectedSuppressedWarnings=e?this.suppressedWarnings.map((function(e){return e.key})):[]},selectAllLastConfigs:function(e){this.selectedLastConfigs=e?this.lastConfigs.map((function(e){return e.key})):[]}},created:function(){this.loadSuppressedWarnings(),this.loadLastConfigs(),this.loadSourceUrl(),this.loadRubygemsUrl()},methods:{loadSuppressedWarnings:function(){this.suppressedWarnings=Object.keys(localStorage).filter((function(e){return e.startsWith("suppresswarning__")})).map(this.localStorageKeyToDisplayObject),this.selectedSuppressedWarnings=[]},resetSuppressedWarnings:function(){this.deleteLocalStorageKeys(this.selectedSuppressedWarnings),this.loadSuppressedWarnings()},loadLastConfigs:function(){this.lastConfigs=Object.keys(localStorage).filter((function(e){return e.startsWith("lastconfig__")})).map(this.localStorageKeyToDisplayObject),this.selectedLastConfigs=[]},clearLastConfigs:function(){this.deleteLocalStorageKeys(this.selectedLastConfigs),this.loadLastConfigs()},deleteLocalStorageKeys:function(e){var t,n=(0,o.Z)(e);try{for(n.s();!(t=n.n()).done;){var r=t.value;delete localStorage[r]}}catch(s){n.e(s)}finally{n.f()}},localStorageKeyToDisplayObject:function(e){var t=e.split("__")[1].replaceAll("_"," ");return{key:e,text:t.charAt(0).toUpperCase()+t.slice(1),value:localStorage[e]}},loadSourceUrl:function(){var e=this;this.api.get_setting("source_url").then((function(t){e.sourceUrl=t})).catch((function(){e.sourceUrl="https://github.com/OpenC3/openc3"}))},saveSourceUrl:function(){var e=this;this.api.save_setting("source_url",this.sourceUrl).then((function(t){e.errorSaving=!1,e.successSaving=!0})).catch((function(t){e.errorSaving=!0}))},loadRubygemsUrl:function(){var e=this;this.api.get_setting("rubygems_url").then((function(t){e.rubygemsUrl=t})).catch((function(){e.rubygemsUrl="https://rubygems.org"}))},saveRubygemsUrl:function(){var e=this;this.api.save_setting("rubygems_url",this.rubygemsUrl).then((function(t){e.errorSaving=!1,e.successSaving=!0})).catch((function(t){e.errorSaving=!0}))}}},S=C,w=(0,y.Z)(S,r,s,!1,null,null,null),B=w.exports},8312:function(e,t,n){var r=n(4768);e.exports=function(e,t,n){for(var s in t)r(e,s,t[s],n);return e}},7456:function(e,t,n){var r=n(598);e.exports=/Version\/10(?:\.\d+){1,2}(?: [\w./]+)?(?: Mobile\/\w+)? Safari\//.test(r)},6650:function(e,t,n){var r=n(5968),s=n(4237),o=n(3326),a=n(3124),i=n(8885),c=r(a),l=r("".slice),u=Math.ceil,d=function(e){return function(t,n,r){var a,d,v=o(i(t)),g=s(n),_=v.length,f=void 0===r?" ":o(r);return g<=_||""==f?v:(a=g-_,d=c(f,u(a/f.length)),d.length>a&&(d=l(d,0,a)),e?v+d:d+v)}};e.exports={start:d(!1),end:d(!0)}},5734:function(e,t,n){"use strict";var r=n(3103),s=n(6650).start,o=n(7456);r({target:"String",proto:!0,forced:o},{padStart:function(e){return s(this,e,arguments.length>1?arguments[1]:void 0)}})},1639:function(e,t,n){"use strict";var r=n(3103),s=n(266),o=n(5968),a=n(8885),i=n(6733),c=n(9650),l=n(8311),u=n(3326),d=n(5300),v=n(3349),g=n(17),_=n(95),f=n(4231),p=_("replace"),h=TypeError,m=o("".indexOf),k=o("".replace),y=o("".slice),x=Math.max,b=function(e,t,n){return n>e.length?-1:""===t?n:m(e,t,n)};r({target:"String",proto:!0},{replaceAll:function(e,t){var n,r,o,_,C,S,w,B,T,F=a(this),L=0,U=0,W="";if(!c(e)){if(n=l(e),n&&(r=u(a(v(e))),!~m(r,"g")))throw h("`.replaceAll` does not allow non-global regexes");if(o=d(e,p),o)return s(o,e,F,t);if(f&&n)return k(u(F),e,t)}_=u(F),C=u(e),S=i(t),S||(t=u(t)),w=C.length,B=x(1,w),L=b(_,C,0);while(-1!==L)T=S?u(t(C,L,_)):g(C,_,L,[],void 0,t),W+=y(_,U,L)+T,U=L+w,L=b(_,C,L+B);return U<_.length&&(W+=y(_,U)),W}})},2256:function(e,t,n){"use strict";n(9529),n(1235),n(8188),n(8233);var r=n(9644),s=n.n(r),o=n(4091),a=new o["default"],i=s().create({baseURL:location.origin,timeout:6e4,params:{}});i.interceptors.response.use((function(e){return e}),(function(e){if(e.response){var t,n,r,s,o,i,c,l,u,d;if(401===e.response.status&&OpenC3Auth.updateToken(OpenC3Auth.defaultMinValidity,!0),e.response.headers["ignore-errors"]&&e.response.headers["ignore-errors"].includes(e.response.status.toString()))return Promise.reject(e);var v="HTTP ".concat(e.response.status," - ");if(null!==(t=e.response)&&void 0!==t&&t.statusText&&(v+="".concat(e.response.statusText," ")),null!==(n=e.response)&&void 0!==n&&null!==(r=n.config)&&void 0!==r&&r.data&&(v+="".concat(e.response.config.data," ")),null!==(s=e.response)&&void 0!==s&&null!==(o=s.data)&&void 0!==o&&o.message)v+="".concat(e.response.data.message);else if(null!==(i=e.response)&&void 0!==i&&null!==(c=i.data)&&void 0!==c&&c.exception)v+="".concat(e.response.data.exception);else if(null!==(l=e.response)&&void 0!==l&&null!==(u=l.data)&&void 0!==u&&null!==(d=u.error)&&void 0!==d&&d.message)e.response.data.error.class&&(v+="".concat(e.response.data.error.class," ")),v+="".concat(e.response.data.error.message);else{var g;v+="".concat(null===(g=e.response)||void 0===g?void 0:g.data)}throw a.$notify&&a.$notify.serious({title:"Network error",body:v}),e}throw e})),t["Z"]=i},4282:function(e,t,n){"use strict";n.d(t,{Z:function(){return s}});n(4115),n(634),n(8188),n(796),n(8673),n(6886),n(1372);var r=n(1644);function s(e,t){var n="undefined"!==typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=(0,r.Z)(e))||t&&e&&"number"===typeof e.length){n&&(e=n);var s=0,o=function(){};return{s:o,n:function(){return s>=e.length?{done:!0}:{done:!1,value:e[s++]}},e:function(e){throw e},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,i=!0,c=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return i=e.done,e},e:function(e){c=!0,a=e},f:function(){try{i||null==n["return"]||n["return"]()}finally{if(c)throw a}}}}}}]);
2
2
  //# sourceMappingURL=561.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"js/561.js","mappings":"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","sources":["webpack://@openc3/tool-admin/../openc3-tool-common/src/tools/admin/tabs/SettingsTab.vue","webpack://@openc3/tool-admin/../openc3-tool-common/src/services/openc3-api.js","webpack://@openc3/tool-admin/../openc3-tool-common/src/tools/admin/ClassificationBannerSettings.vue","webpack://@openc3/tool-admin/../openc3-tool-common/src/tools/admin/ClassificationBannerSettings.vue?198b","webpack://@openc3/tool-admin/../openc3-tool-common/src/tools/admin/ClassificationBannerSettings.vue?735e","webpack://@openc3/tool-admin/../openc3-tool-common/src/tools/admin/tabs/SettingsTab.vue?5e5a","webpack://@openc3/tool-admin/../openc3-tool-common/src/tools/admin/tabs/SettingsTab.vue?17e6","webpack://@openc3/tool-admin/../../node_modules/core-js/internals/define-built-ins.js","webpack://@openc3/tool-admin/../../node_modules/core-js/internals/string-pad-webkit-bug.js","webpack://@openc3/tool-admin/../../node_modules/core-js/internals/string-pad.js","webpack://@openc3/tool-admin/../../node_modules/core-js/modules/es.string.pad-start.js","webpack://@openc3/tool-admin/../../node_modules/core-js/modules/es.string.replace-all.js","webpack://@openc3/tool-admin/../openc3-tool-common/src/services/axios.js","webpack://@openc3/tool-admin/../../node_modules/@babel/runtime/helpers/esm/createForOfIteratorHelper.js"],"sourcesContent":["var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[_c('v-card',[_c('v-card-title',[_vm._v(\" Reset suppressed warnings \")]),_c('v-card-subtitle',[_vm._v(\" This resets \\\"don't show this again\\\" dialogs on this browser \")]),_c('v-card-text',{staticClass:\"pb-0 ml-2\"},[(_vm.suppressedWarnings.length)?[_c('v-checkbox',{staticClass:\"mt-0\",attrs:{\"label\":\"Select all\",\"data-test\":\"select-all-suppressed-warnings\"},model:{value:(_vm.selectAllSuppressedWarnings),callback:function ($$v) {_vm.selectAllSuppressedWarnings=$$v},expression:\"selectAllSuppressedWarnings\"}}),_vm._l((_vm.suppressedWarnings),function(warning){return _c('v-checkbox',{key:warning.key,staticClass:\"mt-0\",attrs:{\"label\":warning.text,\"value\":warning.key,\"dense\":\"\"},model:{value:(_vm.selectedSuppressedWarnings),callback:function ($$v) {_vm.selectedSuppressedWarnings=$$v},expression:\"selectedSuppressedWarnings\"}})})]:[_vm._v(\" No warnings to reset \")]],2),_c('v-card-actions',[_c('v-btn',{staticClass:\"ml-2\",attrs:{\"disabled\":!_vm.selectedSuppressedWarnings.length,\"color\":\"warning\",\"text\":\"\",\"data-test\":\"reset-suppressed-warnings\"},on:{\"click\":_vm.resetSuppressedWarnings}},[_vm._v(\" Reset \")])],1)],1),_c('v-divider'),_c('v-card',[_c('v-card-title',[_vm._v(\" Clear recent configs \")]),_c('v-card-subtitle',[_vm._v(\" This clears the most recently saved/loaded tool configs on this browser \")]),_c('v-card-text',{staticClass:\"pb-0 ml-2\"},[(_vm.lastConfigs.length)?[_c('v-checkbox',{staticClass:\"mt-0\",attrs:{\"label\":\"Select all\",\"data-test\":\"select-all-last-configs\"},model:{value:(_vm.selectAllLastConfigs),callback:function ($$v) {_vm.selectAllLastConfigs=$$v},expression:\"selectAllLastConfigs\"}}),_vm._l((_vm.lastConfigs),function(config){return _c('v-checkbox',{key:config.key,staticClass:\"mt-0\",attrs:{\"label\":`${config.text} (${config.value})`,\"value\":config.key,\"dense\":\"\"},model:{value:(_vm.selectedLastConfigs),callback:function ($$v) {_vm.selectedLastConfigs=$$v},expression:\"selectedLastConfigs\"}})})]:[_vm._v(\" No configs to clear \")]],2),_c('v-card-actions',[_c('v-btn',{staticClass:\"ml-2\",attrs:{\"disabled\":!_vm.selectedLastConfigs.length,\"color\":\"warning\",\"text\":\"\",\"data-test\":\"clear-last-configs\"},on:{\"click\":_vm.clearLastConfigs}},[_vm._v(\" Clear \")])],1)],1),_c('v-divider'),_c('classification-banner-settings'),_c('v-divider'),_c('v-card',[_c('v-card-title',[_vm._v(\" Source code URL \")]),_c('v-card-subtitle',[_vm._v(\" This sets the URL for the \\\"Source\\\" link in the footer. This is required under the AGPL license. \")]),_c('v-card-text',{staticClass:\"pb-0 ml-2\"},[_c('v-text-field',{attrs:{\"label\":\"Source URL\",\"data-test\":\"source-url\"},model:{value:(_vm.sourceUrl),callback:function ($$v) {_vm.sourceUrl=$$v},expression:\"sourceUrl\"}})],1),_c('v-card-actions',[_c('v-container',{staticClass:\"pt-0\"},[_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{staticClass:\"pl-0\"},[_c('v-btn',{attrs:{\"color\":\"success\",\"text\":\"\",\"data-test\":\"save-source-url\"},on:{\"click\":_vm.saveSourceUrl}},[_vm._v(\" Save \")])],1)],1),_c('v-alert',{attrs:{\"type\":\"error\",\"dismissible\":\"\",\"dense\":\"\"},model:{value:(_vm.errorSaving),callback:function ($$v) {_vm.errorSaving=$$v},expression:\"errorSaving\"}},[_vm._v(\" Error saving \")]),_c('v-alert',{attrs:{\"type\":\"success\",\"dismissible\":\"\",\"dense\":\"\"},model:{value:(_vm.successSaving),callback:function ($$v) {_vm.successSaving=$$v},expression:\"successSaving\"}},[_vm._v(\" Saved! (Refresh the page to see changes) \")])],1)],1)],1),_c('v-divider'),_c('v-card',[_c('v-card-title',[_vm._v(\" Rubygems URL \")]),_c('v-card-subtitle',[_vm._v(\" This sets the URL for installing dependency rubygems. Also used for rubygem discovery. \")]),_c('v-card-text',{staticClass:\"pb-0 ml-2\"},[_c('v-text-field',{attrs:{\"label\":\"Rubygems URL\",\"data-test\":\"rubygems-url\"},model:{value:(_vm.rubygemsUrl),callback:function ($$v) {_vm.rubygemsUrl=$$v},expression:\"rubygemsUrl\"}})],1),_c('v-card-actions',[_c('v-container',{staticClass:\"pt-0\"},[_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{staticClass:\"pl-0\"},[_c('v-btn',{attrs:{\"color\":\"success\",\"text\":\"\",\"data-test\":\"save-rubygems-url\"},on:{\"click\":_vm.saveRubygemsUrl}},[_vm._v(\" Save \")])],1)],1),_c('v-alert',{attrs:{\"type\":\"error\",\"dismissible\":\"\",\"dense\":\"\"},model:{value:(_vm.errorSaving),callback:function ($$v) {_vm.errorSaving=$$v},expression:\"errorSaving\"}},[_vm._v(\" Error saving \")]),_c('v-alert',{attrs:{\"type\":\"success\",\"dismissible\":\"\",\"dense\":\"\"},model:{value:(_vm.successSaving),callback:function ($$v) {_vm.successSaving=$$v},expression:\"successSaving\"}},[_vm._v(\" Saved! (Refresh the page to see changes) \")])],1)],1)],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/*\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2022, OpenC3, Inc.\n# All Rights Reserved\n*/\n\nimport axios from './axios.js'\n\nexport class OpenC3Api {\n id = 1\n\n constructor() {}\n\n // This is hacky Json-rpc for now. Should probably use a jsonrpc library.\n async exec(method, params, kwparams = {}, headerOptions = {}) {\n try {\n await OpenC3Auth.updateToken(OpenC3Auth.defaultMinValidity)\n } catch (error) {\n OpenC3Auth.login()\n }\n this.id = this.id + 1\n try {\n kwparams['scope'] = window.openc3Scope\n const response = await axios.post(\n '/openc3-api/api',\n {\n jsonrpc: '2.0',\n method: method,\n params: params,\n id: this.id,\n keyword_params: kwparams,\n },\n {\n headers: {\n Authorization: localStorage.openc3Token,\n 'Content-Type': 'application/json-rpc',\n ...headerOptions,\n },\n }\n )\n // var data = response.data\n // if (data.error) {\n // var err = new Error()\n // err.name = data.error.data.class\n // err.message = data.error.data.message\n // console.log(data.error.data.backtrace.join('\\n'))\n // throw err\n // }\n return response.data.result\n } catch (error) {\n var err = new Error()\n if (error.response) {\n // The request was made and the server responded with a\n // status code that falls out of the range of 2xx\n err.name = error.response.data.error.data.class\n err.message = error.response.data.error.data.message\n } else if (error.request) {\n // The request was made but no response was received, `error.request`\n // is an instance of XMLHttpRequest in the browser and an instance\n // of http.ClientRequest in Node.js\n err.name = 'Request error'\n err.message = 'Request error, no response received'\n } else {\n // Something happened in setting up the request and triggered an Error\n err.name = 'Unknown error'\n }\n // console.log(error)\n throw err\n }\n }\n\n decode_openc3_type(val) {\n if (val !== null && typeof val === 'object') {\n if (val.json_class == 'Float' && val.raw) {\n if (val.raw == 'NaN') {\n return NaN\n } else if (val.raw == 'Infinity') {\n return Infinity\n } else if (val.raw == '-Infinity') {\n return -Infinity\n }\n }\n }\n return null\n }\n\n encode_openc3_type(val) {\n if (Number.isNaN(val)) {\n return { json_class: 'Float', raw: 'NaN' }\n } else if (val == Number.POSITIVE_INFINITY) {\n return { json_class: 'Float', raw: 'Infinity' }\n } else if (val == Number.NEGATIVE_INFINITY) {\n return { json_class: 'Float', raw: '-Infinity' }\n }\n return null\n }\n\n // ***********************************************\n // The following APIs are used by the CmdTlmServer\n // ***********************************************\n get_all_interface_info() {\n return this.exec('get_all_interface_info', [])\n }\n\n connect_interface(interface_name) {\n return this.exec('connect_interface', [interface_name])\n }\n\n disconnect_interface(interface_name) {\n return this.exec('disconnect_interface', [interface_name])\n }\n\n get_all_router_info() {\n return this.exec('get_all_router_info', [])\n }\n\n connect_router(router_name) {\n return this.exec('connect_router', [router_name])\n }\n\n disconnect_router(router_name) {\n return this.exec('disconnect_router', [router_name])\n }\n\n get_all_target_info() {\n return this.exec('get_all_target_info', [])\n }\n\n get_tlm_cnts(target_commands) {\n return this.exec('get_tlm_cnts', [target_commands])\n }\n\n get_item(target, packet, item) {\n return this.exec('get_item', [target, packet, item])\n }\n\n get_parameter(target, packet, item) {\n return this.exec('get_parameter', [target, packet, item])\n }\n\n get_all_packet_logger_info() {\n return this.exec('get_all_packet_logger_info', [])\n }\n\n start_logging() {\n return this.exec('start_logging', [])\n }\n\n stop_logging() {\n return this.exec('stop_logging', [])\n }\n\n start_cmd_log(log_writer_name) {\n return this.exec('start_cmd_log', [log_writer_name])\n }\n\n start_tlm_log(log_writer_name) {\n return this.exec('start_tlm_log', [log_writer_name])\n }\n\n stop_cmd_log(log_writer_name) {\n return this.exec('stop_cmd_log', [log_writer_name])\n }\n\n stop_tlm_log(log_writer_name) {\n return this.exec('stop_tlm_log', [log_writer_name])\n }\n\n get_server_status() {\n return this.exec('get_server_status', [])\n }\n\n get_limits_sets() {\n return this.exec('get_limits_sets', [])\n }\n\n get_limits_set() {\n return this.exec('get_limits_set', [])\n }\n\n set_limits_set(limits_set) {\n return this.exec('set_limits_set', [limits_set])\n }\n\n get_background_tasks() {\n return this.exec('get_background_tasks', [])\n }\n\n start_background_task(name) {\n return this.exec('start_background_task', [name])\n }\n\n stop_background_task(name) {\n return this.exec('stop_background_task', [name])\n }\n\n // ***********************************************\n // End CmdTlmServer APIs\n // ***********************************************\n\n get_oldest_logfile() {\n return this.exec('get_oldest_logfile', [])\n }\n\n get_target(target_name) {\n return this.exec('get_target', [target_name])\n }\n\n get_target_list() {\n return this.exec('get_target_list', [])\n }\n\n get_telemetry(target_name, packet_name) {\n return this.exec('get_telemetry', [target_name, packet_name])\n }\n\n get_all_telemetry(target_name) {\n return this.exec('get_all_telemetry', [target_name])\n }\n\n get_all_telemetry_names(target_name) {\n return this.exec('get_all_telemetry_names', [target_name])\n }\n\n async get_tlm_packet(target_name, packet_name, value_type) {\n const data = await this.exec('get_tlm_packet', [target_name, packet_name], {\n type: value_type,\n })\n // Make sure data isn't null or undefined. Note this is the only valid use of == or !=\n if (data != null) {\n var len = data.length\n var converted = null\n for (var i = 0; i < len; i++) {\n converted = this.decode_openc3_type(data[i][1])\n if (converted !== null) {\n data[i][1] = converted\n }\n }\n }\n return data\n }\n\n get_packet_derived_items(target_name, packet_name) {\n return this.exec('get_packet_derived_items', [target_name, packet_name])\n }\n\n get_tlm_buffer(target_name, packet_name) {\n return this.exec('get_tlm_buffer', [target_name, packet_name])\n }\n\n async get_tlm_values(items) {\n const data = await this.exec('get_tlm_values', [items])\n var len = data[0].length\n var converted = null\n for (var i = 0; i < len; i++) {\n converted = this.decode_openc3_type(data[0][i])\n if (converted !== null) {\n data[0][i] = converted\n }\n }\n return data\n }\n\n get_limits(target_name, packet_name, item_name) {\n return this.exec('get_limits', [target_name, packet_name, item_name])\n }\n\n async tlm(target_name, packet_name, item_name, data_type = 'CONVERTED') {\n let data = null\n // Check for the single string syntax: tlm(\"TGT PKT ITEM\")\n if (packet_name === undefined) {\n data = await this.exec('tlm', [target_name])\n // Check for the single string syntax with type: tlm(\"TGT PKT ITEM\", \"RAW\")\n } else if (item_name === undefined) {\n if (\n ['RAW', 'CONVERTED', 'FORMATTED', 'WITH_UNITS'].includes(packet_name)\n ) {\n data = await this.exec('tlm', [target_name], { type: packet_name })\n } else {\n var err = new Error()\n err.name = 'TypeError'\n err.message = `Invalid data type ${packet_name}. Valid options are RAW, CONVERTED, FORMATTED, and WITH_UNITS.`\n throw err\n }\n } else {\n data = await this.exec('tlm', [target_name, packet_name, item_name], {\n type: data_type,\n })\n }\n var converted = this.decode_openc3_type(data)\n if (converted !== null) {\n data = converted\n }\n return data\n }\n\n get_all_commands(target_name) {\n return this.exec('get_all_commands', [target_name])\n }\n\n get_all_command_names(target_name) {\n return this.exec('get_all_command_names', [target_name])\n }\n\n get_command(target_name, command_name) {\n return this.exec('get_command', [target_name, command_name])\n }\n\n get_cmd_cnts(target_commands) {\n return this.exec('get_cmd_cnts', [target_commands])\n }\n\n get_cmd_value(\n target_name,\n packet_name,\n parameter_name,\n value_type = 'CONVERTED'\n ) {\n return this.exec('get_cmd_value', [\n target_name,\n packet_name,\n parameter_name,\n value_type,\n ])\n }\n\n get_cmd_buffer(target_name, packet_name) {\n return this.exec('get_cmd_buffer', [target_name, packet_name])\n }\n\n // Implementation of functionality shared by cmd methods with param_lists.\n _cmd(method, target_name, command_name, param_list, headerOptions) {\n var converted = null\n for (var key in param_list) {\n if (Object.prototype.hasOwnProperty.call(param_list, key)) {\n converted = this.encode_openc3_type(param_list[key])\n if (converted !== null) {\n param_list[key] = converted\n }\n }\n }\n return this.exec(\n method,\n [target_name, command_name, param_list],\n {},\n headerOptions\n )\n }\n\n get_cmd_hazardous(target_name, command_name, param_list) {\n if (command_name === undefined) {\n return this.exec('get_cmd_hazardous', target_name)\n } else {\n return this._cmd(\n 'get_cmd_hazardous',\n target_name,\n command_name,\n param_list\n )\n }\n }\n\n cmd(target_name, command_name, param_list, headerOptions = {}) {\n if (command_name === undefined) {\n return this.exec('cmd', target_name, {}, headerOptions)\n } else {\n return this._cmd(\n 'cmd',\n target_name,\n command_name,\n param_list,\n headerOptions\n )\n }\n }\n\n cmd_no_range_check(target_name, command_name, param_list) {\n if (command_name === undefined) {\n return this.exec('cmd_no_range_check', target_name)\n } else {\n return this._cmd(\n 'cmd_no_range_check',\n target_name,\n command_name,\n param_list\n )\n }\n }\n\n cmd_raw(target_name, command_name, param_list) {\n if (command_name === undefined) {\n return this.exec('cmd_raw', target_name)\n } else {\n return this._cmd('cmd_raw', target_name, command_name, param_list)\n }\n }\n\n cmd_raw_no_range_check(target_name, command_name, param_list) {\n if (command_name === undefined) {\n return this.exec('cmd_raw_no_range_check', target_name)\n } else {\n return this._cmd(\n 'cmd_raw_no_range_check',\n target_name,\n command_name,\n param_list\n )\n }\n }\n\n cmd_no_hazardous_check(target_name, command_name, param_list) {\n if (command_name === undefined) {\n return this.exec('cmd_no_hazardous_check', target_name)\n } else {\n return this._cmd(\n 'cmd_no_hazardous_check',\n target_name,\n command_name,\n param_list\n )\n }\n }\n\n cmd_no_checks(target_name, command_name, param_list) {\n if (command_name === undefined) {\n return this.exec('cmd_no_checks', target_name)\n } else {\n return this._cmd('cmd_no_checks', target_name, command_name, param_list)\n }\n }\n\n cmd_raw_no_hazardous_check(target_name, command_name, param_list) {\n if (command_name === undefined) {\n return this.exec('cmd_raw_no_hazardous_check', target_name)\n } else {\n return this._cmd(\n 'cmd_raw_no_hazardous_check',\n target_name,\n command_name,\n param_list\n )\n }\n }\n\n cmd_raw_no_checks(target_name, command_name, param_list) {\n if (command_name === undefined) {\n return this.exec('cmd_raw_no_checks', target_name)\n } else {\n return this._cmd(\n 'cmd_raw_no_checks',\n target_name,\n command_name,\n param_list\n )\n }\n }\n\n get_interface_names() {\n return this.exec('get_interface_names', [])\n }\n\n send_raw(interface_name, data) {\n return this.exec('send_raw', [interface_name, data])\n }\n\n list_configs(tool) {\n return this.exec('list_configs', [tool])\n }\n\n load_config(tool, name) {\n return this.exec('load_config', [tool, name])\n }\n\n save_config(tool, name, data) {\n return this.exec('save_config', [tool, name, data])\n }\n\n delete_config(tool, name) {\n return this.exec('delete_config', [tool, name])\n }\n\n get_out_of_limits() {\n return this.exec('get_out_of_limits', [])\n }\n\n get_overall_limits_state(ignored) {\n return this.exec('get_overall_limits_state', [ignored])\n }\n\n list_settings() {\n return this.exec('list_settings', [])\n }\n\n get_all_settings() {\n return this.exec('get_all_settings', [])\n }\n\n get_setting(name) {\n return this.exec('get_setting', [name])\n }\n\n get_settings(array) {\n return this.exec('get_settings', array)\n }\n\n save_setting(name, data) {\n return this.exec('save_setting', [name, data])\n }\n\n // TODO: Currently unused but seemed like a useful function\n async hashString(string) {\n if (window.isSecureContext) {\n // Encode the string as an arrayBuffer which the subtle crypto API uses\n const arrayBuffer = new TextEncoder().encode(string)\n // Use the subtle crypto API to perform a SHA256 Sum of the array buffer\n // The resulting hash is stored in an array buffer\n const hashAsArrayBuffer = await crypto.subtle.digest(\n 'SHA-256',\n arrayBuffer\n )\n // To create a string we will get the hexadecimal value of each byte of the array buffer\n // This gets us an array where each byte of the array buffer becomes one item in the array\n const uint8ViewOfHash = new Uint8Array(hashAsArrayBuffer)\n // We then convert it to a regular array so we can convert each item to hexadecimal strings\n // Where to characters of 0-9 or a-f represent a number between 0 and 16, containing 4 bits of information, so 2 of them is 8 bits (1 byte).\n return Array.from(uint8ViewOfHash)\n .map((b) => b.toString(16).padStart(2, '0'))\n .join('')\n }\n // else ?\n }\n}\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('v-card',[_c('v-card-title',[_vm._v(\"Classification Banner Settings\")]),_c('v-card-text',{staticClass:\"pb-0\"},[_c('v-alert',{attrs:{\"type\":\"error\",\"dismissible\":\"\",\"dense\":\"\"},model:{value:(_vm.errorLoading),callback:function ($$v) {_vm.errorLoading=$$v},expression:\"errorLoading\"}},[_vm._v(\" Error loading previous configuration \")]),_c('v-container',{staticClass:\"pb-0\"},[_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',[_c('v-text-field',{attrs:{\"label\":\"Text\",\"data-test\":\"classification-banner-text\"},model:{value:(_vm.text),callback:function ($$v) {_vm.text=$$v},expression:\"text\"}})],1)],1),_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',[_c('v-select',{attrs:{\"label\":\"Background color\",\"items\":_vm.colors,\"data-test\":\"classification-banner-background-color\"},scopedSlots:_vm._u([(_vm.selectedBackgroundColor)?{key:\"prepend-inner\",fn:function(){return [_c('v-icon',{attrs:{\"color\":_vm.selectedBackgroundColor}},[_vm._v(\" mdi-square \")])]},proxy:true}:null,{key:\"item\",fn:function(data){return [(data.item.value)?_c('v-icon',{staticClass:\"pr-1\",attrs:{\"color\":data.item.value}},[_vm._v(\" mdi-square \")]):_vm._e(),_vm._v(\" \"+_vm._s(data.item.text)+\" \")]}}],null,true),model:{value:(_vm.selectedBackgroundColor),callback:function ($$v) {_vm.selectedBackgroundColor=$$v},expression:\"selectedBackgroundColor\"}})],1),_c('v-col',[_c('v-text-field',{attrs:{\"label\":\"Custom background color\",\"hint\":_vm.customColorHint,\"disabled\":_vm.selectedBackgroundColor !== false,\"rules\":[_vm.rules.customColor],\"data-test\":\"classification-banner-custom-background-color\"},scopedSlots:_vm._u([{key:\"prepend-inner\",fn:function(){return [_c('v-icon',{directives:[{name:\"show\",rawName:\"v-show\",value:(!_vm.selectedBackgroundColor),expression:\"!selectedBackgroundColor\"}],attrs:{\"color\":_vm.customBackgroundColor}},[_vm._v(\" mdi-square \")])]},proxy:true}]),model:{value:(_vm.customBackgroundColor),callback:function ($$v) {_vm.customBackgroundColor=$$v},expression:\"customBackgroundColor\"}})],1),_c('v-col',[_c('v-select',{attrs:{\"label\":\"Font color\",\"items\":_vm.colors,\"data-test\":\"classification-banner-font-color\"},scopedSlots:_vm._u([(_vm.selectedFontColor)?{key:\"prepend-inner\",fn:function(){return [_c('v-icon',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.selectedFontColor),expression:\"selectedFontColor\"}],attrs:{\"color\":_vm.selectedFontColor}},[_vm._v(\" mdi-square \")])]},proxy:true}:null,{key:\"item\",fn:function(data){return [(data.item.value)?_c('v-icon',{staticClass:\"pr-1\",attrs:{\"color\":data.item.value}},[_vm._v(\" mdi-square \")]):_vm._e(),_vm._v(\" \"+_vm._s(data.item.text)+\" \")]}}],null,true),model:{value:(_vm.selectedFontColor),callback:function ($$v) {_vm.selectedFontColor=$$v},expression:\"selectedFontColor\"}})],1),_c('v-col',[_c('v-text-field',{attrs:{\"label\":\"Custom font color\",\"hint\":_vm.customColorHint,\"disabled\":_vm.selectedFontColor !== false,\"rules\":[_vm.rules.customColor],\"data-test\":\"classification-banner-custom-font-color\"},scopedSlots:_vm._u([{key:\"prepend-inner\",fn:function(){return [_c('v-icon',{directives:[{name:\"show\",rawName:\"v-show\",value:(!_vm.selectedFontColor),expression:\"!selectedFontColor\"}],attrs:{\"color\":_vm.customFontColor}},[_vm._v(\" mdi-square \")])]},proxy:true}]),model:{value:(_vm.customFontColor),callback:function ($$v) {_vm.customFontColor=$$v},expression:\"customFontColor\"}})],1)],1),_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',[_c('v-switch',{attrs:{\"label\":\"Display top banner\",\"data-test\":\"display-top-banner\"},model:{value:(_vm.displayTopBanner),callback:function ($$v) {_vm.displayTopBanner=$$v},expression:\"displayTopBanner\"}})],1),_c('v-col',[_c('v-text-field',{attrs:{\"label\":\"Top height\",\"disabled\":!_vm.displayTopBanner,\"type\":\"number\",\"suffix\":\"px\",\"data-test\":\"classification-banner-top-height\"},model:{value:(_vm.topHeight),callback:function ($$v) {_vm.topHeight=$$v},expression:\"topHeight\"}})],1),_c('v-col',[_c('v-switch',{attrs:{\"label\":\"Display bottom banner\",\"data-test\":\"display-bottom-banner\"},model:{value:(_vm.displayBottomBanner),callback:function ($$v) {_vm.displayBottomBanner=$$v},expression:\"displayBottomBanner\"}})],1),_c('v-col',[_c('v-text-field',{attrs:{\"label\":\"Bottom height\",\"disabled\":!_vm.displayBottomBanner,\"type\":\"number\",\"suffix\":\"px\",\"data-test\":\"classification-banner-bottom-height\"},model:{value:(_vm.bottomHeight),callback:function ($$v) {_vm.bottomHeight=$$v},expression:\"bottomHeight\"}})],1)],1)],1)],1),_c('v-card-actions',[_c('v-container',{staticClass:\"pt-0\"},[_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{staticClass:\"pl-0\"},[_c('v-btn',{attrs:{\"disabled\":!_vm.formValid,\"color\":\"success\",\"text\":\"\",\"data-test\":\"save-classification-banner\"},on:{\"click\":_vm.save}},[_vm._v(\" Save \")])],1)],1),_c('v-alert',{attrs:{\"type\":\"error\",\"dismissible\":\"\",\"dense\":\"\"},model:{value:(_vm.errorSaving),callback:function ($$v) {_vm.errorSaving=$$v},expression:\"errorSaving\"}},[_vm._v(\" Error saving \")]),_c('v-alert',{attrs:{\"type\":\"success\",\"dismissible\":\"\",\"dense\":\"\"},model:{value:(_vm.successSaving),callback:function ($$v) {_vm.successSaving=$$v},expression:\"successSaving\"}},[_vm._v(\" Saved! (Refresh the page to see changes) \")])],1)],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ClassificationBannerSettings.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ClassificationBannerSettings.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ClassificationBannerSettings.vue?vue&type=template&id=942a5ee2&\"\nimport script from \"./ClassificationBannerSettings.vue?vue&type=script&lang=js&\"\nexport * from \"./ClassificationBannerSettings.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/@vue/vue-loader-v15/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 mod from \"-!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./SettingsTab.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./SettingsTab.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./SettingsTab.vue?vue&type=template&id=613a7e3a&\"\nimport script from \"./SettingsTab.vue?vue&type=script&lang=js&\"\nexport * from \"./SettingsTab.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var defineBuiltIn = require('../internals/define-built-in');\n\nmodule.exports = function (target, src, options) {\n for (var key in src) defineBuiltIn(target, key, src[key], options);\n return target;\n};\n","// https://github.com/zloirock/core-js/issues/280\nvar userAgent = require('../internals/engine-user-agent');\n\nmodule.exports = /Version\\/10(?:\\.\\d+){1,2}(?: [\\w./]+)?(?: Mobile\\/\\w+)? Safari\\//.test(userAgent);\n","// https://github.com/tc39/proposal-string-pad-start-end\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar toLength = require('../internals/to-length');\nvar toString = require('../internals/to-string');\nvar $repeat = require('../internals/string-repeat');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nvar repeat = uncurryThis($repeat);\nvar stringSlice = uncurryThis(''.slice);\nvar ceil = Math.ceil;\n\n// `String.prototype.{ padStart, padEnd }` methods implementation\nvar createMethod = function (IS_END) {\n return function ($this, maxLength, fillString) {\n var S = toString(requireObjectCoercible($this));\n var intMaxLength = toLength(maxLength);\n var stringLength = S.length;\n var fillStr = fillString === undefined ? ' ' : toString(fillString);\n var fillLen, stringFiller;\n if (intMaxLength <= stringLength || fillStr == '') return S;\n fillLen = intMaxLength - stringLength;\n stringFiller = repeat(fillStr, ceil(fillLen / fillStr.length));\n if (stringFiller.length > fillLen) stringFiller = stringSlice(stringFiller, 0, fillLen);\n return IS_END ? S + stringFiller : stringFiller + S;\n };\n};\n\nmodule.exports = {\n // `String.prototype.padStart` method\n // https://tc39.es/ecma262/#sec-string.prototype.padstart\n start: createMethod(false),\n // `String.prototype.padEnd` method\n // https://tc39.es/ecma262/#sec-string.prototype.padend\n end: createMethod(true)\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar $padStart = require('../internals/string-pad').start;\nvar WEBKIT_BUG = require('../internals/string-pad-webkit-bug');\n\n// `String.prototype.padStart` method\n// https://tc39.es/ecma262/#sec-string.prototype.padstart\n$({ target: 'String', proto: true, forced: WEBKIT_BUG }, {\n padStart: function padStart(maxLength /* , fillString = ' ' */) {\n return $padStart(this, maxLength, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar call = require('../internals/function-call');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar isCallable = require('../internals/is-callable');\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\nvar isRegExp = require('../internals/is-regexp');\nvar toString = require('../internals/to-string');\nvar getMethod = require('../internals/get-method');\nvar getRegExpFlags = require('../internals/regexp-get-flags');\nvar getSubstitution = require('../internals/get-substitution');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar IS_PURE = require('../internals/is-pure');\n\nvar REPLACE = wellKnownSymbol('replace');\nvar $TypeError = TypeError;\nvar indexOf = uncurryThis(''.indexOf);\nvar replace = uncurryThis(''.replace);\nvar stringSlice = uncurryThis(''.slice);\nvar max = Math.max;\n\nvar stringIndexOf = function (string, searchValue, fromIndex) {\n if (fromIndex > string.length) return -1;\n if (searchValue === '') return fromIndex;\n return indexOf(string, searchValue, fromIndex);\n};\n\n// `String.prototype.replaceAll` method\n// https://tc39.es/ecma262/#sec-string.prototype.replaceall\n$({ target: 'String', proto: true }, {\n replaceAll: function replaceAll(searchValue, replaceValue) {\n var O = requireObjectCoercible(this);\n var IS_REG_EXP, flags, replacer, string, searchString, functionalReplace, searchLength, advanceBy, replacement;\n var position = 0;\n var endOfLastMatch = 0;\n var result = '';\n if (!isNullOrUndefined(searchValue)) {\n IS_REG_EXP = isRegExp(searchValue);\n if (IS_REG_EXP) {\n flags = toString(requireObjectCoercible(getRegExpFlags(searchValue)));\n if (!~indexOf(flags, 'g')) throw $TypeError('`.replaceAll` does not allow non-global regexes');\n }\n replacer = getMethod(searchValue, REPLACE);\n if (replacer) {\n return call(replacer, searchValue, O, replaceValue);\n } else if (IS_PURE && IS_REG_EXP) {\n return replace(toString(O), searchValue, replaceValue);\n }\n }\n string = toString(O);\n searchString = toString(searchValue);\n functionalReplace = isCallable(replaceValue);\n if (!functionalReplace) replaceValue = toString(replaceValue);\n searchLength = searchString.length;\n advanceBy = max(1, searchLength);\n position = stringIndexOf(string, searchString, 0);\n while (position !== -1) {\n replacement = functionalReplace\n ? toString(replaceValue(searchString, position, string))\n : getSubstitution(searchString, string, position, [], undefined, replaceValue);\n result += stringSlice(string, endOfLastMatch, position) + replacement;\n endOfLastMatch = position + searchLength;\n position = stringIndexOf(string, searchString, position + advanceBy);\n }\n if (endOfLastMatch < string.length) {\n result += stringSlice(string, endOfLastMatch);\n }\n return result;\n }\n});\n","/*\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2022, OpenC3, Inc.\n# All Rights Reserved\n*/\n\nimport axios from 'axios'\nimport Vue from 'vue'\n\nconst vueInstance = new Vue()\n\nconst axiosInstance = axios.create({\n baseURL: location.origin,\n timeout: 60000,\n params: {},\n})\n\naxiosInstance.interceptors.response.use(\n (response) => response,\n (error) => {\n if (error.response) {\n if (error.response.status === 401) {\n OpenC3Auth.updateToken(OpenC3Auth.defaultMinValidity, true)\n }\n // Individual tools can set 'Ignore-Errors' to an error code\n // they potentially expect, e.g. '500', in which case we ignore it\n // For example in CommandSender.vue:\n // obs = this.api.cmd(targetName, commandName, paramList, {\n // 'Ignore-Errors': '500',\n // })\n if (\n error.response.headers['ignore-errors'] &&\n error.response.headers['ignore-errors'].includes(\n error.response.status.toString()\n )\n ) {\n return Promise.reject(error)\n }\n let body = `HTTP ${error.response.status} - `\n if (error.response?.statusText) {\n body += `${error.response.statusText} `\n }\n if (error.response?.config?.data) {\n body += `${error.response.config.data} `\n }\n if (error.response?.data?.message) {\n body += `${error.response.data.message}`\n } else if (error.response?.data?.exception) {\n body += `${error.response.data.exception}`\n } else if (error.response?.data?.error?.message) {\n if (error.response.data.error.class) {\n body += `${error.response.data.error.class} `\n }\n body += `${error.response.data.error.message}`\n } else {\n body += `${error.response?.data}`\n }\n vueInstance.$notify.serious({\n title: 'Network error',\n body,\n })\n throw error\n } else {\n throw error\n }\n }\n)\n\nexport default axiosInstance\n","import unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nexport default function _createForOfIteratorHelper(o, allowArrayLike) {\n var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"];\n\n if (!it) {\n if (Array.isArray(o) || (it = unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") {\n if (it) o = it;\n var i = 0;\n\n var F = function F() {};\n\n return {\n s: F,\n n: function n() {\n if (i >= o.length) return {\n done: true\n };\n return {\n done: false,\n value: o[i++]\n };\n },\n e: function e(_e) {\n throw _e;\n },\n f: F\n };\n }\n\n throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n }\n\n var normalCompletion = true,\n didErr = false,\n err;\n return {\n s: function s() {\n it = it.call(o);\n },\n n: function n() {\n var step = it.next();\n normalCompletion = step.done;\n return step;\n },\n e: function e(_e2) {\n didErr = true;\n err = _e2;\n },\n f: function f() {\n try {\n if (!normalCompletion && it[\"return\"] != null) it[\"return\"]();\n } finally {\n if (didErr) throw err;\n }\n }\n };\n}"],"names":["render","_vm","this","_c","_self","_v","staticClass","suppressedWarnings","length","attrs","model","value","selectAllSuppressedWarnings","callback","$$v","expression","_l","warning","key","text","selectedSuppressedWarnings","on","resetSuppressedWarnings","lastConfigs","selectAllLastConfigs","config","selectedLastConfigs","clearLastConfigs","sourceUrl","saveSourceUrl","errorSaving","successSaving","rubygemsUrl","saveRubygemsUrl","staticRenderFns","OpenC3Api","method","params","kwparams","headerOptions","OpenC3Auth","updateToken","defaultMinValidity","login","id","window","openc3Scope","axios","jsonrpc","keyword_params","headers","Authorization","localStorage","openc3Token","response","data","result","err","Error","name","error","class","message","request","val","json_class","raw","NaN","Infinity","Number","isNaN","POSITIVE_INFINITY","NEGATIVE_INFINITY","exec","interface_name","router_name","target_commands","target","packet","item","log_writer_name","limits_set","target_name","packet_name","value_type","type","len","converted","i","decode_openc3_type","items","item_name","data_type","undefined","includes","command_name","parameter_name","param_list","Object","prototype","hasOwnProperty","call","encode_openc3_type","_cmd","tool","ignored","array","string","isSecureContext","arrayBuffer","TextEncoder","encode","crypto","subtle","digest","hashAsArrayBuffer","uint8ViewOfHash","Uint8Array","Array","from","map","b","toString","padStart","join","errorLoading","colors","scopedSlots","_u","selectedBackgroundColor","fn","proxy","_e","_s","customColorHint","rules","customColor","directives","rawName","customBackgroundColor","selectedFontColor","customFontColor","displayTopBanner","topHeight","displayBottomBanner","bottomHeight","formValid","save","api","computed","saveObj","fontColor","backgroundColor","watch","created","methods","load","get_setting","settingName","then","parsed","catch","save_setting","component","components","ClassificationBannerSettings","loadSuppressedWarnings","filter","loadLastConfigs","deleteLocalStorageKeys","keys","localStorageKeyToDisplayObject","loadSourceUrl","loadRubygemsUrl","defineBuiltIn","module","exports","src","options","userAgent","test","uncurryThis","toLength","$repeat","requireObjectCoercible","repeat","stringSlice","slice","ceil","Math","createMethod","IS_END","$this","maxLength","fillString","fillLen","stringFiller","S","intMaxLength","stringLength","fillStr","start","end","$","$padStart","WEBKIT_BUG","proto","forced","arguments","isCallable","isNullOrUndefined","isRegExp","getMethod","getRegExpFlags","getSubstitution","wellKnownSymbol","IS_PURE","REPLACE","$TypeError","TypeError","indexOf","replace","max","stringIndexOf","searchValue","fromIndex","replaceAll","replaceValue","IS_REG_EXP","flags","replacer","searchString","functionalReplace","searchLength","advanceBy","replacement","O","position","endOfLastMatch","vueInstance","Vue","axiosInstance","baseURL","location","origin","timeout","interceptors","use","status","Promise","reject","body","statusText","exception","$notify","serious","title","_createForOfIteratorHelper","o","allowArrayLike","it","Symbol","iterator","isArray","unsupportedIterableToArray","F","s","n","done","e","f","normalCompletion","didErr","step","next","_e2"],"sourceRoot":""}
1
+ {"version":3,"file":"js/561.js","mappings":"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","sources":["webpack://@openc3/tool-admin/../openc3-tool-common/src/tools/admin/tabs/SettingsTab.vue","webpack://@openc3/tool-admin/../openc3-tool-common/src/services/openc3-api.js","webpack://@openc3/tool-admin/../openc3-tool-common/src/tools/admin/ClassificationBannerSettings.vue","webpack://@openc3/tool-admin/../openc3-tool-common/src/tools/admin/ClassificationBannerSettings.vue?198b","webpack://@openc3/tool-admin/../openc3-tool-common/src/tools/admin/ClassificationBannerSettings.vue?735e","webpack://@openc3/tool-admin/../openc3-tool-common/src/tools/admin/tabs/SettingsTab.vue?5e5a","webpack://@openc3/tool-admin/../openc3-tool-common/src/tools/admin/tabs/SettingsTab.vue?17e6","webpack://@openc3/tool-admin/../../node_modules/core-js/internals/define-built-ins.js","webpack://@openc3/tool-admin/../../node_modules/core-js/internals/string-pad-webkit-bug.js","webpack://@openc3/tool-admin/../../node_modules/core-js/internals/string-pad.js","webpack://@openc3/tool-admin/../../node_modules/core-js/modules/es.string.pad-start.js","webpack://@openc3/tool-admin/../../node_modules/core-js/modules/es.string.replace-all.js","webpack://@openc3/tool-admin/../openc3-tool-common/src/services/axios.js","webpack://@openc3/tool-admin/../../node_modules/@babel/runtime/helpers/esm/createForOfIteratorHelper.js"],"sourcesContent":["var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[_c('v-card',[_c('v-card-title',[_vm._v(\" Reset suppressed warnings \")]),_c('v-card-subtitle',[_vm._v(\" This resets \\\"don't show this again\\\" dialogs on this browser \")]),_c('v-card-text',{staticClass:\"pb-0 ml-2\"},[(_vm.suppressedWarnings.length)?[_c('v-checkbox',{staticClass:\"mt-0\",attrs:{\"label\":\"Select all\",\"data-test\":\"select-all-suppressed-warnings\"},model:{value:(_vm.selectAllSuppressedWarnings),callback:function ($$v) {_vm.selectAllSuppressedWarnings=$$v},expression:\"selectAllSuppressedWarnings\"}}),_vm._l((_vm.suppressedWarnings),function(warning){return _c('v-checkbox',{key:warning.key,staticClass:\"mt-0\",attrs:{\"label\":warning.text,\"value\":warning.key,\"dense\":\"\"},model:{value:(_vm.selectedSuppressedWarnings),callback:function ($$v) {_vm.selectedSuppressedWarnings=$$v},expression:\"selectedSuppressedWarnings\"}})})]:[_vm._v(\" No warnings to reset \")]],2),_c('v-card-actions',[_c('v-btn',{staticClass:\"ml-2\",attrs:{\"disabled\":!_vm.selectedSuppressedWarnings.length,\"color\":\"warning\",\"text\":\"\",\"data-test\":\"reset-suppressed-warnings\"},on:{\"click\":_vm.resetSuppressedWarnings}},[_vm._v(\" Reset \")])],1)],1),_c('v-divider'),_c('v-card',[_c('v-card-title',[_vm._v(\" Clear recent configs \")]),_c('v-card-subtitle',[_vm._v(\" This clears the most recently saved/loaded tool configs on this browser \")]),_c('v-card-text',{staticClass:\"pb-0 ml-2\"},[(_vm.lastConfigs.length)?[_c('v-checkbox',{staticClass:\"mt-0\",attrs:{\"label\":\"Select all\",\"data-test\":\"select-all-last-configs\"},model:{value:(_vm.selectAllLastConfigs),callback:function ($$v) {_vm.selectAllLastConfigs=$$v},expression:\"selectAllLastConfigs\"}}),_vm._l((_vm.lastConfigs),function(config){return _c('v-checkbox',{key:config.key,staticClass:\"mt-0\",attrs:{\"label\":`${config.text} (${config.value})`,\"value\":config.key,\"dense\":\"\"},model:{value:(_vm.selectedLastConfigs),callback:function ($$v) {_vm.selectedLastConfigs=$$v},expression:\"selectedLastConfigs\"}})})]:[_vm._v(\" No configs to clear \")]],2),_c('v-card-actions',[_c('v-btn',{staticClass:\"ml-2\",attrs:{\"disabled\":!_vm.selectedLastConfigs.length,\"color\":\"warning\",\"text\":\"\",\"data-test\":\"clear-last-configs\"},on:{\"click\":_vm.clearLastConfigs}},[_vm._v(\" Clear \")])],1)],1),_c('v-divider'),_c('classification-banner-settings'),_c('v-divider'),_c('v-card',[_c('v-card-title',[_vm._v(\" Source code URL \")]),_c('v-card-subtitle',[_vm._v(\" This sets the URL for the \\\"Source\\\" link in the footer. This is required under the AGPL license. \")]),_c('v-card-text',{staticClass:\"pb-0 ml-2\"},[_c('v-text-field',{attrs:{\"label\":\"Source URL\",\"data-test\":\"source-url\"},model:{value:(_vm.sourceUrl),callback:function ($$v) {_vm.sourceUrl=$$v},expression:\"sourceUrl\"}})],1),_c('v-card-actions',[_c('v-container',{staticClass:\"pt-0\"},[_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{staticClass:\"pl-0\"},[_c('v-btn',{attrs:{\"color\":\"success\",\"text\":\"\",\"data-test\":\"save-source-url\"},on:{\"click\":_vm.saveSourceUrl}},[_vm._v(\" Save \")])],1)],1),_c('v-alert',{attrs:{\"type\":\"error\",\"dismissible\":\"\",\"dense\":\"\"},model:{value:(_vm.errorSaving),callback:function ($$v) {_vm.errorSaving=$$v},expression:\"errorSaving\"}},[_vm._v(\" Error saving \")]),_c('v-alert',{attrs:{\"type\":\"success\",\"dismissible\":\"\",\"dense\":\"\"},model:{value:(_vm.successSaving),callback:function ($$v) {_vm.successSaving=$$v},expression:\"successSaving\"}},[_vm._v(\" Saved! (Refresh the page to see changes) \")])],1)],1)],1),_c('v-divider'),_c('v-card',[_c('v-card-title',[_vm._v(\" Rubygems URL \")]),_c('v-card-subtitle',[_vm._v(\" This sets the URL for installing dependency rubygems. Also used for rubygem discovery. \")]),_c('v-card-text',{staticClass:\"pb-0 ml-2\"},[_c('v-text-field',{attrs:{\"label\":\"Rubygems URL\",\"data-test\":\"rubygems-url\"},model:{value:(_vm.rubygemsUrl),callback:function ($$v) {_vm.rubygemsUrl=$$v},expression:\"rubygemsUrl\"}})],1),_c('v-card-actions',[_c('v-container',{staticClass:\"pt-0\"},[_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{staticClass:\"pl-0\"},[_c('v-btn',{attrs:{\"color\":\"success\",\"text\":\"\",\"data-test\":\"save-rubygems-url\"},on:{\"click\":_vm.saveRubygemsUrl}},[_vm._v(\" Save \")])],1)],1),_c('v-alert',{attrs:{\"type\":\"error\",\"dismissible\":\"\",\"dense\":\"\"},model:{value:(_vm.errorSaving),callback:function ($$v) {_vm.errorSaving=$$v},expression:\"errorSaving\"}},[_vm._v(\" Error saving \")]),_c('v-alert',{attrs:{\"type\":\"success\",\"dismissible\":\"\",\"dense\":\"\"},model:{value:(_vm.successSaving),callback:function ($$v) {_vm.successSaving=$$v},expression:\"successSaving\"}},[_vm._v(\" Saved! (Refresh the page to see changes) \")])],1)],1)],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/*\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2022, OpenC3, Inc.\n# All Rights Reserved\n*/\n\nimport axios from './axios.js'\n\nexport class OpenC3Api {\n id = 1\n\n constructor() {}\n\n // This is hacky Json-rpc for now. Should probably use a jsonrpc library.\n async exec(method, params, kwparams = {}, headerOptions = {}) {\n try {\n await OpenC3Auth.updateToken(OpenC3Auth.defaultMinValidity)\n } catch (error) {\n OpenC3Auth.login()\n }\n this.id = this.id + 1\n try {\n kwparams['scope'] = window.openc3Scope\n const response = await axios.post(\n '/openc3-api/api',\n {\n jsonrpc: '2.0',\n method: method,\n params: params,\n id: this.id,\n keyword_params: kwparams,\n },\n {\n headers: {\n Authorization: localStorage.openc3Token,\n 'Content-Type': 'application/json-rpc',\n ...headerOptions,\n },\n }\n )\n // var data = response.data\n // if (data.error) {\n // var err = new Error()\n // err.name = data.error.data.class\n // err.message = data.error.data.message\n // console.log(data.error.data.backtrace.join('\\n'))\n // throw err\n // }\n return response.data.result\n } catch (error) {\n var err = new Error()\n if (error.response) {\n // The request was made and the server responded with a\n // status code that falls out of the range of 2xx\n err.name = error.response.data.error.data.class\n err.message = error.response.data.error.data.message\n } else if (error.request) {\n // The request was made but no response was received, `error.request`\n // is an instance of XMLHttpRequest in the browser and an instance\n // of http.ClientRequest in Node.js\n err.name = 'Request error'\n err.message = 'Request error, no response received'\n } else {\n // Something happened in setting up the request and triggered an Error\n err.name = 'Unknown error'\n }\n // console.log(error)\n throw err\n }\n }\n\n decode_openc3_type(val) {\n if (val !== null && typeof val === 'object') {\n if (val.json_class == 'Float' && val.raw) {\n if (val.raw == 'NaN') {\n return NaN\n } else if (val.raw == 'Infinity') {\n return Infinity\n } else if (val.raw == '-Infinity') {\n return -Infinity\n }\n }\n }\n return null\n }\n\n encode_openc3_type(val) {\n if (Number.isNaN(val)) {\n return { json_class: 'Float', raw: 'NaN' }\n } else if (val == Number.POSITIVE_INFINITY) {\n return { json_class: 'Float', raw: 'Infinity' }\n } else if (val == Number.NEGATIVE_INFINITY) {\n return { json_class: 'Float', raw: '-Infinity' }\n }\n return null\n }\n\n // ***********************************************\n // The following APIs are used by the CmdTlmServer\n // ***********************************************\n get_all_interface_info() {\n return this.exec('get_all_interface_info', [])\n }\n\n map_target_to_interface(target_name, interface_name) {\n return this.exec('map_target_to_interface', [target_name, interface_name])\n }\n\n connect_interface(interface_name) {\n return this.exec('connect_interface', [interface_name])\n }\n\n disconnect_interface(interface_name) {\n return this.exec('disconnect_interface', [interface_name])\n }\n\n get_all_router_info() {\n return this.exec('get_all_router_info', [])\n }\n\n connect_router(router_name) {\n return this.exec('connect_router', [router_name])\n }\n\n disconnect_router(router_name) {\n return this.exec('disconnect_router', [router_name])\n }\n\n get_all_target_info() {\n return this.exec('get_all_target_info', [])\n }\n\n get_tlm_cnts(target_commands) {\n return this.exec('get_tlm_cnts', [target_commands])\n }\n\n get_item(target, packet, item) {\n return this.exec('get_item', [target, packet, item])\n }\n\n get_parameter(target, packet, item) {\n return this.exec('get_parameter', [target, packet, item])\n }\n\n get_all_packet_logger_info() {\n return this.exec('get_all_packet_logger_info', [])\n }\n\n start_logging() {\n return this.exec('start_logging', [])\n }\n\n stop_logging() {\n return this.exec('stop_logging', [])\n }\n\n start_cmd_log(log_writer_name) {\n return this.exec('start_cmd_log', [log_writer_name])\n }\n\n start_tlm_log(log_writer_name) {\n return this.exec('start_tlm_log', [log_writer_name])\n }\n\n stop_cmd_log(log_writer_name) {\n return this.exec('stop_cmd_log', [log_writer_name])\n }\n\n stop_tlm_log(log_writer_name) {\n return this.exec('stop_tlm_log', [log_writer_name])\n }\n\n get_server_status() {\n return this.exec('get_server_status', [])\n }\n\n get_limits_sets() {\n return this.exec('get_limits_sets', [])\n }\n\n get_limits_set() {\n return this.exec('get_limits_set', [])\n }\n\n set_limits_set(limits_set) {\n return this.exec('set_limits_set', [limits_set])\n }\n\n get_background_tasks() {\n return this.exec('get_background_tasks', [])\n }\n\n start_background_task(name) {\n return this.exec('start_background_task', [name])\n }\n\n stop_background_task(name) {\n return this.exec('stop_background_task', [name])\n }\n\n // ***********************************************\n // End CmdTlmServer APIs\n // ***********************************************\n\n get_oldest_logfile() {\n return this.exec('get_oldest_logfile', [])\n }\n\n get_target(target_name) {\n return this.exec('get_target', [target_name])\n }\n\n get_target_list() {\n return this.exec('get_target_list', [])\n }\n\n get_telemetry(target_name, packet_name) {\n return this.exec('get_telemetry', [target_name, packet_name])\n }\n\n get_all_telemetry(target_name) {\n return this.exec('get_all_telemetry', [target_name])\n }\n\n get_all_telemetry_names(target_name) {\n return this.exec('get_all_telemetry_names', [target_name])\n }\n\n async get_tlm_packet(target_name, packet_name, value_type) {\n const data = await this.exec('get_tlm_packet', [target_name, packet_name], {\n type: value_type,\n })\n // Make sure data isn't null or undefined. Note this is the only valid use of == or !=\n if (data != null) {\n var len = data.length\n var converted = null\n for (var i = 0; i < len; i++) {\n converted = this.decode_openc3_type(data[i][1])\n if (converted !== null) {\n data[i][1] = converted\n }\n }\n }\n return data\n }\n\n get_packet_derived_items(target_name, packet_name) {\n return this.exec('get_packet_derived_items', [target_name, packet_name])\n }\n\n get_tlm_buffer(target_name, packet_name) {\n return this.exec('get_tlm_buffer', [target_name, packet_name])\n }\n\n async get_tlm_values(items) {\n const data = await this.exec('get_tlm_values', [items])\n var len = data[0].length\n var converted = null\n for (var i = 0; i < len; i++) {\n converted = this.decode_openc3_type(data[0][i])\n if (converted !== null) {\n data[0][i] = converted\n }\n }\n return data\n }\n\n get_limits(target_name, packet_name, item_name) {\n return this.exec('get_limits', [target_name, packet_name, item_name])\n }\n\n async tlm(target_name, packet_name, item_name, data_type = 'CONVERTED') {\n let data = null\n // Check for the single string syntax: tlm(\"TGT PKT ITEM\")\n if (packet_name === undefined) {\n data = await this.exec('tlm', [target_name])\n // Check for the single string syntax with type: tlm(\"TGT PKT ITEM\", \"RAW\")\n } else if (item_name === undefined) {\n if (\n ['RAW', 'CONVERTED', 'FORMATTED', 'WITH_UNITS'].includes(packet_name)\n ) {\n data = await this.exec('tlm', [target_name], { type: packet_name })\n } else {\n var err = new Error()\n err.name = 'TypeError'\n err.message = `Invalid data type ${packet_name}. Valid options are RAW, CONVERTED, FORMATTED, and WITH_UNITS.`\n throw err\n }\n } else {\n data = await this.exec('tlm', [target_name, packet_name, item_name], {\n type: data_type,\n })\n }\n var converted = this.decode_openc3_type(data)\n if (converted !== null) {\n data = converted\n }\n return data\n }\n\n get_all_commands(target_name) {\n return this.exec('get_all_commands', [target_name])\n }\n\n get_all_command_names(target_name) {\n return this.exec('get_all_command_names', [target_name])\n }\n\n get_command(target_name, command_name) {\n return this.exec('get_command', [target_name, command_name])\n }\n\n get_cmd_cnts(target_commands) {\n return this.exec('get_cmd_cnts', [target_commands])\n }\n\n get_cmd_value(\n target_name,\n packet_name,\n parameter_name,\n value_type = 'CONVERTED'\n ) {\n return this.exec('get_cmd_value', [\n target_name,\n packet_name,\n parameter_name,\n value_type,\n ])\n }\n\n get_cmd_buffer(target_name, packet_name) {\n return this.exec('get_cmd_buffer', [target_name, packet_name])\n }\n\n // Implementation of functionality shared by cmd methods with param_lists.\n _cmd(method, target_name, command_name, param_list, headerOptions) {\n var converted = null\n for (var key in param_list) {\n if (Object.prototype.hasOwnProperty.call(param_list, key)) {\n converted = this.encode_openc3_type(param_list[key])\n if (converted !== null) {\n param_list[key] = converted\n }\n }\n }\n return this.exec(\n method,\n [target_name, command_name, param_list],\n {},\n headerOptions\n )\n }\n\n get_cmd_hazardous(target_name, command_name, param_list) {\n if (command_name === undefined) {\n return this.exec('get_cmd_hazardous', target_name)\n } else {\n return this._cmd(\n 'get_cmd_hazardous',\n target_name,\n command_name,\n param_list\n )\n }\n }\n\n cmd(target_name, command_name, param_list, headerOptions = {}) {\n if (command_name === undefined) {\n return this.exec('cmd', target_name, {}, headerOptions)\n } else {\n return this._cmd(\n 'cmd',\n target_name,\n command_name,\n param_list,\n headerOptions\n )\n }\n }\n\n cmd_no_range_check(target_name, command_name, param_list) {\n if (command_name === undefined) {\n return this.exec('cmd_no_range_check', target_name)\n } else {\n return this._cmd(\n 'cmd_no_range_check',\n target_name,\n command_name,\n param_list\n )\n }\n }\n\n cmd_raw(target_name, command_name, param_list) {\n if (command_name === undefined) {\n return this.exec('cmd_raw', target_name)\n } else {\n return this._cmd('cmd_raw', target_name, command_name, param_list)\n }\n }\n\n cmd_raw_no_range_check(target_name, command_name, param_list) {\n if (command_name === undefined) {\n return this.exec('cmd_raw_no_range_check', target_name)\n } else {\n return this._cmd(\n 'cmd_raw_no_range_check',\n target_name,\n command_name,\n param_list\n )\n }\n }\n\n cmd_no_hazardous_check(target_name, command_name, param_list) {\n if (command_name === undefined) {\n return this.exec('cmd_no_hazardous_check', target_name)\n } else {\n return this._cmd(\n 'cmd_no_hazardous_check',\n target_name,\n command_name,\n param_list\n )\n }\n }\n\n cmd_no_checks(target_name, command_name, param_list) {\n if (command_name === undefined) {\n return this.exec('cmd_no_checks', target_name)\n } else {\n return this._cmd('cmd_no_checks', target_name, command_name, param_list)\n }\n }\n\n cmd_raw_no_hazardous_check(target_name, command_name, param_list) {\n if (command_name === undefined) {\n return this.exec('cmd_raw_no_hazardous_check', target_name)\n } else {\n return this._cmd(\n 'cmd_raw_no_hazardous_check',\n target_name,\n command_name,\n param_list\n )\n }\n }\n\n cmd_raw_no_checks(target_name, command_name, param_list) {\n if (command_name === undefined) {\n return this.exec('cmd_raw_no_checks', target_name)\n } else {\n return this._cmd(\n 'cmd_raw_no_checks',\n target_name,\n command_name,\n param_list\n )\n }\n }\n\n get_interface_names() {\n return this.exec('get_interface_names', [])\n }\n\n send_raw(interface_name, data) {\n return this.exec('send_raw', [interface_name, data])\n }\n\n list_configs(tool) {\n return this.exec('list_configs', [tool])\n }\n\n load_config(tool, name) {\n return this.exec('load_config', [tool, name])\n }\n\n save_config(tool, name, data) {\n return this.exec('save_config', [tool, name, data])\n }\n\n delete_config(tool, name) {\n return this.exec('delete_config', [tool, name])\n }\n\n get_out_of_limits() {\n return this.exec('get_out_of_limits', [])\n }\n\n get_overall_limits_state(ignored) {\n return this.exec('get_overall_limits_state', [ignored])\n }\n\n list_settings() {\n return this.exec('list_settings', [])\n }\n\n get_all_settings() {\n return this.exec('get_all_settings', [])\n }\n\n get_setting(name) {\n return this.exec('get_setting', [name])\n }\n\n get_settings(array) {\n return this.exec('get_settings', array)\n }\n\n save_setting(name, data) {\n return this.exec('save_setting', [name, data])\n }\n\n // TODO: Currently unused but seemed like a useful function\n async hashString(string) {\n if (window.isSecureContext) {\n // Encode the string as an arrayBuffer which the subtle crypto API uses\n const arrayBuffer = new TextEncoder().encode(string)\n // Use the subtle crypto API to perform a SHA256 Sum of the array buffer\n // The resulting hash is stored in an array buffer\n const hashAsArrayBuffer = await crypto.subtle.digest(\n 'SHA-256',\n arrayBuffer\n )\n // To create a string we will get the hexadecimal value of each byte of the array buffer\n // This gets us an array where each byte of the array buffer becomes one item in the array\n const uint8ViewOfHash = new Uint8Array(hashAsArrayBuffer)\n // We then convert it to a regular array so we can convert each item to hexadecimal strings\n // Where to characters of 0-9 or a-f represent a number between 0 and 16, containing 4 bits of information, so 2 of them is 8 bits (1 byte).\n return Array.from(uint8ViewOfHash)\n .map((b) => b.toString(16).padStart(2, '0'))\n .join('')\n }\n // else ?\n }\n}\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('v-card',[_c('v-card-title',[_vm._v(\"Classification Banner Settings\")]),_c('v-card-text',{staticClass:\"pb-0\"},[_c('v-alert',{attrs:{\"type\":\"error\",\"dismissible\":\"\",\"dense\":\"\"},model:{value:(_vm.errorLoading),callback:function ($$v) {_vm.errorLoading=$$v},expression:\"errorLoading\"}},[_vm._v(\" Error loading previous configuration \")]),_c('v-container',{staticClass:\"pb-0\"},[_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',[_c('v-text-field',{attrs:{\"label\":\"Text\",\"data-test\":\"classification-banner-text\"},model:{value:(_vm.text),callback:function ($$v) {_vm.text=$$v},expression:\"text\"}})],1)],1),_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',[_c('v-select',{attrs:{\"label\":\"Background color\",\"items\":_vm.colors,\"data-test\":\"classification-banner-background-color\"},scopedSlots:_vm._u([(_vm.selectedBackgroundColor)?{key:\"prepend-inner\",fn:function(){return [_c('v-icon',{attrs:{\"color\":_vm.selectedBackgroundColor}},[_vm._v(\" mdi-square \")])]},proxy:true}:null,{key:\"item\",fn:function(data){return [(data.item.value)?_c('v-icon',{staticClass:\"pr-1\",attrs:{\"color\":data.item.value}},[_vm._v(\" mdi-square \")]):_vm._e(),_vm._v(\" \"+_vm._s(data.item.text)+\" \")]}}],null,true),model:{value:(_vm.selectedBackgroundColor),callback:function ($$v) {_vm.selectedBackgroundColor=$$v},expression:\"selectedBackgroundColor\"}})],1),_c('v-col',[_c('v-text-field',{attrs:{\"label\":\"Custom background color\",\"hint\":_vm.customColorHint,\"disabled\":_vm.selectedBackgroundColor !== false,\"rules\":[_vm.rules.customColor],\"data-test\":\"classification-banner-custom-background-color\"},scopedSlots:_vm._u([{key:\"prepend-inner\",fn:function(){return [_c('v-icon',{directives:[{name:\"show\",rawName:\"v-show\",value:(!_vm.selectedBackgroundColor),expression:\"!selectedBackgroundColor\"}],attrs:{\"color\":_vm.customBackgroundColor}},[_vm._v(\" mdi-square \")])]},proxy:true}]),model:{value:(_vm.customBackgroundColor),callback:function ($$v) {_vm.customBackgroundColor=$$v},expression:\"customBackgroundColor\"}})],1),_c('v-col',[_c('v-select',{attrs:{\"label\":\"Font color\",\"items\":_vm.colors,\"data-test\":\"classification-banner-font-color\"},scopedSlots:_vm._u([(_vm.selectedFontColor)?{key:\"prepend-inner\",fn:function(){return [_c('v-icon',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.selectedFontColor),expression:\"selectedFontColor\"}],attrs:{\"color\":_vm.selectedFontColor}},[_vm._v(\" mdi-square \")])]},proxy:true}:null,{key:\"item\",fn:function(data){return [(data.item.value)?_c('v-icon',{staticClass:\"pr-1\",attrs:{\"color\":data.item.value}},[_vm._v(\" mdi-square \")]):_vm._e(),_vm._v(\" \"+_vm._s(data.item.text)+\" \")]}}],null,true),model:{value:(_vm.selectedFontColor),callback:function ($$v) {_vm.selectedFontColor=$$v},expression:\"selectedFontColor\"}})],1),_c('v-col',[_c('v-text-field',{attrs:{\"label\":\"Custom font color\",\"hint\":_vm.customColorHint,\"disabled\":_vm.selectedFontColor !== false,\"rules\":[_vm.rules.customColor],\"data-test\":\"classification-banner-custom-font-color\"},scopedSlots:_vm._u([{key:\"prepend-inner\",fn:function(){return [_c('v-icon',{directives:[{name:\"show\",rawName:\"v-show\",value:(!_vm.selectedFontColor),expression:\"!selectedFontColor\"}],attrs:{\"color\":_vm.customFontColor}},[_vm._v(\" mdi-square \")])]},proxy:true}]),model:{value:(_vm.customFontColor),callback:function ($$v) {_vm.customFontColor=$$v},expression:\"customFontColor\"}})],1)],1),_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',[_c('v-switch',{attrs:{\"label\":\"Display top banner\",\"data-test\":\"display-top-banner\"},model:{value:(_vm.displayTopBanner),callback:function ($$v) {_vm.displayTopBanner=$$v},expression:\"displayTopBanner\"}})],1),_c('v-col',[_c('v-text-field',{attrs:{\"label\":\"Top height\",\"disabled\":!_vm.displayTopBanner,\"type\":\"number\",\"suffix\":\"px\",\"data-test\":\"classification-banner-top-height\"},model:{value:(_vm.topHeight),callback:function ($$v) {_vm.topHeight=$$v},expression:\"topHeight\"}})],1),_c('v-col',[_c('v-switch',{attrs:{\"label\":\"Display bottom banner\",\"data-test\":\"display-bottom-banner\"},model:{value:(_vm.displayBottomBanner),callback:function ($$v) {_vm.displayBottomBanner=$$v},expression:\"displayBottomBanner\"}})],1),_c('v-col',[_c('v-text-field',{attrs:{\"label\":\"Bottom height\",\"disabled\":!_vm.displayBottomBanner,\"type\":\"number\",\"suffix\":\"px\",\"data-test\":\"classification-banner-bottom-height\"},model:{value:(_vm.bottomHeight),callback:function ($$v) {_vm.bottomHeight=$$v},expression:\"bottomHeight\"}})],1)],1)],1)],1),_c('v-card-actions',[_c('v-container',{staticClass:\"pt-0\"},[_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{staticClass:\"pl-0\"},[_c('v-btn',{attrs:{\"disabled\":!_vm.formValid,\"color\":\"success\",\"text\":\"\",\"data-test\":\"save-classification-banner\"},on:{\"click\":_vm.save}},[_vm._v(\" Save \")])],1)],1),_c('v-alert',{attrs:{\"type\":\"error\",\"dismissible\":\"\",\"dense\":\"\"},model:{value:(_vm.errorSaving),callback:function ($$v) {_vm.errorSaving=$$v},expression:\"errorSaving\"}},[_vm._v(\" Error saving \")]),_c('v-alert',{attrs:{\"type\":\"success\",\"dismissible\":\"\",\"dense\":\"\"},model:{value:(_vm.successSaving),callback:function ($$v) {_vm.successSaving=$$v},expression:\"successSaving\"}},[_vm._v(\" Saved! (Refresh the page to see changes) \")])],1)],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ClassificationBannerSettings.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ClassificationBannerSettings.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ClassificationBannerSettings.vue?vue&type=template&id=942a5ee2&\"\nimport script from \"./ClassificationBannerSettings.vue?vue&type=script&lang=js&\"\nexport * from \"./ClassificationBannerSettings.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/@vue/vue-loader-v15/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 mod from \"-!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./SettingsTab.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./SettingsTab.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./SettingsTab.vue?vue&type=template&id=613a7e3a&\"\nimport script from \"./SettingsTab.vue?vue&type=script&lang=js&\"\nexport * from \"./SettingsTab.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var defineBuiltIn = require('../internals/define-built-in');\n\nmodule.exports = function (target, src, options) {\n for (var key in src) defineBuiltIn(target, key, src[key], options);\n return target;\n};\n","// https://github.com/zloirock/core-js/issues/280\nvar userAgent = require('../internals/engine-user-agent');\n\nmodule.exports = /Version\\/10(?:\\.\\d+){1,2}(?: [\\w./]+)?(?: Mobile\\/\\w+)? Safari\\//.test(userAgent);\n","// https://github.com/tc39/proposal-string-pad-start-end\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar toLength = require('../internals/to-length');\nvar toString = require('../internals/to-string');\nvar $repeat = require('../internals/string-repeat');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nvar repeat = uncurryThis($repeat);\nvar stringSlice = uncurryThis(''.slice);\nvar ceil = Math.ceil;\n\n// `String.prototype.{ padStart, padEnd }` methods implementation\nvar createMethod = function (IS_END) {\n return function ($this, maxLength, fillString) {\n var S = toString(requireObjectCoercible($this));\n var intMaxLength = toLength(maxLength);\n var stringLength = S.length;\n var fillStr = fillString === undefined ? ' ' : toString(fillString);\n var fillLen, stringFiller;\n if (intMaxLength <= stringLength || fillStr == '') return S;\n fillLen = intMaxLength - stringLength;\n stringFiller = repeat(fillStr, ceil(fillLen / fillStr.length));\n if (stringFiller.length > fillLen) stringFiller = stringSlice(stringFiller, 0, fillLen);\n return IS_END ? S + stringFiller : stringFiller + S;\n };\n};\n\nmodule.exports = {\n // `String.prototype.padStart` method\n // https://tc39.es/ecma262/#sec-string.prototype.padstart\n start: createMethod(false),\n // `String.prototype.padEnd` method\n // https://tc39.es/ecma262/#sec-string.prototype.padend\n end: createMethod(true)\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar $padStart = require('../internals/string-pad').start;\nvar WEBKIT_BUG = require('../internals/string-pad-webkit-bug');\n\n// `String.prototype.padStart` method\n// https://tc39.es/ecma262/#sec-string.prototype.padstart\n$({ target: 'String', proto: true, forced: WEBKIT_BUG }, {\n padStart: function padStart(maxLength /* , fillString = ' ' */) {\n return $padStart(this, maxLength, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar call = require('../internals/function-call');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar isCallable = require('../internals/is-callable');\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\nvar isRegExp = require('../internals/is-regexp');\nvar toString = require('../internals/to-string');\nvar getMethod = require('../internals/get-method');\nvar getRegExpFlags = require('../internals/regexp-get-flags');\nvar getSubstitution = require('../internals/get-substitution');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar IS_PURE = require('../internals/is-pure');\n\nvar REPLACE = wellKnownSymbol('replace');\nvar $TypeError = TypeError;\nvar indexOf = uncurryThis(''.indexOf);\nvar replace = uncurryThis(''.replace);\nvar stringSlice = uncurryThis(''.slice);\nvar max = Math.max;\n\nvar stringIndexOf = function (string, searchValue, fromIndex) {\n if (fromIndex > string.length) return -1;\n if (searchValue === '') return fromIndex;\n return indexOf(string, searchValue, fromIndex);\n};\n\n// `String.prototype.replaceAll` method\n// https://tc39.es/ecma262/#sec-string.prototype.replaceall\n$({ target: 'String', proto: true }, {\n replaceAll: function replaceAll(searchValue, replaceValue) {\n var O = requireObjectCoercible(this);\n var IS_REG_EXP, flags, replacer, string, searchString, functionalReplace, searchLength, advanceBy, replacement;\n var position = 0;\n var endOfLastMatch = 0;\n var result = '';\n if (!isNullOrUndefined(searchValue)) {\n IS_REG_EXP = isRegExp(searchValue);\n if (IS_REG_EXP) {\n flags = toString(requireObjectCoercible(getRegExpFlags(searchValue)));\n if (!~indexOf(flags, 'g')) throw $TypeError('`.replaceAll` does not allow non-global regexes');\n }\n replacer = getMethod(searchValue, REPLACE);\n if (replacer) {\n return call(replacer, searchValue, O, replaceValue);\n } else if (IS_PURE && IS_REG_EXP) {\n return replace(toString(O), searchValue, replaceValue);\n }\n }\n string = toString(O);\n searchString = toString(searchValue);\n functionalReplace = isCallable(replaceValue);\n if (!functionalReplace) replaceValue = toString(replaceValue);\n searchLength = searchString.length;\n advanceBy = max(1, searchLength);\n position = stringIndexOf(string, searchString, 0);\n while (position !== -1) {\n replacement = functionalReplace\n ? toString(replaceValue(searchString, position, string))\n : getSubstitution(searchString, string, position, [], undefined, replaceValue);\n result += stringSlice(string, endOfLastMatch, position) + replacement;\n endOfLastMatch = position + searchLength;\n position = stringIndexOf(string, searchString, position + advanceBy);\n }\n if (endOfLastMatch < string.length) {\n result += stringSlice(string, endOfLastMatch);\n }\n return result;\n }\n});\n","/*\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2022, OpenC3, Inc.\n# All Rights Reserved\n*/\n\nimport axios from 'axios'\nimport Vue from 'vue'\n\nconst vueInstance = new Vue()\n\nconst axiosInstance = axios.create({\n baseURL: location.origin,\n timeout: 60000,\n params: {},\n})\n\naxiosInstance.interceptors.response.use(\n (response) => response,\n (error) => {\n if (error.response) {\n if (error.response.status === 401) {\n OpenC3Auth.updateToken(OpenC3Auth.defaultMinValidity, true)\n }\n // Individual tools can set 'Ignore-Errors' to an error code\n // they potentially expect, e.g. '500', in which case we ignore it\n // For example in CommandSender.vue:\n // obs = this.api.cmd(targetName, commandName, paramList, {\n // 'Ignore-Errors': '500',\n // })\n if (\n error.response.headers['ignore-errors'] &&\n error.response.headers['ignore-errors'].includes(\n error.response.status.toString()\n )\n ) {\n return Promise.reject(error)\n }\n let body = `HTTP ${error.response.status} - `\n if (error.response?.statusText) {\n body += `${error.response.statusText} `\n }\n if (error.response?.config?.data) {\n body += `${error.response.config.data} `\n }\n if (error.response?.data?.message) {\n body += `${error.response.data.message}`\n } else if (error.response?.data?.exception) {\n body += `${error.response.data.exception}`\n } else if (error.response?.data?.error?.message) {\n if (error.response.data.error.class) {\n body += `${error.response.data.error.class} `\n }\n body += `${error.response.data.error.message}`\n } else {\n body += `${error.response?.data}`\n }\n if (vueInstance.$notify) {\n vueInstance.$notify.serious({\n title: 'Network error',\n body,\n })\n }\n throw error\n } else {\n throw error\n }\n }\n)\n\nexport default axiosInstance\n","import unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nexport default function _createForOfIteratorHelper(o, allowArrayLike) {\n var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"];\n\n if (!it) {\n if (Array.isArray(o) || (it = unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") {\n if (it) o = it;\n var i = 0;\n\n var F = function F() {};\n\n return {\n s: F,\n n: function n() {\n if (i >= o.length) return {\n done: true\n };\n return {\n done: false,\n value: o[i++]\n };\n },\n e: function e(_e) {\n throw _e;\n },\n f: F\n };\n }\n\n throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n }\n\n var normalCompletion = true,\n didErr = false,\n err;\n return {\n s: function s() {\n it = it.call(o);\n },\n n: function n() {\n var step = it.next();\n normalCompletion = step.done;\n return step;\n },\n e: function e(_e2) {\n didErr = true;\n err = _e2;\n },\n f: function f() {\n try {\n if (!normalCompletion && it[\"return\"] != null) it[\"return\"]();\n } finally {\n if (didErr) throw err;\n }\n }\n };\n}"],"names":["render","_vm","this","_c","_self","_v","staticClass","suppressedWarnings","length","attrs","model","value","selectAllSuppressedWarnings","callback","$$v","expression","_l","warning","key","text","selectedSuppressedWarnings","on","resetSuppressedWarnings","lastConfigs","selectAllLastConfigs","config","selectedLastConfigs","clearLastConfigs","sourceUrl","saveSourceUrl","errorSaving","successSaving","rubygemsUrl","saveRubygemsUrl","staticRenderFns","OpenC3Api","method","params","kwparams","headerOptions","OpenC3Auth","updateToken","defaultMinValidity","login","id","window","openc3Scope","axios","jsonrpc","keyword_params","headers","Authorization","localStorage","openc3Token","response","data","result","err","Error","name","error","class","message","request","val","json_class","raw","NaN","Infinity","Number","isNaN","POSITIVE_INFINITY","NEGATIVE_INFINITY","exec","target_name","interface_name","router_name","target_commands","target","packet","item","log_writer_name","limits_set","packet_name","value_type","type","len","converted","i","decode_openc3_type","items","item_name","data_type","undefined","includes","command_name","parameter_name","param_list","Object","prototype","hasOwnProperty","call","encode_openc3_type","_cmd","tool","ignored","array","string","isSecureContext","arrayBuffer","TextEncoder","encode","crypto","subtle","digest","hashAsArrayBuffer","uint8ViewOfHash","Uint8Array","Array","from","map","b","toString","padStart","join","errorLoading","colors","scopedSlots","_u","selectedBackgroundColor","fn","proxy","_e","_s","customColorHint","rules","customColor","directives","rawName","customBackgroundColor","selectedFontColor","customFontColor","displayTopBanner","topHeight","displayBottomBanner","bottomHeight","formValid","save","api","computed","saveObj","fontColor","backgroundColor","watch","created","methods","load","get_setting","settingName","then","parsed","catch","save_setting","component","components","ClassificationBannerSettings","loadSuppressedWarnings","filter","loadLastConfigs","deleteLocalStorageKeys","keys","localStorageKeyToDisplayObject","loadSourceUrl","loadRubygemsUrl","defineBuiltIn","module","exports","src","options","userAgent","test","uncurryThis","toLength","$repeat","requireObjectCoercible","repeat","stringSlice","slice","ceil","Math","createMethod","IS_END","$this","maxLength","fillString","fillLen","stringFiller","S","intMaxLength","stringLength","fillStr","start","end","$","$padStart","WEBKIT_BUG","proto","forced","arguments","isCallable","isNullOrUndefined","isRegExp","getMethod","getRegExpFlags","getSubstitution","wellKnownSymbol","IS_PURE","REPLACE","$TypeError","TypeError","indexOf","replace","max","stringIndexOf","searchValue","fromIndex","replaceAll","replaceValue","IS_REG_EXP","flags","replacer","searchString","functionalReplace","searchLength","advanceBy","replacement","O","position","endOfLastMatch","vueInstance","Vue","axiosInstance","baseURL","location","origin","timeout","interceptors","use","status","Promise","reject","body","statusText","exception","$notify","serious","title","_createForOfIteratorHelper","o","allowArrayLike","it","Symbol","iterator","isArray","unsupportedIterableToArray","F","s","n","done","e","f","normalCompletion","didErr","step","next","_e2"],"sourceRoot":""}