@openc3/vue-common 5.21.0-beta0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (399) hide show
  1. package/LICENSE.txt +729 -0
  2. package/README.md +25 -0
  3. package/dist/ArrayWidget-ChaMDaRA.js +105 -0
  4. package/dist/ArrayWidget-ChaMDaRA.js.map +1 -0
  5. package/dist/ArrayWidget-x7le0X73.cjs +3 -0
  6. package/dist/ArrayWidget-x7le0X73.cjs.map +1 -0
  7. package/dist/AstroStatus-CILMWL6F.cjs +2 -0
  8. package/dist/AstroStatus-CILMWL6F.cjs.map +1 -0
  9. package/dist/AstroStatus-CY9VkeTN.js +40 -0
  10. package/dist/AstroStatus-CY9VkeTN.js.map +1 -0
  11. package/dist/BarColumn-CqXfFAQ9.js +106 -0
  12. package/dist/BarColumn-CqXfFAQ9.js.map +1 -0
  13. package/dist/BarColumn-Ct4izXqV.cjs +2 -0
  14. package/dist/BarColumn-Ct4izXqV.cjs.map +1 -0
  15. package/dist/BlockWidget-BPefRY_h.cjs +3 -0
  16. package/dist/BlockWidget-BPefRY_h.cjs.map +1 -0
  17. package/dist/BlockWidget-DjiPs6ID.js +111 -0
  18. package/dist/BlockWidget-DjiPs6ID.js.map +1 -0
  19. package/dist/ButtonWidget-Dd80CjGt.js +165 -0
  20. package/dist/ButtonWidget-Dd80CjGt.js.map +1 -0
  21. package/dist/ButtonWidget-SoiP15gH.cjs +3 -0
  22. package/dist/ButtonWidget-SoiP15gH.cjs.map +1 -0
  23. package/dist/CanvasWidget-ALHiDq5o.js +39 -0
  24. package/dist/CanvasWidget-ALHiDq5o.js.map +1 -0
  25. package/dist/CanvasWidget-JapjwSXd.cjs +2 -0
  26. package/dist/CanvasWidget-JapjwSXd.cjs.map +1 -0
  27. package/dist/CanvasdotWidget-BU42MGW6.cjs +2 -0
  28. package/dist/CanvasdotWidget-BU42MGW6.cjs.map +1 -0
  29. package/dist/CanvasdotWidget-JkDXGoHm.js +19 -0
  30. package/dist/CanvasdotWidget-JkDXGoHm.js.map +1 -0
  31. package/dist/CanvasimageWidget-CQ_ZlEFj.cjs +2 -0
  32. package/dist/CanvasimageWidget-CQ_ZlEFj.cjs.map +1 -0
  33. package/dist/CanvasimageWidget-CTXlEJgA.js +58 -0
  34. package/dist/CanvasimageWidget-CTXlEJgA.js.map +1 -0
  35. package/dist/CanvasimagevalueWidget-CihOXOHH.js +107 -0
  36. package/dist/CanvasimagevalueWidget-CihOXOHH.js.map +1 -0
  37. package/dist/CanvasimagevalueWidget-DKejEVKr.cjs +2 -0
  38. package/dist/CanvasimagevalueWidget-DKejEVKr.cjs.map +1 -0
  39. package/dist/CanvaslabelWidget-2uD1FRT0.js +23 -0
  40. package/dist/CanvaslabelWidget-2uD1FRT0.js.map +1 -0
  41. package/dist/CanvaslabelWidget-zKoAOaaE.cjs +2 -0
  42. package/dist/CanvaslabelWidget-zKoAOaaE.cjs.map +1 -0
  43. package/dist/CanvaslabelvalueWidget-BCd0ssW9.js +42 -0
  44. package/dist/CanvaslabelvalueWidget-BCd0ssW9.js.map +1 -0
  45. package/dist/CanvaslabelvalueWidget-ZnyvNaVM.cjs +2 -0
  46. package/dist/CanvaslabelvalueWidget-ZnyvNaVM.cjs.map +1 -0
  47. package/dist/CanvaslineWidget-BRFrT-9r.cjs +2 -0
  48. package/dist/CanvaslineWidget-BRFrT-9r.cjs.map +1 -0
  49. package/dist/CanvaslineWidget-Cc8vj_vu.js +28 -0
  50. package/dist/CanvaslineWidget-Cc8vj_vu.js.map +1 -0
  51. package/dist/CanvaslinevalueWidget-CJTmkXEr.js +44 -0
  52. package/dist/CanvaslinevalueWidget-CJTmkXEr.js.map +1 -0
  53. package/dist/CanvaslinevalueWidget-DgIU-2d6.cjs +2 -0
  54. package/dist/CanvaslinevalueWidget-DgIU-2d6.cjs.map +1 -0
  55. package/dist/CheckbuttonWidget-BrUBiJWn.cjs +2 -0
  56. package/dist/CheckbuttonWidget-BrUBiJWn.cjs.map +1 -0
  57. package/dist/CheckbuttonWidget-lZD4wLcB.js +37 -0
  58. package/dist/CheckbuttonWidget-lZD4wLcB.js.map +1 -0
  59. package/dist/ComboboxWidget-BUMleWlR.cjs +2 -0
  60. package/dist/ComboboxWidget-BUMleWlR.cjs.map +1 -0
  61. package/dist/ComboboxWidget-D-nVY2Zf.js +37 -0
  62. package/dist/ComboboxWidget-D-nVY2Zf.js.map +1 -0
  63. package/dist/CosmosRuxIcon.vue_vue_type_style_index_0_scoped_9af48e85_lang-BHFhmbuH.cjs +2 -0
  64. package/dist/CosmosRuxIcon.vue_vue_type_style_index_0_scoped_9af48e85_lang-BHFhmbuH.cjs.map +1 -0
  65. package/dist/CosmosRuxIcon.vue_vue_type_style_index_0_scoped_9af48e85_lang-CHgC5LLL.js +10 -0
  66. package/dist/CosmosRuxIcon.vue_vue_type_style_index_0_scoped_9af48e85_lang-CHgC5LLL.js.map +1 -0
  67. package/dist/CriticalCmdDialog-BvPQYRie.cjs +2 -0
  68. package/dist/CriticalCmdDialog-BvPQYRie.cjs.map +1 -0
  69. package/dist/CriticalCmdDialog-ChYR9_7n.js +270 -0
  70. package/dist/CriticalCmdDialog-ChYR9_7n.js.map +1 -0
  71. package/dist/DateWidget-3e2qqqxw.cjs +2 -0
  72. package/dist/DateWidget-3e2qqqxw.cjs.map +1 -0
  73. package/dist/DateWidget-Bs2NufYI.js +40 -0
  74. package/dist/DateWidget-Bs2NufYI.js.map +1 -0
  75. package/dist/DetailsDialog-8ixZ1oPd.cjs +2 -0
  76. package/dist/DetailsDialog-8ixZ1oPd.cjs.map +1 -0
  77. package/dist/DetailsDialog-ScKx0N2e.js +767 -0
  78. package/dist/DetailsDialog-ScKx0N2e.js.map +1 -0
  79. package/dist/DynamicWidget-3wHr6Ng-.cjs +2 -0
  80. package/dist/DynamicWidget-3wHr6Ng-.cjs.map +1 -0
  81. package/dist/DynamicWidget-m9EliUR2.js +35 -0
  82. package/dist/DynamicWidget-m9EliUR2.js.map +1 -0
  83. package/dist/FormatvalueWidget-DEj59HDj.js +44 -0
  84. package/dist/FormatvalueWidget-DEj59HDj.js.map +1 -0
  85. package/dist/FormatvalueWidget-DK0tTvcs.cjs +2 -0
  86. package/dist/FormatvalueWidget-DK0tTvcs.cjs.map +1 -0
  87. package/dist/Graph-D2frd7mZ.js +1999 -0
  88. package/dist/Graph-D2frd7mZ.js.map +1 -0
  89. package/dist/Graph-DFEMzAGq.cjs +2 -0
  90. package/dist/Graph-DFEMzAGq.cjs.map +1 -0
  91. package/dist/GraphWidget-CbyYREVa.cjs +2 -0
  92. package/dist/GraphWidget-CbyYREVa.cjs.map +1 -0
  93. package/dist/GraphWidget-CvlfqTgn.js +129 -0
  94. package/dist/GraphWidget-CvlfqTgn.js.map +1 -0
  95. package/dist/HorizontalWidget-BEOYwm8D.js +41 -0
  96. package/dist/HorizontalWidget-BEOYwm8D.js.map +1 -0
  97. package/dist/HorizontalWidget-xEd4ZLsc.cjs +2 -0
  98. package/dist/HorizontalWidget-xEd4ZLsc.cjs.map +1 -0
  99. package/dist/HorizontalboxWidget-C2wA9_HA.js +38 -0
  100. package/dist/HorizontalboxWidget-C2wA9_HA.js.map +1 -0
  101. package/dist/HorizontalboxWidget-xwLnkDXf.cjs +2 -0
  102. package/dist/HorizontalboxWidget-xwLnkDXf.cjs.map +1 -0
  103. package/dist/HorizontallineWidget-BCKOQase.cjs +2 -0
  104. package/dist/HorizontallineWidget-BCKOQase.cjs.map +1 -0
  105. package/dist/HorizontallineWidget-BdlNB951.js +11 -0
  106. package/dist/HorizontallineWidget-BdlNB951.js.map +1 -0
  107. package/dist/IframeWidget-C42hZbe_.cjs +2 -0
  108. package/dist/IframeWidget-C42hZbe_.cjs.map +1 -0
  109. package/dist/IframeWidget-qwGlLyoS.js +29 -0
  110. package/dist/IframeWidget-qwGlLyoS.js.map +1 -0
  111. package/dist/ImageLoader-BSTQyLlJ.cjs +2 -0
  112. package/dist/ImageLoader-BSTQyLlJ.cjs.map +1 -0
  113. package/dist/ImageLoader-CQAyutzR.js +36 -0
  114. package/dist/ImageLoader-CQAyutzR.js.map +1 -0
  115. package/dist/ImageviewerWidget-B0HJk4Tf.cjs +2 -0
  116. package/dist/ImageviewerWidget-B0HJk4Tf.cjs.map +1 -0
  117. package/dist/ImageviewerWidget-CDeYB2QG.js +37 -0
  118. package/dist/ImageviewerWidget-CDeYB2QG.js.map +1 -0
  119. package/dist/InterfacesTab-D-VIrHHf.js +92 -0
  120. package/dist/InterfacesTab-D-VIrHHf.js.map +1 -0
  121. package/dist/InterfacesTab-NTrgd1dN.cjs +2 -0
  122. package/dist/InterfacesTab-NTrgd1dN.cjs.map +1 -0
  123. package/dist/LabelWidget-B1-se7_B.cjs +2 -0
  124. package/dist/LabelWidget-B1-se7_B.cjs.map +1 -0
  125. package/dist/LabelWidget-C5_cj8pA.js +48 -0
  126. package/dist/LabelWidget-C5_cj8pA.js.map +1 -0
  127. package/dist/LabelledWidget-3aDkVYzF.cjs +2 -0
  128. package/dist/LabelledWidget-3aDkVYzF.cjs.map +1 -0
  129. package/dist/LabelledWidget-DWOPmkyP.js +42 -0
  130. package/dist/LabelledWidget-DWOPmkyP.js.map +1 -0
  131. package/dist/LabelprogressbarWidget-DFPXYOTH.js +43 -0
  132. package/dist/LabelprogressbarWidget-DFPXYOTH.js.map +1 -0
  133. package/dist/LabelprogressbarWidget-Dsiw-uBJ.cjs +2 -0
  134. package/dist/LabelprogressbarWidget-Dsiw-uBJ.cjs.map +1 -0
  135. package/dist/LabelsparklineWidget-DG_Q8WOZ.js +44 -0
  136. package/dist/LabelsparklineWidget-DG_Q8WOZ.js.map +1 -0
  137. package/dist/LabelsparklineWidget-w6pdf_eu.cjs +2 -0
  138. package/dist/LabelsparklineWidget-w6pdf_eu.cjs.map +1 -0
  139. package/dist/LabelvalueWidget-CRtYLZfm.cjs +2 -0
  140. package/dist/LabelvalueWidget-CRtYLZfm.cjs.map +1 -0
  141. package/dist/LabelvalueWidget-CxL0zxQr.js +58 -0
  142. package/dist/LabelvalueWidget-CxL0zxQr.js.map +1 -0
  143. package/dist/LabelvaluedescWidget-CF9py8m9.cjs +2 -0
  144. package/dist/LabelvaluedescWidget-CF9py8m9.cjs.map +1 -0
  145. package/dist/LabelvaluedescWidget-ClWPSOeN.js +59 -0
  146. package/dist/LabelvaluedescWidget-ClWPSOeN.js.map +1 -0
  147. package/dist/LabelvaluelimitsbarWidget-DFUH0HNe.cjs +2 -0
  148. package/dist/LabelvaluelimitsbarWidget-DFUH0HNe.cjs.map +1 -0
  149. package/dist/LabelvaluelimitsbarWidget-DUyZ7KXT.js +55 -0
  150. package/dist/LabelvaluelimitsbarWidget-DUyZ7KXT.js.map +1 -0
  151. package/dist/LabelvaluelimitscolumnWidget-DdCNjIEm.js +45 -0
  152. package/dist/LabelvaluelimitscolumnWidget-DdCNjIEm.js.map +1 -0
  153. package/dist/LabelvaluelimitscolumnWidget-k0hVnMUV.cjs +2 -0
  154. package/dist/LabelvaluelimitscolumnWidget-k0hVnMUV.cjs.map +1 -0
  155. package/dist/LabelvaluerangebarWidget-CRqMQa_x.cjs +2 -0
  156. package/dist/LabelvaluerangebarWidget-CRqMQa_x.cjs.map +1 -0
  157. package/dist/LabelvaluerangebarWidget-DGJv44i4.js +79 -0
  158. package/dist/LabelvaluerangebarWidget-DGJv44i4.js.map +1 -0
  159. package/dist/Layout-C1uMy2Sd.js +14 -0
  160. package/dist/Layout-C1uMy2Sd.js.map +1 -0
  161. package/dist/Layout-C2VWUn33.cjs +2 -0
  162. package/dist/Layout-C2VWUn33.cjs.map +1 -0
  163. package/dist/LedWidget-C8LEesIO.js +69 -0
  164. package/dist/LedWidget-C8LEesIO.js.map +1 -0
  165. package/dist/LedWidget-tnHC12fA.cjs +2 -0
  166. package/dist/LedWidget-tnHC12fA.cjs.map +1 -0
  167. package/dist/LimitsbarWidget-DSJvR91d.cjs +2 -0
  168. package/dist/LimitsbarWidget-DSJvR91d.cjs.map +1 -0
  169. package/dist/LimitsbarWidget-DV94AaXX.js +52 -0
  170. package/dist/LimitsbarWidget-DV94AaXX.js.map +1 -0
  171. package/dist/LimitscolorWidget-BWfffXvj.cjs +2 -0
  172. package/dist/LimitscolorWidget-BWfffXvj.cjs.map +1 -0
  173. package/dist/LimitscolorWidget-DT_WG8Jb.js +59 -0
  174. package/dist/LimitscolorWidget-DT_WG8Jb.js.map +1 -0
  175. package/dist/LimitscolumnWidget-Ci2DqqsC.cjs +2 -0
  176. package/dist/LimitscolumnWidget-Ci2DqqsC.cjs.map +1 -0
  177. package/dist/LimitscolumnWidget-yGBCsGuc.js +49 -0
  178. package/dist/LimitscolumnWidget-yGBCsGuc.js.map +1 -0
  179. package/dist/LinegraphWidget-BG43_kkA.js +38 -0
  180. package/dist/LinegraphWidget-BG43_kkA.js.map +1 -0
  181. package/dist/LinegraphWidget-ByTUdpDj.cjs +2 -0
  182. package/dist/LinegraphWidget-ByTUdpDj.cjs.map +1 -0
  183. package/dist/MatrixbycolumnsWidget-Cfp2S5QC.js +56 -0
  184. package/dist/MatrixbycolumnsWidget-Cfp2S5QC.js.map +1 -0
  185. package/dist/MatrixbycolumnsWidget-GHZ6cCcr.cjs +2 -0
  186. package/dist/MatrixbycolumnsWidget-GHZ6cCcr.cjs.map +1 -0
  187. package/dist/MicroservicesTab-BuIftbHc.js +159 -0
  188. package/dist/MicroservicesTab-BuIftbHc.js.map +1 -0
  189. package/dist/MicroservicesTab-CdCozCVI.cjs +2 -0
  190. package/dist/MicroservicesTab-CdCozCVI.cjs.map +1 -0
  191. package/dist/OutputDialog-CjFsDUYh.js +244 -0
  192. package/dist/OutputDialog-CjFsDUYh.js.map +1 -0
  193. package/dist/OutputDialog-Dkn9Fli9.cjs +2 -0
  194. package/dist/OutputDialog-Dkn9Fli9.cjs.map +1 -0
  195. package/dist/PackagesTab-BwTViRcm.js +339 -0
  196. package/dist/PackagesTab-BwTViRcm.js.map +1 -0
  197. package/dist/PackagesTab-DPaJ_JbE.cjs +2 -0
  198. package/dist/PackagesTab-DPaJ_JbE.cjs.map +1 -0
  199. package/dist/PluginsTab-C7GizpA1.cjs +6 -0
  200. package/dist/PluginsTab-C7GizpA1.cjs.map +1 -0
  201. package/dist/PluginsTab-fld_-DT-.js +598 -0
  202. package/dist/PluginsTab-fld_-DT-.js.map +1 -0
  203. package/dist/ProgressbarWidget-BSPuQNU_.js +46 -0
  204. package/dist/ProgressbarWidget-BSPuQNU_.js.map +1 -0
  205. package/dist/ProgressbarWidget-D1wbbnow.cjs +2 -0
  206. package/dist/ProgressbarWidget-D1wbbnow.cjs.map +1 -0
  207. package/dist/RadiobuttonWidget-B4rrjT9j.js +34 -0
  208. package/dist/RadiobuttonWidget-B4rrjT9j.js.map +1 -0
  209. package/dist/RadiobuttonWidget-Bhcj3WY5.cjs +2 -0
  210. package/dist/RadiobuttonWidget-Bhcj3WY5.cjs.map +1 -0
  211. package/dist/RadiogroupWidget-CQrEv3Qs.cjs +2 -0
  212. package/dist/RadiogroupWidget-CQrEv3Qs.cjs.map +1 -0
  213. package/dist/RadiogroupWidget-VncDKxiZ.js +48 -0
  214. package/dist/RadiogroupWidget-VncDKxiZ.js.map +1 -0
  215. package/dist/RangebarWidget-Btu0oj_O.js +67 -0
  216. package/dist/RangebarWidget-Btu0oj_O.js.map +1 -0
  217. package/dist/RangebarWidget-CKmh0GEh.cjs +2 -0
  218. package/dist/RangebarWidget-CKmh0GEh.cjs.map +1 -0
  219. package/dist/RedisTab-BPFEQDx-.js +135 -0
  220. package/dist/RedisTab-BPFEQDx-.js.map +1 -0
  221. package/dist/RedisTab-DpbDcxH5.cjs +2 -0
  222. package/dist/RedisTab-DpbDcxH5.cjs.map +1 -0
  223. package/dist/RollupWidget-Bh-Gpi5l.cjs +2 -0
  224. package/dist/RollupWidget-Bh-Gpi5l.cjs.map +1 -0
  225. package/dist/RollupWidget-CIp8Akqq.js +81 -0
  226. package/dist/RollupWidget-CIp8Akqq.js.map +1 -0
  227. package/dist/RoutersTab-CTpmfcgq.js +94 -0
  228. package/dist/RoutersTab-CTpmfcgq.js.map +1 -0
  229. package/dist/RoutersTab-DLQ-_xsb.cjs +2 -0
  230. package/dist/RoutersTab-DLQ-_xsb.cjs.map +1 -0
  231. package/dist/ScriptChooser-Cku5i9C6.cjs +2 -0
  232. package/dist/ScriptChooser-Cku5i9C6.cjs.map +1 -0
  233. package/dist/ScriptChooser-Cx985GFr.js +199 -0
  234. package/dist/ScriptChooser-Cx985GFr.js.map +1 -0
  235. package/dist/ScrollwindowWidget-BIYEL78X.js +45 -0
  236. package/dist/ScrollwindowWidget-BIYEL78X.js.map +1 -0
  237. package/dist/ScrollwindowWidget-DWBLVHz1.cjs +2 -0
  238. package/dist/ScrollwindowWidget-DWBLVHz1.cjs.map +1 -0
  239. package/dist/SecretsTab-CV5WYD3N.cjs +2 -0
  240. package/dist/SecretsTab-CV5WYD3N.cjs.map +1 -0
  241. package/dist/SecretsTab-DfBaqZw2.js +202 -0
  242. package/dist/SecretsTab-DfBaqZw2.js.map +1 -0
  243. package/dist/SettingsTab-B1DNmvM5.js +1282 -0
  244. package/dist/SettingsTab-B1DNmvM5.js.map +1 -0
  245. package/dist/SettingsTab-BKD5vVwv.cjs +2 -0
  246. package/dist/SettingsTab-BKD5vVwv.cjs.map +1 -0
  247. package/dist/SignalWidget-f_2K-phy.js +61 -0
  248. package/dist/SignalWidget-f_2K-phy.js.map +1 -0
  249. package/dist/SignalWidget-vsx411XW.cjs +2 -0
  250. package/dist/SignalWidget-vsx411XW.cjs.map +1 -0
  251. package/dist/SimpleTextDialog-BLlux8b4.js +108 -0
  252. package/dist/SimpleTextDialog-BLlux8b4.js.map +1 -0
  253. package/dist/SimpleTextDialog-D2R3WQXD.cjs +2 -0
  254. package/dist/SimpleTextDialog-D2R3WQXD.cjs.map +1 -0
  255. package/dist/SpacerWidget-DGo6ZjYn.cjs +2 -0
  256. package/dist/SpacerWidget-DGo6ZjYn.cjs.map +1 -0
  257. package/dist/SpacerWidget-YhsM7srQ.js +19 -0
  258. package/dist/SpacerWidget-YhsM7srQ.js.map +1 -0
  259. package/dist/SparklineWidget-Bkx8nwqY.cjs +2 -0
  260. package/dist/SparklineWidget-Bkx8nwqY.cjs.map +1 -0
  261. package/dist/SparklineWidget-CuGChXzf.js +47 -0
  262. package/dist/SparklineWidget-CuGChXzf.js.map +1 -0
  263. package/dist/TabbookWidget-BlDW3n54.js +66 -0
  264. package/dist/TabbookWidget-BlDW3n54.js.map +1 -0
  265. package/dist/TabbookWidget-CDUj7RHp.cjs +2 -0
  266. package/dist/TabbookWidget-CDUj7RHp.cjs.map +1 -0
  267. package/dist/TargetsTab-B2Jw5Kec.js +128 -0
  268. package/dist/TargetsTab-B2Jw5Kec.js.map +1 -0
  269. package/dist/TargetsTab-fON6-iJc.cjs +2 -0
  270. package/dist/TargetsTab-fON6-iJc.cjs.map +1 -0
  271. package/dist/TextBoxDialog-CZ3h4LP-.js +110 -0
  272. package/dist/TextBoxDialog-CZ3h4LP-.js.map +1 -0
  273. package/dist/TextBoxDialog-DvUf3Cak.cjs +2 -0
  274. package/dist/TextBoxDialog-DvUf3Cak.cjs.map +1 -0
  275. package/dist/TextboxWidget-CWXCNL8K.js +92 -0
  276. package/dist/TextboxWidget-CWXCNL8K.js.map +1 -0
  277. package/dist/TextboxWidget-LhNzbjQI.cjs +2 -0
  278. package/dist/TextboxWidget-LhNzbjQI.cjs.map +1 -0
  279. package/dist/TextfieldWidget-AbalSObh.cjs +2 -0
  280. package/dist/TextfieldWidget-AbalSObh.cjs.map +1 -0
  281. package/dist/TextfieldWidget-CRVUO3wk.js +37 -0
  282. package/dist/TextfieldWidget-CRVUO3wk.js.map +1 -0
  283. package/dist/TimeWidget-BUMtokM-.cjs +2 -0
  284. package/dist/TimeWidget-BUMtokM-.cjs.map +1 -0
  285. package/dist/TimeWidget-CDo0yWlB.js +40 -0
  286. package/dist/TimeWidget-CDo0yWlB.js.map +1 -0
  287. package/dist/TitleWidget-Cvjndegg.js +26 -0
  288. package/dist/TitleWidget-Cvjndegg.js.map +1 -0
  289. package/dist/TitleWidget-DWieiIfq.cjs +2 -0
  290. package/dist/TitleWidget-DWieiIfq.cjs.map +1 -0
  291. package/dist/ToolsTab-Bu4syVrX.js +1519 -0
  292. package/dist/ToolsTab-Bu4syVrX.js.map +1 -0
  293. package/dist/ToolsTab-rS3KG7M5.cjs +7 -0
  294. package/dist/ToolsTab-rS3KG7M5.cjs.map +1 -0
  295. package/dist/TopBar-B1dOQ1W9.js +253 -0
  296. package/dist/TopBar-B1dOQ1W9.js.map +1 -0
  297. package/dist/TopBar-_j4ndwSi.cjs +2 -0
  298. package/dist/TopBar-_j4ndwSi.cjs.map +1 -0
  299. package/dist/UpgradeToEnterpriseDialog--cLHsvir.cjs +2 -0
  300. package/dist/UpgradeToEnterpriseDialog--cLHsvir.cjs.map +1 -0
  301. package/dist/UpgradeToEnterpriseDialog-CY9g4hzD.js +95 -0
  302. package/dist/UpgradeToEnterpriseDialog-CY9g4hzD.js.map +1 -0
  303. package/dist/UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_6fa47877_lang-BrapmXxi.js +25215 -0
  304. package/dist/UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_6fa47877_lang-BrapmXxi.js.map +1 -0
  305. package/dist/UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_6fa47877_lang-DdL5xG80.cjs +1416 -0
  306. package/dist/UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_6fa47877_lang-DdL5xG80.cjs.map +1 -0
  307. package/dist/VWidget-BRkvqAVS.cjs +2 -0
  308. package/dist/VWidget-BRkvqAVS.cjs.map +1 -0
  309. package/dist/VWidget-D9Wk0N9r.js +323 -0
  310. package/dist/VWidget-D9Wk0N9r.js.map +1 -0
  311. package/dist/ValueWidget-D3EJcN4C.js +115 -0
  312. package/dist/ValueWidget-D3EJcN4C.js.map +1 -0
  313. package/dist/ValueWidget-DxY7IZvc.cjs +2 -0
  314. package/dist/ValueWidget-DxY7IZvc.cjs.map +1 -0
  315. package/dist/ValuelimitsbarWidget-C5revcun.js +39 -0
  316. package/dist/ValuelimitsbarWidget-C5revcun.js.map +1 -0
  317. package/dist/ValuelimitsbarWidget-Dk6L7fl3.cjs +2 -0
  318. package/dist/ValuelimitsbarWidget-Dk6L7fl3.cjs.map +1 -0
  319. package/dist/ValuelimitscolumnWidget-BBEGOlON.js +38 -0
  320. package/dist/ValuelimitscolumnWidget-BBEGOlON.js.map +1 -0
  321. package/dist/ValuelimitscolumnWidget-YD_Xd3tD.cjs +2 -0
  322. package/dist/ValuelimitscolumnWidget-YD_Xd3tD.cjs.map +1 -0
  323. package/dist/ValuerangebarWidget-BtoenJky.cjs +2 -0
  324. package/dist/ValuerangebarWidget-BtoenJky.cjs.map +1 -0
  325. package/dist/ValuerangebarWidget-D70Xk8rM.js +65 -0
  326. package/dist/ValuerangebarWidget-D70Xk8rM.js.map +1 -0
  327. package/dist/VerticalWidget-Dw11Ey1R.cjs +2 -0
  328. package/dist/VerticalWidget-Dw11Ey1R.cjs.map +1 -0
  329. package/dist/VerticalWidget-RIOu-NI3.js +41 -0
  330. package/dist/VerticalWidget-RIOu-NI3.js.map +1 -0
  331. package/dist/VerticalboxWidget-BUjeAxtO.js +37 -0
  332. package/dist/VerticalboxWidget-BUjeAxtO.js.map +1 -0
  333. package/dist/VerticalboxWidget-DT-OCuyc.cjs +2 -0
  334. package/dist/VerticalboxWidget-DT-OCuyc.cjs.map +1 -0
  335. package/dist/Widget-C-EiCtmV.cjs +2 -0
  336. package/dist/Widget-C-EiCtmV.cjs.map +1 -0
  337. package/dist/Widget-C5V53T-a.js +197 -0
  338. package/dist/Widget-C5V53T-a.js.map +1 -0
  339. package/dist/addMonths-Be4oiWXO.js +19 -0
  340. package/dist/addMonths-Be4oiWXO.js.map +1 -0
  341. package/dist/addMonths-foItT0GW.cjs +2 -0
  342. package/dist/addMonths-foItT0GW.cjs.map +1 -0
  343. package/dist/axios-CXDYiOMX.js +1705 -0
  344. package/dist/axios-CXDYiOMX.js.map +1 -0
  345. package/dist/axios-tuVKNgv9.cjs +7 -0
  346. package/dist/axios-tuVKNgv9.cjs.map +1 -0
  347. package/dist/components.cjs +7 -0
  348. package/dist/components.cjs.map +1 -0
  349. package/dist/components.js +2936 -0
  350. package/dist/components.js.map +1 -0
  351. package/dist/fileIcon-BduOQcTc.cjs +2 -0
  352. package/dist/fileIcon-BduOQcTc.cjs.map +1 -0
  353. package/dist/fileIcon-DqRHb1_Z.js +22 -0
  354. package/dist/fileIcon-DqRHb1_Z.js.map +1 -0
  355. package/dist/format-BDZ4AOJt.cjs +2 -0
  356. package/dist/format-BDZ4AOJt.cjs.map +1 -0
  357. package/dist/format-Da42caYw.js +1229 -0
  358. package/dist/format-Da42caYw.js.map +1 -0
  359. package/dist/icons/status-dark.png +0 -0
  360. package/dist/icons/status-dark.xcf +0 -0
  361. package/dist/icons/status-light.png +0 -0
  362. package/dist/icons.cjs +2 -0
  363. package/dist/icons.cjs.map +1 -0
  364. package/dist/icons.js +157 -0
  365. package/dist/icons.js.map +1 -0
  366. package/dist/parse-BO9ihK1v.cjs +2 -0
  367. package/dist/parse-BO9ihK1v.cjs.map +1 -0
  368. package/dist/parse-dDr1Btat.js +1556 -0
  369. package/dist/parse-dDr1Btat.js.map +1 -0
  370. package/dist/plugins.cjs +9 -0
  371. package/dist/plugins.cjs.map +1 -0
  372. package/dist/plugins.js +771 -0
  373. package/dist/plugins.js.map +1 -0
  374. package/dist/style.css +1 -0
  375. package/dist/timeFilters-CN3Tdo2Z.js +607 -0
  376. package/dist/timeFilters-CN3Tdo2Z.js.map +1 -0
  377. package/dist/timeFilters-DwWhNG4a.cjs +2 -0
  378. package/dist/timeFilters-DwWhNG4a.cjs.map +1 -0
  379. package/dist/tools/admin.cjs +13 -0
  380. package/dist/tools/admin.cjs.map +1 -0
  381. package/dist/tools/admin.js +1909 -0
  382. package/dist/tools/admin.js.map +1 -0
  383. package/dist/tools/base.cjs +2 -0
  384. package/dist/tools/base.cjs.map +1 -0
  385. package/dist/tools/base.js +1580 -0
  386. package/dist/tools/base.js.map +1 -0
  387. package/dist/tools/calendar.cjs +2 -0
  388. package/dist/tools/calendar.cjs.map +1 -0
  389. package/dist/tools/calendar.js +1591 -0
  390. package/dist/tools/calendar.js.map +1 -0
  391. package/dist/util.cjs +2 -0
  392. package/dist/util.cjs.map +1 -0
  393. package/dist/util.js +9 -0
  394. package/dist/util.js.map +1 -0
  395. package/dist/widgets.cjs +2 -0
  396. package/dist/widgets.cjs.map +1 -0
  397. package/dist/widgets.js +130 -0
  398. package/dist/widgets.js.map +1 -0
  399. package/package.json +95 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"admin.js","sources":["../../src/tools/admin/DownloadDialog.vue","../../src/tools/admin/EditDialog.vue","../../src/tools/admin/ModifiedPluginDialog.vue","../../src/tools/admin/tabs/index.js","../../src/tools/admin/OpenC3Admin.vue","../../../openc3-cosmos-ace-diff/dist/ace-diff.min.js","../../src/tools/admin/PluginDialog.vue"],"sourcesContent":["<!--\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-dialog v-model=\"show\" width=\"600\">\n <v-card>\n <v-toolbar height=\"24\">\n <v-spacer />\n <span> Download Gems </span>\n <v-spacer />\n </v-toolbar>\n <v-card-text>\n <div class=\"pa-3\">\n <v-row class=\"my-2\"> Select a download option </v-row>\n <v-row>\n <v-col>\n <div class=\"px-2\">\n <v-btn\n @click=\"searchGithub\"\n block\n data-test=\"searchGithub\"\n color=\"primary\"\n :disabled=\"disableSearch\"\n >\n Github\n <v-icon end theme=\"dark\"> mdi-github </v-icon>\n </v-btn>\n </div>\n </v-col>\n </v-row>\n <!---\n <v-row>\n <v-col>\n <div class=\"px-2\">\n <v-btn\n @click=\"searchRuby\"\n block\n data-test=\"searchRuby\"\n color=\"primary\"\n :disabled=\"disableSearch\"\n >\n RubyGems\n <v-icon right dark> mdi-heart </v-icon>\n </v-btn>\n </div>\n </v-col>\n </v-row>\n --->\n <v-row class=\"mt-5\"> Community Gems </v-row>\n <div class=\"mt-4\" v-if=\"listData.length < 1\">\n <v-row class=\"mx-2\">\n <span> I’m sorry, Dave. No gems available.... </span>\n </v-row>\n </div>\n <div class=\"mt-4\" v-else>\n <div v-for=\"(data, index) in listData\" :key=\"index\">\n <v-list-item>\n <v-list-item-title>{{ data.name }}</v-list-item-title>\n\n <v-list-item icon>\n <div v-if=\"activeDownload\">\n <v-progress-circular indeterminate color=\"primary\" />\n </div>\n <div v-else>\n <v-tooltip location=\"bottom\">\n <template v-slot:activator=\"{ props }\">\n <v-icon\n v-bind=\"props\"\n @click=\"downloadGem(data)\"\n :disabled=\"activeDownload\"\n >\n mdi-cloud-download\n </v-icon>\n </template>\n <span>Download Gem</span>\n </v-tooltip>\n </div>\n </v-list-item>\n </v-list-item>\n <v-divider v-if=\"index < listData.length - 1\" :key=\"index\" />\n </div>\n </div>\n </div>\n </v-card-text>\n </v-card>\n </v-dialog>\n</template>\n\n<script>\n// Directly use axios since we need no authentication or scope\nimport axios from 'axios'\n\nexport default {\n props: {\n modelValue: Boolean,\n },\n data() {\n return {\n url: '',\n type: null,\n response: null,\n activeDownload: false,\n disableSearch: false,\n expanded: [],\n }\n },\n computed: {\n show: {\n get() {\n return this.modelValue\n },\n set(value) {\n this.$emit('update:modelValue', value)\n },\n },\n listData: function () {\n if (!this.response) return []\n if (this.type === 'github') {\n return this.parseGithub()\n } else {\n return this.parseRuby()\n }\n },\n },\n methods: {\n parseGithub: function () {\n const gemRegEx = /\\w+.gem/\n return this.response.tree\n .filter((f) => gemRegEx.exec(f.path))\n .map((f) => {\n return {\n name: f.path,\n url: `https://raw.github.com/OpenC3/openc3-tools/main/${f.path}`,\n }\n })\n },\n getResponse: function () {\n this.disableSearch = true\n axios.get(this.url).then((response) => {\n this.response = response.data\n })\n setTimeout(() => {\n this.disableSearch = false\n }, 10000)\n },\n searchGithub: function () {\n this.type = 'github'\n this.url =\n 'https://api.github.com/repos/OpenC3/openc3-tools/git/trees/main?recursive=1'\n this.getResponse()\n },\n downloadGem: function (gem) {\n const link = document.createElement('a')\n link.href = gem.url\n link.setAttribute('download', gem.name)\n link.click()\n link.remove()\n },\n },\n}\n</script>\n","<!--\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2022, OpenC3, Inc.\n# All Rights Reserved\n#\n# 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 :persistent=\"!readonly\" v-model=\"show\" width=\"80vw\">\n <v-card>\n <form v-on:submit.prevent=\"submit\">\n <v-toolbar height=\"24\">\n <v-spacer />\n <span v-text=\"title\" />\n <v-spacer />\n <div class=\"mx-2\">\n <v-tooltip location=\"top\">\n <template v-slot:activator=\"{ props }\">\n <div v-bind=\"props\">\n <v-icon data-test=\"downloadIcon\" @click=\"download\">\n mdi-download\n </v-icon>\n </div>\n </template>\n <span> Download </span>\n </v-tooltip>\n </div>\n </v-toolbar>\n\n <v-card-text>\n <div class=\"pa-3\">\n <div v-if=\"!readonly\">\n <v-row class=\"mt-3\"> Upload a file. </v-row>\n <v-row no-gutters align=\"center\">\n <v-col cols=\"3\">\n <v-btn\n block\n color=\"success\"\n @click=\"loadFile\"\n :disabled=\"!file || loadingFile || readonly\"\n :loading=\"loadingFile\"\n data-test=\"editScreenLoadBtn\"\n >\n Load\n <template v-slot:loader>\n <span>Loading...</span>\n </template>\n </v-btn>\n </v-col>\n <v-col cols=\"9\">\n <v-file-input\n v-model=\"file\"\n accept=\".json\"\n label=\"Click to select .json file.\"\n :disabled=\"readonly\"\n />\n </v-col>\n </v-row>\n </div>\n <v-row no-gutters>\n <pre class=\"editor\" ref=\"editor\"></pre>\n </v-row>\n <v-row class=\"my-3\">\n <span class=\"text-red\" v-show=\"error\" v-text=\"error\" />\n </v-row>\n <v-row>\n <v-spacer />\n <v-btn\n @click.prevent=\"close\"\n variant=\"outlined\"\n class=\"mx-2\"\n data-test=\"editCancelBtn\"\n >\n Cancel\n </v-btn>\n <v-btn\n v-if=\"!readonly\"\n class=\"mx-2\"\n color=\"primary\"\n type=\"submit\"\n data-test=\"editSubmitBtn\"\n :disabled=\"!!error || readonly\"\n >\n Save\n </v-btn>\n </v-row>\n </div>\n </v-card-text>\n </form>\n </v-card>\n </v-dialog>\n</template>\n\n<script>\nimport * as ace from 'ace-builds'\nimport 'ace-builds/src-min-noconflict/mode-ruby'\nimport 'ace-builds/src-min-noconflict/mode-json'\nimport 'ace-builds/src-min-noconflict/theme-twilight'\nimport 'ace-builds/src-min-noconflict/ext-language_tools'\nimport 'ace-builds/src-min-noconflict/ext-searchbox'\n\nexport default {\n props: {\n content: {\n type: String,\n required: true,\n },\n type: String,\n name: String,\n modelValue: Boolean,\n readonly: Boolean,\n },\n data() {\n return {\n editor: null,\n }\n },\n mounted() {\n const openPluginMode = this.buildPluginMode()\n this.editor = ace.edit(this.$refs.editor)\n this.editor.setTheme('ace/theme/twilight')\n this.editor.session.setMode(new openPluginMode())\n this.editor.session.setTabSize(2)\n this.editor.session.setUseWrapMode(true)\n this.editor.$blockScrolling = Infinity\n this.editor.setHighlightActiveLine(false)\n this.editor.setValue(this.content)\n this.editor.clearSelection()\n this.editor.focus()\n if (this.readonly) {\n this.editor.setReadOnly(true)\n }\n },\n beforeUnmount() {\n if (this.editor) {\n this.editor.destroy()\n }\n },\n computed: {\n show: {\n get() {\n return this.modelValue\n },\n set(value) {\n this.$emit('update:modelValue', value)\n },\n },\n title: function () {\n return `${this.type}: ${this.name}`\n },\n error: function () {\n if (this.editor && this.editor.getValue() === '' && !this.file) {\n return 'Input can not be blank.'\n }\n return null\n },\n },\n methods: {\n submit: function () {\n this.$emit('submit', this.editor.getValue())\n this.show = !this.show\n },\n close: function () {\n this.show = !this.show\n },\n download: function () {\n const blob = new Blob([this.editor.getValue()], {\n type: 'text/plain',\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 link.setAttribute(\n 'download',\n `${this.type.toLowerCase()}_${this.name.toLowerCase()}.json`,\n )\n link.click()\n },\n buildPluginMode() {\n let oop = ace.require('ace/lib/oop')\n let JsonHighlightRules = ace.require(\n 'ace/mode/json_highlight_rules',\n ).JsonHighlightRules\n\n let MatchingBraceOutdent = ace.require(\n 'ace/mode/matching_brace_outdent',\n ).MatchingBraceOutdent\n let CstyleBehaviour = ace.require(\n 'ace/mode/behaviour/cstyle',\n ).CstyleBehaviour\n let FoldMode = ace.require('ace/mode/folding/ruby').FoldMode\n let Mode = function () {\n this.HighlightRules = JsonHighlightRules\n this.$outdent = new MatchingBraceOutdent()\n this.$behaviour = new CstyleBehaviour()\n this.foldingRules = new FoldMode()\n this.indentKeywords = this.foldingRules.indentKeywords\n }\n let RubyMode = ace.require('ace/mode/ruby').Mode\n oop.inherits(Mode, RubyMode)\n ;(function () {\n this.$id = 'ace/mode/openc3'\n }).call(Mode.prototype)\n return Mode\n },\n },\n}\n</script>\n\n<style scoped>\n.editor {\n height: 50vh;\n width: 75vw;\n position: relative;\n font-size: 16px;\n}\n.v-textarea :deep(textarea) {\n padding: 5px;\n}\n</style>\n","<!--\n# Copyright 2024 OpenC3, Inc.\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# 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 v-model=\"show\" width=\"600\">\n <v-card>\n <v-toolbar height=\"24\">\n <v-spacer />\n <span> Modified Plugin </span>\n <v-spacer />\n </v-toolbar>\n <v-card-text class=\"pa-3\">\n <div>\n Plugin {{ plugin }} was modified. Would you like to delete the\n existing modified files?\n </div>\n <v-list-item\n lines=\"two\"\n v-for=\"(target, index) in modifiedTargets\"\n :key=\"index\"\n >\n <v-list-item-title>{{ target.name }}</v-list-item-title>\n <v-list-item-subtitle\n v-for=\"(file, itemIndex) in target.files\"\n :key=\"itemIndex\"\n >{{ file }}</v-list-item-subtitle\n >\n </v-list-item>\n <v-checkbox\n v-model=\"deleteModified\"\n label=\"DELETE MODIFIED! THIS CAN NOT BE UNDONE!!!\"\n color=\"error\"\n data-test=\"modified-plugin-delete-checkbox\"\n />\n </v-card-text>\n <v-card-actions class=\"px-2\">\n <v-spacer />\n <v-btn\n variant=\"outlined\"\n data-test=\"modified-plugin-cancel\"\n @click=\"\n () => {\n show = false\n $emit('cancel')\n }\n \"\n >\n Cancel\n </v-btn>\n <v-btn\n variant=\"flat\"\n data-test=\"modified-plugin-submit\"\n @click=\"\n () => {\n show = false\n $emit('submit', deleteModified)\n }\n \"\n >\n Confirm\n </v-btn>\n </v-card-actions>\n </v-card>\n </v-dialog>\n</template>\n\n<script>\nimport { Api } from '@openc3/js-common/services'\n\nexport default {\n props: {\n modelValue: Boolean,\n plugin: String,\n targets: Array,\n pluginDelete: Boolean,\n },\n data() {\n return {\n modifiedTargets: [],\n deleteModified: false,\n }\n },\n computed: {\n show: {\n get() {\n return this.modelValue\n },\n set(value) {\n this.$emit('update:modelValue', value)\n },\n },\n },\n created() {\n for (const target of this.targets) {\n Api.get(`/openc3-api/targets/${target.name}/modified_files`).then(\n (response) => {\n if (response.data.length !== 0) {\n // Only push targets which actually have modified files\n this.modifiedTargets.push({\n name: target.name,\n files: response.data,\n })\n }\n },\n )\n }\n },\n}\n</script>\n\n<style scoped></style>\n","/*\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2024, 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\nconst TabsList = [\n {\n displayName: 'Plugins',\n name: 'PluginsTab',\n path: 'plugins',\n component: () => import('./PluginsTab.vue'),\n },\n {\n displayName: 'Targets',\n name: 'TargetsTab',\n path: 'targets',\n component: () => import('./TargetsTab.vue'),\n },\n {\n displayName: 'Interfaces',\n name: 'InterfacesTab',\n path: 'interfaces',\n component: () => import('./InterfacesTab.vue'),\n },\n {\n displayName: 'Routers',\n name: 'RoutersTab',\n path: 'routers',\n component: () => import('./RoutersTab.vue'),\n },\n {\n displayName: 'Microservices',\n name: 'MicroservicesTab',\n path: 'microservices',\n component: () => import('./MicroservicesTab.vue'),\n },\n {\n displayName: 'Packages',\n name: 'PackagesTab',\n path: 'packages',\n component: () => import('./PackagesTab.vue'),\n },\n {\n displayName: 'Tools',\n name: 'ToolsTab',\n path: 'tools',\n component: () => import('./ToolsTab.vue'),\n },\n {\n displayName: 'Redis',\n name: 'RedisTab',\n path: 'redis',\n component: () => import('./RedisTab.vue'),\n },\n {\n displayName: 'Secrets',\n name: 'SecretsTab',\n path: 'secrets',\n component: () => import('./SecretsTab.vue'),\n },\n {\n displayName: 'Settings',\n name: 'SettingsTab',\n path: 'settings',\n component: () => import('./SettingsTab.vue'),\n },\n]\n\nexport { TabsList }\n","<!--\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2022, OpenC3, Inc.\n# All Rights Reserved\n#\n# 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 :title=\"title\" />\n <v-card>\n <v-tabs v-model=\"curTab\" fixed-tabs>\n <v-tab v-for=\"(tab, index) in tabs\" :key=\"index\" :to=\"tab.path\">\n {{ tab.displayName }}\n </v-tab>\n </v-tabs>\n <router-view />\n </v-card>\n </div>\n</template>\n\n<script>\nimport { TopBar } from '@/components'\nimport { TabsList } from './tabs'\n\nexport default {\n components: {\n TopBar,\n },\n data() {\n return {\n title: 'Administrator Console',\n curTab: null,\n }\n },\n computed: {\n tabs: function () {\n return TabsList.map((tab) => {\n return {\n displayName: tab.displayName,\n path: { name: tab.name },\n }\n })\n },\n },\n}\n</script>\n","var h=function(){this.Diff_Timeout=1,this.Diff_EditCost=4,this.Match_Threshold=.5,this.Match_Distance=1e3,this.Patch_DeleteThreshold=.5,this.Patch_Margin=4,this.Match_MaxBits=32},E=-1,C=1,p=0;h.Diff=function(e,t){this[0]=e,this[1]=t};h.Diff.prototype.length=2;h.Diff.prototype.toString=function(){return this[0]+\",\"+this[1]};h.prototype.diff_main=function(e,t,n,r){typeof r>\"u\"&&(this.Diff_Timeout<=0?r=Number.MAX_VALUE:r=new Date().getTime()+this.Diff_Timeout*1e3);var s=r;if(e==null||t==null)throw new Error(\"Null input. (diff_main)\");if(e==t)return e?[new h.Diff(p,e)]:[];typeof n>\"u\"&&(n=!0);var i=n,l=this.diff_commonPrefix(e,t),o=e.substring(0,l);e=e.substring(l),t=t.substring(l),l=this.diff_commonSuffix(e,t);var a=e.substring(e.length-l);e=e.substring(0,e.length-l),t=t.substring(0,t.length-l);var g=this.diff_compute_(e,t,i,s);return o&&g.unshift(new h.Diff(p,o)),a&&g.push(new h.Diff(p,a)),this.diff_cleanupMerge(g),g};h.prototype.diff_compute_=function(e,t,n,r){var s;if(!e)return[new h.Diff(C,t)];if(!t)return[new h.Diff(E,e)];var i=e.length>t.length?e:t,l=e.length>t.length?t:e,o=i.indexOf(l);return o!=-1?(s=[new h.Diff(C,i.substring(0,o)),new h.Diff(p,l),new h.Diff(C,i.substring(o+l.length))],e.length>t.length&&(s[0][0]=s[2][0]=E),s):l.length==1?[new h.Diff(E,e),new h.Diff(C,t)]:n&&e.length>100&&t.length>100?this.diff_lineMode_(e,t,r):this.diff_bisect_(e,t,r)};h.prototype.diff_lineMode_=function(e,t,n){var r=this.diff_linesToChars_(e,t);e=r.chars1,t=r.chars2;var s=r.lineArray,i=this.diff_main(e,t,!1,n);this.diff_charsToLines_(i,s),this.diff_cleanupSemantic(i),i.push(new h.Diff(p,\"\"));for(var l=0,o=0,a=0,g=\"\",u=\"\";l<i.length;){switch(i[l][0]){case C:a++,u+=i[l][1];break;case E:o++,g+=i[l][1];break;case p:if(o>=1&&a>=1){i.splice(l-o-a,o+a),l=l-o-a;for(var f=this.diff_main(g,u,!1,n),c=f.length-1;c>=0;c--)i.splice(l,0,f[c]);l=l+f.length}a=0,o=0,g=\"\",u=\"\";break}l++}return i.pop(),i};h.prototype.diff_bisect_=function(e,t,n){for(var r=e.length,s=t.length,i=Math.ceil((r+s)/2),l=i,o=2*i,a=new Array(o),g=new Array(o),u=0;u<o;u++)a[u]=-1,g[u]=-1;a[l+1]=0,g[l+1]=0;for(var f=r-s,c=f%2!=0,v=0,m=0,_=0,I=0,d=0;d<i&&!(new Date().getTime()>n);d++){for(var L=-d+v;L<=d-m;L+=2){var S=l+L,w;L==-d||L!=d&&a[S-1]<a[S+1]?w=a[S+1]:w=a[S-1]+1;for(var T=w-L;w<r&&T<s&&e.charAt(w)==t.charAt(T);)w++,T++;if(a[S]=w,w>r)m+=2;else if(T>s)v+=2;else if(c){var M=l+f-L;if(M>=0&&M<o&&g[M]!=-1){var D=r-g[M];if(w>=D)return this.diff_bisectSplit_(e,t,w,T,n)}}}for(var R=-d+_;R<=d-I;R+=2){var M=l+R,D;R==-d||R!=d&&g[M-1]<g[M+1]?D=g[M+1]:D=g[M-1]+1;for(var y=D-R;D<r&&y<s&&e.charAt(r-D-1)==t.charAt(s-y-1);)D++,y++;if(g[M]=D,D>r)I+=2;else if(y>s)_+=2;else if(!c){var S=l+f-R;if(S>=0&&S<o&&a[S]!=-1){var w=a[S],T=l+w-S;if(D=r-D,w>=D)return this.diff_bisectSplit_(e,t,w,T,n)}}}}return[new h.Diff(E,e),new h.Diff(C,t)]};h.prototype.diff_bisectSplit_=function(e,t,n,r,s){var i=e.substring(0,n),l=t.substring(0,r),o=e.substring(n),a=t.substring(r),g=this.diff_main(i,l,!1,s),u=this.diff_main(o,a,!1,s);return g.concat(u)};h.prototype.diff_linesToChars_=function(e,t){var n=[],r={};n[0]=\"\";function s(a){for(var g=\"\",u=0,f=-1,c=n.length;f<a.length-1;){f=a.indexOf(`\n`,u),f==-1&&(f=a.length-1);var v=a.substring(u,f+1);(r.hasOwnProperty?r.hasOwnProperty(v):r[v]!==void 0)?g+=String.fromCharCode(r[v]):(c==i&&(v=a.substring(u),f=a.length),g+=String.fromCharCode(c),r[v]=c,n[c++]=v),u=f+1}return g}var i=4e4,l=s(e);i=65535;var o=s(t);return{chars1:l,chars2:o,lineArray:n}};h.prototype.diff_charsToLines_=function(e,t){for(var n=0;n<e.length;n++){for(var r=e[n][1],s=[],i=0;i<r.length;i++)s[i]=t[r.charCodeAt(i)];e[n][1]=s.join(\"\")}};h.prototype.diff_commonPrefix=function(e,t){if(!e||!t||e.charAt(0)!=t.charAt(0))return 0;for(var n=0,r=Math.min(e.length,t.length),s=r,i=0;n<s;)e.substring(i,s)==t.substring(i,s)?(n=s,i=n):r=s,s=Math.floor((r-n)/2+n);return s};h.prototype.diff_commonSuffix=function(e,t){if(!e||!t||e.charAt(e.length-1)!=t.charAt(t.length-1))return 0;for(var n=0,r=Math.min(e.length,t.length),s=r,i=0;n<s;)e.substring(e.length-s,e.length-i)==t.substring(t.length-s,t.length-i)?(n=s,i=n):r=s,s=Math.floor((r-n)/2+n);return s};h.prototype.diff_commonOverlap_=function(e,t){var n=e.length,r=t.length;if(n==0||r==0)return 0;n>r?e=e.substring(n-r):n<r&&(t=t.substring(0,n));var s=Math.min(n,r);if(e==t)return s;for(var i=0,l=1;;){var o=e.substring(s-l),a=t.indexOf(o);if(a==-1)return i;l+=a,(a==0||e.substring(s-l)==t.substring(0,l))&&(i=l,l++)}};h.prototype.diff_halfMatch_=function(e,t){if(this.Diff_Timeout<=0)return null;var n=e.length>t.length?e:t,r=e.length>t.length?t:e;if(n.length<4||r.length*2<n.length)return null;var s=this;function i(m,_,I){for(var d=m.substring(I,I+Math.floor(m.length/4)),L=-1,S=\"\",w,T,M,D;(L=_.indexOf(d,L+1))!=-1;){var R=s.diff_commonPrefix(m.substring(I),_.substring(L)),y=s.diff_commonSuffix(m.substring(0,I),_.substring(0,L));S.length<y+R&&(S=_.substring(L-y,L)+_.substring(L,L+R),w=m.substring(0,I-y),T=m.substring(I+R),M=_.substring(0,L-y),D=_.substring(L+R))}return S.length*2>=m.length?[w,T,M,D,S]:null}var l=i(n,r,Math.ceil(n.length/4)),o=i(n,r,Math.ceil(n.length/2)),a;if(!l&&!o)return null;o?l?a=l[4].length>o[4].length?l:o:a=o:a=l;var g,u,f,c;e.length>t.length?(g=a[0],u=a[1],f=a[2],c=a[3]):(f=a[0],c=a[1],g=a[2],u=a[3]);var v=a[4];return[g,u,f,c,v]};h.prototype.diff_cleanupSemantic=function(e){for(var t=!1,n=[],r=0,s=null,i=0,l=0,o=0,a=0,g=0;i<e.length;)e[i][0]==p?(n[r++]=i,l=a,o=g,a=0,g=0,s=e[i][1]):(e[i][0]==C?a+=e[i][1].length:g+=e[i][1].length,s&&s.length<=Math.max(l,o)&&s.length<=Math.max(a,g)&&(e.splice(n[r-1],0,new h.Diff(E,s)),e[n[r-1]+1][0]=C,r--,r--,i=r>0?n[r-1]:-1,l=0,o=0,a=0,g=0,s=null,t=!0)),i++;for(t&&this.diff_cleanupMerge(e),this.diff_cleanupSemanticLossless(e),i=1;i<e.length;){if(e[i-1][0]==E&&e[i][0]==C){var u=e[i-1][1],f=e[i][1],c=this.diff_commonOverlap_(u,f),v=this.diff_commonOverlap_(f,u);c>=v?(c>=u.length/2||c>=f.length/2)&&(e.splice(i,0,new h.Diff(p,f.substring(0,c))),e[i-1][1]=u.substring(0,u.length-c),e[i+1][1]=f.substring(c),i++):(v>=u.length/2||v>=f.length/2)&&(e.splice(i,0,new h.Diff(p,u.substring(0,v))),e[i-1][0]=C,e[i-1][1]=f.substring(0,f.length-v),e[i+1][0]=E,e[i+1][1]=u.substring(v),i++),i++}i++}};h.prototype.diff_cleanupSemanticLossless=function(e){function t(v,m){if(!v||!m)return 6;var _=v.charAt(v.length-1),I=m.charAt(0),d=_.match(h.nonAlphaNumericRegex_),L=I.match(h.nonAlphaNumericRegex_),S=d&&_.match(h.whitespaceRegex_),w=L&&I.match(h.whitespaceRegex_),T=S&&_.match(h.linebreakRegex_),M=w&&I.match(h.linebreakRegex_),D=T&&v.match(h.blanklineEndRegex_),R=M&&m.match(h.blanklineStartRegex_);return D||R?5:T||M?4:d&&!S&&w?3:S||w?2:d||L?1:0}for(var n=1;n<e.length-1;){if(e[n-1][0]==p&&e[n+1][0]==p){var r=e[n-1][1],s=e[n][1],i=e[n+1][1],l=this.diff_commonSuffix(r,s);if(l){r[r.length-l]===`\n`&&(l-=1);var o=s.substring(s.length-l);r=r.substring(0,r.length-l),s=o+s.substring(0,s.length-l),i=o+i}for(var a=r,g=s,u=i,f=t(r,s)+t(s,i);s.charAt(0)===i.charAt(0);){r+=s.charAt(0),s=s.substring(1)+i.charAt(0),i=i.substring(1);var c=t(r,s)+t(s,i);c>=f&&(f=c,a=r,g=s,u=i)}e[n-1][1]!=a&&(a?e[n-1][1]=a:(e.splice(n-1,1),n--),e[n][1]=g,u?e[n+1][1]=u:(e.splice(n+1,1),n--))}n++}};h.nonAlphaNumericRegex_=/[^a-zA-Z0-9]/;h.whitespaceRegex_=/\\s/;h.linebreakRegex_=/[\\r\\n]/;h.blanklineEndRegex_=/\\n\\r?\\n$/;h.blanklineStartRegex_=/^\\r?\\n\\r?\\n/;h.prototype.diff_cleanupEfficiency=function(e){for(var t=!1,n=[],r=0,s=null,i=0,l=!1,o=!1,a=!1,g=!1;i<e.length;)e[i][0]==p?(e[i][1].length<this.Diff_EditCost&&(a||g)?(n[r++]=i,l=a,o=g,s=e[i][1]):(r=0,s=null),a=g=!1):(e[i][0]==E?g=!0:a=!0,s&&(l&&o&&a&&g||s.length<this.Diff_EditCost/2&&l+o+a+g==3)&&(e.splice(n[r-1],0,new h.Diff(E,s)),e[n[r-1]+1][0]=C,r--,s=null,l&&o?(a=g=!0,r=0):(r--,i=r>0?n[r-1]:-1,a=g=!1),t=!0)),i++;t&&this.diff_cleanupMerge(e)};h.prototype.diff_cleanupMerge=function(e){e.push(new h.Diff(p,\"\"));for(var t=0,n=0,r=0,s=\"\",i=\"\",l;t<e.length;)switch(e[t][0]){case C:r++,i+=e[t][1],t++;break;case E:n++,s+=e[t][1],t++;break;case p:n+r>1?(n!==0&&r!==0&&(l=this.diff_commonPrefix(i,s),l!==0&&(t-n-r>0&&e[t-n-r-1][0]==p?e[t-n-r-1][1]+=i.substring(0,l):(e.splice(0,0,new h.Diff(p,i.substring(0,l))),t++),i=i.substring(l),s=s.substring(l)),l=this.diff_commonSuffix(i,s),l!==0&&(e[t][1]=i.substring(i.length-l)+e[t][1],i=i.substring(0,i.length-l),s=s.substring(0,s.length-l))),t-=n+r,e.splice(t,n+r),s.length&&(e.splice(t,0,new h.Diff(E,s)),t++),i.length&&(e.splice(t,0,new h.Diff(C,i)),t++),t++):t!==0&&e[t-1][0]==p?(e[t-1][1]+=e[t][1],e.splice(t,1)):t++,r=0,n=0,s=\"\",i=\"\";break}e[e.length-1][1]===\"\"&&e.pop();var o=!1;for(t=1;t<e.length-1;)e[t-1][0]==p&&e[t+1][0]==p&&(e[t][1].substring(e[t][1].length-e[t-1][1].length)==e[t-1][1]?(e[t][1]=e[t-1][1]+e[t][1].substring(0,e[t][1].length-e[t-1][1].length),e[t+1][1]=e[t-1][1]+e[t+1][1],e.splice(t-1,1),o=!0):e[t][1].substring(0,e[t+1][1].length)==e[t+1][1]&&(e[t-1][1]+=e[t+1][1],e[t][1]=e[t][1].substring(e[t+1][1].length)+e[t+1][1],e.splice(t+1,1),o=!0)),t++;o&&this.diff_cleanupMerge(e)};h.prototype.diff_cleanupSplitSurrogates=function(e){for(var t,n=0;n<e.length;n++){var r=e[n],s=r[1][0],i=r[1][r[1].length-1];if(r[1].length===0){e.splice(n--,1);continue}if(i&&this.isHighSurrogate(i)&&(t=i,r[1]=r[1].slice(0,-1)),t&&s&&this.isHighSurrogate(t)&&this.isLowSurrogate(s)&&(r[1]=t+r[1]),r[1].length===0){e.splice(n--,1);continue}}return e};h.prototype.isHighSurrogate=function(e){var t=e.charCodeAt(0);return t>=55296&&t<=56319};h.prototype.isLowSurrogate=function(e){var t=e.charCodeAt(0);return t>=56320&&t<=57343};h.prototype.digit16=function(e){switch(e){case\"0\":return 0;case\"1\":return 1;case\"2\":return 2;case\"3\":return 3;case\"4\":return 4;case\"5\":return 5;case\"6\":return 6;case\"7\":return 7;case\"8\":return 8;case\"9\":return 9;case\"A\":case\"a\":return 10;case\"B\":case\"b\":return 11;case\"C\":case\"c\":return 12;case\"D\":case\"d\":return 13;case\"E\":case\"e\":return 14;case\"F\":case\"f\":return 15;default:throw new Error(\"Invalid hex-code\")}};h.prototype.decodeURI=function(e){try{return decodeURI(e)}catch{for(var t=0,n=\"\";t<e.length;){if(e[t]!==\"%\"){n+=e[t++];continue}var r=(this.digit16(e[t+1])<<4)+this.digit16(e[t+2]);if(!(r&128)){n+=String.fromCharCode(r),t+=3;continue}if(e[t+3]!==\"%\")throw new URIError(\"URI malformed\");var s=(this.digit16(e[t+4])<<4)+this.digit16(e[t+5]);if((s&192)!==128)throw new URIError(\"URI malformed\");if(s=s&63,(r&224)===192){n+=String.fromCharCode((r&31)<<6|s),t+=6;continue}if(e[t+6]!==\"%\")throw new URIError(\"URI malformed\");var i=(this.digit16(e[t+7])<<4)+this.digit16(e[t+8]);if((i&192)!==128)throw new URIError(\"URI malformed\");if(i=i&63,(r&240)===224){n+=String.fromCharCode((r&15)<<12|s<<6|i),t+=9;continue}if(e[t+9]!==\"%\")throw new URIError(\"URI malformed\");var l=(this.digit16(e[t+10])<<4)+this.digit16(e[t+11]);if((l&192)!==128)throw new URIError(\"URI malformed\");if(l=l&63,(r&248)===240){var o=(r&7)<<18|s<<12|i<<6|l;if(o>=65536&&o<=1114111){n+=String.fromCharCode((o&65535)>>>10&1023|55296),n+=String.fromCharCode(56320|o&65535&1023),t+=12;continue}}throw new URIError(\"URI malformed\")}return n}};h.prototype.diff_xIndex=function(e,t){var n=0,r=0,s=0,i=0,l;for(l=0;l<e.length&&(e[l][0]!==C&&(n+=e[l][1].length),e[l][0]!==E&&(r+=e[l][1].length),!(n>t));l++)s=n,i=r;return e.length!=l&&e[l][0]===E?i:i+(t-s)};h.prototype.diff_prettyHtml=function(e){e=this.diff_cleanupSplitSurrogates(e);for(var t=[],n=/&/g,r=/</g,s=/>/g,i=/\\n/g,l=0;l<e.length;l++){var o=e[l][0],a=e[l][1],g=a.replace(n,\"&amp;\").replace(r,\"&lt;\").replace(s,\"&gt;\").replace(i,\"&para;<br>\");switch(o){case C:t[l]='<ins style=\"background:#e6ffe6;\">'+g+\"</ins>\";break;case E:t[l]='<del style=\"background:#ffe6e6;\">'+g+\"</del>\";break;case p:t[l]=\"<span>\"+g+\"</span>\";break}}return t.join(\"\")};h.prototype.diff_text1=function(e){for(var t=[],n=0;n<e.length;n++)e[n][0]!==C&&(t[n]=e[n][1]);return t.join(\"\")};h.prototype.diff_text2=function(e){for(var t=[],n=0;n<e.length;n++)e[n][0]!==E&&(t[n]=e[n][1]);return t.join(\"\")};h.prototype.diff_levenshtein=function(e){for(var t=0,n=0,r=0,s=0;s<e.length;s++){var i=e[s][0],l=e[s][1];switch(i){case C:n+=l.length;break;case E:r+=l.length;break;case p:t+=Math.max(n,r),n=0,r=0;break}}return t+=Math.max(n,r),t};h.prototype.diff_toDelta=function(e){e=this.diff_cleanupSplitSurrogates(e);for(var t=[],n=0;n<e.length;n++)switch(e[n][0]){case C:t[n]=\"+\"+encodeURI(e[n][1]);break;case E:t[n]=\"-\"+e[n][1].length;break;case p:t[n]=\"=\"+e[n][1].length;break}return t.join(\"\t\").replace(/%20/g,\" \")};h.prototype.diff_fromDelta=function(e,t){for(var n=[],r=0,s=0,i=t.split(/\\t/g),l=0;l<i.length;l++){var o=i[l].substring(1);switch(i[l].charAt(0)){case\"+\":try{n[r++]=new h.Diff(C,this.decodeURI(o))}catch{throw new Error(\"Illegal escape in diff_fromDelta: \"+o)}break;case\"-\":case\"=\":var a=parseInt(o,10);if(isNaN(a)||a<0)throw new Error(\"Invalid number in diff_fromDelta: \"+o);var g=e.substring(s,s+=a);i[l].charAt(0)==\"=\"?n[r++]=new h.Diff(p,g):n[r++]=new h.Diff(E,g);break;default:if(i[l])throw new Error(\"Invalid diff operation in diff_fromDelta: \"+i[l])}}if(s!=e.length)throw new Error(\"Delta length (\"+s+\") does not equal source text length (\"+e.length+\").\");return n};h.prototype.match_main=function(e,t,n){if(e==null||t==null||n==null)throw new Error(\"Null input. (match_main)\");return n=Math.max(0,Math.min(n,e.length)),e==t?0:e.length?e.substring(n,n+t.length)==t?n:this.match_bitap_(e,t,n):-1};h.prototype.match_bitap_=function(e,t,n){if(t.length>this.Match_MaxBits)throw new Error(\"Pattern too long for this browser.\");var r=this.match_alphabet_(t),s=this;function i(w,T){var M=w/t.length,D=Math.abs(n-T);return s.Match_Distance?M+D/s.Match_Distance:D?1:M}var l=this.Match_Threshold,o=e.indexOf(t,n);o!=-1&&(l=Math.min(i(0,o),l),o=e.lastIndexOf(t,n+t.length),o!=-1&&(l=Math.min(i(0,o),l)));var a=1<<t.length-1;o=-1;for(var g,u,f=t.length+e.length,c,v=0;v<t.length;v++){for(g=0,u=f;g<u;)i(v,n+u)<=l?g=u:f=u,u=Math.floor((f-g)/2+g);f=u;var m=Math.max(1,n-u+1),_=Math.min(n+u,e.length)+t.length,I=Array(_+2);I[_+1]=(1<<v)-1;for(var d=_;d>=m;d--){var L=r[e.charAt(d-1)];if(v===0?I[d]=(I[d+1]<<1|1)&L:I[d]=(I[d+1]<<1|1)&L|((c[d+1]|c[d])<<1|1)|c[d+1],I[d]&a){var S=i(v,d-1);if(S<=l)if(l=S,o=d-1,o>n)m=Math.max(1,2*n-o);else break}}if(i(v+1,n)>l)break;c=I}return o};h.prototype.match_alphabet_=function(e){for(var t={},n=0;n<e.length;n++)t[e.charAt(n)]=0;for(var n=0;n<e.length;n++)t[e.charAt(n)]|=1<<e.length-n-1;return t};h.prototype.patch_addContext_=function(e,t){if(t.length!=0){if(e.start2===null)throw Error(\"patch not initialized\");for(var n=t.substring(e.start2,e.start2+e.length1),r=0;t.indexOf(n)!=t.lastIndexOf(n)&&n.length<this.Match_MaxBits-this.Patch_Margin-this.Patch_Margin;)r+=this.Patch_Margin,n=t.substring(e.start2-r,e.start2+e.length1+r);r+=this.Patch_Margin,e.start2-r>0&&h.prototype.isLowSurrogate(t[e.start2-r])&&r++;var s=t.substring(e.start2-r,e.start2);s&&e.diffs.unshift(new h.Diff(p,s)),e.start2+e.length1+r<t.length&&h.prototype.isHighSurrogate(t[e.start2+e.length1+r])&&r++;var i=t.substring(e.start2+e.length1,e.start2+e.length1+r);i&&e.diffs.push(new h.Diff(p,i)),e.start1-=s.length,e.start2-=s.length,e.length1+=s.length+i.length,e.length2+=s.length+i.length}};h.prototype.patch_make=function(e,t,n){var r,s;if(typeof e==\"string\"&&typeof t==\"string\"&&typeof n>\"u\")r=e,s=this.diff_main(r,t,!0),s.length>2&&(this.diff_cleanupSemantic(s),this.diff_cleanupEfficiency(s));else if(e&&typeof e==\"object\"&&typeof t>\"u\"&&typeof n>\"u\")s=e,r=this.diff_text1(s);else if(typeof e==\"string\"&&t&&typeof t==\"object\"&&typeof n>\"u\")r=e,s=t;else if(typeof e==\"string\"&&typeof t==\"string\"&&n&&typeof n==\"object\")r=e,s=n;else throw new Error(\"Unknown call format to patch_make.\");if(s.length===0)return[];s=this.diff_cleanupSplitSurrogates(s);for(var i=[],l=new h.patch_obj,o=0,a=0,g=0,u=r,f=r,c=0;c<s.length;c++){var v=s[c][0],m=s[c][1];switch(!o&&v!==p&&(l.start1=a,l.start2=g),v){case C:l.diffs[o++]=s[c],l.length2+=m.length,f=f.substring(0,g)+m+f.substring(g);break;case E:l.length1+=m.length,l.diffs[o++]=s[c],f=f.substring(0,g)+f.substring(g+m.length);break;case p:m.length<=2*this.Patch_Margin&&o&&s.length!=c+1?(l.diffs[o++]=s[c],l.length1+=m.length,l.length2+=m.length):m.length>=2*this.Patch_Margin&&o&&(this.patch_addContext_(l,u),i.push(l),l=new h.patch_obj,o=0,u=f,a=g);break}v!==C&&(a+=m.length),v!==E&&(g+=m.length)}return o&&(this.patch_addContext_(l,u),i.push(l)),i};h.prototype.patch_deepCopy=function(e){for(var t=[],n=0;n<e.length;n++){var r=e[n],s=new h.patch_obj;s.diffs=[];for(var i=0;i<r.diffs.length;i++)s.diffs[i]=new h.Diff(r.diffs[i][0],r.diffs[i][1]);s.start1=r.start1,s.start2=r.start2,s.length1=r.length1,s.length2=r.length2,t[n]=s}return t};h.prototype.patch_apply=function(e,t){if(e.length==0)return[t,[]];e=this.patch_deepCopy(e);var n=this.patch_addPadding(e);t=n+t+n,this.patch_splitMax(e);for(var r=0,s=[],i=0;i<e.length;i++){var l=e[i].start2+r,o=this.diff_text1(e[i].diffs),a,g=-1;if(o.length>this.Match_MaxBits?(a=this.match_main(t,o.substring(0,this.Match_MaxBits),l),a!=-1&&(g=this.match_main(t,o.substring(o.length-this.Match_MaxBits),l+o.length-this.Match_MaxBits),(g==-1||a>=g)&&(a=-1))):a=this.match_main(t,o,l),a==-1)s[i]=!1,r-=e[i].length2-e[i].length1;else{s[i]=!0,r=a-l;var u;if(g==-1?u=t.substring(a,a+o.length):u=t.substring(a,g+this.Match_MaxBits),o==u)t=t.substring(0,a)+this.diff_text2(e[i].diffs)+t.substring(a+o.length);else{var f=this.diff_main(o,u,!1);if(o.length>this.Match_MaxBits&&this.diff_levenshtein(f)/o.length>this.Patch_DeleteThreshold)s[i]=!1;else{this.diff_cleanupSemanticLossless(f);for(var c=0,v,m=0;m<e[i].diffs.length;m++){var _=e[i].diffs[m];_[0]!==p&&(v=this.diff_xIndex(f,c)),_[0]===C?t=t.substring(0,a+v)+_[1]+t.substring(a+v):_[0]===E&&(t=t.substring(0,a+v)+t.substring(a+this.diff_xIndex(f,c+_[1].length))),_[0]!==E&&(c+=_[1].length)}}}}}return t=t.substring(n.length,t.length-n.length),[t,s]};h.prototype.patch_addPadding=function(e){for(var t=this.Patch_Margin,n=\"\",r=1;r<=t;r++)n+=String.fromCharCode(r);for(var r=0;r<e.length;r++)e[r].start1+=t,e[r].start2+=t;var s=e[0],i=s.diffs;if(i.length==0||i[0][0]!=p)i.unshift(new h.Diff(p,n)),s.start1-=t,s.start2-=t,s.length1+=t,s.length2+=t;else if(t>i[0][1].length){var l=t-i[0][1].length;i[0][1]=n.substring(i[0][1].length)+i[0][1],s.start1-=l,s.start2-=l,s.length1+=l,s.length2+=l}if(s=e[e.length-1],i=s.diffs,i.length==0||i[i.length-1][0]!=p)i.push(new h.Diff(p,n)),s.length1+=t,s.length2+=t;else if(t>i[i.length-1][1].length){var l=t-i[i.length-1][1].length;i[i.length-1][1]+=n.substring(0,l),s.length1+=l,s.length2+=l}return n};h.prototype.patch_splitMax=function(e){for(var t=this.Match_MaxBits,n=0;n<e.length;n++)if(!(e[n].length1<=t)){var r=e[n];e.splice(n--,1);for(var s=r.start1,i=r.start2,l=\"\";r.diffs.length!==0;){var o=new h.patch_obj,a=!0;for(o.start1=s-l.length,o.start2=i-l.length,l!==\"\"&&(o.length1=o.length2=l.length,o.diffs.push(new h.Diff(p,l)));r.diffs.length!==0&&o.length1<t-this.Patch_Margin;){var g=r.diffs[0][0],u=r.diffs[0][1];g===C?(o.length2+=u.length,i+=u.length,o.diffs.push(r.diffs.shift()),a=!1):g===E&&o.diffs.length==1&&o.diffs[0][0]==p&&u.length>2*t?(o.length1+=u.length,s+=u.length,a=!1,o.diffs.push(new h.Diff(g,u)),r.diffs.shift()):(u=u.substring(0,t-o.length1-this.Patch_Margin),o.length1+=u.length,s+=u.length,g===p?(o.length2+=u.length,i+=u.length):a=!1,o.diffs.push(new h.Diff(g,u)),u==r.diffs[0][1]?r.diffs.shift():r.diffs[0][1]=r.diffs[0][1].substring(u.length))}l=this.diff_text2(o.diffs),l=l.substring(l.length-this.Patch_Margin);var f=this.diff_text1(r.diffs).substring(0,this.Patch_Margin);f!==\"\"&&(o.length1+=f.length,o.length2+=f.length,o.diffs.length!==0&&o.diffs[o.diffs.length-1][0]===p?o.diffs[o.diffs.length-1][1]+=f:o.diffs.push(new h.Diff(p,f))),a||e.splice(++n,0,o)}}};h.prototype.patch_toText=function(e){for(var t=[],n=0;n<e.length;n++)t[n]=e[n];return t.join(\"\")};h.prototype.patch_fromText=function(e){var t=[];if(!e)return t;for(var n=e.split(`\n`),r=0,s=/^@@ -(\\d+),?(\\d*) \\+(\\d+),?(\\d*) @@$/;r<n.length;){var i=n[r].match(s);if(!i)throw new Error(\"Invalid patch string: \"+n[r]);var l=new h.patch_obj;for(t.push(l),l.start1=parseInt(i[1],10),i[2]===\"\"?(l.start1--,l.length1=1):i[2]==\"0\"?l.length1=0:(l.start1--,l.length1=parseInt(i[2],10)),l.start2=parseInt(i[3],10),i[4]===\"\"?(l.start2--,l.length2=1):i[4]==\"0\"?l.length2=0:(l.start2--,l.length2=parseInt(i[4],10)),r++;r<n.length;){var o=n[r].charAt(0);try{var a=decodeURI(n[r].substring(1))}catch{throw new Error(\"Illegal escape in patch_fromText: \"+a)}if(o==\"-\")l.diffs.push(new h.Diff(E,a));else if(o==\"+\")l.diffs.push(new h.Diff(C,a));else if(o==\" \")l.diffs.push(new h.Diff(p,a));else{if(o==\"@\")break;if(o!==\"\")throw new Error('Invalid patch mode \"'+o+'\" in: '+a)}r++}}return t};h.patch_obj=function(){this.diffs=[],this.start1=null,this.start2=null,this.length1=0,this.length2=0};h.patch_obj.prototype.toString=function(){var e,t;this.length1===0?e=this.start1+\",0\":this.length1==1?e=this.start1+1:e=this.start1+1+\",\"+this.length1,this.length2===0?t=this.start2+\",0\":this.length2==1?t=this.start2+1:t=this.start2+1+\",\"+this.length2;var n=[\"@@ -\"+e+\" +\"+t+` @@\n`],r;h.prototype.diff_cleanupSplitSurrogates(this.diffs);for(var s=0;s<this.diffs.length;s++){switch(this.diffs[s][0]){case C:r=\"+\";break;case E:r=\"-\";break;case p:r=\" \";break}n[s+1]=r+encodeURI(this.diffs[s][1])+`\n`}return n.join(\"\").replace(/%20/g,\" \")};function k(e){return e&&typeof e==\"object\"&&!Array.isArray(e)&&e!==null}function N(e,t){return k(e)&&k(t)&&Object.keys(t).forEach(n=>{k(t[n])?((!e[n]||!k(e[n]))&&(e[n]=t[n]),N(e[n],t[n])):Object.assign(e,{[n]:t[n]})}),e}function $(e,t,n=!1){let r=null,s=!0;return(...i)=>{const l=n&&s,o=()=>{e.apply(this,i),r=null};l&&(s=!1,o()),r||(r=setTimeout(o,t))}}function re(e,t){let n;return(...r)=>{const s=this;clearTimeout(n),n=setTimeout(()=>e.apply(s,r),t)}}function U(e=\"\"){return e.replace(/\\r\\n/g,`\n`)}function G(e,t,n,r){const s=n-e,i=e+s/2;return`M ${e} ${t} C ${i},${t} ${i},${r} ${n},${r}`}const b={DIFF_EQUAL:0,DIFF_DELETE:-1,DIFF_INSERT:1,EDITOR_RIGHT:\"right\",EDITOR_LEFT:\"left\",RTL:\"rtl\",LTR:\"ltr\",SVG_NS:\"http://www.w3.org/2000/svg\",DIFF_GRANULARITY_SPECIFIC:\"specific\",DIFF_GRANULARITY_BROAD:\"broad\"};function P(e,t){let{mode:n}=e.options;return t===b.EDITOR_LEFT&&e.options.left.mode!==null&&(n=e.options.left.mode),t===b.EDITOR_RIGHT&&e.options.right.mode!==null&&(n=e.options.right.mode),n}function B(e,t){let{theme:n}=e.options;return t===b.EDITOR_LEFT&&e.options.left.theme!==null&&(n=e.options.left.theme),t===b.EDITOR_RIGHT&&e.options.right.theme!==null&&(n=e.options.right.theme),n}function q(e,t){return e.ace.getSession().doc.getLine(t)}function ie(e){return document.getElementById(e.options.left.id).offsetHeight}function V(e){const t=document.createElement(\"div\"),n={class:e.className,style:`top:${e.topOffset}px`,title:e.tooltip,\"data-diff-index\":e.diffIndex};for(const r in n)t.setAttribute(r,n[r]);return t.innerHTML=e.arrowContent,t}function F(e,t){const n=Math.random().toString(36).substr(2,5),r=`js-${t}-${n}`,s=e.querySelector(`.${t}`);if(s)return s.id=s.id||r,s.id;const i=document.createElement(\"div\");return e.appendChild(i),i.className=t,i.id=r,i.id}function z(e,t,n,r){const s=e===\"document\"?document:document.querySelector(e);s.addEventListener(t,i=>{const l=s.querySelectorAll(n),{target:o}=i;for(let a=0,g=l.length;a<g;a+=1){let u=o;const f=l[a];for(;u&&u!==s;)u===f&&r.call(f,i),u=u.parentNode}})}let O;function se(e){if(e.Range)return e.Range;const t=e.acequire||e.require;return t?t(\"ace/range\"):!1}function H(e={}){if(!(this instanceof H))return new H(e);const t=this,n=()=>window?window.ace:void 0;t.options=N({ace:n(),mode:null,theme:null,element:null,diffGranularity:b.DIFF_GRANULARITY_BROAD,lockScrolling:!1,showDiffs:!0,showConnectors:!0,maxDiffs:5e3,left:{id:null,content:null,mode:null,theme:null,editable:!0,copyLinkEnabled:!0},right:{id:null,content:null,mode:null,theme:null,editable:!0,copyLinkEnabled:!0},classes:{gutterID:\"acediff__gutter\",diff:\"acediff__diffLine\",connector:\"acediff__connector\",newCodeConnectorLink:\"acediff__newCodeConnector\",newCodeConnectorLinkContent:\"&#8594;\",deletedCodeConnectorLink:\"acediff__deletedCodeConnector\",deletedCodeConnectorLinkContent:\"&#8592;\",copyRightContainer:\"acediff__copy--right\",copyLeftContainer:\"acediff__copy--left\"},connectorYOffset:0},e);const{ace:r}=t.options;if(!r){const s=\"No ace editor found nor supplied - `options.ace` or `window.ace` is missing\";return console.error(s),new Error(s)}if(O=se(r),!O){const s=\"Could not require Range module for Ace. Depends on your bundling strategy, but it usually comes with Ace itself. See https://ace.c9.io/api/range.html, open an issue on GitHub ace-diff/ace-diff\";return console.error(s),new Error(s)}if(t.options.element===null){const s=\"You need to specify an element for Ace-diff - `options.element` is missing\";return console.error(s),new Error(s)}if(t.options.element instanceof HTMLElement?t.el=t.options.element:t.el=document.body.querySelector(t.options.element),!t.el){const s=`Can't find the specified element ${t.options.element}`;return console.error(s),new Error(s)}t.options.left.id=F(t.el,\"acediff__left\"),t.options.classes.gutterID=F(t.el,\"acediff__gutter\"),t.options.right.id=F(t.el,\"acediff__right\"),t.el.innerHTML=`<div class=\"acediff__wrap\">${t.el.innerHTML}</div>`,t.editors={left:{ace:r.edit(t.options.left.id),markers:[],lineLengths:[]},right:{ace:r.edit(t.options.right.id),markers:[],lineLengths:[]},editorHeight:null},t.editors.left.ace.getSession().setMode(P(t,b.EDITOR_LEFT)),t.editors.right.ace.getSession().setMode(P(t,b.EDITOR_RIGHT)),t.editors.left.ace.setReadOnly(!t.options.left.editable),t.editors.right.ace.setReadOnly(!t.options.right.editable),t.editors.left.ace.setTheme(B(t,b.EDITOR_LEFT)),t.editors.right.ace.setTheme(B(t,b.EDITOR_RIGHT)),t.editors.left.ace.setValue(U(t.options.left.content),-1),t.editors.right.ace.setValue(U(t.options.right.content),-1),t.editors.editorHeight=ie(t),setTimeout(()=>{t.lineHeight=t.editors.left.ace.renderer.lineHeight,le(t),ge(t),te(t),t.diff()},1)}H.prototype={setOptions(e){N(this.options,e),this.diff()},getNumDiffs(){return this.diffs.length},getEditors(){return{left:this.editors.left.ace,right:this.editors.right.ace}},diff(){const e=new h,t=this.editors.left.ace.getSession().getValue(),n=this.editors.right.ace.getSession().getValue(),r=e.diff_main(n,t);e.diff_cleanupSemantic(r),this.editors.left.lineLengths=Y(this.editors.left),this.editors.right.lineLengths=Y(this.editors.right);const s=[],i={left:0,right:0};r.forEach(l=>{const o=l[0];let a=l[1];a.length!==0&&(o===b.DIFF_EQUAL?(i.left+=a.length,i.right+=a.length):o===b.DIFF_DELETE?(s.push(Z(this,b.DIFF_DELETE,i.left,i.right,a)),i.right+=a.length):o===b.DIFF_INSERT&&(s.push(Z(this,b.DIFF_INSERT,i.left,i.right,a)),i.left+=a.length))},this),this.diffs=ce(this,s),!(this.diffs.length>this.options.maxDiffs)&&(ee(this),ne(this))},destroy(){const e=this.editors.left.ace.getValue();this.editors.left.ace.destroy();let t=this.editors.left.ace.container,n=t.cloneNode(!1);n.textContent=e,t.parentNode.replaceChild(n,t);const r=this.editors.right.ace.getValue();this.editors.right.ace.destroy(),t=this.editors.right.ace.container,n=t.cloneNode(!1),n.textContent=r,t.parentNode.replaceChild(n,t),document.getElementById(this.options.classes.gutterID).innerHTML=\"\",x()}};let x=()=>{};function le(e){e.editors.left.ace.getSession().on(\"changeScrollTop\",$(()=>{Q(e)},16)),e.editors.right.ace.getSession().on(\"changeScrollTop\",$(()=>{Q(e)},16));const t=e.diff.bind(e);e.editors.left.ace.on(\"change\",t),e.editors.right.ace.on(\"change\",t),e.options.left.copyLinkEnabled&&z(`#${e.options.classes.gutterID}`,\"click\",`.${e.options.classes.newCodeConnectorLink}`,r=>{W(e,r,b.LTR)}),e.options.right.copyLinkEnabled&&z(`#${e.options.classes.gutterID}`,\"click\",`.${e.options.classes.deletedCodeConnectorLink}`,r=>{W(e,r,b.RTL)});const n=re(()=>{e.editors.availableHeight=document.getElementById(e.options.left.id).offsetHeight,e.diff()},250);window.addEventListener(\"resize\",n),x=()=>{window.removeEventListener(\"resize\",n)}}function W(e,t,n){const r=parseInt(t.target.getAttribute(\"data-diff-index\"),10),s=e.diffs[r];let i,l,o,a,g,u;n===b.LTR?(i=e.editors.left,l=e.editors.right,o=s.leftStartLine,a=s.leftEndLine,g=s.rightStartLine,u=s.rightEndLine):(i=e.editors.right,l=e.editors.left,o=s.rightStartLine,a=s.rightEndLine,g=s.leftStartLine,u=s.leftEndLine);let f=\"\";for(let v=o;v<a;v+=1)f+=q(i,v),v===o&&f===\"\"&&g!=0&&(f+=`\n`),v<i.ace.getSession().getLength()-1&&(f+=`\n`);const c=l.ace.getSession().getScrollTop();l.ace.getSession().replace(new O(g,0,u,0),f),l.ace.getSession().setScrollTop(parseInt(c,10)),e.diff()}function Y(e){const t=e.ace.getSession().doc.getAllLines(),n=[];return t.forEach(r=>{n.push(r.length+1)}),n}function j(e,t,n,r,s){const i=e.editors[t];r<n&&(r=n);const l=`${s} ${r>n?\"lines\":\"targetOnly\"}`;r>n&&(r-=1),i.markers.push(i.ace.session.addMarker(new O(n,0,r,1),l,\"fullLine\"))}function Q(e){ee(e),ne(e),he(e)}function ee(e){e.editors.left.markers.forEach(t=>{e.editors.left.ace.getSession().removeMarker(t)},e),e.editors.right.markers.forEach(t=>{e.editors.right.ace.getSession().removeMarker(t)},e)}function oe(e,t,n,r,s){const i=e.editors.left.ace.getSession().getScrollTop(),l=e.editors.right.ace.getSession().getScrollTop();e.connectorYOffset=1;const o=-1,a=t*e.lineHeight-i+.5,g=e.gutterWidth+1,u=r*e.lineHeight-l+.5,f=-1,c=n*e.lineHeight-i+e.connectorYOffset+.5,v=e.gutterWidth+1,m=s*e.lineHeight-l+e.connectorYOffset+.5,_=G(o,a,g,u),I=G(v,m,f,c),d=`L${g},${u} ${v},${m}`,L=`L${f},${c} ${o},${a}`,S=`${_} ${d} ${I} ${L}`,w=document.createElementNS(b.SVG_NS,\"path\");w.setAttribute(\"d\",S),w.setAttribute(\"class\",e.options.classes.connector),e.gutterSVG.appendChild(w)}function ae(e,t,n){if(t.leftEndLine>t.leftStartLine&&e.options.left.copyLinkEnabled){const r=V({className:e.options.classes.newCodeConnectorLink,topOffset:t.leftStartLine*e.lineHeight,tooltip:\"Copy to right\",diffIndex:n,arrowContent:e.options.classes.newCodeConnectorLinkContent});e.copyRightContainer.appendChild(r)}if(t.rightEndLine>t.rightStartLine&&e.options.right.copyLinkEnabled){const r=V({className:e.options.classes.deletedCodeConnectorLink,topOffset:t.rightStartLine*e.lineHeight,tooltip:\"Copy to left\",diffIndex:n,arrowContent:e.options.classes.deletedCodeConnectorLinkContent});e.copyLeftContainer.appendChild(r)}}function he(e){const t=e.editors.left.ace.getSession().getScrollTop(),n=e.editors.right.ace.getSession().getScrollTop();e.copyRightContainer.style.cssText=`top: ${-t}px`,e.copyLeftContainer.style.cssText=`top: ${-n}px`}function Z(e,t,n,r,s){let i={};if(t===b.DIFF_INSERT){let l=J(e.editors.left,n,s),o=K(e.editors.right,r),a=A(e.editors.right,o);const g=A(e.editors.left,l.startLine);let u=o,f=l.startLine===l.endLine,c=0;(l.startChar>0||f&&s.length<g)&&a>0&&l.startChar<g&&c++,i={leftStartLine:l.startLine,leftEndLine:l.endLine+1,rightStartLine:u,rightEndLine:u+c}}else{let l=J(e.editors.right,r,s),o=K(e.editors.left,n),a=A(e.editors.left,o);const g=A(e.editors.right,l.startLine);let u=o,f=l.startLine===l.endLine,c=0;(l.startChar>0||f&&s.length<g)&&a>0&&l.startChar<g&&c++,i={leftStartLine:u,leftEndLine:u+c,rightStartLine:l.startLine,rightEndLine:l.endLine+1}}return i}function J(e,t,n){const r={startLine:0,startChar:0,endLine:0,endChar:0},s=t+n.length;let i=0,l=!1,o=!1;e.lineLengths.forEach((g,u)=>{i+=g,!l&&t<i&&(r.startLine=u,r.startChar=t-i+g,l=!0),!o&&s<=i&&(r.endLine=u,r.endChar=s-i+g,o=!0)}),r.startChar>0&&A(e,r.startLine)===r.startChar&&(r.startLine++,r.startChar=0),r.endChar===0&&r.endLine--;const a=/\\n$/.test(n);return r.startChar>0&&a&&r.endLine++,r}function A(e,t){return q(e,t).length}function K(e,t){const n=e.ace.getSession().doc.getAllLines();let r=0,s=0;for(let i=0;i<n.length;i+=1)if(s+=n[i].length+1,t<s){r=i;break}return s>e.ace.getSession().getValue().length&&(r+=1),r}function te(e){e.gutterHeight=document.getElementById(e.options.classes.gutterID).clientHeight,e.gutterWidth=document.getElementById(e.options.classes.gutterID).clientWidth;const t=X(e,b.EDITOR_LEFT),n=X(e,b.EDITOR_RIGHT),r=Math.max(t,n,e.gutterHeight);e.gutterSVG=document.createElementNS(b.SVG_NS,\"svg\"),e.gutterSVG.setAttribute(\"width\",e.gutterWidth),e.gutterSVG.setAttribute(\"height\",r),document.getElementById(e.options.classes.gutterID).appendChild(e.gutterSVG)}function X(e,t){return(t===b.EDITOR_LEFT?e.editors.left:e.editors.right).ace.getSession().getLength()*e.lineHeight}function ge(e){e.copyRightContainer=document.createElement(\"div\"),e.copyRightContainer.setAttribute(\"class\",e.options.classes.copyRightContainer),e.copyLeftContainer=document.createElement(\"div\"),e.copyLeftContainer.setAttribute(\"class\",e.options.classes.copyLeftContainer),document.getElementById(e.options.classes.gutterID).appendChild(e.copyRightContainer),document.getElementById(e.options.classes.gutterID).appendChild(e.copyLeftContainer)}function ue(e){document.getElementById(e.options.classes.gutterID).removeChild(e.gutterSVG),te(e)}function fe(e){e.copyLeftContainer.innerHTML=\"\",e.copyRightContainer.innerHTML=\"\"}function ce(e,t){const n=[];function r(i){return e.options.diffGranularity===b.DIFF_GRANULARITY_SPECIFIC?i<1:i<=1}t.forEach((i,l)=>{if(l===0){n.push(i);return}let o=!1;for(let a=0;a<n.length;a+=1)if(r(Math.abs(i.leftStartLine-n[a].leftEndLine))&&r(Math.abs(i.rightStartLine-n[a].rightEndLine))){n[a].leftStartLine=Math.min(i.leftStartLine,n[a].leftStartLine),n[a].rightStartLine=Math.min(i.rightStartLine,n[a].rightStartLine),n[a].leftEndLine=Math.max(i.leftEndLine,n[a].leftEndLine),n[a].rightEndLine=Math.max(i.rightEndLine,n[a].rightEndLine),o=!0;break}o||n.push(i)});const s=[];return n.forEach(i=>{i.leftStartLine===i.leftEndLine&&i.rightStartLine===i.rightEndLine||s.push(i)}),s}function ne(e){ue(e),fe(e),e.diffs.forEach((t,n)=>{e.options.showDiffs&&(j(e,b.EDITOR_LEFT,t.leftStartLine,t.leftEndLine,e.options.classes.diff),j(e,b.EDITOR_RIGHT,t.rightStartLine,t.rightEndLine,e.options.classes.diff),e.options.showConnectors&&oe(e,t.leftStartLine,t.leftEndLine,t.rightStartLine,t.rightEndLine),ae(e,t,n))},e)}export{H as default};\n//# sourceMappingURL=ace-diff.min.js.map\n","<!--\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2024, 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 persistent v-model=\"show\" width=\"80vw\">\n <v-card>\n <v-card-text>\n <v-card-title>{{ pluginName }} </v-card-title>\n <v-row v-if=\"existingPluginTxt !== null\" class=\"notice d-flex flex-row\">\n <v-icon size=\"x-large\" start color=\"yellow\"> mdi-alert-box </v-icon>\n <div style=\"flex: 1\">\n The existing plugin.txt is different from the {{ pluginName }}'s\n plugin.txt. Navigate the diffs making whatever edits you want before\n installing. You may want to update {{ pluginName }}'s plugin.txt\n going forward.\n </div>\n </v-row>\n <v-row class=\"pb-3 pr-3\">\n <v-tabs v-model=\"tab\" class=\"ml-3\">\n <v-tab :key=\"0\"> Variables </v-tab>\n <v-tab :key=\"1\"> plugin.txt </v-tab>\n </v-tabs>\n </v-row>\n <form @submit.prevent=\"onSubmit\">\n <v-window v-model=\"tab\">\n <v-window-item :key=\"0\" eager=\"true\" class=\"tab\">\n <div class=\"pa-3\">\n <v-row class=\"mt-3\">\n <div v-for=\"(value, name) in localVariables\" :key=\"name\">\n <v-col style=\"width: 220px\">\n <v-text-field\n clearable\n type=\"text\"\n :label=\"name\"\n v-model=\"localVariables[name]\"\n />\n </v-col>\n </div>\n </v-row>\n </div>\n </v-window-item>\n <v-window-item\n v-if=\"existingPluginTxt === null\"\n :key=\"1 + '-new'\"\n eager=\"true\"\n class=\"tab\"\n >\n <v-row class=\"pa-3\">\n <v-col> This can be edited before installation. </v-col>\n </v-row>\n <pre ref=\"editor\" class=\"editor\"></pre>\n </v-window-item>\n <v-window-item\n v-else\n :key=\"1 + '-existing'\"\n eager=\"true\"\n class=\"tab\"\n >\n <v-row class=\"pa-3\">\n <v-col>\n Existing plugin.txt. This can be edited before installation.\n </v-col>\n <v-col class=\"ml-6\">\n Uneditable plugin.txt from the new plugin.\n </v-col>\n </v-row>\n <pre ref=\"editor\" class=\"editor\"></pre>\n </v-window-item>\n </v-window>\n\n <v-card-actions class=\"px-2 mt-2\">\n <div v-if=\"existingPluginTxt !== null\">\n <v-btn variant=\"text\" @click=\"nextDiff\"> Next Diff </v-btn>\n <v-btn variant=\"text\" @click=\"previousDiff\">\n Previous Diff\n </v-btn>\n </div>\n <v-spacer />\n <v-btn\n variant=\"outlined\"\n @click.prevent=\"close\"\n data-test=\"edit-cancel\"\n >\n Cancel\n </v-btn>\n <v-btn variant=\"flat\" @click=\"submit\" data-test=\"edit-submit\">\n Install\n </v-btn>\n </v-card-actions>\n </form>\n </v-card-text>\n </v-card>\n </v-dialog>\n</template>\n\n<script>\nimport * as ace from 'ace-builds'\nimport 'ace-builds/src-min-noconflict/mode-ruby'\nimport 'ace-builds/src-min-noconflict/theme-twilight'\nimport 'ace-builds/src-min-noconflict/ext-language_tools'\nimport 'ace-builds/src-min-noconflict/ext-searchbox'\nimport AceDiff from '@openc3/ace-diff'\nimport '@openc3/ace-diff/dist/ace-diff-dark.min.css'\nimport { toRaw } from 'vue'\n\nexport default {\n props: {\n pluginName: {\n type: String,\n required: true,\n },\n variables: {\n type: Object,\n required: true,\n },\n pluginTxt: {\n type: String,\n required: true,\n },\n existingPluginTxt: {\n type: String,\n required: false,\n },\n modelValue: Boolean, // modelValue is the default prop when using v-model\n },\n data() {\n return {\n tab: 0,\n localVariables: [],\n localPluginTxt: '',\n localExistingPluginTxt: null,\n editor: null,\n differ: null,\n }\n },\n mounted() {\n const pluginMode = this.buildPluginMode()\n if (this.existingPluginTxt === null) {\n this.editor = ace.edit(this.$refs.editor)\n this.editor.setTheme('ace/theme/twilight')\n this.editor.session.setMode(new pluginMode())\n this.editor.session.setTabSize(2)\n this.editor.session.setUseWrapMode(true)\n this.editor.$blockScrolling = Infinity\n this.editor.setHighlightActiveLine(false)\n this.editor.setValue(this.localPluginTxt)\n this.editor.clearSelection()\n this.editor.focus()\n } else {\n this.tab = 1 // Show the diff right off the bat\n this.differ = new AceDiff({\n element: this.$refs.editor,\n mode: new pluginMode(),\n theme: 'ace/theme/twilight',\n left: {\n content: this.localExistingPluginTxt,\n copyLinkEnabled: false,\n },\n right: {\n content: this.localPluginTxt,\n editable: false,\n },\n })\n // Match our existing editors\n this.differ.getEditors().left.setFontSize(16)\n this.differ.getEditors().right.setFontSize(16)\n this.curDiff = -1 // so the first will be 0\n }\n },\n beforeUnmount() {\n if (this.editor) {\n this.editor.destroy()\n }\n if (this.differ) {\n this.differ.destroy()\n }\n },\n computed: {\n show: {\n get() {\n return this.modelValue\n },\n set(value) {\n this.$emit('update:modelValue', value)\n },\n },\n },\n watch: {\n value: {\n immediate: true,\n handler: function () {\n this.localVariables = JSON.parse(JSON.stringify(this.variables)) // deep copy\n this.localPluginTxt = this.pluginTxt.slice()\n if (this.existingPluginTxt !== null) {\n this.localExistingPluginTxt = this.existingPluginTxt.slice()\n }\n },\n },\n },\n methods: {\n previousDiff() {\n this.curDiff--\n if (this.curDiff < 0) {\n this.curDiff = this.differ.diffs.length - 1\n }\n this.scrollToCurDiff()\n },\n nextDiff() {\n this.curDiff++\n if (this.curDiff >= this.differ.diffs.length) {\n this.curDiff = 0\n }\n this.scrollToCurDiff()\n },\n scrollToCurDiff() {\n if (this.differ.diffs.length === 0) return\n let lrow = this.differ.diffs[this.curDiff].leftStartLine\n let rrow = this.differ.diffs[this.curDiff].rightStartLine\n // Give it a little breathing room\n if (lrow > 5) {\n lrow -= 5\n }\n if (rrow > 5) {\n rrow -= 5\n }\n this.differ.getEditors().left.scrollToLine(lrow)\n this.differ.getEditors().right.scrollToLine(rrow)\n },\n buildPluginMode() {\n let oop = ace.require('ace/lib/oop')\n let RubyHighlightRules = ace.require(\n 'ace/mode/ruby_highlight_rules',\n ).RubyHighlightRules\n\n // TODO: Grab from code\n let keywords = ['VARIABLE']\n let regex = new RegExp(`(\\\\b${keywords.join('\\\\b|\\\\b')}\\\\b)`)\n let PluginHighlightRules = function () {\n RubyHighlightRules.call(this)\n // add openc3 rules to the ruby rules\n for (let rule in this.$rules) {\n this.$rules[rule].unshift({\n regex: regex,\n token: 'support.function',\n })\n }\n }\n oop.inherits(PluginHighlightRules, RubyHighlightRules)\n\n let MatchingBraceOutdent = ace.require(\n 'ace/mode/matching_brace_outdent',\n ).MatchingBraceOutdent\n let CstyleBehaviour = ace.require(\n 'ace/mode/behaviour/cstyle',\n ).CstyleBehaviour\n let FoldMode = ace.require('ace/mode/folding/ruby').FoldMode\n let Mode = function () {\n this.HighlightRules = PluginHighlightRules\n this.$outdent = new MatchingBraceOutdent()\n this.$behaviour = new CstyleBehaviour()\n this.foldingRules = new FoldMode()\n this.indentKeywords = this.foldingRules.indentKeywords\n }\n let RubyMode = ace.require('ace/mode/ruby').Mode\n oop.inherits(Mode, RubyMode)\n ;(function () {\n this.$id = 'ace/mode/openc3'\n }).call(Mode.prototype)\n return Mode\n },\n submit: function () {\n if (this.existingPluginTxt === null) {\n this.emitSubmit(this.editor.getValue().split('\\n'))\n } else {\n // Existing plugin.txt with all diffs resolved\n if (this.differ.diffs.length === 0) {\n this.emitSubmit(this.differ.getEditors().left.getValue().split('\\n'))\n } else {\n // Existing plugin.txt with unresolved diffs\n this.$dialog\n .confirm(\n `Diffs still detected! Install using 'Existing plugin.txt' (left) and ignore additional changes in the new plugin.txt (right)?`,\n {\n okText: 'Install',\n cancelText: 'Cancel',\n },\n )\n .then((dialog) => {\n this.emitSubmit(\n this.differ.getEditors().left.getValue().split('\\n'),\n )\n })\n .catch((error) => {\n // Cancelled, do nothing\n })\n }\n }\n },\n emitSubmit(lines) {\n let pluginHash = {\n name: this.pluginName,\n variables: toRaw(this.localVariables),\n plugin_txt_lines: lines,\n }\n this.$emit('callback', pluginHash)\n },\n close: function () {\n this.show = !this.show\n },\n },\n}\n</script>\n\n<style scoped>\n.editor {\n height: 50vh;\n position: relative;\n font-size: 16px;\n}\n\n.notice {\n font-size: 20px;\n margin: 10px;\n}\n.tab {\n background-color: var(--color-background-surface-default);\n}\n.v-textarea :deep(textarea) {\n padding: 5px;\n}\n</style>\n"],"names":["_sfc_main","value","gemRegEx","f","axios","response","gem","link","_hoisted_1","_hoisted_2","_createBlock","_component_v_dialog","$options","_cache","$event","_withCtx","_createVNode","_component_v_card","_component_v_toolbar","_component_v_spacer","_createElementVNode","_component_v_card_text","_component_v_row","_createTextVNode","_component_v_col","_component_v_btn","$data","_component_v_icon","_openBlock","_createElementBlock","_hoisted_3","_hoisted_4","_Fragment","_renderList","data","index","_component_v_list_item","_component_v_list_item_title","_toDisplayString","_hoisted_5","_component_v_progress_circular","_hoisted_6","_component_v_tooltip","props","_mergeProps","_component_v_divider","_createCommentVNode","openPluginMode","ace.edit","blob","oop","ace.require","JsonHighlightRules","MatchingBraceOutdent","CstyleBehaviour","FoldMode","Mode","RubyMode","$props","_withModifiers","args","_normalizeProps","_guardReactiveProps","_ctx","_component_v_file_input","target","Api","file","itemIndex","_component_v_list_item_subtitle","_component_v_checkbox","_component_v_card_actions","TabsList","TopBar","tab","_component_top_bar","_component_v_tabs","_component_v_tab","_component_router_view","h","E","C","p","e","t","r","s","l","o","g","u","c","v","m","_","I","d","L","S","w","T","M","D","R","y","k","N","$","re","U","G","b","P","B","q","ie","V","F","z","O","se","H","le","ge","te","Y","Z","ce","ee","ne","x","Q","W","j","he","oe","ae","J","K","A","X","ue","fe","pluginMode","AceDiff","lrow","rrow","RubyHighlightRules","keywords","regex","PluginHighlightRules","rule","dialog","error","lines","pluginHash","toRaw","_component_v_card_title","_component_v_window","_component_v_window_item","name","_component_v_text_field"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const w=require("../UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_6fa47877_lang-DdL5xG80.cjs"),e=require("vue"),k=require("../CosmosRuxIcon.vue_vue_type_style_index_0_scoped_9af48e85_lang-BHFhmbuH.cjs"),b=require("../UpgradeToEnterpriseDialog--cLHsvir.cjs"),_=require("../format-BDZ4AOJt.cjs"),U=require("single-spa"),Y=require("../AstroStatus-CILMWL6F.cjs"),x=require("../icons.cjs"),H=require("../axios-tuVKNgv9.cjs");function S(t,o){const n=+_.toDate(t)-+_.toDate(o);return n<0?-1:n>0?1:n}function j(t){return _.constructFrom(t,Date.now())}function q(t,o,n){const[r,s]=_.normalizeDates(n==null?void 0:n.in,t,o),i=r.getFullYear()-s.getFullYear(),d=r.getMonth()-s.getMonth();return i*12+d}function Z(t){return o=>{const r=(t?Math[t]:Math.trunc)(o);return r===0?0:r}}function W(t,o){return+_.toDate(t)-+_.toDate(o)}function J(t,o){const n=_.toDate(t,o==null?void 0:o.in);return n.setHours(23,59,59,999),n}function $(t,o){const n=_.toDate(t,o==null?void 0:o.in),r=n.getMonth();return n.setFullYear(n.getFullYear(),r+1,0),n.setHours(23,59,59,999),n}function G(t,o){const n=_.toDate(t,o==null?void 0:o.in);return+J(n,o)==+$(n,o)}function K(t,o,n){const[r,s,i]=_.normalizeDates(n==null?void 0:n.in,t,t,o),d=S(s,i),a=Math.abs(q(s,i));if(a<1)return 0;s.getMonth()===1&&s.getDate()>27&&s.setDate(30),s.setMonth(s.getMonth()-d*a);let c=S(s,i)===-d;G(r)&&a===1&&S(r,i)===1&&(c=!1);const p=d*(a-+c);return p===0?0:p}function Q(t,o,n){const r=W(t,o)/1e3;return Z(n==null?void 0:n.roundingMethod)(r)}function ee(t,o,n){const r=_.getDefaultOptions(),s=(n==null?void 0:n.locale)??r.locale??_.enUS,i=2520,d=S(t,o);if(isNaN(d))throw new RangeError("Invalid time value");const a=Object.assign({},n,{addSuffix:n==null?void 0:n.addSuffix,comparison:d}),[c,p]=_.normalizeDates(n==null?void 0:n.in,...d>0?[o,t]:[t,o]),f=Q(p,c),g=(_.getTimezoneOffsetInMilliseconds(p)-_.getTimezoneOffsetInMilliseconds(c))/1e3,u=Math.round((f-g)/60);let v;if(u<2)return n!=null&&n.includeSeconds?f<5?s.formatDistance("lessThanXSeconds",5,a):f<10?s.formatDistance("lessThanXSeconds",10,a):f<20?s.formatDistance("lessThanXSeconds",20,a):f<40?s.formatDistance("halfAMinute",0,a):f<60?s.formatDistance("lessThanXMinutes",1,a):s.formatDistance("xMinutes",1,a):u===0?s.formatDistance("lessThanXMinutes",1,a):s.formatDistance("xMinutes",u,a);if(u<45)return s.formatDistance("xMinutes",u,a);if(u<90)return s.formatDistance("aboutXHours",1,a);if(u<_.minutesInDay){const m=Math.round(u/60);return s.formatDistance("aboutXHours",m,a)}else{if(u<i)return s.formatDistance("xDays",1,a);if(u<_.minutesInMonth){const m=Math.round(u/_.minutesInDay);return s.formatDistance("xDays",m,a)}else if(u<_.minutesInMonth*2)return v=Math.round(u/_.minutesInMonth),s.formatDistance("aboutXMonths",v,a)}if(v=K(p,c),v<12){const m=Math.round(u/_.minutesInMonth);return s.formatDistance("xMonths",m,a)}else{const m=v%12,C=Math.trunc(v/12);return m<3?s.formatDistance("aboutXYears",C,a):m<9?s.formatDistance("overXYears",C,a):s.formatDistance("almostXYears",C+1,a)}}function te(t,o){return ee(t,j(t),o)}const oe={data:function(){return{localDate:new Date,displayLocal:localStorage.clock_zone==="local",display24h:!localStorage.clock_12h,dateMode:localStorage.clock_dateMode||"monthFirst",intervalCount:0,showMenu:!1,menuX:0,menuY:0}},computed:{utcDate:function(){return new Date(this.localDate.getTime()+this.localDate.getTimezoneOffset()*6e4)},formatString:function(){let t;switch(this.dateMode){case"monthFirst":t="LL/dd/yyy";break;case"dayFirst":t="dd/LL/yyy";break;case"number":t="D";break}let o;return this.display24h?o="HH:mm:ss":o="hh:mm:ss a",`${t} ${o}`}},watch:{displayLocal:function(t){localStorage.clock_zone=t?"local":"utc"},display24h:function(t){t?delete localStorage.clock_12h:localStorage.clock_12h=!0},dateMode:function(t){t.match(/^monthFirst$|^dayFirst$|^number$/)&&(localStorage.clock_dateMode=t)}},created:function(){setInterval(()=>{this.intervalCount++,this.localDate=new Date},this.intervalCount<10?100:1e3)},methods:{openMenu:function(t){t.preventDefault(),this.showMenu=!1,this.menuX=t.clientX,this.menuY=t.clientY,this.$nextTick(()=>{this.showMenu=!0})},toggleDisplayLocal:function(){this.displayLocal=!this.displayLocal},toggleDisplay24h:function(){this.display24h=!this.display24h},setMonthFirst:function(){this.dateMode="monthFirst"},setDayFirst:function(){this.dateMode="dayFirst"},setNumber:function(){this.dateMode="number"},formatDate:function(t,o){return _.format(t,o,{useAdditionalDayOfYearTokens:!0})}}};function ne(t,o,n,r,s,i){const d=e.resolveComponent("v-list-item-title"),a=e.resolveComponent("v-list-item"),c=e.resolveComponent("v-divider"),p=e.resolveComponent("v-list"),f=e.resolveComponent("v-menu");return e.openBlock(),e.createElementBlock("div",null,[e.createElementVNode("span",{style:{cursor:"context-menu"},class:"font-weight-bold",onContextmenu:o[0]||(o[0]=(...g)=>i.openMenu&&i.openMenu(...g))},e.toDisplayString(i.formatDate(t.displayLocal?t.localDate:i.utcDate,i.formatString))+" ("+e.toDisplayString(t.displayLocal?"local":"UTC")+") ",33),e.createVNode(f,{modelValue:t.showMenu,"onUpdate:modelValue":o[1]||(o[1]=g=>t.showMenu=g),target:[t.menuX,t.menuY]},{default:e.withCtx(()=>[e.createVNode(p,null,{default:e.withCtx(()=>[e.createVNode(a,null,{default:e.withCtx(()=>[e.createVNode(d,{style:{cursor:"pointer"},onClick:i.toggleDisplayLocal},{default:e.withCtx(()=>[e.createTextVNode(" Display "+e.toDisplayString(t.displayLocal?"UTC":"local time"),1)]),_:1},8,["onClick"])]),_:1}),e.createVNode(c),e.createVNode(a,null,{default:e.withCtx(()=>[e.createVNode(d,{style:{cursor:"pointer"},onClick:i.toggleDisplay24h},{default:e.withCtx(()=>[e.createTextVNode(" Display "+e.toDisplayString(t.display24h?12:24)+" hour clock ",1)]),_:1},8,["onClick"])]),_:1}),e.createVNode(c),t.dateMode!=="monthFirst"?(e.openBlock(),e.createBlock(a,{key:0},{default:e.withCtx(()=>[e.createVNode(d,{style:{cursor:"pointer"},onClick:i.setMonthFirst},{default:e.withCtx(()=>o[2]||(o[2]=[e.createTextVNode(" Display mm/dd/yyyy ")])),_:1},8,["onClick"])]),_:1})):e.createCommentVNode("",!0),t.dateMode!=="dayFirst"?(e.openBlock(),e.createBlock(a,{key:1},{default:e.withCtx(()=>[e.createVNode(d,{style:{cursor:"pointer"},onClick:i.setDayFirst},{default:e.withCtx(()=>o[3]||(o[3]=[e.createTextVNode(" Display dd/mm/yyyy ")])),_:1},8,["onClick"])]),_:1})):e.createCommentVNode("",!0),t.dateMode!=="number"?(e.openBlock(),e.createBlock(a,{key:2},{default:e.withCtx(()=>[e.createVNode(d,{style:{cursor:"pointer"},onClick:i.setNumber},{default:e.withCtx(()=>o[4]||(o[4]=[e.createTextVNode(" Display day of year ")])),_:1},8,["onClick"])]),_:1})):e.createCommentVNode("",!0)]),_:1})]),_:1},8,["modelValue","target"])])}const L=k._export_sfc(oe,[["render",ne]]),se={components:{ClockFooter:L,UpgradeToEnterpriseDialog:b.UpgradeToEnterpriseDialog},data(){return{icon:"/img/icon.png",edition:"",enterprise:!1,license:"",sourceUrl:"",version:"",showUpgradeToEnterpriseDialog:!1,chromeless:this.$route.query.chromeless}},created:function(){this.getSourceUrl(),w.nr.get("/openc3-api/info").then(t=>{t.data.enterprise?this.edition="COSMOS Enterprise":this.edition="COSMOS Open Source",this.enterprise=t.data.enterprise,this.license=t.data.license,this.version=t.data.version})},computed:{footerClass(){return this.enterprise?"enterprise":"base"}},methods:{getSourceUrl:function(){new w.ir().get_settings(["source_url"]).then(t=>{this.sourceUrl=t[0]})},upgrade:function(){this.enterprise||(this.showUpgradeToEnterpriseDialog=!0)}}},ie=["src"],re=["href"],ae={class:"justify-right"};function le(t,o,n,r,s,i){const d=e.resolveComponent("v-spacer"),a=e.resolveComponent("clock-footer"),c=e.resolveComponent("upgrade-to-enterprise-dialog"),p=e.resolveComponent("v-footer");return s.chromeless?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(p,{key:0,id:"footer",app:"",height:"33"},{default:e.withCtx(()=>[e.createElementVNode("img",{src:s.icon,alt:"OpenC3"},null,8,ie),e.createElementVNode("span",{class:e.normalizeClass(i.footerClass),onClick:o[0]||(o[0]=(...f)=>i.upgrade&&i.upgrade(...f))}," OpenC3 "+e.toDisplayString(s.edition)+" "+e.toDisplayString(s.version)+" © 2024 - License: "+e.toDisplayString(s.license),3),e.createVNode(d),e.createElementVNode("a",{href:s.sourceUrl,class:"text-white text-decoration-underline"}," Source ",8,re),e.createVNode(d),e.createElementVNode("div",ae,[e.createVNode(a)]),e.createVNode(c,{modelValue:s.showUpgradeToEnterpriseDialog,"onUpdate:modelValue":o[1]||(o[1]=f=>s.showUpgradeToEnterpriseDialog=f),reason:"Enterprise is Commercially Licensed"},null,8,["modelValue"])]),_:1}))}const ce=k._export_sfc(se,[["render",le],["__scopeId","data-v-90a4c42b"]]),D=1e3,{highestLevel:de,orderByLevel:ue,groupByLevel:pe}=Y.AstroStatus,me={components:{AstroStatusIndicator:x.AstroStatusIndicator},props:{size:{type:[String,Number],default:26}},data:function(){return{AstroStatusColors:x.AstroStatusColors,alerts:[],cable:new w.rr,scriptCable:new w.rr("/script-api/cable"),subscription:null,scriptSubscription:null,numScripts:0,notifications:[],showNotificationPane:!1,toastNotification:{},notificationDialog:!1,selectedNotification:{},settingsDialog:!1,showToast:!0}},computed:{activeScripts:function(){return`Scripts: ${this.numScripts}`},notificationVsAlert:function(){return"notifications"},iconStatus:function(){if(this.unreadNotifications.length===0)return"off";const t=this.unreadNotifications.map(o=>o.level).filter((o,n,r)=>r.indexOf(o)===n);return x.UnknownToAstroStatus[de(t)]},readNotifications:function(){return this.notifications.filter(t=>t.read).sort((t,o)=>o.time-t.time)},unreadNotifications:function(){return this.notifications.filter(t=>!t.read).sort((t,o)=>o.time-t.time)},unreadCount:function(){return this.unreadNotifications.length},notificationList:function(){const t=pe(this.unreadNotifications);let o=ue(Object.keys(t),n=>n).flatMap(n=>[{header:n.charAt(0).toUpperCase()+n.slice(1)},...t[n]]);return this.readNotifications.length&&(o=o.concat([{header:"Read"},...this.readNotifications])),o}},watch:{showNotificationPane:function(t){t||(this.selectedNotification.message?(this.notificationDialog=!1,this.selectedNotification={}):this.markAllAsRead())},showToast:function(t){localStorage.notoast=!t}},created:function(){this.showToast=localStorage.notoast==="false",this.subscribe(),this.alerts=this.$store.state.notifyHistory,w.nr.get("/script-api/running-script").then(t=>{this.numScripts=t.data.length})},unmounted:function(){this.subscription&&this.subscription.unsubscribe(),this.scriptSubscription&&this.scriptSubscription.unsubscribe(),this.cable.disconnect(),this.scriptCable.disconnect()},methods:{getStatus:function(t){return x.UnknownToAstroStatus[t]},markAllAsRead:function(){this.notifications.forEach(t=>{t.read=!0,(!localStorage.lastReadNotification||localStorage.lastReadNotification<t.msg_id)&&(localStorage.lastReadNotification=t.msg_id)})},clearNotifications:function(){this.markAllAsRead(),this.notifications=[],localStorage.notificationStreamOffset=localStorage.lastReadNotification,this.showNotificationPane=!1},toggleNotificationPane:function(){this.showNotificationPane=!this.showNotificationPane},toggleSettingsDialog:function(){this.settingsDialog=!this.settingsDialog},openDialog:function(t,o=!1){t.read=!0,(!localStorage.lastReadNotification||localStorage.lastReadNotification<t.msg_id)&&(localStorage.lastReadNotification=t.msg_id),this.selectedNotification=t,this.notificationDialog=!0},navigate:function(t){window.open(t,"_blank")},subscribe:function(){this.cable.createSubscription("MessagesChannel",window.openc3Scope,{received:t=>this.receiveMessage(t)},{start_offset:localStorage.notificationStreamOffset||localStorage.lastReadNotification,types:["notification","alert","ephemeral"]}).then(t=>{this.subscription=t}),this.scriptCable.createSubscription("AllScriptsChannel",window.openc3Scope,{received:t=>this.receiveScript(t)}).then(t=>{this.scriptSubscription=t})},receiveMessage:function(t){this.cable.recordPing(),t.length>D&&t.splice(0,t.length-D);let o=t.filter(r=>r.type==="ephemeral");o&&o.length>0&&(t=t.filter(r=>r.type!=="ephemeral"),o.forEach(r=>{this.$emit("ephemeral",r)}));let n=!1;if(t.forEach(r=>{r.read=r.msg_id<=localStorage.lastReadNotification,r.level=r.level||"INFO",!r.read&&["FATAL","ERROR","WARN"].includes(r.level)&&(n=!0,this.toastNotification=r)}),this.showToast&&n){let r=5e3;["FATAL","ERROR"].includes(this.toastNotification.level)&&(r=null),this.$notify&&this.$notify[this.toastNotification.level]({...this.toastNotification,type:"notification",duration:r,saveToHistory:!1})}this.notifications.length+t.length>D&&this.notifications.splice(0,this.notifications.length+t.length-D),this.notifications=this.notifications.concat(t)},receiveScript:function(t){this.cable.recordPing(),this.numScripts=t.active_scripts},formatShortDateTime:function(t){if(!t)return"";const o=new Date(t/1e6);return te(o,{addSuffix:!0})}}};function fe(t,o,n,r,s,i){const d=e.resolveComponent("v-overlay"),a=e.resolveComponent("rux-monitoring-icon"),c=e.resolveComponent("v-spacer"),p=e.resolveComponent("v-btn"),f=e.resolveComponent("v-tooltip"),g=e.resolveComponent("v-card-title"),u=e.resolveComponent("v-card-text"),v=e.resolveComponent("v-divider"),m=e.resolveComponent("v-list-subheader"),C=e.resolveComponent("rux-status"),y=e.resolveComponent("v-list-item-title"),N=e.resolveComponent("v-list-item-subtitle"),T=e.resolveComponent("v-list-item"),B=e.resolveComponent("v-list"),V=e.resolveComponent("v-card"),l=e.resolveComponent("v-menu"),E=e.resolveComponent("astro-status-indicator"),R=e.resolveComponent("v-card-subtitle"),z=e.resolveComponent("v-icon"),A=e.resolveComponent("v-card-actions"),O=e.resolveComponent("v-dialog"),X=e.resolveComponent("v-switch");return e.openBlock(),e.createElementBlock("div",null,[e.createVNode(d,{"model-value":t.showNotificationPane,class:"overlay"},null,8,["model-value"]),e.createVNode(l,{modelValue:t.showNotificationPane,"onUpdate:modelValue":o[0]||(o[0]=h=>t.showNotificationPane=h),transition:"slide-y-transition","close-on-content-click":!1,offset:[12,102]},{activator:e.withCtx(({props:h})=>[e.createVNode(a,e.mergeProps(h,{class:"rux-icon",icon:i.notificationVsAlert,label:"Notifications",sublabel:i.activeScripts,status:i.iconStatus,notifications:i.unreadNotifications.length}),null,16,["icon","sublabel","status","notifications"])]),default:e.withCtx(()=>[e.createVNode(V,null,{default:e.withCtx(()=>[e.createVNode(g,{class:"d-flex align-center justify-content-space-between"},{default:e.withCtx(()=>[o[7]||(o[7]=e.createElementVNode("span",null," Notifications ",-1)),e.createVNode(c),e.createVNode(f,{location:"top","open-delay":"350"},{activator:e.withCtx(({props:h})=>[e.createVNode(p,e.mergeProps(h,{class:"ml-1",icon:"mdi-close-box-multiple ",variant:"text",onClick:i.clearNotifications,"data-test":"clear-notifications"}),null,16,["onClick"])]),default:e.withCtx(()=>[o[6]||(o[6]=e.createElementVNode("span",null," Clear all ",-1))]),_:1}),e.createVNode(p,{icon:"astro:settings",variant:"text",onClick:i.toggleSettingsDialog,class:"ml-1","data-test":"notification-settings"},null,8,["onClick"])]),_:1}),t.notifications.length===0?(e.openBlock(),e.createBlock(u,{key:0},{default:e.withCtx(()=>o[8]||(o[8]=[e.createTextVNode(" No notifications ")])),_:1})):(e.openBlock(),e.createBlock(B,{key:1,lines:"two",width:"420","max-height":"80vh",class:"overflow-y-auto","data-test":"notification-list"},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(i.notificationList,(h,M)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[h.header?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[M!==0?(e.openBlock(),e.createBlock(v,{key:M,class:"mb-2"})):e.createCommentVNode("",!0),(e.openBlock(),e.createBlock(m,{key:h.header},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(h.header),1)]),_:2},1024))],64)):(e.openBlock(),e.createBlock(T,{key:`notification-${M}`,onClick:Ze=>i.openDialog(h),class:"pl-2"},{prepend:e.withCtx(()=>[e.createVNode(C,{class:"px-2",status:i.getStatus(h.level)},null,8,["status"])]),default:e.withCtx(()=>[e.createVNode(y,{class:e.normalizeClass({"text--secondary":h.read,"text-wrap":!0})},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(h.message),1)]),_:2},1032,["class"]),e.createVNode(N,null,{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(i.formatShortDateTime(h.time)),1)]),_:2},1024)]),_:2},1032,["onClick"]))],64))),256))]),_:1}))]),_:1})]),_:1},8,["modelValue"]),e.createVNode(O,{modelValue:t.notificationDialog,"onUpdate:modelValue":o[3]||(o[3]=h=>t.notificationDialog=h),width:"600"},{default:e.withCtx(()=>[e.createVNode(V,null,{default:e.withCtx(()=>[e.createVNode(g,null,{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(t.selectedNotification.message)+" ",1),e.createVNode(c),e.createVNode(E,{status:t.selectedNotification.level||"INFO"},null,8,["status"])]),_:1}),e.createVNode(R,null,{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(i.formatShortDateTime(t.selectedNotification.time)),1)]),_:1}),e.createVNode(v),e.createVNode(A,null,{default:e.withCtx(()=>[t.selectedNotification.url?(e.openBlock(),e.createBlock(p,{key:0,color:"primary",variant:"text",onClick:o[1]||(o[1]=h=>i.navigate(t.selectedNotification.url))},{default:e.withCtx(()=>[o[10]||(o[10]=e.createTextVNode(" Open ")),e.createVNode(z,{end:""},{default:e.withCtx(()=>o[9]||(o[9]=[e.createTextVNode(" mdi-open-in-new ")])),_:1})]),_:1})):e.createCommentVNode("",!0),e.createVNode(p,{color:"primary",variant:"text",onClick:o[2]||(o[2]=h=>t.notificationDialog=!1)},{default:e.withCtx(()=>o[11]||(o[11]=[e.createTextVNode(" Close ")])),_:1})]),_:1})]),_:1})]),_:1},8,["modelValue"]),e.createVNode(O,{modelValue:t.settingsDialog,"onUpdate:modelValue":o[5]||(o[5]=h=>t.settingsDialog=h),width:"600"},{default:e.withCtx(()=>[e.createVNode(V,null,{default:e.withCtx(()=>[e.createVNode(g,null,{default:e.withCtx(()=>o[12]||(o[12]=[e.createTextVNode(" Notification settings ")])),_:1}),e.createVNode(u,null,{default:e.withCtx(()=>[e.createVNode(X,{modelValue:t.showToast,"onUpdate:modelValue":o[4]||(o[4]=h=>t.showToast=h),label:"Show toasts",color:"primary"},null,8,["modelValue"])]),_:1}),e.createVNode(v),e.createVNode(A,null,{default:e.withCtx(()=>[e.createVNode(p,{color:"primary",variant:"text",onClick:i.toggleSettingsDialog},{default:e.withCtx(()=>o[13]||(o[13]=[e.createTextVNode(" Close ")])),_:1},8,["onClick"])]),_:1})]),_:1})]),_:1},8,["modelValue"])])}const I=k._export_sfc(me,[["render",fe],["__scopeId","data-v-9bcdc9f6"]]),he={components:{UpgradeToEnterpriseDialog:b.UpgradeToEnterpriseDialog},data:function(){return{scopes:["DEFAULT"],scope:"DEFAULT",showUpgradeToEnterpriseDialog:!1}}};function _e(t,o,n,r,s,i){const d=e.resolveComponent("v-select"),a=e.resolveComponent("upgrade-to-enterprise-dialog");return e.openBlock(),e.createElementBlock("div",{style:{cursor:"pointer"},onClick:o[2]||(o[2]=c=>t.showUpgradeToEnterpriseDialog=!0)},[e.createVNode(d,{modelValue:t.scope,"onUpdate:modelValue":o[0]||(o[0]=c=>t.scope=c),items:t.scopes,disabled:t.scopes.length<=1,label:"Scope",density:"compact",variant:"outlined","hide-details":"",style:{"max-width":"150px"}},null,8,["modelValue","items","disabled"]),e.createVNode(a,{modelValue:t.showUpgradeToEnterpriseDialog,"onUpdate:modelValue":o[1]||(o[1]=c=>t.showUpgradeToEnterpriseDialog=c),reason:"Enterprise allows additional Scopes"},null,8,["modelValue"])])}const F=k._export_sfc(he,[["render",_e]]),ve={components:{UpgradeToEnterpriseDialog:b.UpgradeToEnterpriseDialog},props:{size:{type:[String,Number],default:26}},data:function(){let t=OpenC3Auth.user();return{showUserMenu:!1,authenticated:!!localStorage.openc3Token,name:t.name,username:t.preferred_username,showUpgradeToEnterpriseDialog:!1,activeUsers:["None"]}},watch:{showUserMenu:function(t,o){t===!0&&this.name!=="Anonymous"&&w.nr.get("/openc3-api/users/active").then(n=>{this.activeUsers=n.data.filter(r=>!r.includes(this.name)),this.activeUsers.length===0&&(this.activeUsers=["None"])})}},methods:{logout:function(){OpenC3Auth.logout(),w.nr.put(`/openc3-api/users/logout/${this.username}`)},login:function(){OpenC3Auth.login(location.href)},roles:function(){return this.name==="Anonymous"?"Admin":OpenC3Auth.userroles().map(t=>this.capitalize(t)).sort().join(", ")},capitalize:function(t){return t.charAt(0).toUpperCase()+t.slice(1)}}},ge={style:{"text-align":"center",margin:"5px"}},we={key:0},Ce={class:"roles"},Ne={class:"pb-3 roles"},ke={key:1},ye={key:0,class:"pa-3"},Ve={key:2};function xe(t,o,n,r,s,i){const d=e.resolveComponent("v-overlay"),a=e.resolveComponent("rux-monitoring-icon"),c=e.resolveComponent("v-btn"),p=e.resolveComponent("v-row"),f=e.resolveComponent("v-card-text"),g=e.resolveComponent("v-card"),u=e.resolveComponent("v-menu"),v=e.resolveComponent("upgrade-to-enterprise-dialog");return e.openBlock(),e.createElementBlock("div",null,[e.createVNode(d,{"model-value":t.showUserMenu,class:"overlay"},null,8,["model-value"]),e.createVNode(u,{modelValue:t.showUserMenu,"onUpdate:modelValue":o[1]||(o[1]=m=>t.showUserMenu=m),transition:"slide-y-transition","close-on-content-click":!1,offset:20},{activator:e.withCtx(({props:m})=>[e.createVNode(a,e.mergeProps(m,{class:"rux-icon",icon:"person",status:"off",label:t.name,sublabel:i.roles()}),null,16,["label","sublabel"])]),default:e.withCtx(()=>[e.createVNode(g,null,{default:e.withCtx(()=>[e.createVNode(f,{class:"text-center"},{default:e.withCtx(()=>[e.createElementVNode("div",ge,e.toDisplayString(t.name),1),t.name!=="Anonymous"?(e.openBlock(),e.createElementBlock("div",we,[e.createElementVNode("div",Ce,"Username: "+e.toDisplayString(t.username),1),e.createElementVNode("div",Ne,"Roles: "+e.toDisplayString(i.roles()),1)])):e.createCommentVNode("",!0),t.authenticated?(e.openBlock(),e.createElementBlock("div",ke,[e.createVNode(c,{block:"",onClick:i.logout,color:"primary"},{default:e.withCtx(()=>o[3]||(o[3]=[e.createTextVNode(" Logout ")])),_:1},8,["onClick"]),t.name!=="Anonymous"?(e.openBlock(),e.createElementBlock("div",ye,[e.createVNode(p,{class:"pt-3 user-title"},{default:e.withCtx(()=>o[4]||(o[4]=[e.createTextVNode("Other Active Users:")])),_:1}),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.activeUsers,(m,C)=>(e.openBlock(),e.createBlock(p,{key:C,class:"user"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(m),1)]),_:2},1024))),128))])):e.createCommentVNode("",!0)])):(e.openBlock(),e.createElementBlock("div",Ve,[e.createVNode(c,{block:"",onClick:i.login,color:"primary"},{default:e.withCtx(()=>o[5]||(o[5]=[e.createTextVNode(" Login ")])),_:1},8,["onClick"])])),t.name==="Anonymous"?(e.openBlock(),e.createElementBlock("div",{key:3,onClick:o[0]||(o[0]=m=>t.showUpgradeToEnterpriseDialog=!0),class:"pt-2 link"},o[6]||(o[6]=[e.createTextVNode(" Click to learn more about"),e.createElementVNode("br",null,null,-1),e.createTextVNode(" COSMOS Enterprise Edition ")]))):e.createCommentVNode("",!0)]),_:1})]),_:1})]),_:1},8,["modelValue"]),e.createVNode(v,{modelValue:t.showUpgradeToEnterpriseDialog,"onUpdate:modelValue":o[2]||(o[2]=m=>t.showUpgradeToEnterpriseDialog=m),reason:"Enterprise has individual users with RBAC"},null,8,["modelValue"])])}const P=k._export_sfc(ve,[["render",xe],["__scopeId","data-v-3a353a10"]]),De={components:{Notifications:I,ScopeSelector:F,UserMenu:P,UpgradeToEnterpriseDialog:b.UpgradeToEnterpriseDialog},props:{edition:{type:String,default:""}},data(){return{api:new w.ir,timeZone:"local",subtitle:null,astro:{hideClock:!1},items:[],drawer:!0,appNav:{},logo:"/img/logo.png",initiallyOpen:[],showUpgradeToEnterpriseDialog:!1,chromeless:this.$route.query.chromeless}},computed:{shownTools:function(){let t={};for(let o of Object.keys(this.appNav))this.appNav[o].shown&&this.appNav[o].category!=="Admin"&&(t[o]=this.appNav[o]);return t},adminTools:function(){let t={};for(let o of Object.keys(this.appNav))this.appNav[o].shown&&this.appNav[o].category==="Admin"&&(t[o]=this.appNav[o]);return t},astroTimeZone:function(){return this.timeZone==="local"?Intl.DateTimeFormat().resolvedOptions().timeZone:this.timeZone}},created(){this.api.get_setting("astro").then(t=>{t&&(this.astro=JSON.parse(t))}).catch(t=>{}),this.api.get_setting("subtitle").then(t=>{t&&(this.subtitle=t)}).catch(t=>{}),this.api.get_setting("time_zone").then(t=>{t&&(this.timeZone=t)}).catch(t=>{}),w.nr.get("/openc3-api/tools/all",{params:{scope:"DEFAULT"}}).then(t=>{this.appNav=t.data;let o=1;for(let n of Object.keys(this.appNav)){if(this.appNav[n].shown){if(this.appNav[n].category&&this.appNav[n].category!=="Admin"){this.initiallyOpen.includes(this.appNav[n].category)||this.initiallyOpen.push(this.appNav[n].category);const r=this.items.filter(s=>s.name===this.appNav[n].category);r.length===0?(this.items.push({id:o,name:this.appNav[n].category,children:[{id:o+1,name:this.appNav[n].name,icon:this.appNav[n].icon,url:this.appNav[n].url,inline_url:this.appNav[n].inline_url,window:this.appNav[n].window}]}),o++):r[0].children.push({id:o,name:this.appNav[n].name,icon:this.appNav[n].icon,url:this.appNav[n].url,inline_url:this.appNav[n].inline_url,window:this.appNav[n].window})}else this.appNav[n].category||this.items.push({id:o,name:this.appNav[n].name,icon:this.appNav[n].icon,url:this.appNav[n].url,inline_url:this.appNav[n].inline_url,window:this.appNav[n].window});o++}if(this.appNav[n].inline_url&&this.appNav[n].window==="INLINE"&&this.appNav[n].folder_name&&this.appNav[n].folder_name!=="base"){let r=this.appNav[n].folder_name,s="@openc3/tool-"+r;U.registerApplication({name:s,app:()=>System.import(s),activeWhen:["/tools/"+r]})}}if(U.start({urlRerouteOnly:!0}),window.location.pathname=="/"||window.location.pathname=="/tools"||window.location.pathname=="/tools/"){for(let n of Object.keys(this.shownTools))if(this.appNav[n].shown){history.replaceState(null,"",this.appNav[n].url);break}}setInterval(()=>{OpenC3Auth.updateToken(120).then(function(n){n&&OpenC3Auth.setTokens()})},6e4)})},methods:{navigateToUrl:U.navigateToUrl,newTabUrl(t){let o=null;try{t.url[0]=="/"&&t.url[1]!="/"?o=new URL(t.url,window.location.origin):o=new URL(t.url),o.searchParams.set("scope",window.openc3Scope)}catch(n){window.$cosmosNotify.serious({title:`Invalid URL '${t.url}' for tool ${t.name}`,message:n.message}),o.href="/"}return o.href}}},Se=["src"],be={style:{"text-align":"center","font-size":"18pt"}},Te=["href","onClick"],Be=["href"],Ee=["href","onClick"],Me=["href","onClick"],Ue=["href"],Ae=["href"],Oe=["href"],Le=["href"];function Ie(t,o,n,r,s,i){const d=e.resolveComponent("v-btn"),a=e.resolveComponent("v-divider"),c=e.resolveComponent("v-icon"),p=e.resolveComponent("v-treeview"),f=e.resolveComponent("v-navigation-drawer"),g=e.resolveComponent("rux-icon"),u=e.resolveComponent("v-row"),v=e.resolveComponent("v-col"),m=e.resolveComponent("rux-clock"),C=e.resolveComponent("v-spacer"),y=e.resolveComponent("scope-selector"),N=e.resolveComponent("notifications"),T=e.resolveComponent("user-menu"),B=e.resolveComponent("v-app-bar"),V=e.resolveComponent("upgrade-to-enterprise-dialog");return e.openBlock(),e.createElementBlock("div",null,[s.chromeless?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(f,{key:0,"model-value":s.drawer,id:"openc3-nav-drawer"},{default:e.withCtx(()=>[e.createElementVNode("img",{src:s.logo,class:"logo",alt:"OpenC3"},null,8,Se),e.createElementVNode("div",{class:"cosmos",onClick:o[0]||(o[0]=l=>s.showUpgradeToEnterpriseDialog=!0)}," COSMOS "),e.createElementVNode("div",be,e.toDisplayString(s.subtitle),1),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(i.adminTools,(l,E)=>(e.openBlock(),e.createElementBlock("div",{key:E,class:"ma-3"},[e.createVNode(d,{block:"",size:"small",href:l.url,onClick:e.withModifiers(()=>i.navigateToUrl(l.url),["prevent"]),class:"fixcenter",color:"primary"},{default:e.withCtx(()=>o[3]||(o[3]=[e.createTextVNode(" Admin Console ")])),_:2},1032,["href","onClick"])]))),128)),e.createVNode(a),e.createVNode(p,{items:s.items,opened:s.initiallyOpen,"item-value":"name",density:"compact","open-on-click":""},{prepend:e.withCtx(({item:l})=>[l.icon?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[l.window==="INLINE"?(e.openBlock(),e.createElementBlock("a",{key:0,href:l.url,onClick:e.withModifiers(()=>i.navigateToUrl(l.url),["prevent"])},[e.createVNode(c,{class:"mr-2"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(l.icon),1)]),_:2},1024)],8,Te)):(e.openBlock(),e.createElementBlock("a",{key:1,href:l.url},[e.createVNode(c,{class:"mr-2"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(l.icon),1)]),_:2},1024)],8,Be))],64)):e.createCommentVNode("",!0)]),title:e.withCtx(({item:l})=>[l.icon?(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[l.window==="INLINE"?(e.openBlock(),e.createElementBlock("a",{key:0,href:l.url,onClick:e.withModifiers(()=>i.navigateToUrl(l.url),["prevent"])},e.toDisplayString(l.name),9,Me)):l.window==="IFRAME"?(e.openBlock(),e.createElementBlock("a",{key:1,href:"/tools/iframe?title="+encodeURIComponent(l.name)+"&url="+l.url},e.toDisplayString(l.name),9,Ue)):l.window==="SAME"?(e.openBlock(),e.createElementBlock("a",{key:2,href:l.url},e.toDisplayString(l.name),9,Ae)):(e.openBlock(),e.createElementBlock("a",{key:3,href:l.url,target:"_blank"},e.toDisplayString(l.name),9,Oe))],64)):(e.openBlock(),e.createElementBlock("a",{key:0,href:l.url,onClick:e.withModifiers(()=>i.navigateToUrl(l.url),["prevent"])},e.toDisplayString(l.name),9,Ee))]),append:e.withCtx(({item:l})=>[l.icon?(e.openBlock(),e.createElementBlock("a",{key:0,href:i.newTabUrl(l),target:"_blank"},[e.createVNode(c,null,{default:e.withCtx(()=>o[4]||(o[4]=[e.createTextVNode("mdi-open-in-new")])),_:1})],8,Le)):e.createCommentVNode("",!0)]),_:1},8,["items","opened"])]),_:1},8,["model-value"])),s.chromeless?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(B,{key:1,id:"openc3-app-toolbar"},{default:e.withCtx(()=>[e.createVNode(u,{class:"flex-nowrap",justify:"space-between","no-gutters":""},{default:e.withCtx(()=>[e.createVNode(v,{"align-self":"start"},{default:e.withCtx(()=>[e.createVNode(u,{class:"flex-nowrap"},{default:e.withCtx(()=>[e.createVNode(g,{class:"ml-3 mr-2 pa-2",size:"small",icon:"apps",onClick:o[1]||(o[1]=l=>s.drawer=!s.drawer)}),o[5]||(o[5]=e.createElementVNode("span",{id:"openc3-menu"},null,-1))]),_:1})]),_:1}),e.createVNode(v,null,{default:e.withCtx(()=>[e.createVNode(u,{class:"clock flex-nowrap mt-0"},{default:e.withCtx(()=>[s.astro.hideClock?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(m,{key:0,"date-in":"",timezone:i.astroTimeZone},null,8,["timezone"]))]),_:1})]),_:1}),e.createVNode(v,{"align-self":"center",class:"mt-2"},{default:e.withCtx(()=>[e.createVNode(u,{class:"flex-nowrap"},{default:e.withCtx(()=>[e.createVNode(C),e.createVNode(y,{class:"mr-6 mt-4"}),e.createVNode(N,{class:"mr-6","data-test":"notifications"}),e.createVNode(T,{class:"mr-6"})]),_:1})]),_:1})]),_:1})]),_:1})),e.createVNode(V,{modelValue:s.showUpgradeToEnterpriseDialog,"onUpdate:modelValue":o[2]||(o[2]=l=>s.showUpgradeToEnterpriseDialog=l),reason:"Enterprise adds Calendar and Autonomic"},null,8,["modelValue"])])}const Fe=k._export_sfc(De,[["render",Ie],["__scopeId","data-v-d056ee4b"]]),Pe={data:function(){return{api:null,classification:{text:"",fontColor:"white",backgroundColor:"red",topHeight:0,bottomHeight:0}}},computed:{classificationStyles:function(){return[`--classification-text:"${this.classification.text}";`,`--classification-font-color:${this.classification.fontColor};`,`--classification-background-color:${this.classification.backgroundColor};`,`--classification-height-top:${this.classification.topHeight}px;`,`--classification-height-bottom:${this.classification.bottomHeight}px;`].join("")}},created:function(){this.api=new w.ir,this.load()},methods:{load:function(){this.api.get_setting("classification_banner").then(t=>{t&&(this.classification=JSON.parse(t))}).catch(t=>{})}}},Re={data(){return{isSet:!0,password:"",confirmPassword:"",oldPassword:"",reset:!1,alert:"",alertType:"success",showAlert:!1}},computed:{options:function(){return{noAuth:!0,noScope:!0}},rules:function(){return{matchPassword:()=>this.password===this.confirmPassword||"Passwords must match"}},formValid:function(){return this.reset?this.isSet?!!this.oldPassword&&!!this.password&&this.password===this.confirmPassword:!!this.password&&this.password===this.confirmPassword:!!this.password}},created:function(){w.nr.get("/openc3-api/auth/token-exists",this.options).then(t=>{this.isSet=!!t.data.result,this.isSet||(this.reset=!0)})},methods:{showReset:function(){this.reset=!0},login:function(t){localStorage.openc3Token=t.data;const o=new URLSearchParams(window.location.search).get("redirect");o.startsWith("/tools/")?window.location=decodeURI(o):window.location="/"},verifyPassword:function(){this.showAlert=!1,w.nr.post("/openc3-api/auth/verify",{data:{token:this.password},...this.options}).then(t=>{this.login(t)}).catch(t=>{this.alert="Incorrect password",this.alertType="warning",this.showAlert=!0})},setPassword:function(){this.showAlert=!1,w.nr.post("/openc3-api/auth/set",{data:{old_token:this.oldPassword,token:this.password},...this.options}).then(t=>{this.login(t)}).catch(t=>{this.alert=`Invalid password: ${t.response.data.message}`,this.alertType="warning",this.showAlert=!0})}}};function ze(t,o,n,r,s,i){const d=e.resolveComponent("v-card-title"),a=e.resolveComponent("v-card-subtitle"),c=e.resolveComponent("v-text-field"),p=e.resolveComponent("v-btn"),f=e.resolveComponent("v-spacer"),g=e.resolveComponent("v-row"),u=e.resolveComponent("v-container"),v=e.resolveComponent("v-form"),m=e.resolveComponent("v-card-text"),C=e.resolveComponent("v-alert"),y=e.resolveComponent("v-card");return e.openBlock(),e.createBlock(y,null,{default:e.withCtx(()=>[e.createVNode(d,null,{default:e.withCtx(()=>o[4]||(o[4]=[e.createTextVNode(" Login ")])),_:1}),e.createVNode(a,null,{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(s.isSet?"Enter the":"Create a")+" password to begin using OpenC3 ",1)]),_:1}),e.createVNode(m,null,{default:e.withCtx(()=>[e.createVNode(v,null,{default:e.withCtx(()=>[s.isSet&&s.reset?(e.openBlock(),e.createBlock(c,{key:0,modelValue:s.oldPassword,"onUpdate:modelValue":o[0]||(o[0]=N=>s.oldPassword=N),type:"password",label:"Old Password"},null,8,["modelValue"])):e.createCommentVNode("",!0),e.createVNode(c,{modelValue:s.password,"onUpdate:modelValue":o[1]||(o[1]=N=>s.password=N),type:"password",label:`${!s.isSet||s.reset?"New ":""}Password`,"data-test":"new-password"},null,8,["modelValue","label"]),s.reset?(e.openBlock(),e.createBlock(c,{key:1,modelValue:s.confirmPassword,"onUpdate:modelValue":o[2]||(o[2]=N=>s.confirmPassword=N),rules:[i.rules.matchPassword],type:"password",label:"Confirm Password","data-test":"confirm-password"},null,8,["modelValue","rules"])):e.createCommentVNode("",!0),s.reset?(e.openBlock(),e.createBlock(p,{key:2,type:"submit",onClick:e.withModifiers(i.setPassword,["prevent"]),size:"large",color:s.isSet?"warn":"success",disabled:!i.formValid,"data-test":"set-password"},{default:e.withCtx(()=>o[5]||(o[5]=[e.createTextVNode(" Set ")])),_:1},8,["onClick","color","disabled"])):(e.openBlock(),e.createBlock(u,{key:3},{default:e.withCtx(()=>[e.createVNode(g,null,{default:e.withCtx(()=>[e.createVNode(p,{type:"submit",onClick:e.withModifiers(i.verifyPassword,["prevent"]),size:"large",color:"success",disabled:!i.formValid},{default:e.withCtx(()=>o[6]||(o[6]=[e.createTextVNode(" Login ")])),_:1},8,["onClick","disabled"]),e.createVNode(f),e.createVNode(p,{variant:"text",size:"small",onClick:i.showReset},{default:e.withCtx(()=>o[7]||(o[7]=[e.createTextVNode(" Change Password ")])),_:1},8,["onClick"])]),_:1})]),_:1}))]),_:1})]),_:1}),e.createVNode(C,{type:s.alertType,modelValue:s.showAlert,"onUpdate:modelValue":o[3]||(o[3]=N=>s.showAlert=N),closable:""},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(s.alert),1)]),_:1},8,["type","modelValue"])]),_:1})}const Xe=k._export_sfc(Re,[["render",ze]]),Ye=3e3,He={data:function(){return{dismissed:!1,suppress:!1,discrepancy:0}},created:function(){this.suppress=localStorage.suppresswarning__clock_out_of_sync_with_server==="true",this.suppress||H.axios.get("/openc3-api/time").then(t=>{this.discrepancy=t.data.now_nsec/1e6-Date.now()}).catch(t=>{this.dismissed=!0})},methods:{dismiss:function(){localStorage.suppresswarning__clock_out_of_sync_with_server=this.suppress,this.dismissed=!0}},computed:{approximateDiscrepancySec:function(){return(this.discrepancy/1e3).toFixed()},dialog:function(){return!this.dismissed&&Math.abs(this.discrepancy)>=Ye}}};function je(t,o,n,r,s,i){const d=e.resolveComponent("v-card-title"),a=e.resolveComponent("v-checkbox"),c=e.resolveComponent("v-card-text"),p=e.resolveComponent("v-divider"),f=e.resolveComponent("v-btn"),g=e.resolveComponent("v-card-actions"),u=e.resolveComponent("v-card"),v=e.resolveComponent("v-dialog");return e.openBlock(),e.createBlock(v,{modelValue:i.dialog,"onUpdate:modelValue":o[1]||(o[1]=m=>i.dialog=m),width:"500"},{default:e.withCtx(()=>[e.createVNode(u,null,{default:e.withCtx(()=>[e.createVNode(d,null,{default:e.withCtx(()=>o[2]||(o[2]=[e.createTextVNode(" Clock out of sync ")])),_:1}),e.createVNode(c,null,{default:e.withCtx(()=>[e.createTextVNode(" We've detected that your clock is approximately "+e.toDisplayString(Math.abs(i.approximateDiscrepancySec))+" seconds "+e.toDisplayString(i.approximateDiscrepancySec>0?"behind":"ahead of")+" server time. This can cause issues and might have unknown side effects. ",1),e.createVNode(a,{modelValue:t.suppress,"onUpdate:modelValue":o[0]||(o[0]=m=>t.suppress=m),label:"Don't show this again"},null,8,["modelValue"])]),_:1}),e.createVNode(p),e.createVNode(g,null,{default:e.withCtx(()=>[e.createVNode(f,{color:"primary",variant:"text",onClick:i.dismiss},{default:e.withCtx(()=>o[3]||(o[3]=[e.createTextVNode(" Dismiss ")])),_:1},8,["onClick"])]),_:1})]),_:1})]),_:1},8,["modelValue"])}const qe=k._export_sfc(He,[["render",je]]);exports.AppFooter=ce;exports.AppNav=Fe;exports.ClassificationBanners=Pe;exports.ClockFooter=L;exports.Login=Xe;exports.Notifications=I;exports.ScopeSelector=F;exports.TimeCheck=qe;exports.UserMenu=P;
2
+ //# sourceMappingURL=base.cjs.map