openc3-cosmos-tool-cmdtlmserver 6.9.1 → 6.9.2

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.
Files changed (102) hide show
  1. checksums.yaml +4 -4
  2. data/tools/cmdtlmserver/ArrayWidget-C59wpWWk-5c23b659d87f2c68f1f8.js +2 -0
  3. data/tools/cmdtlmserver/{ArrayplotWidget-CoRsUxHG-cf7fff88417fb2243c3d.js → ArrayplotWidget-tKqIV461-69b93fbe6c96b6fc74c8.js} +1 -1
  4. data/tools/cmdtlmserver/{BarColumn-DHP-zQ4R-8f7de54e6fbaa25e4ec4.js → BarColumn-CUO9ur6W-a3cf13ae72d2bcaca048.js} +1 -1
  5. data/tools/cmdtlmserver/BlockWidget-BdlMR_1A-72f9faa443712ec20192.js +2 -0
  6. data/tools/cmdtlmserver/{ButtonWidget-C3ZWRjZZ-d4f10adaa4d980be147b.js → ButtonWidget-C2JVmh3p-8182fd293966fb57b545.js} +2 -2
  7. data/tools/cmdtlmserver/{CanvasWidget-CL-XzPF4-5cb52c70d0a7623af62d.js → CanvasWidget-BRbdw1fu-e883370954a0f3c628b6.js} +1 -1
  8. data/tools/cmdtlmserver/{CanvasdotWidget-D8Y9DgVE-d4ce1b672cfd13141a61.js → CanvasdotWidget-C8T_w03p-9abf39f00eddceb492b2.js} +1 -1
  9. data/tools/cmdtlmserver/{CanvasimageWidget-DHSGK_tD-b0b463aa2a7854867228.js → CanvasimageWidget-C1w2vSsG-90c81cd3ab87a8825002.js} +1 -1
  10. data/tools/cmdtlmserver/{CanvasimagevalueWidget-Btt_fQfC-9bad1ce95b773296304d.js → CanvasimagevalueWidget-BMv2SmEq-d6d92e343a2a6105fd90.js} +1 -1
  11. data/tools/cmdtlmserver/{CanvaslabelWidget-BF_8RTjv-cc491567aedeb0a05962.js → CanvaslabelWidget-LEBZQ3DR-fb14e176d00f00150d8e.js} +1 -1
  12. data/tools/cmdtlmserver/{CanvaslabelvalueWidget-scbwaujI-921ddd08e78e6a07a01e.js → CanvaslabelvalueWidget-Q6UdEanF-17272a719eefb062c283.js} +1 -1
  13. data/tools/cmdtlmserver/CanvaslineWidget-BhvBCDoS-d693034562792622b829.js +1 -0
  14. data/tools/cmdtlmserver/{CanvaslinevalueWidget-CljziRek-55c5928bcdef9cd5c3e1.js → CanvaslinevalueWidget-EaASC9TU-cbb21d5a502c664894f1.js} +1 -1
  15. data/tools/cmdtlmserver/CheckbuttonWidget-C3bjQwrp-3bf99905f8136eb37d45.js +1 -0
  16. data/tools/cmdtlmserver/{CmdPacketsTab-2fc1a07bfa4480ac1f08.js → CmdPacketsTab-90b7eafbae0c1ed28430.js} +1 -1
  17. data/tools/cmdtlmserver/{CmdTlmServer-8583a13b294ed4f3cb46.js → CmdTlmServer-5fa13cb7651202a03c8c.js} +2 -2
  18. data/tools/cmdtlmserver/{ComboboxWidget-BLXNYFiY-13a3fa2f54e442f31472.js → ComboboxWidget-CmruSbJy-e223f5d0af5d55988d3f.js} +1 -1
  19. data/tools/cmdtlmserver/{DataFlowsTab-d5417860ccc3925137e9.js → DataFlowsTab-b2e31ee49fd89c2b01c4.js} +1 -1
  20. data/tools/cmdtlmserver/{DateWidget-BTqLCtLS-8daf3620df3f82d93460.js → DateWidget-CcUxRlJ2-988ead4672c9bff3fd3c.js} +1 -1
  21. data/tools/cmdtlmserver/{DetailsDialog-BNCS3QAe-321aef533102379472dd.js → DetailsDialog-DxYZre4A-3db5b5e7905643a0fb80.js} +1 -1
  22. data/tools/cmdtlmserver/{DynamicWidget-CfMtj7H8-c6963e567e7e1f83eb47.js → DynamicWidget-DHL7pbgW-4c1d29fa83848dc6e5d8.js} +1 -1
  23. data/tools/cmdtlmserver/{FormatvalueWidget-CLYx8qbg-a8b84f8338259639bf3e.js → FormatvalueWidget-Lk5K0wTL-6b725aa76f27d5db94ab.js} +1 -1
  24. data/tools/cmdtlmserver/Graph-CjEE2WxX-bb7f5ba3af37177d131e.js +1 -0
  25. data/tools/cmdtlmserver/{GraphWidget-Cb6Ozf54-9a6662f6a20837d0632e.js → GraphWidget-BaO2FpKo-4d4707ab4567aad52098.js} +1 -1
  26. data/tools/cmdtlmserver/{HorizontalWidget-AY2M01qP-2edc328bb61ab1d8c352.js → HorizontalWidget-D3Q5IUQg-17d375b2b69c785818b6.js} +1 -1
  27. data/tools/cmdtlmserver/{HorizontalboxWidget-2MEKvq_C-5f3d5a6c63938edc7e25.js → HorizontalboxWidget-D7bUUqfG-95eb191777368357ab5a.js} +1 -1
  28. data/tools/cmdtlmserver/HorizontallineWidget-DZcIetQh-1b698bc4b69a6cc5b460.js +1 -0
  29. data/tools/cmdtlmserver/{IframeWidget-UKKUl7k5-d952d6f2121f46bd5cd1.js → IframeWidget-Df7vTYZj-9aeaf295370b58030c56.js} +1 -1
  30. data/tools/cmdtlmserver/{ImageLoader-C-CIL4YD-5c9f041325968056ecee.js → ImageLoader-DpKY46fX-d37df4bf688051c6e62b.js} +1 -1
  31. data/tools/cmdtlmserver/{ImageviewerWidget-DhuQH5Io-3ffa4eba2d5ec7fab561.js → ImageviewerWidget-wHbhv08x-c35a4a41bc8347fa46be.js} +1 -1
  32. data/tools/cmdtlmserver/InterfaceFlowChart-9c58deee6e517473f8c4.js +27 -0
  33. data/tools/cmdtlmserver/{InterfacesTab-c4826fb489e9ede4a629.js → InterfacesTab-985faadca6eef712e593.js} +1 -1
  34. data/tools/cmdtlmserver/{LabelWidget-SO9zqcNN-ad11c9cf1f60a49a2e18.js → LabelWidget-BehwzOCR-47adc21706d0e6825f5b.js} +1 -1
  35. data/tools/cmdtlmserver/LabelledWidget-DJKR8ikj-ac6dcacfa7568ee8041f.js +1 -0
  36. data/tools/cmdtlmserver/LabelprogressbarWidget-D4Qzq894-ccf7a29fdf6d3a96a8f2.js +1 -0
  37. data/tools/cmdtlmserver/LabelsparklineWidget-CwCOklZG-8c7ccc992e75f0f32be6.js +1 -0
  38. data/tools/cmdtlmserver/{LabelvalueWidget-B6BbNFnk-841a2d1e10f7ed6c758b.js → LabelvalueWidget-DW8Q7BTX-24a2c366e17b2a0d986a.js} +1 -1
  39. data/tools/cmdtlmserver/{LabelvaluedescWidget-CxfL-H9C-8070d7b77c88031486ce.js → LabelvaluedescWidget-DgNX7tK2-32ed7f56c071646d6021.js} +1 -1
  40. data/tools/cmdtlmserver/{LabelvaluelimitsbarWidget-BT5k9mHv-5ae949fa461b8d83a90b.js → LabelvaluelimitsbarWidget-DAEBW0hU-4a2f141d335fc2396b7e.js} +1 -1
  41. data/tools/cmdtlmserver/LabelvaluelimitscolumnWidget-Dok-of6n-fb3408cc4e10ea11a8ba.js +1 -0
  42. data/tools/cmdtlmserver/{LabelvaluerangebarWidget-DexAc2UB-93c700592d4adb69c24f.js → LabelvaluerangebarWidget-CQ0xCUFU-ba4525c34b19d1673724.js} +1 -1
  43. data/tools/cmdtlmserver/{Layout-Dd6dRf3R-5d9525589ebd67d04af3.js → Layout-CrCMUbtG-8ba11f2f51ce35865950.js} +1 -1
  44. data/tools/cmdtlmserver/{LedWidget-D1RwHb_V-e70a453d62de53fc4cc4.js → LedWidget-DzQNEDF7-1a86f7864c026403ffce.js} +1 -1
  45. data/tools/cmdtlmserver/{LimitsbarWidget-ClOmoV50-32e4687296483925ef45.js → LimitsbarWidget-zkoAz9SQ-4b557968f197282b5c2e.js} +1 -1
  46. data/tools/cmdtlmserver/{LimitscolorWidget-CBUoEYKp-2eda2f669a46488e8a70.js → LimitscolorWidget-dez316Rk-622833252ce09add096f.js} +1 -1
  47. data/tools/cmdtlmserver/{LimitscolumnWidget-hsHkmY-_-dfe985da8cb1e4fb8f44.js → LimitscolumnWidget-D-IPNDVg-d4c4ba78f86930d43613.js} +1 -1
  48. data/tools/cmdtlmserver/LinegraphWidget-CicnZgjt-950c059e71af09179822.js +1 -0
  49. data/tools/cmdtlmserver/{MatrixbycolumnsWidget-CsogVU9c-10fd32777925d9442a96.js → MatrixbycolumnsWidget-D3qN6GTr-9b3e1323688e8d2250c7.js} +1 -1
  50. data/tools/cmdtlmserver/{ProgressbarWidget-CO6CEkxP-c039479ecf62eded7ca5.js → ProgressbarWidget-CLilcPBe-94014008fbae23a95f6d.js} +1 -1
  51. data/tools/cmdtlmserver/{RadiobuttonWidget-DrxUclws-bf048676c97fbc5f15f9.js → RadiobuttonWidget-Dsy01RJ--82e43666d0c6f0045450.js} +1 -1
  52. data/tools/cmdtlmserver/RadiogroupWidget-BNcVGNj1-fab29deaa5fa4eaa585d.js +1 -0
  53. data/tools/cmdtlmserver/{RangebarWidget-5uQTfLMP-fbf20be901d74457c1e3.js → RangebarWidget-DhcoIdNf-3f0956ef2273c2185b69.js} +1 -1
  54. data/tools/cmdtlmserver/{RawBuffer-297eb45db5fd466515cf.js → RawBuffer-ac6de873d5cea7850d06.js} +1 -1
  55. data/tools/cmdtlmserver/{RawDialog-4bd995f9b817bead62bc.js → RawDialog-86087d6f8e22b8945b6d.js} +1 -1
  56. data/tools/cmdtlmserver/{RollupWidget-B0DCULnu-c1c8709da1baf6ebd6ee.js → RollupWidget-BypuPvE7-52117c9be621dbc973e9.js} +1 -1
  57. data/tools/cmdtlmserver/{RoutersTab-5b98f50d4e2f63f9dd35.js → RoutersTab-3486e9bb3f7831f1e280.js} +1 -1
  58. data/tools/cmdtlmserver/{ScrollwindowWidget-BOkZQgtf-e6cc33bc849eb8d7bd65.js → ScrollwindowWidget-DNQgHoNO-618d56cd3f6bc6014130.js} +1 -1
  59. data/tools/cmdtlmserver/{SignalWidget-Cis0Xkea-d93e29d8a24c7fa83262.js → SignalWidget-BHwyScCG-aeaa41671901e05a8989.js} +1 -1
  60. data/tools/cmdtlmserver/{SpacerWidget-CLcqC2Qk-5a2784ed86deeb186b04.js → SpacerWidget-CFxXXTm7-20089e05c6aacecc0f18.js} +1 -1
  61. data/tools/cmdtlmserver/{SparklineWidget-CTp83eZ--d8923fe24ad5454672ea.js → SparklineWidget-C0lRpRrp-43729970d1edf3af29bf.js} +1 -1
  62. data/tools/cmdtlmserver/{StatusTab-f0d97741c9b81165be4d.js → StatusTab-ae9620bb09c9b607daa7.js} +1 -1
  63. data/tools/cmdtlmserver/{TabbookWidget-uucd-zsX-9ca00b138ad0410a395d.js → TabbookWidget-CeeBOYOt-2c790812db8c1ef31168.js} +1 -1
  64. data/tools/cmdtlmserver/{TargetsTab-e73932f8e410c019a7fb.js → TargetsTab-3d3aae0beab7206bd1de.js} +1 -1
  65. data/tools/cmdtlmserver/TextboxWidget-DoA2b3YU-f1b61ed60a5afc248ebc.js +1 -0
  66. data/tools/cmdtlmserver/TextfieldWidget-Dj4DV74o-48e1ba9820260a3e2e47.js +1 -0
  67. data/tools/cmdtlmserver/{TimeWidget-CPNVZaUM-5c584984fa282cb34f7d.js → TimeWidget-DAQDQ0UM-7bdfef740de9e2ada41f.js} +1 -1
  68. data/tools/cmdtlmserver/TitleWidget-Ct0JlY9s-c24fc13063982ef30e20.js +1 -0
  69. data/tools/cmdtlmserver/{TlmPacketsTab-e3cc489a1a75be3ad163.js → TlmPacketsTab-809c372993d7ba2d68ba.js} +1 -1
  70. data/tools/cmdtlmserver/{Updater-837ca86e536f4a3bdfa3.js → Updater-553d513753f29e3810f3.js} +1 -1
  71. data/tools/cmdtlmserver/{VWidget-DQGJRgAk-5116c4895c75eb64bc95.js → VWidget-A802LGvR-ac28cc03daf8d86d0a13.js} +1 -1
  72. data/tools/cmdtlmserver/{ValueWidget-Bk1RFjks-bafe9d75ed0ad230977c.js → ValueWidget-QaBYsiZz-882368d57808716f6de0.js} +1 -1
  73. data/tools/cmdtlmserver/ValuelimitsbarWidget-CFToRM7w-3fa1f5ff41c95e3035ef.js +1 -0
  74. data/tools/cmdtlmserver/ValuelimitscolumnWidget-BG7naMYx-ae729c50c05933a5e4a8.js +1 -0
  75. data/tools/cmdtlmserver/{ValuerangebarWidget-CcQw_XK9-cf89ccb88ad449e8cbae.js → ValuerangebarWidget-CChK2Lmm-8b6741981136504f3321.js} +1 -1
  76. data/tools/cmdtlmserver/{VerticalWidget-CNtFQv3R-f4938160b8ca4f6f8e29.js → VerticalWidget-C8iN5DJK-2202053d30d577ff94f6.js} +1 -1
  77. data/tools/cmdtlmserver/{VerticalboxWidget-Yxmz1SnU-e3f9ebb22e5e4d61a3ad.js → VerticalboxWidget-CXwUSWrP-f2515b5fd1433388cb09.js} +1 -1
  78. data/tools/cmdtlmserver/{Widget-LsyjS7ZS-cdba91229220d626542a.js → Widget-Cx1jBJHK-752645b358a0eb44dbb9.js} +1 -1
  79. data/tools/cmdtlmserver/main-851cb6e931fb7e4e1ea8.js +1505 -0
  80. data/tools/cmdtlmserver/main.js +1 -1
  81. data/tools/cmdtlmserver/services-fb7b2ae749c6cb1388eb.js +7 -0
  82. metadata +80 -80
  83. data/tools/cmdtlmserver/ArrayWidget-DLfNWDzN-668cf74ee813dc5f8b4e.js +0 -2
  84. data/tools/cmdtlmserver/BlockWidget-BmHSFvOq-7972fe8dc7ee035e8bc5.js +0 -2
  85. data/tools/cmdtlmserver/CanvaslineWidget-gRvm_-TT-3f553128be52acccf4b4.js +0 -1
  86. data/tools/cmdtlmserver/CheckbuttonWidget-BOabI_jE-7719358d066394c0e656.js +0 -1
  87. data/tools/cmdtlmserver/Graph-BliBYJxD-4840ff23f489551cb5c6.js +0 -1
  88. data/tools/cmdtlmserver/HorizontallineWidget-DgpOPA7q-4d2f373e68599c0b3c9a.js +0 -1
  89. data/tools/cmdtlmserver/InterfaceFlowChart-cf8e7ac29846b6274daf.js +0 -27
  90. data/tools/cmdtlmserver/LabelledWidget-DWoM5AJ5-5be5b0fc4b1d554cd2c9.js +0 -1
  91. data/tools/cmdtlmserver/LabelprogressbarWidget-D3vnkvQZ-ecdff8119d3acede9267.js +0 -1
  92. data/tools/cmdtlmserver/LabelsparklineWidget-DO0T-Jot-1037dec1f749b07920ed.js +0 -1
  93. data/tools/cmdtlmserver/LabelvaluelimitscolumnWidget-DUbmxh4p-83f93e14d0e7f5d6567d.js +0 -1
  94. data/tools/cmdtlmserver/LinegraphWidget-CXrKtxOo-b32b5ac365e8b55b70b1.js +0 -1
  95. data/tools/cmdtlmserver/RadiogroupWidget-DN9C38cg-d3e6f1038a6500acab63.js +0 -1
  96. data/tools/cmdtlmserver/TextboxWidget-C2n38ti5-c9817307d1c09190a5a7.js +0 -1
  97. data/tools/cmdtlmserver/TextfieldWidget--HTv9ddk-68f02460d9d011823773.js +0 -1
  98. data/tools/cmdtlmserver/TitleWidget-Cp0cb6V8-f81d2e0d0b8018f28841.js +0 -1
  99. data/tools/cmdtlmserver/ValuelimitsbarWidget-C0HIBYh2-f90d82733623ccfbbb25.js +0 -1
  100. data/tools/cmdtlmserver/ValuelimitscolumnWidget-BTT90uyX-9f2d92c01237bf9eac93.js +0 -1
  101. data/tools/cmdtlmserver/main-65cfe3c3762daf491069.js +0 -1505
  102. data/tools/cmdtlmserver/services-eb1403f6c88517815ca2.js +0 -7
@@ -1 +1 @@
1
- System.register(["vue","./main-65cfe3c3762daf491069.js","vue-router","single-spa","vuex","vuetify"],function(t,e){"use strict";return{setters:[null,u=>{t({bootstrap:u.b,mount:u.m,unmount:u.u})},null,null,null,null],execute:function(){}}});
1
+ System.register(["vue","./main-851cb6e931fb7e4e1ea8.js","vue-router","single-spa","vuex","vuetify"],function(t,e){"use strict";return{setters:[null,u=>{t({bootstrap:u.b,mount:u.m,unmount:u.u})},null,null,null,null],execute:function(){}}});
@@ -0,0 +1,7 @@
1
+ System.register([],function(Te,Gn){"use strict";return{execute:function(){var nr=Object.defineProperty,ir=(t,e,r)=>e in t?nr(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,he=(t,e,r)=>ir(t,typeof e!="symbol"?e+"":e,r);function Qe(t,e){return function(){return t.apply(e,arguments)}}const{toString:or}=Object.prototype,{getPrototypeOf:ke}=Object,{iterator:de,toStringTag:Ye}=Symbol,fe=(t=>e=>{const r=or.call(e);return t[r]||(t[r]=r.slice(8,-1).toLowerCase())})(Object.create(null)),N=t=>(t=t.toLowerCase(),e=>fe(e)===t),pe=t=>e=>typeof e===t,{isArray:G}=Array,Z=pe("undefined");function re(t){return t!==null&&!Z(t)&&t.constructor!==null&&!Z(t.constructor)&&A(t.constructor.isBuffer)&&t.constructor.isBuffer(t)}const et=N("ArrayBuffer");function cr(t){let e;return typeof ArrayBuffer<"u"&&ArrayBuffer.isView?e=ArrayBuffer.isView(t):e=t&&t.buffer&&et(t.buffer),e}const ar=pe("string"),A=pe("function"),tt=pe("number"),se=t=>t!==null&&typeof t=="object",lr=t=>t===!0||t===!1,ge=t=>{if(fe(t)!=="object")return!1;const e=ke(t);return(e===null||e===Object.prototype||Object.getPrototypeOf(e)===null)&&!(Ye in t)&&!(de in t)},ur=t=>{if(!se(t)||re(t))return!1;try{return Object.keys(t).length===0&&Object.getPrototypeOf(t)===Object.prototype}catch{return!1}},hr=N("Date"),dr=N("File"),fr=N("Blob"),pr=N("FileList"),gr=t=>se(t)&&A(t.pipe),mr=t=>{let e;return t&&(typeof FormData=="function"&&t instanceof FormData||A(t.append)&&((e=fe(t))==="formdata"||e==="object"&&A(t.toString)&&t.toString()==="[object FormData]"))},br=N("URLSearchParams"),[_r,yr,wr,vr]=["ReadableStream","Request","Response","Headers"].map(N),Sr=t=>t.trim?t.trim():t.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"");function ne(t,e,{allOwnKeys:r=!1}={}){if(t===null||typeof t>"u")return;let s,n;if(typeof t!="object"&&(t=[t]),G(t))for(s=0,n=t.length;s<n;s++)e.call(null,t[s],s,t);else{if(re(t))return;const o=r?Object.getOwnPropertyNames(t):Object.keys(t),i=o.length;let c;for(s=0;s<i;s++)c=o[s],e.call(null,t[c],c,t)}}function rt(t,e){if(re(t))return null;e=e.toLowerCase();const r=Object.keys(t);let s=r.length,n;for(;s-- >0;)if(n=r[s],e===n.toLowerCase())return n;return null}const J=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:global,st=t=>!Z(t)&&t!==J;function je(){const{caseless:t,skipUndefined:e}=st(this)&&this||{},r={},s=(n,o)=>{const i=t&&rt(r,o)||o;ge(r[i])&&ge(n)?r[i]=je(r[i],n):ge(n)?r[i]=je({},n):G(n)?r[i]=n.slice():(!e||!Z(n))&&(r[i]=n)};for(let n=0,o=arguments.length;n<o;n++)arguments[n]&&ne(arguments[n],s);return r}const Er=(t,e,r,{allOwnKeys:s}={})=>(ne(e,(n,o)=>{r&&A(n)?t[o]=Qe(n,r):t[o]=n},{allOwnKeys:s}),t),xr=t=>(t.charCodeAt(0)===65279&&(t=t.slice(1)),t),Or=(t,e,r,s)=>{t.prototype=Object.create(e.prototype,s),t.prototype.constructor=t,Object.defineProperty(t,"super",{value:e.prototype}),r&&Object.assign(t.prototype,r)},Rr=(t,e,r,s)=>{let n,o,i;const c={};if(e=e||{},t==null)return e;do{for(n=Object.getOwnPropertyNames(t),o=n.length;o-- >0;)i=n[o],(!s||s(i,t,e))&&!c[i]&&(e[i]=t[i],c[i]=!0);t=r!==!1&&ke(t)}while(t&&(!r||r(t,e))&&t!==Object.prototype);return e},Ar=(t,e,r)=>{t=String(t),(r===void 0||r>t.length)&&(r=t.length),r-=e.length;const s=t.indexOf(e,r);return s!==-1&&s===r},Cr=t=>{if(!t)return null;if(G(t))return t;let e=t.length;if(!tt(e))return null;const r=new Array(e);for(;e-- >0;)r[e]=t[e];return r},Tr=(t=>e=>t&&e instanceof t)(typeof Uint8Array<"u"&&ke(Uint8Array)),kr=(t,e)=>{const r=(t&&t[de]).call(t);let s;for(;(s=r.next())&&!s.done;){const n=s.value;e.call(t,n[0],n[1])}},jr=(t,e)=>{let r;const s=[];for(;(r=t.exec(e))!==null;)s.push(r);return s},Pr=N("HTMLFormElement"),Ir=t=>t.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,function(e,r,s){return r.toUpperCase()+s}),nt=(({hasOwnProperty:t})=>(e,r)=>t.call(e,r))(Object.prototype),Nr=N("RegExp"),it=(t,e)=>{const r=Object.getOwnPropertyDescriptors(t),s={};ne(r,(n,o)=>{let i;(i=e(n,o,t))!==!1&&(s[o]=i||n)}),Object.defineProperties(t,s)},Ur=t=>{it(t,(e,r)=>{if(A(t)&&["arguments","caller","callee"].indexOf(r)!==-1)return!1;const s=t[r];if(A(s)){if(e.enumerable=!1,"writable"in e){e.writable=!1;return}e.set||(e.set=()=>{throw Error("Can not rewrite read-only method '"+r+"'")})}})},Lr=(t,e)=>{const r={},s=n=>{n.forEach(o=>{r[o]=!0})};return G(t)?s(t):s(String(t).split(e)),r},Fr=()=>{},$r=(t,e)=>t!=null&&Number.isFinite(t=+t)?t:e;function qr(t){return!!(t&&A(t.append)&&t[Ye]==="FormData"&&t[de])}const Dr=t=>{const e=new Array(10),r=(s,n)=>{if(se(s)){if(e.indexOf(s)>=0)return;if(re(s))return s;if(!("toJSON"in s)){e[n]=s;const o=G(s)?[]:{};return ne(s,(i,c)=>{const l=r(i,n+1);!Z(l)&&(o[c]=l)}),e[n]=void 0,o}}return s};return r(t,0)},Br=N("AsyncFunction"),Mr=t=>t&&(se(t)||A(t))&&A(t.then)&&A(t.catch),ot=((t,e)=>t?setImmediate:e?((r,s)=>(J.addEventListener("message",({source:n,data:o})=>{n===J&&o===r&&s.length&&s.shift()()},!1),n=>{s.push(n),J.postMessage(r,"*")}))(`axios@${Math.random()}`,[]):r=>setTimeout(r))(typeof setImmediate=="function",A(J.postMessage)),zr=typeof queueMicrotask<"u"?queueMicrotask.bind(J):typeof process<"u"&&process.nextTick||ot,Jr=t=>t!=null&&A(t[de]),a={isArray:G,isArrayBuffer:et,isBuffer:re,isFormData:mr,isArrayBufferView:cr,isString:ar,isNumber:tt,isBoolean:lr,isObject:se,isPlainObject:ge,isEmptyObject:ur,isReadableStream:_r,isRequest:yr,isResponse:wr,isHeaders:vr,isUndefined:Z,isDate:hr,isFile:dr,isBlob:fr,isRegExp:Nr,isFunction:A,isStream:gr,isURLSearchParams:br,isTypedArray:Tr,isFileList:pr,forEach:ne,merge:je,extend:Er,trim:Sr,stripBOM:xr,inherits:Or,toFlatObject:Rr,kindOf:fe,kindOfTest:N,endsWith:Ar,toArray:Cr,forEachEntry:kr,matchAll:jr,isHTMLForm:Pr,hasOwnProperty:nt,hasOwnProp:nt,reduceDescriptors:it,freezeMethods:Ur,toObjectSet:Lr,toCamelCase:Ir,noop:Fr,toFiniteNumber:$r,findKey:rt,global:J,isContextDefined:st,isSpecCompliantForm:qr,toJSONObject:Dr,isAsyncFn:Br,isThenable:Mr,setImmediate:ot,asap:zr,isIterable:Jr};function _(t,e,r,s,n){Error.call(this),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error().stack,this.message=t,this.name="AxiosError",e&&(this.code=e),r&&(this.config=r),s&&(this.request=s),n&&(this.response=n,this.status=n.status?n.status:null)}a.inherits(_,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:a.toJSONObject(this.config),code:this.code,status:this.status}}});const ct=_.prototype,at={};["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=>{at[t]={value:t}}),Object.defineProperties(_,at),Object.defineProperty(ct,"isAxiosError",{value:!0}),_.from=(t,e,r,s,n,o)=>{const i=Object.create(ct);a.toFlatObject(t,i,function(u){return u!==Error.prototype},u=>u!=="isAxiosError");const c=t&&t.message?t.message:"Error",l=e==null&&t?t.code:e;return _.call(i,c,l,r,s,n),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 Wr=null;function Pe(t){return a.isPlainObject(t)||a.isArray(t)}function lt(t){return a.endsWith(t,"[]")?t.slice(0,-2):t}function ut(t,e,r){return t?t.concat(e).map(function(s,n){return s=lt(s),!r&&n?"["+s+"]":s}).join(r?".":""):e}function Hr(t){return a.isArray(t)&&!t.some(Pe)}const Vr=a.toFlatObject(a,{},null,function(t){return/^is[A-Z]/.test(t)});function me(t,e,r){if(!a.isObject(t))throw new TypeError("target must be an object");e=e||new FormData,r=a.toFlatObject(r,{metaTokens:!0,dots:!1,indexes:!1},!1,function(f,p){return!a.isUndefined(p[f])});const s=r.metaTokens,n=r.visitor||u,o=r.dots,i=r.indexes,c=(r.Blob||typeof Blob<"u"&&Blob)&&a.isSpecCompliantForm(e);if(!a.isFunction(n))throw new TypeError("visitor must be a function");function l(f){if(f===null)return"";if(a.isDate(f))return f.toISOString();if(a.isBoolean(f))return f.toString();if(!c&&a.isBlob(f))throw new _("Blob is not supported. Use a Buffer instead.");return a.isArrayBuffer(f)||a.isTypedArray(f)?c&&typeof Blob=="function"?new Blob([f]):Buffer.from(f):f}function u(f,p,d){let v=f;if(f&&!d&&typeof f=="object"){if(a.endsWith(p,"{}"))p=s?p:p.slice(0,-2),f=JSON.stringify(f);else if(a.isArray(f)&&Hr(f)||(a.isFileList(f)||a.endsWith(p,"[]"))&&(v=a.toArray(f)))return p=lt(p),v.forEach(function(x,w){!(a.isUndefined(x)||x===null)&&e.append(i===!0?ut([p],w,o):i===null?p:p+"[]",l(x))}),!1}return Pe(f)?!0:(e.append(ut(d,p,o),l(f)),!1)}const h=[],g=Object.assign(Vr,{defaultVisitor:u,convertValue:l,isVisitable:Pe});function m(f,p){if(!a.isUndefined(f)){if(h.indexOf(f)!==-1)throw Error("Circular reference detected in "+p.join("."));h.push(f),a.forEach(f,function(d,v){(!(a.isUndefined(d)||d===null)&&n.call(e,d,a.isString(v)?v.trim():v,p,g))===!0&&m(d,p?p.concat(v):[v])}),h.pop()}}if(!a.isObject(t))throw new TypeError("data must be an object");return m(t),e}function ht(t){const e={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(t).replace(/[!'()~]|%20|%00/g,function(r){return e[r]})}function Ie(t,e){this._pairs=[],t&&me(t,this,e)}const dt=Ie.prototype;dt.append=function(t,e){this._pairs.push([t,e])},dt.toString=function(t){const e=t?function(r){return t.call(this,r,ht)}:ht;return this._pairs.map(function(r){return e(r[0])+"="+e(r[1])},"").join("&")};function Kr(t){return encodeURIComponent(t).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+")}function ft(t,e,r){if(!e)return t;const s=r&&r.encode||Kr;a.isFunction(r)&&(r={serialize:r});const n=r&&r.serialize;let o;if(n?o=n(e,r):o=a.isURLSearchParams(e)?e.toString():new Ie(e,r).toString(s),o){const i=t.indexOf("#");i!==-1&&(t=t.slice(0,i)),t+=(t.indexOf("?")===-1?"?":"&")+o}return t}class pt{constructor(){this.handlers=[]}use(e,r,s){return this.handlers.push({fulfilled:e,rejected:r,synchronous:s?s.synchronous:!1,runWhen:s?s.runWhen:null}),this.handlers.length-1}eject(e){this.handlers[e]&&(this.handlers[e]=null)}clear(){this.handlers&&(this.handlers=[])}forEach(e){a.forEach(this.handlers,function(r){r!==null&&e(r)})}}const gt={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1},Xr=typeof URLSearchParams<"u"?URLSearchParams:Ie,Gr=typeof FormData<"u"?FormData:null,Zr=typeof Blob<"u"?Blob:null,Qr={isBrowser:!0,classes:{URLSearchParams:Xr,FormData:Gr,Blob:Zr},protocols:["http","https","file","blob","url","data"]},Ne=typeof window<"u"&&typeof document<"u",Ue=typeof navigator=="object"&&navigator||void 0,Yr=Ne&&(!Ue||["ReactNative","NativeScript","NS"].indexOf(Ue.product)<0),es=typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope&&typeof self.importScripts=="function",ts=Ne&&window.location.href||"http://localhost",rs=Object.freeze(Object.defineProperty({__proto__:null,hasBrowserEnv:Ne,hasStandardBrowserEnv:Yr,hasStandardBrowserWebWorkerEnv:es,navigator:Ue,origin:ts},Symbol.toStringTag,{value:"Module"})),O={...rs,...Qr};function ss(t,e){return me(t,new O.classes.URLSearchParams,{visitor:function(r,s,n,o){return O.isNode&&a.isBuffer(r)?(this.append(s,r.toString("base64")),!1):o.defaultVisitor.apply(this,arguments)},...e})}function ns(t){return a.matchAll(/\w+|\[(\w*)]/g,t).map(e=>e[0]==="[]"?"":e[1]||e[0])}function is(t){const e={},r=Object.keys(t);let s;const n=r.length;let o;for(s=0;s<n;s++)o=r[s],e[o]=t[o];return e}function mt(t){function e(r,s,n,o){let i=r[o++];if(i==="__proto__")return!0;const c=Number.isFinite(+i),l=o>=r.length;return i=!i&&a.isArray(n)?n.length:i,l?(a.hasOwnProp(n,i)?n[i]=[n[i],s]:n[i]=s,!c):((!n[i]||!a.isObject(n[i]))&&(n[i]=[]),e(r,s,n[i],o)&&a.isArray(n[i])&&(n[i]=is(n[i])),!c)}if(a.isFormData(t)&&a.isFunction(t.entries)){const r={};return a.forEachEntry(t,(s,n)=>{e(ns(s),n,r,0)}),r}return null}function os(t,e,r){if(a.isString(t))try{return(e||JSON.parse)(t),a.trim(t)}catch(s){if(s.name!=="SyntaxError")throw s}return(r||JSON.stringify)(t)}const ie={transitional:gt,adapter:["xhr","http","fetch"],transformRequest:[function(t,e){const r=e.getContentType()||"",s=r.indexOf("application/json")>-1,n=a.isObject(t);if(n&&a.isHTMLForm(t)&&(t=new FormData(t)),a.isFormData(t))return s?JSON.stringify(mt(t)):t;if(a.isArrayBuffer(t)||a.isBuffer(t)||a.isStream(t)||a.isFile(t)||a.isBlob(t)||a.isReadableStream(t))return t;if(a.isArrayBufferView(t))return t.buffer;if(a.isURLSearchParams(t))return e.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),t.toString();let o;if(n){if(r.indexOf("application/x-www-form-urlencoded")>-1)return ss(t,this.formSerializer).toString();if((o=a.isFileList(t))||r.indexOf("multipart/form-data")>-1){const i=this.env&&this.env.FormData;return me(o?{"files[]":t}:t,i&&new i,this.formSerializer)}}return n||s?(e.setContentType("application/json",!1),os(t)):t}],transformResponse:[function(t){const e=this.transitional||ie.transitional,r=e&&e.forcedJSONParsing,s=this.responseType==="json";if(a.isResponse(t)||a.isReadableStream(t))return t;if(t&&a.isString(t)&&(r&&!this.responseType||s)){const n=!(e&&e.silentJSONParsing)&&s;try{return JSON.parse(t,this.parseReviver)}catch(o){if(n)throw o.name==="SyntaxError"?_.from(o,_.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:O.classes.FormData,Blob:O.classes.Blob},validateStatus:function(t){return t>=200&&t<300},headers:{common:{Accept:"application/json, text/plain, */*","Content-Type":void 0}}};a.forEach(["delete","get","head","post","put","patch"],t=>{ie.headers[t]={}});const cs=a.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"]),as=t=>{const e={};let r,s,n;return t&&t.split(`
2
+ `).forEach(function(o){n=o.indexOf(":"),r=o.substring(0,n).trim().toLowerCase(),s=o.substring(n+1).trim(),!(!r||e[r]&&cs[r])&&(r==="set-cookie"?e[r]?e[r].push(s):e[r]=[s]:e[r]=e[r]?e[r]+", "+s:s)}),e},bt=Symbol("internals");function oe(t){return t&&String(t).trim().toLowerCase()}function be(t){return t===!1||t==null?t:a.isArray(t)?t.map(be):String(t)}function ls(t){const e=Object.create(null),r=/([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g;let s;for(;s=r.exec(t);)e[s[1]]=s[2];return e}const us=t=>/^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(t.trim());function Le(t,e,r,s,n){if(a.isFunction(s))return s.call(this,e,r);if(n&&(e=r),!!a.isString(e)){if(a.isString(s))return e.indexOf(s)!==-1;if(a.isRegExp(s))return s.test(e)}}function hs(t){return t.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,(e,r,s)=>r.toUpperCase()+s)}function ds(t,e){const r=a.toCamelCase(" "+e);["get","set","has"].forEach(s=>{Object.defineProperty(t,s+r,{value:function(n,o,i){return this[s].call(this,e,n,o,i)},configurable:!0})})}let C=class{constructor(t){t&&this.set(t)}set(t,e,r){const s=this;function n(i,c,l){const u=oe(c);if(!u)throw new Error("header name must be a non-empty string");const h=a.findKey(s,u);(!h||s[h]===void 0||l===!0||l===void 0&&s[h]!==!1)&&(s[h||c]=be(i))}const o=(i,c)=>a.forEach(i,(l,u)=>n(l,u,c));if(a.isPlainObject(t)||t instanceof this.constructor)o(t,e);else if(a.isString(t)&&(t=t.trim())&&!us(t))o(as(t),e);else if(a.isObject(t)&&a.isIterable(t)){let i={},c,l;for(const u of t){if(!a.isArray(u))throw TypeError("Object iterator must return a key-value pair");i[l=u[0]]=(c=i[l])?a.isArray(c)?[...c,u[1]]:[c,u[1]]:u[1]}o(i,e)}else t!=null&&n(e,t,r);return this}get(t,e){if(t=oe(t),t){const r=a.findKey(this,t);if(r){const s=this[r];if(!e)return s;if(e===!0)return ls(s);if(a.isFunction(e))return e.call(this,s,r);if(a.isRegExp(e))return e.exec(s);throw new TypeError("parser must be boolean|regexp|function")}}}has(t,e){if(t=oe(t),t){const r=a.findKey(this,t);return!!(r&&this[r]!==void 0&&(!e||Le(this,this[r],r,e)))}return!1}delete(t,e){const r=this;let s=!1;function n(o){if(o=oe(o),o){const i=a.findKey(r,o);i&&(!e||Le(r,r[i],i,e))&&(delete r[i],s=!0)}}return a.isArray(t)?t.forEach(n):n(t),s}clear(t){const e=Object.keys(this);let r=e.length,s=!1;for(;r--;){const n=e[r];(!t||Le(this,this[n],n,t,!0))&&(delete this[n],s=!0)}return s}normalize(t){const e=this,r={};return a.forEach(this,(s,n)=>{const o=a.findKey(r,n);if(o){e[o]=be(s),delete e[n];return}const i=t?hs(n):String(n).trim();i!==n&&delete e[n],e[i]=be(s),r[i]=!0}),this}concat(...t){return this.constructor.concat(this,...t)}toJSON(t){const e=Object.create(null);return a.forEach(this,(r,s)=>{r!=null&&r!==!1&&(e[s]=t&&a.isArray(r)?r.join(", "):r)}),e}[Symbol.iterator](){return Object.entries(this.toJSON())[Symbol.iterator]()}toString(){return Object.entries(this.toJSON()).map(([t,e])=>t+": "+e).join(`
3
+ `)}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 r=new this(t);return e.forEach(s=>r.set(s)),r}static accessor(t){const e=(this[bt]=this[bt]={accessors:{}}).accessors,r=this.prototype;function s(n){const o=oe(n);e[o]||(ds(r,n),e[o]=!0)}return a.isArray(t)?t.forEach(s):s(t),this}};C.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent","Authorization"]),a.reduceDescriptors(C.prototype,({value:t},e)=>{let r=e[0].toUpperCase()+e.slice(1);return{get:()=>t,set(s){this[r]=s}}}),a.freezeMethods(C);function Fe(t,e){const r=this||ie,s=e||r,n=C.from(s.headers);let o=s.data;return a.forEach(t,function(i){o=i.call(r,o,n.normalize(),e?e.status:void 0)}),n.normalize(),o}function _t(t){return!!(t&&t.__CANCEL__)}function Q(t,e,r){_.call(this,t??"canceled",_.ERR_CANCELED,e,r),this.name="CanceledError"}a.inherits(Q,_,{__CANCEL__:!0});function yt(t,e,r){const s=r.config.validateStatus;!r.status||!s||s(r.status)?t(r):e(new _("Request failed with status code "+r.status,[_.ERR_BAD_REQUEST,_.ERR_BAD_RESPONSE][Math.floor(r.status/100)-4],r.config,r.request,r))}function fs(t){const e=/^([-+\w]{1,25})(:?\/\/|:)/.exec(t);return e&&e[1]||""}function ps(t,e){t=t||10;const r=new Array(t),s=new Array(t);let n=0,o=0,i;return e=e!==void 0?e:1e3,function(c){const l=Date.now(),u=s[o];i||(i=l),r[n]=c,s[n]=l;let h=o,g=0;for(;h!==n;)g+=r[h++],h=h%t;if(n=(n+1)%t,n===o&&(o=(o+1)%t),l-i<e)return;const m=u&&l-u;return m?Math.round(g*1e3/m):void 0}}function gs(t,e){let r=0,s=1e3/e,n,o;const i=(c,l=Date.now())=>{r=l,n=null,o&&(clearTimeout(o),o=null),t(...c)};return[(...c)=>{const l=Date.now(),u=l-r;u>=s?i(c,l):(n=c,o||(o=setTimeout(()=>{o=null,i(n)},s-u)))},()=>n&&i(n)]}const _e=(t,e,r=3)=>{let s=0;const n=ps(50,250);return gs(o=>{const i=o.loaded,c=o.lengthComputable?o.total:void 0,l=i-s,u=n(l),h=i<=c;s=i;const g={loaded:i,total:c,progress:c?i/c:void 0,bytes:l,rate:u||void 0,estimated:u&&c&&h?(c-i)/u:void 0,event:o,lengthComputable:c!=null,[e?"download":"upload"]:!0};t(g)},r)},wt=(t,e)=>{const r=t!=null;return[s=>e[0]({lengthComputable:r,total:t,loaded:s}),e[1]]},vt=t=>(...e)=>a.asap(()=>t(...e)),ms=O.hasStandardBrowserEnv?((t,e)=>r=>(r=new URL(r,O.origin),t.protocol===r.protocol&&t.host===r.host&&(e||t.port===r.port)))(new URL(O.origin),O.navigator&&/(msie|trident)/i.test(O.navigator.userAgent)):()=>!0,bs=O.hasStandardBrowserEnv?{write(t,e,r,s,n,o,i){if(typeof document>"u")return;const c=[`${t}=${encodeURIComponent(e)}`];a.isNumber(r)&&c.push(`expires=${new Date(r).toUTCString()}`),a.isString(s)&&c.push(`path=${s}`),a.isString(n)&&c.push(`domain=${n}`),o===!0&&c.push("secure"),a.isString(i)&&c.push(`SameSite=${i}`),document.cookie=c.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 _s(t){return/^([a-z][a-z\d+\-.]*:)?\/\//i.test(t)}function ys(t,e){return e?t.replace(/\/?\/$/,"")+"/"+e.replace(/^\/+/,""):t}function St(t,e,r){let s=!_s(e);return t&&(s||r==!1)?ys(t,e):e}const Et=t=>t instanceof C?{...t}:t;function W(t,e){e=e||{};const r={};function s(u,h,g,m){return a.isPlainObject(u)&&a.isPlainObject(h)?a.merge.call({caseless:m},u,h):a.isPlainObject(h)?a.merge({},h):a.isArray(h)?h.slice():h}function n(u,h,g,m){if(a.isUndefined(h)){if(!a.isUndefined(u))return s(void 0,u,g,m)}else return s(u,h,g,m)}function o(u,h){if(!a.isUndefined(h))return s(void 0,h)}function i(u,h){if(a.isUndefined(h)){if(!a.isUndefined(u))return s(void 0,u)}else return s(void 0,h)}function c(u,h,g){if(g in e)return s(u,h);if(g in t)return s(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:c,headers:(u,h,g)=>n(Et(u),Et(h),g,!0)};return a.forEach(Object.keys({...t,...e}),function(u){const h=l[u]||n,g=h(t[u],e[u],u);a.isUndefined(g)&&h!==c||(r[u]=g)}),r}const xt=t=>{const e=W({},t);let{data:r,withXSRFToken:s,xsrfHeaderName:n,xsrfCookieName:o,headers:i,auth:c}=e;if(e.headers=i=C.from(i),e.url=ft(St(e.baseURL,e.url,e.allowAbsoluteUrls),t.params,t.paramsSerializer),c&&i.set("Authorization","Basic "+btoa((c.username||"")+":"+(c.password?unescape(encodeURIComponent(c.password)):""))),a.isFormData(r)){if(O.hasStandardBrowserEnv||O.hasStandardBrowserWebWorkerEnv)i.setContentType(void 0);else if(a.isFunction(r.getHeaders)){const l=r.getHeaders(),u=["content-type","content-length"];Object.entries(l).forEach(([h,g])=>{u.includes(h.toLowerCase())&&i.set(h,g)})}}if(O.hasStandardBrowserEnv&&(s&&a.isFunction(s)&&(s=s(e)),s||s!==!1&&ms(e.url))){const l=n&&o&&bs.read(o);l&&i.set(n,l)}return e},ws=typeof XMLHttpRequest<"u",vs=ws&&function(t){return new Promise(function(e,r){const s=xt(t);let n=s.data;const o=C.from(s.headers).normalize();let{responseType:i,onUploadProgress:c,onDownloadProgress:l}=s,u,h,g,m,f;function p(){m&&m(),f&&f(),s.cancelToken&&s.cancelToken.unsubscribe(u),s.signal&&s.signal.removeEventListener("abort",u)}let d=new XMLHttpRequest;d.open(s.method.toUpperCase(),s.url,!0),d.timeout=s.timeout;function v(){if(!d)return;const w=C.from("getAllResponseHeaders"in d&&d.getAllResponseHeaders()),R={data:!i||i==="text"||i==="json"?d.responseText:d.response,status:d.status,statusText:d.statusText,headers:w,config:t,request:d};yt(function(T){e(T),p()},function(T){r(T),p()},R),d=null}"onloadend"in d?d.onloadend=v:d.onreadystatechange=function(){!d||d.readyState!==4||d.status===0&&!(d.responseURL&&d.responseURL.indexOf("file:")===0)||setTimeout(v)},d.onabort=function(){d&&(r(new _("Request aborted",_.ECONNABORTED,t,d)),d=null)},d.onerror=function(w){const R=w&&w.message?w.message:"Network Error",T=new _(R,_.ERR_NETWORK,t,d);T.event=w||null,r(T),d=null},d.ontimeout=function(){let w=s.timeout?"timeout of "+s.timeout+"ms exceeded":"timeout exceeded";const R=s.transitional||gt;s.timeoutErrorMessage&&(w=s.timeoutErrorMessage),r(new _(w,R.clarifyTimeoutError?_.ETIMEDOUT:_.ECONNABORTED,t,d)),d=null},n===void 0&&o.setContentType(null),"setRequestHeader"in d&&a.forEach(o.toJSON(),function(w,R){d.setRequestHeader(R,w)}),a.isUndefined(s.withCredentials)||(d.withCredentials=!!s.withCredentials),i&&i!=="json"&&(d.responseType=s.responseType),l&&([g,f]=_e(l,!0),d.addEventListener("progress",g)),c&&d.upload&&([h,m]=_e(c),d.upload.addEventListener("progress",h),d.upload.addEventListener("loadend",m)),(s.cancelToken||s.signal)&&(u=w=>{d&&(r(!w||w.type?new Q(null,t,d):w),d.abort(),d=null)},s.cancelToken&&s.cancelToken.subscribe(u),s.signal&&(s.signal.aborted?u():s.signal.addEventListener("abort",u)));const x=fs(s.url);if(x&&O.protocols.indexOf(x)===-1){r(new _("Unsupported protocol "+x+":",_.ERR_BAD_REQUEST,t));return}d.send(n||null)})},Ss=(t,e)=>{const{length:r}=t=t?t.filter(Boolean):[];if(e||r){let s=new AbortController,n;const o=function(u){if(!n){n=!0,c();const h=u instanceof Error?u:this.reason;s.abort(h instanceof _?h:new Q(h instanceof Error?h.message:h))}};let i=e&&setTimeout(()=>{i=null,o(new _(`timeout ${e} of ms exceeded`,_.ETIMEDOUT))},e);const c=()=>{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}=s;return l.unsubscribe=()=>a.asap(c),l}},Es=function*(t,e){let r=t.byteLength;if(r<e){yield t;return}let s=0,n;for(;s<r;)n=s+e,yield t.slice(s,n),s=n},xs=async function*(t,e){for await(const r of Os(t))yield*Es(r,e)},Os=async function*(t){if(t[Symbol.asyncIterator]){yield*t;return}const e=t.getReader();try{for(;;){const{done:r,value:s}=await e.read();if(r)break;yield s}}finally{await e.cancel()}},Ot=(t,e,r,s)=>{const n=xs(t,e);let o=0,i,c=l=>{i||(i=!0,s&&s(l))};return new ReadableStream({async pull(l){try{const{done:u,value:h}=await n.next();if(u){c(),l.close();return}let g=h.byteLength;if(r){let m=o+=g;r(m)}l.enqueue(new Uint8Array(h))}catch(u){throw c(u),u}},cancel(l){return c(l),n.return()}},{highWaterMark:2})},Rt=64*1024,{isFunction:ye}=a,Rs=(({Request:t,Response:e})=>({Request:t,Response:e}))(a.global),{ReadableStream:At,TextEncoder:Ct}=a.global,Tt=(t,...e)=>{try{return!!t(...e)}catch{return!1}},As=t=>{t=a.merge.call({skipUndefined:!0},Rs,t);const{fetch:e,Request:r,Response:s}=t,n=e?ye(e):typeof fetch=="function",o=ye(r),i=ye(s);if(!n)return!1;const c=n&&ye(At),l=n&&(typeof Ct=="function"?(p=>d=>p.encode(d))(new Ct):async p=>new Uint8Array(await new r(p).arrayBuffer())),u=o&&c&&Tt(()=>{let p=!1;const d=new r(O.origin,{body:new At,method:"POST",get duplex(){return p=!0,"half"}}).headers.has("Content-Type");return p&&!d}),h=i&&c&&Tt(()=>a.isReadableStream(new s("").body)),g={stream:h&&(p=>p.body)};n&&["text","arrayBuffer","blob","formData","stream"].forEach(p=>{!g[p]&&(g[p]=(d,v)=>{let x=d&&d[p];if(x)return x.call(d);throw new _(`Response type '${p}' is not supported`,_.ERR_NOT_SUPPORT,v)})});const m=async p=>{if(p==null)return 0;if(a.isBlob(p))return p.size;if(a.isSpecCompliantForm(p))return(await new r(O.origin,{method:"POST",body:p}).arrayBuffer()).byteLength;if(a.isArrayBufferView(p)||a.isArrayBuffer(p))return p.byteLength;if(a.isURLSearchParams(p)&&(p=p+""),a.isString(p))return(await l(p)).byteLength},f=async(p,d)=>a.toFiniteNumber(p.getContentLength())??m(d);return async p=>{let{url:d,method:v,data:x,signal:w,cancelToken:R,timeout:T,onDownloadProgress:D,onUploadProgress:ee,responseType:P,headers:X,withCredentials:L="same-origin",fetchOptions:te}=xt(p),B=e||fetch;P=P?(P+"").toLowerCase():"text";let F=Ss([w,R&&R.toAbortSignal()],T),$=null;const k=F&&F.unsubscribe&&(()=>{F.unsubscribe()});let Ae;try{if(ee&&u&&v!=="get"&&v!=="head"&&(Ae=await f(X,x))!==0){let j=new r(d,{method:"POST",body:x,duplex:"half"}),z;if(a.isFormData(x)&&(z=j.headers.get("content-type"))&&X.setContentType(z),j.body){const[Ze,Ce]=wt(Ae,_e(vt(ee)));x=Ot(j.body,Rt,Ze,Ce)}}a.isString(L)||(L=L?"include":"omit");const E=o&&"credentials"in r.prototype,b={...te,signal:F,method:v.toUpperCase(),headers:X.normalize().toJSON(),body:x,duplex:"half",credentials:E?L:void 0};$=o&&new r(d,b);let y=await(o?B($,te):B(d,b));const I=h&&(P==="stream"||P==="response");if(h&&(D||I&&k)){const j={};["status","statusText","headers"].forEach(rr=>{j[rr]=y[rr]});const z=a.toFiniteNumber(y.headers.get("content-length")),[Ze,Ce]=D&&wt(z,_e(vt(D),!0))||[];y=new s(Ot(y.body,Rt,Ze,()=>{Ce&&Ce(),k&&k()}),j)}P=P||"text";let M=await g[a.findKey(g,P)||"text"](y,p);return!I&&k&&k(),await new Promise((j,z)=>{yt(j,z,{data:M,headers:C.from(y.headers),status:y.status,statusText:y.statusText,config:p,request:$})})}catch(E){throw k&&k(),E&&E.name==="TypeError"&&/Load failed|fetch/i.test(E.message)?Object.assign(new _("Network Error",_.ERR_NETWORK,p,$),{cause:E.cause||E}):_.from(E,E&&E.code,p,$)}}},Cs=new Map,kt=t=>{let e=t&&t.env||{};const{fetch:r,Request:s,Response:n}=e,o=[s,n,r];let i=o.length,c=i,l,u,h=Cs;for(;c--;)l=o[c],u=h.get(l),u===void 0&&h.set(l,u=c?new Map:As(e)),h=u;return u};kt();const $e={http:Wr,xhr:vs,fetch:{get:kt}};a.forEach($e,(t,e)=>{if(t){try{Object.defineProperty(t,"name",{value:e})}catch{}Object.defineProperty(t,"adapterName",{value:e})}});const jt=t=>`- ${t}`,Ts=t=>a.isFunction(t)||t===null||t===!1;function ks(t,e){t=a.isArray(t)?t:[t];const{length:r}=t;let s,n;const o={};for(let i=0;i<r;i++){s=t[i];let c;if(n=s,!Ts(s)&&(n=$e[(c=String(s)).toLowerCase()],n===void 0))throw new _(`Unknown adapter '${c}'`);if(n&&(a.isFunction(n)||(n=n.get(e))))break;o[c||"#"+i]=n}if(!n){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 c=r?i.length>1?`since :
4
+ `+i.map(jt).join(`
5
+ `):" "+jt(i[0]):"as no adapter specified";throw new _("There is no suitable adapter to dispatch the request "+c,"ERR_NOT_SUPPORT")}return n}const Pt={getAdapter:ks,adapters:$e};function qe(t){if(t.cancelToken&&t.cancelToken.throwIfRequested(),t.signal&&t.signal.aborted)throw new Q(null,t)}function It(t){return qe(t),t.headers=C.from(t.headers),t.data=Fe.call(t,t.transformRequest),["post","put","patch"].indexOf(t.method)!==-1&&t.headers.setContentType("application/x-www-form-urlencoded",!1),Pt.getAdapter(t.adapter||ie.adapter,t)(t).then(function(e){return qe(t),e.data=Fe.call(t,t.transformResponse,e),e.headers=C.from(e.headers),e},function(e){return _t(e)||(qe(t),e&&e.response&&(e.response.data=Fe.call(t,t.transformResponse,e.response),e.response.headers=C.from(e.response.headers))),Promise.reject(e)})}const Nt="1.13.1",we={};["object","boolean","number","function","string","symbol"].forEach((t,e)=>{we[t]=function(r){return typeof r===t||"a"+(e<1?"n ":" ")+t}});const Ut={};we.transitional=function(t,e,r){function s(n,o){return"[Axios v"+Nt+"] Transitional option '"+n+"'"+o+(r?". "+r:"")}return(n,o,i)=>{if(t===!1)throw new _(s(o," has been removed"+(e?" in "+e:"")),_.ERR_DEPRECATED);return e&&!Ut[o]&&(Ut[o]=!0,console.warn(s(o," has been deprecated since v"+e+" and will be removed in the near future"))),t?t(n,o,i):!0}},we.spelling=function(t){return(e,r)=>(console.warn(`${r} is likely a misspelling of ${t}`),!0)};function js(t,e,r){if(typeof t!="object")throw new _("options must be an object",_.ERR_BAD_OPTION_VALUE);const s=Object.keys(t);let n=s.length;for(;n-- >0;){const o=s[n],i=e[o];if(i){const c=t[o],l=c===void 0||i(c,o,t);if(l!==!0)throw new _("option "+o+" must be "+l,_.ERR_BAD_OPTION_VALUE);continue}if(r!==!0)throw new _("Unknown option "+o,_.ERR_BAD_OPTION)}}const ve={assertOptions:js,validators:we},q=ve.validators;let H=class{constructor(t){this.defaults=t||{},this.interceptors={request:new pt,response:new pt}}async request(t,e){try{return await this._request(t,e)}catch(r){if(r instanceof Error){let s={};Error.captureStackTrace?Error.captureStackTrace(s):s=new Error;const n=s.stack?s.stack.replace(/^.+\n/,""):"";try{r.stack?n&&!String(r.stack).endsWith(n.replace(/^.+\n.+\n/,""))&&(r.stack+=`
6
+ `+n):r.stack=n}catch{}}throw r}}_request(t,e){typeof t=="string"?(e=e||{},e.url=t):e=t||{},e=W(this.defaults,e);const{transitional:r,paramsSerializer:s,headers:n}=e;r!==void 0&&ve.assertOptions(r,{silentJSONParsing:q.transitional(q.boolean),forcedJSONParsing:q.transitional(q.boolean),clarifyTimeoutError:q.transitional(q.boolean)},!1),s!=null&&(a.isFunction(s)?e.paramsSerializer={serialize:s}:ve.assertOptions(s,{encode:q.function,serialize:q.function},!0)),e.allowAbsoluteUrls!==void 0||(this.defaults.allowAbsoluteUrls!==void 0?e.allowAbsoluteUrls=this.defaults.allowAbsoluteUrls:e.allowAbsoluteUrls=!0),ve.assertOptions(e,{baseUrl:q.spelling("baseURL"),withXsrfToken:q.spelling("withXSRFToken")},!0),e.method=(e.method||this.defaults.method||"get").toLowerCase();let o=n&&a.merge(n.common,n[e.method]);n&&a.forEach(["delete","get","head","post","put","patch","common"],f=>{delete n[f]}),e.headers=C.concat(o,n);const i=[];let c=!0;this.interceptors.request.forEach(function(f){typeof f.runWhen=="function"&&f.runWhen(e)===!1||(c=c&&f.synchronous,i.unshift(f.fulfilled,f.rejected))});const l=[];this.interceptors.response.forEach(function(f){l.push(f.fulfilled,f.rejected)});let u,h=0,g;if(!c){const f=[It.bind(this),void 0];for(f.unshift(...i),f.push(...l),g=f.length,u=Promise.resolve(e);h<g;)u=u.then(f[h++],f[h++]);return u}g=i.length;let m=e;for(;h<g;){const f=i[h++],p=i[h++];try{m=f(m)}catch(d){p.call(this,d);break}}try{u=It.call(this,m)}catch(f){return Promise.reject(f)}for(h=0,g=l.length;h<g;)u=u.then(l[h++],l[h++]);return u}getUri(t){t=W(this.defaults,t);const e=St(t.baseURL,t.url,t.allowAbsoluteUrls);return ft(e,t.params,t.paramsSerializer)}};a.forEach(["delete","get","head","options"],function(t){H.prototype[t]=function(e,r){return this.request(W(r||{},{method:t,url:e,data:(r||{}).data}))}}),a.forEach(["post","put","patch"],function(t){function e(r){return function(s,n,o){return this.request(W(o||{},{method:t,headers:r?{"Content-Type":"multipart/form-data"}:{},url:s,data:n}))}}H.prototype[t]=e(),H.prototype[t+"Form"]=e(!0)});let Ps=class sr{constructor(e){if(typeof e!="function")throw new TypeError("executor must be a function.");let r;this.promise=new Promise(function(n){r=n});const s=this;this.promise.then(n=>{if(!s._listeners)return;let o=s._listeners.length;for(;o-- >0;)s._listeners[o](n);s._listeners=null}),this.promise.then=n=>{let o;const i=new Promise(c=>{s.subscribe(c),o=c}).then(n);return i.cancel=function(){s.unsubscribe(o)},i},e(function(n,o,i){s.reason||(s.reason=new Q(n,o,i),r(s.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 r=this._listeners.indexOf(e);r!==-1&&this._listeners.splice(r,1)}toAbortSignal(){const e=new AbortController,r=s=>{e.abort(s)};return this.subscribe(r),e.signal.unsubscribe=()=>this.unsubscribe(r),e.signal}static source(){let e;return{token:new sr(function(r){e=r}),cancel:e}}};function Is(t){return function(e){return t.apply(null,e)}}function Ns(t){return a.isObject(t)&&t.isAxiosError===!0}const De={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(De).forEach(([t,e])=>{De[e]=t});function Lt(t){const e=new H(t),r=Qe(H.prototype.request,e);return a.extend(r,H.prototype,e,{allOwnKeys:!0}),a.extend(r,e,null,{allOwnKeys:!0}),r.create=function(s){return Lt(W(t,s))},r}const S=Lt(ie);S.Axios=H,S.CanceledError=Q,S.CancelToken=Ps,S.isCancel=_t,S.VERSION=Nt,S.toFormData=me,S.AxiosError=_,S.Cancel=S.CanceledError,S.all=function(t){return Promise.all(t)},S.spread=Is,S.isAxiosError=Ns,S.mergeConfig=W,S.AxiosHeaders=C,S.formToJSON=t=>mt(a.isHTMLForm(t)?new FormData(t):t),S.getAdapter=Pt.getAdapter,S.HttpStatusCode=De,S.default=S;const{Axios:Zn,AxiosError:Qn,CanceledError:Yn,isCancel:ei,CancelToken:ti,VERSION:ri,all:si,Cancel:ni,isAxiosError:ii,spread:oi,toFormData:ci,AxiosHeaders:ai,HttpStatusCode:li,formToJSON:ui,getAdapter:hi,mergeConfig:di}=S,Be=S.create({baseURL:location.origin,timeout:6e4,params:{}});Be.interceptors.response.use(t=>t,t=>{var e,r,s,n,o,i,c,l,u,h,g;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 m=`HTTP ${t.response.status} - `;(e=t.response)!=null&&e.statusText&&(m+=`${t.response.statusText} `),(s=(r=t.response)==null?void 0:r.config)!=null&&s.data&&(m+=`${t.response.config.data} `),(o=(n=t.response)==null?void 0:n.data)!=null&&o.message?m+=`${t.response.data.message}`:(c=(i=t.response)==null?void 0:i.data)!=null&&c.exception?m+=`${t.response.data.exception}`:(h=(u=(l=t.response)==null?void 0:l.data)==null?void 0:u.error)!=null&&h.message?(t.response.data.error.class&&(m+=`${t.response.data.error.class} `),m+=`${t.response.data.error.message}`):m+=`${(g=t.response)==null?void 0:g.data}`;const{$cosmosNotify:f}=window;throw f&&f.serious({title:"Network error",body:m}),t}else throw t});const Se=async function(t,e,{data:r,params:s={},headers:n,noAuth:o=!1,noScope:i=!1,onUploadProgress:c=!1}={}){if(!o){try{await OpenC3Auth.updateToken(OpenC3Auth.defaultMinValidity)&&OpenC3Auth.setTokens()}catch{OpenC3Auth.login()}n.Authorization=localStorage.openc3Token}return n.manual=!0,!i&&!s.scope&&(s.scope=window.openc3Scope),Be({method:t,url:e,data:r,params:s,headers:n,onUploadProgress:c})},Me={Accept:"application/json"},Ft={...Me,"Content-Type":"application/json"},fi=Te("f",{get:function(t,{params:e,headers:r=Me,noScope:s,noAuth:n,onUploadProgress:o}={}){return Se("get",t,{params:e,headers:r,noScope:s,noAuth:n,onUploadProgress:o})},put:function(t,{data:e,params:r,headers:s=Ft,noScope:n,noAuth:o,onUploadProgress:i}={}){return Se("put",t,{data:e,params:r,headers:s,noScope:n,noAuth:o,onUploadProgress:i})},post:function(t,{data:e,params:r,headers:s=Ft,noScope:n,noAuth:o,onUploadProgress:i}={}){return Se("post",t,{data:e,params:r,headers:s,noScope:n,noAuth:o,onUploadProgress:i})},delete:function(t,{params:e,headers:r=Me,noScope:s,noAuth:n,onUploadProgress:o}={}){return Se("delete",t,{params:e,headers:r,noScope:s,noAuth:n,onUploadProgress:o})}});let Ee=()=>({emit(t,...e){for(let r=this.events[t]||[],s=0,n=r.length;s<n;s++)r[s](...e)},events:{},on(t,e){var r;return((r=this.events)[t]||(r[t]=[])).push(e),()=>{var s;this.events[t]=(s=this.events[t])==null?void 0:s.filter(n=>e!==n)}}});class ce extends Error{constructor(e,r){e instanceof Error?(super(e.message),this.cause=e):super(e),this.reason=r,this.name="ReasonError"}}class ze extends ce{constructor(e){super("Rejected",e),this.name="SubscriptionRejectedError"}}class Us extends ce{constructor(e){super(e||"Timed out to receive subscription ack"),this.name="SubscriptionTimeoutError"}}class U extends ce{constructor(e,r){r?super(e,r):super("Disconnected",e),this.name="DisconnectedError"}}class Ls extends U{constructor(e){super(e,"stale_connection"),this.name="StaleConnectionError"}}function $t(t){return t?`{${Object.keys(t).sort().filter(e=>t[e]!==void 0).map(e=>{let r=JSON.stringify(t[e]);return`${JSON.stringify(e)}:${r}`}).join(",")}}`:""}class Fs{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,r){if(!this._info)return this._info={id:e,info:r},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((r,{id:s,info:n})=>(r[s]=n,r),{})}}const V=Symbol("state");class qt{constructor(e={}){this.emitter=Ee(),this.params=Object.freeze(e),this.presence=new Fs(this),this.initialConnect=!0,this[V]="idle"}get identifier(){return this._identifier?this._identifier:(this._identifier=$t({channel:this.channelId,...this.params}),this._identifier)}get channelId(){return this.constructor.identifier}get state(){return this[V]}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[V]="connecting"}connected(){if(this.state==="connected"||this.state==="closed")return;this[V]="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[V]="connected";let e=!0,r=!0;this.initialConnect=!1,this.emit("connect",{reconnect:r,restored:e})}disconnected(e){this.state==="disconnected"||this.state==="closed"||(this[V]="disconnected",this.presence.reset(),this.emit("disconnect",e))}closed(e){this.state!=="closed"&&(this[V]="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,r){if(this.state==="idle"||this.state==="closed")throw Error("Channel is not subscribed");return this.receiver.perform(this.identifier,e,r)}async send(e){return this.perform(void 0,e)}async whisper(e){try{await this.perform("$whisper",e)}catch(r){let s=this.receiver?this.receiver.logger:null;s&&s.warn("whisper failed: ",r)}}receive(e,r){this.emit("message",e,r)}on(e,r){return this.emitter.on(e,r)}once(e,r){let s=this.emitter.on(e,(...n)=>{s(),r(...n)});return s}emit(e,...r){return this.emitter.emit(e,...r)}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,r)=>{let s=[()=>delete this._pendingSubscribe];s.push(this.on("connect",()=>{s.forEach(n=>n()),e()})),s.push(this.on("close",n=>{s.forEach(o=>o()),r(n||new ce("Channel was disconnected before subscribing","canceled"))}))}),this._pendingSubscribe)}}class $s{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 r=this.channels.indexOf(e);r>-1&&this.channels.splice(r,1)}notify(e,...r){this.state=e==="restored"?"connected":e,r.length===1?this.channels.forEach(s=>s[e](r[0])):this.channels.forEach(s=>s[e]())}pending(e){this._checkIntent(e);let r=this._pendings[0];return!r||r.intent!==e?Promise.resolve():r.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 r,s={promise:new Promise(o=>{r=o}),intent:e,release:()=>{this._pendings.splice(this._pendings.indexOf(s),1),r(s)},canceled:!1,acquired:!1},n=this._pendingTop;return this._pendings.push(s),n&&await n.promise,this.gvl&&await this.gvl.acquire(s,e),s.acquired=!0,s}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 r=this._pendingTop;return!r||r.acquired||r.intent!==e?!1:(this._pendings.pop(),r.canceled=!0,!0)}}class qs{constructor(){this.queue=[]}async acquire(e,r){r==="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 Ds{constructor(e){e.concurrentSubscribes===!1&&(this.glv=new qs),this._subscriptions={},this._localToRemote={}}all(){return Object.values(this._subscriptions)}get(e){return this._subscriptions[e]}create(e,{subscribe:r,unsubscribe:s}){let n=this._subscriptions[e]=new $s(e);return n.remoteId=this._localToRemote[e],n.subscriber=r,n.unsubscriber=s,n.gvl=this.glv,n}remove(e){delete this._subscriptions[e],delete this._localToRemote[e]}storeRemoteId(e,r){this._localToRemote[e]=r;let s=this.get(e);s&&(s.remoteId=r)}}class Bs{constructor(e={}){this.subscriptions=new Ds(e),this._pendingMessages=[],this._remoteToLocal={}}subscribe(e,r){this._remoteToLocal[r]=e,this.subscriptions.storeRemoteId(e,r),this.flush(r)}unsubscribe(e){let r=this.subscriptions.get(e);if(!r)return;let s=r.remoteId;s&&delete this._remoteToLocal[s],this.subscriptions.remove(e)}transmit(e,r,s){let n=this._remoteToLocal[e];if(!n){this._pendingMessages.push([e,r,s]);return}let o=this.subscriptions.get(n);o&&o.channels.forEach(i=>{i.receive(r,s)})}notify(e,r,s){let n=this._remoteToLocal[e];if(!n)return;let o=this.subscriptions.get(n);o&&o.channels.forEach(i=>i.emit(r,s))}close(){this._pendingMessages.length=0}get size(){return this.channels.length}get channels(){return this.subscriptions.all().flatMap(e=>e.channels)}flush(e){let r=[];for(let s of this._pendingMessages)s[0]===e?this.transmit(s[0],s[1],s[2]):r.push(s);this._pendingMessages=r}}const Dt={debug:0,info:1,warn:2,error:3};class Bt{constructor(e){this.level=e||"warn"}log(e,r,s){Dt[e]<Dt[this.level]||this.writeLogEntry(e,r,s)}writeLogEntry(){throw Error("Not implemented")}debug(e,r){this.log("debug",e,r)}info(e,r){this.log("info",e,r)}warn(e,r){this.log("warn",e,r)}error(e,r){this.log("error",e,r)}}class ae extends Bt{writeLogEntry(){}}class Ms{encode(e){return JSON.stringify(e)}decode(e){try{return JSON.parse(e)}catch{}}}let zs=0;class Mt{constructor(e={}){let{logger:r}=e;this.logger=r||new ae,this.pendingSubscriptions={},this.pendingUnsubscriptions={},this.subscribeCooldownInterval=e.subscribeCooldownInterval||250,this.subscribeRetryInterval=e.subscribeRetryInterval||5e3}attached(e){this.cable=e}subscribe(e,r){let s={channel:e};r&&Object.assign(s,r);let n=$t(s);if(this.pendingUnsubscriptions[n]){let i=this.subscribeCooldownInterval*1.5;return this.logger.debug(`unsubscribed recently, cooldown for ${i}`,n),new Promise(c=>{setTimeout(()=>{c(this.subscribe(e,r))},i)})}if(this.pendingSubscriptions[n])return this.logger.warn("subscription is already pending, skipping",n),Promise.reject(Error("Already subscribing"));let o=this.subscribeRetryInterval;return new Promise((i,c)=>{let l=++zs;this.pendingSubscriptions[n]={resolve:i,reject:c,id:l},this.cable.send(this.buildSubscribeRequest(n)),this.maybeRetrySubscribe(l,n,o)})}buildSubscribeRequest(e){return{command:"subscribe",identifier:e}}maybeRetrySubscribe(e,r,s){setTimeout(()=>{let n=this.pendingSubscriptions[r];n&&n.id===e&&(this.logger.warn(`no subscription ack received in ${s}ms, retrying subscribe`,r),this.cable.send(this.buildSubscribeRequest(r)),this.maybeExpireSubscribe(e,r,s))},s)}maybeExpireSubscribe(e,r,s){setTimeout(()=>{let n=this.pendingSubscriptions[r];n&&n.id===e&&(delete this.pendingSubscriptions[r],n.reject(new Us(`Haven't received subscription ack in ${s*2}ms for ${r}`)))},s)}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,r,s){return r==="$whisper"?this.whisper(e,s):(s||(s={}),s.action=r,this.cable.send({command:"message",identifier:e,data:JSON.stringify(s)}),Promise.resolve())}whisper(e,r){return this.cable.send({command:"whisper",identifier:e,data:r}),Promise.resolve()}receive(e){if(typeof e!="object"){this.logger.error("unsupported message format",{message:e});return}let{type:r,identifier:s,message:n,reason:o,reconnect:i}=e;if(r==="ping")return this.cable.keepalive(e.message);if(this.cable.keepalive(),r==="welcome"){let c=e.sid;return c&&this.cable.setSessionId(c),this.cable.connected()}if(r==="disconnect"){let c=new U(o);this.reset(c),i===!1?this.cable.closed(c):this.cable.disconnected(c);return}if(r==="confirm_subscription"){let c=this.pendingSubscriptions[s];if(!c){this.logger.error("subscription not found, unsubscribing",{type:r,identifier:s}),this.unsubscribe(s);return}return delete this.pendingSubscriptions[s],c.resolve(s)}if(r==="reject_subscription"){let c=this.pendingSubscriptions[s];return c?(delete this.pendingSubscriptions[s],c.reject(new ze)):this.logger.error("subscription not found",{type:r,identifier:s})}if(n)return{identifier:s,message:n};this.logger.warn(`unknown message type: ${r}`,{message:e})}reset(e){for(let r in this.pendingSubscriptions)this.pendingSubscriptions[r].reject(e);this.pendingSubscriptions={}}recoverableClosure(){return!1}}const zt=()=>Date.now()/1e3|0;class Js extends Mt{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=zt()),this.sessionId=void 0,this.sendPongs=e.pongs}reset(e){for(let r in this.pendingPresence)this.pendingPresence[r].reject(e);return this.pendingPresence={},super.reset()}receive(e){if(typeof e!="object"){this.logger.error("unsupported message format",{message:e});return}let{type:r,identifier:s,message:n}=e;if(r==="disconnect")return delete this.sessionId,this.cable.setSessionId(""),super.receive(e);if(r==="reject_subscription")return super.receive(e);if(r==="confirm_subscription")return this.subscriptionStreams[s]||(this.subscriptionStreams[s]=new Set),super.receive(e);if(r==="ping")return this.restoreSince&&(this.restoreSince=zt()),this.sendPongs&&this.sendPong(),this.cable.keepalive(e.message);if(this.cable.keepalive(),r==="confirm_history"){this.logger.debug("history result received",e),this.cable.notify("history_received",s);return}if(r==="reject_history"){this.logger.warn("failed to retrieve history",e),this.cable.notify("history_not_found",s);return}if(r==="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(r==="presence"){let o=n.type;if(o==="info"){let i=this.pendingPresence[s];i&&(delete this.pendingPresence[s],i.resolve(n))}else if(o==="error"){let i=this.pendingPresence[s];i&&(delete this.pendingPresence[s],i.reject(new Error("failed to retrieve presence")))}return{type:r,identifier:s,message:n}}if(n){let o=this.trackStreamPosition(s,e.stream_id,e.epoch,e.offset);return{identifier:s,message:n,meta:o}}this.logger.warn(`unknown message type: ${r}`,{message:e})}perform(e,r,s){switch(r){case"$presence:join":return this.join(e,s);case"$presence:leave":return this.leave(e,s);case"$presence:info":return this.presence(e,s)}return super.perform(e,r,s)}unsubscribe(e){return delete this.presenceInfo[e],super.unsubscribe(e)}buildSubscribeRequest(e){let r=super.buildSubscribeRequest(e),s=this.historyRequestFor(e);s&&(r.history=s,this.pendingHistory[e]=!0);let n=this.presenceInfo[e];return n&&(r.presence=n),r}recoverableClosure(){return!!this.sessionId}historyRequestFor(e){let r={},s=!1;if(this.subscriptionStreams[e])for(let n of this.subscriptionStreams[e]){let o=this.streamsPositions[n];o&&(s=!0,r[n]=o)}if(!(!s&&!this.restoreSince))return{since:this.restoreSince,streams:r}}trackStreamPosition(e,r,s,n){if(!(!r||!s))return this.subscriptionStreams[e]||(this.subscriptionStreams[e]=new Set),this.subscriptionStreams[e].add(r),this.streamsPositions[r]={epoch:s,offset:n},{stream:r,epoch:s,offset:n}}async sendPong(){await new Promise(e=>setTimeout(e,0)),this.cable.state==="connected"&&this.cable.send({command:"pong"})}async join(e,r){return this.presenceInfo[e]=r,this.cable.send({command:"join",identifier:e,presence:r}),Promise.resolve()}async leave(e,r){return delete this.presenceInfo[e],this.cable.send({command:"leave",identifier:e,presence:r}),Promise.resolve()}presence(e,r){return this.pendingPresence[e]?(this.logger.warn("presence is already pending, skipping",e),Promise.reject(Error("presence request is already pending"))):new Promise((s,n)=>{this.pendingPresence[e]={resolve:s,reject:n},this.cable.send({command:"presence",identifier:e,data:r})})}}class Ws extends ce{constructor(){super("No connection","closed"),this.name="NoConnectionError"}}class Je extends qt{constructor(e,r){super(r),this.channelId=e}set channelId(e){this._channelId=e}get channelId(){return this._channelId}}he(Je,"identifier","__ghost__");const Hs="$pubsub";class We extends qt{async perform(e,r){if(e.startsWith("$"))return super.perform(e,r);throw Error("not implemented")}}he(We,"identifier",Hs);const K=Symbol("state");let Vs=class{constructor({transport:t,protocol:e,encoder:r,logger:s,lazy:n,hubOptions:o,performFailures:i,transportConfigurator:c}){this.emitter=Ee(),this.transport=t,this.encoder=r,this.logger=s||new ae,this.protocol=e,this.performFailures=i||"throw",this.protocol.attached(this),this.hub=new Bs(o||{}),this[K]="idle",this.handleClose=this.handleClose.bind(this),this.handleIncoming=this.handleIncoming.bind(this),this.transportConfigurator=c,this.transport.on("close",this.handleClose),this.transport.on("data",this.handleIncoming),this.initialConnect=!0,this.recovering=!1,n===!1&&this.connect().catch(()=>{})}get state(){return this[K]}async connect(){if(this.state==="connected")return Promise.resolve();if(this.state==="connecting")return this.pendingConnect();let t=this.state==="idle";this[K]="connecting";let e=this.pendingConnect();this.logger.debug("connecting");try{this.transportConfigurator&&await this.transportConfigurator(this.transport,{initial:t}),await this.transport.open()}catch(r){this.handleClose(r)}return e}setSessionId(t){this.sessionId=t,this.transport.setParam("sid",t)}connected(){if(this.state==="connected")return;this.logger.info("connected"),this[K]="connected",this.recovering&&this.hub.subscriptions.all().forEach(e=>e.notify("disconnected",new U("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[K]="connected",this.hub.subscriptions.all().forEach(s=>{t&&s.remoteId&&t.includes(s.remoteId)?s.notify("restored"):(s.notify("disconnected",new U("recovery_failed")),this._resubscribe(s))});let e=!this.initialConnect,r=!0;this.recovering=!1,this.initialConnect=!1,this.emit("connect",{reconnect:e,restored:r})}notify(t,e,r){e&&typeof e!="string"&&(r=e,e=void 0),e?this.hub.notify(e,"info",{type:t,data:r}):this.emit("info",{type:t,data:r})}handleClose(t){this.logger.debug("transport closed",{error:t}),this.disconnected(new U(t,"transport_closed"))}disconnected(t){(this.state==="connected"||this.state==="connecting")&&(this.logger.info("disconnected",{reason:t}),this[K]="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 U?t:new U(t,void 0)),this.logger.info("closed",{reason:t||"user"}),this[K]="closed";let r=e||new U("cable_closed");this.hub.subscriptions.all().forEach(s=>s.notify("disconnected",r)),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 r=this.protocol.receive(e);if(r){this.logger.debug("processed incoming message",r);let{type:s,identifier:n,message:o,meta:i}=r;s?this.hub.notify(n,s,o):this.hub.transmit(n,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 We({stream_name:t});return this.subscribe(e)}streamFromSigned(t){let e=new We({signed_stream_name:t});return this.subscribe(e)}subscribeTo(t,e){let r,s;return typeof t=="string"&&(s=t,t=Je),r=s?new t(s,e):new t(e),this.subscribe(r)}subscribe(t){if(!t.attached(this))return t;let e=t.identifier;t.connecting();let r=this.hub.subscriptions.get(e)||this.hub.subscriptions.create(e,{subscribe:s=>this._subscribe(s,t.channelId,t.params),unsubscribe:s=>this._unsubscribe(s)});return r.add(t),r.intent==="subscribed"&&r.state==="connected"&&t.connected(),r.ensureSubscribed(),t}async _resubscribe(t){t.intent!=="subscribed"||!t.channels[0]||(t.notify("connecting"),t.ensureResubscribed())}async _subscribe(t,e,r){let s=t.id;if(this.state==="idle"&&this.connect().catch(()=>{}),this.state!=="connected"){this.logger.debug("cancel subscribe, no connection",{identifier:s});return}this.logger.debug("acquiring subscribe lock",{identifier:s});let n=await t.acquire("subscribed");if(n.canceled){this.logger.debug("subscribe lock has been canceled",{identifier:s}),n.release();return}if(this.logger.debug("subscribe lock has been acquired",{identifier:s}),t.intent!=="subscribed"){this.logger.debug("cancel subscribe request, already unsubscribed"),n.release();return}if(this.state!=="connected"){this.logger.debug("cancel subscribe, no connection",{identifier:s}),n.release();return}if(t.state==="connected"){this.logger.debug("already connected, skip subscribe command",{identifier:s}),t.notify("connected"),n.release();return}let o={identifier:e,params:r};this.logger.debug("subscribing",o);try{let i=await this.protocol.subscribe(e,r);this.hub.subscribe(s,i),this.logger.debug("subscribed",{...o,remoteId:i}),t.notify("connected")}catch(i){if(i){if(i instanceof ze&&this.logger.warn("rejected",o),i instanceof U){this.logger.debug("disconnected during subscription; will retry on connect",o),n.release();return}this.logger.error("failed to subscribe",{error:i,...o})}t.close(i),this.hub.unsubscribe(s)}n.release()}unsubscribe(t){let e=t.identifier,r=this.hub.subscriptions.get(e);if(!r)throw Error(`Subscription not found: ${e}`);r.remove(t),t.closed(),r.maybeUnsubscribe()}async _unsubscribe(t){let e=t.id;this.logger.debug("acquiring unsubscribe lock",{identifier:e});let r=await t.acquire("unsubscribed");if(r.canceled){this.logger.debug("unsubscribe lock has been canceled",{identifier:e}),r.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}),r.release();return}if(t.state==="disconnected"||t.state==="closed"){this.logger.debug(`already ${t.state} connected, skip unsubscribe command`,{identifier:e}),r.release();return}let s=t.remoteId;if(this.logger.debug("unsubscribing...",{remoteId:s}),this.state!=="connected"){this.logger.debug("unsubscribe skipped (cable is not connected)",{id:e}),t.close(),this.hub.unsubscribe(e),r.release();return}try{await this.protocol.unsubscribe(s),this.logger.debug("unsubscribed remotely",{id:e})}catch(n){n&&(n instanceof U?this.logger.debug("cable disconnected during the unsubscribe command execution",{id:e,error:n}):this.logger.error("unsubscribe failed",{id:e,error:n}))}t.intent==="unsubscribed"?(t.close(),this.hub.unsubscribe(e)):t.state="closed",r.release()}async perform(t,e,r){if(this.performFailures==="throw")return this._perform(t,e,r);try{return await this._perform(t,e,r)}catch(s){this.performFailures==="warn"&&this.logger.warn("perform failed",{error:s});return}}async _perform(t,e,r){if(this.state==="connecting"&&await this.pendingConnect(),this.state==="closed"||this.state==="disconnected")throw new Ws;let s=this.hub.subscriptions.get(t);if(!s)throw Error(`Subscription not found: ${t}`);if(await s.pending("subscribed"),s.intent!=="subscribed")throw Error(`Subscription is closed: ${t}`);let n=s.remoteId,o={id:n,action:e,payload:r};this.logger.debug("perform",o);try{let i=await this.protocol.perform(n,e,r);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 r=this.emitter.on(t,(...s)=>{r(),e(...s)});return r}emit(t,...e){return this.emitter.emit(t,...e)}pendingConnect(){return this._pendingConnect?this._pendingConnect:(this._pendingConnect=new Promise((t,e)=>{let r=[()=>delete this._pendingConnect];r.push(this.on("connect",()=>{r.forEach(s=>s()),t()})),r.push(this.on("close",s=>{r.forEach(n=>n()),e(s)})),r.push(this.on("disconnect",s=>{r.forEach(n=>n()),e(s)}))}),this._pendingConnect)}};const Ks={maxMissingPings:2,maxReconnectAttempts:1/0},Y=()=>Date.now(),Jt=(t,e)=>{e=e||{};let{backoffRate:r,jitterRatio:s,maxInterval:n}=e;return r=r||2,s===void 0&&(s=.5),o=>{let i=t*r**o,c=i*r,l=i+(c-i)*Math.random(),u=2*(Math.random()-.5)*s;return l=l*(1+u),n&&n<l&&(l=n),l}};let Wt=class{constructor({pingInterval:t,...e}){if(this.pingInterval=t,!this.pingInterval)throw Error(`Incorrect pingInterval is provided: ${t}`);if(e=Object.assign({},Ks,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 ae,this.state="pending_connect",this.attempts=0,this.disconnectedAt=Y()}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=Y(),this.state="connected",this.cancelReconnect(),this.startPolling()})),this.unbind.push(this.target.on("disconnect",()=>{this.disconnectedAt=Y(),this.state="disconnected",this.stopPolling(),this.scheduleReconnect()})),this.unbind.push(this.target.on("close",()=>{this.disconnectedAt=Y(),this.state="closed",this.cancelReconnect(),this.stopPolling()})),this.unbind.push(this.target.on("keepalive",()=>{this.pingedAt=Y()})),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=Y()-this.pingedAt;t>this.maxMissingPings*this.pingInterval&&(this.logger.warn(`Stale connection: ${t}ms without pings`),this.state="pending_disconnect",this.target.disconnected(new Ls))}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 Xs{constructor(e,r={}){this.transports=e,this.transport=null,this.emitter=Ee(),this.unbind=[],this.logger=r.logger||new ae}displayName(){return"fallbacked transport"}async open(){for(let e=0;e<this.transports.length;e++){let r=this.transports[e];try{this.transport=r,this.resetListeners(),this.logger.debug(`Trying to connect via ${r.displayName()}`),await r.open(),this.logger.debug(`Connected via ${r.displayName()}`);return}catch(s){this.logger.debug(`Failed to connect via ${r.displayName()}: ${s.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,r){this.transports.forEach(s=>{s.setParam(e,r)})}setToken(e,r){this.transports.forEach(s=>{s.setToken(e,r)})}on(e,r){return this.emitter.on(e,r)}once(e,r){let s=this.emitter.on(e,(...n)=>{s(),r(...n)});return s}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 Gs{constructor(e,r={}){this.url=e;let s=r.websocketImplementation;if(s)this.Impl=s;else if(typeof WebSocket<"u")this.Impl=WebSocket;else throw new Error("No WebSocket support");this.connected=!1,this.emitter=Ee();let{format:n,subprotocol:o,authStrategy:i}=r;this.format=n||"text",this.connectionOptions=r.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((r,s)=>{let n=[];n.push(this.once("open",()=>{n.forEach(o=>o()),r()})),n.push(this.once("close",()=>{n.forEach(o=>o()),s(Error("WS connection closed"))}))})}setURL(e){this.url=e}setParam(e,r){let s=new URL(this.url);s.searchParams.set(e,r);let n=`${s.protocol}//${s.host}${s.pathname}?${s.searchParams}`;this.setURL(n)}setToken(e,r="jid"){if(this.authStrategy==="param")this.setParam(r,e);else if(this.authStrategy==="header"){this.connectionOptions=this.connectionOptions||{},this.connectionOptions.headers=this.connectionOptions.headers||{};let s=`x-${r}`.toLowerCase();s=Object.keys(this.connectionOptions.headers).find(n=>n.toLowerCase()===s)||s,this.connectionOptions.headers[s]=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,r){return this.emitter.on(e,r)}once(e,r){let s=this.emitter.on(e,(...n)=>{s(),r(...n)});return s}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 r=e.data;this.format==="binary"&&(r=new Uint8Array(r)),this.emitter.emit("data",r)},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 Ht={protocol:"actioncable-v1-json",pingInterval:3e3,maxReconnectAttempts:1/0,maxMissingPings:2,logLevel:"warn",lazy:!0};function Zs(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({},Ht,e);let{protocol:r,websocketImplementation:s,websocketFormat:n,websocketOptions:o,websocketAuthStrategy:i,fallbacks:c,logLevel:l,logger:u,transport:h,encoder:g,lazy:m,monitor:f,pingInterval:p,reconnectStrategy:d,maxMissingPings:v,maxReconnectAttempts:x,subprotocol:w,tokenRefresher:R,historyTimestamp:T,protocolOptions:D,concurrentSubscribes:ee,performFailures:P,transportConfigurator:X,auth:L}=e;if(u=u||new ae(l),typeof r=="string"){w=w||r;let F=r.substring(0,r.lastIndexOf("-")),$=r.substring(r.lastIndexOf("-")+1);if(D=D||{},F==="actioncable-v1")r=new Mt({logger:u,...D});else if(F==="actioncable-v1-ext")r=new Js({logger:u,historyTimestamp:T,...D});else throw Error(`Protocol is not supported yet: ${r}`);if($==="json")g=g||new Ms,n=n||"text";else if($==="msgpack"){if(n="binary",!g)throw Error("Msgpack encoder must be specified explicitly. Use `@anycable/msgpack-encoder` package or build your own")}else if($==="protobuf"){if(n=n||"binary",!g)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: ${r}`)}if(!r)throw Error("Protocol must be specified");h=h||new Gs(t,{websocketImplementation:s,websocketOptions:o,subprotocol:w,authStrategy:i,format:n}),c&&(h=new Xs([h,...c],{logger:u})),L&&L.token&&h.setToken(L.token,L.param||"jid"),d=d||Jt(p),f!==!1&&(f=f||new Wt({pingInterval:p,reconnectStrategy:d,maxMissingPings:v,maxReconnectAttempts:x,logger:u}));let te={concurrentSubscribes:ee},B=new Vs({protocol:r,transport:h,encoder:g,logger:u,lazy:m,hubOptions:te,performFailures:P,transportConfigurator:X});return f&&(f.watch(B),B.monitor=f),R&&Qs(B,async()=>{try{await R(h)}catch(F){return u.error("Failed to refresh authentication token: "+F),!1}return B.connect().catch(()=>{}),!0}),B}function Qs(t,e){let r=!1;t.on("connect",()=>r=!1),t.on("close",async s=>{if(s){if(r){t.logger.warn("Token auto-refresh is disabled",s);return}s.reason==="token_expired"&&(r=!0,await e())}})}class Ys{constructor(e){this.channel=e}notify(e,...r){typeof this[e]=="function"&&this[e](...r)}perform(e,r={}){this.channel.perform(e,r)}send(e){this.channel.send(e)}get identifier(){return this.channel.identifier}unsubscribe(){return this.channel.disconnect()}}class en extends Je{constructor(e,r,s){super(e,r),this.subscription=new Ys(this),Object.assign(this.subscription,s),this.on("connect",({reconnect:n})=>this.subscription.notify("connected",{reconnected:n})),this.on("disconnect",()=>this.subscription.notify("disconnected",{allowReconnect:!0})),this.on("message",n=>this.subscription.notify("received",n)),this.on("close",n=>{n&&n instanceof ze?this.subscription.notify("rejected"):this.subscription.notify("disconnected",{allowReconnect:!1})})}}class tn{constructor(e){this.cable=e}create(e,r){let s,n;typeof e=="object"?(s=e.channel,delete e.channel,n=e):(s=e,n={});let o=new en(s,n,r);return o.subscription.notify("initialized"),this.cable.subscribe(o),o.subscription}findAll(e){return this.cable.hub.channels.filter(r=>r.identifier===e).map(r=>r.subscription)}}class rn{constructor(e){this.cable=e,this.subscriptions=new tn(e)}}class sn extends Bt{writeLogEntry(e,r,s){s?console[e](r,s):console[e](r)}}class nn extends Wt{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")},r=n=>{this.reconnectNow()&&this.logger.debug("Trigger reconnect",{event:n})},s=()=>this.disconnect(new U("page_frozen"));document.addEventListener("visibilitychange",e,!1),window.addEventListener("focus",r,!1),window.addEventListener("online",r,!1),window.addEventListener("resume",r,!1),window.addEventListener("freeze",s,!1),this.unbind.push(()=>{document.removeEventListener("visibilitychange",e,!1),window.removeEventListener("focus",r,!1),window.removeEventListener("online",r,!1),window.removeEventListener("resume",r,!1),window.removeEventListener("freeze",s,!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 on=["cable","action-cable"],cn="/cable",xe=(t,e)=>{for(let r of on){let s=t.head.querySelector(`meta[name='${r}-${e}']`);if(s)return s.getAttribute("content")}},Vt=t=>t.match(/wss?:\/\//)?t:typeof window<"u"?`${window.location.protocol.replace("http","ws")}//${window.location.host}${t}`:t,an=()=>{if(typeof document<"u"&&document.head){let t=xe(document,"url");if(t)return Vt(t)}return Vt(cn)},ln=()=>{if(typeof document<"u"&&document.head){let t=xe(document,"history-timestamp");if(t)return t|0}},un=()=>{if(typeof document<"u"&&document.head)return xe(document,"token")},hn=()=>{if(typeof document<"u"&&document.head)return xe(document,"token-param")};function dn(t,e){typeof t=="object"&&typeof e>"u"&&(e=t,t=void 0),t=t||an(),e=e||{},e.historyTimestamp||(e.historyTimestamp=ln());let r=un();if(r){let u=hn();e.auth=Object.assign({token:r,param:u},e.auth||{})}e=Object.assign({},Ht,e);let{logLevel:s,logger:n,pingInterval:o,reconnectStrategy:i,maxMissingPings:c,maxReconnectAttempts:l}=e;return n=e.logger=e.logger||new sn(s),i=e.reconnectStrategy=e.reconnectStrategy||Jt(o),e.monitor!==!1&&(e.monitor=e.monitor||new nn({pingInterval:o,reconnectStrategy:i,maxMissingPings:c,maxReconnectAttempts:l,logger:n})),Zs(t,e)}function fn(t,e){let r=dn(t,e);return new rn(r)}class pn{constructor(e="/openc3-api/cable"){this._cable=null,this._url=e}disconnect(){this._cable&&(this._cable.cable.disconnect(),this._cable=null)}createSubscription(e,r,s={},n={}){return OpenC3Auth.updateToken(OpenC3Auth.defaultMinValidity).then(o=>{if(o&&OpenC3Auth.setTokens(),this._cable==null){let i=this._url+"?scope="+encodeURIComponent(r)+"&authorization="+encodeURIComponent(localStorage.openc3Token);i=new URL(i,document.baseURI).href,this._cable=fn(i)}return this._cable.subscriptions.create({channel:e,...n},s)})}recordPing(){}}Te("g",pn);function le(t){return gn.test(t)}const gn=/^-?[0-9]+$/;function Kt(t){return mn.test(t)}const mn=/^-?(?:0|[1-9]\d*)(?:\.\d+)?(?:[eE][+-]?\d+)?$/;function Xt(t,e){if(le(t))return Number.isSafeInteger(Number.parseInt(t,10));const r=Number.parseFloat(t),s=String(r);if(t===s)return!0;const n=Gt(t),o=Gt(s);return!!(n===o||(e==null?void 0:e.approx)===!0&&!le(t)&&o.length>=14&&n.startsWith(o.substring(0,14)))}let ue=function(t){return t.underflow="underflow",t.overflow="overflow",t.truncate_integer="truncate_integer",t.truncate_float="truncate_float",t}({});function bn(t){if(Xt(t,{approx:!1}))return;if(le(t))return ue.truncate_integer;const e=Number.parseFloat(t);return Number.isFinite(e)?e===0?ue.underflow:ue.truncate_float:ue.overflow}function Gt(t){const{start:e,end:r}=_n(t),s=t.substring(e,r),n=s.indexOf(".");return n===-1?s:s.substring(0,n)+s.substring(n+1)}function _n(t){let e=0;for(t[0]==="-"&&e++;t[e]==="0"||t[e]===".";)e++;let r=t.lastIndexOf("e");for(r===-1&&(r=t.lastIndexOf("E")),r===-1&&(r=t.length);(t[r-1]==="0"||t[r-1]===".")&&r>e;)r--;return{start:e,end:r}}class yn{constructor(e){if(he(this,"isLosslessNumber",!0),!Kt(e))throw new Error(`Invalid number (value: "${e}")`);this.value=e}valueOf(){const e=bn(this.value);if(e===void 0||e===ue.truncate_float)return Number.parseFloat(this.value);if(le(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 wn(t){return t&&typeof t=="object"&&t.isLosslessNumber||!1}function vn(t){return new yn(t)}function Sn(t,e){return He({"":t},"",t,e)}function He(t,e,r,s){return Array.isArray(r)?s.call(t,e,xn(r,s)):r&&typeof r=="object"&&!wn(r)?s.call(t,e,En(r,s)):s.call(t,e,r)}function En(t,e){for(const r of Object.keys(t)){const s=He(t,r,t[r],e);s!==void 0?t[r]=s:delete t[r]}return t}function xn(t,e){for(let r=0;r<t.length;r++)t[r]=He(t,String(r),t[r],e);return t}function On(t,e,r){const s=typeof r=="function"?{parseNumber:r}:r,n=(s==null?void 0:s.parseNumber)??vn,o=(s==null?void 0:s.onDuplicateKey)??P;let i=0;const c=h();return x(c),R(),e?Sn(c,e):c;function l(){if(t.charCodeAt(i)===jn){i++,m();const b={};let y=!0;for(;i<t.length&&t.charCodeAt(i)!==Qt;){y?y=!1:(d(),m());const I=i,M=f();if(M===void 0){ee();return}m(),v();const j=h();if(j===void 0){F();return}if(Object.prototype.hasOwnProperty.call(b,M)&&!Ve(j,b[M])){const z=o({key:M,position:I+1,oldValue:b[M],newValue:j});z!==void 0&&(b[M]=z)}else b[M]=j}return t.charCodeAt(i)!==Qt&&X(),i++,b}}function u(){if(t.charCodeAt(i)===Pn){i++,m();const b=[];let y=!0;for(;i<t.length&&t.charCodeAt(i)!==Yt;){y?y=!1:d();const I=h();w(I),b.push(I)}return t.charCodeAt(i)!==Yt&&L(),i++,b}}function h(){m();const b=f()??p()??l()??u()??g("true",!0)??g("false",!1)??g("null",null);return m(),b}function g(b,y){if(t.slice(i,i+b.length)===b)return i+=b.length,y}function m(){for(;Rn(t.charCodeAt(i));)i++}function f(){if(t.charCodeAt(i)===Ke){i++;let b="";for(;i<t.length&&t.charCodeAt(i)!==Ke;){if(t.charCodeAt(i)===kn){const y=t[i+1],I=Tn[y];I!==void 0?(b+=I,i++):y==="u"?Oe(t.charCodeAt(i+2))&&Oe(t.charCodeAt(i+3))&&Oe(t.charCodeAt(i+4))&&Oe(t.charCodeAt(i+5))?(b+=String.fromCharCode(Number.parseInt(t.slice(i+2,i+6),16)),i+=5):$(i):B(i)}else Cn(t.charCodeAt(i))?b+=t[i]:te(t[i]);i++}return D(),i++,b}}function p(){const b=i;if(t.charCodeAt(i)===er&&(i++,T(b)),t.charCodeAt(i)===Xe)i++;else if(An(t.charCodeAt(i)))for(i++;Re(t.charCodeAt(i));)i++;if(t.charCodeAt(i)===Dn)for(i++,T(b);Re(t.charCodeAt(i));)i++;if(t.charCodeAt(i)===Wn||t.charCodeAt(i)===Jn)for(i++,(t.charCodeAt(i)===er||t.charCodeAt(i)===Fn)&&i++,T(b);Re(t.charCodeAt(i));)i++;if(i>b)return n(t.slice(b,i))}function d(){if(t.charCodeAt(i)!==qn)throw new SyntaxError(`Comma ',' expected after value ${E()}`);i++}function v(){if(t.charCodeAt(i)!==Bn)throw new SyntaxError(`Colon ':' expected after property name ${E()}`);i++}function x(b){if(b===void 0)throw new SyntaxError(`JSON value expected ${E()}`)}function w(b){if(b===void 0)throw new SyntaxError(`Array item expected ${E()}`)}function R(){if(i<t.length)throw new SyntaxError(`Expected end of input ${E()}`)}function T(b){if(!Re(t.charCodeAt(i))){const y=t.slice(b,i);throw new SyntaxError(`Invalid number '${y}', expecting a digit ${E()}`)}}function D(){if(t.charCodeAt(i)!==Ke)throw new SyntaxError(`End of string '"' expected ${E()}`)}function ee(){throw new SyntaxError(`Quoted object key expected ${E()}`)}function P(b){let{key:y,position:I}=b;throw new SyntaxError(`Duplicate key '${y}' encountered at position ${I}`)}function X(){throw new SyntaxError(`Quoted object key or end of object '}' expected ${E()}`)}function L(){throw new SyntaxError(`Array item or end of array ']' expected ${E()}`)}function te(b){throw new SyntaxError(`Invalid character '${b}' ${k()}`)}function B(b){const y=t.slice(b,b+2);throw new SyntaxError(`Invalid escape character '${y}' ${k()}`)}function F(){throw new SyntaxError(`Object value expected after ':' ${k()}`)}function $(b){const y=t.slice(b,b+6);throw new SyntaxError(`Invalid unicode character '${y}' ${k()}`)}function k(){return`at position ${i}`}function Ae(){return i<t.length?`but got '${t[i]}'`:"but reached end of input"}function E(){return`${Ae()} ${k()}`}}function Rn(t){return t===In||t===Nn||t===Un||t===Ln}function Oe(t){return t>=Xe&&t<=Ge||t>=Mn&&t<=Hn||t>=zn&&t<=Vn}function Re(t){return t>=Xe&&t<=Ge}function An(t){return t>=$n&&t<=Ge}function Cn(t){return t>=32&&t<=1114111}function Ve(t,e){return t===e?!0:Array.isArray(t)&&Array.isArray(e)?t.length===e.length&&t.every((r,s)=>Ve(r,e[s])):Zt(t)&&Zt(e)?[...new Set([...Object.keys(t),...Object.keys(e)])].every(r=>Ve(t[r],e[r])):!1}function Zt(t){return typeof t=="object"&&t!==null}const Tn={'"':'"',"\\":"\\","/":"/",b:"\b",f:"\f",n:`
7
+ `,r:"\r",t:" "},kn=92,jn=123,Qt=125,Pn=91,Yt=93,In=32,Nn=10,Un=9,Ln=13,Ke=34,Fn=43,er=45,Xe=48,$n=49,Ge=57,qn=44,Dn=46,Bn=58,Mn=65,zn=97,Jn=69,Wn=101,Hn=70,Vn=102;function tr(t,e,r,s){return n(t);function n(l,u){if(Array.isArray(s)){const h=s.find(g=>g.test(l));if(h){const g=h.stringify(l);if(typeof g!="string"||!Kt(g))throw new Error(`Invalid JSON number: output of a number stringifier must be a string containing a JSON number (output: ${g})`);return g}}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 h="[";for(let g=0;g<l.length;g++){const m=l[g];typeof m<"u"&&typeof m!="function"?h+=n(m):h+="null",g<l.length-1&&(h+=",")}return h+="]",h}function i(l,u){if(typeof l.toJSON=="function")return tr(l.toJSON(),e,r,void 0);const h=Array.isArray(e)?e.map(String):Object.keys(l);if(h.length===0)return"{}";let g=!0,m="{";for(const f of h){const p=l[f];if(c(f,p)){g?g=!1:m+=",";const d=JSON.stringify(f);m+=`${d}:`,m+=n(p)}}return m+="}",m}function c(l,u){return typeof u<"u"&&typeof u!="function"&&typeof u!="symbol"}}function Kn(t){return le(t)&&!Xt(t)?BigInt(t):parseFloat(t)}class Xn{constructor(){he(this,"id",1)}async exec(e,r,s={},n={},o=6e4){try{await OpenC3Auth.updateToken(OpenC3Auth.defaultMinValidity)&&OpenC3Auth.setTokens()}catch{OpenC3Auth.login()}this.id=this.id+1;try{return s.scope=window.openc3Scope,n.manual=!0,(await Be.post("/openc3-api/api",{jsonrpc:"2.0",method:e,params:r,id:this.id,keyword_params:s},{headers:{Authorization:localStorage.openc3Token,"Content-Type":"application/json-rpc",...n},timeout:o,transformRequest:[(i,c)=>tr(i)],transformResponse:[i=>On(i,void 0,Kn)]})).data.result}catch(i){let c=new Error;throw i.response?(c.name=i.response.data.error.data.class,c.message=i.response.data.error.data.message,c.object=i.response.data.error):i.request?(c.name="Request error",c.message="Request error, no response received"):c=i,c}}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,r,s,n,o){return this.exec("map_target_to_interface",[e,r],{cmd_only:s,tlm_only:n,unmap_old:o})}unmap_target_from_interface(e,r,s,n){return this.exec("unmap_target_from_interface",[e,r],{cmd_only:s,tlm_only:n})}connect_interface(e,...r){return r.length>0?this.exec("connect_interface",[e,...r]):this.exec("connect_interface",[e])}disconnect_interface(e){return this.exec("disconnect_interface",[e])}interface_cmd(e,r,...s){return this.exec("interface_cmd",[e,r,...s])}interface_target_enable(e,r,s=!1,n=!1){return this.exec("interface_target_enable",[e,r],{cmd_only:s,tlm_only:n})}interface_target_disable(e,r,s=!1,n=!1){return this.exec("interface_target_disable",[e,r],{cmd_only:s,tlm_only:n})}interface_details(e){return this.exec("interface_details",[e])}get_all_router_info(){return this.exec("get_all_router_info",[])}map_target_to_router(e,r,s,n,o){return this.exec("map_target_to_router",[e,r],{cmd_only:s,tlm_only:n,unmap_old:o})}unmap_target_from_router(e,r,s,n){return this.exec("unmap_target_from_router",[e,r],{cmd_only:s,tlm_only:n})}connect_router(e){return this.exec("connect_router",[e])}disconnect_router(e){return this.exec("disconnect_router",[e])}router_target_enable(e,r,s=!1,n=!1){return this.exec("router_target_enable",[e,r],{cmd_only:s,tlm_only:n})}router_target_disable(e,r,s=!1,n=!1){return this.exec("router_target_disable",[e,r],{cmd_only:s,tlm_only:n})}router_details(e){return this.exec("router_details",[e])}get_target_interfaces(){return this.exec("get_target_interfaces",[])}get_tlm_cnts(e){return this.exec("get_tlm_cnts",[e])}get_item(e,r,s){return this.exec("get_item",[e,r,s])}get_param(e,r,s){return this.exec("get_param",[e,r,s])}get_parameter(e,r,s){return this.exec("get_param",[e,r,s])}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,r){return this.exec("get_tlm",[e,r])}get_telemetry(e,r){return this.exec("get_tlm",[e,r])}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,r=!1){return this.exec("get_all_tlm_names",[e],{hidden:r})}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,r,s,n=30){const o=await this.exec("get_tlm_packet",[e,r],{type:s,stale_time:n});if(o!=null){let i=o.length,c=null;for(let l=0;l<i;l++)c=this.decode_openc3_type(o[l][1]),c!==null&&(o[l][1]=c)}return o}get_packet_derived_items(e,r){return this.exec("get_packet_derived_items",[e,r])}get_tlm_buffer(e,r){return this.exec("get_tlm_buffer",[e,r])}get_tlm_available(e){return this.exec("get_tlm_available",[e])}async get_tlm_values(e,r=30,s=null,n=null,o=null){let i={stale_time:r};s!==null&&(i.cache_timeout=s),n!==null&&(i.start_time=n.toISOString()),o!==null&&(i.end_time=o.toISOString());const c=await this.exec("get_tlm_values",[e],i,{},1e4);if(c&&c.length>0){let l=c[0].length,u=null;for(let h=0;h<l;h++)u=this.decode_openc3_type(c[0][h]),u!==null&&(c[0][h]=u)}return c}get_limits(e,r,s){return this.exec("get_limits",[e,r,s])}async tlm(e,r,s,n="CONVERTED"){let o=null;if(r===void 0)o=await this.exec("tlm",[e]);else if(s===void 0)if(["RAW","CONVERTED","FORMATTED","WITH_UNITS"].includes(r))o=await this.exec("tlm",[e],{type:r});else{let c=new Error;throw c.name="TypeError",c.message=`Invalid data type ${r}. Valid options are RAW, CONVERTED, FORMATTED, and WITH_UNITS.`,c}else o=await this.exec("tlm",[e,r,s],{type:n});let i=this.decode_openc3_type(o);return i!==null&&(o=i),o}async inject_tlm(e,r,s=null,n="CONVERTED"){await this.exec("inject_tlm",[e,r,s],{type:n})}set_tlm(e,r,s,n){return this.exec("set_tlm",[e,r,s],{type:n})}override_tlm(e,r,s,n){return this.exec("override_tlm",[e,r,s],{type:n})}get_overrides(){return this.exec("get_overrides")}normalize_tlm(e,r,s,n){return this.exec("normalize_tlm",[e,r,s],{type:n})}get_all_cmds(e){return this.exec("get_all_cmds",[e])}get_all_commands(e){return this.exec("get_all_cmds",[e])}get_all_cmd_names(e,r=!1){return this.exec("get_all_cmd_names",[e],{hidden:r})}get_all_command_names(e){return this.exec("get_all_cmd_names",[e])}get_cmd(e,r){return this.exec("get_cmd",[e,r])}get_command(e,r){return this.exec("get_cmd",[e,r])}get_cmd_cnts(e){return this.exec("get_cmd_cnts",[e])}get_cmd_value(e,r,s,n="CONVERTED"){return this.exec("get_cmd_value",[e,r,s,n])}get_cmd_buffer(e,r){return this.exec("get_cmd_buffer",[e,r])}_cmd(e,r,s,n,o,i={}){let c=null;for(let l in n)Object.prototype.hasOwnProperty.call(n,l)&&(c=this.encode_openc3_type(n[l]),c!==null&&(n[l]=c));return this.exec(e,[r,s,n],i,o)}get_cmd_hazardous(e,r,s,n={}){return r===void 0?this.exec("get_cmd_hazardous",e,{},n):this._cmd("get_cmd_hazardous",e,r,s,n)}cmd(e,r,s,n={},o={}){return r===void 0?this.exec("cmd",e,o,n):this._cmd("cmd",e,r,s,n,o)}cmd_no_range_check(e,r,s,n={},o={}){return r===void 0?this.exec("cmd_no_range_check",e,o,n):this._cmd("cmd_no_range_check",e,r,s,n,o)}cmd_raw(e,r,s,n={},o={}){return r===void 0?this.exec("cmd_raw",e,o,n):this._cmd("cmd_raw",e,r,s,n,o)}cmd_raw_no_range_check(e,r,s,n={},o={}){return r===void 0?this.exec("cmd_raw_no_range_check",e,o,n):this._cmd("cmd_raw_no_range_check",e,r,s,n,o)}cmd_no_hazardous_check(e,r,s,n={},o={}){return r===void 0?this.exec("cmd_no_hazardous_check",e,o,n):this._cmd("cmd_no_hazardous_check",e,r,s,n,o)}cmd_no_checks(e,r,s,n={},o={}){return r===void 0?this.exec("cmd_no_checks",e,o,n):this._cmd("cmd_no_checks",e,r,s,n,o)}cmd_raw_no_hazardous_check(e,r,s,n={},o={}){return r===void 0?this.exec("cmd_raw_no_hazardous_check",e,o,n):this._cmd("cmd_raw_no_hazardous_check",e,r,s,n,o)}cmd_raw_no_checks(e,r,s,n={},o={}){return r===void 0?this.exec("cmd_raw_no_checks",e,o,n):this._cmd("cmd_raw_no_checks",e,r,s,n,o)}build_cmd(e,r,s,n={},o={}){return r===void 0?this.exec("build_cmd",e,o,n):this._cmd("build_cmd",e,r,s,n,o)}build_command(e,r,s,n={},o={}){return r===void 0?this.exec("build_cmd",e,o,n):this._cmd("build_cmd",e,r,s,n,o)}get_interface_names(){return this.exec("get_interface_names",[])}get_router_names(){return this.exec("get_router_names",[])}send_raw(e,r){return this.exec("send_raw",[e,r])}list_configs(e){return this.exec("list_configs",[e])}load_config(e,r){return this.exec("load_config",[e,r])}save_config(e,r,s){return this.exec("save_config",[e,r,s])}delete_config(e,r){return this.exec("delete_config",[e,r])}enable_limits(e,r,s){return this.exec("enable_limits",[e,r,s])}disable_limits(e,r,s){return this.exec("disable_limits",[e,r,s])}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,r){return this.exec("get_setting",[e],r)}get_settings(e,r){return this.exec("get_settings",e,r)}set_setting(e,r){return this.exec("set_setting",[e,r])}update_news(){return this.exec("update_news",[])}update_plugin_store(){return this.exec("update_plugin_store",[])}save_setting(e,r){return this.exec("set_setting",[e,r])}get_metrics(){return this.exec("get_metrics",[])}async hashString(e){if(window.isSecureContext){const r=new TextEncoder().encode(e),s=await crypto.subtle.digest("SHA-256",r),n=new Uint8Array(s);return Array.from(n).map(o=>o.toString(16).padStart(2,"0")).join("")}}}Te("y",Xn)}}});
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: openc3-cosmos-tool-cmdtlmserver
3
3
  version: !ruby/object:Gem::Version
4
- version: 6.9.1
4
+ version: 6.9.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ryan Melton
@@ -22,86 +22,86 @@ files:
22
22
  - README.md
23
23
  - Rakefile
24
24
  - plugin.txt
25
- - tools/cmdtlmserver/ArrayWidget-DLfNWDzN-668cf74ee813dc5f8b4e.js
26
- - tools/cmdtlmserver/ArrayplotWidget-CoRsUxHG-cf7fff88417fb2243c3d.js
27
- - tools/cmdtlmserver/BarColumn-DHP-zQ4R-8f7de54e6fbaa25e4ec4.js
28
- - tools/cmdtlmserver/BlockWidget-BmHSFvOq-7972fe8dc7ee035e8bc5.js
29
- - tools/cmdtlmserver/ButtonWidget-C3ZWRjZZ-d4f10adaa4d980be147b.js
30
- - tools/cmdtlmserver/CanvasWidget-CL-XzPF4-5cb52c70d0a7623af62d.js
31
- - tools/cmdtlmserver/CanvasdotWidget-D8Y9DgVE-d4ce1b672cfd13141a61.js
32
- - tools/cmdtlmserver/CanvasimageWidget-DHSGK_tD-b0b463aa2a7854867228.js
33
- - tools/cmdtlmserver/CanvasimagevalueWidget-Btt_fQfC-9bad1ce95b773296304d.js
34
- - tools/cmdtlmserver/CanvaslabelWidget-BF_8RTjv-cc491567aedeb0a05962.js
35
- - tools/cmdtlmserver/CanvaslabelvalueWidget-scbwaujI-921ddd08e78e6a07a01e.js
36
- - tools/cmdtlmserver/CanvaslineWidget-gRvm_-TT-3f553128be52acccf4b4.js
37
- - tools/cmdtlmserver/CanvaslinevalueWidget-CljziRek-55c5928bcdef9cd5c3e1.js
38
- - tools/cmdtlmserver/CheckbuttonWidget-BOabI_jE-7719358d066394c0e656.js
39
- - tools/cmdtlmserver/CmdPacketsTab-2fc1a07bfa4480ac1f08.js
40
- - tools/cmdtlmserver/CmdTlmServer-8583a13b294ed4f3cb46.js
41
- - tools/cmdtlmserver/ComboboxWidget-BLXNYFiY-13a3fa2f54e442f31472.js
42
- - tools/cmdtlmserver/DataFlowsTab-d5417860ccc3925137e9.js
43
- - tools/cmdtlmserver/DateWidget-BTqLCtLS-8daf3620df3f82d93460.js
44
- - tools/cmdtlmserver/DetailsDialog-BNCS3QAe-321aef533102379472dd.js
45
- - tools/cmdtlmserver/DynamicWidget-CfMtj7H8-c6963e567e7e1f83eb47.js
46
- - tools/cmdtlmserver/FormatvalueWidget-CLYx8qbg-a8b84f8338259639bf3e.js
47
- - tools/cmdtlmserver/Graph-BliBYJxD-4840ff23f489551cb5c6.js
48
- - tools/cmdtlmserver/GraphWidget-Cb6Ozf54-9a6662f6a20837d0632e.js
49
- - tools/cmdtlmserver/HorizontalWidget-AY2M01qP-2edc328bb61ab1d8c352.js
50
- - tools/cmdtlmserver/HorizontalboxWidget-2MEKvq_C-5f3d5a6c63938edc7e25.js
51
- - tools/cmdtlmserver/HorizontallineWidget-DgpOPA7q-4d2f373e68599c0b3c9a.js
52
- - tools/cmdtlmserver/IframeWidget-UKKUl7k5-d952d6f2121f46bd5cd1.js
53
- - tools/cmdtlmserver/ImageLoader-C-CIL4YD-5c9f041325968056ecee.js
54
- - tools/cmdtlmserver/ImageviewerWidget-DhuQH5Io-3ffa4eba2d5ec7fab561.js
55
- - tools/cmdtlmserver/InterfaceFlowChart-cf8e7ac29846b6274daf.js
56
- - tools/cmdtlmserver/InterfacesTab-c4826fb489e9ede4a629.js
57
- - tools/cmdtlmserver/LabelWidget-SO9zqcNN-ad11c9cf1f60a49a2e18.js
58
- - tools/cmdtlmserver/LabelledWidget-DWoM5AJ5-5be5b0fc4b1d554cd2c9.js
59
- - tools/cmdtlmserver/LabelprogressbarWidget-D3vnkvQZ-ecdff8119d3acede9267.js
60
- - tools/cmdtlmserver/LabelsparklineWidget-DO0T-Jot-1037dec1f749b07920ed.js
61
- - tools/cmdtlmserver/LabelvalueWidget-B6BbNFnk-841a2d1e10f7ed6c758b.js
62
- - tools/cmdtlmserver/LabelvaluedescWidget-CxfL-H9C-8070d7b77c88031486ce.js
63
- - tools/cmdtlmserver/LabelvaluelimitsbarWidget-BT5k9mHv-5ae949fa461b8d83a90b.js
64
- - tools/cmdtlmserver/LabelvaluelimitscolumnWidget-DUbmxh4p-83f93e14d0e7f5d6567d.js
65
- - tools/cmdtlmserver/LabelvaluerangebarWidget-DexAc2UB-93c700592d4adb69c24f.js
66
- - tools/cmdtlmserver/Layout-Dd6dRf3R-5d9525589ebd67d04af3.js
67
- - tools/cmdtlmserver/LedWidget-D1RwHb_V-e70a453d62de53fc4cc4.js
68
- - tools/cmdtlmserver/LimitsbarWidget-ClOmoV50-32e4687296483925ef45.js
69
- - tools/cmdtlmserver/LimitscolorWidget-CBUoEYKp-2eda2f669a46488e8a70.js
70
- - tools/cmdtlmserver/LimitscolumnWidget-hsHkmY-_-dfe985da8cb1e4fb8f44.js
71
- - tools/cmdtlmserver/LinegraphWidget-CXrKtxOo-b32b5ac365e8b55b70b1.js
72
- - tools/cmdtlmserver/MatrixbycolumnsWidget-CsogVU9c-10fd32777925d9442a96.js
73
- - tools/cmdtlmserver/ProgressbarWidget-CO6CEkxP-c039479ecf62eded7ca5.js
74
- - tools/cmdtlmserver/RadiobuttonWidget-DrxUclws-bf048676c97fbc5f15f9.js
75
- - tools/cmdtlmserver/RadiogroupWidget-DN9C38cg-d3e6f1038a6500acab63.js
76
- - tools/cmdtlmserver/RangebarWidget-5uQTfLMP-fbf20be901d74457c1e3.js
77
- - tools/cmdtlmserver/RawBuffer-297eb45db5fd466515cf.js
78
- - tools/cmdtlmserver/RawDialog-4bd995f9b817bead62bc.js
79
- - tools/cmdtlmserver/RollupWidget-B0DCULnu-c1c8709da1baf6ebd6ee.js
80
- - tools/cmdtlmserver/RoutersTab-5b98f50d4e2f63f9dd35.js
81
- - tools/cmdtlmserver/ScrollwindowWidget-BOkZQgtf-e6cc33bc849eb8d7bd65.js
82
- - tools/cmdtlmserver/SignalWidget-Cis0Xkea-d93e29d8a24c7fa83262.js
83
- - tools/cmdtlmserver/SpacerWidget-CLcqC2Qk-5a2784ed86deeb186b04.js
84
- - tools/cmdtlmserver/SparklineWidget-CTp83eZ--d8923fe24ad5454672ea.js
85
- - tools/cmdtlmserver/StatusTab-f0d97741c9b81165be4d.js
86
- - tools/cmdtlmserver/TabbookWidget-uucd-zsX-9ca00b138ad0410a395d.js
87
- - tools/cmdtlmserver/TargetsTab-e73932f8e410c019a7fb.js
88
- - tools/cmdtlmserver/TextboxWidget-C2n38ti5-c9817307d1c09190a5a7.js
89
- - tools/cmdtlmserver/TextfieldWidget--HTv9ddk-68f02460d9d011823773.js
90
- - tools/cmdtlmserver/TimeWidget-CPNVZaUM-5c584984fa282cb34f7d.js
91
- - tools/cmdtlmserver/TitleWidget-Cp0cb6V8-f81d2e0d0b8018f28841.js
92
- - tools/cmdtlmserver/TlmPacketsTab-e3cc489a1a75be3ad163.js
93
- - tools/cmdtlmserver/Updater-837ca86e536f4a3bdfa3.js
94
- - tools/cmdtlmserver/VWidget-DQGJRgAk-5116c4895c75eb64bc95.js
95
- - tools/cmdtlmserver/ValueWidget-Bk1RFjks-bafe9d75ed0ad230977c.js
96
- - tools/cmdtlmserver/ValuelimitsbarWidget-C0HIBYh2-f90d82733623ccfbbb25.js
97
- - tools/cmdtlmserver/ValuelimitscolumnWidget-BTT90uyX-9f2d92c01237bf9eac93.js
98
- - tools/cmdtlmserver/ValuerangebarWidget-CcQw_XK9-cf89ccb88ad449e8cbae.js
99
- - tools/cmdtlmserver/VerticalWidget-CNtFQv3R-f4938160b8ca4f6f8e29.js
100
- - tools/cmdtlmserver/VerticalboxWidget-Yxmz1SnU-e3f9ebb22e5e4d61a3ad.js
101
- - tools/cmdtlmserver/Widget-LsyjS7ZS-cdba91229220d626542a.js
102
- - tools/cmdtlmserver/main-65cfe3c3762daf491069.js
25
+ - tools/cmdtlmserver/ArrayWidget-C59wpWWk-5c23b659d87f2c68f1f8.js
26
+ - tools/cmdtlmserver/ArrayplotWidget-tKqIV461-69b93fbe6c96b6fc74c8.js
27
+ - tools/cmdtlmserver/BarColumn-CUO9ur6W-a3cf13ae72d2bcaca048.js
28
+ - tools/cmdtlmserver/BlockWidget-BdlMR_1A-72f9faa443712ec20192.js
29
+ - tools/cmdtlmserver/ButtonWidget-C2JVmh3p-8182fd293966fb57b545.js
30
+ - tools/cmdtlmserver/CanvasWidget-BRbdw1fu-e883370954a0f3c628b6.js
31
+ - tools/cmdtlmserver/CanvasdotWidget-C8T_w03p-9abf39f00eddceb492b2.js
32
+ - tools/cmdtlmserver/CanvasimageWidget-C1w2vSsG-90c81cd3ab87a8825002.js
33
+ - tools/cmdtlmserver/CanvasimagevalueWidget-BMv2SmEq-d6d92e343a2a6105fd90.js
34
+ - tools/cmdtlmserver/CanvaslabelWidget-LEBZQ3DR-fb14e176d00f00150d8e.js
35
+ - tools/cmdtlmserver/CanvaslabelvalueWidget-Q6UdEanF-17272a719eefb062c283.js
36
+ - tools/cmdtlmserver/CanvaslineWidget-BhvBCDoS-d693034562792622b829.js
37
+ - tools/cmdtlmserver/CanvaslinevalueWidget-EaASC9TU-cbb21d5a502c664894f1.js
38
+ - tools/cmdtlmserver/CheckbuttonWidget-C3bjQwrp-3bf99905f8136eb37d45.js
39
+ - tools/cmdtlmserver/CmdPacketsTab-90b7eafbae0c1ed28430.js
40
+ - tools/cmdtlmserver/CmdTlmServer-5fa13cb7651202a03c8c.js
41
+ - tools/cmdtlmserver/ComboboxWidget-CmruSbJy-e223f5d0af5d55988d3f.js
42
+ - tools/cmdtlmserver/DataFlowsTab-b2e31ee49fd89c2b01c4.js
43
+ - tools/cmdtlmserver/DateWidget-CcUxRlJ2-988ead4672c9bff3fd3c.js
44
+ - tools/cmdtlmserver/DetailsDialog-DxYZre4A-3db5b5e7905643a0fb80.js
45
+ - tools/cmdtlmserver/DynamicWidget-DHL7pbgW-4c1d29fa83848dc6e5d8.js
46
+ - tools/cmdtlmserver/FormatvalueWidget-Lk5K0wTL-6b725aa76f27d5db94ab.js
47
+ - tools/cmdtlmserver/Graph-CjEE2WxX-bb7f5ba3af37177d131e.js
48
+ - tools/cmdtlmserver/GraphWidget-BaO2FpKo-4d4707ab4567aad52098.js
49
+ - tools/cmdtlmserver/HorizontalWidget-D3Q5IUQg-17d375b2b69c785818b6.js
50
+ - tools/cmdtlmserver/HorizontalboxWidget-D7bUUqfG-95eb191777368357ab5a.js
51
+ - tools/cmdtlmserver/HorizontallineWidget-DZcIetQh-1b698bc4b69a6cc5b460.js
52
+ - tools/cmdtlmserver/IframeWidget-Df7vTYZj-9aeaf295370b58030c56.js
53
+ - tools/cmdtlmserver/ImageLoader-DpKY46fX-d37df4bf688051c6e62b.js
54
+ - tools/cmdtlmserver/ImageviewerWidget-wHbhv08x-c35a4a41bc8347fa46be.js
55
+ - tools/cmdtlmserver/InterfaceFlowChart-9c58deee6e517473f8c4.js
56
+ - tools/cmdtlmserver/InterfacesTab-985faadca6eef712e593.js
57
+ - tools/cmdtlmserver/LabelWidget-BehwzOCR-47adc21706d0e6825f5b.js
58
+ - tools/cmdtlmserver/LabelledWidget-DJKR8ikj-ac6dcacfa7568ee8041f.js
59
+ - tools/cmdtlmserver/LabelprogressbarWidget-D4Qzq894-ccf7a29fdf6d3a96a8f2.js
60
+ - tools/cmdtlmserver/LabelsparklineWidget-CwCOklZG-8c7ccc992e75f0f32be6.js
61
+ - tools/cmdtlmserver/LabelvalueWidget-DW8Q7BTX-24a2c366e17b2a0d986a.js
62
+ - tools/cmdtlmserver/LabelvaluedescWidget-DgNX7tK2-32ed7f56c071646d6021.js
63
+ - tools/cmdtlmserver/LabelvaluelimitsbarWidget-DAEBW0hU-4a2f141d335fc2396b7e.js
64
+ - tools/cmdtlmserver/LabelvaluelimitscolumnWidget-Dok-of6n-fb3408cc4e10ea11a8ba.js
65
+ - tools/cmdtlmserver/LabelvaluerangebarWidget-CQ0xCUFU-ba4525c34b19d1673724.js
66
+ - tools/cmdtlmserver/Layout-CrCMUbtG-8ba11f2f51ce35865950.js
67
+ - tools/cmdtlmserver/LedWidget-DzQNEDF7-1a86f7864c026403ffce.js
68
+ - tools/cmdtlmserver/LimitsbarWidget-zkoAz9SQ-4b557968f197282b5c2e.js
69
+ - tools/cmdtlmserver/LimitscolorWidget-dez316Rk-622833252ce09add096f.js
70
+ - tools/cmdtlmserver/LimitscolumnWidget-D-IPNDVg-d4c4ba78f86930d43613.js
71
+ - tools/cmdtlmserver/LinegraphWidget-CicnZgjt-950c059e71af09179822.js
72
+ - tools/cmdtlmserver/MatrixbycolumnsWidget-D3qN6GTr-9b3e1323688e8d2250c7.js
73
+ - tools/cmdtlmserver/ProgressbarWidget-CLilcPBe-94014008fbae23a95f6d.js
74
+ - tools/cmdtlmserver/RadiobuttonWidget-Dsy01RJ--82e43666d0c6f0045450.js
75
+ - tools/cmdtlmserver/RadiogroupWidget-BNcVGNj1-fab29deaa5fa4eaa585d.js
76
+ - tools/cmdtlmserver/RangebarWidget-DhcoIdNf-3f0956ef2273c2185b69.js
77
+ - tools/cmdtlmserver/RawBuffer-ac6de873d5cea7850d06.js
78
+ - tools/cmdtlmserver/RawDialog-86087d6f8e22b8945b6d.js
79
+ - tools/cmdtlmserver/RollupWidget-BypuPvE7-52117c9be621dbc973e9.js
80
+ - tools/cmdtlmserver/RoutersTab-3486e9bb3f7831f1e280.js
81
+ - tools/cmdtlmserver/ScrollwindowWidget-DNQgHoNO-618d56cd3f6bc6014130.js
82
+ - tools/cmdtlmserver/SignalWidget-BHwyScCG-aeaa41671901e05a8989.js
83
+ - tools/cmdtlmserver/SpacerWidget-CFxXXTm7-20089e05c6aacecc0f18.js
84
+ - tools/cmdtlmserver/SparklineWidget-C0lRpRrp-43729970d1edf3af29bf.js
85
+ - tools/cmdtlmserver/StatusTab-ae9620bb09c9b607daa7.js
86
+ - tools/cmdtlmserver/TabbookWidget-CeeBOYOt-2c790812db8c1ef31168.js
87
+ - tools/cmdtlmserver/TargetsTab-3d3aae0beab7206bd1de.js
88
+ - tools/cmdtlmserver/TextboxWidget-DoA2b3YU-f1b61ed60a5afc248ebc.js
89
+ - tools/cmdtlmserver/TextfieldWidget-Dj4DV74o-48e1ba9820260a3e2e47.js
90
+ - tools/cmdtlmserver/TimeWidget-DAQDQ0UM-7bdfef740de9e2ada41f.js
91
+ - tools/cmdtlmserver/TitleWidget-Ct0JlY9s-c24fc13063982ef30e20.js
92
+ - tools/cmdtlmserver/TlmPacketsTab-809c372993d7ba2d68ba.js
93
+ - tools/cmdtlmserver/Updater-553d513753f29e3810f3.js
94
+ - tools/cmdtlmserver/VWidget-A802LGvR-ac28cc03daf8d86d0a13.js
95
+ - tools/cmdtlmserver/ValueWidget-QaBYsiZz-882368d57808716f6de0.js
96
+ - tools/cmdtlmserver/ValuelimitsbarWidget-CFToRM7w-3fa1f5ff41c95e3035ef.js
97
+ - tools/cmdtlmserver/ValuelimitscolumnWidget-BG7naMYx-ae729c50c05933a5e4a8.js
98
+ - tools/cmdtlmserver/ValuerangebarWidget-CChK2Lmm-8b6741981136504f3321.js
99
+ - tools/cmdtlmserver/VerticalWidget-C8iN5DJK-2202053d30d577ff94f6.js
100
+ - tools/cmdtlmserver/VerticalboxWidget-CXwUSWrP-f2515b5fd1433388cb09.js
101
+ - tools/cmdtlmserver/Widget-Cx1jBJHK-752645b358a0eb44dbb9.js
102
+ - tools/cmdtlmserver/main-851cb6e931fb7e4e1ea8.js
103
103
  - tools/cmdtlmserver/main.js
104
- - tools/cmdtlmserver/services-eb1403f6c88517815ca2.js
104
+ - tools/cmdtlmserver/services-fb7b2ae749c6cb1388eb.js
105
105
  homepage: https://github.com/OpenC3/cosmos
106
106
  licenses:
107
107
  - AGPL-3.0-only
@@ -1,2 +0,0 @@
1
- System.register(["./main-65cfe3c3762daf491069.js","vue","./DetailsDialog-BNCS3QAe-321aef533102379472dd.js","single-spa","./VWidget-DQGJRgAk-5116c4895c75eb64bc95.js","vue-router","vuex","vuetify","./Widget-LsyjS7ZS-cdba91229220d626542a.js"],function(D,P){"use strict";var h,a,c,u,i,d,p,l,g,f,v,w,y,x,C,V;return{setters:[t=>{h=t.d},t=>{a=t.resolveComponent,c=t.createElementBlock,u=t.openBlock,i=t.createVNode,d=t.normalizeStyle,p=t.normalizeClass,l=t.withCtx,g=t.Fragment,f=t.renderList,v=t.createBlock,w=t.withModifiers,y=t.createTextVNode,x=t.toDisplayString},t=>{C=t.P},null,t=>{V=t.h},null,null,null,null],execute:function(){const t={components:{DetailsDialog:C},data:function(){return{width:200,height:100,itemsPerRow:4,formatter:null}},mixins:[V],computed:{aging(){return{"--aging":this.grayLevel}}},created:function(){this.width=this.setWidth(this.parameters[3],"px",this.width),this.height=this.setHeight(this.parameters[4],"px",this.height),this.parameters[5]&&(this.formatter=this.parameters[5]),this.parameters[6]&&(this.itemsPerRow=parseInt(this.parameters[6]))},methods:{getType:function(){let e="CONVERTED";return this.parameters[7]&&(e=this.parameters[7]),e},formatValue:function(e){var r;let s="",k=" ",S=`
2
- `,o=0;if(Array.isArray(e)){for(const m of e)this.formatter&&((r=this.formatter)==null?void 0:r.toLowerCase())!=="nil"?s+=sprintf(this.formatter,m):s+=m,o+=1,o%this.itemsPerRow===0?(o=0,s+=S):s+=k;return s.trim()}else return e}}},B={class:"array-widget-container"};function _(e,r,s,k,S,o){const m=a("v-textarea"),z=a("v-list-item-title"),M=a("v-list-item"),N=a("v-list"),j=a("v-menu"),A=a("details-dialog");return u(),c("div",B,[i(m,{variant:"solo",density:"compact",readonly:"","no-resize":"","auto-grow":"",rows:"2","hide-details":"","model-value":e._value,class:p(e.valueClass),style:d([e.computedStyle,o.aging]),"data-test":"array-widget",onContextmenu:e.showContextMenu},null,8,["model-value","class","style","onContextmenu"]),i(j,{modelValue:e.contextMenuShown,"onUpdate:modelValue":r[0]||(r[0]=n=>e.contextMenuShown=n),target:[e.x,e.y]},{default:l(()=>[i(N,null,{default:l(()=>[(u(!0),c(g,null,f(e.contextMenuOptions,(n,L)=>(u(),v(M,{key:L,onClick:w(n.action,["stop"])},{default:l(()=>[i(z,null,{default:l(()=>[y(x(n.title),1)]),_:2},1024)]),_:2},1032,["onClick"]))),128))]),_:1})]),_:1},8,["modelValue","target"]),i(A,{"target-name":e.parameters[0],"packet-name":e.parameters[1],"item-name":e.parameters[2],modelValue:e.viewDetails,"onUpdate:modelValue":r[1]||(r[1]=n=>e.viewDetails=n)},null,8,["target-name","packet-name","item-name","modelValue"])])}const R=D("default",h(t,[["render",_],["__scopeId","data-v-62b9e9e1"]]))}}});
@@ -1,2 +0,0 @@
1
- System.register(["./main-65cfe3c3762daf491069.js","vue","./DetailsDialog-BNCS3QAe-321aef533102379472dd.js","single-spa","./VWidget-DQGJRgAk-5116c4895c75eb64bc95.js","vue-router","vuex","vuetify","./Widget-LsyjS7ZS-cdba91229220d626542a.js"],function(P,b){"use strict";var u,r,m,h,s,p,g,o,w,f,v,y,x,k,C,S;return{setters:[e=>{u=e.d},e=>{r=e.resolveComponent,m=e.createElementBlock,h=e.openBlock,s=e.createVNode,p=e.normalizeStyle,g=e.normalizeClass,o=e.withCtx,w=e.Fragment,f=e.renderList,v=e.createBlock,y=e.withModifiers,x=e.createTextVNode,k=e.toDisplayString},e=>{C=e.P},null,e=>{S=e.h},null,null,null,null],execute:function(){const e={components:{DetailsDialog:C},data:function(){return{width:400,height:400,bytesPerWord:4,wordsPerRow:4,addrFormat:null,formatter:"%02X"}},mixins:[S],computed:{aging(){return{"--aging":this.grayLevel}},rows:function(){return(this.height-16)/24}},created:function(){this.width=this.setWidth(this.parameters[3],"px",this.width),this.height=this.setHeight(this.parameters[4],"px",this.height),this.parameters[5]&&(this.formatter=this.parameters[5]),this.parameters[6]&&(this.bytesPerWord=parseInt(this.parameters[6])),this.parameters[7]&&(this.wordsPerRow=parseInt(this.parameters[7])),this.parameters[8]&&(this.addrFormat=this.parameters[8])},methods:{getType:function(){let t="RAW";return this.parameters[9]&&(t=this.parameters[9]),t},formatValue:function(t){let a="";if(t&&t.raw){let V=" ",D=`
2
- `,i=0,l=0;const d=this.bytesPerWord*this.wordsPerRow;for(const c of t.raw)this.addrFormat&&i===0&&(a+=sprintf(this.addrFormat,l),l+=d),a+=sprintf(this.formatter,c),i+=1,i%d===0?(i=0,a+=D):i%this.bytesPerWord===0&&(a+=V)}else a=t;return a}}},W={class:"block-widget-container"};function B(t,a,V,D,i,l){const d=r("v-textarea"),c=r("v-list-item-title"),M=r("v-list-item"),_=r("v-list"),F=r("v-menu"),N=r("details-dialog");return h(),m("div",W,[s(d,{variant:"solo",density:"compact",readonly:"","no-resize":"","hide-details":"",rows:l.rows,width:t.width,"model-value":t._value,class:g(t.valueClass),style:p([t.computedStyle,l.aging]),"data-test":"valueText",onContextmenu:t.showContextMenu},null,8,["rows","width","model-value","class","style","onContextmenu"]),s(F,{modelValue:t.contextMenuShown,"onUpdate:modelValue":a[0]||(a[0]=n=>t.contextMenuShown=n),target:[t.x,t.y]},{default:o(()=>[s(_,null,{default:o(()=>[(h(!0),m(w,null,f(t.contextMenuOptions,(n,R)=>(h(),v(M,{key:R,onClick:y(n.action,["stop"])},{default:o(()=>[s(c,null,{default:o(()=>[x(k(n.title),1)]),_:2},1024)]),_:2},1032,["onClick"]))),128))]),_:1})]),_:1},8,["modelValue","target"]),s(N,{"target-name":t.parameters[0],"packet-name":t.parameters[1],"item-name":t.parameters[2],modelValue:t.viewDetails,"onUpdate:modelValue":a[1]||(a[1]=n=>t.viewDetails=n)},null,8,["target-name","packet-name","item-name","modelValue"])])}const j=P("default",u(e,[["render",B],["__scopeId","data-v-4d4589c2"]]))}}});
@@ -1 +0,0 @@
1
- System.register(["./Widget-LsyjS7ZS-cdba91229220d626542a.js","vue","./main-65cfe3c3762daf491069.js","vue-router","single-spa","vuex","vuetify"],function(i,p){"use strict";var l,s,a,n,c;return{setters:[e=>{l=e.o},e=>{s=e.createElementBlock,a=e.openBlock,n=e.normalizeStyle},e=>{c=e.d},null,null,null,null],execute:function(){const e={mixins:[l],computed:{calcStyle(){let t="black";this.parameters[4]&&(t=this.parameters[4]);let r=1;return this.parameters[5]&&(r=this.parameters[5]),"stroke:"+t+";stroke-width:"+r}}},u=["x1","y1","x2","y2"];function o(t,r,d,k,x,m){return a(),s("line",{x1:t.parameters[0],y1:t.parameters[1],x2:t.parameters[2],y2:t.parameters[3],style:n(m.calcStyle)},null,12,u)}const y=i("default",c(e,[["render",o]]))}}});
@@ -1 +0,0 @@
1
- System.register(["./Widget-LsyjS7ZS-cdba91229220d626542a.js","vue","./main-65cfe3c3762daf491069.js","vue-router","single-spa","vuex","vuetify"],function(c,h){"use strict";var t,a,n,s,o,r;return{setters:[e=>{t=e.o},e=>{a=e.resolveComponent,n=e.createBlock,s=e.openBlock,o=e.normalizeStyle},e=>{r=e.d},null,null,null,null],execute:function(){const e={mixins:[t],data(){return{items:[],label:"Checkbox",value:!1}},created(){this.label=this.parameters[0],this.parameters[1]&&(this.value=!0)},methods:{checked(){return this.value}}};function i(d,u,y,k,l,b){const m=a("v-checkbox");return s(),n(m,{"hide-details":"",density:"compact",label:l.label,modelValue:l.value,"onUpdate:modelValue":u[0]||(u[0]=v=>l.value=v),style:o(d.computedStyle)},null,8,["label","modelValue","style"])}const p=c("default",r(e,[["render",i]]))}}});