openc3-cosmos-tool-cmdtlmserver 5.14.1 → 5.14.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (53) hide show
  1. checksums.yaml +4 -4
  2. data/tools/cmdtlmserver/js/116.js +2 -0
  3. data/tools/cmdtlmserver/js/{151.js.map → 116.js.map} +1 -1
  4. data/tools/cmdtlmserver/js/123.js +2 -0
  5. data/tools/cmdtlmserver/js/123.js.map +1 -0
  6. data/tools/cmdtlmserver/js/188.js +2 -0
  7. data/tools/cmdtlmserver/js/188.js.map +1 -0
  8. data/tools/cmdtlmserver/js/264.js +2 -0
  9. data/tools/cmdtlmserver/js/264.js.map +1 -0
  10. data/tools/cmdtlmserver/js/292.js +2 -0
  11. data/tools/cmdtlmserver/js/292.js.map +1 -0
  12. data/tools/cmdtlmserver/js/356.js +2 -0
  13. data/tools/cmdtlmserver/js/356.js.map +1 -0
  14. data/tools/cmdtlmserver/js/408.js +2 -0
  15. data/tools/cmdtlmserver/js/408.js.map +1 -0
  16. data/tools/cmdtlmserver/js/{540.js → 508.js} +2 -2
  17. data/tools/cmdtlmserver/js/{540.js.map → 508.js.map} +1 -1
  18. data/tools/cmdtlmserver/js/536.js +2 -0
  19. data/tools/cmdtlmserver/js/536.js.map +1 -0
  20. data/tools/cmdtlmserver/js/544.js +2 -0
  21. data/tools/cmdtlmserver/js/544.js.map +1 -0
  22. data/tools/cmdtlmserver/js/592.js +2 -0
  23. data/tools/cmdtlmserver/js/592.js.map +1 -0
  24. data/tools/cmdtlmserver/js/744.js +2 -0
  25. data/tools/cmdtlmserver/js/744.js.map +1 -0
  26. data/tools/cmdtlmserver/js/767.js +2 -0
  27. data/tools/cmdtlmserver/js/767.js.map +1 -0
  28. data/tools/cmdtlmserver/js/app.js +1 -1
  29. data/tools/cmdtlmserver/js/app.js.map +1 -1
  30. metadata +28 -28
  31. data/tools/cmdtlmserver/js/146.js +0 -2
  32. data/tools/cmdtlmserver/js/146.js.map +0 -1
  33. data/tools/cmdtlmserver/js/151.js +0 -2
  34. data/tools/cmdtlmserver/js/214.js +0 -2
  35. data/tools/cmdtlmserver/js/214.js.map +0 -1
  36. data/tools/cmdtlmserver/js/244.js +0 -2
  37. data/tools/cmdtlmserver/js/244.js.map +0 -1
  38. data/tools/cmdtlmserver/js/33.js +0 -2
  39. data/tools/cmdtlmserver/js/33.js.map +0 -1
  40. data/tools/cmdtlmserver/js/588.js +0 -2
  41. data/tools/cmdtlmserver/js/588.js.map +0 -1
  42. data/tools/cmdtlmserver/js/694.js +0 -2
  43. data/tools/cmdtlmserver/js/694.js.map +0 -1
  44. data/tools/cmdtlmserver/js/699.js +0 -2
  45. data/tools/cmdtlmserver/js/699.js.map +0 -1
  46. data/tools/cmdtlmserver/js/786.js +0 -2
  47. data/tools/cmdtlmserver/js/786.js.map +0 -1
  48. data/tools/cmdtlmserver/js/872.js +0 -2
  49. data/tools/cmdtlmserver/js/872.js.map +0 -1
  50. data/tools/cmdtlmserver/js/939.js +0 -2
  51. data/tools/cmdtlmserver/js/939.js.map +0 -1
  52. data/tools/cmdtlmserver/js/991.js +0 -2
  53. data/tools/cmdtlmserver/js/991.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"js/588.js","mappings":"wzEAeY,OAAAA,EAAA,kBAAAC,CAAA,EAAAA,CAAA,C,8BAAAD,IAAAA,IAAAE,EAAA,KAfZ,IAAIC,EAAS,WAAiBH,IAAAI,EAAA,KAAC,IAAIC,GAAGL,IAAAE,EAAA,KAACI,MAAKC,GAAEP,IAAAE,EAAA,KAACG,EAAIG,MAAMD,IAAG,OAAAP,IAAAE,EAAA,KAAOK,EAAG,MAAM,CAACA,EAAG,UAAU,CAACE,MAAM,CAAC,MAAQJ,EAAIK,MAAM,MAAQL,EAAIM,SAASN,EAAIO,GAAG,KAAKL,EAAG,SAAS,CAACA,EAAG,qBAAqB,CAACM,MAAM,CAACC,MAAOT,EAAIU,MAAOC,SAAS,SAAUC,GAAKjB,IAAAI,EAAA,KAAAJ,IAAAE,EAAA,KAACG,EAAIU,MAAME,CAAG,EAAEC,WAAW,UAAU,CAACX,EAAG,oBAAoB,CAACA,EAAG,2BAA2B,CAACA,EAAG,SAAS,CAACE,MAAM,CAAC,aAAa,IAAII,MAAM,CAACC,MAAOT,EAAIc,OAAQH,SAAS,SAAUC,GAAKjB,IAAAI,EAAA,KAAAJ,IAAAE,EAAA,KAACG,EAAIc,OAAOF,CAAG,EAAEC,WAAW,WAAWb,EAAIe,GAAIf,EAAIgB,MAAM,SAASC,EAAIC,GAAO,OAADvB,IAAAI,EAAA,KAAAJ,IAAAE,EAAA,KAAQK,EAAG,QAAQ,CAACiB,IAAID,EAAMd,MAAM,CAAC,GAAKa,EAAIG,KAAKC,SAAS,CAAC,MAAQ,SAASC,GAAO3B,IAAAI,EAAA,KAAAJ,IAAAE,EAAA,KAACyB,EAAOC,iBAAkB,IAAI,CAACvB,EAAIO,GAAG,mBAAmBP,EAAIwB,GAAGP,EAAIQ,MAAM,mBAAmB,IAAG,IAAI,GAAGzB,EAAIO,GAAG,KAAKL,EAAG,4BAA4B,CAACA,EAAG,cAAc,CAACE,MAAM,CAAC,mBAAmBJ,EAAI0B,oBAAoB,IAAI,IAAI,IAAI,GAAG1B,EAAIO,GAAG,KAAKL,EAAG,MAAM,CAACyB,YAAY,CAAC,OAAS,UAAU3B,EAAIO,GAAG,KAAKL,EAAG,gBAAgBF,EAAIO,GAAG,KAAKL,EAAG,WAAW,CAACE,MAAM,CAAC,YAAY,OAAOI,MAAM,CAACC,MAAOT,EAAI4B,cAAejB,SAAS,SAAUC,GAAKjB,IAAAI,EAAA,KAAAJ,IAAAE,EAAA,KAACG,EAAI4B,cAAchB,CAAG,EAAEC,WAAW,kBAAkB,CAACX,EAAG,SAAS,CAACA,EAAG,eAAe,CAACA,EAAG,YAAYF,EAAIO,GAAG,KAAKL,EAAG,OAAO,CAACF,EAAIO,GAAG,aAAaP,EAAIO,GAAG,KAAKL,EAAG,aAAa,GAAGF,EAAIO,GAAG,KAAKL,EAAG,MAAM,CAAC2B,YAAY,QAAQ,CAAC3B,EAAG,eAAe,CAACE,MAAM,CAAC,IAAM,IAAI,IAAM,QAAQ,KAAO,MAAM,KAAO,SAAS,MAAQ,wBAAwB,MAAQJ,EAAI0B,iBAAiBI,GAAG,CAAC,OAAS,SAASR,GAAO3B,IAAAI,EAAA,KAAAJ,IAAAE,EAAA,KAACG,EAAI0B,gBAAkBJ,CAAM,MAAM,IAAI,IAAI,IAAI,EAC55C,EACIS,GAAepC,IAAAE,EAAA,MAAG,ICFlBC,EAAS,WAAkB,IAAIE,EAAIC,KAAKC,EAAGF,EAAIG,MAAMD,GAAG,OAAOA,EAAG,SAAS,CAACA,EAAG,eAAe,CAACA,EAAG,YAAY,CAACE,MAAM,CAAC,IAAM,IAAI4B,YAAYhC,EAAIiC,GAAG,CAAC,CAACd,IAAI,YAAYe,GAAG,UAAS,GAAEJ,EAAE,MAAE1B,IAAS,MAAO,CAACF,EAAG,MAAMF,EAAImC,GAAGnC,EAAIoC,GAAG,CAAC,EAAE,MAAMhC,GAAM,GAAO0B,GAAI,CAAC5B,EAAG,QAAQ,CAAC2B,YAAY,OAAOzB,MAAM,CAAC,KAAO,GAAG,YAAY,gBAAgB0B,GAAG,CAAC,MAAQ9B,EAAIqC,cAAc,CAACnC,EAAG,SAAS,CAACF,EAAIO,GAAG,qBAAqB,IAAI,GAAG,MAAM,CAACP,EAAIO,GAAG,KAAKL,EAAG,OAAO,CAACF,EAAIO,GAAG,sBAAsBP,EAAIO,GAAG,KAAKL,EAAG,OAAO,CAACF,EAAIO,GAAG,oBAAoBP,EAAIO,GAAG,KAAKL,EAAG,YAAY,CAACE,MAAM,CAAC,IAAM,IAAI4B,YAAYhC,EAAIiC,GAAG,CAAC,CAACd,IAAI,YAAYe,GAAG,UAAS,GAAEJ,EAAE,MAAE1B,IAAS,MAAO,CAACF,EAAG,MAAMF,EAAImC,GAAGnC,EAAIoC,GAAG,CAAC,EAAE,MAAMhC,GAAM,GAAO0B,GAAI,CAAC5B,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,GAAG,YAAY,SAAS0B,GAAG,CAAC,MAAQ9B,EAAIsC,QAAQ,CAACpC,EAAG,SAAS,CAACF,EAAIO,GAAG,IAAIP,EAAIwB,GAAGxB,EAAIuC,YAAY,QAAQ,IAAI,GAAG,MAAM,CAACvC,EAAIO,GAAG,KAAKL,EAAG,OAAO,CAACF,EAAIO,GAAG,IAAIP,EAAIwB,GAAGxB,EAAIwC,aAAa,SAASxC,EAAIO,GAAG,KAAKL,EAAG,YAAYF,EAAIO,GAAG,KAAKL,EAAG,WAAW,CAAC2B,YAAY,OAAOF,YAAY,CAAC,YAAY,SAASvB,MAAM,CAAC,MAAQ,sBAAsB,eAAe,GAAG,SAAW,GAAG,MAAQ,GAAG,MAAQJ,EAAIyC,UAAU,YAAY,sBAAsBjC,MAAM,CAACC,MAAOT,EAAI0C,SAAU/B,SAAS,SAAUC,GAAMZ,EAAI0C,SAAS9B,CAAG,EAAEC,WAAW,cAAcb,EAAIO,GAAG,KAAKL,EAAG,YAAYF,EAAIO,GAAG,KAAKL,EAAG,eAAe,CAAC2B,YAAY,SAASF,YAAY,CAAC,YAAY,SAASvB,MAAM,CAAC,MAAQ,SAAS,qBAAqB,cAAc,UAAY,GAAG,SAAW,GAAG,MAAQ,GAAG,cAAc,GAAG,eAAe,GAAG,YAAY,uBAAuBI,MAAM,CAACC,MAAOT,EAAI2C,OAAQhC,SAAS,SAAUC,GAAMZ,EAAI2C,OAAO/B,CAAG,EAAEC,WAAW,YAAYb,EAAIO,GAAG,KAAKL,EAAG,YAAY,CAACE,MAAM,CAAC,IAAM,IAAI4B,YAAYhC,EAAIiC,GAAG,CAAC,CAACd,IAAI,YAAYe,GAAG,UAAS,GAAEJ,EAAE,MAAE1B,IAAS,MAAO,CAACF,EAAG,MAAMF,EAAImC,GAAGnC,EAAIoC,GAAG,CAAC,EAAE,MAAMhC,GAAM,GAAO0B,GAAI,CAAC5B,EAAG,QAAQ,CAAC2B,YAAY,OAAOzB,MAAM,CAAC,KAAO,GAAG,YAAY,aAAa0B,GAAG,CAAC,MAAQ9B,EAAI4C,WAAW,CAAC1C,EAAG,SAAS,CAACF,EAAIO,GAAG,mBAAmB,IAAI,GAAG,MAAM,CAACP,EAAIO,GAAG,KAAKL,EAAG,OAAO,CAACF,EAAIO,GAAG,oBAAoB,GAAGP,EAAIO,GAAG,KAAKL,EAAG,eAAe,CAACE,MAAM,CAAC,QAAUJ,EAAI6C,QAAQ,MAAQ7C,EAAI8C,UAAU,OAAS9C,EAAI2C,OAAO,mBAAmB,GAAG,qBAAqB,GAAG,sBAAsB,GAAG,aAAa,GAAG,MAAQ,GAAG,OAAS,OAAO,YAAY,gBAAgBX,YAAYhC,EAAIiC,GAAG,CAAC,CAACd,IAAI,iBAAiBe,GAAG,UAAS,KAAEa,IAAQ,MAAO,CAAC7C,EAAG,OAAO,CAACE,MAAM,CAAC,MAAQ2C,EAAKC,UAAU,SAAWD,EAAKC,YAAY,CAAChD,EAAIO,GAAG,aAAaP,EAAIwB,GAAGuB,EAAKC,WAAW,cAAc,GAAG,CAAC7B,IAAI,aAAae,GAAG,UAAS,KAAEa,IAAQ,MAAO,CAAC7C,EAAG,OAAO,CAAC+C,MAAO,+BAAiCjD,EAAIkD,SAASH,EAAKI,QAAS,CAACjD,EAAG,aAAa,CAAC2B,YAAY,OAAOzB,MAAM,CAAC,OAASJ,EAAIoD,UAAUL,EAAKI,UAAUnD,EAAIO,GAAG,aAAaP,EAAIwB,GAAGuB,EAAKI,SAAS,GAAG,GAAG,CAAChC,IAAI,eAAee,GAAG,UAAS,KAAEa,IAAQ,MAAO,CAAC7C,EAAG,MAAM,CAACyB,YAAY,CAAC,cAAc,aAAa,CAAC3B,EAAIO,GAAGP,EAAIwB,GAAGuB,EAAKM,YAAY,QAAQ,EACtwF,EACItB,EAAkB,G,+FCsBtBuB,EAAAA,GAA8BC,eAAiB,GAEhC,MAAMC,EACnBC,WAAAA,CAAYrC,EAAM,qBAChBnB,KAAKyD,OAAS,KACdzD,KAAK0D,KAAOvC,CACd,CACAwC,UAAAA,GACM3D,KAAKyD,QACPzD,KAAKyD,OAAOE,YAEhB,CACAC,kBAAAA,CAAmBC,EAASC,EAAOC,EAAY,CAAC,EAAGC,EAAoB,CAAC,GACtE,OAAOC,WAAWC,YAAYD,WAAWE,oBAAoBC,MAC1DC,IAIC,GAHIA,GACFJ,WAAWK,YAEM,MAAftE,KAAKyD,OAAgB,CACvB,IAAIc,EACFvE,KAAK0D,KACL,UACAc,mBAAmBC,OAAOC,aAC1B,kBACAF,mBAAmBG,aAAaC,aAClC5E,KAAKyD,OAASJ,EAAAA,GAA2BkB,EAC3C,CACA,OAAOvE,KAAKyD,OAAOoB,cAAcC,OAC/B,CACEjB,aACGG,GAELD,EACD,GAGP,CACAgB,UAAAA,GACE/E,KAAKyD,OAAOuB,WAAWC,QAAQF,YACjC,E,cD+DF,SACAG,MAAA,CACAC,cAAA,CACAC,KAAAC,OACAC,QAAA,MAGAC,IAAAA,GACA,OACAC,kBAAA,KACAD,KAAA,GACA1C,UAAA,GACAL,UAAA,wCACAC,SAAA,OACAC,OAAA,GACAE,QAAA,CACA,CAAA6C,KAAA,OAAAjF,MAAA,YAAAkF,MAAA,KACA,CAAAD,KAAA,QAAAjF,MAAA,SACA,CAAAiF,KAAA,SAAAjF,MAAA,qBACA,CAAAiF,KAAA,UAAAjF,MAAA,YAEAmF,MAAA,IAAApC,EACAqC,aAAA,KACAC,QAAA,EAEA,EACAC,SAAA,CACAvD,YAAA,WACA,YAAAsD,OACA,SAEA,OAEA,EACAvD,WAAA,WACA,YAAAuD,OACA,WAEA,WAEA,GAEAE,MAAA,CACAtD,SAAA,SAAAuD,EAAAC,GACA,KAAArC,oBACA,GAEAsC,OAAAA,GACA,KAAAtC,oBACA,EACAuC,SAAAA,GACA,KAAAP,cACA,KAAAA,aAAAQ,cAEA,KAAAT,MAAAhC,YACA,EACA0C,QAAA,CACAhE,MAAA,WACA,KAAAwD,QAAA,KAAAA,MACA,EACAjC,kBAAAA,GACA,KAAAgC,eACA,KAAAA,aAAAQ,cACA,KAAAb,KAAA,GACA,KAAA1C,UAAA,KAAA0C,MAEA,KAAAI,MACA/B,mBACA,kBACAa,OAAAC,YACA,CACA4B,SAAAC,IACA,KAAAZ,MAAAZ,aACAwB,EAAAC,OAAA,KAAArB,eACAoB,EAAAE,OAAA,EAAAF,EAAAC,OAAA,KAAArB,eAKAoB,EAAAA,EAAAG,QAAAtD,IACA,YAAAX,UACA,YACA,SACA,WACA,aAAAW,EAAAF,MACA,SAEA,MACA,WACA,aAAAE,EAAAF,OAAA,SAAAE,EAAAF,MACA,SAEA,MACA,YACA,GACA,UAAAE,EAAAF,OACA,SAAAE,EAAAF,OACA,SAAAE,EAAAF,MAEA,SAEA,MACA,YACA,GACA,UAAAE,EAAAF,OACA,SAAAE,EAAAF,OACA,SAAAE,EAAAF,OACA,UAAAE,EAAAF,MAEA,SAEA,MAEA,YAEAqD,EAAAI,KAAAvD,IAEA,GADAA,EAAAL,UAAA,KAAA6D,WAAAxD,EAAA,eAEAA,EAAAA,QAAAyD,KACA,WAAAzD,EAAAA,QAAA0D,WACA,CAEA,IAAAC,EAAA,KACA,QAAAC,EAAA,EAAAA,EAAA5D,EAAAA,QAAAyD,IAAAL,OAAAQ,IAAA,CACA,IAAAC,EAAA7D,EAAAA,QAAAyD,IAAAG,GACAE,SAAA,IACAC,cACAF,EAAAT,OAAA,IACAS,EAAA,IAAAA,GAEAF,GAAAE,CACA,CACA7D,EAAAA,QAAA2D,CACA,MACA3D,EAAAA,QAAAA,EAAAA,QAAAgE,WAAA,WACA,IAEA,KAAA7B,KAAAgB,EAAAc,UAAAC,OAAA,KAAA/B,MACA,KAAAA,KAAAiB,OAAA,KAAArB,gBACA,KAAAI,KAAAiB,OAAA,KAAArB,eAEA,KAAAU,SACA,KAAAhD,UAAA,KAAA0C,KACA,GAGA,CACAJ,cAAA,KAAAA,gBAGAf,MAAAwB,IACA,KAAAA,aAAAA,CAAA,GAEA,EACAgB,UAAAA,CAAA7D,GAEA,OAAAwE,EAAAA,EAAAA,IAAAC,EAAAA,EAAAA,GAAAzE,GAAA,0BACA,EACAE,QAAAA,CAAAC,GACA,OAAAsC,EAAAA,GAAAiC,EAAAA,GAAAvE,GACA,EACAC,SAAAA,CAAAD,GACA,OAAAuE,EAAAA,GAAAvE,EACA,EACAd,WAAAA,GACA,MAAAsF,EAAA,KAAA7E,UACA8D,KACAgB,GAEA,GAAAA,EAAA5E,eAAA4E,EAAAzE,WAAAyE,EAAAC,uBAAAD,EAAAvE,YAEAyE,KAAA,MACAC,EAAA,IAAAC,KAAA,CAAAL,GAAA,CACAtC,KAAA,eAGA4C,EAAAC,SAAAC,cAAA,KACAF,EAAAG,KAAAC,IAAAC,gBAAAP,GACAE,EAAAM,aACA,YACAf,EAAAA,EAAAA,GAAAgB,KAAAC,MAAA,2CAEAR,EAAAS,OACA,EACA9F,SAAA,WACA,KAAA+F,QACAC,QAAA,2CACAC,OAAA,QACAC,WAAA,WAEAzE,MAAA0E,IACA,KAAAvD,KAAA,GACA,KAAA1C,UAAA,MAEAkG,OAAA,SAAAC,GACA,GAEA,IEnU+S,I,cCO3SC,GAAY,OACd,EACA,EACA,GACA,EACA,KACA,KACA,MAIF,QAAeA,EAAiB,QClBhC,IAAIpJ,EAAS,WAAkB,IAAIE,EAAIC,KAAKC,EAAGF,EAAIG,MAAMD,GAAG,OAAOA,EAAG,kBAAkB,CAACE,MAAM,CAAC,WAAW,eAAe,OAAS,KAAK,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,aAAa,KAAK,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,aAAa,QAAQ,CAACF,EAAG,OAAO,CAAC2B,YAAY,kBAAkB,CAAC7B,EAAIO,GAAGP,EAAIwB,GAAGxB,EAAIM,aAAa,GAAGN,EAAIO,GAAG,KAAKL,EAAG,QAAQ,CAAC2B,YAAY,cAAczB,MAAM,CAAC,MAAQ,KAAKJ,EAAIe,GAAIf,EAAIK,OAAO,SAAS8I,EAAKlC,GAAG,OAAO/G,EAAG,SAAS,CAACiB,IAAI8F,EAAEmC,IAAI,UAAUC,UAAS,EAAKjJ,MAAM,CAAC,WAAW,IAAI4B,YAAYhC,EAAIiC,GAAG,CAAC,CAACd,IAAI,YAAYe,GAAG,UAAS,GAAEJ,EAAE,MAAE1B,IAAS,MAAO,CAACF,EAAG,QAAQF,EAAImC,GAAGnC,EAAIoC,GAAG,CAACP,YAAY,mBAAmBzB,MAAM,CAAC,SAAW,GAAG,YAAYJ,EAAIsJ,SAAU,GAAEtJ,EAAIM,SAAS6I,EAAKI,WAAW,QAAQnJ,GAAM,GAAO0B,GAAI,CAAC5B,EAAG,OAAO,CAACsJ,SAAS,CAAC,YAAcxJ,EAAIwB,GAAG2H,EAAKI,UAAUvJ,EAAIO,GAAG,KAAKL,EAAG,SAAS,CAAC2B,YAAY,SAASzB,MAAM,CAAC,MAAQ,KAAK,CAACJ,EAAIO,GAAG,sBAAsB,GAAG,IAAI,MAAK,IAAO,CAACP,EAAIO,GAAG,KAAKL,EAAG,SAAS,CAACA,EAAG,gBAAgB,CAAC2B,YAAY,YAAYzB,MAAM,CAAC,MAAQ+I,EAAKM,WAAW,eAAe,GAAG,MAAQ,KAAK,CAACzJ,EAAIe,GAAIoI,EAAKO,OAAO,SAASC,EAAOC,GAAG,MAAO,CAAED,EAAOE,QAAS3J,EAAG,YAAY,CAACiB,IAAIyI,IAAKD,EAAOG,SAAWH,EAAOG,QAAQrD,OAAS,EAAGvG,EAAG,MAAM,CAACiB,IAAIyI,GAAG,CAAC1J,EAAG,SAAS,CAACiB,IAAInB,EAAI+J,EAAE3J,MAAM,CAAC,gBAAgB,GAAG,WAAW,GAAG,OAAS,IAAI4B,YAAYhC,EAAIiC,GAAG,CAAC,CAACd,IAAI,YAAYe,GAAG,UAAS,GAAEJ,EAAE,MAAE1B,IAAS,MAAO,CAACF,EAAG,cAAcF,EAAImC,GAAGnC,EAAIoC,GAAG,CAACjB,IAAIyI,EAAExJ,MAAM,CAAC,SAAWuJ,EAAOK,WAAW,cAAc5J,GAAM,GAAO0B,GAAI,CAAE6H,EAAOM,KAAM/J,EAAG,mBAAmB,CAACA,EAAG,SAAS,CAACE,MAAM,CAAC,SAAWuJ,EAAOK,WAAW,CAAChK,EAAIO,GAAGP,EAAIwB,GAAGmI,EAAOM,UAAU,GAAGjK,EAAIkK,KAAKlK,EAAIO,GAAG,KAAOoJ,EAAOQ,OAAUR,EAAOS,SACv7CpK,EAAIkK,KAD67ChK,EAAG,oBAAoB,CAAC+C,MAAO,oBAClkD0G,EAAOK,SAAW,eAAiB,KAAM,CAAChK,EAAIO,GAAGP,EAAIwB,GAAGmI,EAAOJ,OAAO,4BAAqCvJ,EAAIO,GAAG,KAAKL,EAAG,SAAS,CAACF,EAAIO,GAAG,0BAA0B,GAAG,IAAI,MAAK,IAAO,CAACP,EAAIO,GAAG,KAAKL,EAAG,SAASF,EAAIe,GAAI4I,EAAOG,SAAS,SAASO,EAAQN,GAAG,OAAO7J,EAAG,cAAc,CAACiB,IAAI4I,EAAEjI,GAAG,CAAC,MAAQ,SAASR,GAAQ,OAAOtB,EAAIsK,aAAaD,EAAQ,IAAI,CAAEA,EAAQJ,KAAM/J,EAAG,mBAAmB,CAACA,EAAG,SAAS,CAACF,EAAIO,GAAGP,EAAIwB,GAAG6I,EAAQJ,UAAU,GAAGjK,EAAIkK,KAAKlK,EAAIO,GAAG,KAAKL,EAAG,oBAAoB,CAACF,EAAIO,GAAGP,EAAIwB,GAAG6I,EAAQd,WAAW,EAAE,IAAG,IAAI,IAAI,GAAGrJ,EAAG,cAAc,CAACiB,IAAIyI,EAAExJ,MAAM,CAAC,SAAWuJ,EAAOK,SAAS,YAAYhK,EAAIsJ,SAAU,GAAEtJ,EAAIM,SAAS6I,EAAKI,SAASI,EAAOJ,UAAUzH,GAAG,CAAC,MAAQ,SAASR,GAAQ,OAAOqI,EAAOY,QAAQZ,EAAO,IAAI,CAAEA,EAAOQ,MAAOjK,EAAG,qBAAqB,CAACA,EAAG,UAAU,CAACE,MAAM,CAAC,MAAQ,YAAY,MAAQuJ,EAAOJ,MAAM,MAAQI,EAAOJ,UAAU,GAAGvJ,EAAIkK,KAAKlK,EAAIO,GAAG,KAAMoJ,EAAOS,SAAUlK,EAAG,qBAAqB,CAACA,EAAG,aAAa,CAACE,MAAM,CAAC,MAAQ,YAAY,MAAQuJ,EAAOJ,OAAO/I,MAAM,CAACC,MAAOkJ,EAAOa,QAAS7J,SAAS,SAAUC,GAAMZ,EAAIyK,KAAKd,EAAQ,UAAW/I,EAAI,EAAEC,WAAW,qBAAqB,GAAGb,EAAIkK,KAAKlK,EAAIO,GAAG,KAAMoJ,EAAOM,KAAM/J,EAAG,mBAAmB,CAACA,EAAG,SAAS,CAACE,MAAM,CAAC,SAAWuJ,EAAOK,WAAW,CAAChK,EAAIO,GAAGP,EAAIwB,GAAGmI,EAAOM,UAAU,GAAGjK,EAAIkK,KAAKlK,EAAIO,GAAG,KAAOoJ,EAAOQ,OAAUR,EAAOS,SAAwIpK,EAAIkK,KAAlIhK,EAAG,oBAAoB,CAAC+C,MAAO,oBAAsB0G,EAAOK,SAAW,eAAiB,KAAM,CAAChK,EAAIO,GAAGP,EAAIwB,GAAGmI,EAAOJ,WAAoB,GAAG,KAAI,IAAI,IAAI,EAAE,IAAG,IAAI,EACn9C,EACIxH,EAAkB,GAqItB,SACAoD,MAAA,CACA9E,MAAA,CACAgF,KAAAqF,MACAnF,QAAA,WACA,QACA,GAEAjF,MAAA,CACA+E,KAAAsF,OACApF,QAAA,KAGAe,QAAA,CAEAgD,SAAA,SAAAsB,GACA,OAAAA,EAAAvD,WAAA,SAAAwD,aACA,EACAP,YAAAA,CAAAD,GACAA,EAAAE,QAAAF,GACA,KAAAS,MAAAC,QAAA,GAAAC,UAAA,CACA,GAEAC,OAAAA,GACA/C,SAAA5H,MAAA,KAAAA,KACA,GCjK0S,I,YCQtS,GAAY,OACd,EACA,EACA,GACA,EACA,KACA,WACA,MAIF,QAAe,EAAiB,Q,umKCmEhC,OAAAX,EAAA,kBAAAC,CAAA,EAAAA,CAAA,CAAAD,IAZA,SACAuL,WAAA,CACAC,YAAA,EACAC,OAAAA,GAEA5F,IAAAA,GACA,OADA7F,IAAAI,EAAA,KAAAJ,IAAAE,EAAA,KACA,CACAS,MAAA,eACAI,MAAA,EACAI,OAAA,KACAE,KAAA,CACA,CACAS,KAAA,aACAL,IAAA,eAEA,CACAK,KAAA,UACAL,IAAA,YAEA,CACAK,KAAA,cACAL,IAAA,gBAEA,CACAK,KAAA,cACAL,IAAA,gBAEA,CACAK,KAAA,UACAL,IAAA,YAEA,CACAK,KAAA,SACAL,IAAA,YAGAiK,QAAA,KACA3J,gBAAA,IACAE,eAAA,EACAvB,MAAA,CACA,CACAkJ,MAAA,OACAG,MAAA,CACA,CACAH,MAAA,UACAgB,QAAAA,KAAA5K,IAAAI,EAAA,KAAAJ,IAAAE,EAAA,KACA,KAAA+B,eAAA,OAOA,GC/HyT,I,YCQrT,GAAY,OACd,EACA9B,EACAiC,GACA,EACA,KACA,WACA,MAIF,QAAe,EAAiB,O,sGChB5BuJ,EAA0B,IAA4B,KAE1DA,EAAwBC,KAAK,CAACC,EAAOC,GAAI,iUAAkU,KAE3W,S,sGCJIH,EAA0B,IAA4B,KAE1DA,EAAwBC,KAAK,CAACC,EAAOC,GAAI,inBAAknB,KAE3pB,S,iBCJA,IAAIC,EAAU,EAAQ,MACnBA,EAAQC,aAAYD,EAAUA,EAAQnG,SACnB,kBAAZmG,IAAsBA,EAAU,CAAC,CAACF,EAAOC,GAAIC,EAAS,MAC7DA,EAAQE,SAAQJ,EAAOK,QAAUH,EAAQE,QAE5C,IAAIE,EAAM,UACGA,EAAI,WAAYJ,GAAS,EAAM,CAAC,WAAY,EAAM,YAAa,G,iBCN5E,IAAIA,EAAU,EAAQ,MACnBA,EAAQC,aAAYD,EAAUA,EAAQnG,SACnB,kBAAZmG,IAAsBA,EAAU,CAAC,CAACF,EAAOC,GAAIC,EAAS,MAC7DA,EAAQE,SAAQJ,EAAOK,QAAUH,EAAQE,QAE5C,IAAIE,EAAM,UACGA,EAAI,WAAYJ,GAAS,EAAM,CAAC,WAAY,EAAM,YAAa,G","sources":["webpack://@openc3/cosmos-tool-cmdtlmserver/./src/tools/CmdTlmServer/CmdTlmServer.vue","webpack://@openc3/cosmos-tool-cmdtlmserver/../openc3-tool-common/src/components/LogMessages.vue","webpack://@openc3/cosmos-tool-cmdtlmserver/../openc3-tool-common/src/services/cable.js","webpack://@openc3/cosmos-tool-cmdtlmserver/../openc3-tool-common/src/components/LogMessages.vue?033d","webpack://@openc3/cosmos-tool-cmdtlmserver/../openc3-tool-common/src/components/LogMessages.vue?971e","webpack://@openc3/cosmos-tool-cmdtlmserver/../openc3-tool-common/src/components/TopBar.vue","webpack://@openc3/cosmos-tool-cmdtlmserver/../openc3-tool-common/src/components/TopBar.vue?c4b5","webpack://@openc3/cosmos-tool-cmdtlmserver/../openc3-tool-common/src/components/TopBar.vue?a437","webpack://@openc3/cosmos-tool-cmdtlmserver/src/tools/CmdTlmServer/CmdTlmServer.vue","webpack://@openc3/cosmos-tool-cmdtlmserver/./src/tools/CmdTlmServer/CmdTlmServer.vue?0455","webpack://@openc3/cosmos-tool-cmdtlmserver/./src/tools/CmdTlmServer/CmdTlmServer.vue?2c2b","webpack://@openc3/cosmos-tool-cmdtlmserver/./src/tools/CmdTlmServer/CmdTlmServer.vue?2baf","webpack://@openc3/cosmos-tool-cmdtlmserver/../openc3-tool-common/src/components/TopBar.vue?92ac","webpack://@openc3/cosmos-tool-cmdtlmserver/./src/tools/CmdTlmServer/CmdTlmServer.vue?a5a0","webpack://@openc3/cosmos-tool-cmdtlmserver/../openc3-tool-common/src/components/TopBar.vue?9d44"],"sourcesContent":["var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[_c('top-bar',{attrs:{\"menus\":_vm.menus,\"title\":_vm.title}}),_vm._v(\" \"),_c('v-card',[_c('v-expansion-panels',{model:{value:(_vm.panel),callback:function ($$v) {_vm.panel=$$v},expression:\"panel\"}},[_c('v-expansion-panel',[_c('v-expansion-panel-header',[_c('v-tabs',{attrs:{\"fixed-tabs\":\"\"},model:{value:(_vm.curTab),callback:function ($$v) {_vm.curTab=$$v},expression:\"curTab\"}},_vm._l((_vm.tabs),function(tab,index){return _c('v-tab',{key:index,attrs:{\"to\":tab.url},nativeOn:{\"click\":function($event){$event.stopPropagation();}}},[_vm._v(\"\\n \"+_vm._s(tab.name)+\"\\n \")])}),1)],1),_vm._v(\" \"),_c('v-expansion-panel-content',[_c('router-view',{attrs:{\"refresh-interval\":_vm.refreshInterval}})],1)],1)],1)],1),_vm._v(\" \"),_c('div',{staticStyle:{\"height\":\"15px\"}}),_vm._v(\" \"),_c('log-messages'),_vm._v(\" \"),_c('v-dialog',{attrs:{\"max-width\":\"300\"},model:{value:(_vm.optionsDialog),callback:function ($$v) {_vm.optionsDialog=$$v},expression:\"optionsDialog\"}},[_c('v-card',[_c('v-system-bar',[_c('v-spacer'),_vm._v(\" \"),_c('span',[_vm._v(\"Options\")]),_vm._v(\" \"),_c('v-spacer')],1),_vm._v(\" \"),_c('div',{staticClass:\"pa-3\"},[_c('v-text-field',{attrs:{\"min\":\"0\",\"max\":\"10000\",\"step\":\"100\",\"type\":\"number\",\"label\":\"Refresh Interval (ms)\",\"value\":_vm.refreshInterval},on:{\"change\":function($event){_vm.refreshInterval = $event}}})],1)],1)],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('v-card',[_c('v-card-title',[_c('v-tooltip',{attrs:{\"top\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function({ on, attrs }){return [_c('div',_vm._g(_vm._b({},'div',attrs,false),on),[_c('v-btn',{staticClass:\"mx-2\",attrs:{\"icon\":\"\",\"data-test\":\"download-log\"},on:{\"click\":_vm.downloadLog}},[_c('v-icon',[_vm._v(\" mdi-download \")])],1)],1)]}}])},[_vm._v(\" \"),_c('span',[_vm._v(\" Download Log \")])]),_vm._v(\" \"),_c('span',[_vm._v(\" Log Messages \")]),_vm._v(\" \"),_c('v-tooltip',{attrs:{\"top\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function({ on, attrs }){return [_c('div',_vm._g(_vm._b({},'div',attrs,false),on),[_c('v-btn',{attrs:{\"icon\":\"\",\"data-test\":\"pause\"},on:{\"click\":_vm.pause}},[_c('v-icon',[_vm._v(\" \"+_vm._s(_vm.buttonIcon)+\" \")])],1)],1)]}}])},[_vm._v(\" \"),_c('span',[_vm._v(\" \"+_vm._s(_vm.buttonLabel)+\" \")])]),_vm._v(\" \"),_c('v-spacer'),_vm._v(\" \"),_c('v-select',{staticClass:\"mr-2\",staticStyle:{\"max-width\":\"150px\"},attrs:{\"label\":\"Filter by log level\",\"hide-details\":\"\",\"outlined\":\"\",\"dense\":\"\",\"items\":_vm.logLevels,\"data-test\":\"log-messages-level\"},model:{value:(_vm.logLevel),callback:function ($$v) {_vm.logLevel=$$v},expression:\"logLevel\"}}),_vm._v(\" \"),_c('v-spacer'),_vm._v(\" \"),_c('v-text-field',{staticClass:\"search\",staticStyle:{\"max-width\":\"300px\"},attrs:{\"label\":\"Search\",\"prepend-inner-icon\":\"mdi-magnify\",\"clearable\":\"\",\"outlined\":\"\",\"dense\":\"\",\"single-line\":\"\",\"hide-details\":\"\",\"data-test\":\"search-log-messages\"},model:{value:(_vm.search),callback:function ($$v) {_vm.search=$$v},expression:\"search\"}}),_vm._v(\" \"),_c('v-tooltip',{attrs:{\"top\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function({ on, attrs }){return [_c('div',_vm._g(_vm._b({},'div',attrs,false),on),[_c('v-btn',{staticClass:\"mx-2\",attrs:{\"icon\":\"\",\"data-test\":\"clear-log\"},on:{\"click\":_vm.clearLog}},[_c('v-icon',[_vm._v(\" mdi-delete \")])],1)],1)]}}])},[_vm._v(\" \"),_c('span',[_vm._v(\" Clear Log \")])])],1),_vm._v(\" \"),_c('v-data-table',{attrs:{\"headers\":_vm.headers,\"items\":_vm.shownData,\"search\":_vm.search,\"calculate-widths\":\"\",\"disable-pagination\":\"\",\"hide-default-footer\":\"\",\"multi-sort\":\"\",\"dense\":\"\",\"height\":\"70vh\",\"data-test\":\"log-messages\"},scopedSlots:_vm._u([{key:\"item.timestamp\",fn:function({ item }){return [_c('time',{attrs:{\"title\":item.timestamp,\"datetime\":item.timestamp}},[_vm._v(\"\\n \"+_vm._s(item.timestamp)+\"\\n \")])]}},{key:\"item.level\",fn:function({ item }){return [_c('span',{style:('display: inline-flex; color:' + _vm.getColor(item.level))},[_c('rux-status',{staticClass:\"mr-1\",attrs:{\"status\":_vm.getStatus(item.level)}}),_vm._v(\"\\n \"+_vm._s(item.level))],1)]}},{key:\"item.message\",fn:function({ item }){return [_c('div',{staticStyle:{\"white-space\":\"pre-wrap\"}},[_vm._v(_vm._s(item.message))])]}}])})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/*\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2022, OpenC3, Inc.\n# All Rights Reserved\n#\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\n*/\n\nimport * as ActionCable from '@rails/actioncable'\n//ActionCable.logger.enabled = true\nActionCable.ConnectionMonitor.staleThreshold = 10\n\nexport default class Cable {\n constructor(url = '/openc3-api/cable') {\n this._cable = null\n this._url = url\n }\n disconnect() {\n if (this._cable) {\n this._cable.disconnect()\n }\n }\n createSubscription(channel, scope, callbacks = {}, additionalOptions = {}) {\n return OpenC3Auth.updateToken(OpenC3Auth.defaultMinValidity).then(\n (refreshed) => {\n if (refreshed) {\n OpenC3Auth.setTokens()\n }\n if (this._cable == null) {\n let final_url =\n this._url +\n '?scope=' +\n encodeURIComponent(window.openc3Scope) +\n '&authorization=' +\n encodeURIComponent(localStorage.openc3Token)\n this._cable = ActionCable.createConsumer(final_url)\n }\n return this._cable.subscriptions.create(\n {\n channel,\n ...additionalOptions,\n },\n callbacks,\n )\n },\n )\n }\n recordPing() {\n this._cable.connection.monitor.recordPing()\n }\n}\n","import mod from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./LogMessages.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./LogMessages.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./LogMessages.vue?vue&type=template&id=eb64c908\"\nimport script from \"./LogMessages.vue?vue&type=script&lang=js\"\nexport * from \"./LogMessages.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('mounting-portal',{attrs:{\"mount-to\":\"#openc3-menu\",\"append\":\"\"}},[_c('v-row',{attrs:{\"no-gutters\":\"\"}},[_c('v-col',{attrs:{\"align-self\":\"end\"}},[_c('span',{staticClass:\"app-title mr-2\"},[_vm._v(_vm._s(_vm.title))])])],1),_vm._v(\" \"),_c('v-row',{staticClass:\"flex-nowrap\",attrs:{\"dense\":\"\"}},_vm._l((_vm.menus),function(menu,i){return _c('v-menu',{key:i,ref:\"topmenu\",refInFor:true,attrs:{\"offset-y\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function({ on, attrs }){return [_c('v-btn',_vm._g(_vm._b({staticClass:\"mx-1 menu-button\",attrs:{\"outlined\":\"\",\"data-test\":_vm.formatDT(`${_vm.title} ${menu.label}`)}},'v-btn',attrs,false),on),[_c('span',{domProps:{\"textContent\":_vm._s(menu.label)}}),_vm._v(\" \"),_c('v-icon',{staticClass:\"myicon\",attrs:{\"right\":\"\"}},[_vm._v(\" mdi-menu-down \")])],1)]}}],null,true)},[_vm._v(\" \"),_c('v-list',[_c('v-radio-group',{staticClass:\"ma-0 pa-0\",attrs:{\"value\":menu.radioGroup,\"hide-details\":\"\",\"dense\":\"\"}},[_vm._l((menu.items),function(option,j){return [(option.divider)?_c('v-divider',{key:j}):(option.subMenu && option.subMenu.length > 0)?_c('div',{key:j},[_c('v-menu',{key:_vm.k,attrs:{\"open-on-hover\":\"\",\"offset-x\":\"\",\"bottom\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function({ on, attrs }){return [_c('v-list-item',_vm._g(_vm._b({key:j,attrs:{\"disabled\":option.disabled}},'v-list-item',attrs,false),on),[(option.icon)?_c('v-list-item-icon',[_c('v-icon',{attrs:{\"disabled\":option.disabled}},[_vm._v(_vm._s(option.icon))])],1):_vm._e(),_vm._v(\" \"),(!option.radio && !option.checkbox)?_c('v-list-item-title',{style:('cursor: pointer;' +\n (option.disabled ? 'opacity: 0.2' : ''))},[_vm._v(_vm._s(option.label)+\"\\n \")]):_vm._e(),_vm._v(\" \"),_c('v-icon',[_vm._v(\" mdi-chevron-right \")])],1)]}}],null,true)},[_vm._v(\" \"),_c('v-list',_vm._l((option.subMenu),function(submenu,k){return _c('v-list-item',{key:k,on:{\"click\":function($event){return _vm.subMenuClick(submenu)}}},[(submenu.icon)?_c('v-list-item-icon',[_c('v-icon',[_vm._v(_vm._s(submenu.icon))])],1):_vm._e(),_vm._v(\" \"),_c('v-list-item-title',[_vm._v(_vm._s(submenu.label))])],1)}),1)],1)],1):_c('v-list-item',{key:j,attrs:{\"disabled\":option.disabled,\"data-test\":_vm.formatDT(`${_vm.title} ${menu.label} ${option.label}`)},on:{\"click\":function($event){return option.command(option)}}},[(option.radio)?_c('v-list-item-action',[_c('v-radio',{attrs:{\"color\":\"secondary\",\"label\":option.label,\"value\":option.label}})],1):_vm._e(),_vm._v(\" \"),(option.checkbox)?_c('v-list-item-action',[_c('v-checkbox',{attrs:{\"color\":\"secondary\",\"label\":option.label},model:{value:(option.checked),callback:function ($$v) {_vm.$set(option, \"checked\", $$v)},expression:\"option.checked\"}})],1):_vm._e(),_vm._v(\" \"),(option.icon)?_c('v-list-item-icon',[_c('v-icon',{attrs:{\"disabled\":option.disabled}},[_vm._v(_vm._s(option.icon))])],1):_vm._e(),_vm._v(\" \"),(!option.radio && !option.checkbox)?_c('v-list-item-title',{style:('cursor: pointer;' + (option.disabled ? 'opacity: 0.2' : ''))},[_vm._v(_vm._s(option.label))]):_vm._e()],1)]})],2)],1)],1)}),1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./TopBar.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./TopBar.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./TopBar.vue?vue&type=template&id=57d4fdd2&scoped=true\"\nimport script from \"./TopBar.vue?vue&type=script&lang=js\"\nexport * from \"./TopBar.vue?vue&type=script&lang=js\"\nimport style0 from \"./TopBar.vue?vue&type=style&index=0&id=57d4fdd2&prod&scoped=true&lang=css\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"57d4fdd2\",\n null\n \n)\n\nexport default component.exports","<!--\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2023, OpenC3, Inc.\n# All Rights Reserved\n#\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\n-->\n\n<template>\n <div>\n <top-bar :menus=\"menus\" :title=\"title\" />\n <v-card>\n <v-expansion-panels v-model=\"panel\">\n <v-expansion-panel>\n <v-expansion-panel-header>\n <v-tabs v-model=\"curTab\" fixed-tabs>\n <v-tab\n v-for=\"(tab, index) in tabs\"\n :key=\"index\"\n :to=\"tab.url\"\n @click.native.stop\n >\n {{ tab.name }}\n </v-tab>\n </v-tabs>\n </v-expansion-panel-header>\n <v-expansion-panel-content>\n <router-view :refresh-interval=\"refreshInterval\" />\n </v-expansion-panel-content>\n </v-expansion-panel>\n </v-expansion-panels>\n </v-card>\n <div style=\"height: 15px\" />\n <log-messages />\n <v-dialog v-model=\"optionsDialog\" max-width=\"300\">\n <v-card>\n <v-system-bar>\n <v-spacer />\n <span>Options</span>\n <v-spacer />\n </v-system-bar>\n <div class=\"pa-3\">\n <v-text-field\n min=\"0\"\n max=\"10000\"\n step=\"100\"\n type=\"number\"\n label=\"Refresh Interval (ms)\"\n :value=\"refreshInterval\"\n @change=\"refreshInterval = $event\"\n />\n </div>\n </v-card>\n </v-dialog>\n </div>\n</template>\n\n<script>\nimport LogMessages from '@openc3/tool-common/src/components/LogMessages'\nimport TopBar from '@openc3/tool-common/src/components/TopBar'\nexport default {\n components: {\n LogMessages,\n TopBar,\n },\n data() {\n return {\n title: 'CmdTlmServer',\n panel: 0,\n curTab: null,\n tabs: [\n {\n name: 'Interfaces',\n url: '/interfaces',\n },\n {\n name: 'Targets',\n url: '/targets',\n },\n {\n name: 'Cmd packets',\n url: '/cmd-packets',\n },\n {\n name: 'Tlm packets',\n url: '/tlm-packets',\n },\n {\n name: 'Routers',\n url: '/routers',\n },\n {\n name: 'Status',\n url: '/status',\n },\n ],\n updater: null,\n refreshInterval: 1000,\n optionsDialog: false,\n menus: [\n {\n label: 'File',\n items: [\n {\n label: 'Options',\n command: () => {\n this.optionsDialog = true\n },\n },\n ],\n },\n ],\n }\n },\n}\n</script>\n\n<style scoped>\n.v-expansion-panel-content :deep(.v-expansion-panel-content__wrap) {\n padding: 0px;\n}\n.v-list :deep(.v-label) {\n margin-left: 5px;\n}\n.v-list-item__icon {\n /* For some reason the default margin-right is huge */\n margin-right: 15px !important;\n}\n.v-list-item__title {\n color: white;\n}\n.v-expansion-panel-header {\n min-height: initial;\n padding: 0px;\n}\n</style>\n","import mod from \"-!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./CmdTlmServer.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./CmdTlmServer.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./CmdTlmServer.vue?vue&type=template&id=011262ba&scoped=true\"\nimport script from \"./CmdTlmServer.vue?vue&type=script&lang=js\"\nexport * from \"./CmdTlmServer.vue?vue&type=script&lang=js\"\nimport style0 from \"./CmdTlmServer.vue?vue&type=style&index=0&id=011262ba&prod&scoped=true&lang=css\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"011262ba\",\n null\n \n)\n\nexport default component.exports","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.v-expansion-panel-content[data-v-011262ba] .v-expansion-panel-content__wrap{padding:0}.v-list[data-v-011262ba] .v-label{margin-left:5px}.v-list-item__icon[data-v-011262ba]{margin-right:15px!important}.v-list-item__title[data-v-011262ba]{color:#fff}.v-expansion-panel-header[data-v-011262ba]{min-height:auto;padding:0}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.app-title[data-v-57d4fdd2]{font-size:2rem}.menu-button[data-v-57d4fdd2]{border-color:var(--color-border-interactive-muted)!important;background-color:var(--color-background-base-default)!important;padding-right:3px!important}span.v-btn__content span[data-v-57d4fdd2]{padding-right:5px}.myicon[data-v-57d4fdd2]{background-color:var(--color-background-surface-selected);border:1px solid currentColor;border-radius:3px;height:36px!important;width:36px!important}.v-list[data-v-57d4fdd2] .v-label{margin-left:5px}.v-list-item__icon[data-v-57d4fdd2]{margin-right:15px!important}.v-list-item__title[data-v-57d4fdd2]{color:#fff}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../../../../node_modules/css-loader/dist/cjs.js??clonedRuleSet-12.use[1]!../../../../../node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-12.use[2]!../../../../../node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-12.use[3]!../../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./CmdTlmServer.vue?vue&type=style&index=0&id=011262ba&prod&scoped=true&lang=css\");\nif(content.__esModule) content = content.default;\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../../../../../node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"57f7a0a7\", content, true, {\"sourceMap\":false,\"shadowMode\":false});","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../../../node_modules/css-loader/dist/cjs.js??clonedRuleSet-12.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-12.use[2]!../../../../node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-12.use[3]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./TopBar.vue?vue&type=style&index=0&id=57d4fdd2&prod&scoped=true&lang=css\");\nif(content.__esModule) content = content.default;\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../../../../node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"7de62207\", content, true, {\"sourceMap\":false,\"shadowMode\":false});"],"names":["cov_231tmhe4yn","actualCoverage","s","render","f","_vm","this","_c","_self","attrs","menus","title","_v","model","value","panel","callback","$$v","expression","curTab","_l","tabs","tab","index","key","url","nativeOn","$event","stopPropagation","_s","name","refreshInterval","staticStyle","optionsDialog","staticClass","on","staticRenderFns","scopedSlots","_u","fn","_g","_b","downloadLog","pause","buttonIcon","buttonLabel","logLevels","logLevel","search","clearLog","headers","shownData","item","timestamp","style","getColor","level","getStatus","message","ActionCable","staleThreshold","Cable","constructor","_cable","_url","disconnect","createSubscription","channel","scope","callbacks","additionalOptions","OpenC3Auth","updateToken","defaultMinValidity","then","refreshed","setTokens","final_url","encodeURIComponent","window","openc3Scope","localStorage","openc3Token","subscriptions","create","recordPing","connection","monitor","props","history_count","type","Number","default","data","AstroStatusColors","text","width","cable","subscription","paused","computed","watch","newVal","oldVal","created","destroyed","unsubscribe","methods","received","messages","length","splice","filter","map","formatDate","raw","json_class","result","i","nibble","toString","toUpperCase","replaceAll","reverse","concat","format","parseISO","UnknownToAstroStatus","output","entry","microservice_name","join","blob","Blob","link","document","createElement","href","URL","createObjectURL","setAttribute","Date","now","click","$dialog","confirm","okText","cancelText","dialog","catch","err","component","menu","ref","refInFor","formatDT","label","domProps","radioGroup","items","option","j","divider","subMenu","k","disabled","icon","_e","radio","checkbox","submenu","subMenuClick","command","checked","$set","Array","String","string","toLowerCase","$refs","topmenu","isActive","mounted","components","LogMessages","TopBar","updater","___CSS_LOADER_EXPORT___","push","module","id","content","__esModule","locals","exports","add"],"sourceRoot":""}
@@ -1,2 +0,0 @@
1
- "use strict";(self["webpackChunk_openc3_cosmos_tool_cmdtlmserver"]=self["webpackChunk_openc3_cosmos_tool_cmdtlmserver"]||[]).push([[694],{3694:(n,e,l)=>{function t(){var n="/openc3/plugins/packages/openc3-cosmos-tool-cmdtlmserver/src/tools/CmdTlmServer/InterfacesTab.vue",e="8915727e9b094fafdcf9c7e8d649d79fc9bc86cc",l=new Function("return this")(),o="__coverage__",c={path:"/openc3/plugins/packages/openc3-cosmos-tool-cmdtlmserver/src/tools/CmdTlmServer/InterfacesTab.vue",statementMap:{0:{start:{line:1,column:13},end:{line:2,column:1}},1:{start:{line:1,column:39},end:{line:1,column:43}},2:{start:{line:1,column:47},end:{line:1,column:59}},3:{start:{line:1,column:60},end:{line:1,column:1158}},4:{start:{line:1,column:413},end:{line:1,column:427}},5:{start:{line:1,column:786},end:{line:1,column:997}},6:{start:{line:1,column:903},end:{line:1,column:937}},7:{start:{line:1,column:1044},end:{line:1,column:1148}},8:{start:{line:3,column:22},end:{line:3,column:24}}},fnMap:{0:{name:"render",decl:{start:{line:1,column:22},end:{line:1,column:28}},loc:{start:{line:1,column:30},end:{line:2,column:1}},line:1},1:{name:"(anonymous_1)",decl:{start:{line:1,column:397},end:{line:1,column:398}},loc:{start:{line:1,column:412},end:{line:1,column:428}},line:1},2:{name:"(anonymous_2)",decl:{start:{line:1,column:767},end:{line:1,column:768}},loc:{start:{line:1,column:785},end:{line:1,column:998}},line:1},3:{name:"(anonymous_3)",decl:{start:{line:1,column:886},end:{line:1,column:887}},loc:{start:{line:1,column:902},end:{line:1,column:938}},line:1},4:{name:"(anonymous_4)",decl:{start:{line:1,column:1025},end:{line:1,column:1026}},loc:{start:{line:1,column:1043},end:{line:1,column:1149}},line:1}},branchMap:{},s:{0:0,1:0,2:0,3:0,4:0,5:0,6:0,7:0,8:0},f:{0:0,1:0,2:0,3:0,4:0},b:{},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"8915727e9b094fafdcf9c7e8d649d79fc9bc86cc"},i=l[o]||(l[o]={});i[n]&&i[n].hash===e||(i[n]=c);var s=i[n];return t=function(){return s},s}l.r(e),l.d(e,{default:()=>A}),t(),t().s[0]++;var o=function(){t().f[0]++;var n=(t().s[1]++,this),e=(t().s[2]++,n._self._c);return t().s[3]++,e("v-card",[e("v-card-title",[n._v("\n "+n._s(n.data.length)+" Interfaces\n "),e("v-spacer"),n._v(" "),e("v-text-field",{staticClass:"search",attrs:{label:"Search","prepend-inner-icon":"mdi-magnify",clearable:"",outlined:"",dense:"","single-line":"","hide-details":""},model:{value:n.search,callback:function(e){t().f[1]++,t().s[4]++,n.search=e},expression:"search"}})],1),n._v(" "),e("v-data-table",{attrs:{headers:n.headers,items:n.data,search:n.search,"custom-sort":n.sortTable,"items-per-page":10,"footer-props":{itemsPerPageOptions:[10,20,-1]},"calculate-widths":"","multi-sort":"","data-test":"interfaces-table"},scopedSlots:n._u([{key:"item.connect",fn:function({item:l}){return t().f[2]++,t().s[5]++,[e("v-btn",{attrs:{block:"",color:"primary",disabled:n.buttonsDisabled},on:{click:function(e){return t().f[3]++,t().s[6]++,n.connectDisconnect(l)}}},[n._v("\n "+n._s(l.connect)+"\n ")])]}},{key:"item.connected",fn:function({item:l}){return t().f[4]++,t().s[7]++,[e("span",{class:l.connectedClass},[n._v("\n "+n._s(l.connected)+"\n ")])]}}])})],1)},c=(t().s[8]++,[]),i=(l(309),l(4936),l(4872));function s(){var n="/openc3/plugins/packages/openc3-cosmos-tool-cmdtlmserver/src/tools/CmdTlmServer/InterfacesTab.vue",e="e8a5f30ad10450c8afd05dd883ff17b1464f9013",l=new Function("return this")(),t="__coverage__",o={path:"/openc3/plugins/packages/openc3-cosmos-tool-cmdtlmserver/src/tools/CmdTlmServer/InterfacesTab.vue",statementMap:{0:{start:{line:11,column:4},end:{line:32,column:5}},1:{start:{line:37,column:6},end:{line:84,column:8}},2:{start:{line:38,column:8},end:{line:83,column:9}},3:{start:{line:38,column:21},end:{line:38,column:22}},4:{start:{line:39,column:23},end:{line:39,column:31}},5:{start:{line:40,column:21},end:{line:40,column:30}},6:{start:{line:42,column:10},end:{line:82,column:11}},7:{start:{line:44,column:12},end:{line:46,column:13}},8:{start:{line:45,column:14},end:{line:45,column:22}},9:{start:{line:47,column:12},end:{line:59,column:13}},10:{start:{line:48,column:14},end:{line:52,column:15}},11:{start:{line:49,column:16},end:{line:49,column:25}},12:{start:{line:51,column:16},end:{line:51,column:24}},13:{start:{line:54,column:14},end:{line:58,column:15}},14:{start:{line:55,column:16},end:{line:55,column:24}},15:{start:{line:57,column:16},end:{line:57,column:25}},16:{start:{line:60,column:17},end:{line:82,column:11}},17:{start:{line:62,column:12},end:{line:64,column:13}},18:{start:{line:63,column:14},end:{line:63,column:22}},19:{start:{line:65,column:12},end:{line:70,column:13}},20:{start:{line:67,column:14},end:{line:67,column:55}},21:{start:{line:69,column:14},end:{line:69,column:55}},22:{start:{line:73,column:12},end:{line:75,column:13}},23:{start:{line:74,column:14},end:{line:74,column:22}},24:{start:{line:76,column:12},end:{line:81,column:13}},25:{start:{line:78,column:14},end:{line:78,column:42}},26:{start:{line:80,column:14},end:{line:80,column:42}},27:{start:{line:85,column:6},end:{line:85,column:18}},28:{start:{line:88,column:6},end:{line:88,column:33}},29:{start:{line:89,column:6},end:{line:93,column:7}},30:{start:{line:90,column:8},end:{line:90,column:45}},31:{start:{line:92,column:8},end:{line:92,column:48}},32:{start:{line:96,column:6},end:{line:96,column:43}},33:{start:{line:96,column:37},end:{line:96,column:43}},34:{start:{line:97,column:6},end:{line:127,column:8}},35:{start:{line:98,column:8},end:{line:98,column:22}},36:{start:{line:99,column:8},end:{line:125,column:9}},37:{start:{line:100,column:24},end:{line:100,column:28}},38:{start:{line:101,column:31},end:{line:101,column:35}},39:{start:{line:102,column:10},end:{line:111,column:11}},40:{start:{line:103,column:12},end:{line:103,column:31}},41:{start:{line:104,column:12},end:{line:104,column:43}},42:{start:{line:105,column:17},end:{line:111,column:11}},43:{start:{line:106,column:12},end:{line:106,column:34}},44:{start:{line:107,column:12},end:{line:107,column:43}},45:{start:{line:109,column:12},end:{line:109,column:30}},46:{start:{line:110,column:12},end:{line:110,column:41}},47:{start:{line:112,column:10},end:{line:124,column:12}},48:{start:{line:126,column:8},end:{line:126,column:36}}},fnMap:{0:{name:"(anonymous_0)",decl:{start:{line:10,column:2},end:{line:10,column:3}},loc:{start:{line:10,column:9},end:{line:33,column:3}},line:10},1:{name:"(anonymous_1)",decl:{start:{line:36,column:4},end:{line:36,column:5}},loc:{start:{line:36,column:36},end:{line:86,column:5}},line:36},2:{name:"(anonymous_2)",decl:{start:{line:37,column:17},end:{line:37,column:18}},loc:{start:{line:37,column:27},end:{line:84,column:7}},line:37},3:{name:"(anonymous_3)",decl:{start:{line:87,column:4},end:{line:87,column:5}},loc:{start:{line:87,column:28},end:{line:94,column:5}},line:87},4:{name:"(anonymous_4)",decl:{start:{line:95,column:4},end:{line:95,column:5}},loc:{start:{line:95,column:13},end:{line:128,column:5}},line:95},5:{name:"(anonymous_5)",decl:{start:{line:97,column:45},end:{line:97,column:46}},loc:{start:{line:97,column:55},end:{line:127,column:7}},line:97}},branchMap:{0:{loc:{start:{line:42,column:10},end:{line:82,column:11}},type:"if",locations:[{start:{line:42,column:10},end:{line:82,column:11}},{start:{line:60,column:17},end:{line:82,column:11}}],line:42},1:{loc:{start:{line:44,column:12},end:{line:46,column:13}},type:"if",locations:[{start:{line:44,column:12},end:{line:46,column:13}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:44},2:{loc:{start:{line:47,column:12},end:{line:59,column:13}},type:"if",locations:[{start:{line:47,column:12},end:{line:59,column:13}},{start:{line:53,column:19},end:{line:59,column:13}}],line:47},3:{loc:{start:{line:48,column:14},end:{line:52,column:15}},type:"if",locations:[{start:{line:48,column:14},end:{line:52,column:15}},{start:{line:50,column:21},end:{line:52,column:15}}],line:48},4:{loc:{start:{line:54,column:14},end:{line:58,column:15}},type:"if",locations:[{start:{line:54,column:14},end:{line:58,column:15}},{start:{line:56,column:21},end:{line:58,column:15}}],line:54},5:{loc:{start:{line:60,column:17},end:{line:82,column:11}},type:"if",locations:[{start:{line:60,column:17},end:{line:82,column:11}},{start:{line:71,column:17},end:{line:82,column:11}}],line:60},6:{loc:{start:{line:62,column:12},end:{line:64,column:13}},type:"if",locations:[{start:{line:62,column:12},end:{line:64,column:13}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:62},7:{loc:{start:{line:65,column:12},end:{line:70,column:13}},type:"if",locations:[{start:{line:65,column:12},end:{line:70,column:13}},{start:{line:68,column:19},end:{line:70,column:13}}],line:65},8:{loc:{start:{line:73,column:12},end:{line:75,column:13}},type:"if",locations:[{start:{line:73,column:12},end:{line:75,column:13}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:73},9:{loc:{start:{line:76,column:12},end:{line:81,column:13}},type:"if",locations:[{start:{line:76,column:12},end:{line:81,column:13}},{start:{line:79,column:19},end:{line:81,column:13}}],line:76},10:{loc:{start:{line:89,column:6},end:{line:93,column:7}},type:"if",locations:[{start:{line:89,column:6},end:{line:93,column:7}},{start:{line:91,column:13},end:{line:93,column:7}}],line:89},11:{loc:{start:{line:96,column:6},end:{line:96,column:43}},type:"if",locations:[{start:{line:96,column:6},end:{line:96,column:43}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:96},12:{loc:{start:{line:102,column:10},end:{line:111,column:11}},type:"if",locations:[{start:{line:102,column:10},end:{line:111,column:11}},{start:{line:105,column:17},end:{line:111,column:11}}],line:102},13:{loc:{start:{line:105,column:17},end:{line:111,column:11}},type:"if",locations:[{start:{line:105,column:17},end:{line:111,column:11}},{start:{line:108,column:17},end:{line:111,column:11}}],line:105}},s:{0:0,1:0,2:0,3:0,4:0,5:0,6:0,7:0,8:0,9:0,10:0,11:0,12:0,13:0,14:0,15:0,16:0,17:0,18:0,19:0,20:0,21:0,22:0,23:0,24:0,25:0,26:0,27:0,28:0,29:0,30:0,31:0,32:0,33:0,34:0,35:0,36:0,37:0,38:0,39:0,40:0,41:0,42:0,43:0,44:0,45:0,46:0,47:0,48:0},f:{0:0,1:0,2:0,3:0,4:0,5:0},b:{0:[0,0],1:[0,0],2:[0,0],3:[0,0],4:[0,0],5:[0,0],6:[0,0],7:[0,0],8:[0,0],9:[0,0],10:[0,0],11:[0,0],12:[0,0],13:[0,0]},inputSourceMap:{version:3,sources:["InterfacesTab.vue"],names:[],mappings:";AAsEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA",file:"InterfacesTab.vue",sourceRoot:"src/tools/CmdTlmServer",sourcesContent:["\x3c!--\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2022, OpenC3, Inc.\n# All Rights Reserved\n#\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\n--\x3e\n\n<template>\n <v-card>\n <v-card-title>\n {{ data.length }} Interfaces\n <v-spacer />\n <v-text-field\n v-model=\"search\"\n label=\"Search\"\n prepend-inner-icon=\"mdi-magnify\"\n clearable\n outlined\n dense\n single-line\n hide-details\n class=\"search\"\n />\n </v-card-title>\n <v-data-table\n :headers=\"headers\"\n :items=\"data\"\n :search=\"search\"\n :custom-sort=\"sortTable\"\n :items-per-page=\"10\"\n :footer-props=\"{ itemsPerPageOptions: [10, 20, -1] }\"\n calculate-widths\n multi-sort\n data-test=\"interfaces-table\"\n >\n <template v-slot:item.connect=\"{ item }\">\n <v-btn\n block\n color=\"primary\"\n :disabled=\"buttonsDisabled\"\n @click=\"connectDisconnect(item)\"\n >\n {{ item.connect }}\n </v-btn>\n </template>\n <template v-slot:item.connected=\"{ item }\">\n <span :class=\"item.connectedClass\">\n {{ item.connected }}\n </span>\n </template>\n </v-data-table>\n </v-card>\n</template>\n\n<script>\nimport Updater from './Updater'\n\nexport default {\n mixins: [Updater],\n props: {\n tabId: Number,\n curTab: Number,\n },\n data() {\n return {\n search: '',\n data: [],\n buttonsDisabled: false,\n headers: [\n { text: 'Name', value: 'name' },\n {\n text: 'Action',\n value: 'connect',\n sortable: false,\n filterable: false,\n },\n { text: 'Connected', value: 'connected' },\n { text: 'Clients', value: 'clients' },\n { text: 'Tx Q', value: 'tx_q_size' },\n { text: 'Rx Q', value: 'rx_q_size' },\n { text: 'Tx bytes', value: 'tx_bytes' },\n { text: 'Rx bytes', value: 'rx_bytes' },\n { text: 'Cmd pkts', value: 'cmd_pkts' },\n { text: 'Tlm pkts', value: 'tlm_pkts' },\n ],\n }\n },\n methods: {\n // Custom sort algorithm to allow the connected column to be sorted by CONNECTED first\n sortTable(items, index, isDesc) {\n items.sort((a, b) => {\n for (let i = 0; i < index.length; i++) {\n let column = index[i]\n let desc = isDesc[i]\n\n if (column === 'connected') {\n // Items are the same so continue to let subsequent column sorts apply\n if (a[column] === b[column]) {\n continue\n }\n if (!desc) {\n if (a[column] === 'CONNECTED') {\n return -1\n } else {\n return 1\n }\n } else {\n if (a[column] === 'CONNECTED') {\n return 1\n } else {\n return -1\n }\n }\n } else if (column === 'name') {\n // Items are the same so continue to let subsequent column sorts apply\n if (a[column] === b[column]) {\n continue\n }\n if (!desc) {\n // Strings so use localeCompare to sort\n return a[column].localeCompare(b[column])\n } else {\n return b[column].localeCompare(a[column])\n }\n } else {\n // Items are the same so continue to let subsequent column sorts apply\n if (a[column] === b[column]) {\n continue\n }\n if (!desc) {\n // The rest of the columns are numbers so just subtract to sort\n return a[column] - b[column]\n } else {\n return b[column] - a[column]\n }\n }\n }\n })\n return items\n },\n connectDisconnect(item) {\n this.buttonsDisabled = true\n if (item.connected === 'DISCONNECTED') {\n this.api.connect_interface(item.name)\n } else {\n this.api.disconnect_interface(item.name)\n }\n },\n update() {\n if (this.tabId != this.curTab) return\n this.api.get_all_interface_info().then((info) => {\n this.data = [] // Clear the old data\n for (let int of info) {\n let connect = null\n let connectedClass = null\n if (int[1] == 'DISCONNECTED') {\n connect = 'Connect'\n connectedClass = 'openc3-white'\n } else if (int[1] == 'CONNECTED') {\n connect = 'Disconnect'\n connectedClass = 'openc3-green'\n } else {\n connect = 'Cancel'\n connectedClass = 'openc3-red'\n }\n this.data.push({\n name: int[0],\n connect: connect,\n connectedClass: connectedClass,\n connected: int[1],\n clients: int[2],\n tx_q_size: int[3],\n rx_q_size: int[4],\n tx_bytes: int[5],\n rx_bytes: int[6],\n cmd_pkts: int[7],\n tlm_pkts: int[8],\n })\n }\n this.buttonsDisabled = false\n })\n },\n },\n}\n<\/script>\n"]},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"e8a5f30ad10450c8afd05dd883ff17b1464f9013"},c=l[t]||(l[t]={});c[n]&&c[n].hash===e||(c[n]=o);var i=c[n];return s=function(){return i},i}s();const a={mixins:[i.Z],props:{tabId:Number,curTab:Number},data(){return s().f[0]++,s().s[0]++,{search:"",data:[],buttonsDisabled:!1,headers:[{text:"Name",value:"name"},{text:"Action",value:"connect",sortable:!1,filterable:!1},{text:"Connected",value:"connected"},{text:"Clients",value:"clients"},{text:"Tx Q",value:"tx_q_size"},{text:"Rx Q",value:"rx_q_size"},{text:"Tx bytes",value:"tx_bytes"},{text:"Rx bytes",value:"rx_bytes"},{text:"Cmd pkts",value:"cmd_pkts"},{text:"Tlm pkts",value:"tlm_pkts"}]}},methods:{sortTable(n,e,l){return s().f[1]++,s().s[1]++,n.sort(((n,t)=>{s().f[2]++,s().s[2]++;for(let o=(s().s[3]++,0);o<e.length;o++){let c=(s().s[4]++,e[o]),i=(s().s[5]++,l[o]);if(s().s[6]++,"connected"===c){if(s().b[0][0]++,s().s[7]++,n[c]===t[c]){s().b[1][0]++,s().s[8]++;continue}return s().b[1][1]++,s().s[9]++,i?(s().b[2][1]++,s().s[13]++,"CONNECTED"===n[c]?(s().b[4][0]++,s().s[14]++,1):(s().b[4][1]++,s().s[15]++,-1)):(s().b[2][0]++,s().s[10]++,"CONNECTED"===n[c]?(s().b[3][0]++,s().s[11]++,-1):(s().b[3][1]++,s().s[12]++,1))}if(s().b[0][1]++,s().s[16]++,"name"===c){if(s().b[5][0]++,s().s[17]++,n[c]===t[c]){s().b[6][0]++,s().s[18]++;continue}return s().b[6][1]++,s().s[19]++,i?(s().b[7][1]++,s().s[21]++,t[c].localeCompare(n[c])):(s().b[7][0]++,s().s[20]++,n[c].localeCompare(t[c]))}if(s().b[5][1]++,s().s[22]++,n[c]!==t[c])return s().b[8][1]++,s().s[24]++,i?(s().b[9][1]++,s().s[26]++,t[c]-n[c]):(s().b[9][0]++,s().s[25]++,n[c]-t[c]);s().b[8][0]++,s().s[23]++}})),s().s[27]++,n},connectDisconnect(n){s().f[3]++,s().s[28]++,this.buttonsDisabled=!0,s().s[29]++,"DISCONNECTED"===n.connected?(s().b[10][0]++,s().s[30]++,this.api.connect_interface(n.name)):(s().b[10][1]++,s().s[31]++,this.api.disconnect_interface(n.name))},update(){if(s().f[4]++,s().s[32]++,this.tabId!=this.curTab)return s().b[11][0]++,void s().s[33]++;s().b[11][1]++,s().s[34]++,this.api.get_all_interface_info().then((n=>{s().f[5]++,s().s[35]++,this.data=[],s().s[36]++;for(let e of n){let n=(s().s[37]++,null),l=(s().s[38]++,null);s().s[39]++,"DISCONNECTED"==e[1]?(s().b[12][0]++,s().s[40]++,n="Connect",s().s[41]++,l="openc3-white"):(s().b[12][1]++,s().s[42]++,"CONNECTED"==e[1]?(s().b[13][0]++,s().s[43]++,n="Disconnect",s().s[44]++,l="openc3-green"):(s().b[13][1]++,s().s[45]++,n="Cancel",s().s[46]++,l="openc3-red")),s().s[47]++,this.data.push({name:e[0],connect:n,connectedClass:l,connected:e[1],clients:e[2],tx_q_size:e[3],rx_q_size:e[4],tx_bytes:e[5],rx_bytes:e[6],cmd_pkts:e[7],tlm_pkts:e[8]})}s().s[48]++,this.buttonsDisabled=!1}))}}},u=a;var m=l(3483),r=(0,m.Z)(u,o,c,!1,null,null,null);const A=r.exports}}]);
2
- //# sourceMappingURL=694.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"js/694.js","mappings":"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","sources":["webpack://@openc3/cosmos-tool-cmdtlmserver/./src/tools/CmdTlmServer/InterfacesTab.vue","webpack://@openc3/cosmos-tool-cmdtlmserver/src/tools/CmdTlmServer/InterfacesTab.vue","webpack://@openc3/cosmos-tool-cmdtlmserver/./src/tools/CmdTlmServer/InterfacesTab.vue?4098","webpack://@openc3/cosmos-tool-cmdtlmserver/./src/tools/CmdTlmServer/InterfacesTab.vue?cd05"],"sourcesContent":["var render = function render(){var _vm=this,_c=_vm._self._c;return _c('v-card',[_c('v-card-title',[_vm._v(\"\\n \"+_vm._s(_vm.data.length)+\" Interfaces\\n \"),_c('v-spacer'),_vm._v(\" \"),_c('v-text-field',{staticClass:\"search\",attrs:{\"label\":\"Search\",\"prepend-inner-icon\":\"mdi-magnify\",\"clearable\":\"\",\"outlined\":\"\",\"dense\":\"\",\"single-line\":\"\",\"hide-details\":\"\"},model:{value:(_vm.search),callback:function ($$v) {_vm.search=$$v},expression:\"search\"}})],1),_vm._v(\" \"),_c('v-data-table',{attrs:{\"headers\":_vm.headers,\"items\":_vm.data,\"search\":_vm.search,\"custom-sort\":_vm.sortTable,\"items-per-page\":10,\"footer-props\":{ itemsPerPageOptions: [10, 20, -1] },\"calculate-widths\":\"\",\"multi-sort\":\"\",\"data-test\":\"interfaces-table\"},scopedSlots:_vm._u([{key:\"item.connect\",fn:function({ item }){return [_c('v-btn',{attrs:{\"block\":\"\",\"color\":\"primary\",\"disabled\":_vm.buttonsDisabled},on:{\"click\":function($event){return _vm.connectDisconnect(item)}}},[_vm._v(\"\\n \"+_vm._s(item.connect)+\"\\n \")])]}},{key:\"item.connected\",fn:function({ item }){return [_c('span',{class:item.connectedClass},[_vm._v(\"\\n \"+_vm._s(item.connected)+\"\\n \")])]}}])})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<!--\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2022, OpenC3, Inc.\n# All Rights Reserved\n#\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\n-->\n\n<template>\n <v-card>\n <v-card-title>\n {{ data.length }} Interfaces\n <v-spacer />\n <v-text-field\n v-model=\"search\"\n label=\"Search\"\n prepend-inner-icon=\"mdi-magnify\"\n clearable\n outlined\n dense\n single-line\n hide-details\n class=\"search\"\n />\n </v-card-title>\n <v-data-table\n :headers=\"headers\"\n :items=\"data\"\n :search=\"search\"\n :custom-sort=\"sortTable\"\n :items-per-page=\"10\"\n :footer-props=\"{ itemsPerPageOptions: [10, 20, -1] }\"\n calculate-widths\n multi-sort\n data-test=\"interfaces-table\"\n >\n <template v-slot:item.connect=\"{ item }\">\n <v-btn\n block\n color=\"primary\"\n :disabled=\"buttonsDisabled\"\n @click=\"connectDisconnect(item)\"\n >\n {{ item.connect }}\n </v-btn>\n </template>\n <template v-slot:item.connected=\"{ item }\">\n <span :class=\"item.connectedClass\">\n {{ item.connected }}\n </span>\n </template>\n </v-data-table>\n </v-card>\n</template>\n\n<script>\nimport Updater from './Updater'\n\nexport default {\n mixins: [Updater],\n props: {\n tabId: Number,\n curTab: Number,\n },\n data() {\n return {\n search: '',\n data: [],\n buttonsDisabled: false,\n headers: [\n { text: 'Name', value: 'name' },\n {\n text: 'Action',\n value: 'connect',\n sortable: false,\n filterable: false,\n },\n { text: 'Connected', value: 'connected' },\n { text: 'Clients', value: 'clients' },\n { text: 'Tx Q', value: 'tx_q_size' },\n { text: 'Rx Q', value: 'rx_q_size' },\n { text: 'Tx bytes', value: 'tx_bytes' },\n { text: 'Rx bytes', value: 'rx_bytes' },\n { text: 'Cmd pkts', value: 'cmd_pkts' },\n { text: 'Tlm pkts', value: 'tlm_pkts' },\n ],\n }\n },\n methods: {\n // Custom sort algorithm to allow the connected column to be sorted by CONNECTED first\n sortTable(items, index, isDesc) {\n items.sort((a, b) => {\n for (let i = 0; i < index.length; i++) {\n let column = index[i]\n let desc = isDesc[i]\n\n if (column === 'connected') {\n // Items are the same so continue to let subsequent column sorts apply\n if (a[column] === b[column]) {\n continue\n }\n if (!desc) {\n if (a[column] === 'CONNECTED') {\n return -1\n } else {\n return 1\n }\n } else {\n if (a[column] === 'CONNECTED') {\n return 1\n } else {\n return -1\n }\n }\n } else if (column === 'name') {\n // Items are the same so continue to let subsequent column sorts apply\n if (a[column] === b[column]) {\n continue\n }\n if (!desc) {\n // Strings so use localeCompare to sort\n return a[column].localeCompare(b[column])\n } else {\n return b[column].localeCompare(a[column])\n }\n } else {\n // Items are the same so continue to let subsequent column sorts apply\n if (a[column] === b[column]) {\n continue\n }\n if (!desc) {\n // The rest of the columns are numbers so just subtract to sort\n return a[column] - b[column]\n } else {\n return b[column] - a[column]\n }\n }\n }\n })\n return items\n },\n connectDisconnect(item) {\n this.buttonsDisabled = true\n if (item.connected === 'DISCONNECTED') {\n this.api.connect_interface(item.name)\n } else {\n this.api.disconnect_interface(item.name)\n }\n },\n update() {\n if (this.tabId != this.curTab) return\n this.api.get_all_interface_info().then((info) => {\n this.data = [] // Clear the old data\n for (let int of info) {\n let connect = null\n let connectedClass = null\n if (int[1] == 'DISCONNECTED') {\n connect = 'Connect'\n connectedClass = 'openc3-white'\n } else if (int[1] == 'CONNECTED') {\n connect = 'Disconnect'\n connectedClass = 'openc3-green'\n } else {\n connect = 'Cancel'\n connectedClass = 'openc3-red'\n }\n this.data.push({\n name: int[0],\n connect: connect,\n connectedClass: connectedClass,\n connected: int[1],\n clients: int[2],\n tx_q_size: int[3],\n rx_q_size: int[4],\n tx_bytes: int[5],\n rx_bytes: int[6],\n cmd_pkts: int[7],\n tlm_pkts: int[8],\n })\n }\n this.buttonsDisabled = false\n })\n },\n },\n}\n</script>\n","import mod from \"-!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./InterfacesTab.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./InterfacesTab.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./InterfacesTab.vue?vue&type=template&id=89ec135c\"\nimport script from \"./InterfacesTab.vue?vue&type=script&lang=js\"\nexport * from \"./InterfacesTab.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports"],"names":["cov_z1n112vt","actualCoverage","s","render","f","_vm","this","_c","_self","_v","_s","data","length","staticClass","attrs","model","value","search","callback","$$v","expression","headers","sortTable","itemsPerPageOptions","scopedSlots","_u","key","fn","item","buttonsDisabled","on","$event","connectDisconnect","connect","class","connectedClass","connected","staticRenderFns","mixins","Updater","props","tabId","Number","curTab","text","sortable","filterable","methods","items","index","isDesc","sort","a","b","i","column","desc","localeCompare","api","connect_interface","name","disconnect_interface","update","get_all_interface_info","then","info","int","push","clients","tx_q_size","rx_q_size","tx_bytes","rx_bytes","cmd_pkts","tlm_pkts","component"],"sourceRoot":""}
@@ -1,2 +0,0 @@
1
- "use strict";(self["webpackChunk_openc3_cosmos_tool_cmdtlmserver"]=self["webpackChunk_openc3_cosmos_tool_cmdtlmserver"]||[]).push([[699],{7146:(t,e,n)=>{n.d(e,{ju:()=>c,zD:()=>w});var i={logger:self.console,WebSocket:self.WebSocket},r={log(...t){this.enabled&&(t.push(Date.now()),i.logger.log("[ActionCable]",...t))}};const o=()=>(new Date).getTime(),s=t=>(o()-t)/1e3;class c{constructor(t){this.visibilityDidChange=this.visibilityDidChange.bind(this),this.connection=t,this.reconnectAttempts=0}start(){this.isRunning()||(this.startedAt=o(),delete this.stoppedAt,this.startPolling(),addEventListener("visibilitychange",this.visibilityDidChange),r.log(`ConnectionMonitor started. stale threshold = ${this.constructor.staleThreshold} s`))}stop(){this.isRunning()&&(this.stoppedAt=o(),this.stopPolling(),removeEventListener("visibilitychange",this.visibilityDidChange),r.log("ConnectionMonitor stopped"))}isRunning(){return this.startedAt&&!this.stoppedAt}recordPing(){this.pingedAt=o()}recordConnect(){this.reconnectAttempts=0,this.recordPing(),delete this.disconnectedAt,r.log("ConnectionMonitor recorded connect")}recordDisconnect(){this.disconnectedAt=o(),r.log("ConnectionMonitor recorded disconnect")}startPolling(){this.stopPolling(),this.poll()}stopPolling(){clearTimeout(this.pollTimeout)}poll(){this.pollTimeout=setTimeout((()=>{this.reconnectIfStale(),this.poll()}),this.getPollInterval())}getPollInterval(){const{staleThreshold:t,reconnectionBackoffRate:e}=this.constructor,n=Math.pow(1+e,Math.min(this.reconnectAttempts,10)),i=0===this.reconnectAttempts?1:e,r=i*Math.random();return 1e3*t*n*(1+r)}reconnectIfStale(){this.connectionIsStale()&&(r.log(`ConnectionMonitor detected stale connection. reconnectAttempts = ${this.reconnectAttempts}, time stale = ${s(this.refreshedAt)} s, stale threshold = ${this.constructor.staleThreshold} s`),this.reconnectAttempts++,this.disconnectedRecently()?r.log(`ConnectionMonitor skipping reopening recent disconnect. time disconnected = ${s(this.disconnectedAt)} s`):(r.log("ConnectionMonitor reopening"),this.connection.reopen()))}get refreshedAt(){return this.pingedAt?this.pingedAt:this.startedAt}connectionIsStale(){return s(this.refreshedAt)>this.constructor.staleThreshold}disconnectedRecently(){return this.disconnectedAt&&s(this.disconnectedAt)<this.constructor.staleThreshold}visibilityDidChange(){"visible"===document.visibilityState&&setTimeout((()=>{!this.connectionIsStale()&&this.connection.isOpen()||(r.log(`ConnectionMonitor reopening stale connection on visibilitychange. visibilityState = ${document.visibilityState}`),this.connection.reopen())}),200)}}c.staleThreshold=6,c.reconnectionBackoffRate=.15;var a={message_types:{welcome:"welcome",disconnect:"disconnect",ping:"ping",confirmation:"confirm_subscription",rejection:"reject_subscription"},disconnect_reasons:{unauthorized:"unauthorized",invalid_request:"invalid_request",server_restart:"server_restart",remote:"remote"},default_mount_path:"/cable",protocols:["actioncable-v1-json","actioncable-unsupported"]};const{message_types:u,protocols:l}=a,h=l.slice(0,l.length-1),d=[].indexOf;class p{constructor(t){this.open=this.open.bind(this),this.consumer=t,this.subscriptions=this.consumer.subscriptions,this.monitor=new c(this),this.disconnected=!0}send(t){return!!this.isOpen()&&(this.webSocket.send(JSON.stringify(t)),!0)}open(){if(this.isActive())return r.log(`Attempted to open WebSocket, but existing socket is ${this.getState()}`),!1;{const t=[...l,...this.consumer.subprotocols||[]];return r.log(`Opening WebSocket, current state is ${this.getState()}, subprotocols: ${t}`),this.webSocket&&this.uninstallEventHandlers(),this.webSocket=new i.WebSocket(this.consumer.url,t),this.installEventHandlers(),this.monitor.start(),!0}}close({allowReconnect:t}={allowReconnect:!0}){if(t||this.monitor.stop(),this.isOpen())return this.webSocket.close()}reopen(){if(r.log(`Reopening WebSocket, current state is ${this.getState()}`),!this.isActive())return this.open();try{return this.close()}catch(t){r.log("Failed to reopen WebSocket",t)}finally{r.log(`Reopening WebSocket in ${this.constructor.reopenDelay}ms`),setTimeout(this.open,this.constructor.reopenDelay)}}getProtocol(){if(this.webSocket)return this.webSocket.protocol}isOpen(){return this.isState("open")}isActive(){return this.isState("open","connecting")}triedToReconnect(){return this.monitor.reconnectAttempts>0}isProtocolSupported(){return d.call(h,this.getProtocol())>=0}isState(...t){return d.call(t,this.getState())>=0}getState(){if(this.webSocket)for(let t in i.WebSocket)if(i.WebSocket[t]===this.webSocket.readyState)return t.toLowerCase();return null}installEventHandlers(){for(let t in this.events){const e=this.events[t].bind(this);this.webSocket[`on${t}`]=e}}uninstallEventHandlers(){for(let t in this.events)this.webSocket[`on${t}`]=function(){}}}p.reopenDelay=500,p.prototype.events={message(t){if(!this.isProtocolSupported())return;const{identifier:e,message:n,reason:i,reconnect:o,type:s}=JSON.parse(t.data);switch(s){case u.welcome:return this.triedToReconnect()&&(this.reconnectAttempted=!0),this.monitor.recordConnect(),this.subscriptions.reload();case u.disconnect:return r.log(`Disconnecting. Reason: ${i}`),this.close({allowReconnect:o});case u.ping:return this.monitor.recordPing();case u.confirmation:return this.subscriptions.confirmSubscription(e),this.reconnectAttempted?(this.reconnectAttempted=!1,this.subscriptions.notify(e,"connected",{reconnected:!0})):this.subscriptions.notify(e,"connected",{reconnected:!1});case u.rejection:return this.subscriptions.reject(e);default:return this.subscriptions.notify(e,"received",n)}},open(){if(r.log(`WebSocket onopen event, using '${this.getProtocol()}' subprotocol`),this.disconnected=!1,!this.isProtocolSupported())return r.log("Protocol is unsupported. Stopping monitor and disconnecting."),this.close({allowReconnect:!1})},close(t){if(r.log("WebSocket onclose event"),!this.disconnected)return this.disconnected=!0,this.monitor.recordDisconnect(),this.subscriptions.notifyAll("disconnected",{willAttemptReconnect:this.monitor.isRunning()})},error(){r.log("WebSocket onerror event")}};const g=function(t,e){if(null!=e)for(let n in e){const i=e[n];t[n]=i}return t};class f{constructor(t,e={},n){this.consumer=t,this.identifier=JSON.stringify(e),g(this,n)}perform(t,e={}){return e.action=t,this.send(e)}send(t){return this.consumer.send({command:"message",identifier:this.identifier,data:JSON.stringify(t)})}unsubscribe(){return this.consumer.subscriptions.remove(this)}}class m{constructor(t){this.subscriptions=t,this.pendingSubscriptions=[]}guarantee(t){-1==this.pendingSubscriptions.indexOf(t)?(r.log(`SubscriptionGuarantor guaranteeing ${t.identifier}`),this.pendingSubscriptions.push(t)):r.log(`SubscriptionGuarantor already guaranteeing ${t.identifier}`),this.startGuaranteeing()}forget(t){r.log(`SubscriptionGuarantor forgetting ${t.identifier}`),this.pendingSubscriptions=this.pendingSubscriptions.filter((e=>e!==t))}startGuaranteeing(){this.stopGuaranteeing(),this.retrySubscribing()}stopGuaranteeing(){clearTimeout(this.retryTimeout)}retrySubscribing(){this.retryTimeout=setTimeout((()=>{this.subscriptions&&"function"===typeof this.subscriptions.subscribe&&this.pendingSubscriptions.map((t=>{r.log(`SubscriptionGuarantor resubscribing ${t.identifier}`),this.subscriptions.subscribe(t)}))}),500)}}class b{constructor(t){this.consumer=t,this.guarantor=new m(this),this.subscriptions=[]}create(t,e){const n=t,i="object"===typeof n?n:{channel:n},r=new f(this.consumer,i,e);return this.add(r)}add(t){return this.subscriptions.push(t),this.consumer.ensureActiveConnection(),this.notify(t,"initialized"),this.subscribe(t),t}remove(t){return this.forget(t),this.findAll(t.identifier).length||this.sendCommand(t,"unsubscribe"),t}reject(t){return this.findAll(t).map((t=>(this.forget(t),this.notify(t,"rejected"),t)))}forget(t){return this.guarantor.forget(t),this.subscriptions=this.subscriptions.filter((e=>e!==t)),t}findAll(t){return this.subscriptions.filter((e=>e.identifier===t))}reload(){return this.subscriptions.map((t=>this.subscribe(t)))}notifyAll(t,...e){return this.subscriptions.map((n=>this.notify(n,t,...e)))}notify(t,e,...n){let i;return i="string"===typeof t?this.findAll(t):[t],i.map((t=>"function"===typeof t[e]?t[e](...n):void 0))}subscribe(t){this.sendCommand(t,"subscribe")&&this.guarantor.guarantee(t)}confirmSubscription(t){r.log(`Subscription confirmed ${t}`),this.findAll(t).map((t=>this.guarantor.forget(t)))}sendCommand(t,e){const{identifier:n}=t;return this.consumer.send({command:e,identifier:n})}}class v{constructor(t){this._url=t,this.subscriptions=new b(this),this.connection=new p(this),this.subprotocols=[]}get url(){return S(this._url)}send(t){return this.connection.send(t)}connect(){return this.connection.open()}disconnect(){return this.connection.close({allowReconnect:!1})}ensureActiveConnection(){if(!this.connection.isActive())return this.connection.open()}addSubProtocol(t){this.subprotocols=[...this.subprotocols,t]}}function S(t){if("function"===typeof t&&(t=t()),t&&!/^wss?:/i.test(t)){const e=document.createElement("a");return e.href=t,e.href=e.href,e.protocol=e.protocol.replace("http","ws"),e.href}return t}function w(t=y("url")||a.default_mount_path){return new v(t)}function y(t){const e=document.head.querySelector(`meta[name='action-cable-${t}']`);if(e)return e.getAttribute("content")}},5488:(t,e,n)=>{n.d(e,{Z:()=>c});Math.pow(10,8);var i=6e4,r=36e5,o=n(9785),s=n(2765);function c(t,e){var n;(0,o.Z)(1,arguments);var i=(0,s.Z)(null!==(n=null===e||void 0===e?void 0:e.additionalDigits)&&void 0!==n?n:2);if(2!==i&&1!==i&&0!==i)throw new RangeError("additionalDigits must be 0, 1 or 2");if("string"!==typeof t&&"[object String]"!==Object.prototype.toString.call(t))return new Date(NaN);var r,c=d(t);if(c.date){var a=p(c.date,i);r=g(a.restDateString,a.year)}if(!r||isNaN(r.getTime()))return new Date(NaN);var u,l=r.getTime(),h=0;if(c.time&&(h=m(c.time),isNaN(h)))return new Date(NaN);if(!c.timezone){var f=new Date(l+h),b=new Date(0);return b.setFullYear(f.getUTCFullYear(),f.getUTCMonth(),f.getUTCDate()),b.setHours(f.getUTCHours(),f.getUTCMinutes(),f.getUTCSeconds(),f.getUTCMilliseconds()),b}return u=v(c.timezone),isNaN(u)?new Date(NaN):new Date(l+h+u)}var a={dateTimeDelimiter:/[T ]/,timeZoneDelimiter:/[Z ]/i,timezone:/([Z+-].*)$/},u=/^-?(?:(\d{3})|(\d{2})(?:-?(\d{2}))?|W(\d{2})(?:-?(\d{1}))?|)$/,l=/^(\d{2}(?:[.,]\d*)?)(?::?(\d{2}(?:[.,]\d*)?))?(?::?(\d{2}(?:[.,]\d*)?))?$/,h=/^([+-])(\d{2})(?::?(\d{2}))?$/;function d(t){var e,n={},i=t.split(a.dateTimeDelimiter);if(i.length>2)return n;if(/:/.test(i[0])?e=i[0]:(n.date=i[0],e=i[1],a.timeZoneDelimiter.test(n.date)&&(n.date=t.split(a.timeZoneDelimiter)[0],e=t.substr(n.date.length,t.length))),e){var r=a.timezone.exec(e);r?(n.time=e.replace(r[1],""),n.timezone=r[1]):n.time=e}return n}function p(t,e){var n=new RegExp("^(?:(\\d{4}|[+-]\\d{"+(4+e)+"})|(\\d{2}|[+-]\\d{"+(2+e)+"})$)"),i=t.match(n);if(!i)return{year:NaN,restDateString:""};var r=i[1]?parseInt(i[1]):null,o=i[2]?parseInt(i[2]):null;return{year:null===o?r:100*o,restDateString:t.slice((i[1]||i[2]).length)}}function g(t,e){if(null===e)return new Date(NaN);var n=t.match(u);if(!n)return new Date(NaN);var i=!!n[4],r=f(n[1]),o=f(n[2])-1,s=f(n[3]),c=f(n[4]),a=f(n[5])-1;if(i)return T(e,c,a)?S(e,c,a):new Date(NaN);var l=new Date(0);return A(e,o,s)&&D(e,r)?(l.setUTCFullYear(e,o,Math.max(r,s)),l):new Date(NaN)}function f(t){return t?parseInt(t):1}function m(t){var e=t.match(l);if(!e)return NaN;var n=b(e[1]),o=b(e[2]),s=b(e[3]);return C(n,o,s)?n*r+o*i+1e3*s:NaN}function b(t){return t&&parseFloat(t.replace(",","."))||0}function v(t){if("Z"===t)return 0;var e=t.match(h);if(!e)return 0;var n="+"===e[1]?-1:1,o=parseInt(e[2]),s=e[3]&&parseInt(e[3])||0;return N(o,s)?n*(o*r+s*i):NaN}function S(t,e,n){var i=new Date(0);i.setUTCFullYear(t,0,4);var r=i.getUTCDay()||7,o=7*(e-1)+n+1-r;return i.setUTCDate(i.getUTCDate()+o),i}var w=[31,null,31,30,31,30,31,31,30,31,30,31];function y(t){return t%400===0||t%4===0&&t%100!==0}function A(t,e,n){return e>=0&&e<=11&&n>=1&&n<=(w[e]||(y(t)?29:28))}function D(t,e){return e>=1&&e<=(y(t)?366:365)}function T(t,e,n){return e>=1&&e<=53&&n>=0&&n<=6}function C(t,e,n){return 24===t?0===e&&0===n:n>=0&&n<60&&e>=0&&e<60&&t>=0&&t<25}function N(t,e){return e>=0&&e<=59}},9887:(t,e,n)=>{var i=n(6148),r=TypeError;t.exports=function(t,e){if(i(e,t))return t;throw new r("Incorrect invocation")}},7686:(t,e,n)=>{var i=n(9668);t.exports=i([].slice)},3097:(t,e,n)=>{var i=n(7686),r=Math.floor,o=function(t,e){var n=t.length;if(n<8){var s,c,a=1;while(a<n){c=a,s=t[a];while(c&&e(t[c-1],s)>0)t[c]=t[--c];c!==a++&&(t[c]=s)}}else{var u=r(n/2),l=o(i(t,0,u),e),h=o(i(t,u),e),d=l.length,p=h.length,g=0,f=0;while(g<d||f<p)t[g+f]=g<d&&f<p?e(l[g],h[f])<=0?l[g++]:h[f++]:g<d?l[g++]:h[f++]}return t};t.exports=o},9393:(t,e,n)=>{var i=n(1135),r=n(2131);t.exports=function(t,e,n){return n.get&&i(n.get,e,{getter:!0}),n.set&&i(n.set,e,{setter:!0}),r.f(t,e,n)}},9700:(t,e,n)=>{var i=n(2470);t.exports=function(t,e,n){for(var r in e)i(t,r,e[r],n);return t}},4162:(t,e,n)=>{var i=n(5033),r=n(1052),o=n(6398),s=i(i.bind);t.exports=function(t,e){return r(t),void 0===e?t:o?s(t,e):function(){return t.apply(e,arguments)}}},5033:(t,e,n)=>{var i=n(2177),r=n(9668);t.exports=function(t){if("Function"===i(t))return r(t)}},8674:(t,e,n)=>{var i=n(1566),r=n(5383),o=n(5268),s=n(8515),c=n(2032),a=c("iterator");t.exports=function(t){if(!o(t))return r(t,a)||r(t,"@@iterator")||s[i(t)]}},4406:(t,e,n)=>{var i=n(8724),r=n(1052),o=n(9175),s=n(3397),c=n(8674),a=TypeError;t.exports=function(t,e){var n=arguments.length<2?c(t):e;if(r(n))return o(i(n,t));throw new a(s(t)+" is not iterable")}},2407:(t,e,n)=>{var i=n(2032),r=n(8515),o=i("iterator"),s=Array.prototype;t.exports=function(t){return void 0!==t&&(r.Array===t||s[o]===t)}},9710:(t,e,n)=>{var i=n(5309),r=n(2177),o=n(2032),s=o("match");t.exports=function(t){var e;return i(t)&&(void 0!==(e=t[s])?!!e:"RegExp"===r(t))}},976:(t,e,n)=>{var i=n(8724),r=n(4678),o=n(6148),s=n(7929),c=RegExp.prototype;t.exports=function(t){var e=t.flags;return void 0!==e||"flags"in c||r(t,"flags")||!o(c,t)?e:i(s,t)}},4597:(t,e,n)=>{var i=n(5532),r=n(8724),o=n(9668),s=n(1166),c=n(688),a=n(5268),u=n(9710),l=n(599),h=n(5383),d=n(976),p=n(6889),g=n(2032),f=n(6555),m=g("replace"),b=TypeError,v=o("".indexOf),S=o("".replace),w=o("".slice),y=Math.max;i({target:"String",proto:!0},{replaceAll:function(t,e){var n,i,o,g,A,D,T,C,N,k=s(this),$=0,x=0,R="";if(!a(t)){if(n=u(t),n&&(i=l(s(d(t))),!~v(i,"g")))throw new b("`.replaceAll` does not allow non-global regexes");if(o=h(t,m),o)return r(o,t,k,e);if(f&&n)return S(l(k),t,e)}g=l(k),A=l(t),D=c(e),D||(e=l(e)),T=A.length,C=y(1,T),$=v(g,A);while(-1!==$)N=D?l(e(A,$,g)):p(A,g,$,[],void 0,e),R+=w(g,x,$)+N,x=$+T,$=$+C>g.length?-1:v(g,A,$+C);return x<g.length&&(R+=w(g,x)),R}})}}]);
2
- //# sourceMappingURL=699.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"js/699.js","mappings":"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","sources":["webpack://@openc3/cosmos-tool-cmdtlmserver/../../node_modules/@rails/actioncable/app/assets/javascripts/actioncable.esm.js","webpack://@openc3/cosmos-tool-cmdtlmserver/../../node_modules/date-fns/esm/constants/index.js","webpack://@openc3/cosmos-tool-cmdtlmserver/../../node_modules/date-fns/esm/parseISO/index.js","webpack://@openc3/cosmos-tool-cmdtlmserver/../../node_modules/core-js/internals/an-instance.js","webpack://@openc3/cosmos-tool-cmdtlmserver/../../node_modules/core-js/internals/array-slice.js","webpack://@openc3/cosmos-tool-cmdtlmserver/../../node_modules/core-js/internals/array-sort.js","webpack://@openc3/cosmos-tool-cmdtlmserver/../../node_modules/core-js/internals/define-built-in-accessor.js","webpack://@openc3/cosmos-tool-cmdtlmserver/../../node_modules/core-js/internals/define-built-ins.js","webpack://@openc3/cosmos-tool-cmdtlmserver/../../node_modules/core-js/internals/function-bind-context.js","webpack://@openc3/cosmos-tool-cmdtlmserver/../../node_modules/core-js/internals/function-uncurry-this-clause.js","webpack://@openc3/cosmos-tool-cmdtlmserver/../../node_modules/core-js/internals/get-iterator-method.js","webpack://@openc3/cosmos-tool-cmdtlmserver/../../node_modules/core-js/internals/get-iterator.js","webpack://@openc3/cosmos-tool-cmdtlmserver/../../node_modules/core-js/internals/is-array-iterator-method.js","webpack://@openc3/cosmos-tool-cmdtlmserver/../../node_modules/core-js/internals/is-regexp.js","webpack://@openc3/cosmos-tool-cmdtlmserver/../../node_modules/core-js/internals/regexp-get-flags.js","webpack://@openc3/cosmos-tool-cmdtlmserver/../../node_modules/core-js/modules/es.string.replace-all.js"],"sourcesContent":["var adapters = {\n logger: self.console,\n WebSocket: self.WebSocket\n};\n\nvar logger = {\n log(...messages) {\n if (this.enabled) {\n messages.push(Date.now());\n adapters.logger.log(\"[ActionCable]\", ...messages);\n }\n }\n};\n\nconst now = () => (new Date).getTime();\n\nconst secondsSince = time => (now() - time) / 1e3;\n\nclass ConnectionMonitor {\n constructor(connection) {\n this.visibilityDidChange = this.visibilityDidChange.bind(this);\n this.connection = connection;\n this.reconnectAttempts = 0;\n }\n start() {\n if (!this.isRunning()) {\n this.startedAt = now();\n delete this.stoppedAt;\n this.startPolling();\n addEventListener(\"visibilitychange\", this.visibilityDidChange);\n logger.log(`ConnectionMonitor started. stale threshold = ${this.constructor.staleThreshold} s`);\n }\n }\n stop() {\n if (this.isRunning()) {\n this.stoppedAt = now();\n this.stopPolling();\n removeEventListener(\"visibilitychange\", this.visibilityDidChange);\n logger.log(\"ConnectionMonitor stopped\");\n }\n }\n isRunning() {\n return this.startedAt && !this.stoppedAt;\n }\n recordPing() {\n this.pingedAt = now();\n }\n recordConnect() {\n this.reconnectAttempts = 0;\n this.recordPing();\n delete this.disconnectedAt;\n logger.log(\"ConnectionMonitor recorded connect\");\n }\n recordDisconnect() {\n this.disconnectedAt = now();\n logger.log(\"ConnectionMonitor recorded disconnect\");\n }\n startPolling() {\n this.stopPolling();\n this.poll();\n }\n stopPolling() {\n clearTimeout(this.pollTimeout);\n }\n poll() {\n this.pollTimeout = setTimeout((() => {\n this.reconnectIfStale();\n this.poll();\n }), this.getPollInterval());\n }\n getPollInterval() {\n const {staleThreshold: staleThreshold, reconnectionBackoffRate: reconnectionBackoffRate} = this.constructor;\n const backoff = Math.pow(1 + reconnectionBackoffRate, Math.min(this.reconnectAttempts, 10));\n const jitterMax = this.reconnectAttempts === 0 ? 1 : reconnectionBackoffRate;\n const jitter = jitterMax * Math.random();\n return staleThreshold * 1e3 * backoff * (1 + jitter);\n }\n reconnectIfStale() {\n if (this.connectionIsStale()) {\n logger.log(`ConnectionMonitor detected stale connection. reconnectAttempts = ${this.reconnectAttempts}, time stale = ${secondsSince(this.refreshedAt)} s, stale threshold = ${this.constructor.staleThreshold} s`);\n this.reconnectAttempts++;\n if (this.disconnectedRecently()) {\n logger.log(`ConnectionMonitor skipping reopening recent disconnect. time disconnected = ${secondsSince(this.disconnectedAt)} s`);\n } else {\n logger.log(\"ConnectionMonitor reopening\");\n this.connection.reopen();\n }\n }\n }\n get refreshedAt() {\n return this.pingedAt ? this.pingedAt : this.startedAt;\n }\n connectionIsStale() {\n return secondsSince(this.refreshedAt) > this.constructor.staleThreshold;\n }\n disconnectedRecently() {\n return this.disconnectedAt && secondsSince(this.disconnectedAt) < this.constructor.staleThreshold;\n }\n visibilityDidChange() {\n if (document.visibilityState === \"visible\") {\n setTimeout((() => {\n if (this.connectionIsStale() || !this.connection.isOpen()) {\n logger.log(`ConnectionMonitor reopening stale connection on visibilitychange. visibilityState = ${document.visibilityState}`);\n this.connection.reopen();\n }\n }), 200);\n }\n }\n}\n\nConnectionMonitor.staleThreshold = 6;\n\nConnectionMonitor.reconnectionBackoffRate = .15;\n\nvar INTERNAL = {\n message_types: {\n welcome: \"welcome\",\n disconnect: \"disconnect\",\n ping: \"ping\",\n confirmation: \"confirm_subscription\",\n rejection: \"reject_subscription\"\n },\n disconnect_reasons: {\n unauthorized: \"unauthorized\",\n invalid_request: \"invalid_request\",\n server_restart: \"server_restart\",\n remote: \"remote\"\n },\n default_mount_path: \"/cable\",\n protocols: [ \"actioncable-v1-json\", \"actioncable-unsupported\" ]\n};\n\nconst {message_types: message_types, protocols: protocols} = INTERNAL;\n\nconst supportedProtocols = protocols.slice(0, protocols.length - 1);\n\nconst indexOf = [].indexOf;\n\nclass Connection {\n constructor(consumer) {\n this.open = this.open.bind(this);\n this.consumer = consumer;\n this.subscriptions = this.consumer.subscriptions;\n this.monitor = new ConnectionMonitor(this);\n this.disconnected = true;\n }\n send(data) {\n if (this.isOpen()) {\n this.webSocket.send(JSON.stringify(data));\n return true;\n } else {\n return false;\n }\n }\n open() {\n if (this.isActive()) {\n logger.log(`Attempted to open WebSocket, but existing socket is ${this.getState()}`);\n return false;\n } else {\n const socketProtocols = [ ...protocols, ...this.consumer.subprotocols || [] ];\n logger.log(`Opening WebSocket, current state is ${this.getState()}, subprotocols: ${socketProtocols}`);\n if (this.webSocket) {\n this.uninstallEventHandlers();\n }\n this.webSocket = new adapters.WebSocket(this.consumer.url, socketProtocols);\n this.installEventHandlers();\n this.monitor.start();\n return true;\n }\n }\n close({allowReconnect: allowReconnect} = {\n allowReconnect: true\n }) {\n if (!allowReconnect) {\n this.monitor.stop();\n }\n if (this.isOpen()) {\n return this.webSocket.close();\n }\n }\n reopen() {\n logger.log(`Reopening WebSocket, current state is ${this.getState()}`);\n if (this.isActive()) {\n try {\n return this.close();\n } catch (error) {\n logger.log(\"Failed to reopen WebSocket\", error);\n } finally {\n logger.log(`Reopening WebSocket in ${this.constructor.reopenDelay}ms`);\n setTimeout(this.open, this.constructor.reopenDelay);\n }\n } else {\n return this.open();\n }\n }\n getProtocol() {\n if (this.webSocket) {\n return this.webSocket.protocol;\n }\n }\n isOpen() {\n return this.isState(\"open\");\n }\n isActive() {\n return this.isState(\"open\", \"connecting\");\n }\n triedToReconnect() {\n return this.monitor.reconnectAttempts > 0;\n }\n isProtocolSupported() {\n return indexOf.call(supportedProtocols, this.getProtocol()) >= 0;\n }\n isState(...states) {\n return indexOf.call(states, this.getState()) >= 0;\n }\n getState() {\n if (this.webSocket) {\n for (let state in adapters.WebSocket) {\n if (adapters.WebSocket[state] === this.webSocket.readyState) {\n return state.toLowerCase();\n }\n }\n }\n return null;\n }\n installEventHandlers() {\n for (let eventName in this.events) {\n const handler = this.events[eventName].bind(this);\n this.webSocket[`on${eventName}`] = handler;\n }\n }\n uninstallEventHandlers() {\n for (let eventName in this.events) {\n this.webSocket[`on${eventName}`] = function() {};\n }\n }\n}\n\nConnection.reopenDelay = 500;\n\nConnection.prototype.events = {\n message(event) {\n if (!this.isProtocolSupported()) {\n return;\n }\n const {identifier: identifier, message: message, reason: reason, reconnect: reconnect, type: type} = JSON.parse(event.data);\n switch (type) {\n case message_types.welcome:\n if (this.triedToReconnect()) {\n this.reconnectAttempted = true;\n }\n this.monitor.recordConnect();\n return this.subscriptions.reload();\n\n case message_types.disconnect:\n logger.log(`Disconnecting. Reason: ${reason}`);\n return this.close({\n allowReconnect: reconnect\n });\n\n case message_types.ping:\n return this.monitor.recordPing();\n\n case message_types.confirmation:\n this.subscriptions.confirmSubscription(identifier);\n if (this.reconnectAttempted) {\n this.reconnectAttempted = false;\n return this.subscriptions.notify(identifier, \"connected\", {\n reconnected: true\n });\n } else {\n return this.subscriptions.notify(identifier, \"connected\", {\n reconnected: false\n });\n }\n\n case message_types.rejection:\n return this.subscriptions.reject(identifier);\n\n default:\n return this.subscriptions.notify(identifier, \"received\", message);\n }\n },\n open() {\n logger.log(`WebSocket onopen event, using '${this.getProtocol()}' subprotocol`);\n this.disconnected = false;\n if (!this.isProtocolSupported()) {\n logger.log(\"Protocol is unsupported. Stopping monitor and disconnecting.\");\n return this.close({\n allowReconnect: false\n });\n }\n },\n close(event) {\n logger.log(\"WebSocket onclose event\");\n if (this.disconnected) {\n return;\n }\n this.disconnected = true;\n this.monitor.recordDisconnect();\n return this.subscriptions.notifyAll(\"disconnected\", {\n willAttemptReconnect: this.monitor.isRunning()\n });\n },\n error() {\n logger.log(\"WebSocket onerror event\");\n }\n};\n\nconst extend = function(object, properties) {\n if (properties != null) {\n for (let key in properties) {\n const value = properties[key];\n object[key] = value;\n }\n }\n return object;\n};\n\nclass Subscription {\n constructor(consumer, params = {}, mixin) {\n this.consumer = consumer;\n this.identifier = JSON.stringify(params);\n extend(this, mixin);\n }\n perform(action, data = {}) {\n data.action = action;\n return this.send(data);\n }\n send(data) {\n return this.consumer.send({\n command: \"message\",\n identifier: this.identifier,\n data: JSON.stringify(data)\n });\n }\n unsubscribe() {\n return this.consumer.subscriptions.remove(this);\n }\n}\n\nclass SubscriptionGuarantor {\n constructor(subscriptions) {\n this.subscriptions = subscriptions;\n this.pendingSubscriptions = [];\n }\n guarantee(subscription) {\n if (this.pendingSubscriptions.indexOf(subscription) == -1) {\n logger.log(`SubscriptionGuarantor guaranteeing ${subscription.identifier}`);\n this.pendingSubscriptions.push(subscription);\n } else {\n logger.log(`SubscriptionGuarantor already guaranteeing ${subscription.identifier}`);\n }\n this.startGuaranteeing();\n }\n forget(subscription) {\n logger.log(`SubscriptionGuarantor forgetting ${subscription.identifier}`);\n this.pendingSubscriptions = this.pendingSubscriptions.filter((s => s !== subscription));\n }\n startGuaranteeing() {\n this.stopGuaranteeing();\n this.retrySubscribing();\n }\n stopGuaranteeing() {\n clearTimeout(this.retryTimeout);\n }\n retrySubscribing() {\n this.retryTimeout = setTimeout((() => {\n if (this.subscriptions && typeof this.subscriptions.subscribe === \"function\") {\n this.pendingSubscriptions.map((subscription => {\n logger.log(`SubscriptionGuarantor resubscribing ${subscription.identifier}`);\n this.subscriptions.subscribe(subscription);\n }));\n }\n }), 500);\n }\n}\n\nclass Subscriptions {\n constructor(consumer) {\n this.consumer = consumer;\n this.guarantor = new SubscriptionGuarantor(this);\n this.subscriptions = [];\n }\n create(channelName, mixin) {\n const channel = channelName;\n const params = typeof channel === \"object\" ? channel : {\n channel: channel\n };\n const subscription = new Subscription(this.consumer, params, mixin);\n return this.add(subscription);\n }\n add(subscription) {\n this.subscriptions.push(subscription);\n this.consumer.ensureActiveConnection();\n this.notify(subscription, \"initialized\");\n this.subscribe(subscription);\n return subscription;\n }\n remove(subscription) {\n this.forget(subscription);\n if (!this.findAll(subscription.identifier).length) {\n this.sendCommand(subscription, \"unsubscribe\");\n }\n return subscription;\n }\n reject(identifier) {\n return this.findAll(identifier).map((subscription => {\n this.forget(subscription);\n this.notify(subscription, \"rejected\");\n return subscription;\n }));\n }\n forget(subscription) {\n this.guarantor.forget(subscription);\n this.subscriptions = this.subscriptions.filter((s => s !== subscription));\n return subscription;\n }\n findAll(identifier) {\n return this.subscriptions.filter((s => s.identifier === identifier));\n }\n reload() {\n return this.subscriptions.map((subscription => this.subscribe(subscription)));\n }\n notifyAll(callbackName, ...args) {\n return this.subscriptions.map((subscription => this.notify(subscription, callbackName, ...args)));\n }\n notify(subscription, callbackName, ...args) {\n let subscriptions;\n if (typeof subscription === \"string\") {\n subscriptions = this.findAll(subscription);\n } else {\n subscriptions = [ subscription ];\n }\n return subscriptions.map((subscription => typeof subscription[callbackName] === \"function\" ? subscription[callbackName](...args) : undefined));\n }\n subscribe(subscription) {\n if (this.sendCommand(subscription, \"subscribe\")) {\n this.guarantor.guarantee(subscription);\n }\n }\n confirmSubscription(identifier) {\n logger.log(`Subscription confirmed ${identifier}`);\n this.findAll(identifier).map((subscription => this.guarantor.forget(subscription)));\n }\n sendCommand(subscription, command) {\n const {identifier: identifier} = subscription;\n return this.consumer.send({\n command: command,\n identifier: identifier\n });\n }\n}\n\nclass Consumer {\n constructor(url) {\n this._url = url;\n this.subscriptions = new Subscriptions(this);\n this.connection = new Connection(this);\n this.subprotocols = [];\n }\n get url() {\n return createWebSocketURL(this._url);\n }\n send(data) {\n return this.connection.send(data);\n }\n connect() {\n return this.connection.open();\n }\n disconnect() {\n return this.connection.close({\n allowReconnect: false\n });\n }\n ensureActiveConnection() {\n if (!this.connection.isActive()) {\n return this.connection.open();\n }\n }\n addSubProtocol(subprotocol) {\n this.subprotocols = [ ...this.subprotocols, subprotocol ];\n }\n}\n\nfunction createWebSocketURL(url) {\n if (typeof url === \"function\") {\n url = url();\n }\n if (url && !/^wss?:/i.test(url)) {\n const a = document.createElement(\"a\");\n a.href = url;\n a.href = a.href;\n a.protocol = a.protocol.replace(\"http\", \"ws\");\n return a.href;\n } else {\n return url;\n }\n}\n\nfunction createConsumer(url = getConfig(\"url\") || INTERNAL.default_mount_path) {\n return new Consumer(url);\n}\n\nfunction getConfig(name) {\n const element = document.head.querySelector(`meta[name='action-cable-${name}']`);\n if (element) {\n return element.getAttribute(\"content\");\n }\n}\n\nexport { Connection, ConnectionMonitor, Consumer, INTERNAL, Subscription, SubscriptionGuarantor, Subscriptions, adapters, createConsumer, createWebSocketURL, getConfig, logger };\n","/**\n * Days in 1 week.\n *\n * @name daysInWeek\n * @constant\n * @type {number}\n * @default\n */\nexport var daysInWeek = 7;\n\n/**\n * Days in 1 year\n * One years equals 365.2425 days according to the formula:\n *\n * > Leap year occures every 4 years, except for years that are divisable by 100 and not divisable by 400.\n * > 1 mean year = (365+1/4-1/100+1/400) days = 365.2425 days\n *\n * @name daysInYear\n * @constant\n * @type {number}\n * @default\n */\nexport var daysInYear = 365.2425;\n\n/**\n * Maximum allowed time.\n *\n * @name maxTime\n * @constant\n * @type {number}\n * @default\n */\nexport var maxTime = Math.pow(10, 8) * 24 * 60 * 60 * 1000;\n\n/**\n * Milliseconds in 1 minute\n *\n * @name millisecondsInMinute\n * @constant\n * @type {number}\n * @default\n */\nexport var millisecondsInMinute = 60000;\n\n/**\n * Milliseconds in 1 hour\n *\n * @name millisecondsInHour\n * @constant\n * @type {number}\n * @default\n */\nexport var millisecondsInHour = 3600000;\n\n/**\n * Milliseconds in 1 second\n *\n * @name millisecondsInSecond\n * @constant\n * @type {number}\n * @default\n */\nexport var millisecondsInSecond = 1000;\n\n/**\n * Minimum allowed time.\n *\n * @name minTime\n * @constant\n * @type {number}\n * @default\n */\nexport var minTime = -maxTime;\n\n/**\n * Minutes in 1 hour\n *\n * @name minutesInHour\n * @constant\n * @type {number}\n * @default\n */\nexport var minutesInHour = 60;\n\n/**\n * Months in 1 quarter\n *\n * @name monthsInQuarter\n * @constant\n * @type {number}\n * @default\n */\nexport var monthsInQuarter = 3;\n\n/**\n * Months in 1 year\n *\n * @name monthsInYear\n * @constant\n * @type {number}\n * @default\n */\nexport var monthsInYear = 12;\n\n/**\n * Quarters in 1 year\n *\n * @name quartersInYear\n * @constant\n * @type {number}\n * @default\n */\nexport var quartersInYear = 4;\n\n/**\n * Seconds in 1 hour\n *\n * @name secondsInHour\n * @constant\n * @type {number}\n * @default\n */\nexport var secondsInHour = 3600;\n\n/**\n * Seconds in 1 minute\n *\n * @name secondsInMinute\n * @constant\n * @type {number}\n * @default\n */\nexport var secondsInMinute = 60;\n\n/**\n * Seconds in 1 day\n *\n * @name secondsInDay\n * @constant\n * @type {number}\n * @default\n */\nexport var secondsInDay = secondsInHour * 24;\n\n/**\n * Seconds in 1 week\n *\n * @name secondsInWeek\n * @constant\n * @type {number}\n * @default\n */\nexport var secondsInWeek = secondsInDay * 7;\n\n/**\n * Seconds in 1 year\n *\n * @name secondsInYear\n * @constant\n * @type {number}\n * @default\n */\nexport var secondsInYear = secondsInDay * daysInYear;\n\n/**\n * Seconds in 1 month\n *\n * @name secondsInMonth\n * @constant\n * @type {number}\n * @default\n */\nexport var secondsInMonth = secondsInYear / 12;\n\n/**\n * Seconds in 1 quarter\n *\n * @name secondsInQuarter\n * @constant\n * @type {number}\n * @default\n */\nexport var secondsInQuarter = secondsInMonth * 3;","import { millisecondsInHour, millisecondsInMinute } from \"../constants/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\nimport toInteger from \"../_lib/toInteger/index.js\";\n/**\n * @name parseISO\n * @category Common Helpers\n * @summary Parse ISO string\n *\n * @description\n * Parse the given string in ISO 8601 format and return an instance of Date.\n *\n * Function accepts complete ISO 8601 formats as well as partial implementations.\n * ISO 8601: http://en.wikipedia.org/wiki/ISO_8601\n *\n * If the argument isn't a string, the function cannot parse the string or\n * the values are invalid, it returns Invalid Date.\n *\n * @param {String} argument - the value to convert\n * @param {Object} [options] - an object with options.\n * @param {0|1|2} [options.additionalDigits=2] - the additional number of digits in the extended year format\n * @returns {Date} the parsed date in the local time zone\n * @throws {TypeError} 1 argument required\n * @throws {RangeError} `options.additionalDigits` must be 0, 1 or 2\n *\n * @example\n * // Convert string '2014-02-11T11:30:30' to date:\n * const result = parseISO('2014-02-11T11:30:30')\n * //=> Tue Feb 11 2014 11:30:30\n *\n * @example\n * // Convert string '+02014101' to date,\n * // if the additional number of digits in the extended year format is 1:\n * const result = parseISO('+02014101', { additionalDigits: 1 })\n * //=> Fri Apr 11 2014 00:00:00\n */\nexport default function parseISO(argument, options) {\n var _options$additionalDi;\n requiredArgs(1, arguments);\n var additionalDigits = toInteger((_options$additionalDi = options === null || options === void 0 ? void 0 : options.additionalDigits) !== null && _options$additionalDi !== void 0 ? _options$additionalDi : 2);\n if (additionalDigits !== 2 && additionalDigits !== 1 && additionalDigits !== 0) {\n throw new RangeError('additionalDigits must be 0, 1 or 2');\n }\n if (!(typeof argument === 'string' || Object.prototype.toString.call(argument) === '[object String]')) {\n return new Date(NaN);\n }\n var dateStrings = splitDateString(argument);\n var date;\n if (dateStrings.date) {\n var parseYearResult = parseYear(dateStrings.date, additionalDigits);\n date = parseDate(parseYearResult.restDateString, parseYearResult.year);\n }\n if (!date || isNaN(date.getTime())) {\n return new Date(NaN);\n }\n var timestamp = date.getTime();\n var time = 0;\n var offset;\n if (dateStrings.time) {\n time = parseTime(dateStrings.time);\n if (isNaN(time)) {\n return new Date(NaN);\n }\n }\n if (dateStrings.timezone) {\n offset = parseTimezone(dateStrings.timezone);\n if (isNaN(offset)) {\n return new Date(NaN);\n }\n } else {\n var dirtyDate = new Date(timestamp + time);\n // js parsed string assuming it's in UTC timezone\n // but we need it to be parsed in our timezone\n // so we use utc values to build date in our timezone.\n // Year values from 0 to 99 map to the years 1900 to 1999\n // so set year explicitly with setFullYear.\n var result = new Date(0);\n result.setFullYear(dirtyDate.getUTCFullYear(), dirtyDate.getUTCMonth(), dirtyDate.getUTCDate());\n result.setHours(dirtyDate.getUTCHours(), dirtyDate.getUTCMinutes(), dirtyDate.getUTCSeconds(), dirtyDate.getUTCMilliseconds());\n return result;\n }\n return new Date(timestamp + time + offset);\n}\nvar patterns = {\n dateTimeDelimiter: /[T ]/,\n timeZoneDelimiter: /[Z ]/i,\n timezone: /([Z+-].*)$/\n};\nvar dateRegex = /^-?(?:(\\d{3})|(\\d{2})(?:-?(\\d{2}))?|W(\\d{2})(?:-?(\\d{1}))?|)$/;\nvar timeRegex = /^(\\d{2}(?:[.,]\\d*)?)(?::?(\\d{2}(?:[.,]\\d*)?))?(?::?(\\d{2}(?:[.,]\\d*)?))?$/;\nvar timezoneRegex = /^([+-])(\\d{2})(?::?(\\d{2}))?$/;\nfunction splitDateString(dateString) {\n var dateStrings = {};\n var array = dateString.split(patterns.dateTimeDelimiter);\n var timeString;\n\n // The regex match should only return at maximum two array elements.\n // [date], [time], or [date, time].\n if (array.length > 2) {\n return dateStrings;\n }\n if (/:/.test(array[0])) {\n timeString = array[0];\n } else {\n dateStrings.date = array[0];\n timeString = array[1];\n if (patterns.timeZoneDelimiter.test(dateStrings.date)) {\n dateStrings.date = dateString.split(patterns.timeZoneDelimiter)[0];\n timeString = dateString.substr(dateStrings.date.length, dateString.length);\n }\n }\n if (timeString) {\n var token = patterns.timezone.exec(timeString);\n if (token) {\n dateStrings.time = timeString.replace(token[1], '');\n dateStrings.timezone = token[1];\n } else {\n dateStrings.time = timeString;\n }\n }\n return dateStrings;\n}\nfunction parseYear(dateString, additionalDigits) {\n var regex = new RegExp('^(?:(\\\\d{4}|[+-]\\\\d{' + (4 + additionalDigits) + '})|(\\\\d{2}|[+-]\\\\d{' + (2 + additionalDigits) + '})$)');\n var captures = dateString.match(regex);\n // Invalid ISO-formatted year\n if (!captures) return {\n year: NaN,\n restDateString: ''\n };\n var year = captures[1] ? parseInt(captures[1]) : null;\n var century = captures[2] ? parseInt(captures[2]) : null;\n\n // either year or century is null, not both\n return {\n year: century === null ? year : century * 100,\n restDateString: dateString.slice((captures[1] || captures[2]).length)\n };\n}\nfunction parseDate(dateString, year) {\n // Invalid ISO-formatted year\n if (year === null) return new Date(NaN);\n var captures = dateString.match(dateRegex);\n // Invalid ISO-formatted string\n if (!captures) return new Date(NaN);\n var isWeekDate = !!captures[4];\n var dayOfYear = parseDateUnit(captures[1]);\n var month = parseDateUnit(captures[2]) - 1;\n var day = parseDateUnit(captures[3]);\n var week = parseDateUnit(captures[4]);\n var dayOfWeek = parseDateUnit(captures[5]) - 1;\n if (isWeekDate) {\n if (!validateWeekDate(year, week, dayOfWeek)) {\n return new Date(NaN);\n }\n return dayOfISOWeekYear(year, week, dayOfWeek);\n } else {\n var date = new Date(0);\n if (!validateDate(year, month, day) || !validateDayOfYearDate(year, dayOfYear)) {\n return new Date(NaN);\n }\n date.setUTCFullYear(year, month, Math.max(dayOfYear, day));\n return date;\n }\n}\nfunction parseDateUnit(value) {\n return value ? parseInt(value) : 1;\n}\nfunction parseTime(timeString) {\n var captures = timeString.match(timeRegex);\n if (!captures) return NaN; // Invalid ISO-formatted time\n\n var hours = parseTimeUnit(captures[1]);\n var minutes = parseTimeUnit(captures[2]);\n var seconds = parseTimeUnit(captures[3]);\n if (!validateTime(hours, minutes, seconds)) {\n return NaN;\n }\n return hours * millisecondsInHour + minutes * millisecondsInMinute + seconds * 1000;\n}\nfunction parseTimeUnit(value) {\n return value && parseFloat(value.replace(',', '.')) || 0;\n}\nfunction parseTimezone(timezoneString) {\n if (timezoneString === 'Z') return 0;\n var captures = timezoneString.match(timezoneRegex);\n if (!captures) return 0;\n var sign = captures[1] === '+' ? -1 : 1;\n var hours = parseInt(captures[2]);\n var minutes = captures[3] && parseInt(captures[3]) || 0;\n if (!validateTimezone(hours, minutes)) {\n return NaN;\n }\n return sign * (hours * millisecondsInHour + minutes * millisecondsInMinute);\n}\nfunction dayOfISOWeekYear(isoWeekYear, week, day) {\n var date = new Date(0);\n date.setUTCFullYear(isoWeekYear, 0, 4);\n var fourthOfJanuaryDay = date.getUTCDay() || 7;\n var diff = (week - 1) * 7 + day + 1 - fourthOfJanuaryDay;\n date.setUTCDate(date.getUTCDate() + diff);\n return date;\n}\n\n// Validation functions\n\n// February is null to handle the leap year (using ||)\nvar daysInMonths = [31, null, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];\nfunction isLeapYearIndex(year) {\n return year % 400 === 0 || year % 4 === 0 && year % 100 !== 0;\n}\nfunction validateDate(year, month, date) {\n return month >= 0 && month <= 11 && date >= 1 && date <= (daysInMonths[month] || (isLeapYearIndex(year) ? 29 : 28));\n}\nfunction validateDayOfYearDate(year, dayOfYear) {\n return dayOfYear >= 1 && dayOfYear <= (isLeapYearIndex(year) ? 366 : 365);\n}\nfunction validateWeekDate(_year, week, day) {\n return week >= 1 && week <= 53 && day >= 0 && day <= 6;\n}\nfunction validateTime(hours, minutes, seconds) {\n if (hours === 24) {\n return minutes === 0 && seconds === 0;\n }\n return seconds >= 0 && seconds < 60 && minutes >= 0 && minutes < 60 && hours >= 0 && hours < 25;\n}\nfunction validateTimezone(_hours, minutes) {\n return minutes >= 0 && minutes <= 59;\n}","'use strict';\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\n\nvar $TypeError = TypeError;\n\nmodule.exports = function (it, Prototype) {\n if (isPrototypeOf(Prototype, it)) return it;\n throw new $TypeError('Incorrect invocation');\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nmodule.exports = uncurryThis([].slice);\n","'use strict';\nvar arraySlice = require('../internals/array-slice');\n\nvar floor = Math.floor;\n\nvar sort = function (array, comparefn) {\n var length = array.length;\n\n if (length < 8) {\n // insertion sort\n var i = 1;\n var element, j;\n\n while (i < length) {\n j = i;\n element = array[i];\n while (j && comparefn(array[j - 1], element) > 0) {\n array[j] = array[--j];\n }\n if (j !== i++) array[j] = element;\n }\n } else {\n // merge sort\n var middle = floor(length / 2);\n var left = sort(arraySlice(array, 0, middle), comparefn);\n var right = sort(arraySlice(array, middle), comparefn);\n var llength = left.length;\n var rlength = right.length;\n var lindex = 0;\n var rindex = 0;\n\n while (lindex < llength || rindex < rlength) {\n array[lindex + rindex] = (lindex < llength && rindex < rlength)\n ? comparefn(left[lindex], right[rindex]) <= 0 ? left[lindex++] : right[rindex++]\n : lindex < llength ? left[lindex++] : right[rindex++];\n }\n }\n\n return array;\n};\n\nmodule.exports = sort;\n","'use strict';\nvar makeBuiltIn = require('../internals/make-built-in');\nvar defineProperty = require('../internals/object-define-property');\n\nmodule.exports = function (target, name, descriptor) {\n if (descriptor.get) makeBuiltIn(descriptor.get, name, { getter: true });\n if (descriptor.set) makeBuiltIn(descriptor.set, name, { setter: true });\n return defineProperty.f(target, name, descriptor);\n};\n","'use strict';\nvar defineBuiltIn = require('../internals/define-built-in');\n\nmodule.exports = function (target, src, options) {\n for (var key in src) defineBuiltIn(target, key, src[key], options);\n return target;\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this-clause');\nvar aCallable = require('../internals/a-callable');\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar bind = uncurryThis(uncurryThis.bind);\n\n// optional / simple context binding\nmodule.exports = function (fn, that) {\n aCallable(fn);\n return that === undefined ? fn : NATIVE_BIND ? bind(fn, that) : function (/* ...args */) {\n return fn.apply(that, arguments);\n };\n};\n","'use strict';\nvar classofRaw = require('../internals/classof-raw');\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nmodule.exports = function (fn) {\n // Nashorn bug:\n // https://github.com/zloirock/core-js/issues/1128\n // https://github.com/zloirock/core-js/issues/1130\n if (classofRaw(fn) === 'Function') return uncurryThis(fn);\n};\n","'use strict';\nvar classof = require('../internals/classof');\nvar getMethod = require('../internals/get-method');\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\nvar Iterators = require('../internals/iterators');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\n\nmodule.exports = function (it) {\n if (!isNullOrUndefined(it)) return getMethod(it, ITERATOR)\n || getMethod(it, '@@iterator')\n || Iterators[classof(it)];\n};\n","'use strict';\nvar call = require('../internals/function-call');\nvar aCallable = require('../internals/a-callable');\nvar anObject = require('../internals/an-object');\nvar tryToString = require('../internals/try-to-string');\nvar getIteratorMethod = require('../internals/get-iterator-method');\n\nvar $TypeError = TypeError;\n\nmodule.exports = function (argument, usingIterator) {\n var iteratorMethod = arguments.length < 2 ? getIteratorMethod(argument) : usingIterator;\n if (aCallable(iteratorMethod)) return anObject(call(iteratorMethod, argument));\n throw new $TypeError(tryToString(argument) + ' is not iterable');\n};\n","'use strict';\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar Iterators = require('../internals/iterators');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar ArrayPrototype = Array.prototype;\n\n// check on default Array iterator\nmodule.exports = function (it) {\n return it !== undefined && (Iterators.Array === it || ArrayPrototype[ITERATOR] === it);\n};\n","'use strict';\nvar isObject = require('../internals/is-object');\nvar classof = require('../internals/classof-raw');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar MATCH = wellKnownSymbol('match');\n\n// `IsRegExp` abstract operation\n// https://tc39.es/ecma262/#sec-isregexp\nmodule.exports = function (it) {\n var isRegExp;\n return isObject(it) && ((isRegExp = it[MATCH]) !== undefined ? !!isRegExp : classof(it) === 'RegExp');\n};\n","'use strict';\nvar call = require('../internals/function-call');\nvar hasOwn = require('../internals/has-own-property');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar regExpFlags = require('../internals/regexp-flags');\n\nvar RegExpPrototype = RegExp.prototype;\n\nmodule.exports = function (R) {\n var flags = R.flags;\n return flags === undefined && !('flags' in RegExpPrototype) && !hasOwn(R, 'flags') && isPrototypeOf(RegExpPrototype, R)\n ? call(regExpFlags, R) : flags;\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar call = require('../internals/function-call');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar isCallable = require('../internals/is-callable');\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\nvar isRegExp = require('../internals/is-regexp');\nvar toString = require('../internals/to-string');\nvar getMethod = require('../internals/get-method');\nvar getRegExpFlags = require('../internals/regexp-get-flags');\nvar getSubstitution = require('../internals/get-substitution');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar IS_PURE = require('../internals/is-pure');\n\nvar REPLACE = wellKnownSymbol('replace');\nvar $TypeError = TypeError;\nvar indexOf = uncurryThis(''.indexOf);\nvar replace = uncurryThis(''.replace);\nvar stringSlice = uncurryThis(''.slice);\nvar max = Math.max;\n\n// `String.prototype.replaceAll` method\n// https://tc39.es/ecma262/#sec-string.prototype.replaceall\n$({ target: 'String', proto: true }, {\n replaceAll: function replaceAll(searchValue, replaceValue) {\n var O = requireObjectCoercible(this);\n var IS_REG_EXP, flags, replacer, string, searchString, functionalReplace, searchLength, advanceBy, replacement;\n var position = 0;\n var endOfLastMatch = 0;\n var result = '';\n if (!isNullOrUndefined(searchValue)) {\n IS_REG_EXP = isRegExp(searchValue);\n if (IS_REG_EXP) {\n flags = toString(requireObjectCoercible(getRegExpFlags(searchValue)));\n if (!~indexOf(flags, 'g')) throw new $TypeError('`.replaceAll` does not allow non-global regexes');\n }\n replacer = getMethod(searchValue, REPLACE);\n if (replacer) {\n return call(replacer, searchValue, O, replaceValue);\n } else if (IS_PURE && IS_REG_EXP) {\n return replace(toString(O), searchValue, replaceValue);\n }\n }\n string = toString(O);\n searchString = toString(searchValue);\n functionalReplace = isCallable(replaceValue);\n if (!functionalReplace) replaceValue = toString(replaceValue);\n searchLength = searchString.length;\n advanceBy = max(1, searchLength);\n position = indexOf(string, searchString);\n while (position !== -1) {\n replacement = functionalReplace\n ? toString(replaceValue(searchString, position, string))\n : getSubstitution(searchString, string, position, [], undefined, replaceValue);\n result += stringSlice(string, endOfLastMatch, position) + replacement;\n endOfLastMatch = position + searchLength;\n position = position + advanceBy > string.length ? -1 : indexOf(string, searchString, position + advanceBy);\n }\n if (endOfLastMatch < string.length) {\n result += stringSlice(string, endOfLastMatch);\n }\n return result;\n }\n});\n"],"names":["adapters","logger","self","console","WebSocket","log","messages","this","enabled","push","Date","now","getTime","secondsSince","time","ConnectionMonitor","constructor","connection","visibilityDidChange","bind","reconnectAttempts","start","isRunning","startedAt","stoppedAt","startPolling","addEventListener","staleThreshold","stop","stopPolling","removeEventListener","recordPing","pingedAt","recordConnect","disconnectedAt","recordDisconnect","poll","clearTimeout","pollTimeout","setTimeout","reconnectIfStale","getPollInterval","reconnectionBackoffRate","backoff","Math","pow","min","jitterMax","jitter","random","connectionIsStale","refreshedAt","disconnectedRecently","reopen","document","visibilityState","isOpen","INTERNAL","message_types","welcome","disconnect","ping","confirmation","rejection","disconnect_reasons","unauthorized","invalid_request","server_restart","remote","default_mount_path","protocols","supportedProtocols","slice","length","indexOf","Connection","consumer","open","subscriptions","monitor","disconnected","send","data","webSocket","JSON","stringify","isActive","getState","socketProtocols","subprotocols","uninstallEventHandlers","url","installEventHandlers","close","allowReconnect","error","reopenDelay","getProtocol","protocol","isState","triedToReconnect","isProtocolSupported","call","states","state","readyState","toLowerCase","eventName","events","handler","prototype","message","event","identifier","reason","reconnect","type","parse","reconnectAttempted","reload","confirmSubscription","notify","reconnected","reject","notifyAll","willAttemptReconnect","extend","object","properties","key","value","Subscription","params","mixin","perform","action","command","unsubscribe","remove","SubscriptionGuarantor","pendingSubscriptions","guarantee","subscription","startGuaranteeing","forget","filter","s","stopGuaranteeing","retrySubscribing","retryTimeout","subscribe","map","Subscriptions","guarantor","create","channelName","channel","add","ensureActiveConnection","findAll","sendCommand","callbackName","args","undefined","Consumer","_url","createWebSocketURL","connect","addSubProtocol","subprotocol","test","a","createElement","href","replace","createConsumer","getConfig","name","element","head","querySelector","getAttribute","millisecondsInMinute","millisecondsInHour","parseISO","argument","options","_options$additionalDi","requiredArgs","arguments","additionalDigits","toInteger","RangeError","Object","toString","NaN","date","dateStrings","splitDateString","parseYearResult","parseYear","parseDate","restDateString","year","isNaN","offset","timestamp","parseTime","timezone","dirtyDate","result","setFullYear","getUTCFullYear","getUTCMonth","getUTCDate","setHours","getUTCHours","getUTCMinutes","getUTCSeconds","getUTCMilliseconds","parseTimezone","patterns","dateTimeDelimiter","timeZoneDelimiter","dateRegex","timeRegex","timezoneRegex","dateString","timeString","array","split","substr","token","exec","regex","RegExp","captures","match","parseInt","century","isWeekDate","dayOfYear","parseDateUnit","month","day","week","dayOfWeek","validateWeekDate","dayOfISOWeekYear","validateDate","validateDayOfYearDate","setUTCFullYear","max","hours","parseTimeUnit","minutes","seconds","validateTime","parseFloat","timezoneString","sign","validateTimezone","isoWeekYear","fourthOfJanuaryDay","getUTCDay","diff","setUTCDate","daysInMonths","isLeapYearIndex","_year","_hours","isPrototypeOf","$TypeError","TypeError","module","exports","it","Prototype","uncurryThis","arraySlice","floor","sort","comparefn","j","i","middle","left","right","llength","rlength","lindex","rindex","makeBuiltIn","defineProperty","target","descriptor","get","getter","set","setter","f","defineBuiltIn","src","aCallable","NATIVE_BIND","fn","that","apply","classofRaw","classof","getMethod","isNullOrUndefined","Iterators","wellKnownSymbol","ITERATOR","anObject","tryToString","getIteratorMethod","usingIterator","iteratorMethod","ArrayPrototype","Array","isObject","MATCH","isRegExp","hasOwn","regExpFlags","RegExpPrototype","R","flags","$","requireObjectCoercible","isCallable","getRegExpFlags","getSubstitution","IS_PURE","REPLACE","stringSlice","proto","replaceAll","searchValue","replaceValue","IS_REG_EXP","replacer","string","searchString","functionalReplace","searchLength","advanceBy","replacement","O","position","endOfLastMatch"],"sourceRoot":""}
@@ -1,2 +0,0 @@
1
- (self["webpackChunk_openc3_cosmos_tool_cmdtlmserver"]=self["webpackChunk_openc3_cosmos_tool_cmdtlmserver"]||[]).push([[786],{3786:(n,e,t)=>{"use strict";function l(){var n="/openc3/plugins/packages/openc3-cosmos-tool-cmdtlmserver/src/tools/CmdTlmServer/RawDialog.vue",e="142ac9e72168af15462e043d368a94d609316a60",t=new Function("return this")(),i="__coverage__",o={path:"/openc3/plugins/packages/openc3-cosmos-tool-cmdtlmserver/src/tools/CmdTlmServer/RawDialog.vue",statementMap:{0:{start:{line:1,column:13},end:{line:2,column:1}},1:{start:{line:1,column:39},end:{line:1,column:43}},2:{start:{line:1,column:47},end:{line:1,column:59}},3:{start:{line:1,column:60},end:{line:1,column:2401}},4:{start:{line:1,column:166},end:{line:1,column:270}},5:{start:{line:1,column:258},end:{line:1,column:270}},6:{start:{line:1,column:270},end:{line:1,column:291}},7:{start:{line:1,column:348},end:{line:1,column:365}},8:{start:{line:1,column:522},end:{line:1,column:719}},9:{start:{line:1,column:991},end:{line:1,column:1187}},10:{start:{line:1,column:1461},end:{line:1,column:1656}},11:{start:{line:1,column:2349},end:{line:1,column:2364}},12:{start:{line:3,column:22},end:{line:3,column:24}}},fnMap:{0:{name:"render",decl:{start:{line:1,column:22},end:{line:1,column:28}},loc:{start:{line:1,column:30},end:{line:2,column:1}},line:1},1:{name:"(anonymous_1)",decl:{start:{line:1,column:149},end:{line:1,column:150}},loc:{start:{line:1,column:165},end:{line:1,column:292}},line:1},2:{name:"(anonymous_2)",decl:{start:{line:1,column:332},end:{line:1,column:333}},loc:{start:{line:1,column:347},end:{line:1,column:366}},line:1},3:{name:"(anonymous_3)",decl:{start:{line:1,column:498},end:{line:1,column:499}},loc:{start:{line:1,column:521},end:{line:1,column:720}},line:1},4:{name:"(anonymous_4)",decl:{start:{line:1,column:967},end:{line:1,column:968}},loc:{start:{line:1,column:990},end:{line:1,column:1188}},line:1},5:{name:"(anonymous_5)",decl:{start:{line:1,column:1437},end:{line:1,column:1438}},loc:{start:{line:1,column:1460},end:{line:1,column:1657}},line:1},6:{name:"(anonymous_6)",decl:{start:{line:1,column:2333},end:{line:1,column:2334}},loc:{start:{line:1,column:2348},end:{line:1,column:2365}},line:1}},branchMap:{0:{loc:{start:{line:1,column:166},end:{line:1,column:270}},type:"if",locations:[{start:{line:1,column:166},end:{line:1,column:270}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:1},1:{loc:{start:{line:1,column:169},end:{line:1,column:257}},type:"binary-expr",locations:[{start:{line:1,column:169},end:{line:1,column:196}},{start:{line:1,column:198},end:{line:1,column:257}}],line:1}},s:{0:0,1:0,2:0,3:0,4:0,5:0,6:0,7:0,8:0,9:0,10:0,11:0,12:0},f:{0:0,1:0,2:0,3:0,4:0,5:0,6:0},b:{0:[0,0],1:[0,0]},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"142ac9e72168af15462e043d368a94d609316a60"},a=t[i]||(t[i]={});a[n]&&a[n].hash===e||(a[n]=o);var s=a[n];return l=function(){return s},s}t.d(e,{Z:()=>A}),l(),l().s[0]++;var i=function(){l().f[0]++;var n=(l().s[1]++,this),e=(l().s[2]++,n._self._c);return l().s[3]++,e("v-dialog",{attrs:{"content-class":"raw-dialog",width:"790px"},on:{keydown:function(e){if(l().f[1]++,l().s[4]++,l().b[1][0]++,!e.type.indexOf("key")&&(l().b[1][1]++,n._k(e.keyCode,"esc",27,e.key,["Esc","Escape"])))return l().b[0][0]++,l().s[5]++,null;l().b[0][1]++,l().s[6]++,n.isVisible=!1}},model:{value:n.isVisible,callback:function(e){l().f[2]++,l().s[7]++,n.isVisible=e},expression:"isVisible"}},[e("v-card",[e("v-system-bar",[e("v-tooltip",{attrs:{top:""},scopedSlots:n._u([{key:"activator",fn:function({on:t,attrs:i}){return l().f[3]++,l().s[8]++,[e("div",n._g(n._b({},"div",i,!1),t),[e("v-icon",{attrs:{"data-test":"copy-icon"},on:{click:n.copyRawData}},[n._v("\n mdi-content-copy\n ")])],1)]}}])},[n._v(" "),e("span",[n._v(" Copy ")])]),n._v(" "),e("v-spacer"),n._v(" "),e("span",[n._v(" "+n._s(n.type)+" ")]),n._v(" "),e("v-spacer"),n._v(" "),e("v-tooltip",{attrs:{top:""},scopedSlots:n._u([{key:"activator",fn:function({on:t,attrs:i}){return l().f[4]++,l().s[9]++,[e("div",n._g(n._b({},"div",i,!1),t),[e("v-icon",{attrs:{"data-test":"download"},on:{click:n.downloadRawData}},[n._v("\n mdi-download\n ")])],1)]}}])},[n._v(" "),e("span",[n._v(" Download ")])])],1),n._v(" "),e("v-card-title",[e("span",[n._v(" "+n._s(n.header)+" ")]),n._v(" "),e("v-spacer"),n._v(" "),e("v-tooltip",{attrs:{top:""},scopedSlots:n._u([{key:"activator",fn:function({on:t,attrs:i}){return l().f[5]++,l().s[10]++,[e("div",n._g(n._b({},"div",i,!1),t),[e("v-btn",{attrs:{icon:"","data-test":"pause"},on:{click:n.pause}},[e("v-icon",[n._v(" "+n._s(n.buttonIcon)+" ")])],1)],1)]}}])},[n._v(" "),e("span",[n._v(" "+n._s(n.buttonLabel)+" ")])])],1),n._v(" "),e("v-card-text",[e("v-row",{attrs:{dense:""}},[e("v-col",{attrs:{cols:"4"}},[e("span",[n._v(" Received Time: ")])]),n._v(" "),e("v-col",{staticClass:"text-right"},[e("span",[n._v(" "+n._s(n.receivedTime)+" ")])])],1),n._v(" "),e("v-row",{attrs:{dense:""}},[e("v-col",{attrs:{cols:"4"}},[e("span",[n._v(" Count: ")])]),n._v(" "),e("v-col",{staticClass:"text-right"},[e("span",[n._v(" "+n._s(n.receivedCount)+" ")])])],1),n._v(" "),e("v-textarea",{staticClass:"pa-0 ma-0",attrs:{"auto-grow":"",readonly:""},model:{value:n.rawData,callback:function(e){l().f[6]++,l().s[11]++,n.rawData=e},expression:"rawData"}})],1)],1)],1)},o=(l().s[12]++,[]),a=(t(309),t(1629),t(4163),t(5850),t(3631),t(1399),t(9413)),s=t(4872);function c(){var n="/openc3/plugins/packages/openc3-cosmos-tool-cmdtlmserver/src/tools/CmdTlmServer/RawDialog.vue",e="87abe21d1efd91b55f5475c6e4eba8ffcb0528c4",t=new Function("return this")(),l="__coverage__",i={path:"/openc3/plugins/packages/openc3-cosmos-tool-cmdtlmserver/src/tools/CmdTlmServer/RawDialog.vue",statementMap:{0:{start:{line:15,column:4},end:{line:21,column:5}},1:{start:{line:25,column:6},end:{line:29,column:7}},2:{start:{line:26,column:8},end:{line:26,column:23}},3:{start:{line:28,column:8},end:{line:28,column:22}},4:{start:{line:32,column:6},end:{line:36,column:7}},5:{start:{line:33,column:8},end:{line:33,column:25}},6:{start:{line:35,column:8},end:{line:35,column:26}},7:{start:{line:40,column:8},end:{line:40,column:27}},8:{start:{line:44,column:8},end:{line:44,column:24}},9:{start:{line:45,column:8},end:{line:45,column:30}},10:{start:{line:46,column:8},end:{line:46,column:25}},11:{start:{line:47,column:8},end:{line:47,column:31}},12:{start:{line:48,column:8},end:{line:48,column:27}},13:{start:{line:49,column:8},end:{line:49,column:34}},14:{start:{line:50,column:8},end:{line:50,column:35}},15:{start:{line:56,column:6},end:{line:56,column:113}},16:{start:{line:59,column:6},end:{line:59,column:56}},17:{start:{line:62,column:19},end:{line:64,column:8}},18:{start:{line:66,column:19},end:{line:66,column:46}},19:{start:{line:67,column:6},end:{line:67,column:43}},20:{start:{line:68,column:17},end:{line:68,column:58}},21:{start:{line:69,column:6},end:{line:72,column:7}},22:{start:{line:73,column:6},end:{line:73,column:18}},23:{start:{line:76,column:6},end:{line:76,column:32}},24:{start:{line:79,column:6},end:{line:79,column:48}},25:{start:{line:79,column:42},end:{line:79,column:48}},26:{start:{line:80,column:6},end:{line:80,column:84}},27:{start:{line:82,column:6},end:{line:86,column:7}},28:{start:{line:83,column:8},end:{line:83,column:30}},29:{start:{line:85,column:8},end:{line:85,column:28}},30:{start:{line:89,column:6},end:{line:105,column:10}},31:{start:{line:92,column:28},end:{line:92,column:41}},32:{start:{line:93,column:10},end:{line:98,column:11}},33:{start:{line:94,column:12},end:{line:94,column:41}},34:{start:{line:96,column:29},end:{line:96,column:46}},35:{start:{line:97,column:12},end:{line:97,column:56}},36:{start:{line:99,column:10},end:{line:99,column:61}},37:{start:{line:100,column:10},end:{line:100,column:52}},38:{start:{line:101,column:10},end:{line:104,column:42}},39:{start:{line:108,column:6},end:{line:124,column:10}},40:{start:{line:111,column:28},end:{line:111,column:41}},41:{start:{line:112,column:10},end:{line:117,column:11}},42:{start:{line:113,column:12},end:{line:113,column:41}},43:{start:{line:115,column:29},end:{line:115,column:46}},44:{start:{line:116,column:12},end:{line:116,column:56}},45:{start:{line:118,column:10},end:{line:118,column:61}},46:{start:{line:119,column:10},end:{line:119,column:52}},47:{start:{line:120,column:10},end:{line:123,column:42}},48:{start:{line:128,column:19},end:{line:128,column:21}},49:{start:{line:129,column:18},end:{line:129,column:19}},50:{start:{line:130,column:18},end:{line:130,column:20}},51:{start:{line:131,column:6},end:{line:152,column:8}},52:{start:{line:132,column:8},end:{line:134,column:9}},53:{start:{line:133,column:10},end:{line:133,column:48}},54:{start:{line:135,column:8},end:{line:135,column:35}},55:{start:{line:138,column:8},end:{line:142,column:9}},56:{start:{line:139,column:10},end:{line:139,column:44}},57:{start:{line:141,column:10},end:{line:141,column:22}},58:{start:{line:144,column:8},end:{line:144,column:15}},59:{start:{line:146,column:8},end:{line:151,column:9}},60:{start:{line:147,column:10},end:{line:147,column:39}},61:{start:{line:148,column:10},end:{line:148,column:20}},62:{start:{line:150,column:10},end:{line:150,column:23}},63:{start:{line:157,column:6},end:{line:163,column:7}},64:{start:{line:158,column:30},end:{line:158,column:65}},65:{start:{line:160,column:21},end:{line:160,column:53}},66:{start:{line:161,column:27},end:{line:161,column:56}},67:{start:{line:162,column:8},end:{line:162,column:54}},68:{start:{line:164,column:6},end:{line:164,column:19}},69:{start:{line:167,column:16},end:{line:167,column:32}},70:{start:{line:168,column:6},end:{line:168,column:49}}},fnMap:{0:{name:"(anonymous_0)",decl:{start:{line:14,column:2},end:{line:14,column:3}},loc:{start:{line:14,column:9},end:{line:22,column:3}},line:14},1:{name:"(anonymous_1)",decl:{start:{line:24,column:17},end:{line:24,column:18}},loc:{start:{line:24,column:29},end:{line:30,column:5}},line:24},2:{name:"(anonymous_2)",decl:{start:{line:31,column:16},end:{line:31,column:17}},loc:{start:{line:31,column:28},end:{line:37,column:5}},line:31},3:{name:"(anonymous_3)",decl:{start:{line:39,column:11},end:{line:39,column:12}},loc:{start:{line:39,column:23},end:{line:41,column:7}},line:39},4:{name:"(anonymous_4)",decl:{start:{line:43,column:11},end:{line:43,column:12}},loc:{start:{line:43,column:27},end:{line:51,column:7}},line:43},5:{name:"(anonymous_5)",decl:{start:{line:55,column:18},end:{line:55,column:19}},loc:{start:{line:55,column:30},end:{line:57,column:5}},line:55},6:{name:"(anonymous_6)",decl:{start:{line:58,column:17},end:{line:58,column:18}},loc:{start:{line:58,column:29},end:{line:60,column:5}},line:58},7:{name:"(anonymous_7)",decl:{start:{line:61,column:21},end:{line:61,column:22}},loc:{start:{line:61,column:33},end:{line:74,column:5}},line:61},8:{name:"(anonymous_8)",decl:{start:{line:75,column:11},end:{line:75,column:12}},loc:{start:{line:75,column:23},end:{line:77,column:5}},line:75},9:{name:"(anonymous_9)",decl:{start:{line:78,column:12},end:{line:78,column:13}},loc:{start:{line:78,column:24},end:{line:87,column:5}},line:78},10:{name:"(anonymous_10)",decl:{start:{line:88,column:21},end:{line:88,column:22}},loc:{start:{line:88,column:33},end:{line:106,column:5}},line:88},11:{name:"(anonymous_11)",decl:{start:{line:91,column:14},end:{line:91,column:15}},loc:{start:{line:91,column:26},end:{line:105,column:9}},line:91},12:{name:"(anonymous_12)",decl:{start:{line:107,column:19},end:{line:107,column:20}},loc:{start:{line:107,column:31},end:{line:125,column:5}},line:107},13:{name:"(anonymous_13)",decl:{start:{line:110,column:14},end:{line:110,column:15}},loc:{start:{line:110,column:26},end:{line:124,column:9}},line:110},14:{name:"(anonymous_14)",decl:{start:{line:127,column:18},end:{line:127,column:19}},loc:{start:{line:127,column:36},end:{line:165,column:5}},line:127},15:{name:"(anonymous_15)",decl:{start:{line:131,column:21},end:{line:131,column:22}},loc:{start:{line:131,column:31},end:{line:152,column:7}},line:131},16:{name:"(anonymous_16)",decl:{start:{line:166,column:4},end:{line:166,column:5}},loc:{start:{line:166,column:27},end:{line:169,column:5}},line:166}},branchMap:{0:{loc:{start:{line:25,column:6},end:{line:29,column:7}},type:"if",locations:[{start:{line:25,column:6},end:{line:29,column:7}},{start:{line:27,column:13},end:{line:29,column:7}}],line:25},1:{loc:{start:{line:32,column:6},end:{line:36,column:7}},type:"if",locations:[{start:{line:32,column:6},end:{line:36,column:7}},{start:{line:34,column:13},end:{line:36,column:7}}],line:32},2:{loc:{start:{line:79,column:6},end:{line:79,column:48}},type:"if",locations:[{start:{line:79,column:6},end:{line:79,column:48}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:79},3:{loc:{start:{line:79,column:10},end:{line:79,column:40}},type:"binary-expr",locations:[{start:{line:79,column:10},end:{line:79,column:25}},{start:{line:79,column:29},end:{line:79,column:40}}],line:79},4:{loc:{start:{line:82,column:6},end:{line:86,column:7}},type:"if",locations:[{start:{line:82,column:6},end:{line:86,column:7}},{start:{line:84,column:13},end:{line:86,column:7}}],line:82},5:{loc:{start:{line:93,column:10},end:{line:98,column:11}},type:"if",locations:[{start:{line:93,column:10},end:{line:98,column:11}},{start:{line:95,column:17},end:{line:98,column:11}}],line:93},6:{loc:{start:{line:112,column:10},end:{line:117,column:11}},type:"if",locations:[{start:{line:112,column:10},end:{line:117,column:11}},{start:{line:114,column:17},end:{line:117,column:11}}],line:112},7:{loc:{start:{line:132,column:8},end:{line:134,column:9}},type:"if",locations:[{start:{line:132,column:8},end:{line:134,column:9}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:132},8:{loc:{start:{line:138,column:8},end:{line:142,column:9}},type:"if",locations:[{start:{line:138,column:8},end:{line:142,column:9}},{start:{line:140,column:15},end:{line:142,column:9}}],line:138},9:{loc:{start:{line:138,column:12},end:{line:138,column:37}},type:"binary-expr",locations:[{start:{line:138,column:12},end:{line:138,column:22}},{start:{line:138,column:26},end:{line:138,column:37}}],line:138},10:{loc:{start:{line:146,column:8},end:{line:151,column:9}},type:"if",locations:[{start:{line:146,column:8},end:{line:151,column:9}},{start:{line:149,column:15},end:{line:151,column:9}}],line:146},11:{loc:{start:{line:157,column:6},end:{line:163,column:7}},type:"if",locations:[{start:{line:157,column:6},end:{line:163,column:7}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:157},12:{loc:{start:{line:166,column:16},end:{line:166,column:25}},type:"default-arg",locations:[{start:{line:166,column:24},end:{line:166,column:25}}],line:166}},s:{0:0,1:0,2:0,3:0,4:0,5:0,6:0,7:0,8:0,9:0,10:0,11:0,12:0,13:0,14:0,15:0,16:0,17:0,18:0,19:0,20:0,21:0,22:0,23:0,24:0,25:0,26:0,27:0,28:0,29:0,30:0,31:0,32:0,33:0,34:0,35:0,36:0,37:0,38:0,39:0,40:0,41:0,42:0,43:0,44:0,45:0,46:0,47:0,48:0,49:0,50:0,51:0,52:0,53:0,54:0,55:0,56:0,57:0,58:0,59:0,60:0,61:0,62:0,63:0,64:0,65:0,66:0,67:0,68:0,69:0,70:0},f:{0:0,1:0,2:0,3:0,4:0,5:0,6:0,7:0,8:0,9:0,10:0,11:0,12:0,13:0,14:0,15:0,16:0},b:{0:[0,0],1:[0,0],2:[0,0],3:[0,0],4:[0,0],5:[0,0],6:[0,0],7:[0,0],8:[0,0],9:[0,0],10:[0,0],11:[0,0],12:[0]},inputSourceMap:{version:3,sources:["RawDialog.vue"],names:[],mappings:";AA6FA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA",file:"RawDialog.vue",sourceRoot:"src/tools/CmdTlmServer",sourcesContent:["\x3c!--\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2023, OpenC3, Inc.\n# All Rights Reserved\n#\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\n--\x3e\n\n<template>\n <v-dialog\n content-class=\"raw-dialog\"\n v-model=\"isVisible\"\n @keydown.esc=\"isVisible = false\"\n width=\"790px\"\n >\n <v-card>\n <v-system-bar>\n <v-tooltip top>\n <template v-slot:activator=\"{ on, attrs }\">\n <div v-on=\"on\" v-bind=\"attrs\">\n <v-icon data-test=\"copy-icon\" @click=\"copyRawData\">\n mdi-content-copy\n </v-icon>\n </div>\n </template>\n <span> Copy </span>\n </v-tooltip>\n <v-spacer />\n <span> {{ type }} </span>\n <v-spacer />\n <v-tooltip top>\n <template v-slot:activator=\"{ on, attrs }\">\n <div v-on=\"on\" v-bind=\"attrs\">\n <v-icon data-test=\"download\" @click=\"downloadRawData\">\n mdi-download\n </v-icon>\n </div>\n </template>\n <span> Download </span>\n </v-tooltip>\n </v-system-bar>\n <v-card-title>\n <span> {{ header }} </span>\n <v-spacer />\n <v-tooltip top>\n <template v-slot:activator=\"{ on, attrs }\">\n <div v-on=\"on\" v-bind=\"attrs\">\n <v-btn icon data-test=\"pause\" @click=\"pause\">\n <v-icon> {{ buttonIcon }} </v-icon>\n </v-btn>\n </div>\n </template>\n <span> {{ buttonLabel }} </span>\n </v-tooltip>\n </v-card-title>\n <v-card-text>\n <v-row dense>\n <v-col cols=\"4\">\n <span> Received Time: </span>\n </v-col>\n <v-col class=\"text-right\">\n <span> {{ receivedTime }} </span>\n </v-col>\n </v-row>\n <v-row dense>\n <v-col cols=\"4\">\n <span> Count: </span>\n </v-col>\n <v-col class=\"text-right\">\n <span> {{ receivedCount }} </span>\n </v-col>\n </v-row>\n <v-textarea v-model=\"rawData\" class=\"pa-0 ma-0\" auto-grow readonly />\n </v-card-text>\n </v-card>\n </v-dialog>\n</template>\n\n<script>\nimport { format } from 'date-fns'\n\nimport Updater from './Updater'\n\nexport default {\n mixins: [Updater],\n props: {\n type: String,\n visible: Boolean,\n targetName: String,\n packetName: String,\n },\n data() {\n return {\n header: '',\n receivedTime: '',\n rawData: '',\n paused: false,\n receivedCount: '',\n }\n },\n computed: {\n buttonLabel: function () {\n if (this.paused) {\n return 'Resume'\n } else {\n return 'Pause'\n }\n },\n buttonIcon: function () {\n if (this.paused) {\n return 'mdi-play'\n } else {\n return 'mdi-pause'\n }\n },\n isVisible: {\n get: function () {\n return this.visible\n },\n // Reset all the data to defaults\n set: function (bool) {\n this.header = ''\n this.receivedTime = ''\n this.rawData = ''\n this.receivedCount = ''\n this.paused = false\n this.buttonLabel = 'Pause'\n this.$emit('display', bool)\n },\n },\n },\n methods: {\n buildRawData: function () {\n return `${this.header}\\nReceived Time: ${this.receivedTime}\\nCount: ${this.receivedCount}\\n${this.rawData}`\n },\n copyRawData: function () {\n navigator.clipboard.writeText(this.buildRawData())\n },\n downloadRawData: function () {\n const blob = new Blob([this.buildRawData()], {\n type: 'plain/text',\n })\n // Make a link and then 'click' on it to start the download\n const link = document.createElement('a')\n link.href = URL.createObjectURL(blob)\n const dt = format(Date.now(), 'yyyy_MM_dd_HH_mm_ss')\n link.setAttribute(\n 'download',\n `${dt}_${this.targetName}_${this.packetName}.txt`,\n )\n link.click()\n },\n pause: function () {\n this.paused = !this.paused\n },\n update: function () {\n if (!this.isVisible || this.paused) return\n this.header = `Raw ${this.type} Packet: ${this.targetName} ${this.packetName}`\n\n if (this.type === 'Telemetry') {\n this.updateTelemetry()\n } else {\n this.updateCommand()\n }\n },\n updateTelemetry: function () {\n this.api\n .get_tlm_buffer(this.targetName, this.packetName)\n .then((result) => {\n let buffer_data = result.buffer\n if (buffer_data.raw !== undefined) {\n buffer_data = buffer_data.raw\n } else {\n let utf8Encode = new TextEncoder()\n buffer_data = utf8Encode.encode(buffer_data)\n }\n this.receivedTime = new Date(result.time / 1000000)\n this.receivedCount = result.received_count\n this.rawData =\n 'Address Data Ascii\\n' +\n '---------------------------------------------------------------------------\\n' +\n this.formatBuffer(buffer_data)\n })\n },\n updateCommand: function () {\n this.api\n .get_cmd_buffer(this.targetName, this.packetName)\n .then((result) => {\n let buffer_data = result.buffer\n if (buffer_data.raw !== undefined) {\n buffer_data = buffer_data.raw\n } else {\n let utf8Encode = new TextEncoder()\n buffer_data = utf8Encode.encode(buffer_data)\n }\n this.receivedTime = new Date(result.time / 1000000)\n this.receivedCount = result.received_count\n this.rawData =\n 'Address Data Ascii\\n' +\n '---------------------------------------------------------------------------\\n' +\n this.formatBuffer(buffer_data)\n })\n },\n // TODO: Perhaps move this to a utility library\n formatBuffer: function (buffer) {\n var string = ''\n var index = 0\n var ascii = ''\n buffer.forEach((byte) => {\n if (index % 16 === 0) {\n string += this.numHex(index, 8) + ': '\n }\n string += this.numHex(byte)\n\n // Create the ASCII representation if printable\n if (byte >= 32 && byte <= 126) {\n ascii += String.fromCharCode(byte)\n } else {\n ascii += ' '\n }\n\n index++\n\n if (index % 16 === 0) {\n string += ' ' + ascii + '\\n'\n ascii = ''\n } else {\n string += ' '\n }\n })\n\n // We're done printing all the bytes. Now check to see if we ended in the\n // middle of a line. If so we have to print out the final ASCII if\n // requested.\n if (index % 16 != 0) {\n var existing_length = (index % 16) - 1 + (index % 16) * 2\n // 47 is (16 * 2) + 15 separator spaces\n var filler = ' '.repeat(47 - existing_length)\n var ascii_filler = ' '.repeat(16 - ascii.length)\n string += filler + ' ' + ascii + ascii_filler\n }\n return string\n },\n numHex(num, width = 2) {\n var hex = num.toString(16)\n return '0'.repeat(width - hex.length) + hex\n },\n },\n}\n<\/script>\n<style scoped>\n:deep(.raw-dialog) {\n position: absolute;\n top: 20px;\n}\n.v-textarea :deep(textarea) {\n margin-top: 10px;\n font-family: 'Courier New', Courier, monospace;\n}\n</style>\n"]},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"87abe21d1efd91b55f5475c6e4eba8ffcb0528c4"},o=t[l]||(t[l]={});o[n]&&o[n].hash===e||(o[n]=i);var a=o[n];return c=function(){return a},a}c();const u={mixins:[s.Z],props:{type:String,visible:Boolean,targetName:String,packetName:String},data(){return c().f[0]++,c().s[0]++,{header:"",receivedTime:"",rawData:"",paused:!1,receivedCount:""}},computed:{buttonLabel:function(){return c().f[1]++,c().s[1]++,this.paused?(c().b[0][0]++,c().s[2]++,"Resume"):(c().b[0][1]++,c().s[3]++,"Pause")},buttonIcon:function(){return c().f[2]++,c().s[4]++,this.paused?(c().b[1][0]++,c().s[5]++,"mdi-play"):(c().b[1][1]++,c().s[6]++,"mdi-pause")},isVisible:{get:function(){return c().f[3]++,c().s[7]++,this.visible},set:function(n){c().f[4]++,c().s[8]++,this.header="",c().s[9]++,this.receivedTime="",c().s[10]++,this.rawData="",c().s[11]++,this.receivedCount="",c().s[12]++,this.paused=!1,c().s[13]++,this.buttonLabel="Pause",c().s[14]++,this.$emit("display",n)}}},methods:{buildRawData:function(){return c().f[5]++,c().s[15]++,`${this.header}\nReceived Time: ${this.receivedTime}\nCount: ${this.receivedCount}\n${this.rawData}`},copyRawData:function(){c().f[6]++,c().s[16]++,navigator.clipboard.writeText(this.buildRawData())},downloadRawData:function(){c().f[7]++;const n=(c().s[17]++,new Blob([this.buildRawData()],{type:"plain/text"})),e=(c().s[18]++,document.createElement("a"));c().s[19]++,e.href=URL.createObjectURL(n);const t=(c().s[20]++,(0,a.Z)(Date.now(),"yyyy_MM_dd_HH_mm_ss"));c().s[21]++,e.setAttribute("download",`${t}_${this.targetName}_${this.packetName}.txt`),c().s[22]++,e.click()},pause:function(){c().f[8]++,c().s[23]++,this.paused=!this.paused},update:function(){if(c().f[9]++,c().s[24]++,c().b[3][0]++,!this.isVisible||(c().b[3][1]++,this.paused))return c().b[2][0]++,void c().s[25]++;c().b[2][1]++,c().s[26]++,this.header=`Raw ${this.type} Packet: ${this.targetName} ${this.packetName}`,c().s[27]++,"Telemetry"===this.type?(c().b[4][0]++,c().s[28]++,this.updateTelemetry()):(c().b[4][1]++,c().s[29]++,this.updateCommand())},updateTelemetry:function(){c().f[10]++,c().s[30]++,this.api.get_tlm_buffer(this.targetName,this.packetName).then((n=>{c().f[11]++;let e=(c().s[31]++,n.buffer);if(c().s[32]++,void 0!==e.raw)c().b[5][0]++,c().s[33]++,e=e.raw;else{c().b[5][1]++;let n=(c().s[34]++,new TextEncoder);c().s[35]++,e=n.encode(e)}c().s[36]++,this.receivedTime=new Date(n.time/1e6),c().s[37]++,this.receivedCount=n.received_count,c().s[38]++,this.rawData="Address Data Ascii\n---------------------------------------------------------------------------\n"+this.formatBuffer(e)}))},updateCommand:function(){c().f[12]++,c().s[39]++,this.api.get_cmd_buffer(this.targetName,this.packetName).then((n=>{c().f[13]++;let e=(c().s[40]++,n.buffer);if(c().s[41]++,void 0!==e.raw)c().b[6][0]++,c().s[42]++,e=e.raw;else{c().b[6][1]++;let n=(c().s[43]++,new TextEncoder);c().s[44]++,e=n.encode(e)}c().s[45]++,this.receivedTime=new Date(n.time/1e6),c().s[46]++,this.receivedCount=n.received_count,c().s[47]++,this.rawData="Address Data Ascii\n---------------------------------------------------------------------------\n"+this.formatBuffer(e)}))},formatBuffer:function(n){c().f[14]++;var e=(c().s[48]++,""),t=(c().s[49]++,0),l=(c().s[50]++,"");if(c().s[51]++,n.forEach((n=>{c().f[15]++,c().s[52]++,t%16===0?(c().b[7][0]++,c().s[53]++,e+=this.numHex(t,8)+": "):c().b[7][1]++,c().s[54]++,e+=this.numHex(n),c().s[55]++,c().b[9][0]++,n>=32&&(c().b[9][1]++,n<=126)?(c().b[8][0]++,c().s[56]++,l+=String.fromCharCode(n)):(c().b[8][1]++,c().s[57]++,l+=" "),c().s[58]++,t++,c().s[59]++,t%16===0?(c().b[10][0]++,c().s[60]++,e+=" "+l+"\n",c().s[61]++,l=""):(c().b[10][1]++,c().s[62]++,e+=" ")})),c().s[63]++,t%16!=0){c().b[11][0]++;var i=(c().s[64]++,t%16-1+t%16*2),o=(c().s[65]++," ".repeat(47-i)),a=(c().s[66]++," ".repeat(16-l.length));c().s[67]++,e+=o+" "+l+a}else c().b[11][1]++;return c().s[68]++,e},numHex(n,e=(c().b[12][0]++,2)){c().f[16]++;var t=(c().s[69]++,n.toString(16));return c().s[70]++,"0".repeat(e-t.length)+t}}},r=u;t(905);var m=t(3483),d=(0,m.Z)(r,i,o,!1,null,"f7faa3f0",null);const A=d.exports},5860:(n,e,t)=>{"use strict";t.r(e),t.d(e,{default:()=>c});var l=t(9601),i=t.n(l),o=t(2609),a=t.n(o),s=a()(i());s.push([n.id,"[data-v-f7faa3f0] .raw-dialog{position:absolute;top:20px}.v-textarea[data-v-f7faa3f0] textarea{margin-top:10px;font-family:Courier New,Courier,monospace}",""]);const c=s},905:(n,e,t)=>{var l=t(5860);l.__esModule&&(l=l.default),"string"===typeof l&&(l=[[n.id,l,""]]),l.locals&&(n.exports=l.locals);var i=t(3514).Z;i("f3984d58",l,!0,{sourceMap:!1,shadowMode:!1})}}]);
2
- //# sourceMappingURL=786.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"js/786.js","mappings":"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","sources":["webpack://@openc3/cosmos-tool-cmdtlmserver/./src/tools/CmdTlmServer/RawDialog.vue","webpack://@openc3/cosmos-tool-cmdtlmserver/src/tools/CmdTlmServer/RawDialog.vue","webpack://@openc3/cosmos-tool-cmdtlmserver/./src/tools/CmdTlmServer/RawDialog.vue?1a17","webpack://@openc3/cosmos-tool-cmdtlmserver/./src/tools/CmdTlmServer/RawDialog.vue?b7f3","webpack://@openc3/cosmos-tool-cmdtlmserver/./src/tools/CmdTlmServer/RawDialog.vue?51f3","webpack://@openc3/cosmos-tool-cmdtlmserver/./src/tools/CmdTlmServer/RawDialog.vue?1b45"],"sourcesContent":["var render = function render(){var _vm=this,_c=_vm._self._c;return _c('v-dialog',{attrs:{\"content-class\":\"raw-dialog\",\"width\":\"790px\"},on:{\"keydown\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"esc\",27,$event.key,[\"Esc\",\"Escape\"]))return null;_vm.isVisible = false}},model:{value:(_vm.isVisible),callback:function ($$v) {_vm.isVisible=$$v},expression:\"isVisible\"}},[_c('v-card',[_c('v-system-bar',[_c('v-tooltip',{attrs:{\"top\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function({ on, attrs }){return [_c('div',_vm._g(_vm._b({},'div',attrs,false),on),[_c('v-icon',{attrs:{\"data-test\":\"copy-icon\"},on:{\"click\":_vm.copyRawData}},[_vm._v(\"\\n mdi-content-copy\\n \")])],1)]}}])},[_vm._v(\" \"),_c('span',[_vm._v(\" Copy \")])]),_vm._v(\" \"),_c('v-spacer'),_vm._v(\" \"),_c('span',[_vm._v(\" \"+_vm._s(_vm.type)+\" \")]),_vm._v(\" \"),_c('v-spacer'),_vm._v(\" \"),_c('v-tooltip',{attrs:{\"top\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function({ on, attrs }){return [_c('div',_vm._g(_vm._b({},'div',attrs,false),on),[_c('v-icon',{attrs:{\"data-test\":\"download\"},on:{\"click\":_vm.downloadRawData}},[_vm._v(\"\\n mdi-download\\n \")])],1)]}}])},[_vm._v(\" \"),_c('span',[_vm._v(\" Download \")])])],1),_vm._v(\" \"),_c('v-card-title',[_c('span',[_vm._v(\" \"+_vm._s(_vm.header)+\" \")]),_vm._v(\" \"),_c('v-spacer'),_vm._v(\" \"),_c('v-tooltip',{attrs:{\"top\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function({ on, attrs }){return [_c('div',_vm._g(_vm._b({},'div',attrs,false),on),[_c('v-btn',{attrs:{\"icon\":\"\",\"data-test\":\"pause\"},on:{\"click\":_vm.pause}},[_c('v-icon',[_vm._v(\" \"+_vm._s(_vm.buttonIcon)+\" \")])],1)],1)]}}])},[_vm._v(\" \"),_c('span',[_vm._v(\" \"+_vm._s(_vm.buttonLabel)+\" \")])])],1),_vm._v(\" \"),_c('v-card-text',[_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"4\"}},[_c('span',[_vm._v(\" Received Time: \")])]),_vm._v(\" \"),_c('v-col',{staticClass:\"text-right\"},[_c('span',[_vm._v(\" \"+_vm._s(_vm.receivedTime)+\" \")])])],1),_vm._v(\" \"),_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"4\"}},[_c('span',[_vm._v(\" Count: \")])]),_vm._v(\" \"),_c('v-col',{staticClass:\"text-right\"},[_c('span',[_vm._v(\" \"+_vm._s(_vm.receivedCount)+\" \")])])],1),_vm._v(\" \"),_c('v-textarea',{staticClass:\"pa-0 ma-0\",attrs:{\"auto-grow\":\"\",\"readonly\":\"\"},model:{value:(_vm.rawData),callback:function ($$v) {_vm.rawData=$$v},expression:\"rawData\"}})],1)],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<!--\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2023, OpenC3, Inc.\n# All Rights Reserved\n#\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\n-->\n\n<template>\n <v-dialog\n content-class=\"raw-dialog\"\n v-model=\"isVisible\"\n @keydown.esc=\"isVisible = false\"\n width=\"790px\"\n >\n <v-card>\n <v-system-bar>\n <v-tooltip top>\n <template v-slot:activator=\"{ on, attrs }\">\n <div v-on=\"on\" v-bind=\"attrs\">\n <v-icon data-test=\"copy-icon\" @click=\"copyRawData\">\n mdi-content-copy\n </v-icon>\n </div>\n </template>\n <span> Copy </span>\n </v-tooltip>\n <v-spacer />\n <span> {{ type }} </span>\n <v-spacer />\n <v-tooltip top>\n <template v-slot:activator=\"{ on, attrs }\">\n <div v-on=\"on\" v-bind=\"attrs\">\n <v-icon data-test=\"download\" @click=\"downloadRawData\">\n mdi-download\n </v-icon>\n </div>\n </template>\n <span> Download </span>\n </v-tooltip>\n </v-system-bar>\n <v-card-title>\n <span> {{ header }} </span>\n <v-spacer />\n <v-tooltip top>\n <template v-slot:activator=\"{ on, attrs }\">\n <div v-on=\"on\" v-bind=\"attrs\">\n <v-btn icon data-test=\"pause\" @click=\"pause\">\n <v-icon> {{ buttonIcon }} </v-icon>\n </v-btn>\n </div>\n </template>\n <span> {{ buttonLabel }} </span>\n </v-tooltip>\n </v-card-title>\n <v-card-text>\n <v-row dense>\n <v-col cols=\"4\">\n <span> Received Time: </span>\n </v-col>\n <v-col class=\"text-right\">\n <span> {{ receivedTime }} </span>\n </v-col>\n </v-row>\n <v-row dense>\n <v-col cols=\"4\">\n <span> Count: </span>\n </v-col>\n <v-col class=\"text-right\">\n <span> {{ receivedCount }} </span>\n </v-col>\n </v-row>\n <v-textarea v-model=\"rawData\" class=\"pa-0 ma-0\" auto-grow readonly />\n </v-card-text>\n </v-card>\n </v-dialog>\n</template>\n\n<script>\nimport { format } from 'date-fns'\n\nimport Updater from './Updater'\n\nexport default {\n mixins: [Updater],\n props: {\n type: String,\n visible: Boolean,\n targetName: String,\n packetName: String,\n },\n data() {\n return {\n header: '',\n receivedTime: '',\n rawData: '',\n paused: false,\n receivedCount: '',\n }\n },\n computed: {\n buttonLabel: function () {\n if (this.paused) {\n return 'Resume'\n } else {\n return 'Pause'\n }\n },\n buttonIcon: function () {\n if (this.paused) {\n return 'mdi-play'\n } else {\n return 'mdi-pause'\n }\n },\n isVisible: {\n get: function () {\n return this.visible\n },\n // Reset all the data to defaults\n set: function (bool) {\n this.header = ''\n this.receivedTime = ''\n this.rawData = ''\n this.receivedCount = ''\n this.paused = false\n this.buttonLabel = 'Pause'\n this.$emit('display', bool)\n },\n },\n },\n methods: {\n buildRawData: function () {\n return `${this.header}\\nReceived Time: ${this.receivedTime}\\nCount: ${this.receivedCount}\\n${this.rawData}`\n },\n copyRawData: function () {\n navigator.clipboard.writeText(this.buildRawData())\n },\n downloadRawData: function () {\n const blob = new Blob([this.buildRawData()], {\n type: 'plain/text',\n })\n // Make a link and then 'click' on it to start the download\n const link = document.createElement('a')\n link.href = URL.createObjectURL(blob)\n const dt = format(Date.now(), 'yyyy_MM_dd_HH_mm_ss')\n link.setAttribute(\n 'download',\n `${dt}_${this.targetName}_${this.packetName}.txt`,\n )\n link.click()\n },\n pause: function () {\n this.paused = !this.paused\n },\n update: function () {\n if (!this.isVisible || this.paused) return\n this.header = `Raw ${this.type} Packet: ${this.targetName} ${this.packetName}`\n\n if (this.type === 'Telemetry') {\n this.updateTelemetry()\n } else {\n this.updateCommand()\n }\n },\n updateTelemetry: function () {\n this.api\n .get_tlm_buffer(this.targetName, this.packetName)\n .then((result) => {\n let buffer_data = result.buffer\n if (buffer_data.raw !== undefined) {\n buffer_data = buffer_data.raw\n } else {\n let utf8Encode = new TextEncoder()\n buffer_data = utf8Encode.encode(buffer_data)\n }\n this.receivedTime = new Date(result.time / 1000000)\n this.receivedCount = result.received_count\n this.rawData =\n 'Address Data Ascii\\n' +\n '---------------------------------------------------------------------------\\n' +\n this.formatBuffer(buffer_data)\n })\n },\n updateCommand: function () {\n this.api\n .get_cmd_buffer(this.targetName, this.packetName)\n .then((result) => {\n let buffer_data = result.buffer\n if (buffer_data.raw !== undefined) {\n buffer_data = buffer_data.raw\n } else {\n let utf8Encode = new TextEncoder()\n buffer_data = utf8Encode.encode(buffer_data)\n }\n this.receivedTime = new Date(result.time / 1000000)\n this.receivedCount = result.received_count\n this.rawData =\n 'Address Data Ascii\\n' +\n '---------------------------------------------------------------------------\\n' +\n this.formatBuffer(buffer_data)\n })\n },\n // TODO: Perhaps move this to a utility library\n formatBuffer: function (buffer) {\n var string = ''\n var index = 0\n var ascii = ''\n buffer.forEach((byte) => {\n if (index % 16 === 0) {\n string += this.numHex(index, 8) + ': '\n }\n string += this.numHex(byte)\n\n // Create the ASCII representation if printable\n if (byte >= 32 && byte <= 126) {\n ascii += String.fromCharCode(byte)\n } else {\n ascii += ' '\n }\n\n index++\n\n if (index % 16 === 0) {\n string += ' ' + ascii + '\\n'\n ascii = ''\n } else {\n string += ' '\n }\n })\n\n // We're done printing all the bytes. Now check to see if we ended in the\n // middle of a line. If so we have to print out the final ASCII if\n // requested.\n if (index % 16 != 0) {\n var existing_length = (index % 16) - 1 + (index % 16) * 2\n // 47 is (16 * 2) + 15 separator spaces\n var filler = ' '.repeat(47 - existing_length)\n var ascii_filler = ' '.repeat(16 - ascii.length)\n string += filler + ' ' + ascii + ascii_filler\n }\n return string\n },\n numHex(num, width = 2) {\n var hex = num.toString(16)\n return '0'.repeat(width - hex.length) + hex\n },\n },\n}\n</script>\n<style scoped>\n:deep(.raw-dialog) {\n position: absolute;\n top: 20px;\n}\n.v-textarea :deep(textarea) {\n margin-top: 10px;\n font-family: 'Courier New', Courier, monospace;\n}\n</style>\n","import mod from \"-!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./RawDialog.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./RawDialog.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./RawDialog.vue?vue&type=template&id=f7faa3f0&scoped=true\"\nimport script from \"./RawDialog.vue?vue&type=script&lang=js\"\nexport * from \"./RawDialog.vue?vue&type=script&lang=js\"\nimport style0 from \"./RawDialog.vue?vue&type=style&index=0&id=f7faa3f0&prod&scoped=true&lang=css\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"f7faa3f0\",\n null\n \n)\n\nexport default component.exports","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `[data-v-f7faa3f0] .raw-dialog{position:absolute;top:20px}.v-textarea[data-v-f7faa3f0] textarea{margin-top:10px;font-family:Courier New,Courier,monospace}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../../../../node_modules/css-loader/dist/cjs.js??clonedRuleSet-12.use[1]!../../../../../node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-12.use[2]!../../../../../node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-12.use[3]!../../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./RawDialog.vue?vue&type=style&index=0&id=f7faa3f0&prod&scoped=true&lang=css\");\nif(content.__esModule) content = content.default;\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../../../../../node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"f3984d58\", content, true, {\"sourceMap\":false,\"shadowMode\":false});"],"names":["cov_2gt25r962d","actualCoverage","s","render","f","_vm","this","_c","_self","attrs","on","$event","b","type","indexOf","_k","keyCode","key","isVisible","model","value","callback","$$v","expression","scopedSlots","_u","fn","_g","_b","copyRawData","_v","_s","downloadRawData","header","pause","buttonIcon","buttonLabel","staticClass","receivedTime","receivedCount","rawData","staticRenderFns","mixins","Updater","props","String","visible","Boolean","targetName","packetName","data","paused","computed","get","set","bool","$emit","methods","buildRawData","navigator","clipboard","writeText","blob","Blob","link","document","createElement","href","URL","createObjectURL","dt","format","Date","now","setAttribute","click","update","updateTelemetry","updateCommand","api","get_tlm_buffer","then","result","buffer_data","buffer","undefined","raw","utf8Encode","TextEncoder","encode","time","received_count","formatBuffer","get_cmd_buffer","string","index","ascii","forEach","byte","numHex","fromCharCode","existing_length","filler","repeat","ascii_filler","length","num","width","hex","toString","component","___CSS_LOADER_EXPORT___","push","module","id","content","__esModule","default","locals","exports","add"],"sourceRoot":""}
@@ -1,2 +0,0 @@
1
- "use strict";(self["webpackChunk_openc3_cosmos_tool_cmdtlmserver"]=self["webpackChunk_openc3_cosmos_tool_cmdtlmserver"]||[]).push([[872],{4872:(e,t,n)=>{n.d(t,{Z:()=>c});var r=n(8123);function s(){var e="/openc3/plugins/packages/openc3-cosmos-tool-cmdtlmserver/src/tools/CmdTlmServer/Updater.js",t="4a33e65af05f7d08e216a604150e8920749ac334",n=new Function("return this")(),r="__coverage__",c={path:"/openc3/plugins/packages/openc3-cosmos-tool-cmdtlmserver/src/tools/CmdTlmServer/Updater.js",statementMap:{0:{start:{line:32,column:4},end:{line:35,column:5}},1:{start:{line:38,column:4},end:{line:38,column:30}},2:{start:{line:41,column:4},end:{line:41,column:24}},3:{start:{line:44,column:4},end:{line:47,column:5}},4:{start:{line:45,column:6},end:{line:45,column:33}},5:{start:{line:46,column:6},end:{line:46,column:25}},6:{start:{line:52,column:6},end:{line:52,column:26}},7:{start:{line:57,column:6},end:{line:60,column:7}},8:{start:{line:58,column:8},end:{line:58,column:35}},9:{start:{line:59,column:8},end:{line:59,column:27}},10:{start:{line:61,column:6},end:{line:63,column:30}},11:{start:{line:62,column:8},end:{line:62,column:21}}},fnMap:{0:{name:"(anonymous_0)",decl:{start:{line:31,column:2},end:{line:31,column:3}},loc:{start:{line:31,column:9},end:{line:36,column:3}},line:31},1:{name:"(anonymous_1)",decl:{start:{line:37,column:2},end:{line:37,column:3}},loc:{start:{line:37,column:12},end:{line:39,column:3}},line:37},2:{name:"(anonymous_2)",decl:{start:{line:40,column:2},end:{line:40,column:3}},loc:{start:{line:40,column:12},end:{line:42,column:3}},line:40},3:{name:"(anonymous_3)",decl:{start:{line:43,column:2},end:{line:43,column:3}},loc:{start:{line:43,column:18},end:{line:48,column:3}},line:43},4:{name:"(anonymous_4)",decl:{start:{line:51,column:21},end:{line:51,column:22}},loc:{start:{line:51,column:47},end:{line:53,column:5}},line:51},5:{name:"(anonymous_5)",decl:{start:{line:56,column:4},end:{line:56,column:5}},loc:{start:{line:56,column:20},end:{line:64,column:5}},line:56},6:{name:"(anonymous_6)",decl:{start:{line:61,column:33},end:{line:61,column:34}},loc:{start:{line:61,column:39},end:{line:63,column:7}},line:61}},branchMap:{0:{loc:{start:{line:44,column:4},end:{line:47,column:5}},type:"if",locations:[{start:{line:44,column:4},end:{line:47,column:5}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:44},1:{loc:{start:{line:57,column:6},end:{line:60,column:7}},type:"if",locations:[{start:{line:57,column:6},end:{line:60,column:7}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:57}},s:{0:0,1:0,2:0,3:0,4:0,5:0,6:0,7:0,8:0,9:0,10:0,11:0},f:{0:0,1:0,2:0,3:0,4:0,5:0,6:0},b:{0:[0,0],1:[0,0]},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"4a33e65af05f7d08e216a604150e8920749ac334"},i=n[r]||(n[r]={});i[e]&&i[e].hash===t||(i[e]=c);var l=i[e];return s=function(){return l},l}s();const c={props:{refreshInterval:{default:1e3}},data(){return s().f[0]++,s().s[0]++,{updater:null,api:null}},created(){s().f[1]++,s().s[1]++,this.api=new r.k},mounted(){s().f[2]++,s().s[2]++,this.changeUpdater()},beforeDestroy(){s().f[3]++,s().s[3]++,null!=this.updater?(s().b[0][0]++,s().s[4]++,clearInterval(this.updater),s().s[5]++,this.updater=null):s().b[0][1]++},watch:{refreshInterval:function(e,t){s().f[4]++,s().s[6]++,this.changeUpdater()}},methods:{changeUpdater(){s().f[5]++,s().s[7]++,null!=this.updater?(s().b[1][0]++,s().s[8]++,clearInterval(this.updater),s().s[9]++,this.updater=null):s().b[1][1]++,s().s[10]++,this.updater=setInterval((()=>{s().f[6]++,s().s[11]++,this.update()}),this.refreshInterval)}}}},8123:(e,t,n)=>{n.d(t,{k:()=>o});var r=n(6088),s=(n(978),n(309),n(5984),n(7380),n(527),n(1697),n(9394),n(3438),n(3616),n(5630),n(896),n(4139),n(162)),c=n(4091);const i=new c["default"],l=s.Z.create({baseURL:location.origin,timeout:6e4,params:{}});l.interceptors.response.use((e=>e),(e=>{if(e.response){var t,n,r,s,c;if(401===e.response.status&&OpenC3Auth.updateToken(OpenC3Auth.defaultMinValidity,!0).then((function(e){e&&OpenC3Auth.setTokens()})),e.response.config.headers["Ignore-Errors"]&&e.response.config.headers["Ignore-Errors"].includes(e.response.status.toString()))return Promise.reject(e);let a=`HTTP ${e.response.status} - `;if(null!==(t=e.response)&&void 0!==t&&t.statusText&&(a+=`${e.response.statusText} `),null!==(n=e.response)&&void 0!==n&&null!==(n=n.config)&&void 0!==n&&n.data&&(a+=`${e.response.config.data} `),null!==(r=e.response)&&void 0!==r&&null!==(r=r.data)&&void 0!==r&&r.message)a+=`${e.response.data.message}`;else if(null!==(s=e.response)&&void 0!==s&&null!==(s=s.data)&&void 0!==s&&s.exception)a+=`${e.response.data.exception}`;else if(null!==(c=e.response)&&void 0!==c&&null!==(c=c.data)&&void 0!==c&&null!==(c=c.error)&&void 0!==c&&c.message)e.response.data.error.class&&(a+=`${e.response.data.error.class} `),a+=`${e.response.data.error.message}`;else{var l;a+=`${null===(l=e.response)||void 0===l?void 0:l.data}`}throw i.$notify&&i.$notify.serious({title:"Network error",body:a}),e}throw e}));const a=l;class o{constructor(){(0,r.Z)(this,"id",1)}async exec(e,t,n={},r={},s=6e4){try{let e=await OpenC3Auth.updateToken(OpenC3Auth.defaultMinValidity);e&&OpenC3Auth.setTokens()}catch(i){OpenC3Auth.login()}this.id=this.id+1;try{n["scope"]=window.openc3Scope;const c=await a.post("/openc3-api/api",{jsonrpc:"2.0",method:e,params:t,id:this.id,keyword_params:n},{headers:{Authorization:localStorage.openc3Token,"Content-Type":"application/json-rpc",...r},timeout:s});return c.data.result}catch(i){var c=new Error;throw i.response?(c.name=i.response.data.error.data.class,c.message=i.response.data.error.data.message):i.request?(c.name="Request error",c.message="Request error, no response received"):c.name="Unknown error",c}}decode_openc3_type(e){if(null!==e&&"object"===typeof e&&"Float"==e.json_class&&e.raw){if("NaN"==e.raw)return NaN;if("Infinity"==e.raw)return 1/0;if("-Infinity"==e.raw)return-1/0}return null}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,t){return this.exec("map_target_to_interface",[e,t])}connect_interface(e,...t){return t.length>0?this.exec("connect_interface",[e,...t]):this.exec("connect_interface",[e])}disconnect_interface(e){return this.exec("disconnect_interface",[e])}get_all_router_info(){return this.exec("get_all_router_info",[])}connect_router(e){return this.exec("connect_router",[e])}disconnect_router(e){return this.exec("disconnect_router",[e])}get_target_interfaces(){return this.exec("get_target_interfaces",[])}get_all_target_info(){return this.exec("get_all_target_info",[])}get_tlm_cnts(e){return this.exec("get_tlm_cnts",[e])}get_item(e,t,n){return this.exec("get_item",[e,t,n])}get_param(e,t,n){return this.exec("get_param",[e,t,n])}get_parameter(e,t,n){return this.exec("get_parameter",[e,t,n])}get_limits_sets(){return this.exec("get_limits_sets",[])}get_limits_set(){return this.exec("get_limits_set",[])}set_limits_set(e){return this.exec("set_limits_set",[e])}get_target(e){return this.exec("get_target",[e])}get_target_names(){return this.exec("get_target_names",[])}get_target_list(){return this.exec("get_target_list",[])}get_tlm(e,t){return this.exec("get_tlm",[e,t])}get_telemetry(e,t){return this.exec("get_telemetry",[e,t])}get_all_tlm(e){return this.exec("get_all_tlm",[e])}get_all_telemetry(e){return this.exec("get_all_telemetry",[e])}get_all_tlm_names(e){return this.exec("get_all_tlm_names",[e])}get_all_telemetry_names(e){return this.exec("get_all_telemetry_names",[e])}async get_tlm_packet(e,t,n,r=30){const s=await this.exec("get_tlm_packet",[e,t],{type:n,stale_time:r});if(null!=s)for(var c=s.length,i=null,l=0;l<c;l++)i=this.decode_openc3_type(s[l][1]),null!==i&&(s[l][1]=i);return s}get_packet_derived_items(e,t){return this.exec("get_packet_derived_items",[e,t])}get_tlm_buffer(e,t){return this.exec("get_tlm_buffer",[e,t])}async get_tlm_values(e,t=30,n=null){let r={stale_time:t};null!==n&&(r["cache_timeout"]=n);const s=await this.exec("get_tlm_values",[e],r,{},1e4);for(var c=s[0].length,i=null,l=0;l<c;l++)i=this.decode_openc3_type(s[0][l]),null!==i&&(s[0][l]=i);return s}get_limits(e,t,n){return this.exec("get_limits",[e,t,n])}async tlm(e,t,n,r="CONVERTED"){let s=null;if(void 0===t)s=await this.exec("tlm",[e]);else if(void 0===n){if(!["RAW","CONVERTED","FORMATTED","WITH_UNITS"].includes(t)){var c=new Error;throw c.name="TypeError",c.message=`Invalid data type ${t}. Valid options are RAW, CONVERTED, FORMATTED, and WITH_UNITS.`,c}s=await this.exec("tlm",[e],{type:t})}else s=await this.exec("tlm",[e,t,n],{type:r});var i=this.decode_openc3_type(s);return null!==i&&(s=i),s}async inject_tlm(e,t,n=null,r="CONVERTED"){data=await this.exec("inject_tlm",[e,t,n],{type:r})}set_tlm(e,t,n,r){return this.exec("set_tlm",[e,t,n],{type:r})}override_tlm(e,t,n,r){return this.exec("override_tlm",[e,t,n],{type:r})}get_overrides(){return this.exec("get_overrides")}normalize_tlm(e,t,n,r){return this.exec("normalize_tlm",[e,t,n],{type:r})}get_all_cmds(e){return this.exec("get_all_cmds",[e])}get_all_commands(e){return this.exec("get_all_commands",[e])}get_all_cmd_names(e){return this.exec("get_all_cmd_names",[e])}get_all_command_names(e){return this.exec("get_all_command_names",[e])}get_cmd(e,t){return this.exec("get_cmd",[e,t])}get_command(e,t){return this.exec("get_command",[e,t])}get_cmd_cnts(e){return this.exec("get_cmd_cnts",[e])}get_cmd_value(e,t,n,r="CONVERTED"){return this.exec("get_cmd_value",[e,t,n,r])}get_cmd_buffer(e,t){return this.exec("get_cmd_buffer",[e,t])}_cmd(e,t,n,r,s){var c=null;for(var i in r)Object.prototype.hasOwnProperty.call(r,i)&&(c=this.encode_openc3_type(r[i]),null!==c&&(r[i]=c));return this.exec(e,[t,n,r],{},s)}get_cmd_hazardous(e,t,n){return void 0===t?this.exec("get_cmd_hazardous",e):this._cmd("get_cmd_hazardous",e,t,n)}cmd(e,t,n,r={}){return void 0===t?this.exec("cmd",e,{},r):this._cmd("cmd",e,t,n,r)}cmd_no_range_check(e,t,n){return void 0===t?this.exec("cmd_no_range_check",e):this._cmd("cmd_no_range_check",e,t,n)}cmd_raw(e,t,n){return void 0===t?this.exec("cmd_raw",e):this._cmd("cmd_raw",e,t,n)}cmd_raw_no_range_check(e,t,n){return void 0===t?this.exec("cmd_raw_no_range_check",e):this._cmd("cmd_raw_no_range_check",e,t,n)}cmd_no_hazardous_check(e,t,n){return void 0===t?this.exec("cmd_no_hazardous_check",e):this._cmd("cmd_no_hazardous_check",e,t,n)}cmd_no_checks(e,t,n){return void 0===t?this.exec("cmd_no_checks",e):this._cmd("cmd_no_checks",e,t,n)}cmd_raw_no_hazardous_check(e,t,n){return void 0===t?this.exec("cmd_raw_no_hazardous_check",e):this._cmd("cmd_raw_no_hazardous_check",e,t,n)}cmd_raw_no_checks(e,t,n){return void 0===t?this.exec("cmd_raw_no_checks",e):this._cmd("cmd_raw_no_checks",e,t,n)}build_cmd(e,t,n){return void 0===t?this.exec("build_cmd",e):this._cmd("build_cmd",e,t,n)}build_command(e,t,n){return void 0===t?this.exec("build_command",e):this._cmd("build_command",e,t,n)}get_interface_names(){return this.exec("get_interface_names",[])}send_raw(e,t){return this.exec("send_raw",[e,t])}list_configs(e){return this.exec("list_configs",[e])}load_config(e,t){return this.exec("load_config",[e,t])}save_config(e,t,n){return this.exec("save_config",[e,t,n])}delete_config(e,t){return this.exec("delete_config",[e,t])}enable_limits(e,t,n){return this.exec("enable_limits",[e,t,n])}disable_limits(e,t,n){return this.exec("disable_limits",[e,t,n])}get_out_of_limits(){return this.exec("get_out_of_limits",[])}get_overall_limits_state(e){return this.exec("get_overall_limits_state",[e])}list_settings(){return this.exec("list_settings",[])}get_all_settings(){return this.exec("get_all_settings",[])}get_setting(e){return this.exec("get_setting",[e])}get_settings(e){return this.exec("get_settings",e)}set_setting(e,t){return this.exec("set_setting",[e,t])}save_setting(e,t){return this.exec("save_setting",[e,t])}get_metrics(){return this.exec("get_metrics",[])}async hashString(e){if(window.isSecureContext){const t=(new TextEncoder).encode(e),n=await crypto.subtle.digest("SHA-256",t),r=new Uint8Array(n);return Array.from(r).map((e=>e.toString(16).padStart(2,"0"))).join("")}}}}}]);
2
- //# sourceMappingURL=872.js.map