openc3-cosmos-tool-dataextractor 6.10.2 → 6.10.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/tools/dataextractor/ArrayWidget-Bc-Awsbn-725121c6cf8f316888ed.js +2 -0
- data/tools/dataextractor/{ArrayplotWidget-DDEd-jRJ-84ba295930b81d4eb221.js → ArrayplotWidget-B9UGCr4--10bc9bda6d6218d666b9.js} +1 -1
- data/tools/dataextractor/BarColumn-ClLBRGll-fb02389b391b435091f1.js +1 -0
- data/tools/dataextractor/BlockWidget-CoQp-LZM-272c36deb40927f0cf99.js +2 -0
- data/tools/dataextractor/ButtonWidget-CTTwpFec-a45fcc1ebc4a0838d11d.js +2 -0
- data/tools/dataextractor/CanvasWidget-jFarbJ3t-3e04e3d0affd81c321d2.js +1 -0
- data/tools/dataextractor/{CanvasdotWidget--awMOWyz-3268ed3b5e57c7ca818d.js → CanvasdotWidget-BoyUcwiB-8e204fc12b1ca57b323f.js} +1 -1
- data/tools/dataextractor/CanvasimageWidget-DmyCSnuQ-f0bb0c1bc8ece5718733.js +1 -0
- data/tools/dataextractor/CanvasimagevalueWidget-CmbngMqv-ad858edad0b3552ad29d.js +1 -0
- data/tools/dataextractor/{CanvaslabelWidget-DoMplTTO-c59605de499dffd59345.js → CanvaslabelWidget-D8NzLKqi-a1cc6151409c4f4ef644.js} +1 -1
- data/tools/dataextractor/CanvaslabelvalueWidget-DOybGI9D-b4661f20261ff535e72b.js +1 -0
- data/tools/dataextractor/{CanvaslineWidget-D7W1TIxm-999c1564db4810f07c54.js → CanvaslineWidget-D2NEei7j-e9037dd519b731eab390.js} +1 -1
- data/tools/dataextractor/CanvaslinevalueWidget-Ctvv9owf-78ae8d0818475e5dab9e.js +1 -0
- data/tools/dataextractor/CheckbuttonWidget-CQeR0BMF-71221f9d684eae42d734.js +1 -0
- data/tools/dataextractor/ComboboxWidget-4N-MagvN-26319eb531aa923f37b0.js +1 -0
- data/tools/dataextractor/DataExtractor-49686590098f6223d96c.js +11 -0
- data/tools/dataextractor/DateWidget-rYTjwUdb-be2b822f1c0563c1199d.js +1 -0
- data/tools/dataextractor/DetailsDialog-p_vutijL-22b1ca4ac94462632604.js +1 -0
- data/tools/dataextractor/DynamicWidget-DEHWYr8i-bb10f0f211e0d6007cd1.js +1 -0
- data/tools/dataextractor/FilechecksumWidget-gcmXxJHl-51155f38449272edae15.js +1 -0
- data/tools/dataextractor/FiledisplayWidget-CqM549A4-dde94b2c031fa0116e4b.js +1 -0
- data/tools/dataextractor/FormatvalueWidget-BEwH0C7S-933bd49fee7450067242.js +1 -0
- data/tools/dataextractor/Graph-CbjlChwf-3f9aea310eebb71b56e5.js +1 -0
- data/tools/dataextractor/{GraphWidget-BpkPpAbd-f051d1e664ed931ea4b2.js → GraphWidget-CjxnC0Dc-5286b6102a372059f83e.js} +1 -1
- data/tools/dataextractor/HorizontalWidget-Dt8bkM3k-6ab4d8e94d239065253a.js +1 -0
- data/tools/dataextractor/{HorizontalboxWidget-CTomf_Iy-6bad35d71df5161bb1f2.js → HorizontalboxWidget-CdAZ5Sa6-8011b01076138200ebce.js} +1 -1
- data/tools/dataextractor/HorizontallineWidget-CXZJTeU2-670c042553f9e2ec7238.js +1 -0
- data/tools/dataextractor/{IframeWidget-DK7rbULe-3a893df2232a44c3a3ba.js → IframeWidget-CrcWiAVE-daa6303242c6802e6dc7.js} +1 -1
- data/tools/dataextractor/{ImageLoader-C9rN_pSY-ea1316dd0a3366aa0eb9.js → ImageLoader-DPqax8yu-8be4961c4ee3b55be3a2.js} +1 -1
- data/tools/dataextractor/ImageviewerWidget-CTEl6iPg-2eabaaf03bd19fc18098.js +1 -0
- data/tools/dataextractor/{LabelWidget-D71FfOSw-2236774228b5f5147e34.js → LabelWidget-CPqKGMx0-fa9f8d26b895e6f7f328.js} +1 -1
- data/tools/dataextractor/LabelledWidget-BHYzRMFd-6a04cbb0f4f91d7d6b99.js +1 -0
- data/tools/dataextractor/LabelprogressbarWidget-D9deeUo7-1d7a9973a162882a55ff.js +1 -0
- data/tools/dataextractor/LabelsparklineWidget-7mYre3CP-5592ea3a9f1fc86cc7cb.js +1 -0
- data/tools/dataextractor/LabelvalueWidget-NLsD60n4-f61de31e67979784b8cc.js +1 -0
- data/tools/dataextractor/LabelvaluedescWidget-DXROG4Gs-24e058937e6a113f246c.js +1 -0
- data/tools/dataextractor/LabelvaluelimitsbarWidget-DqVqHF4W-6ca44e7ccc0c75be52b1.js +1 -0
- data/tools/dataextractor/LabelvaluelimitscolumnWidget-BK6_31pC-978b968d0cfc86d19d48.js +1 -0
- data/tools/dataextractor/LabelvaluerangebarWidget-DR7C8gqw-df75eab4d60fdc1510a4.js +1 -0
- data/tools/dataextractor/Layout-B_Hgw3gd-efe811f3fe21a793ecc7.js +1 -0
- data/tools/dataextractor/LedWidget-CiAVs2tj-5cf1cbd43ddb51760d69.js +1 -0
- data/tools/dataextractor/LimitsBar-_UQG-M6e-e79bee025393a20cb921.js +1 -0
- data/tools/dataextractor/LimitsbarWidget-CIwcOhC8-49d2573d54ccb8358690.js +1 -0
- data/tools/dataextractor/LimitscolorWidget-CGPfJwvT-e2a54a8441c7e7e559f3.js +1 -0
- data/tools/dataextractor/{LimitscolumnWidget-CjBy-CCI-da3d3299dd370fd29ad2.js → LimitscolumnWidget-Bj_UPEC8-7498dda54149ed0b939d.js} +1 -1
- data/tools/dataextractor/LinegraphWidget-DccnHbWa-e3c43191d6d2d331893f.js +1 -0
- data/tools/dataextractor/MatrixbycolumnsWidget-U_NZ6aW--daf7faacbd6a239d2e64.js +1 -0
- data/tools/dataextractor/ProgressbarWidget-D4JtVzyk-2d40df70c7d96d536450.js +1 -0
- data/tools/dataextractor/RadiobuttonWidget-BUaW7pRx-9c3e622297fb6fe927c0.js +1 -0
- data/tools/dataextractor/RadiogroupWidget-NIv4CaUQ-f5e48617b4d692b52115.js +1 -0
- data/tools/dataextractor/RangebarWidget-1-CsFpcl-922edd7787bc653c0894.js +1 -0
- data/tools/dataextractor/RollupWidget-ChasTJYP-e459eb112d1cdb953f75.js +1 -0
- data/tools/dataextractor/ScrollwindowWidget-Y2J758y6-a1840fe72ef9472e7701.js +1 -0
- data/tools/dataextractor/SignalWidget-DFhHDicI-ecaf75f863a425f0029e.js +1 -0
- data/tools/dataextractor/SpacerWidget-D4KojaGb-b2be42972c8500719d8e.js +1 -0
- data/tools/dataextractor/SparklineWidget-DMHFzw8L-91b0a3c0ce8dd5ec82e3.js +1 -0
- data/tools/dataextractor/TabbookWidget-NVLYMdFG-412a422f8fc3efa49b1b.js +1 -0
- data/tools/dataextractor/TargetPacketItemChooser-D5h9Octy-dbed8f533322159c1cbf.js +1 -0
- data/tools/dataextractor/TextboxWidget-CrMYPQIF-a441611dd9de6e35d12f.js +1 -0
- data/tools/dataextractor/TextfieldWidget-DMBQwtnb-bd7a31892a735faf3b79.js +1 -0
- data/tools/dataextractor/{TimeWidget-Dy8zpkC6-460c2358c078e49902d8.js → TimeWidget-CWLJZ2bt-64225f9d27bc3a516f23.js} +1 -1
- data/tools/dataextractor/TitleWidget-V1FGI8l3-ecf255e12fafcf11eb5d.js +1 -0
- data/tools/dataextractor/{VWidget-CBmUpKSV-8813886a1679fe6a0d79.js → VWidget-rAFU-0vj-a2aaac1a8c481b8f7c9a.js} +1 -1
- data/tools/dataextractor/ValueWidget-BI3uXmda-36fc637dd4e48d44fbe5.js +1 -0
- data/tools/dataextractor/ValuelimitsbarWidget-BGSJLpw4-ee2d9a6912e7863e8f9b.js +1 -0
- data/tools/dataextractor/ValuelimitscolumnWidget-CaNjHy4v-e43086a7f4293273a0c6.js +1 -0
- data/tools/dataextractor/ValuerangebarWidget-Do40-aaL-65d077ea4fc05701798c.js +1 -0
- data/tools/dataextractor/VerticalWidget-DZqghqIm-61e7a7bbc01859ca7088.js +1 -0
- data/tools/dataextractor/VerticalboxWidget-CQ__4FcS-80386c538d1cb5139942.js +1 -0
- data/tools/dataextractor/Widget-6-Nvewdp-7627de70dadaabe97688.js +1 -0
- data/tools/dataextractor/{main-651b12795c7d3f57ff0a.js → main-9cd385edc6f249dcc77f.js} +19 -19
- data/tools/dataextractor/main.js +1 -1
- metadata +72 -69
- data/tools/dataextractor/ArrayWidget-CR7Wpw3N-4ca5ba9c1472d172e34a.js +0 -2
- data/tools/dataextractor/BarColumn-XWs-3Cwb-21c0dd0f2e2d81d838b0.js +0 -1
- data/tools/dataextractor/BlockWidget-CfFgdNSv-ee2e545e318e822ff830.js +0 -2
- data/tools/dataextractor/ButtonWidget-BaSvtElA-3008cfe38f3e1a6ab70b.js +0 -2
- data/tools/dataextractor/CanvasWidget-DcwDi5Zk-1cf153daec27a9f780f5.js +0 -1
- data/tools/dataextractor/CanvasimageWidget-YP1pCtvb-a7453f79095a733809a0.js +0 -1
- data/tools/dataextractor/CanvasimagevalueWidget-CjVHb2uj-6e19551a3cc4a7768c5b.js +0 -1
- data/tools/dataextractor/CanvaslabelvalueWidget-Dyo_ogHn-73e1670a20f61242cb4e.js +0 -1
- data/tools/dataextractor/CanvaslinevalueWidget-BOZyJuLE-42a886e387bc417d66ca.js +0 -1
- data/tools/dataextractor/CheckbuttonWidget-B1E4BC6v-e83eda227dc11668601e.js +0 -1
- data/tools/dataextractor/ComboboxWidget-BExUBH57-f47c695c6ce53ea803eb.js +0 -1
- data/tools/dataextractor/DataExtractor-8d5c32776754cd6abd96.js +0 -11
- data/tools/dataextractor/DateWidget-_ZmPsi2l-88b7ef356d7d81c22a8f.js +0 -1
- data/tools/dataextractor/DetailsDialog-Bq7SS7bc-370ad81c0b8d58b6beb7.js +0 -1
- data/tools/dataextractor/DynamicWidget-DHL7pbgW-36375999f9512b7571a7.js +0 -1
- data/tools/dataextractor/FormatvalueWidget-4C0vrL2i-ab3a65a41c507c38a659.js +0 -1
- data/tools/dataextractor/Graph-B7KPo9Ul-7b306a369c80cfe4bf4a.js +0 -1
- data/tools/dataextractor/HorizontalWidget-DbEQYjFC-9203fa237c0cd1418248.js +0 -1
- data/tools/dataextractor/HorizontallineWidget-B7xx7ofY-97ef865d308d570e2c6f.js +0 -1
- data/tools/dataextractor/ImageviewerWidget-6d6Kl3W_-18ad718f4811f20f2ec9.js +0 -1
- data/tools/dataextractor/LabelledWidget-D2ir5kVU-46ddb5413fb17e9ba985.js +0 -1
- data/tools/dataextractor/LabelprogressbarWidget-C4_YbROz-2979f0fd13dea6e9c7e9.js +0 -1
- data/tools/dataextractor/LabelsparklineWidget-CdZ_pM2B-ccb839cc3227c8bb6bb9.js +0 -1
- data/tools/dataextractor/LabelvalueWidget-BS0EPY5h-b2d50ca8ebebfb8070d3.js +0 -1
- data/tools/dataextractor/LabelvaluedescWidget-Cpr8_Voq-9d3e714591f1790a792c.js +0 -1
- data/tools/dataextractor/LabelvaluelimitsbarWidget-DTcYbEQS-295e194a657a0f792e3f.js +0 -1
- data/tools/dataextractor/LabelvaluelimitscolumnWidget-D0ltQ9Ta-6d0ff30ab65fd16d3a56.js +0 -1
- data/tools/dataextractor/LabelvaluerangebarWidget-O8IHjvHs-9ee2ac49fa08bf5b2af9.js +0 -1
- data/tools/dataextractor/Layout-DW5yNlp7-a04881cc025866ca3e70.js +0 -1
- data/tools/dataextractor/LedWidget-DUvJ2v8k-9e2485196914e23d2538.js +0 -1
- data/tools/dataextractor/LimitsbarWidget-BehZv0-k-9abf0cdf88d8d5f1d1bd.js +0 -1
- data/tools/dataextractor/LimitscolorWidget-FXT0ZPPH-bbf2593ac2985c9d1166.js +0 -1
- data/tools/dataextractor/LinegraphWidget-lmu_tFKd-91801ed0807817616018.js +0 -1
- data/tools/dataextractor/MatrixbycolumnsWidget-CCF7rCkV-b873a6e1dc0653093d1a.js +0 -1
- data/tools/dataextractor/ProgressbarWidget-B5WN658S-bc544e73206a78e9249f.js +0 -1
- data/tools/dataextractor/RadiobuttonWidget-B_3nys46-1e702e9e29fb04e173ec.js +0 -1
- data/tools/dataextractor/RadiogroupWidget-BiMIL9li-590f65e75e2b8fe44af7.js +0 -1
- data/tools/dataextractor/RangebarWidget-Dn0GASdi-efd25afb6da2563deeec.js +0 -1
- data/tools/dataextractor/RollupWidget-b62qcG5K-539ab49117bf974594cd.js +0 -1
- data/tools/dataextractor/ScrollwindowWidget-Dn29gs-U-e981a64d1dfbe059e752.js +0 -1
- data/tools/dataextractor/SignalWidget-CLi6qask-f6fc60a0e6946a35b4c6.js +0 -1
- data/tools/dataextractor/SpacerWidget-BCA3gdap-cc56baed1188df1d3dc2.js +0 -1
- data/tools/dataextractor/SparklineWidget-D8mb4zLt-9e4d79986e2c57d73440.js +0 -1
- data/tools/dataextractor/TabbookWidget-Bkt4g02d-d85a179566dd6f6d41d3.js +0 -1
- data/tools/dataextractor/TargetPacketItemChooser-DGcXvdTX-422956920d910f64a05d.js +0 -1
- data/tools/dataextractor/TextboxWidget-CR05wO-t-63d354dae7933e1986ff.js +0 -1
- data/tools/dataextractor/TextfieldWidget-Be_Pz2bF-97c806c745df649fb2d8.js +0 -1
- data/tools/dataextractor/TitleWidget-BcmxUDzM-826f8fd6658fe3903950.js +0 -1
- data/tools/dataextractor/ValueWidget-BxWrHkYY-2278104ac60275e9299f.js +0 -1
- data/tools/dataextractor/ValuelimitsbarWidget-BdY02gqc-fdcf83e59254f5d0a837.js +0 -1
- data/tools/dataextractor/ValuelimitscolumnWidget-CuJ6rqtC-f0d3097b2117bee025dc.js +0 -1
- data/tools/dataextractor/ValuerangebarWidget-C5rolGDi-62d3e5e4d8774813037e.js +0 -1
- data/tools/dataextractor/VerticalWidget-DsnEzKZ2-697f969e98054b0a76c1.js +0 -1
- data/tools/dataextractor/VerticalboxWidget-CzDgveBl-40ee69dcb7bd81c4b4c5.js +0 -1
- data/tools/dataextractor/Widget-VCl8Ts8s-95d14cdc312d1d87d6e4.js +0 -1
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
System.register(["./main-651b12795c7d3f57ff0a.js","vue","./TargetPacketItemChooser-DGcXvdTX-422956920d910f64a05d.js","vue-router","single-spa","vuex","vuetify"],function(ks,kr){"use strict";var ht,ft,mt,pt,gt,bt,x,j,I,yt,f,g,Ee,Z,ee,ae,fe,_t,M,$e,Be,ce,He,wt,ze,vt;return{setters:[O=>{ht=O.d,ft=O._,mt=O.p,pt=O.R,gt=O.a,bt=O.g},O=>{x=O.resolveComponent,j=O.createBlock,I=O.openBlock,yt=O.Teleport,f=O.createVNode,g=O.withCtx,Ee=O.createElementVNode,Z=O.toDisplayString,ee=O.createElementBlock,ae=O.Fragment,fe=O.renderList,_t=O.ref,M=O.createTextVNode,$e=O.mergeProps,Be=O.createSlots,ce=O.createCommentVNode,He=O.normalizeStyle,wt=O.withModifiers,ze=O.withKeys},O=>{vt=O.U},null,null,null,null],execute:function(){var O=document.createElement("style");O.textContent=`.title-font[data-v-daccc1f1]{font-size:1.125rem}.v-progress-linear__determinate[data-v-daccc1f1]{transition:none!important}
|
|
2
|
-
/*$vite$:1*/`,document.head.appendChild(O);const Rs={__name:"TopBarMenu",props:{menu:{type:Object,required:!0},title:{type:String,required:!0}},emits:["submenu-click"],setup(t,{emit:e}){const s=e,i=_t(!1);function n(){i.value=!1}function o(r){return r.replaceAll(" ","-").toLowerCase()}return(r,a)=>{const c=x("v-icon"),l=x("v-btn"),d=x("v-divider"),b=x("v-list-item-title"),_=x("v-list-item"),m=x("v-list"),p=x("v-menu"),h=x("v-radio"),v=x("v-list-item-action"),T=x("v-radio-group"),C=x("v-checkbox");return I(),j(p,{modelValue:i.value,"onUpdate:modelValue":a[0]||(a[0]=y=>i.value=y),"close-on-content-click":!1},{activator:g(({props:y})=>[f(l,$e(y,{variant:"outlined",class:"mx-1 menu-button",text:t.menu.label,"data-test":o(`${t.title} ${t.menu.label}`)}),{append:g(()=>[f(c,{class:"menu-button-icon"},{default:g(()=>[...a[1]||(a[1]=[M(" mdi-menu-down ",-1)])]),_:1})]),_:1},16,["text","data-test"])]),default:g(()=>[f(m,null,{default:g(()=>[(I(!0),ee(ae,null,fe(t.menu.items,(y,k)=>(I(),ee(ae,null,[y.divider?(I(),j(d,{key:k+"-divider"})):y.subMenu&&y.subMenu.length>0?(I(),ee("div",{key:k+"-submenu"},[(I(),j(p,{key:k,"open-on-hover":"",location:"right"},{activator:g(({props:A})=>[(I(),j(_,$e({ref_for:!0},A,{key:k,disabled:y.disabled}),Be({append:g(()=>[f(c,null,{default:g(()=>[...a[2]||(a[2]=[M(" mdi-chevron-right ",-1)])]),_:1})]),default:g(()=>[!y.radio&&!y.checkbox?(I(),j(b,{key:0,style:He("cursor: pointer;"+(y.disabled?"opacity: 0.2":""))},{default:g(()=>[M(Z(y.label),1)]),_:2},1032,["style"])):ce("",!0)]),_:2},[y.icon?{name:"prepend",fn:g(()=>[f(c,{disabled:y.disabled},{default:g(()=>[M(Z(y.icon),1)]),_:2},1032,["disabled"])]),key:"0"}:void 0]),1040,["disabled"]))]),default:g(()=>[f(m,null,{default:g(()=>[(I(!0),ee(ae,null,fe(y.subMenu,(A,L)=>(I(),j(_,{key:L,"prepend-icon":A.icon,onClick:F=>s("submenu-click",A)},{default:g(()=>[f(b,null,{default:g(()=>[M(Z(A.label),1)]),_:2},1024)]),_:2},1032,["prepend-icon","onClick"]))),128))]),_:2},1024)]),_:2},1024))])):y.radioGroup?(I(),j(T,{key:k+"-radio-group",class:"ma-0 pa-0",density:"compact","hide-details":"","model-value":y.value,"onUpdate:modelValue":y.command},{default:g(()=>[(I(!0),ee(ae,null,fe(y.choices,(A,L)=>(I(),j(_,{key:L+"-choice"},{default:g(()=>[f(v,{class:"list-action"},{default:g(()=>[f(h,{color:"secondary",label:A.label,value:A.value,density:"compact","hide-details":""},null,8,["label","value"])]),_:2},1024)]),_:2},1024))),128))]),_:2},1032,["model-value","onUpdate:modelValue"])):(I(),j(_,{key:k+"-list",disabled:y.disabled,"data-test":o(`${t.title} ${t.menu.label} ${y.label}`),onClick:()=>{y.command(y),y.checkbox||n()}},Be({default:g(()=>[y.checkbox?(I(),j(v,{key:0,class:"list-action"},{default:g(()=>[f(C,{modelValue:y.checked,"onUpdate:modelValue":A=>y.checked=A,label:y.label,color:"secondary",density:"compact","hide-details":""},null,8,["modelValue","onUpdate:modelValue","label"])]),_:2},1024)):ce("",!0),!y.radio&&!y.checkbox?(I(),j(b,{key:1,style:He("cursor: pointer;"+(y.disabled?"opacity: 0.2":""))},{default:g(()=>[M(Z(y.label),1)]),_:2},1032,["style"])):ce("",!0)]),_:2},[y.icon?{name:"prepend",fn:g(()=>[f(c,{icon:y.icon,disabled:y.disabled},null,8,["icon","disabled"])]),key:"0"}:void 0]),1032,["disabled","data-test","onClick"]))],64))),256))]),_:1})]),_:1},8,["modelValue"])}}},As={components:{TopBarMenu:Rs},props:{menus:{type:Array,default:function(){return[]}},title:{type:String,default:""}},mounted(){document.title=this.title},methods:{subMenuClick(t){t.command(t),this.$refs.topmenu[0].isActive=!1}}},Is={class:"app-title mr-2"};function Ds(t,e,s,i,n,o){const r=x("v-col"),a=x("v-row"),c=x("TopBarMenu");return I(),j(yt,{to:"#openc3-menu"},[f(a,{"no-gutters":""},{default:g(()=>[f(r,{"align-self":"end"},{default:g(()=>[Ee("span",Is,Z(s.title),1)]),_:1})]),_:1}),f(a,{dense:"",class:"flex-nowrap"},{default:g(()=>[(I(!0),ee(ae,null,fe(s.menus,(l,d)=>(I(),j(c,{key:d+"-top-menu",ref_for:!0,ref:"topmenu",menu:l,title:s.title,onSubmenuClick:o.subMenuClick},null,8,["menu","title","onSubmenuClick"]))),128))]),_:1})])}const Ps=ht(As,[["render",Ds],["__scopeId","data-v-b6581c4c"]]);var Ns=Object.defineProperty,js=(t,e,s)=>e in t?Ns(t,e,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[e]=s,Te=(t,e,s)=>js(t,typeof e!="symbol"?e+"":e,s);function St(t,e){return function(){return t.apply(e,arguments)}}const{toString:Us}=Object.prototype,{getPrototypeOf:Je}=Object,{iterator:xe,toStringTag:Et}=Symbol,Ce=(t=>e=>{const s=Us.call(e);return t[s]||(t[s]=s.slice(8,-1).toLowerCase())})(Object.create(null)),J=t=>(t=t.toLowerCase(),e=>Ce(e)===t),Oe=t=>e=>typeof e===t,{isArray:le}=Array,ue=Oe("undefined");function me(t){return t!==null&&!ue(t)&&t.constructor!==null&&!ue(t.constructor)&&V(t.constructor.isBuffer)&&t.constructor.isBuffer(t)}const Tt=J("ArrayBuffer");function Ls(t){let e;return typeof ArrayBuffer<"u"&&ArrayBuffer.isView?e=ArrayBuffer.isView(t):e=t&&t.buffer&&Tt(t.buffer),e}const Fs=Oe("string"),V=Oe("function"),xt=Oe("number"),pe=t=>t!==null&&typeof t=="object",Ms=t=>t===!0||t===!1,ke=t=>{if(Ce(t)!=="object")return!1;const e=Je(t);return(e===null||e===Object.prototype||Object.getPrototypeOf(e)===null)&&!(Et in t)&&!(xe in t)},Vs=t=>{if(!pe(t)||me(t))return!1;try{return Object.keys(t).length===0&&Object.getPrototypeOf(t)===Object.prototype}catch{return!1}},qs=J("Date"),$s=J("File"),Bs=J("Blob"),Hs=J("FileList"),zs=t=>pe(t)&&V(t.pipe),Js=t=>{let e;return t&&(typeof FormData=="function"&&t instanceof FormData||V(t.append)&&((e=Ce(t))==="formdata"||e==="object"&&V(t.toString)&&t.toString()==="[object FormData]"))},Ws=J("URLSearchParams"),[Ks,Zs,Gs,Xs]=["ReadableStream","Request","Response","Headers"].map(J),Ys=t=>t.trim?t.trim():t.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"");function ge(t,e,{allOwnKeys:s=!1}={}){if(t===null||typeof t>"u")return;let i,n;if(typeof t!="object"&&(t=[t]),le(t))for(i=0,n=t.length;i<n;i++)e.call(null,t[i],i,t);else{if(me(t))return;const o=s?Object.getOwnPropertyNames(t):Object.keys(t),r=o.length;let a;for(i=0;i<r;i++)a=o[i],e.call(null,t[a],a,t)}}function Ct(t,e){if(me(t))return null;e=e.toLowerCase();const s=Object.keys(t);let i=s.length,n;for(;i-- >0;)if(n=s[i],e===n.toLowerCase())return n;return null}const se=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:global,Ot=t=>!ue(t)&&t!==se;function We(){const{caseless:t,skipUndefined:e}=Ot(this)&&this||{},s={},i=(n,o)=>{const r=t&&Ct(s,o)||o;ke(s[r])&&ke(n)?s[r]=We(s[r],n):ke(n)?s[r]=We({},n):le(n)?s[r]=n.slice():(!e||!ue(n))&&(s[r]=n)};for(let n=0,o=arguments.length;n<o;n++)arguments[n]&&ge(arguments[n],i);return s}const Qs=(t,e,s,{allOwnKeys:i}={})=>(ge(e,(n,o)=>{s&&V(n)?t[o]=St(n,s):t[o]=n},{allOwnKeys:i}),t),ei=t=>(t.charCodeAt(0)===65279&&(t=t.slice(1)),t),ti=(t,e,s,i)=>{t.prototype=Object.create(e.prototype,i),t.prototype.constructor=t,Object.defineProperty(t,"super",{value:e.prototype}),s&&Object.assign(t.prototype,s)},si=(t,e,s,i)=>{let n,o,r;const a={};if(e=e||{},t==null)return e;do{for(n=Object.getOwnPropertyNames(t),o=n.length;o-- >0;)r=n[o],(!i||i(r,t,e))&&!a[r]&&(e[r]=t[r],a[r]=!0);t=s!==!1&&Je(t)}while(t&&(!s||s(t,e))&&t!==Object.prototype);return e},ii=(t,e,s)=>{t=String(t),(s===void 0||s>t.length)&&(s=t.length),s-=e.length;const i=t.indexOf(e,s);return i!==-1&&i===s},ni=t=>{if(!t)return null;if(le(t))return t;let e=t.length;if(!xt(e))return null;const s=new Array(e);for(;e-- >0;)s[e]=t[e];return s},ri=(t=>e=>t&&e instanceof t)(typeof Uint8Array<"u"&&Je(Uint8Array)),oi=(t,e)=>{const s=(t&&t[xe]).call(t);let i;for(;(i=s.next())&&!i.done;){const n=i.value;e.call(t,n[0],n[1])}},ai=(t,e)=>{let s;const i=[];for(;(s=t.exec(e))!==null;)i.push(s);return i},ci=J("HTMLFormElement"),li=t=>t.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,function(e,s,i){return s.toUpperCase()+i}),kt=(({hasOwnProperty:t})=>(e,s)=>t.call(e,s))(Object.prototype),ui=J("RegExp"),Rt=(t,e)=>{const s=Object.getOwnPropertyDescriptors(t),i={};ge(s,(n,o)=>{let r;(r=e(n,o,t))!==!1&&(i[o]=r||n)}),Object.defineProperties(t,i)},di=t=>{Rt(t,(e,s)=>{if(V(t)&&["arguments","caller","callee"].indexOf(s)!==-1)return!1;const i=t[s];if(V(i)){if(e.enumerable=!1,"writable"in e){e.writable=!1;return}e.set||(e.set=()=>{throw Error("Can not rewrite read-only method '"+s+"'")})}})},hi=(t,e)=>{const s={},i=n=>{n.forEach(o=>{s[o]=!0})};return le(t)?i(t):i(String(t).split(e)),s},fi=()=>{},mi=(t,e)=>t!=null&&Number.isFinite(t=+t)?t:e;function pi(t){return!!(t&&V(t.append)&&t[Et]==="FormData"&&t[xe])}const gi=t=>{const e=new Array(10),s=(i,n)=>{if(pe(i)){if(e.indexOf(i)>=0)return;if(me(i))return i;if(!("toJSON"in i)){e[n]=i;const o=le(i)?[]:{};return ge(i,(r,a)=>{const c=s(r,n+1);!ue(c)&&(o[a]=c)}),e[n]=void 0,o}}return i};return s(t,0)},bi=J("AsyncFunction"),yi=t=>t&&(pe(t)||V(t))&&V(t.then)&&V(t.catch),At=((t,e)=>t?setImmediate:e?((s,i)=>(se.addEventListener("message",({source:n,data:o})=>{n===se&&o===s&&i.length&&i.shift()()},!1),n=>{i.push(n),se.postMessage(s,"*")}))(`axios@${Math.random()}`,[]):s=>setTimeout(s))(typeof setImmediate=="function",V(se.postMessage)),_i=typeof queueMicrotask<"u"?queueMicrotask.bind(se):typeof process<"u"&&process.nextTick||At,wi=t=>t!=null&&V(t[xe]),u={isArray:le,isArrayBuffer:Tt,isBuffer:me,isFormData:Js,isArrayBufferView:Ls,isString:Fs,isNumber:xt,isBoolean:Ms,isObject:pe,isPlainObject:ke,isEmptyObject:Vs,isReadableStream:Ks,isRequest:Zs,isResponse:Gs,isHeaders:Xs,isUndefined:ue,isDate:qs,isFile:$s,isBlob:Bs,isRegExp:ui,isFunction:V,isStream:zs,isURLSearchParams:Ws,isTypedArray:ri,isFileList:Hs,forEach:ge,merge:We,extend:Qs,trim:Ys,stripBOM:ei,inherits:ti,toFlatObject:si,kindOf:Ce,kindOfTest:J,endsWith:ii,toArray:ni,forEachEntry:oi,matchAll:ai,isHTMLForm:ci,hasOwnProperty:kt,hasOwnProp:kt,reduceDescriptors:Rt,freezeMethods:di,toObjectSet:hi,toCamelCase:li,noop:fi,toFiniteNumber:mi,findKey:Ct,global:se,isContextDefined:Ot,isSpecCompliantForm:pi,toJSONObject:gi,isAsyncFn:bi,isThenable:yi,setImmediate:At,asap:_i,isIterable:wi};function E(t,e,s,i,n){Error.call(this),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error().stack,this.message=t,this.name="AxiosError",e&&(this.code=e),s&&(this.config=s),i&&(this.request=i),n&&(this.response=n,this.status=n.status?n.status:null)}u.inherits(E,Error,{toJSON:function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:u.toJSONObject(this.config),code:this.code,status:this.status}}});const It=E.prototype,Dt={};["ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","ECONNABORTED","ETIMEDOUT","ERR_NETWORK","ERR_FR_TOO_MANY_REDIRECTS","ERR_DEPRECATED","ERR_BAD_RESPONSE","ERR_BAD_REQUEST","ERR_CANCELED","ERR_NOT_SUPPORT","ERR_INVALID_URL"].forEach(t=>{Dt[t]={value:t}}),Object.defineProperties(E,Dt),Object.defineProperty(It,"isAxiosError",{value:!0}),E.from=(t,e,s,i,n,o)=>{const r=Object.create(It);u.toFlatObject(t,r,function(l){return l!==Error.prototype},l=>l!=="isAxiosError");const a=t&&t.message?t.message:"Error",c=e==null&&t?t.code:e;return E.call(r,a,c,s,i,n),t&&r.cause==null&&Object.defineProperty(r,"cause",{value:t,configurable:!0}),r.name=t&&t.name||"Error",o&&Object.assign(r,o),r};const vi=null;function Ke(t){return u.isPlainObject(t)||u.isArray(t)}function Pt(t){return u.endsWith(t,"[]")?t.slice(0,-2):t}function Nt(t,e,s){return t?t.concat(e).map(function(i,n){return i=Pt(i),!s&&n?"["+i+"]":i}).join(s?".":""):e}function Si(t){return u.isArray(t)&&!t.some(Ke)}const Ei=u.toFlatObject(u,{},null,function(t){return/^is[A-Z]/.test(t)});function Re(t,e,s){if(!u.isObject(t))throw new TypeError("target must be an object");e=e||new FormData,s=u.toFlatObject(s,{metaTokens:!0,dots:!1,indexes:!1},!1,function(m,p){return!u.isUndefined(p[m])});const i=s.metaTokens,n=s.visitor||l,o=s.dots,r=s.indexes,a=(s.Blob||typeof Blob<"u"&&Blob)&&u.isSpecCompliantForm(e);if(!u.isFunction(n))throw new TypeError("visitor must be a function");function c(m){if(m===null)return"";if(u.isDate(m))return m.toISOString();if(u.isBoolean(m))return m.toString();if(!a&&u.isBlob(m))throw new E("Blob is not supported. Use a Buffer instead.");return u.isArrayBuffer(m)||u.isTypedArray(m)?a&&typeof Blob=="function"?new Blob([m]):Buffer.from(m):m}function l(m,p,h){let v=m;if(m&&!h&&typeof m=="object"){if(u.endsWith(p,"{}"))p=i?p:p.slice(0,-2),m=JSON.stringify(m);else if(u.isArray(m)&&Si(m)||(u.isFileList(m)||u.endsWith(p,"[]"))&&(v=u.toArray(m)))return p=Pt(p),v.forEach(function(T,C){!(u.isUndefined(T)||T===null)&&e.append(r===!0?Nt([p],C,o):r===null?p:p+"[]",c(T))}),!1}return Ke(m)?!0:(e.append(Nt(h,p,o),c(m)),!1)}const d=[],b=Object.assign(Ei,{defaultVisitor:l,convertValue:c,isVisitable:Ke});function _(m,p){if(!u.isUndefined(m)){if(d.indexOf(m)!==-1)throw Error("Circular reference detected in "+p.join("."));d.push(m),u.forEach(m,function(h,v){(!(u.isUndefined(h)||h===null)&&n.call(e,h,u.isString(v)?v.trim():v,p,b))===!0&&_(h,p?p.concat(v):[v])}),d.pop()}}if(!u.isObject(t))throw new TypeError("data must be an object");return _(t),e}function jt(t){const e={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(t).replace(/[!'()~]|%20|%00/g,function(s){return e[s]})}function Ze(t,e){this._pairs=[],t&&Re(t,this,e)}const Ut=Ze.prototype;Ut.append=function(t,e){this._pairs.push([t,e])},Ut.toString=function(t){const e=t?function(s){return t.call(this,s,jt)}:jt;return this._pairs.map(function(s){return e(s[0])+"="+e(s[1])},"").join("&")};function Ti(t){return encodeURIComponent(t).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+")}function Lt(t,e,s){if(!e)return t;const i=s&&s.encode||Ti;u.isFunction(s)&&(s={serialize:s});const n=s&&s.serialize;let o;if(n?o=n(e,s):o=u.isURLSearchParams(e)?e.toString():new Ze(e,s).toString(i),o){const r=t.indexOf("#");r!==-1&&(t=t.slice(0,r)),t+=(t.indexOf("?")===-1?"?":"&")+o}return t}class Ft{constructor(){this.handlers=[]}use(e,s,i){return this.handlers.push({fulfilled:e,rejected:s,synchronous:i?i.synchronous:!1,runWhen:i?i.runWhen:null}),this.handlers.length-1}eject(e){this.handlers[e]&&(this.handlers[e]=null)}clear(){this.handlers&&(this.handlers=[])}forEach(e){u.forEach(this.handlers,function(s){s!==null&&e(s)})}}const Mt={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1},xi=typeof URLSearchParams<"u"?URLSearchParams:Ze,Ci=typeof FormData<"u"?FormData:null,Oi=typeof Blob<"u"?Blob:null,ki={isBrowser:!0,classes:{URLSearchParams:xi,FormData:Ci,Blob:Oi},protocols:["http","https","file","blob","url","data"]},Ge=typeof window<"u"&&typeof document<"u",Xe=typeof navigator=="object"&&navigator||void 0,Ri=Ge&&(!Xe||["ReactNative","NativeScript","NS"].indexOf(Xe.product)<0),Ai=typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope&&typeof self.importScripts=="function",Ii=Ge&&window.location.href||"http://localhost",Di=Object.freeze(Object.defineProperty({__proto__:null,hasBrowserEnv:Ge,hasStandardBrowserEnv:Ri,hasStandardBrowserWebWorkerEnv:Ai,navigator:Xe,origin:Ii},Symbol.toStringTag,{value:"Module"})),U={...Di,...ki};function Pi(t,e){return Re(t,new U.classes.URLSearchParams,{visitor:function(s,i,n,o){return U.isNode&&u.isBuffer(s)?(this.append(i,s.toString("base64")),!1):o.defaultVisitor.apply(this,arguments)},...e})}function Ni(t){return u.matchAll(/\w+|\[(\w*)]/g,t).map(e=>e[0]==="[]"?"":e[1]||e[0])}function ji(t){const e={},s=Object.keys(t);let i;const n=s.length;let o;for(i=0;i<n;i++)o=s[i],e[o]=t[o];return e}function Vt(t){function e(s,i,n,o){let r=s[o++];if(r==="__proto__")return!0;const a=Number.isFinite(+r),c=o>=s.length;return r=!r&&u.isArray(n)?n.length:r,c?(u.hasOwnProp(n,r)?n[r]=[n[r],i]:n[r]=i,!a):((!n[r]||!u.isObject(n[r]))&&(n[r]=[]),e(s,i,n[r],o)&&u.isArray(n[r])&&(n[r]=ji(n[r])),!a)}if(u.isFormData(t)&&u.isFunction(t.entries)){const s={};return u.forEachEntry(t,(i,n)=>{e(Ni(i),n,s,0)}),s}return null}function Ui(t,e,s){if(u.isString(t))try{return(e||JSON.parse)(t),u.trim(t)}catch(i){if(i.name!=="SyntaxError")throw i}return(s||JSON.stringify)(t)}const be={transitional:Mt,adapter:["xhr","http","fetch"],transformRequest:[function(t,e){const s=e.getContentType()||"",i=s.indexOf("application/json")>-1,n=u.isObject(t);if(n&&u.isHTMLForm(t)&&(t=new FormData(t)),u.isFormData(t))return i?JSON.stringify(Vt(t)):t;if(u.isArrayBuffer(t)||u.isBuffer(t)||u.isStream(t)||u.isFile(t)||u.isBlob(t)||u.isReadableStream(t))return t;if(u.isArrayBufferView(t))return t.buffer;if(u.isURLSearchParams(t))return e.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),t.toString();let o;if(n){if(s.indexOf("application/x-www-form-urlencoded")>-1)return Pi(t,this.formSerializer).toString();if((o=u.isFileList(t))||s.indexOf("multipart/form-data")>-1){const r=this.env&&this.env.FormData;return Re(o?{"files[]":t}:t,r&&new r,this.formSerializer)}}return n||i?(e.setContentType("application/json",!1),Ui(t)):t}],transformResponse:[function(t){const e=this.transitional||be.transitional,s=e&&e.forcedJSONParsing,i=this.responseType==="json";if(u.isResponse(t)||u.isReadableStream(t))return t;if(t&&u.isString(t)&&(s&&!this.responseType||i)){const n=!(e&&e.silentJSONParsing)&&i;try{return JSON.parse(t,this.parseReviver)}catch(o){if(n)throw o.name==="SyntaxError"?E.from(o,E.ERR_BAD_RESPONSE,this,null,this.response):o}}return t}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:U.classes.FormData,Blob:U.classes.Blob},validateStatus:function(t){return t>=200&&t<300},headers:{common:{Accept:"application/json, text/plain, */*","Content-Type":void 0}}};u.forEach(["delete","get","head","post","put","patch"],t=>{be.headers[t]={}});const Li=u.toObjectSet(["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"]),Fi=t=>{const e={};let s,i,n;return t&&t.split(`
|
|
3
|
-
`).forEach(function(o){n=o.indexOf(":"),s=o.substring(0,n).trim().toLowerCase(),i=o.substring(n+1).trim(),!(!s||e[s]&&Li[s])&&(s==="set-cookie"?e[s]?e[s].push(i):e[s]=[i]:e[s]=e[s]?e[s]+", "+i:i)}),e},qt=Symbol("internals");function ye(t){return t&&String(t).trim().toLowerCase()}function Ae(t){return t===!1||t==null?t:u.isArray(t)?t.map(Ae):String(t)}function Mi(t){const e=Object.create(null),s=/([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g;let i;for(;i=s.exec(t);)e[i[1]]=i[2];return e}const Vi=t=>/^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(t.trim());function Ye(t,e,s,i,n){if(u.isFunction(i))return i.call(this,e,s);if(n&&(e=s),!!u.isString(e)){if(u.isString(i))return e.indexOf(i)!==-1;if(u.isRegExp(i))return i.test(e)}}function qi(t){return t.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,(e,s,i)=>s.toUpperCase()+i)}function $i(t,e){const s=u.toCamelCase(" "+e);["get","set","has"].forEach(i=>{Object.defineProperty(t,i+s,{value:function(n,o,r){return this[i].call(this,e,n,o,r)},configurable:!0})})}let q=class{constructor(t){t&&this.set(t)}set(t,e,s){const i=this;function n(r,a,c){const l=ye(a);if(!l)throw new Error("header name must be a non-empty string");const d=u.findKey(i,l);(!d||i[d]===void 0||c===!0||c===void 0&&i[d]!==!1)&&(i[d||a]=Ae(r))}const o=(r,a)=>u.forEach(r,(c,l)=>n(c,l,a));if(u.isPlainObject(t)||t instanceof this.constructor)o(t,e);else if(u.isString(t)&&(t=t.trim())&&!Vi(t))o(Fi(t),e);else if(u.isObject(t)&&u.isIterable(t)){let r={},a,c;for(const l of t){if(!u.isArray(l))throw TypeError("Object iterator must return a key-value pair");r[c=l[0]]=(a=r[c])?u.isArray(a)?[...a,l[1]]:[a,l[1]]:l[1]}o(r,e)}else t!=null&&n(e,t,s);return this}get(t,e){if(t=ye(t),t){const s=u.findKey(this,t);if(s){const i=this[s];if(!e)return i;if(e===!0)return Mi(i);if(u.isFunction(e))return e.call(this,i,s);if(u.isRegExp(e))return e.exec(i);throw new TypeError("parser must be boolean|regexp|function")}}}has(t,e){if(t=ye(t),t){const s=u.findKey(this,t);return!!(s&&this[s]!==void 0&&(!e||Ye(this,this[s],s,e)))}return!1}delete(t,e){const s=this;let i=!1;function n(o){if(o=ye(o),o){const r=u.findKey(s,o);r&&(!e||Ye(s,s[r],r,e))&&(delete s[r],i=!0)}}return u.isArray(t)?t.forEach(n):n(t),i}clear(t){const e=Object.keys(this);let s=e.length,i=!1;for(;s--;){const n=e[s];(!t||Ye(this,this[n],n,t,!0))&&(delete this[n],i=!0)}return i}normalize(t){const e=this,s={};return u.forEach(this,(i,n)=>{const o=u.findKey(s,n);if(o){e[o]=Ae(i),delete e[n];return}const r=t?qi(n):String(n).trim();r!==n&&delete e[n],e[r]=Ae(i),s[r]=!0}),this}concat(...t){return this.constructor.concat(this,...t)}toJSON(t){const e=Object.create(null);return u.forEach(this,(s,i)=>{s!=null&&s!==!1&&(e[i]=t&&u.isArray(s)?s.join(", "):s)}),e}[Symbol.iterator](){return Object.entries(this.toJSON())[Symbol.iterator]()}toString(){return Object.entries(this.toJSON()).map(([t,e])=>t+": "+e).join(`
|
|
4
|
-
`)}getSetCookie(){return this.get("set-cookie")||[]}get[Symbol.toStringTag](){return"AxiosHeaders"}static from(t){return t instanceof this?t:new this(t)}static concat(t,...e){const s=new this(t);return e.forEach(i=>s.set(i)),s}static accessor(t){const e=(this[qt]=this[qt]={accessors:{}}).accessors,s=this.prototype;function i(n){const o=ye(n);e[o]||($i(s,n),e[o]=!0)}return u.isArray(t)?t.forEach(i):i(t),this}};q.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent","Authorization"]),u.reduceDescriptors(q.prototype,({value:t},e)=>{let s=e[0].toUpperCase()+e.slice(1);return{get:()=>t,set(i){this[s]=i}}}),u.freezeMethods(q);function Qe(t,e){const s=this||be,i=e||s,n=q.from(i.headers);let o=i.data;return u.forEach(t,function(r){o=r.call(s,o,n.normalize(),e?e.status:void 0)}),n.normalize(),o}function $t(t){return!!(t&&t.__CANCEL__)}function de(t,e,s){E.call(this,t??"canceled",E.ERR_CANCELED,e,s),this.name="CanceledError"}u.inherits(de,E,{__CANCEL__:!0});function Bt(t,e,s){const i=s.config.validateStatus;!s.status||!i||i(s.status)?t(s):e(new E("Request failed with status code "+s.status,[E.ERR_BAD_REQUEST,E.ERR_BAD_RESPONSE][Math.floor(s.status/100)-4],s.config,s.request,s))}function Bi(t){const e=/^([-+\w]{1,25})(:?\/\/|:)/.exec(t);return e&&e[1]||""}function Hi(t,e){t=t||10;const s=new Array(t),i=new Array(t);let n=0,o=0,r;return e=e!==void 0?e:1e3,function(a){const c=Date.now(),l=i[o];r||(r=c),s[n]=a,i[n]=c;let d=o,b=0;for(;d!==n;)b+=s[d++],d=d%t;if(n=(n+1)%t,n===o&&(o=(o+1)%t),c-r<e)return;const _=l&&c-l;return _?Math.round(b*1e3/_):void 0}}function zi(t,e){let s=0,i=1e3/e,n,o;const r=(a,c=Date.now())=>{s=c,n=null,o&&(clearTimeout(o),o=null),t(...a)};return[(...a)=>{const c=Date.now(),l=c-s;l>=i?r(a,c):(n=a,o||(o=setTimeout(()=>{o=null,r(n)},i-l)))},()=>n&&r(n)]}const Ie=(t,e,s=3)=>{let i=0;const n=Hi(50,250);return zi(o=>{const r=o.loaded,a=o.lengthComputable?o.total:void 0,c=r-i,l=n(c),d=r<=a;i=r;const b={loaded:r,total:a,progress:a?r/a:void 0,bytes:c,rate:l||void 0,estimated:l&&a&&d?(a-r)/l:void 0,event:o,lengthComputable:a!=null,[e?"download":"upload"]:!0};t(b)},s)},Ht=(t,e)=>{const s=t!=null;return[i=>e[0]({lengthComputable:s,total:t,loaded:i}),e[1]]},zt=t=>(...e)=>u.asap(()=>t(...e)),Ji=U.hasStandardBrowserEnv?((t,e)=>s=>(s=new URL(s,U.origin),t.protocol===s.protocol&&t.host===s.host&&(e||t.port===s.port)))(new URL(U.origin),U.navigator&&/(msie|trident)/i.test(U.navigator.userAgent)):()=>!0,Wi=U.hasStandardBrowserEnv?{write(t,e,s,i,n,o,r){if(typeof document>"u")return;const a=[`${t}=${encodeURIComponent(e)}`];u.isNumber(s)&&a.push(`expires=${new Date(s).toUTCString()}`),u.isString(i)&&a.push(`path=${i}`),u.isString(n)&&a.push(`domain=${n}`),o===!0&&a.push("secure"),u.isString(r)&&a.push(`SameSite=${r}`),document.cookie=a.join("; ")},read(t){if(typeof document>"u")return null;const e=document.cookie.match(new RegExp("(?:^|; )"+t+"=([^;]*)"));return e?decodeURIComponent(e[1]):null},remove(t){this.write(t,"",Date.now()-864e5,"/")}}:{write(){},read(){return null},remove(){}};function Ki(t){return/^([a-z][a-z\d+\-.]*:)?\/\//i.test(t)}function Zi(t,e){return e?t.replace(/\/?\/$/,"")+"/"+e.replace(/^\/+/,""):t}function Jt(t,e,s){let i=!Ki(e);return t&&(i||s==!1)?Zi(t,e):e}const Wt=t=>t instanceof q?{...t}:t;function ie(t,e){e=e||{};const s={};function i(l,d,b,_){return u.isPlainObject(l)&&u.isPlainObject(d)?u.merge.call({caseless:_},l,d):u.isPlainObject(d)?u.merge({},d):u.isArray(d)?d.slice():d}function n(l,d,b,_){if(u.isUndefined(d)){if(!u.isUndefined(l))return i(void 0,l,b,_)}else return i(l,d,b,_)}function o(l,d){if(!u.isUndefined(d))return i(void 0,d)}function r(l,d){if(u.isUndefined(d)){if(!u.isUndefined(l))return i(void 0,l)}else return i(void 0,d)}function a(l,d,b){if(b in e)return i(l,d);if(b in t)return i(void 0,l)}const c={url:o,method:o,data:o,baseURL:r,transformRequest:r,transformResponse:r,paramsSerializer:r,timeout:r,timeoutMessage:r,withCredentials:r,withXSRFToken:r,adapter:r,responseType:r,xsrfCookieName:r,xsrfHeaderName:r,onUploadProgress:r,onDownloadProgress:r,decompress:r,maxContentLength:r,maxBodyLength:r,beforeRedirect:r,transport:r,httpAgent:r,httpsAgent:r,cancelToken:r,socketPath:r,responseEncoding:r,validateStatus:a,headers:(l,d,b)=>n(Wt(l),Wt(d),b,!0)};return u.forEach(Object.keys({...t,...e}),function(l){const d=c[l]||n,b=d(t[l],e[l],l);u.isUndefined(b)&&d!==a||(s[l]=b)}),s}const Kt=t=>{const e=ie({},t);let{data:s,withXSRFToken:i,xsrfHeaderName:n,xsrfCookieName:o,headers:r,auth:a}=e;if(e.headers=r=q.from(r),e.url=Lt(Jt(e.baseURL,e.url,e.allowAbsoluteUrls),t.params,t.paramsSerializer),a&&r.set("Authorization","Basic "+btoa((a.username||"")+":"+(a.password?unescape(encodeURIComponent(a.password)):""))),u.isFormData(s)){if(U.hasStandardBrowserEnv||U.hasStandardBrowserWebWorkerEnv)r.setContentType(void 0);else if(u.isFunction(s.getHeaders)){const c=s.getHeaders(),l=["content-type","content-length"];Object.entries(c).forEach(([d,b])=>{l.includes(d.toLowerCase())&&r.set(d,b)})}}if(U.hasStandardBrowserEnv&&(i&&u.isFunction(i)&&(i=i(e)),i||i!==!1&&Ji(e.url))){const c=n&&o&&Wi.read(o);c&&r.set(n,c)}return e},Gi=typeof XMLHttpRequest<"u",Xi=Gi&&function(t){return new Promise(function(e,s){const i=Kt(t);let n=i.data;const o=q.from(i.headers).normalize();let{responseType:r,onUploadProgress:a,onDownloadProgress:c}=i,l,d,b,_,m;function p(){_&&_(),m&&m(),i.cancelToken&&i.cancelToken.unsubscribe(l),i.signal&&i.signal.removeEventListener("abort",l)}let h=new XMLHttpRequest;h.open(i.method.toUpperCase(),i.url,!0),h.timeout=i.timeout;function v(){if(!h)return;const C=q.from("getAllResponseHeaders"in h&&h.getAllResponseHeaders()),y={data:!r||r==="text"||r==="json"?h.responseText:h.response,status:h.status,statusText:h.statusText,headers:C,config:t,request:h};Bt(function(k){e(k),p()},function(k){s(k),p()},y),h=null}"onloadend"in h?h.onloadend=v:h.onreadystatechange=function(){!h||h.readyState!==4||h.status===0&&!(h.responseURL&&h.responseURL.indexOf("file:")===0)||setTimeout(v)},h.onabort=function(){h&&(s(new E("Request aborted",E.ECONNABORTED,t,h)),h=null)},h.onerror=function(C){const y=C&&C.message?C.message:"Network Error",k=new E(y,E.ERR_NETWORK,t,h);k.event=C||null,s(k),h=null},h.ontimeout=function(){let C=i.timeout?"timeout of "+i.timeout+"ms exceeded":"timeout exceeded";const y=i.transitional||Mt;i.timeoutErrorMessage&&(C=i.timeoutErrorMessage),s(new E(C,y.clarifyTimeoutError?E.ETIMEDOUT:E.ECONNABORTED,t,h)),h=null},n===void 0&&o.setContentType(null),"setRequestHeader"in h&&u.forEach(o.toJSON(),function(C,y){h.setRequestHeader(y,C)}),u.isUndefined(i.withCredentials)||(h.withCredentials=!!i.withCredentials),r&&r!=="json"&&(h.responseType=i.responseType),c&&([b,m]=Ie(c,!0),h.addEventListener("progress",b)),a&&h.upload&&([d,_]=Ie(a),h.upload.addEventListener("progress",d),h.upload.addEventListener("loadend",_)),(i.cancelToken||i.signal)&&(l=C=>{h&&(s(!C||C.type?new de(null,t,h):C),h.abort(),h=null)},i.cancelToken&&i.cancelToken.subscribe(l),i.signal&&(i.signal.aborted?l():i.signal.addEventListener("abort",l)));const T=Bi(i.url);if(T&&U.protocols.indexOf(T)===-1){s(new E("Unsupported protocol "+T+":",E.ERR_BAD_REQUEST,t));return}h.send(n||null)})},Yi=(t,e)=>{const{length:s}=t=t?t.filter(Boolean):[];if(e||s){let i=new AbortController,n;const o=function(l){if(!n){n=!0,a();const d=l instanceof Error?l:this.reason;i.abort(d instanceof E?d:new de(d instanceof Error?d.message:d))}};let r=e&&setTimeout(()=>{r=null,o(new E(`timeout ${e} of ms exceeded`,E.ETIMEDOUT))},e);const a=()=>{t&&(r&&clearTimeout(r),r=null,t.forEach(l=>{l.unsubscribe?l.unsubscribe(o):l.removeEventListener("abort",o)}),t=null)};t.forEach(l=>l.addEventListener("abort",o));const{signal:c}=i;return c.unsubscribe=()=>u.asap(a),c}},Qi=function*(t,e){let s=t.byteLength;if(s<e){yield t;return}let i=0,n;for(;i<s;)n=i+e,yield t.slice(i,n),i=n},en=async function*(t,e){for await(const s of tn(t))yield*Qi(s,e)},tn=async function*(t){if(t[Symbol.asyncIterator]){yield*t;return}const e=t.getReader();try{for(;;){const{done:s,value:i}=await e.read();if(s)break;yield i}}finally{await e.cancel()}},Zt=(t,e,s,i)=>{const n=en(t,e);let o=0,r,a=c=>{r||(r=!0,i&&i(c))};return new ReadableStream({async pull(c){try{const{done:l,value:d}=await n.next();if(l){a(),c.close();return}let b=d.byteLength;if(s){let _=o+=b;s(_)}c.enqueue(new Uint8Array(d))}catch(l){throw a(l),l}},cancel(c){return a(c),n.return()}},{highWaterMark:2})},Gt=64*1024,{isFunction:De}=u,sn=(({Request:t,Response:e})=>({Request:t,Response:e}))(u.global),{ReadableStream:Xt,TextEncoder:Yt}=u.global,Qt=(t,...e)=>{try{return!!t(...e)}catch{return!1}},nn=t=>{t=u.merge.call({skipUndefined:!0},sn,t);const{fetch:e,Request:s,Response:i}=t,n=e?De(e):typeof fetch=="function",o=De(s),r=De(i);if(!n)return!1;const a=n&&De(Xt),c=n&&(typeof Yt=="function"?(p=>h=>p.encode(h))(new Yt):async p=>new Uint8Array(await new s(p).arrayBuffer())),l=o&&a&&Qt(()=>{let p=!1;const h=new s(U.origin,{body:new Xt,method:"POST",get duplex(){return p=!0,"half"}}).headers.has("Content-Type");return p&&!h}),d=r&&a&&Qt(()=>u.isReadableStream(new i("").body)),b={stream:d&&(p=>p.body)};n&&["text","arrayBuffer","blob","formData","stream"].forEach(p=>{!b[p]&&(b[p]=(h,v)=>{let T=h&&h[p];if(T)return T.call(h);throw new E(`Response type '${p}' is not supported`,E.ERR_NOT_SUPPORT,v)})});const _=async p=>{if(p==null)return 0;if(u.isBlob(p))return p.size;if(u.isSpecCompliantForm(p))return(await new s(U.origin,{method:"POST",body:p}).arrayBuffer()).byteLength;if(u.isArrayBufferView(p)||u.isArrayBuffer(p))return p.byteLength;if(u.isURLSearchParams(p)&&(p=p+""),u.isString(p))return(await c(p)).byteLength},m=async(p,h)=>u.toFiniteNumber(p.getContentLength())??_(h);return async p=>{let{url:h,method:v,data:T,signal:C,cancelToken:y,timeout:k,onDownloadProgress:A,onUploadProgress:L,responseType:F,headers:X,withCredentials:$="same-origin",fetchOptions:te}=Kt(p),w=e||fetch;F=F?(F+"").toLowerCase():"text";let D=Yi([C,y&&y.toAbortSignal()],k),K=null;const B=D&&D.unsubscribe&&(()=>{D.unsubscribe()});let Ve;try{if(L&&l&&v!=="get"&&v!=="head"&&(Ve=await m(X,T))!==0){let H=new s(h,{method:"POST",body:T,duplex:"half"}),Q;if(u.isFormData(T)&&(Q=H.headers.get("content-type"))&&X.setContentType(Q),H.body){const[dt,qe]=Ht(Ve,Ie(zt(L)));T=Zt(H.body,Gt,dt,qe)}}u.isString($)||($=$?"include":"omit");const N=o&&"credentials"in s.prototype,S={...te,signal:D,method:v.toUpperCase(),headers:X.normalize().toJSON(),body:T,duplex:"half",credentials:N?$:void 0};K=o&&new s(h,S);let R=await(o?w(K,te):w(h,S));const z=d&&(F==="stream"||F==="response");if(d&&(A||z&&B)){const H={};["status","statusText","headers"].forEach(Cs=>{H[Cs]=R[Cs]});const Q=u.toFiniteNumber(R.headers.get("content-length")),[dt,qe]=A&&Ht(Q,Ie(zt(A),!0))||[];R=new i(Zt(R.body,Gt,dt,()=>{qe&&qe(),B&&B()}),H)}F=F||"text";let Y=await b[u.findKey(b,F)||"text"](R,p);return!z&&B&&B(),await new Promise((H,Q)=>{Bt(H,Q,{data:Y,headers:q.from(R.headers),status:R.status,statusText:R.statusText,config:p,request:K})})}catch(N){throw B&&B(),N&&N.name==="TypeError"&&/Load failed|fetch/i.test(N.message)?Object.assign(new E("Network Error",E.ERR_NETWORK,p,K),{cause:N.cause||N}):E.from(N,N&&N.code,p,K)}}},rn=new Map,es=t=>{let e=t&&t.env||{};const{fetch:s,Request:i,Response:n}=e,o=[i,n,s];let r=o.length,a=r,c,l,d=rn;for(;a--;)c=o[a],l=d.get(c),l===void 0&&d.set(c,l=a?new Map:nn(e)),d=l;return l};es();const et={http:vi,xhr:Xi,fetch:{get:es}};u.forEach(et,(t,e)=>{if(t){try{Object.defineProperty(t,"name",{value:e})}catch{}Object.defineProperty(t,"adapterName",{value:e})}});const ts=t=>`- ${t}`,on=t=>u.isFunction(t)||t===null||t===!1;function an(t,e){t=u.isArray(t)?t:[t];const{length:s}=t;let i,n;const o={};for(let r=0;r<s;r++){i=t[r];let a;if(n=i,!on(i)&&(n=et[(a=String(i)).toLowerCase()],n===void 0))throw new E(`Unknown adapter '${a}'`);if(n&&(u.isFunction(n)||(n=n.get(e))))break;o[a||"#"+r]=n}if(!n){const r=Object.entries(o).map(([c,l])=>`adapter ${c} `+(l===!1?"is not supported by the environment":"is not available in the build"));let a=s?r.length>1?`since :
|
|
5
|
-
`+r.map(ts).join(`
|
|
6
|
-
`):" "+ts(r[0]):"as no adapter specified";throw new E("There is no suitable adapter to dispatch the request "+a,"ERR_NOT_SUPPORT")}return n}const ss={getAdapter:an,adapters:et};function tt(t){if(t.cancelToken&&t.cancelToken.throwIfRequested(),t.signal&&t.signal.aborted)throw new de(null,t)}function is(t){return tt(t),t.headers=q.from(t.headers),t.data=Qe.call(t,t.transformRequest),["post","put","patch"].indexOf(t.method)!==-1&&t.headers.setContentType("application/x-www-form-urlencoded",!1),ss.getAdapter(t.adapter||be.adapter,t)(t).then(function(e){return tt(t),e.data=Qe.call(t,t.transformResponse,e),e.headers=q.from(e.headers),e},function(e){return $t(e)||(tt(t),e&&e.response&&(e.response.data=Qe.call(t,t.transformResponse,e.response),e.response.headers=q.from(e.response.headers))),Promise.reject(e)})}const ns="1.13.2",Pe={};["object","boolean","number","function","string","symbol"].forEach((t,e)=>{Pe[t]=function(s){return typeof s===t||"a"+(e<1?"n ":" ")+t}});const rs={};Pe.transitional=function(t,e,s){function i(n,o){return"[Axios v"+ns+"] Transitional option '"+n+"'"+o+(s?". "+s:"")}return(n,o,r)=>{if(t===!1)throw new E(i(o," has been removed"+(e?" in "+e:"")),E.ERR_DEPRECATED);return e&&!rs[o]&&(rs[o]=!0,console.warn(i(o," has been deprecated since v"+e+" and will be removed in the near future"))),t?t(n,o,r):!0}},Pe.spelling=function(t){return(e,s)=>(console.warn(`${s} is likely a misspelling of ${t}`),!0)};function cn(t,e,s){if(typeof t!="object")throw new E("options must be an object",E.ERR_BAD_OPTION_VALUE);const i=Object.keys(t);let n=i.length;for(;n-- >0;){const o=i[n],r=e[o];if(r){const a=t[o],c=a===void 0||r(a,o,t);if(c!==!0)throw new E("option "+o+" must be "+c,E.ERR_BAD_OPTION_VALUE);continue}if(s!==!0)throw new E("Unknown option "+o,E.ERR_BAD_OPTION)}}const Ne={assertOptions:cn,validators:Pe},G=Ne.validators;let ne=class{constructor(t){this.defaults=t||{},this.interceptors={request:new Ft,response:new Ft}}async request(t,e){try{return await this._request(t,e)}catch(s){if(s instanceof Error){let i={};Error.captureStackTrace?Error.captureStackTrace(i):i=new Error;const n=i.stack?i.stack.replace(/^.+\n/,""):"";try{s.stack?n&&!String(s.stack).endsWith(n.replace(/^.+\n.+\n/,""))&&(s.stack+=`
|
|
7
|
-
`+n):s.stack=n}catch{}}throw s}}_request(t,e){typeof t=="string"?(e=e||{},e.url=t):e=t||{},e=ie(this.defaults,e);const{transitional:s,paramsSerializer:i,headers:n}=e;s!==void 0&&Ne.assertOptions(s,{silentJSONParsing:G.transitional(G.boolean),forcedJSONParsing:G.transitional(G.boolean),clarifyTimeoutError:G.transitional(G.boolean)},!1),i!=null&&(u.isFunction(i)?e.paramsSerializer={serialize:i}:Ne.assertOptions(i,{encode:G.function,serialize:G.function},!0)),e.allowAbsoluteUrls!==void 0||(this.defaults.allowAbsoluteUrls!==void 0?e.allowAbsoluteUrls=this.defaults.allowAbsoluteUrls:e.allowAbsoluteUrls=!0),Ne.assertOptions(e,{baseUrl:G.spelling("baseURL"),withXsrfToken:G.spelling("withXSRFToken")},!0),e.method=(e.method||this.defaults.method||"get").toLowerCase();let o=n&&u.merge(n.common,n[e.method]);n&&u.forEach(["delete","get","head","post","put","patch","common"],m=>{delete n[m]}),e.headers=q.concat(o,n);const r=[];let a=!0;this.interceptors.request.forEach(function(m){typeof m.runWhen=="function"&&m.runWhen(e)===!1||(a=a&&m.synchronous,r.unshift(m.fulfilled,m.rejected))});const c=[];this.interceptors.response.forEach(function(m){c.push(m.fulfilled,m.rejected)});let l,d=0,b;if(!a){const m=[is.bind(this),void 0];for(m.unshift(...r),m.push(...c),b=m.length,l=Promise.resolve(e);d<b;)l=l.then(m[d++],m[d++]);return l}b=r.length;let _=e;for(;d<b;){const m=r[d++],p=r[d++];try{_=m(_)}catch(h){p.call(this,h);break}}try{l=is.call(this,_)}catch(m){return Promise.reject(m)}for(d=0,b=c.length;d<b;)l=l.then(c[d++],c[d++]);return l}getUri(t){t=ie(this.defaults,t);const e=Jt(t.baseURL,t.url,t.allowAbsoluteUrls);return Lt(e,t.params,t.paramsSerializer)}};u.forEach(["delete","get","head","options"],function(t){ne.prototype[t]=function(e,s){return this.request(ie(s||{},{method:t,url:e,data:(s||{}).data}))}}),u.forEach(["post","put","patch"],function(t){function e(s){return function(i,n,o){return this.request(ie(o||{},{method:t,headers:s?{"Content-Type":"multipart/form-data"}:{},url:i,data:n}))}}ne.prototype[t]=e(),ne.prototype[t+"Form"]=e(!0)});let ln=class Os{constructor(e){if(typeof e!="function")throw new TypeError("executor must be a function.");let s;this.promise=new Promise(function(n){s=n});const i=this;this.promise.then(n=>{if(!i._listeners)return;let o=i._listeners.length;for(;o-- >0;)i._listeners[o](n);i._listeners=null}),this.promise.then=n=>{let o;const r=new Promise(a=>{i.subscribe(a),o=a}).then(n);return r.cancel=function(){i.unsubscribe(o)},r},e(function(n,o,r){i.reason||(i.reason=new de(n,o,r),s(i.reason))})}throwIfRequested(){if(this.reason)throw this.reason}subscribe(e){if(this.reason){e(this.reason);return}this._listeners?this._listeners.push(e):this._listeners=[e]}unsubscribe(e){if(!this._listeners)return;const s=this._listeners.indexOf(e);s!==-1&&this._listeners.splice(s,1)}toAbortSignal(){const e=new AbortController,s=i=>{e.abort(i)};return this.subscribe(s),e.signal.unsubscribe=()=>this.unsubscribe(s),e.signal}static source(){let e;return{token:new Os(function(s){e=s}),cancel:e}}};function un(t){return function(e){return t.apply(null,e)}}function dn(t){return u.isObject(t)&&t.isAxiosError===!0}const st={Continue:100,SwitchingProtocols:101,Processing:102,EarlyHints:103,Ok:200,Created:201,Accepted:202,NonAuthoritativeInformation:203,NoContent:204,ResetContent:205,PartialContent:206,MultiStatus:207,AlreadyReported:208,ImUsed:226,MultipleChoices:300,MovedPermanently:301,Found:302,SeeOther:303,NotModified:304,UseProxy:305,Unused:306,TemporaryRedirect:307,PermanentRedirect:308,BadRequest:400,Unauthorized:401,PaymentRequired:402,Forbidden:403,NotFound:404,MethodNotAllowed:405,NotAcceptable:406,ProxyAuthenticationRequired:407,RequestTimeout:408,Conflict:409,Gone:410,LengthRequired:411,PreconditionFailed:412,PayloadTooLarge:413,UriTooLong:414,UnsupportedMediaType:415,RangeNotSatisfiable:416,ExpectationFailed:417,ImATeapot:418,MisdirectedRequest:421,UnprocessableEntity:422,Locked:423,FailedDependency:424,TooEarly:425,UpgradeRequired:426,PreconditionRequired:428,TooManyRequests:429,RequestHeaderFieldsTooLarge:431,UnavailableForLegalReasons:451,InternalServerError:500,NotImplemented:501,BadGateway:502,ServiceUnavailable:503,GatewayTimeout:504,HttpVersionNotSupported:505,VariantAlsoNegotiates:506,InsufficientStorage:507,LoopDetected:508,NotExtended:510,NetworkAuthenticationRequired:511,WebServerIsDown:521,ConnectionTimedOut:522,OriginIsUnreachable:523,TimeoutOccurred:524,SslHandshakeFailed:525,InvalidSslCertificate:526};Object.entries(st).forEach(([t,e])=>{st[e]=t});function os(t){const e=new ne(t),s=St(ne.prototype.request,e);return u.extend(s,ne.prototype,e,{allOwnKeys:!0}),u.extend(s,e,null,{allOwnKeys:!0}),s.create=function(i){return os(ie(t,i))},s}const P=os(be);P.Axios=ne,P.CanceledError=de,P.CancelToken=ln,P.isCancel=$t,P.VERSION=ns,P.toFormData=Re,P.AxiosError=E,P.Cancel=P.CanceledError,P.all=function(t){return Promise.all(t)},P.spread=un,P.isAxiosError=dn,P.mergeConfig=ie,P.AxiosHeaders=q,P.formToJSON=t=>Vt(u.isHTMLForm(t)?new FormData(t):t),P.getAdapter=ss.getAdapter,P.HttpStatusCode=st,P.default=P;const{Axios:Rr,AxiosError:Ar,CanceledError:Ir,isCancel:Dr,CancelToken:Pr,VERSION:Nr,all:jr,Cancel:Ur,isAxiosError:Lr,spread:Fr,toFormData:Mr,AxiosHeaders:Vr,HttpStatusCode:qr,formToJSON:$r,getAdapter:Br,mergeConfig:Hr}=P,as=P.create({baseURL:location.origin,timeout:6e4,params:{}});as.interceptors.response.use(t=>t,t=>{var e,s,i,n,o,r,a,c,l,d,b;if(t.response){if(t.response.status===401&&OpenC3Auth.updateToken(OpenC3Auth.defaultMinValidity,!0).then(function(p){p&&OpenC3Auth.setTokens()}),t.response.config.headers["Ignore-Errors"]&&t.response.config.headers["Ignore-Errors"].includes(t.response.status.toString()))return Promise.reject(t);let _=`HTTP ${t.response.status} - `;(e=t.response)!=null&&e.statusText&&(_+=`${t.response.statusText} `),(i=(s=t.response)==null?void 0:s.config)!=null&&i.data&&(_+=`${t.response.config.data} `),(o=(n=t.response)==null?void 0:n.data)!=null&&o.message?_+=`${t.response.data.message}`:(a=(r=t.response)==null?void 0:r.data)!=null&&a.exception?_+=`${t.response.data.exception}`:(d=(l=(c=t.response)==null?void 0:c.data)==null?void 0:l.error)!=null&&d.message?(t.response.data.error.class&&(_+=`${t.response.data.error.class} `),_+=`${t.response.data.error.message}`):_+=`${(b=t.response)==null?void 0:b.data}`;const{$cosmosNotify:m}=window;throw m&&m.serious({title:"Network error",body:_}),t}else throw t});let je=()=>({emit(t,...e){for(let s=this.events[t]||[],i=0,n=s.length;i<n;i++)s[i](...e)},events:{},on(t,e){var s;return((s=this.events)[t]||(s[t]=[])).push(e),()=>{var i;this.events[t]=(i=this.events[t])==null?void 0:i.filter(n=>e!==n)}}});class _e extends Error{constructor(e,s){e instanceof Error?(super(e.message),this.cause=e):super(e),this.reason=s,this.name="ReasonError"}}class it extends _e{constructor(e){super("Rejected",e),this.name="SubscriptionRejectedError"}}class hn extends _e{constructor(e){super(e||"Timed out to receive subscription ack"),this.name="SubscriptionTimeoutError"}}class W extends _e{constructor(e,s){s?super(e,s):super("Disconnected",e),this.name="DisconnectedError"}}class fn extends W{constructor(e){super(e,"stale_connection"),this.name="StaleConnectionError"}}function cs(t){return t?`{${Object.keys(t).sort().filter(e=>t[e]!==void 0).map(e=>{let s=JSON.stringify(t[e]);return`${JSON.stringify(e)}:${s}`}).join(",")}}`:""}class mn{constructor(e){this.channel=e,this.listeners=[]}watch(){this.listeners.push(this.channel.on("presence",e=>{if(e.type==="info"){this._state||(this._state=this.stateFromInfo(e));return}this._state&&(e.type==="join"?this._state[e.id]=e.info:e.type==="leave"&&delete this._state[e.id])}))}reset(){delete this._state}dispose(){delete this._info,delete this._state,this.listeners.forEach(e=>e()),this.listeners.length=0}async join(e,s){if(!this._info)return this._info={id:e,info:s},this.channel.perform("$presence:join",this._info)}async leave(){if(!this._info)return;let e=await this.channel.perform("$presence:leave");return delete this._info,e}async info(){return this._state?this._state:(this._promise||(this._promise=this._sync()),await this._promise,this._state)}async _sync(){this.watch();try{let e=await this.channel.perform("$presence:info",{});return this._state=this.stateFromInfo(e),this._state}finally{delete this._promise}}stateFromInfo(e){return e.records.reduce((s,{id:i,info:n})=>(s[i]=n,s),{})}}const re=Symbol("state");class ls{constructor(e={}){this.emitter=je(),this.params=Object.freeze(e),this.presence=new mn(this),this.initialConnect=!0,this[re]="idle"}get identifier(){return this._identifier?this._identifier:(this._identifier=cs({channel:this.channelId,...this.params}),this._identifier)}get channelId(){return this.constructor.identifier}get state(){return this[re]}attached(e){if(this.receiver){if(this.receiver!==e)throw Error("Already connected to a different receiver");return!1}return this.receiver=e,!0}connecting(){this[re]="connecting"}connected(){if(this.state==="connected"||this.state==="closed")return;this[re]="connected";let e=!1;this.initialConnect?(this.initialConnect=!1,this.emit("connect",{reconnect:!1,restored:e})):this.emit("connect",{reconnect:!0,restored:e})}restored(){if(this.state==="connected")throw Error("Already connected");this[re]="connected";let e=!0,s=!0;this.initialConnect=!1,this.emit("connect",{reconnect:s,restored:e})}disconnected(e){this.state==="disconnected"||this.state==="closed"||(this[re]="disconnected",this.presence.reset(),this.emit("disconnect",e))}closed(e){this.state!=="closed"&&(this[re]="closed",delete this.receiver,this.initialConnect=!0,this.presence.dispose(),this.emit("close",e))}disconnect(){this.state==="idle"||this.state==="closed"||this.receiver.unsubscribe(this)}async perform(e,s){if(this.state==="idle"||this.state==="closed")throw Error("Channel is not subscribed");return this.receiver.perform(this.identifier,e,s)}async send(e){return this.perform(void 0,e)}async whisper(e){try{await this.perform("$whisper",e)}catch(s){let i=this.receiver?this.receiver.logger:null;i&&i.warn("whisper failed: ",s)}}receive(e,s){this.emit("message",e,s)}on(e,s){return this.emitter.on(e,s)}once(e,s){let i=this.emitter.on(e,(...n)=>{i(),s(...n)});return i}emit(e,...s){return this.emitter.emit(e,...s)}ensureSubscribed(){return this.state==="connected"?Promise.resolve():this.state==="closed"?Promise.reject(Error("Channel is unsubscribed")):this.pendingSubscribe()}pendingSubscribe(){return this._pendingSubscribe?this._pendingSubscribe:(this._pendingSubscribe=new Promise((e,s)=>{let i=[()=>delete this._pendingSubscribe];i.push(this.on("connect",()=>{i.forEach(n=>n()),e()})),i.push(this.on("close",n=>{i.forEach(o=>o()),s(n||new _e("Channel was disconnected before subscribing","canceled"))}))}),this._pendingSubscribe)}}class pn{constructor(e){this.id=e,this.intent="unsubscribed",this.state="idle",this.channels=[],this.disposed=!1,this._pendings=[]}add(e){this.channels.includes(e)||this.channels.push(e)}remove(e){let s=this.channels.indexOf(e);s>-1&&this.channels.splice(s,1)}notify(e,...s){this.state=e==="restored"?"connected":e,s.length===1?this.channels.forEach(i=>i[e](s[0])):this.channels.forEach(i=>i[e]())}pending(e){this._checkIntent(e);let s=this._pendings[0];return!s||s.intent!==e?Promise.resolve():s.promise}ensureResubscribed(){this.disposed||(this.intent=void 0,this.ensureSubscribed())}ensureSubscribed(){if(this.intent!=="subscribed"){if(this.disposed)throw Error("Subscription is disposed");this.intent="subscribed",!this._mergeWithPending("unsubscribed")&&this.subscriber(this)}}maybeUnsubscribe(){this.disposed||this.intent==="unsubscribed"||this.channels.length>0||(this.intent="unsubscribed",this._mergeWithPending("subscribed"))||this.unsubscriber(this)}async acquire(e){this._checkIntent(e);let s,i={promise:new Promise(o=>{s=o}),intent:e,release:()=>{this._pendings.splice(this._pendings.indexOf(i),1),s(i)},canceled:!1,acquired:!1},n=this._pendingTop;return this._pendings.push(i),n&&await n.promise,this.gvl&&await this.gvl.acquire(i,e),i.acquired=!0,i}close(e){this.disposed=!0,this.intent=void 0,this.notify("closed",e)}_checkIntent(e){if(!(e==="unsubscribed"||e==="subscribed"))throw Error(`Unknown subscription intent: ${e}`)}get _pendingTop(){return this._pendings.length?this._pendings[this._pendings.length-1]:void 0}_mergeWithPending(e){let s=this._pendingTop;return!s||s.acquired||s.intent!==e?!1:(this._pendings.pop(),s.canceled=!0,!0)}}class gn{constructor(){this.queue=[]}async acquire(e,s){s==="subscribed"&&(this.queue.push(e.promise.then(()=>{this.queue.splice(this.queue.indexOf(e),1)})),this.queue.length>1&&await this.queue[this.queue.length-2])}}class bn{constructor(e){e.concurrentSubscribes===!1&&(this.glv=new gn),this._subscriptions={},this._localToRemote={}}all(){return Object.values(this._subscriptions)}get(e){return this._subscriptions[e]}create(e,{subscribe:s,unsubscribe:i}){let n=this._subscriptions[e]=new pn(e);return n.remoteId=this._localToRemote[e],n.subscriber=s,n.unsubscriber=i,n.gvl=this.glv,n}remove(e){delete this._subscriptions[e],delete this._localToRemote[e]}storeRemoteId(e,s){this._localToRemote[e]=s;let i=this.get(e);i&&(i.remoteId=s)}}class yn{constructor(e={}){this.subscriptions=new bn(e),this._pendingMessages=[],this._remoteToLocal={}}subscribe(e,s){this._remoteToLocal[s]=e,this.subscriptions.storeRemoteId(e,s),this.flush(s)}unsubscribe(e){let s=this.subscriptions.get(e);if(!s)return;let i=s.remoteId;i&&delete this._remoteToLocal[i],this.subscriptions.remove(e)}transmit(e,s,i){let n=this._remoteToLocal[e];if(!n){this._pendingMessages.push([e,s,i]);return}let o=this.subscriptions.get(n);o&&o.channels.forEach(r=>{r.receive(s,i)})}notify(e,s,i){let n=this._remoteToLocal[e];if(!n)return;let o=this.subscriptions.get(n);o&&o.channels.forEach(r=>r.emit(s,i))}close(){this._pendingMessages.length=0}get size(){return this.channels.length}get channels(){return this.subscriptions.all().flatMap(e=>e.channels)}flush(e){let s=[];for(let i of this._pendingMessages)i[0]===e?this.transmit(i[0],i[1],i[2]):s.push(i);this._pendingMessages=s}}const us={debug:0,info:1,warn:2,error:3};class ds{constructor(e){this.level=e||"warn"}log(e,s,i){us[e]<us[this.level]||this.writeLogEntry(e,s,i)}writeLogEntry(){throw Error("Not implemented")}debug(e,s){this.log("debug",e,s)}info(e,s){this.log("info",e,s)}warn(e,s){this.log("warn",e,s)}error(e,s){this.log("error",e,s)}}class we extends ds{writeLogEntry(){}}class _n{encode(e){return JSON.stringify(e)}decode(e){try{return JSON.parse(e)}catch{}}}let wn=0;class hs{constructor(e={}){let{logger:s}=e;this.logger=s||new we,this.pendingSubscriptions={},this.pendingUnsubscriptions={},this.subscribeCooldownInterval=e.subscribeCooldownInterval||250,this.subscribeRetryInterval=e.subscribeRetryInterval||5e3}attached(e){this.cable=e}subscribe(e,s){let i={channel:e};s&&Object.assign(i,s);let n=cs(i);if(this.pendingUnsubscriptions[n]){let r=this.subscribeCooldownInterval*1.5;return this.logger.debug(`unsubscribed recently, cooldown for ${r}`,n),new Promise(a=>{setTimeout(()=>{a(this.subscribe(e,s))},r)})}if(this.pendingSubscriptions[n])return this.logger.warn("subscription is already pending, skipping",n),Promise.reject(Error("Already subscribing"));let o=this.subscribeRetryInterval;return new Promise((r,a)=>{let c=++wn;this.pendingSubscriptions[n]={resolve:r,reject:a,id:c},this.cable.send(this.buildSubscribeRequest(n)),this.maybeRetrySubscribe(c,n,o)})}buildSubscribeRequest(e){return{command:"subscribe",identifier:e}}maybeRetrySubscribe(e,s,i){setTimeout(()=>{let n=this.pendingSubscriptions[s];n&&n.id===e&&(this.logger.warn(`no subscription ack received in ${i}ms, retrying subscribe`,s),this.cable.send(this.buildSubscribeRequest(s)),this.maybeExpireSubscribe(e,s,i))},i)}maybeExpireSubscribe(e,s,i){setTimeout(()=>{let n=this.pendingSubscriptions[s];n&&n.id===e&&(delete this.pendingSubscriptions[s],n.reject(new hn(`Haven't received subscription ack in ${i*2}ms for ${s}`)))},i)}unsubscribe(e){return this.cable.send({command:"unsubscribe",identifier:e}),this.pendingUnsubscriptions[e]=!0,setTimeout(()=>{delete this.pendingUnsubscriptions[e]},this.subscribeCooldownInterval),Promise.resolve()}perform(e,s,i){return s==="$whisper"?this.whisper(e,i):(i||(i={}),i.action=s,this.cable.send({command:"message",identifier:e,data:JSON.stringify(i)}),Promise.resolve())}whisper(e,s){return this.cable.send({command:"whisper",identifier:e,data:s}),Promise.resolve()}receive(e){if(typeof e!="object"){this.logger.error("unsupported message format",{message:e});return}let{type:s,identifier:i,message:n,reason:o,reconnect:r}=e;if(s==="ping")return this.cable.keepalive(e.message);if(this.cable.keepalive(),s==="welcome"){let a=e.sid;return a&&this.cable.setSessionId(a),this.cable.connected()}if(s==="disconnect"){let a=new W(o);this.reset(a),r===!1?this.cable.closed(a):this.cable.disconnected(a);return}if(s==="confirm_subscription"){let a=this.pendingSubscriptions[i];if(!a){this.logger.error("subscription not found, unsubscribing",{type:s,identifier:i}),this.unsubscribe(i);return}return delete this.pendingSubscriptions[i],a.resolve(i)}if(s==="reject_subscription"){let a=this.pendingSubscriptions[i];return a?(delete this.pendingSubscriptions[i],a.reject(new it)):this.logger.error("subscription not found",{type:s,identifier:i})}if(n)return{identifier:i,message:n};this.logger.warn(`unknown message type: ${s}`,{message:e})}reset(e){for(let s in this.pendingSubscriptions)this.pendingSubscriptions[s].reject(e);this.pendingSubscriptions={}}recoverableClosure(){return!1}}const fs=()=>Date.now()/1e3|0;class vn extends hs{constructor(e={}){super(e),this.streamsPositions={},this.subscriptionStreams={},this.pendingHistory={},this.pendingPresence={},this.presenceInfo={},this.restoreSince=e.historyTimestamp,this.disableSessionRecovery=e.disableSessionRecovery,this.restoreSince===void 0&&(this.restoreSince=fs()),this.sessionId=void 0,this.sendPongs=e.pongs}reset(e){for(let s in this.pendingPresence)this.pendingPresence[s].reject(e);return this.pendingPresence={},super.reset()}receive(e){if(typeof e!="object"){this.logger.error("unsupported message format",{message:e});return}let{type:s,identifier:i,message:n}=e;if(s==="disconnect")return delete this.sessionId,this.cable.setSessionId(""),super.receive(e);if(s==="reject_subscription")return super.receive(e);if(s==="confirm_subscription")return this.subscriptionStreams[i]||(this.subscriptionStreams[i]=new Set),super.receive(e);if(s==="ping")return this.restoreSince&&(this.restoreSince=fs()),this.sendPongs&&this.sendPong(),this.cable.keepalive(e.message);if(this.cable.keepalive(),s==="confirm_history"){this.logger.debug("history result received",e),this.cable.notify("history_received",i);return}if(s==="reject_history"){this.logger.warn("failed to retrieve history",e),this.cable.notify("history_not_found",i);return}if(s==="welcome"){if(this.disableSessionRecovery||(this.sessionId=e.sid,this.sessionId&&this.cable.setSessionId(this.sessionId)),e.restored){let o=e.restored_ids||Object.keys(this.subscriptionStreams);for(let r of o)this.cable.send({identifier:r,command:"history",history:this.historyRequestFor(r)}),this.presenceInfo[r]&&this.cable.send({identifier:r,command:"join",presence:this.presenceInfo[r]});return this.cable.restored(o)}return this.cable.connected(this.sessionId)}if(s==="presence"){let o=n.type;if(o==="info"){let r=this.pendingPresence[i];r&&(delete this.pendingPresence[i],r.resolve(n))}else if(o==="error"){let r=this.pendingPresence[i];r&&(delete this.pendingPresence[i],r.reject(new Error("failed to retrieve presence")))}return{type:s,identifier:i,message:n}}if(n){let o=this.trackStreamPosition(i,e.stream_id,e.epoch,e.offset);return{identifier:i,message:n,meta:o}}this.logger.warn(`unknown message type: ${s}`,{message:e})}perform(e,s,i){switch(s){case"$presence:join":return this.join(e,i);case"$presence:leave":return this.leave(e,i);case"$presence:info":return this.presence(e,i)}return super.perform(e,s,i)}unsubscribe(e){return delete this.presenceInfo[e],super.unsubscribe(e)}buildSubscribeRequest(e){let s=super.buildSubscribeRequest(e),i=this.historyRequestFor(e);i&&(s.history=i,this.pendingHistory[e]=!0);let n=this.presenceInfo[e];return n&&(s.presence=n),s}recoverableClosure(){return!!this.sessionId}historyRequestFor(e){let s={},i=!1;if(this.subscriptionStreams[e])for(let n of this.subscriptionStreams[e]){let o=this.streamsPositions[n];o&&(i=!0,s[n]=o)}if(!(!i&&!this.restoreSince))return{since:this.restoreSince,streams:s}}trackStreamPosition(e,s,i,n){if(!(!s||!i))return this.subscriptionStreams[e]||(this.subscriptionStreams[e]=new Set),this.subscriptionStreams[e].add(s),this.streamsPositions[s]={epoch:i,offset:n},{stream:s,epoch:i,offset:n}}async sendPong(){await new Promise(e=>setTimeout(e,0)),this.cable.state==="connected"&&this.cable.send({command:"pong"})}async join(e,s){return this.presenceInfo[e]=s,this.cable.send({command:"join",identifier:e,presence:s}),Promise.resolve()}async leave(e,s){return delete this.presenceInfo[e],this.cable.send({command:"leave",identifier:e,presence:s}),Promise.resolve()}presence(e,s){return this.pendingPresence[e]?(this.logger.warn("presence is already pending, skipping",e),Promise.reject(Error("presence request is already pending"))):new Promise((i,n)=>{this.pendingPresence[e]={resolve:i,reject:n},this.cable.send({command:"presence",identifier:e,data:s})})}}class Sn extends _e{constructor(){super("No connection","closed"),this.name="NoConnectionError"}}class nt extends ls{constructor(e,s){super(s),this.channelId=e}set channelId(e){this._channelId=e}get channelId(){return this._channelId}}Te(nt,"identifier","__ghost__");const En="$pubsub";class rt extends ls{async perform(e,s){if(e.startsWith("$"))return super.perform(e,s);throw Error("not implemented")}}Te(rt,"identifier",En);const oe=Symbol("state");let Tn=class{constructor({transport:t,protocol:e,encoder:s,logger:i,lazy:n,hubOptions:o,performFailures:r,transportConfigurator:a}){this.emitter=je(),this.transport=t,this.encoder=s,this.logger=i||new we,this.protocol=e,this.performFailures=r||"throw",this.protocol.attached(this),this.hub=new yn(o||{}),this[oe]="idle",this.handleClose=this.handleClose.bind(this),this.handleIncoming=this.handleIncoming.bind(this),this.transportConfigurator=a,this.transport.on("close",this.handleClose),this.transport.on("data",this.handleIncoming),this.initialConnect=!0,this.recovering=!1,n===!1&&this.connect().catch(()=>{})}get state(){return this[oe]}async connect(){if(this.state==="connected")return Promise.resolve();if(this.state==="connecting")return this.pendingConnect();let t=this.state==="idle";this[oe]="connecting";let e=this.pendingConnect();this.logger.debug("connecting");try{this.transportConfigurator&&await this.transportConfigurator(this.transport,{initial:t}),await this.transport.open()}catch(s){this.handleClose(s)}return e}setSessionId(t){this.sessionId=t,this.transport.setParam("sid",t)}connected(){if(this.state==="connected")return;this.logger.info("connected"),this[oe]="connected",this.recovering&&this.hub.subscriptions.all().forEach(e=>e.notify("disconnected",new W("recovery_failed"))),this.hub.subscriptions.all().forEach(e=>this._resubscribe(e));let t=!1;this.recovering=!1,this.initialConnect?(this.initialConnect=!1,this.emit("connect",{reconnect:!1,restored:t})):this.emit("connect",{reconnect:!0,restored:t})}restored(t){this.logger.info("connection recovered",{remoteIds:t}),this[oe]="connected",this.hub.subscriptions.all().forEach(i=>{t&&i.remoteId&&t.includes(i.remoteId)?i.notify("restored"):(i.notify("disconnected",new W("recovery_failed")),this._resubscribe(i))});let e=!this.initialConnect,s=!0;this.recovering=!1,this.initialConnect=!1,this.emit("connect",{reconnect:e,restored:s})}notify(t,e,s){e&&typeof e!="string"&&(s=e,e=void 0),e?this.hub.notify(e,"info",{type:t,data:s}):this.emit("info",{type:t,data:s})}handleClose(t){this.logger.debug("transport closed",{error:t}),this.disconnected(new W(t,"transport_closed"))}disconnected(t){(this.state==="connected"||this.state==="connecting")&&(this.logger.info("disconnected",{reason:t}),this[oe]="disconnected",this.recovering=this.protocol.recoverableClosure(t),this.recovering?this.hub.subscriptions.all().forEach(e=>e.notify("connecting")):this.hub.subscriptions.all().forEach(e=>{e.notify("disconnected",t)}),this.protocol.reset(t),this.hub.close(),this.transport.close(),this.emit("disconnect",t))}closed(t){if(this.state==="closed"||this.state==="idle")return;let e;t&&(e=t instanceof W?t:new W(t,void 0)),this.logger.info("closed",{reason:t||"user"}),this[oe]="closed";let s=e||new W("cable_closed");this.hub.subscriptions.all().forEach(i=>i.notify("disconnected",s)),this.hub.close(),this.protocol.reset(),this.transport.close(),this.initialConnect=!0,this.emit("close",e)}disconnect(){this.closed()}handleIncoming(t){if(this.state==="closed"||this.state==="idle")return;let e=this.encoder.decode(t);if(e===void 0){this.logger.error("failed to decode message",{message:t});return}this.logger.debug("incoming data",e);let s=this.protocol.receive(e);if(s){this.logger.debug("processed incoming message",s);let{type:i,identifier:n,message:o,meta:r}=s;i?this.hub.notify(n,i,o):this.hub.transmit(n,o,r)}}send(t){if(this.state==="closed")throw Error("Cable is closed");let e=this.encoder.encode(t);if(e===void 0){this.logger.error("failed to encode message",{message:t});return}this.logger.debug("outgoing message",t),this.transport.send(e)}keepalive(t){this.emit("keepalive",t)}streamFrom(t){let e=new rt({stream_name:t});return this.subscribe(e)}streamFromSigned(t){let e=new rt({signed_stream_name:t});return this.subscribe(e)}subscribeTo(t,e){let s,i;return typeof t=="string"&&(i=t,t=nt),s=i?new t(i,e):new t(e),this.subscribe(s)}subscribe(t){if(!t.attached(this))return t;let e=t.identifier;t.connecting();let s=this.hub.subscriptions.get(e)||this.hub.subscriptions.create(e,{subscribe:i=>this._subscribe(i,t.channelId,t.params),unsubscribe:i=>this._unsubscribe(i)});return s.add(t),s.intent==="subscribed"&&s.state==="connected"&&t.connected(),s.ensureSubscribed(),t}async _resubscribe(t){t.intent!=="subscribed"||!t.channels[0]||(t.notify("connecting"),t.ensureResubscribed())}async _subscribe(t,e,s){let i=t.id;if(this.state==="idle"&&this.connect().catch(()=>{}),this.state!=="connected"){this.logger.debug("cancel subscribe, no connection",{identifier:i});return}this.logger.debug("acquiring subscribe lock",{identifier:i});let n=await t.acquire("subscribed");if(n.canceled){this.logger.debug("subscribe lock has been canceled",{identifier:i}),n.release();return}if(this.logger.debug("subscribe lock has been acquired",{identifier:i}),t.intent!=="subscribed"){this.logger.debug("cancel subscribe request, already unsubscribed"),n.release();return}if(this.state!=="connected"){this.logger.debug("cancel subscribe, no connection",{identifier:i}),n.release();return}if(t.state==="connected"){this.logger.debug("already connected, skip subscribe command",{identifier:i}),t.notify("connected"),n.release();return}let o={identifier:e,params:s};this.logger.debug("subscribing",o);try{let r=await this.protocol.subscribe(e,s);this.hub.subscribe(i,r),this.logger.debug("subscribed",{...o,remoteId:r}),t.notify("connected")}catch(r){if(r){if(r instanceof it&&this.logger.warn("rejected",o),r instanceof W){this.logger.debug("disconnected during subscription; will retry on connect",o),n.release();return}this.logger.error("failed to subscribe",{error:r,...o})}t.close(r),this.hub.unsubscribe(i)}n.release()}unsubscribe(t){let e=t.identifier,s=this.hub.subscriptions.get(e);if(!s)throw Error(`Subscription not found: ${e}`);s.remove(t),t.closed(),s.maybeUnsubscribe()}async _unsubscribe(t){let e=t.id;this.logger.debug("acquiring unsubscribe lock",{identifier:e});let s=await t.acquire("unsubscribed");if(s.canceled){this.logger.debug("unsubscribe lock has been canceled",{identifier:e}),s.release();return}if(this.logger.debug("unsubscribe lock has been acquired",{identifier:e}),t.intent!=="unsubscribed"){this.logger.debug("cancel unsubscribe, no longer needed",{identifier:e,intent:t.intent}),s.release();return}if(t.state==="disconnected"||t.state==="closed"){this.logger.debug(`already ${t.state} connected, skip unsubscribe command`,{identifier:e}),s.release();return}let i=t.remoteId;if(this.logger.debug("unsubscribing...",{remoteId:i}),this.state!=="connected"){this.logger.debug("unsubscribe skipped (cable is not connected)",{id:e}),t.close(),this.hub.unsubscribe(e),s.release();return}try{await this.protocol.unsubscribe(i),this.logger.debug("unsubscribed remotely",{id:e})}catch(n){n&&(n instanceof W?this.logger.debug("cable disconnected during the unsubscribe command execution",{id:e,error:n}):this.logger.error("unsubscribe failed",{id:e,error:n}))}t.intent==="unsubscribed"?(t.close(),this.hub.unsubscribe(e)):t.state="closed",s.release()}async perform(t,e,s){if(this.performFailures==="throw")return this._perform(t,e,s);try{return await this._perform(t,e,s)}catch(i){this.performFailures==="warn"&&this.logger.warn("perform failed",{error:i});return}}async _perform(t,e,s){if(this.state==="connecting"&&await this.pendingConnect(),this.state==="closed"||this.state==="disconnected")throw new Sn;let i=this.hub.subscriptions.get(t);if(!i)throw Error(`Subscription not found: ${t}`);if(await i.pending("subscribed"),i.intent!=="subscribed")throw Error(`Subscription is closed: ${t}`);let n=i.remoteId,o={id:n,action:e,payload:s};this.logger.debug("perform",o);try{let r=await this.protocol.perform(n,e,s);return r&&this.logger.debug("perform result",{message:r,request:o}),r}catch(r){throw this.logger.error("perform failed",{error:r,request:o}),r}}on(t,e){return this.emitter.on(t,e)}once(t,e){let s=this.emitter.on(t,(...i)=>{s(),e(...i)});return s}emit(t,...e){return this.emitter.emit(t,...e)}pendingConnect(){return this._pendingConnect?this._pendingConnect:(this._pendingConnect=new Promise((t,e)=>{let s=[()=>delete this._pendingConnect];s.push(this.on("connect",()=>{s.forEach(i=>i()),t()})),s.push(this.on("close",i=>{s.forEach(n=>n()),e(i)})),s.push(this.on("disconnect",i=>{s.forEach(n=>n()),e(i)}))}),this._pendingConnect)}};const xn={maxMissingPings:2,maxReconnectAttempts:1/0},he=()=>Date.now(),ms=(t,e)=>{e=e||{};let{backoffRate:s,jitterRatio:i,maxInterval:n}=e;return s=s||2,i===void 0&&(i=.5),o=>{let r=t*s**o,a=r*s,c=r+(a-r)*Math.random(),l=2*(Math.random()-.5)*i;return c=c*(1+l),n&&n<c&&(c=n),c}};let ps=class{constructor({pingInterval:t,...e}){if(this.pingInterval=t,!this.pingInterval)throw Error(`Incorrect pingInterval is provided: ${t}`);if(e=Object.assign({},xn,e),this.strategy=e.reconnectStrategy,!this.strategy)throw Error("Reconnect strategy must be provided");this.maxMissingPings=e.maxMissingPings,this.maxReconnectAttempts=e.maxReconnectAttempts,this.logger=e.logger||new we,this.state="pending_connect",this.attempts=0,this.disconnectedAt=he()}watch(t){this.target=t,this.initListeners()}reconnectNow(){return this.state==="connected"||this.state==="pending_connect"||this.state==="closed"?!1:(this.cancelReconnect(),this.state="pending_connect",this.target.connect().catch(t=>{this.logger.info("Failed at reconnecting: "+t)}),!0)}initListeners(){this.unbind=[],this.unbind.push(this.target.on("connect",()=>{this.attempts=0,this.pingedAt=he(),this.state="connected",this.cancelReconnect(),this.startPolling()})),this.unbind.push(this.target.on("disconnect",()=>{this.disconnectedAt=he(),this.state="disconnected",this.stopPolling(),this.scheduleReconnect()})),this.unbind.push(this.target.on("close",()=>{this.disconnectedAt=he(),this.state="closed",this.cancelReconnect(),this.stopPolling()})),this.unbind.push(this.target.on("keepalive",()=>{this.pingedAt=he()})),this.unbind.push(()=>{this.cancelReconnect(),this.stopPolling()})}dispose(){delete this.target,this.unbind&&this.unbind.forEach(t=>t()),delete this.unbind}startPolling(){this.pollId&&clearTimeout(this.pollId);let t=this.pingInterval+(Math.random()-.5)*this.pingInterval*.5;this.pollId=setTimeout(()=>{this.checkStale(),this.state==="connected"&&this.startPolling()},t)}stopPolling(){this.pollId&&clearTimeout(this.pollId)}checkStale(){let t=he()-this.pingedAt;t>this.maxMissingPings*this.pingInterval&&(this.logger.warn(`Stale connection: ${t}ms without pings`),this.state="pending_disconnect",this.target.disconnected(new fn))}scheduleReconnect(){if(this.attempts>=this.maxReconnectAttempts){this.target.close();return}let t=this.strategy(this.attempts);this.attempts++,this.logger.info(`Reconnecting in ${t}ms (${this.attempts} attempt)`),this.state="pending_reconnect",this.reconnnectId=setTimeout(()=>this.reconnectNow(),t)}cancelReconnect(){this.reconnnectId&&(clearTimeout(this.reconnnectId),delete this.reconnnectId)}};class Cn{constructor(e,s={}){this.transports=e,this.transport=null,this.emitter=je(),this.unbind=[],this.logger=s.logger||new we}displayName(){return"fallbacked transport"}async open(){for(let e=0;e<this.transports.length;e++){let s=this.transports[e];try{this.transport=s,this.resetListeners(),this.logger.debug(`Trying to connect via ${s.displayName()}`),await s.open(),this.logger.debug(`Connected via ${s.displayName()}`);return}catch(i){this.logger.debug(`Failed to connect via ${s.displayName()}: ${i.message}`)}}throw this.transport=null,this.resetListeners(),new Error("Couldn't connect via any available transport")}send(e){if(!this.transport)throw new Error("No transport is open");this.transport.send(e)}async close(){if(!this.transport)throw new Error("No transport is open");await this.transport.close(),this.transport=null}setURL(){throw new Error("Not implemented. Set URL for each transport separately")}setParam(e,s){this.transports.forEach(i=>{i.setParam(e,s)})}setToken(e,s){this.transports.forEach(i=>{i.setToken(e,s)})}on(e,s){return this.emitter.on(e,s)}once(e,s){let i=this.emitter.on(e,(...n)=>{i(),s(...n)});return i}get url(){return this.transport?this.transport.url:""}resetListeners(){this.unbind.forEach(e=>e()),this.unbind.length=0,this.transport&&this.unbind.push(this.transport.on("open",()=>{this.emitter.emit("open")}),this.transport.on("data",e=>{this.emitter.emit("data",e)}),this.transport.on("close",e=>{this.emitter.emit("close",e)}),this.transport.on("error",e=>{this.emitter.emit("error",e)}))}}class On{constructor(e,s={}){this.url=e;let i=s.websocketImplementation;if(i)this.Impl=i;else if(typeof WebSocket<"u")this.Impl=WebSocket;else throw new Error("No WebSocket support");this.connected=!1,this.emitter=je();let{format:n,subprotocol:o,authStrategy:r}=s;this.format=n||"text",this.connectionOptions=s.websocketOptions,this.authStrategy=r||"param",this.authProtocol="",this.subprotocol=o}displayName(){return"WebSocket("+this.url+")"}open(){let e=this.subprotocol;return this.authStrategy==="sub-protocol"&&(e=[this.subprotocol,this.authProtocol]),this.connectionOptions?this.ws=new this.Impl(this.url,e,this.connectionOptions):this.ws=new this.Impl(this.url,e),this.ws.binaryType="arraybuffer",this.initListeners(),new Promise((s,i)=>{let n=[];n.push(this.once("open",()=>{n.forEach(o=>o()),s()})),n.push(this.once("close",()=>{n.forEach(o=>o()),i(Error("WS connection closed"))}))})}setURL(e){this.url=e}setParam(e,s){let i=new URL(this.url);i.searchParams.set(e,s);let n=`${i.protocol}//${i.host}${i.pathname}?${i.searchParams}`;this.setURL(n)}setToken(e,s="jid"){if(this.authStrategy==="param")this.setParam(s,e);else if(this.authStrategy==="header"){this.connectionOptions=this.connectionOptions||{},this.connectionOptions.headers=this.connectionOptions.headers||{};let i=`x-${s}`.toLowerCase();i=Object.keys(this.connectionOptions.headers).find(n=>n.toLowerCase()===i)||i,this.connectionOptions.headers[i]=e}else if(this.authStrategy==="sub-protocol")this.authProtocol=`anycable-token.${e}`;else throw new Error("Unknown auth strategy: "+this.authStrategy)}send(e){if(!this.ws||!this.connected)throw Error("WebSocket is not connected");this.ws.send(e)}close(){this.ws?this.onclose():this.connected=!1}on(e,s){return this.emitter.on(e,s)}once(e,s){let i=this.emitter.on(e,(...n)=>{i(),s(...n)});return i}initListeners(){this.ws.onerror=e=>{this.connected&&this.emitter.emit("error",e.error||new Error("WS Error"))},this.ws.onclose=()=>{this.onclose()},this.ws.onmessage=e=>{let s=e.data;this.format==="binary"&&(s=new Uint8Array(s)),this.emitter.emit("data",s)},this.ws.onopen=()=>{this.connected=!0,this.emitter.emit("open")}}onclose(){this.ws.onclose=void 0,this.ws.onmessage=void 0,this.ws.onopen=void 0,this.ws.close(),delete this.ws,this.connected=!1,this.emitter.emit("close")}}const gs={protocol:"actioncable-v1-json",pingInterval:3e3,maxReconnectAttempts:1/0,maxMissingPings:2,logLevel:"warn",lazy:!0};function kn(t,e){if(typeof t=="object"&&typeof e>"u"&&(e=t,t=void 0),e=e||{},!t&&!e.transport)throw Error("URL or transport must be specified");e=Object.assign({},gs,e);let{protocol:s,websocketImplementation:i,websocketFormat:n,websocketOptions:o,websocketAuthStrategy:r,fallbacks:a,logLevel:c,logger:l,transport:d,encoder:b,lazy:_,monitor:m,pingInterval:p,reconnectStrategy:h,maxMissingPings:v,maxReconnectAttempts:T,subprotocol:C,tokenRefresher:y,historyTimestamp:k,protocolOptions:A,concurrentSubscribes:L,performFailures:F,transportConfigurator:X,auth:$}=e;if(l=l||new we(c),typeof s=="string"){C=C||s;let D=s.substring(0,s.lastIndexOf("-")),K=s.substring(s.lastIndexOf("-")+1);if(A=A||{},D==="actioncable-v1")s=new hs({logger:l,...A});else if(D==="actioncable-v1-ext")s=new vn({logger:l,historyTimestamp:k,...A});else throw Error(`Protocol is not supported yet: ${s}`);if(K==="json")b=b||new _n,n=n||"text";else if(K==="msgpack"){if(n="binary",!b)throw Error("Msgpack encoder must be specified explicitly. Use `@anycable/msgpack-encoder` package or build your own")}else if(K==="protobuf"){if(n=n||"binary",!b)throw Error("Protobuf encoder must be specified explicitly. Use `@anycable/protobuf-encoder` package or build your own")}else throw Error(`Protocol is not supported yet: ${s}`)}if(!s)throw Error("Protocol must be specified");d=d||new On(t,{websocketImplementation:i,websocketOptions:o,subprotocol:C,authStrategy:r,format:n}),a&&(d=new Cn([d,...a],{logger:l})),$&&$.token&&d.setToken($.token,$.param||"jid"),h=h||ms(p),m!==!1&&(m=m||new ps({pingInterval:p,reconnectStrategy:h,maxMissingPings:v,maxReconnectAttempts:T,logger:l}));let te={concurrentSubscribes:L},w=new Tn({protocol:s,transport:d,encoder:b,logger:l,lazy:_,hubOptions:te,performFailures:F,transportConfigurator:X});return m&&(m.watch(w),w.monitor=m),y&&Rn(w,async()=>{try{await y(d)}catch(D){return l.error("Failed to refresh authentication token: "+D),!1}return w.connect().catch(()=>{}),!0}),w}function Rn(t,e){let s=!1;t.on("connect",()=>s=!1),t.on("close",async i=>{if(i){if(s){t.logger.warn("Token auto-refresh is disabled",i);return}i.reason==="token_expired"&&(s=!0,await e())}})}class An{constructor(e){this.channel=e}notify(e,...s){typeof this[e]=="function"&&this[e](...s)}perform(e,s={}){this.channel.perform(e,s)}send(e){this.channel.send(e)}get identifier(){return this.channel.identifier}unsubscribe(){return this.channel.disconnect()}}class In extends nt{constructor(e,s,i){super(e,s),this.subscription=new An(this),Object.assign(this.subscription,i),this.on("connect",({reconnect:n})=>this.subscription.notify("connected",{reconnected:n})),this.on("disconnect",()=>this.subscription.notify("disconnected",{allowReconnect:!0})),this.on("message",n=>this.subscription.notify("received",n)),this.on("close",n=>{n&&n instanceof it?this.subscription.notify("rejected"):this.subscription.notify("disconnected",{allowReconnect:!1})})}}class Dn{constructor(e){this.cable=e}create(e,s){let i,n;typeof e=="object"?(i=e.channel,delete e.channel,n=e):(i=e,n={});let o=new In(i,n,s);return o.subscription.notify("initialized"),this.cable.subscribe(o),o.subscription}findAll(e){return this.cable.hub.channels.filter(s=>s.identifier===e).map(s=>s.subscription)}}class Pn{constructor(e){this.cable=e,this.subscriptions=new Dn(e)}}class Nn extends ds{writeLogEntry(e,s,i){i?console[e](s,i):console[e](s)}}class jn extends ps{watch(e){super.watch(e),this.initActivityListeners()}initActivityListeners(){if(typeof document<"u"&&typeof window<"u"&&document.addEventListener&&window.addEventListener){let e=()=>{document.hidden||this.reconnectNow()&&this.logger.debug("Trigger reconnect due to visibility change")},s=n=>{this.reconnectNow()&&this.logger.debug("Trigger reconnect",{event:n})},i=()=>this.disconnect(new W("page_frozen"));document.addEventListener("visibilitychange",e,!1),window.addEventListener("focus",s,!1),window.addEventListener("online",s,!1),window.addEventListener("resume",s,!1),window.addEventListener("freeze",i,!1),this.unbind.push(()=>{document.removeEventListener("visibilitychange",e,!1),window.removeEventListener("focus",s,!1),window.removeEventListener("online",s,!1),window.removeEventListener("resume",s,!1),window.removeEventListener("freeze",i,!1)})}}disconnect(e){this.state==="disconnected"||this.state==="closed"||(this.logger.info("Disconnecting",{reason:e.message}),this.cancelReconnect(),this.stopPolling(),this.state="pending_disconnect",this.target.disconnected(e))}}const Un=["cable","action-cable"],Ln="/cable",Ue=(t,e)=>{for(let s of Un){let i=t.head.querySelector(`meta[name='${s}-${e}']`);if(i)return i.getAttribute("content")}},bs=t=>t.match(/wss?:\/\//)?t:typeof window<"u"?`${window.location.protocol.replace("http","ws")}//${window.location.host}${t}`:t,Fn=()=>{if(typeof document<"u"&&document.head){let t=Ue(document,"url");if(t)return bs(t)}return bs(Ln)},Mn=()=>{if(typeof document<"u"&&document.head){let t=Ue(document,"history-timestamp");if(t)return t|0}},Vn=()=>{if(typeof document<"u"&&document.head)return Ue(document,"token")},qn=()=>{if(typeof document<"u"&&document.head)return Ue(document,"token-param")};function $n(t,e){typeof t=="object"&&typeof e>"u"&&(e=t,t=void 0),t=t||Fn(),e=e||{},e.historyTimestamp||(e.historyTimestamp=Mn());let s=Vn();if(s){let l=qn();e.auth=Object.assign({token:s,param:l},e.auth||{})}e=Object.assign({},gs,e);let{logLevel:i,logger:n,pingInterval:o,reconnectStrategy:r,maxMissingPings:a,maxReconnectAttempts:c}=e;return n=e.logger=e.logger||new Nn(i),r=e.reconnectStrategy=e.reconnectStrategy||ms(o),e.monitor!==!1&&(e.monitor=e.monitor||new jn({pingInterval:o,reconnectStrategy:r,maxMissingPings:a,maxReconnectAttempts:c,logger:n})),kn(t,e)}function Bn(t,e){let s=$n(t,e);return new Pn(s)}class Hn{constructor(e="/openc3-api/cable"){this._cable=null,this._url=e}disconnect(){this._cable&&(this._cable.cable.disconnect(),this._cable=null)}createSubscription(e,s,i={},n={}){return OpenC3Auth.updateToken(OpenC3Auth.defaultMinValidity).then(o=>{if(o&&OpenC3Auth.setTokens(),this._cable==null){let r=this._url+"?scope="+encodeURIComponent(s)+"&authorization="+encodeURIComponent(localStorage.openc3Token);r=new URL(r,document.baseURI).href,this._cable=Bn(r)}return this._cable.subscriptions.create({channel:e,...n},i)})}recordPing(){}}function ve(t){return zn.test(t)}const zn=/^-?[0-9]+$/;function ys(t){return Jn.test(t)}const Jn=/^-?(?:0|[1-9]\d*)(?:\.\d+)?(?:[eE][+-]?\d+)?$/;function _s(t,e){if(ve(t))return Number.isSafeInteger(Number.parseInt(t,10));const s=Number.parseFloat(t),i=String(s);if(t===i)return!0;const n=ws(t),o=ws(i);return!!(n===o||(e==null?void 0:e.approx)===!0&&!ve(t)&&o.length>=14&&n.startsWith(o.substring(0,14)))}let Se=function(t){return t.underflow="underflow",t.overflow="overflow",t.truncate_integer="truncate_integer",t.truncate_float="truncate_float",t}({});function Wn(t){if(_s(t,{approx:!1}))return;if(ve(t))return Se.truncate_integer;const e=Number.parseFloat(t);return Number.isFinite(e)?e===0?Se.underflow:Se.truncate_float:Se.overflow}function ws(t){const{start:e,end:s}=Kn(t),i=t.substring(e,s),n=i.indexOf(".");return n===-1?i:i.substring(0,n)+i.substring(n+1)}function Kn(t){let e=0;for(t[0]==="-"&&e++;t[e]==="0"||t[e]===".";)e++;let s=t.lastIndexOf("e");for(s===-1&&(s=t.lastIndexOf("E")),s===-1&&(s=t.length);(t[s-1]==="0"||t[s-1]===".")&&s>e;)s--;return{start:e,end:s}}class Zn{constructor(e){if(Te(this,"isLosslessNumber",!0),!ys(e))throw new Error(`Invalid number (value: "${e}")`);this.value=e}valueOf(){const e=Wn(this.value);if(e===void 0||e===Se.truncate_float)return Number.parseFloat(this.value);if(ve(this.value))return BigInt(this.value);throw new Error(`Cannot safely convert to number: the value '${this.value}' would ${e} and become ${Number.parseFloat(this.value)}`)}toString(){return this.value}}function Gn(t){return t&&typeof t=="object"&&t.isLosslessNumber||!1}function Xn(t){return new Zn(t)}function Yn(t,e){return ot({"":t},"",t,e)}function ot(t,e,s,i){return Array.isArray(s)?i.call(t,e,er(s,i)):s&&typeof s=="object"&&!Gn(s)?i.call(t,e,Qn(s,i)):i.call(t,e,s)}function Qn(t,e){for(const s of Object.keys(t)){const i=ot(t,s,t[s],e);i!==void 0?t[s]=i:delete t[s]}return t}function er(t,e){for(let s=0;s<t.length;s++)t[s]=ot(t,String(s),t[s],e);return t}function tr(t,e,s){const i=typeof s=="function"?{parseNumber:s}:s,n=(i==null?void 0:i.parseNumber)??Xn,o=(i==null?void 0:i.onDuplicateKey)??F;let r=0;const a=d();return T(a),y(),e?Yn(a,e):a;function c(){if(t.charCodeAt(r)===ar){r++,_();const S={};let R=!0;for(;r<t.length&&t.charCodeAt(r)!==Ss;){R?R=!1:(h(),_());const z=r,Y=m();if(Y===void 0){L();return}_(),v();const H=d();if(H===void 0){D();return}if(Object.prototype.hasOwnProperty.call(S,Y)&&!at(H,S[Y])){const Q=o({key:Y,position:z+1,oldValue:S[Y],newValue:H});Q!==void 0&&(S[Y]=Q)}else S[Y]=H}return t.charCodeAt(r)!==Ss&&X(),r++,S}}function l(){if(t.charCodeAt(r)===cr){r++,_();const S=[];let R=!0;for(;r<t.length&&t.charCodeAt(r)!==Es;){R?R=!1:h();const z=d();C(z),S.push(z)}return t.charCodeAt(r)!==Es&&$(),r++,S}}function d(){_();const S=m()??p()??c()??l()??b("true",!0)??b("false",!1)??b("null",null);return _(),S}function b(S,R){if(t.slice(r,r+S.length)===S)return r+=S.length,R}function _(){for(;sr(t.charCodeAt(r));)r++}function m(){if(t.charCodeAt(r)===ct){r++;let S="";for(;r<t.length&&t.charCodeAt(r)!==ct;){if(t.charCodeAt(r)===or){const R=t[r+1],z=rr[R];z!==void 0?(S+=z,r++):R==="u"?Le(t.charCodeAt(r+2))&&Le(t.charCodeAt(r+3))&&Le(t.charCodeAt(r+4))&&Le(t.charCodeAt(r+5))?(S+=String.fromCharCode(Number.parseInt(t.slice(r+2,r+6),16)),r+=5):K(r):w(r)}else nr(t.charCodeAt(r))?S+=t[r]:te(t[r]);r++}return A(),r++,S}}function p(){const S=r;if(t.charCodeAt(r)===Ts&&(r++,k(S)),t.charCodeAt(r)===lt)r++;else if(ir(t.charCodeAt(r)))for(r++;Fe(t.charCodeAt(r));)r++;if(t.charCodeAt(r)===gr)for(r++,k(S);Fe(t.charCodeAt(r));)r++;if(t.charCodeAt(r)===vr||t.charCodeAt(r)===wr)for(r++,(t.charCodeAt(r)===Ts||t.charCodeAt(r)===fr)&&r++,k(S);Fe(t.charCodeAt(r));)r++;if(r>S)return n(t.slice(S,r))}function h(){if(t.charCodeAt(r)!==pr)throw new SyntaxError(`Comma ',' expected after value ${N()}`);r++}function v(){if(t.charCodeAt(r)!==br)throw new SyntaxError(`Colon ':' expected after property name ${N()}`);r++}function T(S){if(S===void 0)throw new SyntaxError(`JSON value expected ${N()}`)}function C(S){if(S===void 0)throw new SyntaxError(`Array item expected ${N()}`)}function y(){if(r<t.length)throw new SyntaxError(`Expected end of input ${N()}`)}function k(S){if(!Fe(t.charCodeAt(r))){const R=t.slice(S,r);throw new SyntaxError(`Invalid number '${R}', expecting a digit ${N()}`)}}function A(){if(t.charCodeAt(r)!==ct)throw new SyntaxError(`End of string '"' expected ${N()}`)}function L(){throw new SyntaxError(`Quoted object key expected ${N()}`)}function F(S){let{key:R,position:z}=S;throw new SyntaxError(`Duplicate key '${R}' encountered at position ${z}`)}function X(){throw new SyntaxError(`Quoted object key or end of object '}' expected ${N()}`)}function $(){throw new SyntaxError(`Array item or end of array ']' expected ${N()}`)}function te(S){throw new SyntaxError(`Invalid character '${S}' ${B()}`)}function w(S){const R=t.slice(S,S+2);throw new SyntaxError(`Invalid escape character '${R}' ${B()}`)}function D(){throw new SyntaxError(`Object value expected after ':' ${B()}`)}function K(S){const R=t.slice(S,S+6);throw new SyntaxError(`Invalid unicode character '${R}' ${B()}`)}function B(){return`at position ${r}`}function Ve(){return r<t.length?`but got '${t[r]}'`:"but reached end of input"}function N(){return`${Ve()} ${B()}`}}function sr(t){return t===lr||t===ur||t===dr||t===hr}function Le(t){return t>=lt&&t<=ut||t>=yr&&t<=Sr||t>=_r&&t<=Er}function Fe(t){return t>=lt&&t<=ut}function ir(t){return t>=mr&&t<=ut}function nr(t){return t>=32&&t<=1114111}function at(t,e){return t===e?!0:Array.isArray(t)&&Array.isArray(e)?t.length===e.length&&t.every((s,i)=>at(s,e[i])):vs(t)&&vs(e)?[...new Set([...Object.keys(t),...Object.keys(e)])].every(s=>at(t[s],e[s])):!1}function vs(t){return typeof t=="object"&&t!==null}const rr={'"':'"',"\\":"\\","/":"/",b:"\b",f:"\f",n:`
|
|
8
|
-
`,r:"\r",t:" "},or=92,ar=123,Ss=125,cr=91,Es=93,lr=32,ur=10,dr=9,hr=13,ct=34,fr=43,Ts=45,lt=48,mr=49,ut=57,pr=44,gr=46,br=58,yr=65,_r=97,wr=69,vr=101,Sr=70,Er=102;function xs(t,e,s,i){return n(t);function n(c,l){if(Array.isArray(i)){const d=i.find(b=>b.test(c));if(d){const b=d.stringify(c);if(typeof b!="string"||!ys(b))throw new Error(`Invalid JSON number: output of a number stringifier must be a string containing a JSON number (output: ${b})`);return b}}if(typeof c=="boolean"||typeof c=="number"||typeof c=="string"||c===null||c instanceof Date||c instanceof Boolean||c instanceof Number||c instanceof String)return JSON.stringify(c);if(c!=null&&c.isLosslessNumber||typeof c=="bigint")return c.toString();if(Array.isArray(c))return o(c);if(c&&typeof c=="object")return r(c)}function o(c,l){if(c.length===0)return"[]";let d="[";for(let b=0;b<c.length;b++){const _=c[b];typeof _<"u"&&typeof _!="function"?d+=n(_):d+="null",b<c.length-1&&(d+=",")}return d+="]",d}function r(c,l){if(typeof c.toJSON=="function")return xs(c.toJSON(),e,s,void 0);const d=Array.isArray(e)?e.map(String):Object.keys(c);if(d.length===0)return"{}";let b=!0,_="{";for(const m of d){const p=c[m];if(a(m,p)){b?b=!1:_+=",";const h=JSON.stringify(m);_+=`${h}:`,_+=n(p)}}return _+="}",_}function a(c,l){return typeof l<"u"&&typeof l!="function"&&typeof l!="symbol"}}function Tr(t){return ve(t)&&!_s(t)?BigInt(t):parseFloat(t)}class xr{constructor(){Te(this,"id",1)}async exec(e,s,i={},n={},o=6e4){try{await OpenC3Auth.updateToken(OpenC3Auth.defaultMinValidity)&&OpenC3Auth.setTokens()}catch{OpenC3Auth.login()}this.id=this.id+1;try{return i.scope=window.openc3Scope,n.manual=!0,(await as.post("/openc3-api/api",{jsonrpc:"2.0",method:e,params:s,id:this.id,keyword_params:i},{headers:{Authorization:localStorage.openc3Token,"Content-Type":"application/json-rpc",...n},timeout:o,transformRequest:[(r,a)=>xs(r)],transformResponse:[r=>tr(r,void 0,Tr)]})).data.result}catch(r){let a=new Error;throw r.response?(a.name=r.response.data.error.data.class,a.message=r.response.data.error.data.message,a.object=r.response.data.error):r.request?(a.name="Request error",a.message="Request error, no response received"):a=r,a}}decode_openc3_type(e){if(e!==null&&typeof e=="object"&&e.json_class=="Float"&&e.raw){if(e.raw=="NaN")return NaN;if(e.raw=="Infinity")return 1/0;if(e.raw=="-Infinity")return-1/0}return null}encode_openc3_type(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}ensure_offline_access(){this.offline_access_needed().then(e=>{e&&(localStorage.openc3OfflineToken?this.set_offline_access(localStorage.openc3OfflineToken).then(()=>{delete localStorage.openc3OfflineToken}):OpenC3Auth.getOfflineAccess())})}offline_access_needed(){return this.exec("offline_access_needed",[])}set_offline_access(e){return this.exec("set_offline_access",[e])}get_all_interface_info(){return this.exec("get_all_interface_info",[])}map_target_to_interface(e,s,i,n,o){return this.exec("map_target_to_interface",[e,s],{cmd_only:i,tlm_only:n,unmap_old:o})}unmap_target_from_interface(e,s,i,n){return this.exec("unmap_target_from_interface",[e,s],{cmd_only:i,tlm_only:n})}connect_interface(e,...s){return s.length>0?this.exec("connect_interface",[e,...s]):this.exec("connect_interface",[e])}disconnect_interface(e){return this.exec("disconnect_interface",[e])}interface_cmd(e,s,...i){return this.exec("interface_cmd",[e,s,...i])}interface_target_enable(e,s,i=!1,n=!1){return this.exec("interface_target_enable",[e,s],{cmd_only:i,tlm_only:n})}interface_target_disable(e,s,i=!1,n=!1){return this.exec("interface_target_disable",[e,s],{cmd_only:i,tlm_only:n})}interface_details(e){return this.exec("interface_details",[e])}get_all_router_info(){return this.exec("get_all_router_info",[])}map_target_to_router(e,s,i,n,o){return this.exec("map_target_to_router",[e,s],{cmd_only:i,tlm_only:n,unmap_old:o})}unmap_target_from_router(e,s,i,n){return this.exec("unmap_target_from_router",[e,s],{cmd_only:i,tlm_only:n})}connect_router(e){return this.exec("connect_router",[e])}disconnect_router(e){return this.exec("disconnect_router",[e])}router_target_enable(e,s,i=!1,n=!1){return this.exec("router_target_enable",[e,s],{cmd_only:i,tlm_only:n})}router_target_disable(e,s,i=!1,n=!1){return this.exec("router_target_disable",[e,s],{cmd_only:i,tlm_only:n})}router_details(e){return this.exec("router_details",[e])}get_target_interfaces(){return this.exec("get_target_interfaces",[])}get_tlm_cnts(e){return this.exec("get_tlm_cnts",[e])}get_item(e,s,i){return this.exec("get_item",[e,s,i])}get_param(e,s,i){return this.exec("get_param",[e,s,i])}get_parameter(e,s,i){return this.exec("get_param",[e,s,i])}get_limits_sets(){return this.exec("get_limits_sets",[])}get_limits_set(){return this.exec("get_limits_set",[])}set_limits_set(e){return this.exec("set_limits_set",[e])}get_target(e){return this.exec("get_target",[e])}get_target_names(){return this.exec("get_target_names",[])}get_target_list(){return this.exec("get_target_names",[])}get_tlm(e,s){return this.exec("get_tlm",[e,s])}get_telemetry(e,s){return this.exec("get_tlm",[e,s])}get_all_tlm(e){return this.exec("get_all_tlm",[e])}get_all_telemetry(e){return this.exec("get_all_tlm",[e])}get_all_tlm_names(e,s=!1){return this.exec("get_all_tlm_names",[e],{hidden:s})}get_all_telemetry_names(e){return this.exec("get_all_tlm_names",[e])}get_all_tlm_item_names(e){return this.exec("get_all_tlm_item_names",[e])}async get_tlm_packet(e,s,i,n=30){const o=await this.exec("get_tlm_packet",[e,s],{type:i,stale_time:n});if(o!=null){let r=o.length,a=null;for(let c=0;c<r;c++)a=this.decode_openc3_type(o[c][1]),a!==null&&(o[c][1]=a)}return o}get_packet_derived_items(e,s){return this.exec("get_packet_derived_items",[e,s])}get_tlm_buffer(e,s){return this.exec("get_tlm_buffer",[e,s])}get_tlm_available(e){return this.exec("get_tlm_available",[e])}async get_tlm_values(e,s=30,i=null,n=null,o=null){let r={stale_time:s};i!==null&&(r.cache_timeout=i),n!==null&&(r.start_time=n.toISOString()),o!==null&&(r.end_time=o.toISOString());const a=await this.exec("get_tlm_values",[e],r,{},1e4);if(a&&a.length>0){let c=a.length,l=null;for(let d=0;d<c;d++)l=this.decode_openc3_type(a[d][0]),l!==null&&(a[d][0]=l)}return a}get_limits(e,s,i){return this.exec("get_limits",[e,s,i])}async tlm(e,s,i,n="CONVERTED"){let o=null;if(s===void 0)o=await this.exec("tlm",[e]);else if(i===void 0)if(["RAW","CONVERTED","FORMATTED","WITH_UNITS"].includes(s))o=await this.exec("tlm",[e],{type:s});else{let a=new Error;throw a.name="TypeError",a.message=`Invalid data type ${s}. Valid options are RAW, CONVERTED, FORMATTED, and WITH_UNITS.`,a}else o=await this.exec("tlm",[e,s,i],{type:n});let r=this.decode_openc3_type(o);return r!==null&&(o=r),o}async inject_tlm(e,s,i=null,n="CONVERTED"){await this.exec("inject_tlm",[e,s,i],{type:n})}set_tlm(e,s,i,n){return this.exec("set_tlm",[e,s,i],{type:n})}override_tlm(e,s,i,n){return this.exec("override_tlm",[e,s,i],{type:n})}get_overrides(){return this.exec("get_overrides")}normalize_tlm(e,s,i,n){return this.exec("normalize_tlm",[e,s,i],{type:n})}get_all_cmds(e){return this.exec("get_all_cmds",[e])}get_all_commands(e){return this.exec("get_all_cmds",[e])}get_all_cmd_names(e,s=!1){return this.exec("get_all_cmd_names",[e],{hidden:s})}get_all_command_names(e){return this.exec("get_all_cmd_names",[e])}get_cmd(e,s){return this.exec("get_cmd",[e,s])}get_command(e,s){return this.exec("get_cmd",[e,s])}get_cmd_cnts(e){return this.exec("get_cmd_cnts",[e])}get_cmd_value(e,s,i,n="CONVERTED"){return this.exec("get_cmd_value",[e,s,i,n])}get_cmd_buffer(e,s){return this.exec("get_cmd_buffer",[e,s])}_cmd(e,s,i,n,o,r={}){let a=null;for(let c in n)Object.prototype.hasOwnProperty.call(n,c)&&(a=this.encode_openc3_type(n[c]),a!==null&&(n[c]=a));return this.exec(e,[s,i,n],r,o)}get_cmd_hazardous(e,s,i,n={}){return s===void 0?this.exec("get_cmd_hazardous",e,{},n):this._cmd("get_cmd_hazardous",e,s,i,n)}cmd(e,s,i,n={},o={}){return s===void 0?this.exec("cmd",e,o,n):this._cmd("cmd",e,s,i,n,o)}cmd_no_range_check(e,s,i,n={},o={}){return s===void 0?this.exec("cmd_no_range_check",e,o,n):this._cmd("cmd_no_range_check",e,s,i,n,o)}cmd_raw(e,s,i,n={},o={}){return s===void 0?this.exec("cmd_raw",e,o,n):this._cmd("cmd_raw",e,s,i,n,o)}cmd_raw_no_range_check(e,s,i,n={},o={}){return s===void 0?this.exec("cmd_raw_no_range_check",e,o,n):this._cmd("cmd_raw_no_range_check",e,s,i,n,o)}cmd_no_hazardous_check(e,s,i,n={},o={}){return s===void 0?this.exec("cmd_no_hazardous_check",e,o,n):this._cmd("cmd_no_hazardous_check",e,s,i,n,o)}cmd_no_checks(e,s,i,n={},o={}){return s===void 0?this.exec("cmd_no_checks",e,o,n):this._cmd("cmd_no_checks",e,s,i,n,o)}cmd_raw_no_hazardous_check(e,s,i,n={},o={}){return s===void 0?this.exec("cmd_raw_no_hazardous_check",e,o,n):this._cmd("cmd_raw_no_hazardous_check",e,s,i,n,o)}cmd_raw_no_checks(e,s,i,n={},o={}){return s===void 0?this.exec("cmd_raw_no_checks",e,o,n):this._cmd("cmd_raw_no_checks",e,s,i,n,o)}build_cmd(e,s,i,n={},o={}){return s===void 0?this.exec("build_cmd",e,o,n):this._cmd("build_cmd",e,s,i,n,o)}build_command(e,s,i,n={},o={}){return s===void 0?this.exec("build_cmd",e,o,n):this._cmd("build_cmd",e,s,i,n,o)}get_interface_names(){return this.exec("get_interface_names",[])}get_router_names(){return this.exec("get_router_names",[])}send_raw(e,s){return this.exec("send_raw",[e,s])}list_configs(e){return this.exec("list_configs",[e])}load_config(e,s){return this.exec("load_config",[e,s])}save_config(e,s,i){return this.exec("save_config",[e,s,i])}delete_config(e,s){return this.exec("delete_config",[e,s])}enable_limits(e,s,i){return this.exec("enable_limits",[e,s,i])}disable_limits(e,s,i){return this.exec("disable_limits",[e,s,i])}get_out_of_limits(){return this.exec("get_out_of_limits",[])}get_overall_limits_state(e){return this.exec("get_overall_limits_state",[e])}list_settings(){return this.exec("list_settings",[])}get_all_settings(){return this.exec("get_all_settings",[])}get_setting(e,s){return this.exec("get_setting",[e],s)}get_settings(e,s){return this.exec("get_settings",e,s)}set_setting(e,s){return this.exec("set_setting",[e,s])}update_news(){return this.exec("update_news",[])}update_plugin_store(){return this.exec("update_plugin_store",[])}save_setting(e,s){return this.exec("set_setting",[e,s])}get_metrics(){return this.exec("get_metrics",[])}async hashString(e){if(window.isSecureContext){const s=new TextEncoder().encode(e),i=await crypto.subtle.digest("SHA-256",s),n=new Uint8Array(i);return Array.from(n).map(o=>o.toString(16).padStart(2,"0")).join("")}}}let Me=[];const Cr={components:{OpenConfigDialog:bt,SaveConfigDialog:gt,TargetPacketItemChooser:vt,TopBar:Ps},mixins:[mt,pt],data(){return{title:"Data Extractor",configKey:"data_extractor",openConfig:!1,saveConfig:!1,api:null,timeZone:"local",progress:0,packetsReceived:0,totalPacketsReceived:0,itemsReceived:0,totalItemsReceived:0,processButtonText:"Process",todaysDate:null,startDate:null,startTime:null,endTime:null,endDate:null,startDateTime:null,endDateTime:null,startDateTimeFilename:"",rules:{required:t=>!!t||"Required"},cmdOrTlm:"tlm",items:[],search:"",headers:[{title:"Target",value:"targetName"},{title:"Packet",value:"packetName"},{title:"Item",value:"itemName"},{title:"Mode",value:"mode"},{title:"ValueType",value:"valueType"},{title:"ReducedType",value:"reducedType"},{title:"Edit",value:"edit"},{title:"Delete",value:"delete"}],itemsPerPage:20,columnMap:{},delimiter:",",columnMode:"normal",fileCount:0,skipIgnored:!0,fillDown:!1,matlabHeader:!1,uniqueOnly:!1,keyMap:{},modes:["DECOM","REDUCED_MINUTE","REDUCED_HOUR","REDUCED_DAY"],valueTypes:["CONVERTED","RAW","FORMATTED","WITH_UNITS"],reducedTypes:["SAMPLE","MIN","MAX","AVG","STDDEV"],editAll:!1,allItemMode:"DECOM",allItemValueType:"CONVERTED",allItemReducedType:"SAMPLE",cable:new Hn,subscription:null}},computed:{menus:function(){return[{label:"File",items:[{label:"Open Configuration",icon:"mdi-folder-open",command:()=>{this.openConfig=!0}},{label:"Save Configuration",icon:"mdi-content-save",command:()=>{this.saveConfig=!0}},{label:"Reset Configuration",icon:"mdi-monitor-shimmer",command:()=>{this.resetConfig(),this.resetConfigBase()}},{divider:!0},{radioGroup:!0,value:this.delimiter,command:t=>{this.delimiter=t},choices:[{label:"Comma Delimited",value:","},{label:"Tab Delimited",value:" "}]}]},{label:"Mode",items:[{label:"Fill Down",checkbox:!0,checked:this.fillDown,command:()=>{this.fillDown=!this.fillDown}},{label:"Matlab Header",checkbox:!0,checked:this.matlabHeader,command:t=>{this.matlabHeader=!this.matlabHeader}},{label:"Unique Only",checkbox:!0,checked:this.uniqueOnly,command:t=>{this.uniqueOnly=!this.uniqueOnly}},{divider:!0},{radioGroup:!0,value:this.columnMode,command:t=>{this.columnMode=t},choices:[{label:"Normal Columns",value:"normal"},{label:"Full Column Names",value:"full"}]}]}]},currentConfig:function(){return{delimiter:this.delimiter,fillDown:this.fillDown,matlabHeader:this.matlabHeader,uniqueOnly:this.uniqueOnly,columnMode:this.columnMode,cmdOrTlm:this.cmdOrTlm,items:this.items,itemsPerPage:this.itemsPerPage}}},watch:{delimiter:function(){this.saveDefaultConfig(this.currentConfig)},fillDown:function(){this.saveDefaultConfig(this.currentConfig)},matlabHeader:function(){this.saveDefaultConfig(this.currentConfig)},uniqueOnly:function(){this.saveDefaultConfig(this.currentConfig)},columnNode:function(){this.saveDefaultConfig(this.currentConfig)},cmdOrTlm:function(){this.items.length===0?this.saveDefaultConfig(this.currentConfig):this.items=[]},items:{handler:function(){this.saveDefaultConfig(this.currentConfig)},deep:!0},itemsPerPage:function(){this.saveDefaultConfig(this.currentConfig)}},async created(){this.api=new xr,await this.api.get_setting("time_zone").then(e=>{e&&(this.timeZone=e)}).catch(e=>{});let t=new Date;this.todaysDate=this.formatDate(t,this.timeZone),this.startDate=this.formatDate(t-36e5,this.timeZone),this.startTime=this.formatTimeHMS(t-36e5,this.timeZone),this.endTime=this.formatTimeHMS(t,this.timeZone),this.endDate=this.formatDate(t,this.timeZone)},mounted:function(){if(this.$route.query&&this.$route.query.config)this.openConfiguration(this.$route.query.config,!0);else{let t=this.loadDefaultConfig();JSON.stringify(t)!=="{}"&&this.applyConfig(t)}},unmounted:function(){this.subscription&&this.subscription.unsubscribe(),this.cable.disconnect()},methods:{resetConfig:function(){this.delimiter=",",this.fillDown=!1,this.matlabHeader=!1,this.uniqueOnly=!1,this.columnMode="normal";let t=new Date;this.startDate=this.formatDate(t-36e5,this.timeZone),this.startTime=this.formatTimeHMS(t-36e5,this.timeZone),this.endTime=this.formatTimeHMS(t,this.timeZone),this.endDate=this.formatDate(t,this.timeZone),this.cmdOrTlm="tlm",this.items=[],this.itemsPerPage=20,this.applyConfig(this.currentConfig)},applyConfig:function(t){this.delimiter=t.delimiter||",",this.menus[0].radioGroup=this.delimiter===","?"Comma Delimited":"Tab Delimited",this.fillDown=t.fillDown,this.menus[1].items[0].checked=this.fillDown||!1,this.matlabHeader=t.matlabHeader,this.menus[1].items[1].checked=this.matlabHeader||!1,this.uniqueOnly=t.uniqueOnly,this.menus[1].items[2].checked=this.uniqueOnly||!1,this.columnMode=t.columnMode,this.menus[1].radioGroup=this.columnMode==="normal"?"Normal Columns":"Full Column Names",this.cmdOrTlm=t.cmdOrTlm,this.items=t.items,this.itemsPerPage=t.itemsPerPage},openConfiguration:function(t,e=!1){this.openConfigBase(t,e,s=>{this.applyConfig(s),this.startDate=s.startDate,this.startTime=s.startTime,this.endTime=s.endTime,this.endDate=s.endDate,this.saveDefaultConfig(this.currentConfig)})},saveConfiguration:function(t){let e=this.currentConfig;e.startDate=this.startDate,e.startTime=this.startTime,e.endTime=this.endTime,e.endDate=this.endDate,this.saveConfigBase(t,e)},addItem:function(t){for(const e of this.items)if(e.itemName===t.itemName&&e.packetName===t.packetName&&e.targetName===t.targetName&&e.valueType==="CONVERTED"&&e.reducedType==="SAMPLE"&&e.mode==="DECOM"){this.$notify.caution({body:"This item has already been added!"});return}t.cmdOrTlm=this.cmdOrTlm.toUpperCase(),t.edit=!1,t.valueType="CONVERTED",t.reducedType="SAMPLE",t.mode="DECOM",this.items.push(t)},deleteItem:function(t){let e=this.items.indexOf(t);this.items.splice(e,1)},deleteAll:function(){this.items=[]},editAllItems:function(){this.editAll=!1;for(let t of this.items)t.mode=this.allItemMode,t.valueType=this.allItemValueType,t.reducedType=this.allItemReducedType},getItemLabel:function(t){let e=[`${t.targetName} - ${t.packetName} - ${t.itemName}`];return t.mode!=="DECOM"&&e.push(`{ ${t.mode} }`),t.valueType!=="CONVERTED"&&e.push(`( ${t.valueType} )`),t.reducedType!=="SAMPLE"&&e.push(`[ ${t.reducedType} ]`),e.join(" ")},setTimestamps:function(){this.startDateTimeFilename=this.startDate+"_"+this.startTime,this.startDateTimeFilename=this.startDateTimeFilename.replace(/(:|-|\.)\s*/g,"_");let t,e;try{this.timeZone==="local"?(t=new Date(this.startDate+" "+this.startTime),e=new Date(this.endDate+" "+this.endTime)):(t=new Date(this.startDate+" "+this.startTime+"Z"),e=new Date(this.endDate+" "+this.endTime+"Z"),this.startDateTimeFilename+="_UTC")}catch{return}this.startDateTime=t.getTime()*1e6,this.endDateTime=e.getTime()*1e6},processItems:function(){if(this.processButtonText==="Cancel"){this.finished();return}if(this.setTimestamps(),!this.startDateTime||!this.endDateTime){this.$notify.caution({body:"Invalid date/time selected!"});return}if(this.startDateTime===this.endDateTime){this.$notify.caution({body:"Start date/time is equal to end date/time!"});return}if(this.endDateTime-this.startDateTime<0){this.$notify.caution({body:"Start date/time is greater then end date/time!"});return}new Date(this.endDateTime/1e6)>Date.now()&&this.$notify.caution({title:"Note",body:`End date/time is greater than current date/time. Data will
|
|
9
|
-
continue to stream in real-time until
|
|
10
|
-
${new Date(this.endDateTime/1e6).toISOString()} is reached.`}),this.progress=0,this.processButtonText="Cancel",this.cable.createSubscription("StreamingChannel",window.openc3Scope,{received:t=>this.received(t),connected:()=>this.onConnected(),disconnected:t=>{t.allowReconnect&&this.$notify.caution({body:"OpenC3 backend connection disconnected."})},rejected:()=>{this.$notify.caution({body:"OpenC3 backend connection rejected."})}}).then(t=>{this.subscription=t})},resetAllVars:function(){this.fileCount=0,this.totalPacketsReceived=0,this.totalItemsReceived=0,this.columnHeaders=[],this.columnMap={},this.keyMap={},this.resetPerFileVars()},resetPerFileVars:function(){Me=[],this.packetsReceived=0,this.itemsReceived=0},onConnected:function(){this.resetAllVars();let t=[];this.items.forEach((e,s)=>{let i=`${e.mode}__${e.cmdOrTlm}__${e.targetName}__${e.packetName}__${e.itemName}__${e.valueType}`;e.reducedType!=="SAMPLE"&&(i=i+"__"+e.reducedType);let n=String(s);this.keyMap[n]=i,t.push([i,n])}),OpenC3Auth.updateToken(OpenC3Auth.defaultMinValidity).then(e=>{e&&OpenC3Auth.setTokens(),this.subscription.perform("add",{scope:window.openc3Scope,token:localStorage.openc3Token,items:t,start_time:this.startDateTime,end_time:this.endDateTime})})},received:function(t){if(this.cable.recordPing(),t.error){this.$notify.serious({body:t.error});return}if(this.packetsReceived+=t.length,this.totalPacketsReceived+=t.length,t.length>0){let e=new Set;for(let n of t){let o=Object.keys(n);o.forEach(e.add,e),this.itemsReceived+=o.length-2,this.totalItemsReceived+=o.length-2}e.delete("__type"),e.delete("__time"),this.buildHeaders([...e]),Me.push(t),this.progress=Math.ceil(100*(t[0].__time-this.startDateTime)/(this.endDateTime-this.startDateTime)),this.columnHeaders.length*this.packetsReceived+this.itemsReceived*8>1e8&&this.createFile()}else this.finished();t=null},buildHeaders:function(t){this.columnHeaders.length===0&&this.columnMode==="normal"&&(this.columnHeaders.push("TIME"),this.columnHeaders.push("TARGET"),this.columnHeaders.push("PACKET")),t.forEach(e=>{if(e.slice(0,2)==="__"||this.columnMap[e])return;this.columnMap[e]=this.columnHeaders.length,e=this.keyMap[e];const[s,i,n,o,r,a,c]=e.split("__");let l=r;this.columnMode==="full"&&(l=n+" "+o+" "+r),s&&s!=="DECOM"&&(l=l+" {"+s+"}"),a&&a!=="CONVERTED"&&(l=l+" ("+a+")"),c&&(l=l+" ["+c+"]"),this.columnHeaders.push(l)})},createFile:async function(){let t=Me.flat(),e=this.columnHeaders,s=this.columnMap,i=[];this.resetPerFileVars();let n="";this.matlabHeader&&(n+="% "),n+=e.join(this.delimiter),i.push(n),await this.yieldToMain(),t.sort((m,p)=>m.__time-p.__time),await this.yieldToMain();let o=[],r=[],a=null,c=0;for(let m of t){let p=!1;this.fillDown&&a?r=[...a]:r=[];let h="";if(Object.keys(m).forEach(v=>{if(v.slice(0,2)==="__")return;h=v;let T=s[v];if(typeof m[v]=="object")if(m[v]===null)r[T]="";else if(Array.isArray(m[v]))r[T]='"['+m[v]+']"';else{let C=m[v].raw;if(Array.isArray(C)){let y="0x";C.forEach(k=>{y+=k.toString(16).padStart(2,"0").toUpperCase()}),r[T]=y}else r[T]="'"+C+"'"}else r[T]=m[v];this.uniqueOnly&&o[T]!==r[T]&&(p=!0),o[T]=r[T]}),this.fillDown&&(a=[...r]),!this.uniqueOnly||p){if(this.columnMode==="normal"){h=this.keyMap[h];const[v,T,C,y,k,A,L]=h.split("__");r[0]=new Date(m.__time/1e6).toISOString(),r[1]=C,r[2]=y}i.push(r.join(this.delimiter))}c+=1,c%1e3==0&&await this.yieldToMain()}let l=".csv",d="text/csv";this.delimiter===" "&&(l=".txt",d="text/tab-separated-values"),await this.yieldToMain();const b=new Blob([i.join(`
|
|
11
|
-
`)],{type:d});await this.yieldToMain();const _=document.createElement("a");_.href=URL.createObjectURL(b),_.setAttribute("download",this.startDateTimeFilename+"_"+this.fileCount+l),_.click(),this.fileCount+=1},yieldToMain:function(){return new Promise(t=>{setTimeout(t,0)})},finished:async function(){if(this.progress=95,this.subscription.unsubscribe(),Me.length!==0)await this.createFile();else if(this.fileCount===0){let t=new Date(this.startDateTime/1e6).toISOString(),e=new Date(this.endDateTime/1e6).toISOString();this.$notify.caution({body:`No data found for the items in the requested time range of ${t} to ${e}`})}this.progress=100,this.processButtonText="Process"}}};function Or(t,e,s,i,n,o){const r=x("top-bar"),a=x("v-text-field"),c=x("v-col"),l=x("v-row"),d=x("v-radio"),b=x("v-radio-group"),_=x("target-packet-item-chooser"),m=x("v-container"),p=x("v-progress-circular"),h=x("v-spacer"),v=x("v-btn"),T=x("v-toolbar"),C=x("v-card-title"),y=x("v-select"),k=x("v-card-text"),A=x("v-card-actions"),L=x("v-card"),F=x("v-dialog"),X=x("v-data-table"),$=x("open-config-dialog"),te=x("save-config-dialog");return I(),ee("div",null,[f(r,{menus:o.menus,title:n.title},null,8,["menus","title"]),f(L,null,{default:g(()=>[f(m,null,{default:g(()=>[f(l,null,{default:g(()=>[f(c,null,{default:g(()=>[f(a,{modelValue:n.startDate,"onUpdate:modelValue":e[0]||(e[0]=w=>n.startDate=w),label:"Start Date",type:"date",max:n.todaysDate,rules:[n.rules.required],"data-test":"start-date"},null,8,["modelValue","max","rules"])]),_:1}),f(c,null,{default:g(()=>[f(a,{modelValue:n.startTime,"onUpdate:modelValue":e[1]||(e[1]=w=>n.startTime=w),label:"Start Time",type:"time",step:"1",rules:[n.rules.required],"data-test":"start-time"},null,8,["modelValue","rules"])]),_:1}),f(c,null,{default:g(()=>[f(a,{modelValue:n.endDate,"onUpdate:modelValue":e[2]||(e[2]=w=>n.endDate=w),label:"End Date",type:"date",max:n.todaysDate,rules:[n.rules.required],"data-test":"end-date"},null,8,["modelValue","max","rules"])]),_:1}),f(c,null,{default:g(()=>[f(a,{modelValue:n.endTime,"onUpdate:modelValue":e[3]||(e[3]=w=>n.endTime=w),label:"End Time",type:"time",step:"1",rules:[n.rules.required],"data-test":"end-time"},null,8,["modelValue","rules"])]),_:1})]),_:1}),f(l,{"no-gutters":""},{default:g(()=>[f(c,null,{default:g(()=>[f(b,{modelValue:n.cmdOrTlm,"onUpdate:modelValue":e[4]||(e[4]=w=>n.cmdOrTlm=w),inline:"","hide-details":"",class:"mt-0"},{default:g(()=>[f(d,{label:"Command",value:"cmd","data-test":"cmd-radio"}),f(d,{label:"Telemetry",value:"tlm","data-test":"tlm-radio"})]),_:1},8,["modelValue"])]),_:1})]),_:1}),f(l,null,{default:g(()=>[f(c,null,{default:g(()=>[f(_,{"button-text":"Add Item",mode:n.cmdOrTlm,hidden:!0,"choose-item":"","allow-all":"",onAddItem:e[5]||(e[5]=w=>o.addItem(w))},null,8,["mode"])]),_:1})]),_:1})]),_:1}),f(T,{class:"pl-3"},{default:g(()=>[f(p,{"model-value":n.progress},null,8,["model-value"]),M(" Processed: "+Z(n.totalPacketsReceived)+" packets, "+Z(n.totalItemsReceived)+" items ",1),f(h),f(v,{class:"bg-primary",disabled:n.items.length<1,onClick:o.processItems},{default:g(()=>[M(Z(n.processButtonText),1)]),_:1},8,["disabled","onClick"]),f(h),f(v,{icon:"mdi-pencil-box-multiple",variant:"text",density:"compact",disabled:n.items.length<1,"data-test":"editAll","aria-label":"Edit All Items",onClick:e[6]||(e[6]=w=>n.editAll=!0)},null,8,["disabled"]),f(v,{icon:"mdi-delete-sweep",variant:"text",density:"compact",disabled:n.items.length<1,"data-test":"delete-all","aria-label":"Delete All Items",onClick:o.deleteAll},null,8,["disabled","onClick"])]),_:1}),f(L,{width:"100%"},{default:g(()=>[f(C,null,{default:g(()=>[e[18]||(e[18]=M(" Items ",-1)),f(h),f(a,{modelValue:n.search,"onUpdate:modelValue":e[7]||(e[7]=w=>n.search=w),label:"Search","prepend-inner-icon":"mdi-magnify",clearable:"",variant:"outlined",density:"compact","single-line":"","hide-details":"",class:"search"},null,8,["modelValue"])]),_:1}),f(X,{"items-per-page":n.itemsPerPage,"onUpdate:itemsPerPage":e[8]||(e[8]=w=>n.itemsPerPage=w),headers:n.headers,items:n.items,search:n.search,"items-per-page-options":[10,20,50,100,-1],"multi-sort":"",density:"compact"},{"item.edit":g(({item:w})=>[f(v,{icon:"mdi-pencil",variant:"text","data-test":"edit-row","aria-label":"Edit Item",onClick:wt(D=>w.edit=!0,["stop"])},null,8,["onClick"]),f(F,{modelValue:w.edit,"onUpdate:modelValue":D=>w.edit=D,"max-width":"600",persistent:"",onKeydown:ze(D=>w.edit=!1,["esc"])},{default:g(()=>[f(L,null,{default:g(()=>[f(T,{height:"24"},{default:g(()=>[f(h),e[19]||(e[19]=Ee("span",null," DataExtractor: Edit Item Mode ",-1)),f(h)]),_:1}),f(k,null,{default:g(()=>[f(l,{class:"mt-3 title-font"},{default:g(()=>[f(c,null,{default:g(()=>[M(Z(o.getItemLabel(w)),1)]),_:2},1024)]),_:2},1024),f(l,null,{default:g(()=>[f(c,null,{default:g(()=>[f(y,{modelValue:w.mode,"onUpdate:modelValue":D=>w.mode=D,"hide-details":"",items:n.modes,label:"Mode",variant:"outlined"},null,8,["modelValue","onUpdate:modelValue","items"])]),_:2},1024)]),_:2},1024),f(l,null,{default:g(()=>[f(c,null,{default:g(()=>[f(y,{modelValue:w.valueType,"onUpdate:modelValue":D=>w.valueType=D,"hide-details":"",items:n.valueTypes,label:"Value Type",variant:"outlined"},null,8,["modelValue","onUpdate:modelValue","items"])]),_:2},1024)]),_:2},1024),f(l,null,{default:g(()=>[f(c,null,{default:g(()=>[f(y,{modelValue:w.reducedType,"onUpdate:modelValue":D=>w.reducedType=D,"hide-details":"",items:n.reducedTypes,label:"Reduced Type",variant:"outlined"},null,8,["modelValue","onUpdate:modelValue","items"])]),_:2},1024)]),_:2},1024)]),_:2},1024),f(A,{class:"px-2"},{default:g(()=>[f(h),f(v,{variant:"flat",onClick:D=>w.edit=!1},{default:g(()=>[...e[20]||(e[20]=[M(" Close ",-1)])]),_:1},8,["onClick"])]),_:2},1024)]),_:2},1024)]),_:2},1032,["modelValue","onUpdate:modelValue","onKeydown"])]),"item.delete":g(({item:w})=>[f(v,{icon:"mdi-delete",variant:"text","data-test":"delete-row","aria-label":"Delete Item",onClick:D=>o.deleteItem(w)},null,8,["onClick"])]),_:1},8,["items-per-page","headers","items","search"])]),_:1})]),_:1}),f(F,{modelValue:n.editAll,"onUpdate:modelValue":e[14]||(e[14]=w=>n.editAll=w),"max-width":"600",persistent:"",onKeydown:e[15]||(e[15]=ze(w=>n.editAll=!1,["esc"]))},{default:g(()=>[f(L,null,{default:g(()=>[f(T,{height:"24"},{default:g(()=>[f(h),e[21]||(e[21]=Ee("span",null," DataExtractor: Edit All Items",-1)),f(h)]),_:1}),f(k,null,{default:g(()=>[f(l,{class:"mt-3"},{default:g(()=>[f(c,null,{default:g(()=>[...e[22]||(e[22]=[M(" This will change all items to the following data type! ",-1)])]),_:1})]),_:1}),f(l,null,{default:g(()=>[f(c,null,{default:g(()=>[f(y,{modelValue:n.allItemMode,"onUpdate:modelValue":e[9]||(e[9]=w=>n.allItemMode=w),"hide-details":"",items:n.modes,label:"Mode",variant:"outlined"},null,8,["modelValue","items"])]),_:1})]),_:1}),f(l,null,{default:g(()=>[f(c,null,{default:g(()=>[f(y,{modelValue:n.allItemValueType,"onUpdate:modelValue":e[10]||(e[10]=w=>n.allItemValueType=w),"hide-details":"",items:n.valueTypes,label:"Value Type",variant:"outlined"},null,8,["modelValue","items"])]),_:1})]),_:1}),f(l,null,{default:g(()=>[f(c,null,{default:g(()=>[f(y,{modelValue:n.allItemReducedType,"onUpdate:modelValue":e[11]||(e[11]=w=>n.allItemReducedType=w),"hide-details":"",items:n.reducedTypes,label:"Reduced Type",variant:"outlined"},null,8,["modelValue","items"])]),_:1})]),_:1})]),_:1}),f(A,{class:"px-2"},{default:g(()=>[f(h),f(v,{variant:"outlined",onClick:e[12]||(e[12]=w=>n.editAll=!1)},{default:g(()=>[...e[23]||(e[23]=[M(" Cancel ",-1)])]),_:1}),f(v,{variant:"flat",disabled:!n.allItemValueType,onClick:e[13]||(e[13]=w=>o.editAllItems())},{default:g(()=>[...e[24]||(e[24]=[M(" Ok ",-1)])]),_:1},8,["disabled"])]),_:1})]),_:1})]),_:1},8,["modelValue"]),n.openConfig?(I(),j($,{key:0,modelValue:n.openConfig,"onUpdate:modelValue":e[16]||(e[16]=w=>n.openConfig=w),"config-key":n.configKey,onSuccess:o.openConfiguration},null,8,["modelValue","config-key","onSuccess"])):ce("",!0),n.saveConfig?(I(),j(te,{key:1,modelValue:n.saveConfig,"onUpdate:modelValue":e[17]||(e[17]=w=>n.saveConfig=w),"config-key":n.configKey,onSuccess:o.saveConfiguration},null,8,["modelValue","config-key","onSuccess"])):ce("",!0)])}const zr=ks("default",ft(Cr,[["render",Or],["__scopeId","data-v-daccc1f1"]]))}}});
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
System.register(["./Widget-VCl8Ts8s-95d14cdc312d1d87d6e4.js","./main-651b12795c7d3f57ff0a.js","vue","vue-router","single-spa","vuex","vuetify"],function(d,V){"use strict";var l,a,n,s,r,u,o;return{setters:[e=>{l=e.o},e=>{a=e.d,n=e.R},e=>{s=e.resolveComponent,r=e.createBlock,u=e.openBlock,o=e.normalizeStyle},null,null,null,null],execute:function(){const e={mixins:[l,n],data(){return{label:"Date",dateValue:""}},created(){this.parameters[0]&&(this.label=this.parameters[0]),this.dateValue=this.formatDate(new Date,this.screenTimeZone)},methods:{text(){return this.dateValue},date(){return this.dateValue}}};function c(m,i,v,y,t,b){const h=s("v-text-field");return u(),r(h,{modelValue:t.dateValue,"onUpdate:modelValue":i[0]||(i[0]=p=>t.dateValue=p),label:t.label,style:o(m.computedStyle),type:"date","hide-details":""},null,8,["modelValue","label","style"])}const f=d("default",a(e,[["render",c]]))}}});
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
System.register(["./main-651b12795c7d3f57ff0a.js","vue"],function(C,P){"use strict";var w,L,m,o,r,e,t,N,s,u,h,g,k,V;return{setters:[c=>{w=c.d,L=c.B},c=>{m=c.resolveComponent,o=c.createBlock,r=c.openBlock,e=c.withCtx,t=c.createVNode,N=c.createElementVNode,s=c.createTextVNode,u=c.toDisplayString,h=c.createCommentVNode,g=c.createElementBlock,k=c.Fragment,V=c.renderList}],execute:function(){const c={props:{type:{default:"tlm",validator:function(d){return["cmd","tlm"].indexOf(d)!==-1}},targetName:String,packetName:String,itemName:String,modelValue:Boolean},data(){return{details:Object,available:null,updater:null,rawValue:null,convertedValue:null,formattedValue:null,unitsValue:null}},computed:{show:{get(){return this.modelValue},set(d){this.$emit("update:modelValue",d)}}},watch:{modelValue:function(d,a){d?(this.requestDetails(),this.type==="tlm"&&(this.updater=setInterval(()=>{this.available&&this.details&&this.api.get_tlm_values(this.available).then(_=>{for(let p of _){let i=null;if(p[0].json_class==="String"&&p[0].raw!==void 0?i=p[0].raw:this.details.data_type==="BLOCK"&&(i=p[0]),i!==null){i=i.slice(0,parseInt(this.details.bit_size)/8);let b=!1;i.length>64&&(b=!0),p[0]=Array.from(i.slice(0,64),function(v){return v===" "?"20":("0"+(v&255).toString(16)).slice(-2)}).join(" ").toUpperCase(),b&&(p[0]+="...")}}this.details.data_type.includes("INT")&&!this.details.array_size?this.rawValue=`${_[0][0]} (0x${_[0][0].toString(16).toUpperCase()})`:this.rawValue=_[0][0],this.convertedValue=_[1][0],this.formattedValue=_[2][0],this.unitsValue=_[3][0]})},1e3))):(clearInterval(this.updater),this.updater=null)}},created(){this.api=new L},beforeUnmount(){clearInterval(this.updater),this.updater=null},methods:{hasLimits(d){let a=!1;return d.limits.DEFAULT&&(a=!0),d.states&&Object.getOwnPropertyNames(d.states).forEach(_=>{d.states[_].color&&(a=!0)}),a},async requestDetails(){this.type==="tlm"?this.api.get_tlm_available([`${this.targetName}__${this.packetName}__${this.itemName}__RAW`,`${this.targetName}__${this.packetName}__${this.itemName}__CONVERTED`,`${this.targetName}__${this.packetName}__${this.itemName}__FORMATTED`,`${this.targetName}__${this.packetName}__${this.itemName}__WITH_UNITS`]).then(d=>{d&&d.length>0&&(this.available=d),this.api.get_item(this.targetName,this.packetName,this.itemName).then(a=>{this.details=a,this.hasLimits(a)||(this.details.limits=null)})}):this.api.get_parameter(this.targetName,this.packetName,this.itemName).then(d=>{this.details=d})},async changeLimitsEnabled(){this.details.limits.enabled?await this.api.enable_limits(this.targetName,this.packetName,this.itemName):await this.api.disable_limits(this.targetName,this.packetName,this.itemName)},formatLimit(d){return d.hasOwnProperty("green_low")?"RL/"+d.red_low+" YL/"+d.yellow_low+" YH/"+d.yellow_high+" RH/"+d.red_high+" GL/"+d.green_low+" GH/"+d.green_high:d.hasOwnProperty("red_low")?"RL/"+d.red_low+" YL/"+d.yellow_low+" YH/"+d.yellow_high+" RH/"+d.red_high:d}}},S={key:5},$={key:7},E={key:3},B={key:9};function x(d,a,_,p,i,b){const v=m("v-spacer"),D=m("v-toolbar"),T=m("v-card-title"),U=m("v-card-subtitle"),l=m("v-col"),n=m("v-row"),I=m("v-switch"),O=m("v-container"),R=m("v-card-text"),z=m("v-card"),A=m("v-dialog");return r(),o(A,{modelValue:b.show,"onUpdate:modelValue":a[1]||(a[1]=y=>b.show=y),width:"700"},{default:e(()=>[t(z,null,{default:e(()=>[t(D,{height:24},{default:e(()=>[t(v),a[2]||(a[2]=N("span",null," Details ",-1)),t(v)]),_:1}),t(T,null,{default:e(()=>[s(u(_.targetName)+" "+u(_.packetName)+" "+u(_.itemName),1)]),_:1}),t(U,null,{default:e(()=>[s(u(i.details.description),1)]),_:1}),t(R,null,{default:e(()=>[t(O,{fluid:""},{default:e(()=>[_.type==="tlm"?(r(),o(n,{key:0,"no-gutters":""},{default:e(()=>[t(l,{cols:"5",class:"label"},{default:e(()=>[...a[3]||(a[3]=[s("Item Values",-1)])]),_:1}),t(l)]),_:1})):h("",!0),t(n,{"no-gutters":""},{default:e(()=>[t(l,{cols:"1"}),t(l,{cols:"4",class:"label"},{default:e(()=>[...a[4]||(a[4]=[s("Raw Value",-1)])]),_:1}),t(l,null,{default:e(()=>[s(u(i.rawValue),1)]),_:1})]),_:1}),t(n,{"no-gutters":""},{default:e(()=>[t(l,{cols:"1"}),t(l,{cols:"4",class:"label"},{default:e(()=>[...a[5]||(a[5]=[s("Converted Value",-1)])]),_:1}),t(l,null,{default:e(()=>[s(u(i.convertedValue),1)]),_:1})]),_:1}),t(n,{"no-gutters":""},{default:e(()=>[t(l,{cols:"1"}),t(l,{cols:"4",class:"label"},{default:e(()=>[...a[6]||(a[6]=[s("Formatted Value",-1)])]),_:1}),t(l,null,{default:e(()=>[s(u(i.formattedValue),1)]),_:1})]),_:1}),t(n,{"no-gutters":""},{default:e(()=>[t(l,{cols:"1"}),t(l,{cols:"4",class:"label"},{default:e(()=>[...a[7]||(a[7]=[s("With Units Value",-1)])]),_:1}),t(l,null,{default:e(()=>[s(u(i.unitsValue),1)]),_:1})]),_:1}),t(n,{"no-gutters":""},{default:e(()=>[t(l,{cols:"5",class:"label"},{default:e(()=>[...a[8]||(a[8]=[s("Bit Offset",-1)])]),_:1}),t(l,null,{default:e(()=>[s(u(i.details.bit_offset),1)]),_:1})]),_:1}),t(n,{"no-gutters":""},{default:e(()=>[t(l,{cols:"5",class:"label"},{default:e(()=>[...a[9]||(a[9]=[s("Bit Size",-1)])]),_:1}),t(l,null,{default:e(()=>[s(u(i.details.bit_size),1)]),_:1})]),_:1}),i.details.array_size?(r(),o(n,{key:1,"no-gutters":""},{default:e(()=>[t(l,{cols:"5",class:"label"},{default:e(()=>[...a[10]||(a[10]=[s("Array Size",-1)])]),_:1}),t(l,null,{default:e(()=>[s(u(i.details.array_size),1)]),_:1})]),_:1})):h("",!0),t(n,{"no-gutters":""},{default:e(()=>[t(l,{cols:"5",class:"label"},{default:e(()=>[...a[11]||(a[11]=[s("Data Type",-1)])]),_:1}),t(l,null,{default:e(()=>[s(u(i.details.data_type),1)]),_:1})]),_:1}),_.type==="cmd"?(r(),o(n,{key:2,"no-gutters":""},{default:e(()=>[t(l,{cols:"5",class:"label"},{default:e(()=>[...a[12]||(a[12]=[s("Minimum",-1)])]),_:1}),t(l,null,{default:e(()=>[s(u(i.details.minimum),1)]),_:1})]),_:1})):h("",!0),_.type==="cmd"?(r(),o(n,{key:3,"no-gutters":""},{default:e(()=>[t(l,{cols:"5",class:"label"},{default:e(()=>[...a[13]||(a[13]=[s("Maximum",-1)])]),_:1}),t(l,null,{default:e(()=>[s(u(i.details.maximum),1)]),_:1})]),_:1})):h("",!0),_.type==="cmd"?(r(),o(n,{key:4,"no-gutters":""},{default:e(()=>[t(l,{cols:"5",class:"label"},{default:e(()=>[...a[14]||(a[14]=[s("Default",-1)])]),_:1}),t(l,null,{default:e(()=>[s(u(i.details.default),1)]),_:1})]),_:1})):h("",!0),t(n,{"no-gutters":""},{default:e(()=>[t(l,{cols:"5",class:"label"},{default:e(()=>[...a[15]||(a[15]=[s("Format String",-1)])]),_:1}),t(l,null,{default:e(()=>[s(u(i.details.format_string),1)]),_:1})]),_:1}),t(n,{"no-gutters":""},{default:e(()=>[t(l,{cols:"5",class:"label"},{default:e(()=>[...a[16]||(a[16]=[s("Read Conversion",-1)])]),_:1}),i.details.read_conversion?(r(),o(l,{key:0},{default:e(()=>[s(" Class: "+u(i.details.read_conversion.class)+" ",1),a[17]||(a[17]=N("br",null,null,-1)),s(" Params: "+u(i.details.read_conversion.params),1)]),_:1})):(r(),o(l,{key:1}))]),_:1}),t(n,{"no-gutters":""},{default:e(()=>[t(l,{cols:"5",class:"label"},{default:e(()=>[...a[18]||(a[18]=[s("Write Conversion",-1)])]),_:1}),i.details.write_conversion?(r(),o(l,{key:0},{default:e(()=>[s(" Class: "+u(i.details.write_conversion.class)+" ",1),a[19]||(a[19]=N("br",null,null,-1)),s(" Params: "+u(i.details.write_conversion.params),1)]),_:1})):(r(),o(l,{key:1}))]),_:1}),t(n,{"no-gutters":""},{default:e(()=>[t(l,{cols:"5",class:"label"},{default:e(()=>[...a[20]||(a[20]=[s("Id Value",-1)])]),_:1}),t(l,null,{default:e(()=>[s(u(i.details.id_value),1)]),_:1})]),_:1}),t(n,{"no-gutters":""},{default:e(()=>[t(l,{cols:"5",class:"label"},{default:e(()=>[...a[21]||(a[21]=[s("Units Full",-1)])]),_:1}),t(l,null,{default:e(()=>[s(u(i.details.units_full),1)]),_:1})]),_:1}),t(n,{"no-gutters":""},{default:e(()=>[t(l,{cols:"5",class:"label"},{default:e(()=>[...a[22]||(a[22]=[s("Units Abbr",-1)])]),_:1}),t(l,null,{default:e(()=>[s(u(i.details.units),1)]),_:1})]),_:1}),t(n,{"no-gutters":""},{default:e(()=>[t(l,{cols:"5",class:"label"},{default:e(()=>[...a[23]||(a[23]=[s("Endianness",-1)])]),_:1}),t(l,null,{default:e(()=>[s(u(i.details.endianness),1)]),_:1})]),_:1}),i.details.states?(r(),g("div",S,[t(n,{"no-gutters":""},{default:e(()=>[t(l,{cols:"5",class:"label"},{default:e(()=>[...a[24]||(a[24]=[s("States",-1)])]),_:1}),t(l)]),_:1}),(r(!0),g(k,null,V(i.details.states,(y,f)=>(r(),o(n,{key:f,"no-gutters":""},{default:e(()=>[t(l,{cols:"1"}),t(l,{cols:"4",class:"label"},{default:e(()=>[s(u(f),1)]),_:2},1024),t(l,null,{default:e(()=>[s(u(y.value),1)]),_:2},1024)]),_:2},1024))),128))])):(r(),o(n,{key:6,"no-gutters":""},{default:e(()=>[t(l,{cols:"5",class:"label"},{default:e(()=>[...a[25]||(a[25]=[s("States",-1)])]),_:1}),t(l,null,{default:e(()=>[...a[26]||(a[26]=[s("None",-1)])]),_:1})]),_:1})),i.details.limits?(r(),g("div",$,[t(n,{"no-gutters":""},{default:e(()=>[t(l,{cols:"5",class:"label"},{default:e(()=>[...a[27]||(a[27]=[s("Limits",-1)])]),_:1}),t(l)]),_:1}),(r(!0),g(k,null,V(i.details.limits,(y,f)=>(r(),o(n,{key:f,"no-gutters":""},{default:e(()=>[t(l,{cols:"1"}),f==="enabled"?(r(),o(l,{key:0,cols:"4",class:"label"},{default:e(()=>[...a[28]||(a[28]=[s("Enabled",-1)])]),_:1})):h("",!0),f==="enabled"?(r(),o(I,{key:1,modelValue:i.details.limits.enabled,"onUpdate:modelValue":[a[0]||(a[0]=F=>i.details.limits.enabled=F),b.changeLimitsEnabled],density:"compact",color:"primary",class:"compact-switch","hide-details":""},null,8,["modelValue","onUpdate:modelValue"])):h("",!0),f!=="enabled"?(r(),o(l,{key:2,cols:"4",class:"label"},{default:e(()=>[s(u(f),1)]),_:2},1024)):h("",!0),f!=="enabled"?(r(),g("div",E,u(b.formatLimit(y)),1)):h("",!0),t(l)]),_:2},1024))),128))])):(r(),o(n,{key:8,"no-gutters":""},{default:e(()=>[t(l,{cols:"5",class:"label"},{default:e(()=>[...a[29]||(a[29]=[s("Limits",-1)])]),_:1}),t(l,null,{default:e(()=>[...a[30]||(a[30]=[s("None",-1)])]),_:1})]),_:1})),i.details.meta?(r(),g("div",B,[t(n,{"no-gutters":""},{default:e(()=>[t(l,{cols:"5",class:"label"},{default:e(()=>[...a[31]||(a[31]=[s("Meta",-1)])]),_:1}),t(l)]),_:1}),(r(!0),g(k,null,V(i.details.meta,(y,f)=>(r(),o(n,{key:f,"no-gutters":""},{default:e(()=>[t(l,{cols:"1"}),t(l,{cols:"4",class:"label"},{default:e(()=>[s(u(f),1)]),_:2},1024),t(l,null,{default:e(()=>[s(u(y.join(", ")),1)]),_:2},1024)]),_:2},1024))),128))])):(r(),o(n,{key:10,"no-gutters":""},{default:e(()=>[t(l,{cols:"5",class:"label"},{default:e(()=>[...a[32]||(a[32]=[s("Meta",-1)])]),_:1}),t(l,null,{default:e(()=>[...a[33]||(a[33]=[s("None",-1)])]),_:1})]),_:1}))]),_:1})]),_:1})]),_:1})]),_:1},8,["modelValue"])}const j=C("P",w(c,[["render",x],["__scopeId","data-v-34961880"]]))}}});
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
System.register(["vue","./main-651b12795c7d3f57ff0a.js","vue-router","single-spa","vuex","vuetify"],function(a,p){"use strict";var t,n,r,o,i,s;return{setters:[e=>{t=e.createBlock,n=e.openBlock,r=e.resolveDynamicComponent,o=e.normalizeProps,i=e.guardReactiveProps},e=>{s=e.d},null,null,null,null],execute:function(){const e={data(){return{widgetType:null}},props:{name:{default:null}},computed:{url:function(){return`${window.location.origin}/tools/widgets/${this.name}/${this.name}.umd.min.js`}},async mounted(){try{this.widgetType=await System.import(this.url)}catch{throw new Error(`Unknown widget: ${this.name}`)}}};function l(u,d,w,g,c,y){return n(),t(r(c.widgetType),o(i({...u.$props,...u.$attrs})),null,16)}const m=a("default",s(e,[["render",l]]))}}});
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
System.register(["./Widget-VCl8Ts8s-95d14cdc312d1d87d6e4.js","./ValueWidget-BxWrHkYY-2278104ac60275e9299f.js","vue","./main-651b12795c7d3f57ff0a.js","./DetailsDialog-Bq7SS7bc-370ad81c0b8d58b6beb7.js","single-spa","./VWidget-CBmUpKSV-8813886a1679fe6a0d79.js","vue-router","vuex","vuetify"],function(m,v){"use strict";var r,s,n,a,l,i,o,c,u;return{setters:[e=>{r=e.o},e=>{s=e.default},e=>{n=e.resolveComponent,a=e.createElementBlock,l=e.openBlock,i=e.normalizeStyle,o=e.createVNode,c=e.mergeProps},e=>{u=e.d},null,null,null,null,null,null],execute:function(){const p={components:{ValueWidget:s},mixins:[r],computed:{getParameters(){return[this.parameters[0],this.parameters[1],this.parameters[2],this.parameters[4]]}},created(){this.setWidth(parseInt(this.parameters[5])+4,"ch",16)}};function g(t,S,V,y,B,d){const f=n("value-widget");return l(),a("div",{ref:"container",class:"d-flex flex-row",style:i(t.computedStyle)},[o(f,c(t.$attrs,{parameters:d.getParameters,settings:t.appliedSettings,"screen-values":t.screenValues,"screen-time-zone":t.screenTimeZone,"format-string":t.parameters[3]}),null,16,["parameters","settings","screen-values","screen-time-zone","format-string"])],4)}const h=m("default",u(p,[["render",g]]))}}});
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
System.register(["./main-651b12795c7d3f57ff0a.js","./TargetPacketItemChooser-DGcXvdTX-422956920d910f64a05d.js","vue"],function(le,De){"use strict";var Y,X,z,A,R,J,H,B,K,Q,h,M,v,W,s,b,_,l,E,ee,I,N,C,j,f,te,ie,U,ae;return{setters:[u=>{Y=u.d,X=u.R,z=u.b,A=u.f,R=u.B,J=u.P,H=u.l,B=u.$,K=u.c},u=>{Q=u.U},u=>{h=u.resolveComponent,M=u.createElementBlock,v=u.openBlock,W=u.withModifiers,s=u.createVNode,b=u.createBlock,_=u.createCommentVNode,l=u.withCtx,E=u.withDirectives,ee=u.normalizeClass,I=u.createElementVNode,N=u.vShow,C=u.toDisplayString,j=u.Fragment,f=u.createTextVNode,te=u.normalizeProps,ie=u.guardReactiveProps,U=u.withKeys,ae=u.renderList}],execute:function(){const u={components:{TargetPacketItemChooser:Q},mixins:[X],props:{modelValue:Boolean,title:{type:String,required:!0},legendPosition:{type:String,required:!0},items:{type:Array,required:!0},graphMinY:{type:Number},graphMaxY:{type:Number},lines:{type:Array,required:!0},colors:{type:Array,required:!0},startDateTime:{type:Number},endDateTime:{type:Number},timeZone:{type:String,required:!0},xAxisItemPacket:{type:Object,default:void 0},xAxisItem:{type:String,default:"__time"}},emits:["cancel","ok","remove","update:modelValue","update:xAxisItem"],data:function(){return{tab:0,graph:{},customXAxisEnabled:!1,selectedXAxisItem:null,pendingXAxisSelection:null,legendPositions:["top","bottom","left","right"],startDate:null,startTime:null,endDate:null,endTime:null,lineHeaders:[{title:"Y Value",value:"yValue"},{title:"Color",value:"color"},{title:"Actions",value:"actions",sortable:!1}],itemHeaders:[{title:"Target Name",value:"targetName"},{title:"Packet Name",value:"packetName"},{title:"Item Name",value:"itemName"},{title:"Actions",value:"actions",sortable:!1}],rules:{date:t=>{if(!t)return!0;try{return B(K(t,"yyyy-MM-dd",new Date))||"Invalid date (YYYY-MM-DD)"}catch{return"Invalid date (YYYY-MM-DD)"}},time:t=>{if(!t)return!0;try{return B(K(t,"HH:mm:ss",new Date))||"Invalid time (HH:MM:SS)"}catch{return"Invalid time (HH:MM:SS)"}}}}},computed:{show:{get(){return this.modelValue},set(t){this.$emit("update:modelValue",t)}},editItems:function(){if(!this.items)return[];let t=0;return this.items.map(e=>(t+=1,{...e,itemId:t}))},initialXAxisItem:function(){if(this.xAxisItem!=="__time")return this.xAxisItem.split("__").at(4)}},created(){if(this.graph={title:this.title,legendPosition:this.legendPosition,items:this.items,graphMinY:this.graphMinY,graphMaxY:this.graphMaxY,lines:[...this.lines]},this.customXAxisEnabled=this.xAxisItem&&this.xAxisItem!=="__time",this.selectedXAxisItem=this.xAxisItem,this.startDateTime){let t=H(this.startDateTime/1e6);this.startDate=this.formatDate(t,this.timeZone),this.startTime=this.formatTimeHMS(t,this.timeZone)}else{let t=new Date-36e5;this.startDate=this.formatDate(t,this.timeZone),this.startTime=this.formatTimeHMS(t,this.timeZone)}if(this.endDateTime){let t=H(this.endDateTime/1e6);this.endDate=this.formatDate(t,this.timeZone),this.endTime=this.formatTimeHMS(t,this.timeZone)}},methods:{closeOk(){this.startDate&&this.startTime?this.graph.startDateTime=this.startDate+" "+this.startTime:this.graph.startDateTime=null,this.endDate&&this.endTime?this.graph.endDateTime=this.endDate+" "+this.endTime:this.graph.endDateTime=null,this.$emit("ok",this.graph)},addLine(){this.graph.lines.push({yValue:0,color:"white"})},removeLine(t){let e=this.graph.lines.indexOf(t);this.graph.lines.splice(e,1)},customXAxisToggled(t){t||(this.selectedXAxisItem="__time",this.$emit("update:xAxisItem","__time"))},xAxisItemChanged(t){this.pendingXAxisSelection=t},xAxisItemSelected(t){if(t.targetName&&t.packetName&&t.itemName){const e=`DECOM__TLM__${t.targetName}__${t.packetName}__${t.itemName}__CONVERTED`;this.selectedXAxisItem=e,this.$emit("update:xAxisItem",e)}}}},ne={class:"edit-box"},re={class:"edit-box"},oe={class:"edit-box"},he={class:"edit-box"},de={class:"edit-box"};function ue(t,e,i,n,a,r){const o=h("v-spacer"),c=h("v-toolbar"),y=h("v-tab"),p=h("v-tabs"),x=h("v-text-field"),D=h("v-card-text"),w=h("v-col"),k=h("v-select"),g=h("v-row"),O=h("v-tabs-window-item"),T=h("v-btn"),V=h("v-list-item"),P=h("v-list"),$=h("v-checkbox"),q=h("target-packet-item-chooser"),Z=h("v-data-table"),S=h("v-tabs-window"),F=h("v-card-actions"),m=h("v-card"),Te=h("v-dialog");return v(),b(Te,{modelValue:r.show,"onUpdate:modelValue":e[13]||(e[13]=d=>r.show=d),persistent:"","max-width":"700",onKeydown:e[14]||(e[14]=U(d=>t.$emit("cancel"),["esc"]))},{default:l(()=>[s(c,{height:"24"},{default:l(()=>[s(o),e[15]||(e[15]=I("span",null," Edit Graph ",-1)),s(o)]),_:1}),s(m,{class:"pa-3"},{default:l(()=>[s(p,{modelValue:t.tab,"onUpdate:modelValue":e[0]||(e[0]=d=>t.tab=d),class:"ml-3"},{default:l(()=>[s(y,{value:"0"},{default:l(()=>[...e[16]||(e[16]=[f(" Settings ",-1)])]),_:1}),s(y,{value:"1"},{default:l(()=>[...e[17]||(e[17]=[f(" Scale / Lines ",-1)])]),_:1}),s(y,{value:"2"},{default:l(()=>[...e[18]||(e[18]=[f(" Items ",-1)])]),_:1})]),_:1},8,["modelValue"]),s(S,{modelValue:t.tab,"onUpdate:modelValue":e[11]||(e[11]=d=>t.tab=d)},{default:l(()=>[s(O,{value:"0",eager:""},{default:l(()=>[I("div",ne,[s(g,null,{default:l(()=>[s(w,null,{default:l(()=>[s(D,{class:"pa-0"},{default:l(()=>[s(x,{modelValue:t.graph.title,"onUpdate:modelValue":e[1]||(e[1]=d=>t.graph.title=d),class:"pb-2",label:"Title","hide-details":""},null,8,["modelValue"])]),_:1})]),_:1}),s(w,null,{default:l(()=>[s(k,{modelValue:t.graph.legendPosition,"onUpdate:modelValue":e[2]||(e[2]=d=>t.graph.legendPosition=d),label:"Legend Position","hide-details":"",items:t.legendPositions,style:{"max-width":"280px"}},null,8,["modelValue","items"])]),_:1})]),_:1})]),I("div",re,[s(D,{class:"pa-0"},{default:l(()=>[...e[19]||(e[19]=[f(" Select a start date/time for the graph. Leave blank for start now. ",-1)])]),_:1}),s(g,null,{default:l(()=>[s(w,null,{default:l(()=>[s(x,{modelValue:t.startDate,"onUpdate:modelValue":e[3]||(e[3]=d=>t.startDate=d),label:"Start Date",name:`date${Date.now()}`,rules:[t.rules.date],type:"date"},null,8,["modelValue","name","rules"])]),_:1}),s(w,null,{default:l(()=>[s(x,{modelValue:t.startTime,"onUpdate:modelValue":e[4]||(e[4]=d=>t.startTime=d),label:"Start Time",name:`time${Date.now()}`,rules:[t.rules.time],type:"time",step:"1"},null,8,["modelValue","name","rules"])]),_:1})]),_:1}),s(D,{class:"pa-0"},{default:l(()=>[...e[20]||(e[20]=[f(" Select a end date/time for the graph. Leave blank for continuous real-time graphing. ",-1)])]),_:1}),s(g,null,{default:l(()=>[s(w,null,{default:l(()=>[s(x,{modelValue:t.endDate,"onUpdate:modelValue":e[5]||(e[5]=d=>t.endDate=d),label:"End Date",name:`date${Date.now()}`,rules:[t.rules.date],type:"date"},null,8,["modelValue","name","rules"])]),_:1}),s(w,null,{default:l(()=>[s(x,{modelValue:t.endTime,"onUpdate:modelValue":e[6]||(e[6]=d=>t.endTime=d),label:"End Time",name:`time${Date.now()}`,rules:[t.rules.time],type:"time",step:"1"},null,8,["modelValue","name","rules"])]),_:1})]),_:1})])]),_:1}),s(O,{value:"1",eager:""},{default:l(()=>[I("div",oe,[s(D,{class:"pa-0"},{default:l(()=>[...e[21]||(e[21]=[f(" Set a min or max Y value to override automatic scaling ",-1)])]),_:1}),s(g,{dense:""},{default:l(()=>[s(w,{class:"px-2"},{default:l(()=>[s(x,{modelValue:t.graph.graphMinY,"onUpdate:modelValue":e[7]||(e[7]=d=>t.graph.graphMinY=d),"hide-details":"",label:"Min Y Axis (Optional)",type:"number"},null,8,["modelValue"])]),_:1}),s(w,{class:"px-2"},{default:l(()=>[s(x,{modelValue:t.graph.graphMaxY,"onUpdate:modelValue":e[8]||(e[8]=d=>t.graph.graphMaxY=d),"hide-details":"",label:"Max Y Axis (Optional)",type:"number"},null,8,["modelValue"])]),_:1})]),_:1})]),I("div",he,[s(P,{density:"compact",class:"horizontal-lines"},{default:l(()=>[s(V,null,{default:l(()=>[e[23]||(e[23]=I("span",{style:{"padding-top":"5px"}}," Add horizontal lines to the graph ",-1)),s(o),s(T,{onClick:e[9]||(e[9]=d=>r.addLine())},{default:l(()=>[...e[22]||(e[22]=[f(" New Line ",-1)])]),_:1})]),_:1}),(v(!0),M(j,null,ae(t.graph.lines,(d,se)=>(v(),b(V,{key:se,value:d,color:"primary"},{default:l(()=>[s(g,null,{default:l(()=>[s(w,null,{default:l(()=>[s(x,{modelValue:d.yValue,"onUpdate:modelValue":L=>d.yValue=L,label:"Y Value"},null,8,["modelValue","onUpdate:modelValue"])]),_:2},1024),s(w,null,{default:l(()=>[s(k,{modelValue:d.color,"onUpdate:modelValue":L=>d.color=L,label:"Color","hide-details":"",items:i.colors},null,8,["modelValue","onUpdate:modelValue","items"])]),_:2},1024),s(w,null,{default:l(()=>[s(T,{style:{padding:"30px"},icon:"mdi-delete",variant:"text","aria-label":"Remove Line",onClick:L=>r.removeLine(d)},null,8,["onClick"])]),_:2},1024)]),_:2},1024)]),_:2},1032,["value"]))),128))]),_:1})]),I("div",de,[s(D,{class:"pa-0 text-medium-emphasis"},{default:l(()=>[...e[24]||(e[24]=[f(" Choose a different item to use for the graph's X axis. If unchecked, the graph will use the packet's PACKET_TIMESECONDS item if it exists, otherwise it will use RECEIVED_TIMESECONDS. ",-1),I("br",null,null,-1),I("span",{class:"font-italic"}," Note that the graph may not work correctly if you choose an item that does not strictly increase in value. It is recommended to use a counter or timestamp. ",-1)])]),_:1}),s($,{modelValue:t.customXAxisEnabled,"onUpdate:modelValue":[e[10]||(e[10]=d=>t.customXAxisEnabled=d),r.customXAxisToggled],disabled:!i.xAxisItemPacket,label:"Custom X axis item",density:"compact","hide-details":""},null,8,["modelValue","disabled","onUpdate:modelValue"]),i.xAxisItemPacket?_("",!0):(v(),b(D,{key:0,class:"pa-0 text-medium-emphasis"},{default:l(()=>[...e[25]||(e[25]=[f(" All items on the graph must be in the same packet to enable this feature. ",-1)])]),_:1})),t.customXAxisEnabled&&i.xAxisItemPacket?(v(),b(q,{key:1,"initial-target-name":i.xAxisItemPacket.targetName,"initial-packet-name":i.xAxisItemPacket.packetName,"initial-item-name":r.initialXAxisItem,"choose-item":"","lock-target":"","lock-packet":"","button-text":"Set",onOnSet:r.xAxisItemChanged,onAddItem:r.xAxisItemSelected},null,8,["initial-target-name","initial-packet-name","initial-item-name","onOnSet","onAddItem"])):_("",!0)])]),_:1}),s(O,{value:"2",eager:""},{default:l(()=>[s(Z,{"item-key":"itemId",class:"elevation-1 my-2","data-test":"edit-graph-items",headers:t.itemHeaders,items:r.editItems,"items-per-page":5,"footer-props":{"items-per-page-options":[5]}},{"item.actions":l(({item:d})=>[s(T,{icon:"mdi-delete",variant:"text","aria-label":"Remove Item",onClick:se=>t.$emit("remove",d)},null,8,["onClick"])]),"no-data":l(()=>[...e[26]||(e[26]=[I("span",null," Currently no items on this graph ",-1)])]),_:1},8,["headers","items"])]),_:1})]),_:1},8,["modelValue"]),s(F,{class:"px-2"},{default:l(()=>[s(o),s(T,{variant:"outlined",onClick:e[12]||(e[12]=d=>t.$emit("cancel"))},{default:l(()=>[...e[27]||(e[27]=[f(" Cancel ",-1)])]),_:1}),s(T,{variant:"flat",onClick:r.closeOk},{default:l(()=>[...e[28]||(e[28]=[f(" Ok ",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1})]),_:1},8,["modelValue"])}const me=Y(u,[["render",ue]]),ce={props:{modelValue:Boolean,item:{type:Object,required:!0},colors:{type:Array,required:!0}},emits:["cancel","changeColor","changeLimits","close","update:modelValue"],data:function(){return{editItem:null,limitsName:"NONE",limits:{NONE:[]},valueTypes:["CONVERTED","RAW"],reduction:[{title:"NONE",value:"DECOM"},{title:"REDUCED_MINUTE",value:"REDUCED_MINUTE"},{title:"REDUCED_HOUR",value:"REDUCED_HOUR"},{title:"REDUCED_DAY",value:"REDUCED_DAY"}],reducedTypes:["MIN","MAX","AVG","STDDEV"]}},computed:{show:{get(){return this.modelValue},set(t){this.$emit("update:modelValue",t)}},limitsNames(){return Object.keys(this.limits)}},async created(){this.editItem={...this.item},new R().get_item(this.item.targetName,this.item.packetName,this.item.itemName).then(t=>{for(const[e,i]of Object.entries(t.limits))Object.keys(i).includes("red_low")&&(this.limits[e]=Object.values(i));this.limitsName=Object.keys(this.limits).find(e=>this.limits[e]+""==this.editItem.limits+"")})}},pe={key:0},ge={class:"pa-3"};function fe(t,e,i,n,a,r){const o=h("v-card-title"),c=h("v-select"),y=h("v-card-text"),p=h("v-spacer"),x=h("v-btn"),D=h("v-card-actions"),w=h("v-card"),k=h("v-dialog");return v(),b(k,{modelValue:r.show,"onUpdate:modelValue":e[9]||(e[9]=g=>r.show=g),persistent:"",width:"400",onKeydown:[e[10]||(e[10]=U(g=>t.success(),["enter"])),e[11]||(e[11]=U(g=>t.$emit("cancel"),["esc"]))]},{default:l(()=>[s(w,null,{default:l(()=>[s(o,{class:"mb-2"},{default:l(()=>[...e[12]||(e[12]=[f("Edit Item",-1)])]),_:1}),s(y,null,{default:l(()=>[s(c,{modelValue:t.editItem.valueType,"onUpdate:modelValue":e[0]||(e[0]=g=>t.editItem.valueType=g),variant:"outlined","hide-details":"",label:"Value Type",items:t.valueTypes,class:"mb-2"},null,8,["modelValue","items"]),s(c,{modelValue:t.editItem.reduced,"onUpdate:modelValue":e[1]||(e[1]=g=>t.editItem.reduced=g),variant:"outlined","hide-details":"",label:"Reduction",items:t.reduction,class:"mb-2"},null,8,["modelValue","items"]),s(c,{modelValue:t.editItem.reducedType,"onUpdate:modelValue":e[2]||(e[2]=g=>t.editItem.reducedType=g),variant:"outlined","hide-details":"",label:"Reduced Type",items:t.reducedTypes,disabled:t.editItem.reduced==="DECOM",class:"mb-2"},null,8,["modelValue","items","disabled"]),s(c,{modelValue:t.editItem.color,"onUpdate:modelValue":[e[3]||(e[3]=g=>t.editItem.color=g),e[4]||(e[4]=g=>t.$emit("changeColor",g))],variant:"outlined","hide-details":"",label:"Color",items:i.colors,class:"mb-2"},null,8,["modelValue","items"]),r.limitsNames.length>1?(v(),M("div",pe,[s(c,{modelValue:t.limitsName,"onUpdate:modelValue":[e[5]||(e[5]=g=>t.limitsName=g),e[6]||(e[6]=g=>t.$emit("changeLimits",t.limits[t.limitsName]))],variant:"outlined","hide-details":"",label:"Display Limits",items:r.limitsNames},null,8,["modelValue","items"]),I("div",ge,C(t.limitsName)+": "+C(t.limits[t.limitsName]),1)])):_("",!0)]),_:1}),s(D,{class:"px-2"},{default:l(()=>[s(p),s(x,{variant:"outlined",onClick:e[7]||(e[7]=g=>t.$emit("cancel"))},{default:l(()=>[...e[13]||(e[13]=[f(" Cancel ",-1)])]),_:1}),s(x,{variant:"flat",onClick:e[8]||(e[8]=g=>t.$emit("close",t.editItem))},{default:l(()=>[...e[14]||(e[14]=[f(" Ok ",-1)])]),_:1})]),_:1})]),_:1})]),_:1},8,["modelValue"])}const ve=Y(ce,[["render",fe]]),G="__time",xe={components:{GraphEditDialog:me,GraphEditItemDialog:ve},mixins:[X],props:{id:{type:Number,required:!0},selectedGraphId:{type:Number,default:null},state:{type:String,required:!0},startTime:{type:Number,default:null},secondsGraphed:{type:Number,required:!0},pointsSaved:{type:Number,required:!0},pointsGraphed:{type:Number,required:!0},refreshIntervalMs:{type:Number,default:200},hideToolbar:{type:Boolean,default:!1},hideOverview:{type:Boolean,default:!1},sparkline:{type:Boolean,default:!1},initialItems:{type:Array,default:()=>[]},initialXAxisItem:{type:String,default:G},height:{type:Number,default:null},width:{type:Number,default:null},timeZone:{type:String,default:"local"}},emits:["click","close-graph","edit","min-max-graph","pause","resize","start","started"],data(){return{api:null,lines:[],active:!0,expand:!0,fullWidth:!0,fullHeight:!0,graph:null,editGraph:!1,editGraphMenu:!1,editGraphMenuX:0,editGraphMenuY:0,editItem:!1,itemMenu:!1,itemMenuX:0,itemMenuY:0,legendMenu:!1,legendMenuX:0,legendMenuY:0,legendPosition:"bottom",selectedItem:null,hideToolbarData:this.hideToolbar,showOverview:!this.hideOverview,hideOverviewData:this.hideOverview,title:"",overview:null,data:[[]],dataChanged:!1,interval:null,graphMinY:null,graphMaxY:null,graphStartDateTime:null,graphEndDateTime:null,xAxisItem:this.initialXAxisItem,indexes:{},items:this.initialItems,graphItems:[],lastPlaybackDateTime:null,limitsValues:[],drawInterval:null,zoomChart:!1,zoomOverview:!1,cable:new J,subscription:null,needToUpdate:!1,errorDialog:!1,errors:[],colorIndex:0,colors:["#00c7cb","#938bdb","#4dacff","lime","darkorange","red","gold","hotpink","tan","cyan","maroon","blue","teal","purple","green","brown","lightblue","white","black"]}},computed:{calcFullSize:function(){return this.fullWidth||this.fullHeight},error:function(){return this.errorDialog&&this.errors.length>0?JSON.stringify(this.errors,null,4):null},itemSubscriptionKeys:function(){return this.items.map(this.subscriptionKey)},allowableXAxisItemPacket:function(){if(!this.canUseCustomXAxisItem||this.items.length===0)return;const{targetName:t,packetName:e}=this.items[0];return{targetName:t,packetName:e}},canUseCustomXAxisItem:function(){if(this.items.length===0)return!0;const{targetName:t,packetName:e}=this.items[0];return this.items.every(i=>i.targetName===t&&i.packetName===e)},actualXAxisItem:function(){return this.canUseCustomXAxisItem&&this.xAxisItem?this.xAxisItem:G},xAxisConverter:function(){return this.xAxisIsDefault?t=>t/1e9:t=>t},xAxisFormatter:function(){return t=>t==null?"--":this.xAxisIsTime?this.formatSeconds(t,this.timeZone):t},xAxisLabel:function(){return this.xAxisIsTime?"Time":this.actualXAxisItem.split("__").at(-2)},xAxisIsDefault:function(){return this.actualXAxisItem===G},xAxisIsTime:function(){const t=["PACKET_TIMESECONDS","RECEIVED_TIMESECONDS"];return this.xAxisIsDefault||t.includes(this.actualXAxisItem.split("__").at(4))},xAxisIsAlsoGraphedItem:function(){return this.itemSubscriptionKeys.includes(this.actualXAxisItem)},playbackMode:function(){return this.$store.state.playback.playbackMode},playbackDateTime:function(){return this.$store.state.playback.playbackDateTime},playbackStep:function(){return this.$store.state.playback.playbackStep}},watch:{state:function(t,e){switch(t){case"start":e==="stop"&&this.startGraph();break;case"stop":this.stopGraph();break}},playbackMode:function(t,e){this.playbackMode==="playback"?this.setupPlaybackMode():(this.lastPlaybackDateTime=null,this.clearAllData(),this.startGraph())},playbackDateTime:function(t,e){this.playbackMode==="playback"&&(this.lastPlaybackDateTime===null||this.lastPlaybackDateTime>this.playbackDateTime?this.clearAllData():this.api.get_tlm_values(this.graphItems,30,null,this.lastPlaybackDateTime,this.playbackDateTime).then(i=>{if(i.length>0){if(Array.isArray(i[0])&&Array.isArray(i[0][0]))for(let n=0;n<i.length;n++)for(let a=0;a<i[n].length;a++)if(a===0){let r=i[n][a][0],o=new Date(r);this.data[0].push(o.getTime()/1e3)}else this.data[a].push(i[n][a][0]);else if(Array.isArray(i)&&i.length>=2)for(let n=0;n<i.length;n++)if(n===0){let a=i[n][0],r=new Date(a);this.data[0].push(r.getTime()/1e3)}else this.data[n].push(i[n][0])}this.dataChanged=!0,this.updateGraphData()}),this.lastPlaybackDateTime=this.playbackDateTime)},data:function(t,e){this.dataChanged=!0},graphMinY:function(t,e){let i=parseFloat(t);isNaN(i)||(this.graphMinY=i),this.setGraphRange()},graphMaxY:function(t,e){let i=parseFloat(t);isNaN(i)||(this.graphMaxY=i),this.setGraphRange()},graphStartDateTime:function(t,e){t&&typeof t=="string"?(this.graphStartDateTime=this.parseDateTime(this.graphStartDateTime,this.timeZone)*1e6,this.graphStartDateTime!==e&&(this.needToUpdate=!0)):t===null&&e&&(this.graphStartDateTime=null,this.needToUpdate=!0)},graphEndDateTime:function(t,e){t&&typeof t=="string"?(this.graphEndDateTime=this.parseDateTime(this.graphEndDateTime,this.timeZone)*1e6,this.graphEndDateTime!==e&&(this.needToUpdate=!0)):t===null&&e&&(this.graphEndDateTime=null,this.needToUpdate=!0)},actualXAxisItem:function(t,e){let i=JSON.parse(JSON.stringify(this.items));this.removeItems(i),this.graph.destroy(),this.chartOpts.series[0].label=this.xAxisLabel,this.chartOpts.scales.x.time=this.xAxisIsTime,this.graph=new A(this.chartOpts,this.data,document.getElementById(`chart${this.id}`)),this.hideOverview||(this.overview.destroy(),this.overviewOpts.scales.x.time=this.xAxisIsTime,this.overview=new A(this.overviewOpts,this.data,document.getElementById(`overview${this.id}`))),this.addItems(i)},refreshIntervalMs:function(t){this.interval&&(clearInterval(this.interval),this.interval=setInterval(()=>{this.updateGraphData()},t))}},created(){this.api=new R,this.title=`Graph ${this.id}`;for(const[t,e]of this.items.entries())this.data.push([]),this.indexes[this.subscriptionKey(e)]=t+1,e.color===void 0&&(e.color=this.colors[this.colorIndex]),this.colorIndex++,this.colorIndex===this.colors.length&&(this.colorIndex=0)},mounted(){const{chartSeries:t,overviewSeries:e}=this.items.reduce((i,n)=>{const a={spanGaps:!0};return i.chartSeries.push({...a,item:n,label:this.formatLabel(n),stroke:(r,o)=>this.items[o-1].color,width:2,value:(r,o)=>typeof o=="string"||isNaN(o)?"NaN":o==null?"--":o.toFixed(3)}),i.overviewSeries.push({...a}),i},{chartSeries:[],overviewSeries:[]});if(this.chartOpts={},this.sparkline)this.hideToolbarData=!0,this.hideOverviewData=!0,this.showOverview=!1,this.chartOpts={width:this.width,height:this.height,pxAlign:!1,cursor:{show:!1},select:{show:!1},legend:{show:!1},scales:{x:{time:!1}},axes:[{show:!1},{show:!1}],series:[{},{stroke:"white"}]},this.graph=new A(this.chartOpts,this.data,document.getElementById(`chart${this.id}`));else{let i=Intl.DateTimeFormat().resolvedOptions().timeZone;this.timeZone&&this.timeZone!=="local"&&(i=this.timeZone),this.chartOpts={...this.getSize("chart"),...this.getScales(),...this.getAxes("chart"),plugins:[this.linesPlugin()],tzDate:n=>A.tzDate(new Date(n*1e3),i),series:[{label:this.xAxisLabel,value:(n,a)=>this.xAxisFormatter(a)},...t],cursor:{drag:{x:!0,y:!1},sync:{key:"openc3"},bind:{mouseup:(n,a,r)=>o=>{this.state==="pause"&&n.select.width===0&&this.$emit("start"),r(o)}}},hooks:{setScale:[(n,a)=>{if(a==="x"&&!this.zoomOverview&&this.overview){this.zoomChart=!0;let r=Math.round(this.overview.valToPos(n.scales.x.min,"x")),o=Math.round(this.overview.valToPos(n.scales.x.max,"x"));this.overview.setSelect({left:r,width:o-r}),this.zoomChart=!1}}],setSelect:[n=>{this.state==="start"&&n.select.width>0&&this.$emit("pause")}],ready:[n=>{n.root.querySelector(".u-over").addEventListener("contextmenu",r=>{r.preventDefault(),this.itemMenu=!1,this.legendMenu=!1,this.editGraphMenuX=r.clientX,this.editGraphMenuY=r.clientY,this.editGraphMenu=!0});let a=n.root.querySelector(".u-legend");a.addEventListener("contextmenu",r=>{r.preventDefault(),this.editGraphMenu=!1,this.legendMenu=!1,this.itemMenuX=r.clientX,this.itemMenuY=r.clientY;let o=r.target.closest(".u-series"),c=Array.prototype.slice.call(a.childNodes[0].childNodes).indexOf(o),y=n.series[c];y.item?(this.selectedItem=y.item,this.itemMenu=!0):(this.itemMenu=!1,this.legendMenuX=r.clientX,this.legendMenuY=r.clientY,this.legendMenu=!0)}),a.querySelector("tbody").appendChild(this.$refs.info)}]}},this.graph=new A(this.chartOpts,this.data,document.getElementById(`chart${this.id}`)),this.overviewOpts={...this.getSize("overview"),...this.getScales(),...this.getAxes("overview"),tzDate:n=>A.tzDate(new Date(n*1e3),i),series:[...e],cursor:{y:!1,drag:{setScale:!1,x:!0,y:!1}},legend:{show:!1},hooks:{setSelect:[n=>{if(!this.zoomChart){this.state==="start"&&n.select.width>0&&this.$emit("pause"),this.zoomOverview=!0;let a=n.posToVal(n.select.left,"x"),r=n.posToVal(n.select.left+n.select.width,"x");this.graph.setScale("x",{min:a,max:r}),this.zoomOverview=!1}}]}},this.hideOverview||(this.overview=new A(this.overviewOpts,this.data,document.getElementById(`overview${this.id}`))),this.moveLegend(this.legendPosition),window.addEventListener("resize",this.resize)}this.playbackMode!=="playback"?this.state!=="stop"&&this.startGraph():this.setupPlaybackMode()},beforeUnmount:function(){this.stopGraph(),this.cable.disconnect(),window.removeEventListener("resize",this.resize)},methods:{setupPlaybackMode:function(){this.stopGraph(),this.clearAllData();const t=this.itemSubscriptionKeys.map(e=>e.split("__").slice(2).join("__"));if(this.actualXAxisItem===G){const e=t[0].split("__").slice(0,2).join("__");t.unshift(`${e}__PACKET_TIMESECONDS__RAW`)}else this.xAxisIsAlsoGraphedItem||t.unshift(this.actualXAxisItem);this.api.get_tlm_available(t).then(e=>{this.graphItems=e,t.length!=e.length&&console.log("Error getting tlm available",t,this.graphItems)})},startGraph:function(){this.subscribe(),this.interval=setInterval(()=>{this.updateGraphData()},this.refreshIntervalMs)},stopGraph:function(){this.subscription&&(this.subscription.unsubscribe(),this.subscription=null),this.interval&&(clearInterval(this.interval),this.interval=null)},updateGraphData:function(){if(this.state==="pause"||!this.dataChanged)return;this.graph.setData(this.data),this.overview&&this.overview.setData(this.data);const t=this.data[0];if(t&&t.length){let e=t.at(-1);const i=[t.at(0)];this.pointsGraphed<=t.length&&i.push(t.at(-this.pointsGraphed)),this.xAxisIsTime&&i.push(e-this.secondsGraphed);const n=Math.max(...i);n===e&&(e+=1),this.graph.setScale("x",{min:n,max:e})}this.dataChanged=!1},formatLabel(t){if(t.valueType==="CONVERTED"&&t.reduced==="DECOM")return t.itemName;{let e="";return t.valueType!=="CONVERTED"&&(e+=t.valueType),t.reduced!=="DECOM"&&(e!==""&&(e+=" "),e+=`${t.reduced.split("_")[1]} ${t.reducedType}`),`${t.itemName} (${e})`}},moveLegend:function(t){switch(t){case"bottom":this.graph.root.classList.remove("side-legend"),this.graph.root.classList.remove("left-legend"),this.graph.root.classList.remove("top-legend");break;case"top":this.graph.root.classList.remove("side-legend"),this.graph.root.classList.remove("left-legend"),this.graph.root.classList.add("top-legend");break;case"left":this.graph.root.classList.remove("top-legend"),this.graph.root.classList.add("side-legend"),this.graph.root.classList.add("left-legend");break;case"right":this.graph.root.classList.remove("top-legend"),this.graph.root.classList.remove("left-legend"),this.graph.root.classList.add("side-legend");break}this.legendPosition=t,this.resize()},clearErrors:function(){this.errors=[]},editGraphClose:function(t){this.editGraph=!1,this.title=t.title,this.legendPosition=t.legendPosition,this.graphMinY=t.graphMinY,this.graphMaxY=t.graphMaxY,this.lines=[...t.lines],this.graphStartDateTime=t.startDateTime,this.graphEndDateTime=t.endDateTime,this.$nextTick(()=>{if(this.needToUpdate){if(this.subscription==null)this.startGraph();else{let e=JSON.parse(JSON.stringify(this.items));this.removeItems(e),setTimeout(()=>{this.addItems(e)},0)}this.needToUpdate=!1}}),this.moveLegend(this.legendPosition),this.$emit("edit")},resize:function(){this.graph.setSize(this.getSize("chart")),this.overview&&this.overview.setSize(this.getSize("overview")),this.$emit("resize",this.id)},expandAll:function(){this.fullWidth=!0,this.fullHeight=!0,this.resize()},collapseAll:function(){this.fullWidth=!1,this.fullHeight=!1,this.resize()},expandWidth:function(){this.fullWidth=!0,this.resize()},collapseWidth:function(){this.fullWidth=!1,this.resize()},expandHeight:function(){this.fullHeight=!0,this.resize()},collapseHeight:function(){this.fullHeight=!1,this.resize()},minMaxTransition:function(){this.expand=!this.expand,this.$emit("min-max-graph",this.id)},setGraphRange:function(){let t=.1;(this.graphMinY||this.graphMinY===0||this.graphMaxY||this.graphMaxY===0)&&(t=0),this.graph.scales.y.range=(e,i,n)=>{let a=i;(this.graphMinY||this.graphMinY===0)&&(a=this.graphMinY);let r=n;return(this.graphMaxY||this.graphMaxY===0)&&(r=this.graphMaxY),A.rangeNum(a,r,t,!0)}},subscribe:function(){this.cable.createSubscription("StreamingChannel",window.openc3Scope,{received:t=>this.received(t),connected:()=>{const t=[...this.items];!this.xAxisIsDefault&&!this.xAxisIsAlsoGraphedItem&&t.push(this.actualXAxisItem),this.addItemsToSubscription(t)},disconnected:t=>{t.allowReconnect&&this.errors.push({type:"disconnected",message:"OpenC3 backend connection disconnected",time:new Date().getTime()})},rejected:()=>{this.errors.push({type:"rejected",message:"OpenC3 backend connection rejected",time:new Date().getTime()})}}).then(t=>{this.subscription=t})},getSize:function(t){let e=0;const i=document.getElementById("openc3-nav-drawer");i&&(e=i.classList.contains("v-navigation-drawer--active")?i.clientWidth:0);let n=0;(this.legendPosition==="right"||this.legendPosition==="left")&&(n=document.getElementsByClassName("u-legend")[0].clientWidth);const a=Math.max(document.documentElement.clientWidth,window.innerWidth||0)-e-n,r=Math.max(document.documentElement.clientHeight,window.innerHeight||0),o=document.getElementsByClassName("v-expansion-panel")[0];let c=100;t==="overview"?this.fullHeight&&!this.hideOverviewData?this.showOverview=!0:this.showOverview=!1:(c=r-o.clientHeight-c-250,this.fullHeight||(c=c/2+10));let y=a-70;return this.fullWidth||(y=y/2-12),{width:this.width||y,height:this.height||c}},getScales:function(){return{scales:{x:{range(t,e,i){return e==null?this.xAxisIsTime?[1566453600,1566497660]:[0,1]:[e,i]},time:this.xAxisIsTime},y:{range(t,e,i){return e==null?[-100,100]:A.rangeNum(e,i,.1,!0)}}}}},getAxes:function(t){let e="rgba(255, 255, 255, .1)",i="white";return{axes:[{stroke:i,grid:{show:!0,stroke:e,width:2}},{size:80,stroke:i,grid:{show:t!=="overview",stroke:e,width:2},values(n,a){return(a.some(r=>r>=1e7)||a.every(r=>r<.01))&&(a=a.map(r=>r.toExponential(3))),a}}]}},closeEditItem:function(t){this.editItem=!1,(this.graphEndDateTime!==null&&this.selectedItem!==t||this.selectedItem.valueType!==t.valueType||this.selectedItem.reduced!==t.reduced||this.selectedItem.reducedType!==t.reducedType)&&this.changeItem(t)},changeColor:function(t){let e=this.subscriptionKey(this.selectedItem),i=this.indexes[e];this.items[i-1].color=t,this.selectedItem.color=t,this.graph.root.querySelectorAll(".u-marker")[i].style.borderColor=t},changeLimits:function(t){let e=this.subscriptionKey(this.selectedItem),i=this.indexes[e];this.items[i-1].limits=t,this.selectedItem.limits=t,this.limitsValues=t},linesPlugin:function(){return{hooks:{draw:t=>{const{ctx:e,bbox:i}=t,n=t.valToPos(t.scales.y.min,"y",!0),a=t.valToPos(t.scales.y.max,"y",!0),r=t.valToPos(this.limitsValues[0],"y",!0),o=t.valToPos(this.limitsValues[1],"y",!0),c=t.valToPos(this.limitsValues[2],"y",!0),y=t.valToPos(this.limitsValues[3],"y",!0);if(this.lines.forEach(p=>{t.scales.y.min<=p.yValue&&p.yValue<=t.scales.y.max&&(e.save(),e.beginPath(),e.strokeStyle=p.color,e.lineWidth=2,e.moveTo(i.left,t.valToPos(p.yValue,"y",!0)),e.lineTo(i.left+i.width,t.valToPos(p.yValue,"y",!0)),e.stroke(),e.restore())}),e.save(),e.beginPath(),e.fillStyle="rgba(255,0,0,0.15)",t.scales.y.min<this.limitsValues[0]){let p=r<a?a:r;e.fillRect(i.left,r,i.width,n-p)}if(t.scales.y.max>this.limitsValues[3]){let p=n<y?n:y;e.fillRect(i.left,a,i.width,p-a)}if(e.fillStyle="rgba(255,255,0,0.15)",t.scales.y.min<this.limitsValues[1]&&t.scales.y.max>this.limitsValues[0]){let p=o<a?a:o;e.fillRect(i.left,p,i.width,r-p)}if(t.scales.y.max>this.limitsValues[2]&&t.scales.y.min<this.limitsValues[3]){let p=n<y?n:y,x=n<c?n:c;e.fillRect(i.left,p,i.width,x-p)}if(e.fillStyle="rgba(0,255,0,0.15)",this.limitsValues.length===4){if(t.scales.y.min<this.limitsValues[2]&&t.scales.y.max>this.limitsValues[1]){let p=c<a?a:c,x=n<o?n:o;e.fillRect(i.left,p,i.width,x-p)}}else{const p=t.valToPos(this.limitsValues[4],"y",!0),x=t.valToPos(this.limitsValues[5],"y",!0);if(t.scales.y.min<this.limitsValues[4]&&t.scales.y.max>this.limitsValues[1]){let k=p<a?a:p;e.fillRect(i.left,k,i.width,o-k)}if(t.scales.y.max>this.limitsValues[5]&&t.scales.y.min<this.limitsValues[2]){let k=n<c?n:c,g=n<x?n:x;e.fillRect(i.left,k,i.width,g-k)}e.fillStyle="rgba(0,0,255,0.15)";let D=x<a?a:x,w=n<p?n:p;e.fillRect(i.left,D,i.width,w-D)}e.stroke(),e.restore()}}}},changeItem:function(t){this.removeItems([this.selectedItem]),this.selectedItem.valueType=t.valueType,this.selectedItem.reduced=t.reduced,this.selectedItem.reducedType=t.reducedType,setTimeout(()=>{this.addItems([this.selectedItem])},0)},addItems:function(t,e="CONVERTED"){t.forEach(i=>{i.valueType||(i.valueType=e),i.color||(i.color=this.colors[this.colorIndex]),i.limits||(i.limits=[]),i.limits.length>0&&(this.limitsValues=i.limits),this.colorIndex=(this.colorIndex+1)%this.colors.length,this.items.push(i);const n=this.data.length;this.graph.addSeries(this.createSeriesConfig(i),n),this.overview&&this.overview.addSeries(this.createOverviewSeriesConfig(),n),this.data.splice(n,0,Array(this.data[0].length)),this.indexes[this.subscriptionKey(i)]=n}),this.updateColorIndex(t),this.xAxisIsDefault||t.push(this.actualXAxisItem),this.addItemsToSubscription(t),this.$emit("resize"),this.$emit("edit")},createSeriesConfig:function(t){return{spanGaps:!0,item:t,label:this.formatLabel(t),stroke:(e,i)=>this.items[i-1].color,width:2,value:(e,i)=>typeof i=="string"||isNaN(i)?"NaN":i==null?"--":Math.abs(i)<.01&&i!==0||Math.abs(i)>=1e7?i.toExponential(6):i.toFixed(6)}},createOverviewSeriesConfig:function(){return{spanGaps:!0,stroke:(t,e)=>this.items[e-1].color}},updateColorIndex:function(t){const e=t[t.length-1];if(e){const i=this.colors.indexOf(e.color);i!==-1&&(this.colorIndex=(i+1)%this.colors.length)}},addItemsToSubscription:function(t=this.items){let e=this.startTime;this.graphStartDateTime&&(e=this.graphStartDateTime);const i=t.map(n=>{if(typeof n=="object")return this.subscriptionKey(n);if(typeof n=="string")return n;throw new Error(`Invalid subscription item type for ${n}: ${typeof n}`)});this.subscription&&OpenC3Auth.updateToken(OpenC3Auth.defaultMinValidity).then(n=>{n&&OpenC3Auth.setTokens(),this.subscription.perform("add",{scope:window.openc3Scope,token:localStorage.openc3Token,items:i,start_time:e,end_time:this.graphEndDateTime})})},clearAllData:function(){this.data[0]=[],this.clearData(this.items)},clearData:function(t){for(const e of t.map(this.subscriptionKey)){let i=this.indexes[e];this.data[i]=Array(this.data[0].length).fill(null),this.graph.setData(this.data),this.overview&&this.overview.setData(this.data)}this.data.length===2&&(this.data[0]=[],this.graph.setData(this.data),this.overview&&this.overview.setData(this.data))},removeItems:function(t){this.removeItemsFromSubscription(t);for(const e of t.map(this.subscriptionKey)){const i=this.reorderIndexes(e);this.items.splice(i-1,1),this.data.splice(i,1),this.graph.delSeries(i),this.graph.setData(this.data),this.overview&&(this.overview.delSeries(i),this.overview.setData(this.data))}this.data.length===1&&(this.data[0]=[],this.graph.setData(this.data),this.overview&&this.overview.setData(this.data)),this.$emit("resize"),this.$emit("edit")},removeItemsFromSubscription:function(t=this.items){if(this.subscription){const e=t.map(i=>{if(typeof i=="object")return this.subscriptionKey(i);if(typeof i=="string")return i;throw new Error(`Invalid subscription item type for ${i}: ${typeof i}`)});this.subscription.perform("remove",{scope:window.openc3Scope,token:localStorage.openc3Token,items:e})}},reorderIndexes:function(t){let e=this.indexes[t];delete this.indexes[t];for(let i in this.indexes)this.indexes[i]>e&&(this.indexes[i]-=1);return e},received:function(t){this.cable.recordPing();for(let e=0;e<t.length;e++){if(!t[e].hasOwnProperty(this.actualXAxisItem))continue;let i=this.xAxisConverter(t[e][this.actualXAxisItem]),n=this.data[0].length;if(n===0||i>this.data[0][n-1]){for(let a=0;a<this.data.length;a++)this.data[a].push(null);this.setDataAtIndex(this.data[0].length-1,i,t[e])}else{let a=z(this.data[0],i,this.bsComparator);if(a>=0){if(!Number.isFinite(i))throw new RangeError(`Invalid x-axis value: ${i}`);for(;a>=0;)i-=1e-5,a=z(this.data[0],i,this.bsComparator);const r=-a-1;for(let o=0;o<this.data.length;o++)this.data[o].splice(r,0,null);this.setDataAtIndex(r,i,t[e])}else{const r=-a-1;for(let o=0;o<this.data.length;o++)this.data[o].splice(r,0,null);this.setDataAtIndex(r,i,t[e])}}}if(this.pointsSaved>0&&this.data[0].length>this.pointsSaved+300){const e=this.data[0].length-this.pointsSaved;for(let i=0;i<this.data.length;i++)this.data[i].splice(0,e)}if(this.startTime==null&&this.data[0][0]){let e=this.data[0][0]*1e9;this.$emit("started",e)}this.dataChanged=!0},bsComparator:function(t,e){return t-e},setDataAtIndex:function(t,e,i){this.data[0][t]=e;for(const[n,a]of Object.entries(i)){if(n===this.actualXAxisItem&&!this.xAxisIsAlsoGraphedItem)continue;const r=this.indexes[n];if(r){let o=this.data[r];if(a!=null&&a.raw)o[t]=null;else if(typeof a=="string"){if(o[t]=null,!n.includes("__RAW")){for(let c of this.items)if(this.subscriptionKey(c)===n){this.selectedItem=c;break}this.changeItem({valueType:"RAW",reduced:this.selectedItem.reduced,reducedType:this.selectedItem.reducedType})}}else o[t]=a}}},subscriptionKey:function(t){let e=`${t.reduced}__TLM__${t.targetName}__${t.packetName}__${t.itemName}__${t.valueType}`;return(t.reduced==="REDUCED_MINUTE"||t.reduced==="REDUCED_HOUR"||t.reduced==="REDUCED_DAY")&&(e+=`__${t.reducedType}`),e}}},ye={id:"chart",ref:"chart",class:"pa-1"},be=["id"],Ie=["id"],we={key:5,ref:"info",class:"u-series"};function ke(t,e,i,n,a,r){const o=h("v-btn"),c=h("v-spacer"),y=h("v-toolbar"),p=h("v-expand-transition"),x=h("v-card"),D=h("graph-edit-dialog"),w=h("v-text-field"),k=h("v-row"),g=h("v-textarea"),O=h("v-dialog"),T=h("v-list-item-title"),V=h("v-list-item"),P=h("v-list"),$=h("v-menu"),q=h("graph-edit-item-dialog"),Z=h("v-list-subheader"),S=h("v-icon"),F=h("v-tooltip");return v(),M("div",{onClick:e[22]||(e[22]=W(m=>t.$emit("click"),["prevent"]))},[s(x,null,{default:l(()=>[E(s(y,{height:"24",class:ee(["pl-2 pr-2",i.selectedGraphId===i.id?"active":""])},{default:l(()=>[E(s(o,{class:"mx-2",icon:"mdi-alert",density:"compact",variant:"text","aria-label":"Show Errors",onClick:e[0]||(e[0]=()=>{a.errorDialog=!0})},null,512),[[N,a.errors.length!==0]]),s(o,{icon:"mdi-pencil",variant:"text",density:"compact","data-test":"edit-graph-icon","aria-label":"Edit Graph",onClick:e[1]||(e[1]=()=>{a.editGraph=!0})}),s(c),I("span",null,C(a.title),1),s(c),a.expand?(v(),M(j,{key:0},[r.calcFullSize?(v(),b(o,{key:0,icon:"mdi-arrow-collapse",variant:"text",density:"compact","data-test":"collapse-all",onClick:r.collapseAll},null,8,["onClick"])):(v(),b(o,{key:1,icon:"mdi-arrow-expand",variant:"text",density:"compact","data-test":"expand-all",onClick:r.expandAll},null,8,["onClick"])),a.fullWidth?(v(),b(o,{key:2,icon:"mdi-arrow-collapse-horizontal",variant:"text",density:"compact","data-test":"collapse-width",onClick:r.collapseWidth},null,8,["onClick"])):(v(),b(o,{key:3,icon:"mdi-arrow-expand-horizontal",variant:"text",density:"compact","data-test":"expand-width",onClick:r.expandWidth},null,8,["onClick"])),a.fullHeight?(v(),b(o,{key:4,icon:"mdi-arrow-collapse-vertical",variant:"text",density:"compact","data-test":"collapse-height",onClick:r.collapseHeight},null,8,["onClick"])):(v(),b(o,{key:5,icon:"mdi-arrow-expand-vertical",variant:"text",density:"compact","data-test":"expand-height",onClick:r.expandHeight},null,8,["onClick"]))],64)):_("",!0),a.expand?(v(),b(o,{key:1,icon:"mdi-window-minimize",variant:"text",density:"compact","data-test":"minimize-screen-icon",onClick:r.minMaxTransition},null,8,["onClick"])):(v(),b(o,{key:2,icon:"mdi-window-maximize",variant:"text",density:"compact","data-test":"maximize-screen-icon",onClick:r.minMaxTransition},null,8,["onClick"])),s(o,{icon:"mdi-close-box",variant:"text",density:"compact","data-test":"close-graph-icon",onClick:e[2]||(e[2]=W(m=>t.$emit("close-graph"),["stop"]))})]),_:1},8,["class"]),[[N,!a.hideToolbarData]]),s(p,null,{default:l(()=>[E(I("div",ye,[I("div",{id:`chart${i.id}`},null,8,be),e[23]||(e[23]=I("div",{id:"betweenCharts"},null,-1)),E(I("div",{id:`overview${i.id}`},null,8,Ie),[[N,a.showOverview]])],512),[[N,a.expand]])]),_:1})]),_:1}),a.editGraph?(v(),b(D,{key:0,modelValue:a.editGraph,"onUpdate:modelValue":e[3]||(e[3]=m=>a.editGraph=m),"x-axis-item":a.xAxisItem,"onUpdate:xAxisItem":e[4]||(e[4]=m=>a.xAxisItem=m),title:a.title,"legend-position":a.legendPosition,items:a.items,"graph-min-y":a.graphMinY,"graph-max-y":a.graphMaxY,lines:a.lines,colors:a.colors,"start-date-time":a.graphStartDateTime,"end-date-time":a.graphEndDateTime,"time-zone":i.timeZone,"x-axis-item-packet":r.allowableXAxisItemPacket,onRemove:e[5]||(e[5]=m=>r.removeItems([m])),onOk:r.editGraphClose,onCancel:e[6]||(e[6]=m=>a.editGraph=!1)},null,8,["modelValue","x-axis-item","title","legend-position","items","graph-min-y","graph-max-y","lines","colors","start-date-time","end-date-time","time-zone","x-axis-item-packet","onOk"])):_("",!0),s(O,{modelValue:a.errorDialog,"onUpdate:modelValue":e[8]||(e[8]=m=>a.errorDialog=m),"max-width":"600"},{default:l(()=>[s(y,{height:"24"},{default:l(()=>[s(c),e[24]||(e[24]=I("span",null," Errors ",-1)),s(c)]),_:1}),s(x,{class:"pa-3"},{default:l(()=>[s(k,{dense:""},{default:l(()=>[s(w,{modelValue:a.title,"onUpdate:modelValue":e[7]||(e[7]=m=>a.title=m),readonly:"","hide-details":"",class:"pb-2",label:"Graph Title"},null,8,["modelValue"])]),_:1}),s(k,{class:"my-3"},{default:l(()=>[s(g,{readonly:"",rows:"8","model-value":r.error},null,8,["model-value"])]),_:1}),s(k,null,{default:l(()=>[s(o,{block:"",onClick:r.clearErrors},{default:l(()=>[...e[25]||(e[25]=[f(" Clear ",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1})]),_:1},8,["modelValue"]),a.editGraphMenu?(v(),b($,{key:1,modelValue:a.editGraphMenu,"onUpdate:modelValue":e[10]||(e[10]=m=>a.editGraphMenu=m),target:[a.editGraphMenuX,a.editGraphMenuY],absolute:""},{default:l(()=>[s(P,null,{default:l(()=>[s(V,{onClick:e[9]||(e[9]=m=>a.editGraph=!0)},{default:l(()=>[s(T,{style:{cursor:"pointer"}},{default:l(()=>[f(" Edit "+C(a.title),1)]),_:1})]),_:1})]),_:1})]),_:1},8,["modelValue","target"])):_("",!0),a.editItem?(v(),b(q,{key:2,modelValue:a.editItem,"onUpdate:modelValue":e[11]||(e[11]=m=>a.editItem=m),colors:a.colors,item:a.selectedItem,onChangeColor:r.changeColor,onChangeLimits:r.changeLimits,onCancel:e[12]||(e[12]=m=>a.editItem=!1),onClose:r.closeEditItem},null,8,["modelValue","colors","item","onChangeColor","onChangeLimits","onClose"])):_("",!0),a.itemMenu?(v(),b($,{key:3,modelValue:a.itemMenu,"onUpdate:modelValue":e[16]||(e[16]=m=>a.itemMenu=m),target:[a.itemMenuX,a.itemMenuY],absolute:""},{default:l(()=>[s(P,{nav:"",density:"compact"},{default:l(()=>[s(Z,null,{default:l(()=>[f(C(a.selectedItem.targetName)+" "+C(a.selectedItem.packetName)+" "+C(a.selectedItem.itemName),1)]),_:1}),s(V,{onClick:e[13]||(e[13]=m=>a.editItem=!0)},{prepend:l(()=>[s(S,{icon:"mdi-pencil"})]),default:l(()=>[s(T,null,{default:l(()=>[...e[26]||(e[26]=[f(" Edit ",-1)])]),_:1})]),_:1}),s(V,{onClick:e[14]||(e[14]=m=>r.clearData([a.selectedItem]))},{prepend:l(()=>[s(S,{icon:"mdi-eraser"})]),default:l(()=>[s(T,null,{default:l(()=>[...e[27]||(e[27]=[f(" Clear ",-1)])]),_:1})]),_:1}),s(V,{onClick:e[15]||(e[15]=m=>r.removeItems([a.selectedItem]))},{prepend:l(()=>[s(S,{icon:"mdi-delete"})]),default:l(()=>[s(T,null,{default:l(()=>[...e[28]||(e[28]=[f(" Delete ",-1)])]),_:1})]),_:1})]),_:1})]),_:1},8,["modelValue","target"])):_("",!0),a.legendMenu?(v(),b($,{key:4,modelValue:a.legendMenu,"onUpdate:modelValue":e[21]||(e[21]=m=>a.legendMenu=m),target:[a.legendMenuX,a.legendMenuY],absolute:""},{default:l(()=>[s(P,null,{default:l(()=>[s(V,{onClick:e[17]||(e[17]=m=>r.moveLegend("top"))},{default:l(()=>[s(T,{style:{cursor:"pointer"}},{default:l(()=>[...e[29]||(e[29]=[f(" Legend Top ",-1)])]),_:1})]),_:1}),s(V,{onClick:e[18]||(e[18]=m=>r.moveLegend("bottom"))},{default:l(()=>[s(T,{style:{cursor:"pointer"}},{default:l(()=>[...e[30]||(e[30]=[f(" Legend Bottom ",-1)])]),_:1})]),_:1}),s(V,{onClick:e[19]||(e[19]=m=>r.moveLegend("left"))},{default:l(()=>[s(T,{style:{cursor:"pointer"}},{default:l(()=>[...e[31]||(e[31]=[f(" Legend Left ",-1)])]),_:1})]),_:1}),s(V,{onClick:e[20]||(e[20]=m=>r.moveLegend("right"))},{default:l(()=>[s(T,{style:{cursor:"pointer"}},{default:l(()=>[...e[32]||(e[32]=[f(" Legend RIght ",-1)])]),_:1})]),_:1})]),_:1})]),_:1},8,["modelValue","target"])):_("",!0),i.sparkline?_("",!0):(v(),M("div",we,[s(F,{text:"Click item to toggle, Right click to edit",location:"top"},{activator:l(({props:m})=>[s(S,te(ie(m)),{default:l(()=>[...e[33]||(e[33]=[f(" mdi-information-variant-circle ",-1)])]),_:1},16)]),_:1})],512))])}const _e=le("M",Y(xe,[["render",ke],["__scopeId","data-v-67dfc974"]]))}}});
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
System.register(["./Layout-DW5yNlp7-a04881cc025866ca3e70.js","vue","./main-651b12795c7d3f57ff0a.js","./Widget-VCl8Ts8s-95d14cdc312d1d87d6e4.js","vue-router","single-spa","vuex","vuetify"],function(d,k){"use strict";var a,i,r,c,o,u,m,g,p,f;return{setters:[e=>{a=e.r},e=>{i=e.createElementBlock,r=e.openBlock,c=e.normalizeStyle,o=e.Fragment,u=e.renderList,m=e.createBlock,g=e.resolveDynamicComponent,p=e.mergeProps},e=>{f=e.d},null,null,null,null,null],execute:function(){const e={mixins:[a],created:function(){if(this.parameters[0]){let n=this.parameters[0];this.widgets.forEach(l=>{l.settings.find(s=>s[0]==="MARGIN"||s[0].startsWith("RAW")&&s[1].toUpperCase().includes("MARGIN"))===void 0&&l.settings.push(["MARGIN",n])})}}};function y(n,l,s,w,B,N){return r(),i("div",{ref:"container",class:"d-flex flex-row",style:c(n.computedStyle)},[(r(!0),i(o,null,u(n.widgets,(t,v)=>(r(),m(g(t.type),p({ref_for:!0},n.listeners,{key:v,target:t.target,parameters:t.parameters,settings:t.settings,"screen-values":n.screenValues,"screen-time-zone":n.screenTimeZone,widgets:t.widgets,name:t.name,line:t.line,"line-number":t.lineNumber}),null,16,["target","parameters","settings","screen-values","screen-time-zone","widgets","name","line","line-number"]))),128))],4)}const h=d("default",f(e,[["render",y]]))}}});
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
System.register(["./Widget-VCl8Ts8s-95d14cdc312d1d87d6e4.js","vue","./main-651b12795c7d3f57ff0a.js","vue-router","single-spa","vuex","vuetify"],function(s,i){"use strict";var t,l,n,r,u;return{setters:[e=>{t=e.o},e=>{l=e.createElementBlock,n=e.openBlock,r=e.normalizeStyle},e=>{u=e.d},null,null,null,null],execute:function(){const e={mixins:[t]};function o(c,m,f,y,d,p){return n(),l("hr",{style:r(c.computedStyle)},null,4)}const a=s("default",u(e,[["render",o]]))}}});
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
System.register(["./Widget-VCl8Ts8s-95d14cdc312d1d87d6e4.js","vue","./main-651b12795c7d3f57ff0a.js","vue-router","single-spa","vuex","vuetify"],function(l,o){"use strict";var a,s,n,r,i;return{setters:[e=>{a=e.o},e=>{s=e.createElementBlock,n=e.openBlock,r=e.normalizeStyle},e=>{i=e.d},null,null,null,null],execute:function(){const e={mixins:[a],data:function(){return{valueId:null,imageData:""}},computed:{src:function(){return`data:image/${this.parameters[3]};base64, ${this.screenValues[this.valueId][0]}`}},created:function(){this.valueId=`${this.parameters[0]}__${this.parameters[1]}__${this.parameters[2]}__CONVERTED`,this.$emit("addItem",this.valueId)},unmounted:function(){this.$emit("deleteItem",this.valueId)}},u=["src","alt","width","height"];function c(t,h,p,v,$,m){return n(),s("img",{src:m.src,alt:t.valueId,width:t.parameters[4],height:t.parameters[5],style:r(t.computedStyle)},null,12,u)}const d=l("default",i(e,[["render",c]]))}}});
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
System.register(["./Widget-VCl8Ts8s-95d14cdc312d1d87d6e4.js","./LabelWidget-D71FfOSw-2236774228b5f5147e34.js","./LedWidget-DUvJ2v8k-9e2485196914e23d2538.js","vue","./main-651b12795c7d3f57ff0a.js","./DetailsDialog-Bq7SS7bc-370ad81c0b8d58b6beb7.js","single-spa","vue-router","vuex","vuetify"],function(g,S){"use strict";var l,r,a,s,i,o,c,n,u,d;return{setters:[e=>{l=e.o},e=>{r=e.default},e=>{a=e.default},e=>{s=e.resolveComponent,i=e.createElementBlock,o=e.openBlock,c=e.normalizeStyle,n=e.createVNode,u=e.mergeProps},e=>{d=e.d},null,null,null,null,null],execute:function(){const e={mixins:[l],components:{LabelWidget:r,LedWidget:a},computed:{labelName(){return[this.parameters[2]+":"]}}};function p(t,b,w,y,W,m){const f=s("label-widget"),v=s("led-widget");return o(),i("div",{ref:"container",class:"d-flex flex-row",style:c(t.computedStyle)},[n(f,{parameters:m.labelName,settings:[...t.appliedSettings],"widget-index":0},null,8,["parameters","settings"]),n(v,u(t.$attrs,{parameters:t.parameters,settings:[...t.appliedSettings],"screen-values":t.screenValues,"widget-index":1}),null,16,["parameters","settings","screen-values"])],4)}const x=g("default",d(e,[["render",p]]))}}});
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
System.register(["./Widget-VCl8Ts8s-95d14cdc312d1d87d6e4.js","./LabelWidget-D71FfOSw-2236774228b5f5147e34.js","./ProgressbarWidget-B5WN658S-bc544e73206a78e9249f.js","vue","./main-651b12795c7d3f57ff0a.js","vue-router","single-spa","vuex","vuetify"],function(g,y){"use strict";var n,l,a,s,o,i,c,r,u,d;return{setters:[e=>{n=e.o},e=>{l=e.default},e=>{a=e.default},e=>{s=e.resolveComponent,o=e.createElementBlock,i=e.openBlock,c=e.normalizeStyle,r=e.createVNode,u=e.mergeProps},e=>{d=e.d},null,null,null,null],execute:function(){const e={mixins:[n],components:{LabelWidget:l,ProgressbarWidget:a},computed:{labelName(){return[this.parameters[2]+":"]}}};function p(t,b,w,x,W,m){const f=s("label-widget"),v=s("progressbar-widget");return i(),o("div",{ref:"container",class:"d-flex flex-row",style:c(t.computedStyle)},[r(f,{parameters:m.labelName,settings:[...t.appliedSettings],"widget-index":0},null,8,["parameters","settings"]),r(v,u(t.$attrs,{parameters:t.parameters,settings:[...t.appliedSettings],"screen-values":t.screenValues,style:t.computedStyle,"widget-index":1}),null,16,["parameters","settings","screen-values","style"])],4)}const S=g("default",d(e,[["render",p]]))}}});
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
System.register(["./Widget-VCl8Ts8s-95d14cdc312d1d87d6e4.js","./LabelWidget-D71FfOSw-2236774228b5f5147e34.js","./SparklineWidget-D8mb4zLt-9e4d79986e2c57d73440.js","vue","./main-651b12795c7d3f57ff0a.js","./GraphWidget-BpkPpAbd-f051d1e664ed931ea4b2.js","./Graph-B7KPo9Ul-7b306a369c80cfe4bf4a.js","./TargetPacketItemChooser-DGcXvdTX-422956920d910f64a05d.js","single-spa","vue-router","vuex","vuetify"],function(p,b){"use strict";var r,i,a,l,o,u,n,s,d;return{setters:[e=>{r=e.o},e=>{i=e.default},e=>{a=e.default},e=>{l=e.resolveComponent,o=e.createElementBlock,u=e.openBlock,n=e.normalizeStyle,s=e.createVNode},e=>{d=e.d},null,null,null,null,null,null,null],execute:function(){const e={mixins:[r],components:{LabelWidget:i,SparklineWidget:a},computed:{labelName(){return[this.parameters[2]+":"]}}};function c(t,y,k,v,j,m){const g=l("label-widget"),f=l("sparkline-widget");return u(),o("div",{ref:"container",class:"d-flex flex-row",style:n(t.computedStyle)},[s(g,{parameters:m.labelName,settings:[...t.appliedSettings],line:t.line,lineNumber:t.lineNumber,"widget-index":0},null,8,["parameters","settings","line","lineNumber"]),s(f,{parameters:t.parameters,settings:[...t.appliedSettings],style:n(t.computedStyle),"widget-index":1},null,8,["parameters","settings","style"])],4)}const S=p("default",d(e,[["render",c]]))}}});
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
System.register(["./Widget-VCl8Ts8s-95d14cdc312d1d87d6e4.js","./LabelWidget-D71FfOSw-2236774228b5f5147e34.js","./ValueWidget-BxWrHkYY-2278104ac60275e9299f.js","vue","./main-651b12795c7d3f57ff0a.js","vue-router","single-spa","vuex","vuetify","./DetailsDialog-Bq7SS7bc-370ad81c0b8d58b6beb7.js","./VWidget-CBmUpKSV-8813886a1679fe6a0d79.js"],function(d,f){"use strict";var l,s,a,n,i,u,m,r,o,c;return{setters:[e=>{l=e.o},e=>{s=e.default},e=>{a=e.default},e=>{n=e.resolveComponent,i=e.createElementBlock,u=e.openBlock,m=e.normalizeStyle,r=e.createVNode,o=e.mergeProps},e=>{c=e.d},null,null,null,null,null,null],execute:function(){const e={mixins:[l],components:{LabelWidget:s,ValueWidget:a},computed:{labelName(){let t=this.parameters[2];return t.includes("[[")&&(t=t.replace("[[","[").replace("]]","]")),[t+":"]},valueParameters(){return[this.parameters[0],this.parameters[1],this.parameters[2],this.parameters[3],this.parameters[4]]}}};function g(t,x,V,h,w,p){const v=n("label-widget"),b=n("value-widget");return u(),i("div",{ref:"container",class:"d-flex flex-row",style:m(t.computedStyle)},[r(v,{parameters:p.labelName,settings:[...t.appliedSettings],line:t.line,"line-number":t.lineNumber,"widget-index":0},null,8,["parameters","settings","line","line-number"]),r(b,o(t.$attrs,{parameters:p.valueParameters,settings:[...t.appliedSettings],"screen-values":t.screenValues,"screen-time-zone":t.screenTimeZone,line:t.line,"line-number":t.lineNumber,"widget-index":1}),null,16,["parameters","settings","screen-values","screen-time-zone","line","line-number"])],4)}const S=d("default",c(e,[["render",g]]))}}});
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
System.register(["./Widget-VCl8Ts8s-95d14cdc312d1d87d6e4.js","./LabelWidget-D71FfOSw-2236774228b5f5147e34.js","./ValueWidget-BxWrHkYY-2278104ac60275e9299f.js","./main-651b12795c7d3f57ff0a.js","vue","./DetailsDialog-Bq7SS7bc-370ad81c0b8d58b6beb7.js","single-spa","./VWidget-CBmUpKSV-8813886a1679fe6a0d79.js","vue-router","vuex","vuetify"],function(d,B){"use strict";var n,a,i,l,u,s,m,o,c,r,p;return{setters:[e=>{n=e.o},e=>{a=e.default},e=>{i=e.default},e=>{l=e.d,u=e.B},e=>{s=e.resolveComponent,m=e.createElementBlock,o=e.openBlock,c=e.normalizeStyle,r=e.createVNode,p=e.mergeProps},null,null,null,null,null,null],execute:function(){const e={components:{LabelWidget:a,ValueWidget:i},mixins:[n],data(){return{description:"",valueParameters:[]}},computed:{labelName(){return[this.description]}},created(){this.valueParameters=this.parameters.slice(0,3),this.parameters[4]!=null&&this.valueParameters.push(this.parameters[4]),this.parameters[5]!=null&&this.valueParameters.push(this.parameters[5]),this.parameters.length>3?this.description=this.parameters[3]:new u().get_item(this.parameters[0],this.parameters[1],this.parameters[2]).then(t=>{this.description=t.description})}};function g(t,w,x,P,h,v){const b=s("label-widget"),f=s("value-widget");return o(),m("div",{ref:"container",class:"d-flex flex-row",style:c(t.computedStyle)},[r(b,{parameters:v.labelName,settings:[...t.settings],line:t.line,"line-number":t.lineNumber,"widget-index":0},null,8,["parameters","settings","line","line-number"]),r(f,p(t.$attrs,{parameters:h.valueParameters,settings:[...t.settings],"screen-values":t.screenValues,"screen-time-zone":t.screenTimeZone,line:t.line,"line-number":t.lineNumber,"widget-index":1}),null,16,["parameters","settings","screen-values","screen-time-zone","line","line-number"])],4)}const S=d("default",l(e,[["render",g]]))}}});
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
System.register(["./LabelvalueWidget-BS0EPY5h-b2d50ca8ebebfb8070d3.js","./LimitsbarWidget-BehZv0-k-9abf0cdf88d8d5f1d1bd.js","./Widget-VCl8Ts8s-95d14cdc312d1d87d6e4.js","vue","./main-651b12795c7d3f57ff0a.js","./LabelWidget-D71FfOSw-2236774228b5f5147e34.js","./ValueWidget-BxWrHkYY-2278104ac60275e9299f.js","./DetailsDialog-Bq7SS7bc-370ad81c0b8d58b6beb7.js","single-spa","./VWidget-CBmUpKSV-8813886a1679fe6a0d79.js","./BarColumn-XWs-3Cwb-21c0dd0f2e2d81d838b0.js","vue-router","vuex","vuetify"],function(g,S){"use strict";var r,i,a,s,u,o,c,l,n,m;return{setters:[e=>{r=e.default},e=>{i=e.default},e=>{a=e.o},e=>{s=e.resolveComponent,u=e.createElementBlock,o=e.openBlock,c=e.normalizeStyle,l=e.createVNode,n=e.mergeProps},e=>{m=e.d},null,null,null,null,null,null,null,null,null],execute:function(){const e={mixins:[a],components:{LabelvalueWidget:r,LimitsbarWidget:i},computed:{labelValueSettings(){return[...this.appliedSettings.filter(t=>t[0]==="__SCREEN_ID__"),...this.settings.filter(t=>parseInt(t[0])===0||parseInt(t[0])===1)]}}};function p(t,B,V,W,j,d){const v=s("labelvalue-widget"),b=s("limitsbar-widget");return o(),u("div",{ref:"container",class:"d-flex flex-row",style:c(t.computedStyle)},[l(v,n(t.$attrs,{parameters:t.parameters,settings:d.labelValueSettings,"screen-values":t.screenValues,"screen-time-zone":t.screenTimeZone}),null,16,["parameters","settings","screen-values","screen-time-zone"]),l(b,n(t.$attrs,{parameters:t.parameters,settings:[...t.appliedSettings],"screen-values":t.screenValues,"widget-index":2,line:t.line,lineNumber:t.lineNumber}),null,16,["parameters","settings","screen-values","line","lineNumber"])],4)}const f=g("default",m(e,[["render",p]]))}}});
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
System.register(["./LabelWidget-D71FfOSw-2236774228b5f5147e34.js","./ValueWidget-BxWrHkYY-2278104ac60275e9299f.js","./LimitscolumnWidget-CjBy-CCI-da3d3299dd370fd29ad2.js","./Widget-VCl8Ts8s-95d14cdc312d1d87d6e4.js","vue","./main-651b12795c7d3f57ff0a.js","./DetailsDialog-Bq7SS7bc-370ad81c0b8d58b6beb7.js","single-spa","./VWidget-CBmUpKSV-8813886a1679fe6a0d79.js","./BarColumn-XWs-3Cwb-21c0dd0f2e2d81d838b0.js","vue-router","vuex","vuetify"],function(d,W){"use strict";var r,i,a,u,s,o,c,m,n,l,g;return{setters:[e=>{r=e.default},e=>{i=e.default},e=>{a=e.default},e=>{u=e.o},e=>{s=e.resolveComponent,o=e.createElementBlock,c=e.openBlock,m=e.normalizeStyle,n=e.createVNode,l=e.mergeProps},e=>{g=e.d},null,null,null,null,null,null,null],execute:function(){const e={mixins:[u],components:{LabelWidget:r,ValueWidget:i,LimitscolumnWidget:a}};function p(t,b,j,B,C,V){const v=s("label-widget"),S=s("limitscolumn-widget"),f=s("value-widget");return c(),o("div",{ref:"container",style:m(t.computedStyle)},[n(v,{parameters:[t.parameters[2]],settings:[...t.appliedSettings],"widget-index":0},null,8,["parameters","settings"]),n(S,l(t.$attrs,{parameters:t.parameters,settings:[...t.appliedSettings],"screen-values":t.screenValues,"widget-index":2,line:t.line,lineNumber:t.lineNumber}),null,16,["parameters","settings","screen-values","line","lineNumber"]),n(f,l(t.$attrs,{parameters:t.parameters,settings:[...t.appliedSettings],"screen-values":t.screenValues,"screen-time-zone":t.screenTimeZone,"widget-index":1}),null,16,["parameters","settings","screen-values","screen-time-zone"])],4)}const w=d("default",g(e,[["render",p]]))}}});
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
System.register(["./LabelvalueWidget-BS0EPY5h-b2d50ca8ebebfb8070d3.js","./RangebarWidget-Dn0GASdi-efd25afb6da2563deeec.js","./Widget-VCl8Ts8s-95d14cdc312d1d87d6e4.js","vue","./main-651b12795c7d3f57ff0a.js","./LabelWidget-D71FfOSw-2236774228b5f5147e34.js","vue-router","single-spa","vuex","vuetify","./ValueWidget-BxWrHkYY-2278104ac60275e9299f.js","./DetailsDialog-Bq7SS7bc-370ad81c0b8d58b6beb7.js","./VWidget-CBmUpKSV-8813886a1679fe6a0d79.js"],function(g,f){"use strict";var l,i,u,s,m,o,p,r,a,c;return{setters:[e=>{l=e.default},e=>{i=e.default},e=>{u=e.o},e=>{s=e.resolveComponent,m=e.createElementBlock,o=e.openBlock,p=e.normalizeStyle,r=e.createVNode,a=e.mergeProps},e=>{c=e.d},null,null,null,null,null,null,null,null],execute:function(){const e={mixins:[u],components:{LabelvalueWidget:l,RangebarWidget:i},computed:{labelValueSettings(){return[...this.settings.filter(t=>t[0]==="__SCREEN_ID__"),...this.settings.filter(t=>parseInt(t[0])===0||parseInt(t[0])===1)]},labelValueParameters(){return[this.parameters[0],this.parameters[1],this.parameters[2],this.parameters[5],this.parameters[6]]},rangeBarParameters(){return[this.parameters[0],this.parameters[1],this.parameters[2],this.parameters[3],this.parameters[4],this.parameters[5],this.parameters[7],this.parameters[8]]}}};function d(t,b,V,B,W,n){const h=s("labelvalue-widget"),v=s("rangebar-widget");return o(),m("div",{ref:"container",class:"d-flex flex-row",style:p(t.computedStyle)},[r(h,a(t.$attrs,{parameters:n.labelValueParameters,settings:n.labelValueSettings,"screen-values":t.screenValues,"screen-time-zone":t.screenTimeZone}),null,16,["parameters","settings","screen-values","screen-time-zone"]),r(v,a(t.$attrs,{parameters:n.rangeBarParameters,settings:[...t.appliedSettings],"screen-values":t.screenValues,"widget-index":2}),null,16,["parameters","settings","screen-values"])],4)}const S=g("default",c(e,[["render",d]]))}}});
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
System.register(["./Widget-VCl8Ts8s-95d14cdc312d1d87d6e4.js"],function(s,r){"use strict";var e;return{setters:[t=>{e=t.o}],execute:function(){const t=s("r",{mixins:[e],props:{widgets:{type:Array,default:()=>[]}}})}}});
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
System.register(["./main-651b12795c7d3f57ff0a.js","vue","./DetailsDialog-Bq7SS7bc-370ad81c0b8d58b6beb7.js","single-spa","./Widget-VCl8Ts8s-95d14cdc312d1d87d6e4.js","vue-router","vuex","vuetify"],function(V,T){"use strict";var d,n,h,c,l,i,p,u,v,g,w,x,f,C,S,I;return{setters:[e=>{d=e.d},e=>{n=e.resolveComponent,h=e.createElementBlock,c=e.openBlock,l=e.createVNode,i=e.withCtx,p=e.createElementVNode,u=e.toDisplayString,v=e.mergeProps,g=e.Fragment,w=e.renderList,x=e.createBlock,f=e.withModifiers,C=e.createTextVNode},e=>{S=e.P},null,e=>{I=e.o},null,null,null],execute:function(){const e={components:{DetailsDialog:S},mixins:[I],data(){return{valueId:null,colors:{TRUE:"openc3-green",FALSE:"openc3-red"},viewDetails:!1,contextMenuShown:!1,x:0,y:0,contextMenuOptions:[{title:"Details",action:()=>{this.contextMenuShown=!1,this.viewDetails=!0}},{title:"Graph",action:()=>{window.open("/tools/tlmgrapher/"+encodeURIComponent(this.parameters[0])+"/"+encodeURIComponent(this.parameters[1])+"/"+encodeURIComponent(this.parameters[2])+"/","_blank")}}]}},computed:{width(){return this.parameters[4]?parseInt(this.parameters[4]):20},height(){return this.parameters[5]?parseInt(this.parameters[5]):20},cssProps(){let t=this.screenValues[this.valueId][0],s=this.colors[t];return s||(s=this.colors.ANY),s||(s="openc3-black"),{"--color":s}},fullName(){return this.parameters[0]+" "+this.parameters[1]+" "+this.parameters[2]},getClass(){let t="ledwidget mt-2";return this.screenValues[this.valueId][1]==="STALE"&&(t+=" stale"),t}},created(){this.appliedSettings.forEach(t=>{switch(t[0]){case"LED_COLOR":this.colors[t[1]]=t[2];break}}),this.appliedSettings.push(["WIDTH",this.width]),this.appliedSettings.push(["HEIGHT",this.height]),this.parameters[3]||(this.parameters[3]="CONVERTED"),this.valueId=`${this.parameters[0]}__${this.parameters[1]}__${this.parameters[2]}__${this.parameters[3]}`,this.$emit("addItem",this.valueId)},unmounted(){this.$emit("deleteItem",this.valueId)},methods:{showContextMenu(t){t.preventDefault(),this.contextMenuShown=!1,this.x=t.clientX,this.y=t.clientY,this.$nextTick(()=>{this.contextMenuShown=!0})}}};function _(t,s,B,L,r,o){const k=n("v-tooltip"),D=n("v-list-item-title"),y=n("v-list-item"),E=n("v-list"),M=n("v-menu"),N=n("details-dialog");return c(),h("div",null,[l(k,{"open-delay":600,location:"top"},{activator:i(({props:a})=>[p("div",v({class:o.getClass,style:[o.cssProps,t.computedStyle]},a,{onContextmenu:s[0]||(s[0]=(...m)=>o.showContextMenu&&o.showContextMenu(...m))}),null,16)]),default:i(()=>[p("span",null,u(o.fullName),1)]),_:1}),l(M,{modelValue:r.contextMenuShown,"onUpdate:modelValue":s[1]||(s[1]=a=>r.contextMenuShown=a),target:[r.x,r.y],style:{"z-index":"3000"}},{default:i(()=>[l(E,null,{default:i(()=>[(c(!0),h(g,null,w(r.contextMenuOptions,(a,m)=>(c(),x(y,{key:m,onClick:f(a.action,["stop"])},{default:i(()=>[l(D,null,{default:i(()=>[C(u(a.title),1)]),_:2},1024)]),_:2},1032,["onClick"]))),128))]),_:1})]),_:1},8,["modelValue","target"]),l(N,{modelValue:r.viewDetails,"onUpdate:modelValue":s[2]||(s[2]=a=>r.viewDetails=a),"target-name":t.parameters[0],"packet-name":t.parameters[1],"item-name":t.parameters[2]},null,8,["modelValue","target-name","packet-name","item-name"])])}const $=V("default",d(e,[["render",_],["__scopeId","data-v-566f1a1f"]]))}}});
|