openc3-cosmos-tool-limitsmonitor 6.9.2 → 6.10.0
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/limitsmonitor/{ArrayWidget-C59wpWWk-b242f0f78d4ec1e5d916.js → ArrayWidget-DQRQ7dPa-c7a7532297941744579d.js} +2 -2
- data/tools/limitsmonitor/{ArrayplotWidget-tKqIV461-d37184151f18279406ba.js → ArrayplotWidget-BeSfz3MR-c944b9a8b8dff281b6b5.js} +1 -1
- data/tools/limitsmonitor/{BarColumn-CUO9ur6W-2a92f33d779c53d73a6a.js → BarColumn-BdIaQfOz-48f3fb21c2d891c49628.js} +1 -1
- data/tools/limitsmonitor/{BlockWidget-BdlMR_1A-159baf347005d9e1d082.js → BlockWidget-DSFKrUxl-3c9e5ec9b7ed395663e2.js} +2 -2
- data/tools/limitsmonitor/{ButtonWidget-C2JVmh3p-bd7b7cfdf6283dbb53c3.js → ButtonWidget-CFbjdxSr-c62be08330c58c3c8e1d.js} +2 -2
- data/tools/limitsmonitor/{CanvasWidget-BRbdw1fu-de8f830af5867c946ec3.js → CanvasWidget-BloYxuKE-70acb9545b64a9a74209.js} +1 -1
- data/tools/limitsmonitor/{CanvasdotWidget-C8T_w03p-f7dc4a1f2ad8966a609c.js → CanvasdotWidget-CZxUOPRd-c0887d796a5661fca09a.js} +1 -1
- data/tools/limitsmonitor/{CanvasimageWidget-C1w2vSsG-6a7496c95c9b6540acb8.js → CanvasimageWidget-ULQq3nqZ-99c5cd785ba523ab267d.js} +1 -1
- data/tools/limitsmonitor/{CanvasimagevalueWidget-BMv2SmEq-4749ffa99ea069de1426.js → CanvasimagevalueWidget-jFCVXYhi-a655869fe4d69939d029.js} +1 -1
- data/tools/limitsmonitor/{CanvaslabelWidget-LEBZQ3DR-bd7354f08f6fec8c482b.js → CanvaslabelWidget-DQhBI1vZ-f3cf60a6652f8fe32635.js} +1 -1
- data/tools/limitsmonitor/{CanvaslabelvalueWidget-Q6UdEanF-1ab4a75f1d6e65dc2634.js → CanvaslabelvalueWidget-C4REgztL-f94ae9c6c38336c8088b.js} +1 -1
- data/tools/limitsmonitor/{CanvaslineWidget-BhvBCDoS-bf135a22b0d144e45dc0.js → CanvaslineWidget-S4PCEvZM-f36f2144ebd339d2a827.js} +1 -1
- data/tools/limitsmonitor/{CanvaslinevalueWidget-EaASC9TU-d3321309dff413888c19.js → CanvaslinevalueWidget-597khOSA-f23d3e9f061a8890b2b8.js} +1 -1
- data/tools/limitsmonitor/{CheckbuttonWidget-C3bjQwrp-945b7ee7e37ef11a2d25.js → CheckbuttonWidget-BcblKat3-853004fbc7c067c12014.js} +1 -1
- data/tools/limitsmonitor/{ComboboxWidget-CmruSbJy-aa876dbaa4cd2713adef.js → ComboboxWidget-BMcHS4g5-e752dc661756a80771ad.js} +1 -1
- data/tools/limitsmonitor/{DateWidget-CcUxRlJ2-551dfa276b7100cac01d.js → DateWidget-BpnMzSBn-300e6522caa8eaa1578e.js} +1 -1
- data/tools/limitsmonitor/DetailsDialog-q9piPmHq-bb2b796e2da46cf35b0d.js +1 -0
- data/tools/limitsmonitor/{DynamicWidget-DHL7pbgW-ee761caa2a55b85b903b.js → DynamicWidget-DHL7pbgW-9a637f6edf8688c6c2a2.js} +1 -1
- data/tools/limitsmonitor/{FormatvalueWidget-Lk5K0wTL-25ca230adab91ed8beee.js → FormatvalueWidget-Cm-HmAmw-7104ae2a176e427dd12e.js} +1 -1
- data/tools/limitsmonitor/Graph-BEodMaxQ-2092dec387719d7b5139.js +1 -0
- data/tools/limitsmonitor/{GraphWidget-BaO2FpKo-b5a2a10503add77bc662.js → GraphWidget-CAADBFV--b95d88058875cc9208a8.js} +1 -1
- data/tools/limitsmonitor/{HorizontalWidget-D3Q5IUQg-ca50ad1fc1eba2d84aa0.js → HorizontalWidget-NcXIXxh7-5c44263acfe63b3c25a5.js} +1 -1
- data/tools/limitsmonitor/HorizontalboxWidget-CW9XX4uH-87207d4fff2f3d9f1e3a.js +1 -0
- data/tools/limitsmonitor/{HorizontallineWidget-DZcIetQh-cfe5249f067ca2a0070a.js → HorizontallineWidget-Cu2dDt7k-f2fd5c961066efa218ee.js} +1 -1
- data/tools/limitsmonitor/{IframeWidget-Df7vTYZj-b77db89efea318b00264.js → IframeWidget-BBU3MkSq-af9b2f9227ca5654ccdf.js} +1 -1
- data/tools/limitsmonitor/{ImageLoader-DpKY46fX-5f2add87894c3e0df226.js → ImageLoader-XAGgjKkq-6128dee2d16478103fd1.js} +1 -1
- data/tools/limitsmonitor/{ImageviewerWidget-wHbhv08x-36824de9751f6bbf7cb1.js → ImageviewerWidget-UByjeO63-2447583ff07130d102bf.js} +1 -1
- data/tools/limitsmonitor/{LabelWidget-BehwzOCR-3a4aefd5239727fde942.js → LabelWidget-BsOpolUL-3eb09fc23df0013319f1.js} +1 -1
- data/tools/limitsmonitor/{LabelledWidget-DJKR8ikj-69f4315a44b51c3934d1.js → LabelledWidget-DVOGpgZ--463e1bf41e7263b01c8e.js} +1 -1
- data/tools/limitsmonitor/LabelprogressbarWidget-BeE9fDs6-e5bec7dbb9f611e2e44d.js +1 -0
- data/tools/limitsmonitor/LabelsparklineWidget-Bj7trKML-32528e1e03bb7608b92e.js +1 -0
- data/tools/limitsmonitor/LabelvalueWidget-Dwqsh5o2-958b26a2b4cdf4c7bf6c.js +1 -0
- data/tools/limitsmonitor/{LabelvaluedescWidget-DgNX7tK2-3e7e18cc547980003cc9.js → LabelvaluedescWidget-Cfu2vuja-1645e2ad78d2b498325f.js} +1 -1
- data/tools/limitsmonitor/LabelvaluelimitsbarWidget-DYV68AJ_-ca9d9fc270ee3058ac78.js +1 -0
- data/tools/limitsmonitor/LabelvaluelimitscolumnWidget-CtaoTixt-c67903a045c798b91e80.js +1 -0
- data/tools/limitsmonitor/{LabelvaluerangebarWidget-CQ0xCUFU-9036bf0737f64ab1a95a.js → LabelvaluerangebarWidget-3EaUB6E6-acfa82c367f43faa8c44.js} +1 -1
- data/tools/limitsmonitor/{Layout-CrCMUbtG-db0ee1c21c4515add7f4.js → Layout-DNR3xnku-5314828d9e78fc4b40c8.js} +1 -1
- data/tools/limitsmonitor/{LedWidget-DzQNEDF7-9bfcb4415664b1f99f9b.js → LedWidget-Gi6GXtrW-584ea1db5a5b44e21b79.js} +1 -1
- data/tools/limitsmonitor/LimitsMonitor-81402ab26c3eb7469ddf.js +8 -0
- data/tools/limitsmonitor/{LimitsbarWidget-zkoAz9SQ-bf349bef4733df6453c7.js → LimitsbarWidget-BTZQY9XQ-887f18afcd44aede9233.js} +1 -1
- data/tools/limitsmonitor/{LimitscolorWidget-dez316Rk-fa325823b203b17021e5.js → LimitscolorWidget-CFnmvlrA-8b3196ea3f44ec29a470.js} +1 -1
- data/tools/limitsmonitor/{LimitscolumnWidget-D-IPNDVg-1dff9d2c7748edbd62fd.js → LimitscolumnWidget-DSsz36tT-61c54c580f42c5757636.js} +1 -1
- data/tools/limitsmonitor/{LinegraphWidget-CicnZgjt-af8aef15fb574454bf2c.js → LinegraphWidget-CeBijgDo-4f770ef9479c7b5e3990.js} +1 -1
- data/tools/limitsmonitor/{MatrixbycolumnsWidget-D3qN6GTr-b90e9f87eb5fec623eab.js → MatrixbycolumnsWidget-DX9uhjAv-223dcb4fa13b30e8dc27.js} +1 -1
- data/tools/limitsmonitor/{ProgressbarWidget-CLilcPBe-b9c50749a2d3ee67b75d.js → ProgressbarWidget-DJepvOip-78666f10bf80afbfb7c3.js} +1 -1
- data/tools/limitsmonitor/{RadiobuttonWidget-Dsy01RJ--855ed1a9b04cb42732ab.js → RadiobuttonWidget-4e8ROIfg-fe7d723ee73a5bf6bd06.js} +1 -1
- data/tools/limitsmonitor/RadiogroupWidget-CUucj6aT-27cf7805d23d5d1d1706.js +1 -0
- data/tools/limitsmonitor/{RangebarWidget-DhcoIdNf-46c8d3c7639f05cc63f4.js → RangebarWidget-Bu4rqlrx-1d3909dc08a45caec8a3.js} +1 -1
- data/tools/limitsmonitor/{RollupWidget-BypuPvE7-9805478a8113da1c32fc.js → RollupWidget-ByLvEEau-c94785ef173dfc8da208.js} +1 -1
- data/tools/limitsmonitor/{ScrollwindowWidget-DNQgHoNO-92cd9d075d77f49d7a4a.js → ScrollwindowWidget-CXJ9QGN1-b598cf34079889eea57f.js} +1 -1
- data/tools/limitsmonitor/{SignalWidget-BHwyScCG-62356b37e5f3bd598be2.js → SignalWidget-qvL2YZJA-935495d803fa69d5d78e.js} +1 -1
- data/tools/limitsmonitor/{SpacerWidget-CFxXXTm7-45b8665f69c3d505e350.js → SpacerWidget-CaWx41K7-bbf2c7b2a7733320f99b.js} +1 -1
- data/tools/limitsmonitor/{SparklineWidget-C0lRpRrp-bae763739e23346a0ef4.js → SparklineWidget-BkNSRypJ-a346bac164f770964729.js} +1 -1
- data/tools/limitsmonitor/TabbookWidget-MsrRG1vn-51498984f018e651756d.js +1 -0
- data/tools/limitsmonitor/{TextboxWidget-DoA2b3YU-34a47a86aa0deb41c5b7.js → TextboxWidget-DbwpPVGB-76a8bf61327112842a33.js} +1 -1
- data/tools/limitsmonitor/{TextfieldWidget-Dj4DV74o-45dd7f64e78433cea9b6.js → TextfieldWidget-DzMlTMYW-8137530e6c4f809bdd48.js} +1 -1
- data/tools/limitsmonitor/{TimeWidget-DAQDQ0UM-1980b7e09a57f6604c2a.js → TimeWidget-BHybAfg8-329352d52cc0a62babea.js} +1 -1
- data/tools/limitsmonitor/{TitleWidget-Ct0JlY9s-deb44828ad2996964646.js → TitleWidget-DL_sE5YE-b184f3d107d589c754aa.js} +1 -1
- data/tools/limitsmonitor/VWidget-D06LY-Yc-ebd4169882dd0a6ed58d.js +1 -0
- data/tools/limitsmonitor/{ValueWidget-QaBYsiZz-6c282d12a740afb69483.js → ValueWidget-CGT0LV_n-61e108655b7e15bfd2e4.js} +1 -1
- data/tools/limitsmonitor/{ValuelimitsbarWidget-CFToRM7w-868395918b60f02bedf0.js → ValuelimitsbarWidget-CmpyPO-1-b491db90eae3d5a518ea.js} +1 -1
- data/tools/limitsmonitor/ValuelimitscolumnWidget-jzxrQd-f-82e3de73000d49277fad.js +1 -0
- data/tools/limitsmonitor/{ValuerangebarWidget-CChK2Lmm-1131f107a0f2e7cdbb8e.js → ValuerangebarWidget-C8ckuAeh-8ed320172527314d8ee6.js} +1 -1
- data/tools/limitsmonitor/{VerticalWidget-C8iN5DJK-6dcf0704901b6ba19dd3.js → VerticalWidget-qN82km_m-761b0ae3a4f5ae5df2be.js} +1 -1
- data/tools/limitsmonitor/VerticalboxWidget-CiJZDlHJ-7be3e82cbf0b146913c1.js +1 -0
- data/tools/limitsmonitor/{Widget-Cx1jBJHK-ced10deedfc13f34afdc.js → Widget-DXvVFSH5-6b6b120cb8369fca6958.js} +1 -1
- data/tools/limitsmonitor/{main-aa2b3090dbae2d05f657.js → main-11ad5b3ddd59fe0fb743.js} +54 -54
- data/tools/limitsmonitor/main.js +1 -1
- metadata +68 -68
- data/tools/limitsmonitor/DetailsDialog-DxYZre4A-18843fd5daf1ed05e2e7.js +0 -1
- data/tools/limitsmonitor/Graph-CjEE2WxX-aed1d272d8422a7f0cc1.js +0 -1
- data/tools/limitsmonitor/HorizontalboxWidget-D7bUUqfG-34470232acb431141b51.js +0 -1
- data/tools/limitsmonitor/LabelprogressbarWidget-D4Qzq894-b711ed1c73c23e349ea1.js +0 -1
- data/tools/limitsmonitor/LabelsparklineWidget-CwCOklZG-bac7fe4631d0c0f60580.js +0 -1
- data/tools/limitsmonitor/LabelvalueWidget-DW8Q7BTX-9ddba17783c123476561.js +0 -1
- data/tools/limitsmonitor/LabelvaluelimitsbarWidget-DAEBW0hU-8621e81acfd6ce993477.js +0 -1
- data/tools/limitsmonitor/LabelvaluelimitscolumnWidget-Dok-of6n-51b5831f261b688cdbf7.js +0 -1
- data/tools/limitsmonitor/LimitsMonitor-5b3d35f7fef478749bef.js +0 -8
- data/tools/limitsmonitor/RadiogroupWidget-BNcVGNj1-4134b7d1337d9e493309.js +0 -1
- data/tools/limitsmonitor/TabbookWidget-CeeBOYOt-b601700ef04d1dc9c967.js +0 -1
- data/tools/limitsmonitor/VWidget-A802LGvR-1f0bc51907a47fd7869f.js +0 -1
- data/tools/limitsmonitor/ValuelimitscolumnWidget-BG7naMYx-218a517b80d4245e4008.js +0 -1
- data/tools/limitsmonitor/VerticalboxWidget-CXwUSWrP-bb5783c9aa58ac881040.js +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
System.register(["./Widget-
|
|
1
|
+
System.register(["./Widget-DXvVFSH5-6b6b120cb8369fca6958.js","vue","./main-11ad5b3ddd59fe0fb743.js","vue-router","single-spa","vuex","vuetify"],function(m,h){"use strict";var s,n,i,l,a,r;return{setters:[t=>{s=t.o},t=>{n=t.createElementBlock,i=t.openBlock,l=t.normalizeStyle,a=t.toDisplayString},t=>{r=t.d},null,null,null,null],execute:function(){const t={mixins:[s],data(){return{fontFamily:null,fontSize:null,fontWeight:"normal",fontStyle:"normal"}},computed:{labelText(){return this.parameters[0]},cssProps(){let e=null;return this.fontSize&&(e=this.fontSize+"px"),{"--font-family":this.fontFamily,"--font-size":e,"--font-weight":this.fontWeight,"--font-style":this.fontStyle}}},created(){this.verifyNumParams("LABEL",1,5,"LABEL <Text> <Font Family> <Font Size> <Font Weight> <Font Style>"),this.parameters[1]&&(this.fontFamily=this.parameters[1]),this.parameters[2]&&(this.fontSize=this.parameters[2]),this.parameters[3]&&(this.fontWeight=this.parameters[3]),this.parameters[4]&&(this.fontStyle=this.parameters[4])}};function f(e,p,c,y,S,o){return i(),n("div",{"data-test":"label",class:"pa-1 label",style:l([o.cssProps,e.computedStyle])},a(o.labelText),5)}const u=m("default",r(t,[["render",f],["__scopeId","data-v-60d4d785"]]))}}});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
System.register(["./Widget-
|
|
1
|
+
System.register(["./Widget-DXvVFSH5-6b6b120cb8369fca6958.js","./LabelWidget-BsOpolUL-3eb09fc23df0013319f1.js","./LedWidget-Gi6GXtrW-584ea1db5a5b44e21b79.js","vue","./main-11ad5b3ddd59fe0fb743.js","./DetailsDialog-q9piPmHq-bb2b796e2da46cf35b0d.js","single-spa","vue-router","vuex","vuetify"],function(p,x){"use strict";var l,r,a,s,i,o,u,n,c,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,u=e.normalizeStyle,n=e.createVNode,c=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 g(t,W,b,w,y,m){const f=s("label-widget"),v=s("led-widget");return o(),i("div",{ref:"container",class:"d-flex flex-row",style:u(t.computedStyle)},[n(f,{parameters:m.labelName,settings:[...t.appliedSettings],"widget-index":0},null,8,["parameters","settings"]),n(v,c(t.$attrs,{parameters:t.parameters,settings:[...t.appliedSettings],"screen-values":t.screenValues,"widget-index":1}),null,16,["parameters","settings","screen-values"])],4)}const S=p("default",d(e,[["render",g]]))}}});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
System.register(["./Widget-DXvVFSH5-6b6b120cb8369fca6958.js","./LabelWidget-BsOpolUL-3eb09fc23df0013319f1.js","./ProgressbarWidget-DJepvOip-78666f10bf80afbfb7c3.js","vue","./main-11ad5b3ddd59fe0fb743.js","vue-router","single-spa","vuex","vuetify"],function(d,y){"use strict";var n,l,a,s,o,i,c,r,p,u;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,p=e.mergeProps},e=>{u=e.d},null,null,null,null],execute:function(){const e={mixins:[n],components:{LabelWidget:l,ProgressbarWidget:a},computed:{labelName(){return[this.parameters[2]+":"]}}};function g(t,S,x,w,B,m){const v=s("label-widget"),f=s("progressbar-widget");return i(),o("div",{ref:"container",class:"d-flex flex-row",style:c(t.computedStyle)},[r(v,{parameters:m.labelName,settings:[...t.appliedSettings],"widget-index":0},null,8,["parameters","settings"]),r(f,p(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 b=d("default",u(e,[["render",g]]))}}});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
System.register(["./Widget-DXvVFSH5-6b6b120cb8369fca6958.js","./LabelWidget-BsOpolUL-3eb09fc23df0013319f1.js","./SparklineWidget-BkNSRypJ-a346bac164f770964729.js","vue","./main-11ad5b3ddd59fe0fb743.js","./GraphWidget-CAADBFV--b95d88058875cc9208a8.js","./Graph-BEodMaxQ-2092dec387719d7b5139.js","single-spa","vue-router","vuex","vuetify"],function(d,f){"use strict";var s,i,a,l,o,u,n,r,p;return{setters:[e=>{s=e.o},e=>{i=e.default},e=>{a=e.default},e=>{l=e.resolveComponent,o=e.createElementBlock,u=e.openBlock,n=e.normalizeStyle,r=e.createVNode},e=>{p=e.d},null,null,null,null,null,null],execute:function(){const e={mixins:[s],components:{LabelWidget:i,SparklineWidget:a},computed:{labelName(){return[this.parameters[2]+":"]}}};function c(t,b,v,k,x,m){const g=l("label-widget"),S=l("sparkline-widget");return u(),o("div",{ref:"container",class:"d-flex flex-row",style:n(t.computedStyle)},[r(g,{parameters:m.labelName,settings:[...t.appliedSettings],line:t.line,lineNumber:t.lineNumber,"widget-index":0},null,8,["parameters","settings","line","lineNumber"]),r(S,{parameters:t.parameters,settings:[...t.appliedSettings],style:n(t.computedStyle),"widget-index":1},null,8,["parameters","settings","style"])],4)}const y=d("default",p(e,[["render",c]]))}}});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
System.register(["./Widget-DXvVFSH5-6b6b120cb8369fca6958.js","./LabelWidget-BsOpolUL-3eb09fc23df0013319f1.js","./ValueWidget-CGT0LV_n-61e108655b7e15bfd2e4.js","vue","./main-11ad5b3ddd59fe0fb743.js","vue-router","single-spa","vuex","vuetify","./DetailsDialog-q9piPmHq-bb2b796e2da46cf35b0d.js","./VWidget-D06LY-Yc-ebd4169882dd0a6ed58d.js"],function(d,f){"use strict";var r,s,a,n,i,u,o,l,m,c;return{setters:[e=>{r=e.o},e=>{s=e.default},e=>{a=e.default},e=>{n=e.resolveComponent,i=e.createElementBlock,u=e.openBlock,o=e.normalizeStyle,l=e.createVNode,m=e.mergeProps},e=>{c=e.d},null,null,null,null,null,null],execute:function(){const e={mixins:[r],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,V,h,x,j,p){const v=n("label-widget"),b=n("value-widget");return u(),i("div",{ref:"container",class:"d-flex flex-row",style:o(t.computedStyle)},[l(v,{parameters:p.labelName,settings:[...t.appliedSettings],line:t.line,"line-number":t.lineNumber,"widget-index":0},null,8,["parameters","settings","line","line-number"]),l(b,m(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 +1 @@
|
|
|
1
|
-
System.register(["./Widget-
|
|
1
|
+
System.register(["./Widget-DXvVFSH5-6b6b120cb8369fca6958.js","./LabelWidget-BsOpolUL-3eb09fc23df0013319f1.js","./ValueWidget-CGT0LV_n-61e108655b7e15bfd2e4.js","./main-11ad5b3ddd59fe0fb743.js","vue","./DetailsDialog-q9piPmHq-bb2b796e2da46cf35b0d.js","single-spa","./VWidget-D06LY-Yc-ebd4169882dd0a6ed58d.js","vue-router","vuex","vuetify"],function(d,P){"use strict";var n,i,a,l,u,s,m,o,c,r,p;return{setters:[e=>{n=e.o},e=>{i=e.default},e=>{a=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:i,ValueWidget:a},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,B,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 V=d("default",l(e,[["render",g]]))}}});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
System.register(["./LabelvalueWidget-Dwqsh5o2-958b26a2b4cdf4c7bf6c.js","./LimitsbarWidget-BTZQY9XQ-887f18afcd44aede9233.js","./Widget-DXvVFSH5-6b6b120cb8369fca6958.js","vue","./main-11ad5b3ddd59fe0fb743.js","./LabelWidget-BsOpolUL-3eb09fc23df0013319f1.js","./ValueWidget-CGT0LV_n-61e108655b7e15bfd2e4.js","./DetailsDialog-q9piPmHq-bb2b796e2da46cf35b0d.js","single-spa","./VWidget-D06LY-Yc-ebd4169882dd0a6ed58d.js","./BarColumn-BdIaQfOz-48f3fb21c2d891c49628.js","vue-router","vuex","vuetify"],function(g,b){"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,V,j,B,L,d){const v=s("labelvalue-widget"),f=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(f,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 S=g("default",m(e,[["render",p]]))}}});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
System.register(["./LabelWidget-BsOpolUL-3eb09fc23df0013319f1.js","./ValueWidget-CGT0LV_n-61e108655b7e15bfd2e4.js","./LimitscolumnWidget-DSsz36tT-61c54c580f42c5757636.js","./Widget-DXvVFSH5-6b6b120cb8369fca6958.js","vue","./main-11ad5b3ddd59fe0fb743.js","./DetailsDialog-q9piPmHq-bb2b796e2da46cf35b0d.js","single-spa","./VWidget-D06LY-Yc-ebd4169882dd0a6ed58d.js","./BarColumn-BdIaQfOz-48f3fb21c2d891c49628.js","vue-router","vuex","vuetify"],function(g,V){"use strict";var i,r,a,u,n,o,c,m,s,l,d;return{setters:[e=>{i=e.default},e=>{r=e.default},e=>{a=e.default},e=>{u=e.o},e=>{n=e.resolveComponent,o=e.createElementBlock,c=e.openBlock,m=e.normalizeStyle,s=e.createVNode,l=e.mergeProps},e=>{d=e.d},null,null,null,null,null,null,null],execute:function(){const e={mixins:[u],components:{LabelWidget:i,ValueWidget:r,LimitscolumnWidget:a}};function p(t,j,w,b,B,L){const v=n("label-widget"),f=n("limitscolumn-widget"),S=n("value-widget");return c(),o("div",{ref:"container",style:m(t.computedStyle)},[s(v,{parameters:[t.parameters[2]],settings:[...t.appliedSettings],"widget-index":0},null,8,["parameters","settings"]),s(f,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"]),s(S,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=g("default",d(e,[["render",p]]))}}});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
System.register(["./LabelvalueWidget-
|
|
1
|
+
System.register(["./LabelvalueWidget-Dwqsh5o2-958b26a2b4cdf4c7bf6c.js","./RangebarWidget-Bu4rqlrx-1d3909dc08a45caec8a3.js","./Widget-DXvVFSH5-6b6b120cb8369fca6958.js","vue","./main-11ad5b3ddd59fe0fb743.js","./LabelWidget-BsOpolUL-3eb09fc23df0013319f1.js","vue-router","single-spa","vuex","vuetify","./ValueWidget-CGT0LV_n-61e108655b7e15bfd2e4.js","./DetailsDialog-q9piPmHq-bb2b796e2da46cf35b0d.js","./VWidget-D06LY-Yc-ebd4169882dd0a6ed58d.js"],function(g,f){"use strict";var l,i,u,s,o,m,p,r,a,c;return{setters:[e=>{l=e.default},e=>{i=e.default},e=>{u=e.o},e=>{s=e.resolveComponent,o=e.createElementBlock,m=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,V,B,S,j,n){const h=s("labelvalue-widget"),v=s("rangebar-widget");return m(),o("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 b=g("default",c(e,[["render",d]]))}}});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
System.register(["./Widget-
|
|
1
|
+
System.register(["./Widget-DXvVFSH5-6b6b120cb8369fca6958.js"],function(r,s){"use strict";var e;return{setters:[t=>{e=t.o}],execute:function(){const t=r("r",{mixins:[e],props:{widgets:{type:Array,default:()=>[]}}})}}});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
System.register(["./main-
|
|
1
|
+
System.register(["./main-11ad5b3ddd59fe0fb743.js","vue","./DetailsDialog-q9piPmHq-bb2b796e2da46cf35b0d.js","single-spa","./Widget-DXvVFSH5-6b6b120cb8369fca6958.js","vue-router","vuex","vuetify"],function(I,T){"use strict";var d,n,p,c,l,i,h,u,v,g,w,x,f,C,_,D;return{setters:[e=>{d=e.d},e=>{n=e.resolveComponent,p=e.createElementBlock,c=e.openBlock,l=e.createVNode,i=e.withCtx,h=e.createElementVNode,u=e.toDisplayString,v=e.mergeProps,g=e.Fragment,w=e.renderList,x=e.createBlock,f=e.withModifiers,C=e.createTextVNode},e=>{_=e.P},null,e=>{D=e.o},null,null,null],execute:function(){const e={components:{DetailsDialog:_},mixins:[D],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 S(t,s,$,B,r,o){const V=n("v-tooltip"),k=n("v-list-item-title"),y=n("v-list-item"),E=n("v-list"),M=n("v-menu"),N=n("details-dialog");return c(),p("div",null,[l(V,{"open-delay":600,location:"top"},{activator:i(({props:a})=>[h("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(()=>[h("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),p(g,null,w(r.contextMenuOptions,(a,m)=>(c(),x(y,{key:m,onClick:f(a.action,["stop"])},{default:i(()=>[l(k,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 P=I("default",d(e,[["render",S],["__scopeId","data-v-566f1a1f"]]))}}});
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
System.register(["./main-11ad5b3ddd59fe0fb743.js","vue","single-spa","./ValueWidget-CGT0LV_n-61e108655b7e15bfd2e4.js","./IframeWidget-BBU3MkSq-af9b2f9227ca5654ccdf.js","./ValuelimitsbarWidget-CmpyPO-1-b491db90eae3d5a518ea.js","vue-router","vuex","vuetify","./DetailsDialog-q9piPmHq-bb2b796e2da46cf35b0d.js","./VWidget-D06LY-Yc-ebd4169882dd0a6ed58d.js","./Widget-DXvVFSH5-6b6b120cb8369fca6958.js","./LimitsbarWidget-BTZQY9XQ-887f18afcd44aede9233.js","./BarColumn-BdIaQfOz-48f3fb21c2d891c49628.js"],function(As,Ui){"use strict";var ft,xe,ze,mt,pt,gt,w,j,C,bt,_,g,$,G,H,se,ue,_t,U,Ce,Oe,ne,We,He,yt,wt,vt;return{setters:[E=>{ft=E.d,xe=E._,ze=E.R,mt=E.p,pt=E.a,gt=E.g},E=>{w=E.resolveComponent,j=E.createBlock,C=E.openBlock,bt=E.Teleport,_=E.createVNode,g=E.withCtx,$=E.createElementVNode,G=E.toDisplayString,H=E.createElementBlock,se=E.Fragment,ue=E.renderList,_t=E.ref,U=E.createTextVNode,Ce=E.mergeProps,Oe=E.createSlots,ne=E.createCommentVNode,We=E.normalizeStyle,He=E.normalizeClass,yt=E.withKeys},null,E=>{wt=E.default},null,E=>{vt=E.default},null,null,null,null,null,null,null,null],execute:function(){var E=document.createElement("style");E.textContent=`.footer[data-v-92363454]{padding-top:5px}.v-input[data-v-92363454]{background-color:var(--color-background-base-default)}.textfield-green[data-v-92363454]{color:#00c800}.textfield-yellow[data-v-92363454]{color:#ffdc00}.textfield-red[data-v-92363454]{color:#ff2d2d}.limits-table[data-v-92363454]{margin-top:5px;margin-bottom:10px}.limits-table[data-v-92363454] th{font-weight:700;background-color:var(--color-background-base-default)}.card-height[data-v-3c276116]{height:calc(100vh - 150px)}
|
|
2
|
+
/*$vite$:1*/`,document.head.appendChild(E);const Ts={__name:"TopBarMenu",props:{menu:{type:Object,required:!0},title:{type:String,required:!0}},emits:["submenu-click"],setup(t,{emit:e}){const s=e,n=_t(!1);function r(){n.value=!1}function o(i){return i.replaceAll(" ","-").toLowerCase()}return(i,a)=>{const l=w("v-icon"),u=w("v-btn"),d=w("v-divider"),h=w("v-list-item-title"),y=w("v-list-item"),f=w("v-list"),p=w("v-menu"),m=w("v-radio"),O=w("v-list-item-action"),I=w("v-radio-group"),x=w("v-checkbox");return C(),j(p,{modelValue:n.value,"onUpdate:modelValue":a[0]||(a[0]=b=>n.value=b),"close-on-content-click":!1},{activator:g(({props:b})=>[_(u,Ce(b,{variant:"outlined",class:"mx-1 menu-button",text:t.menu.label,"data-test":o(`${t.title} ${t.menu.label}`)}),{append:g(()=>[_(l,{class:"menu-button-icon"},{default:g(()=>[...a[1]||(a[1]=[U(" mdi-menu-down ",-1)])]),_:1})]),_:1},16,["text","data-test"])]),default:g(()=>[_(f,null,{default:g(()=>[(C(!0),H(se,null,ue(t.menu.items,(b,A)=>(C(),H(se,null,[b.divider?(C(),j(d,{key:A+"-divider"})):b.subMenu&&b.subMenu.length>0?(C(),H("div",{key:A+"-submenu"},[(C(),j(p,{key:A,"open-on-hover":"",location:"right"},{activator:g(({props:T})=>[(C(),j(y,Ce({ref_for:!0},T,{key:A,disabled:b.disabled}),Oe({append:g(()=>[_(l,null,{default:g(()=>[...a[2]||(a[2]=[U(" mdi-chevron-right ",-1)])]),_:1})]),default:g(()=>[!b.radio&&!b.checkbox?(C(),j(h,{key:0,style:We("cursor: pointer;"+(b.disabled?"opacity: 0.2":""))},{default:g(()=>[U(G(b.label),1)]),_:2},1032,["style"])):ne("",!0)]),_:2},[b.icon?{name:"prepend",fn:g(()=>[_(l,{disabled:b.disabled},{default:g(()=>[U(G(b.icon),1)]),_:2},1032,["disabled"])]),key:"0"}:void 0]),1040,["disabled"]))]),default:g(()=>[_(f,null,{default:g(()=>[(C(!0),H(se,null,ue(b.subMenu,(T,z)=>(C(),j(y,{key:z,"prepend-icon":T.icon,onClick:D=>s("submenu-click",T)},{default:g(()=>[_(h,null,{default:g(()=>[U(G(T.label),1)]),_:2},1024)]),_:2},1032,["prepend-icon","onClick"]))),128))]),_:2},1024)]),_:2},1024))])):b.radioGroup?(C(),j(I,{key:A+"-radio-group",class:"ma-0 pa-0",density:"compact","hide-details":"","model-value":b.value,"onUpdate:modelValue":b.command},{default:g(()=>[(C(!0),H(se,null,ue(b.choices,(T,z)=>(C(),j(y,{key:z+"-choice"},{default:g(()=>[_(O,{class:"list-action"},{default:g(()=>[_(m,{color:"secondary",label:T.label,value:T.value,density:"compact","hide-details":""},null,8,["label","value"])]),_:2},1024)]),_:2},1024))),128))]),_:2},1032,["model-value","onUpdate:modelValue"])):(C(),j(y,{key:A+"-list",disabled:b.disabled,"data-test":o(`${t.title} ${t.menu.label} ${b.label}`),onClick:()=>{b.command(b),b.checkbox||r()}},Oe({default:g(()=>[b.checkbox?(C(),j(O,{key:0,class:"list-action"},{default:g(()=>[_(x,{modelValue:b.checked,"onUpdate:modelValue":T=>b.checked=T,label:b.label,color:"secondary",density:"compact","hide-details":""},null,8,["modelValue","onUpdate:modelValue","label"])]),_:2},1024)):ne("",!0),!b.radio&&!b.checkbox?(C(),j(h,{key:1,style:We("cursor: pointer;"+(b.disabled?"opacity: 0.2":""))},{default:g(()=>[U(G(b.label),1)]),_:2},1032,["style"])):ne("",!0)]),_:2},[b.icon?{name:"prepend",fn:g(()=>[_(l,{icon:b.icon,disabled:b.disabled},null,8,["icon","disabled"])]),key:"0"}:void 0]),1032,["disabled","data-test","onClick"]))],64))),256))]),_:1})]),_:1},8,["modelValue"])}}},Ls={components:{TopBarMenu:Ts},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}}},js={class:"app-title mr-2"};function Ns(t,e,s,n,r,o){const i=w("v-col"),a=w("v-row"),l=w("TopBarMenu");return C(),j(bt,{to:"#openc3-menu"},[_(a,{"no-gutters":""},{default:g(()=>[_(i,{"align-self":"end"},{default:g(()=>[$("span",js,G(s.title),1)]),_:1})]),_:1}),_(a,{dense:"",class:"flex-nowrap"},{default:g(()=>[(C(!0),H(se,null,ue(s.menus,(u,d)=>(C(),j(l,{key:d+"-top-menu",ref_for:!0,ref:"topmenu",menu:u,title:s.title,onSubmenuClick:o.subMenuClick},null,8,["menu","title","onSubmenuClick"]))),128))]),_:1})])}const Ps=ft(Ls,[["render",Ns],["__scopeId","data-v-b6581c4c"]]);var Us=Object.defineProperty,Fs=(t,e,s)=>e in t?Us(t,e,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[e]=s,ke=(t,e,s)=>Fs(t,typeof e!="symbol"?e+"":e,s);function St(t,e){return function(){return t.apply(e,arguments)}}const{toString:Ds}=Object.prototype,{getPrototypeOf:Je}=Object,{iterator:Re,toStringTag:Et}=Symbol,Ie=(t=>e=>{const s=Ds.call(e);return t[s]||(t[s]=s.slice(8,-1).toLowerCase())})(Object.create(null)),J=t=>(t=t.toLowerCase(),e=>Ie(e)===t),Ae=t=>e=>typeof e===t,{isArray:de}=Array,he=Ae("undefined");function pe(t){return t!==null&&!he(t)&&t.constructor!==null&&!he(t.constructor)&&B(t.constructor.isBuffer)&&t.constructor.isBuffer(t)}const xt=J("ArrayBuffer");function $s(t){let e;return typeof ArrayBuffer<"u"&&ArrayBuffer.isView?e=ArrayBuffer.isView(t):e=t&&t.buffer&&xt(t.buffer),e}const Bs=Ae("string"),B=Ae("function"),Ct=Ae("number"),ge=t=>t!==null&&typeof t=="object",Vs=t=>t===!0||t===!1,Te=t=>{if(Ie(t)!=="object")return!1;const e=Je(t);return(e===null||e===Object.prototype||Object.getPrototypeOf(e)===null)&&!(Et in t)&&!(Re in t)},qs=t=>{if(!ge(t)||pe(t))return!1;try{return Object.keys(t).length===0&&Object.getPrototypeOf(t)===Object.prototype}catch{return!1}},Ms=J("Date"),zs=J("File"),Ws=J("Blob"),Hs=J("FileList"),Js=t=>ge(t)&&B(t.pipe),Ks=t=>{let e;return t&&(typeof FormData=="function"&&t instanceof FormData||B(t.append)&&((e=Ie(t))==="formdata"||e==="object"&&B(t.toString)&&t.toString()==="[object FormData]"))},Ys=J("URLSearchParams"),[Zs,Gs,Xs,Qs]=["ReadableStream","Request","Response","Headers"].map(J),en=t=>t.trim?t.trim():t.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"");function be(t,e,{allOwnKeys:s=!1}={}){if(t===null||typeof t>"u")return;let n,r;if(typeof t!="object"&&(t=[t]),de(t))for(n=0,r=t.length;n<r;n++)e.call(null,t[n],n,t);else{if(pe(t))return;const o=s?Object.getOwnPropertyNames(t):Object.keys(t),i=o.length;let a;for(n=0;n<i;n++)a=o[n],e.call(null,t[a],a,t)}}function Ot(t,e){if(pe(t))return null;e=e.toLowerCase();const s=Object.keys(t);let n=s.length,r;for(;n-- >0;)if(r=s[n],e===r.toLowerCase())return r;return null}const re=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:global,kt=t=>!he(t)&&t!==re;function Ke(){const{caseless:t,skipUndefined:e}=kt(this)&&this||{},s={},n=(r,o)=>{const i=t&&Ot(s,o)||o;Te(s[i])&&Te(r)?s[i]=Ke(s[i],r):Te(r)?s[i]=Ke({},r):de(r)?s[i]=r.slice():(!e||!he(r))&&(s[i]=r)};for(let r=0,o=arguments.length;r<o;r++)arguments[r]&&be(arguments[r],n);return s}const tn=(t,e,s,{allOwnKeys:n}={})=>(be(e,(r,o)=>{s&&B(r)?t[o]=St(r,s):t[o]=r},{allOwnKeys:n}),t),sn=t=>(t.charCodeAt(0)===65279&&(t=t.slice(1)),t),nn=(t,e,s,n)=>{t.prototype=Object.create(e.prototype,n),t.prototype.constructor=t,Object.defineProperty(t,"super",{value:e.prototype}),s&&Object.assign(t.prototype,s)},rn=(t,e,s,n)=>{let r,o,i;const a={};if(e=e||{},t==null)return e;do{for(r=Object.getOwnPropertyNames(t),o=r.length;o-- >0;)i=r[o],(!n||n(i,t,e))&&!a[i]&&(e[i]=t[i],a[i]=!0);t=s!==!1&&Je(t)}while(t&&(!s||s(t,e))&&t!==Object.prototype);return e},on=(t,e,s)=>{t=String(t),(s===void 0||s>t.length)&&(s=t.length),s-=e.length;const n=t.indexOf(e,s);return n!==-1&&n===s},an=t=>{if(!t)return null;if(de(t))return t;let e=t.length;if(!Ct(e))return null;const s=new Array(e);for(;e-- >0;)s[e]=t[e];return s},cn=(t=>e=>t&&e instanceof t)(typeof Uint8Array<"u"&&Je(Uint8Array)),ln=(t,e)=>{const s=(t&&t[Re]).call(t);let n;for(;(n=s.next())&&!n.done;){const r=n.value;e.call(t,r[0],r[1])}},un=(t,e)=>{let s;const n=[];for(;(s=t.exec(e))!==null;)n.push(s);return n},dn=J("HTMLFormElement"),hn=t=>t.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,function(e,s,n){return s.toUpperCase()+n}),Rt=(({hasOwnProperty:t})=>(e,s)=>t.call(e,s))(Object.prototype),fn=J("RegExp"),It=(t,e)=>{const s=Object.getOwnPropertyDescriptors(t),n={};be(s,(r,o)=>{let i;(i=e(r,o,t))!==!1&&(n[o]=i||r)}),Object.defineProperties(t,n)},mn=t=>{It(t,(e,s)=>{if(B(t)&&["arguments","caller","callee"].indexOf(s)!==-1)return!1;const n=t[s];if(B(n)){if(e.enumerable=!1,"writable"in e){e.writable=!1;return}e.set||(e.set=()=>{throw Error("Can not rewrite read-only method '"+s+"'")})}})},pn=(t,e)=>{const s={},n=r=>{r.forEach(o=>{s[o]=!0})};return de(t)?n(t):n(String(t).split(e)),s},gn=()=>{},bn=(t,e)=>t!=null&&Number.isFinite(t=+t)?t:e;function _n(t){return!!(t&&B(t.append)&&t[Et]==="FormData"&&t[Re])}const yn=t=>{const e=new Array(10),s=(n,r)=>{if(ge(n)){if(e.indexOf(n)>=0)return;if(pe(n))return n;if(!("toJSON"in n)){e[r]=n;const o=de(n)?[]:{};return be(n,(i,a)=>{const l=s(i,r+1);!he(l)&&(o[a]=l)}),e[r]=void 0,o}}return n};return s(t,0)},wn=J("AsyncFunction"),vn=t=>t&&(ge(t)||B(t))&&B(t.then)&&B(t.catch),At=((t,e)=>t?setImmediate:e?((s,n)=>(re.addEventListener("message",({source:r,data:o})=>{r===re&&o===s&&n.length&&n.shift()()},!1),r=>{n.push(r),re.postMessage(s,"*")}))(`axios@${Math.random()}`,[]):s=>setTimeout(s))(typeof setImmediate=="function",B(re.postMessage)),Sn=typeof queueMicrotask<"u"?queueMicrotask.bind(re):typeof process<"u"&&process.nextTick||At,En=t=>t!=null&&B(t[Re]),c={isArray:de,isArrayBuffer:xt,isBuffer:pe,isFormData:Ks,isArrayBufferView:$s,isString:Bs,isNumber:Ct,isBoolean:Vs,isObject:ge,isPlainObject:Te,isEmptyObject:qs,isReadableStream:Zs,isRequest:Gs,isResponse:Xs,isHeaders:Qs,isUndefined:he,isDate:Ms,isFile:zs,isBlob:Ws,isRegExp:fn,isFunction:B,isStream:Js,isURLSearchParams:Ys,isTypedArray:cn,isFileList:Hs,forEach:be,merge:Ke,extend:tn,trim:en,stripBOM:sn,inherits:nn,toFlatObject:rn,kindOf:Ie,kindOfTest:J,endsWith:on,toArray:an,forEachEntry:ln,matchAll:un,isHTMLForm:dn,hasOwnProperty:Rt,hasOwnProp:Rt,reduceDescriptors:It,freezeMethods:mn,toObjectSet:pn,toCamelCase:hn,noop:gn,toFiniteNumber:bn,findKey:Ot,global:re,isContextDefined:kt,isSpecCompliantForm:_n,toJSONObject:yn,isAsyncFn:wn,isThenable:vn,setImmediate:At,asap:Sn,isIterable:En};function S(t,e,s,n,r){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),n&&(this.request=n),r&&(this.response=r,this.status=r.status?r.status:null)}c.inherits(S,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:c.toJSONObject(this.config),code:this.code,status:this.status}}});const Tt=S.prototype,Lt={};["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=>{Lt[t]={value:t}}),Object.defineProperties(S,Lt),Object.defineProperty(Tt,"isAxiosError",{value:!0}),S.from=(t,e,s,n,r,o)=>{const i=Object.create(Tt);c.toFlatObject(t,i,function(u){return u!==Error.prototype},u=>u!=="isAxiosError");const a=t&&t.message?t.message:"Error",l=e==null&&t?t.code:e;return S.call(i,a,l,s,n,r),t&&i.cause==null&&Object.defineProperty(i,"cause",{value:t,configurable:!0}),i.name=t&&t.name||"Error",o&&Object.assign(i,o),i};const xn=null;function Ye(t){return c.isPlainObject(t)||c.isArray(t)}function jt(t){return c.endsWith(t,"[]")?t.slice(0,-2):t}function Nt(t,e,s){return t?t.concat(e).map(function(n,r){return n=jt(n),!s&&r?"["+n+"]":n}).join(s?".":""):e}function Cn(t){return c.isArray(t)&&!t.some(Ye)}const On=c.toFlatObject(c,{},null,function(t){return/^is[A-Z]/.test(t)});function Le(t,e,s){if(!c.isObject(t))throw new TypeError("target must be an object");e=e||new FormData,s=c.toFlatObject(s,{metaTokens:!0,dots:!1,indexes:!1},!1,function(f,p){return!c.isUndefined(p[f])});const n=s.metaTokens,r=s.visitor||u,o=s.dots,i=s.indexes,a=(s.Blob||typeof Blob<"u"&&Blob)&&c.isSpecCompliantForm(e);if(!c.isFunction(r))throw new TypeError("visitor must be a function");function l(f){if(f===null)return"";if(c.isDate(f))return f.toISOString();if(c.isBoolean(f))return f.toString();if(!a&&c.isBlob(f))throw new S("Blob is not supported. Use a Buffer instead.");return c.isArrayBuffer(f)||c.isTypedArray(f)?a&&typeof Blob=="function"?new Blob([f]):Buffer.from(f):f}function u(f,p,m){let O=f;if(f&&!m&&typeof f=="object"){if(c.endsWith(p,"{}"))p=n?p:p.slice(0,-2),f=JSON.stringify(f);else if(c.isArray(f)&&Cn(f)||(c.isFileList(f)||c.endsWith(p,"[]"))&&(O=c.toArray(f)))return p=jt(p),O.forEach(function(I,x){!(c.isUndefined(I)||I===null)&&e.append(i===!0?Nt([p],x,o):i===null?p:p+"[]",l(I))}),!1}return Ye(f)?!0:(e.append(Nt(m,p,o),l(f)),!1)}const d=[],h=Object.assign(On,{defaultVisitor:u,convertValue:l,isVisitable:Ye});function y(f,p){if(!c.isUndefined(f)){if(d.indexOf(f)!==-1)throw Error("Circular reference detected in "+p.join("."));d.push(f),c.forEach(f,function(m,O){(!(c.isUndefined(m)||m===null)&&r.call(e,m,c.isString(O)?O.trim():O,p,h))===!0&&y(m,p?p.concat(O):[O])}),d.pop()}}if(!c.isObject(t))throw new TypeError("data must be an object");return y(t),e}function Pt(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&&Le(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,Pt)}:Pt;return this._pairs.map(function(s){return e(s[0])+"="+e(s[1])},"").join("&")};function kn(t){return encodeURIComponent(t).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+")}function Ft(t,e,s){if(!e)return t;const n=s&&s.encode||kn;c.isFunction(s)&&(s={serialize:s});const r=s&&s.serialize;let o;if(r?o=r(e,s):o=c.isURLSearchParams(e)?e.toString():new Ze(e,s).toString(n),o){const i=t.indexOf("#");i!==-1&&(t=t.slice(0,i)),t+=(t.indexOf("?")===-1?"?":"&")+o}return t}class Dt{constructor(){this.handlers=[]}use(e,s,n){return this.handlers.push({fulfilled:e,rejected:s,synchronous:n?n.synchronous:!1,runWhen:n?n.runWhen:null}),this.handlers.length-1}eject(e){this.handlers[e]&&(this.handlers[e]=null)}clear(){this.handlers&&(this.handlers=[])}forEach(e){c.forEach(this.handlers,function(s){s!==null&&e(s)})}}const $t={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1},Rn=typeof URLSearchParams<"u"?URLSearchParams:Ze,In=typeof FormData<"u"?FormData:null,An=typeof Blob<"u"?Blob:null,Tn={isBrowser:!0,classes:{URLSearchParams:Rn,FormData:In,Blob:An},protocols:["http","https","file","blob","url","data"]},Ge=typeof window<"u"&&typeof document<"u",Xe=typeof navigator=="object"&&navigator||void 0,Ln=Ge&&(!Xe||["ReactNative","NativeScript","NS"].indexOf(Xe.product)<0),jn=typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope&&typeof self.importScripts=="function",Nn=Ge&&window.location.href||"http://localhost",Pn=Object.freeze(Object.defineProperty({__proto__:null,hasBrowserEnv:Ge,hasStandardBrowserEnv:Ln,hasStandardBrowserWebWorkerEnv:jn,navigator:Xe,origin:Nn},Symbol.toStringTag,{value:"Module"})),F={...Pn,...Tn};function Un(t,e){return Le(t,new F.classes.URLSearchParams,{visitor:function(s,n,r,o){return F.isNode&&c.isBuffer(s)?(this.append(n,s.toString("base64")),!1):o.defaultVisitor.apply(this,arguments)},...e})}function Fn(t){return c.matchAll(/\w+|\[(\w*)]/g,t).map(e=>e[0]==="[]"?"":e[1]||e[0])}function Dn(t){const e={},s=Object.keys(t);let n;const r=s.length;let o;for(n=0;n<r;n++)o=s[n],e[o]=t[o];return e}function Bt(t){function e(s,n,r,o){let i=s[o++];if(i==="__proto__")return!0;const a=Number.isFinite(+i),l=o>=s.length;return i=!i&&c.isArray(r)?r.length:i,l?(c.hasOwnProp(r,i)?r[i]=[r[i],n]:r[i]=n,!a):((!r[i]||!c.isObject(r[i]))&&(r[i]=[]),e(s,n,r[i],o)&&c.isArray(r[i])&&(r[i]=Dn(r[i])),!a)}if(c.isFormData(t)&&c.isFunction(t.entries)){const s={};return c.forEachEntry(t,(n,r)=>{e(Fn(n),r,s,0)}),s}return null}function $n(t,e,s){if(c.isString(t))try{return(e||JSON.parse)(t),c.trim(t)}catch(n){if(n.name!=="SyntaxError")throw n}return(s||JSON.stringify)(t)}const _e={transitional:$t,adapter:["xhr","http","fetch"],transformRequest:[function(t,e){const s=e.getContentType()||"",n=s.indexOf("application/json")>-1,r=c.isObject(t);if(r&&c.isHTMLForm(t)&&(t=new FormData(t)),c.isFormData(t))return n?JSON.stringify(Bt(t)):t;if(c.isArrayBuffer(t)||c.isBuffer(t)||c.isStream(t)||c.isFile(t)||c.isBlob(t)||c.isReadableStream(t))return t;if(c.isArrayBufferView(t))return t.buffer;if(c.isURLSearchParams(t))return e.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),t.toString();let o;if(r){if(s.indexOf("application/x-www-form-urlencoded")>-1)return Un(t,this.formSerializer).toString();if((o=c.isFileList(t))||s.indexOf("multipart/form-data")>-1){const i=this.env&&this.env.FormData;return Le(o?{"files[]":t}:t,i&&new i,this.formSerializer)}}return r||n?(e.setContentType("application/json",!1),$n(t)):t}],transformResponse:[function(t){const e=this.transitional||_e.transitional,s=e&&e.forcedJSONParsing,n=this.responseType==="json";if(c.isResponse(t)||c.isReadableStream(t))return t;if(t&&c.isString(t)&&(s&&!this.responseType||n)){const r=!(e&&e.silentJSONParsing)&&n;try{return JSON.parse(t,this.parseReviver)}catch(o){if(r)throw o.name==="SyntaxError"?S.from(o,S.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:F.classes.FormData,Blob:F.classes.Blob},validateStatus:function(t){return t>=200&&t<300},headers:{common:{Accept:"application/json, text/plain, */*","Content-Type":void 0}}};c.forEach(["delete","get","head","post","put","patch"],t=>{_e.headers[t]={}});const Bn=c.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"]),Vn=t=>{const e={};let s,n,r;return t&&t.split(`
|
|
3
|
+
`).forEach(function(o){r=o.indexOf(":"),s=o.substring(0,r).trim().toLowerCase(),n=o.substring(r+1).trim(),!(!s||e[s]&&Bn[s])&&(s==="set-cookie"?e[s]?e[s].push(n):e[s]=[n]:e[s]=e[s]?e[s]+", "+n:n)}),e},Vt=Symbol("internals");function ye(t){return t&&String(t).trim().toLowerCase()}function je(t){return t===!1||t==null?t:c.isArray(t)?t.map(je):String(t)}function qn(t){const e=Object.create(null),s=/([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g;let n;for(;n=s.exec(t);)e[n[1]]=n[2];return e}const Mn=t=>/^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(t.trim());function Qe(t,e,s,n,r){if(c.isFunction(n))return n.call(this,e,s);if(r&&(e=s),!!c.isString(e)){if(c.isString(n))return e.indexOf(n)!==-1;if(c.isRegExp(n))return n.test(e)}}function zn(t){return t.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,(e,s,n)=>s.toUpperCase()+n)}function Wn(t,e){const s=c.toCamelCase(" "+e);["get","set","has"].forEach(n=>{Object.defineProperty(t,n+s,{value:function(r,o,i){return this[n].call(this,e,r,o,i)},configurable:!0})})}let V=class{constructor(t){t&&this.set(t)}set(t,e,s){const n=this;function r(i,a,l){const u=ye(a);if(!u)throw new Error("header name must be a non-empty string");const d=c.findKey(n,u);(!d||n[d]===void 0||l===!0||l===void 0&&n[d]!==!1)&&(n[d||a]=je(i))}const o=(i,a)=>c.forEach(i,(l,u)=>r(l,u,a));if(c.isPlainObject(t)||t instanceof this.constructor)o(t,e);else if(c.isString(t)&&(t=t.trim())&&!Mn(t))o(Vn(t),e);else if(c.isObject(t)&&c.isIterable(t)){let i={},a,l;for(const u of t){if(!c.isArray(u))throw TypeError("Object iterator must return a key-value pair");i[l=u[0]]=(a=i[l])?c.isArray(a)?[...a,u[1]]:[a,u[1]]:u[1]}o(i,e)}else t!=null&&r(e,t,s);return this}get(t,e){if(t=ye(t),t){const s=c.findKey(this,t);if(s){const n=this[s];if(!e)return n;if(e===!0)return qn(n);if(c.isFunction(e))return e.call(this,n,s);if(c.isRegExp(e))return e.exec(n);throw new TypeError("parser must be boolean|regexp|function")}}}has(t,e){if(t=ye(t),t){const s=c.findKey(this,t);return!!(s&&this[s]!==void 0&&(!e||Qe(this,this[s],s,e)))}return!1}delete(t,e){const s=this;let n=!1;function r(o){if(o=ye(o),o){const i=c.findKey(s,o);i&&(!e||Qe(s,s[i],i,e))&&(delete s[i],n=!0)}}return c.isArray(t)?t.forEach(r):r(t),n}clear(t){const e=Object.keys(this);let s=e.length,n=!1;for(;s--;){const r=e[s];(!t||Qe(this,this[r],r,t,!0))&&(delete this[r],n=!0)}return n}normalize(t){const e=this,s={};return c.forEach(this,(n,r)=>{const o=c.findKey(s,r);if(o){e[o]=je(n),delete e[r];return}const i=t?zn(r):String(r).trim();i!==r&&delete e[r],e[i]=je(n),s[i]=!0}),this}concat(...t){return this.constructor.concat(this,...t)}toJSON(t){const e=Object.create(null);return c.forEach(this,(s,n)=>{s!=null&&s!==!1&&(e[n]=t&&c.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(n=>s.set(n)),s}static accessor(t){const e=(this[Vt]=this[Vt]={accessors:{}}).accessors,s=this.prototype;function n(r){const o=ye(r);e[o]||(Wn(s,r),e[o]=!0)}return c.isArray(t)?t.forEach(n):n(t),this}};V.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent","Authorization"]),c.reduceDescriptors(V.prototype,({value:t},e)=>{let s=e[0].toUpperCase()+e.slice(1);return{get:()=>t,set(n){this[s]=n}}}),c.freezeMethods(V);function et(t,e){const s=this||_e,n=e||s,r=V.from(n.headers);let o=n.data;return c.forEach(t,function(i){o=i.call(s,o,r.normalize(),e?e.status:void 0)}),r.normalize(),o}function qt(t){return!!(t&&t.__CANCEL__)}function fe(t,e,s){S.call(this,t??"canceled",S.ERR_CANCELED,e,s),this.name="CanceledError"}c.inherits(fe,S,{__CANCEL__:!0});function Mt(t,e,s){const n=s.config.validateStatus;!s.status||!n||n(s.status)?t(s):e(new S("Request failed with status code "+s.status,[S.ERR_BAD_REQUEST,S.ERR_BAD_RESPONSE][Math.floor(s.status/100)-4],s.config,s.request,s))}function Hn(t){const e=/^([-+\w]{1,25})(:?\/\/|:)/.exec(t);return e&&e[1]||""}function Jn(t,e){t=t||10;const s=new Array(t),n=new Array(t);let r=0,o=0,i;return e=e!==void 0?e:1e3,function(a){const l=Date.now(),u=n[o];i||(i=l),s[r]=a,n[r]=l;let d=o,h=0;for(;d!==r;)h+=s[d++],d=d%t;if(r=(r+1)%t,r===o&&(o=(o+1)%t),l-i<e)return;const y=u&&l-u;return y?Math.round(h*1e3/y):void 0}}function Kn(t,e){let s=0,n=1e3/e,r,o;const i=(a,l=Date.now())=>{s=l,r=null,o&&(clearTimeout(o),o=null),t(...a)};return[(...a)=>{const l=Date.now(),u=l-s;u>=n?i(a,l):(r=a,o||(o=setTimeout(()=>{o=null,i(r)},n-u)))},()=>r&&i(r)]}const Ne=(t,e,s=3)=>{let n=0;const r=Jn(50,250);return Kn(o=>{const i=o.loaded,a=o.lengthComputable?o.total:void 0,l=i-n,u=r(l),d=i<=a;n=i;const h={loaded:i,total:a,progress:a?i/a:void 0,bytes:l,rate:u||void 0,estimated:u&&a&&d?(a-i)/u:void 0,event:o,lengthComputable:a!=null,[e?"download":"upload"]:!0};t(h)},s)},zt=(t,e)=>{const s=t!=null;return[n=>e[0]({lengthComputable:s,total:t,loaded:n}),e[1]]},Wt=t=>(...e)=>c.asap(()=>t(...e)),Yn=F.hasStandardBrowserEnv?((t,e)=>s=>(s=new URL(s,F.origin),t.protocol===s.protocol&&t.host===s.host&&(e||t.port===s.port)))(new URL(F.origin),F.navigator&&/(msie|trident)/i.test(F.navigator.userAgent)):()=>!0,Zn=F.hasStandardBrowserEnv?{write(t,e,s,n,r,o,i){if(typeof document>"u")return;const a=[`${t}=${encodeURIComponent(e)}`];c.isNumber(s)&&a.push(`expires=${new Date(s).toUTCString()}`),c.isString(n)&&a.push(`path=${n}`),c.isString(r)&&a.push(`domain=${r}`),o===!0&&a.push("secure"),c.isString(i)&&a.push(`SameSite=${i}`),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 Gn(t){return/^([a-z][a-z\d+\-.]*:)?\/\//i.test(t)}function Xn(t,e){return e?t.replace(/\/?\/$/,"")+"/"+e.replace(/^\/+/,""):t}function Ht(t,e,s){let n=!Gn(e);return t&&(n||s==!1)?Xn(t,e):e}const Jt=t=>t instanceof V?{...t}:t;function ie(t,e){e=e||{};const s={};function n(u,d,h,y){return c.isPlainObject(u)&&c.isPlainObject(d)?c.merge.call({caseless:y},u,d):c.isPlainObject(d)?c.merge({},d):c.isArray(d)?d.slice():d}function r(u,d,h,y){if(c.isUndefined(d)){if(!c.isUndefined(u))return n(void 0,u,h,y)}else return n(u,d,h,y)}function o(u,d){if(!c.isUndefined(d))return n(void 0,d)}function i(u,d){if(c.isUndefined(d)){if(!c.isUndefined(u))return n(void 0,u)}else return n(void 0,d)}function a(u,d,h){if(h in e)return n(u,d);if(h in t)return n(void 0,u)}const l={url:o,method:o,data:o,baseURL:i,transformRequest:i,transformResponse:i,paramsSerializer:i,timeout:i,timeoutMessage:i,withCredentials:i,withXSRFToken:i,adapter:i,responseType:i,xsrfCookieName:i,xsrfHeaderName:i,onUploadProgress:i,onDownloadProgress:i,decompress:i,maxContentLength:i,maxBodyLength:i,beforeRedirect:i,transport:i,httpAgent:i,httpsAgent:i,cancelToken:i,socketPath:i,responseEncoding:i,validateStatus:a,headers:(u,d,h)=>r(Jt(u),Jt(d),h,!0)};return c.forEach(Object.keys({...t,...e}),function(u){const d=l[u]||r,h=d(t[u],e[u],u);c.isUndefined(h)&&d!==a||(s[u]=h)}),s}const Kt=t=>{const e=ie({},t);let{data:s,withXSRFToken:n,xsrfHeaderName:r,xsrfCookieName:o,headers:i,auth:a}=e;if(e.headers=i=V.from(i),e.url=Ft(Ht(e.baseURL,e.url,e.allowAbsoluteUrls),t.params,t.paramsSerializer),a&&i.set("Authorization","Basic "+btoa((a.username||"")+":"+(a.password?unescape(encodeURIComponent(a.password)):""))),c.isFormData(s)){if(F.hasStandardBrowserEnv||F.hasStandardBrowserWebWorkerEnv)i.setContentType(void 0);else if(c.isFunction(s.getHeaders)){const l=s.getHeaders(),u=["content-type","content-length"];Object.entries(l).forEach(([d,h])=>{u.includes(d.toLowerCase())&&i.set(d,h)})}}if(F.hasStandardBrowserEnv&&(n&&c.isFunction(n)&&(n=n(e)),n||n!==!1&&Yn(e.url))){const l=r&&o&&Zn.read(o);l&&i.set(r,l)}return e},Qn=typeof XMLHttpRequest<"u",er=Qn&&function(t){return new Promise(function(e,s){const n=Kt(t);let r=n.data;const o=V.from(n.headers).normalize();let{responseType:i,onUploadProgress:a,onDownloadProgress:l}=n,u,d,h,y,f;function p(){y&&y(),f&&f(),n.cancelToken&&n.cancelToken.unsubscribe(u),n.signal&&n.signal.removeEventListener("abort",u)}let m=new XMLHttpRequest;m.open(n.method.toUpperCase(),n.url,!0),m.timeout=n.timeout;function O(){if(!m)return;const x=V.from("getAllResponseHeaders"in m&&m.getAllResponseHeaders()),b={data:!i||i==="text"||i==="json"?m.responseText:m.response,status:m.status,statusText:m.statusText,headers:x,config:t,request:m};Mt(function(A){e(A),p()},function(A){s(A),p()},b),m=null}"onloadend"in m?m.onloadend=O:m.onreadystatechange=function(){!m||m.readyState!==4||m.status===0&&!(m.responseURL&&m.responseURL.indexOf("file:")===0)||setTimeout(O)},m.onabort=function(){m&&(s(new S("Request aborted",S.ECONNABORTED,t,m)),m=null)},m.onerror=function(x){const b=x&&x.message?x.message:"Network Error",A=new S(b,S.ERR_NETWORK,t,m);A.event=x||null,s(A),m=null},m.ontimeout=function(){let x=n.timeout?"timeout of "+n.timeout+"ms exceeded":"timeout exceeded";const b=n.transitional||$t;n.timeoutErrorMessage&&(x=n.timeoutErrorMessage),s(new S(x,b.clarifyTimeoutError?S.ETIMEDOUT:S.ECONNABORTED,t,m)),m=null},r===void 0&&o.setContentType(null),"setRequestHeader"in m&&c.forEach(o.toJSON(),function(x,b){m.setRequestHeader(b,x)}),c.isUndefined(n.withCredentials)||(m.withCredentials=!!n.withCredentials),i&&i!=="json"&&(m.responseType=n.responseType),l&&([h,f]=Ne(l,!0),m.addEventListener("progress",h)),a&&m.upload&&([d,y]=Ne(a),m.upload.addEventListener("progress",d),m.upload.addEventListener("loadend",y)),(n.cancelToken||n.signal)&&(u=x=>{m&&(s(!x||x.type?new fe(null,t,m):x),m.abort(),m=null)},n.cancelToken&&n.cancelToken.subscribe(u),n.signal&&(n.signal.aborted?u():n.signal.addEventListener("abort",u)));const I=Hn(n.url);if(I&&F.protocols.indexOf(I)===-1){s(new S("Unsupported protocol "+I+":",S.ERR_BAD_REQUEST,t));return}m.send(r||null)})},tr=(t,e)=>{const{length:s}=t=t?t.filter(Boolean):[];if(e||s){let n=new AbortController,r;const o=function(u){if(!r){r=!0,a();const d=u instanceof Error?u:this.reason;n.abort(d instanceof S?d:new fe(d instanceof Error?d.message:d))}};let i=e&&setTimeout(()=>{i=null,o(new S(`timeout ${e} of ms exceeded`,S.ETIMEDOUT))},e);const a=()=>{t&&(i&&clearTimeout(i),i=null,t.forEach(u=>{u.unsubscribe?u.unsubscribe(o):u.removeEventListener("abort",o)}),t=null)};t.forEach(u=>u.addEventListener("abort",o));const{signal:l}=n;return l.unsubscribe=()=>c.asap(a),l}},sr=function*(t,e){let s=t.byteLength;if(s<e){yield t;return}let n=0,r;for(;n<s;)r=n+e,yield t.slice(n,r),n=r},nr=async function*(t,e){for await(const s of rr(t))yield*sr(s,e)},rr=async function*(t){if(t[Symbol.asyncIterator]){yield*t;return}const e=t.getReader();try{for(;;){const{done:s,value:n}=await e.read();if(s)break;yield n}}finally{await e.cancel()}},Yt=(t,e,s,n)=>{const r=nr(t,e);let o=0,i,a=l=>{i||(i=!0,n&&n(l))};return new ReadableStream({async pull(l){try{const{done:u,value:d}=await r.next();if(u){a(),l.close();return}let h=d.byteLength;if(s){let y=o+=h;s(y)}l.enqueue(new Uint8Array(d))}catch(u){throw a(u),u}},cancel(l){return a(l),r.return()}},{highWaterMark:2})},Zt=64*1024,{isFunction:Pe}=c,ir=(({Request:t,Response:e})=>({Request:t,Response:e}))(c.global),{ReadableStream:Gt,TextEncoder:Xt}=c.global,Qt=(t,...e)=>{try{return!!t(...e)}catch{return!1}},or=t=>{t=c.merge.call({skipUndefined:!0},ir,t);const{fetch:e,Request:s,Response:n}=t,r=e?Pe(e):typeof fetch=="function",o=Pe(s),i=Pe(n);if(!r)return!1;const a=r&&Pe(Gt),l=r&&(typeof Xt=="function"?(p=>m=>p.encode(m))(new Xt):async p=>new Uint8Array(await new s(p).arrayBuffer())),u=o&&a&&Qt(()=>{let p=!1;const m=new s(F.origin,{body:new Gt,method:"POST",get duplex(){return p=!0,"half"}}).headers.has("Content-Type");return p&&!m}),d=i&&a&&Qt(()=>c.isReadableStream(new n("").body)),h={stream:d&&(p=>p.body)};r&&["text","arrayBuffer","blob","formData","stream"].forEach(p=>{!h[p]&&(h[p]=(m,O)=>{let I=m&&m[p];if(I)return I.call(m);throw new S(`Response type '${p}' is not supported`,S.ERR_NOT_SUPPORT,O)})});const y=async p=>{if(p==null)return 0;if(c.isBlob(p))return p.size;if(c.isSpecCompliantForm(p))return(await new s(F.origin,{method:"POST",body:p}).arrayBuffer()).byteLength;if(c.isArrayBufferView(p)||c.isArrayBuffer(p))return p.byteLength;if(c.isURLSearchParams(p)&&(p=p+""),c.isString(p))return(await l(p)).byteLength},f=async(p,m)=>c.toFiniteNumber(p.getContentLength())??y(m);return async p=>{let{url:m,method:O,data:I,signal:x,cancelToken:b,timeout:A,onDownloadProgress:T,onUploadProgress:z,responseType:D,headers:k,withCredentials:L="same-origin",fetchOptions:le}=Kt(p),Q=e||fetch;D=D?(D+"").toLowerCase():"text";let Y=tr([x,b&&b.toAbortSignal()],A),Z=null;const q=Y&&Y.unsubscribe&&(()=>{Y.unsubscribe()});let qe;try{if(z&&u&&O!=="get"&&O!=="head"&&(qe=await f(k,I))!==0){let M=new s(m,{method:"POST",body:I,duplex:"half"}),te;if(c.isFormData(I)&&(te=M.headers.get("content-type"))&&k.setContentType(te),M.body){const[ht,Me]=zt(qe,Ne(Wt(z)));I=Yt(M.body,Zt,ht,Me)}}c.isString(L)||(L=L?"include":"omit");const P=o&&"credentials"in s.prototype,v={...le,signal:Y,method:O.toUpperCase(),headers:k.normalize().toJSON(),body:I,duplex:"half",credentials:P?L:void 0};Z=o&&new s(m,v);let R=await(o?Q(Z,le):Q(m,v));const W=d&&(D==="stream"||D==="response");if(d&&(T||W&&q)){const M={};["status","statusText","headers"].forEach(Rs=>{M[Rs]=R[Rs]});const te=c.toFiniteNumber(R.headers.get("content-length")),[ht,Me]=T&&zt(te,Ne(Wt(T),!0))||[];R=new n(Yt(R.body,Zt,ht,()=>{Me&&Me(),q&&q()}),M)}D=D||"text";let ee=await h[c.findKey(h,D)||"text"](R,p);return!W&&q&&q(),await new Promise((M,te)=>{Mt(M,te,{data:ee,headers:V.from(R.headers),status:R.status,statusText:R.statusText,config:p,request:Z})})}catch(P){throw q&&q(),P&&P.name==="TypeError"&&/Load failed|fetch/i.test(P.message)?Object.assign(new S("Network Error",S.ERR_NETWORK,p,Z),{cause:P.cause||P}):S.from(P,P&&P.code,p,Z)}}},ar=new Map,es=t=>{let e=t&&t.env||{};const{fetch:s,Request:n,Response:r}=e,o=[n,r,s];let i=o.length,a=i,l,u,d=ar;for(;a--;)l=o[a],u=d.get(l),u===void 0&&d.set(l,u=a?new Map:or(e)),d=u;return u};es();const tt={http:xn,xhr:er,fetch:{get:es}};c.forEach(tt,(t,e)=>{if(t){try{Object.defineProperty(t,"name",{value:e})}catch{}Object.defineProperty(t,"adapterName",{value:e})}});const ts=t=>`- ${t}`,cr=t=>c.isFunction(t)||t===null||t===!1;function lr(t,e){t=c.isArray(t)?t:[t];const{length:s}=t;let n,r;const o={};for(let i=0;i<s;i++){n=t[i];let a;if(r=n,!cr(n)&&(r=tt[(a=String(n)).toLowerCase()],r===void 0))throw new S(`Unknown adapter '${a}'`);if(r&&(c.isFunction(r)||(r=r.get(e))))break;o[a||"#"+i]=r}if(!r){const i=Object.entries(o).map(([l,u])=>`adapter ${l} `+(u===!1?"is not supported by the environment":"is not available in the build"));let a=s?i.length>1?`since :
|
|
5
|
+
`+i.map(ts).join(`
|
|
6
|
+
`):" "+ts(i[0]):"as no adapter specified";throw new S("There is no suitable adapter to dispatch the request "+a,"ERR_NOT_SUPPORT")}return r}const ss={getAdapter:lr,adapters:tt};function st(t){if(t.cancelToken&&t.cancelToken.throwIfRequested(),t.signal&&t.signal.aborted)throw new fe(null,t)}function ns(t){return st(t),t.headers=V.from(t.headers),t.data=et.call(t,t.transformRequest),["post","put","patch"].indexOf(t.method)!==-1&&t.headers.setContentType("application/x-www-form-urlencoded",!1),ss.getAdapter(t.adapter||_e.adapter,t)(t).then(function(e){return st(t),e.data=et.call(t,t.transformResponse,e),e.headers=V.from(e.headers),e},function(e){return qt(e)||(st(t),e&&e.response&&(e.response.data=et.call(t,t.transformResponse,e.response),e.response.headers=V.from(e.response.headers))),Promise.reject(e)})}const rs="1.13.2",Ue={};["object","boolean","number","function","string","symbol"].forEach((t,e)=>{Ue[t]=function(s){return typeof s===t||"a"+(e<1?"n ":" ")+t}});const is={};Ue.transitional=function(t,e,s){function n(r,o){return"[Axios v"+rs+"] Transitional option '"+r+"'"+o+(s?". "+s:"")}return(r,o,i)=>{if(t===!1)throw new S(n(o," has been removed"+(e?" in "+e:"")),S.ERR_DEPRECATED);return e&&!is[o]&&(is[o]=!0,console.warn(n(o," has been deprecated since v"+e+" and will be removed in the near future"))),t?t(r,o,i):!0}},Ue.spelling=function(t){return(e,s)=>(console.warn(`${s} is likely a misspelling of ${t}`),!0)};function ur(t,e,s){if(typeof t!="object")throw new S("options must be an object",S.ERR_BAD_OPTION_VALUE);const n=Object.keys(t);let r=n.length;for(;r-- >0;){const o=n[r],i=e[o];if(i){const a=t[o],l=a===void 0||i(a,o,t);if(l!==!0)throw new S("option "+o+" must be "+l,S.ERR_BAD_OPTION_VALUE);continue}if(s!==!0)throw new S("Unknown option "+o,S.ERR_BAD_OPTION)}}const Fe={assertOptions:ur,validators:Ue},X=Fe.validators;let oe=class{constructor(t){this.defaults=t||{},this.interceptors={request:new Dt,response:new Dt}}async request(t,e){try{return await this._request(t,e)}catch(s){if(s instanceof Error){let n={};Error.captureStackTrace?Error.captureStackTrace(n):n=new Error;const r=n.stack?n.stack.replace(/^.+\n/,""):"";try{s.stack?r&&!String(s.stack).endsWith(r.replace(/^.+\n.+\n/,""))&&(s.stack+=`
|
|
7
|
+
`+r):s.stack=r}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:n,headers:r}=e;s!==void 0&&Fe.assertOptions(s,{silentJSONParsing:X.transitional(X.boolean),forcedJSONParsing:X.transitional(X.boolean),clarifyTimeoutError:X.transitional(X.boolean)},!1),n!=null&&(c.isFunction(n)?e.paramsSerializer={serialize:n}:Fe.assertOptions(n,{encode:X.function,serialize:X.function},!0)),e.allowAbsoluteUrls!==void 0||(this.defaults.allowAbsoluteUrls!==void 0?e.allowAbsoluteUrls=this.defaults.allowAbsoluteUrls:e.allowAbsoluteUrls=!0),Fe.assertOptions(e,{baseUrl:X.spelling("baseURL"),withXsrfToken:X.spelling("withXSRFToken")},!0),e.method=(e.method||this.defaults.method||"get").toLowerCase();let o=r&&c.merge(r.common,r[e.method]);r&&c.forEach(["delete","get","head","post","put","patch","common"],f=>{delete r[f]}),e.headers=V.concat(o,r);const i=[];let a=!0;this.interceptors.request.forEach(function(f){typeof f.runWhen=="function"&&f.runWhen(e)===!1||(a=a&&f.synchronous,i.unshift(f.fulfilled,f.rejected))});const l=[];this.interceptors.response.forEach(function(f){l.push(f.fulfilled,f.rejected)});let u,d=0,h;if(!a){const f=[ns.bind(this),void 0];for(f.unshift(...i),f.push(...l),h=f.length,u=Promise.resolve(e);d<h;)u=u.then(f[d++],f[d++]);return u}h=i.length;let y=e;for(;d<h;){const f=i[d++],p=i[d++];try{y=f(y)}catch(m){p.call(this,m);break}}try{u=ns.call(this,y)}catch(f){return Promise.reject(f)}for(d=0,h=l.length;d<h;)u=u.then(l[d++],l[d++]);return u}getUri(t){t=ie(this.defaults,t);const e=Ht(t.baseURL,t.url,t.allowAbsoluteUrls);return Ft(e,t.params,t.paramsSerializer)}};c.forEach(["delete","get","head","options"],function(t){oe.prototype[t]=function(e,s){return this.request(ie(s||{},{method:t,url:e,data:(s||{}).data}))}}),c.forEach(["post","put","patch"],function(t){function e(s){return function(n,r,o){return this.request(ie(o||{},{method:t,headers:s?{"Content-Type":"multipart/form-data"}:{},url:n,data:r}))}}oe.prototype[t]=e(),oe.prototype[t+"Form"]=e(!0)});let dr=class Is{constructor(e){if(typeof e!="function")throw new TypeError("executor must be a function.");let s;this.promise=new Promise(function(r){s=r});const n=this;this.promise.then(r=>{if(!n._listeners)return;let o=n._listeners.length;for(;o-- >0;)n._listeners[o](r);n._listeners=null}),this.promise.then=r=>{let o;const i=new Promise(a=>{n.subscribe(a),o=a}).then(r);return i.cancel=function(){n.unsubscribe(o)},i},e(function(r,o,i){n.reason||(n.reason=new fe(r,o,i),s(n.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=n=>{e.abort(n)};return this.subscribe(s),e.signal.unsubscribe=()=>this.unsubscribe(s),e.signal}static source(){let e;return{token:new Is(function(s){e=s}),cancel:e}}};function hr(t){return function(e){return t.apply(null,e)}}function fr(t){return c.isObject(t)&&t.isAxiosError===!0}const nt={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(nt).forEach(([t,e])=>{nt[e]=t});function os(t){const e=new oe(t),s=St(oe.prototype.request,e);return c.extend(s,oe.prototype,e,{allOwnKeys:!0}),c.extend(s,e,null,{allOwnKeys:!0}),s.create=function(n){return os(ie(t,n))},s}const N=os(_e);N.Axios=oe,N.CanceledError=fe,N.CancelToken=dr,N.isCancel=qt,N.VERSION=rs,N.toFormData=Le,N.AxiosError=S,N.Cancel=N.CanceledError,N.all=function(t){return Promise.all(t)},N.spread=hr,N.isAxiosError=fr,N.mergeConfig=ie,N.AxiosHeaders=V,N.formToJSON=t=>Bt(c.isHTMLForm(t)?new FormData(t):t),N.getAdapter=ss.getAdapter,N.HttpStatusCode=nt,N.default=N;const{Axios:Fi,AxiosError:Di,CanceledError:$i,isCancel:Bi,CancelToken:Vi,VERSION:qi,all:Mi,Cancel:zi,isAxiosError:Wi,spread:Hi,toFormData:Ji,AxiosHeaders:Ki,HttpStatusCode:Yi,formToJSON:Zi,getAdapter:Gi,mergeConfig:Xi}=N,as=N.create({baseURL:location.origin,timeout:6e4,params:{}});as.interceptors.response.use(t=>t,t=>{var e,s,n,r,o,i,a,l,u,d,h;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 y=`HTTP ${t.response.status} - `;(e=t.response)!=null&&e.statusText&&(y+=`${t.response.statusText} `),(n=(s=t.response)==null?void 0:s.config)!=null&&n.data&&(y+=`${t.response.config.data} `),(o=(r=t.response)==null?void 0:r.data)!=null&&o.message?y+=`${t.response.data.message}`:(a=(i=t.response)==null?void 0:i.data)!=null&&a.exception?y+=`${t.response.data.exception}`:(d=(u=(l=t.response)==null?void 0:l.data)==null?void 0:u.error)!=null&&d.message?(t.response.data.error.class&&(y+=`${t.response.data.error.class} `),y+=`${t.response.data.error.message}`):y+=`${(h=t.response)==null?void 0:h.data}`;const{$cosmosNotify:f}=window;throw f&&f.serious({title:"Network error",body:y}),t}else throw t});let De=()=>({emit(t,...e){for(let s=this.events[t]||[],n=0,r=s.length;n<r;n++)s[n](...e)},events:{},on(t,e){var s;return((s=this.events)[t]||(s[t]=[])).push(e),()=>{var n;this.events[t]=(n=this.events[t])==null?void 0:n.filter(r=>e!==r)}}});class we extends Error{constructor(e,s){e instanceof Error?(super(e.message),this.cause=e):super(e),this.reason=s,this.name="ReasonError"}}class rt extends we{constructor(e){super("Rejected",e),this.name="SubscriptionRejectedError"}}class mr extends we{constructor(e){super(e||"Timed out to receive subscription ack"),this.name="SubscriptionTimeoutError"}}class K extends we{constructor(e,s){s?super(e,s):super("Disconnected",e),this.name="DisconnectedError"}}class pr extends K{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 gr{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:n,info:r})=>(s[n]=r,s),{})}}const ae=Symbol("state");class ls{constructor(e={}){this.emitter=De(),this.params=Object.freeze(e),this.presence=new gr(this),this.initialConnect=!0,this[ae]="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[ae]}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[ae]="connecting"}connected(){if(this.state==="connected"||this.state==="closed")return;this[ae]="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[ae]="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[ae]="disconnected",this.presence.reset(),this.emit("disconnect",e))}closed(e){this.state!=="closed"&&(this[ae]="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 n=this.receiver?this.receiver.logger:null;n&&n.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 n=this.emitter.on(e,(...r)=>{n(),s(...r)});return n}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 n=[()=>delete this._pendingSubscribe];n.push(this.on("connect",()=>{n.forEach(r=>r()),e()})),n.push(this.on("close",r=>{n.forEach(o=>o()),s(r||new we("Channel was disconnected before subscribing","canceled"))}))}),this._pendingSubscribe)}}class br{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(n=>n[e](s[0])):this.channels.forEach(n=>n[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,n={promise:new Promise(o=>{s=o}),intent:e,release:()=>{this._pendings.splice(this._pendings.indexOf(n),1),s(n)},canceled:!1,acquired:!1},r=this._pendingTop;return this._pendings.push(n),r&&await r.promise,this.gvl&&await this.gvl.acquire(n,e),n.acquired=!0,n}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 _r{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 yr{constructor(e){e.concurrentSubscribes===!1&&(this.glv=new _r),this._subscriptions={},this._localToRemote={}}all(){return Object.values(this._subscriptions)}get(e){return this._subscriptions[e]}create(e,{subscribe:s,unsubscribe:n}){let r=this._subscriptions[e]=new br(e);return r.remoteId=this._localToRemote[e],r.subscriber=s,r.unsubscriber=n,r.gvl=this.glv,r}remove(e){delete this._subscriptions[e],delete this._localToRemote[e]}storeRemoteId(e,s){this._localToRemote[e]=s;let n=this.get(e);n&&(n.remoteId=s)}}class wr{constructor(e={}){this.subscriptions=new yr(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 n=s.remoteId;n&&delete this._remoteToLocal[n],this.subscriptions.remove(e)}transmit(e,s,n){let r=this._remoteToLocal[e];if(!r){this._pendingMessages.push([e,s,n]);return}let o=this.subscriptions.get(r);o&&o.channels.forEach(i=>{i.receive(s,n)})}notify(e,s,n){let r=this._remoteToLocal[e];if(!r)return;let o=this.subscriptions.get(r);o&&o.channels.forEach(i=>i.emit(s,n))}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 n of this._pendingMessages)n[0]===e?this.transmit(n[0],n[1],n[2]):s.push(n);this._pendingMessages=s}}const us={debug:0,info:1,warn:2,error:3};class ds{constructor(e){this.level=e||"warn"}log(e,s,n){us[e]<us[this.level]||this.writeLogEntry(e,s,n)}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 ve extends ds{writeLogEntry(){}}class vr{encode(e){return JSON.stringify(e)}decode(e){try{return JSON.parse(e)}catch{}}}let Sr=0;class hs{constructor(e={}){let{logger:s}=e;this.logger=s||new ve,this.pendingSubscriptions={},this.pendingUnsubscriptions={},this.subscribeCooldownInterval=e.subscribeCooldownInterval||250,this.subscribeRetryInterval=e.subscribeRetryInterval||5e3}attached(e){this.cable=e}subscribe(e,s){let n={channel:e};s&&Object.assign(n,s);let r=cs(n);if(this.pendingUnsubscriptions[r]){let i=this.subscribeCooldownInterval*1.5;return this.logger.debug(`unsubscribed recently, cooldown for ${i}`,r),new Promise(a=>{setTimeout(()=>{a(this.subscribe(e,s))},i)})}if(this.pendingSubscriptions[r])return this.logger.warn("subscription is already pending, skipping",r),Promise.reject(Error("Already subscribing"));let o=this.subscribeRetryInterval;return new Promise((i,a)=>{let l=++Sr;this.pendingSubscriptions[r]={resolve:i,reject:a,id:l},this.cable.send(this.buildSubscribeRequest(r)),this.maybeRetrySubscribe(l,r,o)})}buildSubscribeRequest(e){return{command:"subscribe",identifier:e}}maybeRetrySubscribe(e,s,n){setTimeout(()=>{let r=this.pendingSubscriptions[s];r&&r.id===e&&(this.logger.warn(`no subscription ack received in ${n}ms, retrying subscribe`,s),this.cable.send(this.buildSubscribeRequest(s)),this.maybeExpireSubscribe(e,s,n))},n)}maybeExpireSubscribe(e,s,n){setTimeout(()=>{let r=this.pendingSubscriptions[s];r&&r.id===e&&(delete this.pendingSubscriptions[s],r.reject(new mr(`Haven't received subscription ack in ${n*2}ms for ${s}`)))},n)}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,n){return s==="$whisper"?this.whisper(e,n):(n||(n={}),n.action=s,this.cable.send({command:"message",identifier:e,data:JSON.stringify(n)}),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:n,message:r,reason:o,reconnect:i}=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 K(o);this.reset(a),i===!1?this.cable.closed(a):this.cable.disconnected(a);return}if(s==="confirm_subscription"){let a=this.pendingSubscriptions[n];if(!a){this.logger.error("subscription not found, unsubscribing",{type:s,identifier:n}),this.unsubscribe(n);return}return delete this.pendingSubscriptions[n],a.resolve(n)}if(s==="reject_subscription"){let a=this.pendingSubscriptions[n];return a?(delete this.pendingSubscriptions[n],a.reject(new rt)):this.logger.error("subscription not found",{type:s,identifier:n})}if(r)return{identifier:n,message:r};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 Er 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:n,message:r}=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[n]||(this.subscriptionStreams[n]=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",n);return}if(s==="reject_history"){this.logger.warn("failed to retrieve history",e),this.cable.notify("history_not_found",n);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 i of o)this.cable.send({identifier:i,command:"history",history:this.historyRequestFor(i)}),this.presenceInfo[i]&&this.cable.send({identifier:i,command:"join",presence:this.presenceInfo[i]});return this.cable.restored(o)}return this.cable.connected(this.sessionId)}if(s==="presence"){let o=r.type;if(o==="info"){let i=this.pendingPresence[n];i&&(delete this.pendingPresence[n],i.resolve(r))}else if(o==="error"){let i=this.pendingPresence[n];i&&(delete this.pendingPresence[n],i.reject(new Error("failed to retrieve presence")))}return{type:s,identifier:n,message:r}}if(r){let o=this.trackStreamPosition(n,e.stream_id,e.epoch,e.offset);return{identifier:n,message:r,meta:o}}this.logger.warn(`unknown message type: ${s}`,{message:e})}perform(e,s,n){switch(s){case"$presence:join":return this.join(e,n);case"$presence:leave":return this.leave(e,n);case"$presence:info":return this.presence(e,n)}return super.perform(e,s,n)}unsubscribe(e){return delete this.presenceInfo[e],super.unsubscribe(e)}buildSubscribeRequest(e){let s=super.buildSubscribeRequest(e),n=this.historyRequestFor(e);n&&(s.history=n,this.pendingHistory[e]=!0);let r=this.presenceInfo[e];return r&&(s.presence=r),s}recoverableClosure(){return!!this.sessionId}historyRequestFor(e){let s={},n=!1;if(this.subscriptionStreams[e])for(let r of this.subscriptionStreams[e]){let o=this.streamsPositions[r];o&&(n=!0,s[r]=o)}if(!(!n&&!this.restoreSince))return{since:this.restoreSince,streams:s}}trackStreamPosition(e,s,n,r){if(!(!s||!n))return this.subscriptionStreams[e]||(this.subscriptionStreams[e]=new Set),this.subscriptionStreams[e].add(s),this.streamsPositions[s]={epoch:n,offset:r},{stream:s,epoch:n,offset:r}}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((n,r)=>{this.pendingPresence[e]={resolve:n,reject:r},this.cable.send({command:"presence",identifier:e,data:s})})}}class xr extends we{constructor(){super("No connection","closed"),this.name="NoConnectionError"}}class it extends ls{constructor(e,s){super(s),this.channelId=e}set channelId(e){this._channelId=e}get channelId(){return this._channelId}}ke(it,"identifier","__ghost__");const Cr="$pubsub";class ot extends ls{async perform(e,s){if(e.startsWith("$"))return super.perform(e,s);throw Error("not implemented")}}ke(ot,"identifier",Cr);const ce=Symbol("state");let Or=class{constructor({transport:t,protocol:e,encoder:s,logger:n,lazy:r,hubOptions:o,performFailures:i,transportConfigurator:a}){this.emitter=De(),this.transport=t,this.encoder=s,this.logger=n||new ve,this.protocol=e,this.performFailures=i||"throw",this.protocol.attached(this),this.hub=new wr(o||{}),this[ce]="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,r===!1&&this.connect().catch(()=>{})}get state(){return this[ce]}async connect(){if(this.state==="connected")return Promise.resolve();if(this.state==="connecting")return this.pendingConnect();let t=this.state==="idle";this[ce]="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[ce]="connected",this.recovering&&this.hub.subscriptions.all().forEach(e=>e.notify("disconnected",new K("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[ce]="connected",this.hub.subscriptions.all().forEach(n=>{t&&n.remoteId&&t.includes(n.remoteId)?n.notify("restored"):(n.notify("disconnected",new K("recovery_failed")),this._resubscribe(n))});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 K(t,"transport_closed"))}disconnected(t){(this.state==="connected"||this.state==="connecting")&&(this.logger.info("disconnected",{reason:t}),this[ce]="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 K?t:new K(t,void 0)),this.logger.info("closed",{reason:t||"user"}),this[ce]="closed";let s=e||new K("cable_closed");this.hub.subscriptions.all().forEach(n=>n.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:n,identifier:r,message:o,meta:i}=s;n?this.hub.notify(r,n,o):this.hub.transmit(r,o,i)}}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 ot({stream_name:t});return this.subscribe(e)}streamFromSigned(t){let e=new ot({signed_stream_name:t});return this.subscribe(e)}subscribeTo(t,e){let s,n;return typeof t=="string"&&(n=t,t=it),s=n?new t(n,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:n=>this._subscribe(n,t.channelId,t.params),unsubscribe:n=>this._unsubscribe(n)});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 n=t.id;if(this.state==="idle"&&this.connect().catch(()=>{}),this.state!=="connected"){this.logger.debug("cancel subscribe, no connection",{identifier:n});return}this.logger.debug("acquiring subscribe lock",{identifier:n});let r=await t.acquire("subscribed");if(r.canceled){this.logger.debug("subscribe lock has been canceled",{identifier:n}),r.release();return}if(this.logger.debug("subscribe lock has been acquired",{identifier:n}),t.intent!=="subscribed"){this.logger.debug("cancel subscribe request, already unsubscribed"),r.release();return}if(this.state!=="connected"){this.logger.debug("cancel subscribe, no connection",{identifier:n}),r.release();return}if(t.state==="connected"){this.logger.debug("already connected, skip subscribe command",{identifier:n}),t.notify("connected"),r.release();return}let o={identifier:e,params:s};this.logger.debug("subscribing",o);try{let i=await this.protocol.subscribe(e,s);this.hub.subscribe(n,i),this.logger.debug("subscribed",{...o,remoteId:i}),t.notify("connected")}catch(i){if(i){if(i instanceof rt&&this.logger.warn("rejected",o),i instanceof K){this.logger.debug("disconnected during subscription; will retry on connect",o),r.release();return}this.logger.error("failed to subscribe",{error:i,...o})}t.close(i),this.hub.unsubscribe(n)}r.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 n=t.remoteId;if(this.logger.debug("unsubscribing...",{remoteId:n}),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(n),this.logger.debug("unsubscribed remotely",{id:e})}catch(r){r&&(r instanceof K?this.logger.debug("cable disconnected during the unsubscribe command execution",{id:e,error:r}):this.logger.error("unsubscribe failed",{id:e,error:r}))}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(n){this.performFailures==="warn"&&this.logger.warn("perform failed",{error:n});return}}async _perform(t,e,s){if(this.state==="connecting"&&await this.pendingConnect(),this.state==="closed"||this.state==="disconnected")throw new xr;let n=this.hub.subscriptions.get(t);if(!n)throw Error(`Subscription not found: ${t}`);if(await n.pending("subscribed"),n.intent!=="subscribed")throw Error(`Subscription is closed: ${t}`);let r=n.remoteId,o={id:r,action:e,payload:s};this.logger.debug("perform",o);try{let i=await this.protocol.perform(r,e,s);return i&&this.logger.debug("perform result",{message:i,request:o}),i}catch(i){throw this.logger.error("perform failed",{error:i,request:o}),i}}on(t,e){return this.emitter.on(t,e)}once(t,e){let s=this.emitter.on(t,(...n)=>{s(),e(...n)});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(n=>n()),t()})),s.push(this.on("close",n=>{s.forEach(r=>r()),e(n)})),s.push(this.on("disconnect",n=>{s.forEach(r=>r()),e(n)}))}),this._pendingConnect)}};const kr={maxMissingPings:2,maxReconnectAttempts:1/0},me=()=>Date.now(),ms=(t,e)=>{e=e||{};let{backoffRate:s,jitterRatio:n,maxInterval:r}=e;return s=s||2,n===void 0&&(n=.5),o=>{let i=t*s**o,a=i*s,l=i+(a-i)*Math.random(),u=2*(Math.random()-.5)*n;return l=l*(1+u),r&&r<l&&(l=r),l}};let ps=class{constructor({pingInterval:t,...e}){if(this.pingInterval=t,!this.pingInterval)throw Error(`Incorrect pingInterval is provided: ${t}`);if(e=Object.assign({},kr,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 ve,this.state="pending_connect",this.attempts=0,this.disconnectedAt=me()}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=me(),this.state="connected",this.cancelReconnect(),this.startPolling()})),this.unbind.push(this.target.on("disconnect",()=>{this.disconnectedAt=me(),this.state="disconnected",this.stopPolling(),this.scheduleReconnect()})),this.unbind.push(this.target.on("close",()=>{this.disconnectedAt=me(),this.state="closed",this.cancelReconnect(),this.stopPolling()})),this.unbind.push(this.target.on("keepalive",()=>{this.pingedAt=me()})),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=me()-this.pingedAt;t>this.maxMissingPings*this.pingInterval&&(this.logger.warn(`Stale connection: ${t}ms without pings`),this.state="pending_disconnect",this.target.disconnected(new pr))}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 Rr{constructor(e,s={}){this.transports=e,this.transport=null,this.emitter=De(),this.unbind=[],this.logger=s.logger||new ve}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(n){this.logger.debug(`Failed to connect via ${s.displayName()}: ${n.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(n=>{n.setParam(e,s)})}setToken(e,s){this.transports.forEach(n=>{n.setToken(e,s)})}on(e,s){return this.emitter.on(e,s)}once(e,s){let n=this.emitter.on(e,(...r)=>{n(),s(...r)});return n}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 Ir{constructor(e,s={}){this.url=e;let n=s.websocketImplementation;if(n)this.Impl=n;else if(typeof WebSocket<"u")this.Impl=WebSocket;else throw new Error("No WebSocket support");this.connected=!1,this.emitter=De();let{format:r,subprotocol:o,authStrategy:i}=s;this.format=r||"text",this.connectionOptions=s.websocketOptions,this.authStrategy=i||"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,n)=>{let r=[];r.push(this.once("open",()=>{r.forEach(o=>o()),s()})),r.push(this.once("close",()=>{r.forEach(o=>o()),n(Error("WS connection closed"))}))})}setURL(e){this.url=e}setParam(e,s){let n=new URL(this.url);n.searchParams.set(e,s);let r=`${n.protocol}//${n.host}${n.pathname}?${n.searchParams}`;this.setURL(r)}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 n=`x-${s}`.toLowerCase();n=Object.keys(this.connectionOptions.headers).find(r=>r.toLowerCase()===n)||n,this.connectionOptions.headers[n]=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 n=this.emitter.on(e,(...r)=>{n(),s(...r)});return n}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 Ar(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:n,websocketFormat:r,websocketOptions:o,websocketAuthStrategy:i,fallbacks:a,logLevel:l,logger:u,transport:d,encoder:h,lazy:y,monitor:f,pingInterval:p,reconnectStrategy:m,maxMissingPings:O,maxReconnectAttempts:I,subprotocol:x,tokenRefresher:b,historyTimestamp:A,protocolOptions:T,concurrentSubscribes:z,performFailures:D,transportConfigurator:k,auth:L}=e;if(u=u||new ve(l),typeof s=="string"){x=x||s;let Y=s.substring(0,s.lastIndexOf("-")),Z=s.substring(s.lastIndexOf("-")+1);if(T=T||{},Y==="actioncable-v1")s=new hs({logger:u,...T});else if(Y==="actioncable-v1-ext")s=new Er({logger:u,historyTimestamp:A,...T});else throw Error(`Protocol is not supported yet: ${s}`);if(Z==="json")h=h||new vr,r=r||"text";else if(Z==="msgpack"){if(r="binary",!h)throw Error("Msgpack encoder must be specified explicitly. Use `@anycable/msgpack-encoder` package or build your own")}else if(Z==="protobuf"){if(r=r||"binary",!h)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 Ir(t,{websocketImplementation:n,websocketOptions:o,subprotocol:x,authStrategy:i,format:r}),a&&(d=new Rr([d,...a],{logger:u})),L&&L.token&&d.setToken(L.token,L.param||"jid"),m=m||ms(p),f!==!1&&(f=f||new ps({pingInterval:p,reconnectStrategy:m,maxMissingPings:O,maxReconnectAttempts:I,logger:u}));let le={concurrentSubscribes:z},Q=new Or({protocol:s,transport:d,encoder:h,logger:u,lazy:y,hubOptions:le,performFailures:D,transportConfigurator:k});return f&&(f.watch(Q),Q.monitor=f),b&&Tr(Q,async()=>{try{await b(d)}catch(Y){return u.error("Failed to refresh authentication token: "+Y),!1}return Q.connect().catch(()=>{}),!0}),Q}function Tr(t,e){let s=!1;t.on("connect",()=>s=!1),t.on("close",async n=>{if(n){if(s){t.logger.warn("Token auto-refresh is disabled",n);return}n.reason==="token_expired"&&(s=!0,await e())}})}class Lr{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 jr extends it{constructor(e,s,n){super(e,s),this.subscription=new Lr(this),Object.assign(this.subscription,n),this.on("connect",({reconnect:r})=>this.subscription.notify("connected",{reconnected:r})),this.on("disconnect",()=>this.subscription.notify("disconnected",{allowReconnect:!0})),this.on("message",r=>this.subscription.notify("received",r)),this.on("close",r=>{r&&r instanceof rt?this.subscription.notify("rejected"):this.subscription.notify("disconnected",{allowReconnect:!1})})}}class Nr{constructor(e){this.cable=e}create(e,s){let n,r;typeof e=="object"?(n=e.channel,delete e.channel,r=e):(n=e,r={});let o=new jr(n,r,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 Pr{constructor(e){this.cable=e,this.subscriptions=new Nr(e)}}class Ur extends ds{writeLogEntry(e,s,n){n?console[e](s,n):console[e](s)}}class Fr 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=r=>{this.reconnectNow()&&this.logger.debug("Trigger reconnect",{event:r})},n=()=>this.disconnect(new K("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",n,!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",n,!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 Dr=["cable","action-cable"],$r="/cable",$e=(t,e)=>{for(let s of Dr){let n=t.head.querySelector(`meta[name='${s}-${e}']`);if(n)return n.getAttribute("content")}},bs=t=>t.match(/wss?:\/\//)?t:typeof window<"u"?`${window.location.protocol.replace("http","ws")}//${window.location.host}${t}`:t,Br=()=>{if(typeof document<"u"&&document.head){let t=$e(document,"url");if(t)return bs(t)}return bs($r)},Vr=()=>{if(typeof document<"u"&&document.head){let t=$e(document,"history-timestamp");if(t)return t|0}},qr=()=>{if(typeof document<"u"&&document.head)return $e(document,"token")},Mr=()=>{if(typeof document<"u"&&document.head)return $e(document,"token-param")};function zr(t,e){typeof t=="object"&&typeof e>"u"&&(e=t,t=void 0),t=t||Br(),e=e||{},e.historyTimestamp||(e.historyTimestamp=Vr());let s=qr();if(s){let u=Mr();e.auth=Object.assign({token:s,param:u},e.auth||{})}e=Object.assign({},gs,e);let{logLevel:n,logger:r,pingInterval:o,reconnectStrategy:i,maxMissingPings:a,maxReconnectAttempts:l}=e;return r=e.logger=e.logger||new Ur(n),i=e.reconnectStrategy=e.reconnectStrategy||ms(o),e.monitor!==!1&&(e.monitor=e.monitor||new Fr({pingInterval:o,reconnectStrategy:i,maxMissingPings:a,maxReconnectAttempts:l,logger:r})),Ar(t,e)}function Wr(t,e){let s=zr(t,e);return new Pr(s)}class _s{constructor(e="/openc3-api/cable"){this._cable=null,this._url=e}disconnect(){this._cable&&(this._cable.cable.disconnect(),this._cable=null)}createSubscription(e,s,n={},r={}){return OpenC3Auth.updateToken(OpenC3Auth.defaultMinValidity).then(o=>{if(o&&OpenC3Auth.setTokens(),this._cable==null){let i=this._url+"?scope="+encodeURIComponent(s)+"&authorization="+encodeURIComponent(localStorage.openc3Token);i=new URL(i,document.baseURI).href,this._cable=Wr(i)}return this._cable.subscriptions.create({channel:e,...r},n)})}recordPing(){}}function Se(t){return Hr.test(t)}const Hr=/^-?[0-9]+$/;function ys(t){return Jr.test(t)}const Jr=/^-?(?:0|[1-9]\d*)(?:\.\d+)?(?:[eE][+-]?\d+)?$/;function ws(t,e){if(Se(t))return Number.isSafeInteger(Number.parseInt(t,10));const s=Number.parseFloat(t),n=String(s);if(t===n)return!0;const r=vs(t),o=vs(n);return!!(r===o||(e==null?void 0:e.approx)===!0&&!Se(t)&&o.length>=14&&r.startsWith(o.substring(0,14)))}let Ee=function(t){return t.underflow="underflow",t.overflow="overflow",t.truncate_integer="truncate_integer",t.truncate_float="truncate_float",t}({});function Kr(t){if(ws(t,{approx:!1}))return;if(Se(t))return Ee.truncate_integer;const e=Number.parseFloat(t);return Number.isFinite(e)?e===0?Ee.underflow:Ee.truncate_float:Ee.overflow}function vs(t){const{start:e,end:s}=Yr(t),n=t.substring(e,s),r=n.indexOf(".");return r===-1?n:n.substring(0,r)+n.substring(r+1)}function Yr(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 Zr{constructor(e){if(ke(this,"isLosslessNumber",!0),!ys(e))throw new Error(`Invalid number (value: "${e}")`);this.value=e}valueOf(){const e=Kr(this.value);if(e===void 0||e===Ee.truncate_float)return Number.parseFloat(this.value);if(Se(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 Gr(t){return t&&typeof t=="object"&&t.isLosslessNumber||!1}function Xr(t){return new Zr(t)}function Qr(t,e){return at({"":t},"",t,e)}function at(t,e,s,n){return Array.isArray(s)?n.call(t,e,ti(s,n)):s&&typeof s=="object"&&!Gr(s)?n.call(t,e,ei(s,n)):n.call(t,e,s)}function ei(t,e){for(const s of Object.keys(t)){const n=at(t,s,t[s],e);n!==void 0?t[s]=n:delete t[s]}return t}function ti(t,e){for(let s=0;s<t.length;s++)t[s]=at(t,String(s),t[s],e);return t}function si(t,e,s){const n=typeof s=="function"?{parseNumber:s}:s,r=(n==null?void 0:n.parseNumber)??Xr,o=(n==null?void 0:n.onDuplicateKey)??D;let i=0;const a=d();return I(a),b(),e?Qr(a,e):a;function l(){if(t.charCodeAt(i)===ci){i++,y();const v={};let R=!0;for(;i<t.length&&t.charCodeAt(i)!==Es;){R?R=!1:(m(),y());const W=i,ee=f();if(ee===void 0){z();return}y(),O();const M=d();if(M===void 0){Y();return}if(Object.prototype.hasOwnProperty.call(v,ee)&&!ct(M,v[ee])){const te=o({key:ee,position:W+1,oldValue:v[ee],newValue:M});te!==void 0&&(v[ee]=te)}else v[ee]=M}return t.charCodeAt(i)!==Es&&k(),i++,v}}function u(){if(t.charCodeAt(i)===li){i++,y();const v=[];let R=!0;for(;i<t.length&&t.charCodeAt(i)!==xs;){R?R=!1:m();const W=d();x(W),v.push(W)}return t.charCodeAt(i)!==xs&&L(),i++,v}}function d(){y();const v=f()??p()??l()??u()??h("true",!0)??h("false",!1)??h("null",null);return y(),v}function h(v,R){if(t.slice(i,i+v.length)===v)return i+=v.length,R}function y(){for(;ni(t.charCodeAt(i));)i++}function f(){if(t.charCodeAt(i)===lt){i++;let v="";for(;i<t.length&&t.charCodeAt(i)!==lt;){if(t.charCodeAt(i)===ai){const R=t[i+1],W=oi[R];W!==void 0?(v+=W,i++):R==="u"?Be(t.charCodeAt(i+2))&&Be(t.charCodeAt(i+3))&&Be(t.charCodeAt(i+4))&&Be(t.charCodeAt(i+5))?(v+=String.fromCharCode(Number.parseInt(t.slice(i+2,i+6),16)),i+=5):Z(i):Q(i)}else ii(t.charCodeAt(i))?v+=t[i]:le(t[i]);i++}return T(),i++,v}}function p(){const v=i;if(t.charCodeAt(i)===Cs&&(i++,A(v)),t.charCodeAt(i)===ut)i++;else if(ri(t.charCodeAt(i)))for(i++;Ve(t.charCodeAt(i));)i++;if(t.charCodeAt(i)===bi)for(i++,A(v);Ve(t.charCodeAt(i));)i++;if(t.charCodeAt(i)===Si||t.charCodeAt(i)===vi)for(i++,(t.charCodeAt(i)===Cs||t.charCodeAt(i)===mi)&&i++,A(v);Ve(t.charCodeAt(i));)i++;if(i>v)return r(t.slice(v,i))}function m(){if(t.charCodeAt(i)!==gi)throw new SyntaxError(`Comma ',' expected after value ${P()}`);i++}function O(){if(t.charCodeAt(i)!==_i)throw new SyntaxError(`Colon ':' expected after property name ${P()}`);i++}function I(v){if(v===void 0)throw new SyntaxError(`JSON value expected ${P()}`)}function x(v){if(v===void 0)throw new SyntaxError(`Array item expected ${P()}`)}function b(){if(i<t.length)throw new SyntaxError(`Expected end of input ${P()}`)}function A(v){if(!Ve(t.charCodeAt(i))){const R=t.slice(v,i);throw new SyntaxError(`Invalid number '${R}', expecting a digit ${P()}`)}}function T(){if(t.charCodeAt(i)!==lt)throw new SyntaxError(`End of string '"' expected ${P()}`)}function z(){throw new SyntaxError(`Quoted object key expected ${P()}`)}function D(v){let{key:R,position:W}=v;throw new SyntaxError(`Duplicate key '${R}' encountered at position ${W}`)}function k(){throw new SyntaxError(`Quoted object key or end of object '}' expected ${P()}`)}function L(){throw new SyntaxError(`Array item or end of array ']' expected ${P()}`)}function le(v){throw new SyntaxError(`Invalid character '${v}' ${q()}`)}function Q(v){const R=t.slice(v,v+2);throw new SyntaxError(`Invalid escape character '${R}' ${q()}`)}function Y(){throw new SyntaxError(`Object value expected after ':' ${q()}`)}function Z(v){const R=t.slice(v,v+6);throw new SyntaxError(`Invalid unicode character '${R}' ${q()}`)}function q(){return`at position ${i}`}function qe(){return i<t.length?`but got '${t[i]}'`:"but reached end of input"}function P(){return`${qe()} ${q()}`}}function ni(t){return t===ui||t===di||t===hi||t===fi}function Be(t){return t>=ut&&t<=dt||t>=yi&&t<=Ei||t>=wi&&t<=xi}function Ve(t){return t>=ut&&t<=dt}function ri(t){return t>=pi&&t<=dt}function ii(t){return t>=32&&t<=1114111}function ct(t,e){return t===e?!0:Array.isArray(t)&&Array.isArray(e)?t.length===e.length&&t.every((s,n)=>ct(s,e[n])):Ss(t)&&Ss(e)?[...new Set([...Object.keys(t),...Object.keys(e)])].every(s=>ct(t[s],e[s])):!1}function Ss(t){return typeof t=="object"&&t!==null}const oi={'"':'"',"\\":"\\","/":"/",b:"\b",f:"\f",n:`
|
|
8
|
+
`,r:"\r",t:" "},ai=92,ci=123,Es=125,li=91,xs=93,ui=32,di=10,hi=9,fi=13,lt=34,mi=43,Cs=45,ut=48,pi=49,dt=57,gi=44,bi=46,_i=58,yi=65,wi=97,vi=69,Si=101,Ei=70,xi=102;function Os(t,e,s,n){return r(t);function r(l,u){if(Array.isArray(n)){const d=n.find(h=>h.test(l));if(d){const h=d.stringify(l);if(typeof h!="string"||!ys(h))throw new Error(`Invalid JSON number: output of a number stringifier must be a string containing a JSON number (output: ${h})`);return h}}if(typeof l=="boolean"||typeof l=="number"||typeof l=="string"||l===null||l instanceof Date||l instanceof Boolean||l instanceof Number||l instanceof String)return JSON.stringify(l);if(l!=null&&l.isLosslessNumber||typeof l=="bigint")return l.toString();if(Array.isArray(l))return o(l);if(l&&typeof l=="object")return i(l)}function o(l,u){if(l.length===0)return"[]";let d="[";for(let h=0;h<l.length;h++){const y=l[h];typeof y<"u"&&typeof y!="function"?d+=r(y):d+="null",h<l.length-1&&(d+=",")}return d+="]",d}function i(l,u){if(typeof l.toJSON=="function")return Os(l.toJSON(),e,s,void 0);const d=Array.isArray(e)?e.map(String):Object.keys(l);if(d.length===0)return"{}";let h=!0,y="{";for(const f of d){const p=l[f];if(a(f,p)){h?h=!1:y+=",";const m=JSON.stringify(f);y+=`${m}:`,y+=r(p)}}return y+="}",y}function a(l,u){return typeof u<"u"&&typeof u!="function"&&typeof u!="symbol"}}function Ci(t){return Se(t)&&!ws(t)?BigInt(t):parseFloat(t)}class ks{constructor(){ke(this,"id",1)}async exec(e,s,n={},r={},o=6e4){try{await OpenC3Auth.updateToken(OpenC3Auth.defaultMinValidity)&&OpenC3Auth.setTokens()}catch{OpenC3Auth.login()}this.id=this.id+1;try{return n.scope=window.openc3Scope,r.manual=!0,(await as.post("/openc3-api/api",{jsonrpc:"2.0",method:e,params:s,id:this.id,keyword_params:n},{headers:{Authorization:localStorage.openc3Token,"Content-Type":"application/json-rpc",...r},timeout:o,transformRequest:[(i,a)=>Os(i)],transformResponse:[i=>si(i,void 0,Ci)]})).data.result}catch(i){let a=new Error;throw i.response?(a.name=i.response.data.error.data.class,a.message=i.response.data.error.data.message,a.object=i.response.data.error):i.request?(a.name="Request error",a.message="Request error, no response received"):a=i,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,n,r,o){return this.exec("map_target_to_interface",[e,s],{cmd_only:n,tlm_only:r,unmap_old:o})}unmap_target_from_interface(e,s,n,r){return this.exec("unmap_target_from_interface",[e,s],{cmd_only:n,tlm_only:r})}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,...n){return this.exec("interface_cmd",[e,s,...n])}interface_target_enable(e,s,n=!1,r=!1){return this.exec("interface_target_enable",[e,s],{cmd_only:n,tlm_only:r})}interface_target_disable(e,s,n=!1,r=!1){return this.exec("interface_target_disable",[e,s],{cmd_only:n,tlm_only:r})}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,n,r,o){return this.exec("map_target_to_router",[e,s],{cmd_only:n,tlm_only:r,unmap_old:o})}unmap_target_from_router(e,s,n,r){return this.exec("unmap_target_from_router",[e,s],{cmd_only:n,tlm_only:r})}connect_router(e){return this.exec("connect_router",[e])}disconnect_router(e){return this.exec("disconnect_router",[e])}router_target_enable(e,s,n=!1,r=!1){return this.exec("router_target_enable",[e,s],{cmd_only:n,tlm_only:r})}router_target_disable(e,s,n=!1,r=!1){return this.exec("router_target_disable",[e,s],{cmd_only:n,tlm_only:r})}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,n){return this.exec("get_item",[e,s,n])}get_param(e,s,n){return this.exec("get_param",[e,s,n])}get_parameter(e,s,n){return this.exec("get_param",[e,s,n])}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,n,r=30){const o=await this.exec("get_tlm_packet",[e,s],{type:n,stale_time:r});if(o!=null){let i=o.length,a=null;for(let l=0;l<i;l++)a=this.decode_openc3_type(o[l][1]),a!==null&&(o[l][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,n=null,r=null,o=null){let i={stale_time:s};n!==null&&(i.cache_timeout=n),r!==null&&(i.start_time=r.toISOString()),o!==null&&(i.end_time=o.toISOString());const a=await this.exec("get_tlm_values",[e],i,{},1e4);if(a&&a.length>0){let l=a.length,u=null;for(let d=0;d<l;d++)u=this.decode_openc3_type(a[d][0]),u!==null&&(a[d][0]=u)}return a}get_limits(e,s,n){return this.exec("get_limits",[e,s,n])}async tlm(e,s,n,r="CONVERTED"){let o=null;if(s===void 0)o=await this.exec("tlm",[e]);else if(n===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,n],{type:r});let i=this.decode_openc3_type(o);return i!==null&&(o=i),o}async inject_tlm(e,s,n=null,r="CONVERTED"){await this.exec("inject_tlm",[e,s,n],{type:r})}set_tlm(e,s,n,r){return this.exec("set_tlm",[e,s,n],{type:r})}override_tlm(e,s,n,r){return this.exec("override_tlm",[e,s,n],{type:r})}get_overrides(){return this.exec("get_overrides")}normalize_tlm(e,s,n,r){return this.exec("normalize_tlm",[e,s,n],{type:r})}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,n,r="CONVERTED"){return this.exec("get_cmd_value",[e,s,n,r])}get_cmd_buffer(e,s){return this.exec("get_cmd_buffer",[e,s])}_cmd(e,s,n,r,o,i={}){let a=null;for(let l in r)Object.prototype.hasOwnProperty.call(r,l)&&(a=this.encode_openc3_type(r[l]),a!==null&&(r[l]=a));return this.exec(e,[s,n,r],i,o)}get_cmd_hazardous(e,s,n,r={}){return s===void 0?this.exec("get_cmd_hazardous",e,{},r):this._cmd("get_cmd_hazardous",e,s,n,r)}cmd(e,s,n,r={},o={}){return s===void 0?this.exec("cmd",e,o,r):this._cmd("cmd",e,s,n,r,o)}cmd_no_range_check(e,s,n,r={},o={}){return s===void 0?this.exec("cmd_no_range_check",e,o,r):this._cmd("cmd_no_range_check",e,s,n,r,o)}cmd_raw(e,s,n,r={},o={}){return s===void 0?this.exec("cmd_raw",e,o,r):this._cmd("cmd_raw",e,s,n,r,o)}cmd_raw_no_range_check(e,s,n,r={},o={}){return s===void 0?this.exec("cmd_raw_no_range_check",e,o,r):this._cmd("cmd_raw_no_range_check",e,s,n,r,o)}cmd_no_hazardous_check(e,s,n,r={},o={}){return s===void 0?this.exec("cmd_no_hazardous_check",e,o,r):this._cmd("cmd_no_hazardous_check",e,s,n,r,o)}cmd_no_checks(e,s,n,r={},o={}){return s===void 0?this.exec("cmd_no_checks",e,o,r):this._cmd("cmd_no_checks",e,s,n,r,o)}cmd_raw_no_hazardous_check(e,s,n,r={},o={}){return s===void 0?this.exec("cmd_raw_no_hazardous_check",e,o,r):this._cmd("cmd_raw_no_hazardous_check",e,s,n,r,o)}cmd_raw_no_checks(e,s,n,r={},o={}){return s===void 0?this.exec("cmd_raw_no_checks",e,o,r):this._cmd("cmd_raw_no_checks",e,s,n,r,o)}build_cmd(e,s,n,r={},o={}){return s===void 0?this.exec("build_cmd",e,o,r):this._cmd("build_cmd",e,s,n,r,o)}build_command(e,s,n,r={},o={}){return s===void 0?this.exec("build_cmd",e,o,r):this._cmd("build_cmd",e,s,n,r,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,n){return this.exec("save_config",[e,s,n])}delete_config(e,s){return this.exec("delete_config",[e,s])}enable_limits(e,s,n){return this.exec("enable_limits",[e,s,n])}disable_limits(e,s,n){return this.exec("disable_limits",[e,s,n])}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),n=await crypto.subtle.digest("SHA-256",s),r=new Uint8Array(n);return Array.from(r).map(o=>o.toString(16).padStart(2,"0")).join("")}}}const Oi={components:{ValueWidget:wt,ValuelimitsbarWidget:vt},mixins:[ze],props:{modelValue:{type:Array,default:()=>[]},timeZone:{type:String,default:"local"}},data(){return{api:null,cable:new _s,ignored:[],ignoredItemsDialog:!1,overallState:"GREEN",currentLimitsSet:"",items:[],itemList:[],screenItems:[],availableItems:[],screenValues:{},updateCounter:0,itemsPerPage:25,search:"",headers:[{title:"Timestamp",key:"timestamp",width:"130px",sortable:!0,nowrap:!0},{title:"Item",key:"item",value:t=>t.parameters[2],sortable:!0,minWidth:"100px",width:"200px",maxWidth:"410px"},{title:"Value",key:"value",width:"380px",sortable:!1},{title:"Controls",key:"actions",width:"80px",sortable:!1},{title:"",key:"limits",sortable:!1}],valueLimitsBarWidgetSettings:[["WIDTH","380px"],["0","WIDTH","200px"],["1","WIDTH","180px"]],valueWidgetSettings:[["WIDTH","200px"]]}},computed:{textFieldClass(){return this.overallState?`textfield-${this.overallState.toLowerCase()}`:""},overallStateFormatted(){return this.ignored.length===0?this.overallState:`${this.overallState} (Some items ignored)`},ignoredFormatted(){return this.ignored.map(t=>t.split("__").join(" "))},astroStatus(){switch(this.overallState){case"GREEN":return"normal";case"YELLOW":return"caution";case"RED":return"critical";case"BLUE":return"standby";default:return null}}},created(){this.api=new ks;for(let t of this.modelValue)t.match(/.+__.+__.+/)?this.ignoreItem(t,!0):this.ignorePacket(t,!0);this.updateOutOfLimits(),this.getCurrentLimitsSet(),this.currentSetRefreshInterval=setInterval(this.getCurrentLimitsSet,10*1e3),this.cable.createSubscription("LimitsEventsChannel",window.openc3Scope,{received:t=>{this.cable.recordPing(),this.handleMessages(t)}}).then(t=>{this.limitsSubscription=t}),this.cable.createSubscription("ConfigEventsChannel",window.openc3Scope,{received:t=>{this.cable.recordPing();const e=JSON.parse(t);this.handleConfigEvents(e)}}).then(t=>{this.configSubscription=t})},mounted(){this.updater=setInterval(()=>{this.update()},1e3)},unmounted(){this.updater!=null&&(clearInterval(this.updater),this.updater=null),this.limitsSubscription&&this.limitsSubscription.unsubscribe(),this.configSubscription&&this.configSubscription.unsubscribe(),this.cable.disconnect()},methods:{getCurrentLimitsSet:function(){this.api.get_limits_set().then(t=>{this.currentLimitsSet=t})},updateOutOfLimits(){this.items=[],this.itemList=[],this.api.get_out_of_limits().then(t=>{for(const e of t){let s=e.join("__");if(this.ignored.find(r=>s.includes(r)))continue;this.itemList.push(s);let n={key:e.slice(0,3).join("__"),parameters:e.slice(0,3),timestamp:this.formatDateTime(new Date,this.timeZone)};e[3].includes("YELLOW")&&this.overallState!=="RED"&&(this.overallState="YELLOW"),e[3].includes("RED")&&(this.overallState="RED"),e[3]=="YELLOW"||e[3]=="RED"?n.limits=!1:n.limits=!0,this.items.push(n)}this.calcOverallState()})},calcOverallState(){let t="GREEN";for(let e of this.itemList)if(!this.ignored.find(s=>e.includes(s))&&(e.includes("YELLOW")&&t!=="RED"&&(t="YELLOW"),e.includes("RED"))){t="RED";break}this.overallState=t},ignorePacket(t,e){let[s,n,r]=t.split("__"),o=`${s}__${n}`;for(this.ignored.push(o),e||this.updateIgnored();;){let i=this.itemList.findIndex(a=>a.includes(o));if(i===-1)break;{let a=this.itemList[i].lastIndexOf("__");this.removeItem(this.itemList[i].substring(0,a))}}this.calcOverallState()},ignoreItem(t,e){this.ignored.push(t),e||this.updateIgnored(),this.removeItem(t),this.calcOverallState()},restoreItem(t){this.ignored.splice(t,1),this.updateIgnored(),this.updateOutOfLimits()},removeItem(t){const e=this.itemList.findIndex(s=>s.includes(t));this.items.splice(e,1),this.itemList.splice(e,1)},clearAll(){this.ignored=[],this.updateIgnored(),this.updateOutOfLimits()},updateIgnored(){this.$emit("update:modelValue",this.ignored)},handleConfigEvents(t){for(let e of t)e.kind==="deleted"&&e.type==="target"&&this.updateOutOfLimits()},handleMessages(t){for(let e of t){let s=JSON.parse(e.event);if(s.type!="LIMITS_CHANGE")continue;let n=`${s.target_name}__${s.packet_name}__${s.item_name}`;const r=this.itemList.findIndex(i=>i.includes(n));if(r!==-1){this.itemList[r]=`${n}__${s.new_limits_state}`,this.calcOverallState();continue}if(this.ignored.find(i=>n.includes(i))||s.new_limits_state&&!(s.new_limits_state.includes("YELLOW")||s.new_limits_state.includes("RED")))continue;let o={key:n,timestamp:this.formatNanoseconds(s.time_nsec,this.timeZone),parameters:[s.target_name,s.packet_name,s.item_name]};s.new_limits_state=="YELLOW"||s.new_limits_state=="RED"?o.limits=!1:o.limits=!0,this.itemList.push(`${n}__${s.new_limits_state}`),this.items.push(o),this.calcOverallState()}},update(){this.availableItems.length!==0&&this.api.get_tlm_values(this.availableItems).then(t=>{this.updateValues(t)})},updateValues:function(t){this.updateCounter+=1;for(let e=0;e<t.length;e++)t[e].push(this.updateCounter),this.screenValues[this.screenItems[e]]=t[e]},addItem:function(t){this.api.get_tlm_available([t]).then(e=>{this.screenItems.push(t),this.availableItems.push(e[0]),this.screenValues[e[0]]=[null,null,0]})},deleteItem:function(t){let e=this.screenItems.indexOf(t);this.availableItems.splice(e,1),this.screenItems.splice(e,1)},showIgnored(){this.ignoredItemsDialog=!0},customFilter(t,e,s){if(!e||e.trim()==="")return!0;if(e=e.toLowerCase(),s.parameters&&s.parameters.length>0){for(const n of s.parameters)if(n.toLowerCase().includes(e))return!0}return!!(s.timestamp&&s.timestamp.toLowerCase().includes(e)||s.key&&s.key.toLowerCase().includes(e))}}},ki=["status"],Ri={class:"font-weight-black"};function Ii(t,e,s,n,r,o){const i=w("v-text-field"),a=w("v-spacer"),l=w("v-row"),u=w("valuelimitsbar-widget"),d=w("value-widget"),h=w("v-btn"),y=w("v-icon"),f=w("v-list-item-title"),p=w("v-list-item"),m=w("v-list"),O=w("v-menu"),I=w("v-data-table"),x=w("v-card"),b=w("v-toolbar"),A=w("v-divider"),T=w("v-card-text"),z=w("v-card-actions"),D=w("v-dialog");return C(),H("div",null,[_(x,{class:"pa-5"},{default:g(()=>[_(l,{class:"ma-1"},{default:g(()=>[_(i,{density:"compact",variant:"outlined",readonly:"","hide-details":"",label:"Overall Limits State","model-value":o.overallStateFormatted,class:He(o.textFieldClass),style:{"margin-right":"10px","max-width":"280px"},"data-test":"overall-state"},Oe({_:2},[o.astroStatus?{name:"prepend-inner",fn:g(()=>[$("rux-status",{status:o.astroStatus},null,8,ki)]),key:"0"}:void 0]),1032,["model-value","class"]),_(i,{density:"compact",variant:"outlined",readonly:"","hide-details":"",label:"Current Limits Set","model-value":r.currentLimitsSet,style:{"max-width":"200px"},"data-test":"limits-set"},null,8,["model-value"]),_(a),_(i,{modelValue:r.search,"onUpdate:modelValue":e[0]||(e[0]=k=>r.search=k),label:"Search","prepend-inner-icon":"mdi-magnify",clearable:"",variant:"outlined",density:"compact","single-line":"","hide-details":"",style:{"max-width":"300px"},"data-test":"search"},null,8,["modelValue"])]),_:1}),_(I,{"items-per-page":r.itemsPerPage,"onUpdate:itemsPerPage":e[1]||(e[1]=k=>r.itemsPerPage=k),headers:r.headers,items:r.items,search:r.search,"custom-filter":o.customFilter,"item-value":"key","data-test":"limits-table",class:"limits-table",density:"compact"},{"item.timestamp":g(({item:k})=>[U(G(k.timestamp),1)]),"item.value":g(({item:k})=>[k.limits?(C(),j(u,{key:0,parameters:k.parameters,settings:r.valueLimitsBarWidgetSettings,"screen-values":r.screenValues,"screen-time-zone":s.timeZone,onAddItem:o.addItem,onDeleteItem:o.deleteItem},null,8,["parameters","settings","screen-values","screen-time-zone","onAddItem","onDeleteItem"])):(C(),j(d,{key:1,parameters:k.parameters,settings:r.valueWidgetSettings,"screen-values":r.screenValues,"screen-time-zone":s.timeZone,onAddItem:o.addItem,onDeleteItem:o.deleteItem},null,8,["parameters","settings","screen-values","screen-time-zone","onAddItem","onDeleteItem"]))]),"item.actions":g(({item:k})=>[_(O,null,{activator:g(({props:L})=>[_(h,Ce({icon:"mdi-dots-horizontal",variant:"text",density:"compact","aria-label":"Item Options"},L),null,16)]),default:g(()=>[_(m,null,{default:g(()=>[_(p,{onClick:L=>o.ignorePacket(k.key)},{prepend:g(()=>[_(y,null,{default:g(()=>[...e[4]||(e[4]=[U("mdi-close-circle-multiple",-1)])]),_:1})]),default:g(()=>[_(f,null,{default:g(()=>[...e[5]||(e[5]=[U("Ignore Entire Packet",-1)])]),_:1})]),_:1},8,["onClick"]),_(p,{onClick:L=>o.ignoreItem(k.key)},{prepend:g(()=>[_(y,null,{default:g(()=>[...e[6]||(e[6]=[U("mdi-close-circle",-1)])]),_:1})]),default:g(()=>[_(f,null,{default:g(()=>[...e[7]||(e[7]=[U("Ignore Item",-1)])]),_:1})]),_:1},8,["onClick"]),_(p,{onClick:L=>o.removeItem(k.key)},{prepend:g(()=>[_(y,null,{default:g(()=>[...e[8]||(e[8]=[U("mdi-eye-off",-1)])]),_:1})]),default:g(()=>[_(f,null,{default:g(()=>[...e[9]||(e[9]=[U("Temporarily Hide Item",-1)])]),_:1})]),_:1},8,["onClick"])]),_:2},1024)]),_:2},1024)]),"item.limits":g(({item:k})=>[_(a)]),_:1},8,["items-per-page","headers","items","search","custom-filter"]),e[10]||(e[10]=$("div",{class:"footer"},' Note: Timestamp is "now" for items currently out of limits when the page is loaded. ',-1))]),_:1}),_(D,{modelValue:r.ignoredItemsDialog,"onUpdate:modelValue":e[3]||(e[3]=k=>r.ignoredItemsDialog=k),"max-width":"600"},{default:g(()=>[_(x,null,{default:g(()=>[_(b,{height:"24"},{default:g(()=>[_(a),e[11]||(e[11]=$("span",null,"Ignored Items",-1)),_(a)]),_:1}),_(T,{class:"mt-2"},{default:g(()=>[$("div",null,[(C(!0),H(se,null,ue(o.ignoredFormatted,(k,L)=>(C(),H("div",{key:L},[_(l,{class:"ma-1 align-center"},{default:g(()=>[$("span",Ri,G(k),1),_(a),_(h,{icon:"mdi-delete",density:"compact",variant:"text","aria-label":"Remove Ignored Item","data-test":`remove-ignore-${L}`,onClick:le=>o.restoreItem(L)},null,8,["data-test","onClick"])]),_:2},1024),L<o.ignoredFormatted.length-1?(C(),j(A,{key:L})):ne("",!0)]))),128))])]),_:1}),_(z,{class:"px-2"},{default:g(()=>[_(h,{variant:"outlined",onClick:o.clearAll},{default:g(()=>[...e[12]||(e[12]=[U(" Clear All ",-1)])]),_:1},8,["onClick"]),_(a),_(h,{variant:"flat",onClick:e[2]||(e[2]=k=>r.ignoredItemsDialog=!1)},{default:g(()=>[...e[13]||(e[13]=[U(" Ok ",-1)])]),_:1})]),_:1})]),_:1})]),_:1},8,["modelValue"])])}const Ai=xe(Oi,[["render",Ii],["__scopeId","data-v-92363454"]]),Ti={mixins:[ze],props:{historyCount:{type:Number,default:1e3},timeZone:{type:String,default:"local"}},data(){return{data:[],cable:new _s,search:"",headers:[{title:"Time",value:"time_nsec",width:250},{title:"Level",value:"level",sortable:!1},{title:"Message",value:"message"}]}},created(){this.cable.createSubscription("LimitsEventsChannel",window.openc3Scope,{received:t=>{this.cable.recordPing(),this.handleMessages(t)}},{historyCount:1e3}).then(t=>{this.limitsSubscription=t})},unmounted(){this.limitsSubscription&&this.limitsSubscription.unsubscribe(),this.cable.disconnect()},methods:{handleMessages(t){for(let e=0;e<t.length;e++){let s=JSON.parse(t[e].event);this.data.unshift(s)}this.data.length>this.historyCount&&(this.data.length=this.historyCount)},getStatus(t){return t.includes("GREEN")?"normal":t.includes("YELLOW")?"caution":t.includes("RED")?"critical":t.includes("BLUE")?"standby":"off"},getColorClass(t){return t.includes("GREEN")?"openc3-green":t.includes("YELLOW")?"openc3-yellow":t.includes("RED")?"openc3-red":t.includes("BLUE")?"openc3-blue":"openc3-white"},calcTableHeight(){return window.innerHeight-250}}},Li=["status"];function ji(t,e,s,n,r,o){const i=w("v-spacer"),a=w("v-text-field"),l=w("v-card-title"),u=w("v-data-table"),d=w("v-card");return C(),j(d,{class:"card-height"},{default:g(()=>[_(l,{class:"d-flex align-center"},{default:g(()=>[e[1]||(e[1]=U(" Limits Events ",-1)),_(i),_(a,{modelValue:r.search,"onUpdate:modelValue":e[0]||(e[0]=h=>r.search=h),label:"Search","prepend-inner-icon":"mdi-magnify",clearable:"",variant:"outlined",density:"compact","single-line":"","hide-details":"",class:"search"},null,8,["modelValue"])]),_:1}),_(u,{headers:r.headers,items:r.data,search:r.search,"items-per-page":-1,"hide-default-footer":"","multi-sort":"",density:"compact",height:o.calcTableHeight(),hover:"","data-test":"limits-events"},{"item.time_nsec":g(({item:h})=>[$("span",null,G(t.formatNanoseconds(h.time_nsec,s.timeZone)),1)]),"item.level":g(({item:h})=>[$("rux-status",{status:o.getStatus(h.message)},null,8,Li)]),"item.message":g(({item:h})=>[$("span",{class:He(o.getColorClass(h.message))},G(h.message),3)]),_:1},8,["headers","items","search","height"])]),_:1})}const Ni={components:{LimitsControl:Ai,LimitsEvents:xe(Ti,[["render",ji],["__scopeId","data-v-3c276116"]]),TopBar:Ps,OpenConfigDialog:gt,SaveConfigDialog:pt},mixins:[mt],data(){return{title:"Limits Monitor",configKey:"limits_monitor",api:new ks,timeZone:"local",renderKey:0,ignored:[],openConfig:!1,saveConfig:!1,limitsSets:[],currentLimitsSet:null,currentSetRefreshInterval:null,limitsSetDialog:!1,menus:[{label:"File",items:[{label:"Show Ignored",icon:"mdi-magnify-close",command:()=>{this.$refs.control.showIgnored()}},{label:"Change Limits Set",icon:"mdi-swap-horizontal",command:()=>{this.limitsSetDialog=!0}},{divider:!0},{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.ignored=[],this.resetConfigBase(),this.renderKey++}}]}]}},created(){this.api.get_limits_sets().then(t=>{this.limitsSets=t}),this.api.get_setting("time_zone").then(t=>{t&&(this.timeZone=t)}).catch(t=>{})},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.ignored=t,this.renderKey++)}},unmounted:function(){clearInterval(this.currentSetRefreshInterval)},methods:{setLimitsSet:function(){this.api.set_limits_set(this.currentLimitsSet),this.limitsSetDialog=!1,this.renderKey++},openConfiguration:function(t,e=!1){this.openConfigBase(t,e,s=>{this.ignored=s,this.renderKey++})},saveConfiguration:function(t){this.saveConfigBase(t,this.ignored)}}};function Pi(t,e,s,n,r,o){const i=w("top-bar"),a=w("limits-control"),l=w("limits-events"),u=w("open-config-dialog"),d=w("save-config-dialog"),h=w("v-spacer"),y=w("v-toolbar"),f=w("v-select"),p=w("v-card-text"),m=w("v-btn"),O=w("v-card-actions"),I=w("v-card"),x=w("v-dialog");return C(),H("div",null,[_(i,{menus:r.menus,title:r.title},null,8,["menus","title"]),(C(),j(a,{ref:"control",key:r.renderKey,modelValue:r.ignored,"onUpdate:modelValue":e[0]||(e[0]=b=>r.ignored=b),"time-zone":r.timeZone},null,8,["modelValue","time-zone"])),e[12]||(e[12]=$("div",{style:{height:"15px"}},null,-1)),_(l,{"time-zone":r.timeZone},null,8,["time-zone"]),r.openConfig?(C(),j(u,{key:0,modelValue:r.openConfig,"onUpdate:modelValue":e[1]||(e[1]=b=>r.openConfig=b),"config-key":r.configKey,onSuccess:o.openConfiguration},null,8,["modelValue","config-key","onSuccess"])):ne("",!0),r.saveConfig?(C(),j(d,{key:1,modelValue:r.saveConfig,"onUpdate:modelValue":e[2]||(e[2]=b=>r.saveConfig=b),"config-key":r.configKey,onSuccess:o.saveConfiguration},null,8,["modelValue","config-key","onSuccess"])):ne("",!0),_(x,{modelValue:r.limitsSetDialog,"onUpdate:modelValue":e[5]||(e[5]=b=>r.limitsSetDialog=b),"max-width":"650",persistent:"",onKeydown:e[6]||(e[6]=yt(b=>r.limitsSetDialog=!1,["esc"]))},{default:g(()=>[_(I,null,{default:g(()=>[_(y,{height:"24"},{default:g(()=>[_(h),e[7]||(e[7]=$("span",null,"Change Limits Set",-1)),_(h)]),_:1}),_(p,{class:"mt-6"},{default:g(()=>[e[8]||(e[8]=$("span",{style:{display:"block"}}," The Limits Set is a global option which changes the Limits Set across all tools. ",-1)),e[9]||(e[9]=$("span",{style:{display:"block"}}," NOTE: Changing this option clears the current list and recalculates based on the new set. ",-1)),_(f,{modelValue:r.currentLimitsSet,"onUpdate:modelValue":e[3]||(e[3]=b=>r.currentLimitsSet=b),label:"Limits Set",items:r.limitsSets,density:"compact",variant:"outlined","data-test":"limits-set","hide-details":"",class:"mt-3",style:{"max-width":"200px"}},null,8,["modelValue","items"])]),_:1}),_(O,{class:"px-2"},{default:g(()=>[_(h),_(m,{variant:"outlined",onClick:e[4]||(e[4]=b=>r.limitsSetDialog=!1)},{default:g(()=>[...e[10]||(e[10]=[U(" Cancel ",-1)])]),_:1}),_(m,{variant:"flat",onClick:o.setLimitsSet},{default:g(()=>[...e[11]||(e[11]=[U(" Ok ",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1})]),_:1},8,["modelValue"])])}const eo=As("default",xe(Ni,[["render",Pi]]))}}});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
System.register(["./BarColumn-
|
|
1
|
+
System.register(["./BarColumn-BdIaQfOz-48f3fb21c2d891c49628.js","vue","./main-11ad5b3ddd59fe0fb743.js","./Widget-DXvVFSH5-6b6b120cb8369fca6958.js","vue-router","single-spa","vuex","vuetify"],function(u,p){"use strict";var l,r,a,n,s,t,o,c,m;return{setters:[i=>{l=i.l},i=>{r=i.resolveComponent,a=i.createBlock,n=i.openBlock,s=i.withCtx,t=i.createElementVNode,o=i.toDisplayString,c=i.mergeProps},i=>{m=i.d},null,null,null,null,null],execute:function(){const i={mixins:[l],data(){return{width:160,height:22}},computed:{limitsRange(){let e=this.limitsSettings[this.selectedLimitsSet];if(e)return e.length===4?`RL/${e[0]} YL/${e[1]} YH/${e[2]} RH/${e[3]}`:`RL/${e[0]} YL/${e[1]} YH/${e[2]} RH/${e[3]} GL/${e[4]} GH/${e[5]}`;throw{line:this.line,lineNumber:this.lineNumber,keyword:"LIMITSBAR",parameters:this.parameters,message:"Item has no limits settings",usage:"Only items with limits"}}},created(){this.verifyNumParams("LIMITSBAR",3,6,"LIMITSBAR <TARGET> <PACKET> <ITEM> <TYPE> <WIDTH> <HEIGHT>")}};function v(e,d,I,w,y,_){const h=r("v-tooltip");return n(),a(h,{"open-delay":600,location:"top"},{activator:s(({props:g})=>[t("div",c({class:"limitsbar",style:[e.cssProps,e.computedStyle]},g),[...d[0]||(d[0]=[t("div",{class:"limitsbar__container"},[t("div",{class:"limitsbar__redlow"}),t("div",{class:"limitsbar__redhigh"}),t("div",{class:"limitsbar__yellowlow"}),t("div",{class:"limitsbar__yellowhigh"}),t("div",{class:"limitsbar__greenlow"}),t("div",{class:"limitsbar__greenhigh"}),t("div",{class:"limitsbar__blue"}),t("div",{class:"limitsbar__line"}),t("div",{class:"limitsbar__arrow"})],-1)])],16)]),default:s(()=>[t("span",null,o(_.limitsRange),1)]),_:1})}const b=u("default",m(i,[["render",v],["__scopeId","data-v-111893ce"]]))}}});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
System.register(["./VWidget-
|
|
1
|
+
System.register(["./VWidget-D06LY-Yc-ebd4169882dd0a6ed58d.js","vue","./main-11ad5b3ddd59fe0fb743.js","./Widget-DXvVFSH5-6b6b120cb8369fca6958.js","vue-router","single-spa","vuex","vuetify"],function(d,C){"use strict";var l,i,n,a,s,o,p,m,u,c;return{setters:[e=>{l=e.h},e=>{i=e.resolveComponent,n=e.createElementBlock,a=e.openBlock,s=e.normalizeStyle,o=e.createElementVNode,p=e.createBlock,m=e.createCommentVNode,u=e.normalizeClass},e=>{c=e.d},null,null,null,null,null],execute:function(){const e={mixins:[l],data(){return{radius:15,fullLabelDisplay:!1,displayLabel:!0}},created(){this.parameters[4]&&(this.radius=parseInt(this.parameters[4])),this.parameters[5]&&(this.parameters[5].toLowerCase()==="true"?this.fullLabelDisplay=!0:this.parameters[5].toLowerCase()==="nil"?this.displayLabel=!1:this.parameters[5].toLowerCase()==="none"&&(this.displayLabel=!1))},computed:{labelName(){return this.fullLabelDisplay?[this.parameters[0]+" "+this.parameters[1]+" "+this.parameters[2]]:[this.parameters[2]]},cssProps(){return{"--height":this.radius+"px","--width":this.radius+"px"}},myComputedStyle(){return delete this.computedStyle.flex,this.computedStyle}},methods:{getType(){let t="CONVERTED";return this.parameters[3]&&(t=this.parameters[3]),t}}};function h(t,g,v,L,y,r){const f=i("label-widget");return a(),n("div",{ref:"container",class:"d-flex flex-row",style:s(r.myComputedStyle)},[o("div",{class:u(`led align-self-center ${this.limitsColor}`),style:s(r.cssProps)},null,6),y.displayLabel?(a(),p(f,{key:0,parameters:r.labelName,settings:t.appliedSettings,style:s(t.computedStyle),"widget-index":1},null,8,["parameters","settings","style"])):m("",!0)],4)}const b=d("default",c(e,[["render",h],["__scopeId","data-v-b106d59f"]]))}}});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
System.register(["./BarColumn-
|
|
1
|
+
System.register(["./BarColumn-BdIaQfOz-48f3fb21c2d891c49628.js","vue","./main-11ad5b3ddd59fe0fb743.js","./Widget-DXvVFSH5-6b6b120cb8369fca6958.js","vue-router","single-spa","vuex","vuetify"],function(n,v){"use strict";var a,s,l,r,h,d;return{setters:[i=>{a=i.l},i=>{s=i.createElementBlock,l=i.openBlock,r=i.normalizeStyle,h=i.createStaticVNode},i=>{d=i.d},null,null,null,null,null],execute:function(){const i={mixins:[a],data(){return{width:22,height:120}},computed:{cssProps:function(){let e=this.screenValues[this.valueId][0],t=this.modifyLimits(this.limitsSettings[this.selectedLimitsSet]);if(t)return this.calcLimits(t),{"--height":this.height+"px","--width":this.width+"px","--container-width":this.width-5+"px","--position":this.calcPosition(e,t)+"%","--redlow-height":this.redLow+"%","--redhigh-height":this.redHigh+"%","--yellowlow-height":this.yellowLow+"%","--yellowhigh-height":this.yellowHigh+"%","--greenlow-height":this.greenLow+"%","--greenhigh-height":this.greenHigh+"%","--blue-height":this.blue+"%"};throw{line:this.line,lineNumber:this.lineNumber,keyword:"LIMITSCOLUMN",parameters:this.parameters,message:"Item has no limits settings",usage:"Only items with limits"}}},created(){this.verifyNumParams("LIMITSCOLUMN",3,6,"LIMITSCOLUMN <TARGET> <PACKET> <ITEM> <TYPE> <WIDTH> <HEIGHT>")}};function o(e,t,g,u,b,c){return l(),s("div",{class:"limitsbar",style:r([c.cssProps,e.computedStyle])},[...t[0]||(t[0]=[h('<div class="limitsbar__container" data-v-a4a8f4ab><div class="limitsbar__redlow" data-v-a4a8f4ab></div><div class="limitsbar__redhigh" data-v-a4a8f4ab></div><div class="limitsbar__yellowlow" data-v-a4a8f4ab></div><div class="limitsbar__yellowhigh" data-v-a4a8f4ab></div><div class="limitsbar__greenlow" data-v-a4a8f4ab></div><div class="limitsbar__greenhigh" data-v-a4a8f4ab></div><div class="limitsbar__blue" data-v-a4a8f4ab></div><div class="limitsbar__line" data-v-a4a8f4ab></div><div class="limitsbar__arrow" data-v-a4a8f4ab></div></div>',1)])],4)}const m=n("default",d(i,[["render",o],["__scopeId","data-v-a4a8f4ab"]]))}}});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
System.register(["./GraphWidget-
|
|
1
|
+
System.register(["./GraphWidget-CAADBFV--b95d88058875cc9208a8.js","./main-11ad5b3ddd59fe0fb743.js","vue","./Graph-BEodMaxQ-2092dec387719d7b5139.js","single-spa","./Widget-DXvVFSH5-6b6b120cb8369fca6958.js","vue-router","vuex","vuetify"],function(p,u){"use strict";var s,n,r,a,o,d,l;return{setters:[t=>{s=t.M},t=>{n=t.d},t=>{r=t.resolveComponent,a=t.createBlock,o=t.openBlock,d=t.normalizeStyle},t=>{l=t.M},null,null,null,null,null],execute:function(){const t={components:{Graph:l},mixins:[s]};function h(e,i,g,v,f,y){const c=r("graph");return o(),a(c,{id:e.id,ref:"graph"+e.id,state:e.state,"selected-graph-id":e.id,"start-time":e.startTime,"seconds-graphed":e.secondsGraphed,"points-saved":e.pointsSaved,"points-graphed":e.pointsGraphed,"initial-items":e.items,height:e.size.height,width:e.size.width,style:d(e.computedStyle),"time-zone":e.screenTimeZone,"hide-toolbar":"","hide-overview":"",onPause:i[0]||(i[0]=()=>e.state="pause"),onStart:i[1]||(i[1]=()=>e.state="start")},null,8,["id","state","selected-graph-id","start-time","seconds-graphed","points-saved","points-graphed","initial-items","height","width","style","time-zone"])}const m=p("default",n(t,[["render",h]]))}}});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
System.register(["./Layout-
|
|
1
|
+
System.register(["./Layout-DNR3xnku-5314828d9e78fc4b40c8.js","./main-11ad5b3ddd59fe0fb743.js","vue","./Widget-DXvVFSH5-6b6b120cb8369fca6958.js","vue-router","single-spa","vuex","vuetify"],function(h,C){"use strict";var c,o,m,r,n,g,a,l,p,d,k;return{setters:[e=>{c=e.r},e=>{o=e.d,m=e.O},e=>{r=e.createElementBlock,n=e.openBlock,g=e.normalizeStyle,a=e.Fragment,l=e.renderList,p=e.createBlock,d=e.resolveDynamicComponent,k=e.mergeProps},null,null,null,null,null],execute:function(){const e={mixins:[c],computed:{columns(){return parseInt(this.parameters[0])},widgetChunks(){return m.chunk(this.widgets,this.columns)}},created:function(){if(this.parameters[1]){let s=this.parameters[1];this.widgets.forEach(u=>{u.settings.find(i=>i[0]==="MARGIN"||i[0].startsWith("RAW")&&i[1].toUpperCase().includes("MARGIN"))===void 0&&u.settings.push(["MARGIN",s])})}}};function v(s,u,i,A,N,y){return n(),r("table",{style:g(s.computedStyle),role:"presentation"},[(n(!0),r(a,null,l(y.widgetChunks,(f,w)=>(n(),r("tr",{key:"r"+w},[(n(!0),r(a,null,l(f,(t,B)=>(n(),r("td",{key:"c"+B},[(n(),p(d(t.type),k({ref_for:!0},s.listeners,{target:t.target,parameters:t.parameters,settings:t.settings,"screen-values":s.screenValues,"screen-time-zone":s.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))]))),128))],4)}const b=h("default",o(e,[["render",v]]))}}});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
System.register(["./Widget-
|
|
1
|
+
System.register(["./Widget-DXvVFSH5-6b6b120cb8369fca6958.js","vue","./main-11ad5b3ddd59fe0fb743.js","vue-router","single-spa","vuex","vuetify"],function(u,p){"use strict";var s,a,l,r,n,i;return{setters:[e=>{s=e.o},e=>{a=e.resolveComponent,l=e.createBlock,r=e.openBlock,n=e.normalizeStyle},e=>{i=e.d},null,null,null,null],execute:function(){const e={mixins:[s],props:{value:{default:null}},data:function(){return{valueId:null,scaleFactor:1,width:150}},computed:{_value:function(){let t=this.value;return t===null&&(t=this.screenValues[this.valueId][0]),parseInt(parseFloat(t)*this.scaleFactor)}},created:function(){if(this.parameters[3]&&(this.scaleFactor=parseFloat(this.parameters[3])),this.width=this.setWidth(this.parameters[4],"px",this.width),this.value===null){let t="CONVERTED";this.parameters[5]&&(t=this.parameters[5]),this.valueId=`${this.parameters[0]}__${this.parameters[1]}__${this.parameters[2]}__${t}`,this.$emit("addItem",this.valueId)}},unmounted:function(){this.$emit("deleteItem",this.valueId)}};function o(t,m,v,f,_,c){const h=a("rux-progress");return r(),l(h,{value:c._value,class:"progress",style:n(t.computedStyle)},null,8,["value","style"])}const d=u("default",i(e,[["render",o],["__scopeId","data-v-85bc2857"]]))}}});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
System.register(["./Widget-
|
|
1
|
+
System.register(["./Widget-DXvVFSH5-6b6b120cb8369fca6958.js","vue","./main-11ad5b3ddd59fe0fb743.js","vue-router","single-spa","vuex","vuetify"],function(s,p){"use strict";var l,t,n,r,a,o;return{setters:[e=>{l=e.o},e=>{t=e.resolveComponent,n=e.createBlock,r=e.openBlock,a=e.normalizeStyle},e=>{o=e.d},null,null,null,null],execute:function(){const e={props:{value:{type:Number}},mixins:[l],data(){return{label:"Radio"}},created(){this.label=this.parameters[0]}};function u(i,y,c,b,v,f){const d=t("v-radio");return r(),n(d,{"hide-details":"",dense:"",label:v.label,style:a(i.computedStyle),value:c.value},null,8,["label","style","value"])}const m=s("default",o(e,[["render",u]]))}}});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
System.register(["./Layout-DNR3xnku-5314828d9e78fc4b40c8.js","vue","./main-11ad5b3ddd59fe0fb743.js","./Widget-DXvVFSH5-6b6b120cb8369fca6958.js","vue-router","single-spa","vuex","vuetify"],function(h,C){"use strict";var a,l,s,r,c,o,i,u,m,d,p,g;return{setters:[e=>{a=e.r},e=>{l=e.resolveComponent,s=e.createBlock,r=e.openBlock,c=e.normalizeStyle,o=e.withCtx,i=e.createElementBlock,u=e.Fragment,m=e.renderList,d=e.resolveDynamicComponent,p=e.mergeProps},e=>{g=e.d},null,null,null,null,null],execute:function(){const e={mixins:[a],data(){return{selectedIndex:0}},created(){this.parameters[0]&&(this.selectedIndex=parseInt(this.parameters[0]))},methods:{selected(){return this.selectedIndex}}};function k(n,v,B,S,y,V){const f=l("v-radio-group");return r(),s(f,{"hide-details":"",density:"compact",modelValue:y.selectedIndex,"onUpdate:modelValue":v[0]||(v[0]=t=>y.selectedIndex=t),style:c(n.computedStyle)},{default:o(()=>[(r(!0),i(u,null,m(n.widgets,(t,x)=>(r(),s(d(t.type),p({ref_for:!0},n.listeners,{value:x,key:x,target:t.target,parameters:t.parameters,settings:t.settings,"screen-values":n.screenValues,"screen-time-zone":n.screenTimeZone,name:t.name}),null,16,["value","target","parameters","settings","screen-values","screen-time-zone","name"]))),128))]),_:1},8,["modelValue","style"])}const I=h("default",g(e,[["render",k]]))}}});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
System.register(["./Widget-
|
|
1
|
+
System.register(["./Widget-DXvVFSH5-6b6b120cb8369fca6958.js","vue","./main-11ad5b3ddd59fe0fb743.js","vue-router","single-spa","vuex","vuetify"],function(c,u){"use strict";var r,a,n,h,i,l;return{setters:[t=>{r=t.o},t=>{a=t.createElementBlock,n=t.openBlock,h=t.normalizeStyle,i=t.createElementVNode},t=>{l=t.d},null,null,null,null],execute:function(){const t={mixins:[r],data(){return{width:160,height:22}},computed:{cssProps(){return{"--height":this.height+"px","--width":this.width+"px","--container-height":this.height-5+"px","--position":this.calcPosition()+"%"}},min(){return parseInt(this.parameters[3])},max(){return parseInt(this.parameters[4])},range(){return this.max-this.min}},created(){const e=this.parameters[5]?this.parameters[5]:"CONVERTED";this.valueId=`${this.parameters[0]}__${this.parameters[1]}__${this.parameters[2]}__${e}`,this.$emit("addItem",this.valueId),this.width=this.setWidth(this.parameters[6],"px",this.width),this.height=this.setHeight(this.parameters[7],"px",this.height)},unmounted(){this.$emit("deleteItem",this.valueId)},methods:{calcPosition(){let e=this.screenValues[this.valueId][0];if(!e)return 0;if(e.raw)return e.raw==="-Infinity"?0:100;const s=(e-this.min)/this.range*100;return s>100?100:s<0?0:s}}};function o(e,s,p,g,v,d){return n(),a("div",{class:"rangebar",style:h([d.cssProps,e.computedStyle])},[...s[0]||(s[0]=[i("div",{class:"rangebar__container"},[i("div",{class:"rangebar__line"}),i("div",{class:"rangebar__arrow"})],-1)])],4)}const m=c("default",l(t,[["render",o],["__scopeId","data-v-34d37e7c"]]))}}});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
System.register(["./Widget-
|
|
1
|
+
System.register(["./Widget-DXvVFSH5-6b6b120cb8369fca6958.js","vue","./main-11ad5b3ddd59fe0fb743.js","vue-router","single-spa","vuex","vuetify"],function(m,p){"use strict";var i,r,c,a,o,u;return{setters:[t=>{i=t.o},t=>{r=t.resolveComponent,c=t.createBlock,a=t.openBlock,o=t.normalizeStyle},t=>{u=t.d},null,null,null,null],execute:function(){const t={mixins:[i],props:{value:{default:null}},data:function(){return{valueId:null,icon:"",label:"",subLabel:"",items:[],screenTarget:null,screenName:null}},computed:{status:function(){let e="off";for(const n of this.items){let s=this.screenValues[n][1];s&&((s.includes("BLUE")||s.includes("GREEN"))&&e!="caution"&&e!="critical"&&(e="normal"),s.includes("YELLOW")&&e!="critical"&&(e="caution"),s.includes("RED")&&(e="critical"))}return e},pointerStyle(){return this.screenTarget&&this.screenName?{cursor:"pointer"}:{cursor:"default"}}},created:function(){this.icon=this.parameters[0],this.label=this.parameters[1],this.subLabel=this.parameters[2],this.appliedSettings.forEach(e=>{switch(e[0].toUpperCase()){case"SCREEN":this.screenTarget=e[1],this.screenName=e[2];break;case"TLM":let n="CONVERTED";e[4]&&(n=e[4]);let s=`${e[1]}__${e[2]}__${e[3]}__${n}`;this.items.push(s),this.$emit("addItem",s);break}})},unmounted:function(){this.items.forEach(e=>{this.$emit("deleteItem",e)})},methods:{clickHandler(){this.screenTarget&&this.screenName&&this.$emit("open",this.screenTarget,this.screenName)}}};function h(e,n,s,b,E,l){const d=r("rux-monitoring-icon");return a(),c(d,{class:"rux-icon",style:o([l.pointerStyle,e.computedStyle]),icon:e.icon,status:l.status,label:e.label,sublabel:e.subLabel,onClick:l.clickHandler},null,8,["style","icon","status","label","sublabel","onClick"])}const f=m("default",u(t,[["render",h]]))}}});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
System.register(["./Layout-
|
|
1
|
+
System.register(["./Layout-DNR3xnku-5314828d9e78fc4b40c8.js","./VerticalWidget-qN82km_m-761b0ae3a4f5ae5df2be.js","vue","./main-11ad5b3ddd59fe0fb743.js","./Widget-DXvVFSH5-6b6b120cb8369fca6958.js","vue-router","single-spa","vuex","vuetify"],function(v,h){"use strict";var l,c,i,r,o,u,m,g,p,d,f;return{setters:[e=>{l=e.r},e=>{c=e.default},e=>{i=e.createElementBlock,r=e.openBlock,o=e.normalizeStyle,u=e.Fragment,m=e.renderList,g=e.createBlock,p=e.resolveDynamicComponent,d=e.mergeProps},e=>{f=e.d},null,null,null,null,null],execute:function(){const e={components:{VerticalWidget:c},mixins:[l],created:function(){if(this.setHeight(this.parameters[0],"px",200),this.parameters[1]){let n=this.parameters[1];this.widgets.forEach(a=>{a.settings.find(s=>s[0]==="MARGIN"||s[0].startsWith("RAW")&&s[1].toUpperCase().includes("MARGIN"))===void 0&&a.settings.push(["MARGIN",n])})}}};function y(n,a,s,B,N,R){return r(),i("div",{ref:"container",style:o(n.computedStyle),class:"overflow-y-auto"},[(r(!0),i(u,null,m(n.widgets,(t,k)=>(r(),g(p(t.type),d({ref_for:!0},n.listeners,{key:k,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 w=v("default",f(e,[["render",y]]))}}});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
System.register(["./VWidget-
|
|
1
|
+
System.register(["./VWidget-D06LY-Yc-ebd4169882dd0a6ed58d.js","vue","./main-11ad5b3ddd59fe0fb743.js","./Widget-DXvVFSH5-6b6b120cb8369fca6958.js","vue-router","single-spa","vuex","vuetify"],function(o,d){"use strict";var l,n,r,a,s,i;return{setters:[t=>{l=t.h},t=>{n=t.resolveComponent,r=t.createBlock,a=t.openBlock,s=t.normalizeStyle},t=>{i=t.d},null,null,null,null,null],execute:function(){const t={mixins:[l],props:{value:{default:null}},data:function(){return{item:null,oneBar:30,twoBar:60,threeBar:90}},computed:{displayedIcon:function(){let e="mdi-signal-cellular-outline";return this._value>=this.oneBar&&(e="mdi-signal-cellular-1"),this._value>=this.twoBar&&(e="mdi-signal-cellular-2"),this._value>=this.threeBar&&(e="mdi-signal-cellular-3"),e}},created(){this.appliedSettings.forEach(e=>{switch(e[0].toUpperCase()){case"SCREEN":this.screenTarget=e[1],this.screenName=e[2];break;case"VALUES":this.oneBar=parseFloat(e[1]),this.twoBar=parseFloat(e[2]),this.threeBar=parseFloat(e[3]);break}})},methods:{getType(){let e="CONVERTED";return this.parameters[3]=="RAW"&&(e="RAW"),e},clickHandler(){this.screenTarget&&this.screenName&&this.$emit("open",this.screenTarget,this.screenName)}}};function u(e,m,g,v,B,c){const h=n("v-btn");return a(),r(h,{icon:c.displayedIcon,variant:"text",style:s(e.computedStyle),"aria-label":"Signal Strength",onClick:c.clickHandler},null,8,["icon","style","onClick"])}const p=o("default",i(t,[["render",u]]))}}});
|